@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.
- package/dist/bubble-bundle.d.ts +189 -126
- package/dist/bubble-factory.d.ts.map +1 -1
- package/dist/bubble-factory.js +9 -1
- package/dist/bubble-factory.js.map +1 -1
- package/dist/bubbles/service-bubble/agi-inc.d.ts +128 -128
- package/dist/bubbles/service-bubble/ai-agent.d.ts +82 -82
- package/dist/bubbles/service-bubble/airtable.d.ts +194 -194
- package/dist/bubbles/service-bubble/apify/actors/instagram-hashtag-scraper.d.ts +2 -2
- package/dist/bubbles/service-bubble/apify/actors/instagram-scraper.d.ts +8 -8
- package/dist/bubbles/service-bubble/apify/actors/linkedin-jobs-scraper.d.ts +2 -2
- package/dist/bubbles/service-bubble/apify/actors/linkedin-posts-search.d.ts +22 -22
- package/dist/bubbles/service-bubble/apify/actors/linkedin-profile-detail.d.ts +38 -38
- package/dist/bubbles/service-bubble/apify/actors/linkedin-profile-posts.d.ts +52 -52
- package/dist/bubbles/service-bubble/apify/actors/tiktok-scraper.d.ts +6 -6
- package/dist/bubbles/service-bubble/apify/actors/twitter-scraper.d.ts +12 -12
- package/dist/bubbles/service-bubble/apify/actors/youtube-scraper.d.ts +12 -12
- package/dist/bubbles/service-bubble/apify/apify-scraper.schema.d.ts +126 -126
- package/dist/bubbles/service-bubble/apify/apify.d.ts +28 -28
- package/dist/bubbles/service-bubble/ashby/ashby.d.ts +74 -74
- package/dist/bubbles/service-bubble/ashby/ashby.schema.d.ts +2 -2
- package/dist/bubbles/service-bubble/browserbase/browserbase.d.ts +97 -90
- package/dist/bubbles/service-bubble/browserbase/browserbase.d.ts.map +1 -1
- package/dist/bubbles/service-bubble/browserbase/browserbase.js +66 -3
- package/dist/bubbles/service-bubble/browserbase/browserbase.js.map +1 -1
- package/dist/bubbles/service-bubble/browserbase/browserbase.schema.d.ts +44 -1
- package/dist/bubbles/service-bubble/browserbase/browserbase.schema.d.ts.map +1 -1
- package/dist/bubbles/service-bubble/browserbase/browserbase.schema.js +19 -0
- package/dist/bubbles/service-bubble/browserbase/browserbase.schema.js.map +1 -1
- package/dist/bubbles/service-bubble/confluence/confluence.d.ts +43 -43
- package/dist/bubbles/service-bubble/crustdata/crustdata.d.ts +96 -96
- package/dist/bubbles/service-bubble/eleven-labs.d.ts +48 -48
- package/dist/bubbles/service-bubble/firecrawl.d.ts +542 -542
- package/dist/bubbles/service-bubble/followupboss.d.ts +308 -308
- package/dist/bubbles/service-bubble/fullenrich/fullenrich.d.ts +88 -88
- package/dist/bubbles/service-bubble/github.d.ts +136 -136
- package/dist/bubbles/service-bubble/gmail.d.ts +344 -344
- package/dist/bubbles/service-bubble/google-calendar.d.ts +152 -152
- package/dist/bubbles/service-bubble/google-drive.d.ts +136 -136
- package/dist/bubbles/service-bubble/google-sheets/google-sheets.d.ts +44 -44
- package/dist/bubbles/service-bubble/hello-world.d.ts +6 -6
- package/dist/bubbles/service-bubble/http.d.ts +10 -10
- package/dist/bubbles/service-bubble/insforge-db.d.ts +12 -12
- package/dist/bubbles/service-bubble/jira/jira.d.ts +86 -86
- package/dist/bubbles/service-bubble/jira/jira.schema.d.ts +36 -36
- package/dist/bubbles/service-bubble/notion/notion.d.ts +1438 -1438
- package/dist/bubbles/service-bubble/notion/property-schemas.d.ts +8 -8
- package/dist/bubbles/service-bubble/postgresql.d.ts +12 -12
- package/dist/bubbles/service-bubble/resend.d.ts +28 -28
- package/dist/bubbles/service-bubble/salesforce/index.d.ts +4 -0
- package/dist/bubbles/service-bubble/salesforce/index.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/salesforce/index.js +4 -0
- package/dist/bubbles/service-bubble/salesforce/index.js.map +1 -0
- package/dist/bubbles/service-bubble/salesforce/salesforce.d.ts +1331 -0
- package/dist/bubbles/service-bubble/salesforce/salesforce.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/salesforce/salesforce.js +618 -0
- package/dist/bubbles/service-bubble/salesforce/salesforce.js.map +1 -0
- package/dist/bubbles/service-bubble/salesforce/salesforce.schema.d.ts +1445 -0
- package/dist/bubbles/service-bubble/salesforce/salesforce.schema.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/salesforce/salesforce.schema.js +609 -0
- package/dist/bubbles/service-bubble/salesforce/salesforce.schema.js.map +1 -0
- package/dist/bubbles/service-bubble/salesforce/salesforce.utils.d.ts +87 -0
- package/dist/bubbles/service-bubble/salesforce/salesforce.utils.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/salesforce/salesforce.utils.js +181 -0
- package/dist/bubbles/service-bubble/salesforce/salesforce.utils.js.map +1 -0
- package/dist/bubbles/service-bubble/slack/slack.d.ts +444 -444
- package/dist/bubbles/service-bubble/storage.d.ts +40 -40
- package/dist/bubbles/service-bubble/stripe/stripe.d.ts +111 -111
- package/dist/bubbles/service-bubble/stripe/stripe.schema.d.ts +28 -28
- package/dist/bubbles/service-bubble/telegram.d.ts +116 -116
- package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.d.ts +32 -32
- package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.schema.d.ts +8 -8
- package/dist/bubbles/tool-bubble/browser-tools/_shared/schema.d.ts +126 -0
- package/dist/bubbles/tool-bubble/browser-tools/_shared/schema.d.ts.map +1 -0
- package/dist/bubbles/tool-bubble/browser-tools/_shared/schema.js +34 -0
- package/dist/bubbles/tool-bubble/browser-tools/_shared/schema.js.map +1 -0
- package/dist/bubbles/tool-bubble/browser-tools/_shared/utils.d.ts +22 -0
- package/dist/bubbles/tool-bubble/browser-tools/_shared/utils.d.ts.map +1 -0
- package/dist/bubbles/tool-bubble/browser-tools/_shared/utils.js +57 -0
- package/dist/bubbles/tool-bubble/browser-tools/_shared/utils.js.map +1 -0
- package/dist/bubbles/tool-bubble/browser-tools/index.d.ts +5 -0
- package/dist/bubbles/tool-bubble/browser-tools/index.d.ts.map +1 -0
- package/dist/bubbles/tool-bubble/browser-tools/index.js +5 -0
- package/dist/bubbles/tool-bubble/browser-tools/index.js.map +1 -0
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-accept-invitations/index.d.ts +3 -0
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-accept-invitations/index.d.ts.map +1 -0
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-accept-invitations/index.js +3 -0
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-accept-invitations/index.js.map +1 -0
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-accept-invitations/schema.d.ts +158 -0
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-accept-invitations/schema.d.ts.map +1 -0
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-accept-invitations/schema.js +31 -0
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-accept-invitations/schema.js.map +1 -0
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-accept-invitations/tool.d.ts +161 -0
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-accept-invitations/tool.d.ts.map +1 -0
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-accept-invitations/tool.js +310 -0
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-accept-invitations/tool.js.map +1 -0
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-connection/index.d.ts +3 -0
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-connection/index.d.ts.map +1 -0
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-connection/index.js +3 -0
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-connection/index.js.map +1 -0
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-connection/schema.d.ts +165 -0
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-connection/schema.d.ts.map +1 -0
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-connection/schema.js +45 -0
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-connection/schema.js.map +1 -0
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-connection/tool.d.ts +171 -0
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-connection/tool.d.ts.map +1 -0
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-connection/tool.js +364 -0
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-connection/tool.js.map +1 -0
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-received-invitations/index.d.ts +3 -0
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-received-invitations/index.d.ts.map +1 -0
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-received-invitations/index.js +3 -0
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-received-invitations/index.js.map +1 -0
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-received-invitations/schema.d.ts +160 -0
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-received-invitations/schema.d.ts.map +1 -0
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-received-invitations/schema.js +24 -0
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-received-invitations/schema.js.map +1 -0
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-received-invitations/tool.d.ts +160 -0
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-received-invitations/tool.d.ts.map +1 -0
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-received-invitations/tool.js +334 -0
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-received-invitations/tool.js.map +1 -0
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-sent-invitations/index.d.ts +3 -0
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-sent-invitations/index.d.ts.map +1 -0
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-sent-invitations/index.js +3 -0
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-sent-invitations/index.js.map +1 -0
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-sent-invitations/schema.d.ts +152 -0
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-sent-invitations/schema.d.ts.map +1 -0
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-sent-invitations/schema.js +23 -0
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-sent-invitations/schema.js.map +1 -0
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-sent-invitations/tool.d.ts +155 -0
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-sent-invitations/tool.d.ts.map +1 -0
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-sent-invitations/tool.js +233 -0
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-sent-invitations/tool.js.map +1 -0
- package/dist/bubbles/tool-bubble/bubbleflow-validation-tool.d.ts +12 -12
- package/dist/bubbles/tool-bubble/chart-js-tool.d.ts +4 -4
- package/dist/bubbles/tool-bubble/code-edit-tool.d.ts +4 -4
- package/dist/bubbles/tool-bubble/company-enrichment-tool.d.ts +52 -52
- package/dist/bubbles/tool-bubble/get-bubble-details-tool.d.ts +4 -4
- package/dist/bubbles/tool-bubble/get-trigger-detail-tool.d.ts +4 -4
- package/dist/bubbles/tool-bubble/google-maps-tool.d.ts +20 -20
- package/dist/bubbles/tool-bubble/instagram-tool.d.ts +8 -8
- package/dist/bubbles/tool-bubble/linkedin-connection-tool/linkedin-connection-tool.d.ts +8 -8
- package/dist/bubbles/tool-bubble/linkedin-tool.d.ts +470 -470
- package/dist/bubbles/tool-bubble/list-airtable-bases-tool.d.ts +4 -4
- package/dist/bubbles/tool-bubble/list-airtable-tables-tool.d.ts +16 -16
- package/dist/bubbles/tool-bubble/list-bubbles-tool.d.ts +12 -12
- package/dist/bubbles/tool-bubble/list-capabilities-tool.d.ts +44 -44
- package/dist/bubbles/tool-bubble/people-search-tool.d.ts +56 -56
- package/dist/bubbles/tool-bubble/reddit-scrape-tool.d.ts +14 -14
- package/dist/bubbles/tool-bubble/research-agent-tool.d.ts +4 -4
- package/dist/bubbles/tool-bubble/sql-query-tool.d.ts +8 -8
- package/dist/bubbles/tool-bubble/tiktok-tool.d.ts +68 -68
- package/dist/bubbles/tool-bubble/tool-template.d.ts +4 -4
- package/dist/bubbles/tool-bubble/twitter-tool.d.ts +132 -132
- package/dist/bubbles/tool-bubble/web-crawl-tool.d.ts +8 -8
- package/dist/bubbles/tool-bubble/web-extract-tool.d.ts +8 -8
- package/dist/bubbles/tool-bubble/web-scrape-tool.d.ts +8 -8
- package/dist/bubbles/tool-bubble/web-search-tool.d.ts +6 -6
- package/dist/bubbles/tool-bubble/yc-scraper-tool.d.ts +40 -40
- package/dist/bubbles/tool-bubble/youtube-tool.d.ts +18 -18
- package/dist/bubbles/workflow-bubble/database-analyzer.workflow.d.ts +4 -4
- package/dist/bubbles/workflow-bubble/generate-document.workflow.d.ts +24 -24
- package/dist/bubbles/workflow-bubble/parse-document.workflow.d.ts +4 -4
- package/dist/bubbles/workflow-bubble/pdf-form-operations.workflow.d.ts +76 -76
- package/dist/bubbles/workflow-bubble/pdf-ocr.workflow.d.ts +24 -24
- package/dist/bubbles/workflow-bubble/slack-data-assistant.workflow.d.ts +4 -4
- package/dist/bubbles/workflow-bubble/slack-formatter-agent.d.ts +36 -36
- package/dist/bubbles/workflow-bubble/slack-notifier.workflow.d.ts +4 -4
- package/dist/bubbles.json +668 -70
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- 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
|
|
201
|
-
solveCaptchas
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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":"AAAA,OAAkB,EAAE,KAAK,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,
|
|
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
|
|
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 &&
|