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
package/README.md ADDED
@@ -0,0 +1,248 @@
1
+ # OverAI TypeScript Node.js AI Agents Framework
2
+
3
+ OverAI is a production-ready Multi AI Agents framework, designed to create AI Agents to automate and solve problems ranging from simple tasks to complex challenges. It provides a low-code solution to streamline the building and management of multi-agent LLM systems, emphasising simplicity, customisation, and effective human-agent collaboration.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install overai
9
+ ```
10
+
11
+ ## Development Setup
12
+
13
+ 1. Clone the repository:
14
+ ```bash
15
+ git clone https://github.com/MervinPraison/PraisonAI.git
16
+ cd src/praisonai-ts
17
+ ```
18
+
19
+ 2. Install dependencies:
20
+ ```bash
21
+ npm install
22
+ ```
23
+
24
+ 3. Build the package:
25
+ ```bash
26
+ npm run build
27
+ ```
28
+
29
+ ## Usage
30
+
31
+ Here are examples of different ways to use OverAI:
32
+
33
+ ### 1. Single Agent Example
34
+
35
+ ```typescript
36
+ import { Agent, PraisonAIAgents } from 'overai';
37
+
38
+ async function main() {
39
+ // Create a simple agent (no task specified)
40
+ const agent = new Agent({
41
+ name: "BiologyExpert",
42
+ instructions: "Explain the process of photosynthesis in detail.",
43
+ verbose: true
44
+ });
45
+
46
+ // Run the agent
47
+ const praisonAI = new PraisonAIAgents({
48
+ agents: [agent],
49
+ tasks: ["Explain the process of photosynthesis in detail."],
50
+ verbose: true
51
+ });
52
+
53
+ try {
54
+ console.log('Starting single agent example...');
55
+ const results = await praisonAI.start();
56
+ console.log('\nFinal Results:', results);
57
+ } catch (error) {
58
+ console.error('Error:', error);
59
+ }
60
+ }
61
+
62
+ main();
63
+ ```
64
+
65
+ ### 2. Multi-Agent Example
66
+
67
+ ```typescript
68
+ import { Agent, PraisonAIAgents } from 'overai';
69
+
70
+ async function main() {
71
+ // Create multiple agents with different roles
72
+ const researchAgent = new Agent({
73
+ name: "ResearchAgent",
74
+ instructions: "Research and provide detailed information about renewable energy sources.",
75
+ verbose: true
76
+ });
77
+
78
+ const summaryAgent = new Agent({
79
+ name: "SummaryAgent",
80
+ instructions: "Create a concise summary of the research findings about renewable energy sources. Use {previous_result} as input.",
81
+ verbose: true
82
+ });
83
+
84
+ const recommendationAgent = new Agent({
85
+ name: "RecommendationAgent",
86
+ instructions: "Based on the summary in {previous_result}, provide specific recommendations for implementing renewable energy solutions.",
87
+ verbose: true
88
+ });
89
+
90
+ // Run the agents in sequence
91
+ const praisonAI = new PraisonAIAgents({
92
+ agents: [researchAgent, summaryAgent, recommendationAgent],
93
+ tasks: [
94
+ "Research and analyze current renewable energy technologies and their implementation.",
95
+ "Summarize the key findings from the research.",
96
+ "Provide actionable recommendations based on the summary."
97
+ ],
98
+ verbose: true
99
+ });
100
+
101
+ try {
102
+ console.log('Starting multi-agent example...');
103
+ const results = await praisonAI.start();
104
+ console.log('\nFinal Results:', results);
105
+ } catch (error) {
106
+ console.error('Error:', error);
107
+ }
108
+ }
109
+
110
+ main();
111
+ ```
112
+
113
+ ### 3. Task-Based Agent Example
114
+
115
+ ```typescript
116
+ import { Agent, Task, PraisonAIAgents } from 'overai';
117
+
118
+ async function main() {
119
+ // Create agents first
120
+ const dietAgent = new Agent({
121
+ name: "DietAgent",
122
+ role: "Nutrition Expert",
123
+ goal: "Create healthy and delicious recipes",
124
+ backstory: "You are a certified nutritionist with years of experience in creating balanced meal plans.",
125
+ verbose: true, // Enable streaming output
126
+ instructions: `You are a professional chef and nutritionist. Create 5 healthy food recipes that are both nutritious and delicious.
127
+ Each recipe should include:
128
+ 1. Recipe name
129
+ 2. List of ingredients with quantities
130
+ 3. Step-by-step cooking instructions
131
+ 4. Nutritional information
132
+ 5. Health benefits
133
+
134
+ Format your response in markdown.`
135
+ });
136
+
137
+ const blogAgent = new Agent({
138
+ name: "BlogAgent",
139
+ role: "Food Blogger",
140
+ goal: "Write engaging blog posts about food and recipes",
141
+ backstory: "You are a successful food blogger known for your ability to make recipes sound delicious and approachable.",
142
+ verbose: true, // Enable streaming output
143
+ instructions: `You are a food and health blogger. Write an engaging blog post about the provided recipes.
144
+ The blog post should:
145
+ 1. Have an engaging title
146
+ 2. Include an introduction about healthy eating`
147
+ });
148
+
149
+ // Create tasks
150
+ const createRecipesTask = new Task({
151
+ name: "Create Recipes",
152
+ description: "Create 5 healthy and delicious recipes",
153
+ agent: dietAgent
154
+ });
155
+
156
+ const writeBlogTask = new Task({
157
+ name: "Write Blog",
158
+ description: "Write a blog post about the recipes",
159
+ agent: blogAgent,
160
+ dependencies: [createRecipesTask] // This task depends on the recipes being created first
161
+ });
162
+
163
+ // Run the tasks
164
+ const praisonAI = new PraisonAIAgents({
165
+ tasks: [createRecipesTask, writeBlogTask],
166
+ verbose: true
167
+ });
168
+
169
+ try {
170
+ console.log('Starting task-based example...');
171
+ const results = await praisonAI.start();
172
+ console.log('\nFinal Results:', results);
173
+ } catch (error) {
174
+ console.error('Error:', error);
175
+ }
176
+ }
177
+
178
+ main();
179
+ ```
180
+
181
+ ### Running the Examples
182
+
183
+ 1. First, set up your environment variables:
184
+ ```bash
185
+ export OPENAI_API_KEY='your-api-key'
186
+ ```
187
+
188
+ 2. Create a new TypeScript file (e.g., `example.ts`) with any of the above examples.
189
+
190
+ 3. Run the example:
191
+ ```bash
192
+ npx ts-node example.ts
193
+ ```
194
+
195
+ For more examples, check out the `examples/concepts/` directory in the repository.
196
+
197
+ ## Package Structure
198
+
199
+ ```
200
+ src/
201
+ ├── agent/ # Agent-related interfaces and implementations
202
+ ├── agents/ # Multi-agent system management
203
+ ├── knowledge/ # Knowledge base and management
204
+ ├── llm/ # Language Model interfaces
205
+ ├── memory/ # Memory management systems
206
+ ├── process/ # Process management
207
+ ├── task/ # Task management
208
+ └── tools/ # Various utility tools
209
+ ├── arxivTools.ts
210
+ └── ... (other tools)
211
+ ```
212
+
213
+ ## Contributing
214
+
215
+ 1. Fork the repository
216
+ 2. Create your feature branch (`git checkout -b feature/amazing-feature`)
217
+ 3. Commit your changes (`git commit -m 'Add some amazing feature'`)
218
+ 4. Push to the branch (`git push origin feature/amazing-feature`)
219
+ 5. Open a Pull Request
220
+
221
+ ## License
222
+
223
+ MIT License - see the LICENSE file for details
224
+
225
+ ## Testing
226
+
227
+ ### Manual Testing
228
+
229
+ ```bash
230
+ export OPENAI_API_KEY='your-api-key'
231
+ npx ts-node tests/development/simple/single-agent.ts
232
+ npx ts-node tests/development/simple/multi-agent.ts
233
+ npx ts-node tests/development/simple/multi-agents-simple.js
234
+ ```
235
+
236
+ ## Examples Testing
237
+
238
+ ```bash
239
+ export OPENAI_API_KEY='your-api-key'
240
+ npx ts-node examples/simple/single-agent.ts
241
+ npx ts-node examples/simple/multi-agent.ts
242
+ ```
243
+
244
+ ### Automated Testing (WIP)
245
+
246
+ ```bash
247
+ npm run test
248
+ ```
@@ -0,0 +1,74 @@
1
+ /**
2
+ * Context Agent - Agent with enhanced context management
3
+ */
4
+ import { KnowledgeBase, type SearchResult } from '../knowledge/rag';
5
+ export interface ContextAgentConfig {
6
+ name?: string;
7
+ instructions: string;
8
+ llm?: string;
9
+ knowledgeBase?: KnowledgeBase;
10
+ contextWindow?: number;
11
+ maxContextTokens?: number;
12
+ verbose?: boolean;
13
+ }
14
+ export interface ContextMessage {
15
+ role: 'system' | 'user' | 'assistant';
16
+ content: string;
17
+ timestamp: number;
18
+ metadata?: Record<string, any>;
19
+ }
20
+ /**
21
+ * Context Agent - Agent with RAG and context management
22
+ */
23
+ export declare class ContextAgent {
24
+ readonly name: string;
25
+ readonly instructions: string;
26
+ private provider;
27
+ private providerPromise;
28
+ private llmModel;
29
+ private knowledgeBase?;
30
+ private contextWindow;
31
+ private maxContextTokens;
32
+ private messages;
33
+ private verbose;
34
+ constructor(config: ContextAgentConfig);
35
+ /**
36
+ * Get the LLM provider (lazy initialization with AI SDK backend)
37
+ */
38
+ private getProvider;
39
+ /**
40
+ * Chat with context awareness
41
+ */
42
+ chat(prompt: string): Promise<{
43
+ text: string;
44
+ context?: SearchResult[];
45
+ }>;
46
+ /**
47
+ * Get recent messages within context window
48
+ */
49
+ private getRecentMessages;
50
+ /**
51
+ * Add document to knowledge base
52
+ */
53
+ addDocument(id: string, content: string, metadata?: Record<string, any>): Promise<void>;
54
+ /**
55
+ * Search knowledge base
56
+ */
57
+ searchKnowledge(query: string, limit?: number): Promise<SearchResult[]>;
58
+ /**
59
+ * Clear conversation history
60
+ */
61
+ clearHistory(): void;
62
+ /**
63
+ * Get conversation history
64
+ */
65
+ getHistory(): ContextMessage[];
66
+ /**
67
+ * Set knowledge base
68
+ */
69
+ setKnowledgeBase(kb: KnowledgeBase): void;
70
+ }
71
+ /**
72
+ * Create a context agent
73
+ */
74
+ export declare function createContextAgent(config: ContextAgentConfig): ContextAgent;
@@ -0,0 +1,140 @@
1
+ "use strict";
2
+ /**
3
+ * Context Agent - Agent with enhanced context management
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ContextAgent = void 0;
7
+ exports.createContextAgent = createContextAgent;
8
+ const backend_resolver_1 = require("../llm/backend-resolver");
9
+ /**
10
+ * Context Agent - Agent with RAG and context management
11
+ */
12
+ class ContextAgent {
13
+ constructor(config) {
14
+ this.provider = null;
15
+ this.providerPromise = null;
16
+ this.messages = [];
17
+ this.name = config.name || `ContextAgent_${Math.random().toString(36).substr(2, 9)}`;
18
+ this.instructions = config.instructions;
19
+ this.llmModel = config.llm || 'openai/gpt-4o-mini';
20
+ this.knowledgeBase = config.knowledgeBase;
21
+ this.contextWindow = config.contextWindow ?? 10;
22
+ this.maxContextTokens = config.maxContextTokens ?? 4000;
23
+ this.verbose = config.verbose ?? false;
24
+ }
25
+ /**
26
+ * Get the LLM provider (lazy initialization with AI SDK backend)
27
+ */
28
+ async getProvider() {
29
+ if (this.provider) {
30
+ return this.provider;
31
+ }
32
+ if (!this.providerPromise) {
33
+ this.providerPromise = (async () => {
34
+ const result = await (0, backend_resolver_1.resolveBackend)(this.llmModel, {
35
+ attribution: { agentId: this.name },
36
+ });
37
+ this.provider = result.provider;
38
+ return result.provider;
39
+ })();
40
+ }
41
+ return this.providerPromise;
42
+ }
43
+ /**
44
+ * Chat with context awareness
45
+ */
46
+ async chat(prompt) {
47
+ // Add user message
48
+ this.messages.push({
49
+ role: 'user',
50
+ content: prompt,
51
+ timestamp: Date.now()
52
+ });
53
+ // Build context from knowledge base
54
+ let ragContext = [];
55
+ let contextString = '';
56
+ if (this.knowledgeBase) {
57
+ ragContext = await this.knowledgeBase.search(prompt);
58
+ if (ragContext.length > 0) {
59
+ contextString = this.knowledgeBase.buildContext(ragContext);
60
+ if (this.verbose) {
61
+ console.log(`[ContextAgent] Found ${ragContext.length} relevant documents`);
62
+ }
63
+ }
64
+ }
65
+ // Build messages array with context
66
+ const systemPrompt = contextString
67
+ ? `${this.instructions}\n\nRelevant context:\n${contextString}`
68
+ : this.instructions;
69
+ const messages = [
70
+ { role: 'system', content: systemPrompt },
71
+ ...this.getRecentMessages()
72
+ ];
73
+ // Generate response
74
+ const provider = await this.getProvider();
75
+ const result = await provider.generateText({ messages });
76
+ // Add assistant message
77
+ this.messages.push({
78
+ role: 'assistant',
79
+ content: result.text,
80
+ timestamp: Date.now()
81
+ });
82
+ return {
83
+ text: result.text,
84
+ context: ragContext.length > 0 ? ragContext : undefined
85
+ };
86
+ }
87
+ /**
88
+ * Get recent messages within context window
89
+ */
90
+ getRecentMessages() {
91
+ const recent = this.messages.slice(-this.contextWindow);
92
+ return recent.map(m => ({
93
+ role: m.role,
94
+ content: m.content
95
+ }));
96
+ }
97
+ /**
98
+ * Add document to knowledge base
99
+ */
100
+ async addDocument(id, content, metadata) {
101
+ if (!this.knowledgeBase) {
102
+ throw new Error('No knowledge base configured');
103
+ }
104
+ await this.knowledgeBase.add({ id, content, metadata });
105
+ }
106
+ /**
107
+ * Search knowledge base
108
+ */
109
+ async searchKnowledge(query, limit) {
110
+ if (!this.knowledgeBase) {
111
+ return [];
112
+ }
113
+ return this.knowledgeBase.search(query, limit);
114
+ }
115
+ /**
116
+ * Clear conversation history
117
+ */
118
+ clearHistory() {
119
+ this.messages = [];
120
+ }
121
+ /**
122
+ * Get conversation history
123
+ */
124
+ getHistory() {
125
+ return [...this.messages];
126
+ }
127
+ /**
128
+ * Set knowledge base
129
+ */
130
+ setKnowledgeBase(kb) {
131
+ this.knowledgeBase = kb;
132
+ }
133
+ }
134
+ exports.ContextAgent = ContextAgent;
135
+ /**
136
+ * Create a context agent
137
+ */
138
+ function createContextAgent(config) {
139
+ return new ContextAgent(config);
140
+ }
@@ -0,0 +1,98 @@
1
+ /**
2
+ * Enhanced Agent - Agent with session management, provider abstraction, and tool support
3
+ */
4
+ import { type ToolCall } from '../llm/providers';
5
+ import { Session } from '../session';
6
+ import { FunctionTool } from '../tools/decorator';
7
+ export interface EnhancedAgentConfig {
8
+ name?: string;
9
+ instructions: string;
10
+ llm?: string;
11
+ tools?: Array<FunctionTool | Function | {
12
+ name: string;
13
+ description?: string;
14
+ parameters?: any;
15
+ execute: Function;
16
+ }>;
17
+ session?: Session;
18
+ sessionId?: string;
19
+ verbose?: boolean;
20
+ stream?: boolean;
21
+ maxToolCalls?: number;
22
+ temperature?: number;
23
+ maxTokens?: number;
24
+ outputSchema?: any;
25
+ }
26
+ export interface ChatOptions {
27
+ stream?: boolean;
28
+ temperature?: number;
29
+ maxTokens?: number;
30
+ outputSchema?: any;
31
+ onToken?: (token: string) => void;
32
+ }
33
+ export interface ChatResult {
34
+ text: string;
35
+ structured?: any;
36
+ toolCalls?: ToolCall[];
37
+ usage: {
38
+ promptTokens: number;
39
+ completionTokens: number;
40
+ totalTokens: number;
41
+ };
42
+ runId: string;
43
+ sessionId: string;
44
+ }
45
+ /**
46
+ * Enhanced Agent with full feature support
47
+ */
48
+ export declare class EnhancedAgent {
49
+ readonly name: string;
50
+ readonly instructions: string;
51
+ readonly sessionId: string;
52
+ private provider;
53
+ private providerPromise;
54
+ private llmModel;
55
+ private session;
56
+ private toolRegistry;
57
+ private verbose;
58
+ private stream;
59
+ private maxToolCalls;
60
+ private temperature;
61
+ private maxTokens?;
62
+ private outputSchema?;
63
+ constructor(config: EnhancedAgentConfig);
64
+ /**
65
+ * Get the LLM provider (lazy initialization with AI SDK backend)
66
+ */
67
+ private getProvider;
68
+ private registerTools;
69
+ /**
70
+ * Add a tool to the agent
71
+ */
72
+ addTool(t: FunctionTool | {
73
+ name: string;
74
+ description?: string;
75
+ parameters?: any;
76
+ execute: Function;
77
+ }): this;
78
+ /**
79
+ * Get all registered tools
80
+ */
81
+ getTools(): FunctionTool[];
82
+ /**
83
+ * Chat with the agent
84
+ */
85
+ chat(prompt: string, options?: ChatOptions): Promise<ChatResult>;
86
+ /**
87
+ * Start method for compatibility
88
+ */
89
+ start(prompt: string, options?: ChatOptions): Promise<string>;
90
+ /**
91
+ * Get the session
92
+ */
93
+ getSession(): Session;
94
+ /**
95
+ * Clear conversation history
96
+ */
97
+ clearHistory(): void;
98
+ }