@bubblelab/bubble-core 0.1.41 → 0.1.43

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 (30) hide show
  1. package/dist/bubble-bundle.d.ts +33 -33
  2. package/dist/bubbles/service-bubble/ai-agent.d.ts +24 -24
  3. package/dist/bubbles/service-bubble/apify/apify.d.ts +8 -8
  4. package/dist/bubbles/service-bubble/ashby/ashby.d.ts +40 -40
  5. package/dist/bubbles/service-bubble/crustdata/crustdata.d.ts +74 -74
  6. package/dist/bubbles/service-bubble/firecrawl.d.ts +184 -184
  7. package/dist/bubbles/service-bubble/github.d.ts +28 -28
  8. package/dist/bubbles/service-bubble/gmail.d.ts +104 -104
  9. package/dist/bubbles/service-bubble/google-drive.d.ts +32 -32
  10. package/dist/bubbles/service-bubble/google-sheets/google-sheets.d.ts +10 -10
  11. package/dist/bubbles/service-bubble/insforge-db.d.ts +8 -8
  12. package/dist/bubbles/service-bubble/notion/notion.d.ts +64 -64
  13. package/dist/bubbles/service-bubble/postgresql.d.ts +8 -8
  14. package/dist/bubbles/service-bubble/slack/slack.d.ts +32 -32
  15. package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.d.ts +5 -5
  16. package/dist/bubbles/tool-bubble/linkedin-connection-tool/linkedin-connection-tool.d.ts +17 -0
  17. package/dist/bubbles/tool-bubble/linkedin-connection-tool/linkedin-connection-tool.d.ts.map +1 -1
  18. package/dist/bubbles/tool-bubble/linkedin-connection-tool/linkedin-connection-tool.js +127 -10
  19. package/dist/bubbles/tool-bubble/linkedin-connection-tool/linkedin-connection-tool.js.map +1 -1
  20. package/dist/bubbles/tool-bubble/linkedin-tool.d.ts +254 -254
  21. package/dist/bubbles/tool-bubble/people-search-tool.d.ts +12 -0
  22. package/dist/bubbles/tool-bubble/people-search-tool.d.ts.map +1 -1
  23. package/dist/bubbles/tool-bubble/people-search-tool.js +11 -1
  24. package/dist/bubbles/tool-bubble/people-search-tool.js.map +1 -1
  25. package/dist/bubbles/tool-bubble/sql-query-tool.d.ts +4 -4
  26. package/dist/bubbles/tool-bubble/tiktok-tool.d.ts +54 -54
  27. package/dist/bubbles/tool-bubble/twitter-tool.d.ts +80 -80
  28. package/dist/bubbles/workflow-bubble/slack-formatter-agent.d.ts +16 -16
  29. package/dist/bubbles.json +11 -3
  30. package/package.json +2 -2
@@ -148,14 +148,6 @@ declare const TwitterTweetSchema: z.ZodObject<{
148
148
  }, "strip", z.ZodTypeAny, {
149
149
  url: string | null;
150
150
  text: string | null;
151
- stats: {
152
- viewCount: number | null;
153
- retweetCount: number | null;
154
- replyCount: number | null;
155
- likeCount: number | null;
156
- quoteCount: number | null;
157
- bookmarkCount: number | null;
158
- } | null;
159
151
  id: string | null;
160
152
  entities: {
161
153
  hashtags: string[] | null;
@@ -176,6 +168,14 @@ declare const TwitterTweetSchema: z.ZodObject<{
176
168
  tweetsCount: number | null;
177
169
  createdAt: string | null;
178
170
  } | null;
171
+ stats: {
172
+ viewCount: number | null;
173
+ retweetCount: number | null;
174
+ replyCount: number | null;
175
+ likeCount: number | null;
176
+ quoteCount: number | null;
177
+ bookmarkCount: number | null;
178
+ } | null;
179
179
  media: {
180
180
  type: string | null;
181
181
  url: string | null;
@@ -191,14 +191,6 @@ declare const TwitterTweetSchema: z.ZodObject<{
191
191
  }, {
192
192
  url: string | null;
193
193
  text: string | null;
194
- stats: {
195
- viewCount: number | null;
196
- retweetCount: number | null;
197
- replyCount: number | null;
198
- likeCount: number | null;
199
- quoteCount: number | null;
200
- bookmarkCount: number | null;
201
- } | null;
202
194
  id: string | null;
203
195
  entities: {
204
196
  hashtags: string[] | null;
@@ -219,6 +211,14 @@ declare const TwitterTweetSchema: z.ZodObject<{
219
211
  tweetsCount: number | null;
220
212
  createdAt: string | null;
221
213
  } | null;
214
+ stats: {
215
+ viewCount: number | null;
216
+ retweetCount: number | null;
217
+ replyCount: number | null;
218
+ likeCount: number | null;
219
+ quoteCount: number | null;
220
+ bookmarkCount: number | null;
221
+ } | null;
222
222
  media: {
223
223
  type: string | null;
224
224
  url: string | null;
@@ -368,14 +368,6 @@ declare const TwitterToolResultSchema: z.ZodObject<{
368
368
  }, "strip", z.ZodTypeAny, {
369
369
  url: string | null;
370
370
  text: string | null;
371
- stats: {
372
- viewCount: number | null;
373
- retweetCount: number | null;
374
- replyCount: number | null;
375
- likeCount: number | null;
376
- quoteCount: number | null;
377
- bookmarkCount: number | null;
378
- } | null;
379
371
  id: string | null;
380
372
  entities: {
381
373
  hashtags: string[] | null;
@@ -396,6 +388,14 @@ declare const TwitterToolResultSchema: z.ZodObject<{
396
388
  tweetsCount: number | null;
397
389
  createdAt: string | null;
398
390
  } | null;
391
+ stats: {
392
+ viewCount: number | null;
393
+ retweetCount: number | null;
394
+ replyCount: number | null;
395
+ likeCount: number | null;
396
+ quoteCount: number | null;
397
+ bookmarkCount: number | null;
398
+ } | null;
399
399
  media: {
400
400
  type: string | null;
401
401
  url: string | null;
@@ -411,14 +411,6 @@ declare const TwitterToolResultSchema: z.ZodObject<{
411
411
  }, {
412
412
  url: string | null;
413
413
  text: string | null;
414
- stats: {
415
- viewCount: number | null;
416
- retweetCount: number | null;
417
- replyCount: number | null;
418
- likeCount: number | null;
419
- quoteCount: number | null;
420
- bookmarkCount: number | null;
421
- } | null;
422
414
  id: string | null;
423
415
  entities: {
424
416
  hashtags: string[] | null;
@@ -439,6 +431,14 @@ declare const TwitterToolResultSchema: z.ZodObject<{
439
431
  tweetsCount: number | null;
440
432
  createdAt: string | null;
441
433
  } | null;
434
+ stats: {
435
+ viewCount: number | null;
436
+ retweetCount: number | null;
437
+ replyCount: number | null;
438
+ likeCount: number | null;
439
+ quoteCount: number | null;
440
+ bookmarkCount: number | null;
441
+ } | null;
442
442
  media: {
443
443
  type: string | null;
444
444
  url: string | null;
@@ -462,14 +462,6 @@ declare const TwitterToolResultSchema: z.ZodObject<{
462
462
  tweets: {
463
463
  url: string | null;
464
464
  text: string | null;
465
- stats: {
466
- viewCount: number | null;
467
- retweetCount: number | null;
468
- replyCount: number | null;
469
- likeCount: number | null;
470
- quoteCount: number | null;
471
- bookmarkCount: number | null;
472
- } | null;
473
465
  id: string | null;
474
466
  entities: {
475
467
  hashtags: string[] | null;
@@ -490,6 +482,14 @@ declare const TwitterToolResultSchema: z.ZodObject<{
490
482
  tweetsCount: number | null;
491
483
  createdAt: string | null;
492
484
  } | null;
485
+ stats: {
486
+ viewCount: number | null;
487
+ retweetCount: number | null;
488
+ replyCount: number | null;
489
+ likeCount: number | null;
490
+ quoteCount: number | null;
491
+ bookmarkCount: number | null;
492
+ } | null;
493
493
  media: {
494
494
  type: string | null;
495
495
  url: string | null;
@@ -511,14 +511,6 @@ declare const TwitterToolResultSchema: z.ZodObject<{
511
511
  tweets: {
512
512
  url: string | null;
513
513
  text: string | null;
514
- stats: {
515
- viewCount: number | null;
516
- retweetCount: number | null;
517
- replyCount: number | null;
518
- likeCount: number | null;
519
- quoteCount: number | null;
520
- bookmarkCount: number | null;
521
- } | null;
522
514
  id: string | null;
523
515
  entities: {
524
516
  hashtags: string[] | null;
@@ -539,6 +531,14 @@ declare const TwitterToolResultSchema: z.ZodObject<{
539
531
  tweetsCount: number | null;
540
532
  createdAt: string | null;
541
533
  } | null;
534
+ stats: {
535
+ viewCount: number | null;
536
+ retweetCount: number | null;
537
+ replyCount: number | null;
538
+ likeCount: number | null;
539
+ quoteCount: number | null;
540
+ bookmarkCount: number | null;
541
+ } | null;
542
542
  media: {
543
543
  type: string | null;
544
544
  url: string | null;
@@ -714,14 +714,6 @@ export declare class TwitterTool extends ToolBubble<TwitterToolParams, TwitterTo
714
714
  }, "strip", z.ZodTypeAny, {
715
715
  url: string | null;
716
716
  text: string | null;
717
- stats: {
718
- viewCount: number | null;
719
- retweetCount: number | null;
720
- replyCount: number | null;
721
- likeCount: number | null;
722
- quoteCount: number | null;
723
- bookmarkCount: number | null;
724
- } | null;
725
717
  id: string | null;
726
718
  entities: {
727
719
  hashtags: string[] | null;
@@ -742,6 +734,14 @@ export declare class TwitterTool extends ToolBubble<TwitterToolParams, TwitterTo
742
734
  tweetsCount: number | null;
743
735
  createdAt: string | null;
744
736
  } | null;
737
+ stats: {
738
+ viewCount: number | null;
739
+ retweetCount: number | null;
740
+ replyCount: number | null;
741
+ likeCount: number | null;
742
+ quoteCount: number | null;
743
+ bookmarkCount: number | null;
744
+ } | null;
745
745
  media: {
746
746
  type: string | null;
747
747
  url: string | null;
@@ -757,14 +757,6 @@ export declare class TwitterTool extends ToolBubble<TwitterToolParams, TwitterTo
757
757
  }, {
758
758
  url: string | null;
759
759
  text: string | null;
760
- stats: {
761
- viewCount: number | null;
762
- retweetCount: number | null;
763
- replyCount: number | null;
764
- likeCount: number | null;
765
- quoteCount: number | null;
766
- bookmarkCount: number | null;
767
- } | null;
768
760
  id: string | null;
769
761
  entities: {
770
762
  hashtags: string[] | null;
@@ -785,6 +777,14 @@ export declare class TwitterTool extends ToolBubble<TwitterToolParams, TwitterTo
785
777
  tweetsCount: number | null;
786
778
  createdAt: string | null;
787
779
  } | null;
780
+ stats: {
781
+ viewCount: number | null;
782
+ retweetCount: number | null;
783
+ replyCount: number | null;
784
+ likeCount: number | null;
785
+ quoteCount: number | null;
786
+ bookmarkCount: number | null;
787
+ } | null;
788
788
  media: {
789
789
  type: string | null;
790
790
  url: string | null;
@@ -808,14 +808,6 @@ export declare class TwitterTool extends ToolBubble<TwitterToolParams, TwitterTo
808
808
  tweets: {
809
809
  url: string | null;
810
810
  text: string | null;
811
- stats: {
812
- viewCount: number | null;
813
- retweetCount: number | null;
814
- replyCount: number | null;
815
- likeCount: number | null;
816
- quoteCount: number | null;
817
- bookmarkCount: number | null;
818
- } | null;
819
811
  id: string | null;
820
812
  entities: {
821
813
  hashtags: string[] | null;
@@ -836,6 +828,14 @@ export declare class TwitterTool extends ToolBubble<TwitterToolParams, TwitterTo
836
828
  tweetsCount: number | null;
837
829
  createdAt: string | null;
838
830
  } | null;
831
+ stats: {
832
+ viewCount: number | null;
833
+ retweetCount: number | null;
834
+ replyCount: number | null;
835
+ likeCount: number | null;
836
+ quoteCount: number | null;
837
+ bookmarkCount: number | null;
838
+ } | null;
839
839
  media: {
840
840
  type: string | null;
841
841
  url: string | null;
@@ -857,14 +857,6 @@ export declare class TwitterTool extends ToolBubble<TwitterToolParams, TwitterTo
857
857
  tweets: {
858
858
  url: string | null;
859
859
  text: string | null;
860
- stats: {
861
- viewCount: number | null;
862
- retweetCount: number | null;
863
- replyCount: number | null;
864
- likeCount: number | null;
865
- quoteCount: number | null;
866
- bookmarkCount: number | null;
867
- } | null;
868
860
  id: string | null;
869
861
  entities: {
870
862
  hashtags: string[] | null;
@@ -885,6 +877,14 @@ export declare class TwitterTool extends ToolBubble<TwitterToolParams, TwitterTo
885
877
  tweetsCount: number | null;
886
878
  createdAt: string | null;
887
879
  } | null;
880
+ stats: {
881
+ viewCount: number | null;
882
+ retweetCount: number | null;
883
+ replyCount: number | null;
884
+ likeCount: number | null;
885
+ quoteCount: number | null;
886
+ bookmarkCount: number | null;
887
+ } | null;
888
888
  media: {
889
889
  type: string | null;
890
890
  url: string | null;
@@ -166,6 +166,7 @@ declare const SlackFormatterAgentResultSchema: z.ZodObject<{
166
166
  emoji?: boolean | undefined;
167
167
  verbatim?: boolean | undefined;
168
168
  } | undefined;
169
+ element?: unknown;
169
170
  image_url?: string | undefined;
170
171
  optional?: boolean | undefined;
171
172
  fields?: {
@@ -183,7 +184,6 @@ declare const SlackFormatterAgentResultSchema: z.ZodObject<{
183
184
  }[] | undefined;
184
185
  block_id?: string | undefined;
185
186
  accessory?: unknown;
186
- element?: unknown;
187
187
  label?: unknown;
188
188
  hint?: unknown;
189
189
  }, {
@@ -199,6 +199,7 @@ declare const SlackFormatterAgentResultSchema: z.ZodObject<{
199
199
  emoji?: boolean | undefined;
200
200
  verbatim?: boolean | undefined;
201
201
  } | undefined;
202
+ element?: unknown;
202
203
  image_url?: string | undefined;
203
204
  optional?: boolean | undefined;
204
205
  fields?: {
@@ -216,7 +217,6 @@ declare const SlackFormatterAgentResultSchema: z.ZodObject<{
216
217
  }[] | undefined;
217
218
  block_id?: string | undefined;
218
219
  accessory?: unknown;
219
- element?: unknown;
220
220
  label?: unknown;
221
221
  hint?: unknown;
222
222
  }>, "many">>;
@@ -255,14 +255,14 @@ declare const SlackFormatterAgentResultSchema: z.ZodObject<{
255
255
  }, "strip", z.ZodTypeAny, {
256
256
  success: boolean;
257
257
  error: string;
258
+ response: string;
259
+ iterations: number;
258
260
  metadata: {
259
261
  verbosityLevel: string;
260
262
  technicalityLevel: string;
261
263
  wordCount: number;
262
264
  blockCount?: number | undefined;
263
265
  };
264
- response: string;
265
- iterations: number;
266
266
  toolCalls?: {
267
267
  tool: string;
268
268
  input?: unknown;
@@ -281,6 +281,7 @@ declare const SlackFormatterAgentResultSchema: z.ZodObject<{
281
281
  emoji?: boolean | undefined;
282
282
  verbatim?: boolean | undefined;
283
283
  } | undefined;
284
+ element?: unknown;
284
285
  image_url?: string | undefined;
285
286
  optional?: boolean | undefined;
286
287
  fields?: {
@@ -298,21 +299,20 @@ declare const SlackFormatterAgentResultSchema: z.ZodObject<{
298
299
  }[] | undefined;
299
300
  block_id?: string | undefined;
300
301
  accessory?: unknown;
301
- element?: unknown;
302
302
  label?: unknown;
303
303
  hint?: unknown;
304
304
  }[] | undefined;
305
305
  }, {
306
306
  success: boolean;
307
307
  error: string;
308
+ response: string;
309
+ iterations: number;
308
310
  metadata: {
309
311
  verbosityLevel: string;
310
312
  technicalityLevel: string;
311
313
  wordCount: number;
312
314
  blockCount?: number | undefined;
313
315
  };
314
- response: string;
315
- iterations: number;
316
316
  toolCalls?: {
317
317
  tool: string;
318
318
  input?: unknown;
@@ -331,6 +331,7 @@ declare const SlackFormatterAgentResultSchema: z.ZodObject<{
331
331
  emoji?: boolean | undefined;
332
332
  verbatim?: boolean | undefined;
333
333
  } | undefined;
334
+ element?: unknown;
334
335
  image_url?: string | undefined;
335
336
  optional?: boolean | undefined;
336
337
  fields?: {
@@ -348,7 +349,6 @@ declare const SlackFormatterAgentResultSchema: z.ZodObject<{
348
349
  }[] | undefined;
349
350
  block_id?: string | undefined;
350
351
  accessory?: unknown;
351
- element?: unknown;
352
352
  label?: unknown;
353
353
  hint?: unknown;
354
354
  }[] | undefined;
@@ -524,6 +524,7 @@ export declare class SlackFormatterAgentBubble extends WorkflowBubble<SlackForma
524
524
  emoji?: boolean | undefined;
525
525
  verbatim?: boolean | undefined;
526
526
  } | undefined;
527
+ element?: unknown;
527
528
  image_url?: string | undefined;
528
529
  optional?: boolean | undefined;
529
530
  fields?: {
@@ -541,7 +542,6 @@ export declare class SlackFormatterAgentBubble extends WorkflowBubble<SlackForma
541
542
  }[] | undefined;
542
543
  block_id?: string | undefined;
543
544
  accessory?: unknown;
544
- element?: unknown;
545
545
  label?: unknown;
546
546
  hint?: unknown;
547
547
  }, {
@@ -557,6 +557,7 @@ export declare class SlackFormatterAgentBubble extends WorkflowBubble<SlackForma
557
557
  emoji?: boolean | undefined;
558
558
  verbatim?: boolean | undefined;
559
559
  } | undefined;
560
+ element?: unknown;
560
561
  image_url?: string | undefined;
561
562
  optional?: boolean | undefined;
562
563
  fields?: {
@@ -574,7 +575,6 @@ export declare class SlackFormatterAgentBubble extends WorkflowBubble<SlackForma
574
575
  }[] | undefined;
575
576
  block_id?: string | undefined;
576
577
  accessory?: unknown;
577
- element?: unknown;
578
578
  label?: unknown;
579
579
  hint?: unknown;
580
580
  }>, "many">>;
@@ -613,14 +613,14 @@ export declare class SlackFormatterAgentBubble extends WorkflowBubble<SlackForma
613
613
  }, "strip", z.ZodTypeAny, {
614
614
  success: boolean;
615
615
  error: string;
616
+ response: string;
617
+ iterations: number;
616
618
  metadata: {
617
619
  verbosityLevel: string;
618
620
  technicalityLevel: string;
619
621
  wordCount: number;
620
622
  blockCount?: number | undefined;
621
623
  };
622
- response: string;
623
- iterations: number;
624
624
  toolCalls?: {
625
625
  tool: string;
626
626
  input?: unknown;
@@ -639,6 +639,7 @@ export declare class SlackFormatterAgentBubble extends WorkflowBubble<SlackForma
639
639
  emoji?: boolean | undefined;
640
640
  verbatim?: boolean | undefined;
641
641
  } | undefined;
642
+ element?: unknown;
642
643
  image_url?: string | undefined;
643
644
  optional?: boolean | undefined;
644
645
  fields?: {
@@ -656,21 +657,20 @@ export declare class SlackFormatterAgentBubble extends WorkflowBubble<SlackForma
656
657
  }[] | undefined;
657
658
  block_id?: string | undefined;
658
659
  accessory?: unknown;
659
- element?: unknown;
660
660
  label?: unknown;
661
661
  hint?: unknown;
662
662
  }[] | undefined;
663
663
  }, {
664
664
  success: boolean;
665
665
  error: string;
666
+ response: string;
667
+ iterations: number;
666
668
  metadata: {
667
669
  verbosityLevel: string;
668
670
  technicalityLevel: string;
669
671
  wordCount: number;
670
672
  blockCount?: number | undefined;
671
673
  };
672
- response: string;
673
- iterations: number;
674
674
  toolCalls?: {
675
675
  tool: string;
676
676
  input?: unknown;
@@ -689,6 +689,7 @@ export declare class SlackFormatterAgentBubble extends WorkflowBubble<SlackForma
689
689
  emoji?: boolean | undefined;
690
690
  verbatim?: boolean | undefined;
691
691
  } | undefined;
692
+ element?: unknown;
692
693
  image_url?: string | undefined;
693
694
  optional?: boolean | undefined;
694
695
  fields?: {
@@ -706,7 +707,6 @@ export declare class SlackFormatterAgentBubble extends WorkflowBubble<SlackForma
706
707
  }[] | undefined;
707
708
  block_id?: string | undefined;
708
709
  accessory?: unknown;
709
- element?: unknown;
710
710
  label?: unknown;
711
711
  hint?: unknown;
712
712
  }[] | undefined;
package/dist/bubbles.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": "2.0.0",
3
- "generatedAt": "2026-01-26T22:10:29.000Z",
3
+ "generatedAt": "2026-01-26T23:56:59.022Z",
4
4
  "totalCount": 57,
5
5
  "bubbles": [
6
6
  {
@@ -49574,7 +49574,7 @@
49574
49574
  "type": "tool",
49575
49575
  "shortDescription": "Comprehensive people search by company, title, location, skills, with optional email enrichment",
49576
49576
  "useCase": "General purpose bubble for various workflow needs",
49577
- "outputSchema": "{\n people: { name: string | null // Full name, title: string | null // Current job title, headline: string | null // LinkedIn headline, linkedinUrl: string | null // LinkedIn profile URL, profilePictureUrl: string | null // Profile picture URL, emails: string[] | null // Email addresses, twitterHandle: string | null // Twitter/X handle, websites: string[] | null // Personal/professional websites, enrichedWorkEmail: string | null | undefined // Work email found via FullEnrich, enrichedPersonalEmail: string | null | undefined // Personal email found via FullEnrich, enrichedWorkEmails: { email: string, status: string | undefined }[] | null | undefined // All work emails found via FullEnrich, enrichedPersonalEmails: { email: string, status: string | undefined }[] | null | undefined // All personal emails found via FullEnrich, seniorityLevel: string | null // Seniority level (CXO, Vice President, Director, etc.), yearsOfExperience: number | null // Total years of professional experience, recentlyChangedJobs: boolean | null // Whether this person recently changed jobs, location: string | null // Location/region, locationCity: string | null // City, locationCountry: string | null // Country, skills: string[] | null // Professional skills, languages: string[] | null // Languages spoken, summary: string | null // Professional summary, numConnections: number | null // Number of LinkedIn connections, currentEmployers: { title: string | null // Job title, companyName: string | null // Company name, companyLinkedinUrl: string | null // Company LinkedIn URL, companyDomainUrl: string | null // Company website domain, seniorityLevel: string | null // Seniority level, functionCategory: string | null // Function category, startDate: unknown | null // Start date, yearsAtCompany: number | null // Years at company, companyHeadcount: number | null // Company headcount, companyIndustries: string[] | null // Company industries }[] | null // Current employment, pastEmployers: { title: string | null // Job title, companyName: string | null // Company name, startDate: unknown | null // Start date, endDate: unknown | null // End date }[] | null // Past employment, education: { instituteName: string | null // Institution name, degreeName: string | null // Degree name, fieldOfStudy: string | null // Field of study }[] | null // Education history }[] // List of people found,\n totalCount: number // Total number of people available,\n success: boolean // Whether the operation was successful,\n error: string // Error message if operation failed\n}",
49577
+ "outputSchema": "{\n people: { name: string | null // Full name, title: string | null // Current job title, headline: string | null // LinkedIn headline, linkedinUrl: string | null // LinkedIn profile URL, profilePictureUrl: string | null // Profile picture URL, emails: string[] | null // Email addresses, twitterHandle: string | null // Twitter/X handle, websites: string[] | null // Personal/professional websites, enrichedWorkEmail: string | null | undefined // Work email found via FullEnrich, enrichedPersonalEmail: string | null | undefined // Personal email found via FullEnrich, enrichedWorkEmails: { email: string, status: string | undefined }[] | null | undefined // All work emails found via FullEnrich, enrichedPersonalEmails: { email: string, status: string | undefined }[] | null | undefined // All personal emails found via FullEnrich, seniorityLevel: string | null // Seniority level (CXO, Vice President, Director, etc.), yearsOfExperience: number | null // Total years of professional experience, recentlyChangedJobs: boolean | null // Whether this person recently changed jobs, location: string | null // Location/region, locationCity: string | null // City, locationCountry: string | null // Country, skills: string[] | null // Professional skills, languages: string[] | null // Languages spoken, summary: string | null // Professional summary, numConnections: number | null // Number of LinkedIn connections, currentEmployers: { title: string | null // Job title, companyName: string | null // Company name, companyLinkedinUrl: string | null // Company LinkedIn URL, companyDomainUrl: string | null // Company website domain, seniorityLevel: string | null // Seniority level, functionCategory: string | null // Function category, startDate: unknown | null // Start date, yearsAtCompany: number | null // Years at company, companyHeadcount: number | null // Company headcount, companyIndustries: string[] | null // Company industries }[] | null // Current employment, pastEmployers: { title: string | null // Job title, companyName: string | null // Company name, startDate: unknown | null // Start date, endDate: unknown | null // End date }[] | null // Past employment, education: { instituteName: string | null // Institution name, degreeName: string | null // Degree name, fieldOfStudy: string | null // Field of study }[] | null // Education history }[] // List of people found,\n totalCount: number // Total number of people available,\n nextCursor: string | undefined // Pagination cursor for fetching the next page. Pass this as the cursor parameter in the next request. Undefined when no more results are available.,\n success: boolean // Whether the operation was successful,\n error: string // Error message if operation failed\n}",
49578
49578
  "inputJsonSchema": {
49579
49579
  "type": "object",
49580
49580
  "properties": {
@@ -49725,6 +49725,10 @@
49725
49725
  "default": 100,
49726
49726
  "description": "Maximum results to return (default: 100, max: 1000)"
49727
49727
  },
49728
+ "cursor": {
49729
+ "type": "string",
49730
+ "description": "Pagination cursor from previous response. Use to fetch the next page of results."
49731
+ },
49728
49732
  "enrichEmails": {
49729
49733
  "type": "boolean",
49730
49734
  "default": false,
@@ -50102,6 +50106,10 @@
50102
50106
  "type": "number",
50103
50107
  "description": "Total number of people available"
50104
50108
  },
50109
+ "nextCursor": {
50110
+ "type": "string",
50111
+ "description": "Pagination cursor for fetching the next page. Pass this as the cursor parameter in the next request. Undefined when no more results are available."
50112
+ },
50105
50113
  "success": {
50106
50114
  "type": "boolean",
50107
50115
  "description": "Whether the operation was successful"
@@ -50119,7 +50127,7 @@
50119
50127
  ],
50120
50128
  "additionalProperties": false
50121
50129
  },
50122
- "usageExample": "// Example usage of people-search-tool bubble\nconst peopleSearchTool = new PeopleSearchTool({\n companyName: \"example string\", // Current company name to search within (e.g., \"Google\", \"Microsoft\"),\n companyLinkedinUrl: \"example string\", // Company LinkedIn URL for precise matching (e.g., \"https://www.linkedin.com/company/google\"),\n jobTitle: \"example string\", // Current job title to search for (e.g., \"Software Engineer\", \"CEO\"). Use jobTitles array for multiple titles.,\n jobTitles: [\"example string\"], // Multiple job titles to search for with OR logic (e.g., [\"Senior Hardware Engineer\", \"Technical Product Manager\"]). Use this when searching for people with any of several roles.,\n location: \"example string\", // Location/region to filter by with fuzzy matching (e.g., \"San Francisco Bay Area\", \"New York\"),\n locationRadius: { location: \"example string\" // Center point location (e.g., \"San Francisco\", \"New York City\"), radiusMiles: 42 // Search radius in miles (e.g., 75) }, // Geographic radius search - find people within X miles of a location,\n skills: [\"example string\"], // Skills to filter by (e.g., [\"Python\", \"Machine Learning\", \"React\"]),\n languages: [\"example string\"], // Languages spoken (e.g., [\"English\", \"Spanish\", \"Mandarin\"]),\n minYearsExperience: 42, // Minimum total years of professional experience,\n maxYearsExperience: 42, // Maximum total years of professional experience,\n seniorityLevels: [\"example string\"], // Seniority levels. Valid values: Owner / Partner, CXO, Vice President, Director, Experienced Manager, Entry Level Manager, Strategic, Senior, Entry Level, In Training. Examples: [\"CXO\", \"Vice President\", \"Director\", \"Experienced Manager\", \"Senior\"],\n functionCategories: [\"example string\"], // Job function categories. Valid values: Accounting, Administrative, Arts and Design, Business Development, Community and Social Services, Consulting, Education, Engineering, Entrepreneurship, Finance, Healthcare Services, Human Resources, Information Technology, Legal, Marketing, Media and Communication, Military and Protective Services, Operations, Product Management, Program and Project Management, Purchasing, Quality Assurance, Real Estate, Research, Sales, Customer Success and Support. Examples: [\"Engineering\", \"Sales\", \"Marketing\", \"Finance\", \"Operations\", \"Human Resources\"],\n companyIndustries: [\"example string\"], // Company industries to filter by with fuzzy matching (e.g., [\"Technology\", \"SaaS\", \"Finance\", \"Fintech\"]). Uses fuzzy text search, so partial terms like \"Technology\" will match \"IT Services and IT Consulting\", \"Software Development\", etc. Multiple values use OR logic.,\n minCompanyHeadcount: 42, // Minimum company employee count (e.g., 100 for companies with 100+ employees),\n maxCompanyHeadcount: 42, // Maximum company employee count (e.g., 1000 for companies under 1000 employees),\n minYearsAtCompany: 42, // Minimum years at current company (tenure filter),\n pastCompanyName: \"example string\", // Past company name - find people who previously worked at a company,\n pastJobTitle: \"example string\", // Past job title - find people who previously held a specific title,\n schoolName: \"example string\", // School/university name (e.g., \"Stanford University\", \"MIT\"),\n country: \"example string\", // Country to filter by (e.g., \"United States\", \"United Kingdom\", \"Germany\"),\n city: \"example string\", // City to filter by (e.g., \"San Francisco\", \"New York\", \"London\"),\n recentlyChangedJobs: true, // Filter to people who recently changed jobs (useful for outreach),\n minConnections: 42, // Minimum number of LinkedIn connections,\n excludeCompanies: [\"example string\"], // Company names to exclude from results,\n excludeProfiles: [\"example string\"], // LinkedIn profile URLs to exclude from results,\n limit: 100 // default, // Maximum results to return (default: 100, max: 1000),\n enrichEmails: false // default, // Enrich emails for found people using FullEnrich. Requires FULLENRICH_API_KEY credential. Costs 1 credit per work email, 3 credits per personal email.,\n includePersonalEmails: false // default, // When enrichEmails is true, also search for personal emails (costs 3 additional credits per person),\n});\n\nconst result = await peopleSearchTool.action();\n\n// Always check success status before using data\nif (!result.success) {\n throw new Error(`${metadata.name} failed: ${result.error}`);\n}\n\n// outputSchema for result.data:\n// {\n// people: { name: string | null // Full name, title: string | null // Current job title, headline: string | null // LinkedIn headline, linkedinUrl: string | null // LinkedIn profile URL, profilePictureUrl: string | null // Profile picture URL, emails: string[] | null // Email addresses, twitterHandle: string | null // Twitter/X handle, websites: string[] | null // Personal/professional websites, enrichedWorkEmail: string | null | undefined // Work email found via FullEnrich, enrichedPersonalEmail: string | null | undefined // Personal email found via FullEnrich, enrichedWorkEmails: { email: string, status: string | undefined }[] | null | undefined // All work emails found via FullEnrich, enrichedPersonalEmails: { email: string, status: string | undefined }[] | null | undefined // All personal emails found via FullEnrich, seniorityLevel: string | null // Seniority level (CXO, Vice President, Director, etc.), yearsOfExperience: number | null // Total years of professional experience, recentlyChangedJobs: boolean | null // Whether this person recently changed jobs, location: string | null // Location/region, locationCity: string | null // City, locationCountry: string | null // Country, skills: string[] | null // Professional skills, languages: string[] | null // Languages spoken, summary: string | null // Professional summary, numConnections: number | null // Number of LinkedIn connections, currentEmployers: { title: string | null // Job title, companyName: string | null // Company name, companyLinkedinUrl: string | null // Company LinkedIn URL, companyDomainUrl: string | null // Company website domain, seniorityLevel: string | null // Seniority level, functionCategory: string | null // Function category, startDate: unknown | null // Start date, yearsAtCompany: number | null // Years at company, companyHeadcount: number | null // Company headcount, companyIndustries: string[] | null // Company industries }[] | null // Current employment, pastEmployers: { title: string | null // Job title, companyName: string | null // Company name, startDate: unknown | null // Start date, endDate: unknown | null // End date }[] | null // Past employment, education: { instituteName: string | null // Institution name, degreeName: string | null // Degree name, fieldOfStudy: string | null // Field of study }[] | null // Education history }[] // List of people found,\n// totalCount: number // Total number of people available,\n// success: boolean // Whether the operation was successful,\n// error: string // Error message if operation failed\n// }\n\n// Access the actual data\nconst actualData = result.data;\nconsole.log(actualData);",
50130
+ "usageExample": "// Example usage of people-search-tool bubble\nconst peopleSearchTool = new PeopleSearchTool({\n companyName: \"example string\", // Current company name to search within (e.g., \"Google\", \"Microsoft\"),\n companyLinkedinUrl: \"example string\", // Company LinkedIn URL for precise matching (e.g., \"https://www.linkedin.com/company/google\"),\n jobTitle: \"example string\", // Current job title to search for (e.g., \"Software Engineer\", \"CEO\"). Use jobTitles array for multiple titles.,\n jobTitles: [\"example string\"], // Multiple job titles to search for with OR logic (e.g., [\"Senior Hardware Engineer\", \"Technical Product Manager\"]). Use this when searching for people with any of several roles.,\n location: \"example string\", // Location/region to filter by with fuzzy matching (e.g., \"San Francisco Bay Area\", \"New York\"),\n locationRadius: { location: \"example string\" // Center point location (e.g., \"San Francisco\", \"New York City\"), radiusMiles: 42 // Search radius in miles (e.g., 75) }, // Geographic radius search - find people within X miles of a location,\n skills: [\"example string\"], // Skills to filter by (e.g., [\"Python\", \"Machine Learning\", \"React\"]),\n languages: [\"example string\"], // Languages spoken (e.g., [\"English\", \"Spanish\", \"Mandarin\"]),\n minYearsExperience: 42, // Minimum total years of professional experience,\n maxYearsExperience: 42, // Maximum total years of professional experience,\n seniorityLevels: [\"example string\"], // Seniority levels. Valid values: Owner / Partner, CXO, Vice President, Director, Experienced Manager, Entry Level Manager, Strategic, Senior, Entry Level, In Training. Examples: [\"CXO\", \"Vice President\", \"Director\", \"Experienced Manager\", \"Senior\"],\n functionCategories: [\"example string\"], // Job function categories. Valid values: Accounting, Administrative, Arts and Design, Business Development, Community and Social Services, Consulting, Education, Engineering, Entrepreneurship, Finance, Healthcare Services, Human Resources, Information Technology, Legal, Marketing, Media and Communication, Military and Protective Services, Operations, Product Management, Program and Project Management, Purchasing, Quality Assurance, Real Estate, Research, Sales, Customer Success and Support. Examples: [\"Engineering\", \"Sales\", \"Marketing\", \"Finance\", \"Operations\", \"Human Resources\"],\n companyIndustries: [\"example string\"], // Company industries to filter by with fuzzy matching (e.g., [\"Technology\", \"SaaS\", \"Finance\", \"Fintech\"]). Uses fuzzy text search, so partial terms like \"Technology\" will match \"IT Services and IT Consulting\", \"Software Development\", etc. Multiple values use OR logic.,\n minCompanyHeadcount: 42, // Minimum company employee count (e.g., 100 for companies with 100+ employees),\n maxCompanyHeadcount: 42, // Maximum company employee count (e.g., 1000 for companies under 1000 employees),\n minYearsAtCompany: 42, // Minimum years at current company (tenure filter),\n pastCompanyName: \"example string\", // Past company name - find people who previously worked at a company,\n pastJobTitle: \"example string\", // Past job title - find people who previously held a specific title,\n schoolName: \"example string\", // School/university name (e.g., \"Stanford University\", \"MIT\"),\n country: \"example string\", // Country to filter by (e.g., \"United States\", \"United Kingdom\", \"Germany\"),\n city: \"example string\", // City to filter by (e.g., \"San Francisco\", \"New York\", \"London\"),\n recentlyChangedJobs: true, // Filter to people who recently changed jobs (useful for outreach),\n minConnections: 42, // Minimum number of LinkedIn connections,\n excludeCompanies: [\"example string\"], // Company names to exclude from results,\n excludeProfiles: [\"example string\"], // LinkedIn profile URLs to exclude from results,\n limit: 100 // default, // Maximum results to return (default: 100, max: 1000),\n cursor: \"example string\", // Pagination cursor from previous response. Use to fetch the next page of results.,\n enrichEmails: false // default, // Enrich emails for found people using FullEnrich. Requires FULLENRICH_API_KEY credential. Costs 1 credit per work email, 3 credits per personal email.,\n includePersonalEmails: false // default, // When enrichEmails is true, also search for personal emails (costs 3 additional credits per person),\n});\n\nconst result = await peopleSearchTool.action();\n\n// Always check success status before using data\nif (!result.success) {\n throw new Error(`${metadata.name} failed: ${result.error}`);\n}\n\n// outputSchema for result.data:\n// {\n// people: { name: string | null // Full name, title: string | null // Current job title, headline: string | null // LinkedIn headline, linkedinUrl: string | null // LinkedIn profile URL, profilePictureUrl: string | null // Profile picture URL, emails: string[] | null // Email addresses, twitterHandle: string | null // Twitter/X handle, websites: string[] | null // Personal/professional websites, enrichedWorkEmail: string | null | undefined // Work email found via FullEnrich, enrichedPersonalEmail: string | null | undefined // Personal email found via FullEnrich, enrichedWorkEmails: { email: string, status: string | undefined }[] | null | undefined // All work emails found via FullEnrich, enrichedPersonalEmails: { email: string, status: string | undefined }[] | null | undefined // All personal emails found via FullEnrich, seniorityLevel: string | null // Seniority level (CXO, Vice President, Director, etc.), yearsOfExperience: number | null // Total years of professional experience, recentlyChangedJobs: boolean | null // Whether this person recently changed jobs, location: string | null // Location/region, locationCity: string | null // City, locationCountry: string | null // Country, skills: string[] | null // Professional skills, languages: string[] | null // Languages spoken, summary: string | null // Professional summary, numConnections: number | null // Number of LinkedIn connections, currentEmployers: { title: string | null // Job title, companyName: string | null // Company name, companyLinkedinUrl: string | null // Company LinkedIn URL, companyDomainUrl: string | null // Company website domain, seniorityLevel: string | null // Seniority level, functionCategory: string | null // Function category, startDate: unknown | null // Start date, yearsAtCompany: number | null // Years at company, companyHeadcount: number | null // Company headcount, companyIndustries: string[] | null // Company industries }[] | null // Current employment, pastEmployers: { title: string | null // Job title, companyName: string | null // Company name, startDate: unknown | null // Start date, endDate: unknown | null // End date }[] | null // Past employment, education: { instituteName: string | null // Institution name, degreeName: string | null // Degree name, fieldOfStudy: string | null // Field of study }[] | null // Education history }[] // List of people found,\n// totalCount: number // Total number of people available,\n// nextCursor: string | undefined // Pagination cursor for fetching the next page. Pass this as the cursor parameter in the next request. Undefined when no more results are available.,\n// success: boolean // Whether the operation was successful,\n// error: string // Error message if operation failed\n// }\n\n// Access the actual data\nconst actualData = result.data;\nconsole.log(actualData);",
50123
50131
  "requiredCredentials": [
50124
50132
  "CRUSTDATA_API_KEY",
50125
50133
  "FULLENRICH_API_KEY"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bubblelab/bubble-core",
3
- "version": "0.1.41",
3
+ "version": "0.1.43",
4
4
  "type": "module",
5
5
  "license": "Apache-2.0",
6
6
  "main": "./dist/index.js",
@@ -40,7 +40,7 @@
40
40
  "puppeteer-core": "^24.10.0",
41
41
  "resend": "^4.8.0",
42
42
  "zod": "^3.24.1",
43
- "@bubblelab/shared-schemas": "0.1.42"
43
+ "@bubblelab/shared-schemas": "0.1.44"
44
44
  },
45
45
  "devDependencies": {
46
46
  "zod-to-json-schema": "^3.24.6",