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.
Files changed (72) hide show
  1. package/README.md +140 -500
  2. package/dist/cli-auth.d.ts +2 -0
  3. package/dist/cli-auth.d.ts.map +1 -1
  4. package/dist/cli-auth.js +16 -3
  5. package/dist/cli-auth.js.map +1 -1
  6. package/dist/cli.js +475 -77
  7. package/dist/cli.js.map +1 -1
  8. package/dist/core/actions.d.ts +19 -10
  9. package/dist/core/actions.d.ts.map +1 -1
  10. package/dist/core/actions.js +214 -43
  11. package/dist/core/actions.js.map +1 -1
  12. package/dist/core/agent.d.ts +60 -3
  13. package/dist/core/agent.d.ts.map +1 -1
  14. package/dist/core/agent.js +375 -86
  15. package/dist/core/agent.js.map +1 -1
  16. package/dist/core/answer.d.ts +43 -0
  17. package/dist/core/answer.d.ts.map +1 -0
  18. package/dist/core/answer.js +378 -0
  19. package/dist/core/answer.js.map +1 -0
  20. package/dist/core/cache.d.ts +14 -0
  21. package/dist/core/cache.d.ts.map +1 -0
  22. package/dist/core/cache.js +122 -0
  23. package/dist/core/cache.js.map +1 -0
  24. package/dist/core/dns-cache.d.ts +21 -0
  25. package/dist/core/dns-cache.d.ts.map +1 -0
  26. package/dist/core/dns-cache.js +184 -0
  27. package/dist/core/dns-cache.js.map +1 -0
  28. package/dist/core/documents.d.ts +24 -0
  29. package/dist/core/documents.d.ts.map +1 -0
  30. package/dist/core/documents.js +124 -0
  31. package/dist/core/documents.js.map +1 -0
  32. package/dist/core/extract-inline.d.ts +39 -0
  33. package/dist/core/extract-inline.d.ts.map +1 -0
  34. package/dist/core/extract-inline.js +214 -0
  35. package/dist/core/extract-inline.js.map +1 -0
  36. package/dist/core/fetcher.d.ts +33 -7
  37. package/dist/core/fetcher.d.ts.map +1 -1
  38. package/dist/core/fetcher.js +608 -41
  39. package/dist/core/fetcher.js.map +1 -1
  40. package/dist/core/jobs.d.ts +66 -0
  41. package/dist/core/jobs.d.ts.map +1 -0
  42. package/dist/core/jobs.js +513 -0
  43. package/dist/core/jobs.js.map +1 -0
  44. package/dist/core/markdown.d.ts.map +1 -1
  45. package/dist/core/markdown.js +141 -31
  46. package/dist/core/markdown.js.map +1 -1
  47. package/dist/core/pdf.d.ts.map +1 -1
  48. package/dist/core/pdf.js +3 -1
  49. package/dist/core/pdf.js.map +1 -1
  50. package/dist/core/screenshot.d.ts +33 -0
  51. package/dist/core/screenshot.d.ts.map +1 -0
  52. package/dist/core/screenshot.js +30 -0
  53. package/dist/core/screenshot.js.map +1 -0
  54. package/dist/core/search-provider.d.ts +46 -0
  55. package/dist/core/search-provider.d.ts.map +1 -0
  56. package/dist/core/search-provider.js +281 -0
  57. package/dist/core/search-provider.js.map +1 -0
  58. package/dist/core/strategies.d.ts +7 -10
  59. package/dist/core/strategies.d.ts.map +1 -1
  60. package/dist/core/strategies.js +370 -63
  61. package/dist/core/strategies.js.map +1 -1
  62. package/dist/index.d.ts +9 -3
  63. package/dist/index.d.ts.map +1 -1
  64. package/dist/index.js +61 -32
  65. package/dist/index.js.map +1 -1
  66. package/dist/mcp/server.js +335 -70
  67. package/dist/mcp/server.js.map +1 -1
  68. package/dist/types.d.ts +43 -1
  69. package/dist/types.d.ts.map +1 -1
  70. package/dist/types.js.map +1 -1
  71. package/llms.txt +85 -47
  72. package/package.json +11 -5
@@ -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 & structure
10
- 'nav', 'header', 'footer', 'aside',
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, banners
24
- '[class*="banner"]', '[class*="popup"]', '[class*="modal"]',
25
- '[class*="overlay"]', '[class*="notification-bar"]',
26
- // Social & sharing
27
- '.social-share', '[class*="share"]', '[class*="social"]',
28
- // Newsletter & CTA
29
- '.newsletter-signup', '[class*="newsletter"]', '[class*="subscribe"]',
30
- '[class*="cta"]', '[class*="call-to-action"]', '[class*="signup"]',
31
- // Related content
32
- '.related-posts', '[class*="related"]', '[class*="recommended"]',
33
- '[class*="you-may-also"]', '[class*="more-stories"]',
34
- // Comments
35
- '.comments', '#comments', '[class*="comment"]',
36
- // SVG decorations (icons, decorative elements)
37
- 'svg:not(img svg)',
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
- * Convert HTML to clean, readable Markdown
212
- * @param html - HTML to convert
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
- // Preserve tables
224
- turndown.keep(['table', 'thead', 'tbody', 'tr', 'th', 'td']);
267
+ // Enable GFM support (tables, strikethrough, task lists)
268
+ td.use(gfm);
225
269
  // Custom rule: convert images to alt text or skip
226
- turndown.addRule('images', {
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
- turndown.addRule('codeBlocks', {
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
- let markdown = turndown.turndown(cleanedHTML);
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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"}
@@ -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,CAkBxH"}
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
- const data = await pdfParse(buffer);
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: {
@@ -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;QACpC,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"}
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"}