@bubblelab/bubble-core 0.1.101 → 0.1.103

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 (80) hide show
  1. package/dist/bubble-bundle.d.ts +113 -113
  2. package/dist/bubbles/service-bubble/agi-inc.d.ts +56 -56
  3. package/dist/bubbles/service-bubble/ai-agent.d.ts +74 -74
  4. package/dist/bubbles/service-bubble/airtable.d.ts +98 -98
  5. package/dist/bubbles/service-bubble/apify/apify.d.ts +30 -30
  6. package/dist/bubbles/service-bubble/ashby/ashby.d.ts +68 -68
  7. package/dist/bubbles/service-bubble/ashby/ashby.schema.d.ts +92 -92
  8. package/dist/bubbles/service-bubble/browserbase/browserbase.d.ts +22 -22
  9. package/dist/bubbles/service-bubble/browserbase/browserbase.schema.d.ts +28 -28
  10. package/dist/bubbles/service-bubble/crustdata/crustdata.d.ts +155 -155
  11. package/dist/bubbles/service-bubble/crustdata/crustdata.schema.d.ts +158 -158
  12. package/dist/bubbles/service-bubble/eleven-labs.d.ts +32 -32
  13. package/dist/bubbles/service-bubble/firecrawl.d.ts +388 -388
  14. package/dist/bubbles/service-bubble/followupboss.d.ts +376 -376
  15. package/dist/bubbles/service-bubble/fullenrich/fullenrich.d.ts +78 -78
  16. package/dist/bubbles/service-bubble/fullenrich/fullenrich.schema.d.ts +108 -108
  17. package/dist/bubbles/service-bubble/github.d.ts +140 -140
  18. package/dist/bubbles/service-bubble/gmail.d.ts +172 -172
  19. package/dist/bubbles/service-bubble/google-calendar.d.ts +36 -36
  20. package/dist/bubbles/service-bubble/google-drive.d.ts +84 -84
  21. package/dist/bubbles/service-bubble/google-sheets/google-sheets.d.ts +22 -22
  22. package/dist/bubbles/service-bubble/google-sheets/google-sheets.schema.d.ts +32 -32
  23. package/dist/bubbles/service-bubble/hello-world.d.ts +4 -4
  24. package/dist/bubbles/service-bubble/http.d.ts +8 -8
  25. package/dist/bubbles/service-bubble/insforge-db.d.ts +12 -12
  26. package/dist/bubbles/service-bubble/jira/jira.d.ts +36 -36
  27. package/dist/bubbles/service-bubble/jira/jira.schema.d.ts +70 -70
  28. package/dist/bubbles/service-bubble/notion/notion.d.ts +126 -126
  29. package/dist/bubbles/service-bubble/postgresql.d.ts +12 -12
  30. package/dist/bubbles/service-bubble/resend.d.ts +12 -12
  31. package/dist/bubbles/service-bubble/slack/slack.d.ts +631 -631
  32. package/dist/bubbles/service-bubble/storage.d.ts +20 -20
  33. package/dist/bubbles/service-bubble/stripe/stripe.d.ts +147 -68
  34. package/dist/bubbles/service-bubble/stripe/stripe.d.ts.map +1 -1
  35. package/dist/bubbles/service-bubble/stripe/stripe.js +74 -21
  36. package/dist/bubbles/service-bubble/stripe/stripe.js.map +1 -1
  37. package/dist/bubbles/service-bubble/stripe/stripe.schema.d.ts +219 -141
  38. package/dist/bubbles/service-bubble/stripe/stripe.schema.d.ts.map +1 -1
  39. package/dist/bubbles/service-bubble/stripe/stripe.schema.js +48 -0
  40. package/dist/bubbles/service-bubble/stripe/stripe.schema.js.map +1 -1
  41. package/dist/bubbles/service-bubble/telegram.d.ts +968 -968
  42. package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.d.ts +22 -22
  43. package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.schema.d.ts +15 -15
  44. package/dist/bubbles/tool-bubble/bubbleflow-validation-tool.d.ts +4 -4
  45. package/dist/bubbles/tool-bubble/chart-js-tool.d.ts +10 -10
  46. package/dist/bubbles/tool-bubble/code-edit-tool.d.ts +4 -4
  47. package/dist/bubbles/tool-bubble/company-enrichment-tool.d.ts +52 -52
  48. package/dist/bubbles/tool-bubble/get-bubble-details-tool.d.ts +4 -4
  49. package/dist/bubbles/tool-bubble/get-trigger-detail-tool.d.ts +4 -4
  50. package/dist/bubbles/tool-bubble/google-maps-tool.d.ts +40 -40
  51. package/dist/bubbles/tool-bubble/instagram-tool.d.ts +38 -38
  52. package/dist/bubbles/tool-bubble/linkedin-connection-tool/linkedin-connection-tool.d.ts +4 -4
  53. package/dist/bubbles/tool-bubble/linkedin-connection-tool/linkedin-connection-tool.schema.d.ts +2 -2
  54. package/dist/bubbles/tool-bubble/linkedin-tool.d.ts +471 -471
  55. package/dist/bubbles/tool-bubble/list-airtable-bases-tool.d.ts +4 -4
  56. package/dist/bubbles/tool-bubble/list-airtable-tables-tool.d.ts +4 -4
  57. package/dist/bubbles/tool-bubble/list-bubbles-tool.d.ts +4 -4
  58. package/dist/bubbles/tool-bubble/people-search-tool.d.ts +166 -166
  59. package/dist/bubbles/tool-bubble/reddit-scrape-tool.d.ts +42 -42
  60. package/dist/bubbles/tool-bubble/research-agent-tool.d.ts +4 -4
  61. package/dist/bubbles/tool-bubble/sql-query-tool.d.ts +8 -8
  62. package/dist/bubbles/tool-bubble/tiktok-tool.d.ts +68 -68
  63. package/dist/bubbles/tool-bubble/tool-template.d.ts +4 -4
  64. package/dist/bubbles/tool-bubble/twitter-tool.d.ts +194 -194
  65. package/dist/bubbles/tool-bubble/web-crawl-tool.d.ts +18 -18
  66. package/dist/bubbles/tool-bubble/web-extract-tool.d.ts +12 -12
  67. package/dist/bubbles/tool-bubble/web-scrape-tool.d.ts +14 -14
  68. package/dist/bubbles/tool-bubble/web-search-tool.d.ts +14 -14
  69. package/dist/bubbles/tool-bubble/yc-scraper-tool.d.ts +88 -88
  70. package/dist/bubbles/tool-bubble/youtube-tool.d.ts +38 -38
  71. package/dist/bubbles/workflow-bubble/database-analyzer.workflow.d.ts +4 -4
  72. package/dist/bubbles/workflow-bubble/generate-document.workflow.d.ts +16 -16
  73. package/dist/bubbles/workflow-bubble/parse-document.workflow.d.ts +4 -4
  74. package/dist/bubbles/workflow-bubble/pdf-form-operations.workflow.d.ts +40 -40
  75. package/dist/bubbles/workflow-bubble/pdf-ocr.workflow.d.ts +24 -24
  76. package/dist/bubbles/workflow-bubble/slack-data-assistant.workflow.d.ts +8 -8
  77. package/dist/bubbles/workflow-bubble/slack-formatter-agent.d.ts +28 -28
  78. package/dist/bubbles/workflow-bubble/slack-notifier.workflow.d.ts +4 -4
  79. package/dist/bubbles.json +122 -2
  80. package/package.json +2 -2
@@ -154,12 +154,13 @@ declare const SlackFormatterAgentResultSchema: z.ZodObject<{
154
154
  verbatim?: boolean | undefined;
155
155
  }>, "many">>;
156
156
  }, "strip", z.ZodTypeAny, {
157
- type: "input" | "image" | "file" | "section" | "header" | "divider" | "context" | "actions";
157
+ type: "image" | "input" | "file" | "section" | "divider" | "header" | "context" | "actions";
158
158
  title?: {
159
159
  type: "plain_text";
160
160
  text: string;
161
161
  emoji?: boolean | undefined;
162
162
  } | undefined;
163
+ optional?: boolean | undefined;
163
164
  text?: {
164
165
  type: "plain_text" | "mrkdwn";
165
166
  text: string;
@@ -167,8 +168,6 @@ declare const SlackFormatterAgentResultSchema: z.ZodObject<{
167
168
  verbatim?: boolean | undefined;
168
169
  } | undefined;
169
170
  image_url?: string | undefined;
170
- element?: unknown;
171
- optional?: boolean | undefined;
172
171
  fields?: {
173
172
  type: "plain_text" | "mrkdwn";
174
173
  text: string;
@@ -184,15 +183,17 @@ declare const SlackFormatterAgentResultSchema: z.ZodObject<{
184
183
  }[] | undefined;
185
184
  block_id?: string | undefined;
186
185
  accessory?: unknown;
186
+ element?: unknown;
187
187
  label?: unknown;
188
188
  hint?: unknown;
189
189
  }, {
190
- type: "input" | "image" | "file" | "section" | "header" | "divider" | "context" | "actions";
190
+ type: "image" | "input" | "file" | "section" | "divider" | "header" | "context" | "actions";
191
191
  title?: {
192
192
  type: "plain_text";
193
193
  text: string;
194
194
  emoji?: boolean | undefined;
195
195
  } | undefined;
196
+ optional?: boolean | undefined;
196
197
  text?: {
197
198
  type: "plain_text" | "mrkdwn";
198
199
  text: string;
@@ -200,8 +201,6 @@ declare const SlackFormatterAgentResultSchema: z.ZodObject<{
200
201
  verbatim?: boolean | undefined;
201
202
  } | undefined;
202
203
  image_url?: string | undefined;
203
- element?: unknown;
204
- optional?: boolean | undefined;
205
204
  fields?: {
206
205
  type: "plain_text" | "mrkdwn";
207
206
  text: string;
@@ -217,6 +216,7 @@ declare const SlackFormatterAgentResultSchema: z.ZodObject<{
217
216
  }[] | undefined;
218
217
  block_id?: string | undefined;
219
218
  accessory?: unknown;
219
+ element?: unknown;
220
220
  label?: unknown;
221
221
  hint?: unknown;
222
222
  }>, "many">>;
@@ -253,8 +253,8 @@ declare const SlackFormatterAgentResultSchema: z.ZodObject<{
253
253
  error: z.ZodString;
254
254
  success: z.ZodBoolean;
255
255
  }, "strip", z.ZodTypeAny, {
256
- success: boolean;
257
256
  error: string;
257
+ success: boolean;
258
258
  metadata: {
259
259
  verbosityLevel: string;
260
260
  technicalityLevel: string;
@@ -269,12 +269,13 @@ declare const SlackFormatterAgentResultSchema: z.ZodObject<{
269
269
  output?: unknown;
270
270
  }[] | undefined;
271
271
  blocks?: {
272
- type: "input" | "image" | "file" | "section" | "header" | "divider" | "context" | "actions";
272
+ type: "image" | "input" | "file" | "section" | "divider" | "header" | "context" | "actions";
273
273
  title?: {
274
274
  type: "plain_text";
275
275
  text: string;
276
276
  emoji?: boolean | undefined;
277
277
  } | undefined;
278
+ optional?: boolean | undefined;
278
279
  text?: {
279
280
  type: "plain_text" | "mrkdwn";
280
281
  text: string;
@@ -282,8 +283,6 @@ declare const SlackFormatterAgentResultSchema: z.ZodObject<{
282
283
  verbatim?: boolean | undefined;
283
284
  } | undefined;
284
285
  image_url?: string | undefined;
285
- element?: unknown;
286
- optional?: boolean | undefined;
287
286
  fields?: {
288
287
  type: "plain_text" | "mrkdwn";
289
288
  text: string;
@@ -299,12 +298,13 @@ declare const SlackFormatterAgentResultSchema: z.ZodObject<{
299
298
  }[] | undefined;
300
299
  block_id?: string | undefined;
301
300
  accessory?: unknown;
301
+ element?: unknown;
302
302
  label?: unknown;
303
303
  hint?: unknown;
304
304
  }[] | undefined;
305
305
  }, {
306
- success: boolean;
307
306
  error: string;
307
+ success: boolean;
308
308
  metadata: {
309
309
  verbosityLevel: string;
310
310
  technicalityLevel: string;
@@ -319,12 +319,13 @@ declare const SlackFormatterAgentResultSchema: z.ZodObject<{
319
319
  output?: unknown;
320
320
  }[] | undefined;
321
321
  blocks?: {
322
- type: "input" | "image" | "file" | "section" | "header" | "divider" | "context" | "actions";
322
+ type: "image" | "input" | "file" | "section" | "divider" | "header" | "context" | "actions";
323
323
  title?: {
324
324
  type: "plain_text";
325
325
  text: string;
326
326
  emoji?: boolean | undefined;
327
327
  } | undefined;
328
+ optional?: boolean | undefined;
328
329
  text?: {
329
330
  type: "plain_text" | "mrkdwn";
330
331
  text: string;
@@ -332,8 +333,6 @@ declare const SlackFormatterAgentResultSchema: z.ZodObject<{
332
333
  verbatim?: boolean | undefined;
333
334
  } | undefined;
334
335
  image_url?: string | undefined;
335
- element?: unknown;
336
- optional?: boolean | undefined;
337
336
  fields?: {
338
337
  type: "plain_text" | "mrkdwn";
339
338
  text: string;
@@ -349,6 +348,7 @@ declare const SlackFormatterAgentResultSchema: z.ZodObject<{
349
348
  }[] | undefined;
350
349
  block_id?: string | undefined;
351
350
  accessory?: unknown;
351
+ element?: unknown;
352
352
  label?: unknown;
353
353
  hint?: unknown;
354
354
  }[] | undefined;
@@ -512,12 +512,13 @@ export declare class SlackFormatterAgentBubble extends WorkflowBubble<SlackForma
512
512
  verbatim?: boolean | undefined;
513
513
  }>, "many">>;
514
514
  }, "strip", z.ZodTypeAny, {
515
- type: "input" | "image" | "file" | "section" | "header" | "divider" | "context" | "actions";
515
+ type: "image" | "input" | "file" | "section" | "divider" | "header" | "context" | "actions";
516
516
  title?: {
517
517
  type: "plain_text";
518
518
  text: string;
519
519
  emoji?: boolean | undefined;
520
520
  } | undefined;
521
+ optional?: boolean | undefined;
521
522
  text?: {
522
523
  type: "plain_text" | "mrkdwn";
523
524
  text: string;
@@ -525,8 +526,6 @@ export declare class SlackFormatterAgentBubble extends WorkflowBubble<SlackForma
525
526
  verbatim?: boolean | undefined;
526
527
  } | undefined;
527
528
  image_url?: string | undefined;
528
- element?: unknown;
529
- optional?: boolean | undefined;
530
529
  fields?: {
531
530
  type: "plain_text" | "mrkdwn";
532
531
  text: string;
@@ -542,15 +541,17 @@ export declare class SlackFormatterAgentBubble extends WorkflowBubble<SlackForma
542
541
  }[] | undefined;
543
542
  block_id?: string | undefined;
544
543
  accessory?: unknown;
544
+ element?: unknown;
545
545
  label?: unknown;
546
546
  hint?: unknown;
547
547
  }, {
548
- type: "input" | "image" | "file" | "section" | "header" | "divider" | "context" | "actions";
548
+ type: "image" | "input" | "file" | "section" | "divider" | "header" | "context" | "actions";
549
549
  title?: {
550
550
  type: "plain_text";
551
551
  text: string;
552
552
  emoji?: boolean | undefined;
553
553
  } | undefined;
554
+ optional?: boolean | undefined;
554
555
  text?: {
555
556
  type: "plain_text" | "mrkdwn";
556
557
  text: string;
@@ -558,8 +559,6 @@ export declare class SlackFormatterAgentBubble extends WorkflowBubble<SlackForma
558
559
  verbatim?: boolean | undefined;
559
560
  } | undefined;
560
561
  image_url?: string | undefined;
561
- element?: unknown;
562
- optional?: boolean | undefined;
563
562
  fields?: {
564
563
  type: "plain_text" | "mrkdwn";
565
564
  text: string;
@@ -575,6 +574,7 @@ export declare class SlackFormatterAgentBubble extends WorkflowBubble<SlackForma
575
574
  }[] | undefined;
576
575
  block_id?: string | undefined;
577
576
  accessory?: unknown;
577
+ element?: unknown;
578
578
  label?: unknown;
579
579
  hint?: unknown;
580
580
  }>, "many">>;
@@ -611,8 +611,8 @@ export declare class SlackFormatterAgentBubble extends WorkflowBubble<SlackForma
611
611
  error: z.ZodString;
612
612
  success: z.ZodBoolean;
613
613
  }, "strip", z.ZodTypeAny, {
614
- success: boolean;
615
614
  error: string;
615
+ success: boolean;
616
616
  metadata: {
617
617
  verbosityLevel: string;
618
618
  technicalityLevel: string;
@@ -627,12 +627,13 @@ export declare class SlackFormatterAgentBubble extends WorkflowBubble<SlackForma
627
627
  output?: unknown;
628
628
  }[] | undefined;
629
629
  blocks?: {
630
- type: "input" | "image" | "file" | "section" | "header" | "divider" | "context" | "actions";
630
+ type: "image" | "input" | "file" | "section" | "divider" | "header" | "context" | "actions";
631
631
  title?: {
632
632
  type: "plain_text";
633
633
  text: string;
634
634
  emoji?: boolean | undefined;
635
635
  } | undefined;
636
+ optional?: boolean | undefined;
636
637
  text?: {
637
638
  type: "plain_text" | "mrkdwn";
638
639
  text: string;
@@ -640,8 +641,6 @@ export declare class SlackFormatterAgentBubble extends WorkflowBubble<SlackForma
640
641
  verbatim?: boolean | undefined;
641
642
  } | undefined;
642
643
  image_url?: string | undefined;
643
- element?: unknown;
644
- optional?: boolean | undefined;
645
644
  fields?: {
646
645
  type: "plain_text" | "mrkdwn";
647
646
  text: string;
@@ -657,12 +656,13 @@ export declare class SlackFormatterAgentBubble extends WorkflowBubble<SlackForma
657
656
  }[] | undefined;
658
657
  block_id?: string | undefined;
659
658
  accessory?: unknown;
659
+ element?: unknown;
660
660
  label?: unknown;
661
661
  hint?: unknown;
662
662
  }[] | undefined;
663
663
  }, {
664
- success: boolean;
665
664
  error: string;
665
+ success: boolean;
666
666
  metadata: {
667
667
  verbosityLevel: string;
668
668
  technicalityLevel: string;
@@ -677,12 +677,13 @@ export declare class SlackFormatterAgentBubble extends WorkflowBubble<SlackForma
677
677
  output?: unknown;
678
678
  }[] | undefined;
679
679
  blocks?: {
680
- type: "input" | "image" | "file" | "section" | "header" | "divider" | "context" | "actions";
680
+ type: "image" | "input" | "file" | "section" | "divider" | "header" | "context" | "actions";
681
681
  title?: {
682
682
  type: "plain_text";
683
683
  text: string;
684
684
  emoji?: boolean | undefined;
685
685
  } | undefined;
686
+ optional?: boolean | undefined;
686
687
  text?: {
687
688
  type: "plain_text" | "mrkdwn";
688
689
  text: string;
@@ -690,8 +691,6 @@ export declare class SlackFormatterAgentBubble extends WorkflowBubble<SlackForma
690
691
  verbatim?: boolean | undefined;
691
692
  } | undefined;
692
693
  image_url?: string | undefined;
693
- element?: unknown;
694
- optional?: boolean | undefined;
695
694
  fields?: {
696
695
  type: "plain_text" | "mrkdwn";
697
696
  text: string;
@@ -707,6 +706,7 @@ export declare class SlackFormatterAgentBubble extends WorkflowBubble<SlackForma
707
706
  }[] | undefined;
708
707
  block_id?: string | undefined;
709
708
  accessory?: unknown;
709
+ element?: unknown;
710
710
  label?: unknown;
711
711
  hint?: unknown;
712
712
  }[] | undefined;
@@ -148,8 +148,8 @@ declare const SlackNotifierResultSchema: z.ZodObject<{
148
148
  originalLength?: number | undefined;
149
149
  }>>;
150
150
  }, "strip", z.ZodTypeAny, {
151
- success: boolean;
152
151
  error: string;
152
+ success: boolean;
153
153
  messageInfo?: {
154
154
  channelName?: string | undefined;
155
155
  messageTimestamp?: string | undefined;
@@ -163,8 +163,8 @@ declare const SlackNotifierResultSchema: z.ZodObject<{
163
163
  originalLength?: number | undefined;
164
164
  } | undefined;
165
165
  }, {
166
- success: boolean;
167
166
  error: string;
167
+ success: boolean;
168
168
  messageInfo?: {
169
169
  channelName?: string | undefined;
170
170
  messageTimestamp?: string | undefined;
@@ -344,8 +344,8 @@ export declare class SlackNotifierWorkflowBubble extends WorkflowBubble<SlackNot
344
344
  originalLength?: number | undefined;
345
345
  }>>;
346
346
  }, "strip", z.ZodTypeAny, {
347
- success: boolean;
348
347
  error: string;
348
+ success: boolean;
349
349
  messageInfo?: {
350
350
  channelName?: string | undefined;
351
351
  messageTimestamp?: string | undefined;
@@ -359,8 +359,8 @@ export declare class SlackNotifierWorkflowBubble extends WorkflowBubble<SlackNot
359
359
  originalLength?: number | undefined;
360
360
  } | undefined;
361
361
  }, {
362
- success: boolean;
363
362
  error: string;
363
+ success: boolean;
364
364
  messageInfo?: {
365
365
  channelName?: string | undefined;
366
366
  messageTimestamp?: string | undefined;
package/dist/bubbles.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": "2.0.0",
3
- "generatedAt": "2026-02-04T21:27:33.006Z",
3
+ "generatedAt": "2026-02-04T23:43:47.175Z",
4
4
  "totalCount": 59,
5
5
  "bubbles": [
6
6
  {
@@ -58627,6 +58627,10 @@
58627
58627
  "type": "string",
58628
58628
  "description": "Filter customers by email address (case-sensitive)"
58629
58629
  },
58630
+ "cursor": {
58631
+ "type": "string",
58632
+ "description": "Pagination cursor - pass the next_cursor from a previous response to get the next page"
58633
+ },
58630
58634
  "credentials": {
58631
58635
  "type": "object",
58632
58636
  "additionalProperties": {
@@ -58640,6 +58644,35 @@
58640
58644
  ],
58641
58645
  "additionalProperties": false
58642
58646
  },
58647
+ {
58648
+ "type": "object",
58649
+ "properties": {
58650
+ "operation": {
58651
+ "type": "string",
58652
+ "enum": [
58653
+ "retrieve_customer"
58654
+ ],
58655
+ "description": "Retrieve a specific customer by ID"
58656
+ },
58657
+ "customer_id": {
58658
+ "type": "string",
58659
+ "minLength": 1,
58660
+ "description": "ID of the customer to retrieve (cus_xxx)"
58661
+ },
58662
+ "credentials": {
58663
+ "type": "object",
58664
+ "additionalProperties": {
58665
+ "type": "string"
58666
+ },
58667
+ "description": "Object mapping credential types to values (injected at runtime)"
58668
+ }
58669
+ },
58670
+ "required": [
58671
+ "operation",
58672
+ "customer_id"
58673
+ ],
58674
+ "additionalProperties": false
58675
+ },
58643
58676
  {
58644
58677
  "type": "object",
58645
58678
  "properties": {
@@ -58989,6 +59022,10 @@
58989
59022
  ],
58990
59023
  "description": "Filter by invoice status"
58991
59024
  },
59025
+ "cursor": {
59026
+ "type": "string",
59027
+ "description": "Pagination cursor - pass the next_cursor from a previous response to get the next page"
59028
+ },
58992
59029
  "credentials": {
58993
59030
  "type": "object",
58994
59031
  "additionalProperties": {
@@ -59505,6 +59542,80 @@
59505
59542
  },
59506
59543
  "description": "List of customer objects"
59507
59544
  },
59545
+ "has_more": {
59546
+ "type": "boolean",
59547
+ "description": "Whether there are more customers available beyond this page"
59548
+ },
59549
+ "next_cursor": {
59550
+ "type": "string",
59551
+ "nullable": true,
59552
+ "description": "Cursor to pass as \"cursor\" parameter to fetch the next page (null if no more pages)"
59553
+ },
59554
+ "error": {
59555
+ "type": "string",
59556
+ "description": "Error message if operation failed"
59557
+ }
59558
+ },
59559
+ "required": [
59560
+ "operation",
59561
+ "success",
59562
+ "error"
59563
+ ],
59564
+ "additionalProperties": false
59565
+ },
59566
+ {
59567
+ "type": "object",
59568
+ "properties": {
59569
+ "operation": {
59570
+ "type": "string",
59571
+ "enum": [
59572
+ "retrieve_customer"
59573
+ ]
59574
+ },
59575
+ "success": {
59576
+ "type": "boolean",
59577
+ "description": "Whether the operation succeeded"
59578
+ },
59579
+ "customer": {
59580
+ "type": "object",
59581
+ "properties": {
59582
+ "id": {
59583
+ "type": "string",
59584
+ "description": "Unique Stripe customer identifier (cus_xxx)"
59585
+ },
59586
+ "name": {
59587
+ "type": "string",
59588
+ "nullable": true,
59589
+ "description": "Customer name"
59590
+ },
59591
+ "email": {
59592
+ "type": "string",
59593
+ "nullable": true,
59594
+ "description": "Customer email address"
59595
+ },
59596
+ "created": {
59597
+ "type": "number",
59598
+ "description": "Unix timestamp of creation"
59599
+ },
59600
+ "metadata": {
59601
+ "type": "object",
59602
+ "additionalProperties": {
59603
+ "type": "string"
59604
+ },
59605
+ "description": "Arbitrary metadata attached to the customer"
59606
+ }
59607
+ },
59608
+ "required": [
59609
+ "id",
59610
+ "created"
59611
+ ],
59612
+ "additionalProperties": false,
59613
+ "description": "Retrieved customer object"
59614
+ },
59615
+ "deleted": {
59616
+ "type": "boolean",
59617
+ "description": "True if the customer has been deleted"
59618
+ },
59508
59619
  "error": {
59509
59620
  "type": "string",
59510
59621
  "description": "Error message if operation failed"
@@ -60059,6 +60170,15 @@
60059
60170
  },
60060
60171
  "description": "List of invoice objects"
60061
60172
  },
60173
+ "has_more": {
60174
+ "type": "boolean",
60175
+ "description": "Whether there are more invoices available beyond this page"
60176
+ },
60177
+ "next_cursor": {
60178
+ "type": "string",
60179
+ "nullable": true,
60180
+ "description": "Cursor to pass as \"cursor\" parameter to fetch the next page (null if no more pages)"
60181
+ },
60062
60182
  "error": {
60063
60183
  "type": "string",
60064
60184
  "description": "Error message if operation failed"
@@ -60923,7 +61043,7 @@
60923
61043
  }
60924
61044
  ]
60925
61045
  },
60926
- "usageExample": "// Create Customer example\nconst stripe_create_customer = new StripeBubble({\n operation: \"create_customer\", // Create a new customer in Stripe\n name: \"example string\", // Customer name\n email: \"example string\", // Customer email address\n metadata: { \"example_key\": \"example string\" }, // Arbitrary metadata to attach to the customer\n});\n\nconst result = await stripe_create_customer.action();\n// outputSchema for result.data when operation === 'create_customer':\n// {\n// operation: \"create_customer\",\n// success: boolean // Whether the operation succeeded,\n// customer: { id: string // Unique Stripe customer identifier (cus_xxx), name: string | null | undefined // Customer name, email: string | null | undefined // Customer email address, created: number // Unix timestamp of creation, metadata: Record<string, string> | undefined // Arbitrary metadata attached to the customer } | undefined // Created customer object,\n// error: string // Error message if operation failed\n// }\n\n\n// List Customers example\nconst stripe_list_customers = new StripeBubble({\n operation: \"list_customers\", // List customers from Stripe\n limit: 10 // default, // Maximum number of customers to return (1-100)\n email: \"example string\", // Filter customers by email address (case-sensitive)\n});\n\nconst result = await stripe_list_customers.action();\n// outputSchema for result.data when operation === 'list_customers':\n// {\n// operation: \"list_customers\",\n// success: boolean // Whether the operation succeeded,\n// customers: { id: string // Unique Stripe customer identifier (cus_xxx), name: string | null | undefined // Customer name, email: string | null | undefined // Customer email address, created: number // Unix timestamp of creation, metadata: Record<string, string> | undefined // Arbitrary metadata attached to the customer }[] | undefined // List of customer objects,\n// error: string // Error message if operation failed\n// }\n\n\n// Create Product example\nconst stripe_create_product = new StripeBubble({\n operation: \"create_product\", // Create a new product in Stripe\n name: \"example string\", // Product name\n description: \"example string\", // Product description\n metadata: { \"example_key\": \"example string\" }, // Arbitrary metadata to attach to the product\n});\n\nconst result = await stripe_create_product.action();\n// outputSchema for result.data when operation === 'create_product':\n// {\n// operation: \"create_product\",\n// success: boolean // Whether the operation succeeded,\n// product: { id: string // Unique Stripe product identifier (prod_xxx), name: string // Product name, description: string | null | undefined // Product description, active: boolean // Whether the product is currently available, created: number // Unix timestamp of creation, metadata: Record<string, string> | undefined // Arbitrary metadata attached to the product } | undefined // Created product object,\n// error: string // Error message if operation failed\n// }\n\n\n// List Products example\nconst stripe_list_products = new StripeBubble({\n operation: \"list_products\", // List products from Stripe\n limit: 10 // default, // Maximum number of products to return (1-100)\n active: true, // Filter by active status\n});\n\nconst result = await stripe_list_products.action();\n// outputSchema for result.data when operation === 'list_products':\n// {\n// operation: \"list_products\",\n// success: boolean // Whether the operation succeeded,\n// products: { id: string // Unique Stripe product identifier (prod_xxx), name: string // Product name, description: string | null | undefined // Product description, active: boolean // Whether the product is currently available, created: number // Unix timestamp of creation, metadata: Record<string, string> | undefined // Arbitrary metadata attached to the product }[] | undefined // List of product objects,\n// error: string // Error message if operation failed\n// }\n\n\n// Create Price example\nconst stripe_create_price = new StripeBubble({\n operation: \"create_price\", // Create a new price for a product\n product: \"example string\", // ID of the product this price is for\n unit_amount: 42, // Price in smallest currency unit (e.g., cents for USD)\n currency: \"usd\" // default, // Three-letter ISO currency code (e.g., \"usd\")\n recurring: { interval: \"day\" // options: \"day\", \"week\", \"month\", \"year\" // Billing interval, interval_count: 1 // default // Number of intervals between billings }, // Recurring pricing details (omit for one-time prices)\n metadata: { \"example_key\": \"example string\" }, // Arbitrary metadata to attach to the price\n});\n\nconst result = await stripe_create_price.action();\n// outputSchema for result.data when operation === 'create_price':\n// {\n// operation: \"create_price\",\n// success: boolean // Whether the operation succeeded,\n// price: { id: string // Unique Stripe price identifier (price_xxx), product: string // ID of the product this price is for, unit_amount: number | null // Price in the smallest currency unit (e.g., cents), currency: string // Three-letter ISO currency code, type: \"one_time\" | \"recurring\" // Type of pricing (one-time or recurring), active: boolean // Whether the price is currently active, created: number // Unix timestamp of creation, metadata: Record<string, string> | undefined // Arbitrary metadata attached to the price } | undefined // Created price object,\n// error: string // Error message if operation failed\n// }\n\n\n// List Prices example\nconst stripe_list_prices = new StripeBubble({\n operation: \"list_prices\", // List prices from Stripe\n limit: 10 // default, // Maximum number of prices to return (1-100)\n product: \"example string\", // Filter by product ID\n active: true, // Filter by active status\n});\n\nconst result = await stripe_list_prices.action();\n// outputSchema for result.data when operation === 'list_prices':\n// {\n// operation: \"list_prices\",\n// success: boolean // Whether the operation succeeded,\n// prices: { id: string // Unique Stripe price identifier (price_xxx), product: string // ID of the product this price is for, unit_amount: number | null // Price in the smallest currency unit (e.g., cents), currency: string // Three-letter ISO currency code, type: \"one_time\" | \"recurring\" // Type of pricing (one-time or recurring), active: boolean // Whether the price is currently active, created: number // Unix timestamp of creation, metadata: Record<string, string> | undefined // Arbitrary metadata attached to the price }[] | undefined // List of price objects,\n// error: string // Error message if operation failed\n// }\n\n\n// Create Payment Link example\nconst stripe_create_payment_link = new StripeBubble({\n operation: \"create_payment_link\", // Create a payment link for a price\n price: \"example string\", // ID of the price to create payment link for\n quantity: 1 // default, // Quantity of items in the payment link\n redirect_url: \"example string\", // URL to redirect after successful payment\n metadata: { \"example_key\": \"example string\" }, // Arbitrary metadata to attach to the payment link\n});\n\nconst result = await stripe_create_payment_link.action();\n// outputSchema for result.data when operation === 'create_payment_link':\n// {\n// operation: \"create_payment_link\",\n// success: boolean // Whether the operation succeeded,\n// payment_link: { id: string // Unique Stripe payment link identifier (plink_xxx), url: string // The public URL of the payment link, active: boolean // Whether the payment link is active, created: number | undefined // Unix timestamp of creation, metadata: Record<string, string> | undefined // Arbitrary metadata attached to the payment link } | undefined // Created payment link object,\n// error: string // Error message if operation failed\n// }\n\n\n// Create Invoice example\nconst stripe_create_invoice = new StripeBubble({\n operation: \"create_invoice\", // Create a new invoice for a customer\n customer: \"example string\", // ID of the customer to invoice\n auto_advance: true // default, // Whether to auto-finalize the invoice\n collection_method: \"charge_automatically\" // options: \"charge_automatically\", \"send_invoice\", // How to collect payment\n days_until_due: 42, // Days until invoice is due (for send_invoice collection)\n items: [{ unit_amount: 42 // Unit price in smallest currency unit (e.g., cents). Total = unit_amount * quantity, description: \"example string\" // Description of the line item, quantity: 1 // default // Quantity of items (default: 1) }], // Line items to add to the invoice after creation. Each item will be created as an invoice item.\n metadata: { \"example_key\": \"example string\" }, // Arbitrary metadata to attach to the invoice\n});\n\nconst result = await stripe_create_invoice.action();\n// outputSchema for result.data when operation === 'create_invoice':\n// {\n// operation: \"create_invoice\",\n// success: boolean // Whether the operation succeeded,\n// invoice: { id: string // Unique Stripe invoice identifier (in_xxx), customer: string | null // ID of the customer, status: \"draft\" | \"open\" | \"paid\" | \"uncollectible\" | \"void\" | null // Invoice status, total: number // Total amount in smallest currency unit, currency: string // Three-letter ISO currency code, created: number | undefined // Unix timestamp of creation, due_date: string | null | undefined // ISO date string when the invoice is due, hosted_invoice_url: string | null | undefined // URL for the hosted invoice page, invoice_pdf: string | null | undefined // URL for the invoice PDF (only available after finalization), metadata: Record<string, string> | undefined // Arbitrary metadata attached to the invoice } | undefined // Created invoice object,\n// error: string // Error message if operation failed\n// }\n\n\n// List Invoices example\nconst stripe_list_invoices = new StripeBubble({\n operation: \"list_invoices\", // List invoices from Stripe\n limit: 10 // default, // Maximum number of invoices to return (1-100)\n customer: \"example string\", // Filter by customer ID\n status: \"draft\" // options: \"draft\", \"open\", \"paid\", \"uncollectible\", \"void\", // Filter by invoice status\n});\n\nconst result = await stripe_list_invoices.action();\n// outputSchema for result.data when operation === 'list_invoices':\n// {\n// operation: \"list_invoices\",\n// success: boolean // Whether the operation succeeded,\n// invoices: { id: string // Unique Stripe invoice identifier (in_xxx), customer: string | null // ID of the customer, status: \"draft\" | \"open\" | \"paid\" | \"uncollectible\" | \"void\" | null // Invoice status, total: number // Total amount in smallest currency unit, currency: string // Three-letter ISO currency code, created: number | undefined // Unix timestamp of creation, due_date: string | null | undefined // ISO date string when the invoice is due, hosted_invoice_url: string | null | undefined // URL for the hosted invoice page, invoice_pdf: string | null | undefined // URL for the invoice PDF (only available after finalization), metadata: Record<string, string> | undefined // Arbitrary metadata attached to the invoice }[] | undefined // List of invoice objects,\n// error: string // Error message if operation failed\n// }\n\n\n// Retrieve Invoice example\nconst stripe_retrieve_invoice = new StripeBubble({\n operation: \"retrieve_invoice\", // Retrieve a specific invoice by ID\n invoice_id: \"example string\", // ID of the invoice to retrieve\n});\n\nconst result = await stripe_retrieve_invoice.action();\n// outputSchema for result.data when operation === 'retrieve_invoice':\n// {\n// operation: \"retrieve_invoice\",\n// success: boolean // Whether the operation succeeded,\n// invoice: { id: string // Unique Stripe invoice identifier (in_xxx), customer: string | null // ID of the customer, status: \"draft\" | \"open\" | \"paid\" | \"uncollectible\" | \"void\" | null // Invoice status, total: number // Total amount in smallest currency unit, currency: string // Three-letter ISO currency code, created: number | undefined // Unix timestamp of creation, due_date: string | null | undefined // ISO date string when the invoice is due, hosted_invoice_url: string | null | undefined // URL for the hosted invoice page, invoice_pdf: string | null | undefined // URL for the invoice PDF (only available after finalization), metadata: Record<string, string> | undefined // Arbitrary metadata attached to the invoice } | undefined // Retrieved invoice object,\n// error: string // Error message if operation failed\n// }\n\n\n// Finalize Invoice example\nconst stripe_finalize_invoice = new StripeBubble({\n operation: \"finalize_invoice\", // Finalize a draft invoice to make it ready for payment\n invoice_id: \"example string\", // ID of the draft invoice to finalize\n auto_advance: true, // Whether to automatically advance the invoice after finalizing\n});\n\nconst result = await stripe_finalize_invoice.action();\n// outputSchema for result.data when operation === 'finalize_invoice':\n// {\n// operation: \"finalize_invoice\",\n// success: boolean // Whether the operation succeeded,\n// invoice: { id: string // Unique Stripe invoice identifier (in_xxx), customer: string | null // ID of the customer, status: \"draft\" | \"open\" | \"paid\" | \"uncollectible\" | \"void\" | null // Invoice status, total: number // Total amount in smallest currency unit, currency: string // Three-letter ISO currency code, created: number | undefined // Unix timestamp of creation, due_date: string | null | undefined // ISO date string when the invoice is due, hosted_invoice_url: string | null | undefined // URL for the hosted invoice page, invoice_pdf: string | null | undefined // URL for the invoice PDF (only available after finalization), metadata: Record<string, string> | undefined // Arbitrary metadata attached to the invoice } | undefined // Finalized invoice object,\n// error: string // Error message if operation failed\n// }\n\n\n// Create Invoice Item example\nconst stripe_create_invoice_item = new StripeBubble({\n operation: \"create_invoice_item\", // Add a line item to an existing invoice or as a pending item for a customer\n customer: \"example string\", // ID of the customer to add the item to\n invoice: \"example string\", // ID of the invoice to attach this item to (must be a draft invoice)\n unit_amount: 42, // Unit price in smallest currency unit (e.g., cents). Total = unit_amount * quantity\n currency: \"usd\" // default, // Three-letter ISO currency code (e.g., \"usd\")\n description: \"example string\", // Description of the line item\n quantity: 1 // default, // Quantity of items (default: 1)\n metadata: { \"example_key\": \"example string\" }, // Arbitrary metadata to attach to the invoice item\n});\n\nconst result = await stripe_create_invoice_item.action();\n// outputSchema for result.data when operation === 'create_invoice_item':\n// {\n// operation: \"create_invoice_item\",\n// success: boolean // Whether the operation succeeded,\n// invoice_item: { id: string // Unique Stripe invoice item identifier (ii_xxx), invoice: string | null | undefined // ID of the invoice this item belongs to, customer: string // ID of the customer, amount: number // Total amount in smallest currency unit (unit_amount * quantity), unit_amount: number | null | undefined // Unit price in smallest currency unit, currency: string // Three-letter ISO currency code, description: string | null | undefined // Description of the invoice item, quantity: number | undefined // Quantity of the item, date: number | undefined // Unix timestamp when the item was created, metadata: Record<string, string> | undefined // Arbitrary metadata attached to the invoice item } | undefined // Created invoice item object,\n// error: string // Error message if operation failed\n// }\n\n\n// Send Invoice example\nconst stripe_send_invoice = new StripeBubble({\n operation: \"send_invoice\", // Send a finalized invoice to the customer via Stripe's built-in email service\n invoice_id: \"example string\", // ID of the invoice to send (must be finalized/open status)\n});\n\nconst result = await stripe_send_invoice.action();\n// outputSchema for result.data when operation === 'send_invoice':\n// {\n// operation: \"send_invoice\",\n// success: boolean // Whether the operation succeeded,\n// invoice: { id: string // Unique Stripe invoice identifier (in_xxx), customer: string | null // ID of the customer, status: \"draft\" | \"open\" | \"paid\" | \"uncollectible\" | \"void\" | null // Invoice status, total: number // Total amount in smallest currency unit, currency: string // Three-letter ISO currency code, created: number | undefined // Unix timestamp of creation, due_date: string | null | undefined // ISO date string when the invoice is due, hosted_invoice_url: string | null | undefined // URL for the hosted invoice page, invoice_pdf: string | null | undefined // URL for the invoice PDF (only available after finalization), metadata: Record<string, string> | undefined // Arbitrary metadata attached to the invoice } | undefined // Invoice object after sending,\n// error: string // Error message if operation failed\n// }\n\n\n// Get Balance example\nconst stripe_get_balance = new StripeBubble({\n operation: \"get_balance\", // Retrieve the current account balance\n});\n\nconst result = await stripe_get_balance.action();\n// outputSchema for result.data when operation === 'get_balance':\n// {\n// operation: \"get_balance\",\n// success: boolean // Whether the operation succeeded,\n// balance: { available: { amount: number // Amount available, currency: string // Currency code }[] // Funds available for payout, pending: { amount: number // Amount pending, currency: string // Currency code }[] // Funds not yet available } | undefined // Account balance,\n// error: string // Error message if operation failed\n// }\n\n\n// List Payment Intents example\nconst stripe_list_payment_intents = new StripeBubble({\n operation: \"list_payment_intents\", // List payment intents from Stripe\n limit: 10 // default, // Maximum number of payment intents to return (1-100)\n customer: \"example string\", // Filter by customer ID\n});\n\nconst result = await stripe_list_payment_intents.action();\n// outputSchema for result.data when operation === 'list_payment_intents':\n// {\n// operation: \"list_payment_intents\",\n// success: boolean // Whether the operation succeeded,\n// payment_intents: { id: string // Unique payment intent identifier (pi_xxx), amount: number // Amount in smallest currency unit, currency: string // Three-letter ISO currency code, status: \"requires_payment_method\" | \"requires_confirmation\" | \"requires_action\" | \"processing\" | \"requires_capture\" | \"canceled\" | \"succeeded\" // Payment intent status, customer: string | null | undefined // Customer ID if attached, created: number // Unix timestamp of creation, metadata: Record<string, string> | undefined // Arbitrary metadata attached to the payment intent }[] | undefined // List of payment intent objects,\n// error: string // Error message if operation failed\n// }\n\n\n// List Subscriptions example\nconst stripe_list_subscriptions = new StripeBubble({\n operation: \"list_subscriptions\", // List subscriptions from Stripe\n limit: 10 // default, // Maximum number of subscriptions to return (1-100)\n customer: \"example string\", // Filter by customer ID\n status: \"incomplete\" // options: \"incomplete\", \"incomplete_expired\", \"trialing\", \"active\", \"past_due\", \"canceled\", \"unpaid\", \"paused\", \"all\", // Filter by subscription status\n});\n\nconst result = await stripe_list_subscriptions.action();\n// outputSchema for result.data when operation === 'list_subscriptions':\n// {\n// operation: \"list_subscriptions\",\n// success: boolean // Whether the operation succeeded,\n// subscriptions: { id: string // Unique subscription identifier (sub_xxx), customer: string // Customer ID, status: \"incomplete\" | \"incomplete_expired\" | \"trialing\" | \"active\" | \"past_due\" | \"canceled\" | \"unpaid\" | \"paused\" // Subscription status, current_period_start: number | undefined // Start of current billing period (may be absent for incomplete subscriptions), current_period_end: number | undefined // End of current billing period (may be absent for incomplete subscriptions), cancel_at_period_end: boolean // Whether subscription cancels at period end, created: number // Unix timestamp of creation, metadata: Record<string, string> | undefined // Arbitrary metadata attached to the subscription }[] | undefined // List of subscription objects,\n// error: string // Error message if operation failed\n// }\n\n\n// Cancel Subscription example\nconst stripe_cancel_subscription = new StripeBubble({\n operation: \"cancel_subscription\", // Cancel a subscription\n subscription_id: \"example string\", // ID of the subscription to cancel\n cancel_at_period_end: false // default, // Whether to cancel at the end of the current period\n});\n\nconst result = await stripe_cancel_subscription.action();\n// outputSchema for result.data when operation === 'cancel_subscription':\n// {\n// operation: \"cancel_subscription\",\n// success: boolean // Whether the operation succeeded,\n// subscription: { id: string // Unique subscription identifier (sub_xxx), customer: string // Customer ID, status: \"incomplete\" | \"incomplete_expired\" | \"trialing\" | \"active\" | \"past_due\" | \"canceled\" | \"unpaid\" | \"paused\" // Subscription status, current_period_start: number | undefined // Start of current billing period (may be absent for incomplete subscriptions), current_period_end: number | undefined // End of current billing period (may be absent for incomplete subscriptions), cancel_at_period_end: boolean // Whether subscription cancels at period end, created: number // Unix timestamp of creation, metadata: Record<string, string> | undefined // Arbitrary metadata attached to the subscription } | undefined // Canceled subscription object,\n// error: string // Error message if operation failed\n// }\n\n\n// List Payment Links example\nconst stripe_list_payment_links = new StripeBubble({\n operation: \"list_payment_links\", // List payment links from Stripe\n limit: 10 // default, // Maximum number of payment links to return (1-100)\n active: true, // Filter by active status\n});\n\nconst result = await stripe_list_payment_links.action();\n// outputSchema for result.data when operation === 'list_payment_links':\n// {\n// operation: \"list_payment_links\",\n// success: boolean // Whether the operation succeeded,\n// payment_links: { id: string // Unique Stripe payment link identifier (plink_xxx), url: string // The public URL of the payment link, active: boolean // Whether the payment link is active, created: number | undefined // Unix timestamp of creation, metadata: Record<string, string> | undefined // Arbitrary metadata attached to the payment link }[] | undefined // List of payment link objects,\n// error: string // Error message if operation failed\n// }\n\n\n// Create Subscription example\nconst stripe_create_subscription = new StripeBubble({\n operation: \"create_subscription\", // Create a new subscription for a customer\n customer: \"example string\", // ID of the customer to subscribe\n price: \"example string\", // ID of the recurring price to subscribe to\n trial_period_days: 42, // Number of trial period days before billing starts\n payment_behavior: \"default_incomplete\" // options: \"default_incomplete\", \"error_if_incomplete\", \"allow_incomplete\", // How to handle payment failures. Use default_incomplete to create without payment method\n metadata: { \"example_key\": \"example string\" }, // Arbitrary metadata to attach to the subscription\n});\n\nconst result = await stripe_create_subscription.action();\n// outputSchema for result.data when operation === 'create_subscription':\n// {\n// operation: \"create_subscription\",\n// success: boolean // Whether the operation succeeded,\n// subscription: { id: string // Unique subscription identifier (sub_xxx), customer: string // Customer ID, status: \"incomplete\" | \"incomplete_expired\" | \"trialing\" | \"active\" | \"past_due\" | \"canceled\" | \"unpaid\" | \"paused\" // Subscription status, current_period_start: number | undefined // Start of current billing period (may be absent for incomplete subscriptions), current_period_end: number | undefined // End of current billing period (may be absent for incomplete subscriptions), cancel_at_period_end: boolean // Whether subscription cancels at period end, created: number // Unix timestamp of creation, metadata: Record<string, string> | undefined // Arbitrary metadata attached to the subscription } | undefined // Created subscription object,\n// error: string // Error message if operation failed\n// }\n\n\n// Always check success status before using data\nif (!result.success) {\n throw new Error(`stripe failed: ${result.error}`);\n}\n\n// Access the actual data\nconst actualData = result.data;\nconsole.log(actualData);",
61046
+ "usageExample": "// Create Customer example\nconst stripe_create_customer = new StripeBubble({\n operation: \"create_customer\", // Create a new customer in Stripe\n name: \"example string\", // Customer name\n email: \"example string\", // Customer email address\n metadata: { \"example_key\": \"example string\" }, // Arbitrary metadata to attach to the customer\n});\n\nconst result = await stripe_create_customer.action();\n// outputSchema for result.data when operation === 'create_customer':\n// {\n// operation: \"create_customer\",\n// success: boolean // Whether the operation succeeded,\n// customer: { id: string // Unique Stripe customer identifier (cus_xxx), name: string | null | undefined // Customer name, email: string | null | undefined // Customer email address, created: number // Unix timestamp of creation, metadata: Record<string, string> | undefined // Arbitrary metadata attached to the customer } | undefined // Created customer object,\n// error: string // Error message if operation failed\n// }\n\n\n// List Customers example\nconst stripe_list_customers = new StripeBubble({\n operation: \"list_customers\", // List customers from Stripe\n limit: 10 // default, // Maximum number of customers to return (1-100)\n email: \"example string\", // Filter customers by email address (case-sensitive)\n cursor: \"example string\", // Pagination cursor - pass the next_cursor from a previous response to get the next page\n});\n\nconst result = await stripe_list_customers.action();\n// outputSchema for result.data when operation === 'list_customers':\n// {\n// operation: \"list_customers\",\n// success: boolean // Whether the operation succeeded,\n// customers: { id: string // Unique Stripe customer identifier (cus_xxx), name: string | null | undefined // Customer name, email: string | null | undefined // Customer email address, created: number // Unix timestamp of creation, metadata: Record<string, string> | undefined // Arbitrary metadata attached to the customer }[] | undefined // List of customer objects,\n// has_more: boolean | undefined // Whether there are more customers available beyond this page,\n// next_cursor: string | null | undefined // Cursor to pass as \"cursor\" parameter to fetch the next page (null if no more pages),\n// error: string // Error message if operation failed\n// }\n\n\n// Retrieve Customer example\nconst stripe_retrieve_customer = new StripeBubble({\n operation: \"retrieve_customer\", // Retrieve a specific customer by ID\n customer_id: \"example string\", // ID of the customer to retrieve (cus_xxx)\n});\n\nconst result = await stripe_retrieve_customer.action();\n// outputSchema for result.data when operation === 'retrieve_customer':\n// {\n// operation: \"retrieve_customer\",\n// success: boolean // Whether the operation succeeded,\n// customer: { id: string // Unique Stripe customer identifier (cus_xxx), name: string | null | undefined // Customer name, email: string | null | undefined // Customer email address, created: number // Unix timestamp of creation, metadata: Record<string, string> | undefined // Arbitrary metadata attached to the customer } | undefined // Retrieved customer object,\n// deleted: boolean | undefined // True if the customer has been deleted,\n// error: string // Error message if operation failed\n// }\n\n\n// Create Product example\nconst stripe_create_product = new StripeBubble({\n operation: \"create_product\", // Create a new product in Stripe\n name: \"example string\", // Product name\n description: \"example string\", // Product description\n metadata: { \"example_key\": \"example string\" }, // Arbitrary metadata to attach to the product\n});\n\nconst result = await stripe_create_product.action();\n// outputSchema for result.data when operation === 'create_product':\n// {\n// operation: \"create_product\",\n// success: boolean // Whether the operation succeeded,\n// product: { id: string // Unique Stripe product identifier (prod_xxx), name: string // Product name, description: string | null | undefined // Product description, active: boolean // Whether the product is currently available, created: number // Unix timestamp of creation, metadata: Record<string, string> | undefined // Arbitrary metadata attached to the product } | undefined // Created product object,\n// error: string // Error message if operation failed\n// }\n\n\n// List Products example\nconst stripe_list_products = new StripeBubble({\n operation: \"list_products\", // List products from Stripe\n limit: 10 // default, // Maximum number of products to return (1-100)\n active: true, // Filter by active status\n});\n\nconst result = await stripe_list_products.action();\n// outputSchema for result.data when operation === 'list_products':\n// {\n// operation: \"list_products\",\n// success: boolean // Whether the operation succeeded,\n// products: { id: string // Unique Stripe product identifier (prod_xxx), name: string // Product name, description: string | null | undefined // Product description, active: boolean // Whether the product is currently available, created: number // Unix timestamp of creation, metadata: Record<string, string> | undefined // Arbitrary metadata attached to the product }[] | undefined // List of product objects,\n// error: string // Error message if operation failed\n// }\n\n\n// Create Price example\nconst stripe_create_price = new StripeBubble({\n operation: \"create_price\", // Create a new price for a product\n product: \"example string\", // ID of the product this price is for\n unit_amount: 42, // Price in smallest currency unit (e.g., cents for USD)\n currency: \"usd\" // default, // Three-letter ISO currency code (e.g., \"usd\")\n recurring: { interval: \"day\" // options: \"day\", \"week\", \"month\", \"year\" // Billing interval, interval_count: 1 // default // Number of intervals between billings }, // Recurring pricing details (omit for one-time prices)\n metadata: { \"example_key\": \"example string\" }, // Arbitrary metadata to attach to the price\n});\n\nconst result = await stripe_create_price.action();\n// outputSchema for result.data when operation === 'create_price':\n// {\n// operation: \"create_price\",\n// success: boolean // Whether the operation succeeded,\n// price: { id: string // Unique Stripe price identifier (price_xxx), product: string // ID of the product this price is for, unit_amount: number | null // Price in the smallest currency unit (e.g., cents), currency: string // Three-letter ISO currency code, type: \"one_time\" | \"recurring\" // Type of pricing (one-time or recurring), active: boolean // Whether the price is currently active, created: number // Unix timestamp of creation, metadata: Record<string, string> | undefined // Arbitrary metadata attached to the price } | undefined // Created price object,\n// error: string // Error message if operation failed\n// }\n\n\n// List Prices example\nconst stripe_list_prices = new StripeBubble({\n operation: \"list_prices\", // List prices from Stripe\n limit: 10 // default, // Maximum number of prices to return (1-100)\n product: \"example string\", // Filter by product ID\n active: true, // Filter by active status\n});\n\nconst result = await stripe_list_prices.action();\n// outputSchema for result.data when operation === 'list_prices':\n// {\n// operation: \"list_prices\",\n// success: boolean // Whether the operation succeeded,\n// prices: { id: string // Unique Stripe price identifier (price_xxx), product: string // ID of the product this price is for, unit_amount: number | null // Price in the smallest currency unit (e.g., cents), currency: string // Three-letter ISO currency code, type: \"one_time\" | \"recurring\" // Type of pricing (one-time or recurring), active: boolean // Whether the price is currently active, created: number // Unix timestamp of creation, metadata: Record<string, string> | undefined // Arbitrary metadata attached to the price }[] | undefined // List of price objects,\n// error: string // Error message if operation failed\n// }\n\n\n// Create Payment Link example\nconst stripe_create_payment_link = new StripeBubble({\n operation: \"create_payment_link\", // Create a payment link for a price\n price: \"example string\", // ID of the price to create payment link for\n quantity: 1 // default, // Quantity of items in the payment link\n redirect_url: \"example string\", // URL to redirect after successful payment\n metadata: { \"example_key\": \"example string\" }, // Arbitrary metadata to attach to the payment link\n});\n\nconst result = await stripe_create_payment_link.action();\n// outputSchema for result.data when operation === 'create_payment_link':\n// {\n// operation: \"create_payment_link\",\n// success: boolean // Whether the operation succeeded,\n// payment_link: { id: string // Unique Stripe payment link identifier (plink_xxx), url: string // The public URL of the payment link, active: boolean // Whether the payment link is active, created: number | undefined // Unix timestamp of creation, metadata: Record<string, string> | undefined // Arbitrary metadata attached to the payment link } | undefined // Created payment link object,\n// error: string // Error message if operation failed\n// }\n\n\n// Create Invoice example\nconst stripe_create_invoice = new StripeBubble({\n operation: \"create_invoice\", // Create a new invoice for a customer\n customer: \"example string\", // ID of the customer to invoice\n auto_advance: true // default, // Whether to auto-finalize the invoice\n collection_method: \"charge_automatically\" // options: \"charge_automatically\", \"send_invoice\", // How to collect payment\n days_until_due: 42, // Days until invoice is due (for send_invoice collection)\n items: [{ unit_amount: 42 // Unit price in smallest currency unit (e.g., cents). Total = unit_amount * quantity, description: \"example string\" // Description of the line item, quantity: 1 // default // Quantity of items (default: 1) }], // Line items to add to the invoice after creation. Each item will be created as an invoice item.\n metadata: { \"example_key\": \"example string\" }, // Arbitrary metadata to attach to the invoice\n});\n\nconst result = await stripe_create_invoice.action();\n// outputSchema for result.data when operation === 'create_invoice':\n// {\n// operation: \"create_invoice\",\n// success: boolean // Whether the operation succeeded,\n// invoice: { id: string // Unique Stripe invoice identifier (in_xxx), customer: string | null // ID of the customer, status: \"draft\" | \"open\" | \"paid\" | \"uncollectible\" | \"void\" | null // Invoice status, total: number // Total amount in smallest currency unit, currency: string // Three-letter ISO currency code, created: number | undefined // Unix timestamp of creation, due_date: string | null | undefined // ISO date string when the invoice is due, hosted_invoice_url: string | null | undefined // URL for the hosted invoice page, invoice_pdf: string | null | undefined // URL for the invoice PDF (only available after finalization), metadata: Record<string, string> | undefined // Arbitrary metadata attached to the invoice } | undefined // Created invoice object,\n// error: string // Error message if operation failed\n// }\n\n\n// List Invoices example\nconst stripe_list_invoices = new StripeBubble({\n operation: \"list_invoices\", // List invoices from Stripe\n limit: 10 // default, // Maximum number of invoices to return (1-100)\n customer: \"example string\", // Filter by customer ID\n status: \"draft\" // options: \"draft\", \"open\", \"paid\", \"uncollectible\", \"void\", // Filter by invoice status\n cursor: \"example string\", // Pagination cursor - pass the next_cursor from a previous response to get the next page\n});\n\nconst result = await stripe_list_invoices.action();\n// outputSchema for result.data when operation === 'list_invoices':\n// {\n// operation: \"list_invoices\",\n// success: boolean // Whether the operation succeeded,\n// invoices: { id: string // Unique Stripe invoice identifier (in_xxx), customer: string | null // ID of the customer, status: \"draft\" | \"open\" | \"paid\" | \"uncollectible\" | \"void\" | null // Invoice status, total: number // Total amount in smallest currency unit, currency: string // Three-letter ISO currency code, created: number | undefined // Unix timestamp of creation, due_date: string | null | undefined // ISO date string when the invoice is due, hosted_invoice_url: string | null | undefined // URL for the hosted invoice page, invoice_pdf: string | null | undefined // URL for the invoice PDF (only available after finalization), metadata: Record<string, string> | undefined // Arbitrary metadata attached to the invoice }[] | undefined // List of invoice objects,\n// has_more: boolean | undefined // Whether there are more invoices available beyond this page,\n// next_cursor: string | null | undefined // Cursor to pass as \"cursor\" parameter to fetch the next page (null if no more pages),\n// error: string // Error message if operation failed\n// }\n\n\n// Retrieve Invoice example\nconst stripe_retrieve_invoice = new StripeBubble({\n operation: \"retrieve_invoice\", // Retrieve a specific invoice by ID\n invoice_id: \"example string\", // ID of the invoice to retrieve\n});\n\nconst result = await stripe_retrieve_invoice.action();\n// outputSchema for result.data when operation === 'retrieve_invoice':\n// {\n// operation: \"retrieve_invoice\",\n// success: boolean // Whether the operation succeeded,\n// invoice: { id: string // Unique Stripe invoice identifier (in_xxx), customer: string | null // ID of the customer, status: \"draft\" | \"open\" | \"paid\" | \"uncollectible\" | \"void\" | null // Invoice status, total: number // Total amount in smallest currency unit, currency: string // Three-letter ISO currency code, created: number | undefined // Unix timestamp of creation, due_date: string | null | undefined // ISO date string when the invoice is due, hosted_invoice_url: string | null | undefined // URL for the hosted invoice page, invoice_pdf: string | null | undefined // URL for the invoice PDF (only available after finalization), metadata: Record<string, string> | undefined // Arbitrary metadata attached to the invoice } | undefined // Retrieved invoice object,\n// error: string // Error message if operation failed\n// }\n\n\n// Finalize Invoice example\nconst stripe_finalize_invoice = new StripeBubble({\n operation: \"finalize_invoice\", // Finalize a draft invoice to make it ready for payment\n invoice_id: \"example string\", // ID of the draft invoice to finalize\n auto_advance: true, // Whether to automatically advance the invoice after finalizing\n});\n\nconst result = await stripe_finalize_invoice.action();\n// outputSchema for result.data when operation === 'finalize_invoice':\n// {\n// operation: \"finalize_invoice\",\n// success: boolean // Whether the operation succeeded,\n// invoice: { id: string // Unique Stripe invoice identifier (in_xxx), customer: string | null // ID of the customer, status: \"draft\" | \"open\" | \"paid\" | \"uncollectible\" | \"void\" | null // Invoice status, total: number // Total amount in smallest currency unit, currency: string // Three-letter ISO currency code, created: number | undefined // Unix timestamp of creation, due_date: string | null | undefined // ISO date string when the invoice is due, hosted_invoice_url: string | null | undefined // URL for the hosted invoice page, invoice_pdf: string | null | undefined // URL for the invoice PDF (only available after finalization), metadata: Record<string, string> | undefined // Arbitrary metadata attached to the invoice } | undefined // Finalized invoice object,\n// error: string // Error message if operation failed\n// }\n\n\n// Create Invoice Item example\nconst stripe_create_invoice_item = new StripeBubble({\n operation: \"create_invoice_item\", // Add a line item to an existing invoice or as a pending item for a customer\n customer: \"example string\", // ID of the customer to add the item to\n invoice: \"example string\", // ID of the invoice to attach this item to (must be a draft invoice)\n unit_amount: 42, // Unit price in smallest currency unit (e.g., cents). Total = unit_amount * quantity\n currency: \"usd\" // default, // Three-letter ISO currency code (e.g., \"usd\")\n description: \"example string\", // Description of the line item\n quantity: 1 // default, // Quantity of items (default: 1)\n metadata: { \"example_key\": \"example string\" }, // Arbitrary metadata to attach to the invoice item\n});\n\nconst result = await stripe_create_invoice_item.action();\n// outputSchema for result.data when operation === 'create_invoice_item':\n// {\n// operation: \"create_invoice_item\",\n// success: boolean // Whether the operation succeeded,\n// invoice_item: { id: string // Unique Stripe invoice item identifier (ii_xxx), invoice: string | null | undefined // ID of the invoice this item belongs to, customer: string // ID of the customer, amount: number // Total amount in smallest currency unit (unit_amount * quantity), unit_amount: number | null | undefined // Unit price in smallest currency unit, currency: string // Three-letter ISO currency code, description: string | null | undefined // Description of the invoice item, quantity: number | undefined // Quantity of the item, date: number | undefined // Unix timestamp when the item was created, metadata: Record<string, string> | undefined // Arbitrary metadata attached to the invoice item } | undefined // Created invoice item object,\n// error: string // Error message if operation failed\n// }\n\n\n// Send Invoice example\nconst stripe_send_invoice = new StripeBubble({\n operation: \"send_invoice\", // Send a finalized invoice to the customer via Stripe's built-in email service\n invoice_id: \"example string\", // ID of the invoice to send (must be finalized/open status)\n});\n\nconst result = await stripe_send_invoice.action();\n// outputSchema for result.data when operation === 'send_invoice':\n// {\n// operation: \"send_invoice\",\n// success: boolean // Whether the operation succeeded,\n// invoice: { id: string // Unique Stripe invoice identifier (in_xxx), customer: string | null // ID of the customer, status: \"draft\" | \"open\" | \"paid\" | \"uncollectible\" | \"void\" | null // Invoice status, total: number // Total amount in smallest currency unit, currency: string // Three-letter ISO currency code, created: number | undefined // Unix timestamp of creation, due_date: string | null | undefined // ISO date string when the invoice is due, hosted_invoice_url: string | null | undefined // URL for the hosted invoice page, invoice_pdf: string | null | undefined // URL for the invoice PDF (only available after finalization), metadata: Record<string, string> | undefined // Arbitrary metadata attached to the invoice } | undefined // Invoice object after sending,\n// error: string // Error message if operation failed\n// }\n\n\n// Get Balance example\nconst stripe_get_balance = new StripeBubble({\n operation: \"get_balance\", // Retrieve the current account balance\n});\n\nconst result = await stripe_get_balance.action();\n// outputSchema for result.data when operation === 'get_balance':\n// {\n// operation: \"get_balance\",\n// success: boolean // Whether the operation succeeded,\n// balance: { available: { amount: number // Amount available, currency: string // Currency code }[] // Funds available for payout, pending: { amount: number // Amount pending, currency: string // Currency code }[] // Funds not yet available } | undefined // Account balance,\n// error: string // Error message if operation failed\n// }\n\n\n// List Payment Intents example\nconst stripe_list_payment_intents = new StripeBubble({\n operation: \"list_payment_intents\", // List payment intents from Stripe\n limit: 10 // default, // Maximum number of payment intents to return (1-100)\n customer: \"example string\", // Filter by customer ID\n});\n\nconst result = await stripe_list_payment_intents.action();\n// outputSchema for result.data when operation === 'list_payment_intents':\n// {\n// operation: \"list_payment_intents\",\n// success: boolean // Whether the operation succeeded,\n// payment_intents: { id: string // Unique payment intent identifier (pi_xxx), amount: number // Amount in smallest currency unit, currency: string // Three-letter ISO currency code, status: \"requires_payment_method\" | \"requires_confirmation\" | \"requires_action\" | \"processing\" | \"requires_capture\" | \"canceled\" | \"succeeded\" // Payment intent status, customer: string | null | undefined // Customer ID if attached, created: number // Unix timestamp of creation, metadata: Record<string, string> | undefined // Arbitrary metadata attached to the payment intent }[] | undefined // List of payment intent objects,\n// error: string // Error message if operation failed\n// }\n\n\n// List Subscriptions example\nconst stripe_list_subscriptions = new StripeBubble({\n operation: \"list_subscriptions\", // List subscriptions from Stripe\n limit: 10 // default, // Maximum number of subscriptions to return (1-100)\n customer: \"example string\", // Filter by customer ID\n status: \"incomplete\" // options: \"incomplete\", \"incomplete_expired\", \"trialing\", \"active\", \"past_due\", \"canceled\", \"unpaid\", \"paused\", \"all\", // Filter by subscription status\n});\n\nconst result = await stripe_list_subscriptions.action();\n// outputSchema for result.data when operation === 'list_subscriptions':\n// {\n// operation: \"list_subscriptions\",\n// success: boolean // Whether the operation succeeded,\n// subscriptions: { id: string // Unique subscription identifier (sub_xxx), customer: string // Customer ID, status: \"incomplete\" | \"incomplete_expired\" | \"trialing\" | \"active\" | \"past_due\" | \"canceled\" | \"unpaid\" | \"paused\" // Subscription status, current_period_start: number | undefined // Start of current billing period (may be absent for incomplete subscriptions), current_period_end: number | undefined // End of current billing period (may be absent for incomplete subscriptions), cancel_at_period_end: boolean // Whether subscription cancels at period end, created: number // Unix timestamp of creation, metadata: Record<string, string> | undefined // Arbitrary metadata attached to the subscription }[] | undefined // List of subscription objects,\n// error: string // Error message if operation failed\n// }\n\n\n// Cancel Subscription example\nconst stripe_cancel_subscription = new StripeBubble({\n operation: \"cancel_subscription\", // Cancel a subscription\n subscription_id: \"example string\", // ID of the subscription to cancel\n cancel_at_period_end: false // default, // Whether to cancel at the end of the current period\n});\n\nconst result = await stripe_cancel_subscription.action();\n// outputSchema for result.data when operation === 'cancel_subscription':\n// {\n// operation: \"cancel_subscription\",\n// success: boolean // Whether the operation succeeded,\n// subscription: { id: string // Unique subscription identifier (sub_xxx), customer: string // Customer ID, status: \"incomplete\" | \"incomplete_expired\" | \"trialing\" | \"active\" | \"past_due\" | \"canceled\" | \"unpaid\" | \"paused\" // Subscription status, current_period_start: number | undefined // Start of current billing period (may be absent for incomplete subscriptions), current_period_end: number | undefined // End of current billing period (may be absent for incomplete subscriptions), cancel_at_period_end: boolean // Whether subscription cancels at period end, created: number // Unix timestamp of creation, metadata: Record<string, string> | undefined // Arbitrary metadata attached to the subscription } | undefined // Canceled subscription object,\n// error: string // Error message if operation failed\n// }\n\n\n// List Payment Links example\nconst stripe_list_payment_links = new StripeBubble({\n operation: \"list_payment_links\", // List payment links from Stripe\n limit: 10 // default, // Maximum number of payment links to return (1-100)\n active: true, // Filter by active status\n});\n\nconst result = await stripe_list_payment_links.action();\n// outputSchema for result.data when operation === 'list_payment_links':\n// {\n// operation: \"list_payment_links\",\n// success: boolean // Whether the operation succeeded,\n// payment_links: { id: string // Unique Stripe payment link identifier (plink_xxx), url: string // The public URL of the payment link, active: boolean // Whether the payment link is active, created: number | undefined // Unix timestamp of creation, metadata: Record<string, string> | undefined // Arbitrary metadata attached to the payment link }[] | undefined // List of payment link objects,\n// error: string // Error message if operation failed\n// }\n\n\n// Create Subscription example\nconst stripe_create_subscription = new StripeBubble({\n operation: \"create_subscription\", // Create a new subscription for a customer\n customer: \"example string\", // ID of the customer to subscribe\n price: \"example string\", // ID of the recurring price to subscribe to\n trial_period_days: 42, // Number of trial period days before billing starts\n payment_behavior: \"default_incomplete\" // options: \"default_incomplete\", \"error_if_incomplete\", \"allow_incomplete\", // How to handle payment failures. Use default_incomplete to create without payment method\n metadata: { \"example_key\": \"example string\" }, // Arbitrary metadata to attach to the subscription\n});\n\nconst result = await stripe_create_subscription.action();\n// outputSchema for result.data when operation === 'create_subscription':\n// {\n// operation: \"create_subscription\",\n// success: boolean // Whether the operation succeeded,\n// subscription: { id: string // Unique subscription identifier (sub_xxx), customer: string // Customer ID, status: \"incomplete\" | \"incomplete_expired\" | \"trialing\" | \"active\" | \"past_due\" | \"canceled\" | \"unpaid\" | \"paused\" // Subscription status, current_period_start: number | undefined // Start of current billing period (may be absent for incomplete subscriptions), current_period_end: number | undefined // End of current billing period (may be absent for incomplete subscriptions), cancel_at_period_end: boolean // Whether subscription cancels at period end, created: number // Unix timestamp of creation, metadata: Record<string, string> | undefined // Arbitrary metadata attached to the subscription } | undefined // Created subscription object,\n// error: string // Error message if operation failed\n// }\n\n\n// Always check success status before using data\nif (!result.success) {\n throw new Error(`stripe failed: ${result.error}`);\n}\n\n// Access the actual data\nconst actualData = result.data;\nconsole.log(actualData);",
60927
61047
  "requiredCredentials": [
60928
61048
  "STRIPE_CRED"
60929
61049
  ]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bubblelab/bubble-core",
3
- "version": "0.1.101",
3
+ "version": "0.1.103",
4
4
  "type": "module",
5
5
  "license": "Apache-2.0",
6
6
  "main": "./dist/index.js",
@@ -40,7 +40,7 @@
40
40
  "puppeteer-core": "^24.10.0",
41
41
  "resend": "^4.8.0",
42
42
  "zod": "^3.24.1",
43
- "@bubblelab/shared-schemas": "0.1.101"
43
+ "@bubblelab/shared-schemas": "0.1.103"
44
44
  },
45
45
  "devDependencies": {
46
46
  "@types/node": "^20.12.12",