@wildo-ai/external-connectors-models 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. package/dist/esm/core/commons.external-connectors-models.schemas.d.ts +195 -0
  2. package/dist/esm/core/commons.external-connectors-models.schemas.d.ts.map +1 -0
  3. package/dist/esm/core/commons.external-connectors-models.schemas.js +96 -0
  4. package/dist/esm/core/commons.external-connectors-models.schemas.js.map +1 -0
  5. package/dist/esm/core/lazy-loading.external-connectors-models.schemas.d.ts +127 -0
  6. package/dist/esm/core/lazy-loading.external-connectors-models.schemas.d.ts.map +1 -0
  7. package/dist/esm/core/lazy-loading.external-connectors-models.schemas.js +22 -0
  8. package/dist/esm/core/lazy-loading.external-connectors-models.schemas.js.map +1 -0
  9. package/dist/esm/core/oauth2.enums.d.ts +125 -0
  10. package/dist/esm/core/oauth2.enums.d.ts.map +1 -0
  11. package/dist/esm/core/oauth2.enums.js +134 -0
  12. package/dist/esm/core/oauth2.enums.js.map +1 -0
  13. package/dist/esm/core/operations.external-connectors-models.schemas.d.ts +46 -0
  14. package/dist/esm/core/operations.external-connectors-models.schemas.d.ts.map +1 -0
  15. package/dist/esm/core/operations.external-connectors-models.schemas.js +10 -0
  16. package/dist/esm/core/operations.external-connectors-models.schemas.js.map +1 -0
  17. package/dist/esm/core/protocols.external-connectors-models.schemas.d.ts +84 -0
  18. package/dist/esm/core/protocols.external-connectors-models.schemas.d.ts.map +1 -0
  19. package/dist/esm/core/protocols.external-connectors-models.schemas.js +1 -0
  20. package/dist/esm/core/protocols.external-connectors-models.schemas.js.map +1 -0
  21. package/dist/esm/core/providers.external-connectors-models.schemas.d.ts +80 -0
  22. package/dist/esm/core/providers.external-connectors-models.schemas.d.ts.map +1 -0
  23. package/dist/esm/core/providers.external-connectors-models.schemas.js +55 -0
  24. package/dist/esm/core/providers.external-connectors-models.schemas.js.map +1 -0
  25. package/dist/esm/core/security.external-connectors-models.schemas.d.ts +187 -0
  26. package/dist/esm/core/security.external-connectors-models.schemas.d.ts.map +1 -0
  27. package/dist/esm/core/security.external-connectors-models.schemas.js +233 -0
  28. package/dist/esm/core/security.external-connectors-models.schemas.js.map +1 -0
  29. package/dist/esm/features/core.external-connectors-models.schemas.d.ts +63 -0
  30. package/dist/esm/features/core.external-connectors-models.schemas.d.ts.map +1 -0
  31. package/dist/esm/features/core.external-connectors-models.schemas.js +101 -0
  32. package/dist/esm/features/core.external-connectors-models.schemas.js.map +1 -0
  33. package/dist/esm/features/email.external-connectors-models.schemas.d.ts +181 -0
  34. package/dist/esm/features/email.external-connectors-models.schemas.d.ts.map +1 -0
  35. package/dist/esm/features/email.external-connectors-models.schemas.js +34 -0
  36. package/dist/esm/features/email.external-connectors-models.schemas.js.map +1 -0
  37. package/dist/esm/features/hooks.external-connectors-models.schemas.d.ts +101 -0
  38. package/dist/esm/features/hooks.external-connectors-models.schemas.d.ts.map +1 -0
  39. package/dist/esm/features/hooks.external-connectors-models.schemas.js +11 -0
  40. package/dist/esm/features/hooks.external-connectors-models.schemas.js.map +1 -0
  41. package/dist/esm/features/sms.external-connectors-models.schemas.d.ts +21 -0
  42. package/dist/esm/features/sms.external-connectors-models.schemas.d.ts.map +1 -0
  43. package/dist/esm/features/sms.external-connectors-models.schemas.js +8 -0
  44. package/dist/esm/features/sms.external-connectors-models.schemas.js.map +1 -0
  45. package/dist/esm/index.d.ts +28 -0
  46. package/dist/esm/index.d.ts.map +1 -0
  47. package/dist/esm/index.js +31 -0
  48. package/dist/esm/index.js.map +1 -0
  49. package/dist/esm/protocols/a2a.external-connectors-models.schemas.d.ts +57 -0
  50. package/dist/esm/protocols/a2a.external-connectors-models.schemas.d.ts.map +1 -0
  51. package/dist/esm/protocols/a2a.external-connectors-models.schemas.js +73 -0
  52. package/dist/esm/protocols/a2a.external-connectors-models.schemas.js.map +1 -0
  53. package/dist/esm/protocols/billing.standard-interface.schemas.d.ts +315 -0
  54. package/dist/esm/protocols/billing.standard-interface.schemas.d.ts.map +1 -0
  55. package/dist/esm/protocols/billing.standard-interface.schemas.js +104 -0
  56. package/dist/esm/protocols/billing.standard-interface.schemas.js.map +1 -0
  57. package/dist/esm/protocols/cli-runtime.external-connectors-models.schemas.d.ts +214 -0
  58. package/dist/esm/protocols/cli-runtime.external-connectors-models.schemas.d.ts.map +1 -0
  59. package/dist/esm/protocols/cli-runtime.external-connectors-models.schemas.js +188 -0
  60. package/dist/esm/protocols/cli-runtime.external-connectors-models.schemas.js.map +1 -0
  61. package/dist/esm/protocols/email.external-connectors-models.schemas.d.ts +370 -0
  62. package/dist/esm/protocols/email.external-connectors-models.schemas.d.ts.map +1 -0
  63. package/dist/esm/protocols/email.external-connectors-models.schemas.js +368 -0
  64. package/dist/esm/protocols/email.external-connectors-models.schemas.js.map +1 -0
  65. package/dist/esm/protocols/email.standard-interface.schemas.d.ts +330 -0
  66. package/dist/esm/protocols/email.standard-interface.schemas.d.ts.map +1 -0
  67. package/dist/esm/protocols/email.standard-interface.schemas.js +275 -0
  68. package/dist/esm/protocols/email.standard-interface.schemas.js.map +1 -0
  69. package/dist/esm/protocols/frontend.external-connectors-models.schemas.d.ts +16 -0
  70. package/dist/esm/protocols/frontend.external-connectors-models.schemas.d.ts.map +1 -0
  71. package/dist/esm/protocols/frontend.external-connectors-models.schemas.js +10 -0
  72. package/dist/esm/protocols/frontend.external-connectors-models.schemas.js.map +1 -0
  73. package/dist/esm/protocols/git.external-connectors-models.schemas.d.ts +14 -0
  74. package/dist/esm/protocols/git.external-connectors-models.schemas.d.ts.map +1 -0
  75. package/dist/esm/protocols/git.external-connectors-models.schemas.js +9 -0
  76. package/dist/esm/protocols/git.external-connectors-models.schemas.js.map +1 -0
  77. package/dist/esm/protocols/grpc.external-connectors-models.schemas.d.ts +14 -0
  78. package/dist/esm/protocols/grpc.external-connectors-models.schemas.d.ts.map +1 -0
  79. package/dist/esm/protocols/grpc.external-connectors-models.schemas.js +9 -0
  80. package/dist/esm/protocols/grpc.external-connectors-models.schemas.js.map +1 -0
  81. package/dist/esm/protocols/hooks.external-connectors-models.schemas.d.ts +192 -0
  82. package/dist/esm/protocols/hooks.external-connectors-models.schemas.d.ts.map +1 -0
  83. package/dist/esm/protocols/hooks.external-connectors-models.schemas.js +103 -0
  84. package/dist/esm/protocols/hooks.external-connectors-models.schemas.js.map +1 -0
  85. package/dist/esm/protocols/llm.external-connectors-models.schemas.d.ts +499 -0
  86. package/dist/esm/protocols/llm.external-connectors-models.schemas.d.ts.map +1 -0
  87. package/dist/esm/protocols/llm.external-connectors-models.schemas.js +351 -0
  88. package/dist/esm/protocols/llm.external-connectors-models.schemas.js.map +1 -0
  89. package/dist/esm/protocols/mcp.external-connectors-models.schemas.d.ts +60 -0
  90. package/dist/esm/protocols/mcp.external-connectors-models.schemas.d.ts.map +1 -0
  91. package/dist/esm/protocols/mcp.external-connectors-models.schemas.js +35 -0
  92. package/dist/esm/protocols/mcp.external-connectors-models.schemas.js.map +1 -0
  93. package/dist/esm/protocols/oauth2.external-connectors-models.schemas.d.ts +570 -0
  94. package/dist/esm/protocols/oauth2.external-connectors-models.schemas.d.ts.map +1 -0
  95. package/dist/esm/protocols/oauth2.external-connectors-models.schemas.js +401 -0
  96. package/dist/esm/protocols/oauth2.external-connectors-models.schemas.js.map +1 -0
  97. package/dist/esm/protocols/rest-api.external-connectors-models.schemas.d.ts +125 -0
  98. package/dist/esm/protocols/rest-api.external-connectors-models.schemas.d.ts.map +1 -0
  99. package/dist/esm/protocols/rest-api.external-connectors-models.schemas.js +92 -0
  100. package/dist/esm/protocols/rest-api.external-connectors-models.schemas.js.map +1 -0
  101. package/dist/esm/protocols/saml.external-connectors-models.schemas.d.ts +135 -0
  102. package/dist/esm/protocols/saml.external-connectors-models.schemas.d.ts.map +1 -0
  103. package/dist/esm/protocols/saml.external-connectors-models.schemas.js +9 -0
  104. package/dist/esm/protocols/saml.external-connectors-models.schemas.js.map +1 -0
  105. package/dist/esm/protocols/sms.external-connectors-models.schemas.d.ts +55 -0
  106. package/dist/esm/protocols/sms.external-connectors-models.schemas.d.ts.map +1 -0
  107. package/dist/esm/protocols/sms.external-connectors-models.schemas.js +46 -0
  108. package/dist/esm/protocols/sms.external-connectors-models.schemas.js.map +1 -0
  109. package/dist/esm/protocols/sms.standard-interface.schemas.d.ts +35 -0
  110. package/dist/esm/protocols/sms.standard-interface.schemas.d.ts.map +1 -0
  111. package/dist/esm/protocols/sms.standard-interface.schemas.js +54 -0
  112. package/dist/esm/protocols/sms.standard-interface.schemas.js.map +1 -0
  113. package/dist/tsconfig.build.tsbuildinfo +1 -0
  114. package/package.json +47 -0
@@ -0,0 +1,315 @@
1
+ /**
2
+ * Standard Billing Interface
3
+ * --------
4
+ * This is the canonical interface that Wildo uses internally for all billing
5
+ * operations. The ETL layer transforms these standard requests into
6
+ * provider-specific API calls (e.g., Stripe, Paddle, LemonSqueezy).
7
+ *
8
+ * Design Principles:
9
+ * 1. Provider-agnostic — works with any billing provider
10
+ * 2. Hosted-first — uses provider-hosted checkout and portals (no PCI scope)
11
+ * 3. Webhook-driven — state changes flow in via webhooks, not polling
12
+ * 4. Scope-agnostic — billing accounts map to any Wildo scope (org, user)
13
+ *
14
+ * @see billing-and-features-system.md §7.1 (Standard Billing Interface)
15
+ */
16
+ /**
17
+ * Pricing model for a price entry.
18
+ */
19
+ export declare enum PricingModel {
20
+ FLAT = "flat",
21
+ PER_UNIT = "per_unit",
22
+ /** Volume pricing (all units at tier price) */
23
+ TIERED = "tiered",
24
+ /** Incremental (each tier priced independently) */
25
+ GRADUATED = "graduated",
26
+ /** Price per package of N units */
27
+ PACKAGE = "package"
28
+ }
29
+ /**
30
+ * Billing interval for recurring prices.
31
+ */
32
+ export declare enum BillingInterval {
33
+ MONTH = "month",
34
+ YEAR = "year"
35
+ }
36
+ /**
37
+ * Tax display mode: how prices are displayed (HT vs TTC).
38
+ */
39
+ export declare enum TaxDisplayMode {
40
+ /** Price amounts are HT (tax added at checkout) */
41
+ EXCLUSIVE = "exclusive",
42
+ /** Price amounts are TTC (tax embedded) */
43
+ INCLUSIVE = "inclusive"
44
+ }
45
+ /**
46
+ * Subscription status values (maps to Stripe subscription statuses).
47
+ */
48
+ export declare enum SubscriptionStatus {
49
+ ACTIVE = "active",
50
+ PAST_DUE = "past_due",
51
+ UNPAID = "unpaid",
52
+ CANCELLED = "cancelled",
53
+ /** Stripe: first payment never completed within 23h window */
54
+ INCOMPLETE = "incomplete",
55
+ INCOMPLETE_EXPIRED = "incomplete_expired",
56
+ TRIALING = "trialing",
57
+ PAUSED = "paused"
58
+ }
59
+ /**
60
+ * Canonical billing events the system cares about.
61
+ * Provider-specific events are mapped to these types by the transformer.
62
+ * Only events that affect local state (features, status) need to be handled.
63
+ */
64
+ export declare enum StandardBilling_EventType {
65
+ SUBSCRIPTION_CREATED = "subscription.created",
66
+ SUBSCRIPTION_UPDATED = "subscription.updated",
67
+ SUBSCRIPTION_DELETED = "subscription.deleted",
68
+ SUBSCRIPTION_TRIAL_WILL_END = "subscription.trial_will_end",
69
+ INVOICE_PAID = "invoice.paid",
70
+ INVOICE_PAYMENT_FAILED = "invoice.payment_failed",
71
+ INVOICE_FINALIZED = "invoice.finalized",
72
+ CHECKOUT_SESSION_COMPLETED = "checkout.session.completed",
73
+ CUSTOMER_UPDATED = "customer.updated",
74
+ CUSTOMER_DELETED = "customer.deleted",
75
+ COUPON_CREATED = "coupon.created",
76
+ COUPON_UPDATED = "coupon.updated",
77
+ COUPON_DELETED = "coupon.deleted",
78
+ CUSTOMER_DISCOUNT_CREATED = "customer.discount.created",
79
+ CUSTOMER_DISCOUNT_UPDATED = "customer.discount.updated",
80
+ CUSTOMER_DISCOUNT_DELETED = "customer.discount.deleted",
81
+ PAYMENT_METHOD_ATTACHED = "payment_method.attached",
82
+ PAYMENT_METHOD_DETACHED = "payment_method.detached"
83
+ }
84
+ /**
85
+ * Canonical webhook event representation.
86
+ * Provider transformers parse raw webhook payloads into this shape.
87
+ */
88
+ export interface StandardBilling_WebhookEvent {
89
+ /** Canonical event type */
90
+ type: StandardBilling_EventType;
91
+ /** Provider-assigned event ID (for idempotency) */
92
+ providerEventId: string;
93
+ /** Event payload — shape varies by event type */
94
+ data: Record<string, unknown>;
95
+ /** When the event occurred at the provider */
96
+ createdAt: Date;
97
+ }
98
+ export interface StandardBilling_CreateCustomerRequest {
99
+ /** Descriptive name (e.g., organization name or user display name) */
100
+ name: string;
101
+ /** Contact email for invoices and receipts */
102
+ email: string;
103
+ /** Arbitrary key-value metadata stored on the provider customer */
104
+ metadata?: Record<string, string>;
105
+ }
106
+ export interface StandardBilling_CreateCustomerResponse {
107
+ providerCustomerId: string;
108
+ }
109
+ export interface StandardBilling_UpdateCustomerRequest {
110
+ name?: string;
111
+ email?: string;
112
+ metadata?: Record<string, string>;
113
+ }
114
+ export interface StandardBilling_SyncProductRequest {
115
+ /** Internal Wildo product key (stored in metadata for reverse lookup) */
116
+ productKey: string;
117
+ name: string;
118
+ description?: string;
119
+ /** If set, updates existing provider product instead of creating new */
120
+ providerProductId?: string;
121
+ metadata?: Record<string, string>;
122
+ }
123
+ export interface StandardBilling_SyncProductResponse {
124
+ providerProductId: string;
125
+ }
126
+ export interface StandardBilling_SyncPriceRequest {
127
+ providerProductId: string;
128
+ model: PricingModel;
129
+ /** Amount in smallest currency unit (cents) */
130
+ amount: number;
131
+ currency: string;
132
+ interval?: BillingInterval;
133
+ /** For TIERED/VOLUME pricing models */
134
+ tiers?: Array<{
135
+ upTo: number | null;
136
+ unitAmount: number;
137
+ flatAmount?: number;
138
+ }>;
139
+ /** For PACKAGE pricing */
140
+ packageSize?: number;
141
+ /** Tax behavior */
142
+ taxBehavior?: TaxDisplayMode;
143
+ /** If set, updates existing provider price instead of creating new */
144
+ providerPriceId?: string;
145
+ metadata?: Record<string, string>;
146
+ }
147
+ export interface StandardBilling_SyncPriceResponse {
148
+ providerPriceId: string;
149
+ }
150
+ export interface StandardBilling_CreateSubscriptionRequest {
151
+ providerCustomerId: string;
152
+ items: Array<{
153
+ providerPriceId: string;
154
+ quantity?: number;
155
+ }>;
156
+ trialPeriodDays?: number;
157
+ /** Provider promotion code to apply */
158
+ providerPromotionCodeId?: string;
159
+ metadata?: Record<string, string>;
160
+ }
161
+ export interface StandardBilling_CreateSubscriptionResponse {
162
+ providerSubscriptionId: string;
163
+ status: string;
164
+ }
165
+ export interface StandardBilling_UpdateSubscriptionRequest {
166
+ items?: Array<{
167
+ /** Provider-side subscription item ID (used to target the correct item on the provider).
168
+ * If omitted, the provider transformer falls back to index-based matching. */
169
+ providerSubscriptionItemId?: string;
170
+ providerPriceId: string;
171
+ quantity?: number;
172
+ }>;
173
+ /** Provider promotion code to apply */
174
+ providerPromotionCodeId?: string;
175
+ metadata?: Record<string, string>;
176
+ }
177
+ export interface StandardBilling_CancelSubscriptionOptions {
178
+ /** If true, subscription remains active until current period ends */
179
+ atPeriodEnd?: boolean;
180
+ }
181
+ /**
182
+ * StandardBilling_SubscriptionData: canonical subscription representation
183
+ * returned by the provider adapter's retrieveSubscription().
184
+ * Used for reconciliation when webhooks may have been missed.
185
+ */
186
+ export interface StandardBilling_SubscriptionData {
187
+ providerSubscriptionId: string;
188
+ status: SubscriptionStatus;
189
+ currentPeriodStart: Date;
190
+ currentPeriodEnd: Date;
191
+ cancelAtPeriodEnd: boolean;
192
+ trialEnd?: Date;
193
+ items: Array<{
194
+ providerSubscriptionItemId: string;
195
+ providerProductId: string;
196
+ providerPriceId: string;
197
+ quantity: number;
198
+ }>;
199
+ /** Active discount on this subscription (from coupon/promotion code) */
200
+ discount?: {
201
+ providerCouponId: string;
202
+ percentOff?: number;
203
+ amountOff?: number;
204
+ currency?: string;
205
+ duration: string;
206
+ durationInMonths?: number;
207
+ end?: Date;
208
+ };
209
+ }
210
+ /**
211
+ * StandardBilling_InvoicePreview: canonical upcoming invoice from provider.
212
+ * Returned by retrieveUpcomingInvoice() for plan change previews.
213
+ */
214
+ export interface StandardBilling_InvoicePreview {
215
+ amount: number;
216
+ currency: string;
217
+ lineItems: Array<{
218
+ description: string;
219
+ amount: number;
220
+ quantity: number;
221
+ providerPriceId?: string;
222
+ }>;
223
+ periodStart: Date;
224
+ periodEnd: Date;
225
+ }
226
+ export interface StandardBilling_CreateCheckoutSessionRequest {
227
+ providerCustomerId: string;
228
+ lineItems: Array<{
229
+ providerPriceId: string;
230
+ quantity?: number;
231
+ }>;
232
+ /** Checkout mode: 'subscription' for recurring, 'payment' for one-time */
233
+ mode: 'subscription' | 'payment';
234
+ successUrl: string;
235
+ cancelUrl: string;
236
+ /** Allow promotion codes in checkout */
237
+ allowPromotionCodes?: boolean;
238
+ /** Pre-fill promotion code */
239
+ providerPromotionCodeId?: string;
240
+ /** Trial period for subscriptions */
241
+ trialPeriodDays?: number;
242
+ metadata?: Record<string, string>;
243
+ }
244
+ export interface StandardBilling_CreateCheckoutSessionResponse {
245
+ /** Redirect URL for the hosted checkout page */
246
+ url: string;
247
+ sessionId: string;
248
+ }
249
+ export interface StandardBilling_CreateCustomerPortalSessionResponse {
250
+ /** Redirect URL for the customer portal */
251
+ url: string;
252
+ }
253
+ export interface StandardBilling_ReportUsageRequest {
254
+ /** Meter event name (corresponds to the meter's event_name) */
255
+ meterEventName: string;
256
+ /** Provider customer ID (maps to payload.stripe_customer_id in Stripe) */
257
+ providerCustomerId: string;
258
+ /** Usage value to report */
259
+ value: number;
260
+ /** Optional event timestamp */
261
+ timestamp?: Date;
262
+ /** Optional unique event identifier (for idempotency) */
263
+ identifier?: string;
264
+ }
265
+ export interface StandardBilling_CreateCouponRequest {
266
+ /** Discount amount in smallest currency unit (for fixed discounts) */
267
+ amountOff?: number;
268
+ /** Discount percentage (for percentage discounts) */
269
+ percentOff?: number;
270
+ currency?: string;
271
+ duration: 'once' | 'repeating' | 'forever';
272
+ durationInMonths?: number;
273
+ maxRedemptions?: number;
274
+ metadata?: Record<string, string>;
275
+ }
276
+ export interface StandardBilling_CreateCouponResponse {
277
+ providerCouponId: string;
278
+ }
279
+ export interface StandardBilling_CreatePromotionCodeResponse {
280
+ providerPromotionId: string;
281
+ }
282
+ /**
283
+ * Provider-agnostic billing interface.
284
+ * Each billing provider (Stripe, Paddle, etc.) implements this interface
285
+ * through a transformer that maps canonical operations to provider SDK calls.
286
+ */
287
+ export interface StandardBilling_Interface {
288
+ createCustomer(request: StandardBilling_CreateCustomerRequest): Promise<StandardBilling_CreateCustomerResponse>;
289
+ updateCustomer(providerCustomerId: string, request: StandardBilling_UpdateCustomerRequest): Promise<void>;
290
+ deleteCustomer(providerCustomerId: string): Promise<void>;
291
+ syncProduct(request: StandardBilling_SyncProductRequest): Promise<StandardBilling_SyncProductResponse>;
292
+ syncPrice(request: StandardBilling_SyncPriceRequest): Promise<StandardBilling_SyncPriceResponse>;
293
+ createSubscription(request: StandardBilling_CreateSubscriptionRequest): Promise<StandardBilling_CreateSubscriptionResponse>;
294
+ updateSubscription(providerSubscriptionId: string, request: StandardBilling_UpdateSubscriptionRequest): Promise<void>;
295
+ cancelSubscription(providerSubscriptionId: string, options?: StandardBilling_CancelSubscriptionOptions): Promise<void>;
296
+ pauseSubscription(providerSubscriptionId: string): Promise<void>;
297
+ resumeSubscription(providerSubscriptionId: string): Promise<void>;
298
+ /** On-demand retrieval for reconciliation (if webhook missed) */
299
+ retrieveSubscription(providerSubscriptionId: string): Promise<StandardBilling_SubscriptionData>;
300
+ /** Preview prorated cost of a plan change before user commits */
301
+ retrieveUpcomingInvoice(providerSubscriptionId: string, newPriceId?: string): Promise<StandardBilling_InvoicePreview>;
302
+ /** Hosted checkout page — NO Stripe Elements needed, no PCI scope */
303
+ createCheckoutSession(request: StandardBilling_CreateCheckoutSessionRequest): Promise<StandardBilling_CreateCheckoutSessionResponse>;
304
+ /** Customer portal for: invoices, payment methods, billing address, cancel */
305
+ createCustomerPortalSession(providerCustomerId: string, returnUrl: string): Promise<StandardBilling_CreateCustomerPortalSessionResponse>;
306
+ reportUsage(request: StandardBilling_ReportUsageRequest): Promise<void>;
307
+ /** HTTP header name that carries the webhook signature (e.g., 'stripe-signature') */
308
+ readonly webhookSignatureHeaderName: string;
309
+ verifyWebhookSignature(payload: string | Uint8Array, signature: string, secret: string): boolean;
310
+ /** Parse a raw webhook payload into a canonical event. Returns null for unknown/unhandled event types. */
311
+ parseWebhookEvent(payload: string | Uint8Array): StandardBilling_WebhookEvent | null;
312
+ createCoupon(request: StandardBilling_CreateCouponRequest): Promise<StandardBilling_CreateCouponResponse>;
313
+ createPromotionCode(providerCouponId: string, code: string): Promise<StandardBilling_CreatePromotionCodeResponse>;
314
+ }
315
+ //# sourceMappingURL=billing.standard-interface.schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"billing.standard-interface.schemas.d.ts","sourceRoot":"","sources":["../../../src/protocols/billing.standard-interface.schemas.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,104 @@
1
+ /**
2
+ * Standard Billing Interface
3
+ * --------
4
+ * This is the canonical interface that Wildo uses internally for all billing
5
+ * operations. The ETL layer transforms these standard requests into
6
+ * provider-specific API calls (e.g., Stripe, Paddle, LemonSqueezy).
7
+ *
8
+ * Design Principles:
9
+ * 1. Provider-agnostic — works with any billing provider
10
+ * 2. Hosted-first — uses provider-hosted checkout and portals (no PCI scope)
11
+ * 3. Webhook-driven — state changes flow in via webhooks, not polling
12
+ * 4. Scope-agnostic — billing accounts map to any Wildo scope (org, user)
13
+ *
14
+ * @see billing-and-features-system.md §7.1 (Standard Billing Interface)
15
+ */
16
+ // ===============================================================
17
+ // Billing Interface Enums (canonical source, re-exported by saas-models)
18
+ // ===============================================================
19
+ /**
20
+ * Pricing model for a price entry.
21
+ */
22
+ export var PricingModel;
23
+ (function (PricingModel) {
24
+ PricingModel["FLAT"] = "flat";
25
+ PricingModel["PER_UNIT"] = "per_unit";
26
+ /** Volume pricing (all units at tier price) */
27
+ PricingModel["TIERED"] = "tiered";
28
+ /** Incremental (each tier priced independently) */
29
+ PricingModel["GRADUATED"] = "graduated";
30
+ /** Price per package of N units */
31
+ PricingModel["PACKAGE"] = "package";
32
+ })(PricingModel || (PricingModel = {}));
33
+ /**
34
+ * Billing interval for recurring prices.
35
+ */
36
+ export var BillingInterval;
37
+ (function (BillingInterval) {
38
+ BillingInterval["MONTH"] = "month";
39
+ BillingInterval["YEAR"] = "year";
40
+ })(BillingInterval || (BillingInterval = {}));
41
+ /**
42
+ * Tax display mode: how prices are displayed (HT vs TTC).
43
+ */
44
+ export var TaxDisplayMode;
45
+ (function (TaxDisplayMode) {
46
+ /** Price amounts are HT (tax added at checkout) */
47
+ TaxDisplayMode["EXCLUSIVE"] = "exclusive";
48
+ /** Price amounts are TTC (tax embedded) */
49
+ TaxDisplayMode["INCLUSIVE"] = "inclusive";
50
+ })(TaxDisplayMode || (TaxDisplayMode = {}));
51
+ /**
52
+ * Subscription status values (maps to Stripe subscription statuses).
53
+ */
54
+ export var SubscriptionStatus;
55
+ (function (SubscriptionStatus) {
56
+ SubscriptionStatus["ACTIVE"] = "active";
57
+ SubscriptionStatus["PAST_DUE"] = "past_due";
58
+ SubscriptionStatus["UNPAID"] = "unpaid";
59
+ SubscriptionStatus["CANCELLED"] = "cancelled";
60
+ /** Stripe: first payment never completed within 23h window */
61
+ SubscriptionStatus["INCOMPLETE"] = "incomplete";
62
+ SubscriptionStatus["INCOMPLETE_EXPIRED"] = "incomplete_expired";
63
+ SubscriptionStatus["TRIALING"] = "trialing";
64
+ SubscriptionStatus["PAUSED"] = "paused";
65
+ })(SubscriptionStatus || (SubscriptionStatus = {}));
66
+ // ===============================================================
67
+ // Standard Billing Event Types
68
+ // ===============================================================
69
+ /**
70
+ * Canonical billing events the system cares about.
71
+ * Provider-specific events are mapped to these types by the transformer.
72
+ * Only events that affect local state (features, status) need to be handled.
73
+ */
74
+ export var StandardBilling_EventType;
75
+ (function (StandardBilling_EventType) {
76
+ // Subscription lifecycle (→ feature sync)
77
+ StandardBilling_EventType["SUBSCRIPTION_CREATED"] = "subscription.created";
78
+ StandardBilling_EventType["SUBSCRIPTION_UPDATED"] = "subscription.updated";
79
+ StandardBilling_EventType["SUBSCRIPTION_DELETED"] = "subscription.deleted";
80
+ StandardBilling_EventType["SUBSCRIPTION_TRIAL_WILL_END"] = "subscription.trial_will_end";
81
+ // Invoice status (→ billing status tracking, past_due detection)
82
+ StandardBilling_EventType["INVOICE_PAID"] = "invoice.paid";
83
+ StandardBilling_EventType["INVOICE_PAYMENT_FAILED"] = "invoice.payment_failed";
84
+ StandardBilling_EventType["INVOICE_FINALIZED"] = "invoice.finalized";
85
+ // Checkout (→ one-off purchase completion for ONE_TIME, CREDIT_PACK, ITEM products)
86
+ StandardBilling_EventType["CHECKOUT_SESSION_COMPLETED"] = "checkout.session.completed";
87
+ // Customer (→ billing account sync)
88
+ StandardBilling_EventType["CUSTOMER_UPDATED"] = "customer.updated";
89
+ StandardBilling_EventType["CUSTOMER_DELETED"] = "customer.deleted";
90
+ // Coupon (→ no local action; coupons are managed through Wildo's promotion system.
91
+ // Included for logging/audit in case coupons are modified directly on the provider.)
92
+ StandardBilling_EventType["COUPON_CREATED"] = "coupon.created";
93
+ StandardBilling_EventType["COUPON_UPDATED"] = "coupon.updated";
94
+ StandardBilling_EventType["COUPON_DELETED"] = "coupon.deleted";
95
+ // Customer discount (→ subscription re-sync to pick up discount changes)
96
+ StandardBilling_EventType["CUSTOMER_DISCOUNT_CREATED"] = "customer.discount.created";
97
+ StandardBilling_EventType["CUSTOMER_DISCOUNT_UPDATED"] = "customer.discount.updated";
98
+ StandardBilling_EventType["CUSTOMER_DISCOUNT_DELETED"] = "customer.discount.deleted";
99
+ // Payment method (→ no local action needed; provider manages via Customer Portal.
100
+ // Included for completeness: apps can optionally log these events for audit trails.)
101
+ StandardBilling_EventType["PAYMENT_METHOD_ATTACHED"] = "payment_method.attached";
102
+ StandardBilling_EventType["PAYMENT_METHOD_DETACHED"] = "payment_method.detached";
103
+ })(StandardBilling_EventType || (StandardBilling_EventType = {}));
104
+ //# sourceMappingURL=billing.standard-interface.schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"billing.standard-interface.schemas.js","sourceRoot":"","sources":["../../../src/protocols/billing.standard-interface.schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,kEAAkE;AAClE,yEAAyE;AACzE,kEAAkE;AAElE;;GAEG;AACH,MAAM,CAAN,IAAY,YASX;AATD,WAAY,YAAY;IACtB,6BAAa,CAAA;IACb,qCAAqB,CAAA;IACrB,+CAA+C;IAC/C,iCAAiB,CAAA;IACjB,mDAAmD;IACnD,uCAAuB,CAAA;IACvB,mCAAmC;IACnC,mCAAmB,CAAA;AACrB,CAAC,EATW,YAAY,KAAZ,YAAY,QASvB;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,kCAAe,CAAA;IACf,gCAAa,CAAA;AACf,CAAC,EAHW,eAAe,KAAf,eAAe,QAG1B;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,cAKX;AALD,WAAY,cAAc;IACxB,mDAAmD;IACnD,yCAAuB,CAAA;IACvB,2CAA2C;IAC3C,yCAAuB,CAAA;AACzB,CAAC,EALW,cAAc,KAAd,cAAc,QAKzB;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,kBAUX;AAVD,WAAY,kBAAkB;IAC5B,uCAAiB,CAAA;IACjB,2CAAqB,CAAA;IACrB,uCAAiB,CAAA;IACjB,6CAAuB,CAAA;IACvB,8DAA8D;IAC9D,+CAAyB,CAAA;IACzB,+DAAyC,CAAA;IACzC,2CAAqB,CAAA;IACrB,uCAAiB,CAAA;AACnB,CAAC,EAVW,kBAAkB,KAAlB,kBAAkB,QAU7B;AAED,kEAAkE;AAClE,+BAA+B;AAC/B,kEAAkE;AAElE;;;;GAIG;AACH,MAAM,CAAN,IAAY,yBAkCX;AAlCD,WAAY,yBAAyB;IACnC,0CAA0C;IAC1C,0EAA6C,CAAA;IAC7C,0EAA6C,CAAA;IAC7C,0EAA6C,CAAA;IAC7C,wFAA2D,CAAA;IAE3D,iEAAiE;IACjE,0DAA6B,CAAA;IAC7B,8EAAiD,CAAA;IACjD,oEAAuC,CAAA;IAEvC,oFAAoF;IACpF,sFAAyD,CAAA;IAEzD,oCAAoC;IACpC,kEAAqC,CAAA;IACrC,kEAAqC,CAAA;IAErC,mFAAmF;IACnF,qFAAqF;IACrF,8DAAiC,CAAA;IACjC,8DAAiC,CAAA;IACjC,8DAAiC,CAAA;IAEjC,yEAAyE;IACzE,oFAAuD,CAAA;IACvD,oFAAuD,CAAA;IACvD,oFAAuD,CAAA;IAEvD,kFAAkF;IAClF,qFAAqF;IACrF,gFAAmD,CAAA;IACnD,gFAAmD,CAAA;AACrD,CAAC,EAlCW,yBAAyB,KAAzB,yBAAyB,QAkCpC"}
@@ -0,0 +1,214 @@
1
+ import { z } from "zod";
2
+ import { APPLICATION_ENVIRONMENT, ExternalProvider_ExchangeProtocol_Configuration_Base, ExternalProvider_ExchangeProtocol_Kind, ExternalProvider_ExchangeProtocol_Profile_Base } from "../core/commons.external-connectors-models.schemas.js";
3
+ export declare enum CLIRuntime_RunnerHost {
4
+ BACKEND_SUBPROCESS = "backend_subprocess"
5
+ }
6
+ export declare enum CLIRuntime_AuthMode {
7
+ NONE = "none",
8
+ HOST_MANAGED = "host_managed",
9
+ SECRET_REF_ENV_INJECTION = "secret_ref_env_injection"
10
+ }
11
+ export declare enum CLIRuntime_WorkingDirectoryPolicy {
12
+ WORKSPACE_ROOT = "workspace_root",
13
+ WORKSPACE_RELATIVE_PATH = "workspace_relative_path"
14
+ }
15
+ export declare enum CLIRuntime_OutputParserMode {
16
+ TEXT = "text",
17
+ JSON = "json"
18
+ }
19
+ export declare const CLIRuntime_ModelBindingPlaceholder = "{model}";
20
+ export declare const CLIRuntime_ModelBindingSchema: z.ZodObject<{
21
+ argumentTemplate: z.ZodOptional<z.ZodArray<z.ZodString>>;
22
+ environmentVariables: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
23
+ modelValueOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
24
+ }, z.core.$strip>;
25
+ export type CLIRuntime_ModelBinding = z.infer<typeof CLIRuntime_ModelBindingSchema>;
26
+ export declare const CLIRuntime_OperationBindingSchema: z.ZodObject<{
27
+ argumentTemplate: z.ZodOptional<z.ZodArray<z.ZodString>>;
28
+ environmentVariables: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
29
+ outputParserMode: z.ZodOptional<z.ZodEnum<typeof CLIRuntime_OutputParserMode>>;
30
+ jsonOutputPath: z.ZodOptional<z.ZodArray<z.ZodString>>;
31
+ }, z.core.$strip>;
32
+ export type CLIRuntime_OperationBinding = z.infer<typeof CLIRuntime_OperationBindingSchema>;
33
+ export declare const CLIRuntime_ExecutionProfileSchema: z.ZodObject<{
34
+ runnerHost: z.ZodDefault<z.ZodEnum<typeof CLIRuntime_RunnerHost>>;
35
+ command: z.ZodString;
36
+ args: z.ZodOptional<z.ZodArray<z.ZodString>>;
37
+ inheritedEnvironmentVariables: z.ZodOptional<z.ZodArray<z.ZodString>>;
38
+ authMode: z.ZodEnum<typeof CLIRuntime_AuthMode>;
39
+ secretRef: z.ZodOptional<z.ZodString>;
40
+ secretEnvVarName: z.ZodOptional<z.ZodString>;
41
+ allowedApplicationEnvironments: z.ZodArray<z.ZodEnum<typeof APPLICATION_ENVIRONMENT>>;
42
+ allowedPlatformEnvironmentIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
43
+ workspaceRootPath: z.ZodString;
44
+ workingDirectoryPolicy: z.ZodDefault<z.ZodEnum<typeof CLIRuntime_WorkingDirectoryPolicy>>;
45
+ workingDirectoryRelativePath: z.ZodOptional<z.ZodString>;
46
+ timeoutMs: z.ZodOptional<z.ZodNumber>;
47
+ outputParserMode: z.ZodDefault<z.ZodEnum<typeof CLIRuntime_OutputParserMode>>;
48
+ }, z.core.$strip>;
49
+ export type CLIRuntime_ExecutionProfile = z.infer<typeof CLIRuntime_ExecutionProfileSchema>;
50
+ export declare const CLIRuntime_ProfileSchema: z.ZodObject<{
51
+ endpoints: z.ZodOptional<z.ZodRecord<z.ZodEnum<typeof APPLICATION_ENVIRONMENT>, z.ZodString>>;
52
+ availableAuthMethods: z.ZodOptional<z.ZodArray<z.ZodEnum<typeof import("../index.js").ExternalProvider_Auth_Kind>>>;
53
+ authProfiles: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
54
+ ref: z.ZodOptional<z.ZodString>;
55
+ isDefault: z.ZodDefault<z.ZodBoolean>;
56
+ location: z.ZodDefault<z.ZodEnum<typeof import("../index.js").ExternalProvider_Auth_ApiKey_Location>>;
57
+ kind: z.ZodLiteral<import("../index.js").ExternalProvider_Auth_Kind.API_KEY>;
58
+ locationField: z.ZodDefault<z.ZodString>;
59
+ prefix: z.ZodOptional<z.ZodString>;
60
+ }, z.core.$strip>, z.ZodObject<{
61
+ ref: z.ZodOptional<z.ZodString>;
62
+ isDefault: z.ZodDefault<z.ZodBoolean>;
63
+ location: z.ZodDefault<z.ZodEnum<typeof import("../index.js").ExternalProvider_Auth_ApiKey_Location>>;
64
+ kind: z.ZodLiteral<import("../index.js").ExternalProvider_Auth_Kind.HMAC_SIGNATURE>;
65
+ locationField: z.ZodDefault<z.ZodString>;
66
+ algorithm: z.ZodDefault<z.ZodEnum<typeof import("../index.js").ExternalProvider_Auth_HMAC_Signature_Algorithm>>;
67
+ signaturePayload: z.ZodOptional<z.ZodEnum<{
68
+ custom: "custom";
69
+ body: "body";
70
+ timestamp: "timestamp";
71
+ }>>;
72
+ timestampHeader: z.ZodOptional<z.ZodString>;
73
+ nonceHeader: z.ZodOptional<z.ZodString>;
74
+ }, z.core.$strip>, z.ZodObject<{
75
+ ref: z.ZodOptional<z.ZodString>;
76
+ isDefault: z.ZodDefault<z.ZodBoolean>;
77
+ kind: z.ZodLiteral<import("../index.js").ExternalProvider_Auth_Kind.BEARER>;
78
+ location: z.ZodDefault<z.ZodEnum<typeof import("../index.js").ExternalProvider_Auth_ApiKey_Location>>;
79
+ locationField: z.ZodDefault<z.ZodString>;
80
+ prefix: z.ZodDefault<z.ZodString>;
81
+ format: z.ZodDefault<z.ZodEnum<typeof import("../index.js").ExternalProvider_Auth_Bearer_Format>>;
82
+ }, z.core.$strip>, z.ZodObject<{
83
+ ref: z.ZodOptional<z.ZodString>;
84
+ isDefault: z.ZodDefault<z.ZodBoolean>;
85
+ location: z.ZodDefault<z.ZodEnum<typeof import("../index.js").ExternalProvider_Auth_ApiKey_Location>>;
86
+ locationField: z.ZodDefault<z.ZodString>;
87
+ kind: z.ZodLiteral<import("../index.js").ExternalProvider_Auth_Kind.OPENID_CONNECT>;
88
+ discoveryUrl: z.ZodOptional<z.ZodURL>;
89
+ issuer: z.ZodOptional<z.ZodString>;
90
+ audience: z.ZodOptional<z.ZodString>;
91
+ validationMode: z.ZodOptional<z.ZodEnum<{
92
+ jwks: "jwks";
93
+ introspection: "introspection";
94
+ local: "local";
95
+ }>>;
96
+ }, z.core.$strip>, z.ZodObject<{
97
+ ref: z.ZodOptional<z.ZodString>;
98
+ isDefault: z.ZodDefault<z.ZodBoolean>;
99
+ location: z.ZodDefault<z.ZodEnum<typeof import("../index.js").ExternalProvider_Auth_ApiKey_Location>>;
100
+ locationField: z.ZodDefault<z.ZodString>;
101
+ kind: z.ZodLiteral<import("../index.js").ExternalProvider_Auth_Kind.OAUTH2>;
102
+ oauth2ProviderRef: z.ZodOptional<z.ZodString>;
103
+ authUrl: z.ZodOptional<z.ZodURL>;
104
+ tokenUrl: z.ZodOptional<z.ZodURL>;
105
+ refreshUrl: z.ZodOptional<z.ZodURL>;
106
+ scopes: z.ZodOptional<z.ZodArray<z.ZodString>>;
107
+ grantType: z.ZodOptional<z.ZodEnum<typeof import("./oauth2.external-connectors-models.schemas.js").OAuth2_GrantType>>;
108
+ tokenEndpointAuthMethod: z.ZodOptional<z.ZodEnum<typeof import("./oauth2.external-connectors-models.schemas.js").OAuth2_TokenEndpoint_AuthMethod>>;
109
+ pkce: z.ZodOptional<z.ZodBoolean>;
110
+ pkceMethod: z.ZodOptional<z.ZodEnum<typeof import("./oauth2.external-connectors-models.schemas.js").OAuth2_PKCE_Method>>;
111
+ prompt: z.ZodOptional<z.ZodEnum<typeof import("./oauth2.external-connectors-models.schemas.js").OAuth2_Prompt>>;
112
+ accessType: z.ZodOptional<z.ZodEnum<typeof import("./oauth2.external-connectors-models.schemas.js").OAuth2_AccessType>>;
113
+ extraAuthParams: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
114
+ extraTokenParams: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
115
+ tokenFormat: z.ZodDefault<z.ZodEnum<{
116
+ token: "token";
117
+ bearer: "bearer";
118
+ oauth: "oauth";
119
+ custom: "custom";
120
+ }>>;
121
+ customTokenPrefix: z.ZodOptional<z.ZodString>;
122
+ }, z.core.$strip>, z.ZodObject<{
123
+ ref: z.ZodOptional<z.ZodString>;
124
+ isDefault: z.ZodDefault<z.ZodBoolean>;
125
+ location: z.ZodDefault<z.ZodEnum<typeof import("../index.js").ExternalProvider_Auth_ApiKey_Location>>;
126
+ locationField: z.ZodDefault<z.ZodString>;
127
+ kind: z.ZodLiteral<import("../index.js").ExternalProvider_Auth_Kind.BASIC>;
128
+ usernameRef: z.ZodOptional<z.ZodString>;
129
+ passwordRef: z.ZodOptional<z.ZodString>;
130
+ }, z.core.$strip>, z.ZodObject<{
131
+ ref: z.ZodOptional<z.ZodString>;
132
+ isDefault: z.ZodDefault<z.ZodBoolean>;
133
+ location: z.ZodDefault<z.ZodEnum<typeof import("../index.js").ExternalProvider_Auth_ApiKey_Location>>;
134
+ locationField: z.ZodDefault<z.ZodString>;
135
+ kind: z.ZodLiteral<import("../index.js").ExternalProvider_Auth_Kind.NONE>;
136
+ }, z.core.$strip>, z.ZodObject<{
137
+ ref: z.ZodOptional<z.ZodString>;
138
+ isDefault: z.ZodDefault<z.ZodBoolean>;
139
+ location: z.ZodDefault<z.ZodEnum<typeof import("../index.js").ExternalProvider_Auth_ApiKey_Location>>;
140
+ locationField: z.ZodDefault<z.ZodString>;
141
+ kind: z.ZodLiteral<import("../index.js").ExternalProvider_Auth_Kind.FRONTEND_SECRET>;
142
+ frontendOnly: z.ZodDefault<z.ZodBoolean>;
143
+ }, z.core.$strip>, z.ZodObject<{
144
+ ref: z.ZodOptional<z.ZodString>;
145
+ isDefault: z.ZodDefault<z.ZodBoolean>;
146
+ location: z.ZodDefault<z.ZodEnum<typeof import("../index.js").ExternalProvider_Auth_ApiKey_Location>>;
147
+ locationField: z.ZodDefault<z.ZodString>;
148
+ kind: z.ZodLiteral<import("../index.js").ExternalProvider_Auth_Kind.MUTUAL_TLS>;
149
+ certificateRef: z.ZodOptional<z.ZodString>;
150
+ privateKeyRef: z.ZodOptional<z.ZodString>;
151
+ caRef: z.ZodOptional<z.ZodString>;
152
+ }, z.core.$strip>], "kind">>>;
153
+ supportedRunnerHosts: z.ZodDefault<z.ZodArray<z.ZodEnum<typeof CLIRuntime_RunnerHost>>>;
154
+ supportedOperationKeys: z.ZodArray<z.ZodString>;
155
+ supportedModels: z.ZodArray<z.ZodString>;
156
+ supportedAuthModes: z.ZodDefault<z.ZodArray<z.ZodEnum<typeof CLIRuntime_AuthMode>>>;
157
+ supportedOutputParserModes: z.ZodDefault<z.ZodArray<z.ZodEnum<typeof CLIRuntime_OutputParserMode>>>;
158
+ modelBinding: z.ZodObject<{
159
+ argumentTemplate: z.ZodOptional<z.ZodArray<z.ZodString>>;
160
+ environmentVariables: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
161
+ modelValueOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
162
+ }, z.core.$strip>;
163
+ operationBindings: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
164
+ argumentTemplate: z.ZodOptional<z.ZodArray<z.ZodString>>;
165
+ environmentVariables: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
166
+ outputParserMode: z.ZodOptional<z.ZodEnum<typeof CLIRuntime_OutputParserMode>>;
167
+ jsonOutputPath: z.ZodOptional<z.ZodArray<z.ZodString>>;
168
+ }, z.core.$strip>>>;
169
+ }, z.core.$strip>;
170
+ export type CLIRuntime_Profile = ExternalProvider_ExchangeProtocol_Profile_Base & z.infer<typeof CLIRuntime_ProfileSchema>;
171
+ export declare const CLIRuntime_ConfigurationSchema: z.ZodObject<{
172
+ enabled: z.ZodBoolean;
173
+ authConfig: z.ZodOptional<z.ZodObject<{
174
+ authKind: z.ZodEnum<typeof import("../index.js").ExternalProvider_Auth_Kind>;
175
+ profileRefs: z.ZodOptional<z.ZodArray<z.ZodString>>;
176
+ isDefault: z.ZodOptional<z.ZodBoolean>;
177
+ secretRef: z.ZodString;
178
+ }, z.core.$strip>>;
179
+ rateLimitConfig: z.ZodOptional<z.ZodObject<{
180
+ maxConcurrent: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
181
+ minTime: z.ZodOptional<z.ZodNumber>;
182
+ reservoir: z.ZodOptional<z.ZodNumber>;
183
+ reservoirRefreshInterval: z.ZodOptional<z.ZodNumber>;
184
+ reservoirRefreshAmount: z.ZodOptional<z.ZodNumber>;
185
+ priority: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
186
+ }, z.core.$strip>>;
187
+ defaultExecutionProfileRef: z.ZodOptional<z.ZodString>;
188
+ executionProfiles: z.ZodRecord<z.ZodString, z.ZodObject<{
189
+ runnerHost: z.ZodDefault<z.ZodEnum<typeof CLIRuntime_RunnerHost>>;
190
+ command: z.ZodString;
191
+ args: z.ZodOptional<z.ZodArray<z.ZodString>>;
192
+ inheritedEnvironmentVariables: z.ZodOptional<z.ZodArray<z.ZodString>>;
193
+ authMode: z.ZodEnum<typeof CLIRuntime_AuthMode>;
194
+ secretRef: z.ZodOptional<z.ZodString>;
195
+ secretEnvVarName: z.ZodOptional<z.ZodString>;
196
+ allowedApplicationEnvironments: z.ZodArray<z.ZodEnum<typeof APPLICATION_ENVIRONMENT>>;
197
+ allowedPlatformEnvironmentIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
198
+ workspaceRootPath: z.ZodString;
199
+ workingDirectoryPolicy: z.ZodDefault<z.ZodEnum<typeof CLIRuntime_WorkingDirectoryPolicy>>;
200
+ workingDirectoryRelativePath: z.ZodOptional<z.ZodString>;
201
+ timeoutMs: z.ZodOptional<z.ZodNumber>;
202
+ outputParserMode: z.ZodDefault<z.ZodEnum<typeof CLIRuntime_OutputParserMode>>;
203
+ }, z.core.$strip>>;
204
+ }, z.core.$strip>;
205
+ export type CLIRuntime_Configuration = ExternalProvider_ExchangeProtocol_Configuration_Base & z.infer<typeof CLIRuntime_ConfigurationSchema>;
206
+ export declare const CLIRuntime_StatusSchema: z.ZodObject<{
207
+ status: z.ZodEnum<typeof import("../index.js").ExternalProvider_Status>;
208
+ lastCheckedAt: z.ZodString;
209
+ errorReason: z.ZodOptional<z.ZodString>;
210
+ protocolKind: z.ZodLiteral<ExternalProvider_ExchangeProtocol_Kind.CLI_RUNTIME>;
211
+ availableCommands: z.ZodOptional<z.ZodArray<z.ZodString>>;
212
+ }, z.core.$strip>;
213
+ export type CLIRuntime_Status = z.infer<typeof CLIRuntime_StatusSchema>;
214
+ //# sourceMappingURL=cli-runtime.external-connectors-models.schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-runtime.external-connectors-models.schemas.d.ts","sourceRoot":"","sources":["../../../src/protocols/cli-runtime.external-connectors-models.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,uBAAuB,EACvB,oDAAoD,EAEpD,sCAAsC,EACtC,8CAA8C,EAG/C,MAAM,oDAAoD,CAAC;AAS5D,oBAAY,qBAAqB;IAC/B,kBAAkB,uBAAuB;CAC1C;AAED,oBAAY,mBAAmB;IAC7B,IAAI,SAAS;IACb,YAAY,iBAAiB;IAC7B,wBAAwB,6BAA6B;CACtD;AAED,oBAAY,iCAAiC;IAC3C,cAAc,mBAAmB;IACjC,uBAAuB,4BAA4B;CACpD;AAED,oBAAY,2BAA2B;IACrC,IAAI,SAAS;IACb,IAAI,SAAS;CACd;AAED,eAAO,MAAM,kCAAkC,YAAY,CAAC;AAG5D,eAAO,MAAM,6BAA6B;;;;iBAqCxC,CAAC;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEpF,eAAO,MAAM,iCAAiC;;;;;iBA6C5C,CAAC;AACH,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iCAAiC,CAAC,CAAC;AAE5F,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;iBAkD5C,CAAC;AACH,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iCAAiC,CAAC,CAAC;AAE5F,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA2BnC,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,8CAA8C,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE3H,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAczC,CAAC;AACH,MAAM,MAAM,wBAAwB,GAAG,oDAAoD,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAE7I,eAAO,MAAM,uBAAuB;;;;;;iBAGlC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC"}