@bubblelab/bubble-core 0.1.112 → 0.1.113

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 (82) hide show
  1. package/dist/bubble-bundle.d.ts +85 -85
  2. package/dist/bubbles/service-bubble/agi-inc.d.ts +20 -20
  3. package/dist/bubbles/service-bubble/ai-agent.d.ts +76 -74
  4. package/dist/bubbles/service-bubble/ai-agent.d.ts.map +1 -1
  5. package/dist/bubbles/service-bubble/ai-agent.js +40 -5
  6. package/dist/bubbles/service-bubble/ai-agent.js.map +1 -1
  7. package/dist/bubbles/service-bubble/airtable.d.ts +76 -76
  8. package/dist/bubbles/service-bubble/apify/actors/instagram-hashtag-scraper.d.ts +2 -2
  9. package/dist/bubbles/service-bubble/apify/actors/instagram-scraper.d.ts +8 -8
  10. package/dist/bubbles/service-bubble/apify/actors/linkedin-jobs-scraper.d.ts +2 -2
  11. package/dist/bubbles/service-bubble/apify/actors/linkedin-posts-search.d.ts +22 -22
  12. package/dist/bubbles/service-bubble/apify/actors/linkedin-profile-posts.d.ts +52 -52
  13. package/dist/bubbles/service-bubble/apify/actors/tiktok-scraper.d.ts +6 -6
  14. package/dist/bubbles/service-bubble/apify/actors/twitter-scraper.d.ts +12 -12
  15. package/dist/bubbles/service-bubble/apify/actors/youtube-scraper.d.ts +12 -12
  16. package/dist/bubbles/service-bubble/apify/apify-scraper.schema.d.ts +88 -88
  17. package/dist/bubbles/service-bubble/apify/apify.d.ts +18 -18
  18. package/dist/bubbles/service-bubble/ashby/ashby.d.ts +2 -2
  19. package/dist/bubbles/service-bubble/ashby/ashby.schema.d.ts +2 -2
  20. package/dist/bubbles/service-bubble/browserbase/browserbase.d.ts +1 -1
  21. package/dist/bubbles/service-bubble/browserbase/browserbase.schema.d.ts +1 -1
  22. package/dist/bubbles/service-bubble/crustdata/crustdata.d.ts +10 -10
  23. package/dist/bubbles/service-bubble/crustdata/crustdata.schema.d.ts +24 -24
  24. package/dist/bubbles/service-bubble/firecrawl.d.ts +338 -338
  25. package/dist/bubbles/service-bubble/followupboss.d.ts +4 -4
  26. package/dist/bubbles/service-bubble/github.d.ts +60 -60
  27. package/dist/bubbles/service-bubble/gmail.d.ts +164 -164
  28. package/dist/bubbles/service-bubble/google-calendar.d.ts +6 -6
  29. package/dist/bubbles/service-bubble/google-drive.d.ts +8 -8
  30. package/dist/bubbles/service-bubble/http.d.ts +2 -2
  31. package/dist/bubbles/service-bubble/insforge-db.d.ts +8 -8
  32. package/dist/bubbles/service-bubble/jira/jira.d.ts +30 -30
  33. package/dist/bubbles/service-bubble/jira/jira.schema.d.ts +36 -36
  34. package/dist/bubbles/service-bubble/notion/notion.d.ts +848 -848
  35. package/dist/bubbles/service-bubble/notion/property-schemas.d.ts +8 -8
  36. package/dist/bubbles/service-bubble/postgresql.d.ts +8 -8
  37. package/dist/bubbles/service-bubble/resend.d.ts +4 -4
  38. package/dist/bubbles/service-bubble/salesforce/index.d.ts +4 -0
  39. package/dist/bubbles/service-bubble/salesforce/index.d.ts.map +1 -0
  40. package/dist/bubbles/service-bubble/salesforce/index.js +4 -0
  41. package/dist/bubbles/service-bubble/salesforce/index.js.map +1 -0
  42. package/dist/bubbles/service-bubble/salesforce/salesforce.d.ts +1331 -0
  43. package/dist/bubbles/service-bubble/salesforce/salesforce.d.ts.map +1 -0
  44. package/dist/bubbles/service-bubble/salesforce/salesforce.js +618 -0
  45. package/dist/bubbles/service-bubble/salesforce/salesforce.js.map +1 -0
  46. package/dist/bubbles/service-bubble/salesforce/salesforce.schema.d.ts +1445 -0
  47. package/dist/bubbles/service-bubble/salesforce/salesforce.schema.d.ts.map +1 -0
  48. package/dist/bubbles/service-bubble/salesforce/salesforce.schema.js +609 -0
  49. package/dist/bubbles/service-bubble/salesforce/salesforce.schema.js.map +1 -0
  50. package/dist/bubbles/service-bubble/salesforce/salesforce.utils.d.ts +87 -0
  51. package/dist/bubbles/service-bubble/salesforce/salesforce.utils.d.ts.map +1 -0
  52. package/dist/bubbles/service-bubble/salesforce/salesforce.utils.js +181 -0
  53. package/dist/bubbles/service-bubble/salesforce/salesforce.utils.js.map +1 -0
  54. package/dist/bubbles/service-bubble/slack/slack.d.ts +324 -324
  55. package/dist/bubbles/service-bubble/stripe/stripe.d.ts +24 -24
  56. package/dist/bubbles/service-bubble/stripe/stripe.schema.d.ts +28 -28
  57. package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.d.ts +6 -6
  58. package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.schema.d.ts +8 -8
  59. package/dist/bubbles/tool-bubble/bubbleflow-validation-tool.d.ts +4 -4
  60. package/dist/bubbles/tool-bubble/company-enrichment-tool.d.ts +28 -28
  61. package/dist/bubbles/tool-bubble/linkedin-tool.d.ts +310 -310
  62. package/dist/bubbles/tool-bubble/people-search-tool.d.ts +44 -44
  63. package/dist/bubbles/tool-bubble/reddit-scrape-tool.d.ts +10 -10
  64. package/dist/bubbles/tool-bubble/research-agent-tool.d.ts +4 -4
  65. package/dist/bubbles/tool-bubble/sql-query-tool.d.ts +4 -4
  66. package/dist/bubbles/tool-bubble/tiktok-tool.d.ts +60 -60
  67. package/dist/bubbles/tool-bubble/twitter-tool.d.ts +134 -134
  68. package/dist/bubbles/tool-bubble/yc-scraper-tool.d.ts +36 -36
  69. package/dist/bubbles/tool-bubble/youtube-tool.d.ts +20 -20
  70. package/dist/bubbles/workflow-bubble/generate-document.workflow.d.ts +12 -12
  71. package/dist/bubbles/workflow-bubble/pdf-form-operations.workflow.d.ts +24 -24
  72. package/dist/bubbles/workflow-bubble/slack-data-assistant.workflow.d.ts +2 -2
  73. package/dist/bubbles/workflow-bubble/slack-formatter-agent.d.ts +18 -18
  74. package/dist/bubbles.json +1 -1
  75. package/dist/capabilities/define-capability.d.ts +6 -0
  76. package/dist/capabilities/define-capability.d.ts.map +1 -1
  77. package/dist/capabilities/define-capability.js +7 -0
  78. package/dist/capabilities/define-capability.js.map +1 -1
  79. package/dist/capabilities/index.d.ts +1 -1
  80. package/dist/capabilities/index.d.ts.map +1 -1
  81. package/dist/capabilities/index.js.map +1 -1
  82. package/package.json +2 -2
@@ -203,9 +203,9 @@ declare const AGIIncResultSchema: z.ZodDiscriminatedUnion<"operation", [z.ZodObj
203
203
  ok: boolean;
204
204
  status?: "error" | "completed" | "initializing" | "ready" | "running" | "paused" | "terminated" | undefined;
205
205
  created_at?: string | undefined;
206
+ agent_name?: string | undefined;
206
207
  session_id?: string | undefined;
207
208
  vnc_url?: string | undefined;
208
- agent_name?: string | undefined;
209
209
  }, {
210
210
  error: string;
211
211
  success: boolean;
@@ -213,9 +213,9 @@ declare const AGIIncResultSchema: z.ZodDiscriminatedUnion<"operation", [z.ZodObj
213
213
  ok: boolean;
214
214
  status?: "error" | "completed" | "initializing" | "ready" | "running" | "paused" | "terminated" | undefined;
215
215
  created_at?: string | undefined;
216
+ agent_name?: string | undefined;
216
217
  session_id?: string | undefined;
217
218
  vnc_url?: string | undefined;
218
- agent_name?: string | undefined;
219
219
  }>, z.ZodObject<{
220
220
  operation: z.ZodLiteral<"list_sessions">;
221
221
  ok: z.ZodBoolean;
@@ -228,14 +228,14 @@ declare const AGIIncResultSchema: z.ZodDiscriminatedUnion<"operation", [z.ZodObj
228
228
  }, "strip", z.ZodTypeAny, {
229
229
  status: "error" | "completed" | "initializing" | "ready" | "running" | "paused" | "terminated";
230
230
  created_at: string;
231
- session_id: string;
232
231
  agent_name: string;
232
+ session_id: string;
233
233
  vnc_url?: string | undefined;
234
234
  }, {
235
235
  status: "error" | "completed" | "initializing" | "ready" | "running" | "paused" | "terminated";
236
236
  created_at: string;
237
- session_id: string;
238
237
  agent_name: string;
238
+ session_id: string;
239
239
  vnc_url?: string | undefined;
240
240
  }>, "many">>;
241
241
  error: z.ZodString;
@@ -248,8 +248,8 @@ declare const AGIIncResultSchema: z.ZodDiscriminatedUnion<"operation", [z.ZodObj
248
248
  sessions?: {
249
249
  status: "error" | "completed" | "initializing" | "ready" | "running" | "paused" | "terminated";
250
250
  created_at: string;
251
- session_id: string;
252
251
  agent_name: string;
252
+ session_id: string;
253
253
  vnc_url?: string | undefined;
254
254
  }[] | undefined;
255
255
  }, {
@@ -260,8 +260,8 @@ declare const AGIIncResultSchema: z.ZodDiscriminatedUnion<"operation", [z.ZodObj
260
260
  sessions?: {
261
261
  status: "error" | "completed" | "initializing" | "ready" | "running" | "paused" | "terminated";
262
262
  created_at: string;
263
- session_id: string;
264
263
  agent_name: string;
264
+ session_id: string;
265
265
  vnc_url?: string | undefined;
266
266
  }[] | undefined;
267
267
  }>, z.ZodObject<{
@@ -276,14 +276,14 @@ declare const AGIIncResultSchema: z.ZodDiscriminatedUnion<"operation", [z.ZodObj
276
276
  }, "strip", z.ZodTypeAny, {
277
277
  status: "error" | "completed" | "initializing" | "ready" | "running" | "paused" | "terminated";
278
278
  created_at: string;
279
- session_id: string;
280
279
  agent_name: string;
280
+ session_id: string;
281
281
  vnc_url?: string | undefined;
282
282
  }, {
283
283
  status: "error" | "completed" | "initializing" | "ready" | "running" | "paused" | "terminated";
284
284
  created_at: string;
285
- session_id: string;
286
285
  agent_name: string;
286
+ session_id: string;
287
287
  vnc_url?: string | undefined;
288
288
  }>>;
289
289
  error: z.ZodString;
@@ -296,8 +296,8 @@ declare const AGIIncResultSchema: z.ZodDiscriminatedUnion<"operation", [z.ZodObj
296
296
  session?: {
297
297
  status: "error" | "completed" | "initializing" | "ready" | "running" | "paused" | "terminated";
298
298
  created_at: string;
299
- session_id: string;
300
299
  agent_name: string;
300
+ session_id: string;
301
301
  vnc_url?: string | undefined;
302
302
  } | undefined;
303
303
  }, {
@@ -308,8 +308,8 @@ declare const AGIIncResultSchema: z.ZodDiscriminatedUnion<"operation", [z.ZodObj
308
308
  session?: {
309
309
  status: "error" | "completed" | "initializing" | "ready" | "running" | "paused" | "terminated";
310
310
  created_at: string;
311
- session_id: string;
312
311
  agent_name: string;
312
+ session_id: string;
313
313
  vnc_url?: string | undefined;
314
314
  } | undefined;
315
315
  }>, z.ZodObject<{
@@ -756,9 +756,9 @@ export declare class AGIIncBubble<T extends AGIIncParams = AGIIncParams> extends
756
756
  ok: boolean;
757
757
  status?: "error" | "completed" | "initializing" | "ready" | "running" | "paused" | "terminated" | undefined;
758
758
  created_at?: string | undefined;
759
+ agent_name?: string | undefined;
759
760
  session_id?: string | undefined;
760
761
  vnc_url?: string | undefined;
761
- agent_name?: string | undefined;
762
762
  }, {
763
763
  error: string;
764
764
  success: boolean;
@@ -766,9 +766,9 @@ export declare class AGIIncBubble<T extends AGIIncParams = AGIIncParams> extends
766
766
  ok: boolean;
767
767
  status?: "error" | "completed" | "initializing" | "ready" | "running" | "paused" | "terminated" | undefined;
768
768
  created_at?: string | undefined;
769
+ agent_name?: string | undefined;
769
770
  session_id?: string | undefined;
770
771
  vnc_url?: string | undefined;
771
- agent_name?: string | undefined;
772
772
  }>, z.ZodObject<{
773
773
  operation: z.ZodLiteral<"list_sessions">;
774
774
  ok: z.ZodBoolean;
@@ -781,14 +781,14 @@ export declare class AGIIncBubble<T extends AGIIncParams = AGIIncParams> extends
781
781
  }, "strip", z.ZodTypeAny, {
782
782
  status: "error" | "completed" | "initializing" | "ready" | "running" | "paused" | "terminated";
783
783
  created_at: string;
784
- session_id: string;
785
784
  agent_name: string;
785
+ session_id: string;
786
786
  vnc_url?: string | undefined;
787
787
  }, {
788
788
  status: "error" | "completed" | "initializing" | "ready" | "running" | "paused" | "terminated";
789
789
  created_at: string;
790
- session_id: string;
791
790
  agent_name: string;
791
+ session_id: string;
792
792
  vnc_url?: string | undefined;
793
793
  }>, "many">>;
794
794
  error: z.ZodString;
@@ -801,8 +801,8 @@ export declare class AGIIncBubble<T extends AGIIncParams = AGIIncParams> extends
801
801
  sessions?: {
802
802
  status: "error" | "completed" | "initializing" | "ready" | "running" | "paused" | "terminated";
803
803
  created_at: string;
804
- session_id: string;
805
804
  agent_name: string;
805
+ session_id: string;
806
806
  vnc_url?: string | undefined;
807
807
  }[] | undefined;
808
808
  }, {
@@ -813,8 +813,8 @@ export declare class AGIIncBubble<T extends AGIIncParams = AGIIncParams> extends
813
813
  sessions?: {
814
814
  status: "error" | "completed" | "initializing" | "ready" | "running" | "paused" | "terminated";
815
815
  created_at: string;
816
- session_id: string;
817
816
  agent_name: string;
817
+ session_id: string;
818
818
  vnc_url?: string | undefined;
819
819
  }[] | undefined;
820
820
  }>, z.ZodObject<{
@@ -829,14 +829,14 @@ export declare class AGIIncBubble<T extends AGIIncParams = AGIIncParams> extends
829
829
  }, "strip", z.ZodTypeAny, {
830
830
  status: "error" | "completed" | "initializing" | "ready" | "running" | "paused" | "terminated";
831
831
  created_at: string;
832
- session_id: string;
833
832
  agent_name: string;
833
+ session_id: string;
834
834
  vnc_url?: string | undefined;
835
835
  }, {
836
836
  status: "error" | "completed" | "initializing" | "ready" | "running" | "paused" | "terminated";
837
837
  created_at: string;
838
- session_id: string;
839
838
  agent_name: string;
839
+ session_id: string;
840
840
  vnc_url?: string | undefined;
841
841
  }>>;
842
842
  error: z.ZodString;
@@ -849,8 +849,8 @@ export declare class AGIIncBubble<T extends AGIIncParams = AGIIncParams> extends
849
849
  session?: {
850
850
  status: "error" | "completed" | "initializing" | "ready" | "running" | "paused" | "terminated";
851
851
  created_at: string;
852
- session_id: string;
853
852
  agent_name: string;
853
+ session_id: string;
854
854
  vnc_url?: string | undefined;
855
855
  } | undefined;
856
856
  }, {
@@ -861,8 +861,8 @@ export declare class AGIIncBubble<T extends AGIIncParams = AGIIncParams> extends
861
861
  session?: {
862
862
  status: "error" | "completed" | "initializing" | "ready" | "running" | "paused" | "terminated";
863
863
  created_at: string;
864
- session_id: string;
865
864
  agent_name: string;
865
+ session_id: string;
866
866
  vnc_url?: string | undefined;
867
867
  } | undefined;
868
868
  }>, z.ZodObject<{
@@ -43,8 +43,8 @@ declare const AIAgentParamsSchema: z.ZodObject<{
43
43
  description: z.ZodOptional<z.ZodString>;
44
44
  }, "strip", z.ZodTypeAny, {
45
45
  type: "base64";
46
- mimeType: string;
47
46
  data: string;
47
+ mimeType: string;
48
48
  description?: string | undefined;
49
49
  }, {
50
50
  data: string;
@@ -161,12 +161,12 @@ declare const AIAgentParamsSchema: z.ZodObject<{
161
161
  }, "strip", z.ZodTypeAny, {
162
162
  description: string;
163
163
  name: string;
164
- schema: Record<string, unknown> | z.ZodTypeAny;
164
+ schema: z.ZodTypeAny | Record<string, unknown>;
165
165
  func: (args_0: Record<string, unknown>, ...args: unknown[]) => Promise<unknown>;
166
166
  }, {
167
167
  description: string;
168
168
  name: string;
169
- schema: Record<string, unknown> | z.ZodTypeAny;
169
+ schema: z.ZodTypeAny | Record<string, unknown>;
170
170
  func: (args_0: Record<string, unknown>, ...args: unknown[]) => Promise<unknown>;
171
171
  }>, "many">>>;
172
172
  maxIterations: z.ZodDefault<z.ZodNumber>;
@@ -188,6 +188,17 @@ declare const AIAgentParamsSchema: z.ZodObject<{
188
188
  expectedOutputSchema: z.ZodOptional<z.ZodUnion<[z.ZodType<z.ZodTypeAny, z.ZodTypeDef, z.ZodTypeAny>, z.ZodString]>>;
189
189
  }, "strip", z.ZodTypeAny, {
190
190
  message: string;
191
+ images: ({
192
+ type: "base64";
193
+ data: string;
194
+ mimeType: string;
195
+ description?: string | undefined;
196
+ } | {
197
+ type: "url";
198
+ url: string;
199
+ description?: string | undefined;
200
+ })[];
201
+ systemPrompt: string;
191
202
  model: {
192
203
  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/z-ai/glm-4.7" | "openrouter/anthropic/claude-sonnet-4.5" | "openrouter/anthropic/claude-opus-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";
193
204
  temperature: number;
@@ -204,36 +215,25 @@ declare const AIAgentParamsSchema: z.ZodObject<{
204
215
  maxRetries?: number | undefined;
205
216
  } | undefined;
206
217
  };
207
- streaming: boolean;
208
218
  tools: {
209
219
  name: "get-bubble-details-tool" | "get-trigger-detail-tool" | "list-bubbles-tool" | "sql-query-tool" | "chart-js-tool" | "web-search-tool" | "web-scrape-tool" | "web-crawl-tool" | "web-extract-tool" | "research-agent-tool" | "reddit-scrape-tool" | "bubbleflow-validation-tool" | "code-edit-tool" | "instagram-tool" | "linkedin-tool" | "tiktok-tool" | "twitter-tool" | "google-maps-tool" | "youtube-tool" | "amazon-shopping-tool" | "people-search-tool";
210
220
  credentials?: Partial<Record<CredentialType, string>> | undefined;
211
221
  config?: Record<string, unknown> | undefined;
212
222
  }[];
213
- images: ({
214
- type: "base64";
215
- mimeType: string;
216
- data: string;
217
- description?: string | undefined;
218
- } | {
219
- type: "url";
220
- url: string;
221
- description?: string | undefined;
222
- })[];
223
- systemPrompt: string;
224
223
  maxIterations: number;
224
+ streaming: boolean;
225
225
  name?: string | undefined;
226
- credentials?: Partial<Record<CredentialType, string>> | undefined;
227
226
  conversationHistory?: {
228
227
  role: "user" | "assistant" | "tool";
229
228
  content: string;
230
229
  toolCallId?: string | undefined;
231
230
  name?: string | undefined;
232
231
  }[] | undefined;
232
+ credentials?: Partial<Record<CredentialType, string>> | undefined;
233
233
  customTools?: {
234
234
  description: string;
235
235
  name: string;
236
- schema: Record<string, unknown> | z.ZodTypeAny;
236
+ schema: z.ZodTypeAny | Record<string, unknown>;
237
237
  func: (args_0: Record<string, unknown>, ...args: unknown[]) => Promise<unknown>;
238
238
  }[] | undefined;
239
239
  capabilities?: {
@@ -245,7 +245,23 @@ declare const AIAgentParamsSchema: z.ZodObject<{
245
245
  }, {
246
246
  message: string;
247
247
  name?: string | undefined;
248
- credentials?: Partial<Record<CredentialType, string>> | undefined;
248
+ images?: ({
249
+ data: string;
250
+ type?: "base64" | undefined;
251
+ description?: string | undefined;
252
+ mimeType?: string | undefined;
253
+ } | {
254
+ type: "url";
255
+ url: string;
256
+ description?: string | undefined;
257
+ })[] | undefined;
258
+ conversationHistory?: {
259
+ role: "user" | "assistant" | "tool";
260
+ content: string;
261
+ toolCallId?: string | undefined;
262
+ name?: string | undefined;
263
+ }[] | undefined;
264
+ systemPrompt?: string | undefined;
249
265
  model?: {
250
266
  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/z-ai/glm-4.7" | "openrouter/anthropic/claude-sonnet-4.5" | "openrouter/anthropic/claude-opus-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";
251
267
  temperature?: number | undefined;
@@ -262,36 +278,20 @@ declare const AIAgentParamsSchema: z.ZodObject<{
262
278
  maxRetries?: number | undefined;
263
279
  } | undefined;
264
280
  } | undefined;
265
- streaming?: boolean | undefined;
281
+ credentials?: Partial<Record<CredentialType, string>> | undefined;
266
282
  tools?: {
267
283
  name: "get-bubble-details-tool" | "get-trigger-detail-tool" | "list-bubbles-tool" | "sql-query-tool" | "chart-js-tool" | "web-search-tool" | "web-scrape-tool" | "web-crawl-tool" | "web-extract-tool" | "research-agent-tool" | "reddit-scrape-tool" | "bubbleflow-validation-tool" | "code-edit-tool" | "instagram-tool" | "linkedin-tool" | "tiktok-tool" | "twitter-tool" | "google-maps-tool" | "youtube-tool" | "amazon-shopping-tool" | "people-search-tool";
268
284
  credentials?: Partial<Record<CredentialType, string>> | undefined;
269
285
  config?: Record<string, unknown> | undefined;
270
286
  }[] | undefined;
271
- images?: ({
272
- data: string;
273
- type?: "base64" | undefined;
274
- description?: string | undefined;
275
- mimeType?: string | undefined;
276
- } | {
277
- type: "url";
278
- url: string;
279
- description?: string | undefined;
280
- })[] | undefined;
281
- conversationHistory?: {
282
- role: "user" | "assistant" | "tool";
283
- content: string;
284
- toolCallId?: string | undefined;
285
- name?: string | undefined;
286
- }[] | undefined;
287
- systemPrompt?: string | undefined;
288
287
  customTools?: {
289
288
  description: string;
290
289
  name: string;
291
- schema: Record<string, unknown> | z.ZodTypeAny;
290
+ schema: z.ZodTypeAny | Record<string, unknown>;
292
291
  func: (args_0: Record<string, unknown>, ...args: unknown[]) => Promise<unknown>;
293
292
  }[] | undefined;
294
293
  maxIterations?: number | undefined;
294
+ streaming?: boolean | undefined;
295
295
  capabilities?: {
296
296
  id: string;
297
297
  credentials?: Partial<Record<CredentialType, string>> | undefined;
@@ -371,8 +371,8 @@ export declare class AIAgentBubble extends ServiceBubble<AIAgentParamsParsed, AI
371
371
  description: z.ZodOptional<z.ZodString>;
372
372
  }, "strip", z.ZodTypeAny, {
373
373
  type: "base64";
374
- mimeType: string;
375
374
  data: string;
375
+ mimeType: string;
376
376
  description?: string | undefined;
377
377
  }, {
378
378
  data: string;
@@ -489,12 +489,12 @@ export declare class AIAgentBubble extends ServiceBubble<AIAgentParamsParsed, AI
489
489
  }, "strip", z.ZodTypeAny, {
490
490
  description: string;
491
491
  name: string;
492
- schema: Record<string, unknown> | z.ZodTypeAny;
492
+ schema: z.ZodTypeAny | Record<string, unknown>;
493
493
  func: (args_0: Record<string, unknown>, ...args: unknown[]) => Promise<unknown>;
494
494
  }, {
495
495
  description: string;
496
496
  name: string;
497
- schema: Record<string, unknown> | z.ZodTypeAny;
497
+ schema: z.ZodTypeAny | Record<string, unknown>;
498
498
  func: (args_0: Record<string, unknown>, ...args: unknown[]) => Promise<unknown>;
499
499
  }>, "many">>>;
500
500
  maxIterations: z.ZodDefault<z.ZodNumber>;
@@ -516,6 +516,17 @@ export declare class AIAgentBubble extends ServiceBubble<AIAgentParamsParsed, AI
516
516
  expectedOutputSchema: z.ZodOptional<z.ZodUnion<[z.ZodType<z.ZodTypeAny, z.ZodTypeDef, z.ZodTypeAny>, z.ZodString]>>;
517
517
  }, "strip", z.ZodTypeAny, {
518
518
  message: string;
519
+ images: ({
520
+ type: "base64";
521
+ data: string;
522
+ mimeType: string;
523
+ description?: string | undefined;
524
+ } | {
525
+ type: "url";
526
+ url: string;
527
+ description?: string | undefined;
528
+ })[];
529
+ systemPrompt: string;
519
530
  model: {
520
531
  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/z-ai/glm-4.7" | "openrouter/anthropic/claude-sonnet-4.5" | "openrouter/anthropic/claude-opus-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";
521
532
  temperature: number;
@@ -532,36 +543,25 @@ export declare class AIAgentBubble extends ServiceBubble<AIAgentParamsParsed, AI
532
543
  maxRetries?: number | undefined;
533
544
  } | undefined;
534
545
  };
535
- streaming: boolean;
536
546
  tools: {
537
547
  name: "get-bubble-details-tool" | "get-trigger-detail-tool" | "list-bubbles-tool" | "sql-query-tool" | "chart-js-tool" | "web-search-tool" | "web-scrape-tool" | "web-crawl-tool" | "web-extract-tool" | "research-agent-tool" | "reddit-scrape-tool" | "bubbleflow-validation-tool" | "code-edit-tool" | "instagram-tool" | "linkedin-tool" | "tiktok-tool" | "twitter-tool" | "google-maps-tool" | "youtube-tool" | "amazon-shopping-tool" | "people-search-tool";
538
548
  credentials?: Partial<Record<CredentialType, string>> | undefined;
539
549
  config?: Record<string, unknown> | undefined;
540
550
  }[];
541
- images: ({
542
- type: "base64";
543
- mimeType: string;
544
- data: string;
545
- description?: string | undefined;
546
- } | {
547
- type: "url";
548
- url: string;
549
- description?: string | undefined;
550
- })[];
551
- systemPrompt: string;
552
551
  maxIterations: number;
552
+ streaming: boolean;
553
553
  name?: string | undefined;
554
- credentials?: Partial<Record<CredentialType, string>> | undefined;
555
554
  conversationHistory?: {
556
555
  role: "user" | "assistant" | "tool";
557
556
  content: string;
558
557
  toolCallId?: string | undefined;
559
558
  name?: string | undefined;
560
559
  }[] | undefined;
560
+ credentials?: Partial<Record<CredentialType, string>> | undefined;
561
561
  customTools?: {
562
562
  description: string;
563
563
  name: string;
564
- schema: Record<string, unknown> | z.ZodTypeAny;
564
+ schema: z.ZodTypeAny | Record<string, unknown>;
565
565
  func: (args_0: Record<string, unknown>, ...args: unknown[]) => Promise<unknown>;
566
566
  }[] | undefined;
567
567
  capabilities?: {
@@ -573,7 +573,23 @@ export declare class AIAgentBubble extends ServiceBubble<AIAgentParamsParsed, AI
573
573
  }, {
574
574
  message: string;
575
575
  name?: string | undefined;
576
- credentials?: Partial<Record<CredentialType, string>> | undefined;
576
+ images?: ({
577
+ data: string;
578
+ type?: "base64" | undefined;
579
+ description?: string | undefined;
580
+ mimeType?: string | undefined;
581
+ } | {
582
+ type: "url";
583
+ url: string;
584
+ description?: string | undefined;
585
+ })[] | undefined;
586
+ conversationHistory?: {
587
+ role: "user" | "assistant" | "tool";
588
+ content: string;
589
+ toolCallId?: string | undefined;
590
+ name?: string | undefined;
591
+ }[] | undefined;
592
+ systemPrompt?: string | undefined;
577
593
  model?: {
578
594
  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/z-ai/glm-4.7" | "openrouter/anthropic/claude-sonnet-4.5" | "openrouter/anthropic/claude-opus-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";
579
595
  temperature?: number | undefined;
@@ -590,36 +606,20 @@ export declare class AIAgentBubble extends ServiceBubble<AIAgentParamsParsed, AI
590
606
  maxRetries?: number | undefined;
591
607
  } | undefined;
592
608
  } | undefined;
593
- streaming?: boolean | undefined;
609
+ credentials?: Partial<Record<CredentialType, string>> | undefined;
594
610
  tools?: {
595
611
  name: "get-bubble-details-tool" | "get-trigger-detail-tool" | "list-bubbles-tool" | "sql-query-tool" | "chart-js-tool" | "web-search-tool" | "web-scrape-tool" | "web-crawl-tool" | "web-extract-tool" | "research-agent-tool" | "reddit-scrape-tool" | "bubbleflow-validation-tool" | "code-edit-tool" | "instagram-tool" | "linkedin-tool" | "tiktok-tool" | "twitter-tool" | "google-maps-tool" | "youtube-tool" | "amazon-shopping-tool" | "people-search-tool";
596
612
  credentials?: Partial<Record<CredentialType, string>> | undefined;
597
613
  config?: Record<string, unknown> | undefined;
598
614
  }[] | undefined;
599
- images?: ({
600
- data: string;
601
- type?: "base64" | undefined;
602
- description?: string | undefined;
603
- mimeType?: string | undefined;
604
- } | {
605
- type: "url";
606
- url: string;
607
- description?: string | undefined;
608
- })[] | undefined;
609
- conversationHistory?: {
610
- role: "user" | "assistant" | "tool";
611
- content: string;
612
- toolCallId?: string | undefined;
613
- name?: string | undefined;
614
- }[] | undefined;
615
- systemPrompt?: string | undefined;
616
615
  customTools?: {
617
616
  description: string;
618
617
  name: string;
619
- schema: Record<string, unknown> | z.ZodTypeAny;
618
+ schema: z.ZodTypeAny | Record<string, unknown>;
620
619
  func: (args_0: Record<string, unknown>, ...args: unknown[]) => Promise<unknown>;
621
620
  }[] | undefined;
622
621
  maxIterations?: number | undefined;
622
+ streaming?: boolean | undefined;
623
623
  capabilities?: {
624
624
  id: string;
625
625
  credentials?: Partial<Record<CredentialType, string>> | undefined;
@@ -696,6 +696,8 @@ export declare class AIAgentBubble extends ServiceBubble<AIAgentParamsParsed, AI
696
696
  * Modify params before execution - centralizes all param transformations
697
697
  */
698
698
  private beforeAction;
699
+ /** Appends text from capability responseAppend factories to the final response. */
700
+ private applyCapabilityResponseAppend;
699
701
  protected performAction(context?: BubbleContext): Promise<AIAgentResult>;
700
702
  protected getCredentialType(): CredentialType;
701
703
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ai-agent.d.ts","sourceRoot":"","sources":["../../../src/bubbles/service-bubble/ai-agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai-agent.d.ts","sourceRoot":"","sources":["../../../src/bubbles/service-bubble/ai-agent.ts"],"names":[],"mappings":"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"}
@@ -366,18 +366,50 @@ export class AIAgentBubble extends ServiceBubble {
366
366
  }
367
367
  }
368
368
  }
369
+ /** Appends text from capability responseAppend factories to the final response. */
370
+ async applyCapabilityResponseAppend(result) {
371
+ const appendParts = [];
372
+ for (const capConfig of this.params.capabilities ?? []) {
373
+ const capDef = getCapability(capConfig.id);
374
+ if (!capDef?.createResponseAppend)
375
+ continue;
376
+ const ctx = {
377
+ credentials: this.resolveCapabilityCredentials(capDef, capConfig),
378
+ inputs: capConfig.inputs ?? {},
379
+ bubbleContext: this.context,
380
+ };
381
+ const text = await capDef.createResponseAppend(ctx);
382
+ if (text)
383
+ appendParts.push(text);
384
+ }
385
+ if (appendParts.length > 0) {
386
+ return {
387
+ ...result,
388
+ response: `${result.response}\n\n${appendParts.join('\n\n')}`,
389
+ };
390
+ }
391
+ return result;
392
+ }
369
393
  async performAction(context) {
370
394
  // Context is available but not currently used in this implementation
371
395
  void context;
372
396
  // Apply param transformations before execution
373
397
  await this.beforeAction();
374
398
  try {
399
+ let result;
375
400
  // Check if this is a deep research model - bypass LangChain and call OpenRouter directly
376
401
  if (this.isDeepResearchModel(this.params.model.model)) {
377
402
  console.log('[AIAgent] Deep research model detected, using direct OpenRouter API');
378
- return await this.executeDeepResearchViaOpenRouter();
403
+ result = await this.executeDeepResearchViaOpenRouter();
404
+ }
405
+ else {
406
+ result = await this.executeWithModel(this.params.model);
379
407
  }
380
- return await this.executeWithModel(this.params.model);
408
+ // Append capability response additions (e.g. tips, blurbs)
409
+ if (result.success) {
410
+ result = await this.applyCapabilityResponseAppend(result);
411
+ }
412
+ return result;
381
413
  }
382
414
  catch (error) {
383
415
  const errorMessage = error instanceof Error ? error.message : 'Unknown error';
@@ -965,7 +997,8 @@ export class AIAgentBubble extends ServiceBubble {
965
997
  const tool = tools.find((t) => t.name === toolCall.name);
966
998
  if (!tool) {
967
999
  console.warn(`Tool ${toolCall.name} not found`);
968
- const errorContent = `Error: Tool ${toolCall.name} not found`;
1000
+ const availableToolNames = tools.map((t) => t.name).join(', ');
1001
+ const errorContent = `Error: Tool "${toolCall.name}" not found. Available tools: ${availableToolNames}`;
969
1002
  const startTime = Date.now();
970
1003
  // Send tool_start event (include variableId for console tracking)
971
1004
  this.streamingCallback?.({
@@ -989,10 +1022,12 @@ export class AIAgentBubble extends ServiceBubble {
989
1022
  variableId: this.context?.variableId,
990
1023
  },
991
1024
  });
992
- toolMessages.push(new ToolMessage({
1025
+ const errorMessage = new ToolMessage({
993
1026
  content: errorContent,
994
1027
  tool_call_id: toolCall.id,
995
- }));
1028
+ });
1029
+ toolMessages.push(errorMessage);
1030
+ currentMessages = [...currentMessages, errorMessage];
996
1031
  continue;
997
1032
  }
998
1033
  const startTime = Date.now();