@agentuity/cli 2.0.11 → 2.0.13
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/cache/resource-region.d.ts.map +1 -1
- package/dist/cache/resource-region.js +48 -25
- package/dist/cache/resource-region.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +15 -8
- package/dist/cli.js.map +1 -1
- package/dist/cmd/build/vite/bun-dev-server.d.ts +20 -0
- package/dist/cmd/build/vite/bun-dev-server.d.ts.map +1 -1
- package/dist/cmd/build/vite/bun-dev-server.js +62 -4
- package/dist/cmd/build/vite/bun-dev-server.js.map +1 -1
- package/dist/cmd/build/vite/index.d.ts +0 -1
- package/dist/cmd/build/vite/index.d.ts.map +1 -1
- package/dist/cmd/build/vite/index.js +0 -1
- package/dist/cmd/build/vite/index.js.map +1 -1
- package/dist/cmd/build/vite/static-renderer.d.ts +17 -0
- package/dist/cmd/build/vite/static-renderer.d.ts.map +1 -1
- package/dist/cmd/build/vite/static-renderer.js +18 -6
- package/dist/cmd/build/vite/static-renderer.js.map +1 -1
- package/dist/cmd/build/vite/vite-asset-server-config.d.ts.map +1 -1
- package/dist/cmd/build/vite/vite-asset-server-config.js +34 -27
- package/dist/cmd/build/vite/vite-asset-server-config.js.map +1 -1
- package/dist/cmd/build/vite/vite-asset-server.d.ts +9 -0
- package/dist/cmd/build/vite/vite-asset-server.d.ts.map +1 -1
- package/dist/cmd/build/vite/vite-asset-server.js +5 -1
- package/dist/cmd/build/vite/vite-asset-server.js.map +1 -1
- package/dist/cmd/build/vite/vite-builder.d.ts.map +1 -1
- package/dist/cmd/build/vite/vite-builder.js +12 -1
- package/dist/cmd/build/vite/vite-builder.js.map +1 -1
- package/dist/cmd/build/vite/ws-proxy.d.ts +15 -1
- package/dist/cmd/build/vite/ws-proxy.d.ts.map +1 -1
- package/dist/cmd/build/vite/ws-proxy.js +33 -0
- package/dist/cmd/build/vite/ws-proxy.js.map +1 -1
- package/dist/cmd/cloud/deploy.d.ts.map +1 -1
- package/dist/cmd/cloud/deploy.js +98 -39
- package/dist/cmd/cloud/deploy.js.map +1 -1
- package/dist/cmd/cloud/sandbox/checkpoint/create.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/checkpoint/create.js +3 -4
- package/dist/cmd/cloud/sandbox/checkpoint/create.js.map +1 -1
- package/dist/cmd/cloud/sandbox/checkpoint/delete.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/checkpoint/delete.js +3 -4
- package/dist/cmd/cloud/sandbox/checkpoint/delete.js.map +1 -1
- package/dist/cmd/cloud/sandbox/checkpoint/list.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/checkpoint/list.js +3 -4
- package/dist/cmd/cloud/sandbox/checkpoint/list.js.map +1 -1
- package/dist/cmd/cloud/sandbox/checkpoint/restore.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/checkpoint/restore.js +3 -4
- package/dist/cmd/cloud/sandbox/checkpoint/restore.js.map +1 -1
- package/dist/cmd/cloud/sandbox/create.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/create.js +13 -4
- package/dist/cmd/cloud/sandbox/create.js.map +1 -1
- package/dist/cmd/cloud/sandbox/delete.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/delete.js +3 -4
- package/dist/cmd/cloud/sandbox/delete.js.map +1 -1
- package/dist/cmd/cloud/sandbox/env.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/env.js +3 -5
- package/dist/cmd/cloud/sandbox/env.js.map +1 -1
- package/dist/cmd/cloud/sandbox/exec.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/exec.js +114 -41
- package/dist/cmd/cloud/sandbox/exec.js.map +1 -1
- package/dist/cmd/cloud/sandbox/execution/list.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/execution/list.js +3 -5
- package/dist/cmd/cloud/sandbox/execution/list.js.map +1 -1
- package/dist/cmd/cloud/sandbox/fs/cp.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/fs/cp.js +61 -113
- package/dist/cmd/cloud/sandbox/fs/cp.js.map +1 -1
- package/dist/cmd/cloud/sandbox/fs/download.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/fs/download.js +11 -22
- package/dist/cmd/cloud/sandbox/fs/download.js.map +1 -1
- package/dist/cmd/cloud/sandbox/fs/ls.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/fs/ls.js +3 -5
- package/dist/cmd/cloud/sandbox/fs/ls.js.map +1 -1
- package/dist/cmd/cloud/sandbox/fs/mkdir.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/fs/mkdir.js +3 -5
- package/dist/cmd/cloud/sandbox/fs/mkdir.js.map +1 -1
- package/dist/cmd/cloud/sandbox/fs/rm.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/fs/rm.js +3 -5
- package/dist/cmd/cloud/sandbox/fs/rm.js.map +1 -1
- package/dist/cmd/cloud/sandbox/fs/rmdir.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/fs/rmdir.js +3 -5
- package/dist/cmd/cloud/sandbox/fs/rmdir.js.map +1 -1
- package/dist/cmd/cloud/sandbox/fs/upload.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/fs/upload.js +7 -8
- package/dist/cmd/cloud/sandbox/fs/upload.js.map +1 -1
- package/dist/cmd/cloud/sandbox/get.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/get.js +21 -7
- package/dist/cmd/cloud/sandbox/get.js.map +1 -1
- package/dist/cmd/cloud/sandbox/job/create.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/job/create.js +3 -4
- package/dist/cmd/cloud/sandbox/job/create.js.map +1 -1
- package/dist/cmd/cloud/sandbox/job/destroy.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/job/destroy.js +3 -4
- package/dist/cmd/cloud/sandbox/job/destroy.js.map +1 -1
- package/dist/cmd/cloud/sandbox/job/get.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/job/get.js +3 -4
- package/dist/cmd/cloud/sandbox/job/get.js.map +1 -1
- package/dist/cmd/cloud/sandbox/job/list.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/job/list.js +3 -4
- package/dist/cmd/cloud/sandbox/job/list.js.map +1 -1
- package/dist/cmd/cloud/sandbox/job/logs.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/job/logs.js +4 -4
- package/dist/cmd/cloud/sandbox/job/logs.js.map +1 -1
- package/dist/cmd/cloud/sandbox/pause.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/pause.js +21 -5
- package/dist/cmd/cloud/sandbox/pause.js.map +1 -1
- package/dist/cmd/cloud/sandbox/resume.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/resume.js +3 -4
- package/dist/cmd/cloud/sandbox/resume.js.map +1 -1
- package/dist/cmd/cloud/sandbox/run.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/run.js +36 -7
- package/dist/cmd/cloud/sandbox/run.js.map +1 -1
- package/dist/cmd/cloud/sandbox/snapshot/create.js +4 -4
- package/dist/cmd/cloud/sandbox/snapshot/create.js.map +1 -1
- package/dist/cmd/cloud/sandbox/util.d.ts +19 -0
- package/dist/cmd/cloud/sandbox/util.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/util.js +40 -2
- package/dist/cmd/cloud/sandbox/util.js.map +1 -1
- package/dist/cmd/coder/create.js +7 -7
- package/dist/cmd/coder/create.js.map +1 -1
- package/dist/cmd/coder/start.d.ts.map +1 -1
- package/dist/cmd/coder/start.js +3 -0
- package/dist/cmd/coder/start.js.map +1 -1
- package/dist/cmd/coder/tui-init.js +1 -1
- package/dist/cmd/coder/tui-init.js.map +1 -1
- package/dist/cmd/coder/update.js +8 -8
- package/dist/cmd/coder/update.js.map +1 -1
- package/dist/cmd/coder/workspace/common.d.ts +29 -0
- package/dist/cmd/coder/workspace/common.d.ts.map +1 -0
- package/dist/cmd/coder/workspace/common.js +83 -0
- package/dist/cmd/coder/workspace/common.js.map +1 -0
- package/dist/cmd/coder/workspace/create.d.ts.map +1 -1
- package/dist/cmd/coder/workspace/create.js +57 -32
- package/dist/cmd/coder/workspace/create.js.map +1 -1
- package/dist/cmd/coder/workspace/get.d.ts.map +1 -1
- package/dist/cmd/coder/workspace/get.js +2 -5
- package/dist/cmd/coder/workspace/get.js.map +1 -1
- package/dist/cmd/coder/workspace/index.d.ts.map +1 -1
- package/dist/cmd/coder/workspace/index.js +11 -1
- package/dist/cmd/coder/workspace/index.js.map +1 -1
- package/dist/cmd/coder/workspace/list.d.ts.map +1 -1
- package/dist/cmd/coder/workspace/list.js +4 -0
- package/dist/cmd/coder/workspace/list.js.map +1 -1
- package/dist/cmd/coder/workspace/refresh.d.ts +2 -0
- package/dist/cmd/coder/workspace/refresh.d.ts.map +1 -0
- package/dist/cmd/coder/workspace/refresh.js +59 -0
- package/dist/cmd/coder/workspace/refresh.js.map +1 -0
- package/dist/cmd/coder/workspace/update.d.ts +2 -0
- package/dist/cmd/coder/workspace/update.d.ts.map +1 -0
- package/dist/cmd/coder/workspace/update.js +131 -0
- package/dist/cmd/coder/workspace/update.js.map +1 -0
- package/dist/cmd/coder/workspace/validate-dependencies.d.ts +2 -0
- package/dist/cmd/coder/workspace/validate-dependencies.d.ts.map +1 -0
- package/dist/cmd/coder/workspace/validate-dependencies.js +70 -0
- package/dist/cmd/coder/workspace/validate-dependencies.js.map +1 -0
- package/dist/cmd/dev/dev-lock.d.ts.map +1 -1
- package/dist/cmd/dev/dev-lock.js +43 -17
- package/dist/cmd/dev/dev-lock.js.map +1 -1
- package/dist/cmd/dev/index.d.ts.map +1 -1
- package/dist/cmd/dev/index.js +211 -125
- package/dist/cmd/dev/index.js.map +1 -1
- package/dist/cmd/dev/process-manager.d.ts +41 -1
- package/dist/cmd/dev/process-manager.d.ts.map +1 -1
- package/dist/cmd/dev/process-manager.js +160 -31
- package/dist/cmd/dev/process-manager.js.map +1 -1
- package/dist/cmd/project/create.d.ts.map +1 -1
- package/dist/cmd/project/create.js +0 -2
- package/dist/cmd/project/create.js.map +1 -1
- package/dist/cmd/project/index.d.ts.map +1 -1
- package/dist/cmd/project/index.js +0 -3
- package/dist/cmd/project/index.js.map +1 -1
- 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/template-flow.d.ts +0 -1
- package/dist/cmd/project/template-flow.d.ts.map +1 -1
- package/dist/cmd/project/template-flow.js +180 -275
- package/dist/cmd/project/template-flow.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 +18 -16
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +46 -16
- package/dist/config.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 +180 -8
- package/dist/tui/prompt.js.map +1 -1
- package/package.json +7 -7
- package/src/cache/resource-region.ts +68 -44
- package/src/cli.ts +30 -8
- package/src/cmd/ai/prompt/web.md +43 -17
- package/src/cmd/build/vite/bun-dev-server.ts +92 -6
- package/src/cmd/build/vite/index.ts +0 -1
- package/src/cmd/build/vite/static-renderer.ts +18 -7
- package/src/cmd/build/vite/vite-asset-server-config.ts +37 -27
- package/src/cmd/build/vite/vite-asset-server.ts +5 -1
- package/src/cmd/build/vite/vite-builder.ts +12 -1
- package/src/cmd/build/vite/ws-proxy.ts +52 -3
- package/src/cmd/cloud/deploy.ts +117 -49
- package/src/cmd/cloud/sandbox/checkpoint/create.ts +10 -4
- package/src/cmd/cloud/sandbox/checkpoint/delete.ts +10 -4
- package/src/cmd/cloud/sandbox/checkpoint/list.ts +10 -4
- package/src/cmd/cloud/sandbox/checkpoint/restore.ts +10 -4
- package/src/cmd/cloud/sandbox/create.ts +14 -4
- package/src/cmd/cloud/sandbox/delete.ts +10 -4
- package/src/cmd/cloud/sandbox/env.ts +10 -5
- package/src/cmd/cloud/sandbox/exec.ts +157 -42
- package/src/cmd/cloud/sandbox/execution/list.ts +10 -5
- package/src/cmd/cloud/sandbox/fs/cp.ts +94 -126
- package/src/cmd/cloud/sandbox/fs/download.ts +18 -25
- package/src/cmd/cloud/sandbox/fs/ls.ts +10 -5
- package/src/cmd/cloud/sandbox/fs/mkdir.ts +10 -5
- package/src/cmd/cloud/sandbox/fs/rm.ts +10 -5
- package/src/cmd/cloud/sandbox/fs/rmdir.ts +10 -5
- package/src/cmd/cloud/sandbox/fs/upload.ts +14 -8
- package/src/cmd/cloud/sandbox/get.ts +28 -7
- package/src/cmd/cloud/sandbox/job/create.ts +10 -4
- package/src/cmd/cloud/sandbox/job/destroy.ts +10 -4
- package/src/cmd/cloud/sandbox/job/get.ts +10 -4
- package/src/cmd/cloud/sandbox/job/list.ts +10 -4
- package/src/cmd/cloud/sandbox/job/logs.ts +11 -4
- package/src/cmd/cloud/sandbox/pause.ts +31 -5
- package/src/cmd/cloud/sandbox/resume.ts +10 -4
- package/src/cmd/cloud/sandbox/run.ts +49 -11
- package/src/cmd/cloud/sandbox/snapshot/create.ts +6 -6
- package/src/cmd/cloud/sandbox/util.ts +63 -2
- package/src/cmd/coder/create.ts +8 -8
- package/src/cmd/coder/start.ts +3 -0
- package/src/cmd/coder/tui-init.ts +1 -1
- package/src/cmd/coder/update.ts +7 -7
- package/src/cmd/coder/workspace/common.ts +103 -0
- package/src/cmd/coder/workspace/create.ts +84 -37
- package/src/cmd/coder/workspace/get.ts +2 -5
- package/src/cmd/coder/workspace/index.ts +13 -1
- package/src/cmd/coder/workspace/list.ts +4 -0
- package/src/cmd/coder/workspace/refresh.ts +63 -0
- package/src/cmd/coder/workspace/update.ts +154 -0
- package/src/cmd/coder/workspace/validate-dependencies.ts +75 -0
- package/src/cmd/dev/dev-lock.ts +50 -16
- package/src/cmd/dev/index.ts +249 -134
- package/src/cmd/dev/process-manager.ts +173 -33
- package/src/cmd/project/create.ts +0 -2
- package/src/cmd/project/index.ts +0 -3
- package/src/cmd/project/random-name.ts +152 -0
- package/src/cmd/project/template-flow.ts +196 -305
- package/src/composite-logger.ts +20 -0
- package/src/config.ts +69 -19
- package/src/tui/prompt.ts +214 -8
- 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/project/auth/generate.d.ts +0 -5
- package/dist/cmd/project/auth/generate.d.ts.map +0 -1
- package/dist/cmd/project/auth/generate.js +0 -102
- package/dist/cmd/project/auth/generate.js.map +0 -1
- package/dist/cmd/project/auth/index.d.ts +0 -2
- package/dist/cmd/project/auth/index.d.ts.map +0 -1
- package/dist/cmd/project/auth/index.js +0 -21
- package/dist/cmd/project/auth/index.js.map +0 -1
- package/dist/cmd/project/auth/init.d.ts +0 -2
- package/dist/cmd/project/auth/init.d.ts.map +0 -1
- package/dist/cmd/project/auth/init.js +0 -213
- package/dist/cmd/project/auth/init.js.map +0 -1
- package/dist/cmd/project/auth/shared.d.ts +0 -93
- package/dist/cmd/project/auth/shared.d.ts.map +0 -1
- package/dist/cmd/project/auth/shared.js +0 -475
- package/dist/cmd/project/auth/shared.js.map +0 -1
- package/src/cmd/build/vite/public-asset-path-plugin.ts +0 -209
- package/src/cmd/project/auth/generate.ts +0 -116
- package/src/cmd/project/auth/index.ts +0 -21
- package/src/cmd/project/auth/init.ts +0 -256
- package/src/cmd/project/auth/shared.ts +0 -591
|
@@ -7,6 +7,14 @@
|
|
|
7
7
|
* - Graceful shutdown (SIGINT/SIGTERM)
|
|
8
8
|
*
|
|
9
9
|
* This prevents orphan processes and port conflicts between dev sessions.
|
|
10
|
+
*
|
|
11
|
+
* Key design decisions:
|
|
12
|
+
* - Process tree killing: Uses process.kill(-pid) to kill entire process groups,
|
|
13
|
+
* preventing orphaned child processes (e.g., Bun backend spawning workers).
|
|
14
|
+
* - Per-process SIGTERM→SIGKILL escalation: Each process gets its own grace
|
|
15
|
+
* period instead of waiting for all processes to exit before force-killing.
|
|
16
|
+
* - Last-resort synchronous cleanup: forceKillAllSync() can be called from
|
|
17
|
+
* process.on('exit') handlers where async operations are not possible.
|
|
10
18
|
*/
|
|
11
19
|
import type { Logger } from '../../types';
|
|
12
20
|
export interface ManagedProcess {
|
|
@@ -36,6 +44,12 @@ export interface ManagedServer {
|
|
|
36
44
|
description: string;
|
|
37
45
|
/** The port this server uses */
|
|
38
46
|
port?: number;
|
|
47
|
+
/**
|
|
48
|
+
* Maximum time (ms) to wait for this server's close() to resolve before
|
|
49
|
+
* moving on. Defaults to 1000ms. Servers like Vite that own filesystem
|
|
50
|
+
* watchers and HMR sockets may need more time.
|
|
51
|
+
*/
|
|
52
|
+
closeTimeoutMs?: number;
|
|
39
53
|
}
|
|
40
54
|
/**
|
|
41
55
|
* Process Manager
|
|
@@ -69,13 +83,39 @@ export declare class ProcessManager {
|
|
|
69
83
|
* Get all registered ports (for cleanup verification).
|
|
70
84
|
*/
|
|
71
85
|
getPorts(): number[];
|
|
86
|
+
/**
|
|
87
|
+
* Whether cleanup has already completed.
|
|
88
|
+
* Used by forceKillAllSync() to avoid redundant work.
|
|
89
|
+
*/
|
|
90
|
+
get isCleanedUp(): boolean;
|
|
91
|
+
/**
|
|
92
|
+
* Kill a process and its entire process tree.
|
|
93
|
+
*
|
|
94
|
+
* Uses process.kill(-pid) to send the signal to the entire process group.
|
|
95
|
+
* This ensures child processes (e.g., workers spawned by Bun) are also killed.
|
|
96
|
+
* Falls back to direct PID kill if process group kill fails (e.g., EPERM or
|
|
97
|
+
* the process is not a group leader).
|
|
98
|
+
*/
|
|
99
|
+
private killProcessTree;
|
|
72
100
|
/**
|
|
73
101
|
* Clean up all tracked processes and servers.
|
|
74
102
|
*
|
|
103
|
+
* Uses per-process SIGTERM→SIGKILL escalation: each process gets up to
|
|
104
|
+
* `timeout` ms to exit gracefully after SIGTERM. Processes that exit early
|
|
105
|
+
* don't delay cleanup of other processes.
|
|
106
|
+
*
|
|
75
107
|
* @param reason - Why cleanup is happening (for logging)
|
|
76
|
-
* @param timeout - Max time to wait for graceful shutdown (ms)
|
|
108
|
+
* @param timeout - Max time to wait for graceful shutdown per process (ms)
|
|
77
109
|
*/
|
|
78
110
|
cleanup(reason: string, timeout?: number): Promise<void>;
|
|
111
|
+
/**
|
|
112
|
+
* Synchronous last-resort cleanup for use in process.on('exit') handlers.
|
|
113
|
+
*
|
|
114
|
+
* Sends SIGKILL to all tracked process trees. This is intentionally
|
|
115
|
+
* aggressive because it's the final opportunity to prevent orphans.
|
|
116
|
+
* Only runs if async cleanup() hasn't already completed.
|
|
117
|
+
*/
|
|
118
|
+
forceKillAllSync(): void;
|
|
79
119
|
/**
|
|
80
120
|
* Verify that all ports used by tracked processes are released.
|
|
81
121
|
* Used after cleanup to ensure no orphan processes remain.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process-manager.d.ts","sourceRoot":"","sources":["../../../src/cmd/dev/process-manager.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"process-manager.d.ts","sourceRoot":"","sources":["../../../src/cmd/dev/process-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,WAAW,cAAc;IAC9B,qCAAqC;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,yBAAyB;IACzB,OAAO,EAAE;QACR,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC;QACjD,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,GAAG,CAAC,EAAE,MAAM,CAAC;KACb,CAAC;IACF,iCAAiC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,0CAA0C;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kEAAkE;IAClE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC7B,wBAAwB;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,wBAAwB;IACxB,MAAM,EAAE;QACP,KAAK,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;KAClC,CAAC;IACF,iCAAiC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,gCAAgC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;GAKG;AACH,qBAAa,cAAc;IAC1B,OAAO,CAAC,SAAS,CAAwB;IACzC,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,UAAU,CAAS;gBAEf,MAAM,EAAE,MAAM;IAI1B;;OAEG;IACH,eAAe,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI;IAU3C;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI;IAK3C;;OAEG;IACH,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAQnC;;OAEG;IACH,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAQlC;;OAEG;IACH,QAAQ,IAAI,MAAM,EAAE;IAWpB;;;OAGG;IACH,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,eAAe;IAwCvB;;;;;;;;;OASG;IACG,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,SAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAyG5D;;;;;;OAMG;IACH,gBAAgB,IAAI,IAAI;IA0BxB;;;OAGG;IACG,mBAAmB,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC;IAgB3E;;OAEG;IACH,OAAO,CAAC,eAAe;CAUvB;AAQD;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,cAAc,CAKlD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CAGjE;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAI9D"}
|
|
@@ -7,6 +7,14 @@
|
|
|
7
7
|
* - Graceful shutdown (SIGINT/SIGTERM)
|
|
8
8
|
*
|
|
9
9
|
* This prevents orphan processes and port conflicts between dev sessions.
|
|
10
|
+
*
|
|
11
|
+
* Key design decisions:
|
|
12
|
+
* - Process tree killing: Uses process.kill(-pid) to kill entire process groups,
|
|
13
|
+
* preventing orphaned child processes (e.g., Bun backend spawning workers).
|
|
14
|
+
* - Per-process SIGTERM→SIGKILL escalation: Each process gets its own grace
|
|
15
|
+
* period instead of waiting for all processes to exit before force-killing.
|
|
16
|
+
* - Last-resort synchronous cleanup: forceKillAllSync() can be called from
|
|
17
|
+
* process.on('exit') handlers where async operations are not possible.
|
|
10
18
|
*/
|
|
11
19
|
/**
|
|
12
20
|
* Process Manager
|
|
@@ -71,11 +79,65 @@ export class ProcessManager {
|
|
|
71
79
|
}
|
|
72
80
|
return ports;
|
|
73
81
|
}
|
|
82
|
+
/**
|
|
83
|
+
* Whether cleanup has already completed.
|
|
84
|
+
* Used by forceKillAllSync() to avoid redundant work.
|
|
85
|
+
*/
|
|
86
|
+
get isCleanedUp() {
|
|
87
|
+
return this.cleaningUp && this.processes.length === 0 && this.servers.length === 0;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Kill a process and its entire process tree.
|
|
91
|
+
*
|
|
92
|
+
* Uses process.kill(-pid) to send the signal to the entire process group.
|
|
93
|
+
* This ensures child processes (e.g., workers spawned by Bun) are also killed.
|
|
94
|
+
* Falls back to direct PID kill if process group kill fails (e.g., EPERM or
|
|
95
|
+
* the process is not a group leader).
|
|
96
|
+
*/
|
|
97
|
+
killProcessTree(pid, signal) {
|
|
98
|
+
// Safety: never send signals to PID 0 (own process group), PID 1 (init/systemd),
|
|
99
|
+
// or negative PIDs (which would be double-negated). process.kill(-1) is
|
|
100
|
+
// especially dangerous as it signals every process the user owns.
|
|
101
|
+
if (pid <= 1) {
|
|
102
|
+
this.logger.debug('Refusing to kill dangerous pid %d, skipping process tree kill', pid);
|
|
103
|
+
return false;
|
|
104
|
+
}
|
|
105
|
+
// Try killing the entire process group first (negative PID)
|
|
106
|
+
try {
|
|
107
|
+
process.kill(-pid, signal);
|
|
108
|
+
this.logger.debug('Sent %s to process group -%d', signal, pid);
|
|
109
|
+
return true;
|
|
110
|
+
}
|
|
111
|
+
catch (err) {
|
|
112
|
+
const error = err;
|
|
113
|
+
// ESRCH = no such process/group, EPERM = not a group leader or no permission
|
|
114
|
+
if (error.code !== 'ESRCH') {
|
|
115
|
+
this.logger.debug('Process group kill failed for pid %d (%s), falling back to direct kill', pid, error.code);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
// Fall back to direct PID kill
|
|
119
|
+
try {
|
|
120
|
+
process.kill(pid, signal);
|
|
121
|
+
this.logger.debug('Sent %s to pid %d (direct)', signal, pid);
|
|
122
|
+
return true;
|
|
123
|
+
}
|
|
124
|
+
catch (err) {
|
|
125
|
+
const error = err;
|
|
126
|
+
if (error.code !== 'ESRCH') {
|
|
127
|
+
this.logger.debug('Direct kill failed for pid %d: %s', pid, error.code);
|
|
128
|
+
}
|
|
129
|
+
return false;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
74
132
|
/**
|
|
75
133
|
* Clean up all tracked processes and servers.
|
|
76
134
|
*
|
|
135
|
+
* Uses per-process SIGTERM→SIGKILL escalation: each process gets up to
|
|
136
|
+
* `timeout` ms to exit gracefully after SIGTERM. Processes that exit early
|
|
137
|
+
* don't delay cleanup of other processes.
|
|
138
|
+
*
|
|
77
139
|
* @param reason - Why cleanup is happening (for logging)
|
|
78
|
-
* @param timeout - Max time to wait for graceful shutdown (ms)
|
|
140
|
+
* @param timeout - Max time to wait for graceful shutdown per process (ms)
|
|
79
141
|
*/
|
|
80
142
|
async cleanup(reason, timeout = 3000) {
|
|
81
143
|
if (this.cleaningUp) {
|
|
@@ -84,64 +146,131 @@ export class ProcessManager {
|
|
|
84
146
|
}
|
|
85
147
|
this.cleaningUp = true;
|
|
86
148
|
this.logger.debug('Starting cleanup (reason: %s)', reason);
|
|
87
|
-
//
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
proc.process.kill('SIGTERM');
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
catch (err) {
|
|
99
|
-
this.logger.debug('Error killing process %s: %s', proc.id, err);
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
// Close servers
|
|
103
|
-
for (let i = this.servers.length - 1; i >= 0; i--) {
|
|
104
|
-
const server = this.servers[i];
|
|
149
|
+
// Snapshot processes and servers before cleanup so we can clear tracking
|
|
150
|
+
// lists early. This prevents the exit handler from re-killing already
|
|
151
|
+
// handled processes.
|
|
152
|
+
const processSnapshot = [...this.processes];
|
|
153
|
+
const serverSnapshot = [...this.servers];
|
|
154
|
+
// Close servers first (reverse order, LIFO)
|
|
155
|
+
for (let i = serverSnapshot.length - 1; i >= 0; i--) {
|
|
156
|
+
const server = serverSnapshot[i];
|
|
105
157
|
if (!server)
|
|
106
158
|
continue;
|
|
159
|
+
const closeTimeout = server.closeTimeoutMs ?? 1000;
|
|
107
160
|
try {
|
|
108
|
-
this.logger.debug('Closing server %s', server.id);
|
|
161
|
+
this.logger.debug('Closing server %s (timeout=%dms)', server.id, closeTimeout);
|
|
109
162
|
const closePromise = server.server.close();
|
|
110
163
|
if (closePromise instanceof Promise) {
|
|
164
|
+
let timedOut = false;
|
|
111
165
|
await Promise.race([
|
|
112
166
|
closePromise,
|
|
113
|
-
new Promise((resolve) => setTimeout(
|
|
167
|
+
new Promise((resolve) => setTimeout(() => {
|
|
168
|
+
timedOut = true;
|
|
169
|
+
resolve();
|
|
170
|
+
}, closeTimeout)),
|
|
114
171
|
]);
|
|
172
|
+
if (timedOut) {
|
|
173
|
+
this.logger.debug('Server %s did not close within %dms, continuing cleanup', server.id, closeTimeout);
|
|
174
|
+
}
|
|
115
175
|
}
|
|
116
176
|
}
|
|
117
177
|
catch (err) {
|
|
118
178
|
this.logger.debug('Error closing server %s: %s', server.id, err);
|
|
119
179
|
}
|
|
120
180
|
}
|
|
121
|
-
//
|
|
181
|
+
// Send SIGTERM to all processes in reverse order (LIFO), targeting
|
|
182
|
+
// process trees so child processes also receive the signal.
|
|
183
|
+
for (let i = processSnapshot.length - 1; i >= 0; i--) {
|
|
184
|
+
const proc = processSnapshot[i];
|
|
185
|
+
if (!proc)
|
|
186
|
+
continue;
|
|
187
|
+
try {
|
|
188
|
+
if (proc.process.exitCode === null) {
|
|
189
|
+
const pid = proc.process.pid;
|
|
190
|
+
this.logger.debug('Killing process %s (pid=%s)', proc.id, pid ?? 'unknown');
|
|
191
|
+
if (pid) {
|
|
192
|
+
this.killProcessTree(pid, 'SIGTERM');
|
|
193
|
+
}
|
|
194
|
+
else {
|
|
195
|
+
proc.process.kill('SIGTERM');
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
catch (err) {
|
|
200
|
+
this.logger.debug('Error killing process %s: %s', proc.id, err);
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
// Wait for processes to exit, then force-kill individually.
|
|
204
|
+
// Each process gets up to `timeout` ms from the initial SIGTERM.
|
|
122
205
|
const startTime = Date.now();
|
|
123
206
|
while (Date.now() - startTime < timeout) {
|
|
124
|
-
const allExited =
|
|
207
|
+
const allExited = processSnapshot.every((p) => p.process.exitCode !== null);
|
|
125
208
|
if (allExited)
|
|
126
209
|
break;
|
|
127
210
|
await new Promise((resolve) => setTimeout(resolve, 100));
|
|
128
211
|
}
|
|
129
|
-
// Force kill any remaining
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
212
|
+
// Force kill any remaining processes and their process trees.
|
|
213
|
+
// When a PID is available, always attempt process-group SIGKILL even if
|
|
214
|
+
// the leader has already exited: on Unix, process groups persist after
|
|
215
|
+
// the leader exits and signaling via negative PGID still reaches
|
|
216
|
+
// remaining members. killProcessTree() handles ESRCH gracefully.
|
|
217
|
+
for (const proc of processSnapshot) {
|
|
218
|
+
const pid = proc.process.pid;
|
|
219
|
+
const shouldForceTreeKill = typeof pid === 'number' && pid > 1;
|
|
220
|
+
if (!shouldForceTreeKill && proc.process.exitCode !== null)
|
|
221
|
+
continue;
|
|
222
|
+
try {
|
|
223
|
+
this.logger.debug('Force killing process %s (pid=%s)', proc.id, pid ?? 'unknown');
|
|
224
|
+
if (shouldForceTreeKill) {
|
|
225
|
+
this.killProcessTree(pid, 'SIGKILL');
|
|
135
226
|
}
|
|
136
|
-
|
|
137
|
-
|
|
227
|
+
else {
|
|
228
|
+
proc.process.kill('SIGKILL');
|
|
138
229
|
}
|
|
139
230
|
}
|
|
231
|
+
catch (err) {
|
|
232
|
+
this.logger.debug('Error force killing process %s: %s', proc.id, err);
|
|
233
|
+
}
|
|
140
234
|
}
|
|
141
235
|
this.logger.debug('Cleanup complete');
|
|
142
236
|
this.processes = [];
|
|
143
237
|
this.servers = [];
|
|
144
238
|
}
|
|
239
|
+
/**
|
|
240
|
+
* Synchronous last-resort cleanup for use in process.on('exit') handlers.
|
|
241
|
+
*
|
|
242
|
+
* Sends SIGKILL to all tracked process trees. This is intentionally
|
|
243
|
+
* aggressive because it's the final opportunity to prevent orphans.
|
|
244
|
+
* Only runs if async cleanup() hasn't already completed.
|
|
245
|
+
*/
|
|
246
|
+
forceKillAllSync() {
|
|
247
|
+
if (this.isCleanedUp)
|
|
248
|
+
return;
|
|
249
|
+
for (const proc of this.processes) {
|
|
250
|
+
if (proc.process.exitCode !== null)
|
|
251
|
+
continue;
|
|
252
|
+
const pid = proc.process.pid;
|
|
253
|
+
try {
|
|
254
|
+
if (pid && pid > 1) {
|
|
255
|
+
// Try process group kill first, fall back to direct
|
|
256
|
+
try {
|
|
257
|
+
process.kill(-pid, 'SIGKILL');
|
|
258
|
+
}
|
|
259
|
+
catch {
|
|
260
|
+
process.kill(pid, 'SIGKILL');
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
else {
|
|
264
|
+
proc.process.kill('SIGKILL');
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
catch {
|
|
268
|
+
// Best effort in exit handler — nothing else we can do
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
this.processes = [];
|
|
272
|
+
this.servers = [];
|
|
273
|
+
}
|
|
145
274
|
/**
|
|
146
275
|
* Verify that all ports used by tracked processes are released.
|
|
147
276
|
* Used after cleanup to ensure no orphan processes remain.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process-manager.js","sourceRoot":"","sources":["../../../src/cmd/dev/process-manager.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"process-manager.js","sourceRoot":"","sources":["../../../src/cmd/dev/process-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/cmd/project/create.ts"],"names":[],"mappings":"AAmBA,eAAO,MAAM,uBAAuB,
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/cmd/project/create.ts"],"names":[],"mappings":"AAmBA,eAAO,MAAM,uBAAuB,sCAqHlC,CAAC"}
|
|
@@ -77,7 +77,6 @@ export const createProjectSubcommand = createSubcommand({
|
|
|
77
77
|
.string()
|
|
78
78
|
.optional()
|
|
79
79
|
.describe('Storage action: "skip", "new", or existing bucket name'),
|
|
80
|
-
enableAuth: z.boolean().optional().describe('Enable Agentuity Auth'),
|
|
81
80
|
}),
|
|
82
81
|
response: ProjectCreateResponseSchema,
|
|
83
82
|
},
|
|
@@ -107,7 +106,6 @@ export const createProjectSubcommand = createSubcommand({
|
|
|
107
106
|
region,
|
|
108
107
|
database: opts.database,
|
|
109
108
|
storage: opts.storage,
|
|
110
|
-
enableAuth: opts.enableAuth,
|
|
111
109
|
});
|
|
112
110
|
// Exit with error code if setup failed and not in JSON mode
|
|
113
111
|
if (!result.success && !options.json) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/cmd/project/create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAsC,MAAM,aAAa,CAAC;AACnF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGlD,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;IAChE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IACtE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;IACzC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;IACnD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IACrE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IACtE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;IAC9C,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;IACtE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IAC5D,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;CAC3E,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,uBAAuB,GAAG,gBAAgB,CAAC;IACvD,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,sBAAsB;IACnC,IAAI,EAAE,CAAC,UAAU,EAAE,kBAAkB,EAAE,MAAM,CAAC;IAC9C,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,UAAU,EAAE,KAAK;IACjB,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE;IACvD,QAAQ,EAAE;QACT,EAAE,OAAO,EAAE,UAAU,CAAC,gBAAgB,CAAC,EAAE,WAAW,EAAE,oBAAoB,EAAE;QAC5E;YACC,OAAO,EAAE,UAAU,CAAC,mCAAmC,CAAC;YACxD,WAAW,EAAE,oBAAoB;SACjC;QACD;YACC,OAAO,EAAE,UAAU,CAAC,mEAAmE,CAAC;YACxF,WAAW,EAAE,oBAAoB;SACjC;QACD;YACC,OAAO,EAAE,UAAU,CAAC,8CAA8C,CAAC;YACnE,WAAW,EAAE,uBAAuB;SACpC;QACD,EAAE,OAAO,EAAE,UAAU,CAAC,2BAA2B,CAAC,EAAE,WAAW,EAAE,wBAAwB,EAAE;KAC3F;IACD,MAAM,EAAE;QACP,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;YACjB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;YACpD,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;YACzE,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;YAC3E,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YAC3D,WAAW,EAAE,CAAC;iBACZ,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,mEAAmE,CAAC;YAC/E,cAAc,EAAE,CAAC;iBACf,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,oDAAoD,CAAC;YAChE,OAAO,EAAE,CAAC;iBACR,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,OAAO,CAAC,IAAI,CAAC;iBACb,QAAQ,CAAC,uEAAuE,CAAC;YACnF,KAAK,EAAE,CAAC;iBACN,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,OAAO,CAAC,IAAI,CAAC;iBACb,QAAQ,CAAC,6DAA6D,CAAC;YACzE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;YACrE,QAAQ,EAAE,CAAC;iBACT,OAAO,EAAE;iBACT,OAAO,CAAC,IAAI,CAAC;iBACb,QAAQ,EAAE;iBACV,QAAQ,CAAC,oEAAoE,CAAC;YAChF,QAAQ,EAAE,CAAC;iBACT,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,2DAA2D,CAAC;YACvE,OAAO,EAAE,CAAC;iBACR,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,wDAAwD,CAAC;
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/cmd/project/create.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cmd/project/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cmd/project/index.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,OAAO,mCAgClB,CAAC"}
|
|
@@ -4,7 +4,6 @@ import { importSubcommand } from './import';
|
|
|
4
4
|
import { listSubcommand } from './list';
|
|
5
5
|
import { deleteSubcommand } from './delete';
|
|
6
6
|
import { showSubcommand } from './show';
|
|
7
|
-
import { authCommand } from './auth';
|
|
8
7
|
import { addCommand } from './add';
|
|
9
8
|
import { hostnameCommand } from './hostname';
|
|
10
9
|
import { domainCommand } from './domain';
|
|
@@ -17,7 +16,6 @@ export const command = createCommand({
|
|
|
17
16
|
{ command: getCommand('project create my-agent'), description: 'Create a new project' },
|
|
18
17
|
{ command: getCommand('project import'), description: 'Import an existing project' },
|
|
19
18
|
{ command: getCommand('project list'), description: 'List all projects' },
|
|
20
|
-
{ command: getCommand('project auth init'), description: 'Set up Agentuity Auth' },
|
|
21
19
|
{ command: getCommand('project add database'), description: 'Link an existing database' },
|
|
22
20
|
{
|
|
23
21
|
command: getCommand('project add storage'),
|
|
@@ -38,7 +36,6 @@ export const command = createCommand({
|
|
|
38
36
|
listSubcommand,
|
|
39
37
|
deleteSubcommand,
|
|
40
38
|
showSubcommand,
|
|
41
|
-
authCommand,
|
|
42
39
|
addCommand,
|
|
43
40
|
hostnameCommand,
|
|
44
41
|
domainCommand,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cmd/project/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cmd/project/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC;IACpC,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,0BAA0B;IACvC,IAAI,EAAE,CAAC,MAAM,EAAE,eAAe,CAAC;IAC/B,QAAQ,EAAE;QACT,EAAE,OAAO,EAAE,UAAU,CAAC,yBAAyB,CAAC,EAAE,WAAW,EAAE,sBAAsB,EAAE;QACvF,EAAE,OAAO,EAAE,UAAU,CAAC,gBAAgB,CAAC,EAAE,WAAW,EAAE,4BAA4B,EAAE;QACpF,EAAE,OAAO,EAAE,UAAU,CAAC,cAAc,CAAC,EAAE,WAAW,EAAE,mBAAmB,EAAE;QACzE,EAAE,OAAO,EAAE,UAAU,CAAC,sBAAsB,CAAC,EAAE,WAAW,EAAE,2BAA2B,EAAE;QACzF;YACC,OAAO,EAAE,UAAU,CAAC,qBAAqB,CAAC;YAC1C,WAAW,EAAE,iCAAiC;SAC9C;QACD;YACC,OAAO,EAAE,UAAU,CAAC,sBAAsB,CAAC;YAC3C,WAAW,EAAE,8BAA8B;SAC3C;QACD;YACC,OAAO,EAAE,UAAU,CAAC,sBAAsB,CAAC;YAC3C,WAAW,EAAE,8BAA8B;SAC3C;KACD;IACD,WAAW,EAAE;QACZ,uBAAuB;QACvB,gBAAgB;QAChB,cAAc;QACd,gBAAgB;QAChB,cAAc;QACd,UAAU;QACV,eAAe;QACf,aAAa;KACb;CACD,CAAC,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generate a suggested S3 bucket name derived from the project name.
|
|
3
|
+
* Format: `<sanitized-project>-storage-<3char>` (≤ 63 chars).
|
|
4
|
+
*
|
|
5
|
+
* Falls back to `bucket-<3char><3char>` if the project name produces nothing usable.
|
|
6
|
+
* Always returns a value that passes `validateBucketName`.
|
|
7
|
+
*/
|
|
8
|
+
export declare function suggestBucketName(projectName: string): string;
|
|
9
|
+
/**
|
|
10
|
+
* Generate a suggested PostgreSQL database name derived from the project name.
|
|
11
|
+
* Format: `<sanitized-project>_db_<3char>` (≤ 63 chars).
|
|
12
|
+
*
|
|
13
|
+
* Falls back to `db_<3char><3char>` if the project name produces nothing usable.
|
|
14
|
+
* Always returns a value that passes `validateDatabaseName`.
|
|
15
|
+
*/
|
|
16
|
+
export declare function suggestDatabaseName(projectName: string): string;
|
|
17
|
+
//# sourceMappingURL=random-name.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"random-name.d.ts","sourceRoot":"","sources":["../../../src/cmd/project/random-name.ts"],"names":[],"mappings":"AAyGA;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAgB7D;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAc/D"}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generates project-derived suggestions for resource names (DB / S3 bucket).
|
|
3
|
+
*
|
|
4
|
+
* The CLI shows these as a dim "press Enter to use ..." default in the create flow.
|
|
5
|
+
* If the user presses Enter, the suggestion is sent to the server. Otherwise the
|
|
6
|
+
* server is responsible for assigning a name when none is provided.
|
|
7
|
+
*
|
|
8
|
+
* Both suggestions are validated against the same rules the server enforces
|
|
9
|
+
* (`validateBucketName` / `validateDatabaseName` from `@agentuity/server`) so the
|
|
10
|
+
* happy path can never produce an invalid suggestion.
|
|
11
|
+
*/
|
|
12
|
+
import { validateBucketName, validateDatabaseName } from '@agentuity/server';
|
|
13
|
+
const BUCKET_MAX = 63;
|
|
14
|
+
const BUCKET_MIN = 3;
|
|
15
|
+
const DB_MAX = 63;
|
|
16
|
+
/** 3 lowercase alphanumeric chars, e.g. "k7p". */
|
|
17
|
+
function shortSuffix() {
|
|
18
|
+
// toString(36) yields [0-9a-z]; slice 3 chars after the "0." prefix.
|
|
19
|
+
const s = Math.random().toString(36).slice(2, 5);
|
|
20
|
+
// Pad in the (extremely unlikely) case the slice is shorter than 3 chars.
|
|
21
|
+
return s.length === 3 ? s : (s + '000').slice(0, 3);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Sanitize a project name into the bucket-name alphabet:
|
|
25
|
+
* - lowercase
|
|
26
|
+
* - spaces / underscores / dots → hyphens
|
|
27
|
+
* - drop anything else
|
|
28
|
+
* - collapse and trim hyphens
|
|
29
|
+
* - strip reserved prefixes (`agentuity*`, `ag-*`, `ago-*`, `xn--`)
|
|
30
|
+
*/
|
|
31
|
+
function sanitizeForBucket(name) {
|
|
32
|
+
let out = name
|
|
33
|
+
.toLowerCase()
|
|
34
|
+
.trim()
|
|
35
|
+
.replace(/[\s_.]+/g, '-')
|
|
36
|
+
.replace(/[^a-z0-9-]/g, '')
|
|
37
|
+
.replace(/-+/g, '-')
|
|
38
|
+
.replace(/^-+|-+$/g, '');
|
|
39
|
+
// Strip reserved prefixes (rules from validateBucketName).
|
|
40
|
+
while (out.startsWith('agentuity') ||
|
|
41
|
+
out.startsWith('ag-') ||
|
|
42
|
+
out.startsWith('ago-') ||
|
|
43
|
+
out.startsWith('xn--')) {
|
|
44
|
+
if (out.startsWith('agentuity'))
|
|
45
|
+
out = out.slice('agentuity'.length);
|
|
46
|
+
else if (out.startsWith('ago-'))
|
|
47
|
+
out = out.slice('ago-'.length);
|
|
48
|
+
else if (out.startsWith('ag-'))
|
|
49
|
+
out = out.slice('ag-'.length);
|
|
50
|
+
else if (out.startsWith('xn--'))
|
|
51
|
+
out = out.slice('xn--'.length);
|
|
52
|
+
out = out.replace(/^-+/, '');
|
|
53
|
+
}
|
|
54
|
+
return out;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Sanitize a project name into the database-name alphabet:
|
|
58
|
+
* - lowercase
|
|
59
|
+
* - non `[a-z0-9_]` → `_`
|
|
60
|
+
* - collapse and trim underscores
|
|
61
|
+
* - ensure it starts with a letter or underscore (prepend `p_` otherwise)
|
|
62
|
+
* - strip reserved `pg_` prefix
|
|
63
|
+
*/
|
|
64
|
+
function sanitizeForDatabase(name) {
|
|
65
|
+
let out = name
|
|
66
|
+
.toLowerCase()
|
|
67
|
+
.trim()
|
|
68
|
+
.replace(/[^a-z0-9_]+/g, '_')
|
|
69
|
+
.replace(/_+/g, '_')
|
|
70
|
+
.replace(/^_+|_+$/g, '');
|
|
71
|
+
if (!/^[a-z_]/.test(out)) {
|
|
72
|
+
out = out.length > 0 ? `p_${out}` : '';
|
|
73
|
+
}
|
|
74
|
+
while (out.startsWith('pg_')) {
|
|
75
|
+
out = out.slice(3).replace(/^_+/, '');
|
|
76
|
+
if (!/^[a-z_]/.test(out) && out.length > 0)
|
|
77
|
+
out = `p_${out}`;
|
|
78
|
+
}
|
|
79
|
+
return out;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Truncate so the final string (`<base>-<suffixWithDash>`) fits within `max` chars
|
|
83
|
+
* while keeping the suffix intact and not ending on a hyphen.
|
|
84
|
+
*/
|
|
85
|
+
function truncateBaseHyphen(base, suffixWithDash, max) {
|
|
86
|
+
const room = max - suffixWithDash.length;
|
|
87
|
+
if (room <= 0)
|
|
88
|
+
return '';
|
|
89
|
+
let out = base.slice(0, room);
|
|
90
|
+
out = out.replace(/-+$/, '');
|
|
91
|
+
return out;
|
|
92
|
+
}
|
|
93
|
+
/** Same as `truncateBaseHyphen` but for underscore-joined names (database). */
|
|
94
|
+
function truncateBaseUnderscore(base, suffixWithUnderscore, max) {
|
|
95
|
+
const room = max - suffixWithUnderscore.length;
|
|
96
|
+
if (room <= 0)
|
|
97
|
+
return '';
|
|
98
|
+
let out = base.slice(0, room);
|
|
99
|
+
out = out.replace(/_+$/, '');
|
|
100
|
+
return out;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Generate a suggested S3 bucket name derived from the project name.
|
|
104
|
+
* Format: `<sanitized-project>-storage-<3char>` (≤ 63 chars).
|
|
105
|
+
*
|
|
106
|
+
* Falls back to `bucket-<3char><3char>` if the project name produces nothing usable.
|
|
107
|
+
* Always returns a value that passes `validateBucketName`.
|
|
108
|
+
*/
|
|
109
|
+
export function suggestBucketName(projectName) {
|
|
110
|
+
const sanitized = sanitizeForBucket(projectName);
|
|
111
|
+
// Try a few times in case sanitization + suffix happens to land on something invalid.
|
|
112
|
+
for (let attempt = 0; attempt < 5; attempt++) {
|
|
113
|
+
const suffix = `-storage-${shortSuffix()}`;
|
|
114
|
+
const base = truncateBaseHyphen(sanitized, suffix, BUCKET_MAX);
|
|
115
|
+
const candidate = base.length > 0 ? `${base}${suffix}` : `bucket${suffix}`;
|
|
116
|
+
if (candidate.length >= BUCKET_MIN && validateBucketName(candidate).valid) {
|
|
117
|
+
return candidate;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
// Pure fallback: short, always-valid generic name.
|
|
121
|
+
const fallback = `bucket-${shortSuffix()}${shortSuffix()}`;
|
|
122
|
+
return validateBucketName(fallback).valid ? fallback : `bucket-${shortSuffix()}aaa`;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Generate a suggested PostgreSQL database name derived from the project name.
|
|
126
|
+
* Format: `<sanitized-project>_db_<3char>` (≤ 63 chars).
|
|
127
|
+
*
|
|
128
|
+
* Falls back to `db_<3char><3char>` if the project name produces nothing usable.
|
|
129
|
+
* Always returns a value that passes `validateDatabaseName`.
|
|
130
|
+
*/
|
|
131
|
+
export function suggestDatabaseName(projectName) {
|
|
132
|
+
const sanitized = sanitizeForDatabase(projectName);
|
|
133
|
+
for (let attempt = 0; attempt < 5; attempt++) {
|
|
134
|
+
const suffix = `_db_${shortSuffix()}`;
|
|
135
|
+
const base = truncateBaseUnderscore(sanitized, suffix, DB_MAX);
|
|
136
|
+
const candidate = base.length > 0 ? `${base}${suffix}` : `db${suffix}`;
|
|
137
|
+
if (validateDatabaseName(candidate).valid) {
|
|
138
|
+
return candidate;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
const fallback = `db_${shortSuffix()}${shortSuffix()}`;
|
|
142
|
+
return validateDatabaseName(fallback).valid ? fallback : `db_${shortSuffix()}aaa`;
|
|
143
|
+
}
|
|
144
|
+
//# sourceMappingURL=random-name.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"random-name.js","sourceRoot":"","sources":["../../../src/cmd/project/random-name.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template-flow.d.ts","sourceRoot":"","sources":["../../../src/cmd/project/template-flow.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAY9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAe3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"template-flow.d.ts","sourceRoot":"","sources":["../../../src/cmd/project/template-flow.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAY9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAe3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAUpD,UAAU,iBAAiB;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAynBzF"}
|