oh-my-codex 0.8.7 → 0.8.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -1
- package/dist/catalog/__tests__/generator.test.js +1 -0
- package/dist/catalog/__tests__/generator.test.js.map +1 -1
- package/dist/catalog/__tests__/schema.test.js +6 -0
- package/dist/catalog/__tests__/schema.test.js.map +1 -1
- package/dist/cli/__tests__/package-bin-contract.test.js +1 -1
- package/dist/cli/__tests__/package-bin-contract.test.js.map +1 -1
- package/dist/hooks/__tests__/anti-slop-workflow.test.d.ts +2 -0
- package/dist/hooks/__tests__/anti-slop-workflow.test.d.ts.map +1 -0
- package/dist/hooks/__tests__/anti-slop-workflow.test.js +52 -0
- package/dist/hooks/__tests__/anti-slop-workflow.test.js.map +1 -0
- package/dist/hooks/__tests__/keyword-detector.test.js +47 -1
- package/dist/hooks/__tests__/keyword-detector.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-auto-nudge.test.js +160 -75
- package/dist/hooks/__tests__/notify-hook-auto-nudge.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-modules.test.js +43 -0
- package/dist/hooks/__tests__/notify-hook-modules.test.js.map +1 -1
- package/dist/hooks/__tests__/prompt-team-routing.test.d.ts +2 -0
- package/dist/hooks/__tests__/prompt-team-routing.test.d.ts.map +1 -0
- package/dist/hooks/__tests__/prompt-team-routing.test.js +15 -0
- package/dist/hooks/__tests__/prompt-team-routing.test.js.map +1 -0
- package/dist/hooks/keyword-detector.d.ts +12 -0
- package/dist/hooks/keyword-detector.d.ts.map +1 -1
- package/dist/hooks/keyword-detector.js +51 -0
- package/dist/hooks/keyword-detector.js.map +1 -1
- package/dist/hooks/prompt-guidance-contract.d.ts.map +1 -1
- package/dist/hooks/prompt-guidance-contract.js +2 -0
- package/dist/hooks/prompt-guidance-contract.js.map +1 -1
- package/dist/team/__tests__/model-contract.test.js +18 -4
- package/dist/team/__tests__/model-contract.test.js.map +1 -1
- package/dist/team/__tests__/runtime.test.js +143 -0
- package/dist/team/__tests__/runtime.test.js.map +1 -1
- package/dist/team/__tests__/scaling.test.js +83 -2
- package/dist/team/__tests__/scaling.test.js.map +1 -1
- package/dist/team/__tests__/tmux-session.test.js +47 -0
- package/dist/team/__tests__/tmux-session.test.js.map +1 -1
- package/dist/team/__tests__/worker-bootstrap.test.js +17 -1
- package/dist/team/__tests__/worker-bootstrap.test.js.map +1 -1
- package/dist/team/model-contract.d.ts +4 -1
- package/dist/team/model-contract.d.ts.map +1 -1
- package/dist/team/model-contract.js +23 -4
- package/dist/team/model-contract.js.map +1 -1
- package/dist/team/runtime.d.ts +4 -2
- package/dist/team/runtime.d.ts.map +1 -1
- package/dist/team/runtime.js +32 -12
- package/dist/team/runtime.js.map +1 -1
- package/dist/team/scaling.d.ts.map +1 -1
- package/dist/team/scaling.js +48 -32
- package/dist/team/scaling.js.map +1 -1
- package/dist/team/tmux-session.d.ts +2 -0
- package/dist/team/tmux-session.d.ts.map +1 -1
- package/dist/team/tmux-session.js +9 -4
- package/dist/team/tmux-session.js.map +1 -1
- package/dist/team/worker-bootstrap.d.ts +5 -0
- package/dist/team/worker-bootstrap.d.ts.map +1 -1
- package/dist/team/worker-bootstrap.js +25 -0
- package/dist/team/worker-bootstrap.js.map +1 -1
- package/package.json +2 -2
- package/scripts/notify-hook/auto-nudge.js +185 -75
- package/skills/ai-slop-cleaner/SKILL.md +107 -0
- package/skills/plan/SKILL.md +4 -1
- package/skills/review/SKILL.md +14 -6
- package/skills/team/SKILL.md +3 -3
- package/templates/AGENTS.md +24 -0
- package/templates/catalog-manifest.json +7 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keyword-detector.d.ts","sourceRoot":"","sources":["../../src/hooks/keyword-detector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,EAAiC,KAAK,cAAc,EAA2B,MAAM,yBAAyB,CAAC;AAGtH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,WAAW,GAAG,WAAW,GAAG,YAAY,CAAC;AAErF,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,CAAC,CAAC;IACX,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,gBAAgB,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"keyword-detector.d.ts","sourceRoot":"","sources":["../../src/hooks/keyword-detector.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,27 @@ import { join } from 'node:path';
|
|
|
15
15
|
import { classifyTaskSize, isHeavyMode } from './task-size-detector.js';
|
|
16
16
|
import { KEYWORD_TRIGGER_DEFINITIONS, compareKeywordMatches } from './keyword-registry.js';
|
|
17
17
|
export const SKILL_ACTIVE_STATE_FILE = 'skill-active-state.json';
|
|
18
|
+
export const DEEP_INTERVIEW_BLOCKED_APPROVAL_INPUTS = ['yes', 'y', 'proceed', 'continue', 'ok', 'sure', 'go ahead'];
|
|
19
|
+
export const DEEP_INTERVIEW_INPUT_LOCK_MESSAGE = 'Deep interview is active; auto-approval shortcuts are blocked until the interview finishes.';
|
|
20
|
+
function createDeepInterviewInputLock(nowIso, previous) {
|
|
21
|
+
return {
|
|
22
|
+
active: true,
|
|
23
|
+
scope: 'deep-interview-auto-approval',
|
|
24
|
+
acquired_at: previous?.active ? previous.acquired_at : nowIso,
|
|
25
|
+
blocked_inputs: [...DEEP_INTERVIEW_BLOCKED_APPROVAL_INPUTS],
|
|
26
|
+
message: DEEP_INTERVIEW_INPUT_LOCK_MESSAGE,
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
function releaseDeepInterviewInputLock(previous, nowIso, reason = 'handoff') {
|
|
30
|
+
if (!previous)
|
|
31
|
+
return undefined;
|
|
32
|
+
return {
|
|
33
|
+
...previous,
|
|
34
|
+
active: false,
|
|
35
|
+
released_at: nowIso,
|
|
36
|
+
exit_reason: reason,
|
|
37
|
+
};
|
|
38
|
+
}
|
|
18
39
|
async function readExistingSkillState(statePath) {
|
|
19
40
|
try {
|
|
20
41
|
const raw = await readFile(statePath, 'utf-8');
|
|
@@ -135,8 +156,37 @@ export async function recordSkillActivation(input) {
|
|
|
135
156
|
const nowIso = input.nowIso ?? new Date().toISOString();
|
|
136
157
|
const statePath = join(input.stateDir, SKILL_ACTIVE_STATE_FILE);
|
|
137
158
|
const previous = await readExistingSkillState(statePath);
|
|
159
|
+
const hadDeepInterviewLock = previous?.skill === 'deep-interview' && previous?.input_lock?.active === true;
|
|
160
|
+
const matches = detectKeywords(input.text);
|
|
161
|
+
const hasCancelIntent = matches.some((entry) => entry.skill === 'cancel');
|
|
162
|
+
if (hasCancelIntent && hadDeepInterviewLock) {
|
|
163
|
+
const state = {
|
|
164
|
+
version: 1,
|
|
165
|
+
active: false,
|
|
166
|
+
skill: 'deep-interview',
|
|
167
|
+
keyword: previous?.keyword || 'deep interview',
|
|
168
|
+
phase: 'completing',
|
|
169
|
+
activated_at: previous?.activated_at || nowIso,
|
|
170
|
+
updated_at: nowIso,
|
|
171
|
+
source: 'keyword-detector',
|
|
172
|
+
session_id: input.sessionId ?? previous?.session_id,
|
|
173
|
+
thread_id: input.threadId ?? previous?.thread_id,
|
|
174
|
+
turn_id: input.turnId ?? previous?.turn_id,
|
|
175
|
+
...(previous?.input_lock ? { input_lock: releaseDeepInterviewInputLock(previous.input_lock, nowIso, 'abort') } : {}),
|
|
176
|
+
};
|
|
177
|
+
try {
|
|
178
|
+
await writeFile(statePath, JSON.stringify(state, null, 2));
|
|
179
|
+
}
|
|
180
|
+
catch (error) {
|
|
181
|
+
console.warn('[omx] warning: failed to persist keyword activation state', error);
|
|
182
|
+
}
|
|
183
|
+
return state;
|
|
184
|
+
}
|
|
138
185
|
const sameSkill = previous?.active === true && previous.skill === match.skill;
|
|
139
186
|
const sameKeyword = previous?.keyword?.toLowerCase() === match.keyword.toLowerCase();
|
|
187
|
+
const deepInterviewInputLock = match.skill === 'deep-interview'
|
|
188
|
+
? createDeepInterviewInputLock(nowIso, previous?.input_lock)
|
|
189
|
+
: releaseDeepInterviewInputLock(previous?.input_lock, nowIso);
|
|
140
190
|
const state = {
|
|
141
191
|
version: 1,
|
|
142
192
|
active: true,
|
|
@@ -149,6 +199,7 @@ export async function recordSkillActivation(input) {
|
|
|
149
199
|
session_id: input.sessionId,
|
|
150
200
|
thread_id: input.threadId,
|
|
151
201
|
turn_id: input.turnId,
|
|
202
|
+
...(deepInterviewInputLock ? { input_lock: deepInterviewInputLock } : {}),
|
|
152
203
|
};
|
|
153
204
|
try {
|
|
154
205
|
await writeFile(statePath, JSON.stringify(state, null, 2));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keyword-detector.js","sourceRoot":"","sources":["../../src/hooks/keyword-detector.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"keyword-detector.js","sourceRoot":"","sources":["../../src/hooks/keyword-detector.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-guidance-contract.d.ts","sourceRoot":"","sources":["../../src/hooks/prompt-guidance-contract.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;
|
|
1
|
+
{"version":3,"file":"prompt-guidance-contract.d.ts","sourceRoot":"","sources":["../../src/hooks/prompt-guidance-contract.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AAoDD,eAAO,MAAM,uBAAuB,EAAE,uBAAuB,EAG5D,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,uBAAuB,EAIxD,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,uBAAuB,EA+B5D,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,uBAAuB,EAcrD,CAAC;AAEJ,eAAO,MAAM,iBAAiB,EAAE,uBAAuB,EAqBpD,CAAC;AAEJ,eAAO,MAAM,uBAAuB,EAAE,uBAAuB,EAU5D,CAAC;AAEF,eAAO,MAAM,4BAA4B,EAAE,uBAAuB,EAWjE,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,uBAAuB,EAelD,CAAC"}
|
|
@@ -5,6 +5,8 @@ const ROOT_TEMPLATE_PATTERNS = [
|
|
|
5
5
|
rx('compact, information-dense responses'),
|
|
6
6
|
rx('clear, low-risk, reversible next steps'),
|
|
7
7
|
rx('local overrides?.*non-conflicting instructions'),
|
|
8
|
+
rx('Outside active `team`/`swarm` mode, use `executor`'),
|
|
9
|
+
rx('Reserve `worker` strictly for active `team`/`swarm` sessions'),
|
|
8
10
|
rx('do not skip prerequisites|task is grounded and verified'),
|
|
9
11
|
rx('concise evidence summaries'),
|
|
10
12
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-guidance-contract.js","sourceRoot":"","sources":["../../src/hooks/prompt-guidance-contract.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"prompt-guidance-contract.js","sourceRoot":"","sources":["../../src/hooks/prompt-guidance-contract.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 { collectInheritableTeamWorkerArgs, isLowComplexityAgentType, resolveTeamWorkerLaunchArgs, resolveTeamLowComplexityDefaultModel, } from '../model-contract.js';
|
|
3
|
+
import { collectInheritableTeamWorkerArgs, isLowComplexityAgentType, resolveAgentReasoningEffort, resolveTeamWorkerLaunchArgs, resolveTeamLowComplexityDefaultModel, } from '../model-contract.js';
|
|
4
4
|
function expectedLowComplexityModel() {
|
|
5
5
|
return resolveTeamLowComplexityDefaultModel();
|
|
6
6
|
}
|
|
@@ -65,19 +65,33 @@ describe('team model contract', () => {
|
|
|
65
65
|
assert.equal(isLowComplexityAgentType('executor'), false);
|
|
66
66
|
assert.equal(isLowComplexityAgentType('executor-low'), true);
|
|
67
67
|
});
|
|
68
|
+
it('maps worker roles to default reasoning effort tiers', () => {
|
|
69
|
+
assert.equal(resolveAgentReasoningEffort('explore'), 'low');
|
|
70
|
+
assert.equal(resolveAgentReasoningEffort('executor'), 'medium');
|
|
71
|
+
assert.equal(resolveAgentReasoningEffort('architect'), 'high');
|
|
72
|
+
assert.equal(resolveAgentReasoningEffort('does-not-exist'), undefined);
|
|
73
|
+
});
|
|
68
74
|
});
|
|
69
|
-
describe('resolveTeamWorkerLaunchArgs -
|
|
70
|
-
it('
|
|
75
|
+
describe('resolveTeamWorkerLaunchArgs - teammate reasoning allocation', () => {
|
|
76
|
+
it('injects preferred reasoning when explicit reasoning is absent', () => {
|
|
77
|
+
const result = resolveTeamWorkerLaunchArgs({
|
|
78
|
+
fallbackModel: expectedLowComplexityModel(),
|
|
79
|
+
preferredReasoning: 'low',
|
|
80
|
+
});
|
|
81
|
+
assert.deepEqual(result, ['-c', 'model_reasoning_effort="low"', '--model', expectedLowComplexityModel()]);
|
|
82
|
+
});
|
|
83
|
+
it('does not auto-inject thinking level for fallback model when no preference is provided', () => {
|
|
71
84
|
const result = resolveTeamWorkerLaunchArgs({
|
|
72
85
|
fallbackModel: expectedLowComplexityModel(),
|
|
73
86
|
});
|
|
74
87
|
const joined = result.join(' ');
|
|
75
88
|
assert.ok(!joined.includes('model_reasoning_effort'), `Expected no auto-injected thinking level in: ${joined}`);
|
|
76
89
|
});
|
|
77
|
-
it('preserves explicit reasoning override', () => {
|
|
90
|
+
it('preserves explicit reasoning override over teammate preference', () => {
|
|
78
91
|
const result = resolveTeamWorkerLaunchArgs({
|
|
79
92
|
existingRaw: '-c model_reasoning_effort="high"',
|
|
80
93
|
fallbackModel: expectedLowComplexityModel(),
|
|
94
|
+
preferredReasoning: 'low',
|
|
81
95
|
});
|
|
82
96
|
const joined = result.join(' ');
|
|
83
97
|
// Should contain the explicit high level
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-contract.test.js","sourceRoot":"","sources":["../../../src/team/__tests__/model-contract.test.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"model-contract.test.js","sourceRoot":"","sources":["../../../src/team/__tests__/model-contract.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -80,6 +80,22 @@ describe('runtime', () => {
|
|
|
80
80
|
it('resolveWorkerLaunchArgsFromEnv prefers explicit env model over inherited leader model', () => {
|
|
81
81
|
assert.deepEqual(resolveWorkerLaunchArgsFromEnv({ OMX_TEAM_WORKER_LAUNCH_ARGS: '--model gpt-5' }, 'explore', 'gpt-4.1'), ['--model', 'gpt-5']);
|
|
82
82
|
});
|
|
83
|
+
it('resolveWorkerLaunchArgsFromEnv injects teammate reasoning and logs source=role-default', () => {
|
|
84
|
+
const logs = [];
|
|
85
|
+
const originalLog = console.log;
|
|
86
|
+
console.log = (...args) => { logs.push(args.join(' ')); };
|
|
87
|
+
try {
|
|
88
|
+
const lowArgs = resolveWorkerLaunchArgsFromEnv({ OMX_TEAM_WORKER_LAUNCH_ARGS: '--no-alt-screen' }, 'executor', undefined, 'low', 'codex');
|
|
89
|
+
const highArgs = resolveWorkerLaunchArgsFromEnv({ OMX_TEAM_WORKER_LAUNCH_ARGS: '--no-alt-screen' }, 'executor', undefined, 'high', 'codex');
|
|
90
|
+
assert.deepEqual(lowArgs, ['--no-alt-screen', '-c', 'model_reasoning_effort="low"']);
|
|
91
|
+
assert.deepEqual(highArgs, ['--no-alt-screen', '-c', 'model_reasoning_effort="high"']);
|
|
92
|
+
}
|
|
93
|
+
finally {
|
|
94
|
+
console.log = originalLog;
|
|
95
|
+
}
|
|
96
|
+
assert.ok(logs.some((line) => line.includes('thinking_level=low') && line.includes('source=role-default')));
|
|
97
|
+
assert.ok(logs.some((line) => line.includes('thinking_level=high') && line.includes('source=role-default')));
|
|
98
|
+
});
|
|
83
99
|
it('resolveWorkerLaunchArgsFromEnv preserves explicit reasoning and logs source=explicit', () => {
|
|
84
100
|
const logs = [];
|
|
85
101
|
const originalLog = console.log;
|
|
@@ -149,6 +165,30 @@ describe('runtime', () => {
|
|
|
149
165
|
}
|
|
150
166
|
assert.ok(logs.some((line) => line.includes('thinking_level=high') && line.includes('source=explicit')));
|
|
151
167
|
});
|
|
168
|
+
it('resolveWorkerLaunchArgsFromEnv keeps claude and gemini startup logs free of thinking_level during teammate allocation', () => {
|
|
169
|
+
const logs = [];
|
|
170
|
+
const originalLog = console.log;
|
|
171
|
+
console.log = (...args) => { logs.push(args.join(' ')); };
|
|
172
|
+
try {
|
|
173
|
+
const codexArgs = resolveWorkerLaunchArgsFromEnv({ OMX_TEAM_WORKER_LAUNCH_ARGS: '--no-alt-screen' }, 'executor', undefined, 'high', 'codex');
|
|
174
|
+
const claudeArgs = resolveWorkerLaunchArgsFromEnv({ OMX_TEAM_WORKER_LAUNCH_ARGS: '--no-alt-screen --model claude-3-7-sonnet' }, 'executor', undefined, 'low', 'claude');
|
|
175
|
+
const geminiArgs = resolveWorkerLaunchArgsFromEnv({ OMX_TEAM_WORKER_LAUNCH_ARGS: '--model gemini-2.0-pro' }, 'executor', undefined, 'low', 'gemini');
|
|
176
|
+
assert.deepEqual(codexArgs, ['--no-alt-screen', '-c', 'model_reasoning_effort="high"']);
|
|
177
|
+
assert.deepEqual(claudeArgs, ['--no-alt-screen', '-c', 'model_reasoning_effort="low"', '--model', 'claude-3-7-sonnet']);
|
|
178
|
+
assert.deepEqual(geminiArgs, ['-c', 'model_reasoning_effort="low"', '--model', 'gemini-2.0-pro']);
|
|
179
|
+
}
|
|
180
|
+
finally {
|
|
181
|
+
console.log = originalLog;
|
|
182
|
+
}
|
|
183
|
+
const codexLog = logs.find((line) => line.includes('thinking_level=high'));
|
|
184
|
+
const claudeLog = logs.find((line) => line.includes('model=claude'));
|
|
185
|
+
const geminiLog = logs.find((line) => line.includes('model=gemini'));
|
|
186
|
+
assert.ok(codexLog);
|
|
187
|
+
assert.ok(claudeLog);
|
|
188
|
+
assert.ok(geminiLog);
|
|
189
|
+
assert.doesNotMatch(claudeLog ?? '', /thinking_level=/);
|
|
190
|
+
assert.doesNotMatch(geminiLog ?? '', /thinking_level=/);
|
|
191
|
+
});
|
|
152
192
|
it('resolveWorkerLaunchArgsFromEnv logs source=none/default-none when thinking is not explicit', () => {
|
|
153
193
|
const logs = [];
|
|
154
194
|
const originalLog = console.log;
|
|
@@ -262,6 +302,109 @@ sleep 5
|
|
|
262
302
|
await rm(cwd, { recursive: true, force: true });
|
|
263
303
|
}
|
|
264
304
|
});
|
|
305
|
+
it('startTeam preserves routed task roles into team state and worker launch args', async () => {
|
|
306
|
+
const cwd = await mkdtemp(join(tmpdir(), 'omx-runtime-role-routing-'));
|
|
307
|
+
const binDir = join(cwd, 'bin');
|
|
308
|
+
const fakeCodexPath = join(binDir, 'codex');
|
|
309
|
+
const captureDir = join(cwd, 'captures');
|
|
310
|
+
const promptsDir = join(cwd, '.codex', 'prompts');
|
|
311
|
+
await mkdir(binDir, { recursive: true });
|
|
312
|
+
await mkdir(captureDir, { recursive: true });
|
|
313
|
+
await mkdir(promptsDir, { recursive: true });
|
|
314
|
+
await writeFile(join(promptsDir, 'test-engineer.md'), '<identity>Test Engineer</identity>');
|
|
315
|
+
await writeFile(join(promptsDir, 'writer.md'), '<identity>You are Writer.</identity>');
|
|
316
|
+
await writeFile(fakeCodexPath, `#!/usr/bin/env node
|
|
317
|
+
const fs = require('fs');
|
|
318
|
+
const path = require('path');
|
|
319
|
+
const worker = String(process.env.OMX_TEAM_WORKER || 'unknown').replace(/[^a-zA-Z0-9_-]+/g, '__');
|
|
320
|
+
const out = path.join(process.env.OMX_ARGV_CAPTURE_DIR, worker + '.json');
|
|
321
|
+
fs.writeFileSync(out, JSON.stringify({ argv: process.argv.slice(2), worker }, null, 2));
|
|
322
|
+
process.stdin.resume();
|
|
323
|
+
setTimeout(() => process.exit(0), 5000);
|
|
324
|
+
process.on('SIGTERM', () => process.exit(0));
|
|
325
|
+
`, { mode: 0o755 });
|
|
326
|
+
const prevPath = process.env.PATH;
|
|
327
|
+
const prevTmux = process.env.TMUX;
|
|
328
|
+
const prevLaunchMode = process.env.OMX_TEAM_WORKER_LAUNCH_MODE;
|
|
329
|
+
const prevWorkerCli = process.env.OMX_TEAM_WORKER_CLI;
|
|
330
|
+
const prevCaptureDir = process.env.OMX_ARGV_CAPTURE_DIR;
|
|
331
|
+
process.env.PATH = `${binDir}:${prevPath ?? ''}`;
|
|
332
|
+
delete process.env.TMUX;
|
|
333
|
+
process.env.OMX_TEAM_WORKER_LAUNCH_MODE = 'prompt';
|
|
334
|
+
process.env.OMX_TEAM_WORKER_CLI = 'codex';
|
|
335
|
+
process.env.OMX_ARGV_CAPTURE_DIR = captureDir;
|
|
336
|
+
let runtime = null;
|
|
337
|
+
try {
|
|
338
|
+
runtime = await withoutTeamWorkerEnv(() => startTeam('team-role-routing', 'heuristic routing handoff', 'executor', 2, [
|
|
339
|
+
{ subject: 'test routing report only', description: 'test routing report only', owner: 'worker-1', role: 'test-engineer' },
|
|
340
|
+
{ subject: 'document routing report only', description: 'document routing report only', owner: 'worker-2', role: 'writer' },
|
|
341
|
+
], cwd));
|
|
342
|
+
assert.equal(runtime.config.worker_launch_mode, 'prompt');
|
|
343
|
+
assert.equal(runtime.config.workers[0]?.role, 'test-engineer');
|
|
344
|
+
assert.equal(runtime.config.workers[1]?.role, 'writer');
|
|
345
|
+
const config = await readTeamConfig(runtime.teamName, cwd);
|
|
346
|
+
assert.equal(config?.workers[0]?.role, 'test-engineer');
|
|
347
|
+
assert.equal(config?.workers[1]?.role, 'writer');
|
|
348
|
+
const task1 = await readTask(runtime.teamName, '1', cwd);
|
|
349
|
+
const task2 = await readTask(runtime.teamName, '2', cwd);
|
|
350
|
+
assert.equal(task1?.role, 'test-engineer');
|
|
351
|
+
assert.equal(task2?.role, 'writer');
|
|
352
|
+
const worker1Instructions = await readFile(join(cwd, '.omx', 'state', 'team', runtime.teamName, 'workers', 'worker-1', 'AGENTS.md'), 'utf-8');
|
|
353
|
+
const worker2Instructions = await readFile(join(cwd, '.omx', 'state', 'team', runtime.teamName, 'workers', 'worker-2', 'AGENTS.md'), 'utf-8');
|
|
354
|
+
assert.match(worker1Instructions, /You are operating as the \*\*test-engineer\*\* role/);
|
|
355
|
+
assert.match(worker1Instructions, /Test Engineer/);
|
|
356
|
+
assert.match(worker2Instructions, /You are operating as the \*\*writer\*\* role/);
|
|
357
|
+
assert.match(worker2Instructions, /You are Writer\./);
|
|
358
|
+
let worker1Args = null;
|
|
359
|
+
let worker2Args = null;
|
|
360
|
+
for (let attempt = 0; attempt < 50; attempt += 1) {
|
|
361
|
+
const worker1Path = join(captureDir, 'team-role-routing__worker-1.json');
|
|
362
|
+
const worker2Path = join(captureDir, 'team-role-routing__worker-2.json');
|
|
363
|
+
if (existsSync(worker1Path) && existsSync(worker2Path)) {
|
|
364
|
+
worker1Args = JSON.parse(await readFile(worker1Path, 'utf-8')).argv;
|
|
365
|
+
worker2Args = JSON.parse(await readFile(worker2Path, 'utf-8')).argv;
|
|
366
|
+
break;
|
|
367
|
+
}
|
|
368
|
+
await new Promise((resolve) => setTimeout(resolve, 100));
|
|
369
|
+
}
|
|
370
|
+
assert.ok(worker1Args, 'worker-1 argv capture file should be written');
|
|
371
|
+
assert.ok(worker2Args, 'worker-2 argv capture file should be written');
|
|
372
|
+
const worker1Joined = worker1Args.join(' ');
|
|
373
|
+
const worker2Joined = worker2Args.join(' ');
|
|
374
|
+
assert.match(worker1Joined, /model_reasoning_effort="medium"/);
|
|
375
|
+
assert.match(worker1Joined, /model_instructions_file=.*worker-1\/AGENTS\.md/);
|
|
376
|
+
assert.match(worker2Joined, /model_reasoning_effort="low"/);
|
|
377
|
+
assert.match(worker2Joined, /model_instructions_file=.*worker-2\/AGENTS\.md/);
|
|
378
|
+
await shutdownTeam(runtime.teamName, cwd, { force: true });
|
|
379
|
+
runtime = null;
|
|
380
|
+
}
|
|
381
|
+
finally {
|
|
382
|
+
if (runtime) {
|
|
383
|
+
await shutdownTeam(runtime.teamName, cwd, { force: true }).catch(() => { });
|
|
384
|
+
}
|
|
385
|
+
if (typeof prevPath === 'string')
|
|
386
|
+
process.env.PATH = prevPath;
|
|
387
|
+
else
|
|
388
|
+
delete process.env.PATH;
|
|
389
|
+
if (typeof prevTmux === 'string')
|
|
390
|
+
process.env.TMUX = prevTmux;
|
|
391
|
+
else
|
|
392
|
+
delete process.env.TMUX;
|
|
393
|
+
if (typeof prevLaunchMode === 'string')
|
|
394
|
+
process.env.OMX_TEAM_WORKER_LAUNCH_MODE = prevLaunchMode;
|
|
395
|
+
else
|
|
396
|
+
delete process.env.OMX_TEAM_WORKER_LAUNCH_MODE;
|
|
397
|
+
if (typeof prevWorkerCli === 'string')
|
|
398
|
+
process.env.OMX_TEAM_WORKER_CLI = prevWorkerCli;
|
|
399
|
+
else
|
|
400
|
+
delete process.env.OMX_TEAM_WORKER_CLI;
|
|
401
|
+
if (typeof prevCaptureDir === 'string')
|
|
402
|
+
process.env.OMX_ARGV_CAPTURE_DIR = prevCaptureDir;
|
|
403
|
+
else
|
|
404
|
+
delete process.env.OMX_ARGV_CAPTURE_DIR;
|
|
405
|
+
await rm(cwd, { recursive: true, force: true });
|
|
406
|
+
}
|
|
407
|
+
});
|
|
265
408
|
it('startTeam supports prompt launch mode without tmux and pipes trigger text via stdin', async () => {
|
|
266
409
|
const cwd = await mkdtemp(join(tmpdir(), 'omx-runtime-prompt-'));
|
|
267
410
|
const binDir = join(cwd, 'bin');
|