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,288 @@
1
+ "use strict";
2
+ /**
3
+ * Checkpoints - Snapshot session/run state for recovery
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.CheckpointManager = exports.FileCheckpointStorage = exports.MemoryCheckpointStorage = void 0;
40
+ exports.createCheckpointManager = createCheckpointManager;
41
+ exports.createFileCheckpointStorage = createFileCheckpointStorage;
42
+ /**
43
+ * In-memory checkpoint storage
44
+ */
45
+ class MemoryCheckpointStorage {
46
+ constructor() {
47
+ this.checkpoints = new Map();
48
+ }
49
+ async save(checkpoint) {
50
+ this.checkpoints.set(checkpoint.id, { ...checkpoint });
51
+ }
52
+ async load(id) {
53
+ return this.checkpoints.get(id) || null;
54
+ }
55
+ async list() {
56
+ return Array.from(this.checkpoints.values())
57
+ .sort((a, b) => b.timestamp.getTime() - a.timestamp.getTime());
58
+ }
59
+ async delete(id) {
60
+ this.checkpoints.delete(id);
61
+ }
62
+ async clear() {
63
+ this.checkpoints.clear();
64
+ }
65
+ }
66
+ exports.MemoryCheckpointStorage = MemoryCheckpointStorage;
67
+ /**
68
+ * File-based checkpoint storage
69
+ */
70
+ class FileCheckpointStorage {
71
+ constructor(dirPath) {
72
+ this.dirPath = dirPath;
73
+ }
74
+ async ensureDir() {
75
+ const fs = await Promise.resolve().then(() => __importStar(require('fs/promises')));
76
+ await fs.mkdir(this.dirPath, { recursive: true });
77
+ }
78
+ getFilePath(id) {
79
+ return `${this.dirPath}/${id}.json`;
80
+ }
81
+ async save(checkpoint) {
82
+ await this.ensureDir();
83
+ const fs = await Promise.resolve().then(() => __importStar(require('fs/promises')));
84
+ await fs.writeFile(this.getFilePath(checkpoint.id), JSON.stringify(checkpoint, null, 2));
85
+ }
86
+ async load(id) {
87
+ try {
88
+ const fs = await Promise.resolve().then(() => __importStar(require('fs/promises')));
89
+ const content = await fs.readFile(this.getFilePath(id), 'utf-8');
90
+ const data = JSON.parse(content);
91
+ data.timestamp = new Date(data.timestamp);
92
+ return data;
93
+ }
94
+ catch {
95
+ return null;
96
+ }
97
+ }
98
+ async list() {
99
+ try {
100
+ await this.ensureDir();
101
+ const fs = await Promise.resolve().then(() => __importStar(require('fs/promises')));
102
+ const files = await fs.readdir(this.dirPath);
103
+ const checkpoints = [];
104
+ for (const file of files) {
105
+ if (file.endsWith('.json')) {
106
+ const id = file.replace('.json', '');
107
+ const checkpoint = await this.load(id);
108
+ if (checkpoint) {
109
+ checkpoints.push(checkpoint);
110
+ }
111
+ }
112
+ }
113
+ return checkpoints.sort((a, b) => b.timestamp.getTime() - a.timestamp.getTime());
114
+ }
115
+ catch {
116
+ return [];
117
+ }
118
+ }
119
+ async delete(id) {
120
+ try {
121
+ const fs = await Promise.resolve().then(() => __importStar(require('fs/promises')));
122
+ await fs.unlink(this.getFilePath(id));
123
+ }
124
+ catch {
125
+ // Ignore if file doesn't exist
126
+ }
127
+ }
128
+ async clear() {
129
+ const checkpoints = await this.list();
130
+ for (const checkpoint of checkpoints) {
131
+ await this.delete(checkpoint.id);
132
+ }
133
+ }
134
+ }
135
+ exports.FileCheckpointStorage = FileCheckpointStorage;
136
+ /**
137
+ * Checkpoint Manager class
138
+ */
139
+ class CheckpointManager {
140
+ constructor(config = {}) {
141
+ this.currentState = {};
142
+ this.config = {
143
+ autoSave: false,
144
+ autoSaveInterval: 60000, // 1 minute
145
+ maxCheckpoints: 10,
146
+ ...config
147
+ };
148
+ this.storage = config.storage || new MemoryCheckpointStorage();
149
+ }
150
+ /**
151
+ * Create a checkpoint
152
+ */
153
+ async create(name, options = {}) {
154
+ const checkpoint = {
155
+ id: `cp_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`,
156
+ name,
157
+ timestamp: new Date(),
158
+ state: { ...this.currentState },
159
+ ...options
160
+ };
161
+ await this.storage.save(checkpoint);
162
+ await this.enforceMaxCheckpoints();
163
+ return checkpoint;
164
+ }
165
+ /**
166
+ * Restore from a checkpoint
167
+ */
168
+ async restore(id) {
169
+ const checkpoint = await this.storage.load(id);
170
+ if (checkpoint) {
171
+ this.currentState = { ...checkpoint.state };
172
+ }
173
+ return checkpoint;
174
+ }
175
+ /**
176
+ * Restore the latest checkpoint
177
+ */
178
+ async restoreLatest() {
179
+ const checkpoints = await this.storage.list();
180
+ if (checkpoints.length === 0)
181
+ return null;
182
+ return this.restore(checkpoints[0].id);
183
+ }
184
+ /**
185
+ * Get a checkpoint by ID
186
+ */
187
+ async get(id) {
188
+ return this.storage.load(id);
189
+ }
190
+ /**
191
+ * List all checkpoints
192
+ */
193
+ async list() {
194
+ return this.storage.list();
195
+ }
196
+ /**
197
+ * Delete a checkpoint
198
+ */
199
+ async delete(id) {
200
+ await this.storage.delete(id);
201
+ }
202
+ /**
203
+ * Clear all checkpoints
204
+ */
205
+ async clear() {
206
+ await this.storage.clear();
207
+ }
208
+ /**
209
+ * Update current state
210
+ */
211
+ setState(state) {
212
+ this.currentState = { ...this.currentState, ...state };
213
+ }
214
+ /**
215
+ * Get current state
216
+ */
217
+ getState() {
218
+ return { ...this.currentState };
219
+ }
220
+ /**
221
+ * Start auto-save
222
+ */
223
+ startAutoSave() {
224
+ if (this.autoSaveTimer)
225
+ return;
226
+ if (!this.config.autoSave)
227
+ return;
228
+ this.autoSaveTimer = setInterval(async () => {
229
+ await this.create('auto-save', { metadata: { auto: true } });
230
+ }, this.config.autoSaveInterval);
231
+ }
232
+ /**
233
+ * Stop auto-save
234
+ */
235
+ stopAutoSave() {
236
+ if (this.autoSaveTimer) {
237
+ clearInterval(this.autoSaveTimer);
238
+ this.autoSaveTimer = undefined;
239
+ }
240
+ }
241
+ /**
242
+ * Enforce maximum checkpoints limit
243
+ */
244
+ async enforceMaxCheckpoints() {
245
+ if (!this.config.maxCheckpoints)
246
+ return;
247
+ const checkpoints = await this.storage.list();
248
+ if (checkpoints.length > this.config.maxCheckpoints) {
249
+ // Delete oldest checkpoints (but keep auto-saves separate)
250
+ const toDelete = checkpoints.slice(this.config.maxCheckpoints);
251
+ for (const checkpoint of toDelete) {
252
+ await this.storage.delete(checkpoint.id);
253
+ }
254
+ }
255
+ }
256
+ /**
257
+ * Export checkpoint to JSON string
258
+ */
259
+ async export(id) {
260
+ const checkpoint = await this.storage.load(id);
261
+ if (!checkpoint)
262
+ return null;
263
+ return JSON.stringify(checkpoint, null, 2);
264
+ }
265
+ /**
266
+ * Import checkpoint from JSON string
267
+ */
268
+ async import(json) {
269
+ const data = JSON.parse(json);
270
+ data.timestamp = new Date(data.timestamp);
271
+ data.id = `cp_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`; // New ID
272
+ await this.storage.save(data);
273
+ return data;
274
+ }
275
+ }
276
+ exports.CheckpointManager = CheckpointManager;
277
+ /**
278
+ * Create a checkpoint manager
279
+ */
280
+ function createCheckpointManager(config) {
281
+ return new CheckpointManager(config);
282
+ }
283
+ /**
284
+ * Create file-based checkpoint storage
285
+ */
286
+ function createFileCheckpointStorage(dirPath) {
287
+ return new FileCheckpointStorage(dirPath);
288
+ }
@@ -0,0 +1,101 @@
1
+ /**
2
+ * Cost Tracker - Track token usage and costs across LLM requests
3
+ */
4
+ export interface ModelPricing {
5
+ inputCostPer1k: number;
6
+ outputCostPer1k: number;
7
+ }
8
+ export interface TokenUsage {
9
+ inputTokens: number;
10
+ outputTokens: number;
11
+ totalTokens: number;
12
+ }
13
+ export interface RequestStats {
14
+ timestamp: number;
15
+ model: string;
16
+ usage: TokenUsage;
17
+ cost: number;
18
+ latencyMs?: number;
19
+ }
20
+ export interface SessionStats {
21
+ totalInputTokens: number;
22
+ totalOutputTokens: number;
23
+ totalTokens: number;
24
+ totalCost: number;
25
+ requestCount: number;
26
+ avgLatencyMs: number;
27
+ startTime: number;
28
+ requests: RequestStats[];
29
+ }
30
+ /**
31
+ * Model pricing data (USD per 1K tokens)
32
+ */
33
+ export declare const MODEL_PRICING: Record<string, ModelPricing>;
34
+ /**
35
+ * Cost Tracker class
36
+ */
37
+ export declare class CostTracker {
38
+ private stats;
39
+ private customPricing;
40
+ constructor();
41
+ private createEmptyStats;
42
+ /**
43
+ * Add a request's token usage
44
+ */
45
+ addUsage(model: string, inputTokens: number, outputTokens: number, latencyMs?: number): RequestStats;
46
+ /**
47
+ * Calculate cost for token usage
48
+ */
49
+ calculateCost(model: string, inputTokens: number, outputTokens: number): number;
50
+ /**
51
+ * Get pricing for a model
52
+ */
53
+ getPricing(model: string): ModelPricing;
54
+ /**
55
+ * Set custom pricing for a model
56
+ */
57
+ setCustomPricing(model: string, pricing: ModelPricing): void;
58
+ /**
59
+ * Get current session stats
60
+ */
61
+ getStats(): SessionStats;
62
+ /**
63
+ * Get summary string
64
+ */
65
+ getSummary(): string;
66
+ /**
67
+ * Get detailed breakdown by model
68
+ */
69
+ getBreakdownByModel(): Record<string, {
70
+ tokens: number;
71
+ cost: number;
72
+ requests: number;
73
+ }>;
74
+ /**
75
+ * Reset stats
76
+ */
77
+ reset(): void;
78
+ /**
79
+ * Export stats to JSON
80
+ */
81
+ toJSON(): SessionStats;
82
+ /**
83
+ * Import stats from JSON
84
+ */
85
+ fromJSON(data: SessionStats): void;
86
+ get totalTokens(): number;
87
+ get totalCost(): number;
88
+ get requests(): number;
89
+ }
90
+ /**
91
+ * Create a cost tracker instance
92
+ */
93
+ export declare function createCostTracker(): CostTracker;
94
+ /**
95
+ * Estimate tokens from text (rough approximation)
96
+ */
97
+ export declare function estimateTokens(text: string): number;
98
+ /**
99
+ * Format cost as currency string
100
+ */
101
+ export declare function formatCost(cost: number): string;
@@ -0,0 +1,212 @@
1
+ "use strict";
2
+ /**
3
+ * Cost Tracker - Track token usage and costs across LLM requests
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.CostTracker = exports.MODEL_PRICING = void 0;
7
+ exports.createCostTracker = createCostTracker;
8
+ exports.estimateTokens = estimateTokens;
9
+ exports.formatCost = formatCost;
10
+ /**
11
+ * Model pricing data (USD per 1K tokens)
12
+ */
13
+ exports.MODEL_PRICING = {
14
+ // OpenAI
15
+ 'gpt-4o': { inputCostPer1k: 0.005, outputCostPer1k: 0.015 },
16
+ 'gpt-4o-mini': { inputCostPer1k: 0.00015, outputCostPer1k: 0.0006 },
17
+ 'gpt-4-turbo': { inputCostPer1k: 0.01, outputCostPer1k: 0.03 },
18
+ 'gpt-4': { inputCostPer1k: 0.03, outputCostPer1k: 0.06 },
19
+ 'gpt-3.5-turbo': { inputCostPer1k: 0.0005, outputCostPer1k: 0.0015 },
20
+ 'o1': { inputCostPer1k: 0.015, outputCostPer1k: 0.06 },
21
+ 'o1-mini': { inputCostPer1k: 0.003, outputCostPer1k: 0.012 },
22
+ 'o1-preview': { inputCostPer1k: 0.015, outputCostPer1k: 0.06 },
23
+ // Anthropic
24
+ 'claude-3-5-sonnet-20241022': { inputCostPer1k: 0.003, outputCostPer1k: 0.015 },
25
+ 'claude-3-5-haiku-20241022': { inputCostPer1k: 0.001, outputCostPer1k: 0.005 },
26
+ 'claude-3-opus-20240229': { inputCostPer1k: 0.015, outputCostPer1k: 0.075 },
27
+ 'claude-3-sonnet-20240229': { inputCostPer1k: 0.003, outputCostPer1k: 0.015 },
28
+ 'claude-3-haiku-20240307': { inputCostPer1k: 0.00025, outputCostPer1k: 0.00125 },
29
+ // Google
30
+ 'gemini-2.0-flash': { inputCostPer1k: 0.0001, outputCostPer1k: 0.0004 },
31
+ 'gemini-1.5-pro': { inputCostPer1k: 0.00125, outputCostPer1k: 0.005 },
32
+ 'gemini-1.5-flash': { inputCostPer1k: 0.000075, outputCostPer1k: 0.0003 },
33
+ // Default fallback
34
+ 'default': { inputCostPer1k: 0.001, outputCostPer1k: 0.002 }
35
+ };
36
+ /**
37
+ * Cost Tracker class
38
+ */
39
+ class CostTracker {
40
+ constructor() {
41
+ this.customPricing = new Map();
42
+ this.stats = this.createEmptyStats();
43
+ }
44
+ createEmptyStats() {
45
+ return {
46
+ totalInputTokens: 0,
47
+ totalOutputTokens: 0,
48
+ totalTokens: 0,
49
+ totalCost: 0,
50
+ requestCount: 0,
51
+ avgLatencyMs: 0,
52
+ startTime: Date.now(),
53
+ requests: []
54
+ };
55
+ }
56
+ /**
57
+ * Add a request's token usage
58
+ */
59
+ addUsage(model, inputTokens, outputTokens, latencyMs) {
60
+ const totalTokens = inputTokens + outputTokens;
61
+ const cost = this.calculateCost(model, inputTokens, outputTokens);
62
+ const request = {
63
+ timestamp: Date.now(),
64
+ model,
65
+ usage: { inputTokens, outputTokens, totalTokens },
66
+ cost,
67
+ latencyMs
68
+ };
69
+ this.stats.requests.push(request);
70
+ this.stats.totalInputTokens += inputTokens;
71
+ this.stats.totalOutputTokens += outputTokens;
72
+ this.stats.totalTokens += totalTokens;
73
+ this.stats.totalCost += cost;
74
+ this.stats.requestCount++;
75
+ if (latencyMs !== undefined) {
76
+ const totalLatency = this.stats.avgLatencyMs * (this.stats.requestCount - 1) + latencyMs;
77
+ this.stats.avgLatencyMs = totalLatency / this.stats.requestCount;
78
+ }
79
+ return request;
80
+ }
81
+ /**
82
+ * Calculate cost for token usage
83
+ */
84
+ calculateCost(model, inputTokens, outputTokens) {
85
+ const pricing = this.getPricing(model);
86
+ const inputCost = (inputTokens / 1000) * pricing.inputCostPer1k;
87
+ const outputCost = (outputTokens / 1000) * pricing.outputCostPer1k;
88
+ return inputCost + outputCost;
89
+ }
90
+ /**
91
+ * Get pricing for a model
92
+ */
93
+ getPricing(model) {
94
+ // Check custom pricing first
95
+ if (this.customPricing.has(model)) {
96
+ return this.customPricing.get(model);
97
+ }
98
+ // Check built-in pricing
99
+ if (exports.MODEL_PRICING[model]) {
100
+ return exports.MODEL_PRICING[model];
101
+ }
102
+ // Try to match partial model names
103
+ for (const [key, pricing] of Object.entries(exports.MODEL_PRICING)) {
104
+ if (model.includes(key) || key.includes(model)) {
105
+ return pricing;
106
+ }
107
+ }
108
+ return exports.MODEL_PRICING['default'];
109
+ }
110
+ /**
111
+ * Set custom pricing for a model
112
+ */
113
+ setCustomPricing(model, pricing) {
114
+ this.customPricing.set(model, pricing);
115
+ }
116
+ /**
117
+ * Get current session stats
118
+ */
119
+ getStats() {
120
+ return { ...this.stats };
121
+ }
122
+ /**
123
+ * Get summary string
124
+ */
125
+ getSummary() {
126
+ const duration = (Date.now() - this.stats.startTime) / 1000;
127
+ const lines = [
128
+ '=== Cost Summary ===',
129
+ `Requests: ${this.stats.requestCount}`,
130
+ `Duration: ${duration.toFixed(1)}s`,
131
+ '',
132
+ 'Tokens:',
133
+ ` Input: ${this.stats.totalInputTokens.toLocaleString()}`,
134
+ ` Output: ${this.stats.totalOutputTokens.toLocaleString()}`,
135
+ ` Total: ${this.stats.totalTokens.toLocaleString()}`,
136
+ '',
137
+ `Total Cost: $${this.stats.totalCost.toFixed(6)}`,
138
+ ];
139
+ if (this.stats.avgLatencyMs > 0) {
140
+ lines.push(`Avg Latency: ${this.stats.avgLatencyMs.toFixed(0)}ms`);
141
+ }
142
+ return lines.join('\n');
143
+ }
144
+ /**
145
+ * Get detailed breakdown by model
146
+ */
147
+ getBreakdownByModel() {
148
+ const breakdown = {};
149
+ for (const request of this.stats.requests) {
150
+ if (!breakdown[request.model]) {
151
+ breakdown[request.model] = { tokens: 0, cost: 0, requests: 0 };
152
+ }
153
+ breakdown[request.model].tokens += request.usage.totalTokens;
154
+ breakdown[request.model].cost += request.cost;
155
+ breakdown[request.model].requests++;
156
+ }
157
+ return breakdown;
158
+ }
159
+ /**
160
+ * Reset stats
161
+ */
162
+ reset() {
163
+ this.stats = this.createEmptyStats();
164
+ }
165
+ /**
166
+ * Export stats to JSON
167
+ */
168
+ toJSON() {
169
+ return this.getStats();
170
+ }
171
+ /**
172
+ * Import stats from JSON
173
+ */
174
+ fromJSON(data) {
175
+ this.stats = { ...data };
176
+ }
177
+ // Legacy interface compatibility
178
+ get totalTokens() {
179
+ return this.stats.totalTokens;
180
+ }
181
+ get totalCost() {
182
+ return this.stats.totalCost;
183
+ }
184
+ get requests() {
185
+ return this.stats.requestCount;
186
+ }
187
+ }
188
+ exports.CostTracker = CostTracker;
189
+ /**
190
+ * Create a cost tracker instance
191
+ */
192
+ function createCostTracker() {
193
+ return new CostTracker();
194
+ }
195
+ /**
196
+ * Estimate tokens from text (rough approximation)
197
+ */
198
+ function estimateTokens(text) {
199
+ return Math.ceil(text.length / 4);
200
+ }
201
+ /**
202
+ * Format cost as currency string
203
+ */
204
+ function formatCost(cost) {
205
+ if (cost < 0.01) {
206
+ return `$${cost.toFixed(6)}`;
207
+ }
208
+ if (cost < 1) {
209
+ return `$${cost.toFixed(4)}`;
210
+ }
211
+ return `$${cost.toFixed(2)}`;
212
+ }
@@ -0,0 +1,117 @@
1
+ /**
2
+ * External Agents - Integration adapters for external AI CLI tools
3
+ *
4
+ * Allows OverAI to use other CLI tools as sub-agents or tools.
5
+ */
6
+ export interface ExternalAgentConfig {
7
+ name: string;
8
+ command: string;
9
+ args?: string[];
10
+ cwd?: string;
11
+ env?: Record<string, string>;
12
+ timeout?: number;
13
+ }
14
+ export interface ExternalAgentResult {
15
+ success: boolean;
16
+ output: string;
17
+ error?: string;
18
+ exitCode: number;
19
+ duration: number;
20
+ }
21
+ /**
22
+ * Base class for external agent integrations
23
+ */
24
+ export declare abstract class BaseExternalAgent {
25
+ protected config: ExternalAgentConfig;
26
+ constructor(config: ExternalAgentConfig);
27
+ /**
28
+ * Check if the external tool is available
29
+ */
30
+ abstract isAvailable(): Promise<boolean>;
31
+ /**
32
+ * Execute a prompt with the external agent
33
+ */
34
+ abstract execute(prompt: string): Promise<ExternalAgentResult>;
35
+ /**
36
+ * Get the agent name
37
+ */
38
+ getName(): string;
39
+ /**
40
+ * Execute a command and return result
41
+ */
42
+ protected runCommand(args: string[]): Promise<ExternalAgentResult>;
43
+ /**
44
+ * Check if a command exists
45
+ */
46
+ protected commandExists(command: string): Promise<boolean>;
47
+ }
48
+ /**
49
+ * Claude Code CLI integration
50
+ */
51
+ export declare class ClaudeCodeAgent extends BaseExternalAgent {
52
+ constructor(cwd?: string);
53
+ isAvailable(): Promise<boolean>;
54
+ execute(prompt: string): Promise<ExternalAgentResult>;
55
+ executeWithSession(prompt: string, sessionId?: string): Promise<ExternalAgentResult>;
56
+ }
57
+ /**
58
+ * Gemini CLI integration
59
+ */
60
+ export declare class GeminiCliAgent extends BaseExternalAgent {
61
+ private model;
62
+ constructor(cwd?: string, model?: string);
63
+ isAvailable(): Promise<boolean>;
64
+ execute(prompt: string): Promise<ExternalAgentResult>;
65
+ }
66
+ /**
67
+ * OpenAI Codex CLI integration
68
+ */
69
+ export declare class CodexCliAgent extends BaseExternalAgent {
70
+ constructor(cwd?: string);
71
+ isAvailable(): Promise<boolean>;
72
+ execute(prompt: string): Promise<ExternalAgentResult>;
73
+ }
74
+ /**
75
+ * Aider CLI integration
76
+ */
77
+ export declare class AiderAgent extends BaseExternalAgent {
78
+ constructor(cwd?: string);
79
+ isAvailable(): Promise<boolean>;
80
+ execute(prompt: string): Promise<ExternalAgentResult>;
81
+ }
82
+ /**
83
+ * Generic external agent for any CLI tool
84
+ */
85
+ export declare class GenericExternalAgent extends BaseExternalAgent {
86
+ private promptArg;
87
+ constructor(config: ExternalAgentConfig & {
88
+ promptArg?: string;
89
+ });
90
+ isAvailable(): Promise<boolean>;
91
+ execute(prompt: string): Promise<ExternalAgentResult>;
92
+ }
93
+ /**
94
+ * External Agent Registry
95
+ */
96
+ declare class ExternalAgentRegistry {
97
+ private agents;
98
+ constructor();
99
+ register(name: string, factory: () => BaseExternalAgent): void;
100
+ get(name: string): BaseExternalAgent | undefined;
101
+ list(): string[];
102
+ getAvailable(): Promise<string[]>;
103
+ }
104
+ export declare function getExternalAgentRegistry(): ExternalAgentRegistry;
105
+ /**
106
+ * Create an external agent by name
107
+ */
108
+ export declare function createExternalAgent(name: string, cwd?: string): BaseExternalAgent | undefined;
109
+ /**
110
+ * Convert external agent to tool for use with PraisonAI agents
111
+ */
112
+ export declare function externalAgentAsTool(agent: BaseExternalAgent): {
113
+ name: string;
114
+ description: string;
115
+ execute: (input: string) => Promise<string>;
116
+ };
117
+ export {};