@miosa/cli 1.3.3 → 2.0.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 +26 -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 +25 -41
  8. package/scripts/postinstall.js +68 -0
  9. package/CHANGELOG.md +0 -105
  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 -29
  427. package/dist/errors.d.ts.map +0 -1
  428. package/dist/errors.js +0 -86
  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
package/README.md CHANGED
@@ -1,850 +1,35 @@
1
1
  # @miosa/cli
2
2
 
3
- The official MIOSA command-line interface. Deploy apps and manage OpenComputers hosts from your shell.
3
+ The official MIOSA command-line tool.
4
+ `npm install -g @miosa/cli` installs the same native `miosa` binary as Homebrew and the install script.
4
5
 
5
- ```bash
6
+ ```sh
6
7
  npm install -g @miosa/cli
7
- ```
8
-
9
- Keep it current from the CLI:
10
-
11
- ```bash
12
- miosa update
13
- miosa update --check --json
14
- ```
15
-
16
- ## Contexts and command discovery
17
-
18
- Save named contexts when you work across personal accounts, team accounts, or
19
- customer workspaces:
20
-
21
- ```bash
22
- miosa login
23
- miosa context save personal
24
- miosa context set workspace workspace_123
25
-
26
- miosa login --api-key msk_u_team...
27
- miosa context save clinic-dev
28
-
29
- miosa context ls
30
- miosa context use clinic-dev
31
- ```
32
-
33
- Agents and scripts should use JSON:
34
-
35
- ```bash
36
- miosa context ls --json
37
- miosa context use clinic-dev --json
38
- miosa command-overview --json
39
- ```
40
-
41
- `miosa command-overview` prints a tree of all command groups and nested
42
- subcommands. Use `miosa capabilities --json` for the higher-level agent workflow
43
- contract.
44
-
45
- ## Unified action authority
46
-
47
- > Requires a control plane that publishes the action authority contract (miosa-compute PR 558).
48
- > Against control planes without that support these commands and the related `miosa doctor` check fail closed.
49
-
50
- When available, every CLI, OSA, MCP, scheduled, and OpenComputers action uses the same server-owned capability catalog.
51
- The control plane pins each action to a version and fingerprint, records every decision, and fails closed when a capability is unknown or stale.
52
-
53
- ```bash
54
- miosa actions catalog
55
- miosa actions check computer.destroy \
56
- --params '{"computer_id":"computer_123"}' \
57
- --invocation-id cleanup-2026-07-23
58
-
59
- miosa actions approvals list --status pending
60
- miosa actions approvals approve <approval-id>
61
- miosa actions grants list
62
- miosa actions receipts --limit 50
63
- ```
64
-
65
- Owners and administrators can create exact standing grants for a principal, capability version, and optional workspace.
66
- One-time approvals are consumed atomically and cannot be replayed.
67
- `miosa doctor` compares the authenticated control plane against the CLI's generated portable identity contract.
68
- It fails when a capability is missing, stale, or unexpected instead of treating a merely nonempty catalog as healthy.
69
-
70
- ## AWS BYOC host pools
71
-
72
- The `cloud` command manages the public BYOC control-plane contract.
73
- It configures AWS trust, region networking and artifacts, host pool limits, server-run preflight, and provisioning.
74
-
75
- ```bash
76
- miosa cloud accounts create \
77
- --name "Production AWS" \
78
- --external-account-id 123456789012 \
79
- --default-region us-east-1 \
80
- --json
81
-
82
- miosa cloud accounts attach-role <account-id> \
83
- --role-arn arn:aws:iam::123456789012:role/MiosaByocRole \
84
- --default-region us-east-1 \
85
- --json
86
-
87
- miosa cloud regions create \
88
- --account-id <account-id> \
89
- --provider-region us-east-1 \
90
- --name "N. Virginia" \
91
- --subnet-ref subnet-0abc123 \
92
- --security-group-refs sg-0def456 \
93
- --instance-profile-ref MiosaByocHost \
94
- --artifact-manifest-uri s3://miosa-byoc-artifacts/manifest.json \
95
- --metadata '{"host_image_id":"ami-0123456789abcdef0"}' \
96
- --json
97
-
98
- miosa cloud pools create \
99
- --region-id <region-id> \
100
- --instance-type m7i.4xlarge \
101
- --max-nodes 4 \
102
- --max-hourly-cents 250 \
103
- --json
104
-
105
- miosa cloud pools provision <pool-id> --count 1 --json
106
- ```
107
-
108
- New pools default to `m7i.4xlarge`, the verified production shape.
109
- Use `m7i.2xlarge` for the supported baseline tier.
110
- `miosa cloud preflights run --region-id <id>` resolves the customer role and verifies the region, network, AMI, instance type, quota, and runtime artifact contract on the server.
111
-
112
- ## Deploy — 60 seconds to first deploy
113
-
114
- ### Safe application release workflow
115
-
116
- Use the application workflow for normal preview, production, and recovery operations.
117
- It keeps the source directory linked to one exact MIOSA deployment and refuses to report production success until the immutable release, artifact digest, route contract, App Engine placement, database attachment, and required configuration are proven.
118
-
119
- ```bash
120
- miosa app link . --app <deployment-id> --environment production
121
- miosa app pull .
122
- miosa app preview . --json
123
- miosa app verify <release-id> . --json
124
- miosa app promote <release-id> . --yes --json
125
- ```
126
-
127
- Promotion and rollback always target an exact release ID.
128
- They persist an operation record and idempotency key under `.miosa/operations`, so a request timeout can be inspected or resumed without creating duplicate deployment work.
129
-
130
- ```bash
131
- miosa app recover <operation-id> . --json
132
- miosa app recover <operation-id> . --resume --json
133
- miosa app rollback <release-id> . --yes --json
134
- ```
135
-
136
- MIOSA App Builder stores generated apps as durable, workspace-scoped App Documents.
137
- Use the CLI to inspect the same records, verify their venue and declared authority, and manage exact-version review approvals.
138
-
139
- ```bash
140
- miosa app documents list --workspace <workspace-id> --json
141
- miosa app documents show <app-document-id> --json
142
- miosa app documents doctor <app-document-id> --workspace <workspace-id> --json
143
- miosa app documents approve <app-document-id> --reason "Reviewed" --json
144
- miosa app documents revoke <app-document-id> --approval <approval-id> --json
145
- ```
146
-
147
- The doctor fails when the workspace does not match, a published version lacks an exact release binding, the document shape is invalid, or an approval belongs to an older edited version.
148
-
149
- Declare application-specific acceptance requirements in `.miosa/acceptance.json`.
150
- The default contract requires HTTP 200 from `/`.
151
-
152
- ```json
153
- {
154
- "schema_version": 1,
155
- "routes": [
156
- {
157
- "id": "access",
158
- "path": "/access",
159
- "expected_status": [200],
160
- "body_contains": ["Open the working brief"],
161
- "content_type": "text/html",
162
- "required": true
163
- }
164
- ],
165
- "required_env": ["DATABASE_URL", "BRIEF_AUTH_SECRET"],
166
- "database": {
167
- "required": true,
168
- "health_path": "/api/health"
169
- }
170
- }
171
- ```
172
-
173
- Each verification writes a durable, machine-readable receipt under `.miosa/receipts`.
174
- That receipt is the acceptance evidence for the release.
175
-
176
- ### Capability-gated release contract
177
-
178
- Use `miosa.app.yml` as the primary typed contract when a release depends on routes, secrets, databases, migrations, connectors, jobs, business capabilities, or approval policy.
179
-
180
- Every mutation resolves one exact organization, workspace, application, environment, and deployment.
181
-
182
- The organization option is the canonical name for the existing tenant identity, while `--tenant` remains a compatibility alias.
183
-
184
- ```yaml
185
- schema_version: 1
186
- name: clinic-intake
187
- organization: 06737e41-32a2-4c66-bf42-a2e123456789
188
- workspace: e0211a62-b08e-402a-a171-b6c123456789
189
- application: clinic-intake
190
- environment: production
191
-
192
- services:
193
- web:
194
- command: npm start
195
- port: 3000
196
-
197
- capabilities:
198
- routes:
199
- - id: homepage
200
- path: /
201
- expected_status: [200]
202
- secrets:
203
- - SESSION_SECRET
204
- database:
205
- required: true
206
- health_path: /api/health
207
- migration:
208
- required: true
209
- compatibility: backward_compatible
210
- connectors:
211
- - id: oauth
212
- jobs:
213
- - id: daily-sync
214
- business:
215
- - id: customer-sync
216
- path: /api/capabilities/customer-sync
217
- expected_status: [200]
218
-
219
- policy:
220
- approvals_required: 1
221
- allowed_environments: [production]
222
- require_immutable_release: true
223
- require_rollback_path: true
224
- ```
225
-
226
- The change workflow saves the same immutable plan locally and in the control-plane operation ledger.
227
-
228
- Approvals are bound to the plan fingerprint, and exact apply is idempotent.
229
-
230
- ```bash
231
- miosa blueprint validate . --json
232
- miosa changes plan <release-id> . --json
233
- miosa changes approve <plan-id> . --actor <identity> --json
234
- miosa changes apply <plan-id> . --json
235
- miosa evidence show <receipt-id> . --json
236
- miosa drift detect <plan-id> . --json
237
- ```
238
-
239
- Pre-promotion gates check immutable release identity, secrets, database attachment, migration evidence, connectors, jobs, policy, and declared business capability evidence.
240
-
241
- Post-promotion acceptance verifies the active release, running artifact, public routes, data bindings, placement, and declared capabilities.
242
-
243
- If acceptance fails, the CLI requests the exact saved rollback version and records whether restoration was confirmed.
244
-
245
- Point the CLI at any repo and it handles the rest: framework detection, build wiring, GitHub webhook setup, and live log streaming.
246
-
247
- For production app hosting, MIOSA recommends App Engine. It runs apps on the
248
- workspace App Engine runtime, which is the preferred path for teams deploying
249
- many apps because it gives better runtime packing and lower resource overhead
250
- than one-off app runtimes.
251
-
252
- ```
253
- $ cd ~/my-project
254
- $ miosa login
255
- $ miosa deploy --docker-deploy
256
-
257
- Detected: Next.js 15 (confidence 95%)
258
- Repo: https://github.com/me/my-project
259
- Branch: main
260
-
261
- ? Deployment name: my-project
262
- ? Branch to deploy: main
263
- ? Build command: npm run build
264
- ? Run command: npm start
265
- ? Create deployment? Yes
266
-
267
- Deployment "my-project" created (slug: my-project-x7k2)
268
- Saved .miosa.json
269
-
270
- ACTION REQUIRED — GitHub Webhook
271
- The webhook secret below is shown ONCE. Store it now.
272
-
273
- Webhook URL: https://api.miosa.ai/api/v1/integrations/github/webhook
274
- Content type: application/json
275
- Secret: a3f8b2c1d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9
276
- Events: push
277
-
278
- Add this at: https://github.com/me/my-project/settings/hooks/new
279
-
280
- Initial build queued
281
-
282
- Build log:
283
- ────────────────────────────────────────────────────────────
284
- > npm run build
285
- > next build
286
- ✓ Compiled successfully
287
- ────────────────────────────────────────────────────────────
288
-
289
- Deployed
290
-
291
- URL: https://my-project-x7k2.me.miosa.app
292
-
293
- Next steps:
294
- miosa deploy logs — tail logs
295
- miosa deploy domain add example.com — add custom domain
296
- miosa deploy env set KEY=VALUE — set env var
297
- ```
298
-
299
- For CI, agents, and scripts, use JSON mode.
300
- JSON mode and non-TTY stdin never open interactive prompts.
301
- Framework detection supplies build and run commands when it recognizes the project.
302
- Unknown project shapes fail before the API and require both command flags instead of guessing.
303
- Static sites use `--static`, which omits build and run commands completely.
304
-
305
- ```bash
306
- miosa --organization acme deploy --docker-deploy --json
307
-
308
- miosa --organization acme deploy --docker-deploy --json --yes \
309
- --name my-project \
310
- --branch main \
311
- --build-command "npm run build" \
312
- --run-command "npm start"
313
-
314
- miosa --organization acme deploy --docker-deploy --static --json --yes \
315
- --name callix-security-report \
316
- --branch master
317
- ```
318
-
319
- The JSON result is one document containing the deployment identity, queued build, App Engine host, public URL when known, and one-time webhook details for a new deployment.
320
-
321
- On subsequent runs from the same directory, `miosa deploy` reads `.miosa.json` and skips all prompts — just queues a rebuild and streams logs.
322
- The creation flags (`--name`, `--branch`, `--build-command`, `--run-command`, `--static`) only apply to the first deploy; passing them when `.miosa.json` exists is an error, so automation never silently deploys a configuration other than the one it asked for.
323
-
324
- ```bash
325
- # Trigger a rebuild any time
326
- miosa deploy
327
-
328
- # Or explicitly
329
- miosa deploy redeploy
330
- ```
331
-
332
- For apps built inside a sandbox, promote the sandbox workspace through App Engine:
333
-
334
- ```bash
335
- miosa sandbox publish <sandbox-id> \
336
- --path /workspace \
337
- --slug my-app \
338
- --build-command "npm run build" \
339
- --run-command "npm run start" \
340
- --port 3000 \
341
- --docker-deploy \
342
- --wait \
343
- --timeout 900 \
344
- --json
345
- ```
346
-
347
- ## Agentic sandbox app templates
348
-
349
- Query the canonical product catalog before choosing a shape:
350
-
351
- ```bash
352
- miosa templates catalog --product sandbox
353
- miosa templates readiness miosa-sandbox --product sandbox --json
354
- ```
355
-
356
- The default sandbox is `small`: 2 vCPU, 4096 MiB RAM, and 10240 MiB disk.
357
- The `miosa-sandbox` input is a stable alias, while catalog and create responses expose the resolved immutable `image_id` generation.
358
- Legacy `--cpu`, `--memory`, and `--disk` values must be supplied together and exactly match one named size.
359
-
360
- Agents should start from app templates instead of empty sandboxes when building common web apps. Sandboxes are persistent by default: timeout/pause preserves the filesystem and moves the session to `paused`; `destroy --force` is a legacy API extension for permanent deletion and is not in the public V1 allowlist.
361
-
362
- Sandbox placement is server-owned. The public sandbox create contract uses MIOSA-managed capacity by default and has no per-sandbox provider or placement selector. BYOC accounts, regions, and pools are configured separately with `miosa cloud`; eligible placement remains a control-plane policy decision.
363
-
364
- For a working Next.js starter with a public preview:
365
-
366
- ```bash
367
- miosa sandbox create \
368
- --template nextjs \
369
- --auto-start \
370
- --publish-port 3000 \
371
- --wait \
372
- --timeout 1h \
373
- --json
374
- ```
375
-
376
- Expected machine-readable success signals:
377
-
378
- ```json
379
- {
380
- "state": "running",
381
- "ready": true,
382
- "template_id": "nextjs",
383
- "preview": {
384
- "ready": true,
385
- "status": 200,
386
- "url": "https://3000-<id>.sandbox.<domain>"
387
- }
388
- }
389
- ```
390
-
391
- The backend seeds `/workspace/package.json`, `/workspace/app/page.jsx`, and related starter files only when `/workspace` is empty. Agents should verify before publishing:
392
-
393
- ```bash
394
- miosa sandbox exec <sandbox-id> \
395
- --cwd /workspace \
396
- --json \
397
- -- bash -lc "ls package.json app/page.jsx && npm run build"
398
- ```
399
-
400
- Discover the full agent contract with:
401
-
402
- ```bash
403
- miosa capabilities --json
404
- ```
405
-
406
- ### Device routing for agents
407
-
408
- Use `miosa devices catalog --json` before launching an agent workflow. It
409
- explains the four execution surfaces:
410
-
411
- - `sandbox_worker`: default for code, builds, tests, previews, artifacts, and
412
- publish. Agents should write and run code inside `/workspace`.
413
- - `computer`: full VM/desktop for browser automation, form filling, dashboard
414
- logins, screenshots, and Computer Use Agent sessions.
415
- - `local_device`: developer-owned machine for local discovery and MCP setup.
416
- - `docker_deploy_host`: workspace appliance that runs versioned app containers
417
- after a sandbox-built app is published.
418
-
419
- ```bash
420
- miosa devices catalog --json
421
- miosa devices list --json
422
- miosa sandbox prompt <sandbox-id> --provider codex --cwd /workspace --json -- "build and test the requested app"
423
- miosa sandbox prompt <sandbox-id> --provider custom --runtime-command "hermes-agent run" --json -- "run the configured agent"
424
- ```
425
-
426
- ### Persistent sandbox workflow
427
-
428
- The normal agent loop happens inside the sandbox filesystem:
429
-
430
- ```bash
431
- miosa sandbox write-file <sandbox-id> /workspace/app/page.jsx ./page.jsx --json
432
- miosa sandbox exec <sandbox-id> --cwd /workspace --cmd "npm install && npm run build" --shell-cmd "bash -lc" --json
433
- miosa sandbox wait <sandbox-id> --port 3000 --timeout 180 --json
434
- ```
435
-
436
- Stop without losing work:
437
-
438
- ```bash
439
- miosa sandbox stop <sandbox-id> --json
440
- miosa sandbox resume <sandbox-id> --json
441
- ```
442
-
443
- Checkpoint and fork:
444
-
445
- ```bash
446
- miosa sandbox fork <sandbox-id> --timeout 1h --idempotency-key feature-branch --json
447
- ```
448
-
449
- ### Canonical sandbox development contract
450
-
451
- `miosa sandbox dev up` runs a project from the canonical `miosa.app.yml` manifest.
452
- The command validates the manifest and CLI authentication, creates or reuses a persistent sandbox, overlay-syncs source files, installs locked dependencies once per lockfile fingerprint, starts named services, waits for internal and public health, and prints stable preview URLs.
453
-
454
- ```yaml
455
- schema_version: 1
456
- name: clinic-intake
457
-
458
- sandbox:
459
- name: clinic-intake-dev
460
- template: node
461
- workdir: /workspace
462
-
463
- sync:
464
- exclude:
465
- - coverage
466
-
467
- dependencies:
468
- install: npm ci
469
-
470
- services:
471
- web:
472
- command: npm run dev -- --host 0.0.0.0
473
- port: 3000
474
- health:
475
- path: /health
476
- timeout: 120
477
-
478
- requirements:
479
- config:
480
- - NODE_ENV
481
- secrets:
482
- - SESSION_SECRET
483
- database: true
484
- ```
485
-
486
- Run the project with human-readable or stable JSON output:
487
-
488
- ```bash
489
- miosa sandbox dev up
490
- miosa sandbox dev up --dir ./app --json
491
- miosa sandbox dev up --dir ./app --sandbox <sandbox-id> --json
492
- ```
493
-
494
- The command writes `.miosa/sandbox.json` immediately after sandbox creation so a partial run can resume without creating another sandbox.
495
- A saved sandbox is reused only when its project name matches the manifest, unless `--sandbox` explicitly selects one.
496
- Sync is an overlay and never deletes remote files.
497
- It always excludes `.git`, `.miosa`, `.env`, `.env.*`, `node_modules`, `.venv`, `coverage`, and `dist`, plus entries in `sync.exclude`.
498
- This preserves runtime-owned dependency trees, virtual environments, install markers, service logs, and other files that exist only in the sandbox.
499
-
500
- Dependency commands must enforce a lockfile.
501
- Supported built-in validation recognizes `npm ci`, frozen pnpm and Bun installs, immutable or frozen Yarn installs, and hash-locked pip installs.
502
- An install marker under `/workspace/.miosa-runtime` makes retries idempotent for the same lockfile fingerprint.
503
-
504
- Service commands are sent as JSON data to the sandbox service endpoint.
505
- The CLI does not interpolate secret values into shell commands.
506
- Declare secret names under `requirements.secrets`; set values through the encrypted sandbox environment commands.
507
-
508
- Inspect the complete contract with:
509
-
510
- ```bash
511
- miosa sandbox doctor --full --json
512
- miosa sandbox doctor <sandbox-id> --full --dir ./app --json
513
- ```
514
-
515
- When no ID is passed, full doctor reads `.miosa/sandbox.json`.
516
- It checks sandbox API state, the exec channel, project filesystem access, named service state, internal listeners, public preview routing, managed database attachment state, required config and secret names, and snapshot capability.
517
- It never returns config or secret values.
518
- JSON output includes `ok`, `sandbox_id`, `manifest`, `checks`, and `failure_codes`.
519
- Each failed check has a stable code and an actionable `remediation` command.
520
-
521
- The development contract depends on these existing backend routes:
522
-
523
- - `POST /api/v1/sandboxes` and `GET /api/v1/sandboxes/:id` for persistent sandbox lifecycle and API state.
524
- - `POST /api/v1/sandboxes/:id/files` and `POST /api/v1/sandboxes/:id/exec` for source sync, deterministic install, filesystem checks, and internal health.
525
- - `GET`, `POST`, and restart routes under `/api/v1/sandboxes/:id/services` for idempotent named processes.
526
- - `POST /api/v1/sandboxes/:id/expose` for preview routing.
527
- - `GET /api/v1/sandboxes/:id/env` for name-only config and secret presence checks.
528
- - `GET /api/v1/sandboxes/:id/snapshots` for snapshot capability checks.
529
- - Database attachment fields on `GET /api/v1/sandboxes/:id` for attachment inspection.
530
-
531
- The CLI does not add release-candidate prepare or prove commands because the current backend contract has no release-candidate prepare endpoint.
532
- Use `miosa sandbox publish`, `miosa releases promote`, and `miosa deploy prove` for the deployment interfaces that do exist.
533
-
534
- The public V1 snapshot operation is `fork`: the service takes a copy-on-write snapshot of a running sandbox and creates the fork. The separate snapshot create/list/restore commands are legacy API extensions and are not part of the public V1 allowlist.
535
-
536
- Use a disposable sandbox only when you explicitly do not want preserved state:
537
-
538
- ```bash
539
- miosa sandbox create --template node --non-persistent --timeout 10m --json
540
- ```
541
-
542
- ### Agent-safe exec and logs
543
-
544
- Use explicit command flags when a command contains shell flags, pipes, redirects,
545
- or `bash -c` style arguments:
546
-
547
- ```bash
548
- miosa sandbox exec <sandbox-id> \
549
- --cwd /workspace \
550
- --cmd "npm install && npm run build" \
551
- --shell-cmd "bash -lc" \
552
- --json
553
- ```
554
-
555
- Top-level logs can target a resource explicitly and filter recent output:
556
-
557
- ```bash
558
- miosa logs --deployment <app-id> --lines 200 --contains error --json
559
- miosa logs --sandbox <sandbox-id> --regex "500|panic|failed" --json
560
- ```
561
-
562
- ### Deploy sub-commands
563
-
564
- ```bash
565
- miosa deploy list # All deployments for this tenant
566
- miosa deploy logs [id] # Tail live build logs
567
- miosa deploy redeploy [id] # Manual rebuild
568
- miosa deploy env set KEY=VALUE [--id id] # Set env var
569
- miosa deploy env list [id] # Show env vars (masked)
570
- miosa deploy domain add example.com [id] # Add custom domain
571
- miosa deploy destroy [id] # Tear down deployment
572
- ```
573
-
574
- ### Supported frameworks (auto-detected)
575
-
576
- | Framework | Detection | Build | Run |
577
- |---|---|---|---|
578
- | Next.js | `next` in package.json | `npm run build` | `npm start` |
579
- | SvelteKit | `@sveltejs/kit` in package.json | `npm run build` | `node build` |
580
- | Vite + React | `vite` + `react` in package.json | `npm run build` | `npx serve dist` |
581
- | Phoenix (Elixir) | `mix.exs` with `:phoenix` | `mix release` | `_build/prod/rel/.../bin/... start` |
582
- | Django | `manage.py` + `requirements.txt` | `pip install` + `collectstatic` | `gunicorn` |
583
- | Flask | `requirements.txt` with flask | `pip install` | `gunicorn app:app` |
584
- | Ruby on Rails | `Gemfile` + `config/application.rb` | `bundle install` | `rails server` |
585
- | Go | `go.mod` | `go build -o app .` | `./app` |
586
- | Rust | `Cargo.toml` | `cargo build --release` | `./target/release/<name>` |
587
- | Static HTML | `index.html` (no build system) | — | `npx serve .` |
588
-
589
- ---
590
-
591
- ## OpenComputers hosts
592
-
593
- OpenComputers connects a machine you own to your MIOSA account.
594
- OSA runs on that machine as the local agent harness and keeps an outbound-only connection to MIOSA.
595
- MIOSA issues a one-time host credential, tracks the host, and can send scoped work to it.
596
-
597
- ```bash
598
- # Authenticate
599
- miosa login
600
-
601
- # Register a Linux or macOS machine and print its one-time OSA install command
602
- miosa opencomputers connect my-mac --platform macos
603
-
604
- # List connected machines
605
- miosa opencomputers list
606
-
607
- # Open an interactive terminal
608
- miosa ssh my-mac
609
-
610
- # Run a command
611
- miosa exec my-mac "npm test"
612
-
613
- # Upload a file
614
- miosa cp ./build.tar.gz my-mac:/tmp/
615
-
616
- # Expose a port publicly
617
- miosa tunnel open my-mac --port 3000
618
- ```
619
-
620
- ## Configuration
621
-
622
- Config is stored at `~/.miosa/config.json`:
623
-
624
- ```json
625
- {
626
- "endpoint": "https://api.miosa.ai",
627
- "api_key": "msk_u_...",
628
- "default_host": null
629
- }
630
- ```
631
-
632
- Precedence: CLI flags > environment variables > config file > interactive prompt.
633
-
634
- **Environment variables:**
635
-
636
- | Variable | Description |
637
- |---|---|
638
- | `MIOSA_API_KEY` | API key (overrides config file) |
639
- | `MIOSA_ENDPOINT` | API endpoint (overrides config file) |
640
- | `MIOSA_JSON` | Prefer JSON output for commands that support structured output |
641
- | `MIOSA_NO_COLOR` | Disable ANSI color output |
642
- | `MIOSA_DEBUG` | Set to any value to enable debug output |
643
-
644
- ## Commands
645
-
646
- ### `miosa deploy [sub-command]`
647
-
648
- Deploy a GitHub repo. See the [Deploy section](#deploy--60-seconds-to-first-deploy) above for the full flow.
649
-
650
- ```bash
651
- miosa deploy --docker-deploy # Recommended production deploy
652
- miosa deploy --docker-deploy --json # Prompt-free CI or agent deploy
653
- miosa deploy --docker-deploy --static --name report --branch main --yes --json
654
- miosa deploy --name app --branch main --build-command "npm run build" --run-command "npm start" --yes --json
655
- miosa deploy # First deploy or redeploy from .miosa.json
656
- miosa deploy list [--json] # List all deployments
657
- miosa deploy logs [id] # Tail live build logs
658
- miosa deploy redeploy [id] [--no-follow] # Manual rebuild
659
- miosa deploy env set KEY=VALUE [--id id] # Set env var
660
- miosa deploy env list [id] # Show env vars (masked)
661
- miosa deploy domain add <domain> [id] # Add custom domain
662
- miosa deploy destroy [id] [-f] # Tear down deployment
663
- ```
664
-
665
- ### `miosa login [--api-key key]`
666
-
667
- Authenticate with your MIOSA API key. If no key is provided, you'll be prompted interactively.
668
-
669
- ```bash
670
8
  miosa login
671
- miosa login --api-key msk_u_yourkey
672
- echo "msk_u_yourkey" | miosa login # non-TTY / CI
9
+ miosa create my-box --wait
673
10
  ```
674
11
 
675
- ### `miosa logout`
12
+ Supported: macOS (arm64, x64) and Linux (x64, arm64).
13
+ Elsewhere, see https://docs.miosa.ai/cli.
676
14
 
677
- Remove the stored API key.
15
+ ## How it works
678
16
 
679
- ### `miosa opencomputers list [--json]`
17
+ This package is a small launcher.
18
+ The binary ships in one platform package, `@miosa/cli-<os>-<cpu>`, which npm installs through `optionalDependencies`.
19
+ If that package is missing (`--omit=optional`, a registry mirror, skipped install scripts), the launcher downloads the same release from github.com/Miosa-osa/miosa-cli-go and verifies its SHA-256 against the release `checksums.txt` before running it.
680
20
 
681
- List machines connected to your MIOSA account through OpenComputers.
21
+ ## Upgrading
682
22
 
683
- ```bash
684
- miosa opencomputers list
685
- miosa opencomputers list --json | jq '.[].name'
23
+ ```sh
24
+ npm install -g @miosa/cli@latest
686
25
  ```
687
26
 
688
- ### `miosa host <name-or-id> [--json]`
689
-
690
- Show details for a specific host including live telemetry.
691
-
692
- ```bash
693
- miosa host my-mac
694
- miosa host abc12345
695
- ```
696
-
697
- ### `miosa opencomputers connect [name]`
698
-
699
- Register a machine, print its one-time OSA install command, and wait for it to come online.
700
- The command does not install OSA automatically because the target machine can be different from the machine where you run the CLI.
701
- Use `--no-wait` in automation.
702
- JSON output redacts the install command unless you explicitly pass `--show-install-command`.
703
-
704
- ```bash
705
- miosa opencomputers connect my-new-server --platform linux
706
- miosa opencomputers connect ci-runner --platform linux --no-wait --json
707
- ```
708
-
709
- `miosa connect` and `miosa hosts` remain available as compatibility shortcuts.
710
-
711
- ### `miosa ssh <computer-or-host> [--cmd "..."]`
712
-
713
- Open an interactive PTY terminal session on a MIOSA Computer. If no Computer matches, the CLI falls back to an OpenComputers host with the same name or ID.
714
-
715
- ```bash
716
- miosa ssh my-mac
717
- miosa ssh my-mac --cmd "ls -la"
718
- ```
719
-
720
- ### `miosa exec <host> <cmd> [args...] [--cwd dir] [--env KEY=VAL] [--timeout 30s]`
721
-
722
- Run a command non-interactively and stream output. Exits with the remote exit code.
723
-
724
- ```bash
725
- miosa exec my-mac npm test
726
- miosa exec my-mac ls -- -la /tmp
727
- miosa exec my-mac env --env NODE_ENV=production --env PORT=3000
728
- miosa exec my-mac make build --cwd /home/user/project --timeout 10m
729
- ```
730
-
731
- ### `miosa cp <src> <dst>`
732
-
733
- Copy files between local and remote. Use `host:/path` for remote paths.
734
-
735
- ```bash
736
- # Upload
737
- miosa cp ./local.txt my-mac:/tmp/
738
- miosa cp -r ./dist my-mac:/var/www/
739
-
740
- # Download
741
- miosa cp my-mac:/var/log/app.log ./
742
- miosa cp my-mac:/home/user/report.pdf ~/Downloads/
743
- ```
744
-
745
- ### `miosa ls <host>:<path> [-a] [-l]`
746
-
747
- List files on a host.
748
-
749
- ```bash
750
- miosa ls my-mac:/tmp
751
- miosa ls my-mac:/home/user -la
752
- miosa ls my-mac:/ -a
753
- ```
754
-
755
- ### `miosa rm <host>:<path> [-r] [-f]`
756
-
757
- Remove a file or directory on a host. Prompts for confirmation unless `-f`.
758
-
759
- ```bash
760
- miosa rm my-mac:/tmp/old-build.tar.gz
761
- miosa rm -rf my-mac:/tmp/build-artifacts
762
- ```
763
-
764
- ### `miosa tunnel open <host> --port <n> [--name slug] [--watch]`
765
-
766
- Expose a port on a host publicly.
767
-
768
- ```bash
769
- miosa tunnel open my-mac --port 3000
770
- miosa tunnel open my-mac --port 8080 --name my-app --watch
771
- ```
772
-
773
- ### `miosa tunnel list <host>`
774
-
775
- List active tunnels on a host.
776
-
777
- ### `miosa tunnel close <host> <slug>`
778
-
779
- Close (revoke) a tunnel.
780
-
781
- ### `miosa agent <computer> "<task>" [--model] [--max-turns]`
782
-
783
- Start a resumable Computer Use Agent session on a Computer.
784
-
785
- ```bash
786
- miosa agent my-mac "run the test suite and fix any failing tests"
787
- miosa agent my-mac "update all npm dependencies" --max-turns 20
788
- miosa agent my-mac "optimize the database queries" --model nemotron-3-super
789
- miosa agent my-mac --resume <session-id> "continue from the last failure"
790
- miosa agent ls
791
- miosa agent history <session-id> --computer my-mac
792
- ```
793
-
794
- ### `miosa completion <shell>`
795
-
796
- Print shell completion for `bash`, `zsh`, or `fish`.
797
-
798
- ```bash
799
- miosa completion zsh > ~/.zsh/completions/_miosa
800
- miosa completion bash > ~/.local/share/bash-completion/completions/miosa
801
- miosa completion fish > ~/.config/fish/completions/miosa.fish
802
- ```
803
-
804
- ### `miosa watch <host>`
805
-
806
- Stream live telemetry and events from a host.
807
-
808
- ```bash
809
- miosa watch my-mac
810
- ```
811
-
812
- ### `miosa status`
813
-
814
- Show current auth, endpoint, tenant info, credits, and host count.
815
-
816
- ```bash
817
- miosa status
818
- ```
819
-
820
- ## Exit codes
821
-
822
- | Code | Meaning |
823
- |---|---|
824
- | 0 | Success |
825
- | 1 | User error (bad args, not found, etc.) |
826
- | 2 | Network error |
827
- | 3 | Authentication error |
828
- | 4 | Server error |
829
-
830
- ## Troubleshooting
831
-
832
- **"No API key configured"** — Run `miosa login`.
833
-
834
- **"Host not found"** — Check `miosa opencomputers list` for the correct name or ID.
835
-
836
- **"Insufficient credits"** — Top up at https://miosa.ai/billing.
837
-
838
- **Network errors** — Check your connection. Use `MIOSA_DEBUG=1 miosa <cmd>` for stack traces.
839
-
840
- **Custom endpoint** — `MIOSA_ENDPOINT=https://your-instance.ai miosa opencomputers list`
841
-
842
- ## Links
843
-
844
- - Documentation: https://docs.miosa.ai/cli
845
- - Platform: https://miosa.ai
846
- - Support: support@miosa.ai
27
+ `miosa update` does not replace an npm-managed binary; it prints this command.
847
28
 
848
- ## License
29
+ ## Coming from 1.x
849
30
 
850
- MIT
31
+ 1.x was a separate Node CLI.
32
+ 2.x is the native CLI, so the command set is the 2.0 one.
33
+ Run `miosa --help` to see it, and `miosa <command> --help` for flags.
34
+ Sign in again with `miosa login`, or set `MIOSA_API_KEY`.
35
+ Node 18 or newer is required to run the launcher.