oh-my-copilot 5.6.2 → 5.7.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/.claude-plugin/marketplace.json +2 -2
- package/.claude-plugin/plugin.json +1 -1
- package/README.md +1 -0
- package/bridge/__pycache__/gyoshu_bridge.cpython-312.pyc +0 -0
- package/bridge/claude-md-coordinator.cjs +2 -2
- package/bridge/cli.cjs +78578 -75769
- package/bridge/mcp-server.cjs +36510 -32259
- package/bridge/runtime-cli.cjs +95 -34
- package/bridge/team-mcp.cjs +95 -34
- package/bridge/team.js +131 -70
- package/dist/__tests__/run-cjs-fail-closed-timeout.test.d.ts +2 -0
- package/dist/__tests__/run-cjs-fail-closed-timeout.test.d.ts.map +1 -0
- package/dist/__tests__/run-cjs-fail-closed-timeout.test.js +68 -0
- package/dist/__tests__/run-cjs-fail-closed-timeout.test.js.map +1 -0
- package/dist/__tests__/session-end-process-exit.test.js +70 -2
- package/dist/__tests__/session-end-process-exit.test.js.map +1 -1
- package/dist/cli/commands/__tests__/smoke-tier2.test.d.ts +2 -0
- package/dist/cli/commands/__tests__/smoke-tier2.test.d.ts.map +1 -0
- package/dist/cli/commands/__tests__/smoke-tier2.test.js +72 -0
- package/dist/cli/commands/__tests__/smoke-tier2.test.js.map +1 -0
- package/dist/cli/commands/smoke.d.ts +36 -0
- package/dist/cli/commands/smoke.d.ts.map +1 -0
- package/dist/cli/commands/smoke.js +169 -0
- package/dist/cli/commands/smoke.js.map +1 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +39 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/constants/names.d.ts +1 -0
- package/dist/constants/names.d.ts.map +1 -1
- package/dist/constants/names.js +1 -0
- package/dist/constants/names.js.map +1 -1
- package/dist/hooks/session-end/index.d.ts +2 -3
- package/dist/hooks/session-end/index.d.ts.map +1 -1
- package/dist/hooks/session-end/index.js +3 -10
- package/dist/hooks/session-end/index.js.map +1 -1
- package/dist/hooks/session-end/wiki-foreground-bootstrap.d.ts +17 -0
- package/dist/hooks/session-end/wiki-foreground-bootstrap.d.ts.map +1 -0
- package/dist/hooks/session-end/wiki-foreground-bootstrap.js +20 -0
- package/dist/hooks/session-end/wiki-foreground-bootstrap.js.map +1 -0
- package/dist/lib/__tests__/atomic-write.test.js +32 -1
- package/dist/lib/__tests__/atomic-write.test.js.map +1 -1
- package/dist/lib/__tests__/mode-state-lock.test.js +121 -12
- package/dist/lib/__tests__/mode-state-lock.test.js.map +1 -1
- package/dist/lib/atomic-write.d.ts +13 -3
- package/dist/lib/atomic-write.d.ts.map +1 -1
- package/dist/lib/atomic-write.js +29 -15
- package/dist/lib/atomic-write.js.map +1 -1
- package/dist/lib/mode-state-io.d.ts +2 -2
- package/dist/lib/mode-state-io.d.ts.map +1 -1
- package/dist/lib/mode-state-io.js +16 -10
- package/dist/lib/mode-state-io.js.map +1 -1
- package/dist/mcp/__tests__/host-smoke-tool.test.d.ts +2 -0
- package/dist/mcp/__tests__/host-smoke-tool.test.d.ts.map +1 -0
- package/dist/mcp/__tests__/host-smoke-tool.test.js +174 -0
- package/dist/mcp/__tests__/host-smoke-tool.test.js.map +1 -0
- package/dist/mcp/disable-tools.d.ts.map +1 -1
- package/dist/mcp/disable-tools.js +1 -0
- package/dist/mcp/disable-tools.js.map +1 -1
- package/dist/mcp/tool-registry.d.ts.map +1 -1
- package/dist/mcp/tool-registry.js +2 -0
- package/dist/mcp/tool-registry.js.map +1 -1
- package/dist/smoke/__tests__/copilot-sdk-driver.test.d.ts +2 -0
- package/dist/smoke/__tests__/copilot-sdk-driver.test.d.ts.map +1 -0
- package/dist/smoke/__tests__/copilot-sdk-driver.test.js +561 -0
- package/dist/smoke/__tests__/copilot-sdk-driver.test.js.map +1 -0
- package/dist/smoke/__tests__/copilot-sdk-scenarios.test.d.ts +2 -0
- package/dist/smoke/__tests__/copilot-sdk-scenarios.test.d.ts.map +1 -0
- package/dist/smoke/__tests__/copilot-sdk-scenarios.test.js +311 -0
- package/dist/smoke/__tests__/copilot-sdk-scenarios.test.js.map +1 -0
- package/dist/smoke/__tests__/copilot-session-eval.test.d.ts +2 -0
- package/dist/smoke/__tests__/copilot-session-eval.test.d.ts.map +1 -0
- package/dist/smoke/__tests__/copilot-session-eval.test.js +264 -0
- package/dist/smoke/__tests__/copilot-session-eval.test.js.map +1 -0
- package/dist/smoke/__tests__/copilot-smoke.test.d.ts +2 -0
- package/dist/smoke/__tests__/copilot-smoke.test.d.ts.map +1 -0
- package/dist/smoke/__tests__/copilot-smoke.test.js +482 -0
- package/dist/smoke/__tests__/copilot-smoke.test.js.map +1 -0
- package/dist/smoke/copilot-binary.d.ts +21 -0
- package/dist/smoke/copilot-binary.d.ts.map +1 -0
- package/dist/smoke/copilot-binary.js +46 -0
- package/dist/smoke/copilot-binary.js.map +1 -0
- package/dist/smoke/copilot-sdk-driver.d.ts +186 -0
- package/dist/smoke/copilot-sdk-driver.d.ts.map +1 -0
- package/dist/smoke/copilot-sdk-driver.js +622 -0
- package/dist/smoke/copilot-sdk-driver.js.map +1 -0
- package/dist/smoke/copilot-sdk-scenarios.d.ts +159 -0
- package/dist/smoke/copilot-sdk-scenarios.d.ts.map +1 -0
- package/dist/smoke/copilot-sdk-scenarios.js +510 -0
- package/dist/smoke/copilot-sdk-scenarios.js.map +1 -0
- package/dist/smoke/copilot-session-eval.d.ts +90 -0
- package/dist/smoke/copilot-session-eval.d.ts.map +1 -0
- package/dist/smoke/copilot-session-eval.js +323 -0
- package/dist/smoke/copilot-session-eval.js.map +1 -0
- package/dist/smoke/copilot-smoke.d.ts +228 -0
- package/dist/smoke/copilot-smoke.d.ts.map +1 -0
- package/dist/smoke/copilot-smoke.js +818 -0
- package/dist/smoke/copilot-smoke.js.map +1 -0
- package/dist/smoke/process-utils.d.ts +47 -0
- package/dist/smoke/process-utils.d.ts.map +1 -0
- package/dist/smoke/process-utils.js +99 -0
- package/dist/smoke/process-utils.js.map +1 -0
- package/dist/team/__tests__/tmux-session.pane-env.test.d.ts +2 -0
- package/dist/team/__tests__/tmux-session.pane-env.test.d.ts.map +1 -0
- package/dist/team/__tests__/tmux-session.pane-env.test.js +52 -0
- package/dist/team/__tests__/tmux-session.pane-env.test.js.map +1 -0
- package/dist/team/tmux-session.d.ts +7 -0
- package/dist/team/tmux-session.d.ts.map +1 -1
- package/dist/team/tmux-session.js +80 -18
- package/dist/team/tmux-session.js.map +1 -1
- package/dist/tools/host-smoke-tool.d.ts +34 -0
- package/dist/tools/host-smoke-tool.d.ts.map +1 -0
- package/dist/tools/host-smoke-tool.js +133 -0
- package/dist/tools/host-smoke-tool.js.map +1 -0
- package/docs/CLAUDE.md +1 -1
- package/docs/DEVELOPERS.md +101 -0
- package/docs/HOOKS.md +1 -1
- package/docs/MIGRATION.md +71 -0
- package/docs/REFERENCE.md +42 -1
- package/docs/TOOLS.md +32 -1
- package/package.json +11 -2
- package/plugin.json +1 -1
- package/scripts/dev/repro-state-lock.mjs +1 -1
- package/scripts/lib/atomic-write.mjs +4 -2
- package/scripts/lib/state-lock.mjs +21 -12
- package/scripts/run.cjs +13 -3
- package/scripts/wiki-session-end.mjs +2 -1
- package/templates/hooks/lib/atomic-write.mjs +4 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"copilot-smoke.js","sourceRoot":"","sources":["../../src/smoke/copilot-smoke.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Subprocess helpers for `omg smoke`. Every call takes the spawn function as a
|
|
3
|
+
* parameter so unit tests never start a real process.
|
|
4
|
+
*/
|
|
5
|
+
import { spawn, spawnSync } from 'child_process';
|
|
6
|
+
export type SpawnFn = typeof spawn;
|
|
7
|
+
export type SpawnSyncFn = typeof spawnSync;
|
|
8
|
+
export interface RunResult {
|
|
9
|
+
code: number | null;
|
|
10
|
+
signal: NodeJS.Signals | null;
|
|
11
|
+
stdout: string;
|
|
12
|
+
stderr: string;
|
|
13
|
+
timedOut: boolean;
|
|
14
|
+
error?: string;
|
|
15
|
+
durationMs: number;
|
|
16
|
+
}
|
|
17
|
+
export interface RunAsyncOptions {
|
|
18
|
+
cwd?: string;
|
|
19
|
+
env?: NodeJS.ProcessEnv;
|
|
20
|
+
input?: string;
|
|
21
|
+
timeoutMs: number;
|
|
22
|
+
windowsVerbatimArguments?: boolean;
|
|
23
|
+
/** Cap on captured stdout/stderr each (bytes of UTF-16 text). */
|
|
24
|
+
maxOutput?: number;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Spawn children in their own process group on POSIX so a timeout can kill
|
|
28
|
+
* the whole tree (copilot's node hook and MCP children included). On win32
|
|
29
|
+
* `detached` would open a new console, and taskkill /T walks the tree anyway.
|
|
30
|
+
*/
|
|
31
|
+
export declare function useProcessGroup(platform?: NodeJS.Platform): boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Kill a process and its children. On win32 `child.kill()` only ends the
|
|
34
|
+
* direct child, leaving copilot's node hook/MCP children behind, so use
|
|
35
|
+
* `taskkill /T /F`. On POSIX the child was spawned as a process-group leader
|
|
36
|
+
* ({@link useProcessGroup}), so signal the group (`-pid`), falling back to
|
|
37
|
+
* the pid alone.
|
|
38
|
+
*/
|
|
39
|
+
export declare function killProcessTree(pid: number | undefined, spawnSyncFn: SpawnSyncFn, platform?: NodeJS.Platform, killFn?: (pid: number, signal: NodeJS.Signals) => void): void;
|
|
40
|
+
/** True once the child has exited; a tree kill would then target a recycled pid. */
|
|
41
|
+
export declare function hasExited(child: {
|
|
42
|
+
exitCode?: number | null;
|
|
43
|
+
signalCode?: NodeJS.Signals | null;
|
|
44
|
+
}): boolean;
|
|
45
|
+
/** Run a command to completion with stdin input and a hard timeout (tree kill). */
|
|
46
|
+
export declare function runAsync(spawnFn: SpawnFn, spawnSyncFn: SpawnSyncFn, command: string, args: readonly string[], opts: RunAsyncOptions): Promise<RunResult>;
|
|
47
|
+
//# sourceMappingURL=process-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process-utils.d.ts","sourceRoot":"","sources":["../../src/smoke/process-utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAEjD,MAAM,MAAM,OAAO,GAAG,OAAO,KAAK,CAAC;AACnC,MAAM,MAAM,WAAW,GAAG,OAAO,SAAS,CAAC;AAE3C,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,iEAAiE;IACjE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAID;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAAG,OAAO,CAErF;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,WAAW,EAAE,WAAW,EACxB,QAAQ,GAAE,MAAM,CAAC,QAA2B,EAC5C,MAAM,GAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,KAAK,IAA4C,GAC5F,IAAI,CAUN;AAED,oFAAoF;AACpF,wBAAgB,SAAS,CAAC,KAAK,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAA;CAAE,GAAG,OAAO,CAG1G;AAED,mFAAmF;AACnF,wBAAgB,QAAQ,CACtB,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,IAAI,EAAE,eAAe,GACpB,OAAO,CAAC,SAAS,CAAC,CAgDpB"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Subprocess helpers for `omg smoke`. Every call takes the spawn function as a
|
|
3
|
+
* parameter so unit tests never start a real process.
|
|
4
|
+
*/
|
|
5
|
+
const DEFAULT_MAX_OUTPUT = 8 * 1024 * 1024;
|
|
6
|
+
/**
|
|
7
|
+
* Spawn children in their own process group on POSIX so a timeout can kill
|
|
8
|
+
* the whole tree (copilot's node hook and MCP children included). On win32
|
|
9
|
+
* `detached` would open a new console, and taskkill /T walks the tree anyway.
|
|
10
|
+
*/
|
|
11
|
+
export function useProcessGroup(platform = process.platform) {
|
|
12
|
+
return platform !== 'win32';
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Kill a process and its children. On win32 `child.kill()` only ends the
|
|
16
|
+
* direct child, leaving copilot's node hook/MCP children behind, so use
|
|
17
|
+
* `taskkill /T /F`. On POSIX the child was spawned as a process-group leader
|
|
18
|
+
* ({@link useProcessGroup}), so signal the group (`-pid`), falling back to
|
|
19
|
+
* the pid alone.
|
|
20
|
+
*/
|
|
21
|
+
export function killProcessTree(pid, spawnSyncFn, platform = process.platform, killFn = (p, sig) => { process.kill(p, sig); }) {
|
|
22
|
+
if (!pid)
|
|
23
|
+
return;
|
|
24
|
+
if (platform === 'win32') {
|
|
25
|
+
try {
|
|
26
|
+
spawnSyncFn('taskkill', ['/PID', String(pid), '/T', '/F'], { stdio: 'ignore', windowsHide: true, timeout: 10_000 });
|
|
27
|
+
}
|
|
28
|
+
catch { /* best effort */ }
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
try {
|
|
32
|
+
killFn(-pid, 'SIGKILL');
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
catch { /* not a group leader or already gone */ }
|
|
36
|
+
try {
|
|
37
|
+
killFn(pid, 'SIGKILL');
|
|
38
|
+
}
|
|
39
|
+
catch { /* already gone */ }
|
|
40
|
+
}
|
|
41
|
+
/** True once the child has exited; a tree kill would then target a recycled pid. */
|
|
42
|
+
export function hasExited(child) {
|
|
43
|
+
return (child.exitCode !== null && child.exitCode !== undefined)
|
|
44
|
+
|| (child.signalCode !== null && child.signalCode !== undefined);
|
|
45
|
+
}
|
|
46
|
+
/** Run a command to completion with stdin input and a hard timeout (tree kill). */
|
|
47
|
+
export function runAsync(spawnFn, spawnSyncFn, command, args, opts) {
|
|
48
|
+
const started = Date.now();
|
|
49
|
+
const maxOutput = opts.maxOutput ?? DEFAULT_MAX_OUTPUT;
|
|
50
|
+
return new Promise((resolve) => {
|
|
51
|
+
let stdout = '';
|
|
52
|
+
let stderr = '';
|
|
53
|
+
let timedOut = false;
|
|
54
|
+
let settled = false;
|
|
55
|
+
const finish = (result) => {
|
|
56
|
+
if (settled)
|
|
57
|
+
return;
|
|
58
|
+
settled = true;
|
|
59
|
+
clearTimeout(timer);
|
|
60
|
+
resolve({ ...result, stdout, stderr, timedOut, durationMs: Date.now() - started });
|
|
61
|
+
};
|
|
62
|
+
let child;
|
|
63
|
+
try {
|
|
64
|
+
child = spawnFn(command, [...args], {
|
|
65
|
+
cwd: opts.cwd,
|
|
66
|
+
env: opts.env,
|
|
67
|
+
stdio: ['pipe', 'pipe', 'pipe'],
|
|
68
|
+
windowsHide: true,
|
|
69
|
+
windowsVerbatimArguments: opts.windowsVerbatimArguments,
|
|
70
|
+
detached: useProcessGroup(),
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
catch (err) {
|
|
74
|
+
resolve({ code: null, signal: null, stdout, stderr, timedOut, error: err.message, durationMs: Date.now() - started });
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
const timer = setTimeout(() => {
|
|
78
|
+
timedOut = true;
|
|
79
|
+
if (!hasExited(child))
|
|
80
|
+
killProcessTree(child.pid, spawnSyncFn);
|
|
81
|
+
// Some platforms never emit 'close' once the tree is force-killed; settle anyway.
|
|
82
|
+
setTimeout(() => finish({ code: null, signal: 'SIGKILL' }), 2_000).unref?.();
|
|
83
|
+
}, opts.timeoutMs);
|
|
84
|
+
child.stdout?.setEncoding('utf8');
|
|
85
|
+
child.stderr?.setEncoding('utf8');
|
|
86
|
+
child.stdout?.on('data', (chunk) => { if (stdout.length < maxOutput)
|
|
87
|
+
stdout += chunk; });
|
|
88
|
+
child.stderr?.on('data', (chunk) => { if (stderr.length < maxOutput)
|
|
89
|
+
stderr += chunk; });
|
|
90
|
+
child.on('error', (err) => finish({ code: null, signal: null, error: err.message }));
|
|
91
|
+
child.on('close', (code, signal) => finish({ code, signal }));
|
|
92
|
+
child.stdin?.on('error', () => { });
|
|
93
|
+
if (opts.input !== undefined)
|
|
94
|
+
child.stdin?.end(opts.input);
|
|
95
|
+
else
|
|
96
|
+
child.stdin?.end();
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=process-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process-utils.js","sourceRoot":"","sources":["../../src/smoke/process-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tmux-session.pane-env.test.d.ts","sourceRoot":"","sources":["../../../src/team/__tests__/tmux-session.pane-env.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { spawnSync } from 'child_process';
|
|
2
|
+
import { existsSync, readFileSync, rmSync, statSync } from 'fs';
|
|
3
|
+
import { dirname } from 'path';
|
|
4
|
+
import { afterEach, describe, expect, it, vi } from 'vitest';
|
|
5
|
+
import { workerPaneShellCommand } from '../tmux-session.js';
|
|
6
|
+
const SECRET = 'issue-4230-secret-sentinel';
|
|
7
|
+
const posix = process.platform !== 'win32';
|
|
8
|
+
describe.skipIf(!posix)('worker pane env passthrough stays off the command line (#4230)', () => {
|
|
9
|
+
const cleanup = [];
|
|
10
|
+
afterEach(() => {
|
|
11
|
+
vi.unstubAllEnvs();
|
|
12
|
+
for (const path of cleanup.splice(0))
|
|
13
|
+
rmSync(path, { recursive: true, force: true });
|
|
14
|
+
});
|
|
15
|
+
it('keeps passthrough values out of argv and delivers them through a private file', () => {
|
|
16
|
+
vi.stubEnv('OMC_TEAM_WORKER_ENV_PASSTHROUGH', 'OMC_4230_TOKEN');
|
|
17
|
+
vi.stubEnv('OMC_4230_TOKEN', SECRET);
|
|
18
|
+
const pane = workerPaneShellCommand();
|
|
19
|
+
expect(pane.envFile).not.toBeNull();
|
|
20
|
+
cleanup.push(dirname(pane.envFile));
|
|
21
|
+
const command = pane.args.join(' ');
|
|
22
|
+
expect(command).toContain('/usr/bin/env -i');
|
|
23
|
+
expect(command).not.toContain(SECRET);
|
|
24
|
+
expect(command).not.toContain('OMC_4230_TOKEN');
|
|
25
|
+
expect(statSync(pane.envFile).mode & 0o777).toBe(0o600);
|
|
26
|
+
expect(statSync(dirname(pane.envFile)).mode & 0o777).toBe(0o700);
|
|
27
|
+
expect(readFileSync(pane.envFile, 'utf8')).toBe(`export OMC_4230_TOKEN='${SECRET}'\n`);
|
|
28
|
+
});
|
|
29
|
+
it('the built pane command gives the shell the passthrough value, removes the file, and keeps the env -i baseline', () => {
|
|
30
|
+
vi.stubEnv('OMC_TEAM_WORKER_ENV_PASSTHROUGH', 'OMC_4230_TOKEN');
|
|
31
|
+
vi.stubEnv('OMC_4230_TOKEN', `${SECRET} with 'quotes' and $dollar`);
|
|
32
|
+
vi.stubEnv('OMC_4230_LEADER_ONLY', 'must-not-leak');
|
|
33
|
+
const pane = workerPaneShellCommand();
|
|
34
|
+
cleanup.push(dirname(pane.envFile));
|
|
35
|
+
// tmux runs the pane command through `sh -c`; the login shell then reads `env` from stdin.
|
|
36
|
+
const run = spawnSync('/bin/sh', ['-c', pane.args.join(' ')], { encoding: 'utf8', env: process.env, input: 'env\n' });
|
|
37
|
+
expect(run.status).toBe(0);
|
|
38
|
+
const env = run.stdout.split('\n');
|
|
39
|
+
expect(env).toContain(`OMC_4230_TOKEN=${SECRET} with 'quotes' and $dollar`);
|
|
40
|
+
expect(env.some(line => line.startsWith('OMC_4230_LEADER_ONLY='))).toBe(false);
|
|
41
|
+
expect(env.some(line => line.startsWith('OMC_PANE_ENV_FILE='))).toBe(false);
|
|
42
|
+
expect(existsSync(dirname(pane.envFile))).toBe(false);
|
|
43
|
+
});
|
|
44
|
+
it('writes no file and inlines only the baseline when nothing is passed through', () => {
|
|
45
|
+
vi.stubEnv('OMC_TEAM_WORKER_ENV_PASSTHROUGH', '');
|
|
46
|
+
const pane = workerPaneShellCommand();
|
|
47
|
+
expect(pane.envFile).toBeNull();
|
|
48
|
+
expect(pane.args.join(' ')).toContain('/usr/bin/env -i');
|
|
49
|
+
expect(pane.args.join(' ')).not.toContain('OMC_PANE_ENV_FILE');
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
//# sourceMappingURL=tmux-session.pane-env.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tmux-session.pane-env.test.js","sourceRoot":"","sources":["../../../src/team/__tests__/tmux-session.pane-env.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -176,6 +176,13 @@ export interface WaitForShellReadyOptions {
|
|
|
176
176
|
pollIntervalMs?: number;
|
|
177
177
|
tmuxServerIdentity?: TmuxServerIdentity;
|
|
178
178
|
}
|
|
179
|
+
export interface WorkerPaneShell {
|
|
180
|
+
/** Shell command argv appended to new-session/new-window/split-window. */
|
|
181
|
+
args: string[];
|
|
182
|
+
/** Private file carrying passthrough values; the pane shell sources and deletes it. */
|
|
183
|
+
envFile: string | null;
|
|
184
|
+
}
|
|
185
|
+
export declare function workerPaneShellCommand(): WorkerPaneShell;
|
|
179
186
|
export declare function buildWorkerStartCommand(config: WorkerPaneConfig): string;
|
|
180
187
|
/** Validate tmux is available. Throws with install instructions if not. */
|
|
181
188
|
export declare function validateTmux(hasTmuxContext?: boolean): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tmux-session.d.ts","sourceRoot":"","sources":["../../src/team/tmux-session.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tmux-session.d.ts","sourceRoot":"","sources":["../../src/team/tmux-session.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,11 +5,11 @@
|
|
|
5
5
|
* Create, kill, list, and manage tmux sessions for MCP worker bridge daemons.
|
|
6
6
|
* Sessions are named "omc-team-{teamName}-{workerName}".
|
|
7
7
|
*/
|
|
8
|
-
import { existsSync, statSync } from 'fs';
|
|
8
|
+
import { existsSync, mkdtempSync, rmSync, statSync, writeFileSync } from 'fs';
|
|
9
9
|
import { createHash, randomUUID } from 'crypto';
|
|
10
10
|
import { execFile } from 'child_process';
|
|
11
11
|
import { promisify } from 'util';
|
|
12
|
-
import { join, basename, isAbsolute, win32 } from 'path';
|
|
12
|
+
import { join, basename, dirname, isAbsolute, win32 } from 'path';
|
|
13
13
|
import { tmpdir } from 'os';
|
|
14
14
|
import { validateTeamName } from './team-name.js';
|
|
15
15
|
import { tmuxExec, tmuxExecAsync, tmuxShell, tmuxCmdAsync } from '../cli/tmux-utils.js';
|
|
@@ -1139,28 +1139,83 @@ async function verifyWorkerStartCommandSubmitted(paneId, startCmd, opts = {}) {
|
|
|
1139
1139
|
}
|
|
1140
1140
|
return false;
|
|
1141
1141
|
}
|
|
1142
|
-
|
|
1142
|
+
/**
|
|
1143
|
+
* Write passthrough values to a private file (0700 dir, 0600 file) so they never
|
|
1144
|
+
* appear in argv, `ps`, or tmux's pane_start_command (#4230).
|
|
1145
|
+
*/
|
|
1146
|
+
function writePaneEnvFile(values) {
|
|
1147
|
+
const directory = mkdtempSync(join(tmpdir(), 'omc-pane-env-'));
|
|
1148
|
+
const file = join(directory, 'env');
|
|
1149
|
+
const body = Object.entries(values).map(([key, value]) => `export ${key}=${shellQuote(value)}\n`).join('');
|
|
1150
|
+
writeFileSync(file, body, { mode: 0o600, flag: 'wx' });
|
|
1151
|
+
return file;
|
|
1152
|
+
}
|
|
1153
|
+
/** Remove a pane env file whose pane was never created. */
|
|
1154
|
+
function discardPaneEnvFile(envFile) {
|
|
1155
|
+
if (!envFile)
|
|
1156
|
+
return;
|
|
1157
|
+
rmSync(dirname(envFile), { recursive: true, force: true });
|
|
1158
|
+
}
|
|
1159
|
+
export function workerPaneShellCommand() {
|
|
1143
1160
|
if (process.platform === 'win32' && !isUnixLikeOnWindows()) {
|
|
1144
|
-
return [getDefaultShell()];
|
|
1161
|
+
return { args: [getDefaultShell()], envFile: null };
|
|
1145
1162
|
}
|
|
1146
1163
|
if (process.platform === 'win32')
|
|
1147
|
-
return [];
|
|
1164
|
+
return { args: [], envFile: null };
|
|
1148
1165
|
// tmux can retain the full environment from when its server was started.
|
|
1149
1166
|
// Start pane shells from the worker-launch baseline while preserving the
|
|
1150
1167
|
// terminal and pane identity needed by interactive and nested team commands.
|
|
1151
1168
|
const shell = getDefaultShell();
|
|
1152
1169
|
const baseline = buildProviderEnvironment({ SHELL: shell });
|
|
1170
|
+
// OMC_TEAM_WORKER_ENV_PASSTHROUGH values are often credentials. Only the
|
|
1171
|
+
// fixed baseline goes inline; passthrough values travel through a private
|
|
1172
|
+
// file that the pane shell sources and removes before exec'ing the login shell.
|
|
1173
|
+
const inline = buildProviderEnvironment({ SHELL: shell }, process.env, process.platform, []);
|
|
1174
|
+
const passthrough = Object.fromEntries(Object.entries(baseline).filter(([key, value]) => inline[key] !== value));
|
|
1153
1175
|
const inheritedPaneEnvironment = ['TERM', 'TMUX', 'TMUX_PANE', 'TMUX_TMPDIR', 'LANG', 'LC_ALL', 'LC_CTYPE']
|
|
1154
1176
|
.map(key => `${key}="$${key}"`);
|
|
1177
|
+
const inlineAssignments = Object.entries(inline).map(([key, value]) => `${key}=${shellQuote(value)}`);
|
|
1178
|
+
if (Object.keys(passthrough).length === 0) {
|
|
1179
|
+
const command = [
|
|
1180
|
+
'/usr/bin/env',
|
|
1181
|
+
'-i',
|
|
1182
|
+
...inlineAssignments,
|
|
1183
|
+
...inheritedPaneEnvironment,
|
|
1184
|
+
shellQuote(shell),
|
|
1185
|
+
'-l',
|
|
1186
|
+
].join(' ');
|
|
1187
|
+
return { args: [command], envFile: null };
|
|
1188
|
+
}
|
|
1189
|
+
const envFile = writePaneEnvFile(passthrough);
|
|
1190
|
+
const bootstrap = '. "$OMC_PANE_ENV_FILE" && rm -rf -- "${OMC_PANE_ENV_FILE%/*}" && unset OMC_PANE_ENV_FILE && exec "$SHELL" -l';
|
|
1155
1191
|
const command = [
|
|
1156
1192
|
'/usr/bin/env',
|
|
1157
1193
|
'-i',
|
|
1158
|
-
...
|
|
1194
|
+
...inlineAssignments,
|
|
1195
|
+
`OMC_PANE_ENV_FILE=${shellQuote(envFile)}`,
|
|
1159
1196
|
...inheritedPaneEnvironment,
|
|
1160
|
-
|
|
1161
|
-
'-
|
|
1197
|
+
'/bin/sh',
|
|
1198
|
+
'-c',
|
|
1199
|
+
shellQuote(bootstrap),
|
|
1162
1200
|
].join(' ');
|
|
1163
|
-
return [command];
|
|
1201
|
+
return { args: [command], envFile };
|
|
1202
|
+
}
|
|
1203
|
+
/**
|
|
1204
|
+
* Run a pane-creating tmux command. A pane env file is the pane's to consume
|
|
1205
|
+
* once tmux may have created it; only a command known not to have run discards it.
|
|
1206
|
+
*/
|
|
1207
|
+
async function runPaneCreationCommand(identity, nativeCommand, paneShell) {
|
|
1208
|
+
let result;
|
|
1209
|
+
try {
|
|
1210
|
+
result = await runGuardedNativeTmuxCommand(identity, nativeCommand);
|
|
1211
|
+
}
|
|
1212
|
+
catch (error) {
|
|
1213
|
+
discardPaneEnvFile(paneShell.envFile);
|
|
1214
|
+
throw error;
|
|
1215
|
+
}
|
|
1216
|
+
if (result.outcome === 'not_executed')
|
|
1217
|
+
discardPaneEnvFile(paneShell.envFile);
|
|
1218
|
+
return result;
|
|
1164
1219
|
}
|
|
1165
1220
|
function escapeForCmdSet(value) {
|
|
1166
1221
|
return value.replace(/(["%])/g, '$1$1');
|
|
@@ -1510,13 +1565,14 @@ export async function splitTeamWorkerPaneWithEvidence(splitTarget, direction, cw
|
|
|
1510
1565
|
};
|
|
1511
1566
|
}
|
|
1512
1567
|
const splitType = direction === 'right' ? '-h' : '-v';
|
|
1568
|
+
const splitPaneShell = workerPaneShellCommand();
|
|
1513
1569
|
const splitArgs = [
|
|
1514
1570
|
'split-window', splitType, '-t', splitTarget,
|
|
1515
1571
|
'-d', '-P', '-F', '#{pane_id}\t#{socket_path}\t#{pid}',
|
|
1516
1572
|
'-c', cwd,
|
|
1517
|
-
...
|
|
1573
|
+
...splitPaneShell.args,
|
|
1518
1574
|
];
|
|
1519
|
-
const splitResult = await
|
|
1575
|
+
const splitResult = await runPaneCreationCommand(identity, tmuxCommandString(splitArgs, ['#{pane_id}\t#{socket_path}\t#{pid}']), splitPaneShell);
|
|
1520
1576
|
const parsed = splitResult.outcome === 'executed'
|
|
1521
1577
|
? parseTmuxCreationRecord(splitResult.stdout, 3, serverIdentityDependencies?.processIdentity ?? currentStrictProcessStartIdentity, identity)
|
|
1522
1578
|
: null;
|
|
@@ -1635,11 +1691,12 @@ export async function createTeamSession(teamName, workerCount, cwd, options = {}
|
|
|
1635
1691
|
? { tmuxServerIdentity: { ...tmuxServerIdentity } }
|
|
1636
1692
|
: {}),
|
|
1637
1693
|
});
|
|
1694
|
+
const detachedPaneShell = workerPaneShellCommand();
|
|
1638
1695
|
const detachedArgs = [
|
|
1639
1696
|
'new-session', '-d', '-P', '-F', '#S:#{window_index}\t#{pane_id}\t#{socket_path}\t#{pid}',
|
|
1640
1697
|
'-s', detachedSessionName,
|
|
1641
1698
|
'-c', cwd,
|
|
1642
|
-
...
|
|
1699
|
+
...detachedPaneShell.args,
|
|
1643
1700
|
];
|
|
1644
1701
|
const cleanupFreshDetachedServer = async () => {
|
|
1645
1702
|
// Fork (psmux): the private namespace is ours by construction.
|
|
@@ -1674,7 +1731,7 @@ export async function createTeamSession(teamName, workerCount, cwd, options = {}
|
|
|
1674
1731
|
if (existingDetachedIdentity) {
|
|
1675
1732
|
tmuxServerIdentity = existingDetachedIdentity;
|
|
1676
1733
|
try {
|
|
1677
|
-
detachedResult = await
|
|
1734
|
+
detachedResult = await runPaneCreationCommand(existingDetachedIdentity, tmuxCommandString(detachedArgs, ['#S:0\t#{pane_id}\t#{socket_path}\t#{pid}']), detachedPaneShell);
|
|
1678
1735
|
}
|
|
1679
1736
|
catch (error) {
|
|
1680
1737
|
const cleaned = await cleanupDetachedSession();
|
|
@@ -1742,9 +1799,12 @@ export async function createTeamSession(teamName, workerCount, cwd, options = {}
|
|
|
1742
1799
|
throw new Error('tmux_server_identity_unavailable');
|
|
1743
1800
|
}
|
|
1744
1801
|
freshDetachedServerIdentity = tmuxServerIdentity;
|
|
1745
|
-
detachedResult = await
|
|
1802
|
+
detachedResult = await runPaneCreationCommand(tmuxServerIdentity, tmuxCommandString(detachedArgs, ['#S:0\t#{pane_id}\t#{socket_path}\t#{pid}']), detachedPaneShell);
|
|
1746
1803
|
}
|
|
1747
1804
|
catch (error) {
|
|
1805
|
+
// Reached only when bootstrap failed before new-session ran or the
|
|
1806
|
+
// guarded command itself threw; either way no pane will consume the file.
|
|
1807
|
+
discardPaneEnvFile(detachedPaneShell.envFile);
|
|
1748
1808
|
const cleaned = await cleanupDetachedSession();
|
|
1749
1809
|
if (!cleaned && freshDetachedServerStarted) {
|
|
1750
1810
|
throw new TeamSessionCreationError(`tmux_creation_cleanup_unverified:${error instanceof Error ? error.message : String(error)}`, partialDetachedSession(), {
|
|
@@ -1890,16 +1950,17 @@ export async function createTeamSession(teamName, workerCount, cwd, options = {}
|
|
|
1890
1950
|
if (useDedicatedWindow) {
|
|
1891
1951
|
const targetSession = sessionAndWindow.split(':')[0] ?? sessionAndWindow;
|
|
1892
1952
|
const windowName = `omc-${sanitizeName(teamName)}`.slice(0, 32);
|
|
1953
|
+
const newWindowPaneShell = workerPaneShellCommand();
|
|
1893
1954
|
const newWindowArgs = [
|
|
1894
1955
|
'new-window', '-d', '-P', '-F', '#S:#I\t#{pane_id}\t#{socket_path}\t#{pid}',
|
|
1895
1956
|
'-t', `=${targetSession}`,
|
|
1896
1957
|
'-n', windowName,
|
|
1897
1958
|
'-c', cwd,
|
|
1898
|
-
...
|
|
1959
|
+
...newWindowPaneShell.args,
|
|
1899
1960
|
];
|
|
1900
1961
|
let newWindowResult;
|
|
1901
1962
|
try {
|
|
1902
|
-
newWindowResult = await
|
|
1963
|
+
newWindowResult = await runPaneCreationCommand(tmuxServerIdentity, tmuxCommandString(newWindowArgs, ['#S:#I\t#{pane_id}\t#{socket_path}\t#{pid}']), newWindowPaneShell);
|
|
1903
1964
|
}
|
|
1904
1965
|
catch (error) {
|
|
1905
1966
|
const creationError = new TeamSessionCreationError(`Failed to create team tmux window: ${error instanceof Error ? error.message : String(error)}`, partialCreationSession(sessionAndWindow, 'dedicated-window'), {
|
|
@@ -2062,13 +2123,14 @@ export async function createTeamSession(teamName, workerCount, cwd, options = {}
|
|
|
2062
2123
|
continue;
|
|
2063
2124
|
}
|
|
2064
2125
|
const splitType = i === 0 ? '-h' : '-v';
|
|
2126
|
+
const splitPaneShell = workerPaneShellCommand();
|
|
2065
2127
|
const splitArgs = [
|
|
2066
2128
|
'split-window', splitType, '-t', splitTarget,
|
|
2067
2129
|
'-d', '-P', '-F', '#{pane_id}\t#{socket_path}\t#{pid}',
|
|
2068
2130
|
'-c', cwd,
|
|
2069
|
-
...
|
|
2131
|
+
...splitPaneShell.args,
|
|
2070
2132
|
];
|
|
2071
|
-
const splitResult = await
|
|
2133
|
+
const splitResult = await runPaneCreationCommand(tmuxServerIdentity, tmuxCommandString(splitArgs, ['#{pane_id}\t#{socket_path}\t#{pid}']), splitPaneShell);
|
|
2072
2134
|
if (splitResult.outcome !== 'executed') {
|
|
2073
2135
|
const creationError = new TeamSessionCreationError(`tmux_server_guard_${splitResult.outcome}`, partialSession(), {
|
|
2074
2136
|
provider: 'tmux',
|