@agentuity/cli 0.0.50 → 0.0.52

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 (578) hide show
  1. package/AGENTS.md +17 -4
  2. package/README.md +26 -8
  3. package/dist/api.js +68 -0
  4. package/dist/api.js.map +1 -0
  5. package/dist/auth.js +225 -0
  6. package/dist/auth.js.map +1 -0
  7. package/dist/banner.js +35 -0
  8. package/dist/banner.js.map +1 -0
  9. package/dist/cli-logger.js +72 -0
  10. package/dist/cli-logger.js.map +1 -0
  11. package/dist/cli.d.ts.map +1 -1
  12. package/dist/cli.js +822 -0
  13. package/dist/cli.js.map +1 -0
  14. package/dist/cmd/{capabilities → ai/capabilities}/index.d.ts +1 -1
  15. package/dist/cmd/ai/capabilities/index.d.ts.map +1 -0
  16. package/dist/cmd/ai/capabilities/index.js +10 -0
  17. package/dist/cmd/ai/capabilities/index.js.map +1 -0
  18. package/dist/cmd/{capabilities → ai/capabilities}/show.d.ts +1 -1
  19. package/dist/cmd/ai/capabilities/show.d.ts.map +1 -0
  20. package/dist/cmd/ai/capabilities/show.js +221 -0
  21. package/dist/cmd/ai/capabilities/show.js.map +1 -0
  22. package/dist/cmd/ai/index.d.ts.map +1 -0
  23. package/dist/cmd/ai/index.js +11 -0
  24. package/dist/cmd/ai/index.js.map +1 -0
  25. package/dist/cmd/ai/prompt/index.d.ts +4 -0
  26. package/dist/cmd/ai/prompt/index.d.ts.map +1 -0
  27. package/dist/cmd/ai/prompt/index.js +10 -0
  28. package/dist/cmd/ai/prompt/index.js.map +1 -0
  29. package/dist/cmd/ai/prompt/llm.d.ts +3 -0
  30. package/dist/cmd/ai/prompt/llm.d.ts.map +1 -0
  31. package/dist/cmd/ai/prompt/llm.js +365 -0
  32. package/dist/cmd/ai/prompt/llm.js.map +1 -0
  33. package/dist/cmd/ai/schema/index.d.ts +4 -0
  34. package/dist/cmd/ai/schema/index.d.ts.map +1 -0
  35. package/dist/cmd/ai/schema/index.js +10 -0
  36. package/dist/cmd/ai/schema/index.js.map +1 -0
  37. package/dist/cmd/ai/schema/show.d.ts +3 -0
  38. package/dist/cmd/ai/schema/show.d.ts.map +1 -0
  39. package/dist/cmd/ai/schema/show.js +23 -0
  40. package/dist/cmd/ai/schema/show.js.map +1 -0
  41. package/dist/cmd/auth/api.js +85 -0
  42. package/dist/cmd/auth/api.js.map +1 -0
  43. package/dist/cmd/auth/index.js +13 -0
  44. package/dist/cmd/auth/index.js.map +1 -0
  45. package/dist/cmd/auth/login.js +84 -0
  46. package/dist/cmd/auth/login.js.map +1 -0
  47. package/dist/cmd/auth/logout.js +17 -0
  48. package/dist/cmd/auth/logout.js.map +1 -0
  49. package/dist/cmd/auth/signup.js +55 -0
  50. package/dist/cmd/auth/signup.js.map +1 -0
  51. package/dist/cmd/auth/ssh/add.js +239 -0
  52. package/dist/cmd/auth/ssh/add.js.map +1 -0
  53. package/dist/cmd/auth/ssh/api.js +53 -0
  54. package/dist/cmd/auth/ssh/api.js.map +1 -0
  55. package/dist/cmd/auth/ssh/delete.js +126 -0
  56. package/dist/cmd/auth/ssh/delete.js.map +1 -0
  57. package/dist/cmd/auth/ssh/index.js +11 -0
  58. package/dist/cmd/auth/ssh/index.js.map +1 -0
  59. package/dist/cmd/auth/ssh/list.js +70 -0
  60. package/dist/cmd/auth/ssh/list.js.map +1 -0
  61. package/dist/cmd/auth/whoami.js +68 -0
  62. package/dist/cmd/auth/whoami.js.map +1 -0
  63. package/dist/cmd/build/ast.d.ts.map +1 -0
  64. package/dist/cmd/build/ast.js +608 -0
  65. package/dist/cmd/build/ast.js.map +1 -0
  66. package/dist/cmd/{bundle → build}/ast.test.d.ts.map +1 -1
  67. package/dist/cmd/build/ast.test.js +389 -0
  68. package/dist/cmd/build/ast.test.js.map +1 -0
  69. package/dist/cmd/build/bundler.d.ts.map +1 -0
  70. package/dist/cmd/build/bundler.js +304 -0
  71. package/dist/cmd/build/bundler.js.map +1 -0
  72. package/dist/cmd/build/file.d.ts.map +1 -0
  73. package/dist/cmd/build/file.js +10 -0
  74. package/dist/cmd/build/file.js.map +1 -0
  75. package/dist/cmd/build/fix-duplicate-exports.d.ts.map +1 -0
  76. package/dist/cmd/build/fix-duplicate-exports.js +167 -0
  77. package/dist/cmd/build/fix-duplicate-exports.js.map +1 -0
  78. package/dist/cmd/build/fix-duplicate-exports.test.d.ts.map +1 -0
  79. package/dist/cmd/build/fix-duplicate-exports.test.js +300 -0
  80. package/dist/cmd/build/fix-duplicate-exports.test.js.map +1 -0
  81. package/dist/cmd/build/index.d.ts.map +1 -0
  82. package/dist/cmd/build/index.js +79 -0
  83. package/dist/cmd/build/index.js.map +1 -0
  84. package/dist/cmd/build/patch/_util.d.ts.map +1 -0
  85. package/dist/cmd/build/patch/_util.js +42 -0
  86. package/dist/cmd/build/patch/_util.js.map +1 -0
  87. package/dist/cmd/build/patch/aisdk.d.ts.map +1 -0
  88. package/dist/cmd/build/patch/aisdk.js +65 -0
  89. package/dist/cmd/build/patch/aisdk.js.map +1 -0
  90. package/dist/cmd/build/patch/index.d.ts.map +1 -0
  91. package/dist/cmd/build/patch/index.js +97 -0
  92. package/dist/cmd/build/patch/index.js.map +1 -0
  93. package/dist/cmd/build/patch/llm.d.ts.map +1 -0
  94. package/dist/cmd/build/patch/llm.js +18 -0
  95. package/dist/cmd/build/patch/llm.js.map +1 -0
  96. package/dist/cmd/build/plugin.d.ts.map +1 -0
  97. package/dist/cmd/build/plugin.js +556 -0
  98. package/dist/cmd/build/plugin.js.map +1 -0
  99. package/dist/cmd/cloud/agents/index.d.ts +3 -0
  100. package/dist/cmd/cloud/agents/index.d.ts.map +1 -0
  101. package/dist/cmd/cloud/agents/index.js +133 -0
  102. package/dist/cmd/cloud/agents/index.js.map +1 -0
  103. package/dist/cmd/cloud/deploy.js +341 -0
  104. package/dist/cmd/cloud/deploy.js.map +1 -0
  105. package/dist/cmd/cloud/deployment/index.js +20 -0
  106. package/dist/cmd/cloud/deployment/index.js.map +1 -0
  107. package/dist/cmd/cloud/deployment/list.js +89 -0
  108. package/dist/cmd/cloud/deployment/list.js.map +1 -0
  109. package/dist/cmd/cloud/deployment/remove.js +60 -0
  110. package/dist/cmd/cloud/deployment/remove.js.map +1 -0
  111. package/dist/cmd/cloud/deployment/rollback.js +80 -0
  112. package/dist/cmd/cloud/deployment/rollback.js.map +1 -0
  113. package/dist/cmd/cloud/deployment/show.js +106 -0
  114. package/dist/cmd/cloud/deployment/show.js.map +1 -0
  115. package/dist/cmd/cloud/deployment/undeploy.js +45 -0
  116. package/dist/cmd/cloud/deployment/undeploy.js.map +1 -0
  117. package/dist/cmd/cloud/deployment/utils.js +10 -0
  118. package/dist/cmd/cloud/deployment/utils.js.map +1 -0
  119. package/dist/cmd/cloud/domain.js +77 -0
  120. package/dist/cmd/cloud/domain.js.map +1 -0
  121. package/dist/cmd/cloud/env/delete.d.ts +2 -0
  122. package/dist/cmd/cloud/env/delete.d.ts.map +1 -0
  123. package/dist/cmd/cloud/env/delete.js +50 -0
  124. package/dist/cmd/cloud/env/delete.js.map +1 -0
  125. package/dist/cmd/cloud/env/get.d.ts +2 -0
  126. package/dist/cmd/cloud/env/get.d.ts.map +1 -0
  127. package/dist/cmd/cloud/env/get.js +65 -0
  128. package/dist/cmd/cloud/env/get.js.map +1 -0
  129. package/dist/cmd/cloud/env/import.d.ts +2 -0
  130. package/dist/cmd/cloud/env/import.d.ts.map +1 -0
  131. package/dist/cmd/cloud/env/import.js +113 -0
  132. package/dist/cmd/cloud/env/import.js.map +1 -0
  133. package/dist/cmd/cloud/env/index.d.ts +3 -0
  134. package/dist/cmd/cloud/env/index.d.ts.map +1 -0
  135. package/dist/cmd/cloud/env/index.js +24 -0
  136. package/dist/cmd/cloud/env/index.js.map +1 -0
  137. package/dist/cmd/cloud/env/list.d.ts +2 -0
  138. package/dist/cmd/cloud/env/list.d.ts.map +1 -0
  139. package/dist/cmd/cloud/env/list.js +58 -0
  140. package/dist/cmd/cloud/env/list.js.map +1 -0
  141. package/dist/cmd/cloud/env/pull.d.ts +2 -0
  142. package/dist/cmd/cloud/env/pull.d.ts.map +1 -0
  143. package/dist/cmd/cloud/env/pull.js +81 -0
  144. package/dist/cmd/cloud/env/pull.js.map +1 -0
  145. package/dist/cmd/cloud/env/push.d.ts +2 -0
  146. package/dist/cmd/cloud/env/push.d.ts.map +1 -0
  147. package/dist/cmd/cloud/env/push.js +61 -0
  148. package/dist/cmd/cloud/env/push.js.map +1 -0
  149. package/dist/cmd/cloud/env/set.d.ts +2 -0
  150. package/dist/cmd/cloud/env/set.d.ts.map +1 -0
  151. package/dist/cmd/cloud/env/set.js +73 -0
  152. package/dist/cmd/cloud/env/set.js.map +1 -0
  153. package/dist/cmd/cloud/index.d.ts.map +1 -1
  154. package/dist/cmd/cloud/index.js +31 -0
  155. package/dist/cmd/cloud/index.js.map +1 -0
  156. package/dist/cmd/cloud/keyvalue/create-namespace.d.ts +3 -0
  157. package/dist/cmd/cloud/keyvalue/create-namespace.d.ts.map +1 -0
  158. package/dist/cmd/cloud/keyvalue/create-namespace.js +41 -0
  159. package/dist/cmd/cloud/keyvalue/create-namespace.js.map +1 -0
  160. package/dist/cmd/cloud/keyvalue/delete-namespace.d.ts +3 -0
  161. package/dist/cmd/cloud/keyvalue/delete-namespace.d.ts.map +1 -0
  162. package/dist/cmd/cloud/keyvalue/delete-namespace.js +64 -0
  163. package/dist/cmd/cloud/keyvalue/delete-namespace.js.map +1 -0
  164. package/dist/cmd/cloud/keyvalue/delete.d.ts +3 -0
  165. package/dist/cmd/cloud/keyvalue/delete.d.ts.map +1 -0
  166. package/dist/cmd/cloud/keyvalue/delete.js +47 -0
  167. package/dist/cmd/cloud/keyvalue/delete.js.map +1 -0
  168. package/dist/cmd/cloud/keyvalue/get.d.ts +3 -0
  169. package/dist/cmd/cloud/keyvalue/get.d.ts.map +1 -0
  170. package/dist/cmd/cloud/keyvalue/get.js +65 -0
  171. package/dist/cmd/cloud/keyvalue/get.js.map +1 -0
  172. package/dist/cmd/cloud/keyvalue/index.d.ts +3 -0
  173. package/dist/cmd/cloud/keyvalue/index.d.ts.map +1 -0
  174. package/dist/cmd/cloud/keyvalue/index.js +32 -0
  175. package/dist/cmd/cloud/keyvalue/index.js.map +1 -0
  176. package/dist/cmd/cloud/keyvalue/keys.d.ts +3 -0
  177. package/dist/cmd/cloud/keyvalue/keys.d.ts.map +1 -0
  178. package/dist/cmd/cloud/keyvalue/keys.js +50 -0
  179. package/dist/cmd/cloud/keyvalue/keys.js.map +1 -0
  180. package/dist/cmd/cloud/keyvalue/list-namespaces.d.ts +3 -0
  181. package/dist/cmd/cloud/keyvalue/list-namespaces.d.ts.map +1 -0
  182. package/dist/cmd/cloud/keyvalue/list-namespaces.js +37 -0
  183. package/dist/cmd/cloud/keyvalue/list-namespaces.js.map +1 -0
  184. package/dist/cmd/cloud/keyvalue/repl.d.ts +3 -0
  185. package/dist/cmd/cloud/keyvalue/repl.d.ts.map +1 -0
  186. package/dist/cmd/cloud/keyvalue/repl.js +277 -0
  187. package/dist/cmd/cloud/keyvalue/repl.js.map +1 -0
  188. package/dist/cmd/cloud/keyvalue/search.d.ts +3 -0
  189. package/dist/cmd/cloud/keyvalue/search.d.ts.map +1 -0
  190. package/dist/cmd/cloud/keyvalue/search.js +72 -0
  191. package/dist/cmd/cloud/keyvalue/search.js.map +1 -0
  192. package/dist/cmd/cloud/keyvalue/set.d.ts +3 -0
  193. package/dist/cmd/cloud/keyvalue/set.d.ts.map +1 -0
  194. package/dist/cmd/cloud/keyvalue/set.js +59 -0
  195. package/dist/cmd/cloud/keyvalue/set.js.map +1 -0
  196. package/dist/cmd/cloud/keyvalue/stats.d.ts +3 -0
  197. package/dist/cmd/cloud/keyvalue/stats.d.ts.map +1 -0
  198. package/dist/cmd/cloud/keyvalue/stats.js +82 -0
  199. package/dist/cmd/cloud/keyvalue/stats.js.map +1 -0
  200. package/dist/cmd/{kv → cloud/keyvalue}/util.d.ts +1 -1
  201. package/dist/cmd/cloud/keyvalue/util.d.ts.map +1 -0
  202. package/dist/cmd/cloud/keyvalue/util.js +19 -0
  203. package/dist/cmd/cloud/keyvalue/util.js.map +1 -0
  204. package/dist/cmd/cloud/objectstore/delete-bucket.d.ts +3 -0
  205. package/dist/cmd/cloud/objectstore/delete-bucket.d.ts.map +1 -0
  206. package/dist/cmd/cloud/objectstore/delete-bucket.js +66 -0
  207. package/dist/cmd/cloud/objectstore/delete-bucket.js.map +1 -0
  208. package/dist/cmd/cloud/objectstore/delete.d.ts +3 -0
  209. package/dist/cmd/cloud/objectstore/delete.d.ts.map +1 -0
  210. package/dist/cmd/cloud/objectstore/delete.js +56 -0
  211. package/dist/cmd/cloud/objectstore/delete.js.map +1 -0
  212. package/dist/cmd/cloud/objectstore/get.d.ts +3 -0
  213. package/dist/cmd/cloud/objectstore/get.d.ts.map +1 -0
  214. package/dist/cmd/cloud/objectstore/get.js +64 -0
  215. package/dist/cmd/cloud/objectstore/get.js.map +1 -0
  216. package/dist/cmd/cloud/objectstore/index.d.ts +3 -0
  217. package/dist/cmd/cloud/objectstore/index.d.ts.map +1 -0
  218. package/dist/cmd/cloud/objectstore/index.js +28 -0
  219. package/dist/cmd/cloud/objectstore/index.js.map +1 -0
  220. package/dist/cmd/cloud/objectstore/list-buckets.d.ts +3 -0
  221. package/dist/cmd/cloud/objectstore/list-buckets.d.ts.map +1 -0
  222. package/dist/cmd/cloud/objectstore/list-buckets.js +37 -0
  223. package/dist/cmd/cloud/objectstore/list-buckets.js.map +1 -0
  224. package/dist/cmd/cloud/objectstore/list-keys.d.ts +3 -0
  225. package/dist/cmd/cloud/objectstore/list-keys.d.ts.map +1 -0
  226. package/dist/cmd/cloud/objectstore/list-keys.js +52 -0
  227. package/dist/cmd/cloud/objectstore/list-keys.js.map +1 -0
  228. package/dist/cmd/cloud/objectstore/put.d.ts +3 -0
  229. package/dist/cmd/cloud/objectstore/put.d.ts.map +1 -0
  230. package/dist/cmd/cloud/objectstore/put.js +57 -0
  231. package/dist/cmd/cloud/objectstore/put.js.map +1 -0
  232. package/dist/cmd/cloud/objectstore/repl.d.ts +3 -0
  233. package/dist/cmd/cloud/objectstore/repl.d.ts.map +1 -0
  234. package/dist/cmd/cloud/objectstore/repl.js +219 -0
  235. package/dist/cmd/cloud/objectstore/repl.js.map +1 -0
  236. package/dist/cmd/cloud/objectstore/url.d.ts +3 -0
  237. package/dist/cmd/cloud/objectstore/url.d.ts.map +1 -0
  238. package/dist/cmd/cloud/objectstore/url.js +55 -0
  239. package/dist/cmd/cloud/objectstore/url.js.map +1 -0
  240. package/dist/cmd/{objectstore → cloud/objectstore}/util.d.ts +1 -1
  241. package/dist/cmd/cloud/objectstore/util.d.ts.map +1 -0
  242. package/dist/cmd/cloud/objectstore/util.js +18 -0
  243. package/dist/cmd/cloud/objectstore/util.js.map +1 -0
  244. package/dist/cmd/cloud/resource/add.js +70 -0
  245. package/dist/cmd/cloud/resource/add.js.map +1 -0
  246. package/dist/cmd/cloud/resource/delete.js +126 -0
  247. package/dist/cmd/cloud/resource/delete.js.map +1 -0
  248. package/dist/cmd/cloud/resource/index.js +12 -0
  249. package/dist/cmd/cloud/resource/index.js.map +1 -0
  250. package/dist/cmd/cloud/resource/list.js +89 -0
  251. package/dist/cmd/cloud/resource/list.js.map +1 -0
  252. package/dist/cmd/cloud/scp/download.js +72 -0
  253. package/dist/cmd/cloud/scp/download.js.map +1 -0
  254. package/dist/cmd/cloud/scp/index.js +10 -0
  255. package/dist/cmd/cloud/scp/index.js.map +1 -0
  256. package/dist/cmd/cloud/scp/upload.js +75 -0
  257. package/dist/cmd/cloud/scp/upload.js.map +1 -0
  258. package/dist/cmd/cloud/secret/delete.d.ts +2 -0
  259. package/dist/cmd/cloud/secret/delete.d.ts.map +1 -0
  260. package/dist/cmd/cloud/secret/delete.js +50 -0
  261. package/dist/cmd/cloud/secret/delete.js.map +1 -0
  262. package/dist/cmd/cloud/secret/get.d.ts +2 -0
  263. package/dist/cmd/cloud/secret/get.d.ts.map +1 -0
  264. package/dist/cmd/cloud/secret/get.js +69 -0
  265. package/dist/cmd/cloud/secret/get.js.map +1 -0
  266. package/dist/cmd/cloud/secret/import.d.ts +2 -0
  267. package/dist/cmd/cloud/secret/import.d.ts.map +1 -0
  268. package/dist/cmd/cloud/secret/import.js +88 -0
  269. package/dist/cmd/cloud/secret/import.js.map +1 -0
  270. package/dist/cmd/cloud/secret/index.d.ts +3 -0
  271. package/dist/cmd/cloud/secret/index.d.ts.map +1 -0
  272. package/dist/cmd/cloud/secret/index.js +24 -0
  273. package/dist/cmd/cloud/secret/index.js.map +1 -0
  274. package/dist/cmd/cloud/secret/list.d.ts +2 -0
  275. package/dist/cmd/cloud/secret/list.d.ts.map +1 -0
  276. package/dist/cmd/cloud/secret/list.js +58 -0
  277. package/dist/cmd/cloud/secret/list.js.map +1 -0
  278. package/dist/cmd/cloud/secret/pull.d.ts +2 -0
  279. package/dist/cmd/cloud/secret/pull.d.ts.map +1 -0
  280. package/dist/cmd/cloud/secret/pull.js +81 -0
  281. package/dist/cmd/cloud/secret/pull.js.map +1 -0
  282. package/dist/cmd/cloud/secret/push.d.ts +2 -0
  283. package/dist/cmd/cloud/secret/push.d.ts.map +1 -0
  284. package/dist/cmd/cloud/secret/push.js +61 -0
  285. package/dist/cmd/cloud/secret/push.js.map +1 -0
  286. package/dist/cmd/cloud/secret/set.d.ts +2 -0
  287. package/dist/cmd/cloud/secret/set.d.ts.map +1 -0
  288. package/dist/cmd/cloud/secret/set.js +57 -0
  289. package/dist/cmd/cloud/secret/set.js.map +1 -0
  290. package/dist/cmd/cloud/session/get.d.ts.map +1 -1
  291. package/dist/cmd/cloud/session/get.js +155 -0
  292. package/dist/cmd/cloud/session/get.js.map +1 -0
  293. package/dist/cmd/cloud/session/index.js +11 -0
  294. package/dist/cmd/cloud/session/index.js.map +1 -0
  295. package/dist/cmd/cloud/session/list.js +132 -0
  296. package/dist/cmd/cloud/session/list.js.map +1 -0
  297. package/dist/cmd/cloud/session/logs.js +56 -0
  298. package/dist/cmd/cloud/session/logs.js.map +1 -0
  299. package/dist/cmd/cloud/ssh.js +67 -0
  300. package/dist/cmd/cloud/ssh.js.map +1 -0
  301. package/dist/cmd/dev/agents.js +103 -0
  302. package/dist/cmd/dev/agents.js.map +1 -0
  303. package/dist/cmd/dev/api.js +26 -0
  304. package/dist/cmd/dev/api.js.map +1 -0
  305. package/dist/cmd/dev/download.js +77 -0
  306. package/dist/cmd/dev/download.js.map +1 -0
  307. package/dist/cmd/dev/index.js +745 -0
  308. package/dist/cmd/dev/index.js.map +1 -0
  309. package/dist/cmd/dev/sync.js +229 -0
  310. package/dist/cmd/dev/sync.js.map +1 -0
  311. package/dist/cmd/dev/templates.js +75 -0
  312. package/dist/cmd/dev/templates.js.map +1 -0
  313. package/dist/cmd/index.js +49 -0
  314. package/dist/cmd/index.js.map +1 -0
  315. package/dist/cmd/profile/create.js +89 -0
  316. package/dist/cmd/profile/create.js.map +1 -0
  317. package/dist/cmd/profile/delete.js +63 -0
  318. package/dist/cmd/profile/delete.js.map +1 -0
  319. package/dist/cmd/profile/index.d.ts.map +1 -1
  320. package/dist/cmd/profile/index.js +14 -0
  321. package/dist/cmd/profile/index.js.map +1 -0
  322. package/dist/cmd/profile/list.js +28 -0
  323. package/dist/cmd/profile/list.js.map +1 -0
  324. package/dist/cmd/profile/show.js +68 -0
  325. package/dist/cmd/profile/show.js.map +1 -0
  326. package/dist/cmd/profile/use.js +37 -0
  327. package/dist/cmd/profile/use.js.map +1 -0
  328. package/dist/cmd/project/create.js +92 -0
  329. package/dist/cmd/project/create.js.map +1 -0
  330. package/dist/cmd/project/delete.js +117 -0
  331. package/dist/cmd/project/delete.js.map +1 -0
  332. package/dist/cmd/project/download.js +217 -0
  333. package/dist/cmd/project/download.js.map +1 -0
  334. package/dist/cmd/project/index.js +12 -0
  335. package/dist/cmd/project/index.js.map +1 -0
  336. package/dist/cmd/project/list.js +51 -0
  337. package/dist/cmd/project/list.js.map +1 -0
  338. package/dist/cmd/project/show.js +54 -0
  339. package/dist/cmd/project/show.js.map +1 -0
  340. package/dist/cmd/project/template-flow.js +315 -0
  341. package/dist/cmd/project/template-flow.js.map +1 -0
  342. package/dist/cmd/project/templates.js +31 -0
  343. package/dist/cmd/project/templates.js.map +1 -0
  344. package/dist/cmd/repl/index.js +444 -0
  345. package/dist/cmd/repl/index.js.map +1 -0
  346. package/dist/cmd/version/index.js +29 -0
  347. package/dist/cmd/version/index.js.map +1 -0
  348. package/dist/command-prefix.js +37 -0
  349. package/dist/command-prefix.js.map +1 -0
  350. package/dist/config.js +536 -0
  351. package/dist/config.js.map +1 -0
  352. package/dist/crypto/box.js +382 -0
  353. package/dist/crypto/box.js.map +1 -0
  354. package/dist/crypto/box.test.js +317 -0
  355. package/dist/crypto/box.test.js.map +1 -0
  356. package/dist/download.js +64 -0
  357. package/dist/download.js.map +1 -0
  358. package/dist/env-util.js +219 -0
  359. package/dist/env-util.js.map +1 -0
  360. package/dist/env-util.test.js +146 -0
  361. package/dist/env-util.test.js.map +1 -0
  362. package/dist/errors.js +177 -0
  363. package/dist/errors.js.map +1 -0
  364. package/dist/explain.js +90 -0
  365. package/dist/explain.js.map +1 -0
  366. package/dist/index.js +23 -0
  367. package/dist/index.js.map +1 -0
  368. package/dist/json.js +29 -0
  369. package/dist/json.js.map +1 -0
  370. package/dist/legacy-check.js +104 -0
  371. package/dist/legacy-check.js.map +1 -0
  372. package/dist/output.js +207 -0
  373. package/dist/output.js.map +1 -0
  374. package/dist/repl.js +1176 -0
  375. package/dist/repl.js.map +1 -0
  376. package/dist/runtime.js +19 -0
  377. package/dist/runtime.js.map +1 -0
  378. package/dist/schema-generator.js +289 -0
  379. package/dist/schema-generator.js.map +1 -0
  380. package/dist/schema-parser.js +145 -0
  381. package/dist/schema-parser.js.map +1 -0
  382. package/dist/sound.js +44 -0
  383. package/dist/sound.js.map +1 -0
  384. package/dist/steps.js +293 -0
  385. package/dist/steps.js.map +1 -0
  386. package/dist/terminal.js +130 -0
  387. package/dist/terminal.js.map +1 -0
  388. package/dist/tui.js +1124 -0
  389. package/dist/tui.js.map +1 -0
  390. package/dist/types.js +163 -0
  391. package/dist/types.js.map +1 -0
  392. package/dist/utils/detectSubagent.js +25 -0
  393. package/dist/utils/detectSubagent.js.map +1 -0
  394. package/dist/utils/format.js +21 -0
  395. package/dist/utils/format.js.map +1 -0
  396. package/dist/utils/zip.js +33 -0
  397. package/dist/utils/zip.js.map +1 -0
  398. package/dist/version.js +24 -0
  399. package/dist/version.js.map +1 -0
  400. package/package.json +6 -6
  401. package/src/banner.ts +1 -1
  402. package/src/cli.ts +7 -2
  403. package/src/cmd/{capabilities → ai/capabilities}/index.ts +2 -2
  404. package/src/cmd/{capabilities → ai/capabilities}/show.ts +6 -6
  405. package/src/cmd/ai/index.ts +11 -0
  406. package/src/cmd/{prompt → ai/prompt}/index.ts +2 -2
  407. package/src/cmd/{prompt → ai/prompt}/llm.ts +6 -6
  408. package/src/cmd/{schema → ai/schema}/index.ts +2 -2
  409. package/src/cmd/{schema → ai/schema}/show.ts +3 -3
  410. package/src/cmd/build/index.ts +83 -0
  411. package/src/cmd/{bundle → build}/plugin.ts +2 -1
  412. package/src/cmd/{agents → cloud/agents}/index.ts +4 -3
  413. package/src/cmd/cloud/deploy.ts +1 -1
  414. package/src/cmd/{env → cloud/env}/delete.ts +4 -4
  415. package/src/cmd/{env → cloud/env}/get.ts +5 -5
  416. package/src/cmd/{env → cloud/env}/import.ts +4 -4
  417. package/src/cmd/{env → cloud/env}/index.ts +2 -1
  418. package/src/cmd/{env → cloud/env}/list.ts +4 -4
  419. package/src/cmd/{env → cloud/env}/pull.ts +4 -4
  420. package/src/cmd/{env → cloud/env}/push.ts +4 -4
  421. package/src/cmd/{env → cloud/env}/set.ts +4 -4
  422. package/src/cmd/cloud/index.ts +10 -0
  423. package/src/cmd/{kv → cloud/keyvalue}/create-namespace.ts +3 -3
  424. package/src/cmd/{kv → cloud/keyvalue}/delete-namespace.ts +4 -4
  425. package/src/cmd/{kv → cloud/keyvalue}/delete.ts +3 -3
  426. package/src/cmd/{kv → cloud/keyvalue}/get.ts +4 -4
  427. package/src/cmd/{kv → cloud/keyvalue}/index.ts +2 -1
  428. package/src/cmd/{kv → cloud/keyvalue}/keys.ts +3 -3
  429. package/src/cmd/{kv → cloud/keyvalue}/list-namespaces.ts +3 -3
  430. package/src/cmd/{kv → cloud/keyvalue}/repl.ts +6 -6
  431. package/src/cmd/{kv → cloud/keyvalue}/search.ts +3 -3
  432. package/src/cmd/{kv → cloud/keyvalue}/set.ts +4 -4
  433. package/src/cmd/{kv → cloud/keyvalue}/stats.ts +3 -3
  434. package/src/cmd/{kv → cloud/keyvalue}/util.ts +4 -4
  435. package/src/cmd/{objectstore → cloud/objectstore}/delete-bucket.ts +3 -3
  436. package/src/cmd/{objectstore → cloud/objectstore}/delete.ts +3 -3
  437. package/src/cmd/{objectstore → cloud/objectstore}/get.ts +4 -4
  438. package/src/cmd/{objectstore → cloud/objectstore}/index.ts +2 -1
  439. package/src/cmd/{objectstore → cloud/objectstore}/list-buckets.ts +3 -3
  440. package/src/cmd/{objectstore → cloud/objectstore}/list-keys.ts +3 -3
  441. package/src/cmd/{objectstore → cloud/objectstore}/put.ts +4 -4
  442. package/src/cmd/{objectstore → cloud/objectstore}/repl.ts +6 -6
  443. package/src/cmd/{objectstore → cloud/objectstore}/url.ts +3 -3
  444. package/src/cmd/{objectstore → cloud/objectstore}/util.ts +3 -3
  445. package/src/cmd/{secret → cloud/secret}/delete.ts +4 -4
  446. package/src/cmd/{secret → cloud/secret}/get.ts +5 -5
  447. package/src/cmd/{secret → cloud/secret}/import.ts +4 -4
  448. package/src/cmd/{secret → cloud/secret}/index.ts +2 -1
  449. package/src/cmd/{secret → cloud/secret}/list.ts +4 -4
  450. package/src/cmd/{secret → cloud/secret}/pull.ts +4 -4
  451. package/src/cmd/{secret → cloud/secret}/push.ts +4 -4
  452. package/src/cmd/{secret → cloud/secret}/set.ts +4 -4
  453. package/src/cmd/cloud/session/get.ts +20 -14
  454. package/src/cmd/cloud/session/list.ts +1 -1
  455. package/src/cmd/dev/index.ts +3 -3
  456. package/src/cmd/profile/index.ts +1 -0
  457. package/src/cmd/project/create.ts +1 -1
  458. package/src/cmd/project/index.ts +1 -1
  459. package/dist/cmd/agents/index.d.ts.map +0 -1
  460. package/dist/cmd/bundle/ast.d.ts.map +0 -1
  461. package/dist/cmd/bundle/bundler.d.ts.map +0 -1
  462. package/dist/cmd/bundle/file.d.ts.map +0 -1
  463. package/dist/cmd/bundle/fix-duplicate-exports.d.ts.map +0 -1
  464. package/dist/cmd/bundle/fix-duplicate-exports.test.d.ts.map +0 -1
  465. package/dist/cmd/bundle/index.d.ts.map +0 -1
  466. package/dist/cmd/bundle/patch/_util.d.ts.map +0 -1
  467. package/dist/cmd/bundle/patch/aisdk.d.ts.map +0 -1
  468. package/dist/cmd/bundle/patch/index.d.ts.map +0 -1
  469. package/dist/cmd/bundle/patch/llm.d.ts.map +0 -1
  470. package/dist/cmd/bundle/plugin.d.ts.map +0 -1
  471. package/dist/cmd/capabilities/index.d.ts.map +0 -1
  472. package/dist/cmd/capabilities/show.d.ts.map +0 -1
  473. package/dist/cmd/env/delete.d.ts +0 -2
  474. package/dist/cmd/env/delete.d.ts.map +0 -1
  475. package/dist/cmd/env/get.d.ts +0 -2
  476. package/dist/cmd/env/get.d.ts.map +0 -1
  477. package/dist/cmd/env/import.d.ts +0 -2
  478. package/dist/cmd/env/import.d.ts.map +0 -1
  479. package/dist/cmd/env/index.d.ts +0 -2
  480. package/dist/cmd/env/index.d.ts.map +0 -1
  481. package/dist/cmd/env/list.d.ts +0 -2
  482. package/dist/cmd/env/list.d.ts.map +0 -1
  483. package/dist/cmd/env/pull.d.ts +0 -2
  484. package/dist/cmd/env/pull.d.ts.map +0 -1
  485. package/dist/cmd/env/push.d.ts +0 -2
  486. package/dist/cmd/env/push.d.ts.map +0 -1
  487. package/dist/cmd/env/set.d.ts +0 -2
  488. package/dist/cmd/env/set.d.ts.map +0 -1
  489. package/dist/cmd/kv/create-namespace.d.ts +0 -3
  490. package/dist/cmd/kv/create-namespace.d.ts.map +0 -1
  491. package/dist/cmd/kv/delete-namespace.d.ts +0 -3
  492. package/dist/cmd/kv/delete-namespace.d.ts.map +0 -1
  493. package/dist/cmd/kv/delete.d.ts +0 -3
  494. package/dist/cmd/kv/delete.d.ts.map +0 -1
  495. package/dist/cmd/kv/get.d.ts +0 -3
  496. package/dist/cmd/kv/get.d.ts.map +0 -1
  497. package/dist/cmd/kv/index.d.ts +0 -2
  498. package/dist/cmd/kv/index.d.ts.map +0 -1
  499. package/dist/cmd/kv/keys.d.ts +0 -3
  500. package/dist/cmd/kv/keys.d.ts.map +0 -1
  501. package/dist/cmd/kv/list-namespaces.d.ts +0 -3
  502. package/dist/cmd/kv/list-namespaces.d.ts.map +0 -1
  503. package/dist/cmd/kv/repl.d.ts +0 -3
  504. package/dist/cmd/kv/repl.d.ts.map +0 -1
  505. package/dist/cmd/kv/search.d.ts +0 -3
  506. package/dist/cmd/kv/search.d.ts.map +0 -1
  507. package/dist/cmd/kv/set.d.ts +0 -3
  508. package/dist/cmd/kv/set.d.ts.map +0 -1
  509. package/dist/cmd/kv/stats.d.ts +0 -3
  510. package/dist/cmd/kv/stats.d.ts.map +0 -1
  511. package/dist/cmd/kv/util.d.ts.map +0 -1
  512. package/dist/cmd/objectstore/delete-bucket.d.ts +0 -3
  513. package/dist/cmd/objectstore/delete-bucket.d.ts.map +0 -1
  514. package/dist/cmd/objectstore/delete.d.ts +0 -3
  515. package/dist/cmd/objectstore/delete.d.ts.map +0 -1
  516. package/dist/cmd/objectstore/get.d.ts +0 -3
  517. package/dist/cmd/objectstore/get.d.ts.map +0 -1
  518. package/dist/cmd/objectstore/index.d.ts +0 -2
  519. package/dist/cmd/objectstore/index.d.ts.map +0 -1
  520. package/dist/cmd/objectstore/list-buckets.d.ts +0 -3
  521. package/dist/cmd/objectstore/list-buckets.d.ts.map +0 -1
  522. package/dist/cmd/objectstore/list-keys.d.ts +0 -3
  523. package/dist/cmd/objectstore/list-keys.d.ts.map +0 -1
  524. package/dist/cmd/objectstore/put.d.ts +0 -3
  525. package/dist/cmd/objectstore/put.d.ts.map +0 -1
  526. package/dist/cmd/objectstore/repl.d.ts +0 -3
  527. package/dist/cmd/objectstore/repl.d.ts.map +0 -1
  528. package/dist/cmd/objectstore/url.d.ts +0 -3
  529. package/dist/cmd/objectstore/url.d.ts.map +0 -1
  530. package/dist/cmd/objectstore/util.d.ts.map +0 -1
  531. package/dist/cmd/prompt/index.d.ts +0 -4
  532. package/dist/cmd/prompt/index.d.ts.map +0 -1
  533. package/dist/cmd/prompt/llm.d.ts +0 -3
  534. package/dist/cmd/prompt/llm.d.ts.map +0 -1
  535. package/dist/cmd/schema/index.d.ts +0 -4
  536. package/dist/cmd/schema/index.d.ts.map +0 -1
  537. package/dist/cmd/schema/show.d.ts +0 -3
  538. package/dist/cmd/schema/show.d.ts.map +0 -1
  539. package/dist/cmd/secret/delete.d.ts +0 -2
  540. package/dist/cmd/secret/delete.d.ts.map +0 -1
  541. package/dist/cmd/secret/get.d.ts +0 -2
  542. package/dist/cmd/secret/get.d.ts.map +0 -1
  543. package/dist/cmd/secret/import.d.ts +0 -2
  544. package/dist/cmd/secret/import.d.ts.map +0 -1
  545. package/dist/cmd/secret/index.d.ts +0 -2
  546. package/dist/cmd/secret/index.d.ts.map +0 -1
  547. package/dist/cmd/secret/list.d.ts +0 -2
  548. package/dist/cmd/secret/list.d.ts.map +0 -1
  549. package/dist/cmd/secret/pull.d.ts +0 -2
  550. package/dist/cmd/secret/pull.d.ts.map +0 -1
  551. package/dist/cmd/secret/push.d.ts +0 -2
  552. package/dist/cmd/secret/push.d.ts.map +0 -1
  553. package/dist/cmd/secret/set.d.ts +0 -2
  554. package/dist/cmd/secret/set.d.ts.map +0 -1
  555. package/src/cmd/bundle/index.ts +0 -58
  556. /package/dist/cmd/{agents → ai}/index.d.ts +0 -0
  557. /package/dist/cmd/{bundle → build}/ast.d.ts +0 -0
  558. /package/dist/cmd/{bundle → build}/ast.test.d.ts +0 -0
  559. /package/dist/cmd/{bundle → build}/bundler.d.ts +0 -0
  560. /package/dist/cmd/{bundle → build}/file.d.ts +0 -0
  561. /package/dist/cmd/{bundle → build}/fix-duplicate-exports.d.ts +0 -0
  562. /package/dist/cmd/{bundle → build}/fix-duplicate-exports.test.d.ts +0 -0
  563. /package/dist/cmd/{bundle → build}/index.d.ts +0 -0
  564. /package/dist/cmd/{bundle → build}/patch/_util.d.ts +0 -0
  565. /package/dist/cmd/{bundle → build}/patch/aisdk.d.ts +0 -0
  566. /package/dist/cmd/{bundle → build}/patch/index.d.ts +0 -0
  567. /package/dist/cmd/{bundle → build}/patch/llm.d.ts +0 -0
  568. /package/dist/cmd/{bundle → build}/plugin.d.ts +0 -0
  569. /package/src/cmd/{bundle → build}/ast.test.ts +0 -0
  570. /package/src/cmd/{bundle → build}/ast.ts +0 -0
  571. /package/src/cmd/{bundle → build}/bundler.ts +0 -0
  572. /package/src/cmd/{bundle → build}/file.ts +0 -0
  573. /package/src/cmd/{bundle → build}/fix-duplicate-exports.test.ts +0 -0
  574. /package/src/cmd/{bundle → build}/fix-duplicate-exports.ts +0 -0
  575. /package/src/cmd/{bundle → build}/patch/_util.ts +0 -0
  576. /package/src/cmd/{bundle → build}/patch/aisdk.ts +0 -0
  577. /package/src/cmd/{bundle → build}/patch/index.ts +0 -0
  578. /package/src/cmd/{bundle → build}/patch/llm.ts +0 -0
package/dist/config.js ADDED
@@ -0,0 +1,536 @@
1
+ import { z } from 'zod';
2
+ import { existsSync } from 'node:fs';
3
+ import { BuildMetadataSchema, getServiceUrls, APIClient as ServerAPIClient, } from '@agentuity/server';
4
+ import { YAML } from 'bun';
5
+ import { join, extname, basename, resolve, normalize } from 'node:path';
6
+ import { homedir } from 'node:os';
7
+ import { mkdir, readdir, readFile, writeFile, chmod } from 'node:fs/promises';
8
+ import JSON5 from 'json5';
9
+ import { ConfigSchema, ProjectSchema } from './types';
10
+ import * as tui from './tui';
11
+ export const defaultProfileName = 'production';
12
+ export function getDefaultConfigDir() {
13
+ return join(homedir(), '.config', 'agentuity');
14
+ }
15
+ export function getDefaultConfigPath() {
16
+ return join(getDefaultConfigDir(), defaultProfileName + '.yaml');
17
+ }
18
+ export function getProfilePath() {
19
+ return join(getDefaultConfigDir(), 'profile');
20
+ }
21
+ export async function ensureConfigDir() {
22
+ const dir = getDefaultConfigDir();
23
+ try {
24
+ await mkdir(dir, { recursive: true, mode: 0o700 });
25
+ }
26
+ catch {
27
+ // Ignore if already exists
28
+ }
29
+ }
30
+ export async function saveProfile(path) {
31
+ await ensureConfigDir();
32
+ await writeFile(getProfilePath(), path, { mode: 0o600 });
33
+ }
34
+ export async function getProfile() {
35
+ const profilePath = getProfilePath();
36
+ const defaultConfigPath = getDefaultConfigPath();
37
+ try {
38
+ const file = Bun.file(profilePath);
39
+ if (await file.exists()) {
40
+ const content = await file.text();
41
+ const savedPath = content.trim();
42
+ const savedFile = Bun.file(savedPath);
43
+ if (await savedFile.exists()) {
44
+ return savedPath;
45
+ }
46
+ }
47
+ }
48
+ catch {
49
+ // Fall back to default
50
+ }
51
+ return defaultConfigPath;
52
+ }
53
+ export async function fetchProfiles() {
54
+ const configDir = getDefaultConfigDir();
55
+ const currentConfigPath = await getProfile();
56
+ const profiles = [];
57
+ const nameRegex = /\bname:\s+["']?([\w-_]+)["']?/;
58
+ try {
59
+ const entries = await readdir(configDir);
60
+ for (const entry of entries) {
61
+ if (extname(entry) === '.yaml' && !entry.includes('templates/')) {
62
+ const filePath = join(configDir, entry);
63
+ try {
64
+ const content = await readFile(filePath, 'utf-8');
65
+ const match = nameRegex.exec(content);
66
+ if (match?.[1]) {
67
+ profiles.push({
68
+ name: match[1],
69
+ filename: filePath,
70
+ selected: filePath === currentConfigPath,
71
+ });
72
+ }
73
+ }
74
+ catch {
75
+ // Skip files we can't read
76
+ }
77
+ }
78
+ }
79
+ }
80
+ catch {
81
+ // Directory doesn't exist or can't be read
82
+ }
83
+ return profiles;
84
+ }
85
+ function expandTilde(path) {
86
+ if (path.startsWith('~/')) {
87
+ return join(homedir(), path.slice(2));
88
+ }
89
+ return path;
90
+ }
91
+ let cachedConfig;
92
+ export async function loadConfig(customPath) {
93
+ if (cachedConfig !== undefined) {
94
+ return cachedConfig;
95
+ }
96
+ const configPath = customPath ? expandTilde(customPath) : await getProfile();
97
+ try {
98
+ const file = Bun.file(configPath);
99
+ const exists = await file.exists();
100
+ let result;
101
+ if (exists) {
102
+ const content = await file.text();
103
+ const config = YAML.parse(content);
104
+ // check to see if this is a legacy config file that might not have the required name
105
+ // and in this case we can just use the filename
106
+ const _config = config;
107
+ if (!_config.name) {
108
+ _config.name = basename(configPath).replace(extname(configPath), '');
109
+ }
110
+ result = ConfigSchema.safeParse(config);
111
+ }
112
+ else {
113
+ result = ConfigSchema.safeParse({ name: defaultProfileName });
114
+ }
115
+ if (!result.success) {
116
+ tui.error(`Invalid config in ${configPath}:`);
117
+ for (const issue of result.error.issues) {
118
+ const path = issue.path.length > 0 ? issue.path.join('.') : 'root';
119
+ tui.bullet(`${path}: ${issue.message}`);
120
+ }
121
+ process.exit(1);
122
+ }
123
+ // allow environment variables to override
124
+ const overrides = result.data.overrides ?? ConfigSchema.shape.overrides.parse({});
125
+ if (overrides) {
126
+ if (process.env.AGENTUITY_API_URL) {
127
+ overrides.api_url = process.env.AGENTUITY_API_URL;
128
+ }
129
+ if (process.env.AGENTUITY_APP_URL) {
130
+ overrides.app_url = process.env.AGENTUITY_APP_URL;
131
+ }
132
+ if (process.env.AGENTUITY_CATALYST_URL) {
133
+ overrides.catalyst_url = process.env.AGENTUITY_CATALYST_URL;
134
+ }
135
+ if (process.env.AGENTUITY_TRANSPORT_URL) {
136
+ overrides.transport_url = process.env.AGENTUITY_TRANSPORT_URL;
137
+ }
138
+ if (process.env.AGENTUITY_KEYVALUE_URL) {
139
+ overrides.kv_url = process.env.AGENTUITY_KEYVALUE_URL;
140
+ }
141
+ if (process.env.AGENTUITY_OBJECTSTORE_URL) {
142
+ overrides.object_url = process.env.AGENTUITY_OBJECTSTORE_URL;
143
+ }
144
+ if (process.env.AGENTUITY_VECTOR_URL) {
145
+ overrides.vector_url = process.env.AGENTUITY_VECTOR_URL;
146
+ }
147
+ if (process.env.AGENTUITY_STREAM_URL) {
148
+ overrides.stream_url = process.env.AGENTUITY_STREAM_URL;
149
+ }
150
+ result.data.overrides = overrides;
151
+ }
152
+ cachedConfig = result.data;
153
+ return result.data;
154
+ }
155
+ catch (error) {
156
+ if (error instanceof Error) {
157
+ console.error(`Error loading config from ${configPath}:`, error.message);
158
+ }
159
+ cachedConfig = null;
160
+ return null;
161
+ }
162
+ }
163
+ function formatYAML(obj, indent = 0) {
164
+ const spaces = ' '.repeat(indent);
165
+ const lines = [];
166
+ if (typeof obj !== 'object' || obj === null) {
167
+ return String(obj);
168
+ }
169
+ for (const [key, value] of Object.entries(obj)) {
170
+ if (value === null || value === undefined) {
171
+ continue;
172
+ }
173
+ if (typeof value === 'object' && !Array.isArray(value)) {
174
+ lines.push(`${spaces}${key}:`);
175
+ lines.push(formatYAML(value, indent + 1));
176
+ }
177
+ else if (Array.isArray(value)) {
178
+ lines.push(`${spaces}${key}:`);
179
+ for (const item of value) {
180
+ if (typeof item === 'object') {
181
+ lines.push(`${spaces} -`);
182
+ lines.push(formatYAML(item, indent + 2));
183
+ }
184
+ else {
185
+ lines.push(`${spaces} - ${item}`);
186
+ }
187
+ }
188
+ }
189
+ else if (typeof value === 'string') {
190
+ if (value === '') {
191
+ lines.push(`${spaces}${key}: ""`);
192
+ }
193
+ else if (value.includes(':') || value.includes('#') || value.includes(' ')) {
194
+ lines.push(`${spaces}${key}: "${value}"`);
195
+ }
196
+ else {
197
+ lines.push(`${spaces}${key}: ${value}`);
198
+ }
199
+ }
200
+ else {
201
+ lines.push(`${spaces}${key}: ${value}`);
202
+ }
203
+ }
204
+ return lines.join('\n');
205
+ }
206
+ export async function saveConfig(config, customPath) {
207
+ const configPath = customPath || (await getProfile());
208
+ await ensureConfigDir();
209
+ const content = formatYAML(config);
210
+ await writeFile(configPath, content + '\n', { mode: 0o600 });
211
+ // Ensure existing files get correct permissions on upgrade
212
+ await chmod(configPath, 0o600);
213
+ cachedConfig = config;
214
+ }
215
+ async function getOrInitConfig() {
216
+ const config = await loadConfig();
217
+ if (config) {
218
+ return config;
219
+ }
220
+ const profilePath = await getProfile();
221
+ const name = basename(profilePath, '.yaml');
222
+ return { name };
223
+ }
224
+ export async function saveAuth(auth) {
225
+ const config = await getOrInitConfig();
226
+ config.auth = {
227
+ api_key: auth.apiKey,
228
+ user_id: auth.userId,
229
+ expires: auth.expires.getTime(),
230
+ };
231
+ config.preferences = config.preferences || {};
232
+ config.preferences.orgId = '';
233
+ await saveConfig(config);
234
+ }
235
+ export async function clearAuth() {
236
+ const config = await getOrInitConfig();
237
+ config.auth = {
238
+ api_key: '',
239
+ user_id: '',
240
+ expires: Date.now(),
241
+ };
242
+ config.preferences = config.preferences || {};
243
+ config.preferences.orgId = '';
244
+ await saveConfig(config);
245
+ }
246
+ export async function saveProjectDir(projectDir) {
247
+ const config = await getOrInitConfig();
248
+ config.preferences = config.preferences || {};
249
+ const normalized = resolve(normalize(projectDir));
250
+ config.preferences.project_dir = normalized;
251
+ await saveConfig(config);
252
+ }
253
+ export async function saveOrgId(orgId) {
254
+ const config = await getOrInitConfig();
255
+ config.preferences = config.preferences || {};
256
+ config.preferences.orgId = orgId;
257
+ await saveConfig(config);
258
+ }
259
+ export async function getAuth() {
260
+ // allow automated login from environment variables if present
261
+ if (process.env.AGENTUITY_CLI_API_KEY && process.env.AGENTUITY_USER_ID) {
262
+ return {
263
+ apiKey: process.env.AGENTUITY_CLI_API_KEY,
264
+ userId: process.env.AGENTUITY_USER_ID,
265
+ expires: new Date(Date.now() + 30 * 60_000),
266
+ };
267
+ }
268
+ const config = await loadConfig();
269
+ if (!config)
270
+ return null;
271
+ const auth = config.auth;
272
+ if (!auth || !auth.api_key || !auth.user_id) {
273
+ return null;
274
+ }
275
+ return {
276
+ apiKey: auth.api_key,
277
+ userId: auth.user_id,
278
+ expires: new Date(auth.expires || 0),
279
+ };
280
+ }
281
+ function getSchemaDescription(schema) {
282
+ return schema.description;
283
+ }
284
+ function getPlaceholderValue(schema) {
285
+ // Unwrap optional to get to the inner type
286
+ let unwrapped = schema;
287
+ if (schema instanceof z.ZodOptional) {
288
+ unwrapped = schema._def.innerType;
289
+ }
290
+ // Check the type using constructor name
291
+ const typeName = unwrapped.constructor.name;
292
+ switch (typeName) {
293
+ case 'ZodString':
294
+ return '""';
295
+ case 'ZodNumber':
296
+ return '0';
297
+ case 'ZodBoolean':
298
+ return 'false';
299
+ default:
300
+ return '""';
301
+ }
302
+ }
303
+ function extractDefaultValue(schema) {
304
+ let unwrapped = schema;
305
+ // Unwrap optional layers
306
+ while (unwrapped instanceof z.ZodOptional) {
307
+ unwrapped = unwrapped._def.innerType;
308
+ }
309
+ // Check if it's a ZodDefault (has defaultValue in def or _def)
310
+ const checkDef = (obj) => {
311
+ if (typeof obj !== 'object' || obj === null)
312
+ return undefined;
313
+ const anyObj = obj;
314
+ // Check `def` property first (used in some Zod versions)
315
+ if ('def' in anyObj && typeof anyObj.def === 'object' && anyObj.def !== null) {
316
+ const def = anyObj.def;
317
+ if (def.type === 'default' && 'defaultValue' in def) {
318
+ const val = def.defaultValue;
319
+ return typeof val === 'function' ? val() : val;
320
+ }
321
+ }
322
+ // Check `_def` property (standard Zod property)
323
+ if ('_def' in anyObj && typeof anyObj._def === 'object' && anyObj._def !== null) {
324
+ const def = anyObj._def;
325
+ if (def.type === 'default' && 'defaultValue' in def) {
326
+ const val = def.defaultValue;
327
+ return typeof val === 'function' ? val() : val;
328
+ }
329
+ }
330
+ return undefined;
331
+ };
332
+ return checkDef(unwrapped);
333
+ }
334
+ function getValueWithDefaults(schema, providedValue) {
335
+ // If value is explicitly provided, use it
336
+ if (providedValue !== undefined) {
337
+ return providedValue;
338
+ }
339
+ // Try to extract default value
340
+ const defaultValue = extractDefaultValue(schema);
341
+ if (defaultValue !== undefined) {
342
+ return defaultValue;
343
+ }
344
+ // For optional fields without defaults, check if it's an object
345
+ let unwrapped = schema;
346
+ if (schema instanceof z.ZodOptional) {
347
+ unwrapped = schema._def.innerType;
348
+ }
349
+ // If it's an object schema, recursively populate defaults
350
+ if (unwrapped instanceof z.ZodObject) {
351
+ const shape = unwrapped.shape;
352
+ const result = {};
353
+ let hasAnyDefaults = false;
354
+ for (const [key, fieldSchema] of Object.entries(shape)) {
355
+ const fieldValue = getValueWithDefaults(fieldSchema, undefined);
356
+ if (fieldValue !== undefined) {
357
+ result[key] = fieldValue;
358
+ hasAnyDefaults = true;
359
+ }
360
+ }
361
+ return hasAnyDefaults ? result : undefined;
362
+ }
363
+ return undefined;
364
+ }
365
+ export function generateYAMLTemplate(name) {
366
+ const lines = [];
367
+ // Add name (required)
368
+ lines.push(`name: "${name}"`);
369
+ lines.push('');
370
+ // Get schema shape
371
+ const shape = ConfigSchema.shape;
372
+ // Only include user-configurable sections
373
+ // Skip: auth (managed by login), devmode (internal), preferences (managed by CLI)
374
+ const userConfigurableSections = ['overrides'];
375
+ // Process each top-level field
376
+ for (const [key, value] of Object.entries(shape)) {
377
+ if (key === 'name')
378
+ continue;
379
+ if (!userConfigurableSections.includes(key))
380
+ continue;
381
+ const schema = value;
382
+ // Unwrap optional to get to the inner schema
383
+ let innerSchema = schema;
384
+ if (schema instanceof z.ZodOptional) {
385
+ innerSchema = schema._def.innerType;
386
+ }
387
+ const description = getSchemaDescription(schema);
388
+ // Add section comment
389
+ if (description) {
390
+ lines.push(`# ${description}`);
391
+ }
392
+ // For object schemas, expand their properties
393
+ if (innerSchema instanceof z.ZodObject) {
394
+ const innerShape = innerSchema.shape;
395
+ lines.push(`# ${key}:`);
396
+ for (const [subKey, subValue] of Object.entries(innerShape)) {
397
+ const subSchema = subValue;
398
+ const subDesc = getSchemaDescription(subSchema);
399
+ const placeholder = getPlaceholderValue(subSchema);
400
+ if (subDesc) {
401
+ lines.push(`# ${subKey}: ${placeholder} # ${subDesc}`);
402
+ }
403
+ else {
404
+ lines.push(`# ${subKey}: ${placeholder}`);
405
+ }
406
+ }
407
+ }
408
+ else {
409
+ const placeholder = getPlaceholderValue(schema);
410
+ lines.push(`# ${key}: ${placeholder}`);
411
+ }
412
+ lines.push('');
413
+ }
414
+ return lines.join('\n');
415
+ }
416
+ class ProjectConfigNotFoundExpection extends Error {
417
+ name;
418
+ constructor() {
419
+ super('project not found');
420
+ this.name = 'ProjectConfigNotFoundExpection';
421
+ }
422
+ }
423
+ function generateJSON5WithComments(schema, data) {
424
+ const lines = ['{'];
425
+ const shape = schema.shape;
426
+ const keys = Object.keys(shape);
427
+ for (let i = 0; i < keys.length; i++) {
428
+ const key = keys[i];
429
+ const fieldSchema = shape[key];
430
+ const description = getSchemaDescription(fieldSchema);
431
+ const providedValue = data[key];
432
+ if (description) {
433
+ lines.push(` // ${description}`);
434
+ }
435
+ // Get value with defaults applied
436
+ const valueWithDefaults = getValueWithDefaults(fieldSchema, providedValue);
437
+ const safeValue = valueWithDefaults === undefined ? null : valueWithDefaults;
438
+ const jsonValue = JSON.stringify(safeValue, null, 2).replace(/\n/g, '\n ');
439
+ const comma = i < keys.length - 1 ? ',' : '';
440
+ lines.push(` ${JSON.stringify(key)}: ${jsonValue}${comma}`);
441
+ }
442
+ lines.push('}');
443
+ return lines.join('\n');
444
+ }
445
+ export async function loadProjectConfig(dir, config) {
446
+ let configPath = join(dir, 'agentuity.json');
447
+ // Check for profile-specific override if config is provided
448
+ if (config?.name) {
449
+ const profileConfigPath = join(dir, `agentuity.${config.name}.json`);
450
+ if (await Bun.file(profileConfigPath).exists()) {
451
+ configPath = profileConfigPath;
452
+ }
453
+ }
454
+ const file = Bun.file(configPath);
455
+ if (!(await file.exists())) {
456
+ // TODO: check to see if a valid project that was created unauthenticated
457
+ // and then if so:
458
+ // 1. if authentication, offer to import the project
459
+ // 2. tell them that they need to login to use the command and import the project
460
+ throw new ProjectConfigNotFoundExpection();
461
+ }
462
+ const text = await file.text();
463
+ const parsedConfig = JSON5.parse(text);
464
+ const result = ProjectSchema.safeParse(parsedConfig);
465
+ if (!result.success) {
466
+ tui.error(`Invalid project config at ${configPath}:`);
467
+ for (const issue of result.error.issues) {
468
+ const path = issue.path.length > 0 ? issue.path.join('.') : 'root';
469
+ tui.bullet(`${path}: ${issue.message}`);
470
+ }
471
+ process.exit(1);
472
+ }
473
+ return result.data;
474
+ }
475
+ export async function createProjectConfig(dir, config) {
476
+ const { sdkKey, ...sanitizedConfig } = config;
477
+ const configPath = join(dir, 'agentuity.json');
478
+ const json5Content = generateJSON5WithComments(ProjectSchema, sanitizedConfig);
479
+ await Bun.write(configPath, json5Content + '\n');
480
+ const envPath = join(dir, '.env');
481
+ const comment = '# AGENTUITY_SDK_KEY is a sensitive value and should not be committed to version control.';
482
+ const content = `${comment}\nAGENTUITY_SDK_KEY=${sdkKey}\n`;
483
+ await Bun.write(envPath, content);
484
+ await chmod(envPath, 0o600);
485
+ }
486
+ export async function loadBuildMetadata(dir) {
487
+ const filename = join(dir, 'agentuity.metadata.json');
488
+ const file = Bun.file(filename);
489
+ if (!(await file.exists())) {
490
+ throw new Error(`couldn't find ${filename}`);
491
+ }
492
+ const buffer = await file.text();
493
+ const config = JSON.parse(buffer);
494
+ const result = BuildMetadataSchema.safeParse(config);
495
+ if (!result.success) {
496
+ tui.error(`Invalid build metadata at ${filename}:`);
497
+ for (const issue of result.error.issues) {
498
+ const path = issue.path.length > 0 ? issue.path.join('.') : 'root';
499
+ tui.bullet(`${path}: ${issue.message}`);
500
+ }
501
+ process.exit(1);
502
+ }
503
+ return result.data;
504
+ }
505
+ export async function loadProjectSDKKey(projectDir) {
506
+ const files = process.env.NODE_ENV === 'production'
507
+ ? ['.env', '.env.production']
508
+ : ['.env.development', '.env.local', '.env'];
509
+ const c = await getOrInitConfig();
510
+ if (c) {
511
+ files.unshift(`.env.${c.name}`);
512
+ }
513
+ for (const filename of files) {
514
+ const fn = join(projectDir, filename);
515
+ if (existsSync(fn)) {
516
+ const buf = await Bun.file(fn).text();
517
+ const tok = buf.split(/\n/);
518
+ for (const t of tok) {
519
+ if (t.charAt(0) !== '#' && t.startsWith('AGENTUITY_SDK_KEY=')) {
520
+ const i = t.indexOf('=');
521
+ return t.substring(i + 1).trim();
522
+ }
523
+ }
524
+ }
525
+ }
526
+ }
527
+ export function getCatalystAPIClient(config, logger, auth) {
528
+ const serviceUrls = getServiceUrls();
529
+ const catalystUrl = config?.overrides?.catalyst_url ?? serviceUrls.catalyst;
530
+ return new ServerAPIClient(catalystUrl, logger, auth.apiKey);
531
+ }
532
+ export function getIONHost(config) {
533
+ const url = new URL(config?.overrides?.ion_url ?? 'https://ion.agentuity.cloud');
534
+ return url.hostname;
535
+ }
536
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}