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
@@ -44,6 +44,18 @@ export declare function browserFetch(url: string, options?: {
44
44
  * Examples: 'http://proxy.example.com:8080', 'socks5://user:pass@host:1080'
45
45
  */
46
46
  proxy?: string;
47
+ /** Device emulation: 'desktop' (default), 'mobile', 'tablet' */
48
+ device?: 'desktop' | 'mobile' | 'tablet';
49
+ /** Browser viewport width in pixels */
50
+ viewportWidth?: number;
51
+ /** Browser viewport height in pixels */
52
+ viewportHeight?: number;
53
+ /** Wait condition: 'domcontentloaded' (default), 'networkidle', 'load', 'commit' */
54
+ waitUntil?: string;
55
+ /** CSS selector to wait for before extracting content */
56
+ waitSelector?: string;
57
+ /** Block resource types for faster loading: 'image', 'stylesheet', 'font', 'media', 'script' */
58
+ blockResources?: string[];
47
59
  }): Promise<FetchResult>;
48
60
  /**
49
61
  * Capture a screenshot of a URL using headless Chromium via Playwright.
@@ -1 +1 @@
1
- {"version":3,"file":"browser-fetch.d.ts","sourceRoot":"","sources":["../../src/core/browser-fetch.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAkB9C,OAAO,EAAoD,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAQrG;;;GAGG;AACH,wBAAsB,YAAY,CAChC,GAAG,EAAE,MAAM,EACX,OAAO,GAAE;IACP,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,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;IACvB,gFAAgF;IAChF,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,mDAAmD;IACnD,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iGAAiG;IACjG,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CACX,GACL,OAAO,CAAC,WAAW,CAAC,CAoctB;AAID;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,MAAM,EACX,OAAO,GAAE;IACP,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,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,KAAK,CAAC;QACd,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,iBAAiB,GAAG,YAAY,CAAC;QACtH,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,EAAE,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;QAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;CACC,GACL,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CA4O/C;AAID;;GAEG;AACH,wBAAsB,UAAU,CAAC,CAAC,EAChC,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,WAAW,GAAE,MAAU,EACvB,WAAW,GAAE,MAAa,GACzB,OAAO,CAAC,CAAC,CAAC,CAsBZ;AAID;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,SAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAgB1E"}
1
+ {"version":3,"file":"browser-fetch.d.ts","sourceRoot":"","sources":["../../src/core/browser-fetch.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,8 @@
5
5
  import { TimeoutError, BlockedError, NetworkError, WebPeelError } from '../types.js';
6
6
  import { detectChallenge } from './challenge-detection.js';
7
7
  import { getRealisticUserAgent } from './user-agents.js';
8
- import { getRandomUserAgent, getRandomViewport, applyStealthScripts, takePooledPage, ensurePagePool, recyclePooledPage, getBrowser, getStealthBrowser, getProfileBrowser, PAGE_POOL_SIZE, MAX_CONCURRENT_PAGES, getPooledPagesCount, } from './browser-pool.js';
8
+ import { getRandomUserAgent, applyStealthScripts, takePooledPage, ensurePagePool, recyclePooledPage, getBrowser, getStealthBrowser, getProfileBrowser, PAGE_POOL_SIZE, MAX_CONCURRENT_PAGES, getPooledPagesCount, } from './browser-pool.js';
9
+ import { applyStealthPatches, applyAcceptLanguageHeader } from './stealth-patches.js';
9
10
  import { validateUrl, validateUserAgent, createAbortError } from './http-fetch.js';
10
11
  // ── Concurrency state (owned by this module) ─────────────────────────────────
11
12
  let activePagesCount = 0;
@@ -17,7 +18,25 @@ let activePagesCount = 0;
17
18
  export async function browserFetch(url, options = {}) {
18
19
  // SECURITY: Validate URL to prevent SSRF
19
20
  validateUrl(url);
20
- const { userAgent, waitMs = 0, timeoutMs = 30000, screenshot = false, screenshotFullPage = false, headers, cookies, stealth = false, actions, keepPageOpen = false, signal, profileDir, headed = false, storageState, proxy, } = options;
21
+ const { userAgent, waitMs = 0, timeoutMs = 30000, screenshot = false, screenshotFullPage = false, headers, cookies, stealth = false, actions, keepPageOpen = false, signal, profileDir, headed = false, storageState, proxy, device = 'desktop', viewportWidth: optViewportWidth, viewportHeight: optViewportHeight, waitUntil: optWaitUntil, waitSelector, blockResources, } = options;
22
+ // Device emulation profiles
23
+ const deviceProfiles = {
24
+ desktop: { width: 1920, height: 1080, userAgent: undefined },
25
+ mobile: {
26
+ width: 390,
27
+ height: 844,
28
+ userAgent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1',
29
+ },
30
+ tablet: {
31
+ width: 820,
32
+ height: 1180,
33
+ userAgent: 'Mozilla/5.0 (iPad; CPU OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1',
34
+ },
35
+ };
36
+ const deviceProfile = deviceProfiles[device] ?? deviceProfiles.desktop;
37
+ const effectiveViewportWidth = optViewportWidth ?? deviceProfile.width;
38
+ const effectiveViewportHeight = optViewportHeight ?? deviceProfile.height;
39
+ const effectiveWaitUntil = optWaitUntil || 'domcontentloaded';
21
40
  // Validate user agent if provided
22
41
  // In stealth mode with no custom UA, always use a realistic Chrome UA
23
42
  const validatedUserAgent = userAgent
@@ -75,7 +94,6 @@ export async function browserFetch(url, options = {}) {
75
94
  }
76
95
  }
77
96
  if (!page) {
78
- const fetchVp = getRandomViewport();
79
97
  const pageOptions = {
80
98
  userAgent: validatedUserAgent,
81
99
  // viewport: null lets the browser use its natural window size (set via --window-size),
@@ -110,7 +128,7 @@ export async function browserFetch(url, options = {}) {
110
128
  ownedContext = await browser.newContext({
111
129
  ...pageOptions,
112
130
  proxy: playwrightProxy,
113
- viewport: { width: fetchVp.width, height: fetchVp.height },
131
+ viewport: { width: effectiveViewportWidth, height: effectiveViewportHeight },
114
132
  ...(storageState ? { storageState } : {}),
115
133
  });
116
134
  page = await ownedContext.newPage();
@@ -120,18 +138,28 @@ export async function browserFetch(url, options = {}) {
120
138
  ownedContext = await browser.newContext({
121
139
  ...pageOptions,
122
140
  storageState,
123
- viewport: { width: fetchVp.width, height: fetchVp.height },
141
+ viewport: { width: effectiveViewportWidth, height: effectiveViewportHeight },
124
142
  });
125
143
  page = await ownedContext.newPage();
126
144
  }
127
145
  else {
128
146
  page = await browser.newPage(pageOptions);
147
+ // Apply viewport for device emulation or explicit viewport overrides
148
+ if (device !== 'desktop' || optViewportWidth !== undefined || optViewportHeight !== undefined) {
149
+ await page.setViewportSize({ width: effectiveViewportWidth, height: effectiveViewportHeight }).catch(() => { });
150
+ }
129
151
  }
130
152
  await applyStealthScripts(page);
153
+ // Apply supplemental stealth patches (canvas noise, connection API, battery, etc.)
154
+ // These go beyond what puppeteer-extra-plugin-stealth provides.
155
+ if (stealth) {
156
+ await applyStealthPatches(page);
157
+ await applyAcceptLanguageHeader(page, 'en-US');
158
+ }
131
159
  usingPooledPage = false;
132
160
  }
133
161
  else {
134
- await page.setViewportSize({ width: 1280, height: 720 }).catch(() => { });
162
+ await page.setViewportSize({ width: effectiveViewportWidth, height: effectiveViewportHeight }).catch(() => { });
135
163
  }
136
164
  if (signal) {
137
165
  abortHandler = () => {
@@ -146,6 +174,10 @@ export async function browserFetch(url, options = {}) {
146
174
  if (usingPooledPage) {
147
175
  mergedHeaders['User-Agent'] = validatedUserAgent;
148
176
  }
177
+ // Apply device user-agent (mobile/tablet) unless caller overrode userAgent
178
+ if (deviceProfile.userAgent && !userAgent) {
179
+ mergedHeaders['User-Agent'] = deviceProfile.userAgent;
180
+ }
149
181
  if (usingPooledPage || Object.keys(mergedHeaders).length > 0) {
150
182
  await page.setExtraHTTPHeaders(mergedHeaders);
151
183
  }
@@ -168,9 +200,22 @@ export async function browserFetch(url, options = {}) {
168
200
  if (signal?.aborted) {
169
201
  throw createAbortError();
170
202
  }
171
- // Block images/fonts/etc for speed in non-stealth mode.
203
+ // Block resources: custom list takes precedence; otherwise use defaults in non-screenshot/non-stealth mode.
172
204
  // In stealth mode, blocking common resources can be a bot-detection signal.
173
- if (!screenshot && !stealth) {
205
+ if (blockResources && blockResources.length > 0) {
206
+ const blockedTypes = new Set(blockResources);
207
+ await page.route('**/*', (route) => {
208
+ const resourceType = route.request().resourceType();
209
+ if (blockedTypes.has(resourceType)) {
210
+ route.abort();
211
+ }
212
+ else {
213
+ route.continue();
214
+ }
215
+ });
216
+ }
217
+ else if (!screenshot && !stealth) {
218
+ // Default: block images/fonts/etc for speed in non-stealth mode.
174
219
  await page.route('**/*', (route) => {
175
220
  const resourceType = route.request().resourceType();
176
221
  if (['image', 'font', 'media', 'stylesheet'].includes(resourceType)) {
@@ -196,20 +241,20 @@ export async function browserFetch(url, options = {}) {
196
241
  let response;
197
242
  try {
198
243
  response = await page.goto(url, {
199
- waitUntil: 'domcontentloaded',
244
+ waitUntil: effectiveWaitUntil,
200
245
  timeout: timeoutMs,
201
246
  });
202
247
  }
203
248
  catch (gotoError) {
204
249
  const msg = gotoError?.message || String(gotoError);
205
250
  if (/net::ERR_HTTP2_PROTOCOL_ERROR/i.test(msg)) {
206
- throw new NetworkError(`Site blocked connection (HTTP/2 protocol error). Try stealth mode or a different source. URL: ${url}`);
251
+ throw new BlockedError(`Site blocked the request (HTTP/2 protocol error). The site likely has anti-bot protection. Try using stealth mode or a proxy.`);
207
252
  }
208
253
  if (/net::ERR_CONNECTION_REFUSED/i.test(msg)) {
209
- throw new NetworkError(`Connection refused by server. The site may be down or blocking automated access. URL: ${url}`);
254
+ throw new NetworkError(`Connection refused by the server at ${url}. The server may be down or blocking your IP.`);
210
255
  }
211
256
  if (/net::ERR_CONNECTION_RESET/i.test(msg)) {
212
- throw new NetworkError(`Connection reset by server. The site may be blocking automated access. URL: ${url}`);
257
+ throw new BlockedError(`Connection was reset by the server. This typically indicates anti-bot protection or IP blocking. Try using stealth mode or a different IP.`);
213
258
  }
214
259
  if (/net::ERR_SSL/i.test(msg)) {
215
260
  throw new NetworkError(`SSL/TLS error connecting to site. URL: ${url}`);
@@ -227,11 +272,19 @@ export async function browserFetch(url, options = {}) {
227
272
  throw new TimeoutError(`Page load timed out after ${timeoutMs}ms: ${url}`);
228
273
  }
229
274
  if (/net::ERR_/i.test(msg)) {
230
- throw new NetworkError(`Network error: ${msg.split('\n')[0]}`);
275
+ throw new NetworkError(`Browser network error: ${msg.match(/net::ERR_\w+/i)?.[0] || msg}`);
231
276
  }
232
277
  throw gotoError;
233
278
  }
234
279
  throwIfAborted();
280
+ // Wait for a specific CSS selector if requested
281
+ if (waitSelector) {
282
+ await page.waitForSelector(waitSelector, { timeout: timeoutMs }).catch(() => {
283
+ if (process.env.DEBUG)
284
+ console.debug('[webpeel]', `waitSelector "${waitSelector}" not found within timeout`);
285
+ });
286
+ throwIfAborted();
287
+ }
235
288
  // Quick check: if body text is very thin, wait for JS to render more content.
236
289
  // Only adds latency when the page clearly hasn't loaded yet.
237
290
  // eslint-disable-next-line @typescript-eslint/no-implied-eval
@@ -528,13 +581,13 @@ export async function browserScreenshot(url, options = {}) {
528
581
  catch (gotoError) {
529
582
  const msg = gotoError?.message || String(gotoError);
530
583
  if (/net::ERR_HTTP2_PROTOCOL_ERROR/i.test(msg)) {
531
- throw new NetworkError(`Site blocked connection (HTTP/2 protocol error). Try stealth mode or a different source. URL: ${url}`);
584
+ throw new BlockedError(`Site blocked the request (HTTP/2 protocol error). The site likely has anti-bot protection. Try using stealth mode or a proxy.`);
532
585
  }
533
586
  if (/net::ERR_CONNECTION_REFUSED/i.test(msg)) {
534
- throw new NetworkError(`Connection refused by server. The site may be down or blocking automated access. URL: ${url}`);
587
+ throw new NetworkError(`Connection refused by the server at ${url}. The server may be down or blocking your IP.`);
535
588
  }
536
589
  if (/net::ERR_CONNECTION_RESET/i.test(msg)) {
537
- throw new NetworkError(`Connection reset by server. The site may be blocking automated access. URL: ${url}`);
590
+ throw new BlockedError(`Connection was reset by the server. This typically indicates anti-bot protection or IP blocking. Try using stealth mode or a different IP.`);
538
591
  }
539
592
  if (/net::ERR_SSL/i.test(msg)) {
540
593
  throw new NetworkError(`SSL/TLS error connecting to site. URL: ${url}`);
@@ -552,7 +605,7 @@ export async function browserScreenshot(url, options = {}) {
552
605
  throw new TimeoutError(`Page load timed out after ${timeoutMs}ms: ${url}`);
553
606
  }
554
607
  if (/net::ERR_/i.test(msg)) {
555
- throw new NetworkError(`Network error: ${msg.split('\n')[0]}`);
608
+ throw new NetworkError(`Browser network error: ${msg.match(/net::ERR_\w+/i)?.[0] || msg}`);
556
609
  }
557
610
  throw gotoError;
558
611
  }
@@ -1 +1 @@
1
- {"version":3,"file":"browser-fetch.js","sourceRoot":"","sources":["../../src/core/browser-fetch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser-fetch.js","sourceRoot":"","sources":["../../src/core/browser-fetch.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Cloudflare Worker fetch proxy client.
3
+ *
4
+ * When PeelTLS fails due to IP blocking, this routes the request through
5
+ * a Cloudflare Worker running on Cloudflare's edge network. The Worker
6
+ * has clean IPs that aren't flagged by most anti-bot systems.
7
+ *
8
+ * Setup:
9
+ * 1. Deploy the worker: cd worker && npx wrangler deploy
10
+ * 2. Set WEBPEEL_CF_WORKER_URL env var to the worker URL
11
+ * 3. Optionally set WEBPEEL_CF_WORKER_TOKEN for auth
12
+ *
13
+ * Free tier: 100,000 requests/day
14
+ */
15
+ import type { FetchResult } from './fetcher.js';
16
+ export interface CfWorkerProxyOptions {
17
+ timeout?: number;
18
+ headers?: Record<string, string>;
19
+ }
20
+ export interface CfWorkerProxyResult extends FetchResult {
21
+ method: 'cf-worker';
22
+ edge?: string;
23
+ }
24
+ /**
25
+ * Check if a CF Worker proxy is configured.
26
+ */
27
+ export declare function isCfWorkerAvailable(): boolean;
28
+ /**
29
+ * Fetch a URL through the Cloudflare Worker proxy.
30
+ * The Worker makes the request from Cloudflare's edge — clean IPs.
31
+ */
32
+ export declare function cfWorkerFetch(url: string, options?: CfWorkerProxyOptions): Promise<CfWorkerProxyResult>;
33
+ //# sourceMappingURL=cf-worker-proxy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cf-worker-proxy.d.ts","sourceRoot":"","sources":["../../src/core/cf-worker-proxy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAehD,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,mBAAoB,SAAQ,WAAW;IACtD,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAE7C;AAUD;;;GAGG;AACH,wBAAsB,aAAa,CACjC,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,mBAAmB,CAAC,CAuD9B"}
@@ -0,0 +1,88 @@
1
+ /**
2
+ * Cloudflare Worker fetch proxy client.
3
+ *
4
+ * When PeelTLS fails due to IP blocking, this routes the request through
5
+ * a Cloudflare Worker running on Cloudflare's edge network. The Worker
6
+ * has clean IPs that aren't flagged by most anti-bot systems.
7
+ *
8
+ * Setup:
9
+ * 1. Deploy the worker: cd worker && npx wrangler deploy
10
+ * 2. Set WEBPEEL_CF_WORKER_URL env var to the worker URL
11
+ * 3. Optionally set WEBPEEL_CF_WORKER_TOKEN for auth
12
+ *
13
+ * Free tier: 100,000 requests/day
14
+ */
15
+ const CHROME_HEADERS = {
16
+ 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36',
17
+ 'Sec-Ch-Ua': '"Chromium";v="133", "Google Chrome";v="133"',
18
+ 'Sec-Ch-Ua-Mobile': '?0',
19
+ 'Sec-Ch-Ua-Platform': '"macOS"',
20
+ 'Sec-Fetch-Dest': 'document',
21
+ 'Sec-Fetch-Mode': 'navigate',
22
+ 'Sec-Fetch-Site': 'none',
23
+ Accept: 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
24
+ 'Accept-Language': 'en-US,en;q=0.9',
25
+ };
26
+ /**
27
+ * Check if a CF Worker proxy is configured.
28
+ */
29
+ export function isCfWorkerAvailable() {
30
+ return !!getWorkerUrl();
31
+ }
32
+ function getWorkerUrl() {
33
+ return process.env.WEBPEEL_CF_WORKER_URL;
34
+ }
35
+ function getWorkerToken() {
36
+ return process.env.WEBPEEL_CF_WORKER_TOKEN;
37
+ }
38
+ /**
39
+ * Fetch a URL through the Cloudflare Worker proxy.
40
+ * The Worker makes the request from Cloudflare's edge — clean IPs.
41
+ */
42
+ export async function cfWorkerFetch(url, options) {
43
+ const workerUrl = getWorkerUrl();
44
+ if (!workerUrl) {
45
+ throw new Error('Cloudflare Worker proxy not configured. Set WEBPEEL_CF_WORKER_URL env var.\n' +
46
+ 'Deploy: cd worker && npx wrangler deploy');
47
+ }
48
+ const mergedHeaders = {
49
+ ...CHROME_HEADERS,
50
+ ...(options?.headers ?? {}),
51
+ };
52
+ const fetchHeaders = {
53
+ 'Content-Type': 'application/json',
54
+ };
55
+ const token = getWorkerToken();
56
+ if (token) {
57
+ fetchHeaders['Authorization'] = `Bearer ${token}`;
58
+ }
59
+ const body = JSON.stringify({
60
+ url,
61
+ headers: mergedHeaders,
62
+ method: 'GET',
63
+ timeout: Math.round((options?.timeout ?? 30000) / 1000),
64
+ followRedirects: true,
65
+ });
66
+ if (process.env.DEBUG) {
67
+ console.debug('[webpeel]', 'CF Worker proxy fetch:', url);
68
+ }
69
+ const response = await fetch(`${workerUrl}/fetch`, {
70
+ method: 'POST',
71
+ headers: fetchHeaders,
72
+ body,
73
+ signal: AbortSignal.timeout(options?.timeout ?? 30000),
74
+ });
75
+ const result = await response.json();
76
+ if (result.error) {
77
+ throw new Error(`CF Worker proxy failed: ${result.error}`);
78
+ }
79
+ return {
80
+ html: result.body,
81
+ url: result.finalUrl || url,
82
+ statusCode: result.status,
83
+ contentType: result.headers?.['content-type'] ?? 'text/html',
84
+ method: 'cf-worker',
85
+ edge: result.edge,
86
+ };
87
+ }
88
+ //# sourceMappingURL=cf-worker-proxy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cf-worker-proxy.js","sourceRoot":"","sources":["../../src/core/cf-worker-proxy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,MAAM,cAAc,GAA2B;IAC7C,YAAY,EACV,uHAAuH;IACzH,WAAW,EAAE,6CAA6C;IAC1D,kBAAkB,EAAE,IAAI;IACxB,oBAAoB,EAAE,SAAS;IAC/B,gBAAgB,EAAE,UAAU;IAC5B,gBAAgB,EAAE,UAAU;IAC5B,gBAAgB,EAAE,MAAM;IACxB,MAAM,EAAE,iEAAiE;IACzE,iBAAiB,EAAE,gBAAgB;CACpC,CAAC;AAYF;;GAEG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO,CAAC,CAAC,YAAY,EAAE,CAAC;AAC1B,CAAC;AAED,SAAS,YAAY;IACnB,OAAO,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;AAC3C,CAAC;AAED,SAAS,cAAc;IACrB,OAAO,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC;AAC7C,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,GAAW,EACX,OAA8B;IAE9B,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IACjC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,8EAA8E;YAC5E,0CAA0C,CAC7C,CAAC;IACJ,CAAC;IAED,MAAM,aAAa,GAAG;QACpB,GAAG,cAAc;QACjB,GAAG,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC;KAC5B,CAAC;IAEF,MAAM,YAAY,GAA2B;QAC3C,cAAc,EAAE,kBAAkB;KACnC,CAAC;IACF,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;IAC/B,IAAI,KAAK,EAAE,CAAC;QACV,YAAY,CAAC,eAAe,CAAC,GAAG,UAAU,KAAK,EAAE,CAAC;IACpD,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;QAC1B,GAAG;QACH,OAAO,EAAE,aAAa;QACtB,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,OAAO,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC;QACvD,eAAe,EAAE,IAAI;KACtB,CAAC,CAAC;IAEH,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;QACtB,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,wBAAwB,EAAE,GAAG,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,SAAS,QAAQ,EAAE;QACjD,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,YAAY;QACrB,IAAI;QACJ,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,IAAI,KAAK,CAAC;KACvD,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAS,CAAC;IAE5C,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,2BAA2B,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,GAAG,EAAE,MAAM,CAAC,QAAQ,IAAI,GAAG;QAC3B,UAAU,EAAE,MAAM,CAAC,MAAM;QACzB,WAAW,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,cAAc,CAAC,IAAI,WAAW;QAC5D,MAAM,EAAE,WAAW;QACnB,IAAI,EAAE,MAAM,CAAC,IAAI;KAClB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Content chunker for RAG pipelines.
3
+ * Splits markdown content into overlapping chunks with rich metadata.
4
+ */
5
+ export interface ChunkOptions {
6
+ /** Max tokens per chunk (approximate, using ~4 chars/token) */
7
+ maxTokens?: number;
8
+ /** Overlap tokens between chunks */
9
+ overlap?: number;
10
+ /** Chunking strategy */
11
+ strategy?: 'section' | 'paragraph' | 'fixed';
12
+ }
13
+ export interface ContentChunk {
14
+ /** Chunk index (0-based) */
15
+ index: number;
16
+ /** The chunk text content */
17
+ text: string;
18
+ /** Approximate token count (~4 chars per token) */
19
+ tokenCount: number;
20
+ /** Word count */
21
+ wordCount: number;
22
+ /** Section heading this chunk belongs to (if any) */
23
+ section: string | null;
24
+ /** Section depth (1=h1, 2=h2, etc.) */
25
+ sectionDepth: number | null;
26
+ /** Character offset in original content */
27
+ startOffset: number;
28
+ /** Character end offset */
29
+ endOffset: number;
30
+ }
31
+ export interface ChunkResult {
32
+ /** Array of content chunks */
33
+ chunks: ContentChunk[];
34
+ /** Total chunks */
35
+ totalChunks: number;
36
+ /** Original content length (chars) */
37
+ originalLength: number;
38
+ /** Chunking strategy used */
39
+ strategy: string;
40
+ /** Options used */
41
+ options: Required<ChunkOptions>;
42
+ }
43
+ /**
44
+ * Split content into RAG-ready chunks with metadata.
45
+ */
46
+ export declare function chunkContent(content: string, options?: ChunkOptions): ChunkResult;
47
+ //# sourceMappingURL=chunker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunker.d.ts","sourceRoot":"","sources":["../../src/core/chunker.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,YAAY;IAC3B,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oCAAoC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wBAAwB;IACxB,QAAQ,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC;CAC9C;AAED,MAAM,WAAW,YAAY;IAC3B,4BAA4B;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,6BAA6B;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,mDAAmD;IACnD,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,qDAAqD;IACrD,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,uCAAuC;IACvC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,2CAA2C;IAC3C,WAAW,EAAE,MAAM,CAAC;IACpB,2BAA2B;IAC3B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,8BAA8B;IAC9B,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,mBAAmB;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,sCAAsC;IACtC,cAAc,EAAE,MAAM,CAAC;IACvB,6BAA6B;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,mBAAmB;IACnB,OAAO,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;CACjC;AAMD;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,WAAW,CA8BrF"}