@bubblelab/bubble-core 0.1.66 → 0.1.67

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 (65) hide show
  1. package/dist/bubble-bundle.d.ts +83 -83
  2. package/dist/bubbles/service-bubble/agi-inc.d.ts +88 -88
  3. package/dist/bubbles/service-bubble/ai-agent.d.ts +28 -16
  4. package/dist/bubbles/service-bubble/ai-agent.d.ts.map +1 -1
  5. package/dist/bubbles/service-bubble/ai-agent.js +18 -16
  6. package/dist/bubbles/service-bubble/ai-agent.js.map +1 -1
  7. package/dist/bubbles/service-bubble/airtable.d.ts +130 -130
  8. package/dist/bubbles/service-bubble/apify/apify.d.ts +16 -16
  9. package/dist/bubbles/service-bubble/ashby/ashby.d.ts +138 -138
  10. package/dist/bubbles/service-bubble/browserbase/browserbase.d.ts +28 -28
  11. package/dist/bubbles/service-bubble/crustdata/crustdata.d.ts +126 -126
  12. package/dist/bubbles/service-bubble/eleven-labs.d.ts +28 -28
  13. package/dist/bubbles/service-bubble/firecrawl.d.ts +755 -755
  14. package/dist/bubbles/service-bubble/followupboss.d.ts +140 -140
  15. package/dist/bubbles/service-bubble/fullenrich/fullenrich.d.ts +56 -56
  16. package/dist/bubbles/service-bubble/github.d.ts +160 -160
  17. package/dist/bubbles/service-bubble/gmail.d.ts +224 -224
  18. package/dist/bubbles/service-bubble/google-calendar.d.ts +218 -218
  19. package/dist/bubbles/service-bubble/google-drive.d.ts +84 -84
  20. package/dist/bubbles/service-bubble/google-sheets/google-sheets.d.ts +32 -32
  21. package/dist/bubbles/service-bubble/hello-world.d.ts +8 -8
  22. package/dist/bubbles/service-bubble/http.d.ts +12 -12
  23. package/dist/bubbles/service-bubble/insforge-db.d.ts +16 -16
  24. package/dist/bubbles/service-bubble/jira/jira.d.ts +54 -54
  25. package/dist/bubbles/service-bubble/notion/notion.d.ts +1634 -1634
  26. package/dist/bubbles/service-bubble/postgresql.d.ts +16 -16
  27. package/dist/bubbles/service-bubble/resend.d.ts +28 -28
  28. package/dist/bubbles/service-bubble/slack/slack.d.ts +444 -444
  29. package/dist/bubbles/service-bubble/storage.d.ts +20 -20
  30. package/dist/bubbles/service-bubble/stripe/stripe.d.ts +103 -103
  31. package/dist/bubbles/service-bubble/telegram.d.ts +1562 -1562
  32. package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.d.ts +13 -13
  33. package/dist/bubbles/tool-bubble/bubbleflow-validation-tool.d.ts +20 -20
  34. package/dist/bubbles/tool-bubble/chart-js-tool.d.ts +18 -18
  35. package/dist/bubbles/tool-bubble/code-edit-tool.d.ts +8 -8
  36. package/dist/bubbles/tool-bubble/company-enrichment-tool.d.ts +62 -62
  37. package/dist/bubbles/tool-bubble/get-bubble-details-tool.d.ts +4 -4
  38. package/dist/bubbles/tool-bubble/get-trigger-detail-tool.d.ts +4 -4
  39. package/dist/bubbles/tool-bubble/google-maps-tool.d.ts +4 -4
  40. package/dist/bubbles/tool-bubble/instagram-tool.d.ts +14 -14
  41. package/dist/bubbles/tool-bubble/linkedin-connection-tool/linkedin-connection-tool.d.ts +2 -2
  42. package/dist/bubbles/tool-bubble/linkedin-tool.d.ts +294 -294
  43. package/dist/bubbles/tool-bubble/list-bubbles-tool.d.ts +4 -4
  44. package/dist/bubbles/tool-bubble/people-search-tool.d.ts +122 -122
  45. package/dist/bubbles/tool-bubble/reddit-scrape-tool.d.ts +24 -24
  46. package/dist/bubbles/tool-bubble/research-agent-tool.d.ts +8 -8
  47. package/dist/bubbles/tool-bubble/sql-query-tool.d.ts +8 -8
  48. package/dist/bubbles/tool-bubble/tiktok-tool.d.ts +72 -72
  49. package/dist/bubbles/tool-bubble/tool-template.d.ts +4 -4
  50. package/dist/bubbles/tool-bubble/twitter-tool.d.ts +134 -134
  51. package/dist/bubbles/tool-bubble/web-crawl-tool.d.ts +18 -18
  52. package/dist/bubbles/tool-bubble/web-extract-tool.d.ts +4 -4
  53. package/dist/bubbles/tool-bubble/web-scrape-tool.d.ts +4 -4
  54. package/dist/bubbles/tool-bubble/web-search-tool.d.ts +8 -8
  55. package/dist/bubbles/tool-bubble/youtube-tool.d.ts +18 -18
  56. package/dist/bubbles/workflow-bubble/database-analyzer.workflow.d.ts +4 -4
  57. package/dist/bubbles/workflow-bubble/generate-document.workflow.d.ts +40 -40
  58. package/dist/bubbles/workflow-bubble/parse-document.workflow.d.ts +8 -8
  59. package/dist/bubbles/workflow-bubble/pdf-form-operations.workflow.d.ts +104 -104
  60. package/dist/bubbles/workflow-bubble/pdf-ocr.workflow.d.ts +16 -16
  61. package/dist/bubbles/workflow-bubble/slack-data-assistant.workflow.d.ts +34 -34
  62. package/dist/bubbles/workflow-bubble/slack-formatter-agent.d.ts +86 -86
  63. package/dist/bubbles/workflow-bubble/slack-notifier.workflow.d.ts +8 -8
  64. package/dist/bubbles.json +11 -3
  65. package/package.json +2 -2
@@ -54,19 +54,19 @@ declare const SlackFormatterAgentParamsSchema: z.ZodObject<{
54
54
  maxIterations: number;
55
55
  verbosity: "1" | "2" | "3" | "4" | "5";
56
56
  technicality: "1" | "2" | "3" | "4" | "5";
57
- includeBlockKit: boolean;
58
57
  includeQuery: boolean;
59
58
  includeExplanation: boolean;
59
+ includeBlockKit: boolean;
60
60
  credentials?: Partial<Record<CredentialType, string>> | undefined;
61
61
  additionalContext?: string | undefined;
62
62
  }, {
63
63
  message: string;
64
+ credentials?: Partial<Record<CredentialType, string>> | undefined;
64
65
  model?: {
65
66
  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" | "anthropic/claude-sonnet-4-5" | "anthropic/claude-opus-4-5" | "anthropic/claude-haiku-4-5" | "openrouter/x-ai/grok-code-fast-1" | "openrouter/z-ai/glm-4.6" | "openrouter/anthropic/claude-sonnet-4.5" | "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;
66
67
  temperature?: number | undefined;
67
68
  maxTokens?: number | undefined;
68
69
  } | undefined;
69
- credentials?: Partial<Record<CredentialType, string>> | undefined;
70
70
  tools?: {
71
71
  name: string;
72
72
  credentials?: Partial<Record<CredentialType, string>> | undefined;
@@ -75,10 +75,10 @@ declare const SlackFormatterAgentParamsSchema: z.ZodObject<{
75
75
  maxIterations?: number | undefined;
76
76
  verbosity?: "1" | "2" | "3" | "4" | "5" | undefined;
77
77
  technicality?: "1" | "2" | "3" | "4" | "5" | undefined;
78
- includeBlockKit?: boolean | undefined;
79
78
  includeQuery?: boolean | undefined;
80
79
  includeExplanation?: boolean | undefined;
81
80
  additionalContext?: string | undefined;
81
+ includeBlockKit?: boolean | undefined;
82
82
  }>;
83
83
  declare const SlackFormatterAgentResultSchema: z.ZodObject<{
84
84
  response: z.ZodString;
@@ -160,20 +160,19 @@ declare const SlackFormatterAgentResultSchema: z.ZodObject<{
160
160
  text: string;
161
161
  emoji?: boolean | undefined;
162
162
  } | undefined;
163
- text?: {
163
+ fields?: {
164
164
  type: "plain_text" | "mrkdwn";
165
165
  text: string;
166
166
  emoji?: boolean | undefined;
167
167
  verbatim?: boolean | undefined;
168
- } | undefined;
169
- image_url?: string | undefined;
170
- optional?: boolean | undefined;
171
- fields?: {
168
+ }[] | undefined;
169
+ text?: {
172
170
  type: "plain_text" | "mrkdwn";
173
171
  text: string;
174
172
  emoji?: boolean | undefined;
175
173
  verbatim?: boolean | undefined;
176
- }[] | undefined;
174
+ } | undefined;
175
+ image_url?: string | undefined;
177
176
  alt_text?: string | undefined;
178
177
  elements?: {
179
178
  type: "plain_text" | "mrkdwn";
@@ -181,10 +180,11 @@ declare const SlackFormatterAgentResultSchema: z.ZodObject<{
181
180
  emoji?: boolean | undefined;
182
181
  verbatim?: boolean | undefined;
183
182
  }[] | undefined;
183
+ label?: unknown;
184
+ optional?: boolean | undefined;
185
+ element?: unknown;
184
186
  block_id?: string | undefined;
185
187
  accessory?: unknown;
186
- element?: unknown;
187
- label?: unknown;
188
188
  hint?: unknown;
189
189
  }, {
190
190
  type: "input" | "image" | "file" | "section" | "header" | "divider" | "context" | "actions";
@@ -193,20 +193,19 @@ declare const SlackFormatterAgentResultSchema: z.ZodObject<{
193
193
  text: string;
194
194
  emoji?: boolean | undefined;
195
195
  } | undefined;
196
- text?: {
196
+ fields?: {
197
197
  type: "plain_text" | "mrkdwn";
198
198
  text: string;
199
199
  emoji?: boolean | undefined;
200
200
  verbatim?: boolean | undefined;
201
- } | undefined;
202
- image_url?: string | undefined;
203
- optional?: boolean | undefined;
204
- fields?: {
201
+ }[] | undefined;
202
+ text?: {
205
203
  type: "plain_text" | "mrkdwn";
206
204
  text: string;
207
205
  emoji?: boolean | undefined;
208
206
  verbatim?: boolean | undefined;
209
- }[] | undefined;
207
+ } | undefined;
208
+ image_url?: string | undefined;
210
209
  alt_text?: string | undefined;
211
210
  elements?: {
212
211
  type: "plain_text" | "mrkdwn";
@@ -214,10 +213,11 @@ declare const SlackFormatterAgentResultSchema: z.ZodObject<{
214
213
  emoji?: boolean | undefined;
215
214
  verbatim?: boolean | undefined;
216
215
  }[] | undefined;
216
+ label?: unknown;
217
+ optional?: boolean | undefined;
218
+ element?: unknown;
217
219
  block_id?: string | undefined;
218
220
  accessory?: unknown;
219
- element?: unknown;
220
- label?: unknown;
221
221
  hint?: unknown;
222
222
  }>, "many">>;
223
223
  metadata: z.ZodObject<{
@@ -226,14 +226,14 @@ declare const SlackFormatterAgentResultSchema: z.ZodObject<{
226
226
  wordCount: z.ZodNumber;
227
227
  blockCount: z.ZodOptional<z.ZodNumber>;
228
228
  }, "strip", z.ZodTypeAny, {
229
+ wordCount: number;
229
230
  verbosityLevel: string;
230
231
  technicalityLevel: string;
231
- wordCount: number;
232
232
  blockCount?: number | undefined;
233
233
  }, {
234
+ wordCount: number;
234
235
  verbosityLevel: string;
235
236
  technicalityLevel: string;
236
- wordCount: number;
237
237
  blockCount?: number | undefined;
238
238
  }>;
239
239
  toolCalls: z.ZodOptional<z.ZodArray<z.ZodObject<{
@@ -253,14 +253,14 @@ declare const SlackFormatterAgentResultSchema: z.ZodObject<{
253
253
  error: z.ZodString;
254
254
  success: z.ZodBoolean;
255
255
  }, "strip", z.ZodTypeAny, {
256
+ success: boolean;
257
+ error: string;
256
258
  response: string;
257
259
  iterations: number;
258
- error: string;
259
- success: boolean;
260
260
  metadata: {
261
+ wordCount: number;
261
262
  verbosityLevel: string;
262
263
  technicalityLevel: string;
263
- wordCount: number;
264
264
  blockCount?: number | undefined;
265
265
  };
266
266
  toolCalls?: {
@@ -275,20 +275,19 @@ declare const SlackFormatterAgentResultSchema: z.ZodObject<{
275
275
  text: string;
276
276
  emoji?: boolean | undefined;
277
277
  } | undefined;
278
- text?: {
278
+ fields?: {
279
279
  type: "plain_text" | "mrkdwn";
280
280
  text: string;
281
281
  emoji?: boolean | undefined;
282
282
  verbatim?: boolean | undefined;
283
- } | undefined;
284
- image_url?: string | undefined;
285
- optional?: boolean | undefined;
286
- fields?: {
283
+ }[] | undefined;
284
+ text?: {
287
285
  type: "plain_text" | "mrkdwn";
288
286
  text: string;
289
287
  emoji?: boolean | undefined;
290
288
  verbatim?: boolean | undefined;
291
- }[] | undefined;
289
+ } | undefined;
290
+ image_url?: string | undefined;
292
291
  alt_text?: string | undefined;
293
292
  elements?: {
294
293
  type: "plain_text" | "mrkdwn";
@@ -296,21 +295,22 @@ declare const SlackFormatterAgentResultSchema: z.ZodObject<{
296
295
  emoji?: boolean | undefined;
297
296
  verbatim?: boolean | undefined;
298
297
  }[] | undefined;
298
+ label?: unknown;
299
+ optional?: boolean | undefined;
300
+ element?: unknown;
299
301
  block_id?: string | undefined;
300
302
  accessory?: unknown;
301
- element?: unknown;
302
- label?: unknown;
303
303
  hint?: unknown;
304
304
  }[] | undefined;
305
305
  }, {
306
+ success: boolean;
307
+ error: string;
306
308
  response: string;
307
309
  iterations: number;
308
- error: string;
309
- success: boolean;
310
310
  metadata: {
311
+ wordCount: number;
311
312
  verbosityLevel: string;
312
313
  technicalityLevel: string;
313
- wordCount: number;
314
314
  blockCount?: number | undefined;
315
315
  };
316
316
  toolCalls?: {
@@ -325,20 +325,19 @@ declare const SlackFormatterAgentResultSchema: z.ZodObject<{
325
325
  text: string;
326
326
  emoji?: boolean | undefined;
327
327
  } | undefined;
328
- text?: {
328
+ fields?: {
329
329
  type: "plain_text" | "mrkdwn";
330
330
  text: string;
331
331
  emoji?: boolean | undefined;
332
332
  verbatim?: boolean | undefined;
333
- } | undefined;
334
- image_url?: string | undefined;
335
- optional?: boolean | undefined;
336
- fields?: {
333
+ }[] | undefined;
334
+ text?: {
337
335
  type: "plain_text" | "mrkdwn";
338
336
  text: string;
339
337
  emoji?: boolean | undefined;
340
338
  verbatim?: boolean | undefined;
341
- }[] | undefined;
339
+ } | undefined;
340
+ image_url?: string | undefined;
342
341
  alt_text?: string | undefined;
343
342
  elements?: {
344
343
  type: "plain_text" | "mrkdwn";
@@ -346,10 +345,11 @@ declare const SlackFormatterAgentResultSchema: z.ZodObject<{
346
345
  emoji?: boolean | undefined;
347
346
  verbatim?: boolean | undefined;
348
347
  }[] | undefined;
348
+ label?: unknown;
349
+ optional?: boolean | undefined;
350
+ element?: unknown;
349
351
  block_id?: string | undefined;
350
352
  accessory?: unknown;
351
- element?: unknown;
352
- label?: unknown;
353
353
  hint?: unknown;
354
354
  }[] | undefined;
355
355
  }>;
@@ -412,19 +412,19 @@ export declare class SlackFormatterAgentBubble extends WorkflowBubble<SlackForma
412
412
  maxIterations: number;
413
413
  verbosity: "1" | "2" | "3" | "4" | "5";
414
414
  technicality: "1" | "2" | "3" | "4" | "5";
415
- includeBlockKit: boolean;
416
415
  includeQuery: boolean;
417
416
  includeExplanation: boolean;
417
+ includeBlockKit: boolean;
418
418
  credentials?: Partial<Record<CredentialType, string>> | undefined;
419
419
  additionalContext?: string | undefined;
420
420
  }, {
421
421
  message: string;
422
+ credentials?: Partial<Record<CredentialType, string>> | undefined;
422
423
  model?: {
423
424
  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" | "anthropic/claude-sonnet-4-5" | "anthropic/claude-opus-4-5" | "anthropic/claude-haiku-4-5" | "openrouter/x-ai/grok-code-fast-1" | "openrouter/z-ai/glm-4.6" | "openrouter/anthropic/claude-sonnet-4.5" | "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;
424
425
  temperature?: number | undefined;
425
426
  maxTokens?: number | undefined;
426
427
  } | undefined;
427
- credentials?: Partial<Record<CredentialType, string>> | undefined;
428
428
  tools?: {
429
429
  name: string;
430
430
  credentials?: Partial<Record<CredentialType, string>> | undefined;
@@ -433,10 +433,10 @@ export declare class SlackFormatterAgentBubble extends WorkflowBubble<SlackForma
433
433
  maxIterations?: number | undefined;
434
434
  verbosity?: "1" | "2" | "3" | "4" | "5" | undefined;
435
435
  technicality?: "1" | "2" | "3" | "4" | "5" | undefined;
436
- includeBlockKit?: boolean | undefined;
437
436
  includeQuery?: boolean | undefined;
438
437
  includeExplanation?: boolean | undefined;
439
438
  additionalContext?: string | undefined;
439
+ includeBlockKit?: boolean | undefined;
440
440
  }>;
441
441
  static readonly resultSchema: z.ZodObject<{
442
442
  response: z.ZodString;
@@ -518,20 +518,19 @@ export declare class SlackFormatterAgentBubble extends WorkflowBubble<SlackForma
518
518
  text: string;
519
519
  emoji?: boolean | undefined;
520
520
  } | undefined;
521
- text?: {
521
+ fields?: {
522
522
  type: "plain_text" | "mrkdwn";
523
523
  text: string;
524
524
  emoji?: boolean | undefined;
525
525
  verbatim?: boolean | undefined;
526
- } | undefined;
527
- image_url?: string | undefined;
528
- optional?: boolean | undefined;
529
- fields?: {
526
+ }[] | undefined;
527
+ text?: {
530
528
  type: "plain_text" | "mrkdwn";
531
529
  text: string;
532
530
  emoji?: boolean | undefined;
533
531
  verbatim?: boolean | undefined;
534
- }[] | undefined;
532
+ } | undefined;
533
+ image_url?: string | undefined;
535
534
  alt_text?: string | undefined;
536
535
  elements?: {
537
536
  type: "plain_text" | "mrkdwn";
@@ -539,10 +538,11 @@ export declare class SlackFormatterAgentBubble extends WorkflowBubble<SlackForma
539
538
  emoji?: boolean | undefined;
540
539
  verbatim?: boolean | undefined;
541
540
  }[] | undefined;
541
+ label?: unknown;
542
+ optional?: boolean | undefined;
543
+ element?: unknown;
542
544
  block_id?: string | undefined;
543
545
  accessory?: unknown;
544
- element?: unknown;
545
- label?: unknown;
546
546
  hint?: unknown;
547
547
  }, {
548
548
  type: "input" | "image" | "file" | "section" | "header" | "divider" | "context" | "actions";
@@ -551,20 +551,19 @@ export declare class SlackFormatterAgentBubble extends WorkflowBubble<SlackForma
551
551
  text: string;
552
552
  emoji?: boolean | undefined;
553
553
  } | undefined;
554
- text?: {
554
+ fields?: {
555
555
  type: "plain_text" | "mrkdwn";
556
556
  text: string;
557
557
  emoji?: boolean | undefined;
558
558
  verbatim?: boolean | undefined;
559
- } | undefined;
560
- image_url?: string | undefined;
561
- optional?: boolean | undefined;
562
- fields?: {
559
+ }[] | undefined;
560
+ text?: {
563
561
  type: "plain_text" | "mrkdwn";
564
562
  text: string;
565
563
  emoji?: boolean | undefined;
566
564
  verbatim?: boolean | undefined;
567
- }[] | undefined;
565
+ } | undefined;
566
+ image_url?: string | undefined;
568
567
  alt_text?: string | undefined;
569
568
  elements?: {
570
569
  type: "plain_text" | "mrkdwn";
@@ -572,10 +571,11 @@ export declare class SlackFormatterAgentBubble extends WorkflowBubble<SlackForma
572
571
  emoji?: boolean | undefined;
573
572
  verbatim?: boolean | undefined;
574
573
  }[] | undefined;
574
+ label?: unknown;
575
+ optional?: boolean | undefined;
576
+ element?: unknown;
575
577
  block_id?: string | undefined;
576
578
  accessory?: unknown;
577
- element?: unknown;
578
- label?: unknown;
579
579
  hint?: unknown;
580
580
  }>, "many">>;
581
581
  metadata: z.ZodObject<{
@@ -584,14 +584,14 @@ export declare class SlackFormatterAgentBubble extends WorkflowBubble<SlackForma
584
584
  wordCount: z.ZodNumber;
585
585
  blockCount: z.ZodOptional<z.ZodNumber>;
586
586
  }, "strip", z.ZodTypeAny, {
587
+ wordCount: number;
587
588
  verbosityLevel: string;
588
589
  technicalityLevel: string;
589
- wordCount: number;
590
590
  blockCount?: number | undefined;
591
591
  }, {
592
+ wordCount: number;
592
593
  verbosityLevel: string;
593
594
  technicalityLevel: string;
594
- wordCount: number;
595
595
  blockCount?: number | undefined;
596
596
  }>;
597
597
  toolCalls: z.ZodOptional<z.ZodArray<z.ZodObject<{
@@ -611,14 +611,14 @@ 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
+ error: string;
614
616
  response: string;
615
617
  iterations: number;
616
- error: string;
617
- success: boolean;
618
618
  metadata: {
619
+ wordCount: number;
619
620
  verbosityLevel: string;
620
621
  technicalityLevel: string;
621
- wordCount: number;
622
622
  blockCount?: number | undefined;
623
623
  };
624
624
  toolCalls?: {
@@ -633,20 +633,19 @@ export declare class SlackFormatterAgentBubble extends WorkflowBubble<SlackForma
633
633
  text: string;
634
634
  emoji?: boolean | undefined;
635
635
  } | undefined;
636
- text?: {
636
+ fields?: {
637
637
  type: "plain_text" | "mrkdwn";
638
638
  text: string;
639
639
  emoji?: boolean | undefined;
640
640
  verbatim?: boolean | undefined;
641
- } | undefined;
642
- image_url?: string | undefined;
643
- optional?: boolean | undefined;
644
- fields?: {
641
+ }[] | undefined;
642
+ text?: {
645
643
  type: "plain_text" | "mrkdwn";
646
644
  text: string;
647
645
  emoji?: boolean | undefined;
648
646
  verbatim?: boolean | undefined;
649
- }[] | undefined;
647
+ } | undefined;
648
+ image_url?: string | undefined;
650
649
  alt_text?: string | undefined;
651
650
  elements?: {
652
651
  type: "plain_text" | "mrkdwn";
@@ -654,21 +653,22 @@ export declare class SlackFormatterAgentBubble extends WorkflowBubble<SlackForma
654
653
  emoji?: boolean | undefined;
655
654
  verbatim?: boolean | undefined;
656
655
  }[] | undefined;
656
+ label?: unknown;
657
+ optional?: boolean | undefined;
658
+ element?: unknown;
657
659
  block_id?: string | undefined;
658
660
  accessory?: unknown;
659
- element?: unknown;
660
- label?: unknown;
661
661
  hint?: unknown;
662
662
  }[] | undefined;
663
663
  }, {
664
+ success: boolean;
665
+ error: string;
664
666
  response: string;
665
667
  iterations: number;
666
- error: string;
667
- success: boolean;
668
668
  metadata: {
669
+ wordCount: number;
669
670
  verbosityLevel: string;
670
671
  technicalityLevel: string;
671
- wordCount: number;
672
672
  blockCount?: number | undefined;
673
673
  };
674
674
  toolCalls?: {
@@ -683,20 +683,19 @@ export declare class SlackFormatterAgentBubble extends WorkflowBubble<SlackForma
683
683
  text: string;
684
684
  emoji?: boolean | undefined;
685
685
  } | undefined;
686
- text?: {
686
+ fields?: {
687
687
  type: "plain_text" | "mrkdwn";
688
688
  text: string;
689
689
  emoji?: boolean | undefined;
690
690
  verbatim?: boolean | undefined;
691
- } | undefined;
692
- image_url?: string | undefined;
693
- optional?: boolean | undefined;
694
- fields?: {
691
+ }[] | undefined;
692
+ text?: {
695
693
  type: "plain_text" | "mrkdwn";
696
694
  text: string;
697
695
  emoji?: boolean | undefined;
698
696
  verbatim?: boolean | undefined;
699
- }[] | undefined;
697
+ } | undefined;
698
+ image_url?: string | undefined;
700
699
  alt_text?: string | undefined;
701
700
  elements?: {
702
701
  type: "plain_text" | "mrkdwn";
@@ -704,10 +703,11 @@ export declare class SlackFormatterAgentBubble extends WorkflowBubble<SlackForma
704
703
  emoji?: boolean | undefined;
705
704
  verbatim?: boolean | undefined;
706
705
  }[] | undefined;
706
+ label?: unknown;
707
+ optional?: boolean | undefined;
708
+ element?: unknown;
707
709
  block_id?: string | undefined;
708
710
  accessory?: unknown;
709
- element?: unknown;
710
- label?: unknown;
711
711
  hint?: unknown;
712
712
  }[] | undefined;
713
713
  }>;
@@ -54,7 +54,7 @@ declare const SlackNotifierParamsSchema: z.ZodObject<{
54
54
  }, "strip", z.ZodTypeAny, {
55
55
  contentToFormat: string;
56
56
  targetChannel: string;
57
- messageStyle: "concise" | "detailed" | "professional" | "casual" | "technical";
57
+ messageStyle: "professional" | "casual" | "technical" | "concise" | "detailed";
58
58
  includeFormatting: boolean;
59
59
  maxMessageLength: number;
60
60
  credentials?: Partial<Record<CredentialType, string>> | undefined;
@@ -71,7 +71,7 @@ declare const SlackNotifierParamsSchema: z.ZodObject<{
71
71
  credentials?: Partial<Record<CredentialType, string>> | undefined;
72
72
  originalUserQuery?: string | undefined;
73
73
  messageTitle?: string | undefined;
74
- messageStyle?: "concise" | "detailed" | "professional" | "casual" | "technical" | undefined;
74
+ messageStyle?: "professional" | "casual" | "technical" | "concise" | "detailed" | undefined;
75
75
  includeFormatting?: boolean | undefined;
76
76
  maxMessageLength?: number | undefined;
77
77
  aiModel?: {
@@ -148,8 +148,8 @@ declare const SlackNotifierResultSchema: z.ZodObject<{
148
148
  originalLength?: number | undefined;
149
149
  }>>;
150
150
  }, "strip", z.ZodTypeAny, {
151
- error: string;
152
151
  success: boolean;
152
+ error: string;
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
- error: string;
167
166
  success: boolean;
167
+ error: string;
168
168
  messageInfo?: {
169
169
  channelName?: string | undefined;
170
170
  messageTimestamp?: string | undefined;
@@ -252,7 +252,7 @@ export declare class SlackNotifierWorkflowBubble extends WorkflowBubble<SlackNot
252
252
  }, "strip", z.ZodTypeAny, {
253
253
  contentToFormat: string;
254
254
  targetChannel: string;
255
- messageStyle: "concise" | "detailed" | "professional" | "casual" | "technical";
255
+ messageStyle: "professional" | "casual" | "technical" | "concise" | "detailed";
256
256
  includeFormatting: boolean;
257
257
  maxMessageLength: number;
258
258
  credentials?: Partial<Record<CredentialType, string>> | undefined;
@@ -269,7 +269,7 @@ export declare class SlackNotifierWorkflowBubble extends WorkflowBubble<SlackNot
269
269
  credentials?: Partial<Record<CredentialType, string>> | undefined;
270
270
  originalUserQuery?: string | undefined;
271
271
  messageTitle?: string | undefined;
272
- messageStyle?: "concise" | "detailed" | "professional" | "casual" | "technical" | undefined;
272
+ messageStyle?: "professional" | "casual" | "technical" | "concise" | "detailed" | undefined;
273
273
  includeFormatting?: boolean | undefined;
274
274
  maxMessageLength?: number | undefined;
275
275
  aiModel?: {
@@ -344,8 +344,8 @@ export declare class SlackNotifierWorkflowBubble extends WorkflowBubble<SlackNot
344
344
  originalLength?: number | undefined;
345
345
  }>>;
346
346
  }, "strip", z.ZodTypeAny, {
347
- error: string;
348
347
  success: boolean;
348
+ error: string;
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
- error: string;
363
362
  success: boolean;
363
+ error: string;
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-01-31T21:04:10.070Z",
3
+ "generatedAt": "2026-01-31T21:56:39.458Z",
4
4
  "totalCount": 58,
5
5
  "bubbles": [
6
6
  {
@@ -68,7 +68,7 @@
68
68
  "type": "service",
69
69
  "shortDescription": "AI agent with LangGraph for tool-enabled conversations, multimodal support, and JSON mode",
70
70
  "useCase": "- Add tools to enhance the AI agent's capabilities (web-search-tool, web-scrape-tool)",
71
- "outputSchema": "{\n response: string // The AI agents final response to the user message. For text responses, returns plain text. If JSON mode is enabled, returns a JSON string. For image generation models (like gemini-2.5-flash-image-preview), returns base64-encoded image data with data URI format (data:image/png;base64,...),\n toolCalls: { tool: string // Name of the tool that was called, input: unknown // Input parameters passed to the tool, output: unknown // Output returned by the tool }[] // Array of tool calls made during the conversation,\n iterations: number // Number of back-and-forth iterations in the agent workflow,\n error: string // Error message of the run, undefined if successful,\n success: boolean // Whether the agent execution completed successfully\n}",
71
+ "outputSchema": "{\n response: string // The AI agents final response to the user message. For text responses, returns plain text. If JSON mode is enabled, returns a JSON string. For image generation models (like gemini-2.5-flash-image-preview), returns base64-encoded image data with data URI format (data:image/png;base64,...),\n reasoning: string | undefined // The reasoning/thinking tokens from the model (if available). Present for deep research models and reasoning models.,\n toolCalls: { tool: string // Name of the tool that was called, input: unknown // Input parameters passed to the tool, output: unknown // Output returned by the tool }[] // Array of tool calls made during the conversation,\n iterations: number // Number of back-and-forth iterations in the agent workflow,\n totalCost: number | undefined // Total cost in USD for this request (includes tokens + web search for deep research models),\n error: string // Error message of the run, undefined if successful,\n success: boolean // Whether the agent execution completed successfully\n}",
72
72
  "inputJsonSchema": {
73
73
  "type": "object",
74
74
  "properties": {
@@ -471,6 +471,10 @@
471
471
  "type": "string",
472
472
  "description": "The AI agents final response to the user message. For text responses, returns plain text. If JSON mode is enabled, returns a JSON string. For image generation models (like gemini-2.5-flash-image-preview), returns base64-encoded image data with data URI format (data:image/png;base64,...)"
473
473
  },
474
+ "reasoning": {
475
+ "type": "string",
476
+ "description": "The reasoning/thinking tokens from the model (if available). Present for deep research models and reasoning models."
477
+ },
474
478
  "toolCalls": {
475
479
  "type": "array",
476
480
  "items": {
@@ -498,6 +502,10 @@
498
502
  "type": "number",
499
503
  "description": "Number of back-and-forth iterations in the agent workflow"
500
504
  },
505
+ "totalCost": {
506
+ "type": "number",
507
+ "description": "Total cost in USD for this request (includes tokens + web search for deep research models)"
508
+ },
501
509
  "error": {
502
510
  "type": "string",
503
511
  "description": "Error message of the run, undefined if successful"
@@ -516,7 +524,7 @@
516
524
  ],
517
525
  "additionalProperties": false
518
526
  },
519
- "usageExample": "// Example usage of ai-agent bubble\nconst aiAgent = new AIAgentBubble({\n message: \"example string\", // The message or question to send to the AI agent,\n images: [{ type: \"base64\" // default, data: \"example string\", mimeType: \"image/png\" // default, description: \"example string\" }] // example for array, // Array of base64 encoded images to include with the message (for multimodal AI models). Example: [{type: \"base64\", data: \"base64...\", mimeType: \"image/png\", description: \"A beautiful image of a cat\"}] or [{type: \"url\", url: \"https://example.com/image.png\", description: \"A beautiful image of a cat\"}],\n conversationHistory: [{ role: \"user\" // options: \"user\", \"assistant\", \"tool\" // The role of the message sender, content: \"example string\" // The message content, toolCallId: \"example string\" // Tool call ID for tool messages, name: \"example string\" // Tool name for tool messages }], // Previous conversation messages for multi-turn conversations. When provided, messages are sent as separate turns to enable KV cache optimization. Format: [{role: \"user\", content: \"...\"}, {role: \"assistant\", content: \"...\"}, ...],\n systemPrompt: \"You are a helpful AI assistant\" // default, // System prompt that defines the AI agents behavior and personality,\n name: \"AI Agent\" // default, // A friendly name for the AI agent,\n model: { model: \"openai/gpt-5\" // options: \"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\", \"anthropic/claude-sonnet-4-5\", \"anthropic/claude-opus-4-5\", \"anthropic/claude-haiku-4-5\", \"openrouter/x-ai/grok-code-fast-1\", \"openrouter/z-ai/glm-4.6\", \"openrouter/anthropic/claude-sonnet-4.5\", \"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\" // AI model to use (format: provider/model-name)., temperature: 1 // default // Temperature for response randomness (0 = deterministic, 2 = very random), maxTokens: 64000 // default // Maximum number of tokens to generate in response, keep at default of 40000 unless the response is expected to be certain length, reasoningEffort: \"low\" // options: \"low\", \"medium\", \"high\" // Reasoning effort for model. If not specified, uses primary model reasoningEffort., maxRetries: 3 // default // Maximum number of retries for API calls (default: 3). Useful for handling transient errors like 503 Service Unavailable., provider: [\"example string\"] // Providers for ai agent (open router only)., jsonMode: false // default // When true, returns clean JSON response, you must provide the exact JSON schema in the system prompt, backupModel: { model: \"openai/gpt-5\" // options: \"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\", \"anthropic/claude-sonnet-4-5\", \"anthropic/claude-opus-4-5\", \"anthropic/claude-haiku-4-5\", \"openrouter/x-ai/grok-code-fast-1\", \"openrouter/z-ai/glm-4.6\", \"openrouter/anthropic/claude-sonnet-4.5\", \"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\" // Backup AI model to use if the primary model fails (format: provider/model-name)., temperature: 42 // Temperature for backup model. If not specified, uses primary model temperature., maxTokens: 42 // Max tokens for backup model. If not specified, uses primary model maxTokens., reasoningEffort: \"low\" // options: \"low\", \"medium\", \"high\" // Reasoning effort for backup model. If not specified, uses primary model reasoningEffort., maxRetries: 42 // Max retries for backup model. If not specified, uses primary model maxRetries. } // structure // Backup model configuration to use if the primary model fails. } // structure, // AI model configuration including provider, temperature, and tokens, retries, and json mode. Always include this.,\n tools: [{ name: \"web-search-tool\" // options: \"web-search-tool\", \"web-scrape-tool\", \"web-crawl-tool\", \"web-extract-tool\", \"research-agent-tool\", \"reddit-scrape-tool\", \"instagram-tool\", \"list-bubbles-tool\", \"get-bubble-details-tool\", \"get-trigger-detail-tool\", \"bubbleflow-validation-tool\", \"code-edit-tool\", \"chart-js-tool\", \"amazon-shopping-tool\", \"linkedin-tool\", \"tiktok-tool\", \"twitter-tool\", \"google-maps-tool\", \"youtube-tool\", \"people-search-tool\", \"sql-query-tool\" // Name of the tool type or tool bubble to enable for the AI agent, config: {} // Configuration for the tool or tool bubble }] // example for array, // Array of pre-registered tools the AI agent can use. Can be tool types (web-search-tool, web-scrape-tool, web-crawl-tool, web-extract-tool, instagram-tool). If using image models, set the tools to [],\n customTools: [{ name: \"example string\" // Unique name for your custom tool (e.g., \"calculate-tax\"), description: \"example string\" // Description of what the tool does - helps the AI know when to use it, schema: {} // Zod schema object defining the tool parameters. Can be either a plain object (e.g., { amount: z.number() }) or a Zod object directly (e.g., z.object({ amount: z.number() })). }] // example for array, // Array of custom runtime-defined tools with their own schemas and functions. Use this to add domain-specific tools without pre-registration. Example: [{ name: \"calculate-tax\", description: \"Calculates sales tax\", schema: { amount: z.number() }, func: async (input) => {...} }],\n maxIterations: 40 // default, // Maximum number of iterations for the agent workflow, 5 iterations per turn of conversation,\n streaming: false // default, // Enable real-time streaming of tokens, tool calls, and iteration progress,\n expectedOutputSchema: \"example string\", // Zod schema or JSON schema string that defines the expected structure of the AI response. When provided, automatically enables JSON mode and instructs the AI to output in the exact format. Example: z.object({ summary: z.string(), items: z.array(z.object({ name: z.string(), score: z.number() })) }),\n});\n\nconst result = await aiAgent.action();\n\n// Always check success status before using data\nif (!result.success) {\n throw new Error(`${metadata.name} failed: ${result.error}`);\n}\n\n// outputSchema for result.data:\n// {\n// response: string // The AI agents final response to the user message. For text responses, returns plain text. If JSON mode is enabled, returns a JSON string. For image generation models (like gemini-2.5-flash-image-preview), returns base64-encoded image data with data URI format (data:image/png;base64,...),\n// toolCalls: { tool: string // Name of the tool that was called, input: unknown // Input parameters passed to the tool, output: unknown // Output returned by the tool }[] // Array of tool calls made during the conversation,\n// iterations: number // Number of back-and-forth iterations in the agent workflow,\n// error: string // Error message of the run, undefined if successful,\n// success: boolean // Whether the agent execution completed successfully\n// }\n\n// Access the actual data\nconst actualData = result.data;\nconsole.log(actualData);",
527
+ "usageExample": "// Example usage of ai-agent bubble\nconst aiAgent = new AIAgentBubble({\n message: \"example string\", // The message or question to send to the AI agent,\n images: [{ type: \"base64\" // default, data: \"example string\", mimeType: \"image/png\" // default, description: \"example string\" }] // example for array, // Array of base64 encoded images to include with the message (for multimodal AI models). Example: [{type: \"base64\", data: \"base64...\", mimeType: \"image/png\", description: \"A beautiful image of a cat\"}] or [{type: \"url\", url: \"https://example.com/image.png\", description: \"A beautiful image of a cat\"}],\n conversationHistory: [{ role: \"user\" // options: \"user\", \"assistant\", \"tool\" // The role of the message sender, content: \"example string\" // The message content, toolCallId: \"example string\" // Tool call ID for tool messages, name: \"example string\" // Tool name for tool messages }], // Previous conversation messages for multi-turn conversations. When provided, messages are sent as separate turns to enable KV cache optimization. Format: [{role: \"user\", content: \"...\"}, {role: \"assistant\", content: \"...\"}, ...],\n systemPrompt: \"You are a helpful AI assistant\" // default, // System prompt that defines the AI agents behavior and personality,\n name: \"AI Agent\" // default, // A friendly name for the AI agent,\n model: { model: \"openai/gpt-5\" // options: \"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\", \"anthropic/claude-sonnet-4-5\", \"anthropic/claude-opus-4-5\", \"anthropic/claude-haiku-4-5\", \"openrouter/x-ai/grok-code-fast-1\", \"openrouter/z-ai/glm-4.6\", \"openrouter/anthropic/claude-sonnet-4.5\", \"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\" // AI model to use (format: provider/model-name)., temperature: 1 // default // Temperature for response randomness (0 = deterministic, 2 = very random), maxTokens: 64000 // default // Maximum number of tokens to generate in response, keep at default of 40000 unless the response is expected to be certain length, reasoningEffort: \"low\" // options: \"low\", \"medium\", \"high\" // Reasoning effort for model. If not specified, uses primary model reasoningEffort., maxRetries: 3 // default // Maximum number of retries for API calls (default: 3). Useful for handling transient errors like 503 Service Unavailable., provider: [\"example string\"] // Providers for ai agent (open router only)., jsonMode: false // default // When true, returns clean JSON response, you must provide the exact JSON schema in the system prompt, backupModel: { model: \"openai/gpt-5\" // options: \"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\", \"anthropic/claude-sonnet-4-5\", \"anthropic/claude-opus-4-5\", \"anthropic/claude-haiku-4-5\", \"openrouter/x-ai/grok-code-fast-1\", \"openrouter/z-ai/glm-4.6\", \"openrouter/anthropic/claude-sonnet-4.5\", \"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\" // Backup AI model to use if the primary model fails (format: provider/model-name)., temperature: 42 // Temperature for backup model. If not specified, uses primary model temperature., maxTokens: 42 // Max tokens for backup model. If not specified, uses primary model maxTokens., reasoningEffort: \"low\" // options: \"low\", \"medium\", \"high\" // Reasoning effort for backup model. If not specified, uses primary model reasoningEffort., maxRetries: 42 // Max retries for backup model. If not specified, uses primary model maxRetries. } // structure // Backup model configuration to use if the primary model fails. } // structure, // AI model configuration including provider, temperature, and tokens, retries, and json mode. Always include this.,\n tools: [{ name: \"web-search-tool\" // options: \"web-search-tool\", \"web-scrape-tool\", \"web-crawl-tool\", \"web-extract-tool\", \"research-agent-tool\", \"reddit-scrape-tool\", \"instagram-tool\", \"list-bubbles-tool\", \"get-bubble-details-tool\", \"get-trigger-detail-tool\", \"bubbleflow-validation-tool\", \"code-edit-tool\", \"chart-js-tool\", \"amazon-shopping-tool\", \"linkedin-tool\", \"tiktok-tool\", \"twitter-tool\", \"google-maps-tool\", \"youtube-tool\", \"people-search-tool\", \"sql-query-tool\" // Name of the tool type or tool bubble to enable for the AI agent, config: {} // Configuration for the tool or tool bubble }] // example for array, // Array of pre-registered tools the AI agent can use. Can be tool types (web-search-tool, web-scrape-tool, web-crawl-tool, web-extract-tool, instagram-tool). If using image models, set the tools to [],\n customTools: [{ name: \"example string\" // Unique name for your custom tool (e.g., \"calculate-tax\"), description: \"example string\" // Description of what the tool does - helps the AI know when to use it, schema: {} // Zod schema object defining the tool parameters. Can be either a plain object (e.g., { amount: z.number() }) or a Zod object directly (e.g., z.object({ amount: z.number() })). }] // example for array, // Array of custom runtime-defined tools with their own schemas and functions. Use this to add domain-specific tools without pre-registration. Example: [{ name: \"calculate-tax\", description: \"Calculates sales tax\", schema: { amount: z.number() }, func: async (input) => {...} }],\n maxIterations: 40 // default, // Maximum number of iterations for the agent workflow, 5 iterations per turn of conversation,\n streaming: false // default, // Enable real-time streaming of tokens, tool calls, and iteration progress,\n expectedOutputSchema: \"example string\", // Zod schema or JSON schema string that defines the expected structure of the AI response. When provided, automatically enables JSON mode and instructs the AI to output in the exact format. Example: z.object({ summary: z.string(), items: z.array(z.object({ name: z.string(), score: z.number() })) }),\n});\n\nconst result = await aiAgent.action();\n\n// Always check success status before using data\nif (!result.success) {\n throw new Error(`${metadata.name} failed: ${result.error}`);\n}\n\n// outputSchema for result.data:\n// {\n// response: string // The AI agents final response to the user message. For text responses, returns plain text. If JSON mode is enabled, returns a JSON string. For image generation models (like gemini-2.5-flash-image-preview), returns base64-encoded image data with data URI format (data:image/png;base64,...),\n// reasoning: string | undefined // The reasoning/thinking tokens from the model (if available). Present for deep research models and reasoning models.,\n// toolCalls: { tool: string // Name of the tool that was called, input: unknown // Input parameters passed to the tool, output: unknown // Output returned by the tool }[] // Array of tool calls made during the conversation,\n// iterations: number // Number of back-and-forth iterations in the agent workflow,\n// totalCost: number | undefined // Total cost in USD for this request (includes tokens + web search for deep research models),\n// error: string // Error message of the run, undefined if successful,\n// success: boolean // Whether the agent execution completed successfully\n// }\n\n// Access the actual data\nconst actualData = result.data;\nconsole.log(actualData);",
520
528
  "requiredCredentials": [
521
529
  "OPENAI_CRED",
522
530
  "GOOGLE_GEMINI_CRED",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bubblelab/bubble-core",
3
- "version": "0.1.66",
3
+ "version": "0.1.67",
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.67"
43
+ "@bubblelab/shared-schemas": "0.1.68"
44
44
  },
45
45
  "devDependencies": {
46
46
  "zod-to-json-schema": "^3.24.6",