@agentuity/cli 3.0.0-alpha.7 → 3.0.0-beta.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/AGENTS.md +146 -21
- package/bin/cli.js +31 -0
- package/dist/agent-detection.d.ts.map +1 -1
- package/dist/agent-detection.js +127 -34
- package/dist/agent-detection.js.map +1 -1
- package/dist/ai-help.d.ts +1 -1
- package/dist/ai-help.d.ts.map +1 -1
- package/dist/api.d.ts +1 -1
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +1 -1
- package/dist/api.js.map +1 -1
- package/dist/auth.d.ts +2 -2
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +10 -10
- package/dist/auth.js.map +1 -1
- package/dist/banner.d.ts.map +1 -1
- package/dist/banner.js +6 -13
- package/dist/banner.js.map +1 -1
- package/dist/build-report.d.ts +1 -1
- package/dist/build-report.d.ts.map +1 -1
- package/dist/build-report.js +3 -4
- package/dist/build-report.js.map +1 -1
- package/dist/bun-path.d.ts +11 -4
- package/dist/bun-path.d.ts.map +1 -1
- package/dist/bun-path.js +27 -14
- package/dist/bun-path.js.map +1 -1
- package/dist/cache/index.d.ts +3 -4
- package/dist/cache/index.d.ts.map +1 -1
- package/dist/cache/index.js +3 -4
- package/dist/cache/index.js.map +1 -1
- package/dist/cache/resource-region.d.ts.map +1 -1
- package/dist/cache/resource-region.js +62 -33
- package/dist/cache/resource-region.js.map +1 -1
- package/dist/cache/user-cache.d.ts +4 -4
- package/dist/cache/user-cache.d.ts.map +1 -1
- package/dist/cache/user-cache.js +19 -17
- package/dist/cache/user-cache.js.map +1 -1
- package/dist/cli-logger.d.ts +2 -2
- package/dist/cli-logger.d.ts.map +1 -1
- package/dist/cli-logger.js +1 -1
- package/dist/cli-logger.js.map +1 -1
- package/dist/cli.d.ts +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +51 -48
- package/dist/cli.js.map +1 -1
- package/dist/cmd/ai/capabilities/index.d.ts +1 -1
- package/dist/cmd/ai/capabilities/index.d.ts.map +1 -1
- package/dist/cmd/ai/capabilities/index.js +3 -3
- package/dist/cmd/ai/capabilities/index.js.map +1 -1
- package/dist/cmd/ai/capabilities/show.d.ts +1 -1
- package/dist/cmd/ai/capabilities/show.d.ts.map +1 -1
- package/dist/cmd/ai/capabilities/show.js +3 -3
- package/dist/cmd/ai/capabilities/show.js.map +1 -1
- package/dist/cmd/ai/claude-code/index.d.ts +1 -1
- package/dist/cmd/ai/claude-code/index.d.ts.map +1 -1
- package/dist/cmd/ai/claude-code/index.js +4 -4
- package/dist/cmd/ai/claude-code/index.js.map +1 -1
- package/dist/cmd/ai/claude-code/install.d.ts +1 -1
- package/dist/cmd/ai/claude-code/install.d.ts.map +1 -1
- package/dist/cmd/ai/claude-code/install.js +12 -11
- package/dist/cmd/ai/claude-code/install.js.map +1 -1
- package/dist/cmd/ai/claude-code/uninstall.d.ts +1 -1
- package/dist/cmd/ai/claude-code/uninstall.d.ts.map +1 -1
- package/dist/cmd/ai/claude-code/uninstall.js +8 -7
- package/dist/cmd/ai/claude-code/uninstall.js.map +1 -1
- package/dist/cmd/ai/detect.d.ts +1 -1
- package/dist/cmd/ai/detect.d.ts.map +1 -1
- package/dist/cmd/ai/detect.js +4 -4
- package/dist/cmd/ai/detect.js.map +1 -1
- package/dist/cmd/ai/index.d.ts +1 -1
- package/dist/cmd/ai/index.d.ts.map +1 -1
- package/dist/cmd/ai/index.js +9 -9
- package/dist/cmd/ai/index.js.map +1 -1
- package/dist/cmd/ai/intro.d.ts +1 -1
- package/dist/cmd/ai/intro.d.ts.map +1 -1
- package/dist/cmd/ai/intro.js +5 -5
- package/dist/cmd/ai/intro.js.map +1 -1
- package/dist/cmd/ai/opencode/dashboard.d.ts +1 -1
- package/dist/cmd/ai/opencode/dashboard.d.ts.map +1 -1
- package/dist/cmd/ai/opencode/dashboard.js +16 -15
- package/dist/cmd/ai/opencode/dashboard.js.map +1 -1
- package/dist/cmd/ai/opencode/db.d.ts.map +1 -1
- package/dist/cmd/ai/opencode/db.js +3 -2
- package/dist/cmd/ai/opencode/db.js.map +1 -1
- package/dist/cmd/ai/opencode/index.d.ts +1 -1
- package/dist/cmd/ai/opencode/index.d.ts.map +1 -1
- package/dist/cmd/ai/opencode/index.js +7 -7
- package/dist/cmd/ai/opencode/index.js.map +1 -1
- package/dist/cmd/ai/opencode/inspect.d.ts +1 -1
- package/dist/cmd/ai/opencode/inspect.d.ts.map +1 -1
- package/dist/cmd/ai/opencode/inspect.js +15 -15
- package/dist/cmd/ai/opencode/inspect.js.map +1 -1
- package/dist/cmd/ai/opencode/install.d.ts +1 -1
- package/dist/cmd/ai/opencode/install.d.ts.map +1 -1
- package/dist/cmd/ai/opencode/install.js +3 -3
- package/dist/cmd/ai/opencode/install.js.map +1 -1
- package/dist/cmd/ai/opencode/run.d.ts +1 -1
- package/dist/cmd/ai/opencode/run.d.ts.map +1 -1
- package/dist/cmd/ai/opencode/run.js +8 -9
- package/dist/cmd/ai/opencode/run.js.map +1 -1
- package/dist/cmd/ai/opencode/uninstall.d.ts +1 -1
- package/dist/cmd/ai/opencode/uninstall.d.ts.map +1 -1
- package/dist/cmd/ai/opencode/uninstall.js +3 -3
- package/dist/cmd/ai/opencode/uninstall.js.map +1 -1
- package/dist/cmd/ai/prompt/api.d.ts +1 -1
- package/dist/cmd/ai/prompt/api.d.ts.map +1 -1
- package/dist/cmd/ai/prompt/api.js +10 -4
- package/dist/cmd/ai/prompt/api.js.map +1 -1
- package/dist/cmd/ai/prompt/index.d.ts +1 -1
- package/dist/cmd/ai/prompt/index.d.ts.map +1 -1
- package/dist/cmd/ai/prompt/index.js +5 -5
- package/dist/cmd/ai/prompt/index.js.map +1 -1
- package/dist/cmd/ai/prompt/llm.d.ts +1 -1
- package/dist/cmd/ai/prompt/llm.d.ts.map +1 -1
- package/dist/cmd/ai/prompt/llm.js +2 -2
- package/dist/cmd/ai/prompt/llm.js.map +1 -1
- package/dist/cmd/ai/prompt/version.d.ts +1 -1
- package/dist/cmd/ai/prompt/version.d.ts.map +1 -1
- package/dist/cmd/ai/prompt/version.js +3 -4
- package/dist/cmd/ai/prompt/version.js.map +1 -1
- package/dist/cmd/ai/prompt/web.d.ts +1 -1
- package/dist/cmd/ai/prompt/web.d.ts.map +1 -1
- package/dist/cmd/ai/prompt/web.js +11 -4
- package/dist/cmd/ai/prompt/web.js.map +1 -1
- package/dist/cmd/ai/schema/generate.d.ts +1 -1
- package/dist/cmd/ai/schema/generate.d.ts.map +1 -1
- package/dist/cmd/ai/schema/generate.js +3 -3
- package/dist/cmd/ai/schema/generate.js.map +1 -1
- package/dist/cmd/ai/schema/index.d.ts +1 -1
- package/dist/cmd/ai/schema/index.d.ts.map +1 -1
- package/dist/cmd/ai/schema/index.js +4 -4
- package/dist/cmd/ai/schema/index.js.map +1 -1
- package/dist/cmd/ai/schema/show.d.ts +1 -1
- package/dist/cmd/ai/schema/show.d.ts.map +1 -1
- package/dist/cmd/ai/schema/show.js +3 -3
- package/dist/cmd/ai/schema/show.js.map +1 -1
- package/dist/cmd/auth/api.d.ts +1 -1
- package/dist/cmd/auth/api.d.ts.map +1 -1
- package/dist/cmd/auth/api.js +6 -5
- package/dist/cmd/auth/api.js.map +1 -1
- package/dist/cmd/auth/apikey.d.ts +1 -1
- package/dist/cmd/auth/apikey.d.ts.map +1 -1
- package/dist/cmd/auth/apikey.js +2 -2
- package/dist/cmd/auth/apikey.js.map +1 -1
- package/dist/cmd/auth/index.d.ts +1 -1
- package/dist/cmd/auth/index.d.ts.map +1 -1
- package/dist/cmd/auth/index.js +9 -9
- package/dist/cmd/auth/index.js.map +1 -1
- package/dist/cmd/auth/login.d.ts +1 -1
- package/dist/cmd/auth/login.d.ts.map +1 -1
- package/dist/cmd/auth/login.js +9 -21
- package/dist/cmd/auth/login.js.map +1 -1
- package/dist/cmd/auth/logout.d.ts +1 -1
- package/dist/cmd/auth/logout.d.ts.map +1 -1
- package/dist/cmd/auth/logout.js +6 -6
- package/dist/cmd/auth/logout.js.map +1 -1
- package/dist/cmd/auth/org/enroll.d.ts +1 -1
- package/dist/cmd/auth/org/enroll.d.ts.map +1 -1
- package/dist/cmd/auth/org/enroll.js +6 -5
- package/dist/cmd/auth/org/enroll.js.map +1 -1
- package/dist/cmd/auth/org/index.d.ts +1 -1
- package/dist/cmd/auth/org/index.d.ts.map +1 -1
- package/dist/cmd/auth/org/index.js +7 -7
- package/dist/cmd/auth/org/index.js.map +1 -1
- package/dist/cmd/auth/org/status.d.ts +1 -1
- package/dist/cmd/auth/org/status.d.ts.map +1 -1
- package/dist/cmd/auth/org/status.js +4 -4
- package/dist/cmd/auth/org/status.js.map +1 -1
- package/dist/cmd/auth/org/unenroll.d.ts +1 -1
- package/dist/cmd/auth/org/unenroll.d.ts.map +1 -1
- package/dist/cmd/auth/org/unenroll.js +4 -4
- package/dist/cmd/auth/org/unenroll.js.map +1 -1
- package/dist/cmd/auth/signup.d.ts +1 -1
- package/dist/cmd/auth/signup.d.ts.map +1 -1
- package/dist/cmd/auth/signup.js +6 -6
- package/dist/cmd/auth/signup.js.map +1 -1
- package/dist/cmd/auth/ssh/add.d.ts +1 -1
- package/dist/cmd/auth/ssh/add.d.ts.map +1 -1
- package/dist/cmd/auth/ssh/add.js +11 -10
- package/dist/cmd/auth/ssh/add.js.map +1 -1
- package/dist/cmd/auth/ssh/api.d.ts +1 -1
- package/dist/cmd/auth/ssh/api.d.ts.map +1 -1
- package/dist/cmd/auth/ssh/delete.d.ts +1 -1
- package/dist/cmd/auth/ssh/delete.d.ts.map +1 -1
- package/dist/cmd/auth/ssh/delete.js +6 -6
- package/dist/cmd/auth/ssh/delete.js.map +1 -1
- package/dist/cmd/auth/ssh/index.d.ts +1 -1
- package/dist/cmd/auth/ssh/index.d.ts.map +1 -1
- package/dist/cmd/auth/ssh/index.js +5 -5
- package/dist/cmd/auth/ssh/index.js.map +1 -1
- package/dist/cmd/auth/ssh/list.d.ts +1 -1
- package/dist/cmd/auth/ssh/list.d.ts.map +1 -1
- package/dist/cmd/auth/ssh/list.js +5 -5
- package/dist/cmd/auth/ssh/list.js.map +1 -1
- package/dist/cmd/auth/whoami.d.ts +1 -1
- package/dist/cmd/auth/whoami.d.ts.map +1 -1
- package/dist/cmd/auth/whoami.js +3 -3
- package/dist/cmd/auth/whoami.js.map +1 -1
- package/dist/cmd/build/adapters/generic.d.ts +1 -1
- package/dist/cmd/build/adapters/generic.d.ts.map +1 -1
- package/dist/cmd/build/adapters/generic.js +20 -18
- package/dist/cmd/build/adapters/generic.js.map +1 -1
- package/dist/cmd/build/adapters/index.d.ts +2 -2
- package/dist/cmd/build/adapters/index.d.ts.map +1 -1
- package/dist/cmd/build/adapters/index.js +2 -2
- package/dist/cmd/build/adapters/index.js.map +1 -1
- package/dist/cmd/build/adapters/nextjs.d.ts +1 -1
- package/dist/cmd/build/adapters/nextjs.d.ts.map +1 -1
- package/dist/cmd/build/adapters/nextjs.js +1 -1
- package/dist/cmd/build/adapters/nextjs.js.map +1 -1
- package/dist/cmd/build/adapters/static-server.d.ts.map +1 -1
- package/dist/cmd/build/adapters/static-server.js +16 -7
- package/dist/cmd/build/adapters/static-server.js.map +1 -1
- package/dist/cmd/build/adapters/types.d.ts +3 -3
- package/dist/cmd/build/adapters/types.d.ts.map +1 -1
- package/dist/cmd/build/ci.d.ts.map +1 -1
- package/dist/cmd/build/ci.js +12 -19
- package/dist/cmd/build/ci.js.map +1 -1
- package/dist/cmd/build/detect/engine.d.ts +2 -2
- package/dist/cmd/build/detect/engine.d.ts.map +1 -1
- package/dist/cmd/build/detect/engine.js +4 -3
- package/dist/cmd/build/detect/engine.js.map +1 -1
- package/dist/cmd/build/detect/generic.d.ts +1 -1
- package/dist/cmd/build/detect/generic.d.ts.map +1 -1
- package/dist/cmd/build/detect/generic.js +3 -3
- package/dist/cmd/build/detect/generic.js.map +1 -1
- package/dist/cmd/build/detect/index.d.ts +2 -2
- package/dist/cmd/build/detect/index.d.ts.map +1 -1
- package/dist/cmd/build/detect/index.js +4 -4
- package/dist/cmd/build/detect/index.js.map +1 -1
- package/dist/cmd/build/detect/util.d.ts +1 -1
- package/dist/cmd/build/detect/util.d.ts.map +1 -1
- package/dist/cmd/build/detect/util.js +11 -10
- package/dist/cmd/build/detect/util.js.map +1 -1
- package/dist/cmd/build/ids.d.ts.map +1 -1
- package/dist/cmd/build/ids.js +5 -3
- package/dist/cmd/build/ids.js.map +1 -1
- package/dist/cmd/build/index.d.ts +1 -1
- package/dist/cmd/build/index.d.ts.map +1 -1
- package/dist/cmd/build/index.js +15 -14
- package/dist/cmd/build/index.js.map +1 -1
- package/dist/cmd/build/package/index.d.ts +4 -4
- package/dist/cmd/build/package/index.d.ts.map +1 -1
- package/dist/cmd/build/package/index.js +1 -1
- package/dist/cmd/build/package/index.js.map +1 -1
- package/dist/cmd/build/package/launch.d.ts +2 -2
- package/dist/cmd/build/package/launch.d.ts.map +1 -1
- package/dist/cmd/build/patch/aisdk.d.ts +1 -1
- package/dist/cmd/build/patch/aisdk.d.ts.map +1 -1
- package/dist/cmd/build/patch/aisdk.js +1 -1
- package/dist/cmd/build/patch/aisdk.js.map +1 -1
- package/dist/cmd/build/patch/index.d.ts +8 -2
- package/dist/cmd/build/patch/index.d.ts.map +1 -1
- package/dist/cmd/build/patch/index.js +6 -5
- package/dist/cmd/build/patch/index.js.map +1 -1
- package/dist/cmd/build/patch/llm.d.ts +1 -1
- package/dist/cmd/build/patch/llm.d.ts.map +1 -1
- package/dist/cmd/build/patch/llm.js +1 -1
- package/dist/cmd/build/patch/llm.js.map +1 -1
- package/dist/cmd/build/patch/otel-llm.d.ts +1 -1
- package/dist/cmd/build/patch/otel-llm.d.ts.map +1 -1
- package/dist/cmd/build/typecheck.d.ts +2 -2
- package/dist/cmd/build/typecheck.d.ts.map +1 -1
- package/dist/cmd/build/typecheck.js +14 -14
- package/dist/cmd/build/typecheck.js.map +1 -1
- package/dist/cmd/canary/index.d.ts +1 -1
- package/dist/cmd/canary/index.d.ts.map +1 -1
- package/dist/cmd/canary/index.js +10 -7
- package/dist/cmd/canary/index.js.map +1 -1
- package/dist/cmd/cloud/agent/get.d.ts +1 -1
- package/dist/cmd/cloud/agent/get.d.ts.map +1 -1
- package/dist/cmd/cloud/agent/get.js +4 -4
- package/dist/cmd/cloud/agent/get.js.map +1 -1
- package/dist/cmd/cloud/agent/index.d.ts +1 -1
- package/dist/cmd/cloud/agent/index.d.ts.map +1 -1
- package/dist/cmd/cloud/agent/index.js +4 -4
- package/dist/cmd/cloud/agent/index.js.map +1 -1
- package/dist/cmd/cloud/agent/list.d.ts +1 -1
- package/dist/cmd/cloud/agent/list.d.ts.map +1 -1
- package/dist/cmd/cloud/agent/list.js +5 -5
- package/dist/cmd/cloud/agent/list.js.map +1 -1
- package/dist/cmd/cloud/apikey/create.d.ts +1 -1
- package/dist/cmd/cloud/apikey/create.d.ts.map +1 -1
- package/dist/cmd/cloud/apikey/create.js +4 -4
- package/dist/cmd/cloud/apikey/create.js.map +1 -1
- package/dist/cmd/cloud/apikey/delete.d.ts +1 -1
- package/dist/cmd/cloud/apikey/delete.d.ts.map +1 -1
- package/dist/cmd/cloud/apikey/delete.js +4 -4
- package/dist/cmd/cloud/apikey/delete.js.map +1 -1
- package/dist/cmd/cloud/apikey/get.d.ts +1 -1
- package/dist/cmd/cloud/apikey/get.d.ts.map +1 -1
- package/dist/cmd/cloud/apikey/get.js +4 -4
- package/dist/cmd/cloud/apikey/get.js.map +1 -1
- package/dist/cmd/cloud/apikey/index.d.ts +1 -1
- package/dist/cmd/cloud/apikey/index.d.ts.map +1 -1
- package/dist/cmd/cloud/apikey/index.js +6 -6
- package/dist/cmd/cloud/apikey/index.js.map +1 -1
- package/dist/cmd/cloud/apikey/list.d.ts +1 -1
- package/dist/cmd/cloud/apikey/list.d.ts.map +1 -1
- package/dist/cmd/cloud/apikey/list.js +3 -3
- package/dist/cmd/cloud/apikey/list.js.map +1 -1
- package/dist/cmd/cloud/db/create.d.ts +1 -1
- package/dist/cmd/cloud/db/create.d.ts.map +1 -1
- package/dist/cmd/cloud/db/create.js +7 -7
- package/dist/cmd/cloud/db/create.js.map +1 -1
- package/dist/cmd/cloud/db/delete.d.ts +1 -1
- package/dist/cmd/cloud/db/delete.d.ts.map +1 -1
- package/dist/cmd/cloud/db/delete.js +8 -8
- package/dist/cmd/cloud/db/delete.js.map +1 -1
- package/dist/cmd/cloud/db/get.d.ts +1 -1
- package/dist/cmd/cloud/db/get.d.ts.map +1 -1
- package/dist/cmd/cloud/db/get.js +6 -6
- package/dist/cmd/cloud/db/get.js.map +1 -1
- package/dist/cmd/cloud/db/index.d.ts +1 -1
- package/dist/cmd/cloud/db/index.d.ts.map +1 -1
- package/dist/cmd/cloud/db/index.js +9 -9
- package/dist/cmd/cloud/db/index.js.map +1 -1
- package/dist/cmd/cloud/db/list.d.ts +1 -1
- package/dist/cmd/cloud/db/list.d.ts.map +1 -1
- package/dist/cmd/cloud/db/list.js +4 -4
- package/dist/cmd/cloud/db/list.js.map +1 -1
- package/dist/cmd/cloud/db/logs.d.ts +1 -1
- package/dist/cmd/cloud/db/logs.d.ts.map +1 -1
- package/dist/cmd/cloud/db/logs.js +6 -6
- package/dist/cmd/cloud/db/logs.js.map +1 -1
- package/dist/cmd/cloud/db/sql.d.ts +1 -1
- package/dist/cmd/cloud/db/sql.d.ts.map +1 -1
- package/dist/cmd/cloud/db/sql.js +4 -4
- package/dist/cmd/cloud/db/sql.js.map +1 -1
- package/dist/cmd/cloud/db/stats.d.ts +1 -1
- package/dist/cmd/cloud/db/stats.d.ts.map +1 -1
- package/dist/cmd/cloud/db/stats.js +4 -4
- package/dist/cmd/cloud/db/stats.js.map +1 -1
- package/dist/cmd/cloud/deploy/build.d.ts +68 -0
- package/dist/cmd/cloud/deploy/build.d.ts.map +1 -0
- package/dist/cmd/cloud/deploy/build.js +166 -0
- package/dist/cmd/cloud/deploy/build.js.map +1 -0
- package/dist/cmd/cloud/deploy/discover.d.ts +42 -0
- package/dist/cmd/cloud/deploy/discover.d.ts.map +1 -0
- package/dist/cmd/cloud/deploy/discover.js +85 -0
- package/dist/cmd/cloud/deploy/discover.js.map +1 -0
- package/dist/cmd/cloud/deploy/preflight.d.ts +81 -0
- package/dist/cmd/cloud/deploy/preflight.d.ts.map +1 -0
- package/dist/cmd/cloud/deploy/preflight.js +116 -0
- package/dist/cmd/cloud/deploy/preflight.js.map +1 -0
- package/dist/cmd/cloud/deploy/register.d.ts +62 -0
- package/dist/cmd/cloud/deploy/register.d.ts.map +1 -0
- package/dist/cmd/cloud/deploy/register.js +135 -0
- package/dist/cmd/cloud/deploy/register.js.map +1 -0
- package/dist/cmd/cloud/deploy/types.d.ts +43 -0
- package/dist/cmd/cloud/deploy/types.d.ts.map +1 -0
- package/dist/cmd/cloud/deploy/types.js +12 -0
- package/dist/cmd/cloud/deploy/types.js.map +1 -0
- package/dist/cmd/cloud/deploy/upload.d.ts +77 -0
- package/dist/cmd/cloud/deploy/upload.d.ts.map +1 -0
- package/dist/cmd/cloud/deploy/upload.js +343 -0
- package/dist/cmd/cloud/deploy/upload.js.map +1 -0
- package/dist/cmd/cloud/deploy/wait.d.ts +84 -0
- package/dist/cmd/cloud/deploy/wait.d.ts.map +1 -0
- package/dist/cmd/cloud/deploy/wait.js +237 -0
- package/dist/cmd/cloud/deploy/wait.js.map +1 -0
- package/dist/cmd/cloud/deploy-fork.d.ts +2 -2
- package/dist/cmd/cloud/deploy-fork.d.ts.map +1 -1
- package/dist/cmd/cloud/deploy-fork.js +59 -46
- package/dist/cmd/cloud/deploy-fork.js.map +1 -1
- package/dist/cmd/cloud/deploy.d.ts +1 -1
- package/dist/cmd/cloud/deploy.d.ts.map +1 -1
- package/dist/cmd/cloud/deploy.js +128 -718
- package/dist/cmd/cloud/deploy.js.map +1 -1
- package/dist/cmd/cloud/deployment/index.d.ts +1 -1
- package/dist/cmd/cloud/deployment/index.d.ts.map +1 -1
- package/dist/cmd/cloud/deployment/index.js +8 -8
- package/dist/cmd/cloud/deployment/index.js.map +1 -1
- package/dist/cmd/cloud/deployment/list.d.ts +1 -1
- package/dist/cmd/cloud/deployment/list.d.ts.map +1 -1
- package/dist/cmd/cloud/deployment/list.js +4 -4
- package/dist/cmd/cloud/deployment/list.js.map +1 -1
- package/dist/cmd/cloud/deployment/logs.d.ts +1 -1
- package/dist/cmd/cloud/deployment/logs.d.ts.map +1 -1
- package/dist/cmd/cloud/deployment/logs.js +5 -5
- package/dist/cmd/cloud/deployment/logs.js.map +1 -1
- package/dist/cmd/cloud/deployment/remove.d.ts +1 -1
- package/dist/cmd/cloud/deployment/remove.d.ts.map +1 -1
- package/dist/cmd/cloud/deployment/remove.js +4 -4
- package/dist/cmd/cloud/deployment/remove.js.map +1 -1
- package/dist/cmd/cloud/deployment/rollback.d.ts +1 -1
- package/dist/cmd/cloud/deployment/rollback.d.ts.map +1 -1
- package/dist/cmd/cloud/deployment/rollback.js +4 -4
- package/dist/cmd/cloud/deployment/rollback.js.map +1 -1
- package/dist/cmd/cloud/deployment/show.d.ts +1 -1
- package/dist/cmd/cloud/deployment/show.d.ts.map +1 -1
- package/dist/cmd/cloud/deployment/show.js +4 -4
- package/dist/cmd/cloud/deployment/show.js.map +1 -1
- package/dist/cmd/cloud/deployment/undeploy.d.ts +1 -1
- package/dist/cmd/cloud/deployment/undeploy.d.ts.map +1 -1
- package/dist/cmd/cloud/deployment/undeploy.js +4 -4
- package/dist/cmd/cloud/deployment/undeploy.js.map +1 -1
- package/dist/cmd/cloud/deployment/utils.d.ts +1 -1
- package/dist/cmd/cloud/deployment/utils.d.ts.map +1 -1
- package/dist/cmd/cloud/email/create.d.ts +1 -1
- package/dist/cmd/cloud/email/create.d.ts.map +1 -1
- package/dist/cmd/cloud/email/create.js +5 -5
- package/dist/cmd/cloud/email/create.js.map +1 -1
- package/dist/cmd/cloud/email/delete.d.ts +1 -1
- package/dist/cmd/cloud/email/delete.d.ts.map +1 -1
- package/dist/cmd/cloud/email/delete.js +3 -3
- package/dist/cmd/cloud/email/delete.js.map +1 -1
- package/dist/cmd/cloud/email/destination/delete.d.ts +1 -1
- package/dist/cmd/cloud/email/destination/delete.d.ts.map +1 -1
- package/dist/cmd/cloud/email/destination/delete.js +3 -3
- package/dist/cmd/cloud/email/destination/delete.js.map +1 -1
- package/dist/cmd/cloud/email/destination/index.d.ts +1 -1
- package/dist/cmd/cloud/email/destination/index.d.ts.map +1 -1
- package/dist/cmd/cloud/email/destination/index.js +4 -4
- package/dist/cmd/cloud/email/destination/index.js.map +1 -1
- package/dist/cmd/cloud/email/destination/list.d.ts +1 -1
- package/dist/cmd/cloud/email/destination/list.d.ts.map +1 -1
- package/dist/cmd/cloud/email/destination/list.js +4 -4
- package/dist/cmd/cloud/email/destination/list.js.map +1 -1
- package/dist/cmd/cloud/email/destination/url.d.ts +1 -1
- package/dist/cmd/cloud/email/destination/url.d.ts.map +1 -1
- package/dist/cmd/cloud/email/destination/url.js +6 -6
- package/dist/cmd/cloud/email/destination/url.js.map +1 -1
- package/dist/cmd/cloud/email/get.d.ts +1 -1
- package/dist/cmd/cloud/email/get.d.ts.map +1 -1
- package/dist/cmd/cloud/email/get.js +3 -3
- package/dist/cmd/cloud/email/get.js.map +1 -1
- package/dist/cmd/cloud/email/inbound/get.d.ts +1 -1
- package/dist/cmd/cloud/email/inbound/get.d.ts.map +1 -1
- package/dist/cmd/cloud/email/inbound/get.js +4 -4
- package/dist/cmd/cloud/email/inbound/get.js.map +1 -1
- package/dist/cmd/cloud/email/inbound/index.d.ts +1 -1
- package/dist/cmd/cloud/email/inbound/index.d.ts.map +1 -1
- package/dist/cmd/cloud/email/inbound/index.js +3 -3
- package/dist/cmd/cloud/email/inbound/index.js.map +1 -1
- package/dist/cmd/cloud/email/inbound/list.d.ts +1 -1
- package/dist/cmd/cloud/email/inbound/list.d.ts.map +1 -1
- package/dist/cmd/cloud/email/inbound/list.js +4 -4
- package/dist/cmd/cloud/email/inbound/list.js.map +1 -1
- package/dist/cmd/cloud/email/index.d.ts +1 -1
- package/dist/cmd/cloud/email/index.d.ts.map +1 -1
- package/dist/cmd/cloud/email/index.js +10 -10
- package/dist/cmd/cloud/email/index.js.map +1 -1
- package/dist/cmd/cloud/email/list.d.ts +1 -1
- package/dist/cmd/cloud/email/list.d.ts.map +1 -1
- package/dist/cmd/cloud/email/list.js +3 -3
- package/dist/cmd/cloud/email/list.js.map +1 -1
- package/dist/cmd/cloud/email/outbound/get.d.ts +1 -1
- package/dist/cmd/cloud/email/outbound/get.d.ts.map +1 -1
- package/dist/cmd/cloud/email/outbound/get.js +4 -4
- package/dist/cmd/cloud/email/outbound/get.js.map +1 -1
- package/dist/cmd/cloud/email/outbound/index.d.ts +1 -1
- package/dist/cmd/cloud/email/outbound/index.d.ts.map +1 -1
- package/dist/cmd/cloud/email/outbound/index.js +3 -3
- package/dist/cmd/cloud/email/outbound/index.js.map +1 -1
- package/dist/cmd/cloud/email/outbound/list.d.ts +1 -1
- package/dist/cmd/cloud/email/outbound/list.d.ts.map +1 -1
- package/dist/cmd/cloud/email/outbound/list.js +4 -4
- package/dist/cmd/cloud/email/outbound/list.js.map +1 -1
- package/dist/cmd/cloud/email/send.d.ts +1 -1
- package/dist/cmd/cloud/email/send.d.ts.map +1 -1
- package/dist/cmd/cloud/email/send.js +10 -8
- package/dist/cmd/cloud/email/send.js.map +1 -1
- package/dist/cmd/cloud/email/stats.d.ts +1 -1
- package/dist/cmd/cloud/email/stats.d.ts.map +1 -1
- package/dist/cmd/cloud/email/stats.js +4 -4
- package/dist/cmd/cloud/email/stats.js.map +1 -1
- package/dist/cmd/cloud/email/util.d.ts +1 -1
- package/dist/cmd/cloud/email/util.d.ts.map +1 -1
- package/dist/cmd/cloud/email/util.js +3 -3
- package/dist/cmd/cloud/email/util.js.map +1 -1
- package/dist/cmd/cloud/env/delete.d.ts +1 -1
- package/dist/cmd/cloud/env/delete.d.ts.map +1 -1
- package/dist/cmd/cloud/env/delete.js +6 -6
- package/dist/cmd/cloud/env/delete.js.map +1 -1
- package/dist/cmd/cloud/env/env-diff.js +2 -2
- package/dist/cmd/cloud/env/env-diff.js.map +1 -1
- package/dist/cmd/cloud/env/get.d.ts +1 -1
- package/dist/cmd/cloud/env/get.d.ts.map +1 -1
- package/dist/cmd/cloud/env/get.js +5 -5
- package/dist/cmd/cloud/env/get.js.map +1 -1
- package/dist/cmd/cloud/env/import.d.ts +1 -1
- package/dist/cmd/cloud/env/import.d.ts.map +1 -1
- package/dist/cmd/cloud/env/import.js +5 -5
- package/dist/cmd/cloud/env/import.js.map +1 -1
- package/dist/cmd/cloud/env/index.d.ts +1 -1
- package/dist/cmd/cloud/env/index.d.ts.map +1 -1
- package/dist/cmd/cloud/env/index.js +9 -9
- package/dist/cmd/cloud/env/index.js.map +1 -1
- package/dist/cmd/cloud/env/list.d.ts +1 -1
- package/dist/cmd/cloud/env/list.d.ts.map +1 -1
- package/dist/cmd/cloud/env/list.js +4 -4
- package/dist/cmd/cloud/env/list.js.map +1 -1
- package/dist/cmd/cloud/env/org-util.d.ts +2 -2
- package/dist/cmd/cloud/env/org-util.d.ts.map +1 -1
- package/dist/cmd/cloud/env/org-util.js +1 -1
- package/dist/cmd/cloud/env/org-util.js.map +1 -1
- package/dist/cmd/cloud/env/pull.d.ts +1 -1
- package/dist/cmd/cloud/env/pull.d.ts.map +1 -1
- package/dist/cmd/cloud/env/pull.js +6 -6
- package/dist/cmd/cloud/env/pull.js.map +1 -1
- package/dist/cmd/cloud/env/push.d.ts +1 -1
- package/dist/cmd/cloud/env/push.d.ts.map +1 -1
- package/dist/cmd/cloud/env/push.js +6 -6
- package/dist/cmd/cloud/env/push.js.map +1 -1
- package/dist/cmd/cloud/env/set.d.ts +1 -1
- package/dist/cmd/cloud/env/set.d.ts.map +1 -1
- package/dist/cmd/cloud/env/set.js +5 -5
- package/dist/cmd/cloud/env/set.js.map +1 -1
- package/dist/cmd/cloud/index.d.ts +1 -1
- package/dist/cmd/cloud/index.d.ts.map +1 -1
- package/dist/cmd/cloud/index.js +29 -29
- package/dist/cmd/cloud/index.js.map +1 -1
- package/dist/cmd/cloud/keyvalue/create-namespace.d.ts +1 -1
- package/dist/cmd/cloud/keyvalue/create-namespace.d.ts.map +1 -1
- package/dist/cmd/cloud/keyvalue/create-namespace.js +4 -4
- package/dist/cmd/cloud/keyvalue/create-namespace.js.map +1 -1
- package/dist/cmd/cloud/keyvalue/delete-namespace.d.ts +1 -1
- package/dist/cmd/cloud/keyvalue/delete-namespace.d.ts.map +1 -1
- package/dist/cmd/cloud/keyvalue/delete-namespace.js +5 -5
- package/dist/cmd/cloud/keyvalue/delete-namespace.js.map +1 -1
- package/dist/cmd/cloud/keyvalue/delete.d.ts +1 -1
- package/dist/cmd/cloud/keyvalue/delete.d.ts.map +1 -1
- package/dist/cmd/cloud/keyvalue/delete.js +4 -4
- package/dist/cmd/cloud/keyvalue/delete.js.map +1 -1
- package/dist/cmd/cloud/keyvalue/get.d.ts +1 -1
- package/dist/cmd/cloud/keyvalue/get.d.ts.map +1 -1
- package/dist/cmd/cloud/keyvalue/get.js +5 -5
- package/dist/cmd/cloud/keyvalue/get.js.map +1 -1
- package/dist/cmd/cloud/keyvalue/index.d.ts +1 -1
- package/dist/cmd/cloud/keyvalue/index.d.ts.map +1 -1
- package/dist/cmd/cloud/keyvalue/index.js +12 -12
- package/dist/cmd/cloud/keyvalue/index.js.map +1 -1
- package/dist/cmd/cloud/keyvalue/keys.d.ts +1 -1
- package/dist/cmd/cloud/keyvalue/keys.d.ts.map +1 -1
- package/dist/cmd/cloud/keyvalue/keys.js +4 -4
- package/dist/cmd/cloud/keyvalue/keys.js.map +1 -1
- package/dist/cmd/cloud/keyvalue/list-namespaces.d.ts +1 -1
- package/dist/cmd/cloud/keyvalue/list-namespaces.d.ts.map +1 -1
- package/dist/cmd/cloud/keyvalue/list-namespaces.js +4 -4
- package/dist/cmd/cloud/keyvalue/list-namespaces.js.map +1 -1
- package/dist/cmd/cloud/keyvalue/repl.d.ts +1 -1
- package/dist/cmd/cloud/keyvalue/repl.d.ts.map +1 -1
- package/dist/cmd/cloud/keyvalue/repl.js +10 -14
- package/dist/cmd/cloud/keyvalue/repl.js.map +1 -1
- package/dist/cmd/cloud/keyvalue/search.d.ts +1 -1
- package/dist/cmd/cloud/keyvalue/search.d.ts.map +1 -1
- package/dist/cmd/cloud/keyvalue/search.js +13 -20
- package/dist/cmd/cloud/keyvalue/search.js.map +1 -1
- package/dist/cmd/cloud/keyvalue/set.d.ts +1 -1
- package/dist/cmd/cloud/keyvalue/set.d.ts.map +1 -1
- package/dist/cmd/cloud/keyvalue/set.js +5 -5
- package/dist/cmd/cloud/keyvalue/set.js.map +1 -1
- package/dist/cmd/cloud/keyvalue/stats.d.ts +1 -1
- package/dist/cmd/cloud/keyvalue/stats.d.ts.map +1 -1
- package/dist/cmd/cloud/keyvalue/stats.js +4 -4
- package/dist/cmd/cloud/keyvalue/stats.js.map +1 -1
- package/dist/cmd/cloud/keyvalue/util.d.ts +1 -1
- package/dist/cmd/cloud/keyvalue/util.d.ts.map +1 -1
- package/dist/cmd/cloud/keyvalue/util.js +2 -2
- package/dist/cmd/cloud/keyvalue/util.js.map +1 -1
- package/dist/cmd/cloud/machine/delete.d.ts +1 -1
- package/dist/cmd/cloud/machine/delete.d.ts.map +1 -1
- package/dist/cmd/cloud/machine/delete.js +5 -5
- package/dist/cmd/cloud/machine/delete.js.map +1 -1
- package/dist/cmd/cloud/machine/deployments.d.ts +1 -1
- package/dist/cmd/cloud/machine/deployments.d.ts.map +1 -1
- package/dist/cmd/cloud/machine/deployments.js +5 -5
- package/dist/cmd/cloud/machine/deployments.js.map +1 -1
- package/dist/cmd/cloud/machine/get.d.ts +1 -1
- package/dist/cmd/cloud/machine/get.d.ts.map +1 -1
- package/dist/cmd/cloud/machine/get.js +5 -5
- package/dist/cmd/cloud/machine/get.js.map +1 -1
- package/dist/cmd/cloud/machine/index.d.ts +1 -1
- package/dist/cmd/cloud/machine/index.d.ts.map +1 -1
- package/dist/cmd/cloud/machine/index.js +6 -6
- package/dist/cmd/cloud/machine/index.js.map +1 -1
- package/dist/cmd/cloud/machine/list.d.ts +1 -1
- package/dist/cmd/cloud/machine/list.d.ts.map +1 -1
- package/dist/cmd/cloud/machine/list.js +5 -5
- package/dist/cmd/cloud/machine/list.js.map +1 -1
- package/dist/cmd/cloud/monitor.d.ts +1 -1
- package/dist/cmd/cloud/monitor.d.ts.map +1 -1
- package/dist/cmd/cloud/monitor.js +4 -4
- package/dist/cmd/cloud/monitor.js.map +1 -1
- package/dist/cmd/cloud/oidc/activity.d.ts +1 -1
- package/dist/cmd/cloud/oidc/activity.d.ts.map +1 -1
- package/dist/cmd/cloud/oidc/activity.js +4 -4
- package/dist/cmd/cloud/oidc/activity.js.map +1 -1
- package/dist/cmd/cloud/oidc/create.d.ts +1 -1
- package/dist/cmd/cloud/oidc/create.d.ts.map +1 -1
- package/dist/cmd/cloud/oidc/create.js +4 -4
- package/dist/cmd/cloud/oidc/create.js.map +1 -1
- package/dist/cmd/cloud/oidc/delete.d.ts +1 -1
- package/dist/cmd/cloud/oidc/delete.d.ts.map +1 -1
- package/dist/cmd/cloud/oidc/delete.js +5 -5
- package/dist/cmd/cloud/oidc/delete.js.map +1 -1
- package/dist/cmd/cloud/oidc/get.d.ts +1 -1
- package/dist/cmd/cloud/oidc/get.d.ts.map +1 -1
- package/dist/cmd/cloud/oidc/get.js +5 -5
- package/dist/cmd/cloud/oidc/get.js.map +1 -1
- package/dist/cmd/cloud/oidc/index.d.ts +1 -1
- package/dist/cmd/cloud/oidc/index.d.ts.map +1 -1
- package/dist/cmd/cloud/oidc/index.js +9 -9
- package/dist/cmd/cloud/oidc/index.js.map +1 -1
- package/dist/cmd/cloud/oidc/list.d.ts +1 -1
- package/dist/cmd/cloud/oidc/list.d.ts.map +1 -1
- package/dist/cmd/cloud/oidc/list.js +4 -4
- package/dist/cmd/cloud/oidc/list.js.map +1 -1
- package/dist/cmd/cloud/oidc/rotate-secret.d.ts +1 -1
- package/dist/cmd/cloud/oidc/rotate-secret.d.ts.map +1 -1
- package/dist/cmd/cloud/oidc/rotate-secret.js +5 -5
- package/dist/cmd/cloud/oidc/rotate-secret.js.map +1 -1
- package/dist/cmd/cloud/oidc/users.d.ts +1 -1
- package/dist/cmd/cloud/oidc/users.d.ts.map +1 -1
- package/dist/cmd/cloud/oidc/users.js +4 -4
- package/dist/cmd/cloud/oidc/users.js.map +1 -1
- package/dist/cmd/cloud/oidc/util.d.ts +1 -1
- package/dist/cmd/cloud/oidc/util.d.ts.map +1 -1
- package/dist/cmd/cloud/oidc/util.js +2 -2
- package/dist/cmd/cloud/oidc/util.js.map +1 -1
- package/dist/cmd/cloud/queue/ack.d.ts +1 -1
- package/dist/cmd/cloud/queue/ack.d.ts.map +1 -1
- package/dist/cmd/cloud/queue/ack.js +4 -4
- package/dist/cmd/cloud/queue/ack.js.map +1 -1
- package/dist/cmd/cloud/queue/consumers.d.ts +1 -1
- package/dist/cmd/cloud/queue/consumers.d.ts.map +1 -1
- package/dist/cmd/cloud/queue/consumers.js +4 -4
- package/dist/cmd/cloud/queue/consumers.js.map +1 -1
- package/dist/cmd/cloud/queue/create.d.ts +1 -1
- package/dist/cmd/cloud/queue/create.d.ts.map +1 -1
- package/dist/cmd/cloud/queue/create.js +4 -4
- package/dist/cmd/cloud/queue/create.js.map +1 -1
- package/dist/cmd/cloud/queue/delete.d.ts +1 -1
- package/dist/cmd/cloud/queue/delete.d.ts.map +1 -1
- package/dist/cmd/cloud/queue/delete.js +5 -5
- package/dist/cmd/cloud/queue/delete.js.map +1 -1
- package/dist/cmd/cloud/queue/destinations.d.ts +1 -1
- package/dist/cmd/cloud/queue/destinations.d.ts.map +1 -1
- package/dist/cmd/cloud/queue/destinations.js +5 -5
- package/dist/cmd/cloud/queue/destinations.js.map +1 -1
- package/dist/cmd/cloud/queue/dlq.d.ts +1 -1
- package/dist/cmd/cloud/queue/dlq.d.ts.map +1 -1
- package/dist/cmd/cloud/queue/dlq.js +5 -5
- package/dist/cmd/cloud/queue/dlq.js.map +1 -1
- package/dist/cmd/cloud/queue/get.d.ts +1 -1
- package/dist/cmd/cloud/queue/get.d.ts.map +1 -1
- package/dist/cmd/cloud/queue/get.js +4 -4
- package/dist/cmd/cloud/queue/get.js.map +1 -1
- package/dist/cmd/cloud/queue/index.d.ts +1 -1
- package/dist/cmd/cloud/queue/index.d.ts.map +1 -1
- package/dist/cmd/cloud/queue/index.js +18 -18
- package/dist/cmd/cloud/queue/index.js.map +1 -1
- package/dist/cmd/cloud/queue/list.d.ts +1 -1
- package/dist/cmd/cloud/queue/list.d.ts.map +1 -1
- package/dist/cmd/cloud/queue/list.js +4 -4
- package/dist/cmd/cloud/queue/list.js.map +1 -1
- package/dist/cmd/cloud/queue/messages.d.ts +1 -1
- package/dist/cmd/cloud/queue/messages.d.ts.map +1 -1
- package/dist/cmd/cloud/queue/messages.js +4 -4
- package/dist/cmd/cloud/queue/messages.js.map +1 -1
- package/dist/cmd/cloud/queue/nack.d.ts +1 -1
- package/dist/cmd/cloud/queue/nack.d.ts.map +1 -1
- package/dist/cmd/cloud/queue/nack.js +4 -4
- package/dist/cmd/cloud/queue/nack.js.map +1 -1
- package/dist/cmd/cloud/queue/pause.d.ts +1 -1
- package/dist/cmd/cloud/queue/pause.d.ts.map +1 -1
- package/dist/cmd/cloud/queue/pause.js +4 -4
- package/dist/cmd/cloud/queue/pause.js.map +1 -1
- package/dist/cmd/cloud/queue/publish.d.ts +1 -1
- package/dist/cmd/cloud/queue/publish.d.ts.map +1 -1
- package/dist/cmd/cloud/queue/publish.js +5 -5
- package/dist/cmd/cloud/queue/publish.js.map +1 -1
- package/dist/cmd/cloud/queue/receive.d.ts +1 -1
- package/dist/cmd/cloud/queue/receive.d.ts.map +1 -1
- package/dist/cmd/cloud/queue/receive.js +4 -4
- package/dist/cmd/cloud/queue/receive.js.map +1 -1
- package/dist/cmd/cloud/queue/resume.d.ts +1 -1
- package/dist/cmd/cloud/queue/resume.d.ts.map +1 -1
- package/dist/cmd/cloud/queue/resume.js +4 -4
- package/dist/cmd/cloud/queue/resume.js.map +1 -1
- package/dist/cmd/cloud/queue/sources.d.ts +1 -1
- package/dist/cmd/cloud/queue/sources.d.ts.map +1 -1
- package/dist/cmd/cloud/queue/sources.js +5 -5
- package/dist/cmd/cloud/queue/sources.js.map +1 -1
- package/dist/cmd/cloud/queue/stats.d.ts +1 -1
- package/dist/cmd/cloud/queue/stats.d.ts.map +1 -1
- package/dist/cmd/cloud/queue/stats.js +4 -4
- package/dist/cmd/cloud/queue/stats.js.map +1 -1
- package/dist/cmd/cloud/queue/util.d.ts +1 -1
- package/dist/cmd/cloud/queue/util.d.ts.map +1 -1
- package/dist/cmd/cloud/queue/util.js +1 -1
- package/dist/cmd/cloud/queue/util.js.map +1 -1
- package/dist/cmd/cloud/redis/get.d.ts +1 -1
- package/dist/cmd/cloud/redis/get.d.ts.map +1 -1
- package/dist/cmd/cloud/redis/get.js +4 -4
- package/dist/cmd/cloud/redis/get.js.map +1 -1
- package/dist/cmd/cloud/redis/index.d.ts +1 -1
- package/dist/cmd/cloud/redis/index.d.ts.map +1 -1
- package/dist/cmd/cloud/redis/index.js +3 -3
- package/dist/cmd/cloud/redis/index.js.map +1 -1
- package/dist/cmd/cloud/region/index.d.ts +1 -1
- package/dist/cmd/cloud/region/index.d.ts.map +1 -1
- package/dist/cmd/cloud/region/index.js +5 -5
- package/dist/cmd/cloud/region/index.js.map +1 -1
- package/dist/cmd/cloud/region/list.d.ts +1 -1
- package/dist/cmd/cloud/region/list.d.ts.map +1 -1
- package/dist/cmd/cloud/region/list.js +3 -3
- package/dist/cmd/cloud/region/list.js.map +1 -1
- package/dist/cmd/cloud/region-lookup.d.ts +1 -1
- package/dist/cmd/cloud/region-lookup.d.ts.map +1 -1
- package/dist/cmd/cloud/region-lookup.js +4 -4
- package/dist/cmd/cloud/region-lookup.js.map +1 -1
- package/dist/cmd/cloud/sandbox/checkpoint/create.d.ts +1 -1
- package/dist/cmd/cloud/sandbox/checkpoint/create.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/checkpoint/create.js +6 -7
- package/dist/cmd/cloud/sandbox/checkpoint/create.js.map +1 -1
- package/dist/cmd/cloud/sandbox/checkpoint/delete.d.ts +1 -1
- package/dist/cmd/cloud/sandbox/checkpoint/delete.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/checkpoint/delete.js +6 -7
- package/dist/cmd/cloud/sandbox/checkpoint/delete.js.map +1 -1
- package/dist/cmd/cloud/sandbox/checkpoint/index.d.ts +1 -1
- package/dist/cmd/cloud/sandbox/checkpoint/index.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/checkpoint/index.js +6 -6
- package/dist/cmd/cloud/sandbox/checkpoint/index.js.map +1 -1
- package/dist/cmd/cloud/sandbox/checkpoint/list.d.ts +1 -1
- package/dist/cmd/cloud/sandbox/checkpoint/list.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/checkpoint/list.js +6 -7
- package/dist/cmd/cloud/sandbox/checkpoint/list.js.map +1 -1
- package/dist/cmd/cloud/sandbox/checkpoint/restore.d.ts +1 -1
- package/dist/cmd/cloud/sandbox/checkpoint/restore.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/checkpoint/restore.js +6 -7
- package/dist/cmd/cloud/sandbox/checkpoint/restore.js.map +1 -1
- package/dist/cmd/cloud/sandbox/create.d.ts +1 -1
- package/dist/cmd/cloud/sandbox/create.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/create.js +62 -11
- package/dist/cmd/cloud/sandbox/create.js.map +1 -1
- package/dist/cmd/cloud/sandbox/delete.d.ts +1 -1
- package/dist/cmd/cloud/sandbox/delete.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/delete.js +6 -7
- package/dist/cmd/cloud/sandbox/delete.js.map +1 -1
- package/dist/cmd/cloud/sandbox/env.d.ts +1 -1
- package/dist/cmd/cloud/sandbox/env.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/env.js +6 -8
- package/dist/cmd/cloud/sandbox/env.js.map +1 -1
- package/dist/cmd/cloud/sandbox/events.d.ts +1 -1
- package/dist/cmd/cloud/sandbox/events.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/events.js +4 -4
- package/dist/cmd/cloud/sandbox/events.js.map +1 -1
- package/dist/cmd/cloud/sandbox/exec.d.ts +1 -1
- package/dist/cmd/cloud/sandbox/exec.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/exec.js +83 -26
- package/dist/cmd/cloud/sandbox/exec.js.map +1 -1
- package/dist/cmd/cloud/sandbox/execution/get.d.ts +1 -1
- package/dist/cmd/cloud/sandbox/execution/get.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/execution/get.js +4 -4
- package/dist/cmd/cloud/sandbox/execution/get.js.map +1 -1
- package/dist/cmd/cloud/sandbox/execution/index.d.ts +1 -1
- package/dist/cmd/cloud/sandbox/execution/index.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/execution/index.js +4 -4
- package/dist/cmd/cloud/sandbox/execution/index.js.map +1 -1
- package/dist/cmd/cloud/sandbox/execution/list.d.ts +1 -1
- package/dist/cmd/cloud/sandbox/execution/list.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/execution/list.js +6 -8
- package/dist/cmd/cloud/sandbox/execution/list.js.map +1 -1
- package/dist/cmd/cloud/sandbox/fs/cp.d.ts +1 -1
- package/dist/cmd/cloud/sandbox/fs/cp.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/fs/cp.js +68 -119
- package/dist/cmd/cloud/sandbox/fs/cp.js.map +1 -1
- package/dist/cmd/cloud/sandbox/fs/download.d.ts +1 -1
- package/dist/cmd/cloud/sandbox/fs/download.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/fs/download.js +14 -25
- package/dist/cmd/cloud/sandbox/fs/download.js.map +1 -1
- package/dist/cmd/cloud/sandbox/fs/index.d.ts +1 -1
- package/dist/cmd/cloud/sandbox/fs/index.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/fs/index.js +9 -9
- package/dist/cmd/cloud/sandbox/fs/index.js.map +1 -1
- package/dist/cmd/cloud/sandbox/fs/ls.d.ts +1 -1
- package/dist/cmd/cloud/sandbox/fs/ls.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/fs/ls.js +6 -8
- package/dist/cmd/cloud/sandbox/fs/ls.js.map +1 -1
- package/dist/cmd/cloud/sandbox/fs/mkdir.d.ts +1 -1
- package/dist/cmd/cloud/sandbox/fs/mkdir.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/fs/mkdir.js +6 -8
- package/dist/cmd/cloud/sandbox/fs/mkdir.js.map +1 -1
- package/dist/cmd/cloud/sandbox/fs/rm.d.ts +1 -1
- package/dist/cmd/cloud/sandbox/fs/rm.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/fs/rm.js +6 -8
- package/dist/cmd/cloud/sandbox/fs/rm.js.map +1 -1
- package/dist/cmd/cloud/sandbox/fs/rmdir.d.ts +1 -1
- package/dist/cmd/cloud/sandbox/fs/rmdir.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/fs/rmdir.js +6 -8
- package/dist/cmd/cloud/sandbox/fs/rmdir.js.map +1 -1
- package/dist/cmd/cloud/sandbox/fs/upload.d.ts +1 -1
- package/dist/cmd/cloud/sandbox/fs/upload.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/fs/upload.js +10 -11
- package/dist/cmd/cloud/sandbox/fs/upload.js.map +1 -1
- package/dist/cmd/cloud/sandbox/get.d.ts +1 -1
- package/dist/cmd/cloud/sandbox/get.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/get.js +24 -10
- package/dist/cmd/cloud/sandbox/get.js.map +1 -1
- package/dist/cmd/cloud/sandbox/index.d.ts +1 -1
- package/dist/cmd/cloud/sandbox/index.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/index.js +19 -19
- package/dist/cmd/cloud/sandbox/index.js.map +1 -1
- package/dist/cmd/cloud/sandbox/job/create.d.ts +1 -1
- package/dist/cmd/cloud/sandbox/job/create.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/job/create.js +6 -7
- package/dist/cmd/cloud/sandbox/job/create.js.map +1 -1
- package/dist/cmd/cloud/sandbox/job/destroy.d.ts +1 -1
- package/dist/cmd/cloud/sandbox/job/destroy.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/job/destroy.js +6 -7
- package/dist/cmd/cloud/sandbox/job/destroy.js.map +1 -1
- package/dist/cmd/cloud/sandbox/job/get.d.ts +1 -1
- package/dist/cmd/cloud/sandbox/job/get.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/job/get.js +5 -6
- package/dist/cmd/cloud/sandbox/job/get.js.map +1 -1
- package/dist/cmd/cloud/sandbox/job/index.d.ts +1 -1
- package/dist/cmd/cloud/sandbox/job/index.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/job/index.js +7 -7
- package/dist/cmd/cloud/sandbox/job/index.js.map +1 -1
- package/dist/cmd/cloud/sandbox/job/list.d.ts +1 -1
- package/dist/cmd/cloud/sandbox/job/list.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/job/list.js +5 -6
- package/dist/cmd/cloud/sandbox/job/list.js.map +1 -1
- package/dist/cmd/cloud/sandbox/job/logs.d.ts +1 -1
- package/dist/cmd/cloud/sandbox/job/logs.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/job/logs.js +7 -8
- package/dist/cmd/cloud/sandbox/job/logs.js.map +1 -1
- package/dist/cmd/cloud/sandbox/list.d.ts +1 -1
- package/dist/cmd/cloud/sandbox/list.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/list.js +3 -3
- package/dist/cmd/cloud/sandbox/list.js.map +1 -1
- package/dist/cmd/cloud/sandbox/pause.d.ts +1 -1
- package/dist/cmd/cloud/sandbox/pause.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/pause.js +24 -8
- package/dist/cmd/cloud/sandbox/pause.js.map +1 -1
- package/dist/cmd/cloud/sandbox/resume.d.ts +1 -1
- package/dist/cmd/cloud/sandbox/resume.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/resume.js +6 -7
- package/dist/cmd/cloud/sandbox/resume.js.map +1 -1
- package/dist/cmd/cloud/sandbox/run.d.ts +1 -1
- package/dist/cmd/cloud/sandbox/run.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/run.js +15 -11
- package/dist/cmd/cloud/sandbox/run.js.map +1 -1
- package/dist/cmd/cloud/sandbox/runtime/index.d.ts +1 -1
- package/dist/cmd/cloud/sandbox/runtime/index.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/runtime/index.js +3 -3
- package/dist/cmd/cloud/sandbox/runtime/index.js.map +1 -1
- package/dist/cmd/cloud/sandbox/runtime/list.d.ts +1 -1
- package/dist/cmd/cloud/sandbox/runtime/list.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/runtime/list.js +4 -4
- package/dist/cmd/cloud/sandbox/runtime/list.js.map +1 -1
- package/dist/cmd/cloud/sandbox/snapshot/build.d.ts +1 -1
- package/dist/cmd/cloud/sandbox/snapshot/build.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/snapshot/build.js +36 -33
- package/dist/cmd/cloud/sandbox/snapshot/build.js.map +1 -1
- package/dist/cmd/cloud/sandbox/snapshot/create.d.ts +1 -1
- package/dist/cmd/cloud/sandbox/snapshot/create.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/snapshot/create.js +7 -7
- package/dist/cmd/cloud/sandbox/snapshot/create.js.map +1 -1
- package/dist/cmd/cloud/sandbox/snapshot/delete.d.ts +1 -1
- package/dist/cmd/cloud/sandbox/snapshot/delete.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/snapshot/delete.js +4 -4
- package/dist/cmd/cloud/sandbox/snapshot/delete.js.map +1 -1
- package/dist/cmd/cloud/sandbox/snapshot/generate.d.ts +1 -1
- package/dist/cmd/cloud/sandbox/snapshot/generate.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/snapshot/generate.js +2 -2
- package/dist/cmd/cloud/sandbox/snapshot/generate.js.map +1 -1
- package/dist/cmd/cloud/sandbox/snapshot/get.d.ts +1 -1
- package/dist/cmd/cloud/sandbox/snapshot/get.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/snapshot/get.js +4 -4
- package/dist/cmd/cloud/sandbox/snapshot/get.js.map +1 -1
- package/dist/cmd/cloud/sandbox/snapshot/index.d.ts +1 -1
- package/dist/cmd/cloud/sandbox/snapshot/index.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/snapshot/index.js +9 -9
- package/dist/cmd/cloud/sandbox/snapshot/index.js.map +1 -1
- package/dist/cmd/cloud/sandbox/snapshot/list.d.ts +1 -1
- package/dist/cmd/cloud/sandbox/snapshot/list.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/snapshot/list.js +4 -4
- package/dist/cmd/cloud/sandbox/snapshot/list.js.map +1 -1
- package/dist/cmd/cloud/sandbox/snapshot/tag.d.ts +1 -1
- package/dist/cmd/cloud/sandbox/snapshot/tag.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/snapshot/tag.js +4 -4
- package/dist/cmd/cloud/sandbox/snapshot/tag.js.map +1 -1
- package/dist/cmd/cloud/sandbox/stats.d.ts +1 -1
- package/dist/cmd/cloud/sandbox/stats.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/stats.js +4 -4
- package/dist/cmd/cloud/sandbox/stats.js.map +1 -1
- package/dist/cmd/cloud/sandbox/util.d.ts +11 -1
- package/dist/cmd/cloud/sandbox/util.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/util.js +26 -7
- package/dist/cmd/cloud/sandbox/util.js.map +1 -1
- package/dist/cmd/cloud/schedule/create.d.ts +1 -1
- package/dist/cmd/cloud/schedule/create.d.ts.map +1 -1
- package/dist/cmd/cloud/schedule/create.js +4 -4
- package/dist/cmd/cloud/schedule/create.js.map +1 -1
- package/dist/cmd/cloud/schedule/delete.d.ts +1 -1
- package/dist/cmd/cloud/schedule/delete.d.ts.map +1 -1
- package/dist/cmd/cloud/schedule/delete.js +4 -4
- package/dist/cmd/cloud/schedule/delete.js.map +1 -1
- package/dist/cmd/cloud/schedule/delivery/get.d.ts +1 -1
- package/dist/cmd/cloud/schedule/delivery/get.d.ts.map +1 -1
- package/dist/cmd/cloud/schedule/delivery/get.js +4 -4
- package/dist/cmd/cloud/schedule/delivery/get.js.map +1 -1
- package/dist/cmd/cloud/schedule/delivery/index.d.ts +1 -1
- package/dist/cmd/cloud/schedule/delivery/index.d.ts.map +1 -1
- package/dist/cmd/cloud/schedule/delivery/index.js +4 -4
- package/dist/cmd/cloud/schedule/delivery/index.js.map +1 -1
- package/dist/cmd/cloud/schedule/delivery/list.d.ts +1 -1
- package/dist/cmd/cloud/schedule/delivery/list.d.ts.map +1 -1
- package/dist/cmd/cloud/schedule/delivery/list.js +4 -4
- package/dist/cmd/cloud/schedule/delivery/list.js.map +1 -1
- package/dist/cmd/cloud/schedule/destination/create.d.ts +1 -1
- package/dist/cmd/cloud/schedule/destination/create.d.ts.map +1 -1
- package/dist/cmd/cloud/schedule/destination/create.js +4 -4
- package/dist/cmd/cloud/schedule/destination/create.js.map +1 -1
- package/dist/cmd/cloud/schedule/destination/delete.d.ts +1 -1
- package/dist/cmd/cloud/schedule/destination/delete.d.ts.map +1 -1
- package/dist/cmd/cloud/schedule/destination/delete.js +4 -4
- package/dist/cmd/cloud/schedule/destination/delete.js.map +1 -1
- package/dist/cmd/cloud/schedule/destination/get.d.ts +1 -1
- package/dist/cmd/cloud/schedule/destination/get.d.ts.map +1 -1
- package/dist/cmd/cloud/schedule/destination/get.js +4 -4
- package/dist/cmd/cloud/schedule/destination/get.js.map +1 -1
- package/dist/cmd/cloud/schedule/destination/index.d.ts +1 -1
- package/dist/cmd/cloud/schedule/destination/index.d.ts.map +1 -1
- package/dist/cmd/cloud/schedule/destination/index.js +6 -6
- package/dist/cmd/cloud/schedule/destination/index.js.map +1 -1
- package/dist/cmd/cloud/schedule/destination/list.d.ts +1 -1
- package/dist/cmd/cloud/schedule/destination/list.d.ts.map +1 -1
- package/dist/cmd/cloud/schedule/destination/list.js +4 -4
- package/dist/cmd/cloud/schedule/destination/list.js.map +1 -1
- package/dist/cmd/cloud/schedule/get.d.ts +1 -1
- package/dist/cmd/cloud/schedule/get.d.ts.map +1 -1
- package/dist/cmd/cloud/schedule/get.js +4 -4
- package/dist/cmd/cloud/schedule/get.js.map +1 -1
- package/dist/cmd/cloud/schedule/index.d.ts +1 -1
- package/dist/cmd/cloud/schedule/index.d.ts.map +1 -1
- package/dist/cmd/cloud/schedule/index.js +10 -10
- package/dist/cmd/cloud/schedule/index.js.map +1 -1
- package/dist/cmd/cloud/schedule/list.d.ts +1 -1
- package/dist/cmd/cloud/schedule/list.d.ts.map +1 -1
- package/dist/cmd/cloud/schedule/list.js +4 -4
- package/dist/cmd/cloud/schedule/list.js.map +1 -1
- package/dist/cmd/cloud/schedule/stats.d.ts +1 -1
- package/dist/cmd/cloud/schedule/stats.d.ts.map +1 -1
- package/dist/cmd/cloud/schedule/stats.js +4 -4
- package/dist/cmd/cloud/schedule/stats.js.map +1 -1
- package/dist/cmd/cloud/schedule/update.d.ts +1 -1
- package/dist/cmd/cloud/schedule/update.d.ts.map +1 -1
- package/dist/cmd/cloud/schedule/update.js +4 -4
- package/dist/cmd/cloud/schedule/update.js.map +1 -1
- package/dist/cmd/cloud/schedule/util.d.ts +1 -1
- package/dist/cmd/cloud/schedule/util.d.ts.map +1 -1
- package/dist/cmd/cloud/schedule/util.js +3 -3
- package/dist/cmd/cloud/schedule/util.js.map +1 -1
- package/dist/cmd/cloud/scp/download.d.ts +1 -1
- package/dist/cmd/cloud/scp/download.d.ts.map +1 -1
- package/dist/cmd/cloud/scp/download.js +10 -13
- package/dist/cmd/cloud/scp/download.js.map +1 -1
- package/dist/cmd/cloud/scp/index.d.ts +1 -1
- package/dist/cmd/cloud/scp/index.d.ts.map +1 -1
- package/dist/cmd/cloud/scp/index.js +4 -4
- package/dist/cmd/cloud/scp/index.js.map +1 -1
- package/dist/cmd/cloud/scp/upload.d.ts +1 -1
- package/dist/cmd/cloud/scp/upload.d.ts.map +1 -1
- package/dist/cmd/cloud/scp/upload.js +10 -13
- package/dist/cmd/cloud/scp/upload.js.map +1 -1
- package/dist/cmd/cloud/services/index.d.ts +1 -1
- package/dist/cmd/cloud/services/index.d.ts.map +1 -1
- package/dist/cmd/cloud/services/index.js +2 -2
- package/dist/cmd/cloud/services/index.js.map +1 -1
- package/dist/cmd/cloud/services/stats.d.ts +1 -1
- package/dist/cmd/cloud/services/stats.d.ts.map +1 -1
- package/dist/cmd/cloud/services/stats.js +4 -4
- package/dist/cmd/cloud/services/stats.js.map +1 -1
- package/dist/cmd/cloud/session/get.d.ts +1 -1
- package/dist/cmd/cloud/session/get.d.ts.map +1 -1
- package/dist/cmd/cloud/session/get.js +5 -5
- package/dist/cmd/cloud/session/get.js.map +1 -1
- package/dist/cmd/cloud/session/index.d.ts +1 -1
- package/dist/cmd/cloud/session/index.d.ts.map +1 -1
- package/dist/cmd/cloud/session/index.js +5 -5
- package/dist/cmd/cloud/session/index.js.map +1 -1
- package/dist/cmd/cloud/session/list.d.ts +1 -1
- package/dist/cmd/cloud/session/list.d.ts.map +1 -1
- package/dist/cmd/cloud/session/list.js +5 -5
- package/dist/cmd/cloud/session/list.js.map +1 -1
- package/dist/cmd/cloud/session/logs.d.ts +1 -1
- package/dist/cmd/cloud/session/logs.d.ts.map +1 -1
- package/dist/cmd/cloud/session/logs.js +4 -4
- package/dist/cmd/cloud/session/logs.js.map +1 -1
- package/dist/cmd/cloud/ssh.d.ts +1 -1
- package/dist/cmd/cloud/ssh.d.ts.map +1 -1
- package/dist/cmd/cloud/ssh.js +8 -14
- package/dist/cmd/cloud/ssh.js.map +1 -1
- package/dist/cmd/cloud/storage/config.d.ts +1 -1
- package/dist/cmd/cloud/storage/config.d.ts.map +1 -1
- package/dist/cmd/cloud/storage/config.js +5 -5
- package/dist/cmd/cloud/storage/config.js.map +1 -1
- package/dist/cmd/cloud/storage/create.d.ts +1 -1
- package/dist/cmd/cloud/storage/create.d.ts.map +1 -1
- package/dist/cmd/cloud/storage/create.js +7 -7
- package/dist/cmd/cloud/storage/create.js.map +1 -1
- package/dist/cmd/cloud/storage/delete.d.ts +1 -1
- package/dist/cmd/cloud/storage/delete.d.ts.map +1 -1
- package/dist/cmd/cloud/storage/delete.js +9 -9
- package/dist/cmd/cloud/storage/delete.js.map +1 -1
- package/dist/cmd/cloud/storage/download.d.ts +1 -1
- package/dist/cmd/cloud/storage/download.d.ts.map +1 -1
- package/dist/cmd/cloud/storage/download.js +9 -8
- package/dist/cmd/cloud/storage/download.js.map +1 -1
- package/dist/cmd/cloud/storage/get.d.ts +1 -1
- package/dist/cmd/cloud/storage/get.d.ts.map +1 -1
- package/dist/cmd/cloud/storage/get.js +6 -6
- package/dist/cmd/cloud/storage/get.js.map +1 -1
- package/dist/cmd/cloud/storage/index.d.ts +1 -1
- package/dist/cmd/cloud/storage/index.d.ts.map +1 -1
- package/dist/cmd/cloud/storage/index.js +9 -9
- package/dist/cmd/cloud/storage/index.js.map +1 -1
- package/dist/cmd/cloud/storage/list.d.ts +1 -1
- package/dist/cmd/cloud/storage/list.d.ts.map +1 -1
- package/dist/cmd/cloud/storage/list.js +7 -7
- package/dist/cmd/cloud/storage/list.js.map +1 -1
- package/dist/cmd/cloud/storage/upload.d.ts +1 -1
- package/dist/cmd/cloud/storage/upload.d.ts.map +1 -1
- package/dist/cmd/cloud/storage/upload.js +20 -16
- package/dist/cmd/cloud/storage/upload.js.map +1 -1
- package/dist/cmd/cloud/storage/utils.d.ts +13 -13
- package/dist/cmd/cloud/storage/utils.d.ts.map +1 -1
- package/dist/cmd/cloud/storage/utils.js +13 -16
- package/dist/cmd/cloud/storage/utils.js.map +1 -1
- package/dist/cmd/cloud/stream/create.d.ts +1 -1
- package/dist/cmd/cloud/stream/create.d.ts.map +1 -1
- package/dist/cmd/cloud/stream/create.js +11 -10
- package/dist/cmd/cloud/stream/create.js.map +1 -1
- package/dist/cmd/cloud/stream/delete.d.ts +1 -1
- package/dist/cmd/cloud/stream/delete.d.ts.map +1 -1
- package/dist/cmd/cloud/stream/delete.js +4 -4
- package/dist/cmd/cloud/stream/delete.js.map +1 -1
- package/dist/cmd/cloud/stream/get.d.ts +1 -1
- package/dist/cmd/cloud/stream/get.d.ts.map +1 -1
- package/dist/cmd/cloud/stream/get.js +11 -9
- package/dist/cmd/cloud/stream/get.js.map +1 -1
- package/dist/cmd/cloud/stream/index.d.ts +1 -1
- package/dist/cmd/cloud/stream/index.d.ts.map +1 -1
- package/dist/cmd/cloud/stream/index.js +7 -7
- package/dist/cmd/cloud/stream/index.js.map +1 -1
- package/dist/cmd/cloud/stream/list.d.ts +1 -1
- package/dist/cmd/cloud/stream/list.d.ts.map +1 -1
- package/dist/cmd/cloud/stream/list.js +3 -3
- package/dist/cmd/cloud/stream/list.js.map +1 -1
- package/dist/cmd/cloud/stream/stats.d.ts +1 -1
- package/dist/cmd/cloud/stream/stats.d.ts.map +1 -1
- package/dist/cmd/cloud/stream/stats.js +4 -4
- package/dist/cmd/cloud/stream/stats.js.map +1 -1
- package/dist/cmd/cloud/stream/util.d.ts +1 -1
- package/dist/cmd/cloud/stream/util.d.ts.map +1 -1
- package/dist/cmd/cloud/stream/util.js +2 -2
- package/dist/cmd/cloud/stream/util.js.map +1 -1
- package/dist/cmd/cloud/task/attachment.d.ts +1 -1
- package/dist/cmd/cloud/task/attachment.d.ts.map +1 -1
- package/dist/cmd/cloud/task/attachment.js +19 -13
- package/dist/cmd/cloud/task/attachment.js.map +1 -1
- package/dist/cmd/cloud/task/close.d.ts +1 -1
- package/dist/cmd/cloud/task/close.d.ts.map +1 -1
- package/dist/cmd/cloud/task/close.js +9 -8
- package/dist/cmd/cloud/task/close.js.map +1 -1
- package/dist/cmd/cloud/task/create.d.ts +1 -1
- package/dist/cmd/cloud/task/create.d.ts.map +1 -1
- package/dist/cmd/cloud/task/create.js +22 -18
- package/dist/cmd/cloud/task/create.js.map +1 -1
- package/dist/cmd/cloud/task/delete.d.ts +2 -2
- package/dist/cmd/cloud/task/delete.d.ts.map +1 -1
- package/dist/cmd/cloud/task/delete.js +6 -6
- package/dist/cmd/cloud/task/delete.js.map +1 -1
- package/dist/cmd/cloud/task/get.d.ts +1 -1
- package/dist/cmd/cloud/task/get.d.ts.map +1 -1
- package/dist/cmd/cloud/task/get.js +4 -4
- package/dist/cmd/cloud/task/get.js.map +1 -1
- package/dist/cmd/cloud/task/index.d.ts +1 -1
- package/dist/cmd/cloud/task/index.d.ts.map +1 -1
- package/dist/cmd/cloud/task/index.js +12 -12
- package/dist/cmd/cloud/task/index.js.map +1 -1
- package/dist/cmd/cloud/task/list.d.ts +1 -1
- package/dist/cmd/cloud/task/list.d.ts.map +1 -1
- package/dist/cmd/cloud/task/list.js +4 -4
- package/dist/cmd/cloud/task/list.js.map +1 -1
- package/dist/cmd/cloud/task/project.d.ts +1 -1
- package/dist/cmd/cloud/task/project.d.ts.map +1 -1
- package/dist/cmd/cloud/task/project.js +4 -4
- package/dist/cmd/cloud/task/project.js.map +1 -1
- package/dist/cmd/cloud/task/stats.d.ts +1 -1
- package/dist/cmd/cloud/task/stats.d.ts.map +1 -1
- package/dist/cmd/cloud/task/stats.js +4 -4
- package/dist/cmd/cloud/task/stats.js.map +1 -1
- package/dist/cmd/cloud/task/update.d.ts +1 -1
- package/dist/cmd/cloud/task/update.d.ts.map +1 -1
- package/dist/cmd/cloud/task/update.js +4 -4
- package/dist/cmd/cloud/task/update.js.map +1 -1
- package/dist/cmd/cloud/task/user.d.ts +1 -1
- package/dist/cmd/cloud/task/user.d.ts.map +1 -1
- package/dist/cmd/cloud/task/user.js +4 -4
- package/dist/cmd/cloud/task/user.js.map +1 -1
- package/dist/cmd/cloud/task/util.d.ts +1 -1
- package/dist/cmd/cloud/task/util.d.ts.map +1 -1
- package/dist/cmd/cloud/task/util.js +4 -4
- package/dist/cmd/cloud/task/util.js.map +1 -1
- package/dist/cmd/cloud/thread/delete.d.ts +1 -1
- package/dist/cmd/cloud/thread/delete.d.ts.map +1 -1
- package/dist/cmd/cloud/thread/delete.js +5 -5
- package/dist/cmd/cloud/thread/delete.js.map +1 -1
- package/dist/cmd/cloud/thread/get.d.ts +1 -1
- package/dist/cmd/cloud/thread/get.d.ts.map +1 -1
- package/dist/cmd/cloud/thread/get.js +5 -5
- package/dist/cmd/cloud/thread/get.js.map +1 -1
- package/dist/cmd/cloud/thread/index.d.ts +1 -1
- package/dist/cmd/cloud/thread/index.d.ts.map +1 -1
- package/dist/cmd/cloud/thread/index.js +5 -5
- package/dist/cmd/cloud/thread/index.js.map +1 -1
- package/dist/cmd/cloud/thread/list.d.ts +1 -1
- package/dist/cmd/cloud/thread/list.d.ts.map +1 -1
- package/dist/cmd/cloud/thread/list.js +5 -5
- package/dist/cmd/cloud/thread/list.js.map +1 -1
- package/dist/cmd/cloud/vector/delete-namespace.d.ts +1 -1
- package/dist/cmd/cloud/vector/delete-namespace.d.ts.map +1 -1
- package/dist/cmd/cloud/vector/delete-namespace.js +5 -5
- package/dist/cmd/cloud/vector/delete-namespace.js.map +1 -1
- package/dist/cmd/cloud/vector/delete.d.ts +1 -1
- package/dist/cmd/cloud/vector/delete.d.ts.map +1 -1
- package/dist/cmd/cloud/vector/delete.js +5 -5
- package/dist/cmd/cloud/vector/delete.js.map +1 -1
- package/dist/cmd/cloud/vector/get.d.ts +1 -1
- package/dist/cmd/cloud/vector/get.d.ts.map +1 -1
- package/dist/cmd/cloud/vector/get.js +4 -4
- package/dist/cmd/cloud/vector/get.js.map +1 -1
- package/dist/cmd/cloud/vector/index.d.ts +1 -1
- package/dist/cmd/cloud/vector/index.d.ts.map +1 -1
- package/dist/cmd/cloud/vector/index.js +9 -9
- package/dist/cmd/cloud/vector/index.js.map +1 -1
- package/dist/cmd/cloud/vector/list-namespaces.d.ts +1 -1
- package/dist/cmd/cloud/vector/list-namespaces.d.ts.map +1 -1
- package/dist/cmd/cloud/vector/list-namespaces.js +4 -4
- package/dist/cmd/cloud/vector/list-namespaces.js.map +1 -1
- package/dist/cmd/cloud/vector/search.d.ts +1 -1
- package/dist/cmd/cloud/vector/search.d.ts.map +1 -1
- package/dist/cmd/cloud/vector/search.js +4 -4
- package/dist/cmd/cloud/vector/search.js.map +1 -1
- package/dist/cmd/cloud/vector/stats.d.ts +1 -1
- package/dist/cmd/cloud/vector/stats.d.ts.map +1 -1
- package/dist/cmd/cloud/vector/stats.js +4 -4
- package/dist/cmd/cloud/vector/stats.js.map +1 -1
- package/dist/cmd/cloud/vector/upsert.d.ts +1 -1
- package/dist/cmd/cloud/vector/upsert.d.ts.map +1 -1
- package/dist/cmd/cloud/vector/upsert.js +10 -19
- package/dist/cmd/cloud/vector/upsert.js.map +1 -1
- package/dist/cmd/cloud/vector/util.d.ts +1 -1
- package/dist/cmd/cloud/vector/util.d.ts.map +1 -1
- package/dist/cmd/cloud/vector/util.js +2 -2
- package/dist/cmd/cloud/vector/util.js.map +1 -1
- package/dist/cmd/cloud/webhook/create.d.ts +1 -1
- package/dist/cmd/cloud/webhook/create.d.ts.map +1 -1
- package/dist/cmd/cloud/webhook/create.js +4 -4
- package/dist/cmd/cloud/webhook/create.js.map +1 -1
- package/dist/cmd/cloud/webhook/delete.d.ts +1 -1
- package/dist/cmd/cloud/webhook/delete.d.ts.map +1 -1
- package/dist/cmd/cloud/webhook/delete.js +5 -5
- package/dist/cmd/cloud/webhook/delete.js.map +1 -1
- package/dist/cmd/cloud/webhook/deliveries.d.ts +1 -1
- package/dist/cmd/cloud/webhook/deliveries.d.ts.map +1 -1
- package/dist/cmd/cloud/webhook/deliveries.js +4 -4
- package/dist/cmd/cloud/webhook/deliveries.js.map +1 -1
- package/dist/cmd/cloud/webhook/destinations.d.ts +1 -1
- package/dist/cmd/cloud/webhook/destinations.d.ts.map +1 -1
- package/dist/cmd/cloud/webhook/destinations.js +5 -5
- package/dist/cmd/cloud/webhook/destinations.js.map +1 -1
- package/dist/cmd/cloud/webhook/get.d.ts +1 -1
- package/dist/cmd/cloud/webhook/get.d.ts.map +1 -1
- package/dist/cmd/cloud/webhook/get.js +4 -4
- package/dist/cmd/cloud/webhook/get.js.map +1 -1
- package/dist/cmd/cloud/webhook/index.d.ts +1 -1
- package/dist/cmd/cloud/webhook/index.d.ts.map +1 -1
- package/dist/cmd/cloud/webhook/index.js +9 -9
- package/dist/cmd/cloud/webhook/index.js.map +1 -1
- package/dist/cmd/cloud/webhook/list.d.ts +1 -1
- package/dist/cmd/cloud/webhook/list.d.ts.map +1 -1
- package/dist/cmd/cloud/webhook/list.js +4 -4
- package/dist/cmd/cloud/webhook/list.js.map +1 -1
- package/dist/cmd/cloud/webhook/receipts.d.ts +1 -1
- package/dist/cmd/cloud/webhook/receipts.d.ts.map +1 -1
- package/dist/cmd/cloud/webhook/receipts.js +4 -4
- package/dist/cmd/cloud/webhook/receipts.js.map +1 -1
- package/dist/cmd/cloud/webhook/util.d.ts +1 -1
- package/dist/cmd/cloud/webhook/util.d.ts.map +1 -1
- package/dist/cmd/cloud/webhook/util.js +1 -1
- package/dist/cmd/cloud/webhook/util.js.map +1 -1
- package/dist/cmd/cloud/workflow/get.d.ts +1 -1
- package/dist/cmd/cloud/workflow/get.d.ts.map +1 -1
- package/dist/cmd/cloud/workflow/get.js +4 -4
- package/dist/cmd/cloud/workflow/get.js.map +1 -1
- package/dist/cmd/cloud/workflow/index.d.ts +1 -1
- package/dist/cmd/cloud/workflow/index.d.ts.map +1 -1
- package/dist/cmd/cloud/workflow/index.js +4 -4
- package/dist/cmd/cloud/workflow/index.js.map +1 -1
- package/dist/cmd/cloud/workflow/list.d.ts +1 -1
- package/dist/cmd/cloud/workflow/list.d.ts.map +1 -1
- package/dist/cmd/cloud/workflow/list.js +4 -4
- package/dist/cmd/cloud/workflow/list.js.map +1 -1
- package/dist/cmd/cloud/workflow/util.d.ts +1 -1
- package/dist/cmd/cloud/workflow/util.d.ts.map +1 -1
- package/dist/cmd/cloud/workflow/util.js +3 -3
- package/dist/cmd/cloud/workflow/util.js.map +1 -1
- package/dist/cmd/coder/archive.d.ts +1 -1
- package/dist/cmd/coder/archive.d.ts.map +1 -1
- package/dist/cmd/coder/archive.js +4 -4
- package/dist/cmd/coder/archive.js.map +1 -1
- package/dist/cmd/coder/create.d.ts +1 -1
- package/dist/cmd/coder/create.d.ts.map +1 -1
- package/dist/cmd/coder/create.js +7 -7
- package/dist/cmd/coder/create.js.map +1 -1
- package/dist/cmd/coder/delete.d.ts +1 -1
- package/dist/cmd/coder/delete.d.ts.map +1 -1
- package/dist/cmd/coder/delete.js +4 -4
- package/dist/cmd/coder/delete.js.map +1 -1
- package/dist/cmd/coder/events.d.ts +1 -1
- package/dist/cmd/coder/events.d.ts.map +1 -1
- package/dist/cmd/coder/events.js +4 -4
- package/dist/cmd/coder/events.js.map +1 -1
- package/dist/cmd/coder/extension-path.d.ts.map +1 -1
- package/dist/cmd/coder/extension-path.js +5 -4
- package/dist/cmd/coder/extension-path.js.map +1 -1
- package/dist/cmd/coder/get.d.ts +1 -1
- package/dist/cmd/coder/get.d.ts.map +1 -1
- package/dist/cmd/coder/get.js +4 -4
- package/dist/cmd/coder/get.js.map +1 -1
- package/dist/cmd/coder/index.d.ts +1 -1
- package/dist/cmd/coder/index.d.ts.map +1 -1
- package/dist/cmd/coder/index.js +16 -16
- package/dist/cmd/coder/index.js.map +1 -1
- package/dist/cmd/coder/list.d.ts +1 -1
- package/dist/cmd/coder/list.d.ts.map +1 -1
- package/dist/cmd/coder/list.js +4 -4
- package/dist/cmd/coder/list.js.map +1 -1
- package/dist/cmd/coder/loop.d.ts +1 -1
- package/dist/cmd/coder/loop.d.ts.map +1 -1
- package/dist/cmd/coder/loop.js +4 -4
- package/dist/cmd/coder/loop.js.map +1 -1
- package/dist/cmd/coder/participants.d.ts +1 -1
- package/dist/cmd/coder/participants.d.ts.map +1 -1
- package/dist/cmd/coder/participants.js +4 -4
- package/dist/cmd/coder/participants.js.map +1 -1
- package/dist/cmd/coder/replay.d.ts +1 -1
- package/dist/cmd/coder/replay.d.ts.map +1 -1
- package/dist/cmd/coder/replay.js +4 -4
- package/dist/cmd/coder/replay.js.map +1 -1
- package/dist/cmd/coder/skill/buckets.d.ts +1 -1
- package/dist/cmd/coder/skill/buckets.d.ts.map +1 -1
- package/dist/cmd/coder/skill/buckets.js +4 -4
- package/dist/cmd/coder/skill/buckets.js.map +1 -1
- package/dist/cmd/coder/skill/delete.d.ts +1 -1
- package/dist/cmd/coder/skill/delete.d.ts.map +1 -1
- package/dist/cmd/coder/skill/delete.js +4 -4
- package/dist/cmd/coder/skill/delete.js.map +1 -1
- package/dist/cmd/coder/skill/index.d.ts +1 -1
- package/dist/cmd/coder/skill/index.d.ts.map +1 -1
- package/dist/cmd/coder/skill/index.js +6 -6
- package/dist/cmd/coder/skill/index.js.map +1 -1
- package/dist/cmd/coder/skill/list.d.ts +1 -1
- package/dist/cmd/coder/skill/list.d.ts.map +1 -1
- package/dist/cmd/coder/skill/list.js +4 -4
- package/dist/cmd/coder/skill/list.js.map +1 -1
- package/dist/cmd/coder/skill/save.d.ts +1 -1
- package/dist/cmd/coder/skill/save.d.ts.map +1 -1
- package/dist/cmd/coder/skill/save.js +4 -4
- package/dist/cmd/coder/skill/save.js.map +1 -1
- package/dist/cmd/coder/start.d.ts +1 -1
- package/dist/cmd/coder/start.d.ts.map +1 -1
- package/dist/cmd/coder/start.js +23 -20
- package/dist/cmd/coder/start.js.map +1 -1
- package/dist/cmd/coder/update.d.ts +1 -1
- package/dist/cmd/coder/update.d.ts.map +1 -1
- package/dist/cmd/coder/update.js +4 -4
- package/dist/cmd/coder/update.js.map +1 -1
- package/dist/cmd/coder/users.d.ts +1 -1
- package/dist/cmd/coder/users.d.ts.map +1 -1
- package/dist/cmd/coder/users.js +4 -4
- package/dist/cmd/coder/users.js.map +1 -1
- package/dist/cmd/coder/workspace/create.d.ts +1 -1
- package/dist/cmd/coder/workspace/create.d.ts.map +1 -1
- package/dist/cmd/coder/workspace/create.js +5 -5
- package/dist/cmd/coder/workspace/create.js.map +1 -1
- package/dist/cmd/coder/workspace/delete.d.ts +1 -1
- package/dist/cmd/coder/workspace/delete.d.ts.map +1 -1
- package/dist/cmd/coder/workspace/delete.js +4 -4
- package/dist/cmd/coder/workspace/delete.js.map +1 -1
- package/dist/cmd/coder/workspace/get.d.ts +1 -1
- package/dist/cmd/coder/workspace/get.d.ts.map +1 -1
- package/dist/cmd/coder/workspace/get.js +4 -4
- package/dist/cmd/coder/workspace/get.js.map +1 -1
- package/dist/cmd/coder/workspace/index.d.ts +1 -1
- package/dist/cmd/coder/workspace/index.d.ts.map +1 -1
- package/dist/cmd/coder/workspace/index.js +6 -6
- package/dist/cmd/coder/workspace/index.js.map +1 -1
- package/dist/cmd/coder/workspace/list.d.ts +1 -1
- package/dist/cmd/coder/workspace/list.d.ts.map +1 -1
- package/dist/cmd/coder/workspace/list.js +4 -4
- package/dist/cmd/coder/workspace/list.js.map +1 -1
- package/dist/cmd/dev/index.d.ts +1 -1
- package/dist/cmd/dev/index.d.ts.map +1 -1
- package/dist/cmd/dev/index.js +18 -14
- package/dist/cmd/dev/index.js.map +1 -1
- package/dist/cmd/git/account/add.d.ts +3 -3
- package/dist/cmd/git/account/add.d.ts.map +1 -1
- package/dist/cmd/git/account/add.js +8 -17
- package/dist/cmd/git/account/add.js.map +1 -1
- package/dist/cmd/git/account/index.d.ts +1 -1
- package/dist/cmd/git/account/index.d.ts.map +1 -1
- package/dist/cmd/git/account/index.js +4 -4
- package/dist/cmd/git/account/index.js.map +1 -1
- package/dist/cmd/git/account/list.d.ts +1 -1
- package/dist/cmd/git/account/list.d.ts.map +1 -1
- package/dist/cmd/git/account/list.js +5 -5
- package/dist/cmd/git/account/list.js.map +1 -1
- package/dist/cmd/git/account/remove.d.ts +1 -1
- package/dist/cmd/git/account/remove.d.ts.map +1 -1
- package/dist/cmd/git/account/remove.js +5 -5
- package/dist/cmd/git/account/remove.js.map +1 -1
- package/dist/cmd/git/api.d.ts +1 -1
- package/dist/cmd/git/api.d.ts.map +1 -1
- package/dist/cmd/git/api.js +2 -1
- package/dist/cmd/git/api.js.map +1 -1
- package/dist/cmd/git/identity/connect.d.ts +3 -3
- package/dist/cmd/git/identity/connect.d.ts.map +1 -1
- package/dist/cmd/git/identity/connect.js +8 -17
- package/dist/cmd/git/identity/connect.js.map +1 -1
- package/dist/cmd/git/identity/disconnect.d.ts +1 -1
- package/dist/cmd/git/identity/disconnect.d.ts.map +1 -1
- package/dist/cmd/git/identity/disconnect.js +5 -5
- package/dist/cmd/git/identity/disconnect.js.map +1 -1
- package/dist/cmd/git/identity/index.d.ts +1 -1
- package/dist/cmd/git/identity/index.d.ts.map +1 -1
- package/dist/cmd/git/identity/index.js +4 -4
- package/dist/cmd/git/identity/index.js.map +1 -1
- package/dist/cmd/git/identity/status.d.ts +1 -1
- package/dist/cmd/git/identity/status.d.ts.map +1 -1
- package/dist/cmd/git/identity/status.js +5 -5
- package/dist/cmd/git/identity/status.js.map +1 -1
- package/dist/cmd/git/index.d.ts +1 -1
- package/dist/cmd/git/index.d.ts.map +1 -1
- package/dist/cmd/git/index.js +7 -7
- package/dist/cmd/git/index.js.map +1 -1
- package/dist/cmd/git/link.d.ts +4 -4
- package/dist/cmd/git/link.d.ts.map +1 -1
- package/dist/cmd/git/link.js +26 -36
- package/dist/cmd/git/link.js.map +1 -1
- package/dist/cmd/git/list.d.ts +1 -1
- package/dist/cmd/git/list.d.ts.map +1 -1
- package/dist/cmd/git/list.js +5 -5
- package/dist/cmd/git/list.js.map +1 -1
- package/dist/cmd/git/status.d.ts +1 -1
- package/dist/cmd/git/status.d.ts.map +1 -1
- package/dist/cmd/git/status.js +5 -5
- package/dist/cmd/git/status.js.map +1 -1
- package/dist/cmd/git/unlink.d.ts +1 -1
- package/dist/cmd/git/unlink.d.ts.map +1 -1
- package/dist/cmd/git/unlink.js +5 -5
- package/dist/cmd/git/unlink.js.map +1 -1
- package/dist/cmd/help/index.d.ts +1 -1
- package/dist/cmd/help/index.d.ts.map +1 -1
- package/dist/cmd/help/index.js +3 -3
- package/dist/cmd/help/index.js.map +1 -1
- package/dist/cmd/index.d.ts +1 -1
- package/dist/cmd/index.d.ts.map +1 -1
- package/dist/cmd/index.js +16 -16
- package/dist/cmd/index.js.map +1 -1
- package/dist/cmd/profile/create.d.ts +1 -1
- package/dist/cmd/profile/create.d.ts.map +1 -1
- package/dist/cmd/profile/create.js +5 -5
- package/dist/cmd/profile/create.js.map +1 -1
- package/dist/cmd/profile/current.d.ts +1 -1
- package/dist/cmd/profile/current.d.ts.map +1 -1
- package/dist/cmd/profile/current.js +2 -2
- package/dist/cmd/profile/current.js.map +1 -1
- package/dist/cmd/profile/delete.d.ts +1 -1
- package/dist/cmd/profile/delete.d.ts.map +1 -1
- package/dist/cmd/profile/delete.js +5 -5
- package/dist/cmd/profile/delete.js.map +1 -1
- package/dist/cmd/profile/index.d.ts +1 -1
- package/dist/cmd/profile/index.d.ts.map +1 -1
- package/dist/cmd/profile/index.js +8 -8
- package/dist/cmd/profile/index.js.map +1 -1
- package/dist/cmd/profile/list.d.ts +1 -1
- package/dist/cmd/profile/list.d.ts.map +1 -1
- package/dist/cmd/profile/list.js +4 -4
- package/dist/cmd/profile/list.js.map +1 -1
- package/dist/cmd/profile/show.d.ts +1 -1
- package/dist/cmd/profile/show.d.ts.map +1 -1
- package/dist/cmd/profile/show.js +5 -5
- package/dist/cmd/profile/show.js.map +1 -1
- package/dist/cmd/profile/use.d.ts +1 -1
- package/dist/cmd/profile/use.d.ts.map +1 -1
- package/dist/cmd/profile/use.js +4 -4
- package/dist/cmd/profile/use.js.map +1 -1
- package/dist/cmd/project/add/database.d.ts +1 -1
- package/dist/cmd/project/add/database.d.ts.map +1 -1
- package/dist/cmd/project/add/database.js +8 -8
- package/dist/cmd/project/add/database.js.map +1 -1
- package/dist/cmd/project/add/domain.d.ts +1 -1
- package/dist/cmd/project/add/domain.d.ts.map +1 -1
- package/dist/cmd/project/add/domain.js +8 -8
- package/dist/cmd/project/add/domain.js.map +1 -1
- package/dist/cmd/project/add/index.d.ts +1 -1
- package/dist/cmd/project/add/index.d.ts.map +1 -1
- package/dist/cmd/project/add/index.js +5 -5
- package/dist/cmd/project/add/index.js.map +1 -1
- package/dist/cmd/project/add/storage.d.ts +1 -1
- package/dist/cmd/project/add/storage.d.ts.map +1 -1
- package/dist/cmd/project/add/storage.js +8 -8
- package/dist/cmd/project/add/storage.js.map +1 -1
- package/dist/cmd/project/create.d.ts +1 -1
- package/dist/cmd/project/create.d.ts.map +1 -1
- package/dist/cmd/project/create.js +153 -4
- package/dist/cmd/project/create.js.map +1 -1
- package/dist/cmd/project/delete.d.ts +1 -1
- package/dist/cmd/project/delete.d.ts.map +1 -1
- package/dist/cmd/project/delete.js +3 -3
- package/dist/cmd/project/delete.js.map +1 -1
- package/dist/cmd/project/detect-existing.d.ts +46 -0
- package/dist/cmd/project/detect-existing.d.ts.map +1 -0
- package/dist/cmd/project/detect-existing.js +113 -0
- package/dist/cmd/project/detect-existing.js.map +1 -0
- package/dist/cmd/project/domain/check.d.ts +1 -1
- package/dist/cmd/project/domain/check.d.ts.map +1 -1
- package/dist/cmd/project/domain/check.js +6 -6
- package/dist/cmd/project/domain/check.js.map +1 -1
- package/dist/cmd/project/domain/index.d.ts +1 -1
- package/dist/cmd/project/domain/index.d.ts.map +1 -1
- package/dist/cmd/project/domain/index.js +3 -3
- package/dist/cmd/project/domain/index.js.map +1 -1
- package/dist/cmd/project/frameworks.d.ts.map +1 -1
- package/dist/cmd/project/frameworks.js +18 -15
- package/dist/cmd/project/frameworks.js.map +1 -1
- package/dist/cmd/project/hostname/get.d.ts +1 -1
- package/dist/cmd/project/hostname/get.d.ts.map +1 -1
- package/dist/cmd/project/hostname/get.js +4 -4
- package/dist/cmd/project/hostname/get.js.map +1 -1
- package/dist/cmd/project/hostname/index.d.ts +1 -1
- package/dist/cmd/project/hostname/index.d.ts.map +1 -1
- package/dist/cmd/project/hostname/index.js +4 -4
- package/dist/cmd/project/hostname/index.js.map +1 -1
- package/dist/cmd/project/hostname/set.d.ts +1 -1
- package/dist/cmd/project/hostname/set.d.ts.map +1 -1
- package/dist/cmd/project/hostname/set.js +5 -5
- package/dist/cmd/project/hostname/set.js.map +1 -1
- package/dist/cmd/project/import.d.ts +1 -1
- package/dist/cmd/project/import.d.ts.map +1 -1
- package/dist/cmd/project/import.js +7 -7
- package/dist/cmd/project/import.js.map +1 -1
- package/dist/cmd/project/index.d.ts +1 -1
- package/dist/cmd/project/index.d.ts.map +1 -1
- package/dist/cmd/project/index.js +10 -10
- package/dist/cmd/project/index.js.map +1 -1
- package/dist/cmd/project/list.d.ts +1 -1
- package/dist/cmd/project/list.d.ts.map +1 -1
- package/dist/cmd/project/list.js +3 -3
- package/dist/cmd/project/list.js.map +1 -1
- package/dist/cmd/project/provisioning-decisions.d.ts +43 -0
- package/dist/cmd/project/provisioning-decisions.d.ts.map +1 -0
- package/dist/cmd/project/provisioning-decisions.js +51 -0
- package/dist/cmd/project/provisioning-decisions.js.map +1 -0
- package/dist/cmd/project/random-name.d.ts +17 -0
- package/dist/cmd/project/random-name.d.ts.map +1 -0
- package/dist/cmd/project/random-name.js +144 -0
- package/dist/cmd/project/random-name.js.map +1 -0
- package/dist/cmd/project/reconcile.d.ts +5 -5
- package/dist/cmd/project/reconcile.d.ts.map +1 -1
- package/dist/cmd/project/reconcile.js +17 -16
- package/dist/cmd/project/reconcile.js.map +1 -1
- package/dist/cmd/project/remote-import.d.ts +2 -2
- package/dist/cmd/project/remote-import.d.ts.map +1 -1
- package/dist/cmd/project/remote-import.js +50 -79
- package/dist/cmd/project/remote-import.js.map +1 -1
- package/dist/cmd/project/scaffold.d.ts +1 -1
- package/dist/cmd/project/scaffold.d.ts.map +1 -1
- package/dist/cmd/project/scaffold.js +9 -8
- package/dist/cmd/project/scaffold.js.map +1 -1
- package/dist/cmd/project/services-catalog.d.ts +72 -0
- package/dist/cmd/project/services-catalog.d.ts.map +1 -0
- package/dist/cmd/project/services-catalog.js +141 -0
- package/dist/cmd/project/services-catalog.js.map +1 -0
- package/dist/cmd/project/services-composer.d.ts +49 -0
- package/dist/cmd/project/services-composer.d.ts.map +1 -0
- package/dist/cmd/project/services-composer.js +366 -0
- package/dist/cmd/project/services-composer.js.map +1 -0
- package/dist/cmd/project/show.d.ts +1 -1
- package/dist/cmd/project/show.d.ts.map +1 -1
- package/dist/cmd/project/show.js +3 -3
- package/dist/cmd/project/show.js.map +1 -1
- package/dist/cmd/project/template-flow.d.ts +9 -2
- package/dist/cmd/project/template-flow.d.ts.map +1 -1
- package/dist/cmd/project/template-flow.js +250 -169
- package/dist/cmd/project/template-flow.js.map +1 -1
- package/dist/cmd/project/templates/astro/manifest.json +27 -0
- package/dist/cmd/project/templates/astro/src/lib/translate.ts +40 -0
- package/dist/cmd/project/templates/astro/src/pages/api/translate.ts +10 -0
- package/dist/cmd/project/templates/astro/src/pages/index.astro +173 -0
- package/dist/cmd/project/templates/hono/manifest.json +35 -0
- package/dist/cmd/project/templates/hono/src/index.ts +29 -0
- package/dist/cmd/project/templates/hono/src/landing.html +91 -0
- package/dist/cmd/project/templates/hono/src/translate.ts +40 -0
- package/dist/cmd/project/templates/nextjs/manifest.json +27 -0
- package/dist/cmd/project/templates/nextjs/src/app/api/translate/route.ts +8 -0
- package/dist/cmd/project/templates/nextjs/src/app/page.tsx +246 -0
- package/dist/cmd/project/templates/nextjs/src/lib/translate.ts +40 -0
- package/dist/cmd/project/templates/nuxt/app.vue +203 -0
- package/dist/cmd/project/templates/nuxt/manifest.json +27 -0
- package/dist/cmd/project/templates/nuxt/server/api/translate.post.ts +4 -0
- package/dist/cmd/project/templates/nuxt/server/utils/translate.ts +40 -0
- package/dist/cmd/project/templates/remix/app/lib/translate.ts +40 -0
- package/dist/cmd/project/templates/remix/app/routes/api.translate.ts +17 -0
- package/dist/cmd/project/templates/remix/app/routes/home.tsx +249 -0
- package/dist/cmd/project/templates/remix/manifest.json +27 -0
- package/dist/cmd/project/templates/services/db/files/astro/drizzle.config.ts +10 -0
- package/dist/cmd/project/templates/services/db/files/astro/src/db/index.ts +10 -0
- package/dist/cmd/project/templates/services/db/files/astro/src/db/schema.ts +20 -0
- package/dist/cmd/project/templates/services/db/files/astro/src/pages/api/history.ts +14 -0
- package/dist/cmd/project/templates/services/db/files/hono/drizzle.config.ts +10 -0
- package/dist/cmd/project/templates/services/db/files/hono/src/db/index.ts +10 -0
- package/dist/cmd/project/templates/services/db/files/hono/src/db/schema.ts +20 -0
- package/dist/cmd/project/templates/services/db/files/nextjs/drizzle.config.ts +10 -0
- package/dist/cmd/project/templates/services/db/files/nextjs/src/app/api/history/route.ts +12 -0
- package/dist/cmd/project/templates/services/db/files/nextjs/src/db/index.ts +10 -0
- package/dist/cmd/project/templates/services/db/files/nextjs/src/db/schema.ts +20 -0
- package/dist/cmd/project/templates/services/db/files/nuxt/drizzle.config.ts +10 -0
- package/dist/cmd/project/templates/services/db/files/nuxt/server/api/history.get.ts +10 -0
- package/dist/cmd/project/templates/services/db/files/nuxt/server/db/index.ts +10 -0
- package/dist/cmd/project/templates/services/db/files/nuxt/server/db/schema.ts +20 -0
- package/dist/cmd/project/templates/services/db/files/remix/app/db/index.ts +10 -0
- package/dist/cmd/project/templates/services/db/files/remix/app/db/schema.ts +20 -0
- package/dist/cmd/project/templates/services/db/files/remix/app/routes/api.history.ts +12 -0
- package/dist/cmd/project/templates/services/db/files/remix/drizzle.config.ts +10 -0
- package/dist/cmd/project/templates/services/db/files/sveltekit/drizzle.config.ts +10 -0
- package/dist/cmd/project/templates/services/db/files/sveltekit/src/lib/server/db/index.ts +10 -0
- package/dist/cmd/project/templates/services/db/files/sveltekit/src/lib/server/db/schema.ts +20 -0
- package/dist/cmd/project/templates/services/db/files/sveltekit/src/routes/api/history/+server.ts +12 -0
- package/dist/cmd/project/templates/services/db/files/vite-react/drizzle.config.ts +10 -0
- package/dist/cmd/project/templates/services/db/files/vite-react/server/db/index.ts +10 -0
- package/dist/cmd/project/templates/services/db/files/vite-react/server/db/schema.ts +20 -0
- package/dist/cmd/project/templates/services/db/manifest.json +23 -0
- package/dist/cmd/project/templates/services/db/snippets/astro/page.after-form.astro +1 -0
- package/dist/cmd/project/templates/services/db/snippets/astro/page.on-mount.astro +1 -0
- package/dist/cmd/project/templates/services/db/snippets/astro/page.on-result.astro +7 -0
- package/dist/cmd/project/templates/services/db/snippets/astro/page.state.astro +44 -0
- package/dist/cmd/project/templates/services/db/snippets/astro/translate.imports.ts +2 -0
- package/dist/cmd/project/templates/services/db/snippets/astro/translate.translate-post.ts +9 -0
- package/dist/cmd/project/templates/services/db/snippets/astro/translate.translate-pre.ts +21 -0
- package/dist/cmd/project/templates/services/db/snippets/hono/page.after-form.html +1 -0
- package/dist/cmd/project/templates/services/db/snippets/hono/page.on-mount.html +1 -0
- package/dist/cmd/project/templates/services/db/snippets/hono/page.on-result.html +7 -0
- package/dist/cmd/project/templates/services/db/snippets/hono/page.state.html +37 -0
- package/dist/cmd/project/templates/services/db/snippets/hono/server.imports.ts +2 -0
- package/dist/cmd/project/templates/services/db/snippets/hono/server.routes.ts +9 -0
- package/dist/cmd/project/templates/services/db/snippets/hono/translate.imports.ts +2 -0
- package/dist/cmd/project/templates/services/db/snippets/hono/translate.translate-post.ts +9 -0
- package/dist/cmd/project/templates/services/db/snippets/hono/translate.translate-pre.ts +21 -0
- package/dist/cmd/project/templates/services/db/snippets/nextjs/page.after-form.tsx +22 -0
- package/dist/cmd/project/templates/services/db/snippets/nextjs/page.after-result.tsx +3 -0
- package/dist/cmd/project/templates/services/db/snippets/nextjs/page.imports.tsx +2 -0
- package/dist/cmd/project/templates/services/db/snippets/nextjs/page.on-mount.tsx +6 -0
- package/dist/cmd/project/templates/services/db/snippets/nextjs/page.on-result.tsx +8 -0
- package/dist/cmd/project/templates/services/db/snippets/nextjs/page.state.tsx +1 -0
- package/dist/cmd/project/templates/services/db/snippets/nextjs/translate.imports.ts +2 -0
- package/dist/cmd/project/templates/services/db/snippets/nextjs/translate.translate-post.ts +9 -0
- package/dist/cmd/project/templates/services/db/snippets/nextjs/translate.translate-pre.ts +21 -0
- package/dist/cmd/project/templates/services/db/snippets/nuxt/page.after-form.vue +17 -0
- package/dist/cmd/project/templates/services/db/snippets/nuxt/page.after-result.vue +3 -0
- package/dist/cmd/project/templates/services/db/snippets/nuxt/page.imports.vue +1 -0
- package/dist/cmd/project/templates/services/db/snippets/nuxt/page.on-result.vue +5 -0
- package/dist/cmd/project/templates/services/db/snippets/nuxt/page.state.vue +3 -0
- package/dist/cmd/project/templates/services/db/snippets/nuxt/translate.imports.ts +2 -0
- package/dist/cmd/project/templates/services/db/snippets/nuxt/translate.translate-post.ts +9 -0
- package/dist/cmd/project/templates/services/db/snippets/nuxt/translate.translate-pre.ts +21 -0
- package/dist/cmd/project/templates/services/db/snippets/remix/page.after-form.tsx +22 -0
- package/dist/cmd/project/templates/services/db/snippets/remix/page.after-result.tsx +3 -0
- package/dist/cmd/project/templates/services/db/snippets/remix/page.imports.tsx +2 -0
- package/dist/cmd/project/templates/services/db/snippets/remix/page.on-mount.tsx +6 -0
- package/dist/cmd/project/templates/services/db/snippets/remix/page.on-result.tsx +8 -0
- package/dist/cmd/project/templates/services/db/snippets/remix/page.state.tsx +1 -0
- package/dist/cmd/project/templates/services/db/snippets/remix/translate.imports.ts +2 -0
- package/dist/cmd/project/templates/services/db/snippets/remix/translate.translate-post.ts +9 -0
- package/dist/cmd/project/templates/services/db/snippets/remix/translate.translate-pre.ts +21 -0
- package/dist/cmd/project/templates/services/db/snippets/sveltekit/page.after-form.svelte +17 -0
- package/dist/cmd/project/templates/services/db/snippets/sveltekit/page.after-result.svelte +3 -0
- package/dist/cmd/project/templates/services/db/snippets/sveltekit/page.imports.svelte +11 -0
- package/dist/cmd/project/templates/services/db/snippets/sveltekit/page.on-mount.svelte +1 -0
- package/dist/cmd/project/templates/services/db/snippets/sveltekit/page.on-result.svelte +3 -0
- package/dist/cmd/project/templates/services/db/snippets/sveltekit/page.state.svelte +8 -0
- package/dist/cmd/project/templates/services/db/snippets/sveltekit/translate.imports.ts +2 -0
- package/dist/cmd/project/templates/services/db/snippets/sveltekit/translate.translate-post.ts +9 -0
- package/dist/cmd/project/templates/services/db/snippets/sveltekit/translate.translate-pre.ts +21 -0
- package/dist/cmd/project/templates/services/db/snippets/vite-react/page.after-form.tsx +22 -0
- package/dist/cmd/project/templates/services/db/snippets/vite-react/page.after-result.tsx +3 -0
- package/dist/cmd/project/templates/services/db/snippets/vite-react/page.imports.tsx +3 -0
- package/dist/cmd/project/templates/services/db/snippets/vite-react/page.on-result.tsx +5 -0
- package/dist/cmd/project/templates/services/db/snippets/vite-react/page.state.tsx +9 -0
- package/dist/cmd/project/templates/services/db/snippets/vite-react/server.imports.ts +2 -0
- package/dist/cmd/project/templates/services/db/snippets/vite-react/server.routes.ts +8 -0
- package/dist/cmd/project/templates/services/db/snippets/vite-react/translate.imports.ts +2 -0
- package/dist/cmd/project/templates/services/db/snippets/vite-react/translate.translate-post.ts +9 -0
- package/dist/cmd/project/templates/services/db/snippets/vite-react/translate.translate-pre.ts +21 -0
- package/dist/cmd/project/templates/services/keyvalue/files/astro/src/pages/api/preferences.ts +21 -0
- package/dist/cmd/project/templates/services/keyvalue/files/nextjs/src/app/api/preferences/route.ts +22 -0
- package/dist/cmd/project/templates/services/keyvalue/files/nuxt/server/api/preferences.get.ts +11 -0
- package/dist/cmd/project/templates/services/keyvalue/files/nuxt/server/api/preferences.post.ts +9 -0
- package/dist/cmd/project/templates/services/keyvalue/files/remix/app/routes/api.preferences.ts +23 -0
- package/dist/cmd/project/templates/services/keyvalue/files/sveltekit/src/routes/api/preferences/+server.ts +17 -0
- package/dist/cmd/project/templates/services/keyvalue/manifest.json +9 -0
- package/dist/cmd/project/templates/services/keyvalue/snippets/astro/page.on-mount.astro +8 -0
- package/dist/cmd/project/templates/services/keyvalue/snippets/astro/page.on-result.astro +5 -0
- package/dist/cmd/project/templates/services/keyvalue/snippets/hono/page.on-mount.html +10 -0
- package/dist/cmd/project/templates/services/keyvalue/snippets/hono/page.on-result.html +5 -0
- package/dist/cmd/project/templates/services/keyvalue/snippets/hono/server.imports.ts +1 -0
- package/dist/cmd/project/templates/services/keyvalue/snippets/hono/server.module.ts +3 -0
- package/dist/cmd/project/templates/services/keyvalue/snippets/hono/server.routes.ts +14 -0
- package/dist/cmd/project/templates/services/keyvalue/snippets/nextjs/page.imports.tsx +1 -0
- package/dist/cmd/project/templates/services/keyvalue/snippets/nextjs/page.on-mount.tsx +9 -0
- package/dist/cmd/project/templates/services/keyvalue/snippets/nextjs/page.on-result.tsx +9 -0
- package/dist/cmd/project/templates/services/keyvalue/snippets/nuxt/page.on-mount.vue +11 -0
- package/dist/cmd/project/templates/services/keyvalue/snippets/nuxt/page.on-result.vue +8 -0
- package/dist/cmd/project/templates/services/keyvalue/snippets/remix/page.imports.tsx +1 -0
- package/dist/cmd/project/templates/services/keyvalue/snippets/remix/page.on-mount.tsx +9 -0
- package/dist/cmd/project/templates/services/keyvalue/snippets/remix/page.on-result.tsx +9 -0
- package/dist/cmd/project/templates/services/keyvalue/snippets/sveltekit/page.imports.svelte +1 -0
- package/dist/cmd/project/templates/services/keyvalue/snippets/sveltekit/page.on-mount.svelte +9 -0
- package/dist/cmd/project/templates/services/keyvalue/snippets/sveltekit/page.on-result.svelte +9 -0
- package/dist/cmd/project/templates/services/keyvalue/snippets/vite-react/page.imports.tsx +1 -0
- package/dist/cmd/project/templates/services/keyvalue/snippets/vite-react/page.on-mount.tsx +9 -0
- package/dist/cmd/project/templates/services/keyvalue/snippets/vite-react/page.on-result.tsx +9 -0
- package/dist/cmd/project/templates/services/keyvalue/snippets/vite-react/server.imports.ts +1 -0
- package/dist/cmd/project/templates/services/keyvalue/snippets/vite-react/server.module.ts +3 -0
- package/dist/cmd/project/templates/services/keyvalue/snippets/vite-react/server.routes.ts +13 -0
- package/dist/cmd/project/templates/services/queue/files/astro/src/pages/api/jobs.ts +13 -0
- package/dist/cmd/project/templates/services/queue/files/nextjs/src/app/api/jobs/route.ts +11 -0
- package/dist/cmd/project/templates/services/queue/files/nuxt/server/api/jobs.post.ts +9 -0
- package/dist/cmd/project/templates/services/queue/files/remix/app/routes/api.jobs.ts +12 -0
- package/dist/cmd/project/templates/services/queue/files/sveltekit/src/routes/api/jobs/+server.ts +11 -0
- package/dist/cmd/project/templates/services/queue/manifest.json +9 -0
- package/dist/cmd/project/templates/services/queue/snippets/astro/page.after-form.astro +1 -0
- package/dist/cmd/project/templates/services/queue/snippets/astro/page.inside-form-buttons.astro +7 -0
- package/dist/cmd/project/templates/services/queue/snippets/astro/page.state.astro +50 -0
- package/dist/cmd/project/templates/services/queue/snippets/hono/page.after-form.html +1 -0
- package/dist/cmd/project/templates/services/queue/snippets/hono/page.inside-form-buttons.html +7 -0
- package/dist/cmd/project/templates/services/queue/snippets/hono/page.state.html +42 -0
- package/dist/cmd/project/templates/services/queue/snippets/hono/server.imports.ts +1 -0
- package/dist/cmd/project/templates/services/queue/snippets/hono/server.module.ts +2 -0
- package/dist/cmd/project/templates/services/queue/snippets/hono/server.routes.ts +6 -0
- package/dist/cmd/project/templates/services/queue/snippets/nextjs/page.after-form.tsx +21 -0
- package/dist/cmd/project/templates/services/queue/snippets/nextjs/page.inside-form-buttons.tsx +8 -0
- package/dist/cmd/project/templates/services/queue/snippets/nextjs/page.state.tsx +19 -0
- package/dist/cmd/project/templates/services/queue/snippets/nuxt/page.after-form.vue +18 -0
- package/dist/cmd/project/templates/services/queue/snippets/nuxt/page.inside-form-buttons.vue +8 -0
- package/dist/cmd/project/templates/services/queue/snippets/nuxt/page.state.vue +25 -0
- package/dist/cmd/project/templates/services/queue/snippets/remix/page.after-form.tsx +21 -0
- package/dist/cmd/project/templates/services/queue/snippets/remix/page.inside-form-buttons.tsx +8 -0
- package/dist/cmd/project/templates/services/queue/snippets/remix/page.state.tsx +19 -0
- package/dist/cmd/project/templates/services/queue/snippets/sveltekit/page.after-form.svelte +18 -0
- package/dist/cmd/project/templates/services/queue/snippets/sveltekit/page.inside-form-buttons.svelte +8 -0
- package/dist/cmd/project/templates/services/queue/snippets/sveltekit/page.state.svelte +19 -0
- package/dist/cmd/project/templates/services/queue/snippets/vite-react/page.after-form.tsx +21 -0
- package/dist/cmd/project/templates/services/queue/snippets/vite-react/page.inside-form-buttons.tsx +8 -0
- package/dist/cmd/project/templates/services/queue/snippets/vite-react/page.state.tsx +19 -0
- package/dist/cmd/project/templates/services/queue/snippets/vite-react/server.imports.ts +1 -0
- package/dist/cmd/project/templates/services/queue/snippets/vite-react/server.module.ts +2 -0
- package/dist/cmd/project/templates/services/queue/snippets/vite-react/server.routes.ts +5 -0
- package/dist/cmd/project/templates/services/storage/files/astro/src/pages/api/export.ts +18 -0
- package/dist/cmd/project/templates/services/storage/files/astro/src/storage/index.ts +15 -0
- package/dist/cmd/project/templates/services/storage/files/hono/src/storage/index.ts +15 -0
- package/dist/cmd/project/templates/services/storage/files/nextjs/src/app/api/export/route.ts +16 -0
- package/dist/cmd/project/templates/services/storage/files/nextjs/src/storage/index.ts +15 -0
- package/dist/cmd/project/templates/services/storage/files/nuxt/server/api/export.post.ts +15 -0
- package/dist/cmd/project/templates/services/storage/files/nuxt/server/storage/index.ts +15 -0
- package/dist/cmd/project/templates/services/storage/files/remix/app/routes/api.export.ts +16 -0
- package/dist/cmd/project/templates/services/storage/files/remix/app/storage/index.ts +15 -0
- package/dist/cmd/project/templates/services/storage/files/sveltekit/src/lib/server/storage/index.ts +15 -0
- package/dist/cmd/project/templates/services/storage/files/sveltekit/src/routes/api/export/+server.ts +16 -0
- package/dist/cmd/project/templates/services/storage/files/vite-react/server/storage/index.ts +15 -0
- package/dist/cmd/project/templates/services/storage/manifest.json +19 -0
- package/dist/cmd/project/templates/services/storage/snippets/astro/page.after-form.astro +13 -0
- package/dist/cmd/project/templates/services/storage/snippets/astro/page.state.astro +17 -0
- package/dist/cmd/project/templates/services/storage/snippets/hono/page.after-form.html +13 -0
- package/dist/cmd/project/templates/services/storage/snippets/hono/page.state.html +17 -0
- package/dist/cmd/project/templates/services/storage/snippets/hono/server.imports.ts +1 -0
- package/dist/cmd/project/templates/services/storage/snippets/hono/server.routes.ts +12 -0
- package/dist/cmd/project/templates/services/storage/snippets/nextjs/page.after-form.tsx +18 -0
- package/dist/cmd/project/templates/services/storage/snippets/nextjs/page.state.tsx +12 -0
- package/dist/cmd/project/templates/services/storage/snippets/nuxt/page.after-form.vue +16 -0
- package/dist/cmd/project/templates/services/storage/snippets/nuxt/page.state.vue +13 -0
- package/dist/cmd/project/templates/services/storage/snippets/remix/page.after-form.tsx +18 -0
- package/dist/cmd/project/templates/services/storage/snippets/remix/page.state.tsx +12 -0
- package/dist/cmd/project/templates/services/storage/snippets/sveltekit/page.after-form.svelte +18 -0
- package/dist/cmd/project/templates/services/storage/snippets/sveltekit/page.state.svelte +12 -0
- package/dist/cmd/project/templates/services/storage/snippets/vite-react/page.after-form.tsx +18 -0
- package/dist/cmd/project/templates/services/storage/snippets/vite-react/page.state.tsx +12 -0
- package/dist/cmd/project/templates/services/storage/snippets/vite-react/server.imports.ts +1 -0
- package/dist/cmd/project/templates/services/storage/snippets/vite-react/server.routes.ts +11 -0
- package/dist/cmd/project/templates/services/vector/files/astro/src/pages/api/similar.ts +18 -0
- package/dist/cmd/project/templates/services/vector/files/nextjs/src/app/api/similar/route.ts +13 -0
- package/dist/cmd/project/templates/services/vector/files/nuxt/server/api/similar.get.ts +10 -0
- package/dist/cmd/project/templates/services/vector/files/remix/app/routes/api.similar.ts +14 -0
- package/dist/cmd/project/templates/services/vector/files/sveltekit/src/routes/api/similar/+server.ts +12 -0
- package/dist/cmd/project/templates/services/vector/manifest.json +9 -0
- package/dist/cmd/project/templates/services/vector/snippets/astro/page.after-result.astro +1 -0
- package/dist/cmd/project/templates/services/vector/snippets/astro/page.on-result.astro +6 -0
- package/dist/cmd/project/templates/services/vector/snippets/astro/page.state.astro +29 -0
- package/dist/cmd/project/templates/services/vector/snippets/astro/translate.imports.ts +1 -0
- package/dist/cmd/project/templates/services/vector/snippets/astro/translate.module.ts +2 -0
- package/dist/cmd/project/templates/services/vector/snippets/astro/translate.translate-post.ts +6 -0
- package/dist/cmd/project/templates/services/vector/snippets/hono/page.after-result.html +1 -0
- package/dist/cmd/project/templates/services/vector/snippets/hono/page.on-result.html +6 -0
- package/dist/cmd/project/templates/services/vector/snippets/hono/page.state.html +25 -0
- package/dist/cmd/project/templates/services/vector/snippets/hono/server.imports.ts +1 -0
- package/dist/cmd/project/templates/services/vector/snippets/hono/server.module.ts +2 -0
- package/dist/cmd/project/templates/services/vector/snippets/hono/server.routes.ts +7 -0
- package/dist/cmd/project/templates/services/vector/snippets/hono/translate.imports.ts +1 -0
- package/dist/cmd/project/templates/services/vector/snippets/hono/translate.module.ts +2 -0
- package/dist/cmd/project/templates/services/vector/snippets/hono/translate.translate-post.ts +6 -0
- package/dist/cmd/project/templates/services/vector/snippets/nextjs/page.after-result.tsx +13 -0
- package/dist/cmd/project/templates/services/vector/snippets/nextjs/page.imports.tsx +1 -0
- package/dist/cmd/project/templates/services/vector/snippets/nextjs/page.on-result.tsx +7 -0
- package/dist/cmd/project/templates/services/vector/snippets/nextjs/page.state.tsx +6 -0
- package/dist/cmd/project/templates/services/vector/snippets/nextjs/translate.imports.ts +1 -0
- package/dist/cmd/project/templates/services/vector/snippets/nextjs/translate.module.ts +2 -0
- package/dist/cmd/project/templates/services/vector/snippets/nextjs/translate.translate-post.ts +6 -0
- package/dist/cmd/project/templates/services/vector/snippets/nuxt/page.after-result.vue +16 -0
- package/dist/cmd/project/templates/services/vector/snippets/nuxt/page.on-result.vue +10 -0
- package/dist/cmd/project/templates/services/vector/snippets/nuxt/page.state.vue +6 -0
- package/dist/cmd/project/templates/services/vector/snippets/nuxt/translate.imports.ts +1 -0
- package/dist/cmd/project/templates/services/vector/snippets/nuxt/translate.module.ts +2 -0
- package/dist/cmd/project/templates/services/vector/snippets/nuxt/translate.translate-post.ts +6 -0
- package/dist/cmd/project/templates/services/vector/snippets/remix/page.after-result.tsx +13 -0
- package/dist/cmd/project/templates/services/vector/snippets/remix/page.imports.tsx +1 -0
- package/dist/cmd/project/templates/services/vector/snippets/remix/page.on-result.tsx +7 -0
- package/dist/cmd/project/templates/services/vector/snippets/remix/page.state.tsx +6 -0
- package/dist/cmd/project/templates/services/vector/snippets/remix/translate.imports.ts +1 -0
- package/dist/cmd/project/templates/services/vector/snippets/remix/translate.module.ts +2 -0
- package/dist/cmd/project/templates/services/vector/snippets/remix/translate.translate-post.ts +6 -0
- package/dist/cmd/project/templates/services/vector/snippets/sveltekit/page.after-result.svelte +13 -0
- package/dist/cmd/project/templates/services/vector/snippets/sveltekit/page.on-result.svelte +11 -0
- package/dist/cmd/project/templates/services/vector/snippets/sveltekit/page.state.svelte +6 -0
- package/dist/cmd/project/templates/services/vector/snippets/sveltekit/translate.imports.ts +1 -0
- package/dist/cmd/project/templates/services/vector/snippets/sveltekit/translate.module.ts +2 -0
- package/dist/cmd/project/templates/services/vector/snippets/sveltekit/translate.translate-post.ts +6 -0
- package/dist/cmd/project/templates/services/vector/snippets/vite-react/page.after-result.tsx +13 -0
- package/dist/cmd/project/templates/services/vector/snippets/vite-react/page.imports.tsx +1 -0
- package/dist/cmd/project/templates/services/vector/snippets/vite-react/page.on-result.tsx +7 -0
- package/dist/cmd/project/templates/services/vector/snippets/vite-react/page.state.tsx +6 -0
- package/dist/cmd/project/templates/services/vector/snippets/vite-react/server.imports.ts +1 -0
- package/dist/cmd/project/templates/services/vector/snippets/vite-react/server.module.ts +2 -0
- package/dist/cmd/project/templates/services/vector/snippets/vite-react/server.routes.ts +6 -0
- package/dist/cmd/project/templates/services/vector/snippets/vite-react/translate.imports.ts +1 -0
- package/dist/cmd/project/templates/services/vector/snippets/vite-react/translate.module.ts +2 -0
- package/dist/cmd/project/templates/services/vector/snippets/vite-react/translate.translate-post.ts +6 -0
- package/dist/cmd/project/templates/sveltekit/manifest.json +27 -0
- package/dist/cmd/project/templates/sveltekit/src/lib/server/translate.ts +40 -0
- package/dist/cmd/project/templates/sveltekit/src/routes/+page.server.ts +13 -0
- package/dist/cmd/project/templates/sveltekit/src/routes/+page.svelte +216 -0
- package/dist/cmd/project/templates/vite-react/manifest.json +35 -0
- package/dist/cmd/project/templates/vite-react/server/translate.ts +40 -0
- package/dist/cmd/project/templates/vite-react/server.ts +33 -0
- package/dist/cmd/project/templates/vite-react/src/App.tsx +253 -0
- package/dist/cmd/repl/index.d.ts +1 -1
- package/dist/cmd/repl/index.d.ts.map +1 -1
- package/dist/cmd/repl/index.js +3 -3
- package/dist/cmd/repl/index.js.map +1 -1
- package/dist/cmd/setup/index.d.ts +1 -1
- package/dist/cmd/setup/index.d.ts.map +1 -1
- package/dist/cmd/setup/index.js +9 -13
- package/dist/cmd/setup/index.js.map +1 -1
- package/dist/cmd/support/index.d.ts +1 -1
- package/dist/cmd/support/index.d.ts.map +1 -1
- package/dist/cmd/support/index.js +4 -4
- package/dist/cmd/support/index.js.map +1 -1
- package/dist/cmd/support/logs/index.d.ts +1 -1
- package/dist/cmd/support/logs/index.js +3 -3
- package/dist/cmd/support/logs/index.js.map +1 -1
- package/dist/cmd/support/logs/path.d.ts +1 -1
- package/dist/cmd/support/logs/path.js +3 -3
- package/dist/cmd/support/logs/path.js.map +1 -1
- package/dist/cmd/support/logs/show.d.ts +1 -1
- package/dist/cmd/support/logs/show.js +3 -3
- package/dist/cmd/support/logs/show.js.map +1 -1
- package/dist/cmd/support/report.d.ts +1 -1
- package/dist/cmd/support/report.d.ts.map +1 -1
- package/dist/cmd/support/report.js +25 -22
- package/dist/cmd/support/report.js.map +1 -1
- package/dist/cmd/support/system.d.ts +1 -1
- package/dist/cmd/support/system.d.ts.map +1 -1
- package/dist/cmd/support/system.js +10 -9
- package/dist/cmd/support/system.js.map +1 -1
- package/dist/cmd/upgrade/index.d.ts +2 -2
- package/dist/cmd/upgrade/index.d.ts.map +1 -1
- package/dist/cmd/upgrade/index.js +11 -11
- package/dist/cmd/upgrade/index.js.map +1 -1
- package/dist/cmd/upgrade/npm-availability.d.ts +3 -2
- package/dist/cmd/upgrade/npm-availability.d.ts.map +1 -1
- package/dist/cmd/upgrade/npm-availability.js +12 -29
- package/dist/cmd/upgrade/npm-availability.js.map +1 -1
- package/dist/cmd/version/index.d.ts +1 -1
- package/dist/cmd/version/index.d.ts.map +1 -1
- package/dist/cmd/version/index.js +4 -4
- package/dist/cmd/version/index.js.map +1 -1
- package/dist/command-prefix.js +2 -2
- package/dist/command-prefix.js.map +1 -1
- package/dist/composite-logger.d.ts.map +1 -1
- package/dist/composite-logger.js +19 -0
- package/dist/composite-logger.js.map +1 -1
- package/dist/config.d.ts +2 -2
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +34 -43
- package/dist/config.js.map +1 -1
- package/dist/deploy-metadata.d.ts +4 -5
- package/dist/deploy-metadata.d.ts.map +1 -1
- package/dist/deploy-metadata.js +11 -5
- package/dist/deploy-metadata.js.map +1 -1
- package/dist/domain.d.ts +1 -1
- package/dist/domain.d.ts.map +1 -1
- package/dist/domain.js +6 -4
- package/dist/domain.js.map +1 -1
- package/dist/download.js +2 -2
- package/dist/download.js.map +1 -1
- package/dist/env-util.d.ts.map +1 -1
- package/dist/env-util.js +5 -4
- package/dist/env-util.js.map +1 -1
- package/dist/errors.d.ts +1 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/explain.d.ts +1 -1
- package/dist/explain.d.ts.map +1 -1
- package/dist/explain.js +1 -1
- package/dist/explain.js.map +1 -1
- package/dist/git-helper.d.ts +51 -9
- package/dist/git-helper.d.ts.map +1 -1
- package/dist/git-helper.js +70 -45
- package/dist/git-helper.js.map +1 -1
- package/dist/index.d.ts +31 -31
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +28 -28
- package/dist/index.js.map +1 -1
- package/dist/internal-logger.d.ts.map +1 -1
- package/dist/internal-logger.js +8 -6
- package/dist/internal-logger.js.map +1 -1
- package/dist/keychain.d.ts.map +1 -1
- package/dist/keychain.js +35 -38
- package/dist/keychain.js.map +1 -1
- package/dist/main.d.ts +2 -0
- package/dist/main.d.ts.map +1 -0
- package/dist/main.js +396 -0
- package/dist/main.js.map +1 -0
- package/dist/node-compat/ansi.d.ts +134 -0
- package/dist/node-compat/ansi.d.ts.map +1 -0
- package/dist/node-compat/ansi.js +128 -0
- package/dist/node-compat/ansi.js.map +1 -0
- package/dist/node-compat/crypto.d.ts +30 -0
- package/dist/node-compat/crypto.d.ts.map +1 -0
- package/dist/node-compat/crypto.js +33 -0
- package/dist/node-compat/crypto.js.map +1 -0
- package/dist/node-compat/fs.d.ts +31 -0
- package/dist/node-compat/fs.d.ts.map +1 -0
- package/dist/node-compat/fs.js +44 -0
- package/dist/node-compat/fs.js.map +1 -0
- package/dist/node-compat/index.d.ts +31 -0
- package/dist/node-compat/index.d.ts.map +1 -0
- package/dist/node-compat/index.js +31 -0
- package/dist/node-compat/index.js.map +1 -0
- package/dist/node-compat/proc.d.ts +120 -0
- package/dist/node-compat/proc.d.ts.map +1 -0
- package/dist/node-compat/proc.js +184 -0
- package/dist/node-compat/proc.js.map +1 -0
- package/dist/node-compat/runtime-info.d.ts +47 -0
- package/dist/node-compat/runtime-info.d.ts.map +1 -0
- package/dist/node-compat/runtime-info.js +65 -0
- package/dist/node-compat/runtime-info.js.map +1 -0
- package/dist/node-compat/sqlite.d.ts +58 -0
- package/dist/node-compat/sqlite.d.ts.map +1 -0
- package/dist/node-compat/sqlite.js +47 -0
- package/dist/node-compat/sqlite.js.map +1 -0
- package/dist/node-compat/stdin.d.ts +18 -0
- package/dist/node-compat/stdin.d.ts.map +1 -0
- package/dist/node-compat/stdin.js +24 -0
- package/dist/node-compat/stdin.js.map +1 -0
- package/dist/node-compat/which.d.ts +21 -0
- package/dist/node-compat/which.d.ts.map +1 -0
- package/dist/node-compat/which.js +58 -0
- package/dist/node-compat/which.js.map +1 -0
- package/dist/output.d.ts +1 -1
- package/dist/output.d.ts.map +1 -1
- package/dist/output.js +1 -1
- package/dist/output.js.map +1 -1
- package/dist/regions.d.ts +1 -1
- package/dist/regions.d.ts.map +1 -1
- package/dist/regions.js +7 -8
- package/dist/regions.js.map +1 -1
- package/dist/repl.d.ts +1 -1
- package/dist/repl.d.ts.map +1 -1
- package/dist/repl.js +8 -7
- package/dist/repl.js.map +1 -1
- package/dist/runtime.d.ts +6 -1
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +26 -12
- package/dist/runtime.js.map +1 -1
- package/dist/schema-generator.d.ts +1 -1
- package/dist/schema-generator.d.ts.map +1 -1
- package/dist/schema-generator.js +2 -2
- package/dist/schema-generator.js.map +1 -1
- package/dist/schema-parser.d.ts +1 -1
- package/dist/schema-parser.d.ts.map +1 -1
- package/dist/sound.d.ts +1 -1
- package/dist/sound.d.ts.map +1 -1
- package/dist/sound.js +5 -5
- package/dist/sound.js.map +1 -1
- package/dist/steps.d.ts +1 -1
- package/dist/steps.d.ts.map +1 -1
- package/dist/steps.js +3 -3
- package/dist/steps.js.map +1 -1
- package/dist/system/browser.d.ts +39 -0
- package/dist/system/browser.d.ts.map +1 -0
- package/dist/system/browser.js +54 -0
- package/dist/system/browser.js.map +1 -0
- package/dist/tui/box.js +5 -5
- package/dist/tui/box.js.map +1 -1
- package/dist/tui/colors.js +1 -1
- package/dist/tui/colors.js.map +1 -1
- package/dist/tui/prompt.d.ts +29 -0
- package/dist/tui/prompt.d.ts.map +1 -1
- package/dist/tui/prompt.js +182 -10
- package/dist/tui/prompt.js.map +1 -1
- package/dist/tui/symbols.js +1 -1
- package/dist/tui/symbols.js.map +1 -1
- package/dist/tui.d.ts +14 -14
- package/dist/tui.d.ts.map +1 -1
- package/dist/tui.js +54 -69
- package/dist/tui.js.map +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/typescript-errors.d.ts +1 -1
- package/dist/typescript-errors.d.ts.map +1 -1
- package/dist/typescript-errors.js +7 -6
- package/dist/typescript-errors.js.map +1 -1
- package/dist/utils/apt-validator.d.ts +1 -1
- package/dist/utils/apt-validator.d.ts.map +1 -1
- package/dist/utils/apt-validator.js +8 -8
- package/dist/utils/apt-validator.js.map +1 -1
- package/dist/utils/deps.d.ts +1 -1
- package/dist/utils/deps.d.ts.map +1 -1
- package/dist/utils/deps.js +10 -6
- package/dist/utils/deps.js.map +1 -1
- package/dist/utils/git.d.ts.map +1 -1
- package/dist/utils/git.js +45 -58
- package/dist/utils/git.js.map +1 -1
- package/dist/utils/installation-type.d.ts.map +1 -1
- package/dist/utils/installation-type.js +8 -3
- package/dist/utils/installation-type.js.map +1 -1
- package/dist/utils/stream-url.js +1 -1
- package/dist/utils/stream-url.js.map +1 -1
- package/dist/utils/zip.d.ts.map +1 -1
- package/dist/utils/zip.js +11 -5
- package/dist/utils/zip.js.map +1 -1
- package/dist/version-check.d.ts +1 -1
- package/dist/version-check.d.ts.map +1 -1
- package/dist/version-check.js +11 -16
- package/dist/version-check.js.map +1 -1
- package/dist/version.d.ts +25 -4
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +45 -7
- package/dist/version.js.map +1 -1
- package/package.json +18 -11
- package/bin/cli.ts +0 -455
- package/dist/cache/agent-intro.d.ts +0 -23
- package/dist/cache/agent-intro.d.ts.map +0 -1
- package/dist/cache/agent-intro.js +0 -104
- package/dist/cache/agent-intro.js.map +0 -1
- package/dist/cmd/upgrade/npm-availability.test.d.ts +0 -2
- package/dist/cmd/upgrade/npm-availability.test.d.ts.map +0 -1
- package/dist/cmd/upgrade/npm-availability.test.js +0 -48
- package/dist/cmd/upgrade/npm-availability.test.js.map +0 -1
- package/src/agent-detection.ts +0 -588
- package/src/ai-help.ts +0 -454
- package/src/api-errors.md +0 -115
- package/src/api.ts +0 -105
- package/src/auth.ts +0 -539
- package/src/banner.ts +0 -92
- package/src/build-report.ts +0 -456
- package/src/bun-path.ts +0 -27
- package/src/cache/agent-intro.ts +0 -115
- package/src/cache/index.ts +0 -22
- package/src/cache/project-cache.ts +0 -41
- package/src/cache/resource-region.ts +0 -209
- package/src/cache/user-cache.ts +0 -92
- package/src/catalyst.ts +0 -24
- package/src/cli-logger.ts +0 -80
- package/src/cli.ts +0 -2514
- package/src/cmd/ai/capabilities/index.ts +0 -16
- package/src/cmd/ai/capabilities/show.ts +0 -258
- package/src/cmd/ai/claude-code/constants.ts +0 -26
- package/src/cmd/ai/claude-code/index.ts +0 -23
- package/src/cmd/ai/claude-code/install.ts +0 -178
- package/src/cmd/ai/claude-code/uninstall.ts +0 -122
- package/src/cmd/ai/detect.ts +0 -54
- package/src/cmd/ai/index.ts +0 -51
- package/src/cmd/ai/intro.ts +0 -174
- package/src/cmd/ai/opencode/dashboard.ts +0 -772
- package/src/cmd/ai/opencode/db.ts +0 -66
- package/src/cmd/ai/opencode/index.ts +0 -44
- package/src/cmd/ai/opencode/inspect.ts +0 -516
- package/src/cmd/ai/opencode/install.ts +0 -120
- package/src/cmd/ai/opencode/run.ts +0 -112
- package/src/cmd/ai/opencode/uninstall.ts +0 -90
- package/src/cmd/ai/prompt/api.ts +0 -31
- package/src/cmd/ai/prompt/index.ts +0 -22
- package/src/cmd/ai/prompt/llm.ts +0 -368
- package/src/cmd/ai/prompt/version.ts +0 -62
- package/src/cmd/ai/prompt/web.ts +0 -31
- package/src/cmd/ai/schema/generate.ts +0 -64
- package/src/cmd/ai/schema/index.ts +0 -15
- package/src/cmd/ai/schema/show.ts +0 -30
- package/src/cmd/auth/README.md +0 -129
- package/src/cmd/auth/api.ts +0 -159
- package/src/cmd/auth/apikey.ts +0 -36
- package/src/cmd/auth/index.ts +0 -29
- package/src/cmd/auth/login.ts +0 -147
- package/src/cmd/auth/logout.ts +0 -26
- package/src/cmd/auth/org/enroll.ts +0 -104
- package/src/cmd/auth/org/index.ts +0 -192
- package/src/cmd/auth/org/status.ts +0 -64
- package/src/cmd/auth/org/unenroll.ts +0 -80
- package/src/cmd/auth/signup.ts +0 -64
- package/src/cmd/auth/ssh/add.ts +0 -309
- package/src/cmd/auth/ssh/api.ts +0 -106
- package/src/cmd/auth/ssh/delete.ts +0 -168
- package/src/cmd/auth/ssh/index.ts +0 -16
- package/src/cmd/auth/ssh/list.ts +0 -82
- package/src/cmd/auth/whoami.ts +0 -77
- package/src/cmd/build/adapters/generic.ts +0 -239
- package/src/cmd/build/adapters/index.ts +0 -30
- package/src/cmd/build/adapters/nextjs.ts +0 -146
- package/src/cmd/build/adapters/static-server.ts +0 -143
- package/src/cmd/build/adapters/types.ts +0 -93
- package/src/cmd/build/ci.ts +0 -225
- package/src/cmd/build/detect/engine.ts +0 -111
- package/src/cmd/build/detect/frameworks.ts +0 -335
- package/src/cmd/build/detect/generic.ts +0 -71
- package/src/cmd/build/detect/index.ts +0 -122
- package/src/cmd/build/detect/types.ts +0 -109
- package/src/cmd/build/detect/util.ts +0 -104
- package/src/cmd/build/ids.ts +0 -19
- package/src/cmd/build/index.ts +0 -260
- package/src/cmd/build/package/index.ts +0 -66
- package/src/cmd/build/package/launch.ts +0 -104
- package/src/cmd/build/patch/_util.ts +0 -90
- package/src/cmd/build/patch/aisdk.ts +0 -130
- package/src/cmd/build/patch/index.ts +0 -109
- package/src/cmd/build/patch/llm.ts +0 -36
- package/src/cmd/build/patch/otel-llm.ts +0 -421
- package/src/cmd/build/typecheck.ts +0 -141
- package/src/cmd/canary/index.ts +0 -149
- package/src/cmd/cloud/agent/get.ts +0 -119
- package/src/cmd/cloud/agent/index.ts +0 -16
- package/src/cmd/cloud/agent/list.ts +0 -123
- package/src/cmd/cloud/agent/schema.ts +0 -25
- package/src/cmd/cloud/apikey/create.ts +0 -117
- package/src/cmd/cloud/apikey/delete.ts +0 -66
- package/src/cmd/cloud/apikey/get.ts +0 -63
- package/src/cmd/cloud/apikey/index.ts +0 -22
- package/src/cmd/cloud/apikey/list.ts +0 -65
- package/src/cmd/cloud/db/create.ts +0 -109
- package/src/cmd/cloud/db/delete.ts +0 -222
- package/src/cmd/cloud/db/get.ts +0 -225
- package/src/cmd/cloud/db/index.ts +0 -29
- package/src/cmd/cloud/db/list.ts +0 -132
- package/src/cmd/cloud/db/logs.ts +0 -198
- package/src/cmd/cloud/db/sql.ts +0 -84
- package/src/cmd/cloud/db/stats.ts +0 -78
- package/src/cmd/cloud/deploy-fork.ts +0 -430
- package/src/cmd/cloud/deploy.ts +0 -1464
- package/src/cmd/cloud/deployment/index.ts +0 -27
- package/src/cmd/cloud/deployment/list.ts +0 -123
- package/src/cmd/cloud/deployment/logs.ts +0 -84
- package/src/cmd/cloud/deployment/remove.ts +0 -75
- package/src/cmd/cloud/deployment/rollback.ts +0 -92
- package/src/cmd/cloud/deployment/show.ts +0 -203
- package/src/cmd/cloud/deployment/undeploy.ts +0 -56
- package/src/cmd/cloud/deployment/utils.ts +0 -20
- package/src/cmd/cloud/email/create.ts +0 -75
- package/src/cmd/cloud/email/delete.ts +0 -53
- package/src/cmd/cloud/email/destination/delete.ts +0 -69
- package/src/cmd/cloud/email/destination/index.ts +0 -15
- package/src/cmd/cloud/email/destination/list.ts +0 -46
- package/src/cmd/cloud/email/destination/schemas.ts +0 -9
- package/src/cmd/cloud/email/destination/url.ts +0 -76
- package/src/cmd/cloud/email/get.ts +0 -88
- package/src/cmd/cloud/email/inbound/get.ts +0 -53
- package/src/cmd/cloud/email/inbound/index.ts +0 -13
- package/src/cmd/cloud/email/inbound/list.ts +0 -48
- package/src/cmd/cloud/email/inbound/schemas.ts +0 -13
- package/src/cmd/cloud/email/index.ts +0 -31
- package/src/cmd/cloud/email/list.ts +0 -45
- package/src/cmd/cloud/email/outbound/get.ts +0 -55
- package/src/cmd/cloud/email/outbound/index.ts +0 -13
- package/src/cmd/cloud/email/outbound/list.ts +0 -50
- package/src/cmd/cloud/email/outbound/schemas.ts +0 -15
- package/src/cmd/cloud/email/send.ts +0 -85
- package/src/cmd/cloud/email/stats.ts +0 -79
- package/src/cmd/cloud/email/util.ts +0 -68
- package/src/cmd/cloud/env/delete.ts +0 -185
- package/src/cmd/cloud/env/env-diff.ts +0 -180
- package/src/cmd/cloud/env/get.ts +0 -119
- package/src/cmd/cloud/env/import.ts +0 -173
- package/src/cmd/cloud/env/index.ts +0 -40
- package/src/cmd/cloud/env/list.ts +0 -200
- package/src/cmd/cloud/env/org-util.ts +0 -40
- package/src/cmd/cloud/env/pull.ts +0 -197
- package/src/cmd/cloud/env/push.ts +0 -243
- package/src/cmd/cloud/env/set.ts +0 -272
- package/src/cmd/cloud/index.ts +0 -69
- package/src/cmd/cloud/keyvalue/create-namespace.ts +0 -53
- package/src/cmd/cloud/keyvalue/delete-namespace.ts +0 -86
- package/src/cmd/cloud/keyvalue/delete.ts +0 -62
- package/src/cmd/cloud/keyvalue/get.ts +0 -80
- package/src/cmd/cloud/keyvalue/index.ts +0 -40
- package/src/cmd/cloud/keyvalue/keys.ts +0 -62
- package/src/cmd/cloud/keyvalue/list-namespaces.ts +0 -49
- package/src/cmd/cloud/keyvalue/repl.ts +0 -297
- package/src/cmd/cloud/keyvalue/search.ts +0 -87
- package/src/cmd/cloud/keyvalue/set.ts +0 -84
- package/src/cmd/cloud/keyvalue/stats.ts +0 -222
- package/src/cmd/cloud/keyvalue/util.ts +0 -41
- package/src/cmd/cloud/machine/delete.ts +0 -97
- package/src/cmd/cloud/machine/deployments.ts +0 -100
- package/src/cmd/cloud/machine/get.ts +0 -116
- package/src/cmd/cloud/machine/index.ts +0 -22
- package/src/cmd/cloud/machine/list.ts +0 -105
- package/src/cmd/cloud/monitor.ts +0 -375
- package/src/cmd/cloud/oidc/activity.ts +0 -64
- package/src/cmd/cloud/oidc/create.ts +0 -230
- package/src/cmd/cloud/oidc/delete.ts +0 -66
- package/src/cmd/cloud/oidc/get.ts +0 -69
- package/src/cmd/cloud/oidc/index.ts +0 -35
- package/src/cmd/cloud/oidc/list.ts +0 -53
- package/src/cmd/cloud/oidc/rotate-secret.ts +0 -80
- package/src/cmd/cloud/oidc/users.ts +0 -60
- package/src/cmd/cloud/oidc/util.ts +0 -28
- package/src/cmd/cloud/queue/ack.ts +0 -50
- package/src/cmd/cloud/queue/consumers.ts +0 -97
- package/src/cmd/cloud/queue/create.ts +0 -92
- package/src/cmd/cloud/queue/delete.ts +0 -57
- package/src/cmd/cloud/queue/destinations.ts +0 -402
- package/src/cmd/cloud/queue/dlq.ts +0 -209
- package/src/cmd/cloud/queue/get.ts +0 -159
- package/src/cmd/cloud/queue/index.ts +0 -68
- package/src/cmd/cloud/queue/list.ts +0 -99
- package/src/cmd/cloud/queue/messages.ts +0 -160
- package/src/cmd/cloud/queue/nack.ts +0 -50
- package/src/cmd/cloud/queue/pause.ts +0 -41
- package/src/cmd/cloud/queue/publish.ts +0 -94
- package/src/cmd/cloud/queue/receive.ts +0 -84
- package/src/cmd/cloud/queue/resume.ts +0 -40
- package/src/cmd/cloud/queue/sources.ts +0 -352
- package/src/cmd/cloud/queue/stats.ts +0 -297
- package/src/cmd/cloud/queue/util.ts +0 -35
- package/src/cmd/cloud/redis/get.ts +0 -72
- package/src/cmd/cloud/redis/index.ts +0 -13
- package/src/cmd/cloud/region/index.ts +0 -159
- package/src/cmd/cloud/region/list.ts +0 -62
- package/src/cmd/cloud/region-lookup.ts +0 -220
- package/src/cmd/cloud/sandbox/checkpoint/create.ts +0 -86
- package/src/cmd/cloud/sandbox/checkpoint/delete.ts +0 -93
- package/src/cmd/cloud/sandbox/checkpoint/index.ts +0 -33
- package/src/cmd/cloud/sandbox/checkpoint/list.ts +0 -83
- package/src/cmd/cloud/sandbox/checkpoint/restore.ts +0 -72
- package/src/cmd/cloud/sandbox/create.ts +0 -231
- package/src/cmd/cloud/sandbox/delete.ts +0 -82
- package/src/cmd/cloud/sandbox/env.ts +0 -108
- package/src/cmd/cloud/sandbox/events.ts +0 -108
- package/src/cmd/cloud/sandbox/exec.ts +0 -343
- package/src/cmd/cloud/sandbox/execution/get.ts +0 -120
- package/src/cmd/cloud/sandbox/execution/index.ts +0 -25
- package/src/cmd/cloud/sandbox/execution/list.ts +0 -120
- package/src/cmd/cloud/sandbox/fs/cp.ts +0 -646
- package/src/cmd/cloud/sandbox/fs/download.ts +0 -106
- package/src/cmd/cloud/sandbox/fs/index.ts +0 -36
- package/src/cmd/cloud/sandbox/fs/ls.ts +0 -131
- package/src/cmd/cloud/sandbox/fs/mkdir.ts +0 -70
- package/src/cmd/cloud/sandbox/fs/rm.ts +0 -62
- package/src/cmd/cloud/sandbox/fs/rmdir.ts +0 -75
- package/src/cmd/cloud/sandbox/fs/upload.ts +0 -95
- package/src/cmd/cloud/sandbox/get.ts +0 -187
- package/src/cmd/cloud/sandbox/index.ts +0 -62
- package/src/cmd/cloud/sandbox/job/create.ts +0 -63
- package/src/cmd/cloud/sandbox/job/destroy.ts +0 -67
- package/src/cmd/cloud/sandbox/job/get.ts +0 -78
- package/src/cmd/cloud/sandbox/job/index.ts +0 -42
- package/src/cmd/cloud/sandbox/job/list.ts +0 -81
- package/src/cmd/cloud/sandbox/job/logs.ts +0 -140
- package/src/cmd/cloud/sandbox/list.ts +0 -174
- package/src/cmd/cloud/sandbox/pause.ts +0 -60
- package/src/cmd/cloud/sandbox/resume.ts +0 -60
- package/src/cmd/cloud/sandbox/run.ts +0 -282
- package/src/cmd/cloud/sandbox/runtime/index.ts +0 -20
- package/src/cmd/cloud/sandbox/runtime/list.ts +0 -90
- package/src/cmd/cloud/sandbox/snapshot/build.ts +0 -1059
- package/src/cmd/cloud/sandbox/snapshot/create.ts +0 -143
- package/src/cmd/cloud/sandbox/snapshot/delete.ts +0 -80
- package/src/cmd/cloud/sandbox/snapshot/generate.ts +0 -147
- package/src/cmd/cloud/sandbox/snapshot/get.ts +0 -259
- package/src/cmd/cloud/sandbox/snapshot/index.ts +0 -46
- package/src/cmd/cloud/sandbox/snapshot/list.ts +0 -110
- package/src/cmd/cloud/sandbox/snapshot/tag.ts +0 -92
- package/src/cmd/cloud/sandbox/stats.ts +0 -88
- package/src/cmd/cloud/sandbox/util.ts +0 -145
- package/src/cmd/cloud/schedule/create.ts +0 -83
- package/src/cmd/cloud/schedule/delete.ts +0 -45
- package/src/cmd/cloud/schedule/delivery/get.ts +0 -85
- package/src/cmd/cloud/schedule/delivery/index.ts +0 -24
- package/src/cmd/cloud/schedule/delivery/list.ts +0 -83
- package/src/cmd/cloud/schedule/destination/create.ts +0 -123
- package/src/cmd/cloud/schedule/destination/delete.ts +0 -45
- package/src/cmd/cloud/schedule/destination/get.ts +0 -67
- package/src/cmd/cloud/schedule/destination/index.ts +0 -29
- package/src/cmd/cloud/schedule/destination/list.ts +0 -79
- package/src/cmd/cloud/schedule/get.ts +0 -103
- package/src/cmd/cloud/schedule/index.ts +0 -41
- package/src/cmd/cloud/schedule/list.ts +0 -79
- package/src/cmd/cloud/schedule/stats.ts +0 -78
- package/src/cmd/cloud/schedule/update.ts +0 -74
- package/src/cmd/cloud/schedule/util.ts +0 -28
- package/src/cmd/cloud/scp/download.ts +0 -113
- package/src/cmd/cloud/scp/index.ts +0 -21
- package/src/cmd/cloud/scp/upload.ts +0 -114
- package/src/cmd/cloud/services/index.ts +0 -11
- package/src/cmd/cloud/services/stats.ts +0 -205
- package/src/cmd/cloud/session/get.ts +0 -206
- package/src/cmd/cloud/session/index.ts +0 -17
- package/src/cmd/cloud/session/list.ts +0 -191
- package/src/cmd/cloud/session/logs.ts +0 -73
- package/src/cmd/cloud/ssh.ts +0 -114
- package/src/cmd/cloud/storage/config.ts +0 -245
- package/src/cmd/cloud/storage/create.ts +0 -125
- package/src/cmd/cloud/storage/delete.ts +0 -394
- package/src/cmd/cloud/storage/download.ts +0 -197
- package/src/cmd/cloud/storage/get.ts +0 -140
- package/src/cmd/cloud/storage/index.ts +0 -32
- package/src/cmd/cloud/storage/list.ts +0 -309
- package/src/cmd/cloud/storage/upload.ts +0 -210
- package/src/cmd/cloud/storage/utils.ts +0 -26
- package/src/cmd/cloud/stream/create.ts +0 -252
- package/src/cmd/cloud/stream/delete.ts +0 -79
- package/src/cmd/cloud/stream/get.ts +0 -157
- package/src/cmd/cloud/stream/index.ts +0 -35
- package/src/cmd/cloud/stream/list.ts +0 -195
- package/src/cmd/cloud/stream/stats.ts +0 -76
- package/src/cmd/cloud/stream/util.ts +0 -99
- package/src/cmd/cloud/task/attachment.ts +0 -432
- package/src/cmd/cloud/task/close.ts +0 -319
- package/src/cmd/cloud/task/create.ts +0 -280
- package/src/cmd/cloud/task/delete.ts +0 -314
- package/src/cmd/cloud/task/get.ts +0 -229
- package/src/cmd/cloud/task/index.ts +0 -80
- package/src/cmd/cloud/task/list.ts +0 -314
- package/src/cmd/cloud/task/project.ts +0 -227
- package/src/cmd/cloud/task/stats.ts +0 -80
- package/src/cmd/cloud/task/update.ts +0 -125
- package/src/cmd/cloud/task/user.ts +0 -202
- package/src/cmd/cloud/task/util.ts +0 -132
- package/src/cmd/cloud/thread/delete.ts +0 -47
- package/src/cmd/cloud/thread/get.ts +0 -96
- package/src/cmd/cloud/thread/index.ts +0 -18
- package/src/cmd/cloud/thread/list.ts +0 -144
- package/src/cmd/cloud/vector/delete-namespace.ts +0 -90
- package/src/cmd/cloud/vector/delete.ts +0 -117
- package/src/cmd/cloud/vector/get.ts +0 -116
- package/src/cmd/cloud/vector/index.ts +0 -40
- package/src/cmd/cloud/vector/list-namespaces.ts +0 -50
- package/src/cmd/cloud/vector/search.ts +0 -174
- package/src/cmd/cloud/vector/stats.ts +0 -209
- package/src/cmd/cloud/vector/upsert.ts +0 -244
- package/src/cmd/cloud/vector/util.ts +0 -41
- package/src/cmd/cloud/webhook/create.ts +0 -72
- package/src/cmd/cloud/webhook/delete.ts +0 -57
- package/src/cmd/cloud/webhook/deliveries.ts +0 -161
- package/src/cmd/cloud/webhook/destinations.ts +0 -286
- package/src/cmd/cloud/webhook/get.ts +0 -60
- package/src/cmd/cloud/webhook/index.ts +0 -46
- package/src/cmd/cloud/webhook/list.ts +0 -82
- package/src/cmd/cloud/webhook/receipts.ts +0 -170
- package/src/cmd/cloud/webhook/util.ts +0 -35
- package/src/cmd/cloud/workflow/get.ts +0 -58
- package/src/cmd/cloud/workflow/index.ts +0 -22
- package/src/cmd/cloud/workflow/list.ts +0 -84
- package/src/cmd/cloud/workflow/util.ts +0 -28
- package/src/cmd/coder/archive.ts +0 -59
- package/src/cmd/coder/create.ts +0 -291
- package/src/cmd/coder/delete.ts +0 -67
- package/src/cmd/coder/events.ts +0 -106
- package/src/cmd/coder/extension-path.ts +0 -71
- package/src/cmd/coder/get.ts +0 -199
- package/src/cmd/coder/index.ts +0 -81
- package/src/cmd/coder/list.ts +0 -106
- package/src/cmd/coder/loop.ts +0 -85
- package/src/cmd/coder/participants.ts +0 -100
- package/src/cmd/coder/replay.ts +0 -58
- package/src/cmd/coder/resolve-repo.ts +0 -119
- package/src/cmd/coder/skill/buckets.ts +0 -191
- package/src/cmd/coder/skill/delete.ts +0 -67
- package/src/cmd/coder/skill/index.ts +0 -35
- package/src/cmd/coder/skill/list.ts +0 -97
- package/src/cmd/coder/skill/save.ts +0 -84
- package/src/cmd/coder/start.ts +0 -459
- package/src/cmd/coder/tui-init.ts +0 -92
- package/src/cmd/coder/update.ts +0 -145
- package/src/cmd/coder/users.ts +0 -101
- package/src/cmd/coder/workspace/create.ts +0 -173
- package/src/cmd/coder/workspace/delete.ts +0 -70
- package/src/cmd/coder/workspace/get.ts +0 -112
- package/src/cmd/coder/workspace/index.ts +0 -40
- package/src/cmd/coder/workspace/list.ts +0 -101
- package/src/cmd/dev/index.ts +0 -212
- package/src/cmd/git/account/add.ts +0 -179
- package/src/cmd/git/account/index.ts +0 -10
- package/src/cmd/git/account/list.ts +0 -108
- package/src/cmd/git/account/remove.ts +0 -163
- package/src/cmd/git/api.ts +0 -444
- package/src/cmd/git/identity/connect.ts +0 -178
- package/src/cmd/git/identity/disconnect.ts +0 -103
- package/src/cmd/git/identity/index.ts +0 -10
- package/src/cmd/git/identity/status.ts +0 -96
- package/src/cmd/git/index.ts +0 -20
- package/src/cmd/git/link.ts +0 -465
- package/src/cmd/git/list.ts +0 -151
- package/src/cmd/git/status.ts +0 -159
- package/src/cmd/git/unlink.ts +0 -117
- package/src/cmd/help/index.ts +0 -26
- package/src/cmd/index.ts +0 -60
- package/src/cmd/profile/README.md +0 -80
- package/src/cmd/profile/create.ts +0 -113
- package/src/cmd/profile/current.ts +0 -31
- package/src/cmd/profile/delete.ts +0 -78
- package/src/cmd/profile/index.ts +0 -30
- package/src/cmd/profile/list.ts +0 -54
- package/src/cmd/profile/show.ts +0 -81
- package/src/cmd/profile/use.ts +0 -52
- package/src/cmd/project/add/database.ts +0 -196
- package/src/cmd/project/add/domain.ts +0 -187
- package/src/cmd/project/add/index.ts +0 -35
- package/src/cmd/project/add/storage.ts +0 -198
- package/src/cmd/project/create.ts +0 -132
- package/src/cmd/project/delete.ts +0 -188
- package/src/cmd/project/domain/check.ts +0 -153
- package/src/cmd/project/domain/index.ts +0 -20
- package/src/cmd/project/frameworks.ts +0 -219
- package/src/cmd/project/hostname/get.ts +0 -55
- package/src/cmd/project/hostname/index.ts +0 -18
- package/src/cmd/project/hostname/set.ts +0 -123
- package/src/cmd/project/import.ts +0 -170
- package/src/cmd/project/index.ts +0 -44
- package/src/cmd/project/list.ts +0 -55
- package/src/cmd/project/reconcile.ts +0 -755
- package/src/cmd/project/remote-import.ts +0 -1349
- package/src/cmd/project/scaffold.ts +0 -311
- package/src/cmd/project/show.ts +0 -74
- package/src/cmd/project/template-flow.ts +0 -679
- package/src/cmd/project/templates/astro/src/pages/api/translate.ts +0 -22
- package/src/cmd/project/templates/astro/src/pages/index.astro +0 -160
- package/src/cmd/project/templates/hono/src/index.ts +0 -103
- package/src/cmd/project/templates/nextjs/src/app/api/translate/route.ts +0 -19
- package/src/cmd/project/templates/nextjs/src/app/page.tsx +0 -234
- package/src/cmd/project/templates/nuxt/app.vue +0 -191
- package/src/cmd/project/templates/nuxt/server/api/translate.post.ts +0 -18
- package/src/cmd/project/templates/remix/app/routes/api.translate.ts +0 -24
- package/src/cmd/project/templates/remix/app/routes/home.tsx +0 -241
- package/src/cmd/project/templates/sveltekit/src/routes/+page.server.ts +0 -24
- package/src/cmd/project/templates/sveltekit/src/routes/+page.svelte +0 -204
- package/src/cmd/project/templates/vite-react/server.ts +0 -39
- package/src/cmd/project/templates/vite-react/src/App.tsx +0 -241
- package/src/cmd/repl/index.ts +0 -477
- package/src/cmd/setup/index.ts +0 -93
- package/src/cmd/support/index.ts +0 -11
- package/src/cmd/support/logs/index.ts +0 -9
- package/src/cmd/support/logs/path.ts +0 -56
- package/src/cmd/support/logs/show.ts +0 -144
- package/src/cmd/support/report.ts +0 -427
- package/src/cmd/support/system.ts +0 -136
- package/src/cmd/upgrade/index.ts +0 -308
- package/src/cmd/upgrade/npm-availability.test.ts +0 -57
- package/src/cmd/upgrade/npm-availability.ts +0 -261
- package/src/cmd/version/index.ts +0 -42
- package/src/coder-hub-url.ts +0 -32
- package/src/command-prefix.ts +0 -34
- package/src/composite-logger.ts +0 -86
- package/src/config.ts +0 -923
- package/src/crypto/box.ts +0 -529
- package/src/deploy-metadata.ts +0 -253
- package/src/domain.ts +0 -378
- package/src/download.ts +0 -105
- package/src/env-util.ts +0 -466
- package/src/errors.ts +0 -288
- package/src/explain.ts +0 -126
- package/src/git-helper.ts +0 -74
- package/src/index.ts +0 -128
- package/src/internal-logger.ts +0 -599
- package/src/json.ts +0 -28
- package/src/keychain.ts +0 -205
- package/src/log-collector.ts +0 -77
- package/src/onboarding/agentPrompt.ts +0 -260
- package/src/output.ts +0 -359
- package/src/program-ref.ts +0 -11
- package/src/regions.ts +0 -95
- package/src/repl.ts +0 -1523
- package/src/runtime-bootstrap.md +0 -160
- package/src/runtime.ts +0 -36
- package/src/schema-generator.ts +0 -443
- package/src/schema-parser.ts +0 -550
- package/src/sound.ts +0 -30
- package/src/steps.ts +0 -748
- package/src/terminal.ts +0 -151
- package/src/tsc-output-parser.ts +0 -1138
- package/src/tui/box.ts +0 -319
- package/src/tui/colors.ts +0 -112
- package/src/tui/group.ts +0 -56
- package/src/tui/prompt.ts +0 -578
- package/src/tui/symbols.ts +0 -75
- package/src/tui.md +0 -254
- package/src/tui.ts +0 -2266
- package/src/types/md.d.ts +0 -8
- package/src/types.ts +0 -608
- package/src/typescript-errors.ts +0 -422
- package/src/utils/apt-validator.ts +0 -215
- package/src/utils/date.ts +0 -66
- package/src/utils/deps.ts +0 -219
- package/src/utils/format.ts +0 -17
- package/src/utils/git.ts +0 -209
- package/src/utils/installation-type.ts +0 -106
- package/src/utils/jsonc.ts +0 -67
- package/src/utils/normalize-path.ts +0 -12
- package/src/utils/stream-url.ts +0 -226
- package/src/utils/zip.ts +0 -68
- package/src/version-check.ts +0 -329
- package/src/version.ts +0 -57
- /package/{src → dist}/cmd/ai/prompt/api.md +0 -0
- /package/{src → dist}/cmd/ai/prompt/web.md +0 -0
- /package/{src → dist}/cmd/project/templates/nextjs/src/app/globals.css +0 -0
- /package/{src → dist}/cmd/project/templates/vite-react/src/index.css +0 -0
- /package/{src → dist}/cmd/project/templates/vite-react/src/main.tsx +0 -0
- /package/{src → dist}/cmd/project/templates/vite-react/vite.config.ts +0 -0
package/src/tui.ts
DELETED
|
@@ -1,2266 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Terminal UI utilities for formatted, colorized output
|
|
3
|
-
*
|
|
4
|
-
* Provides semantic helpers for console output with automatic icons and colors.
|
|
5
|
-
* Uses Bun's built-in color support and ANSI escape codes.
|
|
6
|
-
*/
|
|
7
|
-
import { stringWidth } from 'bun';
|
|
8
|
-
import { resolve } from 'node:path';
|
|
9
|
-
import { colorize } from 'json-colorizer';
|
|
10
|
-
import enquirer from 'enquirer';
|
|
11
|
-
import { type OrganizationList, projectList } from '@agentuity/server';
|
|
12
|
-
import * as readline from 'readline';
|
|
13
|
-
import type { ColorScheme } from './terminal';
|
|
14
|
-
import type { Profile } from './types';
|
|
15
|
-
import { type APIClient as APIClientType } from './api';
|
|
16
|
-
import { getExitCode } from './errors';
|
|
17
|
-
import { maskSecret } from './env-util';
|
|
18
|
-
import { getExecutingAgent } from './agent-detection';
|
|
19
|
-
|
|
20
|
-
// Install global exit handler to always restore terminal cursor
|
|
21
|
-
// This ensures cursor is restored even when process.exit() is called directly
|
|
22
|
-
let exitHandlerInstalled = false;
|
|
23
|
-
function ensureCursorRestoration(): void {
|
|
24
|
-
if (exitHandlerInstalled) return;
|
|
25
|
-
exitHandlerInstalled = true;
|
|
26
|
-
|
|
27
|
-
const restoreCursor = () => {
|
|
28
|
-
// Only write ANSI escape sequences when stderr is a real terminal.
|
|
29
|
-
// Writing to non-TTY streams (pipes, command substitution, etc.)
|
|
30
|
-
// pollutes captured output with invisible control characters.
|
|
31
|
-
if (!process.stderr.isTTY) {
|
|
32
|
-
return;
|
|
33
|
-
}
|
|
34
|
-
// Skip cursor restoration in CI - terminals don't support these sequences
|
|
35
|
-
if (process.env.CI) {
|
|
36
|
-
return;
|
|
37
|
-
}
|
|
38
|
-
// Skip cursor restoration when running from an AI coding agent
|
|
39
|
-
if (getExecutingAgent()) {
|
|
40
|
-
return;
|
|
41
|
-
}
|
|
42
|
-
// Restore cursor visibility
|
|
43
|
-
process.stderr.write('\x1B[?25h');
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
// Handle process exit
|
|
47
|
-
process.on('exit', restoreCursor);
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
// Install handler immediately when module loads
|
|
51
|
-
ensureCursorRestoration();
|
|
52
|
-
|
|
53
|
-
// Re-export maskSecret for convenience
|
|
54
|
-
export { maskSecret };
|
|
55
|
-
|
|
56
|
-
// Export new TUI components
|
|
57
|
-
export { createPrompt, PromptFlow } from './tui/prompt';
|
|
58
|
-
export { group } from './tui/group';
|
|
59
|
-
export { note, drawBox, errorBox, warningBox } from './tui/box';
|
|
60
|
-
export { symbols } from './tui/symbols';
|
|
61
|
-
export { colors as tuiColors } from './tui/colors';
|
|
62
|
-
export type {
|
|
63
|
-
TextOptions,
|
|
64
|
-
ConfirmOptions,
|
|
65
|
-
SelectOptions,
|
|
66
|
-
SelectOption,
|
|
67
|
-
MultiSelectOptions,
|
|
68
|
-
} from './tui/prompt';
|
|
69
|
-
|
|
70
|
-
// Icons - use plain text alternatives when running from an AI coding agent
|
|
71
|
-
function getIcons() {
|
|
72
|
-
if (getExecutingAgent()) {
|
|
73
|
-
return {
|
|
74
|
-
success: '[OK]',
|
|
75
|
-
error: '[ERROR]',
|
|
76
|
-
warning: '[WARN]',
|
|
77
|
-
info: '[INFO]',
|
|
78
|
-
arrow: '->',
|
|
79
|
-
bullet: '-',
|
|
80
|
-
} as const;
|
|
81
|
-
}
|
|
82
|
-
return {
|
|
83
|
-
success: '✓',
|
|
84
|
-
error: '✗',
|
|
85
|
-
warning: '⚠',
|
|
86
|
-
info: 'ℹ',
|
|
87
|
-
arrow: '→',
|
|
88
|
-
bullet: '•',
|
|
89
|
-
} as const;
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
// Export ICONS as a getter for backward compatibility
|
|
93
|
-
// Proxy with full traps for enumeration and serialization support
|
|
94
|
-
export const ICONS = new Proxy({} as ReturnType<typeof getIcons>, {
|
|
95
|
-
get(_target, prop: keyof ReturnType<typeof getIcons>) {
|
|
96
|
-
return getIcons()[prop];
|
|
97
|
-
},
|
|
98
|
-
has(_target, prop) {
|
|
99
|
-
return prop in getIcons();
|
|
100
|
-
},
|
|
101
|
-
ownKeys() {
|
|
102
|
-
return Object.keys(getIcons());
|
|
103
|
-
},
|
|
104
|
-
getOwnPropertyDescriptor(_target, prop) {
|
|
105
|
-
const icons = getIcons();
|
|
106
|
-
if (prop in icons) {
|
|
107
|
-
return { configurable: true, enumerable: true, value: icons[prop as keyof typeof icons] };
|
|
108
|
-
}
|
|
109
|
-
},
|
|
110
|
-
});
|
|
111
|
-
|
|
112
|
-
/**
|
|
113
|
-
* Check if we should treat the terminal as TTY-like for interactive output
|
|
114
|
-
* (real TTY on stdout or stderr, or FORCE_COLOR set by fork wrapper).
|
|
115
|
-
* Returns false in CI environments since CI terminals often don't support
|
|
116
|
-
* cursor control sequences reliably.
|
|
117
|
-
* Returns false when running from an AI coding agent (no interactive prompts/spinners).
|
|
118
|
-
*/
|
|
119
|
-
export function isTTYLike(): boolean {
|
|
120
|
-
if (process.env.CI) {
|
|
121
|
-
return false;
|
|
122
|
-
}
|
|
123
|
-
// Disable interactive features when running from an AI coding agent
|
|
124
|
-
if (getExecutingAgent()) {
|
|
125
|
-
return false;
|
|
126
|
-
}
|
|
127
|
-
return !!process.stdout.isTTY || !!process.stderr.isTTY || process.env.FORCE_COLOR === '1';
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
/**
|
|
131
|
-
* Get terminal width, respecting COLUMNS env var for piped processes
|
|
132
|
-
*/
|
|
133
|
-
export function getTerminalWidth(defaultWidth = 80): number {
|
|
134
|
-
if (process.stdout.columns) {
|
|
135
|
-
return process.stdout.columns;
|
|
136
|
-
}
|
|
137
|
-
if (process.env.COLUMNS) {
|
|
138
|
-
const cols = parseInt(process.env.COLUMNS, 10);
|
|
139
|
-
if (!Number.isNaN(cols) && cols > 0) {
|
|
140
|
-
return cols;
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
return defaultWidth;
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
export function shouldUseColors(): boolean {
|
|
147
|
-
// FORCE_COLOR overrides TTY detection (used by fork wrapper)
|
|
148
|
-
if (process.env.FORCE_COLOR === '1') {
|
|
149
|
-
return true;
|
|
150
|
-
}
|
|
151
|
-
// Disable colors when running from an AI coding agent (cleaner output for parsing)
|
|
152
|
-
if (getExecutingAgent()) {
|
|
153
|
-
return false;
|
|
154
|
-
}
|
|
155
|
-
return (
|
|
156
|
-
!process.env.NO_COLOR &&
|
|
157
|
-
!process.env.CI &&
|
|
158
|
-
process.env.TERM !== 'dumb' &&
|
|
159
|
-
!!process.stdout.isTTY
|
|
160
|
-
);
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
// Color definitions (light/dark adaptive)
|
|
164
|
-
// Note: We use direct ANSI codes instead of Bun.color() because Bun.color()
|
|
165
|
-
// returns corrupted sequences when stdout is not a TTY (even with FORCE_COLOR=1)
|
|
166
|
-
function getColors() {
|
|
167
|
-
const USE_COLORS = shouldUseColors();
|
|
168
|
-
if (!USE_COLORS) {
|
|
169
|
-
return {
|
|
170
|
-
success: { light: '', dark: '' },
|
|
171
|
-
error: { light: '', dark: '' },
|
|
172
|
-
warning: { light: '', dark: '' },
|
|
173
|
-
info: { light: '', dark: '' },
|
|
174
|
-
muted: { light: '', dark: '' },
|
|
175
|
-
bold: { light: '', dark: '' },
|
|
176
|
-
link: { light: '', dark: '' },
|
|
177
|
-
primary: { light: '', dark: '' },
|
|
178
|
-
reset: '',
|
|
179
|
-
} as const;
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
return {
|
|
183
|
-
success: {
|
|
184
|
-
light: '\x1b[32m', // green
|
|
185
|
-
dark: '\x1b[92m', // bright green
|
|
186
|
-
},
|
|
187
|
-
error: {
|
|
188
|
-
light: '\x1b[31m', // red
|
|
189
|
-
dark: '\x1b[91m', // bright red
|
|
190
|
-
},
|
|
191
|
-
warning: {
|
|
192
|
-
light: '\x1b[33m', // yellow
|
|
193
|
-
dark: '\x1b[93m', // bright yellow
|
|
194
|
-
},
|
|
195
|
-
info: {
|
|
196
|
-
light: '\x1b[36m', // dark cyan
|
|
197
|
-
dark: '\x1b[96m', // bright cyan
|
|
198
|
-
},
|
|
199
|
-
muted: {
|
|
200
|
-
light: '\x1b[90m', // gray
|
|
201
|
-
dark: '\x1b[90m', // gray
|
|
202
|
-
},
|
|
203
|
-
bold: {
|
|
204
|
-
light: '\x1b[1m',
|
|
205
|
-
dark: '\x1b[1m',
|
|
206
|
-
},
|
|
207
|
-
link: {
|
|
208
|
-
light: '\x1b[34;4m', // blue underline
|
|
209
|
-
dark: '\x1b[94;4m', // bright blue underline
|
|
210
|
-
},
|
|
211
|
-
primary: {
|
|
212
|
-
light: '\x1b[30m', // black
|
|
213
|
-
dark: '\x1b[97m', // white
|
|
214
|
-
},
|
|
215
|
-
reset: '\x1b[0m',
|
|
216
|
-
} as const;
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
let currentColorScheme: ColorScheme = process.env.CI ? 'light' : 'dark';
|
|
220
|
-
|
|
221
|
-
export function setColorScheme(scheme: ColorScheme): void {
|
|
222
|
-
currentColorScheme = scheme;
|
|
223
|
-
process.env.COLOR_SCHEME = scheme;
|
|
224
|
-
}
|
|
225
|
-
|
|
226
|
-
export function isDarkMode(): boolean {
|
|
227
|
-
return currentColorScheme === 'dark';
|
|
228
|
-
}
|
|
229
|
-
|
|
230
|
-
export function getColor(colorKey: keyof ReturnType<typeof getColors>): string {
|
|
231
|
-
const COLORS = getColors();
|
|
232
|
-
const color = COLORS[colorKey];
|
|
233
|
-
if (typeof color === 'string') {
|
|
234
|
-
return color;
|
|
235
|
-
}
|
|
236
|
-
return color[currentColorScheme];
|
|
237
|
-
}
|
|
238
|
-
|
|
239
|
-
/**
|
|
240
|
-
* Color helpers that return colored strings (for inline use, no icons)
|
|
241
|
-
*/
|
|
242
|
-
export function colorSuccess(text: string): string {
|
|
243
|
-
const color = getColor('success');
|
|
244
|
-
const reset = getColor('reset');
|
|
245
|
-
return `${color}${text}${reset}`;
|
|
246
|
-
}
|
|
247
|
-
|
|
248
|
-
export function colorError(text: string): string {
|
|
249
|
-
const color = getColor('error');
|
|
250
|
-
const reset = getColor('reset');
|
|
251
|
-
return `${color}${text}${reset}`;
|
|
252
|
-
}
|
|
253
|
-
|
|
254
|
-
export function colorWarning(text: string): string {
|
|
255
|
-
const color = getColor('warning');
|
|
256
|
-
const reset = getColor('reset');
|
|
257
|
-
return `${color}${text}${reset}`;
|
|
258
|
-
}
|
|
259
|
-
|
|
260
|
-
export function colorInfo(text: string): string {
|
|
261
|
-
const color = getColor('info');
|
|
262
|
-
const reset = getColor('reset');
|
|
263
|
-
return `${color}${text}${reset}`;
|
|
264
|
-
}
|
|
265
|
-
|
|
266
|
-
export function colorMuted(text: string): string {
|
|
267
|
-
const color = getColor('muted');
|
|
268
|
-
const reset = getColor('reset');
|
|
269
|
-
return `${color}${text}${reset}`;
|
|
270
|
-
}
|
|
271
|
-
|
|
272
|
-
export function colorPrimary(text: string): string {
|
|
273
|
-
const color = getColor('primary');
|
|
274
|
-
const reset = getColor('reset');
|
|
275
|
-
return `${color}${text}${reset}`;
|
|
276
|
-
}
|
|
277
|
-
|
|
278
|
-
/**
|
|
279
|
-
* Get the appropriate color function for a log severity level
|
|
280
|
-
*/
|
|
281
|
-
export function getSeverityColor(severity: string): (text: string) => string {
|
|
282
|
-
switch (severity.toUpperCase()) {
|
|
283
|
-
case 'ERROR':
|
|
284
|
-
return colorError;
|
|
285
|
-
case 'WARN':
|
|
286
|
-
return colorWarning;
|
|
287
|
-
case 'INFO':
|
|
288
|
-
return colorInfo;
|
|
289
|
-
case 'DEBUG':
|
|
290
|
-
return colorMuted;
|
|
291
|
-
default:
|
|
292
|
-
return (text: string) => text;
|
|
293
|
-
}
|
|
294
|
-
}
|
|
295
|
-
|
|
296
|
-
/**
|
|
297
|
-
* Print a success message with a green checkmark
|
|
298
|
-
*/
|
|
299
|
-
export function success(message: string): void {
|
|
300
|
-
const color = getColor('success');
|
|
301
|
-
const reset = getColor('reset');
|
|
302
|
-
if (process.stderr.isTTY) {
|
|
303
|
-
// Clear line first to ensure no leftover content from previous output
|
|
304
|
-
process.stderr.write(`\r\x1b[2K${color}${ICONS.success} ${message}${reset}\n`);
|
|
305
|
-
} else {
|
|
306
|
-
// No ANSI control sequences for non-TTY streams (pipes, command substitution)
|
|
307
|
-
process.stderr.write(`${ICONS.success} ${message}\n`);
|
|
308
|
-
}
|
|
309
|
-
}
|
|
310
|
-
|
|
311
|
-
/**
|
|
312
|
-
* Print an error message with a red X
|
|
313
|
-
*/
|
|
314
|
-
export function error(message: string): void {
|
|
315
|
-
const color = getColor('error');
|
|
316
|
-
const reset = getColor('reset');
|
|
317
|
-
process.stderr.write(`${color}${ICONS.error} ${message}${reset}\n`);
|
|
318
|
-
}
|
|
319
|
-
|
|
320
|
-
/**
|
|
321
|
-
* Print an error message with a red X and then exit
|
|
322
|
-
*/
|
|
323
|
-
export function fatal(message: string, errorCode?: import('./errors').ErrorCode): never {
|
|
324
|
-
const color = getColor('error');
|
|
325
|
-
const reset = getColor('reset');
|
|
326
|
-
process.stderr.write(`${color}${ICONS.error} ${message}${reset}\n`);
|
|
327
|
-
|
|
328
|
-
if (errorCode) {
|
|
329
|
-
const exitCode = getExitCode(errorCode);
|
|
330
|
-
process.exit(exitCode);
|
|
331
|
-
} else {
|
|
332
|
-
process.exit(1);
|
|
333
|
-
}
|
|
334
|
-
}
|
|
335
|
-
|
|
336
|
-
/**
|
|
337
|
-
* Print a warning message with a yellow warning icon
|
|
338
|
-
*/
|
|
339
|
-
export function warning(message: string, asError = false): void {
|
|
340
|
-
const color = asError ? getColor('error') : getColor('warning');
|
|
341
|
-
const reset = getColor('reset');
|
|
342
|
-
process.stderr.write(`${color}${ICONS.warning} ${message}${reset}\n`);
|
|
343
|
-
}
|
|
344
|
-
|
|
345
|
-
/**
|
|
346
|
-
* Print an info message with a cyan info icon
|
|
347
|
-
*/
|
|
348
|
-
export function info(message: string): void {
|
|
349
|
-
const color = getColor('info');
|
|
350
|
-
const reset = getColor('reset');
|
|
351
|
-
process.stderr.write(`${color}${ICONS.info} ${message}${reset}\n`);
|
|
352
|
-
}
|
|
353
|
-
|
|
354
|
-
/**
|
|
355
|
-
* Format text in muted/gray color
|
|
356
|
-
*/
|
|
357
|
-
export function muted(text: string): string {
|
|
358
|
-
const color = getColor('muted');
|
|
359
|
-
const reset = getColor('reset');
|
|
360
|
-
return `${color}${text}${reset}`;
|
|
361
|
-
}
|
|
362
|
-
|
|
363
|
-
/**
|
|
364
|
-
* Format text in warn color
|
|
365
|
-
*/
|
|
366
|
-
export function warn(text: string): string {
|
|
367
|
-
const color = getColor('warning');
|
|
368
|
-
const reset = getColor('reset');
|
|
369
|
-
return `${color}${text}${reset}`;
|
|
370
|
-
}
|
|
371
|
-
|
|
372
|
-
/**
|
|
373
|
-
* Format text in bold
|
|
374
|
-
*/
|
|
375
|
-
export function bold(text: string): string {
|
|
376
|
-
const color = getColor('bold');
|
|
377
|
-
const reset = getColor('reset');
|
|
378
|
-
return `${color}${text}${reset}`;
|
|
379
|
-
}
|
|
380
|
-
|
|
381
|
-
/**
|
|
382
|
-
* Format text with white bold (or inverse for light mode)
|
|
383
|
-
* Used for table headings
|
|
384
|
-
*/
|
|
385
|
-
export function heading(text: string): string {
|
|
386
|
-
const color = getColor('info');
|
|
387
|
-
const reset = getColor('reset');
|
|
388
|
-
return `${color}${text}${reset}`;
|
|
389
|
-
}
|
|
390
|
-
|
|
391
|
-
/**
|
|
392
|
-
* Format text as a link (blue and underlined)
|
|
393
|
-
*/
|
|
394
|
-
export function link(url: string, title?: string, color = getColor('link')): string {
|
|
395
|
-
const reset = getColor('reset');
|
|
396
|
-
|
|
397
|
-
// Check if terminal supports hyperlinks (OSC 8) and colors are enabled
|
|
398
|
-
if (shouldUseColors() && supportsHyperlinks()) {
|
|
399
|
-
return `\x1b]8;;${url}\x07${color}${title ?? url}${reset}\x1b]8;;\x07`;
|
|
400
|
-
}
|
|
401
|
-
|
|
402
|
-
return `${color}${url}${reset}`;
|
|
403
|
-
}
|
|
404
|
-
|
|
405
|
-
/**
|
|
406
|
-
* Check if terminal supports OSC 8 hyperlinks
|
|
407
|
-
*/
|
|
408
|
-
export function supportsHyperlinks(): boolean {
|
|
409
|
-
// No hyperlink support without a TTY
|
|
410
|
-
if (!process.stdout.isTTY) {
|
|
411
|
-
return false;
|
|
412
|
-
}
|
|
413
|
-
|
|
414
|
-
const term = process.env.TERM || '';
|
|
415
|
-
const termProgram = process.env.TERM_PROGRAM || '';
|
|
416
|
-
const wtSession = process.env.WT_SESSION || '';
|
|
417
|
-
|
|
418
|
-
// Known terminal programs that support OSC 8
|
|
419
|
-
return (
|
|
420
|
-
termProgram.includes('iTerm.app') ||
|
|
421
|
-
termProgram.includes('WezTerm') ||
|
|
422
|
-
termProgram.includes('ghostty') ||
|
|
423
|
-
termProgram.includes('Apple_Terminal') ||
|
|
424
|
-
termProgram.includes('Hyper') ||
|
|
425
|
-
term.includes('xterm-kitty') ||
|
|
426
|
-
wtSession !== '' // Windows Terminal
|
|
427
|
-
);
|
|
428
|
-
}
|
|
429
|
-
|
|
430
|
-
export function fileUrl(file: string, line?: number, col?: number): string {
|
|
431
|
-
const abs = resolve(file);
|
|
432
|
-
|
|
433
|
-
// VS Code understands both file:// and vscode://,
|
|
434
|
-
// but vscode:// allows line + column everywhere
|
|
435
|
-
let url = `vscode://file/${abs}`;
|
|
436
|
-
|
|
437
|
-
if (line != null) {
|
|
438
|
-
url += `:${line}`;
|
|
439
|
-
if (col != null) url += `:${col}`;
|
|
440
|
-
}
|
|
441
|
-
|
|
442
|
-
return url;
|
|
443
|
-
}
|
|
444
|
-
|
|
445
|
-
export function sourceLink(
|
|
446
|
-
file: string,
|
|
447
|
-
line: number,
|
|
448
|
-
col: number,
|
|
449
|
-
display?: string,
|
|
450
|
-
color?: string
|
|
451
|
-
): string {
|
|
452
|
-
const label = `${file}:${line}:${col}`;
|
|
453
|
-
const url = fileUrl(file, line, col);
|
|
454
|
-
|
|
455
|
-
if (supportsHyperlinks()) {
|
|
456
|
-
return link(url, display ?? label, color);
|
|
457
|
-
}
|
|
458
|
-
|
|
459
|
-
// Cmd/Ctrl-click fallback
|
|
460
|
-
if (color) {
|
|
461
|
-
return color + label + getColor('reset');
|
|
462
|
-
}
|
|
463
|
-
|
|
464
|
-
return label;
|
|
465
|
-
}
|
|
466
|
-
|
|
467
|
-
/**
|
|
468
|
-
* Print a bulleted list item
|
|
469
|
-
*/
|
|
470
|
-
export function bullet(message: string): void {
|
|
471
|
-
process.stderr.write(`${ICONS.bullet} ${message}\n`);
|
|
472
|
-
}
|
|
473
|
-
|
|
474
|
-
/**
|
|
475
|
-
* Print an arrow item (for showing next steps)
|
|
476
|
-
*/
|
|
477
|
-
export function arrow(message: string): void {
|
|
478
|
-
process.stderr.write(`${ICONS.arrow} ${message}\n`);
|
|
479
|
-
}
|
|
480
|
-
|
|
481
|
-
/**
|
|
482
|
-
* Print a blank line
|
|
483
|
-
*/
|
|
484
|
-
export function newline(): void {
|
|
485
|
-
process.stderr.write('\n');
|
|
486
|
-
}
|
|
487
|
-
|
|
488
|
-
/**
|
|
489
|
-
* Print a section header without any prefix icon
|
|
490
|
-
*/
|
|
491
|
-
export function header(message: string): void {
|
|
492
|
-
const color = getColor('bold');
|
|
493
|
-
const reset = getColor('reset');
|
|
494
|
-
process.stderr.write(`${color}${message}${reset}\n`);
|
|
495
|
-
}
|
|
496
|
-
|
|
497
|
-
/**
|
|
498
|
-
* Print plain text output without any prefix or icon
|
|
499
|
-
* Use for primary command output that shouldn't have semantic formatting
|
|
500
|
-
*/
|
|
501
|
-
export function output(message: string): void {
|
|
502
|
-
console.log(message);
|
|
503
|
-
}
|
|
504
|
-
|
|
505
|
-
/**
|
|
506
|
-
* Get the display width of a string, handling ANSI codes and OSC 8 hyperlinks
|
|
507
|
-
*
|
|
508
|
-
* Note: Bun.stringWidth() counts OSC 8 hyperlink escape sequences in the width,
|
|
509
|
-
* which causes incorrect alignment. We strip OSC 8 codes first, then use Bun.stringWidth()
|
|
510
|
-
* to handle regular ANSI codes and unicode characters correctly.
|
|
511
|
-
*/
|
|
512
|
-
export function getDisplayWidth(str: string): number {
|
|
513
|
-
// Remove OSC-8 hyperlink sequences using Unicode escapes (\u001b = ESC, \u0007 = BEL) to satisfy linter
|
|
514
|
-
// eslint-disable-next-line no-control-regex
|
|
515
|
-
const withoutOSC8 = str.replace(/\u001b\]8;;[^\u0007]*\u0007/g, '');
|
|
516
|
-
return Bun.stringWidth(withoutOSC8);
|
|
517
|
-
}
|
|
518
|
-
|
|
519
|
-
/**
|
|
520
|
-
* Strip all ANSI escape sequences from a string
|
|
521
|
-
*/
|
|
522
|
-
export function stripAnsi(str: string): string {
|
|
523
|
-
/* eslint-disable no-control-regex */
|
|
524
|
-
return str
|
|
525
|
-
.replace(/\u001b\[[0-9;]*m/g, '') // SGR sequences (colors, bold, etc.)
|
|
526
|
-
.replace(/\u001b\[\?[0-9;]*[a-zA-Z]/g, '') // DEC private mode (cursor show/hide, etc.)
|
|
527
|
-
.replace(/\u001b\]8;;[^\u0007]*\u0007/g, ''); // OSC 8 hyperlinks
|
|
528
|
-
/* eslint-enable no-control-regex */
|
|
529
|
-
}
|
|
530
|
-
|
|
531
|
-
/**
|
|
532
|
-
* Truncate a string to a maximum display width, handling ANSI codes and Unicode correctly
|
|
533
|
-
* Preserves ANSI escape sequences and doesn't break multi-byte characters or grapheme clusters
|
|
534
|
-
*/
|
|
535
|
-
export function truncateToWidth(str: string, maxWidth: number, ellipsis = '...'): string {
|
|
536
|
-
const totalWidth = getDisplayWidth(str);
|
|
537
|
-
if (totalWidth <= maxWidth) {
|
|
538
|
-
return str;
|
|
539
|
-
}
|
|
540
|
-
|
|
541
|
-
// Strip ANSI to get visible text
|
|
542
|
-
const visible = stripAnsi(str);
|
|
543
|
-
|
|
544
|
-
// Use Intl.Segmenter for grapheme-aware iteration
|
|
545
|
-
const segmenter = new Intl.Segmenter('en', { granularity: 'grapheme' });
|
|
546
|
-
const segments = Array.from(segmenter.segment(visible));
|
|
547
|
-
|
|
548
|
-
// Find the cutoff point by accumulating display width
|
|
549
|
-
let currentWidth = 0;
|
|
550
|
-
let cutIndex = 0;
|
|
551
|
-
const targetWidth = maxWidth - ellipsis.length;
|
|
552
|
-
|
|
553
|
-
for (let i = 0; i < segments.length; i++) {
|
|
554
|
-
const seg = segments[i];
|
|
555
|
-
if (!seg) continue;
|
|
556
|
-
const segment = seg.segment;
|
|
557
|
-
const segmentWidth = Bun.stringWidth(segment);
|
|
558
|
-
|
|
559
|
-
if (currentWidth + segmentWidth > targetWidth) {
|
|
560
|
-
break;
|
|
561
|
-
}
|
|
562
|
-
|
|
563
|
-
currentWidth += segmentWidth;
|
|
564
|
-
cutIndex = seg.index + segment.length;
|
|
565
|
-
}
|
|
566
|
-
|
|
567
|
-
// Now reconstruct with ANSI codes preserved
|
|
568
|
-
// Walk through original string and copy characters + ANSI codes until we hit cutIndex in visible content
|
|
569
|
-
let result = '';
|
|
570
|
-
let visibleIndex = 0;
|
|
571
|
-
let i = 0;
|
|
572
|
-
|
|
573
|
-
while (i < str.length && visibleIndex < cutIndex) {
|
|
574
|
-
// Check for ANSI escape sequence
|
|
575
|
-
if (str[i] === '\u001b') {
|
|
576
|
-
/* eslint-disable no-control-regex */
|
|
577
|
-
// Copy entire SGR sequence (colors, bold, etc.)
|
|
578
|
-
const match = str.slice(i).match(/^\u001b\[[0-9;]*m/);
|
|
579
|
-
if (match) {
|
|
580
|
-
result += match[0];
|
|
581
|
-
i += match[0].length;
|
|
582
|
-
continue;
|
|
583
|
-
}
|
|
584
|
-
|
|
585
|
-
// Check for DEC private mode (cursor show/hide, etc.)
|
|
586
|
-
const decMatch = str.slice(i).match(/^\u001b\[\?[0-9;]*[a-zA-Z]/);
|
|
587
|
-
if (decMatch) {
|
|
588
|
-
result += decMatch[0];
|
|
589
|
-
i += decMatch[0].length;
|
|
590
|
-
continue;
|
|
591
|
-
}
|
|
592
|
-
|
|
593
|
-
// Check for OSC 8 hyperlink
|
|
594
|
-
const oscMatch = str.slice(i).match(/^\u001b\]8;;[^\u0007]*\u0007/);
|
|
595
|
-
if (oscMatch) {
|
|
596
|
-
result += oscMatch[0];
|
|
597
|
-
i += oscMatch[0].length;
|
|
598
|
-
continue;
|
|
599
|
-
}
|
|
600
|
-
/* eslint-enable no-control-regex */
|
|
601
|
-
}
|
|
602
|
-
|
|
603
|
-
// Copy visible character
|
|
604
|
-
result += str[i];
|
|
605
|
-
visibleIndex++;
|
|
606
|
-
i++;
|
|
607
|
-
}
|
|
608
|
-
|
|
609
|
-
return result + ellipsis;
|
|
610
|
-
}
|
|
611
|
-
|
|
612
|
-
/**
|
|
613
|
-
* Pad a string to a specific length on the right
|
|
614
|
-
*/
|
|
615
|
-
export function padRight(str: string, length: number, pad = ' '): string {
|
|
616
|
-
const displayWidth = getDisplayWidth(str);
|
|
617
|
-
if (displayWidth >= length) {
|
|
618
|
-
return str;
|
|
619
|
-
}
|
|
620
|
-
return str + pad.repeat(length - displayWidth);
|
|
621
|
-
}
|
|
622
|
-
|
|
623
|
-
/**
|
|
624
|
-
* Pad a string to a specific length on the left
|
|
625
|
-
*/
|
|
626
|
-
export function padLeft(str: string, length: number, pad = ' '): string {
|
|
627
|
-
const displayWidth = getDisplayWidth(str);
|
|
628
|
-
if (displayWidth >= length) {
|
|
629
|
-
return str;
|
|
630
|
-
}
|
|
631
|
-
return pad.repeat(length - displayWidth) + str;
|
|
632
|
-
}
|
|
633
|
-
|
|
634
|
-
interface BannerOptions {
|
|
635
|
-
padding?: number;
|
|
636
|
-
minWidth?: number;
|
|
637
|
-
topSpacer?: boolean;
|
|
638
|
-
middleSpacer?: boolean;
|
|
639
|
-
bottomSpacer?: boolean;
|
|
640
|
-
centerTitle?: boolean;
|
|
641
|
-
}
|
|
642
|
-
|
|
643
|
-
/**
|
|
644
|
-
* Display a formatted banner with title and body content
|
|
645
|
-
* Creates a bordered box around the content
|
|
646
|
-
*
|
|
647
|
-
* Uses Bun.stringWidth() for accurate width calculation with ANSI codes and unicode
|
|
648
|
-
* Responsive to terminal width - adapts to narrow terminals
|
|
649
|
-
*/
|
|
650
|
-
export function banner(title: string, body: string, options?: BannerOptions): void {
|
|
651
|
-
// Get terminal width, default to 120 if not available
|
|
652
|
-
const termWidth = getTerminalWidth(120);
|
|
653
|
-
|
|
654
|
-
const border = {
|
|
655
|
-
topLeft: '╭',
|
|
656
|
-
topRight: '╮',
|
|
657
|
-
bottomLeft: '╰',
|
|
658
|
-
bottomRight: '╯',
|
|
659
|
-
horizontal: '─',
|
|
660
|
-
vertical: '│',
|
|
661
|
-
};
|
|
662
|
-
|
|
663
|
-
// Calculate content width first (before wrapping)
|
|
664
|
-
const titleWidth = getDisplayWidth(title);
|
|
665
|
-
const bodyLines = body.split('\n');
|
|
666
|
-
const maxBodyWidth = Math.max(0, ...bodyLines.map((line) => getDisplayWidth(line)));
|
|
667
|
-
const requiredContentWidth = Math.max(titleWidth, maxBodyWidth);
|
|
668
|
-
|
|
669
|
-
// Box width = content + borders (2) + side spaces (2)
|
|
670
|
-
const boxWidth = Math.min(requiredContentWidth + 4, termWidth);
|
|
671
|
-
|
|
672
|
-
// If required content width exceeds terminal width, skip box and print plain text
|
|
673
|
-
if (requiredContentWidth + 4 > termWidth) {
|
|
674
|
-
console.log('\n' + bold(title));
|
|
675
|
-
console.log(body + '\n');
|
|
676
|
-
return;
|
|
677
|
-
}
|
|
678
|
-
|
|
679
|
-
// Inner width is box width minus borders (2) and side spaces (2)
|
|
680
|
-
const innerWidth = boxWidth - 4;
|
|
681
|
-
|
|
682
|
-
// Wrap text to fit box width
|
|
683
|
-
const wrappedBodyLines = wrapText(body, innerWidth);
|
|
684
|
-
|
|
685
|
-
// Colors
|
|
686
|
-
const borderColor = getColor('muted');
|
|
687
|
-
const titleColor = getColor('info');
|
|
688
|
-
const reset = getColor('reset');
|
|
689
|
-
|
|
690
|
-
// Build banner
|
|
691
|
-
const lines: string[] = [];
|
|
692
|
-
|
|
693
|
-
// Top border
|
|
694
|
-
lines.push(
|
|
695
|
-
`${borderColor}${border.topLeft}${border.horizontal.repeat(boxWidth - 2)}${border.topRight}${reset}`
|
|
696
|
-
);
|
|
697
|
-
|
|
698
|
-
if (options?.topSpacer === true || options?.topSpacer === undefined) {
|
|
699
|
-
// Empty line
|
|
700
|
-
lines.push(
|
|
701
|
-
`${borderColor}${border.vertical}${' '.repeat(boxWidth - 2)}${border.vertical}${reset}`
|
|
702
|
-
);
|
|
703
|
-
}
|
|
704
|
-
|
|
705
|
-
// Title (centered and bold)
|
|
706
|
-
const titleDisplayWidth = getDisplayWidth(title);
|
|
707
|
-
if (options?.centerTitle === true || options?.centerTitle === undefined) {
|
|
708
|
-
const titlePadding = Math.max(0, Math.floor((innerWidth - titleDisplayWidth) / 2));
|
|
709
|
-
const titleRightPadding = Math.max(0, innerWidth - titlePadding - titleDisplayWidth);
|
|
710
|
-
const titleLine =
|
|
711
|
-
' '.repeat(titlePadding) +
|
|
712
|
-
`${titleColor}${bold(title)}${reset}` +
|
|
713
|
-
' '.repeat(titleRightPadding);
|
|
714
|
-
lines.push(
|
|
715
|
-
`${borderColor}${border.vertical} ${reset}${titleLine}${borderColor} ${border.vertical}${reset}`
|
|
716
|
-
);
|
|
717
|
-
} else {
|
|
718
|
-
const titleRightPadding = Math.max(0, innerWidth - titleDisplayWidth);
|
|
719
|
-
const titleLine = `${titleColor}${bold(title)}${reset}` + ' '.repeat(titleRightPadding);
|
|
720
|
-
lines.push(
|
|
721
|
-
`${borderColor}${border.vertical} ${reset}${titleLine}${borderColor} ${border.vertical}${reset}`
|
|
722
|
-
);
|
|
723
|
-
}
|
|
724
|
-
|
|
725
|
-
if (options?.middleSpacer === true || options?.middleSpacer === undefined) {
|
|
726
|
-
// Empty line
|
|
727
|
-
lines.push(
|
|
728
|
-
`${borderColor}${border.vertical}${' '.repeat(boxWidth - 2)}${border.vertical}${reset}`
|
|
729
|
-
);
|
|
730
|
-
}
|
|
731
|
-
|
|
732
|
-
// Body lines
|
|
733
|
-
for (const line of wrappedBodyLines) {
|
|
734
|
-
const lineWidth = getDisplayWidth(line);
|
|
735
|
-
const linePadding = Math.max(0, innerWidth - lineWidth);
|
|
736
|
-
lines.push(
|
|
737
|
-
`${borderColor}${border.vertical} ${reset}${line}${' '.repeat(linePadding)}${borderColor} ${border.vertical}${reset}`
|
|
738
|
-
);
|
|
739
|
-
}
|
|
740
|
-
|
|
741
|
-
if (options?.bottomSpacer === true || options?.bottomSpacer === undefined) {
|
|
742
|
-
// Empty line
|
|
743
|
-
lines.push(
|
|
744
|
-
`${borderColor}${border.vertical}${' '.repeat(boxWidth - 2)}${border.vertical}${reset}`
|
|
745
|
-
);
|
|
746
|
-
}
|
|
747
|
-
|
|
748
|
-
// Bottom border
|
|
749
|
-
lines.push(
|
|
750
|
-
`${borderColor}${border.bottomLeft}${border.horizontal.repeat(boxWidth - 2)}${border.bottomRight}${reset}`
|
|
751
|
-
);
|
|
752
|
-
|
|
753
|
-
// Print the banner
|
|
754
|
-
console.log('\n' + lines.join('\n') + '\n');
|
|
755
|
-
}
|
|
756
|
-
|
|
757
|
-
/**
|
|
758
|
-
* Wait for any key press before continuing
|
|
759
|
-
* Displays a prompt message and waits for user input
|
|
760
|
-
* Exits the process on CTRL+C
|
|
761
|
-
*/
|
|
762
|
-
export async function waitForAnyKey(message = 'Press Enter to continue...'): Promise<void> {
|
|
763
|
-
process.stdout.write(muted(message));
|
|
764
|
-
|
|
765
|
-
// Check if we're in a TTY environment
|
|
766
|
-
if (!process.stdin.isTTY) {
|
|
767
|
-
// Not a TTY (CI/piped), just write newline and exit
|
|
768
|
-
console.log('');
|
|
769
|
-
return Promise.resolve();
|
|
770
|
-
}
|
|
771
|
-
|
|
772
|
-
// Set stdin to raw mode to read a single keypress
|
|
773
|
-
process.stdin.setRawMode(true);
|
|
774
|
-
process.stdin.resume();
|
|
775
|
-
let rawModeSet = true;
|
|
776
|
-
|
|
777
|
-
return new Promise((resolve) => {
|
|
778
|
-
process.stdin.once('data', (data: Buffer) => {
|
|
779
|
-
if (rawModeSet && process.stdin.isTTY) {
|
|
780
|
-
process.stdin.setRawMode(false);
|
|
781
|
-
rawModeSet = false;
|
|
782
|
-
}
|
|
783
|
-
process.stdin.pause();
|
|
784
|
-
|
|
785
|
-
// Check for CTRL+C (character code 3)
|
|
786
|
-
if (data.length === 1 && data[0] === 3) {
|
|
787
|
-
console.log('\n');
|
|
788
|
-
process.exit(0);
|
|
789
|
-
}
|
|
790
|
-
|
|
791
|
-
console.log('');
|
|
792
|
-
resolve();
|
|
793
|
-
});
|
|
794
|
-
});
|
|
795
|
-
}
|
|
796
|
-
|
|
797
|
-
/**
|
|
798
|
-
* Prompts user with a yes/no question
|
|
799
|
-
* Returns true for yes, false for no
|
|
800
|
-
* Exits process if CTRL+C is pressed
|
|
801
|
-
*/
|
|
802
|
-
export async function confirm(message: string, defaultValue = true): Promise<boolean> {
|
|
803
|
-
const suffix = defaultValue ? '[Y/n]' : '[y/N]';
|
|
804
|
-
process.stdout.write(`${message} ${muted(suffix)} `);
|
|
805
|
-
|
|
806
|
-
// Check if we're in a TTY environment
|
|
807
|
-
if (!process.stdin.isTTY) {
|
|
808
|
-
console.log('');
|
|
809
|
-
return defaultValue;
|
|
810
|
-
}
|
|
811
|
-
|
|
812
|
-
// Set stdin to raw mode to read a single keypress
|
|
813
|
-
process.stdin.setRawMode(true);
|
|
814
|
-
process.stdin.resume();
|
|
815
|
-
let rawModeSet = true;
|
|
816
|
-
|
|
817
|
-
return new Promise((resolve) => {
|
|
818
|
-
process.stdin.once('data', (data: Buffer) => {
|
|
819
|
-
if (rawModeSet && process.stdin.isTTY) {
|
|
820
|
-
process.stdin.setRawMode(false);
|
|
821
|
-
rawModeSet = false;
|
|
822
|
-
}
|
|
823
|
-
process.stdin.pause();
|
|
824
|
-
|
|
825
|
-
// Check for CTRL+C (character code 3)
|
|
826
|
-
if (data.length === 1 && data[0] === 3) {
|
|
827
|
-
console.log('\n');
|
|
828
|
-
process.exit(0);
|
|
829
|
-
}
|
|
830
|
-
|
|
831
|
-
const input = data.toString().trim().toLowerCase();
|
|
832
|
-
console.log('');
|
|
833
|
-
|
|
834
|
-
// Enter key (just newline) uses default
|
|
835
|
-
if (input === '') {
|
|
836
|
-
resolve(defaultValue);
|
|
837
|
-
return;
|
|
838
|
-
}
|
|
839
|
-
|
|
840
|
-
// Check first character for y/n
|
|
841
|
-
const char = input.charAt(0);
|
|
842
|
-
if (char === 'y') {
|
|
843
|
-
resolve(true);
|
|
844
|
-
} else if (char === 'n') {
|
|
845
|
-
resolve(false);
|
|
846
|
-
} else {
|
|
847
|
-
// Invalid input, use default
|
|
848
|
-
resolve(defaultValue);
|
|
849
|
-
}
|
|
850
|
-
});
|
|
851
|
-
});
|
|
852
|
-
}
|
|
853
|
-
|
|
854
|
-
/**
|
|
855
|
-
* Display a signup benefits box with cyan border
|
|
856
|
-
* Shows the value proposition for creating an Agentuity account
|
|
857
|
-
*/
|
|
858
|
-
export function showSignupBenefits(): void {
|
|
859
|
-
const CYAN = Bun.color('cyan', 'ansi-16m');
|
|
860
|
-
const TEXT =
|
|
861
|
-
currentColorScheme === 'dark' ? Bun.color('white', 'ansi') : Bun.color('black', 'ansi');
|
|
862
|
-
const RESET = '\x1b[0m';
|
|
863
|
-
|
|
864
|
-
const lines = [
|
|
865
|
-
'╔════════════════════════════════════════════╗',
|
|
866
|
-
`║ ⨺ Signup for Agentuity ${muted('free')}${CYAN} ║`,
|
|
867
|
-
'║ ║',
|
|
868
|
-
`║ ✓ ${TEXT}Cloud deployment, previews and CI/CD${CYAN} ║`,
|
|
869
|
-
`║ ✓ ${TEXT}AI Gateway, KV, Vector and more${CYAN} ║`,
|
|
870
|
-
`║ ✓ ${TEXT}Observability, Tracing and Logging${CYAN} ║`,
|
|
871
|
-
`║ ✓ ${TEXT}Organization and Team support${CYAN} ║`,
|
|
872
|
-
`║ ✓ ${TEXT}And much more!${CYAN} ║`,
|
|
873
|
-
'╚════════════════════════════════════════════╝',
|
|
874
|
-
];
|
|
875
|
-
|
|
876
|
-
console.log('');
|
|
877
|
-
lines.map((line) => console.log(CYAN + line + RESET));
|
|
878
|
-
console.log('');
|
|
879
|
-
}
|
|
880
|
-
|
|
881
|
-
/**
|
|
882
|
-
* Display a message when unauthenticated to let the user know certain capabilities are disabled
|
|
883
|
-
* @param hasProfile - If true, user has logged in before so only show "Login" instead of "Sign up / Login"
|
|
884
|
-
*/
|
|
885
|
-
export function showLoggedOutMessage(appBaseUrl: string, hasProfile = false): void {
|
|
886
|
-
const YELLOW = Bun.color('yellow', 'ansi-16m');
|
|
887
|
-
const TEXT =
|
|
888
|
-
currentColorScheme === 'dark' ? Bun.color('white', 'ansi') : Bun.color('black', 'ansi');
|
|
889
|
-
const RESET = '\x1b[0m';
|
|
890
|
-
|
|
891
|
-
const signupTitle = hasProfile ? 'Login' : 'Sign up / Login';
|
|
892
|
-
const signupURL = hasProfile ? `${appBaseUrl}/sign-in` : `${appBaseUrl}/sign-up`;
|
|
893
|
-
const showInline = supportsHyperlinks();
|
|
894
|
-
const signupLink = showInline
|
|
895
|
-
? link(signupURL, signupTitle)
|
|
896
|
-
: ' '.repeat(stringWidth(signupTitle));
|
|
897
|
-
// Box inner width is 46 chars, "unauthenticated. " = 17 chars
|
|
898
|
-
// Padding needed: 46 - 17 - signupTitle.length - 1 (space before link) = 28 - signupTitle.length
|
|
899
|
-
const paddingLength = 28 - signupTitle.length;
|
|
900
|
-
const padding = ' '.repeat(paddingLength);
|
|
901
|
-
// When not showing inline hyperlink, show URL on separate line with proper padding
|
|
902
|
-
// Box format: "║ " + content + "║" = 48 chars total
|
|
903
|
-
// Content area = 46 chars, with leading space = 45 chars for URL + padding
|
|
904
|
-
const urlPadding = Math.max(0, 45 - signupURL.length);
|
|
905
|
-
const showNewLine = showInline
|
|
906
|
-
? ''
|
|
907
|
-
: `║ ${RESET}${link(signupURL)}${YELLOW}${' '.repeat(urlPadding)}║`;
|
|
908
|
-
|
|
909
|
-
const lines = [
|
|
910
|
-
'╔══════════════════════════════════════════════╗',
|
|
911
|
-
`║ ⨺ Unauthenticated (local mode) ║`,
|
|
912
|
-
'║ ║',
|
|
913
|
-
`║ ${TEXT}Certain capabilities such as the AI services${YELLOW} ║`,
|
|
914
|
-
`║ ${TEXT}and devmode remote are unavailable when${YELLOW} ║`,
|
|
915
|
-
`║ ${TEXT}unauthenticated.${YELLOW} ${signupLink}${YELLOW}${padding}║`,
|
|
916
|
-
showNewLine,
|
|
917
|
-
'╚══════════════════════════════════════════════╝',
|
|
918
|
-
];
|
|
919
|
-
|
|
920
|
-
console.log('');
|
|
921
|
-
lines.filter(Boolean).map((line) => console.log(YELLOW + line + RESET));
|
|
922
|
-
console.log('');
|
|
923
|
-
console.log('');
|
|
924
|
-
}
|
|
925
|
-
|
|
926
|
-
/**
|
|
927
|
-
* Display a warning when running in local-only mode (no agentuity.json project config)
|
|
928
|
-
* This is shown during `agentuity dev` when the project hasn't been registered with Agentuity Cloud
|
|
929
|
-
*/
|
|
930
|
-
export function showLocalOnlyWarning(): void {
|
|
931
|
-
const YELLOW = Bun.color('yellow', 'ansi-16m');
|
|
932
|
-
const TEXT =
|
|
933
|
-
currentColorScheme === 'dark' ? Bun.color('white', 'ansi') : Bun.color('black', 'ansi');
|
|
934
|
-
const RESET = '\x1b[0m';
|
|
935
|
-
|
|
936
|
-
const lines = [
|
|
937
|
-
'╔═══════════════════════════════════════════════════════════════╗',
|
|
938
|
-
`║ ⨺ Local-only mode ║`,
|
|
939
|
-
'║ ║',
|
|
940
|
-
`║ ${TEXT}This project is not registered with Agentuity Cloud.${YELLOW} ║`,
|
|
941
|
-
`║ ${TEXT}The following features are disabled:${YELLOW} ║`,
|
|
942
|
-
`║ ${TEXT}• AI Gateway (LLM calls require provider API keys)${YELLOW} ║`,
|
|
943
|
-
`║ ${TEXT}• Public URL / Remote access${YELLOW} ║`,
|
|
944
|
-
`║ ${TEXT}• Dashboard / Tracing / Observability${YELLOW} ║`,
|
|
945
|
-
'║ ║',
|
|
946
|
-
`║ ${TEXT}To enable cloud features, create a project and login.${YELLOW} ║`,
|
|
947
|
-
`║ ${TEXT}Or set provider API keys (e.g. OPENAI_API_KEY) in .env${YELLOW} ║`,
|
|
948
|
-
'╚═══════════════════════════════════════════════════════════════╝',
|
|
949
|
-
];
|
|
950
|
-
|
|
951
|
-
console.log('');
|
|
952
|
-
lines.map((line) => console.log(YELLOW + line + RESET));
|
|
953
|
-
console.log('');
|
|
954
|
-
}
|
|
955
|
-
|
|
956
|
-
/**
|
|
957
|
-
* Copy text to clipboard
|
|
958
|
-
* Returns true if successful, false otherwise
|
|
959
|
-
*/
|
|
960
|
-
export async function copyToClipboard(text: string): Promise<boolean> {
|
|
961
|
-
try {
|
|
962
|
-
const platform = process.platform;
|
|
963
|
-
|
|
964
|
-
if (platform === 'darwin') {
|
|
965
|
-
// macOS - use pbcopy
|
|
966
|
-
const proc = Bun.spawn(['pbcopy'], {
|
|
967
|
-
stdin: 'pipe',
|
|
968
|
-
});
|
|
969
|
-
proc.stdin.write(text);
|
|
970
|
-
proc.stdin.end();
|
|
971
|
-
await proc.exited;
|
|
972
|
-
return proc.exitCode === 0;
|
|
973
|
-
} else if (platform === 'win32') {
|
|
974
|
-
// Windows - use clip
|
|
975
|
-
const proc = Bun.spawn(['clip'], {
|
|
976
|
-
stdin: 'pipe',
|
|
977
|
-
});
|
|
978
|
-
proc.stdin.write(text);
|
|
979
|
-
proc.stdin.end();
|
|
980
|
-
await proc.exited;
|
|
981
|
-
return proc.exitCode === 0;
|
|
982
|
-
} else {
|
|
983
|
-
// Linux - try xclip first, then xsel
|
|
984
|
-
try {
|
|
985
|
-
const proc = Bun.spawn(['xclip', '-selection', 'clipboard'], {
|
|
986
|
-
stdin: 'pipe',
|
|
987
|
-
});
|
|
988
|
-
proc.stdin.write(text);
|
|
989
|
-
proc.stdin.end();
|
|
990
|
-
await proc.exited;
|
|
991
|
-
return proc.exitCode === 0;
|
|
992
|
-
} catch {
|
|
993
|
-
// Try xsel as fallback
|
|
994
|
-
const proc = Bun.spawn(['xsel', '--clipboard', '--input'], {
|
|
995
|
-
stdin: 'pipe',
|
|
996
|
-
});
|
|
997
|
-
proc.stdin.write(text);
|
|
998
|
-
proc.stdin.end();
|
|
999
|
-
await proc.exited;
|
|
1000
|
-
return proc.exitCode === 0;
|
|
1001
|
-
}
|
|
1002
|
-
}
|
|
1003
|
-
} catch {
|
|
1004
|
-
return false;
|
|
1005
|
-
}
|
|
1006
|
-
}
|
|
1007
|
-
|
|
1008
|
-
/**
|
|
1009
|
-
* Extract ANSI codes from the beginning of a string
|
|
1010
|
-
*/
|
|
1011
|
-
function extractLeadingAnsiCodes(str: string): string {
|
|
1012
|
-
// Match ANSI escape sequences at the start of the string
|
|
1013
|
-
// eslint-disable-next-line no-control-regex
|
|
1014
|
-
const match = str.match(/^(\x1b\[[0-9;]*m)+/);
|
|
1015
|
-
return match ? match[0] : '';
|
|
1016
|
-
}
|
|
1017
|
-
|
|
1018
|
-
/**
|
|
1019
|
-
* Strip ANSI codes from a string
|
|
1020
|
-
*/
|
|
1021
|
-
function stripAnsiCodes(str: string): string {
|
|
1022
|
-
// Remove all ANSI escape sequences
|
|
1023
|
-
/* eslint-disable no-control-regex */
|
|
1024
|
-
return str
|
|
1025
|
-
.replace(/\x1b\[[0-9;]*m/g, '') // SGR sequences
|
|
1026
|
-
.replace(/\x1b\[\?[0-9;]*[a-zA-Z]/g, ''); // DEC private mode
|
|
1027
|
-
/* eslint-enable no-control-regex */
|
|
1028
|
-
}
|
|
1029
|
-
|
|
1030
|
-
/**
|
|
1031
|
-
* Check if a string ends with ANSI reset code
|
|
1032
|
-
*/
|
|
1033
|
-
function endsWithReset(str: string): boolean {
|
|
1034
|
-
return str.endsWith('\x1b[0m') || str.endsWith(getColor('reset'));
|
|
1035
|
-
}
|
|
1036
|
-
|
|
1037
|
-
/**
|
|
1038
|
-
* Wrap text to a maximum width
|
|
1039
|
-
* Handles explicit newlines and word wrapping
|
|
1040
|
-
* Preserves ANSI color codes across wrapped lines
|
|
1041
|
-
*/
|
|
1042
|
-
export function wrapText(text: string, maxWidth: number): string[] {
|
|
1043
|
-
const allLines: string[] = [];
|
|
1044
|
-
|
|
1045
|
-
// First split by explicit newlines
|
|
1046
|
-
const paragraphs = text.split('\n');
|
|
1047
|
-
|
|
1048
|
-
for (const paragraph of paragraphs) {
|
|
1049
|
-
// Skip empty paragraphs (they become blank lines)
|
|
1050
|
-
if (paragraph.trim() === '') {
|
|
1051
|
-
allLines.push('');
|
|
1052
|
-
continue;
|
|
1053
|
-
}
|
|
1054
|
-
|
|
1055
|
-
// Record starting index for this paragraph's lines
|
|
1056
|
-
const paragraphStart = allLines.length;
|
|
1057
|
-
|
|
1058
|
-
// Extract any leading ANSI codes from the paragraph
|
|
1059
|
-
const leadingCodes = extractLeadingAnsiCodes(paragraph);
|
|
1060
|
-
const hasReset = endsWithReset(paragraph);
|
|
1061
|
-
|
|
1062
|
-
// Wrap each paragraph
|
|
1063
|
-
const words = paragraph.split(' ');
|
|
1064
|
-
let currentLine = '';
|
|
1065
|
-
|
|
1066
|
-
for (const word of words) {
|
|
1067
|
-
const testLine = currentLine ? `${currentLine} ${word}` : word;
|
|
1068
|
-
const testLineWidth = getDisplayWidth(testLine);
|
|
1069
|
-
|
|
1070
|
-
if (testLineWidth <= maxWidth) {
|
|
1071
|
-
currentLine = testLine;
|
|
1072
|
-
} else {
|
|
1073
|
-
// If current line has content, save it
|
|
1074
|
-
if (currentLine) {
|
|
1075
|
-
allLines.push(currentLine);
|
|
1076
|
-
}
|
|
1077
|
-
// If the word itself is longer than maxWidth, just use it as is
|
|
1078
|
-
// (better to have a long line than break in the middle)
|
|
1079
|
-
// But if we have leading codes and this isn't the first line, apply them
|
|
1080
|
-
if (leadingCodes && currentLine) {
|
|
1081
|
-
// Strip any existing codes from the word to avoid duplication
|
|
1082
|
-
const strippedWord = stripAnsiCodes(word);
|
|
1083
|
-
currentLine = leadingCodes + strippedWord;
|
|
1084
|
-
} else {
|
|
1085
|
-
currentLine = word;
|
|
1086
|
-
}
|
|
1087
|
-
}
|
|
1088
|
-
}
|
|
1089
|
-
|
|
1090
|
-
if (currentLine) {
|
|
1091
|
-
allLines.push(currentLine);
|
|
1092
|
-
}
|
|
1093
|
-
|
|
1094
|
-
// If the original paragraph had ANSI codes and ended with reset,
|
|
1095
|
-
// ensure each wrapped line ends with reset (only for this paragraph's lines)
|
|
1096
|
-
if (leadingCodes && hasReset) {
|
|
1097
|
-
for (let i = paragraphStart; i < allLines.length; i++) {
|
|
1098
|
-
const line = allLines[i];
|
|
1099
|
-
if (line !== undefined && !endsWithReset(line)) {
|
|
1100
|
-
allLines[i] = line + getColor('reset');
|
|
1101
|
-
}
|
|
1102
|
-
}
|
|
1103
|
-
}
|
|
1104
|
-
}
|
|
1105
|
-
|
|
1106
|
-
return allLines.length > 0 ? allLines : [''];
|
|
1107
|
-
}
|
|
1108
|
-
|
|
1109
|
-
/**
|
|
1110
|
-
* Progress callback for spinner
|
|
1111
|
-
*/
|
|
1112
|
-
export type SpinnerProgressCallback = (progress: number) => void;
|
|
1113
|
-
|
|
1114
|
-
/**
|
|
1115
|
-
* Log callback for spinner
|
|
1116
|
-
*/
|
|
1117
|
-
export type SpinnerLogCallback = (message: string) => void;
|
|
1118
|
-
|
|
1119
|
-
/**
|
|
1120
|
-
* Spinner options (simple without progress)
|
|
1121
|
-
*/
|
|
1122
|
-
export interface SimpleSpinnerOptions<T> {
|
|
1123
|
-
type?: 'simple';
|
|
1124
|
-
message: string;
|
|
1125
|
-
callback: (() => Promise<T>) | Promise<T>;
|
|
1126
|
-
/**
|
|
1127
|
-
* If true, clear the spinner output on success (no icon, no message)
|
|
1128
|
-
* Defaults to false
|
|
1129
|
-
*/
|
|
1130
|
-
clearOnSuccess?: boolean;
|
|
1131
|
-
/**
|
|
1132
|
-
* If true, suppress the error message display on failure (for custom error handling)
|
|
1133
|
-
* Defaults to false
|
|
1134
|
-
*/
|
|
1135
|
-
clearOnError?: boolean;
|
|
1136
|
-
}
|
|
1137
|
-
|
|
1138
|
-
/**
|
|
1139
|
-
* Spinner options (with progress tracking)
|
|
1140
|
-
*/
|
|
1141
|
-
export interface ProgressSpinnerOptions<T> {
|
|
1142
|
-
type: 'progress';
|
|
1143
|
-
message: string;
|
|
1144
|
-
callback: (progress: SpinnerProgressCallback) => Promise<T>;
|
|
1145
|
-
/**
|
|
1146
|
-
* If true, clear the spinner output on success (no icon, no message)
|
|
1147
|
-
* Defaults to false
|
|
1148
|
-
*/
|
|
1149
|
-
clearOnSuccess?: boolean;
|
|
1150
|
-
/**
|
|
1151
|
-
* If true, suppress the error message display on failure (for custom error handling)
|
|
1152
|
-
* Defaults to false
|
|
1153
|
-
*/
|
|
1154
|
-
clearOnError?: boolean;
|
|
1155
|
-
}
|
|
1156
|
-
|
|
1157
|
-
/**
|
|
1158
|
-
* Spinner options (with logger streaming)
|
|
1159
|
-
*/
|
|
1160
|
-
export interface LoggerSpinnerOptions<T> {
|
|
1161
|
-
type: 'logger';
|
|
1162
|
-
message: string;
|
|
1163
|
-
callback: (log: SpinnerLogCallback) => Promise<T>;
|
|
1164
|
-
/**
|
|
1165
|
-
* If true, clear the spinner output on success (no icon, no message)
|
|
1166
|
-
* Defaults to false
|
|
1167
|
-
*/
|
|
1168
|
-
clearOnSuccess?: boolean;
|
|
1169
|
-
/**
|
|
1170
|
-
* Maximum number of log lines to show while running
|
|
1171
|
-
* If < 0, shows all lines. Defaults to 3.
|
|
1172
|
-
*/
|
|
1173
|
-
maxLines?: number;
|
|
1174
|
-
}
|
|
1175
|
-
|
|
1176
|
-
/**
|
|
1177
|
-
* Spinner options (with countdown timer)
|
|
1178
|
-
*/
|
|
1179
|
-
export interface CountdownSpinnerOptions<T> {
|
|
1180
|
-
type: 'countdown';
|
|
1181
|
-
message: string;
|
|
1182
|
-
timeoutMs: number;
|
|
1183
|
-
callback: () => Promise<T>;
|
|
1184
|
-
/**
|
|
1185
|
-
* If true, clear the spinner output on success (no icon, no message)
|
|
1186
|
-
* Defaults to false
|
|
1187
|
-
*/
|
|
1188
|
-
clearOnSuccess?: boolean;
|
|
1189
|
-
/**
|
|
1190
|
-
* Optional callback to handle Enter key press
|
|
1191
|
-
* Can be used to open a URL in the browser
|
|
1192
|
-
*/
|
|
1193
|
-
onEnterPress?: () => void;
|
|
1194
|
-
}
|
|
1195
|
-
|
|
1196
|
-
/**
|
|
1197
|
-
* Spinner options (discriminated union)
|
|
1198
|
-
*/
|
|
1199
|
-
export type SpinnerOptions<T> =
|
|
1200
|
-
| SimpleSpinnerOptions<T>
|
|
1201
|
-
| ProgressSpinnerOptions<T>
|
|
1202
|
-
| LoggerSpinnerOptions<T>
|
|
1203
|
-
| CountdownSpinnerOptions<T>;
|
|
1204
|
-
|
|
1205
|
-
/**
|
|
1206
|
-
* Run a callback with an animated spinner (simple overload)
|
|
1207
|
-
*
|
|
1208
|
-
* Shows a spinner animation while the callback executes.
|
|
1209
|
-
* On success, shows a checkmark. On error, shows an X and re-throws.
|
|
1210
|
-
*
|
|
1211
|
-
* @param message - The message to display next to the spinner
|
|
1212
|
-
* @param callback - Async function or Promise to execute
|
|
1213
|
-
*/
|
|
1214
|
-
export async function spinner<T>(
|
|
1215
|
-
message: string,
|
|
1216
|
-
callback: (() => Promise<T>) | Promise<T>
|
|
1217
|
-
): Promise<T>;
|
|
1218
|
-
|
|
1219
|
-
/**
|
|
1220
|
-
* Run a callback with an animated spinner (options overload)
|
|
1221
|
-
*
|
|
1222
|
-
* Shows a spinner animation while the callback executes.
|
|
1223
|
-
* On success, shows a checkmark. On error, shows an X and re-throws.
|
|
1224
|
-
*
|
|
1225
|
-
* @param options - Spinner options with optional progress tracking
|
|
1226
|
-
*/
|
|
1227
|
-
export async function spinner<T>(options: SpinnerOptions<T>): Promise<T>;
|
|
1228
|
-
|
|
1229
|
-
export async function spinner<T>(
|
|
1230
|
-
messageOrOptions: string | SpinnerOptions<T>,
|
|
1231
|
-
callback?: (() => Promise<T>) | Promise<T>
|
|
1232
|
-
): Promise<T> {
|
|
1233
|
-
// Normalize to options format
|
|
1234
|
-
let options: SpinnerOptions<T>;
|
|
1235
|
-
if (typeof messageOrOptions === 'string') {
|
|
1236
|
-
if (callback === undefined) {
|
|
1237
|
-
throw new Error('callback is required when first argument is a string');
|
|
1238
|
-
}
|
|
1239
|
-
options = { type: 'simple', message: messageOrOptions, callback };
|
|
1240
|
-
} else {
|
|
1241
|
-
options = messageOrOptions;
|
|
1242
|
-
}
|
|
1243
|
-
|
|
1244
|
-
// assume true by default
|
|
1245
|
-
if (options.clearOnSuccess === undefined) {
|
|
1246
|
-
options.clearOnSuccess = true;
|
|
1247
|
-
}
|
|
1248
|
-
|
|
1249
|
-
const message = options.message;
|
|
1250
|
-
const reset = getColor('reset');
|
|
1251
|
-
|
|
1252
|
-
// Check if progress should be disabled (from global options)
|
|
1253
|
-
const { getOutputOptions, shouldDisableProgress } = await import('./output');
|
|
1254
|
-
const outputOptions = getOutputOptions();
|
|
1255
|
-
const noProgress = outputOptions ? shouldDisableProgress(outputOptions) : false;
|
|
1256
|
-
const isJsonMode = outputOptions?.json === true;
|
|
1257
|
-
|
|
1258
|
-
// If stderr is not a real terminal or progress disabled, just execute
|
|
1259
|
-
// the callback without animation. We check stderr specifically because
|
|
1260
|
-
// the spinner writes ANSI sequences to stderr — isTTYLike() may return
|
|
1261
|
-
// true when stdout is a TTY but stderr is piped (e.g. 2>&1 in $()).
|
|
1262
|
-
if (!process.stderr.isTTY || noProgress) {
|
|
1263
|
-
try {
|
|
1264
|
-
const result =
|
|
1265
|
-
options.type === 'progress'
|
|
1266
|
-
? await options.callback(() => {})
|
|
1267
|
-
: options.type === 'logger'
|
|
1268
|
-
? await options.callback((logMessage: string) => {
|
|
1269
|
-
// In JSON mode, don't write logs to stdout
|
|
1270
|
-
if (!isJsonMode) {
|
|
1271
|
-
process.stdout.write(logMessage + '\n');
|
|
1272
|
-
}
|
|
1273
|
-
})
|
|
1274
|
-
: options.type === 'countdown'
|
|
1275
|
-
? await options.callback()
|
|
1276
|
-
: typeof options.callback === 'function'
|
|
1277
|
-
? await options.callback()
|
|
1278
|
-
: await options.callback;
|
|
1279
|
-
|
|
1280
|
-
// If clearOnSuccess is true, don't show success message
|
|
1281
|
-
// Also skip success message in JSON mode
|
|
1282
|
-
if (!options.clearOnSuccess && !isJsonMode) {
|
|
1283
|
-
const successColor = getColor('success');
|
|
1284
|
-
console.error(`${successColor}${ICONS.success} ${message}${reset}`);
|
|
1285
|
-
}
|
|
1286
|
-
|
|
1287
|
-
return result;
|
|
1288
|
-
} catch (err) {
|
|
1289
|
-
const clearOnError =
|
|
1290
|
-
(options.type === 'progress' || options.type === 'simple') && options.clearOnError;
|
|
1291
|
-
if (!clearOnError && !isJsonMode) {
|
|
1292
|
-
const errorColor = getColor('error');
|
|
1293
|
-
console.error(`${errorColor}${ICONS.error} ${message}${reset}`);
|
|
1294
|
-
}
|
|
1295
|
-
throw err;
|
|
1296
|
-
}
|
|
1297
|
-
}
|
|
1298
|
-
|
|
1299
|
-
const frames = ['◐', '◓', '◑', '◒'];
|
|
1300
|
-
const spinnerColors = [
|
|
1301
|
-
{ light: '\x1b[36m', dark: '\x1b[96m' }, // cyan
|
|
1302
|
-
{ light: '\x1b[34m', dark: '\x1b[94m' }, // blue
|
|
1303
|
-
{ light: '\x1b[35m', dark: '\x1b[95m' }, // magenta
|
|
1304
|
-
{ light: '\x1b[36m', dark: '\x1b[96m' }, // cyan
|
|
1305
|
-
];
|
|
1306
|
-
const bold = '\x1b[1m';
|
|
1307
|
-
const cyanColor = { light: '\x1b[36m', dark: '\x1b[96m' }[currentColorScheme];
|
|
1308
|
-
|
|
1309
|
-
let frameIndex = 0;
|
|
1310
|
-
let currentProgress: number | undefined;
|
|
1311
|
-
let remainingTime: number | undefined;
|
|
1312
|
-
const logLines: string[] = [];
|
|
1313
|
-
const maxLines = options.type === 'logger' ? (options.maxLines ?? 3) : 0;
|
|
1314
|
-
const mutedColor = getColor('muted');
|
|
1315
|
-
let linesRendered = 0;
|
|
1316
|
-
|
|
1317
|
-
// Get terminal width for truncation
|
|
1318
|
-
const termWidth = getTerminalWidth(80);
|
|
1319
|
-
const maxLineWidth = Math.min(80, termWidth);
|
|
1320
|
-
|
|
1321
|
-
// Function to render spinner with optional log lines
|
|
1322
|
-
const renderSpinner = () => {
|
|
1323
|
-
// Move cursor up to start of our output area if we've rendered before
|
|
1324
|
-
if (linesRendered > 0) {
|
|
1325
|
-
process.stderr.write(`\x1b[${linesRendered}A`);
|
|
1326
|
-
}
|
|
1327
|
-
|
|
1328
|
-
const colorDef = spinnerColors[frameIndex % spinnerColors.length] ?? spinnerColors[0];
|
|
1329
|
-
const color = colorDef?.[currentColorScheme] ?? '';
|
|
1330
|
-
const frame = `${color}${bold}${frames[frameIndex % frames.length] ?? ''}${reset}`;
|
|
1331
|
-
|
|
1332
|
-
// Add progress indicator or countdown timer if available
|
|
1333
|
-
let indicator = '';
|
|
1334
|
-
if (currentProgress !== undefined) {
|
|
1335
|
-
indicator = ` ${cyanColor}${Math.floor(currentProgress)}%${reset}`;
|
|
1336
|
-
} else if (remainingTime !== undefined) {
|
|
1337
|
-
const minutes = Math.floor(remainingTime / 60);
|
|
1338
|
-
const seconds = Math.floor(remainingTime % 60);
|
|
1339
|
-
const timeStr = minutes > 0 ? `${minutes}m ${seconds}s` : `${seconds}s`;
|
|
1340
|
-
indicator = ` ${mutedColor}(${timeStr} remaining)${reset}`;
|
|
1341
|
-
}
|
|
1342
|
-
|
|
1343
|
-
// Render spinner line
|
|
1344
|
-
process.stderr.write(`\r\x1b[K${frame} ${message}${indicator}\n`);
|
|
1345
|
-
|
|
1346
|
-
// Render log lines if in logger mode
|
|
1347
|
-
if (options.type === 'logger') {
|
|
1348
|
-
const displayLines = maxLines < 0 ? logLines : logLines.slice(-maxLines);
|
|
1349
|
-
for (const line of displayLines) {
|
|
1350
|
-
const displayLine =
|
|
1351
|
-
getDisplayWidth(line) > maxLineWidth ? truncateToWidth(line, maxLineWidth) : line;
|
|
1352
|
-
process.stderr.write(`\r\x1b[K${mutedColor}${displayLine}${reset}\n`);
|
|
1353
|
-
}
|
|
1354
|
-
linesRendered = 1 + displayLines.length;
|
|
1355
|
-
} else {
|
|
1356
|
-
linesRendered = 1;
|
|
1357
|
-
}
|
|
1358
|
-
|
|
1359
|
-
frameIndex++;
|
|
1360
|
-
};
|
|
1361
|
-
|
|
1362
|
-
// Save cursor position and hide cursor
|
|
1363
|
-
process.stderr.write('\x1B[s\x1B[?25l');
|
|
1364
|
-
|
|
1365
|
-
// Initial render
|
|
1366
|
-
renderSpinner();
|
|
1367
|
-
|
|
1368
|
-
// Start animation
|
|
1369
|
-
const interval = setInterval(renderSpinner, 120);
|
|
1370
|
-
|
|
1371
|
-
// Progress callback
|
|
1372
|
-
const progressCallback: SpinnerProgressCallback = (progress: number) => {
|
|
1373
|
-
currentProgress = Math.min(100, Math.max(0, progress));
|
|
1374
|
-
};
|
|
1375
|
-
|
|
1376
|
-
// Log callback
|
|
1377
|
-
const logCallback: SpinnerLogCallback = (logMessage: string) => {
|
|
1378
|
-
logLines.push(logMessage);
|
|
1379
|
-
};
|
|
1380
|
-
|
|
1381
|
-
// Countdown interval tracking
|
|
1382
|
-
let countdownInterval: NodeJS.Timeout | undefined;
|
|
1383
|
-
let keypressListener: ((chunk: Buffer) => void) | undefined;
|
|
1384
|
-
|
|
1385
|
-
// Helper to clean up all resources
|
|
1386
|
-
const cleanup = () => {
|
|
1387
|
-
if (countdownInterval) {
|
|
1388
|
-
clearInterval(countdownInterval);
|
|
1389
|
-
}
|
|
1390
|
-
if (keypressListener) {
|
|
1391
|
-
process.stdin.off('data', keypressListener);
|
|
1392
|
-
if (process.stdin.isTTY) {
|
|
1393
|
-
process.stdin.setRawMode(false);
|
|
1394
|
-
process.stdin.pause();
|
|
1395
|
-
}
|
|
1396
|
-
}
|
|
1397
|
-
process.off('SIGINT', cleanupAndExit);
|
|
1398
|
-
};
|
|
1399
|
-
|
|
1400
|
-
// Set up SIGINT handler for clean exit
|
|
1401
|
-
const cleanupAndExit = () => {
|
|
1402
|
-
cleanup();
|
|
1403
|
-
|
|
1404
|
-
// Stop animation
|
|
1405
|
-
clearInterval(interval);
|
|
1406
|
-
|
|
1407
|
-
// Move cursor to start of output, clear only our lines (not to end of screen)
|
|
1408
|
-
if (linesRendered > 0) {
|
|
1409
|
-
process.stderr.write(`\x1b[${linesRendered}A`);
|
|
1410
|
-
for (let i = 0; i < linesRendered; i++) {
|
|
1411
|
-
process.stderr.write('\x1b[2K'); // Clear entire line
|
|
1412
|
-
if (i < linesRendered - 1) {
|
|
1413
|
-
process.stderr.write('\x1b[B'); // Move down one line
|
|
1414
|
-
}
|
|
1415
|
-
}
|
|
1416
|
-
process.stderr.write(`\x1b[${linesRendered}A\r`); // Move back up
|
|
1417
|
-
}
|
|
1418
|
-
process.stderr.write('\x1B[?25h'); // Show cursor
|
|
1419
|
-
|
|
1420
|
-
process.exit(130); // Standard exit code for SIGINT
|
|
1421
|
-
};
|
|
1422
|
-
|
|
1423
|
-
process.on('SIGINT', cleanupAndExit);
|
|
1424
|
-
|
|
1425
|
-
try {
|
|
1426
|
-
// For countdown, set up timer tracking and optional keyboard listener
|
|
1427
|
-
if (options.type === 'countdown') {
|
|
1428
|
-
const startTime = Date.now();
|
|
1429
|
-
remainingTime = options.timeoutMs / 1000;
|
|
1430
|
-
countdownInterval = setInterval(() => {
|
|
1431
|
-
const elapsed = Date.now() - startTime;
|
|
1432
|
-
remainingTime = Math.max(0, (options.timeoutMs - elapsed) / 1000);
|
|
1433
|
-
}, 100);
|
|
1434
|
-
|
|
1435
|
-
// Set up Enter key listener if callback provided
|
|
1436
|
-
if (options.onEnterPress && process.stdin.isTTY) {
|
|
1437
|
-
process.stdin.setRawMode(true);
|
|
1438
|
-
process.stdin.resume();
|
|
1439
|
-
|
|
1440
|
-
keypressListener = (chunk: Buffer) => {
|
|
1441
|
-
const key = chunk.toString();
|
|
1442
|
-
// Check for Enter key (both \r and \n)
|
|
1443
|
-
if (key === '\r' || key === '\n') {
|
|
1444
|
-
options.onEnterPress!();
|
|
1445
|
-
}
|
|
1446
|
-
// Check for Ctrl+C - let it propagate as SIGINT
|
|
1447
|
-
if (key === '\x03') {
|
|
1448
|
-
process.kill(process.pid, 'SIGINT');
|
|
1449
|
-
}
|
|
1450
|
-
};
|
|
1451
|
-
|
|
1452
|
-
process.stdin.on('data', keypressListener);
|
|
1453
|
-
}
|
|
1454
|
-
}
|
|
1455
|
-
|
|
1456
|
-
// Execute callback
|
|
1457
|
-
const result =
|
|
1458
|
-
options.type === 'countdown'
|
|
1459
|
-
? await options.callback()
|
|
1460
|
-
: options.type === 'progress'
|
|
1461
|
-
? await options.callback(progressCallback)
|
|
1462
|
-
: options.type === 'logger'
|
|
1463
|
-
? await options.callback(logCallback)
|
|
1464
|
-
: typeof options.callback === 'function'
|
|
1465
|
-
? await options.callback()
|
|
1466
|
-
: await options.callback;
|
|
1467
|
-
|
|
1468
|
-
cleanup();
|
|
1469
|
-
|
|
1470
|
-
// Stop animation first
|
|
1471
|
-
clearInterval(interval);
|
|
1472
|
-
|
|
1473
|
-
// Move cursor to start of output, clear only our lines (not to end of screen)
|
|
1474
|
-
if (linesRendered > 0) {
|
|
1475
|
-
process.stderr.write(`\x1b[${linesRendered}A`);
|
|
1476
|
-
for (let i = 0; i < linesRendered; i++) {
|
|
1477
|
-
process.stderr.write('\r\x1b[2K'); // Clear entire line
|
|
1478
|
-
if (i < linesRendered - 1) {
|
|
1479
|
-
process.stderr.write('\x1b[B'); // Move down one line
|
|
1480
|
-
}
|
|
1481
|
-
}
|
|
1482
|
-
// After loop, cursor is at last cleared line (linesRendered - 1 from start)
|
|
1483
|
-
// Move up (linesRendered - 1) to get back to start position
|
|
1484
|
-
if (linesRendered > 1) {
|
|
1485
|
-
process.stderr.write(`\x1b[${linesRendered - 1}A`);
|
|
1486
|
-
}
|
|
1487
|
-
process.stderr.write('\r');
|
|
1488
|
-
}
|
|
1489
|
-
process.stderr.write('\x1B[?25h'); // Show cursor
|
|
1490
|
-
|
|
1491
|
-
// If clearOnSuccess is false, show success message
|
|
1492
|
-
if (!options.clearOnSuccess) {
|
|
1493
|
-
// Show success
|
|
1494
|
-
const successColor = getColor('success');
|
|
1495
|
-
console.error(`${successColor}${ICONS.success} ${message}${reset}`);
|
|
1496
|
-
}
|
|
1497
|
-
|
|
1498
|
-
return result;
|
|
1499
|
-
} catch (err) {
|
|
1500
|
-
cleanup();
|
|
1501
|
-
|
|
1502
|
-
// Stop animation first
|
|
1503
|
-
clearInterval(interval);
|
|
1504
|
-
|
|
1505
|
-
// Move cursor to start of output, clear only our lines (not to end of screen)
|
|
1506
|
-
if (linesRendered > 0) {
|
|
1507
|
-
process.stderr.write(`\x1b[${linesRendered}A`);
|
|
1508
|
-
for (let i = 0; i < linesRendered; i++) {
|
|
1509
|
-
process.stderr.write('\r\x1b[2K'); // Clear entire line
|
|
1510
|
-
if (i < linesRendered - 1) {
|
|
1511
|
-
process.stderr.write('\x1b[B'); // Move down one line
|
|
1512
|
-
}
|
|
1513
|
-
}
|
|
1514
|
-
// After loop, cursor is at last cleared line (linesRendered - 1 from start)
|
|
1515
|
-
// Move up (linesRendered - 1) to get back to start position
|
|
1516
|
-
if (linesRendered > 1) {
|
|
1517
|
-
process.stderr.write(`\x1b[${linesRendered - 1}A`);
|
|
1518
|
-
}
|
|
1519
|
-
process.stderr.write('\r');
|
|
1520
|
-
}
|
|
1521
|
-
process.stderr.write('\x1B[?25h'); // Show cursor
|
|
1522
|
-
|
|
1523
|
-
// Show error (unless clearOnError is set for custom error handling)
|
|
1524
|
-
const clearOnError =
|
|
1525
|
-
(options.type === 'progress' || options.type === 'simple') && options.clearOnError;
|
|
1526
|
-
if (!clearOnError) {
|
|
1527
|
-
const errorColor = getColor('error');
|
|
1528
|
-
const errorMessage = err instanceof Error ? err.message : String(err);
|
|
1529
|
-
console.error(`${errorColor}${ICONS.error} ${message}: ${errorMessage}${reset}`);
|
|
1530
|
-
}
|
|
1531
|
-
|
|
1532
|
-
throw err;
|
|
1533
|
-
}
|
|
1534
|
-
}
|
|
1535
|
-
|
|
1536
|
-
/**
|
|
1537
|
-
* Alias for spinner function (for better semantics when using progress/logger types)
|
|
1538
|
-
*/
|
|
1539
|
-
export const progress = spinner;
|
|
1540
|
-
|
|
1541
|
-
/**
|
|
1542
|
-
* Options for running a command with streaming output
|
|
1543
|
-
*/
|
|
1544
|
-
export interface CommandRunnerOptions {
|
|
1545
|
-
/**
|
|
1546
|
-
* The command to run (displayed in the UI)
|
|
1547
|
-
*/
|
|
1548
|
-
command: string;
|
|
1549
|
-
/**
|
|
1550
|
-
* The actual command and arguments to execute
|
|
1551
|
-
*/
|
|
1552
|
-
cmd: string[];
|
|
1553
|
-
/**
|
|
1554
|
-
* Current working directory
|
|
1555
|
-
*/
|
|
1556
|
-
cwd?: string;
|
|
1557
|
-
/**
|
|
1558
|
-
* Environment variables
|
|
1559
|
-
*/
|
|
1560
|
-
env?: Record<string, string>;
|
|
1561
|
-
/**
|
|
1562
|
-
* If true, clear output on success and only show command + success icon
|
|
1563
|
-
* Defaults to false
|
|
1564
|
-
*/
|
|
1565
|
-
clearOnSuccess?: boolean;
|
|
1566
|
-
/**
|
|
1567
|
-
* If true or undefined, will truncate each line of output
|
|
1568
|
-
*/
|
|
1569
|
-
truncate?: boolean;
|
|
1570
|
-
/**
|
|
1571
|
-
* If undefined, will show up to 3 last lines of output while running. Customize the number with this property.
|
|
1572
|
-
*/
|
|
1573
|
-
maxLinesOutput?: number;
|
|
1574
|
-
/**
|
|
1575
|
-
* If undefined, will show up to 10 last lines on failure. Customize the number with this property.
|
|
1576
|
-
*/
|
|
1577
|
-
maxLinesOnFailure?: number;
|
|
1578
|
-
}
|
|
1579
|
-
|
|
1580
|
-
/**
|
|
1581
|
-
* Run an external command and stream its output with a live UI
|
|
1582
|
-
*
|
|
1583
|
-
* Displays the command with a colored $ prompt:
|
|
1584
|
-
* - Blue while running
|
|
1585
|
-
* - Green on successful exit (code 0)
|
|
1586
|
-
* - Red on failed exit (code != 0)
|
|
1587
|
-
*
|
|
1588
|
-
* Shows the last 3 lines of output as it streams.
|
|
1589
|
-
*/
|
|
1590
|
-
export async function runCommand(options: CommandRunnerOptions): Promise<number> {
|
|
1591
|
-
const {
|
|
1592
|
-
command,
|
|
1593
|
-
cmd,
|
|
1594
|
-
cwd,
|
|
1595
|
-
env,
|
|
1596
|
-
clearOnSuccess = false,
|
|
1597
|
-
truncate = true,
|
|
1598
|
-
maxLinesOutput = 3,
|
|
1599
|
-
maxLinesOnFailure = 10,
|
|
1600
|
-
} = options;
|
|
1601
|
-
const isTTY = process.stdout.isTTY;
|
|
1602
|
-
|
|
1603
|
-
// If not a TTY, just run the command normally and log output
|
|
1604
|
-
if (!isTTY) {
|
|
1605
|
-
const proc = Bun.spawn(cmd, {
|
|
1606
|
-
cwd,
|
|
1607
|
-
env: { ...process.env, ...env },
|
|
1608
|
-
stdout: 'inherit',
|
|
1609
|
-
stderr: 'inherit',
|
|
1610
|
-
});
|
|
1611
|
-
return await proc.exited;
|
|
1612
|
-
}
|
|
1613
|
-
|
|
1614
|
-
// Colors using Bun.color
|
|
1615
|
-
const blue =
|
|
1616
|
-
currentColorScheme === 'light'
|
|
1617
|
-
? Bun.color('#0000FF', 'ansi') || '\x1b[34m'
|
|
1618
|
-
: Bun.color('#5C9CFF', 'ansi') || '\x1b[94m';
|
|
1619
|
-
const green = getColor('success');
|
|
1620
|
-
const red = getColor('error');
|
|
1621
|
-
const cmdColor =
|
|
1622
|
-
currentColorScheme === 'light'
|
|
1623
|
-
? '\x1b[1m' + (Bun.color('#00008B', 'ansi') || '\x1b[34m')
|
|
1624
|
-
: Bun.color('#FFFFFF', 'ansi') || '\x1b[97m'; // bold dark blue / white
|
|
1625
|
-
const mutedColor = Bun.color('#808080', 'ansi') || '\x1b[90m';
|
|
1626
|
-
const reset = getColor('reset');
|
|
1627
|
-
|
|
1628
|
-
// Get terminal width
|
|
1629
|
-
const termWidth = getTerminalWidth(80);
|
|
1630
|
-
const maxCmdWidth = Math.min(40, termWidth);
|
|
1631
|
-
const maxLineWidth = Math.min(80, termWidth);
|
|
1632
|
-
|
|
1633
|
-
// Truncate command if needed
|
|
1634
|
-
const displayCmd =
|
|
1635
|
-
getDisplayWidth(command) > maxCmdWidth ? truncateToWidth(command, maxCmdWidth) : command;
|
|
1636
|
-
|
|
1637
|
-
// Store all output lines, display subset based on context
|
|
1638
|
-
const allOutputLines: string[] = [];
|
|
1639
|
-
let linesRendered = 0;
|
|
1640
|
-
|
|
1641
|
-
// Hide cursor
|
|
1642
|
-
process.stdout.write('\x1B[?25l');
|
|
1643
|
-
|
|
1644
|
-
// Render the command and output lines in place
|
|
1645
|
-
const renderOutput = (linesToShow: number) => {
|
|
1646
|
-
// Move cursor up to start of our output area
|
|
1647
|
-
if (linesRendered > 0) {
|
|
1648
|
-
process.stdout.write(`\x1b[${linesRendered}A`);
|
|
1649
|
-
}
|
|
1650
|
-
|
|
1651
|
-
// Render command line
|
|
1652
|
-
process.stdout.write(`\r\x1b[K${blue}$${reset} ${cmdColor}${displayCmd}${reset}\n`);
|
|
1653
|
-
|
|
1654
|
-
// Get last N lines to display
|
|
1655
|
-
const displayLines = allOutputLines.slice(-linesToShow);
|
|
1656
|
-
|
|
1657
|
-
// Render output lines
|
|
1658
|
-
for (const line of displayLines) {
|
|
1659
|
-
const displayLine =
|
|
1660
|
-
getDisplayWidth(line) > maxLineWidth ? truncateToWidth(line, maxLineWidth) : line;
|
|
1661
|
-
process.stdout.write(`\r\x1b[K${mutedColor}${displayLine}${reset}\n`);
|
|
1662
|
-
}
|
|
1663
|
-
|
|
1664
|
-
// Update count of lines we've rendered (command + output lines)
|
|
1665
|
-
linesRendered = 1 + displayLines.length;
|
|
1666
|
-
};
|
|
1667
|
-
|
|
1668
|
-
// Initial display
|
|
1669
|
-
renderOutput(maxLinesOutput);
|
|
1670
|
-
|
|
1671
|
-
try {
|
|
1672
|
-
// Spawn the command
|
|
1673
|
-
const proc = Bun.spawn(cmd, {
|
|
1674
|
-
cwd,
|
|
1675
|
-
env: { ...process.env, ...env },
|
|
1676
|
-
stdout: 'pipe',
|
|
1677
|
-
stderr: 'pipe',
|
|
1678
|
-
});
|
|
1679
|
-
|
|
1680
|
-
// Process output streams
|
|
1681
|
-
const processStream = async (stream: ReadableStream<Uint8Array>) => {
|
|
1682
|
-
const reader = stream.getReader();
|
|
1683
|
-
const decoder = new TextDecoder();
|
|
1684
|
-
let buffer = '';
|
|
1685
|
-
|
|
1686
|
-
try {
|
|
1687
|
-
while (true) {
|
|
1688
|
-
const { done, value } = await reader.read();
|
|
1689
|
-
if (done) break;
|
|
1690
|
-
|
|
1691
|
-
buffer += decoder.decode(value, { stream: true });
|
|
1692
|
-
const lines = buffer.split('\n');
|
|
1693
|
-
buffer = lines.pop() || ''; // Keep incomplete line in buffer
|
|
1694
|
-
|
|
1695
|
-
for (const line of lines) {
|
|
1696
|
-
if (line.trim()) {
|
|
1697
|
-
// Strip ANSI codes from command output to prevent cursor/display issues
|
|
1698
|
-
allOutputLines.push(stripAnsi(line));
|
|
1699
|
-
renderOutput(maxLinesOutput); // Show last N lines while streaming
|
|
1700
|
-
}
|
|
1701
|
-
}
|
|
1702
|
-
}
|
|
1703
|
-
} finally {
|
|
1704
|
-
reader.releaseLock();
|
|
1705
|
-
}
|
|
1706
|
-
};
|
|
1707
|
-
|
|
1708
|
-
// Process both stdout and stderr
|
|
1709
|
-
await Promise.all([processStream(proc.stdout), processStream(proc.stderr)]);
|
|
1710
|
-
|
|
1711
|
-
// Wait for process to exit
|
|
1712
|
-
const exitCode = await proc.exited;
|
|
1713
|
-
|
|
1714
|
-
// If clearOnSuccess is true and command succeeded, clear everything
|
|
1715
|
-
if (clearOnSuccess && exitCode === 0) {
|
|
1716
|
-
if (linesRendered > 0) {
|
|
1717
|
-
// Move up to the command line
|
|
1718
|
-
process.stdout.write(`\x1b[${linesRendered}A`);
|
|
1719
|
-
// Clear each line (entire line)
|
|
1720
|
-
for (let i = 0; i < linesRendered; i++) {
|
|
1721
|
-
process.stdout.write('\r\x1b[2K'); // Clear entire line
|
|
1722
|
-
if (i < linesRendered - 1) {
|
|
1723
|
-
process.stdout.write('\x1b[B'); // Move down one line
|
|
1724
|
-
}
|
|
1725
|
-
}
|
|
1726
|
-
// After loop, cursor is at last cleared line (linesRendered - 1 from start)
|
|
1727
|
-
// Move up (linesRendered - 1) to get back to start position
|
|
1728
|
-
if (linesRendered > 1) {
|
|
1729
|
-
process.stdout.write(`\x1b[${linesRendered - 1}A`);
|
|
1730
|
-
}
|
|
1731
|
-
process.stdout.write('\r');
|
|
1732
|
-
}
|
|
1733
|
-
return exitCode;
|
|
1734
|
-
}
|
|
1735
|
-
|
|
1736
|
-
// Determine how many lines to show in final output
|
|
1737
|
-
const finalLinesToShow = exitCode === 0 ? maxLinesOutput : maxLinesOnFailure;
|
|
1738
|
-
const finalOutputLines = allOutputLines.slice(-finalLinesToShow);
|
|
1739
|
-
|
|
1740
|
-
// Clear all rendered lines completely (only our lines, not previous output)
|
|
1741
|
-
if (linesRendered > 0) {
|
|
1742
|
-
// Move up to the command line (first line of our output)
|
|
1743
|
-
process.stdout.write(`\x1b[${linesRendered}A`);
|
|
1744
|
-
// Clear the lines we rendered during streaming
|
|
1745
|
-
for (let i = 0; i < linesRendered; i++) {
|
|
1746
|
-
process.stdout.write('\r\x1b[2K'); // Clear entire line
|
|
1747
|
-
if (i < linesRendered - 1) {
|
|
1748
|
-
process.stdout.write('\x1b[B'); // Move down one line
|
|
1749
|
-
}
|
|
1750
|
-
}
|
|
1751
|
-
// After loop, cursor is at last cleared line (linesRendered - 1 from start)
|
|
1752
|
-
// Move up (linesRendered - 1) to get back to start position
|
|
1753
|
-
if (linesRendered > 1) {
|
|
1754
|
-
process.stdout.write(`\x1b[${linesRendered - 1}A`);
|
|
1755
|
-
}
|
|
1756
|
-
process.stdout.write('\r');
|
|
1757
|
-
}
|
|
1758
|
-
|
|
1759
|
-
// Determine icon based on exit code
|
|
1760
|
-
const icon = exitCode === 0 ? ICONS.success : ICONS.error;
|
|
1761
|
-
const statusColor = exitCode === 0 ? green : red;
|
|
1762
|
-
|
|
1763
|
-
// Show final status: icon + command
|
|
1764
|
-
process.stdout.write(
|
|
1765
|
-
`\r\x1b[K${statusColor}${icon}${reset} ${cmdColor}${displayCmd}${reset}\n`
|
|
1766
|
-
);
|
|
1767
|
-
|
|
1768
|
-
// Show final output lines (clearing each line first in case we're using more lines than before)
|
|
1769
|
-
for (const line of finalOutputLines) {
|
|
1770
|
-
const displayLine =
|
|
1771
|
-
truncate && getDisplayWidth(line) > maxLineWidth
|
|
1772
|
-
? truncateToWidth(line, maxLineWidth)
|
|
1773
|
-
: line;
|
|
1774
|
-
process.stdout.write(`\x1b[2K${mutedColor}${displayLine}${reset}\n`);
|
|
1775
|
-
}
|
|
1776
|
-
|
|
1777
|
-
// If we're showing more lines than we had before, the extra lines may contain old content
|
|
1778
|
-
// We've already written over them, so they're clean now
|
|
1779
|
-
|
|
1780
|
-
return exitCode;
|
|
1781
|
-
} catch (err) {
|
|
1782
|
-
// Move cursor up to clear our UI
|
|
1783
|
-
if (linesRendered > 0) {
|
|
1784
|
-
process.stdout.write(`\x1b[${linesRendered}A`);
|
|
1785
|
-
// Clear all our lines
|
|
1786
|
-
for (let i = 0; i < linesRendered; i++) {
|
|
1787
|
-
process.stdout.write('\r\x1b[K\n');
|
|
1788
|
-
}
|
|
1789
|
-
process.stdout.write(`\x1b[${linesRendered}A`);
|
|
1790
|
-
}
|
|
1791
|
-
|
|
1792
|
-
// Show error status
|
|
1793
|
-
process.stdout.write(`\r\x1b[K${red}$${reset} ${cmdColor}${displayCmd}${reset}\n`);
|
|
1794
|
-
|
|
1795
|
-
// Log the error
|
|
1796
|
-
const errorMsg = err instanceof Error ? err.message : String(err);
|
|
1797
|
-
console.error(`${red}${ICONS.error} Failed to spawn command: ${errorMsg}${reset}`);
|
|
1798
|
-
if (cwd) {
|
|
1799
|
-
console.error(`${mutedColor} cwd: ${cwd}${reset}`);
|
|
1800
|
-
}
|
|
1801
|
-
console.error(`${mutedColor} cmd: ${cmd.join(' ')}${reset}`);
|
|
1802
|
-
|
|
1803
|
-
return 1; // Return non-zero exit code
|
|
1804
|
-
} finally {
|
|
1805
|
-
// Always restore cursor visibility
|
|
1806
|
-
process.stdout.write('\x1B[?25h');
|
|
1807
|
-
}
|
|
1808
|
-
}
|
|
1809
|
-
|
|
1810
|
-
/**
|
|
1811
|
-
* Prompt user for text input
|
|
1812
|
-
* Returns the input string
|
|
1813
|
-
*/
|
|
1814
|
-
export async function prompt(message: string): Promise<string> {
|
|
1815
|
-
process.stdout.write(message);
|
|
1816
|
-
|
|
1817
|
-
// Check if we're in a TTY environment
|
|
1818
|
-
if (!process.stdin.isTTY) {
|
|
1819
|
-
console.log('');
|
|
1820
|
-
return '';
|
|
1821
|
-
}
|
|
1822
|
-
|
|
1823
|
-
// Use readline for full line input
|
|
1824
|
-
const rl = readline.createInterface({
|
|
1825
|
-
input: process.stdin,
|
|
1826
|
-
output: process.stdout,
|
|
1827
|
-
});
|
|
1828
|
-
|
|
1829
|
-
return new Promise((resolve) => {
|
|
1830
|
-
rl.question('', (answer: string) => {
|
|
1831
|
-
rl.close();
|
|
1832
|
-
resolve(answer);
|
|
1833
|
-
});
|
|
1834
|
-
});
|
|
1835
|
-
}
|
|
1836
|
-
|
|
1837
|
-
/**
|
|
1838
|
-
* Select an organization from a list.
|
|
1839
|
-
*
|
|
1840
|
-
* @param orgs - List of organizations to choose from
|
|
1841
|
-
* @param initial - Preferred org ID to pre-select (from saved preferences)
|
|
1842
|
-
* @param autoSelect - If true, auto-select preferred org without prompting (for --confirm or non-interactive)
|
|
1843
|
-
* @returns The selected organization ID
|
|
1844
|
-
*/
|
|
1845
|
-
export async function selectOrganization(
|
|
1846
|
-
orgs: OrganizationList,
|
|
1847
|
-
initial?: string,
|
|
1848
|
-
autoSelect?: boolean
|
|
1849
|
-
): Promise<string> {
|
|
1850
|
-
if (orgs.length === 0) {
|
|
1851
|
-
fatal(
|
|
1852
|
-
'You do not belong to any organizations.\n' +
|
|
1853
|
-
'Please contact support or create an organization at https://agentuity.com'
|
|
1854
|
-
);
|
|
1855
|
-
}
|
|
1856
|
-
|
|
1857
|
-
// 1. Environment variable always takes precedence
|
|
1858
|
-
if (process.env.AGENTUITY_CLOUD_ORG_ID) {
|
|
1859
|
-
const org = orgs.find((o) => o.id === process.env.AGENTUITY_CLOUD_ORG_ID);
|
|
1860
|
-
if (org) {
|
|
1861
|
-
return org.id;
|
|
1862
|
-
}
|
|
1863
|
-
}
|
|
1864
|
-
|
|
1865
|
-
// 2. Auto-select if only one org (regardless of TTY mode or autoSelect)
|
|
1866
|
-
if (orgs.length === 1 && orgs[0]) {
|
|
1867
|
-
return orgs[0].id;
|
|
1868
|
-
}
|
|
1869
|
-
|
|
1870
|
-
// 3. Auto-select mode (--confirm flag or explicit autoSelect)
|
|
1871
|
-
// Use preferred org if set, otherwise fall back to first org
|
|
1872
|
-
if (autoSelect) {
|
|
1873
|
-
if (initial) {
|
|
1874
|
-
const initialOrg = orgs.find((o) => o.id === initial);
|
|
1875
|
-
if (initialOrg) {
|
|
1876
|
-
return initialOrg.id;
|
|
1877
|
-
}
|
|
1878
|
-
}
|
|
1879
|
-
// Fall back to first org with warning
|
|
1880
|
-
const firstOrg = orgs[0];
|
|
1881
|
-
if (firstOrg) {
|
|
1882
|
-
warning(
|
|
1883
|
-
`Multiple organizations found. Auto-selecting first org: ${firstOrg.name}. ` +
|
|
1884
|
-
`Set AGENTUITY_CLOUD_ORG_ID, use --org-id, or run 'agentuity auth org select' to set a default.`
|
|
1885
|
-
);
|
|
1886
|
-
return firstOrg.id;
|
|
1887
|
-
}
|
|
1888
|
-
}
|
|
1889
|
-
|
|
1890
|
-
// 4. Check for non-interactive environment (check both stdin and stdout)
|
|
1891
|
-
const isNonInteractive = !process.stdin.isTTY || !process.stdout.isTTY;
|
|
1892
|
-
if (isNonInteractive) {
|
|
1893
|
-
// In non-interactive mode, use preferred org if set
|
|
1894
|
-
if (initial) {
|
|
1895
|
-
const initialOrg = orgs.find((o) => o.id === initial);
|
|
1896
|
-
if (initialOrg) {
|
|
1897
|
-
return initialOrg.id;
|
|
1898
|
-
}
|
|
1899
|
-
}
|
|
1900
|
-
// Fall back to first org with warning
|
|
1901
|
-
const firstOrg = orgs[0];
|
|
1902
|
-
if (firstOrg) {
|
|
1903
|
-
warning(
|
|
1904
|
-
`Multiple organizations found. Auto-selecting first org: ${firstOrg.name}. ` +
|
|
1905
|
-
`Set AGENTUITY_CLOUD_ORG_ID, use --org-id, or run 'agentuity auth org select' to set a default.`
|
|
1906
|
-
);
|
|
1907
|
-
return firstOrg.id;
|
|
1908
|
-
}
|
|
1909
|
-
}
|
|
1910
|
-
|
|
1911
|
-
// 5. Interactive mode - show selector with preferred org pre-selected
|
|
1912
|
-
const initialIndex = initial ? orgs.findIndex((o) => o.id === initial) : 0;
|
|
1913
|
-
const response = await enquirer.prompt<{ action: string }>({
|
|
1914
|
-
type: 'select',
|
|
1915
|
-
name: 'action',
|
|
1916
|
-
message: 'Select an organization',
|
|
1917
|
-
initial: initialIndex >= 0 ? initialIndex : 0,
|
|
1918
|
-
choices: orgs.map((o) => ({ message: o.name, name: o.id })),
|
|
1919
|
-
});
|
|
1920
|
-
|
|
1921
|
-
return response.action;
|
|
1922
|
-
}
|
|
1923
|
-
|
|
1924
|
-
/**
|
|
1925
|
-
* show a project list picker
|
|
1926
|
-
*
|
|
1927
|
-
* @param apiClient
|
|
1928
|
-
* @param showDeployment
|
|
1929
|
-
* @returns
|
|
1930
|
-
*/
|
|
1931
|
-
export async function showProjectList(
|
|
1932
|
-
apiClient: APIClientType,
|
|
1933
|
-
showDeploymentId = false
|
|
1934
|
-
): Promise<string> {
|
|
1935
|
-
const projects = await spinner({
|
|
1936
|
-
message: 'Fetching projects',
|
|
1937
|
-
clearOnSuccess: true,
|
|
1938
|
-
callback: () => {
|
|
1939
|
-
return projectList(apiClient, showDeploymentId);
|
|
1940
|
-
},
|
|
1941
|
-
});
|
|
1942
|
-
|
|
1943
|
-
if (projects.length === 0) {
|
|
1944
|
-
return '';
|
|
1945
|
-
}
|
|
1946
|
-
|
|
1947
|
-
// TODO: might want to sort by the last org_id we used
|
|
1948
|
-
if (projects) {
|
|
1949
|
-
projects.sort((a, b) => {
|
|
1950
|
-
return a.name.localeCompare(b.name);
|
|
1951
|
-
});
|
|
1952
|
-
}
|
|
1953
|
-
|
|
1954
|
-
const response = await enquirer.prompt<{ id: string }>({
|
|
1955
|
-
type: 'select',
|
|
1956
|
-
name: 'id',
|
|
1957
|
-
message: 'Select a project:',
|
|
1958
|
-
choices: projects.map((p) => ({
|
|
1959
|
-
name: p.id,
|
|
1960
|
-
message: `${p.name.padEnd(25, ' ')} ${muted(p.id)} ${showDeploymentId ? muted(p.latestDeploymentId ?? 'no deployment') : ''}`,
|
|
1961
|
-
})),
|
|
1962
|
-
});
|
|
1963
|
-
|
|
1964
|
-
return response.id;
|
|
1965
|
-
}
|
|
1966
|
-
|
|
1967
|
-
/**
|
|
1968
|
-
* Show a profile list picker
|
|
1969
|
-
*
|
|
1970
|
-
* @param profiles List of profiles to choose from
|
|
1971
|
-
* @param message Prompt message
|
|
1972
|
-
* @returns The name of the selected profile
|
|
1973
|
-
*/
|
|
1974
|
-
export async function showProfileList(
|
|
1975
|
-
profiles: Profile[],
|
|
1976
|
-
message = 'Select a profile:'
|
|
1977
|
-
): Promise<string> {
|
|
1978
|
-
if (profiles.length === 0) {
|
|
1979
|
-
warning('No profiles found');
|
|
1980
|
-
process.exit(0);
|
|
1981
|
-
}
|
|
1982
|
-
|
|
1983
|
-
// If only one profile, just return it? No, let them confirm/see it if they asked to pick?
|
|
1984
|
-
// But for "use" it implies switching. If only one, you are already on it or it's the only choice.
|
|
1985
|
-
// But for delete, you might want to delete the only one.
|
|
1986
|
-
// So always show list.
|
|
1987
|
-
|
|
1988
|
-
// Find currently selected profile for initial selection
|
|
1989
|
-
const selectedProfile = profiles.find((p) => p.selected);
|
|
1990
|
-
const initial = selectedProfile ? selectedProfile.name : undefined;
|
|
1991
|
-
|
|
1992
|
-
// If non-interactive, return initial or first
|
|
1993
|
-
if (!process.stdin.isTTY) {
|
|
1994
|
-
if (initial) return initial;
|
|
1995
|
-
const firstProfile = profiles[0];
|
|
1996
|
-
if (profiles.length === 1 && firstProfile) {
|
|
1997
|
-
return firstProfile.name;
|
|
1998
|
-
}
|
|
1999
|
-
fatal(
|
|
2000
|
-
'Profile selection required but cannot prompt in non-interactive environment. ' +
|
|
2001
|
-
'Pass a profile name explicitly when running non-interactively.'
|
|
2002
|
-
);
|
|
2003
|
-
}
|
|
2004
|
-
|
|
2005
|
-
const response = await enquirer.prompt<{ name: string }>({
|
|
2006
|
-
type: 'select',
|
|
2007
|
-
name: 'name',
|
|
2008
|
-
message: message,
|
|
2009
|
-
initial: initial,
|
|
2010
|
-
choices: profiles.map((p) => ({
|
|
2011
|
-
name: p.name,
|
|
2012
|
-
message: p.selected ? `${p.name.padEnd(15, ' ')} ${muted('(current)')}` : p.name,
|
|
2013
|
-
})),
|
|
2014
|
-
});
|
|
2015
|
-
|
|
2016
|
-
return response.name;
|
|
2017
|
-
}
|
|
2018
|
-
|
|
2019
|
-
export function json(value: unknown) {
|
|
2020
|
-
const stringValue = typeof value === 'string' ? value : JSON.stringify(value, null, 2);
|
|
2021
|
-
|
|
2022
|
-
if (shouldUseColors() && process.stdout.isTTY) {
|
|
2023
|
-
try {
|
|
2024
|
-
console.log(colorize(stringValue));
|
|
2025
|
-
return;
|
|
2026
|
-
} catch {
|
|
2027
|
-
/* */
|
|
2028
|
-
}
|
|
2029
|
-
}
|
|
2030
|
-
console.log(stringValue);
|
|
2031
|
-
}
|
|
2032
|
-
|
|
2033
|
-
export function plural(count: number, singular: string, plural: string): string {
|
|
2034
|
-
switch (count) {
|
|
2035
|
-
case 0:
|
|
2036
|
-
return plural;
|
|
2037
|
-
case 1:
|
|
2038
|
-
return singular;
|
|
2039
|
-
default:
|
|
2040
|
-
return plural;
|
|
2041
|
-
}
|
|
2042
|
-
}
|
|
2043
|
-
|
|
2044
|
-
/**
|
|
2045
|
-
* Table column definition
|
|
2046
|
-
*/
|
|
2047
|
-
export interface TableColumn {
|
|
2048
|
-
/** Column name */
|
|
2049
|
-
name: string;
|
|
2050
|
-
/** Column alignment */
|
|
2051
|
-
alignment?: 'left' | 'right' | 'center';
|
|
2052
|
-
}
|
|
2053
|
-
|
|
2054
|
-
/**
|
|
2055
|
-
* Table options
|
|
2056
|
-
*/
|
|
2057
|
-
export interface TableOptions {
|
|
2058
|
-
/**
|
|
2059
|
-
* If true, returns the table as a string instead of printing to stdout
|
|
2060
|
-
*/
|
|
2061
|
-
render?: boolean;
|
|
2062
|
-
/**
|
|
2063
|
-
* Force a specific layout mode
|
|
2064
|
-
* - 'horizontal': Traditional table with columns side by side
|
|
2065
|
-
* - 'vertical': Stacked format with "Column: value" on separate lines
|
|
2066
|
-
* - 'auto': Automatically choose based on terminal width (default)
|
|
2067
|
-
*/
|
|
2068
|
-
layout?: 'horizontal' | 'vertical' | 'auto';
|
|
2069
|
-
|
|
2070
|
-
/**
|
|
2071
|
-
* the padding before any label
|
|
2072
|
-
*/
|
|
2073
|
-
padStart?: string;
|
|
2074
|
-
}
|
|
2075
|
-
|
|
2076
|
-
/**
|
|
2077
|
-
* Calculate the minimum width needed to display a horizontal table
|
|
2078
|
-
* Accounts for column padding, borders, and content width
|
|
2079
|
-
*/
|
|
2080
|
-
function calculateTableWidth<T extends Record<string, unknown>>(
|
|
2081
|
-
data: T[],
|
|
2082
|
-
columnNames: string[],
|
|
2083
|
-
padStart = ''
|
|
2084
|
-
): number {
|
|
2085
|
-
const columnWidths = columnNames.map((colName) => {
|
|
2086
|
-
let maxWidth = getDisplayWidth(padStart + colName);
|
|
2087
|
-
for (const row of data) {
|
|
2088
|
-
const value = row[colName];
|
|
2089
|
-
const valueStr = value !== undefined && value !== null ? String(value) : '';
|
|
2090
|
-
const valueWidth = getDisplayWidth(valueStr);
|
|
2091
|
-
if (valueWidth > maxWidth) {
|
|
2092
|
-
maxWidth = valueWidth;
|
|
2093
|
-
}
|
|
2094
|
-
}
|
|
2095
|
-
return maxWidth;
|
|
2096
|
-
});
|
|
2097
|
-
|
|
2098
|
-
// Add padding (1 space each side) and border characters per column
|
|
2099
|
-
// cli-table3 uses: │ col1 │ col2 │ = 3 chars per column + 1 for final border
|
|
2100
|
-
const paddingPerColumn = 3;
|
|
2101
|
-
const totalWidth = columnWidths.reduce((sum, w) => sum + w + paddingPerColumn, 0) + 1;
|
|
2102
|
-
|
|
2103
|
-
return totalWidth;
|
|
2104
|
-
}
|
|
2105
|
-
|
|
2106
|
-
/**
|
|
2107
|
-
* Render table in vertical (stacked) format for narrow terminals
|
|
2108
|
-
*/
|
|
2109
|
-
function renderVerticalTable<T extends Record<string, unknown>>(
|
|
2110
|
-
data: T[],
|
|
2111
|
-
columnNames: string[],
|
|
2112
|
-
padStart = ''
|
|
2113
|
-
): string {
|
|
2114
|
-
const lines: string[] = [];
|
|
2115
|
-
const mutedColor = getColor('muted');
|
|
2116
|
-
const reset = getColor('reset');
|
|
2117
|
-
|
|
2118
|
-
// Calculate max column name width for alignment
|
|
2119
|
-
const maxLabelWidth = Math.max(
|
|
2120
|
-
...columnNames.map((name) => 1 + getDisplayWidth(padStart + name))
|
|
2121
|
-
);
|
|
2122
|
-
|
|
2123
|
-
for (let i = 0; i < data.length; i++) {
|
|
2124
|
-
const row = data[i];
|
|
2125
|
-
if (!row) continue;
|
|
2126
|
-
|
|
2127
|
-
for (const colName of columnNames) {
|
|
2128
|
-
const value = row[colName];
|
|
2129
|
-
const valueStr = value !== undefined && value !== null ? String(value) : '';
|
|
2130
|
-
const paddedLabel = `${padStart}${colName}:`.padEnd(maxLabelWidth);
|
|
2131
|
-
lines.push(`${mutedColor}${paddedLabel}${reset} ${valueStr}`);
|
|
2132
|
-
}
|
|
2133
|
-
|
|
2134
|
-
// Add empty line between rows (but not after last row)
|
|
2135
|
-
if (i < data.length - 1) {
|
|
2136
|
-
lines.push('');
|
|
2137
|
-
}
|
|
2138
|
-
}
|
|
2139
|
-
|
|
2140
|
-
return lines.join('\n') + '\n';
|
|
2141
|
-
}
|
|
2142
|
-
|
|
2143
|
-
/**
|
|
2144
|
-
* Display data in a formatted table using cli-table3
|
|
2145
|
-
*
|
|
2146
|
-
* Supports two modes:
|
|
2147
|
-
* 1. Simple mode: Pass data array and optional column names
|
|
2148
|
-
* 2. Advanced mode: Pass column configurations with custom names and alignment
|
|
2149
|
-
*
|
|
2150
|
-
* Automatically switches between horizontal (wide) and vertical (narrow) layouts
|
|
2151
|
-
* based on terminal width. Use the `layout` option to force a specific mode.
|
|
2152
|
-
*
|
|
2153
|
-
* @param data - Array of data objects to display
|
|
2154
|
-
* @param columns - Column names or column configurations
|
|
2155
|
-
* @param options - Additional options
|
|
2156
|
-
* @returns If render=true, returns the table as a string, otherwise prints to stdout
|
|
2157
|
-
*/
|
|
2158
|
-
export function table<T extends Record<string, unknown>>(
|
|
2159
|
-
data: T[],
|
|
2160
|
-
columns?: (keyof T)[] | TableColumn[],
|
|
2161
|
-
options?: TableOptions
|
|
2162
|
-
): string | void {
|
|
2163
|
-
if (!data || data.length === 0) {
|
|
2164
|
-
return options?.render ? '' : undefined;
|
|
2165
|
-
}
|
|
2166
|
-
|
|
2167
|
-
// Determine if we're using advanced column config or simple column names
|
|
2168
|
-
const isAdvancedMode = columns && columns.length > 0 && typeof columns[0] === 'object';
|
|
2169
|
-
|
|
2170
|
-
let columnNames: string[];
|
|
2171
|
-
let colAligns: Array<'left' | 'right' | 'center'>;
|
|
2172
|
-
|
|
2173
|
-
if (isAdvancedMode) {
|
|
2174
|
-
// Advanced mode: use provided column configurations
|
|
2175
|
-
const columnConfigs = columns as TableColumn[];
|
|
2176
|
-
columnNames = columnConfigs.map((col) => col.name);
|
|
2177
|
-
colAligns = columnConfigs.map((col) => col.alignment || 'left');
|
|
2178
|
-
} else {
|
|
2179
|
-
// Simple mode: determine column names from data or columns parameter
|
|
2180
|
-
const firstRow = data[0];
|
|
2181
|
-
columnNames = columns
|
|
2182
|
-
? (columns as (keyof T)[]).map((c) => String(c))
|
|
2183
|
-
: data.length > 0 && firstRow
|
|
2184
|
-
? Object.keys(firstRow)
|
|
2185
|
-
: [];
|
|
2186
|
-
colAligns = columnNames.map(() => 'left' as const);
|
|
2187
|
-
}
|
|
2188
|
-
|
|
2189
|
-
// Determine layout mode
|
|
2190
|
-
const layout = options?.layout ?? 'auto';
|
|
2191
|
-
const termWidth = getTerminalWidth(80);
|
|
2192
|
-
const tableWidth = calculateTableWidth(data, columnNames, options?.padStart);
|
|
2193
|
-
const useVertical = layout === 'vertical' || (layout === 'auto' && tableWidth > termWidth);
|
|
2194
|
-
|
|
2195
|
-
let output: string;
|
|
2196
|
-
|
|
2197
|
-
if (useVertical) {
|
|
2198
|
-
output = renderVerticalTable(data, columnNames, options?.padStart);
|
|
2199
|
-
} else {
|
|
2200
|
-
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
2201
|
-
const Table = require('cli-table3') as new (options?: {
|
|
2202
|
-
head?: string[];
|
|
2203
|
-
colAligns?: Array<'left' | 'right' | 'center'>;
|
|
2204
|
-
wordWrap?: boolean;
|
|
2205
|
-
style?: {
|
|
2206
|
-
head?: string[];
|
|
2207
|
-
border?: string[];
|
|
2208
|
-
};
|
|
2209
|
-
colors?: boolean;
|
|
2210
|
-
}) => {
|
|
2211
|
-
push(row: unknown[]): void;
|
|
2212
|
-
toString(): string;
|
|
2213
|
-
};
|
|
2214
|
-
|
|
2215
|
-
const headings = columnNames.map((name) => heading(name));
|
|
2216
|
-
|
|
2217
|
-
const t = new Table({
|
|
2218
|
-
head: headings,
|
|
2219
|
-
colAligns,
|
|
2220
|
-
wordWrap: true,
|
|
2221
|
-
style: {
|
|
2222
|
-
head: [], // Disable cli-table3's default red styling - we apply our own via heading()
|
|
2223
|
-
border: [], // Disable default border styling too
|
|
2224
|
-
},
|
|
2225
|
-
colors: false, // Completely disable cli-table3's color system to preserve our ANSI codes
|
|
2226
|
-
});
|
|
2227
|
-
|
|
2228
|
-
// Add rows to table
|
|
2229
|
-
for (const row of data) {
|
|
2230
|
-
const rowData: unknown[] = [];
|
|
2231
|
-
for (const colName of columnNames) {
|
|
2232
|
-
const value = row[colName];
|
|
2233
|
-
rowData.push(value !== undefined && value !== null ? String(value) : '');
|
|
2234
|
-
}
|
|
2235
|
-
t.push(rowData);
|
|
2236
|
-
}
|
|
2237
|
-
|
|
2238
|
-
output = t.toString();
|
|
2239
|
-
}
|
|
2240
|
-
|
|
2241
|
-
if (options?.render) {
|
|
2242
|
-
return output;
|
|
2243
|
-
} else {
|
|
2244
|
-
console.log(output);
|
|
2245
|
-
}
|
|
2246
|
-
}
|
|
2247
|
-
|
|
2248
|
-
export function formatBytes(bytes: number): string {
|
|
2249
|
-
if (bytes === 0) return '0 B';
|
|
2250
|
-
if (bytes < 1024) return `${bytes} B`;
|
|
2251
|
-
if (bytes < 1024 * 1024) return `${(bytes / 1024).toFixed(2)} KB`;
|
|
2252
|
-
if (bytes < 1024 * 1024 * 1024) return `${(bytes / (1024 * 1024)).toFixed(2)} MB`;
|
|
2253
|
-
if (bytes < 1024 * 1024 * 1024 * 1024) return `${(bytes / (1024 * 1024 * 1024)).toFixed(2)} GB`;
|
|
2254
|
-
return `${(bytes / (1024 * 1024 * 1024 * 1024)).toFixed(2)} TB`;
|
|
2255
|
-
}
|
|
2256
|
-
|
|
2257
|
-
export function clearLastLines(n: number, s?: (v: string) => void) {
|
|
2258
|
-
const x = s ?? ((v: string) => process.stdout.write(v));
|
|
2259
|
-
for (let i = 0; i < n; i++) {
|
|
2260
|
-
x('\x1b[2K'); // clear line
|
|
2261
|
-
x('\x1b[0G'); // cursor to col 0
|
|
2262
|
-
if (i < n - 1) {
|
|
2263
|
-
x('\x1b[1A'); // move up
|
|
2264
|
-
}
|
|
2265
|
-
}
|
|
2266
|
-
}
|