webpeel 0.7.0 → 0.7.1
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/README.md +140 -500
- package/dist/cli-auth.d.ts +2 -0
- package/dist/cli-auth.d.ts.map +1 -1
- package/dist/cli-auth.js +16 -3
- package/dist/cli-auth.js.map +1 -1
- package/dist/cli.js +475 -77
- package/dist/cli.js.map +1 -1
- package/dist/core/actions.d.ts +19 -10
- package/dist/core/actions.d.ts.map +1 -1
- package/dist/core/actions.js +214 -43
- package/dist/core/actions.js.map +1 -1
- package/dist/core/agent.d.ts +60 -3
- package/dist/core/agent.d.ts.map +1 -1
- package/dist/core/agent.js +375 -86
- package/dist/core/agent.js.map +1 -1
- package/dist/core/answer.d.ts +43 -0
- package/dist/core/answer.d.ts.map +1 -0
- package/dist/core/answer.js +378 -0
- package/dist/core/answer.js.map +1 -0
- package/dist/core/cache.d.ts +14 -0
- package/dist/core/cache.d.ts.map +1 -0
- package/dist/core/cache.js +122 -0
- package/dist/core/cache.js.map +1 -0
- package/dist/core/dns-cache.d.ts +21 -0
- package/dist/core/dns-cache.d.ts.map +1 -0
- package/dist/core/dns-cache.js +184 -0
- package/dist/core/dns-cache.js.map +1 -0
- package/dist/core/documents.d.ts +24 -0
- package/dist/core/documents.d.ts.map +1 -0
- package/dist/core/documents.js +124 -0
- package/dist/core/documents.js.map +1 -0
- package/dist/core/extract-inline.d.ts +39 -0
- package/dist/core/extract-inline.d.ts.map +1 -0
- package/dist/core/extract-inline.js +214 -0
- package/dist/core/extract-inline.js.map +1 -0
- package/dist/core/fetcher.d.ts +33 -7
- package/dist/core/fetcher.d.ts.map +1 -1
- package/dist/core/fetcher.js +608 -41
- package/dist/core/fetcher.js.map +1 -1
- package/dist/core/jobs.d.ts +66 -0
- package/dist/core/jobs.d.ts.map +1 -0
- package/dist/core/jobs.js +513 -0
- package/dist/core/jobs.js.map +1 -0
- package/dist/core/markdown.d.ts.map +1 -1
- package/dist/core/markdown.js +141 -31
- package/dist/core/markdown.js.map +1 -1
- package/dist/core/pdf.d.ts.map +1 -1
- package/dist/core/pdf.js +3 -1
- package/dist/core/pdf.js.map +1 -1
- package/dist/core/screenshot.d.ts +33 -0
- package/dist/core/screenshot.d.ts.map +1 -0
- package/dist/core/screenshot.js +30 -0
- package/dist/core/screenshot.js.map +1 -0
- package/dist/core/search-provider.d.ts +46 -0
- package/dist/core/search-provider.d.ts.map +1 -0
- package/dist/core/search-provider.js +281 -0
- package/dist/core/search-provider.js.map +1 -0
- package/dist/core/strategies.d.ts +7 -10
- package/dist/core/strategies.d.ts.map +1 -1
- package/dist/core/strategies.js +370 -63
- package/dist/core/strategies.js.map +1 -1
- package/dist/index.d.ts +9 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +61 -32
- package/dist/index.js.map +1 -1
- package/dist/mcp/server.js +335 -70
- package/dist/mcp/server.js.map +1 -1
- package/dist/types.d.ts +43 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/llms.txt +85 -47
- package/package.json +11 -5
package/dist/core/markdown.js
CHANGED
|
@@ -2,14 +2,13 @@
|
|
|
2
2
|
* HTML to Markdown conversion with smart cleanup
|
|
3
3
|
*/
|
|
4
4
|
import TurndownService from 'turndown';
|
|
5
|
+
import { gfm } from 'turndown-plugin-gfm';
|
|
5
6
|
import * as cheerio from 'cheerio';
|
|
6
7
|
const JUNK_SELECTORS = [
|
|
7
8
|
// Scripts, styles, metadata
|
|
8
9
|
'script', 'style', 'noscript', 'iframe', 'link[rel="stylesheet"]',
|
|
9
|
-
// Navigation
|
|
10
|
-
'nav', '
|
|
11
|
-
'[role="navigation"]', '[role="banner"]', '[role="contentinfo"]',
|
|
12
|
-
'[role="complementary"]', '[role="search"]',
|
|
10
|
+
// Navigation
|
|
11
|
+
'nav', '[role="navigation"]', '[role="search"]',
|
|
13
12
|
'.sidebar', '.topbar', '.top-bar', '.site-nav', '.main-nav',
|
|
14
13
|
'.breadcrumb', '.breadcrumbs', '[class*="breadcrumb"]',
|
|
15
14
|
'.pagination', '[class*="pagination"]',
|
|
@@ -20,21 +19,36 @@ const JUNK_SELECTORS = [
|
|
|
20
19
|
'.cookie-banner', '.cookie-notice', '.cookie-consent',
|
|
21
20
|
'[class*="cookie"]', '[id*="cookie"]',
|
|
22
21
|
'[class*="consent"]', '[class*="gdpr"]',
|
|
23
|
-
// Popups, modals
|
|
24
|
-
'[class*="
|
|
25
|
-
'[class*="
|
|
26
|
-
//
|
|
27
|
-
'.
|
|
28
|
-
//
|
|
29
|
-
'.
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
'.
|
|
33
|
-
'
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
22
|
+
// Popups, modals (precise selectors — no broad banner/overlay)
|
|
23
|
+
'[class*="popup"]', '[class*="modal"]',
|
|
24
|
+
'[class*="notification-bar"]',
|
|
25
|
+
// Banners — only known ad/promo banners
|
|
26
|
+
'.ad-banner', '.promo-banner',
|
|
27
|
+
// Social & sharing — only sharing widgets
|
|
28
|
+
'.social-share', '.share-buttons', '.share-widget',
|
|
29
|
+
// Newsletter & CTA — only forms/widgets
|
|
30
|
+
'.newsletter-signup', '[class*="newsletter"]',
|
|
31
|
+
'.subscribe-form', '.subscribe-widget',
|
|
32
|
+
'.signup-form', '.signup-widget', '.signup-cta',
|
|
33
|
+
'[class*="call-to-action"]',
|
|
34
|
+
// Related content — only explicit widgets
|
|
35
|
+
'.related-posts', '[class*="you-may-also"]', '[class*="more-stories"]',
|
|
36
|
+
// Comments — only sections/forms, not comment text
|
|
37
|
+
'.comments-section', '.comment-form', '#comments',
|
|
38
|
+
// Job site CTAs — resume upload prompts, apply nudges, sign-in gates
|
|
39
|
+
'[class*="resume-upload"]', '[class*="resumeUpload"]',
|
|
40
|
+
'[class*="job-alert"]', '[class*="jobAlert"]',
|
|
41
|
+
'[class*="sign-in-gate"]', '[class*="signin-prompt"]',
|
|
42
|
+
// Login/auth gates (specific patterns to avoid matching "navigate", "aggregate", etc.)
|
|
43
|
+
'[class*="login-wall"]', '[class*="paywall"]', '[class*="signin-gate"]',
|
|
44
|
+
'[class*="login-gate"]', '[class*="access-gate"]', '[class*="content-gate"]',
|
|
45
|
+
'[class*="registration-wall"]', '.login-prompt', '.auth-wall',
|
|
46
|
+
// Chat widgets
|
|
47
|
+
'[class*="chat-widget"]', '[class*="chatbot"]', '[class*="intercom"]',
|
|
48
|
+
'[class*="drift-"]', '[class*="zendesk"]', '[class*="crisp"]',
|
|
49
|
+
'[class*="hubspot"]', '#hubspot-messages-iframe-container',
|
|
50
|
+
// Skip links
|
|
51
|
+
'.skip-to-content', '.skip-link', '.skip-nav',
|
|
38
52
|
];
|
|
39
53
|
/**
|
|
40
54
|
* Filter HTML by including or excluding specific tags/selectors
|
|
@@ -108,6 +122,19 @@ function cleanHTML(html) {
|
|
|
108
122
|
JUNK_SELECTORS.forEach((selector) => {
|
|
109
123
|
$(selector).remove();
|
|
110
124
|
});
|
|
125
|
+
// Conditionally remove header/footer — keep if they have substantial content (>200 chars)
|
|
126
|
+
$('header, [role="banner"]').each((_, el) => {
|
|
127
|
+
const text = $(el).text().trim();
|
|
128
|
+
if (text.length < 200)
|
|
129
|
+
$(el).remove();
|
|
130
|
+
});
|
|
131
|
+
$('footer, [role="contentinfo"]').each((_, el) => {
|
|
132
|
+
const text = $(el).text().trim();
|
|
133
|
+
if (text.length < 200)
|
|
134
|
+
$(el).remove();
|
|
135
|
+
});
|
|
136
|
+
// Only remove sidebar-like asides, not all aside elements
|
|
137
|
+
$('aside.sidebar, aside[role="complementary"], aside[class*="sidebar"]').remove();
|
|
111
138
|
// Remove empty paragraphs and divs
|
|
112
139
|
$('p:empty, div:empty').remove();
|
|
113
140
|
// Remove elements with only whitespace
|
|
@@ -135,6 +162,10 @@ const MAIN_CONTENT_SELECTORS = [
|
|
|
135
162
|
'.post-body', '.story-body', '.page-content',
|
|
136
163
|
'#content', '#main-content', '#article', '#post',
|
|
137
164
|
'.content', '.main-content',
|
|
165
|
+
'.prose', '.markdown-body', '.post-text', '.article__body',
|
|
166
|
+
'.story-content', '.entry-text', '.post-entry',
|
|
167
|
+
'[itemprop="articleBody"]', '[data-article-body]',
|
|
168
|
+
'.blog-post-content', '.blog-content',
|
|
138
169
|
];
|
|
139
170
|
/**
|
|
140
171
|
* Try to detect the main content area of a page.
|
|
@@ -142,12 +173,25 @@ const MAIN_CONTENT_SELECTORS = [
|
|
|
142
173
|
*/
|
|
143
174
|
export function detectMainContent(html) {
|
|
144
175
|
const $ = cheerio.load(html);
|
|
176
|
+
// Helper: get visible text length (ignoring script/style/noscript)
|
|
177
|
+
function visibleTextLength(root) {
|
|
178
|
+
const clone = root.clone();
|
|
179
|
+
clone.find('script, style, noscript').remove();
|
|
180
|
+
return clone.text().trim().length;
|
|
181
|
+
}
|
|
182
|
+
const totalTextLen = visibleTextLength($.root());
|
|
145
183
|
for (const selector of MAIN_CONTENT_SELECTORS) {
|
|
146
184
|
const el = $(selector);
|
|
147
185
|
if (el.length > 0) {
|
|
148
186
|
// Check if it has meaningful content (at least 100 chars of text)
|
|
149
187
|
const text = el.first().text().trim();
|
|
150
188
|
if (text.length >= 100) {
|
|
189
|
+
// Text-coverage heuristic: if detected element has <50% of page text,
|
|
190
|
+
// the detection was too narrow — return full page instead
|
|
191
|
+
const candidateLen = visibleTextLength(el.first());
|
|
192
|
+
if (totalTextLen > 0 && candidateLen / totalTextLen < 0.5) {
|
|
193
|
+
return { html, detected: false };
|
|
194
|
+
}
|
|
151
195
|
return { html: $.html(el.first()), detected: true };
|
|
152
196
|
}
|
|
153
197
|
}
|
|
@@ -169,6 +213,10 @@ export function detectMainContent(html) {
|
|
|
169
213
|
}
|
|
170
214
|
});
|
|
171
215
|
if (bestEl && bestLen > 300) {
|
|
216
|
+
// Same coverage check for fallback
|
|
217
|
+
if (totalTextLen > 0 && bestLen / totalTextLen < 0.5) {
|
|
218
|
+
return { html, detected: false };
|
|
219
|
+
}
|
|
172
220
|
return { html: $.html(bestEl), detected: true };
|
|
173
221
|
}
|
|
174
222
|
return { html, detected: false };
|
|
@@ -207,23 +255,19 @@ export function calculateQuality(content, originalHtml) {
|
|
|
207
255
|
lengthScore * 0.2);
|
|
208
256
|
return Math.round(quality * 100) / 100;
|
|
209
257
|
}
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
*/
|
|
214
|
-
export function htmlToMarkdown(html, _options) {
|
|
215
|
-
const cleanedHTML = cleanHTML(html);
|
|
216
|
-
const turndown = new TurndownService({
|
|
258
|
+
// Module-level singleton TurndownService — stateless per-call, safe to reuse.
|
|
259
|
+
const turndownSingleton = (() => {
|
|
260
|
+
const td = new TurndownService({
|
|
217
261
|
headingStyle: 'atx',
|
|
218
262
|
codeBlockStyle: 'fenced',
|
|
219
263
|
bulletListMarker: '-',
|
|
220
264
|
emDelimiter: '_',
|
|
221
265
|
strongDelimiter: '**',
|
|
222
266
|
});
|
|
223
|
-
//
|
|
224
|
-
|
|
267
|
+
// Enable GFM support (tables, strikethrough, task lists)
|
|
268
|
+
td.use(gfm);
|
|
225
269
|
// Custom rule: convert images to alt text or skip
|
|
226
|
-
|
|
270
|
+
td.addRule('images', {
|
|
227
271
|
filter: 'img',
|
|
228
272
|
replacement: (_content, node) => {
|
|
229
273
|
const alt = node.alt;
|
|
@@ -235,7 +279,7 @@ export function htmlToMarkdown(html, _options) {
|
|
|
235
279
|
},
|
|
236
280
|
});
|
|
237
281
|
// Custom rule: preserve code blocks
|
|
238
|
-
|
|
282
|
+
td.addRule('codeBlocks', {
|
|
239
283
|
filter: (node) => {
|
|
240
284
|
return node.nodeName === 'PRE' && node.firstChild?.nodeName === 'CODE';
|
|
241
285
|
},
|
|
@@ -246,7 +290,15 @@ export function htmlToMarkdown(html, _options) {
|
|
|
246
290
|
return '\n\n```' + language + '\n' + codeNode.textContent + '\n```\n\n';
|
|
247
291
|
},
|
|
248
292
|
});
|
|
249
|
-
|
|
293
|
+
return td;
|
|
294
|
+
})();
|
|
295
|
+
/**
|
|
296
|
+
* Convert HTML to clean, readable Markdown
|
|
297
|
+
* @param html - HTML to convert
|
|
298
|
+
*/
|
|
299
|
+
export function htmlToMarkdown(html, _options) {
|
|
300
|
+
const cleanedHTML = cleanHTML(html);
|
|
301
|
+
let markdown = turndownSingleton.turndown(cleanedHTML);
|
|
250
302
|
// SECURITY: Protect against ReDoS - limit input size before regex
|
|
251
303
|
if (markdown.length > 1024 * 1024) { // 1MB limit for markdown
|
|
252
304
|
markdown = markdown.slice(0, 1024 * 1024);
|
|
@@ -261,6 +313,64 @@ export function htmlToMarkdown(html, _options) {
|
|
|
261
313
|
return acc;
|
|
262
314
|
return acc + '\n' + line;
|
|
263
315
|
}, '');
|
|
316
|
+
// Remove common CTA / noise lines (job sites, sign-up prompts, etc.)
|
|
317
|
+
// Strip markdown heading prefix before matching (e.g., "## Are you open...")
|
|
318
|
+
markdown = markdown.split('\n').filter(line => {
|
|
319
|
+
const trimmed = line.trim().toLowerCase().replace(/^#{1,6}\s*/, '');
|
|
320
|
+
// Job site CTA noise
|
|
321
|
+
if (trimmed === 'upload resume' || trimmed === 'upload your resume')
|
|
322
|
+
return false;
|
|
323
|
+
if (trimmed === 'apply now' || trimmed === 'apply on employer site' || trimmed === 'apply on employer siteapply now')
|
|
324
|
+
return false;
|
|
325
|
+
if (trimmed === 'easy apply' || trimmed === 'save job' || trimmed === 'easy apply onlyremote only')
|
|
326
|
+
return false;
|
|
327
|
+
if (/^(is your resume a good match|are you open to new opportunities)\??$/.test(trimmed))
|
|
328
|
+
return false;
|
|
329
|
+
if (/^upload your resume to increase your chances/i.test(trimmed))
|
|
330
|
+
return false;
|
|
331
|
+
if (/^use ai to find out how well/i.test(trimmed))
|
|
332
|
+
return false;
|
|
333
|
+
// Job site filter sidebar labels (standalone)
|
|
334
|
+
if (trimmed === 'company rating' || trimmed === 'date posted' || trimmed === 'salary range')
|
|
335
|
+
return false;
|
|
336
|
+
// Indeed profile insights noise
|
|
337
|
+
if (/^do you have (experience in|a )/i.test(trimmed))
|
|
338
|
+
return false;
|
|
339
|
+
if (trimmed === 'yesno' || trimmed === 'yes no')
|
|
340
|
+
return false;
|
|
341
|
+
if (trimmed === 'profile insights' || trimmed === 'find out how your skills align')
|
|
342
|
+
return false;
|
|
343
|
+
if (/^find out how your skills align/i.test(trimmed))
|
|
344
|
+
return false;
|
|
345
|
+
// Common UI artifacts (icons, loading, inline labels)
|
|
346
|
+
if (trimmed === 'save-icon' || trimmed === 'loading' || trimmed === 'report job')
|
|
347
|
+
return false;
|
|
348
|
+
if (/^show more(chevron down)?$/i.test(trimmed))
|
|
349
|
+
return false;
|
|
350
|
+
if (trimmed === 'whatwherefind jobs')
|
|
351
|
+
return false;
|
|
352
|
+
return true;
|
|
353
|
+
}).join('\n');
|
|
354
|
+
// Truncate trailing recommendation/related-jobs sections (common on job sites like Indeed)
|
|
355
|
+
// These appear after the main content and add 1000+ tokens of noise
|
|
356
|
+
const trailCutPatterns = [
|
|
357
|
+
/^#{1,3}\s*(explore other jobs|discover opportunities beyond)/im,
|
|
358
|
+
/^#{1,3}\s*(jobs with similar titles)/im,
|
|
359
|
+
/^#{1,3}\s*(similar job categories)/im,
|
|
360
|
+
/^#{1,3}\s*(career guide articles)/im,
|
|
361
|
+
/^#{1,3}\s*(similar jobs nearby)/im,
|
|
362
|
+
/^#{1,3}\s*(company and salary information)/im,
|
|
363
|
+
];
|
|
364
|
+
for (const pattern of trailCutPatterns) {
|
|
365
|
+
const match = pattern.exec(markdown);
|
|
366
|
+
if (match && match.index !== undefined) {
|
|
367
|
+
// Only truncate if the noise section is in the bottom 40% of the content
|
|
368
|
+
if (match.index > markdown.length * 0.6) {
|
|
369
|
+
markdown = markdown.slice(0, match.index).trim();
|
|
370
|
+
break;
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
}
|
|
264
374
|
// Remove leading/trailing whitespace
|
|
265
375
|
markdown = markdown.trim();
|
|
266
376
|
return markdown;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../src/core/markdown.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../src/core/markdown.ts"],"names":[],"mappings":"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"}
|
package/dist/core/pdf.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pdf.d.ts","sourceRoot":"","sources":["../../src/core/pdf.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"pdf.d.ts","sourceRoot":"","sources":["../../src/core/pdf.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAoBxH"}
|
package/dist/core/pdf.js
CHANGED
|
@@ -4,7 +4,9 @@
|
|
|
4
4
|
export async function extractPdf(buffer) {
|
|
5
5
|
try {
|
|
6
6
|
const pdfParse = (await import('pdf-parse')).default;
|
|
7
|
-
|
|
7
|
+
// pdf-parse (pdfjs) requires Uint8Array — passing a Node Buffer causes xref parse errors.
|
|
8
|
+
// The type definitions say Buffer, but at runtime pdfjs needs a plain Uint8Array.
|
|
9
|
+
const data = await pdfParse(new Uint8Array(buffer));
|
|
8
10
|
return {
|
|
9
11
|
text: data.text,
|
|
10
12
|
metadata: {
|
package/dist/core/pdf.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pdf.js","sourceRoot":"","sources":["../../src/core/pdf.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,MAAc;IAC7C,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,CAAC,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC;QACrD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"pdf.js","sourceRoot":"","sources":["../../src/core/pdf.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,MAAc;IAC7C,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,CAAC,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC;QACrD,0FAA0F;QAC1F,kFAAkF;QAClF,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,UAAU,CAAC,MAAM,CAAsB,CAAC,CAAC;QACzE,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE;gBACR,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE;gBAC7B,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,IAAI,EAAE;gBAC/B,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE;gBACjC,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,IAAI,EAAE;gBACnC,YAAY,EAAE,IAAI,CAAC,IAAI,EAAE,YAAY,IAAI,EAAE;aAC5C;YACD,KAAK,EAAE,IAAI,CAAC,QAAQ;SACrB,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,uBAAuB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,4CAA4C,CAAC,CAAC;IAC/I,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Screenshot helper (Playwright)
|
|
3
|
+
*
|
|
4
|
+
* Returns a base64-encoded screenshot for a given URL.
|
|
5
|
+
*/
|
|
6
|
+
import type { PageAction } from '../types.js';
|
|
7
|
+
export type ScreenshotFormat = 'png' | 'jpeg';
|
|
8
|
+
export interface ScreenshotOptions {
|
|
9
|
+
fullPage?: boolean;
|
|
10
|
+
width?: number;
|
|
11
|
+
height?: number;
|
|
12
|
+
/** png | jpeg | jpg (jpg is treated as jpeg) */
|
|
13
|
+
format?: 'png' | 'jpeg' | 'jpg';
|
|
14
|
+
/** JPEG quality (1-100). Ignored for PNG. */
|
|
15
|
+
quality?: number;
|
|
16
|
+
/** Wait in ms after page load (domcontentloaded) */
|
|
17
|
+
waitFor?: number;
|
|
18
|
+
timeout?: number;
|
|
19
|
+
userAgent?: string;
|
|
20
|
+
headers?: Record<string, string>;
|
|
21
|
+
cookies?: string[];
|
|
22
|
+
stealth?: boolean;
|
|
23
|
+
actions?: PageAction[];
|
|
24
|
+
}
|
|
25
|
+
export interface ScreenshotResult {
|
|
26
|
+
url: string;
|
|
27
|
+
format: ScreenshotFormat;
|
|
28
|
+
contentType: string;
|
|
29
|
+
/** Base64-encoded image bytes (no data: prefix) */
|
|
30
|
+
screenshot: string;
|
|
31
|
+
}
|
|
32
|
+
export declare function takeScreenshot(url: string, options?: ScreenshotOptions): Promise<ScreenshotResult>;
|
|
33
|
+
//# sourceMappingURL=screenshot.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"screenshot.d.ts","sourceRoot":"","sources":["../../src/core/screenshot.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAG9C,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,MAAM,CAAC;AAE9C,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gDAAgD;IAChD,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,CAAC;IAChC,6CAA6C;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oDAAoD;IACpD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,gBAAgB,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,mDAAmD;IACnD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAwB5G"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Screenshot helper (Playwright)
|
|
3
|
+
*
|
|
4
|
+
* Returns a base64-encoded screenshot for a given URL.
|
|
5
|
+
*/
|
|
6
|
+
import { browserScreenshot } from './fetcher.js';
|
|
7
|
+
export async function takeScreenshot(url, options = {}) {
|
|
8
|
+
const format = (options.format === 'jpg' ? 'jpeg' : (options.format || 'png'));
|
|
9
|
+
const { buffer, finalUrl } = await browserScreenshot(url, {
|
|
10
|
+
fullPage: options.fullPage || false,
|
|
11
|
+
width: options.width,
|
|
12
|
+
height: options.height,
|
|
13
|
+
format,
|
|
14
|
+
quality: options.quality,
|
|
15
|
+
waitMs: options.waitFor,
|
|
16
|
+
timeoutMs: options.timeout,
|
|
17
|
+
userAgent: options.userAgent,
|
|
18
|
+
headers: options.headers,
|
|
19
|
+
cookies: options.cookies,
|
|
20
|
+
stealth: options.stealth,
|
|
21
|
+
actions: options.actions,
|
|
22
|
+
});
|
|
23
|
+
return {
|
|
24
|
+
url: finalUrl,
|
|
25
|
+
format,
|
|
26
|
+
contentType: format === 'png' ? 'image/png' : 'image/jpeg',
|
|
27
|
+
screenshot: buffer.toString('base64'),
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=screenshot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"screenshot.js","sourceRoot":"","sources":["../../src/core/screenshot.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AA8BjD,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,GAAW,EAAE,UAA6B,EAAE;IAC/E,MAAM,MAAM,GAAqB,CAAC,OAAO,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC,CAAqB,CAAC;IAErH,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,iBAAiB,CAAC,GAAG,EAAE;QACxD,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,KAAK;QACnC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,MAAM;QACN,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,MAAM,EAAE,OAAO,CAAC,OAAO;QACvB,SAAS,EAAE,OAAO,CAAC,OAAO;QAC1B,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,OAAO,EAAE,OAAO,CAAC,OAAO;KACzB,CAAC,CAAC;IAEH,OAAO;QACL,GAAG,EAAE,QAAQ;QACb,MAAM;QACN,WAAW,EAAE,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY;QAC1D,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;KACtC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Search provider abstraction
|
|
3
|
+
*
|
|
4
|
+
* WebPeel supports multiple web search backends. DuckDuckGo is the default
|
|
5
|
+
* (no API key required). Brave Search is supported via BYOK.
|
|
6
|
+
*/
|
|
7
|
+
export type SearchProviderId = 'duckduckgo' | 'brave';
|
|
8
|
+
export interface WebSearchResult {
|
|
9
|
+
title: string;
|
|
10
|
+
url: string;
|
|
11
|
+
snippet: string;
|
|
12
|
+
}
|
|
13
|
+
export interface WebSearchOptions {
|
|
14
|
+
/** Number of results (1-10) */
|
|
15
|
+
count: number;
|
|
16
|
+
/** Provider API key (required for some providers, e.g. Brave) */
|
|
17
|
+
apiKey?: string;
|
|
18
|
+
/** Time filter (DuckDuckGo: df param) */
|
|
19
|
+
tbs?: string;
|
|
20
|
+
/** Country code for geo-targeting */
|
|
21
|
+
country?: string;
|
|
22
|
+
/** Location/region for geo-targeting */
|
|
23
|
+
location?: string;
|
|
24
|
+
/** Optional AbortSignal */
|
|
25
|
+
signal?: AbortSignal;
|
|
26
|
+
}
|
|
27
|
+
export interface SearchProvider {
|
|
28
|
+
readonly id: SearchProviderId;
|
|
29
|
+
readonly requiresApiKey: boolean;
|
|
30
|
+
searchWeb(query: string, options: WebSearchOptions): Promise<WebSearchResult[]>;
|
|
31
|
+
}
|
|
32
|
+
export declare class DuckDuckGoProvider implements SearchProvider {
|
|
33
|
+
readonly id: SearchProviderId;
|
|
34
|
+
readonly requiresApiKey = false;
|
|
35
|
+
private buildQueryAttempts;
|
|
36
|
+
private buildSearchUrl;
|
|
37
|
+
private searchOnce;
|
|
38
|
+
searchWeb(query: string, options: WebSearchOptions): Promise<WebSearchResult[]>;
|
|
39
|
+
}
|
|
40
|
+
export declare class BraveSearchProvider implements SearchProvider {
|
|
41
|
+
readonly id: SearchProviderId;
|
|
42
|
+
readonly requiresApiKey = true;
|
|
43
|
+
searchWeb(query: string, options: WebSearchOptions): Promise<WebSearchResult[]>;
|
|
44
|
+
}
|
|
45
|
+
export declare function getSearchProvider(id: SearchProviderId | undefined): SearchProvider;
|
|
46
|
+
//# sourceMappingURL=search-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-provider.d.ts","sourceRoot":"","sources":["../../src/core/search-provider.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG,OAAO,CAAC;AAEtD,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,+BAA+B;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,iEAAiE;IACjE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,qCAAqC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wCAAwC;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2BAA2B;IAC3B,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,EAAE,gBAAgB,CAAC;IAC9B,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IAEjC,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;CACjF;AAwED,qBAAa,kBAAmB,YAAW,cAAc;IACvD,QAAQ,CAAC,EAAE,EAAE,gBAAgB,CAAgB;IAC7C,QAAQ,CAAC,cAAc,SAAS;IAEhC,OAAO,CAAC,kBAAkB;IA8C1B,OAAO,CAAC,cAAc;YAoBR,UAAU;IA8ElB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;CAWtF;AAED,qBAAa,mBAAoB,YAAW,cAAc;IACxD,QAAQ,CAAC,EAAE,EAAE,gBAAgB,CAAW;IACxC,QAAQ,CAAC,cAAc,QAAQ;IAEzB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;CA8DtF;AAED,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,gBAAgB,GAAG,SAAS,GAAG,cAAc,CAMlF"}
|