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,152 @@
1
+ "use strict";
2
+ /**
3
+ * CLI command: autonomy
4
+ * Autonomy mode management for agent actions
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.execute = execute;
8
+ const autonomy_mode_1 = require("../features/autonomy-mode");
9
+ let manager = null;
10
+ function getManager() {
11
+ if (!manager) {
12
+ manager = (0, autonomy_mode_1.createAutonomyManager)();
13
+ }
14
+ return manager;
15
+ }
16
+ async function execute(args, options) {
17
+ const subcommand = args[0] || 'help';
18
+ const isJson = Boolean(options.output === 'json' || options.json);
19
+ switch (subcommand) {
20
+ case 'status':
21
+ await handleStatus(isJson);
22
+ break;
23
+ case 'set':
24
+ await handleSet(args.slice(1), isJson);
25
+ break;
26
+ case 'policies':
27
+ await handlePolicies(args.slice(1), isJson);
28
+ break;
29
+ case 'reset':
30
+ await handleReset(isJson);
31
+ break;
32
+ case 'help':
33
+ default:
34
+ showHelp(isJson);
35
+ }
36
+ }
37
+ async function handleStatus(isJson) {
38
+ const mgr = getManager();
39
+ const summary = mgr.getSummary();
40
+ const mode = mgr.getMode();
41
+ const actionCount = mgr.getActionCount();
42
+ if (isJson) {
43
+ console.log(JSON.stringify({
44
+ success: true,
45
+ mode,
46
+ actionCount,
47
+ policies: autonomy_mode_1.MODE_POLICIES[mode]
48
+ }, null, 2));
49
+ }
50
+ else {
51
+ console.log(summary);
52
+ }
53
+ }
54
+ async function handleSet(args, isJson) {
55
+ const mode = args[0];
56
+ if (!mode || !['suggest', 'auto_edit', 'full_auto'].includes(mode)) {
57
+ console.error('Error: Valid mode required (suggest, auto_edit, full_auto)');
58
+ process.exit(1);
59
+ }
60
+ const mgr = getManager();
61
+ mgr.setMode(mode);
62
+ if (isJson) {
63
+ console.log(JSON.stringify({ success: true, mode }));
64
+ }
65
+ else {
66
+ console.log(`✓ Autonomy mode set to: ${mode}`);
67
+ console.log('\nPolicies for this mode:');
68
+ for (const policy of autonomy_mode_1.MODE_POLICIES[mode]) {
69
+ const status = policy.requiresApproval ? '⚠️ requires approval' : '✓ auto-approved';
70
+ console.log(` ${policy.action}: ${status}`);
71
+ }
72
+ }
73
+ }
74
+ async function handlePolicies(args, isJson) {
75
+ const mode = args[0] || 'suggest';
76
+ if (!['suggest', 'auto_edit', 'full_auto'].includes(mode)) {
77
+ console.error('Error: Valid mode required (suggest, auto_edit, full_auto)');
78
+ process.exit(1);
79
+ }
80
+ const policies = autonomy_mode_1.MODE_POLICIES[mode];
81
+ if (isJson) {
82
+ console.log(JSON.stringify({ success: true, mode, policies }, null, 2));
83
+ }
84
+ else {
85
+ console.log(`Policies for mode: ${mode}\n`);
86
+ for (const policy of policies) {
87
+ const status = policy.requiresApproval ? '⚠️ requires approval' : '✓ auto-approved';
88
+ console.log(` ${policy.action.padEnd(20)} ${status}`);
89
+ }
90
+ }
91
+ }
92
+ async function handleReset(isJson) {
93
+ const mgr = getManager();
94
+ mgr.clearRemembered();
95
+ mgr.resetActionCount();
96
+ mgr.setMode('suggest');
97
+ if (isJson) {
98
+ console.log(JSON.stringify({ success: true, message: 'Autonomy state reset' }));
99
+ }
100
+ else {
101
+ console.log('✓ Autonomy state reset');
102
+ console.log(' Mode: suggest');
103
+ console.log(' Remembered decisions: cleared');
104
+ console.log(' Action count: 0');
105
+ }
106
+ }
107
+ function showHelp(isJson) {
108
+ const help = {
109
+ command: 'autonomy',
110
+ description: 'Autonomy mode management for agent actions',
111
+ subcommands: {
112
+ status: 'Show current autonomy status',
113
+ set: 'Set autonomy mode',
114
+ policies: 'Show policies for a mode',
115
+ reset: 'Reset autonomy state'
116
+ },
117
+ modes: {
118
+ suggest: 'Requires approval for most actions (default)',
119
+ auto_edit: 'Auto-approves file edits, requires approval for others',
120
+ full_auto: 'Auto-approves most actions (use with caution)'
121
+ },
122
+ flags: {
123
+ '--json': 'Output in JSON format'
124
+ },
125
+ examples: [
126
+ 'praisonai-ts autonomy status',
127
+ 'praisonai-ts autonomy set suggest',
128
+ 'praisonai-ts autonomy set auto_edit',
129
+ 'praisonai-ts autonomy set full_auto',
130
+ 'praisonai-ts autonomy policies suggest',
131
+ 'praisonai-ts autonomy reset'
132
+ ]
133
+ };
134
+ if (isJson) {
135
+ console.log(JSON.stringify(help, null, 2));
136
+ }
137
+ else {
138
+ console.log('Autonomy - Agent action approval management\n');
139
+ console.log('Subcommands:');
140
+ for (const [cmd, desc] of Object.entries(help.subcommands)) {
141
+ console.log(` ${cmd.padEnd(12)} ${desc}`);
142
+ }
143
+ console.log('\nModes:');
144
+ for (const [mode, desc] of Object.entries(help.modes)) {
145
+ console.log(` ${mode.padEnd(12)} ${desc}`);
146
+ }
147
+ console.log('\nExamples:');
148
+ for (const ex of help.examples) {
149
+ console.log(` ${ex}`);
150
+ }
151
+ }
152
+ }
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Benchmark Command - Performance benchmarks for AI SDK vs Native backends
3
+ *
4
+ * Measures:
5
+ * - Import time (cold start)
6
+ * - Memory usage
7
+ * - First-call latency
8
+ * - Streaming throughput
9
+ * - Embedding throughput
10
+ */
11
+ export interface BenchmarkOptions {
12
+ verbose?: boolean;
13
+ output?: 'json' | 'text' | 'pretty';
14
+ json?: boolean;
15
+ iterations?: number;
16
+ backend?: 'ai-sdk' | 'native' | 'both';
17
+ real?: boolean;
18
+ }
19
+ export declare function execute(args: string[], options: BenchmarkOptions): Promise<void>;
@@ -0,0 +1,484 @@
1
+ "use strict";
2
+ /**
3
+ * Benchmark Command - Performance benchmarks for AI SDK vs Native backends
4
+ *
5
+ * Measures:
6
+ * - Import time (cold start)
7
+ * - Memory usage
8
+ * - First-call latency
9
+ * - Streaming throughput
10
+ * - Embedding throughput
11
+ */
12
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ var desc = Object.getOwnPropertyDescriptor(m, k);
15
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
16
+ desc = { enumerable: true, get: function() { return m[k]; } };
17
+ }
18
+ Object.defineProperty(o, k2, desc);
19
+ }) : (function(o, m, k, k2) {
20
+ if (k2 === undefined) k2 = k;
21
+ o[k2] = m[k];
22
+ }));
23
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
24
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
25
+ }) : function(o, v) {
26
+ o["default"] = v;
27
+ });
28
+ var __importStar = (this && this.__importStar) || (function () {
29
+ var ownKeys = function(o) {
30
+ ownKeys = Object.getOwnPropertyNames || function (o) {
31
+ var ar = [];
32
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
33
+ return ar;
34
+ };
35
+ return ownKeys(o);
36
+ };
37
+ return function (mod) {
38
+ if (mod && mod.__esModule) return mod;
39
+ var result = {};
40
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
41
+ __setModuleDefault(result, mod);
42
+ return result;
43
+ };
44
+ })();
45
+ Object.defineProperty(exports, "__esModule", { value: true });
46
+ exports.execute = execute;
47
+ const json_1 = require("../output/json");
48
+ const pretty = __importStar(require("../output/pretty"));
49
+ const errors_1 = require("../output/errors");
50
+ const EXIT_CODES = {
51
+ SUCCESS: 0,
52
+ GENERAL_ERROR: 1,
53
+ INVALID_ARGS: 2,
54
+ };
55
+ function formatBenchmarkSuccess(data, meta) {
56
+ return {
57
+ success: true,
58
+ data,
59
+ meta,
60
+ };
61
+ }
62
+ function calculateStats(values) {
63
+ if (values.length === 0)
64
+ return { mean: 0, min: 0, max: 0, p95: 0, stdDev: 0 };
65
+ const sorted = [...values].sort((a, b) => a - b);
66
+ const mean = values.reduce((a, b) => a + b, 0) / values.length;
67
+ const min = sorted[0];
68
+ const max = sorted[sorted.length - 1];
69
+ const p95Index = Math.floor(sorted.length * 0.95);
70
+ const p95 = sorted[p95Index] || max;
71
+ const squaredDiffs = values.map(v => Math.pow(v - mean, 2));
72
+ const avgSquaredDiff = squaredDiffs.reduce((a, b) => a + b, 0) / values.length;
73
+ const stdDev = Math.sqrt(avgSquaredDiff);
74
+ return { mean, min, max, p95, stdDev };
75
+ }
76
+ async function execute(args, options) {
77
+ const subcommand = args[0] || 'run';
78
+ const outputFormat = options.json ? 'json' : (options.output || 'pretty');
79
+ switch (subcommand) {
80
+ case 'run':
81
+ await runAllBenchmarks(args.slice(1), options, outputFormat);
82
+ break;
83
+ case 'import':
84
+ await importBenchmark(args.slice(1), options, outputFormat);
85
+ break;
86
+ case 'memory':
87
+ await memoryBenchmark(args.slice(1), options, outputFormat);
88
+ break;
89
+ case 'latency':
90
+ await latencyBenchmark(args.slice(1), options, outputFormat);
91
+ break;
92
+ case 'streaming':
93
+ await streamingBenchmark(args.slice(1), options, outputFormat);
94
+ break;
95
+ case 'embedding':
96
+ await embeddingBenchmark(args.slice(1), options, outputFormat);
97
+ break;
98
+ default:
99
+ if (outputFormat === 'json') {
100
+ (0, json_1.outputJson)((0, json_1.formatError)(errors_1.ERROR_CODES.INVALID_ARGS, `Unknown subcommand: ${subcommand}`));
101
+ }
102
+ else {
103
+ await pretty.error(`Unknown subcommand: ${subcommand}`);
104
+ await pretty.info('Available subcommands: run, import, memory, latency, streaming, embedding');
105
+ }
106
+ process.exit(EXIT_CODES.INVALID_ARGS);
107
+ }
108
+ }
109
+ /**
110
+ * Run all benchmarks
111
+ */
112
+ async function runAllBenchmarks(args, options, outputFormat) {
113
+ const iterations = options.iterations || 5;
114
+ const results = [];
115
+ if (outputFormat !== 'json') {
116
+ await pretty.success('Running All Benchmarks');
117
+ console.log(`Iterations: ${iterations}`);
118
+ console.log('');
119
+ }
120
+ // Import benchmark
121
+ const importResult = await measureImportTime(iterations);
122
+ results.push(importResult);
123
+ // Memory benchmark
124
+ const memoryResult = await measureMemory(iterations);
125
+ results.push(memoryResult);
126
+ // Latency benchmark (mock mode unless --real)
127
+ if (options.real) {
128
+ const latencyResult = await measureLatency(iterations, true);
129
+ results.push(latencyResult);
130
+ }
131
+ else {
132
+ const latencyResult = await measureLatency(iterations, false);
133
+ results.push(latencyResult);
134
+ }
135
+ const report = {
136
+ timestamp: new Date().toISOString(),
137
+ results,
138
+ };
139
+ if (outputFormat === 'json') {
140
+ (0, json_1.outputJson)(formatBenchmarkSuccess(report));
141
+ }
142
+ else {
143
+ printBenchmarkTable(results);
144
+ console.log('');
145
+ await pretty.info('Use --real flag to run benchmarks with real API calls');
146
+ }
147
+ }
148
+ /**
149
+ * Benchmark import time
150
+ */
151
+ async function importBenchmark(args, options, outputFormat) {
152
+ const iterations = options.iterations || 10;
153
+ if (outputFormat !== 'json') {
154
+ await pretty.success('Import Time Benchmark');
155
+ console.log(`Iterations: ${iterations}`);
156
+ console.log('');
157
+ }
158
+ const results = [];
159
+ // Measure core import (without AI SDK)
160
+ const coreResult = await measureCoreImportTime(iterations);
161
+ results.push(coreResult);
162
+ // Measure AI SDK import
163
+ const aiSdkResult = await measureAISDKImportTime(iterations);
164
+ results.push(aiSdkResult);
165
+ // Measure full import (with AI SDK loaded)
166
+ const fullResult = await measureImportTime(iterations);
167
+ results.push(fullResult);
168
+ if (outputFormat === 'json') {
169
+ (0, json_1.outputJson)(formatBenchmarkSuccess({ results }));
170
+ }
171
+ else {
172
+ printBenchmarkTable(results);
173
+ console.log('');
174
+ // Show comparison
175
+ const overhead = aiSdkResult.mean;
176
+ console.log(`AI SDK import overhead: ${overhead.toFixed(2)}ms`);
177
+ console.log(`Core import (no AI SDK): ${coreResult.mean.toFixed(2)}ms`);
178
+ }
179
+ }
180
+ /**
181
+ * Benchmark memory usage
182
+ */
183
+ async function memoryBenchmark(args, options, outputFormat) {
184
+ const iterations = options.iterations || 5;
185
+ if (outputFormat !== 'json') {
186
+ await pretty.success('Memory Usage Benchmark');
187
+ console.log(`Iterations: ${iterations}`);
188
+ console.log('');
189
+ }
190
+ const result = await measureMemory(iterations);
191
+ if (outputFormat === 'json') {
192
+ (0, json_1.outputJson)(formatBenchmarkSuccess({ result }));
193
+ }
194
+ else {
195
+ printBenchmarkTable([result]);
196
+ }
197
+ }
198
+ /**
199
+ * Benchmark first-call latency
200
+ */
201
+ async function latencyBenchmark(args, options, outputFormat) {
202
+ const iterations = options.iterations || 3;
203
+ const useReal = options.real || false;
204
+ if (outputFormat !== 'json') {
205
+ await pretty.success('First-Call Latency Benchmark');
206
+ console.log(`Iterations: ${iterations}`);
207
+ console.log(`Mode: ${useReal ? 'Real API' : 'Mock'}`);
208
+ console.log('');
209
+ }
210
+ const result = await measureLatency(iterations, useReal);
211
+ if (outputFormat === 'json') {
212
+ (0, json_1.outputJson)(formatBenchmarkSuccess({ result }));
213
+ }
214
+ else {
215
+ printBenchmarkTable([result]);
216
+ if (!useReal) {
217
+ console.log('');
218
+ await pretty.info('Use --real flag to measure with real API calls');
219
+ }
220
+ }
221
+ }
222
+ /**
223
+ * Benchmark streaming throughput
224
+ */
225
+ async function streamingBenchmark(args, options, outputFormat) {
226
+ const iterations = options.iterations || 3;
227
+ const useReal = options.real || false;
228
+ if (outputFormat !== 'json') {
229
+ await pretty.success('Streaming Throughput Benchmark');
230
+ console.log(`Iterations: ${iterations}`);
231
+ console.log(`Mode: ${useReal ? 'Real API' : 'Mock'}`);
232
+ console.log('');
233
+ }
234
+ if (!useReal) {
235
+ if (outputFormat === 'json') {
236
+ (0, json_1.outputJson)(formatBenchmarkSuccess({
237
+ message: 'Streaming benchmark requires --real flag',
238
+ result: null
239
+ }));
240
+ }
241
+ else {
242
+ await pretty.info('Streaming benchmark requires --real flag for meaningful results');
243
+ }
244
+ return;
245
+ }
246
+ const result = await measureStreaming(iterations);
247
+ if (outputFormat === 'json') {
248
+ (0, json_1.outputJson)(formatBenchmarkSuccess({ result }));
249
+ }
250
+ else {
251
+ printBenchmarkTable([result]);
252
+ }
253
+ }
254
+ /**
255
+ * Benchmark embedding throughput
256
+ */
257
+ async function embeddingBenchmark(args, options, outputFormat) {
258
+ const iterations = options.iterations || 3;
259
+ const useReal = options.real || false;
260
+ if (outputFormat !== 'json') {
261
+ await pretty.success('Embedding Throughput Benchmark');
262
+ console.log(`Iterations: ${iterations}`);
263
+ console.log(`Mode: ${useReal ? 'Real API' : 'Mock'}`);
264
+ console.log('');
265
+ }
266
+ if (!useReal) {
267
+ if (outputFormat === 'json') {
268
+ (0, json_1.outputJson)(formatBenchmarkSuccess({
269
+ message: 'Embedding benchmark requires --real flag',
270
+ result: null
271
+ }));
272
+ }
273
+ else {
274
+ await pretty.info('Embedding benchmark requires --real flag for meaningful results');
275
+ }
276
+ return;
277
+ }
278
+ const result = await measureEmbedding(iterations);
279
+ if (outputFormat === 'json') {
280
+ (0, json_1.outputJson)(formatBenchmarkSuccess({ result }));
281
+ }
282
+ else {
283
+ printBenchmarkTable([result]);
284
+ }
285
+ }
286
+ // Measurement functions
287
+ async function measureCoreImportTime(iterations) {
288
+ const times = [];
289
+ for (let i = 0; i < iterations; i++) {
290
+ // Clear require cache for accurate measurement
291
+ const cacheKeys = Object.keys(require.cache).filter(k => k.includes('praisonai-ts') && !k.includes('node_modules'));
292
+ cacheKeys.forEach(k => delete require.cache[k]);
293
+ const start = performance.now();
294
+ // Import just the Agent class
295
+ await Promise.resolve().then(() => __importStar(require('../../agent/simple')));
296
+ const end = performance.now();
297
+ times.push(end - start);
298
+ }
299
+ const stats = calculateStats(times);
300
+ return {
301
+ name: 'Core Import (Agent)',
302
+ iterations,
303
+ ...stats,
304
+ unit: 'ms',
305
+ };
306
+ }
307
+ async function measureAISDKImportTime(iterations) {
308
+ const times = [];
309
+ for (let i = 0; i < iterations; i++) {
310
+ // Clear AI SDK from cache
311
+ const cacheKeys = Object.keys(require.cache).filter(k => k.includes('ai'));
312
+ cacheKeys.forEach(k => delete require.cache[k]);
313
+ const start = performance.now();
314
+ try {
315
+ await Promise.resolve().then(() => __importStar(require('ai')));
316
+ }
317
+ catch {
318
+ // AI SDK not installed
319
+ }
320
+ const end = performance.now();
321
+ times.push(end - start);
322
+ }
323
+ const stats = calculateStats(times);
324
+ return {
325
+ name: 'AI SDK Import',
326
+ iterations,
327
+ ...stats,
328
+ unit: 'ms',
329
+ };
330
+ }
331
+ async function measureImportTime(iterations) {
332
+ const times = [];
333
+ for (let i = 0; i < iterations; i++) {
334
+ const start = performance.now();
335
+ // Import the main module
336
+ await Promise.resolve().then(() => __importStar(require('../../index')));
337
+ const end = performance.now();
338
+ times.push(end - start);
339
+ }
340
+ const stats = calculateStats(times);
341
+ return {
342
+ name: 'Full Import',
343
+ iterations,
344
+ ...stats,
345
+ unit: 'ms',
346
+ };
347
+ }
348
+ async function measureMemory(iterations) {
349
+ const measurements = [];
350
+ for (let i = 0; i < iterations; i++) {
351
+ // Force GC if available
352
+ if (global.gc)
353
+ global.gc();
354
+ const before = process.memoryUsage().heapUsed;
355
+ // Import and create an agent
356
+ const { Agent } = await Promise.resolve().then(() => __importStar(require('../../agent/simple')));
357
+ const agent = new Agent({ instructions: 'Test agent' });
358
+ const after = process.memoryUsage().heapUsed;
359
+ measurements.push((after - before) / 1024 / 1024); // Convert to MB
360
+ // Keep reference to prevent GC
361
+ void agent;
362
+ }
363
+ const stats = calculateStats(measurements);
364
+ return {
365
+ name: 'Memory (Agent creation)',
366
+ iterations,
367
+ ...stats,
368
+ unit: 'MB',
369
+ };
370
+ }
371
+ async function measureLatency(iterations, useReal) {
372
+ const times = [];
373
+ if (useReal) {
374
+ const { Agent } = await Promise.resolve().then(() => __importStar(require('../../agent/simple')));
375
+ for (let i = 0; i < iterations; i++) {
376
+ const agent = new Agent({
377
+ instructions: 'Say "OK" and nothing else.',
378
+ stream: false,
379
+ });
380
+ const start = performance.now();
381
+ try {
382
+ await agent.chat('Hi');
383
+ }
384
+ catch {
385
+ // API error, skip
386
+ }
387
+ const end = performance.now();
388
+ times.push(end - start);
389
+ }
390
+ }
391
+ else {
392
+ // Mock latency measurement
393
+ for (let i = 0; i < iterations; i++) {
394
+ const start = performance.now();
395
+ // Simulate backend resolution
396
+ const { resolveBackend } = await Promise.resolve().then(() => __importStar(require('../../llm/backend-resolver')));
397
+ await resolveBackend('openai/gpt-4o-mini');
398
+ const end = performance.now();
399
+ times.push(end - start);
400
+ }
401
+ }
402
+ const stats = calculateStats(times);
403
+ return {
404
+ name: useReal ? 'First-Call Latency (Real)' : 'Backend Resolution',
405
+ iterations,
406
+ ...stats,
407
+ unit: 'ms',
408
+ };
409
+ }
410
+ async function measureStreaming(iterations) {
411
+ const throughputs = [];
412
+ const { Agent } = await Promise.resolve().then(() => __importStar(require('../../agent/simple')));
413
+ for (let i = 0; i < iterations; i++) {
414
+ const agent = new Agent({
415
+ instructions: 'Count from 1 to 20.',
416
+ stream: true,
417
+ });
418
+ let tokenCount = 0;
419
+ const start = performance.now();
420
+ try {
421
+ // Note: This is a simplified measurement
422
+ const response = await agent.chat('Count');
423
+ tokenCount = response.split(/\s+/).length;
424
+ }
425
+ catch {
426
+ // API error
427
+ }
428
+ const end = performance.now();
429
+ const duration = (end - start) / 1000; // seconds
430
+ throughputs.push(tokenCount / duration);
431
+ }
432
+ const stats = calculateStats(throughputs);
433
+ return {
434
+ name: 'Streaming Throughput',
435
+ iterations,
436
+ ...stats,
437
+ unit: 'tokens/sec',
438
+ };
439
+ }
440
+ async function measureEmbedding(iterations) {
441
+ const throughputs = [];
442
+ const { embedMany } = await Promise.resolve().then(() => __importStar(require('../../llm/embeddings')));
443
+ // Test texts
444
+ const texts = Array(10).fill(0).map((_, i) => `This is test text number ${i + 1} for embedding benchmark.`);
445
+ for (let i = 0; i < iterations; i++) {
446
+ const start = performance.now();
447
+ try {
448
+ await embedMany(texts);
449
+ }
450
+ catch {
451
+ // API error
452
+ }
453
+ const end = performance.now();
454
+ const duration = (end - start) / 1000; // seconds
455
+ throughputs.push(texts.length / duration);
456
+ }
457
+ const stats = calculateStats(throughputs);
458
+ return {
459
+ name: 'Embedding Throughput',
460
+ iterations,
461
+ ...stats,
462
+ unit: 'vectors/sec',
463
+ };
464
+ }
465
+ function printBenchmarkTable(results) {
466
+ console.log('Benchmark Results');
467
+ console.log('─'.repeat(80));
468
+ console.log('Name'.padEnd(30) +
469
+ 'Mean'.padStart(10) +
470
+ 'Min'.padStart(10) +
471
+ 'Max'.padStart(10) +
472
+ 'P95'.padStart(10) +
473
+ 'Unit'.padStart(10));
474
+ console.log('─'.repeat(80));
475
+ for (const r of results) {
476
+ console.log(r.name.padEnd(30) +
477
+ r.mean.toFixed(2).padStart(10) +
478
+ r.min.toFixed(2).padStart(10) +
479
+ r.max.toFixed(2).padStart(10) +
480
+ r.p95.toFixed(2).padStart(10) +
481
+ r.unit.padStart(10));
482
+ }
483
+ console.log('─'.repeat(80));
484
+ }
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Cache command - Caching management
3
+ */
4
+ export interface CacheOptions {
5
+ verbose?: boolean;
6
+ output?: 'json' | 'text' | 'pretty';
7
+ json?: boolean;
8
+ }
9
+ export declare function execute(args: string[], options: CacheOptions): Promise<void>;