overai 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (442) hide show
  1. package/README.md +248 -0
  2. package/dist/agent/context.d.ts +74 -0
  3. package/dist/agent/context.js +140 -0
  4. package/dist/agent/enhanced.d.ts +98 -0
  5. package/dist/agent/enhanced.js +293 -0
  6. package/dist/agent/handoff.d.ts +82 -0
  7. package/dist/agent/handoff.js +124 -0
  8. package/dist/agent/image.d.ts +57 -0
  9. package/dist/agent/image.js +116 -0
  10. package/dist/agent/index.d.ts +19 -0
  11. package/dist/agent/index.js +38 -0
  12. package/dist/agent/prompt-expander.d.ts +43 -0
  13. package/dist/agent/prompt-expander.js +99 -0
  14. package/dist/agent/proxy.d.ts +26 -0
  15. package/dist/agent/proxy.js +173 -0
  16. package/dist/agent/query-rewriter.d.ts +41 -0
  17. package/dist/agent/query-rewriter.js +94 -0
  18. package/dist/agent/research.d.ts +55 -0
  19. package/dist/agent/research.js +134 -0
  20. package/dist/agent/router.d.ts +141 -0
  21. package/dist/agent/router.js +209 -0
  22. package/dist/agent/simple.d.ts +289 -0
  23. package/dist/agent/simple.js +696 -0
  24. package/dist/agent/types.d.ts +56 -0
  25. package/dist/agent/types.js +165 -0
  26. package/dist/ai/agent-loop.d.ts +177 -0
  27. package/dist/ai/agent-loop.js +313 -0
  28. package/dist/ai/devtools.d.ts +74 -0
  29. package/dist/ai/devtools.js +216 -0
  30. package/dist/ai/embed.d.ts +71 -0
  31. package/dist/ai/embed.js +154 -0
  32. package/dist/ai/generate-image.d.ts +66 -0
  33. package/dist/ai/generate-image.js +138 -0
  34. package/dist/ai/generate-object.d.ts +132 -0
  35. package/dist/ai/generate-object.js +206 -0
  36. package/dist/ai/generate-text.d.ts +201 -0
  37. package/dist/ai/generate-text.js +253 -0
  38. package/dist/ai/index.d.ts +27 -0
  39. package/dist/ai/index.js +140 -0
  40. package/dist/ai/mcp.d.ts +181 -0
  41. package/dist/ai/mcp.js +234 -0
  42. package/dist/ai/middleware.d.ts +110 -0
  43. package/dist/ai/middleware.js +186 -0
  44. package/dist/ai/models.d.ts +67 -0
  45. package/dist/ai/models.js +249 -0
  46. package/dist/ai/multimodal.d.ts +125 -0
  47. package/dist/ai/multimodal.js +270 -0
  48. package/dist/ai/nextjs.d.ts +122 -0
  49. package/dist/ai/nextjs.js +218 -0
  50. package/dist/ai/server.d.ts +126 -0
  51. package/dist/ai/server.js +336 -0
  52. package/dist/ai/speech.d.ts +135 -0
  53. package/dist/ai/speech.js +296 -0
  54. package/dist/ai/telemetry.d.ts +162 -0
  55. package/dist/ai/telemetry.js +311 -0
  56. package/dist/ai/tool-approval.d.ts +225 -0
  57. package/dist/ai/tool-approval.js +407 -0
  58. package/dist/ai/tools.d.ts +93 -0
  59. package/dist/ai/tools.js +89 -0
  60. package/dist/ai/types.d.ts +47 -0
  61. package/dist/ai/types.js +5 -0
  62. package/dist/ai/ui-message.d.ts +218 -0
  63. package/dist/ai/ui-message.js +291 -0
  64. package/dist/auto/index.d.ts +62 -0
  65. package/dist/auto/index.js +163 -0
  66. package/dist/cache/index.d.ts +78 -0
  67. package/dist/cache/index.js +235 -0
  68. package/dist/cli/commands/agent.d.ts +30 -0
  69. package/dist/cli/commands/agent.js +151 -0
  70. package/dist/cli/commands/agents.d.ts +24 -0
  71. package/dist/cli/commands/agents.js +166 -0
  72. package/dist/cli/commands/approval.d.ts +10 -0
  73. package/dist/cli/commands/approval.js +253 -0
  74. package/dist/cli/commands/auto.d.ts +12 -0
  75. package/dist/cli/commands/auto.js +109 -0
  76. package/dist/cli/commands/autonomy.d.ts +5 -0
  77. package/dist/cli/commands/autonomy.js +152 -0
  78. package/dist/cli/commands/benchmark.d.ts +19 -0
  79. package/dist/cli/commands/benchmark.js +484 -0
  80. package/dist/cli/commands/cache.d.ts +9 -0
  81. package/dist/cli/commands/cache.js +143 -0
  82. package/dist/cli/commands/chat.d.ts +14 -0
  83. package/dist/cli/commands/chat.js +127 -0
  84. package/dist/cli/commands/checkpoints.d.ts +5 -0
  85. package/dist/cli/commands/checkpoints.js +236 -0
  86. package/dist/cli/commands/context.d.ts +11 -0
  87. package/dist/cli/commands/context.js +182 -0
  88. package/dist/cli/commands/cost.d.ts +5 -0
  89. package/dist/cli/commands/cost.js +146 -0
  90. package/dist/cli/commands/db.d.ts +9 -0
  91. package/dist/cli/commands/db.js +149 -0
  92. package/dist/cli/commands/embed.d.ts +20 -0
  93. package/dist/cli/commands/embed.js +375 -0
  94. package/dist/cli/commands/eval.d.ts +17 -0
  95. package/dist/cli/commands/eval.js +247 -0
  96. package/dist/cli/commands/external-agents.d.ts +5 -0
  97. package/dist/cli/commands/external-agents.js +170 -0
  98. package/dist/cli/commands/fast-context.d.ts +5 -0
  99. package/dist/cli/commands/fast-context.js +126 -0
  100. package/dist/cli/commands/flow.d.ts +5 -0
  101. package/dist/cli/commands/flow.js +141 -0
  102. package/dist/cli/commands/git.d.ts +5 -0
  103. package/dist/cli/commands/git.js +178 -0
  104. package/dist/cli/commands/graph-rag.d.ts +9 -0
  105. package/dist/cli/commands/graph-rag.js +131 -0
  106. package/dist/cli/commands/guardrail.d.ts +11 -0
  107. package/dist/cli/commands/guardrail.js +156 -0
  108. package/dist/cli/commands/handoff.d.ts +9 -0
  109. package/dist/cli/commands/handoff.js +133 -0
  110. package/dist/cli/commands/help.d.ts +8 -0
  111. package/dist/cli/commands/help.js +139 -0
  112. package/dist/cli/commands/image.d.ts +13 -0
  113. package/dist/cli/commands/image.js +192 -0
  114. package/dist/cli/commands/interactive.d.ts +6 -0
  115. package/dist/cli/commands/interactive.js +79 -0
  116. package/dist/cli/commands/jobs.d.ts +5 -0
  117. package/dist/cli/commands/jobs.js +282 -0
  118. package/dist/cli/commands/knowledge.d.ts +9 -0
  119. package/dist/cli/commands/knowledge.js +226 -0
  120. package/dist/cli/commands/llm.d.ts +21 -0
  121. package/dist/cli/commands/llm.js +748 -0
  122. package/dist/cli/commands/mcp.d.ts +9 -0
  123. package/dist/cli/commands/mcp.js +243 -0
  124. package/dist/cli/commands/memory.d.ts +10 -0
  125. package/dist/cli/commands/memory.js +198 -0
  126. package/dist/cli/commands/n8n.d.ts +5 -0
  127. package/dist/cli/commands/n8n.js +137 -0
  128. package/dist/cli/commands/observability.d.ts +16 -0
  129. package/dist/cli/commands/observability.js +335 -0
  130. package/dist/cli/commands/planning.d.ts +9 -0
  131. package/dist/cli/commands/planning.js +167 -0
  132. package/dist/cli/commands/prompt-expand.d.ts +11 -0
  133. package/dist/cli/commands/prompt-expand.js +100 -0
  134. package/dist/cli/commands/providers.d.ts +17 -0
  135. package/dist/cli/commands/providers.js +386 -0
  136. package/dist/cli/commands/query-rewrite.d.ts +12 -0
  137. package/dist/cli/commands/query-rewrite.js +102 -0
  138. package/dist/cli/commands/repo-map.d.ts +5 -0
  139. package/dist/cli/commands/repo-map.js +151 -0
  140. package/dist/cli/commands/reranker.d.ts +10 -0
  141. package/dist/cli/commands/reranker.js +144 -0
  142. package/dist/cli/commands/research.d.ts +12 -0
  143. package/dist/cli/commands/research.js +108 -0
  144. package/dist/cli/commands/router.d.ts +11 -0
  145. package/dist/cli/commands/router.js +142 -0
  146. package/dist/cli/commands/run.d.ts +14 -0
  147. package/dist/cli/commands/run.js +111 -0
  148. package/dist/cli/commands/sandbox.d.ts +5 -0
  149. package/dist/cli/commands/sandbox.js +135 -0
  150. package/dist/cli/commands/scheduler.d.ts +5 -0
  151. package/dist/cli/commands/scheduler.js +260 -0
  152. package/dist/cli/commands/session.d.ts +9 -0
  153. package/dist/cli/commands/session.js +238 -0
  154. package/dist/cli/commands/skills.d.ts +9 -0
  155. package/dist/cli/commands/skills.js +256 -0
  156. package/dist/cli/commands/telemetry.d.ts +9 -0
  157. package/dist/cli/commands/telemetry.js +146 -0
  158. package/dist/cli/commands/tools.d.ts +19 -0
  159. package/dist/cli/commands/tools.js +576 -0
  160. package/dist/cli/commands/vector.d.ts +10 -0
  161. package/dist/cli/commands/vector.js +171 -0
  162. package/dist/cli/commands/version.d.ts +8 -0
  163. package/dist/cli/commands/version.js +40 -0
  164. package/dist/cli/commands/voice.d.ts +10 -0
  165. package/dist/cli/commands/voice.js +162 -0
  166. package/dist/cli/commands/workflow.d.ts +13 -0
  167. package/dist/cli/commands/workflow.js +184 -0
  168. package/dist/cli/config/index.d.ts +6 -0
  169. package/dist/cli/config/index.js +22 -0
  170. package/dist/cli/config/load.d.ts +20 -0
  171. package/dist/cli/config/load.js +229 -0
  172. package/dist/cli/config/resolve.d.ts +28 -0
  173. package/dist/cli/config/resolve.js +70 -0
  174. package/dist/cli/config/schema.d.ts +15 -0
  175. package/dist/cli/config/schema.js +65 -0
  176. package/dist/cli/features/autonomy-mode.d.ts +98 -0
  177. package/dist/cli/features/autonomy-mode.js +266 -0
  178. package/dist/cli/features/background-jobs.d.ts +155 -0
  179. package/dist/cli/features/background-jobs.js +416 -0
  180. package/dist/cli/features/checkpoints.d.ts +126 -0
  181. package/dist/cli/features/checkpoints.js +288 -0
  182. package/dist/cli/features/cost-tracker.d.ts +101 -0
  183. package/dist/cli/features/cost-tracker.js +212 -0
  184. package/dist/cli/features/external-agents.d.ts +117 -0
  185. package/dist/cli/features/external-agents.js +296 -0
  186. package/dist/cli/features/fast-context.d.ts +126 -0
  187. package/dist/cli/features/fast-context.js +310 -0
  188. package/dist/cli/features/flow-display.d.ts +100 -0
  189. package/dist/cli/features/flow-display.js +254 -0
  190. package/dist/cli/features/git-integration.d.ts +138 -0
  191. package/dist/cli/features/git-integration.js +374 -0
  192. package/dist/cli/features/index.d.ts +17 -0
  193. package/dist/cli/features/index.js +102 -0
  194. package/dist/cli/features/interactive-tui.d.ts +114 -0
  195. package/dist/cli/features/interactive-tui.js +326 -0
  196. package/dist/cli/features/n8n-integration.d.ts +111 -0
  197. package/dist/cli/features/n8n-integration.js +299 -0
  198. package/dist/cli/features/repo-map.d.ts +101 -0
  199. package/dist/cli/features/repo-map.js +350 -0
  200. package/dist/cli/features/sandbox-executor.d.ts +89 -0
  201. package/dist/cli/features/sandbox-executor.js +314 -0
  202. package/dist/cli/features/scheduler.d.ts +111 -0
  203. package/dist/cli/features/scheduler.js +298 -0
  204. package/dist/cli/features/slash-commands.d.ts +77 -0
  205. package/dist/cli/features/slash-commands.js +316 -0
  206. package/dist/cli/index.d.ts +24 -0
  207. package/dist/cli/index.js +214 -0
  208. package/dist/cli/output/errors.d.ts +23 -0
  209. package/dist/cli/output/errors.js +36 -0
  210. package/dist/cli/output/json.d.ts +27 -0
  211. package/dist/cli/output/json.js +31 -0
  212. package/dist/cli/output/pretty.d.ts +13 -0
  213. package/dist/cli/output/pretty.js +31 -0
  214. package/dist/cli/runtime/env.d.ts +12 -0
  215. package/dist/cli/runtime/env.js +55 -0
  216. package/dist/cli/runtime/exit.d.ts +11 -0
  217. package/dist/cli/runtime/exit.js +49 -0
  218. package/dist/cli/runtime/index.d.ts +6 -0
  219. package/dist/cli/runtime/index.js +22 -0
  220. package/dist/cli/runtime/lazy.d.ts +18 -0
  221. package/dist/cli/runtime/lazy.js +85 -0
  222. package/dist/cli/spec/cli-spec.d.ts +87 -0
  223. package/dist/cli/spec/cli-spec.js +551 -0
  224. package/dist/cli/spec/index.d.ts +4 -0
  225. package/dist/cli/spec/index.js +20 -0
  226. package/dist/db/index.d.ts +6 -0
  227. package/dist/db/index.js +75 -0
  228. package/dist/db/types.d.ts +42 -0
  229. package/dist/db/types.js +2 -0
  230. package/dist/eval/index.d.ts +61 -0
  231. package/dist/eval/index.js +157 -0
  232. package/dist/events/index.d.ts +84 -0
  233. package/dist/events/index.js +153 -0
  234. package/dist/guardrails/index.d.ts +82 -0
  235. package/dist/guardrails/index.js +202 -0
  236. package/dist/guardrails/llm-guardrail.d.ts +46 -0
  237. package/dist/guardrails/llm-guardrail.js +112 -0
  238. package/dist/index.d.ts +92 -0
  239. package/dist/index.js +608 -0
  240. package/dist/integrations/computer-use.d.ts +182 -0
  241. package/dist/integrations/computer-use.js +356 -0
  242. package/dist/integrations/index.d.ts +7 -0
  243. package/dist/integrations/index.js +26 -0
  244. package/dist/integrations/observability/base.d.ts +123 -0
  245. package/dist/integrations/observability/base.js +183 -0
  246. package/dist/integrations/observability/index.d.ts +8 -0
  247. package/dist/integrations/observability/index.js +29 -0
  248. package/dist/integrations/observability/langfuse.d.ts +32 -0
  249. package/dist/integrations/observability/langfuse.js +174 -0
  250. package/dist/integrations/postgres.d.ts +162 -0
  251. package/dist/integrations/postgres.js +396 -0
  252. package/dist/integrations/slack.d.ts +145 -0
  253. package/dist/integrations/slack.js +270 -0
  254. package/dist/integrations/vector/base.d.ts +110 -0
  255. package/dist/integrations/vector/base.js +158 -0
  256. package/dist/integrations/vector/chroma.d.ts +25 -0
  257. package/dist/integrations/vector/chroma.js +143 -0
  258. package/dist/integrations/vector/index.d.ts +14 -0
  259. package/dist/integrations/vector/index.js +37 -0
  260. package/dist/integrations/vector/pinecone.d.ts +28 -0
  261. package/dist/integrations/vector/pinecone.js +172 -0
  262. package/dist/integrations/vector/qdrant.d.ts +25 -0
  263. package/dist/integrations/vector/qdrant.js +146 -0
  264. package/dist/integrations/vector/weaviate.d.ts +30 -0
  265. package/dist/integrations/vector/weaviate.js +206 -0
  266. package/dist/integrations/voice/base.d.ts +76 -0
  267. package/dist/integrations/voice/base.js +168 -0
  268. package/dist/integrations/voice/index.d.ts +6 -0
  269. package/dist/integrations/voice/index.js +26 -0
  270. package/dist/knowledge/chunking.d.ts +55 -0
  271. package/dist/knowledge/chunking.js +158 -0
  272. package/dist/knowledge/graph-rag.d.ts +125 -0
  273. package/dist/knowledge/graph-rag.js +289 -0
  274. package/dist/knowledge/index.d.ts +24 -0
  275. package/dist/knowledge/index.js +47 -0
  276. package/dist/knowledge/knowledge.d.ts +0 -0
  277. package/dist/knowledge/knowledge.js +1 -0
  278. package/dist/knowledge/rag.d.ts +80 -0
  279. package/dist/knowledge/rag.js +147 -0
  280. package/dist/knowledge/reranker.d.ts +86 -0
  281. package/dist/knowledge/reranker.js +196 -0
  282. package/dist/llm/backend-resolver.d.ts +77 -0
  283. package/dist/llm/backend-resolver.js +242 -0
  284. package/dist/llm/embeddings.d.ts +66 -0
  285. package/dist/llm/embeddings.js +294 -0
  286. package/dist/llm/index.d.ts +29 -0
  287. package/dist/llm/index.js +33 -0
  288. package/dist/llm/llm.d.ts +0 -0
  289. package/dist/llm/llm.js +1 -0
  290. package/dist/llm/openai.d.ts +39 -0
  291. package/dist/llm/openai.js +302 -0
  292. package/dist/llm/providers/ai-sdk/adapter.d.ts +121 -0
  293. package/dist/llm/providers/ai-sdk/adapter.js +399 -0
  294. package/dist/llm/providers/ai-sdk/backend.d.ts +49 -0
  295. package/dist/llm/providers/ai-sdk/backend.js +421 -0
  296. package/dist/llm/providers/ai-sdk/index.d.ts +69 -0
  297. package/dist/llm/providers/ai-sdk/index.js +200 -0
  298. package/dist/llm/providers/ai-sdk/middleware.d.ts +60 -0
  299. package/dist/llm/providers/ai-sdk/middleware.js +262 -0
  300. package/dist/llm/providers/ai-sdk/provider-map.d.ts +75 -0
  301. package/dist/llm/providers/ai-sdk/provider-map.js +258 -0
  302. package/dist/llm/providers/ai-sdk/types.d.ts +217 -0
  303. package/dist/llm/providers/ai-sdk/types.js +222 -0
  304. package/dist/llm/providers/anthropic.d.ts +33 -0
  305. package/dist/llm/providers/anthropic.js +291 -0
  306. package/dist/llm/providers/base.d.ts +25 -0
  307. package/dist/llm/providers/base.js +43 -0
  308. package/dist/llm/providers/google.d.ts +27 -0
  309. package/dist/llm/providers/google.js +275 -0
  310. package/dist/llm/providers/index.d.ts +107 -0
  311. package/dist/llm/providers/index.js +216 -0
  312. package/dist/llm/providers/openai.d.ts +18 -0
  313. package/dist/llm/providers/openai.js +203 -0
  314. package/dist/llm/providers/registry.d.ts +159 -0
  315. package/dist/llm/providers/registry.js +279 -0
  316. package/dist/llm/providers/types.d.ts +94 -0
  317. package/dist/llm/providers/types.js +5 -0
  318. package/dist/main.d.ts +0 -0
  319. package/dist/main.js +1 -0
  320. package/dist/memory/auto-memory.d.ts +136 -0
  321. package/dist/memory/auto-memory.js +301 -0
  322. package/dist/memory/file-memory.d.ts +88 -0
  323. package/dist/memory/file-memory.js +287 -0
  324. package/dist/memory/index.d.ts +26 -0
  325. package/dist/memory/index.js +41 -0
  326. package/dist/memory/memory.d.ts +92 -0
  327. package/dist/memory/memory.js +170 -0
  328. package/dist/observability/adapters/console.d.ts +33 -0
  329. package/dist/observability/adapters/console.js +71 -0
  330. package/dist/observability/adapters/external/arize.d.ts +20 -0
  331. package/dist/observability/adapters/external/arize.js +22 -0
  332. package/dist/observability/adapters/external/axiom.d.ts +20 -0
  333. package/dist/observability/adapters/external/axiom.js +22 -0
  334. package/dist/observability/adapters/external/braintrust.d.ts +20 -0
  335. package/dist/observability/adapters/external/braintrust.js +22 -0
  336. package/dist/observability/adapters/external/helicone.d.ts +20 -0
  337. package/dist/observability/adapters/external/helicone.js +22 -0
  338. package/dist/observability/adapters/external/laminar.d.ts +20 -0
  339. package/dist/observability/adapters/external/laminar.js +22 -0
  340. package/dist/observability/adapters/external/langfuse.d.ts +28 -0
  341. package/dist/observability/adapters/external/langfuse.js +186 -0
  342. package/dist/observability/adapters/external/langsmith.d.ts +21 -0
  343. package/dist/observability/adapters/external/langsmith.js +83 -0
  344. package/dist/observability/adapters/external/langwatch.d.ts +20 -0
  345. package/dist/observability/adapters/external/langwatch.js +22 -0
  346. package/dist/observability/adapters/external/maxim.d.ts +20 -0
  347. package/dist/observability/adapters/external/maxim.js +22 -0
  348. package/dist/observability/adapters/external/patronus.d.ts +20 -0
  349. package/dist/observability/adapters/external/patronus.js +22 -0
  350. package/dist/observability/adapters/external/scorecard.d.ts +20 -0
  351. package/dist/observability/adapters/external/scorecard.js +22 -0
  352. package/dist/observability/adapters/external/signoz.d.ts +20 -0
  353. package/dist/observability/adapters/external/signoz.js +22 -0
  354. package/dist/observability/adapters/external/traceloop.d.ts +20 -0
  355. package/dist/observability/adapters/external/traceloop.js +22 -0
  356. package/dist/observability/adapters/external/weave.d.ts +20 -0
  357. package/dist/observability/adapters/external/weave.js +22 -0
  358. package/dist/observability/adapters/index.d.ts +19 -0
  359. package/dist/observability/adapters/index.js +289 -0
  360. package/dist/observability/adapters/memory.d.ts +41 -0
  361. package/dist/observability/adapters/memory.js +190 -0
  362. package/dist/observability/adapters/noop.d.ts +25 -0
  363. package/dist/observability/adapters/noop.js +64 -0
  364. package/dist/observability/index.d.ts +47 -0
  365. package/dist/observability/index.js +115 -0
  366. package/dist/observability/types.d.ts +165 -0
  367. package/dist/observability/types.js +165 -0
  368. package/dist/planning/index.d.ts +253 -0
  369. package/dist/planning/index.js +475 -0
  370. package/dist/process/index.d.ts +25 -0
  371. package/dist/process/index.js +37 -0
  372. package/dist/process/process.d.ts +0 -0
  373. package/dist/process/process.js +1 -0
  374. package/dist/session/index.d.ts +111 -0
  375. package/dist/session/index.js +250 -0
  376. package/dist/skills/index.d.ts +70 -0
  377. package/dist/skills/index.js +233 -0
  378. package/dist/task/index.d.ts +25 -0
  379. package/dist/task/index.js +32 -0
  380. package/dist/task/task.d.ts +0 -0
  381. package/dist/task/task.js +1 -0
  382. package/dist/telemetry/index.d.ts +175 -0
  383. package/dist/telemetry/index.js +287 -0
  384. package/dist/tools/arxivTools.d.ts +32 -0
  385. package/dist/tools/arxivTools.js +81 -0
  386. package/dist/tools/base.d.ts +97 -0
  387. package/dist/tools/base.js +147 -0
  388. package/dist/tools/builtins/airweave.d.ts +32 -0
  389. package/dist/tools/builtins/airweave.js +119 -0
  390. package/dist/tools/builtins/bedrock-agentcore.d.ts +62 -0
  391. package/dist/tools/builtins/bedrock-agentcore.js +233 -0
  392. package/dist/tools/builtins/code-execution.d.ts +36 -0
  393. package/dist/tools/builtins/code-execution.js +136 -0
  394. package/dist/tools/builtins/code-mode.d.ts +54 -0
  395. package/dist/tools/builtins/code-mode.js +167 -0
  396. package/dist/tools/builtins/custom.d.ts +42 -0
  397. package/dist/tools/builtins/custom.js +195 -0
  398. package/dist/tools/builtins/exa.d.ts +53 -0
  399. package/dist/tools/builtins/exa.js +112 -0
  400. package/dist/tools/builtins/firecrawl.d.ts +56 -0
  401. package/dist/tools/builtins/firecrawl.js +158 -0
  402. package/dist/tools/builtins/index.d.ts +45 -0
  403. package/dist/tools/builtins/index.js +180 -0
  404. package/dist/tools/builtins/parallel.d.ts +30 -0
  405. package/dist/tools/builtins/parallel.js +113 -0
  406. package/dist/tools/builtins/perplexity.d.ts +32 -0
  407. package/dist/tools/builtins/perplexity.js +113 -0
  408. package/dist/tools/builtins/superagent.d.ts +66 -0
  409. package/dist/tools/builtins/superagent.js +187 -0
  410. package/dist/tools/builtins/tavily.d.ts +99 -0
  411. package/dist/tools/builtins/tavily.js +285 -0
  412. package/dist/tools/builtins/valyu.d.ts +65 -0
  413. package/dist/tools/builtins/valyu.js +193 -0
  414. package/dist/tools/decorator.d.ts +91 -0
  415. package/dist/tools/decorator.js +165 -0
  416. package/dist/tools/index.d.ts +8 -0
  417. package/dist/tools/index.js +36 -0
  418. package/dist/tools/mcpSse.d.ts +43 -0
  419. package/dist/tools/mcpSse.js +110 -0
  420. package/dist/tools/registry/index.d.ts +9 -0
  421. package/dist/tools/registry/index.js +28 -0
  422. package/dist/tools/registry/middleware.d.ts +43 -0
  423. package/dist/tools/registry/middleware.js +220 -0
  424. package/dist/tools/registry/registry.d.ts +92 -0
  425. package/dist/tools/registry/registry.js +280 -0
  426. package/dist/tools/registry/types.d.ts +217 -0
  427. package/dist/tools/registry/types.js +49 -0
  428. package/dist/tools/test.d.ts +0 -0
  429. package/dist/tools/test.js +1 -0
  430. package/dist/tools/tools.d.ts +74 -0
  431. package/dist/tools/tools.js +133 -0
  432. package/dist/utils/logger.d.ts +25 -0
  433. package/dist/utils/logger.js +149 -0
  434. package/dist/utils/pretty-logger.d.ts +21 -0
  435. package/dist/utils/pretty-logger.js +248 -0
  436. package/dist/workflows/index.d.ts +118 -0
  437. package/dist/workflows/index.js +247 -0
  438. package/dist/workflows/loop.d.ts +0 -0
  439. package/dist/workflows/loop.js +1 -0
  440. package/dist/workflows/yaml-parser.d.ts +48 -0
  441. package/dist/workflows/yaml-parser.js +304 -0
  442. package/package.json +119 -0
@@ -0,0 +1,289 @@
1
+ "use strict";
2
+ /**
3
+ * Graph RAG - Graph-based Retrieval Augmented Generation
4
+ * Inspired by mastra's graph-rag module
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.GraphRAG = exports.GraphStore = void 0;
8
+ exports.createGraphRAG = createGraphRAG;
9
+ /**
10
+ * In-memory Graph Store for Graph RAG
11
+ */
12
+ class GraphStore {
13
+ constructor() {
14
+ this.nodes = new Map();
15
+ this.edges = new Map();
16
+ this.adjacencyList = new Map();
17
+ this.reverseAdjacencyList = new Map();
18
+ }
19
+ /**
20
+ * Add a node to the graph
21
+ */
22
+ addNode(node) {
23
+ this.nodes.set(node.id, node);
24
+ if (!this.adjacencyList.has(node.id)) {
25
+ this.adjacencyList.set(node.id, new Set());
26
+ }
27
+ if (!this.reverseAdjacencyList.has(node.id)) {
28
+ this.reverseAdjacencyList.set(node.id, new Set());
29
+ }
30
+ }
31
+ /**
32
+ * Add an edge to the graph
33
+ */
34
+ addEdge(edge) {
35
+ this.edges.set(edge.id, edge);
36
+ // Update adjacency lists
37
+ if (!this.adjacencyList.has(edge.source)) {
38
+ this.adjacencyList.set(edge.source, new Set());
39
+ }
40
+ this.adjacencyList.get(edge.source).add(edge.target);
41
+ if (!this.reverseAdjacencyList.has(edge.target)) {
42
+ this.reverseAdjacencyList.set(edge.target, new Set());
43
+ }
44
+ this.reverseAdjacencyList.get(edge.target).add(edge.source);
45
+ }
46
+ /**
47
+ * Get a node by ID
48
+ */
49
+ getNode(id) {
50
+ return this.nodes.get(id);
51
+ }
52
+ /**
53
+ * Get all nodes
54
+ */
55
+ getAllNodes() {
56
+ return Array.from(this.nodes.values());
57
+ }
58
+ /**
59
+ * Get neighbors of a node
60
+ */
61
+ getNeighbors(nodeId, direction = 'both') {
62
+ const neighborIds = new Set();
63
+ if (direction === 'outgoing' || direction === 'both') {
64
+ const outgoing = this.adjacencyList.get(nodeId);
65
+ if (outgoing) {
66
+ outgoing.forEach(id => neighborIds.add(id));
67
+ }
68
+ }
69
+ if (direction === 'incoming' || direction === 'both') {
70
+ const incoming = this.reverseAdjacencyList.get(nodeId);
71
+ if (incoming) {
72
+ incoming.forEach(id => neighborIds.add(id));
73
+ }
74
+ }
75
+ return Array.from(neighborIds)
76
+ .map(id => this.nodes.get(id))
77
+ .filter((n) => n !== undefined);
78
+ }
79
+ /**
80
+ * Get edges between two nodes
81
+ */
82
+ getEdgesBetween(sourceId, targetId) {
83
+ return Array.from(this.edges.values()).filter(e => (e.source === sourceId && e.target === targetId) ||
84
+ (e.source === targetId && e.target === sourceId));
85
+ }
86
+ /**
87
+ * Find paths between two nodes using BFS
88
+ */
89
+ findPaths(startId, endId, maxDepth = 3) {
90
+ const paths = [];
91
+ const queue = [
92
+ { path: [startId], visited: new Set([startId]) }
93
+ ];
94
+ while (queue.length > 0) {
95
+ const { path, visited } = queue.shift();
96
+ const currentId = path[path.length - 1];
97
+ if (currentId === endId) {
98
+ paths.push(path.map(id => this.nodes.get(id)).filter(n => n));
99
+ continue;
100
+ }
101
+ if (path.length >= maxDepth) {
102
+ continue;
103
+ }
104
+ const neighbors = this.adjacencyList.get(currentId) || new Set();
105
+ for (const neighborId of neighbors) {
106
+ if (!visited.has(neighborId)) {
107
+ const newVisited = new Set(visited);
108
+ newVisited.add(neighborId);
109
+ queue.push({ path: [...path, neighborId], visited: newVisited });
110
+ }
111
+ }
112
+ }
113
+ return paths;
114
+ }
115
+ /**
116
+ * Get subgraph around a node
117
+ */
118
+ getSubgraph(nodeId, depth = 2) {
119
+ const visitedNodes = new Set();
120
+ const resultEdges = [];
121
+ const queue = [{ id: nodeId, currentDepth: 0 }];
122
+ while (queue.length > 0) {
123
+ const { id, currentDepth } = queue.shift();
124
+ if (visitedNodes.has(id) || currentDepth > depth) {
125
+ continue;
126
+ }
127
+ visitedNodes.add(id);
128
+ if (currentDepth < depth) {
129
+ const neighbors = this.getNeighbors(id);
130
+ for (const neighbor of neighbors) {
131
+ if (!visitedNodes.has(neighbor.id)) {
132
+ queue.push({ id: neighbor.id, currentDepth: currentDepth + 1 });
133
+ // Add edges
134
+ const edges = this.getEdgesBetween(id, neighbor.id);
135
+ resultEdges.push(...edges);
136
+ }
137
+ }
138
+ }
139
+ }
140
+ const resultNodes = Array.from(visitedNodes)
141
+ .map(id => this.nodes.get(id))
142
+ .filter((n) => n !== undefined);
143
+ return { nodes: resultNodes, edges: resultEdges };
144
+ }
145
+ /**
146
+ * Clear the graph
147
+ */
148
+ clear() {
149
+ this.nodes.clear();
150
+ this.edges.clear();
151
+ this.adjacencyList.clear();
152
+ this.reverseAdjacencyList.clear();
153
+ }
154
+ /**
155
+ * Get graph statistics
156
+ */
157
+ getStats() {
158
+ return {
159
+ nodeCount: this.nodes.size,
160
+ edgeCount: this.edges.size
161
+ };
162
+ }
163
+ }
164
+ exports.GraphStore = GraphStore;
165
+ /**
166
+ * Graph RAG - Combines graph traversal with vector similarity
167
+ */
168
+ class GraphRAG {
169
+ constructor(config = {}) {
170
+ this.graphStore = new GraphStore();
171
+ this.embedFn = config.embedFn;
172
+ }
173
+ /**
174
+ * Add a document as a node
175
+ */
176
+ async addDocument(doc) {
177
+ const embedding = this.embedFn ? await this.embedFn(doc.content) : undefined;
178
+ this.graphStore.addNode({
179
+ id: doc.id,
180
+ type: doc.type || 'document',
181
+ content: doc.content,
182
+ metadata: doc.metadata,
183
+ embedding
184
+ });
185
+ }
186
+ /**
187
+ * Add a relationship between documents
188
+ */
189
+ addRelationship(sourceId, targetId, type, weight) {
190
+ this.graphStore.addEdge({
191
+ id: `${sourceId}-${type}-${targetId}`,
192
+ source: sourceId,
193
+ target: targetId,
194
+ type,
195
+ weight
196
+ });
197
+ }
198
+ /**
199
+ * Query the graph with a natural language query
200
+ */
201
+ async query(query, config = {}) {
202
+ const { maxDepth = 2, maxNodes = 10, minScore = 0, includeEdges = true } = config;
203
+ // Get all nodes and score them
204
+ const allNodes = this.graphStore.getAllNodes();
205
+ let scoredNodes;
206
+ if (this.embedFn) {
207
+ // Use embedding similarity
208
+ const queryEmbedding = await this.embedFn(query);
209
+ scoredNodes = allNodes
210
+ .filter(n => n.embedding)
211
+ .map(node => ({
212
+ node,
213
+ score: this.cosineSimilarity(queryEmbedding, node.embedding)
214
+ }));
215
+ }
216
+ else {
217
+ // Use keyword matching
218
+ const queryTerms = query.toLowerCase().split(/\s+/);
219
+ scoredNodes = allNodes.map(node => {
220
+ const content = node.content.toLowerCase();
221
+ let score = 0;
222
+ for (const term of queryTerms) {
223
+ if (content.includes(term))
224
+ score += 1;
225
+ }
226
+ return { node, score: score / queryTerms.length };
227
+ });
228
+ }
229
+ // Filter and sort by score
230
+ scoredNodes = scoredNodes
231
+ .filter(s => s.score >= minScore)
232
+ .sort((a, b) => b.score - a.score);
233
+ // Get top nodes and expand graph
234
+ const topNodes = scoredNodes.slice(0, Math.min(3, maxNodes));
235
+ const resultNodes = [];
236
+ const resultEdges = [];
237
+ const seenNodeIds = new Set();
238
+ for (const { node } of topNodes) {
239
+ const subgraph = this.graphStore.getSubgraph(node.id, maxDepth);
240
+ for (const n of subgraph.nodes) {
241
+ if (!seenNodeIds.has(n.id) && resultNodes.length < maxNodes) {
242
+ seenNodeIds.add(n.id);
243
+ resultNodes.push(n);
244
+ }
245
+ }
246
+ if (includeEdges) {
247
+ resultEdges.push(...subgraph.edges);
248
+ }
249
+ }
250
+ // Find paths between top nodes
251
+ const paths = [];
252
+ if (topNodes.length >= 2) {
253
+ for (let i = 0; i < topNodes.length - 1; i++) {
254
+ const foundPaths = this.graphStore.findPaths(topNodes[i].node.id, topNodes[i + 1].node.id, maxDepth);
255
+ paths.push(...foundPaths.slice(0, 3));
256
+ }
257
+ }
258
+ return {
259
+ nodes: resultNodes,
260
+ edges: resultEdges,
261
+ paths,
262
+ score: topNodes.length > 0 ? topNodes[0].score : 0
263
+ };
264
+ }
265
+ /**
266
+ * Get context string from query results
267
+ */
268
+ getContext(result) {
269
+ const nodeContents = result.nodes.map(n => n.content);
270
+ return nodeContents.join('\n\n---\n\n');
271
+ }
272
+ /**
273
+ * Get the underlying graph store
274
+ */
275
+ getGraphStore() {
276
+ return this.graphStore;
277
+ }
278
+ cosineSimilarity(a, b) {
279
+ const dot = a.reduce((sum, x, i) => sum + x * b[i], 0);
280
+ const normA = Math.sqrt(a.reduce((sum, x) => sum + x * x, 0));
281
+ const normB = Math.sqrt(b.reduce((sum, x) => sum + x * x, 0));
282
+ return dot / (normA * normB);
283
+ }
284
+ }
285
+ exports.GraphRAG = GraphRAG;
286
+ // Factory function
287
+ function createGraphRAG(config) {
288
+ return new GraphRAG(config);
289
+ }
@@ -0,0 +1,24 @@
1
+ export interface Knowledge {
2
+ id: string;
3
+ type: string;
4
+ content: any;
5
+ metadata: Record<string, any>;
6
+ }
7
+ export interface KnowledgeBase {
8
+ addKnowledge(knowledge: Knowledge): void;
9
+ getKnowledge(id: string): Knowledge | undefined;
10
+ searchKnowledge(query: string): Knowledge[];
11
+ updateKnowledge(id: string, knowledge: Partial<Knowledge>): boolean;
12
+ deleteKnowledge(id: string): boolean;
13
+ }
14
+ export declare class BaseKnowledgeBase implements KnowledgeBase {
15
+ private knowledge;
16
+ constructor();
17
+ addKnowledge(knowledge: Knowledge): void;
18
+ getKnowledge(id: string): Knowledge | undefined;
19
+ searchKnowledge(query: string): Knowledge[];
20
+ updateKnowledge(id: string, update: Partial<Knowledge>): boolean;
21
+ deleteKnowledge(id: string): boolean;
22
+ }
23
+ export * from './reranker';
24
+ export * from './graph-rag';
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.BaseKnowledgeBase = void 0;
18
+ class BaseKnowledgeBase {
19
+ constructor() {
20
+ this.knowledge = new Map();
21
+ }
22
+ addKnowledge(knowledge) {
23
+ this.knowledge.set(knowledge.id, knowledge);
24
+ }
25
+ getKnowledge(id) {
26
+ return this.knowledge.get(id);
27
+ }
28
+ searchKnowledge(query) {
29
+ // Basic implementation - should be enhanced with proper search logic
30
+ return Array.from(this.knowledge.values()).filter(k => JSON.stringify(k).toLowerCase().includes(query.toLowerCase()));
31
+ }
32
+ updateKnowledge(id, update) {
33
+ const existing = this.knowledge.get(id);
34
+ if (!existing)
35
+ return false;
36
+ this.knowledge.set(id, { ...existing, ...update });
37
+ return true;
38
+ }
39
+ deleteKnowledge(id) {
40
+ return this.knowledge.delete(id);
41
+ }
42
+ }
43
+ exports.BaseKnowledgeBase = BaseKnowledgeBase;
44
+ // Export Reranker
45
+ __exportStar(require("./reranker"), exports);
46
+ // Export Graph RAG
47
+ __exportStar(require("./graph-rag"), exports);
File without changes
@@ -0,0 +1 @@
1
+ "use strict";
@@ -0,0 +1,80 @@
1
+ /**
2
+ * Knowledge Base (RAG) - Retrieval Augmented Generation
3
+ */
4
+ export interface Document {
5
+ id: string;
6
+ content: string;
7
+ metadata?: Record<string, any>;
8
+ embedding?: number[];
9
+ }
10
+ export interface SearchResult {
11
+ document: Document;
12
+ score: number;
13
+ }
14
+ export interface EmbeddingProvider {
15
+ embed(text: string): Promise<number[]>;
16
+ embedBatch(texts: string[]): Promise<number[][]>;
17
+ }
18
+ export interface KnowledgeBaseConfig {
19
+ embeddingProvider?: EmbeddingProvider;
20
+ similarityThreshold?: number;
21
+ maxResults?: number;
22
+ }
23
+ /**
24
+ * Simple in-memory vector store for RAG
25
+ */
26
+ export declare class KnowledgeBase {
27
+ private documents;
28
+ private embeddingProvider?;
29
+ private similarityThreshold;
30
+ private maxResults;
31
+ constructor(config?: KnowledgeBaseConfig);
32
+ /**
33
+ * Add a document to the knowledge base
34
+ */
35
+ add(doc: Omit<Document, 'embedding'>): Promise<Document>;
36
+ /**
37
+ * Add multiple documents
38
+ */
39
+ addBatch(docs: Array<Omit<Document, 'embedding'>>): Promise<Document[]>;
40
+ /**
41
+ * Get a document by ID
42
+ */
43
+ get(id: string): Document | undefined;
44
+ /**
45
+ * Delete a document
46
+ */
47
+ delete(id: string): boolean;
48
+ /**
49
+ * Search for similar documents
50
+ */
51
+ search(query: string, limit?: number): Promise<SearchResult[]>;
52
+ /**
53
+ * Simple text-based search fallback
54
+ */
55
+ private textSearch;
56
+ /**
57
+ * Calculate cosine similarity between two vectors
58
+ */
59
+ private cosineSimilarity;
60
+ /**
61
+ * Get all documents
62
+ */
63
+ list(): Document[];
64
+ /**
65
+ * Clear all documents
66
+ */
67
+ clear(): void;
68
+ /**
69
+ * Get document count
70
+ */
71
+ get size(): number;
72
+ /**
73
+ * Build context from search results for RAG
74
+ */
75
+ buildContext(results: SearchResult[]): string;
76
+ }
77
+ /**
78
+ * Create a knowledge base
79
+ */
80
+ export declare function createKnowledgeBase(config?: KnowledgeBaseConfig): KnowledgeBase;
@@ -0,0 +1,147 @@
1
+ "use strict";
2
+ /**
3
+ * Knowledge Base (RAG) - Retrieval Augmented Generation
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.KnowledgeBase = void 0;
7
+ exports.createKnowledgeBase = createKnowledgeBase;
8
+ /**
9
+ * Simple in-memory vector store for RAG
10
+ */
11
+ class KnowledgeBase {
12
+ constructor(config = {}) {
13
+ this.documents = new Map();
14
+ this.embeddingProvider = config.embeddingProvider;
15
+ this.similarityThreshold = config.similarityThreshold ?? 0.7;
16
+ this.maxResults = config.maxResults ?? 5;
17
+ }
18
+ /**
19
+ * Add a document to the knowledge base
20
+ */
21
+ async add(doc) {
22
+ const document = { ...doc };
23
+ if (this.embeddingProvider) {
24
+ document.embedding = await this.embeddingProvider.embed(doc.content);
25
+ }
26
+ this.documents.set(doc.id, document);
27
+ return document;
28
+ }
29
+ /**
30
+ * Add multiple documents
31
+ */
32
+ async addBatch(docs) {
33
+ if (this.embeddingProvider && docs.length > 0) {
34
+ const embeddings = await this.embeddingProvider.embedBatch(docs.map(d => d.content));
35
+ return Promise.all(docs.map(async (doc, i) => {
36
+ const document = { ...doc, embedding: embeddings[i] };
37
+ this.documents.set(doc.id, document);
38
+ return document;
39
+ }));
40
+ }
41
+ return Promise.all(docs.map(doc => this.add(doc)));
42
+ }
43
+ /**
44
+ * Get a document by ID
45
+ */
46
+ get(id) {
47
+ return this.documents.get(id);
48
+ }
49
+ /**
50
+ * Delete a document
51
+ */
52
+ delete(id) {
53
+ return this.documents.delete(id);
54
+ }
55
+ /**
56
+ * Search for similar documents
57
+ */
58
+ async search(query, limit) {
59
+ const maxResults = limit ?? this.maxResults;
60
+ if (!this.embeddingProvider) {
61
+ // Fallback to simple text matching
62
+ return this.textSearch(query, maxResults);
63
+ }
64
+ const queryEmbedding = await this.embeddingProvider.embed(query);
65
+ const results = [];
66
+ for (const doc of this.documents.values()) {
67
+ if (doc.embedding) {
68
+ const score = this.cosineSimilarity(queryEmbedding, doc.embedding);
69
+ if (score >= this.similarityThreshold) {
70
+ results.push({ document: doc, score });
71
+ }
72
+ }
73
+ }
74
+ return results
75
+ .sort((a, b) => b.score - a.score)
76
+ .slice(0, maxResults);
77
+ }
78
+ /**
79
+ * Simple text-based search fallback
80
+ */
81
+ textSearch(query, limit) {
82
+ const queryLower = query.toLowerCase();
83
+ const results = [];
84
+ for (const doc of this.documents.values()) {
85
+ const contentLower = doc.content.toLowerCase();
86
+ if (contentLower.includes(queryLower)) {
87
+ const score = queryLower.length / contentLower.length;
88
+ results.push({ document: doc, score: Math.min(score * 10, 1) });
89
+ }
90
+ }
91
+ return results
92
+ .sort((a, b) => b.score - a.score)
93
+ .slice(0, limit);
94
+ }
95
+ /**
96
+ * Calculate cosine similarity between two vectors
97
+ */
98
+ cosineSimilarity(a, b) {
99
+ if (a.length !== b.length)
100
+ return 0;
101
+ let dotProduct = 0;
102
+ let normA = 0;
103
+ let normB = 0;
104
+ for (let i = 0; i < a.length; i++) {
105
+ dotProduct += a[i] * b[i];
106
+ normA += a[i] * a[i];
107
+ normB += b[i] * b[i];
108
+ }
109
+ const denominator = Math.sqrt(normA) * Math.sqrt(normB);
110
+ return denominator === 0 ? 0 : dotProduct / denominator;
111
+ }
112
+ /**
113
+ * Get all documents
114
+ */
115
+ list() {
116
+ return Array.from(this.documents.values());
117
+ }
118
+ /**
119
+ * Clear all documents
120
+ */
121
+ clear() {
122
+ this.documents.clear();
123
+ }
124
+ /**
125
+ * Get document count
126
+ */
127
+ get size() {
128
+ return this.documents.size;
129
+ }
130
+ /**
131
+ * Build context from search results for RAG
132
+ */
133
+ buildContext(results) {
134
+ if (results.length === 0)
135
+ return '';
136
+ return results
137
+ .map((r, i) => `[${i + 1}] ${r.document.content}`)
138
+ .join('\n\n');
139
+ }
140
+ }
141
+ exports.KnowledgeBase = KnowledgeBase;
142
+ /**
143
+ * Create a knowledge base
144
+ */
145
+ function createKnowledgeBase(config) {
146
+ return new KnowledgeBase(config);
147
+ }
@@ -0,0 +1,86 @@
1
+ /**
2
+ * Reranker - Rerank search results for improved relevance
3
+ * Inspired by mastra's rerank module
4
+ */
5
+ export interface RerankResult {
6
+ id: string;
7
+ score: number;
8
+ content: string;
9
+ metadata?: Record<string, any>;
10
+ originalRank: number;
11
+ newRank: number;
12
+ }
13
+ export interface RerankConfig {
14
+ model?: string;
15
+ topK?: number;
16
+ threshold?: number;
17
+ }
18
+ /**
19
+ * Abstract base class for rerankers
20
+ */
21
+ export declare abstract class BaseReranker {
22
+ readonly name: string;
23
+ constructor(name: string);
24
+ abstract rerank(query: string, documents: Array<{
25
+ id: string;
26
+ content: string;
27
+ metadata?: Record<string, any>;
28
+ }>, config?: RerankConfig): Promise<RerankResult[]>;
29
+ }
30
+ /**
31
+ * Cohere Reranker - Uses Cohere's rerank API
32
+ */
33
+ export declare class CohereReranker extends BaseReranker {
34
+ private apiKey;
35
+ private model;
36
+ constructor(config?: {
37
+ apiKey?: string;
38
+ model?: string;
39
+ });
40
+ rerank(query: string, documents: Array<{
41
+ id: string;
42
+ content: string;
43
+ metadata?: Record<string, any>;
44
+ }>, config?: RerankConfig): Promise<RerankResult[]>;
45
+ }
46
+ /**
47
+ * Cross-Encoder Reranker - Uses sentence similarity for reranking
48
+ * This is a simple implementation using cosine similarity
49
+ */
50
+ export declare class CrossEncoderReranker extends BaseReranker {
51
+ private embedFn?;
52
+ constructor(config?: {
53
+ embedFn?: (texts: string[]) => Promise<number[][]>;
54
+ });
55
+ rerank(query: string, documents: Array<{
56
+ id: string;
57
+ content: string;
58
+ metadata?: Record<string, any>;
59
+ }>, config?: RerankConfig): Promise<RerankResult[]>;
60
+ private keywordRerank;
61
+ private cosineSimilarity;
62
+ }
63
+ /**
64
+ * LLM Reranker - Uses an LLM to score relevance
65
+ */
66
+ export declare class LLMReranker extends BaseReranker {
67
+ private generateFn;
68
+ constructor(config: {
69
+ generateFn: (prompt: string) => Promise<string>;
70
+ });
71
+ rerank(query: string, documents: Array<{
72
+ id: string;
73
+ content: string;
74
+ metadata?: Record<string, any>;
75
+ }>, config?: RerankConfig): Promise<RerankResult[]>;
76
+ }
77
+ export declare function createCohereReranker(config?: {
78
+ apiKey?: string;
79
+ model?: string;
80
+ }): CohereReranker;
81
+ export declare function createCrossEncoderReranker(config?: {
82
+ embedFn?: (texts: string[]) => Promise<number[][]>;
83
+ }): CrossEncoderReranker;
84
+ export declare function createLLMReranker(config: {
85
+ generateFn: (prompt: string) => Promise<string>;
86
+ }): LLMReranker;