ccdeck 1.33.102 → 1.33.104

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 (2) hide show
  1. package/bin/ccdeck.js +19 -3
  2. package/package.json +2 -2
package/bin/ccdeck.js CHANGED
@@ -1,9 +1,25 @@
1
1
  #!/usr/bin/env node
2
2
  import { spawn } from 'child_process';
3
- import { fileURLToPath } from 'url';
3
+ import { fileURLToPath, pathToFileURL } from 'url';
4
4
  import { dirname, resolve } from 'path';
5
5
 
6
6
  const __dir = dirname(fileURLToPath(import.meta.url));
7
- const bin = resolve(__dir, '../../agents-deck/bin/agent-dag.js');
7
+ // This package ships nothing but bin/, so both halves of the deck come out of
8
+ // the agents-deck installed beside us — the binary to hand off to, and the rule
9
+ // for reporting a worker that was killed. Reached by path rather than as the
10
+ // bare specifier `agents-deck/src/server/supervisor.mjs` so the two can never
11
+ // resolve to different copies, and so an `exports` map added to agents-deck
12
+ // later cannot turn this into a startup crash. The dependency is pinned to the
13
+ // exact version at publish time, so the file is always there.
14
+ const pkg = resolve(__dir, '../../agents-deck');
15
+ const { dieOfSignal } = await import(pathToFileURL(resolve(pkg, 'src/server/supervisor.mjs')).href);
16
+
17
+ const bin = resolve(pkg, 'bin/agent-dag.js');
8
18
  const child = spawn(process.execPath, [bin, ...process.argv.slice(2)], { stdio: 'inherit' });
9
- child.on('exit', code => process.exit(code ?? 0));
19
+ // The supervisor answers a killed worker by dying of the same signal rather
20
+ // than exiting 128+n, which reaches us as (null, 'SIGTERM'). Exiting with
21
+ // `code ?? 0` turned that into 0: a `kill` or an OOM kill of a deck started as
22
+ // `npx ccdeck` was reported to systemd — or to whatever script started it — as
23
+ // a clean stop, while the same build under `npx agents-deck` reported 143.
24
+ // Ctrl+C hides it, since that signals the whole group and kills us directly.
25
+ child.on('exit', (code, signal) => (signal ? dieOfSignal(signal) : process.exit(code ?? 0)));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ccdeck",
3
- "version": "1.33.102",
3
+ "version": "1.33.104",
4
4
  "description": "Alias for agents-deck — live deck of Claude Code and Codex agents. Run with: npx ccdeck",
5
5
  "type": "module",
6
6
  "bin": {
@@ -10,7 +10,7 @@
10
10
  "bin"
11
11
  ],
12
12
  "dependencies": {
13
- "agents-deck": "1.33.102"
13
+ "agents-deck": "1.33.104"
14
14
  },
15
15
  "engines": {
16
16
  "node": ">=18"