@bubblelab/bubble-core 0.1.142 → 0.1.145

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 (172) hide show
  1. package/dist/bubble-bundle.d.ts +189 -126
  2. package/dist/bubble-factory.d.ts.map +1 -1
  3. package/dist/bubble-factory.js +9 -1
  4. package/dist/bubble-factory.js.map +1 -1
  5. package/dist/bubbles/service-bubble/agi-inc.d.ts +128 -128
  6. package/dist/bubbles/service-bubble/ai-agent.d.ts +82 -82
  7. package/dist/bubbles/service-bubble/airtable.d.ts +194 -194
  8. package/dist/bubbles/service-bubble/apify/actors/instagram-hashtag-scraper.d.ts +2 -2
  9. package/dist/bubbles/service-bubble/apify/actors/instagram-scraper.d.ts +8 -8
  10. package/dist/bubbles/service-bubble/apify/actors/linkedin-jobs-scraper.d.ts +2 -2
  11. package/dist/bubbles/service-bubble/apify/actors/linkedin-posts-search.d.ts +22 -22
  12. package/dist/bubbles/service-bubble/apify/actors/linkedin-profile-detail.d.ts +38 -38
  13. package/dist/bubbles/service-bubble/apify/actors/linkedin-profile-posts.d.ts +52 -52
  14. package/dist/bubbles/service-bubble/apify/actors/tiktok-scraper.d.ts +6 -6
  15. package/dist/bubbles/service-bubble/apify/actors/twitter-scraper.d.ts +12 -12
  16. package/dist/bubbles/service-bubble/apify/actors/youtube-scraper.d.ts +12 -12
  17. package/dist/bubbles/service-bubble/apify/apify-scraper.schema.d.ts +126 -126
  18. package/dist/bubbles/service-bubble/apify/apify.d.ts +28 -28
  19. package/dist/bubbles/service-bubble/ashby/ashby.d.ts +74 -74
  20. package/dist/bubbles/service-bubble/ashby/ashby.schema.d.ts +2 -2
  21. package/dist/bubbles/service-bubble/browserbase/browserbase.d.ts +97 -90
  22. package/dist/bubbles/service-bubble/browserbase/browserbase.d.ts.map +1 -1
  23. package/dist/bubbles/service-bubble/browserbase/browserbase.js +66 -3
  24. package/dist/bubbles/service-bubble/browserbase/browserbase.js.map +1 -1
  25. package/dist/bubbles/service-bubble/browserbase/browserbase.schema.d.ts +44 -1
  26. package/dist/bubbles/service-bubble/browserbase/browserbase.schema.d.ts.map +1 -1
  27. package/dist/bubbles/service-bubble/browserbase/browserbase.schema.js +19 -0
  28. package/dist/bubbles/service-bubble/browserbase/browserbase.schema.js.map +1 -1
  29. package/dist/bubbles/service-bubble/confluence/confluence.d.ts +43 -43
  30. package/dist/bubbles/service-bubble/crustdata/crustdata.d.ts +96 -96
  31. package/dist/bubbles/service-bubble/eleven-labs.d.ts +48 -48
  32. package/dist/bubbles/service-bubble/firecrawl.d.ts +542 -542
  33. package/dist/bubbles/service-bubble/followupboss.d.ts +308 -308
  34. package/dist/bubbles/service-bubble/fullenrich/fullenrich.d.ts +88 -88
  35. package/dist/bubbles/service-bubble/github.d.ts +136 -136
  36. package/dist/bubbles/service-bubble/gmail.d.ts +344 -344
  37. package/dist/bubbles/service-bubble/google-calendar.d.ts +152 -152
  38. package/dist/bubbles/service-bubble/google-drive.d.ts +136 -136
  39. package/dist/bubbles/service-bubble/google-sheets/google-sheets.d.ts +44 -44
  40. package/dist/bubbles/service-bubble/hello-world.d.ts +6 -6
  41. package/dist/bubbles/service-bubble/http.d.ts +10 -10
  42. package/dist/bubbles/service-bubble/insforge-db.d.ts +12 -12
  43. package/dist/bubbles/service-bubble/jira/jira.d.ts +86 -86
  44. package/dist/bubbles/service-bubble/jira/jira.schema.d.ts +36 -36
  45. package/dist/bubbles/service-bubble/notion/notion.d.ts +1438 -1438
  46. package/dist/bubbles/service-bubble/notion/property-schemas.d.ts +8 -8
  47. package/dist/bubbles/service-bubble/postgresql.d.ts +12 -12
  48. package/dist/bubbles/service-bubble/resend.d.ts +28 -28
  49. package/dist/bubbles/service-bubble/salesforce/index.d.ts +4 -0
  50. package/dist/bubbles/service-bubble/salesforce/index.d.ts.map +1 -0
  51. package/dist/bubbles/service-bubble/salesforce/index.js +4 -0
  52. package/dist/bubbles/service-bubble/salesforce/index.js.map +1 -0
  53. package/dist/bubbles/service-bubble/salesforce/salesforce.d.ts +1331 -0
  54. package/dist/bubbles/service-bubble/salesforce/salesforce.d.ts.map +1 -0
  55. package/dist/bubbles/service-bubble/salesforce/salesforce.js +618 -0
  56. package/dist/bubbles/service-bubble/salesforce/salesforce.js.map +1 -0
  57. package/dist/bubbles/service-bubble/salesforce/salesforce.schema.d.ts +1445 -0
  58. package/dist/bubbles/service-bubble/salesforce/salesforce.schema.d.ts.map +1 -0
  59. package/dist/bubbles/service-bubble/salesforce/salesforce.schema.js +609 -0
  60. package/dist/bubbles/service-bubble/salesforce/salesforce.schema.js.map +1 -0
  61. package/dist/bubbles/service-bubble/salesforce/salesforce.utils.d.ts +87 -0
  62. package/dist/bubbles/service-bubble/salesforce/salesforce.utils.d.ts.map +1 -0
  63. package/dist/bubbles/service-bubble/salesforce/salesforce.utils.js +181 -0
  64. package/dist/bubbles/service-bubble/salesforce/salesforce.utils.js.map +1 -0
  65. package/dist/bubbles/service-bubble/slack/slack.d.ts +444 -444
  66. package/dist/bubbles/service-bubble/storage.d.ts +40 -40
  67. package/dist/bubbles/service-bubble/stripe/stripe.d.ts +111 -111
  68. package/dist/bubbles/service-bubble/stripe/stripe.schema.d.ts +28 -28
  69. package/dist/bubbles/service-bubble/telegram.d.ts +116 -116
  70. package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.d.ts +32 -32
  71. package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.schema.d.ts +8 -8
  72. package/dist/bubbles/tool-bubble/browser-tools/_shared/schema.d.ts +126 -0
  73. package/dist/bubbles/tool-bubble/browser-tools/_shared/schema.d.ts.map +1 -0
  74. package/dist/bubbles/tool-bubble/browser-tools/_shared/schema.js +34 -0
  75. package/dist/bubbles/tool-bubble/browser-tools/_shared/schema.js.map +1 -0
  76. package/dist/bubbles/tool-bubble/browser-tools/_shared/utils.d.ts +22 -0
  77. package/dist/bubbles/tool-bubble/browser-tools/_shared/utils.d.ts.map +1 -0
  78. package/dist/bubbles/tool-bubble/browser-tools/_shared/utils.js +57 -0
  79. package/dist/bubbles/tool-bubble/browser-tools/_shared/utils.js.map +1 -0
  80. package/dist/bubbles/tool-bubble/browser-tools/index.d.ts +5 -0
  81. package/dist/bubbles/tool-bubble/browser-tools/index.d.ts.map +1 -0
  82. package/dist/bubbles/tool-bubble/browser-tools/index.js +5 -0
  83. package/dist/bubbles/tool-bubble/browser-tools/index.js.map +1 -0
  84. package/dist/bubbles/tool-bubble/browser-tools/linkedin-accept-invitations/index.d.ts +3 -0
  85. package/dist/bubbles/tool-bubble/browser-tools/linkedin-accept-invitations/index.d.ts.map +1 -0
  86. package/dist/bubbles/tool-bubble/browser-tools/linkedin-accept-invitations/index.js +3 -0
  87. package/dist/bubbles/tool-bubble/browser-tools/linkedin-accept-invitations/index.js.map +1 -0
  88. package/dist/bubbles/tool-bubble/browser-tools/linkedin-accept-invitations/schema.d.ts +158 -0
  89. package/dist/bubbles/tool-bubble/browser-tools/linkedin-accept-invitations/schema.d.ts.map +1 -0
  90. package/dist/bubbles/tool-bubble/browser-tools/linkedin-accept-invitations/schema.js +31 -0
  91. package/dist/bubbles/tool-bubble/browser-tools/linkedin-accept-invitations/schema.js.map +1 -0
  92. package/dist/bubbles/tool-bubble/browser-tools/linkedin-accept-invitations/tool.d.ts +161 -0
  93. package/dist/bubbles/tool-bubble/browser-tools/linkedin-accept-invitations/tool.d.ts.map +1 -0
  94. package/dist/bubbles/tool-bubble/browser-tools/linkedin-accept-invitations/tool.js +310 -0
  95. package/dist/bubbles/tool-bubble/browser-tools/linkedin-accept-invitations/tool.js.map +1 -0
  96. package/dist/bubbles/tool-bubble/browser-tools/linkedin-connection/index.d.ts +3 -0
  97. package/dist/bubbles/tool-bubble/browser-tools/linkedin-connection/index.d.ts.map +1 -0
  98. package/dist/bubbles/tool-bubble/browser-tools/linkedin-connection/index.js +3 -0
  99. package/dist/bubbles/tool-bubble/browser-tools/linkedin-connection/index.js.map +1 -0
  100. package/dist/bubbles/tool-bubble/browser-tools/linkedin-connection/schema.d.ts +165 -0
  101. package/dist/bubbles/tool-bubble/browser-tools/linkedin-connection/schema.d.ts.map +1 -0
  102. package/dist/bubbles/tool-bubble/browser-tools/linkedin-connection/schema.js +45 -0
  103. package/dist/bubbles/tool-bubble/browser-tools/linkedin-connection/schema.js.map +1 -0
  104. package/dist/bubbles/tool-bubble/browser-tools/linkedin-connection/tool.d.ts +171 -0
  105. package/dist/bubbles/tool-bubble/browser-tools/linkedin-connection/tool.d.ts.map +1 -0
  106. package/dist/bubbles/tool-bubble/browser-tools/linkedin-connection/tool.js +364 -0
  107. package/dist/bubbles/tool-bubble/browser-tools/linkedin-connection/tool.js.map +1 -0
  108. package/dist/bubbles/tool-bubble/browser-tools/linkedin-received-invitations/index.d.ts +3 -0
  109. package/dist/bubbles/tool-bubble/browser-tools/linkedin-received-invitations/index.d.ts.map +1 -0
  110. package/dist/bubbles/tool-bubble/browser-tools/linkedin-received-invitations/index.js +3 -0
  111. package/dist/bubbles/tool-bubble/browser-tools/linkedin-received-invitations/index.js.map +1 -0
  112. package/dist/bubbles/tool-bubble/browser-tools/linkedin-received-invitations/schema.d.ts +160 -0
  113. package/dist/bubbles/tool-bubble/browser-tools/linkedin-received-invitations/schema.d.ts.map +1 -0
  114. package/dist/bubbles/tool-bubble/browser-tools/linkedin-received-invitations/schema.js +24 -0
  115. package/dist/bubbles/tool-bubble/browser-tools/linkedin-received-invitations/schema.js.map +1 -0
  116. package/dist/bubbles/tool-bubble/browser-tools/linkedin-received-invitations/tool.d.ts +160 -0
  117. package/dist/bubbles/tool-bubble/browser-tools/linkedin-received-invitations/tool.d.ts.map +1 -0
  118. package/dist/bubbles/tool-bubble/browser-tools/linkedin-received-invitations/tool.js +334 -0
  119. package/dist/bubbles/tool-bubble/browser-tools/linkedin-received-invitations/tool.js.map +1 -0
  120. package/dist/bubbles/tool-bubble/browser-tools/linkedin-sent-invitations/index.d.ts +3 -0
  121. package/dist/bubbles/tool-bubble/browser-tools/linkedin-sent-invitations/index.d.ts.map +1 -0
  122. package/dist/bubbles/tool-bubble/browser-tools/linkedin-sent-invitations/index.js +3 -0
  123. package/dist/bubbles/tool-bubble/browser-tools/linkedin-sent-invitations/index.js.map +1 -0
  124. package/dist/bubbles/tool-bubble/browser-tools/linkedin-sent-invitations/schema.d.ts +152 -0
  125. package/dist/bubbles/tool-bubble/browser-tools/linkedin-sent-invitations/schema.d.ts.map +1 -0
  126. package/dist/bubbles/tool-bubble/browser-tools/linkedin-sent-invitations/schema.js +23 -0
  127. package/dist/bubbles/tool-bubble/browser-tools/linkedin-sent-invitations/schema.js.map +1 -0
  128. package/dist/bubbles/tool-bubble/browser-tools/linkedin-sent-invitations/tool.d.ts +155 -0
  129. package/dist/bubbles/tool-bubble/browser-tools/linkedin-sent-invitations/tool.d.ts.map +1 -0
  130. package/dist/bubbles/tool-bubble/browser-tools/linkedin-sent-invitations/tool.js +233 -0
  131. package/dist/bubbles/tool-bubble/browser-tools/linkedin-sent-invitations/tool.js.map +1 -0
  132. package/dist/bubbles/tool-bubble/bubbleflow-validation-tool.d.ts +12 -12
  133. package/dist/bubbles/tool-bubble/chart-js-tool.d.ts +4 -4
  134. package/dist/bubbles/tool-bubble/code-edit-tool.d.ts +4 -4
  135. package/dist/bubbles/tool-bubble/company-enrichment-tool.d.ts +52 -52
  136. package/dist/bubbles/tool-bubble/get-bubble-details-tool.d.ts +4 -4
  137. package/dist/bubbles/tool-bubble/get-trigger-detail-tool.d.ts +4 -4
  138. package/dist/bubbles/tool-bubble/google-maps-tool.d.ts +20 -20
  139. package/dist/bubbles/tool-bubble/instagram-tool.d.ts +8 -8
  140. package/dist/bubbles/tool-bubble/linkedin-connection-tool/linkedin-connection-tool.d.ts +8 -8
  141. package/dist/bubbles/tool-bubble/linkedin-tool.d.ts +470 -470
  142. package/dist/bubbles/tool-bubble/list-airtable-bases-tool.d.ts +4 -4
  143. package/dist/bubbles/tool-bubble/list-airtable-tables-tool.d.ts +16 -16
  144. package/dist/bubbles/tool-bubble/list-bubbles-tool.d.ts +12 -12
  145. package/dist/bubbles/tool-bubble/list-capabilities-tool.d.ts +44 -44
  146. package/dist/bubbles/tool-bubble/people-search-tool.d.ts +56 -56
  147. package/dist/bubbles/tool-bubble/reddit-scrape-tool.d.ts +14 -14
  148. package/dist/bubbles/tool-bubble/research-agent-tool.d.ts +4 -4
  149. package/dist/bubbles/tool-bubble/sql-query-tool.d.ts +8 -8
  150. package/dist/bubbles/tool-bubble/tiktok-tool.d.ts +68 -68
  151. package/dist/bubbles/tool-bubble/tool-template.d.ts +4 -4
  152. package/dist/bubbles/tool-bubble/twitter-tool.d.ts +132 -132
  153. package/dist/bubbles/tool-bubble/web-crawl-tool.d.ts +8 -8
  154. package/dist/bubbles/tool-bubble/web-extract-tool.d.ts +8 -8
  155. package/dist/bubbles/tool-bubble/web-scrape-tool.d.ts +8 -8
  156. package/dist/bubbles/tool-bubble/web-search-tool.d.ts +6 -6
  157. package/dist/bubbles/tool-bubble/yc-scraper-tool.d.ts +40 -40
  158. package/dist/bubbles/tool-bubble/youtube-tool.d.ts +18 -18
  159. package/dist/bubbles/workflow-bubble/database-analyzer.workflow.d.ts +4 -4
  160. package/dist/bubbles/workflow-bubble/generate-document.workflow.d.ts +24 -24
  161. package/dist/bubbles/workflow-bubble/parse-document.workflow.d.ts +4 -4
  162. package/dist/bubbles/workflow-bubble/pdf-form-operations.workflow.d.ts +76 -76
  163. package/dist/bubbles/workflow-bubble/pdf-ocr.workflow.d.ts +24 -24
  164. package/dist/bubbles/workflow-bubble/slack-data-assistant.workflow.d.ts +4 -4
  165. package/dist/bubbles/workflow-bubble/slack-formatter-agent.d.ts +36 -36
  166. package/dist/bubbles/workflow-bubble/slack-notifier.workflow.d.ts +4 -4
  167. package/dist/bubbles.json +668 -70
  168. package/dist/index.d.ts +4 -1
  169. package/dist/index.d.ts.map +1 -1
  170. package/dist/index.js +4 -1
  171. package/dist/index.js.map +1 -1
  172. package/package.json +2 -2
@@ -71,18 +71,18 @@ export declare class BrowserBaseBubble<T extends BrowserBaseParamsInput = Browse
71
71
  httpOnly: import("zod").ZodBoolean;
72
72
  secure: import("zod").ZodBoolean;
73
73
  }, "strip", import("zod").ZodTypeAny, {
74
- value: string;
75
- path: string;
76
74
  name: string;
75
+ value: string;
77
76
  domain: string;
77
+ path: string;
78
78
  expires: number;
79
79
  httpOnly: boolean;
80
80
  secure: boolean;
81
81
  }, {
82
- value: string;
83
- path: string;
84
82
  name: string;
83
+ value: string;
85
84
  domain: string;
85
+ path: string;
86
86
  expires: number;
87
87
  httpOnly: boolean;
88
88
  secure: boolean;
@@ -98,28 +98,28 @@ export declare class BrowserBaseBubble<T extends BrowserBaseParamsInput = Browse
98
98
  country: import("zod").ZodString;
99
99
  }, "strip", import("zod").ZodTypeAny, {
100
100
  country: string;
101
- state?: string | undefined;
102
101
  city?: string | undefined;
102
+ state?: string | undefined;
103
103
  }, {
104
104
  country: string;
105
- state?: string | undefined;
106
105
  city?: string | undefined;
106
+ state?: string | undefined;
107
107
  }>>;
108
108
  domainPattern: import("zod").ZodOptional<import("zod").ZodString>;
109
109
  }, "strip", import("zod").ZodTypeAny, {
110
110
  type: "browserbase";
111
111
  geolocation?: {
112
112
  country: string;
113
- state?: string | undefined;
114
113
  city?: string | undefined;
114
+ state?: string | undefined;
115
115
  } | undefined;
116
116
  domainPattern?: string | undefined;
117
117
  }, {
118
118
  type: "browserbase";
119
119
  geolocation?: {
120
120
  country: string;
121
- state?: string | undefined;
122
121
  city?: string | undefined;
122
+ state?: string | undefined;
123
123
  } | undefined;
124
124
  domainPattern?: string | undefined;
125
125
  }>, import("zod").ZodObject<{
@@ -157,33 +157,28 @@ export declare class BrowserBaseBubble<T extends BrowserBaseParamsInput = Browse
157
157
  captchaImageSelector?: string | undefined;
158
158
  captchaInputSelector?: string | undefined;
159
159
  }>>;
160
+ timeout_seconds: import("zod").ZodOptional<import("zod").ZodNumber>;
160
161
  }, "strip", import("zod").ZodTypeAny, {
161
162
  operation: "start_session";
162
163
  viewport_width: number;
163
164
  viewport_height: number;
164
- credentials?: Partial<Record<CredentialType, string>> | undefined;
165
- stealth?: {
166
- advancedStealth: boolean;
167
- solveCaptchas: boolean;
168
- captchaImageSelector?: string | undefined;
169
- captchaInputSelector?: string | undefined;
170
- } | undefined;
171
165
  cookies?: {
172
- value: string;
173
- path: string;
174
166
  name: string;
167
+ value: string;
175
168
  domain: string;
169
+ path: string;
176
170
  expires: number;
177
171
  httpOnly: boolean;
178
172
  secure: boolean;
179
173
  }[] | undefined;
174
+ credentials?: Partial<Record<CredentialType, string>> | undefined;
180
175
  context_id?: string | undefined;
181
176
  proxies?: true | ({
182
177
  type: "browserbase";
183
178
  geolocation?: {
184
179
  country: string;
185
- state?: string | undefined;
186
180
  city?: string | undefined;
181
+ state?: string | undefined;
187
182
  } | undefined;
188
183
  domainPattern?: string | undefined;
189
184
  } | {
@@ -193,24 +188,25 @@ export declare class BrowserBaseBubble<T extends BrowserBaseParamsInput = Browse
193
188
  username?: string | undefined;
194
189
  domainPattern?: string | undefined;
195
190
  })[] | undefined;
196
- }, {
197
- operation: "start_session";
198
- credentials?: Partial<Record<CredentialType, string>> | undefined;
199
191
  stealth?: {
200
- advancedStealth?: boolean | undefined;
201
- solveCaptchas?: boolean | undefined;
192
+ advancedStealth: boolean;
193
+ solveCaptchas: boolean;
202
194
  captchaImageSelector?: string | undefined;
203
195
  captchaInputSelector?: string | undefined;
204
196
  } | undefined;
197
+ timeout_seconds?: number | undefined;
198
+ }, {
199
+ operation: "start_session";
205
200
  cookies?: {
206
- value: string;
207
- path: string;
208
201
  name: string;
202
+ value: string;
209
203
  domain: string;
204
+ path: string;
210
205
  expires: number;
211
206
  httpOnly: boolean;
212
207
  secure: boolean;
213
208
  }[] | undefined;
209
+ credentials?: Partial<Record<CredentialType, string>> | undefined;
214
210
  context_id?: string | undefined;
215
211
  viewport_width?: number | undefined;
216
212
  viewport_height?: number | undefined;
@@ -218,8 +214,8 @@ export declare class BrowserBaseBubble<T extends BrowserBaseParamsInput = Browse
218
214
  type: "browserbase";
219
215
  geolocation?: {
220
216
  country: string;
221
- state?: string | undefined;
222
217
  city?: string | undefined;
218
+ state?: string | undefined;
223
219
  } | undefined;
224
220
  domainPattern?: string | undefined;
225
221
  } | {
@@ -229,6 +225,13 @@ export declare class BrowserBaseBubble<T extends BrowserBaseParamsInput = Browse
229
225
  username?: string | undefined;
230
226
  domainPattern?: string | undefined;
231
227
  })[] | undefined;
228
+ stealth?: {
229
+ advancedStealth?: boolean | undefined;
230
+ solveCaptchas?: boolean | undefined;
231
+ captchaImageSelector?: string | undefined;
232
+ captchaInputSelector?: string | undefined;
233
+ } | undefined;
234
+ timeout_seconds?: number | undefined;
232
235
  }>, import("zod").ZodObject<{
233
236
  operation: import("zod").ZodLiteral<"navigate">;
234
237
  session_id: import("zod").ZodString;
@@ -237,19 +240,19 @@ export declare class BrowserBaseBubble<T extends BrowserBaseParamsInput = Browse
237
240
  timeout: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNumber>>;
238
241
  credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
239
242
  }, "strip", import("zod").ZodTypeAny, {
240
- timeout: number;
241
- url: string;
242
243
  operation: "navigate";
244
+ url: string;
243
245
  session_id: string;
244
246
  wait_until: "load" | "domcontentloaded" | "networkidle0" | "networkidle2";
247
+ timeout: number;
245
248
  credentials?: Partial<Record<CredentialType, string>> | undefined;
246
249
  }, {
247
- url: string;
248
250
  operation: "navigate";
251
+ url: string;
249
252
  session_id: string;
250
253
  credentials?: Partial<Record<CredentialType, string>> | undefined;
251
- timeout?: number | undefined;
252
254
  wait_until?: "load" | "domcontentloaded" | "networkidle0" | "networkidle2" | undefined;
255
+ timeout?: number | undefined;
253
256
  }>, import("zod").ZodObject<{
254
257
  operation: import("zod").ZodLiteral<"click">;
255
258
  session_id: import("zod").ZodString;
@@ -258,9 +261,9 @@ export declare class BrowserBaseBubble<T extends BrowserBaseParamsInput = Browse
258
261
  timeout: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNumber>>;
259
262
  credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
260
263
  }, "strip", import("zod").ZodTypeAny, {
261
- timeout: number;
262
264
  operation: "click";
263
265
  session_id: string;
266
+ timeout: number;
264
267
  selector: string;
265
268
  wait_for_navigation: boolean;
266
269
  credentials?: Partial<Record<CredentialType, string>> | undefined;
@@ -280,35 +283,35 @@ export declare class BrowserBaseBubble<T extends BrowserBaseParamsInput = Browse
280
283
  delay: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNumber>>;
281
284
  credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
282
285
  }, "strip", import("zod").ZodTypeAny, {
283
- text: string;
284
286
  operation: "type";
285
287
  session_id: string;
286
288
  selector: string;
287
- delay: number;
289
+ text: string;
288
290
  clear_first: boolean;
291
+ delay: number;
289
292
  credentials?: Partial<Record<CredentialType, string>> | undefined;
290
293
  }, {
291
- text: string;
292
294
  operation: "type";
293
295
  session_id: string;
294
296
  selector: string;
297
+ text: string;
295
298
  credentials?: Partial<Record<CredentialType, string>> | undefined;
296
- delay?: number | undefined;
297
299
  clear_first?: boolean | undefined;
300
+ delay?: number | undefined;
298
301
  }>, import("zod").ZodObject<{
299
302
  operation: import("zod").ZodLiteral<"evaluate">;
300
303
  session_id: import("zod").ZodString;
301
304
  script: import("zod").ZodString;
302
305
  credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
303
306
  }, "strip", import("zod").ZodTypeAny, {
304
- script: string;
305
307
  operation: "evaluate";
306
308
  session_id: string;
309
+ script: string;
307
310
  credentials?: Partial<Record<CredentialType, string>> | undefined;
308
311
  }, {
309
- script: string;
310
312
  operation: "evaluate";
311
313
  session_id: string;
314
+ script: string;
312
315
  credentials?: Partial<Record<CredentialType, string>> | undefined;
313
316
  }>, import("zod").ZodObject<{
314
317
  operation: import("zod").ZodLiteral<"get_content">;
@@ -342,16 +345,16 @@ export declare class BrowserBaseBubble<T extends BrowserBaseParamsInput = Browse
342
345
  session_id: string;
343
346
  full_page: boolean;
344
347
  credentials?: Partial<Record<CredentialType, string>> | undefined;
345
- quality?: number | undefined;
346
348
  selector?: string | undefined;
349
+ quality?: number | undefined;
347
350
  }, {
348
351
  operation: "screenshot";
349
352
  session_id: string;
350
353
  format?: "png" | "jpeg" | "webp" | undefined;
351
354
  credentials?: Partial<Record<CredentialType, string>> | undefined;
352
- quality?: number | undefined;
353
355
  selector?: string | undefined;
354
356
  full_page?: boolean | undefined;
357
+ quality?: number | undefined;
355
358
  }>, import("zod").ZodObject<{
356
359
  operation: import("zod").ZodLiteral<"wait">;
357
360
  session_id: import("zod").ZodString;
@@ -360,9 +363,9 @@ export declare class BrowserBaseBubble<T extends BrowserBaseParamsInput = Browse
360
363
  timeout: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNumber>>;
361
364
  credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
362
365
  }, "strip", import("zod").ZodTypeAny, {
363
- timeout: number;
364
366
  operation: "wait";
365
367
  session_id: string;
368
+ timeout: number;
366
369
  wait_type: "timeout" | "selector" | "navigation";
367
370
  credentials?: Partial<Record<CredentialType, string>> | undefined;
368
371
  selector?: string | undefined;
@@ -409,18 +412,18 @@ export declare class BrowserBaseBubble<T extends BrowserBaseParamsInput = Browse
409
412
  debug_url: import("zod").ZodOptional<import("zod").ZodString>;
410
413
  error: import("zod").ZodString;
411
414
  }, "strip", import("zod").ZodTypeAny, {
412
- error: string;
413
- success: boolean;
414
415
  operation: "start_session";
415
- session_id?: string | undefined;
416
+ success: boolean;
417
+ error: string;
416
418
  context_id?: string | undefined;
419
+ session_id?: string | undefined;
417
420
  debug_url?: string | undefined;
418
421
  }, {
419
- error: string;
420
- success: boolean;
421
422
  operation: "start_session";
422
- session_id?: string | undefined;
423
+ success: boolean;
424
+ error: string;
423
425
  context_id?: string | undefined;
426
+ session_id?: string | undefined;
424
427
  debug_url?: string | undefined;
425
428
  }>, import("zod").ZodObject<{
426
429
  operation: import("zod").ZodLiteral<"navigate">;
@@ -428,53 +431,53 @@ export declare class BrowserBaseBubble<T extends BrowserBaseParamsInput = Browse
428
431
  url: import("zod").ZodOptional<import("zod").ZodString>;
429
432
  error: import("zod").ZodString;
430
433
  }, "strip", import("zod").ZodTypeAny, {
431
- error: string;
432
- success: boolean;
433
434
  operation: "navigate";
435
+ success: boolean;
436
+ error: string;
434
437
  url?: string | undefined;
435
438
  }, {
436
- error: string;
437
- success: boolean;
438
439
  operation: "navigate";
440
+ success: boolean;
441
+ error: string;
439
442
  url?: string | undefined;
440
443
  }>, import("zod").ZodObject<{
441
444
  operation: import("zod").ZodLiteral<"click">;
442
445
  success: import("zod").ZodBoolean;
443
446
  error: import("zod").ZodString;
444
447
  }, "strip", import("zod").ZodTypeAny, {
445
- error: string;
446
- success: boolean;
447
448
  operation: "click";
448
- }, {
449
- error: string;
450
449
  success: boolean;
450
+ error: string;
451
+ }, {
451
452
  operation: "click";
453
+ success: boolean;
454
+ error: string;
452
455
  }>, import("zod").ZodObject<{
453
456
  operation: import("zod").ZodLiteral<"type">;
454
457
  success: import("zod").ZodBoolean;
455
458
  error: import("zod").ZodString;
456
459
  }, "strip", import("zod").ZodTypeAny, {
457
- error: string;
458
- success: boolean;
459
460
  operation: "type";
460
- }, {
461
- error: string;
462
461
  success: boolean;
462
+ error: string;
463
+ }, {
463
464
  operation: "type";
465
+ success: boolean;
466
+ error: string;
464
467
  }>, import("zod").ZodObject<{
465
468
  operation: import("zod").ZodLiteral<"evaluate">;
466
469
  success: import("zod").ZodBoolean;
467
470
  result: import("zod").ZodOptional<import("zod").ZodUnknown>;
468
471
  error: import("zod").ZodString;
469
472
  }, "strip", import("zod").ZodTypeAny, {
470
- error: string;
471
- success: boolean;
472
473
  operation: "evaluate";
474
+ success: boolean;
475
+ error: string;
473
476
  result?: unknown;
474
477
  }, {
475
- error: string;
476
- success: boolean;
477
478
  operation: "evaluate";
479
+ success: boolean;
480
+ error: string;
478
481
  result?: unknown;
479
482
  }>, import("zod").ZodObject<{
480
483
  operation: import("zod").ZodLiteral<"get_content">;
@@ -482,14 +485,14 @@ export declare class BrowserBaseBubble<T extends BrowserBaseParamsInput = Browse
482
485
  content: import("zod").ZodOptional<import("zod").ZodString>;
483
486
  error: import("zod").ZodString;
484
487
  }, "strip", import("zod").ZodTypeAny, {
485
- error: string;
486
- success: boolean;
487
488
  operation: "get_content";
489
+ success: boolean;
490
+ error: string;
488
491
  content?: string | undefined;
489
492
  }, {
490
- error: string;
491
- success: boolean;
492
493
  operation: "get_content";
494
+ success: boolean;
495
+ error: string;
493
496
  content?: string | undefined;
494
497
  }>, import("zod").ZodObject<{
495
498
  operation: import("zod").ZodLiteral<"screenshot">;
@@ -498,15 +501,15 @@ export declare class BrowserBaseBubble<T extends BrowserBaseParamsInput = Browse
498
501
  format: import("zod").ZodOptional<import("zod").ZodString>;
499
502
  error: import("zod").ZodString;
500
503
  }, "strip", import("zod").ZodTypeAny, {
501
- error: string;
502
- success: boolean;
503
504
  operation: "screenshot";
505
+ success: boolean;
506
+ error: string;
504
507
  format?: string | undefined;
505
508
  data?: string | undefined;
506
509
  }, {
507
- error: string;
508
- success: boolean;
509
510
  operation: "screenshot";
511
+ success: boolean;
512
+ error: string;
510
513
  format?: string | undefined;
511
514
  data?: string | undefined;
512
515
  }>, import("zod").ZodObject<{
@@ -514,13 +517,13 @@ export declare class BrowserBaseBubble<T extends BrowserBaseParamsInput = Browse
514
517
  success: import("zod").ZodBoolean;
515
518
  error: import("zod").ZodString;
516
519
  }, "strip", import("zod").ZodTypeAny, {
517
- error: string;
518
- success: boolean;
519
520
  operation: "wait";
520
- }, {
521
- error: string;
522
521
  success: boolean;
522
+ error: string;
523
+ }, {
523
524
  operation: "wait";
525
+ success: boolean;
526
+ error: string;
524
527
  }>, import("zod").ZodObject<{
525
528
  operation: import("zod").ZodLiteral<"get_cookies">;
526
529
  success: import("zod").ZodBoolean;
@@ -533,45 +536,45 @@ export declare class BrowserBaseBubble<T extends BrowserBaseParamsInput = Browse
533
536
  httpOnly: import("zod").ZodBoolean;
534
537
  secure: import("zod").ZodBoolean;
535
538
  }, "strip", import("zod").ZodTypeAny, {
536
- value: string;
537
- path: string;
538
539
  name: string;
540
+ value: string;
539
541
  domain: string;
542
+ path: string;
540
543
  expires: number;
541
544
  httpOnly: boolean;
542
545
  secure: boolean;
543
546
  }, {
544
- value: string;
545
- path: string;
546
547
  name: string;
548
+ value: string;
547
549
  domain: string;
550
+ path: string;
548
551
  expires: number;
549
552
  httpOnly: boolean;
550
553
  secure: boolean;
551
554
  }>, "many">>;
552
555
  error: import("zod").ZodString;
553
556
  }, "strip", import("zod").ZodTypeAny, {
554
- error: string;
555
- success: boolean;
556
557
  operation: "get_cookies";
558
+ success: boolean;
559
+ error: string;
557
560
  cookies?: {
558
- value: string;
559
- path: string;
560
561
  name: string;
562
+ value: string;
561
563
  domain: string;
564
+ path: string;
562
565
  expires: number;
563
566
  httpOnly: boolean;
564
567
  secure: boolean;
565
568
  }[] | undefined;
566
569
  }, {
567
- error: string;
568
- success: boolean;
569
570
  operation: "get_cookies";
571
+ success: boolean;
572
+ error: string;
570
573
  cookies?: {
571
- value: string;
572
- path: string;
573
574
  name: string;
575
+ value: string;
574
576
  domain: string;
577
+ path: string;
575
578
  expires: number;
576
579
  httpOnly: boolean;
577
580
  secure: boolean;
@@ -581,13 +584,13 @@ export declare class BrowserBaseBubble<T extends BrowserBaseParamsInput = Browse
581
584
  success: import("zod").ZodBoolean;
582
585
  error: import("zod").ZodString;
583
586
  }, "strip", import("zod").ZodTypeAny, {
584
- error: string;
585
- success: boolean;
586
587
  operation: "end_session";
587
- }, {
588
- error: string;
589
588
  success: boolean;
589
+ error: string;
590
+ }, {
590
591
  operation: "end_session";
592
+ success: boolean;
593
+ error: string;
591
594
  }>]>;
592
595
  static readonly shortDescription = "Browser automation service using BrowserBase cloud browsers";
593
596
  static readonly longDescription = "\n BrowserBase service integration for cloud-based browser automation.\n\n Features:\n - Cloud-based browser sessions\n - Session persistence via context IDs\n - Cookie injection for authenticated sessions\n - Full page automation (click, type, evaluate)\n - Screenshot and content extraction\n - Stealth mode for anti-bot avoidance\n - Automatic CAPTCHA solving\n - Built-in and custom proxy support\n\n Stealth Mode Options:\n - Basic Stealth: Automatic browser fingerprint randomization (default)\n - Advanced Stealth: Custom Chromium browser for better anti-bot avoidance (Scale Plan only)\n - CAPTCHA Solving: Automatic detection and solving (enabled by default, can be disabled)\n - Custom CAPTCHA selectors: For non-standard CAPTCHA providers\n\n Proxy Options:\n - Built-in proxies: Set proxies=true for residential proxies with geolocation\n - Geolocation: Specify city, state (US only), and country for proxy location\n - Custom proxies: Use your own HTTP/HTTPS proxies with authentication\n - Routing rules: Route different domains through different proxies using domainPattern\n\n Use cases:\n - Automated shopping workflows (Amazon, etc.)\n - Web scraping with authentication\n - Form automation and submission\n - Browser-based testing\n\n Security Features:\n - Sessions are isolated in BrowserBase cloud\n - Credentials are handled securely\n - Sessions are properly closed and cleaned up\n ";
@@ -607,6 +610,10 @@ export declare class BrowserBaseBubble<T extends BrowserBaseParamsInput = Browse
607
610
  * Credential is base64-encoded JSON to avoid escaping issues
608
611
  */
609
612
  private parseBrowserSessionCredential;
613
+ /**
614
+ * Normalize proxy server to valid URL (BrowserBase requires http/https)
615
+ */
616
+ private normalizeProxyServer;
610
617
  /**
611
618
  * Build proxy configuration for BrowserBase API
612
619
  * Converts our schema format to the API format
@@ -1 +1 @@
1
- {"version":3,"file":"browserbase.d.ts","sourceRoot":"","sources":["../../../../src/bubbles/service-bubble/browserbase/browserbase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browserbase.d.ts","sourceRoot":"","sources":["../../../../src/bubbles/service-bubble/browserbase/browserbase.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import puppeteer from 'puppeteer-core';
2
2
  import { ServiceBubble } from '../../../types/service-bubble-class.js';
3
- import { CredentialType } from '@bubblelab/shared-schemas';
3
+ import { CredentialType, BROWSER_SESSION_PROVIDERS, } from '@bubblelab/shared-schemas';
4
4
  import { BrowserBaseParamsSchema, BrowserBaseResultSchema, BrowserSessionDataSchema, } from './browserbase.schema.js';
5
5
  /**
6
6
  * BrowserBase Service Bubble
@@ -152,6 +152,13 @@ export class BrowserBaseBubble extends ServiceBubble {
152
152
  return null;
153
153
  }
154
154
  }
155
+ /**
156
+ * Normalize proxy server to valid URL (BrowserBase requires http/https)
157
+ */
158
+ normalizeProxyServer(server) {
159
+ const s = server.trim();
160
+ return /^https?:\/\//i.test(s) ? s : `http://${s}`;
161
+ }
155
162
  /**
156
163
  * Build proxy configuration for BrowserBase API
157
164
  * Converts our schema format to the API format
@@ -181,7 +188,7 @@ export class BrowserBaseBubble extends ServiceBubble {
181
188
  // External proxy
182
189
  const config = {
183
190
  type: 'external',
184
- server: proxy.server,
191
+ server: this.normalizeProxyServer(proxy.server),
185
192
  };
186
193
  if (proxy.username) {
187
194
  config.username = proxy.username;
@@ -316,10 +323,52 @@ export class BrowserBaseBubble extends ServiceBubble {
316
323
  projectId: config.projectId,
317
324
  browserSettings,
318
325
  };
319
- // Apply proxy configuration
326
+ // Apply session timeout (BrowserBase: top-level, 60-21600 seconds)
327
+ if (params.timeout_seconds !== undefined) {
328
+ sessionRequestBody.timeout = params.timeout_seconds;
329
+ }
330
+ // Apply proxy configuration: params.proxies > embedded proxy in session credential
320
331
  if (params.proxies) {
321
332
  sessionRequestBody.proxies = this.buildProxyConfig(params.proxies);
322
333
  }
334
+ else if (params.credentials) {
335
+ // Check embedded proxy in session credentials (browser session types from BROWSER_SESSION_PROVIDERS)
336
+ const sessionCredTypes = Object.keys(BROWSER_SESSION_PROVIDERS.browserbase.credentialTypes);
337
+ for (const credType of sessionCredTypes) {
338
+ const credValue = params.credentials[credType];
339
+ if (credValue) {
340
+ const sessionData = this.parseBrowserSessionCredential(credValue);
341
+ if (sessionData?.proxy?.server) {
342
+ const proxyConfig = {
343
+ type: 'external',
344
+ server: this.normalizeProxyServer(sessionData.proxy.server),
345
+ };
346
+ if (sessionData.proxy.username) {
347
+ proxyConfig.username = sessionData.proxy.username;
348
+ }
349
+ if (sessionData.proxy.password) {
350
+ proxyConfig.password = sessionData.proxy.password;
351
+ }
352
+ sessionRequestBody.proxies = [proxyConfig];
353
+ console.log(`[BrowserBaseBubble] Using embedded proxy from ${credType}`);
354
+ break;
355
+ }
356
+ }
357
+ }
358
+ }
359
+ // Log proxy config when present (helps verify proxies are properly received)
360
+ if (sessionRequestBody.proxies) {
361
+ const proxiesForLog = sessionRequestBody.proxies === true
362
+ ? 'built-in (proxies: true)'
363
+ : Array.isArray(sessionRequestBody.proxies)
364
+ ? sessionRequestBody.proxies
365
+ .map((p) => p.type === 'browserbase'
366
+ ? 'browserbase'
367
+ : `external ${p.server ?? '?'}`)
368
+ .join(', ')
369
+ : String(sessionRequestBody.proxies);
370
+ console.log(`[BrowserBaseBubble] Proxies received for session: ${proxiesForLog}`);
371
+ }
323
372
  // Create session with context, stealth, and proxy settings
324
373
  const sessionResponse = await this.browserbaseApi('/sessions', 'POST', sessionRequestBody);
325
374
  const sessionId = sessionResponse.id;
@@ -335,6 +384,20 @@ export class BrowserBaseBubble extends ServiceBubble {
335
384
  });
336
385
  const pages = await browser.pages();
337
386
  const page = pages[0] || (await browser.newPage());
387
+ // Log exit IP when using proxies (helps verify proxy routing)
388
+ if (sessionRequestBody.proxies) {
389
+ try {
390
+ const ip = await page.evaluate(async () => {
391
+ const res = await fetch('https://api.ipify.org?format=json');
392
+ const json = await res.json();
393
+ return json.ip;
394
+ });
395
+ console.log(`[BrowserBaseBubble] Session ${sessionId} exit IP: ${ip}`);
396
+ }
397
+ catch (e) {
398
+ console.warn('[BrowserBaseBubble] Failed to fetch exit IP for session:', e);
399
+ }
400
+ }
338
401
  // Only inject cookies if we created a new context (no existing contextId from param or credential)
339
402
  // When contextId exists, BrowserBase context handles cookie persistence automatically
340
403
  if (!hasExistingContext &&