trantor 0.17.97 → 0.17.98

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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "trantor",
3
- "version": "0.17.97",
3
+ "version": "0.17.98",
4
4
  "description": "Trantor \u2014 the hub-world for AI agent crews: live message bus, presence, project Kanban/flow board + crew orchestration for independent AI coding agents (Claude, Codex, Gemini, Kimi, DeepSeek)",
5
5
  "mcpServers": {
6
6
  "relay": {
@@ -436,9 +436,17 @@ export function maybeSpawn(projectDir, conf = readConfig()) {
436
436
  export const RECAP_CMD = "claude 'Recap the handoff you just took over — what was the previous session doing, and where do we continue? Then wait for me.'";
437
437
 
438
438
  // Spawn a fresh self-announcing session WITHOUT the dialog (manual handoff — the user already decided).
439
+ // ONE suppression check for every path that can open a terminal window. There were two names for
440
+ // this — TRANTOR_NO_HANDOFF_SPAWN here and TRANTOR_NO_BATON_SPAWN on spawnBaton — and a drill that
441
+ // set the wrong one opened eight live sessions in deleted temp directories, twice. A guard with two
442
+ // names is a guard you can miss, so both are honoured wherever a window is opened.
443
+ export function spawnSuppressed() {
444
+ return process.env.TRANTOR_NO_HANDOFF_SPAWN === "1" || process.env.TRANTOR_NO_BATON_SPAWN === "1";
445
+ }
446
+
439
447
  export function spawnFresh(projectDir) {
440
448
  try {
441
- if (process.platform !== "darwin" || process.env.TRANTOR_NO_HANDOFF_SPAWN === "1") return false;
449
+ if (process.platform !== "darwin" || spawnSuppressed()) return false;
442
450
  const script = join(HERE, "..", "..", "bin", "open-session.sh");
443
451
  if (!existsSync(script)) return false;
444
452
  const child = spawn("/bin/bash", [script, projectDir, RECAP_CMD], { detached: true, stdio: "ignore" });
@@ -482,7 +490,7 @@ export function spawnBaton({ projectDir, handoffFile, conf = readConfig(),
482
490
  // then deleted, each parked on a "do you trust this folder?" prompt. Five of them were found by
483
491
  // the operator on 2026-08-24. A code path that spawns windows needs an off switch, or it cannot
484
492
  // be tested honestly and someone will fake one that does not exist.
485
- if (process.env.TRANTOR_NO_BATON_SPAWN === "1" || conf.batonSpawn === false) {
493
+ if (spawnSuppressed() || conf.batonSpawn === false) {
486
494
  return { spawned: false, armed: false, windowId: "", suppressed: true };
487
495
  }
488
496
  const { windowId, tty } = _resolveWindow(); // original window FIRST, while it's still frontmost
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "trantor",
3
- "version": "0.17.97",
3
+ "version": "0.17.98",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "trantor": "bin/cli.mjs"