maestro-flow 0.4.24 → 0.4.26

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 (136) hide show
  1. package/.agents/skills/maestro-impeccable/SKILL.md +5 -1
  2. package/.agents/skills/maestro-next/SKILL.md +7 -1
  3. package/.agents/skills/maestro-player/SKILL.md +9 -2
  4. package/.agents/skills/maestro-tools-execute/SKILL.md +4 -4
  5. package/.agents/skills/spec-load/SKILL.md +11 -4
  6. package/.agy/skills/maestro-impeccable/SKILL.md +5 -1
  7. package/.agy/skills/maestro-next/SKILL.md +7 -1
  8. package/.agy/skills/maestro-player/SKILL.md +9 -2
  9. package/.agy/skills/maestro-tools-execute/SKILL.md +4 -4
  10. package/.agy/skills/spec-load/SKILL.md +11 -4
  11. package/.claude/commands/maestro-impeccable.md +5 -1
  12. package/.claude/commands/maestro-next.md +7 -1
  13. package/.claude/commands/maestro-player.md +9 -2
  14. package/.claude/commands/maestro-tools-execute.md +4 -4
  15. package/.claude/commands/spec-load.md +11 -4
  16. package/.codex/skills/learn-second-opinion/SKILL.md +1 -1
  17. package/.codex/skills/maestro-milestone-audit/SKILL.md +11 -9
  18. package/.codex/skills/maestro-ui-codify/SKILL.md +3 -3
  19. package/.codex/skills/quality-debug/SKILL.md +31 -25
  20. package/.codex/skills/security-audit/SKILL.md +17 -1
  21. package/.codex/skills/team-review/SKILL.md +2 -2
  22. package/dashboard/dist-server/dashboard/src/server/agents/codex-cli-adapter.js +9 -1
  23. package/dashboard/dist-server/dashboard/src/server/agents/codex-cli-adapter.js.map +1 -1
  24. package/dashboard/dist-server/dashboard/src/server/agents/codex-cli-adapter.test.d.ts +1 -0
  25. package/dashboard/dist-server/dashboard/src/server/agents/codex-cli-adapter.test.js +346 -0
  26. package/dashboard/dist-server/dashboard/src/server/agents/codex-cli-adapter.test.js.map +1 -0
  27. package/dashboard/dist-server/dashboard/src/server/routes/specs.js +96 -25
  28. package/dashboard/dist-server/dashboard/src/server/routes/specs.js.map +1 -1
  29. package/dashboard/dist-server/dashboard/src/shared/constants.d.ts +1 -0
  30. package/dashboard/dist-server/dashboard/src/shared/constants.js +1 -0
  31. package/dashboard/dist-server/dashboard/src/shared/constants.js.map +1 -1
  32. package/dashboard/dist-server/src/graph/types.d.ts +98 -0
  33. package/dashboard/dist-server/src/graph/types.js +19 -1
  34. package/dashboard/dist-server/src/graph/types.js.map +1 -1
  35. package/dist/src/agents/cli-agent-runner.d.ts +2 -0
  36. package/dist/src/agents/cli-agent-runner.d.ts.map +1 -1
  37. package/dist/src/agents/cli-agent-runner.js +3 -0
  38. package/dist/src/agents/cli-agent-runner.js.map +1 -1
  39. package/dist/src/commands/delegate.d.ts +2 -0
  40. package/dist/src/commands/delegate.d.ts.map +1 -1
  41. package/dist/src/commands/delegate.js +3 -1
  42. package/dist/src/commands/delegate.js.map +1 -1
  43. package/dist/src/commands/kg.d.ts.map +1 -1
  44. package/dist/src/commands/kg.js +345 -2
  45. package/dist/src/commands/kg.js.map +1 -1
  46. package/dist/src/commands/spec.d.ts.map +1 -1
  47. package/dist/src/commands/spec.js +177 -38
  48. package/dist/src/commands/spec.js.map +1 -1
  49. package/dist/src/commands/wiki.d.ts.map +1 -1
  50. package/dist/src/commands/wiki.js +51 -9
  51. package/dist/src/commands/wiki.js.map +1 -1
  52. package/dist/src/config/cli-tools-config.d.ts +18 -0
  53. package/dist/src/config/cli-tools-config.d.ts.map +1 -1
  54. package/dist/src/config/cli-tools-config.js +31 -0
  55. package/dist/src/config/cli-tools-config.js.map +1 -1
  56. package/dist/src/graph/db/connection.d.ts +22 -0
  57. package/dist/src/graph/db/connection.d.ts.map +1 -0
  58. package/dist/src/graph/db/connection.js +113 -0
  59. package/dist/src/graph/db/connection.js.map +1 -0
  60. package/dist/src/graph/db/index.d.ts +4 -0
  61. package/dist/src/graph/db/index.d.ts.map +1 -0
  62. package/dist/src/graph/db/index.js +4 -0
  63. package/dist/src/graph/db/index.js.map +1 -0
  64. package/dist/src/graph/db/migrations.d.ts +5 -0
  65. package/dist/src/graph/db/migrations.d.ts.map +1 -0
  66. package/dist/src/graph/db/migrations.js +18 -0
  67. package/dist/src/graph/db/migrations.js.map +1 -0
  68. package/dist/src/graph/db/queries.d.ts +50 -0
  69. package/dist/src/graph/db/queries.d.ts.map +1 -0
  70. package/dist/src/graph/db/queries.js +313 -0
  71. package/dist/src/graph/db/queries.js.map +1 -0
  72. package/dist/src/graph/db/schema.sql +131 -0
  73. package/dist/src/graph/facade.d.ts +53 -0
  74. package/dist/src/graph/facade.d.ts.map +1 -0
  75. package/dist/src/graph/facade.js +172 -0
  76. package/dist/src/graph/facade.js.map +1 -0
  77. package/dist/src/graph/graph-queries.d.ts +24 -0
  78. package/dist/src/graph/graph-queries.d.ts.map +1 -0
  79. package/dist/src/graph/graph-queries.js +173 -0
  80. package/dist/src/graph/graph-queries.js.map +1 -0
  81. package/dist/src/graph/index.d.ts +8 -0
  82. package/dist/src/graph/index.d.ts.map +1 -1
  83. package/dist/src/graph/index.js +9 -0
  84. package/dist/src/graph/index.js.map +1 -1
  85. package/dist/src/graph/loader.d.ts +8 -0
  86. package/dist/src/graph/loader.d.ts.map +1 -1
  87. package/dist/src/graph/loader.js +20 -0
  88. package/dist/src/graph/loader.js.map +1 -1
  89. package/dist/src/graph/migration.d.ts +8 -0
  90. package/dist/src/graph/migration.d.ts.map +1 -0
  91. package/dist/src/graph/migration.js +134 -0
  92. package/dist/src/graph/migration.js.map +1 -0
  93. package/dist/src/graph/search/index.d.ts +4 -0
  94. package/dist/src/graph/search/index.d.ts.map +1 -0
  95. package/dist/src/graph/search/index.js +3 -0
  96. package/dist/src/graph/search/index.js.map +1 -0
  97. package/dist/src/graph/search/query-parser.d.ts +11 -0
  98. package/dist/src/graph/search/query-parser.d.ts.map +1 -0
  99. package/dist/src/graph/search/query-parser.js +111 -0
  100. package/dist/src/graph/search/query-parser.js.map +1 -0
  101. package/dist/src/graph/search/query-utils.d.ts +12 -0
  102. package/dist/src/graph/search/query-utils.d.ts.map +1 -0
  103. package/dist/src/graph/search/query-utils.js +184 -0
  104. package/dist/src/graph/search/query-utils.js.map +1 -0
  105. package/dist/src/graph/sync/content-hash.d.ts +7 -0
  106. package/dist/src/graph/sync/content-hash.d.ts.map +1 -0
  107. package/dist/src/graph/sync/content-hash.js +33 -0
  108. package/dist/src/graph/sync/content-hash.js.map +1 -0
  109. package/dist/src/graph/sync/incremental-sync.d.ts +23 -0
  110. package/dist/src/graph/sync/incremental-sync.d.ts.map +1 -0
  111. package/dist/src/graph/sync/incremental-sync.js +338 -0
  112. package/dist/src/graph/sync/incremental-sync.js.map +1 -0
  113. package/dist/src/graph/sync/index.d.ts +7 -0
  114. package/dist/src/graph/sync/index.d.ts.map +1 -0
  115. package/dist/src/graph/sync/index.js +5 -0
  116. package/dist/src/graph/sync/index.js.map +1 -0
  117. package/dist/src/graph/sync/watch-policy.d.ts +2 -0
  118. package/dist/src/graph/sync/watch-policy.d.ts.map +1 -0
  119. package/dist/src/graph/sync/watch-policy.js +38 -0
  120. package/dist/src/graph/sync/watch-policy.js.map +1 -0
  121. package/dist/src/graph/sync/watcher.d.ts +44 -0
  122. package/dist/src/graph/sync/watcher.d.ts.map +1 -0
  123. package/dist/src/graph/sync/watcher.js +153 -0
  124. package/dist/src/graph/sync/watcher.js.map +1 -0
  125. package/dist/src/graph/traversal.d.ts +37 -0
  126. package/dist/src/graph/traversal.d.ts.map +1 -0
  127. package/dist/src/graph/traversal.js +335 -0
  128. package/dist/src/graph/traversal.js.map +1 -0
  129. package/dist/src/graph/types.d.ts +98 -0
  130. package/dist/src/graph/types.d.ts.map +1 -1
  131. package/dist/src/graph/types.js +19 -1
  132. package/dist/src/graph/types.js.map +1 -1
  133. package/dist/src/utils/update-notices.js +21 -0
  134. package/dist/src/utils/update-notices.js.map +1 -1
  135. package/package.json +4 -2
  136. package/workflows/analyze.md +19 -13
@@ -17,6 +17,11 @@ import { cleanSpawnEnv } from './env-cleanup.js';
17
17
  // Stderr error pattern
18
18
  // ---------------------------------------------------------------------------
19
19
  const STDERR_ERROR_RE = /\b(error|fatal)\b/i;
20
+ // Rust tracing log format: "2026-06-08T06:37:29.317417Z ERROR rmcp::transport::..."
21
+ // These are diagnostic logs from the codex binary, not process-level failures.
22
+ // RMCP/MCP bootstrap errors (wham/apps, websocket) are non-fatal — codex
23
+ // falls back to alternative transports and continues normal operation.
24
+ const CODEX_NONFATAL_STDERR_RE = /^\d{4}-\d{2}-\d{2}T[\d:.]+Z\s+(?:ERROR|WARN|INFO|DEBUG|TRACE)\s+\S+::/;
20
25
  // ---------------------------------------------------------------------------
21
26
  // Native binary resolution — bypass shell/shim layers on Windows
22
27
  // ---------------------------------------------------------------------------
@@ -211,7 +216,10 @@ export class CodexCliAdapter extends BaseAgentAdapter {
211
216
  catch {
212
217
  // Not JSON — fall through to text classification
213
218
  }
214
- if (STDERR_ERROR_RE.test(trimmed)) {
219
+ if (CODEX_NONFATAL_STDERR_RE.test(trimmed)) {
220
+ this.emitEntry(processId, EntryNormalizer.thinking(processId, trimmed));
221
+ }
222
+ else if (STDERR_ERROR_RE.test(trimmed)) {
215
223
  this.emitEntry(processId, EntryNormalizer.error(processId, trimmed, 'stderr'));
216
224
  }
217
225
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"codex-cli-adapter.js","sourceRoot":"","sources":["../../../../../src/server/agents/codex-cli-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex-cli-adapter.js","sourceRoot":"","sources":["../../../../../src/server/agents/codex-cli-adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,346 @@
1
+ import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
2
+ import { EventEmitter } from 'node:events';
3
+ import { PassThrough } from 'node:stream';
4
+ // ---------------------------------------------------------------------------
5
+ // Mocks — must be declared before importing the module under test
6
+ // ---------------------------------------------------------------------------
7
+ const spawnMock = vi.fn();
8
+ vi.mock('node:child_process', () => ({
9
+ spawn: (...args) => spawnMock(...args),
10
+ }));
11
+ vi.mock('node:fs', () => ({
12
+ existsSync: vi.fn(() => false),
13
+ }));
14
+ vi.mock('node:module', () => ({
15
+ createRequire: vi.fn(() => {
16
+ const req = () => ({});
17
+ req.resolve = () => '';
18
+ return req;
19
+ }),
20
+ }));
21
+ vi.mock('./env-file-loader.js', () => ({
22
+ loadEnvFile: vi.fn(() => ({})),
23
+ }));
24
+ vi.mock('./env-cleanup.js', () => ({
25
+ cleanSpawnEnv: vi.fn((overrides) => ({
26
+ ...process.env,
27
+ ...overrides,
28
+ })),
29
+ }));
30
+ vi.mock('./process-tree-kill.js', () => ({
31
+ killProcessTree: vi.fn(),
32
+ }));
33
+ // ---------------------------------------------------------------------------
34
+ // Import after mocks
35
+ // ---------------------------------------------------------------------------
36
+ import { CodexCliAdapter } from './codex-cli-adapter.js';
37
+ function createFakeChild() {
38
+ const child = new EventEmitter();
39
+ child.stdout = new PassThrough();
40
+ child.stderr = new PassThrough();
41
+ child.stdin = {
42
+ writable: true,
43
+ write: vi.fn(),
44
+ end: vi.fn(),
45
+ };
46
+ child.pid = 54321;
47
+ child.killed = false;
48
+ child.kill = vi.fn();
49
+ return child;
50
+ }
51
+ function baseConfig(overrides = {}) {
52
+ return {
53
+ type: 'codex',
54
+ prompt: 'Test prompt',
55
+ workDir: '/tmp/test',
56
+ ...overrides,
57
+ };
58
+ }
59
+ // ---------------------------------------------------------------------------
60
+ // Tests
61
+ // ---------------------------------------------------------------------------
62
+ describe('CodexCliAdapter', () => {
63
+ let adapter;
64
+ let fakeChild;
65
+ beforeEach(() => {
66
+ adapter = new CodexCliAdapter();
67
+ fakeChild = createFakeChild();
68
+ spawnMock.mockReset();
69
+ spawnMock.mockReturnValue(fakeChild);
70
+ });
71
+ afterEach(() => {
72
+ vi.restoreAllMocks();
73
+ });
74
+ // -----------------------------------------------------------------------
75
+ // Spawn basics
76
+ // -----------------------------------------------------------------------
77
+ describe('spawn', () => {
78
+ it('spawns codex with exec --json and pipes prompt via stdin', async () => {
79
+ const config = baseConfig();
80
+ const proc = await adapter.spawn(config);
81
+ expect(proc.type).toBe('codex');
82
+ expect(proc.status).toBe('running');
83
+ const stdin = fakeChild.stdin;
84
+ expect(stdin.write).toHaveBeenCalledWith('Test prompt');
85
+ expect(stdin.end).toHaveBeenCalled();
86
+ });
87
+ it('passes --profile when settingsFile is provided', async () => {
88
+ const config = baseConfig({ settingsFile: 'my-profile' });
89
+ await adapter.spawn(config);
90
+ const cliArgs = spawnMock.mock.calls[0][1];
91
+ expect(cliArgs).toContain('--profile');
92
+ expect(cliArgs[cliArgs.indexOf('--profile') + 1]).toBe('my-profile');
93
+ });
94
+ it('maps reasoningEffort max to xhigh', async () => {
95
+ const config = baseConfig({ reasoningEffort: 'max' });
96
+ await adapter.spawn(config);
97
+ const cliArgs = spawnMock.mock.calls[0][1];
98
+ expect(cliArgs).toContain('-c');
99
+ const cIdx = cliArgs.indexOf('-c');
100
+ expect(cliArgs[cIdx + 1]).toBe('model_reasoning_effort="xhigh"');
101
+ });
102
+ });
103
+ // -----------------------------------------------------------------------
104
+ // NDJSON stdout parsing
105
+ // -----------------------------------------------------------------------
106
+ describe('NDJSON stdout parsing', () => {
107
+ async function spawnAndCollect(lines) {
108
+ const config = baseConfig();
109
+ const proc = await adapter.spawn(config);
110
+ const entries = [];
111
+ adapter.onEntry(proc.id, (entry) => {
112
+ entries.push(entry);
113
+ });
114
+ for (const line of lines) {
115
+ fakeChild.stdout.write(line + '\n');
116
+ }
117
+ await new Promise((r) => setTimeout(r, 20));
118
+ return entries;
119
+ }
120
+ it('parses item.completed with message content', async () => {
121
+ const entries = await spawnAndCollect([
122
+ JSON.stringify({
123
+ type: 'item.completed',
124
+ item: { type: 'message', content: [{ type: 'text', text: 'Hello from codex' }] },
125
+ }),
126
+ JSON.stringify({ type: 'turn.completed', usage: { input_tokens: 100, output_tokens: 50 } }),
127
+ ]);
128
+ const msgs = entries.filter((e) => e.type === 'assistant_message');
129
+ expect(msgs.length).toBeGreaterThanOrEqual(1);
130
+ const finalMsg = msgs.find((e) => e.partial === false);
131
+ expect(finalMsg).toBeDefined();
132
+ expect(finalMsg.content).toContain('Hello from codex');
133
+ });
134
+ it('parses turn.completed with token usage', async () => {
135
+ const entries = await spawnAndCollect([
136
+ JSON.stringify({ type: 'turn.completed', usage: { input_tokens: 200, output_tokens: 80 } }),
137
+ ]);
138
+ const usage = entries.filter((e) => e.type === 'token_usage');
139
+ expect(usage).toHaveLength(1);
140
+ expect(usage[0].inputTokens).toBe(200);
141
+ expect(usage[0].outputTokens).toBe(80);
142
+ });
143
+ it('parses command_execution items', async () => {
144
+ const entries = await spawnAndCollect([
145
+ JSON.stringify({
146
+ type: 'item.completed',
147
+ item: {
148
+ type: 'command_execution',
149
+ command: 'ls -la',
150
+ aggregated_output: 'total 8\ndrwxr-xr-x ...',
151
+ exit_code: 0,
152
+ },
153
+ }),
154
+ ]);
155
+ const cmds = entries.filter((e) => e.type === 'command_exec');
156
+ expect(cmds).toHaveLength(1);
157
+ expect(cmds[0].command).toBe('ls -la');
158
+ });
159
+ it('parses error messages from stdout', async () => {
160
+ const entries = await spawnAndCollect([
161
+ JSON.stringify({ type: 'error', message: 'Rate limit exceeded' }),
162
+ ]);
163
+ const errors = entries.filter((e) => e.type === 'error');
164
+ expect(errors).toHaveLength(1);
165
+ expect(errors[0].message).toBe('Rate limit exceeded');
166
+ });
167
+ it('skips non-JSON lines', async () => {
168
+ const entries = await spawnAndCollect([
169
+ 'OpenAI Codex v0.137.0',
170
+ '--------',
171
+ JSON.stringify({ type: 'thread.started' }),
172
+ ]);
173
+ const statusEntries = entries.filter((e) => e.type === 'status_change');
174
+ expect(statusEntries.length).toBeGreaterThanOrEqual(1);
175
+ });
176
+ });
177
+ // -----------------------------------------------------------------------
178
+ // Stderr handling — non-fatal Rust tracing logs
179
+ // -----------------------------------------------------------------------
180
+ describe('stderr: non-fatal Rust tracing logs', () => {
181
+ async function spawnAndCollectStderr(stderrLines) {
182
+ const config = baseConfig();
183
+ const proc = await adapter.spawn(config);
184
+ const entries = [];
185
+ adapter.onEntry(proc.id, (entry) => {
186
+ entries.push(entry);
187
+ });
188
+ for (const line of stderrLines) {
189
+ fakeChild.stderr.write(line + '\n');
190
+ }
191
+ await new Promise((r) => setTimeout(r, 20));
192
+ return entries;
193
+ }
194
+ it('classifies RMCP transport error as thinking (not error)', async () => {
195
+ const entries = await spawnAndCollectStderr([
196
+ '2026-06-08T06:37:29.317417Z ERROR rmcp::transport::worker: worker quit with fatal: Transport channel closed, when Client(HttpRequest(HttpRequest("http/request failed: error sending request for url (https://chatgpt.com/backend-api/wham/apps)")))',
197
+ ]);
198
+ const errors = entries.filter((e) => e.type === 'error');
199
+ const thinking = entries.filter((e) => e.type === 'thinking');
200
+ expect(errors).toHaveLength(0);
201
+ expect(thinking.length).toBeGreaterThanOrEqual(1);
202
+ expect(thinking[0].content).toContain('rmcp::transport::worker');
203
+ });
204
+ it('classifies websocket connection error as thinking (not error)', async () => {
205
+ const entries = await spawnAndCollectStderr([
206
+ '2026-06-08T06:38:02.259971Z ERROR codex_api::endpoint::responses_websocket: failed to connect to websocket: IO error: tls handshake eof, url: wss://chatgpt.com/backend-api/codex/responses',
207
+ ]);
208
+ const errors = entries.filter((e) => e.type === 'error');
209
+ const thinking = entries.filter((e) => e.type === 'thinking');
210
+ expect(errors).toHaveLength(0);
211
+ expect(thinking.length).toBeGreaterThanOrEqual(1);
212
+ });
213
+ it('classifies WARN-level Rust tracing log as thinking', async () => {
214
+ const entries = await spawnAndCollectStderr([
215
+ '2026-06-08T06:37:28.000000Z WARN codex_core::config: deprecated config field detected',
216
+ ]);
217
+ const errors = entries.filter((e) => e.type === 'error');
218
+ const thinking = entries.filter((e) => e.type === 'thinking');
219
+ expect(errors).toHaveLength(0);
220
+ expect(thinking.length).toBeGreaterThanOrEqual(1);
221
+ });
222
+ it('classifies INFO-level Rust tracing log as thinking', async () => {
223
+ const entries = await spawnAndCollectStderr([
224
+ '2026-06-08T06:37:28.000000Z INFO codex_core::server: listening on port 3000',
225
+ ]);
226
+ const thinking = entries.filter((e) => e.type === 'thinking');
227
+ expect(thinking.length).toBeGreaterThanOrEqual(1);
228
+ });
229
+ it('still classifies non-tracing error lines as error', async () => {
230
+ const entries = await spawnAndCollectStderr([
231
+ 'Error: OPENAI_API_KEY not set',
232
+ ]);
233
+ const errors = entries.filter((e) => e.type === 'error');
234
+ expect(errors).toHaveLength(1);
235
+ expect(errors[0].message).toBe('Error: OPENAI_API_KEY not set');
236
+ });
237
+ it('still classifies fatal non-tracing lines as error', async () => {
238
+ const entries = await spawnAndCollectStderr([
239
+ 'fatal: unable to access repository',
240
+ ]);
241
+ const errors = entries.filter((e) => e.type === 'error');
242
+ expect(errors).toHaveLength(1);
243
+ });
244
+ it('classifies plain reasoning text as thinking', async () => {
245
+ const entries = await spawnAndCollectStderr([
246
+ 'Thinking about the best approach...',
247
+ 'Analyzing code structure',
248
+ ]);
249
+ const errors = entries.filter((e) => e.type === 'error');
250
+ const thinking = entries.filter((e) => e.type === 'thinking');
251
+ expect(errors).toHaveLength(0);
252
+ expect(thinking).toHaveLength(2);
253
+ });
254
+ it('handles multiple RMCP errors in one chunk without false positives', async () => {
255
+ const entries = await spawnAndCollectStderr([
256
+ '2026-06-08T06:37:29.317417Z ERROR rmcp::transport::worker: worker quit with fatal: Transport channel closed',
257
+ '2026-06-08T06:38:02.259971Z ERROR codex_api::endpoint::responses_websocket: failed to connect to websocket',
258
+ 'codex session started',
259
+ ]);
260
+ const errors = entries.filter((e) => e.type === 'error');
261
+ const thinking = entries.filter((e) => e.type === 'thinking');
262
+ expect(errors).toHaveLength(0);
263
+ expect(thinking).toHaveLength(3);
264
+ });
265
+ it('classifies JSON structured error on stderr as thinking', async () => {
266
+ const entries = await spawnAndCollectStderr([
267
+ JSON.stringify({ type: 'error', message: 'Non-fatal structured warning' }),
268
+ ]);
269
+ const errors = entries.filter((e) => e.type === 'error');
270
+ const thinking = entries.filter((e) => e.type === 'thinking');
271
+ expect(errors).toHaveLength(0);
272
+ expect(thinking.length).toBeGreaterThanOrEqual(1);
273
+ });
274
+ });
275
+ // -----------------------------------------------------------------------
276
+ // Process exit
277
+ // -----------------------------------------------------------------------
278
+ describe('process exit', () => {
279
+ it('emits stopped on process exit', async () => {
280
+ const config = baseConfig();
281
+ const proc = await adapter.spawn(config);
282
+ const entries = [];
283
+ adapter.onEntry(proc.id, (entry) => {
284
+ entries.push(entry);
285
+ });
286
+ fakeChild.emit('exit', 0, null);
287
+ await new Promise((r) => setTimeout(r, 20));
288
+ const stopped = entries.filter((e) => e.type === 'status_change' && e.status === 'stopped');
289
+ expect(stopped).toHaveLength(1);
290
+ });
291
+ it('emits stopped only once when both exit and close fire', async () => {
292
+ const config = baseConfig();
293
+ const proc = await adapter.spawn(config);
294
+ const entries = [];
295
+ adapter.onEntry(proc.id, (entry) => {
296
+ entries.push(entry);
297
+ });
298
+ fakeChild.emit('exit', 0, null);
299
+ fakeChild.emit('close', 0, null);
300
+ await new Promise((r) => setTimeout(r, 20));
301
+ const stopped = entries.filter((e) => e.type === 'status_change' && e.status === 'stopped');
302
+ expect(stopped).toHaveLength(1);
303
+ });
304
+ it('includes exit code in stopped reason', async () => {
305
+ const config = baseConfig();
306
+ const proc = await adapter.spawn(config);
307
+ const entries = [];
308
+ adapter.onEntry(proc.id, (entry) => {
309
+ entries.push(entry);
310
+ });
311
+ fakeChild.emit('exit', 1, null);
312
+ await new Promise((r) => setTimeout(r, 20));
313
+ const stopped = entries.find((e) => e.type === 'status_change' && e.status === 'stopped');
314
+ expect(stopped).toBeDefined();
315
+ expect(stopped.reason).toContain('1');
316
+ });
317
+ it('succeeds despite RMCP errors when codex exits 0', async () => {
318
+ const config = baseConfig();
319
+ const proc = await adapter.spawn(config);
320
+ const entries = [];
321
+ adapter.onEntry(proc.id, (entry) => {
322
+ entries.push(entry);
323
+ });
324
+ // Simulate RMCP error then successful response then exit
325
+ fakeChild.stderr.write('2026-06-08T06:37:29.317417Z ERROR rmcp::transport::worker: worker quit with fatal\n');
326
+ fakeChild.stdout.write(JSON.stringify({
327
+ type: 'item.completed',
328
+ item: { type: 'message', content: [{ type: 'text', text: 'I am Codex' }] },
329
+ }) + '\n');
330
+ fakeChild.stdout.write(JSON.stringify({ type: 'turn.completed', usage: { input_tokens: 100, output_tokens: 50 } }) + '\n');
331
+ await new Promise((r) => setTimeout(r, 20));
332
+ fakeChild.emit('exit', 0, null);
333
+ await new Promise((r) => setTimeout(r, 20));
334
+ // No error entries from the RMCP warning
335
+ const errors = entries.filter((e) => e.type === 'error');
336
+ expect(errors).toHaveLength(0);
337
+ // Assistant message present
338
+ const msgs = entries.filter((e) => e.type === 'assistant_message');
339
+ expect(msgs.length).toBeGreaterThanOrEqual(1);
340
+ // Process stopped normally
341
+ const stopped = entries.filter((e) => e.type === 'status_change' && e.status === 'stopped');
342
+ expect(stopped).toHaveLength(1);
343
+ });
344
+ });
345
+ });
346
+ //# sourceMappingURL=codex-cli-adapter.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-cli-adapter.test.js","sourceRoot":"","sources":["../../../../../src/server/agents/codex-cli-adapter.test.ts"],"names":[],"mappings":"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"}