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,24 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * OverAI TypeScript CLI
4
+ * Implements CLI Spec v1.0.0
5
+ *
6
+ * Binary: overai-ts
7
+ * Package: overai (npm)
8
+ */
9
+ import { CLI_SPEC_VERSION } from './spec/cli-spec';
10
+ export interface ParsedArgs {
11
+ command: string;
12
+ subcommand?: string;
13
+ args: string[];
14
+ options: Record<string, unknown>;
15
+ }
16
+ /**
17
+ * Parse command line arguments according to CLI spec
18
+ */
19
+ declare function parseArgs(argv: string[]): ParsedArgs;
20
+ /**
21
+ * Load and execute a command (lazy loading)
22
+ */
23
+ declare function executeCommand(parsed: ParsedArgs): Promise<void>;
24
+ export { parseArgs, executeCommand, CLI_SPEC_VERSION };
@@ -0,0 +1,214 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ /**
4
+ * OverAI TypeScript CLI
5
+ * Implements CLI Spec v1.0.0
6
+ *
7
+ * Binary: overai-ts
8
+ * Package: overai (npm)
9
+ */
10
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ var desc = Object.getOwnPropertyDescriptor(m, k);
13
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
14
+ desc = { enumerable: true, get: function() { return m[k]; } };
15
+ }
16
+ Object.defineProperty(o, k2, desc);
17
+ }) : (function(o, m, k, k2) {
18
+ if (k2 === undefined) k2 = k;
19
+ o[k2] = m[k];
20
+ }));
21
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
22
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
23
+ }) : function(o, v) {
24
+ o["default"] = v;
25
+ });
26
+ var __importStar = (this && this.__importStar) || (function () {
27
+ var ownKeys = function(o) {
28
+ ownKeys = Object.getOwnPropertyNames || function (o) {
29
+ var ar = [];
30
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
31
+ return ar;
32
+ };
33
+ return ownKeys(o);
34
+ };
35
+ return function (mod) {
36
+ if (mod && mod.__esModule) return mod;
37
+ var result = {};
38
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
39
+ __setModuleDefault(result, mod);
40
+ return result;
41
+ };
42
+ })();
43
+ Object.defineProperty(exports, "__esModule", { value: true });
44
+ exports.CLI_SPEC_VERSION = void 0;
45
+ exports.parseArgs = parseArgs;
46
+ exports.executeCommand = executeCommand;
47
+ const cli_spec_1 = require("./spec/cli-spec");
48
+ Object.defineProperty(exports, "CLI_SPEC_VERSION", { enumerable: true, get: function () { return cli_spec_1.CLI_SPEC_VERSION; } });
49
+ function outputJson(data) {
50
+ console.log(JSON.stringify(data, null, 2));
51
+ }
52
+ function formatError(code, message, details) {
53
+ return details !== undefined
54
+ ? { success: false, error: { code, message }, details }
55
+ : { success: false, error: { code, message } };
56
+ }
57
+ const ERROR_CODES = {
58
+ INVALID_ARGS: 'INVALID_ARGS',
59
+ UNKNOWN_ERROR: 'UNKNOWN_ERROR',
60
+ };
61
+ function normalizeError(error) {
62
+ if (error && typeof error === 'object') {
63
+ const anyErr = error;
64
+ const code = anyErr.code || ERROR_CODES.UNKNOWN_ERROR;
65
+ const message = anyErr.message || String(error);
66
+ const exitCode = typeof anyErr.exitCode === 'number' ? anyErr.exitCode : cli_spec_1.EXIT_CODES.RUNTIME_ERROR;
67
+ const details = anyErr.details;
68
+ return { code, message, exitCode, details };
69
+ }
70
+ if (error instanceof Error) {
71
+ return { code: ERROR_CODES.UNKNOWN_ERROR, message: error.message, exitCode: cli_spec_1.EXIT_CODES.RUNTIME_ERROR, details: { stack: error.stack } };
72
+ }
73
+ return { code: ERROR_CODES.UNKNOWN_ERROR, message: String(error), exitCode: cli_spec_1.EXIT_CODES.RUNTIME_ERROR };
74
+ }
75
+ /**
76
+ * Parse command line arguments according to CLI spec
77
+ */
78
+ function parseArgs(argv) {
79
+ const result = {
80
+ command: 'help',
81
+ args: [],
82
+ options: {}
83
+ };
84
+ let i = 0;
85
+ let foundCommand = false;
86
+ while (i < argv.length) {
87
+ const arg = argv[i];
88
+ if (arg.startsWith('--')) {
89
+ // Long flag
90
+ const flagName = arg.slice(2);
91
+ const nextArg = argv[i + 1];
92
+ // Check if it's a boolean flag or has a value
93
+ if (!nextArg || nextArg.startsWith('-')) {
94
+ result.options[flagName] = true;
95
+ }
96
+ else {
97
+ result.options[flagName] = nextArg;
98
+ i++;
99
+ }
100
+ }
101
+ else if (arg.startsWith('-') && arg.length === 2) {
102
+ // Short flag
103
+ const shortFlag = arg.slice(1);
104
+ const nextArg = argv[i + 1];
105
+ // Find the corresponding long flag name from global flags and command-specific flags
106
+ const globalFlag = cli_spec_1.GLOBAL_FLAGS.find(f => f.short === shortFlag);
107
+ // Also check command-specific flags (e.g., -m for model in chat command)
108
+ const commandShortFlags = {
109
+ 'm': 'model',
110
+ 's': 'stream',
111
+ 'a': 'agent',
112
+ 't': 'tools'
113
+ };
114
+ const flagName = globalFlag?.name || commandShortFlags[shortFlag] || shortFlag;
115
+ if (!nextArg || nextArg.startsWith('-')) {
116
+ result.options[flagName] = true;
117
+ }
118
+ else {
119
+ result.options[flagName] = nextArg;
120
+ i++;
121
+ }
122
+ }
123
+ else if (!foundCommand) {
124
+ // First non-flag argument is the command
125
+ result.command = arg;
126
+ foundCommand = true;
127
+ }
128
+ else if (!result.subcommand && cli_spec_1.COMMANDS[result.command]?.subcommands) {
129
+ // Check if this is a subcommand
130
+ const cmdSpec = cli_spec_1.COMMANDS[result.command];
131
+ if (cmdSpec.subcommands && arg in cmdSpec.subcommands) {
132
+ result.subcommand = arg;
133
+ }
134
+ else {
135
+ result.args.push(arg);
136
+ }
137
+ }
138
+ else {
139
+ // Positional argument
140
+ result.args.push(arg);
141
+ }
142
+ i++;
143
+ }
144
+ // Handle --json shorthand
145
+ if (result.options.json) {
146
+ result.options.output = 'json';
147
+ }
148
+ return result;
149
+ }
150
+ /**
151
+ * Load and execute a command (lazy loading)
152
+ */
153
+ async function executeCommand(parsed) {
154
+ const { command, subcommand, args, options } = parsed;
155
+ // Validate command exists
156
+ if (!(0, cli_spec_1.validateCommand)(command)) {
157
+ const isJson = options.output === 'json' || options.json;
158
+ if (isJson) {
159
+ outputJson(formatError(ERROR_CODES.INVALID_ARGS, `Unknown command: ${command}`));
160
+ }
161
+ else {
162
+ console.error(`Error: Unknown command '${command}'`);
163
+ console.error('Run "praisonai-ts help" for available commands');
164
+ }
165
+ process.exit(cli_spec_1.EXIT_CODES.INVALID_ARGUMENTS);
166
+ }
167
+ // Lazy load the command module
168
+ try {
169
+ const commandModule = await Promise.resolve(`${`./commands/${command}`}`).then(s => __importStar(require(s)));
170
+ // Pass subcommand as first arg if present
171
+ const commandArgs = subcommand ? [subcommand, ...args] : args;
172
+ await commandModule.execute(commandArgs, options);
173
+ }
174
+ catch (error) {
175
+ const cliError = normalizeError(error);
176
+ const isJson = options.output === 'json' || options.json;
177
+ if (isJson) {
178
+ outputJson(formatError(cliError.code, cliError.message, cliError.details));
179
+ }
180
+ else {
181
+ console.error(`Error: ${cliError.message}`);
182
+ if (options.verbose && error instanceof Error && error.stack) {
183
+ console.error(error.stack);
184
+ }
185
+ }
186
+ process.exit(cliError.exitCode);
187
+ }
188
+ }
189
+ /**
190
+ * Main CLI entry point
191
+ */
192
+ async function main() {
193
+ const argv = process.argv.slice(2);
194
+ // Fast path for version
195
+ if (argv.length === 0 || argv[0] === '--help' || argv[0] === '-h') {
196
+ const helpModule = await Promise.resolve().then(() => __importStar(require('./commands/help')));
197
+ await helpModule.execute([], {});
198
+ return;
199
+ }
200
+ if (argv[0] === '--version') {
201
+ const versionModule = await Promise.resolve().then(() => __importStar(require('./commands/version')));
202
+ await versionModule.execute([], {});
203
+ return;
204
+ }
205
+ const parsed = parseArgs(argv);
206
+ await executeCommand(parsed);
207
+ }
208
+ // Run CLI if executed directly
209
+ if (require.main === module) {
210
+ main().catch((error) => {
211
+ console.error('Fatal error:', error.message);
212
+ process.exit(cli_spec_1.EXIT_CODES.RUNTIME_ERROR);
213
+ });
214
+ }
@@ -0,0 +1,23 @@
1
+ export declare const ERROR_CODES: {
2
+ INVALID_ARGS: string;
3
+ MISSING_ARG: string;
4
+ UNKNOWN_ERROR: string;
5
+ RUNTIME_ERROR: string;
6
+ CONFIG_ERROR: string;
7
+ NOT_FOUND: string;
8
+ UNAUTHORIZED: string;
9
+ RATE_LIMIT: string;
10
+ SERVER_ERROR: string;
11
+ TIMEOUT: string;
12
+ ABORTED: string;
13
+ PROVIDER_ERROR: string;
14
+ MODEL_ERROR: string;
15
+ TOOL_ERROR: string;
16
+ UNKNOWN: string;
17
+ };
18
+ export declare function normalizeError(error: unknown): {
19
+ code: string;
20
+ message: string;
21
+ exitCode: number;
22
+ details?: any;
23
+ };
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ERROR_CODES = void 0;
4
+ exports.normalizeError = normalizeError;
5
+ const cli_spec_1 = require("../spec/cli-spec");
6
+ exports.ERROR_CODES = {
7
+ INVALID_ARGS: 'INVALID_ARGS',
8
+ MISSING_ARG: 'MISSING_ARG',
9
+ UNKNOWN_ERROR: 'UNKNOWN_ERROR',
10
+ RUNTIME_ERROR: 'RUNTIME_ERROR',
11
+ CONFIG_ERROR: 'CONFIG_ERROR',
12
+ NOT_FOUND: 'NOT_FOUND',
13
+ UNAUTHORIZED: 'UNAUTHORIZED',
14
+ RATE_LIMIT: 'RATE_LIMIT',
15
+ SERVER_ERROR: 'SERVER_ERROR',
16
+ TIMEOUT: 'TIMEOUT',
17
+ ABORTED: 'ABORTED',
18
+ PROVIDER_ERROR: 'PROVIDER_ERROR',
19
+ MODEL_ERROR: 'MODEL_ERROR',
20
+ TOOL_ERROR: 'TOOL_ERROR',
21
+ UNKNOWN: 'UNKNOWN_ERROR', // Alias for UNKNOWN_ERROR
22
+ };
23
+ function normalizeError(error) {
24
+ if (error && typeof error === 'object') {
25
+ const anyErr = error;
26
+ const code = anyErr.code || exports.ERROR_CODES.UNKNOWN_ERROR;
27
+ const message = anyErr.message || String(error);
28
+ const exitCode = typeof anyErr.exitCode === 'number' ? anyErr.exitCode : cli_spec_1.EXIT_CODES.RUNTIME_ERROR;
29
+ const details = anyErr.details;
30
+ return { code, message, exitCode, details };
31
+ }
32
+ if (error instanceof Error) {
33
+ return { code: exports.ERROR_CODES.UNKNOWN_ERROR, message: error.message, exitCode: cli_spec_1.EXIT_CODES.RUNTIME_ERROR, details: { stack: error.stack } };
34
+ }
35
+ return { code: exports.ERROR_CODES.UNKNOWN_ERROR, message: String(error), exitCode: cli_spec_1.EXIT_CODES.RUNTIME_ERROR };
36
+ }
@@ -0,0 +1,27 @@
1
+ export declare function outputJson(data: any): void;
2
+ export declare function formatSuccess(data: any, meta?: any): {
3
+ success: boolean;
4
+ data: any;
5
+ meta: any;
6
+ } | {
7
+ success: boolean;
8
+ data: any;
9
+ meta?: undefined;
10
+ };
11
+ export declare function formatError(code: string, message: string, details?: any): {
12
+ success: boolean;
13
+ error: {
14
+ code: string;
15
+ message: string;
16
+ };
17
+ details: any;
18
+ } | {
19
+ success: boolean;
20
+ error: {
21
+ code: string;
22
+ message: string;
23
+ };
24
+ details?: undefined;
25
+ };
26
+ export declare function printSuccess(message: string): void;
27
+ export declare function printError(message: string, details?: string): void;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.outputJson = outputJson;
4
+ exports.formatSuccess = formatSuccess;
5
+ exports.formatError = formatError;
6
+ exports.printSuccess = printSuccess;
7
+ exports.printError = printError;
8
+ function outputJson(data) {
9
+ console.log(JSON.stringify(data, null, 2));
10
+ }
11
+ function formatSuccess(data, meta) {
12
+ return meta
13
+ ? { success: true, data, meta }
14
+ : { success: true, data };
15
+ }
16
+ function formatError(code, message, details) {
17
+ return details !== undefined
18
+ ? { success: false, error: { code, message }, details }
19
+ : { success: false, error: { code, message } };
20
+ }
21
+ function printSuccess(message) {
22
+ console.log(JSON.stringify({ success: true, message }));
23
+ }
24
+ function printError(message, details) {
25
+ if (details) {
26
+ console.error(JSON.stringify({ success: false, error: message, details }));
27
+ }
28
+ else {
29
+ console.error(JSON.stringify({ success: false, error: message }));
30
+ }
31
+ }
@@ -0,0 +1,13 @@
1
+ import { PrettyLogger } from '../../utils/pretty-logger';
2
+ export declare const success: typeof PrettyLogger.success;
3
+ export declare const error: typeof PrettyLogger.error;
4
+ export declare const info: typeof PrettyLogger.info;
5
+ export declare const warn: typeof PrettyLogger.warning;
6
+ export declare const warning: typeof PrettyLogger.warning;
7
+ export declare const dim: (s: string) => Promise<void>;
8
+ export declare const plain: (s: string) => Promise<void>;
9
+ export declare const heading: (s: string) => Promise<void>;
10
+ export declare const newline: () => Promise<void>;
11
+ export declare const table: (data: any[]) => Promise<void>;
12
+ export declare const box: (title: string, content: string) => Promise<void>;
13
+ export declare const keyValue: (obj: Record<string, any>) => Promise<void>;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.keyValue = exports.box = exports.table = exports.newline = exports.heading = exports.plain = exports.dim = exports.warning = exports.warn = exports.info = exports.error = exports.success = void 0;
4
+ const pretty_logger_1 = require("../../utils/pretty-logger");
5
+ exports.success = pretty_logger_1.PrettyLogger.success;
6
+ exports.error = pretty_logger_1.PrettyLogger.error;
7
+ exports.info = pretty_logger_1.PrettyLogger.info;
8
+ exports.warn = pretty_logger_1.PrettyLogger.warning;
9
+ exports.warning = pretty_logger_1.PrettyLogger.warning;
10
+ const dim = async (s) => console.log(s);
11
+ exports.dim = dim;
12
+ const plain = async (s) => console.log(s);
13
+ exports.plain = plain;
14
+ const heading = async (s) => console.log(s);
15
+ exports.heading = heading;
16
+ const newline = async () => console.log();
17
+ exports.newline = newline;
18
+ const table = async (data) => console.table(data);
19
+ exports.table = table;
20
+ const box = async (title, content) => {
21
+ console.log(`┌─ ${title} ${'─'.repeat(50 - title.length)}┐`);
22
+ console.log(`│ ${content}`);
23
+ console.log(`└${'─'.repeat(53)}┘`);
24
+ };
25
+ exports.box = box;
26
+ const keyValue = async (obj) => {
27
+ for (const [key, value] of Object.entries(obj)) {
28
+ console.log(`${key}: ${value}`);
29
+ }
30
+ };
31
+ exports.keyValue = keyValue;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Environment variable handling for CLI
3
+ */
4
+ export interface EnvConfig {
5
+ model?: string;
6
+ profile?: string;
7
+ verbose?: boolean;
8
+ configPath?: string;
9
+ }
10
+ export declare function loadEnvConfig(): EnvConfig;
11
+ export declare function hasApiKey(provider: string): boolean;
12
+ export declare function getApiKey(provider: 'openai' | 'anthropic' | 'google'): string | undefined;
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ /**
3
+ * Environment variable handling for CLI
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.loadEnvConfig = loadEnvConfig;
7
+ exports.hasApiKey = hasApiKey;
8
+ exports.getApiKey = getApiKey;
9
+ const cli_spec_1 = require("../spec/cli-spec");
10
+ function loadEnvConfig() {
11
+ const config = {};
12
+ const model = process.env[cli_spec_1.ENV_VARS.PRAISONAI_MODEL];
13
+ if (model)
14
+ config.model = model;
15
+ const profile = process.env[cli_spec_1.ENV_VARS.PRAISONAI_PROFILE];
16
+ if (profile)
17
+ config.profile = profile;
18
+ const verbose = process.env[cli_spec_1.ENV_VARS.PRAISONAI_VERBOSE];
19
+ if (verbose)
20
+ config.verbose = verbose.toLowerCase() === 'true';
21
+ const configPath = process.env[cli_spec_1.ENV_VARS.PRAISONAI_CONFIG];
22
+ if (configPath)
23
+ config.configPath = configPath;
24
+ return config;
25
+ }
26
+ function hasApiKey(provider) {
27
+ const normalizedProvider = provider.toLowerCase();
28
+ switch (normalizedProvider) {
29
+ case 'openai':
30
+ case 'oai':
31
+ return !!process.env[cli_spec_1.ENV_VARS.OPENAI_API_KEY];
32
+ case 'anthropic':
33
+ case 'claude':
34
+ return !!process.env[cli_spec_1.ENV_VARS.ANTHROPIC_API_KEY];
35
+ case 'google':
36
+ case 'gemini':
37
+ return !!process.env[cli_spec_1.ENV_VARS.GOOGLE_API_KEY];
38
+ default:
39
+ // For custom providers, check for provider-specific env var
40
+ const envVarName = `${normalizedProvider.toUpperCase()}_API_KEY`;
41
+ return !!process.env[envVarName];
42
+ }
43
+ }
44
+ function getApiKey(provider) {
45
+ switch (provider) {
46
+ case 'openai':
47
+ return process.env[cli_spec_1.ENV_VARS.OPENAI_API_KEY];
48
+ case 'anthropic':
49
+ return process.env[cli_spec_1.ENV_VARS.ANTHROPIC_API_KEY];
50
+ case 'google':
51
+ return process.env[cli_spec_1.ENV_VARS.GOOGLE_API_KEY];
52
+ default:
53
+ return undefined;
54
+ }
55
+ }
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Exit code handling for CLI
3
+ */
4
+ import { ExitCode } from '../spec/cli-spec';
5
+ export declare function exit(code: ExitCode): never;
6
+ export declare function exitSuccess(): never;
7
+ export declare function exitError(message?: string): never;
8
+ export declare function exitInvalidArgs(message?: string): never;
9
+ export declare function exitConfigError(message?: string): never;
10
+ export declare function exitNetworkError(message?: string): never;
11
+ export declare function exitAuthError(message?: string): never;
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ /**
3
+ * Exit code handling for CLI
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.exit = exit;
7
+ exports.exitSuccess = exitSuccess;
8
+ exports.exitError = exitError;
9
+ exports.exitInvalidArgs = exitInvalidArgs;
10
+ exports.exitConfigError = exitConfigError;
11
+ exports.exitNetworkError = exitNetworkError;
12
+ exports.exitAuthError = exitAuthError;
13
+ const cli_spec_1 = require("../spec/cli-spec");
14
+ function exit(code) {
15
+ process.exit(code);
16
+ }
17
+ function exitSuccess() {
18
+ exit(cli_spec_1.EXIT_CODES.SUCCESS);
19
+ }
20
+ function exitError(message) {
21
+ if (message) {
22
+ console.error(message);
23
+ }
24
+ exit(cli_spec_1.EXIT_CODES.RUNTIME_ERROR);
25
+ }
26
+ function exitInvalidArgs(message) {
27
+ if (message) {
28
+ console.error(`Error: ${message}`);
29
+ }
30
+ exit(cli_spec_1.EXIT_CODES.INVALID_ARGUMENTS);
31
+ }
32
+ function exitConfigError(message) {
33
+ if (message) {
34
+ console.error(`Config Error: ${message}`);
35
+ }
36
+ exit(cli_spec_1.EXIT_CODES.CONFIG_ERROR);
37
+ }
38
+ function exitNetworkError(message) {
39
+ if (message) {
40
+ console.error(`Network Error: ${message}`);
41
+ }
42
+ exit(cli_spec_1.EXIT_CODES.NETWORK_ERROR);
43
+ }
44
+ function exitAuthError(message) {
45
+ if (message) {
46
+ console.error(`Auth Error: ${message}`);
47
+ }
48
+ exit(cli_spec_1.EXIT_CODES.AUTH_ERROR);
49
+ }
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Runtime utilities index
3
+ */
4
+ export * from './env';
5
+ export * from './exit';
6
+ export * from './lazy';
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ /**
3
+ * Runtime utilities index
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
17
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
18
+ };
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ __exportStar(require("./env"), exports);
21
+ __exportStar(require("./exit"), exports);
22
+ __exportStar(require("./lazy"), exports);
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Lazy loading utilities for CLI commands
3
+ * Ensures startup time stays <100ms by only loading command code when invoked
4
+ */
5
+ export type CommandModule = {
6
+ execute: (args: string[], options: Record<string, unknown>) => Promise<void>;
7
+ };
8
+ export declare function loadCommand(command: string): Promise<CommandModule>;
9
+ export declare function clearCommandCache(): void;
10
+ /**
11
+ * Lazy load optional dependencies
12
+ * Returns undefined if not available
13
+ */
14
+ export declare function tryLoadOptional<T>(moduleName: string): Promise<T | undefined>;
15
+ /**
16
+ * Check if an optional dependency is available
17
+ */
18
+ export declare function hasOptionalDep(moduleName: string): Promise<boolean>;
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ /**
3
+ * Lazy loading utilities for CLI commands
4
+ * Ensures startup time stays <100ms by only loading command code when invoked
5
+ */
6
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
+ if (k2 === undefined) k2 = k;
8
+ var desc = Object.getOwnPropertyDescriptor(m, k);
9
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
+ desc = { enumerable: true, get: function() { return m[k]; } };
11
+ }
12
+ Object.defineProperty(o, k2, desc);
13
+ }) : (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ o[k2] = m[k];
16
+ }));
17
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
18
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
19
+ }) : function(o, v) {
20
+ o["default"] = v;
21
+ });
22
+ var __importStar = (this && this.__importStar) || (function () {
23
+ var ownKeys = function(o) {
24
+ ownKeys = Object.getOwnPropertyNames || function (o) {
25
+ var ar = [];
26
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
27
+ return ar;
28
+ };
29
+ return ownKeys(o);
30
+ };
31
+ return function (mod) {
32
+ if (mod && mod.__esModule) return mod;
33
+ var result = {};
34
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
35
+ __setModuleDefault(result, mod);
36
+ return result;
37
+ };
38
+ })();
39
+ Object.defineProperty(exports, "__esModule", { value: true });
40
+ exports.loadCommand = loadCommand;
41
+ exports.clearCommandCache = clearCommandCache;
42
+ exports.tryLoadOptional = tryLoadOptional;
43
+ exports.hasOptionalDep = hasOptionalDep;
44
+ const cli_spec_1 = require("../spec/cli-spec");
45
+ const commandCache = new Map();
46
+ async function loadCommand(command) {
47
+ if (!(0, cli_spec_1.validateCommand)(command)) {
48
+ throw new Error(`Unknown command: ${command}`);
49
+ }
50
+ // Check cache first
51
+ if (commandCache.has(command)) {
52
+ return commandCache.get(command);
53
+ }
54
+ // Lazy import the command module
55
+ const module = await Promise.resolve(`${`../commands/${command}`}`).then(s => __importStar(require(s)));
56
+ commandCache.set(command, module);
57
+ return module;
58
+ }
59
+ function clearCommandCache() {
60
+ commandCache.clear();
61
+ }
62
+ /**
63
+ * Lazy load optional dependencies
64
+ * Returns undefined if not available
65
+ */
66
+ async function tryLoadOptional(moduleName) {
67
+ try {
68
+ return await Promise.resolve(`${moduleName}`).then(s => __importStar(require(s)));
69
+ }
70
+ catch {
71
+ return undefined;
72
+ }
73
+ }
74
+ /**
75
+ * Check if an optional dependency is available
76
+ */
77
+ async function hasOptionalDep(moduleName) {
78
+ try {
79
+ await Promise.resolve(`${moduleName}`).then(s => __importStar(require(s)));
80
+ return true;
81
+ }
82
+ catch {
83
+ return false;
84
+ }
85
+ }