@staticn0va/wigolo 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1003) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +146 -227
  3. package/SKILL.md +382 -0
  4. package/assets/blocks/claude-code/CLAUDE.md.block +20 -0
  5. package/assets/blocks/claude-code/wigolo-command.md +40 -0
  6. package/assets/blocks/cursor/wigolo.mdc +46 -0
  7. package/assets/blocks/gemini-cli/GEMINI.md.block +18 -0
  8. package/assets/blocks/vscode/copilot-instructions.md.block +18 -0
  9. package/assets/skills/wigolo/SKILL.md +50 -0
  10. package/assets/skills/wigolo/rules/cache-first.md +30 -0
  11. package/assets/skills/wigolo/rules/synthesis.md +43 -0
  12. package/assets/skills/wigolo-agent/SKILL.md +73 -0
  13. package/assets/skills/wigolo-crawl/SKILL.md +60 -0
  14. package/assets/skills/wigolo-extract/SKILL.md +59 -0
  15. package/assets/skills/wigolo-fetch/SKILL.md +65 -0
  16. package/assets/skills/wigolo-find-similar/SKILL.md +72 -0
  17. package/assets/skills/wigolo-research/SKILL.md +77 -0
  18. package/assets/skills/wigolo-search/SKILL.md +78 -0
  19. package/dist/agent/executor.d.ts +33 -0
  20. package/dist/agent/executor.d.ts.map +1 -0
  21. package/dist/agent/executor.js +233 -0
  22. package/dist/agent/executor.js.map +1 -0
  23. package/dist/agent/pipeline.d.ts +5 -0
  24. package/dist/agent/pipeline.d.ts.map +1 -0
  25. package/dist/agent/pipeline.js +238 -0
  26. package/dist/agent/pipeline.js.map +1 -0
  27. package/dist/agent/planner.d.ts +13 -0
  28. package/dist/agent/planner.d.ts.map +1 -0
  29. package/dist/agent/planner.js +271 -0
  30. package/dist/agent/planner.js.map +1 -0
  31. package/dist/agent/relevance.d.ts +15 -0
  32. package/dist/agent/relevance.d.ts.map +1 -0
  33. package/dist/agent/relevance.js +60 -0
  34. package/dist/agent/relevance.js.map +1 -0
  35. package/dist/cache/backfill-embeddings.d.ts +23 -0
  36. package/dist/cache/backfill-embeddings.d.ts.map +1 -0
  37. package/dist/cache/backfill-embeddings.js +105 -0
  38. package/dist/cache/backfill-embeddings.js.map +1 -0
  39. package/dist/cache/change-detector.d.ts +7 -0
  40. package/dist/cache/change-detector.d.ts.map +1 -0
  41. package/dist/cache/change-detector.js +43 -0
  42. package/dist/cache/change-detector.js.map +1 -0
  43. package/dist/cache/db.d.ts +1 -0
  44. package/dist/cache/db.d.ts.map +1 -1
  45. package/dist/cache/db.js +94 -22
  46. package/dist/cache/db.js.map +1 -1
  47. package/dist/cache/diff-summary.d.ts +2 -0
  48. package/dist/cache/diff-summary.d.ts.map +1 -0
  49. package/dist/cache/diff-summary.js +82 -0
  50. package/dist/cache/diff-summary.js.map +1 -0
  51. package/dist/cache/migrations/runner.d.ts +29 -0
  52. package/dist/cache/migrations/runner.d.ts.map +1 -0
  53. package/dist/cache/migrations/runner.js +147 -0
  54. package/dist/cache/migrations/runner.js.map +1 -0
  55. package/dist/cache/sqlite-vec-store.d.ts +42 -0
  56. package/dist/cache/sqlite-vec-store.d.ts.map +1 -0
  57. package/dist/cache/sqlite-vec-store.js +176 -0
  58. package/dist/cache/sqlite-vec-store.js.map +1 -0
  59. package/dist/cache/store.d.ts +47 -1
  60. package/dist/cache/store.d.ts.map +1 -1
  61. package/dist/cache/store.js +364 -168
  62. package/dist/cache/store.js.map +1 -1
  63. package/dist/cli/agents/antigravity.d.ts +20 -0
  64. package/dist/cli/agents/antigravity.d.ts.map +1 -0
  65. package/dist/cli/agents/antigravity.js +49 -0
  66. package/dist/cli/agents/antigravity.js.map +1 -0
  67. package/dist/cli/agents/claude-code.d.ts +25 -0
  68. package/dist/cli/agents/claude-code.d.ts.map +1 -0
  69. package/dist/cli/agents/claude-code.js +111 -0
  70. package/dist/cli/agents/claude-code.js.map +1 -0
  71. package/dist/cli/agents/cursor.d.ts +21 -0
  72. package/dist/cli/agents/cursor.d.ts.map +1 -0
  73. package/dist/cli/agents/cursor.js +58 -0
  74. package/dist/cli/agents/cursor.js.map +1 -0
  75. package/dist/cli/agents/gemini-cli.d.ts +21 -0
  76. package/dist/cli/agents/gemini-cli.d.ts.map +1 -0
  77. package/dist/cli/agents/gemini-cli.js +55 -0
  78. package/dist/cli/agents/gemini-cli.js.map +1 -0
  79. package/dist/cli/agents/registry.d.ts +21 -0
  80. package/dist/cli/agents/registry.d.ts.map +1 -0
  81. package/dist/cli/agents/registry.js +27 -0
  82. package/dist/cli/agents/registry.js.map +1 -0
  83. package/dist/cli/agents/utils.d.ts +26 -0
  84. package/dist/cli/agents/utils.d.ts.map +1 -0
  85. package/dist/cli/agents/utils.js +136 -0
  86. package/dist/cli/agents/utils.js.map +1 -0
  87. package/dist/cli/agents/vscode.d.ts +21 -0
  88. package/dist/cli/agents/vscode.d.ts.map +1 -0
  89. package/dist/cli/agents/vscode.js +62 -0
  90. package/dist/cli/agents/vscode.js.map +1 -0
  91. package/dist/cli/auth.d.ts +2 -0
  92. package/dist/cli/auth.d.ts.map +1 -0
  93. package/dist/cli/auth.js +94 -0
  94. package/dist/cli/auth.js.map +1 -0
  95. package/dist/cli/backfill.d.ts +2 -0
  96. package/dist/cli/backfill.d.ts.map +1 -0
  97. package/dist/cli/backfill.js +58 -0
  98. package/dist/cli/backfill.js.map +1 -0
  99. package/dist/cli/daemon.d.ts +6 -1
  100. package/dist/cli/daemon.d.ts.map +1 -1
  101. package/dist/cli/daemon.js +61 -3
  102. package/dist/cli/daemon.js.map +1 -1
  103. package/dist/cli/doctor.d.ts +8 -0
  104. package/dist/cli/doctor.d.ts.map +1 -0
  105. package/dist/cli/doctor.js +344 -0
  106. package/dist/cli/doctor.js.map +1 -0
  107. package/dist/cli/health.d.ts +1 -1
  108. package/dist/cli/health.d.ts.map +1 -1
  109. package/dist/cli/health.js +42 -3
  110. package/dist/cli/health.js.map +1 -1
  111. package/dist/cli/help.d.ts +6 -0
  112. package/dist/cli/help.d.ts.map +1 -0
  113. package/dist/cli/help.js +63 -0
  114. package/dist/cli/help.js.map +1 -0
  115. package/dist/cli/index.d.ts +1 -1
  116. package/dist/cli/index.d.ts.map +1 -1
  117. package/dist/cli/index.js +35 -7
  118. package/dist/cli/index.js.map +1 -1
  119. package/dist/cli/init.d.ts +2 -0
  120. package/dist/cli/init.d.ts.map +1 -0
  121. package/dist/cli/init.js +201 -0
  122. package/dist/cli/init.js.map +1 -0
  123. package/dist/cli/plugin.d.ts +5 -0
  124. package/dist/cli/plugin.d.ts.map +1 -0
  125. package/dist/cli/plugin.js +185 -0
  126. package/dist/cli/plugin.js.map +1 -0
  127. package/dist/cli/setup-mcp.d.ts +2 -0
  128. package/dist/cli/setup-mcp.d.ts.map +1 -0
  129. package/dist/cli/setup-mcp.js +114 -0
  130. package/dist/cli/setup-mcp.js.map +1 -0
  131. package/dist/cli/shell.d.ts +2 -0
  132. package/dist/cli/shell.d.ts.map +1 -0
  133. package/dist/cli/shell.js +86 -0
  134. package/dist/cli/shell.js.map +1 -0
  135. package/dist/cli/shutdown.d.ts +2 -0
  136. package/dist/cli/shutdown.d.ts.map +1 -0
  137. package/dist/cli/shutdown.js +26 -0
  138. package/dist/cli/shutdown.js.map +1 -0
  139. package/dist/cli/status.d.ts +2 -0
  140. package/dist/cli/status.d.ts.map +1 -0
  141. package/dist/cli/status.js +31 -0
  142. package/dist/cli/status.js.map +1 -0
  143. package/dist/cli/telemetry.d.ts +10 -0
  144. package/dist/cli/telemetry.d.ts.map +1 -0
  145. package/dist/cli/telemetry.js +56 -0
  146. package/dist/cli/telemetry.js.map +1 -0
  147. package/dist/cli/tui/agents-types.d.ts +28 -0
  148. package/dist/cli/tui/agents-types.d.ts.map +1 -0
  149. package/dist/cli/tui/agents-types.js +1 -0
  150. package/dist/cli/tui/agents-types.js.map +1 -0
  151. package/dist/cli/tui/agents.d.ts +11 -0
  152. package/dist/cli/tui/agents.d.ts.map +1 -0
  153. package/dist/cli/tui/agents.js +93 -0
  154. package/dist/cli/tui/agents.js.map +1 -0
  155. package/dist/cli/tui/banner.d.ts +3 -0
  156. package/dist/cli/tui/banner.d.ts.map +1 -0
  157. package/dist/cli/tui/banner.js +30 -0
  158. package/dist/cli/tui/banner.js.map +1 -0
  159. package/dist/cli/tui/components/AgentSelect.d.ts +13 -0
  160. package/dist/cli/tui/components/AgentSelect.d.ts.map +1 -0
  161. package/dist/cli/tui/components/AgentSelect.js +116 -0
  162. package/dist/cli/tui/components/AgentSelect.js.map +1 -0
  163. package/dist/cli/tui/components/Banner.d.ts +6 -0
  164. package/dist/cli/tui/components/Banner.d.ts.map +1 -0
  165. package/dist/cli/tui/components/Banner.js +25 -0
  166. package/dist/cli/tui/components/Banner.js.map +1 -0
  167. package/dist/cli/tui/components/BrowserSelect.d.ts +7 -0
  168. package/dist/cli/tui/components/BrowserSelect.d.ts.map +1 -0
  169. package/dist/cli/tui/components/BrowserSelect.js +19 -0
  170. package/dist/cli/tui/components/BrowserSelect.js.map +1 -0
  171. package/dist/cli/tui/components/InstallProgress.d.ts +9 -0
  172. package/dist/cli/tui/components/InstallProgress.d.ts.map +1 -0
  173. package/dist/cli/tui/components/InstallProgress.js +67 -0
  174. package/dist/cli/tui/components/InstallProgress.js.map +1 -0
  175. package/dist/cli/tui/components/SkillInstall.d.ts +14 -0
  176. package/dist/cli/tui/components/SkillInstall.d.ts.map +1 -0
  177. package/dist/cli/tui/components/SkillInstall.js +94 -0
  178. package/dist/cli/tui/components/SkillInstall.js.map +1 -0
  179. package/dist/cli/tui/components/Summary.d.ts +22 -0
  180. package/dist/cli/tui/components/Summary.d.ts.map +1 -0
  181. package/dist/cli/tui/components/Summary.js +135 -0
  182. package/dist/cli/tui/components/Summary.js.map +1 -0
  183. package/dist/cli/tui/components/SystemCheck.d.ts +8 -0
  184. package/dist/cli/tui/components/SystemCheck.d.ts.map +1 -0
  185. package/dist/cli/tui/components/SystemCheck.js +71 -0
  186. package/dist/cli/tui/components/SystemCheck.js.map +1 -0
  187. package/dist/cli/tui/components/Verification.d.ts +8 -0
  188. package/dist/cli/tui/components/Verification.d.ts.map +1 -0
  189. package/dist/cli/tui/components/Verification.js +63 -0
  190. package/dist/cli/tui/components/Verification.js.map +1 -0
  191. package/dist/cli/tui/config-writer-cli.d.ts +12 -0
  192. package/dist/cli/tui/config-writer-cli.d.ts.map +1 -0
  193. package/dist/cli/tui/config-writer-cli.js +39 -0
  194. package/dist/cli/tui/config-writer-cli.js.map +1 -0
  195. package/dist/cli/tui/config-writer-json.d.ts +16 -0
  196. package/dist/cli/tui/config-writer-json.d.ts.map +1 -0
  197. package/dist/cli/tui/config-writer-json.js +86 -0
  198. package/dist/cli/tui/config-writer-json.js.map +1 -0
  199. package/dist/cli/tui/config-writer-toml.d.ts +16 -0
  200. package/dist/cli/tui/config-writer-toml.d.ts.map +1 -0
  201. package/dist/cli/tui/config-writer-toml.js +83 -0
  202. package/dist/cli/tui/config-writer-toml.js.map +1 -0
  203. package/dist/cli/tui/config-writer.d.ts +25 -0
  204. package/dist/cli/tui/config-writer.d.ts.map +1 -0
  205. package/dist/cli/tui/config-writer.js +101 -0
  206. package/dist/cli/tui/config-writer.js.map +1 -0
  207. package/dist/cli/tui/detect-helpers.d.ts +6 -0
  208. package/dist/cli/tui/detect-helpers.d.ts.map +1 -0
  209. package/dist/cli/tui/detect-helpers.js +45 -0
  210. package/dist/cli/tui/detect-helpers.js.map +1 -0
  211. package/dist/cli/tui/extras-prompt.d.ts +7 -0
  212. package/dist/cli/tui/extras-prompt.d.ts.map +1 -0
  213. package/dist/cli/tui/extras-prompt.js +42 -0
  214. package/dist/cli/tui/extras-prompt.js.map +1 -0
  215. package/dist/cli/tui/flags-types.d.ts +19 -0
  216. package/dist/cli/tui/flags-types.d.ts.map +1 -0
  217. package/dist/cli/tui/flags-types.js +23 -0
  218. package/dist/cli/tui/flags-types.js.map +1 -0
  219. package/dist/cli/tui/flags.d.ts +5 -0
  220. package/dist/cli/tui/flags.d.ts.map +1 -0
  221. package/dist/cli/tui/flags.js +132 -0
  222. package/dist/cli/tui/flags.js.map +1 -0
  223. package/dist/cli/tui/format.d.ts +14 -0
  224. package/dist/cli/tui/format.d.ts.map +1 -0
  225. package/dist/cli/tui/format.js +37 -0
  226. package/dist/cli/tui/format.js.map +1 -0
  227. package/dist/cli/tui/hooks/useAgentDetect.d.ts +6 -0
  228. package/dist/cli/tui/hooks/useAgentDetect.d.ts.map +1 -0
  229. package/dist/cli/tui/hooks/useAgentDetect.js +19 -0
  230. package/dist/cli/tui/hooks/useAgentDetect.js.map +1 -0
  231. package/dist/cli/tui/hooks/useInstall.d.ts +14 -0
  232. package/dist/cli/tui/hooks/useInstall.d.ts.map +1 -0
  233. package/dist/cli/tui/hooks/useInstall.js +90 -0
  234. package/dist/cli/tui/hooks/useInstall.js.map +1 -0
  235. package/dist/cli/tui/hooks/useSystemCheck.d.ts +13 -0
  236. package/dist/cli/tui/hooks/useSystemCheck.d.ts.map +1 -0
  237. package/dist/cli/tui/hooks/useSystemCheck.js +95 -0
  238. package/dist/cli/tui/hooks/useSystemCheck.js.map +1 -0
  239. package/dist/cli/tui/hooks/useVerify.d.ts +14 -0
  240. package/dist/cli/tui/hooks/useVerify.d.ts.map +1 -0
  241. package/dist/cli/tui/hooks/useVerify.js +71 -0
  242. package/dist/cli/tui/hooks/useVerify.js.map +1 -0
  243. package/dist/cli/tui/ink-init.d.ts +2 -0
  244. package/dist/cli/tui/ink-init.d.ts.map +1 -0
  245. package/dist/cli/tui/ink-init.js +198 -0
  246. package/dist/cli/tui/ink-init.js.map +1 -0
  247. package/dist/cli/tui/reporter-auto.d.ts +7 -0
  248. package/dist/cli/tui/reporter-auto.d.ts.map +1 -0
  249. package/dist/cli/tui/reporter-auto.js +15 -0
  250. package/dist/cli/tui/reporter-auto.js.map +1 -0
  251. package/dist/cli/tui/reporter.d.ts +26 -0
  252. package/dist/cli/tui/reporter.d.ts.map +1 -0
  253. package/dist/cli/tui/reporter.js +32 -0
  254. package/dist/cli/tui/reporter.js.map +1 -0
  255. package/dist/cli/tui/run-command.d.ts +14 -0
  256. package/dist/cli/tui/run-command.d.ts.map +1 -0
  257. package/dist/cli/tui/run-command.js +72 -0
  258. package/dist/cli/tui/run-command.js.map +1 -0
  259. package/dist/cli/tui/select-agents.d.ts +6 -0
  260. package/dist/cli/tui/select-agents.d.ts.map +1 -0
  261. package/dist/cli/tui/select-agents.js +32 -0
  262. package/dist/cli/tui/select-agents.js.map +1 -0
  263. package/dist/cli/tui/status-agents.d.ts +11 -0
  264. package/dist/cli/tui/status-agents.d.ts.map +1 -0
  265. package/dist/cli/tui/status-agents.js +53 -0
  266. package/dist/cli/tui/status-agents.js.map +1 -0
  267. package/dist/cli/tui/status-cache.d.ts +6 -0
  268. package/dist/cli/tui/status-cache.d.ts.map +1 -0
  269. package/dist/cli/tui/status-cache.js +39 -0
  270. package/dist/cli/tui/status-cache.js.map +1 -0
  271. package/dist/cli/tui/status-format.d.ts +14 -0
  272. package/dist/cli/tui/status-format.d.ts.map +1 -0
  273. package/dist/cli/tui/status-format.js +41 -0
  274. package/dist/cli/tui/status-format.js.map +1 -0
  275. package/dist/cli/tui/status-python.d.ts +6 -0
  276. package/dist/cli/tui/status-python.d.ts.map +1 -0
  277. package/dist/cli/tui/status-python.js +30 -0
  278. package/dist/cli/tui/status-python.js.map +1 -0
  279. package/dist/cli/tui/system-check.d.ts +24 -0
  280. package/dist/cli/tui/system-check.d.ts.map +1 -0
  281. package/dist/cli/tui/system-check.js +103 -0
  282. package/dist/cli/tui/system-check.js.map +1 -0
  283. package/dist/cli/tui/tui-reporter.d.ts +19 -0
  284. package/dist/cli/tui/tui-reporter.d.ts.map +1 -0
  285. package/dist/cli/tui/tui-reporter.js +95 -0
  286. package/dist/cli/tui/tui-reporter.js.map +1 -0
  287. package/dist/cli/tui/utils/config-writer.d.ts +3 -0
  288. package/dist/cli/tui/utils/config-writer.d.ts.map +1 -0
  289. package/dist/cli/tui/utils/config-writer.js +22 -0
  290. package/dist/cli/tui/utils/config-writer.js.map +1 -0
  291. package/dist/cli/tui/utils/suppress-logs.d.ts +3 -0
  292. package/dist/cli/tui/utils/suppress-logs.d.ts.map +1 -0
  293. package/dist/cli/tui/utils/suppress-logs.js +11 -0
  294. package/dist/cli/tui/utils/suppress-logs.js.map +1 -0
  295. package/dist/cli/tui/verify-suggestions.d.ts +5 -0
  296. package/dist/cli/tui/verify-suggestions.d.ts.map +1 -0
  297. package/dist/cli/tui/verify-suggestions.js +20 -0
  298. package/dist/cli/tui/verify-suggestions.js.map +1 -0
  299. package/dist/cli/tui/verify.d.ts +14 -0
  300. package/dist/cli/tui/verify.d.ts.map +1 -0
  301. package/dist/cli/tui/verify.js +101 -0
  302. package/dist/cli/tui/verify.js.map +1 -0
  303. package/dist/cli/tui/version.d.ts +2 -0
  304. package/dist/cli/tui/version.d.ts.map +1 -0
  305. package/dist/cli/tui/version.js +14 -0
  306. package/dist/cli/tui/version.js.map +1 -0
  307. package/dist/cli/uninstall.d.ts +2 -0
  308. package/dist/cli/uninstall.d.ts.map +1 -0
  309. package/dist/cli/uninstall.js +57 -0
  310. package/dist/cli/uninstall.js.map +1 -0
  311. package/dist/cli/warmup.d.ts +10 -2
  312. package/dist/cli/warmup.d.ts.map +1 -1
  313. package/dist/cli/warmup.js +226 -93
  314. package/dist/cli/warmup.js.map +1 -1
  315. package/dist/config.d.ts +28 -2
  316. package/dist/config.d.ts.map +1 -1
  317. package/dist/config.js +106 -56
  318. package/dist/config.js.map +1 -1
  319. package/dist/crawl/crawler.d.ts +6 -0
  320. package/dist/crawl/crawler.d.ts.map +1 -1
  321. package/dist/crawl/crawler.js +210 -209
  322. package/dist/crawl/crawler.js.map +1 -1
  323. package/dist/crawl/dedup.d.ts +1 -0
  324. package/dist/crawl/dedup.d.ts.map +1 -1
  325. package/dist/crawl/dedup.js +124 -81
  326. package/dist/crawl/dedup.js.map +1 -1
  327. package/dist/crawl/etag-incremental.d.ts +43 -0
  328. package/dist/crawl/etag-incremental.d.ts.map +1 -0
  329. package/dist/crawl/etag-incremental.js +94 -0
  330. package/dist/crawl/etag-incremental.js.map +1 -0
  331. package/dist/crawl/index-to-vec.d.ts +10 -0
  332. package/dist/crawl/index-to-vec.d.ts.map +1 -0
  333. package/dist/crawl/index-to-vec.js +44 -0
  334. package/dist/crawl/index-to-vec.js.map +1 -0
  335. package/dist/crawl/mapper.js +136 -164
  336. package/dist/crawl/mapper.js.map +1 -1
  337. package/dist/crawl/rate-limiter.js +63 -66
  338. package/dist/crawl/rate-limiter.js.map +1 -1
  339. package/dist/crawl/robots.js +58 -57
  340. package/dist/crawl/robots.js.map +1 -1
  341. package/dist/crawl/sitemap-first.d.ts +12 -0
  342. package/dist/crawl/sitemap-first.d.ts.map +1 -0
  343. package/dist/crawl/sitemap-first.js +47 -0
  344. package/dist/crawl/sitemap-first.js.map +1 -0
  345. package/dist/crawl/sitemap.js +33 -32
  346. package/dist/crawl/sitemap.js.map +1 -1
  347. package/dist/crawl/url-utils.d.ts +1 -0
  348. package/dist/crawl/url-utils.d.ts.map +1 -1
  349. package/dist/crawl/url-utils.js +49 -37
  350. package/dist/crawl/url-utils.js.map +1 -1
  351. package/dist/daemon/health-check.d.ts +16 -0
  352. package/dist/daemon/health-check.d.ts.map +1 -0
  353. package/dist/daemon/health-check.js +33 -0
  354. package/dist/daemon/health-check.js.map +1 -0
  355. package/dist/daemon/http-server.d.ts +26 -0
  356. package/dist/daemon/http-server.d.ts.map +1 -0
  357. package/dist/daemon/http-server.js +275 -0
  358. package/dist/daemon/http-server.js.map +1 -0
  359. package/dist/daemon/proxy.d.ts +10 -0
  360. package/dist/daemon/proxy.d.ts.map +1 -0
  361. package/dist/daemon/proxy.js +93 -0
  362. package/dist/daemon/proxy.js.map +1 -0
  363. package/dist/embedding/embed.d.ts +59 -0
  364. package/dist/embedding/embed.d.ts.map +1 -0
  365. package/dist/embedding/embed.js +233 -0
  366. package/dist/embedding/embed.js.map +1 -0
  367. package/dist/embedding/fastembed-provider.d.ts +19 -0
  368. package/dist/embedding/fastembed-provider.d.ts.map +1 -0
  369. package/dist/embedding/fastembed-provider.js +51 -0
  370. package/dist/embedding/fastembed-provider.js.map +1 -0
  371. package/dist/embedding/key-terms.d.ts +12 -0
  372. package/dist/embedding/key-terms.d.ts.map +1 -0
  373. package/dist/embedding/key-terms.js +234 -0
  374. package/dist/embedding/key-terms.js.map +1 -0
  375. package/dist/extraction/boilerplate.d.ts +15 -0
  376. package/dist/extraction/boilerplate.d.ts.map +1 -0
  377. package/dist/extraction/boilerplate.js +52 -0
  378. package/dist/extraction/boilerplate.js.map +1 -0
  379. package/dist/extraction/defuddle.d.ts.map +1 -1
  380. package/dist/extraction/defuddle.js +27 -23
  381. package/dist/extraction/defuddle.js.map +1 -1
  382. package/dist/extraction/extract.d.ts.map +1 -1
  383. package/dist/extraction/extract.js +76 -76
  384. package/dist/extraction/extract.js.map +1 -1
  385. package/dist/extraction/jsonld.js +50 -54
  386. package/dist/extraction/jsonld.js.map +1 -1
  387. package/dist/extraction/lang-hints.d.ts +2 -0
  388. package/dist/extraction/lang-hints.d.ts.map +1 -0
  389. package/dist/extraction/lang-hints.js +30 -0
  390. package/dist/extraction/lang-hints.js.map +1 -0
  391. package/dist/extraction/llm-fallback.d.ts +17 -0
  392. package/dist/extraction/llm-fallback.d.ts.map +1 -0
  393. package/dist/extraction/llm-fallback.js +130 -0
  394. package/dist/extraction/llm-fallback.js.map +1 -0
  395. package/dist/extraction/markdown-sanitize.d.ts +2 -0
  396. package/dist/extraction/markdown-sanitize.d.ts.map +1 -0
  397. package/dist/extraction/markdown-sanitize.js +151 -0
  398. package/dist/extraction/markdown-sanitize.js.map +1 -0
  399. package/dist/extraction/markdown.d.ts +11 -0
  400. package/dist/extraction/markdown.d.ts.map +1 -1
  401. package/dist/extraction/markdown.js +195 -91
  402. package/dist/extraction/markdown.js.map +1 -1
  403. package/dist/extraction/pipeline.d.ts +8 -0
  404. package/dist/extraction/pipeline.d.ts.map +1 -1
  405. package/dist/extraction/pipeline.js +57 -91
  406. package/dist/extraction/pipeline.js.map +1 -1
  407. package/dist/extraction/readability.d.ts +1 -1
  408. package/dist/extraction/readability.d.ts.map +1 -1
  409. package/dist/extraction/readability.js +28 -29
  410. package/dist/extraction/readability.js.map +1 -1
  411. package/dist/extraction/schema.d.ts +12 -0
  412. package/dist/extraction/schema.d.ts.map +1 -1
  413. package/dist/extraction/schema.js +135 -72
  414. package/dist/extraction/schema.js.map +1 -1
  415. package/dist/extraction/site-extractors/docs-generic.d.ts.map +1 -1
  416. package/dist/extraction/site-extractors/docs-generic.js +81 -91
  417. package/dist/extraction/site-extractors/docs-generic.js.map +1 -1
  418. package/dist/extraction/site-extractors/github.d.ts.map +1 -1
  419. package/dist/extraction/site-extractors/github.js +87 -95
  420. package/dist/extraction/site-extractors/github.js.map +1 -1
  421. package/dist/extraction/site-extractors/mdn.d.ts.map +1 -1
  422. package/dist/extraction/site-extractors/mdn.js +46 -54
  423. package/dist/extraction/site-extractors/mdn.js.map +1 -1
  424. package/dist/extraction/site-extractors/stackoverflow.d.ts.map +1 -1
  425. package/dist/extraction/site-extractors/stackoverflow.js +71 -80
  426. package/dist/extraction/site-extractors/stackoverflow.js.map +1 -1
  427. package/dist/extraction/structured-data.d.ts +4 -0
  428. package/dist/extraction/structured-data.d.ts.map +1 -0
  429. package/dist/extraction/structured-data.js +173 -0
  430. package/dist/extraction/structured-data.js.map +1 -0
  431. package/dist/extraction/structured.d.ts +4 -0
  432. package/dist/extraction/structured.d.ts.map +1 -0
  433. package/dist/extraction/structured.js +163 -0
  434. package/dist/extraction/structured.js.map +1 -0
  435. package/dist/extraction/v1/classifier.d.ts +3 -0
  436. package/dist/extraction/v1/classifier.d.ts.map +1 -0
  437. package/dist/extraction/v1/classifier.js +110 -0
  438. package/dist/extraction/v1/classifier.js.map +1 -0
  439. package/dist/extraction/v1/extract-provider.d.ts +16 -0
  440. package/dist/extraction/v1/extract-provider.d.ts.map +1 -0
  441. package/dist/extraction/v1/extract-provider.js +43 -0
  442. package/dist/extraction/v1/extract-provider.js.map +1 -0
  443. package/dist/extraction/v1/local-llm.d.ts +8 -0
  444. package/dist/extraction/v1/local-llm.d.ts.map +1 -0
  445. package/dist/extraction/v1/local-llm.js +34 -0
  446. package/dist/extraction/v1/local-llm.js.map +1 -0
  447. package/dist/extraction/v1/news.d.ts +3 -0
  448. package/dist/extraction/v1/news.d.ts.map +1 -0
  449. package/dist/extraction/v1/news.js +61 -0
  450. package/dist/extraction/v1/news.js.map +1 -0
  451. package/dist/extraction/v1/product.d.ts +3 -0
  452. package/dist/extraction/v1/product.d.ts.map +1 -0
  453. package/dist/extraction/v1/product.js +166 -0
  454. package/dist/extraction/v1/product.js.map +1 -0
  455. package/dist/extraction/v1/recipe.d.ts +3 -0
  456. package/dist/extraction/v1/recipe.d.ts.map +1 -0
  457. package/dist/extraction/v1/recipe.js +136 -0
  458. package/dist/extraction/v1/recipe.js.map +1 -0
  459. package/dist/extraction/v1/routed.d.ts +17 -0
  460. package/dist/extraction/v1/routed.d.ts.map +1 -0
  461. package/dist/extraction/v1/routed.js +68 -0
  462. package/dist/extraction/v1/routed.js.map +1 -0
  463. package/dist/extraction/v1/schemas/Article.d.ts +11 -0
  464. package/dist/extraction/v1/schemas/Article.d.ts.map +1 -0
  465. package/dist/extraction/v1/schemas/Article.js +23 -0
  466. package/dist/extraction/v1/schemas/Article.js.map +1 -0
  467. package/dist/extraction/v1/schemas/CodeSnippet.d.ts +9 -0
  468. package/dist/extraction/v1/schemas/CodeSnippet.d.ts.map +1 -0
  469. package/dist/extraction/v1/schemas/CodeSnippet.js +90 -0
  470. package/dist/extraction/v1/schemas/CodeSnippet.js.map +1 -0
  471. package/dist/extraction/v1/schemas/EventListing.d.ts +10 -0
  472. package/dist/extraction/v1/schemas/EventListing.d.ts.map +1 -0
  473. package/dist/extraction/v1/schemas/EventListing.js +122 -0
  474. package/dist/extraction/v1/schemas/EventListing.js.map +1 -0
  475. package/dist/extraction/v1/schemas/Paper.d.ts +10 -0
  476. package/dist/extraction/v1/schemas/Paper.d.ts.map +1 -0
  477. package/dist/extraction/v1/schemas/Paper.js +156 -0
  478. package/dist/extraction/v1/schemas/Paper.js.map +1 -0
  479. package/dist/extraction/v1/schemas/Product.d.ts +17 -0
  480. package/dist/extraction/v1/schemas/Product.d.ts.map +1 -0
  481. package/dist/extraction/v1/schemas/Product.js +149 -0
  482. package/dist/extraction/v1/schemas/Product.js.map +1 -0
  483. package/dist/extraction/v1/schemas/Recipe.d.ts +14 -0
  484. package/dist/extraction/v1/schemas/Recipe.d.ts.map +1 -0
  485. package/dist/extraction/v1/schemas/Recipe.js +160 -0
  486. package/dist/extraction/v1/schemas/Recipe.js.map +1 -0
  487. package/dist/extraction/v1/schemas/index.d.ts +13 -0
  488. package/dist/extraction/v1/schemas/index.d.ts.map +1 -0
  489. package/dist/extraction/v1/schemas/index.js +44 -0
  490. package/dist/extraction/v1/schemas/index.js.map +1 -0
  491. package/dist/extraction/v1/site-extractors.d.ts +5 -0
  492. package/dist/extraction/v1/site-extractors.d.ts.map +1 -0
  493. package/dist/extraction/v1/site-extractors.js +31 -0
  494. package/dist/extraction/v1/site-extractors.js.map +1 -0
  495. package/dist/fetch/action-executor.d.ts +28 -0
  496. package/dist/fetch/action-executor.d.ts.map +1 -0
  497. package/dist/fetch/action-executor.js +88 -0
  498. package/dist/fetch/action-executor.js.map +1 -0
  499. package/dist/fetch/auth.d.ts +2 -1
  500. package/dist/fetch/auth.d.ts.map +1 -1
  501. package/dist/fetch/auth.js +56 -26
  502. package/dist/fetch/auth.js.map +1 -1
  503. package/dist/fetch/browser-pool.d.ts +30 -11
  504. package/dist/fetch/browser-pool.d.ts.map +1 -1
  505. package/dist/fetch/browser-pool.js +303 -127
  506. package/dist/fetch/browser-pool.js.map +1 -1
  507. package/dist/fetch/browser-selector.d.ts +17 -0
  508. package/dist/fetch/browser-selector.d.ts.map +1 -0
  509. package/dist/fetch/browser-selector.js +72 -0
  510. package/dist/fetch/browser-selector.js.map +1 -0
  511. package/dist/fetch/browser-types.d.ts +3 -0
  512. package/dist/fetch/browser-types.d.ts.map +1 -0
  513. package/dist/fetch/browser-types.js +45 -0
  514. package/dist/fetch/browser-types.js.map +1 -0
  515. package/dist/fetch/cdp-client.d.ts +9 -0
  516. package/dist/fetch/cdp-client.d.ts.map +1 -0
  517. package/dist/fetch/cdp-client.js +89 -0
  518. package/dist/fetch/cdp-client.js.map +1 -0
  519. package/dist/fetch/content-check.js +39 -46
  520. package/dist/fetch/content-check.js.map +1 -1
  521. package/dist/fetch/error-describe.d.ts +7 -0
  522. package/dist/fetch/error-describe.d.ts.map +1 -0
  523. package/dist/fetch/error-describe.js +37 -0
  524. package/dist/fetch/error-describe.js.map +1 -0
  525. package/dist/fetch/http-client.d.ts +4 -0
  526. package/dist/fetch/http-client.d.ts.map +1 -1
  527. package/dist/fetch/http-client.js +147 -128
  528. package/dist/fetch/http-client.js.map +1 -1
  529. package/dist/fetch/lightpanda.d.ts +28 -0
  530. package/dist/fetch/lightpanda.d.ts.map +1 -0
  531. package/dist/fetch/lightpanda.js +174 -0
  532. package/dist/fetch/lightpanda.js.map +1 -0
  533. package/dist/fetch/playwright-tier.d.ts +19 -0
  534. package/dist/fetch/playwright-tier.d.ts.map +1 -0
  535. package/dist/fetch/playwright-tier.js +76 -0
  536. package/dist/fetch/playwright-tier.js.map +1 -0
  537. package/dist/fetch/router.d.ts +49 -3
  538. package/dist/fetch/router.d.ts.map +1 -1
  539. package/dist/fetch/router.js +187 -81
  540. package/dist/fetch/router.js.map +1 -1
  541. package/dist/index.js +102 -17
  542. package/dist/index.js.map +1 -1
  543. package/dist/instructions.d.ts +31 -0
  544. package/dist/instructions.d.ts.map +1 -0
  545. package/dist/instructions.js +245 -0
  546. package/dist/instructions.js.map +1 -0
  547. package/dist/integrations/cloud/llm/anthropic.d.ts +3 -0
  548. package/dist/integrations/cloud/llm/anthropic.d.ts.map +1 -0
  549. package/dist/integrations/cloud/llm/anthropic.js +41 -0
  550. package/dist/integrations/cloud/llm/anthropic.js.map +1 -0
  551. package/dist/integrations/cloud/llm/cache.d.ts +5 -0
  552. package/dist/integrations/cloud/llm/cache.d.ts.map +1 -0
  553. package/dist/integrations/cloud/llm/cache.js +49 -0
  554. package/dist/integrations/cloud/llm/cache.js.map +1 -0
  555. package/dist/integrations/cloud/llm/gemini.d.ts +3 -0
  556. package/dist/integrations/cloud/llm/gemini.d.ts.map +1 -0
  557. package/dist/integrations/cloud/llm/gemini.js +37 -0
  558. package/dist/integrations/cloud/llm/gemini.js.map +1 -0
  559. package/dist/integrations/cloud/llm/groq.d.ts +3 -0
  560. package/dist/integrations/cloud/llm/groq.d.ts.map +1 -0
  561. package/dist/integrations/cloud/llm/groq.js +74 -0
  562. package/dist/integrations/cloud/llm/groq.js.map +1 -0
  563. package/dist/integrations/cloud/llm/hash.d.ts +3 -0
  564. package/dist/integrations/cloud/llm/hash.d.ts.map +1 -0
  565. package/dist/integrations/cloud/llm/hash.js +26 -0
  566. package/dist/integrations/cloud/llm/hash.js.map +1 -0
  567. package/dist/integrations/cloud/llm/model-select.d.ts +5 -0
  568. package/dist/integrations/cloud/llm/model-select.d.ts.map +1 -0
  569. package/dist/integrations/cloud/llm/model-select.js +32 -0
  570. package/dist/integrations/cloud/llm/model-select.js.map +1 -0
  571. package/dist/integrations/cloud/llm/openai.d.ts +3 -0
  572. package/dist/integrations/cloud/llm/openai.d.ts.map +1 -0
  573. package/dist/integrations/cloud/llm/openai.js +43 -0
  574. package/dist/integrations/cloud/llm/openai.js.map +1 -0
  575. package/dist/integrations/cloud/llm/run.d.ts +27 -0
  576. package/dist/integrations/cloud/llm/run.d.ts.map +1 -0
  577. package/dist/integrations/cloud/llm/run.js +99 -0
  578. package/dist/integrations/cloud/llm/run.js.map +1 -0
  579. package/dist/integrations/cloud/llm/select.d.ts +5 -0
  580. package/dist/integrations/cloud/llm/select.d.ts.map +1 -0
  581. package/dist/integrations/cloud/llm/select.js +30 -0
  582. package/dist/integrations/cloud/llm/select.js.map +1 -0
  583. package/dist/integrations/cloud/llm/text-adapters.d.ts +19 -0
  584. package/dist/integrations/cloud/llm/text-adapters.d.ts.map +1 -0
  585. package/dist/integrations/cloud/llm/text-adapters.js +103 -0
  586. package/dist/integrations/cloud/llm/text-adapters.js.map +1 -0
  587. package/dist/integrations/cloud/llm/types.d.ts +24 -0
  588. package/dist/integrations/cloud/llm/types.d.ts.map +1 -0
  589. package/dist/integrations/cloud/llm/types.js +1 -0
  590. package/dist/integrations/cloud/llm/types.js.map +1 -0
  591. package/dist/integrations/cloud/llm/validate.d.ts +6 -0
  592. package/dist/integrations/cloud/llm/validate.d.ts.map +1 -0
  593. package/dist/integrations/cloud/llm/validate.js +63 -0
  594. package/dist/integrations/cloud/llm/validate.js.map +1 -0
  595. package/dist/logger.d.ts +4 -1
  596. package/dist/logger.d.ts.map +1 -1
  597. package/dist/logger.js +71 -30
  598. package/dist/logger.js.map +1 -1
  599. package/dist/pdf-parse.d.js +1 -0
  600. package/dist/pdf-parse.d.js.map +1 -0
  601. package/dist/plugins/loader.d.ts +20 -0
  602. package/dist/plugins/loader.d.ts.map +1 -0
  603. package/dist/plugins/loader.js +157 -0
  604. package/dist/plugins/loader.js.map +1 -0
  605. package/dist/plugins/registry.d.ts +26 -0
  606. package/dist/plugins/registry.d.ts.map +1 -0
  607. package/dist/plugins/registry.js +71 -0
  608. package/dist/plugins/registry.js.map +1 -0
  609. package/dist/plugins/validate.d.ts +9 -0
  610. package/dist/plugins/validate.d.ts.map +1 -0
  611. package/dist/plugins/validate.js +79 -0
  612. package/dist/plugins/validate.js.map +1 -0
  613. package/dist/providers/embed-provider.d.ts +11 -0
  614. package/dist/providers/embed-provider.d.ts.map +1 -0
  615. package/dist/providers/embed-provider.js +24 -0
  616. package/dist/providers/embed-provider.js.map +1 -0
  617. package/dist/providers/extract-provider.d.ts +23 -0
  618. package/dist/providers/extract-provider.d.ts.map +1 -0
  619. package/dist/providers/extract-provider.js +25 -0
  620. package/dist/providers/extract-provider.js.map +1 -0
  621. package/dist/providers/rerank-provider.d.ts +17 -0
  622. package/dist/providers/rerank-provider.d.ts.map +1 -0
  623. package/dist/providers/rerank-provider.js +41 -0
  624. package/dist/providers/rerank-provider.js.map +1 -0
  625. package/dist/providers/search-provider.d.ts +25 -0
  626. package/dist/providers/search-provider.d.ts.map +1 -0
  627. package/dist/providers/search-provider.js +44 -0
  628. package/dist/providers/search-provider.js.map +1 -0
  629. package/dist/providers/vector-store.d.ts +27 -0
  630. package/dist/providers/vector-store.d.ts.map +1 -0
  631. package/dist/providers/vector-store.js +27 -0
  632. package/dist/providers/vector-store.js.map +1 -0
  633. package/dist/python-env.d.ts +9 -0
  634. package/dist/python-env.d.ts.map +1 -0
  635. package/dist/python-env.js +13 -0
  636. package/dist/python-env.js.map +1 -0
  637. package/dist/repl/commands/agent.d.ts +5 -0
  638. package/dist/repl/commands/agent.d.ts.map +1 -0
  639. package/dist/repl/commands/agent.js +62 -0
  640. package/dist/repl/commands/agent.js.map +1 -0
  641. package/dist/repl/commands/cache.d.ts +4 -0
  642. package/dist/repl/commands/cache.d.ts.map +1 -0
  643. package/dist/repl/commands/cache.js +43 -0
  644. package/dist/repl/commands/cache.js.map +1 -0
  645. package/dist/repl/commands/crawl.d.ts +7 -0
  646. package/dist/repl/commands/crawl.d.ts.map +1 -0
  647. package/dist/repl/commands/crawl.js +44 -0
  648. package/dist/repl/commands/crawl.js.map +1 -0
  649. package/dist/repl/commands/extract.d.ts +5 -0
  650. package/dist/repl/commands/extract.d.ts.map +1 -0
  651. package/dist/repl/commands/extract.js +47 -0
  652. package/dist/repl/commands/extract.js.map +1 -0
  653. package/dist/repl/commands/fetch.d.ts +5 -0
  654. package/dist/repl/commands/fetch.d.ts.map +1 -0
  655. package/dist/repl/commands/fetch.js +67 -0
  656. package/dist/repl/commands/fetch.js.map +1 -0
  657. package/dist/repl/commands/find-similar.d.ts +5 -0
  658. package/dist/repl/commands/find-similar.d.ts.map +1 -0
  659. package/dist/repl/commands/find-similar.js +74 -0
  660. package/dist/repl/commands/find-similar.js.map +1 -0
  661. package/dist/repl/commands/research.d.ts +5 -0
  662. package/dist/repl/commands/research.d.ts.map +1 -0
  663. package/dist/repl/commands/research.js +65 -0
  664. package/dist/repl/commands/research.js.map +1 -0
  665. package/dist/repl/commands/search.d.ts +5 -0
  666. package/dist/repl/commands/search.d.ts.map +1 -0
  667. package/dist/repl/commands/search.js +74 -0
  668. package/dist/repl/commands/search.js.map +1 -0
  669. package/dist/repl/commands/types.d.ts +9 -0
  670. package/dist/repl/commands/types.d.ts.map +1 -0
  671. package/dist/repl/commands/types.js +1 -0
  672. package/dist/repl/commands/types.js.map +1 -0
  673. package/dist/repl/formatters.d.ts +13 -0
  674. package/dist/repl/formatters.d.ts.map +1 -0
  675. package/dist/repl/formatters.js +283 -0
  676. package/dist/repl/formatters.js.map +1 -0
  677. package/dist/repl/parser.d.ts +9 -0
  678. package/dist/repl/parser.d.ts.map +1 -0
  679. package/dist/repl/parser.js +86 -0
  680. package/dist/repl/parser.js.map +1 -0
  681. package/dist/repl/shell.d.ts +8 -0
  682. package/dist/repl/shell.d.ts.map +1 -0
  683. package/dist/repl/shell.js +184 -0
  684. package/dist/repl/shell.js.map +1 -0
  685. package/dist/research/branch-exploration.d.ts +14 -0
  686. package/dist/research/branch-exploration.d.ts.map +1 -0
  687. package/dist/research/branch-exploration.js +100 -0
  688. package/dist/research/branch-exploration.js.map +1 -0
  689. package/dist/research/brief.d.ts +6 -0
  690. package/dist/research/brief.d.ts.map +1 -0
  691. package/dist/research/brief.js +246 -0
  692. package/dist/research/brief.js.map +1 -0
  693. package/dist/research/citation-graph.d.ts +9 -0
  694. package/dist/research/citation-graph.d.ts.map +1 -0
  695. package/dist/research/citation-graph.js +114 -0
  696. package/dist/research/citation-graph.js.map +1 -0
  697. package/dist/research/decompose.d.ts +14 -0
  698. package/dist/research/decompose.d.ts.map +1 -0
  699. package/dist/research/decompose.js +439 -0
  700. package/dist/research/decompose.js.map +1 -0
  701. package/dist/research/pipeline.d.ts +5 -0
  702. package/dist/research/pipeline.d.ts.map +1 -0
  703. package/dist/research/pipeline.js +269 -0
  704. package/dist/research/pipeline.js.map +1 -0
  705. package/dist/research/synthesis-local.d.ts +19 -0
  706. package/dist/research/synthesis-local.d.ts.map +1 -0
  707. package/dist/research/synthesis-local.js +62 -0
  708. package/dist/research/synthesis-local.js.map +1 -0
  709. package/dist/research/synthesize.d.ts +10 -0
  710. package/dist/research/synthesize.d.ts.map +1 -0
  711. package/dist/research/synthesize.js +137 -0
  712. package/dist/research/synthesize.js.map +1 -0
  713. package/dist/search/answer-synthesis.d.ts +33 -0
  714. package/dist/search/answer-synthesis.d.ts.map +1 -0
  715. package/dist/search/answer-synthesis.js +244 -0
  716. package/dist/search/answer-synthesis.js.map +1 -0
  717. package/dist/search/context-formatter.d.ts +3 -0
  718. package/dist/search/context-formatter.d.ts.map +1 -0
  719. package/dist/search/context-formatter.js +56 -0
  720. package/dist/search/context-formatter.js.map +1 -0
  721. package/dist/search/dedup.d.ts +1 -0
  722. package/dist/search/dedup.d.ts.map +1 -1
  723. package/dist/search/dedup.js +40 -32
  724. package/dist/search/dedup.js.map +1 -1
  725. package/dist/search/engines/arxiv.d.ts +7 -0
  726. package/dist/search/engines/arxiv.d.ts.map +1 -0
  727. package/dist/search/engines/arxiv.js +70 -0
  728. package/dist/search/engines/arxiv.js.map +1 -0
  729. package/dist/search/engines/bing-news.d.ts +7 -0
  730. package/dist/search/engines/bing-news.d.ts.map +1 -0
  731. package/dist/search/engines/bing-news.js +97 -0
  732. package/dist/search/engines/bing-news.js.map +1 -0
  733. package/dist/search/engines/bing.d.ts +1 -0
  734. package/dist/search/engines/bing.d.ts.map +1 -1
  735. package/dist/search/engines/bing.js +100 -44
  736. package/dist/search/engines/bing.js.map +1 -1
  737. package/dist/search/engines/devdocs.d.ts +6 -0
  738. package/dist/search/engines/devdocs.d.ts.map +1 -0
  739. package/dist/search/engines/devdocs.js +56 -0
  740. package/dist/search/engines/devdocs.js.map +1 -0
  741. package/dist/search/engines/duckduckgo.d.ts.map +1 -1
  742. package/dist/search/engines/duckduckgo.js +56 -44
  743. package/dist/search/engines/duckduckgo.js.map +1 -1
  744. package/dist/search/engines/github-code.d.ts +7 -0
  745. package/dist/search/engines/github-code.d.ts.map +1 -0
  746. package/dist/search/engines/github-code.js +55 -0
  747. package/dist/search/engines/github-code.js.map +1 -0
  748. package/dist/search/engines/hn-algolia.d.ts +7 -0
  749. package/dist/search/engines/hn-algolia.d.ts.map +1 -0
  750. package/dist/search/engines/hn-algolia.js +76 -0
  751. package/dist/search/engines/hn-algolia.js.map +1 -0
  752. package/dist/search/engines/lobsters.d.ts +7 -0
  753. package/dist/search/engines/lobsters.d.ts.map +1 -0
  754. package/dist/search/engines/lobsters.js +83 -0
  755. package/dist/search/engines/lobsters.js.map +1 -0
  756. package/dist/search/engines/mdn.d.ts +7 -0
  757. package/dist/search/engines/mdn.d.ts.map +1 -0
  758. package/dist/search/engines/mdn.js +48 -0
  759. package/dist/search/engines/mdn.js.map +1 -0
  760. package/dist/search/engines/semantic-scholar.d.ts +7 -0
  761. package/dist/search/engines/semantic-scholar.d.ts.map +1 -0
  762. package/dist/search/engines/semantic-scholar.js +69 -0
  763. package/dist/search/engines/semantic-scholar.js.map +1 -0
  764. package/dist/search/engines/stackoverflow.d.ts +7 -0
  765. package/dist/search/engines/stackoverflow.d.ts.map +1 -0
  766. package/dist/search/engines/stackoverflow.js +73 -0
  767. package/dist/search/engines/stackoverflow.js.map +1 -0
  768. package/dist/search/engines/startpage.d.ts.map +1 -1
  769. package/dist/search/engines/startpage.js +65 -46
  770. package/dist/search/engines/startpage.js.map +1 -1
  771. package/dist/search/evidence.d.ts +25 -0
  772. package/dist/search/evidence.d.ts.map +1 -0
  773. package/dist/search/evidence.js +220 -0
  774. package/dist/search/evidence.js.map +1 -0
  775. package/dist/search/filters.d.ts.map +1 -1
  776. package/dist/search/filters.js +58 -54
  777. package/dist/search/filters.js.map +1 -1
  778. package/dist/search/find-similar/crawl-rank.d.ts +9 -0
  779. package/dist/search/find-similar/crawl-rank.d.ts.map +1 -0
  780. package/dist/search/find-similar/crawl-rank.js +272 -0
  781. package/dist/search/find-similar/crawl-rank.js.map +1 -0
  782. package/dist/search/find-similar/mode.d.ts +4 -0
  783. package/dist/search/find-similar/mode.d.ts.map +1 -0
  784. package/dist/search/find-similar/mode.js +12 -0
  785. package/dist/search/find-similar/mode.js.map +1 -0
  786. package/dist/search/find-similar.d.ts +5 -0
  787. package/dist/search/find-similar.d.ts.map +1 -0
  788. package/dist/search/find-similar.js +509 -0
  789. package/dist/search/find-similar.js.map +1 -0
  790. package/dist/search/highlights.d.ts +19 -0
  791. package/dist/search/highlights.d.ts.map +1 -0
  792. package/dist/search/highlights.js +167 -0
  793. package/dist/search/highlights.js.map +1 -0
  794. package/dist/search/language-filter.d.ts +29 -0
  795. package/dist/search/language-filter.d.ts.map +1 -0
  796. package/dist/search/language-filter.js +126 -0
  797. package/dist/search/language-filter.js.map +1 -0
  798. package/dist/search/legacy/searxng-orchestrator.d.ts +4 -0
  799. package/dist/search/legacy/searxng-orchestrator.d.ts.map +1 -0
  800. package/dist/search/legacy/searxng-orchestrator.js +501 -0
  801. package/dist/search/legacy/searxng-orchestrator.js.map +1 -0
  802. package/dist/search/legacy/searxng-provider.d.ts +7 -0
  803. package/dist/search/legacy/searxng-provider.d.ts.map +1 -0
  804. package/dist/search/legacy/searxng-provider.js +11 -0
  805. package/dist/search/legacy/searxng-provider.js.map +1 -0
  806. package/dist/search/multi-query.d.ts +25 -0
  807. package/dist/search/multi-query.d.ts.map +1 -0
  808. package/dist/search/multi-query.js +228 -0
  809. package/dist/search/multi-query.js.map +1 -0
  810. package/dist/search/query.js +32 -34
  811. package/dist/search/query.js.map +1 -1
  812. package/dist/search/rerank.d.ts +3 -1
  813. package/dist/search/rerank.d.ts.map +1 -1
  814. package/dist/search/rerank.js +44 -35
  815. package/dist/search/rerank.js.map +1 -1
  816. package/dist/search/reranker/authority-boost.d.ts +3 -0
  817. package/dist/search/reranker/authority-boost.d.ts.map +1 -0
  818. package/dist/search/reranker/authority-boost.js +179 -0
  819. package/dist/search/reranker/authority-boost.js.map +1 -0
  820. package/dist/search/reranker/consensus-boost.d.ts +3 -0
  821. package/dist/search/reranker/consensus-boost.d.ts.map +1 -0
  822. package/dist/search/reranker/consensus-boost.js +27 -0
  823. package/dist/search/reranker/consensus-boost.js.map +1 -0
  824. package/dist/search/reranker/recency-boost.d.ts +3 -0
  825. package/dist/search/reranker/recency-boost.d.ts.map +1 -0
  826. package/dist/search/reranker/recency-boost.js +13 -0
  827. package/dist/search/reranker/recency-boost.js.map +1 -0
  828. package/dist/search/reranker/recency.d.ts +3 -0
  829. package/dist/search/reranker/recency.d.ts.map +1 -0
  830. package/dist/search/reranker/recency.js +23 -0
  831. package/dist/search/reranker/recency.js.map +1 -0
  832. package/dist/search/reranker/transformers-rerank-provider.d.ts +13 -0
  833. package/dist/search/reranker/transformers-rerank-provider.d.ts.map +1 -0
  834. package/dist/search/reranker/transformers-rerank-provider.js +94 -0
  835. package/dist/search/reranker/transformers-rerank-provider.js.map +1 -0
  836. package/dist/search/rrf.d.ts +17 -0
  837. package/dist/search/rrf.d.ts.map +1 -0
  838. package/dist/search/rrf.js +39 -0
  839. package/dist/search/rrf.js.map +1 -0
  840. package/dist/search/sampling.d.ts +25 -0
  841. package/dist/search/sampling.d.ts.map +1 -0
  842. package/dist/search/sampling.js +52 -0
  843. package/dist/search/sampling.js.map +1 -0
  844. package/dist/search/searxng.d.ts.map +1 -1
  845. package/dist/search/searxng.js +69 -79
  846. package/dist/search/searxng.js.map +1 -1
  847. package/dist/search/tokens.d.ts +3 -0
  848. package/dist/search/tokens.d.ts.map +1 -0
  849. package/dist/search/tokens.js +39 -0
  850. package/dist/search/tokens.js.map +1 -0
  851. package/dist/search/truncate.d.ts +6 -0
  852. package/dist/search/truncate.d.ts.map +1 -0
  853. package/dist/search/truncate.js +26 -0
  854. package/dist/search/truncate.js.map +1 -0
  855. package/dist/search/url-unwrap.d.ts +3 -0
  856. package/dist/search/url-unwrap.d.ts.map +1 -0
  857. package/dist/search/url-unwrap.js +43 -0
  858. package/dist/search/url-unwrap.js.map +1 -0
  859. package/dist/search/v1/context-rank.d.ts +13 -0
  860. package/dist/search/v1/context-rank.d.ts.map +1 -0
  861. package/dist/search/v1/context-rank.js +74 -0
  862. package/dist/search/v1/context-rank.js.map +1 -0
  863. package/dist/search/v1/engine-base.d.ts +27 -0
  864. package/dist/search/v1/engine-base.d.ts.map +1 -0
  865. package/dist/search/v1/engine-base.js +110 -0
  866. package/dist/search/v1/engine-base.js.map +1 -0
  867. package/dist/search/v1/intent-router.d.ts +22 -0
  868. package/dist/search/v1/intent-router.d.ts.map +1 -0
  869. package/dist/search/v1/intent-router.js +138 -0
  870. package/dist/search/v1/intent-router.js.map +1 -0
  871. package/dist/search/v1/orchestrator.d.ts +24 -0
  872. package/dist/search/v1/orchestrator.d.ts.map +1 -0
  873. package/dist/search/v1/orchestrator.js +163 -0
  874. package/dist/search/v1/orchestrator.js.map +1 -0
  875. package/dist/search/v1/recency-boost.d.ts +9 -0
  876. package/dist/search/v1/recency-boost.d.ts.map +1 -0
  877. package/dist/search/v1/recency-boost.js +37 -0
  878. package/dist/search/v1/recency-boost.js.map +1 -0
  879. package/dist/search/v1/recent-cache-dedup.d.ts +6 -0
  880. package/dist/search/v1/recent-cache-dedup.d.ts.map +1 -0
  881. package/dist/search/v1/recent-cache-dedup.js +85 -0
  882. package/dist/search/v1/recent-cache-dedup.js.map +1 -0
  883. package/dist/search/v1/rss/feed-config.d.ts +21 -0
  884. package/dist/search/v1/rss/feed-config.d.ts.map +1 -0
  885. package/dist/search/v1/rss/feed-config.js +90 -0
  886. package/dist/search/v1/rss/feed-config.js.map +1 -0
  887. package/dist/search/v1/rss/feed-parser.d.ts +14 -0
  888. package/dist/search/v1/rss/feed-parser.d.ts.map +1 -0
  889. package/dist/search/v1/rss/feed-parser.js +104 -0
  890. package/dist/search/v1/rss/feed-parser.js.map +1 -0
  891. package/dist/search/v1/rss/feed-poller.d.ts +22 -0
  892. package/dist/search/v1/rss/feed-poller.d.ts.map +1 -0
  893. package/dist/search/v1/rss/feed-poller.js +102 -0
  894. package/dist/search/v1/rss/feed-poller.js.map +1 -0
  895. package/dist/search/v1/rss/feed-store.d.ts +30 -0
  896. package/dist/search/v1/rss/feed-store.d.ts.map +1 -0
  897. package/dist/search/v1/rss/feed-store.js +134 -0
  898. package/dist/search/v1/rss/feed-store.js.map +1 -0
  899. package/dist/search/v1/rss/rss-engine.d.ts +6 -0
  900. package/dist/search/v1/rss/rss-engine.d.ts.map +1 -0
  901. package/dist/search/v1/rss/rss-engine.js +28 -0
  902. package/dist/search/v1/rss/rss-engine.js.map +1 -0
  903. package/dist/search/v1/v1-provider.d.ts +7 -0
  904. package/dist/search/v1/v1-provider.d.ts.map +1 -0
  905. package/dist/search/v1/v1-provider.js +68 -0
  906. package/dist/search/v1/v1-provider.js.map +1 -0
  907. package/dist/search/v1/verticals/code.d.ts +4 -0
  908. package/dist/search/v1/verticals/code.d.ts.map +1 -0
  909. package/dist/search/v1/verticals/code.js +20 -0
  910. package/dist/search/v1/verticals/code.js.map +1 -0
  911. package/dist/search/v1/verticals/docs.d.ts +4 -0
  912. package/dist/search/v1/verticals/docs.d.ts.map +1 -0
  913. package/dist/search/v1/verticals/docs.js +20 -0
  914. package/dist/search/v1/verticals/docs.js.map +1 -0
  915. package/dist/search/v1/verticals/general.d.ts +4 -0
  916. package/dist/search/v1/verticals/general.d.ts.map +1 -0
  917. package/dist/search/v1/verticals/general.js +22 -0
  918. package/dist/search/v1/verticals/general.js.map +1 -0
  919. package/dist/search/v1/verticals/news.d.ts +10 -0
  920. package/dist/search/v1/verticals/news.d.ts.map +1 -0
  921. package/dist/search/v1/verticals/news.js +52 -0
  922. package/dist/search/v1/verticals/news.js.map +1 -0
  923. package/dist/search/v1/verticals/papers.d.ts +4 -0
  924. package/dist/search/v1/verticals/papers.d.ts.map +1 -0
  925. package/dist/search/v1/verticals/papers.js +23 -0
  926. package/dist/search/v1/verticals/papers.js.map +1 -0
  927. package/dist/search/validator.js +31 -31
  928. package/dist/search/validator.js.map +1 -1
  929. package/dist/searxng/bootstrap.d.ts +30 -0
  930. package/dist/searxng/bootstrap.d.ts.map +1 -1
  931. package/dist/searxng/bootstrap.js +223 -85
  932. package/dist/searxng/bootstrap.js.map +1 -1
  933. package/dist/searxng/docker.d.ts.map +1 -1
  934. package/dist/searxng/docker.js +69 -60
  935. package/dist/searxng/docker.js.map +1 -1
  936. package/dist/searxng/process.d.ts +13 -1
  937. package/dist/searxng/process.d.ts.map +1 -1
  938. package/dist/searxng/process.js +231 -164
  939. package/dist/searxng/process.js.map +1 -1
  940. package/dist/server/backend-status.d.ts +13 -0
  941. package/dist/server/backend-status.d.ts.map +1 -0
  942. package/dist/server/backend-status.js +40 -0
  943. package/dist/server/backend-status.js.map +1 -0
  944. package/dist/server/tool-schemas.d.ts +549 -0
  945. package/dist/server/tool-schemas.d.ts.map +1 -0
  946. package/dist/server/tool-schemas.js +464 -0
  947. package/dist/server/tool-schemas.js.map +1 -0
  948. package/dist/server/warmup-on-start.d.ts +9 -0
  949. package/dist/server/warmup-on-start.d.ts.map +1 -0
  950. package/dist/server/warmup-on-start.js +55 -0
  951. package/dist/server/warmup-on-start.js.map +1 -0
  952. package/dist/server.d.ts +17 -0
  953. package/dist/server.d.ts.map +1 -1
  954. package/dist/server.js +454 -297
  955. package/dist/server.js.map +1 -1
  956. package/dist/tools/agent.d.ts +5 -0
  957. package/dist/tools/agent.d.ts.map +1 -0
  958. package/dist/tools/agent.js +128 -0
  959. package/dist/tools/agent.js.map +1 -0
  960. package/dist/tools/cache.d.ts +2 -1
  961. package/dist/tools/cache.d.ts.map +1 -1
  962. package/dist/tools/cache.js +177 -44
  963. package/dist/tools/cache.js.map +1 -1
  964. package/dist/tools/crawl.d.ts.map +1 -1
  965. package/dist/tools/crawl.js +171 -88
  966. package/dist/tools/crawl.js.map +1 -1
  967. package/dist/tools/extract.d.ts +2 -2
  968. package/dist/tools/extract.d.ts.map +1 -1
  969. package/dist/tools/extract.js +175 -59
  970. package/dist/tools/extract.js.map +1 -1
  971. package/dist/tools/fetch.d.ts +2 -2
  972. package/dist/tools/fetch.d.ts.map +1 -1
  973. package/dist/tools/fetch.js +174 -68
  974. package/dist/tools/fetch.js.map +1 -1
  975. package/dist/tools/find-similar.d.ts +5 -0
  976. package/dist/tools/find-similar.d.ts.map +1 -0
  977. package/dist/tools/find-similar.js +127 -0
  978. package/dist/tools/find-similar.js.map +1 -0
  979. package/dist/tools/research.d.ts +5 -0
  980. package/dist/tools/research.d.ts.map +1 -0
  981. package/dist/tools/research.js +107 -0
  982. package/dist/tools/research.js.map +1 -0
  983. package/dist/tools/search.d.ts +10 -2
  984. package/dist/tools/search.d.ts.map +1 -1
  985. package/dist/tools/search.js +13 -158
  986. package/dist/tools/search.js.map +1 -1
  987. package/dist/types.d.ts +350 -7
  988. package/dist/types.d.ts.map +1 -1
  989. package/dist/types.js +6 -1
  990. package/dist/types.js.map +1 -1
  991. package/dist/util/mode.d.ts +4 -0
  992. package/dist/util/mode.d.ts.map +1 -0
  993. package/dist/util/mode.js +34 -0
  994. package/dist/util/mode.js.map +1 -0
  995. package/package.json +78 -8
  996. package/dist/extraction/trafilatura.d.ts +0 -6
  997. package/dist/extraction/trafilatura.d.ts.map +0 -1
  998. package/dist/extraction/trafilatura.js +0 -105
  999. package/dist/extraction/trafilatura.js.map +0 -1
  1000. package/dist/search/flashrank.d.ts +0 -12
  1001. package/dist/search/flashrank.d.ts.map +0 -1
  1002. package/dist/search/flashrank.js +0 -63
  1003. package/dist/search/flashrank.js.map +0 -1
@@ -0,0 +1,464 @@
1
+ const FETCH_TOOL_SCHEMA = {
2
+ type: "object",
3
+ properties: {
4
+ url: { type: "string", description: "URL to fetch" },
5
+ render_js: {
6
+ type: "string",
7
+ enum: ["auto", "always", "never"],
8
+ description: "JavaScript rendering mode (default: auto)"
9
+ },
10
+ use_auth: {
11
+ type: "boolean",
12
+ description: "Use stored auth credentials (default: false)"
13
+ },
14
+ max_chars: {
15
+ type: "number",
16
+ description: "Maximum characters to return (hard slice)"
17
+ },
18
+ max_content_chars: {
19
+ type: "number",
20
+ description: "Smart truncate markdown to N chars at paragraph/heading boundary with [... content truncated] marker. Preferred over max_chars for AI agents."
21
+ },
22
+ section: {
23
+ type: "string",
24
+ description: "Extract a specific section by heading text"
25
+ },
26
+ section_index: {
27
+ type: "number",
28
+ description: "Index of the section match (default: 0)"
29
+ },
30
+ screenshot: {
31
+ type: "boolean",
32
+ description: "Capture a screenshot (default: false)"
33
+ },
34
+ headers: {
35
+ type: "object",
36
+ description: "Additional HTTP headers",
37
+ additionalProperties: { type: "string" }
38
+ },
39
+ force_refresh: {
40
+ type: "boolean",
41
+ description: "Bypass cache and fetch fresh content from the network. Use for rapidly changing pages (news, changelogs, dashboards)."
42
+ },
43
+ max_tokens_out: {
44
+ type: "number",
45
+ description: "Token-budget cap on total output. Uses cl100k-base BPE; non-OpenAI tokenizer counts may drift ~5-15%. When both max_tokens_out and max_chars are set, max_tokens_out wins."
46
+ },
47
+ include_full_markdown: {
48
+ type: "boolean",
49
+ description: "Include full markdown body in the response. Default false on multi-result tools (returns evidence excerpts only); set true to restore."
50
+ },
51
+ citation_format: {
52
+ type: "string",
53
+ enum: ["numbered", "anthropic_tags", "json"],
54
+ description: "Citation rendering style. 'numbered' (default) inline [N] markers; 'json' returns a citations[] array; 'anthropic_tags' wraps sources in <source id='...'> tags."
55
+ },
56
+ actions: {
57
+ type: "array",
58
+ description: "Sequential browser actions to perform before extracting content. When present, forces browser rendering (bypasses HTTP-first routing).",
59
+ items: {
60
+ type: "object",
61
+ properties: {
62
+ type: {
63
+ type: "string",
64
+ enum: ["click", "type", "wait", "wait_for", "scroll", "screenshot"],
65
+ description: "Action type"
66
+ },
67
+ selector: {
68
+ type: "string",
69
+ description: "CSS selector (required for click, type, wait_for)"
70
+ },
71
+ text: {
72
+ type: "string",
73
+ description: "Text to type (required for type action)"
74
+ },
75
+ ms: {
76
+ type: "number",
77
+ description: "Milliseconds to wait (required for wait action)"
78
+ },
79
+ timeout: {
80
+ type: "number",
81
+ description: "Timeout in ms for wait_for action (default: 5000)"
82
+ },
83
+ direction: {
84
+ type: "string",
85
+ enum: ["down", "up"],
86
+ description: "Scroll direction (required for scroll action)"
87
+ },
88
+ amount: {
89
+ type: "number",
90
+ description: "Scroll amount in pixels (default: viewport height)"
91
+ }
92
+ },
93
+ required: ["type"]
94
+ }
95
+ },
96
+ mode: {
97
+ type: "string",
98
+ enum: ["cache", "default", "stealth"],
99
+ description: "cache=HTTP-only, accepts stale cache. default=standard fetch with JS detection. stealth=full browser render."
100
+ }
101
+ },
102
+ required: ["url"]
103
+ };
104
+ const SEARCH_TOOL_SCHEMA = {
105
+ type: "object",
106
+ properties: {
107
+ query: {
108
+ oneOf: [
109
+ { type: "string", description: "Search query" },
110
+ {
111
+ type: "array",
112
+ items: { type: "string" },
113
+ description: "Array of query variants to search in parallel, deduplicate, and rerank"
114
+ }
115
+ ],
116
+ description: "Search query \u2014 a single string or array of query variants for parallel multi-query search"
117
+ },
118
+ max_results: { type: "number", description: "Max results to return (default 5, max 20)" },
119
+ max_fetches: { type: "number", description: "Cap on how many top-ranked results have their page content fetched. Defaults to max_results. Set lower (e.g. 3) to keep snippet-only listings cheap and only deep-read the most relevant." },
120
+ include_content: { type: "boolean", description: "Fetch full content for results (default true)" },
121
+ content_max_chars: { type: "number", description: "Max chars per result content at extraction (default 30000)" },
122
+ max_content_chars: { type: "number", description: "Smart-truncate each result markdown at paragraph boundary with marker (e.g. 3000 for compact context)" },
123
+ max_total_chars: { type: "number", description: "Max total chars across all results (default 50000)" },
124
+ time_range: { type: "string", enum: ["day", "week", "month", "year"], description: "Time range filter" },
125
+ search_engines: { type: "array", items: { type: "string" }, description: "Override engine selection" },
126
+ language: { type: "string", description: "Language preference" },
127
+ include_domains: {
128
+ type: "array",
129
+ items: { type: "string" },
130
+ description: 'Only return results from these domains (e.g. ["react.dev", "github.com"])'
131
+ },
132
+ exclude_domains: {
133
+ type: "array",
134
+ items: { type: "string" },
135
+ description: "Never return results from these domains"
136
+ },
137
+ from_date: {
138
+ type: "string",
139
+ description: "ISO date (YYYY-MM-DD) \u2014 only return results published after this date"
140
+ },
141
+ to_date: {
142
+ type: "string",
143
+ description: "ISO date (YYYY-MM-DD) \u2014 only return results published before this date"
144
+ },
145
+ category: {
146
+ type: "string",
147
+ enum: ["general", "news", "code", "docs", "papers", "images"],
148
+ description: "Category of search (general, news, code, docs, papers, images)"
149
+ },
150
+ format: {
151
+ type: "string",
152
+ enum: ["answer", "stream_answer"],
153
+ description: "LLM-synthesis modes only. Omit for default evidence shape. 'answer'/'stream_answer' request sampling synthesis (falls back to evidence). Retired values 'full'/'context'/'highlights' reject with a migration error."
154
+ },
155
+ max_highlights: {
156
+ type: "number",
157
+ description: "Maximum highlights to return (default 10). Highlights are 1-3 sentence passages scored by relevance to the query."
158
+ },
159
+ force_refresh: {
160
+ type: "boolean",
161
+ description: "Bypass all caches (search results and page content). Use when you need the most current information."
162
+ },
163
+ max_tokens_out: {
164
+ type: "number",
165
+ description: "Token-budget cap on total output. Uses cl100k-base BPE; non-OpenAI tokenizer counts may drift ~5-15%. When both max_tokens_out and max_chars are set, max_tokens_out wins."
166
+ },
167
+ include_full_markdown: {
168
+ type: "boolean",
169
+ description: "Include full markdown body in the response. Default false on multi-result tools (returns evidence excerpts only); set true to restore."
170
+ },
171
+ citation_format: {
172
+ type: "string",
173
+ enum: ["numbered", "anthropic_tags", "json"],
174
+ description: "Citation rendering style. 'numbered' (default) inline [N] markers; 'json' returns a citations[] array; 'anthropic_tags' wraps sources in <source id='...'> tags."
175
+ },
176
+ mode: {
177
+ type: "string",
178
+ enum: ["cache", "default", "stealth"],
179
+ description: "cache=single-engine, no rerank, stale cache ok. default=standard multi-engine search. stealth=full browser for JS-heavy result pages."
180
+ },
181
+ agent_context: {
182
+ type: "object",
183
+ description: "Optional agent context for ranking + dedup. text is concatenated with the query before embedding; recent_urls are dropped from results.",
184
+ properties: {
185
+ text: { type: "string", description: "Surrounding code / prior turn / task framing." },
186
+ recent_urls: { type: "array", items: { type: "string" }, description: "URLs the agent has already seen." },
187
+ intent: { type: "string", description: "One-line task framing. Used when text is omitted." }
188
+ },
189
+ additionalProperties: false
190
+ }
191
+ },
192
+ required: ["query"]
193
+ };
194
+ const CRAWL_TOOL_SCHEMA = {
195
+ type: "object",
196
+ properties: {
197
+ url: { type: "string", description: "Seed URL to start crawling from" },
198
+ max_depth: { type: "number", description: "Maximum link depth from seed (default: 2)" },
199
+ max_pages: { type: "number", description: "Maximum pages to crawl (default: 20)" },
200
+ strategy: {
201
+ type: "string",
202
+ enum: ["bfs", "dfs", "sitemap", "map"],
203
+ description: "Crawl strategy: bfs (breadth-first), dfs (depth-first), sitemap (use sitemap.xml), map (URL-only discovery \u2014 returns list of URLs without content, faster than full crawl)"
204
+ },
205
+ include_patterns: {
206
+ type: "array",
207
+ items: { type: "string" },
208
+ description: "URL regex whitelist \u2014 only crawl matching URLs"
209
+ },
210
+ exclude_patterns: {
211
+ type: "array",
212
+ items: { type: "string" },
213
+ description: "URL regex blacklist \u2014 skip matching URLs"
214
+ },
215
+ use_auth: { type: "boolean", description: "Use stored auth credentials (default: false)" },
216
+ extract_links: { type: "boolean", description: "Return link graph between pages (default: false)" },
217
+ max_total_chars: { type: "number", description: "Max total chars across all pages (default: 100000)" },
218
+ max_tokens_out: {
219
+ type: "number",
220
+ description: "Token-budget cap on total output. Uses cl100k-base BPE; non-OpenAI tokenizer counts may drift ~5-15%. When both max_tokens_out and max_chars are set, max_tokens_out wins."
221
+ },
222
+ include_full_markdown: {
223
+ type: "boolean",
224
+ description: "Include full markdown body in the response. Default false on multi-result tools (returns evidence excerpts only); set true to restore."
225
+ },
226
+ citation_format: {
227
+ type: "string",
228
+ enum: ["numbered", "anthropic_tags", "json"],
229
+ description: "Citation rendering style. 'numbered' (default) inline [N] markers; 'json' returns a citations[] array; 'anthropic_tags' wraps sources in <source id='...'> tags."
230
+ }
231
+ },
232
+ required: ["url"]
233
+ };
234
+ const CACHE_TOOL_SCHEMA = {
235
+ type: "object",
236
+ properties: {
237
+ query: { type: "string", description: "Full-text search over cached content" },
238
+ url_pattern: {
239
+ type: "string",
240
+ description: 'Filter by URL glob pattern (e.g., "*example.com*")'
241
+ },
242
+ since: {
243
+ type: "string",
244
+ description: "ISO date \u2014 only results cached after this date"
245
+ },
246
+ clear: {
247
+ type: "boolean",
248
+ description: "Clear matching cache entries (requires at least one filter: query, url_pattern, or since)"
249
+ },
250
+ stats: {
251
+ type: "boolean",
252
+ description: "Return cache statistics (total URLs, size, date range)"
253
+ },
254
+ check_changes: {
255
+ type: "boolean",
256
+ description: "Re-fetch all matching cached URLs and report which ones have changed. Returns a list of URLs with changed/unchanged status and diff summaries. Use with query or url_pattern to scope which cached entries to check."
257
+ },
258
+ mode: {
259
+ type: "string",
260
+ enum: ["fts", "hybrid"],
261
+ description: 'Search strategy when query is provided. "fts" (default) runs keyword-only BM25 over the FTS5 index. "hybrid" additionally runs semantic vector search and fuses both rankings with reciprocal rank fusion for higher-recall lookups; falls back to FTS when the embedding index is empty or unavailable.'
262
+ },
263
+ limit: {
264
+ type: "number",
265
+ description: "Maximum number of results to return (default 20)."
266
+ }
267
+ }
268
+ };
269
+ const EXTRACT_TOOL_SCHEMA = {
270
+ type: "object",
271
+ properties: {
272
+ url: { type: "string", description: "URL to fetch and extract from" },
273
+ html: { type: "string", description: "Raw HTML to extract from (url takes priority if both provided)" },
274
+ mode: {
275
+ type: "string",
276
+ enum: ["selector", "tables", "metadata", "schema", "structured"],
277
+ description: "Extraction mode: selector (CSS), tables (HTML tables), metadata (meta tags + JSON-LD), schema (fields matching a JSON Schema), structured (tables + definition lists + JSON-LD + chart hints + key/value pairs \u2014 one-shot structured brief)"
278
+ },
279
+ css_selector: {
280
+ type: "string",
281
+ description: 'CSS selector to match (required when mode="selector")'
282
+ },
283
+ multiple: {
284
+ type: "boolean",
285
+ description: 'Return array of all matches instead of first (default: false, only for mode="selector")'
286
+ },
287
+ schema: {
288
+ type: "object",
289
+ description: 'JSON Schema defining fields to extract. Field names are matched against page content via CSS classes, ARIA labels, microdata, and JSON-LD. Required when mode="schema".'
290
+ },
291
+ named_schema: {
292
+ type: "string",
293
+ enum: ["Article", "Recipe", "Product", "CodeSnippet", "Paper", "EventListing"],
294
+ description: "Extract page data into a strict named schema (heuristic only; no LLM required). Mutually exclusive with `schema`."
295
+ }
296
+ }
297
+ };
298
+ const FIND_SIMILAR_TOOL_SCHEMA = {
299
+ type: "object",
300
+ properties: {
301
+ url: {
302
+ type: "string",
303
+ description: "Find pages similar to this URL. The page is fetched (or read from cache) and its content analyzed for key terms."
304
+ },
305
+ concept: {
306
+ type: "string",
307
+ description: "Find pages related to this concept or topic description. Use when you don't have a specific URL."
308
+ },
309
+ max_results: {
310
+ type: "number",
311
+ description: "Maximum results to return (default 10, max 50)"
312
+ },
313
+ include_domains: {
314
+ type: "array",
315
+ items: { type: "string" },
316
+ description: "Only return results from these domains"
317
+ },
318
+ exclude_domains: {
319
+ type: "array",
320
+ items: { type: "string" },
321
+ description: "Never return results from these domains"
322
+ },
323
+ include_cache: {
324
+ type: "boolean",
325
+ description: "Search local cache for similar pages (default: true)"
326
+ },
327
+ include_web: {
328
+ type: "boolean",
329
+ description: "Supplement with web search if needed (default: true)"
330
+ },
331
+ mode: {
332
+ type: "string",
333
+ enum: ["auto", "cache", "web-expansion", "crawl-rank"],
334
+ default: "auto",
335
+ description: "Retrieval strategy: cache (local hybrid), web-expansion (key terms + web search), crawl-rank (1-hop crawl from seed URL + embed + cosine rank), or auto."
336
+ },
337
+ max_tokens_out: {
338
+ type: "number",
339
+ description: "Token-budget cap on total output. Uses cl100k-base BPE; non-OpenAI tokenizer counts may drift ~5-15%. When both max_tokens_out and max_chars are set, max_tokens_out wins."
340
+ },
341
+ include_full_markdown: {
342
+ type: "boolean",
343
+ description: "Include full markdown body in the response. Default false on multi-result tools (returns evidence excerpts only); set true to restore."
344
+ },
345
+ citation_format: {
346
+ type: "string",
347
+ enum: ["numbered", "anthropic_tags", "json"],
348
+ description: "Citation rendering style. 'numbered' (default) inline [N] markers; 'json' returns a citations[] array; 'anthropic_tags' wraps sources in <source id='...'> tags."
349
+ }
350
+ }
351
+ };
352
+ const RESEARCH_TOOL_SCHEMA = {
353
+ type: "object",
354
+ properties: {
355
+ question: { type: "string", description: "The research question to investigate" },
356
+ depth: {
357
+ type: "string",
358
+ enum: ["quick", "standard", "comprehensive"],
359
+ description: "Research depth: quick (~15s), standard (~40s, default), comprehensive (~80s)"
360
+ },
361
+ max_sources: {
362
+ type: "number",
363
+ description: "Override the default source count for the chosen depth (max 50)"
364
+ },
365
+ include_domains: {
366
+ type: "array",
367
+ items: { type: "string" },
368
+ description: "Only search results from these domains"
369
+ },
370
+ exclude_domains: {
371
+ type: "array",
372
+ items: { type: "string" },
373
+ description: "Exclude results from these domains"
374
+ },
375
+ schema: {
376
+ type: "object",
377
+ description: "Optional JSON Schema -- structure the report to extract these fields"
378
+ },
379
+ stream: {
380
+ type: "boolean",
381
+ description: "Send progress notifications as each research phase completes"
382
+ },
383
+ max_tokens_out: {
384
+ type: "number",
385
+ description: "Token-budget cap on total output. Uses cl100k-base BPE; non-OpenAI tokenizer counts may drift ~5-15%. When both max_tokens_out and max_chars are set, max_tokens_out wins."
386
+ },
387
+ include_full_markdown: {
388
+ type: "boolean",
389
+ description: "Include full markdown body in the response. Default false on multi-result tools (returns evidence excerpts only); set true to restore."
390
+ },
391
+ citation_format: {
392
+ type: "string",
393
+ enum: ["numbered", "anthropic_tags", "json"],
394
+ description: "Citation rendering style. 'numbered' (default) inline [N] markers; 'json' returns a citations[] array; 'anthropic_tags' wraps sources in <source id='...'> tags."
395
+ }
396
+ },
397
+ required: ["question"]
398
+ };
399
+ const AGENT_TOOL_SCHEMA = {
400
+ type: "object",
401
+ properties: {
402
+ prompt: {
403
+ type: "string",
404
+ description: "Natural-language description of what data to gather"
405
+ },
406
+ urls: {
407
+ type: "array",
408
+ items: { type: "string" },
409
+ description: "Specific URLs to include in the data gathering"
410
+ },
411
+ schema: {
412
+ type: "object",
413
+ description: "Optional JSON Schema -- extract structured data matching this schema from each page"
414
+ },
415
+ max_pages: {
416
+ type: "number",
417
+ description: "Maximum pages to fetch (default 10, max 100)"
418
+ },
419
+ max_time_ms: {
420
+ type: "number",
421
+ description: "Maximum execution time in milliseconds (default 60000)"
422
+ },
423
+ stream: {
424
+ type: "boolean",
425
+ description: "Send progress notifications as each step completes"
426
+ },
427
+ max_tokens_out: {
428
+ type: "number",
429
+ description: "Token-budget cap on total output. Uses cl100k-base BPE; non-OpenAI tokenizer counts may drift ~5-15%. When both max_tokens_out and max_chars are set, max_tokens_out wins."
430
+ },
431
+ include_full_markdown: {
432
+ type: "boolean",
433
+ description: "Include full markdown body in the response. Default false on multi-result tools (returns evidence excerpts only); set true to restore."
434
+ },
435
+ citation_format: {
436
+ type: "string",
437
+ enum: ["numbered", "anthropic_tags", "json"],
438
+ description: "Citation rendering style. 'numbered' (default) inline [N] markers; 'json' returns a citations[] array; 'anthropic_tags' wraps sources in <source id='...'> tags."
439
+ }
440
+ },
441
+ required: ["prompt"]
442
+ };
443
+ const TOOL_SCHEMAS = {
444
+ fetch: FETCH_TOOL_SCHEMA,
445
+ search: SEARCH_TOOL_SCHEMA,
446
+ crawl: CRAWL_TOOL_SCHEMA,
447
+ cache: CACHE_TOOL_SCHEMA,
448
+ extract: EXTRACT_TOOL_SCHEMA,
449
+ find_similar: FIND_SIMILAR_TOOL_SCHEMA,
450
+ research: RESEARCH_TOOL_SCHEMA,
451
+ agent: AGENT_TOOL_SCHEMA
452
+ };
453
+ export {
454
+ AGENT_TOOL_SCHEMA,
455
+ CACHE_TOOL_SCHEMA,
456
+ CRAWL_TOOL_SCHEMA,
457
+ EXTRACT_TOOL_SCHEMA,
458
+ FETCH_TOOL_SCHEMA,
459
+ FIND_SIMILAR_TOOL_SCHEMA,
460
+ RESEARCH_TOOL_SCHEMA,
461
+ SEARCH_TOOL_SCHEMA,
462
+ TOOL_SCHEMAS
463
+ };
464
+ //# sourceMappingURL=tool-schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/server/tool-schemas.ts"],"sourcesContent":["import type { ToolName } from '../instructions.js';\n\nexport type ToolSchema = {\n type: 'object';\n properties: Record<string, unknown>;\n required?: string[];\n};\n\nexport const FETCH_TOOL_SCHEMA = {\n type: 'object' as const,\n properties: {\n url: { type: 'string', description: 'URL to fetch' },\n render_js: {\n type: 'string',\n enum: ['auto', 'always', 'never'],\n description: 'JavaScript rendering mode (default: auto)',\n },\n use_auth: {\n type: 'boolean',\n description: 'Use stored auth credentials (default: false)',\n },\n max_chars: {\n type: 'number',\n description: 'Maximum characters to return (hard slice)',\n },\n max_content_chars: {\n type: 'number',\n description: 'Smart truncate markdown to N chars at paragraph/heading boundary with [... content truncated] marker. Preferred over max_chars for AI agents.',\n },\n section: {\n type: 'string',\n description: 'Extract a specific section by heading text',\n },\n section_index: {\n type: 'number',\n description: 'Index of the section match (default: 0)',\n },\n screenshot: {\n type: 'boolean',\n description: 'Capture a screenshot (default: false)',\n },\n headers: {\n type: 'object',\n description: 'Additional HTTP headers',\n additionalProperties: { type: 'string' },\n },\n force_refresh: {\n type: 'boolean',\n description: 'Bypass cache and fetch fresh content from the network. Use for rapidly changing pages (news, changelogs, dashboards).',\n },\n max_tokens_out: {\n type: 'number',\n description: \"Token-budget cap on total output. Uses cl100k-base BPE; non-OpenAI tokenizer counts may drift ~5-15%. When both max_tokens_out and max_chars are set, max_tokens_out wins.\",\n },\n include_full_markdown: {\n type: 'boolean',\n description: 'Include full markdown body in the response. Default false on multi-result tools (returns evidence excerpts only); set true to restore.',\n },\n citation_format: {\n type: 'string',\n enum: ['numbered', 'anthropic_tags', 'json'],\n description: \"Citation rendering style. 'numbered' (default) inline [N] markers; 'json' returns a citations[] array; 'anthropic_tags' wraps sources in <source id='...'> tags.\",\n },\n actions: {\n type: 'array',\n description:\n 'Sequential browser actions to perform before extracting content. ' +\n 'When present, forces browser rendering (bypasses HTTP-first routing).',\n items: {\n type: 'object',\n properties: {\n type: {\n type: 'string',\n enum: ['click', 'type', 'wait', 'wait_for', 'scroll', 'screenshot'],\n description: 'Action type',\n },\n selector: {\n type: 'string',\n description: 'CSS selector (required for click, type, wait_for)',\n },\n text: {\n type: 'string',\n description: 'Text to type (required for type action)',\n },\n ms: {\n type: 'number',\n description: 'Milliseconds to wait (required for wait action)',\n },\n timeout: {\n type: 'number',\n description: 'Timeout in ms for wait_for action (default: 5000)',\n },\n direction: {\n type: 'string',\n enum: ['down', 'up'],\n description: 'Scroll direction (required for scroll action)',\n },\n amount: {\n type: 'number',\n description: 'Scroll amount in pixels (default: viewport height)',\n },\n },\n required: ['type'],\n },\n },\n mode: {\n type: 'string',\n enum: ['cache', 'default', 'stealth'],\n description: \"cache=HTTP-only, accepts stale cache. default=standard fetch with JS detection. stealth=full browser render.\",\n },\n },\n required: ['url'],\n};\n\nexport const SEARCH_TOOL_SCHEMA = {\n type: 'object' as const,\n properties: {\n query: {\n oneOf: [\n { type: 'string', description: 'Search query' },\n {\n type: 'array',\n items: { type: 'string' },\n description: 'Array of query variants to search in parallel, deduplicate, and rerank',\n },\n ],\n description: 'Search query — a single string or array of query variants for parallel multi-query search',\n },\n max_results: { type: 'number', description: 'Max results to return (default 5, max 20)' },\n max_fetches: { type: 'number', description: 'Cap on how many top-ranked results have their page content fetched. Defaults to max_results. Set lower (e.g. 3) to keep snippet-only listings cheap and only deep-read the most relevant.' },\n include_content: { type: 'boolean', description: 'Fetch full content for results (default true)' },\n content_max_chars: { type: 'number', description: 'Max chars per result content at extraction (default 30000)' },\n max_content_chars: { type: 'number', description: 'Smart-truncate each result markdown at paragraph boundary with marker (e.g. 3000 for compact context)' },\n max_total_chars: { type: 'number', description: 'Max total chars across all results (default 50000)' },\n time_range: { type: 'string', enum: ['day', 'week', 'month', 'year'], description: 'Time range filter' },\n search_engines: { type: 'array', items: { type: 'string' }, description: 'Override engine selection' },\n language: { type: 'string', description: 'Language preference' },\n include_domains: {\n type: 'array',\n items: { type: 'string' },\n description: 'Only return results from these domains (e.g. [\"react.dev\", \"github.com\"])',\n },\n exclude_domains: {\n type: 'array',\n items: { type: 'string' },\n description: 'Never return results from these domains',\n },\n from_date: {\n type: 'string',\n description: 'ISO date (YYYY-MM-DD) — only return results published after this date',\n },\n to_date: {\n type: 'string',\n description: 'ISO date (YYYY-MM-DD) — only return results published before this date',\n },\n category: {\n type: 'string',\n enum: ['general', 'news', 'code', 'docs', 'papers', 'images'],\n description: 'Category of search (general, news, code, docs, papers, images)',\n },\n format: {\n type: 'string',\n enum: ['answer', 'stream_answer'],\n description:\n \"LLM-synthesis modes only. Omit for default evidence shape. 'answer'/'stream_answer' request sampling synthesis (falls back to evidence). Retired values 'full'/'context'/'highlights' reject with a migration error.\",\n },\n max_highlights: {\n type: 'number',\n description: \"Maximum highlights to return (default 10). Highlights are 1-3 sentence passages scored by relevance to the query.\",\n },\n force_refresh: {\n type: 'boolean',\n description: 'Bypass all caches (search results and page content). Use when you need the most current information.',\n },\n max_tokens_out: {\n type: 'number',\n description: \"Token-budget cap on total output. Uses cl100k-base BPE; non-OpenAI tokenizer counts may drift ~5-15%. When both max_tokens_out and max_chars are set, max_tokens_out wins.\",\n },\n include_full_markdown: {\n type: 'boolean',\n description: 'Include full markdown body in the response. Default false on multi-result tools (returns evidence excerpts only); set true to restore.',\n },\n citation_format: {\n type: 'string',\n enum: ['numbered', 'anthropic_tags', 'json'],\n description: \"Citation rendering style. 'numbered' (default) inline [N] markers; 'json' returns a citations[] array; 'anthropic_tags' wraps sources in <source id='...'> tags.\",\n },\n mode: {\n type: 'string',\n enum: ['cache', 'default', 'stealth'],\n description: \"cache=single-engine, no rerank, stale cache ok. default=standard multi-engine search. stealth=full browser for JS-heavy result pages.\",\n },\n agent_context: {\n type: 'object',\n description:\n 'Optional agent context for ranking + dedup. text is concatenated with the query before embedding; recent_urls are dropped from results.',\n properties: {\n text: { type: 'string', description: 'Surrounding code / prior turn / task framing.' },\n recent_urls: { type: 'array', items: { type: 'string' }, description: 'URLs the agent has already seen.' },\n intent: { type: 'string', description: 'One-line task framing. Used when text is omitted.' },\n },\n additionalProperties: false,\n },\n },\n required: ['query'],\n};\n\nexport const CRAWL_TOOL_SCHEMA = {\n type: 'object' as const,\n properties: {\n url: { type: 'string', description: 'Seed URL to start crawling from' },\n max_depth: { type: 'number', description: 'Maximum link depth from seed (default: 2)' },\n max_pages: { type: 'number', description: 'Maximum pages to crawl (default: 20)' },\n strategy: {\n type: 'string',\n enum: ['bfs', 'dfs', 'sitemap', 'map'],\n description: 'Crawl strategy: bfs (breadth-first), dfs (depth-first), sitemap (use sitemap.xml), map (URL-only discovery — returns list of URLs without content, faster than full crawl)',\n },\n include_patterns: {\n type: 'array',\n items: { type: 'string' },\n description: 'URL regex whitelist — only crawl matching URLs',\n },\n exclude_patterns: {\n type: 'array',\n items: { type: 'string' },\n description: 'URL regex blacklist — skip matching URLs',\n },\n use_auth: { type: 'boolean', description: 'Use stored auth credentials (default: false)' },\n extract_links: { type: 'boolean', description: 'Return link graph between pages (default: false)' },\n max_total_chars: { type: 'number', description: 'Max total chars across all pages (default: 100000)' },\n max_tokens_out: {\n type: 'number',\n description: \"Token-budget cap on total output. Uses cl100k-base BPE; non-OpenAI tokenizer counts may drift ~5-15%. When both max_tokens_out and max_chars are set, max_tokens_out wins.\",\n },\n include_full_markdown: {\n type: 'boolean',\n description: 'Include full markdown body in the response. Default false on multi-result tools (returns evidence excerpts only); set true to restore.',\n },\n citation_format: {\n type: 'string',\n enum: ['numbered', 'anthropic_tags', 'json'],\n description: \"Citation rendering style. 'numbered' (default) inline [N] markers; 'json' returns a citations[] array; 'anthropic_tags' wraps sources in <source id='...'> tags.\",\n },\n },\n required: ['url'],\n};\n\nexport const CACHE_TOOL_SCHEMA = {\n type: 'object' as const,\n properties: {\n query: { type: 'string', description: 'Full-text search over cached content' },\n url_pattern: {\n type: 'string',\n description: 'Filter by URL glob pattern (e.g., \"*example.com*\")',\n },\n since: {\n type: 'string',\n description: 'ISO date — only results cached after this date',\n },\n clear: {\n type: 'boolean',\n description: 'Clear matching cache entries (requires at least one filter: query, url_pattern, or since)',\n },\n stats: {\n type: 'boolean',\n description: 'Return cache statistics (total URLs, size, date range)',\n },\n check_changes: {\n type: 'boolean',\n description:\n 'Re-fetch all matching cached URLs and report which ones have changed. ' +\n 'Returns a list of URLs with changed/unchanged status and diff summaries. ' +\n 'Use with query or url_pattern to scope which cached entries to check.',\n },\n mode: {\n type: 'string',\n enum: ['fts', 'hybrid'],\n description:\n 'Search strategy when query is provided. \"fts\" (default) runs keyword-only BM25 over the FTS5 index. ' +\n '\"hybrid\" additionally runs semantic vector search and fuses both rankings with reciprocal rank fusion ' +\n 'for higher-recall lookups; falls back to FTS when the embedding index is empty or unavailable.',\n },\n limit: {\n type: 'number',\n description: 'Maximum number of results to return (default 20).',\n },\n },\n};\n\nexport const EXTRACT_TOOL_SCHEMA = {\n type: 'object' as const,\n properties: {\n url: { type: 'string', description: 'URL to fetch and extract from' },\n html: { type: 'string', description: 'Raw HTML to extract from (url takes priority if both provided)' },\n mode: {\n type: 'string',\n enum: ['selector', 'tables', 'metadata', 'schema', 'structured'],\n description: 'Extraction mode: selector (CSS), tables (HTML tables), metadata (meta tags + JSON-LD), schema (fields matching a JSON Schema), structured (tables + definition lists + JSON-LD + chart hints + key/value pairs — one-shot structured brief)',\n },\n css_selector: {\n type: 'string',\n description: 'CSS selector to match (required when mode=\"selector\")',\n },\n multiple: {\n type: 'boolean',\n description: 'Return array of all matches instead of first (default: false, only for mode=\"selector\")',\n },\n schema: {\n type: 'object',\n description: 'JSON Schema defining fields to extract. Field names are matched against page content via CSS classes, ARIA labels, microdata, and JSON-LD. Required when mode=\"schema\".',\n },\n named_schema: {\n type: 'string',\n enum: ['Article', 'Recipe', 'Product', 'CodeSnippet', 'Paper', 'EventListing'],\n description: 'Extract page data into a strict named schema (heuristic only; no LLM required). Mutually exclusive with `schema`.',\n },\n },\n};\n\nexport const FIND_SIMILAR_TOOL_SCHEMA = {\n type: 'object' as const,\n properties: {\n url: {\n type: 'string',\n description: 'Find pages similar to this URL. The page is fetched (or read from cache) and its content analyzed for key terms.',\n },\n concept: {\n type: 'string',\n description: 'Find pages related to this concept or topic description. Use when you don\\'t have a specific URL.',\n },\n max_results: {\n type: 'number',\n description: 'Maximum results to return (default 10, max 50)',\n },\n include_domains: {\n type: 'array',\n items: { type: 'string' },\n description: 'Only return results from these domains',\n },\n exclude_domains: {\n type: 'array',\n items: { type: 'string' },\n description: 'Never return results from these domains',\n },\n include_cache: {\n type: 'boolean',\n description: 'Search local cache for similar pages (default: true)',\n },\n include_web: {\n type: 'boolean',\n description: 'Supplement with web search if needed (default: true)',\n },\n mode: {\n type: 'string',\n enum: ['auto', 'cache', 'web-expansion', 'crawl-rank'],\n default: 'auto',\n description: \"Retrieval strategy: cache (local hybrid), web-expansion (key terms + web search), crawl-rank (1-hop crawl from seed URL + embed + cosine rank), or auto.\",\n },\n max_tokens_out: {\n type: 'number',\n description: \"Token-budget cap on total output. Uses cl100k-base BPE; non-OpenAI tokenizer counts may drift ~5-15%. When both max_tokens_out and max_chars are set, max_tokens_out wins.\",\n },\n include_full_markdown: {\n type: 'boolean',\n description: 'Include full markdown body in the response. Default false on multi-result tools (returns evidence excerpts only); set true to restore.',\n },\n citation_format: {\n type: 'string',\n enum: ['numbered', 'anthropic_tags', 'json'],\n description: \"Citation rendering style. 'numbered' (default) inline [N] markers; 'json' returns a citations[] array; 'anthropic_tags' wraps sources in <source id='...'> tags.\",\n },\n },\n};\n\nexport const RESEARCH_TOOL_SCHEMA = {\n type: 'object' as const,\n properties: {\n question: { type: 'string', description: 'The research question to investigate' },\n depth: {\n type: 'string',\n enum: ['quick', 'standard', 'comprehensive'],\n description: 'Research depth: quick (~15s), standard (~40s, default), comprehensive (~80s)',\n },\n max_sources: {\n type: 'number',\n description: 'Override the default source count for the chosen depth (max 50)',\n },\n include_domains: {\n type: 'array',\n items: { type: 'string' },\n description: 'Only search results from these domains',\n },\n exclude_domains: {\n type: 'array',\n items: { type: 'string' },\n description: 'Exclude results from these domains',\n },\n schema: {\n type: 'object',\n description: 'Optional JSON Schema -- structure the report to extract these fields',\n },\n stream: {\n type: 'boolean',\n description: 'Send progress notifications as each research phase completes',\n },\n max_tokens_out: {\n type: 'number',\n description: \"Token-budget cap on total output. Uses cl100k-base BPE; non-OpenAI tokenizer counts may drift ~5-15%. When both max_tokens_out and max_chars are set, max_tokens_out wins.\",\n },\n include_full_markdown: {\n type: 'boolean',\n description: 'Include full markdown body in the response. Default false on multi-result tools (returns evidence excerpts only); set true to restore.',\n },\n citation_format: {\n type: 'string',\n enum: ['numbered', 'anthropic_tags', 'json'],\n description: \"Citation rendering style. 'numbered' (default) inline [N] markers; 'json' returns a citations[] array; 'anthropic_tags' wraps sources in <source id='...'> tags.\",\n },\n },\n required: ['question'],\n};\n\nexport const AGENT_TOOL_SCHEMA = {\n type: 'object' as const,\n properties: {\n prompt: {\n type: 'string',\n description: 'Natural-language description of what data to gather',\n },\n urls: {\n type: 'array',\n items: { type: 'string' },\n description: 'Specific URLs to include in the data gathering',\n },\n schema: {\n type: 'object',\n description: 'Optional JSON Schema -- extract structured data matching this schema from each page',\n },\n max_pages: {\n type: 'number',\n description: 'Maximum pages to fetch (default 10, max 100)',\n },\n max_time_ms: {\n type: 'number',\n description: 'Maximum execution time in milliseconds (default 60000)',\n },\n stream: {\n type: 'boolean',\n description: 'Send progress notifications as each step completes',\n },\n max_tokens_out: {\n type: 'number',\n description: \"Token-budget cap on total output. Uses cl100k-base BPE; non-OpenAI tokenizer counts may drift ~5-15%. When both max_tokens_out and max_chars are set, max_tokens_out wins.\",\n },\n include_full_markdown: {\n type: 'boolean',\n description: 'Include full markdown body in the response. Default false on multi-result tools (returns evidence excerpts only); set true to restore.',\n },\n citation_format: {\n type: 'string',\n enum: ['numbered', 'anthropic_tags', 'json'],\n description: \"Citation rendering style. 'numbered' (default) inline [N] markers; 'json' returns a citations[] array; 'anthropic_tags' wraps sources in <source id='...'> tags.\",\n },\n },\n required: ['prompt'],\n};\n\nexport const TOOL_SCHEMAS: Record<ToolName, ToolSchema> = {\n fetch: FETCH_TOOL_SCHEMA,\n search: SEARCH_TOOL_SCHEMA,\n crawl: CRAWL_TOOL_SCHEMA,\n cache: CACHE_TOOL_SCHEMA,\n extract: EXTRACT_TOOL_SCHEMA,\n find_similar: FIND_SIMILAR_TOOL_SCHEMA,\n research: RESEARCH_TOOL_SCHEMA,\n agent: AGENT_TOOL_SCHEMA,\n};\n"],"mappings":"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","names":[]}
@@ -0,0 +1,9 @@
1
+ export declare function isEagerWarmupEnabled(): boolean;
2
+ /**
3
+ * Fire-and-forget pre-warm of embed + rerank providers. No-op when env unset.
4
+ * Errors logged at warn, never thrown.
5
+ */
6
+ export declare function maybeEagerWarmup(): void;
7
+ /** Test-only: returns the in-flight warmup promise (or null). */
8
+ export declare function _getWarmupPendingForTest(): Promise<void> | null;
9
+ //# sourceMappingURL=warmup-on-start.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"warmup-on-start.d.ts","sourceRoot":"","sources":["../../src/server/warmup-on-start.ts"],"names":[],"mappings":"AAUA,wBAAgB,oBAAoB,IAAI,OAAO,CAE9C;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAQvC;AAoCD,iEAAiE;AACjE,wBAAgB,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAE/D"}
@@ -0,0 +1,55 @@
1
+ import { createLogger } from "../logger.js";
2
+ const log = createLogger("server");
3
+ let pending = null;
4
+ function isEagerWarmupEnabled() {
5
+ return process.env.WIGOLO_EAGER_WARMUP === "1";
6
+ }
7
+ function maybeEagerWarmup() {
8
+ if (!isEagerWarmupEnabled()) return;
9
+ pending = (async () => {
10
+ await Promise.all([warmEmbed(), warmRerank()]);
11
+ })().finally(() => {
12
+ pending = null;
13
+ });
14
+ }
15
+ async function warmEmbed() {
16
+ const start = Date.now();
17
+ try {
18
+ const mod = await import("../providers/embed-provider.js");
19
+ const provider = await mod.getEmbedProvider();
20
+ if (typeof provider.warmup === "function") {
21
+ await provider.warmup();
22
+ }
23
+ log.info("eager warmup: embed ready", { ms: Date.now() - start });
24
+ } catch (err) {
25
+ log.warn("eager warmup: embed failed", {
26
+ ms: Date.now() - start,
27
+ error: err instanceof Error ? err.message : String(err)
28
+ });
29
+ }
30
+ }
31
+ async function warmRerank() {
32
+ const start = Date.now();
33
+ try {
34
+ const mod = await import("../providers/rerank-provider.js");
35
+ const provider = await mod.getRerankProvider();
36
+ if (typeof provider.warmup === "function") {
37
+ await provider.warmup();
38
+ }
39
+ log.info("eager warmup: rerank ready", { ms: Date.now() - start });
40
+ } catch (err) {
41
+ log.warn("eager warmup: rerank failed", {
42
+ ms: Date.now() - start,
43
+ error: err instanceof Error ? err.message : String(err)
44
+ });
45
+ }
46
+ }
47
+ function _getWarmupPendingForTest() {
48
+ return pending;
49
+ }
50
+ export {
51
+ _getWarmupPendingForTest,
52
+ isEagerWarmupEnabled,
53
+ maybeEagerWarmup
54
+ };
55
+ //# sourceMappingURL=warmup-on-start.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/server/warmup-on-start.ts"],"sourcesContent":["import { createLogger } from '../logger.js';\n\nconst log = createLogger('server');\n\ninterface MaybeWarmable {\n warmup?: () => Promise<void>;\n}\n\nlet pending: Promise<void> | null = null;\n\nexport function isEagerWarmupEnabled(): boolean {\n return process.env.WIGOLO_EAGER_WARMUP === '1';\n}\n\n/**\n * Fire-and-forget pre-warm of embed + rerank providers. No-op when env unset.\n * Errors logged at warn, never thrown.\n */\nexport function maybeEagerWarmup(): void {\n if (!isEagerWarmupEnabled()) return;\n\n pending = (async () => {\n await Promise.all([warmEmbed(), warmRerank()]);\n })().finally(() => {\n pending = null;\n });\n}\n\nasync function warmEmbed(): Promise<void> {\n const start = Date.now();\n try {\n const mod = await import('../providers/embed-provider.js');\n const provider = (await mod.getEmbedProvider()) as MaybeWarmable;\n if (typeof provider.warmup === 'function') {\n await provider.warmup();\n }\n log.info('eager warmup: embed ready', { ms: Date.now() - start });\n } catch (err) {\n log.warn('eager warmup: embed failed', {\n ms: Date.now() - start,\n error: err instanceof Error ? err.message : String(err),\n });\n }\n}\n\nasync function warmRerank(): Promise<void> {\n const start = Date.now();\n try {\n const mod = await import('../providers/rerank-provider.js');\n const provider = (await mod.getRerankProvider()) as MaybeWarmable;\n if (typeof provider.warmup === 'function') {\n await provider.warmup();\n }\n log.info('eager warmup: rerank ready', { ms: Date.now() - start });\n } catch (err) {\n log.warn('eager warmup: rerank failed', {\n ms: Date.now() - start,\n error: err instanceof Error ? err.message : String(err),\n });\n }\n}\n\n/** Test-only: returns the in-flight warmup promise (or null). */\nexport function _getWarmupPendingForTest(): Promise<void> | null {\n return pending;\n}\n"],"mappings":"AAAA,SAAS,oBAAoB;AAE7B,MAAM,MAAM,aAAa,QAAQ;AAMjC,IAAI,UAAgC;AAE7B,SAAS,uBAAgC;AAC9C,SAAO,QAAQ,IAAI,wBAAwB;AAC7C;AAMO,SAAS,mBAAyB;AACvC,MAAI,CAAC,qBAAqB,EAAG;AAE7B,aAAW,YAAY;AACrB,UAAM,QAAQ,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,CAAC;AAAA,EAC/C,GAAG,EAAE,QAAQ,MAAM;AACjB,cAAU;AAAA,EACZ,CAAC;AACH;AAEA,eAAe,YAA2B;AACxC,QAAM,QAAQ,KAAK,IAAI;AACvB,MAAI;AACF,UAAM,MAAM,MAAM,OAAO,gCAAgC;AACzD,UAAM,WAAY,MAAM,IAAI,iBAAiB;AAC7C,QAAI,OAAO,SAAS,WAAW,YAAY;AACzC,YAAM,SAAS,OAAO;AAAA,IACxB;AACA,QAAI,KAAK,6BAA6B,EAAE,IAAI,KAAK,IAAI,IAAI,MAAM,CAAC;AAAA,EAClE,SAAS,KAAK;AACZ,QAAI,KAAK,8BAA8B;AAAA,MACrC,IAAI,KAAK,IAAI,IAAI;AAAA,MACjB,OAAO,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,IACxD,CAAC;AAAA,EACH;AACF;AAEA,eAAe,aAA4B;AACzC,QAAM,QAAQ,KAAK,IAAI;AACvB,MAAI;AACF,UAAM,MAAM,MAAM,OAAO,iCAAiC;AAC1D,UAAM,WAAY,MAAM,IAAI,kBAAkB;AAC9C,QAAI,OAAO,SAAS,WAAW,YAAY;AACzC,YAAM,SAAS,OAAO;AAAA,IACxB;AACA,QAAI,KAAK,8BAA8B,EAAE,IAAI,KAAK,IAAI,IAAI,MAAM,CAAC;AAAA,EACnE,SAAS,KAAK;AACZ,QAAI,KAAK,+BAA+B;AAAA,MACtC,IAAI,KAAK,IAAI,IAAI;AAAA,MACjB,OAAO,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,IACxD,CAAC;AAAA,EACH;AACF;AAGO,SAAS,2BAAiD;AAC/D,SAAO;AACT;","names":[]}
package/dist/server.d.ts CHANGED
@@ -1,2 +1,19 @@
1
+ import { Server } from '@modelcontextprotocol/sdk/server/index.js';
2
+ import { SmartRouter } from './fetch/router.js';
3
+ import { MultiBrowserPool } from './fetch/browser-pool.js';
4
+ import { BackendStatus } from './server/backend-status.js';
5
+ import { PluginRegistry } from './plugins/registry.js';
6
+ import type { SearchEngine } from './types.js';
7
+ export interface Subsystems {
8
+ searchEngines: SearchEngine[];
9
+ browserPool: MultiBrowserPool;
10
+ router: SmartRouter;
11
+ backendStatus: BackendStatus;
12
+ pluginRegistry: PluginRegistry;
13
+ shutdown: () => Promise<void>;
14
+ bootstrapSearxng: () => Promise<void>;
15
+ }
16
+ export declare function initSubsystems(): Promise<Subsystems>;
17
+ export declare function createMcpServer(subsystems: Subsystems): Server;
1
18
  export declare function startServer(): Promise<void>;
2
19
  //# sourceMappingURL=server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAsLA,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CA6JjD"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAQnE,OAAO,EAAE,WAAW,EAAmB,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAoB3D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAsB3D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,KAAK,EAA2B,YAAY,EAAuG,MAAM,YAAY,CAAC;AAkB7K,MAAM,WAAW,UAAU;IACzB,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,WAAW,EAAE,gBAAgB,CAAC;IAC9B,MAAM,EAAE,WAAW,CAAC;IACpB,aAAa,EAAE,aAAa,CAAC;IAC7B,cAAc,EAAE,cAAc,CAAC;IAC/B,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,gBAAgB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC;AAED,wBAAsB,cAAc,IAAI,OAAO,CAAC,UAAU,CAAC,CAuL1D;AAED,wBAAgB,eAAe,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAwO9D;AAED,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAsBjD"}