agent-dag 1.33.155 → 1.34.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -40,7 +40,7 @@
40
40
  document.documentElement.setAttribute("data-theme", stored === "light" ? "light" : "dark");
41
41
  })();
42
42
  </script>
43
- <script type="module" crossorigin src="/assets/index-BGplujkq.js"></script>
43
+ <script type="module" crossorigin src="/assets/index-BpDHqfOL.js"></script>
44
44
  <link rel="stylesheet" crossorigin href="/assets/index-C9im4KPT.css">
45
45
  </head>
46
46
  <body>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agent-dag",
3
- "version": "1.33.155",
3
+ "version": "1.34.0",
4
4
  "description": "Live deck of Claude Code and Codex agents — watch parallel subagents fork, call tools, and return on one calm canvas. Also available as npx ccdeck and npx agent-dag.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -11,7 +11,7 @@ import { createInterface } from "node:readline";
11
11
  import { createHash, randomBytes, timingSafeEqual } from "node:crypto";
12
12
  import { claudeConfigDir } from "./claude-dir.mjs";
13
13
  import { PRODUCT } from "./brand.mjs";
14
- import { invokedName } from "./invoked-as.mjs";
14
+ import { invokedName, renameNotice } from "./invoked-as.mjs";
15
15
  import { codexCwdInWorkspace, writesCodexLog } from "./log-writer.mjs";
16
16
 
17
17
  const __dirname = dirname(fileURLToPath(import.meta.url));
@@ -1380,7 +1380,28 @@ async function handleVersion(req, res) {
1380
1380
  // command that was typed and is silent wherever it cannot be proven — every
1381
1381
  // Windows global install, and every `npm i -g ccdeck`, whose stub spawns the
1382
1382
  // deck by absolute path and leaves nothing in argv to read.
1383
- send(res, 200, { ...report, canRestart: _canRestart, invokedAs: invokedName({ pkgRoot: PKG_ROOT }) });
1383
+ const invoked = invokedName({ pkgRoot: PKG_ROOT });
1384
+ // The second half of that notice, computed here rather than in the browser.
1385
+ //
1386
+ // The banner needs one more fact than the name: whether typing `ccdeck` is
1387
+ // enough (a global install ships all three commands, so it already is) or
1388
+ // whether the whole answer is `npx ccdeck`. The browser used to derive that
1389
+ // from `upgradeMode`, which reads like the same question and is not — it
1390
+ // answers "may this copy install over itself", and `AGENTS_DECK_NO_INSTALL=1`
1391
+ // makes it null for EVERY shape including npx, because upgradeBlockedReason
1392
+ // tests the opt-out before it tests npx. So an npx user who opted out of
1393
+ // installs was told the global-install line and sent to a command that does
1394
+ // not exist on their machine, while the terminal row two feet away said
1395
+ // `npx ccdeck` — one fact, two surfaces, opposite answers (#363).
1396
+ //
1397
+ // renameNotice is where that fact is decided for the terminal, so it decides
1398
+ // it here too and the browser renders the string rather than a branch. No
1399
+ // `dash` argument on purpose: the glyph tier is a terminal concern, and the
1400
+ // default em dash is what a browser should get.
1401
+ const rename = renameNotice({ invoked, pkgRoot: PKG_ROOT });
1402
+ send(res, 200, {
1403
+ ...report, canRestart: _canRestart, invokedAs: invoked, renameFix: rename?.fix ?? null,
1404
+ });
1384
1405
  }
1385
1406
 
1386
1407
  // Runs `npm i -g <this deck>@latest`, and only that: the argument vector is