@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
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
import type { Logger } from '@agentuity/core';
|
|
2
|
+
import { spawn } from 'bun';
|
|
3
|
+
import { mkdir, mkdtemp, readdir, realpath, rm, stat } from 'node:fs/promises';
|
|
4
|
+
import { tmpdir } from 'node:os';
|
|
5
|
+
import { join } from 'node:path';
|
|
6
|
+
import { ErrorCode } from '../../errors';
|
|
7
|
+
import * as tui from '../../tui';
|
|
8
|
+
|
|
9
|
+
export interface CIBuildOptions {
|
|
10
|
+
url?: string;
|
|
11
|
+
directory?: string;
|
|
12
|
+
trigger?: string;
|
|
13
|
+
event?: string;
|
|
14
|
+
message?: string;
|
|
15
|
+
commit?: string;
|
|
16
|
+
commitUrl?: string;
|
|
17
|
+
branch?: string;
|
|
18
|
+
repo?: string;
|
|
19
|
+
provider?: string;
|
|
20
|
+
pullRequestNumber?: number;
|
|
21
|
+
pullRequestUrl?: string;
|
|
22
|
+
logsUrl?: string;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
async function runCommand(cmd: string[], cwd: string): Promise<number> {
|
|
26
|
+
const proc = spawn({
|
|
27
|
+
cmd,
|
|
28
|
+
cwd,
|
|
29
|
+
env: { ...process.env, CI: 'true' },
|
|
30
|
+
stdin: 'ignore',
|
|
31
|
+
stdout: 'inherit',
|
|
32
|
+
stderr: 'inherit',
|
|
33
|
+
});
|
|
34
|
+
await proc.exited;
|
|
35
|
+
return proc.exitCode ?? 1;
|
|
36
|
+
}
|
|
37
|
+
async function downloadSource(url: string, targetPath: string): Promise<void> {
|
|
38
|
+
let lastError: unknown;
|
|
39
|
+
|
|
40
|
+
for (let attempt = 1; attempt <= 3; attempt++) {
|
|
41
|
+
try {
|
|
42
|
+
const response = await fetch(url, { signal: AbortSignal.timeout(60_000) });
|
|
43
|
+
if (!response.ok) {
|
|
44
|
+
throw new Error(`Download failed with status ${response.status}`);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
await Bun.write(targetPath, await response.arrayBuffer());
|
|
48
|
+
return;
|
|
49
|
+
} catch (error) {
|
|
50
|
+
lastError = error;
|
|
51
|
+
if (attempt < 3) {
|
|
52
|
+
tui.info(`Download failed (attempt ${attempt}/3), retrying...`);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
throw lastError instanceof Error ? lastError : new Error('Download failed');
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
function buildDeployArgs(opts: CIBuildOptions): string[] {
|
|
61
|
+
const args: string[] = [];
|
|
62
|
+
|
|
63
|
+
if (opts.trigger) args.push('--trigger', opts.trigger);
|
|
64
|
+
if (opts.event) args.push('--event', opts.event);
|
|
65
|
+
if (opts.message) args.push('--message', opts.message);
|
|
66
|
+
if (opts.commit) args.push('--commit', opts.commit);
|
|
67
|
+
if (opts.commitUrl) args.push('--commit-url', opts.commitUrl);
|
|
68
|
+
if (opts.branch) args.push('--branch', opts.branch);
|
|
69
|
+
if (opts.repo) args.push('--repo', opts.repo);
|
|
70
|
+
if (opts.provider) args.push('--provider', opts.provider);
|
|
71
|
+
if (opts.pullRequestNumber !== undefined) {
|
|
72
|
+
args.push('--pull-request-number', String(opts.pullRequestNumber));
|
|
73
|
+
}
|
|
74
|
+
if (opts.pullRequestUrl) args.push('--pull-request-url', opts.pullRequestUrl);
|
|
75
|
+
if (opts.logsUrl) args.push('--logs-url', opts.logsUrl);
|
|
76
|
+
|
|
77
|
+
return args;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
export async function runCIBuild(opts: CIBuildOptions, _logger: Logger): Promise<void> {
|
|
81
|
+
let tempDir = '';
|
|
82
|
+
// Track subprocess exit code so we can clean up in finally before calling process.exit().
|
|
83
|
+
// Bun does not reliably honor process.exitCode, so an explicit process.exit() is required.
|
|
84
|
+
let pendingExitCode: number | undefined;
|
|
85
|
+
|
|
86
|
+
try {
|
|
87
|
+
let projectDir: string;
|
|
88
|
+
|
|
89
|
+
if (opts.url) {
|
|
90
|
+
// Download and extract source from URL
|
|
91
|
+
tempDir = await mkdtemp(join(tmpdir(), 'agentuity-ci-build-'));
|
|
92
|
+
const sourceZipPath = join(tempDir, 'source.zip');
|
|
93
|
+
const extractPath = join(tempDir, 'build');
|
|
94
|
+
|
|
95
|
+
tui.info('1️⃣ Downloading source code from GitHub...');
|
|
96
|
+
await downloadSource(opts.url, sourceZipPath);
|
|
97
|
+
|
|
98
|
+
tui.info('2️⃣ Unzipping source code from GitHub...');
|
|
99
|
+
await mkdir(extractPath, { recursive: true });
|
|
100
|
+
const unzipExit = await runCommand(
|
|
101
|
+
['unzip', '-q', sourceZipPath, '-d', extractPath],
|
|
102
|
+
tempDir
|
|
103
|
+
);
|
|
104
|
+
if (unzipExit !== 0 && unzipExit !== 1) {
|
|
105
|
+
tui.error(`Failed to unzip source archive (exit ${unzipExit})`);
|
|
106
|
+
pendingExitCode = unzipExit;
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
const extractedEntries = await readdir(extractPath, { withFileTypes: true });
|
|
111
|
+
const extractedDirs = extractedEntries.filter((entry) => entry.isDirectory());
|
|
112
|
+
if (extractedDirs.length !== 1) {
|
|
113
|
+
tui.fatal(
|
|
114
|
+
`Expected one root directory after unzip, found ${extractedDirs.length}`,
|
|
115
|
+
ErrorCode.BUILD_FAILED
|
|
116
|
+
);
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
const sourceRoot = extractedDirs.at(0);
|
|
120
|
+
if (!sourceRoot) {
|
|
121
|
+
tui.fatal('Could not determine extracted source directory', ErrorCode.BUILD_FAILED);
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
const sourceRootDir = join(extractPath, sourceRoot.name);
|
|
125
|
+
projectDir = sourceRootDir;
|
|
126
|
+
if (opts.directory) {
|
|
127
|
+
projectDir = join(sourceRootDir, opts.directory);
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
const projectStats = await stat(projectDir).catch(() => null);
|
|
131
|
+
if (!projectStats?.isDirectory()) {
|
|
132
|
+
tui.fatal(`Build directory not found: ${projectDir}`, ErrorCode.CONFIG_INVALID);
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
// Resolve symlinks and verify the project dir is within the source root
|
|
136
|
+
const realProjectDir = await realpath(projectDir).catch(() => null);
|
|
137
|
+
const realSourceRoot = await realpath(sourceRootDir).catch(() => null);
|
|
138
|
+
if (!realProjectDir || !realSourceRoot || !realProjectDir.startsWith(realSourceRoot)) {
|
|
139
|
+
tui.fatal(
|
|
140
|
+
'Directory path escapes the source root (path traversal denied)',
|
|
141
|
+
ErrorCode.CONFIG_INVALID
|
|
142
|
+
);
|
|
143
|
+
}
|
|
144
|
+
projectDir = realProjectDir;
|
|
145
|
+
} else {
|
|
146
|
+
// No URL — use current working directory (source already present, e.g. snapshot-based deploy)
|
|
147
|
+
tui.info('1️⃣ Using local source (no download URL provided)...');
|
|
148
|
+
projectDir = process.cwd();
|
|
149
|
+
if (opts.directory) {
|
|
150
|
+
projectDir = join(projectDir, opts.directory);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
const sdkKey = process.env.AGENTUITY_SDK_KEY;
|
|
155
|
+
if (sdkKey) {
|
|
156
|
+
await Bun.write(join(projectDir, '.env'), `AGENTUITY_SDK_KEY=${sdkKey}\n`);
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
tui.info('3️⃣ Installing your project dependencies...');
|
|
160
|
+
const installExit = await runCommand(['bun', 'install'], projectDir);
|
|
161
|
+
if (installExit !== 0) {
|
|
162
|
+
tui.error(`Dependency installation failed (exit ${installExit})`);
|
|
163
|
+
pendingExitCode = installExit;
|
|
164
|
+
return;
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
const packageJsonPath = join(projectDir, 'package.json');
|
|
168
|
+
const packageJsonFile = Bun.file(packageJsonPath);
|
|
169
|
+
let scripts: Record<string, string> | undefined;
|
|
170
|
+
if (await packageJsonFile.exists()) {
|
|
171
|
+
const packageJson = (await packageJsonFile.json()) as {
|
|
172
|
+
scripts?: Record<string, string>;
|
|
173
|
+
};
|
|
174
|
+
scripts = packageJson.scripts;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
if (scripts?.predeploy) {
|
|
178
|
+
tui.info('🔧 Running predeploy script...');
|
|
179
|
+
const predeployExit = await runCommand(['bun', 'run', '--bun', 'predeploy'], projectDir);
|
|
180
|
+
if (predeployExit !== 0) {
|
|
181
|
+
tui.error(`Predeploy failed (exit ${predeployExit})`);
|
|
182
|
+
pendingExitCode = predeployExit;
|
|
183
|
+
return;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
tui.info('4️⃣ Deploying your project...');
|
|
188
|
+
// Use the locally installed CLI binary instead of bunx to avoid
|
|
189
|
+
// bunx resolution crashes on certain Bun versions (e.g. arm64 segfaults)
|
|
190
|
+
const localCliBin = join(projectDir, 'node_modules', '.bin', 'agentuity');
|
|
191
|
+
const cliExists = await stat(localCliBin).catch(() => null);
|
|
192
|
+
const deployCmd = cliExists
|
|
193
|
+
? ['bun', localCliBin, 'deploy', ...buildDeployArgs(opts)]
|
|
194
|
+
: ['bunx', '--bun', 'agentuity', 'deploy', ...buildDeployArgs(opts)];
|
|
195
|
+
tui.info(`Using CLI: ${cliExists ? localCliBin : 'bunx --bun agentuity'}`);
|
|
196
|
+
const deployExit = await runCommand(deployCmd, projectDir);
|
|
197
|
+
if (deployExit !== 0) {
|
|
198
|
+
tui.error(`Deploy failed (exit ${deployExit})`);
|
|
199
|
+
pendingExitCode = deployExit;
|
|
200
|
+
return;
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
if (scripts?.postdeploy) {
|
|
204
|
+
tui.info('🔧 Running postdeploy script...');
|
|
205
|
+
const postdeployExit = await runCommand(['bun', 'run', '--bun', 'postdeploy'], projectDir);
|
|
206
|
+
if (postdeployExit !== 0) {
|
|
207
|
+
tui.error(`Postdeploy failed (exit ${postdeployExit})`);
|
|
208
|
+
pendingExitCode = postdeployExit;
|
|
209
|
+
return;
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
tui.success('✅ Your project has been built...');
|
|
214
|
+
} catch (error) {
|
|
215
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
216
|
+
tui.fatal(`CI build failed: ${message}`, ErrorCode.BUILD_FAILED);
|
|
217
|
+
} finally {
|
|
218
|
+
if (tempDir) {
|
|
219
|
+
await rm(tempDir, { recursive: true, force: true });
|
|
220
|
+
}
|
|
221
|
+
if (pendingExitCode !== undefined) {
|
|
222
|
+
process.exit(pendingExitCode);
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
}
|
package/src/cmd/build/index.ts
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { resolve, join, relative } from 'node:path';
|
|
3
|
-
import { createCommand } from '../../types';
|
|
3
|
+
import { createCommand, DeployOptionsSchema } from '../../types';
|
|
4
4
|
import { viteBundle } from './vite-bundler';
|
|
5
5
|
import * as tui from '../../tui';
|
|
6
6
|
import { getCommand } from '../../command-prefix';
|
|
7
7
|
import { ErrorCode } from '../../errors';
|
|
8
8
|
import { typecheck } from './typecheck';
|
|
9
9
|
import { BuildReportCollector, setGlobalCollector, clearGlobalCollector } from '../../build-report';
|
|
10
|
+
import { detectVersionMismatch, formatVersionMismatchWarning } from '../../utils/version-mismatch';
|
|
10
11
|
|
|
11
12
|
const BuildResponseSchema = z.object({
|
|
12
13
|
success: z.boolean().describe('Whether the build succeeded'),
|
|
@@ -16,6 +17,22 @@ const BuildResponseSchema = z.object({
|
|
|
16
17
|
size: z.number().optional().describe('Build size in bytes'),
|
|
17
18
|
});
|
|
18
19
|
|
|
20
|
+
const BuildOptionsSchema = z.intersection(
|
|
21
|
+
DeployOptionsSchema,
|
|
22
|
+
z.object({
|
|
23
|
+
dev: z.boolean().optional().describe('Enable development mode'),
|
|
24
|
+
outdir: z.string().optional().describe('Output directory for build artifacts'),
|
|
25
|
+
skipTypeCheck: z.boolean().default(false).optional().describe('Skip typecheck after build'),
|
|
26
|
+
reportFile: z
|
|
27
|
+
.string()
|
|
28
|
+
.optional()
|
|
29
|
+
.describe('file path to save build report JSON with errors, warnings, and diagnostics'),
|
|
30
|
+
ci: z.boolean().optional().describe('Enable CI build mode'),
|
|
31
|
+
url: z.string().optional().describe('Source code download URL (required with --ci)'),
|
|
32
|
+
directory: z.string().optional().describe('Subdirectory within extracted source'),
|
|
33
|
+
})
|
|
34
|
+
);
|
|
35
|
+
|
|
19
36
|
export const command = createCommand({
|
|
20
37
|
name: 'build',
|
|
21
38
|
description: 'Build Agentuity application for deployment',
|
|
@@ -26,28 +43,49 @@ export const command = createCommand({
|
|
|
26
43
|
examples: [
|
|
27
44
|
{ command: getCommand('build'), description: 'Build the project' },
|
|
28
45
|
{ command: getCommand('build --dev'), description: 'Run in development mode' },
|
|
46
|
+
{
|
|
47
|
+
command: getCommand('build --ci --url https://example.com/source.zip'),
|
|
48
|
+
description: 'Run CI build from source URL',
|
|
49
|
+
},
|
|
29
50
|
{ command: getCommand('bundle'), description: 'Bundle the project' },
|
|
30
51
|
],
|
|
31
52
|
schema: {
|
|
32
|
-
options:
|
|
33
|
-
dev: z.boolean().optional().describe('Enable development mode'),
|
|
34
|
-
outdir: z.string().optional().describe('Output directory for build artifacts'),
|
|
35
|
-
skipTypeCheck: z
|
|
36
|
-
.boolean()
|
|
37
|
-
.default(false)
|
|
38
|
-
.optional()
|
|
39
|
-
.describe('Skip typecheck after build'),
|
|
40
|
-
reportFile: z
|
|
41
|
-
.string()
|
|
42
|
-
.optional()
|
|
43
|
-
.describe('file path to save build report JSON with errors, warnings, and diagnostics'),
|
|
44
|
-
}),
|
|
53
|
+
options: BuildOptionsSchema,
|
|
45
54
|
response: BuildResponseSchema,
|
|
46
55
|
},
|
|
47
56
|
|
|
48
57
|
async handler(ctx) {
|
|
49
58
|
const { opts, projectDir, project } = ctx;
|
|
50
59
|
|
|
60
|
+
if (opts.ci) {
|
|
61
|
+
const { runCIBuild } = await import('./ci');
|
|
62
|
+
await runCIBuild(
|
|
63
|
+
{
|
|
64
|
+
url: opts.url,
|
|
65
|
+
directory: opts.directory,
|
|
66
|
+
trigger: opts.trigger,
|
|
67
|
+
event: opts.event,
|
|
68
|
+
message: opts.message,
|
|
69
|
+
commit: opts.commit,
|
|
70
|
+
commitUrl: opts.commitUrl,
|
|
71
|
+
branch: opts.branch,
|
|
72
|
+
repo: opts.repo,
|
|
73
|
+
provider: opts.provider,
|
|
74
|
+
pullRequestNumber: opts.pullRequestNumber,
|
|
75
|
+
pullRequestUrl: opts.pullRequestUrl,
|
|
76
|
+
logsUrl: opts.logsUrl,
|
|
77
|
+
},
|
|
78
|
+
ctx.logger
|
|
79
|
+
);
|
|
80
|
+
|
|
81
|
+
return {
|
|
82
|
+
success: true,
|
|
83
|
+
bundlePath: projectDir,
|
|
84
|
+
projectName: project?.projectId || 'unknown',
|
|
85
|
+
dev: false,
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
|
|
51
89
|
// Initialize build report collector if reportFile is specified
|
|
52
90
|
const collector = new BuildReportCollector();
|
|
53
91
|
if (opts.reportFile) {
|
|
@@ -57,6 +95,15 @@ export const command = createCommand({
|
|
|
57
95
|
}
|
|
58
96
|
|
|
59
97
|
const absoluteProjectDir = resolve(projectDir);
|
|
98
|
+
|
|
99
|
+
// Check for version mismatches (v1 vs v2 SDK packages)
|
|
100
|
+
const versionMismatch = detectVersionMismatch(absoluteProjectDir, ctx.logger);
|
|
101
|
+
if (versionMismatch.hasV1Packages || versionMismatch.hasMajorMismatches) {
|
|
102
|
+
tui.newline();
|
|
103
|
+
tui.warning(formatVersionMismatchWarning(versionMismatch));
|
|
104
|
+
tui.newline();
|
|
105
|
+
}
|
|
106
|
+
|
|
60
107
|
const outDir = opts.outdir ? resolve(opts.outdir) : join(absoluteProjectDir, '.agentuity');
|
|
61
108
|
|
|
62
109
|
try {
|
|
@@ -279,12 +279,25 @@ async function importAgentMetadata(
|
|
|
279
279
|
evals: evals.length > 0 ? evals : undefined,
|
|
280
280
|
};
|
|
281
281
|
} catch (error) {
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
282
|
+
const errorMsg = error instanceof Error ? error.message : String(error);
|
|
283
|
+
throw new Error(
|
|
284
|
+
`Failed to import agent at ${relativeFilename}:\n` +
|
|
285
|
+
` ${errorMsg}\n\n` +
|
|
286
|
+
`Agent files are imported at build time to extract metadata. Code that ` +
|
|
287
|
+
`runs at module scope (outside of setup() or handler()) will execute ` +
|
|
288
|
+
`during the build — including SDK client constructors that require API ` +
|
|
289
|
+
`keys or environment variables.\n\n` +
|
|
290
|
+
`To fix this, move initialization code into setup() or handler():\n\n` +
|
|
291
|
+
` // ❌ Don't do this — runs at import time:\n` +
|
|
292
|
+
` const client = new OpenAI();\n` +
|
|
293
|
+
` export default createAgent('my-agent', { handler: async (ctx) => { ... } });\n\n` +
|
|
294
|
+
` // ✅ Do this instead — runs at request time:\n` +
|
|
295
|
+
` export default createAgent('my-agent', {\n` +
|
|
296
|
+
` setup: (ctx) => ({ client: new OpenAI() }),\n` +
|
|
297
|
+
` handler: async (ctx) => { const { client } = ctx.setup; ... },\n` +
|
|
298
|
+
` });\n\n` +
|
|
299
|
+
`See https://agentuity.dev/docs/agents#setup for more information.`
|
|
286
300
|
);
|
|
287
|
-
return null;
|
|
288
301
|
}
|
|
289
302
|
}
|
|
290
303
|
|
|
@@ -325,6 +338,18 @@ export async function discoverAgents(
|
|
|
325
338
|
continue;
|
|
326
339
|
}
|
|
327
340
|
|
|
341
|
+
// Skip test files (*.test.ts, *.spec.ts) and test directories
|
|
342
|
+
if (
|
|
343
|
+
file.startsWith('test/') ||
|
|
344
|
+
file.includes('/test/') ||
|
|
345
|
+
file.startsWith('__tests__/') ||
|
|
346
|
+
file.includes('/__tests__/') ||
|
|
347
|
+
file.endsWith('.test.ts') ||
|
|
348
|
+
file.endsWith('.spec.ts')
|
|
349
|
+
) {
|
|
350
|
+
continue;
|
|
351
|
+
}
|
|
352
|
+
|
|
328
353
|
const relativeFilename = toForwardSlash(relative(rootDir, filePath));
|
|
329
354
|
const agentMetadata = await importAgentMetadata(
|
|
330
355
|
filePath,
|