@bubblelab/bubble-core 0.1.45 → 0.1.46

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 (44) hide show
  1. package/dist/bubble-bundle.d.ts +63 -63
  2. package/dist/bubbles/service-bubble/agi-inc.d.ts +24 -24
  3. package/dist/bubbles/service-bubble/ai-agent.d.ts +24 -24
  4. package/dist/bubbles/service-bubble/airtable.d.ts +28 -28
  5. package/dist/bubbles/service-bubble/apify/apify.d.ts +10 -10
  6. package/dist/bubbles/service-bubble/ashby/ashby.d.ts +48 -48
  7. package/dist/bubbles/service-bubble/browserbase/browserbase.d.ts +21 -20
  8. package/dist/bubbles/service-bubble/browserbase/browserbase.d.ts.map +1 -1
  9. package/dist/bubbles/service-bubble/browserbase/browserbase.js +29 -8
  10. package/dist/bubbles/service-bubble/browserbase/browserbase.js.map +1 -1
  11. package/dist/bubbles/service-bubble/crustdata/crustdata.d.ts +16 -16
  12. package/dist/bubbles/service-bubble/eleven-labs.d.ts +4 -4
  13. package/dist/bubbles/service-bubble/firecrawl.d.ts +428 -428
  14. package/dist/bubbles/service-bubble/followupboss.d.ts +256 -256
  15. package/dist/bubbles/service-bubble/fullenrich/fullenrich.d.ts +236 -236
  16. package/dist/bubbles/service-bubble/github.d.ts +64 -64
  17. package/dist/bubbles/service-bubble/gmail.d.ts +478 -478
  18. package/dist/bubbles/service-bubble/google-calendar.d.ts +6 -6
  19. package/dist/bubbles/service-bubble/google-drive.d.ts +32 -32
  20. package/dist/bubbles/service-bubble/google-sheets/google-sheets.d.ts +10 -10
  21. package/dist/bubbles/service-bubble/http.d.ts +12 -12
  22. package/dist/bubbles/service-bubble/insforge-db.d.ts +12 -12
  23. package/dist/bubbles/service-bubble/jira/jira.d.ts +10 -10
  24. package/dist/bubbles/service-bubble/notion/notion.d.ts +80 -80
  25. package/dist/bubbles/service-bubble/postgresql.d.ts +12 -12
  26. package/dist/bubbles/service-bubble/resend.d.ts +8 -8
  27. package/dist/bubbles/service-bubble/slack/slack.d.ts +248 -248
  28. package/dist/bubbles/service-bubble/storage.d.ts +20 -20
  29. package/dist/bubbles/service-bubble/telegram.d.ts +2 -2
  30. package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.d.ts +5 -5
  31. package/dist/bubbles/tool-bubble/company-enrichment-tool.d.ts +70 -70
  32. package/dist/bubbles/tool-bubble/google-maps-tool.d.ts +4 -4
  33. package/dist/bubbles/tool-bubble/linkedin-connection-tool/linkedin-connection-tool.d.ts +4 -4
  34. package/dist/bubbles/tool-bubble/linkedin-tool.d.ts +348 -348
  35. package/dist/bubbles/tool-bubble/people-search-tool.d.ts +42 -42
  36. package/dist/bubbles/tool-bubble/sql-query-tool.d.ts +4 -4
  37. package/dist/bubbles/tool-bubble/tiktok-tool.d.ts +60 -60
  38. package/dist/bubbles/tool-bubble/twitter-tool.d.ts +90 -90
  39. package/dist/bubbles/tool-bubble/web-search-tool.d.ts +6 -6
  40. package/dist/bubbles/workflow-bubble/generate-document.workflow.d.ts +12 -12
  41. package/dist/bubbles/workflow-bubble/pdf-form-operations.workflow.d.ts +28 -28
  42. package/dist/bubbles/workflow-bubble/slack-formatter-agent.d.ts +8 -8
  43. package/dist/bubbles.json +1 -1
  44. package/package.json +2 -2
@@ -23,8 +23,8 @@ declare const ApifyParamsSchema: z.ZodObject<{
23
23
  timeout: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
24
24
  credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>;
25
25
  }, "strip", z.ZodTypeAny, {
26
- input: Record<string, unknown>;
27
26
  timeout: number;
27
+ input: Record<string, unknown>;
28
28
  limit: number;
29
29
  waitForFinish: boolean;
30
30
  search?: string | undefined;
@@ -70,22 +70,22 @@ declare const ApifyResultSchema: z.ZodObject<{
70
70
  id: string;
71
71
  inputSchemaUrl: string;
72
72
  description?: string | null | undefined;
73
+ stars?: number | null | undefined;
73
74
  usage?: {
74
75
  totalRuns?: number | undefined;
75
76
  usersCount?: number | undefined;
76
77
  } | null | undefined;
77
- stars?: number | null | undefined;
78
78
  requiresRental?: boolean | undefined;
79
79
  }, {
80
80
  name: string;
81
81
  id: string;
82
82
  inputSchemaUrl: string;
83
83
  description?: string | null | undefined;
84
+ stars?: number | null | undefined;
84
85
  usage?: {
85
86
  totalRuns?: number | undefined;
86
87
  usersCount?: number | undefined;
87
88
  } | null | undefined;
88
- stars?: number | null | undefined;
89
89
  requiresRental?: boolean | undefined;
90
90
  }>, "many">>;
91
91
  }, "strip", z.ZodTypeAny, {
@@ -102,11 +102,11 @@ declare const ApifyResultSchema: z.ZodObject<{
102
102
  id: string;
103
103
  inputSchemaUrl: string;
104
104
  description?: string | null | undefined;
105
+ stars?: number | null | undefined;
105
106
  usage?: {
106
107
  totalRuns?: number | undefined;
107
108
  usersCount?: number | undefined;
108
109
  } | null | undefined;
109
- stars?: number | null | undefined;
110
110
  requiresRental?: boolean | undefined;
111
111
  }[] | undefined;
112
112
  }, {
@@ -123,11 +123,11 @@ declare const ApifyResultSchema: z.ZodObject<{
123
123
  id: string;
124
124
  inputSchemaUrl: string;
125
125
  description?: string | null | undefined;
126
+ stars?: number | null | undefined;
126
127
  usage?: {
127
128
  totalRuns?: number | undefined;
128
129
  usersCount?: number | undefined;
129
130
  } | null | undefined;
130
- stars?: number | null | undefined;
131
131
  requiresRental?: boolean | undefined;
132
132
  }[] | undefined;
133
133
  }>;
@@ -159,8 +159,8 @@ export declare class ApifyBubble<T extends string = string> extends ServiceBubbl
159
159
  timeout: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
160
160
  credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>;
161
161
  }, "strip", z.ZodTypeAny, {
162
- input: Record<string, unknown>;
163
162
  timeout: number;
163
+ input: Record<string, unknown>;
164
164
  limit: number;
165
165
  waitForFinish: boolean;
166
166
  search?: string | undefined;
@@ -206,22 +206,22 @@ export declare class ApifyBubble<T extends string = string> extends ServiceBubbl
206
206
  id: string;
207
207
  inputSchemaUrl: string;
208
208
  description?: string | null | undefined;
209
+ stars?: number | null | undefined;
209
210
  usage?: {
210
211
  totalRuns?: number | undefined;
211
212
  usersCount?: number | undefined;
212
213
  } | null | undefined;
213
- stars?: number | null | undefined;
214
214
  requiresRental?: boolean | undefined;
215
215
  }, {
216
216
  name: string;
217
217
  id: string;
218
218
  inputSchemaUrl: string;
219
219
  description?: string | null | undefined;
220
+ stars?: number | null | undefined;
220
221
  usage?: {
221
222
  totalRuns?: number | undefined;
222
223
  usersCount?: number | undefined;
223
224
  } | null | undefined;
224
- stars?: number | null | undefined;
225
225
  requiresRental?: boolean | undefined;
226
226
  }>, "many">>;
227
227
  }, "strip", z.ZodTypeAny, {
@@ -238,11 +238,11 @@ export declare class ApifyBubble<T extends string = string> extends ServiceBubbl
238
238
  id: string;
239
239
  inputSchemaUrl: string;
240
240
  description?: string | null | undefined;
241
+ stars?: number | null | undefined;
241
242
  usage?: {
242
243
  totalRuns?: number | undefined;
243
244
  usersCount?: number | undefined;
244
245
  } | null | undefined;
245
- stars?: number | null | undefined;
246
246
  requiresRental?: boolean | undefined;
247
247
  }[] | undefined;
248
248
  }, {
@@ -259,11 +259,11 @@ export declare class ApifyBubble<T extends string = string> extends ServiceBubbl
259
259
  id: string;
260
260
  inputSchemaUrl: string;
261
261
  description?: string | null | undefined;
262
+ stars?: number | null | undefined;
262
263
  usage?: {
263
264
  totalRuns?: number | undefined;
264
265
  usersCount?: number | undefined;
265
266
  } | null | undefined;
266
- stars?: number | null | undefined;
267
267
  requiresRental?: boolean | undefined;
268
268
  }[] | undefined;
269
269
  }>;
@@ -105,14 +105,14 @@ export declare class AshbyBubble<T extends AshbyParamsInput = AshbyParamsInput>
105
105
  }, "strip", import("zod").ZodTypeAny, {
106
106
  operation: "create_candidate";
107
107
  name: string;
108
- linkedin_url?: string | undefined;
109
108
  credentials?: Partial<Record<CredentialType, string>> | undefined;
109
+ website?: string | undefined;
110
110
  emails?: {
111
111
  type: "Personal" | "Work" | "Other";
112
112
  email: string;
113
113
  }[] | undefined;
114
- website?: string | undefined;
115
114
  phone_number?: string | undefined;
115
+ linkedin_url?: string | undefined;
116
116
  github_url?: string | undefined;
117
117
  source_id?: string | undefined;
118
118
  credited_to_user_id?: string | undefined;
@@ -120,14 +120,14 @@ export declare class AshbyBubble<T extends AshbyParamsInput = AshbyParamsInput>
120
120
  }, {
121
121
  operation: "create_candidate";
122
122
  name: string;
123
- linkedin_url?: string | undefined;
124
123
  credentials?: Partial<Record<CredentialType, string>> | undefined;
124
+ website?: string | undefined;
125
125
  emails?: {
126
126
  type: "Personal" | "Work" | "Other";
127
127
  email: string;
128
128
  }[] | undefined;
129
- website?: string | undefined;
130
129
  phone_number?: string | undefined;
130
+ linkedin_url?: string | undefined;
131
131
  github_url?: string | undefined;
132
132
  source_id?: string | undefined;
133
133
  credited_to_user_id?: string | undefined;
@@ -337,7 +337,6 @@ export declare class AshbyBubble<T extends AshbyParamsInput = AshbyParamsInput>
337
337
  }, "strip", import("zod").ZodTypeAny, {
338
338
  name: string;
339
339
  id: string;
340
- company?: string | null | undefined;
341
340
  tags?: {
342
341
  title: string;
343
342
  id: string;
@@ -350,22 +349,16 @@ export declare class AshbyBubble<T extends AshbyParamsInput = AshbyParamsInput>
350
349
  type: "Personal" | "Work" | "Other";
351
350
  isPrimary: boolean;
352
351
  } | null | undefined;
353
- primaryPhoneNumber?: {
352
+ emailAddresses?: {
354
353
  value: string;
355
354
  type: "Personal" | "Work" | "Other";
356
355
  isPrimary: boolean;
357
- } | null | undefined;
358
- customFields?: {
359
- title: string;
360
- id: string;
361
- value?: unknown;
362
- isPrivate?: boolean | undefined;
363
356
  }[] | undefined;
364
- emailAddresses?: {
357
+ primaryPhoneNumber?: {
365
358
  value: string;
366
359
  type: "Personal" | "Work" | "Other";
367
360
  isPrimary: boolean;
368
- }[] | undefined;
361
+ } | null | undefined;
369
362
  phoneNumbers?: {
370
363
  value: string;
371
364
  type: "Personal" | "Work" | "Other";
@@ -376,6 +369,7 @@ export declare class AshbyBubble<T extends AshbyParamsInput = AshbyParamsInput>
376
369
  url: string;
377
370
  }[] | undefined;
378
371
  position?: string | null | undefined;
372
+ company?: string | null | undefined;
379
373
  school?: string | null | undefined;
380
374
  applicationIds?: string[] | undefined;
381
375
  resumeFileHandle?: {
@@ -388,10 +382,15 @@ export declare class AshbyBubble<T extends AshbyParamsInput = AshbyParamsInput>
388
382
  id: string;
389
383
  handle: string;
390
384
  }[] | undefined;
385
+ customFields?: {
386
+ title: string;
387
+ id: string;
388
+ value?: unknown;
389
+ isPrivate?: boolean | undefined;
390
+ }[] | undefined;
391
391
  }, {
392
392
  name: string;
393
393
  id: string;
394
- company?: string | null | undefined;
395
394
  tags?: {
396
395
  title: string;
397
396
  id: string;
@@ -404,22 +403,16 @@ export declare class AshbyBubble<T extends AshbyParamsInput = AshbyParamsInput>
404
403
  type: "Personal" | "Work" | "Other";
405
404
  isPrimary: boolean;
406
405
  } | null | undefined;
407
- primaryPhoneNumber?: {
406
+ emailAddresses?: {
408
407
  value: string;
409
408
  type: "Personal" | "Work" | "Other";
410
409
  isPrimary: boolean;
411
- } | null | undefined;
412
- customFields?: {
413
- title: string;
414
- id: string;
415
- value?: unknown;
416
- isPrivate?: boolean | undefined;
417
410
  }[] | undefined;
418
- emailAddresses?: {
411
+ primaryPhoneNumber?: {
419
412
  value: string;
420
413
  type: "Personal" | "Work" | "Other";
421
414
  isPrimary: boolean;
422
- }[] | undefined;
415
+ } | null | undefined;
423
416
  phoneNumbers?: {
424
417
  value: string;
425
418
  type: "Personal" | "Work" | "Other";
@@ -430,6 +423,7 @@ export declare class AshbyBubble<T extends AshbyParamsInput = AshbyParamsInput>
430
423
  url: string;
431
424
  }[] | undefined;
432
425
  position?: string | null | undefined;
426
+ company?: string | null | undefined;
433
427
  school?: string | null | undefined;
434
428
  applicationIds?: string[] | undefined;
435
429
  resumeFileHandle?: {
@@ -442,6 +436,12 @@ export declare class AshbyBubble<T extends AshbyParamsInput = AshbyParamsInput>
442
436
  id: string;
443
437
  handle: string;
444
438
  }[] | undefined;
439
+ customFields?: {
440
+ title: string;
441
+ id: string;
442
+ value?: unknown;
443
+ isPrivate?: boolean | undefined;
444
+ }[] | undefined;
445
445
  }>, "many">>;
446
446
  next_cursor: import("zod").ZodOptional<import("zod").ZodString>;
447
447
  more_data_available: import("zod").ZodOptional<import("zod").ZodBoolean>;
@@ -456,7 +456,6 @@ export declare class AshbyBubble<T extends AshbyParamsInput = AshbyParamsInput>
456
456
  candidates?: {
457
457
  name: string;
458
458
  id: string;
459
- company?: string | null | undefined;
460
459
  tags?: {
461
460
  title: string;
462
461
  id: string;
@@ -469,22 +468,16 @@ export declare class AshbyBubble<T extends AshbyParamsInput = AshbyParamsInput>
469
468
  type: "Personal" | "Work" | "Other";
470
469
  isPrimary: boolean;
471
470
  } | null | undefined;
472
- primaryPhoneNumber?: {
471
+ emailAddresses?: {
473
472
  value: string;
474
473
  type: "Personal" | "Work" | "Other";
475
474
  isPrimary: boolean;
476
- } | null | undefined;
477
- customFields?: {
478
- title: string;
479
- id: string;
480
- value?: unknown;
481
- isPrivate?: boolean | undefined;
482
475
  }[] | undefined;
483
- emailAddresses?: {
476
+ primaryPhoneNumber?: {
484
477
  value: string;
485
478
  type: "Personal" | "Work" | "Other";
486
479
  isPrimary: boolean;
487
- }[] | undefined;
480
+ } | null | undefined;
488
481
  phoneNumbers?: {
489
482
  value: string;
490
483
  type: "Personal" | "Work" | "Other";
@@ -495,6 +488,7 @@ export declare class AshbyBubble<T extends AshbyParamsInput = AshbyParamsInput>
495
488
  url: string;
496
489
  }[] | undefined;
497
490
  position?: string | null | undefined;
491
+ company?: string | null | undefined;
498
492
  school?: string | null | undefined;
499
493
  applicationIds?: string[] | undefined;
500
494
  resumeFileHandle?: {
@@ -507,6 +501,12 @@ export declare class AshbyBubble<T extends AshbyParamsInput = AshbyParamsInput>
507
501
  id: string;
508
502
  handle: string;
509
503
  }[] | undefined;
504
+ customFields?: {
505
+ title: string;
506
+ id: string;
507
+ value?: unknown;
508
+ isPrivate?: boolean | undefined;
509
+ }[] | undefined;
510
510
  }[] | undefined;
511
511
  more_data_available?: boolean | undefined;
512
512
  }, {
@@ -518,7 +518,6 @@ export declare class AshbyBubble<T extends AshbyParamsInput = AshbyParamsInput>
518
518
  candidates?: {
519
519
  name: string;
520
520
  id: string;
521
- company?: string | null | undefined;
522
521
  tags?: {
523
522
  title: string;
524
523
  id: string;
@@ -531,22 +530,16 @@ export declare class AshbyBubble<T extends AshbyParamsInput = AshbyParamsInput>
531
530
  type: "Personal" | "Work" | "Other";
532
531
  isPrimary: boolean;
533
532
  } | null | undefined;
534
- primaryPhoneNumber?: {
533
+ emailAddresses?: {
535
534
  value: string;
536
535
  type: "Personal" | "Work" | "Other";
537
536
  isPrimary: boolean;
538
- } | null | undefined;
539
- customFields?: {
540
- title: string;
541
- id: string;
542
- value?: unknown;
543
- isPrivate?: boolean | undefined;
544
537
  }[] | undefined;
545
- emailAddresses?: {
538
+ primaryPhoneNumber?: {
546
539
  value: string;
547
540
  type: "Personal" | "Work" | "Other";
548
541
  isPrimary: boolean;
549
- }[] | undefined;
542
+ } | null | undefined;
550
543
  phoneNumbers?: {
551
544
  value: string;
552
545
  type: "Personal" | "Work" | "Other";
@@ -557,6 +550,7 @@ export declare class AshbyBubble<T extends AshbyParamsInput = AshbyParamsInput>
557
550
  url: string;
558
551
  }[] | undefined;
559
552
  position?: string | null | undefined;
553
+ company?: string | null | undefined;
560
554
  school?: string | null | undefined;
561
555
  applicationIds?: string[] | undefined;
562
556
  resumeFileHandle?: {
@@ -569,6 +563,12 @@ export declare class AshbyBubble<T extends AshbyParamsInput = AshbyParamsInput>
569
563
  id: string;
570
564
  handle: string;
571
565
  }[] | undefined;
566
+ customFields?: {
567
+ title: string;
568
+ id: string;
569
+ value?: unknown;
570
+ isPrivate?: boolean | undefined;
571
+ }[] | undefined;
572
572
  }[] | undefined;
573
573
  more_data_available?: boolean | undefined;
574
574
  }>, import("zod").ZodObject<{
@@ -1251,8 +1251,8 @@ export declare class AshbyBubble<T extends AshbyParamsInput = AshbyParamsInput>
1251
1251
  }, "strip", import("zod").ZodTypeAny, {
1252
1252
  title: string;
1253
1253
  id: string;
1254
- isPrivate: boolean;
1255
1254
  isArchived: boolean;
1255
+ isPrivate: boolean;
1256
1256
  objectType: string;
1257
1257
  fieldType: string;
1258
1258
  selectableValues?: {
@@ -1263,8 +1263,8 @@ export declare class AshbyBubble<T extends AshbyParamsInput = AshbyParamsInput>
1263
1263
  }, {
1264
1264
  title: string;
1265
1265
  id: string;
1266
- isPrivate: boolean;
1267
1266
  isArchived: boolean;
1267
+ isPrivate: boolean;
1268
1268
  objectType: string;
1269
1269
  fieldType: string;
1270
1270
  selectableValues?: {
@@ -1287,8 +1287,8 @@ export declare class AshbyBubble<T extends AshbyParamsInput = AshbyParamsInput>
1287
1287
  custom_fields?: {
1288
1288
  title: string;
1289
1289
  id: string;
1290
- isPrivate: boolean;
1291
1290
  isArchived: boolean;
1291
+ isPrivate: boolean;
1292
1292
  objectType: string;
1293
1293
  fieldType: string;
1294
1294
  selectableValues?: {
@@ -1307,8 +1307,8 @@ export declare class AshbyBubble<T extends AshbyParamsInput = AshbyParamsInput>
1307
1307
  custom_fields?: {
1308
1308
  title: string;
1309
1309
  id: string;
1310
- isPrivate: boolean;
1311
1310
  isArchived: boolean;
1311
+ isPrivate: boolean;
1312
1312
  objectType: string;
1313
1313
  fieldType: string;
1314
1314
  selectableValues?: {
@@ -12,6 +12,7 @@ interface ActiveSession {
12
12
  browser: Browser;
13
13
  page: Page;
14
14
  connectUrl: string;
15
+ startTime: number;
15
16
  }
16
17
  /**
17
18
  * BrowserBase Service Bubble
@@ -80,7 +81,7 @@ export declare class BrowserBaseBubble<T extends BrowserBaseParamsInput = Browse
80
81
  operation: "start_session";
81
82
  viewport_width: number;
82
83
  viewport_height: number;
83
- credentials?: Partial<Record<CredentialType, string>> | undefined;
84
+ context_id?: string | undefined;
84
85
  cookies?: {
85
86
  value: string;
86
87
  path: string;
@@ -90,10 +91,10 @@ export declare class BrowserBaseBubble<T extends BrowserBaseParamsInput = Browse
90
91
  httpOnly: boolean;
91
92
  secure: boolean;
92
93
  }[] | undefined;
93
- context_id?: string | undefined;
94
+ credentials?: Partial<Record<CredentialType, string>> | undefined;
94
95
  }, {
95
96
  operation: "start_session";
96
- credentials?: Partial<Record<CredentialType, string>> | undefined;
97
+ context_id?: string | undefined;
97
98
  cookies?: {
98
99
  value: string;
99
100
  path: string;
@@ -103,9 +104,9 @@ export declare class BrowserBaseBubble<T extends BrowserBaseParamsInput = Browse
103
104
  httpOnly: boolean;
104
105
  secure: boolean;
105
106
  }[] | undefined;
106
- context_id?: string | undefined;
107
107
  viewport_width?: number | undefined;
108
108
  viewport_height?: number | undefined;
109
+ credentials?: Partial<Record<CredentialType, string>> | undefined;
109
110
  }>, import("zod").ZodObject<{
110
111
  operation: import("zod").ZodLiteral<"navigate">;
111
112
  session_id: import("zod").ZodString;
@@ -116,17 +117,17 @@ export declare class BrowserBaseBubble<T extends BrowserBaseParamsInput = Browse
116
117
  }, "strip", import("zod").ZodTypeAny, {
117
118
  operation: "navigate";
118
119
  url: string;
119
- timeout: number;
120
120
  session_id: string;
121
121
  wait_until: "load" | "domcontentloaded" | "networkidle0" | "networkidle2";
122
+ timeout: number;
122
123
  credentials?: Partial<Record<CredentialType, string>> | undefined;
123
124
  }, {
124
125
  operation: "navigate";
125
126
  url: string;
126
127
  session_id: string;
127
128
  credentials?: Partial<Record<CredentialType, string>> | undefined;
128
- timeout?: number | undefined;
129
129
  wait_until?: "load" | "domcontentloaded" | "networkidle0" | "networkidle2" | undefined;
130
+ timeout?: number | undefined;
130
131
  }>, import("zod").ZodObject<{
131
132
  operation: import("zod").ZodLiteral<"click">;
132
133
  session_id: import("zod").ZodString;
@@ -136,8 +137,8 @@ export declare class BrowserBaseBubble<T extends BrowserBaseParamsInput = Browse
136
137
  credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
137
138
  }, "strip", import("zod").ZodTypeAny, {
138
139
  operation: "click";
139
- timeout: number;
140
140
  session_id: string;
141
+ timeout: number;
141
142
  selector: string;
142
143
  wait_for_navigation: boolean;
143
144
  credentials?: Partial<Record<CredentialType, string>> | undefined;
@@ -158,20 +159,20 @@ export declare class BrowserBaseBubble<T extends BrowserBaseParamsInput = Browse
158
159
  credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
159
160
  }, "strip", import("zod").ZodTypeAny, {
160
161
  operation: "type";
161
- text: string;
162
162
  session_id: string;
163
163
  selector: string;
164
- delay: number;
164
+ text: string;
165
165
  clear_first: boolean;
166
+ delay: number;
166
167
  credentials?: Partial<Record<CredentialType, string>> | undefined;
167
168
  }, {
168
169
  operation: "type";
169
- text: string;
170
170
  session_id: string;
171
171
  selector: string;
172
+ text: string;
172
173
  credentials?: Partial<Record<CredentialType, string>> | undefined;
173
- delay?: number | undefined;
174
174
  clear_first?: boolean | undefined;
175
+ delay?: number | undefined;
175
176
  }>, import("zod").ZodObject<{
176
177
  operation: import("zod").ZodLiteral<"evaluate">;
177
178
  session_id: import("zod").ZodString;
@@ -179,13 +180,13 @@ export declare class BrowserBaseBubble<T extends BrowserBaseParamsInput = Browse
179
180
  credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
180
181
  }, "strip", import("zod").ZodTypeAny, {
181
182
  operation: "evaluate";
182
- script: string;
183
183
  session_id: string;
184
+ script: string;
184
185
  credentials?: Partial<Record<CredentialType, string>> | undefined;
185
186
  }, {
186
187
  operation: "evaluate";
187
- script: string;
188
188
  session_id: string;
189
+ script: string;
189
190
  credentials?: Partial<Record<CredentialType, string>> | undefined;
190
191
  }>, import("zod").ZodObject<{
191
192
  operation: import("zod").ZodLiteral<"get_content">;
@@ -195,16 +196,16 @@ export declare class BrowserBaseBubble<T extends BrowserBaseParamsInput = Browse
195
196
  credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
196
197
  }, "strip", import("zod").ZodTypeAny, {
197
198
  operation: "get_content";
198
- content_type: "text" | "html" | "outer_html";
199
199
  session_id: string;
200
+ content_type: "text" | "html" | "outer_html";
200
201
  credentials?: Partial<Record<CredentialType, string>> | undefined;
201
202
  selector?: string | undefined;
202
203
  }, {
203
204
  operation: "get_content";
204
205
  session_id: string;
205
206
  credentials?: Partial<Record<CredentialType, string>> | undefined;
206
- content_type?: "text" | "html" | "outer_html" | undefined;
207
207
  selector?: string | undefined;
208
+ content_type?: "text" | "html" | "outer_html" | undefined;
208
209
  }>, import("zod").ZodObject<{
209
210
  operation: import("zod").ZodLiteral<"screenshot">;
210
211
  session_id: import("zod").ZodString;
@@ -219,16 +220,16 @@ export declare class BrowserBaseBubble<T extends BrowserBaseParamsInput = Browse
219
220
  session_id: string;
220
221
  full_page: boolean;
221
222
  credentials?: Partial<Record<CredentialType, string>> | undefined;
222
- quality?: number | undefined;
223
223
  selector?: string | undefined;
224
+ quality?: number | undefined;
224
225
  }, {
225
226
  operation: "screenshot";
226
227
  session_id: string;
227
228
  format?: "png" | "jpeg" | "webp" | undefined;
228
229
  credentials?: Partial<Record<CredentialType, string>> | undefined;
229
- quality?: number | undefined;
230
230
  selector?: string | undefined;
231
231
  full_page?: boolean | undefined;
232
+ quality?: number | undefined;
232
233
  }>, import("zod").ZodObject<{
233
234
  operation: import("zod").ZodLiteral<"wait">;
234
235
  session_id: import("zod").ZodString;
@@ -238,8 +239,8 @@ export declare class BrowserBaseBubble<T extends BrowserBaseParamsInput = Browse
238
239
  credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
239
240
  }, "strip", import("zod").ZodTypeAny, {
240
241
  operation: "wait";
241
- timeout: number;
242
242
  session_id: string;
243
+ timeout: number;
243
244
  wait_type: "timeout" | "selector" | "navigation";
244
245
  credentials?: Partial<Record<CredentialType, string>> | undefined;
245
246
  selector?: string | undefined;
@@ -289,15 +290,15 @@ export declare class BrowserBaseBubble<T extends BrowserBaseParamsInput = Browse
289
290
  operation: "start_session";
290
291
  success: boolean;
291
292
  error: string;
292
- session_id?: string | undefined;
293
293
  context_id?: string | undefined;
294
+ session_id?: string | undefined;
294
295
  debug_url?: string | undefined;
295
296
  }, {
296
297
  operation: "start_session";
297
298
  success: boolean;
298
299
  error: string;
299
- session_id?: string | undefined;
300
300
  context_id?: string | undefined;
301
+ session_id?: string | undefined;
301
302
  debug_url?: string | undefined;
302
303
  }>, import("zod").ZodObject<{
303
304
  operation: import("zod").ZodLiteral<"navigate">;
@@ -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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"}
@@ -261,13 +261,14 @@ export class BrowserBaseBubble extends ServiceBubble {
261
261
  }
262
262
  // Get debug URL
263
263
  const debugResponse = await this.browserbaseApi(`/sessions/${sessionId}/debug`);
264
- // Store session
264
+ // Store session with start time for cost tracking
265
265
  BrowserBaseBubble.activeSessions.set(sessionId, {
266
266
  sessionId,
267
267
  contextId,
268
268
  browser,
269
269
  page,
270
270
  connectUrl,
271
+ startTime: Date.now(),
271
272
  });
272
273
  // Emit browser session start event for live viewing in UI
273
274
  if (this.context?.logger) {
@@ -538,17 +539,37 @@ export class BrowserBaseBubble extends ServiceBubble {
538
539
  };
539
540
  }
540
541
  try {
541
- // Emit browser session end event before closing
542
- if (this.context?.logger) {
543
- this.context.logger.logBrowserSessionEnd(params.session_id, this.context.variableId);
544
- }
545
- // Disconnect browser
542
+ // Disconnect browser first
546
543
  await session.browser.disconnect();
547
- // Release session via API
548
- await this.browserbaseApi(`/sessions/${params.session_id}`, 'POST', {
544
+ // Release session via API and get the updated session data
545
+ const sessionUpdateResponse = await this.browserbaseApi(`/sessions/${params.session_id}`, 'POST', {
549
546
  projectId: this.getConfig()?.projectId,
550
547
  status: 'REQUEST_RELEASE',
551
548
  });
549
+ // Calculate session duration from API response (most accurate)
550
+ // Use endedAt if available, otherwise use updatedAt as fallback
551
+ const endTime = sessionUpdateResponse.endedAt
552
+ ? new Date(sessionUpdateResponse.endedAt).getTime()
553
+ : new Date(sessionUpdateResponse.updatedAt).getTime();
554
+ const startTime = new Date(sessionUpdateResponse.startedAt).getTime();
555
+ const sessionDurationMs = endTime - startTime;
556
+ const sessionDurationMinutes = Math.max(0, sessionDurationMs / (1000 * 60)); // Ensure non-negative
557
+ // Track service usage for browser session duration based on API response
558
+ // Using AMAZON_CRED as service type with subService 'browserbase' to distinguish
559
+ // TODO: Consider adding BROWSERBASE_CRED as a new CredentialType for proper tracking
560
+ if (this.context?.logger && sessionDurationMinutes > 0) {
561
+ this.context.logger.addServiceUsage({
562
+ service: CredentialType.AMAZON_CRED, // Using AMAZON_CRED as workaround - BrowserBase doesn't have its own CredentialType
563
+ subService: 'browserbase',
564
+ unit: 'per_minute',
565
+ usage: sessionDurationMinutes,
566
+ }, this.context.variableId);
567
+ console.log(`[BrowserBaseBubble] Tracked session duration: ${sessionDurationMinutes.toFixed(2)} minutes (from API: startedAt=${sessionUpdateResponse.startedAt}, endedAt=${sessionUpdateResponse.endedAt || sessionUpdateResponse.updatedAt}) for session ${params.session_id}`);
568
+ }
569
+ // Emit browser session end event before closing
570
+ if (this.context?.logger) {
571
+ this.context.logger.logBrowserSessionEnd(params.session_id, this.context.variableId);
572
+ }
552
573
  // Remove from active sessions
553
574
  BrowserBaseBubble.activeSessions.delete(params.session_id);
554
575
  console.log(`[BrowserBaseBubble] Session ${params.session_id} closed`);