webpeel 0.16.0 → 0.17.0

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 (113) hide show
  1. package/LICENSE +11 -657
  2. package/README.md +246 -325
  3. package/dist/cli.js +330 -73
  4. package/dist/cli.js.map +1 -1
  5. package/dist/core/browser-fetch.d.ts +12 -0
  6. package/dist/core/browser-fetch.d.ts.map +1 -1
  7. package/dist/core/browser-fetch.js +70 -17
  8. package/dist/core/browser-fetch.js.map +1 -1
  9. package/dist/core/cf-worker-proxy.d.ts +33 -0
  10. package/dist/core/cf-worker-proxy.d.ts.map +1 -0
  11. package/dist/core/cf-worker-proxy.js +88 -0
  12. package/dist/core/cf-worker-proxy.js.map +1 -0
  13. package/dist/core/chunker.d.ts +47 -0
  14. package/dist/core/chunker.d.ts.map +1 -0
  15. package/dist/core/chunker.js +250 -0
  16. package/dist/core/chunker.js.map +1 -0
  17. package/dist/core/cloak-fetch.d.ts +43 -0
  18. package/dist/core/cloak-fetch.d.ts.map +1 -0
  19. package/dist/core/cloak-fetch.js +141 -0
  20. package/dist/core/cloak-fetch.js.map +1 -0
  21. package/dist/core/crawl-checkpoint.d.ts +55 -0
  22. package/dist/core/crawl-checkpoint.d.ts.map +1 -0
  23. package/dist/core/crawl-checkpoint.js +105 -0
  24. package/dist/core/crawl-checkpoint.js.map +1 -0
  25. package/dist/core/crawler.d.ts +5 -1
  26. package/dist/core/crawler.d.ts.map +1 -1
  27. package/dist/core/crawler.js +60 -5
  28. package/dist/core/crawler.js.map +1 -1
  29. package/dist/core/cycle-fetch.d.ts +27 -0
  30. package/dist/core/cycle-fetch.d.ts.map +1 -0
  31. package/dist/core/cycle-fetch.js +99 -0
  32. package/dist/core/cycle-fetch.js.map +1 -0
  33. package/dist/core/domain-extractors.d.ts.map +1 -1
  34. package/dist/core/domain-extractors.js +754 -14
  35. package/dist/core/domain-extractors.js.map +1 -1
  36. package/dist/core/google-cache.d.ts +30 -0
  37. package/dist/core/google-cache.d.ts.map +1 -0
  38. package/dist/core/google-cache.js +181 -0
  39. package/dist/core/google-cache.js.map +1 -0
  40. package/dist/core/markdown.d.ts +11 -0
  41. package/dist/core/markdown.d.ts.map +1 -1
  42. package/dist/core/markdown.js +43 -0
  43. package/dist/core/markdown.js.map +1 -1
  44. package/dist/core/peel-tls.d.ts +26 -0
  45. package/dist/core/peel-tls.d.ts.map +1 -0
  46. package/dist/core/peel-tls.js +221 -0
  47. package/dist/core/peel-tls.js.map +1 -0
  48. package/dist/core/pipeline.d.ts +5 -1
  49. package/dist/core/pipeline.d.ts.map +1 -1
  50. package/dist/core/pipeline.js +269 -21
  51. package/dist/core/pipeline.js.map +1 -1
  52. package/dist/core/schema-postprocess.d.ts +33 -0
  53. package/dist/core/schema-postprocess.d.ts.map +1 -0
  54. package/dist/core/schema-postprocess.js +470 -0
  55. package/dist/core/schema-postprocess.js.map +1 -0
  56. package/dist/core/schema-templates.d.ts +20 -0
  57. package/dist/core/schema-templates.d.ts.map +1 -0
  58. package/dist/core/schema-templates.js +131 -0
  59. package/dist/core/schema-templates.js.map +1 -0
  60. package/dist/core/search-fallback.d.ts +28 -0
  61. package/dist/core/search-fallback.d.ts.map +1 -0
  62. package/dist/core/search-fallback.js +185 -0
  63. package/dist/core/search-fallback.js.map +1 -0
  64. package/dist/core/search-provider.d.ts +47 -4
  65. package/dist/core/search-provider.d.ts.map +1 -1
  66. package/dist/core/search-provider.js +278 -7
  67. package/dist/core/search-provider.js.map +1 -1
  68. package/dist/core/stealth-patches.d.ts +58 -0
  69. package/dist/core/stealth-patches.d.ts.map +1 -0
  70. package/dist/core/stealth-patches.js +340 -0
  71. package/dist/core/stealth-patches.js.map +1 -0
  72. package/dist/core/strategies.d.ts +20 -0
  73. package/dist/core/strategies.d.ts.map +1 -1
  74. package/dist/core/strategies.js +284 -48
  75. package/dist/core/strategies.js.map +1 -1
  76. package/dist/core/strategy-hooks.d.ts +1 -1
  77. package/dist/core/strategy-hooks.d.ts.map +1 -1
  78. package/dist/index.d.ts +11 -0
  79. package/dist/index.d.ts.map +1 -1
  80. package/dist/index.js +37 -15
  81. package/dist/index.js.map +1 -1
  82. package/dist/mcp/server.js +109 -4
  83. package/dist/mcp/server.js.map +1 -1
  84. package/dist/server/app.d.ts.map +1 -1
  85. package/dist/server/app.js +29 -0
  86. package/dist/server/app.js.map +1 -1
  87. package/dist/server/middleware/rate-limit.d.ts +2 -1
  88. package/dist/server/middleware/rate-limit.d.ts.map +1 -1
  89. package/dist/server/middleware/rate-limit.js +24 -8
  90. package/dist/server/middleware/rate-limit.js.map +1 -1
  91. package/dist/server/routes/agent.d.ts +4 -0
  92. package/dist/server/routes/agent.d.ts.map +1 -1
  93. package/dist/server/routes/agent.js +196 -9
  94. package/dist/server/routes/agent.js.map +1 -1
  95. package/dist/server/routes/batch.js +5 -5
  96. package/dist/server/routes/batch.js.map +1 -1
  97. package/dist/server/routes/compat.d.ts.map +1 -1
  98. package/dist/server/routes/compat.js +1 -0
  99. package/dist/server/routes/compat.js.map +1 -1
  100. package/dist/server/routes/fetch.d.ts.map +1 -1
  101. package/dist/server/routes/fetch.js +60 -6
  102. package/dist/server/routes/fetch.js.map +1 -1
  103. package/dist/server/routes/mcp.d.ts.map +1 -1
  104. package/dist/server/routes/mcp.js +103 -2
  105. package/dist/server/routes/mcp.js.map +1 -1
  106. package/dist/server/routes/search.js +1 -1
  107. package/dist/server/routes/search.js.map +1 -1
  108. package/dist/types.d.ts +55 -4
  109. package/dist/types.d.ts.map +1 -1
  110. package/dist/types.js +4 -1
  111. package/dist/types.js.map +1 -1
  112. package/llms.txt +55 -125
  113. package/package.json +15 -1
@@ -9,6 +9,7 @@ import { extractInlineJson } from '../../core/extract-inline.js';
9
9
  import { LRUCache } from 'lru-cache';
10
10
  import { validateUrlForSSRF, SSRFError } from '../middleware/url-validator.js';
11
11
  import { wantsEnvelope, successResponse } from '../utils/response.js';
12
+ import { getSchemaTemplate } from '../../core/schema-templates.js';
12
13
  const VALID_LLM_PROVIDERS = ['openai', 'anthropic', 'google'];
13
14
  export function createFetchRouter(authStore) {
14
15
  const router = Router();
@@ -23,7 +24,7 @@ export function createFetchRouter(authStore) {
23
24
  });
24
25
  router.get('/v1/fetch', async (req, res) => {
25
26
  try {
26
- const { url, render, wait, format, includeTags, excludeTags, images, location, languages, onlyMainContent, actions, maxAge, storeInCache, stream, noCache, cacheTtl, budget, question, readable, stealth, screenshot, maxTokens, selector, exclude, fullPage, raw, lite, timeout, } = req.query;
27
+ const { url, render, wait, format, includeTags, excludeTags, images, location, languages, onlyMainContent, actions, maxAge, storeInCache, stream, noCache, cacheTtl, budget, question, readable, stealth, screenshot, maxTokens, selector, exclude, fullPage, raw, lite, timeout, schema, } = req.query;
27
28
  // Validate URL parameter
28
29
  if (!url || typeof url !== 'string') {
29
30
  res.status(400).json({
@@ -222,12 +223,12 @@ export function createFetchRouter(authStore) {
222
223
  return;
223
224
  }
224
225
  // Validate format parameter
225
- if (!['markdown', 'text', 'html'].includes(options.format || '')) {
226
+ if (!['markdown', 'text', 'html', 'clean'].includes(options.format || '')) {
226
227
  res.status(400).json({
227
228
  success: false,
228
229
  error: {
229
230
  type: 'invalid_request',
230
- message: 'Invalid "format" parameter: must be "markdown", "text", or "html"',
231
+ message: 'Invalid "format" parameter: must be "markdown", "text", "html", or "clean"',
231
232
  docs: 'https://webpeel.dev/docs/api-reference#fetch',
232
233
  },
233
234
  requestId: req.requestId,
@@ -245,6 +246,20 @@ export function createFetchRouter(authStore) {
245
246
  const startTime = Date.now();
246
247
  const result = await peel(url, options);
247
248
  const elapsed = Date.now() - startTime;
249
+ // --- BM25 Schema Template Extraction (GET, no LLM needed) ---
250
+ if (schema && typeof schema === 'string' && result.content) {
251
+ const template = getSchemaTemplate(schema);
252
+ if (template) {
253
+ const { quickAnswer } = await import('../../core/quick-answer.js');
254
+ const { smartExtractSchemaFields } = await import('../../core/schema-postprocess.js');
255
+ const extracted = smartExtractSchemaFields(result.content, template.fields, quickAnswer, {
256
+ pageTitle: result.title,
257
+ pageUrl: result.url,
258
+ metadata: result.metadata,
259
+ });
260
+ result.extracted = extracted;
261
+ }
262
+ }
248
263
  // Determine fetch type from the result method
249
264
  const fetchType = result.method === 'stealth' ? 'stealth' :
250
265
  result.method === 'browser' ? 'stealth' : 'basic';
@@ -391,7 +406,7 @@ export function createFetchRouter(authStore) {
391
406
  // Firecrawl-compatible formats array
392
407
  formats, stream,
393
408
  // Extended peel options
394
- budget, question, readable, stealth, screenshot, maxTokens, selector, exclude, fullPage, raw, lite, timeout, } = req.body;
409
+ budget, question, readable, stealth, screenshot, maxTokens, selector, exclude, fullPage, raw, lite, timeout, proxies, chunk, device, viewportWidth, viewportHeight, waitUntil, waitSelector, blockResources, cloaked, schema: bodySchema, } = req.body;
395
410
  // --- Validate URL -------------------------------------------------------
396
411
  if (!url || typeof url !== 'string') {
397
412
  res.status(400).json({
@@ -508,6 +523,20 @@ export function createFetchRouter(authStore) {
508
523
  };
509
524
  }
510
525
  }
526
+ // Resolve schema template names (e.g. "product", "article") to field objects
527
+ if (resolvedExtract && typeof resolvedExtract.schema === 'string') {
528
+ const tmpl = getSchemaTemplate(resolvedExtract.schema);
529
+ if (tmpl) {
530
+ resolvedExtract = { ...resolvedExtract, schema: tmpl.fields };
531
+ }
532
+ else {
533
+ // Try parsing as JSON string
534
+ try {
535
+ resolvedExtract = { ...resolvedExtract, schema: JSON.parse(resolvedExtract.schema) };
536
+ }
537
+ catch { /* leave as-is */ }
538
+ }
539
+ }
511
540
  // Validate LLM params if extraction is requested
512
541
  if (resolvedExtract && (resolvedExtract.schema || resolvedExtract.prompt)) {
513
542
  if (!llmProvider || !VALID_LLM_PROVIDERS.includes(llmProvider)) {
@@ -546,12 +575,12 @@ export function createFetchRouter(authStore) {
546
575
  ? ['main', 'article', '.content', '#content']
547
576
  : includeTagsArray;
548
577
  const resolvedFormat = format || 'markdown';
549
- if (!['markdown', 'text', 'html'].includes(resolvedFormat)) {
578
+ if (!['markdown', 'text', 'html', 'clean'].includes(resolvedFormat)) {
550
579
  res.status(400).json({
551
580
  success: false,
552
581
  error: {
553
582
  type: 'invalid_request',
554
- message: 'Invalid "format" parameter: must be "markdown", "text", or "html"',
583
+ message: 'Invalid "format" parameter: must be "markdown", "text", "html", or "clean"',
555
584
  docs: 'https://webpeel.dev/docs/api-reference#fetch',
556
585
  },
557
586
  requestId: req.requestId,
@@ -603,7 +632,18 @@ export function createFetchRouter(authStore) {
603
632
  raw: raw === true,
604
633
  lite: lite === true,
605
634
  timeout: typeof timeout === 'number' ? timeout : undefined,
635
+ proxies: Array.isArray(proxies) ? proxies : undefined,
636
+ device: device,
637
+ viewportWidth: typeof viewportWidth === 'number' ? viewportWidth : undefined,
638
+ viewportHeight: typeof viewportHeight === 'number' ? viewportHeight : undefined,
639
+ waitUntil: waitUntil,
640
+ waitSelector: waitSelector,
641
+ blockResources: Array.isArray(blockResources) ? blockResources : undefined,
606
642
  };
643
+ if (cloaked)
644
+ options.cloaked = cloaked;
645
+ if (chunk)
646
+ options.chunk = chunk === true ? true : chunk;
607
647
  // Auto-budget: default to 4000 tokens for API requests when no budget specified
608
648
  // Opt-out: budget=0 explicitly disables. Lite mode disables auto-budget.
609
649
  if (options.budget === undefined && !options.lite) {
@@ -630,6 +670,20 @@ export function createFetchRouter(authStore) {
630
670
  const startTime = Date.now();
631
671
  const result = await peel(url, options);
632
672
  const elapsed = Date.now() - startTime;
673
+ // --- BM25 Schema Template Extraction (POST, no LLM needed) ---
674
+ if (bodySchema && typeof bodySchema === 'string' && result.content) {
675
+ const template = getSchemaTemplate(bodySchema);
676
+ if (template) {
677
+ const { quickAnswer } = await import('../../core/quick-answer.js');
678
+ const { smartExtractSchemaFields } = await import('../../core/schema-postprocess.js');
679
+ const extracted = smartExtractSchemaFields(result.content, template.fields, quickAnswer, {
680
+ pageTitle: result.title,
681
+ pageUrl: result.url,
682
+ metadata: result.metadata,
683
+ });
684
+ result.extracted = extracted;
685
+ }
686
+ }
633
687
  // --- Inline extraction (post-fetch) -------------------------------------
634
688
  let jsonData;
635
689
  let extractTokensUsed;
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../src/server/routes/fetch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../src/server/routes/fetch.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../../src/server/routes/mcp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,MAAM,EAAqB,MAAM,SAAS,CAAC;AAEpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAqnC/B,wBAAgB,eAAe,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,MAAM,CAqClF"}
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../../src/server/routes/mcp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,MAAM,EAAqB,MAAM,SAAS,CAAC;AAEpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AA8tC/B,wBAAgB,eAAe,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,MAAM,CAqClF"}
@@ -19,6 +19,8 @@ import { LRUCache } from 'lru-cache';
19
19
  import { peel, peelBatch } from '../../index.js';
20
20
  import { normalizeActions } from '../../core/actions.js';
21
21
  import { runAgent } from '../../core/agent.js';
22
+ import { quickAnswer } from '../../core/quick-answer.js';
23
+ import { getBestSearchProvider } from '../../core/search-provider.js';
22
24
  import { extractInlineJson } from '../../core/extract-inline.js';
23
25
  import { answerQuestion } from '../../core/answer.js';
24
26
  import { readFileSync } from 'fs';
@@ -253,7 +255,7 @@ function getTools() {
253
255
  type: 'object',
254
256
  properties: {
255
257
  question: { type: 'string', description: 'The question to answer' },
256
- searchProvider: { type: 'string', enum: ['duckduckgo', 'brave'], description: 'Search provider (default: duckduckgo)', default: 'duckduckgo' },
258
+ searchProvider: { type: 'string', enum: ['duckduckgo', 'brave', 'stealth', 'google'], description: 'Search provider (default: duckduckgo)', default: 'duckduckgo' },
257
259
  searchApiKey: { type: 'string', description: 'API key for Brave Search (required when searchProvider is "brave")' },
258
260
  llmProvider: { type: 'string', enum: ['openai', 'anthropic', 'google'], description: 'LLM provider to use for answer generation' },
259
261
  llmApiKey: { type: 'string', description: 'API key for the LLM provider (BYOK)' },
@@ -373,6 +375,25 @@ function getTools() {
373
375
  required: ['destination'],
374
376
  },
375
377
  },
378
+ {
379
+ name: 'agent',
380
+ description: 'Web data agent — search, fetch, and extract structured data in one call. Give it a prompt and URLs or search query, get back clean structured results. Works without an LLM key using BM25 extraction.',
381
+ annotations: { title: 'Web Data Agent', readOnlyHint: true, destructiveHint: false, idempotentHint: false, openWorldHint: true },
382
+ inputSchema: {
383
+ type: 'object',
384
+ properties: {
385
+ prompt: { type: 'string', description: 'What data do you want? e.g. "Find the CEO and revenue for each company"' },
386
+ urls: { type: 'array', items: { type: 'string' }, description: 'URLs to fetch and extract from' },
387
+ search: { type: 'string', description: 'Search query to find relevant pages' },
388
+ schema: { type: 'object', description: 'Output schema as an object of field names to type strings (e.g. {"company":"string","ceo":"string"})' },
389
+ maxResults: { type: 'number', description: 'Max pages to process (default: 5)' },
390
+ budget: { type: 'number', description: 'Token budget per page (default: 4000)' },
391
+ llmApiKey: { type: 'string', description: 'Your LLM API key for AI extraction (optional — works without it using BM25)' },
392
+ llmProvider: { type: 'string', description: 'LLM provider: openai, anthropic, etc. (default: openai)' },
393
+ },
394
+ required: [],
395
+ },
396
+ },
376
397
  ];
377
398
  }
378
399
  // ---------------------------------------------------------------------------
@@ -676,6 +697,83 @@ async function handleToolCall(name, args, pool, req) {
676
697
  ]);
677
698
  return ok(safeStringify(result));
678
699
  }
700
+ // agent — LLM-free data agent: search + fetch + BM25 extraction
701
+ if (name === 'agent') {
702
+ const llmApiKey = args.llmApiKey;
703
+ // LLM mode: delegate to existing runAgent
704
+ if (llmApiKey) {
705
+ const prompt = args.prompt;
706
+ if (!prompt || typeof prompt !== 'string')
707
+ throw new Error('Missing prompt for LLM agent mode');
708
+ const result = await Promise.race([
709
+ runAgent({
710
+ prompt,
711
+ llmApiKey,
712
+ urls: args.urls,
713
+ llmModel: args.llmModel,
714
+ maxSources: args.maxResults || args.maxSources || undefined,
715
+ }),
716
+ timeout(180000, 'Agent timed out'),
717
+ ]);
718
+ return ok(safeStringify(result));
719
+ }
720
+ // LLM-free mode: search + fetch + BM25 quickAnswer
721
+ const urls = args.urls || [];
722
+ const search = args.search;
723
+ if ((!urls || urls.length === 0) && !search) {
724
+ throw new Error('Provide at least "urls" or "search". For LLM-powered research, also pass "llmApiKey".');
725
+ }
726
+ const prompt = args.prompt;
727
+ const schema = args.schema;
728
+ const budget = args.budget || 4000;
729
+ const maxResults = Math.min(args.maxResults || 5, 20);
730
+ const targetUrls = [...urls];
731
+ if (search) {
732
+ try {
733
+ const { provider, apiKey } = getBestSearchProvider();
734
+ const searchResults = await provider.searchWeb(search, { count: Math.max(maxResults, 5), apiKey });
735
+ for (const r of searchResults) {
736
+ if (!targetUrls.includes(r.url))
737
+ targetUrls.push(r.url);
738
+ }
739
+ }
740
+ catch { /* continue with provided URLs */ }
741
+ }
742
+ const urlsToFetch = targetUrls.slice(0, maxResults);
743
+ const agentResults = [];
744
+ await Promise.all(urlsToFetch.map(async (url) => {
745
+ try {
746
+ const page = await peel(url, { budget, format: 'markdown' });
747
+ const content = page.content || '';
748
+ const title = page.title || url;
749
+ let extracted = null;
750
+ let confidence = 0;
751
+ if (schema && Object.keys(schema).length > 0) {
752
+ extracted = {};
753
+ let total = 0;
754
+ for (const [field] of Object.entries(schema)) {
755
+ const question = prompt ? `${prompt} — specifically: what is the ${field}?` : `What is the ${field}?`;
756
+ const qa = quickAnswer({ question, content, maxPassages: 1, url });
757
+ extracted[field] = qa.answer || '';
758
+ total += qa.confidence;
759
+ }
760
+ if ('source' in schema)
761
+ extracted['source'] = url;
762
+ confidence = Object.keys(schema).length > 0 ? total / Object.keys(schema).length : 0;
763
+ }
764
+ else if (prompt) {
765
+ const qa = quickAnswer({ question: prompt, content, maxPassages: 3, url });
766
+ confidence = qa.confidence;
767
+ }
768
+ agentResults.push({ url, title, extracted, content: content.slice(0, 500) + (content.length > 500 ? '…' : ''), confidence });
769
+ }
770
+ catch { /* skip */ }
771
+ }));
772
+ return ok(safeStringify({
773
+ success: true,
774
+ data: { results: agentResults, totalSources: agentResults.length },
775
+ }));
776
+ }
679
777
  // webpeel_screenshot
680
778
  if (name === 'webpeel_screenshot') {
681
779
  const url = args.url;
@@ -765,7 +863,10 @@ async function handleToolCall(name, args, pool, req) {
765
863
  }
766
864
  if (!llmApiKey || typeof llmApiKey !== 'string')
767
865
  throw new Error('Invalid llmApiKey');
768
- const spId = args.searchProvider === 'brave' ? 'brave' : 'duckduckgo';
866
+ const _validSearchProviders = ['duckduckgo', 'brave', 'stealth', 'google'];
867
+ const spId = _validSearchProviders.includes(args.searchProvider)
868
+ ? args.searchProvider
869
+ : 'duckduckgo';
769
870
  const maxSources = typeof args.maxSources === 'number' ? Math.min(Math.max(args.maxSources, 1), 10) : 5;
770
871
  const result = await Promise.race([
771
872
  answerQuestion({