@cluesmith/codev 3.0.7 → 3.1.1

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 (110) hide show
  1. package/dashboard-dist/assets/{index-DUQ8fmjX.js → index-CM6A5r59.js} +39 -39
  2. package/dashboard-dist/assets/index-CM6A5r59.js.map +1 -0
  3. package/dashboard-dist/assets/index-Cl5tt1AP.css +32 -0
  4. package/dashboard-dist/index.html +2 -2
  5. package/dist/agent-farm/cli.d.ts.map +1 -1
  6. package/dist/agent-farm/cli.js +14 -0
  7. package/dist/agent-farm/cli.js.map +1 -1
  8. package/dist/agent-farm/commands/send.d.ts +13 -2
  9. package/dist/agent-farm/commands/send.d.ts.map +1 -1
  10. package/dist/agent-farm/commands/send.js +49 -14
  11. package/dist/agent-farm/commands/send.js.map +1 -1
  12. package/dist/agent-farm/commands/status.d.ts.map +1 -1
  13. package/dist/agent-farm/commands/status.js +41 -13
  14. package/dist/agent-farm/commands/status.js.map +1 -1
  15. package/dist/agent-farm/commands/stop.d.ts.map +1 -1
  16. package/dist/agent-farm/commands/stop.js +9 -5
  17. package/dist/agent-farm/commands/stop.js.map +1 -1
  18. package/dist/agent-farm/commands/workspace-remove-architect.d.ts +16 -0
  19. package/dist/agent-farm/commands/workspace-remove-architect.d.ts.map +1 -0
  20. package/dist/agent-farm/commands/workspace-remove-architect.js +40 -0
  21. package/dist/agent-farm/commands/workspace-remove-architect.js.map +1 -0
  22. package/dist/agent-farm/servers/overview.d.ts +26 -0
  23. package/dist/agent-farm/servers/overview.d.ts.map +1 -1
  24. package/dist/agent-farm/servers/overview.js +31 -12
  25. package/dist/agent-farm/servers/overview.js.map +1 -1
  26. package/dist/agent-farm/servers/tower-instances.d.ts +25 -0
  27. package/dist/agent-farm/servers/tower-instances.d.ts.map +1 -1
  28. package/dist/agent-farm/servers/tower-instances.js +298 -45
  29. package/dist/agent-farm/servers/tower-instances.js.map +1 -1
  30. package/dist/agent-farm/servers/tower-routes.d.ts.map +1 -1
  31. package/dist/agent-farm/servers/tower-routes.js +240 -6
  32. package/dist/agent-farm/servers/tower-routes.js.map +1 -1
  33. package/dist/agent-farm/servers/tower-server.js +8 -0
  34. package/dist/agent-farm/servers/tower-server.js.map +1 -1
  35. package/dist/agent-farm/servers/tower-terminals.d.ts.map +1 -1
  36. package/dist/agent-farm/servers/tower-terminals.js +76 -12
  37. package/dist/agent-farm/servers/tower-terminals.js.map +1 -1
  38. package/dist/agent-farm/servers/tower-types.d.ts +24 -0
  39. package/dist/agent-farm/servers/tower-types.d.ts.map +1 -1
  40. package/dist/agent-farm/servers/worktree-config-watcher.d.ts +36 -0
  41. package/dist/agent-farm/servers/worktree-config-watcher.d.ts.map +1 -0
  42. package/dist/agent-farm/servers/worktree-config-watcher.js +80 -0
  43. package/dist/agent-farm/servers/worktree-config-watcher.js.map +1 -0
  44. package/dist/agent-farm/state.d.ts +29 -5
  45. package/dist/agent-farm/state.d.ts.map +1 -1
  46. package/dist/agent-farm/state.js +54 -12
  47. package/dist/agent-farm/state.js.map +1 -1
  48. package/dist/agent-farm/types.d.ts +23 -0
  49. package/dist/agent-farm/types.d.ts.map +1 -1
  50. package/dist/agent-farm/utils/architect-name.d.ts +5 -0
  51. package/dist/agent-farm/utils/architect-name.d.ts.map +1 -1
  52. package/dist/agent-farm/utils/architect-name.js +8 -0
  53. package/dist/agent-farm/utils/architect-name.js.map +1 -1
  54. package/dist/agent-farm/utils/config.d.ts +2 -12
  55. package/dist/agent-farm/utils/config.d.ts.map +1 -1
  56. package/dist/agent-farm/utils/config.js +20 -0
  57. package/dist/agent-farm/utils/config.js.map +1 -1
  58. package/dist/cli.d.ts.map +1 -1
  59. package/dist/cli.js +2 -0
  60. package/dist/cli.js.map +1 -1
  61. package/dist/commands/consult/index.d.ts +4 -0
  62. package/dist/commands/consult/index.d.ts.map +1 -1
  63. package/dist/commands/consult/index.js +160 -31
  64. package/dist/commands/consult/index.js.map +1 -1
  65. package/dist/commands/porch/artifacts.d.ts +32 -0
  66. package/dist/commands/porch/artifacts.d.ts.map +1 -1
  67. package/dist/commands/porch/artifacts.js +129 -0
  68. package/dist/commands/porch/artifacts.js.map +1 -1
  69. package/dist/lib/config.d.ts +17 -2
  70. package/dist/lib/config.d.ts.map +1 -1
  71. package/dist/lib/config.js +30 -2
  72. package/dist/lib/config.js.map +1 -1
  73. package/dist/lib/default-branch.d.ts +11 -0
  74. package/dist/lib/default-branch.d.ts.map +1 -0
  75. package/dist/lib/default-branch.js +23 -0
  76. package/dist/lib/default-branch.js.map +1 -0
  77. package/dist/terminal/pty-session.d.ts.map +1 -1
  78. package/dist/terminal/pty-session.js +5 -0
  79. package/dist/terminal/pty-session.js.map +1 -1
  80. package/dist/terminal/shellper-client.d.ts +15 -0
  81. package/dist/terminal/shellper-client.d.ts.map +1 -1
  82. package/dist/terminal/shellper-client.js +37 -0
  83. package/dist/terminal/shellper-client.js.map +1 -1
  84. package/dist/terminal/shellper-process.d.ts +1 -0
  85. package/dist/terminal/shellper-process.d.ts.map +1 -1
  86. package/dist/terminal/shellper-process.js +8 -0
  87. package/dist/terminal/shellper-process.js.map +1 -1
  88. package/dist/terminal/shellper-protocol.d.ts +12 -0
  89. package/dist/terminal/shellper-protocol.d.ts.map +1 -1
  90. package/dist/terminal/shellper-protocol.js.map +1 -1
  91. package/package.json +3 -3
  92. package/scripts/forge/github/pr-search.sh +2 -2
  93. package/skeleton/protocols/air/consult-types/pr-review.md +5 -1
  94. package/skeleton/protocols/aspir/builder-prompt.md +3 -3
  95. package/skeleton/protocols/aspir/consult-types/pr-review.md +5 -1
  96. package/skeleton/protocols/bugfix/consult-types/pr-review.md +2 -1
  97. package/skeleton/protocols/maintain/consult-types/pr-review.md +5 -1
  98. package/skeleton/protocols/pir/builder-prompt.md +2 -2
  99. package/skeleton/protocols/pir/consult-types/pr-review.md +3 -2
  100. package/skeleton/protocols/pir/prompts/implement.md +15 -7
  101. package/skeleton/protocols/pir/prompts/review.md +27 -21
  102. package/skeleton/protocols/pir/protocol.json +1 -1
  103. package/skeleton/protocols/pir/protocol.md +4 -6
  104. package/skeleton/protocols/spir/builder-prompt.md +3 -3
  105. package/skeleton/protocols/spir/consult-types/pr-review.md +5 -1
  106. package/skeleton/roles/builder.md +21 -0
  107. package/skeleton/templates/AGENTS.md +20 -0
  108. package/skeleton/templates/CLAUDE.md +20 -0
  109. package/dashboard-dist/assets/index-0yEACH2F.css +0 -32
  110. package/dashboard-dist/assets/index-DUQ8fmjX.js.map +0 -1
@@ -18,11 +18,76 @@ import { getGlobalDb } from '../db/index.js';
18
18
  import { defaultSessionOptions } from '../../terminal/index.js';
19
19
  import { getWorkspaceName, isTempDirectory, buildArchitectArgs, } from './tower-utils.js';
20
20
  import { autoNumberArchitectName, validateArchitectName, DEFAULT_ARCHITECT_NAME, } from '../utils/architect-name.js';
21
- import { setArchitect, setArchitectByName } from '../state.js';
21
+ import { setArchitect, setArchitectByName, getArchitects } from '../state.js';
22
22
  // ============================================================================
23
23
  // Module-private state
24
24
  // ============================================================================
25
25
  let _deps = null;
26
+ /**
27
+ * Spec 786 Phase 3: workspaces currently mid-`stopInstance` shutdown.
28
+ *
29
+ * When a workspace is added to this set, the architect exit handlers (here and
30
+ * in `tower-terminals.ts`) skip deleting the architect's `state.db.architect`
31
+ * row — preserving the registration so the architect survives `afx workspace
32
+ * stop` + `start` and is re-spawned by `launchInstance`'s sibling reconciliation
33
+ * loop. Permanent exit (max-restart exhaustion, explicit `remove-architect`)
34
+ * runs WITHOUT the workspace being in this set, so OQ-B's auto-delete behaviour
35
+ * is preserved.
36
+ *
37
+ * `stopInstance` adds to the set before iterating kills and removes in a
38
+ * `finally` block so the flag is always cleared even on error.
39
+ *
40
+ * Workspace paths are stored as resolved (realpath) paths to match the resolution
41
+ * already done by `stopInstance` and the exit handlers.
42
+ */
43
+ const intentionallyStopping = new Set();
44
+ /**
45
+ * Spec 786 Phase 3: is the workspace currently mid-graceful-stop?
46
+ * Used by exit handlers (here AND in `tower-terminals.ts`) to decide whether to
47
+ * delete the architect's persisted row. See `intentionallyStopping` above.
48
+ *
49
+ * Exported so `tower-terminals.ts`'s reconciliation exit handler can call it.
50
+ */
51
+ export function isIntentionallyStopping(workspacePath) {
52
+ return intentionallyStopping.has(workspacePath);
53
+ }
54
+ /**
55
+ * Spec 786 Phase 3 / PR iter-2 race-fix: await a terminal's `'exit'` event
56
+ * with a timeout safety so callers (`stopInstance`, `removeArchitect`) can
57
+ * ensure the cascaded exit handler has finished BEFORE the
58
+ * `intentionallyStopping` flag is cleared.
59
+ *
60
+ * Why this exists: `killTerminalWithShellper` returns after sending SIGTERM,
61
+ * not after the process is reaped. node-pty's 'exit' event fires later, on
62
+ * its own tick. Without this await, the `finally` block in `stopInstance`
63
+ * clears the flag before the exit handler runs — the handler then reads
64
+ * `isIntentionallyStopping === false` and incorrectly deletes the persisted
65
+ * architect row. Unit tests don't catch it because they mock timing.
66
+ *
67
+ * The timeout (5s) is belt-and-suspenders: if 'exit' never fires (e.g.
68
+ * because the session was already gone), the promise still resolves so we
69
+ * don't block the stop indefinitely.
70
+ */
71
+ function waitForTerminalExit(manager, terminalId, timeoutMs = 5000) {
72
+ const session = manager.getSession(terminalId);
73
+ // Defensive: if the session is gone or doesn't look like an EventEmitter
74
+ // (e.g. a test stub), there's nothing to wait for — resolve immediately so
75
+ // callers aren't blocked.
76
+ if (!session || typeof session.once !== 'function') {
77
+ return Promise.resolve();
78
+ }
79
+ return new Promise((resolve) => {
80
+ let settled = false;
81
+ const finish = () => {
82
+ if (settled)
83
+ return;
84
+ settled = true;
85
+ resolve();
86
+ };
87
+ session.once('exit', finish);
88
+ setTimeout(finish, timeoutMs);
89
+ });
90
+ }
26
91
  // ============================================================================
27
92
  // Public lifecycle
28
93
  // ============================================================================
@@ -272,10 +337,16 @@ export async function launchInstance(workspacePath) {
272
337
  registerKnownWorkspace(resolvedPath);
273
338
  // Initialize workspace terminal entry
274
339
  const entry = _deps.getWorkspaceTerminalsEntry(resolvedPath);
275
- // Create architect terminal if not already present.
276
- // Spec 755: this is the workspace-start path; it only creates the default
340
+ // Create architect terminal if `main` is not already present.
341
+ // Spec 755: this is the workspace-start path; it creates the default
277
342
  // 'main' architect. Additional named architects come via the Phase 2 CLI.
278
- if (entry.architects.size === 0) {
343
+ // Spec 786 Phase 3: gate changed from `size === 0` to `!has('main')`. The
344
+ // size-based gate was unsafe once `state.db.architect` can carry sibling
345
+ // rows across stop+start — if a reconciliation path repopulated siblings
346
+ // before launchInstance ran, the old gate would have skipped main creation
347
+ // entirely. Gating on `main` specifically guarantees main is always
348
+ // created/present after launchInstance returns success.
349
+ if (!entry.architects.has('main')) {
279
350
  const manager = _deps.getTerminalManager();
280
351
  // Read architect command: env var override (for CI/testing), unified config, or default
281
352
  let architectCmd = process.env.TOWER_ARCHITECT_CMD || '';
@@ -360,13 +431,24 @@ export async function launchInstance(workspacePath) {
360
431
  if (ptySession) {
361
432
  ptySession.on('exit', (exitCode, signal) => {
362
433
  const currentEntry = _deps.getWorkspaceTerminalsEntry(resolvedPath);
434
+ let exitedName = null;
363
435
  for (const [name, tid] of currentEntry.architects) {
364
436
  if (tid === session.id) {
437
+ exitedName = name;
365
438
  currentEntry.architects.delete(name);
366
439
  break;
367
440
  }
368
441
  }
369
442
  _deps.deleteTerminalSession(session.id);
443
+ // Spec 786 Phase 3 / OQ-B: delete the persisted architect row
444
+ // on permanent exit so state.db mirrors reality. Skip on
445
+ // intentional stop so the row survives a graceful stop+start.
446
+ if (exitedName && !isIntentionallyStopping(resolvedPath)) {
447
+ try {
448
+ setArchitectByName(exitedName, null);
449
+ }
450
+ catch { /* best-effort cleanup */ }
451
+ }
370
452
  _deps.log('INFO', `Architect shellper session exited for ${workspacePath} (code=${exitCode ?? null}, signal=${signal ?? null})`);
371
453
  });
372
454
  }
@@ -406,13 +488,23 @@ export async function launchInstance(workspacePath) {
406
488
  if (ptySession) {
407
489
  ptySession.on('exit', () => {
408
490
  const currentEntry = _deps.getWorkspaceTerminalsEntry(resolvedPath);
491
+ let exitedName = null;
409
492
  for (const [name, tid] of currentEntry.architects) {
410
493
  if (tid === session.id) {
494
+ exitedName = name;
411
495
  currentEntry.architects.delete(name);
412
496
  break;
413
497
  }
414
498
  }
415
499
  _deps.deleteTerminalSession(session.id);
500
+ // Spec 786 Phase 3 / OQ-B: delete the persisted architect row
501
+ // on permanent exit; preserve on intentional stop.
502
+ if (exitedName && !isIntentionallyStopping(resolvedPath)) {
503
+ try {
504
+ setArchitectByName(exitedName, null);
505
+ }
506
+ catch { /* best-effort cleanup */ }
507
+ }
416
508
  _deps.log('INFO', `Architect pty exited for ${workspacePath}`);
417
509
  });
418
510
  }
@@ -426,6 +518,32 @@ export async function launchInstance(workspacePath) {
426
518
  return { success: false, error: errMsg, adopted };
427
519
  }
428
520
  }
521
+ // Spec 786 Phase 3: re-spawn persisted sibling architects.
522
+ //
523
+ // After `main` is guaranteed present (above), iterate any non-main rows in
524
+ // `state.db.architect` and call `addArchitect()` for each. This restores
525
+ // siblings that survived `afx workspace stop` (the intentional-stop flag
526
+ // preserved their rows). The ordering is critical: `addArchitect()` rejects
527
+ // when `entry.architects.size === 0`, so it MUST run after main creation.
528
+ //
529
+ // Idempotency: skip names already in `entry.architects` so a re-entrant
530
+ // launch (or a race with `reconcileTerminalSessions`) doesn't double-spawn.
531
+ try {
532
+ const persisted = getArchitects();
533
+ for (const a of persisted) {
534
+ if (a.name === 'main')
535
+ continue;
536
+ if (entry.architects.has(a.name))
537
+ continue;
538
+ const res = await addArchitect(workspacePath, a.name);
539
+ if (!res.success) {
540
+ _deps.log('WARN', `Failed to re-spawn persisted sibling architect '${a.name}': ${res.error}`);
541
+ }
542
+ }
543
+ }
544
+ catch (siblingErr) {
545
+ _deps.log('WARN', `Sibling reconciliation failed: ${siblingErr.message}`);
546
+ }
429
547
  return { success: true, adopted };
430
548
  }
431
549
  catch (err) {
@@ -471,46 +589,86 @@ export async function stopInstance(workspacePath) {
471
589
  }
472
590
  // Get workspace terminals
473
591
  const entry = _deps.workspaceTerminals.get(resolvedPath) || _deps.workspaceTerminals.get(workspacePath);
474
- if (entry) {
475
- // Kill all architects (disable shellper auto-restart if applicable)
476
- // Spec 755: iterate the named-architect Map instead of the old scalar.
477
- for (const terminalId of entry.architects.values()) {
478
- const session = manager.getSession(terminalId);
479
- if (session) {
480
- await killTerminalWithShellper(manager, terminalId);
481
- stopped.push(session.pid);
592
+ // Spec 786 Phase 3: mark the workspace as "intentionally stopping" so the
593
+ // architect exit handlers triggered by the upcoming kills know NOT to delete
594
+ // the persisted `state.db.architect` rows. The flag is cleared in `finally`
595
+ // so any thrown error still releases it. Without this, the cascaded exit
596
+ // handlers in tower-instances.ts (4 handlers) and tower-terminals.ts (1
597
+ // handler) would delete sibling rows on every stop — making it impossible
598
+ // for siblings to survive `afx workspace stop` + `start`.
599
+ intentionallyStopping.add(resolvedPath);
600
+ if (resolvedPath !== workspacePath)
601
+ intentionallyStopping.add(workspacePath);
602
+ try {
603
+ if (entry) {
604
+ // Spec 786 Phase 3 / PR iter-2 race-fix: register exit-promises for
605
+ // every terminal BEFORE we kill anything. `killTerminalWithShellper`
606
+ // sends SIGTERM and returns; node-pty's 'exit' event fires later, on
607
+ // its own tick. If we cleared the flag in `finally` before 'exit'
608
+ // fired, the cascaded architect exit handler would see
609
+ // `isIntentionallyStopping === false` and incorrectly delete the
610
+ // persisted `state.db.architect` row — defeating the entire Phase 3
611
+ // persistence story. We await all 'exit' events (with a 5s safety
612
+ // timeout per terminal) before falling through to the finally.
613
+ const exitPromises = [];
614
+ // Kill all architects (disable shellper auto-restart if applicable)
615
+ // Spec 755: iterate the named-architect Map instead of the old scalar.
616
+ for (const terminalId of entry.architects.values()) {
617
+ const session = manager.getSession(terminalId);
618
+ if (session) {
619
+ exitPromises.push(waitForTerminalExit(manager, terminalId));
620
+ await killTerminalWithShellper(manager, terminalId);
621
+ stopped.push(session.pid);
622
+ }
482
623
  }
483
- }
484
- // Kill all shells (disable shellper auto-restart if applicable)
485
- for (const terminalId of entry.shells.values()) {
486
- const session = manager.getSession(terminalId);
487
- if (session) {
488
- await killTerminalWithShellper(manager, terminalId);
489
- stopped.push(session.pid);
624
+ // Kill all shells (disable shellper auto-restart if applicable)
625
+ for (const terminalId of entry.shells.values()) {
626
+ const session = manager.getSession(terminalId);
627
+ if (session) {
628
+ exitPromises.push(waitForTerminalExit(manager, terminalId));
629
+ await killTerminalWithShellper(manager, terminalId);
630
+ stopped.push(session.pid);
631
+ }
490
632
  }
491
- }
492
- // Kill all builders (disable shellper auto-restart if applicable)
493
- for (const terminalId of entry.builders.values()) {
494
- const session = manager.getSession(terminalId);
495
- if (session) {
496
- await killTerminalWithShellper(manager, terminalId);
497
- stopped.push(session.pid);
633
+ // Kill all builders (disable shellper auto-restart if applicable)
634
+ for (const terminalId of entry.builders.values()) {
635
+ const session = manager.getSession(terminalId);
636
+ if (session) {
637
+ exitPromises.push(waitForTerminalExit(manager, terminalId));
638
+ await killTerminalWithShellper(manager, terminalId);
639
+ stopped.push(session.pid);
640
+ }
641
+ }
642
+ // Await every 'exit' event before clearing the intentional-stop flag.
643
+ // Each promise has its own 5s safety timeout so a stuck process never
644
+ // blocks the stop indefinitely.
645
+ if (exitPromises.length > 0) {
646
+ await Promise.all(exitPromises);
647
+ }
648
+ // Clear workspace from registry
649
+ _deps.workspaceTerminals.delete(resolvedPath);
650
+ _deps.workspaceTerminals.delete(workspacePath);
651
+ // TICK-001: Delete all terminal sessions from SQLite
652
+ // Spec 786 Phase 3 Cl2: this is a full wipe of `terminal_sessions` rows.
653
+ // Sibling architect rows in `state.db.architect` are preserved by the
654
+ // intentional-stop flag above; on next launchInstance, siblings are
655
+ // re-spawned via addArchitect which creates fresh terminal_sessions rows.
656
+ _deps.deleteWorkspaceTerminalSessions(resolvedPath);
657
+ if (resolvedPath !== workspacePath) {
658
+ _deps.deleteWorkspaceTerminalSessions(workspacePath);
659
+ }
660
+ // Bugfix #474: Delete all file tabs for this workspace
661
+ _deps.deleteFileTabsForWorkspace(resolvedPath);
662
+ if (resolvedPath !== workspacePath) {
663
+ _deps.deleteFileTabsForWorkspace(workspacePath);
498
664
  }
499
- }
500
- // Clear workspace from registry
501
- _deps.workspaceTerminals.delete(resolvedPath);
502
- _deps.workspaceTerminals.delete(workspacePath);
503
- // TICK-001: Delete all terminal sessions from SQLite
504
- _deps.deleteWorkspaceTerminalSessions(resolvedPath);
505
- if (resolvedPath !== workspacePath) {
506
- _deps.deleteWorkspaceTerminalSessions(workspacePath);
507
- }
508
- // Bugfix #474: Delete all file tabs for this workspace
509
- _deps.deleteFileTabsForWorkspace(resolvedPath);
510
- if (resolvedPath !== workspacePath) {
511
- _deps.deleteFileTabsForWorkspace(workspacePath);
512
665
  }
513
666
  }
667
+ finally {
668
+ intentionallyStopping.delete(resolvedPath);
669
+ if (resolvedPath !== workspacePath)
670
+ intentionallyStopping.delete(workspacePath);
671
+ }
514
672
  if (stopped.length === 0) {
515
673
  return { success: true, error: 'No terminals found to stop', stopped };
516
674
  }
@@ -653,10 +811,14 @@ export async function addArchitect(workspacePath, requestedName) {
653
811
  }
654
812
  _deps.deleteTerminalSession(session.id);
655
813
  // Spec 755: remove the architect row from local state.db too.
656
- try {
657
- setArchitectByName(name, null);
814
+ // Spec 786 Phase 3: skip the row deletion when the workspace is
815
+ // mid-intentional-stop so the sibling survives `afx workspace stop`.
816
+ if (!isIntentionallyStopping(resolvedPath)) {
817
+ try {
818
+ setArchitectByName(name, null);
819
+ }
820
+ catch { /* best-effort cleanup */ }
658
821
  }
659
- catch { /* best-effort cleanup */ }
660
822
  _deps.log('INFO', `Architect shellper session '${name}' exited (code=${exitCode ?? null}, signal=${signal ?? null})`);
661
823
  });
662
824
  }
@@ -700,10 +862,14 @@ export async function addArchitect(workspacePath, requestedName) {
700
862
  }
701
863
  }
702
864
  _deps.deleteTerminalSession(session.id);
703
- try {
704
- setArchitectByName(name, null);
865
+ // Spec 786 Phase 3: skip the row deletion when the workspace is
866
+ // mid-intentional-stop so the sibling survives `afx workspace stop`.
867
+ if (!isIntentionallyStopping(resolvedPath)) {
868
+ try {
869
+ setArchitectByName(name, null);
870
+ }
871
+ catch { /* best-effort cleanup */ }
705
872
  }
706
- catch { /* best-effort cleanup */ }
707
873
  _deps.log('INFO', `Architect pty '${name}' exited`);
708
874
  });
709
875
  }
@@ -716,4 +882,91 @@ export async function addArchitect(workspacePath, requestedName) {
716
882
  }
717
883
  return { success: true, name, terminalId: sessionId };
718
884
  }
885
+ // ============================================================================
886
+ // removeArchitect (Spec 786 Phase 4) — remove a named sibling architect
887
+ // ============================================================================
888
+ /**
889
+ * Spec 786 Phase 4: remove a sibling architect.
890
+ *
891
+ * Refuses `main` (workspace-defining, undeletable). Refuses unknown names with
892
+ * a 404-mappable error string. For known siblings, raises the intentional-stop
893
+ * flag so the cascaded exit handler does NOT delete the row twice, kills the
894
+ * sibling's PTY (disabling shellper auto-restart), then explicitly removes the
895
+ * in-memory entry and persisted rows. Returns `{ success: true }` on success.
896
+ *
897
+ * Removing a sibling with in-flight builders is permitted (per OQ-A) — the
898
+ * builders' subsequent `afx send architect` calls fall back to `main` via
899
+ * `tower-messages.ts:336`.
900
+ */
901
+ export async function removeArchitect(workspacePath, name) {
902
+ if (!_deps)
903
+ return { success: false, error: 'Tower is still starting up. Try again shortly.' };
904
+ // Resolve symlinks for consistent lookup (matches addArchitect / stopInstance).
905
+ let resolvedPath = workspacePath;
906
+ try {
907
+ if (fs.existsSync(workspacePath)) {
908
+ resolvedPath = fs.realpathSync(workspacePath);
909
+ }
910
+ }
911
+ catch {
912
+ // Use original path on resolution failure.
913
+ }
914
+ // Reserved-name check: `main` is workspace-defining and undeletable.
915
+ if (name === DEFAULT_ARCHITECT_NAME) {
916
+ return { success: false, error: "Cannot remove the default 'main' architect." };
917
+ }
918
+ const entry = _deps.workspaceTerminals.get(resolvedPath) || _deps.workspaceTerminals.get(workspacePath);
919
+ if (!entry || entry.architects.size === 0) {
920
+ return {
921
+ success: false,
922
+ error: `Workspace '${workspacePath}' is not running. Start it with 'afx workspace start' first.`,
923
+ };
924
+ }
925
+ const terminalId = entry.architects.get(name);
926
+ if (!terminalId) {
927
+ return { success: false, error: `Architect '${name}' not found in workspace '${workspacePath}'.` };
928
+ }
929
+ const manager = _deps.getTerminalManager();
930
+ // Raise the intentional-stop flag so the cascaded exit handler does NOT also
931
+ // delete the state.db row (we delete it explicitly below). Without this, the
932
+ // exit handler would call setArchitectByName(name, null) — harmless but the
933
+ // double-delete is wasteful and the intent (this is an intentional removal)
934
+ // is clearer with the flag set.
935
+ intentionallyStopping.add(resolvedPath);
936
+ if (resolvedPath !== workspacePath)
937
+ intentionallyStopping.add(workspacePath);
938
+ try {
939
+ // Spec 786 Phase 4 / PR iter-2 race-fix: register the exit-promise
940
+ // BEFORE the kill so the listener is attached before node-pty can emit
941
+ // 'exit'. Without awaiting it, the `finally` clears the flag too early
942
+ // and the exit handler racing to re-delete the row sees the flag as
943
+ // false. (In remove-architect's case, the double-delete would be
944
+ // harmless — `setArchitectByName` is idempotent — but the same pattern
945
+ // bites `stopInstance` where the row should NOT be deleted at all. Keep
946
+ // both paths symmetric so a future contributor doesn't accidentally
947
+ // diverge them.)
948
+ const exitPromise = waitForTerminalExit(manager, terminalId);
949
+ await killTerminalWithShellper(manager, terminalId);
950
+ entry.architects.delete(name);
951
+ // Explicitly delete persisted rows (the intentional-stop flag suppressed
952
+ // the exit-handler delete; we want the row gone for this remove path).
953
+ try {
954
+ setArchitectByName(name, null);
955
+ }
956
+ catch { /* best-effort cleanup */ }
957
+ try {
958
+ _deps.deleteTerminalSession(terminalId);
959
+ }
960
+ catch { /* best-effort cleanup */ }
961
+ // Wait for the actual 'exit' event before clearing the flag.
962
+ await exitPromise;
963
+ }
964
+ finally {
965
+ intentionallyStopping.delete(resolvedPath);
966
+ if (resolvedPath !== workspacePath)
967
+ intentionallyStopping.delete(workspacePath);
968
+ }
969
+ _deps.log('INFO', `Removed architect '${name}' from workspace ${workspacePath}`);
970
+ return { success: true };
971
+ }
719
972
  //# sourceMappingURL=tower-instances.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tower-instances.js","sourceRoot":"","sources":["../../../src/agent-farm/servers/tower-instances.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tower-instances.js","sourceRoot":"","sources":["../../../src/agent-farm/servers/tower-instances.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tower-routes.d.ts","sourceRoot":"","sources":["../../../src/agent-farm/servers/tower-routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,IAAI,MAAM,WAAW,CAAC;AAa7B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAIxE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAqElD,gFAAgF;AAChF,wBAAgB,eAAe,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAMtG;AAED,sGAAsG;AACtG,wBAAgB,cAAc,IAAI,IAAI,CAErC;AAMD,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACjE,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,kBAAkB,EAAE,MAAM,cAAc,GAAG,IAAI,CAAC;IAChD,qBAAqB,EAAE,CAAC,YAAY,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACjH,YAAY,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,IAAI,CAAC;IAC1C,eAAe,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC;AAuCD,wBAAsB,aAAa,CACjC,GAAG,EAAE,IAAI,CAAC,eAAe,EACzB,GAAG,EAAE,IAAI,CAAC,cAAc,EACxB,GAAG,EAAE,YAAY,GAChB,OAAO,CAAC,IAAI,CAAC,CAmFf"}
1
+ {"version":3,"file":"tower-routes.d.ts","sourceRoot":"","sources":["../../../src/agent-farm/servers/tower-routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,IAAI,MAAM,WAAW,CAAC;AAa7B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAKxE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAwElD,gFAAgF;AAChF,wBAAgB,eAAe,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAMtG;AAED,sGAAsG;AACtG,wBAAgB,cAAc,IAAI,IAAI,CAErC;AAMD,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACjE,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,kBAAkB,EAAE,MAAM,cAAc,GAAG,IAAI,CAAC;IAChD,qBAAqB,EAAE,CAAC,YAAY,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACjH,YAAY,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,IAAI,CAAC;IAC1C,eAAe,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC;AAwCD,wBAAsB,aAAa,CACjC,GAAG,EAAE,IAAI,CAAC,eAAe,EACzB,GAAG,EAAE,IAAI,CAAC,cAAc,EACxB,GAAG,EAAE,YAAY,GAChB,OAAO,CAAC,IAAI,CAAC,CAyFf"}