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,134 @@
1
+ "use strict";
2
+ /**
3
+ * DeepResearchAgent - Agent for comprehensive research tasks
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.DeepResearchAgent = void 0;
7
+ exports.createDeepResearchAgent = createDeepResearchAgent;
8
+ const backend_resolver_1 = require("../llm/backend-resolver");
9
+ /**
10
+ * DeepResearchAgent - Comprehensive research with citations
11
+ */
12
+ class DeepResearchAgent {
13
+ constructor(config = {}) {
14
+ this.provider = null;
15
+ this.providerPromise = null;
16
+ this.name = config.name || `ResearchAgent_${Math.random().toString(36).substr(2, 9)}`;
17
+ this.llmModel = config.llm || 'openai/gpt-4o-mini';
18
+ this.maxIterations = config.maxIterations ?? 5;
19
+ this.searchTool = config.searchTool;
20
+ this.verbose = config.verbose ?? false;
21
+ }
22
+ async getProvider() {
23
+ if (this.provider)
24
+ return this.provider;
25
+ if (!this.providerPromise) {
26
+ this.providerPromise = (async () => {
27
+ const result = await (0, backend_resolver_1.resolveBackend)(this.llmModel, { attribution: { agentId: this.name } });
28
+ this.provider = result.provider;
29
+ return result.provider;
30
+ })();
31
+ }
32
+ return this.providerPromise;
33
+ }
34
+ /**
35
+ * Conduct deep research on a topic
36
+ */
37
+ async research(query) {
38
+ const reasoning = [];
39
+ const citations = [];
40
+ let iteration = 0;
41
+ // Step 1: Analyze the query
42
+ reasoning.push({
43
+ step: ++iteration,
44
+ thought: `Analyzing research query: "${query}"`,
45
+ action: 'query_analysis'
46
+ });
47
+ // Step 2: Generate search queries
48
+ const searchQueries = await this.generateSearchQueries(query);
49
+ reasoning.push({
50
+ step: ++iteration,
51
+ thought: `Generated ${searchQueries.length} search queries`,
52
+ action: 'generate_queries',
53
+ result: searchQueries.join(', ')
54
+ });
55
+ // Step 3: Execute searches if tool available
56
+ if (this.searchTool) {
57
+ for (const sq of searchQueries.slice(0, 3)) {
58
+ try {
59
+ const results = await this.searchTool(sq);
60
+ citations.push(...results);
61
+ reasoning.push({
62
+ step: ++iteration,
63
+ thought: `Searched for: "${sq}"`,
64
+ action: 'web_search',
65
+ result: `Found ${results.length} results`
66
+ });
67
+ }
68
+ catch (error) {
69
+ if (this.verbose) {
70
+ console.log(`[Research] Search failed for: ${sq}`);
71
+ }
72
+ }
73
+ }
74
+ }
75
+ // Step 4: Synthesize answer
76
+ const answer = await this.synthesizeAnswer(query, citations);
77
+ reasoning.push({
78
+ step: ++iteration,
79
+ thought: 'Synthesizing final answer from gathered information',
80
+ action: 'synthesize',
81
+ result: 'Answer generated'
82
+ });
83
+ // Calculate confidence based on citations
84
+ const confidence = Math.min(0.5 + (citations.length * 0.1), 0.95);
85
+ return {
86
+ answer,
87
+ citations,
88
+ reasoning,
89
+ confidence
90
+ };
91
+ }
92
+ async generateSearchQueries(query) {
93
+ const provider = await this.getProvider();
94
+ const result = await provider.generateText({
95
+ messages: [
96
+ {
97
+ role: 'system',
98
+ content: 'Generate 3 search queries to research this topic. Output only the queries, one per line.'
99
+ },
100
+ { role: 'user', content: query }
101
+ ]
102
+ });
103
+ return result.text.split('\n').filter(q => q.trim().length > 0).slice(0, 3);
104
+ }
105
+ async synthesizeAnswer(query, citations) {
106
+ const context = citations.length > 0
107
+ ? `\n\nRelevant sources:\n${citations.map(c => `- ${c.title}: ${c.snippet || ''}`).join('\n')}`
108
+ : '';
109
+ const provider = await this.getProvider();
110
+ const result = await provider.generateText({
111
+ messages: [
112
+ {
113
+ role: 'system',
114
+ content: 'You are a research assistant. Provide a comprehensive, well-structured answer based on the available information. Cite sources when available.'
115
+ },
116
+ { role: 'user', content: `${query}${context}` }
117
+ ]
118
+ });
119
+ return result.text;
120
+ }
121
+ /**
122
+ * Set search tool
123
+ */
124
+ setSearchTool(tool) {
125
+ this.searchTool = tool;
126
+ }
127
+ }
128
+ exports.DeepResearchAgent = DeepResearchAgent;
129
+ /**
130
+ * Create a DeepResearchAgent
131
+ */
132
+ function createDeepResearchAgent(config) {
133
+ return new DeepResearchAgent(config);
134
+ }
@@ -0,0 +1,141 @@
1
+ /**
2
+ * Router Agent - Route requests to specialized agents
3
+ *
4
+ * @example Simple usage (5 lines)
5
+ * ```typescript
6
+ * import { Agent, Router } from 'praisonai';
7
+ *
8
+ * const router = new Router({
9
+ * math: { agent: new Agent({ instructions: 'Math expert' }), keywords: ['calculate', 'math'] },
10
+ * code: { agent: new Agent({ instructions: 'Code expert' }), keywords: ['code', 'program'] }
11
+ * });
12
+ * await router.chat('Calculate 2+2'); // Routes to math agent
13
+ * ```
14
+ */
15
+ import type { EnhancedAgent } from './enhanced';
16
+ import { Agent } from './simple';
17
+ type AnyAgent = Agent | EnhancedAgent;
18
+ export interface RouteConfig {
19
+ agent: AnyAgent;
20
+ condition: (input: string, context?: RouteContext) => boolean | Promise<boolean>;
21
+ priority?: number;
22
+ }
23
+ /** Simplified route definition */
24
+ export interface SimpleRouteConfig {
25
+ agent: AnyAgent;
26
+ keywords?: string[];
27
+ pattern?: RegExp;
28
+ priority?: number;
29
+ }
30
+ export interface RouteContext {
31
+ history?: string[];
32
+ metadata?: Record<string, any>;
33
+ }
34
+ export interface RouterConfig {
35
+ name?: string;
36
+ routes: RouteConfig[];
37
+ defaultAgent?: AnyAgent;
38
+ verbose?: boolean;
39
+ }
40
+ /** Simplified router config - just a map of route name to config */
41
+ export type SimpleRouterConfig = Record<string, SimpleRouteConfig>;
42
+ /**
43
+ * Router Agent - Routes requests to the most appropriate agent
44
+ */
45
+ export declare class RouterAgent {
46
+ readonly name: string;
47
+ private routes;
48
+ private defaultAgent?;
49
+ private verbose;
50
+ constructor(config: RouterConfig);
51
+ /**
52
+ * Route a request to the appropriate agent
53
+ */
54
+ route(input: string, context?: RouteContext): Promise<{
55
+ agent: AnyAgent;
56
+ response: string;
57
+ } | null>;
58
+ /**
59
+ * Simplified chat method - routes and returns just the response
60
+ */
61
+ chat(input: string, context?: RouteContext): Promise<string>;
62
+ /**
63
+ * Add a route
64
+ */
65
+ addRoute(config: RouteConfig): this;
66
+ /**
67
+ * Get all routes
68
+ */
69
+ getRoutes(): RouteConfig[];
70
+ }
71
+ /**
72
+ * Route condition helpers
73
+ */
74
+ export declare const routeConditions: {
75
+ /**
76
+ * Match by keywords
77
+ */
78
+ keywords: (keywords: string | string[]) => (input: string) => boolean;
79
+ /**
80
+ * Match by regex
81
+ */
82
+ pattern: (regex: RegExp) => (input: string) => boolean;
83
+ /**
84
+ * Match by metadata
85
+ */
86
+ metadata: (key: string, value: any) => (_input: string, context?: RouteContext) => boolean;
87
+ /**
88
+ * Always match (for default routes)
89
+ */
90
+ always: () => () => boolean;
91
+ /**
92
+ * Combine conditions with AND
93
+ */
94
+ and: (...conditions: Array<(input: string, context?: RouteContext) => boolean>) => (input: string, context?: RouteContext) => boolean;
95
+ /**
96
+ * Combine conditions with OR
97
+ */
98
+ or: (...conditions: Array<(input: string, context?: RouteContext) => boolean>) => (input: string, context?: RouteContext) => boolean;
99
+ };
100
+ /**
101
+ * Create a router agent (legacy API)
102
+ */
103
+ export declare function createRouter(config: RouterConfig): RouterAgent;
104
+ /**
105
+ * Simplified Router class - uses keyword/pattern-based routing
106
+ *
107
+ * @example Simple usage (5 lines)
108
+ * ```typescript
109
+ * import { Agent, Router } from 'praisonai';
110
+ *
111
+ * const router = new Router({
112
+ * math: { agent: new Agent({ instructions: 'Math expert' }), keywords: ['calculate', 'math'] },
113
+ * code: { agent: new Agent({ instructions: 'Code expert' }), keywords: ['code', 'program'] }
114
+ * });
115
+ * await router.chat('Calculate 2+2'); // Routes to math agent
116
+ * ```
117
+ */
118
+ export declare class Router {
119
+ private routerAgent;
120
+ private agentMap;
121
+ constructor(config: SimpleRouterConfig, options?: {
122
+ default?: string;
123
+ verbose?: boolean;
124
+ });
125
+ /**
126
+ * Route and get response
127
+ */
128
+ chat(input: string): Promise<string>;
129
+ /**
130
+ * Route and get full result with agent info
131
+ */
132
+ route(input: string): Promise<{
133
+ agent: AnyAgent;
134
+ response: string;
135
+ } | null>;
136
+ /**
137
+ * Get agent by name
138
+ */
139
+ getAgent(name: string): AnyAgent | undefined;
140
+ }
141
+ export {};
@@ -0,0 +1,209 @@
1
+ "use strict";
2
+ /**
3
+ * Router Agent - Route requests to specialized agents
4
+ *
5
+ * @example Simple usage (5 lines)
6
+ * ```typescript
7
+ * import { Agent, Router } from 'praisonai';
8
+ *
9
+ * const router = new Router({
10
+ * math: { agent: new Agent({ instructions: 'Math expert' }), keywords: ['calculate', 'math'] },
11
+ * code: { agent: new Agent({ instructions: 'Code expert' }), keywords: ['code', 'program'] }
12
+ * });
13
+ * await router.chat('Calculate 2+2'); // Routes to math agent
14
+ * ```
15
+ */
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.Router = exports.routeConditions = exports.RouterAgent = void 0;
18
+ exports.createRouter = createRouter;
19
+ /**
20
+ * Router Agent - Routes requests to the most appropriate agent
21
+ */
22
+ class RouterAgent {
23
+ constructor(config) {
24
+ this.name = config.name || 'Router';
25
+ this.routes = config.routes.sort((a, b) => (b.priority || 0) - (a.priority || 0));
26
+ this.defaultAgent = config.defaultAgent;
27
+ this.verbose = config.verbose ?? false;
28
+ }
29
+ /**
30
+ * Route a request to the appropriate agent
31
+ */
32
+ async route(input, context) {
33
+ for (const route of this.routes) {
34
+ const matches = await route.condition(input, context);
35
+ if (matches) {
36
+ if (this.verbose) {
37
+ console.log(`[Router] Routing to: ${route.agent.name}`);
38
+ }
39
+ const response = await route.agent.chat(input);
40
+ // Handle both Agent (returns string) and EnhancedAgent (returns ChatResult)
41
+ const responseText = typeof response === 'string' ? response : response.text;
42
+ return { agent: route.agent, response: responseText };
43
+ }
44
+ }
45
+ if (this.defaultAgent) {
46
+ if (this.verbose) {
47
+ console.log(`[Router] Using default agent: ${this.defaultAgent.name}`);
48
+ }
49
+ const response = await this.defaultAgent.chat(input);
50
+ const responseText = typeof response === 'string' ? response : response.text;
51
+ return { agent: this.defaultAgent, response: responseText };
52
+ }
53
+ return null;
54
+ }
55
+ /**
56
+ * Simplified chat method - routes and returns just the response
57
+ */
58
+ async chat(input, context) {
59
+ const result = await this.route(input, context);
60
+ if (!result) {
61
+ throw new Error('No matching route found and no default agent configured');
62
+ }
63
+ return result.response;
64
+ }
65
+ /**
66
+ * Add a route
67
+ */
68
+ addRoute(config) {
69
+ this.routes.push(config);
70
+ this.routes.sort((a, b) => (b.priority || 0) - (a.priority || 0));
71
+ return this;
72
+ }
73
+ /**
74
+ * Get all routes
75
+ */
76
+ getRoutes() {
77
+ return [...this.routes];
78
+ }
79
+ }
80
+ exports.RouterAgent = RouterAgent;
81
+ /**
82
+ * Route condition helpers
83
+ */
84
+ exports.routeConditions = {
85
+ /**
86
+ * Match by keywords
87
+ */
88
+ keywords: (keywords) => {
89
+ const keywordList = Array.isArray(keywords) ? keywords : [keywords];
90
+ return (input) => {
91
+ const lower = input.toLowerCase();
92
+ return keywordList.some(kw => lower.includes(kw.toLowerCase()));
93
+ };
94
+ },
95
+ /**
96
+ * Match by regex
97
+ */
98
+ pattern: (regex) => {
99
+ return (input) => regex.test(input);
100
+ },
101
+ /**
102
+ * Match by metadata
103
+ */
104
+ metadata: (key, value) => {
105
+ return (_input, context) => {
106
+ return context?.metadata?.[key] === value;
107
+ };
108
+ },
109
+ /**
110
+ * Always match (for default routes)
111
+ */
112
+ always: () => {
113
+ return () => true;
114
+ },
115
+ /**
116
+ * Combine conditions with AND
117
+ */
118
+ and: (...conditions) => {
119
+ return (input, context) => {
120
+ return conditions.every(c => c(input, context));
121
+ };
122
+ },
123
+ /**
124
+ * Combine conditions with OR
125
+ */
126
+ or: (...conditions) => {
127
+ return (input, context) => {
128
+ return conditions.some(c => c(input, context));
129
+ };
130
+ }
131
+ };
132
+ /**
133
+ * Create a router agent (legacy API)
134
+ */
135
+ function createRouter(config) {
136
+ return new RouterAgent(config);
137
+ }
138
+ /**
139
+ * Simplified Router class - uses keyword/pattern-based routing
140
+ *
141
+ * @example Simple usage (5 lines)
142
+ * ```typescript
143
+ * import { Agent, Router } from 'praisonai';
144
+ *
145
+ * const router = new Router({
146
+ * math: { agent: new Agent({ instructions: 'Math expert' }), keywords: ['calculate', 'math'] },
147
+ * code: { agent: new Agent({ instructions: 'Code expert' }), keywords: ['code', 'program'] }
148
+ * });
149
+ * await router.chat('Calculate 2+2'); // Routes to math agent
150
+ * ```
151
+ */
152
+ class Router {
153
+ constructor(config, options) {
154
+ this.agentMap = new Map();
155
+ const routes = [];
156
+ let defaultAgent;
157
+ for (const [name, routeConfig] of Object.entries(config)) {
158
+ this.agentMap.set(name, routeConfig.agent);
159
+ // Build condition from keywords or pattern
160
+ let condition;
161
+ if (routeConfig.keywords) {
162
+ condition = exports.routeConditions.keywords(routeConfig.keywords);
163
+ }
164
+ else if (routeConfig.pattern) {
165
+ condition = exports.routeConditions.pattern(routeConfig.pattern);
166
+ }
167
+ else {
168
+ condition = exports.routeConditions.always();
169
+ }
170
+ routes.push({
171
+ agent: routeConfig.agent,
172
+ condition,
173
+ priority: routeConfig.priority
174
+ });
175
+ // Set default agent
176
+ if (options?.default === name) {
177
+ defaultAgent = routeConfig.agent;
178
+ }
179
+ }
180
+ // If no default specified, use first agent
181
+ if (!defaultAgent && routes.length > 0) {
182
+ defaultAgent = routes[0].agent;
183
+ }
184
+ this.routerAgent = new RouterAgent({
185
+ routes,
186
+ defaultAgent,
187
+ verbose: options?.verbose
188
+ });
189
+ }
190
+ /**
191
+ * Route and get response
192
+ */
193
+ async chat(input) {
194
+ return this.routerAgent.chat(input);
195
+ }
196
+ /**
197
+ * Route and get full result with agent info
198
+ */
199
+ async route(input) {
200
+ return this.routerAgent.route(input);
201
+ }
202
+ /**
203
+ * Get agent by name
204
+ */
205
+ getAgent(name) {
206
+ return this.agentMap.get(name);
207
+ }
208
+ }
209
+ exports.Router = Router;