@agentuity/cli 2.0.10 → 3.0.0-alpha.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/dist/cmd/ai/prompt/index.d.ts.map +1 -1
- package/dist/cmd/ai/prompt/index.js +2 -7
- package/dist/cmd/ai/prompt/index.js.map +1 -1
- package/dist/cmd/build/adapters/generic.d.ts +29 -0
- package/dist/cmd/build/adapters/generic.d.ts.map +1 -0
- package/dist/cmd/build/adapters/generic.js +190 -0
- package/dist/cmd/build/adapters/generic.js.map +1 -0
- package/dist/cmd/build/adapters/index.d.ts +15 -0
- package/dist/cmd/build/adapters/index.d.ts.map +1 -0
- package/dist/cmd/build/adapters/index.js +24 -0
- package/dist/cmd/build/adapters/index.js.map +1 -0
- package/dist/cmd/build/adapters/nextjs.d.ts +11 -0
- package/dist/cmd/build/adapters/nextjs.d.ts.map +1 -0
- package/dist/cmd/build/adapters/nextjs.js +118 -0
- package/dist/cmd/build/adapters/nextjs.js.map +1 -0
- package/dist/cmd/build/adapters/static-server.d.ts +23 -0
- package/dist/cmd/build/adapters/static-server.d.ts.map +1 -0
- package/dist/cmd/build/adapters/static-server.js +137 -0
- package/dist/cmd/build/adapters/static-server.js.map +1 -0
- package/dist/cmd/build/adapters/types.d.ts +71 -0
- package/dist/cmd/build/adapters/types.d.ts.map +1 -0
- package/dist/cmd/build/adapters/types.js +8 -0
- package/dist/cmd/build/adapters/types.js.map +1 -0
- package/dist/cmd/build/detect/engine.d.ts +24 -0
- package/dist/cmd/build/detect/engine.d.ts.map +1 -0
- package/dist/cmd/build/detect/engine.js +91 -0
- package/dist/cmd/build/detect/engine.js.map +1 -0
- package/dist/cmd/build/detect/frameworks.d.ts +66 -0
- package/dist/cmd/build/detect/frameworks.d.ts.map +1 -0
- package/dist/cmd/build/detect/frameworks.js +278 -0
- package/dist/cmd/build/detect/frameworks.js.map +1 -0
- package/dist/cmd/build/detect/generic.d.ts +13 -0
- package/dist/cmd/build/detect/generic.d.ts.map +1 -0
- package/dist/cmd/build/detect/generic.js +62 -0
- package/dist/cmd/build/detect/generic.js.map +1 -0
- package/dist/cmd/build/detect/index.d.ts +27 -0
- package/dist/cmd/build/detect/index.d.ts.map +1 -0
- package/dist/cmd/build/detect/index.js +76 -0
- package/dist/cmd/build/detect/index.js.map +1 -0
- package/dist/cmd/build/detect/types.d.ts +91 -0
- package/dist/cmd/build/detect/types.d.ts.map +1 -0
- package/dist/cmd/build/detect/types.js +9 -0
- package/dist/cmd/build/detect/types.js.map +1 -0
- package/dist/cmd/build/detect/util.d.ts +41 -0
- package/dist/cmd/build/detect/util.d.ts.map +1 -0
- package/dist/cmd/build/detect/util.js +101 -0
- package/dist/cmd/build/detect/util.js.map +1 -0
- package/dist/cmd/build/index.d.ts.map +1 -1
- package/dist/cmd/build/index.js +49 -22
- package/dist/cmd/build/index.js.map +1 -1
- package/dist/cmd/build/package/index.d.ts +30 -0
- package/dist/cmd/build/package/index.d.ts.map +1 -0
- package/dist/cmd/build/package/index.js +39 -0
- package/dist/cmd/build/package/index.js.map +1 -0
- package/dist/cmd/build/package/launch.d.ts +56 -0
- package/dist/cmd/build/package/launch.d.ts.map +1 -0
- package/dist/cmd/build/package/launch.js +56 -0
- package/dist/cmd/build/package/launch.js.map +1 -0
- package/dist/cmd/build/typecheck.d.ts.map +1 -1
- package/dist/cmd/build/typecheck.js +8 -0
- package/dist/cmd/build/typecheck.js.map +1 -1
- package/dist/cmd/cloud/deploy.d.ts.map +1 -1
- package/dist/cmd/cloud/deploy.js +63 -13
- package/dist/cmd/cloud/deploy.js.map +1 -1
- package/dist/cmd/coder/create.d.ts.map +1 -1
- package/dist/cmd/coder/create.js +18 -0
- package/dist/cmd/coder/create.js.map +1 -1
- package/dist/cmd/coder/index.d.ts.map +1 -1
- package/dist/cmd/coder/index.js +4 -0
- package/dist/cmd/coder/index.js.map +1 -1
- package/dist/cmd/coder/start.d.ts.map +1 -1
- package/dist/cmd/coder/start.js +49 -1
- package/dist/cmd/coder/start.js.map +1 -1
- package/dist/cmd/coder/update.d.ts.map +1 -1
- package/dist/cmd/coder/update.js +21 -1
- package/dist/cmd/coder/update.js.map +1 -1
- package/dist/cmd/coder/workspace/create.d.ts.map +1 -1
- package/dist/cmd/coder/workspace/create.js +17 -1
- package/dist/cmd/coder/workspace/create.js.map +1 -1
- package/dist/cmd/coder/workspace/list.js +2 -2
- package/dist/cmd/coder/workspace/list.js.map +1 -1
- package/dist/cmd/dev/index.d.ts +9 -0
- package/dist/cmd/dev/index.d.ts.map +1 -1
- package/dist/cmd/dev/index.js +127 -923
- package/dist/cmd/dev/index.js.map +1 -1
- package/dist/cmd/project/auth/shared.d.ts.map +1 -1
- package/dist/cmd/project/auth/shared.js +14 -38
- package/dist/cmd/project/auth/shared.js.map +1 -1
- package/dist/cmd/project/create.d.ts.map +1 -1
- package/dist/cmd/project/create.js +12 -19
- package/dist/cmd/project/create.js.map +1 -1
- package/dist/cmd/project/frameworks-ai-examples.d.ts +15 -0
- package/dist/cmd/project/frameworks-ai-examples.d.ts.map +1 -0
- package/dist/cmd/project/frameworks-ai-examples.js +160 -0
- package/dist/cmd/project/frameworks-ai-examples.js.map +1 -0
- package/dist/cmd/project/frameworks-landing-pages.d.ts +17 -0
- package/dist/cmd/project/frameworks-landing-pages.d.ts.map +1 -0
- package/dist/cmd/project/frameworks-landing-pages.js +242 -0
- package/dist/cmd/project/frameworks-landing-pages.js.map +1 -0
- package/dist/cmd/project/frameworks.d.ts +58 -0
- package/dist/cmd/project/frameworks.d.ts.map +1 -0
- package/dist/cmd/project/frameworks.js +152 -0
- package/dist/cmd/project/frameworks.js.map +1 -0
- package/dist/cmd/project/reconcile.d.ts.map +1 -1
- package/dist/cmd/project/reconcile.js +10 -23
- package/dist/cmd/project/reconcile.js.map +1 -1
- package/dist/cmd/project/remote-import.js +1 -1
- package/dist/cmd/project/scaffold.d.ts +58 -0
- package/dist/cmd/project/scaffold.d.ts.map +1 -0
- package/dist/cmd/project/scaffold.js +223 -0
- package/dist/cmd/project/scaffold.js.map +1 -0
- package/dist/cmd/project/template-flow.d.ts +8 -4
- package/dist/cmd/project/template-flow.d.ts.map +1 -1
- package/dist/cmd/project/template-flow.js +93 -144
- package/dist/cmd/project/template-flow.js.map +1 -1
- package/dist/deploy-metadata.d.ts +49 -0
- package/dist/deploy-metadata.d.ts.map +1 -0
- package/dist/deploy-metadata.js +183 -0
- package/dist/deploy-metadata.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +25 -31
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +13 -8
- package/src/cmd/ai/prompt/index.ts +2 -7
- package/src/cmd/build/adapters/generic.ts +239 -0
- package/src/cmd/build/adapters/index.ts +30 -0
- package/src/cmd/build/adapters/nextjs.ts +146 -0
- package/src/cmd/build/adapters/static-server.ts +143 -0
- package/src/cmd/build/adapters/types.ts +93 -0
- package/src/cmd/build/detect/engine.ts +111 -0
- package/src/cmd/build/detect/frameworks.ts +335 -0
- package/src/cmd/build/detect/generic.ts +71 -0
- package/src/cmd/build/detect/index.ts +122 -0
- package/src/cmd/build/detect/types.ts +109 -0
- package/src/cmd/build/detect/util.ts +104 -0
- package/src/cmd/build/index.ts +64 -24
- package/src/cmd/build/package/index.ts +66 -0
- package/src/cmd/build/package/launch.ts +104 -0
- package/src/cmd/build/typecheck.ts +9 -0
- package/src/cmd/cloud/deploy.ts +86 -13
- package/src/cmd/coder/create.ts +24 -1
- package/src/cmd/coder/index.ts +4 -0
- package/src/cmd/coder/start.ts +60 -1
- package/src/cmd/coder/update.ts +18 -1
- package/src/cmd/coder/workspace/create.ts +20 -2
- package/src/cmd/coder/workspace/list.ts +2 -2
- package/src/cmd/dev/index.ts +155 -1059
- package/src/cmd/project/auth/shared.ts +14 -39
- package/src/cmd/project/create.ts +14 -19
- package/src/cmd/project/frameworks-ai-examples.ts +166 -0
- package/src/cmd/project/frameworks-landing-pages.ts +267 -0
- package/src/cmd/project/frameworks.ts +223 -0
- package/src/cmd/project/reconcile.ts +10 -22
- package/src/cmd/project/remote-import.ts +1 -1
- package/src/cmd/project/scaffold.ts +300 -0
- package/src/cmd/project/template-flow.ts +102 -156
- package/src/deploy-metadata.ts +253 -0
- package/src/index.ts +0 -2
- package/src/types.ts +0 -31
- package/dist/agents-docs.d.ts +0 -23
- package/dist/agents-docs.d.ts.map +0 -1
- package/dist/agents-docs.js +0 -56
- package/dist/agents-docs.js.map +0 -1
- package/dist/cmd/ai/prompt/agent.d.ts +0 -10
- package/dist/cmd/ai/prompt/agent.d.ts.map +0 -1
- package/dist/cmd/ai/prompt/agent.js +0 -28
- package/dist/cmd/ai/prompt/agent.js.map +0 -1
- package/dist/cmd/build/app-router-detector.d.ts +0 -39
- package/dist/cmd/build/app-router-detector.d.ts.map +0 -1
- package/dist/cmd/build/app-router-detector.js +0 -229
- package/dist/cmd/build/app-router-detector.js.map +0 -1
- package/dist/cmd/build/format-schema.d.ts +0 -6
- package/dist/cmd/build/format-schema.d.ts.map +0 -1
- package/dist/cmd/build/format-schema.js +0 -60
- package/dist/cmd/build/format-schema.js.map +0 -1
- package/dist/cmd/build/vite/agent-discovery.d.ts +0 -37
- package/dist/cmd/build/vite/agent-discovery.d.ts.map +0 -1
- package/dist/cmd/build/vite/agent-discovery.js +0 -263
- package/dist/cmd/build/vite/agent-discovery.js.map +0 -1
- package/dist/cmd/build/vite/beacon-plugin.d.ts +0 -19
- package/dist/cmd/build/vite/beacon-plugin.d.ts.map +0 -1
- package/dist/cmd/build/vite/beacon-plugin.js +0 -137
- package/dist/cmd/build/vite/beacon-plugin.js.map +0 -1
- package/dist/cmd/build/vite/browser-env-plugin.d.ts +0 -9
- package/dist/cmd/build/vite/browser-env-plugin.d.ts.map +0 -1
- package/dist/cmd/build/vite/browser-env-plugin.js +0 -28
- package/dist/cmd/build/vite/browser-env-plugin.js.map +0 -1
- package/dist/cmd/build/vite/bun-dev-server.d.ts +0 -67
- package/dist/cmd/build/vite/bun-dev-server.d.ts.map +0 -1
- package/dist/cmd/build/vite/bun-dev-server.js +0 -340
- package/dist/cmd/build/vite/bun-dev-server.js.map +0 -1
- package/dist/cmd/build/vite/bundle-files.d.ts +0 -12
- package/dist/cmd/build/vite/bundle-files.d.ts.map +0 -1
- package/dist/cmd/build/vite/bundle-files.js +0 -107
- package/dist/cmd/build/vite/bundle-files.js.map +0 -1
- package/dist/cmd/build/vite/config-loader.d.ts +0 -29
- package/dist/cmd/build/vite/config-loader.d.ts.map +0 -1
- package/dist/cmd/build/vite/config-loader.js +0 -57
- package/dist/cmd/build/vite/config-loader.js.map +0 -1
- package/dist/cmd/build/vite/db-rewrite.d.ts +0 -50
- package/dist/cmd/build/vite/db-rewrite.d.ts.map +0 -1
- package/dist/cmd/build/vite/db-rewrite.js +0 -169
- package/dist/cmd/build/vite/db-rewrite.js.map +0 -1
- package/dist/cmd/build/vite/docs-generator.d.ts +0 -13
- package/dist/cmd/build/vite/docs-generator.d.ts.map +0 -1
- package/dist/cmd/build/vite/docs-generator.js +0 -97
- package/dist/cmd/build/vite/docs-generator.js.map +0 -1
- package/dist/cmd/build/vite/env-types-generator.d.ts +0 -26
- package/dist/cmd/build/vite/env-types-generator.d.ts.map +0 -1
- package/dist/cmd/build/vite/env-types-generator.js +0 -110
- package/dist/cmd/build/vite/env-types-generator.js.map +0 -1
- package/dist/cmd/build/vite/index.d.ts +0 -3
- package/dist/cmd/build/vite/index.d.ts.map +0 -1
- package/dist/cmd/build/vite/index.js +0 -4
- package/dist/cmd/build/vite/index.js.map +0 -1
- package/dist/cmd/build/vite/lifecycle-generator.d.ts +0 -19
- package/dist/cmd/build/vite/lifecycle-generator.d.ts.map +0 -1
- package/dist/cmd/build/vite/lifecycle-generator.js +0 -328
- package/dist/cmd/build/vite/lifecycle-generator.js.map +0 -1
- package/dist/cmd/build/vite/metadata-generator.d.ts +0 -36
- package/dist/cmd/build/vite/metadata-generator.d.ts.map +0 -1
- package/dist/cmd/build/vite/metadata-generator.js +0 -575
- package/dist/cmd/build/vite/metadata-generator.js.map +0 -1
- package/dist/cmd/build/vite/prompt-generator.d.ts +0 -23
- package/dist/cmd/build/vite/prompt-generator.d.ts.map +0 -1
- package/dist/cmd/build/vite/prompt-generator.js +0 -123
- package/dist/cmd/build/vite/prompt-generator.js.map +0 -1
- package/dist/cmd/build/vite/public-asset-path-plugin.d.ts +0 -45
- package/dist/cmd/build/vite/public-asset-path-plugin.d.ts.map +0 -1
- package/dist/cmd/build/vite/public-asset-path-plugin.js +0 -166
- package/dist/cmd/build/vite/public-asset-path-plugin.js.map +0 -1
- package/dist/cmd/build/vite/route-discovery.d.ts +0 -64
- package/dist/cmd/build/vite/route-discovery.d.ts.map +0 -1
- package/dist/cmd/build/vite/route-discovery.js +0 -187
- package/dist/cmd/build/vite/route-discovery.js.map +0 -1
- package/dist/cmd/build/vite/server-bundler.d.ts +0 -20
- package/dist/cmd/build/vite/server-bundler.d.ts.map +0 -1
- package/dist/cmd/build/vite/server-bundler.js +0 -388
- package/dist/cmd/build/vite/server-bundler.js.map +0 -1
- package/dist/cmd/build/vite/static-renderer.d.ts +0 -26
- package/dist/cmd/build/vite/static-renderer.d.ts.map +0 -1
- package/dist/cmd/build/vite/static-renderer.js +0 -188
- package/dist/cmd/build/vite/static-renderer.js.map +0 -1
- package/dist/cmd/build/vite/tailwind-source-plugin.d.ts +0 -15
- package/dist/cmd/build/vite/tailwind-source-plugin.d.ts.map +0 -1
- package/dist/cmd/build/vite/tailwind-source-plugin.js +0 -61
- package/dist/cmd/build/vite/tailwind-source-plugin.js.map +0 -1
- package/dist/cmd/build/vite/vite-asset-server-config.d.ts +0 -24
- package/dist/cmd/build/vite/vite-asset-server-config.d.ts.map +0 -1
- package/dist/cmd/build/vite/vite-asset-server-config.js +0 -285
- package/dist/cmd/build/vite/vite-asset-server-config.js.map +0 -1
- package/dist/cmd/build/vite/vite-asset-server.d.ts +0 -30
- package/dist/cmd/build/vite/vite-asset-server.d.ts.map +0 -1
- package/dist/cmd/build/vite/vite-asset-server.js +0 -109
- package/dist/cmd/build/vite/vite-asset-server.js.map +0 -1
- package/dist/cmd/build/vite/vite-builder.d.ts +0 -59
- package/dist/cmd/build/vite/vite-builder.d.ts.map +0 -1
- package/dist/cmd/build/vite/vite-builder.js +0 -401
- package/dist/cmd/build/vite/vite-builder.js.map +0 -1
- package/dist/cmd/build/vite/workbench-generator.d.ts +0 -10
- package/dist/cmd/build/vite/workbench-generator.d.ts.map +0 -1
- package/dist/cmd/build/vite/workbench-generator.js +0 -135
- package/dist/cmd/build/vite/workbench-generator.js.map +0 -1
- package/dist/cmd/build/vite/ws-proxy.d.ts +0 -53
- package/dist/cmd/build/vite/ws-proxy.d.ts.map +0 -1
- package/dist/cmd/build/vite/ws-proxy.js +0 -95
- package/dist/cmd/build/vite/ws-proxy.js.map +0 -1
- package/dist/cmd/build/vite-bundler.d.ts +0 -29
- package/dist/cmd/build/vite-bundler.d.ts.map +0 -1
- package/dist/cmd/build/vite-bundler.js +0 -93
- package/dist/cmd/build/vite-bundler.js.map +0 -1
- package/dist/cmd/dev/agents.d.ts +0 -2
- package/dist/cmd/dev/agents.d.ts.map +0 -1
- package/dist/cmd/dev/agents.js +0 -123
- package/dist/cmd/dev/agents.js.map +0 -1
- package/dist/cmd/dev/api.d.ts +0 -20
- package/dist/cmd/dev/api.d.ts.map +0 -1
- package/dist/cmd/dev/api.js +0 -42
- package/dist/cmd/dev/api.js.map +0 -1
- package/dist/cmd/dev/dev-lock.d.ts +0 -62
- package/dist/cmd/dev/dev-lock.d.ts.map +0 -1
- package/dist/cmd/dev/dev-lock.js +0 -250
- package/dist/cmd/dev/dev-lock.js.map +0 -1
- package/dist/cmd/dev/download.d.ts +0 -11
- package/dist/cmd/dev/download.d.ts.map +0 -1
- package/dist/cmd/dev/download.js +0 -94
- package/dist/cmd/dev/download.js.map +0 -1
- package/dist/cmd/dev/file-watcher.d.ts +0 -24
- package/dist/cmd/dev/file-watcher.d.ts.map +0 -1
- package/dist/cmd/dev/file-watcher.js +0 -349
- package/dist/cmd/dev/file-watcher.js.map +0 -1
- package/dist/cmd/dev/process-manager.d.ts +0 -104
- package/dist/cmd/dev/process-manager.d.ts.map +0 -1
- package/dist/cmd/dev/process-manager.js +0 -204
- package/dist/cmd/dev/process-manager.js.map +0 -1
- package/dist/cmd/dev/sync.d.ts +0 -12
- package/dist/cmd/dev/sync.d.ts.map +0 -1
- package/dist/cmd/dev/sync.js +0 -227
- package/dist/cmd/dev/sync.js.map +0 -1
- package/dist/cmd/dev/templates.d.ts +0 -3
- package/dist/cmd/dev/templates.d.ts.map +0 -1
- package/dist/cmd/dev/templates.js +0 -58
- package/dist/cmd/dev/templates.js.map +0 -1
- package/dist/cmd/project/download.d.ts +0 -35
- package/dist/cmd/project/download.d.ts.map +0 -1
- package/dist/cmd/project/download.js +0 -403
- package/dist/cmd/project/download.js.map +0 -1
- package/dist/cmd/project/templates.d.ts +0 -9
- package/dist/cmd/project/templates.d.ts.map +0 -1
- package/dist/cmd/project/templates.js +0 -34
- package/dist/cmd/project/templates.js.map +0 -1
- package/src/agents-docs.ts +0 -86
- package/src/cmd/ai/prompt/agent.md +0 -305
- package/src/cmd/ai/prompt/agent.ts +0 -31
- package/src/cmd/build/app-router-detector.ts +0 -320
- package/src/cmd/build/format-schema.ts +0 -66
- package/src/cmd/build/vite/agent-discovery.ts +0 -380
- package/src/cmd/build/vite/beacon-plugin.ts +0 -164
- package/src/cmd/build/vite/browser-env-plugin.ts +0 -34
- package/src/cmd/build/vite/bun-dev-server.ts +0 -458
- package/src/cmd/build/vite/bundle-files.ts +0 -135
- package/src/cmd/build/vite/config-loader.ts +0 -76
- package/src/cmd/build/vite/db-rewrite.ts +0 -189
- package/src/cmd/build/vite/docs-generator.ts +0 -103
- package/src/cmd/build/vite/env-types-generator.ts +0 -145
- package/src/cmd/build/vite/index.ts +0 -3
- package/src/cmd/build/vite/lifecycle-generator.ts +0 -381
- package/src/cmd/build/vite/metadata-generator.ts +0 -713
- package/src/cmd/build/vite/prompt-generator.ts +0 -169
- package/src/cmd/build/vite/public-asset-path-plugin.ts +0 -209
- package/src/cmd/build/vite/route-discovery.ts +0 -271
- package/src/cmd/build/vite/server-bundler.ts +0 -481
- package/src/cmd/build/vite/static-renderer.ts +0 -239
- package/src/cmd/build/vite/tailwind-source-plugin.ts +0 -73
- package/src/cmd/build/vite/vite-asset-server-config.ts +0 -349
- package/src/cmd/build/vite/vite-asset-server.ts +0 -154
- package/src/cmd/build/vite/vite-builder.ts +0 -503
- package/src/cmd/build/vite/workbench-generator.ts +0 -152
- package/src/cmd/build/vite/ws-proxy.ts +0 -126
- package/src/cmd/build/vite-bundler.ts +0 -137
- package/src/cmd/dev/agents.ts +0 -140
- package/src/cmd/dev/api.ts +0 -65
- package/src/cmd/dev/dev-lock.ts +0 -332
- package/src/cmd/dev/download.ts +0 -117
- package/src/cmd/dev/file-watcher.ts +0 -423
- package/src/cmd/dev/process-manager.ts +0 -261
- package/src/cmd/dev/sync.ts +0 -411
- package/src/cmd/dev/templates.ts +0 -66
- package/src/cmd/project/download.ts +0 -505
- package/src/cmd/project/templates.ts +0 -56
package/src/cmd/cloud/deploy.ts
CHANGED
|
@@ -69,7 +69,12 @@ import { validateAptDependencies } from '../../utils/apt-validator';
|
|
|
69
69
|
import { extractDependencies } from '../../utils/deps';
|
|
70
70
|
import { zipDir } from '../../utils/zip';
|
|
71
71
|
import { typecheck } from '../build/typecheck';
|
|
72
|
-
import {
|
|
72
|
+
import { detectFrameworkWithPackageJson } from '../build/detect';
|
|
73
|
+
import { getAdapter } from '../build/adapters';
|
|
74
|
+
import { packageBuildOutput } from '../build/package';
|
|
75
|
+
import type { BuildResult } from '../build/adapters/types';
|
|
76
|
+
import type { PackageResult } from '../build/package';
|
|
77
|
+
import { generateDeployMetadata } from '../../deploy-metadata';
|
|
73
78
|
import { getProjectGithubStatus } from '../git/api';
|
|
74
79
|
import { runGitLink } from '../git/link';
|
|
75
80
|
import { runForkedDeploy } from './deploy-fork';
|
|
@@ -276,6 +281,7 @@ export const deploySubcommand = createSubcommand({
|
|
|
276
281
|
|
|
277
282
|
let deployment: Deployment | undefined;
|
|
278
283
|
let build: BuildMetadata | undefined;
|
|
284
|
+
let buildOutputDir: string | undefined;
|
|
279
285
|
let instructions: DeploymentInstructions | undefined;
|
|
280
286
|
let complete: DeploymentComplete | undefined;
|
|
281
287
|
let statusResult: DeploymentStatusResult | undefined;
|
|
@@ -631,7 +637,7 @@ export const deploySubcommand = createSubcommand({
|
|
|
631
637
|
if (!deployment) {
|
|
632
638
|
return stepError('deployment was null');
|
|
633
639
|
}
|
|
634
|
-
|
|
640
|
+
const capturedOutput: string[] = [];
|
|
635
641
|
const rootDir = resolve(projectDir);
|
|
636
642
|
|
|
637
643
|
// Run typecheck with collector for error reporting
|
|
@@ -653,20 +659,85 @@ export const deploySubcommand = createSubcommand({
|
|
|
653
659
|
return stepError('Typecheck failed\n\n' + typeResult.output);
|
|
654
660
|
}
|
|
655
661
|
try {
|
|
656
|
-
|
|
657
|
-
|
|
662
|
+
// Step 1: Detect framework
|
|
663
|
+
const { framework, packageJson } =
|
|
664
|
+
await detectFrameworkWithPackageJson(rootDir);
|
|
665
|
+
|
|
666
|
+
if (!framework) {
|
|
667
|
+
return stepError(
|
|
668
|
+
'Could not detect a JS framework. Ensure package.json exists with a build script.'
|
|
669
|
+
);
|
|
670
|
+
}
|
|
671
|
+
|
|
672
|
+
const frameworkLabel = framework.version
|
|
673
|
+
? `${framework.name} v${framework.version}`
|
|
674
|
+
: framework.name;
|
|
675
|
+
capturedOutput.push(
|
|
676
|
+
tui.muted(`✓ Detected ${frameworkLabel} (${framework.runtime})`)
|
|
677
|
+
);
|
|
678
|
+
|
|
679
|
+
// Step 2: Get adapter and build
|
|
680
|
+
const outDir = join(rootDir, '.agentuity');
|
|
681
|
+
const adapter = getAdapter(framework.name);
|
|
682
|
+
|
|
683
|
+
const endBuildDiagnostic = collector.startDiagnostic('build');
|
|
684
|
+
const buildResult: BuildResult = await adapter.build({
|
|
685
|
+
projectDir: rootDir,
|
|
686
|
+
framework,
|
|
687
|
+
packageJson: packageJson!,
|
|
688
|
+
outputDir: outDir,
|
|
689
|
+
logger: ctx.logger,
|
|
690
|
+
collector,
|
|
658
691
|
dev: false,
|
|
659
|
-
deploymentId: deployment.id,
|
|
660
|
-
orgId: deployment.orgId,
|
|
661
692
|
projectId: project.projectId,
|
|
693
|
+
orgId: deployment.orgId,
|
|
662
694
|
region: project.region,
|
|
663
|
-
|
|
695
|
+
deploymentId: deployment.id,
|
|
664
696
|
deploymentOptions: opts,
|
|
665
697
|
deploymentConfig: project.deployment,
|
|
666
|
-
collector,
|
|
667
698
|
});
|
|
668
|
-
|
|
669
|
-
|
|
699
|
+
endBuildDiagnostic();
|
|
700
|
+
|
|
701
|
+
capturedOutput.push(...buildResult.logs);
|
|
702
|
+
buildOutputDir = buildResult.outputDir;
|
|
703
|
+
|
|
704
|
+
// Step 3: Package output (launch.json, Procfile, .agentuity-build)
|
|
705
|
+
const packageResult: PackageResult = packageBuildOutput(
|
|
706
|
+
framework,
|
|
707
|
+
buildResult,
|
|
708
|
+
buildResult.outputDir
|
|
709
|
+
);
|
|
710
|
+
|
|
711
|
+
// Step 4: Generate deploy metadata
|
|
712
|
+
const isAgentuity = framework.name === 'agentuity';
|
|
713
|
+
|
|
714
|
+
if (isAgentuity) {
|
|
715
|
+
// Agentuity native: the Vite pipeline writes agentuity.metadata.json
|
|
716
|
+
// with full routes, agents, and assets — load it and add launch metadata
|
|
717
|
+
build = await loadBuildMetadata(buildResult.outputDir);
|
|
718
|
+
build.launch = packageResult.launch;
|
|
719
|
+
} else {
|
|
720
|
+
// Non-Agentuity: generate metadata from build result
|
|
721
|
+
build = await generateDeployMetadata({
|
|
722
|
+
buildResult,
|
|
723
|
+
packageResult,
|
|
724
|
+
projectDir: rootDir,
|
|
725
|
+
projectId: project.projectId,
|
|
726
|
+
orgId: deployment.orgId,
|
|
727
|
+
region: project.region,
|
|
728
|
+
deploymentId: deployment.id,
|
|
729
|
+
deploymentConfig: project.deployment,
|
|
730
|
+
deploymentOptions: opts,
|
|
731
|
+
logger: ctx.logger,
|
|
732
|
+
});
|
|
733
|
+
}
|
|
734
|
+
|
|
735
|
+
ctx.logger.debug(
|
|
736
|
+
'Launch metadata: %s',
|
|
737
|
+
JSON.stringify(build.launch, null, 2)
|
|
738
|
+
);
|
|
739
|
+
|
|
740
|
+
// Step 5: Send metadata to API to get upload URLs
|
|
670
741
|
instructions = await projectDeploymentUpdate(
|
|
671
742
|
apiClient,
|
|
672
743
|
deployment.id,
|
|
@@ -746,9 +817,10 @@ export const deploySubcommand = createSubcommand({
|
|
|
746
817
|
const endZipDiagnostic = collector.startDiagnostic('zip-package');
|
|
747
818
|
progress(5);
|
|
748
819
|
ctx.logger.trace('Starting deployment zip creation');
|
|
749
|
-
// zip up the
|
|
820
|
+
// zip up the build output directory
|
|
821
|
+
const zipSourceDir = buildOutputDir ?? join(projectDir, '.agentuity');
|
|
750
822
|
const deploymentZip = join(tmpdir(), `${deployment.id}.zip`);
|
|
751
|
-
await zipDir(
|
|
823
|
+
await zipDir(zipSourceDir, deploymentZip, {
|
|
752
824
|
filter: (_filename: string, relative: string) => {
|
|
753
825
|
if (relative.startsWith('.vite/')) {
|
|
754
826
|
return false;
|
|
@@ -878,7 +950,8 @@ export const deploySubcommand = createSubcommand({
|
|
|
878
950
|
}
|
|
879
951
|
|
|
880
952
|
// Asset filename already includes the subdirectory (e.g., "client/assets/main-abc123.js")
|
|
881
|
-
const
|
|
953
|
+
const assetBaseDir = buildOutputDir ?? join(projectDir, '.agentuity');
|
|
954
|
+
const filePath = join(assetBaseDir, asset.filename);
|
|
882
955
|
|
|
883
956
|
const headers: Record<string, string> = {
|
|
884
957
|
'Content-Type': asset.contentType,
|
package/src/cmd/coder/create.ts
CHANGED
|
@@ -44,6 +44,12 @@ export const createCoderSubcommand = createSubcommand({
|
|
|
44
44
|
),
|
|
45
45
|
description: 'Create with label and tags, return JSON',
|
|
46
46
|
},
|
|
47
|
+
{
|
|
48
|
+
command: getCommand(
|
|
49
|
+
'coder create "Review this change" --default-agent code-review --enabled-agents code-review'
|
|
50
|
+
),
|
|
51
|
+
description: 'Create with a selected agent roster and a custom default route target',
|
|
52
|
+
},
|
|
47
53
|
],
|
|
48
54
|
schema: {
|
|
49
55
|
args: z.object({
|
|
@@ -61,6 +67,10 @@ export const createCoderSubcommand = createSubcommand({
|
|
|
61
67
|
// Session config
|
|
62
68
|
label: z.string().optional().describe('Human-readable session label'),
|
|
63
69
|
agent: z.string().optional().describe('Default agent role (e.g. lead, scout)'),
|
|
70
|
+
defaultAgent: z
|
|
71
|
+
.string()
|
|
72
|
+
.optional()
|
|
73
|
+
.describe('Preferred default agent slug or built-in route target'),
|
|
64
74
|
visibility: z
|
|
65
75
|
.string()
|
|
66
76
|
.optional()
|
|
@@ -86,6 +96,10 @@ export const createCoderSubcommand = createSubcommand({
|
|
|
86
96
|
// Resources
|
|
87
97
|
workspaceId: z.string().optional().describe('Workspace ID to use'),
|
|
88
98
|
tags: z.string().optional().describe('Comma-separated tags'),
|
|
99
|
+
enabledAgents: z
|
|
100
|
+
.string()
|
|
101
|
+
.optional()
|
|
102
|
+
.describe('Comma-separated built-in/custom agents to include'),
|
|
89
103
|
env: z
|
|
90
104
|
.string()
|
|
91
105
|
.optional()
|
|
@@ -105,10 +119,14 @@ export const createCoderSubcommand = createSubcommand({
|
|
|
105
119
|
});
|
|
106
120
|
|
|
107
121
|
// Build the create session request body from flags
|
|
108
|
-
const body: CoderCreateSessionRequest
|
|
122
|
+
const body: CoderCreateSessionRequest & {
|
|
123
|
+
defaultAgent?: string;
|
|
124
|
+
enabledAgents?: string[];
|
|
125
|
+
} = {
|
|
109
126
|
task: args.task,
|
|
110
127
|
...(opts?.label && { label: opts.label }),
|
|
111
128
|
...(opts?.agent && { agent: opts.agent }),
|
|
129
|
+
...(opts?.defaultAgent && { defaultAgent: opts.defaultAgent }),
|
|
112
130
|
...(opts?.visibility && { visibility: normalizeVisibility(opts.visibility) }),
|
|
113
131
|
...(opts?.workflowMode && { workflowMode: opts.workflowMode as 'standard' | 'loop' }),
|
|
114
132
|
};
|
|
@@ -149,6 +167,11 @@ export const createCoderSubcommand = createSubcommand({
|
|
|
149
167
|
.split(',')
|
|
150
168
|
.map((t) => t.trim())
|
|
151
169
|
.filter(Boolean);
|
|
170
|
+
if (opts?.enabledAgents)
|
|
171
|
+
body.enabledAgents = opts.enabledAgents
|
|
172
|
+
.split(',')
|
|
173
|
+
.map((name) => name.trim())
|
|
174
|
+
.filter(Boolean);
|
|
152
175
|
if (opts?.savedSkillIds)
|
|
153
176
|
body.savedSkillIds = opts.savedSkillIds
|
|
154
177
|
.split(',')
|
package/src/cmd/coder/index.ts
CHANGED
|
@@ -24,6 +24,10 @@ export const command = createCommand({
|
|
|
24
24
|
command: getCommand('coder start'),
|
|
25
25
|
description: 'Start a coding session connected to Coder',
|
|
26
26
|
},
|
|
27
|
+
{
|
|
28
|
+
command: getCommand('coder start --dir ~/path/to/my/project'),
|
|
29
|
+
description: 'Start a coding session from a specific local project directory',
|
|
30
|
+
},
|
|
27
31
|
{
|
|
28
32
|
command: getCommand('coder create "Build a REST API"'),
|
|
29
33
|
description: 'Create a new Coder session with a task',
|
package/src/cmd/coder/start.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { dirname, resolve } from 'node:path';
|
|
2
|
+
import { stat } from 'node:fs/promises';
|
|
3
|
+
import { homedir } from 'node:os';
|
|
2
4
|
import { z } from 'zod';
|
|
3
5
|
import { CoderClient, type CoderSessionListItem } from '@agentuity/core/coder';
|
|
4
6
|
import { ValidationOutputError } from '@agentuity/core';
|
|
@@ -64,6 +66,10 @@ export const startSubcommand = createSubcommand({
|
|
|
64
66
|
command: getCommand('coder start'),
|
|
65
67
|
description: 'Start Pi with auto-detected Hub and extension',
|
|
66
68
|
},
|
|
69
|
+
{
|
|
70
|
+
command: getCommand('coder start --dir ~/path/to/my/project'),
|
|
71
|
+
description: 'Start from a specific local project directory',
|
|
72
|
+
},
|
|
67
73
|
{
|
|
68
74
|
command: getCommand('coder start --url ws://127.0.0.1:3500/api/ws'),
|
|
69
75
|
description: 'Start with explicit Coder URL',
|
|
@@ -97,6 +103,7 @@ export const startSubcommand = createSubcommand({
|
|
|
97
103
|
],
|
|
98
104
|
schema: {
|
|
99
105
|
options: z.object({
|
|
106
|
+
dir: z.string().optional().describe('Local project directory to start from'),
|
|
100
107
|
url: z.string().optional().describe('Coder API URL override'),
|
|
101
108
|
extension: z.string().optional().describe('Coder extension path override'),
|
|
102
109
|
pi: z.string().optional().describe('Path to pi binary'),
|
|
@@ -121,6 +128,30 @@ export const startSubcommand = createSubcommand({
|
|
|
121
128
|
},
|
|
122
129
|
async handler(ctx) {
|
|
123
130
|
const { opts, options } = ctx;
|
|
131
|
+
|
|
132
|
+
// Resolve working directory from optional --dir option
|
|
133
|
+
let cwd = process.cwd();
|
|
134
|
+
if (opts?.dir) {
|
|
135
|
+
// Warn if --dir is provided with --remote or --sandbox (dir is ignored in those modes)
|
|
136
|
+
if (opts?.remote !== undefined || opts?.sandbox !== undefined) {
|
|
137
|
+
tui.warning('--dir is ignored in remote/sandbox mode');
|
|
138
|
+
} else {
|
|
139
|
+
const raw = opts.dir.trim();
|
|
140
|
+
cwd =
|
|
141
|
+
raw === '~' || raw.startsWith('~/')
|
|
142
|
+
? resolve(homedir(), raw.slice(2))
|
|
143
|
+
: resolve(raw);
|
|
144
|
+
|
|
145
|
+
const st = await stat(cwd).catch(() => null);
|
|
146
|
+
if (!st?.isDirectory()) {
|
|
147
|
+
tui.fatal(
|
|
148
|
+
`The specified path is not a valid directory: ${cwd}`,
|
|
149
|
+
ErrorCode.CONFIG_INVALID
|
|
150
|
+
);
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
}
|
|
124
155
|
const client = new CoderClient({
|
|
125
156
|
apiKey: ctx.auth.apiKey,
|
|
126
157
|
url: opts?.url,
|
|
@@ -216,6 +247,33 @@ export const startSubcommand = createSubcommand({
|
|
|
216
247
|
// with the coder extension loaded for Hub UI (footer, /hub, commands).
|
|
217
248
|
// Agent.emit() drives native rendering — no [remote_message] blocks.
|
|
218
249
|
if (remoteSessionId) {
|
|
250
|
+
try {
|
|
251
|
+
const session = await tui.spinner({
|
|
252
|
+
message: 'Preparing remote session…',
|
|
253
|
+
callback: async () => client.prepareSessionForRemoteAttach(remoteSessionId!),
|
|
254
|
+
});
|
|
255
|
+
|
|
256
|
+
if (session.historyOnly === true) {
|
|
257
|
+
tui.fatal(
|
|
258
|
+
`Session ${remoteSessionId} is history-only and cannot be attached remotely.`,
|
|
259
|
+
ErrorCode.CONFIG_INVALID
|
|
260
|
+
);
|
|
261
|
+
return;
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
if (session.runtimeAvailable === false) {
|
|
265
|
+
tui.fatal(
|
|
266
|
+
`Session ${remoteSessionId} is offline and could not be resumed for remote attach.`,
|
|
267
|
+
ErrorCode.NETWORK_ERROR
|
|
268
|
+
);
|
|
269
|
+
return;
|
|
270
|
+
}
|
|
271
|
+
} catch (err) {
|
|
272
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
273
|
+
tui.fatal(`Failed to prepare remote session: ${msg}`, ErrorCode.NETWORK_ERROR);
|
|
274
|
+
return;
|
|
275
|
+
}
|
|
276
|
+
|
|
219
277
|
if (!options.json) {
|
|
220
278
|
tui.newline();
|
|
221
279
|
tui.output(` Hub: ${tui.bold(hubWsUrl)}`);
|
|
@@ -343,6 +401,7 @@ export const startSubcommand = createSubcommand({
|
|
|
343
401
|
tui.output(` Hub: ${tui.bold(hubWsUrl)}`);
|
|
344
402
|
tui.output(` Extension: ${tui.bold(extensionPath)}`);
|
|
345
403
|
tui.output(` Pi: ${tui.bold(piBinary)}`);
|
|
404
|
+
if (opts?.dir) tui.output(` Dir: ${tui.bold(cwd)}`);
|
|
346
405
|
if (opts?.agent) tui.output(` Agent: ${tui.bold(opts.agent)}`);
|
|
347
406
|
tui.newline();
|
|
348
407
|
}
|
|
@@ -351,7 +410,7 @@ export const startSubcommand = createSubcommand({
|
|
|
351
410
|
try {
|
|
352
411
|
const proc = Bun.spawn([piBinary, ...piArgs], {
|
|
353
412
|
env,
|
|
354
|
-
cwd
|
|
413
|
+
cwd,
|
|
355
414
|
stdin: 'inherit',
|
|
356
415
|
stdout: 'inherit',
|
|
357
416
|
stderr: 'inherit',
|
package/src/cmd/coder/update.ts
CHANGED
|
@@ -40,6 +40,10 @@ export const updateSubcommand = createSubcommand({
|
|
|
40
40
|
url: z.string().optional().describe('Coder API URL override'),
|
|
41
41
|
label: z.string().optional().describe('Updated session label'),
|
|
42
42
|
agent: z.string().optional().describe('Updated default agent role'),
|
|
43
|
+
defaultAgent: z
|
|
44
|
+
.string()
|
|
45
|
+
.optional()
|
|
46
|
+
.describe('Updated preferred default agent slug or built-in route target'),
|
|
43
47
|
visibility: z
|
|
44
48
|
.string()
|
|
45
49
|
.optional()
|
|
@@ -50,6 +54,10 @@ export const updateSubcommand = createSubcommand({
|
|
|
50
54
|
loopAutoContinue: z.boolean().optional().describe('Auto-continue loop'),
|
|
51
55
|
loopAllowDetached: z.boolean().optional().describe('Allow detached loop execution'),
|
|
52
56
|
tags: z.string().optional().describe('Comma-separated tags (replaces existing)'),
|
|
57
|
+
enabledAgents: z
|
|
58
|
+
.string()
|
|
59
|
+
.optional()
|
|
60
|
+
.describe('Comma-separated built-in/custom agents (replaces existing)'),
|
|
53
61
|
}),
|
|
54
62
|
},
|
|
55
63
|
async handler(ctx) {
|
|
@@ -64,6 +72,7 @@ export const updateSubcommand = createSubcommand({
|
|
|
64
72
|
|
|
65
73
|
if (opts?.label) body.label = opts.label;
|
|
66
74
|
if (opts?.agent) body.agent = opts.agent;
|
|
75
|
+
if (opts?.defaultAgent) body.defaultAgent = opts.defaultAgent;
|
|
67
76
|
if (opts?.visibility) body.visibility = normalizeVisibility(opts.visibility);
|
|
68
77
|
if (opts?.workflowMode) body.workflowMode = opts.workflowMode;
|
|
69
78
|
if (opts?.tags) {
|
|
@@ -72,6 +81,12 @@ export const updateSubcommand = createSubcommand({
|
|
|
72
81
|
.map((t) => t.trim())
|
|
73
82
|
.filter(Boolean);
|
|
74
83
|
}
|
|
84
|
+
if (opts?.enabledAgents) {
|
|
85
|
+
body.enabledAgents = opts.enabledAgents
|
|
86
|
+
.split(',')
|
|
87
|
+
.map((name) => name.trim())
|
|
88
|
+
.filter(Boolean);
|
|
89
|
+
}
|
|
75
90
|
|
|
76
91
|
if (
|
|
77
92
|
opts?.loopGoal ||
|
|
@@ -90,7 +105,7 @@ export const updateSubcommand = createSubcommand({
|
|
|
90
105
|
|
|
91
106
|
if (Object.keys(body).length === 0) {
|
|
92
107
|
tui.fatal(
|
|
93
|
-
'No update fields provided. Use --label, --visibility, --tags, --agent, --workflow-mode, or loop options.',
|
|
108
|
+
'No update fields provided. Use --label, --visibility, --tags, --agent, --default-agent, --enabled-agents, --workflow-mode, or loop options.',
|
|
94
109
|
ErrorCode.VALIDATION_FAILED
|
|
95
110
|
);
|
|
96
111
|
}
|
|
@@ -109,6 +124,8 @@ export const updateSubcommand = createSubcommand({
|
|
|
109
124
|
if (opts?.visibility) fields.push(`Visibility: ${body.visibility}`);
|
|
110
125
|
if (opts?.tags) fields.push(`Tags: ${(body.tags as string[]).join(', ')}`);
|
|
111
126
|
if (opts?.agent) fields.push(`Agent: ${opts.agent}`);
|
|
127
|
+
if (opts?.defaultAgent) fields.push(`Default agent: ${opts.defaultAgent}`);
|
|
128
|
+
if (opts?.enabledAgents) fields.push(`Enabled agents: ${opts.enabledAgents}`);
|
|
112
129
|
if (opts?.workflowMode || body.loop) fields.push(`Workflow: ${body.workflowMode}`);
|
|
113
130
|
|
|
114
131
|
for (const f of fields) {
|
|
@@ -45,6 +45,10 @@ export const createWorkspaceSubcommand = createSubcommand({
|
|
|
45
45
|
scope: z.string().optional().describe('Workspace scope: user or org'),
|
|
46
46
|
repo: z.string().optional().describe('Repository URL to add'),
|
|
47
47
|
repoBranch: z.string().optional().describe('Branch for the repository'),
|
|
48
|
+
enabledAgents: z
|
|
49
|
+
.string()
|
|
50
|
+
.optional()
|
|
51
|
+
.describe('Comma-separated built-in/custom agents to include'),
|
|
48
52
|
}),
|
|
49
53
|
},
|
|
50
54
|
async handler(ctx) {
|
|
@@ -55,7 +59,9 @@ export const createWorkspaceSubcommand = createSubcommand({
|
|
|
55
59
|
orgId: ctx.orgId,
|
|
56
60
|
});
|
|
57
61
|
|
|
58
|
-
const body: CoderCreateWorkspaceRequest
|
|
62
|
+
const body: CoderCreateWorkspaceRequest & {
|
|
63
|
+
enabledAgents?: string[];
|
|
64
|
+
} = {
|
|
59
65
|
name: args.name,
|
|
60
66
|
...(opts?.description && { description: opts.description }),
|
|
61
67
|
...(opts?.scope && { scope: opts.scope as 'user' | 'org' }),
|
|
@@ -72,9 +78,18 @@ export const createWorkspaceSubcommand = createSubcommand({
|
|
|
72
78
|
return;
|
|
73
79
|
}
|
|
74
80
|
}
|
|
81
|
+
if (opts?.enabledAgents) {
|
|
82
|
+
body.enabledAgents = opts.enabledAgents
|
|
83
|
+
.split(',')
|
|
84
|
+
.map((name) => name.trim())
|
|
85
|
+
.filter(Boolean);
|
|
86
|
+
}
|
|
75
87
|
|
|
76
88
|
try {
|
|
77
89
|
const created = await client.createWorkspace(body);
|
|
90
|
+
const createdEnabledAgents = Array.isArray(created.enabledAgents)
|
|
91
|
+
? created.enabledAgents.filter((name): name is string => typeof name === 'string')
|
|
92
|
+
: [];
|
|
78
93
|
|
|
79
94
|
if (options.json) {
|
|
80
95
|
return created;
|
|
@@ -88,7 +103,10 @@ export const createWorkspaceSubcommand = createSubcommand({
|
|
|
88
103
|
}
|
|
89
104
|
tui.output(` Scope: ${created.scope}`);
|
|
90
105
|
tui.output(` Repos: ${created.repoCount}`);
|
|
91
|
-
tui.output(`
|
|
106
|
+
tui.output(` Selections: ${created.selectionCount}`);
|
|
107
|
+
if (createdEnabledAgents.length > 0) {
|
|
108
|
+
tui.output(` Agents: ${createdEnabledAgents.join(', ')}`);
|
|
109
|
+
}
|
|
92
110
|
|
|
93
111
|
return created;
|
|
94
112
|
} catch (err) {
|
|
@@ -83,7 +83,7 @@ export const listSubcommand = createSubcommand({
|
|
|
83
83
|
Name: w.name,
|
|
84
84
|
Scope: w.scope,
|
|
85
85
|
Repos: String(w.repoCount),
|
|
86
|
-
|
|
86
|
+
Selections: String(w.selectionCount),
|
|
87
87
|
Created: formatRelativeTime(w.createdAt),
|
|
88
88
|
})),
|
|
89
89
|
[
|
|
@@ -91,7 +91,7 @@ export const listSubcommand = createSubcommand({
|
|
|
91
91
|
{ name: 'Name', alignment: 'left' },
|
|
92
92
|
{ name: 'Scope', alignment: 'center' },
|
|
93
93
|
{ name: 'Repos', alignment: 'right' },
|
|
94
|
-
{ name: '
|
|
94
|
+
{ name: 'Selections', alignment: 'right' },
|
|
95
95
|
{ name: 'Created', alignment: 'right' },
|
|
96
96
|
]
|
|
97
97
|
);
|