@miosa/cli 1.3.4 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (489) hide show
  1. package/README.md +20 -835
  2. package/bin/miosa.js +75 -0
  3. package/lib/archive.js +88 -0
  4. package/lib/checksums.js +29 -0
  5. package/lib/platforms.js +31 -0
  6. package/lib/resolve.js +47 -0
  7. package/package.json +26 -41
  8. package/scripts/postinstall.js +68 -0
  9. package/CHANGELOG.md +0 -110
  10. package/dist/action-authority.d.ts +0 -106
  11. package/dist/action-authority.d.ts.map +0 -1
  12. package/dist/action-authority.js +0 -116
  13. package/dist/action-authority.js.map +0 -1
  14. package/dist/app-advisor.d.ts +0 -80
  15. package/dist/app-advisor.d.ts.map +0 -1
  16. package/dist/app-advisor.js +0 -486
  17. package/dist/app-advisor.js.map +0 -1
  18. package/dist/app-contract.d.ts +0 -92
  19. package/dist/app-contract.d.ts.map +0 -1
  20. package/dist/app-contract.js +0 -218
  21. package/dist/app-contract.js.map +0 -1
  22. package/dist/app-document.d.ts +0 -23
  23. package/dist/app-document.d.ts.map +0 -1
  24. package/dist/app-document.js +0 -180
  25. package/dist/app-document.js.map +0 -1
  26. package/dist/app-manifest.d.ts +0 -140
  27. package/dist/app-manifest.d.ts.map +0 -1
  28. package/dist/app-manifest.js +0 -377
  29. package/dist/app-manifest.js.map +0 -1
  30. package/dist/app-operation.d.ts +0 -23
  31. package/dist/app-operation.d.ts.map +0 -1
  32. package/dist/app-operation.js +0 -49
  33. package/dist/app-operation.js.map +0 -1
  34. package/dist/app-release.d.ts +0 -132
  35. package/dist/app-release.d.ts.map +0 -1
  36. package/dist/app-release.js +0 -294
  37. package/dist/app-release.js.map +0 -1
  38. package/dist/bin/miosa.d.ts +0 -3
  39. package/dist/bin/miosa.d.ts.map +0 -1
  40. package/dist/bin/miosa.js +0 -288
  41. package/dist/bin/miosa.js.map +0 -1
  42. package/dist/cli-env.d.ts +0 -12
  43. package/dist/cli-env.d.ts.map +0 -1
  44. package/dist/cli-env.js +0 -34
  45. package/dist/cli-env.js.map +0 -1
  46. package/dist/client.d.ts +0 -155
  47. package/dist/client.d.ts.map +0 -1
  48. package/dist/client.js +0 -865
  49. package/dist/client.js.map +0 -1
  50. package/dist/commands/actions.d.ts +0 -3
  51. package/dist/commands/actions.d.ts.map +0 -1
  52. package/dist/commands/actions.js +0 -222
  53. package/dist/commands/actions.js.map +0 -1
  54. package/dist/commands/agent-runtime-profiles.d.ts +0 -3
  55. package/dist/commands/agent-runtime-profiles.d.ts.map +0 -1
  56. package/dist/commands/agent-runtime-profiles.js +0 -198
  57. package/dist/commands/agent-runtime-profiles.js.map +0 -1
  58. package/dist/commands/agent.d.ts +0 -18
  59. package/dist/commands/agent.d.ts.map +0 -1
  60. package/dist/commands/agent.js +0 -737
  61. package/dist/commands/agent.js.map +0 -1
  62. package/dist/commands/alerts.d.ts +0 -3
  63. package/dist/commands/alerts.d.ts.map +0 -1
  64. package/dist/commands/alerts.js +0 -41
  65. package/dist/commands/alerts.js.map +0 -1
  66. package/dist/commands/api-keys.d.ts +0 -3
  67. package/dist/commands/api-keys.d.ts.map +0 -1
  68. package/dist/commands/api-keys.js +0 -160
  69. package/dist/commands/api-keys.js.map +0 -1
  70. package/dist/commands/api-resource.d.ts +0 -20
  71. package/dist/commands/api-resource.d.ts.map +0 -1
  72. package/dist/commands/api-resource.js +0 -120
  73. package/dist/commands/api-resource.js.map +0 -1
  74. package/dist/commands/app.d.ts +0 -38
  75. package/dist/commands/app.d.ts.map +0 -1
  76. package/dist/commands/app.js +0 -1182
  77. package/dist/commands/app.js.map +0 -1
  78. package/dist/commands/apps.d.ts +0 -3
  79. package/dist/commands/apps.d.ts.map +0 -1
  80. package/dist/commands/apps.js +0 -218
  81. package/dist/commands/apps.js.map +0 -1
  82. package/dist/commands/audit.d.ts +0 -3
  83. package/dist/commands/audit.d.ts.map +0 -1
  84. package/dist/commands/audit.js +0 -25
  85. package/dist/commands/audit.js.map +0 -1
  86. package/dist/commands/auth.d.ts +0 -3
  87. package/dist/commands/auth.d.ts.map +0 -1
  88. package/dist/commands/auth.js +0 -282
  89. package/dist/commands/auth.js.map +0 -1
  90. package/dist/commands/backups.d.ts +0 -3
  91. package/dist/commands/backups.d.ts.map +0 -1
  92. package/dist/commands/backups.js +0 -23
  93. package/dist/commands/backups.js.map +0 -1
  94. package/dist/commands/billing.d.ts +0 -3
  95. package/dist/commands/billing.d.ts.map +0 -1
  96. package/dist/commands/billing.js +0 -208
  97. package/dist/commands/billing.js.map +0 -1
  98. package/dist/commands/builds.d.ts +0 -3
  99. package/dist/commands/builds.d.ts.map +0 -1
  100. package/dist/commands/builds.js +0 -198
  101. package/dist/commands/builds.js.map +0 -1
  102. package/dist/commands/capabilities.d.ts +0 -3
  103. package/dist/commands/capabilities.d.ts.map +0 -1
  104. package/dist/commands/capabilities.js +0 -1002
  105. package/dist/commands/capabilities.js.map +0 -1
  106. package/dist/commands/checkpoints.d.ts +0 -3
  107. package/dist/commands/checkpoints.d.ts.map +0 -1
  108. package/dist/commands/checkpoints.js +0 -193
  109. package/dist/commands/checkpoints.js.map +0 -1
  110. package/dist/commands/cleanup.d.ts +0 -3
  111. package/dist/commands/cleanup.d.ts.map +0 -1
  112. package/dist/commands/cleanup.js +0 -65
  113. package/dist/commands/cleanup.js.map +0 -1
  114. package/dist/commands/cloud.d.ts +0 -3
  115. package/dist/commands/cloud.d.ts.map +0 -1
  116. package/dist/commands/cloud.js +0 -192
  117. package/dist/commands/cloud.js.map +0 -1
  118. package/dist/commands/command-overview.d.ts +0 -13
  119. package/dist/commands/command-overview.d.ts.map +0 -1
  120. package/dist/commands/command-overview.js +0 -50
  121. package/dist/commands/command-overview.js.map +0 -1
  122. package/dist/commands/completion.d.ts +0 -3
  123. package/dist/commands/completion.d.ts.map +0 -1
  124. package/dist/commands/completion.js +0 -183
  125. package/dist/commands/completion.js.map +0 -1
  126. package/dist/commands/computers.d.ts +0 -3
  127. package/dist/commands/computers.d.ts.map +0 -1
  128. package/dist/commands/computers.js +0 -706
  129. package/dist/commands/computers.js.map +0 -1
  130. package/dist/commands/config.d.ts +0 -3
  131. package/dist/commands/config.d.ts.map +0 -1
  132. package/dist/commands/config.js +0 -114
  133. package/dist/commands/config.js.map +0 -1
  134. package/dist/commands/connect.d.ts +0 -6
  135. package/dist/commands/connect.d.ts.map +0 -1
  136. package/dist/commands/connect.js +0 -127
  137. package/dist/commands/connect.js.map +0 -1
  138. package/dist/commands/connectors.d.ts +0 -3
  139. package/dist/commands/connectors.d.ts.map +0 -1
  140. package/dist/commands/connectors.js +0 -172
  141. package/dist/commands/connectors.js.map +0 -1
  142. package/dist/commands/containers.d.ts +0 -3
  143. package/dist/commands/containers.d.ts.map +0 -1
  144. package/dist/commands/containers.js +0 -20
  145. package/dist/commands/containers.js.map +0 -1
  146. package/dist/commands/context.d.ts +0 -3
  147. package/dist/commands/context.d.ts.map +0 -1
  148. package/dist/commands/context.js +0 -233
  149. package/dist/commands/context.js.map +0 -1
  150. package/dist/commands/cp.d.ts +0 -3
  151. package/dist/commands/cp.d.ts.map +0 -1
  152. package/dist/commands/cp.js +0 -319
  153. package/dist/commands/cp.js.map +0 -1
  154. package/dist/commands/cron.d.ts +0 -3
  155. package/dist/commands/cron.d.ts.map +0 -1
  156. package/dist/commands/cron.js +0 -65
  157. package/dist/commands/cron.js.map +0 -1
  158. package/dist/commands/dashboard.d.ts +0 -13
  159. package/dist/commands/dashboard.d.ts.map +0 -1
  160. package/dist/commands/dashboard.js +0 -54
  161. package/dist/commands/dashboard.js.map +0 -1
  162. package/dist/commands/databases.d.ts +0 -3
  163. package/dist/commands/databases.d.ts.map +0 -1
  164. package/dist/commands/databases.js +0 -714
  165. package/dist/commands/databases.js.map +0 -1
  166. package/dist/commands/db.d.ts +0 -3
  167. package/dist/commands/db.d.ts.map +0 -1
  168. package/dist/commands/db.js +0 -385
  169. package/dist/commands/db.js.map +0 -1
  170. package/dist/commands/deploy.d.ts +0 -3
  171. package/dist/commands/deploy.d.ts.map +0 -1
  172. package/dist/commands/deploy.js +0 -1234
  173. package/dist/commands/deploy.js.map +0 -1
  174. package/dist/commands/desktop.d.ts +0 -3
  175. package/dist/commands/desktop.d.ts.map +0 -1
  176. package/dist/commands/desktop.js +0 -277
  177. package/dist/commands/desktop.js.map +0 -1
  178. package/dist/commands/dev.d.ts +0 -3
  179. package/dist/commands/dev.d.ts.map +0 -1
  180. package/dist/commands/dev.js +0 -245
  181. package/dist/commands/dev.js.map +0 -1
  182. package/dist/commands/devices.d.ts +0 -3
  183. package/dist/commands/devices.d.ts.map +0 -1
  184. package/dist/commands/devices.js +0 -279
  185. package/dist/commands/devices.js.map +0 -1
  186. package/dist/commands/docker-deploy.d.ts +0 -3
  187. package/dist/commands/docker-deploy.d.ts.map +0 -1
  188. package/dist/commands/docker-deploy.js +0 -659
  189. package/dist/commands/docker-deploy.js.map +0 -1
  190. package/dist/commands/doctor.d.ts +0 -69
  191. package/dist/commands/doctor.d.ts.map +0 -1
  192. package/dist/commands/doctor.js +0 -596
  193. package/dist/commands/doctor.js.map +0 -1
  194. package/dist/commands/domains.d.ts +0 -3
  195. package/dist/commands/domains.d.ts.map +0 -1
  196. package/dist/commands/domains.js +0 -307
  197. package/dist/commands/domains.js.map +0 -1
  198. package/dist/commands/enterprise-util.d.ts +0 -39
  199. package/dist/commands/enterprise-util.d.ts.map +0 -1
  200. package/dist/commands/enterprise-util.js +0 -217
  201. package/dist/commands/enterprise-util.js.map +0 -1
  202. package/dist/commands/env-input.d.ts +0 -26
  203. package/dist/commands/env-input.d.ts.map +0 -1
  204. package/dist/commands/env-input.js +0 -68
  205. package/dist/commands/env-input.js.map +0 -1
  206. package/dist/commands/env.d.ts +0 -3
  207. package/dist/commands/env.d.ts.map +0 -1
  208. package/dist/commands/env.js +0 -189
  209. package/dist/commands/env.js.map +0 -1
  210. package/dist/commands/exec.d.ts +0 -3
  211. package/dist/commands/exec.d.ts.map +0 -1
  212. package/dist/commands/exec.js +0 -110
  213. package/dist/commands/exec.js.map +0 -1
  214. package/dist/commands/forge.d.ts +0 -3
  215. package/dist/commands/forge.d.ts.map +0 -1
  216. package/dist/commands/forge.js +0 -254
  217. package/dist/commands/forge.js.map +0 -1
  218. package/dist/commands/functions.d.ts +0 -3
  219. package/dist/commands/functions.d.ts.map +0 -1
  220. package/dist/commands/functions.js +0 -47
  221. package/dist/commands/functions.js.map +0 -1
  222. package/dist/commands/gha-runners.d.ts +0 -3
  223. package/dist/commands/gha-runners.d.ts.map +0 -1
  224. package/dist/commands/gha-runners.js +0 -33
  225. package/dist/commands/gha-runners.js.map +0 -1
  226. package/dist/commands/groups.d.ts +0 -3
  227. package/dist/commands/groups.d.ts.map +0 -1
  228. package/dist/commands/groups.js +0 -38
  229. package/dist/commands/groups.js.map +0 -1
  230. package/dist/commands/host.d.ts +0 -3
  231. package/dist/commands/host.d.ts.map +0 -1
  232. package/dist/commands/host.js +0 -74
  233. package/dist/commands/host.js.map +0 -1
  234. package/dist/commands/hosts.d.ts +0 -7
  235. package/dist/commands/hosts.d.ts.map +0 -1
  236. package/dist/commands/hosts.js +0 -91
  237. package/dist/commands/hosts.js.map +0 -1
  238. package/dist/commands/link.d.ts +0 -8
  239. package/dist/commands/link.d.ts.map +0 -1
  240. package/dist/commands/link.js +0 -124
  241. package/dist/commands/link.js.map +0 -1
  242. package/dist/commands/login.d.ts +0 -10
  243. package/dist/commands/login.d.ts.map +0 -1
  244. package/dist/commands/login.js +0 -263
  245. package/dist/commands/login.js.map +0 -1
  246. package/dist/commands/logout.d.ts +0 -3
  247. package/dist/commands/logout.d.ts.map +0 -1
  248. package/dist/commands/logout.js +0 -43
  249. package/dist/commands/logout.js.map +0 -1
  250. package/dist/commands/logs.d.ts +0 -3
  251. package/dist/commands/logs.d.ts.map +0 -1
  252. package/dist/commands/logs.js +0 -401
  253. package/dist/commands/logs.js.map +0 -1
  254. package/dist/commands/ls.d.ts +0 -3
  255. package/dist/commands/ls.d.ts.map +0 -1
  256. package/dist/commands/ls.js +0 -121
  257. package/dist/commands/ls.js.map +0 -1
  258. package/dist/commands/mcp.d.ts +0 -46
  259. package/dist/commands/mcp.d.ts.map +0 -1
  260. package/dist/commands/mcp.js +0 -3413
  261. package/dist/commands/mcp.js.map +0 -1
  262. package/dist/commands/menu.d.ts +0 -29
  263. package/dist/commands/menu.d.ts.map +0 -1
  264. package/dist/commands/menu.js +0 -147
  265. package/dist/commands/menu.js.map +0 -1
  266. package/dist/commands/meshes.d.ts +0 -3
  267. package/dist/commands/meshes.d.ts.map +0 -1
  268. package/dist/commands/meshes.js +0 -27
  269. package/dist/commands/meshes.js.map +0 -1
  270. package/dist/commands/network-policy.d.ts +0 -3
  271. package/dist/commands/network-policy.d.ts.map +0 -1
  272. package/dist/commands/network-policy.js +0 -155
  273. package/dist/commands/network-policy.js.map +0 -1
  274. package/dist/commands/new.d.ts +0 -3
  275. package/dist/commands/new.d.ts.map +0 -1
  276. package/dist/commands/new.js +0 -296
  277. package/dist/commands/new.js.map +0 -1
  278. package/dist/commands/opencomputers.d.ts +0 -10
  279. package/dist/commands/opencomputers.d.ts.map +0 -1
  280. package/dist/commands/opencomputers.js +0 -25
  281. package/dist/commands/opencomputers.js.map +0 -1
  282. package/dist/commands/operating-contract.d.ts +0 -3
  283. package/dist/commands/operating-contract.d.ts.map +0 -1
  284. package/dist/commands/operating-contract.js +0 -651
  285. package/dist/commands/operating-contract.js.map +0 -1
  286. package/dist/commands/project.d.ts +0 -4
  287. package/dist/commands/project.d.ts.map +0 -1
  288. package/dist/commands/project.js +0 -25
  289. package/dist/commands/project.js.map +0 -1
  290. package/dist/commands/pull.d.ts +0 -14
  291. package/dist/commands/pull.d.ts.map +0 -1
  292. package/dist/commands/pull.js +0 -156
  293. package/dist/commands/pull.js.map +0 -1
  294. package/dist/commands/regions.d.ts +0 -3
  295. package/dist/commands/regions.d.ts.map +0 -1
  296. package/dist/commands/regions.js +0 -103
  297. package/dist/commands/regions.js.map +0 -1
  298. package/dist/commands/releases.d.ts +0 -3
  299. package/dist/commands/releases.d.ts.map +0 -1
  300. package/dist/commands/releases.js +0 -365
  301. package/dist/commands/releases.js.map +0 -1
  302. package/dist/commands/rm.d.ts +0 -3
  303. package/dist/commands/rm.d.ts.map +0 -1
  304. package/dist/commands/rm.js +0 -42
  305. package/dist/commands/rm.js.map +0 -1
  306. package/dist/commands/rollback.d.ts +0 -3
  307. package/dist/commands/rollback.d.ts.map +0 -1
  308. package/dist/commands/rollback.js +0 -62
  309. package/dist/commands/rollback.js.map +0 -1
  310. package/dist/commands/run-groups.d.ts +0 -3
  311. package/dist/commands/run-groups.d.ts.map +0 -1
  312. package/dist/commands/run-groups.js +0 -364
  313. package/dist/commands/run-groups.js.map +0 -1
  314. package/dist/commands/run.d.ts +0 -3
  315. package/dist/commands/run.d.ts.map +0 -1
  316. package/dist/commands/run.js +0 -130
  317. package/dist/commands/run.js.map +0 -1
  318. package/dist/commands/runs.d.ts +0 -3
  319. package/dist/commands/runs.d.ts.map +0 -1
  320. package/dist/commands/runs.js +0 -365
  321. package/dist/commands/runs.js.map +0 -1
  322. package/dist/commands/runtime-env.d.ts +0 -3
  323. package/dist/commands/runtime-env.d.ts.map +0 -1
  324. package/dist/commands/runtime-env.js +0 -114
  325. package/dist/commands/runtime-env.js.map +0 -1
  326. package/dist/commands/sandbox-delete-guard.d.ts +0 -4
  327. package/dist/commands/sandbox-delete-guard.d.ts.map +0 -1
  328. package/dist/commands/sandbox-delete-guard.js +0 -32
  329. package/dist/commands/sandbox-delete-guard.js.map +0 -1
  330. package/dist/commands/sandbox-dev.d.ts +0 -20
  331. package/dist/commands/sandbox-dev.d.ts.map +0 -1
  332. package/dist/commands/sandbox-dev.js +0 -583
  333. package/dist/commands/sandbox-dev.js.map +0 -1
  334. package/dist/commands/sandbox.d.ts +0 -36
  335. package/dist/commands/sandbox.d.ts.map +0 -1
  336. package/dist/commands/sandbox.js +0 -3796
  337. package/dist/commands/sandbox.js.map +0 -1
  338. package/dist/commands/scale.d.ts +0 -3
  339. package/dist/commands/scale.d.ts.map +0 -1
  340. package/dist/commands/scale.js +0 -61
  341. package/dist/commands/scale.js.map +0 -1
  342. package/dist/commands/schedules.d.ts +0 -3
  343. package/dist/commands/schedules.d.ts.map +0 -1
  344. package/dist/commands/schedules.js +0 -37
  345. package/dist/commands/schedules.js.map +0 -1
  346. package/dist/commands/secrets.d.ts +0 -3
  347. package/dist/commands/secrets.d.ts.map +0 -1
  348. package/dist/commands/secrets.js +0 -200
  349. package/dist/commands/secrets.js.map +0 -1
  350. package/dist/commands/services.d.ts +0 -3
  351. package/dist/commands/services.d.ts.map +0 -1
  352. package/dist/commands/services.js +0 -70
  353. package/dist/commands/services.js.map +0 -1
  354. package/dist/commands/shell.d.ts +0 -16
  355. package/dist/commands/shell.d.ts.map +0 -1
  356. package/dist/commands/shell.js +0 -555
  357. package/dist/commands/shell.js.map +0 -1
  358. package/dist/commands/snapshot.d.ts +0 -10
  359. package/dist/commands/snapshot.d.ts.map +0 -1
  360. package/dist/commands/snapshot.js +0 -181
  361. package/dist/commands/snapshot.js.map +0 -1
  362. package/dist/commands/ssh.d.ts +0 -3
  363. package/dist/commands/ssh.d.ts.map +0 -1
  364. package/dist/commands/ssh.js +0 -93
  365. package/dist/commands/ssh.js.map +0 -1
  366. package/dist/commands/status.d.ts +0 -3
  367. package/dist/commands/status.d.ts.map +0 -1
  368. package/dist/commands/status.js +0 -302
  369. package/dist/commands/status.js.map +0 -1
  370. package/dist/commands/storage.d.ts +0 -3
  371. package/dist/commands/storage.d.ts.map +0 -1
  372. package/dist/commands/storage.js +0 -456
  373. package/dist/commands/storage.js.map +0 -1
  374. package/dist/commands/teams.d.ts +0 -3
  375. package/dist/commands/teams.d.ts.map +0 -1
  376. package/dist/commands/teams.js +0 -169
  377. package/dist/commands/teams.js.map +0 -1
  378. package/dist/commands/templates.d.ts +0 -3
  379. package/dist/commands/templates.d.ts.map +0 -1
  380. package/dist/commands/templates.js +0 -690
  381. package/dist/commands/templates.js.map +0 -1
  382. package/dist/commands/tenant.d.ts +0 -3
  383. package/dist/commands/tenant.d.ts.map +0 -1
  384. package/dist/commands/tenant.js +0 -95
  385. package/dist/commands/tenant.js.map +0 -1
  386. package/dist/commands/tunnel.d.ts +0 -3
  387. package/dist/commands/tunnel.d.ts.map +0 -1
  388. package/dist/commands/tunnel.js +0 -418
  389. package/dist/commands/tunnel.js.map +0 -1
  390. package/dist/commands/up.d.ts +0 -14
  391. package/dist/commands/up.d.ts.map +0 -1
  392. package/dist/commands/up.js +0 -720
  393. package/dist/commands/up.js.map +0 -1
  394. package/dist/commands/update.d.ts +0 -3
  395. package/dist/commands/update.d.ts.map +0 -1
  396. package/dist/commands/update.js +0 -166
  397. package/dist/commands/update.js.map +0 -1
  398. package/dist/commands/util.d.ts +0 -25
  399. package/dist/commands/util.d.ts.map +0 -1
  400. package/dist/commands/util.js +0 -199
  401. package/dist/commands/util.js.map +0 -1
  402. package/dist/commands/volumes.d.ts +0 -3
  403. package/dist/commands/volumes.d.ts.map +0 -1
  404. package/dist/commands/volumes.js +0 -196
  405. package/dist/commands/volumes.js.map +0 -1
  406. package/dist/commands/watch.d.ts +0 -6
  407. package/dist/commands/watch.d.ts.map +0 -1
  408. package/dist/commands/watch.js +0 -414
  409. package/dist/commands/watch.js.map +0 -1
  410. package/dist/commands/webhooks.d.ts +0 -3
  411. package/dist/commands/webhooks.d.ts.map +0 -1
  412. package/dist/commands/webhooks.js +0 -23
  413. package/dist/commands/webhooks.js.map +0 -1
  414. package/dist/commands/whoami.d.ts +0 -3
  415. package/dist/commands/whoami.d.ts.map +0 -1
  416. package/dist/commands/whoami.js +0 -156
  417. package/dist/commands/whoami.js.map +0 -1
  418. package/dist/commands/workspaces.d.ts +0 -3
  419. package/dist/commands/workspaces.d.ts.map +0 -1
  420. package/dist/commands/workspaces.js +0 -147
  421. package/dist/commands/workspaces.js.map +0 -1
  422. package/dist/config.d.ts +0 -54
  423. package/dist/config.d.ts.map +0 -1
  424. package/dist/config.js +0 -275
  425. package/dist/config.js.map +0 -1
  426. package/dist/errors.d.ts +0 -30
  427. package/dist/errors.d.ts.map +0 -1
  428. package/dist/errors.js +0 -92
  429. package/dist/errors.js.map +0 -1
  430. package/dist/framework-detector.d.ts +0 -22
  431. package/dist/framework-detector.d.ts.map +0 -1
  432. package/dist/framework-detector.js +0 -373
  433. package/dist/framework-detector.js.map +0 -1
  434. package/dist/generated/action-capabilities.d.ts +0 -826
  435. package/dist/generated/action-capabilities.d.ts.map +0 -1
  436. package/dist/generated/action-capabilities.js +0 -1035
  437. package/dist/generated/action-capabilities.js.map +0 -1
  438. package/dist/net-diagnosis.d.ts +0 -87
  439. package/dist/net-diagnosis.d.ts.map +0 -1
  440. package/dist/net-diagnosis.js +0 -408
  441. package/dist/net-diagnosis.js.map +0 -1
  442. package/dist/pty/raw-mode.d.ts +0 -7
  443. package/dist/pty/raw-mode.d.ts.map +0 -1
  444. package/dist/pty/raw-mode.js +0 -22
  445. package/dist/pty/raw-mode.js.map +0 -1
  446. package/dist/pty/ws-pty-client.d.ts +0 -13
  447. package/dist/pty/ws-pty-client.d.ts.map +0 -1
  448. package/dist/pty/ws-pty-client.js +0 -73
  449. package/dist/pty/ws-pty-client.js.map +0 -1
  450. package/dist/tui/dashboard.d.ts +0 -35
  451. package/dist/tui/dashboard.d.ts.map +0 -1
  452. package/dist/tui/dashboard.js +0 -191
  453. package/dist/tui/dashboard.js.map +0 -1
  454. package/dist/tui/logs.d.ts +0 -26
  455. package/dist/tui/logs.d.ts.map +0 -1
  456. package/dist/tui/logs.js +0 -276
  457. package/dist/tui/logs.js.map +0 -1
  458. package/dist/types.d.ts +0 -362
  459. package/dist/types.d.ts.map +0 -1
  460. package/dist/types.js +0 -16
  461. package/dist/types.js.map +0 -1
  462. package/dist/ui/picker.d.ts +0 -41
  463. package/dist/ui/picker.d.ts.map +0 -1
  464. package/dist/ui/picker.js +0 -77
  465. package/dist/ui/picker.js.map +0 -1
  466. package/dist/ui/progress.d.ts +0 -10
  467. package/dist/ui/progress.d.ts.map +0 -1
  468. package/dist/ui/progress.js +0 -36
  469. package/dist/ui/progress.js.map +0 -1
  470. package/dist/ui/render.d.ts +0 -91
  471. package/dist/ui/render.d.ts.map +0 -1
  472. package/dist/ui/render.js +0 -138
  473. package/dist/ui/render.js.map +0 -1
  474. package/dist/ui/spinner.d.ts +0 -4
  475. package/dist/ui/spinner.d.ts.map +0 -1
  476. package/dist/ui/spinner.js +0 -7
  477. package/dist/ui/spinner.js.map +0 -1
  478. package/dist/ui/table.d.ts +0 -8
  479. package/dist/ui/table.d.ts.map +0 -1
  480. package/dist/ui/table.js +0 -46
  481. package/dist/ui/table.js.map +0 -1
  482. package/dist/update-check.d.ts +0 -13
  483. package/dist/update-check.d.ts.map +0 -1
  484. package/dist/update-check.js +0 -94
  485. package/dist/update-check.js.map +0 -1
  486. package/dist/version.d.ts +0 -3
  487. package/dist/version.d.ts.map +0 -1
  488. package/dist/version.js +0 -5
  489. package/dist/version.js.map +0 -1
@@ -1,456 +0,0 @@
1
- import chalk from "chalk";
2
- import { createWriteStream } from "node:fs";
3
- import { stat } from "node:fs/promises";
4
- import { basename } from "node:path";
5
- import { loadConfig } from "../config.js";
6
- import { MiosaClient } from "../client.js";
7
- import { renderTable } from "../ui/table.js";
8
- import { spin } from "../ui/spinner.js";
9
- import { handleError, isJsonMode, printJson } from "./util.js";
10
- import { CLI_USER_AGENT } from "../version.js";
11
- function unwrapObjects(raw) {
12
- if (Array.isArray(raw))
13
- return raw;
14
- return raw.data ?? raw.objects ?? [];
15
- }
16
- function unwrapPresign(raw) {
17
- if ("data" in raw && raw.data)
18
- return raw.data;
19
- return raw;
20
- }
21
- function unwrapBuckets(raw) {
22
- if (Array.isArray(raw))
23
- return raw;
24
- return raw.data ?? raw.buckets ?? [];
25
- }
26
- function unwrapBucket(raw) {
27
- if ("data" in raw && raw.data)
28
- return raw.data;
29
- if ("bucket" in raw && raw.bucket)
30
- return raw.bucket;
31
- return raw;
32
- }
33
- function fmtSize(bytes) {
34
- if (bytes === undefined)
35
- return chalk.dim("-");
36
- if (bytes < 1024)
37
- return `${bytes}B`;
38
- if (bytes < 1024 * 1024)
39
- return `${(bytes / 1024).toFixed(1)}KB`;
40
- if (bytes < 1024 * 1024 * 1024)
41
- return `${(bytes / (1024 * 1024)).toFixed(1)}MB`;
42
- return `${(bytes / (1024 * 1024 * 1024)).toFixed(2)}GB`;
43
- }
44
- export function register(program) {
45
- const storage = program
46
- .command("storage")
47
- .description("Manage object storage buckets");
48
- // list
49
- storage
50
- .command("list")
51
- .description("List storage buckets")
52
- .option("--json", "Output raw JSON")
53
- .action(async (opts) => {
54
- try {
55
- const config = loadConfig();
56
- const client = new MiosaClient(config);
57
- const json = isJsonMode(opts);
58
- const spinner = json ? null : spin("Fetching buckets...");
59
- const rows = unwrapBuckets(await client.apiGet("/api/v1/storage/buckets"));
60
- spinner?.stop();
61
- if (json) {
62
- printJson(rows);
63
- return;
64
- }
65
- renderTable(rows, [
66
- { header: "ID", key: (b) => b.id.slice(0, 12), width: 14 },
67
- { header: "NAME", key: "name", width: 28 },
68
- {
69
- header: "VISIBILITY",
70
- key: (b) => {
71
- const v = b.visibility ?? "private";
72
- return v === "public" ? chalk.cyan(v) : chalk.dim(v);
73
- },
74
- width: 12,
75
- },
76
- {
77
- header: "REGION",
78
- key: (b) => b.region ?? chalk.dim("default"),
79
- width: 14,
80
- },
81
- {
82
- header: "OBJECTS",
83
- key: (b) => b.object_count !== undefined
84
- ? String(b.object_count)
85
- : chalk.dim("-"),
86
- width: 10,
87
- },
88
- { header: "SIZE", key: (b) => fmtSize(b.size_bytes), width: 10 },
89
- ]);
90
- }
91
- catch (err) {
92
- handleError(err);
93
- }
94
- });
95
- // create
96
- storage
97
- .command("create")
98
- .description("Create a storage bucket")
99
- .requiredOption("--name <name>", "Bucket name")
100
- .option("--public", "Make bucket publicly readable")
101
- .option("--region <region>", "Region ID")
102
- .option("--json", "Output raw JSON")
103
- .action(async (opts) => {
104
- try {
105
- const config = loadConfig();
106
- const client = new MiosaClient(config);
107
- const json = isJsonMode(opts);
108
- const spinner = json ? null : spin(`Creating bucket ${opts.name}...`);
109
- const body = {
110
- name: opts.name,
111
- visibility: opts.public ? "public" : "private",
112
- };
113
- if (opts.region)
114
- body["region"] = opts.region;
115
- const bucket = unwrapBucket(await client.apiPost("/api/v1/storage/buckets", body));
116
- spinner?.succeed(`Created bucket ${bucket.name}`);
117
- if (json) {
118
- printJson(bucket);
119
- return;
120
- }
121
- console.log();
122
- console.log(` ${chalk.bold("ID")} ${bucket.id}`);
123
- console.log(` ${chalk.bold("Name")} ${bucket.name}`);
124
- console.log(` ${chalk.bold("Visibility")} ${bucket.visibility ?? (opts.public ? "public" : "private")}`);
125
- console.log();
126
- }
127
- catch (err) {
128
- handleError(err);
129
- }
130
- });
131
- // get
132
- storage
133
- .command("get <id>")
134
- .description("Get storage bucket details")
135
- .option("--json", "Output raw JSON")
136
- .action(async (id, opts) => {
137
- try {
138
- const config = loadConfig();
139
- const client = new MiosaClient(config);
140
- const bucket = unwrapBucket(await client.apiGet(`/api/v1/storage/buckets/${encodeURIComponent(id)}`));
141
- if (isJsonMode(opts)) {
142
- printJson(bucket);
143
- return;
144
- }
145
- console.log();
146
- console.log(` ${chalk.bold("ID")} ${bucket.id}`);
147
- console.log(` ${chalk.bold("Name")} ${bucket.name}`);
148
- console.log(` ${chalk.bold("Visibility")} ${bucket.visibility ?? chalk.dim("private")}`);
149
- console.log(` ${chalk.bold("Region")} ${bucket.region ?? chalk.dim("default")}`);
150
- console.log(` ${chalk.bold("Objects")} ${bucket.object_count !== undefined ? bucket.object_count : chalk.dim("-")}`);
151
- console.log(` ${chalk.bold("Size")} ${fmtSize(bucket.size_bytes)}`);
152
- if (bucket.created_at)
153
- console.log(` ${chalk.bold("Created")} ${bucket.created_at}`);
154
- console.log();
155
- }
156
- catch (err) {
157
- handleError(err);
158
- }
159
- });
160
- // delete
161
- storage
162
- .command("delete <id>")
163
- .description("Delete a storage bucket")
164
- .option("-f, --force", "Skip confirmation prompt")
165
- .option("--json", "Output raw JSON")
166
- .action(async (id, opts) => {
167
- try {
168
- if (!opts.force) {
169
- const { default: inquirer } = await import("inquirer");
170
- const { ok } = await inquirer.prompt([
171
- {
172
- type: "confirm",
173
- name: "ok",
174
- message: chalk.red(`Delete bucket ${id}? All objects will be lost.`),
175
- default: false,
176
- },
177
- ]);
178
- if (!ok) {
179
- console.log(chalk.dim(" Cancelled."));
180
- process.exit(0);
181
- }
182
- }
183
- const config = loadConfig();
184
- const client = new MiosaClient(config);
185
- const json = isJsonMode(opts);
186
- const spinner = json ? null : spin("Deleting bucket...");
187
- const result = await client.apiDelete(`/api/v1/storage/buckets/${encodeURIComponent(id)}`);
188
- spinner?.succeed("Bucket deleted");
189
- if (json)
190
- printJson(result ?? { ok: true });
191
- }
192
- catch (err) {
193
- handleError(err);
194
- }
195
- });
196
- // objects list
197
- storage
198
- .command("objects <bucket-id>")
199
- .description("List objects in a storage bucket")
200
- .option("--json", "Output raw JSON")
201
- .action(async (bucketId, opts) => {
202
- try {
203
- const config = loadConfig();
204
- const client = new MiosaClient(config);
205
- const json = isJsonMode(opts);
206
- const spinner = json ? null : spin("Fetching objects...");
207
- const rows = unwrapObjects(await client.apiGet(`/api/v1/storage/buckets/${encodeURIComponent(bucketId)}/objects`));
208
- spinner?.stop();
209
- if (json) {
210
- printJson(rows);
211
- return;
212
- }
213
- if (rows.length === 0) {
214
- console.log(chalk.dim("No objects found."));
215
- return;
216
- }
217
- renderTable(rows, [
218
- { header: "KEY", key: "key", width: 40 },
219
- { header: "SIZE", key: (o) => fmtSize(o.size), width: 10 },
220
- {
221
- header: "TYPE",
222
- key: (o) => o.content_type ?? chalk.dim("-"),
223
- width: 24,
224
- },
225
- {
226
- header: "LAST MODIFIED",
227
- key: (o) => o.last_modified
228
- ? o.last_modified.slice(0, 19).replace("T", " ")
229
- : chalk.dim("-"),
230
- width: 20,
231
- },
232
- ]);
233
- }
234
- catch (err) {
235
- handleError(err);
236
- }
237
- });
238
- // upload
239
- storage
240
- .command("upload <bucket-id> <local-path>")
241
- .description("Upload a file to a storage bucket")
242
- .option("--key <remote-key>", "Object key (defaults to filename)")
243
- .option("--json", "Output raw JSON")
244
- .action(async (bucketId, localPath, opts) => {
245
- try {
246
- // Verify the local file exists and get its size
247
- let fileSize;
248
- try {
249
- const info = await stat(localPath);
250
- fileSize = info.size;
251
- }
252
- catch {
253
- if (isJsonMode(opts)) {
254
- printJson({
255
- ok: false,
256
- error: {
257
- code: "FILE_NOT_FOUND",
258
- message: `File not found: ${localPath}`,
259
- retryable: false,
260
- },
261
- });
262
- }
263
- else {
264
- console.error(chalk.red(`File not found: ${localPath}`));
265
- }
266
- process.exit(1);
267
- }
268
- const objectKey = opts.key ?? basename(localPath);
269
- const config = loadConfig();
270
- const json = isJsonMode(opts);
271
- const spinner = json
272
- ? null
273
- : spin(`Uploading ${basename(localPath)} (${fmtSize(fileSize)})...`);
274
- // Read the file and upload via PUT
275
- const { readFile } = await import("node:fs/promises");
276
- const data = await readFile(localPath);
277
- const { request } = await import("undici");
278
- const endpoint = config.endpoint;
279
- const apiKey = config.api_key ?? "";
280
- const url = `${endpoint.replace(/\/$/, "")}/api/v1/storage/buckets/${encodeURIComponent(bucketId)}/objects/${encodeURIComponent(objectKey)}`;
281
- const res = await request(url, {
282
- method: "PUT",
283
- headers: {
284
- Authorization: `Bearer ${apiKey}`,
285
- "Content-Type": "application/octet-stream",
286
- "Content-Length": String(data.byteLength),
287
- "User-Agent": CLI_USER_AGENT,
288
- },
289
- body: data,
290
- });
291
- if (res.statusCode >= 400) {
292
- spinner?.fail("Upload failed");
293
- const body = await res.body.text();
294
- if (json) {
295
- printJson({
296
- ok: false,
297
- error: {
298
- code: "HTTP_ERROR",
299
- message: `HTTP ${res.statusCode}: ${body}`,
300
- retryable: res.statusCode >= 500,
301
- },
302
- });
303
- }
304
- else {
305
- console.error(chalk.red(`HTTP ${res.statusCode}: ${body}`));
306
- }
307
- process.exit(1);
308
- }
309
- const result = (await res.body.json());
310
- spinner?.succeed(`Uploaded → ${objectKey}`);
311
- if (json) {
312
- printJson(result ?? { key: objectKey });
313
- return;
314
- }
315
- console.log();
316
- console.log(` ${chalk.bold("Bucket")} ${bucketId}`);
317
- console.log(` ${chalk.bold("Key")} ${objectKey}`);
318
- console.log(` ${chalk.bold("Size")} ${fmtSize(fileSize)}`);
319
- console.log();
320
- }
321
- catch (err) {
322
- handleError(err);
323
- }
324
- });
325
- // download
326
- storage
327
- .command("download <bucket-id> <key>")
328
- .description("Download an object from a storage bucket")
329
- .option("--output <local-path>", "Local path to write the file")
330
- .option("--json", "Output raw JSON metadata")
331
- .action(async (bucketId, key, opts) => {
332
- try {
333
- const config = loadConfig();
334
- const client = new MiosaClient(config);
335
- const outputPath = opts.output ?? basename(key);
336
- const json = isJsonMode(opts);
337
- const spinner = json ? null : spin(`Downloading ${key}...`);
338
- // Use undici request directly for streaming the binary response
339
- const { request } = await import("undici");
340
- const { pipeline } = await import("node:stream/promises");
341
- const endpoint = config.endpoint;
342
- const apiKey = config.api_key ?? "";
343
- const url = `${endpoint.replace(/\/$/, "")}/api/v1/storage/buckets/${encodeURIComponent(bucketId)}/objects/${encodeURIComponent(key)}`;
344
- const res = await request(url, {
345
- method: "GET",
346
- headers: {
347
- Authorization: `Bearer ${apiKey}`,
348
- "User-Agent": CLI_USER_AGENT,
349
- },
350
- });
351
- if (res.statusCode >= 400) {
352
- spinner?.fail("Download failed");
353
- const body = await res.body.text();
354
- if (json) {
355
- printJson({
356
- ok: false,
357
- error: {
358
- code: "HTTP_ERROR",
359
- message: `HTTP ${res.statusCode}: ${body}`,
360
- retryable: res.statusCode >= 500,
361
- },
362
- });
363
- }
364
- else {
365
- console.error(chalk.red(`HTTP ${res.statusCode}: ${body}`));
366
- }
367
- process.exit(1);
368
- }
369
- const outStream = createWriteStream(outputPath);
370
- await pipeline(res.body, outStream);
371
- spinner?.succeed(`Downloaded → ${outputPath}`);
372
- if (json) {
373
- printJson({ key, output: outputPath, bucket: bucketId });
374
- return;
375
- }
376
- console.log();
377
- console.log(` ${chalk.bold("Key")} ${key}`);
378
- console.log(` ${chalk.bold("Saved")} ${outputPath}`);
379
- console.log();
380
- }
381
- catch (err) {
382
- handleError(err);
383
- }
384
- });
385
- // delete-object
386
- storage
387
- .command("delete-object <bucket-id> <key>")
388
- .description("Delete an object from a storage bucket")
389
- .option("--json", "Output raw JSON")
390
- .action(async (bucketId, key, opts) => {
391
- try {
392
- const config = loadConfig();
393
- const client = new MiosaClient(config);
394
- const json = isJsonMode(opts);
395
- const spinner = json ? null : spin(`Deleting ${key}...`);
396
- const result = await client.apiDelete(`/api/v1/storage/buckets/${encodeURIComponent(bucketId)}/objects/${encodeURIComponent(key)}`);
397
- spinner?.succeed(`Deleted ${key}`);
398
- if (json)
399
- printJson(result ?? { ok: true });
400
- }
401
- catch (err) {
402
- handleError(err);
403
- }
404
- });
405
- // presign
406
- storage
407
- .command("presign <bucket-id> <key>")
408
- .description("Generate a presigned URL for an object")
409
- .option("--expires <seconds>", "URL expiry in seconds", "3600")
410
- .option("--json", "Output raw JSON")
411
- .action(async (bucketId, key, opts) => {
412
- try {
413
- const expiresIn = parseInt(opts.expires, 10);
414
- if (isNaN(expiresIn) || expiresIn <= 0) {
415
- if (isJsonMode(opts)) {
416
- printJson({
417
- ok: false,
418
- error: {
419
- code: "INVALID_ARGUMENT",
420
- message: "--expires must be a positive integer (seconds)",
421
- retryable: false,
422
- },
423
- });
424
- }
425
- else {
426
- console.error(chalk.red("--expires must be a positive integer (seconds)"));
427
- }
428
- process.exit(1);
429
- }
430
- const config = loadConfig();
431
- const client = new MiosaClient(config);
432
- const json = isJsonMode(opts);
433
- const spinner = json ? null : spin("Generating presigned URL...");
434
- const presign = unwrapPresign(await client.apiPost(`/api/v1/storage/buckets/${encodeURIComponent(bucketId)}/presign`, { key, expires_in: expiresIn }));
435
- spinner?.stop();
436
- const url = presign.url ?? presign.presigned_url;
437
- if (json) {
438
- printJson(presign);
439
- return;
440
- }
441
- if (!url) {
442
- console.error(chalk.red("No presigned URL returned by the API."));
443
- process.exit(1);
444
- }
445
- console.log();
446
- console.log(` ${chalk.bold("Key")} ${key}`);
447
- console.log(` ${chalk.bold("Expires")} ${expiresIn}s`);
448
- console.log(` ${chalk.bold("URL")} ${chalk.cyan(url)}`);
449
- console.log();
450
- }
451
- catch (err) {
452
- handleError(err);
453
- }
454
- });
455
- }
456
- //# sourceMappingURL=storage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/commands/storage.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import type { Command } from "commander";
2
- export declare function register(program: Command): void;
3
- //# sourceMappingURL=teams.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"teams.d.ts","sourceRoot":"","sources":["../../src/commands/teams.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwDzC,wBAAgB,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkK/C"}
@@ -1,169 +0,0 @@
1
- import chalk from "chalk";
2
- import { loadConfig } from "../config.js";
3
- import { MiosaClient } from "../client.js";
4
- import { renderTable } from "../ui/table.js";
5
- import { spin } from "../ui/spinner.js";
6
- import { handleError } from "./util.js";
7
- function unwrapMembers(raw) {
8
- if (Array.isArray(raw))
9
- return raw;
10
- return raw.data ?? raw.members ?? [];
11
- }
12
- function unwrapInvite(raw) {
13
- if ("data" in raw && raw.data)
14
- return raw.data;
15
- if ("invite" in raw && raw.invite)
16
- return raw.invite;
17
- return raw;
18
- }
19
- function fmtRole(role) {
20
- if (!role)
21
- return chalk.dim("-");
22
- if (role === "admin")
23
- return chalk.yellow(role);
24
- return role;
25
- }
26
- function fmtStatus(status) {
27
- if (!status)
28
- return chalk.dim("-");
29
- if (status === "active")
30
- return chalk.green(status);
31
- if (status === "pending")
32
- return chalk.cyan(status);
33
- return chalk.dim(status);
34
- }
35
- export function register(program) {
36
- const teams = program
37
- .command("teams")
38
- .description("Manage organization members and invitations");
39
- // list
40
- teams
41
- .command("list")
42
- .description("List organization members")
43
- .option("--json", "Output raw JSON")
44
- .action(async (opts) => {
45
- try {
46
- const config = loadConfig();
47
- const client = new MiosaClient(config);
48
- const spinner = spin("Fetching organization members...");
49
- const rows = unwrapMembers(await client.apiGet("/api/v1/tenant/members"));
50
- spinner.stop();
51
- if (opts.json) {
52
- console.log(JSON.stringify(rows, null, 2));
53
- return;
54
- }
55
- if (rows.length === 0) {
56
- console.log(chalk.dim("No organization members found."));
57
- return;
58
- }
59
- renderTable(rows, [
60
- { header: "ID", key: (m) => m.id.slice(0, 12), width: 14 },
61
- { header: "USER ID", key: (m) => m.user_id.slice(0, 12), width: 14 },
62
- { header: "EMAIL", key: "email", width: 32 },
63
- { header: "NAME", key: (m) => m.name ?? chalk.dim("-"), width: 22 },
64
- { header: "ROLE", key: (m) => fmtRole(m.role), width: 10 },
65
- ]);
66
- }
67
- catch (err) {
68
- handleError(err);
69
- }
70
- });
71
- // invite
72
- teams
73
- .command("invite <email>")
74
- .description("Invite a user to the organization")
75
- .option("--role <role>", "Role to assign: owner, admin, member, or viewer", "member")
76
- .option("--json", "Output raw JSON")
77
- .action(async (email, opts) => {
78
- try {
79
- const role = opts.role;
80
- if (!["owner", "admin", "member", "viewer"].includes(role)) {
81
- console.error(chalk.red(`Invalid role "${role}". Use: owner, admin, member, viewer`));
82
- process.exit(1);
83
- }
84
- const config = loadConfig();
85
- const client = new MiosaClient(config);
86
- const spinner = spin(`Inviting ${email}...`);
87
- const invite = unwrapInvite(await client.apiPost("/api/v1/tenant/members", { email, role }));
88
- spinner.succeed(`Invited ${email}`);
89
- if (opts.json) {
90
- console.log(JSON.stringify(invite, null, 2));
91
- return;
92
- }
93
- console.log();
94
- console.log(` ${chalk.bold("Invite ID")} ${invite.invite_id}`);
95
- console.log(` ${chalk.bold("Email")} ${invite.email}`);
96
- console.log(` ${chalk.bold("Role")} ${fmtRole(invite.role)}`);
97
- console.log(` ${chalk.bold("Status")} ${fmtStatus(invite.status)}`);
98
- console.log();
99
- }
100
- catch (err) {
101
- handleError(err);
102
- }
103
- });
104
- // remove
105
- teams
106
- .command("remove <member-id>")
107
- .description("Remove an organization member")
108
- .option("-f, --force", "Skip confirmation prompt")
109
- .option("--json", "Output raw JSON")
110
- .action(async (memberId, opts) => {
111
- try {
112
- if (!opts.force) {
113
- const { default: inquirer } = await import("inquirer");
114
- const { ok } = await inquirer.prompt([
115
- {
116
- type: "confirm",
117
- name: "ok",
118
- message: chalk.red(`Remove organization member ${memberId}?`),
119
- default: false,
120
- },
121
- ]);
122
- if (!ok) {
123
- console.log(chalk.dim(" Cancelled."));
124
- process.exit(0);
125
- }
126
- }
127
- const config = loadConfig();
128
- const client = new MiosaClient(config);
129
- const spinner = spin("Removing member...");
130
- const result = await client.apiDelete(`/api/v1/tenant/members/${encodeURIComponent(memberId)}`);
131
- spinner.succeed("Member removed");
132
- if (opts.json)
133
- console.log(JSON.stringify(result ?? { ok: true }, null, 2));
134
- }
135
- catch (err) {
136
- handleError(err);
137
- }
138
- });
139
- // role
140
- teams
141
- .command("role <member-id> <role>")
142
- .description("Update an organization member's role")
143
- .option("--json", "Output raw JSON")
144
- .action(async (memberId, role, opts) => {
145
- try {
146
- if (!["owner", "admin", "member", "viewer"].includes(role)) {
147
- console.error(chalk.red(`Invalid role "${role}". Use: owner, admin, member, viewer`));
148
- process.exit(1);
149
- }
150
- const config = loadConfig();
151
- const client = new MiosaClient(config);
152
- const spinner = spin(`Updating role to ${role}...`);
153
- const result = await client.apiPatch(`/api/v1/tenant/members/${encodeURIComponent(memberId)}/role`, { role });
154
- spinner.succeed(`Role updated to ${role}`);
155
- if (opts.json) {
156
- console.log(JSON.stringify(result, null, 2));
157
- return;
158
- }
159
- console.log();
160
- console.log(` ${chalk.bold("Member")} ${memberId}`);
161
- console.log(` ${chalk.bold("Role")} ${fmtRole(role)}`);
162
- console.log();
163
- }
164
- catch (err) {
165
- handleError(err);
166
- }
167
- });
168
- }
169
- //# sourceMappingURL=teams.js.map