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,144 @@
1
+ "use strict";
2
+ /**
3
+ * Reranker command - Document reranking
4
+ */
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
18
+ }) : function(o, v) {
19
+ o["default"] = v;
20
+ });
21
+ var __importStar = (this && this.__importStar) || (function () {
22
+ var ownKeys = function(o) {
23
+ ownKeys = Object.getOwnPropertyNames || function (o) {
24
+ var ar = [];
25
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
26
+ return ar;
27
+ };
28
+ return ownKeys(o);
29
+ };
30
+ return function (mod) {
31
+ if (mod && mod.__esModule) return mod;
32
+ var result = {};
33
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
34
+ __setModuleDefault(result, mod);
35
+ return result;
36
+ };
37
+ })();
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.execute = execute;
40
+ const json_1 = require("../output/json");
41
+ const pretty = __importStar(require("../output/pretty"));
42
+ const cli_spec_1 = require("../spec/cli-spec");
43
+ const errors_1 = require("../output/errors");
44
+ async function execute(args, options) {
45
+ const action = args[0] || 'help';
46
+ const outputFormat = options.json ? 'json' : (options.output || 'pretty');
47
+ try {
48
+ switch (action) {
49
+ case 'providers':
50
+ await listProviders(outputFormat);
51
+ break;
52
+ case 'info':
53
+ await showInfo(outputFormat);
54
+ break;
55
+ case 'help':
56
+ default:
57
+ await showHelp(outputFormat);
58
+ break;
59
+ }
60
+ }
61
+ catch (error) {
62
+ if (outputFormat === 'json') {
63
+ (0, json_1.outputJson)((0, json_1.formatError)(errors_1.ERROR_CODES.UNKNOWN, error instanceof Error ? error.message : String(error)));
64
+ }
65
+ else {
66
+ await pretty.error(error instanceof Error ? error.message : String(error));
67
+ }
68
+ process.exit(cli_spec_1.EXIT_CODES.RUNTIME_ERROR);
69
+ }
70
+ }
71
+ async function showInfo(outputFormat) {
72
+ const info = {
73
+ feature: 'Reranker',
74
+ description: 'Rerank search results for improved relevance',
75
+ providers: [
76
+ { name: 'CohereReranker', description: 'Cohere reranking API' },
77
+ { name: 'CrossEncoderReranker', description: 'Cross-encoder model reranking' },
78
+ { name: 'LLMReranker', description: 'LLM-based reranking' }
79
+ ],
80
+ capabilities: [
81
+ 'Rerank search results by relevance',
82
+ 'Improve RAG retrieval quality',
83
+ 'Multiple reranking strategies',
84
+ 'Configurable top-k selection'
85
+ ]
86
+ };
87
+ if (outputFormat === 'json') {
88
+ (0, json_1.outputJson)((0, json_1.formatSuccess)(info));
89
+ }
90
+ else {
91
+ await pretty.heading('Reranker');
92
+ await pretty.plain(info.description);
93
+ await pretty.newline();
94
+ await pretty.plain('Providers:');
95
+ for (const p of info.providers) {
96
+ await pretty.plain(` • ${p.name}: ${p.description}`);
97
+ }
98
+ await pretty.newline();
99
+ await pretty.plain('Capabilities:');
100
+ for (const cap of info.capabilities) {
101
+ await pretty.plain(` • ${cap}`);
102
+ }
103
+ }
104
+ }
105
+ async function listProviders(outputFormat) {
106
+ const providers = [
107
+ { name: 'cohere', description: 'Cohere reranking API', available: true },
108
+ { name: 'cross-encoder', description: 'Cross-encoder model', available: true },
109
+ { name: 'llm', description: 'LLM-based reranking', available: true }
110
+ ];
111
+ if (outputFormat === 'json') {
112
+ (0, json_1.outputJson)((0, json_1.formatSuccess)({ providers }));
113
+ }
114
+ else {
115
+ await pretty.heading('Reranker Providers');
116
+ for (const p of providers) {
117
+ const status = p.available ? '✓' : '✗';
118
+ await pretty.plain(` ${status} ${p.name.padEnd(15)} ${p.description}`);
119
+ }
120
+ }
121
+ }
122
+ async function showHelp(outputFormat) {
123
+ const help = {
124
+ command: 'reranker',
125
+ description: 'Document reranking for improved search relevance',
126
+ subcommands: [
127
+ { name: 'info', description: 'Show reranker feature information' },
128
+ { name: 'providers', description: 'List available reranker providers' },
129
+ { name: 'help', description: 'Show this help' }
130
+ ]
131
+ };
132
+ if (outputFormat === 'json') {
133
+ (0, json_1.outputJson)((0, json_1.formatSuccess)(help));
134
+ }
135
+ else {
136
+ await pretty.heading('Reranker Command');
137
+ await pretty.plain(help.description);
138
+ await pretty.newline();
139
+ await pretty.plain('Subcommands:');
140
+ for (const cmd of help.subcommands) {
141
+ await pretty.plain(` ${cmd.name.padEnd(20)} ${cmd.description}`);
142
+ }
143
+ }
144
+ }
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Research command - Deep research agent
3
+ */
4
+ export interface ResearchOptions {
5
+ model?: string;
6
+ verbose?: boolean;
7
+ output?: 'json' | 'text' | 'pretty';
8
+ json?: boolean;
9
+ depth?: number;
10
+ maxSources?: number;
11
+ }
12
+ export declare function execute(args: string[], options: ResearchOptions): Promise<void>;
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+ /**
3
+ * Research command - Deep research agent
4
+ */
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
18
+ }) : function(o, v) {
19
+ o["default"] = v;
20
+ });
21
+ var __importStar = (this && this.__importStar) || (function () {
22
+ var ownKeys = function(o) {
23
+ ownKeys = Object.getOwnPropertyNames || function (o) {
24
+ var ar = [];
25
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
26
+ return ar;
27
+ };
28
+ return ownKeys(o);
29
+ };
30
+ return function (mod) {
31
+ if (mod && mod.__esModule) return mod;
32
+ var result = {};
33
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
34
+ __setModuleDefault(result, mod);
35
+ return result;
36
+ };
37
+ })();
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.execute = execute;
40
+ const research_1 = require("../../agent/research");
41
+ const resolve_1 = require("../config/resolve");
42
+ const json_1 = require("../output/json");
43
+ const pretty = __importStar(require("../output/pretty"));
44
+ const cli_spec_1 = require("../spec/cli-spec");
45
+ const errors_1 = require("../output/errors");
46
+ async function execute(args, options) {
47
+ const query = args.join(' ');
48
+ const outputFormat = options.json ? 'json' : (options.output || 'pretty');
49
+ const config = (0, resolve_1.resolveConfig)(options);
50
+ if (!query) {
51
+ if (outputFormat === 'json') {
52
+ (0, json_1.outputJson)((0, json_1.formatError)(errors_1.ERROR_CODES.MISSING_ARG, 'Please provide a research query'));
53
+ }
54
+ else {
55
+ await pretty.error('Please provide a research query');
56
+ await pretty.dim('Usage: praisonai-ts research "What are the latest AI trends?"');
57
+ }
58
+ process.exit(cli_spec_1.EXIT_CODES.INVALID_ARGUMENTS);
59
+ }
60
+ const startTime = Date.now();
61
+ try {
62
+ if (outputFormat !== 'json') {
63
+ await pretty.info(`Researching: "${query}"`);
64
+ }
65
+ const agent = (0, research_1.createDeepResearchAgent)({
66
+ llm: config.model,
67
+ verbose: options.verbose,
68
+ maxIterations: options.depth
69
+ });
70
+ const result = await agent.research(query);
71
+ const duration = Date.now() - startTime;
72
+ if (outputFormat === 'json') {
73
+ (0, json_1.outputJson)((0, json_1.formatSuccess)({
74
+ query,
75
+ answer: result.answer,
76
+ citations: result.citations,
77
+ reasoning: result.reasoning,
78
+ confidence: result.confidence
79
+ }, {
80
+ duration_ms: duration,
81
+ model: config.model
82
+ }));
83
+ }
84
+ else {
85
+ await pretty.heading('Research Results');
86
+ await pretty.newline();
87
+ await pretty.plain(result.answer);
88
+ if (result.citations && result.citations.length > 0) {
89
+ await pretty.newline();
90
+ await pretty.plain('Citations:');
91
+ for (const citation of result.citations) {
92
+ await pretty.dim(` • ${citation.title || citation.url}`);
93
+ }
94
+ }
95
+ await pretty.newline();
96
+ await pretty.success(`Completed in ${duration}ms`);
97
+ }
98
+ }
99
+ catch (error) {
100
+ if (outputFormat === 'json') {
101
+ (0, json_1.outputJson)((0, json_1.formatError)(errors_1.ERROR_CODES.UNKNOWN, error instanceof Error ? error.message : String(error)));
102
+ }
103
+ else {
104
+ await pretty.error(error instanceof Error ? error.message : String(error));
105
+ }
106
+ process.exit(cli_spec_1.EXIT_CODES.RUNTIME_ERROR);
107
+ }
108
+ }
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Router command - Route requests to appropriate agents
3
+ */
4
+ export interface RouterOptions {
5
+ model?: string;
6
+ verbose?: boolean;
7
+ output?: 'json' | 'text' | 'pretty';
8
+ json?: boolean;
9
+ routes?: string;
10
+ }
11
+ export declare function execute(args: string[], options: RouterOptions): Promise<void>;
@@ -0,0 +1,142 @@
1
+ "use strict";
2
+ /**
3
+ * Router command - Route requests to appropriate agents
4
+ */
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
18
+ }) : function(o, v) {
19
+ o["default"] = v;
20
+ });
21
+ var __importStar = (this && this.__importStar) || (function () {
22
+ var ownKeys = function(o) {
23
+ ownKeys = Object.getOwnPropertyNames || function (o) {
24
+ var ar = [];
25
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
26
+ return ar;
27
+ };
28
+ return ownKeys(o);
29
+ };
30
+ return function (mod) {
31
+ if (mod && mod.__esModule) return mod;
32
+ var result = {};
33
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
34
+ __setModuleDefault(result, mod);
35
+ return result;
36
+ };
37
+ })();
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.execute = execute;
40
+ const json_1 = require("../output/json");
41
+ const pretty = __importStar(require("../output/pretty"));
42
+ const cli_spec_1 = require("../spec/cli-spec");
43
+ const errors_1 = require("../output/errors");
44
+ async function execute(args, options) {
45
+ const action = args[0] || 'help';
46
+ const actionArgs = args.slice(1);
47
+ const outputFormat = options.json ? 'json' : (options.output || 'pretty');
48
+ try {
49
+ switch (action) {
50
+ case 'analyze':
51
+ await analyzeInput(actionArgs, outputFormat);
52
+ break;
53
+ case 'help':
54
+ default:
55
+ await showHelp(outputFormat);
56
+ break;
57
+ }
58
+ }
59
+ catch (error) {
60
+ if (outputFormat === 'json') {
61
+ (0, json_1.outputJson)((0, json_1.formatError)(errors_1.ERROR_CODES.UNKNOWN, error instanceof Error ? error.message : String(error)));
62
+ }
63
+ else {
64
+ await pretty.error(error instanceof Error ? error.message : String(error));
65
+ }
66
+ process.exit(cli_spec_1.EXIT_CODES.RUNTIME_ERROR);
67
+ }
68
+ }
69
+ async function analyzeInput(args, outputFormat) {
70
+ const input = args.join(' ');
71
+ if (!input) {
72
+ if (outputFormat === 'json') {
73
+ (0, json_1.outputJson)((0, json_1.formatError)(errors_1.ERROR_CODES.MISSING_ARG, 'Please provide input to analyze'));
74
+ }
75
+ else {
76
+ await pretty.error('Please provide input to analyze');
77
+ }
78
+ process.exit(cli_spec_1.EXIT_CODES.INVALID_ARGUMENTS);
79
+ }
80
+ const startTime = Date.now();
81
+ if (outputFormat !== 'json') {
82
+ await pretty.info(`Analyzing routing for: "${input}"`);
83
+ }
84
+ // Simple rule-based routing analysis
85
+ const routes = [
86
+ { name: 'greeting', pattern: /\b(hello|hi|hey|greetings)\b/i, priority: 1 },
87
+ { name: 'question', pattern: /\?$/, priority: 2 },
88
+ { name: 'code', pattern: /\b(code|function|class|implement|debug)\b/i, priority: 3 },
89
+ { name: 'research', pattern: /\b(research|analyze|investigate|study)\b/i, priority: 3 },
90
+ { name: 'creative', pattern: /\b(write|create|generate|compose)\b/i, priority: 2 },
91
+ { name: 'general', pattern: /.*/, priority: 0 }
92
+ ];
93
+ const matches = routes
94
+ .filter(r => r.pattern.test(input))
95
+ .sort((a, b) => b.priority - a.priority);
96
+ const selectedRoute = matches[0]?.name || 'general';
97
+ const confidence = matches[0]?.priority ? Math.min(0.5 + matches[0].priority * 0.15, 0.95) : 0.5;
98
+ const duration = Date.now() - startTime;
99
+ if (outputFormat === 'json') {
100
+ (0, json_1.outputJson)((0, json_1.formatSuccess)({
101
+ input,
102
+ selectedRoute,
103
+ confidence,
104
+ matchedRoutes: matches.map(m => m.name)
105
+ }, {
106
+ duration_ms: duration
107
+ }));
108
+ }
109
+ else {
110
+ await pretty.heading('Routing Analysis');
111
+ await pretty.plain(`Input: "${input}"`);
112
+ await pretty.plain(`Selected Route: ${selectedRoute}`);
113
+ await pretty.plain(`Confidence: ${(confidence * 100).toFixed(1)}%`);
114
+ await pretty.plain(`Matched Routes: ${matches.map(m => m.name).join(', ')}`);
115
+ await pretty.newline();
116
+ await pretty.success(`Analyzed in ${duration}ms`);
117
+ }
118
+ }
119
+ async function showHelp(outputFormat) {
120
+ const help = {
121
+ command: 'router',
122
+ description: 'Route requests to appropriate agents based on content analysis',
123
+ subcommands: [
124
+ { name: 'analyze <input>', description: 'Analyze input and suggest routing' },
125
+ { name: 'help', description: 'Show this help' }
126
+ ],
127
+ usage: 'For programmatic routing with actual agents, use the RouterAgent SDK class'
128
+ };
129
+ if (outputFormat === 'json') {
130
+ (0, json_1.outputJson)((0, json_1.formatSuccess)(help));
131
+ }
132
+ else {
133
+ await pretty.heading('Router Command');
134
+ await pretty.plain('Route requests to appropriate agents\n');
135
+ await pretty.plain('Subcommands:');
136
+ for (const cmd of help.subcommands) {
137
+ await pretty.plain(` ${cmd.name.padEnd(25)} ${cmd.description}`);
138
+ }
139
+ await pretty.newline();
140
+ await pretty.dim('Note: For full routing with agents, use the RouterAgent SDK class');
141
+ }
142
+ }
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Run command - Run an agent with a task
3
+ */
4
+ export interface RunOptions {
5
+ agent?: string;
6
+ tools?: string;
7
+ model?: string;
8
+ verbose?: boolean;
9
+ profile?: string;
10
+ config?: string;
11
+ output?: 'json' | 'text' | 'pretty';
12
+ json?: boolean;
13
+ }
14
+ export declare function execute(args: string[], options: RunOptions): Promise<void>;
@@ -0,0 +1,111 @@
1
+ "use strict";
2
+ /**
3
+ * Run command - Run an agent with a task
4
+ */
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
18
+ }) : function(o, v) {
19
+ o["default"] = v;
20
+ });
21
+ var __importStar = (this && this.__importStar) || (function () {
22
+ var ownKeys = function(o) {
23
+ ownKeys = Object.getOwnPropertyNames || function (o) {
24
+ var ar = [];
25
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
26
+ return ar;
27
+ };
28
+ return ownKeys(o);
29
+ };
30
+ return function (mod) {
31
+ if (mod && mod.__esModule) return mod;
32
+ var result = {};
33
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
34
+ __setModuleDefault(result, mod);
35
+ return result;
36
+ };
37
+ })();
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.execute = execute;
40
+ const agent_1 = require("../../agent");
41
+ const resolve_1 = require("../config/resolve");
42
+ const json_1 = require("../output/json");
43
+ const pretty = __importStar(require("../output/pretty"));
44
+ const cli_spec_1 = require("../spec/cli-spec");
45
+ const errors_1 = require("../output/errors");
46
+ async function execute(args, options) {
47
+ const task = args[0];
48
+ if (!task) {
49
+ if (options.json || options.output === 'json') {
50
+ (0, json_1.printError)(errors_1.ERROR_CODES.MISSING_ARG, 'Please provide a task');
51
+ }
52
+ else {
53
+ await pretty.error('Please provide a task');
54
+ }
55
+ process.exit(cli_spec_1.EXIT_CODES.INVALID_ARGUMENTS);
56
+ }
57
+ // Resolve config with precedence
58
+ const config = (0, resolve_1.resolveConfig)({
59
+ configPath: options.config,
60
+ profile: options.profile,
61
+ model: options.model,
62
+ verbose: options.verbose
63
+ });
64
+ const startTime = Date.now();
65
+ const outputFormat = options.json ? 'json' : (options.output || 'pretty');
66
+ try {
67
+ // Parse tools if provided
68
+ const tools = options.tools ? options.tools.split(',').map(t => t.trim()) : [];
69
+ // Create agent
70
+ const agent = new agent_1.Agent({
71
+ name: 'CLI Agent',
72
+ instructions: 'You are a helpful AI assistant.',
73
+ llm: config.model,
74
+ verbose: config.verbose
75
+ });
76
+ // Execute task
77
+ const result = await agent.start(task);
78
+ const duration = Date.now() - startTime;
79
+ if (outputFormat === 'json') {
80
+ (0, json_1.outputJson)((0, json_1.formatSuccess)({
81
+ result: result,
82
+ agent: 'CLI Agent',
83
+ task: task
84
+ }, {
85
+ duration_ms: duration,
86
+ model: config.model
87
+ }));
88
+ }
89
+ else {
90
+ if (typeof result === 'string') {
91
+ console.log(result);
92
+ }
93
+ else {
94
+ console.log(JSON.stringify(result, null, 2));
95
+ }
96
+ }
97
+ }
98
+ catch (error) {
99
+ const cliError = (0, errors_1.normalizeError)(error);
100
+ if (outputFormat === 'json') {
101
+ (0, json_1.outputJson)((0, json_1.formatError)(cliError.code, cliError.message, cliError.details));
102
+ }
103
+ else {
104
+ await pretty.error(cliError.message);
105
+ if (config.verbose && error instanceof Error && error.stack) {
106
+ await pretty.dim(error.stack);
107
+ }
108
+ }
109
+ process.exit(cliError.exitCode);
110
+ }
111
+ }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * CLI command: sandbox
3
+ * Safe command execution with restrictions
4
+ */
5
+ export declare function execute(args: string[], options: Record<string, unknown>): Promise<void>;
@@ -0,0 +1,135 @@
1
+ "use strict";
2
+ /**
3
+ * CLI command: sandbox
4
+ * Safe command execution with restrictions
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.execute = execute;
8
+ const sandbox_executor_1 = require("../features/sandbox-executor");
9
+ async function execute(args, options) {
10
+ const subcommand = args[0] || 'help';
11
+ const isJson = Boolean(options.output === 'json' || options.json);
12
+ switch (subcommand) {
13
+ case 'exec':
14
+ await handleExec(args.slice(1), options, isJson);
15
+ break;
16
+ case 'check':
17
+ await handleCheck(args.slice(1), isJson);
18
+ break;
19
+ case 'mode':
20
+ await handleMode(args.slice(1), isJson);
21
+ break;
22
+ case 'help':
23
+ default:
24
+ showHelp(isJson);
25
+ }
26
+ }
27
+ async function handleExec(args, options, isJson) {
28
+ const command = args.join(' ');
29
+ if (!command) {
30
+ console.error('Error: Command is required');
31
+ process.exit(1);
32
+ }
33
+ const mode = options.mode || 'basic';
34
+ const timeout = options.timeout || 30000;
35
+ const executor = (0, sandbox_executor_1.createSandboxExecutor)({ mode, timeout });
36
+ const result = await executor.execute(command);
37
+ if (isJson) {
38
+ console.log(JSON.stringify(result, null, 2));
39
+ }
40
+ else {
41
+ if (result.success) {
42
+ console.log('✓ Command executed successfully');
43
+ console.log(`Duration: ${result.duration}ms`);
44
+ if (result.stdout) {
45
+ console.log('\nOutput:');
46
+ console.log(result.stdout);
47
+ }
48
+ }
49
+ else {
50
+ console.error('✗ Command failed');
51
+ if (result.stderr)
52
+ console.error(result.stderr);
53
+ }
54
+ }
55
+ if (!result.success)
56
+ process.exit(result.exitCode || 1);
57
+ }
58
+ async function handleCheck(args, isJson) {
59
+ const command = args.join(' ');
60
+ if (!command) {
61
+ console.error('Error: Command is required');
62
+ process.exit(1);
63
+ }
64
+ const validator = new sandbox_executor_1.CommandValidator();
65
+ const result = validator.validate(command);
66
+ if (isJson) {
67
+ console.log(JSON.stringify({ command, ...result }, null, 2));
68
+ }
69
+ else {
70
+ if (result.valid) {
71
+ console.log(`✓ Command is allowed: ${command}`);
72
+ }
73
+ else {
74
+ console.log(`✗ Command blocked: ${command}`);
75
+ console.log(` Reason: ${result.reason}`);
76
+ }
77
+ }
78
+ }
79
+ async function handleMode(args, isJson) {
80
+ const modes = {
81
+ disabled: 'No execution allowed',
82
+ basic: 'Basic validation, blocks dangerous patterns',
83
+ strict: 'Minimal environment, restricted PATH',
84
+ 'network-isolated': 'No network access (proxy blocked)'
85
+ };
86
+ if (isJson) {
87
+ console.log(JSON.stringify({ success: true, modes }, null, 2));
88
+ }
89
+ else {
90
+ console.log('Sandbox Modes:\n');
91
+ for (const [mode, desc] of Object.entries(modes)) {
92
+ console.log(` ${mode.padEnd(18)} ${desc}`);
93
+ }
94
+ }
95
+ }
96
+ function showHelp(isJson) {
97
+ const help = {
98
+ command: 'sandbox',
99
+ description: 'Safe command execution with restrictions',
100
+ subcommands: {
101
+ exec: 'Execute a command in sandbox',
102
+ check: 'Check if a command would be allowed',
103
+ mode: 'List available sandbox modes'
104
+ },
105
+ flags: {
106
+ '--mode': 'Sandbox mode (disabled, basic, strict, network-isolated)',
107
+ '--timeout': 'Execution timeout in ms (default: 30000)',
108
+ '--json': 'Output in JSON format'
109
+ },
110
+ examples: [
111
+ 'praisonai-ts sandbox exec "ls -la"',
112
+ 'praisonai-ts sandbox exec "npm install" --mode strict',
113
+ 'praisonai-ts sandbox check "rm -rf /"',
114
+ 'praisonai-ts sandbox mode'
115
+ ]
116
+ };
117
+ if (isJson) {
118
+ console.log(JSON.stringify(help, null, 2));
119
+ }
120
+ else {
121
+ console.log('Sandbox - Safe command execution\n');
122
+ console.log('Subcommands:');
123
+ for (const [cmd, desc] of Object.entries(help.subcommands)) {
124
+ console.log(` ${cmd.padEnd(12)} ${desc}`);
125
+ }
126
+ console.log('\nFlags:');
127
+ for (const [flag, desc] of Object.entries(help.flags)) {
128
+ console.log(` ${flag.padEnd(12)} ${desc}`);
129
+ }
130
+ console.log('\nExamples:');
131
+ for (const ex of help.examples) {
132
+ console.log(` ${ex}`);
133
+ }
134
+ }
135
+ }