@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.
- package/README.md +20 -835
- package/bin/miosa.js +75 -0
- package/lib/archive.js +26 -0
- package/lib/checksums.js +29 -0
- package/lib/platforms.js +31 -0
- package/lib/resolve.js +47 -0
- package/package.json +25 -41
- package/scripts/postinstall.js +68 -0
- package/CHANGELOG.md +0 -105
- package/dist/action-authority.d.ts +0 -106
- package/dist/action-authority.d.ts.map +0 -1
- package/dist/action-authority.js +0 -116
- package/dist/action-authority.js.map +0 -1
- package/dist/app-advisor.d.ts +0 -80
- package/dist/app-advisor.d.ts.map +0 -1
- package/dist/app-advisor.js +0 -486
- package/dist/app-advisor.js.map +0 -1
- package/dist/app-contract.d.ts +0 -92
- package/dist/app-contract.d.ts.map +0 -1
- package/dist/app-contract.js +0 -218
- package/dist/app-contract.js.map +0 -1
- package/dist/app-document.d.ts +0 -23
- package/dist/app-document.d.ts.map +0 -1
- package/dist/app-document.js +0 -180
- package/dist/app-document.js.map +0 -1
- package/dist/app-manifest.d.ts +0 -140
- package/dist/app-manifest.d.ts.map +0 -1
- package/dist/app-manifest.js +0 -377
- package/dist/app-manifest.js.map +0 -1
- package/dist/app-operation.d.ts +0 -23
- package/dist/app-operation.d.ts.map +0 -1
- package/dist/app-operation.js +0 -49
- package/dist/app-operation.js.map +0 -1
- package/dist/app-release.d.ts +0 -132
- package/dist/app-release.d.ts.map +0 -1
- package/dist/app-release.js +0 -294
- package/dist/app-release.js.map +0 -1
- package/dist/bin/miosa.d.ts +0 -3
- package/dist/bin/miosa.d.ts.map +0 -1
- package/dist/bin/miosa.js +0 -288
- package/dist/bin/miosa.js.map +0 -1
- package/dist/cli-env.d.ts +0 -12
- package/dist/cli-env.d.ts.map +0 -1
- package/dist/cli-env.js +0 -34
- package/dist/cli-env.js.map +0 -1
- package/dist/client.d.ts +0 -155
- package/dist/client.d.ts.map +0 -1
- package/dist/client.js +0 -865
- package/dist/client.js.map +0 -1
- package/dist/commands/actions.d.ts +0 -3
- package/dist/commands/actions.d.ts.map +0 -1
- package/dist/commands/actions.js +0 -222
- package/dist/commands/actions.js.map +0 -1
- package/dist/commands/agent-runtime-profiles.d.ts +0 -3
- package/dist/commands/agent-runtime-profiles.d.ts.map +0 -1
- package/dist/commands/agent-runtime-profiles.js +0 -198
- package/dist/commands/agent-runtime-profiles.js.map +0 -1
- package/dist/commands/agent.d.ts +0 -18
- package/dist/commands/agent.d.ts.map +0 -1
- package/dist/commands/agent.js +0 -737
- package/dist/commands/agent.js.map +0 -1
- package/dist/commands/alerts.d.ts +0 -3
- package/dist/commands/alerts.d.ts.map +0 -1
- package/dist/commands/alerts.js +0 -41
- package/dist/commands/alerts.js.map +0 -1
- package/dist/commands/api-keys.d.ts +0 -3
- package/dist/commands/api-keys.d.ts.map +0 -1
- package/dist/commands/api-keys.js +0 -160
- package/dist/commands/api-keys.js.map +0 -1
- package/dist/commands/api-resource.d.ts +0 -20
- package/dist/commands/api-resource.d.ts.map +0 -1
- package/dist/commands/api-resource.js +0 -120
- package/dist/commands/api-resource.js.map +0 -1
- package/dist/commands/app.d.ts +0 -38
- package/dist/commands/app.d.ts.map +0 -1
- package/dist/commands/app.js +0 -1182
- package/dist/commands/app.js.map +0 -1
- package/dist/commands/apps.d.ts +0 -3
- package/dist/commands/apps.d.ts.map +0 -1
- package/dist/commands/apps.js +0 -218
- package/dist/commands/apps.js.map +0 -1
- package/dist/commands/audit.d.ts +0 -3
- package/dist/commands/audit.d.ts.map +0 -1
- package/dist/commands/audit.js +0 -25
- package/dist/commands/audit.js.map +0 -1
- package/dist/commands/auth.d.ts +0 -3
- package/dist/commands/auth.d.ts.map +0 -1
- package/dist/commands/auth.js +0 -282
- package/dist/commands/auth.js.map +0 -1
- package/dist/commands/backups.d.ts +0 -3
- package/dist/commands/backups.d.ts.map +0 -1
- package/dist/commands/backups.js +0 -23
- package/dist/commands/backups.js.map +0 -1
- package/dist/commands/billing.d.ts +0 -3
- package/dist/commands/billing.d.ts.map +0 -1
- package/dist/commands/billing.js +0 -208
- package/dist/commands/billing.js.map +0 -1
- package/dist/commands/builds.d.ts +0 -3
- package/dist/commands/builds.d.ts.map +0 -1
- package/dist/commands/builds.js +0 -198
- package/dist/commands/builds.js.map +0 -1
- package/dist/commands/capabilities.d.ts +0 -3
- package/dist/commands/capabilities.d.ts.map +0 -1
- package/dist/commands/capabilities.js +0 -1002
- package/dist/commands/capabilities.js.map +0 -1
- package/dist/commands/checkpoints.d.ts +0 -3
- package/dist/commands/checkpoints.d.ts.map +0 -1
- package/dist/commands/checkpoints.js +0 -193
- package/dist/commands/checkpoints.js.map +0 -1
- package/dist/commands/cleanup.d.ts +0 -3
- package/dist/commands/cleanup.d.ts.map +0 -1
- package/dist/commands/cleanup.js +0 -65
- package/dist/commands/cleanup.js.map +0 -1
- package/dist/commands/cloud.d.ts +0 -3
- package/dist/commands/cloud.d.ts.map +0 -1
- package/dist/commands/cloud.js +0 -192
- package/dist/commands/cloud.js.map +0 -1
- package/dist/commands/command-overview.d.ts +0 -13
- package/dist/commands/command-overview.d.ts.map +0 -1
- package/dist/commands/command-overview.js +0 -50
- package/dist/commands/command-overview.js.map +0 -1
- package/dist/commands/completion.d.ts +0 -3
- package/dist/commands/completion.d.ts.map +0 -1
- package/dist/commands/completion.js +0 -183
- package/dist/commands/completion.js.map +0 -1
- package/dist/commands/computers.d.ts +0 -3
- package/dist/commands/computers.d.ts.map +0 -1
- package/dist/commands/computers.js +0 -706
- package/dist/commands/computers.js.map +0 -1
- package/dist/commands/config.d.ts +0 -3
- package/dist/commands/config.d.ts.map +0 -1
- package/dist/commands/config.js +0 -114
- package/dist/commands/config.js.map +0 -1
- package/dist/commands/connect.d.ts +0 -6
- package/dist/commands/connect.d.ts.map +0 -1
- package/dist/commands/connect.js +0 -127
- package/dist/commands/connect.js.map +0 -1
- package/dist/commands/connectors.d.ts +0 -3
- package/dist/commands/connectors.d.ts.map +0 -1
- package/dist/commands/connectors.js +0 -172
- package/dist/commands/connectors.js.map +0 -1
- package/dist/commands/containers.d.ts +0 -3
- package/dist/commands/containers.d.ts.map +0 -1
- package/dist/commands/containers.js +0 -20
- package/dist/commands/containers.js.map +0 -1
- package/dist/commands/context.d.ts +0 -3
- package/dist/commands/context.d.ts.map +0 -1
- package/dist/commands/context.js +0 -233
- package/dist/commands/context.js.map +0 -1
- package/dist/commands/cp.d.ts +0 -3
- package/dist/commands/cp.d.ts.map +0 -1
- package/dist/commands/cp.js +0 -319
- package/dist/commands/cp.js.map +0 -1
- package/dist/commands/cron.d.ts +0 -3
- package/dist/commands/cron.d.ts.map +0 -1
- package/dist/commands/cron.js +0 -65
- package/dist/commands/cron.js.map +0 -1
- package/dist/commands/dashboard.d.ts +0 -13
- package/dist/commands/dashboard.d.ts.map +0 -1
- package/dist/commands/dashboard.js +0 -54
- package/dist/commands/dashboard.js.map +0 -1
- package/dist/commands/databases.d.ts +0 -3
- package/dist/commands/databases.d.ts.map +0 -1
- package/dist/commands/databases.js +0 -714
- package/dist/commands/databases.js.map +0 -1
- package/dist/commands/db.d.ts +0 -3
- package/dist/commands/db.d.ts.map +0 -1
- package/dist/commands/db.js +0 -385
- package/dist/commands/db.js.map +0 -1
- package/dist/commands/deploy.d.ts +0 -3
- package/dist/commands/deploy.d.ts.map +0 -1
- package/dist/commands/deploy.js +0 -1234
- package/dist/commands/deploy.js.map +0 -1
- package/dist/commands/desktop.d.ts +0 -3
- package/dist/commands/desktop.d.ts.map +0 -1
- package/dist/commands/desktop.js +0 -277
- package/dist/commands/desktop.js.map +0 -1
- package/dist/commands/dev.d.ts +0 -3
- package/dist/commands/dev.d.ts.map +0 -1
- package/dist/commands/dev.js +0 -245
- package/dist/commands/dev.js.map +0 -1
- package/dist/commands/devices.d.ts +0 -3
- package/dist/commands/devices.d.ts.map +0 -1
- package/dist/commands/devices.js +0 -279
- package/dist/commands/devices.js.map +0 -1
- package/dist/commands/docker-deploy.d.ts +0 -3
- package/dist/commands/docker-deploy.d.ts.map +0 -1
- package/dist/commands/docker-deploy.js +0 -659
- package/dist/commands/docker-deploy.js.map +0 -1
- package/dist/commands/doctor.d.ts +0 -69
- package/dist/commands/doctor.d.ts.map +0 -1
- package/dist/commands/doctor.js +0 -596
- package/dist/commands/doctor.js.map +0 -1
- package/dist/commands/domains.d.ts +0 -3
- package/dist/commands/domains.d.ts.map +0 -1
- package/dist/commands/domains.js +0 -307
- package/dist/commands/domains.js.map +0 -1
- package/dist/commands/enterprise-util.d.ts +0 -39
- package/dist/commands/enterprise-util.d.ts.map +0 -1
- package/dist/commands/enterprise-util.js +0 -217
- package/dist/commands/enterprise-util.js.map +0 -1
- package/dist/commands/env-input.d.ts +0 -26
- package/dist/commands/env-input.d.ts.map +0 -1
- package/dist/commands/env-input.js +0 -68
- package/dist/commands/env-input.js.map +0 -1
- package/dist/commands/env.d.ts +0 -3
- package/dist/commands/env.d.ts.map +0 -1
- package/dist/commands/env.js +0 -189
- package/dist/commands/env.js.map +0 -1
- package/dist/commands/exec.d.ts +0 -3
- package/dist/commands/exec.d.ts.map +0 -1
- package/dist/commands/exec.js +0 -110
- package/dist/commands/exec.js.map +0 -1
- package/dist/commands/forge.d.ts +0 -3
- package/dist/commands/forge.d.ts.map +0 -1
- package/dist/commands/forge.js +0 -254
- package/dist/commands/forge.js.map +0 -1
- package/dist/commands/functions.d.ts +0 -3
- package/dist/commands/functions.d.ts.map +0 -1
- package/dist/commands/functions.js +0 -47
- package/dist/commands/functions.js.map +0 -1
- package/dist/commands/gha-runners.d.ts +0 -3
- package/dist/commands/gha-runners.d.ts.map +0 -1
- package/dist/commands/gha-runners.js +0 -33
- package/dist/commands/gha-runners.js.map +0 -1
- package/dist/commands/groups.d.ts +0 -3
- package/dist/commands/groups.d.ts.map +0 -1
- package/dist/commands/groups.js +0 -38
- package/dist/commands/groups.js.map +0 -1
- package/dist/commands/host.d.ts +0 -3
- package/dist/commands/host.d.ts.map +0 -1
- package/dist/commands/host.js +0 -74
- package/dist/commands/host.js.map +0 -1
- package/dist/commands/hosts.d.ts +0 -7
- package/dist/commands/hosts.d.ts.map +0 -1
- package/dist/commands/hosts.js +0 -91
- package/dist/commands/hosts.js.map +0 -1
- package/dist/commands/link.d.ts +0 -8
- package/dist/commands/link.d.ts.map +0 -1
- package/dist/commands/link.js +0 -124
- package/dist/commands/link.js.map +0 -1
- package/dist/commands/login.d.ts +0 -10
- package/dist/commands/login.d.ts.map +0 -1
- package/dist/commands/login.js +0 -263
- package/dist/commands/login.js.map +0 -1
- package/dist/commands/logout.d.ts +0 -3
- package/dist/commands/logout.d.ts.map +0 -1
- package/dist/commands/logout.js +0 -43
- package/dist/commands/logout.js.map +0 -1
- package/dist/commands/logs.d.ts +0 -3
- package/dist/commands/logs.d.ts.map +0 -1
- package/dist/commands/logs.js +0 -401
- package/dist/commands/logs.js.map +0 -1
- package/dist/commands/ls.d.ts +0 -3
- package/dist/commands/ls.d.ts.map +0 -1
- package/dist/commands/ls.js +0 -121
- package/dist/commands/ls.js.map +0 -1
- package/dist/commands/mcp.d.ts +0 -46
- package/dist/commands/mcp.d.ts.map +0 -1
- package/dist/commands/mcp.js +0 -3413
- package/dist/commands/mcp.js.map +0 -1
- package/dist/commands/menu.d.ts +0 -29
- package/dist/commands/menu.d.ts.map +0 -1
- package/dist/commands/menu.js +0 -147
- package/dist/commands/menu.js.map +0 -1
- package/dist/commands/meshes.d.ts +0 -3
- package/dist/commands/meshes.d.ts.map +0 -1
- package/dist/commands/meshes.js +0 -27
- package/dist/commands/meshes.js.map +0 -1
- package/dist/commands/network-policy.d.ts +0 -3
- package/dist/commands/network-policy.d.ts.map +0 -1
- package/dist/commands/network-policy.js +0 -155
- package/dist/commands/network-policy.js.map +0 -1
- package/dist/commands/new.d.ts +0 -3
- package/dist/commands/new.d.ts.map +0 -1
- package/dist/commands/new.js +0 -296
- package/dist/commands/new.js.map +0 -1
- package/dist/commands/opencomputers.d.ts +0 -10
- package/dist/commands/opencomputers.d.ts.map +0 -1
- package/dist/commands/opencomputers.js +0 -25
- package/dist/commands/opencomputers.js.map +0 -1
- package/dist/commands/operating-contract.d.ts +0 -3
- package/dist/commands/operating-contract.d.ts.map +0 -1
- package/dist/commands/operating-contract.js +0 -651
- package/dist/commands/operating-contract.js.map +0 -1
- package/dist/commands/project.d.ts +0 -4
- package/dist/commands/project.d.ts.map +0 -1
- package/dist/commands/project.js +0 -25
- package/dist/commands/project.js.map +0 -1
- package/dist/commands/pull.d.ts +0 -14
- package/dist/commands/pull.d.ts.map +0 -1
- package/dist/commands/pull.js +0 -156
- package/dist/commands/pull.js.map +0 -1
- package/dist/commands/regions.d.ts +0 -3
- package/dist/commands/regions.d.ts.map +0 -1
- package/dist/commands/regions.js +0 -103
- package/dist/commands/regions.js.map +0 -1
- package/dist/commands/releases.d.ts +0 -3
- package/dist/commands/releases.d.ts.map +0 -1
- package/dist/commands/releases.js +0 -365
- package/dist/commands/releases.js.map +0 -1
- package/dist/commands/rm.d.ts +0 -3
- package/dist/commands/rm.d.ts.map +0 -1
- package/dist/commands/rm.js +0 -42
- package/dist/commands/rm.js.map +0 -1
- package/dist/commands/rollback.d.ts +0 -3
- package/dist/commands/rollback.d.ts.map +0 -1
- package/dist/commands/rollback.js +0 -62
- package/dist/commands/rollback.js.map +0 -1
- package/dist/commands/run-groups.d.ts +0 -3
- package/dist/commands/run-groups.d.ts.map +0 -1
- package/dist/commands/run-groups.js +0 -364
- package/dist/commands/run-groups.js.map +0 -1
- package/dist/commands/run.d.ts +0 -3
- package/dist/commands/run.d.ts.map +0 -1
- package/dist/commands/run.js +0 -130
- package/dist/commands/run.js.map +0 -1
- package/dist/commands/runs.d.ts +0 -3
- package/dist/commands/runs.d.ts.map +0 -1
- package/dist/commands/runs.js +0 -365
- package/dist/commands/runs.js.map +0 -1
- package/dist/commands/runtime-env.d.ts +0 -3
- package/dist/commands/runtime-env.d.ts.map +0 -1
- package/dist/commands/runtime-env.js +0 -114
- package/dist/commands/runtime-env.js.map +0 -1
- package/dist/commands/sandbox-delete-guard.d.ts +0 -4
- package/dist/commands/sandbox-delete-guard.d.ts.map +0 -1
- package/dist/commands/sandbox-delete-guard.js +0 -32
- package/dist/commands/sandbox-delete-guard.js.map +0 -1
- package/dist/commands/sandbox-dev.d.ts +0 -20
- package/dist/commands/sandbox-dev.d.ts.map +0 -1
- package/dist/commands/sandbox-dev.js +0 -583
- package/dist/commands/sandbox-dev.js.map +0 -1
- package/dist/commands/sandbox.d.ts +0 -36
- package/dist/commands/sandbox.d.ts.map +0 -1
- package/dist/commands/sandbox.js +0 -3796
- package/dist/commands/sandbox.js.map +0 -1
- package/dist/commands/scale.d.ts +0 -3
- package/dist/commands/scale.d.ts.map +0 -1
- package/dist/commands/scale.js +0 -61
- package/dist/commands/scale.js.map +0 -1
- package/dist/commands/schedules.d.ts +0 -3
- package/dist/commands/schedules.d.ts.map +0 -1
- package/dist/commands/schedules.js +0 -37
- package/dist/commands/schedules.js.map +0 -1
- package/dist/commands/secrets.d.ts +0 -3
- package/dist/commands/secrets.d.ts.map +0 -1
- package/dist/commands/secrets.js +0 -200
- package/dist/commands/secrets.js.map +0 -1
- package/dist/commands/services.d.ts +0 -3
- package/dist/commands/services.d.ts.map +0 -1
- package/dist/commands/services.js +0 -70
- package/dist/commands/services.js.map +0 -1
- package/dist/commands/shell.d.ts +0 -16
- package/dist/commands/shell.d.ts.map +0 -1
- package/dist/commands/shell.js +0 -555
- package/dist/commands/shell.js.map +0 -1
- package/dist/commands/snapshot.d.ts +0 -10
- package/dist/commands/snapshot.d.ts.map +0 -1
- package/dist/commands/snapshot.js +0 -181
- package/dist/commands/snapshot.js.map +0 -1
- package/dist/commands/ssh.d.ts +0 -3
- package/dist/commands/ssh.d.ts.map +0 -1
- package/dist/commands/ssh.js +0 -93
- package/dist/commands/ssh.js.map +0 -1
- package/dist/commands/status.d.ts +0 -3
- package/dist/commands/status.d.ts.map +0 -1
- package/dist/commands/status.js +0 -302
- package/dist/commands/status.js.map +0 -1
- package/dist/commands/storage.d.ts +0 -3
- package/dist/commands/storage.d.ts.map +0 -1
- package/dist/commands/storage.js +0 -456
- package/dist/commands/storage.js.map +0 -1
- package/dist/commands/teams.d.ts +0 -3
- package/dist/commands/teams.d.ts.map +0 -1
- package/dist/commands/teams.js +0 -169
- package/dist/commands/teams.js.map +0 -1
- package/dist/commands/templates.d.ts +0 -3
- package/dist/commands/templates.d.ts.map +0 -1
- package/dist/commands/templates.js +0 -690
- package/dist/commands/templates.js.map +0 -1
- package/dist/commands/tenant.d.ts +0 -3
- package/dist/commands/tenant.d.ts.map +0 -1
- package/dist/commands/tenant.js +0 -95
- package/dist/commands/tenant.js.map +0 -1
- package/dist/commands/tunnel.d.ts +0 -3
- package/dist/commands/tunnel.d.ts.map +0 -1
- package/dist/commands/tunnel.js +0 -418
- package/dist/commands/tunnel.js.map +0 -1
- package/dist/commands/up.d.ts +0 -14
- package/dist/commands/up.d.ts.map +0 -1
- package/dist/commands/up.js +0 -720
- package/dist/commands/up.js.map +0 -1
- package/dist/commands/update.d.ts +0 -3
- package/dist/commands/update.d.ts.map +0 -1
- package/dist/commands/update.js +0 -166
- package/dist/commands/update.js.map +0 -1
- package/dist/commands/util.d.ts +0 -25
- package/dist/commands/util.d.ts.map +0 -1
- package/dist/commands/util.js +0 -199
- package/dist/commands/util.js.map +0 -1
- package/dist/commands/volumes.d.ts +0 -3
- package/dist/commands/volumes.d.ts.map +0 -1
- package/dist/commands/volumes.js +0 -196
- package/dist/commands/volumes.js.map +0 -1
- package/dist/commands/watch.d.ts +0 -6
- package/dist/commands/watch.d.ts.map +0 -1
- package/dist/commands/watch.js +0 -414
- package/dist/commands/watch.js.map +0 -1
- package/dist/commands/webhooks.d.ts +0 -3
- package/dist/commands/webhooks.d.ts.map +0 -1
- package/dist/commands/webhooks.js +0 -23
- package/dist/commands/webhooks.js.map +0 -1
- package/dist/commands/whoami.d.ts +0 -3
- package/dist/commands/whoami.d.ts.map +0 -1
- package/dist/commands/whoami.js +0 -156
- package/dist/commands/whoami.js.map +0 -1
- package/dist/commands/workspaces.d.ts +0 -3
- package/dist/commands/workspaces.d.ts.map +0 -1
- package/dist/commands/workspaces.js +0 -147
- package/dist/commands/workspaces.js.map +0 -1
- package/dist/config.d.ts +0 -54
- package/dist/config.d.ts.map +0 -1
- package/dist/config.js +0 -275
- package/dist/config.js.map +0 -1
- package/dist/errors.d.ts +0 -29
- package/dist/errors.d.ts.map +0 -1
- package/dist/errors.js +0 -86
- package/dist/errors.js.map +0 -1
- package/dist/framework-detector.d.ts +0 -22
- package/dist/framework-detector.d.ts.map +0 -1
- package/dist/framework-detector.js +0 -373
- package/dist/framework-detector.js.map +0 -1
- package/dist/generated/action-capabilities.d.ts +0 -826
- package/dist/generated/action-capabilities.d.ts.map +0 -1
- package/dist/generated/action-capabilities.js +0 -1035
- package/dist/generated/action-capabilities.js.map +0 -1
- package/dist/net-diagnosis.d.ts +0 -87
- package/dist/net-diagnosis.d.ts.map +0 -1
- package/dist/net-diagnosis.js +0 -408
- package/dist/net-diagnosis.js.map +0 -1
- package/dist/pty/raw-mode.d.ts +0 -7
- package/dist/pty/raw-mode.d.ts.map +0 -1
- package/dist/pty/raw-mode.js +0 -22
- package/dist/pty/raw-mode.js.map +0 -1
- package/dist/pty/ws-pty-client.d.ts +0 -13
- package/dist/pty/ws-pty-client.d.ts.map +0 -1
- package/dist/pty/ws-pty-client.js +0 -73
- package/dist/pty/ws-pty-client.js.map +0 -1
- package/dist/tui/dashboard.d.ts +0 -35
- package/dist/tui/dashboard.d.ts.map +0 -1
- package/dist/tui/dashboard.js +0 -191
- package/dist/tui/dashboard.js.map +0 -1
- package/dist/tui/logs.d.ts +0 -26
- package/dist/tui/logs.d.ts.map +0 -1
- package/dist/tui/logs.js +0 -276
- package/dist/tui/logs.js.map +0 -1
- package/dist/types.d.ts +0 -362
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -16
- package/dist/types.js.map +0 -1
- package/dist/ui/picker.d.ts +0 -41
- package/dist/ui/picker.d.ts.map +0 -1
- package/dist/ui/picker.js +0 -77
- package/dist/ui/picker.js.map +0 -1
- package/dist/ui/progress.d.ts +0 -10
- package/dist/ui/progress.d.ts.map +0 -1
- package/dist/ui/progress.js +0 -36
- package/dist/ui/progress.js.map +0 -1
- package/dist/ui/render.d.ts +0 -91
- package/dist/ui/render.d.ts.map +0 -1
- package/dist/ui/render.js +0 -138
- package/dist/ui/render.js.map +0 -1
- package/dist/ui/spinner.d.ts +0 -4
- package/dist/ui/spinner.d.ts.map +0 -1
- package/dist/ui/spinner.js +0 -7
- package/dist/ui/spinner.js.map +0 -1
- package/dist/ui/table.d.ts +0 -8
- package/dist/ui/table.d.ts.map +0 -1
- package/dist/ui/table.js +0 -46
- package/dist/ui/table.js.map +0 -1
- package/dist/update-check.d.ts +0 -13
- package/dist/update-check.d.ts.map +0 -1
- package/dist/update-check.js +0 -94
- package/dist/update-check.js.map +0 -1
- package/dist/version.d.ts +0 -3
- package/dist/version.d.ts.map +0 -1
- package/dist/version.js +0 -5
- package/dist/version.js.map +0 -1
package/bin/miosa.js
ADDED
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
|
|
4
|
+
// Thin launcher: finds the native miosa binary for this platform and runs it.
|
|
5
|
+
const { spawnSync } = require("node:child_process");
|
|
6
|
+
const { resolveBinary } = require("../lib/resolve");
|
|
7
|
+
const { platformFor } = require("../lib/platforms");
|
|
8
|
+
|
|
9
|
+
const UPDATE_COMMANDS = new Set(["update", "upgrade", "self-update"]);
|
|
10
|
+
const UPGRADE_HINT = "npm install -g @miosa/cli@latest";
|
|
11
|
+
|
|
12
|
+
// Binaries older than 2.0.1 do not know they are npm-managed and have no
|
|
13
|
+
// --version flag. These two adjustments keep them safe; they are inert for
|
|
14
|
+
// newer binaries, which handle both natively.
|
|
15
|
+
function adjustArgs(argv) {
|
|
16
|
+
if (argv.length === 1 && argv[0] === "--version") return ["version"];
|
|
17
|
+
return argv;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
function refusesUpdate(argv) {
|
|
21
|
+
return UPDATE_COMMANDS.has(argv[0]) && !argv.some((a) => a === "--check" || a === "-h" || a === "--help");
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
// npm 11+ can skip install scripts and users can pass --ignore-scripts, so the
|
|
25
|
+
// postinstall download may never have run. Do the same checksum-verified
|
|
26
|
+
// download once, on first use.
|
|
27
|
+
async function locateBinary() {
|
|
28
|
+
try {
|
|
29
|
+
return resolveBinary();
|
|
30
|
+
} catch (err) {
|
|
31
|
+
const { version } = require("../package.json");
|
|
32
|
+
if (!platformFor(process.platform, process.arch)) throw err;
|
|
33
|
+
process.stderr.write("miosa: native binary not installed; downloading it from GitHub Releases (checksum verified)...\n");
|
|
34
|
+
const { install } = require("../scripts/postinstall");
|
|
35
|
+
try {
|
|
36
|
+
await install({ version, platform: process.platform, arch: process.arch });
|
|
37
|
+
} catch (dlErr) {
|
|
38
|
+
throw new Error(`${err.message}\nDownload failed: ${dlErr.message}`);
|
|
39
|
+
}
|
|
40
|
+
return resolveBinary();
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
async function main(argv) {
|
|
45
|
+
if (refusesUpdate(argv)) {
|
|
46
|
+
process.stderr.write(`miosa: this copy was installed with npm; run: ${UPGRADE_HINT}\n`);
|
|
47
|
+
return 1;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
let target;
|
|
51
|
+
try {
|
|
52
|
+
target = await locateBinary();
|
|
53
|
+
} catch (err) {
|
|
54
|
+
process.stderr.write(`miosa: ${err.message}\n`);
|
|
55
|
+
return 1;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
const result = spawnSync(target.path, adjustArgs(argv), {
|
|
59
|
+
stdio: "inherit",
|
|
60
|
+
env: { ...process.env, MIOSA_INSTALL_METHOD: "npm" },
|
|
61
|
+
});
|
|
62
|
+
if (result.error) {
|
|
63
|
+
process.stderr.write(`miosa: cannot run ${target.path}: ${result.error.message}\n`);
|
|
64
|
+
return 1;
|
|
65
|
+
}
|
|
66
|
+
if (result.signal) {
|
|
67
|
+
process.kill(process.pid, result.signal);
|
|
68
|
+
return 1;
|
|
69
|
+
}
|
|
70
|
+
return result.status === null ? 1 : result.status;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
main(process.argv.slice(2)).then((code) => {
|
|
74
|
+
process.exitCode = code;
|
|
75
|
+
});
|
package/lib/archive.js
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const fs = require("node:fs");
|
|
4
|
+
const os = require("node:os");
|
|
5
|
+
const path = require("node:path");
|
|
6
|
+
const { execFileSync } = require("node:child_process");
|
|
7
|
+
|
|
8
|
+
// Returns the binary named `binName` from a .tar.gz / .zip archive buffer.
|
|
9
|
+
// Uses the system `tar` (bsdtar reads zip), present on macOS, Linux and Windows 10+.
|
|
10
|
+
function extractBinary(archive, ext, binName) {
|
|
11
|
+
const dir = fs.mkdtempSync(path.join(os.tmpdir(), "miosa-cli-"));
|
|
12
|
+
try {
|
|
13
|
+
const file = path.join(dir, `archive.${ext}`);
|
|
14
|
+
fs.writeFileSync(file, archive);
|
|
15
|
+
const out = path.join(dir, "out");
|
|
16
|
+
fs.mkdirSync(out);
|
|
17
|
+
execFileSync("tar", ["-xf", file, "-C", out], { stdio: "pipe" });
|
|
18
|
+
const bin = path.join(out, binName);
|
|
19
|
+
if (!fs.existsSync(bin)) throw new Error(`archive has no ${binName}`);
|
|
20
|
+
return fs.readFileSync(bin);
|
|
21
|
+
} finally {
|
|
22
|
+
fs.rmSync(dir, { recursive: true, force: true });
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
module.exports = { extractBinary };
|
package/lib/checksums.js
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const crypto = require("node:crypto");
|
|
4
|
+
|
|
5
|
+
function sha256Hex(buf) {
|
|
6
|
+
return crypto.createHash("sha256").update(buf).digest("hex");
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
// Parses a goreleaser checksums.txt body ("<sha256> <file>") into a Map.
|
|
10
|
+
function parseChecksums(text) {
|
|
11
|
+
const sums = new Map();
|
|
12
|
+
for (const line of String(text).split("\n")) {
|
|
13
|
+
const m = /^([0-9a-fA-F]{64})\s+\*?(\S+)\s*$/.exec(line.trim());
|
|
14
|
+
if (m) sums.set(m[2], m[1].toLowerCase());
|
|
15
|
+
}
|
|
16
|
+
return sums;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
// Throws unless buf's SHA-256 equals the checksums.txt entry for name.
|
|
20
|
+
function verifyChecksum(buf, name, checksumsText) {
|
|
21
|
+
const want = parseChecksums(checksumsText).get(name);
|
|
22
|
+
if (!want) throw new Error(`checksums.txt has no entry for ${name}`);
|
|
23
|
+
const got = sha256Hex(buf);
|
|
24
|
+
if (got !== want) {
|
|
25
|
+
throw new Error(`checksum mismatch for ${name}: expected ${want}, got ${got}`);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
module.exports = { sha256Hex, parseChecksums, verifyChecksum };
|
package/lib/platforms.js
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
// Single source of truth for which platforms ship a native binary.
|
|
4
|
+
// `goos`/`goarch` are the names used in the miosa-cli-go release archives.
|
|
5
|
+
const RELEASE_REPO = "Miosa-osa/miosa-cli-go";
|
|
6
|
+
|
|
7
|
+
const PLATFORMS = {
|
|
8
|
+
"darwin-arm64": { pkg: "@miosa/cli-darwin-arm64", os: "darwin", cpu: "arm64", goos: "darwin", goarch: "arm64", ext: "tar.gz", bin: "miosa" },
|
|
9
|
+
"darwin-x64": { pkg: "@miosa/cli-darwin-x64", os: "darwin", cpu: "x64", goos: "darwin", goarch: "amd64", ext: "tar.gz", bin: "miosa" },
|
|
10
|
+
"linux-arm64": { pkg: "@miosa/cli-linux-arm64", os: "linux", cpu: "arm64", goos: "linux", goarch: "arm64", ext: "tar.gz", bin: "miosa" },
|
|
11
|
+
"linux-x64": { pkg: "@miosa/cli-linux-x64", os: "linux", cpu: "x64", goos: "linux", goarch: "amd64", ext: "tar.gz", bin: "miosa" },
|
|
12
|
+
"win32-x64": { pkg: "@miosa/cli-win32-x64", os: "win32", cpu: "x64", goos: "windows", goarch: "amd64", ext: "zip", bin: "miosa.exe" },
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
function platformKey(platform, arch) {
|
|
16
|
+
return `${platform}-${arch}`;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
function platformFor(platform, arch) {
|
|
20
|
+
return PLATFORMS[platformKey(platform, arch)] || null;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
function archiveName(version, entry) {
|
|
24
|
+
return `miosa_${version}_${entry.goos}_${entry.goarch}.${entry.ext}`;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
function releaseBaseUrl(version, repo = RELEASE_REPO) {
|
|
28
|
+
return `https://github.com/${repo}/releases/download/v${version}`;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
module.exports = { RELEASE_REPO, PLATFORMS, platformKey, platformFor, archiveName, releaseBaseUrl };
|
package/lib/resolve.js
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const fs = require("node:fs");
|
|
4
|
+
const path = require("node:path");
|
|
5
|
+
const { platformFor, platformKey } = require("./platforms");
|
|
6
|
+
|
|
7
|
+
const FALLBACK_DIR = path.join(__dirname, "..", "vendor");
|
|
8
|
+
|
|
9
|
+
// Finds the native binary for this machine. Order:
|
|
10
|
+
// 1. the platform package installed through optionalDependencies
|
|
11
|
+
// 2. the copy the postinstall fallback downloaded into ./vendor
|
|
12
|
+
// `deps` exists so tests can inject module resolution and the file system.
|
|
13
|
+
function resolveBinary({ platform, arch, deps = {} } = {}) {
|
|
14
|
+
const resolve = deps.resolve || ((id) => require.resolve(id));
|
|
15
|
+
const exists = deps.exists || fs.existsSync;
|
|
16
|
+
platform = platform || process.platform;
|
|
17
|
+
arch = arch || process.arch;
|
|
18
|
+
|
|
19
|
+
const entry = platformFor(platform, arch);
|
|
20
|
+
if (!entry) {
|
|
21
|
+
throw new Error(
|
|
22
|
+
`@miosa/cli has no prebuilt binary for ${platformKey(platform, arch)}. ` +
|
|
23
|
+
"Install the CLI another way: https://docs.miosa.ai/cli",
|
|
24
|
+
);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
try {
|
|
28
|
+
const manifest = resolve(`${entry.pkg}/package.json`);
|
|
29
|
+
const bin = path.join(path.dirname(manifest), "bin", entry.bin);
|
|
30
|
+
if (exists(bin)) return { path: bin, source: entry.pkg, entry };
|
|
31
|
+
} catch (err) {
|
|
32
|
+
if (err && err.code !== "MODULE_NOT_FOUND") throw err;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
const vendored = path.join(deps.fallbackDir || FALLBACK_DIR, entry.bin);
|
|
36
|
+
if (exists(vendored)) return { path: vendored, source: "vendor", entry };
|
|
37
|
+
|
|
38
|
+
throw new Error(
|
|
39
|
+
`The miosa binary for ${platformKey(platform, arch)} is missing (expected package ${entry.pkg}).\n` +
|
|
40
|
+
"This usually means optional dependencies were skipped (--no-optional / --omit=optional) " +
|
|
41
|
+
"or scripts were disabled (--ignore-scripts).\n" +
|
|
42
|
+
"Reinstall with: npm install -g @miosa/cli\n" +
|
|
43
|
+
"Or install the native CLI directly: https://docs.miosa.ai/cli",
|
|
44
|
+
);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
module.exports = { resolveBinary, FALLBACK_DIR };
|
package/package.json
CHANGED
|
@@ -1,60 +1,44 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@miosa/cli",
|
|
3
|
-
"version": "
|
|
4
|
-
"description": "MIOSA
|
|
5
|
-
"type": "module",
|
|
3
|
+
"version": "2.0.0",
|
|
4
|
+
"description": "The official MIOSA command-line tool (native binary, installed per platform)",
|
|
6
5
|
"bin": {
|
|
7
|
-
"miosa": "
|
|
6
|
+
"miosa": "bin/miosa.js"
|
|
8
7
|
},
|
|
9
8
|
"scripts": {
|
|
10
|
-
"
|
|
11
|
-
"build:linux": "bun build src/bin/miosa.ts --compile --target=bun-linux-x64 --outfile dist/miosa-linux-x64",
|
|
12
|
-
"dev": "tsx src/bin/miosa.ts",
|
|
13
|
-
"test": "vitest run",
|
|
14
|
-
"test:watch": "vitest",
|
|
15
|
-
"typecheck": "tsc --noEmit",
|
|
16
|
-
"prepublishOnly": "npm run build"
|
|
9
|
+
"postinstall": "node scripts/postinstall.js"
|
|
17
10
|
},
|
|
18
|
-
"
|
|
19
|
-
"
|
|
11
|
+
"optionalDependencies": {
|
|
12
|
+
"@miosa/cli-darwin-arm64": "2.0.0",
|
|
13
|
+
"@miosa/cli-darwin-x64": "2.0.0",
|
|
14
|
+
"@miosa/cli-linux-arm64": "2.0.0",
|
|
15
|
+
"@miosa/cli-linux-x64": "2.0.0"
|
|
20
16
|
},
|
|
21
17
|
"files": [
|
|
22
|
-
"
|
|
23
|
-
"
|
|
24
|
-
"
|
|
18
|
+
"bin",
|
|
19
|
+
"lib",
|
|
20
|
+
"scripts",
|
|
21
|
+
"README.md"
|
|
25
22
|
],
|
|
23
|
+
"engines": {
|
|
24
|
+
"node": ">=18"
|
|
25
|
+
},
|
|
26
26
|
"keywords": [
|
|
27
27
|
"miosa",
|
|
28
28
|
"cli",
|
|
29
|
-
"platform",
|
|
30
|
-
"paas",
|
|
31
|
-
"deploy",
|
|
32
29
|
"sandbox",
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"devtools"
|
|
30
|
+
"computers",
|
|
31
|
+
"deploy"
|
|
36
32
|
],
|
|
37
33
|
"author": "MIOSA",
|
|
38
34
|
"license": "MIT",
|
|
39
|
-
"
|
|
40
|
-
|
|
41
|
-
"
|
|
42
|
-
"
|
|
43
|
-
"
|
|
44
|
-
"ora": "^8.1.1",
|
|
45
|
-
"react": "^19.2.6",
|
|
46
|
-
"undici": "^6.19.7",
|
|
47
|
-
"ws": "^8.18.0",
|
|
48
|
-
"yaml": "^2.9.0"
|
|
35
|
+
"homepage": "https://docs.miosa.ai/cli",
|
|
36
|
+
"repository": {
|
|
37
|
+
"type": "git",
|
|
38
|
+
"url": "git+https://github.com/Miosa-osa/miosa.git",
|
|
39
|
+
"directory": "sdks/cli/npm/cli"
|
|
49
40
|
},
|
|
50
|
-
"
|
|
51
|
-
"
|
|
52
|
-
"@types/node": "^20.17.9",
|
|
53
|
-
"@types/react": "^19.2.15",
|
|
54
|
-
"@types/ws": "^8.5.13",
|
|
55
|
-
"tsx": "^4.23.1",
|
|
56
|
-
"typescript": "^5.7.2",
|
|
57
|
-
"vite": "~6.4.3",
|
|
58
|
-
"vitest": "^3.2.7"
|
|
41
|
+
"publishConfig": {
|
|
42
|
+
"access": "public"
|
|
59
43
|
}
|
|
60
44
|
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
// Fallback for installs where the platform package did not arrive
|
|
4
|
+
// (--omit=optional, a mirror without the @miosa/cli-* packages, ...).
|
|
5
|
+
// Downloads the release archive from GitHub, verifies its SHA-256 against the
|
|
6
|
+
// release's checksums.txt, and stores the binary in ./vendor.
|
|
7
|
+
// A no-op whenever the platform package is present.
|
|
8
|
+
const fs = require("node:fs");
|
|
9
|
+
const path = require("node:path");
|
|
10
|
+
const { resolveBinary, FALLBACK_DIR } = require("../lib/resolve");
|
|
11
|
+
const { platformFor, platformKey, archiveName, releaseBaseUrl } = require("../lib/platforms");
|
|
12
|
+
const { verifyChecksum } = require("../lib/checksums");
|
|
13
|
+
const { extractBinary } = require("../lib/archive");
|
|
14
|
+
|
|
15
|
+
const MAX_BYTES = 200 << 20;
|
|
16
|
+
|
|
17
|
+
async function fetchBuffer(url, fetchImpl) {
|
|
18
|
+
const res = await fetchImpl(url, { redirect: "follow", headers: { "user-agent": "miosa-cli-npm-postinstall" } });
|
|
19
|
+
if (!res.ok) throw new Error(`GET ${url}: ${res.status} ${res.statusText}`);
|
|
20
|
+
const buf = Buffer.from(await res.arrayBuffer());
|
|
21
|
+
if (buf.length > MAX_BYTES) throw new Error(`GET ${url}: response too large`);
|
|
22
|
+
return buf;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
async function install({ version, platform, arch, fetchImpl = fetch, baseUrl, vendorDir = FALLBACK_DIR }) {
|
|
26
|
+
const entry = platformFor(platform, arch);
|
|
27
|
+
const base = baseUrl || process.env.MIOSA_CLI_DOWNLOAD_BASE || releaseBaseUrl(version);
|
|
28
|
+
const name = archiveName(version, entry);
|
|
29
|
+
const sums = (await fetchBuffer(`${base}/checksums.txt`, fetchImpl)).toString("utf8");
|
|
30
|
+
const archive = await fetchBuffer(`${base}/${name}`, fetchImpl);
|
|
31
|
+
verifyChecksum(archive, name, sums);
|
|
32
|
+
const bin = extractBinary(archive, entry.ext, entry.bin);
|
|
33
|
+
fs.mkdirSync(vendorDir, { recursive: true });
|
|
34
|
+
const dest = path.join(vendorDir, entry.bin);
|
|
35
|
+
fs.writeFileSync(dest, bin, { mode: 0o755 });
|
|
36
|
+
return dest;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
async function main() {
|
|
40
|
+
const platform = process.platform;
|
|
41
|
+
const arch = process.arch;
|
|
42
|
+
if (!platformFor(platform, arch)) {
|
|
43
|
+
console.warn(`@miosa/cli: no prebuilt binary for ${platformKey(platform, arch)}; see https://docs.miosa.ai/cli`);
|
|
44
|
+
return 0;
|
|
45
|
+
}
|
|
46
|
+
try {
|
|
47
|
+
resolveBinary({ platform, arch });
|
|
48
|
+
return 0; // platform package (or an earlier download) is already in place
|
|
49
|
+
} catch {
|
|
50
|
+
// fall through to the download
|
|
51
|
+
}
|
|
52
|
+
const { version } = require("../package.json");
|
|
53
|
+
console.log(`@miosa/cli: platform package missing, downloading miosa ${version} from GitHub Releases`);
|
|
54
|
+
try {
|
|
55
|
+
const dest = await install({ version, platform, arch });
|
|
56
|
+
console.log(`@miosa/cli: installed ${dest} (checksum verified)`);
|
|
57
|
+
return 0;
|
|
58
|
+
} catch (err) {
|
|
59
|
+
console.error(`@miosa/cli: could not install the native binary: ${err.message}`);
|
|
60
|
+
return 1;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
module.exports = { install };
|
|
65
|
+
|
|
66
|
+
if (require.main === module) {
|
|
67
|
+
main().then((code) => process.exit(code));
|
|
68
|
+
}
|
package/CHANGELOG.md
DELETED
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
# Changelog
|
|
2
|
-
|
|
3
|
-
All notable changes to @miosa/cli will be documented in this file.
|
|
4
|
-
|
|
5
|
-
## [1.3.3] - 2026-09-02
|
|
6
|
-
|
|
7
|
-
### Added
|
|
8
|
-
- `sandbox create` now sends an auto-generated UUID `Idempotency-Key` (unless `--idempotency-key` is given). The same key is reused across all retries so a retried create dedups to the same sandbox instead of billing a duplicate VM. Applies to `sandbox create` (typed flags and `--data`) and the `mcp serve` `sandbox_create` tool.
|
|
9
|
-
- Bounded exponential-backoff retry (429/500/502/503/504, matching the SDK policy) on the `sandbox create` POST — now safe because the create carries a stable idempotency key. `MiosaClient.apiPostWithRetry()` provides the shared retry transport.
|
|
10
|
-
|
|
11
|
-
### Changed
|
|
12
|
-
- `sandbox create --wait` and `sandbox wait` now confirm **command-readiness** (all platform readiness components attached, via `GET /sandboxes/:id/readiness`, mirroring the server's `command_path_ready?`) after the sandbox reaches `running`, so a successful wait guarantees `exec` will not return `409 SANDBOX_NOT_COMMAND_READY`. A missing readiness endpoint on older servers is tolerated.
|
|
13
|
-
|
|
14
|
-
## [1.3.2] - 2026-09-01
|
|
15
|
-
|
|
16
|
-
### Fixed
|
|
17
|
-
- The shared SSE parser (`parseSse`, used by `exec`, `watch`, `logs`, `up`,
|
|
18
|
-
`runs`, `builds`, `shell`, `databases`, and `deploy`) read a `data`/`output`
|
|
19
|
-
field for `stdout`/`stderr` frames, but the sandbox `exec/stream` endpoint
|
|
20
|
-
sends `data: {"line": "..."}`. Every stdout/stderr line from a sandbox
|
|
21
|
-
exec/stream call silently became an empty string — indistinguishable from
|
|
22
|
-
the stream producing zero events. It now reads `line` first, falling back
|
|
23
|
-
to `data`/`output` for any other producer.
|
|
24
|
-
- Every SSE request in `MiosaClient` (`apiStream`, `streamJob`, `computerExec`,
|
|
25
|
-
`dispatchAgent`, `streamDeploymentLogs`, `streamBuildLogs`, `watchEvents`,
|
|
26
|
-
`watchComputerEvents`) now sends `Accept: text/event-stream, application/json, */*`
|
|
27
|
-
instead of a bare `text/event-stream`, matching the fix already applied to
|
|
28
|
-
the databases stream route and defensively preventing the same 406 class of
|
|
29
|
-
bug everywhere else.
|
|
30
|
-
|
|
31
|
-
## [1.3.1] - 2026-09-01
|
|
32
|
-
|
|
33
|
-
### Fixed
|
|
34
|
-
- `miosa doctor` no longer reports the "Action authority / catalog mismatch"
|
|
35
|
-
warning when the control plane simply advertises capabilities newer than the
|
|
36
|
-
CLI. A server that is only *ahead* of the CLI is benign, forward-compatible
|
|
37
|
-
drift: the CLI never invokes a capability it has no name for, and the control
|
|
38
|
-
plane denies unknown capabilities regardless. Only `missing` and `stale`
|
|
39
|
-
capabilities (genuine CLI<->server contract hazards) now affect the check;
|
|
40
|
-
server-ahead capabilities are reported informationally.
|
|
41
|
-
|
|
42
|
-
### Changed
|
|
43
|
-
- Synced the pinned action-capability catalog with the control plane, adding the
|
|
44
|
-
client-facing `computer.list.apps`, `computer.list.surfaces`,
|
|
45
|
-
`computer.scroll.to`, `computer.set.value`, and `computer.triple.click`
|
|
46
|
-
capabilities. Platform-internal `admin.*` capabilities remain excluded from
|
|
47
|
-
the CLI contract.
|
|
48
|
-
|
|
49
|
-
## [1.0.67] - 2026-06-14
|
|
50
|
-
|
|
51
|
-
### Fixed
|
|
52
|
-
- Updated `miosa capabilities` guidance so `sandbox prompt` describes the
|
|
53
|
-
durable `/agent-runs` path instead of the old raw exec path.
|
|
54
|
-
|
|
55
|
-
## [1.0.66] - 2026-06-14
|
|
56
|
-
|
|
57
|
-
### Changed
|
|
58
|
-
- `miosa sandbox prompt` now dispatches through the durable `/api/v1/agent-runs`
|
|
59
|
-
backend instead of bypassing it with raw sandbox exec.
|
|
60
|
-
- Added backend-aligned prompt providers: `claude`, `claude-code`, `codex`,
|
|
61
|
-
`hermes`, `osa`, `pi`, and `custom` with `--runtime-command`.
|
|
62
|
-
|
|
63
|
-
## [1.0.54] - 2026-06-10
|
|
64
|
-
|
|
65
|
-
### Changed
|
|
66
|
-
- Publish workflow now uses npm Trusted Publishing provenance instead of an empty `NPM_TOKEN` secret.
|
|
67
|
-
|
|
68
|
-
## [1.0.53] - 2026-06-10
|
|
69
|
-
|
|
70
|
-
### Added
|
|
71
|
-
- `miosa docker-deploy ensure --wait` waits for the workspace appliance host to become active and healthy.
|
|
72
|
-
- `miosa docker-deploy doctor <deployment-id>` verifies Docker Deploy metadata, host readiness, appliance route, and public URL health.
|
|
73
|
-
- `miosa app plan --goal docker-deploy --json` now includes the doctor command as the post-publish proof step.
|
|
74
|
-
|
|
75
|
-
## [1.0.1] - 2026-05-22
|
|
76
|
-
|
|
77
|
-
### Added
|
|
78
|
-
- `miosa logs` — unified log streaming for computers, deployments, sandboxes
|
|
79
|
-
- `miosa env` — environment variable management (list/set/unset/pull)
|
|
80
|
-
- `miosa scale` — instance scaling and resizing
|
|
81
|
-
- `miosa rollback` — deployment rollback
|
|
82
|
-
- `miosa releases` — release management (list/get/promote)
|
|
83
|
-
- `miosa builds` — build history and logs
|
|
84
|
-
- `miosa regions` — list available regions
|
|
85
|
-
- `miosa teams` — team/org management (list/invite/remove/role)
|
|
86
|
-
- `miosa billing` — usage, invoices, plan info
|
|
87
|
-
- `miosa templates` — sandbox template management
|
|
88
|
-
- Storage object operations (upload/download/list/delete/presign)
|
|
89
|
-
- Database backup/restore/logs
|
|
90
|
-
|
|
91
|
-
## [0.2.0] - 2026-05-18
|
|
92
|
-
|
|
93
|
-
### Added
|
|
94
|
-
- 90+ commands across desktop, files, sandboxes, deploy, databases, functions, cron, infra
|
|
95
|
-
- Premium commands: up, shell, watch, agent, dev, run, snapshot, tunnel, mcp serve
|
|
96
|
-
- MCP server (`miosa mcp serve`) for Claude Code/Cursor/Windsurf integration
|
|
97
|
-
- `miosa status` dashboard with parallel API calls
|
|
98
|
-
- `miosa doctor` diagnostics
|
|
99
|
-
- `miosa whoami` with cached auth
|
|
100
|
-
- `miosa config` management
|
|
101
|
-
|
|
102
|
-
## [0.1.0] - 2026-04-19
|
|
103
|
-
|
|
104
|
-
### Added
|
|
105
|
-
- Initial release with basic computer and host management
|
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
import type { MiosaClient } from "./client.js";
|
|
2
|
-
export { ACTION_CAPABILITY_IDENTITIES } from "./generated/action-capabilities.js";
|
|
3
|
-
export interface ActionCapability {
|
|
4
|
-
name: string;
|
|
5
|
-
version: string;
|
|
6
|
-
fingerprint: string;
|
|
7
|
-
risk: "read" | "write" | "destructive";
|
|
8
|
-
scope: "tenant" | "workspace" | "computer" | "deployment";
|
|
9
|
-
approval: "never" | "policy" | "always";
|
|
10
|
-
}
|
|
11
|
-
export interface ActionAuthorityDecision {
|
|
12
|
-
decision: "allow" | "deny" | "pending_approval";
|
|
13
|
-
capability?: ActionCapability;
|
|
14
|
-
approval_request_id?: string;
|
|
15
|
-
receipt_id?: string;
|
|
16
|
-
reason?: string;
|
|
17
|
-
}
|
|
18
|
-
export interface ActionAuthorityRequest {
|
|
19
|
-
capability: Pick<ActionCapability, "name" | "fingerprint">;
|
|
20
|
-
request_fingerprint: string;
|
|
21
|
-
params_fingerprint: string;
|
|
22
|
-
surface: string;
|
|
23
|
-
workspace_id?: string;
|
|
24
|
-
}
|
|
25
|
-
export interface ActionApproval {
|
|
26
|
-
id: string;
|
|
27
|
-
capability_name: string;
|
|
28
|
-
capability_fingerprint: string;
|
|
29
|
-
request_fingerprint: string;
|
|
30
|
-
principal_type: string;
|
|
31
|
-
principal_id: string;
|
|
32
|
-
status: string;
|
|
33
|
-
workspace_id?: string | null;
|
|
34
|
-
expires_at?: string | null;
|
|
35
|
-
resolved_at?: string | null;
|
|
36
|
-
consumed_at?: string | null;
|
|
37
|
-
inserted_at: string;
|
|
38
|
-
}
|
|
39
|
-
export interface ActionGrant {
|
|
40
|
-
id: string;
|
|
41
|
-
capability_name: string;
|
|
42
|
-
capability_fingerprint: string;
|
|
43
|
-
principal_type: string;
|
|
44
|
-
principal_id: string;
|
|
45
|
-
status: string;
|
|
46
|
-
workspace_id?: string | null;
|
|
47
|
-
constraints: Record<string, unknown>;
|
|
48
|
-
expires_at?: string | null;
|
|
49
|
-
revoked_at?: string | null;
|
|
50
|
-
inserted_at: string;
|
|
51
|
-
}
|
|
52
|
-
export interface ActionReceipt {
|
|
53
|
-
id: string;
|
|
54
|
-
capability_name: string;
|
|
55
|
-
capability_fingerprint: string;
|
|
56
|
-
principal_type: string;
|
|
57
|
-
principal_id: string;
|
|
58
|
-
surface: string;
|
|
59
|
-
decision: string;
|
|
60
|
-
params_fingerprint: string;
|
|
61
|
-
grant_id?: string | null;
|
|
62
|
-
approval_request_id?: string | null;
|
|
63
|
-
occurred_at: string;
|
|
64
|
-
}
|
|
65
|
-
export interface ActionCatalogConformance {
|
|
66
|
-
/**
|
|
67
|
-
* True when the CLI can safely operate against this control plane: no
|
|
68
|
-
* `missing` and no `stale` capabilities. `unexpected` (server-ahead) does not
|
|
69
|
-
* clear `ok` because it is benign forward-compatible drift.
|
|
70
|
-
*/
|
|
71
|
-
ok: boolean;
|
|
72
|
-
/** Capabilities the CLI pins that the live catalog does not advertise. */
|
|
73
|
-
missing: string[];
|
|
74
|
-
/** Shared capabilities whose live version/fingerprint differs from the pin. */
|
|
75
|
-
stale: string[];
|
|
76
|
-
/** Live capabilities the CLI does not pin (server ahead of CLI; informational). */
|
|
77
|
-
unexpected: string[];
|
|
78
|
-
}
|
|
79
|
-
export declare function actionCatalogConformance(liveCatalog: ActionCapability[]): ActionCatalogConformance;
|
|
80
|
-
export declare class ActionAuthorityClient {
|
|
81
|
-
private readonly client;
|
|
82
|
-
constructor(client: MiosaClient);
|
|
83
|
-
catalog(): Promise<ActionCapability[]>;
|
|
84
|
-
authorize(name: string, params: unknown, options?: {
|
|
85
|
-
surface?: string;
|
|
86
|
-
workspaceId?: string;
|
|
87
|
-
invocationId?: string;
|
|
88
|
-
}): Promise<ActionAuthorityDecision>;
|
|
89
|
-
approvals(status?: string): Promise<ActionApproval[]>;
|
|
90
|
-
resolveApproval(id: string, decision: "approve" | "deny"): Promise<ActionApproval>;
|
|
91
|
-
grants(status?: string): Promise<ActionGrant[]>;
|
|
92
|
-
createGrant(input: {
|
|
93
|
-
capability: Pick<ActionCapability, "name" | "fingerprint">;
|
|
94
|
-
principal_type: string;
|
|
95
|
-
principal_id: string;
|
|
96
|
-
workspace_id?: string;
|
|
97
|
-
expires_at?: string;
|
|
98
|
-
constraints?: Record<string, unknown>;
|
|
99
|
-
}): Promise<ActionGrant>;
|
|
100
|
-
revokeGrant(id: string): Promise<ActionGrant>;
|
|
101
|
-
receipts(limit?: number): Promise<ActionReceipt[]>;
|
|
102
|
-
requireCapability(name: string): Promise<ActionCapability>;
|
|
103
|
-
}
|
|
104
|
-
export declare function fingerprint(value: unknown): string;
|
|
105
|
-
export declare function canonicalJson(value: unknown): string;
|
|
106
|
-
//# sourceMappingURL=action-authority.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"action-authority.d.ts","sourceRoot":"","sources":["../src/action-authority.ts"],"names":[],"mappings":"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"}
|