agent-dag 1.33.3 → 1.33.4

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.
@@ -5,7 +5,7 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1" />
6
6
  <title>agents-deck</title>
7
7
  <link rel="icon" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ctext y='84' font-size='84'%3E%E2%97%89%3C/text%3E%3C/svg%3E" />
8
- <script type="module" crossorigin src="/assets/index-VG3Xh-3i.js"></script>
8
+ <script type="module" crossorigin src="/assets/index-CUIo58CG.js"></script>
9
9
  <link rel="stylesheet" crossorigin href="/assets/index-hRjhJVfb.css">
10
10
  </head>
11
11
  <body>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agent-dag",
3
- "version": "1.33.3",
3
+ "version": "1.33.4",
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": {
@@ -390,9 +390,15 @@ export async function importAccount(blob) {
390
390
  const before = await readStore();
391
391
  const child = runInteractive(await cswapBin(), ["import", "-"], { timeout: CSWAP_TIMEOUT_MS });
392
392
  child.write(un.payload);
393
- try { child.write(""); } catch { /* best effort */ }
394
393
  // cswap reads stdin to EOF, so the pipe has to close for it to proceed.
395
- endStdin(child);
394
+ //
395
+ // This used to write a raw EOT byte and then call `endStdin(child)` — a
396
+ // helper that was never written. EOT only means end-of-file on a TTY, so
397
+ // the byte did nothing to a pipe, and the call threw ReferenceError before
398
+ // cswap ever saw the payload: the route answered 500 and the dialog fell
399
+ // back to "the import failed", which is exactly what a genuinely refused
400
+ // import says. Reported 2026-08-14.
401
+ child.end();
396
402
 
397
403
  const r = await child.done;
398
404
  if (!r.ok) return { ok: false, reason: "import_failed", detail: failureText(r, "cswap import") };
@@ -1325,7 +1325,13 @@ export async function startServer({ port = 4317, host = "127.0.0.1", persist = n
1325
1325
  // background quota poll hit a network error. Answer the request instead.
1326
1326
  const guard = (p, res) => Promise.resolve(p).catch(err => {
1327
1327
  console.error("agents-deck: request handler failed:", err?.message ?? err);
1328
- if (!res.headersSent) send(res, 500, { error: "internal error" });
1328
+ // The message goes to the browser too. This server binds 127.0.0.1 and its
1329
+ // only client is the user's own tab, so the usual reason to withhold it
1330
+ // does not apply — while withholding it is how a ReferenceError in the
1331
+ // import path spent a release looking like a rejected share.
1332
+ if (!res.headersSent) {
1333
+ send(res, 500, { error: "internal error", detail: String(err?.message ?? err).slice(0, 300) });
1334
+ }
1329
1335
  else res.end();
1330
1336
  });
1331
1337