@agentuity/cli 2.0.11 → 2.0.12

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.
Files changed (220) hide show
  1. package/dist/cache/resource-region.d.ts.map +1 -1
  2. package/dist/cache/resource-region.js +48 -25
  3. package/dist/cache/resource-region.js.map +1 -1
  4. package/dist/cmd/build/vite/bun-dev-server.d.ts +20 -0
  5. package/dist/cmd/build/vite/bun-dev-server.d.ts.map +1 -1
  6. package/dist/cmd/build/vite/bun-dev-server.js +62 -4
  7. package/dist/cmd/build/vite/bun-dev-server.js.map +1 -1
  8. package/dist/cmd/build/vite/index.d.ts +0 -1
  9. package/dist/cmd/build/vite/index.d.ts.map +1 -1
  10. package/dist/cmd/build/vite/index.js +0 -1
  11. package/dist/cmd/build/vite/index.js.map +1 -1
  12. package/dist/cmd/build/vite/static-renderer.d.ts +17 -0
  13. package/dist/cmd/build/vite/static-renderer.d.ts.map +1 -1
  14. package/dist/cmd/build/vite/static-renderer.js +18 -6
  15. package/dist/cmd/build/vite/static-renderer.js.map +1 -1
  16. package/dist/cmd/build/vite/vite-asset-server-config.d.ts.map +1 -1
  17. package/dist/cmd/build/vite/vite-asset-server-config.js +34 -27
  18. package/dist/cmd/build/vite/vite-asset-server-config.js.map +1 -1
  19. package/dist/cmd/build/vite/vite-asset-server.d.ts +9 -0
  20. package/dist/cmd/build/vite/vite-asset-server.d.ts.map +1 -1
  21. package/dist/cmd/build/vite/vite-asset-server.js +5 -1
  22. package/dist/cmd/build/vite/vite-asset-server.js.map +1 -1
  23. package/dist/cmd/build/vite/vite-builder.d.ts.map +1 -1
  24. package/dist/cmd/build/vite/vite-builder.js +12 -1
  25. package/dist/cmd/build/vite/vite-builder.js.map +1 -1
  26. package/dist/cmd/build/vite/ws-proxy.d.ts +15 -1
  27. package/dist/cmd/build/vite/ws-proxy.d.ts.map +1 -1
  28. package/dist/cmd/build/vite/ws-proxy.js +33 -0
  29. package/dist/cmd/build/vite/ws-proxy.js.map +1 -1
  30. package/dist/cmd/cloud/deploy.d.ts.map +1 -1
  31. package/dist/cmd/cloud/deploy.js +98 -39
  32. package/dist/cmd/cloud/deploy.js.map +1 -1
  33. package/dist/cmd/cloud/sandbox/checkpoint/create.d.ts.map +1 -1
  34. package/dist/cmd/cloud/sandbox/checkpoint/create.js +3 -4
  35. package/dist/cmd/cloud/sandbox/checkpoint/create.js.map +1 -1
  36. package/dist/cmd/cloud/sandbox/checkpoint/delete.d.ts.map +1 -1
  37. package/dist/cmd/cloud/sandbox/checkpoint/delete.js +3 -4
  38. package/dist/cmd/cloud/sandbox/checkpoint/delete.js.map +1 -1
  39. package/dist/cmd/cloud/sandbox/checkpoint/list.d.ts.map +1 -1
  40. package/dist/cmd/cloud/sandbox/checkpoint/list.js +3 -4
  41. package/dist/cmd/cloud/sandbox/checkpoint/list.js.map +1 -1
  42. package/dist/cmd/cloud/sandbox/checkpoint/restore.d.ts.map +1 -1
  43. package/dist/cmd/cloud/sandbox/checkpoint/restore.js +3 -4
  44. package/dist/cmd/cloud/sandbox/checkpoint/restore.js.map +1 -1
  45. package/dist/cmd/cloud/sandbox/create.d.ts.map +1 -1
  46. package/dist/cmd/cloud/sandbox/create.js +13 -4
  47. package/dist/cmd/cloud/sandbox/create.js.map +1 -1
  48. package/dist/cmd/cloud/sandbox/delete.d.ts.map +1 -1
  49. package/dist/cmd/cloud/sandbox/delete.js +3 -4
  50. package/dist/cmd/cloud/sandbox/delete.js.map +1 -1
  51. package/dist/cmd/cloud/sandbox/env.d.ts.map +1 -1
  52. package/dist/cmd/cloud/sandbox/env.js +3 -5
  53. package/dist/cmd/cloud/sandbox/env.js.map +1 -1
  54. package/dist/cmd/cloud/sandbox/exec.d.ts.map +1 -1
  55. package/dist/cmd/cloud/sandbox/exec.js +114 -41
  56. package/dist/cmd/cloud/sandbox/exec.js.map +1 -1
  57. package/dist/cmd/cloud/sandbox/execution/list.d.ts.map +1 -1
  58. package/dist/cmd/cloud/sandbox/execution/list.js +3 -5
  59. package/dist/cmd/cloud/sandbox/execution/list.js.map +1 -1
  60. package/dist/cmd/cloud/sandbox/fs/cp.d.ts.map +1 -1
  61. package/dist/cmd/cloud/sandbox/fs/cp.js +61 -113
  62. package/dist/cmd/cloud/sandbox/fs/cp.js.map +1 -1
  63. package/dist/cmd/cloud/sandbox/fs/download.d.ts.map +1 -1
  64. package/dist/cmd/cloud/sandbox/fs/download.js +11 -22
  65. package/dist/cmd/cloud/sandbox/fs/download.js.map +1 -1
  66. package/dist/cmd/cloud/sandbox/fs/ls.d.ts.map +1 -1
  67. package/dist/cmd/cloud/sandbox/fs/ls.js +3 -5
  68. package/dist/cmd/cloud/sandbox/fs/ls.js.map +1 -1
  69. package/dist/cmd/cloud/sandbox/fs/mkdir.d.ts.map +1 -1
  70. package/dist/cmd/cloud/sandbox/fs/mkdir.js +3 -5
  71. package/dist/cmd/cloud/sandbox/fs/mkdir.js.map +1 -1
  72. package/dist/cmd/cloud/sandbox/fs/rm.d.ts.map +1 -1
  73. package/dist/cmd/cloud/sandbox/fs/rm.js +3 -5
  74. package/dist/cmd/cloud/sandbox/fs/rm.js.map +1 -1
  75. package/dist/cmd/cloud/sandbox/fs/rmdir.d.ts.map +1 -1
  76. package/dist/cmd/cloud/sandbox/fs/rmdir.js +3 -5
  77. package/dist/cmd/cloud/sandbox/fs/rmdir.js.map +1 -1
  78. package/dist/cmd/cloud/sandbox/fs/upload.d.ts.map +1 -1
  79. package/dist/cmd/cloud/sandbox/fs/upload.js +7 -8
  80. package/dist/cmd/cloud/sandbox/fs/upload.js.map +1 -1
  81. package/dist/cmd/cloud/sandbox/get.d.ts.map +1 -1
  82. package/dist/cmd/cloud/sandbox/get.js +21 -7
  83. package/dist/cmd/cloud/sandbox/get.js.map +1 -1
  84. package/dist/cmd/cloud/sandbox/job/create.d.ts.map +1 -1
  85. package/dist/cmd/cloud/sandbox/job/create.js +3 -4
  86. package/dist/cmd/cloud/sandbox/job/create.js.map +1 -1
  87. package/dist/cmd/cloud/sandbox/job/destroy.d.ts.map +1 -1
  88. package/dist/cmd/cloud/sandbox/job/destroy.js +3 -4
  89. package/dist/cmd/cloud/sandbox/job/destroy.js.map +1 -1
  90. package/dist/cmd/cloud/sandbox/job/get.d.ts.map +1 -1
  91. package/dist/cmd/cloud/sandbox/job/get.js +3 -4
  92. package/dist/cmd/cloud/sandbox/job/get.js.map +1 -1
  93. package/dist/cmd/cloud/sandbox/job/list.d.ts.map +1 -1
  94. package/dist/cmd/cloud/sandbox/job/list.js +3 -4
  95. package/dist/cmd/cloud/sandbox/job/list.js.map +1 -1
  96. package/dist/cmd/cloud/sandbox/job/logs.d.ts.map +1 -1
  97. package/dist/cmd/cloud/sandbox/job/logs.js +4 -4
  98. package/dist/cmd/cloud/sandbox/job/logs.js.map +1 -1
  99. package/dist/cmd/cloud/sandbox/pause.d.ts.map +1 -1
  100. package/dist/cmd/cloud/sandbox/pause.js +21 -5
  101. package/dist/cmd/cloud/sandbox/pause.js.map +1 -1
  102. package/dist/cmd/cloud/sandbox/resume.d.ts.map +1 -1
  103. package/dist/cmd/cloud/sandbox/resume.js +3 -4
  104. package/dist/cmd/cloud/sandbox/resume.js.map +1 -1
  105. package/dist/cmd/cloud/sandbox/run.d.ts.map +1 -1
  106. package/dist/cmd/cloud/sandbox/run.js +36 -7
  107. package/dist/cmd/cloud/sandbox/run.js.map +1 -1
  108. package/dist/cmd/cloud/sandbox/util.d.ts +19 -0
  109. package/dist/cmd/cloud/sandbox/util.d.ts.map +1 -1
  110. package/dist/cmd/cloud/sandbox/util.js +40 -2
  111. package/dist/cmd/cloud/sandbox/util.js.map +1 -1
  112. package/dist/cmd/coder/create.js +7 -7
  113. package/dist/cmd/coder/create.js.map +1 -1
  114. package/dist/cmd/coder/start.d.ts.map +1 -1
  115. package/dist/cmd/coder/start.js +3 -0
  116. package/dist/cmd/coder/start.js.map +1 -1
  117. package/dist/cmd/coder/tui-init.js +1 -1
  118. package/dist/cmd/coder/tui-init.js.map +1 -1
  119. package/dist/cmd/coder/update.js +8 -8
  120. package/dist/cmd/coder/update.js.map +1 -1
  121. package/dist/cmd/coder/workspace/create.d.ts.map +1 -1
  122. package/dist/cmd/coder/workspace/create.js +49 -21
  123. package/dist/cmd/coder/workspace/create.js.map +1 -1
  124. package/dist/cmd/coder/workspace/index.d.ts.map +1 -1
  125. package/dist/cmd/coder/workspace/index.js +1 -1
  126. package/dist/cmd/coder/workspace/index.js.map +1 -1
  127. package/dist/cmd/dev/dev-lock.d.ts.map +1 -1
  128. package/dist/cmd/dev/dev-lock.js +43 -17
  129. package/dist/cmd/dev/dev-lock.js.map +1 -1
  130. package/dist/cmd/dev/index.d.ts.map +1 -1
  131. package/dist/cmd/dev/index.js +211 -125
  132. package/dist/cmd/dev/index.js.map +1 -1
  133. package/dist/cmd/dev/process-manager.d.ts +41 -1
  134. package/dist/cmd/dev/process-manager.d.ts.map +1 -1
  135. package/dist/cmd/dev/process-manager.js +160 -31
  136. package/dist/cmd/dev/process-manager.js.map +1 -1
  137. package/dist/cmd/project/create.d.ts.map +1 -1
  138. package/dist/cmd/project/create.js +0 -2
  139. package/dist/cmd/project/create.js.map +1 -1
  140. package/dist/cmd/project/index.d.ts.map +1 -1
  141. package/dist/cmd/project/index.js +0 -3
  142. package/dist/cmd/project/index.js.map +1 -1
  143. package/dist/cmd/project/template-flow.d.ts +0 -1
  144. package/dist/cmd/project/template-flow.d.ts.map +1 -1
  145. package/dist/cmd/project/template-flow.js +1 -124
  146. package/dist/cmd/project/template-flow.js.map +1 -1
  147. package/package.json +7 -7
  148. package/src/cache/resource-region.ts +68 -44
  149. package/src/cmd/ai/prompt/web.md +43 -17
  150. package/src/cmd/build/vite/bun-dev-server.ts +92 -6
  151. package/src/cmd/build/vite/index.ts +0 -1
  152. package/src/cmd/build/vite/static-renderer.ts +18 -7
  153. package/src/cmd/build/vite/vite-asset-server-config.ts +37 -27
  154. package/src/cmd/build/vite/vite-asset-server.ts +5 -1
  155. package/src/cmd/build/vite/vite-builder.ts +12 -1
  156. package/src/cmd/build/vite/ws-proxy.ts +52 -3
  157. package/src/cmd/cloud/deploy.ts +117 -49
  158. package/src/cmd/cloud/sandbox/checkpoint/create.ts +10 -4
  159. package/src/cmd/cloud/sandbox/checkpoint/delete.ts +10 -4
  160. package/src/cmd/cloud/sandbox/checkpoint/list.ts +10 -4
  161. package/src/cmd/cloud/sandbox/checkpoint/restore.ts +10 -4
  162. package/src/cmd/cloud/sandbox/create.ts +14 -4
  163. package/src/cmd/cloud/sandbox/delete.ts +10 -4
  164. package/src/cmd/cloud/sandbox/env.ts +10 -5
  165. package/src/cmd/cloud/sandbox/exec.ts +157 -42
  166. package/src/cmd/cloud/sandbox/execution/list.ts +10 -5
  167. package/src/cmd/cloud/sandbox/fs/cp.ts +94 -126
  168. package/src/cmd/cloud/sandbox/fs/download.ts +18 -25
  169. package/src/cmd/cloud/sandbox/fs/ls.ts +10 -5
  170. package/src/cmd/cloud/sandbox/fs/mkdir.ts +10 -5
  171. package/src/cmd/cloud/sandbox/fs/rm.ts +10 -5
  172. package/src/cmd/cloud/sandbox/fs/rmdir.ts +10 -5
  173. package/src/cmd/cloud/sandbox/fs/upload.ts +14 -8
  174. package/src/cmd/cloud/sandbox/get.ts +28 -7
  175. package/src/cmd/cloud/sandbox/job/create.ts +10 -4
  176. package/src/cmd/cloud/sandbox/job/destroy.ts +10 -4
  177. package/src/cmd/cloud/sandbox/job/get.ts +10 -4
  178. package/src/cmd/cloud/sandbox/job/list.ts +10 -4
  179. package/src/cmd/cloud/sandbox/job/logs.ts +11 -4
  180. package/src/cmd/cloud/sandbox/pause.ts +31 -5
  181. package/src/cmd/cloud/sandbox/resume.ts +10 -4
  182. package/src/cmd/cloud/sandbox/run.ts +49 -11
  183. package/src/cmd/cloud/sandbox/util.ts +63 -2
  184. package/src/cmd/coder/create.ts +8 -8
  185. package/src/cmd/coder/start.ts +3 -0
  186. package/src/cmd/coder/tui-init.ts +1 -1
  187. package/src/cmd/coder/update.ts +7 -7
  188. package/src/cmd/coder/workspace/create.ts +77 -26
  189. package/src/cmd/coder/workspace/index.ts +3 -1
  190. package/src/cmd/dev/dev-lock.ts +50 -16
  191. package/src/cmd/dev/index.ts +249 -134
  192. package/src/cmd/dev/process-manager.ts +173 -33
  193. package/src/cmd/project/create.ts +0 -2
  194. package/src/cmd/project/index.ts +0 -3
  195. package/src/cmd/project/template-flow.ts +0 -147
  196. package/dist/cmd/build/vite/public-asset-path-plugin.d.ts +0 -45
  197. package/dist/cmd/build/vite/public-asset-path-plugin.d.ts.map +0 -1
  198. package/dist/cmd/build/vite/public-asset-path-plugin.js +0 -166
  199. package/dist/cmd/build/vite/public-asset-path-plugin.js.map +0 -1
  200. package/dist/cmd/project/auth/generate.d.ts +0 -5
  201. package/dist/cmd/project/auth/generate.d.ts.map +0 -1
  202. package/dist/cmd/project/auth/generate.js +0 -102
  203. package/dist/cmd/project/auth/generate.js.map +0 -1
  204. package/dist/cmd/project/auth/index.d.ts +0 -2
  205. package/dist/cmd/project/auth/index.d.ts.map +0 -1
  206. package/dist/cmd/project/auth/index.js +0 -21
  207. package/dist/cmd/project/auth/index.js.map +0 -1
  208. package/dist/cmd/project/auth/init.d.ts +0 -2
  209. package/dist/cmd/project/auth/init.d.ts.map +0 -1
  210. package/dist/cmd/project/auth/init.js +0 -213
  211. package/dist/cmd/project/auth/init.js.map +0 -1
  212. package/dist/cmd/project/auth/shared.d.ts +0 -93
  213. package/dist/cmd/project/auth/shared.d.ts.map +0 -1
  214. package/dist/cmd/project/auth/shared.js +0 -475
  215. package/dist/cmd/project/auth/shared.js.map +0 -1
  216. package/src/cmd/build/vite/public-asset-path-plugin.ts +0 -209
  217. package/src/cmd/project/auth/generate.ts +0 -116
  218. package/src/cmd/project/auth/index.ts +0 -21
  219. package/src/cmd/project/auth/init.ts +0 -256
  220. package/src/cmd/project/auth/shared.ts +0 -591
@@ -27,23 +27,27 @@ const MAX_PORT = 65535;
27
27
  /**
28
28
  * Kill any lingering gravity processes from previous dev sessions.
29
29
  * This is a defensive measure to clean up orphaned processes.
30
+ *
31
+ * When a projectId is provided, only kills gravity processes for that specific
32
+ * project. Otherwise falls back to killing all gravity processes (used during
33
+ * startup before project info is available).
30
34
  */
31
- async function killLingeringGravityProcesses(logger) {
35
+ async function killLingeringGravityProcesses(logger, projectId) {
32
36
  // Only attempt on Unix-like systems (macOS, Linux)
33
37
  if (process.platform === 'win32') {
34
38
  return;
35
39
  }
36
40
  try {
37
- // Use pkill to kill gravity processes owned by current user
38
- // The -f flag matches against full command line
39
- // We specifically match the gravity binary name to avoid killing unrelated processes
40
- const result = Bun.spawnSync(['pkill', '-f', 'gravity.*--endpoint-id'], {
41
+ // Scope the pkill pattern to the specific project when possible,
42
+ // avoiding killing gravity processes from other dev sessions.
43
+ const pattern = projectId ? `gravity.*--project-id.*${projectId}` : 'gravity.*--endpoint-id';
44
+ const result = Bun.spawnSync(['pkill', '-f', pattern], {
41
45
  stdout: 'ignore',
42
46
  stderr: 'ignore',
43
47
  });
44
48
  // Exit code 0 = processes killed, 1 = no matching processes, other = error
45
49
  if (result.exitCode === 0) {
46
- logger.debug('Killed lingering gravity processes from previous session');
50
+ logger.debug('Killed lingering gravity processes%s from previous session', projectId ? ` (project ${projectId})` : '');
47
51
  // Brief pause to let processes fully terminate
48
52
  await new Promise((resolve) => setTimeout(resolve, 100));
49
53
  }
@@ -57,19 +61,44 @@ async function killLingeringGravityProcesses(logger) {
57
61
  }
58
62
  /**
59
63
  * Kill the Bun backend subprocess if one is running.
64
+ *
65
+ * @param forceKill - If true, sends SIGKILL instead of SIGTERM. Used in
66
+ * process.on('exit') handlers where there's no time for graceful shutdown.
67
+ * Also kills the entire process tree to prevent orphaned child processes.
60
68
  */
61
- function killBunSubprocess(logger) {
69
+ function killBunSubprocess(logger, forceKill = false) {
62
70
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
63
71
  const globalAny = globalThis;
64
72
  const bunSubprocess = globalAny.__AGENTUITY_BUN_SUBPROCESS__;
65
73
  if (!bunSubprocess)
66
74
  return;
67
- try {
68
- bunSubprocess.kill('SIGTERM');
69
- logger.debug('Bun subprocess killed');
75
+ const signal = forceKill ? 'SIGKILL' : 'SIGTERM';
76
+ const pid = bunSubprocess.pid;
77
+ // Kill the entire process tree if we have a PID (guard against dangerous PIDs)
78
+ if (pid && pid > 1) {
79
+ try {
80
+ process.kill(-pid, signal);
81
+ logger.debug('Sent %s to Bun subprocess process group -%d', signal, pid);
82
+ }
83
+ catch {
84
+ // Process group kill failed, fall back to direct kill
85
+ try {
86
+ bunSubprocess.kill(signal);
87
+ logger.debug('Sent %s to Bun subprocess pid %d (direct)', signal, pid);
88
+ }
89
+ catch (err) {
90
+ logger.debug('Error killing Bun subprocess: %s', err);
91
+ }
92
+ }
70
93
  }
71
- catch (err) {
72
- logger.debug('Error killing Bun subprocess: %s', err);
94
+ else {
95
+ try {
96
+ bunSubprocess.kill(signal);
97
+ logger.debug('Bun subprocess killed with %s', signal);
98
+ }
99
+ catch (err) {
100
+ logger.debug('Error killing Bun subprocess: %s', err);
101
+ }
73
102
  }
74
103
  globalAny.__AGENTUITY_BUN_SUBPROCESS__ = undefined;
75
104
  }
@@ -277,9 +306,9 @@ export const command = createCommand({
277
306
  // Prepare dev lock: cleans up stale processes from previous sessions
278
307
  // and creates a new lockfile for this session
279
308
  const devLock = await prepareDevLock(rootDir, opts.port, logger);
280
- // Kill any lingering gravity processes from previous dev sessions
281
- // This is a fallback for cases where the lockfile was corrupted
282
- await killLingeringGravityProcesses(logger);
309
+ // Kill any lingering gravity processes from previous dev sessions.
310
+ // Scoped to this project to avoid killing gravity from other dev sessions.
311
+ await killLingeringGravityProcesses(logger, project?.projectId);
283
312
  // Check and upgrade @agentuity/* dependencies if needed
284
313
  const upgradeResult = await checkAndUpgradeDependencies(rootDir, logger);
285
314
  if (upgradeResult.failed.length > 0) {
@@ -451,91 +480,41 @@ export const command = createCommand({
451
480
  originalConsoleError(...args);
452
481
  };
453
482
  }
454
- // Start Vite dev server on an internal port.
455
- // The user-facing port is handled by the front-door TCP proxy (ws-proxy)
456
- // which routes WS upgrades to Bun and everything else to Vite.
483
+ // --- State for long-running processes ---
484
+ // Declared early so signal handlers can reference them before
485
+ // servers are started.
457
486
  let viteServer = null;
458
- let vitePort;
459
- // Initialize process manager to track all servers/processes
460
- const procManager = initProcessManager(logger);
461
- try {
462
- logger.debug('Starting Vite dev server (internal port %d)...', viteInternalPort);
463
- const viteResult = await startViteAssetServer({
464
- rootDir,
465
- logger,
466
- workbenchPath: workbench.config?.route,
467
- port: viteInternalPort,
468
- backendPort: bunBackendPort,
469
- routePaths,
470
- liveHostname: devmode?.hostname,
471
- });
472
- viteServer = viteResult.server;
473
- vitePort = viteResult.port;
474
- // Register Vite server with process manager
475
- procManager.registerServer({
476
- id: 'vite',
477
- server: viteServer,
478
- description: 'Vite dev server (frontend assets)',
479
- port: vitePort,
480
- });
481
- // Update dev lock with actual Vite port
482
- await devLock.updatePorts({ vite: vitePort });
483
- logger.debug(`Vite dev server running on port ${vitePort} (internal, proxying backend on port ${bunBackendPort})`);
484
- }
485
- catch (error) {
486
- tui.error(`Failed to start Vite dev server: ${error}`);
487
- await procManager.cleanup('vite startup failure');
488
- await devLock.release();
489
- originalExit(1);
490
- return;
491
- }
492
- // Start the front-door TCP proxy on the user-facing port.
493
- // Routes WebSocket upgrades (for /api/*, /_agentuity/*) directly to Bun
494
- // and everything else (HTTP, HMR WebSocket) to Vite.
495
- // This works around Bun's broken node:http upgrade socket implementation.
496
487
  let frontDoorServer = null;
497
- try {
498
- const { startWsProxy } = await import('../build/vite/ws-proxy');
499
- frontDoorServer = await startWsProxy({
500
- port: opts.port,
501
- vitePort,
502
- backendPort: bunBackendPort,
503
- routePaths,
504
- logger,
505
- });
506
- // Register front-door proxy with process manager
507
- procManager.registerServer({
508
- id: 'front-door-proxy',
509
- server: {
510
- close: () => {
511
- frontDoorServer?.close();
512
- },
513
- },
514
- description: 'Front-door TCP proxy (WS routing)',
515
- port: opts.port,
516
- });
517
- logger.debug(`Front-door proxy on port ${opts.port} (Vite:${vitePort}, Bun:${bunBackendPort})`);
518
- }
519
- catch (error) {
520
- tui.error(`Failed to start front-door proxy: ${error}`);
521
- await procManager.cleanup('front-door proxy startup failure');
522
- await devLock.release();
523
- originalExit(1);
524
- return;
525
- }
526
- // --- State for long-running processes ---
527
488
  let gravityProcess = null;
528
489
  let gravityHeartbeatInterval = null;
529
490
  let stdinListenerRegistered = false;
530
491
  let stdinDataHandler = null;
531
492
  let shutdownRequested = false;
493
+ // Initialize process manager to track all servers/processes
494
+ const procManager = initProcessManager(logger);
495
+ // Resolve the actual Vite port BEFORE starting Bun so that env vars
496
+ // like AGENTUITY_BASE_URL contain the correct port. The runtime's
497
+ // CORS trusted-origins are built once at startup, so a late update
498
+ // would leave the backend with stale origins.
499
+ const { findAvailablePort } = await import('../build/vite/vite-asset-server');
500
+ const vitePort = await findAvailablePort(viteInternalPort, '127.0.0.1');
501
+ if (vitePort !== viteInternalPort) {
502
+ logger.info(`Port ${viteInternalPort} is in use, using port ${vitePort} for Vite dev server`);
503
+ }
504
+ // Separate guard flags:
505
+ // - cleanupStarted: prevents double-entry into cleanup()
506
+ // - shutdownRequested: breaks the main wait loop (set inside cleanup
507
+ // AFTER the cleanupStarted guard passes, so the loop resolves only
508
+ // once cleanup has actually started running)
509
+ let cleanupStarted = false;
532
510
  /**
533
511
  * Centralized cleanup function for all resources.
534
512
  * Uses the process manager for tracked servers/processes.
535
513
  */
536
514
  const cleanup = async (exitAfter = false, exitCode = 0, silent = false) => {
537
- if (shutdownRequested)
515
+ if (cleanupStarted)
538
516
  return;
517
+ cleanupStarted = true;
539
518
  shutdownRequested = true;
540
519
  if (!silent) {
541
520
  tui.info('Shutting down...');
@@ -549,7 +528,7 @@ export const command = createCommand({
549
528
  await procManager.cleanup('shutdown');
550
529
  // Additional cleanup for non-tracked resources
551
530
  await devLock.release();
552
- await killLingeringGravityProcesses(logger);
531
+ await killLingeringGravityProcesses(logger, project?.projectId);
553
532
  if (exitAfter) {
554
533
  if (stdinListenerRegistered && process.stdin.isTTY) {
555
534
  try {
@@ -576,7 +555,6 @@ export const command = createCommand({
576
555
  exitingFromSignal = true;
577
556
  if (reason)
578
557
  logger.debug('DevMode terminating (%d): %s', code, reason);
579
- shutdownRequested = true;
580
558
  cleanup(true, code).catch(() => originalExit(1));
581
559
  };
582
560
  process.on('SIGINT', () => safeExit(0, 'SIGINT'));
@@ -590,23 +568,15 @@ export const command = createCommand({
590
568
  logger.warn('Unhandled promise rejection: %s', reason instanceof Error ? (reason.stack ?? reason.message) : String(reason));
591
569
  });
592
570
  process.on('exit', () => {
593
- if (gravityProcess?.exitCode === null) {
594
- try {
595
- gravityProcess.kill('SIGKILL');
596
- }
597
- catch {
598
- // Ignore
599
- }
600
- }
601
- if (viteServer) {
602
- try {
603
- viteServer.close();
604
- }
605
- catch {
606
- // Ignore
607
- }
608
- }
609
- killBunSubprocess(logger);
571
+ // Last-resort synchronous cleanup. Only runs aggressive SIGKILL
572
+ // if the async cleanup() hasn't already handled everything.
573
+ // This prevents the race where both cleanup paths try to kill
574
+ // the same processes.
575
+ procManager.forceKillAllSync();
576
+ // SIGKILL the Bun subprocess tree as a final safety net.
577
+ // forceKill=true ensures we use SIGKILL (no time for graceful
578
+ // shutdown in an exit handler) and target the process group.
579
+ killBunSubprocess(logger, true);
610
580
  releaseLockSync(rootDir);
611
581
  });
612
582
  // ================================================================
@@ -723,6 +693,10 @@ export const command = createCommand({
723
693
  // Note: AGENTUITY_SDK_KEY, NODE_ENV, AGENTUITY_ENV, and
724
694
  // AGENTUITY_TRANSPORT_URL are already set in Step 0b (before
725
695
  // agent discovery) to support gateway env patching.
696
+ //
697
+ // vitePort is pre-resolved (via findAvailablePort) before Bun
698
+ // starts, so env vars like AGENTUITY_BASE_URL are correct when
699
+ // the runtime builds its CORS trusted-origin set.
726
700
  process.env.AGENTUITY_SDK_DEV_MODE = 'true';
727
701
  process.env.AGENTUITY_RUNTIME = 'yes';
728
702
  process.env.AGENTUITY_PROJECT_DIR = rootDir;
@@ -767,20 +741,20 @@ export const command = createCommand({
767
741
  inspect: opts.inspect,
768
742
  inspectWait: opts.inspectWait,
769
743
  inspectBrk: opts.inspectBrk,
744
+ // Register the subprocess BEFORE the readiness wait so a SIGINT
745
+ // during startup can clean it up via procManager. Without this,
746
+ // the only safety net is the synchronous process.on('exit')
747
+ // handler, which is fragile and runs too late on some signals.
748
+ onSpawn: (proc) => {
749
+ procManager.registerProcess({
750
+ id: 'bun-backend',
751
+ process: proc,
752
+ description: 'Bun backend server (--hot)',
753
+ port: bunBackendPort,
754
+ critical: true,
755
+ });
756
+ },
770
757
  });
771
- // Register Bun subprocess with process manager
772
- // The subprocess is stored in globalThis.__AGENTUITY_BUN_SUBPROCESS__
773
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
774
- const bunSubprocess = globalThis.__AGENTUITY_BUN_SUBPROCESS__;
775
- if (bunSubprocess) {
776
- procManager.registerProcess({
777
- id: 'bun-backend',
778
- process: bunSubprocess,
779
- description: 'Bun backend server (--hot)',
780
- port: bunBackendPort,
781
- critical: true,
782
- });
783
- }
784
758
  }
785
759
  catch (error) {
786
760
  tui.error(`Failed to start Bun backend server: ${error}`);
@@ -788,7 +762,100 @@ export const command = createCommand({
788
762
  return;
789
763
  }
790
764
  // ================================================================
791
- // Step 4: Start gravity tunnel (if public URL enabled)
765
+ // Step 4: Start Vite asset server (frontend + API proxy)
766
+ // ================================================================
767
+ // Vite starts AFTER the Bun backend so that its proxy is ready
768
+ // to forward API requests immediately — no ECONNREFUSED race.
769
+ try {
770
+ logger.debug('Starting Vite dev server (internal port %d)...', viteInternalPort);
771
+ const viteResult = await startViteAssetServer({
772
+ rootDir,
773
+ logger,
774
+ workbenchPath: workbench.config?.route,
775
+ port: vitePort,
776
+ backendPort: bunBackendPort,
777
+ routePaths,
778
+ liveHostname: devmode?.hostname,
779
+ });
780
+ viteServer = viteResult.server;
781
+ // Verify Vite used the port we pre-resolved (should always match
782
+ // since strictPort:true is set and we already confirmed availability).
783
+ if (viteResult.port !== vitePort) {
784
+ logger.warn(`Vite started on port ${viteResult.port} instead of expected ${vitePort} — env vars may be incorrect`);
785
+ }
786
+ // Register Vite server with process manager.
787
+ // We wrap close() to first force-drop keep-alive HTTP/HMR sockets via
788
+ // httpServer.closeAllConnections() (Node 18.2+). Without this, idle
789
+ // keep-alive connections keep the listener bound until they time out,
790
+ // which leaves the Vite port reserved for several seconds after the
791
+ // CLI exits. We also extend the close timeout (Vite's chokidar +
792
+ // HMR teardown can exceed 1s under load).
793
+ const viteForCleanup = viteServer;
794
+ procManager.registerServer({
795
+ id: 'vite',
796
+ server: {
797
+ close: async () => {
798
+ try {
799
+ const http = viteForCleanup.httpServer;
800
+ http?.closeIdleConnections?.();
801
+ http?.closeAllConnections?.();
802
+ }
803
+ catch {
804
+ // Best effort — these methods are runtime-dependent.
805
+ }
806
+ await viteForCleanup.close();
807
+ },
808
+ },
809
+ description: 'Vite dev server (frontend assets)',
810
+ port: vitePort,
811
+ closeTimeoutMs: 3000,
812
+ });
813
+ // Update dev lock with actual Vite port
814
+ await devLock.updatePorts({ vite: vitePort });
815
+ logger.debug(`Vite dev server running on port ${vitePort} (internal, proxying backend on port ${bunBackendPort})`);
816
+ }
817
+ catch (error) {
818
+ tui.error(`Failed to start Vite dev server: ${error}`);
819
+ await cleanup(true, 1, true);
820
+ return;
821
+ }
822
+ // ================================================================
823
+ // Step 5: Start front-door TCP proxy (user-facing port)
824
+ // ================================================================
825
+ // Routes WebSocket upgrades (for /api/*, /_agentuity/*) directly to Bun
826
+ // and everything else (HTTP, HMR WebSocket) to Vite.
827
+ // This works around Bun's broken node:http upgrade socket implementation.
828
+ try {
829
+ const { startWsProxy } = await import('../build/vite/ws-proxy');
830
+ frontDoorServer = await startWsProxy({
831
+ port: opts.port,
832
+ vitePort,
833
+ backendPort: bunBackendPort,
834
+ routePaths,
835
+ logger,
836
+ });
837
+ // Register front-door proxy with process manager. Use closeAll()
838
+ // (returns a Promise) so cleanup actually waits for the listener
839
+ // to release the user-facing port instead of fire-and-forgetting.
840
+ // closeAll() also destroys live piped sockets (HMR WS, backend WS)
841
+ // so the listener doesn't sit waiting for clients to disconnect.
842
+ procManager.registerServer({
843
+ id: 'front-door-proxy',
844
+ server: {
845
+ close: () => frontDoorServer?.closeAll() ?? Promise.resolve(),
846
+ },
847
+ description: 'Front-door TCP proxy (WS routing)',
848
+ port: opts.port,
849
+ });
850
+ logger.debug(`Front-door proxy on port ${opts.port} (Vite:${vitePort}, Bun:${bunBackendPort})`);
851
+ }
852
+ catch (error) {
853
+ tui.error(`Failed to start front-door proxy: ${error}`);
854
+ await cleanup(true, 1, true);
855
+ return;
856
+ }
857
+ // ================================================================
858
+ // Step 6: Start gravity tunnel (if public URL enabled)
792
859
  // ================================================================
793
860
  if (gravityBin && gravityURL && devmode && project) {
794
861
  const privateKeyPEM = devmode.privateKey ?? savedPrivateKey;
@@ -797,13 +864,20 @@ export const command = createCommand({
797
864
  await cleanup(true, 1, true);
798
865
  return;
799
866
  }
867
+ // Gravity must target the user-facing front-door proxy port.
868
+ // The front-door proxy (ws-proxy) is the only server that correctly
869
+ // routes public WebSocket upgrades to /api/* through to the Bun backend.
870
+ // We read the actual bound port from the front-door server to avoid any
871
+ // mismatch with opts.port (e.g. if the port was overridden or shifted).
872
+ const frontDoorPort = frontDoorServer?.address()?.port ??
873
+ opts.port;
800
874
  try {
801
875
  gravityProcess = Bun.spawn([
802
876
  gravityBin,
803
877
  '--endpoint-id',
804
878
  devmode.id,
805
879
  '--port',
806
- vitePort.toString(),
880
+ frontDoorPort.toString(),
807
881
  '--url',
808
882
  gravityURL,
809
883
  '--log-level',
@@ -819,8 +893,21 @@ export const command = createCommand({
819
893
  cwd: rootDir,
820
894
  stdout: 'pipe',
821
895
  stderr: 'pipe',
822
- detached: false,
896
+ // Make the child a process-group leader so process.kill(-pid, signal)
897
+ // from procManager.killProcessTree() actually reaches the whole tree
898
+ // (otherwise it fails with EPERM and falls back to a direct PID kill
899
+ // that leaves any grandchildren running). We intentionally do NOT call
900
+ // .unref() — we still want the parent to track the child's lifecycle
901
+ // and drive cleanup on Ctrl-C / shutdown.
902
+ detached: true,
903
+ // Pass a clean env without PORT to prevent the inherited
904
+ // PORT (set to bunBackendPort) from leaking into gravity.
905
+ env: {
906
+ ...process.env,
907
+ PORT: undefined,
908
+ },
823
909
  });
910
+ logger.debug('Gravity tunnel targeting front-door proxy on port %d', frontDoorPort);
824
911
  const gravityPid = gravityProcess.pid;
825
912
  if (gravityPid) {
826
913
  await devLock.registerChild({
@@ -893,7 +980,7 @@ export const command = createCommand({
893
980
  }
894
981
  }
895
982
  // ================================================================
896
- // Step 5: Keyboard shortcuts + wait for shutdown
983
+ // Step 7: Keyboard shortcuts + wait for shutdown
897
984
  // ================================================================
898
985
  if (interactive && process.stdin.isTTY && process.stdout.isTTY) {
899
986
  stdinListenerRegistered = true;
@@ -913,7 +1000,6 @@ export const command = createCommand({
913
1000
  process.stdin.removeListener('data', stdinDataHandler);
914
1001
  stdinDataHandler = null;
915
1002
  }
916
- shutdownRequested = true;
917
1003
  cleanup(true, 0).catch(() => originalExit(1));
918
1004
  return;
919
1005
  }
@@ -952,7 +1038,7 @@ export const command = createCommand({
952
1038
  finally {
953
1039
  /* brute force clean up */
954
1040
  await devLock.release();
955
- await killLingeringGravityProcesses(logger);
1041
+ await killLingeringGravityProcesses(logger, project?.projectId);
956
1042
  releaseLockSync(rootDir);
957
1043
  }
958
1044
  },
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cmd/dev/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cmd/dev/index.ts"],"names":[],"mappings":"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"}