@bubblelab/bubble-core 0.1.65 → 0.1.66

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 (54) hide show
  1. package/dist/bubble-bundle.d.ts +76 -76
  2. package/dist/bubbles/service-bubble/ai-agent.d.ts +113 -104
  3. package/dist/bubbles/service-bubble/ai-agent.d.ts.map +1 -1
  4. package/dist/bubbles/service-bubble/ai-agent.js +129 -0
  5. package/dist/bubbles/service-bubble/ai-agent.js.map +1 -1
  6. package/dist/bubbles/service-bubble/airtable.d.ts +100 -100
  7. package/dist/bubbles/service-bubble/apify/apify.d.ts +10 -10
  8. package/dist/bubbles/service-bubble/ashby/ashby.d.ts +95 -74
  9. package/dist/bubbles/service-bubble/ashby/ashby.d.ts.map +1 -1
  10. package/dist/bubbles/service-bubble/ashby/ashby.js +96 -0
  11. package/dist/bubbles/service-bubble/ashby/ashby.js.map +1 -1
  12. package/dist/bubbles/service-bubble/ashby/ashby.schema.d.ts +108 -102
  13. package/dist/bubbles/service-bubble/ashby/ashby.schema.d.ts.map +1 -1
  14. package/dist/bubbles/service-bubble/ashby/ashby.schema.js +10 -1
  15. package/dist/bubbles/service-bubble/ashby/ashby.schema.js.map +1 -1
  16. package/dist/bubbles/service-bubble/browserbase/browserbase.d.ts +2 -2
  17. package/dist/bubbles/service-bubble/browserbase/browserbase.schema.d.ts +2 -2
  18. package/dist/bubbles/service-bubble/crustdata/crustdata.d.ts +8 -8
  19. package/dist/bubbles/service-bubble/crustdata/crustdata.schema.d.ts +16 -16
  20. package/dist/bubbles/service-bubble/firecrawl.d.ts +272 -272
  21. package/dist/bubbles/service-bubble/followupboss.d.ts +4 -4
  22. package/dist/bubbles/service-bubble/github.d.ts +40 -40
  23. package/dist/bubbles/service-bubble/gmail.d.ts +104 -104
  24. package/dist/bubbles/service-bubble/google-calendar.d.ts +80 -80
  25. package/dist/bubbles/service-bubble/google-drive.d.ts +40 -40
  26. package/dist/bubbles/service-bubble/http.d.ts +8 -8
  27. package/dist/bubbles/service-bubble/insforge-db.d.ts +8 -8
  28. package/dist/bubbles/service-bubble/notion/notion.d.ts +68 -68
  29. package/dist/bubbles/service-bubble/postgresql.d.ts +8 -8
  30. package/dist/bubbles/service-bubble/slack/slack.d.ts +32 -32
  31. package/dist/bubbles/service-bubble/stripe/stripe.d.ts +4 -4
  32. package/dist/bubbles/service-bubble/stripe/stripe.schema.d.ts +4 -4
  33. package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.d.ts +2 -2
  34. package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.schema.d.ts +2 -2
  35. package/dist/bubbles/tool-bubble/company-enrichment-tool.d.ts +18 -18
  36. package/dist/bubbles/tool-bubble/linkedin-tool.d.ts +52 -52
  37. package/dist/bubbles/tool-bubble/people-search-tool.d.ts +10 -10
  38. package/dist/bubbles/tool-bubble/research-agent-tool.d.ts +10 -10
  39. package/dist/bubbles/tool-bubble/sql-query-tool.d.ts +4 -4
  40. package/dist/bubbles/tool-bubble/tiktok-tool.d.ts +16 -16
  41. package/dist/bubbles/tool-bubble/twitter-tool.d.ts +46 -46
  42. package/dist/bubbles/tool-bubble/web-crawl-tool.d.ts +4 -4
  43. package/dist/bubbles/tool-bubble/web-extract-tool.d.ts +4 -4
  44. package/dist/bubbles/tool-bubble/web-scrape-tool.d.ts +8 -8
  45. package/dist/bubbles/tool-bubble/youtube-tool.d.ts +10 -10
  46. package/dist/bubbles/workflow-bubble/generate-document.workflow.d.ts +10 -10
  47. package/dist/bubbles/workflow-bubble/parse-document.workflow.d.ts +10 -10
  48. package/dist/bubbles/workflow-bubble/pdf-form-operations.workflow.d.ts +36 -36
  49. package/dist/bubbles/workflow-bubble/pdf-ocr.workflow.d.ts +20 -20
  50. package/dist/bubbles/workflow-bubble/slack-data-assistant.workflow.d.ts +8 -8
  51. package/dist/bubbles/workflow-bubble/slack-formatter-agent.d.ts +20 -20
  52. package/dist/bubbles/workflow-bubble/slack-notifier.workflow.d.ts +10 -10
  53. package/dist/bubbles.json +50 -21
  54. package/package.json +2 -2
@@ -49,8 +49,8 @@ declare const AIAgentParamsSchema: z.ZodObject<{
49
49
  }, {
50
50
  data: string;
51
51
  type?: "base64" | undefined;
52
- description?: string | undefined;
53
52
  mimeType?: string | undefined;
53
+ description?: string | undefined;
54
54
  }>, z.ZodObject<{
55
55
  type: z.ZodLiteral<"url">;
56
56
  url: z.ZodString;
@@ -83,7 +83,7 @@ declare const AIAgentParamsSchema: z.ZodObject<{
83
83
  systemPrompt: z.ZodDefault<z.ZodString>;
84
84
  name: z.ZodOptional<z.ZodDefault<z.ZodString>>;
85
85
  model: z.ZodDefault<z.ZodObject<{
86
- model: z.ZodEnum<["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"]>;
86
+ model: z.ZodEnum<["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"]>;
87
87
  temperature: z.ZodDefault<z.ZodNumber>;
88
88
  maxTokens: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
89
89
  reasoningEffort: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
@@ -91,26 +91,26 @@ declare const AIAgentParamsSchema: z.ZodObject<{
91
91
  provider: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
92
92
  jsonMode: z.ZodDefault<z.ZodBoolean>;
93
93
  backupModel: z.ZodOptional<z.ZodDefault<z.ZodObject<{
94
- model: z.ZodEnum<["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"]>;
94
+ model: z.ZodEnum<["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"]>;
95
95
  temperature: z.ZodOptional<z.ZodNumber>;
96
96
  maxTokens: z.ZodOptional<z.ZodNumber>;
97
97
  reasoningEffort: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
98
98
  maxRetries: z.ZodOptional<z.ZodNumber>;
99
99
  }, "strip", z.ZodTypeAny, {
100
- 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";
100
+ 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";
101
101
  temperature?: number | undefined;
102
102
  maxTokens?: number | undefined;
103
103
  reasoningEffort?: "low" | "medium" | "high" | undefined;
104
104
  maxRetries?: number | undefined;
105
105
  }, {
106
- 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";
106
+ 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";
107
107
  temperature?: number | undefined;
108
108
  maxTokens?: number | undefined;
109
109
  reasoningEffort?: "low" | "medium" | "high" | undefined;
110
110
  maxRetries?: number | undefined;
111
111
  }>>>;
112
112
  }, "strip", z.ZodTypeAny, {
113
- 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";
113
+ 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";
114
114
  temperature: number;
115
115
  maxTokens: number;
116
116
  maxRetries: number;
@@ -118,14 +118,14 @@ declare const AIAgentParamsSchema: z.ZodObject<{
118
118
  reasoningEffort?: "low" | "medium" | "high" | undefined;
119
119
  provider?: string[] | undefined;
120
120
  backupModel?: {
121
- 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";
121
+ 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";
122
122
  temperature?: number | undefined;
123
123
  maxTokens?: number | undefined;
124
124
  reasoningEffort?: "low" | "medium" | "high" | undefined;
125
125
  maxRetries?: number | undefined;
126
126
  } | undefined;
127
127
  }, {
128
- 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";
128
+ 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";
129
129
  temperature?: number | undefined;
130
130
  maxTokens?: number | undefined;
131
131
  reasoningEffort?: "low" | "medium" | "high" | undefined;
@@ -133,7 +133,7 @@ declare const AIAgentParamsSchema: z.ZodObject<{
133
133
  provider?: string[] | undefined;
134
134
  jsonMode?: boolean | undefined;
135
135
  backupModel?: {
136
- 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";
136
+ 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";
137
137
  temperature?: number | undefined;
138
138
  maxTokens?: number | undefined;
139
139
  reasoningEffort?: "low" | "medium" | "high" | undefined;
@@ -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>;
@@ -175,8 +175,19 @@ declare const AIAgentParamsSchema: z.ZodObject<{
175
175
  expectedOutputSchema: z.ZodOptional<z.ZodUnion<[z.ZodType<z.ZodTypeAny, z.ZodTypeDef, z.ZodTypeAny>, z.ZodString]>>;
176
176
  }, "strip", z.ZodTypeAny, {
177
177
  message: string;
178
+ images: ({
179
+ type: "base64";
180
+ data: string;
181
+ mimeType: string;
182
+ description?: string | undefined;
183
+ } | {
184
+ type: "url";
185
+ url: string;
186
+ description?: string | undefined;
187
+ })[];
188
+ systemPrompt: string;
178
189
  model: {
179
- 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";
190
+ 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";
180
191
  temperature: number;
181
192
  maxTokens: number;
182
193
  maxRetries: number;
@@ -184,52 +195,57 @@ declare const AIAgentParamsSchema: z.ZodObject<{
184
195
  reasoningEffort?: "low" | "medium" | "high" | undefined;
185
196
  provider?: string[] | undefined;
186
197
  backupModel?: {
187
- 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";
198
+ 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";
188
199
  temperature?: number | undefined;
189
200
  maxTokens?: number | undefined;
190
201
  reasoningEffort?: "low" | "medium" | "high" | undefined;
191
202
  maxRetries?: number | undefined;
192
203
  } | undefined;
193
204
  };
194
- streaming: boolean;
195
205
  tools: {
196
206
  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";
197
207
  credentials?: Partial<Record<CredentialType, string>> | undefined;
198
208
  config?: Record<string, unknown> | undefined;
199
209
  }[];
200
- images: ({
201
- type: "base64";
202
- data: string;
203
- mimeType: string;
204
- description?: string | undefined;
205
- } | {
206
- type: "url";
207
- url: string;
208
- description?: string | undefined;
209
- })[];
210
- systemPrompt: string;
211
210
  maxIterations: number;
211
+ streaming: boolean;
212
212
  name?: string | undefined;
213
- credentials?: Partial<Record<CredentialType, string>> | undefined;
214
213
  conversationHistory?: {
215
214
  role: "user" | "assistant" | "tool";
216
215
  content: string;
217
216
  toolCallId?: string | undefined;
218
217
  name?: string | undefined;
219
218
  }[] | undefined;
219
+ credentials?: Partial<Record<CredentialType, string>> | undefined;
220
220
  customTools?: {
221
221
  description: string;
222
222
  name: string;
223
- schema: Record<string, unknown> | z.ZodTypeAny;
223
+ schema: z.ZodTypeAny | Record<string, unknown>;
224
224
  func: (args_0: Record<string, unknown>, ...args: unknown[]) => Promise<unknown>;
225
225
  }[] | undefined;
226
226
  expectedOutputSchema?: string | z.ZodTypeAny | undefined;
227
227
  }, {
228
228
  message: string;
229
229
  name?: string | undefined;
230
- credentials?: Partial<Record<CredentialType, string>> | undefined;
230
+ images?: ({
231
+ data: string;
232
+ type?: "base64" | undefined;
233
+ mimeType?: string | undefined;
234
+ description?: string | undefined;
235
+ } | {
236
+ type: "url";
237
+ url: string;
238
+ description?: string | undefined;
239
+ })[] | undefined;
240
+ conversationHistory?: {
241
+ role: "user" | "assistant" | "tool";
242
+ content: string;
243
+ toolCallId?: string | undefined;
244
+ name?: string | undefined;
245
+ }[] | undefined;
246
+ systemPrompt?: string | undefined;
231
247
  model?: {
232
- 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";
248
+ 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";
233
249
  temperature?: number | undefined;
234
250
  maxTokens?: number | undefined;
235
251
  reasoningEffort?: "low" | "medium" | "high" | undefined;
@@ -237,43 +253,27 @@ declare const AIAgentParamsSchema: z.ZodObject<{
237
253
  provider?: string[] | undefined;
238
254
  jsonMode?: boolean | undefined;
239
255
  backupModel?: {
240
- 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";
256
+ 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";
241
257
  temperature?: number | undefined;
242
258
  maxTokens?: number | undefined;
243
259
  reasoningEffort?: "low" | "medium" | "high" | undefined;
244
260
  maxRetries?: number | undefined;
245
261
  } | undefined;
246
262
  } | undefined;
247
- streaming?: boolean | undefined;
263
+ credentials?: Partial<Record<CredentialType, string>> | undefined;
248
264
  tools?: {
249
265
  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";
250
266
  credentials?: Partial<Record<CredentialType, string>> | undefined;
251
267
  config?: Record<string, unknown> | undefined;
252
268
  }[] | undefined;
253
- images?: ({
254
- data: string;
255
- type?: "base64" | undefined;
256
- description?: string | undefined;
257
- mimeType?: string | undefined;
258
- } | {
259
- type: "url";
260
- url: string;
261
- description?: string | undefined;
262
- })[] | undefined;
263
- conversationHistory?: {
264
- role: "user" | "assistant" | "tool";
265
- content: string;
266
- toolCallId?: string | undefined;
267
- name?: string | undefined;
268
- }[] | undefined;
269
- systemPrompt?: string | undefined;
270
269
  customTools?: {
271
270
  description: string;
272
271
  name: string;
273
- schema: Record<string, unknown> | z.ZodTypeAny;
272
+ schema: z.ZodTypeAny | Record<string, unknown>;
274
273
  func: (args_0: Record<string, unknown>, ...args: unknown[]) => Promise<unknown>;
275
274
  }[] | undefined;
276
275
  maxIterations?: number | undefined;
276
+ streaming?: boolean | undefined;
277
277
  expectedOutputSchema?: string | z.ZodTypeAny | undefined;
278
278
  }>;
279
279
  declare const AIAgentResultSchema: z.ZodObject<{
@@ -295,8 +295,6 @@ declare const AIAgentResultSchema: z.ZodObject<{
295
295
  error: z.ZodString;
296
296
  success: z.ZodBoolean;
297
297
  }, "strip", z.ZodTypeAny, {
298
- error: string;
299
- success: boolean;
300
298
  response: string;
301
299
  toolCalls: {
302
300
  tool: string;
@@ -304,9 +302,9 @@ declare const AIAgentResultSchema: z.ZodObject<{
304
302
  output?: unknown;
305
303
  }[];
306
304
  iterations: number;
307
- }, {
308
305
  error: string;
309
306
  success: boolean;
307
+ }, {
310
308
  response: string;
311
309
  toolCalls: {
312
310
  tool: string;
@@ -314,6 +312,8 @@ declare const AIAgentResultSchema: z.ZodObject<{
314
312
  output?: unknown;
315
313
  }[];
316
314
  iterations: number;
315
+ error: string;
316
+ success: boolean;
317
317
  }>;
318
318
  type AIAgentParams = z.input<typeof AIAgentParamsSchema> & {
319
319
  beforeToolCall?: ToolHookBefore;
@@ -348,8 +348,8 @@ export declare class AIAgentBubble extends ServiceBubble<AIAgentParamsParsed, AI
348
348
  }, {
349
349
  data: string;
350
350
  type?: "base64" | undefined;
351
- description?: string | undefined;
352
351
  mimeType?: string | undefined;
352
+ description?: string | undefined;
353
353
  }>, z.ZodObject<{
354
354
  type: z.ZodLiteral<"url">;
355
355
  url: z.ZodString;
@@ -382,7 +382,7 @@ export declare class AIAgentBubble extends ServiceBubble<AIAgentParamsParsed, AI
382
382
  systemPrompt: z.ZodDefault<z.ZodString>;
383
383
  name: z.ZodOptional<z.ZodDefault<z.ZodString>>;
384
384
  model: z.ZodDefault<z.ZodObject<{
385
- model: z.ZodEnum<["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"]>;
385
+ model: z.ZodEnum<["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"]>;
386
386
  temperature: z.ZodDefault<z.ZodNumber>;
387
387
  maxTokens: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
388
388
  reasoningEffort: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
@@ -390,26 +390,26 @@ export declare class AIAgentBubble extends ServiceBubble<AIAgentParamsParsed, AI
390
390
  provider: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
391
391
  jsonMode: z.ZodDefault<z.ZodBoolean>;
392
392
  backupModel: z.ZodOptional<z.ZodDefault<z.ZodObject<{
393
- model: z.ZodEnum<["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"]>;
393
+ model: z.ZodEnum<["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"]>;
394
394
  temperature: z.ZodOptional<z.ZodNumber>;
395
395
  maxTokens: z.ZodOptional<z.ZodNumber>;
396
396
  reasoningEffort: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
397
397
  maxRetries: z.ZodOptional<z.ZodNumber>;
398
398
  }, "strip", z.ZodTypeAny, {
399
- 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";
399
+ 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";
400
400
  temperature?: number | undefined;
401
401
  maxTokens?: number | undefined;
402
402
  reasoningEffort?: "low" | "medium" | "high" | undefined;
403
403
  maxRetries?: number | undefined;
404
404
  }, {
405
- 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";
405
+ 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";
406
406
  temperature?: number | undefined;
407
407
  maxTokens?: number | undefined;
408
408
  reasoningEffort?: "low" | "medium" | "high" | undefined;
409
409
  maxRetries?: number | undefined;
410
410
  }>>>;
411
411
  }, "strip", z.ZodTypeAny, {
412
- 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";
412
+ 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";
413
413
  temperature: number;
414
414
  maxTokens: number;
415
415
  maxRetries: number;
@@ -417,14 +417,14 @@ export declare class AIAgentBubble extends ServiceBubble<AIAgentParamsParsed, AI
417
417
  reasoningEffort?: "low" | "medium" | "high" | undefined;
418
418
  provider?: string[] | undefined;
419
419
  backupModel?: {
420
- 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";
420
+ 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";
421
421
  temperature?: number | undefined;
422
422
  maxTokens?: number | undefined;
423
423
  reasoningEffort?: "low" | "medium" | "high" | undefined;
424
424
  maxRetries?: number | undefined;
425
425
  } | undefined;
426
426
  }, {
427
- 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";
427
+ 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";
428
428
  temperature?: number | undefined;
429
429
  maxTokens?: number | undefined;
430
430
  reasoningEffort?: "low" | "medium" | "high" | undefined;
@@ -432,7 +432,7 @@ export declare class AIAgentBubble extends ServiceBubble<AIAgentParamsParsed, AI
432
432
  provider?: string[] | undefined;
433
433
  jsonMode?: boolean | undefined;
434
434
  backupModel?: {
435
- 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";
435
+ 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";
436
436
  temperature?: number | undefined;
437
437
  maxTokens?: number | undefined;
438
438
  reasoningEffort?: "low" | "medium" | "high" | undefined;
@@ -460,12 +460,12 @@ export declare class AIAgentBubble extends ServiceBubble<AIAgentParamsParsed, AI
460
460
  }, "strip", z.ZodTypeAny, {
461
461
  description: string;
462
462
  name: string;
463
- schema: Record<string, unknown> | z.ZodTypeAny;
463
+ schema: z.ZodTypeAny | Record<string, unknown>;
464
464
  func: (args_0: Record<string, unknown>, ...args: unknown[]) => Promise<unknown>;
465
465
  }, {
466
466
  description: string;
467
467
  name: string;
468
- schema: Record<string, unknown> | z.ZodTypeAny;
468
+ schema: z.ZodTypeAny | Record<string, unknown>;
469
469
  func: (args_0: Record<string, unknown>, ...args: unknown[]) => Promise<unknown>;
470
470
  }>, "many">>>;
471
471
  maxIterations: z.ZodDefault<z.ZodNumber>;
@@ -474,8 +474,19 @@ export declare class AIAgentBubble extends ServiceBubble<AIAgentParamsParsed, AI
474
474
  expectedOutputSchema: z.ZodOptional<z.ZodUnion<[z.ZodType<z.ZodTypeAny, z.ZodTypeDef, z.ZodTypeAny>, z.ZodString]>>;
475
475
  }, "strip", z.ZodTypeAny, {
476
476
  message: string;
477
+ images: ({
478
+ type: "base64";
479
+ data: string;
480
+ mimeType: string;
481
+ description?: string | undefined;
482
+ } | {
483
+ type: "url";
484
+ url: string;
485
+ description?: string | undefined;
486
+ })[];
487
+ systemPrompt: string;
477
488
  model: {
478
- 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";
489
+ 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";
479
490
  temperature: number;
480
491
  maxTokens: number;
481
492
  maxRetries: number;
@@ -483,52 +494,57 @@ export declare class AIAgentBubble extends ServiceBubble<AIAgentParamsParsed, AI
483
494
  reasoningEffort?: "low" | "medium" | "high" | undefined;
484
495
  provider?: string[] | undefined;
485
496
  backupModel?: {
486
- 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";
497
+ 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";
487
498
  temperature?: number | undefined;
488
499
  maxTokens?: number | undefined;
489
500
  reasoningEffort?: "low" | "medium" | "high" | undefined;
490
501
  maxRetries?: number | undefined;
491
502
  } | undefined;
492
503
  };
493
- streaming: boolean;
494
504
  tools: {
495
505
  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";
496
506
  credentials?: Partial<Record<CredentialType, string>> | undefined;
497
507
  config?: Record<string, unknown> | undefined;
498
508
  }[];
499
- images: ({
500
- type: "base64";
501
- data: string;
502
- mimeType: string;
503
- description?: string | undefined;
504
- } | {
505
- type: "url";
506
- url: string;
507
- description?: string | undefined;
508
- })[];
509
- systemPrompt: string;
510
509
  maxIterations: number;
510
+ streaming: boolean;
511
511
  name?: string | undefined;
512
- credentials?: Partial<Record<CredentialType, string>> | undefined;
513
512
  conversationHistory?: {
514
513
  role: "user" | "assistant" | "tool";
515
514
  content: string;
516
515
  toolCallId?: string | undefined;
517
516
  name?: string | undefined;
518
517
  }[] | undefined;
518
+ credentials?: Partial<Record<CredentialType, string>> | undefined;
519
519
  customTools?: {
520
520
  description: string;
521
521
  name: string;
522
- schema: Record<string, unknown> | z.ZodTypeAny;
522
+ schema: z.ZodTypeAny | Record<string, unknown>;
523
523
  func: (args_0: Record<string, unknown>, ...args: unknown[]) => Promise<unknown>;
524
524
  }[] | undefined;
525
525
  expectedOutputSchema?: string | z.ZodTypeAny | undefined;
526
526
  }, {
527
527
  message: string;
528
528
  name?: string | undefined;
529
- credentials?: Partial<Record<CredentialType, string>> | undefined;
529
+ images?: ({
530
+ data: string;
531
+ type?: "base64" | undefined;
532
+ mimeType?: string | undefined;
533
+ description?: string | undefined;
534
+ } | {
535
+ type: "url";
536
+ url: string;
537
+ description?: string | undefined;
538
+ })[] | undefined;
539
+ conversationHistory?: {
540
+ role: "user" | "assistant" | "tool";
541
+ content: string;
542
+ toolCallId?: string | undefined;
543
+ name?: string | undefined;
544
+ }[] | undefined;
545
+ systemPrompt?: string | undefined;
530
546
  model?: {
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/anthropic/claude-sonnet-4.5" | "openrouter/google/gemini-3-pro-preview" | "openrouter/morph/morph-v3-large" | "openrouter/openai/gpt-oss-120b";
547
+ 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";
532
548
  temperature?: number | undefined;
533
549
  maxTokens?: number | undefined;
534
550
  reasoningEffort?: "low" | "medium" | "high" | undefined;
@@ -536,43 +552,27 @@ export declare class AIAgentBubble extends ServiceBubble<AIAgentParamsParsed, AI
536
552
  provider?: string[] | undefined;
537
553
  jsonMode?: boolean | undefined;
538
554
  backupModel?: {
539
- 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";
555
+ 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";
540
556
  temperature?: number | undefined;
541
557
  maxTokens?: number | undefined;
542
558
  reasoningEffort?: "low" | "medium" | "high" | undefined;
543
559
  maxRetries?: number | undefined;
544
560
  } | undefined;
545
561
  } | undefined;
546
- streaming?: boolean | undefined;
562
+ credentials?: Partial<Record<CredentialType, string>> | undefined;
547
563
  tools?: {
548
564
  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";
549
565
  credentials?: Partial<Record<CredentialType, string>> | undefined;
550
566
  config?: Record<string, unknown> | undefined;
551
567
  }[] | undefined;
552
- images?: ({
553
- data: string;
554
- type?: "base64" | undefined;
555
- description?: string | undefined;
556
- mimeType?: string | undefined;
557
- } | {
558
- type: "url";
559
- url: string;
560
- description?: string | undefined;
561
- })[] | undefined;
562
- conversationHistory?: {
563
- role: "user" | "assistant" | "tool";
564
- content: string;
565
- toolCallId?: string | undefined;
566
- name?: string | undefined;
567
- }[] | undefined;
568
- systemPrompt?: string | undefined;
569
568
  customTools?: {
570
569
  description: string;
571
570
  name: string;
572
- schema: Record<string, unknown> | z.ZodTypeAny;
571
+ schema: z.ZodTypeAny | Record<string, unknown>;
573
572
  func: (args_0: Record<string, unknown>, ...args: unknown[]) => Promise<unknown>;
574
573
  }[] | undefined;
575
574
  maxIterations?: number | undefined;
575
+ streaming?: boolean | undefined;
576
576
  expectedOutputSchema?: string | z.ZodTypeAny | undefined;
577
577
  }>;
578
578
  static readonly resultSchema: z.ZodObject<{
@@ -594,8 +594,6 @@ export declare class AIAgentBubble extends ServiceBubble<AIAgentParamsParsed, AI
594
594
  error: z.ZodString;
595
595
  success: z.ZodBoolean;
596
596
  }, "strip", z.ZodTypeAny, {
597
- error: string;
598
- success: boolean;
599
597
  response: string;
600
598
  toolCalls: {
601
599
  tool: string;
@@ -603,9 +601,9 @@ export declare class AIAgentBubble extends ServiceBubble<AIAgentParamsParsed, AI
603
601
  output?: unknown;
604
602
  }[];
605
603
  iterations: number;
606
- }, {
607
604
  error: string;
608
605
  success: boolean;
606
+ }, {
609
607
  response: string;
610
608
  toolCalls: {
611
609
  tool: string;
@@ -613,6 +611,8 @@ export declare class AIAgentBubble extends ServiceBubble<AIAgentParamsParsed, AI
613
611
  output?: unknown;
614
612
  }[];
615
613
  iterations: number;
614
+ error: string;
615
+ success: boolean;
616
616
  }>;
617
617
  static readonly shortDescription = "AI agent with LangGraph for tool-enabled conversations, multimodal support, and JSON mode";
618
618
  static readonly longDescription = "\n An AI agent powered by LangGraph that can use any tool bubble to answer questions.\n Use cases:\n - Add tools to enhance the AI agent's capabilities (web-search-tool, web-scrape-tool)\n - Multi-step reasoning with tool assistance\n - Tool-augmented conversations with any registered tool\n - JSON mode for structured output (strips markdown formatting)\n ";
@@ -645,6 +645,15 @@ export declare class AIAgentBubble extends ServiceBubble<AIAgentParamsParsed, AI
645
645
  */
646
646
  private getCredentialTypeForModel;
647
647
  protected chooseCredential(): string | undefined;
648
+ /**
649
+ * Check if the model is a deep research model that requires direct API call
650
+ */
651
+ private isDeepResearchModel;
652
+ /**
653
+ * Execute deep research models via OpenRouter API directly
654
+ * Bypasses LangChain since these models have compatibility issues
655
+ */
656
+ private executeDeepResearchViaOpenRouter;
648
657
  private initializeModel;
649
658
  private initializeTools;
650
659
  /**