@bubblelab/bubble-core 0.1.99 → 0.1.100

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.
@@ -0,0 +1,317 @@
1
+ import { z } from 'zod';
2
+ import { ToolBubble } from '../../types/tool-bubble-class.js';
3
+ import { CredentialType } from '@bubblelab/shared-schemas';
4
+ import { ApifyBubble } from '../service-bubble/apify/apify.js';
5
+ // Y Combinator batch format: Season + Year (e.g., "W24", "S23", "F22", "Sp24")
6
+ // Seasons: W (Winter), S (Summer), F (Fall), Sp (Spring)
7
+ // Founder schema - represents a founder/person extracted from YC data
8
+ const YCFounderSchema = z.object({
9
+ name: z.string().nullable().describe('Founder full name'),
10
+ title: z.string().nullable().describe('Founder title/role at the company'),
11
+ linkedinUrl: z.string().nullable().describe('LinkedIn profile URL'),
12
+ bio: z.string().nullable().describe('Founder bio/description'),
13
+ twitterUrl: z.string().nullable().describe('Twitter/X profile URL'),
14
+ });
15
+ // Company schema - represents a YC company
16
+ const YCCompanySchema = z.object({
17
+ companyName: z.string().nullable().describe('Company name'),
18
+ description: z.string().nullable().describe('Company description'),
19
+ batch: z.string().nullable().describe('YC batch (e.g., W24, S23)'),
20
+ website: z.string().nullable().describe('Company website URL'),
21
+ ycUrl: z.string().nullable().describe('YC company page URL'),
22
+ founders: z.array(YCFounderSchema).describe('List of founders'),
23
+ });
24
+ // Person output schema - flattened founder with company context
25
+ const YCPersonSchema = z.object({
26
+ name: z.string().nullable().describe('Person full name'),
27
+ title: z.string().nullable().describe('Title/role at the company'),
28
+ currentEmployers: z
29
+ .array(z.object({
30
+ companyName: z.string().nullable().describe('Company name'),
31
+ }))
32
+ .describe('Current employers (YC companies)'),
33
+ linkedinUrl: z.string().nullable().describe('LinkedIn profile URL'),
34
+ twitterUrl: z.string().nullable().describe('Twitter/X profile URL'),
35
+ bio: z.string().nullable().describe('Founder bio/description'),
36
+ emails: z
37
+ .array(z.string())
38
+ .nullable()
39
+ .describe('Email addresses (if available)'),
40
+ });
41
+ // Tool parameters schema
42
+ const YCScraperToolParamsSchema = z.object({
43
+ batch: z
44
+ .string()
45
+ .optional()
46
+ .describe('[ONEOF:source] YC batch to scrape (e.g., "W24" for Winter 2024, "S23" for Summer 2023).'),
47
+ url: z
48
+ .string()
49
+ .optional()
50
+ .describe('[ONEOF:source] Direct YC directory URL to scrape. Example: "https://www.ycombinator.com/companies?batch=Winter%202026". Use this for advanced filtering or full batch names.'),
51
+ maxCompanies: z
52
+ .number()
53
+ .min(1)
54
+ .max(500)
55
+ .default(50)
56
+ .optional()
57
+ .describe('Maximum number of companies to scrape (default: 50, max: 500)'),
58
+ includeFounders: z
59
+ .boolean()
60
+ .default(true)
61
+ .optional()
62
+ .describe('Whether to scrape founder details (default: true)'),
63
+ credentials: z
64
+ .record(z.nativeEnum(CredentialType), z.string())
65
+ .optional()
66
+ .describe('Required credentials (auto-injected)'),
67
+ });
68
+ // Tool result schema
69
+ const YCScraperToolResultSchema = z.object({
70
+ // People array - flattened founders with company context
71
+ people: z
72
+ .array(YCPersonSchema)
73
+ .describe('Array of founders/people extracted'),
74
+ // Companies array - for those who want company-level data
75
+ companies: z.array(YCCompanySchema).describe('Array of YC companies scraped'),
76
+ // Metadata
77
+ totalPeople: z.number().describe('Total number of people/founders found'),
78
+ totalCompanies: z.number().describe('Total number of companies scraped'),
79
+ batch: z.string().nullable().describe('YC batch that was scraped'),
80
+ url: z.string().nullable().describe('URL that was scraped'),
81
+ // Standard fields
82
+ success: z.boolean().describe('Whether the operation was successful'),
83
+ error: z.string().describe('Error message if operation failed'),
84
+ });
85
+ /**
86
+ * Y Combinator Scraper Tool
87
+ *
88
+ * Scrapes Y Combinator company directory to extract company and founder data.
89
+ * Perfect for:
90
+ * - Finding YC founders for networking/outreach
91
+ * - Researching YC companies by batch
92
+ * - Building databases of startup founders
93
+ * - Lead generation targeting YC alumni
94
+ *
95
+ * Uses the Apify Y Combinator scraper actor behind the scenes.
96
+ */
97
+ export class YCScraperTool extends ToolBubble {
98
+ static bubbleName = 'yc-scraper-tool';
99
+ static schema = YCScraperToolParamsSchema;
100
+ static resultSchema = YCScraperToolResultSchema;
101
+ static shortDescription = 'Scrape Y Combinator directory for company and founder data. Find founders by batch (W24, S23, etc.) with LinkedIn profiles.';
102
+ static longDescription = `
103
+ Y Combinator directory scraper for extracting company and founder data.
104
+
105
+ **OPERATIONS:**
106
+ - Scrape companies and founders by YC batch (e.g., W24, S23, W22)
107
+ - Extract founder details including LinkedIn profiles, titles, and bios
108
+ - Get company information including descriptions and websites
109
+
110
+ **WHEN TO USE THIS TOOL:**
111
+ - **YC founder outreach** - find founders from specific batches for networking
112
+ - **Lead generation** - build lists of YC founders for sales/recruiting
113
+ - **Research** - analyze YC companies by batch, industry, or founder background
114
+ - **Competitive analysis** - research YC companies in specific sectors
115
+
116
+ **BATCH FORMAT:**
117
+ - W = Winter batch (January start)
118
+ - S = Summer batch (June start)
119
+ - Examples: W24 (Winter 2024), S23 (Summer 2023), W22 (Winter 2022)
120
+
121
+ **OUTPUT:**
122
+ - People array: Flattened list of founders with company context
123
+ - Companies array: Company-level data with nested founders
124
+ - LinkedIn URLs for direct founder outreach
125
+
126
+ **TIPS:**
127
+ - Start with smaller maxCompanies (20-50) for faster results
128
+ - Use the batch parameter for easier filtering
129
+ - Use url parameter for advanced filtering (industry, location, etc.)
130
+
131
+ The tool uses Apify's Y Combinator scraper for reliable data extraction.
132
+ `;
133
+ static alias = 'yc';
134
+ static type = 'tool';
135
+ constructor(params = {
136
+ batch: 'W24',
137
+ maxCompanies: 50,
138
+ includeFounders: true,
139
+ }, context) {
140
+ super(params, context);
141
+ }
142
+ async performAction() {
143
+ const credentials = this.params?.credentials;
144
+ if (!credentials || !credentials[CredentialType.APIFY_CRED]) {
145
+ return this.createErrorResult('YC scraping requires Apify authentication. Please configure APIFY_CRED.');
146
+ }
147
+ try {
148
+ const { batch, url, maxCompanies, includeFounders } = this.params;
149
+ // Build the YC directory URL
150
+ let scrapeUrl;
151
+ if (batch) {
152
+ // Convert batch format (e.g., "W24" -> "Winter 2024")
153
+ const formattedBatch = this.formatBatchForUrl(batch);
154
+ scrapeUrl = `https://www.ycombinator.com/companies?batch=${encodeURIComponent(formattedBatch)}`;
155
+ }
156
+ else if (url) {
157
+ scrapeUrl = url;
158
+ }
159
+ else {
160
+ return this.createErrorResult('Either batch (e.g., "W24") or url parameter is required');
161
+ }
162
+ // Call the Apify YC scraper
163
+ const apifyScraper = new ApifyBubble({
164
+ actorId: 'michael.g/y-combinator-scraper',
165
+ input: {
166
+ scrape_founders: includeFounders ?? true,
167
+ scrape_open_jobs: false,
168
+ url: scrapeUrl,
169
+ scrape_all_companies: false,
170
+ },
171
+ waitForFinish: true,
172
+ timeout: 300000, // 5 minutes
173
+ credentials: credentials,
174
+ limit: maxCompanies || 50,
175
+ }, this.context, 'ycScraper');
176
+ const result = await apifyScraper.action();
177
+ if (!result.data.success) {
178
+ return this.createErrorResult(result.data.error || 'YC scraper failed. Please try again.');
179
+ }
180
+ const items = (result.data.items || []);
181
+ // Limit to maxCompanies
182
+ const limitedCompanies = items.slice(0, maxCompanies || 50);
183
+ // Transform to our output format
184
+ const companies = this.transformCompanies(limitedCompanies);
185
+ const people = this.extractPeople(limitedCompanies);
186
+ return {
187
+ people,
188
+ companies,
189
+ totalPeople: people.length,
190
+ totalCompanies: companies.length,
191
+ batch: batch?.toUpperCase() || null,
192
+ url: scrapeUrl,
193
+ success: true,
194
+ error: '',
195
+ };
196
+ }
197
+ catch (error) {
198
+ return this.createErrorResult(error instanceof Error ? error.message : 'Unknown error occurred');
199
+ }
200
+ }
201
+ /**
202
+ * Convert batch to full format for URL
203
+ * Handles multiple input formats:
204
+ * - "W24", "S23", "F22", "Sp24" -> "Winter 2024", "Summer 2023", "Fall 2022", "Spring 2024"
205
+ * - "W2024", "S2023", "F2022", "Sp2024" -> full year variants
206
+ * - "Winter 2024", "Summer 2023", "Fall 2022", "Spring 2024" -> pass through
207
+ * - "winter2024", "Winter24", "fall24", "spring24" -> normalized format
208
+ */
209
+ formatBatchForUrl(batch) {
210
+ const normalized = batch.trim();
211
+ // Map short season codes to full names
212
+ const seasonMap = {
213
+ W: 'Winter',
214
+ S: 'Summer',
215
+ F: 'Fall',
216
+ SP: 'Spring',
217
+ };
218
+ // Helper to get season name from code
219
+ const getSeasonName = (code) => {
220
+ const upper = code.toUpperCase();
221
+ return seasonMap[upper];
222
+ };
223
+ // Pattern 1: "Sp24" or "Sp2024" (Spring - check first since it's 2 chars)
224
+ const springMatch = normalized.match(/^(sp)(\d{2,4})$/i);
225
+ if (springMatch) {
226
+ const [, , year] = springMatch;
227
+ const fullYear = year.length === 2 ? `20${year}` : year;
228
+ return `Spring ${fullYear}`;
229
+ }
230
+ // Pattern 2: Short format "W24", "S24", or "F24"
231
+ const shortMatch = normalized.match(/^([WSF])(\d{2})$/i);
232
+ if (shortMatch) {
233
+ const [, season, yearShort] = shortMatch;
234
+ const seasonName = getSeasonName(season);
235
+ return `${seasonName} 20${yearShort}`;
236
+ }
237
+ // Pattern 3: Short format with full year "W2024", "S2024", or "F2024"
238
+ const shortFullYearMatch = normalized.match(/^([WSF])(\d{4})$/i);
239
+ if (shortFullYearMatch) {
240
+ const [, season, year] = shortFullYearMatch;
241
+ const seasonName = getSeasonName(season);
242
+ return `${seasonName} ${year}`;
243
+ }
244
+ // Pattern 4: Full name with 2-digit year "Winter24", "Summer24", "Fall24", "Spring24"
245
+ const fullNameShortYearMatch = normalized.match(/^(winter|summer|fall|spring)\s*(\d{2})$/i);
246
+ if (fullNameShortYearMatch) {
247
+ const [, season, yearShort] = fullNameShortYearMatch;
248
+ const seasonName = season.charAt(0).toUpperCase() + season.slice(1).toLowerCase();
249
+ return `${seasonName} 20${yearShort}`;
250
+ }
251
+ // Pattern 5: Full name with 4-digit year "Winter2024", "Winter 2024", etc.
252
+ const fullNameFullYearMatch = normalized.match(/^(winter|summer|fall|spring)\s*(\d{4})$/i);
253
+ if (fullNameFullYearMatch) {
254
+ const [, season, year] = fullNameFullYearMatch;
255
+ const seasonName = season.charAt(0).toUpperCase() + season.slice(1).toLowerCase();
256
+ return `${seasonName} ${year}`;
257
+ }
258
+ // No pattern matched - return as-is
259
+ return batch;
260
+ }
261
+ /**
262
+ * Create an error result
263
+ */
264
+ createErrorResult(errorMessage) {
265
+ return {
266
+ people: [],
267
+ companies: [],
268
+ totalPeople: 0,
269
+ totalCompanies: 0,
270
+ batch: this.params.batch?.toUpperCase() || null,
271
+ url: this.params.url || null,
272
+ success: false,
273
+ error: errorMessage,
274
+ };
275
+ }
276
+ /**
277
+ * Transform Apify companies to our format
278
+ */
279
+ transformCompanies(items) {
280
+ return items.map((company) => ({
281
+ companyName: company.company_name || null,
282
+ description: company.long_description || company.short_description || null,
283
+ batch: company.batch || null,
284
+ website: company.website || null,
285
+ ycUrl: company.yc_url || null,
286
+ founders: (company.founders || []).map((founder) => ({
287
+ name: founder.name || null,
288
+ title: founder.title || null,
289
+ linkedinUrl: founder.linkedin || null,
290
+ bio: founder.bio || null,
291
+ twitterUrl: founder.x || null,
292
+ })),
293
+ }));
294
+ }
295
+ /**
296
+ * Extract and flatten founders into people array
297
+ */
298
+ extractPeople(items) {
299
+ const people = [];
300
+ for (const company of items) {
301
+ const founders = company.founders || [];
302
+ for (const founder of founders) {
303
+ people.push({
304
+ name: founder.name || null,
305
+ title: founder.title || null,
306
+ currentEmployers: [{ companyName: company.company_name || null }],
307
+ linkedinUrl: founder.linkedin || null,
308
+ twitterUrl: founder.x || null,
309
+ bio: founder.bio || null,
310
+ emails: null, // YC scraper doesn't provide emails
311
+ });
312
+ }
313
+ }
314
+ return people;
315
+ }
316
+ }
317
+ //# sourceMappingURL=yc-scraper-tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yc-scraper-tool.js","sourceRoot":"","sources":["../../../src/bubbles/tool-bubble/yc-scraper-tool.ts"],"names":[],"mappings":"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"}
package/dist/bubbles.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": "2.0.0",
3
- "generatedAt": "2026-02-04T16:19:09.859Z",
4
- "totalCount": 58,
3
+ "generatedAt": "2026-02-04T19:42:33.059Z",
4
+ "totalCount": 59,
5
5
  "bubbles": [
6
6
  {
7
7
  "name": "hello-world",
@@ -60927,6 +60927,248 @@
60927
60927
  "requiredCredentials": [
60928
60928
  "STRIPE_CRED"
60929
60929
  ]
60930
+ },
60931
+ {
60932
+ "name": "yc-scraper-tool",
60933
+ "alias": "yc",
60934
+ "type": "tool",
60935
+ "shortDescription": "Scrape Y Combinator directory for company and founder data. Find founders by batch (W24, S23, etc.) with LinkedIn profiles.",
60936
+ "useCase": "General purpose bubble for various workflow needs",
60937
+ "outputSchema": "{\n people: { name: string | null // Person full name, title: string | null // Title/role at the company, currentEmployers: { companyName: string | null // Company name }[] // Current employers (YC companies), linkedinUrl: string | null // LinkedIn profile URL, twitterUrl: string | null // Twitter/X profile URL, bio: string | null // Founder bio/description, emails: string[] | null // Email addresses (if available) }[] // Array of founders/people extracted,\n companies: { companyName: string | null // Company name, description: string | null // Company description, batch: string | null // YC batch (e.g., W24, S23), website: string | null // Company website URL, ycUrl: string | null // YC company page URL, founders: { name: string | null // Founder full name, title: string | null // Founder title/role at the company, linkedinUrl: string | null // LinkedIn profile URL, bio: string | null // Founder bio/description, twitterUrl: string | null // Twitter/X profile URL }[] // List of founders }[] // Array of YC companies scraped,\n totalPeople: number // Total number of people/founders found,\n totalCompanies: number // Total number of companies scraped,\n batch: string | null // YC batch that was scraped,\n url: string | null // URL that was scraped,\n success: boolean // Whether the operation was successful,\n error: string // Error message if operation failed\n}",
60938
+ "inputJsonSchema": {
60939
+ "type": "object",
60940
+ "properties": {
60941
+ "batch": {
60942
+ "type": "string",
60943
+ "description": "[ONEOF:source] YC batch to scrape (e.g., \"W24\" for Winter 2024, \"S23\" for Summer 2023)."
60944
+ },
60945
+ "url": {
60946
+ "type": "string",
60947
+ "description": "[ONEOF:source] Direct YC directory URL to scrape. Example: \"https://www.ycombinator.com/companies?batch=Winter%202026\". Use this for advanced filtering or full batch names."
60948
+ },
60949
+ "maxCompanies": {
60950
+ "type": "number",
60951
+ "minimum": 1,
60952
+ "maximum": 500,
60953
+ "default": 50,
60954
+ "description": "Maximum number of companies to scrape (default: 50, max: 500)"
60955
+ },
60956
+ "includeFounders": {
60957
+ "type": "boolean",
60958
+ "default": true,
60959
+ "description": "Whether to scrape founder details (default: true)"
60960
+ },
60961
+ "credentials": {
60962
+ "type": "object",
60963
+ "additionalProperties": {
60964
+ "type": "string"
60965
+ },
60966
+ "description": "Required credentials (auto-injected)"
60967
+ }
60968
+ },
60969
+ "additionalProperties": false
60970
+ },
60971
+ "outputJsonSchema": {
60972
+ "type": "object",
60973
+ "properties": {
60974
+ "people": {
60975
+ "type": "array",
60976
+ "items": {
60977
+ "type": "object",
60978
+ "properties": {
60979
+ "name": {
60980
+ "type": "string",
60981
+ "nullable": true,
60982
+ "description": "Person full name"
60983
+ },
60984
+ "title": {
60985
+ "type": "string",
60986
+ "nullable": true,
60987
+ "description": "Title/role at the company"
60988
+ },
60989
+ "currentEmployers": {
60990
+ "type": "array",
60991
+ "items": {
60992
+ "type": "object",
60993
+ "properties": {
60994
+ "companyName": {
60995
+ "type": "string",
60996
+ "nullable": true,
60997
+ "description": "Company name"
60998
+ }
60999
+ },
61000
+ "required": [
61001
+ "companyName"
61002
+ ],
61003
+ "additionalProperties": false
61004
+ },
61005
+ "description": "Current employers (YC companies)"
61006
+ },
61007
+ "linkedinUrl": {
61008
+ "type": "string",
61009
+ "nullable": true,
61010
+ "description": "LinkedIn profile URL"
61011
+ },
61012
+ "twitterUrl": {
61013
+ "type": "string",
61014
+ "nullable": true,
61015
+ "description": "Twitter/X profile URL"
61016
+ },
61017
+ "bio": {
61018
+ "type": "string",
61019
+ "nullable": true,
61020
+ "description": "Founder bio/description"
61021
+ },
61022
+ "emails": {
61023
+ "type": "array",
61024
+ "items": {
61025
+ "type": "string"
61026
+ },
61027
+ "nullable": true,
61028
+ "description": "Email addresses (if available)"
61029
+ }
61030
+ },
61031
+ "required": [
61032
+ "name",
61033
+ "title",
61034
+ "currentEmployers",
61035
+ "linkedinUrl",
61036
+ "twitterUrl",
61037
+ "bio",
61038
+ "emails"
61039
+ ],
61040
+ "additionalProperties": false
61041
+ },
61042
+ "description": "Array of founders/people extracted"
61043
+ },
61044
+ "companies": {
61045
+ "type": "array",
61046
+ "items": {
61047
+ "type": "object",
61048
+ "properties": {
61049
+ "companyName": {
61050
+ "type": "string",
61051
+ "nullable": true,
61052
+ "description": "Company name"
61053
+ },
61054
+ "description": {
61055
+ "type": "string",
61056
+ "nullable": true,
61057
+ "description": "Company description"
61058
+ },
61059
+ "batch": {
61060
+ "type": "string",
61061
+ "nullable": true,
61062
+ "description": "YC batch (e.g., W24, S23)"
61063
+ },
61064
+ "website": {
61065
+ "type": "string",
61066
+ "nullable": true,
61067
+ "description": "Company website URL"
61068
+ },
61069
+ "ycUrl": {
61070
+ "type": "string",
61071
+ "nullable": true,
61072
+ "description": "YC company page URL"
61073
+ },
61074
+ "founders": {
61075
+ "type": "array",
61076
+ "items": {
61077
+ "type": "object",
61078
+ "properties": {
61079
+ "name": {
61080
+ "type": "string",
61081
+ "nullable": true,
61082
+ "description": "Founder full name"
61083
+ },
61084
+ "title": {
61085
+ "type": "string",
61086
+ "nullable": true,
61087
+ "description": "Founder title/role at the company"
61088
+ },
61089
+ "linkedinUrl": {
61090
+ "type": "string",
61091
+ "nullable": true,
61092
+ "description": "LinkedIn profile URL"
61093
+ },
61094
+ "bio": {
61095
+ "type": "string",
61096
+ "nullable": true,
61097
+ "description": "Founder bio/description"
61098
+ },
61099
+ "twitterUrl": {
61100
+ "type": "string",
61101
+ "nullable": true,
61102
+ "description": "Twitter/X profile URL"
61103
+ }
61104
+ },
61105
+ "required": [
61106
+ "name",
61107
+ "title",
61108
+ "linkedinUrl",
61109
+ "bio",
61110
+ "twitterUrl"
61111
+ ],
61112
+ "additionalProperties": false
61113
+ },
61114
+ "description": "List of founders"
61115
+ }
61116
+ },
61117
+ "required": [
61118
+ "companyName",
61119
+ "description",
61120
+ "batch",
61121
+ "website",
61122
+ "ycUrl",
61123
+ "founders"
61124
+ ],
61125
+ "additionalProperties": false
61126
+ },
61127
+ "description": "Array of YC companies scraped"
61128
+ },
61129
+ "totalPeople": {
61130
+ "type": "number",
61131
+ "description": "Total number of people/founders found"
61132
+ },
61133
+ "totalCompanies": {
61134
+ "type": "number",
61135
+ "description": "Total number of companies scraped"
61136
+ },
61137
+ "batch": {
61138
+ "type": "string",
61139
+ "nullable": true,
61140
+ "description": "YC batch that was scraped"
61141
+ },
61142
+ "url": {
61143
+ "type": "string",
61144
+ "nullable": true,
61145
+ "description": "URL that was scraped"
61146
+ },
61147
+ "success": {
61148
+ "type": "boolean",
61149
+ "description": "Whether the operation was successful"
61150
+ },
61151
+ "error": {
61152
+ "type": "string",
61153
+ "description": "Error message if operation failed"
61154
+ }
61155
+ },
61156
+ "required": [
61157
+ "people",
61158
+ "companies",
61159
+ "totalPeople",
61160
+ "totalCompanies",
61161
+ "batch",
61162
+ "url",
61163
+ "success",
61164
+ "error"
61165
+ ],
61166
+ "additionalProperties": false
61167
+ },
61168
+ "usageExample": "// Example usage of yc-scraper-tool bubble\nconst ycScraperTool = new YCScraperTool({\n batch: \"example string\", // [ONEOF:source] YC batch to scrape (e.g., \"W24\" for Winter 2024, \"S23\" for Summer 2023).,\n url: \"example string\", // [ONEOF:source] Direct YC directory URL to scrape. Example: \"https://www.ycombinator.com/companies?batch=Winter%202026\". Use this for advanced filtering or full batch names.,\n maxCompanies: 50 // default, // Maximum number of companies to scrape (default: 50, max: 500),\n includeFounders: true // default, // Whether to scrape founder details (default: true),\n});\n\nconst result = await ycScraperTool.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 // Person full name, title: string | null // Title/role at the company, currentEmployers: { companyName: string | null // Company name }[] // Current employers (YC companies), linkedinUrl: string | null // LinkedIn profile URL, twitterUrl: string | null // Twitter/X profile URL, bio: string | null // Founder bio/description, emails: string[] | null // Email addresses (if available) }[] // Array of founders/people extracted,\n// companies: { companyName: string | null // Company name, description: string | null // Company description, batch: string | null // YC batch (e.g., W24, S23), website: string | null // Company website URL, ycUrl: string | null // YC company page URL, founders: { name: string | null // Founder full name, title: string | null // Founder title/role at the company, linkedinUrl: string | null // LinkedIn profile URL, bio: string | null // Founder bio/description, twitterUrl: string | null // Twitter/X profile URL }[] // List of founders }[] // Array of YC companies scraped,\n// totalPeople: number // Total number of people/founders found,\n// totalCompanies: number // Total number of companies scraped,\n// batch: string | null // YC batch that was scraped,\n// url: string | null // URL that was scraped,\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);",
61169
+ "requiredCredentials": [
61170
+ "APIFY_CRED"
61171
+ ]
60930
61172
  }
60931
61173
  ]
60932
61174
  }
package/dist/index.d.ts CHANGED
@@ -85,6 +85,8 @@ export { AmazonShoppingTool, AmazonShoppingToolParamsSchema, AmazonShoppingToolR
85
85
  export { LinkedInConnectionTool, LinkedInConnectionToolParamsSchema, LinkedInConnectionToolResultSchema, type LinkedInConnectionToolParams, type LinkedInConnectionToolParamsInput, type LinkedInConnectionToolResult, type ProfileInfo, } from './bubbles/tool-bubble/linkedin-connection-tool/index.js';
86
86
  export { CompanyEnrichmentTool } from './bubbles/tool-bubble/company-enrichment-tool.js';
87
87
  export type { Contact, CompanyEnrichmentResult, } from './bubbles/tool-bubble/company-enrichment-tool.js';
88
+ export { YCScraperTool } from './bubbles/tool-bubble/yc-scraper-tool.js';
89
+ export type { YCPerson, YCCompany, YCFounder, } from './bubbles/tool-bubble/yc-scraper-tool.js';
88
90
  export { BubbleFactory, type BubbleClassWithMetadata, } from './bubble-factory.js';
89
91
  export { BubbleLogger, LogLevel, type LogEntry, type LogMetadata, type LoggerConfig, } from './logging/BubbleLogger.js';
90
92
  export { StreamingBubbleLogger } from './logging/StreamingBubbleLogger.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -72,6 +72,7 @@ export { YouTubeTool } from './bubbles/tool-bubble/youtube-tool.js';
72
72
  export { AmazonShoppingTool, AmazonShoppingToolParamsSchema, AmazonShoppingToolResultSchema, } from './bubbles/tool-bubble/amazon-shopping-tool/index.js';
73
73
  export { LinkedInConnectionTool, LinkedInConnectionToolParamsSchema, LinkedInConnectionToolResultSchema, } from './bubbles/tool-bubble/linkedin-connection-tool/index.js';
74
74
  export { CompanyEnrichmentTool } from './bubbles/tool-bubble/company-enrichment-tool.js';
75
+ export { YCScraperTool } from './bubbles/tool-bubble/yc-scraper-tool.js';
75
76
  // Export factory (this is the main way to access bubbles)
76
77
  export { BubbleFactory, } from './bubble-factory.js';
77
78
  // Export logging utilities