@wildo-ai/external-connectors-models 1.1.1 → 1.1.3

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 (87) hide show
  1. package/dist/esm/.native.tsbuildinfo +1 -0
  2. package/dist/esm/core/commons.external-connectors-models.schemas.d.ts +49 -9
  3. package/dist/esm/core/commons.external-connectors-models.schemas.d.ts.map +1 -1
  4. package/dist/esm/core/commons.external-connectors-models.schemas.js +46 -7
  5. package/dist/esm/core/commons.external-connectors-models.schemas.js.map +1 -1
  6. package/dist/esm/core/operation-classification.external-connectors-models.schemas.d.ts +13 -0
  7. package/dist/esm/core/operation-classification.external-connectors-models.schemas.d.ts.map +1 -0
  8. package/dist/esm/core/operation-classification.external-connectors-models.schemas.js +14 -0
  9. package/dist/esm/core/operation-classification.external-connectors-models.schemas.js.map +1 -0
  10. package/dist/esm/core/protocols.external-connectors-models.schemas.d.ts +0 -25
  11. package/dist/esm/core/protocols.external-connectors-models.schemas.d.ts.map +1 -1
  12. package/dist/esm/core/protocols.external-connectors-models.schemas.js.map +1 -1
  13. package/dist/esm/core/security.external-connectors-models.schemas.d.ts +132 -2
  14. package/dist/esm/core/security.external-connectors-models.schemas.d.ts.map +1 -1
  15. package/dist/esm/core/security.external-connectors-models.schemas.js +164 -0
  16. package/dist/esm/core/security.external-connectors-models.schemas.js.map +1 -1
  17. package/dist/esm/features/core.external-connectors-models.schemas.d.ts +0 -63
  18. package/dist/esm/features/core.external-connectors-models.schemas.d.ts.map +0 -1
  19. package/dist/esm/features/core.external-connectors-models.schemas.js +0 -101
  20. package/dist/esm/features/core.external-connectors-models.schemas.js.map +0 -1
  21. package/dist/esm/features/email.external-connectors-models.schemas.d.ts +0 -181
  22. package/dist/esm/features/email.external-connectors-models.schemas.d.ts.map +0 -1
  23. package/dist/esm/features/email.external-connectors-models.schemas.js +0 -34
  24. package/dist/esm/features/email.external-connectors-models.schemas.js.map +0 -1
  25. package/dist/esm/features/hooks.external-connectors-models.schemas.d.ts +0 -101
  26. package/dist/esm/features/hooks.external-connectors-models.schemas.d.ts.map +0 -1
  27. package/dist/esm/features/hooks.external-connectors-models.schemas.js +0 -11
  28. package/dist/esm/features/hooks.external-connectors-models.schemas.js.map +0 -1
  29. package/dist/esm/features/sms.external-connectors-models.schemas.d.ts +0 -21
  30. package/dist/esm/features/sms.external-connectors-models.schemas.d.ts.map +0 -1
  31. package/dist/esm/features/sms.external-connectors-models.schemas.js +0 -8
  32. package/dist/esm/features/sms.external-connectors-models.schemas.js.map +0 -1
  33. package/dist/esm/index.d.ts +3 -9
  34. package/dist/esm/index.d.ts.map +1 -1
  35. package/dist/esm/index.js +6 -10
  36. package/dist/esm/index.js.map +1 -1
  37. package/dist/esm/protocols/a2a.external-connectors-models.schemas.d.ts +0 -57
  38. package/dist/esm/protocols/a2a.external-connectors-models.schemas.d.ts.map +0 -1
  39. package/dist/esm/protocols/a2a.external-connectors-models.schemas.js +0 -73
  40. package/dist/esm/protocols/a2a.external-connectors-models.schemas.js.map +0 -1
  41. package/dist/esm/protocols/agent-client-protocol.external-connectors-models.schemas.d.ts +242 -3
  42. package/dist/esm/protocols/agent-client-protocol.external-connectors-models.schemas.d.ts.map +1 -1
  43. package/dist/esm/protocols/agent-client-protocol.external-connectors-models.schemas.js +294 -2
  44. package/dist/esm/protocols/agent-client-protocol.external-connectors-models.schemas.js.map +1 -1
  45. package/dist/esm/protocols/billing.standard-interface.schemas.d.ts +154 -0
  46. package/dist/esm/protocols/billing.standard-interface.schemas.d.ts.map +1 -1
  47. package/dist/esm/protocols/billing.standard-interface.schemas.js +50 -1
  48. package/dist/esm/protocols/billing.standard-interface.schemas.js.map +1 -1
  49. package/dist/esm/protocols/email.external-connectors-models.schemas.d.ts +1 -1
  50. package/dist/esm/protocols/email.standard-interface.schemas.d.ts +5 -5
  51. package/dist/esm/protocols/git.external-connectors-models.schemas.d.ts +0 -14
  52. package/dist/esm/protocols/git.external-connectors-models.schemas.d.ts.map +0 -1
  53. package/dist/esm/protocols/git.external-connectors-models.schemas.js +0 -9
  54. package/dist/esm/protocols/git.external-connectors-models.schemas.js.map +0 -1
  55. package/dist/esm/protocols/grpc.external-connectors-models.schemas.d.ts +0 -14
  56. package/dist/esm/protocols/grpc.external-connectors-models.schemas.d.ts.map +0 -1
  57. package/dist/esm/protocols/grpc.external-connectors-models.schemas.js +0 -9
  58. package/dist/esm/protocols/grpc.external-connectors-models.schemas.js.map +0 -1
  59. package/dist/esm/protocols/hooks-capability.external-connectors-models.schemas.d.ts +101 -0
  60. package/dist/esm/protocols/hooks-capability.external-connectors-models.schemas.d.ts.map +1 -0
  61. package/dist/esm/protocols/hooks-capability.external-connectors-models.schemas.js +11 -0
  62. package/dist/esm/protocols/hooks-capability.external-connectors-models.schemas.js.map +1 -0
  63. package/dist/esm/protocols/llm.external-connectors-models.schemas.d.ts +39 -20
  64. package/dist/esm/protocols/llm.external-connectors-models.schemas.d.ts.map +1 -1
  65. package/dist/esm/protocols/llm.external-connectors-models.schemas.js +113 -27
  66. package/dist/esm/protocols/llm.external-connectors-models.schemas.js.map +1 -1
  67. package/dist/esm/protocols/mcp.external-connectors-models.schemas.d.ts +0 -60
  68. package/dist/esm/protocols/mcp.external-connectors-models.schemas.d.ts.map +0 -1
  69. package/dist/esm/protocols/mcp.external-connectors-models.schemas.js +0 -35
  70. package/dist/esm/protocols/mcp.external-connectors-models.schemas.js.map +0 -1
  71. package/dist/esm/protocols/oauth2.external-connectors-models.schemas.d.ts +2 -2
  72. package/dist/esm/protocols/rest-api.external-connectors-models.schemas.d.ts +1 -89
  73. package/dist/esm/protocols/rest-api.external-connectors-models.schemas.d.ts.map +1 -1
  74. package/dist/esm/protocols/rest-api.external-connectors-models.schemas.js +1 -83
  75. package/dist/esm/protocols/rest-api.external-connectors-models.schemas.js.map +1 -1
  76. package/dist/esm/protocols/rest-operations.external-connectors-models.schemas.d.ts +370 -0
  77. package/dist/esm/protocols/rest-operations.external-connectors-models.schemas.d.ts.map +1 -0
  78. package/dist/esm/protocols/rest-operations.external-connectors-models.schemas.js +89 -0
  79. package/dist/esm/protocols/rest-operations.external-connectors-models.schemas.js.map +1 -0
  80. package/dist/esm/protocols/saml.external-connectors-models.schemas.d.ts +0 -135
  81. package/dist/esm/protocols/saml.external-connectors-models.schemas.d.ts.map +0 -1
  82. package/dist/esm/protocols/saml.external-connectors-models.schemas.js +0 -9
  83. package/dist/esm/protocols/saml.external-connectors-models.schemas.js.map +0 -1
  84. package/dist/esm/protocols/sms.standard-interface.schemas.d.ts +2 -2
  85. package/dist/tsconfig.build.tsbuildinfo +1 -1
  86. package/package.json +2 -2
  87. package/dist/esm/.builder.pid +0 -9
@@ -1 +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","sourcesContent":["/**\n * Standard Billing Interface\n * --------\n * This is the canonical interface that Wildo uses internally for all billing\n * operations. The ETL layer transforms these standard requests into\n * provider-specific API calls (e.g., Stripe, Paddle, LemonSqueezy).\n *\n * Design Principles:\n * 1. Provider-agnostic — works with any billing provider\n * 2. Hosted-first — uses provider-hosted checkout and portals (no PCI scope)\n * 3. Webhook-driven — state changes flow in via webhooks, not polling\n * 4. Scope-agnostic — billing accounts map to any Wildo scope (org, user)\n *\n * @see billing-and-features-system.md §7.1 (Standard Billing Interface)\n */\n\n// ===============================================================\n// Billing Interface Enums (canonical source, re-exported by saas-models)\n// ===============================================================\n\n/**\n * Pricing model for a price entry.\n */\nexport enum PricingModel {\n FLAT = 'flat',\n PER_UNIT = 'per_unit',\n /** Volume pricing (all units at tier price) */\n TIERED = 'tiered',\n /** Incremental (each tier priced independently) */\n GRADUATED = 'graduated',\n /** Price per package of N units */\n PACKAGE = 'package',\n}\n\n/**\n * Billing interval for recurring prices.\n */\nexport enum BillingInterval {\n MONTH = 'month',\n YEAR = 'year',\n}\n\n/**\n * Tax display mode: how prices are displayed (HT vs TTC).\n */\nexport enum TaxDisplayMode {\n /** Price amounts are HT (tax added at checkout) */\n EXCLUSIVE = 'exclusive',\n /** Price amounts are TTC (tax embedded) */\n INCLUSIVE = 'inclusive',\n}\n\n/**\n * Subscription status values (maps to Stripe subscription statuses).\n */\nexport enum SubscriptionStatus {\n ACTIVE = 'active',\n PAST_DUE = 'past_due',\n UNPAID = 'unpaid',\n CANCELLED = 'cancelled',\n /** Stripe: first payment never completed within 23h window */\n INCOMPLETE = 'incomplete',\n INCOMPLETE_EXPIRED = 'incomplete_expired',\n TRIALING = 'trialing',\n PAUSED = 'paused',\n}\n\n// ===============================================================\n// Standard Billing Event Types\n// ===============================================================\n\n/**\n * Canonical billing events the system cares about.\n * Provider-specific events are mapped to these types by the transformer.\n * Only events that affect local state (features, status) need to be handled.\n */\nexport enum StandardBilling_EventType {\n // Subscription lifecycle (→ feature sync)\n SUBSCRIPTION_CREATED = 'subscription.created',\n SUBSCRIPTION_UPDATED = 'subscription.updated',\n SUBSCRIPTION_DELETED = 'subscription.deleted',\n SUBSCRIPTION_TRIAL_WILL_END = 'subscription.trial_will_end',\n\n // Invoice status (→ billing status tracking, past_due detection)\n INVOICE_PAID = 'invoice.paid',\n INVOICE_PAYMENT_FAILED = 'invoice.payment_failed',\n INVOICE_FINALIZED = 'invoice.finalized',\n\n // Checkout (→ one-off purchase completion for ONE_TIME, CREDIT_PACK, ITEM products)\n CHECKOUT_SESSION_COMPLETED = 'checkout.session.completed',\n\n // Customer (→ billing account sync)\n CUSTOMER_UPDATED = 'customer.updated',\n CUSTOMER_DELETED = 'customer.deleted',\n\n // Coupon (→ no local action; coupons are managed through Wildo's promotion system.\n // Included for logging/audit in case coupons are modified directly on the provider.)\n COUPON_CREATED = 'coupon.created',\n COUPON_UPDATED = 'coupon.updated',\n COUPON_DELETED = 'coupon.deleted',\n\n // Customer discount (→ subscription re-sync to pick up discount changes)\n CUSTOMER_DISCOUNT_CREATED = 'customer.discount.created',\n CUSTOMER_DISCOUNT_UPDATED = 'customer.discount.updated',\n CUSTOMER_DISCOUNT_DELETED = 'customer.discount.deleted',\n\n // Payment method (→ no local action needed; provider manages via Customer Portal.\n // Included for completeness: apps can optionally log these events for audit trails.)\n PAYMENT_METHOD_ATTACHED = 'payment_method.attached',\n PAYMENT_METHOD_DETACHED = 'payment_method.detached',\n}\n\n// ===============================================================\n// Standard Billing Webhook Event\n// ===============================================================\n\n/**\n * Canonical webhook event representation.\n * Provider transformers parse raw webhook payloads into this shape.\n */\nexport interface StandardBilling_WebhookEvent {\n /** Canonical event type */\n type: StandardBilling_EventType;\n /** Provider-assigned event ID (for idempotency) */\n providerEventId: string;\n /** Event payload — shape varies by event type */\n data: Record<string, unknown>;\n /** When the event occurred at the provider */\n createdAt: Date;\n}\n\n// ===============================================================\n// Request/Response Types\n// ===============================================================\n\n// ── Customer ────────────────────────────────────────────────────\n\nexport interface StandardBilling_CreateCustomerRequest {\n /** Descriptive name (e.g., organization name or user display name) */\n name: string;\n /** Contact email for invoices and receipts */\n email: string;\n /** Arbitrary key-value metadata stored on the provider customer */\n metadata?: Record<string, string>;\n}\n\nexport interface StandardBilling_CreateCustomerResponse {\n providerCustomerId: string;\n}\n\n/**\n * Postal address on a provider customer record.\n *\n * Every field is independently clearable (`null`) rather than merely omittable: `undefined` means\n * \"leave whatever the provider already has\", `null` means \"blank it\". Subject erasure needs the\n * second meaning — an address that is silently preserved because the request could only express\n * \"no change\" is personal data surviving an erasure.\n */\nexport interface StandardBilling_CustomerAddress {\n line1?: string | null;\n line2?: string | null;\n city?: string | null;\n state?: string | null;\n postalCode?: string | null;\n /** ISO 3166-1 alpha-2 country code. */\n country?: string | null;\n}\n\nexport interface StandardBilling_UpdateCustomerRequest {\n name?: string;\n email?: string;\n metadata?: Record<string, string>;\n /**\n * Contact phone. `null` clears it at the provider — see {@link StandardBilling_CustomerAddress}\n * for why clearability is expressed separately from omission.\n */\n phone?: string | null;\n /**\n * Billing address. `null` clears the whole address; a partial object clears only the fields it\n * sets to `null` and leaves the rest untouched.\n */\n address?: StandardBilling_CustomerAddress | null;\n}\n\n/**\n * A stored payment instrument attached to a provider customer.\n *\n * Deliberately thin: enough to identify an instrument for detachment and to render a\n * \"•••• 4242\"-style hint, and nothing more. Wildo never handles raw instrument data — that is the\n * whole point of routing users through the provider-hosted portal — so this carries no PAN, no\n * expiry, and no billing details.\n */\nexport interface StandardBilling_PaymentMethodSummary {\n providerPaymentMethodId: string;\n /**\n * Instrument kind as the provider names it (`'card'`, `'sepa_debit'`, `'us_bank_account'`, …).\n * Intentionally an OPEN provider identifier, not a closed Wildo vocabulary: the set differs per\n * provider and grows without our involvement, and nothing in the framework branches on it — it\n * is carried for display and diagnostics only.\n */\n type: string;\n /** Last four digits, when the instrument exposes them. */\n last4?: string;\n}\n\n// ── Product/Price Sync ──────────────────────────────────────────\n\nexport interface StandardBilling_SyncProductRequest {\n /** Internal Wildo product key (stored in metadata for reverse lookup) */\n productKey: string;\n name: string;\n description?: string;\n /** If set, updates existing provider product instead of creating new */\n providerProductId?: string;\n metadata?: Record<string, string>;\n}\n\nexport interface StandardBilling_SyncProductResponse {\n providerProductId: string;\n}\n\nexport interface StandardBilling_SyncPriceRequest {\n providerProductId: string;\n model: PricingModel;\n /** Amount in smallest currency unit (cents) */\n amount: number;\n currency: string;\n interval?: BillingInterval;\n /** For TIERED/VOLUME pricing models */\n tiers?: Array<{\n upTo: number | null;\n unitAmount: number;\n flatAmount?: number;\n }>;\n /** For PACKAGE pricing */\n packageSize?: number;\n /** Tax behavior */\n taxBehavior?: TaxDisplayMode;\n /** If set, updates existing provider price instead of creating new */\n providerPriceId?: string;\n metadata?: Record<string, string>;\n}\n\nexport interface StandardBilling_SyncPriceResponse {\n providerPriceId: string;\n}\n\n// ── Subscription Lifecycle ──────────────────────────────────────\n\nexport interface StandardBilling_CreateSubscriptionRequest {\n providerCustomerId: string;\n items: Array<{\n providerPriceId: string;\n quantity?: number;\n }>;\n trialPeriodDays?: number;\n /** Provider promotion code to apply */\n providerPromotionCodeId?: string;\n metadata?: Record<string, string>;\n}\n\nexport interface StandardBilling_CreateSubscriptionResponse {\n providerSubscriptionId: string;\n status: string;\n}\n\nexport interface StandardBilling_UpdateSubscriptionRequest {\n items?: Array<{\n /** Provider-side subscription item ID (used to target the correct item on the provider).\n * If omitted, the provider transformer falls back to index-based matching. */\n providerSubscriptionItemId?: string;\n providerPriceId: string;\n quantity?: number;\n }>;\n /** Provider promotion code to apply */\n providerPromotionCodeId?: string;\n metadata?: Record<string, string>;\n}\n\nexport interface StandardBilling_CancelSubscriptionOptions {\n /** If true, subscription remains active until current period ends */\n atPeriodEnd?: boolean;\n}\n\n// ── Read/Sync (Reconciliation) ──────────────────────────────────\n\n/**\n * StandardBilling_SubscriptionData: canonical subscription representation\n * returned by the provider adapter's retrieveSubscription().\n * Used for reconciliation when webhooks may have been missed.\n */\nexport interface StandardBilling_SubscriptionData {\n providerSubscriptionId: string;\n status: SubscriptionStatus;\n currentPeriodStart: Date;\n currentPeriodEnd: Date;\n cancelAtPeriodEnd: boolean;\n trialEnd?: Date;\n items: Array<{\n providerSubscriptionItemId: string;\n providerProductId: string;\n providerPriceId: string;\n quantity: number;\n }>;\n /** Active discount on this subscription (from coupon/promotion code) */\n discount?: {\n providerCouponId: string;\n percentOff?: number;\n amountOff?: number;\n currency?: string;\n duration: string;\n durationInMonths?: number;\n end?: Date;\n };\n}\n\n/**\n * StandardBilling_InvoicePreview: canonical upcoming invoice from provider.\n * Returned by retrieveUpcomingInvoice() for plan change previews.\n */\nexport interface StandardBilling_InvoicePreview {\n amount: number;\n currency: string;\n lineItems: Array<{\n description: string;\n amount: number;\n quantity: number;\n providerPriceId?: string;\n }>;\n periodStart: Date;\n periodEnd: Date;\n}\n\n// ── Checkout / Portal (Provider-Hosted UI) ──────────────────────\n\nexport interface StandardBilling_CreateCheckoutSessionRequest {\n providerCustomerId: string;\n lineItems: Array<{\n providerPriceId: string;\n quantity?: number;\n }>;\n /** Checkout mode: 'subscription' for recurring, 'payment' for one-time */\n mode: 'subscription' | 'payment';\n successUrl: string;\n cancelUrl: string;\n /** Allow promotion codes in checkout */\n allowPromotionCodes?: boolean;\n /** Pre-fill promotion code */\n providerPromotionCodeId?: string;\n /** Trial period for subscriptions */\n trialPeriodDays?: number;\n metadata?: Record<string, string>;\n}\n\nexport interface StandardBilling_CreateCheckoutSessionResponse {\n /** Redirect URL for the hosted checkout page */\n url: string;\n sessionId: string;\n}\n\nexport interface StandardBilling_CreateCustomerPortalSessionResponse {\n /** Redirect URL for the customer portal */\n url: string;\n}\n\n// ── Usage Reporting (METERED products via Billing Meter Events) ─\n\nexport interface StandardBilling_ReportUsageRequest {\n /** Meter event name (corresponds to the meter's event_name) */\n meterEventName: string;\n /** Provider customer ID (maps to payload.stripe_customer_id in Stripe) */\n providerCustomerId: string;\n /** Usage value to report */\n value: number;\n /** Optional event timestamp */\n timestamp?: Date;\n /** Optional unique event identifier (for idempotency) */\n identifier?: string;\n}\n\n// ── Promotions ──────────────────────────────────────────────────\n\nexport interface StandardBilling_CreateCouponRequest {\n /** Discount amount in smallest currency unit (for fixed discounts) */\n amountOff?: number;\n /** Discount percentage (for percentage discounts) */\n percentOff?: number;\n currency?: string;\n duration: 'once' | 'repeating' | 'forever';\n durationInMonths?: number;\n maxRedemptions?: number;\n metadata?: Record<string, string>;\n}\n\nexport interface StandardBilling_CreateCouponResponse {\n providerCouponId: string;\n}\n\nexport interface StandardBilling_CreatePromotionCodeResponse {\n providerPromotionId: string;\n}\n\n// ===============================================================\n// Standard Billing Interface\n// ===============================================================\n\n/**\n * Provider-agnostic billing interface.\n * Each billing provider (Stripe, Paddle, etc.) implements this interface\n * through a transformer that maps canonical operations to provider SDK calls.\n */\nexport interface StandardBilling_Interface {\n // ── Customer (maps to BillingAccount) ──\n createCustomer(request: StandardBilling_CreateCustomerRequest): Promise<StandardBilling_CreateCustomerResponse>;\n updateCustomer(providerCustomerId: string, request: StandardBilling_UpdateCustomerRequest): Promise<void>;\n /**\n * Hard-delete the provider customer.\n *\n * ⚠️ NOT the subject-erasure path. Erasing a subject ANONYMIZES this customer (blank the personal\n * fields, keep the record) because the financial history hanging off it — invoices, subscriptions,\n * usage — is retained under a legal obligation and must stay attributable to its provider record.\n * Deleting the customer would strand exactly the audit trail retention exists to preserve.\n * Reserve this for a genuine account teardown with no retained history.\n */\n deleteCustomer(providerCustomerId: string): Promise<void>;\n\n // ── Payment instruments ──\n /**\n * Stored payment instruments for a customer. Used by subject erasure to enumerate what must be\n * detached; day-to-day management belongs in the provider-hosted portal.\n */\n listPaymentMethods(providerCustomerId: string): Promise<StandardBilling_PaymentMethodSummary[]>;\n /**\n * Detach an instrument from its customer. Detaching does NOT delete the instrument's transaction\n * history at the provider — it stops future charges and unlinks it from the customer, which is\n * what erasure needs and what the retained invoice record requires.\n */\n detachPaymentMethod(providerPaymentMethodId: string): Promise<void>;\n\n // ── Product/Price sync (Wildo → Provider) ──\n syncProduct(request: StandardBilling_SyncProductRequest): Promise<StandardBilling_SyncProductResponse>;\n syncPrice(request: StandardBilling_SyncPriceRequest): Promise<StandardBilling_SyncPriceResponse>;\n\n // ── Subscription lifecycle ──\n // NOTE: User-initiated plan changes, cancellation, and payment method management\n // should use createCustomerPortalSession() instead of calling these directly.\n // These methods are for: initial checkout completion, backend-driven upgrades,\n // admin-triggered changes, and webhook-driven updates.\n createSubscription(request: StandardBilling_CreateSubscriptionRequest): Promise<StandardBilling_CreateSubscriptionResponse>;\n updateSubscription(providerSubscriptionId: string, request: StandardBilling_UpdateSubscriptionRequest): Promise<void>;\n cancelSubscription(providerSubscriptionId: string, options?: StandardBilling_CancelSubscriptionOptions): Promise<void>;\n pauseSubscription(providerSubscriptionId: string): Promise<void>;\n resumeSubscription(providerSubscriptionId: string): Promise<void>;\n\n // ── Read/sync (for reconciliation and upcoming cost preview) ──\n /** On-demand retrieval for reconciliation (if webhook missed) */\n retrieveSubscription(providerSubscriptionId: string): Promise<StandardBilling_SubscriptionData>;\n /** Preview prorated cost of a plan change before user commits */\n retrieveUpcomingInvoice(providerSubscriptionId: string, newPriceId?: string): Promise<StandardBilling_InvoicePreview>;\n\n // ── Provider-hosted UI (primary user-facing interactions) ──\n /** Hosted checkout page — NO Stripe Elements needed, no PCI scope */\n createCheckoutSession(request: StandardBilling_CreateCheckoutSessionRequest): Promise<StandardBilling_CreateCheckoutSessionResponse>;\n /** Customer portal for: invoices, payment methods, billing address, cancel */\n createCustomerPortalSession(providerCustomerId: string, returnUrl: string): Promise<StandardBilling_CreateCustomerPortalSessionResponse>;\n\n // ── Usage reporting (for METERED products) ──\n reportUsage(request: StandardBilling_ReportUsageRequest): Promise<void>;\n\n // ── Webhooks ──\n /** HTTP header name that carries the webhook signature (e.g., 'stripe-signature') */\n readonly webhookSignatureHeaderName: string;\n verifyWebhookSignature(payload: string | Uint8Array, signature: string, secret: string): boolean;\n /** Parse a raw webhook payload into a canonical event. Returns null for unknown/unhandled event types. */\n parseWebhookEvent(payload: string | Uint8Array): StandardBilling_WebhookEvent | null;\n\n // ── Promotions (synced to provider) ──\n createCoupon(request: StandardBilling_CreateCouponRequest): Promise<StandardBilling_CreateCouponResponse>;\n createPromotionCode(providerCouponId: string, code: string): Promise<StandardBilling_CreatePromotionCodeResponse>;\n}\n"]}
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;;;;;;;;;;;GAWG;AACH,MAAM,CAAN,IAAY,iBAOX;AAPD,WAAY,iBAAiB;IAC3B,6FAA6F;IAC7F,4DAAuC,CAAA;IACvC,2FAA2F;IAC3F,kCAAa,CAAA;IACb,oFAAoF;IACpF,sDAAiC,CAAA;AACnC,CAAC,EAPW,iBAAiB,KAAjB,iBAAiB,QAO5B;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;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAN,IAAY,aAWX;AAXD,WAAY,aAAa;IACvB,4FAA4F;IAC5F,gCAAe,CAAA;IACf,sCAAsC;IACtC,8BAAa,CAAA;IACb,eAAe;IACf,8BAAa,CAAA;IACb,oEAAoE;IACpE,8BAAa,CAAA;IACb,yDAAyD;IACzD,gDAA+B,CAAA;AACjC,CAAC,EAXW,aAAa,KAAb,aAAa,QAWxB;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","sourcesContent":["/**\n * Standard Billing Interface\n * --------\n * This is the canonical interface that Wildo uses internally for all billing\n * operations. The ETL layer transforms these standard requests into\n * provider-specific API calls (e.g., Stripe, Paddle, LemonSqueezy).\n *\n * Design Principles:\n * 1. Provider-agnostic — works with any billing provider\n * 2. Hosted-first — uses provider-hosted checkout and portals (no PCI scope)\n * 3. Webhook-driven — state changes flow in via webhooks, not polling\n * 4. Scope-agnostic — billing accounts map to any Wildo scope (org, user)\n *\n * @see billing-and-features-system.md §7.1 (Standard Billing Interface)\n */\n\n// ===============================================================\n// Billing Interface Enums (canonical source, re-exported by saas-models)\n// ===============================================================\n\n/**\n * Pricing model for a price entry.\n */\nexport enum PricingModel {\n FLAT = 'flat',\n PER_UNIT = 'per_unit',\n /** Volume pricing (all units at tier price) */\n TIERED = 'tiered',\n /** Incremental (each tier priced independently) */\n GRADUATED = 'graduated',\n /** Price per package of N units */\n PACKAGE = 'package',\n}\n\n/**\n * Billing interval for recurring prices.\n */\nexport enum BillingInterval {\n MONTH = 'month',\n YEAR = 'year',\n}\n\n/**\n * Tax display mode: how prices are displayed (HT vs TTC).\n */\nexport enum TaxDisplayMode {\n /** Price amounts are HT (tax added at checkout) */\n EXCLUSIVE = 'exclusive',\n /** Price amounts are TTC (tax embedded) */\n INCLUSIVE = 'inclusive',\n}\n\n/**\n * How a mid-cycle subscription change is settled.\n *\n * A PROTOCOL vocabulary, and it lives here for the same reason {@link TaxDisplayMode} does: these three\n * values are the wire values a billing provider accepts. It was declared in `@wildo-ai/saas-models`\n * until 2026-09-08 and re-exported the other way round, which is why an authored proration could be\n * resolved by the engine and had no field on the request to travel in — the request contract could not\n * name the type without a package cycle, so the resolved value was sent as provider METADATA and\n * ignored (#516).\n *\n * `@wildo-ai/saas-models` re-exports it, so every existing consumer is unchanged.\n */\nexport enum ProrationBehavior {\n /** Credit the unused time and charge the new price pro rata, settled on the next invoice. */\n CREATE_PRORATIONS = 'create_prorations',\n /** No proration: the change takes effect and the next invoice is the new price in full. */\n NONE = 'none',\n /** Prorate and invoice the difference IMMEDIATELY rather than at the next cycle. */\n ALWAYS_INVOICE = 'always_invoice',\n}\n\n/**\n * Subscription status values (maps to Stripe subscription statuses).\n */\nexport enum SubscriptionStatus {\n ACTIVE = 'active',\n PAST_DUE = 'past_due',\n UNPAID = 'unpaid',\n CANCELLED = 'cancelled',\n /** Stripe: first payment never completed within 23h window */\n INCOMPLETE = 'incomplete',\n INCOMPLETE_EXPIRED = 'incomplete_expired',\n TRIALING = 'trialing',\n PAUSED = 'paused',\n}\n\n/**\n * Invoice lifecycle status, as the PROVIDER reports it.\n *\n * A PROTOCOL vocabulary for the same reason {@link SubscriptionStatus} is one: these are the states\n * a billing provider puts an invoice in, and the adapter's job is to map its own wire values onto\n * them. It was declared in `@wildo-ai/saas-models` until 2026-09-09 and could not be named by this\n * package at all, so `listInvoices` — the read the reconciliation sweep needs — had no way to type\n * the one field the sweep compares.\n *\n * Moved rather than duplicated: a second enum with the same five members would be two sources for\n * one closed vocabulary, which is what `CLAUDE.md` forbids. `@wildo-ai/saas-models` re-exports it\n * exactly as it already re-exports `SubscriptionStatus`, `TaxDisplayMode` and `ProrationBehavior`,\n * so every existing consumer — including the `invoiceRefs` schema, the badge palette and the\n * documentation catalogue — imports the same specifier it always did.\n */\nexport enum InvoiceStatus {\n /** Not finalized: the provider has not issued it for collection and it may still change. */\n DRAFT = 'draft',\n /** Finalized and awaiting payment. */\n OPEN = 'open',\n /** Settled. */\n PAID = 'paid',\n /** Cancelled by the provider or the merchant; never collectable. */\n VOID = 'void',\n /** Written off — payment was attempted and abandoned. */\n UNCOLLECTIBLE = 'uncollectible',\n}\n\n// ===============================================================\n// Standard Billing Event Types\n// ===============================================================\n\n/**\n * Canonical billing events the system cares about.\n * Provider-specific events are mapped to these types by the transformer.\n * Only events that affect local state (features, status) need to be handled.\n */\nexport enum StandardBilling_EventType {\n // Subscription lifecycle (→ feature sync)\n SUBSCRIPTION_CREATED = 'subscription.created',\n SUBSCRIPTION_UPDATED = 'subscription.updated',\n SUBSCRIPTION_DELETED = 'subscription.deleted',\n SUBSCRIPTION_TRIAL_WILL_END = 'subscription.trial_will_end',\n\n // Invoice status (→ billing status tracking, past_due detection)\n INVOICE_PAID = 'invoice.paid',\n INVOICE_PAYMENT_FAILED = 'invoice.payment_failed',\n INVOICE_FINALIZED = 'invoice.finalized',\n\n // Checkout (→ one-off purchase completion for ONE_TIME, CREDIT_PACK, ITEM products)\n CHECKOUT_SESSION_COMPLETED = 'checkout.session.completed',\n\n // Customer (→ billing account sync)\n CUSTOMER_UPDATED = 'customer.updated',\n CUSTOMER_DELETED = 'customer.deleted',\n\n // Coupon (→ no local action; coupons are managed through Wildo's promotion system.\n // Included for logging/audit in case coupons are modified directly on the provider.)\n COUPON_CREATED = 'coupon.created',\n COUPON_UPDATED = 'coupon.updated',\n COUPON_DELETED = 'coupon.deleted',\n\n // Customer discount (→ subscription re-sync to pick up discount changes)\n CUSTOMER_DISCOUNT_CREATED = 'customer.discount.created',\n CUSTOMER_DISCOUNT_UPDATED = 'customer.discount.updated',\n CUSTOMER_DISCOUNT_DELETED = 'customer.discount.deleted',\n\n // Payment method (→ no local action needed; provider manages via Customer Portal.\n // Included for completeness: apps can optionally log these events for audit trails.)\n PAYMENT_METHOD_ATTACHED = 'payment_method.attached',\n PAYMENT_METHOD_DETACHED = 'payment_method.detached',\n}\n\n// ===============================================================\n// Standard Billing Webhook Event\n// ===============================================================\n\n/**\n * Canonical webhook event representation.\n * Provider transformers parse raw webhook payloads into this shape.\n */\nexport interface StandardBilling_WebhookEvent {\n /** Canonical event type */\n type: StandardBilling_EventType;\n /** Provider-assigned event ID (for idempotency) */\n providerEventId: string;\n /** Event payload — shape varies by event type */\n data: Record<string, unknown>;\n /** When the event occurred at the provider */\n createdAt: Date;\n}\n\n// ===============================================================\n// Request/Response Types\n// ===============================================================\n\n// ── Customer ────────────────────────────────────────────────────\n\nexport interface StandardBilling_CreateCustomerRequest {\n /** Descriptive name (e.g., organization name or user display name) */\n name: string;\n /** Contact email for invoices and receipts */\n email: string;\n /** Arbitrary key-value metadata stored on the provider customer */\n metadata?: Record<string, string>;\n}\n\nexport interface StandardBilling_CreateCustomerResponse {\n providerCustomerId: string;\n}\n\n/**\n * Postal address on a provider customer record.\n *\n * Every field is independently clearable (`null`) rather than merely omittable: `undefined` means\n * \"leave whatever the provider already has\", `null` means \"blank it\". Subject erasure needs the\n * second meaning — an address that is silently preserved because the request could only express\n * \"no change\" is personal data surviving an erasure.\n */\nexport interface StandardBilling_CustomerAddress {\n line1?: string | null;\n line2?: string | null;\n city?: string | null;\n state?: string | null;\n postalCode?: string | null;\n /** ISO 3166-1 alpha-2 country code. */\n country?: string | null;\n}\n\nexport interface StandardBilling_UpdateCustomerRequest {\n name?: string;\n email?: string;\n metadata?: Record<string, string>;\n /**\n * Contact phone. `null` clears it at the provider — see {@link StandardBilling_CustomerAddress}\n * for why clearability is expressed separately from omission.\n */\n phone?: string | null;\n /**\n * Billing address. `null` clears the whole address; a partial object clears only the fields it\n * sets to `null` and leaves the rest untouched.\n */\n address?: StandardBilling_CustomerAddress | null;\n}\n\n/**\n * A stored payment instrument attached to a provider customer.\n *\n * Deliberately thin: enough to identify an instrument for detachment and to render a\n * \"•••• 4242\"-style hint, and nothing more. Wildo never handles raw instrument data — that is the\n * whole point of routing users through the provider-hosted portal — so this carries no PAN, no\n * expiry, and no billing details.\n */\nexport interface StandardBilling_PaymentMethodSummary {\n providerPaymentMethodId: string;\n /**\n * Instrument kind as the provider names it (`'card'`, `'sepa_debit'`, `'us_bank_account'`, …).\n * Intentionally an OPEN provider identifier, not a closed Wildo vocabulary: the set differs per\n * provider and grows without our involvement, and nothing in the framework branches on it — it\n * is carried for display and diagnostics only.\n */\n type: string;\n /** Last four digits, when the instrument exposes them. */\n last4?: string;\n}\n\n// ── Product/Price Sync ──────────────────────────────────────────\n\nexport interface StandardBilling_SyncProductRequest {\n /** Internal Wildo product key (stored in metadata for reverse lookup) */\n productKey: string;\n name: string;\n description?: string;\n /** If set, updates existing provider product instead of creating new */\n providerProductId?: string;\n metadata?: Record<string, string>;\n}\n\nexport interface StandardBilling_SyncProductResponse {\n providerProductId: string;\n}\n\nexport interface StandardBilling_SyncPriceRequest {\n providerProductId: string;\n model: PricingModel;\n /** Amount in smallest currency unit (cents) */\n amount: number;\n currency: string;\n interval?: BillingInterval;\n /** For TIERED/VOLUME pricing models */\n tiers?: Array<{\n upTo: number | null;\n unitAmount: number;\n flatAmount?: number;\n }>;\n /** For PACKAGE pricing */\n packageSize?: number;\n /** Tax behavior */\n taxBehavior?: TaxDisplayMode;\n /** If set, updates existing provider price instead of creating new */\n providerPriceId?: string;\n metadata?: Record<string, string>;\n}\n\nexport interface StandardBilling_SyncPriceResponse {\n providerPriceId: string;\n}\n\n// ── Subscription Lifecycle ──────────────────────────────────────\n\nexport interface StandardBilling_CreateSubscriptionRequest {\n providerCustomerId: string;\n items: Array<{\n providerPriceId: string;\n quantity?: number;\n }>;\n trialPeriodDays?: number;\n /** Provider promotion code to apply */\n providerPromotionCodeId?: string;\n /**\n * Ask the provider to compute tax on this purchase (#408, 2026-09-08).\n *\n * Set from the application's `billing.tax.calculationMode`, which is PROVIDER_MANAGED or\n * DISABLED — Wildo never calculates tax locally, so the only question a provider is asked is\n * whether to calculate at all. A provider that cannot compute tax ignores this; one that can and\n * is not configured for the customer's jurisdiction will say so at the call, which is the right\n * place for that failure.\n *\n * Distinct from a price's `taxBehavior`, which says whether a displayed amount INCLUDES tax.\n * That one has always reached the provider; this one decides whether tax is computed.\n */\n automaticTax?: boolean;\n /**\n * Require a payment method up front for a trial (#408, 2026-09-08).\n *\n * Set from the product's `behaviorPolicy.trial.requirePaymentMethod`, which was declared,\n * labelled, rendered on billing screens and passed to no provider call — so a trial declared as\n * requiring a card behaved identically to one that did not. Wonder Todos' enterprise plan\n * (`true`) and professional plan (`false`) were indistinguishable at the provider.\n *\n * Two provider-side consequences follow and a connector should honour both: collect the payment\n * method during checkout, and decide what happens if the trial ends without one.\n */\n requirePaymentMethodForTrial?: boolean;\n metadata?: Record<string, string>;\n}\n\nexport interface StandardBilling_CreateSubscriptionResponse {\n providerSubscriptionId: string;\n status: string;\n}\n\nexport interface StandardBilling_UpdateSubscriptionRequest {\n items?: Array<{\n /** Provider-side subscription item ID (used to target the correct item on the provider).\n * If omitted, the provider transformer falls back to index-based matching. */\n providerSubscriptionItemId?: string;\n providerPriceId: string;\n quantity?: number;\n }>;\n /** Provider promotion code to apply */\n providerPromotionCodeId?: string;\n /**\n * How the provider settles this mid-cycle change (#516).\n *\n * The engine resolves it from the target product's `upgrade`/`downgrade` behaviour policy and it\n * had nowhere to travel: it was put in `metadata`, a free-form bag the provider does not read, so a\n * product declaring `NONE` for a downgrade was still prorated by the provider's own default. Absent\n * means \"do not send one\" — the provider applies its account default, which is what every\n * subscription update did before this field existed.\n */\n prorationBehavior?: ProrationBehavior;\n metadata?: Record<string, string>;\n}\n\nexport interface StandardBilling_CancelSubscriptionOptions {\n /** If true, subscription remains active until current period ends */\n atPeriodEnd?: boolean;\n}\n\n// ── Read/Sync (Reconciliation) ──────────────────────────────────\n\n/**\n * StandardBilling_SubscriptionData: canonical subscription representation\n * returned by the provider adapter's retrieveSubscription().\n * Used for reconciliation when webhooks may have been missed.\n */\nexport interface StandardBilling_SubscriptionData {\n providerSubscriptionId: string;\n status: SubscriptionStatus;\n currentPeriodStart: Date;\n currentPeriodEnd: Date;\n cancelAtPeriodEnd: boolean;\n trialEnd?: Date;\n items: Array<{\n providerSubscriptionItemId: string;\n providerProductId: string;\n providerPriceId: string;\n quantity: number;\n }>;\n /** Active discount on this subscription (from coupon/promotion code) */\n discount?: {\n providerCouponId: string;\n percentOff?: number;\n amountOff?: number;\n currency?: string;\n duration: string;\n durationInMonths?: number;\n end?: Date;\n };\n}\n\n/**\n * StandardBilling_InvoicePreview: canonical upcoming invoice from provider.\n * Returned by retrieveUpcomingInvoice() for plan change previews.\n */\nexport interface StandardBilling_InvoicePreview {\n amount: number;\n currency: string;\n lineItems: Array<{\n description: string;\n amount: number;\n quantity: number;\n providerPriceId?: string;\n }>;\n periodStart: Date;\n periodEnd: Date;\n}\n\n/**\n * StandardBilling_InvoiceData: an invoice the provider ALREADY holds.\n *\n * Distinct from {@link StandardBilling_InvoicePreview}, and the distinction is the point: a preview\n * is a hypothetical the provider computes on request and never stores, while this is a record that\n * exists at the provider whether or not Wildo ever heard about it. The second is what a\n * reconciliation sweep needs — a webhook that was never delivered leaves an invoice that exists\n * there and nowhere here, and no amount of previewing finds it.\n *\n * Deliberately thin. It carries what `invoiceRefs` stores and nothing else: line items, tax\n * breakdowns and payment attempts live at the provider, and the customer reaches them through the\n * provider-hosted portal.\n */\nexport interface StandardBilling_InvoiceData {\n providerInvoiceId: string;\n /** The customer the invoice was billed to — the key that maps it back to a local billing account. */\n providerCustomerId: string;\n status: InvoiceStatus;\n /**\n * The invoice TOTAL, in the CURRENCY's smallest unit.\n *\n * The total, not the amount PAID: an invoice's value does not depend on whether it has been\n * settled, and an unpaid invoice recorded at zero is indistinguishable from a zero invoice.\n */\n total: number;\n currency: string;\n hostedInvoiceUrl?: string;\n invoicePdfUrl?: string;\n /** When the provider created the invoice — used to bound how far back a sweep looks. */\n createdAt: Date;\n}\n\n// ── Checkout / Portal (Provider-Hosted UI) ──────────────────────\n\nexport interface StandardBilling_CreateCheckoutSessionRequest {\n providerCustomerId: string;\n lineItems: Array<{\n providerPriceId: string;\n quantity?: number;\n }>;\n /** Checkout mode: 'subscription' for recurring, 'payment' for one-time */\n mode: 'subscription' | 'payment';\n successUrl: string;\n cancelUrl: string;\n /** Allow promotion codes in checkout */\n allowPromotionCodes?: boolean;\n /** Pre-fill promotion code */\n providerPromotionCodeId?: string;\n /** Trial period for subscriptions */\n trialPeriodDays?: number;\n /**\n * Ask the provider to compute tax on this purchase (#408, 2026-09-08).\n *\n * Set from the application's `billing.tax.calculationMode`, which is PROVIDER_MANAGED or\n * DISABLED — Wildo never calculates tax locally, so the only question a provider is asked is\n * whether to calculate at all. A provider that cannot compute tax ignores this; one that can and\n * is not configured for the customer's jurisdiction will say so at the call, which is the right\n * place for that failure.\n *\n * Distinct from a price's `taxBehavior`, which says whether a displayed amount INCLUDES tax.\n * That one has always reached the provider; this one decides whether tax is computed.\n */\n automaticTax?: boolean;\n /**\n * Require a payment method up front for a trial (#408, 2026-09-08).\n *\n * Set from the product's `behaviorPolicy.trial.requirePaymentMethod`, which was declared,\n * labelled, rendered on billing screens and passed to no provider call — so a trial declared as\n * requiring a card behaved identically to one that did not. Wonder Todos' enterprise plan\n * (`true`) and professional plan (`false`) were indistinguishable at the provider.\n *\n * Two provider-side consequences follow and a connector should honour both: collect the payment\n * method during checkout, and decide what happens if the trial ends without one.\n */\n requirePaymentMethodForTrial?: boolean;\n metadata?: Record<string, string>;\n}\n\nexport interface StandardBilling_CreateCheckoutSessionResponse {\n /** Redirect URL for the hosted checkout page */\n url: string;\n sessionId: string;\n}\n\nexport interface StandardBilling_CreateCustomerPortalSessionResponse {\n /** Redirect URL for the customer portal */\n url: string;\n}\n\n// ── Usage Reporting (METERED products via Billing Meter Events) ─\n\nexport interface StandardBilling_ReportUsageRequest {\n /** Meter event name (corresponds to the meter's event_name) */\n meterEventName: string;\n /** Provider customer ID (maps to payload.stripe_customer_id in Stripe) */\n providerCustomerId: string;\n /** Usage value to report */\n value: number;\n /** Optional event timestamp */\n timestamp?: Date;\n /** Optional unique event identifier (for idempotency) */\n identifier?: string;\n}\n\n// ── Promotions ──────────────────────────────────────────────────\n\nexport interface StandardBilling_CreateCouponRequest {\n /** Discount amount in smallest currency unit (for fixed discounts) */\n amountOff?: number;\n /** Discount percentage (for percentage discounts) */\n percentOff?: number;\n currency?: string;\n duration: 'once' | 'repeating' | 'forever';\n durationInMonths?: number;\n maxRedemptions?: number;\n metadata?: Record<string, string>;\n}\n\nexport interface StandardBilling_CreateCouponResponse {\n providerCouponId: string;\n}\n\nexport interface StandardBilling_CreatePromotionCodeResponse {\n providerPromotionId: string;\n}\n\n// ===============================================================\n// Standard Billing Interface\n// ===============================================================\n\n/**\n * Provider-agnostic billing interface.\n * Each billing provider (Stripe, Paddle, etc.) implements this interface\n * through a transformer that maps canonical operations to provider SDK calls.\n */\nexport interface StandardBilling_Interface {\n // ── Customer (maps to BillingAccount) ──\n createCustomer(request: StandardBilling_CreateCustomerRequest): Promise<StandardBilling_CreateCustomerResponse>;\n updateCustomer(providerCustomerId: string, request: StandardBilling_UpdateCustomerRequest): Promise<void>;\n /**\n * Hard-delete the provider customer.\n *\n * ⚠️ NOT the subject-erasure path. Erasing a subject ANONYMIZES this customer (blank the personal\n * fields, keep the record) because the financial history hanging off it — invoices, subscriptions,\n * usage — is retained under a legal obligation and must stay attributable to its provider record.\n * Deleting the customer would strand exactly the audit trail retention exists to preserve.\n * Reserve this for a genuine account teardown with no retained history.\n */\n deleteCustomer(providerCustomerId: string): Promise<void>;\n\n // ── Payment instruments ──\n /**\n * Stored payment instruments for a customer. Used by subject erasure to enumerate what must be\n * detached; day-to-day management belongs in the provider-hosted portal.\n */\n listPaymentMethods(providerCustomerId: string): Promise<StandardBilling_PaymentMethodSummary[]>;\n /**\n * Detach an instrument from its customer. Detaching does NOT delete the instrument's transaction\n * history at the provider — it stops future charges and unlinks it from the customer, which is\n * what erasure needs and what the retained invoice record requires.\n */\n detachPaymentMethod(providerPaymentMethodId: string): Promise<void>;\n\n // ── Product/Price sync (Wildo → Provider) ──\n syncProduct(request: StandardBilling_SyncProductRequest): Promise<StandardBilling_SyncProductResponse>;\n syncPrice(request: StandardBilling_SyncPriceRequest): Promise<StandardBilling_SyncPriceResponse>;\n\n // ── Subscription lifecycle ──\n // NOTE: User-initiated plan changes, cancellation, and payment method management\n // should use createCustomerPortalSession() instead of calling these directly.\n // These methods are for: initial checkout completion, backend-driven upgrades,\n // admin-triggered changes, and webhook-driven updates.\n createSubscription(request: StandardBilling_CreateSubscriptionRequest): Promise<StandardBilling_CreateSubscriptionResponse>;\n updateSubscription(providerSubscriptionId: string, request: StandardBilling_UpdateSubscriptionRequest): Promise<void>;\n cancelSubscription(providerSubscriptionId: string, options?: StandardBilling_CancelSubscriptionOptions): Promise<void>;\n pauseSubscription(providerSubscriptionId: string): Promise<void>;\n resumeSubscription(providerSubscriptionId: string): Promise<void>;\n\n // ── Read/sync (for reconciliation and upcoming cost preview) ──\n /** On-demand retrieval for reconciliation (if webhook missed) */\n retrieveSubscription(providerSubscriptionId: string): Promise<StandardBilling_SubscriptionData>;\n /** Preview prorated cost of a plan change before user commits */\n retrieveUpcomingInvoice(providerSubscriptionId: string, newPriceId?: string): Promise<StandardBilling_InvoicePreview>;\n /**\n * Invoices the provider holds for one customer, newest first.\n *\n * The RECOVERY read for {@link StandardBilling_EventType.INVOICE_PAID} and its siblings. Wildo\n * never creates an invoice — every local `invoiceRefs` row exists because a webhook arrived — so a\n * delivery that is lost, or that arrives while the application is down and exhausts the provider's\n * retries, leaves an invoice with no local trace and nothing that could notice. This is the only\n * call that can find one.\n *\n * `limit` bounds one page and an adapter may cap it lower; the sweep asks for a recent window\n * rather than the whole history, because an invoice older than the window has either been\n * reconciled already or is a backlog no single tick should try to drain.\n */\n listInvoices(providerCustomerId: string, options?: { limit?: number }): Promise<StandardBilling_InvoiceData[]>;\n\n // ── Provider-hosted UI (primary user-facing interactions) ──\n /** Hosted checkout page — NO Stripe Elements needed, no PCI scope */\n createCheckoutSession(request: StandardBilling_CreateCheckoutSessionRequest): Promise<StandardBilling_CreateCheckoutSessionResponse>;\n /** Customer portal for: invoices, payment methods, billing address, cancel */\n createCustomerPortalSession(providerCustomerId: string, returnUrl: string): Promise<StandardBilling_CreateCustomerPortalSessionResponse>;\n\n // ── Usage reporting (for METERED products) ──\n reportUsage(request: StandardBilling_ReportUsageRequest): Promise<void>;\n\n // ── Webhooks ──\n /** HTTP header name that carries the webhook signature (e.g., 'stripe-signature') */\n readonly webhookSignatureHeaderName: string;\n verifyWebhookSignature(payload: string | Uint8Array, signature: string, secret: string): boolean;\n /** Parse a raw webhook payload into a canonical event. Returns null for unknown/unhandled event types. */\n parseWebhookEvent(payload: string | Uint8Array): StandardBilling_WebhookEvent | null;\n\n // ── Promotions (synced to provider) ──\n createCoupon(request: StandardBilling_CreateCouponRequest): Promise<StandardBilling_CreateCouponResponse>;\n createPromotionCode(providerCouponId: string, code: string): Promise<StandardBilling_CreatePromotionCodeResponse>;\n}\n"]}
@@ -297,8 +297,8 @@ export declare const EmailProvider_CampaignOutputSchema: z.ZodObject<{
297
297
  id: z.ZodString;
298
298
  status: z.ZodEnum<{
299
299
  cancelled: "cancelled";
300
- sent: "sent";
301
300
  draft: "draft";
301
+ sent: "sent";
302
302
  scheduled: "scheduled";
303
303
  sending: "sending";
304
304
  }>;
@@ -294,8 +294,8 @@ export declare const StandardMarketing_CampaignResponseSchema: z.ZodObject<{
294
294
  providerCampaignId: z.ZodOptional<z.ZodString>;
295
295
  status: z.ZodEnum<{
296
296
  cancelled: "cancelled";
297
- sent: "sent";
298
297
  draft: "draft";
298
+ sent: "sent";
299
299
  scheduled: "scheduled";
300
300
  sending: "sending";
301
301
  }>;
@@ -325,14 +325,14 @@ export declare const StandardEmail_ErrorSchema: z.ZodObject<{
325
325
  code: z.ZodEnum<{
326
326
  VALIDATION_ERROR: "VALIDATION_ERROR";
327
327
  PROVIDER_ERROR: "PROVIDER_ERROR";
328
- RATE_LIMIT_EXCEEDED: "RATE_LIMIT_EXCEEDED";
329
- AUTHENTICATION_FAILED: "AUTHENTICATION_FAILED";
330
- QUOTA_EXCEEDED: "QUOTA_EXCEEDED";
331
- UNKNOWN_ERROR: "UNKNOWN_ERROR";
332
328
  CAPABILITY_NOT_SUPPORTED: "CAPABILITY_NOT_SUPPORTED";
333
329
  MARKETING_NOT_SUPPORTED: "MARKETING_NOT_SUPPORTED";
334
330
  SCHEDULING_NOT_SUPPORTED: "SCHEDULING_NOT_SUPPORTED";
335
331
  TEMPLATE_NOT_FOUND: "TEMPLATE_NOT_FOUND";
332
+ RATE_LIMIT_EXCEEDED: "RATE_LIMIT_EXCEEDED";
333
+ AUTHENTICATION_FAILED: "AUTHENTICATION_FAILED";
334
+ QUOTA_EXCEEDED: "QUOTA_EXCEEDED";
335
+ UNKNOWN_ERROR: "UNKNOWN_ERROR";
336
336
  }>;
337
337
  message: z.ZodString;
338
338
  provider: z.ZodOptional<z.ZodString>;
@@ -1,14 +0,0 @@
1
- import { z } from "zod";
2
- import { ExternalProvider_ExchangeProtocol_Configuration_Base, ExternalProvider_ExchangeProtocol_Kind, ExternalProvider_ExchangeProtocol_Profile_Base } from "../core/commons.external-connectors-models.schemas";
3
- import { ExternalProvider_OperationDefinition_Base } from "../core/operations.external-connectors-models.schemas";
4
- export type GitProvider_Profile = ExternalProvider_ExchangeProtocol_Profile_Base;
5
- export type GitProvider_Configuration = ExternalProvider_ExchangeProtocol_Configuration_Base;
6
- export type GitProvider_Operation = ExternalProvider_OperationDefinition_Base;
7
- export declare const GitProvider_StatusSchema: z.ZodObject<{
8
- status: z.ZodEnum<typeof import("..").ExternalProvider_Status>;
9
- lastCheckedAt: z.ZodString;
10
- errorReason: z.ZodOptional<z.ZodString>;
11
- protocolKind: z.ZodLiteral<ExternalProvider_ExchangeProtocol_Kind.GIT_PROVIDER>;
12
- }, z.core.$strip>;
13
- export type GitProvider_Status = z.infer<typeof GitProvider_StatusSchema>;
14
- //# sourceMappingURL=git.external-connectors-models.schemas.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"git.external-connectors-models.schemas.d.ts","sourceRoot":"","sources":["../../../../src/protocols/git.external-connectors-models.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,oDAAoD,EAAE,sCAAsC,EAAE,8CAA8C,EAAuD,MAAM,oDAAoD,CAAA;AACtQ,OAAO,EAAE,yCAAyC,EAAE,MAAM,uDAAuD,CAAC;AAElH,MAAM,MAAM,mBAAmB,GAAG,8CAA8C,CAAC;AAEjF,MAAM,MAAM,yBAAyB,GAAG,oDAAoD,CAAC;AAE7F,MAAM,MAAM,qBAAqB,GAAG,yCAAyC,CAAC;AAM9E,eAAO,MAAM,wBAAwB;;;;;iBAEnC,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC"}
@@ -1,9 +0,0 @@
1
- import { z } from "zod";
2
- import { ExternalProvider_ExchangeProtocol_Kind, ExternalProvider_ExchangeProtocol_Status_BaseSchema } from "../core/commons.external-connectors-models.schemas.js";
3
- //===============================================================
4
- // STATUS
5
- //===============================================================
6
- export const GitProvider_StatusSchema = ExternalProvider_ExchangeProtocol_Status_BaseSchema.extend({
7
- protocolKind: z.literal(ExternalProvider_ExchangeProtocol_Kind.GIT_PROVIDER),
8
- });
9
- //# sourceMappingURL=git.external-connectors-models.schemas.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"git.external-connectors-models.schemas.js","sourceRoot":"","sources":["../../../../src/protocols/git.external-connectors-models.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAwD,sCAAsC,EAAkD,mDAAmD,EAAE,MAAM,oDAAoD,CAAA;AAStQ,iEAAiE;AACjE,SAAS;AACT,iEAAiE;AAEjE,MAAM,CAAC,MAAM,wBAAwB,GAAG,mDAAmD,CAAC,MAAM,CAAC;IACjG,YAAY,EAAE,CAAC,CAAC,OAAO,CAAC,sCAAsC,CAAC,YAAY,CAAC;CAC7E,CAAC,CAAC","sourcesContent":["import { z } from \"zod\"\n\nimport { ExternalProvider_ExchangeProtocol_Configuration_Base, ExternalProvider_ExchangeProtocol_Kind, ExternalProvider_ExchangeProtocol_Profile_Base, ExternalProvider_ExchangeProtocol_Status_BaseSchema } from \"../core/commons.external-connectors-models.schemas\"\nimport { ExternalProvider_OperationDefinition_Base } from \"../core/operations.external-connectors-models.schemas\";\n\nexport type GitProvider_Profile = ExternalProvider_ExchangeProtocol_Profile_Base;\n\nexport type GitProvider_Configuration = ExternalProvider_ExchangeProtocol_Configuration_Base;\n\nexport type GitProvider_Operation = ExternalProvider_OperationDefinition_Base;\n\n//===============================================================\n// STATUS\n//===============================================================\n\nexport const GitProvider_StatusSchema = ExternalProvider_ExchangeProtocol_Status_BaseSchema.extend({\n protocolKind: z.literal(ExternalProvider_ExchangeProtocol_Kind.GIT_PROVIDER),\n});\nexport type GitProvider_Status = z.infer<typeof GitProvider_StatusSchema>;"]}
@@ -1,14 +0,0 @@
1
- import { z } from "zod";
2
- import { ExternalProvider_ExchangeProtocol_Configuration_Base, ExternalProvider_ExchangeProtocol_Kind, ExternalProvider_ExchangeProtocol_Profile_Base } from "../core/commons.external-connectors-models.schemas";
3
- import { ExternalProvider_OperationDefinition_Base } from "../core/operations.external-connectors-models.schemas";
4
- export type GrpcProvider_Profile = ExternalProvider_ExchangeProtocol_Profile_Base;
5
- export type GrpcProvider_Configuration = ExternalProvider_ExchangeProtocol_Configuration_Base;
6
- export type GrpcProvider_Operation = ExternalProvider_OperationDefinition_Base;
7
- export declare const GrpcProvider_StatusSchema: z.ZodObject<{
8
- status: z.ZodEnum<typeof import("..").ExternalProvider_Status>;
9
- lastCheckedAt: z.ZodString;
10
- errorReason: z.ZodOptional<z.ZodString>;
11
- protocolKind: z.ZodLiteral<ExternalProvider_ExchangeProtocol_Kind.GRPC>;
12
- }, z.core.$strip>;
13
- export type GrpcProvider_Status = z.infer<typeof GrpcProvider_StatusSchema>;
14
- //# sourceMappingURL=grpc.external-connectors-models.schemas.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"grpc.external-connectors-models.schemas.d.ts","sourceRoot":"","sources":["../../../../src/protocols/grpc.external-connectors-models.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,oDAAoD,EAAE,sCAAsC,EAAE,8CAA8C,EAAuD,MAAM,oDAAoD,CAAC;AACvQ,OAAO,EAAE,yCAAyC,EAAE,MAAM,uDAAuD,CAAC;AAElH,MAAM,MAAM,oBAAoB,GAAG,8CAA8C,CAAC;AAElF,MAAM,MAAM,0BAA0B,GAAG,oDAAoD,CAAC;AAE9F,MAAM,MAAM,sBAAsB,GAAG,yCAAyC,CAAC;AAM/E,eAAO,MAAM,yBAAyB;;;;;iBAEpC,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC"}
@@ -1,9 +0,0 @@
1
- import { z } from "zod";
2
- import { ExternalProvider_ExchangeProtocol_Kind, ExternalProvider_ExchangeProtocol_Status_BaseSchema } from "../core/commons.external-connectors-models.schemas.js";
3
- //===============================================================
4
- // STATUS
5
- //===============================================================
6
- export const GrpcProvider_StatusSchema = ExternalProvider_ExchangeProtocol_Status_BaseSchema.extend({
7
- protocolKind: z.literal(ExternalProvider_ExchangeProtocol_Kind.GRPC),
8
- });
9
- //# sourceMappingURL=grpc.external-connectors-models.schemas.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"grpc.external-connectors-models.schemas.js","sourceRoot":"","sources":["../../../../src/protocols/grpc.external-connectors-models.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAwD,sCAAsC,EAAkD,mDAAmD,EAAE,MAAM,oDAAoD,CAAC;AASvQ,iEAAiE;AACjE,SAAS;AACT,iEAAiE;AAEjE,MAAM,CAAC,MAAM,yBAAyB,GAAG,mDAAmD,CAAC,MAAM,CAAC;IAClG,YAAY,EAAE,CAAC,CAAC,OAAO,CAAC,sCAAsC,CAAC,IAAI,CAAC;CACrE,CAAC,CAAC","sourcesContent":["import { z } from \"zod\";\nimport { ExternalProvider_ExchangeProtocol_Configuration_Base, ExternalProvider_ExchangeProtocol_Kind, ExternalProvider_ExchangeProtocol_Profile_Base, ExternalProvider_ExchangeProtocol_Status_BaseSchema } from \"../core/commons.external-connectors-models.schemas\";\nimport { ExternalProvider_OperationDefinition_Base } from \"../core/operations.external-connectors-models.schemas\";\n\nexport type GrpcProvider_Profile = ExternalProvider_ExchangeProtocol_Profile_Base;\n\nexport type GrpcProvider_Configuration = ExternalProvider_ExchangeProtocol_Configuration_Base;\n\nexport type GrpcProvider_Operation = ExternalProvider_OperationDefinition_Base;\n\n//===============================================================\n// STATUS\n//===============================================================\n\nexport const GrpcProvider_StatusSchema = ExternalProvider_ExchangeProtocol_Status_BaseSchema.extend({\n protocolKind: z.literal(ExternalProvider_ExchangeProtocol_Kind.GRPC),\n});\nexport type GrpcProvider_Status = z.infer<typeof GrpcProvider_StatusSchema>;"]}
@@ -0,0 +1,101 @@
1
+ /**
2
+ * Hook Protocol Feature Types
3
+ *
4
+ * Standard types for the webhook processing pipeline:
5
+ * - StandardHook_ParsedEvent: Provider-agnostic parsed event
6
+ * - StandardHook_ResolvedScope: Resolved engine scope from event
7
+ * - WebhookCapabilityAdapter: Runtime contract for verify + parse
8
+ * - WebhookCapabilityHandler: Dispatches processed events to business logic
9
+ * - Hook_ScopeResolverStrategy: Escape hatch for custom scope resolution
10
+ */
11
+ /**
12
+ * A webhook event normalized to a provider-agnostic format.
13
+ * Produced by WebhookCapabilityAdapter.parseEvent().
14
+ */
15
+ export interface StandardHook_ParsedEvent {
16
+ /** Unique event ID from the provider (for idempotency) */
17
+ eventId: string;
18
+ /** Standardized event type (e.g., 'SUBSCRIPTION_CREATED') */
19
+ eventType: string;
20
+ /** Original provider event type (e.g., 'customer.subscription.created') */
21
+ providerEventType: string;
22
+ /** Provider reference (e.g., 'stripe', 'google') */
23
+ providerRef: string;
24
+ /** Endpoint key this event was received on (e.g., 'billing', 'calendar') */
25
+ endpointKey: string;
26
+ /** Parsed event payload (provider-specific structure) */
27
+ payload: unknown;
28
+ /** Raw event payload as received (for scope ID extraction via dot-path) */
29
+ rawPayload: unknown;
30
+ /** Event timestamp */
31
+ timestamp: Date | string;
32
+ }
33
+ /**
34
+ * Framework scope resolved from a webhook event.
35
+ * Maps to ExecutionContext initiatorIds fields.
36
+ */
37
+ export interface StandardHook_ResolvedScope {
38
+ applicationId?: string;
39
+ organizationId?: string;
40
+ userId?: string;
41
+ /** Additional provider-specific scope IDs for audit/debug */
42
+ providerScopeIds?: Record<string, string>;
43
+ }
44
+ /**
45
+ * Adapter that bridges a capability-specific transformer
46
+ * (e.g., StandardBilling_Interface) to the generic webhook pipeline.
47
+ *
48
+ * Each capability implements one adapter. The adapter normalizes
49
+ * capability-specific verify/parse methods into the standard pipeline contract.
50
+ *
51
+ * Example: BillingWebhookAdapter wraps Stripe_BillingTransformer.verifyWebhookSignature()
52
+ * and parseWebhookEvent() into the standard interface.
53
+ */
54
+ export interface WebhookCapabilityAdapter {
55
+ /** Verify the webhook signature using the capability's verification logic */
56
+ verifySignature(rawBody: string | Uint8Array, signatureHeader: string, secret: string): boolean | Promise<boolean>;
57
+ /**
58
+ * Parse the raw webhook body into a StandardHook_ParsedEvent.
59
+ * Returns null if the event type is unknown/unsupported (acknowledged but not processed).
60
+ */
61
+ parseEvent(rawBody: string | Uint8Array, headers: Record<string, string>): StandardHook_ParsedEvent | null;
62
+ }
63
+ /**
64
+ * Handles processed webhook events for a specific capability.
65
+ * Dispatches to business logic (e.g., BillingWebhookEventRouter) with the ExecutionContext.
66
+ *
67
+ * Registered at startup and matched by endpoint capability.
68
+ */
69
+ export interface WebhookCapabilityHandler {
70
+ /** Which capability this handler serves (e.g., 'billing', 'calendar') */
71
+ readonly capability: string;
72
+ /**
73
+ * Handle the processed webhook event with its execution context.
74
+ * The executionContext carries the resolved scope and can be used for all DB operations.
75
+ */
76
+ handleEvent(executionContext: unknown, // ExecutionContext<any> — typed as unknown to avoid circular dependency
77
+ parsedEvent: StandardHook_ParsedEvent): Promise<void>;
78
+ }
79
+ /**
80
+ * Optional override for scope resolution when the declarative
81
+ * Hook_EndpointScopeBinding config is insufficient.
82
+ *
83
+ * Register with WebhookHandlerBackendService.registerCustomScopeResolver()
84
+ * to override the generic declarative resolver for a specific endpoint.
85
+ *
86
+ * Use cases:
87
+ * - Different event types within the same endpoint have scope IDs at different payload paths
88
+ * - Complex multi-step scope resolution logic
89
+ * - Provider-specific edge cases
90
+ */
91
+ export interface Hook_ScopeResolverStrategy {
92
+ /** Provider reference this resolver handles */
93
+ readonly providerRef: string;
94
+ /** Endpoint key this resolver handles */
95
+ readonly endpointKey: string;
96
+ /** Resolve the engine scope from a parsed event */
97
+ resolveScope(parsedEvent: StandardHook_ParsedEvent): Promise<StandardHook_ResolvedScope>;
98
+ /** Whether scope resolution is required for this event type (affects error handling) */
99
+ isScopeRequired(eventType: string): boolean;
100
+ }
101
+ //# sourceMappingURL=hooks-capability.external-connectors-models.schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks-capability.external-connectors-models.schemas.d.ts","sourceRoot":"","sources":["../../../../src/protocols/hooks-capability.external-connectors-models.schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACvC,0DAA0D;IAC1D,OAAO,EAAE,MAAM,CAAC;IAChB,6DAA6D;IAC7D,SAAS,EAAE,MAAM,CAAC;IAClB,2EAA2E;IAC3E,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oDAAoD;IACpD,WAAW,EAAE,MAAM,CAAC;IACpB,4EAA4E;IAC5E,WAAW,EAAE,MAAM,CAAC;IACpB,yDAAyD;IACzD,OAAO,EAAE,OAAO,CAAC;IACjB,2EAA2E;IAC3E,UAAU,EAAE,OAAO,CAAC;IACpB,sBAAsB;IACtB,SAAS,EAAE,IAAI,GAAG,MAAM,CAAC;CAC1B;AAMD;;;GAGG;AACH,MAAM,WAAW,0BAA0B;IACzC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6DAA6D;IAC7D,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC3C;AAMD;;;;;;;;;GASG;AACH,MAAM,WAAW,wBAAwB;IACvC,6EAA6E;IAC7E,eAAe,CACb,OAAO,EAAE,MAAM,GAAG,UAAU,EAC5B,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,MAAM,GACb,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE9B;;;OAGG;IACH,UAAU,CACR,OAAO,EAAE,MAAM,GAAG,UAAU,EAC5B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,wBAAwB,GAAG,IAAI,CAAC;CACpC;AAMD;;;;;GAKG;AACH,MAAM,WAAW,wBAAwB;IACvC,yEAAyE;IACzE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B;;;OAGG;IACH,WAAW,CACT,gBAAgB,EAAE,OAAO,EAAE,wEAAwE;IACnG,WAAW,EAAE,wBAAwB,GACpC,OAAO,CAAC,IAAI,CAAC,CAAC;CAClB;AAMD;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,0BAA0B;IACzC,+CAA+C;IAC/C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,yCAAyC;IACzC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B,mDAAmD;IACnD,YAAY,CAAC,WAAW,EAAE,wBAAwB,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;IAEzF,wFAAwF;IACxF,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;CAC7C"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Hook Protocol Feature Types
3
+ *
4
+ * Standard types for the webhook processing pipeline:
5
+ * - StandardHook_ParsedEvent: Provider-agnostic parsed event
6
+ * - StandardHook_ResolvedScope: Resolved engine scope from event
7
+ * - WebhookCapabilityAdapter: Runtime contract for verify + parse
8
+ * - WebhookCapabilityHandler: Dispatches processed events to business logic
9
+ * - Hook_ScopeResolverStrategy: Escape hatch for custom scope resolution
10
+ */
11
+ //# sourceMappingURL=hooks-capability.external-connectors-models.schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks-capability.external-connectors-models.schemas.js","sourceRoot":"","sources":["../../../../src/protocols/hooks-capability.external-connectors-models.schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG","sourcesContent":["/**\n * Hook Protocol Feature Types\n * \n * Standard types for the webhook processing pipeline:\n * - StandardHook_ParsedEvent: Provider-agnostic parsed event\n * - StandardHook_ResolvedScope: Resolved engine scope from event\n * - WebhookCapabilityAdapter: Runtime contract for verify + parse\n * - WebhookCapabilityHandler: Dispatches processed events to business logic\n * - Hook_ScopeResolverStrategy: Escape hatch for custom scope resolution\n */\n\n// ===============================================================\n// Standard Parsed Event (Provider-Agnostic)\n// ===============================================================\n\n/**\n * A webhook event normalized to a provider-agnostic format.\n * Produced by WebhookCapabilityAdapter.parseEvent().\n */\nexport interface StandardHook_ParsedEvent {\n /** Unique event ID from the provider (for idempotency) */\n eventId: string;\n /** Standardized event type (e.g., 'SUBSCRIPTION_CREATED') */\n eventType: string;\n /** Original provider event type (e.g., 'customer.subscription.created') */\n providerEventType: string;\n /** Provider reference (e.g., 'stripe', 'google') */\n providerRef: string;\n /** Endpoint key this event was received on (e.g., 'billing', 'calendar') */\n endpointKey: string;\n /** Parsed event payload (provider-specific structure) */\n payload: unknown;\n /** Raw event payload as received (for scope ID extraction via dot-path) */\n rawPayload: unknown;\n /** Event timestamp */\n timestamp: Date | string;\n}\n\n// ===============================================================\n// Standard Resolved Scope\n// ===============================================================\n\n/**\n * Framework scope resolved from a webhook event.\n * Maps to ExecutionContext initiatorIds fields.\n */\nexport interface StandardHook_ResolvedScope {\n applicationId?: string;\n organizationId?: string;\n userId?: string;\n /** Additional provider-specific scope IDs for audit/debug */\n providerScopeIds?: Record<string, string>;\n}\n\n// ===============================================================\n// Webhook Capability Adapter\n// ===============================================================\n\n/**\n * Adapter that bridges a capability-specific transformer\n * (e.g., StandardBilling_Interface) to the generic webhook pipeline.\n * \n * Each capability implements one adapter. The adapter normalizes\n * capability-specific verify/parse methods into the standard pipeline contract.\n * \n * Example: BillingWebhookAdapter wraps Stripe_BillingTransformer.verifyWebhookSignature()\n * and parseWebhookEvent() into the standard interface.\n */\nexport interface WebhookCapabilityAdapter {\n /** Verify the webhook signature using the capability's verification logic */\n verifySignature(\n rawBody: string | Uint8Array, \n signatureHeader: string, \n secret: string\n ): boolean | Promise<boolean>;\n\n /** \n * Parse the raw webhook body into a StandardHook_ParsedEvent.\n * Returns null if the event type is unknown/unsupported (acknowledged but not processed).\n */\n parseEvent(\n rawBody: string | Uint8Array, \n headers: Record<string, string>\n ): StandardHook_ParsedEvent | null;\n}\n\n// ===============================================================\n// Webhook Capability Handler\n// ===============================================================\n\n/**\n * Handles processed webhook events for a specific capability.\n * Dispatches to business logic (e.g., BillingWebhookEventRouter) with the ExecutionContext.\n * \n * Registered at startup and matched by endpoint capability.\n */\nexport interface WebhookCapabilityHandler {\n /** Which capability this handler serves (e.g., 'billing', 'calendar') */\n readonly capability: string;\n\n /** \n * Handle the processed webhook event with its execution context.\n * The executionContext carries the resolved scope and can be used for all DB operations.\n */\n handleEvent(\n executionContext: unknown, // ExecutionContext<any> — typed as unknown to avoid circular dependency\n parsedEvent: StandardHook_ParsedEvent\n ): Promise<void>;\n}\n\n// ===============================================================\n// Hook Scope Resolver Strategy (Escape Hatch)\n// ===============================================================\n\n/**\n * Optional override for scope resolution when the declarative\n * Hook_EndpointScopeBinding config is insufficient.\n * \n * Register with WebhookHandlerBackendService.registerCustomScopeResolver()\n * to override the generic declarative resolver for a specific endpoint.\n * \n * Use cases:\n * - Different event types within the same endpoint have scope IDs at different payload paths\n * - Complex multi-step scope resolution logic\n * - Provider-specific edge cases\n */\nexport interface Hook_ScopeResolverStrategy {\n /** Provider reference this resolver handles */\n readonly providerRef: string;\n /** Endpoint key this resolver handles */\n readonly endpointKey: string;\n\n /** Resolve the engine scope from a parsed event */\n resolveScope(parsedEvent: StandardHook_ParsedEvent): Promise<StandardHook_ResolvedScope>;\n\n /** Whether scope resolution is required for this event type (affects error handling) */\n isScopeRequired(eventType: string): boolean;\n}\n"]}
@@ -26,9 +26,11 @@ export declare enum LLM_Model {
26
26
  OPEN_AI_GPT_3_5_TURBO = "gpt-3.5-turbo",
27
27
  /** Anthropic's most intelligent generally-available model (Claude 5 family, Mythos-class tier). */
28
28
  CLAUDE_FABLE_5 = "claude-fable-5",
29
+ /** Claude 5 family Opus tier. Same no-sampling-params contract as the rest of the family. */
30
+ CLAUDE_OPUS_5 = "claude-opus-5",
29
31
  /** Claude 5 family workhorse. */
30
32
  CLAUDE_SONNET_5 = "claude-sonnet-5",
31
- /** Latest Opus-tier model (4.x line). */
33
+ /** Opus 4.x line (superseded by CLAUDE_OPUS_5 as the Opus tier). */
32
34
  CLAUDE_OPUS_4_8 = "claude-opus-4-8",
33
35
  CLAUDE_SONNET_4_5 = "claude-sonnet-4-5",
34
36
  CLAUDE_HAIKU_4_5 = "claude-haiku-4-5",
@@ -88,8 +90,14 @@ export declare enum LLM_Model_Thinking_Capability {
88
90
  OPTIONAL = "optional",
89
91
  /**
90
92
  * The model ALWAYS reasons and thinking CANNOT be disabled (o-series,
91
- * Claude 5). Every effort is valid EXCEPT `NONE` — asking such a model not to
92
- * think is a provider error, not a preference.
93
+ * `claude-fable-5`). Every effort is valid EXCEPT `NONE` — asking such a model
94
+ * not to think is a provider error, not a preference.
95
+ *
96
+ * NOT a property of a model FAMILY: measured 2026-09-08, `claude-fable-5`
97
+ * refuses `thinking.type.disabled` while `claude-sonnet-5` and
98
+ * `claude-opus-5` accept it. Both siblings carried this value on the family's
99
+ * behalf for a month, which made `validateReasoningEffortForModel` refuse a
100
+ * configuration the provider would have honoured.
93
101
  */
94
102
  ALWAYS = "always"
95
103
  }
@@ -256,8 +264,8 @@ export type LLMProvider_ToolChoice = z.infer<typeof LLMProvider_ToolChoice_Schem
256
264
  * OpenAI o-series, Claude 5 thinking, Gemini reasoning, …). The values mirror
257
265
  * the AI SDK 7 top-level `reasoning` option EXACTLY, which the SDK translates to
258
266
  * each provider's native reasoning setting (OpenAI `reasoning_effort`, Anthropic
259
- * thinking budget, …). Omit for non-reasoning models or to accept the provider
260
- * default.
267
+ * `output_config.effort`, …). Omit for non-reasoning models or to accept the
268
+ * provider default.
261
269
  *
262
270
  * Effort ladder (cost/latency ↑ with depth):
263
271
  * - `NONE` — reasoning off; mechanical tasks (extraction, formatting, labelling).
@@ -268,20 +276,30 @@ export type LLMProvider_ToolChoice = z.infer<typeof LLMProvider_ToolChoice_Schem
268
276
  * - `PROVIDER_DEFAULT` — explicitly defer to the model's own default effort.
269
277
  *
270
278
  * NOT EVERY MODEL SUPPORTS EVERY LEVEL — the SDK forwards the value and the
271
- * provider validates it. Support matrix VERIFIED LIVE (2026-07-16/17); pick a
272
- * level the target model actually supports:
273
- *
274
- * | Model family | Supported | Rejected |
275
- * |---------------------|------------------------------------|--------------------------------|
276
- * | OpenAI GPT-5.6 | none, low, medium, high, xhigh | `minimal`, `max` |
277
- * | Anthropic Claude 5 | low, medium, high, xhigh | **`none`** — thinking CANNOT |
278
- * | (fable-5, …) | | be disabled ("thinking.type. |
279
- * | | | disabled is not supported…"; |
280
- * | | | defaults to adaptive) |
281
- *
282
- * ⚠️ `NONE` is therefore NOT portable: it turns reasoning off on GPT-5.6 but
283
- * ERRORS on Claude 5. `PROVIDER_DEFAULT` as an explicit value is also rejected
284
- * by GPT-5.6 — omit the field entirely for the model's default instead.
279
+ * provider validates it. Support matrix VERIFIED LIVE (2026-09-08), per MODEL
280
+ * rather than per family, because the family is not uniform:
281
+ *
282
+ * | Model | Supported | Rejected |
283
+ * |--------------------------------------|---------------------------------|-------------------------------|
284
+ * | GPT-5.6 sol / terra / luna | none, low, medium, high, xhigh | `minimal`, `provider-default` |
285
+ * | claude-fable-5 | low, medium, high, xhigh | **`none`**, `minimal`, `provider-default` |
286
+ * | claude-sonnet-5 · claude-opus-5 | none, low, medium, high, xhigh | `minimal`, `provider-default` |
287
+ *
288
+ * ⚠️ `NONE` is NOT portable, but the line is finer than "OpenAI yes, Anthropic
289
+ * no": `claude-fable-5` alone refuses it. Its siblings accept it, so a level
290
+ * that is legal on `claude-sonnet-5` can still be illegal on `claude-fable-5` —
291
+ * which is why the capability is a per-model probed fact and never a family
292
+ * assumption. `PROVIDER_DEFAULT` is rejected as an explicit value by BOTH
293
+ * providers — omit the field entirely for the model's own default.
294
+ *
295
+ * How each provider expresses this natively, since the vocabularies differ and
296
+ * Anthropic's changed: OpenAI takes `reasoning_effort: <level>`. Anthropic
297
+ * takes `thinking: {type:'disabled'}` for `NONE`, and otherwise
298
+ * `thinking: {type:'adaptive'}` + `output_config: {effort: <level>}` — its
299
+ * accepted set is `low|medium|high|xhigh|max`, so `max` exists there and is
300
+ * deliberately NOT an enum member (OpenAI rejects it, and a level only one
301
+ * provider honours would not be portable). The older
302
+ * `thinking: {type:'enabled', budget_tokens}` form is RETIRED and now 400s.
285
303
  */
286
304
  export declare enum LLMProvider_ReasoningEffort {
287
305
  PROVIDER_DEFAULT = "provider-default",
@@ -494,7 +512,8 @@ export declare const validateReasoningEffortForModel: (model: string, effort: LL
494
512
  * REJECTS an explicit `temperature`).
495
513
  */
496
514
  export declare const LLMProvider_OperationModelConfiguration_Schema: z.ZodObject<{
497
- model: z.ZodString;
515
+ model: z.ZodOptional<z.ZodString>;
516
+ modelApplicability: z.ZodOptional<z.ZodEnum<typeof LLM_Model_Applicability>>;
498
517
  providerRef: z.ZodString;
499
518
  temperature: z.ZodOptional<z.ZodNumber>;
500
519
  maxTokens: z.ZodOptional<z.ZodNumber>;
@@ -1 +1 @@
1
- {"version":3,"file":"llm.external-connectors-models.schemas.d.ts","sourceRoot":"","sources":["../../../../src/protocols/llm.external-connectors-models.schemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"llm.external-connectors-models.schemas.d.ts","sourceRoot":"","sources":["../../../../src/protocols/llm.external-connectors-models.schemas.ts"],"names":[],"mappings":"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"}