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.
Files changed (42) hide show
  1. package/dist/cli/__tests__/index.test.js +11 -0
  2. package/dist/cli/__tests__/index.test.js.map +1 -1
  3. package/dist/cli/__tests__/star-prompt.test.d.ts +2 -0
  4. package/dist/cli/__tests__/star-prompt.test.d.ts.map +1 -0
  5. package/dist/cli/__tests__/star-prompt.test.js +82 -0
  6. package/dist/cli/__tests__/star-prompt.test.js.map +1 -0
  7. package/dist/cli/__tests__/update.test.d.ts +2 -0
  8. package/dist/cli/__tests__/update.test.d.ts.map +1 -0
  9. package/dist/cli/__tests__/update.test.js +66 -0
  10. package/dist/cli/__tests__/update.test.js.map +1 -0
  11. package/dist/cli/index.d.ts +1 -1
  12. package/dist/cli/index.d.ts.map +1 -1
  13. package/dist/cli/index.js +13 -2
  14. package/dist/cli/index.js.map +1 -1
  15. package/dist/cli/star-prompt.d.ts +11 -0
  16. package/dist/cli/star-prompt.d.ts.map +1 -0
  17. package/dist/cli/star-prompt.js +74 -0
  18. package/dist/cli/star-prompt.js.map +1 -0
  19. package/dist/cli/update.d.ts.map +1 -1
  20. package/dist/cli/update.js +7 -29
  21. package/dist/cli/update.js.map +1 -1
  22. package/dist/notifications/__tests__/tmux-detector.test.js +69 -1
  23. package/dist/notifications/__tests__/tmux-detector.test.js.map +1 -1
  24. package/dist/notifications/reply-listener.d.ts +1 -1
  25. package/dist/notifications/reply-listener.js +1 -1
  26. package/dist/notifications/tmux-detector.d.ts +16 -0
  27. package/dist/notifications/tmux-detector.d.ts.map +1 -1
  28. package/dist/notifications/tmux-detector.js +37 -22
  29. package/dist/notifications/tmux-detector.js.map +1 -1
  30. package/dist/team/__tests__/tmux-session.test.js +47 -1
  31. package/dist/team/__tests__/tmux-session.test.js.map +1 -1
  32. package/dist/team/runtime.d.ts.map +1 -1
  33. package/dist/team/runtime.js +14 -2
  34. package/dist/team/runtime.js.map +1 -1
  35. package/dist/team/state.d.ts +4 -0
  36. package/dist/team/state.d.ts.map +1 -1
  37. package/dist/team/state.js.map +1 -1
  38. package/dist/team/tmux-session.d.ts +6 -2
  39. package/dist/team/tmux-session.d.ts.map +1 -1
  40. package/dist/team/tmux-session.js +20 -5
  41. package/dist/team/tmux-session.js.map +1 -1
  42. package/package.json +1 -1
@@ -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
- const promptForApproval = process.env.OMX_AUTO_UPDATE_PROMPT === '1';
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
- console.log(`[omx] Update available: v${current} -> v${latest}.`);
133
- if (promptForApproval) {
134
- const approved = await askYesNo('[omx] Update now? [Y/n] ');
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] Auto-update complete: v${latest}`);
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] Auto-update failed. Run manually: npm install -g oh-my-codex@latest');
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
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/cli/update.ts"],"names":[],"mappings":"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"}
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;AAYrD,MAAM,YAAY,GAAG,aAAa,CAAC;AACnC,MAAM,iBAAiB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,MAAM;AAErD,SAAS,WAAW,CAAC,OAAe;IAClC,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC1D,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAAe,EAAE,MAAc;IAC5D,MAAM,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IAC/B,MAAM,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAC9B,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3B,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACtC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACtC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,KAAa,EACb,KAAyB,EACzB,UAAU,GAAG,iBAAiB;IAE9B,IAAI,CAAC,KAAK,EAAE,eAAe;QAAE,OAAO,IAAI,CAAC;IACzC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAC/C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACxC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,UAAU,CAAC;AACtC,CAAC;AAED,SAAS,eAAe,CAAC,GAAW;IAClC,OAAO,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAAC;AACzD,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,GAAW;IACxC,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IAClC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAgB,CAAC;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,GAAW,EAAE,KAAkB;IAC7D,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5C,MAAM,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3C,MAAM,SAAS,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACxE,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,SAAS,GAAG,IAAI;IAChD,MAAM,WAAW,GAAG,8BAA8B,YAAY,SAAS,CAAC;IACxE,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,SAAS,CAAC,CAAC;IAC9D,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;QACpE,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC;QACzB,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAuB,CAAC;QACnD,OAAO,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IAChE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,iBAAiB;IAC9B,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,EAAE,EAAE,cAAc,CAAC,CAAC;QACvD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACjD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAyB,CAAC;QACxD,OAAO,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,eAAe;IACtB,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,GAAG,YAAY,SAAS,CAAC,EAAE;QAC3E,QAAQ,EAAE,OAAO;QACjB,KAAK,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC;QACnC,OAAO,EAAE,MAAM;KAChB,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;IACrD,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,cAAc,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;IAC9F,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;AAClC,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,QAAgB;IACtC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IAChE,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7E,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAClE,OAAO,MAAM,KAAK,EAAE,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,KAAK,CAAC;IAC7D,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,GAAW;IACzD,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,GAAG;QAAE,OAAO;IAChD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK;QAAE,OAAO;IAE1D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,GAAG,CAAC,CAAC;IACzC,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,KAAK,CAAC;QAAE,OAAO;IAE/C,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC1C,iBAAiB,EAAE;QACnB,kBAAkB,EAAE;KACrB,CAAC,CAAC;IAEH,MAAM,gBAAgB,CAAC,GAAG,EAAE;QAC1B,eAAe,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE;QAC5C,gBAAgB,EAAE,MAAM,IAAI,KAAK,EAAE,gBAAgB;KACpD,CAAC,CAAC;IAEH,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC;QAAE,OAAO;IAEpE,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,4BAA4B,OAAO,OAAO,MAAM,sBAAsB,CAAC,CAAC;IACxG,IAAI,CAAC,QAAQ;QAAE,OAAO;IAEtB,OAAO,CAAC,GAAG,CAAC,iCAAiC,YAAY,SAAS,CAAC,CAAC;IACpE,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;IAEjC,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,qBAAqB,MAAM,4BAA4B,CAAC,CAAC;IACvE,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,sEAAsE,CAAC,CAAC;IACtF,CAAC;AACH,CAAC"}
@@ -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":"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"}
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 + sanitizeForTmux)
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 + sanitizeForTmux)
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;AAcD,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,GAAE,OAAc,GAAG,OAAO,CAiB5F"}
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
- * Sanitize text for safe injection into tmux via send-keys.
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 sanitizeForTmux(text) {
56
- return text
57
- .replace(/\\/g, '\\\\')
58
- .replace(/"/g, '\\"')
59
- .replace(/'/g, "\\'")
60
- .replace(/;/g, '\\;')
61
- .replace(/\n/g, ' ');
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
- try {
65
- const sanitized = sanitizeForTmux(text);
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 (pressEnter) {
71
- // Codex CLI uses raw input mode where 'Enter' key name is unreliable;
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":"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"}
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":"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"}
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":"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"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/team/runtime.ts"],"names":[],"mappings":"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"}
@@ -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 */ }