@bubblelab/bubble-core 0.1.98 → 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.
- package/dist/bubble-bundle.d.ts +127 -87
- package/dist/bubble-factory.d.ts.map +1 -1
- package/dist/bubble-factory.js +4 -0
- package/dist/bubble-factory.js.map +1 -1
- package/dist/bubbles/service-bubble/ai-agent.d.ts +84 -84
- package/dist/bubbles/service-bubble/airtable.d.ts +100 -100
- package/dist/bubbles/service-bubble/apify/apify.d.ts +14 -14
- package/dist/bubbles/service-bubble/ashby/ashby.d.ts +74 -74
- package/dist/bubbles/service-bubble/ashby/ashby.schema.d.ts +102 -102
- package/dist/bubbles/service-bubble/browserbase/browserbase.d.ts +4 -4
- package/dist/bubbles/service-bubble/browserbase/browserbase.schema.d.ts +4 -4
- package/dist/bubbles/service-bubble/crustdata/crustdata.d.ts +4 -4
- package/dist/bubbles/service-bubble/crustdata/crustdata.schema.d.ts +8 -8
- package/dist/bubbles/service-bubble/firecrawl.d.ts +272 -272
- package/dist/bubbles/service-bubble/followupboss.d.ts +4 -4
- package/dist/bubbles/service-bubble/github.d.ts +40 -40
- package/dist/bubbles/service-bubble/gmail.d.ts +104 -104
- package/dist/bubbles/service-bubble/google-calendar.d.ts +80 -80
- package/dist/bubbles/service-bubble/google-drive.d.ts +40 -40
- package/dist/bubbles/service-bubble/http.d.ts +4 -4
- package/dist/bubbles/service-bubble/insforge-db.d.ts +8 -8
- package/dist/bubbles/service-bubble/jira/jira.d.ts +12 -12
- package/dist/bubbles/service-bubble/jira/jira.schema.d.ts +14 -14
- package/dist/bubbles/service-bubble/notion/notion.d.ts +68 -68
- package/dist/bubbles/service-bubble/postgresql.d.ts +8 -8
- package/dist/bubbles/service-bubble/resend.d.ts +24 -24
- package/dist/bubbles/service-bubble/resend.d.ts.map +1 -1
- package/dist/bubbles/service-bubble/resend.js +9 -7
- package/dist/bubbles/service-bubble/resend.js.map +1 -1
- package/dist/bubbles/service-bubble/slack/slack.d.ts +68 -68
- package/dist/bubbles/service-bubble/storage.d.ts +20 -20
- package/dist/bubbles/service-bubble/stripe/stripe.d.ts +211 -4
- package/dist/bubbles/service-bubble/stripe/stripe.d.ts.map +1 -1
- package/dist/bubbles/service-bubble/stripe/stripe.js +87 -2
- package/dist/bubbles/service-bubble/stripe/stripe.js.map +1 -1
- package/dist/bubbles/service-bubble/stripe/stripe.schema.d.ts +243 -4
- package/dist/bubbles/service-bubble/stripe/stripe.schema.d.ts.map +1 -1
- package/dist/bubbles/service-bubble/stripe/stripe.schema.js +118 -0
- package/dist/bubbles/service-bubble/stripe/stripe.schema.js.map +1 -1
- package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.d.ts +2 -2
- package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.schema.d.ts +2 -2
- package/dist/bubbles/tool-bubble/linkedin-tool.d.ts +52 -52
- package/dist/bubbles/tool-bubble/research-agent-tool.d.ts +4 -4
- package/dist/bubbles/tool-bubble/sql-query-tool.d.ts +4 -4
- package/dist/bubbles/tool-bubble/tiktok-tool.d.ts +16 -16
- package/dist/bubbles/tool-bubble/twitter-tool.d.ts +46 -46
- package/dist/bubbles/tool-bubble/web-crawl-tool.d.ts +4 -4
- package/dist/bubbles/tool-bubble/web-extract-tool.d.ts +4 -4
- package/dist/bubbles/tool-bubble/web-scrape-tool.d.ts +8 -8
- package/dist/bubbles/tool-bubble/yc-scraper-tool.d.ts +516 -0
- package/dist/bubbles/tool-bubble/yc-scraper-tool.d.ts.map +1 -0
- package/dist/bubbles/tool-bubble/yc-scraper-tool.js +317 -0
- package/dist/bubbles/tool-bubble/yc-scraper-tool.js.map +1 -0
- package/dist/bubbles/tool-bubble/youtube-tool.d.ts +10 -10
- package/dist/bubbles/workflow-bubble/pdf-form-operations.workflow.d.ts +44 -44
- package/dist/bubbles/workflow-bubble/pdf-ocr.workflow.d.ts +16 -16
- package/dist/bubbles/workflow-bubble/slack-data-assistant.workflow.d.ts +2 -2
- package/dist/bubbles/workflow-bubble/slack-formatter-agent.d.ts +26 -26
- package/dist/bubbles.json +549 -15
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
|
@@ -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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"}
|
|
@@ -17,11 +17,11 @@ declare const YouTubeVideoSchema: z.ZodObject<{
|
|
|
17
17
|
comments: z.ZodNullable<z.ZodNumber>;
|
|
18
18
|
thumbnail: z.ZodNullable<z.ZodString>;
|
|
19
19
|
}, "strip", z.ZodTypeAny, {
|
|
20
|
+
duration: string | null;
|
|
20
21
|
description: string | null;
|
|
21
22
|
title: string | null;
|
|
22
23
|
date: string | null;
|
|
23
24
|
url: string | null;
|
|
24
|
-
duration: string | null;
|
|
25
25
|
id: string | null;
|
|
26
26
|
thumbnail: string | null;
|
|
27
27
|
comments: number | null;
|
|
@@ -31,11 +31,11 @@ declare const YouTubeVideoSchema: z.ZodObject<{
|
|
|
31
31
|
channelUrl: string | null;
|
|
32
32
|
subscribers: number | null;
|
|
33
33
|
}, {
|
|
34
|
+
duration: string | null;
|
|
34
35
|
description: string | null;
|
|
35
36
|
title: string | null;
|
|
36
37
|
date: string | null;
|
|
37
38
|
url: string | null;
|
|
38
|
-
duration: string | null;
|
|
39
39
|
id: string | null;
|
|
40
40
|
thumbnail: string | null;
|
|
41
41
|
comments: number | null;
|
|
@@ -103,11 +103,11 @@ declare const YouTubeToolResultSchema: z.ZodObject<{
|
|
|
103
103
|
comments: z.ZodNullable<z.ZodNumber>;
|
|
104
104
|
thumbnail: z.ZodNullable<z.ZodString>;
|
|
105
105
|
}, "strip", z.ZodTypeAny, {
|
|
106
|
+
duration: string | null;
|
|
106
107
|
description: string | null;
|
|
107
108
|
title: string | null;
|
|
108
109
|
date: string | null;
|
|
109
110
|
url: string | null;
|
|
110
|
-
duration: string | null;
|
|
111
111
|
id: string | null;
|
|
112
112
|
thumbnail: string | null;
|
|
113
113
|
comments: number | null;
|
|
@@ -117,11 +117,11 @@ declare const YouTubeToolResultSchema: z.ZodObject<{
|
|
|
117
117
|
channelUrl: string | null;
|
|
118
118
|
subscribers: number | null;
|
|
119
119
|
}, {
|
|
120
|
+
duration: string | null;
|
|
120
121
|
description: string | null;
|
|
121
122
|
title: string | null;
|
|
122
123
|
date: string | null;
|
|
123
124
|
url: string | null;
|
|
124
|
-
duration: string | null;
|
|
125
125
|
id: string | null;
|
|
126
126
|
thumbnail: string | null;
|
|
127
127
|
comments: number | null;
|
|
@@ -154,11 +154,11 @@ declare const YouTubeToolResultSchema: z.ZodObject<{
|
|
|
154
154
|
operation: "searchVideos" | "getTranscript" | "scrapeChannel";
|
|
155
155
|
totalResults: number;
|
|
156
156
|
videos?: {
|
|
157
|
+
duration: string | null;
|
|
157
158
|
description: string | null;
|
|
158
159
|
title: string | null;
|
|
159
160
|
date: string | null;
|
|
160
161
|
url: string | null;
|
|
161
|
-
duration: string | null;
|
|
162
162
|
id: string | null;
|
|
163
163
|
thumbnail: string | null;
|
|
164
164
|
comments: number | null;
|
|
@@ -180,11 +180,11 @@ declare const YouTubeToolResultSchema: z.ZodObject<{
|
|
|
180
180
|
operation: "searchVideos" | "getTranscript" | "scrapeChannel";
|
|
181
181
|
totalResults: number;
|
|
182
182
|
videos?: {
|
|
183
|
+
duration: string | null;
|
|
183
184
|
description: string | null;
|
|
184
185
|
title: string | null;
|
|
185
186
|
date: string | null;
|
|
186
187
|
url: string | null;
|
|
187
|
-
duration: string | null;
|
|
188
188
|
id: string | null;
|
|
189
189
|
thumbnail: string | null;
|
|
190
190
|
comments: number | null;
|
|
@@ -261,11 +261,11 @@ export declare class YouTubeTool extends ToolBubble<YouTubeToolParams, YouTubeTo
|
|
|
261
261
|
comments: z.ZodNullable<z.ZodNumber>;
|
|
262
262
|
thumbnail: z.ZodNullable<z.ZodString>;
|
|
263
263
|
}, "strip", z.ZodTypeAny, {
|
|
264
|
+
duration: string | null;
|
|
264
265
|
description: string | null;
|
|
265
266
|
title: string | null;
|
|
266
267
|
date: string | null;
|
|
267
268
|
url: string | null;
|
|
268
|
-
duration: string | null;
|
|
269
269
|
id: string | null;
|
|
270
270
|
thumbnail: string | null;
|
|
271
271
|
comments: number | null;
|
|
@@ -275,11 +275,11 @@ export declare class YouTubeTool extends ToolBubble<YouTubeToolParams, YouTubeTo
|
|
|
275
275
|
channelUrl: string | null;
|
|
276
276
|
subscribers: number | null;
|
|
277
277
|
}, {
|
|
278
|
+
duration: string | null;
|
|
278
279
|
description: string | null;
|
|
279
280
|
title: string | null;
|
|
280
281
|
date: string | null;
|
|
281
282
|
url: string | null;
|
|
282
|
-
duration: string | null;
|
|
283
283
|
id: string | null;
|
|
284
284
|
thumbnail: string | null;
|
|
285
285
|
comments: number | null;
|
|
@@ -312,11 +312,11 @@ export declare class YouTubeTool extends ToolBubble<YouTubeToolParams, YouTubeTo
|
|
|
312
312
|
operation: "searchVideos" | "getTranscript" | "scrapeChannel";
|
|
313
313
|
totalResults: number;
|
|
314
314
|
videos?: {
|
|
315
|
+
duration: string | null;
|
|
315
316
|
description: string | null;
|
|
316
317
|
title: string | null;
|
|
317
318
|
date: string | null;
|
|
318
319
|
url: string | null;
|
|
319
|
-
duration: string | null;
|
|
320
320
|
id: string | null;
|
|
321
321
|
thumbnail: string | null;
|
|
322
322
|
comments: number | null;
|
|
@@ -338,11 +338,11 @@ export declare class YouTubeTool extends ToolBubble<YouTubeToolParams, YouTubeTo
|
|
|
338
338
|
operation: "searchVideos" | "getTranscript" | "scrapeChannel";
|
|
339
339
|
totalResults: number;
|
|
340
340
|
videos?: {
|
|
341
|
+
duration: string | null;
|
|
341
342
|
description: string | null;
|
|
342
343
|
title: string | null;
|
|
343
344
|
date: string | null;
|
|
344
345
|
url: string | null;
|
|
345
|
-
duration: string | null;
|
|
346
346
|
id: string | null;
|
|
347
347
|
thumbnail: string | null;
|
|
348
348
|
comments: number | null;
|