@cotal-ai/cmux 0.77.0 → 0.78.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.
package/README.md CHANGED
@@ -17,6 +17,10 @@ cotal supervise --runtime cmux
17
17
 
18
18
  Library composition roots can instead `import "@cotal-ai/cmux"` directly.
19
19
 
20
+ Each agent's env is written to an owner-only launch script, which keeps it off the tab's command,
21
+ and the script removes its directory before it starts the agent. When it cannot remove the directory,
22
+ the agent does not start.
23
+
20
24
  Lifecycle waits poll cmux's exact workspace inventory. Closing the workspace authoritatively tears
21
25
  down its terminal and child; an unreachable app fails the wait closed. cmux does not expose child
22
26
  completion while a workspace remains open, so that case times out rather than reporting a false exit.
package/dist/runtime.d.ts CHANGED
@@ -7,7 +7,10 @@ import { type AgentHandle, type LaunchSpec, type Pane, type Runtime, type Runtim
7
7
  * assignments, so `env` applies them and then execs the command. `isolate` (agent-spawn panes)
8
8
  * adds `-i` so the pane inherits ONLY the connector-declared env, not the cmux server's (P3 — the
9
9
  * operator's unrelated secrets don't reach a spawned agent); setup panes keep the inherited env. */
10
- export declare function paneCommand(pane: Pane, login: boolean, isolate?: boolean): string;
10
+ export declare function paneCommand(pane: Pane, login: boolean, isolate?: boolean): {
11
+ command: string;
12
+ dir: string;
13
+ };
11
14
  /**
12
15
  * Spawns each agent into its own new cmux tab (workspace), so spawned teammates get
13
16
  * room instead of crowding the spawner. The launch goes through {@link paneCommand}
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAGA,OAAO,EAIL,KAAK,WAAW,EAEhB,KAAK,UAAU,EACf,KAAK,IAAI,EACT,KAAK,OAAO,EACZ,KAAK,eAAe,EAEpB,KAAK,cAAc,EACpB,MAAM,gBAAgB,CAAC;AAaxB;;;;;;;qGAOqG;AACrG,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,UAAQ,GAAG,MAAM,CAY/E;AAkBD;;;;;;;GAOG;AACH,qBAAa,WAAY,YAAW,OAAO;IACzC,QAAQ,CAAC,IAAI,UAAU;IAEvB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,GAAG,WAAW;CAoFhE;AAED;+EAC+E;AAC/E,eAAO,MAAM,mBAAmB,EAAE,eAKjC,CAAC;AAIF;;;;qBAIqB;AACrB,eAAO,MAAM,oBAAoB,EAAE,cAOlC,CAAC"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAGA,OAAO,EAIL,KAAK,WAAW,EAEhB,KAAK,UAAU,EACf,KAAK,IAAI,EACT,KAAK,OAAO,EACZ,KAAK,eAAe,EAEpB,KAAK,cAAc,EACpB,MAAM,gBAAgB,CAAC;AAaxB;;;;;;;qGAOqG;AACrG,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,UAAQ,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAezG;AAkBD;;;;;;;GAOG;AACH,qBAAa,WAAY,YAAW,OAAO;IACzC,QAAQ,CAAC,IAAI,UAAU;IAEvB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,GAAG,WAAW;CA0FhE;AAED;+EAC+E;AAC/E,eAAO,MAAM,mBAAmB,EAAE,eAKjC,CAAC;AAIF;;;;qBAIqB;AACrB,eAAO,MAAM,oBAAoB,EAAE,cAOlC,CAAC"}
package/dist/runtime.js CHANGED
@@ -1,4 +1,4 @@
1
- import { mkdtempSync, writeFileSync } from "node:fs";
1
+ import { mkdtempSync, rmSync, writeFileSync } from "node:fs";
2
2
  import { join } from "node:path";
3
3
  import { tmpdir } from "node:os";
4
4
  import { registry, SpawnRefused, confirmWatch, } from "@cotal-ai/core";
@@ -23,14 +23,17 @@ export function paneCommand(pane, login, isolate = false) {
23
23
  const env = Object.entries(pane.env ?? {}).map(([k, v]) => `${k}=${shellQuote(v)}`);
24
24
  const cmd = [...env, shellQuote(pane.command), ...(pane.args ?? []).map(shellQuote)].join(" ");
25
25
  const cd = pane.cwd ? `cd ${shellQuote(pane.cwd)}\n` : "";
26
- const script = `#!/usr/bin/env bash\n${cd}exec env ${isolate ? "-i " : ""}${cmd}\n`;
27
26
  // The script holds the pane's env inline (the agent's creds + control token, and any provider key).
28
27
  // Write it into a fresh 0o700 temp dir as a 0o600 file: never a world-readable script, and never a
29
- // predictable, symlink-attackable /tmp path. cmux runs it as the same user via `bash <path>`.
28
+ // predictable, symlink-attackable /tmp path. cmux runs it as the same user via `bash <path>`. It
29
+ // removes its directory before it execs, so the env stays on disk only until bash opens it, and
30
+ // exits instead of running the agent when the removal fails; a caller whose cmux command fails
31
+ // removes `dir` itself, since nothing will run the script.
30
32
  const dir = mkdtempSync(join(tmpdir(), "cotal-pane-"));
33
+ const script = `#!/usr/bin/env bash\nrm -rf -- ${shellQuote(dir)} || exit\n${cd}exec env ${isolate ? "-i " : ""}${cmd}\n`;
31
34
  const scriptPath = join(dir, "launch.sh");
32
35
  writeFileSync(scriptPath, script, { mode: 0o600 });
33
- return `bash ${login ? "-l " : ""}${shellQuote(scriptPath)}`;
36
+ return { command: `bash ${login ? "-l " : ""}${shellQuote(scriptPath)}`, dir };
34
37
  }
35
38
  /** A single-terminal pane node in cmux's layout JSON. */
36
39
  function surface(command) {
@@ -40,7 +43,7 @@ function surface(command) {
40
43
  * knows cmux's layout shape. One pane → a bare terminal; several → a split (`direction` + `split`
41
44
  * ratio). These panes run under a login shell. */
42
45
  function cmuxLayout(label, tab) {
43
- const nodes = tab.panes.map((p) => surface(paneCommand(p, true)));
46
+ const nodes = tab.panes.map((p) => surface(paneCommand(p, true).command));
44
47
  if (nodes.length === 1 && !tab.split)
45
48
  return JSON.stringify(nodes[0]);
46
49
  if (!tab.split)
@@ -67,18 +70,25 @@ export class CmuxRuntime {
67
70
  "is cmux running, and is this process inside a cmux surface (CMUX_SOCKET_PATH set)?");
68
71
  // Nothing has the spec's command until openWorkspace, so a confirm prompt that cannot match or a
69
72
  // launch script that cannot be written is a refusal.
70
- let command;
73
+ let launch;
71
74
  let watch;
72
75
  try {
73
76
  watch = spec.confirm === undefined ? undefined : confirmWatch(spec.confirm);
74
- command = paneCommand({ command: spec.command, args: spec.args, env: spec.env, cwd }, false, true);
77
+ launch = paneCommand({ command: spec.command, args: spec.args, env: spec.env, cwd }, false, true);
75
78
  }
76
79
  catch (err) {
77
80
  throw new SpawnRefused(err.message);
78
81
  }
79
82
  // Keep the new tab's workspace ref so we can drive (send keys to its terminal)
80
83
  // and close it later. cmux targets the tab's single terminal surface by workspace.
81
- const workspace = cmux.openWorkspace(`cotal-${name}`, JSON.stringify(surface(command)), { focus: false });
84
+ let workspace;
85
+ try {
86
+ workspace = cmux.openWorkspace(`cotal-${name}`, JSON.stringify(surface(launch.command)), { focus: false });
87
+ }
88
+ catch (err) {
89
+ rmSync(launch.dir, { recursive: true, force: true });
90
+ throw err;
91
+ }
82
92
  watch?.({
83
93
  read: () => (cmux.workspaceState(workspace) === "exited" ? undefined : cmux.readScreen({ workspace })),
84
94
  enter: () => cmux.sendKey("enter", { workspace }, CONFIRM_CALL),
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,YAAY,GASb,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AAEpC,iFAAiF;AACjF,MAAM,QAAQ,GAAG,KAAK,CAAC;AACvB;yCACyC;AACzC,MAAM,YAAY,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;AAE1C,SAAS,UAAU,CAAC,CAAS;IAC3B,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC;AACzC,CAAC;AAED;;;;;;;qGAOqG;AACrG,MAAM,UAAU,WAAW,CAAC,IAAU,EAAE,KAAc,EAAE,OAAO,GAAG,KAAK;IACrE,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACpF,MAAM,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/F,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1D,MAAM,MAAM,GAAG,wBAAwB,EAAE,YAAY,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC;IACpF,oGAAoG;IACpG,mGAAmG;IACnG,8FAA8F;IAC9F,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC;IACvD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAC1C,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACnD,OAAO,QAAQ,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;AAC/D,CAAC;AAED,yDAAyD;AACzD,SAAS,OAAO,CAAC,OAAe;IAC9B,OAAO,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;AACjE,CAAC;AAED;;mDAEmD;AACnD,SAAS,UAAU,CAAC,KAAa,EAAE,GAAQ;IACzC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAClE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACtE,IAAI,CAAC,GAAG,CAAC,KAAK;QACZ,MAAM,IAAI,KAAK,CAAC,gBAAgB,KAAK,MAAM,KAAK,CAAC,MAAM,yCAAyC,CAAC,CAAC;IACpG,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;AACrG,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,OAAO,WAAW;IACb,IAAI,GAAG,MAAM,CAAC;IAEvB,KAAK,CAAC,IAAY,EAAE,IAAgB,EAAE,GAAW;QAC/C,sFAAsF;QACtF,2DAA2D;QAC3D,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC;YACjC,MAAM,IAAI,YAAY,CAAC,mCAAmC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;QACtH,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACnB,MAAM,IAAI,YAAY,CACpB,iBAAiB,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,MAAM,6BAA6B;gBACvF,oFAAoF,CACvF,CAAC;QACJ,iGAAiG;QACjG,qDAAqD;QACrD,IAAI,OAAe,CAAC;QACpB,IAAI,KAAgD,CAAC;QACrD,IAAI,CAAC;YACH,KAAK,GAAG,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC5E,OAAO,GAAG,WAAW,CACnB,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAC9D,KAAK,EACL,IAAI,CACL,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,YAAY,CAAE,GAAa,CAAC,OAAO,CAAC,CAAC;QACjD,CAAC;QACD,+EAA+E;QAC/E,mFAAmF;QACnF,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,IAAI,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAE1G,KAAK,EAAE,CAAC;YACN,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;YACtG,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,EAAE,YAAY,CAAC;YAC/D,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE;gBAChB,OAAO,CAAC,KAAK,CAAC,kBAAkB,IAAI,MAAM,OAAO,EAAE,CAAC,CAAC;gBACrD,IAAI,CAAC;oBACH,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;gBAC/C,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,OAAO,CAAC,KAAK,CAAC,0CAA0C,IAAI,IAAI,EAAE,GAAG,CAAC,CAAC;gBACzE,CAAC;YACH,CAAC;SACF,CAAC,CAAC;QAEH,OAAO;YACL,IAAI;YACJ,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,GAAG,EAAE;gBACX,IAAI,CAAC;oBACH,OAAO,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;gBACxC,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,SAAS,CAAC;gBACnB,CAAC;YACH,CAAC;YACD,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE;gBACb,IAAI,IAAI,EAAE,QAAQ,KAAK,KAAK,EAAE,CAAC;oBAC7B,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;oBAC/B,OAAO;gBACT,CAAC;gBACD,uEAAuE;gBACvE,4EAA4E;gBAC5E,IAAI,CAAC;oBACH,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;oBAClC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;gBACvC,CAAC;gBAAC,MAAM,CAAC;oBACP,oEAAoE;gBACtE,CAAC;gBACD,gFAAgF;gBAChF,uFAAuF;gBACvF,uEAAuE;gBACvE,UAAU,CAAC,GAAG,EAAE;oBACd,IAAI,CAAC;wBACH,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;oBACjC,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,OAAO,CAAC,KAAK,CAAC,0CAA0C,IAAI,IAAI,EAAE,GAAG,CAAC,CAAC;oBACzE,CAAC;gBACH,CAAC,EAAE,QAAQ,CAAC,CAAC;YACf,CAAC;YACD,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC;YACvD,SAAS,EAAE,GAAG,EAAE;gBACd,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;YACxC,CAAC;YACD,MAAM,EAAE,GAAG,EAAE;gBACX,MAAM,IAAI,KAAK,CAAC,sCAAsC,IAAI,wBAAwB,CAAC,CAAC;YACtF,CAAC;SACF,CAAC;IACJ,CAAC;CACF;AAED;+EAC+E;AAC/E,MAAM,CAAC,MAAM,mBAAmB,GAAoB;IAClD,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,MAAM;IACZ,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE;IACjC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,WAAW,EAAE;CAChC,CAAC;AAEF,QAAQ,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;AAEvC;;;;qBAIqB;AACrB,MAAM,CAAC,MAAM,oBAAoB,GAAmB;IAClD,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,MAAM;IACZ,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE;IACjC,IAAI,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC;IACnF,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC;IACxC,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;CAC3C,CAAC;AAEF,QAAQ,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cotal-ai/cmux",
3
3
  "description": "Cotal cmux integration: a cmux Runtime and TerminalLayout provider for spawning agents into cmux tabs.",
4
- "version": "0.77.0",
4
+ "version": "0.78.0",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
7
7
  "type": "git",
@@ -21,7 +21,7 @@
21
21
  "@cotal-ai/core": "*"
22
22
  },
23
23
  "devDependencies": {
24
- "@cotal-ai/core": "0.77.0",
24
+ "@cotal-ai/core": "0.78.0",
25
25
  "tsx": "^4.22.4"
26
26
  },
27
27
  "files": [