@agentuity/cli 0.0.49 → 0.0.51

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 (319) hide show
  1. package/AGENTS.md +17 -4
  2. package/README.md +26 -8
  3. package/dist/cli.d.ts.map +1 -1
  4. package/dist/cmd/{capabilities → ai/capabilities}/index.d.ts +1 -1
  5. package/dist/cmd/ai/capabilities/index.d.ts.map +1 -0
  6. package/dist/cmd/{capabilities → ai/capabilities}/show.d.ts +1 -1
  7. package/dist/cmd/ai/capabilities/show.d.ts.map +1 -0
  8. package/dist/cmd/ai/index.d.ts.map +1 -0
  9. package/dist/cmd/ai/prompt/index.d.ts +4 -0
  10. package/dist/cmd/ai/prompt/index.d.ts.map +1 -0
  11. package/dist/cmd/ai/prompt/llm.d.ts +3 -0
  12. package/dist/cmd/ai/prompt/llm.d.ts.map +1 -0
  13. package/dist/cmd/ai/schema/index.d.ts +4 -0
  14. package/dist/cmd/ai/schema/index.d.ts.map +1 -0
  15. package/dist/cmd/ai/schema/show.d.ts +3 -0
  16. package/dist/cmd/ai/schema/show.d.ts.map +1 -0
  17. package/dist/cmd/auth/ssh/list.d.ts.map +1 -1
  18. package/dist/cmd/{bundle → build}/ast.d.ts +3 -1
  19. package/dist/cmd/build/ast.d.ts.map +1 -0
  20. package/dist/cmd/{bundle → build}/ast.test.d.ts.map +1 -1
  21. package/dist/cmd/build/bundler.d.ts.map +1 -0
  22. package/dist/cmd/build/file.d.ts.map +1 -0
  23. package/dist/cmd/build/fix-duplicate-exports.d.ts.map +1 -0
  24. package/dist/cmd/build/fix-duplicate-exports.test.d.ts.map +1 -0
  25. package/dist/cmd/build/index.d.ts.map +1 -0
  26. package/dist/cmd/build/patch/_util.d.ts.map +1 -0
  27. package/dist/cmd/build/patch/aisdk.d.ts.map +1 -0
  28. package/dist/cmd/build/patch/index.d.ts.map +1 -0
  29. package/dist/cmd/build/patch/llm.d.ts.map +1 -0
  30. package/dist/cmd/build/plugin.d.ts.map +1 -0
  31. package/dist/cmd/cloud/agents/index.d.ts +3 -0
  32. package/dist/cmd/cloud/agents/index.d.ts.map +1 -0
  33. package/dist/cmd/cloud/deployment/list.d.ts.map +1 -1
  34. package/dist/cmd/cloud/env/delete.d.ts +2 -0
  35. package/dist/cmd/cloud/env/delete.d.ts.map +1 -0
  36. package/dist/cmd/cloud/env/get.d.ts +2 -0
  37. package/dist/cmd/cloud/env/get.d.ts.map +1 -0
  38. package/dist/cmd/cloud/env/import.d.ts +2 -0
  39. package/dist/cmd/cloud/env/import.d.ts.map +1 -0
  40. package/dist/cmd/cloud/env/index.d.ts +3 -0
  41. package/dist/cmd/cloud/env/index.d.ts.map +1 -0
  42. package/dist/cmd/cloud/env/list.d.ts +2 -0
  43. package/dist/cmd/cloud/env/list.d.ts.map +1 -0
  44. package/dist/cmd/cloud/env/pull.d.ts +2 -0
  45. package/dist/cmd/cloud/env/pull.d.ts.map +1 -0
  46. package/dist/cmd/cloud/env/push.d.ts +2 -0
  47. package/dist/cmd/cloud/env/push.d.ts.map +1 -0
  48. package/dist/cmd/cloud/env/set.d.ts +2 -0
  49. package/dist/cmd/cloud/env/set.d.ts.map +1 -0
  50. package/dist/cmd/cloud/index.d.ts.map +1 -1
  51. package/dist/cmd/cloud/keyvalue/create-namespace.d.ts +3 -0
  52. package/dist/cmd/cloud/keyvalue/create-namespace.d.ts.map +1 -0
  53. package/dist/cmd/cloud/keyvalue/delete-namespace.d.ts +3 -0
  54. package/dist/cmd/cloud/keyvalue/delete-namespace.d.ts.map +1 -0
  55. package/dist/cmd/cloud/keyvalue/delete.d.ts +3 -0
  56. package/dist/cmd/cloud/keyvalue/delete.d.ts.map +1 -0
  57. package/dist/cmd/cloud/keyvalue/get.d.ts +3 -0
  58. package/dist/cmd/cloud/keyvalue/get.d.ts.map +1 -0
  59. package/dist/cmd/cloud/keyvalue/index.d.ts +3 -0
  60. package/dist/cmd/cloud/keyvalue/index.d.ts.map +1 -0
  61. package/dist/cmd/cloud/keyvalue/keys.d.ts +3 -0
  62. package/dist/cmd/cloud/keyvalue/keys.d.ts.map +1 -0
  63. package/dist/cmd/cloud/keyvalue/list-namespaces.d.ts +3 -0
  64. package/dist/cmd/cloud/keyvalue/list-namespaces.d.ts.map +1 -0
  65. package/dist/cmd/cloud/keyvalue/repl.d.ts +3 -0
  66. package/dist/cmd/cloud/keyvalue/repl.d.ts.map +1 -0
  67. package/dist/cmd/cloud/keyvalue/search.d.ts +3 -0
  68. package/dist/cmd/cloud/keyvalue/search.d.ts.map +1 -0
  69. package/dist/cmd/cloud/keyvalue/set.d.ts +3 -0
  70. package/dist/cmd/cloud/keyvalue/set.d.ts.map +1 -0
  71. package/dist/cmd/cloud/keyvalue/stats.d.ts +3 -0
  72. package/dist/cmd/cloud/keyvalue/stats.d.ts.map +1 -0
  73. package/dist/cmd/{kv → cloud/keyvalue}/util.d.ts +1 -1
  74. package/dist/cmd/cloud/keyvalue/util.d.ts.map +1 -0
  75. package/dist/cmd/cloud/objectstore/delete-bucket.d.ts +3 -0
  76. package/dist/cmd/cloud/objectstore/delete-bucket.d.ts.map +1 -0
  77. package/dist/cmd/cloud/objectstore/delete.d.ts +3 -0
  78. package/dist/cmd/cloud/objectstore/delete.d.ts.map +1 -0
  79. package/dist/cmd/cloud/objectstore/get.d.ts +3 -0
  80. package/dist/cmd/cloud/objectstore/get.d.ts.map +1 -0
  81. package/dist/cmd/cloud/objectstore/index.d.ts +3 -0
  82. package/dist/cmd/cloud/objectstore/index.d.ts.map +1 -0
  83. package/dist/cmd/cloud/objectstore/list-buckets.d.ts +3 -0
  84. package/dist/cmd/cloud/objectstore/list-buckets.d.ts.map +1 -0
  85. package/dist/cmd/cloud/objectstore/list-keys.d.ts +3 -0
  86. package/dist/cmd/cloud/objectstore/list-keys.d.ts.map +1 -0
  87. package/dist/cmd/cloud/objectstore/put.d.ts +3 -0
  88. package/dist/cmd/cloud/objectstore/put.d.ts.map +1 -0
  89. package/dist/cmd/cloud/objectstore/repl.d.ts +3 -0
  90. package/dist/cmd/cloud/objectstore/repl.d.ts.map +1 -0
  91. package/dist/cmd/cloud/objectstore/url.d.ts +3 -0
  92. package/dist/cmd/cloud/objectstore/url.d.ts.map +1 -0
  93. package/dist/cmd/{objectstore → cloud/objectstore}/util.d.ts +1 -1
  94. package/dist/cmd/cloud/objectstore/util.d.ts.map +1 -0
  95. package/dist/cmd/cloud/secret/delete.d.ts +2 -0
  96. package/dist/cmd/cloud/secret/delete.d.ts.map +1 -0
  97. package/dist/cmd/cloud/secret/get.d.ts +2 -0
  98. package/dist/cmd/cloud/secret/get.d.ts.map +1 -0
  99. package/dist/cmd/cloud/secret/import.d.ts +2 -0
  100. package/dist/cmd/cloud/secret/import.d.ts.map +1 -0
  101. package/dist/cmd/cloud/secret/index.d.ts +3 -0
  102. package/dist/cmd/cloud/secret/index.d.ts.map +1 -0
  103. package/dist/cmd/cloud/secret/list.d.ts +2 -0
  104. package/dist/cmd/cloud/secret/list.d.ts.map +1 -0
  105. package/dist/cmd/cloud/secret/pull.d.ts +2 -0
  106. package/dist/cmd/cloud/secret/pull.d.ts.map +1 -0
  107. package/dist/cmd/cloud/secret/push.d.ts +2 -0
  108. package/dist/cmd/cloud/secret/push.d.ts.map +1 -0
  109. package/dist/cmd/cloud/secret/set.d.ts +2 -0
  110. package/dist/cmd/cloud/secret/set.d.ts.map +1 -0
  111. package/dist/cmd/cloud/session/get.d.ts +2 -0
  112. package/dist/cmd/cloud/session/get.d.ts.map +1 -0
  113. package/dist/cmd/cloud/session/index.d.ts +2 -0
  114. package/dist/cmd/cloud/session/index.d.ts.map +1 -0
  115. package/dist/cmd/cloud/session/list.d.ts +2 -0
  116. package/dist/cmd/cloud/session/list.d.ts.map +1 -0
  117. package/dist/cmd/cloud/session/logs.d.ts +2 -0
  118. package/dist/cmd/cloud/session/logs.d.ts.map +1 -0
  119. package/dist/cmd/dev/agents.d.ts +2 -0
  120. package/dist/cmd/dev/agents.d.ts.map +1 -0
  121. package/dist/cmd/dev/index.d.ts.map +1 -1
  122. package/dist/cmd/dev/sync.d.ts +12 -0
  123. package/dist/cmd/dev/sync.d.ts.map +1 -0
  124. package/dist/cmd/profile/index.d.ts.map +1 -1
  125. package/dist/repl.d.ts +2 -6
  126. package/dist/repl.d.ts.map +1 -1
  127. package/dist/tui.d.ts +24 -0
  128. package/dist/tui.d.ts.map +1 -1
  129. package/dist/types.d.ts +12 -0
  130. package/dist/types.d.ts.map +1 -1
  131. package/dist/utils/format.d.ts +9 -0
  132. package/dist/utils/format.d.ts.map +1 -0
  133. package/package.json +6 -3
  134. package/src/cli.ts +13 -6
  135. package/src/cmd/{capabilities → ai/capabilities}/index.ts +2 -2
  136. package/src/cmd/{capabilities → ai/capabilities}/show.ts +6 -6
  137. package/src/cmd/ai/index.ts +11 -0
  138. package/src/cmd/{prompt → ai/prompt}/index.ts +2 -2
  139. package/src/cmd/{prompt → ai/prompt}/llm.ts +6 -6
  140. package/src/cmd/{schema → ai/schema}/index.ts +2 -2
  141. package/src/cmd/{schema → ai/schema}/show.ts +3 -3
  142. package/src/cmd/auth/ssh/list.ts +10 -16
  143. package/src/cmd/{bundle → build}/ast.test.ts +2 -2
  144. package/src/cmd/{bundle → build}/ast.ts +85 -17
  145. package/src/cmd/build/index.ts +89 -0
  146. package/src/cmd/{bundle → build}/plugin.ts +24 -2
  147. package/src/cmd/cloud/agents/index.ts +148 -0
  148. package/src/cmd/cloud/deploy.ts +1 -1
  149. package/src/cmd/cloud/deployment/list.ts +16 -22
  150. package/src/cmd/{env → cloud/env}/delete.ts +4 -4
  151. package/src/cmd/{env → cloud/env}/get.ts +5 -5
  152. package/src/cmd/{env → cloud/env}/import.ts +4 -4
  153. package/src/cmd/{env → cloud/env}/index.ts +2 -1
  154. package/src/cmd/{env → cloud/env}/list.ts +4 -4
  155. package/src/cmd/{env → cloud/env}/pull.ts +4 -4
  156. package/src/cmd/{env → cloud/env}/push.ts +4 -4
  157. package/src/cmd/{env → cloud/env}/set.ts +4 -4
  158. package/src/cmd/cloud/index.ts +12 -0
  159. package/src/cmd/{kv → cloud/keyvalue}/create-namespace.ts +3 -3
  160. package/src/cmd/{kv → cloud/keyvalue}/delete-namespace.ts +4 -4
  161. package/src/cmd/{kv → cloud/keyvalue}/delete.ts +3 -3
  162. package/src/cmd/{kv → cloud/keyvalue}/get.ts +4 -4
  163. package/src/cmd/{kv → cloud/keyvalue}/index.ts +2 -1
  164. package/src/cmd/{kv → cloud/keyvalue}/keys.ts +3 -3
  165. package/src/cmd/{kv → cloud/keyvalue}/list-namespaces.ts +3 -3
  166. package/src/cmd/{kv → cloud/keyvalue}/repl.ts +6 -6
  167. package/src/cmd/{kv → cloud/keyvalue}/search.ts +3 -3
  168. package/src/cmd/{kv → cloud/keyvalue}/set.ts +4 -4
  169. package/src/cmd/{kv → cloud/keyvalue}/stats.ts +3 -3
  170. package/src/cmd/{kv → cloud/keyvalue}/util.ts +4 -4
  171. package/src/cmd/{objectstore → cloud/objectstore}/delete-bucket.ts +3 -3
  172. package/src/cmd/{objectstore → cloud/objectstore}/delete.ts +3 -3
  173. package/src/cmd/{objectstore → cloud/objectstore}/get.ts +4 -4
  174. package/src/cmd/{objectstore → cloud/objectstore}/index.ts +2 -1
  175. package/src/cmd/{objectstore → cloud/objectstore}/list-buckets.ts +3 -3
  176. package/src/cmd/{objectstore → cloud/objectstore}/list-keys.ts +3 -3
  177. package/src/cmd/{objectstore → cloud/objectstore}/put.ts +4 -4
  178. package/src/cmd/{objectstore → cloud/objectstore}/repl.ts +6 -6
  179. package/src/cmd/{objectstore → cloud/objectstore}/url.ts +3 -3
  180. package/src/cmd/{objectstore → cloud/objectstore}/util.ts +3 -3
  181. package/src/cmd/{secret → cloud/secret}/delete.ts +4 -4
  182. package/src/cmd/{secret → cloud/secret}/get.ts +5 -5
  183. package/src/cmd/{secret → cloud/secret}/import.ts +4 -4
  184. package/src/cmd/{secret → cloud/secret}/index.ts +2 -1
  185. package/src/cmd/{secret → cloud/secret}/list.ts +4 -4
  186. package/src/cmd/{secret → cloud/secret}/pull.ts +4 -4
  187. package/src/cmd/{secret → cloud/secret}/push.ts +4 -4
  188. package/src/cmd/{secret → cloud/secret}/set.ts +4 -4
  189. package/src/cmd/cloud/session/get.ts +164 -0
  190. package/src/cmd/cloud/session/index.ts +11 -0
  191. package/src/cmd/cloud/session/list.ts +145 -0
  192. package/src/cmd/cloud/session/logs.ts +68 -0
  193. package/src/cmd/dev/agents.ts +122 -0
  194. package/src/cmd/dev/index.ts +103 -9
  195. package/src/cmd/dev/sync.ts +414 -0
  196. package/src/cmd/profile/index.ts +1 -0
  197. package/src/cmd/project/create.ts +1 -1
  198. package/src/cmd/project/index.ts +1 -1
  199. package/src/cmd/project/list.ts +1 -1
  200. package/src/cmd/project/show.ts +1 -1
  201. package/src/repl.ts +2 -12
  202. package/src/tui.ts +94 -0
  203. package/src/types.ts +13 -10
  204. package/src/utils/format.ts +17 -0
  205. package/dist/cmd/bundle/ast.d.ts.map +0 -1
  206. package/dist/cmd/bundle/bundler.d.ts.map +0 -1
  207. package/dist/cmd/bundle/file.d.ts.map +0 -1
  208. package/dist/cmd/bundle/fix-duplicate-exports.d.ts.map +0 -1
  209. package/dist/cmd/bundle/fix-duplicate-exports.test.d.ts.map +0 -1
  210. package/dist/cmd/bundle/index.d.ts.map +0 -1
  211. package/dist/cmd/bundle/patch/_util.d.ts.map +0 -1
  212. package/dist/cmd/bundle/patch/aisdk.d.ts.map +0 -1
  213. package/dist/cmd/bundle/patch/index.d.ts.map +0 -1
  214. package/dist/cmd/bundle/patch/llm.d.ts.map +0 -1
  215. package/dist/cmd/bundle/plugin.d.ts.map +0 -1
  216. package/dist/cmd/capabilities/index.d.ts.map +0 -1
  217. package/dist/cmd/capabilities/show.d.ts.map +0 -1
  218. package/dist/cmd/env/delete.d.ts +0 -2
  219. package/dist/cmd/env/delete.d.ts.map +0 -1
  220. package/dist/cmd/env/get.d.ts +0 -2
  221. package/dist/cmd/env/get.d.ts.map +0 -1
  222. package/dist/cmd/env/import.d.ts +0 -2
  223. package/dist/cmd/env/import.d.ts.map +0 -1
  224. package/dist/cmd/env/index.d.ts.map +0 -1
  225. package/dist/cmd/env/list.d.ts +0 -2
  226. package/dist/cmd/env/list.d.ts.map +0 -1
  227. package/dist/cmd/env/pull.d.ts +0 -2
  228. package/dist/cmd/env/pull.d.ts.map +0 -1
  229. package/dist/cmd/env/push.d.ts +0 -2
  230. package/dist/cmd/env/push.d.ts.map +0 -1
  231. package/dist/cmd/env/set.d.ts +0 -2
  232. package/dist/cmd/env/set.d.ts.map +0 -1
  233. package/dist/cmd/kv/create-namespace.d.ts +0 -3
  234. package/dist/cmd/kv/create-namespace.d.ts.map +0 -1
  235. package/dist/cmd/kv/delete-namespace.d.ts +0 -3
  236. package/dist/cmd/kv/delete-namespace.d.ts.map +0 -1
  237. package/dist/cmd/kv/delete.d.ts +0 -3
  238. package/dist/cmd/kv/delete.d.ts.map +0 -1
  239. package/dist/cmd/kv/get.d.ts +0 -3
  240. package/dist/cmd/kv/get.d.ts.map +0 -1
  241. package/dist/cmd/kv/index.d.ts +0 -2
  242. package/dist/cmd/kv/index.d.ts.map +0 -1
  243. package/dist/cmd/kv/keys.d.ts +0 -3
  244. package/dist/cmd/kv/keys.d.ts.map +0 -1
  245. package/dist/cmd/kv/list-namespaces.d.ts +0 -3
  246. package/dist/cmd/kv/list-namespaces.d.ts.map +0 -1
  247. package/dist/cmd/kv/repl.d.ts +0 -3
  248. package/dist/cmd/kv/repl.d.ts.map +0 -1
  249. package/dist/cmd/kv/search.d.ts +0 -3
  250. package/dist/cmd/kv/search.d.ts.map +0 -1
  251. package/dist/cmd/kv/set.d.ts +0 -3
  252. package/dist/cmd/kv/set.d.ts.map +0 -1
  253. package/dist/cmd/kv/stats.d.ts +0 -3
  254. package/dist/cmd/kv/stats.d.ts.map +0 -1
  255. package/dist/cmd/kv/util.d.ts.map +0 -1
  256. package/dist/cmd/objectstore/delete-bucket.d.ts +0 -3
  257. package/dist/cmd/objectstore/delete-bucket.d.ts.map +0 -1
  258. package/dist/cmd/objectstore/delete.d.ts +0 -3
  259. package/dist/cmd/objectstore/delete.d.ts.map +0 -1
  260. package/dist/cmd/objectstore/get.d.ts +0 -3
  261. package/dist/cmd/objectstore/get.d.ts.map +0 -1
  262. package/dist/cmd/objectstore/index.d.ts +0 -2
  263. package/dist/cmd/objectstore/index.d.ts.map +0 -1
  264. package/dist/cmd/objectstore/list-buckets.d.ts +0 -3
  265. package/dist/cmd/objectstore/list-buckets.d.ts.map +0 -1
  266. package/dist/cmd/objectstore/list-keys.d.ts +0 -3
  267. package/dist/cmd/objectstore/list-keys.d.ts.map +0 -1
  268. package/dist/cmd/objectstore/put.d.ts +0 -3
  269. package/dist/cmd/objectstore/put.d.ts.map +0 -1
  270. package/dist/cmd/objectstore/repl.d.ts +0 -3
  271. package/dist/cmd/objectstore/repl.d.ts.map +0 -1
  272. package/dist/cmd/objectstore/url.d.ts +0 -3
  273. package/dist/cmd/objectstore/url.d.ts.map +0 -1
  274. package/dist/cmd/objectstore/util.d.ts.map +0 -1
  275. package/dist/cmd/prompt/index.d.ts +0 -4
  276. package/dist/cmd/prompt/index.d.ts.map +0 -1
  277. package/dist/cmd/prompt/llm.d.ts +0 -3
  278. package/dist/cmd/prompt/llm.d.ts.map +0 -1
  279. package/dist/cmd/schema/index.d.ts +0 -4
  280. package/dist/cmd/schema/index.d.ts.map +0 -1
  281. package/dist/cmd/schema/show.d.ts +0 -3
  282. package/dist/cmd/schema/show.d.ts.map +0 -1
  283. package/dist/cmd/secret/delete.d.ts +0 -2
  284. package/dist/cmd/secret/delete.d.ts.map +0 -1
  285. package/dist/cmd/secret/get.d.ts +0 -2
  286. package/dist/cmd/secret/get.d.ts.map +0 -1
  287. package/dist/cmd/secret/import.d.ts +0 -2
  288. package/dist/cmd/secret/import.d.ts.map +0 -1
  289. package/dist/cmd/secret/index.d.ts +0 -2
  290. package/dist/cmd/secret/index.d.ts.map +0 -1
  291. package/dist/cmd/secret/list.d.ts +0 -2
  292. package/dist/cmd/secret/list.d.ts.map +0 -1
  293. package/dist/cmd/secret/pull.d.ts +0 -2
  294. package/dist/cmd/secret/pull.d.ts.map +0 -1
  295. package/dist/cmd/secret/push.d.ts +0 -2
  296. package/dist/cmd/secret/push.d.ts.map +0 -1
  297. package/dist/cmd/secret/set.d.ts +0 -2
  298. package/dist/cmd/secret/set.d.ts.map +0 -1
  299. package/src/cmd/bundle/index.ts +0 -58
  300. /package/dist/cmd/{bundle → ai}/index.d.ts +0 -0
  301. /package/dist/cmd/{bundle → build}/ast.test.d.ts +0 -0
  302. /package/dist/cmd/{bundle → build}/bundler.d.ts +0 -0
  303. /package/dist/cmd/{bundle → build}/file.d.ts +0 -0
  304. /package/dist/cmd/{bundle → build}/fix-duplicate-exports.d.ts +0 -0
  305. /package/dist/cmd/{bundle → build}/fix-duplicate-exports.test.d.ts +0 -0
  306. /package/dist/cmd/{env → build}/index.d.ts +0 -0
  307. /package/dist/cmd/{bundle → build}/patch/_util.d.ts +0 -0
  308. /package/dist/cmd/{bundle → build}/patch/aisdk.d.ts +0 -0
  309. /package/dist/cmd/{bundle → build}/patch/index.d.ts +0 -0
  310. /package/dist/cmd/{bundle → build}/patch/llm.d.ts +0 -0
  311. /package/dist/cmd/{bundle → build}/plugin.d.ts +0 -0
  312. /package/src/cmd/{bundle → build}/bundler.ts +0 -0
  313. /package/src/cmd/{bundle → build}/file.ts +0 -0
  314. /package/src/cmd/{bundle → build}/fix-duplicate-exports.test.ts +0 -0
  315. /package/src/cmd/{bundle → build}/fix-duplicate-exports.ts +0 -0
  316. /package/src/cmd/{bundle → build}/patch/_util.ts +0 -0
  317. /package/src/cmd/{bundle → build}/patch/aisdk.ts +0 -0
  318. /package/src/cmd/{bundle → build}/patch/index.ts +0 -0
  319. /package/src/cmd/{bundle → build}/patch/llm.ts +0 -0
@@ -116,6 +116,10 @@ function hashSHA1(...val: string[]): string {
116
116
  return hasher.digest().toHex();
117
117
  }
118
118
 
119
+ export function getDevmodeDeploymentId(projectId: string, endpointId: string): string {
120
+ return `devmode_${hashSHA1(projectId, endpointId)}`;
121
+ }
122
+
119
123
  function getAgentId(
120
124
  projectId: string,
121
125
  deploymentId: string,
@@ -151,6 +155,10 @@ function generateStableAgentId(projectId: string, name: string): string {
151
155
  return `agentid_${hashSHA1(projectId, name)}`.substring(0, 64);
152
156
  }
153
157
 
158
+ function generateStableEvalId(projectId: string, agentId: string, name: string): string {
159
+ return `evalid_${hashSHA1(projectId, agentId, name)}`.substring(0, 64);
160
+ }
161
+
154
162
  type AcornParseResultType = ReturnType<typeof acornLoose.parse>;
155
163
 
156
164
  function augmentAgentMetadataNode(
@@ -242,14 +250,29 @@ function setLiteralValue(literal: ASTLiteral, value: string) {
242
250
  }
243
251
 
244
252
  function augmentEvalMetadataNode(
253
+ projectId: string,
254
+ agentId: string,
245
255
  id: string,
246
256
  name: string,
247
257
  rel: string,
248
258
  version: string,
249
- identifier: string,
250
- metadataObj: ASTObjectExpression
259
+ _ast: AcornParseResultType,
260
+ metadataObj: ASTObjectExpression,
261
+ _filename: string
251
262
  ): void {
252
- // Check if id, version, identifier, filename already exist
263
+ const metadata = parseObjectExpressionToMap(metadataObj);
264
+ // Name can come from metadata.name or variable name (already resolved in caller)
265
+ // If metadata doesn't have name, we'll add it from the resolved name
266
+ if (!metadata.has('name')) {
267
+ metadataObj.properties.push(createObjectPropertyNode('name', name));
268
+ }
269
+ const descriptionNode = metadataObj.properties.find((x) => x.key.name === 'description')?.value;
270
+ const description = descriptionNode ? (descriptionNode as ASTLiteral).value : '';
271
+ const effectiveAgentId = agentId || '';
272
+ const _evalId = getEvalId(projectId, effectiveAgentId, rel, name, version); // Deployment-specific ID (not used, kept for potential future use)
273
+ const stableEvalId = generateStableEvalId(projectId, effectiveAgentId, name);
274
+
275
+ // Check if id, version, identifier, filename, evalId already exist
253
276
  const existingKeys = new Set<string>();
254
277
  for (const prop of metadataObj.properties) {
255
278
  if (prop.key.type === 'Identifier') {
@@ -286,12 +309,12 @@ function augmentEvalMetadataNode(
286
309
  }
287
310
 
288
311
  if (!existingKeys.has('identifier')) {
289
- metadataObj.properties.push(createObjectPropertyNode('identifier', identifier));
312
+ metadataObj.properties.push(createObjectPropertyNode('identifier', name));
290
313
  } else {
291
314
  for (const prop of metadataObj.properties) {
292
315
  if (prop.key.type === 'Identifier' && prop.key.name === 'identifier') {
293
316
  if (prop.value.type === 'Literal') {
294
- setLiteralValue(prop.value as ASTLiteral, identifier);
317
+ setLiteralValue(prop.value as ASTLiteral, name);
295
318
  }
296
319
  break;
297
320
  }
@@ -310,6 +333,32 @@ function augmentEvalMetadataNode(
310
333
  }
311
334
  }
312
335
  }
336
+
337
+ if (!existingKeys.has('evalId')) {
338
+ metadataObj.properties.push(createObjectPropertyNode('evalId', stableEvalId));
339
+ } else {
340
+ for (const prop of metadataObj.properties) {
341
+ if (prop.key.type === 'Identifier' && prop.key.name === 'evalId') {
342
+ if (prop.value.type === 'Literal') {
343
+ setLiteralValue(prop.value as ASTLiteral, stableEvalId);
344
+ }
345
+ break;
346
+ }
347
+ }
348
+ }
349
+
350
+ if (!existingKeys.has('description')) {
351
+ metadataObj.properties.push(createObjectPropertyNode('description', description));
352
+ } else {
353
+ for (const prop of metadataObj.properties) {
354
+ if (prop.key.type === 'Identifier' && prop.key.name === 'description') {
355
+ if (prop.value.type === 'Literal') {
356
+ setLiteralValue(prop.value as ASTLiteral, description);
357
+ }
358
+ break;
359
+ }
360
+ }
361
+ }
313
362
  }
314
363
 
315
364
  export function parseEvalMetadata(
@@ -317,7 +366,8 @@ export function parseEvalMetadata(
317
366
  filename: string,
318
367
  contents: string,
319
368
  projectId: string,
320
- deploymentId: string
369
+ deploymentId: string,
370
+ agentId?: string
321
371
  ): [
322
372
  string,
323
373
  Array<{
@@ -326,6 +376,7 @@ export function parseEvalMetadata(
326
376
  version: string;
327
377
  identifier: string;
328
378
  name: string;
379
+ evalId: string;
329
380
  description?: string;
330
381
  }>,
331
382
  ] {
@@ -339,8 +390,6 @@ export function parseEvalMetadata(
339
390
  logger.trace(`Parsing evals from ${filename}`);
340
391
  const ast = acornLoose.parse(contents, { ecmaVersion: 'latest', sourceType: 'module' });
341
392
  const rel = relative(rootDir, filename);
342
- const dir = dirname(filename);
343
- const identifier = basename(dir);
344
393
  const version = hash(contents);
345
394
  const evals: Array<{
346
395
  filename: string;
@@ -348,17 +397,16 @@ export function parseEvalMetadata(
348
397
  version: string;
349
398
  identifier: string;
350
399
  name: string;
400
+ evalId: string;
351
401
  description?: string;
352
402
  }> = [];
353
403
 
354
- // Find all agent.createEval() calls
404
+ // Find all exported agent.createEval() calls
355
405
  for (const body of ast.body) {
356
406
  let variableDeclaration: { declarations: Array<ASTVariableDeclarator> } | undefined;
357
407
 
358
- // Handle both direct VariableDeclaration and ExportNamedDeclaration
359
- if (body.type === 'VariableDeclaration') {
360
- variableDeclaration = body as { declarations: Array<ASTVariableDeclarator> };
361
- } else if (body.type === 'ExportNamedDeclaration') {
408
+ // Only process exported VariableDeclarations
409
+ if (body.type === 'ExportNamedDeclaration') {
362
410
  const exportDecl = body as {
363
411
  declaration?: { type: string; declarations?: Array<ASTVariableDeclarator> };
364
412
  };
@@ -447,14 +495,31 @@ export function parseEvalMetadata(
447
495
  );
448
496
 
449
497
  // Inject metadata into AST if metadata object exists
498
+ let stableEvalId: string;
499
+ const effectiveAgentId = agentId || '';
450
500
  if (metadataObj) {
451
501
  augmentEvalMetadataNode(
502
+ projectId,
503
+ effectiveAgentId,
452
504
  evalId,
453
505
  finalName,
454
506
  rel,
455
507
  version,
456
- identifier,
457
- metadataObj
508
+ ast,
509
+ metadataObj,
510
+ filename
511
+ );
512
+ // Extract evalId from metadata after augmentation
513
+ const metadata = parseObjectExpressionToMap(metadataObj);
514
+ stableEvalId =
515
+ metadata.get('evalId') ||
516
+ generateStableEvalId(projectId, effectiveAgentId, finalName);
517
+ } else {
518
+ // If no metadata object, generate stable evalId
519
+ stableEvalId = generateStableEvalId(
520
+ projectId,
521
+ effectiveAgentId,
522
+ finalName
458
523
  );
459
524
  }
460
525
 
@@ -462,8 +527,9 @@ export function parseEvalMetadata(
462
527
  filename: rel,
463
528
  id: evalId,
464
529
  version,
465
- identifier,
530
+ identifier: finalName,
466
531
  name: finalName,
532
+ evalId: stableEvalId,
467
533
  description: evalDescription,
468
534
  });
469
535
  }
@@ -639,12 +705,14 @@ export async function parseAgentMetadata(
639
705
  const evalsSource = await evalsFile.text();
640
706
  const transpiler = new Bun.Transpiler({ loader: 'ts', target: 'bun' });
641
707
  const evalsContents = transpiler.transformSync(evalsSource);
708
+ const agentId = result[1].get('agentId') || '';
642
709
  const [, evals] = parseEvalMetadata(
643
710
  rootDir,
644
711
  evalsPath,
645
712
  evalsContents,
646
713
  projectId,
647
- deploymentId
714
+ deploymentId,
715
+ agentId
648
716
  );
649
717
  if (evals.length > 0) {
650
718
  logger.trace(`Adding ${evals.length} eval(s) to agent metadata for ${name}`);
@@ -0,0 +1,89 @@
1
+ import { createCommand } from '../../types';
2
+ import { z } from 'zod';
3
+ import { bundle } from './bundler';
4
+ import * as tui from '../../tui';
5
+ import { getCommand } from '../../command-prefix';
6
+
7
+ const BuildResponseSchema = z.object({
8
+ success: z.boolean().describe('Whether the build succeeded'),
9
+ bundlePath: z.string().describe('Path to the build directory'),
10
+ projectName: z.string().describe('Project name'),
11
+ dev: z.boolean().describe('Whether dev mode was enabled'),
12
+ size: z.number().optional().describe('Build size in bytes'),
13
+ });
14
+
15
+ export const command = createCommand({
16
+ name: 'build',
17
+ description: 'Build Agentuity application for deployment',
18
+ tags: ['read-only', 'slow', 'requires-project'],
19
+ aliases: ['bundle'],
20
+ optional: { project: true },
21
+ idempotent: false,
22
+ examples: [getCommand('build'), getCommand('build --dev'), getCommand('bundle')],
23
+ schema: {
24
+ options: z.object({
25
+ dev: z.boolean().optional().describe('Enable development mode'),
26
+ }),
27
+ response: BuildResponseSchema,
28
+ },
29
+
30
+ async handler(ctx) {
31
+ const { opts, projectDir, project } = ctx;
32
+
33
+ try {
34
+ tui.info(`Bundling project at: ${projectDir}`);
35
+
36
+ // Run TypeScript type checking before bundling (skip in dev mode)
37
+ if (!opts.dev) {
38
+ try {
39
+ tui.info('Running type check...');
40
+ const { resolve } = await import('node:path');
41
+ const absoluteProjectDir = resolve(projectDir);
42
+ const result = await Bun.$`bunx tsc --noEmit --skipLibCheck`.cwd(absoluteProjectDir).nothrow();
43
+ if (result.exitCode !== 0) {
44
+ const errorOutput = result.stderr.toString();
45
+ // Filter out errors from node_modules - only show user code errors
46
+ const lines = errorOutput.split('\n');
47
+ const userErrorLines = lines.filter((line) => !line.includes('node_modules/'));
48
+
49
+ if (userErrorLines.length > 0 && userErrorLines.some(line => line.trim())) {
50
+ tui.error('Type check failed:\n');
51
+ console.error(userErrorLines.join('\n'));
52
+ tui.fatal('Fix type errors before building');
53
+ }
54
+ // If only node_modules errors, pass with info
55
+ tui.info('Type check passed (ignoring dependency type errors)');
56
+ } else {
57
+ tui.success('Type check passed');
58
+ }
59
+ } catch (error) {
60
+ // If tsc fails to run, show error and fail
61
+ const errorMsg = error instanceof Error ? error.message : String(error);
62
+ tui.error(`Type check failed to run: ${errorMsg}`);
63
+ tui.fatal('Unable to run TypeScript type checking. Ensure TypeScript is installed.');
64
+ }
65
+ }
66
+
67
+ await bundle({
68
+ rootDir: projectDir,
69
+ dev: opts.dev || false,
70
+ project,
71
+ });
72
+
73
+ tui.success('Bundle complete');
74
+
75
+ return {
76
+ success: true,
77
+ bundlePath: `${projectDir}/.agentuity`,
78
+ projectName: project?.projectId || 'unknown',
79
+ dev: opts.dev || false,
80
+ };
81
+ } catch (error) {
82
+ if (error instanceof Error) {
83
+ tui.fatal(`Bundle failed: ${error.message}`);
84
+ } else {
85
+ tui.fatal('Bundle failed');
86
+ }
87
+ }
88
+ },
89
+ });
@@ -578,6 +578,7 @@ const AgentuityBundler: BunPlugin = {
578
578
  version: v.get('version')!,
579
579
  name: v.get('name')!,
580
580
  description: v.get('description') ?? '<no description provided>',
581
+ projectId,
581
582
  };
582
583
 
583
584
  const evalsStr = v.get('evals');
@@ -586,7 +587,17 @@ const AgentuityBundler: BunPlugin = {
586
587
  `[plugin] Found evals string for agent ${agentData.name}, parsing...`
587
588
  );
588
589
  try {
589
- agentData.evals = JSON.parse(evalsStr);
590
+ const parsedEvals = JSON.parse(evalsStr) as Array<
591
+ Omit<
592
+ NonNullable<BuildMetadata['agents'][number]['evals']>[number],
593
+ 'agentIdentifier' | 'projectId'
594
+ >
595
+ >;
596
+ agentData.evals = parsedEvals.map((evalItem) => ({
597
+ ...evalItem,
598
+ agentIdentifier: agentData.agentId,
599
+ projectId,
600
+ }));
590
601
  logger.trace(
591
602
  `[plugin] Successfully parsed ${agentData.evals?.length ?? 0} eval(s) for agent ${agentData.name}`
592
603
  );
@@ -614,6 +625,7 @@ const AgentuityBundler: BunPlugin = {
614
625
  version: sub.get('version')!,
615
626
  name: sub.get('name')!,
616
627
  description: sub.get('description') ?? '<no description provided>',
628
+ projectId,
617
629
  };
618
630
 
619
631
  // Add evals for subagents if any
@@ -623,7 +635,17 @@ const AgentuityBundler: BunPlugin = {
623
635
  `[plugin] Found evals string for subagent ${subagentData.name}, parsing...`
624
636
  );
625
637
  try {
626
- subagentData.evals = JSON.parse(subEvalsStr);
638
+ const parsedSubEvals = JSON.parse(subEvalsStr) as Array<
639
+ Omit<
640
+ NonNullable<BuildMetadata['agents'][number]['evals']>[number],
641
+ 'agentIdentifier' | 'projectId'
642
+ >
643
+ >;
644
+ subagentData.evals = parsedSubEvals.map((evalItem) => ({
645
+ ...evalItem,
646
+ agentIdentifier: subagentData.agentId,
647
+ projectId,
648
+ }));
627
649
  logger.trace(
628
650
  `[plugin] Successfully parsed ${subagentData.evals?.length ?? 0} eval(s) for subagent ${subagentData.name}`
629
651
  );
@@ -0,0 +1,148 @@
1
+ import { z } from 'zod';
2
+ import { createCommand } from '../../../types';
3
+ import * as tui from '../../../tui';
4
+ import { APIResponseSchema } from '@agentuity/server';
5
+ import { Table } from 'console-table-printer';
6
+ import { abbreviate, abbreviateDescription } from '../../../utils/format';
7
+
8
+ const AgentSchema = z.object({
9
+ id: z.string(),
10
+ name: z.string(),
11
+ description: z.string().nullable(),
12
+ identifier: z.string(),
13
+ version: z.string().nullable(),
14
+ deploymentId: z.string().nullable(),
15
+ devmode: z.boolean(),
16
+ metadata: z.record(z.string(), z.unknown()).nullable(),
17
+ createdAt: z.string(),
18
+ updatedAt: z.string(),
19
+ evals: z.array(
20
+ z.object({
21
+ id: z.string(),
22
+ name: z.string(),
23
+ description: z.string().nullable(),
24
+ identifier: z.string().nullable(),
25
+ deploymentId: z.string().nullable(),
26
+ version: z.string().nullable(),
27
+ devmode: z.boolean(),
28
+ createdAt: z.string(),
29
+ updatedAt: z.string(),
30
+ })
31
+ ),
32
+ });
33
+
34
+ const AgentsResponseSchema = APIResponseSchema(z.array(AgentSchema));
35
+
36
+ export const command = createCommand({
37
+ name: 'agents',
38
+ description: 'Show devmode agent results',
39
+ requires: { auth: true, apiClient: true, project: true },
40
+ schema: {
41
+ options: z.object({
42
+ deploymentId: z.string().optional().describe('Filter by deployment ID'),
43
+ format: z
44
+ .enum(['json', 'table'])
45
+ .optional()
46
+ .default('table')
47
+ .describe('Output format: json or table'),
48
+ verbose: z.boolean().optional().default(false).describe('Show full IDs and descriptions'),
49
+ }),
50
+ },
51
+ async handler(ctx) {
52
+ const { opts, apiClient, project } = ctx;
53
+ const projectId = project.projectId;
54
+ const format = opts?.format ?? 'table';
55
+ const verbose = opts?.verbose ?? false;
56
+
57
+ const deploymentId = opts?.deploymentId;
58
+ const queryParams = deploymentId ? `?deploymentId=${deploymentId}` : '';
59
+ const response = await tui.spinner('Fetching agents', async () => {
60
+ return apiClient.request(
61
+ 'GET',
62
+ `/cli/agent/${projectId}${queryParams}`,
63
+ AgentsResponseSchema
64
+ );
65
+ });
66
+
67
+ if (!response.success) {
68
+ tui.fatal(`Failed to fetch agents: ${response.message ?? 'Unknown error'}`);
69
+ }
70
+
71
+ const agents = response.data;
72
+
73
+ if (format === 'json') {
74
+ console.log(JSON.stringify(agents, null, 2));
75
+ return;
76
+ }
77
+
78
+ tui.info(`Agents (${agents.length})`);
79
+ if (agents.length === 0) {
80
+ tui.muted('No agents found');
81
+ } else {
82
+ const table = new Table({
83
+ columns: [
84
+ { name: 'Name', alignment: 'left' },
85
+ { name: 'ID', alignment: 'left' },
86
+ { name: 'Identifier', alignment: 'left' },
87
+ { name: 'Deployment', alignment: 'left' },
88
+ { name: 'Version', alignment: 'left' },
89
+ { name: 'Evals', alignment: 'center' },
90
+ { name: 'Created', alignment: 'left' },
91
+ ],
92
+ });
93
+
94
+ for (const agent of agents) {
95
+ table.addRow({
96
+ Name: agent.name,
97
+ ID: verbose ? agent.id : abbreviate(agent.id, 20),
98
+ Identifier: verbose ? agent.identifier : abbreviate(agent.identifier, 20),
99
+ Deployment: abbreviate(agent.deploymentId, 20),
100
+ Version: verbose
101
+ ? (agent.version ?? 'N/A')
102
+ : (abbreviate(agent.version, 20) ?? 'N/A'),
103
+ Evals: agent.evals.length,
104
+ Created: new Date(agent.createdAt).toLocaleString(),
105
+ });
106
+ }
107
+ table.printTable();
108
+
109
+ // Show evals for each agent
110
+ for (const agent of agents) {
111
+ if (agent.evals.length > 0) {
112
+ console.log(`\n Evals for ${agent.name}:`);
113
+ const evalTable = new Table({
114
+ columns: [
115
+ { name: 'Name', alignment: 'left' },
116
+ { name: 'ID', alignment: 'left' },
117
+ { name: 'Identifier', alignment: 'left' },
118
+ { name: 'Deployment', alignment: 'left' },
119
+ { name: 'Version', alignment: 'left' },
120
+ { name: 'Description', alignment: 'left' },
121
+ { name: 'Created', alignment: 'left' },
122
+ ],
123
+ });
124
+
125
+ for (const evalItem of agent.evals) {
126
+ evalTable.addRow({
127
+ Name: evalItem.name,
128
+ ID: verbose ? evalItem.id : abbreviate(evalItem.id, 20),
129
+ Identifier: verbose
130
+ ? (evalItem.identifier ?? 'N/A')
131
+ : (abbreviate(evalItem.identifier, 20) ?? 'N/A'),
132
+ Deployment: abbreviate(evalItem.deploymentId, 20),
133
+ Version: verbose
134
+ ? (evalItem.version ?? 'N/A')
135
+ : (abbreviate(evalItem.version, 20) ?? 'N/A'),
136
+ Description: verbose
137
+ ? (evalItem.description ?? 'N/A')
138
+ : abbreviateDescription(evalItem.description),
139
+ Created: new Date(evalItem.createdAt).toLocaleString(),
140
+ });
141
+ }
142
+ evalTable.printTable();
143
+ }
144
+ }
145
+ }
146
+ },
147
+ });
148
+ export default command;
@@ -6,7 +6,7 @@ import { createSubcommand } from '../../types';
6
6
  import * as tui from '../../tui';
7
7
  import { saveProjectDir } from '../../config';
8
8
  import { runSteps, stepSuccess, stepSkipped, stepError, Step, ProgressCallback } from '../../steps';
9
- import { bundle } from '../bundle/bundler';
9
+ import { bundle } from '../build/bundler';
10
10
  import { loadBuildMetadata } from '../../config';
11
11
  import {
12
12
  projectEnvUpdate,
@@ -3,7 +3,6 @@ import { createSubcommand } from '../../../types';
3
3
  import * as tui from '../../../tui';
4
4
  import { projectDeploymentList } from '@agentuity/server';
5
5
  import { resolveProjectId } from './utils';
6
- import { Table } from 'console-table-printer';
7
6
  import { getCommand } from '../../../command-prefix';
8
7
  import { ErrorCode } from '../../../errors';
9
8
 
@@ -64,28 +63,23 @@ export const listSubcommand = createSubcommand({
64
63
  return [];
65
64
  }
66
65
 
67
- const table = new Table({
68
- columns: [
69
- { name: 'ID', alignment: 'left' },
70
- { name: 'State', alignment: 'left' },
71
- { name: 'Active', alignment: 'center' },
72
- { name: 'Created', alignment: 'left' },
73
- { name: 'Message', alignment: 'left' },
74
- { name: 'Tags', alignment: 'left' },
75
- ],
76
- });
66
+ const tableData = deployments.map((d) => ({
67
+ ID: d.id,
68
+ State: d.state || 'unknown',
69
+ Active: d.active ? 'Yes' : '',
70
+ Created: new Date(d.createdAt).toLocaleString(),
71
+ Message: d.message || '',
72
+ Tags: d.tags.join(', '),
73
+ }));
77
74
 
78
- for (const d of deployments) {
79
- table.addRow({
80
- ID: d.id,
81
- State: d.state || 'unknown',
82
- Active: d.active ? 'Yes' : '',
83
- Created: new Date(d.createdAt).toLocaleString(),
84
- Message: d.message || '',
85
- Tags: d.tags.join(', '),
86
- });
87
- }
88
- table.printTable();
75
+ tui.table(tableData, [
76
+ { name: 'ID', alignment: 'left' },
77
+ { name: 'State', alignment: 'left' },
78
+ { name: 'Active', alignment: 'center' },
79
+ { name: 'Created', alignment: 'left' },
80
+ { name: 'Message', alignment: 'left' },
81
+ { name: 'Tags', alignment: 'left' },
82
+ ]);
89
83
 
90
84
  return deployments.map((d) => ({
91
85
  id: d.id,
@@ -1,14 +1,14 @@
1
1
  import { z } from 'zod';
2
- import { createSubcommand } from '../../types';
3
- import * as tui from '../../tui';
2
+ import { createSubcommand } from '../../../types';
3
+ import * as tui from '../../../tui';
4
4
  import { projectEnvDelete } from '@agentuity/server';
5
5
  import {
6
6
  findExistingEnvFile,
7
7
  readEnvFile,
8
8
  writeEnvFile,
9
9
  filterAgentuitySdkKeys,
10
- } from '../../env-util';
11
- import { getCommand } from '../../command-prefix';
10
+ } from '../../../env-util';
11
+ import { getCommand } from '../../../command-prefix';
12
12
 
13
13
  const EnvDeleteResponseSchema = z.object({
14
14
  success: z.boolean().describe('Whether the operation succeeded'),
@@ -1,10 +1,10 @@
1
1
  import { z } from 'zod';
2
- import { createSubcommand } from '../../types';
3
- import * as tui from '../../tui';
2
+ import { createSubcommand } from '../../../types';
3
+ import * as tui from '../../../tui';
4
4
  import { projectGet } from '@agentuity/server';
5
- import { maskSecret } from '../../env-util';
6
- import { getCommand } from '../../command-prefix';
7
- import { ErrorCode } from '../../errors';
5
+ import { maskSecret } from '../../../env-util';
6
+ import { getCommand } from '../../../command-prefix';
7
+ import { ErrorCode } from '../../../errors';
8
8
 
9
9
  const EnvGetResponseSchema = z.object({
10
10
  key: z.string().describe('Environment variable key name'),
@@ -1,6 +1,6 @@
1
1
  import { z } from 'zod';
2
- import { createSubcommand } from '../../types';
3
- import * as tui from '../../tui';
2
+ import { createSubcommand } from '../../../types';
3
+ import * as tui from '../../../tui';
4
4
  import { projectEnvUpdate } from '@agentuity/server';
5
5
  import {
6
6
  findEnvFile,
@@ -10,8 +10,8 @@ import {
10
10
  mergeEnvVars,
11
11
  splitEnvAndSecrets,
12
12
  looksLikeSecret,
13
- } from '../../env-util';
14
- import { getCommand } from '../../command-prefix';
13
+ } from '../../../env-util';
14
+ import { getCommand } from '../../../command-prefix';
15
15
 
16
16
  const EnvImportResponseSchema = z.object({
17
17
  success: z.boolean().describe('Whether import succeeded'),
@@ -1,4 +1,4 @@
1
- import { createCommand } from '../../types';
1
+ import { createCommand } from '../../../types';
2
2
  import { pullSubcommand } from './pull';
3
3
  import { pushSubcommand } from './push';
4
4
  import { setSubcommand } from './set';
@@ -21,3 +21,4 @@ export const command = createCommand({
21
21
  importSubcommand,
22
22
  ],
23
23
  });
24
+ export default command;
@@ -1,9 +1,9 @@
1
1
  import { z } from 'zod';
2
- import { createSubcommand } from '../../types';
3
- import * as tui from '../../tui';
2
+ import { createSubcommand } from '../../../types';
3
+ import * as tui from '../../../tui';
4
4
  import { projectGet } from '@agentuity/server';
5
- import { maskSecret } from '../../env-util';
6
- import { getCommand } from '../../command-prefix';
5
+ import { maskSecret } from '../../../env-util';
6
+ import { getCommand } from '../../../command-prefix';
7
7
 
8
8
  const EnvListResponseSchema = z.record(
9
9
  z.string(),
@@ -1,7 +1,7 @@
1
1
  import { z } from 'zod';
2
2
  import { join } from 'node:path';
3
- import { createSubcommand } from '../../types';
4
- import * as tui from '../../tui';
3
+ import { createSubcommand } from '../../../types';
4
+ import * as tui from '../../../tui';
5
5
  import { projectGet } from '@agentuity/server';
6
6
  import {
7
7
  findEnvFile,
@@ -9,8 +9,8 @@ import {
9
9
  readEnvFile,
10
10
  writeEnvFile,
11
11
  mergeEnvVars,
12
- } from '../../env-util';
13
- import { getCommand } from '../../command-prefix';
12
+ } from '../../../env-util';
13
+ import { getCommand } from '../../../command-prefix';
14
14
 
15
15
  const EnvPullResponseSchema = z.object({
16
16
  success: z.boolean().describe('Whether pull succeeded'),