@bubblelab/bubble-core 0.1.49 → 0.1.51

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 (95) hide show
  1. package/dist/bubble-bundle.d.ts +126 -106
  2. package/dist/bubble-factory.d.ts.map +1 -1
  3. package/dist/bubble-factory.js +4 -0
  4. package/dist/bubble-factory.js.map +1 -1
  5. package/dist/bubbles/service-bubble/agi-inc.d.ts +132 -132
  6. package/dist/bubbles/service-bubble/ai-agent.d.ts +36 -36
  7. package/dist/bubbles/service-bubble/airtable.d.ts +230 -230
  8. package/dist/bubbles/service-bubble/apify/apify.d.ts +38 -38
  9. package/dist/bubbles/service-bubble/ashby/ashby.d.ts +178 -178
  10. package/dist/bubbles/service-bubble/browserbase/browserbase.d.ts +57 -57
  11. package/dist/bubbles/service-bubble/crustdata/crustdata.d.ts +98 -98
  12. package/dist/bubbles/service-bubble/eleven-labs.d.ts +48 -48
  13. package/dist/bubbles/service-bubble/firecrawl.d.ts +292 -292
  14. package/dist/bubbles/service-bubble/followupboss.d.ts +302 -302
  15. package/dist/bubbles/service-bubble/fullenrich/fullenrich.d.ts +28 -28
  16. package/dist/bubbles/service-bubble/fullenrich/fullenrich.d.ts.map +1 -1
  17. package/dist/bubbles/service-bubble/fullenrich/fullenrich.js +8 -4
  18. package/dist/bubbles/service-bubble/fullenrich/fullenrich.js.map +1 -1
  19. package/dist/bubbles/service-bubble/github.d.ts +124 -124
  20. package/dist/bubbles/service-bubble/gmail.d.ts +248 -248
  21. package/dist/bubbles/service-bubble/google-calendar.d.ts +56 -56
  22. package/dist/bubbles/service-bubble/google-drive.d.ts +120 -120
  23. package/dist/bubbles/service-bubble/google-sheets/google-sheets.d.ts +54 -54
  24. package/dist/bubbles/service-bubble/hello-world.d.ts +4 -4
  25. package/dist/bubbles/service-bubble/http.d.ts +12 -12
  26. package/dist/bubbles/service-bubble/insforge-db.d.ts +16 -16
  27. package/dist/bubbles/service-bubble/jira/jira.d.ts +59 -59
  28. package/dist/bubbles/service-bubble/notion/notion.d.ts +212 -212
  29. package/dist/bubbles/service-bubble/postgresql.d.ts +16 -16
  30. package/dist/bubbles/service-bubble/resend.d.ts +16 -16
  31. package/dist/bubbles/service-bubble/slack/slack.d.ts +340 -340
  32. package/dist/bubbles/service-bubble/storage.d.ts +40 -40
  33. package/dist/bubbles/service-bubble/stripe/index.d.ts +4 -0
  34. package/dist/bubbles/service-bubble/stripe/index.d.ts.map +1 -0
  35. package/dist/bubbles/service-bubble/stripe/index.js +4 -0
  36. package/dist/bubbles/service-bubble/stripe/index.js.map +1 -0
  37. package/dist/bubbles/service-bubble/stripe/stripe.d.ts +1178 -0
  38. package/dist/bubbles/service-bubble/stripe/stripe.d.ts.map +1 -0
  39. package/dist/bubbles/service-bubble/stripe/stripe.js +618 -0
  40. package/dist/bubbles/service-bubble/stripe/stripe.js.map +1 -0
  41. package/dist/bubbles/service-bubble/stripe/stripe.schema.d.ts +1326 -0
  42. package/dist/bubbles/service-bubble/stripe/stripe.schema.d.ts.map +1 -0
  43. package/dist/bubbles/service-bubble/stripe/stripe.schema.js +626 -0
  44. package/dist/bubbles/service-bubble/stripe/stripe.schema.js.map +1 -0
  45. package/dist/bubbles/service-bubble/stripe/stripe.utils.d.ts +40 -0
  46. package/dist/bubbles/service-bubble/stripe/stripe.utils.d.ts.map +1 -0
  47. package/dist/bubbles/service-bubble/stripe/stripe.utils.js +111 -0
  48. package/dist/bubbles/service-bubble/stripe/stripe.utils.js.map +1 -0
  49. package/dist/bubbles/service-bubble/telegram.d.ts +114 -114
  50. package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.d.ts +40 -40
  51. package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.schema.d.ts +6 -6
  52. package/dist/bubbles/tool-bubble/bubbleflow-validation-tool.d.ts +8 -8
  53. package/dist/bubbles/tool-bubble/chart-js-tool.d.ts +8 -8
  54. package/dist/bubbles/tool-bubble/code-edit-tool.d.ts +8 -8
  55. package/dist/bubbles/tool-bubble/company-enrichment-tool.d.ts +4 -4
  56. package/dist/bubbles/tool-bubble/get-bubble-details-tool.d.ts +4 -4
  57. package/dist/bubbles/tool-bubble/get-trigger-detail-tool.d.ts +4 -4
  58. package/dist/bubbles/tool-bubble/google-maps-tool.d.ts +8 -8
  59. package/dist/bubbles/tool-bubble/instagram-tool.d.ts +8 -8
  60. package/dist/bubbles/tool-bubble/linkedin-connection-tool/linkedin-connection-tool.d.ts +4 -4
  61. package/dist/bubbles/tool-bubble/linkedin-tool.d.ts +324 -324
  62. package/dist/bubbles/tool-bubble/list-bubbles-tool.d.ts +4 -4
  63. package/dist/bubbles/tool-bubble/people-search-tool.d.ts +4 -4
  64. package/dist/bubbles/tool-bubble/reddit-scrape-tool.d.ts +12 -12
  65. package/dist/bubbles/tool-bubble/research-agent-tool.d.ts +4 -4
  66. package/dist/bubbles/tool-bubble/sql-query-tool.d.ts +8 -8
  67. package/dist/bubbles/tool-bubble/tiktok-tool.d.ts +60 -60
  68. package/dist/bubbles/tool-bubble/tool-template.d.ts +8 -8
  69. package/dist/bubbles/tool-bubble/twitter-tool.d.ts +132 -132
  70. package/dist/bubbles/tool-bubble/web-crawl-tool.d.ts +16 -16
  71. package/dist/bubbles/tool-bubble/web-extract-tool.d.ts +12 -12
  72. package/dist/bubbles/tool-bubble/web-scrape-tool.d.ts +12 -12
  73. package/dist/bubbles/tool-bubble/web-search-tool.d.ts +14 -14
  74. package/dist/bubbles/tool-bubble/youtube-tool.d.ts +28 -28
  75. package/dist/bubbles/workflow-bubble/database-analyzer.workflow.d.ts +4 -4
  76. package/dist/bubbles/workflow-bubble/generate-document.workflow.d.ts +20 -20
  77. package/dist/bubbles/workflow-bubble/parse-document.workflow.d.ts +8 -8
  78. package/dist/bubbles/workflow-bubble/pdf-form-operations.workflow.d.ts +96 -96
  79. package/dist/bubbles/workflow-bubble/pdf-ocr.workflow.d.ts +24 -24
  80. package/dist/bubbles/workflow-bubble/slack-data-assistant.workflow.d.ts +4 -4
  81. package/dist/bubbles/workflow-bubble/slack-formatter-agent.d.ts +16 -16
  82. package/dist/bubbles/workflow-bubble/slack-notifier.workflow.d.ts +4 -4
  83. package/dist/bubbles.json +1806 -2
  84. package/dist/index.d.ts +1 -0
  85. package/dist/index.d.ts.map +1 -1
  86. package/dist/index.js +1 -0
  87. package/dist/index.js.map +1 -1
  88. package/dist/types/base-bubble-class.d.ts.map +1 -1
  89. package/dist/types/base-bubble-class.js +12 -0
  90. package/dist/types/base-bubble-class.js.map +1 -1
  91. package/dist/utils/schema-comparison.d.ts +10 -0
  92. package/dist/utils/schema-comparison.d.ts.map +1 -1
  93. package/dist/utils/schema-comparison.js +215 -0
  94. package/dist/utils/schema-comparison.js.map +1 -1
  95. package/package.json +2 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stripe.schema.d.ts","sourceRoot":"","sources":["../../../../src/bubbles/service-bubble/stripe/stripe.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAM3D,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;EAWI,CAAC;AAEtC,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;EAgBI,CAAC;AAErC,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmBI,CAAC;AAEnC,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;EAaK,CAAC;AAE1C,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqBI,CAAC;AAErC,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmBK,CAAC;AAEtC,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;EA2BK,CAAC;AAE5C,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqCI,CAAC;AAe1C,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA2U7B,CAAC;AAMH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAqJ7B,CAAC;AAOH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAGnE,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAG/D,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,kBAAkB,CAAC,CAAC"}
@@ -0,0 +1,626 @@
1
+ import { z } from 'zod';
2
+ import { CredentialType } from '@bubblelab/shared-schemas';
3
+ // ============================================================================
4
+ // DATA SCHEMAS - Stripe API Response Objects
5
+ // ============================================================================
6
+ export const StripeCustomerSchema = z
7
+ .object({
8
+ id: z.string().describe('Unique Stripe customer identifier (cus_xxx)'),
9
+ name: z.string().nullable().optional().describe('Customer name'),
10
+ email: z.string().nullable().optional().describe('Customer email address'),
11
+ created: z.number().describe('Unix timestamp of creation'),
12
+ metadata: z
13
+ .record(z.string())
14
+ .optional()
15
+ .describe('Arbitrary metadata attached to the customer'),
16
+ })
17
+ .describe('Stripe customer object');
18
+ export const StripeProductSchema = z
19
+ .object({
20
+ id: z.string().describe('Unique Stripe product identifier (prod_xxx)'),
21
+ name: z.string().describe('Product name'),
22
+ description: z
23
+ .string()
24
+ .nullable()
25
+ .optional()
26
+ .describe('Product description'),
27
+ active: z.boolean().describe('Whether the product is currently available'),
28
+ created: z.number().describe('Unix timestamp of creation'),
29
+ metadata: z
30
+ .record(z.string())
31
+ .optional()
32
+ .describe('Arbitrary metadata attached to the product'),
33
+ })
34
+ .describe('Stripe product object');
35
+ export const StripePriceSchema = z
36
+ .object({
37
+ id: z.string().describe('Unique Stripe price identifier (price_xxx)'),
38
+ product: z.string().describe('ID of the product this price is for'),
39
+ unit_amount: z
40
+ .number()
41
+ .nullable()
42
+ .describe('Price in the smallest currency unit (e.g., cents)'),
43
+ currency: z.string().describe('Three-letter ISO currency code'),
44
+ type: z
45
+ .enum(['one_time', 'recurring'])
46
+ .describe('Type of pricing (one-time or recurring)'),
47
+ active: z.boolean().describe('Whether the price is currently active'),
48
+ created: z.number().describe('Unix timestamp of creation'),
49
+ metadata: z
50
+ .record(z.string())
51
+ .optional()
52
+ .describe('Arbitrary metadata attached to the price'),
53
+ })
54
+ .describe('Stripe price object');
55
+ export const StripePaymentLinkSchema = z
56
+ .object({
57
+ id: z
58
+ .string()
59
+ .describe('Unique Stripe payment link identifier (plink_xxx)'),
60
+ url: z.string().describe('The public URL of the payment link'),
61
+ active: z.boolean().describe('Whether the payment link is active'),
62
+ created: z.number().optional().describe('Unix timestamp of creation'),
63
+ metadata: z
64
+ .record(z.string())
65
+ .optional()
66
+ .describe('Arbitrary metadata attached to the payment link'),
67
+ })
68
+ .describe('Stripe payment link object');
69
+ export const StripeInvoiceSchema = z
70
+ .object({
71
+ id: z.string().describe('Unique Stripe invoice identifier (in_xxx)'),
72
+ customer: z.string().nullable().describe('ID of the customer'),
73
+ status: z
74
+ .enum(['draft', 'open', 'paid', 'uncollectible', 'void'])
75
+ .nullable()
76
+ .describe('Invoice status'),
77
+ total: z.number().describe('Total amount in smallest currency unit'),
78
+ currency: z.string().describe('Three-letter ISO currency code'),
79
+ created: z.number().optional().describe('Unix timestamp of creation'),
80
+ hosted_invoice_url: z
81
+ .string()
82
+ .nullable()
83
+ .optional()
84
+ .describe('URL for the hosted invoice page'),
85
+ metadata: z
86
+ .record(z.string())
87
+ .optional()
88
+ .describe('Arbitrary metadata attached to the invoice'),
89
+ })
90
+ .describe('Stripe invoice object');
91
+ export const StripeBalanceSchema = z
92
+ .object({
93
+ available: z
94
+ .array(z.object({
95
+ amount: z.number().describe('Amount available'),
96
+ currency: z.string().describe('Currency code'),
97
+ }))
98
+ .describe('Funds available for payout'),
99
+ pending: z
100
+ .array(z.object({
101
+ amount: z.number().describe('Amount pending'),
102
+ currency: z.string().describe('Currency code'),
103
+ }))
104
+ .describe('Funds not yet available'),
105
+ })
106
+ .describe('Stripe account balance');
107
+ export const StripePaymentIntentSchema = z
108
+ .object({
109
+ id: z.string().describe('Unique payment intent identifier (pi_xxx)'),
110
+ amount: z.number().describe('Amount in smallest currency unit'),
111
+ currency: z.string().describe('Three-letter ISO currency code'),
112
+ status: z
113
+ .enum([
114
+ 'requires_payment_method',
115
+ 'requires_confirmation',
116
+ 'requires_action',
117
+ 'processing',
118
+ 'requires_capture',
119
+ 'canceled',
120
+ 'succeeded',
121
+ ])
122
+ .describe('Payment intent status'),
123
+ customer: z
124
+ .string()
125
+ .nullable()
126
+ .optional()
127
+ .describe('Customer ID if attached'),
128
+ created: z.number().describe('Unix timestamp of creation'),
129
+ metadata: z
130
+ .record(z.string())
131
+ .optional()
132
+ .describe('Arbitrary metadata attached to the payment intent'),
133
+ })
134
+ .describe('Stripe payment intent object');
135
+ export const StripeSubscriptionSchema = z
136
+ .object({
137
+ id: z.string().describe('Unique subscription identifier (sub_xxx)'),
138
+ customer: z.string().describe('Customer ID'),
139
+ status: z
140
+ .enum([
141
+ 'incomplete',
142
+ 'incomplete_expired',
143
+ 'trialing',
144
+ 'active',
145
+ 'past_due',
146
+ 'canceled',
147
+ 'unpaid',
148
+ 'paused',
149
+ ])
150
+ .describe('Subscription status'),
151
+ current_period_start: z
152
+ .number()
153
+ .optional()
154
+ .describe('Start of current billing period (may be absent for incomplete subscriptions)'),
155
+ current_period_end: z
156
+ .number()
157
+ .optional()
158
+ .describe('End of current billing period (may be absent for incomplete subscriptions)'),
159
+ cancel_at_period_end: z
160
+ .boolean()
161
+ .describe('Whether subscription cancels at period end'),
162
+ created: z.number().describe('Unix timestamp of creation'),
163
+ metadata: z
164
+ .record(z.string())
165
+ .optional()
166
+ .describe('Arbitrary metadata attached to the subscription'),
167
+ })
168
+ .describe('Stripe subscription object');
169
+ // ============================================================================
170
+ // CREDENTIALS FIELD - Required for all operations
171
+ // ============================================================================
172
+ const credentialsField = z
173
+ .record(z.nativeEnum(CredentialType), z.string())
174
+ .optional()
175
+ .describe('Object mapping credential types to values (injected at runtime)');
176
+ // ============================================================================
177
+ // PARAMETERS SCHEMA - All Stripe Operations
178
+ // ============================================================================
179
+ export const StripeParamsSchema = z.discriminatedUnion('operation', [
180
+ // Create Customer
181
+ z.object({
182
+ operation: z
183
+ .literal('create_customer')
184
+ .describe('Create a new customer in Stripe'),
185
+ name: z
186
+ .string()
187
+ .min(1, 'Customer name is required')
188
+ .describe('Customer name'),
189
+ email: z
190
+ .string()
191
+ .email('Invalid email format')
192
+ .optional()
193
+ .describe('Customer email address'),
194
+ metadata: z
195
+ .record(z.string())
196
+ .optional()
197
+ .describe('Arbitrary metadata to attach to the customer'),
198
+ credentials: credentialsField,
199
+ }),
200
+ // List Customers
201
+ z.object({
202
+ operation: z
203
+ .literal('list_customers')
204
+ .describe('List customers from Stripe'),
205
+ limit: z
206
+ .number()
207
+ .int()
208
+ .min(1)
209
+ .max(100)
210
+ .optional()
211
+ .default(10)
212
+ .describe('Maximum number of customers to return (1-100)'),
213
+ email: z
214
+ .string()
215
+ .optional()
216
+ .describe('Filter customers by email address (case-sensitive)'),
217
+ credentials: credentialsField,
218
+ }),
219
+ // Create Product
220
+ z.object({
221
+ operation: z
222
+ .literal('create_product')
223
+ .describe('Create a new product in Stripe'),
224
+ name: z
225
+ .string()
226
+ .min(1, 'Product name is required')
227
+ .describe('Product name'),
228
+ description: z.string().optional().describe('Product description'),
229
+ metadata: z
230
+ .record(z.string())
231
+ .optional()
232
+ .describe('Arbitrary metadata to attach to the product'),
233
+ credentials: credentialsField,
234
+ }),
235
+ // List Products
236
+ z.object({
237
+ operation: z.literal('list_products').describe('List products from Stripe'),
238
+ limit: z
239
+ .number()
240
+ .int()
241
+ .min(1)
242
+ .max(100)
243
+ .optional()
244
+ .default(10)
245
+ .describe('Maximum number of products to return (1-100)'),
246
+ active: z.boolean().optional().describe('Filter by active status'),
247
+ credentials: credentialsField,
248
+ }),
249
+ // Create Price
250
+ z.object({
251
+ operation: z
252
+ .literal('create_price')
253
+ .describe('Create a new price for a product'),
254
+ product: z
255
+ .string()
256
+ .min(1, 'Product ID is required')
257
+ .describe('ID of the product this price is for'),
258
+ unit_amount: z
259
+ .number()
260
+ .int()
261
+ .min(0)
262
+ .describe('Price in smallest currency unit (e.g., cents for USD)'),
263
+ currency: z
264
+ .string()
265
+ .length(3, 'Currency must be 3-letter ISO code')
266
+ .default('usd')
267
+ .describe('Three-letter ISO currency code (e.g., "usd")'),
268
+ recurring: z
269
+ .object({
270
+ interval: z
271
+ .enum(['day', 'week', 'month', 'year'])
272
+ .describe('Billing interval'),
273
+ interval_count: z
274
+ .number()
275
+ .int()
276
+ .min(1)
277
+ .optional()
278
+ .default(1)
279
+ .describe('Number of intervals between billings'),
280
+ })
281
+ .optional()
282
+ .describe('Recurring pricing details (omit for one-time prices)'),
283
+ metadata: z
284
+ .record(z.string())
285
+ .optional()
286
+ .describe('Arbitrary metadata to attach to the price'),
287
+ credentials: credentialsField,
288
+ }),
289
+ // List Prices
290
+ z.object({
291
+ operation: z.literal('list_prices').describe('List prices from Stripe'),
292
+ limit: z
293
+ .number()
294
+ .int()
295
+ .min(1)
296
+ .max(100)
297
+ .optional()
298
+ .default(10)
299
+ .describe('Maximum number of prices to return (1-100)'),
300
+ product: z.string().optional().describe('Filter by product ID'),
301
+ active: z.boolean().optional().describe('Filter by active status'),
302
+ credentials: credentialsField,
303
+ }),
304
+ // Create Payment Link
305
+ z.object({
306
+ operation: z
307
+ .literal('create_payment_link')
308
+ .describe('Create a payment link for a price'),
309
+ price: z
310
+ .string()
311
+ .min(1, 'Price ID is required')
312
+ .describe('ID of the price to create payment link for'),
313
+ quantity: z
314
+ .number()
315
+ .int()
316
+ .min(1)
317
+ .default(1)
318
+ .describe('Quantity of items in the payment link'),
319
+ redirect_url: z
320
+ .string()
321
+ .url('Invalid URL format')
322
+ .optional()
323
+ .describe('URL to redirect after successful payment'),
324
+ metadata: z
325
+ .record(z.string())
326
+ .optional()
327
+ .describe('Arbitrary metadata to attach to the payment link'),
328
+ credentials: credentialsField,
329
+ }),
330
+ // Create Invoice
331
+ z.object({
332
+ operation: z
333
+ .literal('create_invoice')
334
+ .describe('Create a new invoice for a customer'),
335
+ customer: z
336
+ .string()
337
+ .min(1, 'Customer ID is required')
338
+ .describe('ID of the customer to invoice'),
339
+ auto_advance: z
340
+ .boolean()
341
+ .optional()
342
+ .default(true)
343
+ .describe('Whether to auto-finalize the invoice'),
344
+ collection_method: z
345
+ .enum(['charge_automatically', 'send_invoice'])
346
+ .optional()
347
+ .default('charge_automatically')
348
+ .describe('How to collect payment'),
349
+ days_until_due: z
350
+ .number()
351
+ .int()
352
+ .min(1)
353
+ .optional()
354
+ .describe('Days until invoice is due (for send_invoice collection)'),
355
+ metadata: z
356
+ .record(z.string())
357
+ .optional()
358
+ .describe('Arbitrary metadata to attach to the invoice'),
359
+ credentials: credentialsField,
360
+ }),
361
+ // List Invoices
362
+ z.object({
363
+ operation: z.literal('list_invoices').describe('List invoices from Stripe'),
364
+ limit: z
365
+ .number()
366
+ .int()
367
+ .min(1)
368
+ .max(100)
369
+ .optional()
370
+ .default(10)
371
+ .describe('Maximum number of invoices to return (1-100)'),
372
+ customer: z.string().optional().describe('Filter by customer ID'),
373
+ status: z
374
+ .enum(['draft', 'open', 'paid', 'uncollectible', 'void'])
375
+ .optional()
376
+ .describe('Filter by invoice status'),
377
+ credentials: credentialsField,
378
+ }),
379
+ // Get Balance
380
+ z.object({
381
+ operation: z
382
+ .literal('get_balance')
383
+ .describe('Retrieve the current account balance'),
384
+ credentials: credentialsField,
385
+ }),
386
+ // List Payment Intents
387
+ z.object({
388
+ operation: z
389
+ .literal('list_payment_intents')
390
+ .describe('List payment intents from Stripe'),
391
+ limit: z
392
+ .number()
393
+ .int()
394
+ .min(1)
395
+ .max(100)
396
+ .optional()
397
+ .default(10)
398
+ .describe('Maximum number of payment intents to return (1-100)'),
399
+ customer: z.string().optional().describe('Filter by customer ID'),
400
+ credentials: credentialsField,
401
+ }),
402
+ // List Subscriptions
403
+ z.object({
404
+ operation: z
405
+ .literal('list_subscriptions')
406
+ .describe('List subscriptions from Stripe'),
407
+ limit: z
408
+ .number()
409
+ .int()
410
+ .min(1)
411
+ .max(100)
412
+ .optional()
413
+ .default(10)
414
+ .describe('Maximum number of subscriptions to return (1-100)'),
415
+ customer: z.string().optional().describe('Filter by customer ID'),
416
+ status: z
417
+ .enum([
418
+ 'incomplete',
419
+ 'incomplete_expired',
420
+ 'trialing',
421
+ 'active',
422
+ 'past_due',
423
+ 'canceled',
424
+ 'unpaid',
425
+ 'paused',
426
+ 'all',
427
+ ])
428
+ .optional()
429
+ .describe('Filter by subscription status'),
430
+ credentials: credentialsField,
431
+ }),
432
+ // Cancel Subscription
433
+ z.object({
434
+ operation: z
435
+ .literal('cancel_subscription')
436
+ .describe('Cancel a subscription'),
437
+ subscription_id: z
438
+ .string()
439
+ .min(1, 'Subscription ID is required')
440
+ .describe('ID of the subscription to cancel'),
441
+ cancel_at_period_end: z
442
+ .boolean()
443
+ .optional()
444
+ .default(false)
445
+ .describe('Whether to cancel at the end of the current period'),
446
+ credentials: credentialsField,
447
+ }),
448
+ // List Payment Links
449
+ z.object({
450
+ operation: z
451
+ .literal('list_payment_links')
452
+ .describe('List payment links from Stripe'),
453
+ limit: z
454
+ .number()
455
+ .int()
456
+ .min(1)
457
+ .max(100)
458
+ .optional()
459
+ .default(10)
460
+ .describe('Maximum number of payment links to return (1-100)'),
461
+ active: z.boolean().optional().describe('Filter by active status'),
462
+ credentials: credentialsField,
463
+ }),
464
+ // Create Subscription
465
+ z.object({
466
+ operation: z
467
+ .literal('create_subscription')
468
+ .describe('Create a new subscription for a customer'),
469
+ customer: z
470
+ .string()
471
+ .min(1, 'Customer ID is required')
472
+ .describe('ID of the customer to subscribe'),
473
+ price: z
474
+ .string()
475
+ .min(1, 'Price ID is required')
476
+ .describe('ID of the recurring price to subscribe to'),
477
+ trial_period_days: z
478
+ .number()
479
+ .int()
480
+ .min(1)
481
+ .optional()
482
+ .describe('Number of trial period days before billing starts'),
483
+ payment_behavior: z
484
+ .enum(['default_incomplete', 'error_if_incomplete', 'allow_incomplete'])
485
+ .optional()
486
+ .default('default_incomplete')
487
+ .describe('How to handle payment failures. Use default_incomplete to create without payment method'),
488
+ metadata: z
489
+ .record(z.string())
490
+ .optional()
491
+ .describe('Arbitrary metadata to attach to the subscription'),
492
+ credentials: credentialsField,
493
+ }),
494
+ ]);
495
+ // ============================================================================
496
+ // RESULT SCHEMA - All Stripe Operation Results
497
+ // ============================================================================
498
+ export const StripeResultSchema = z.discriminatedUnion('operation', [
499
+ // Create Customer Result
500
+ z.object({
501
+ operation: z.literal('create_customer'),
502
+ success: z.boolean().describe('Whether the operation succeeded'),
503
+ customer: StripeCustomerSchema.optional().describe('Created customer object'),
504
+ error: z.string().describe('Error message if operation failed'),
505
+ }),
506
+ // List Customers Result
507
+ z.object({
508
+ operation: z.literal('list_customers'),
509
+ success: z.boolean().describe('Whether the operation succeeded'),
510
+ customers: z
511
+ .array(StripeCustomerSchema)
512
+ .optional()
513
+ .describe('List of customer objects'),
514
+ error: z.string().describe('Error message if operation failed'),
515
+ }),
516
+ // Create Product Result
517
+ z.object({
518
+ operation: z.literal('create_product'),
519
+ success: z.boolean().describe('Whether the operation succeeded'),
520
+ product: StripeProductSchema.optional().describe('Created product object'),
521
+ error: z.string().describe('Error message if operation failed'),
522
+ }),
523
+ // List Products Result
524
+ z.object({
525
+ operation: z.literal('list_products'),
526
+ success: z.boolean().describe('Whether the operation succeeded'),
527
+ products: z
528
+ .array(StripeProductSchema)
529
+ .optional()
530
+ .describe('List of product objects'),
531
+ error: z.string().describe('Error message if operation failed'),
532
+ }),
533
+ // Create Price Result
534
+ z.object({
535
+ operation: z.literal('create_price'),
536
+ success: z.boolean().describe('Whether the operation succeeded'),
537
+ price: StripePriceSchema.optional().describe('Created price object'),
538
+ error: z.string().describe('Error message if operation failed'),
539
+ }),
540
+ // List Prices Result
541
+ z.object({
542
+ operation: z.literal('list_prices'),
543
+ success: z.boolean().describe('Whether the operation succeeded'),
544
+ prices: z
545
+ .array(StripePriceSchema)
546
+ .optional()
547
+ .describe('List of price objects'),
548
+ error: z.string().describe('Error message if operation failed'),
549
+ }),
550
+ // Create Payment Link Result
551
+ z.object({
552
+ operation: z.literal('create_payment_link'),
553
+ success: z.boolean().describe('Whether the operation succeeded'),
554
+ payment_link: StripePaymentLinkSchema.optional().describe('Created payment link object'),
555
+ error: z.string().describe('Error message if operation failed'),
556
+ }),
557
+ // Create Invoice Result
558
+ z.object({
559
+ operation: z.literal('create_invoice'),
560
+ success: z.boolean().describe('Whether the operation succeeded'),
561
+ invoice: StripeInvoiceSchema.optional().describe('Created invoice object'),
562
+ error: z.string().describe('Error message if operation failed'),
563
+ }),
564
+ // List Invoices Result
565
+ z.object({
566
+ operation: z.literal('list_invoices'),
567
+ success: z.boolean().describe('Whether the operation succeeded'),
568
+ invoices: z
569
+ .array(StripeInvoiceSchema)
570
+ .optional()
571
+ .describe('List of invoice objects'),
572
+ error: z.string().describe('Error message if operation failed'),
573
+ }),
574
+ // Get Balance Result
575
+ z.object({
576
+ operation: z.literal('get_balance'),
577
+ success: z.boolean().describe('Whether the operation succeeded'),
578
+ balance: StripeBalanceSchema.optional().describe('Account balance'),
579
+ error: z.string().describe('Error message if operation failed'),
580
+ }),
581
+ // List Payment Intents Result
582
+ z.object({
583
+ operation: z.literal('list_payment_intents'),
584
+ success: z.boolean().describe('Whether the operation succeeded'),
585
+ payment_intents: z
586
+ .array(StripePaymentIntentSchema)
587
+ .optional()
588
+ .describe('List of payment intent objects'),
589
+ error: z.string().describe('Error message if operation failed'),
590
+ }),
591
+ // List Subscriptions Result
592
+ z.object({
593
+ operation: z.literal('list_subscriptions'),
594
+ success: z.boolean().describe('Whether the operation succeeded'),
595
+ subscriptions: z
596
+ .array(StripeSubscriptionSchema)
597
+ .optional()
598
+ .describe('List of subscription objects'),
599
+ error: z.string().describe('Error message if operation failed'),
600
+ }),
601
+ // Cancel Subscription Result
602
+ z.object({
603
+ operation: z.literal('cancel_subscription'),
604
+ success: z.boolean().describe('Whether the operation succeeded'),
605
+ subscription: StripeSubscriptionSchema.optional().describe('Canceled subscription object'),
606
+ error: z.string().describe('Error message if operation failed'),
607
+ }),
608
+ // List Payment Links Result
609
+ z.object({
610
+ operation: z.literal('list_payment_links'),
611
+ success: z.boolean().describe('Whether the operation succeeded'),
612
+ payment_links: z
613
+ .array(StripePaymentLinkSchema)
614
+ .optional()
615
+ .describe('List of payment link objects'),
616
+ error: z.string().describe('Error message if operation failed'),
617
+ }),
618
+ // Create Subscription Result
619
+ z.object({
620
+ operation: z.literal('create_subscription'),
621
+ success: z.boolean().describe('Whether the operation succeeded'),
622
+ subscription: StripeSubscriptionSchema.optional().describe('Created subscription object'),
623
+ error: z.string().describe('Error message if operation failed'),
624
+ }),
625
+ ]);
626
+ //# sourceMappingURL=stripe.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stripe.schema.js","sourceRoot":"","sources":["../../../../src/bubbles/service-bubble/stripe/stripe.schema.ts"],"names":[],"mappings":"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"}