@contractspec/integration.providers-impls 1.44.0

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 (100) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +20 -0
  3. package/dist/_virtual/rolldown_runtime.js +36 -0
  4. package/dist/calendar.d.ts +8 -0
  5. package/dist/calendar.d.ts.map +1 -0
  6. package/dist/calendar.js +3 -0
  7. package/dist/email.d.ts +8 -0
  8. package/dist/email.d.ts.map +1 -0
  9. package/dist/email.js +3 -0
  10. package/dist/embedding.d.ts +8 -0
  11. package/dist/embedding.d.ts.map +1 -0
  12. package/dist/embedding.js +3 -0
  13. package/dist/impls/elevenlabs-voice.d.ts +21 -0
  14. package/dist/impls/elevenlabs-voice.d.ts.map +1 -0
  15. package/dist/impls/elevenlabs-voice.js +93 -0
  16. package/dist/impls/elevenlabs-voice.js.map +1 -0
  17. package/dist/impls/gcs-storage.d.ts +25 -0
  18. package/dist/impls/gcs-storage.d.ts.map +1 -0
  19. package/dist/impls/gcs-storage.js +90 -0
  20. package/dist/impls/gcs-storage.js.map +1 -0
  21. package/dist/impls/gmail-inbound.d.ts +27 -0
  22. package/dist/impls/gmail-inbound.d.ts.map +1 -0
  23. package/dist/impls/gmail-inbound.js +201 -0
  24. package/dist/impls/gmail-inbound.js.map +1 -0
  25. package/dist/impls/gmail-outbound.d.ts +19 -0
  26. package/dist/impls/gmail-outbound.d.ts.map +1 -0
  27. package/dist/impls/gmail-outbound.js +106 -0
  28. package/dist/impls/gmail-outbound.js.map +1 -0
  29. package/dist/impls/google-calendar.d.ts +24 -0
  30. package/dist/impls/google-calendar.d.ts.map +1 -0
  31. package/dist/impls/google-calendar.js +155 -0
  32. package/dist/impls/google-calendar.js.map +1 -0
  33. package/dist/impls/index.d.ts +15 -0
  34. package/dist/impls/index.js +16 -0
  35. package/dist/impls/mistral-embedding.d.ts +24 -0
  36. package/dist/impls/mistral-embedding.d.ts.map +1 -0
  37. package/dist/impls/mistral-embedding.js +42 -0
  38. package/dist/impls/mistral-embedding.js.map +1 -0
  39. package/dist/impls/mistral-llm.d.ts +32 -0
  40. package/dist/impls/mistral-llm.d.ts.map +1 -0
  41. package/dist/impls/mistral-llm.js +248 -0
  42. package/dist/impls/mistral-llm.js.map +1 -0
  43. package/dist/impls/postmark-email.d.ts +20 -0
  44. package/dist/impls/postmark-email.d.ts.map +1 -0
  45. package/dist/impls/postmark-email.js +56 -0
  46. package/dist/impls/postmark-email.js.map +1 -0
  47. package/dist/impls/powens-client.d.ts +125 -0
  48. package/dist/impls/powens-client.d.ts.map +1 -0
  49. package/dist/impls/powens-client.js +172 -0
  50. package/dist/impls/powens-client.js.map +1 -0
  51. package/dist/impls/powens-openbanking.d.ts +28 -0
  52. package/dist/impls/powens-openbanking.d.ts.map +1 -0
  53. package/dist/impls/powens-openbanking.js +219 -0
  54. package/dist/impls/powens-openbanking.js.map +1 -0
  55. package/dist/impls/provider-factory.d.ts +27 -0
  56. package/dist/impls/provider-factory.d.ts.map +1 -0
  57. package/dist/impls/provider-factory.js +143 -0
  58. package/dist/impls/provider-factory.js.map +1 -0
  59. package/dist/impls/qdrant-vector.d.ts +25 -0
  60. package/dist/impls/qdrant-vector.d.ts.map +1 -0
  61. package/dist/impls/qdrant-vector.js +72 -0
  62. package/dist/impls/qdrant-vector.js.map +1 -0
  63. package/dist/impls/stripe-payments.d.ts +29 -0
  64. package/dist/impls/stripe-payments.d.ts.map +1 -0
  65. package/dist/impls/stripe-payments.js +203 -0
  66. package/dist/impls/stripe-payments.js.map +1 -0
  67. package/dist/impls/twilio-sms.d.ts +21 -0
  68. package/dist/impls/twilio-sms.d.ts.map +1 -0
  69. package/dist/impls/twilio-sms.js +59 -0
  70. package/dist/impls/twilio-sms.js.map +1 -0
  71. package/dist/index.d.ts +44 -0
  72. package/dist/index.d.ts.map +1 -0
  73. package/dist/index.js +69 -0
  74. package/dist/index.js.map +1 -0
  75. package/dist/llm.d.ts +8 -0
  76. package/dist/llm.d.ts.map +1 -0
  77. package/dist/llm.js +3 -0
  78. package/dist/openbanking.d.ts +8 -0
  79. package/dist/openbanking.d.ts.map +1 -0
  80. package/dist/openbanking.js +3 -0
  81. package/dist/payments.d.ts +8 -0
  82. package/dist/payments.d.ts.map +1 -0
  83. package/dist/payments.js +3 -0
  84. package/dist/runtime.d.ts +2 -0
  85. package/dist/runtime.js +0 -0
  86. package/dist/secrets/provider.d.ts +2 -0
  87. package/dist/secrets/provider.js +3 -0
  88. package/dist/sms.d.ts +8 -0
  89. package/dist/sms.d.ts.map +1 -0
  90. package/dist/sms.js +3 -0
  91. package/dist/storage.d.ts +8 -0
  92. package/dist/storage.d.ts.map +1 -0
  93. package/dist/storage.js +3 -0
  94. package/dist/vector-store.d.ts +8 -0
  95. package/dist/vector-store.d.ts.map +1 -0
  96. package/dist/vector-store.js +3 -0
  97. package/dist/voice.d.ts +8 -0
  98. package/dist/voice.d.ts.map +1 -0
  99. package/dist/voice.js +3 -0
  100. package/package.json +118 -0
@@ -0,0 +1,29 @@
1
+ import { payments_d_exports } from "../payments.js";
2
+ import Stripe from "stripe";
3
+
4
+ //#region src/impls/stripe-payments.d.ts
5
+ interface StripePaymentsProviderOptions {
6
+ apiKey: string;
7
+ stripe?: Stripe;
8
+ }
9
+ declare class StripePaymentsProvider implements payments_d_exports.PaymentsProvider {
10
+ private readonly stripe;
11
+ constructor(options: StripePaymentsProviderOptions);
12
+ createCustomer(input: payments_d_exports.CreateCustomerInput): Promise<payments_d_exports.PaymentCustomer>;
13
+ getCustomer(customerId: string): Promise<payments_d_exports.PaymentCustomer | null>;
14
+ createPaymentIntent(input: payments_d_exports.CreatePaymentIntentInput): Promise<payments_d_exports.PaymentIntent>;
15
+ capturePayment(paymentIntentId: string, input?: payments_d_exports.CapturePaymentInput): Promise<payments_d_exports.PaymentIntent>;
16
+ cancelPaymentIntent(paymentIntentId: string): Promise<payments_d_exports.PaymentIntent>;
17
+ refundPayment(input: payments_d_exports.RefundPaymentInput): Promise<payments_d_exports.PaymentRefund>;
18
+ listInvoices(query?: payments_d_exports.ListInvoicesQuery): Promise<payments_d_exports.PaymentInvoice[]>;
19
+ listTransactions(query?: payments_d_exports.ListTransactionsQuery): Promise<payments_d_exports.PaymentTransaction[]>;
20
+ private toCustomer;
21
+ private toPaymentIntent;
22
+ private toInvoice;
23
+ private toMoney;
24
+ private toMetadata;
25
+ private mergeMetadata;
26
+ }
27
+ //#endregion
28
+ export { StripePaymentsProvider, StripePaymentsProviderOptions };
29
+ //# sourceMappingURL=stripe-payments.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stripe-payments.d.ts","names":[],"sources":["../../src/impls/stripe-payments.ts"],"sourcesContent":[],"mappings":";;;;UAkBiB,6BAAA;;EAAA,MAAA,CAAA,EAEN,MAFM;AAOjB;AAGuB,cAHV,sBAAA,YAAkC,kBAAA,CAAA,gBAGxB,CAAA;EAQO,iBAAA,MAAA;EAA8B,WAAA,CAAA,OAAA,EARrC,6BAQqC;EAAR,cAAA,CAAA,KAAA,EAAtB,kBAAA,CAAA,mBAAsB,CAAA,EAAA,OAAA,CAAQ,kBAAA,CAAA,eAAR,CAAA;EAUH,WAAA,CAAA,UAAA,EAAA,MAAA,CAAA,EAAR,OAAQ,CAAA,kBAAA,CAAA,eAAA,GAAA,IAAA,CAAA;EAAR,mBAAA,CAAA,KAAA,EAO9B,kBAAA,CAAA,wBAP8B,CAAA,EAQpC,OARoC,CAQ5B,kBAAA,CAAA,aAR4B,CAAA;EAO9B,cAAA,CAAA,eAAA,EAAA,MAAA,EAAA,KAAA,CAAA,EAmBC,kBAAA,CAAA,mBAnBD,CAAA,EAoBN,OApBM,CAoBE,kBAAA,CAAA,aApBF,CAAA;EACE,mBAAA,CAAA,eAAA,EAAA,MAAA,CAAA,EA2ByC,OA3BzC,CA2BiD,kBAAA,CAAA,aA3BjD,CAAA;EAAR,aAAA,CAAA,KAAA,EAgCwB,kBAAA,CAAA,kBAhCxB,CAAA,EAgC6C,OAhC7C,CAgCqD,kBAAA,CAAA,aAhCrD,CAAA;EAkBO,YAAA,CAAA,KAAA,CAAA,EAuCiB,kBAAA,CAAA,iBAvCjB,CAAA,EAuCqC,OAvCrC,CAuC6C,kBAAA,CAAA,cAvC7C,EAAA,CAAA;EACC,gBAAA,CAAA,KAAA,CAAA,EAsDD,kBAAA,CAAA,qBAtDC,CAAA,EAuDR,OAvDQ,CAuDA,kBAAA,CAAA,kBAvDA,EAAA,CAAA;EAAR,QAAA,UAAA;EAQyD,QAAA,eAAA;EAAR,QAAA,SAAA;EAKzB,QAAA,OAAA;EAA6B,QAAA,UAAA;EAAR,QAAA,aAAA"}
@@ -0,0 +1,203 @@
1
+ import Stripe from "stripe";
2
+
3
+ //#region src/impls/stripe-payments.ts
4
+ const API_VERSION = "2025-12-15.clover";
5
+ var StripePaymentsProvider = class {
6
+ stripe;
7
+ constructor(options) {
8
+ this.stripe = options.stripe ?? new Stripe(options.apiKey, { apiVersion: API_VERSION });
9
+ }
10
+ async createCustomer(input) {
11
+ const customer = await this.stripe.customers.create({
12
+ email: input.email,
13
+ name: input.name,
14
+ description: input.description,
15
+ metadata: input.metadata
16
+ });
17
+ return this.toCustomer(customer);
18
+ }
19
+ async getCustomer(customerId) {
20
+ const customer = await this.stripe.customers.retrieve(customerId);
21
+ if (customer.deleted) return null;
22
+ return this.toCustomer(customer);
23
+ }
24
+ async createPaymentIntent(input) {
25
+ const intent = await this.stripe.paymentIntents.create({
26
+ amount: input.amount.amount,
27
+ currency: input.amount.currency,
28
+ customer: input.customerId,
29
+ description: input.description,
30
+ capture_method: input.captureMethod ?? "automatic",
31
+ confirmation_method: input.confirmationMethod ?? "automatic",
32
+ automatic_payment_methods: { enabled: true },
33
+ metadata: input.metadata,
34
+ return_url: input.returnUrl,
35
+ statement_descriptor: input.statementDescriptor
36
+ });
37
+ return this.toPaymentIntent(intent);
38
+ }
39
+ async capturePayment(paymentIntentId, input) {
40
+ const intent = await this.stripe.paymentIntents.capture(paymentIntentId, input?.amount ? { amount_to_capture: input.amount.amount } : void 0);
41
+ return this.toPaymentIntent(intent);
42
+ }
43
+ async cancelPaymentIntent(paymentIntentId) {
44
+ const intent = await this.stripe.paymentIntents.cancel(paymentIntentId);
45
+ return this.toPaymentIntent(intent);
46
+ }
47
+ async refundPayment(input) {
48
+ const refund = await this.stripe.refunds.create({
49
+ payment_intent: input.paymentIntentId,
50
+ amount: input.amount?.amount,
51
+ reason: mapRefundReason(input.reason),
52
+ metadata: input.metadata
53
+ });
54
+ const paymentIntentId = typeof refund.payment_intent === "string" ? refund.payment_intent : refund.payment_intent?.id ?? "";
55
+ return {
56
+ id: refund.id,
57
+ paymentIntentId,
58
+ amount: {
59
+ amount: refund.amount ?? 0,
60
+ currency: refund.currency?.toUpperCase() ?? "USD"
61
+ },
62
+ status: mapRefundStatus(refund.status),
63
+ reason: refund.reason ?? void 0,
64
+ metadata: this.toMetadata(refund.metadata),
65
+ createdAt: refund.created ? /* @__PURE__ */ new Date(refund.created * 1e3) : void 0
66
+ };
67
+ }
68
+ async listInvoices(query) {
69
+ const requestedStatus = query?.status?.[0];
70
+ const stripeStatus = requestedStatus && requestedStatus !== "deleted" ? requestedStatus : void 0;
71
+ return (await this.stripe.invoices.list({
72
+ customer: query?.customerId,
73
+ status: stripeStatus,
74
+ limit: query?.limit,
75
+ starting_after: query?.startingAfter
76
+ })).data.map((invoice) => this.toInvoice(invoice));
77
+ }
78
+ async listTransactions(query) {
79
+ return (await this.stripe.charges.list({
80
+ customer: query?.customerId,
81
+ payment_intent: query?.paymentIntentId,
82
+ limit: query?.limit,
83
+ starting_after: query?.startingAfter
84
+ })).data.map((charge) => ({
85
+ id: charge.id,
86
+ paymentIntentId: typeof charge.payment_intent === "string" ? charge.payment_intent : charge.payment_intent?.id,
87
+ amount: {
88
+ amount: charge.amount,
89
+ currency: charge.currency?.toUpperCase() ?? "USD"
90
+ },
91
+ type: "capture",
92
+ status: mapChargeStatus(charge.status),
93
+ description: charge.description ?? void 0,
94
+ createdAt: /* @__PURE__ */ new Date(charge.created * 1e3),
95
+ metadata: this.mergeMetadata(this.toMetadata(charge.metadata), { balanceTransaction: typeof charge.balance_transaction === "string" ? charge.balance_transaction : void 0 })
96
+ }));
97
+ }
98
+ toCustomer(customer) {
99
+ const metadata = this.toMetadata(customer.metadata);
100
+ const updatedAtValue = metadata?.updatedAt;
101
+ return {
102
+ id: customer.id,
103
+ email: customer.email ?? void 0,
104
+ name: customer.name ?? void 0,
105
+ metadata,
106
+ createdAt: customer.created ? /* @__PURE__ */ new Date(customer.created * 1e3) : void 0,
107
+ updatedAt: updatedAtValue ? new Date(updatedAtValue) : void 0
108
+ };
109
+ }
110
+ toPaymentIntent(intent) {
111
+ const metadata = this.toMetadata(intent.metadata);
112
+ return {
113
+ id: intent.id,
114
+ amount: this.toMoney(intent.amount_received ?? intent.amount ?? 0, intent.currency),
115
+ status: mapPaymentIntentStatus(intent.status),
116
+ customerId: typeof intent.customer === "string" ? intent.customer : intent.customer?.id,
117
+ description: intent.description ?? void 0,
118
+ clientSecret: intent.client_secret ?? void 0,
119
+ metadata,
120
+ createdAt: /* @__PURE__ */ new Date(intent.created * 1e3),
121
+ updatedAt: intent.canceled_at != null ? /* @__PURE__ */ new Date(intent.canceled_at * 1e3) : /* @__PURE__ */ new Date(intent.created * 1e3)
122
+ };
123
+ }
124
+ toInvoice(invoice) {
125
+ const metadata = this.toMetadata(invoice.metadata);
126
+ return {
127
+ id: invoice.id,
128
+ number: invoice.number ?? void 0,
129
+ status: invoice.status ?? "draft",
130
+ amountDue: this.toMoney(invoice.amount_due ?? 0, invoice.currency),
131
+ amountPaid: this.toMoney(invoice.amount_paid ?? 0, invoice.currency),
132
+ customerId: typeof invoice.customer === "string" ? invoice.customer : invoice.customer?.id,
133
+ dueDate: invoice.due_date ? /* @__PURE__ */ new Date(invoice.due_date * 1e3) : void 0,
134
+ hostedInvoiceUrl: invoice.hosted_invoice_url ?? void 0,
135
+ metadata,
136
+ createdAt: invoice.created ? /* @__PURE__ */ new Date(invoice.created * 1e3) : void 0,
137
+ updatedAt: invoice.status_transitions?.finalized_at ? /* @__PURE__ */ new Date(invoice.status_transitions.finalized_at * 1e3) : void 0
138
+ };
139
+ }
140
+ toMoney(amount, currency) {
141
+ return {
142
+ amount,
143
+ currency: currency?.toUpperCase() ?? "USD"
144
+ };
145
+ }
146
+ toMetadata(metadata) {
147
+ if (!metadata) return void 0;
148
+ const entries = Object.entries(metadata).filter((entry) => typeof entry[1] === "string");
149
+ if (entries.length === 0) return void 0;
150
+ return Object.fromEntries(entries);
151
+ }
152
+ mergeMetadata(base, extras) {
153
+ const filteredExtras = Object.entries(extras).filter((entry) => typeof entry[1] === "string");
154
+ if (!base && filteredExtras.length === 0) return;
155
+ return {
156
+ ...base ?? {},
157
+ ...Object.fromEntries(filteredExtras)
158
+ };
159
+ }
160
+ };
161
+ function mapRefundReason(reason) {
162
+ if (!reason) return void 0;
163
+ return [
164
+ "duplicate",
165
+ "fraudulent",
166
+ "requested_by_customer"
167
+ ].includes(reason) ? reason : void 0;
168
+ }
169
+ function mapPaymentIntentStatus(status) {
170
+ switch (status) {
171
+ case "requires_payment_method": return "requires_payment_method";
172
+ case "requires_confirmation": return "requires_confirmation";
173
+ case "requires_action":
174
+ case "requires_capture": return "requires_action";
175
+ case "processing": return "processing";
176
+ case "succeeded": return "succeeded";
177
+ case "canceled": return "canceled";
178
+ default: return "requires_payment_method";
179
+ }
180
+ }
181
+ function mapRefundStatus(status) {
182
+ switch (status) {
183
+ case "pending":
184
+ case "succeeded":
185
+ case "failed":
186
+ case "canceled": return status;
187
+ default: return "pending";
188
+ }
189
+ }
190
+ function mapChargeStatus(status) {
191
+ switch (status) {
192
+ case "pending":
193
+ case "processing": return "pending";
194
+ case "succeeded": return "succeeded";
195
+ case "failed":
196
+ case "canceled": return "failed";
197
+ default: return "pending";
198
+ }
199
+ }
200
+
201
+ //#endregion
202
+ export { StripePaymentsProvider };
203
+ //# sourceMappingURL=stripe-payments.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stripe-payments.js","names":["API_VERSION: Stripe.LatestApiVersion"],"sources":["../../src/impls/stripe-payments.ts"],"sourcesContent":["import Stripe from 'stripe';\n\nimport type {\n CapturePaymentInput,\n CreateCustomerInput,\n CreatePaymentIntentInput,\n ListInvoicesQuery,\n ListTransactionsQuery,\n Money,\n PaymentCustomer,\n PaymentIntent,\n PaymentInvoice,\n PaymentRefund,\n PaymentsProvider,\n PaymentTransaction,\n RefundPaymentInput,\n} from '../payments';\n\nexport interface StripePaymentsProviderOptions {\n apiKey: string;\n stripe?: Stripe;\n}\n\nconst API_VERSION: Stripe.LatestApiVersion = '2025-12-15.clover';\n\nexport class StripePaymentsProvider implements PaymentsProvider {\n private readonly stripe: Stripe;\n\n constructor(options: StripePaymentsProviderOptions) {\n this.stripe =\n options.stripe ??\n new Stripe(options.apiKey, {\n apiVersion: API_VERSION,\n });\n }\n\n async createCustomer(input: CreateCustomerInput): Promise<PaymentCustomer> {\n const customer = await this.stripe.customers.create({\n email: input.email,\n name: input.name,\n description: input.description,\n metadata: input.metadata,\n });\n return this.toCustomer(customer);\n }\n\n async getCustomer(customerId: string): Promise<PaymentCustomer | null> {\n const customer = await this.stripe.customers.retrieve(customerId);\n if (customer.deleted) return null;\n return this.toCustomer(customer);\n }\n\n async createPaymentIntent(\n input: CreatePaymentIntentInput\n ): Promise<PaymentIntent> {\n const intent = await this.stripe.paymentIntents.create({\n amount: input.amount.amount,\n currency: input.amount.currency,\n customer: input.customerId,\n description: input.description,\n capture_method: input.captureMethod ?? 'automatic',\n confirmation_method: input.confirmationMethod ?? 'automatic',\n automatic_payment_methods: { enabled: true },\n metadata: input.metadata,\n return_url: input.returnUrl,\n statement_descriptor: input.statementDescriptor,\n });\n return this.toPaymentIntent(intent);\n }\n\n async capturePayment(\n paymentIntentId: string,\n input?: CapturePaymentInput\n ): Promise<PaymentIntent> {\n const intent = await this.stripe.paymentIntents.capture(\n paymentIntentId,\n input?.amount ? { amount_to_capture: input.amount.amount } : undefined\n );\n return this.toPaymentIntent(intent);\n }\n\n async cancelPaymentIntent(paymentIntentId: string): Promise<PaymentIntent> {\n const intent = await this.stripe.paymentIntents.cancel(paymentIntentId);\n return this.toPaymentIntent(intent);\n }\n\n async refundPayment(input: RefundPaymentInput): Promise<PaymentRefund> {\n const refund = await this.stripe.refunds.create({\n payment_intent: input.paymentIntentId,\n amount: input.amount?.amount,\n reason: mapRefundReason(input.reason),\n metadata: input.metadata,\n });\n const paymentIntentId =\n typeof refund.payment_intent === 'string'\n ? refund.payment_intent\n : (refund.payment_intent?.id ?? '');\n return {\n id: refund.id,\n paymentIntentId,\n amount: {\n amount: refund.amount ?? 0,\n currency: refund.currency?.toUpperCase() ?? 'USD',\n },\n status: mapRefundStatus(refund.status),\n reason: refund.reason ?? undefined,\n metadata: this.toMetadata(refund.metadata),\n createdAt: refund.created ? new Date(refund.created * 1000) : undefined,\n };\n }\n\n async listInvoices(query?: ListInvoicesQuery): Promise<PaymentInvoice[]> {\n const requestedStatus = query?.status?.[0];\n const stripeStatus =\n requestedStatus && requestedStatus !== 'deleted'\n ? requestedStatus\n : undefined;\n const response = await this.stripe.invoices.list({\n customer: query?.customerId,\n status: stripeStatus,\n limit: query?.limit,\n starting_after: query?.startingAfter,\n });\n return response.data.map((invoice) => this.toInvoice(invoice));\n }\n\n async listTransactions(\n query?: ListTransactionsQuery\n ): Promise<PaymentTransaction[]> {\n const response = await this.stripe.charges.list({\n customer: query?.customerId,\n payment_intent: query?.paymentIntentId,\n limit: query?.limit,\n starting_after: query?.startingAfter,\n });\n return response.data.map((charge) => ({\n id: charge.id,\n paymentIntentId:\n typeof charge.payment_intent === 'string'\n ? charge.payment_intent\n : charge.payment_intent?.id,\n amount: {\n amount: charge.amount,\n currency: charge.currency?.toUpperCase() ?? 'USD',\n },\n type: 'capture',\n status: mapChargeStatus(charge.status),\n description: charge.description ?? undefined,\n createdAt: new Date(charge.created * 1000),\n metadata: this.mergeMetadata(this.toMetadata(charge.metadata), {\n balanceTransaction:\n typeof charge.balance_transaction === 'string'\n ? charge.balance_transaction\n : undefined,\n }),\n }));\n }\n\n private toCustomer(customer: Stripe.Customer): PaymentCustomer {\n const metadata = this.toMetadata(customer.metadata);\n const updatedAtValue = metadata?.updatedAt;\n return {\n id: customer.id,\n email: customer.email ?? undefined,\n name: customer.name ?? undefined,\n metadata,\n createdAt: customer.created\n ? new Date(customer.created * 1000)\n : undefined,\n updatedAt: updatedAtValue ? new Date(updatedAtValue) : undefined,\n };\n }\n\n private toPaymentIntent(intent: Stripe.PaymentIntent): PaymentIntent {\n const metadata = this.toMetadata(intent.metadata);\n return {\n id: intent.id,\n amount: this.toMoney(\n intent.amount_received ?? intent.amount ?? 0,\n intent.currency\n ),\n status: mapPaymentIntentStatus(intent.status),\n customerId:\n typeof intent.customer === 'string'\n ? intent.customer\n : intent.customer?.id,\n description: intent.description ?? undefined,\n clientSecret: intent.client_secret ?? undefined,\n metadata,\n createdAt: new Date(intent.created * 1000),\n updatedAt:\n intent.canceled_at != null\n ? new Date(intent.canceled_at * 1000)\n : new Date(intent.created * 1000),\n };\n }\n\n private toInvoice(invoice: Stripe.Invoice): PaymentInvoice {\n const metadata = this.toMetadata(invoice.metadata);\n return {\n id: invoice.id,\n number: invoice.number ?? undefined,\n status: (invoice.status as PaymentInvoice['status']) ?? 'draft',\n amountDue: this.toMoney(invoice.amount_due ?? 0, invoice.currency),\n amountPaid: this.toMoney(invoice.amount_paid ?? 0, invoice.currency),\n customerId:\n typeof invoice.customer === 'string'\n ? invoice.customer\n : invoice.customer?.id,\n dueDate: invoice.due_date ? new Date(invoice.due_date * 1000) : undefined,\n hostedInvoiceUrl: invoice.hosted_invoice_url ?? undefined,\n metadata,\n createdAt: invoice.created ? new Date(invoice.created * 1000) : undefined,\n updatedAt: invoice.status_transitions?.finalized_at\n ? new Date(invoice.status_transitions.finalized_at * 1000)\n : undefined,\n };\n }\n\n private toMoney(amount: number, currency?: string | null): Money {\n return {\n amount,\n currency: currency?.toUpperCase() ?? 'USD',\n };\n }\n\n private toMetadata(\n metadata: Stripe.Metadata | Stripe.Metadata | null | undefined\n ): Record<string, string> | undefined {\n if (!metadata) return undefined;\n const entries = Object.entries(metadata).filter(\n (entry): entry is [string, string] => typeof entry[1] === 'string'\n );\n if (entries.length === 0) return undefined;\n return Object.fromEntries(entries);\n }\n\n private mergeMetadata(\n base: Record<string, string> | undefined,\n extras: Record<string, string | undefined>\n ): Record<string, string> | undefined {\n const filteredExtras = Object.entries(extras).filter(\n (entry): entry is [string, string] => typeof entry[1] === 'string'\n );\n if (!base && filteredExtras.length === 0) {\n return undefined;\n }\n return {\n ...(base ?? {}),\n ...Object.fromEntries(filteredExtras),\n };\n }\n}\n\nfunction mapRefundReason(\n reason?: string\n): Stripe.RefundCreateParams.Reason | undefined {\n if (!reason) return undefined;\n const allowed: Stripe.RefundCreateParams.Reason[] = [\n 'duplicate',\n 'fraudulent',\n 'requested_by_customer',\n ];\n return allowed.includes(reason as Stripe.RefundCreateParams.Reason)\n ? (reason as Stripe.RefundCreateParams.Reason)\n : undefined;\n}\n\nfunction mapPaymentIntentStatus(\n status: string | null | undefined\n): PaymentIntent['status'] {\n switch (status) {\n case 'requires_payment_method':\n return 'requires_payment_method';\n case 'requires_confirmation':\n return 'requires_confirmation';\n case 'requires_action':\n case 'requires_capture':\n return 'requires_action';\n case 'processing':\n return 'processing';\n case 'succeeded':\n return 'succeeded';\n case 'canceled':\n return 'canceled';\n default:\n return 'requires_payment_method';\n }\n}\n\nfunction mapRefundStatus(\n status: string | null | undefined\n): PaymentRefund['status'] {\n switch (status) {\n case 'pending':\n case 'succeeded':\n case 'failed':\n case 'canceled':\n return status;\n default:\n return 'pending';\n }\n}\n\nfunction mapChargeStatus(\n status: string | null | undefined\n): PaymentTransaction['status'] {\n switch (status) {\n case 'pending':\n case 'processing':\n return 'pending';\n case 'succeeded':\n return 'succeeded';\n case 'failed':\n case 'canceled':\n return 'failed';\n default:\n return 'pending';\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import { sms_d_exports } from "../sms.js";
2
+ import Twilio from "twilio";
3
+
4
+ //#region src/impls/twilio-sms.d.ts
5
+ type TwilioClient = ReturnType<typeof Twilio>;
6
+ interface TwilioSmsProviderOptions {
7
+ accountSid: string;
8
+ authToken: string;
9
+ fromNumber?: string;
10
+ client?: TwilioClient;
11
+ }
12
+ declare class TwilioSmsProvider implements sms_d_exports.SmsProvider {
13
+ private readonly client;
14
+ private readonly fromNumber?;
15
+ constructor(options: TwilioSmsProviderOptions);
16
+ sendSms(input: sms_d_exports.SendSmsInput): Promise<sms_d_exports.SmsMessage>;
17
+ getDeliveryStatus(messageId: string): Promise<sms_d_exports.SmsDeliveryStatus>;
18
+ }
19
+ //#endregion
20
+ export { TwilioSmsProvider, TwilioSmsProviderOptions };
21
+ //# sourceMappingURL=twilio-sms.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"twilio-sms.d.ts","names":[],"sources":["../../src/impls/twilio-sms.ts"],"sourcesContent":[],"mappings":";;;;KASK,YAAA,GAAe,kBAAkB;UAErB,wBAAA;EAFZ,UAAA,EAAA,MAAY;EAEA,SAAA,EAAA,MAAA;EAOJ,UAAA,CAAA,EAAA,MAAA;EAIU,MAAA,CAAA,EAPZ,YAOY;;AAMuB,cAVjC,iBAAA,YAA6B,aAAA,CAAA,WAUI,CAAA;EAAR,iBAAA,MAAA;EAyBgB,iBAAA,UAAA;EAAR,WAAA,CAAA,OAAA,EA/BvB,wBA+BuB;EAnCJ,OAAA,CAAA,KAAA,EAUnB,aAAA,CAAA,YAVmB,CAAA,EAUJ,OAVI,CAUI,aAAA,CAAA,UAVJ,CAAA;EAAW,iBAAA,CAAA,SAAA,EAAA,MAAA,CAAA,EAmCP,OAnCO,CAmCC,aAAA,CAAA,iBAnCD,CAAA"}
@@ -0,0 +1,59 @@
1
+ import Twilio from "twilio";
2
+
3
+ //#region src/impls/twilio-sms.ts
4
+ var TwilioSmsProvider = class {
5
+ client;
6
+ fromNumber;
7
+ constructor(options) {
8
+ this.client = options.client ?? Twilio(options.accountSid, options.authToken);
9
+ this.fromNumber = options.fromNumber;
10
+ }
11
+ async sendSms(input) {
12
+ const message = await this.client.messages.create({
13
+ to: input.to,
14
+ from: input.from ?? this.fromNumber,
15
+ body: input.body
16
+ });
17
+ return {
18
+ id: message.sid,
19
+ to: message.to ?? input.to,
20
+ from: message.from ?? input.from ?? this.fromNumber ?? "",
21
+ body: message.body ?? input.body,
22
+ status: mapStatus(message.status),
23
+ sentAt: message.dateCreated ? new Date(message.dateCreated) : void 0,
24
+ deliveredAt: message.status === "delivered" && message.dateUpdated ? new Date(message.dateUpdated) : void 0,
25
+ price: message.price ? Number(message.price) : void 0,
26
+ priceCurrency: message.priceUnit ?? void 0,
27
+ errorCode: message.errorCode ? String(message.errorCode) : void 0,
28
+ errorMessage: message.errorMessage ?? void 0
29
+ };
30
+ }
31
+ async getDeliveryStatus(messageId) {
32
+ const message = await this.client.messages(messageId).fetch();
33
+ return {
34
+ status: mapStatus(message.status),
35
+ errorCode: message.errorCode ? String(message.errorCode) : void 0,
36
+ errorMessage: message.errorMessage ?? void 0,
37
+ updatedAt: message.dateUpdated ? new Date(message.dateUpdated) : /* @__PURE__ */ new Date()
38
+ };
39
+ }
40
+ };
41
+ function mapStatus(status) {
42
+ switch (status) {
43
+ case "queued":
44
+ case "accepted":
45
+ case "scheduled": return "queued";
46
+ case "sending":
47
+ case "processing": return "sending";
48
+ case "sent": return "sent";
49
+ case "delivered": return "delivered";
50
+ case "undelivered": return "undelivered";
51
+ case "failed":
52
+ case "canceled": return "failed";
53
+ default: return "queued";
54
+ }
55
+ }
56
+
57
+ //#endregion
58
+ export { TwilioSmsProvider };
59
+ //# sourceMappingURL=twilio-sms.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"twilio-sms.js","names":[],"sources":["../../src/impls/twilio-sms.ts"],"sourcesContent":["import Twilio from 'twilio';\n\nimport type {\n SendSmsInput,\n SmsDeliveryStatus,\n SmsMessage,\n SmsProvider,\n} from '../sms';\n\ntype TwilioClient = ReturnType<typeof Twilio>;\n\nexport interface TwilioSmsProviderOptions {\n accountSid: string;\n authToken: string;\n fromNumber?: string;\n client?: TwilioClient;\n}\n\nexport class TwilioSmsProvider implements SmsProvider {\n private readonly client: TwilioClient;\n private readonly fromNumber?: string;\n\n constructor(options: TwilioSmsProviderOptions) {\n this.client =\n options.client ?? Twilio(options.accountSid, options.authToken);\n this.fromNumber = options.fromNumber;\n }\n\n async sendSms(input: SendSmsInput): Promise<SmsMessage> {\n const message = await this.client.messages.create({\n to: input.to,\n from: input.from ?? this.fromNumber,\n body: input.body,\n });\n\n return {\n id: message.sid,\n to: message.to ?? input.to,\n from: message.from ?? input.from ?? this.fromNumber ?? '',\n body: message.body ?? input.body,\n status: mapStatus(message.status),\n sentAt: message.dateCreated ? new Date(message.dateCreated) : undefined,\n deliveredAt:\n message.status === 'delivered' && message.dateUpdated\n ? new Date(message.dateUpdated)\n : undefined,\n price: message.price ? Number(message.price) : undefined,\n priceCurrency: message.priceUnit ?? undefined,\n errorCode: message.errorCode ? String(message.errorCode) : undefined,\n errorMessage: message.errorMessage ?? undefined,\n };\n }\n\n async getDeliveryStatus(messageId: string): Promise<SmsDeliveryStatus> {\n const message = await this.client.messages(messageId).fetch();\n return {\n status: mapStatus(message.status),\n errorCode: message.errorCode ? String(message.errorCode) : undefined,\n errorMessage: message.errorMessage ?? undefined,\n updatedAt: message.dateUpdated\n ? new Date(message.dateUpdated)\n : new Date(),\n };\n }\n}\n\nfunction mapStatus(status: string | null): SmsMessage['status'] {\n switch (status) {\n case 'queued':\n case 'accepted':\n case 'scheduled':\n return 'queued';\n case 'sending':\n case 'processing':\n return 'sending';\n case 'sent':\n return 'sent';\n case 'delivered':\n return 'delivered';\n case 'undelivered':\n return 'undelivered';\n case 'failed':\n case 'canceled':\n return 'failed';\n default:\n return 'queued';\n }\n}\n"],"mappings":";;;AAkBA,IAAa,oBAAb,MAAsD;CACpD,AAAiB;CACjB,AAAiB;CAEjB,YAAY,SAAmC;AAC7C,OAAK,SACH,QAAQ,UAAU,OAAO,QAAQ,YAAY,QAAQ,UAAU;AACjE,OAAK,aAAa,QAAQ;;CAG5B,MAAM,QAAQ,OAA0C;EACtD,MAAM,UAAU,MAAM,KAAK,OAAO,SAAS,OAAO;GAChD,IAAI,MAAM;GACV,MAAM,MAAM,QAAQ,KAAK;GACzB,MAAM,MAAM;GACb,CAAC;AAEF,SAAO;GACL,IAAI,QAAQ;GACZ,IAAI,QAAQ,MAAM,MAAM;GACxB,MAAM,QAAQ,QAAQ,MAAM,QAAQ,KAAK,cAAc;GACvD,MAAM,QAAQ,QAAQ,MAAM;GAC5B,QAAQ,UAAU,QAAQ,OAAO;GACjC,QAAQ,QAAQ,cAAc,IAAI,KAAK,QAAQ,YAAY,GAAG;GAC9D,aACE,QAAQ,WAAW,eAAe,QAAQ,cACtC,IAAI,KAAK,QAAQ,YAAY,GAC7B;GACN,OAAO,QAAQ,QAAQ,OAAO,QAAQ,MAAM,GAAG;GAC/C,eAAe,QAAQ,aAAa;GACpC,WAAW,QAAQ,YAAY,OAAO,QAAQ,UAAU,GAAG;GAC3D,cAAc,QAAQ,gBAAgB;GACvC;;CAGH,MAAM,kBAAkB,WAA+C;EACrE,MAAM,UAAU,MAAM,KAAK,OAAO,SAAS,UAAU,CAAC,OAAO;AAC7D,SAAO;GACL,QAAQ,UAAU,QAAQ,OAAO;GACjC,WAAW,QAAQ,YAAY,OAAO,QAAQ,UAAU,GAAG;GAC3D,cAAc,QAAQ,gBAAgB;GACtC,WAAW,QAAQ,cACf,IAAI,KAAK,QAAQ,YAAY,mBAC7B,IAAI,MAAM;GACf;;;AAIL,SAAS,UAAU,QAA6C;AAC9D,SAAQ,QAAR;EACE,KAAK;EACL,KAAK;EACL,KAAK,YACH,QAAO;EACT,KAAK;EACL,KAAK,aACH,QAAO;EACT,KAAK,OACH,QAAO;EACT,KAAK,YACH,QAAO;EACT,KAAK,cACH,QAAO;EACT,KAAK;EACL,KAAK,WACH,QAAO;EACT,QACE,QAAO"}
@@ -0,0 +1,44 @@
1
+ import { __exportAll, __reExport } from "./_virtual/rolldown_runtime.js";
2
+ import { calendar_d_exports } from "./calendar.js";
3
+ import { email_d_exports } from "./email.js";
4
+ import { embedding_d_exports } from "./embedding.js";
5
+ import { voice_d_exports } from "./voice.js";
6
+ import { ElevenLabsVoiceProvider, ElevenLabsVoiceProviderOptions } from "./impls/elevenlabs-voice.js";
7
+ import { storage_d_exports } from "./storage.js";
8
+ import { GoogleCloudStorageProvider, GoogleCloudStorageProviderOptions } from "./impls/gcs-storage.js";
9
+ import { GmailInboundProvider, GmailInboundProviderOptions } from "./impls/gmail-inbound.js";
10
+ import { GmailOutboundProvider, GmailOutboundProviderOptions } from "./impls/gmail-outbound.js";
11
+ import { GoogleCalendarProvider, GoogleCalendarProviderOptions } from "./impls/google-calendar.js";
12
+ import { payments_d_exports } from "./payments.js";
13
+ import { sms_d_exports } from "./sms.js";
14
+ import { vector_store_d_exports } from "./vector-store.js";
15
+ import { llm_d_exports } from "./llm.js";
16
+ import { openbanking_d_exports } from "./openbanking.js";
17
+ import { IntegrationProviderFactory } from "./impls/provider-factory.js";
18
+ import { MistralLLMProvider, MistralLLMProviderOptions } from "./impls/mistral-llm.js";
19
+ import { MistralEmbeddingProvider, MistralEmbeddingProviderOptions } from "./impls/mistral-embedding.js";
20
+ import { QdrantVectorProvider, QdrantVectorProviderOptions } from "./impls/qdrant-vector.js";
21
+ import { StripePaymentsProvider, StripePaymentsProviderOptions } from "./impls/stripe-payments.js";
22
+ import { PostmarkEmailProvider, PostmarkEmailProviderOptions } from "./impls/postmark-email.js";
23
+ import { TwilioSmsProvider, TwilioSmsProviderOptions } from "./impls/twilio-sms.js";
24
+ import { PowensAccount, PowensAccountListResponse, PowensBalance, PowensClient, PowensClientError, PowensClientOptions, PowensConnectionStatusResponse, PowensEnvironment, PowensTransaction, PowensTransactionListResponse } from "./impls/powens-client.js";
25
+ import { PowensOpenBankingProvider, PowensOpenBankingProviderOptions } from "./impls/powens-openbanking.js";
26
+ import "./impls/index.js";
27
+ export * from "@contractspec/lib.contracts/integrations/providers/calendar";
28
+ export * from "@contractspec/lib.contracts/integrations/providers/email";
29
+ export * from "@contractspec/lib.contracts/integrations/providers/embedding";
30
+ export * from "@contractspec/lib.contracts/integrations/providers/openbanking";
31
+ export * from "@contractspec/lib.contracts/integrations/providers/llm";
32
+ export * from "@contractspec/lib.contracts/integrations/providers/vector-store";
33
+ export * from "@contractspec/lib.contracts/integrations/providers/storage";
34
+ export * from "@contractspec/lib.contracts/integrations/providers/sms";
35
+ export * from "@contractspec/lib.contracts/integrations/providers/payments";
36
+ export * from "@contractspec/lib.contracts/integrations/providers/voice";
37
+
38
+ //#region src/index.d.ts
39
+ declare namespace index_d_exports {
40
+ export { ElevenLabsVoiceProvider, ElevenLabsVoiceProviderOptions, GmailInboundProvider, GmailInboundProviderOptions, GmailOutboundProvider, GmailOutboundProviderOptions, GoogleCalendarProvider, GoogleCalendarProviderOptions, GoogleCloudStorageProvider, GoogleCloudStorageProviderOptions, IntegrationProviderFactory, MistralEmbeddingProvider, MistralEmbeddingProviderOptions, MistralLLMProvider, MistralLLMProviderOptions, PostmarkEmailProvider, PostmarkEmailProviderOptions, PowensAccount, PowensAccountListResponse, PowensBalance, PowensClient, PowensClientError, PowensClientOptions, PowensConnectionStatusResponse, PowensEnvironment, PowensOpenBankingProvider, PowensOpenBankingProviderOptions, PowensTransaction, PowensTransactionListResponse, QdrantVectorProvider, QdrantVectorProviderOptions, StripePaymentsProvider, StripePaymentsProviderOptions, TwilioSmsProvider, TwilioSmsProviderOptions };
41
+ }
42
+ //#endregion
43
+ export { ElevenLabsVoiceProvider, ElevenLabsVoiceProviderOptions, GmailInboundProvider, GmailInboundProviderOptions, GmailOutboundProvider, GmailOutboundProviderOptions, GoogleCalendarProvider, GoogleCalendarProviderOptions, GoogleCloudStorageProvider, GoogleCloudStorageProviderOptions, IntegrationProviderFactory, MistralEmbeddingProvider, MistralEmbeddingProviderOptions, MistralLLMProvider, MistralLLMProviderOptions, PostmarkEmailProvider, PostmarkEmailProviderOptions, PowensAccount, PowensAccountListResponse, PowensBalance, PowensClient, PowensClientError, PowensClientOptions, PowensConnectionStatusResponse, PowensEnvironment, PowensOpenBankingProvider, PowensOpenBankingProviderOptions, PowensTransaction, PowensTransactionListResponse, QdrantVectorProvider, QdrantVectorProviderOptions, StripePaymentsProvider, StripePaymentsProviderOptions, TwilioSmsProvider, TwilioSmsProviderOptions };
44
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../src/index.ts"],"sourcesContent":[],"mappings":""}
package/dist/index.js ADDED
@@ -0,0 +1,69 @@
1
+ import { __exportAll, __reExport } from "./_virtual/rolldown_runtime.js";
2
+ import "./calendar.js";
3
+ import "./email.js";
4
+ import "./embedding.js";
5
+ import { MistralLLMProvider } from "./impls/mistral-llm.js";
6
+ import { MistralEmbeddingProvider } from "./impls/mistral-embedding.js";
7
+ import { QdrantVectorProvider } from "./impls/qdrant-vector.js";
8
+ import { GoogleCloudStorageProvider } from "./impls/gcs-storage.js";
9
+ import { StripePaymentsProvider } from "./impls/stripe-payments.js";
10
+ import { PostmarkEmailProvider } from "./impls/postmark-email.js";
11
+ import { TwilioSmsProvider } from "./impls/twilio-sms.js";
12
+ import { ElevenLabsVoiceProvider } from "./impls/elevenlabs-voice.js";
13
+ import { PowensClient, PowensClientError } from "./impls/powens-client.js";
14
+ import { PowensOpenBankingProvider } from "./impls/powens-openbanking.js";
15
+ import { IntegrationProviderFactory } from "./impls/provider-factory.js";
16
+ import { GmailInboundProvider } from "./impls/gmail-inbound.js";
17
+ import { GmailOutboundProvider } from "./impls/gmail-outbound.js";
18
+ import { GoogleCalendarProvider } from "./impls/google-calendar.js";
19
+ import "./impls/index.js";
20
+ import "./openbanking.js";
21
+ import "./llm.js";
22
+ import "./vector-store.js";
23
+ import "./storage.js";
24
+ import "./sms.js";
25
+ import "./payments.js";
26
+ import "./voice.js";
27
+
28
+ export * from "@contractspec/lib.contracts/integrations/providers/calendar"
29
+
30
+ export * from "@contractspec/lib.contracts/integrations/providers/email"
31
+
32
+ export * from "@contractspec/lib.contracts/integrations/providers/embedding"
33
+
34
+ export * from "@contractspec/lib.contracts/integrations/providers/openbanking"
35
+
36
+ export * from "@contractspec/lib.contracts/integrations/providers/llm"
37
+
38
+ export * from "@contractspec/lib.contracts/integrations/providers/vector-store"
39
+
40
+ export * from "@contractspec/lib.contracts/integrations/providers/storage"
41
+
42
+ export * from "@contractspec/lib.contracts/integrations/providers/sms"
43
+
44
+ export * from "@contractspec/lib.contracts/integrations/providers/payments"
45
+
46
+ export * from "@contractspec/lib.contracts/integrations/providers/voice"
47
+
48
+ //#region src/index.ts
49
+ var src_exports = /* @__PURE__ */ __exportAll({
50
+ ElevenLabsVoiceProvider: () => ElevenLabsVoiceProvider,
51
+ GmailInboundProvider: () => GmailInboundProvider,
52
+ GmailOutboundProvider: () => GmailOutboundProvider,
53
+ GoogleCalendarProvider: () => GoogleCalendarProvider,
54
+ GoogleCloudStorageProvider: () => GoogleCloudStorageProvider,
55
+ IntegrationProviderFactory: () => IntegrationProviderFactory,
56
+ MistralEmbeddingProvider: () => MistralEmbeddingProvider,
57
+ MistralLLMProvider: () => MistralLLMProvider,
58
+ PostmarkEmailProvider: () => PostmarkEmailProvider,
59
+ PowensClient: () => PowensClient,
60
+ PowensClientError: () => PowensClientError,
61
+ PowensOpenBankingProvider: () => PowensOpenBankingProvider,
62
+ QdrantVectorProvider: () => QdrantVectorProvider,
63
+ StripePaymentsProvider: () => StripePaymentsProvider,
64
+ TwilioSmsProvider: () => TwilioSmsProvider
65
+ });
66
+
67
+ //#endregion
68
+ export { ElevenLabsVoiceProvider, GmailInboundProvider, GmailOutboundProvider, GoogleCalendarProvider, GoogleCloudStorageProvider, IntegrationProviderFactory, MistralEmbeddingProvider, MistralLLMProvider, PostmarkEmailProvider, PowensClient, PowensClientError, PowensOpenBankingProvider, QdrantVectorProvider, StripePaymentsProvider, TwilioSmsProvider };
69
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../src/index.ts"],"sourcesContent":["export * from './impls';\n\n// Provider interface shims (re-exported from @contractspec/lib.contracts) so the impls\n// can keep their existing relative imports (e.g. ../openbanking).\nexport * from './openbanking';\nexport * from './llm';\nexport * from './embedding';\nexport * from './vector-store';\nexport * from './storage';\nexport * from './email';\nexport * from './calendar';\nexport * from './sms';\nexport * from './payments';\nexport * from './voice';\n"],"mappings":""}
package/dist/llm.d.ts ADDED
@@ -0,0 +1,8 @@
1
+ export * from "@contractspec/lib.contracts/integrations/providers/llm";
2
+
3
+ //#region src/llm.d.ts
4
+
5
+ import * as import__contractspec_lib_contracts_integrations_providers_llm from "@contractspec/lib.contracts/integrations/providers/llm";
6
+ //#endregion
7
+ export { import__contractspec_lib_contracts_integrations_providers_llm as llm_d_exports };
8
+ //# sourceMappingURL=llm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"llm.d.ts","names":[],"sources":["../src/llm.ts"],"sourcesContent":[],"mappings":""}
package/dist/llm.js ADDED
@@ -0,0 +1,3 @@
1
+ import { __reExport } from "./_virtual/rolldown_runtime.js";
2
+
3
+ export * from "@contractspec/lib.contracts/integrations/providers/llm"
@@ -0,0 +1,8 @@
1
+ export * from "@contractspec/lib.contracts/integrations/providers/openbanking";
2
+
3
+ //#region src/openbanking.d.ts
4
+
5
+ import * as import__contractspec_lib_contracts_integrations_providers_openbanking from "@contractspec/lib.contracts/integrations/providers/openbanking";
6
+ //#endregion
7
+ export { import__contractspec_lib_contracts_integrations_providers_openbanking as openbanking_d_exports };
8
+ //# sourceMappingURL=openbanking.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openbanking.d.ts","names":[],"sources":["../src/openbanking.ts"],"sourcesContent":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ import { __reExport } from "./_virtual/rolldown_runtime.js";
2
+
3
+ export * from "@contractspec/lib.contracts/integrations/providers/openbanking"
@@ -0,0 +1,8 @@
1
+ export * from "@contractspec/lib.contracts/integrations/providers/payments";
2
+
3
+ //#region src/payments.d.ts
4
+
5
+ import * as import__contractspec_lib_contracts_integrations_providers_payments from "@contractspec/lib.contracts/integrations/providers/payments";
6
+ //#endregion
7
+ export { import__contractspec_lib_contracts_integrations_providers_payments as payments_d_exports };
8
+ //# sourceMappingURL=payments.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payments.d.ts","names":[],"sources":["../src/payments.ts"],"sourcesContent":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ import { __reExport } from "./_virtual/rolldown_runtime.js";
2
+
3
+ export * from "@contractspec/lib.contracts/integrations/providers/payments"
@@ -0,0 +1,2 @@
1
+ import { IntegrationContext } from "@contractspec/integration.runtime/runtime";
2
+ export { type IntegrationContext };
File without changes
@@ -0,0 +1,2 @@
1
+ import { ParsedSecretUri, SecretFetchOptions, SecretPayloadEncoding, SecretProvider, SecretProviderError, SecretReference, SecretRotationResult, SecretValue, SecretWritePayload, normalizeSecretPayload, parseSecretUri } from "@contractspec/integration.runtime/secrets/provider";
2
+ export { type ParsedSecretUri, type SecretFetchOptions, type SecretPayloadEncoding, type SecretProvider, SecretProviderError, type SecretReference, type SecretRotationResult, type SecretValue, type SecretWritePayload, normalizeSecretPayload, parseSecretUri };
@@ -0,0 +1,3 @@
1
+ import { SecretProviderError, normalizeSecretPayload, parseSecretUri } from "@contractspec/integration.runtime/secrets/provider";
2
+
3
+ export { SecretProviderError, normalizeSecretPayload, parseSecretUri };
package/dist/sms.d.ts ADDED
@@ -0,0 +1,8 @@
1
+ export * from "@contractspec/lib.contracts/integrations/providers/sms";
2
+
3
+ //#region src/sms.d.ts
4
+
5
+ import * as import__contractspec_lib_contracts_integrations_providers_sms from "@contractspec/lib.contracts/integrations/providers/sms";
6
+ //#endregion
7
+ export { import__contractspec_lib_contracts_integrations_providers_sms as sms_d_exports };
8
+ //# sourceMappingURL=sms.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sms.d.ts","names":[],"sources":["../src/sms.ts"],"sourcesContent":[],"mappings":""}
package/dist/sms.js ADDED
@@ -0,0 +1,3 @@
1
+ import { __reExport } from "./_virtual/rolldown_runtime.js";
2
+
3
+ export * from "@contractspec/lib.contracts/integrations/providers/sms"
@@ -0,0 +1,8 @@
1
+ export * from "@contractspec/lib.contracts/integrations/providers/storage";
2
+
3
+ //#region src/storage.d.ts
4
+
5
+ import * as import__contractspec_lib_contracts_integrations_providers_storage from "@contractspec/lib.contracts/integrations/providers/storage";
6
+ //#endregion
7
+ export { import__contractspec_lib_contracts_integrations_providers_storage as storage_d_exports };
8
+ //# sourceMappingURL=storage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.d.ts","names":[],"sources":["../src/storage.ts"],"sourcesContent":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ import { __reExport } from "./_virtual/rolldown_runtime.js";
2
+
3
+ export * from "@contractspec/lib.contracts/integrations/providers/storage"
@@ -0,0 +1,8 @@
1
+ export * from "@contractspec/lib.contracts/integrations/providers/vector-store";
2
+
3
+ //#region src/vector-store.d.ts
4
+
5
+ import * as import__contractspec_lib_contracts_integrations_providers_vector_store from "@contractspec/lib.contracts/integrations/providers/vector-store";
6
+ //#endregion
7
+ export { import__contractspec_lib_contracts_integrations_providers_vector_store as vector_store_d_exports };
8
+ //# sourceMappingURL=vector-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vector-store.d.ts","names":[],"sources":["../src/vector-store.ts"],"sourcesContent":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ import { __reExport } from "./_virtual/rolldown_runtime.js";
2
+
3
+ export * from "@contractspec/lib.contracts/integrations/providers/vector-store"
@@ -0,0 +1,8 @@
1
+ export * from "@contractspec/lib.contracts/integrations/providers/voice";
2
+
3
+ //#region src/voice.d.ts
4
+
5
+ import * as import__contractspec_lib_contracts_integrations_providers_voice from "@contractspec/lib.contracts/integrations/providers/voice";
6
+ //#endregion
7
+ export { import__contractspec_lib_contracts_integrations_providers_voice as voice_d_exports };
8
+ //# sourceMappingURL=voice.d.ts.map