@staticn0va/wigolo 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +195 -73
- package/SKILL.md +382 -0
- package/assets/blocks/claude-code/CLAUDE.md.block +20 -0
- package/assets/blocks/claude-code/wigolo-command.md +40 -0
- package/assets/blocks/cursor/wigolo.mdc +46 -0
- package/assets/blocks/gemini-cli/GEMINI.md.block +18 -0
- package/assets/blocks/vscode/copilot-instructions.md.block +18 -0
- package/assets/skills/wigolo/SKILL.md +50 -0
- package/assets/skills/wigolo/rules/cache-first.md +30 -0
- package/assets/skills/wigolo/rules/synthesis.md +43 -0
- package/assets/skills/wigolo-agent/SKILL.md +73 -0
- package/assets/skills/wigolo-crawl/SKILL.md +60 -0
- package/assets/skills/wigolo-extract/SKILL.md +59 -0
- package/assets/skills/wigolo-fetch/SKILL.md +65 -0
- package/assets/skills/wigolo-find-similar/SKILL.md +72 -0
- package/assets/skills/wigolo-research/SKILL.md +77 -0
- package/assets/skills/wigolo-search/SKILL.md +78 -0
- package/dist/agent/executor.d.ts +33 -0
- package/dist/agent/executor.d.ts.map +1 -0
- package/dist/agent/executor.js +233 -0
- package/dist/agent/executor.js.map +1 -0
- package/dist/agent/pipeline.d.ts +5 -0
- package/dist/agent/pipeline.d.ts.map +1 -0
- package/dist/agent/pipeline.js +208 -0
- package/dist/agent/pipeline.js.map +1 -0
- package/dist/agent/planner.d.ts +13 -0
- package/dist/agent/planner.d.ts.map +1 -0
- package/dist/agent/planner.js +271 -0
- package/dist/agent/planner.js.map +1 -0
- package/dist/agent/relevance.d.ts +15 -0
- package/dist/agent/relevance.d.ts.map +1 -0
- package/dist/agent/relevance.js +60 -0
- package/dist/agent/relevance.js.map +1 -0
- package/dist/cache/backfill-embeddings.d.ts +23 -0
- package/dist/cache/backfill-embeddings.d.ts.map +1 -0
- package/dist/cache/backfill-embeddings.js +105 -0
- package/dist/cache/backfill-embeddings.js.map +1 -0
- package/dist/cache/change-detector.d.ts +7 -0
- package/dist/cache/change-detector.d.ts.map +1 -0
- package/dist/cache/change-detector.js +43 -0
- package/dist/cache/change-detector.js.map +1 -0
- package/dist/cache/db.d.ts +1 -0
- package/dist/cache/db.d.ts.map +1 -1
- package/dist/cache/db.js +94 -22
- package/dist/cache/db.js.map +1 -1
- package/dist/cache/diff-summary.d.ts +2 -0
- package/dist/cache/diff-summary.d.ts.map +1 -0
- package/dist/cache/diff-summary.js +82 -0
- package/dist/cache/diff-summary.js.map +1 -0
- package/dist/cache/migrations/runner.d.ts +29 -0
- package/dist/cache/migrations/runner.d.ts.map +1 -0
- package/dist/cache/migrations/runner.js +147 -0
- package/dist/cache/migrations/runner.js.map +1 -0
- package/dist/cache/sqlite-vec-store.d.ts +42 -0
- package/dist/cache/sqlite-vec-store.d.ts.map +1 -0
- package/dist/cache/sqlite-vec-store.js +176 -0
- package/dist/cache/sqlite-vec-store.js.map +1 -0
- package/dist/cache/store.d.ts +46 -1
- package/dist/cache/store.d.ts.map +1 -1
- package/dist/cache/store.js +362 -168
- package/dist/cache/store.js.map +1 -1
- package/dist/cli/agents/antigravity.d.ts +20 -0
- package/dist/cli/agents/antigravity.d.ts.map +1 -0
- package/dist/cli/agents/antigravity.js +49 -0
- package/dist/cli/agents/antigravity.js.map +1 -0
- package/dist/cli/agents/claude-code.d.ts +25 -0
- package/dist/cli/agents/claude-code.d.ts.map +1 -0
- package/dist/cli/agents/claude-code.js +111 -0
- package/dist/cli/agents/claude-code.js.map +1 -0
- package/dist/cli/agents/cursor.d.ts +21 -0
- package/dist/cli/agents/cursor.d.ts.map +1 -0
- package/dist/cli/agents/cursor.js +58 -0
- package/dist/cli/agents/cursor.js.map +1 -0
- package/dist/cli/agents/gemini-cli.d.ts +21 -0
- package/dist/cli/agents/gemini-cli.d.ts.map +1 -0
- package/dist/cli/agents/gemini-cli.js +55 -0
- package/dist/cli/agents/gemini-cli.js.map +1 -0
- package/dist/cli/agents/registry.d.ts +21 -0
- package/dist/cli/agents/registry.d.ts.map +1 -0
- package/dist/cli/agents/registry.js +27 -0
- package/dist/cli/agents/registry.js.map +1 -0
- package/dist/cli/agents/utils.d.ts +26 -0
- package/dist/cli/agents/utils.d.ts.map +1 -0
- package/dist/cli/agents/utils.js +136 -0
- package/dist/cli/agents/utils.js.map +1 -0
- package/dist/cli/agents/vscode.d.ts +21 -0
- package/dist/cli/agents/vscode.d.ts.map +1 -0
- package/dist/cli/agents/vscode.js +62 -0
- package/dist/cli/agents/vscode.js.map +1 -0
- package/dist/cli/auth.d.ts +2 -0
- package/dist/cli/auth.d.ts.map +1 -0
- package/dist/cli/auth.js +94 -0
- package/dist/cli/auth.js.map +1 -0
- package/dist/cli/backfill.d.ts +2 -0
- package/dist/cli/backfill.d.ts.map +1 -0
- package/dist/cli/backfill.js +58 -0
- package/dist/cli/backfill.js.map +1 -0
- package/dist/cli/daemon.d.ts +6 -1
- package/dist/cli/daemon.d.ts.map +1 -1
- package/dist/cli/daemon.js +61 -3
- package/dist/cli/daemon.js.map +1 -1
- package/dist/cli/doctor.d.ts +8 -0
- package/dist/cli/doctor.d.ts.map +1 -0
- package/dist/cli/doctor.js +318 -0
- package/dist/cli/doctor.js.map +1 -0
- package/dist/cli/health.d.ts +1 -1
- package/dist/cli/health.d.ts.map +1 -1
- package/dist/cli/health.js +42 -3
- package/dist/cli/health.js.map +1 -1
- package/dist/cli/help.d.ts +6 -0
- package/dist/cli/help.d.ts.map +1 -0
- package/dist/cli/help.js +63 -0
- package/dist/cli/help.js.map +1 -0
- package/dist/cli/index.d.ts +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +35 -7
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/init.d.ts +2 -0
- package/dist/cli/init.d.ts.map +1 -0
- package/dist/cli/init.js +201 -0
- package/dist/cli/init.js.map +1 -0
- package/dist/cli/plugin.d.ts +5 -0
- package/dist/cli/plugin.d.ts.map +1 -0
- package/dist/cli/plugin.js +185 -0
- package/dist/cli/plugin.js.map +1 -0
- package/dist/cli/setup-mcp.d.ts +2 -0
- package/dist/cli/setup-mcp.d.ts.map +1 -0
- package/dist/cli/setup-mcp.js +114 -0
- package/dist/cli/setup-mcp.js.map +1 -0
- package/dist/cli/shell.d.ts +2 -0
- package/dist/cli/shell.d.ts.map +1 -0
- package/dist/cli/shell.js +86 -0
- package/dist/cli/shell.js.map +1 -0
- package/dist/cli/status.d.ts +2 -0
- package/dist/cli/status.d.ts.map +1 -0
- package/dist/cli/status.js +31 -0
- package/dist/cli/status.js.map +1 -0
- package/dist/cli/telemetry.d.ts +10 -0
- package/dist/cli/telemetry.d.ts.map +1 -0
- package/dist/cli/telemetry.js +56 -0
- package/dist/cli/telemetry.js.map +1 -0
- package/dist/cli/tui/agents-types.d.ts +28 -0
- package/dist/cli/tui/agents-types.d.ts.map +1 -0
- package/dist/cli/tui/agents-types.js +1 -0
- package/dist/cli/tui/agents-types.js.map +1 -0
- package/dist/cli/tui/agents.d.ts +11 -0
- package/dist/cli/tui/agents.d.ts.map +1 -0
- package/dist/cli/tui/agents.js +93 -0
- package/dist/cli/tui/agents.js.map +1 -0
- package/dist/cli/tui/banner.d.ts +3 -0
- package/dist/cli/tui/banner.d.ts.map +1 -0
- package/dist/cli/tui/banner.js +30 -0
- package/dist/cli/tui/banner.js.map +1 -0
- package/dist/cli/tui/components/AgentSelect.d.ts +13 -0
- package/dist/cli/tui/components/AgentSelect.d.ts.map +1 -0
- package/dist/cli/tui/components/AgentSelect.js +116 -0
- package/dist/cli/tui/components/AgentSelect.js.map +1 -0
- package/dist/cli/tui/components/Banner.d.ts +6 -0
- package/dist/cli/tui/components/Banner.d.ts.map +1 -0
- package/dist/cli/tui/components/Banner.js +25 -0
- package/dist/cli/tui/components/Banner.js.map +1 -0
- package/dist/cli/tui/components/BrowserSelect.d.ts +7 -0
- package/dist/cli/tui/components/BrowserSelect.d.ts.map +1 -0
- package/dist/cli/tui/components/BrowserSelect.js +19 -0
- package/dist/cli/tui/components/BrowserSelect.js.map +1 -0
- package/dist/cli/tui/components/InstallProgress.d.ts +9 -0
- package/dist/cli/tui/components/InstallProgress.d.ts.map +1 -0
- package/dist/cli/tui/components/InstallProgress.js +67 -0
- package/dist/cli/tui/components/InstallProgress.js.map +1 -0
- package/dist/cli/tui/components/SkillInstall.d.ts +14 -0
- package/dist/cli/tui/components/SkillInstall.d.ts.map +1 -0
- package/dist/cli/tui/components/SkillInstall.js +94 -0
- package/dist/cli/tui/components/SkillInstall.js.map +1 -0
- package/dist/cli/tui/components/Summary.d.ts +22 -0
- package/dist/cli/tui/components/Summary.d.ts.map +1 -0
- package/dist/cli/tui/components/Summary.js +135 -0
- package/dist/cli/tui/components/Summary.js.map +1 -0
- package/dist/cli/tui/components/SystemCheck.d.ts +8 -0
- package/dist/cli/tui/components/SystemCheck.d.ts.map +1 -0
- package/dist/cli/tui/components/SystemCheck.js +71 -0
- package/dist/cli/tui/components/SystemCheck.js.map +1 -0
- package/dist/cli/tui/components/Verification.d.ts +8 -0
- package/dist/cli/tui/components/Verification.d.ts.map +1 -0
- package/dist/cli/tui/components/Verification.js +63 -0
- package/dist/cli/tui/components/Verification.js.map +1 -0
- package/dist/cli/tui/config-writer-cli.d.ts +12 -0
- package/dist/cli/tui/config-writer-cli.d.ts.map +1 -0
- package/dist/cli/tui/config-writer-cli.js +39 -0
- package/dist/cli/tui/config-writer-cli.js.map +1 -0
- package/dist/cli/tui/config-writer-json.d.ts +16 -0
- package/dist/cli/tui/config-writer-json.d.ts.map +1 -0
- package/dist/cli/tui/config-writer-json.js +86 -0
- package/dist/cli/tui/config-writer-json.js.map +1 -0
- package/dist/cli/tui/config-writer-toml.d.ts +16 -0
- package/dist/cli/tui/config-writer-toml.d.ts.map +1 -0
- package/dist/cli/tui/config-writer-toml.js +83 -0
- package/dist/cli/tui/config-writer-toml.js.map +1 -0
- package/dist/cli/tui/config-writer.d.ts +25 -0
- package/dist/cli/tui/config-writer.d.ts.map +1 -0
- package/dist/cli/tui/config-writer.js +101 -0
- package/dist/cli/tui/config-writer.js.map +1 -0
- package/dist/cli/tui/detect-helpers.d.ts +6 -0
- package/dist/cli/tui/detect-helpers.d.ts.map +1 -0
- package/dist/cli/tui/detect-helpers.js +45 -0
- package/dist/cli/tui/detect-helpers.js.map +1 -0
- package/dist/cli/tui/extras-prompt.d.ts +7 -0
- package/dist/cli/tui/extras-prompt.d.ts.map +1 -0
- package/dist/cli/tui/extras-prompt.js +42 -0
- package/dist/cli/tui/extras-prompt.js.map +1 -0
- package/dist/cli/tui/flags-types.d.ts +19 -0
- package/dist/cli/tui/flags-types.d.ts.map +1 -0
- package/dist/cli/tui/flags-types.js +23 -0
- package/dist/cli/tui/flags-types.js.map +1 -0
- package/dist/cli/tui/flags.d.ts +5 -0
- package/dist/cli/tui/flags.d.ts.map +1 -0
- package/dist/cli/tui/flags.js +132 -0
- package/dist/cli/tui/flags.js.map +1 -0
- package/dist/cli/tui/format.d.ts +14 -0
- package/dist/cli/tui/format.d.ts.map +1 -0
- package/dist/cli/tui/format.js +37 -0
- package/dist/cli/tui/format.js.map +1 -0
- package/dist/cli/tui/hooks/useAgentDetect.d.ts +6 -0
- package/dist/cli/tui/hooks/useAgentDetect.d.ts.map +1 -0
- package/dist/cli/tui/hooks/useAgentDetect.js +19 -0
- package/dist/cli/tui/hooks/useAgentDetect.js.map +1 -0
- package/dist/cli/tui/hooks/useInstall.d.ts +14 -0
- package/dist/cli/tui/hooks/useInstall.d.ts.map +1 -0
- package/dist/cli/tui/hooks/useInstall.js +90 -0
- package/dist/cli/tui/hooks/useInstall.js.map +1 -0
- package/dist/cli/tui/hooks/useSystemCheck.d.ts +13 -0
- package/dist/cli/tui/hooks/useSystemCheck.d.ts.map +1 -0
- package/dist/cli/tui/hooks/useSystemCheck.js +95 -0
- package/dist/cli/tui/hooks/useSystemCheck.js.map +1 -0
- package/dist/cli/tui/hooks/useVerify.d.ts +14 -0
- package/dist/cli/tui/hooks/useVerify.d.ts.map +1 -0
- package/dist/cli/tui/hooks/useVerify.js +71 -0
- package/dist/cli/tui/hooks/useVerify.js.map +1 -0
- package/dist/cli/tui/ink-init.d.ts +2 -0
- package/dist/cli/tui/ink-init.d.ts.map +1 -0
- package/dist/cli/tui/ink-init.js +198 -0
- package/dist/cli/tui/ink-init.js.map +1 -0
- package/dist/cli/tui/reporter-auto.d.ts +7 -0
- package/dist/cli/tui/reporter-auto.d.ts.map +1 -0
- package/dist/cli/tui/reporter-auto.js +15 -0
- package/dist/cli/tui/reporter-auto.js.map +1 -0
- package/dist/cli/tui/reporter.d.ts +26 -0
- package/dist/cli/tui/reporter.d.ts.map +1 -0
- package/dist/cli/tui/reporter.js +32 -0
- package/dist/cli/tui/reporter.js.map +1 -0
- package/dist/cli/tui/run-command.d.ts +14 -0
- package/dist/cli/tui/run-command.d.ts.map +1 -0
- package/dist/cli/tui/run-command.js +72 -0
- package/dist/cli/tui/run-command.js.map +1 -0
- package/dist/cli/tui/select-agents.d.ts +6 -0
- package/dist/cli/tui/select-agents.d.ts.map +1 -0
- package/dist/cli/tui/select-agents.js +32 -0
- package/dist/cli/tui/select-agents.js.map +1 -0
- package/dist/cli/tui/status-agents.d.ts +11 -0
- package/dist/cli/tui/status-agents.d.ts.map +1 -0
- package/dist/cli/tui/status-agents.js +53 -0
- package/dist/cli/tui/status-agents.js.map +1 -0
- package/dist/cli/tui/status-cache.d.ts +6 -0
- package/dist/cli/tui/status-cache.d.ts.map +1 -0
- package/dist/cli/tui/status-cache.js +39 -0
- package/dist/cli/tui/status-cache.js.map +1 -0
- package/dist/cli/tui/status-format.d.ts +14 -0
- package/dist/cli/tui/status-format.d.ts.map +1 -0
- package/dist/cli/tui/status-format.js +41 -0
- package/dist/cli/tui/status-format.js.map +1 -0
- package/dist/cli/tui/status-python.d.ts +6 -0
- package/dist/cli/tui/status-python.d.ts.map +1 -0
- package/dist/cli/tui/status-python.js +30 -0
- package/dist/cli/tui/status-python.js.map +1 -0
- package/dist/cli/tui/system-check.d.ts +24 -0
- package/dist/cli/tui/system-check.d.ts.map +1 -0
- package/dist/cli/tui/system-check.js +103 -0
- package/dist/cli/tui/system-check.js.map +1 -0
- package/dist/cli/tui/tui-reporter.d.ts +19 -0
- package/dist/cli/tui/tui-reporter.d.ts.map +1 -0
- package/dist/cli/tui/tui-reporter.js +95 -0
- package/dist/cli/tui/tui-reporter.js.map +1 -0
- package/dist/cli/tui/utils/config-writer.d.ts +3 -0
- package/dist/cli/tui/utils/config-writer.d.ts.map +1 -0
- package/dist/cli/tui/utils/config-writer.js +22 -0
- package/dist/cli/tui/utils/config-writer.js.map +1 -0
- package/dist/cli/tui/utils/suppress-logs.d.ts +3 -0
- package/dist/cli/tui/utils/suppress-logs.d.ts.map +1 -0
- package/dist/cli/tui/utils/suppress-logs.js +11 -0
- package/dist/cli/tui/utils/suppress-logs.js.map +1 -0
- package/dist/cli/tui/verify-suggestions.d.ts +5 -0
- package/dist/cli/tui/verify-suggestions.d.ts.map +1 -0
- package/dist/cli/tui/verify-suggestions.js +20 -0
- package/dist/cli/tui/verify-suggestions.js.map +1 -0
- package/dist/cli/tui/verify.d.ts +14 -0
- package/dist/cli/tui/verify.d.ts.map +1 -0
- package/dist/cli/tui/verify.js +101 -0
- package/dist/cli/tui/verify.js.map +1 -0
- package/dist/cli/tui/version.d.ts +2 -0
- package/dist/cli/tui/version.d.ts.map +1 -0
- package/dist/cli/tui/version.js +14 -0
- package/dist/cli/tui/version.js.map +1 -0
- package/dist/cli/uninstall.d.ts +2 -0
- package/dist/cli/uninstall.d.ts.map +1 -0
- package/dist/cli/uninstall.js +57 -0
- package/dist/cli/uninstall.js.map +1 -0
- package/dist/cli/warmup.d.ts +10 -2
- package/dist/cli/warmup.d.ts.map +1 -1
- package/dist/cli/warmup.js +226 -93
- package/dist/cli/warmup.js.map +1 -1
- package/dist/config.d.ts +28 -2
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +106 -56
- package/dist/config.js.map +1 -1
- package/dist/crawl/crawler.d.ts +6 -0
- package/dist/crawl/crawler.d.ts.map +1 -1
- package/dist/crawl/crawler.js +210 -209
- package/dist/crawl/crawler.js.map +1 -1
- package/dist/crawl/dedup.d.ts +1 -0
- package/dist/crawl/dedup.d.ts.map +1 -1
- package/dist/crawl/dedup.js +124 -81
- package/dist/crawl/dedup.js.map +1 -1
- package/dist/crawl/etag-incremental.d.ts +43 -0
- package/dist/crawl/etag-incremental.d.ts.map +1 -0
- package/dist/crawl/etag-incremental.js +94 -0
- package/dist/crawl/etag-incremental.js.map +1 -0
- package/dist/crawl/index-to-vec.d.ts +10 -0
- package/dist/crawl/index-to-vec.d.ts.map +1 -0
- package/dist/crawl/index-to-vec.js +44 -0
- package/dist/crawl/index-to-vec.js.map +1 -0
- package/dist/crawl/mapper.js +136 -164
- package/dist/crawl/mapper.js.map +1 -1
- package/dist/crawl/rate-limiter.js +63 -66
- package/dist/crawl/rate-limiter.js.map +1 -1
- package/dist/crawl/robots.js +58 -57
- package/dist/crawl/robots.js.map +1 -1
- package/dist/crawl/sitemap-first.d.ts +12 -0
- package/dist/crawl/sitemap-first.d.ts.map +1 -0
- package/dist/crawl/sitemap-first.js +47 -0
- package/dist/crawl/sitemap-first.js.map +1 -0
- package/dist/crawl/sitemap.js +33 -32
- package/dist/crawl/sitemap.js.map +1 -1
- package/dist/crawl/url-utils.d.ts +1 -0
- package/dist/crawl/url-utils.d.ts.map +1 -1
- package/dist/crawl/url-utils.js +49 -37
- package/dist/crawl/url-utils.js.map +1 -1
- package/dist/daemon/health-check.d.ts +16 -0
- package/dist/daemon/health-check.d.ts.map +1 -0
- package/dist/daemon/health-check.js +33 -0
- package/dist/daemon/health-check.js.map +1 -0
- package/dist/daemon/http-server.d.ts +26 -0
- package/dist/daemon/http-server.d.ts.map +1 -0
- package/dist/daemon/http-server.js +275 -0
- package/dist/daemon/http-server.js.map +1 -0
- package/dist/daemon/proxy.d.ts +10 -0
- package/dist/daemon/proxy.d.ts.map +1 -0
- package/dist/daemon/proxy.js +93 -0
- package/dist/daemon/proxy.js.map +1 -0
- package/dist/embedding/embed.d.ts +59 -0
- package/dist/embedding/embed.d.ts.map +1 -0
- package/dist/embedding/embed.js +233 -0
- package/dist/embedding/embed.js.map +1 -0
- package/dist/embedding/fastembed-provider.d.ts +19 -0
- package/dist/embedding/fastembed-provider.d.ts.map +1 -0
- package/dist/embedding/fastembed-provider.js +51 -0
- package/dist/embedding/fastembed-provider.js.map +1 -0
- package/dist/embedding/key-terms.d.ts +12 -0
- package/dist/embedding/key-terms.d.ts.map +1 -0
- package/dist/embedding/key-terms.js +234 -0
- package/dist/embedding/key-terms.js.map +1 -0
- package/dist/extraction/boilerplate.d.ts +15 -0
- package/dist/extraction/boilerplate.d.ts.map +1 -0
- package/dist/extraction/boilerplate.js +52 -0
- package/dist/extraction/boilerplate.js.map +1 -0
- package/dist/extraction/defuddle.d.ts.map +1 -1
- package/dist/extraction/defuddle.js +27 -23
- package/dist/extraction/defuddle.js.map +1 -1
- package/dist/extraction/extract.d.ts.map +1 -1
- package/dist/extraction/extract.js +76 -76
- package/dist/extraction/extract.js.map +1 -1
- package/dist/extraction/jsonld.js +50 -54
- package/dist/extraction/jsonld.js.map +1 -1
- package/dist/extraction/lang-hints.d.ts +2 -0
- package/dist/extraction/lang-hints.d.ts.map +1 -0
- package/dist/extraction/lang-hints.js +30 -0
- package/dist/extraction/lang-hints.js.map +1 -0
- package/dist/extraction/llm-fallback.d.ts +17 -0
- package/dist/extraction/llm-fallback.d.ts.map +1 -0
- package/dist/extraction/llm-fallback.js +130 -0
- package/dist/extraction/llm-fallback.js.map +1 -0
- package/dist/extraction/markdown-sanitize.d.ts +2 -0
- package/dist/extraction/markdown-sanitize.d.ts.map +1 -0
- package/dist/extraction/markdown-sanitize.js +151 -0
- package/dist/extraction/markdown-sanitize.js.map +1 -0
- package/dist/extraction/markdown.d.ts +11 -0
- package/dist/extraction/markdown.d.ts.map +1 -1
- package/dist/extraction/markdown.js +195 -91
- package/dist/extraction/markdown.js.map +1 -1
- package/dist/extraction/pipeline.d.ts +8 -0
- package/dist/extraction/pipeline.d.ts.map +1 -1
- package/dist/extraction/pipeline.js +57 -91
- package/dist/extraction/pipeline.js.map +1 -1
- package/dist/extraction/readability.d.ts +1 -1
- package/dist/extraction/readability.d.ts.map +1 -1
- package/dist/extraction/readability.js +28 -29
- package/dist/extraction/readability.js.map +1 -1
- package/dist/extraction/schema.d.ts +12 -0
- package/dist/extraction/schema.d.ts.map +1 -1
- package/dist/extraction/schema.js +135 -72
- package/dist/extraction/schema.js.map +1 -1
- package/dist/extraction/site-extractors/docs-generic.d.ts.map +1 -1
- package/dist/extraction/site-extractors/docs-generic.js +81 -91
- package/dist/extraction/site-extractors/docs-generic.js.map +1 -1
- package/dist/extraction/site-extractors/github.d.ts.map +1 -1
- package/dist/extraction/site-extractors/github.js +87 -95
- package/dist/extraction/site-extractors/github.js.map +1 -1
- package/dist/extraction/site-extractors/mdn.d.ts.map +1 -1
- package/dist/extraction/site-extractors/mdn.js +46 -54
- package/dist/extraction/site-extractors/mdn.js.map +1 -1
- package/dist/extraction/site-extractors/stackoverflow.d.ts.map +1 -1
- package/dist/extraction/site-extractors/stackoverflow.js +71 -80
- package/dist/extraction/site-extractors/stackoverflow.js.map +1 -1
- package/dist/extraction/structured-data.d.ts +4 -0
- package/dist/extraction/structured-data.d.ts.map +1 -0
- package/dist/extraction/structured-data.js +173 -0
- package/dist/extraction/structured-data.js.map +1 -0
- package/dist/extraction/structured.d.ts +4 -0
- package/dist/extraction/structured.d.ts.map +1 -0
- package/dist/extraction/structured.js +163 -0
- package/dist/extraction/structured.js.map +1 -0
- package/dist/extraction/v1/classifier.d.ts +3 -0
- package/dist/extraction/v1/classifier.d.ts.map +1 -0
- package/dist/extraction/v1/classifier.js +110 -0
- package/dist/extraction/v1/classifier.js.map +1 -0
- package/dist/extraction/v1/extract-provider.d.ts +16 -0
- package/dist/extraction/v1/extract-provider.d.ts.map +1 -0
- package/dist/extraction/v1/extract-provider.js +43 -0
- package/dist/extraction/v1/extract-provider.js.map +1 -0
- package/dist/extraction/v1/local-llm.d.ts +8 -0
- package/dist/extraction/v1/local-llm.d.ts.map +1 -0
- package/dist/extraction/v1/local-llm.js +58 -0
- package/dist/extraction/v1/local-llm.js.map +1 -0
- package/dist/extraction/v1/news.d.ts +3 -0
- package/dist/extraction/v1/news.d.ts.map +1 -0
- package/dist/extraction/v1/news.js +61 -0
- package/dist/extraction/v1/news.js.map +1 -0
- package/dist/extraction/v1/product.d.ts +3 -0
- package/dist/extraction/v1/product.d.ts.map +1 -0
- package/dist/extraction/v1/product.js +166 -0
- package/dist/extraction/v1/product.js.map +1 -0
- package/dist/extraction/v1/recipe.d.ts +3 -0
- package/dist/extraction/v1/recipe.d.ts.map +1 -0
- package/dist/extraction/v1/recipe.js +136 -0
- package/dist/extraction/v1/recipe.js.map +1 -0
- package/dist/extraction/v1/routed.d.ts +17 -0
- package/dist/extraction/v1/routed.d.ts.map +1 -0
- package/dist/extraction/v1/routed.js +68 -0
- package/dist/extraction/v1/routed.js.map +1 -0
- package/dist/extraction/v1/schemas/Article.d.ts +11 -0
- package/dist/extraction/v1/schemas/Article.d.ts.map +1 -0
- package/dist/extraction/v1/schemas/Article.js +23 -0
- package/dist/extraction/v1/schemas/Article.js.map +1 -0
- package/dist/extraction/v1/schemas/CodeSnippet.d.ts +9 -0
- package/dist/extraction/v1/schemas/CodeSnippet.d.ts.map +1 -0
- package/dist/extraction/v1/schemas/CodeSnippet.js +90 -0
- package/dist/extraction/v1/schemas/CodeSnippet.js.map +1 -0
- package/dist/extraction/v1/schemas/EventListing.d.ts +10 -0
- package/dist/extraction/v1/schemas/EventListing.d.ts.map +1 -0
- package/dist/extraction/v1/schemas/EventListing.js +122 -0
- package/dist/extraction/v1/schemas/EventListing.js.map +1 -0
- package/dist/extraction/v1/schemas/Paper.d.ts +10 -0
- package/dist/extraction/v1/schemas/Paper.d.ts.map +1 -0
- package/dist/extraction/v1/schemas/Paper.js +156 -0
- package/dist/extraction/v1/schemas/Paper.js.map +1 -0
- package/dist/extraction/v1/schemas/Product.d.ts +17 -0
- package/dist/extraction/v1/schemas/Product.d.ts.map +1 -0
- package/dist/extraction/v1/schemas/Product.js +149 -0
- package/dist/extraction/v1/schemas/Product.js.map +1 -0
- package/dist/extraction/v1/schemas/Recipe.d.ts +14 -0
- package/dist/extraction/v1/schemas/Recipe.d.ts.map +1 -0
- package/dist/extraction/v1/schemas/Recipe.js +160 -0
- package/dist/extraction/v1/schemas/Recipe.js.map +1 -0
- package/dist/extraction/v1/schemas/index.d.ts +13 -0
- package/dist/extraction/v1/schemas/index.d.ts.map +1 -0
- package/dist/extraction/v1/schemas/index.js +44 -0
- package/dist/extraction/v1/schemas/index.js.map +1 -0
- package/dist/extraction/v1/site-extractors.d.ts +5 -0
- package/dist/extraction/v1/site-extractors.d.ts.map +1 -0
- package/dist/extraction/v1/site-extractors.js +31 -0
- package/dist/extraction/v1/site-extractors.js.map +1 -0
- package/dist/fetch/action-executor.d.ts +28 -0
- package/dist/fetch/action-executor.d.ts.map +1 -0
- package/dist/fetch/action-executor.js +88 -0
- package/dist/fetch/action-executor.js.map +1 -0
- package/dist/fetch/auth.d.ts +2 -1
- package/dist/fetch/auth.d.ts.map +1 -1
- package/dist/fetch/auth.js +56 -26
- package/dist/fetch/auth.js.map +1 -1
- package/dist/fetch/browser-pool.d.ts +30 -11
- package/dist/fetch/browser-pool.d.ts.map +1 -1
- package/dist/fetch/browser-pool.js +303 -127
- package/dist/fetch/browser-pool.js.map +1 -1
- package/dist/fetch/browser-selector.d.ts +17 -0
- package/dist/fetch/browser-selector.d.ts.map +1 -0
- package/dist/fetch/browser-selector.js +72 -0
- package/dist/fetch/browser-selector.js.map +1 -0
- package/dist/fetch/browser-types.d.ts +3 -0
- package/dist/fetch/browser-types.d.ts.map +1 -0
- package/dist/fetch/browser-types.js +45 -0
- package/dist/fetch/browser-types.js.map +1 -0
- package/dist/fetch/cdp-client.d.ts +9 -0
- package/dist/fetch/cdp-client.d.ts.map +1 -0
- package/dist/fetch/cdp-client.js +89 -0
- package/dist/fetch/cdp-client.js.map +1 -0
- package/dist/fetch/content-check.js +39 -46
- package/dist/fetch/content-check.js.map +1 -1
- package/dist/fetch/http-client.d.ts +4 -0
- package/dist/fetch/http-client.d.ts.map +1 -1
- package/dist/fetch/http-client.js +147 -128
- package/dist/fetch/http-client.js.map +1 -1
- package/dist/fetch/lightpanda.d.ts +28 -0
- package/dist/fetch/lightpanda.d.ts.map +1 -0
- package/dist/fetch/lightpanda.js +174 -0
- package/dist/fetch/lightpanda.js.map +1 -0
- package/dist/fetch/playwright-tier.d.ts +19 -0
- package/dist/fetch/playwright-tier.d.ts.map +1 -0
- package/dist/fetch/playwright-tier.js +76 -0
- package/dist/fetch/playwright-tier.js.map +1 -0
- package/dist/fetch/router.d.ts +49 -3
- package/dist/fetch/router.d.ts.map +1 -1
- package/dist/fetch/router.js +185 -81
- package/dist/fetch/router.js.map +1 -1
- package/dist/index.js +97 -17
- package/dist/index.js.map +1 -1
- package/dist/instructions.d.ts +31 -0
- package/dist/instructions.d.ts.map +1 -0
- package/dist/instructions.js +245 -0
- package/dist/instructions.js.map +1 -0
- package/dist/integrations/cloud/llm/anthropic.d.ts +3 -0
- package/dist/integrations/cloud/llm/anthropic.d.ts.map +1 -0
- package/dist/integrations/cloud/llm/anthropic.js +41 -0
- package/dist/integrations/cloud/llm/anthropic.js.map +1 -0
- package/dist/integrations/cloud/llm/cache.d.ts +5 -0
- package/dist/integrations/cloud/llm/cache.d.ts.map +1 -0
- package/dist/integrations/cloud/llm/cache.js +49 -0
- package/dist/integrations/cloud/llm/cache.js.map +1 -0
- package/dist/integrations/cloud/llm/gemini.d.ts +3 -0
- package/dist/integrations/cloud/llm/gemini.d.ts.map +1 -0
- package/dist/integrations/cloud/llm/gemini.js +37 -0
- package/dist/integrations/cloud/llm/gemini.js.map +1 -0
- package/dist/integrations/cloud/llm/groq.d.ts +3 -0
- package/dist/integrations/cloud/llm/groq.d.ts.map +1 -0
- package/dist/integrations/cloud/llm/groq.js +74 -0
- package/dist/integrations/cloud/llm/groq.js.map +1 -0
- package/dist/integrations/cloud/llm/hash.d.ts +3 -0
- package/dist/integrations/cloud/llm/hash.d.ts.map +1 -0
- package/dist/integrations/cloud/llm/hash.js +26 -0
- package/dist/integrations/cloud/llm/hash.js.map +1 -0
- package/dist/integrations/cloud/llm/openai.d.ts +3 -0
- package/dist/integrations/cloud/llm/openai.d.ts.map +1 -0
- package/dist/integrations/cloud/llm/openai.js +43 -0
- package/dist/integrations/cloud/llm/openai.js.map +1 -0
- package/dist/integrations/cloud/llm/select.d.ts +5 -0
- package/dist/integrations/cloud/llm/select.d.ts.map +1 -0
- package/dist/integrations/cloud/llm/select.js +30 -0
- package/dist/integrations/cloud/llm/select.js.map +1 -0
- package/dist/integrations/cloud/llm/types.d.ts +24 -0
- package/dist/integrations/cloud/llm/types.d.ts.map +1 -0
- package/dist/integrations/cloud/llm/types.js +1 -0
- package/dist/integrations/cloud/llm/types.js.map +1 -0
- package/dist/integrations/cloud/llm/validate.d.ts +6 -0
- package/dist/integrations/cloud/llm/validate.d.ts.map +1 -0
- package/dist/integrations/cloud/llm/validate.js +63 -0
- package/dist/integrations/cloud/llm/validate.js.map +1 -0
- package/dist/logger.d.ts +4 -1
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +71 -30
- package/dist/logger.js.map +1 -1
- package/dist/pdf-parse.d.js +1 -0
- package/dist/pdf-parse.d.js.map +1 -0
- package/dist/plugins/loader.d.ts +20 -0
- package/dist/plugins/loader.d.ts.map +1 -0
- package/dist/plugins/loader.js +157 -0
- package/dist/plugins/loader.js.map +1 -0
- package/dist/plugins/registry.d.ts +26 -0
- package/dist/plugins/registry.d.ts.map +1 -0
- package/dist/plugins/registry.js +71 -0
- package/dist/plugins/registry.js.map +1 -0
- package/dist/plugins/validate.d.ts +9 -0
- package/dist/plugins/validate.d.ts.map +1 -0
- package/dist/plugins/validate.js +79 -0
- package/dist/plugins/validate.js.map +1 -0
- package/dist/providers/embed-provider.d.ts +11 -0
- package/dist/providers/embed-provider.d.ts.map +1 -0
- package/dist/providers/embed-provider.js +24 -0
- package/dist/providers/embed-provider.js.map +1 -0
- package/dist/providers/extract-provider.d.ts +23 -0
- package/dist/providers/extract-provider.d.ts.map +1 -0
- package/dist/providers/extract-provider.js +25 -0
- package/dist/providers/extract-provider.js.map +1 -0
- package/dist/providers/rerank-provider.d.ts +16 -0
- package/dist/providers/rerank-provider.d.ts.map +1 -0
- package/dist/providers/rerank-provider.js +28 -0
- package/dist/providers/rerank-provider.js.map +1 -0
- package/dist/providers/search-provider.d.ts +25 -0
- package/dist/providers/search-provider.d.ts.map +1 -0
- package/dist/providers/search-provider.js +44 -0
- package/dist/providers/search-provider.js.map +1 -0
- package/dist/providers/vector-store.d.ts +27 -0
- package/dist/providers/vector-store.d.ts.map +1 -0
- package/dist/providers/vector-store.js +27 -0
- package/dist/providers/vector-store.js.map +1 -0
- package/dist/python-env.d.ts +9 -0
- package/dist/python-env.d.ts.map +1 -0
- package/dist/python-env.js +13 -0
- package/dist/python-env.js.map +1 -0
- package/dist/repl/commands/agent.d.ts +5 -0
- package/dist/repl/commands/agent.d.ts.map +1 -0
- package/dist/repl/commands/agent.js +62 -0
- package/dist/repl/commands/agent.js.map +1 -0
- package/dist/repl/commands/cache.d.ts +4 -0
- package/dist/repl/commands/cache.d.ts.map +1 -0
- package/dist/repl/commands/cache.js +43 -0
- package/dist/repl/commands/cache.js.map +1 -0
- package/dist/repl/commands/crawl.d.ts +7 -0
- package/dist/repl/commands/crawl.d.ts.map +1 -0
- package/dist/repl/commands/crawl.js +44 -0
- package/dist/repl/commands/crawl.js.map +1 -0
- package/dist/repl/commands/extract.d.ts +5 -0
- package/dist/repl/commands/extract.d.ts.map +1 -0
- package/dist/repl/commands/extract.js +47 -0
- package/dist/repl/commands/extract.js.map +1 -0
- package/dist/repl/commands/fetch.d.ts +5 -0
- package/dist/repl/commands/fetch.d.ts.map +1 -0
- package/dist/repl/commands/fetch.js +67 -0
- package/dist/repl/commands/fetch.js.map +1 -0
- package/dist/repl/commands/find-similar.d.ts +5 -0
- package/dist/repl/commands/find-similar.d.ts.map +1 -0
- package/dist/repl/commands/find-similar.js +74 -0
- package/dist/repl/commands/find-similar.js.map +1 -0
- package/dist/repl/commands/research.d.ts +5 -0
- package/dist/repl/commands/research.d.ts.map +1 -0
- package/dist/repl/commands/research.js +65 -0
- package/dist/repl/commands/research.js.map +1 -0
- package/dist/repl/commands/search.d.ts +5 -0
- package/dist/repl/commands/search.d.ts.map +1 -0
- package/dist/repl/commands/search.js +74 -0
- package/dist/repl/commands/search.js.map +1 -0
- package/dist/repl/commands/types.d.ts +9 -0
- package/dist/repl/commands/types.d.ts.map +1 -0
- package/dist/repl/commands/types.js +1 -0
- package/dist/repl/commands/types.js.map +1 -0
- package/dist/repl/formatters.d.ts +13 -0
- package/dist/repl/formatters.d.ts.map +1 -0
- package/dist/repl/formatters.js +283 -0
- package/dist/repl/formatters.js.map +1 -0
- package/dist/repl/parser.d.ts +9 -0
- package/dist/repl/parser.d.ts.map +1 -0
- package/dist/repl/parser.js +86 -0
- package/dist/repl/parser.js.map +1 -0
- package/dist/repl/shell.d.ts +8 -0
- package/dist/repl/shell.d.ts.map +1 -0
- package/dist/repl/shell.js +184 -0
- package/dist/repl/shell.js.map +1 -0
- package/dist/research/branch-exploration.d.ts +14 -0
- package/dist/research/branch-exploration.d.ts.map +1 -0
- package/dist/research/branch-exploration.js +100 -0
- package/dist/research/branch-exploration.js.map +1 -0
- package/dist/research/brief.d.ts +5 -0
- package/dist/research/brief.d.ts.map +1 -0
- package/dist/research/brief.js +242 -0
- package/dist/research/brief.js.map +1 -0
- package/dist/research/citation-graph.d.ts +9 -0
- package/dist/research/citation-graph.d.ts.map +1 -0
- package/dist/research/citation-graph.js +114 -0
- package/dist/research/citation-graph.js.map +1 -0
- package/dist/research/decompose.d.ts +14 -0
- package/dist/research/decompose.d.ts.map +1 -0
- package/dist/research/decompose.js +439 -0
- package/dist/research/decompose.js.map +1 -0
- package/dist/research/pipeline.d.ts +5 -0
- package/dist/research/pipeline.d.ts.map +1 -0
- package/dist/research/pipeline.js +269 -0
- package/dist/research/pipeline.js.map +1 -0
- package/dist/research/synthesis-local.d.ts +16 -0
- package/dist/research/synthesis-local.d.ts.map +1 -0
- package/dist/research/synthesis-local.js +73 -0
- package/dist/research/synthesis-local.js.map +1 -0
- package/dist/research/synthesize.d.ts +10 -0
- package/dist/research/synthesize.d.ts.map +1 -0
- package/dist/research/synthesize.js +137 -0
- package/dist/research/synthesize.js.map +1 -0
- package/dist/search/answer-synthesis.d.ts +33 -0
- package/dist/search/answer-synthesis.d.ts.map +1 -0
- package/dist/search/answer-synthesis.js +244 -0
- package/dist/search/answer-synthesis.js.map +1 -0
- package/dist/search/context-formatter.d.ts +3 -0
- package/dist/search/context-formatter.d.ts.map +1 -0
- package/dist/search/context-formatter.js +56 -0
- package/dist/search/context-formatter.js.map +1 -0
- package/dist/search/dedup.d.ts +1 -0
- package/dist/search/dedup.d.ts.map +1 -1
- package/dist/search/dedup.js +40 -32
- package/dist/search/dedup.js.map +1 -1
- package/dist/search/engines/arxiv.d.ts +7 -0
- package/dist/search/engines/arxiv.d.ts.map +1 -0
- package/dist/search/engines/arxiv.js +70 -0
- package/dist/search/engines/arxiv.js.map +1 -0
- package/dist/search/engines/bing-news.d.ts +7 -0
- package/dist/search/engines/bing-news.d.ts.map +1 -0
- package/dist/search/engines/bing-news.js +97 -0
- package/dist/search/engines/bing-news.js.map +1 -0
- package/dist/search/engines/bing.d.ts +1 -0
- package/dist/search/engines/bing.d.ts.map +1 -1
- package/dist/search/engines/bing.js +100 -44
- package/dist/search/engines/bing.js.map +1 -1
- package/dist/search/engines/devdocs.d.ts +6 -0
- package/dist/search/engines/devdocs.d.ts.map +1 -0
- package/dist/search/engines/devdocs.js +56 -0
- package/dist/search/engines/devdocs.js.map +1 -0
- package/dist/search/engines/duckduckgo.d.ts.map +1 -1
- package/dist/search/engines/duckduckgo.js +56 -44
- package/dist/search/engines/duckduckgo.js.map +1 -1
- package/dist/search/engines/github-code.d.ts +7 -0
- package/dist/search/engines/github-code.d.ts.map +1 -0
- package/dist/search/engines/github-code.js +55 -0
- package/dist/search/engines/github-code.js.map +1 -0
- package/dist/search/engines/hn-algolia.d.ts +7 -0
- package/dist/search/engines/hn-algolia.d.ts.map +1 -0
- package/dist/search/engines/hn-algolia.js +76 -0
- package/dist/search/engines/hn-algolia.js.map +1 -0
- package/dist/search/engines/lobsters.d.ts +7 -0
- package/dist/search/engines/lobsters.d.ts.map +1 -0
- package/dist/search/engines/lobsters.js +83 -0
- package/dist/search/engines/lobsters.js.map +1 -0
- package/dist/search/engines/mdn.d.ts +7 -0
- package/dist/search/engines/mdn.d.ts.map +1 -0
- package/dist/search/engines/mdn.js +48 -0
- package/dist/search/engines/mdn.js.map +1 -0
- package/dist/search/engines/semantic-scholar.d.ts +7 -0
- package/dist/search/engines/semantic-scholar.d.ts.map +1 -0
- package/dist/search/engines/semantic-scholar.js +69 -0
- package/dist/search/engines/semantic-scholar.js.map +1 -0
- package/dist/search/engines/stackoverflow.d.ts +7 -0
- package/dist/search/engines/stackoverflow.d.ts.map +1 -0
- package/dist/search/engines/stackoverflow.js +73 -0
- package/dist/search/engines/stackoverflow.js.map +1 -0
- package/dist/search/engines/startpage.d.ts.map +1 -1
- package/dist/search/engines/startpage.js +65 -46
- package/dist/search/engines/startpage.js.map +1 -1
- package/dist/search/evidence.d.ts +25 -0
- package/dist/search/evidence.d.ts.map +1 -0
- package/dist/search/evidence.js +220 -0
- package/dist/search/evidence.js.map +1 -0
- package/dist/search/filters.js +49 -55
- package/dist/search/filters.js.map +1 -1
- package/dist/search/find-similar/crawl-rank.d.ts +9 -0
- package/dist/search/find-similar/crawl-rank.d.ts.map +1 -0
- package/dist/search/find-similar/crawl-rank.js +272 -0
- package/dist/search/find-similar/crawl-rank.js.map +1 -0
- package/dist/search/find-similar/mode.d.ts +4 -0
- package/dist/search/find-similar/mode.d.ts.map +1 -0
- package/dist/search/find-similar/mode.js +12 -0
- package/dist/search/find-similar/mode.js.map +1 -0
- package/dist/search/find-similar.d.ts +5 -0
- package/dist/search/find-similar.d.ts.map +1 -0
- package/dist/search/find-similar.js +509 -0
- package/dist/search/find-similar.js.map +1 -0
- package/dist/search/highlights.d.ts +19 -0
- package/dist/search/highlights.d.ts.map +1 -0
- package/dist/search/highlights.js +167 -0
- package/dist/search/highlights.js.map +1 -0
- package/dist/search/language-filter.d.ts +29 -0
- package/dist/search/language-filter.d.ts.map +1 -0
- package/dist/search/language-filter.js +126 -0
- package/dist/search/language-filter.js.map +1 -0
- package/dist/search/legacy/searxng-orchestrator.d.ts +4 -0
- package/dist/search/legacy/searxng-orchestrator.d.ts.map +1 -0
- package/dist/search/legacy/searxng-orchestrator.js +501 -0
- package/dist/search/legacy/searxng-orchestrator.js.map +1 -0
- package/dist/search/legacy/searxng-provider.d.ts +7 -0
- package/dist/search/legacy/searxng-provider.d.ts.map +1 -0
- package/dist/search/legacy/searxng-provider.js +11 -0
- package/dist/search/legacy/searxng-provider.js.map +1 -0
- package/dist/search/multi-query.d.ts +25 -0
- package/dist/search/multi-query.d.ts.map +1 -0
- package/dist/search/multi-query.js +228 -0
- package/dist/search/multi-query.js.map +1 -0
- package/dist/search/query.js +32 -34
- package/dist/search/query.js.map +1 -1
- package/dist/search/rerank.d.ts +3 -1
- package/dist/search/rerank.d.ts.map +1 -1
- package/dist/search/rerank.js +44 -35
- package/dist/search/rerank.js.map +1 -1
- package/dist/search/reranker/authority-boost.d.ts +3 -0
- package/dist/search/reranker/authority-boost.d.ts.map +1 -0
- package/dist/search/reranker/authority-boost.js +179 -0
- package/dist/search/reranker/authority-boost.js.map +1 -0
- package/dist/search/reranker/consensus-boost.d.ts +3 -0
- package/dist/search/reranker/consensus-boost.d.ts.map +1 -0
- package/dist/search/reranker/consensus-boost.js +27 -0
- package/dist/search/reranker/consensus-boost.js.map +1 -0
- package/dist/search/reranker/recency-boost.d.ts +3 -0
- package/dist/search/reranker/recency-boost.d.ts.map +1 -0
- package/dist/search/reranker/recency-boost.js +13 -0
- package/dist/search/reranker/recency-boost.js.map +1 -0
- package/dist/search/reranker/recency.d.ts +3 -0
- package/dist/search/reranker/recency.d.ts.map +1 -0
- package/dist/search/reranker/recency.js +23 -0
- package/dist/search/reranker/recency.js.map +1 -0
- package/dist/search/reranker/transformers-rerank-provider.d.ts +12 -0
- package/dist/search/reranker/transformers-rerank-provider.d.ts.map +1 -0
- package/dist/search/reranker/transformers-rerank-provider.js +78 -0
- package/dist/search/reranker/transformers-rerank-provider.js.map +1 -0
- package/dist/search/rrf.d.ts +17 -0
- package/dist/search/rrf.d.ts.map +1 -0
- package/dist/search/rrf.js +39 -0
- package/dist/search/rrf.js.map +1 -0
- package/dist/search/sampling.d.ts +25 -0
- package/dist/search/sampling.d.ts.map +1 -0
- package/dist/search/sampling.js +52 -0
- package/dist/search/sampling.js.map +1 -0
- package/dist/search/searxng.d.ts.map +1 -1
- package/dist/search/searxng.js +69 -79
- package/dist/search/searxng.js.map +1 -1
- package/dist/search/tokens.d.ts +3 -0
- package/dist/search/tokens.d.ts.map +1 -0
- package/dist/search/tokens.js +39 -0
- package/dist/search/tokens.js.map +1 -0
- package/dist/search/truncate.d.ts +6 -0
- package/dist/search/truncate.d.ts.map +1 -0
- package/dist/search/truncate.js +26 -0
- package/dist/search/truncate.js.map +1 -0
- package/dist/search/url-unwrap.d.ts +3 -0
- package/dist/search/url-unwrap.d.ts.map +1 -0
- package/dist/search/url-unwrap.js +43 -0
- package/dist/search/url-unwrap.js.map +1 -0
- package/dist/search/v1/context-rank.d.ts +13 -0
- package/dist/search/v1/context-rank.d.ts.map +1 -0
- package/dist/search/v1/context-rank.js +74 -0
- package/dist/search/v1/context-rank.js.map +1 -0
- package/dist/search/v1/engine-base.d.ts +27 -0
- package/dist/search/v1/engine-base.d.ts.map +1 -0
- package/dist/search/v1/engine-base.js +110 -0
- package/dist/search/v1/engine-base.js.map +1 -0
- package/dist/search/v1/intent-router.d.ts +22 -0
- package/dist/search/v1/intent-router.d.ts.map +1 -0
- package/dist/search/v1/intent-router.js +138 -0
- package/dist/search/v1/intent-router.js.map +1 -0
- package/dist/search/v1/orchestrator.d.ts +24 -0
- package/dist/search/v1/orchestrator.d.ts.map +1 -0
- package/dist/search/v1/orchestrator.js +163 -0
- package/dist/search/v1/orchestrator.js.map +1 -0
- package/dist/search/v1/recency-boost.d.ts +9 -0
- package/dist/search/v1/recency-boost.d.ts.map +1 -0
- package/dist/search/v1/recency-boost.js +37 -0
- package/dist/search/v1/recency-boost.js.map +1 -0
- package/dist/search/v1/recent-cache-dedup.d.ts +6 -0
- package/dist/search/v1/recent-cache-dedup.d.ts.map +1 -0
- package/dist/search/v1/recent-cache-dedup.js +85 -0
- package/dist/search/v1/recent-cache-dedup.js.map +1 -0
- package/dist/search/v1/rss/feed-config.d.ts +21 -0
- package/dist/search/v1/rss/feed-config.d.ts.map +1 -0
- package/dist/search/v1/rss/feed-config.js +90 -0
- package/dist/search/v1/rss/feed-config.js.map +1 -0
- package/dist/search/v1/rss/feed-parser.d.ts +14 -0
- package/dist/search/v1/rss/feed-parser.d.ts.map +1 -0
- package/dist/search/v1/rss/feed-parser.js +104 -0
- package/dist/search/v1/rss/feed-parser.js.map +1 -0
- package/dist/search/v1/rss/feed-poller.d.ts +22 -0
- package/dist/search/v1/rss/feed-poller.d.ts.map +1 -0
- package/dist/search/v1/rss/feed-poller.js +102 -0
- package/dist/search/v1/rss/feed-poller.js.map +1 -0
- package/dist/search/v1/rss/feed-store.d.ts +30 -0
- package/dist/search/v1/rss/feed-store.d.ts.map +1 -0
- package/dist/search/v1/rss/feed-store.js +134 -0
- package/dist/search/v1/rss/feed-store.js.map +1 -0
- package/dist/search/v1/rss/rss-engine.d.ts +6 -0
- package/dist/search/v1/rss/rss-engine.d.ts.map +1 -0
- package/dist/search/v1/rss/rss-engine.js +28 -0
- package/dist/search/v1/rss/rss-engine.js.map +1 -0
- package/dist/search/v1/v1-provider.d.ts +7 -0
- package/dist/search/v1/v1-provider.d.ts.map +1 -0
- package/dist/search/v1/v1-provider.js +68 -0
- package/dist/search/v1/v1-provider.js.map +1 -0
- package/dist/search/v1/verticals/code.d.ts +4 -0
- package/dist/search/v1/verticals/code.d.ts.map +1 -0
- package/dist/search/v1/verticals/code.js +20 -0
- package/dist/search/v1/verticals/code.js.map +1 -0
- package/dist/search/v1/verticals/docs.d.ts +4 -0
- package/dist/search/v1/verticals/docs.d.ts.map +1 -0
- package/dist/search/v1/verticals/docs.js +20 -0
- package/dist/search/v1/verticals/docs.js.map +1 -0
- package/dist/search/v1/verticals/general.d.ts +4 -0
- package/dist/search/v1/verticals/general.d.ts.map +1 -0
- package/dist/search/v1/verticals/general.js +22 -0
- package/dist/search/v1/verticals/general.js.map +1 -0
- package/dist/search/v1/verticals/news.d.ts +10 -0
- package/dist/search/v1/verticals/news.d.ts.map +1 -0
- package/dist/search/v1/verticals/news.js +52 -0
- package/dist/search/v1/verticals/news.js.map +1 -0
- package/dist/search/v1/verticals/papers.d.ts +4 -0
- package/dist/search/v1/verticals/papers.d.ts.map +1 -0
- package/dist/search/v1/verticals/papers.js +23 -0
- package/dist/search/v1/verticals/papers.js.map +1 -0
- package/dist/search/validator.js +31 -31
- package/dist/search/validator.js.map +1 -1
- package/dist/searxng/bootstrap.d.ts +30 -0
- package/dist/searxng/bootstrap.d.ts.map +1 -1
- package/dist/searxng/bootstrap.js +223 -85
- package/dist/searxng/bootstrap.js.map +1 -1
- package/dist/searxng/docker.d.ts.map +1 -1
- package/dist/searxng/docker.js +69 -60
- package/dist/searxng/docker.js.map +1 -1
- package/dist/searxng/process.d.ts +13 -1
- package/dist/searxng/process.d.ts.map +1 -1
- package/dist/searxng/process.js +231 -164
- package/dist/searxng/process.js.map +1 -1
- package/dist/server/backend-status.d.ts +13 -0
- package/dist/server/backend-status.d.ts.map +1 -0
- package/dist/server/backend-status.js +40 -0
- package/dist/server/backend-status.js.map +1 -0
- package/dist/server/tool-schemas.d.ts +549 -0
- package/dist/server/tool-schemas.d.ts.map +1 -0
- package/dist/server/tool-schemas.js +464 -0
- package/dist/server/tool-schemas.js.map +1 -0
- package/dist/server/warmup-on-start.d.ts +9 -0
- package/dist/server/warmup-on-start.d.ts.map +1 -0
- package/dist/server/warmup-on-start.js +55 -0
- package/dist/server/warmup-on-start.js.map +1 -0
- package/dist/server.d.ts +17 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +454 -297
- package/dist/server.js.map +1 -1
- package/dist/tools/agent.d.ts +5 -0
- package/dist/tools/agent.d.ts.map +1 -0
- package/dist/tools/agent.js +128 -0
- package/dist/tools/agent.js.map +1 -0
- package/dist/tools/cache.d.ts +2 -1
- package/dist/tools/cache.d.ts.map +1 -1
- package/dist/tools/cache.js +175 -44
- package/dist/tools/cache.js.map +1 -1
- package/dist/tools/crawl.d.ts.map +1 -1
- package/dist/tools/crawl.js +171 -88
- package/dist/tools/crawl.js.map +1 -1
- package/dist/tools/extract.d.ts +2 -2
- package/dist/tools/extract.d.ts.map +1 -1
- package/dist/tools/extract.js +175 -59
- package/dist/tools/extract.js.map +1 -1
- package/dist/tools/fetch.d.ts +2 -2
- package/dist/tools/fetch.d.ts.map +1 -1
- package/dist/tools/fetch.js +161 -68
- package/dist/tools/fetch.js.map +1 -1
- package/dist/tools/find-similar.d.ts +5 -0
- package/dist/tools/find-similar.d.ts.map +1 -0
- package/dist/tools/find-similar.js +127 -0
- package/dist/tools/find-similar.js.map +1 -0
- package/dist/tools/research.d.ts +5 -0
- package/dist/tools/research.d.ts.map +1 -0
- package/dist/tools/research.js +107 -0
- package/dist/tools/research.js.map +1 -0
- package/dist/tools/search.d.ts +10 -2
- package/dist/tools/search.d.ts.map +1 -1
- package/dist/tools/search.js +13 -158
- package/dist/tools/search.js.map +1 -1
- package/dist/types.d.ts +350 -7
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +6 -1
- package/dist/types.js.map +1 -1
- package/dist/util/mode.d.ts +4 -0
- package/dist/util/mode.d.ts.map +1 -0
- package/dist/util/mode.js +34 -0
- package/dist/util/mode.js.map +1 -0
- package/package.json +78 -8
- package/dist/extraction/trafilatura.d.ts +0 -6
- package/dist/extraction/trafilatura.d.ts.map +0 -1
- package/dist/extraction/trafilatura.js +0 -105
- package/dist/extraction/trafilatura.js.map +0 -1
- package/dist/search/flashrank.d.ts +0 -12
- package/dist/search/flashrank.d.ts.map +0 -1
- package/dist/search/flashrank.js +0 -63
- package/dist/search/flashrank.js.map +0 -1
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { createLogger } from "../logger.js";
|
|
2
|
+
const log = createLogger("server");
|
|
3
|
+
class PluginRegistry {
|
|
4
|
+
extractors = [];
|
|
5
|
+
engines = [];
|
|
6
|
+
pluginNames = /* @__PURE__ */ new Set();
|
|
7
|
+
registerExtractor(extractor, pluginName) {
|
|
8
|
+
if (this.extractors.some((r) => r.extractor.name === extractor.name)) {
|
|
9
|
+
log.warn("duplicate extractor name, ignoring", {
|
|
10
|
+
name: extractor.name,
|
|
11
|
+
plugin: pluginName
|
|
12
|
+
});
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
this.extractors.push({ extractor, pluginName });
|
|
16
|
+
this.pluginNames.add(pluginName);
|
|
17
|
+
log.debug("registered plugin extractor", {
|
|
18
|
+
name: extractor.name,
|
|
19
|
+
plugin: pluginName
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
registerSearchEngine(engine, pluginName) {
|
|
23
|
+
if (this.engines.some((r) => r.engine.name === engine.name)) {
|
|
24
|
+
log.warn("duplicate search engine name, ignoring", {
|
|
25
|
+
name: engine.name,
|
|
26
|
+
plugin: pluginName
|
|
27
|
+
});
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
this.engines.push({ engine, pluginName });
|
|
31
|
+
this.pluginNames.add(pluginName);
|
|
32
|
+
log.debug("registered plugin search engine", {
|
|
33
|
+
name: engine.name,
|
|
34
|
+
plugin: pluginName
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
getExtractors() {
|
|
38
|
+
return this.extractors.map((r) => r.extractor);
|
|
39
|
+
}
|
|
40
|
+
getSearchEngines() {
|
|
41
|
+
return this.engines.map((r) => r.engine);
|
|
42
|
+
}
|
|
43
|
+
getExtractorByName(name) {
|
|
44
|
+
return this.extractors.find((r) => r.extractor.name === name)?.extractor;
|
|
45
|
+
}
|
|
46
|
+
getSearchEngineByName(name) {
|
|
47
|
+
return this.engines.find((r) => r.engine.name === name)?.engine;
|
|
48
|
+
}
|
|
49
|
+
getState() {
|
|
50
|
+
return {
|
|
51
|
+
extractors: this.extractors.map((r) => ({
|
|
52
|
+
name: r.extractor.name,
|
|
53
|
+
pluginName: r.pluginName
|
|
54
|
+
})),
|
|
55
|
+
searchEngines: this.engines.map((r) => ({
|
|
56
|
+
name: r.engine.name,
|
|
57
|
+
pluginName: r.pluginName
|
|
58
|
+
})),
|
|
59
|
+
pluginCount: this.pluginNames.size
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
clear() {
|
|
63
|
+
this.extractors = [];
|
|
64
|
+
this.engines = [];
|
|
65
|
+
this.pluginNames.clear();
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
export {
|
|
69
|
+
PluginRegistry
|
|
70
|
+
};
|
|
71
|
+
//# sourceMappingURL=registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/plugins/registry.ts"],"sourcesContent":["import { createLogger } from '../logger.js';\nimport type { Extractor, SearchEngine } from '../types.js';\n\nconst log = createLogger('server');\n\ninterface RegisteredExtractor {\n extractor: Extractor;\n pluginName: string;\n}\n\ninterface RegisteredSearchEngine {\n engine: SearchEngine;\n pluginName: string;\n}\n\nexport interface PluginRegistryState {\n extractors: Array<{ name: string; pluginName: string }>;\n searchEngines: Array<{ name: string; pluginName: string }>;\n pluginCount: number;\n}\n\nexport class PluginRegistry {\n private extractors: RegisteredExtractor[] = [];\n private engines: RegisteredSearchEngine[] = [];\n private pluginNames = new Set<string>();\n\n registerExtractor(extractor: Extractor, pluginName: string): void {\n if (this.extractors.some(r => r.extractor.name === extractor.name)) {\n log.warn('duplicate extractor name, ignoring', {\n name: extractor.name,\n plugin: pluginName,\n });\n return;\n }\n this.extractors.push({ extractor, pluginName });\n this.pluginNames.add(pluginName);\n log.debug('registered plugin extractor', {\n name: extractor.name,\n plugin: pluginName,\n });\n }\n\n registerSearchEngine(engine: SearchEngine, pluginName: string): void {\n if (this.engines.some(r => r.engine.name === engine.name)) {\n log.warn('duplicate search engine name, ignoring', {\n name: engine.name,\n plugin: pluginName,\n });\n return;\n }\n this.engines.push({ engine, pluginName });\n this.pluginNames.add(pluginName);\n log.debug('registered plugin search engine', {\n name: engine.name,\n plugin: pluginName,\n });\n }\n\n getExtractors(): Extractor[] {\n return this.extractors.map(r => r.extractor);\n }\n\n getSearchEngines(): SearchEngine[] {\n return this.engines.map(r => r.engine);\n }\n\n getExtractorByName(name: string): Extractor | undefined {\n return this.extractors.find(r => r.extractor.name === name)?.extractor;\n }\n\n getSearchEngineByName(name: string): SearchEngine | undefined {\n return this.engines.find(r => r.engine.name === name)?.engine;\n }\n\n getState(): PluginRegistryState {\n return {\n extractors: this.extractors.map(r => ({\n name: r.extractor.name,\n pluginName: r.pluginName,\n })),\n searchEngines: this.engines.map(r => ({\n name: r.engine.name,\n pluginName: r.pluginName,\n })),\n pluginCount: this.pluginNames.size,\n };\n }\n\n clear(): void {\n this.extractors = [];\n this.engines = [];\n this.pluginNames.clear();\n }\n}\n"],"mappings":"AAAA,SAAS,oBAAoB;AAG7B,MAAM,MAAM,aAAa,QAAQ;AAkB1B,MAAM,eAAe;AAAA,EAClB,aAAoC,CAAC;AAAA,EACrC,UAAoC,CAAC;AAAA,EACrC,cAAc,oBAAI,IAAY;AAAA,EAEtC,kBAAkB,WAAsB,YAA0B;AAChE,QAAI,KAAK,WAAW,KAAK,OAAK,EAAE,UAAU,SAAS,UAAU,IAAI,GAAG;AAClE,UAAI,KAAK,sCAAsC;AAAA,QAC7C,MAAM,UAAU;AAAA,QAChB,QAAQ;AAAA,MACV,CAAC;AACD;AAAA,IACF;AACA,SAAK,WAAW,KAAK,EAAE,WAAW,WAAW,CAAC;AAC9C,SAAK,YAAY,IAAI,UAAU;AAC/B,QAAI,MAAM,+BAA+B;AAAA,MACvC,MAAM,UAAU;AAAA,MAChB,QAAQ;AAAA,IACV,CAAC;AAAA,EACH;AAAA,EAEA,qBAAqB,QAAsB,YAA0B;AACnE,QAAI,KAAK,QAAQ,KAAK,OAAK,EAAE,OAAO,SAAS,OAAO,IAAI,GAAG;AACzD,UAAI,KAAK,0CAA0C;AAAA,QACjD,MAAM,OAAO;AAAA,QACb,QAAQ;AAAA,MACV,CAAC;AACD;AAAA,IACF;AACA,SAAK,QAAQ,KAAK,EAAE,QAAQ,WAAW,CAAC;AACxC,SAAK,YAAY,IAAI,UAAU;AAC/B,QAAI,MAAM,mCAAmC;AAAA,MAC3C,MAAM,OAAO;AAAA,MACb,QAAQ;AAAA,IACV,CAAC;AAAA,EACH;AAAA,EAEA,gBAA6B;AAC3B,WAAO,KAAK,WAAW,IAAI,OAAK,EAAE,SAAS;AAAA,EAC7C;AAAA,EAEA,mBAAmC;AACjC,WAAO,KAAK,QAAQ,IAAI,OAAK,EAAE,MAAM;AAAA,EACvC;AAAA,EAEA,mBAAmB,MAAqC;AACtD,WAAO,KAAK,WAAW,KAAK,OAAK,EAAE,UAAU,SAAS,IAAI,GAAG;AAAA,EAC/D;AAAA,EAEA,sBAAsB,MAAwC;AAC5D,WAAO,KAAK,QAAQ,KAAK,OAAK,EAAE,OAAO,SAAS,IAAI,GAAG;AAAA,EACzD;AAAA,EAEA,WAAgC;AAC9B,WAAO;AAAA,MACL,YAAY,KAAK,WAAW,IAAI,QAAM;AAAA,QACpC,MAAM,EAAE,UAAU;AAAA,QAClB,YAAY,EAAE;AAAA,MAChB,EAAE;AAAA,MACF,eAAe,KAAK,QAAQ,IAAI,QAAM;AAAA,QACpC,MAAM,EAAE,OAAO;AAAA,QACf,YAAY,EAAE;AAAA,MAChB,EAAE;AAAA,MACF,aAAa,KAAK,YAAY;AAAA,IAChC;AAAA,EACF;AAAA,EAEA,QAAc;AACZ,SAAK,aAAa,CAAC;AACnB,SAAK,UAAU,CAAC;AAChB,SAAK,YAAY,MAAM;AAAA,EACzB;AACF;","names":[]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare function validateExtractor(value: unknown): boolean;
|
|
2
|
+
export declare function validateSearchEngine(value: unknown): boolean;
|
|
3
|
+
export interface PluginValidationResult {
|
|
4
|
+
hasExtractor: boolean;
|
|
5
|
+
hasSearchEngine: boolean;
|
|
6
|
+
errors: string[];
|
|
7
|
+
}
|
|
8
|
+
export declare function validatePluginExports(mod: unknown): PluginValidationResult;
|
|
9
|
+
//# sourceMappingURL=validate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/plugins/validate.ts"],"names":[],"mappings":"AAIA,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAoBzD;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAgB5D;AAED,MAAM,WAAW,sBAAsB;IACrC,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;IACzB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,OAAO,GAAG,sBAAsB,CA+C1E"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { createLogger } from "../logger.js";
|
|
2
|
+
const log = createLogger("server");
|
|
3
|
+
function validateExtractor(value) {
|
|
4
|
+
if (value === null || value === void 0 || typeof value !== "object") {
|
|
5
|
+
return false;
|
|
6
|
+
}
|
|
7
|
+
const obj = value;
|
|
8
|
+
if (typeof obj.name !== "string" || obj.name.length === 0) {
|
|
9
|
+
return false;
|
|
10
|
+
}
|
|
11
|
+
if (typeof obj.canHandle !== "function") {
|
|
12
|
+
return false;
|
|
13
|
+
}
|
|
14
|
+
if (typeof obj.extract !== "function") {
|
|
15
|
+
return false;
|
|
16
|
+
}
|
|
17
|
+
return true;
|
|
18
|
+
}
|
|
19
|
+
function validateSearchEngine(value) {
|
|
20
|
+
if (value === null || value === void 0 || typeof value !== "object") {
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
const obj = value;
|
|
24
|
+
if (typeof obj.name !== "string" || obj.name.length === 0) {
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
if (typeof obj.search !== "function") {
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
30
|
+
return true;
|
|
31
|
+
}
|
|
32
|
+
function validatePluginExports(mod) {
|
|
33
|
+
const result = {
|
|
34
|
+
hasExtractor: false,
|
|
35
|
+
hasSearchEngine: false,
|
|
36
|
+
errors: []
|
|
37
|
+
};
|
|
38
|
+
if (mod === null || mod === void 0 || typeof mod !== "object") {
|
|
39
|
+
result.errors.push("plugin module is null or not an object");
|
|
40
|
+
return result;
|
|
41
|
+
}
|
|
42
|
+
const exports = mod;
|
|
43
|
+
if ("extractor" in exports) {
|
|
44
|
+
if (validateExtractor(exports.extractor)) {
|
|
45
|
+
result.hasExtractor = true;
|
|
46
|
+
log.debug("valid extractor export found", {
|
|
47
|
+
name: exports.extractor.name
|
|
48
|
+
});
|
|
49
|
+
} else {
|
|
50
|
+
result.errors.push(
|
|
51
|
+
"extractor export exists but does not match the Extractor interface (requires: name: string, canHandle: function, extract: function)"
|
|
52
|
+
);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
if ("searchEngine" in exports) {
|
|
56
|
+
if (validateSearchEngine(exports.searchEngine)) {
|
|
57
|
+
result.hasSearchEngine = true;
|
|
58
|
+
log.debug("valid searchEngine export found", {
|
|
59
|
+
name: exports.searchEngine.name
|
|
60
|
+
});
|
|
61
|
+
} else {
|
|
62
|
+
result.errors.push(
|
|
63
|
+
"searchEngine export exists but does not match the SearchEngine interface (requires: name: string, search: function)"
|
|
64
|
+
);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
if (!result.hasExtractor && !result.hasSearchEngine && result.errors.length === 0) {
|
|
68
|
+
result.errors.push(
|
|
69
|
+
"plugin exports neither a valid extractor nor a valid searchEngine"
|
|
70
|
+
);
|
|
71
|
+
}
|
|
72
|
+
return result;
|
|
73
|
+
}
|
|
74
|
+
export {
|
|
75
|
+
validateExtractor,
|
|
76
|
+
validatePluginExports,
|
|
77
|
+
validateSearchEngine
|
|
78
|
+
};
|
|
79
|
+
//# sourceMappingURL=validate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/plugins/validate.ts"],"sourcesContent":["import { createLogger } from '../logger.js';\n\nconst log = createLogger('server');\n\nexport function validateExtractor(value: unknown): boolean {\n if (value === null || value === undefined || typeof value !== 'object') {\n return false;\n }\n\n const obj = value as Record<string, unknown>;\n\n if (typeof obj.name !== 'string' || obj.name.length === 0) {\n return false;\n }\n\n if (typeof obj.canHandle !== 'function') {\n return false;\n }\n\n if (typeof obj.extract !== 'function') {\n return false;\n }\n\n return true;\n}\n\nexport function validateSearchEngine(value: unknown): boolean {\n if (value === null || value === undefined || typeof value !== 'object') {\n return false;\n }\n\n const obj = value as Record<string, unknown>;\n\n if (typeof obj.name !== 'string' || obj.name.length === 0) {\n return false;\n }\n\n if (typeof obj.search !== 'function') {\n return false;\n }\n\n return true;\n}\n\nexport interface PluginValidationResult {\n hasExtractor: boolean;\n hasSearchEngine: boolean;\n errors: string[];\n}\n\nexport function validatePluginExports(mod: unknown): PluginValidationResult {\n const result: PluginValidationResult = {\n hasExtractor: false,\n hasSearchEngine: false,\n errors: [],\n };\n\n if (mod === null || mod === undefined || typeof mod !== 'object') {\n result.errors.push('plugin module is null or not an object');\n return result;\n }\n\n const exports = mod as Record<string, unknown>;\n\n if ('extractor' in exports) {\n if (validateExtractor(exports.extractor)) {\n result.hasExtractor = true;\n log.debug('valid extractor export found', {\n name: (exports.extractor as { name: string }).name,\n });\n } else {\n result.errors.push(\n 'extractor export exists but does not match the Extractor interface (requires: name: string, canHandle: function, extract: function)',\n );\n }\n }\n\n if ('searchEngine' in exports) {\n if (validateSearchEngine(exports.searchEngine)) {\n result.hasSearchEngine = true;\n log.debug('valid searchEngine export found', {\n name: (exports.searchEngine as { name: string }).name,\n });\n } else {\n result.errors.push(\n 'searchEngine export exists but does not match the SearchEngine interface (requires: name: string, search: function)',\n );\n }\n }\n\n if (!result.hasExtractor && !result.hasSearchEngine && result.errors.length === 0) {\n result.errors.push(\n 'plugin exports neither a valid extractor nor a valid searchEngine',\n );\n }\n\n return result;\n}\n"],"mappings":"AAAA,SAAS,oBAAoB;AAE7B,MAAM,MAAM,aAAa,QAAQ;AAE1B,SAAS,kBAAkB,OAAyB;AACzD,MAAI,UAAU,QAAQ,UAAU,UAAa,OAAO,UAAU,UAAU;AACtE,WAAO;AAAA,EACT;AAEA,QAAM,MAAM;AAEZ,MAAI,OAAO,IAAI,SAAS,YAAY,IAAI,KAAK,WAAW,GAAG;AACzD,WAAO;AAAA,EACT;AAEA,MAAI,OAAO,IAAI,cAAc,YAAY;AACvC,WAAO;AAAA,EACT;AAEA,MAAI,OAAO,IAAI,YAAY,YAAY;AACrC,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAEO,SAAS,qBAAqB,OAAyB;AAC5D,MAAI,UAAU,QAAQ,UAAU,UAAa,OAAO,UAAU,UAAU;AACtE,WAAO;AAAA,EACT;AAEA,QAAM,MAAM;AAEZ,MAAI,OAAO,IAAI,SAAS,YAAY,IAAI,KAAK,WAAW,GAAG;AACzD,WAAO;AAAA,EACT;AAEA,MAAI,OAAO,IAAI,WAAW,YAAY;AACpC,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAQO,SAAS,sBAAsB,KAAsC;AAC1E,QAAM,SAAiC;AAAA,IACrC,cAAc;AAAA,IACd,iBAAiB;AAAA,IACjB,QAAQ,CAAC;AAAA,EACX;AAEA,MAAI,QAAQ,QAAQ,QAAQ,UAAa,OAAO,QAAQ,UAAU;AAChE,WAAO,OAAO,KAAK,wCAAwC;AAC3D,WAAO;AAAA,EACT;AAEA,QAAM,UAAU;AAEhB,MAAI,eAAe,SAAS;AAC1B,QAAI,kBAAkB,QAAQ,SAAS,GAAG;AACxC,aAAO,eAAe;AACtB,UAAI,MAAM,gCAAgC;AAAA,QACxC,MAAO,QAAQ,UAA+B;AAAA,MAChD,CAAC;AAAA,IACH,OAAO;AACL,aAAO,OAAO;AAAA,QACZ;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,MAAI,kBAAkB,SAAS;AAC7B,QAAI,qBAAqB,QAAQ,YAAY,GAAG;AAC9C,aAAO,kBAAkB;AACzB,UAAI,MAAM,mCAAmC;AAAA,QAC3C,MAAO,QAAQ,aAAkC;AAAA,MACnD,CAAC;AAAA,IACH,OAAO;AACL,aAAO,OAAO;AAAA,QACZ;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,MAAI,CAAC,OAAO,gBAAgB,CAAC,OAAO,mBAAmB,OAAO,OAAO,WAAW,GAAG;AACjF,WAAO,OAAO;AAAA,MACZ;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AACT;","names":[]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export interface EmbedProvider {
|
|
2
|
+
/** Embed a batch of strings; returns one Float32Array per input. */
|
|
3
|
+
embed(texts: string[]): Promise<Float32Array[]>;
|
|
4
|
+
/** Dimensionality of embeddings produced by this provider. */
|
|
5
|
+
readonly dim: number;
|
|
6
|
+
/** Model identifier (for cache invalidation / provenance). */
|
|
7
|
+
readonly modelId: string;
|
|
8
|
+
}
|
|
9
|
+
export declare function getEmbedProvider(): Promise<EmbedProvider>;
|
|
10
|
+
export declare function _resetEmbedProviderForTest(): void;
|
|
11
|
+
//# sourceMappingURL=embed-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embed-provider.d.ts","sourceRoot":"","sources":["../../src/providers/embed-provider.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,aAAa;IAC5B,oEAAoE;IACpE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAChD,8DAA8D;IAC9D,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,8DAA8D;IAC9D,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAID,wBAAgB,gBAAgB,IAAI,OAAO,CAAC,aAAa,CAAC,CAezD;AAED,wBAAgB,0BAA0B,IAAI,IAAI,CAEjD"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { createLogger } from "../logger.js";
|
|
2
|
+
const log = createLogger("providers");
|
|
3
|
+
let cached = null;
|
|
4
|
+
function getEmbedProvider() {
|
|
5
|
+
if (cached) return cached;
|
|
6
|
+
cached = import("../embedding/fastembed-provider.js").then(async (m) => {
|
|
7
|
+
const p = new m.FastembedEmbedProvider();
|
|
8
|
+
await p.warmup();
|
|
9
|
+
log.info("embed provider ready", { provider: "embed", impl: "fastembed", modelId: p.modelId, dim: p.dim });
|
|
10
|
+
return p;
|
|
11
|
+
}).catch((err) => {
|
|
12
|
+
cached = null;
|
|
13
|
+
throw err;
|
|
14
|
+
});
|
|
15
|
+
return cached;
|
|
16
|
+
}
|
|
17
|
+
function _resetEmbedProviderForTest() {
|
|
18
|
+
cached = null;
|
|
19
|
+
}
|
|
20
|
+
export {
|
|
21
|
+
_resetEmbedProviderForTest,
|
|
22
|
+
getEmbedProvider
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=embed-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/providers/embed-provider.ts"],"sourcesContent":["/**\n * Embed provider interface — Phase 1 Task 1.3 of v1 engine overhaul.\n *\n * Stable interface for embedding implementations. Phase 3 swapped the\n * sentence-transformers Python subprocess for fastembed (Rust ONNX via\n * Node bindings); the factory now returns FastembedEmbedProvider.\n */\nimport { createLogger } from '../logger.js';\n\nconst log = createLogger('providers');\n\nexport interface EmbedProvider {\n /** Embed a batch of strings; returns one Float32Array per input. */\n embed(texts: string[]): Promise<Float32Array[]>;\n /** Dimensionality of embeddings produced by this provider. */\n readonly dim: number;\n /** Model identifier (for cache invalidation / provenance). */\n readonly modelId: string;\n}\n\nlet cached: Promise<EmbedProvider> | null = null;\n\nexport function getEmbedProvider(): Promise<EmbedProvider> {\n if (cached) return cached;\n cached = import('../embedding/fastembed-provider.js')\n .then(async m => {\n const p = new m.FastembedEmbedProvider();\n await p.warmup();\n log.info('embed provider ready', { provider: 'embed', impl: 'fastembed', modelId: p.modelId, dim: p.dim });\n return p;\n })\n .catch(err => {\n // Clear cache on any failure (import or warmup) so the next call retries.\n cached = null;\n throw err;\n });\n return cached;\n}\n\nexport function _resetEmbedProviderForTest(): void {\n cached = null;\n}\n"],"mappings":"AAOA,SAAS,oBAAoB;AAE7B,MAAM,MAAM,aAAa,WAAW;AAWpC,IAAI,SAAwC;AAErC,SAAS,mBAA2C;AACzD,MAAI,OAAQ,QAAO;AACnB,WAAS,OAAO,oCAAoC,EACjD,KAAK,OAAM,MAAK;AACf,UAAM,IAAI,IAAI,EAAE,uBAAuB;AACvC,UAAM,EAAE,OAAO;AACf,QAAI,KAAK,wBAAwB,EAAE,UAAU,SAAS,MAAM,aAAa,SAAS,EAAE,SAAS,KAAK,EAAE,IAAI,CAAC;AACzG,WAAO;AAAA,EACT,CAAC,EACA,MAAM,SAAO;AAEZ,aAAS;AACT,UAAM;AAAA,EACR,CAAC;AACH,SAAO;AACT;AAEO,SAAS,6BAAmC;AACjD,WAAS;AACX;","names":[]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Extract provider interface — wraps the v1 extraction pipeline behind a
|
|
3
|
+
* stable interface.
|
|
4
|
+
*
|
|
5
|
+
* Note: named ExtractProvider (not Extractor) to avoid collision with the
|
|
6
|
+
* pre-existing `Extractor` interface in `src/types.ts`, which models a single
|
|
7
|
+
* site-specific extractor within the v1 pipeline.
|
|
8
|
+
*/
|
|
9
|
+
import type { ExtractionResult } from '../types.js';
|
|
10
|
+
export interface ExtractProviderOptions {
|
|
11
|
+
maxChars?: number;
|
|
12
|
+
section?: string;
|
|
13
|
+
sectionIndex?: number;
|
|
14
|
+
contentType?: string;
|
|
15
|
+
pdfBuffer?: Buffer;
|
|
16
|
+
}
|
|
17
|
+
export interface ExtractProvider {
|
|
18
|
+
extract(html: string, url: string, options?: ExtractProviderOptions): Promise<ExtractionResult>;
|
|
19
|
+
readonly name: 'legacy' | 'v1';
|
|
20
|
+
}
|
|
21
|
+
export declare function getExtractProvider(): Promise<ExtractProvider>;
|
|
22
|
+
export declare function _resetExtractProviderForTest(): void;
|
|
23
|
+
//# sourceMappingURL=extract-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extract-provider.d.ts","sourceRoot":"","sources":["../../src/providers/extract-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAKpD,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,CACL,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,sBAAsB,GAC/B,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC;CAChC;AAID,wBAAgB,kBAAkB,IAAI,OAAO,CAAC,eAAe,CAAC,CAU7D;AAED,wBAAgB,4BAA4B,IAAI,IAAI,CAEnD"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { createLogger } from "../logger.js";
|
|
2
|
+
const log = createLogger("providers");
|
|
3
|
+
let cached = null;
|
|
4
|
+
function getExtractProvider() {
|
|
5
|
+
if (cached) return cached;
|
|
6
|
+
cached = import("../extraction/v1/extract-provider.js").then(
|
|
7
|
+
(m) => {
|
|
8
|
+
log.info("extract provider ready", { provider: "extract", impl: "v1" });
|
|
9
|
+
return new m.V1Extractor();
|
|
10
|
+
},
|
|
11
|
+
(err) => {
|
|
12
|
+
cached = null;
|
|
13
|
+
throw err;
|
|
14
|
+
}
|
|
15
|
+
);
|
|
16
|
+
return cached;
|
|
17
|
+
}
|
|
18
|
+
function _resetExtractProviderForTest() {
|
|
19
|
+
cached = null;
|
|
20
|
+
}
|
|
21
|
+
export {
|
|
22
|
+
_resetExtractProviderForTest,
|
|
23
|
+
getExtractProvider
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=extract-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/providers/extract-provider.ts"],"sourcesContent":["/**\n * Extract provider interface — wraps the v1 extraction pipeline behind a\n * stable interface.\n *\n * Note: named ExtractProvider (not Extractor) to avoid collision with the\n * pre-existing `Extractor` interface in `src/types.ts`, which models a single\n * site-specific extractor within the v1 pipeline.\n */\nimport type { ExtractionResult } from '../types.js';\nimport { createLogger } from '../logger.js';\n\nconst log = createLogger('providers');\n\nexport interface ExtractProviderOptions {\n maxChars?: number;\n section?: string;\n sectionIndex?: number;\n contentType?: string;\n pdfBuffer?: Buffer;\n}\n\nexport interface ExtractProvider {\n extract(\n html: string,\n url: string,\n options?: ExtractProviderOptions,\n ): Promise<ExtractionResult>;\n readonly name: 'legacy' | 'v1';\n}\n\nlet cached: Promise<ExtractProvider> | null = null;\n\nexport function getExtractProvider(): Promise<ExtractProvider> {\n if (cached) return cached;\n cached = import('../extraction/v1/extract-provider.js').then(\n m => {\n log.info('extract provider ready', { provider: 'extract', impl: 'v1' });\n return new m.V1Extractor();\n },\n err => { cached = null; throw err; },\n );\n return cached;\n}\n\nexport function _resetExtractProviderForTest(): void {\n cached = null;\n}\n"],"mappings":"AASA,SAAS,oBAAoB;AAE7B,MAAM,MAAM,aAAa,WAAW;AAmBpC,IAAI,SAA0C;AAEvC,SAAS,qBAA+C;AAC7D,MAAI,OAAQ,QAAO;AACnB,WAAS,OAAO,sCAAsC,EAAE;AAAA,IACtD,OAAK;AACH,UAAI,KAAK,0BAA0B,EAAE,UAAU,WAAW,MAAM,KAAK,CAAC;AACtE,aAAO,IAAI,EAAE,YAAY;AAAA,IAC3B;AAAA,IACA,SAAO;AAAE,eAAS;AAAM,YAAM;AAAA,IAAK;AAAA,EACrC;AACA,SAAO;AACT;AAEO,SAAS,+BAAqC;AACnD,WAAS;AACX;","names":[]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export interface RerankCandidate {
|
|
2
|
+
id: string;
|
|
3
|
+
text: string;
|
|
4
|
+
}
|
|
5
|
+
export interface RerankResult {
|
|
6
|
+
id: string;
|
|
7
|
+
score: number;
|
|
8
|
+
}
|
|
9
|
+
export interface RerankProvider {
|
|
10
|
+
rerank(query: string, candidates: RerankCandidate[], topK?: number): Promise<RerankResult[]>;
|
|
11
|
+
/** Model identifier (for cache invalidation / provenance). */
|
|
12
|
+
readonly modelId: string;
|
|
13
|
+
}
|
|
14
|
+
export declare function getRerankProvider(): Promise<RerankProvider>;
|
|
15
|
+
export declare function _resetRerankProviderForTest(): void;
|
|
16
|
+
//# sourceMappingURL=rerank-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rerank-provider.d.ts","sourceRoot":"","sources":["../../src/providers/rerank-provider.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,CACJ,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,eAAe,EAAE,EAC7B,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAC3B,8DAA8D;IAC9D,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAID,wBAAgB,iBAAiB,IAAI,OAAO,CAAC,cAAc,CAAC,CAkB3D;AAED,wBAAgB,2BAA2B,IAAI,IAAI,CAElD"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { createLogger } from "../logger.js";
|
|
2
|
+
const log = createLogger("providers");
|
|
3
|
+
let cached = null;
|
|
4
|
+
function getRerankProvider() {
|
|
5
|
+
if (cached) return cached;
|
|
6
|
+
cached = import("../search/reranker/transformers-rerank-provider.js").then(async (m) => {
|
|
7
|
+
const p = new m.TransformersRerankProvider();
|
|
8
|
+
await p.warmup();
|
|
9
|
+
log.info("rerank provider ready", {
|
|
10
|
+
provider: "rerank",
|
|
11
|
+
impl: "transformers",
|
|
12
|
+
modelId: p.modelId
|
|
13
|
+
});
|
|
14
|
+
return p;
|
|
15
|
+
}).catch((err) => {
|
|
16
|
+
cached = null;
|
|
17
|
+
throw err;
|
|
18
|
+
});
|
|
19
|
+
return cached;
|
|
20
|
+
}
|
|
21
|
+
function _resetRerankProviderForTest() {
|
|
22
|
+
cached = null;
|
|
23
|
+
}
|
|
24
|
+
export {
|
|
25
|
+
_resetRerankProviderForTest,
|
|
26
|
+
getRerankProvider
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=rerank-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/providers/rerank-provider.ts"],"sourcesContent":["/**\n * Rerank provider interface — Phase 1 Task 1.3 of v1 engine overhaul.\n *\n * Phase 4 Part A switches the default factory to TransformersRerankProvider\n * (Transformers.js cross-encoder, in-process ONNX runtime). The legacy\n * Python FlashRank adapter still exists in `search/reranker/legacy-provider.ts`\n * pending Phase 4 Part B deletions, but it is no longer wired in.\n */\nimport { createLogger } from '../logger.js';\n\nconst log = createLogger('providers');\nexport interface RerankCandidate {\n id: string;\n text: string;\n}\n\nexport interface RerankResult {\n id: string;\n score: number;\n}\n\nexport interface RerankProvider {\n rerank(\n query: string,\n candidates: RerankCandidate[],\n topK?: number,\n ): Promise<RerankResult[]>;\n /** Model identifier (for cache invalidation / provenance). */\n readonly modelId: string;\n}\n\nlet cached: Promise<RerankProvider> | null = null;\n\nexport function getRerankProvider(): Promise<RerankProvider> {\n if (cached) return cached;\n cached = import('../search/reranker/transformers-rerank-provider.js')\n .then(async (m) => {\n const p = new m.TransformersRerankProvider();\n await p.warmup();\n log.info('rerank provider ready', {\n provider: 'rerank',\n impl: 'transformers',\n modelId: p.modelId,\n });\n return p;\n })\n .catch((err) => {\n cached = null;\n throw err;\n });\n return cached;\n}\n\nexport function _resetRerankProviderForTest(): void {\n cached = null;\n}\n"],"mappings":"AAQA,SAAS,oBAAoB;AAE7B,MAAM,MAAM,aAAa,WAAW;AAqBpC,IAAI,SAAyC;AAEtC,SAAS,oBAA6C;AAC3D,MAAI,OAAQ,QAAO;AACnB,WAAS,OAAO,oDAAoD,EACjE,KAAK,OAAO,MAAM;AACjB,UAAM,IAAI,IAAI,EAAE,2BAA2B;AAC3C,UAAM,EAAE,OAAO;AACf,QAAI,KAAK,yBAAyB;AAAA,MAChC,UAAU;AAAA,MACV,MAAM;AAAA,MACN,SAAS,EAAE;AAAA,IACb,CAAC;AACD,WAAO;AAAA,EACT,CAAC,EACA,MAAM,CAAC,QAAQ;AACd,aAAS;AACT,UAAM;AAAA,EACR,CAAC;AACH,SAAO;AACT;AAEO,SAAS,8BAAoC;AAClD,WAAS;AACX;","names":[]}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { SearchInput, SearchOutput, StageResult, ProgressCallback, SearchEngine } from '../types.js';
|
|
2
|
+
import type { SmartRouter } from '../fetch/router.js';
|
|
3
|
+
import type { BackendStatus } from '../server/backend-status.js';
|
|
4
|
+
import type { SamplingCapableServer } from '../search/sampling.js';
|
|
5
|
+
/**
|
|
6
|
+
* Runtime dependencies the legacy SearxNG orchestrator needs. These are wired
|
|
7
|
+
* at server boot (search engines, fetch router) and per-call (sampling server,
|
|
8
|
+
* progress callback). The provider interface accepts them so the tool handler
|
|
9
|
+
* can remain a thin pass-through.
|
|
10
|
+
*/
|
|
11
|
+
export interface SearchContext {
|
|
12
|
+
engines: SearchEngine[];
|
|
13
|
+
router: SmartRouter;
|
|
14
|
+
backendStatus?: BackendStatus;
|
|
15
|
+
samplingServer?: SamplingCapableServer;
|
|
16
|
+
onProgress?: ProgressCallback;
|
|
17
|
+
}
|
|
18
|
+
export interface SearchProvider {
|
|
19
|
+
search(input: SearchInput, ctx: SearchContext): Promise<StageResult<SearchOutput>>;
|
|
20
|
+
/** Best-effort name for telemetry/logging. */
|
|
21
|
+
readonly name: 'searxng' | 'v1';
|
|
22
|
+
}
|
|
23
|
+
export declare function getSearchProvider(): Promise<SearchProvider>;
|
|
24
|
+
export declare function _resetSearchProviderForTest(): void;
|
|
25
|
+
//# sourceMappingURL=search-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-provider.d.ts","sourceRoot":"","sources":["../../src/providers/search-provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC1G,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAKnE;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,MAAM,EAAE,WAAW,CAAC;IACpB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACvC,UAAU,CAAC,EAAE,gBAAgB,CAAC;CAC/B;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC;IACnF,8CAA8C;IAC9C,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,CAAC;CACjC;AAID,wBAAgB,iBAAiB,IAAI,OAAO,CAAC,cAAc,CAAC,CA6B3D;AAED,wBAAgB,2BAA2B,IAAI,IAAI,CAElD"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { createLogger } from "../logger.js";
|
|
2
|
+
const log = createLogger("providers");
|
|
3
|
+
let cached = null;
|
|
4
|
+
function getSearchProvider() {
|
|
5
|
+
if (cached) return cached;
|
|
6
|
+
const raw = process.env.WIGOLO_SEARCH;
|
|
7
|
+
const which = raw === void 0 || raw === "" ? "searxng" : raw;
|
|
8
|
+
if (which === "searxng") {
|
|
9
|
+
cached = import("../search/legacy/searxng-provider.js").then(
|
|
10
|
+
(m) => {
|
|
11
|
+
log.info("search provider selected", { provider: "searxng" });
|
|
12
|
+
return new m.LegacySearxngProvider();
|
|
13
|
+
},
|
|
14
|
+
(err) => {
|
|
15
|
+
cached = null;
|
|
16
|
+
throw err;
|
|
17
|
+
}
|
|
18
|
+
);
|
|
19
|
+
} else if (which === "v1") {
|
|
20
|
+
cached = import("../search/v1/v1-provider.js").then(
|
|
21
|
+
(m) => {
|
|
22
|
+
log.info("search provider selected", { provider: "v1", impl: "v1" });
|
|
23
|
+
return new m.V1SearchProvider();
|
|
24
|
+
},
|
|
25
|
+
(err) => {
|
|
26
|
+
cached = null;
|
|
27
|
+
throw err;
|
|
28
|
+
}
|
|
29
|
+
);
|
|
30
|
+
} else {
|
|
31
|
+
return Promise.reject(new Error(
|
|
32
|
+
`Unknown WIGOLO_SEARCH value: ${which}. Use 'v1' or 'searxng'.`
|
|
33
|
+
));
|
|
34
|
+
}
|
|
35
|
+
return cached;
|
|
36
|
+
}
|
|
37
|
+
function _resetSearchProviderForTest() {
|
|
38
|
+
cached = null;
|
|
39
|
+
}
|
|
40
|
+
export {
|
|
41
|
+
_resetSearchProviderForTest,
|
|
42
|
+
getSearchProvider
|
|
43
|
+
};
|
|
44
|
+
//# sourceMappingURL=search-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/providers/search-provider.ts"],"sourcesContent":["import type { SearchInput, SearchOutput, StageResult, ProgressCallback, SearchEngine } from '../types.js';\nimport type { SmartRouter } from '../fetch/router.js';\nimport type { BackendStatus } from '../server/backend-status.js';\nimport type { SamplingCapableServer } from '../search/sampling.js';\nimport { createLogger } from '../logger.js';\n\nconst log = createLogger('providers');\n\n/**\n * Runtime dependencies the legacy SearxNG orchestrator needs. These are wired\n * at server boot (search engines, fetch router) and per-call (sampling server,\n * progress callback). The provider interface accepts them so the tool handler\n * can remain a thin pass-through.\n */\nexport interface SearchContext {\n engines: SearchEngine[];\n router: SmartRouter;\n backendStatus?: BackendStatus;\n samplingServer?: SamplingCapableServer;\n onProgress?: ProgressCallback;\n}\n\nexport interface SearchProvider {\n search(input: SearchInput, ctx: SearchContext): Promise<StageResult<SearchOutput>>;\n /** Best-effort name for telemetry/logging. */\n readonly name: 'searxng' | 'v1';\n}\n\nlet cached: Promise<SearchProvider> | null = null;\n\nexport function getSearchProvider(): Promise<SearchProvider> {\n if (cached) return cached;\n // Read the raw env directly so unknown values surface to the caller. Config\n // narrows unknown to 'searxng' for safe downstream consumption, but here we\n // want explicit visibility per the v1-engine plan.\n const raw = process.env.WIGOLO_SEARCH;\n const which = raw === undefined || raw === '' ? 'searxng' : raw;\n if (which === 'searxng') {\n cached = import('../search/legacy/searxng-provider.js').then(\n m => {\n log.info('search provider selected', { provider: 'searxng' });\n return new m.LegacySearxngProvider();\n },\n err => { cached = null; throw err; },\n );\n } else if (which === 'v1') {\n cached = import('../search/v1/v1-provider.js').then(\n m => {\n log.info('search provider selected', { provider: 'v1', impl: 'v1' });\n return new m.V1SearchProvider();\n },\n err => { cached = null; throw err; },\n );\n } else {\n return Promise.reject(new Error(\n `Unknown WIGOLO_SEARCH value: ${which}. Use 'v1' or 'searxng'.`,\n ));\n }\n return cached;\n}\n\nexport function _resetSearchProviderForTest(): void {\n cached = null;\n}\n"],"mappings":"AAIA,SAAS,oBAAoB;AAE7B,MAAM,MAAM,aAAa,WAAW;AAsBpC,IAAI,SAAyC;AAEtC,SAAS,oBAA6C;AAC3D,MAAI,OAAQ,QAAO;AAInB,QAAM,MAAM,QAAQ,IAAI;AACxB,QAAM,QAAQ,QAAQ,UAAa,QAAQ,KAAK,YAAY;AAC5D,MAAI,UAAU,WAAW;AACvB,aAAS,OAAO,sCAAsC,EAAE;AAAA,MACtD,OAAK;AACH,YAAI,KAAK,4BAA4B,EAAE,UAAU,UAAU,CAAC;AAC5D,eAAO,IAAI,EAAE,sBAAsB;AAAA,MACrC;AAAA,MACA,SAAO;AAAE,iBAAS;AAAM,cAAM;AAAA,MAAK;AAAA,IACrC;AAAA,EACF,WAAW,UAAU,MAAM;AACzB,aAAS,OAAO,6BAA6B,EAAE;AAAA,MAC7C,OAAK;AACH,YAAI,KAAK,4BAA4B,EAAE,UAAU,MAAM,MAAM,KAAK,CAAC;AACnE,eAAO,IAAI,EAAE,iBAAiB;AAAA,MAChC;AAAA,MACA,SAAO;AAAE,iBAAS;AAAM,cAAM;AAAA,MAAK;AAAA,IACrC;AAAA,EACF,OAAO;AACL,WAAO,QAAQ,OAAO,IAAI;AAAA,MACxB,gCAAgC,KAAK;AAAA,IACvC,CAAC;AAAA,EACH;AACA,SAAO;AACT;AAEO,SAAS,8BAAoC;AAClD,WAAS;AACX;","names":[]}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export interface VectorMetadata {
|
|
2
|
+
/** Source URL (used as primary identity by the legacy index). */
|
|
3
|
+
url: string;
|
|
4
|
+
contentHash: string;
|
|
5
|
+
modelId: string;
|
|
6
|
+
extra?: Record<string, unknown>;
|
|
7
|
+
}
|
|
8
|
+
export interface VectorRecord {
|
|
9
|
+
/** Stable identifier; the legacy adapter treats this as the URL key. */
|
|
10
|
+
id: string;
|
|
11
|
+
vector: Float32Array;
|
|
12
|
+
metadata: VectorMetadata;
|
|
13
|
+
}
|
|
14
|
+
export interface VectorSearchResult {
|
|
15
|
+
id: string;
|
|
16
|
+
score: number;
|
|
17
|
+
metadata: VectorMetadata;
|
|
18
|
+
}
|
|
19
|
+
export interface VectorStore {
|
|
20
|
+
upsert(records: VectorRecord[]): Promise<void>;
|
|
21
|
+
search(queryVector: Float32Array, limit: number, filter?: Partial<VectorMetadata>): Promise<VectorSearchResult[]>;
|
|
22
|
+
delete(ids: string[]): Promise<void>;
|
|
23
|
+
size(): Promise<number>;
|
|
24
|
+
}
|
|
25
|
+
export declare function getVectorStore(): Promise<VectorStore>;
|
|
26
|
+
export declare function _resetVectorStoreForTest(): void;
|
|
27
|
+
//# sourceMappingURL=vector-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vector-store.d.ts","sourceRoot":"","sources":["../../src/providers/vector-store.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,cAAc;IAC7B,iEAAiE;IACjE,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,YAAY;IAC3B,wEAAwE;IACxE,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,cAAc,CAAC;CAC1B;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,cAAc,CAAC;CAC1B;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,CACJ,WAAW,EAAE,YAAY,EACzB,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GAC/B,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;IACjC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CACzB;AAID,wBAAgB,cAAc,IAAI,OAAO,CAAC,WAAW,CAAC,CAerD;AAED,wBAAgB,wBAAwB,IAAI,IAAI,CAE/C"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { createLogger } from "../logger.js";
|
|
2
|
+
const log = createLogger("providers");
|
|
3
|
+
let cached = null;
|
|
4
|
+
function getVectorStore() {
|
|
5
|
+
if (cached) return cached;
|
|
6
|
+
cached = (async () => {
|
|
7
|
+
const [{ SqliteVecStore }, { getDatabase }] = await Promise.all([
|
|
8
|
+
import("../cache/sqlite-vec-store.js"),
|
|
9
|
+
import("../cache/db.js")
|
|
10
|
+
]);
|
|
11
|
+
const db = getDatabase();
|
|
12
|
+
log.info("vector store ready", { provider: "vector-store", impl: "sqlite-vec" });
|
|
13
|
+
return new SqliteVecStore(db);
|
|
14
|
+
})().catch((err) => {
|
|
15
|
+
cached = null;
|
|
16
|
+
throw err;
|
|
17
|
+
});
|
|
18
|
+
return cached;
|
|
19
|
+
}
|
|
20
|
+
function _resetVectorStoreForTest() {
|
|
21
|
+
cached = null;
|
|
22
|
+
}
|
|
23
|
+
export {
|
|
24
|
+
_resetVectorStoreForTest,
|
|
25
|
+
getVectorStore
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=vector-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/providers/vector-store.ts"],"sourcesContent":["/**\n * Vector store interface — Phase 1 Task 1.3 of v1 engine overhaul.\n *\n * Phase 5 switched the default implementation from the in-memory\n * VectorIndex adapter to the sqlite-vec backed store. The interface is\n * unchanged so callers do not need to change.\n */\nimport { createLogger } from '../logger.js';\n\nconst log = createLogger('providers');\nexport interface VectorMetadata {\n /** Source URL (used as primary identity by the legacy index). */\n url: string;\n contentHash: string;\n modelId: string;\n extra?: Record<string, unknown>;\n}\n\nexport interface VectorRecord {\n /** Stable identifier; the legacy adapter treats this as the URL key. */\n id: string;\n vector: Float32Array;\n metadata: VectorMetadata;\n}\n\nexport interface VectorSearchResult {\n id: string;\n score: number;\n metadata: VectorMetadata;\n}\n\nexport interface VectorStore {\n upsert(records: VectorRecord[]): Promise<void>;\n search(\n queryVector: Float32Array,\n limit: number,\n filter?: Partial<VectorMetadata>,\n ): Promise<VectorSearchResult[]>;\n delete(ids: string[]): Promise<void>;\n size(): Promise<number>;\n}\n\nlet cached: Promise<VectorStore> | null = null;\n\nexport function getVectorStore(): Promise<VectorStore> {\n if (cached) return cached;\n cached = (async () => {\n const [{ SqliteVecStore }, { getDatabase }] = await Promise.all([\n import('../cache/sqlite-vec-store.js'),\n import('../cache/db.js'),\n ]);\n const db = getDatabase();\n log.info('vector store ready', { provider: 'vector-store', impl: 'sqlite-vec' });\n return new SqliteVecStore(db);\n })().catch(err => {\n cached = null;\n throw err;\n });\n return cached;\n}\n\nexport function _resetVectorStoreForTest(): void {\n cached = null;\n}\n"],"mappings":"AAOA,SAAS,oBAAoB;AAE7B,MAAM,MAAM,aAAa,WAAW;AAiCpC,IAAI,SAAsC;AAEnC,SAAS,iBAAuC;AACrD,MAAI,OAAQ,QAAO;AACnB,YAAU,YAAY;AACpB,UAAM,CAAC,EAAE,eAAe,GAAG,EAAE,YAAY,CAAC,IAAI,MAAM,QAAQ,IAAI;AAAA,MAC9D,OAAO,8BAA8B;AAAA,MACrC,OAAO,gBAAgB;AAAA,IACzB,CAAC;AACD,UAAM,KAAK,YAAY;AACvB,QAAI,KAAK,sBAAsB,EAAE,UAAU,gBAAgB,MAAM,aAAa,CAAC;AAC/E,WAAO,IAAI,eAAe,EAAE;AAAA,EAC9B,GAAG,EAAE,MAAM,SAAO;AAChB,aAAS;AACT,UAAM;AAAA,EACR,CAAC;AACD,SAAO;AACT;AAEO,SAAS,2BAAiC;AAC/C,WAAS;AACX;","names":[]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns the Python binary to use for every Python operation — pip installs,
|
|
3
|
+
* import availability checks, and long-lived subprocess spawns. Prefers the
|
|
4
|
+
* SearXNG venv python (created by bootstrap) to guarantee that warmup, doctor,
|
|
5
|
+
* and runtime all hit the same interpreter and see the same packages.
|
|
6
|
+
* Falls back to system `python3` when the venv has not been created yet.
|
|
7
|
+
*/
|
|
8
|
+
export declare function getPythonBin(dataDir?: string): string;
|
|
9
|
+
//# sourceMappingURL=python-env.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"python-env.d.ts","sourceRoot":"","sources":["../src/python-env.ts"],"names":[],"mappings":"AAIA;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAKrD"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { existsSync } from "node:fs";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
import { getConfig } from "./config.js";
|
|
4
|
+
function getPythonBin(dataDir) {
|
|
5
|
+
const dir = dataDir ?? getConfig().dataDir;
|
|
6
|
+
if (!dir) return "python3";
|
|
7
|
+
const venvPython = join(dir, "searxng", "venv", "bin", "python");
|
|
8
|
+
return existsSync(venvPython) ? venvPython : "python3";
|
|
9
|
+
}
|
|
10
|
+
export {
|
|
11
|
+
getPythonBin
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=python-env.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/python-env.ts"],"sourcesContent":["import { existsSync } from 'node:fs';\nimport { join } from 'node:path';\nimport { getConfig } from './config.js';\n\n/**\n * Returns the Python binary to use for every Python operation — pip installs,\n * import availability checks, and long-lived subprocess spawns. Prefers the\n * SearXNG venv python (created by bootstrap) to guarantee that warmup, doctor,\n * and runtime all hit the same interpreter and see the same packages.\n * Falls back to system `python3` when the venv has not been created yet.\n */\nexport function getPythonBin(dataDir?: string): string {\n const dir = dataDir ?? getConfig().dataDir;\n if (!dir) return 'python3';\n const venvPython = join(dir, 'searxng', 'venv', 'bin', 'python');\n return existsSync(venvPython) ? venvPython : 'python3';\n}\n"],"mappings":"AAAA,SAAS,kBAAkB;AAC3B,SAAS,YAAY;AACrB,SAAS,iBAAiB;AASnB,SAAS,aAAa,SAA0B;AACrD,QAAM,MAAM,WAAW,UAAU,EAAE;AACnC,MAAI,CAAC,IAAK,QAAO;AACjB,QAAM,aAAa,KAAK,KAAK,WAAW,QAAQ,OAAO,QAAQ;AAC/D,SAAO,WAAW,UAAU,IAAI,aAAa;AAC/C;","names":[]}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { AgentOutput } from '../../types.js';
|
|
2
|
+
import type { ParsedArgs } from '../parser.js';
|
|
3
|
+
import type { ReplDeps } from './types.js';
|
|
4
|
+
export declare function executeAgent(args: ParsedArgs, deps: ReplDeps): Promise<AgentOutput>;
|
|
5
|
+
//# sourceMappingURL=agent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../src/repl/commands/agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAM3C,wBAAsB,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,CAyDzF"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { handleAgent } from "../../tools/agent.js";
|
|
2
|
+
import { createLogger } from "../../logger.js";
|
|
3
|
+
const log = createLogger("repl");
|
|
4
|
+
async function executeAgent(args, deps) {
|
|
5
|
+
try {
|
|
6
|
+
const prompt = args.positional.join(" ").trim();
|
|
7
|
+
if (!prompt) {
|
|
8
|
+
return {
|
|
9
|
+
result: "",
|
|
10
|
+
sources: [],
|
|
11
|
+
pages_fetched: 0,
|
|
12
|
+
steps: [],
|
|
13
|
+
total_time_ms: 0,
|
|
14
|
+
sampling_supported: false,
|
|
15
|
+
error: "Usage: agent <prompt> [--urls=u1,u2] [--max-pages=N] [--max-time=MS]"
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
const input = { prompt };
|
|
19
|
+
if (args.flags.urls) {
|
|
20
|
+
input.urls = args.flags.urls.split(",").map((u) => u.trim());
|
|
21
|
+
}
|
|
22
|
+
if (args.flags["max-pages"]) {
|
|
23
|
+
input.max_pages = parseInt(args.flags["max-pages"], 10);
|
|
24
|
+
}
|
|
25
|
+
if (args.flags["max-time"]) {
|
|
26
|
+
input.max_time_ms = parseInt(args.flags["max-time"], 10);
|
|
27
|
+
}
|
|
28
|
+
if (args.flags["max-time-ms"]) {
|
|
29
|
+
input.max_time_ms = parseInt(args.flags["max-time-ms"], 10);
|
|
30
|
+
}
|
|
31
|
+
log.debug("executing agent command", { prompt, flags: args.flags });
|
|
32
|
+
const r = await handleAgent(input, deps.engines, deps.router, deps.backendStatus);
|
|
33
|
+
if (!r.ok) {
|
|
34
|
+
return {
|
|
35
|
+
result: "",
|
|
36
|
+
sources: [],
|
|
37
|
+
pages_fetched: 0,
|
|
38
|
+
steps: [],
|
|
39
|
+
total_time_ms: 0,
|
|
40
|
+
sampling_supported: false,
|
|
41
|
+
error: r.error_reason
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
return r.data;
|
|
45
|
+
} catch (err) {
|
|
46
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
47
|
+
log.error("agent command failed", { error: msg });
|
|
48
|
+
return {
|
|
49
|
+
result: "",
|
|
50
|
+
sources: [],
|
|
51
|
+
pages_fetched: 0,
|
|
52
|
+
steps: [],
|
|
53
|
+
total_time_ms: 0,
|
|
54
|
+
sampling_supported: false,
|
|
55
|
+
error: msg
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
export {
|
|
60
|
+
executeAgent
|
|
61
|
+
};
|
|
62
|
+
//# sourceMappingURL=agent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/repl/commands/agent.ts"],"sourcesContent":["import type { AgentInput, AgentOutput } from '../../types.js';\nimport type { ParsedArgs } from '../parser.js';\nimport type { ReplDeps } from './types.js';\nimport { handleAgent } from '../../tools/agent.js';\nimport { createLogger } from '../../logger.js';\n\nconst log = createLogger('repl');\n\nexport async function executeAgent(args: ParsedArgs, deps: ReplDeps): Promise<AgentOutput> {\n try {\n const prompt = args.positional.join(' ').trim();\n if (!prompt) {\n return {\n result: '',\n sources: [],\n pages_fetched: 0,\n steps: [],\n total_time_ms: 0,\n sampling_supported: false,\n error: 'Usage: agent <prompt> [--urls=u1,u2] [--max-pages=N] [--max-time=MS]',\n };\n }\n\n const input: AgentInput = { prompt };\n\n if (args.flags.urls) {\n input.urls = args.flags.urls.split(',').map(u => u.trim());\n }\n if (args.flags['max-pages']) {\n input.max_pages = parseInt(args.flags['max-pages'], 10);\n }\n if (args.flags['max-time']) {\n input.max_time_ms = parseInt(args.flags['max-time'], 10);\n }\n if (args.flags['max-time-ms']) {\n input.max_time_ms = parseInt(args.flags['max-time-ms'], 10);\n }\n\n log.debug('executing agent command', { prompt, flags: args.flags });\n const r = await handleAgent(input, deps.engines, deps.router, deps.backendStatus);\n if (!r.ok) {\n return {\n result: '',\n sources: [],\n pages_fetched: 0,\n steps: [],\n total_time_ms: 0,\n sampling_supported: false,\n error: r.error_reason,\n };\n }\n return r.data;\n } catch (err) {\n const msg = err instanceof Error ? err.message : String(err);\n log.error('agent command failed', { error: msg });\n return {\n result: '',\n sources: [],\n pages_fetched: 0,\n steps: [],\n total_time_ms: 0,\n sampling_supported: false,\n error: msg,\n };\n }\n}\n"],"mappings":"AAGA,SAAS,mBAAmB;AAC5B,SAAS,oBAAoB;AAE7B,MAAM,MAAM,aAAa,MAAM;AAE/B,eAAsB,aAAa,MAAkB,MAAsC;AACzF,MAAI;AACF,UAAM,SAAS,KAAK,WAAW,KAAK,GAAG,EAAE,KAAK;AAC9C,QAAI,CAAC,QAAQ;AACX,aAAO;AAAA,QACL,QAAQ;AAAA,QACR,SAAS,CAAC;AAAA,QACV,eAAe;AAAA,QACf,OAAO,CAAC;AAAA,QACR,eAAe;AAAA,QACf,oBAAoB;AAAA,QACpB,OAAO;AAAA,MACT;AAAA,IACF;AAEA,UAAM,QAAoB,EAAE,OAAO;AAEnC,QAAI,KAAK,MAAM,MAAM;AACnB,YAAM,OAAO,KAAK,MAAM,KAAK,MAAM,GAAG,EAAE,IAAI,OAAK,EAAE,KAAK,CAAC;AAAA,IAC3D;AACA,QAAI,KAAK,MAAM,WAAW,GAAG;AAC3B,YAAM,YAAY,SAAS,KAAK,MAAM,WAAW,GAAG,EAAE;AAAA,IACxD;AACA,QAAI,KAAK,MAAM,UAAU,GAAG;AAC1B,YAAM,cAAc,SAAS,KAAK,MAAM,UAAU,GAAG,EAAE;AAAA,IACzD;AACA,QAAI,KAAK,MAAM,aAAa,GAAG;AAC7B,YAAM,cAAc,SAAS,KAAK,MAAM,aAAa,GAAG,EAAE;AAAA,IAC5D;AAEA,QAAI,MAAM,2BAA2B,EAAE,QAAQ,OAAO,KAAK,MAAM,CAAC;AAClE,UAAM,IAAI,MAAM,YAAY,OAAO,KAAK,SAAS,KAAK,QAAQ,KAAK,aAAa;AAChF,QAAI,CAAC,EAAE,IAAI;AACT,aAAO;AAAA,QACL,QAAQ;AAAA,QACR,SAAS,CAAC;AAAA,QACV,eAAe;AAAA,QACf,OAAO,CAAC;AAAA,QACR,eAAe;AAAA,QACf,oBAAoB;AAAA,QACpB,OAAO,EAAE;AAAA,MACX;AAAA,IACF;AACA,WAAO,EAAE;AAAA,EACX,SAAS,KAAK;AACZ,UAAM,MAAM,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAC3D,QAAI,MAAM,wBAAwB,EAAE,OAAO,IAAI,CAAC;AAChD,WAAO;AAAA,MACL,QAAQ;AAAA,MACR,SAAS,CAAC;AAAA,MACV,eAAe;AAAA,MACf,OAAO,CAAC;AAAA,MACR,eAAe;AAAA,MACf,oBAAoB;AAAA,MACpB,OAAO;AAAA,IACT;AAAA,EACF;AACF;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../../src/repl/commands/cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAM/C,wBAAsB,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,CAsCzE"}
|