@agentuity/cli 0.0.51 → 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 (299) hide show
  1. package/dist/api.js +68 -0
  2. package/dist/api.js.map +1 -0
  3. package/dist/auth.js +225 -0
  4. package/dist/auth.js.map +1 -0
  5. package/dist/banner.js +35 -0
  6. package/dist/banner.js.map +1 -0
  7. package/dist/cli-logger.js +72 -0
  8. package/dist/cli-logger.js.map +1 -0
  9. package/dist/cli.js +822 -0
  10. package/dist/cli.js.map +1 -0
  11. package/dist/cmd/ai/capabilities/index.js +10 -0
  12. package/dist/cmd/ai/capabilities/index.js.map +1 -0
  13. package/dist/cmd/ai/capabilities/show.js +221 -0
  14. package/dist/cmd/ai/capabilities/show.js.map +1 -0
  15. package/dist/cmd/ai/index.js +11 -0
  16. package/dist/cmd/ai/index.js.map +1 -0
  17. package/dist/cmd/ai/prompt/index.js +10 -0
  18. package/dist/cmd/ai/prompt/index.js.map +1 -0
  19. package/dist/cmd/ai/prompt/llm.js +365 -0
  20. package/dist/cmd/ai/prompt/llm.js.map +1 -0
  21. package/dist/cmd/ai/schema/index.js +10 -0
  22. package/dist/cmd/ai/schema/index.js.map +1 -0
  23. package/dist/cmd/ai/schema/show.js +23 -0
  24. package/dist/cmd/ai/schema/show.js.map +1 -0
  25. package/dist/cmd/auth/api.js +85 -0
  26. package/dist/cmd/auth/api.js.map +1 -0
  27. package/dist/cmd/auth/index.js +13 -0
  28. package/dist/cmd/auth/index.js.map +1 -0
  29. package/dist/cmd/auth/login.js +84 -0
  30. package/dist/cmd/auth/login.js.map +1 -0
  31. package/dist/cmd/auth/logout.js +17 -0
  32. package/dist/cmd/auth/logout.js.map +1 -0
  33. package/dist/cmd/auth/signup.js +55 -0
  34. package/dist/cmd/auth/signup.js.map +1 -0
  35. package/dist/cmd/auth/ssh/add.js +239 -0
  36. package/dist/cmd/auth/ssh/add.js.map +1 -0
  37. package/dist/cmd/auth/ssh/api.js +53 -0
  38. package/dist/cmd/auth/ssh/api.js.map +1 -0
  39. package/dist/cmd/auth/ssh/delete.js +126 -0
  40. package/dist/cmd/auth/ssh/delete.js.map +1 -0
  41. package/dist/cmd/auth/ssh/index.js +11 -0
  42. package/dist/cmd/auth/ssh/index.js.map +1 -0
  43. package/dist/cmd/auth/ssh/list.js +70 -0
  44. package/dist/cmd/auth/ssh/list.js.map +1 -0
  45. package/dist/cmd/auth/whoami.js +68 -0
  46. package/dist/cmd/auth/whoami.js.map +1 -0
  47. package/dist/cmd/build/ast.js +608 -0
  48. package/dist/cmd/build/ast.js.map +1 -0
  49. package/dist/cmd/build/ast.test.js +389 -0
  50. package/dist/cmd/build/ast.test.js.map +1 -0
  51. package/dist/cmd/build/bundler.js +304 -0
  52. package/dist/cmd/build/bundler.js.map +1 -0
  53. package/dist/cmd/build/file.js +10 -0
  54. package/dist/cmd/build/file.js.map +1 -0
  55. package/dist/cmd/build/fix-duplicate-exports.js +167 -0
  56. package/dist/cmd/build/fix-duplicate-exports.js.map +1 -0
  57. package/dist/cmd/build/fix-duplicate-exports.test.js +300 -0
  58. package/dist/cmd/build/fix-duplicate-exports.test.js.map +1 -0
  59. package/dist/cmd/build/index.d.ts.map +1 -1
  60. package/dist/cmd/build/index.js +79 -0
  61. package/dist/cmd/build/index.js.map +1 -0
  62. package/dist/cmd/build/patch/_util.js +42 -0
  63. package/dist/cmd/build/patch/_util.js.map +1 -0
  64. package/dist/cmd/build/patch/aisdk.js +65 -0
  65. package/dist/cmd/build/patch/aisdk.js.map +1 -0
  66. package/dist/cmd/build/patch/index.js +97 -0
  67. package/dist/cmd/build/patch/index.js.map +1 -0
  68. package/dist/cmd/build/patch/llm.js +18 -0
  69. package/dist/cmd/build/patch/llm.js.map +1 -0
  70. package/dist/cmd/build/plugin.d.ts.map +1 -1
  71. package/dist/cmd/build/plugin.js +556 -0
  72. package/dist/cmd/build/plugin.js.map +1 -0
  73. package/dist/cmd/cloud/agents/index.js +133 -0
  74. package/dist/cmd/cloud/agents/index.js.map +1 -0
  75. package/dist/cmd/cloud/deploy.js +341 -0
  76. package/dist/cmd/cloud/deploy.js.map +1 -0
  77. package/dist/cmd/cloud/deployment/index.js +20 -0
  78. package/dist/cmd/cloud/deployment/index.js.map +1 -0
  79. package/dist/cmd/cloud/deployment/list.js +89 -0
  80. package/dist/cmd/cloud/deployment/list.js.map +1 -0
  81. package/dist/cmd/cloud/deployment/remove.js +60 -0
  82. package/dist/cmd/cloud/deployment/remove.js.map +1 -0
  83. package/dist/cmd/cloud/deployment/rollback.js +80 -0
  84. package/dist/cmd/cloud/deployment/rollback.js.map +1 -0
  85. package/dist/cmd/cloud/deployment/show.js +106 -0
  86. package/dist/cmd/cloud/deployment/show.js.map +1 -0
  87. package/dist/cmd/cloud/deployment/undeploy.js +45 -0
  88. package/dist/cmd/cloud/deployment/undeploy.js.map +1 -0
  89. package/dist/cmd/cloud/deployment/utils.js +10 -0
  90. package/dist/cmd/cloud/deployment/utils.js.map +1 -0
  91. package/dist/cmd/cloud/domain.js +77 -0
  92. package/dist/cmd/cloud/domain.js.map +1 -0
  93. package/dist/cmd/cloud/env/delete.js +50 -0
  94. package/dist/cmd/cloud/env/delete.js.map +1 -0
  95. package/dist/cmd/cloud/env/get.js +65 -0
  96. package/dist/cmd/cloud/env/get.js.map +1 -0
  97. package/dist/cmd/cloud/env/import.js +113 -0
  98. package/dist/cmd/cloud/env/import.js.map +1 -0
  99. package/dist/cmd/cloud/env/index.js +24 -0
  100. package/dist/cmd/cloud/env/index.js.map +1 -0
  101. package/dist/cmd/cloud/env/list.js +58 -0
  102. package/dist/cmd/cloud/env/list.js.map +1 -0
  103. package/dist/cmd/cloud/env/pull.js +81 -0
  104. package/dist/cmd/cloud/env/pull.js.map +1 -0
  105. package/dist/cmd/cloud/env/push.js +61 -0
  106. package/dist/cmd/cloud/env/push.js.map +1 -0
  107. package/dist/cmd/cloud/env/set.js +73 -0
  108. package/dist/cmd/cloud/env/set.js.map +1 -0
  109. package/dist/cmd/cloud/index.js +31 -0
  110. package/dist/cmd/cloud/index.js.map +1 -0
  111. package/dist/cmd/cloud/keyvalue/create-namespace.js +41 -0
  112. package/dist/cmd/cloud/keyvalue/create-namespace.js.map +1 -0
  113. package/dist/cmd/cloud/keyvalue/delete-namespace.js +64 -0
  114. package/dist/cmd/cloud/keyvalue/delete-namespace.js.map +1 -0
  115. package/dist/cmd/cloud/keyvalue/delete.js +47 -0
  116. package/dist/cmd/cloud/keyvalue/delete.js.map +1 -0
  117. package/dist/cmd/cloud/keyvalue/get.js +65 -0
  118. package/dist/cmd/cloud/keyvalue/get.js.map +1 -0
  119. package/dist/cmd/cloud/keyvalue/index.js +32 -0
  120. package/dist/cmd/cloud/keyvalue/index.js.map +1 -0
  121. package/dist/cmd/cloud/keyvalue/keys.js +50 -0
  122. package/dist/cmd/cloud/keyvalue/keys.js.map +1 -0
  123. package/dist/cmd/cloud/keyvalue/list-namespaces.js +37 -0
  124. package/dist/cmd/cloud/keyvalue/list-namespaces.js.map +1 -0
  125. package/dist/cmd/cloud/keyvalue/repl.js +277 -0
  126. package/dist/cmd/cloud/keyvalue/repl.js.map +1 -0
  127. package/dist/cmd/cloud/keyvalue/search.js +72 -0
  128. package/dist/cmd/cloud/keyvalue/search.js.map +1 -0
  129. package/dist/cmd/cloud/keyvalue/set.js +59 -0
  130. package/dist/cmd/cloud/keyvalue/set.js.map +1 -0
  131. package/dist/cmd/cloud/keyvalue/stats.js +82 -0
  132. package/dist/cmd/cloud/keyvalue/stats.js.map +1 -0
  133. package/dist/cmd/cloud/keyvalue/util.js +19 -0
  134. package/dist/cmd/cloud/keyvalue/util.js.map +1 -0
  135. package/dist/cmd/cloud/objectstore/delete-bucket.js +66 -0
  136. package/dist/cmd/cloud/objectstore/delete-bucket.js.map +1 -0
  137. package/dist/cmd/cloud/objectstore/delete.js +56 -0
  138. package/dist/cmd/cloud/objectstore/delete.js.map +1 -0
  139. package/dist/cmd/cloud/objectstore/get.js +64 -0
  140. package/dist/cmd/cloud/objectstore/get.js.map +1 -0
  141. package/dist/cmd/cloud/objectstore/index.js +28 -0
  142. package/dist/cmd/cloud/objectstore/index.js.map +1 -0
  143. package/dist/cmd/cloud/objectstore/list-buckets.js +37 -0
  144. package/dist/cmd/cloud/objectstore/list-buckets.js.map +1 -0
  145. package/dist/cmd/cloud/objectstore/list-keys.js +52 -0
  146. package/dist/cmd/cloud/objectstore/list-keys.js.map +1 -0
  147. package/dist/cmd/cloud/objectstore/put.js +57 -0
  148. package/dist/cmd/cloud/objectstore/put.js.map +1 -0
  149. package/dist/cmd/cloud/objectstore/repl.js +219 -0
  150. package/dist/cmd/cloud/objectstore/repl.js.map +1 -0
  151. package/dist/cmd/cloud/objectstore/url.js +55 -0
  152. package/dist/cmd/cloud/objectstore/url.js.map +1 -0
  153. package/dist/cmd/cloud/objectstore/util.js +18 -0
  154. package/dist/cmd/cloud/objectstore/util.js.map +1 -0
  155. package/dist/cmd/cloud/resource/add.js +70 -0
  156. package/dist/cmd/cloud/resource/add.js.map +1 -0
  157. package/dist/cmd/cloud/resource/delete.js +126 -0
  158. package/dist/cmd/cloud/resource/delete.js.map +1 -0
  159. package/dist/cmd/cloud/resource/index.js +12 -0
  160. package/dist/cmd/cloud/resource/index.js.map +1 -0
  161. package/dist/cmd/cloud/resource/list.js +89 -0
  162. package/dist/cmd/cloud/resource/list.js.map +1 -0
  163. package/dist/cmd/cloud/scp/download.js +72 -0
  164. package/dist/cmd/cloud/scp/download.js.map +1 -0
  165. package/dist/cmd/cloud/scp/index.js +10 -0
  166. package/dist/cmd/cloud/scp/index.js.map +1 -0
  167. package/dist/cmd/cloud/scp/upload.js +75 -0
  168. package/dist/cmd/cloud/scp/upload.js.map +1 -0
  169. package/dist/cmd/cloud/secret/delete.js +50 -0
  170. package/dist/cmd/cloud/secret/delete.js.map +1 -0
  171. package/dist/cmd/cloud/secret/get.js +69 -0
  172. package/dist/cmd/cloud/secret/get.js.map +1 -0
  173. package/dist/cmd/cloud/secret/import.js +88 -0
  174. package/dist/cmd/cloud/secret/import.js.map +1 -0
  175. package/dist/cmd/cloud/secret/index.js +24 -0
  176. package/dist/cmd/cloud/secret/index.js.map +1 -0
  177. package/dist/cmd/cloud/secret/list.js +58 -0
  178. package/dist/cmd/cloud/secret/list.js.map +1 -0
  179. package/dist/cmd/cloud/secret/pull.js +81 -0
  180. package/dist/cmd/cloud/secret/pull.js.map +1 -0
  181. package/dist/cmd/cloud/secret/push.js +61 -0
  182. package/dist/cmd/cloud/secret/push.js.map +1 -0
  183. package/dist/cmd/cloud/secret/set.js +57 -0
  184. package/dist/cmd/cloud/secret/set.js.map +1 -0
  185. package/dist/cmd/cloud/session/get.d.ts.map +1 -1
  186. package/dist/cmd/cloud/session/get.js +155 -0
  187. package/dist/cmd/cloud/session/get.js.map +1 -0
  188. package/dist/cmd/cloud/session/index.js +11 -0
  189. package/dist/cmd/cloud/session/index.js.map +1 -0
  190. package/dist/cmd/cloud/session/list.js +132 -0
  191. package/dist/cmd/cloud/session/list.js.map +1 -0
  192. package/dist/cmd/cloud/session/logs.js +56 -0
  193. package/dist/cmd/cloud/session/logs.js.map +1 -0
  194. package/dist/cmd/cloud/ssh.js +67 -0
  195. package/dist/cmd/cloud/ssh.js.map +1 -0
  196. package/dist/cmd/dev/agents.js +103 -0
  197. package/dist/cmd/dev/agents.js.map +1 -0
  198. package/dist/cmd/dev/api.js +26 -0
  199. package/dist/cmd/dev/api.js.map +1 -0
  200. package/dist/cmd/dev/download.js +77 -0
  201. package/dist/cmd/dev/download.js.map +1 -0
  202. package/dist/cmd/dev/index.js +745 -0
  203. package/dist/cmd/dev/index.js.map +1 -0
  204. package/dist/cmd/dev/sync.js +229 -0
  205. package/dist/cmd/dev/sync.js.map +1 -0
  206. package/dist/cmd/dev/templates.js +75 -0
  207. package/dist/cmd/dev/templates.js.map +1 -0
  208. package/dist/cmd/index.js +49 -0
  209. package/dist/cmd/index.js.map +1 -0
  210. package/dist/cmd/profile/create.js +89 -0
  211. package/dist/cmd/profile/create.js.map +1 -0
  212. package/dist/cmd/profile/delete.js +63 -0
  213. package/dist/cmd/profile/delete.js.map +1 -0
  214. package/dist/cmd/profile/index.js +14 -0
  215. package/dist/cmd/profile/index.js.map +1 -0
  216. package/dist/cmd/profile/list.js +28 -0
  217. package/dist/cmd/profile/list.js.map +1 -0
  218. package/dist/cmd/profile/show.js +68 -0
  219. package/dist/cmd/profile/show.js.map +1 -0
  220. package/dist/cmd/profile/use.js +37 -0
  221. package/dist/cmd/profile/use.js.map +1 -0
  222. package/dist/cmd/project/create.js +92 -0
  223. package/dist/cmd/project/create.js.map +1 -0
  224. package/dist/cmd/project/delete.js +117 -0
  225. package/dist/cmd/project/delete.js.map +1 -0
  226. package/dist/cmd/project/download.js +217 -0
  227. package/dist/cmd/project/download.js.map +1 -0
  228. package/dist/cmd/project/index.js +12 -0
  229. package/dist/cmd/project/index.js.map +1 -0
  230. package/dist/cmd/project/list.js +51 -0
  231. package/dist/cmd/project/list.js.map +1 -0
  232. package/dist/cmd/project/show.js +54 -0
  233. package/dist/cmd/project/show.js.map +1 -0
  234. package/dist/cmd/project/template-flow.js +315 -0
  235. package/dist/cmd/project/template-flow.js.map +1 -0
  236. package/dist/cmd/project/templates.js +31 -0
  237. package/dist/cmd/project/templates.js.map +1 -0
  238. package/dist/cmd/repl/index.js +444 -0
  239. package/dist/cmd/repl/index.js.map +1 -0
  240. package/dist/cmd/version/index.js +29 -0
  241. package/dist/cmd/version/index.js.map +1 -0
  242. package/dist/command-prefix.js +37 -0
  243. package/dist/command-prefix.js.map +1 -0
  244. package/dist/config.js +536 -0
  245. package/dist/config.js.map +1 -0
  246. package/dist/crypto/box.js +382 -0
  247. package/dist/crypto/box.js.map +1 -0
  248. package/dist/crypto/box.test.js +317 -0
  249. package/dist/crypto/box.test.js.map +1 -0
  250. package/dist/download.js +64 -0
  251. package/dist/download.js.map +1 -0
  252. package/dist/env-util.js +219 -0
  253. package/dist/env-util.js.map +1 -0
  254. package/dist/env-util.test.js +146 -0
  255. package/dist/env-util.test.js.map +1 -0
  256. package/dist/errors.js +177 -0
  257. package/dist/errors.js.map +1 -0
  258. package/dist/explain.js +90 -0
  259. package/dist/explain.js.map +1 -0
  260. package/dist/index.js +23 -0
  261. package/dist/index.js.map +1 -0
  262. package/dist/json.js +29 -0
  263. package/dist/json.js.map +1 -0
  264. package/dist/legacy-check.js +104 -0
  265. package/dist/legacy-check.js.map +1 -0
  266. package/dist/output.js +207 -0
  267. package/dist/output.js.map +1 -0
  268. package/dist/repl.js +1176 -0
  269. package/dist/repl.js.map +1 -0
  270. package/dist/runtime.js +19 -0
  271. package/dist/runtime.js.map +1 -0
  272. package/dist/schema-generator.js +289 -0
  273. package/dist/schema-generator.js.map +1 -0
  274. package/dist/schema-parser.js +145 -0
  275. package/dist/schema-parser.js.map +1 -0
  276. package/dist/sound.js +44 -0
  277. package/dist/sound.js.map +1 -0
  278. package/dist/steps.js +293 -0
  279. package/dist/steps.js.map +1 -0
  280. package/dist/terminal.js +130 -0
  281. package/dist/terminal.js.map +1 -0
  282. package/dist/tui.js +1124 -0
  283. package/dist/tui.js.map +1 -0
  284. package/dist/types.js +163 -0
  285. package/dist/types.js.map +1 -0
  286. package/dist/utils/detectSubagent.js +25 -0
  287. package/dist/utils/detectSubagent.js.map +1 -0
  288. package/dist/utils/format.js +21 -0
  289. package/dist/utils/format.js.map +1 -0
  290. package/dist/utils/zip.js +33 -0
  291. package/dist/utils/zip.js.map +1 -0
  292. package/dist/version.js +24 -0
  293. package/dist/version.js.map +1 -0
  294. package/package.json +6 -6
  295. package/src/banner.ts +1 -1
  296. package/src/cmd/build/index.ts +15 -21
  297. package/src/cmd/build/plugin.ts +2 -1
  298. package/src/cmd/cloud/session/get.ts +20 -14
  299. package/src/cmd/cloud/session/list.ts +1 -1
@@ -0,0 +1,28 @@
1
+ import { createSubcommand } from '../../types';
2
+ import { fetchProfiles } from '../../config';
3
+ import { basename, dirname } from 'node:path';
4
+ import * as tui from '../../tui';
5
+ import { getCommand } from '../../command-prefix';
6
+ export const listCommand = createSubcommand({
7
+ name: 'list',
8
+ description: 'List all available profiles',
9
+ tags: ['read-only', 'fast'],
10
+ idempotent: true,
11
+ aliases: ['ls'],
12
+ examples: [getCommand('profile list'), getCommand('profile ls')],
13
+ async handler() {
14
+ const profiles = await fetchProfiles();
15
+ if (profiles.length === 0) {
16
+ tui.info('No profiles found');
17
+ return;
18
+ }
19
+ console.log('Available profiles:');
20
+ for (const profile of profiles) {
21
+ const marker = profile.selected ? '•' : ' ';
22
+ const name = tui.padRight(profile.name, 15, ' ');
23
+ const path = `${basename(dirname(profile.filename))}/${basename(profile.filename)}`;
24
+ console.log(`${marker} ${name} ${tui.muted(path)}`);
25
+ }
26
+ },
27
+ });
28
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/cmd/profile/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,KAAK,GAAG,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,MAAM,CAAC,MAAM,WAAW,GAAG,gBAAgB,CAAC;IAC3C,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,6BAA6B;IAC1C,IAAI,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,IAAI;IAChB,OAAO,EAAE,CAAC,IAAI,CAAC;IACf,QAAQ,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC;IAEhE,KAAK,CAAC,OAAO;QACZ,MAAM,QAAQ,GAAG,MAAM,aAAa,EAAE,CAAC;QAEvC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAC9B,OAAO;QACR,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACnC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YAC5C,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;YACjD,MAAM,IAAI,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpF,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrD,CAAC;IACF,CAAC;CACD,CAAC,CAAC"}
@@ -0,0 +1,68 @@
1
+ import { createSubcommand, ConfigSchema } from '../../types';
2
+ import { z } from 'zod';
3
+ import { fetchProfiles, loadConfig } from '../../config';
4
+ import { readFile } from 'node:fs/promises';
5
+ import * as tui from '../../tui';
6
+ import { getCommand } from '../../command-prefix';
7
+ import { ErrorCode } from '../../errors';
8
+ const ProfileShowResponseSchema = ConfigSchema;
9
+ export const showCommand = createSubcommand({
10
+ name: 'show',
11
+ description: 'Show the configuration of a profile',
12
+ tags: ['read-only', 'fast'],
13
+ aliases: ['current'],
14
+ examples: [
15
+ getCommand('profile show'),
16
+ getCommand('profile show production'),
17
+ getCommand('profile show staging --json'),
18
+ ],
19
+ schema: {
20
+ options: z.object({
21
+ json: z.boolean().optional().describe('Show the JSON config'),
22
+ }),
23
+ args: z
24
+ .object({
25
+ name: z.string().optional().describe('Profile name to show (optional)'),
26
+ })
27
+ .describe('Profile show arguments'),
28
+ response: ProfileShowResponseSchema,
29
+ },
30
+ idempotent: true,
31
+ async handler(ctx) {
32
+ const { logger, args, opts } = ctx;
33
+ try {
34
+ let current = false;
35
+ let name = args.name;
36
+ const profiles = await fetchProfiles();
37
+ if (!name) {
38
+ name = await tui.showProfileList(profiles, 'Select profile to show:');
39
+ }
40
+ const profile = profiles.find((p) => p.name === name);
41
+ if (!profile) {
42
+ return logger.fatal(`Profile "${name}" not found`, ErrorCode.RESOURCE_NOT_FOUND);
43
+ }
44
+ const profilePath = profile.filename;
45
+ current = profile.selected;
46
+ tui.info(`Profile: ${profilePath}`);
47
+ const content = await loadConfig(current ? undefined : profilePath);
48
+ if (opts?.json) {
49
+ console.log(JSON.stringify(content, null, 2));
50
+ }
51
+ else {
52
+ tui.newline();
53
+ const textContent = await readFile(profilePath, 'utf-8');
54
+ console.log(textContent);
55
+ }
56
+ return content;
57
+ }
58
+ catch (error) {
59
+ if (error instanceof Error) {
60
+ logger.fatal(`Failed to show profile: ${error.message}`);
61
+ }
62
+ else {
63
+ logger.fatal('Failed to show profile');
64
+ }
65
+ }
66
+ },
67
+ });
68
+ //# sourceMappingURL=show.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"show.js","sourceRoot":"","sources":["../../../src/cmd/profile/show.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import { createSubcommand } from '../../types';
2
+ import { z } from 'zod';
3
+ import { fetchProfiles, saveProfile } from '../../config';
4
+ import * as tui from '../../tui';
5
+ import { getCommand } from '../../command-prefix';
6
+ export const useCommand = createSubcommand({
7
+ name: 'use',
8
+ description: 'Switch to a different configuration profile',
9
+ tags: ['mutating', 'updates-resource', 'fast'],
10
+ aliases: ['switch'],
11
+ idempotent: true,
12
+ examples: [
13
+ getCommand('profile use production'),
14
+ getCommand('profile switch staging'),
15
+ getCommand('profile use'),
16
+ ],
17
+ schema: {
18
+ args: z.object({
19
+ name: z.string().optional().describe('The name of the profile to use'),
20
+ }),
21
+ },
22
+ async handler(ctx) {
23
+ const { args } = ctx;
24
+ let { name } = args;
25
+ const profiles = await fetchProfiles();
26
+ if (!name) {
27
+ name = await tui.showProfileList(profiles, 'Select profile to use:');
28
+ }
29
+ const profile = profiles.find((p) => p.name === name);
30
+ if (!profile) {
31
+ tui.fatal(`Profile "${name}" not found`);
32
+ }
33
+ await saveProfile(profile.filename);
34
+ tui.success(`Switched to profile "${name}"`);
35
+ },
36
+ });
37
+ //# sourceMappingURL=use.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use.js","sourceRoot":"","sources":["../../../src/cmd/profile/use.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,KAAK,GAAG,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,MAAM,CAAC,MAAM,UAAU,GAAG,gBAAgB,CAAC;IAC1C,IAAI,EAAE,KAAK;IACX,WAAW,EAAE,6CAA6C;IAC1D,IAAI,EAAE,CAAC,UAAU,EAAE,kBAAkB,EAAE,MAAM,CAAC;IAC9C,OAAO,EAAE,CAAC,QAAQ,CAAC;IACnB,UAAU,EAAE,IAAI;IAChB,QAAQ,EAAE;QACT,UAAU,CAAC,wBAAwB,CAAC;QACpC,UAAU,CAAC,wBAAwB,CAAC;QACpC,UAAU,CAAC,aAAa,CAAC;KACzB;IACD,MAAM,EAAE;QACP,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;YACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;SACtE,CAAC;KACF;IAED,KAAK,CAAC,OAAO,CAAC,GAAG;QAChB,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;QACrB,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;QAEpB,MAAM,QAAQ,GAAG,MAAM,aAAa,EAAE,CAAC;QAEvC,IAAI,CAAC,IAAI,EAAE,CAAC;YACX,IAAI,GAAG,MAAM,GAAG,CAAC,eAAe,CAAC,QAAQ,EAAE,wBAAwB,CAAC,CAAC;QACtE,CAAC;QAED,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAEtD,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,GAAG,CAAC,KAAK,CAAC,YAAY,IAAI,aAAa,CAAC,CAAC;QAC1C,CAAC;QAED,MAAM,WAAW,CAAC,OAAQ,CAAC,QAAQ,CAAC,CAAC;QACrC,GAAG,CAAC,OAAO,CAAC,wBAAwB,IAAI,GAAG,CAAC,CAAC;IAC9C,CAAC;CACD,CAAC,CAAC"}
@@ -0,0 +1,92 @@
1
+ import { createSubcommand } from '../../types';
2
+ import { z } from 'zod';
3
+ import { runCreateFlow } from './template-flow';
4
+ import { getCommand } from '../../command-prefix';
5
+ const ProjectCreateResponseSchema = z.object({
6
+ success: z.boolean().describe('Whether the operation succeeded'),
7
+ name: z.string().describe('Project name'),
8
+ path: z.string().describe('Project directory path'),
9
+ projectId: z.string().optional().describe('Project ID if registered'),
10
+ template: z.string().describe('Template used'),
11
+ installed: z.boolean().describe('Whether dependencies were installed'),
12
+ built: z.boolean().describe('Whether the project was built'),
13
+ });
14
+ export const createProjectSubcommand = createSubcommand({
15
+ name: 'create',
16
+ description: 'Create a new project',
17
+ tags: ['mutating', 'creates-resource', 'slow', 'api-intensive', 'requires-auth'],
18
+ aliases: ['new', 'init'],
19
+ banner: true,
20
+ toplevel: true,
21
+ idempotent: false,
22
+ optional: { auth: true, org: true, region: true },
23
+ requires: { apiClient: true },
24
+ examples: [
25
+ getCommand('project create'),
26
+ getCommand('project create --name my-ai-agent'),
27
+ getCommand('project create --name customer-service-bot --dir ~/projects/agent'),
28
+ getCommand('project create --template basic --no-install'),
29
+ getCommand('project new --no-register'),
30
+ ],
31
+ schema: {
32
+ options: z.object({
33
+ name: z.string().optional().describe('Project name'),
34
+ dir: z.string().optional().describe('Directory to create the project in'),
35
+ template: z.string().optional().describe('Template to use'),
36
+ templateDir: z
37
+ .string()
38
+ .optional()
39
+ .describe('Local template directory for testing (e.g., ./packages/templates)'),
40
+ templateBranch: z
41
+ .string()
42
+ .optional()
43
+ .describe('GitHub branch to use for templates (default: main)'),
44
+ install: z
45
+ .boolean()
46
+ .optional()
47
+ .default(true)
48
+ .describe('Run bun install after creating the project (use --no-install to skip)'),
49
+ build: z
50
+ .boolean()
51
+ .optional()
52
+ .default(true)
53
+ .describe('Run bun run build after installing (use --no-build to skip)'),
54
+ confirm: z.boolean().optional().describe('Skip confirmation prompts'),
55
+ register: z
56
+ .boolean()
57
+ .default(true)
58
+ .optional()
59
+ .describe('Register the project, if authenticated (use --no-register to skip)'),
60
+ }),
61
+ response: ProjectCreateResponseSchema,
62
+ },
63
+ async handler(ctx) {
64
+ const { logger, opts, auth, config, apiClient, orgId, region } = ctx;
65
+ await runCreateFlow({
66
+ projectName: opts.name,
67
+ dir: opts.dir,
68
+ template: opts.template,
69
+ templateDir: opts.templateDir,
70
+ templateBranch: opts.templateBranch,
71
+ noInstall: opts.install === false,
72
+ noBuild: opts.build === false,
73
+ skipPrompts: opts.confirm === true,
74
+ logger,
75
+ auth: opts.register === true ? auth : undefined,
76
+ config: config,
77
+ apiClient,
78
+ orgId,
79
+ region,
80
+ });
81
+ // Return best-effort response (runCreateFlow doesn't return values)
82
+ return {
83
+ success: true,
84
+ name: opts.name || 'project',
85
+ path: opts.dir || process.cwd(),
86
+ template: opts.template || 'default',
87
+ installed: opts.install !== false,
88
+ built: opts.build !== false,
89
+ };
90
+ },
91
+ });
92
+ //# sourceMappingURL=create.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/cmd/project/create.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,117 @@
1
+ import { z } from 'zod';
2
+ import { createSubcommand } from '../../types';
3
+ import * as tui from '../../tui';
4
+ import { projectDelete, projectList } from '@agentuity/server';
5
+ import enquirer from 'enquirer';
6
+ import { getCommand } from '../../command-prefix';
7
+ export const deleteSubcommand = createSubcommand({
8
+ name: 'delete',
9
+ description: 'Delete a project',
10
+ tags: ['destructive', 'deletes-resource', 'slow', 'requires-auth'],
11
+ aliases: ['rm', 'del'],
12
+ requires: { auth: true, apiClient: true },
13
+ idempotent: false,
14
+ examples: [
15
+ getCommand('project delete'),
16
+ getCommand('project delete proj_abc123def456'),
17
+ getCommand('project delete proj_abc123def456 --confirm'),
18
+ getCommand('project rm proj_abc123def456'),
19
+ getCommand('--explain project delete proj_abc123def456'),
20
+ getCommand('--dry-run project delete proj_abc123def456'),
21
+ ],
22
+ schema: {
23
+ args: z.object({
24
+ id: z.string().optional().describe('the project id'),
25
+ }),
26
+ options: z.object({
27
+ confirm: z.boolean().optional().describe('Skip confirmation prompts'),
28
+ }),
29
+ response: z.object({
30
+ success: z.boolean().describe('Whether the deletion succeeded'),
31
+ projectIds: z.array(z.string()).describe('Deleted project IDs'),
32
+ count: z.number().describe('Number of projects deleted'),
33
+ }),
34
+ },
35
+ async handler(ctx) {
36
+ const { args, opts, apiClient } = ctx;
37
+ let projectIds = [];
38
+ if (args.id) {
39
+ // Command line argument provided
40
+ projectIds = [args.id];
41
+ }
42
+ else {
43
+ // Check TTY before attempting to prompt
44
+ if (!process.stdin.isTTY) {
45
+ tui.fatal('--id is required in non-interactive mode');
46
+ }
47
+ // Fetch projects and prompt for selection
48
+ const projects = await tui.spinner({
49
+ message: 'Fetching projects',
50
+ clearOnSuccess: true,
51
+ callback: async () => {
52
+ return projectList(apiClient);
53
+ },
54
+ });
55
+ if (projects.length === 0) {
56
+ tui.info('No projects found to delete');
57
+ return;
58
+ }
59
+ // Sort projects by name
60
+ projects.sort((a, b) => a.name.localeCompare(b.name));
61
+ // Build choices for multi-select
62
+ const choices = projects.map((project) => ({
63
+ name: project.id,
64
+ message: `${project.name.padEnd(25)} ${tui.muted(project.id)} (${project.orgName})`,
65
+ }));
66
+ const response = await enquirer.prompt({
67
+ type: 'multiselect',
68
+ name: 'projects',
69
+ message: 'Select project(s) to delete:',
70
+ choices,
71
+ });
72
+ projectIds = response.projects;
73
+ }
74
+ if (projectIds.length === 0) {
75
+ tui.info('No projects selected for deletion');
76
+ return { success: false, projectIds: [], count: 0 };
77
+ }
78
+ const skipConfirm = opts?.confirm === true;
79
+ if (!process.stdout.isTTY && !skipConfirm) {
80
+ tui.fatal('no TTY and --confirm is false');
81
+ }
82
+ // Confirm deletion
83
+ if (!skipConfirm) {
84
+ const projectNames = projectIds.join(', ');
85
+ tui.warning(`You are about to delete: ${tui.bold(projectNames)}`);
86
+ const confirm = await enquirer.prompt({
87
+ type: 'confirm',
88
+ name: 'confirm',
89
+ message: `Are you sure you want to delete ${projectIds.length > 1 ? 'these projects' : 'this project'}?`,
90
+ initial: false,
91
+ });
92
+ if (!confirm.confirm) {
93
+ tui.info('Deletion cancelled');
94
+ return { success: false, projectIds: [], count: 0 };
95
+ }
96
+ }
97
+ const deleted = await tui.spinner({
98
+ message: `Deleting ${projectIds.length} project(s)`,
99
+ clearOnSuccess: true,
100
+ callback: async () => {
101
+ return projectDelete(apiClient, ...projectIds);
102
+ },
103
+ });
104
+ if (deleted.length > 0) {
105
+ tui.success(`Deleted ${deleted.length} project(s): ${deleted.join(', ')}`);
106
+ }
107
+ else {
108
+ tui.error('Failed to delete projects');
109
+ }
110
+ return {
111
+ success: deleted.length > 0,
112
+ projectIds: deleted,
113
+ count: deleted.length,
114
+ };
115
+ },
116
+ });
117
+ //# sourceMappingURL=delete.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/cmd/project/delete.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,217 @@
1
+ import { join, resolve } from 'node:path';
2
+ import { existsSync, mkdirSync, mkdtempSync, renameSync, readdirSync, cpSync, rmSync, createReadStream, } from 'node:fs';
3
+ import { tmpdir } from 'node:os';
4
+ import { finished } from 'node:stream/promises';
5
+ import { createGunzip } from 'node:zlib';
6
+ import { extract } from 'tar-fs';
7
+ import * as tui from '../../tui';
8
+ import { downloadWithSpinner } from '../../download';
9
+ const GITHUB_REPO = 'agentuity/sdk';
10
+ const GITHUB_BRANCH = 'main';
11
+ async function cleanup(sourceDir, dest) {
12
+ if (!existsSync(sourceDir)) {
13
+ throw new Error(`Template directory not found: ${sourceDir}`);
14
+ }
15
+ tui.spinner(`📦 Copying template files...`, async () => {
16
+ // Copy all files from source to dest
17
+ const files = readdirSync(sourceDir);
18
+ for (const file of files) {
19
+ cpSync(join(sourceDir, file), join(dest, file), { recursive: true });
20
+ }
21
+ // Rename gitignore -> .gitignore
22
+ const gi = join(dest, 'gitignore');
23
+ if (existsSync(gi)) {
24
+ renameSync(gi, join(dest, '.gitignore'));
25
+ }
26
+ });
27
+ }
28
+ export async function downloadTemplate(options) {
29
+ const { dest, template, templateDir, templateBranch, logger } = options;
30
+ mkdirSync(dest, { recursive: true });
31
+ // Copy from local directory if provided
32
+ if (templateDir) {
33
+ const sourceDir = resolve(join(templateDir, template.directory));
34
+ if (!existsSync(sourceDir)) {
35
+ throw new Error(`Template directory not found: ${sourceDir}`);
36
+ }
37
+ return cleanup(sourceDir, dest);
38
+ }
39
+ // Download from GitHub
40
+ const branch = templateBranch || GITHUB_BRANCH;
41
+ const templatePath = `templates/${template.directory}`;
42
+ const url = `https://codeload.github.com/${GITHUB_REPO}/tar.gz/${branch}`;
43
+ const tempDir = mkdtempSync(join(tmpdir(), 'agentuity-'));
44
+ const tarballPath = join(tempDir, 'download.tar.gz');
45
+ logger.debug('[download] URL:', url);
46
+ logger.debug('[download] Branch:', branch);
47
+ logger.debug('[download] Template path:', templatePath);
48
+ logger.debug('[download] Temp dir:', tempDir);
49
+ try {
50
+ // Step 1: Download tarball to temp file
51
+ // We download to a file first rather than piping directly to tar-fs
52
+ // because this avoids Bun/Node stream compatibility issues
53
+ await downloadWithSpinner({
54
+ url,
55
+ message: templateBranch
56
+ ? `Downloading template files from branch ${branch}...`
57
+ : 'Downloading template files...',
58
+ }, async (stream) => {
59
+ // Collect all chunks from the download stream
60
+ const chunks = [];
61
+ for await (const chunk of stream) {
62
+ chunks.push(Buffer.from(chunk));
63
+ }
64
+ const buffer = Buffer.concat(chunks);
65
+ await Bun.write(tarballPath, buffer);
66
+ logger.debug('[download] Downloaded bytes:', buffer.length);
67
+ logger.debug('[download] Tarball path:', tarballPath);
68
+ });
69
+ // Step 2: Extract tarball
70
+ // We extract only the files within the template directory
71
+ // The tarball structure is: sdk-{branch}/templates/{template.directory}/...
72
+ const extractDir = join(tempDir, 'extract');
73
+ mkdirSync(extractDir, { recursive: true });
74
+ const prefix = `sdk-${branch}/${templatePath}/`;
75
+ logger.debug('[extract] Extract dir:', extractDir);
76
+ logger.debug('[extract] Filter prefix:', prefix);
77
+ // Track extraction stats for debugging
78
+ let ignoredCount = 0;
79
+ let extractedCount = 0;
80
+ // Track which entries we've mapped so we don't ignore them later
81
+ // Note: tar-fs calls map BEFORE ignore (despite what docs say)
82
+ const mappedEntries = new Set();
83
+ const extractor = extract(extractDir, {
84
+ // map callback: called FIRST, allows modifying the entry before extraction
85
+ // We strip the prefix so files are extracted to the root of extractDir
86
+ map: (header) => {
87
+ const originalName = header.name;
88
+ if (header.name.startsWith(prefix) && header.name.length > prefix.length) {
89
+ // This is a file/dir we want to extract - strip the prefix
90
+ header.name = header.name.substring(prefix.length);
91
+ mappedEntries.add(header.name); // Track that we mapped this
92
+ logger.debug('[extract] MAP:', originalName, '->', header.name);
93
+ logger.debug('[extract] EXTRACT:', originalName);
94
+ extractedCount++;
95
+ }
96
+ return header;
97
+ },
98
+ // ignore callback: called AFTER map, receives the MAPPED name
99
+ // Return true to skip the entry, false to extract it
100
+ ignore: (name, header) => {
101
+ if (!header) {
102
+ ignoredCount++;
103
+ return true;
104
+ }
105
+ // If we already mapped this entry, don't ignore it
106
+ if (mappedEntries.has(header.name)) {
107
+ return false;
108
+ }
109
+ // Otherwise, ignore it
110
+ logger.debug('[extract] IGNORE:', header.name);
111
+ ignoredCount++;
112
+ return true;
113
+ },
114
+ });
115
+ // Pipe: tarball file -> gunzip -> tar extractor
116
+ createReadStream(tarballPath).pipe(createGunzip()).pipe(extractor);
117
+ await finished(extractor);
118
+ logger.debug('[extract] Extraction complete');
119
+ logger.debug('[extract] Ignored entries:', ignoredCount);
120
+ logger.debug('[extract] Extracted entries:', extractedCount);
121
+ // Step 3: Copy extracted files to destination
122
+ await cleanup(extractDir, dest);
123
+ }
124
+ finally {
125
+ // Clean up temp directory
126
+ logger.debug('[cleanup] Removing temp dir:', tempDir);
127
+ rmSync(tempDir, { recursive: true, force: true });
128
+ }
129
+ }
130
+ export async function setupProject(options) {
131
+ const { dest, projectName, dirName, noInstall, noBuild, logger } = options;
132
+ // Replace {{PROJECT_NAME}} in files
133
+ tui.info(`🔧 Setting up ${projectName}...`);
134
+ await replaceInFiles(dest, projectName, dirName);
135
+ // Install dependencies
136
+ if (!noInstall) {
137
+ const exitCode = await tui.runCommand({
138
+ command: 'bun install',
139
+ cwd: dest,
140
+ cmd: ['bun', 'install'],
141
+ clearOnSuccess: true,
142
+ });
143
+ if (exitCode !== 0) {
144
+ logger.error('Failed to install dependencies');
145
+ }
146
+ }
147
+ // Build project
148
+ if (!noBuild) {
149
+ const exitCode = await tui.runCommand({
150
+ command: 'bun run build',
151
+ cwd: dest,
152
+ cmd: ['bun', 'run', 'build'],
153
+ clearOnSuccess: true,
154
+ });
155
+ if (exitCode !== 0) {
156
+ logger.error('Failed to build project');
157
+ }
158
+ }
159
+ // Initialize git repository if git is available
160
+ const gitPath = Bun.which('git');
161
+ if (gitPath) {
162
+ // Git is available, initialize repository
163
+ await tui.runCommand({
164
+ command: 'git init',
165
+ cwd: dest,
166
+ cmd: ['git', 'init'],
167
+ clearOnSuccess: true,
168
+ });
169
+ // Configure git user in CI environments (where git config may not be set)
170
+ if (process.env.CI) {
171
+ await tui.runCommand({
172
+ command: 'git config user.email',
173
+ cwd: dest,
174
+ cmd: ['git', 'config', 'user.email', 'agentuity@example.com'],
175
+ clearOnSuccess: true,
176
+ });
177
+ await tui.runCommand({
178
+ command: 'git config user.name',
179
+ cwd: dest,
180
+ cmd: ['git', 'config', 'user.name', 'Agentuity'],
181
+ clearOnSuccess: true,
182
+ });
183
+ }
184
+ // Add all files
185
+ await tui.runCommand({
186
+ command: 'git add .',
187
+ cwd: dest,
188
+ cmd: ['git', 'add', '.'],
189
+ clearOnSuccess: true,
190
+ });
191
+ // Create initial commit (disable GPG signing to avoid lock issues)
192
+ await tui.runCommand({
193
+ command: 'git commit -m "Initial Setup"',
194
+ cwd: dest,
195
+ cmd: ['git', '-c', 'commit.gpgsign=false', 'commit', '-m', 'Initial Setup'],
196
+ clearOnSuccess: true,
197
+ });
198
+ }
199
+ }
200
+ async function replaceInFiles(dir, projectName, dirName) {
201
+ const filesToReplace = ['package.json', 'README.md', 'AGENTS.md'];
202
+ for (const file of filesToReplace) {
203
+ const filePath = join(dir, file);
204
+ const bunFile = Bun.file(filePath);
205
+ if (await bunFile.exists()) {
206
+ let content = await bunFile.text();
207
+ // Replace human-readable name in most places
208
+ content = content.replace(/\{\{PROJECT_NAME\}\}/g, projectName);
209
+ // Replace with directory name for package.json "name" field (npm package name)
210
+ if (file === 'package.json') {
211
+ content = content.replace(/"name":\s*".*?"/, `"name": "${dirName}"`);
212
+ }
213
+ await Bun.write(filePath, content);
214
+ }
215
+ }
216
+ }
217
+ //# sourceMappingURL=download.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"download.js","sourceRoot":"","sources":["../../../src/cmd/project/download.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { createCommand } from '../../types';
2
+ import { createProjectSubcommand } from './create';
3
+ import { listSubcommand } from './list';
4
+ import { deleteSubcommand } from './delete';
5
+ import { showSubcommand } from './show';
6
+ export const command = createCommand({
7
+ name: 'project',
8
+ description: 'Project related commands',
9
+ tags: ['fast', 'requires-auth'],
10
+ subcommands: [createProjectSubcommand, listSubcommand, deleteSubcommand, showSubcommand],
11
+ });
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cmd/project/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAExC,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC;IACpC,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,0BAA0B;IACvC,IAAI,EAAE,CAAC,MAAM,EAAE,eAAe,CAAC;IAC/B,WAAW,EAAE,CAAC,uBAAuB,EAAE,cAAc,EAAE,gBAAgB,EAAE,cAAc,CAAC;CACxF,CAAC,CAAC"}