@agentuity/cli 2.0.0-beta.0 → 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/bin/cli.ts +8 -1
- package/dist/auth.d.ts +1 -1
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +12 -1
- package/dist/auth.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +29 -1
- package/dist/cli.js.map +1 -1
- package/dist/cmd/auth/ssh/delete.js +1 -1
- package/dist/cmd/auth/ssh/delete.js.map +1 -1
- package/dist/cmd/build/app-config-extractor.d.ts +27 -0
- package/dist/cmd/build/app-config-extractor.d.ts.map +1 -0
- package/dist/cmd/build/app-config-extractor.js +152 -0
- package/dist/cmd/build/app-config-extractor.js.map +1 -0
- package/dist/cmd/build/ci.d.ts +18 -0
- package/dist/cmd/build/ci.d.ts.map +1 -0
- package/dist/cmd/build/ci.js +188 -0
- package/dist/cmd/build/ci.js.map +1 -0
- package/dist/cmd/build/index.d.ts.map +1 -1
- package/dist/cmd/build/index.js +50 -14
- package/dist/cmd/build/index.js.map +1 -1
- package/dist/cmd/build/vite/agent-discovery.d.ts.map +1 -1
- package/dist/cmd/build/vite/agent-discovery.js +26 -2
- package/dist/cmd/build/vite/agent-discovery.js.map +1 -1
- package/dist/cmd/build/vite/bun-dev-server.d.ts +35 -0
- package/dist/cmd/build/vite/bun-dev-server.d.ts.map +1 -1
- package/dist/cmd/build/vite/bun-dev-server.js +232 -4
- package/dist/cmd/build/vite/bun-dev-server.js.map +1 -1
- package/dist/cmd/build/vite/config-loader.d.ts +15 -20
- package/dist/cmd/build/vite/config-loader.d.ts.map +1 -1
- package/dist/cmd/build/vite/config-loader.js +41 -74
- package/dist/cmd/build/vite/config-loader.js.map +1 -1
- package/dist/cmd/build/vite/route-discovery.d.ts +5 -0
- package/dist/cmd/build/vite/route-discovery.d.ts.map +1 -1
- package/dist/cmd/build/vite/route-discovery.js +13 -11
- package/dist/cmd/build/vite/route-discovery.js.map +1 -1
- package/dist/cmd/build/vite/static-renderer.d.ts +3 -4
- package/dist/cmd/build/vite/static-renderer.d.ts.map +1 -1
- package/dist/cmd/build/vite/static-renderer.js +28 -44
- package/dist/cmd/build/vite/static-renderer.js.map +1 -1
- package/dist/cmd/build/vite/tailwind-source-plugin.d.ts +15 -0
- package/dist/cmd/build/vite/tailwind-source-plugin.d.ts.map +1 -0
- package/dist/cmd/build/vite/tailwind-source-plugin.js +61 -0
- package/dist/cmd/build/vite/tailwind-source-plugin.js.map +1 -0
- package/dist/cmd/build/vite/vite-asset-server-config.d.ts.map +1 -1
- package/dist/cmd/build/vite/vite-asset-server-config.js +4 -48
- package/dist/cmd/build/vite/vite-asset-server-config.js.map +1 -1
- package/dist/cmd/build/vite/vite-builder.d.ts.map +1 -1
- package/dist/cmd/build/vite/vite-builder.js +70 -155
- package/dist/cmd/build/vite/vite-builder.js.map +1 -1
- package/dist/cmd/cloud/agent/get.d.ts.map +1 -1
- package/dist/cmd/cloud/agent/get.js +1 -0
- package/dist/cmd/cloud/agent/get.js.map +1 -1
- package/dist/cmd/cloud/apikey/delete.js +1 -1
- package/dist/cmd/cloud/apikey/delete.js.map +1 -1
- package/dist/cmd/cloud/apikey/get.d.ts.map +1 -1
- package/dist/cmd/cloud/apikey/get.js +1 -0
- package/dist/cmd/cloud/apikey/get.js.map +1 -1
- package/dist/cmd/cloud/apikey/index.d.ts.map +1 -1
- package/dist/cmd/cloud/apikey/index.js +1 -0
- package/dist/cmd/cloud/apikey/index.js.map +1 -1
- package/dist/cmd/cloud/db/delete.js +1 -1
- package/dist/cmd/cloud/db/delete.js.map +1 -1
- package/dist/cmd/cloud/deploy-fork.d.ts +10 -0
- package/dist/cmd/cloud/deploy-fork.d.ts.map +1 -1
- package/dist/cmd/cloud/deploy-fork.js +71 -32
- package/dist/cmd/cloud/deploy-fork.js.map +1 -1
- package/dist/cmd/cloud/deploy.d.ts.map +1 -1
- package/dist/cmd/cloud/deploy.js +54 -12
- package/dist/cmd/cloud/deploy.js.map +1 -1
- package/dist/cmd/cloud/deployment/remove.js +17 -17
- package/dist/cmd/cloud/deployment/remove.js.map +1 -1
- package/dist/cmd/cloud/deployment/show.js +1 -1
- package/dist/cmd/cloud/deployment/show.js.map +1 -1
- package/dist/cmd/cloud/email/create.js +1 -1
- package/dist/cmd/cloud/email/create.js.map +1 -1
- package/dist/cmd/cloud/email/delete.js +1 -1
- package/dist/cmd/cloud/email/delete.js.map +1 -1
- package/dist/cmd/cloud/email/destination/delete.js +1 -1
- package/dist/cmd/cloud/email/destination/delete.js.map +1 -1
- package/dist/cmd/cloud/email/get.d.ts.map +1 -1
- package/dist/cmd/cloud/email/get.js +1 -0
- package/dist/cmd/cloud/email/get.js.map +1 -1
- package/dist/cmd/cloud/email/inbound/get.d.ts.map +1 -1
- package/dist/cmd/cloud/email/inbound/get.js +1 -0
- package/dist/cmd/cloud/email/inbound/get.js.map +1 -1
- package/dist/cmd/cloud/email/outbound/get.d.ts.map +1 -1
- package/dist/cmd/cloud/email/outbound/get.js +1 -0
- package/dist/cmd/cloud/email/outbound/get.js.map +1 -1
- package/dist/cmd/cloud/env/delete.js +1 -1
- package/dist/cmd/cloud/env/delete.js.map +1 -1
- package/dist/cmd/cloud/env/get.d.ts.map +1 -1
- package/dist/cmd/cloud/env/get.js +1 -0
- package/dist/cmd/cloud/env/get.js.map +1 -1
- package/dist/cmd/cloud/eval/get.d.ts.map +1 -1
- package/dist/cmd/cloud/eval/get.js +1 -0
- package/dist/cmd/cloud/eval/get.js.map +1 -1
- package/dist/cmd/cloud/eval/index.d.ts.map +1 -1
- package/dist/cmd/cloud/eval/index.js +1 -0
- package/dist/cmd/cloud/eval/index.js.map +1 -1
- package/dist/cmd/cloud/eval/list.js +1 -1
- package/dist/cmd/cloud/eval/list.js.map +1 -1
- package/dist/cmd/cloud/eval-run/get.d.ts.map +1 -1
- package/dist/cmd/cloud/eval-run/get.js +1 -0
- package/dist/cmd/cloud/eval-run/get.js.map +1 -1
- package/dist/cmd/cloud/eval-run/index.d.ts.map +1 -1
- package/dist/cmd/cloud/eval-run/index.js +1 -0
- package/dist/cmd/cloud/eval-run/index.js.map +1 -1
- package/dist/cmd/cloud/eval-run/list.js +1 -1
- package/dist/cmd/cloud/eval-run/list.js.map +1 -1
- package/dist/cmd/cloud/keyvalue/delete-namespace.js +1 -1
- package/dist/cmd/cloud/keyvalue/delete-namespace.js.map +1 -1
- package/dist/cmd/cloud/keyvalue/delete.js +1 -1
- package/dist/cmd/cloud/keyvalue/delete.js.map +1 -1
- package/dist/cmd/cloud/keyvalue/get.d.ts.map +1 -1
- package/dist/cmd/cloud/keyvalue/get.js +1 -0
- package/dist/cmd/cloud/keyvalue/get.js.map +1 -1
- package/dist/cmd/cloud/keyvalue/index.js +1 -1
- package/dist/cmd/cloud/keyvalue/index.js.map +1 -1
- package/dist/cmd/cloud/machine/delete.js +1 -1
- package/dist/cmd/cloud/machine/delete.js.map +1 -1
- package/dist/cmd/cloud/oidc/delete.js +1 -1
- package/dist/cmd/cloud/oidc/delete.js.map +1 -1
- package/dist/cmd/cloud/oidc/get.d.ts.map +1 -1
- package/dist/cmd/cloud/oidc/get.js +1 -0
- package/dist/cmd/cloud/oidc/get.js.map +1 -1
- package/dist/cmd/cloud/queue/create.d.ts.map +1 -1
- package/dist/cmd/cloud/queue/create.js +1 -0
- package/dist/cmd/cloud/queue/create.js.map +1 -1
- package/dist/cmd/cloud/queue/delete.js +1 -1
- package/dist/cmd/cloud/queue/delete.js.map +1 -1
- package/dist/cmd/cloud/queue/get.d.ts.map +1 -1
- package/dist/cmd/cloud/queue/get.js +1 -0
- package/dist/cmd/cloud/queue/get.js.map +1 -1
- package/dist/cmd/cloud/redis/get.js +1 -1
- package/dist/cmd/cloud/redis/get.js.map +1 -1
- package/dist/cmd/cloud/sandbox/checkpoint/create.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/checkpoint/create.js +1 -0
- package/dist/cmd/cloud/sandbox/checkpoint/create.js.map +1 -1
- package/dist/cmd/cloud/sandbox/checkpoint/delete.js +1 -1
- package/dist/cmd/cloud/sandbox/checkpoint/delete.js.map +1 -1
- package/dist/cmd/cloud/sandbox/checkpoint/index.js +1 -1
- package/dist/cmd/cloud/sandbox/checkpoint/index.js.map +1 -1
- package/dist/cmd/cloud/sandbox/create.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/create.js +14 -0
- package/dist/cmd/cloud/sandbox/create.js.map +1 -1
- package/dist/cmd/cloud/sandbox/delete.js +1 -1
- package/dist/cmd/cloud/sandbox/delete.js.map +1 -1
- package/dist/cmd/cloud/sandbox/exec.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/exec.js +76 -66
- package/dist/cmd/cloud/sandbox/exec.js.map +1 -1
- package/dist/cmd/cloud/sandbox/execution/index.js +1 -1
- package/dist/cmd/cloud/sandbox/execution/index.js.map +1 -1
- package/dist/cmd/cloud/sandbox/execution/list.js +2 -2
- package/dist/cmd/cloud/sandbox/execution/list.js.map +1 -1
- package/dist/cmd/cloud/sandbox/fs/cp.d.ts +3 -0
- package/dist/cmd/cloud/sandbox/fs/cp.d.ts.map +1 -0
- package/dist/cmd/cloud/sandbox/{cp.js → fs/cp.js} +13 -13
- package/dist/cmd/cloud/sandbox/fs/cp.js.map +1 -0
- package/dist/cmd/cloud/sandbox/fs/download.d.ts +3 -0
- package/dist/cmd/cloud/sandbox/fs/download.d.ts.map +1 -0
- package/dist/cmd/cloud/sandbox/{download.js → fs/download.js} +7 -7
- package/dist/cmd/cloud/sandbox/fs/download.js.map +1 -0
- package/dist/cmd/cloud/sandbox/fs/index.d.ts +2 -0
- package/dist/cmd/cloud/sandbox/fs/index.d.ts.map +1 -0
- package/dist/cmd/cloud/sandbox/fs/index.js +36 -0
- package/dist/cmd/cloud/sandbox/fs/index.js.map +1 -0
- package/dist/cmd/cloud/sandbox/fs/ls.d.ts +3 -0
- package/dist/cmd/cloud/sandbox/fs/ls.d.ts.map +1 -0
- package/dist/cmd/cloud/sandbox/{ls.js → fs/ls.js} +10 -10
- package/dist/cmd/cloud/sandbox/fs/ls.js.map +1 -0
- package/dist/cmd/cloud/sandbox/fs/mkdir.d.ts +3 -0
- package/dist/cmd/cloud/sandbox/fs/mkdir.d.ts.map +1 -0
- package/dist/cmd/cloud/sandbox/{mkdir.js → fs/mkdir.js} +6 -6
- package/dist/cmd/cloud/sandbox/fs/mkdir.js.map +1 -0
- package/dist/cmd/cloud/sandbox/fs/rm.d.ts +3 -0
- package/dist/cmd/cloud/sandbox/fs/rm.d.ts.map +1 -0
- package/dist/cmd/cloud/sandbox/{rm.js → fs/rm.js} +6 -5
- package/dist/cmd/cloud/sandbox/fs/rm.js.map +1 -0
- package/dist/cmd/cloud/sandbox/fs/rmdir.d.ts +3 -0
- package/dist/cmd/cloud/sandbox/fs/rmdir.d.ts.map +1 -0
- package/dist/cmd/cloud/sandbox/{rmdir.js → fs/rmdir.js} +6 -6
- package/dist/cmd/cloud/sandbox/fs/rmdir.js.map +1 -0
- package/dist/cmd/cloud/sandbox/fs/upload.d.ts +3 -0
- package/dist/cmd/cloud/sandbox/fs/upload.d.ts.map +1 -0
- package/dist/cmd/cloud/sandbox/{upload.js → fs/upload.js} +7 -7
- package/dist/cmd/cloud/sandbox/fs/upload.js.map +1 -0
- package/dist/cmd/cloud/sandbox/index.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/index.js +4 -14
- package/dist/cmd/cloud/sandbox/index.js.map +1 -1
- package/dist/cmd/cloud/sandbox/job/create.d.ts +3 -0
- package/dist/cmd/cloud/sandbox/job/create.d.ts.map +1 -0
- package/dist/cmd/cloud/sandbox/job/create.js +52 -0
- package/dist/cmd/cloud/sandbox/job/create.js.map +1 -0
- package/dist/cmd/cloud/sandbox/job/destroy.d.ts +3 -0
- package/dist/cmd/cloud/sandbox/job/destroy.d.ts.map +1 -0
- package/dist/cmd/cloud/sandbox/job/destroy.js +59 -0
- package/dist/cmd/cloud/sandbox/job/destroy.js.map +1 -0
- package/dist/cmd/cloud/sandbox/job/get.d.ts +3 -0
- package/dist/cmd/cloud/sandbox/job/get.d.ts.map +1 -0
- package/dist/cmd/cloud/sandbox/job/get.js +66 -0
- package/dist/cmd/cloud/sandbox/job/get.js.map +1 -0
- package/dist/cmd/cloud/sandbox/job/index.d.ts +3 -0
- package/dist/cmd/cloud/sandbox/job/index.d.ts.map +1 -0
- package/dist/cmd/cloud/sandbox/job/index.js +41 -0
- package/dist/cmd/cloud/sandbox/job/index.js.map +1 -0
- package/dist/cmd/cloud/sandbox/job/list.d.ts +3 -0
- package/dist/cmd/cloud/sandbox/job/list.d.ts.map +1 -0
- package/dist/cmd/cloud/sandbox/job/list.js +67 -0
- package/dist/cmd/cloud/sandbox/job/list.js.map +1 -0
- package/dist/cmd/cloud/sandbox/job/logs.d.ts +3 -0
- package/dist/cmd/cloud/sandbox/job/logs.d.ts.map +1 -0
- package/dist/cmd/cloud/sandbox/job/logs.js +124 -0
- package/dist/cmd/cloud/sandbox/job/logs.js.map +1 -0
- package/dist/cmd/cloud/sandbox/run.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/run.js +14 -2
- package/dist/cmd/cloud/sandbox/run.js.map +1 -1
- package/dist/cmd/cloud/sandbox/runtime/index.js +1 -1
- package/dist/cmd/cloud/sandbox/runtime/index.js.map +1 -1
- package/dist/cmd/cloud/sandbox/snapshot/build.js +2 -2
- package/dist/cmd/cloud/sandbox/snapshot/build.js.map +1 -1
- package/dist/cmd/cloud/sandbox/snapshot/create.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/snapshot/create.js +1 -0
- package/dist/cmd/cloud/sandbox/snapshot/create.js.map +1 -1
- package/dist/cmd/cloud/sandbox/snapshot/delete.js +1 -1
- package/dist/cmd/cloud/sandbox/snapshot/delete.js.map +1 -1
- package/dist/cmd/cloud/sandbox/snapshot/index.js +1 -1
- package/dist/cmd/cloud/sandbox/snapshot/index.js.map +1 -1
- package/dist/cmd/cloud/schedule/create.d.ts.map +1 -1
- package/dist/cmd/cloud/schedule/create.js +1 -0
- package/dist/cmd/cloud/schedule/create.js.map +1 -1
- package/dist/cmd/cloud/schedule/delete.js +1 -1
- package/dist/cmd/cloud/schedule/delete.js.map +1 -1
- package/dist/cmd/cloud/schedule/delivery/get.d.ts.map +1 -1
- package/dist/cmd/cloud/schedule/delivery/get.js +1 -0
- package/dist/cmd/cloud/schedule/delivery/get.js.map +1 -1
- package/dist/cmd/cloud/schedule/destination/create.d.ts.map +1 -1
- package/dist/cmd/cloud/schedule/destination/create.js +1 -0
- package/dist/cmd/cloud/schedule/destination/create.js.map +1 -1
- package/dist/cmd/cloud/schedule/destination/delete.js +1 -1
- package/dist/cmd/cloud/schedule/destination/delete.js.map +1 -1
- package/dist/cmd/cloud/schedule/destination/get.d.ts.map +1 -1
- package/dist/cmd/cloud/schedule/destination/get.js +1 -0
- package/dist/cmd/cloud/schedule/destination/get.js.map +1 -1
- package/dist/cmd/cloud/schedule/get.d.ts.map +1 -1
- package/dist/cmd/cloud/schedule/get.js +1 -0
- package/dist/cmd/cloud/schedule/get.js.map +1 -1
- package/dist/cmd/cloud/session/get.d.ts.map +1 -1
- package/dist/cmd/cloud/session/get.js +1 -0
- package/dist/cmd/cloud/session/get.js.map +1 -1
- package/dist/cmd/cloud/session/index.d.ts.map +1 -1
- package/dist/cmd/cloud/session/index.js +1 -0
- package/dist/cmd/cloud/session/index.js.map +1 -1
- package/dist/cmd/cloud/session/list.js +1 -1
- package/dist/cmd/cloud/session/list.js.map +1 -1
- package/dist/cmd/cloud/storage/delete.js +1 -1
- package/dist/cmd/cloud/storage/delete.js.map +1 -1
- package/dist/cmd/cloud/stream/delete.js +1 -1
- package/dist/cmd/cloud/stream/delete.js.map +1 -1
- package/dist/cmd/cloud/stream/get.d.ts.map +1 -1
- package/dist/cmd/cloud/stream/get.js +1 -0
- package/dist/cmd/cloud/stream/get.js.map +1 -1
- package/dist/cmd/cloud/task/delete.js +1 -1
- package/dist/cmd/cloud/task/delete.js.map +1 -1
- package/dist/cmd/cloud/task/index.d.ts.map +1 -1
- package/dist/cmd/cloud/task/index.js +1 -0
- package/dist/cmd/cloud/task/index.js.map +1 -1
- package/dist/cmd/cloud/thread/delete.js +1 -1
- package/dist/cmd/cloud/thread/delete.js.map +1 -1
- package/dist/cmd/cloud/thread/get.d.ts.map +1 -1
- package/dist/cmd/cloud/thread/get.js +1 -0
- package/dist/cmd/cloud/thread/get.js.map +1 -1
- package/dist/cmd/cloud/thread/index.d.ts.map +1 -1
- package/dist/cmd/cloud/thread/index.js +1 -0
- package/dist/cmd/cloud/thread/index.js.map +1 -1
- package/dist/cmd/cloud/thread/list.js +1 -1
- package/dist/cmd/cloud/thread/list.js.map +1 -1
- package/dist/cmd/cloud/vector/delete-namespace.js +1 -1
- package/dist/cmd/cloud/vector/delete-namespace.js.map +1 -1
- package/dist/cmd/cloud/vector/delete.js +1 -1
- package/dist/cmd/cloud/vector/delete.js.map +1 -1
- package/dist/cmd/cloud/vector/get.d.ts.map +1 -1
- package/dist/cmd/cloud/vector/get.js +1 -0
- package/dist/cmd/cloud/vector/get.js.map +1 -1
- package/dist/cmd/cloud/vector/index.js +1 -1
- package/dist/cmd/cloud/vector/index.js.map +1 -1
- package/dist/cmd/cloud/webhook/create.d.ts.map +1 -1
- package/dist/cmd/cloud/webhook/create.js +1 -0
- package/dist/cmd/cloud/webhook/create.js.map +1 -1
- package/dist/cmd/cloud/webhook/delete.js +1 -1
- package/dist/cmd/cloud/webhook/delete.js.map +1 -1
- package/dist/cmd/cloud/webhook/get.d.ts.map +1 -1
- package/dist/cmd/cloud/webhook/get.js +1 -0
- package/dist/cmd/cloud/webhook/get.js.map +1 -1
- package/dist/cmd/coder/hub-url.d.ts.map +1 -1
- package/dist/cmd/coder/hub-url.js +3 -1
- package/dist/cmd/coder/hub-url.js.map +1 -1
- package/dist/cmd/coder/start.js +6 -6
- package/dist/cmd/coder/start.js.map +1 -1
- package/dist/cmd/coder/tui-init.d.ts +2 -2
- package/dist/cmd/coder/tui-init.js +2 -2
- package/dist/cmd/coder/tui-init.js.map +1 -1
- package/dist/cmd/dev/index.d.ts.map +1 -1
- package/dist/cmd/dev/index.js +161 -130
- package/dist/cmd/dev/index.js.map +1 -1
- package/dist/cmd/dev/process-manager.d.ts +104 -0
- package/dist/cmd/dev/process-manager.d.ts.map +1 -0
- package/dist/cmd/dev/process-manager.js +204 -0
- package/dist/cmd/dev/process-manager.js.map +1 -0
- package/dist/cmd/git/account/remove.d.ts.map +1 -1
- package/dist/cmd/git/account/remove.js +1 -0
- package/dist/cmd/git/account/remove.js.map +1 -1
- package/dist/cmd/profile/delete.js +1 -1
- package/dist/cmd/profile/delete.js.map +1 -1
- package/dist/cmd/project/delete.js +1 -1
- package/dist/cmd/project/delete.js.map +1 -1
- package/dist/cmd/project/hostname/get.d.ts.map +1 -1
- package/dist/cmd/project/hostname/get.js +1 -0
- package/dist/cmd/project/hostname/get.js.map +1 -1
- package/dist/cmd/project/show.d.ts.map +1 -1
- package/dist/cmd/project/show.js +9 -0
- package/dist/cmd/project/show.js.map +1 -1
- package/dist/cmd/support/report.d.ts.map +1 -1
- package/dist/cmd/support/report.js +19 -10
- package/dist/cmd/support/report.js.map +1 -1
- package/dist/cmd/upgrade/index.d.ts.map +1 -1
- package/dist/cmd/upgrade/index.js +3 -16
- package/dist/cmd/upgrade/index.js.map +1 -1
- package/dist/errors.d.ts +24 -10
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +42 -12
- package/dist/errors.js.map +1 -1
- package/dist/schema-generator.d.ts.map +1 -1
- package/dist/schema-generator.js +3 -13
- package/dist/schema-generator.js.map +1 -1
- package/dist/schema-parser.d.ts.map +1 -1
- package/dist/schema-parser.js +8 -0
- package/dist/schema-parser.js.map +1 -1
- package/dist/steps.d.ts.map +1 -1
- package/dist/steps.js +38 -0
- package/dist/steps.js.map +1 -1
- package/dist/tui.d.ts.map +1 -1
- package/dist/tui.js +25 -9
- package/dist/tui.js.map +1 -1
- package/dist/utils/stream-capture.d.ts +9 -0
- package/dist/utils/stream-capture.d.ts.map +1 -0
- package/dist/utils/stream-capture.js +34 -0
- package/dist/utils/stream-capture.js.map +1 -0
- package/dist/utils/stream-url.d.ts +23 -0
- package/dist/utils/stream-url.d.ts.map +1 -0
- package/dist/utils/stream-url.js +153 -0
- package/dist/utils/stream-url.js.map +1 -0
- package/dist/utils/version-mismatch.d.ts +39 -0
- package/dist/utils/version-mismatch.d.ts.map +1 -0
- package/dist/utils/version-mismatch.js +161 -0
- package/dist/utils/version-mismatch.js.map +1 -0
- package/dist/utils/zip.d.ts.map +1 -1
- package/dist/utils/zip.js +19 -10
- package/dist/utils/zip.js.map +1 -1
- package/package.json +11 -7
- package/src/auth.ts +12 -2
- package/src/cli.ts +33 -1
- package/src/cmd/auth/ssh/delete.ts +1 -1
- package/src/cmd/build/app-config-extractor.ts +186 -0
- package/src/cmd/build/ci.ts +225 -0
- package/src/cmd/build/index.ts +61 -14
- package/src/cmd/build/vite/agent-discovery.ts +30 -5
- package/src/cmd/build/vite/bun-dev-server.ts +319 -6
- package/src/cmd/build/vite/config-loader.ts +45 -77
- package/src/cmd/build/vite/route-discovery.ts +25 -12
- package/src/cmd/build/vite/static-renderer.ts +34 -47
- package/src/cmd/build/vite/tailwind-source-plugin.ts +73 -0
- package/src/cmd/build/vite/vite-asset-server-config.ts +4 -47
- package/src/cmd/build/vite/vite-builder.ts +80 -168
- package/src/cmd/cloud/agent/get.ts +1 -0
- package/src/cmd/cloud/apikey/delete.ts +1 -1
- package/src/cmd/cloud/apikey/get.ts +1 -0
- package/src/cmd/cloud/apikey/index.ts +1 -0
- package/src/cmd/cloud/db/delete.ts +1 -1
- package/src/cmd/cloud/deploy-fork.ts +90 -33
- package/src/cmd/cloud/deploy.ts +69 -13
- package/src/cmd/cloud/deployment/remove.ts +17 -17
- package/src/cmd/cloud/deployment/show.ts +1 -1
- package/src/cmd/cloud/email/create.ts +1 -1
- package/src/cmd/cloud/email/delete.ts +1 -1
- package/src/cmd/cloud/email/destination/delete.ts +1 -1
- package/src/cmd/cloud/email/get.ts +1 -0
- package/src/cmd/cloud/email/inbound/get.ts +1 -0
- package/src/cmd/cloud/email/outbound/get.ts +1 -0
- package/src/cmd/cloud/env/delete.ts +1 -1
- package/src/cmd/cloud/env/get.ts +1 -0
- package/src/cmd/cloud/eval/get.ts +1 -0
- package/src/cmd/cloud/eval/index.ts +1 -0
- package/src/cmd/cloud/eval/list.ts +1 -1
- package/src/cmd/cloud/eval-run/get.ts +1 -0
- package/src/cmd/cloud/eval-run/index.ts +1 -0
- package/src/cmd/cloud/eval-run/list.ts +1 -1
- package/src/cmd/cloud/keyvalue/delete-namespace.ts +1 -1
- package/src/cmd/cloud/keyvalue/delete.ts +1 -1
- package/src/cmd/cloud/keyvalue/get.ts +1 -0
- package/src/cmd/cloud/keyvalue/index.ts +1 -1
- package/src/cmd/cloud/machine/delete.ts +1 -1
- package/src/cmd/cloud/oidc/delete.ts +1 -1
- package/src/cmd/cloud/oidc/get.ts +1 -0
- package/src/cmd/cloud/queue/create.ts +1 -0
- package/src/cmd/cloud/queue/delete.ts +1 -1
- package/src/cmd/cloud/queue/get.ts +1 -0
- package/src/cmd/cloud/redis/get.ts +1 -1
- package/src/cmd/cloud/sandbox/checkpoint/create.ts +1 -0
- package/src/cmd/cloud/sandbox/checkpoint/delete.ts +1 -1
- package/src/cmd/cloud/sandbox/checkpoint/index.ts +1 -1
- package/src/cmd/cloud/sandbox/create.ts +16 -0
- package/src/cmd/cloud/sandbox/delete.ts +1 -1
- package/src/cmd/cloud/sandbox/exec.ts +102 -90
- package/src/cmd/cloud/sandbox/execution/index.ts +1 -1
- package/src/cmd/cloud/sandbox/execution/list.ts +2 -2
- package/src/cmd/cloud/sandbox/{cp.ts → fs/cp.ts} +13 -13
- package/src/cmd/cloud/sandbox/{download.ts → fs/download.ts} +7 -7
- package/src/cmd/cloud/sandbox/fs/index.ts +36 -0
- package/src/cmd/cloud/sandbox/{ls.ts → fs/ls.ts} +10 -10
- package/src/cmd/cloud/sandbox/{mkdir.ts → fs/mkdir.ts} +6 -6
- package/src/cmd/cloud/sandbox/{rm.ts → fs/rm.ts} +6 -5
- package/src/cmd/cloud/sandbox/{rmdir.ts → fs/rmdir.ts} +6 -6
- package/src/cmd/cloud/sandbox/{upload.ts → fs/upload.ts} +7 -7
- package/src/cmd/cloud/sandbox/index.ts +4 -14
- package/src/cmd/cloud/sandbox/job/create.ts +63 -0
- package/src/cmd/cloud/sandbox/job/destroy.ts +67 -0
- package/src/cmd/cloud/sandbox/job/get.ts +78 -0
- package/src/cmd/cloud/sandbox/job/index.ts +42 -0
- package/src/cmd/cloud/sandbox/job/list.ts +81 -0
- package/src/cmd/cloud/sandbox/job/logs.ts +139 -0
- package/src/cmd/cloud/sandbox/run.ts +16 -2
- package/src/cmd/cloud/sandbox/runtime/index.ts +1 -1
- package/src/cmd/cloud/sandbox/snapshot/build.ts +2 -2
- package/src/cmd/cloud/sandbox/snapshot/create.ts +1 -0
- package/src/cmd/cloud/sandbox/snapshot/delete.ts +1 -1
- package/src/cmd/cloud/sandbox/snapshot/index.ts +1 -1
- package/src/cmd/cloud/schedule/create.ts +1 -0
- package/src/cmd/cloud/schedule/delete.ts +1 -1
- package/src/cmd/cloud/schedule/delivery/get.ts +1 -0
- package/src/cmd/cloud/schedule/destination/create.ts +1 -0
- package/src/cmd/cloud/schedule/destination/delete.ts +1 -1
- package/src/cmd/cloud/schedule/destination/get.ts +1 -0
- package/src/cmd/cloud/schedule/get.ts +1 -0
- package/src/cmd/cloud/session/get.ts +1 -0
- package/src/cmd/cloud/session/index.ts +1 -0
- package/src/cmd/cloud/session/list.ts +1 -1
- package/src/cmd/cloud/storage/delete.ts +1 -1
- package/src/cmd/cloud/stream/delete.ts +1 -1
- package/src/cmd/cloud/stream/get.ts +1 -0
- package/src/cmd/cloud/task/delete.ts +1 -1
- package/src/cmd/cloud/task/index.ts +1 -0
- package/src/cmd/cloud/thread/delete.ts +1 -1
- package/src/cmd/cloud/thread/get.ts +1 -0
- package/src/cmd/cloud/thread/index.ts +1 -0
- package/src/cmd/cloud/thread/list.ts +1 -1
- package/src/cmd/cloud/vector/delete-namespace.ts +1 -1
- package/src/cmd/cloud/vector/delete.ts +1 -1
- package/src/cmd/cloud/vector/get.ts +1 -0
- package/src/cmd/cloud/vector/index.ts +1 -1
- package/src/cmd/cloud/webhook/create.ts +1 -0
- package/src/cmd/cloud/webhook/delete.ts +1 -1
- package/src/cmd/cloud/webhook/get.ts +1 -0
- package/src/cmd/coder/hub-url.ts +3 -1
- package/src/cmd/coder/start.ts +6 -6
- package/src/cmd/coder/tui-init.ts +4 -4
- package/src/cmd/dev/index.ts +171 -131
- package/src/cmd/dev/process-manager.ts +261 -0
- package/src/cmd/git/account/remove.ts +1 -0
- package/src/cmd/profile/delete.ts +1 -1
- package/src/cmd/project/delete.ts +1 -1
- package/src/cmd/project/hostname/get.ts +1 -0
- package/src/cmd/project/show.ts +9 -0
- package/src/cmd/support/report.ts +21 -10
- package/src/cmd/upgrade/index.ts +3 -18
- package/src/errors.ts +44 -12
- package/src/schema-generator.ts +3 -13
- package/src/schema-parser.ts +11 -0
- package/src/steps.ts +38 -0
- package/src/tui.ts +24 -9
- package/src/utils/stream-capture.ts +39 -0
- package/src/utils/stream-url.ts +226 -0
- package/src/utils/version-mismatch.ts +204 -0
- package/src/utils/zip.ts +22 -10
- package/dist/cmd/cloud/sandbox/cp.d.ts +0 -3
- package/dist/cmd/cloud/sandbox/cp.d.ts.map +0 -1
- package/dist/cmd/cloud/sandbox/cp.js.map +0 -1
- package/dist/cmd/cloud/sandbox/download.d.ts +0 -3
- package/dist/cmd/cloud/sandbox/download.d.ts.map +0 -1
- package/dist/cmd/cloud/sandbox/download.js.map +0 -1
- package/dist/cmd/cloud/sandbox/ls.d.ts +0 -3
- package/dist/cmd/cloud/sandbox/ls.d.ts.map +0 -1
- package/dist/cmd/cloud/sandbox/ls.js.map +0 -1
- package/dist/cmd/cloud/sandbox/mkdir.d.ts +0 -3
- package/dist/cmd/cloud/sandbox/mkdir.d.ts.map +0 -1
- package/dist/cmd/cloud/sandbox/mkdir.js.map +0 -1
- package/dist/cmd/cloud/sandbox/rm.d.ts +0 -3
- package/dist/cmd/cloud/sandbox/rm.d.ts.map +0 -1
- package/dist/cmd/cloud/sandbox/rm.js.map +0 -1
- package/dist/cmd/cloud/sandbox/rmdir.d.ts +0 -3
- package/dist/cmd/cloud/sandbox/rmdir.d.ts.map +0 -1
- package/dist/cmd/cloud/sandbox/rmdir.js.map +0 -1
- package/dist/cmd/cloud/sandbox/upload.d.ts +0 -3
- package/dist/cmd/cloud/sandbox/upload.d.ts.map +0 -1
- package/dist/cmd/cloud/sandbox/upload.js.map +0 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { createCommand } from '
|
|
3
|
-
import * as tui from '
|
|
4
|
-
import { createSandboxClient } from '
|
|
5
|
-
import { getCommand } from '
|
|
2
|
+
import { createCommand } from '../../../../types';
|
|
3
|
+
import * as tui from '../../../../tui';
|
|
4
|
+
import { createSandboxClient } from '../util';
|
|
5
|
+
import { getCommand } from '../../../../command-prefix';
|
|
6
6
|
import { sandboxMkDir, sandboxResolve } from '@agentuity/server';
|
|
7
7
|
|
|
8
8
|
const MkDirResponseSchema = z.object({
|
|
@@ -17,11 +17,11 @@ export const mkdirSubcommand = createCommand({
|
|
|
17
17
|
requires: { auth: true, apiClient: true },
|
|
18
18
|
examples: [
|
|
19
19
|
{
|
|
20
|
-
command: getCommand('cloud sandbox mkdir sbx_abc123 /path/to/dir'),
|
|
20
|
+
command: getCommand('cloud sandbox fs mkdir sbx_abc123 /path/to/dir'),
|
|
21
21
|
description: 'Create a directory in the sandbox',
|
|
22
22
|
},
|
|
23
23
|
{
|
|
24
|
-
command: getCommand('cloud sandbox mkdir sbx_abc123 /path/to/nested/dir -p'),
|
|
24
|
+
command: getCommand('cloud sandbox fs mkdir sbx_abc123 /path/to/nested/dir -p'),
|
|
25
25
|
description: 'Create nested directories recursively',
|
|
26
26
|
},
|
|
27
27
|
],
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { createCommand } from '
|
|
3
|
-
import * as tui from '
|
|
4
|
-
import { createSandboxClient } from '
|
|
5
|
-
import { getCommand } from '
|
|
2
|
+
import { createCommand } from '../../../../types';
|
|
3
|
+
import * as tui from '../../../../tui';
|
|
4
|
+
import { createSandboxClient } from '../util';
|
|
5
|
+
import { getCommand } from '../../../../command-prefix';
|
|
6
6
|
import { sandboxRmFile, sandboxResolve } from '@agentuity/server';
|
|
7
7
|
|
|
8
8
|
const RmFileResponseSchema = z.object({
|
|
@@ -12,12 +12,13 @@ const RmFileResponseSchema = z.object({
|
|
|
12
12
|
|
|
13
13
|
export const rmSubcommand = createCommand({
|
|
14
14
|
name: 'rm',
|
|
15
|
+
aliases: ['del', 'remove'],
|
|
15
16
|
description: 'Remove a file from a sandbox',
|
|
16
17
|
tags: ['slow', 'requires-auth'],
|
|
17
18
|
requires: { auth: true, apiClient: true },
|
|
18
19
|
examples: [
|
|
19
20
|
{
|
|
20
|
-
command: getCommand('cloud sandbox rm sbx_abc123 /path/to/file.txt'),
|
|
21
|
+
command: getCommand('cloud sandbox fs rm sbx_abc123 /path/to/file.txt'),
|
|
21
22
|
description: 'Remove a file from the sandbox',
|
|
22
23
|
},
|
|
23
24
|
],
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { createCommand } from '
|
|
3
|
-
import * as tui from '
|
|
4
|
-
import { createSandboxClient } from '
|
|
5
|
-
import { getCommand } from '
|
|
2
|
+
import { createCommand } from '../../../../types';
|
|
3
|
+
import * as tui from '../../../../tui';
|
|
4
|
+
import { createSandboxClient } from '../util';
|
|
5
|
+
import { getCommand } from '../../../../command-prefix';
|
|
6
6
|
import { sandboxRmDir, sandboxResolve } from '@agentuity/server';
|
|
7
7
|
|
|
8
8
|
const RmDirResponseSchema = z.object({
|
|
@@ -17,11 +17,11 @@ export const rmdirSubcommand = createCommand({
|
|
|
17
17
|
requires: { auth: true, apiClient: true },
|
|
18
18
|
examples: [
|
|
19
19
|
{
|
|
20
|
-
command: getCommand('cloud sandbox rmdir sbx_abc123 /path/to/dir'),
|
|
20
|
+
command: getCommand('cloud sandbox fs rmdir sbx_abc123 /path/to/dir'),
|
|
21
21
|
description: 'Remove an empty directory from the sandbox',
|
|
22
22
|
},
|
|
23
23
|
{
|
|
24
|
-
command: getCommand('cloud sandbox rmdir sbx_abc123 /path/to/dir -r'),
|
|
24
|
+
command: getCommand('cloud sandbox fs rmdir sbx_abc123 /path/to/dir -r'),
|
|
25
25
|
description: 'Remove a directory and all its contents recursively',
|
|
26
26
|
},
|
|
27
27
|
],
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { readFileSync, statSync } from 'node:fs';
|
|
3
|
-
import { createCommand } from '
|
|
4
|
-
import * as tui from '
|
|
5
|
-
import { createSandboxClient } from '
|
|
6
|
-
import { getCommand } from '
|
|
3
|
+
import { createCommand } from '../../../../types';
|
|
4
|
+
import * as tui from '../../../../tui';
|
|
5
|
+
import { createSandboxClient } from '../util';
|
|
6
|
+
import { getCommand } from '../../../../command-prefix';
|
|
7
7
|
import { sandboxUploadArchive, sandboxResolve } from '@agentuity/server';
|
|
8
8
|
|
|
9
9
|
export const uploadSubcommand = createCommand({
|
|
@@ -14,15 +14,15 @@ export const uploadSubcommand = createCommand({
|
|
|
14
14
|
requires: { auth: true, apiClient: true },
|
|
15
15
|
examples: [
|
|
16
16
|
{
|
|
17
|
-
command: getCommand('cloud sandbox upload sbx_abc123 ./archive.tar.gz'),
|
|
17
|
+
command: getCommand('cloud sandbox fs upload sbx_abc123 ./archive.tar.gz'),
|
|
18
18
|
description: 'Upload and extract a tar.gz archive to sandbox root',
|
|
19
19
|
},
|
|
20
20
|
{
|
|
21
|
-
command: getCommand('cloud sandbox upload sbx_abc123 ./archive.zip --path /subdir'),
|
|
21
|
+
command: getCommand('cloud sandbox fs upload sbx_abc123 ./archive.zip --path /subdir'),
|
|
22
22
|
description: 'Upload and extract a zip archive to a specific directory',
|
|
23
23
|
},
|
|
24
24
|
{
|
|
25
|
-
command: getCommand('cloud sandbox upload sbx_abc123 ./archive.bin --format tar.gz'),
|
|
25
|
+
command: getCommand('cloud sandbox fs upload sbx_abc123 ./archive.bin --format tar.gz'),
|
|
26
26
|
description: 'Upload with explicit format specification',
|
|
27
27
|
},
|
|
28
28
|
],
|
|
@@ -7,14 +7,9 @@ import { getSubcommand } from './get';
|
|
|
7
7
|
import { deleteSubcommand } from './delete';
|
|
8
8
|
import { snapshotCommand } from './snapshot';
|
|
9
9
|
import { runtimeCommand } from './runtime';
|
|
10
|
-
import {
|
|
10
|
+
import { command as fsCommand } from './fs';
|
|
11
11
|
import { command as executionCommand } from './execution';
|
|
12
|
-
import {
|
|
13
|
-
import { rmdirSubcommand } from './rmdir';
|
|
14
|
-
import { rmSubcommand } from './rm';
|
|
15
|
-
import { lsSubcommand } from './ls';
|
|
16
|
-
import { downloadSubcommand } from './download';
|
|
17
|
-
import { uploadSubcommand } from './upload';
|
|
12
|
+
import { command as jobCommand } from './job';
|
|
18
13
|
import { envSubcommand } from './env';
|
|
19
14
|
import { pauseSubcommand } from './pause';
|
|
20
15
|
import { resumeSubcommand } from './resume';
|
|
@@ -51,14 +46,9 @@ export const command = createCommand({
|
|
|
51
46
|
deleteSubcommand,
|
|
52
47
|
snapshotCommand,
|
|
53
48
|
runtimeCommand,
|
|
54
|
-
|
|
49
|
+
fsCommand,
|
|
55
50
|
executionCommand,
|
|
56
|
-
|
|
57
|
-
rmdirSubcommand,
|
|
58
|
-
rmSubcommand,
|
|
59
|
-
lsSubcommand,
|
|
60
|
-
downloadSubcommand,
|
|
61
|
-
uploadSubcommand,
|
|
51
|
+
jobCommand,
|
|
62
52
|
envSubcommand,
|
|
63
53
|
pauseSubcommand,
|
|
64
54
|
resumeSubcommand,
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { createCommand } from '../../../../types';
|
|
3
|
+
import * as tui from '../../../../tui';
|
|
4
|
+
import { createSandboxClient } from '../util';
|
|
5
|
+
import { getCommand } from '../../../../command-prefix';
|
|
6
|
+
import { jobCreate, sandboxResolve } from '@agentuity/server';
|
|
7
|
+
|
|
8
|
+
export const createSubcommand = createCommand({
|
|
9
|
+
name: 'create',
|
|
10
|
+
aliases: ['new'],
|
|
11
|
+
description: 'Create a background job in a sandbox',
|
|
12
|
+
tags: ['requires-auth'],
|
|
13
|
+
requires: { auth: true, apiClient: true },
|
|
14
|
+
examples: [
|
|
15
|
+
{
|
|
16
|
+
command: getCommand('cloud sandbox job create sbx_abc123 -- bun run build'),
|
|
17
|
+
description: 'Create a background job',
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
command: getCommand('cloud sandbox job create sbx_abc123 -- npm install'),
|
|
21
|
+
description: 'Run npm install as a background job',
|
|
22
|
+
},
|
|
23
|
+
],
|
|
24
|
+
|
|
25
|
+
schema: {
|
|
26
|
+
args: z.object({
|
|
27
|
+
sandboxId: z.string().describe('Sandbox ID'),
|
|
28
|
+
command: z.array(z.string()).describe('Command and arguments to run as a background job'),
|
|
29
|
+
}),
|
|
30
|
+
options: z.object({}),
|
|
31
|
+
},
|
|
32
|
+
|
|
33
|
+
async handler(ctx) {
|
|
34
|
+
const { args, options, auth, logger, apiClient } = ctx;
|
|
35
|
+
|
|
36
|
+
const sandboxInfo = await sandboxResolve(apiClient, args.sandboxId);
|
|
37
|
+
const { region, orgId } = sandboxInfo;
|
|
38
|
+
|
|
39
|
+
const client = createSandboxClient(logger, auth, region);
|
|
40
|
+
|
|
41
|
+
const job = await jobCreate(client, {
|
|
42
|
+
sandboxId: args.sandboxId,
|
|
43
|
+
options: {
|
|
44
|
+
command: args.command,
|
|
45
|
+
},
|
|
46
|
+
orgId,
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
if (options.json) {
|
|
50
|
+
return job;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
tui.success(`Created job ${tui.bold(job.jobId)}`);
|
|
54
|
+
tui.info(`Status: ${job.status}`);
|
|
55
|
+
tui.muted(
|
|
56
|
+
`Use 'agentuity cloud sandbox job get ${args.sandboxId} ${job.jobId}' to check status`
|
|
57
|
+
);
|
|
58
|
+
|
|
59
|
+
return job;
|
|
60
|
+
},
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
export default createSubcommand;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { createCommand } from '../../../../types';
|
|
3
|
+
import * as tui from '../../../../tui';
|
|
4
|
+
import { createSandboxClient } from '../util';
|
|
5
|
+
import { getCommand } from '../../../../command-prefix';
|
|
6
|
+
import { jobStop, sandboxResolve } from '@agentuity/server';
|
|
7
|
+
|
|
8
|
+
export const destroySubcommand = createCommand({
|
|
9
|
+
name: 'destroy',
|
|
10
|
+
aliases: ['stop', 'terminate'],
|
|
11
|
+
description: 'Terminate a running job',
|
|
12
|
+
tags: ['requires-auth'],
|
|
13
|
+
requires: { auth: true, apiClient: true },
|
|
14
|
+
examples: [
|
|
15
|
+
{
|
|
16
|
+
command: getCommand('cloud sandbox job destroy sbx_abc123 job_xyz789'),
|
|
17
|
+
description: 'Terminate a job gracefully',
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
command: getCommand('cloud sandbox job destroy sbx_abc123 job_xyz789 --force'),
|
|
21
|
+
description: 'Force kill a job',
|
|
22
|
+
},
|
|
23
|
+
],
|
|
24
|
+
|
|
25
|
+
schema: {
|
|
26
|
+
args: z.object({
|
|
27
|
+
sandboxId: z.string().describe('Sandbox ID'),
|
|
28
|
+
jobId: z.string().describe('Job ID'),
|
|
29
|
+
}),
|
|
30
|
+
options: z.object({
|
|
31
|
+
force: z
|
|
32
|
+
.boolean()
|
|
33
|
+
.default(false)
|
|
34
|
+
.describe('Force kill the job (SIGKILL instead of SIGTERM)'),
|
|
35
|
+
}),
|
|
36
|
+
},
|
|
37
|
+
|
|
38
|
+
async handler(ctx) {
|
|
39
|
+
const { args, opts, options, auth, logger, apiClient } = ctx;
|
|
40
|
+
|
|
41
|
+
const sandboxInfo = await sandboxResolve(apiClient, args.sandboxId);
|
|
42
|
+
const { region, orgId } = sandboxInfo;
|
|
43
|
+
|
|
44
|
+
const client = createSandboxClient(logger, auth, region);
|
|
45
|
+
|
|
46
|
+
const job = await jobStop(client, {
|
|
47
|
+
sandboxId: args.sandboxId,
|
|
48
|
+
jobId: args.jobId,
|
|
49
|
+
force: opts.force,
|
|
50
|
+
orgId,
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
if (options.json) {
|
|
54
|
+
return job;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
if (job.status === 'cancelled') {
|
|
58
|
+
tui.success(`Job ${tui.bold(job.jobId)} terminated`);
|
|
59
|
+
} else {
|
|
60
|
+
tui.info(`Job ${tui.bold(job.jobId)} status: ${job.status}`);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
return job;
|
|
64
|
+
},
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
export default destroySubcommand;
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { createCommand } from '../../../../types';
|
|
3
|
+
import * as tui from '../../../../tui';
|
|
4
|
+
import { createSandboxClient } from '../util';
|
|
5
|
+
import { jobGet, sandboxResolve } from '@agentuity/server';
|
|
6
|
+
|
|
7
|
+
export const getSubcommand = createCommand({
|
|
8
|
+
name: 'get',
|
|
9
|
+
aliases: ['show', 'info'],
|
|
10
|
+
description: 'Get details of a specific job',
|
|
11
|
+
tags: ['read-only', 'requires-auth'],
|
|
12
|
+
requires: { auth: true, apiClient: true },
|
|
13
|
+
|
|
14
|
+
schema: {
|
|
15
|
+
args: z.object({
|
|
16
|
+
sandboxId: z.string().describe('Sandbox ID'),
|
|
17
|
+
jobId: z.string().describe('Job ID'),
|
|
18
|
+
}),
|
|
19
|
+
options: z.object({}),
|
|
20
|
+
},
|
|
21
|
+
|
|
22
|
+
async handler(ctx) {
|
|
23
|
+
const { args, options, auth, logger, apiClient } = ctx;
|
|
24
|
+
|
|
25
|
+
const sandboxInfo = await sandboxResolve(apiClient, args.sandboxId);
|
|
26
|
+
const { region, orgId } = sandboxInfo;
|
|
27
|
+
|
|
28
|
+
const client = createSandboxClient(logger, auth, region);
|
|
29
|
+
|
|
30
|
+
const job = await jobGet(client, {
|
|
31
|
+
sandboxId: args.sandboxId,
|
|
32
|
+
jobId: args.jobId,
|
|
33
|
+
orgId,
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
if (options.json) {
|
|
37
|
+
return job;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
const statusText =
|
|
41
|
+
job.status === 'completed'
|
|
42
|
+
? tui.colorSuccess(job.status)
|
|
43
|
+
: job.status === 'failed'
|
|
44
|
+
? tui.colorError(job.status)
|
|
45
|
+
: job.status === 'running'
|
|
46
|
+
? tui.colorWarning(job.status)
|
|
47
|
+
: tui.colorMuted(job.status);
|
|
48
|
+
|
|
49
|
+
tui.info(`Job ${tui.bold(job.jobId)}`);
|
|
50
|
+
console.log('');
|
|
51
|
+
console.log(` Status: ${statusText}`);
|
|
52
|
+
console.log(` Sandbox: ${job.sandboxId}`);
|
|
53
|
+
console.log(` Command: ${job.command.join(' ')}`);
|
|
54
|
+
|
|
55
|
+
if (job.exitCode !== undefined && job.exitCode !== null) {
|
|
56
|
+
console.log(` Exit code: ${job.exitCode}`);
|
|
57
|
+
}
|
|
58
|
+
if (job.startedAt) {
|
|
59
|
+
console.log(` Started: ${job.startedAt}`);
|
|
60
|
+
}
|
|
61
|
+
if (job.completedAt) {
|
|
62
|
+
console.log(` Completed: ${job.completedAt}`);
|
|
63
|
+
}
|
|
64
|
+
if (job.error) {
|
|
65
|
+
console.log(` Error: ${tui.colorError(job.error)}`);
|
|
66
|
+
}
|
|
67
|
+
if (job.stdoutStreamUrl) {
|
|
68
|
+
console.log(` Stdout: ${job.stdoutStreamUrl}`);
|
|
69
|
+
}
|
|
70
|
+
if (job.stderrStreamUrl) {
|
|
71
|
+
console.log(` Stderr: ${job.stderrStreamUrl}`);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
return job;
|
|
75
|
+
},
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
export default getSubcommand;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { createCommand } from '../../../../types';
|
|
2
|
+
import { getSubcommand } from './get';
|
|
3
|
+
import { listSubcommand } from './list';
|
|
4
|
+
import { createSubcommand } from './create';
|
|
5
|
+
import { destroySubcommand } from './destroy';
|
|
6
|
+
import { logsSubcommand } from './logs';
|
|
7
|
+
import { getCommand } from '../../../../command-prefix';
|
|
8
|
+
|
|
9
|
+
export const command = createCommand({
|
|
10
|
+
name: 'job',
|
|
11
|
+
aliases: ['jobs'],
|
|
12
|
+
description: 'Manage background jobs in a sandbox',
|
|
13
|
+
tags: ['requires-auth'],
|
|
14
|
+
examples: [
|
|
15
|
+
{
|
|
16
|
+
command: getCommand('cloud sandbox job create sbx_abc123 -- bun run build'),
|
|
17
|
+
description: 'Create a background job',
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
command: getCommand('cloud sandbox job list sbx_abc123'),
|
|
21
|
+
description: 'List jobs for a sandbox',
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
command: getCommand('cloud sandbox job destroy sbx_abc123 job_xyz789'),
|
|
25
|
+
description: 'Terminate a running job',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
command: getCommand('cloud sandbox job logs sbx_abc123 job_xyz789'),
|
|
29
|
+
description: 'View logs from a job',
|
|
30
|
+
},
|
|
31
|
+
],
|
|
32
|
+
subcommands: [
|
|
33
|
+
createSubcommand,
|
|
34
|
+
getSubcommand,
|
|
35
|
+
listSubcommand,
|
|
36
|
+
destroySubcommand,
|
|
37
|
+
logsSubcommand,
|
|
38
|
+
],
|
|
39
|
+
requires: { auth: true, org: true },
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
export default command;
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { createCommand } from '../../../../types';
|
|
3
|
+
import * as tui from '../../../../tui';
|
|
4
|
+
import { createSandboxClient } from '../util';
|
|
5
|
+
import { jobList, sandboxResolve } from '@agentuity/server';
|
|
6
|
+
|
|
7
|
+
export const listSubcommand = createCommand({
|
|
8
|
+
name: 'list',
|
|
9
|
+
description: 'List jobs for a sandbox',
|
|
10
|
+
tags: ['read-only', 'requires-auth'],
|
|
11
|
+
requires: { auth: true, apiClient: true },
|
|
12
|
+
|
|
13
|
+
schema: {
|
|
14
|
+
args: z.object({
|
|
15
|
+
sandboxId: z.string().describe('Sandbox ID'),
|
|
16
|
+
}),
|
|
17
|
+
options: z.object({
|
|
18
|
+
limit: z.coerce
|
|
19
|
+
.number()
|
|
20
|
+
.int()
|
|
21
|
+
.min(1)
|
|
22
|
+
.max(100)
|
|
23
|
+
.default(20)
|
|
24
|
+
.describe('Maximum number of jobs to list'),
|
|
25
|
+
}),
|
|
26
|
+
},
|
|
27
|
+
|
|
28
|
+
async handler(ctx) {
|
|
29
|
+
const { args, opts, options, auth, logger, apiClient } = ctx;
|
|
30
|
+
|
|
31
|
+
const sandboxInfo = await sandboxResolve(apiClient, args.sandboxId);
|
|
32
|
+
const { region, orgId } = sandboxInfo;
|
|
33
|
+
|
|
34
|
+
const client = createSandboxClient(logger, auth, region);
|
|
35
|
+
|
|
36
|
+
const result = await jobList(client, {
|
|
37
|
+
sandboxId: args.sandboxId,
|
|
38
|
+
orgId,
|
|
39
|
+
limit: opts.limit,
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
if (options.json) {
|
|
43
|
+
return result;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
if (result.jobs.length === 0) {
|
|
47
|
+
tui.info('No jobs found');
|
|
48
|
+
return result;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
tui.info(`Jobs for sandbox ${tui.bold(args.sandboxId)}:`);
|
|
52
|
+
console.log('');
|
|
53
|
+
|
|
54
|
+
for (const job of result.jobs) {
|
|
55
|
+
const statusText =
|
|
56
|
+
job.status === 'completed'
|
|
57
|
+
? tui.colorSuccess(job.status)
|
|
58
|
+
: job.status === 'failed'
|
|
59
|
+
? tui.colorError(job.status)
|
|
60
|
+
: job.status === 'running'
|
|
61
|
+
? tui.colorWarning(job.status)
|
|
62
|
+
: tui.colorMuted(job.status);
|
|
63
|
+
console.log(
|
|
64
|
+
` ${tui.bold(job.jobId)} ${statusText} ${tui.colorMuted(job.command.join(' '))}`
|
|
65
|
+
);
|
|
66
|
+
if (job.exitCode !== undefined && job.exitCode !== null) {
|
|
67
|
+
console.log(` Exit code: ${job.exitCode}`);
|
|
68
|
+
}
|
|
69
|
+
if (job.startedAt) {
|
|
70
|
+
console.log(` Started: ${job.startedAt}`);
|
|
71
|
+
}
|
|
72
|
+
if (job.completedAt) {
|
|
73
|
+
console.log(` Completed: ${job.completedAt}`);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
return result;
|
|
78
|
+
},
|
|
79
|
+
});
|
|
80
|
+
|
|
81
|
+
export default listSubcommand;
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { createSubcommand } from '../../../../types';
|
|
3
|
+
import * as tui from '../../../../tui';
|
|
4
|
+
import { createSandboxClient } from '../util';
|
|
5
|
+
import { jobGet, sandboxResolve } from '@agentuity/server';
|
|
6
|
+
import { getCommand } from '../../../../command-prefix';
|
|
7
|
+
import { streamUrlToWritable } from '../../../../utils/stream-url';
|
|
8
|
+
|
|
9
|
+
const JobLogsResponseSchema = z.object({
|
|
10
|
+
jobId: z.string(),
|
|
11
|
+
sandboxId: z.string(),
|
|
12
|
+
status: z.string(),
|
|
13
|
+
bytesRead: z.number().optional(),
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
export const logsSubcommand = createSubcommand({
|
|
17
|
+
name: 'logs',
|
|
18
|
+
aliases: ['log'],
|
|
19
|
+
description: 'Stream logs from a sandbox job',
|
|
20
|
+
tags: ['read-only', 'slow', 'requires-auth'],
|
|
21
|
+
requires: { auth: true, apiClient: true },
|
|
22
|
+
examples: [
|
|
23
|
+
{
|
|
24
|
+
command: getCommand('cloud sandbox job logs sbx_abc123 job_xyz789'),
|
|
25
|
+
description: 'View stdout logs from a job',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
command: getCommand('cloud sandbox job logs sbx_abc123 job_xyz789 --stderr'),
|
|
29
|
+
description: 'View stderr logs from a job',
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
command: getCommand('cloud sandbox job logs sbx_abc123 job_xyz789 --follow'),
|
|
33
|
+
description: 'Follow logs in real-time',
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
command: getCommand('cloud sandbox job logs sbx_abc123 job_xyz789 --grep error'),
|
|
37
|
+
description: 'Filter logs containing "error"',
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
command: getCommand('cloud sandbox job logs sbx_abc123 job_xyz789 --tail 100'),
|
|
41
|
+
description: 'Show last 100 lines',
|
|
42
|
+
},
|
|
43
|
+
],
|
|
44
|
+
schema: {
|
|
45
|
+
args: z.object({
|
|
46
|
+
sandboxId: z.string().describe('Sandbox ID'),
|
|
47
|
+
jobId: z.string().describe('Job ID'),
|
|
48
|
+
}),
|
|
49
|
+
options: z.object({
|
|
50
|
+
stderr: z.boolean().default(false).describe('Show stderr instead of stdout'),
|
|
51
|
+
follow: z.boolean().default(false).describe('Follow logs in real-time (for running jobs)'),
|
|
52
|
+
timestamps: z.boolean().default(true).describe('Show timestamps in output'),
|
|
53
|
+
grep: z.string().optional().describe('Filter logs by pattern (case-insensitive)'),
|
|
54
|
+
tail: z.coerce
|
|
55
|
+
.number()
|
|
56
|
+
.int()
|
|
57
|
+
.min(1)
|
|
58
|
+
.optional()
|
|
59
|
+
.describe('Number of lines to show from the end'),
|
|
60
|
+
}),
|
|
61
|
+
response: JobLogsResponseSchema,
|
|
62
|
+
},
|
|
63
|
+
|
|
64
|
+
async handler(ctx) {
|
|
65
|
+
const { args, opts, options, auth, logger, apiClient } = ctx;
|
|
66
|
+
|
|
67
|
+
const sandboxInfo = await sandboxResolve(apiClient, args.sandboxId);
|
|
68
|
+
const { region, orgId } = sandboxInfo;
|
|
69
|
+
|
|
70
|
+
const client = createSandboxClient(logger, auth, region);
|
|
71
|
+
|
|
72
|
+
const job = await jobGet(client, {
|
|
73
|
+
sandboxId: args.sandboxId,
|
|
74
|
+
jobId: args.jobId,
|
|
75
|
+
orgId,
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
const streamUrl = opts.stderr ? job.stderrStreamUrl : job.stdoutStreamUrl;
|
|
79
|
+
const isJson = options.json ?? false;
|
|
80
|
+
|
|
81
|
+
if (!streamUrl) {
|
|
82
|
+
if (isJson) {
|
|
83
|
+
return {
|
|
84
|
+
jobId: job.jobId,
|
|
85
|
+
sandboxId: job.sandboxId,
|
|
86
|
+
status: job.status,
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
tui.warning(
|
|
90
|
+
`No ${opts.stderr ? 'stderr' : 'stdout'} stream available for job ${job.jobId}`
|
|
91
|
+
);
|
|
92
|
+
if (job.status === 'pending') {
|
|
93
|
+
tui.info('Job is still pending - logs will be available once it starts running');
|
|
94
|
+
}
|
|
95
|
+
return {
|
|
96
|
+
jobId: job.jobId,
|
|
97
|
+
sandboxId: job.sandboxId,
|
|
98
|
+
status: job.status,
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
if (!isJson) {
|
|
103
|
+
tui.info(
|
|
104
|
+
`Streaming ${opts.stderr ? 'stderr' : 'stdout'} for job ${tui.bold(job.jobId)} (status: ${job.status})`
|
|
105
|
+
);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
const abortController = new AbortController();
|
|
109
|
+
const handleSignal = () => {
|
|
110
|
+
abortController.abort();
|
|
111
|
+
};
|
|
112
|
+
process.on('SIGINT', handleSignal);
|
|
113
|
+
process.on('SIGTERM', handleSignal);
|
|
114
|
+
|
|
115
|
+
try {
|
|
116
|
+
const result = await streamUrlToWritable(streamUrl, process.stdout, logger, {
|
|
117
|
+
signal: abortController.signal,
|
|
118
|
+
follow: opts.follow,
|
|
119
|
+
timestamps: opts.timestamps ?? true,
|
|
120
|
+
grep: opts.grep,
|
|
121
|
+
tail: opts.tail,
|
|
122
|
+
json: isJson,
|
|
123
|
+
label: opts.stderr ? 'stderr' : 'stdout',
|
|
124
|
+
});
|
|
125
|
+
|
|
126
|
+
return {
|
|
127
|
+
jobId: job.jobId,
|
|
128
|
+
sandboxId: job.sandboxId,
|
|
129
|
+
status: job.status,
|
|
130
|
+
bytesRead: result.bytesRead,
|
|
131
|
+
};
|
|
132
|
+
} finally {
|
|
133
|
+
process.off('SIGINT', handleSignal);
|
|
134
|
+
process.off('SIGTERM', handleSignal);
|
|
135
|
+
}
|
|
136
|
+
},
|
|
137
|
+
});
|
|
138
|
+
|
|
139
|
+
export default logsSubcommand;
|
|
@@ -65,6 +65,12 @@ export const runSubcommand = createCommand({
|
|
|
65
65
|
.optional()
|
|
66
66
|
.describe('Apt packages to install (can be specified multiple times)'),
|
|
67
67
|
projectId: z.string().optional().describe('Project ID to associate this sandbox with'),
|
|
68
|
+
scope: z
|
|
69
|
+
.array(z.string())
|
|
70
|
+
.optional()
|
|
71
|
+
.describe(
|
|
72
|
+
'Permission scopes for service access (e.g., kv:read, aigateway, services:write)'
|
|
73
|
+
),
|
|
68
74
|
}),
|
|
69
75
|
response: SandboxRunResponseSchema,
|
|
70
76
|
},
|
|
@@ -177,6 +183,7 @@ export const runSubcommand = createCommand({
|
|
|
177
183
|
stream: opts.timestamps !== undefined ? { timestamps: opts.timestamps } : undefined,
|
|
178
184
|
snapshot: opts.snapshot,
|
|
179
185
|
dependencies: opts.dependency,
|
|
186
|
+
scopes: opts.scope,
|
|
180
187
|
},
|
|
181
188
|
orgId,
|
|
182
189
|
region,
|
|
@@ -194,10 +201,17 @@ export const runSubcommand = createCommand({
|
|
|
194
201
|
const duration = Date.now() - started;
|
|
195
202
|
const output = outputChunks.join('');
|
|
196
203
|
|
|
197
|
-
if (
|
|
198
|
-
if (
|
|
204
|
+
if (result.exitCode !== 0) {
|
|
205
|
+
if (!options.json) {
|
|
199
206
|
tui.error(`failed with exit code ${result.exitCode} in ${duration}ms`);
|
|
200
207
|
}
|
|
208
|
+
// Use process.exit() directly rather than process.exitCode to ensure
|
|
209
|
+
// the exit code propagates reliably across all runtimes (Bun/Node).
|
|
210
|
+
// process.exitCode can be overwritten by later async cleanup.
|
|
211
|
+
if (!options.json) {
|
|
212
|
+
process.exit(result.exitCode);
|
|
213
|
+
}
|
|
214
|
+
process.exitCode = result.exitCode;
|
|
201
215
|
}
|
|
202
216
|
|
|
203
217
|
return {
|
|
@@ -4,7 +4,7 @@ import { getCommand } from '../../../../command-prefix';
|
|
|
4
4
|
|
|
5
5
|
export const runtimeCommand = createCommand({
|
|
6
6
|
name: 'runtime',
|
|
7
|
-
aliases: ['rt'],
|
|
7
|
+
aliases: ['rt', 'runtimes'],
|
|
8
8
|
description: 'Manage sandbox runtimes',
|
|
9
9
|
tags: ['slow', 'requires-auth'],
|
|
10
10
|
examples: [
|