@bubblelab/bubble-core 0.1.202 → 0.1.204

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 (168) hide show
  1. package/dist/bubble-bundle.d.ts +160 -160
  2. package/dist/bubble-factory.d.ts.map +1 -1
  3. package/dist/bubble-factory.js.map +1 -1
  4. package/dist/bubbles/service-bubble/agi-inc.d.ts +154 -154
  5. package/dist/bubbles/service-bubble/ai-agent.d.ts +8 -8
  6. package/dist/bubbles/service-bubble/ai-agent.js +3 -3
  7. package/dist/bubbles/service-bubble/ai-agent.js.map +1 -1
  8. package/dist/bubbles/service-bubble/airtable.d.ts +102 -102
  9. package/dist/bubbles/service-bubble/apify/actors/google-maps-scraper.d.ts +10 -10
  10. package/dist/bubbles/service-bubble/apify/actors/instagram-hashtag-scraper.d.ts +8 -8
  11. package/dist/bubbles/service-bubble/apify/actors/instagram-scraper.d.ts +22 -22
  12. package/dist/bubbles/service-bubble/apify/actors/linkedin-jobs-scraper.d.ts +2 -2
  13. package/dist/bubbles/service-bubble/apify/actors/linkedin-posts-search.d.ts +14 -14
  14. package/dist/bubbles/service-bubble/apify/actors/linkedin-profile-detail.d.ts +40 -40
  15. package/dist/bubbles/service-bubble/apify/actors/linkedin-profile-posts.d.ts +32 -32
  16. package/dist/bubbles/service-bubble/apify/actors/tiktok-scraper.d.ts +18 -18
  17. package/dist/bubbles/service-bubble/apify/actors/twitter-scraper.d.ts +18 -18
  18. package/dist/bubbles/service-bubble/apify/actors/youtube-scraper.d.ts +10 -10
  19. package/dist/bubbles/service-bubble/apify/apify-scraper.schema.d.ts +150 -150
  20. package/dist/bubbles/service-bubble/apify/apify.d.ts +16 -16
  21. package/dist/bubbles/service-bubble/apify/apify.d.ts.map +1 -1
  22. package/dist/bubbles/service-bubble/apify/apify.js +10 -11
  23. package/dist/bubbles/service-bubble/apify/apify.js.map +1 -1
  24. package/dist/bubbles/service-bubble/ashby/ashby.d.ts +118 -118
  25. package/dist/bubbles/service-bubble/ashby/ashby.schema.d.ts +84 -84
  26. package/dist/bubbles/service-bubble/attio/attio.d.ts +70 -70
  27. package/dist/bubbles/service-bubble/attio/attio.js +11 -12
  28. package/dist/bubbles/service-bubble/attio/attio.js.map +1 -1
  29. package/dist/bubbles/service-bubble/attio/attio.schema.d.ts +48 -48
  30. package/dist/bubbles/service-bubble/browserbase/browserbase.d.ts +63 -63
  31. package/dist/bubbles/service-bubble/browserbase/browserbase.d.ts.map +1 -1
  32. package/dist/bubbles/service-bubble/browserbase/browserbase.js +3 -8
  33. package/dist/bubbles/service-bubble/browserbase/browserbase.js.map +1 -1
  34. package/dist/bubbles/service-bubble/browserbase/browserbase.schema.d.ts +37 -37
  35. package/dist/bubbles/service-bubble/confluence/confluence.d.ts +54 -54
  36. package/dist/bubbles/service-bubble/confluence/confluence.d.ts.map +1 -1
  37. package/dist/bubbles/service-bubble/confluence/confluence.js +4 -6
  38. package/dist/bubbles/service-bubble/confluence/confluence.js.map +1 -1
  39. package/dist/bubbles/service-bubble/confluence/confluence.schema.d.ts +26 -26
  40. package/dist/bubbles/service-bubble/crustdata/crustdata.d.ts +118 -118
  41. package/dist/bubbles/service-bubble/crustdata/crustdata.d.ts.map +1 -1
  42. package/dist/bubbles/service-bubble/crustdata/crustdata.js.map +1 -1
  43. package/dist/bubbles/service-bubble/crustdata/crustdata.schema.d.ts +102 -102
  44. package/dist/bubbles/service-bubble/eleven-labs.d.ts +56 -56
  45. package/dist/bubbles/service-bubble/firecrawl.d.ts +682 -682
  46. package/dist/bubbles/service-bubble/followupboss.d.ts +530 -530
  47. package/dist/bubbles/service-bubble/fullenrich/fullenrich.d.ts +303 -303
  48. package/dist/bubbles/service-bubble/fullenrich/fullenrich.schema.d.ts +160 -160
  49. package/dist/bubbles/service-bubble/github.d.ts +200 -200
  50. package/dist/bubbles/service-bubble/github.d.ts.map +1 -1
  51. package/dist/bubbles/service-bubble/github.js +14 -17
  52. package/dist/bubbles/service-bubble/github.js.map +1 -1
  53. package/dist/bubbles/service-bubble/gmail.d.ts +200 -200
  54. package/dist/bubbles/service-bubble/gmail.d.ts.map +1 -1
  55. package/dist/bubbles/service-bubble/gmail.js +10 -12
  56. package/dist/bubbles/service-bubble/gmail.js.map +1 -1
  57. package/dist/bubbles/service-bubble/google-calendar.d.ts +66 -66
  58. package/dist/bubbles/service-bubble/google-drive.d.ts +156 -156
  59. package/dist/bubbles/service-bubble/google-drive.d.ts.map +1 -1
  60. package/dist/bubbles/service-bubble/google-drive.js +11 -12
  61. package/dist/bubbles/service-bubble/google-drive.js.map +1 -1
  62. package/dist/bubbles/service-bubble/google-sheets/google-sheets.d.ts +52 -52
  63. package/dist/bubbles/service-bubble/google-sheets/google-sheets.d.ts.map +1 -1
  64. package/dist/bubbles/service-bubble/google-sheets/google-sheets.js +6 -8
  65. package/dist/bubbles/service-bubble/google-sheets/google-sheets.js.map +1 -1
  66. package/dist/bubbles/service-bubble/google-sheets/google-sheets.schema.d.ts +30 -30
  67. package/dist/bubbles/service-bubble/hello-world.d.ts +4 -4
  68. package/dist/bubbles/service-bubble/http.d.ts +12 -12
  69. package/dist/bubbles/service-bubble/hubspot/hubspot.d.ts +47 -47
  70. package/dist/bubbles/service-bubble/hubspot/hubspot.js +9 -10
  71. package/dist/bubbles/service-bubble/hubspot/hubspot.js.map +1 -1
  72. package/dist/bubbles/service-bubble/hubspot/hubspot.schema.d.ts +12 -12
  73. package/dist/bubbles/service-bubble/insforge-db.d.ts +8 -8
  74. package/dist/bubbles/service-bubble/insforge-db.d.ts.map +1 -1
  75. package/dist/bubbles/service-bubble/insforge-db.js.map +1 -1
  76. package/dist/bubbles/service-bubble/jira/jira.d.ts +113 -113
  77. package/dist/bubbles/service-bubble/jira/jira.d.ts.map +1 -1
  78. package/dist/bubbles/service-bubble/jira/jira.js +5 -7
  79. package/dist/bubbles/service-bubble/jira/jira.js.map +1 -1
  80. package/dist/bubbles/service-bubble/jira/jira.schema.d.ts +97 -97
  81. package/dist/bubbles/service-bubble/linear/linear.d.ts +49 -49
  82. package/dist/bubbles/service-bubble/linear/linear.d.ts.map +1 -1
  83. package/dist/bubbles/service-bubble/linear/linear.js +5 -7
  84. package/dist/bubbles/service-bubble/linear/linear.js.map +1 -1
  85. package/dist/bubbles/service-bubble/linear/linear.schema.d.ts +33 -33
  86. package/dist/bubbles/service-bubble/notion/notion.d.ts +689 -689
  87. package/dist/bubbles/service-bubble/notion/notion.d.ts.map +1 -1
  88. package/dist/bubbles/service-bubble/notion/notion.js +5 -11
  89. package/dist/bubbles/service-bubble/notion/notion.js.map +1 -1
  90. package/dist/bubbles/service-bubble/postgresql.d.ts +8 -8
  91. package/dist/bubbles/service-bubble/posthog/posthog.d.ts +36 -36
  92. package/dist/bubbles/service-bubble/posthog/posthog.d.ts.map +1 -1
  93. package/dist/bubbles/service-bubble/posthog/posthog.js +17 -18
  94. package/dist/bubbles/service-bubble/posthog/posthog.js.map +1 -1
  95. package/dist/bubbles/service-bubble/posthog/posthog.schema.d.ts +40 -40
  96. package/dist/bubbles/service-bubble/resend.d.ts +16 -16
  97. package/dist/bubbles/service-bubble/s3/index.d.ts +1 -1
  98. package/dist/bubbles/service-bubble/s3/index.d.ts.map +1 -1
  99. package/dist/bubbles/service-bubble/s3/index.js +1 -1
  100. package/dist/bubbles/service-bubble/s3/index.js.map +1 -1
  101. package/dist/bubbles/service-bubble/s3/s3.d.ts +29 -24
  102. package/dist/bubbles/service-bubble/s3/s3.d.ts.map +1 -1
  103. package/dist/bubbles/service-bubble/s3/s3.js +95 -43
  104. package/dist/bubbles/service-bubble/s3/s3.js.map +1 -1
  105. package/dist/bubbles/service-bubble/s3/s3.schema.d.ts +15 -12
  106. package/dist/bubbles/service-bubble/s3/s3.schema.d.ts.map +1 -1
  107. package/dist/bubbles/service-bubble/s3/s3.schema.js +5 -2
  108. package/dist/bubbles/service-bubble/s3/s3.schema.js.map +1 -1
  109. package/dist/bubbles/service-bubble/sendsafely/sendsafely.d.ts +22 -22
  110. package/dist/bubbles/service-bubble/sendsafely/sendsafely.d.ts.map +1 -1
  111. package/dist/bubbles/service-bubble/sendsafely/sendsafely.js +4 -9
  112. package/dist/bubbles/service-bubble/sendsafely/sendsafely.js.map +1 -1
  113. package/dist/bubbles/service-bubble/sendsafely/sendsafely.schema.d.ts +14 -14
  114. package/dist/bubbles/service-bubble/slack/slack.d.ts +552 -552
  115. package/dist/bubbles/service-bubble/slack/slack.d.ts.map +1 -1
  116. package/dist/bubbles/service-bubble/slack/slack.js +4 -3
  117. package/dist/bubbles/service-bubble/slack/slack.js.map +1 -1
  118. package/dist/bubbles/service-bubble/storage.d.ts +60 -60
  119. package/dist/bubbles/service-bubble/stripe/stripe.d.ts +201 -201
  120. package/dist/bubbles/service-bubble/stripe/stripe.schema.d.ts +103 -103
  121. package/dist/bubbles/service-bubble/telegram.d.ts +414 -414
  122. package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.d.ts +34 -34
  123. package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.schema.d.ts +26 -26
  124. package/dist/bubbles/tool-bubble/browser-tools/_shared/schema.d.ts +2 -2
  125. package/dist/bubbles/tool-bubble/browser-tools/linkedin-accept-invitations/schema.d.ts +3 -3
  126. package/dist/bubbles/tool-bubble/browser-tools/linkedin-accept-invitations/tool.d.ts +4 -4
  127. package/dist/bubbles/tool-bubble/browser-tools/linkedin-connection/schema.d.ts +2 -2
  128. package/dist/bubbles/tool-bubble/browser-tools/linkedin-connection/tool.d.ts +8 -8
  129. package/dist/bubbles/tool-bubble/browser-tools/linkedin-received-invitations/schema.d.ts +2 -2
  130. package/dist/bubbles/tool-bubble/browser-tools/linkedin-received-invitations/tool.d.ts +4 -4
  131. package/dist/bubbles/tool-bubble/browser-tools/linkedin-sent-invitations/schema.d.ts +2 -2
  132. package/dist/bubbles/tool-bubble/browser-tools/linkedin-sent-invitations/tool.d.ts +4 -4
  133. package/dist/bubbles/tool-bubble/bubbleflow-validation-tool.d.ts +8 -8
  134. package/dist/bubbles/tool-bubble/chart-js-tool.d.ts +4 -4
  135. package/dist/bubbles/tool-bubble/code-edit-tool.d.ts +4 -4
  136. package/dist/bubbles/tool-bubble/company-enrichment-tool.d.ts +104 -104
  137. package/dist/bubbles/tool-bubble/get-bubble-details-tool.d.ts +4 -4
  138. package/dist/bubbles/tool-bubble/get-trigger-detail-tool.d.ts +4 -4
  139. package/dist/bubbles/tool-bubble/google-maps-tool.d.ts +20 -20
  140. package/dist/bubbles/tool-bubble/instagram-tool.d.ts +16 -16
  141. package/dist/bubbles/tool-bubble/linkedin-tool.d.ts +637 -637
  142. package/dist/bubbles/tool-bubble/list-airtable-bases-tool.d.ts +4 -4
  143. package/dist/bubbles/tool-bubble/list-airtable-tables-tool.d.ts +4 -4
  144. package/dist/bubbles/tool-bubble/list-bubbles-tool.d.ts +4 -4
  145. package/dist/bubbles/tool-bubble/list-capabilities-tool.d.ts +12 -12
  146. package/dist/bubbles/tool-bubble/people-search-tool.d.ts +118 -118
  147. package/dist/bubbles/tool-bubble/reddit-scrape-tool.d.ts +40 -40
  148. package/dist/bubbles/tool-bubble/research-agent-tool.d.ts +8 -8
  149. package/dist/bubbles/tool-bubble/sql-query-tool.d.ts +8 -8
  150. package/dist/bubbles/tool-bubble/tiktok-tool.d.ts +16 -16
  151. package/dist/bubbles/tool-bubble/tool-template.d.ts +4 -4
  152. package/dist/bubbles/tool-bubble/twitter-tool.d.ts +36 -36
  153. package/dist/bubbles/tool-bubble/web-crawl-tool.d.ts +8 -8
  154. package/dist/bubbles/tool-bubble/web-extract-tool.d.ts +8 -8
  155. package/dist/bubbles/tool-bubble/web-scrape-tool.d.ts +8 -8
  156. package/dist/bubbles/tool-bubble/web-search-tool.d.ts +12 -12
  157. package/dist/bubbles/tool-bubble/yc-scraper-tool.d.ts +38 -38
  158. package/dist/bubbles/tool-bubble/youtube-tool.d.ts +8 -8
  159. package/dist/bubbles/workflow-bubble/database-analyzer.workflow.d.ts +4 -4
  160. package/dist/bubbles/workflow-bubble/generate-document.workflow.d.ts +4 -4
  161. package/dist/bubbles/workflow-bubble/parse-document.workflow.d.ts +4 -4
  162. package/dist/bubbles/workflow-bubble/pdf-form-operations.workflow.d.ts +58 -58
  163. package/dist/bubbles/workflow-bubble/pdf-ocr.workflow.d.ts +24 -24
  164. package/dist/bubbles/workflow-bubble/slack-data-assistant.workflow.d.ts +6 -6
  165. package/dist/bubbles/workflow-bubble/slack-formatter-agent.d.ts +70 -70
  166. package/dist/bubbles/workflow-bubble/slack-notifier.workflow.d.ts +4 -4
  167. package/dist/bubbles.json +8 -4
  168. package/package.json +2 -2
@@ -61,12 +61,12 @@ declare const SlackFormatterAgentParamsSchema: z.ZodObject<{
61
61
  additionalContext?: string | undefined;
62
62
  }, {
63
63
  message: string;
64
- credentials?: Partial<Record<CredentialType, string>> | undefined;
65
64
  model?: {
66
65
  model?: "openai/gpt-5" | "openai/gpt-5-mini" | "openai/gpt-5.1" | "openai/gpt-5.2" | "google/gemini-2.5-pro" | "google/gemini-2.5-flash" | "google/gemini-2.5-flash-lite" | "google/gemini-2.5-flash-image-preview" | "google/gemini-3-pro-preview" | "google/gemini-3-pro-image-preview" | "google/gemini-3-flash-preview" | "google/gemini-3.1-pro-preview" | "anthropic/claude-sonnet-4-5" | "anthropic/claude-sonnet-4-6" | "anthropic/claude-opus-4-5" | "anthropic/claude-opus-4-6" | "anthropic/claude-haiku-4-5" | "openrouter/x-ai/grok-code-fast-1" | "openrouter/z-ai/glm-4.6" | "openrouter/z-ai/glm-4.7" | "openrouter/anthropic/claude-sonnet-4.5" | "openrouter/anthropic/claude-sonnet-4.6" | "openrouter/anthropic/claude-opus-4.5" | "openrouter/anthropic/claude-opus-4.6" | "openrouter/google/gemini-3-pro-preview" | "openrouter/morph/morph-v3-large" | "openrouter/openai/gpt-oss-120b" | "openrouter/openai/o3-deep-research" | "openrouter/openai/o4-mini-deep-research" | undefined;
67
66
  temperature?: number | undefined;
68
67
  maxTokens?: number | undefined;
69
68
  } | undefined;
69
+ credentials?: Partial<Record<CredentialType, string>> | undefined;
70
70
  tools?: {
71
71
  name: string;
72
72
  credentials?: Partial<Record<CredentialType, string>> | undefined;
@@ -160,21 +160,20 @@ declare const SlackFormatterAgentResultSchema: z.ZodObject<{
160
160
  text: string;
161
161
  emoji?: boolean | undefined;
162
162
  } | undefined;
163
- label?: unknown;
164
- fields?: {
163
+ optional?: boolean | undefined;
164
+ text?: {
165
165
  type: "plain_text" | "mrkdwn";
166
166
  text: string;
167
167
  emoji?: boolean | undefined;
168
168
  verbatim?: boolean | undefined;
169
- }[] | undefined;
170
- text?: {
169
+ } | undefined;
170
+ image_url?: string | undefined;
171
+ fields?: {
171
172
  type: "plain_text" | "mrkdwn";
172
173
  text: string;
173
174
  emoji?: boolean | undefined;
174
175
  verbatim?: boolean | undefined;
175
- } | undefined;
176
- image_url?: string | undefined;
177
- optional?: boolean | undefined;
176
+ }[] | undefined;
178
177
  alt_text?: string | undefined;
179
178
  elements?: {
180
179
  type: "plain_text" | "mrkdwn";
@@ -185,6 +184,7 @@ declare const SlackFormatterAgentResultSchema: z.ZodObject<{
185
184
  block_id?: string | undefined;
186
185
  accessory?: unknown;
187
186
  element?: unknown;
187
+ label?: unknown;
188
188
  hint?: unknown;
189
189
  }, {
190
190
  type: "input" | "image" | "file" | "divider" | "context" | "section" | "header" | "actions" | "table";
@@ -193,21 +193,20 @@ declare const SlackFormatterAgentResultSchema: z.ZodObject<{
193
193
  text: string;
194
194
  emoji?: boolean | undefined;
195
195
  } | undefined;
196
- label?: unknown;
197
- fields?: {
196
+ optional?: boolean | undefined;
197
+ text?: {
198
198
  type: "plain_text" | "mrkdwn";
199
199
  text: string;
200
200
  emoji?: boolean | undefined;
201
201
  verbatim?: boolean | undefined;
202
- }[] | undefined;
203
- text?: {
202
+ } | undefined;
203
+ image_url?: string | undefined;
204
+ fields?: {
204
205
  type: "plain_text" | "mrkdwn";
205
206
  text: string;
206
207
  emoji?: boolean | undefined;
207
208
  verbatim?: boolean | undefined;
208
- } | undefined;
209
- image_url?: string | undefined;
210
- optional?: boolean | undefined;
209
+ }[] | undefined;
211
210
  alt_text?: string | undefined;
212
211
  elements?: {
213
212
  type: "plain_text" | "mrkdwn";
@@ -218,6 +217,7 @@ declare const SlackFormatterAgentResultSchema: z.ZodObject<{
218
217
  block_id?: string | undefined;
219
218
  accessory?: unknown;
220
219
  element?: unknown;
220
+ label?: unknown;
221
221
  hint?: unknown;
222
222
  }>, "many">>;
223
223
  metadata: z.ZodObject<{
@@ -253,16 +253,16 @@ 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
+ response: string;
259
+ iterations: number;
258
260
  metadata: {
259
261
  verbosityLevel: string;
260
262
  technicalityLevel: string;
261
263
  wordCount: number;
262
264
  blockCount?: number | undefined;
263
265
  };
264
- response: string;
265
- iterations: number;
266
266
  toolCalls?: {
267
267
  tool: string;
268
268
  input?: unknown;
@@ -275,21 +275,20 @@ declare const SlackFormatterAgentResultSchema: z.ZodObject<{
275
275
  text: string;
276
276
  emoji?: boolean | undefined;
277
277
  } | undefined;
278
- label?: unknown;
279
- fields?: {
278
+ optional?: boolean | undefined;
279
+ text?: {
280
280
  type: "plain_text" | "mrkdwn";
281
281
  text: string;
282
282
  emoji?: boolean | undefined;
283
283
  verbatim?: boolean | undefined;
284
- }[] | undefined;
285
- text?: {
284
+ } | undefined;
285
+ image_url?: string | undefined;
286
+ fields?: {
286
287
  type: "plain_text" | "mrkdwn";
287
288
  text: string;
288
289
  emoji?: boolean | undefined;
289
290
  verbatim?: boolean | undefined;
290
- } | undefined;
291
- image_url?: string | undefined;
292
- optional?: boolean | undefined;
291
+ }[] | undefined;
293
292
  alt_text?: string | undefined;
294
293
  elements?: {
295
294
  type: "plain_text" | "mrkdwn";
@@ -300,19 +299,20 @@ declare const SlackFormatterAgentResultSchema: z.ZodObject<{
300
299
  block_id?: string | undefined;
301
300
  accessory?: unknown;
302
301
  element?: unknown;
302
+ label?: unknown;
303
303
  hint?: unknown;
304
304
  }[] | undefined;
305
305
  }, {
306
- success: boolean;
307
306
  error: string;
307
+ success: boolean;
308
+ response: string;
309
+ iterations: number;
308
310
  metadata: {
309
311
  verbosityLevel: string;
310
312
  technicalityLevel: string;
311
313
  wordCount: number;
312
314
  blockCount?: number | undefined;
313
315
  };
314
- response: string;
315
- iterations: number;
316
316
  toolCalls?: {
317
317
  tool: string;
318
318
  input?: unknown;
@@ -325,21 +325,20 @@ declare const SlackFormatterAgentResultSchema: z.ZodObject<{
325
325
  text: string;
326
326
  emoji?: boolean | undefined;
327
327
  } | undefined;
328
- label?: unknown;
329
- fields?: {
328
+ optional?: boolean | undefined;
329
+ text?: {
330
330
  type: "plain_text" | "mrkdwn";
331
331
  text: string;
332
332
  emoji?: boolean | undefined;
333
333
  verbatim?: boolean | undefined;
334
- }[] | undefined;
335
- text?: {
334
+ } | undefined;
335
+ image_url?: string | undefined;
336
+ fields?: {
336
337
  type: "plain_text" | "mrkdwn";
337
338
  text: string;
338
339
  emoji?: boolean | undefined;
339
340
  verbatim?: boolean | undefined;
340
- } | undefined;
341
- image_url?: string | undefined;
342
- optional?: boolean | undefined;
341
+ }[] | undefined;
343
342
  alt_text?: string | undefined;
344
343
  elements?: {
345
344
  type: "plain_text" | "mrkdwn";
@@ -350,6 +349,7 @@ declare const SlackFormatterAgentResultSchema: z.ZodObject<{
350
349
  block_id?: string | undefined;
351
350
  accessory?: unknown;
352
351
  element?: unknown;
352
+ label?: unknown;
353
353
  hint?: unknown;
354
354
  }[] | undefined;
355
355
  }>;
@@ -419,12 +419,12 @@ export declare class SlackFormatterAgentBubble extends WorkflowBubble<SlackForma
419
419
  additionalContext?: string | undefined;
420
420
  }, {
421
421
  message: string;
422
- credentials?: Partial<Record<CredentialType, string>> | undefined;
423
422
  model?: {
424
423
  model?: "openai/gpt-5" | "openai/gpt-5-mini" | "openai/gpt-5.1" | "openai/gpt-5.2" | "google/gemini-2.5-pro" | "google/gemini-2.5-flash" | "google/gemini-2.5-flash-lite" | "google/gemini-2.5-flash-image-preview" | "google/gemini-3-pro-preview" | "google/gemini-3-pro-image-preview" | "google/gemini-3-flash-preview" | "google/gemini-3.1-pro-preview" | "anthropic/claude-sonnet-4-5" | "anthropic/claude-sonnet-4-6" | "anthropic/claude-opus-4-5" | "anthropic/claude-opus-4-6" | "anthropic/claude-haiku-4-5" | "openrouter/x-ai/grok-code-fast-1" | "openrouter/z-ai/glm-4.6" | "openrouter/z-ai/glm-4.7" | "openrouter/anthropic/claude-sonnet-4.5" | "openrouter/anthropic/claude-sonnet-4.6" | "openrouter/anthropic/claude-opus-4.5" | "openrouter/anthropic/claude-opus-4.6" | "openrouter/google/gemini-3-pro-preview" | "openrouter/morph/morph-v3-large" | "openrouter/openai/gpt-oss-120b" | "openrouter/openai/o3-deep-research" | "openrouter/openai/o4-mini-deep-research" | undefined;
425
424
  temperature?: number | undefined;
426
425
  maxTokens?: number | undefined;
427
426
  } | undefined;
427
+ credentials?: Partial<Record<CredentialType, string>> | undefined;
428
428
  tools?: {
429
429
  name: string;
430
430
  credentials?: Partial<Record<CredentialType, string>> | undefined;
@@ -518,21 +518,20 @@ export declare class SlackFormatterAgentBubble extends WorkflowBubble<SlackForma
518
518
  text: string;
519
519
  emoji?: boolean | undefined;
520
520
  } | undefined;
521
- label?: unknown;
522
- fields?: {
521
+ optional?: boolean | undefined;
522
+ text?: {
523
523
  type: "plain_text" | "mrkdwn";
524
524
  text: string;
525
525
  emoji?: boolean | undefined;
526
526
  verbatim?: boolean | undefined;
527
- }[] | undefined;
528
- text?: {
527
+ } | undefined;
528
+ image_url?: string | undefined;
529
+ fields?: {
529
530
  type: "plain_text" | "mrkdwn";
530
531
  text: string;
531
532
  emoji?: boolean | undefined;
532
533
  verbatim?: boolean | undefined;
533
- } | undefined;
534
- image_url?: string | undefined;
535
- optional?: boolean | undefined;
534
+ }[] | undefined;
536
535
  alt_text?: string | undefined;
537
536
  elements?: {
538
537
  type: "plain_text" | "mrkdwn";
@@ -543,6 +542,7 @@ export declare class SlackFormatterAgentBubble extends WorkflowBubble<SlackForma
543
542
  block_id?: string | undefined;
544
543
  accessory?: unknown;
545
544
  element?: unknown;
545
+ label?: unknown;
546
546
  hint?: unknown;
547
547
  }, {
548
548
  type: "input" | "image" | "file" | "divider" | "context" | "section" | "header" | "actions" | "table";
@@ -551,21 +551,20 @@ export declare class SlackFormatterAgentBubble extends WorkflowBubble<SlackForma
551
551
  text: string;
552
552
  emoji?: boolean | undefined;
553
553
  } | undefined;
554
- label?: unknown;
555
- fields?: {
554
+ optional?: boolean | undefined;
555
+ text?: {
556
556
  type: "plain_text" | "mrkdwn";
557
557
  text: string;
558
558
  emoji?: boolean | undefined;
559
559
  verbatim?: boolean | undefined;
560
- }[] | undefined;
561
- text?: {
560
+ } | undefined;
561
+ image_url?: string | undefined;
562
+ fields?: {
562
563
  type: "plain_text" | "mrkdwn";
563
564
  text: string;
564
565
  emoji?: boolean | undefined;
565
566
  verbatim?: boolean | undefined;
566
- } | undefined;
567
- image_url?: string | undefined;
568
- optional?: boolean | undefined;
567
+ }[] | undefined;
569
568
  alt_text?: string | undefined;
570
569
  elements?: {
571
570
  type: "plain_text" | "mrkdwn";
@@ -576,6 +575,7 @@ export declare class SlackFormatterAgentBubble extends WorkflowBubble<SlackForma
576
575
  block_id?: string | undefined;
577
576
  accessory?: unknown;
578
577
  element?: unknown;
578
+ label?: unknown;
579
579
  hint?: unknown;
580
580
  }>, "many">>;
581
581
  metadata: z.ZodObject<{
@@ -611,16 +611,16 @@ 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
+ response: string;
617
+ iterations: number;
616
618
  metadata: {
617
619
  verbosityLevel: string;
618
620
  technicalityLevel: string;
619
621
  wordCount: number;
620
622
  blockCount?: number | undefined;
621
623
  };
622
- response: string;
623
- iterations: number;
624
624
  toolCalls?: {
625
625
  tool: string;
626
626
  input?: unknown;
@@ -633,21 +633,20 @@ export declare class SlackFormatterAgentBubble extends WorkflowBubble<SlackForma
633
633
  text: string;
634
634
  emoji?: boolean | undefined;
635
635
  } | undefined;
636
- label?: unknown;
637
- fields?: {
636
+ optional?: boolean | undefined;
637
+ text?: {
638
638
  type: "plain_text" | "mrkdwn";
639
639
  text: string;
640
640
  emoji?: boolean | undefined;
641
641
  verbatim?: boolean | undefined;
642
- }[] | undefined;
643
- text?: {
642
+ } | undefined;
643
+ image_url?: string | undefined;
644
+ fields?: {
644
645
  type: "plain_text" | "mrkdwn";
645
646
  text: string;
646
647
  emoji?: boolean | undefined;
647
648
  verbatim?: boolean | undefined;
648
- } | undefined;
649
- image_url?: string | undefined;
650
- optional?: boolean | undefined;
649
+ }[] | undefined;
651
650
  alt_text?: string | undefined;
652
651
  elements?: {
653
652
  type: "plain_text" | "mrkdwn";
@@ -658,19 +657,20 @@ export declare class SlackFormatterAgentBubble extends WorkflowBubble<SlackForma
658
657
  block_id?: string | undefined;
659
658
  accessory?: unknown;
660
659
  element?: unknown;
660
+ label?: unknown;
661
661
  hint?: unknown;
662
662
  }[] | undefined;
663
663
  }, {
664
- success: boolean;
665
664
  error: string;
665
+ success: boolean;
666
+ response: string;
667
+ iterations: number;
666
668
  metadata: {
667
669
  verbosityLevel: string;
668
670
  technicalityLevel: string;
669
671
  wordCount: number;
670
672
  blockCount?: number | undefined;
671
673
  };
672
- response: string;
673
- iterations: number;
674
674
  toolCalls?: {
675
675
  tool: string;
676
676
  input?: unknown;
@@ -683,21 +683,20 @@ export declare class SlackFormatterAgentBubble extends WorkflowBubble<SlackForma
683
683
  text: string;
684
684
  emoji?: boolean | undefined;
685
685
  } | undefined;
686
- label?: unknown;
687
- fields?: {
686
+ optional?: boolean | undefined;
687
+ text?: {
688
688
  type: "plain_text" | "mrkdwn";
689
689
  text: string;
690
690
  emoji?: boolean | undefined;
691
691
  verbatim?: boolean | undefined;
692
- }[] | undefined;
693
- text?: {
692
+ } | undefined;
693
+ image_url?: string | undefined;
694
+ fields?: {
694
695
  type: "plain_text" | "mrkdwn";
695
696
  text: string;
696
697
  emoji?: boolean | undefined;
697
698
  verbatim?: boolean | undefined;
698
- } | undefined;
699
- image_url?: string | undefined;
700
- optional?: boolean | undefined;
699
+ }[] | undefined;
701
700
  alt_text?: string | undefined;
702
701
  elements?: {
703
702
  type: "plain_text" | "mrkdwn";
@@ -708,6 +707,7 @@ export declare class SlackFormatterAgentBubble extends WorkflowBubble<SlackForma
708
707
  block_id?: string | undefined;
709
708
  accessory?: unknown;
710
709
  element?: unknown;
710
+ label?: unknown;
711
711
  hint?: unknown;
712
712
  }[] | undefined;
713
713
  }>;
@@ -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-28T00:33:02.476Z",
3
+ "generatedAt": "2026-02-28T01:55:47.899Z",
4
4
  "totalCount": 70,
5
5
  "bubbles": [
6
6
  {
@@ -69040,7 +69040,7 @@
69040
69040
  "enum": [
69041
69041
  "updateFile"
69042
69042
  ],
69043
- "description": "Update/replace file content"
69043
+ "description": "Upload or replace file content"
69044
69044
  },
69045
69045
  "bucketName": {
69046
69046
  "type": "string",
@@ -69050,7 +69050,7 @@
69050
69050
  "fileName": {
69051
69051
  "type": "string",
69052
69052
  "minLength": 1,
69053
- "description": "Name of the file to update"
69053
+ "description": "Name of the file. Pass a secure fileName from a previous operation to overwrite it, or a new name to create a new file"
69054
69054
  },
69055
69055
  "region": {
69056
69056
  "type": "string",
@@ -69065,6 +69065,10 @@
69065
69065
  "minLength": 1,
69066
69066
  "description": "Base64 encoded file content or raw text content"
69067
69067
  },
69068
+ "userId": {
69069
+ "type": "string",
69070
+ "description": "User ID for secure file isolation"
69071
+ },
69068
69072
  "credentials": {
69069
69073
  "type": "object",
69070
69074
  "additionalProperties": {
@@ -69361,7 +69365,7 @@
69361
69365
  }
69362
69366
  ]
69363
69367
  },
69364
- "usageExample": "// GetUploadUrl example\nconst s3Storage_getUploadUrl = new S3Bubble({\n operation: \"getUploadUrl\", // Generate presigned upload URL\n bucketName: \"example string\", // Name of the S3 bucket\n fileName: \"example string\", // Original filename for the upload\n region: \"example string\", // AWS region override (defaults from credential or us-east-1)\n expirationMinutes: 60 // default, // URL expiration time in minutes\n contentType: \"example string\", // Content type for uploads\n userId: \"example string\", // User ID for secure file isolation\n});\n\nconst result = await s3Storage_getUploadUrl.action();\n// outputSchema for result.data when operation === 'getUploadUrl':\n// {\n// operation: \"getUploadUrl\" // Generate presigned upload URL,\n// success: boolean // Whether the operation was successful,\n// uploadUrl: string | undefined // Presigned upload URL,\n// fileName: string | undefined // Secure filename generated for the upload,\n// contentType: string | undefined // Content type of the file,\n// error: string // Error message if operation failed\n// }\n\n\n// GetFile example\nconst s3Storage_getFile = new S3Bubble({\n operation: \"getFile\", // Generate presigned download URL\n bucketName: \"example string\", // Name of the S3 bucket\n fileName: \"example string\", // Name of the file to retrieve\n region: \"example string\", // AWS region override (defaults from credential or us-east-1)\n expirationMinutes: 60 // default, // URL expiration time in minutes\n userId: \"example string\", // User ID for secure file isolation\n});\n\nconst result = await s3Storage_getFile.action();\n// outputSchema for result.data when operation === 'getFile':\n// {\n// operation: \"getFile\" // Generate presigned download URL,\n// success: boolean // Whether the operation was successful,\n// downloadUrl: string | undefined // Presigned download URL,\n// fileUrl: string | undefined // Direct file access URL,\n// fileName: string | undefined // Name of the file,\n// fileSize: number | undefined // File size in bytes,\n// contentType: string | undefined // Content type of the file,\n// lastModified: string | undefined // Last modified timestamp in ISO format,\n// error: string // Error message if operation failed\n// }\n\n\n// DeleteFile example\nconst s3Storage_deleteFile = new S3Bubble({\n operation: \"deleteFile\", // Delete file from bucket\n bucketName: \"example string\", // Name of the S3 bucket\n fileName: \"example string\", // Name of the file to delete\n region: \"example string\", // AWS region override (defaults from credential or us-east-1)\n});\n\nconst result = await s3Storage_deleteFile.action();\n// outputSchema for result.data when operation === 'deleteFile':\n// {\n// operation: \"deleteFile\" // Delete file from bucket,\n// success: boolean // Whether the operation was successful,\n// fileName: string | undefined // Name of the deleted file,\n// deleted: boolean | undefined // Whether the file was successfully deleted,\n// error: string // Error message if operation failed\n// }\n\n\n// UpdateFile example\nconst s3Storage_updateFile = new S3Bubble({\n operation: \"updateFile\", // Update/replace file content\n bucketName: \"bubble-lab-bucket\" // default,\n fileName: \"example string\", // Name of the file to update\n region: \"example string\", // AWS region override (defaults from credential or us-east-1)\n contentType: \"example string\", // Content type for uploads\n fileContent: \"example string\", // Base64 encoded file content or raw text content\n});\n\nconst result = await s3Storage_updateFile.action();\n// outputSchema for result.data when operation === 'updateFile':\n// {\n// operation: \"updateFile\" // Update/replace file content and generate a new secure filename for the file,\n// success: boolean // Whether the operation was successful,\n// fileName: string | undefined // Secure filename for the updated file (different from the original filename),\n// updated: boolean | undefined // Whether the file was successfully updated,\n// contentType: string | undefined // Content type of the updated file,\n// error: string // Error message if operation failed\n// }\n\n\n// GetMultipleUploadUrls example\nconst s3Storage_getMultipleUploadUrls = new S3Bubble({\n operation: \"getMultipleUploadUrls\", // Generate multiple presigned upload URLs for PDF + page images\n bucketName: \"example string\", // Name of the S3 bucket\n pdfFileName: \"example string\", // Original filename for the PDF\n pageCount: 42, // Number of pages to generate upload URLs for\n region: \"example string\", // AWS region override (defaults from credential or us-east-1)\n expirationMinutes: 60 // default, // URL expiration time in minutes\n userId: \"example string\", // User ID for secure file isolation\n});\n\nconst result = await s3Storage_getMultipleUploadUrls.action();\n// outputSchema for result.data when operation === 'getMultipleUploadUrls':\n// {\n// operation: \"getMultipleUploadUrls\" // Generate multiple presigned upload URLs for PDF + page images,\n// success: boolean // Whether the operation was successful,\n// pdfUploadUrl: string | undefined // Presigned upload URL for PDF,\n// pdfFileName: string | undefined // Secure filename for PDF,\n// pageUploadUrls: { pageNumber: number // Page number (1-indexed), uploadUrl: string // Presigned upload URL for this page, fileName: string // Secure filename for this page image }[] | undefined // Array of upload URLs for page images,\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(`s3-storage failed: ${result.error}`);\n}\n\n// Access the actual data\nconst actualData = result.data;\nconsole.log(actualData);",
69368
+ "usageExample": "// GetUploadUrl example\nconst s3Storage_getUploadUrl = new S3Bubble({\n operation: \"getUploadUrl\", // Generate presigned upload URL\n bucketName: \"example string\", // Name of the S3 bucket\n fileName: \"example string\", // Original filename for the upload\n region: \"example string\", // AWS region override (defaults from credential or us-east-1)\n expirationMinutes: 60 // default, // URL expiration time in minutes\n contentType: \"example string\", // Content type for uploads\n userId: \"example string\", // User ID for secure file isolation\n});\n\nconst result = await s3Storage_getUploadUrl.action();\n// outputSchema for result.data when operation === 'getUploadUrl':\n// {\n// operation: \"getUploadUrl\" // Generate presigned upload URL,\n// success: boolean // Whether the operation was successful,\n// uploadUrl: string | undefined // Presigned upload URL,\n// fileName: string | undefined // Secure filename generated for the upload,\n// contentType: string | undefined // Content type of the file,\n// error: string // Error message if operation failed\n// }\n\n\n// GetFile example\nconst s3Storage_getFile = new S3Bubble({\n operation: \"getFile\", // Generate presigned download URL\n bucketName: \"example string\", // Name of the S3 bucket\n fileName: \"example string\", // Name of the file to retrieve\n region: \"example string\", // AWS region override (defaults from credential or us-east-1)\n expirationMinutes: 60 // default, // URL expiration time in minutes\n userId: \"example string\", // User ID for secure file isolation\n});\n\nconst result = await s3Storage_getFile.action();\n// outputSchema for result.data when operation === 'getFile':\n// {\n// operation: \"getFile\" // Generate presigned download URL,\n// success: boolean // Whether the operation was successful,\n// downloadUrl: string | undefined // Presigned download URL,\n// fileUrl: string | undefined // Direct file access URL,\n// fileName: string | undefined // Name of the file,\n// fileSize: number | undefined // File size in bytes,\n// contentType: string | undefined // Content type of the file,\n// lastModified: string | undefined // Last modified timestamp in ISO format,\n// error: string // Error message if operation failed\n// }\n\n\n// DeleteFile example\nconst s3Storage_deleteFile = new S3Bubble({\n operation: \"deleteFile\", // Delete file from bucket\n bucketName: \"example string\", // Name of the S3 bucket\n fileName: \"example string\", // Name of the file to delete\n region: \"example string\", // AWS region override (defaults from credential or us-east-1)\n});\n\nconst result = await s3Storage_deleteFile.action();\n// outputSchema for result.data when operation === 'deleteFile':\n// {\n// operation: \"deleteFile\" // Delete file from bucket,\n// success: boolean // Whether the operation was successful,\n// fileName: string | undefined // Name of the deleted file,\n// deleted: boolean | undefined // Whether the file was successfully deleted,\n// error: string // Error message if operation failed\n// }\n\n\n// UpdateFile example\nconst s3Storage_updateFile = new S3Bubble({\n operation: \"updateFile\", // Upload or replace file content\n bucketName: \"bubble-lab-bucket\" // default,\n fileName: \"example string\", // Name of the file. Pass a secure fileName from a previous operation to overwrite it, or a new name to create a new file\n region: \"example string\", // AWS region override (defaults from credential or us-east-1)\n contentType: \"example string\", // Content type for uploads\n fileContent: \"example string\", // Base64 encoded file content or raw text content\n userId: \"example string\", // User ID for secure file isolation\n});\n\nconst result = await s3Storage_updateFile.action();\n// outputSchema for result.data when operation === 'updateFile':\n// {\n// operation: \"updateFile\" // Update/replace file content and generate a new secure filename for the file,\n// success: boolean // Whether the operation was successful,\n// fileName: string | undefined // Secure filename for the updated file (different from the original filename),\n// updated: boolean | undefined // Whether the file was successfully updated,\n// contentType: string | undefined // Content type of the updated file,\n// error: string // Error message if operation failed\n// }\n\n\n// GetMultipleUploadUrls example\nconst s3Storage_getMultipleUploadUrls = new S3Bubble({\n operation: \"getMultipleUploadUrls\", // Generate multiple presigned upload URLs for PDF + page images\n bucketName: \"example string\", // Name of the S3 bucket\n pdfFileName: \"example string\", // Original filename for the PDF\n pageCount: 42, // Number of pages to generate upload URLs for\n region: \"example string\", // AWS region override (defaults from credential or us-east-1)\n expirationMinutes: 60 // default, // URL expiration time in minutes\n userId: \"example string\", // User ID for secure file isolation\n});\n\nconst result = await s3Storage_getMultipleUploadUrls.action();\n// outputSchema for result.data when operation === 'getMultipleUploadUrls':\n// {\n// operation: \"getMultipleUploadUrls\" // Generate multiple presigned upload URLs for PDF + page images,\n// success: boolean // Whether the operation was successful,\n// pdfUploadUrl: string | undefined // Presigned upload URL for PDF,\n// pdfFileName: string | undefined // Secure filename for PDF,\n// pageUploadUrls: { pageNumber: number // Page number (1-indexed), uploadUrl: string // Presigned upload URL for this page, fileName: string // Secure filename for this page image }[] | undefined // Array of upload URLs for page images,\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(`s3-storage failed: ${result.error}`);\n}\n\n// Access the actual data\nconst actualData = result.data;\nconsole.log(actualData);",
69365
69369
  "requiredCredentials": [
69366
69370
  "S3_CRED"
69367
69371
  ]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bubblelab/bubble-core",
3
- "version": "0.1.202",
3
+ "version": "0.1.204",
4
4
  "type": "module",
5
5
  "license": "Apache-2.0",
6
6
  "main": "./dist/index.js",
@@ -41,7 +41,7 @@
41
41
  "puppeteer-core": "^24.10.0",
42
42
  "resend": "^4.8.0",
43
43
  "zod": "^3.24.1",
44
- "@bubblelab/shared-schemas": "0.1.202"
44
+ "@bubblelab/shared-schemas": "0.1.204"
45
45
  },
46
46
  "devDependencies": {
47
47
  "@types/node": "^20.12.12",