openmeter / api /spec /packages /aip /src /apps /capability.tsp
Leon4gr45's picture
Upload folder using huggingface_hub
048b1e8 verified
Raw
History Blame Contribute Delete
1.34 kB
import "../shared/index.tsp";
namespace Apps;
/**
* Supported capability types for an App.
*
* Each capability defines an integration function that an App can perform.
*/
@friendlyName("BillingAppCapabilityType")
enum AppCapabilityType {
/**
* The app can report aggregated usage.
*/
ReportUsage: "report_usage",
/**
* The app can report raw events.
*/
ReportEvents: "report_events",
/**
* The app can calculate tax for invoices.
*/
CalculateTax: "calculate_tax",
/**
* The app can issue invoices to customers.
*/
InvoiceCustomers: "invoice_customers",
/**
* The app can collect payments from customers.
*/
CollectPayments: "collect_payments",
}
/**
* App capability describes a function that an App can perform.
*/
@friendlyName("BillingAppCapability")
@example(#{
type: AppCapabilityType.CollectPayments,
key: "stripe_collect_payment",
name: "Collect Payments",
description: "Stripe payments collects outstanding revenue with Stripe customer's default payment method.",
})
model AppCapability {
/**
* Type of the capability.
*/
type: AppCapabilityType;
/**
* Key of the capability.
*/
key: Shared.ResourceKey;
/**
* Name of the capability.
*/
name: string;
/**
* Description of the capability.
*/
description: string;
}