oh-my-codex 0.5.1 → 0.6.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.
Files changed (44) hide show
  1. package/README.md +16 -0
  2. package/dist/cli/team.d.ts.map +1 -1
  3. package/dist/cli/team.js +8 -2
  4. package/dist/cli/team.js.map +1 -1
  5. package/dist/cli/tmux-hook.d.ts.map +1 -1
  6. package/dist/cli/tmux-hook.js +6 -0
  7. package/dist/cli/tmux-hook.js.map +1 -1
  8. package/dist/hooks/__tests__/notify-hook-all-workers-idle.test.js +42 -0
  9. package/dist/hooks/__tests__/notify-hook-all-workers-idle.test.js.map +1 -1
  10. package/dist/hooks/__tests__/notify-hook-team-leader-nudge.test.js +60 -0
  11. package/dist/hooks/__tests__/notify-hook-team-leader-nudge.test.js.map +1 -1
  12. package/dist/hooks/__tests__/notify-hook-tmux-scrollback.test.d.ts +10 -0
  13. package/dist/hooks/__tests__/notify-hook-tmux-scrollback.test.d.ts.map +1 -0
  14. package/dist/hooks/__tests__/notify-hook-tmux-scrollback.test.js +173 -0
  15. package/dist/hooks/__tests__/notify-hook-tmux-scrollback.test.js.map +1 -0
  16. package/dist/mcp/__tests__/state-server-schema.test.js +6 -5
  17. package/dist/mcp/__tests__/state-server-schema.test.js.map +1 -1
  18. package/dist/mcp/__tests__/state-server-team-tools.test.js +230 -0
  19. package/dist/mcp/__tests__/state-server-team-tools.test.js.map +1 -1
  20. package/dist/mcp/state-server.d.ts.map +1 -1
  21. package/dist/mcp/state-server.js +112 -8
  22. package/dist/mcp/state-server.js.map +1 -1
  23. package/dist/team/__tests__/state.test.js +123 -0
  24. package/dist/team/__tests__/state.test.js.map +1 -1
  25. package/dist/team/__tests__/tmux-session.test.js +241 -18
  26. package/dist/team/__tests__/tmux-session.test.js.map +1 -1
  27. package/dist/team/runtime.d.ts +7 -0
  28. package/dist/team/runtime.d.ts.map +1 -1
  29. package/dist/team/runtime.js +33 -5
  30. package/dist/team/runtime.js.map +1 -1
  31. package/dist/team/state.d.ts +16 -0
  32. package/dist/team/state.d.ts.map +1 -1
  33. package/dist/team/state.js +110 -22
  34. package/dist/team/state.js.map +1 -1
  35. package/dist/team/tmux-session.d.ts +15 -2
  36. package/dist/team/tmux-session.d.ts.map +1 -1
  37. package/dist/team/tmux-session.js +242 -33
  38. package/dist/team/tmux-session.js.map +1 -1
  39. package/package.json +1 -1
  40. package/scripts/notify-hook/team-leader-nudge.js +79 -7
  41. package/scripts/notify-hook/team-worker.js +10 -8
  42. package/scripts/notify-hook/tmux-injection.js +27 -0
  43. package/scripts/tmux-hook-engine.js +11 -0
  44. package/skills/team/SKILL.md +13 -1
@@ -0,0 +1,173 @@
1
+ /**
2
+ * Tests for issue #215: tmux scrollback preservation during OMX output injection.
3
+ *
4
+ * When a pane is in copy-mode (scrollback), tmux's `pane_in_mode` format
5
+ * variable returns "1". Injecting send-keys into such a pane would kick the
6
+ * user out of scrollback. The fix checks pane_in_mode before sending and
7
+ * skips with reason `scroll_active` when the pane is scrolling.
8
+ */
9
+ import { describe, it } from 'node:test';
10
+ import assert from 'node:assert/strict';
11
+ import { spawnSync } from 'node:child_process';
12
+ import { chmod, mkdtemp, mkdir, readFile, rm, writeFile } from 'node:fs/promises';
13
+ import { tmpdir } from 'node:os';
14
+ import { join } from 'node:path';
15
+ const NOTIFY_HOOK_SCRIPT = new URL('../../../scripts/notify-hook.js', import.meta.url);
16
+ async function withTempWorkingDir(run) {
17
+ const cwd = await mkdtemp(join(tmpdir(), 'omx-notify-scroll-'));
18
+ try {
19
+ await run(cwd);
20
+ }
21
+ finally {
22
+ await rm(cwd, { recursive: true, force: true });
23
+ }
24
+ }
25
+ async function writeJson(path, value) {
26
+ await writeFile(path, JSON.stringify(value, null, 2));
27
+ }
28
+ async function readJson(path) {
29
+ return JSON.parse(await readFile(path, 'utf-8'));
30
+ }
31
+ /** Build a fake tmux binary that responds to all required commands.
32
+ * paneInMode: '0' or '1' — the value returned for #{pane_in_mode}.
33
+ */
34
+ function fakeTmuxScript(cwd, paneInMode) {
35
+ return `#!/usr/bin/env bash
36
+ set -eu
37
+ cmd="$1"
38
+ shift || true
39
+ if [[ "$cmd" == "list-panes" ]]; then
40
+ echo "%42 1"
41
+ exit 0
42
+ fi
43
+ if [[ "$cmd" == "display-message" ]]; then
44
+ target=""
45
+ format=""
46
+ while (($#)); do
47
+ case "$1" in
48
+ -p) shift ;;
49
+ -t) target="$2"; shift 2 ;;
50
+ *) format="$1"; shift ;;
51
+ esac
52
+ done
53
+ if [[ "$format" == "#{pane_id}" ]]; then
54
+ echo "%42"
55
+ exit 0
56
+ fi
57
+ if [[ "$format" == "#{pane_current_path}" ]]; then
58
+ echo "${cwd}"
59
+ exit 0
60
+ fi
61
+ if [[ "$format" == "#S" ]]; then
62
+ echo "devsess"
63
+ exit 0
64
+ fi
65
+ if [[ "$format" == "#{pane_in_mode}" ]]; then
66
+ echo "${paneInMode}"
67
+ exit 0
68
+ fi
69
+ echo "unsupported format: $format" >&2
70
+ exit 1
71
+ fi
72
+ if [[ "$cmd" == "send-keys" ]]; then
73
+ exit 0
74
+ fi
75
+ echo "unsupported cmd: $cmd" >&2
76
+ exit 1
77
+ `;
78
+ }
79
+ async function setupFixture(cwd, paneInMode, skipIfScrolling = true) {
80
+ const omxDir = join(cwd, '.omx');
81
+ const stateDir = join(omxDir, 'state');
82
+ const logsDir = join(omxDir, 'logs');
83
+ const sessionId = 'omx-scroll-test';
84
+ const sessionStateDir = join(stateDir, 'sessions', sessionId);
85
+ const fakeBinDir = join(cwd, 'fake-bin');
86
+ const fakeTmuxPath = join(fakeBinDir, 'tmux');
87
+ await mkdir(sessionStateDir, { recursive: true });
88
+ await mkdir(logsDir, { recursive: true });
89
+ await mkdir(fakeBinDir, { recursive: true });
90
+ await writeJson(join(stateDir, 'session.json'), { session_id: sessionId });
91
+ await writeJson(join(sessionStateDir, 'ralph-state.json'), { active: true, iteration: 0 });
92
+ await writeJson(join(omxDir, 'tmux-hook.json'), {
93
+ enabled: true,
94
+ target: { type: 'pane', value: '%42' },
95
+ allowed_modes: ['ralph'],
96
+ cooldown_ms: 0,
97
+ max_injections_per_session: 10,
98
+ prompt_template: 'Continue [OMX_TMUX_INJECT]',
99
+ marker: '[OMX_TMUX_INJECT]',
100
+ dry_run: false,
101
+ log_level: 'debug',
102
+ skip_if_scrolling: skipIfScrolling,
103
+ });
104
+ await writeFile(fakeTmuxPath, fakeTmuxScript(cwd, paneInMode));
105
+ await chmod(fakeTmuxPath, 0o755);
106
+ return { stateDir, fakeBinDir, hookStatePath: join(stateDir, 'tmux-hook-state.json') };
107
+ }
108
+ function runNotifyHook(cwd, fakeBinDir, threadId) {
109
+ const payload = {
110
+ cwd,
111
+ type: 'agent-turn-complete',
112
+ 'thread-id': threadId,
113
+ 'turn-id': `turn-${threadId}`,
114
+ 'input-messages': ['no marker here'],
115
+ 'last-assistant-message': 'output',
116
+ };
117
+ return spawnSync(process.execPath, [NOTIFY_HOOK_SCRIPT.pathname, JSON.stringify(payload)], {
118
+ encoding: 'utf8',
119
+ env: {
120
+ ...process.env,
121
+ PATH: `${fakeBinDir}:${process.env.PATH || ''}`,
122
+ OMX_TEAM_WORKER: '',
123
+ TMUX_PANE: '%42',
124
+ },
125
+ });
126
+ }
127
+ describe('notify-hook tmux scrollback preservation (issue #215)', () => {
128
+ it('skips injection and records scroll_active when pane is in copy-mode', async () => {
129
+ await withTempWorkingDir(async (cwd) => {
130
+ const { fakeBinDir, hookStatePath } = await setupFixture(cwd, '1', true);
131
+ const result = runNotifyHook(cwd, fakeBinDir, 'thread-scroll-1');
132
+ assert.equal(result.status, 0, `notify-hook failed: ${result.stderr || result.stdout}`);
133
+ const state = await readJson(hookStatePath);
134
+ assert.equal(state.last_reason, 'scroll_active', 'should record scroll_active reason');
135
+ assert.equal(state.total_injections, 0, 'no injection should be counted');
136
+ });
137
+ });
138
+ it('proceeds with injection when pane is NOT in copy-mode', async () => {
139
+ await withTempWorkingDir(async (cwd) => {
140
+ const { fakeBinDir, hookStatePath } = await setupFixture(cwd, '0', true);
141
+ const result = runNotifyHook(cwd, fakeBinDir, 'thread-scroll-2');
142
+ assert.equal(result.status, 0, `notify-hook failed: ${result.stderr || result.stdout}`);
143
+ const state = await readJson(hookStatePath);
144
+ assert.equal(state.last_reason, 'injection_sent', 'should proceed with injection');
145
+ assert.equal(state.total_injections, 1, 'injection count should be 1');
146
+ });
147
+ });
148
+ it('injects even when pane is scrolling if skip_if_scrolling is false', async () => {
149
+ await withTempWorkingDir(async (cwd) => {
150
+ const { fakeBinDir, hookStatePath } = await setupFixture(cwd, '1', false);
151
+ const result = runNotifyHook(cwd, fakeBinDir, 'thread-scroll-3');
152
+ assert.equal(result.status, 0, `notify-hook failed: ${result.stderr || result.stdout}`);
153
+ const state = await readJson(hookStatePath);
154
+ assert.equal(state.last_reason, 'injection_sent', 'should inject regardless of scroll state');
155
+ assert.equal(state.total_injections, 1, 'injection count should be 1');
156
+ });
157
+ });
158
+ it('does not record dedupeKey on scroll_active so next turn can retry', async () => {
159
+ await withTempWorkingDir(async (cwd) => {
160
+ const { fakeBinDir, stateDir } = await setupFixture(cwd, '1', true);
161
+ const hookStatePath = join(stateDir, 'tmux-hook-state.json');
162
+ // First attempt while scrolling — should skip
163
+ runNotifyHook(cwd, fakeBinDir, 'thread-scroll-4');
164
+ const stateAfterSkip = await readJson(hookStatePath);
165
+ assert.equal(stateAfterSkip.last_reason, 'scroll_active');
166
+ // recent_keys should be empty: dedupeKey was NOT stored, so a retry is possible
167
+ const recentKeys = stateAfterSkip.recent_keys;
168
+ const keyCount = recentKeys ? Object.keys(recentKeys).length : 0;
169
+ assert.equal(keyCount, 0, 'dedupeKey must not be recorded on scroll_active so injection can retry');
170
+ });
171
+ });
172
+ });
173
+ //# sourceMappingURL=notify-hook-tmux-scrollback.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notify-hook-tmux-scrollback.test.js","sourceRoot":"","sources":["../../../src/hooks/__tests__/notify-hook-tmux-scrollback.test.ts"],"names":[],"mappings":"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"}
@@ -13,12 +13,13 @@ const ALL_EVENT_TYPES = [
13
13
  'team_leader_nudge',
14
14
  ];
15
15
  describe('team_append_event schema validation', () => {
16
- it('schema enum contains exactly 8 event types including team_leader_nudge', async () => {
16
+ it('schema enum is sourced from TEAM_EVENT_TYPES and contains expected values', async () => {
17
17
  const src = await readFile(join(process.cwd(), 'src/mcp/state-server.ts'), 'utf8');
18
- // Find the enum array for the team_append_event type field
19
- const match = src.match(/name:\s*'team_append_event'[\s\S]*?enum:\s*\[([^\]]+)\]/);
20
- assert.ok(match, 'Expected to find team_append_event enum in state-server.ts');
21
- const enumValues = match[1]
18
+ const constMatch = src.match(/const TEAM_EVENT_TYPES = \[([\s\S]*?)\] as const;/);
19
+ assert.ok(constMatch, 'Expected to find TEAM_EVENT_TYPES constant in state-server.ts');
20
+ const enumRefMatch = src.match(/name:\s*'team_append_event'[\s\S]*?enum:\s*\[\.\.\.TEAM_EVENT_TYPES\]/);
21
+ assert.ok(enumRefMatch, 'Expected team_append_event schema to reference TEAM_EVENT_TYPES');
22
+ const enumValues = constMatch[1]
22
23
  .split(',')
23
24
  .map((s) => s.trim().replace(/^'|'$/g, ''))
24
25
  .filter(Boolean);
@@ -1 +1 @@
1
- {"version":3,"file":"state-server-schema.test.js","sourceRoot":"","sources":["../../../src/mcp/__tests__/state-server-schema.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,MAAM,eAAe,GAAG;IACtB,gBAAgB;IAChB,aAAa;IACb,aAAa;IACb,gBAAgB;IAChB,kBAAkB;IAClB,cAAc;IACd,mBAAmB;IACnB,mBAAmB;CACX,CAAC;AAEX,QAAQ,CAAC,qCAAqC,EAAE,GAAG,EAAE;IACnD,EAAE,CAAC,wEAAwE,EAAE,KAAK,IAAI,EAAE;QACtF,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,yBAAyB,CAAC,EAAE,MAAM,CAAC,CAAC;QAEnF,2DAA2D;QAC3D,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;QACnF,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,4DAA4D,CAAC,CAAC;QAE/E,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC;aACxB,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;aAClD,MAAM,CAAC,OAAO,CAAC,CAAC;QAEnB,MAAM,CAAC,KAAK,CACV,UAAU,CAAC,MAAM,EACjB,CAAC,EACD,+BAA+B,UAAU,CAAC,MAAM,KAAK,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC7E,CAAC;QAEF,KAAK,MAAM,SAAS,IAAI,eAAe,EAAE,CAAC;YACxC,MAAM,CAAC,EAAE,CACP,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,EAC9B,6BAA6B,SAAS,WAAW,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACzE,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"state-server-schema.test.js","sourceRoot":"","sources":["../../../src/mcp/__tests__/state-server-schema.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,MAAM,eAAe,GAAG;IACtB,gBAAgB;IAChB,aAAa;IACb,aAAa;IACb,gBAAgB;IAChB,kBAAkB;IAClB,cAAc;IACd,mBAAmB;IACnB,mBAAmB;CACX,CAAC;AAEX,QAAQ,CAAC,qCAAqC,EAAE,GAAG,EAAE;IACnD,EAAE,CAAC,2EAA2E,EAAE,KAAK,IAAI,EAAE;QACzF,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,yBAAyB,CAAC,EAAE,MAAM,CAAC,CAAC;QAEnF,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;QAClF,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,+DAA+D,CAAC,CAAC;QAEvF,MAAM,YAAY,GAAG,GAAG,CAAC,KAAK,CAAC,uEAAuE,CAAC,CAAC;QACxG,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,iEAAiE,CAAC,CAAC;QAE3F,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC;aAC7B,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;aAClD,MAAM,CAAC,OAAO,CAAC,CAAC;QAEnB,MAAM,CAAC,KAAK,CACV,UAAU,CAAC,MAAM,EACjB,CAAC,EACD,+BAA+B,UAAU,CAAC,MAAM,KAAK,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC7E,CAAC;QAEF,KAAK,MAAM,SAAS,IAAI,eAAe,EAAE,CAAC;YACxC,MAAM,CAAC,EAAE,CACP,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,EAC9B,6BAA6B,SAAS,WAAW,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACzE,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -258,5 +258,235 @@ describe('state-server team comm tools', () => {
258
258
  await rm(wd, { recursive: true, force: true });
259
259
  }
260
260
  });
261
+ it('team_transition_task_status rejects non-terminal transition attempts', async () => {
262
+ process.env.OMX_STATE_SERVER_DISABLE_AUTO_START = '1';
263
+ const { handleStateToolCall } = await import('../state-server.js');
264
+ const wd = await mkdtemp(join(tmpdir(), 'omx-state-team-tools-'));
265
+ try {
266
+ await initTeamState('transition-guard-team', 'transition guard test', 'executor', 1, wd);
267
+ const createResp = await handleStateToolCall({
268
+ params: {
269
+ name: 'team_create_task',
270
+ arguments: {
271
+ team_name: 'transition-guard-team',
272
+ subject: 'Task for transition guard',
273
+ description: 'Should only allow terminal transition',
274
+ workingDirectory: wd,
275
+ },
276
+ },
277
+ });
278
+ const created = JSON.parse(createResp.content[0]?.text || '{}');
279
+ assert.equal(created.ok, true);
280
+ const taskId = created.task?.id;
281
+ assert.ok(taskId);
282
+ const claimResp = await handleStateToolCall({
283
+ params: {
284
+ name: 'team_claim_task',
285
+ arguments: {
286
+ team_name: 'transition-guard-team',
287
+ task_id: taskId,
288
+ worker: 'worker-1',
289
+ expected_version: 1,
290
+ workingDirectory: wd,
291
+ },
292
+ },
293
+ });
294
+ const claim = JSON.parse(claimResp.content[0]?.text || '{}');
295
+ assert.equal(claim.ok, true);
296
+ assert.equal(typeof claim.claimToken, 'string');
297
+ const transitionResp = await handleStateToolCall({
298
+ params: {
299
+ name: 'team_transition_task_status',
300
+ arguments: {
301
+ team_name: 'transition-guard-team',
302
+ task_id: taskId,
303
+ from: 'in_progress',
304
+ to: 'pending',
305
+ claim_token: claim.claimToken,
306
+ workingDirectory: wd,
307
+ },
308
+ },
309
+ });
310
+ const transition = JSON.parse(transitionResp.content[0]?.text || '{}');
311
+ assert.equal(transition.ok, false);
312
+ assert.equal(transition.error, 'invalid_transition');
313
+ }
314
+ finally {
315
+ await rm(wd, { recursive: true, force: true });
316
+ }
317
+ });
318
+ it('team_update_task rejects unsupported fields and invalid blocked_by entries', async () => {
319
+ process.env.OMX_STATE_SERVER_DISABLE_AUTO_START = '1';
320
+ const { handleStateToolCall } = await import('../state-server.js');
321
+ const wd = await mkdtemp(join(tmpdir(), 'omx-state-team-tools-'));
322
+ try {
323
+ await initTeamState('update-guard-team', 'update guard test', 'executor', 1, wd);
324
+ const createResp = await handleStateToolCall({
325
+ params: {
326
+ name: 'team_create_task',
327
+ arguments: {
328
+ team_name: 'update-guard-team',
329
+ subject: 'task',
330
+ description: 'task desc',
331
+ workingDirectory: wd,
332
+ },
333
+ },
334
+ });
335
+ const createJson = JSON.parse(createResp.content[0]?.text || '{}');
336
+ const taskId = createJson.task?.id ?? '1';
337
+ const unsupportedResp = await handleStateToolCall({
338
+ params: {
339
+ name: 'team_update_task',
340
+ arguments: {
341
+ team_name: 'update-guard-team',
342
+ task_id: taskId,
343
+ claim: { owner: 'worker-1' },
344
+ workingDirectory: wd,
345
+ },
346
+ },
347
+ });
348
+ assert.equal(unsupportedResp.isError, true);
349
+ const unsupportedJson = JSON.parse(unsupportedResp.content[0]?.text || '{}');
350
+ assert.match(unsupportedJson.error ?? '', /unsupported fields/i);
351
+ const invalidDepsResp = await handleStateToolCall({
352
+ params: {
353
+ name: 'team_update_task',
354
+ arguments: {
355
+ team_name: 'update-guard-team',
356
+ task_id: taskId,
357
+ blocked_by: ['../oops'],
358
+ workingDirectory: wd,
359
+ },
360
+ },
361
+ });
362
+ assert.equal(invalidDepsResp.isError, true);
363
+ const invalidDepsJson = JSON.parse(invalidDepsResp.content[0]?.text || '{}');
364
+ assert.match(invalidDepsJson.error ?? '', /blocked_by contains invalid task ID/i);
365
+ }
366
+ finally {
367
+ await rm(wd, { recursive: true, force: true });
368
+ }
369
+ });
370
+ it('team_claim_task validates expected_version as a positive integer', async () => {
371
+ process.env.OMX_STATE_SERVER_DISABLE_AUTO_START = '1';
372
+ const { handleStateToolCall } = await import('../state-server.js');
373
+ const wd = await mkdtemp(join(tmpdir(), 'omx-state-team-tools-'));
374
+ try {
375
+ await initTeamState('claim-guard-team', 'claim guard test', 'executor', 1, wd);
376
+ await handleStateToolCall({
377
+ params: {
378
+ name: 'team_create_task',
379
+ arguments: {
380
+ team_name: 'claim-guard-team',
381
+ subject: 'task',
382
+ description: 'task desc',
383
+ workingDirectory: wd,
384
+ },
385
+ },
386
+ });
387
+ const badTypeResp = await handleStateToolCall({
388
+ params: {
389
+ name: 'team_claim_task',
390
+ arguments: {
391
+ team_name: 'claim-guard-team',
392
+ task_id: '1',
393
+ worker: 'worker-1',
394
+ expected_version: '1',
395
+ workingDirectory: wd,
396
+ },
397
+ },
398
+ });
399
+ assert.equal(badTypeResp.isError, true);
400
+ const badTypeJson = JSON.parse(badTypeResp.content[0]?.text || '{}');
401
+ assert.match(badTypeJson.error ?? '', /expected_version must be a positive integer/i);
402
+ const badValueResp = await handleStateToolCall({
403
+ params: {
404
+ name: 'team_claim_task',
405
+ arguments: {
406
+ team_name: 'claim-guard-team',
407
+ task_id: '1',
408
+ worker: 'worker-1',
409
+ expected_version: 0,
410
+ workingDirectory: wd,
411
+ },
412
+ },
413
+ });
414
+ assert.equal(badValueResp.isError, true);
415
+ const badValueJson = JSON.parse(badValueResp.content[0]?.text || '{}');
416
+ assert.match(badValueJson.error ?? '', /expected_version must be a positive integer/i);
417
+ }
418
+ finally {
419
+ await rm(wd, { recursive: true, force: true });
420
+ }
421
+ });
422
+ it('team_append_event rejects unknown event types', async () => {
423
+ process.env.OMX_STATE_SERVER_DISABLE_AUTO_START = '1';
424
+ const { handleStateToolCall } = await import('../state-server.js');
425
+ const wd = await mkdtemp(join(tmpdir(), 'omx-state-team-tools-'));
426
+ try {
427
+ await initTeamState('event-guard-team', 'event guard test', 'executor', 1, wd);
428
+ const resp = await handleStateToolCall({
429
+ params: {
430
+ name: 'team_append_event',
431
+ arguments: {
432
+ team_name: 'event-guard-team',
433
+ type: 'not-a-real-event',
434
+ worker: 'worker-1',
435
+ workingDirectory: wd,
436
+ },
437
+ },
438
+ });
439
+ assert.equal(resp.isError, true);
440
+ const json = JSON.parse(resp.content[0]?.text || '{}');
441
+ assert.match(json.error ?? '', /type must be one of/i);
442
+ }
443
+ finally {
444
+ await rm(wd, { recursive: true, force: true });
445
+ }
446
+ });
447
+ it('team_write_task_approval validates status enum and required type', async () => {
448
+ process.env.OMX_STATE_SERVER_DISABLE_AUTO_START = '1';
449
+ const { handleStateToolCall } = await import('../state-server.js');
450
+ const wd = await mkdtemp(join(tmpdir(), 'omx-state-team-tools-'));
451
+ try {
452
+ await initTeamState('approval-guard-team', 'approval guard test', 'executor', 1, wd);
453
+ const badStatusResp = await handleStateToolCall({
454
+ params: {
455
+ name: 'team_write_task_approval',
456
+ arguments: {
457
+ team_name: 'approval-guard-team',
458
+ task_id: '1',
459
+ status: 'accepted',
460
+ reviewer: 'reviewer-1',
461
+ decision_reason: 'bad status test',
462
+ workingDirectory: wd,
463
+ },
464
+ },
465
+ });
466
+ assert.equal(badStatusResp.isError, true);
467
+ const badStatusJson = JSON.parse(badStatusResp.content[0]?.text || '{}');
468
+ assert.match(badStatusJson.error ?? '', /status must be one of/i);
469
+ const badRequiredResp = await handleStateToolCall({
470
+ params: {
471
+ name: 'team_write_task_approval',
472
+ arguments: {
473
+ team_name: 'approval-guard-team',
474
+ task_id: '1',
475
+ status: 'approved',
476
+ reviewer: 'reviewer-1',
477
+ decision_reason: 'bad required type test',
478
+ required: 'true',
479
+ workingDirectory: wd,
480
+ },
481
+ },
482
+ });
483
+ assert.equal(badRequiredResp.isError, true);
484
+ const badRequiredJson = JSON.parse(badRequiredResp.content[0]?.text || '{}');
485
+ assert.match(badRequiredJson.error ?? '', /required must be a boolean/i);
486
+ }
487
+ finally {
488
+ await rm(wd, { recursive: true, force: true });
489
+ }
490
+ });
261
491
  });
262
492
  //# sourceMappingURL=state-server-team-tools.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"state-server-team-tools.test.js","sourceRoot":"","sources":["../../../src/mcp/__tests__/state-server-team-tools.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state-server-team-tools.test.js","sourceRoot":"","sources":["../../../src/mcp/__tests__/state-server-team-tools.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"state-server.d.ts","sourceRoot":"","sources":["../../src/mcp/state-server.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAoqBH,wBAAsB,mBAAmB,CAAC,OAAO,EAAE;IACjD,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC;CAC/D;;;;;;;;;;;;GAgmBA"}
1
+ {"version":3,"file":"state-server.d.ts","sourceRoot":"","sources":["../../src/mcp/state-server.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA4sBH,wBAAsB,mBAAmB,CAAC,OAAO,EAAE;IACjD,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC;CAC/D;;;;;;;;;;;;GAqqBA"}