@iflow-mcp/jakeliume-webpeel 0.22.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.
- package/LICENSE +15 -0
- package/README.md +313 -0
- package/dist/cache.d.ts +30 -0
- package/dist/cache.js +139 -0
- package/dist/cli/commands/auth.d.ts +5 -0
- package/dist/cli/commands/auth.js +411 -0
- package/dist/cli/commands/doctor.d.ts +37 -0
- package/dist/cli/commands/doctor.js +371 -0
- package/dist/cli/commands/fetch.d.ts +6 -0
- package/dist/cli/commands/fetch.js +1345 -0
- package/dist/cli/commands/guide.d.ts +2 -0
- package/dist/cli/commands/guide.js +183 -0
- package/dist/cli/commands/interact.d.ts +5 -0
- package/dist/cli/commands/interact.js +840 -0
- package/dist/cli/commands/jobs.d.ts +5 -0
- package/dist/cli/commands/jobs.js +997 -0
- package/dist/cli/commands/monitor.d.ts +12 -0
- package/dist/cli/commands/monitor.js +197 -0
- package/dist/cli/commands/observe.d.ts +12 -0
- package/dist/cli/commands/observe.js +158 -0
- package/dist/cli/commands/screenshot.d.ts +5 -0
- package/dist/cli/commands/screenshot.js +282 -0
- package/dist/cli/commands/search.d.ts +5 -0
- package/dist/cli/commands/search.js +1021 -0
- package/dist/cli/commands/setup.d.ts +13 -0
- package/dist/cli/commands/setup.js +244 -0
- package/dist/cli/commands/skill.d.ts +15 -0
- package/dist/cli/commands/skill.js +195 -0
- package/dist/cli/utils.d.ts +84 -0
- package/dist/cli/utils.js +806 -0
- package/dist/cli-auth.d.ts +75 -0
- package/dist/cli-auth.js +369 -0
- package/dist/cli.d.ts +17 -0
- package/dist/cli.js +99 -0
- package/dist/core/actions.d.ts +69 -0
- package/dist/core/actions.js +495 -0
- package/dist/core/agent.d.ts +98 -0
- package/dist/core/agent.js +558 -0
- package/dist/core/answer.d.ts +42 -0
- package/dist/core/answer.js +395 -0
- package/dist/core/application-tracker.d.ts +84 -0
- package/dist/core/application-tracker.js +184 -0
- package/dist/core/apply.d.ts +162 -0
- package/dist/core/apply.js +816 -0
- package/dist/core/auth-detection.d.ts +35 -0
- package/dist/core/auth-detection.js +358 -0
- package/dist/core/auto-extract.d.ts +82 -0
- package/dist/core/auto-extract.js +604 -0
- package/dist/core/auto-interact.d.ts +23 -0
- package/dist/core/auto-interact.js +246 -0
- package/dist/core/bm25-filter.d.ts +66 -0
- package/dist/core/bm25-filter.js +288 -0
- package/dist/core/branding.d.ts +54 -0
- package/dist/core/branding.js +234 -0
- package/dist/core/browser-fetch.d.ts +323 -0
- package/dist/core/browser-fetch.js +1600 -0
- package/dist/core/browser-pool.d.ts +91 -0
- package/dist/core/browser-pool.js +550 -0
- package/dist/core/budget.d.ts +42 -0
- package/dist/core/budget.js +324 -0
- package/dist/core/business-intel.d.ts +47 -0
- package/dist/core/business-intel.js +279 -0
- package/dist/core/cache.d.ts +13 -0
- package/dist/core/cache.js +121 -0
- package/dist/core/cf-worker-proxy.d.ts +32 -0
- package/dist/core/cf-worker-proxy.js +87 -0
- package/dist/core/challenge-detection.d.ts +26 -0
- package/dist/core/challenge-detection.js +468 -0
- package/dist/core/change-tracking.d.ts +75 -0
- package/dist/core/change-tracking.js +276 -0
- package/dist/core/chunker.d.ts +46 -0
- package/dist/core/chunker.js +249 -0
- package/dist/core/chunking.d.ts +42 -0
- package/dist/core/chunking.js +181 -0
- package/dist/core/circuit-breaker.d.ts +44 -0
- package/dist/core/circuit-breaker.js +85 -0
- package/dist/core/content-pruner.d.ts +47 -0
- package/dist/core/content-pruner.js +425 -0
- package/dist/core/cookie-cache.d.ts +60 -0
- package/dist/core/cookie-cache.js +163 -0
- package/dist/core/crawl-checkpoint.d.ts +54 -0
- package/dist/core/crawl-checkpoint.js +104 -0
- package/dist/core/crawler.d.ts +84 -0
- package/dist/core/crawler.js +349 -0
- package/dist/core/cross-verify.d.ts +27 -0
- package/dist/core/cross-verify.js +93 -0
- package/dist/core/deep-fetch.d.ts +74 -0
- package/dist/core/deep-fetch.js +405 -0
- package/dist/core/deep-research.d.ts +141 -0
- package/dist/core/deep-research.js +972 -0
- package/dist/core/design-analysis.d.ts +70 -0
- package/dist/core/design-analysis.js +490 -0
- package/dist/core/design-compare.d.ts +38 -0
- package/dist/core/design-compare.js +264 -0
- package/dist/core/diff.d.ts +61 -0
- package/dist/core/diff.js +289 -0
- package/dist/core/dns-cache.d.ts +20 -0
- package/dist/core/dns-cache.js +198 -0
- package/dist/core/documents.d.ts +23 -0
- package/dist/core/documents.js +123 -0
- package/dist/core/domain-memory.d.ts +66 -0
- package/dist/core/domain-memory.js +163 -0
- package/dist/core/domain-verify.d.ts +40 -0
- package/dist/core/domain-verify.js +379 -0
- package/dist/core/engine-ranker.d.ts +112 -0
- package/dist/core/engine-ranker.js +395 -0
- package/dist/core/extract-inline.d.ts +38 -0
- package/dist/core/extract-inline.js +215 -0
- package/dist/core/extract-listings.d.ts +38 -0
- package/dist/core/extract-listings.js +461 -0
- package/dist/core/extract.d.ts +9 -0
- package/dist/core/extract.js +139 -0
- package/dist/core/fetch-cache.d.ts +57 -0
- package/dist/core/fetch-cache.js +95 -0
- package/dist/core/fetcher.d.ts +13 -0
- package/dist/core/fetcher.js +12 -0
- package/dist/core/google-cache.d.ts +29 -0
- package/dist/core/google-cache.js +180 -0
- package/dist/core/google-serp-parser.d.ts +82 -0
- package/dist/core/google-serp-parser.js +287 -0
- package/dist/core/hotel-search.d.ts +122 -0
- package/dist/core/hotel-search.js +382 -0
- package/dist/core/http-fetch.d.ts +72 -0
- package/dist/core/http-fetch.js +820 -0
- package/dist/core/human.d.ts +175 -0
- package/dist/core/human.js +680 -0
- package/dist/core/image-caption.d.ts +44 -0
- package/dist/core/image-caption.js +271 -0
- package/dist/core/jobs.d.ts +75 -0
- package/dist/core/jobs.js +634 -0
- package/dist/core/json-ld.d.ts +15 -0
- package/dist/core/json-ld.js +617 -0
- package/dist/core/language-detect.d.ts +18 -0
- package/dist/core/language-detect.js +135 -0
- package/dist/core/links.d.ts +10 -0
- package/dist/core/links.js +44 -0
- package/dist/core/llm-extract.d.ts +71 -0
- package/dist/core/llm-extract.js +507 -0
- package/dist/core/llm-provider.d.ts +100 -0
- package/dist/core/llm-provider.js +702 -0
- package/dist/core/local-search.d.ts +60 -0
- package/dist/core/local-search.js +308 -0
- package/dist/core/logger.d.ts +28 -0
- package/dist/core/logger.js +104 -0
- package/dist/core/map.d.ts +33 -0
- package/dist/core/map.js +127 -0
- package/dist/core/markdown.d.ts +92 -0
- package/dist/core/markdown.js +809 -0
- package/dist/core/metadata.d.ts +34 -0
- package/dist/core/metadata.js +422 -0
- package/dist/core/observe.d.ts +113 -0
- package/dist/core/observe.js +395 -0
- package/dist/core/ocr.d.ts +12 -0
- package/dist/core/ocr.js +33 -0
- package/dist/core/paginate.d.ts +31 -0
- package/dist/core/paginate.js +106 -0
- package/dist/core/pdf.d.ts +8 -0
- package/dist/core/pdf.js +25 -0
- package/dist/core/peel-tls.d.ts +25 -0
- package/dist/core/peel-tls.js +220 -0
- package/dist/core/pipeline.d.ts +132 -0
- package/dist/core/pipeline.js +1666 -0
- package/dist/core/profiles.d.ts +61 -0
- package/dist/core/profiles.js +350 -0
- package/dist/core/prompt-guard.d.ts +30 -0
- package/dist/core/prompt-guard.js +119 -0
- package/dist/core/proxy-config.d.ts +90 -0
- package/dist/core/proxy-config.js +172 -0
- package/dist/core/quick-answer.d.ts +53 -0
- package/dist/core/quick-answer.js +833 -0
- package/dist/core/rate-governor.d.ts +80 -0
- package/dist/core/rate-governor.js +238 -0
- package/dist/core/readability.d.ts +57 -0
- package/dist/core/readability.js +533 -0
- package/dist/core/research.d.ts +66 -0
- package/dist/core/research.js +270 -0
- package/dist/core/retry.d.ts +60 -0
- package/dist/core/retry.js +119 -0
- package/dist/core/safe-browsing.d.ts +30 -0
- package/dist/core/safe-browsing.js +206 -0
- package/dist/core/schema-extraction.d.ts +66 -0
- package/dist/core/schema-extraction.js +352 -0
- package/dist/core/schema-postprocess.d.ts +32 -0
- package/dist/core/schema-postprocess.js +469 -0
- package/dist/core/schema-templates.d.ts +19 -0
- package/dist/core/schema-templates.js +143 -0
- package/dist/core/screenshot.d.ts +224 -0
- package/dist/core/screenshot.js +207 -0
- package/dist/core/search-engines.d.ts +25 -0
- package/dist/core/search-engines.js +182 -0
- package/dist/core/search-provider.d.ts +243 -0
- package/dist/core/search-provider.js +1629 -0
- package/dist/core/searxng-provider.d.ts +35 -0
- package/dist/core/searxng-provider.js +105 -0
- package/dist/core/selective-evidence.d.ts +151 -0
- package/dist/core/selective-evidence.js +389 -0
- package/dist/core/site-search.d.ts +44 -0
- package/dist/core/site-search.js +252 -0
- package/dist/core/sitemap.d.ts +23 -0
- package/dist/core/sitemap.js +105 -0
- package/dist/core/source-credibility.d.ts +29 -0
- package/dist/core/source-credibility.js +584 -0
- package/dist/core/source-scoring.d.ts +166 -0
- package/dist/core/source-scoring.js +396 -0
- package/dist/core/stemmer.d.ts +38 -0
- package/dist/core/stemmer.js +509 -0
- package/dist/core/strategies.d.ts +104 -0
- package/dist/core/strategies.js +1044 -0
- package/dist/core/strategy-hooks.d.ts +145 -0
- package/dist/core/strategy-hooks.js +74 -0
- package/dist/core/structured-extract.d.ts +43 -0
- package/dist/core/structured-extract.js +550 -0
- package/dist/core/summarize.d.ts +17 -0
- package/dist/core/summarize.js +78 -0
- package/dist/core/synonyms.d.ts +42 -0
- package/dist/core/synonyms.js +184 -0
- package/dist/core/system-monitor.d.ts +61 -0
- package/dist/core/system-monitor.js +133 -0
- package/dist/core/table-format.d.ts +30 -0
- package/dist/core/table-format.js +146 -0
- package/dist/core/threat-feeds.d.ts +23 -0
- package/dist/core/threat-feeds.js +104 -0
- package/dist/core/timing.d.ts +21 -0
- package/dist/core/timing.js +33 -0
- package/dist/core/transcript-export.d.ts +47 -0
- package/dist/core/transcript-export.js +107 -0
- package/dist/core/user-agents.d.ts +82 -0
- package/dist/core/user-agents.js +239 -0
- package/dist/core/vertical-search.d.ts +54 -0
- package/dist/core/vertical-search.js +158 -0
- package/dist/core/watch-manager.d.ts +175 -0
- package/dist/core/watch-manager.js +416 -0
- package/dist/core/watch.d.ts +101 -0
- package/dist/core/watch.js +389 -0
- package/dist/core/youtube.d.ts +130 -0
- package/dist/core/youtube.js +1175 -0
- package/dist/ee/challenge-re-export.d.ts +1 -0
- package/dist/ee/challenge-re-export.js +1 -0
- package/dist/ee/challenge-solver.d.ts +72 -0
- package/dist/ee/challenge-solver.js +720 -0
- package/dist/ee/domain-extractors.d.ts +8 -0
- package/dist/ee/domain-extractors.js +8 -0
- package/dist/ee/domain-intel.d.ts +16 -0
- package/dist/ee/domain-intel.js +133 -0
- package/dist/ee/extractors/allrecipes.d.ts +2 -0
- package/dist/ee/extractors/allrecipes.js +120 -0
- package/dist/ee/extractors/amazon.d.ts +2 -0
- package/dist/ee/extractors/amazon.js +78 -0
- package/dist/ee/extractors/arxiv.d.ts +2 -0
- package/dist/ee/extractors/arxiv.js +137 -0
- package/dist/ee/extractors/bestbuy.d.ts +2 -0
- package/dist/ee/extractors/bestbuy.js +78 -0
- package/dist/ee/extractors/carscom.d.ts +2 -0
- package/dist/ee/extractors/carscom.js +121 -0
- package/dist/ee/extractors/coingecko.d.ts +2 -0
- package/dist/ee/extractors/coingecko.js +134 -0
- package/dist/ee/extractors/craigslist.d.ts +2 -0
- package/dist/ee/extractors/craigslist.js +92 -0
- package/dist/ee/extractors/devto.d.ts +2 -0
- package/dist/ee/extractors/devto.js +135 -0
- package/dist/ee/extractors/ebay.d.ts +2 -0
- package/dist/ee/extractors/ebay.js +90 -0
- package/dist/ee/extractors/espn.d.ts +2 -0
- package/dist/ee/extractors/espn.js +260 -0
- package/dist/ee/extractors/etsy.d.ts +2 -0
- package/dist/ee/extractors/etsy.js +52 -0
- package/dist/ee/extractors/facebook.d.ts +2 -0
- package/dist/ee/extractors/facebook.js +46 -0
- package/dist/ee/extractors/github.d.ts +2 -0
- package/dist/ee/extractors/github.js +196 -0
- package/dist/ee/extractors/google-flights.d.ts +2 -0
- package/dist/ee/extractors/google-flights.js +176 -0
- package/dist/ee/extractors/hackernews.d.ts +2 -0
- package/dist/ee/extractors/hackernews.js +147 -0
- package/dist/ee/extractors/imdb.d.ts +2 -0
- package/dist/ee/extractors/imdb.js +172 -0
- package/dist/ee/extractors/index.d.ts +26 -0
- package/dist/ee/extractors/index.js +247 -0
- package/dist/ee/extractors/instagram.d.ts +2 -0
- package/dist/ee/extractors/instagram.js +102 -0
- package/dist/ee/extractors/kalshi.d.ts +2 -0
- package/dist/ee/extractors/kalshi.js +121 -0
- package/dist/ee/extractors/kayak-cars.d.ts +2 -0
- package/dist/ee/extractors/kayak-cars.js +270 -0
- package/dist/ee/extractors/linkedin.d.ts +2 -0
- package/dist/ee/extractors/linkedin.js +113 -0
- package/dist/ee/extractors/medium.d.ts +2 -0
- package/dist/ee/extractors/medium.js +130 -0
- package/dist/ee/extractors/news.d.ts +4 -0
- package/dist/ee/extractors/news.js +173 -0
- package/dist/ee/extractors/npm.d.ts +2 -0
- package/dist/ee/extractors/npm.js +86 -0
- package/dist/ee/extractors/pdf.d.ts +2 -0
- package/dist/ee/extractors/pdf.js +108 -0
- package/dist/ee/extractors/pinterest.d.ts +2 -0
- package/dist/ee/extractors/pinterest.js +34 -0
- package/dist/ee/extractors/polymarket.d.ts +2 -0
- package/dist/ee/extractors/polymarket.js +358 -0
- package/dist/ee/extractors/producthunt.d.ts +2 -0
- package/dist/ee/extractors/producthunt.js +88 -0
- package/dist/ee/extractors/pubmed.d.ts +2 -0
- package/dist/ee/extractors/pubmed.js +162 -0
- package/dist/ee/extractors/pypi.d.ts +2 -0
- package/dist/ee/extractors/pypi.js +80 -0
- package/dist/ee/extractors/reddit.d.ts +2 -0
- package/dist/ee/extractors/reddit.js +438 -0
- package/dist/ee/extractors/redfin.d.ts +2 -0
- package/dist/ee/extractors/redfin.js +156 -0
- package/dist/ee/extractors/semanticscholar.d.ts +2 -0
- package/dist/ee/extractors/semanticscholar.js +131 -0
- package/dist/ee/extractors/shared.d.ts +12 -0
- package/dist/ee/extractors/shared.js +76 -0
- package/dist/ee/extractors/soundcloud.d.ts +2 -0
- package/dist/ee/extractors/soundcloud.js +34 -0
- package/dist/ee/extractors/sportsbetting.d.ts +2 -0
- package/dist/ee/extractors/sportsbetting.js +37 -0
- package/dist/ee/extractors/spotify.d.ts +2 -0
- package/dist/ee/extractors/spotify.js +34 -0
- package/dist/ee/extractors/stackoverflow.d.ts +2 -0
- package/dist/ee/extractors/stackoverflow.js +61 -0
- package/dist/ee/extractors/substack.d.ts +2 -0
- package/dist/ee/extractors/substack.js +115 -0
- package/dist/ee/extractors/substackroot.d.ts +2 -0
- package/dist/ee/extractors/substackroot.js +46 -0
- package/dist/ee/extractors/tiktok.d.ts +2 -0
- package/dist/ee/extractors/tiktok.js +29 -0
- package/dist/ee/extractors/tradingview.d.ts +2 -0
- package/dist/ee/extractors/tradingview.js +182 -0
- package/dist/ee/extractors/twitch.d.ts +2 -0
- package/dist/ee/extractors/twitch.js +36 -0
- package/dist/ee/extractors/twitter.d.ts +2 -0
- package/dist/ee/extractors/twitter.js +327 -0
- package/dist/ee/extractors/types.d.ts +14 -0
- package/dist/ee/extractors/types.js +1 -0
- package/dist/ee/extractors/walmart.d.ts +2 -0
- package/dist/ee/extractors/walmart.js +50 -0
- package/dist/ee/extractors/weather.d.ts +2 -0
- package/dist/ee/extractors/weather.js +133 -0
- package/dist/ee/extractors/wikipedia.d.ts +4 -0
- package/dist/ee/extractors/wikipedia.js +235 -0
- package/dist/ee/extractors/yelp.d.ts +2 -0
- package/dist/ee/extractors/yelp.js +216 -0
- package/dist/ee/extractors/youtube.d.ts +2 -0
- package/dist/ee/extractors/youtube.js +189 -0
- package/dist/ee/extractors/zillow.d.ts +54 -0
- package/dist/ee/extractors/zillow.js +247 -0
- package/dist/ee/extractors-re-export.d.ts +1 -0
- package/dist/ee/extractors-re-export.js +1 -0
- package/dist/ee/premium-hooks.d.ts +20 -0
- package/dist/ee/premium-hooks.js +50 -0
- package/dist/ee/spa-detection.d.ts +2 -0
- package/dist/ee/spa-detection.js +2 -0
- package/dist/ee/stability.d.ts +4 -0
- package/dist/ee/stability.js +29 -0
- package/dist/ee/swr-cache.d.ts +14 -0
- package/dist/ee/swr-cache.js +34 -0
- package/dist/index.d.ts +143 -0
- package/dist/index.js +291 -0
- package/dist/integrations/index.d.ts +2 -0
- package/dist/integrations/index.js +2 -0
- package/dist/integrations/langchain.d.ts +64 -0
- package/dist/integrations/langchain.js +115 -0
- package/dist/integrations/llamaindex.d.ts +50 -0
- package/dist/integrations/llamaindex.js +91 -0
- package/dist/mcp/handlers/act.d.ts +5 -0
- package/dist/mcp/handlers/act.js +34 -0
- package/dist/mcp/handlers/definitions.d.ts +6 -0
- package/dist/mcp/handlers/definitions.js +395 -0
- package/dist/mcp/handlers/extract.d.ts +7 -0
- package/dist/mcp/handlers/extract.js +135 -0
- package/dist/mcp/handlers/fetch.d.ts +6 -0
- package/dist/mcp/handlers/fetch.js +98 -0
- package/dist/mcp/handlers/find.d.ts +5 -0
- package/dist/mcp/handlers/find.js +137 -0
- package/dist/mcp/handlers/index.d.ts +13 -0
- package/dist/mcp/handlers/index.js +63 -0
- package/dist/mcp/handlers/legacy.d.ts +25 -0
- package/dist/mcp/handlers/legacy.js +450 -0
- package/dist/mcp/handlers/meta.d.ts +6 -0
- package/dist/mcp/handlers/meta.js +40 -0
- package/dist/mcp/handlers/monitor.d.ts +5 -0
- package/dist/mcp/handlers/monitor.js +41 -0
- package/dist/mcp/handlers/observe.d.ts +8 -0
- package/dist/mcp/handlers/observe.js +37 -0
- package/dist/mcp/handlers/read.d.ts +6 -0
- package/dist/mcp/handlers/read.js +78 -0
- package/dist/mcp/handlers/see.d.ts +5 -0
- package/dist/mcp/handlers/see.js +75 -0
- package/dist/mcp/handlers/types.d.ts +29 -0
- package/dist/mcp/handlers/types.js +28 -0
- package/dist/mcp/server.d.ts +7 -0
- package/dist/mcp/server.js +108 -0
- package/dist/mcp/smart-router.d.ts +23 -0
- package/dist/mcp/smart-router.js +178 -0
- package/dist/server/app.d.ts +14 -0
- package/dist/server/app.js +632 -0
- package/dist/server/auth-store.d.ts +28 -0
- package/dist/server/auth-store.js +88 -0
- package/dist/server/bull-queues.d.ts +60 -0
- package/dist/server/bull-queues.js +90 -0
- package/dist/server/email-service.d.ts +55 -0
- package/dist/server/email-service.js +291 -0
- package/dist/server/job-queue.d.ts +100 -0
- package/dist/server/job-queue.js +145 -0
- package/dist/server/logger.d.ts +10 -0
- package/dist/server/logger.js +37 -0
- package/dist/server/middleware/audit-log.d.ts +14 -0
- package/dist/server/middleware/audit-log.js +73 -0
- package/dist/server/middleware/auth.d.ts +35 -0
- package/dist/server/middleware/auth.js +225 -0
- package/dist/server/middleware/rate-limit.d.ts +50 -0
- package/dist/server/middleware/rate-limit.js +270 -0
- package/dist/server/middleware/scope-guard.d.ts +25 -0
- package/dist/server/middleware/scope-guard.js +45 -0
- package/dist/server/middleware/url-validator.d.ts +15 -0
- package/dist/server/middleware/url-validator.js +201 -0
- package/dist/server/openapi.yaml +6418 -0
- package/dist/server/pg-auth-store.d.ts +146 -0
- package/dist/server/pg-auth-store.js +576 -0
- package/dist/server/pg-job-queue.d.ts +59 -0
- package/dist/server/pg-job-queue.js +375 -0
- package/dist/server/routes/activity.d.ts +6 -0
- package/dist/server/routes/activity.js +79 -0
- package/dist/server/routes/admin-active.d.ts +7 -0
- package/dist/server/routes/admin-active.js +120 -0
- package/dist/server/routes/admin-stats.d.ts +7 -0
- package/dist/server/routes/admin-stats.js +176 -0
- package/dist/server/routes/agent.d.ts +24 -0
- package/dist/server/routes/agent.js +480 -0
- package/dist/server/routes/answer.d.ts +5 -0
- package/dist/server/routes/answer.js +125 -0
- package/dist/server/routes/ask.d.ts +28 -0
- package/dist/server/routes/ask.js +295 -0
- package/dist/server/routes/batch.d.ts +6 -0
- package/dist/server/routes/batch.js +493 -0
- package/dist/server/routes/cache-warm.d.ts +25 -0
- package/dist/server/routes/cache-warm.js +212 -0
- package/dist/server/routes/cli-usage.d.ts +6 -0
- package/dist/server/routes/cli-usage.js +127 -0
- package/dist/server/routes/compat.d.ts +23 -0
- package/dist/server/routes/compat.js +652 -0
- package/dist/server/routes/crawl.d.ts +13 -0
- package/dist/server/routes/crawl.js +287 -0
- package/dist/server/routes/deep-fetch.d.ts +8 -0
- package/dist/server/routes/deep-fetch.js +57 -0
- package/dist/server/routes/deep-research.d.ts +11 -0
- package/dist/server/routes/deep-research.js +232 -0
- package/dist/server/routes/demo.d.ts +24 -0
- package/dist/server/routes/demo.js +517 -0
- package/dist/server/routes/do.d.ts +8 -0
- package/dist/server/routes/do.js +72 -0
- package/dist/server/routes/extract.d.ts +14 -0
- package/dist/server/routes/extract.js +325 -0
- package/dist/server/routes/feed.d.ts +15 -0
- package/dist/server/routes/feed.js +311 -0
- package/dist/server/routes/fetch-queue.d.ts +13 -0
- package/dist/server/routes/fetch-queue.js +357 -0
- package/dist/server/routes/fetch.d.ts +7 -0
- package/dist/server/routes/fetch.js +1274 -0
- package/dist/server/routes/go.d.ts +14 -0
- package/dist/server/routes/go.js +81 -0
- package/dist/server/routes/health.d.ts +11 -0
- package/dist/server/routes/health.js +141 -0
- package/dist/server/routes/jobs.d.ts +7 -0
- package/dist/server/routes/jobs.js +574 -0
- package/dist/server/routes/map.d.ts +11 -0
- package/dist/server/routes/map.js +116 -0
- package/dist/server/routes/mcp.d.ts +14 -0
- package/dist/server/routes/mcp.js +197 -0
- package/dist/server/routes/metrics.d.ts +37 -0
- package/dist/server/routes/metrics.js +149 -0
- package/dist/server/routes/oauth.d.ts +9 -0
- package/dist/server/routes/oauth.js +396 -0
- package/dist/server/routes/playground.d.ts +17 -0
- package/dist/server/routes/playground.js +283 -0
- package/dist/server/routes/reader.d.ts +18 -0
- package/dist/server/routes/reader.js +192 -0
- package/dist/server/routes/research.d.ts +14 -0
- package/dist/server/routes/research.js +482 -0
- package/dist/server/routes/screenshot.d.ts +22 -0
- package/dist/server/routes/screenshot.js +820 -0
- package/dist/server/routes/search.d.ts +6 -0
- package/dist/server/routes/search.js +874 -0
- package/dist/server/routes/session.d.ts +17 -0
- package/dist/server/routes/session.js +548 -0
- package/dist/server/routes/share.d.ts +18 -0
- package/dist/server/routes/share.js +462 -0
- package/dist/server/routes/smart-search/handlers/cars.d.ts +2 -0
- package/dist/server/routes/smart-search/handlers/cars.js +102 -0
- package/dist/server/routes/smart-search/handlers/flights.d.ts +2 -0
- package/dist/server/routes/smart-search/handlers/flights.js +72 -0
- package/dist/server/routes/smart-search/handlers/general.d.ts +13 -0
- package/dist/server/routes/smart-search/handlers/general.js +717 -0
- package/dist/server/routes/smart-search/handlers/hotels.d.ts +2 -0
- package/dist/server/routes/smart-search/handlers/hotels.js +88 -0
- package/dist/server/routes/smart-search/handlers/products.d.ts +2 -0
- package/dist/server/routes/smart-search/handlers/products.js +1309 -0
- package/dist/server/routes/smart-search/handlers/rental.d.ts +2 -0
- package/dist/server/routes/smart-search/handlers/rental.js +154 -0
- package/dist/server/routes/smart-search/handlers/restaurants.d.ts +2 -0
- package/dist/server/routes/smart-search/handlers/restaurants.js +225 -0
- package/dist/server/routes/smart-search/handlers/transit-verdict.d.ts +41 -0
- package/dist/server/routes/smart-search/handlers/transit-verdict.js +224 -0
- package/dist/server/routes/smart-search/index.d.ts +19 -0
- package/dist/server/routes/smart-search/index.js +546 -0
- package/dist/server/routes/smart-search/intent.d.ts +3 -0
- package/dist/server/routes/smart-search/intent.js +264 -0
- package/dist/server/routes/smart-search/llm.d.ts +16 -0
- package/dist/server/routes/smart-search/llm.js +70 -0
- package/dist/server/routes/smart-search/sources/reddit.d.ts +18 -0
- package/dist/server/routes/smart-search/sources/reddit.js +34 -0
- package/dist/server/routes/smart-search/sources/yelp.d.ts +25 -0
- package/dist/server/routes/smart-search/sources/yelp.js +171 -0
- package/dist/server/routes/smart-search/sources/youtube.d.ts +8 -0
- package/dist/server/routes/smart-search/sources/youtube.js +9 -0
- package/dist/server/routes/smart-search/types.d.ts +81 -0
- package/dist/server/routes/smart-search/types.js +1 -0
- package/dist/server/routes/smart-search/utils.d.ts +20 -0
- package/dist/server/routes/smart-search/utils.js +146 -0
- package/dist/server/routes/stats.d.ts +6 -0
- package/dist/server/routes/stats.js +71 -0
- package/dist/server/routes/stripe.d.ts +15 -0
- package/dist/server/routes/stripe.js +296 -0
- package/dist/server/routes/transcript-export.d.ts +10 -0
- package/dist/server/routes/transcript-export.js +178 -0
- package/dist/server/routes/usage.d.ts +9 -0
- package/dist/server/routes/usage.js +279 -0
- package/dist/server/routes/users.d.ts +8 -0
- package/dist/server/routes/users.js +1867 -0
- package/dist/server/routes/watch.d.ts +15 -0
- package/dist/server/routes/watch.js +309 -0
- package/dist/server/routes/webhooks.d.ts +26 -0
- package/dist/server/routes/webhooks.js +170 -0
- package/dist/server/routes/youtube.d.ts +6 -0
- package/dist/server/routes/youtube.js +130 -0
- package/dist/server/sentry.d.ts +14 -0
- package/dist/server/sentry.js +104 -0
- package/dist/server/types.d.ts +15 -0
- package/dist/server/types.js +7 -0
- package/dist/server/utils/response.d.ts +44 -0
- package/dist/server/utils/response.js +69 -0
- package/dist/server/utils/sse.d.ts +22 -0
- package/dist/server/utils/sse.js +38 -0
- package/dist/types.d.ts +552 -0
- package/dist/types.js +39 -0
- package/llms.txt +105 -0
- package/package.json +189 -0
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Search provider abstraction
|
|
3
|
+
*
|
|
4
|
+
* WebPeel supports multiple web search backends. DuckDuckGo is the default
|
|
5
|
+
* (no API key required). The StealthSearchProvider uses WebPeel's own stealth
|
|
6
|
+
* browser to scrape multiple search engines in parallel — fully self-hosted,
|
|
7
|
+
* no external API keys required.
|
|
8
|
+
*
|
|
9
|
+
* Provider fallback chain (DDG):
|
|
10
|
+
* DDG HTTP → DDG Lite → Brave (if key) → StealthSearchProvider (Bing + Ecosia)
|
|
11
|
+
*
|
|
12
|
+
* In production with no API keys configured, getBestSearchProvider() returns
|
|
13
|
+
* StealthSearchProvider since DDG HTTP is often blocked on datacenter IPs.
|
|
14
|
+
*/
|
|
15
|
+
export type SearchProviderId = 'duckduckgo' | 'brave' | 'stealth' | 'google' | 'baidu' | 'yandex' | 'naver' | 'yahoo_japan';
|
|
16
|
+
export interface WebSearchResult {
|
|
17
|
+
title: string;
|
|
18
|
+
url: string;
|
|
19
|
+
snippet: string;
|
|
20
|
+
/** Relevance score (0–1) based on keyword overlap with query. Added by filterRelevantResults. */
|
|
21
|
+
relevanceScore?: number;
|
|
22
|
+
/** Thumbnail/image URL from SearXNG results (img_src or thumbnail field). */
|
|
23
|
+
imageUrl?: string;
|
|
24
|
+
/** Structured SERP data when structured=true is passed in WebSearchOptions. */
|
|
25
|
+
serp?: import('./google-serp-parser.js').GoogleSerpResult;
|
|
26
|
+
}
|
|
27
|
+
export interface WebSearchOptions {
|
|
28
|
+
/** Number of results (1-10) */
|
|
29
|
+
count: number;
|
|
30
|
+
/** Provider API key (required for some providers, e.g. Brave) */
|
|
31
|
+
apiKey?: string;
|
|
32
|
+
/** Time filter (DuckDuckGo: df param) */
|
|
33
|
+
tbs?: string;
|
|
34
|
+
/** Country code for geo-targeting */
|
|
35
|
+
country?: string;
|
|
36
|
+
/** Location/region for geo-targeting */
|
|
37
|
+
location?: string;
|
|
38
|
+
/**
|
|
39
|
+
* Locale for search results (e.g. 'jp-jp' for Japanese, 'fr-fr' for French).
|
|
40
|
+
* In DuckDuckGo, maps to the `kl` parameter.
|
|
41
|
+
* In SearXNG, maps to the `language` parameter.
|
|
42
|
+
* Falls back to 'en-US' when not provided.
|
|
43
|
+
*/
|
|
44
|
+
locale?: string;
|
|
45
|
+
/** Optional AbortSignal */
|
|
46
|
+
signal?: AbortSignal;
|
|
47
|
+
/** Return structured SERP data (knowledge panel, PAA, featured snippets, etc.) */
|
|
48
|
+
structured?: boolean;
|
|
49
|
+
}
|
|
50
|
+
export interface SearchProvider {
|
|
51
|
+
readonly id: SearchProviderId;
|
|
52
|
+
readonly requiresApiKey: boolean;
|
|
53
|
+
searchWeb(query: string, options: WebSearchOptions): Promise<WebSearchResult[]>;
|
|
54
|
+
}
|
|
55
|
+
declare class ProviderStatsTracker {
|
|
56
|
+
private readonly history;
|
|
57
|
+
private readonly windowSize;
|
|
58
|
+
private readonly failThreshold;
|
|
59
|
+
private readonly minSamples;
|
|
60
|
+
private readonly decayMs;
|
|
61
|
+
constructor(windowSize?: number, failThreshold?: number, minSamples?: number, decayMs?: number);
|
|
62
|
+
/** Record the outcome of a single attempt for the given source. */
|
|
63
|
+
record(sourceId: string, success: boolean): void;
|
|
64
|
+
/**
|
|
65
|
+
* Returns the failure rate (0–1) for the given source based on
|
|
66
|
+
* the sliding window of recorded attempts. Returns 0 if fewer
|
|
67
|
+
* than minSamples have been recorded, or if all samples are older
|
|
68
|
+
* than decayMs (failures expire so cold-start blips don't permanently
|
|
69
|
+
* lock out a provider).
|
|
70
|
+
*/
|
|
71
|
+
getFailureRate(sourceId: string): number;
|
|
72
|
+
/**
|
|
73
|
+
* Returns true when the source should be skipped (failure rate >=
|
|
74
|
+
* failThreshold with at least minSamples recent recorded).
|
|
75
|
+
*/
|
|
76
|
+
shouldSkip(sourceId: string): boolean;
|
|
77
|
+
/** Debug snapshot for a source. */
|
|
78
|
+
getStats(sourceId: string): {
|
|
79
|
+
attempts: number;
|
|
80
|
+
failures: number;
|
|
81
|
+
failureRate: number;
|
|
82
|
+
skipRecommended: boolean;
|
|
83
|
+
};
|
|
84
|
+
/** Clear history — useful in tests. */
|
|
85
|
+
reset(sourceId?: string): void;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Module-level singleton. Exported so callers can inspect or reset stats
|
|
89
|
+
* (e.g. in tests) and to log diagnostics.
|
|
90
|
+
*/
|
|
91
|
+
export declare const providerStats: ProviderStatsTracker;
|
|
92
|
+
/**
|
|
93
|
+
* Merge results from multiple sources, deduplicating by normalized URL.
|
|
94
|
+
* Preserves original order (first occurrence wins) and limits to maxCount.
|
|
95
|
+
*/
|
|
96
|
+
export declare function mergeSearchResults(results: WebSearchResult[], maxCount: number): WebSearchResult[];
|
|
97
|
+
/**
|
|
98
|
+
* Filter and rank results by relevance to the original query.
|
|
99
|
+
*
|
|
100
|
+
* 1. Extract meaningful keywords from the query (remove stop words).
|
|
101
|
+
* 2. Score each result by keyword overlap with title + URL + snippet.
|
|
102
|
+
* 3. Remove results with zero overlap (completely irrelevant).
|
|
103
|
+
* 4. Sort descending by score, keeping original index as tiebreaker.
|
|
104
|
+
* 5. Attach `relevanceScore` (0–1) to each surviving result.
|
|
105
|
+
*
|
|
106
|
+
* Results without any scores (query produced no keywords) are returned as-is.
|
|
107
|
+
*/
|
|
108
|
+
export declare function filterRelevantResults(results: WebSearchResult[], query: string): WebSearchResult[];
|
|
109
|
+
/**
|
|
110
|
+
* StealthSearchProvider — self-hosted multi-engine search
|
|
111
|
+
*
|
|
112
|
+
* Uses WebPeel's own stealth browser (rebrowser-playwright with anti-detection)
|
|
113
|
+
* to scrape DuckDuckGo, Bing, and Ecosia in parallel. No external API keys
|
|
114
|
+
* required. Results are deduplicated by normalized URL before returning.
|
|
115
|
+
*
|
|
116
|
+
* Timeout: 15s per engine, 20s total.
|
|
117
|
+
*/
|
|
118
|
+
export declare class StealthSearchProvider implements SearchProvider {
|
|
119
|
+
readonly id: SearchProviderId;
|
|
120
|
+
readonly requiresApiKey = false;
|
|
121
|
+
/**
|
|
122
|
+
* Short-TTL in-memory cache for search results.
|
|
123
|
+
* Key: normalised "query::count", Value: { results, ts }.
|
|
124
|
+
* Entries expire after SEARCH_CACHE_TTL_MS. Avoids redundant browser scrapes
|
|
125
|
+
* when the same query is issued within a short window (e.g. transit outbound +
|
|
126
|
+
* general enrichment both searching similar terms).
|
|
127
|
+
*/
|
|
128
|
+
private static readonly SEARCH_CACHE_TTL_MS;
|
|
129
|
+
private static readonly SEARCH_CACHE_MAX;
|
|
130
|
+
private static searchCache;
|
|
131
|
+
private getCachedSearch;
|
|
132
|
+
private setCachedSearch;
|
|
133
|
+
/** Validate and normalize a URL; returns null if invalid/non-http or a DDG ad URL */
|
|
134
|
+
private validateUrl;
|
|
135
|
+
/**
|
|
136
|
+
* Scrape DuckDuckGo HTML endpoint with stealth browser.
|
|
137
|
+
* Uses the warm shared stealth browser (new context per call) for speed.
|
|
138
|
+
*/
|
|
139
|
+
private scrapeDDG;
|
|
140
|
+
/**
|
|
141
|
+
* Scrape Bing web search with stealth browser.
|
|
142
|
+
* Selectors: li.b_algo for result containers.
|
|
143
|
+
*/
|
|
144
|
+
private scrapeBing;
|
|
145
|
+
/**
|
|
146
|
+
* Scrape Ecosia web search with stealth browser.
|
|
147
|
+
* Uses the warm shared stealth browser (new context per call) for speed.
|
|
148
|
+
* Tries multiple selector patterns since Ecosia updates their HTML frequently.
|
|
149
|
+
*/
|
|
150
|
+
private scrapeEcosia;
|
|
151
|
+
searchWeb(query: string, options: WebSearchOptions): Promise<WebSearchResult[]>;
|
|
152
|
+
}
|
|
153
|
+
export declare class DuckDuckGoProvider implements SearchProvider {
|
|
154
|
+
readonly id: SearchProviderId;
|
|
155
|
+
readonly requiresApiKey = false;
|
|
156
|
+
private buildQueryAttempts;
|
|
157
|
+
private buildSearchUrl;
|
|
158
|
+
private searchOnce;
|
|
159
|
+
/**
|
|
160
|
+
* Fallback: DuckDuckGo Lite endpoint. Different HTML structure, sometimes
|
|
161
|
+
* works when the main HTML endpoint is temporarily blocked on datacenter IPs.
|
|
162
|
+
*/
|
|
163
|
+
private searchLite;
|
|
164
|
+
/**
|
|
165
|
+
* HTTP-only Bing scraping via undici + cheerio. No browser required.
|
|
166
|
+
* Routes through Webshare proxy (proxy first, direct fallback).
|
|
167
|
+
* Tracks stats via providerStats('bing-http').
|
|
168
|
+
*/
|
|
169
|
+
private _searchBingHttp;
|
|
170
|
+
/**
|
|
171
|
+
* HTTP-only Google scraping via undici + cheerio. No browser required.
|
|
172
|
+
* Routes through Webshare proxy (proxy first, direct fallback).
|
|
173
|
+
* Sends CONSENT cookie to bypass Google consent page.
|
|
174
|
+
* Tracks stats via providerStats('google-http').
|
|
175
|
+
*/
|
|
176
|
+
private _searchGoogleHttp;
|
|
177
|
+
searchWeb(query: string, options: WebSearchOptions): Promise<WebSearchResult[]>;
|
|
178
|
+
/**
|
|
179
|
+
* Exposed for testing: score and filter a pre-fetched result list against a query.
|
|
180
|
+
* Equivalent to calling filterRelevantResults() directly.
|
|
181
|
+
*/
|
|
182
|
+
filterResults(results: WebSearchResult[], query: string): WebSearchResult[];
|
|
183
|
+
}
|
|
184
|
+
export declare class BraveSearchProvider implements SearchProvider {
|
|
185
|
+
readonly id: SearchProviderId;
|
|
186
|
+
readonly requiresApiKey = true;
|
|
187
|
+
searchWeb(query: string, options: WebSearchOptions): Promise<WebSearchResult[]>;
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* GoogleSearchProvider — Google Search via stealth browser or Custom Search JSON API
|
|
191
|
+
*
|
|
192
|
+
* Two modes:
|
|
193
|
+
* 1. Custom Search JSON API (BYOK): set GOOGLE_SEARCH_KEY + GOOGLE_SEARCH_CX env vars.
|
|
194
|
+
* Reliable, structured, 100 free queries/day. Works from any IP.
|
|
195
|
+
* 2. Stealth browser scraping (no API key): uses playwright-extra stealth plugin to
|
|
196
|
+
* scrape google.com/search directly. Works from datacenter IPs where DDG/Bing/Ecosia
|
|
197
|
+
* are blocked. Gracefully returns [] if Playwright is unavailable.
|
|
198
|
+
*
|
|
199
|
+
* Docs: https://developers.google.com/custom-search/v1/overview
|
|
200
|
+
*/
|
|
201
|
+
export declare class GoogleSearchProvider implements SearchProvider {
|
|
202
|
+
readonly id: SearchProviderId;
|
|
203
|
+
/**
|
|
204
|
+
* requiresApiKey is false: works without API keys via stealth browser fallback.
|
|
205
|
+
*/
|
|
206
|
+
readonly requiresApiKey = false;
|
|
207
|
+
/**
|
|
208
|
+
* Map standard freshness values to Google's dateRestrict format.
|
|
209
|
+
* Google dateRestrict: d[n]=past n days, w[n]=past n weeks,
|
|
210
|
+
* m[n]=past n months, y[n]=past n years.
|
|
211
|
+
*/
|
|
212
|
+
private mapFreshnessToDateRestrict;
|
|
213
|
+
/** Validate URL; returns null if invalid/non-http or a DDG ad URL */
|
|
214
|
+
private validateUrl;
|
|
215
|
+
/**
|
|
216
|
+
* Stealth browser scrape of google.com/search.
|
|
217
|
+
* Used when no Custom Search API key is configured.
|
|
218
|
+
* Strategy A: peel() with stealth rendering (consistent with StealthSearchProvider).
|
|
219
|
+
* Strategy B: direct playwright-extra launch (if peel returns no results).
|
|
220
|
+
*/
|
|
221
|
+
private scrapeGoogleStealth;
|
|
222
|
+
/** Parse Google search result HTML using cheerio. No DOM lib types required. */
|
|
223
|
+
private _parseGoogleHtml;
|
|
224
|
+
searchWeb(query: string, options: WebSearchOptions): Promise<WebSearchResult[]>;
|
|
225
|
+
}
|
|
226
|
+
export declare function getSearchProvider(id: SearchProviderId | undefined): SearchProvider;
|
|
227
|
+
/**
|
|
228
|
+
/**
|
|
229
|
+
* Get the best available search provider based on configured API keys and
|
|
230
|
+
* available runtime dependencies.
|
|
231
|
+
*
|
|
232
|
+
* Priority:
|
|
233
|
+
* 1. Google Custom Search JSON API (if GOOGLE_SEARCH_KEY + GOOGLE_SEARCH_CX set)
|
|
234
|
+
* 2. Brave Search (if BRAVE_SEARCH_KEY is set)
|
|
235
|
+
* 3. Google stealth browser scraping (works from datacenter IPs; no API key needed)
|
|
236
|
+
* — only when playwright-extra is available in node_modules
|
|
237
|
+
* 4. DuckDuckGo with full fallback chain (DDG HTTP → DDG Lite → stealth multi-engine (Bing + Ecosia))
|
|
238
|
+
*/
|
|
239
|
+
export declare function getBestSearchProvider(): {
|
|
240
|
+
provider: SearchProvider;
|
|
241
|
+
apiKey?: string;
|
|
242
|
+
};
|
|
243
|
+
export {};
|