@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.
- package/dist/bubble-bundle.d.ts +83 -83
- package/dist/bubbles/service-bubble/agi-inc.d.ts +88 -88
- package/dist/bubbles/service-bubble/ai-agent.d.ts +28 -16
- package/dist/bubbles/service-bubble/ai-agent.d.ts.map +1 -1
- package/dist/bubbles/service-bubble/ai-agent.js +18 -16
- package/dist/bubbles/service-bubble/ai-agent.js.map +1 -1
- package/dist/bubbles/service-bubble/airtable.d.ts +130 -130
- package/dist/bubbles/service-bubble/apify/apify.d.ts +16 -16
- package/dist/bubbles/service-bubble/ashby/ashby.d.ts +138 -138
- package/dist/bubbles/service-bubble/browserbase/browserbase.d.ts +28 -28
- package/dist/bubbles/service-bubble/crustdata/crustdata.d.ts +126 -126
- package/dist/bubbles/service-bubble/eleven-labs.d.ts +28 -28
- package/dist/bubbles/service-bubble/firecrawl.d.ts +755 -755
- package/dist/bubbles/service-bubble/followupboss.d.ts +140 -140
- package/dist/bubbles/service-bubble/fullenrich/fullenrich.d.ts +56 -56
- package/dist/bubbles/service-bubble/github.d.ts +160 -160
- package/dist/bubbles/service-bubble/gmail.d.ts +224 -224
- package/dist/bubbles/service-bubble/google-calendar.d.ts +218 -218
- package/dist/bubbles/service-bubble/google-drive.d.ts +84 -84
- package/dist/bubbles/service-bubble/google-sheets/google-sheets.d.ts +32 -32
- package/dist/bubbles/service-bubble/hello-world.d.ts +8 -8
- package/dist/bubbles/service-bubble/http.d.ts +12 -12
- package/dist/bubbles/service-bubble/insforge-db.d.ts +16 -16
- package/dist/bubbles/service-bubble/jira/jira.d.ts +54 -54
- package/dist/bubbles/service-bubble/notion/notion.d.ts +1634 -1634
- package/dist/bubbles/service-bubble/postgresql.d.ts +16 -16
- package/dist/bubbles/service-bubble/resend.d.ts +28 -28
- package/dist/bubbles/service-bubble/slack/slack.d.ts +444 -444
- package/dist/bubbles/service-bubble/storage.d.ts +20 -20
- package/dist/bubbles/service-bubble/stripe/stripe.d.ts +103 -103
- package/dist/bubbles/service-bubble/telegram.d.ts +1562 -1562
- package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.d.ts +13 -13
- package/dist/bubbles/tool-bubble/bubbleflow-validation-tool.d.ts +20 -20
- package/dist/bubbles/tool-bubble/chart-js-tool.d.ts +18 -18
- package/dist/bubbles/tool-bubble/code-edit-tool.d.ts +8 -8
- package/dist/bubbles/tool-bubble/company-enrichment-tool.d.ts +62 -62
- package/dist/bubbles/tool-bubble/get-bubble-details-tool.d.ts +4 -4
- package/dist/bubbles/tool-bubble/get-trigger-detail-tool.d.ts +4 -4
- package/dist/bubbles/tool-bubble/google-maps-tool.d.ts +4 -4
- package/dist/bubbles/tool-bubble/instagram-tool.d.ts +14 -14
- package/dist/bubbles/tool-bubble/linkedin-connection-tool/linkedin-connection-tool.d.ts +2 -2
- package/dist/bubbles/tool-bubble/linkedin-tool.d.ts +294 -294
- package/dist/bubbles/tool-bubble/list-bubbles-tool.d.ts +4 -4
- package/dist/bubbles/tool-bubble/people-search-tool.d.ts +122 -122
- package/dist/bubbles/tool-bubble/reddit-scrape-tool.d.ts +24 -24
- package/dist/bubbles/tool-bubble/research-agent-tool.d.ts +8 -8
- package/dist/bubbles/tool-bubble/sql-query-tool.d.ts +8 -8
- package/dist/bubbles/tool-bubble/tiktok-tool.d.ts +72 -72
- package/dist/bubbles/tool-bubble/tool-template.d.ts +4 -4
- package/dist/bubbles/tool-bubble/twitter-tool.d.ts +134 -134
- package/dist/bubbles/tool-bubble/web-crawl-tool.d.ts +18 -18
- package/dist/bubbles/tool-bubble/web-extract-tool.d.ts +4 -4
- package/dist/bubbles/tool-bubble/web-scrape-tool.d.ts +4 -4
- package/dist/bubbles/tool-bubble/web-search-tool.d.ts +8 -8
- package/dist/bubbles/tool-bubble/youtube-tool.d.ts +18 -18
- package/dist/bubbles/workflow-bubble/database-analyzer.workflow.d.ts +4 -4
- package/dist/bubbles/workflow-bubble/generate-document.workflow.d.ts +40 -40
- package/dist/bubbles/workflow-bubble/parse-document.workflow.d.ts +8 -8
- package/dist/bubbles/workflow-bubble/pdf-form-operations.workflow.d.ts +104 -104
- package/dist/bubbles/workflow-bubble/pdf-ocr.workflow.d.ts +16 -16
- package/dist/bubbles/workflow-bubble/slack-data-assistant.workflow.d.ts +34 -34
- package/dist/bubbles/workflow-bubble/slack-formatter-agent.d.ts +86 -86
- package/dist/bubbles/workflow-bubble/slack-notifier.workflow.d.ts +8 -8
- package/dist/bubbles.json +11 -3
- 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
|
-
|
|
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
|
-
|
|
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
|
-
}
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
}
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
}
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
}
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
}
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
}
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
}
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
}
|
|
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: "
|
|
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?: "
|
|
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: "
|
|
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?: "
|
|
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:
|
|
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.
|
|
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.
|
|
43
|
+
"@bubblelab/shared-schemas": "0.1.68"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
46
|
"zod-to-json-schema": "^3.24.6",
|