@cotal-ai/tmux 0.85.0 → 0.87.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
@@ -28,8 +28,9 @@ import.
28
28
 
29
29
  - **`TerminalLayout` (`tmux`)** — opens/closes tmux windows for host-side orchestration
30
30
  (e.g. `cotal setup`). Detects the current session from `$TMUX`; must be called from inside
31
- a tmux session. Supports multi-pane tabs via `split-window`. Looking up tabs by label throws
32
- when tmux cannot be queried.
31
+ a tmux session. Supports multi-pane tabs via `split-window`; a tab with more than one pane
32
+ needs a `split`, and one without it is refused before any window opens. Looking up tabs by
33
+ label throws when tmux cannot be queried.
33
34
 
34
35
  ## Usage
35
36
 
package/dist/runtime.d.ts CHANGED
@@ -11,6 +11,14 @@ export declare class TmuxRuntime implements Runtime {
11
11
  readonly kind: "tmux";
12
12
  constructor(session: string);
13
13
  spawn(name: string, spec: LaunchSpec, cwd: string): AgentHandle;
14
+ /** The handle for one seat's window. A spawn and an adoption drive the window the same way. */
15
+ private handle;
16
+ /** Take back a window an earlier manager opened, by the reference its handle carried (#4095). Only
17
+ * the exact seat is adopted: the server that opened it still runs, the pane is still in the
18
+ * recorded window, that window is still in this runtime's session, and the pane's process is still
19
+ * running. Anything else throws and nothing is touched, so the caller reaps or retires instead.
20
+ * The name is the reference's window id; the caller knows the seat's name. */
21
+ adopt(reference: RuntimeReference): AgentHandle;
14
22
  /** Close a window an earlier manager opened, by the reference its handle carried, and prove the
15
23
  * window and its pane gone. The window decides, not the pane: a pane that exited can leave its
16
24
  * window open (`remain-on-exit`, or another pane split into it), so a window this runtime's
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,WAAW,EAEhB,KAAK,UAAU,EACf,KAAK,OAAO,EACZ,KAAK,eAAe,EACpB,KAAK,gBAAgB,EAErB,KAAK,cAAc,EACpB,MAAM,gBAAgB,CAAC;AASxB;;;;;;GAMG;AACH,qBAAa,WAAY,YAAW,OAAO;IAG7B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAFpC,QAAQ,CAAC,IAAI,EAAG,MAAM,CAAU;gBAEH,OAAO,EAAE,MAAM;IAE5C,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,GAAG,WAAW;IAkG/D;;;;;;;0FAOsF;IAChF,IAAI,CAAC,SAAS,EAAE,gBAAgB,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,QAAQ,CAAA;KAAE,GAAG;QAAE,OAAO,EAAE,QAAQ,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CA0BhH;AAED;8EAC8E;AAC9E,eAAO,MAAM,mBAAmB,EAAE,eAKjC,CAAC;AA+BF;;;kFAGkF;AAClF,eAAO,MAAM,oBAAoB,EAAE,cAclC,CAAC"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,WAAW,EAEhB,KAAK,UAAU,EACf,KAAK,OAAO,EACZ,KAAK,eAAe,EACpB,KAAK,gBAAgB,EAErB,KAAK,cAAc,EACpB,MAAM,gBAAgB,CAAC;AASxB;;;;;;GAMG;AACH,qBAAa,WAAY,YAAW,OAAO;IAG7B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAFpC,QAAQ,CAAC,IAAI,EAAG,MAAM,CAAU;gBAEH,OAAO,EAAE,MAAM;IAE5C,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,GAAG,WAAW;IAuD/D,+FAA+F;IAC/F,OAAO,CAAC,MAAM;IA+Cd;;;;mFAI+E;IAC/E,KAAK,CAAC,SAAS,EAAE,gBAAgB,GAAG,WAAW;IAc/C;;;;;;;0FAOsF;IAChF,IAAI,CAAC,SAAS,EAAE,gBAAgB,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,QAAQ,CAAA;KAAE,GAAG;QAAE,OAAO,EAAE,QAAQ,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAsBhH;AAYD;8EAC8E;AAC9E,eAAO,MAAM,mBAAmB,EAAE,eAKjC,CAAC;AA8BF;;;kFAGkF;AAClF,eAAO,MAAM,oBAAoB,EAAE,cAclC,CAAC"}
package/dist/runtime.js CHANGED
@@ -70,6 +70,10 @@ export class TmuxRuntime {
70
70
  }
71
71
  },
72
72
  });
73
+ return this.handle(name, windowId, paneId, serverPid);
74
+ }
75
+ /** The handle for one seat's window. A spawn and an adoption drive the window the same way. */
76
+ handle(name, windowId, paneId, serverPid) {
73
77
  return {
74
78
  name,
75
79
  kind: "tmux",
@@ -117,6 +121,25 @@ export class TmuxRuntime {
117
121
  },
118
122
  };
119
123
  }
124
+ /** Take back a window an earlier manager opened, by the reference its handle carried (#4095). Only
125
+ * the exact seat is adopted: the server that opened it still runs, the pane is still in the
126
+ * recorded window, that window is still in this runtime's session, and the pane's process is still
127
+ * running. Anything else throws and nothing is touched, so the caller reaps or retires instead.
128
+ * The name is the reference's window id; the caller knows the seat's name. */
129
+ adopt(reference) {
130
+ const { serverPid, windowId, paneId } = parseReference(reference);
131
+ const running = tmux.serverPid();
132
+ if (running !== serverPid)
133
+ throw new Error(`tmux runtime: pane ${paneId} ran on tmux server ${serverPid}, and ${running === undefined ? "no server" : `server ${running}`} runs now`);
134
+ const paneAt = tmux.paneWindow(paneId);
135
+ if (paneAt !== windowId)
136
+ throw new Error(`tmux runtime: pane ${paneId} is ${paneAt === undefined ? "gone" : `in window ${paneAt}`}, not in window ${windowId}`);
137
+ if (!tmux.windowSessions(windowId).includes(this.session))
138
+ throw new Error(`tmux runtime: window ${windowId} is not in session "${this.session}"`);
139
+ if (tmux.paneState(paneId) !== "running")
140
+ throw new Error(`tmux runtime: pane ${paneId} has exited`);
141
+ return this.handle(windowId, windowId, paneId, serverPid);
142
+ }
120
143
  /** Close a window an earlier manager opened, by the reference its handle carried, and prove the
121
144
  * window and its pane gone. The window decides, not the pane: a pane that exited can leave its
122
145
  * window open (`remain-on-exit`, or another pane split into it), so a window this runtime's
@@ -126,13 +149,7 @@ export class TmuxRuntime {
126
149
  * anything about it. tmux checks the pane and the session again in the command that closes the
127
150
  * window, so a seat whose placement changed after these listings is `absent` too. */
128
151
  async reap(reference) {
129
- if (reference.kind !== "tmux")
130
- throw new Error(`cannot reap runtime kind "${reference.kind}" with tmux`);
131
- // The ids reach a tmux format and command string, so only tmux's own id shapes pass.
132
- const match = /^(\d+)\.(@\d+)\.(%\d+)$/.exec(reference.id);
133
- if (!match)
134
- throw new Error(`tmux runtime: malformed reference ${JSON.stringify(reference.id)}`);
135
- const [, serverPid, windowId, paneId] = match;
152
+ const { serverPid, windowId, paneId } = parseReference(reference);
136
153
  if (tmux.serverPid() !== serverPid) {
137
154
  // Another server answers here. The seat is gone only if the server that ran it is gone too.
138
155
  try {
@@ -160,6 +177,17 @@ export class TmuxRuntime {
160
177
  return { outcome: "reaped", detail: `closed tmux window ${windowId}; pane ${paneId} exited` };
161
178
  }
162
179
  }
180
+ /** The parts of a reference this runtime's handle carried. The ids reach a tmux format and command
181
+ * string, so only tmux's own id shapes pass. */
182
+ function parseReference(reference) {
183
+ if (reference.kind !== "tmux")
184
+ throw new Error(`cannot address runtime kind "${reference.kind}" with tmux`);
185
+ const match = /^(\d+)\.(@\d+)\.(%\d+)$/.exec(reference.id);
186
+ if (!match)
187
+ throw new Error(`tmux runtime: malformed reference ${JSON.stringify(reference.id)}`);
188
+ const [, serverPid, windowId, paneId] = match;
189
+ return { serverPid, windowId, paneId };
190
+ }
163
191
  /** Self-registering runtime provider — `import "@cotal-ai/tmux"` makes the manager's
164
192
  * `tmux` runtime available without the manager depending on this package. */
165
193
  export const tmuxRuntimeProvider = {
@@ -176,14 +204,14 @@ function tmuxLayout(session, label, tab) {
176
204
  const [first, ...rest] = tab.panes;
177
205
  if (!first)
178
206
  throw new Error(`tmux layout "${label}": tab has no panes`);
207
+ if (rest.length > 0 && !tab.split)
208
+ throw new Error(`tmux layout "${label}": ${tab.panes.length} panes need a split (direction + ratio)`);
179
209
  const firstCmd = tmux.privateLaunch(tmux.mergedCommand(first.env ?? {}, first.command, first.args ?? [])).command;
180
210
  // Drive splits/focus off the STABLE window ID returned here — never `session:label` (labels can
181
211
  // collide or be renamed) or pane indexes `.0`/`.1` (shift under `pane-base-index`).
182
212
  const { windowId } = tmux.openWindow(session, label, firstCmd, first.cwd ?? ".", {
183
213
  focus: false,
184
214
  });
185
- if (rest.length > 0 && !tab.split)
186
- throw new Error(`tmux layout "${label}": ${tab.panes.length} panes need a split (direction + ratio)`);
187
215
  rest.forEach((pane) => {
188
216
  const cmd = tmux.privateLaunch(tmux.mergedCommand(pane.env ?? {}, pane.command, pane.args ?? [])).command;
189
217
  tmux.splitWindow(windowId, cmd, pane.cwd ?? ".", tab.split.direction, tab.split.ratio);
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
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/tmux",
3
3
  "description": "Cotal tmux integration: a tmux Runtime and TerminalLayout provider for spawning agents into tmux windows.",
4
- "version": "0.85.0",
4
+ "version": "0.87.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.85.0"
24
+ "@cotal-ai/core": "0.87.0"
25
25
  },
26
26
  "files": [
27
27
  "dist"