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,163 @@
1
+ "use strict";
2
+ /**
3
+ * AutoAgents - Automatic agent generation from task descriptions
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.AutoAgents = void 0;
7
+ exports.createAutoAgents = createAutoAgents;
8
+ const backend_resolver_1 = require("../llm/backend-resolver");
9
+ /**
10
+ * AutoAgents - Generate agent configurations from task descriptions
11
+ */
12
+ class AutoAgents {
13
+ constructor(config = {}) {
14
+ this.provider = null;
15
+ this.providerPromise = null;
16
+ this.llmModel = config.llm || 'openai/gpt-4o-mini';
17
+ this.pattern = config.pattern || 'sequential';
18
+ this.singleAgent = config.singleAgent ?? false;
19
+ this.verbose = config.verbose ?? false;
20
+ }
21
+ /**
22
+ * Get the LLM provider (lazy initialization with AI SDK backend)
23
+ */
24
+ async getProvider() {
25
+ if (this.provider) {
26
+ return this.provider;
27
+ }
28
+ if (!this.providerPromise) {
29
+ this.providerPromise = (async () => {
30
+ const result = await (0, backend_resolver_1.resolveBackend)(this.llmModel, {
31
+ attribution: { agentId: 'AutoAgents' },
32
+ });
33
+ this.provider = result.provider;
34
+ return result.provider;
35
+ })();
36
+ }
37
+ return this.providerPromise;
38
+ }
39
+ /**
40
+ * Generate agent configuration from task description
41
+ */
42
+ async generate(taskDescription) {
43
+ const prompt = this.buildPrompt(taskDescription);
44
+ const provider = await this.getProvider();
45
+ const result = await provider.generateText({
46
+ messages: [
47
+ { role: 'system', content: this.getSystemPrompt() },
48
+ { role: 'user', content: prompt }
49
+ ]
50
+ });
51
+ return this.parseResponse(result.text);
52
+ }
53
+ /**
54
+ * Recommend a pattern for the task
55
+ */
56
+ recommendPattern(taskDescription) {
57
+ const lower = taskDescription.toLowerCase();
58
+ if (lower.includes('parallel') || lower.includes('concurrent') || lower.includes('simultaneously')) {
59
+ return 'parallel';
60
+ }
61
+ if (lower.includes('route') || lower.includes('classify') || lower.includes('categorize')) {
62
+ return 'routing';
63
+ }
64
+ if (lower.includes('orchestrat') || lower.includes('coordinat') || lower.includes('manage')) {
65
+ return 'orchestrator-workers';
66
+ }
67
+ if (lower.includes('evaluat') || lower.includes('optimi') || lower.includes('improv')) {
68
+ return 'evaluator-optimizer';
69
+ }
70
+ return 'sequential';
71
+ }
72
+ /**
73
+ * Analyze task complexity
74
+ */
75
+ analyzeComplexity(taskDescription) {
76
+ const words = taskDescription.split(/\s+/).length;
77
+ const hasMultipleSteps = /step|then|after|before|first|second|third|finally/i.test(taskDescription);
78
+ const hasMultipleAgents = /team|multiple|several|different|various/i.test(taskDescription);
79
+ if (words < 20 && !hasMultipleSteps && !hasMultipleAgents) {
80
+ return 'simple';
81
+ }
82
+ if (words > 100 || (hasMultipleSteps && hasMultipleAgents)) {
83
+ return 'complex';
84
+ }
85
+ return 'moderate';
86
+ }
87
+ getSystemPrompt() {
88
+ return `You are an AI agent architect. Your job is to analyze task descriptions and generate optimal agent configurations.
89
+
90
+ Output a JSON object with the following structure:
91
+ {
92
+ "agents": [
93
+ {
94
+ "name": "AgentName",
95
+ "role": "Role description",
96
+ "goal": "Agent's goal",
97
+ "backstory": "Optional backstory",
98
+ "instructions": "Specific instructions",
99
+ "tools": ["tool1", "tool2"]
100
+ }
101
+ ],
102
+ "tasks": [
103
+ {
104
+ "description": "Task description",
105
+ "expectedOutput": "What the task should produce",
106
+ "agent": "AgentName"
107
+ }
108
+ ],
109
+ "pattern": "sequential|parallel|hierarchical"
110
+ }
111
+
112
+ Guidelines:
113
+ - For simple tasks, use 1 agent
114
+ - For moderate tasks, use 2-3 agents
115
+ - For complex tasks, use 3-5 agents
116
+ - Match the pattern to the task requirements
117
+ - Be specific about roles and goals`;
118
+ }
119
+ buildPrompt(taskDescription) {
120
+ const complexity = this.analyzeComplexity(taskDescription);
121
+ const recommendedPattern = this.recommendPattern(taskDescription);
122
+ return `Task Description: ${taskDescription}
123
+
124
+ Complexity: ${complexity}
125
+ Recommended Pattern: ${this.pattern || recommendedPattern}
126
+ Single Agent Mode: ${this.singleAgent}
127
+
128
+ Generate an optimal agent configuration for this task.`;
129
+ }
130
+ parseResponse(response) {
131
+ try {
132
+ // Extract JSON from response
133
+ const jsonMatch = response.match(/\{[\s\S]*\}/);
134
+ if (jsonMatch) {
135
+ return JSON.parse(jsonMatch[0]);
136
+ }
137
+ }
138
+ catch (error) {
139
+ // Fallback to default structure
140
+ }
141
+ // Default fallback
142
+ return {
143
+ agents: [{
144
+ name: 'GeneralAgent',
145
+ role: 'General purpose agent',
146
+ goal: 'Complete the assigned task',
147
+ instructions: 'Follow the task description carefully'
148
+ }],
149
+ tasks: [{
150
+ description: 'Complete the task',
151
+ agent: 'GeneralAgent'
152
+ }],
153
+ pattern: 'sequential'
154
+ };
155
+ }
156
+ }
157
+ exports.AutoAgents = AutoAgents;
158
+ /**
159
+ * Create an AutoAgents instance
160
+ */
161
+ function createAutoAgents(config) {
162
+ return new AutoAgents(config);
163
+ }
@@ -0,0 +1,78 @@
1
+ /**
2
+ * Cache System - In-memory and persistent caching for agents
3
+ * Inspired by mastra's cache module
4
+ */
5
+ export interface CacheConfig {
6
+ name?: string;
7
+ ttl?: number;
8
+ maxSize?: number;
9
+ }
10
+ export interface CacheEntry<T = any> {
11
+ value: T;
12
+ createdAt: number;
13
+ expiresAt?: number;
14
+ }
15
+ /**
16
+ * Abstract base class for cache implementations
17
+ */
18
+ export declare abstract class BaseCache {
19
+ readonly name: string;
20
+ constructor(config?: CacheConfig);
21
+ abstract get<T = any>(key: string): Promise<T | undefined>;
22
+ abstract set<T = any>(key: string, value: T, ttl?: number): Promise<void>;
23
+ abstract delete(key: string): Promise<boolean>;
24
+ abstract clear(): Promise<void>;
25
+ abstract has(key: string): Promise<boolean>;
26
+ abstract keys(): Promise<string[]>;
27
+ abstract size(): Promise<number>;
28
+ abstract listPush<T = any>(key: string, value: T): Promise<void>;
29
+ abstract listLength(key: string): Promise<number>;
30
+ abstract listRange<T = any>(key: string, start: number, end?: number): Promise<T[]>;
31
+ }
32
+ /**
33
+ * In-memory cache implementation
34
+ */
35
+ export declare class MemoryCache extends BaseCache {
36
+ private cache;
37
+ private lists;
38
+ private ttl?;
39
+ private maxSize?;
40
+ constructor(config?: CacheConfig);
41
+ get<T = any>(key: string): Promise<T | undefined>;
42
+ set<T = any>(key: string, value: T, ttl?: number): Promise<void>;
43
+ delete(key: string): Promise<boolean>;
44
+ clear(): Promise<void>;
45
+ has(key: string): Promise<boolean>;
46
+ keys(): Promise<string[]>;
47
+ size(): Promise<number>;
48
+ listPush<T = any>(key: string, value: T): Promise<void>;
49
+ listLength(key: string): Promise<number>;
50
+ listRange<T = any>(key: string, start: number, end?: number): Promise<T[]>;
51
+ }
52
+ /**
53
+ * File-based cache implementation
54
+ */
55
+ export declare class FileCache extends BaseCache {
56
+ private cacheDir;
57
+ private fs;
58
+ private path;
59
+ constructor(config?: CacheConfig & {
60
+ cacheDir?: string;
61
+ });
62
+ private ensureDir;
63
+ private getFilePath;
64
+ get<T = any>(key: string): Promise<T | undefined>;
65
+ set<T = any>(key: string, value: T, ttl?: number): Promise<void>;
66
+ delete(key: string): Promise<boolean>;
67
+ clear(): Promise<void>;
68
+ has(key: string): Promise<boolean>;
69
+ keys(): Promise<string[]>;
70
+ size(): Promise<number>;
71
+ listPush<T = any>(key: string, value: T): Promise<void>;
72
+ listLength(key: string): Promise<number>;
73
+ listRange<T = any>(key: string, start: number, end?: number): Promise<T[]>;
74
+ }
75
+ export declare function createMemoryCache(config?: CacheConfig): MemoryCache;
76
+ export declare function createFileCache(config?: CacheConfig & {
77
+ cacheDir?: string;
78
+ }): FileCache;
@@ -0,0 +1,235 @@
1
+ "use strict";
2
+ /**
3
+ * Cache System - In-memory and persistent caching for agents
4
+ * Inspired by mastra's cache module
5
+ */
6
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
+ if (k2 === undefined) k2 = k;
8
+ var desc = Object.getOwnPropertyDescriptor(m, k);
9
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
+ desc = { enumerable: true, get: function() { return m[k]; } };
11
+ }
12
+ Object.defineProperty(o, k2, desc);
13
+ }) : (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ o[k2] = m[k];
16
+ }));
17
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
18
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
19
+ }) : function(o, v) {
20
+ o["default"] = v;
21
+ });
22
+ var __importStar = (this && this.__importStar) || (function () {
23
+ var ownKeys = function(o) {
24
+ ownKeys = Object.getOwnPropertyNames || function (o) {
25
+ var ar = [];
26
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
27
+ return ar;
28
+ };
29
+ return ownKeys(o);
30
+ };
31
+ return function (mod) {
32
+ if (mod && mod.__esModule) return mod;
33
+ var result = {};
34
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
35
+ __setModuleDefault(result, mod);
36
+ return result;
37
+ };
38
+ })();
39
+ Object.defineProperty(exports, "__esModule", { value: true });
40
+ exports.FileCache = exports.MemoryCache = exports.BaseCache = void 0;
41
+ exports.createMemoryCache = createMemoryCache;
42
+ exports.createFileCache = createFileCache;
43
+ /**
44
+ * Abstract base class for cache implementations
45
+ */
46
+ class BaseCache {
47
+ constructor(config = {}) {
48
+ this.name = config.name || 'cache';
49
+ }
50
+ }
51
+ exports.BaseCache = BaseCache;
52
+ /**
53
+ * In-memory cache implementation
54
+ */
55
+ class MemoryCache extends BaseCache {
56
+ constructor(config = {}) {
57
+ super(config);
58
+ this.cache = new Map();
59
+ this.lists = new Map();
60
+ this.ttl = config.ttl;
61
+ this.maxSize = config.maxSize;
62
+ }
63
+ async get(key) {
64
+ const entry = this.cache.get(key);
65
+ if (!entry)
66
+ return undefined;
67
+ // Check expiration
68
+ if (entry.expiresAt && Date.now() > entry.expiresAt) {
69
+ this.cache.delete(key);
70
+ return undefined;
71
+ }
72
+ return entry.value;
73
+ }
74
+ async set(key, value, ttl) {
75
+ // Enforce max size
76
+ if (this.maxSize && this.cache.size >= this.maxSize && !this.cache.has(key)) {
77
+ // Remove oldest entry
78
+ const firstKey = this.cache.keys().next().value;
79
+ if (firstKey)
80
+ this.cache.delete(firstKey);
81
+ }
82
+ const effectiveTtl = ttl ?? this.ttl;
83
+ const entry = {
84
+ value,
85
+ createdAt: Date.now(),
86
+ expiresAt: effectiveTtl ? Date.now() + effectiveTtl : undefined
87
+ };
88
+ this.cache.set(key, entry);
89
+ }
90
+ async delete(key) {
91
+ const existed = this.cache.has(key);
92
+ this.cache.delete(key);
93
+ this.lists.delete(key);
94
+ return existed;
95
+ }
96
+ async clear() {
97
+ this.cache.clear();
98
+ this.lists.clear();
99
+ }
100
+ async has(key) {
101
+ const entry = this.cache.get(key);
102
+ if (!entry)
103
+ return false;
104
+ if (entry.expiresAt && Date.now() > entry.expiresAt) {
105
+ this.cache.delete(key);
106
+ return false;
107
+ }
108
+ return true;
109
+ }
110
+ async keys() {
111
+ return Array.from(this.cache.keys());
112
+ }
113
+ async size() {
114
+ return this.cache.size;
115
+ }
116
+ async listPush(key, value) {
117
+ if (!this.lists.has(key)) {
118
+ this.lists.set(key, []);
119
+ }
120
+ this.lists.get(key).push(value);
121
+ }
122
+ async listLength(key) {
123
+ return this.lists.get(key)?.length ?? 0;
124
+ }
125
+ async listRange(key, start, end) {
126
+ const list = this.lists.get(key) ?? [];
127
+ return list.slice(start, end);
128
+ }
129
+ }
130
+ exports.MemoryCache = MemoryCache;
131
+ /**
132
+ * File-based cache implementation
133
+ */
134
+ class FileCache extends BaseCache {
135
+ constructor(config = {}) {
136
+ super(config);
137
+ this.cacheDir = config.cacheDir || '.cache';
138
+ }
139
+ async ensureDir() {
140
+ if (!this.fs) {
141
+ this.fs = await Promise.resolve().then(() => __importStar(require('fs/promises')));
142
+ this.path = await Promise.resolve().then(() => __importStar(require('path')));
143
+ }
144
+ try {
145
+ await this.fs.mkdir(this.cacheDir, { recursive: true });
146
+ }
147
+ catch { }
148
+ }
149
+ getFilePath(key) {
150
+ const safeKey = key.replace(/[^a-zA-Z0-9-_]/g, '_');
151
+ return this.path.join(this.cacheDir, `${safeKey}.json`);
152
+ }
153
+ async get(key) {
154
+ await this.ensureDir();
155
+ try {
156
+ const data = await this.fs.readFile(this.getFilePath(key), 'utf-8');
157
+ const entry = JSON.parse(data);
158
+ if (entry.expiresAt && Date.now() > entry.expiresAt) {
159
+ await this.delete(key);
160
+ return undefined;
161
+ }
162
+ return entry.value;
163
+ }
164
+ catch {
165
+ return undefined;
166
+ }
167
+ }
168
+ async set(key, value, ttl) {
169
+ await this.ensureDir();
170
+ const entry = {
171
+ value,
172
+ createdAt: Date.now(),
173
+ expiresAt: ttl ? Date.now() + ttl : undefined
174
+ };
175
+ await this.fs.writeFile(this.getFilePath(key), JSON.stringify(entry));
176
+ }
177
+ async delete(key) {
178
+ await this.ensureDir();
179
+ try {
180
+ await this.fs.unlink(this.getFilePath(key));
181
+ return true;
182
+ }
183
+ catch {
184
+ return false;
185
+ }
186
+ }
187
+ async clear() {
188
+ await this.ensureDir();
189
+ try {
190
+ const files = await this.fs.readdir(this.cacheDir);
191
+ await Promise.all(files.filter((f) => f.endsWith('.json'))
192
+ .map((f) => this.fs.unlink(this.path.join(this.cacheDir, f))));
193
+ }
194
+ catch { }
195
+ }
196
+ async has(key) {
197
+ return (await this.get(key)) !== undefined;
198
+ }
199
+ async keys() {
200
+ await this.ensureDir();
201
+ try {
202
+ const files = await this.fs.readdir(this.cacheDir);
203
+ return files
204
+ .filter((f) => f.endsWith('.json'))
205
+ .map((f) => f.replace('.json', ''));
206
+ }
207
+ catch {
208
+ return [];
209
+ }
210
+ }
211
+ async size() {
212
+ return (await this.keys()).length;
213
+ }
214
+ async listPush(key, value) {
215
+ const list = (await this.get(`list_${key}`)) || [];
216
+ list.push(value);
217
+ await this.set(`list_${key}`, list);
218
+ }
219
+ async listLength(key) {
220
+ const list = (await this.get(`list_${key}`)) || [];
221
+ return list.length;
222
+ }
223
+ async listRange(key, start, end) {
224
+ const list = (await this.get(`list_${key}`)) || [];
225
+ return list.slice(start, end);
226
+ }
227
+ }
228
+ exports.FileCache = FileCache;
229
+ // Factory functions
230
+ function createMemoryCache(config) {
231
+ return new MemoryCache(config);
232
+ }
233
+ function createFileCache(config) {
234
+ return new FileCache(config);
235
+ }
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Agent command - Run a single agent with instructions
3
+ *
4
+ * Usage:
5
+ * praisonai agent chat "Hello, how are you?"
6
+ * praisonai agent run --instructions "You are helpful" "Tell me a joke"
7
+ */
8
+ export interface AgentOptions {
9
+ instructions?: string;
10
+ model?: string;
11
+ stream?: boolean;
12
+ verbose?: boolean;
13
+ profile?: string;
14
+ config?: string;
15
+ output?: 'json' | 'text' | 'pretty';
16
+ json?: boolean;
17
+ sessionId?: string;
18
+ }
19
+ /**
20
+ * Execute agent chat subcommand
21
+ */
22
+ export declare function executeChat(args: string[], options: AgentOptions): Promise<void>;
23
+ /**
24
+ * Execute agent run subcommand (same as chat but requires instructions)
25
+ */
26
+ export declare function executeRun(args: string[], options: AgentOptions): Promise<void>;
27
+ /**
28
+ * Main execute function - routes to subcommands
29
+ */
30
+ export declare function execute(args: string[], options: AgentOptions): Promise<void>;
@@ -0,0 +1,151 @@
1
+ "use strict";
2
+ /**
3
+ * Agent command - Run a single agent with instructions
4
+ *
5
+ * Usage:
6
+ * praisonai agent chat "Hello, how are you?"
7
+ * praisonai agent run --instructions "You are helpful" "Tell me a joke"
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.executeChat = executeChat;
11
+ exports.executeRun = executeRun;
12
+ exports.execute = execute;
13
+ const agent_1 = require("../../agent");
14
+ const resolve_1 = require("../config/resolve");
15
+ const cli_spec_1 = require("../spec/cli-spec");
16
+ const pretty_logger_1 = require("../../utils/pretty-logger");
17
+ const outputJson = (obj) => console.log(JSON.stringify(obj));
18
+ const formatSuccess = (data, meta) => meta ? { success: true, data, meta } : { success: true, data };
19
+ const formatError = (code, message, details) => details
20
+ ? { success: false, error: { code, message, details } }
21
+ : { success: false, error: { code, message } };
22
+ const ERROR_CODES = {
23
+ INVALID_ARGS: 'INVALID_ARGUMENTS',
24
+ MISSING_ARG: 'MISSING_ARGUMENT',
25
+ UNKNOWN: 'UNKNOWN_ERROR',
26
+ };
27
+ function normalizeError(error) {
28
+ const message = error instanceof Error ? error.message : String(error);
29
+ const details = error instanceof Error && error.stack ? { stack: error.stack } : undefined;
30
+ return { code: ERROR_CODES.UNKNOWN, message, details, exitCode: cli_spec_1.EXIT_CODES.RUNTIME_ERROR };
31
+ }
32
+ const pretty = {
33
+ success: pretty_logger_1.PrettyLogger.success,
34
+ error: pretty_logger_1.PrettyLogger.error,
35
+ info: pretty_logger_1.PrettyLogger.info,
36
+ dim: async (s) => console.log(s),
37
+ plain: async (s) => console.log(s),
38
+ heading: async (s) => console.log(s),
39
+ newline: async () => console.log(),
40
+ };
41
+ /**
42
+ * Execute agent chat subcommand
43
+ */
44
+ async function executeChat(args, options) {
45
+ const prompt = args[0];
46
+ if (!prompt) {
47
+ if (options.json || options.output === 'json') {
48
+ outputJson(formatError(ERROR_CODES.MISSING_ARG, 'Please provide a prompt'));
49
+ }
50
+ else {
51
+ await pretty.error('Please provide a prompt');
52
+ }
53
+ process.exit(cli_spec_1.EXIT_CODES.INVALID_ARGUMENTS);
54
+ }
55
+ const config = (0, resolve_1.resolveConfig)({
56
+ configPath: options.config,
57
+ profile: options.profile,
58
+ model: options.model,
59
+ verbose: options.verbose,
60
+ stream: options.stream
61
+ });
62
+ const startTime = Date.now();
63
+ const outputFormat = options.json ? 'json' : (options.output || 'pretty');
64
+ try {
65
+ const agent = new agent_1.Agent({
66
+ instructions: options.instructions || 'You are a helpful AI assistant.',
67
+ llm: config.model,
68
+ stream: config.stream && outputFormat !== 'json',
69
+ verbose: config.verbose,
70
+ sessionId: options.sessionId
71
+ });
72
+ const response = await agent.chat(prompt);
73
+ const duration = Date.now() - startTime;
74
+ if (outputFormat === 'json') {
75
+ outputJson(formatSuccess({
76
+ response,
77
+ agent: agent.name,
78
+ sessionId: agent.getSessionId()
79
+ }, {
80
+ duration_ms: duration,
81
+ model: config.model
82
+ }));
83
+ }
84
+ else if (outputFormat === 'text') {
85
+ console.log(response);
86
+ }
87
+ else {
88
+ // Pretty output - response already printed if streaming
89
+ if (!config.stream) {
90
+ console.log(response);
91
+ }
92
+ console.log(); // Newline
93
+ await pretty.dim(`Completed in ${duration}ms`);
94
+ }
95
+ }
96
+ catch (error) {
97
+ const cliError = normalizeError(error);
98
+ if (outputFormat === 'json') {
99
+ outputJson(formatError(cliError.code, cliError.message, cliError.details));
100
+ }
101
+ else {
102
+ await pretty.error(cliError.message);
103
+ if (config.verbose && error instanceof Error && error.stack) {
104
+ await pretty.dim(error.stack);
105
+ }
106
+ }
107
+ process.exit(cliError.exitCode);
108
+ }
109
+ }
110
+ /**
111
+ * Execute agent run subcommand (same as chat but requires instructions)
112
+ */
113
+ async function executeRun(args, options) {
114
+ if (!options.instructions) {
115
+ if (options.json || options.output === 'json') {
116
+ outputJson(formatError(ERROR_CODES.MISSING_ARG, 'Please provide --instructions'));
117
+ }
118
+ else {
119
+ await pretty.error('Please provide --instructions');
120
+ }
121
+ process.exit(cli_spec_1.EXIT_CODES.INVALID_ARGUMENTS);
122
+ }
123
+ return executeChat(args, options);
124
+ }
125
+ /**
126
+ * Main execute function - routes to subcommands
127
+ */
128
+ async function execute(args, options) {
129
+ const subcommand = args[0];
130
+ const subArgs = args.slice(1);
131
+ switch (subcommand) {
132
+ case 'chat':
133
+ return executeChat(subArgs, options);
134
+ case 'run':
135
+ return executeRun(subArgs, options);
136
+ default:
137
+ // If no subcommand, treat the first arg as a prompt for chat
138
+ if (subcommand) {
139
+ return executeChat(args, options);
140
+ }
141
+ if (options.json || options.output === 'json') {
142
+ outputJson(formatError(ERROR_CODES.MISSING_ARG, 'Please provide a subcommand (chat, run) or a prompt'));
143
+ }
144
+ else {
145
+ await pretty.error('Usage: overai agent [chat|run] <prompt>');
146
+ await pretty.info(' agent chat "Hello" - Chat with default agent');
147
+ await pretty.info(' agent run --instructions "..." "Hello" - Run with custom instructions');
148
+ }
149
+ process.exit(cli_spec_1.EXIT_CODES.INVALID_ARGUMENTS);
150
+ }
151
+ }
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Agents command - Run multi-agent orchestration
3
+ *
4
+ * Usage:
5
+ * overai agents run --agents "researcher,writer" "Research AI trends"
6
+ */
7
+ export interface AgentsOptions {
8
+ agents?: string;
9
+ process?: 'sequential' | 'parallel';
10
+ model?: string;
11
+ verbose?: boolean;
12
+ profile?: string;
13
+ config?: string;
14
+ output?: 'json' | 'text' | 'pretty';
15
+ json?: boolean;
16
+ }
17
+ /**
18
+ * Execute agents run subcommand
19
+ */
20
+ export declare function executeRun(args: string[], options: AgentsOptions): Promise<void>;
21
+ /**
22
+ * Main execute function - routes to subcommands
23
+ */
24
+ export declare function execute(args: string[], options: AgentsOptions): Promise<void>;