@bubblelab/bubble-core 0.1.22 → 0.1.23

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 (79) hide show
  1. package/dist/bubble-bundle.d.ts +180 -77
  2. package/dist/bubble-factory.d.ts.map +1 -1
  3. package/dist/bubble-factory.js +10 -2
  4. package/dist/bubble-factory.js.map +1 -1
  5. package/dist/bubbles/service-bubble/ai-agent.d.ts +4 -4
  6. package/dist/bubbles/service-bubble/airtable.d.ts +82 -82
  7. package/dist/bubbles/service-bubble/apify/apify.d.ts +4 -4
  8. package/dist/bubbles/service-bubble/browserbase/browserbase.schema.d.ts +8 -8
  9. package/dist/bubbles/service-bubble/crustdata/crustdata.d.ts +2784 -0
  10. package/dist/bubbles/service-bubble/crustdata/crustdata.d.ts.map +1 -0
  11. package/dist/bubbles/service-bubble/crustdata/crustdata.js +338 -0
  12. package/dist/bubbles/service-bubble/crustdata/crustdata.js.map +1 -0
  13. package/dist/bubbles/service-bubble/crustdata/crustdata.schema.d.ts +3995 -0
  14. package/dist/bubbles/service-bubble/{slack/slack.schema.d.ts.map → crustdata/crustdata.schema.d.ts.map} +1 -1
  15. package/dist/bubbles/service-bubble/crustdata/crustdata.schema.js +425 -0
  16. package/dist/bubbles/service-bubble/crustdata/crustdata.schema.js.map +1 -0
  17. package/dist/bubbles/service-bubble/crustdata/index.d.ts +3 -0
  18. package/dist/bubbles/service-bubble/crustdata/index.d.ts.map +1 -0
  19. package/dist/bubbles/service-bubble/crustdata/index.js +5 -0
  20. package/dist/bubbles/service-bubble/crustdata/index.js.map +1 -0
  21. package/dist/bubbles/service-bubble/eleven-labs.d.ts +8 -8
  22. package/dist/bubbles/service-bubble/firecrawl.d.ts +308 -308
  23. package/dist/bubbles/service-bubble/followupboss.d.ts +236 -236
  24. package/dist/bubbles/service-bubble/github.d.ts +84 -84
  25. package/dist/bubbles/service-bubble/gmail.d.ts +439 -439
  26. package/dist/bubbles/service-bubble/google-calendar.d.ts +100 -100
  27. package/dist/bubbles/service-bubble/google-drive.d.ts +26 -26
  28. package/dist/bubbles/service-bubble/google-sheets/google-sheets.schema.d.ts +10 -10
  29. package/dist/bubbles/service-bubble/http.d.ts +20 -20
  30. package/dist/bubbles/service-bubble/insforge-db.d.ts +6 -6
  31. package/dist/bubbles/service-bubble/notion/notion.d.ts +480 -480
  32. package/dist/bubbles/service-bubble/postgresql.d.ts +6 -6
  33. package/dist/bubbles/service-bubble/resend.d.ts +4 -4
  34. package/dist/bubbles/service-bubble/slack/slack.d.ts +148 -148
  35. package/dist/bubbles/service-bubble/storage.d.ts +20 -20
  36. package/dist/bubbles/service-bubble/telegram.d.ts +1276 -1276
  37. package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.schema.d.ts +6 -6
  38. package/dist/bubbles/tool-bubble/company-enrichment-tool.d.ts +740 -0
  39. package/dist/bubbles/tool-bubble/company-enrichment-tool.d.ts.map +1 -0
  40. package/dist/bubbles/tool-bubble/company-enrichment-tool.js +351 -0
  41. package/dist/bubbles/tool-bubble/company-enrichment-tool.js.map +1 -0
  42. package/dist/bubbles/tool-bubble/google-maps-tool.d.ts +20 -20
  43. package/dist/bubbles/tool-bubble/instagram-tool.d.ts +4 -4
  44. package/dist/bubbles/tool-bubble/linkedin-tool.d.ts +122 -122
  45. package/dist/bubbles/tool-bubble/people-search-tool.d.ts +934 -0
  46. package/dist/bubbles/tool-bubble/people-search-tool.d.ts.map +1 -0
  47. package/dist/bubbles/tool-bubble/people-search-tool.js +675 -0
  48. package/dist/bubbles/tool-bubble/people-search-tool.js.map +1 -0
  49. package/dist/bubbles/tool-bubble/reddit-scrape-tool.d.ts +10 -10
  50. package/dist/bubbles/tool-bubble/sql-query-tool.d.ts +4 -4
  51. package/dist/bubbles/tool-bubble/tiktok-tool.d.ts +12 -12
  52. package/dist/bubbles/tool-bubble/twitter-tool.d.ts +10 -10
  53. package/dist/bubbles/tool-bubble/web-search-tool.d.ts +12 -12
  54. package/dist/bubbles/workflow-bubble/generate-document.workflow.d.ts +12 -12
  55. package/dist/bubbles/workflow-bubble/pdf-form-operations.workflow.d.ts +16 -16
  56. package/dist/bubbles/workflow-bubble/pdf-ocr.workflow.d.ts +8 -8
  57. package/dist/bubbles/workflow-bubble/slack-data-assistant.workflow.d.ts +4 -4
  58. package/dist/bubbles/workflow-bubble/slack-formatter-agent.d.ts +64 -64
  59. package/dist/bubbles.json +40 -2
  60. package/dist/index.d.ts +5 -0
  61. package/dist/index.d.ts.map +1 -1
  62. package/dist/index.js +3 -0
  63. package/dist/index.js.map +1 -1
  64. package/dist/utils/schema-comparison.d.ts +16 -0
  65. package/dist/utils/schema-comparison.d.ts.map +1 -1
  66. package/dist/utils/schema-comparison.js +98 -6
  67. package/dist/utils/schema-comparison.js.map +1 -1
  68. package/package.json +2 -2
  69. package/dist/bubbles/service-bubble/google-sheets/google-sheets.integration.flow.d.ts +0 -31
  70. package/dist/bubbles/service-bubble/google-sheets/google-sheets.integration.flow.d.ts.map +0 -1
  71. package/dist/bubbles/service-bubble/google-sheets/google-sheets.integration.flow.js +0 -184
  72. package/dist/bubbles/service-bubble/google-sheets/google-sheets.integration.flow.js.map +0 -1
  73. package/dist/bubbles/service-bubble/slack/slack.schema.d.ts +0 -3980
  74. package/dist/bubbles/service-bubble/slack/slack.schema.js +0 -1061
  75. package/dist/bubbles/service-bubble/slack/slack.schema.js.map +0 -1
  76. package/dist/bubbles/service-bubble/slack.d.ts +0 -2
  77. package/dist/bubbles/service-bubble/slack.d.ts.map +0 -1
  78. package/dist/bubbles/service-bubble/slack.js +0 -3
  79. package/dist/bubbles/service-bubble/slack.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"company-enrichment-tool.d.ts","sourceRoot":"","sources":["../../../src/bubbles/tool-bubble/company-enrichment-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,KAAK,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAQ5E,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiEjB,CAAC;AAkBH,QAAA,MAAM,iCAAiC;;;;;;;;;;;;EAiBrC,CAAC;AAGH,QAAA,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMrC,CAAC;AAGH,KAAK,2BAA2B,GAAG,CAAC,CAAC,MAAM,CACzC,OAAO,iCAAiC,CACzC,CAAC;AACF,KAAK,2BAA2B,GAAG,CAAC,CAAC,MAAM,CACzC,OAAO,iCAAiC,CACzC,CAAC;AACF,KAAK,gCAAgC,GAAG,CAAC,CAAC,KAAK,CAC7C,OAAO,iCAAiC,CACzC,CAAC;AACF,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,aAAa,CAAC,CAAC;AACrD,MAAM,MAAM,uBAAuB,GAAG,2BAA2B,CAAC;AAElE;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,qBAAsB,SAAQ,UAAU,CACnD,2BAA2B,EAC3B,2BAA2B,CAC5B;IACC,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAA6B;IACnE,MAAM,CAAC,QAAQ,CAAC,MAAM;;;;;;;;;;;;OAAqC;IAC3D,MAAM,CAAC,QAAQ,CAAC,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAqC;IACjE,MAAM,CAAC,QAAQ,CAAC,gBAAgB,yFACwD;IACxF,MAAM,CAAC,QAAQ,CAAC,eAAe,qzCAqC7B;IACF,MAAM,CAAC,QAAQ,CAAC,KAAK,YAAY;IACjC,MAAM,CAAC,QAAQ,CAAC,IAAI,UAAU;gBAG5B,MAAM,GAAE,gCAG6B,EACrC,OAAO,CAAC,EAAE,aAAa;IAKnB,aAAa,IAAI,OAAO,CAAC,2BAA2B,CAAC;IAwF3D;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAoB5B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAkB3B;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAmCzB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAgDxB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAqB5B;;OAEG;IACH,OAAO,CAAC,iBAAiB;CAS1B"}
@@ -0,0 +1,351 @@
1
+ import { z } from 'zod';
2
+ import { ToolBubble } from '../../types/tool-bubble-class.js';
3
+ import { CredentialType } from '@bubblelab/shared-schemas';
4
+ import { CrustdataBubble, } from '../service-bubble/crustdata/index.js';
5
+ // Contact schema with full profile information
6
+ const ContactSchema = z.object({
7
+ // Basic info
8
+ name: z.string().nullable().describe('Full name'),
9
+ title: z.string().nullable().describe('Current job title'),
10
+ headline: z.string().nullable().describe('LinkedIn headline'),
11
+ linkedinUrl: z.string().nullable().describe('LinkedIn profile URL'),
12
+ profilePictureUrl: z.string().nullable().describe('Profile picture URL'),
13
+ // Contact info
14
+ emails: z.array(z.string()).nullable().describe('Email addresses'),
15
+ twitterHandle: z.string().nullable().describe('Twitter/X handle'),
16
+ // Classification (CXOs prioritized)
17
+ role: z
18
+ .enum(['cxo', 'decision_maker', 'founder'])
19
+ .describe('Role classification'),
20
+ // Location
21
+ location: z.string().nullable().describe('Location'),
22
+ // Professional background
23
+ skills: z.array(z.string()).nullable().describe('Professional skills'),
24
+ languages: z.array(z.string()).nullable().describe('Languages spoken'),
25
+ summary: z.string().nullable().describe('Professional summary'),
26
+ // Work history
27
+ currentEmployment: z
28
+ .array(z.object({
29
+ title: z.string().nullable().describe('Job title'),
30
+ companyName: z.string().nullable().describe('Company name'),
31
+ companyLinkedinUrl: z
32
+ .string()
33
+ .nullable()
34
+ .describe('Company LinkedIn URL'),
35
+ startDate: z.string().nullable().describe('Start date'),
36
+ description: z.string().nullable().describe('Role description'),
37
+ }))
38
+ .nullable()
39
+ .describe('Current employment positions'),
40
+ pastEmployment: z
41
+ .array(z.object({
42
+ title: z.string().nullable().describe('Job title'),
43
+ companyName: z.string().nullable().describe('Company name'),
44
+ startDate: z.string().nullable().describe('Start date'),
45
+ endDate: z.string().nullable().describe('End date'),
46
+ }))
47
+ .nullable()
48
+ .describe('Past employment positions'),
49
+ // Education
50
+ education: z
51
+ .array(z.object({
52
+ instituteName: z.string().nullable().describe('Institution name'),
53
+ degreeName: z.string().nullable().describe('Degree name'),
54
+ fieldOfStudy: z.string().nullable().describe('Field of study'),
55
+ }))
56
+ .nullable()
57
+ .describe('Education history'),
58
+ });
59
+ // Company info schema for the result
60
+ const CompanyInfoOutputSchema = z.object({
61
+ name: z.string().nullable().describe('Company name'),
62
+ linkedinUrl: z.string().nullable().describe('Company LinkedIn URL'),
63
+ website: z.string().nullable().describe('Company website'),
64
+ industry: z.string().nullable().describe('Industry'),
65
+ description: z.string().nullable().describe('Company description'),
66
+ headcount: z.number().nullable().describe('Employee count'),
67
+ hqCity: z.string().nullable().describe('Headquarters city'),
68
+ hqCountry: z.string().nullable().describe('Headquarters country'),
69
+ yearFounded: z.number().nullable().describe('Year founded'),
70
+ fundingStage: z.string().nullable().describe('Funding stage'),
71
+ totalFunding: z.string().nullable().describe('Total funding raised'),
72
+ });
73
+ // Tool parameters - simple, agent-friendly interface
74
+ const CompanyEnrichmentToolParamsSchema = z.object({
75
+ companyIdentifier: z
76
+ .string()
77
+ .min(1)
78
+ .describe('Company name, domain (e.g., "stripe.com"), or LinkedIn URL. Auto-detects type.'),
79
+ limit: z
80
+ .number()
81
+ .max(50)
82
+ .default(10)
83
+ .optional()
84
+ .describe('Maximum contacts to return (default: 10)'),
85
+ credentials: z
86
+ .record(z.nativeEnum(CredentialType), z.string())
87
+ .optional()
88
+ .describe('Required credentials (auto-injected)'),
89
+ });
90
+ // Tool result schema
91
+ const CompanyEnrichmentToolResultSchema = z.object({
92
+ contacts: z.array(ContactSchema).describe('List of contacts at the company'),
93
+ company: CompanyInfoOutputSchema.nullable().describe('Company information'),
94
+ totalContacts: z.number().describe('Total number of contacts found'),
95
+ success: z.boolean().describe('Whether the operation was successful'),
96
+ error: z.string().describe('Error message if operation failed'),
97
+ });
98
+ /**
99
+ * Company Enrichment Tool
100
+ *
101
+ * Agent-friendly tool for company enrichment and lead generation.
102
+ * Takes a simple company identifier (name, domain, or LinkedIn URL)
103
+ * and returns key contacts with full profiles.
104
+ *
105
+ * Features:
106
+ * - Auto-detects identifier type (name, domain, LinkedIn URL)
107
+ * - Returns CXOs, decision makers, and founders
108
+ * - Full contact profiles with work history and education
109
+ * - Prioritized results (CXOs first, then decision makers, then founders)
110
+ *
111
+ * Uses CrustdataBubble under the hood with a two-step process:
112
+ * 1. Identify company (FREE) to get company_id
113
+ * 2. Enrich company (1 credit) to get contacts
114
+ */
115
+ export class CompanyEnrichmentTool extends ToolBubble {
116
+ static bubbleName = 'company-enrichment-tool';
117
+ static schema = CompanyEnrichmentToolParamsSchema;
118
+ static resultSchema = CompanyEnrichmentToolResultSchema;
119
+ static shortDescription = 'Get key contacts (executives, decision makers) from any company for lead generation';
120
+ static longDescription = `
121
+ Company enrichment tool for lead generation and sales prospecting.
122
+
123
+ **SIMPLE INTERFACE:**
124
+ Just provide a company name, domain, or LinkedIn URL to get key contacts.
125
+ The tool automatically:
126
+ - Detects the identifier type
127
+ - Identifies the company
128
+ - Enriches with contact data
129
+ - Returns prioritized contacts (CXOs first)
130
+
131
+ **WHAT YOU GET:**
132
+ - Contact names and titles
133
+ - LinkedIn profiles and email addresses
134
+ - Work history and education
135
+ - Skills and professional summary
136
+
137
+ **CONTACT TYPES (prioritized):**
138
+ 1. CXOs - C-level executives (CEO, CTO, CFO, etc.)
139
+ 2. Decision makers - VP, Director, Head of, etc.
140
+ 3. Founders - Company founders
141
+
142
+ **USE CASES:**
143
+ - Sales prospecting - find decision makers to reach out to
144
+ - Lead generation - build contact lists for outreach
145
+ - Company research - understand company leadership
146
+ - Competitive intelligence - track competitor executives
147
+ - Partnership opportunities - find the right contacts
148
+
149
+ **EXAMPLES:**
150
+ - "stripe.com" - get contacts from Stripe
151
+ - "Anthropic" - search by company name
152
+ - "https://www.linkedin.com/company/openai" - use LinkedIn URL
153
+
154
+ **CREDITS:**
155
+ - Identify operation: FREE
156
+ - Enrich operation: 1 credit per company
157
+ `;
158
+ static alias = 'enrich';
159
+ static type = 'tool';
160
+ constructor(params = {
161
+ companyIdentifier: 'stripe.com',
162
+ limit: 10,
163
+ }, context) {
164
+ super(params, context);
165
+ }
166
+ async performAction() {
167
+ const credentials = this.params?.credentials;
168
+ if (!credentials || !credentials[CredentialType.CRUSTDATA_API_KEY]) {
169
+ return this.createErrorResult('Company enrichment requires CRUSTDATA_API_KEY credential. Please configure it in your settings.');
170
+ }
171
+ try {
172
+ const { companyIdentifier, limit = 10 } = this.params;
173
+ // Step 1: Detect identifier type and identify company
174
+ const identifierType = this.detectIdentifierType(companyIdentifier);
175
+ const identifyParams = this.buildIdentifyParams(identifierType, companyIdentifier);
176
+ const identifyBubble = new CrustdataBubble({
177
+ operation: 'identify',
178
+ ...identifyParams,
179
+ credentials,
180
+ }, this.context);
181
+ const identifyResult = await identifyBubble.action();
182
+ if (!identifyResult.data.success) {
183
+ return this.createErrorResult(`Failed to identify company: ${identifyResult.data.error}`);
184
+ }
185
+ const results = identifyResult.data.results || [];
186
+ if (results.length === 0 || !results[0]?.company_id) {
187
+ return this.createErrorResult(`No company found matching "${companyIdentifier}". Try using a domain (e.g., "stripe.com") or LinkedIn URL for better results.`);
188
+ }
189
+ const companyId = results[0].company_id;
190
+ // Step 2: Enrich company to get contacts
191
+ const enrichBubble = new CrustdataBubble({
192
+ operation: 'enrich',
193
+ company_id: companyId,
194
+ fields: 'decision_makers,cxos,founders.profiles',
195
+ credentials,
196
+ }, this.context);
197
+ const enrichResult = await enrichBubble.action();
198
+ if (!enrichResult.data.success) {
199
+ return this.createErrorResult(`Failed to enrich company: ${enrichResult.data.error}`);
200
+ }
201
+ console.log('enrichResult.data', enrichResult.data);
202
+ // Step 3: Transform and merge contacts
203
+ const contacts = this.transformContacts(enrichResult.data.cxos || [], enrichResult.data.decision_makers || [], enrichResult.data.founders?.profiles || [], limit);
204
+ const company = this.transformCompanyInfo(enrichResult.data.company);
205
+ return {
206
+ contacts,
207
+ company,
208
+ totalContacts: contacts.length,
209
+ success: true,
210
+ error: '',
211
+ };
212
+ }
213
+ catch (error) {
214
+ return this.createErrorResult(error instanceof Error ? error.message : 'Unknown error occurred');
215
+ }
216
+ }
217
+ /**
218
+ * Detect identifier type from the input string
219
+ */
220
+ detectIdentifierType(identifier) {
221
+ // LinkedIn URL
222
+ if (identifier.includes('linkedin.com/company') ||
223
+ identifier.includes('linkedin.com/in')) {
224
+ return 'linkedin';
225
+ }
226
+ // Domain: has dot and no spaces, doesn't look like a sentence
227
+ if (identifier.includes('.') && !identifier.includes(' ')) {
228
+ return 'domain';
229
+ }
230
+ // Default to name
231
+ return 'name';
232
+ }
233
+ /**
234
+ * Build identify params based on identifier type
235
+ */
236
+ buildIdentifyParams(type, identifier) {
237
+ switch (type) {
238
+ case 'linkedin':
239
+ return { query_company_linkedin_url: identifier };
240
+ case 'domain':
241
+ return { query_company_website: identifier };
242
+ case 'name':
243
+ return { query_company_name: identifier };
244
+ }
245
+ }
246
+ /**
247
+ * Transform and merge contacts from different sources
248
+ * Priority: CXOs > Decision Makers > Founders
249
+ */
250
+ transformContacts(cxos, decisionMakers, founders, limit) {
251
+ const contacts = [];
252
+ const seenLinkedInUrls = new Set();
253
+ // Helper to add contacts without duplicates
254
+ const addContacts = (profiles, role) => {
255
+ for (const profile of profiles) {
256
+ if (contacts.length >= limit)
257
+ break;
258
+ // Dedupe by LinkedIn URL
259
+ const linkedinUrl = profile.linkedin_profile_url || profile.linkedin_flagship_url;
260
+ if (linkedinUrl && seenLinkedInUrls.has(linkedinUrl))
261
+ continue;
262
+ if (linkedinUrl)
263
+ seenLinkedInUrls.add(linkedinUrl);
264
+ contacts.push(this.transformProfile(profile, role));
265
+ }
266
+ };
267
+ // Add in priority order
268
+ addContacts(cxos, 'cxo');
269
+ addContacts(decisionMakers, 'decision_maker');
270
+ addContacts(founders, 'founder');
271
+ return contacts;
272
+ }
273
+ /**
274
+ * Transform a single profile to Contact format
275
+ */
276
+ transformProfile(profile, role) {
277
+ return {
278
+ name: profile.name ||
279
+ [profile.first_name, profile.last_name].filter(Boolean).join(' ') ||
280
+ null,
281
+ title: profile.title || null,
282
+ headline: profile.headline || null,
283
+ linkedinUrl: profile.linkedin_profile_url || profile.linkedin_flagship_url || null,
284
+ profilePictureUrl: profile.profile_picture_url || null,
285
+ emails: profile.emails || null,
286
+ twitterHandle: profile.twitter_handle || null,
287
+ role,
288
+ location: profile.location || null,
289
+ skills: profile.skills || null,
290
+ languages: profile.languages || null,
291
+ summary: profile.summary || null,
292
+ currentEmployment: profile.current_positions
293
+ ? profile.current_positions.map((pos) => ({
294
+ title: pos.title || null,
295
+ companyName: pos.company_name || null,
296
+ companyLinkedinUrl: pos.company_linkedin_url || null,
297
+ startDate: pos.start_date || null,
298
+ description: pos.description || null,
299
+ }))
300
+ : null,
301
+ pastEmployment: profile.past_positions
302
+ ? profile.past_positions.map((pos) => ({
303
+ title: pos.title || null,
304
+ companyName: pos.company_name || null,
305
+ startDate: pos.start_date || null,
306
+ endDate: pos.end_date || null,
307
+ }))
308
+ : null,
309
+ education: profile.education
310
+ ? profile.education.map((edu) => ({
311
+ instituteName: edu.institute_name || null,
312
+ degreeName: edu.degree_name || null,
313
+ fieldOfStudy: edu.field_of_study || null,
314
+ }))
315
+ : null,
316
+ };
317
+ }
318
+ /**
319
+ * Transform company info to output format
320
+ */
321
+ transformCompanyInfo(company) {
322
+ if (!company)
323
+ return null;
324
+ return {
325
+ name: company.name || null,
326
+ linkedinUrl: company.linkedin_profile_url || null,
327
+ website: company.company_website || company.company_website_domain || null,
328
+ industry: company.industry || null,
329
+ description: company.description || null,
330
+ headcount: company.headcount || company.linkedin_headcount || null,
331
+ hqCity: company.hq_city || null,
332
+ hqCountry: company.hq_country || null,
333
+ yearFounded: company.year_founded ? parseInt(company.year_founded) : null,
334
+ fundingStage: company.funding_stage || null,
335
+ totalFunding: company.total_funding || null,
336
+ };
337
+ }
338
+ /**
339
+ * Create an error result
340
+ */
341
+ createErrorResult(errorMessage) {
342
+ return {
343
+ contacts: [],
344
+ company: null,
345
+ totalContacts: 0,
346
+ success: false,
347
+ error: errorMessage,
348
+ };
349
+ }
350
+ }
351
+ //# sourceMappingURL=company-enrichment-tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"company-enrichment-tool.js","sourceRoot":"","sources":["../../../src/bubbles/tool-bubble/company-enrichment-tool.ts"],"names":[],"mappings":"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"}
@@ -13,15 +13,15 @@ declare const GoogleMapsToolParamsSchema: z.ZodObject<{
13
13
  operation: "search";
14
14
  queries: string[];
15
15
  credentials?: Partial<Record<CredentialType, string>> | undefined;
16
- limit?: number | undefined;
17
16
  location?: string | undefined;
17
+ limit?: number | undefined;
18
18
  language?: string | undefined;
19
19
  }, {
20
20
  operation: "search";
21
21
  queries: string[];
22
22
  credentials?: Partial<Record<CredentialType, string>> | undefined;
23
- limit?: number | undefined;
24
23
  location?: string | undefined;
24
+ limit?: number | undefined;
25
25
  language?: string | undefined;
26
26
  }>;
27
27
  declare const GoogleMapsToolResultSchema: z.ZodObject<{
@@ -85,15 +85,15 @@ declare const GoogleMapsToolResultSchema: z.ZodObject<{
85
85
  }, "strip", z.ZodTypeAny, {
86
86
  title: string | null;
87
87
  url: string | null;
88
- phone: string | null;
89
88
  location: {
90
89
  lat: number | null;
91
90
  lng: number | null;
92
91
  } | null;
92
+ website: string | null;
93
+ phone: string | null;
93
94
  rating: number | null;
94
95
  category: string | null;
95
96
  address: string | null;
96
- website: string | null;
97
97
  placeId: string | null;
98
98
  reviewsCount: number | null;
99
99
  openingHours: {
@@ -115,15 +115,15 @@ declare const GoogleMapsToolResultSchema: z.ZodObject<{
115
115
  }, {
116
116
  title: string | null;
117
117
  url: string | null;
118
- phone: string | null;
119
118
  location: {
120
119
  lat: number | null;
121
120
  lng: number | null;
122
121
  } | null;
122
+ website: string | null;
123
+ phone: string | null;
123
124
  rating: number | null;
124
125
  category: string | null;
125
126
  address: string | null;
126
- website: string | null;
127
127
  placeId: string | null;
128
128
  reviewsCount: number | null;
129
129
  openingHours: {
@@ -153,15 +153,15 @@ declare const GoogleMapsToolResultSchema: z.ZodObject<{
153
153
  places: {
154
154
  title: string | null;
155
155
  url: string | null;
156
- phone: string | null;
157
156
  location: {
158
157
  lat: number | null;
159
158
  lng: number | null;
160
159
  } | null;
160
+ website: string | null;
161
+ phone: string | null;
161
162
  rating: number | null;
162
163
  category: string | null;
163
164
  address: string | null;
164
- website: string | null;
165
165
  placeId: string | null;
166
166
  reviewsCount: number | null;
167
167
  openingHours: {
@@ -189,15 +189,15 @@ declare const GoogleMapsToolResultSchema: z.ZodObject<{
189
189
  places: {
190
190
  title: string | null;
191
191
  url: string | null;
192
- phone: string | null;
193
192
  location: {
194
193
  lat: number | null;
195
194
  lng: number | null;
196
195
  } | null;
196
+ website: string | null;
197
+ phone: string | null;
197
198
  rating: number | null;
198
199
  category: string | null;
199
200
  address: string | null;
200
- website: string | null;
201
201
  placeId: string | null;
202
202
  reviewsCount: number | null;
203
203
  openingHours: {
@@ -235,15 +235,15 @@ export declare class GoogleMapsTool extends ToolBubble<GoogleMapsToolParams, Goo
235
235
  operation: "search";
236
236
  queries: string[];
237
237
  credentials?: Partial<Record<CredentialType, string>> | undefined;
238
- limit?: number | undefined;
239
238
  location?: string | undefined;
239
+ limit?: number | undefined;
240
240
  language?: string | undefined;
241
241
  }, {
242
242
  operation: "search";
243
243
  queries: string[];
244
244
  credentials?: Partial<Record<CredentialType, string>> | undefined;
245
- limit?: number | undefined;
246
245
  location?: string | undefined;
246
+ limit?: number | undefined;
247
247
  language?: string | undefined;
248
248
  }>;
249
249
  static readonly resultSchema: z.ZodObject<{
@@ -307,15 +307,15 @@ export declare class GoogleMapsTool extends ToolBubble<GoogleMapsToolParams, Goo
307
307
  }, "strip", z.ZodTypeAny, {
308
308
  title: string | null;
309
309
  url: string | null;
310
- phone: string | null;
311
310
  location: {
312
311
  lat: number | null;
313
312
  lng: number | null;
314
313
  } | null;
314
+ website: string | null;
315
+ phone: string | null;
315
316
  rating: number | null;
316
317
  category: string | null;
317
318
  address: string | null;
318
- website: string | null;
319
319
  placeId: string | null;
320
320
  reviewsCount: number | null;
321
321
  openingHours: {
@@ -337,15 +337,15 @@ export declare class GoogleMapsTool extends ToolBubble<GoogleMapsToolParams, Goo
337
337
  }, {
338
338
  title: string | null;
339
339
  url: string | null;
340
- phone: string | null;
341
340
  location: {
342
341
  lat: number | null;
343
342
  lng: number | null;
344
343
  } | null;
344
+ website: string | null;
345
+ phone: string | null;
345
346
  rating: number | null;
346
347
  category: string | null;
347
348
  address: string | null;
348
- website: string | null;
349
349
  placeId: string | null;
350
350
  reviewsCount: number | null;
351
351
  openingHours: {
@@ -375,15 +375,15 @@ export declare class GoogleMapsTool extends ToolBubble<GoogleMapsToolParams, Goo
375
375
  places: {
376
376
  title: string | null;
377
377
  url: string | null;
378
- phone: string | null;
379
378
  location: {
380
379
  lat: number | null;
381
380
  lng: number | null;
382
381
  } | null;
382
+ website: string | null;
383
+ phone: string | null;
383
384
  rating: number | null;
384
385
  category: string | null;
385
386
  address: string | null;
386
- website: string | null;
387
387
  placeId: string | null;
388
388
  reviewsCount: number | null;
389
389
  openingHours: {
@@ -411,15 +411,15 @@ export declare class GoogleMapsTool extends ToolBubble<GoogleMapsToolParams, Goo
411
411
  places: {
412
412
  title: string | null;
413
413
  url: string | null;
414
- phone: string | null;
415
414
  location: {
416
415
  lat: number | null;
417
416
  lng: number | null;
418
417
  } | null;
418
+ website: string | null;
419
+ phone: string | null;
419
420
  rating: number | null;
420
421
  category: string | null;
421
422
  address: string | null;
422
- website: string | null;
423
423
  placeId: string | null;
424
424
  reviewsCount: number | null;
425
425
  openingHours: {
@@ -71,14 +71,14 @@ declare const InstagramToolParamsSchema: z.ZodObject<{
71
71
  operation: "scrapeProfile" | "scrapeHashtag";
72
72
  credentials?: Partial<Record<CredentialType, string>> | undefined;
73
73
  limit?: number | undefined;
74
- hashtags?: string[] | undefined;
75
74
  profiles?: string[] | undefined;
75
+ hashtags?: string[] | undefined;
76
76
  }, {
77
77
  operation: "scrapeProfile" | "scrapeHashtag";
78
78
  credentials?: Partial<Record<CredentialType, string>> | undefined;
79
79
  limit?: number | undefined;
80
- hashtags?: string[] | undefined;
81
80
  profiles?: string[] | undefined;
81
+ hashtags?: string[] | undefined;
82
82
  }>;
83
83
  declare const InstagramToolResultSchema: z.ZodObject<{
84
84
  operation: z.ZodEnum<["scrapeProfile", "scrapeHashtag"]>;
@@ -236,14 +236,14 @@ export declare class InstagramTool extends ToolBubble<InstagramToolParams, Insta
236
236
  operation: "scrapeProfile" | "scrapeHashtag";
237
237
  credentials?: Partial<Record<CredentialType, string>> | undefined;
238
238
  limit?: number | undefined;
239
- hashtags?: string[] | undefined;
240
239
  profiles?: string[] | undefined;
240
+ hashtags?: string[] | undefined;
241
241
  }, {
242
242
  operation: "scrapeProfile" | "scrapeHashtag";
243
243
  credentials?: Partial<Record<CredentialType, string>> | undefined;
244
244
  limit?: number | undefined;
245
- hashtags?: string[] | undefined;
246
245
  profiles?: string[] | undefined;
246
+ hashtags?: string[] | undefined;
247
247
  }>;
248
248
  static readonly resultSchema: z.ZodObject<{
249
249
  operation: z.ZodEnum<["scrapeProfile", "scrapeHashtag"]>;