oh-my-codex 0.4.2 → 0.4.3
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/dist/cli/__tests__/index.test.js +11 -0
- package/dist/cli/__tests__/index.test.js.map +1 -1
- package/dist/cli/__tests__/star-prompt.test.d.ts +2 -0
- package/dist/cli/__tests__/star-prompt.test.d.ts.map +1 -0
- package/dist/cli/__tests__/star-prompt.test.js +82 -0
- package/dist/cli/__tests__/star-prompt.test.js.map +1 -0
- package/dist/cli/__tests__/update.test.d.ts +2 -0
- package/dist/cli/__tests__/update.test.d.ts.map +1 -0
- package/dist/cli/__tests__/update.test.js +66 -0
- package/dist/cli/__tests__/update.test.js.map +1 -0
- package/dist/cli/index.d.ts +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +13 -2
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/star-prompt.d.ts +11 -0
- package/dist/cli/star-prompt.d.ts.map +1 -0
- package/dist/cli/star-prompt.js +74 -0
- package/dist/cli/star-prompt.js.map +1 -0
- package/dist/cli/update.d.ts.map +1 -1
- package/dist/cli/update.js +7 -29
- package/dist/cli/update.js.map +1 -1
- package/dist/notifications/__tests__/tmux-detector.test.js +69 -1
- package/dist/notifications/__tests__/tmux-detector.test.js.map +1 -1
- package/dist/notifications/reply-listener.d.ts +1 -1
- package/dist/notifications/reply-listener.js +1 -1
- package/dist/notifications/tmux-detector.d.ts +16 -0
- package/dist/notifications/tmux-detector.d.ts.map +1 -1
- package/dist/notifications/tmux-detector.js +37 -22
- package/dist/notifications/tmux-detector.js.map +1 -1
- package/dist/team/__tests__/tmux-session.test.js +47 -1
- package/dist/team/__tests__/tmux-session.test.js.map +1 -1
- package/dist/team/runtime.d.ts.map +1 -1
- package/dist/team/runtime.js +14 -2
- package/dist/team/runtime.js.map +1 -1
- package/dist/team/state.d.ts +4 -0
- package/dist/team/state.d.ts.map +1 -1
- package/dist/team/state.js.map +1 -1
- package/dist/team/tmux-session.d.ts +6 -2
- package/dist/team/tmux-session.d.ts.map +1 -1
- package/dist/team/tmux-session.js +20 -5
- package/dist/team/tmux-session.js.map +1 -1
- package/package.json +1 -1
package/dist/cli/update.js
CHANGED
|
@@ -8,7 +8,6 @@ import { join } from 'path';
|
|
|
8
8
|
import { spawnSync } from 'child_process';
|
|
9
9
|
import { createInterface } from 'readline/promises';
|
|
10
10
|
import { getPackageRoot } from '../utils/package.js';
|
|
11
|
-
import { notify } from '../notifications/notifier.js';
|
|
12
11
|
const PACKAGE_NAME = 'oh-my-codex';
|
|
13
12
|
const CHECK_INTERVAL_MS = 12 * 60 * 60 * 1000; // 12h
|
|
14
13
|
function parseSemver(version) {
|
|
@@ -114,7 +113,8 @@ async function askYesNo(question) {
|
|
|
114
113
|
export async function maybeCheckAndPromptUpdate(cwd) {
|
|
115
114
|
if (process.env.OMX_AUTO_UPDATE === '0')
|
|
116
115
|
return;
|
|
117
|
-
|
|
116
|
+
if (!process.stdin.isTTY || !process.stdout.isTTY)
|
|
117
|
+
return;
|
|
118
118
|
const now = Date.now();
|
|
119
119
|
const state = await readUpdateState(cwd);
|
|
120
120
|
if (!shouldCheckForUpdates(now, state))
|
|
@@ -129,38 +129,16 @@ export async function maybeCheckAndPromptUpdate(cwd) {
|
|
|
129
129
|
});
|
|
130
130
|
if (!current || !latest || !isNewerVersion(current, latest))
|
|
131
131
|
return;
|
|
132
|
-
|
|
133
|
-
if (
|
|
134
|
-
|
|
135
|
-
if (!approved) {
|
|
136
|
-
await notify({
|
|
137
|
-
title: 'OMX Update Available',
|
|
138
|
-
message: `New version available: v${current} -> v${latest}.`,
|
|
139
|
-
type: 'info',
|
|
140
|
-
projectPath: cwd,
|
|
141
|
-
});
|
|
142
|
-
return;
|
|
143
|
-
}
|
|
144
|
-
}
|
|
132
|
+
const approved = await askYesNo(`[omx] Update available: v${current} → v${latest}. Update now? [Y/n] `);
|
|
133
|
+
if (!approved)
|
|
134
|
+
return;
|
|
145
135
|
console.log(`[omx] Running: npm install -g ${PACKAGE_NAME}@latest`);
|
|
146
136
|
const result = runGlobalUpdate();
|
|
147
137
|
if (result.ok) {
|
|
148
|
-
console.log(`[omx]
|
|
149
|
-
await notify({
|
|
150
|
-
title: 'OMX Updated',
|
|
151
|
-
message: `Updated ${PACKAGE_NAME} from v${current} to v${latest}. Restart sessions to use new code.`,
|
|
152
|
-
type: 'success',
|
|
153
|
-
projectPath: cwd,
|
|
154
|
-
});
|
|
138
|
+
console.log(`[omx] Updated to v${latest}. Restart to use new code.`);
|
|
155
139
|
}
|
|
156
140
|
else {
|
|
157
|
-
console.log('[omx]
|
|
158
|
-
await notify({
|
|
159
|
-
title: 'OMX Update Available',
|
|
160
|
-
message: `v${current} -> v${latest}. Auto-update failed: ${result.stderr || 'unknown error'}`,
|
|
161
|
-
type: 'warning',
|
|
162
|
-
projectPath: cwd,
|
|
163
|
-
});
|
|
141
|
+
console.log('[omx] Update failed. Run manually: npm install -g oh-my-codex@latest');
|
|
164
142
|
}
|
|
165
143
|
}
|
|
166
144
|
//# sourceMappingURL=update.js.map
|
package/dist/cli/update.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/cli/update.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/cli/update.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { describe, it } from 'node:test';
|
|
2
2
|
import assert from 'node:assert/strict';
|
|
3
|
-
import { analyzePaneContent } from '../tmux-detector.js';
|
|
3
|
+
import { analyzePaneContent, buildSendPaneArgvs } from '../tmux-detector.js';
|
|
4
4
|
describe('analyzePaneContent', () => {
|
|
5
5
|
it('returns zero confidence for empty content', () => {
|
|
6
6
|
const result = analyzePaneContent('');
|
|
@@ -74,4 +74,72 @@ describe('analyzePaneContent', () => {
|
|
|
74
74
|
assert.ok(result.confidence > 0);
|
|
75
75
|
});
|
|
76
76
|
});
|
|
77
|
+
// issue #107: Enter/C-m must be sent in an isolated, separate send-keys call —
|
|
78
|
+
// never bundled with text — to prevent Shift+Enter injection.
|
|
79
|
+
describe('buildSendPaneArgvs', () => {
|
|
80
|
+
it('sends text with -l (literal) flag so key names in text are not interpreted', () => {
|
|
81
|
+
const argvs = buildSendPaneArgvs('%3', 'hello world', false);
|
|
82
|
+
const textArgv = argvs[0];
|
|
83
|
+
assert.ok(textArgv.includes('-l'), 'text argv must include -l flag');
|
|
84
|
+
assert.ok(textArgv.includes('hello world'), 'text argv must include the text');
|
|
85
|
+
});
|
|
86
|
+
it('uses -- separator so text starting with - is not parsed as a flag', () => {
|
|
87
|
+
const argvs = buildSendPaneArgvs('%3', '-flag-like', false);
|
|
88
|
+
const textArgv = argvs[0];
|
|
89
|
+
const sepIdx = textArgv.indexOf('--');
|
|
90
|
+
assert.ok(sepIdx !== -1, '-- separator must be present');
|
|
91
|
+
assert.equal(textArgv[sepIdx + 1], '-flag-like', 'text must come immediately after --');
|
|
92
|
+
});
|
|
93
|
+
it('sends Enter as an isolated separate argv — never bundled with text', () => {
|
|
94
|
+
const argvs = buildSendPaneArgvs('%3', 'hello', true);
|
|
95
|
+
assert.ok(argvs.length >= 2, 'must have at least text argv + one C-m argv');
|
|
96
|
+
// The text argv must NOT contain C-m
|
|
97
|
+
const textArgv = argvs[0];
|
|
98
|
+
assert.ok(!textArgv.includes('C-m'), 'text argv must not contain C-m');
|
|
99
|
+
// Submit argvs must NOT use -l (they are key names, not literal text)
|
|
100
|
+
for (const submitArgv of argvs.slice(1)) {
|
|
101
|
+
assert.ok(!submitArgv.includes('-l'), 'C-m argv must not use -l flag');
|
|
102
|
+
assert.ok(submitArgv.includes('C-m'), 'C-m argv must include C-m');
|
|
103
|
+
}
|
|
104
|
+
});
|
|
105
|
+
it('sends C-m twice when pressEnter is true', () => {
|
|
106
|
+
const argvs = buildSendPaneArgvs('%3', 'hello', true);
|
|
107
|
+
const submitArgvs = argvs.slice(1);
|
|
108
|
+
assert.equal(submitArgvs.length, 2, 'must send C-m exactly twice');
|
|
109
|
+
for (const argv of submitArgvs) {
|
|
110
|
+
assert.equal(argv[argv.length - 1], 'C-m');
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
it('omits C-m entirely when pressEnter is false', () => {
|
|
114
|
+
const argvs = buildSendPaneArgvs('%3', 'hello', false);
|
|
115
|
+
assert.equal(argvs.length, 1, 'must have only the text argv when pressEnter=false');
|
|
116
|
+
assert.ok(!argvs[0].includes('C-m'), 'no C-m when pressEnter=false');
|
|
117
|
+
});
|
|
118
|
+
it('strips newlines from text to prevent literal Enter injection via -l', () => {
|
|
119
|
+
const argvs = buildSendPaneArgvs('%3', 'line1\nline2\r\nline3', false);
|
|
120
|
+
const textArgv = argvs[0];
|
|
121
|
+
const text = textArgv[textArgv.length - 1];
|
|
122
|
+
assert.ok(!text.includes('\n'), 'newline must be stripped');
|
|
123
|
+
assert.ok(!text.includes('\r'), 'carriage return must be stripped');
|
|
124
|
+
assert.ok(text.includes('line1'), 'text content must be preserved');
|
|
125
|
+
});
|
|
126
|
+
it('targets the correct pane in every argv', () => {
|
|
127
|
+
const argvs = buildSendPaneArgvs('%42', 'hello', true);
|
|
128
|
+
for (const argv of argvs) {
|
|
129
|
+
const tIdx = argv.indexOf('-t');
|
|
130
|
+
assert.ok(tIdx !== -1, 'every argv must have -t flag');
|
|
131
|
+
assert.equal(argv[tIdx + 1], '%42', 'pane target must be %42');
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
it('matches the two-step pattern of buildSendKeysArgv from tmux-hook-engine', () => {
|
|
135
|
+
// Regression guard: the structure must be [typeArgv, submitArgv, submitArgv]
|
|
136
|
+
// consistent with the established pattern across the codebase.
|
|
137
|
+
const argvs = buildSendPaneArgvs('%5', 'continue', true);
|
|
138
|
+
assert.deepEqual(argvs, [
|
|
139
|
+
['send-keys', '-t', '%5', '-l', '--', 'continue'],
|
|
140
|
+
['send-keys', '-t', '%5', 'C-m'],
|
|
141
|
+
['send-keys', '-t', '%5', 'C-m'],
|
|
142
|
+
]);
|
|
143
|
+
});
|
|
144
|
+
});
|
|
77
145
|
//# sourceMappingURL=tmux-detector.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tmux-detector.test.js","sourceRoot":"","sources":["../../../src/notifications/__tests__/tmux-detector.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"tmux-detector.test.js","sourceRoot":"","sources":["../../../src/notifications/__tests__/tmux-detector.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAG7E,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,MAAM,GAAG,kBAAkB,CAAC,EAAE,CAAC,CAAC;QACtC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACrC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;QAChD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACtC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACjC,MAAM,MAAM,GAAG,kBAAkB,CAAC,wBAAwB,CAAC,CAAC;QAC5D,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACpC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,IAAI,GAAG,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uBAAuB,EAAE,GAAG,EAAE;QAC/B,MAAM,MAAM,GAAG,kBAAkB,CAAC,qBAAqB,CAAC,CAAC;QACzD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,MAAM,GAAG,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;QACtD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;QAClC,MAAM,MAAM,GAAG,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;QACrD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAC7B,MAAM,MAAM,GAAG,kBAAkB,CAAC,eAAe,CAAC,CAAC;QACnD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,MAAM,MAAM,GAAG,kBAAkB,CAAC,4BAA4B,CAAC,CAAC;QAChE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,MAAM,GAAG,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;QACtD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACjC,MAAM,MAAM,GAAG,kBAAkB,CAAC,4BAA4B,CAAC,CAAC;QAChE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,MAAM,GAAG,kBAAkB,CAAC,2BAA2B,CAAC,CAAC;QAC/D,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAC9B,MAAM,MAAM,GAAG,kBAAkB,CAAC,cAAc,CAAC,CAAC;QAClD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,MAAM,GAAG,kBAAkB,CAAC,6BAA6B,CAAC,CAAC;QACjE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,IAAI,GAAG,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,MAAM,GAAG,kBAAkB,CAAC,sBAAsB,CAAC,CAAC;QAC1D,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,IAAI,GAAG,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACnE,MAAM,MAAM,GAAG,kBAAkB,CAAC,+BAA+B,CAAC,CAAC;QACnE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACpC,wDAAwD;QACxD,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,IAAI,GAAG,EAAE,mCAAmC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;IAC9F,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;QAChC,MAAM,MAAM,GAAG,kBAAkB,CAAC,kCAAkC,CAAC,CAAC;QACtE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,IAAI,GAAG,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,MAAM,GAAG,kBAAkB,CAAC,uBAAuB,CAAC,CAAC;QAC3D,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACrC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,+EAA+E;AAC/E,8DAA8D;AAC9D,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,4EAA4E,EAAE,GAAG,EAAE;QACpF,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;QAC7D,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1B,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,gCAAgC,CAAC,CAAC;QACrE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,iCAAiC,CAAC,CAAC;IACjF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mEAAmE,EAAE,GAAG,EAAE;QAC3E,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;QAC5D,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1B,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,CAAC,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,8BAA8B,CAAC,CAAC;QACzD,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,YAAY,EAAE,qCAAqC,CAAC,CAAC;IAC1F,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oEAAoE,EAAE,GAAG,EAAE;QAC5E,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QACtD,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,6CAA6C,CAAC,CAAC;QAE5E,qCAAqC;QACrC,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1B,MAAM,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,gCAAgC,CAAC,CAAC;QAEvE,sEAAsE;QACtE,KAAK,MAAM,UAAU,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACxC,MAAM,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,+BAA+B,CAAC,CAAC;YACvE,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,2BAA2B,CAAC,CAAC;QACrE,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QACtD,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACnC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,6BAA6B,CAAC,CAAC;QACnE,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;YAC/B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACvD,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,oDAAoD,CAAC,CAAC;QACpF,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,8BAA8B,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qEAAqE,EAAE,GAAG,EAAE;QAC7E,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,EAAE,uBAAuB,EAAE,KAAK,CAAC,CAAC;QACvE,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1B,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC3C,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,0BAA0B,CAAC,CAAC;QAC5D,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,kCAAkC,CAAC,CAAC;QACpE,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,gCAAgC,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QACvD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAChC,MAAM,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,8BAA8B,CAAC,CAAC;YACvD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,yBAAyB,CAAC,CAAC;QACjE,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yEAAyE,EAAE,GAAG,EAAE;QACjF,6EAA6E;QAC7E,+DAA+D;QAC/D,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;QACzD,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE;YACtB,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC;YACjD,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC;YAChC,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC;SACjC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* Security considerations:
|
|
8
8
|
* - State/PID/log files use restrictive permissions (0600)
|
|
9
9
|
* - Bot tokens stored in state file, NOT in environment variables
|
|
10
|
-
* - Two-layer input sanitization (sanitizeReplyInput +
|
|
10
|
+
* - Two-layer input sanitization (sanitizeReplyInput + newline stripping in buildSendPaneArgvs)
|
|
11
11
|
* - Pane verification via analyzePaneContent before every injection
|
|
12
12
|
* - Authorization: only configured user IDs (Discord) / chat ID (Telegram) can inject
|
|
13
13
|
* - Rate limiting to prevent spam/abuse
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* Security considerations:
|
|
8
8
|
* - State/PID/log files use restrictive permissions (0600)
|
|
9
9
|
* - Bot tokens stored in state file, NOT in environment variables
|
|
10
|
-
* - Two-layer input sanitization (sanitizeReplyInput +
|
|
10
|
+
* - Two-layer input sanitization (sanitizeReplyInput + newline stripping in buildSendPaneArgvs)
|
|
11
11
|
* - Pane verification via analyzePaneContent before every injection
|
|
12
12
|
* - Authorization: only configured user IDs (Discord) / chat ID (Telegram) can inject
|
|
13
13
|
* - Rate limiting to prevent spam/abuse
|
|
@@ -13,5 +13,21 @@ export interface PaneAnalysis {
|
|
|
13
13
|
confidence: number;
|
|
14
14
|
}
|
|
15
15
|
export declare function analyzePaneContent(content: string): PaneAnalysis;
|
|
16
|
+
/**
|
|
17
|
+
* Builds the ordered list of tmux send-keys argv arrays needed to type text
|
|
18
|
+
* into a pane and optionally submit it.
|
|
19
|
+
*
|
|
20
|
+
* Enter (C-m) is always sent in its own dedicated send-keys call, never
|
|
21
|
+
* bundled with the text payload. This prevents Shift+Enter injection: without
|
|
22
|
+
* this isolation a C-m (or any other tmux key name) embedded in the text
|
|
23
|
+
* could be interpreted as a key press by tmux when sent without -l (issue #107).
|
|
24
|
+
*
|
|
25
|
+
* @param paneId tmux pane identifier, e.g. "%3"
|
|
26
|
+
* @param text text to type; embedded newlines are replaced with spaces
|
|
27
|
+
* to prevent them from acting as Enter when sent literally
|
|
28
|
+
* @param pressEnter when true, appends two isolated C-m submit calls
|
|
29
|
+
* @returns array of argv arrays, one per send-keys invocation
|
|
30
|
+
*/
|
|
31
|
+
export declare function buildSendPaneArgvs(paneId: string, text: string, pressEnter?: boolean): string[][];
|
|
16
32
|
export declare function sendToPane(paneId: string, text: string, pressEnter?: boolean): boolean;
|
|
17
33
|
//# sourceMappingURL=tmux-detector.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tmux-detector.d.ts","sourceRoot":"","sources":["../../src/notifications/tmux-detector.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,wBAAgB,eAAe,IAAI,OAAO,CAOzC;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,GAAG,MAAM,CAU7E;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,OAAO,CAAC;IAClB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CA0BhE;
|
|
1
|
+
{"version":3,"file":"tmux-detector.d.ts","sourceRoot":"","sources":["../../src/notifications/tmux-detector.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,wBAAgB,eAAe,IAAI,OAAO,CAOzC;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,GAAG,MAAM,CAU7E;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,OAAO,CAAC;IAClB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CA0BhE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,UAAU,GAAE,OAAc,GACzB,MAAM,EAAE,EAAE,CAoBZ;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,GAAE,OAAc,GAAG,OAAO,CAU5F"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Provides functions to capture pane content, analyze whether a pane is running
|
|
5
5
|
* Codex CLI, and inject text into panes. Used by the reply-listener daemon.
|
|
6
6
|
*/
|
|
7
|
-
import { execSync } from 'child_process';
|
|
7
|
+
import { execSync, spawnSync } from 'child_process';
|
|
8
8
|
export function isTmuxAvailable() {
|
|
9
9
|
try {
|
|
10
10
|
execSync('which tmux', { stdio: ['pipe', 'pipe', 'pipe'], timeout: 3000 });
|
|
@@ -50,33 +50,48 @@ export function analyzePaneContent(content) {
|
|
|
50
50
|
return { hasCodex, hasRateLimitMessage, isBlocked, confidence: Math.min(confidence, 1) };
|
|
51
51
|
}
|
|
52
52
|
/**
|
|
53
|
-
*
|
|
53
|
+
* Builds the ordered list of tmux send-keys argv arrays needed to type text
|
|
54
|
+
* into a pane and optionally submit it.
|
|
55
|
+
*
|
|
56
|
+
* Enter (C-m) is always sent in its own dedicated send-keys call, never
|
|
57
|
+
* bundled with the text payload. This prevents Shift+Enter injection: without
|
|
58
|
+
* this isolation a C-m (or any other tmux key name) embedded in the text
|
|
59
|
+
* could be interpreted as a key press by tmux when sent without -l (issue #107).
|
|
60
|
+
*
|
|
61
|
+
* @param paneId tmux pane identifier, e.g. "%3"
|
|
62
|
+
* @param text text to type; embedded newlines are replaced with spaces
|
|
63
|
+
* to prevent them from acting as Enter when sent literally
|
|
64
|
+
* @param pressEnter when true, appends two isolated C-m submit calls
|
|
65
|
+
* @returns array of argv arrays, one per send-keys invocation
|
|
54
66
|
*/
|
|
55
|
-
function
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
67
|
+
export function buildSendPaneArgvs(paneId, text, pressEnter = true) {
|
|
68
|
+
// Replace newlines with spaces so they cannot act as Enter when the text
|
|
69
|
+
// is delivered byte-for-byte via -l (literal) mode.
|
|
70
|
+
const safe = text.replace(/\r?\n/g, ' ');
|
|
71
|
+
// Use -l (literal) so tmux key names inside the text are never interpreted
|
|
72
|
+
// as key presses. Use -- to prevent text starting with '-' from being
|
|
73
|
+
// parsed as tmux flags.
|
|
74
|
+
const argvs = [['send-keys', '-t', paneId, '-l', '--', safe]];
|
|
75
|
+
if (pressEnter) {
|
|
76
|
+
// Codex CLI uses raw input mode where 'Enter' key name is unreliable;
|
|
77
|
+
// send C-m (carriage return) twice for reliable prompt submission.
|
|
78
|
+
// Each C-m is an isolated send-keys call — never bundled with the text
|
|
79
|
+
// above (issue #107).
|
|
80
|
+
argvs.push(['send-keys', '-t', paneId, 'C-m']);
|
|
81
|
+
argvs.push(['send-keys', '-t', paneId, 'C-m']);
|
|
82
|
+
}
|
|
83
|
+
return argvs;
|
|
62
84
|
}
|
|
63
85
|
export function sendToPane(paneId, text, pressEnter = true) {
|
|
64
|
-
|
|
65
|
-
const
|
|
66
|
-
execSync(`tmux send-keys -t ${paneId} "${sanitized}"`, {
|
|
86
|
+
for (const argv of buildSendPaneArgvs(paneId, text, pressEnter)) {
|
|
87
|
+
const result = spawnSync('tmux', argv, {
|
|
67
88
|
timeout: 3000,
|
|
68
89
|
stdio: ['pipe', 'pipe', 'pipe'],
|
|
90
|
+
encoding: 'utf-8',
|
|
69
91
|
});
|
|
70
|
-
if (
|
|
71
|
-
|
|
72
|
-
// send 'C-m' (carriage return) twice for reliable prompt submission.
|
|
73
|
-
execSync(`tmux send-keys -t ${paneId} C-m`, { timeout: 3000, stdio: ['pipe', 'pipe', 'pipe'] });
|
|
74
|
-
execSync(`tmux send-keys -t ${paneId} C-m`, { timeout: 3000, stdio: ['pipe', 'pipe', 'pipe'] });
|
|
75
|
-
}
|
|
76
|
-
return true;
|
|
77
|
-
}
|
|
78
|
-
catch {
|
|
79
|
-
return false;
|
|
92
|
+
if (result.error || result.status !== 0)
|
|
93
|
+
return false;
|
|
80
94
|
}
|
|
95
|
+
return true;
|
|
81
96
|
}
|
|
82
97
|
//# sourceMappingURL=tmux-detector.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tmux-detector.js","sourceRoot":"","sources":["../../src/notifications/tmux-detector.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"tmux-detector.js","sourceRoot":"","sources":["../../src/notifications/tmux-detector.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { describe, it } from 'node:test';
|
|
2
2
|
import assert from 'node:assert/strict';
|
|
3
|
-
import { buildWorkerStartupCommand, createTeamSession, enableMouseScrolling, isTmuxAvailable, isWorkerAlive, listTeamSessions, sanitizeTeamName, sendToWorker, waitForWorkerReady, } from '../tmux-session.js';
|
|
3
|
+
import { buildWorkerStartupCommand, createTeamSession, enableMouseScrolling, isTmuxAvailable, isWorkerAlive, killWorker, killWorkerByPaneId, listTeamSessions, sanitizeTeamName, sendToWorker, waitForWorkerReady, } from '../tmux-session.js';
|
|
4
4
|
function withEmptyPath(fn) {
|
|
5
5
|
const prev = process.env.PATH;
|
|
6
6
|
process.env.PATH = '';
|
|
@@ -267,4 +267,50 @@ describe('enableMouseScrolling', () => {
|
|
|
267
267
|
});
|
|
268
268
|
});
|
|
269
269
|
});
|
|
270
|
+
describe('killWorkerByPaneId leader pane guard', () => {
|
|
271
|
+
it('skips kill when workerPaneId matches leaderPaneId (guard fires before tmux is called)', () => {
|
|
272
|
+
// With empty PATH tmux is unavailable, so any actual kill-pane call would fail.
|
|
273
|
+
// When the guard fires (paneId === leaderPaneId) the function returns early
|
|
274
|
+
// without invoking tmux, so no error is thrown regardless of PATH.
|
|
275
|
+
withEmptyPath(() => {
|
|
276
|
+
assert.doesNotThrow(() => killWorkerByPaneId('%5', '%5'));
|
|
277
|
+
});
|
|
278
|
+
});
|
|
279
|
+
it('does not skip kill when pane ids differ (falls through to tmux attempt)', () => {
|
|
280
|
+
// Different IDs: guard does not fire. tmux is unavailable but kill errors are swallowed internally.
|
|
281
|
+
withEmptyPath(() => {
|
|
282
|
+
assert.doesNotThrow(() => killWorkerByPaneId('%5', '%6'));
|
|
283
|
+
});
|
|
284
|
+
});
|
|
285
|
+
it('skips kill for non-percent pane id without reaching tmux', () => {
|
|
286
|
+
withEmptyPath(() => {
|
|
287
|
+
assert.doesNotThrow(() => killWorkerByPaneId('invalid', '%5'));
|
|
288
|
+
});
|
|
289
|
+
});
|
|
290
|
+
it('skips kill when no leaderPaneId provided and pane id is valid percent id', () => {
|
|
291
|
+
// Without leaderPaneId the guard is not active; tmux call fails gracefully.
|
|
292
|
+
withEmptyPath(() => {
|
|
293
|
+
assert.doesNotThrow(() => killWorkerByPaneId('%5'));
|
|
294
|
+
});
|
|
295
|
+
});
|
|
296
|
+
});
|
|
297
|
+
describe('killWorker leader pane guard', () => {
|
|
298
|
+
it('returns immediately when workerPaneId matches leaderPaneId', () => {
|
|
299
|
+
// Guard fires before any tmux send-keys call, so no error even with empty PATH.
|
|
300
|
+
withEmptyPath(() => {
|
|
301
|
+
assert.doesNotThrow(() => killWorker('omx-team-x:0', 1, '%5', '%5'));
|
|
302
|
+
});
|
|
303
|
+
});
|
|
304
|
+
it('proceeds (gracefully) when pane ids differ', () => {
|
|
305
|
+
// Guard does not fire; tmux calls fail gracefully with empty PATH.
|
|
306
|
+
withEmptyPath(() => {
|
|
307
|
+
assert.doesNotThrow(() => killWorker('omx-team-x:0', 1, '%5', '%6'));
|
|
308
|
+
});
|
|
309
|
+
});
|
|
310
|
+
it('proceeds when leaderPaneId is not provided', () => {
|
|
311
|
+
withEmptyPath(() => {
|
|
312
|
+
assert.doesNotThrow(() => killWorker('omx-team-x:0', 1, '%5'));
|
|
313
|
+
});
|
|
314
|
+
});
|
|
315
|
+
});
|
|
270
316
|
//# sourceMappingURL=tmux-session.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tmux-session.test.js","sourceRoot":"","sources":["../../../src/team/__tests__/tmux-session.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EACL,yBAAyB,EACzB,iBAAiB,EACjB,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAE5B,SAAS,aAAa,CAAI,EAAW;IACnC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;IAC9B,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC;IACtB,IAAI,CAAC;QACH,OAAO,EAAE,EAAE,CAAC;IACd,CAAC;YAAS,CAAC;QACT,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;;YACjD,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;IAC/B,CAAC;AACH,CAAC;AAED,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE,SAAS,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uBAAuB,EAAE,GAAG,EAAE;QAC/B,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC5B,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACvC,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,MAAM,CAAC,MAAM,CACX,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EACpD,QAAQ,CACT,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;QAClC,MAAM,CAAC,MAAM,CACX,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC,EAAE,yBAAyB,CAAC,EAC9D,SAAS,CACV,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACzC,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,UAAU,CAAC;QAC/B,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC;QAChE,OAAO,CAAC,GAAG,CAAC,gCAAgC,GAAG,GAAG,CAAC;QACnD,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,yBAAyB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAClD,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,iCAAiC,CAAC,CAAC;YACrD,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;YACtC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;YACvC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QAClC,CAAC;gBAAS,CAAC;YACT,IAAI,OAAO,SAAS,KAAK,QAAQ;gBAAE,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,SAAS,CAAC;;gBAC5D,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;YAC9B,IAAI,OAAO,UAAU,KAAK,QAAQ;gBAAE,OAAO,CAAC,GAAG,CAAC,gCAAgC,GAAG,UAAU,CAAC;;gBACzF,OAAO,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC;QAC3D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,eAAe,CAAC;QACpC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC;QAChE,OAAO,CAAC,GAAG,CAAC,gCAAgC,GAAG,GAAG,CAAC;QACnD,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,yBAAyB,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;YACxE,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,oBAAoB,CAAC,CAAC;YACxC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;YAChC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YAC7B,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC7B,CAAC;gBAAS,CAAC;YACT,IAAI,OAAO,SAAS,KAAK,QAAQ;gBAAE,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,SAAS,CAAC;;gBAC5D,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;YAC9B,IAAI,OAAO,UAAU,KAAK,QAAQ;gBAAE,OAAO,CAAC,GAAG,CAAC,gCAAgC,GAAG,UAAU,CAAC;;gBACzF,OAAO,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC;QAC3D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;QAC9B,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,WAAW,CAAC;QAChC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC;QAChE,OAAO,CAAC,GAAG,CAAC,gCAAgC,GAAG,GAAG,CAAC;QACnD,OAAO,CAAC,IAAI,GAAG,CAAC,GAAG,QAAQ,EAAE,4CAA4C,CAAC,CAAC;QAC3E,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,yBAAyB,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,4CAA4C,CAAC,CAAC,CAAC;YAClG,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,6CAA6C,CAAC,IAAI,EAAE,CAAC;YAC/E,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAClC,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC;YACxB,IAAI,OAAO,SAAS,KAAK,QAAQ;gBAAE,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,SAAS,CAAC;;gBAC5D,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;YAC9B,IAAI,OAAO,UAAU,KAAK,QAAQ;gBAAE,OAAO,CAAC,GAAG,CAAC,gCAAgC,GAAG,UAAU,CAAC;;gBACzF,OAAO,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC;QAC3D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACxD,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;QAC9B,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,WAAW,CAAC;QAChC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC;QAChE,OAAO,CAAC,GAAG,CAAC,gCAAgC,GAAG,GAAG,CAAC;QACnD,OAAO,CAAC,IAAI,GAAG,CAAC,GAAG,QAAQ,EAAE,UAAU,CAAC,CAAC;QACzC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,yBAAyB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAClD,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,6CAA6C,CAAC,IAAI,EAAE,CAAC;YAC/E,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAClC,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC;YACxB,IAAI,OAAO,SAAS,KAAK,QAAQ;gBAAE,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,SAAS,CAAC;;gBAC5D,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;YAC9B,IAAI,OAAO,UAAU,KAAK,QAAQ;gBAAE,OAAO,CAAC,GAAG,CAAC,gCAAgC,GAAG,UAAU,CAAC;;gBACzF,OAAO,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC;QAC3D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,WAAW,CAAC;QAChC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC;QAChE,OAAO,CAAC,GAAG,CAAC,gCAAgC,GAAG,GAAG,CAAC;QACnD,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,yBAAyB,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,gCAAgC,CAAC,CAAC,CAAC;YAC5F,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;YAChC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YAC1B,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,oCAAoC,CAAC,CAAC;QAC1D,CAAC;gBAAS,CAAC;YACT,IAAI,OAAO,SAAS,KAAK,QAAQ;gBAAE,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,SAAS,CAAC;;gBAC5D,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;YAC9B,IAAI,OAAO,UAAU,KAAK,QAAQ;gBAAE,OAAO,CAAC,GAAG,CAAC,gCAAgC,GAAG,UAAU,CAAC;;gBACzF,OAAO,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC;QAC3D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,WAAW,CAAC;QAChC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC;QAChE,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC;QAC1D,OAAO,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC,kBAAkB;QACvE,OAAO,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC;QAC/C,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,yBAAyB,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,cAAc,CAAC,CAAC;YACtE,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YAC1B,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,0BAA0B,CAAC,CAAC;YAC9C,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QAClC,CAAC;gBAAS,CAAC;YACT,IAAI,OAAO,SAAS,KAAK,QAAQ;gBAAE,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,SAAS,CAAC;;gBAC5D,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;YAC9B,IAAI,OAAO,UAAU,KAAK,QAAQ;gBAAE,OAAO,CAAC,GAAG,CAAC,gCAAgC,GAAG,UAAU,CAAC;;gBACzF,OAAO,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC;YACzD,IAAI,OAAO,SAAS,KAAK,QAAQ;gBAAE,OAAO,CAAC,GAAG,CAAC,2BAA2B,GAAG,SAAS,CAAC;;gBAClF,OAAO,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC;QACtD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;QACxE,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,WAAW,CAAC;QAChC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC;QAChE,OAAO,CAAC,GAAG,CAAC,gCAAgC,GAAG,GAAG,CAAC;QACnD,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,yBAAyB,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,cAAc,CAAC,CAAC;YACtE,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,0BAA0B,CAAC,CAAC;QACvD,CAAC;gBAAS,CAAC;YACT,IAAI,OAAO,SAAS,KAAK,QAAQ;gBAAE,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,SAAS,CAAC;;gBAC5D,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;YAC9B,IAAI,OAAO,UAAU,KAAK,QAAQ;gBAAE,OAAO,CAAC,GAAG,CAAC,gCAAgC,GAAG,UAAU,CAAC;;gBACzF,OAAO,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC;QAC3D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8EAA8E,EAAE,GAAG,EAAE;QACtF,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,WAAW,CAAC;QAChC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC;QAChE,OAAO,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC,kBAAkB;QACvE,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,yBAAyB,CACnC,OAAO,EACP,CAAC,EACD,CAAC,IAAI,EAAE,0CAA0C,CAAC,EAClD,cAAc,CACf,CAAC;YACF,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,2BAA2B,CAAC,IAAI,EAAE,CAAC;YAC7D,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAChC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QAClC,CAAC;gBAAS,CAAC;YACT,IAAI,OAAO,SAAS,KAAK,QAAQ;gBAAE,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,SAAS,CAAC;;gBAC5D,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;YAC9B,IAAI,OAAO,UAAU,KAAK,QAAQ;gBAAE,OAAO,CAAC,GAAG,CAAC,gCAAgC,GAAG,UAAU,CAAC;;gBACzF,OAAO,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC;QAC3D,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,mDAAmD,EAAE,GAAG,EAAE;IACjE,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,aAAa,CAAC,GAAG,EAAE;YACjB,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE,EAAE,KAAK,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;QAClC,aAAa,CAAC,GAAG,EAAE;YACjB,MAAM,CAAC,MAAM,CACX,GAAG,EAAE,CAAC,iBAAiB,CAAC,SAAS,EAAE,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,EACpD,wBAAwB,CACzB,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,aAAa,CAAC,GAAG,EAAE;YACjB,MAAM,CAAC,SAAS,CAAC,gBAAgB,EAAE,EAAE,EAAE,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,aAAa,CAAC,GAAG,EAAE;YACjB,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAChE,0FAA0F;QAC1F,yFAAyF;QACzF,aAAa,CAAC,GAAG,EAAE;YACjB,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,gFAAgF;QAChF,wEAAwE;QACxE,aAAa,CAAC,GAAG,EAAE;YACjB,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,GAAG,EAAE;QACtE,aAAa,CAAC,GAAG,EAAE;YACjB,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"tmux-session.test.js","sourceRoot":"","sources":["../../../src/team/__tests__/tmux-session.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/team/runtime.ts"],"names":[],"mappings":"AAkBA,OAAO,EAwBL,KAAK,UAAU,EAEf,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,QAAQ,EAGd,MAAM,eAAe,CAAC;AAgBvB,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvE,oDAAoD;AACpD,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,SAAS,GAAG,aAAa,CAAC;IACjC,OAAO,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,OAAO,CAAC;QACf,MAAM,EAAE,YAAY,CAAC;QACrB,SAAS,EAAE,eAAe,GAAG,IAAI,CAAC;QAClC,aAAa,EAAE,MAAM,EAAE,CAAC;QACxB,oBAAoB,EAAE,MAAM,CAAC;KAC9B,CAAC,CAAC;IACH,KAAK,EAAE;QACL,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,QAAQ,EAAE,CAAC;KACnB,CAAC;IACF,gBAAgB,EAAE,OAAO,CAAC;IAC1B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,2CAA2C;AAC3C,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,UAAU,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,UAAU,eAAe;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAID,eAAO,MAAM,iCAAiC,kBAAkB,CAAC;AAqDjE,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAoB5H;AAED;;GAEG;AACH,wBAAsB,SAAS,CAC7B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,KAAK,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,EAC7F,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/team/runtime.ts"],"names":[],"mappings":"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"}
|
package/dist/team/runtime.js
CHANGED
|
@@ -102,6 +102,7 @@ export async function startTeam(teamName, task, agentType, workerCount, tasks, c
|
|
|
102
102
|
let workerInstructionsPath = null;
|
|
103
103
|
let sessionCreated = false;
|
|
104
104
|
const createdWorkerPaneIds = [];
|
|
105
|
+
let createdLeaderPaneId;
|
|
105
106
|
const configuredModel = getModelForMode('team');
|
|
106
107
|
const workerLaunchArgs = resolveWorkerLaunchArgsFromEnv(process.env, agentType, configuredModel);
|
|
107
108
|
const workerReadyTimeoutMs = resolveWorkerReadyTimeoutMs(process.env);
|
|
@@ -126,7 +127,11 @@ export async function startTeam(teamName, task, agentType, workerCount, tasks, c
|
|
|
126
127
|
const createdSession = createTeamSession(sanitized, workerCount, cwd, workerLaunchArgs);
|
|
127
128
|
sessionName = createdSession.name;
|
|
128
129
|
createdWorkerPaneIds.push(...createdSession.workerPaneIds);
|
|
130
|
+
createdLeaderPaneId = createdSession.leaderPaneId;
|
|
129
131
|
config.tmux_session = sessionName;
|
|
132
|
+
config.leader_pane_id = createdSession.leaderPaneId;
|
|
133
|
+
if (createdSession.hudPaneId)
|
|
134
|
+
config.hud_pane_id = createdSession.hudPaneId;
|
|
130
135
|
await saveTeamConfig(config, cwd);
|
|
131
136
|
sessionCreated = true;
|
|
132
137
|
// 7. Wait for all workers to be ready, then bootstrap them
|
|
@@ -193,7 +198,7 @@ export async function startTeam(teamName, task, agentType, workerCount, tasks, c
|
|
|
193
198
|
if (sessionName.includes(':')) {
|
|
194
199
|
for (const paneId of createdWorkerPaneIds) {
|
|
195
200
|
try {
|
|
196
|
-
killWorkerByPaneId(paneId);
|
|
201
|
+
killWorkerByPaneId(paneId, createdLeaderPaneId);
|
|
197
202
|
}
|
|
198
203
|
catch { /* ignore */ }
|
|
199
204
|
}
|
|
@@ -483,10 +488,17 @@ export async function shutdownTeam(teamName, cwd, options = {}) {
|
|
|
483
488
|
// In this case, proceed to force kill panes (next step) rather than failing and leaving state around.
|
|
484
489
|
}
|
|
485
490
|
// 3. Force kill remaining workers
|
|
491
|
+
const leaderPaneId = config.leader_pane_id;
|
|
492
|
+
const hudPaneId = config.hud_pane_id;
|
|
486
493
|
for (const w of config.workers) {
|
|
487
494
|
try {
|
|
495
|
+
// Guard: never kill the leader's own pane or the HUD pane.
|
|
496
|
+
if (leaderPaneId && w.pane_id === leaderPaneId)
|
|
497
|
+
continue;
|
|
498
|
+
if (hudPaneId && w.pane_id === hudPaneId)
|
|
499
|
+
continue;
|
|
488
500
|
if (isWorkerAlive(sessionName, w.index, w.pane_id)) {
|
|
489
|
-
killWorker(sessionName, w.index, w.pane_id);
|
|
501
|
+
killWorker(sessionName, w.index, w.pane_id, leaderPaneId);
|
|
490
502
|
}
|
|
491
503
|
}
|
|
492
504
|
catch { /* ignore */ }
|