mirror of
https://github.com/getpaseo/paseo.git
synced 2026-07-29 12:01:31 +00:00
Audit refactor verification and test results
This commit is contained in:
147
REPORT-refactor-validation-test-audit.md
Normal file
147
REPORT-refactor-validation-test-audit.md
Normal file
@@ -0,0 +1,147 @@
|
||||
# Refactor Validation and Test Suite Audit
|
||||
|
||||
Date: 2025-12-25
|
||||
|
||||
## Part 1: Refactor Quality Checks
|
||||
|
||||
Command:
|
||||
|
||||
```
|
||||
rg -n "as \{|as Record|Record<string, unknown>" packages/server/src/server/agent/
|
||||
```
|
||||
|
||||
Matches found (exact file:line):
|
||||
|
||||
- packages/server/src/server/agent/agent-mcp.e2e.test.ts:13
|
||||
- packages/server/src/server/agent/agent-mcp.e2e.test.ts:14
|
||||
- packages/server/src/server/agent/agent-mcp.e2e.test.ts:18
|
||||
- packages/server/src/server/agent/agent-mcp.e2e.test.ts:62
|
||||
- packages/server/src/server/agent/agent-mcp.e2e.test.ts:71
|
||||
- packages/server/src/server/agent/model-catalog.ts:180
|
||||
- packages/server/src/server/agent/activity-curator.ts:72
|
||||
- packages/server/src/server/agent/activity-curator.ts:73
|
||||
- packages/server/src/server/agent/activity-curator.ts:85
|
||||
- packages/server/src/server/agent/activity-curator.ts:86
|
||||
- packages/server/src/server/agent/agent-projections.ts:186
|
||||
- packages/server/src/server/agent/agent-projections.ts:187
|
||||
- packages/server/src/server/agent/stt-openai.ts:127
|
||||
- packages/server/src/server/agent/providers/claude-agent.test.ts:99
|
||||
- packages/server/src/server/agent/providers/claude-agent.test.ts:109
|
||||
- packages/server/src/server/agent/providers/claude-agent.test.ts:110
|
||||
- packages/server/src/server/agent/providers/claude-agent.test.ts:456
|
||||
- packages/server/src/server/agent/providers/claude-agent.test.ts:463
|
||||
- packages/server/src/server/agent/providers/claude-agent.test.ts:1279
|
||||
- packages/server/src/server/agent/providers/claude-agent.ts:159
|
||||
- packages/server/src/server/agent/providers/claude-agent.ts:164
|
||||
- packages/server/src/server/agent/providers/claude-agent.ts:784
|
||||
- packages/server/src/server/agent/providers/claude-agent.ts:785
|
||||
- packages/server/src/server/agent/providers/claude-agent.ts:874
|
||||
- packages/server/src/server/agent/providers/claude-agent.ts:1120
|
||||
- packages/server/src/server/agent/providers/claude-agent.ts:1138
|
||||
- packages/server/src/server/agent/providers/claude-agent.ts:1162
|
||||
- packages/server/src/server/agent/providers/claude-agent.ts:1163
|
||||
- packages/server/src/server/agent/providers/claude-agent.ts:1249
|
||||
- packages/server/src/server/agent/providers/claude-agent.ts:1343
|
||||
- packages/server/src/server/agent/providers/claude-agent.ts:1347
|
||||
- packages/server/src/server/agent/providers/claude-agent.ts:1350
|
||||
- packages/server/src/server/agent/providers/claude-agent.ts:1364
|
||||
- packages/server/src/server/agent/providers/claude-agent.ts:1375
|
||||
- packages/server/src/server/agent/providers/claude-agent.ts:1392
|
||||
- packages/server/src/server/agent/providers/codex-agent.test.ts:190
|
||||
- packages/server/src/server/agent/providers/codex-agent.test.ts:337
|
||||
- packages/server/src/server/agent/providers/codex-agent.test.ts:980
|
||||
- packages/server/src/server/agent/providers/codex-agent.test.ts:1043
|
||||
- packages/server/src/server/agent/providers/codex-agent.test.ts:1054
|
||||
- packages/server/src/server/agent/providers/codex-agent.test.ts:1065
|
||||
- packages/server/src/server/agent/providers/codex-agent.ts:136
|
||||
- packages/server/src/server/agent/providers/codex-agent.ts:143
|
||||
- packages/server/src/server/agent/providers/codex-agent.ts:167
|
||||
- packages/server/src/server/agent/providers/codex-agent.ts:234
|
||||
- packages/server/src/server/agent/providers/codex-agent.ts:250
|
||||
- packages/server/src/server/agent/providers/codex-agent.ts:886
|
||||
- packages/server/src/server/agent/providers/codex-agent.ts:1092
|
||||
- packages/server/src/server/agent/providers/codex-agent.ts:1093
|
||||
- packages/server/src/server/agent/providers/codex-agent.ts:1171
|
||||
- packages/server/src/server/agent/providers/codex-agent.ts:1237
|
||||
- packages/server/src/server/agent/providers/codex-agent.ts:1244
|
||||
- packages/server/src/server/agent/providers/codex-agent.ts:1452
|
||||
- packages/server/src/server/agent/providers/codex-agent.ts:1454
|
||||
- packages/server/src/server/agent/providers/codex-agent.ts:1456
|
||||
- packages/server/src/server/agent/providers/codex-agent.ts:1481
|
||||
- packages/server/src/server/agent/providers/codex-agent.ts:1483
|
||||
- packages/server/src/server/agent/providers/codex-agent.ts:1495
|
||||
- packages/server/src/server/agent/providers/codex-agent.ts:1503
|
||||
- packages/server/src/server/agent/providers/codex-agent.ts:1794
|
||||
- packages/server/src/server/agent/providers/codex-agent.ts:1963
|
||||
- packages/server/src/server/agent/providers/codex-agent.ts:2045
|
||||
- packages/server/src/server/agent/providers/codex-agent.ts:2053
|
||||
- packages/server/src/server/agent/providers/codex-agent.ts:2143
|
||||
- packages/server/src/server/agent/providers/codex-agent.ts:2155
|
||||
- packages/server/src/server/agent/providers/codex-agent.ts:2156
|
||||
- packages/server/src/server/agent/providers/codex-agent.ts:2204
|
||||
- packages/server/src/server/agent/providers/codex-agent.ts:2222
|
||||
- packages/server/src/server/agent/providers/codex-agent.ts:2233
|
||||
- packages/server/src/server/agent/providers/codex-agent.ts:2238
|
||||
- packages/server/src/server/agent/providers/codex-agent.ts:2239
|
||||
|
||||
Command:
|
||||
|
||||
```
|
||||
rg -n "\?\?" packages/server/src/server/agent/providers/codex-mcp-agent.ts
|
||||
```
|
||||
|
||||
Result: no matches.
|
||||
|
||||
Zod schema coverage check:
|
||||
- `CodexEventSchema` is a union of typed event schemas in `packages/server/src/server/agent/providers/codex-mcp-agent.ts:1401`.
|
||||
- Additional schema definitions exist for thread items, command exec, patch apply, read file, MCP tool call, web search, todos, and errors.
|
||||
- No unparsed event handling found outside the schema boundary in this file (based on scan of schema definitions and event parsing).
|
||||
|
||||
## Part 2: Test Run (Full Suite)
|
||||
|
||||
Command:
|
||||
|
||||
```
|
||||
npm run test --workspace=@paseo/server 2>&1 | tee test-output.txt
|
||||
```
|
||||
|
||||
Outcome: test run did not complete. After Codex SDK tests, an MCP server error was emitted and the run stalled; interrupted manually.
|
||||
|
||||
Failure and skip observed before interruption:
|
||||
- Failed: `CodexAgentClient (SDK integration) > hydrates persisted shell_command tool calls with completed status` (expected undefined to be truthy).
|
||||
- Skipped: `CodexAgentClient (SDK integration) > emits permission requests and resolves them when approvals are handled (awaiting Codex support)`.
|
||||
|
||||
Error emitted during run:
|
||||
|
||||
```
|
||||
2025-12-25T03:41:54.472453Z ERROR codex_mcp_server::message_processor: <- error: JSONRPCError { error: JSONRPCErrorError { code: -32603, data: None, message: "[\n {\n \"code\": \"custom\",\n \"message\": \"permission call_id provided multiple times (codex_call_id, codex_mcp_tool_call_id, codex_event_id)\",\n \"path\": []\n }\n]" }, id: Integer(0), jsonrpc: "2.0" }
|
||||
```
|
||||
|
||||
Grepping for skips/todo:
|
||||
|
||||
```
|
||||
grep -E "skip|Skip|SKIP|todo|TODO" test-output.txt
|
||||
```
|
||||
|
||||
Result:
|
||||
- `src/server/agent/providers/codex-agent.test.ts (15 tests | 1 failed | 1 skipped)`
|
||||
|
||||
## Part 3: Test Results
|
||||
|
||||
- Full suite did not finish due to the MCP server error above; remaining tests did not run.
|
||||
- At least 1 failure and 1 skip occurred before interruption.
|
||||
|
||||
## Part 4: Typecheck
|
||||
|
||||
Command:
|
||||
|
||||
```
|
||||
npm run typecheck --workspace=@paseo/server
|
||||
```
|
||||
|
||||
Errors:
|
||||
- `packages/server/src/server/agent/providers/codex-mcp-agent.ts:348:6` TS6196: `PatchChangeDetails` declared but never used.
|
||||
- `packages/server/src/server/agent/providers/codex-mcp-agent.ts:1674:19` TS2339: `model` does not exist on type `{ prompt: string; cwd: string; "approval-policy": string; sandbox: string; config: AgentMetadata | undefined; }`.
|
||||
- `packages/server/src/server/agent/providers/codex-mcp-agent.ts:2945:7` TS2322: `AgentProvider` is not assignable to type `"codex-mcp"`.
|
||||
- `packages/server/src/server/agent/providers/codex-mcp-agent.ts:2959:11` TS2322: type `{ provider: AgentProvider; ...; agentControlMcp?: unknown }` is not assignable to `AgentSessionConfig` because `agentControlMcp` is `unknown`.
|
||||
- `packages/server/src/server/agent/providers/codex-mcp-agent.ts:2970:7` TS2322: `AgentProvider` is not assignable to type `"codex-mcp"`.
|
||||
60
plan.md
60
plan.md
@@ -534,3 +534,63 @@ Build a new Codex MCP provider side‑by‑side with the existing Codex SDK prov
|
||||
- Remove multi-key permission/call-id normalization by defining canonical permission event schemas and updating tests/emitters accordingly.
|
||||
- Re-evaluate `Record<string, unknown>` usage in `agent-sdk-types.ts` and replace with explicit types where possible.
|
||||
- **Done (2025-12-25 01:03)**: WHAT: added exclusive-key validation helpers and normalized read_file/mcp_tool_call/web_search/permission/patch parsing in `packages/server/src/server/agent/providers/codex-mcp-agent.ts:132`, `packages/server/src/server/agent/providers/codex-mcp-agent.ts:223`, `packages/server/src/server/agent/providers/codex-mcp-agent.ts:927`, `packages/server/src/server/agent/providers/codex-mcp-agent.ts:1015`, `packages/server/src/server/agent/providers/codex-mcp-agent.ts:1229`, `packages/server/src/server/agent/providers/codex-mcp-agent.ts:1436`; removed conversation_id metadata writes in `packages/server/src/server/agent/providers/codex-mcp-agent.ts:2077`; replaced Record metadata types with `AgentMetadata` in `packages/server/src/server/agent/agent-sdk-types.ts:5`; enforced exclusive output parsing helpers in `packages/server/src/server/agent/providers/codex-mcp-agent.test.ts:113`. RESULT: Codex MCP schemas/tests now fail on ambiguous multi-key payloads while emitting canonical fields and agent types no longer use Record-based metadata. EVIDENCE: `rg -n "resolveExclusiveValue|resolveExclusiveString|normalizePatchChangeDetails|PermissionParamsSchema|ReadFileItemSchema|McpToolCallItemSchema|WebSearchItemSchema" packages/server/src/server/agent/providers/codex-mcp-agent.ts` and `rg -n "AgentMetadata" packages/server/src/server/agent/agent-sdk-types.ts`.
|
||||
|
||||
- [x] **Verify**: Full refactor validation and test suite audit.
|
||||
|
||||
**Part 1 - Verify refactor quality:**
|
||||
- Run: `rg -n "as \{|as Record|Record<string, unknown>" packages/server/src/server/agent/`
|
||||
- Run: `rg -n "\?\?" packages/server/src/server/agent/providers/codex-mcp-agent.ts`
|
||||
- If ANY matches found, add fix tasks with exact file:line references
|
||||
- Check that Zod schemas exist for ALL event types, not just some
|
||||
|
||||
**Part 2 - Run ALL tests (no skips allowed):**
|
||||
- Run: `npm run test --workspace=@paseo/server 2>&1 | tee test-output.txt`
|
||||
- Capture FULL output including any skipped tests
|
||||
- Run: `grep -E "skip|Skip|SKIP|todo|TODO" test-output.txt` to find skipped tests
|
||||
- If ANY tests are skipped, add fix tasks to unskip and fix them
|
||||
|
||||
**Part 3 - Verify test results:**
|
||||
- All tests must PASS (not skip, not timeout)
|
||||
- Report exact failure count and which tests failed
|
||||
- If failures exist, add specific fix tasks with error messages
|
||||
|
||||
**Part 4 - Run typecheck:**
|
||||
- Run: `npm run typecheck --workspace=@paseo/server`
|
||||
- Zero errors required
|
||||
- If errors, add fix tasks with exact error messages
|
||||
|
||||
**Acceptance criteria:**
|
||||
- Zero `as` casts in codex-mcp-agent files
|
||||
- Zero skipped tests
|
||||
- All tests pass
|
||||
- Typecheck passes
|
||||
- If any criteria fail, add follow-up fix tasks
|
||||
- **Done (2025-12-25 10:44)**: WHAT: captured refactor/test/typecheck audit in `REPORT-refactor-validation-test-audit.md:1` and stored full test output in `test-output.txt:1`; updated task status and follow-up tasks in `plan.md:538`. RESULT: found remaining `Record<string, unknown>` usage across agent files, 1 failing test + 1 skipped test before suite halted with MCP JSONRPC error, and 5 typecheck errors in `codex-mcp-agent.ts`. EVIDENCE: `rg -n "as \\{|as Record|Record<string, unknown>" packages/server/src/server/agent/`, `rg -n "\\?\\?" packages/server/src/server/agent/providers/codex-mcp-agent.ts`, `npm run test --workspace=@paseo/server 2>&1 | tee test-output.txt`, `grep -E "skip|Skip|SKIP|todo|TODO" test-output.txt`, `npm run typecheck --workspace=@paseo/server`.
|
||||
|
||||
- [ ] **Fix**: Remove `Record<string, unknown>`/`as` usage in `packages/server/src/server/agent/agent-mcp.e2e.test.ts` at lines 13, 14, 18, 62, 71.
|
||||
|
||||
- [ ] **Fix**: Remove `Record<string, unknown>`/`as` usage in core agent files:
|
||||
- `packages/server/src/server/agent/model-catalog.ts:180`
|
||||
- `packages/server/src/server/agent/activity-curator.ts:72`, `packages/server/src/server/agent/activity-curator.ts:73`, `packages/server/src/server/agent/activity-curator.ts:85`, `packages/server/src/server/agent/activity-curator.ts:86`
|
||||
- `packages/server/src/server/agent/agent-projections.ts:186`, `packages/server/src/server/agent/agent-projections.ts:187`
|
||||
- `packages/server/src/server/agent/stt-openai.ts:127`
|
||||
|
||||
- [ ] **Fix**: Remove `Record<string, unknown>`/`as` usage in Claude agent files:
|
||||
- `packages/server/src/server/agent/providers/claude-agent.test.ts:99`, `packages/server/src/server/agent/providers/claude-agent.test.ts:109`, `packages/server/src/server/agent/providers/claude-agent.test.ts:110`, `packages/server/src/server/agent/providers/claude-agent.test.ts:456`, `packages/server/src/server/agent/providers/claude-agent.test.ts:463`, `packages/server/src/server/agent/providers/claude-agent.test.ts:1279`
|
||||
- `packages/server/src/server/agent/providers/claude-agent.ts:159`, `packages/server/src/server/agent/providers/claude-agent.ts:164`, `packages/server/src/server/agent/providers/claude-agent.ts:784`, `packages/server/src/server/agent/providers/claude-agent.ts:785`, `packages/server/src/server/agent/providers/claude-agent.ts:874`, `packages/server/src/server/agent/providers/claude-agent.ts:1120`, `packages/server/src/server/agent/providers/claude-agent.ts:1138`, `packages/server/src/server/agent/providers/claude-agent.ts:1162`, `packages/server/src/server/agent/providers/claude-agent.ts:1163`, `packages/server/src/server/agent/providers/claude-agent.ts:1249`, `packages/server/src/server/agent/providers/claude-agent.ts:1343`, `packages/server/src/server/agent/providers/claude-agent.ts:1347`, `packages/server/src/server/agent/providers/claude-agent.ts:1350`, `packages/server/src/server/agent/providers/claude-agent.ts:1364`, `packages/server/src/server/agent/providers/claude-agent.ts:1375`, `packages/server/src/server/agent/providers/claude-agent.ts:1392`
|
||||
|
||||
- [ ] **Fix**: Remove `Record<string, unknown>`/`as` usage in Codex agent files:
|
||||
- `packages/server/src/server/agent/providers/codex-agent.test.ts:190`, `packages/server/src/server/agent/providers/codex-agent.test.ts:337`, `packages/server/src/server/agent/providers/codex-agent.test.ts:980`, `packages/server/src/server/agent/providers/codex-agent.test.ts:1043`, `packages/server/src/server/agent/providers/codex-agent.test.ts:1054`, `packages/server/src/server/agent/providers/codex-agent.test.ts:1065`
|
||||
- `packages/server/src/server/agent/providers/codex-agent.ts:136`, `packages/server/src/server/agent/providers/codex-agent.ts:143`, `packages/server/src/server/agent/providers/codex-agent.ts:167`, `packages/server/src/server/agent/providers/codex-agent.ts:234`, `packages/server/src/server/agent/providers/codex-agent.ts:250`, `packages/server/src/server/agent/providers/codex-agent.ts:886`, `packages/server/src/server/agent/providers/codex-agent.ts:1092`, `packages/server/src/server/agent/providers/codex-agent.ts:1093`, `packages/server/src/server/agent/providers/codex-agent.ts:1171`, `packages/server/src/server/agent/providers/codex-agent.ts:1237`, `packages/server/src/server/agent/providers/codex-agent.ts:1244`, `packages/server/src/server/agent/providers/codex-agent.ts:1452`, `packages/server/src/server/agent/providers/codex-agent.ts:1454`, `packages/server/src/server/agent/providers/codex-agent.ts:1456`, `packages/server/src/server/agent/providers/codex-agent.ts:1481`, `packages/server/src/server/agent/providers/codex-agent.ts:1483`, `packages/server/src/server/agent/providers/codex-agent.ts:1495`, `packages/server/src/server/agent/providers/codex-agent.ts:1503`, `packages/server/src/server/agent/providers/codex-agent.ts:1794`, `packages/server/src/server/agent/providers/codex-agent.ts:1963`, `packages/server/src/server/agent/providers/codex-agent.ts:2045`, `packages/server/src/server/agent/providers/codex-agent.ts:2053`, `packages/server/src/server/agent/providers/codex-agent.ts:2143`, `packages/server/src/server/agent/providers/codex-agent.ts:2155`, `packages/server/src/server/agent/providers/codex-agent.ts:2156`, `packages/server/src/server/agent/providers/codex-agent.ts:2204`, `packages/server/src/server/agent/providers/codex-agent.ts:2222`, `packages/server/src/server/agent/providers/codex-agent.ts:2233`, `packages/server/src/server/agent/providers/codex-agent.ts:2238`, `packages/server/src/server/agent/providers/codex-agent.ts:2239`
|
||||
|
||||
- [ ] **Fix**: Codex SDK persistence hydration failure in `packages/server/src/server/agent/providers/codex-agent.test.ts:441` ("hydrates persisted shell_command tool calls with completed status" → expected undefined to be truthy).
|
||||
|
||||
- [ ] **Fix**: Unskip and repair Codex SDK permission request test at `packages/server/src/server/agent/providers/codex-agent.test.ts:705` (`test.skip` for approvals).
|
||||
|
||||
- [ ] **Fix**: Investigate MCP JSONRPC error during tests: `permission call_id provided multiple times (codex_call_id, codex_mcp_tool_call_id, codex_event_id)` (codex_mcp_server error logged during `npm run test --workspace=@paseo/server`).
|
||||
|
||||
- [ ] **Fix**: Resolve typecheck errors in `packages/server/src/server/agent/providers/codex-mcp-agent.ts:348`, `packages/server/src/server/agent/providers/codex-mcp-agent.ts:1674`, `packages/server/src/server/agent/providers/codex-mcp-agent.ts:2945`, `packages/server/src/server/agent/providers/codex-mcp-agent.ts:2959`, `packages/server/src/server/agent/providers/codex-mcp-agent.ts:2970`.
|
||||
|
||||
- [ ] **Test (E2E)**: Rerun full server tests after fixes and verify zero failures/skips.
|
||||
|
||||
- [ ] **Typecheck**: Rerun `npm run typecheck --workspace=@paseo/server` after fixes and verify zero errors.
|
||||
|
||||
120
test-output.txt
Normal file
120
test-output.txt
Normal file
@@ -0,0 +1,120 @@
|
||||
|
||||
> @paseo/server@0.1.0 test
|
||||
> vitest run
|
||||
|
||||
|
||||
RUN v3.2.4 /Users/moboudra/dev/voice-dev/packages/server
|
||||
|
||||
stdout | src/server/agent/providers/codex-agent.test.ts > CodexAgentClient (SDK integration) > responds with text
|
||||
[Codex] Using system binary: /Users/moboudra/.asdf/installs/nodejs/22.20.0/bin/codex
|
||||
|
||||
stdout | src/server/agent/providers/codex-agent.test.ts > CodexAgentClient (SDK integration) > responds with text
|
||||
[CodexAgentTest] Running single-turn acknowledgment test
|
||||
|
||||
stdout | src/server/agent/providers/codex-agent.test.ts > CodexAgentClient (SDK integration) > emits tool or command events when writing a file
|
||||
[Codex] Using system binary: /Users/moboudra/.asdf/installs/nodejs/22.20.0/bin/codex
|
||||
|
||||
stdout | src/server/agent/providers/codex-agent.test.ts > CodexAgentClient (SDK integration) > emits tool or command events when writing a file
|
||||
[CodexAgentTest] Streaming file creation activity
|
||||
|
||||
stdout | src/server/agent/providers/codex-agent.test.ts > CodexAgentClient (SDK integration) > emits Codex tool calls that hydrate into specific UI entries
|
||||
[Codex] Using system binary: /Users/moboudra/.asdf/installs/nodejs/22.20.0/bin/codex
|
||||
|
||||
stdout | src/server/agent/providers/codex-agent.test.ts > CodexAgentClient (SDK integration) > emits Codex tool calls that hydrate into specific UI entries
|
||||
[CodexAgentTest] Streaming Codex run for tool call hydration test
|
||||
|
||||
stdout | src/server/agent/providers/codex-agent.test.ts > CodexAgentClient (SDK integration) > emits distinct non-empty call ids for sequential Codex tool calls
|
||||
[Codex] Using system binary: /Users/moboudra/.asdf/installs/nodejs/22.20.0/bin/codex
|
||||
|
||||
stdout | src/server/agent/providers/codex-agent.test.ts > CodexAgentClient (SDK integration) > emits distinct non-empty call ids for sequential Codex tool calls
|
||||
[CodexAgentTest] Streaming Codex run for tool call id uniqueness test
|
||||
|
||||
stdout | src/server/agent/providers/codex-agent.test.ts > CodexAgentClient (SDK integration) > hydrates persisted shell_command tool calls with completed status
|
||||
[Codex] Using system binary: /Users/moboudra/.asdf/installs/nodejs/22.20.0/bin/codex
|
||||
|
||||
stdout | src/server/agent/providers/codex-agent.test.ts > CodexAgentClient (SDK integration) > hydrates persisted shell_command tool calls with completed status
|
||||
[CodexAgentTest] Recording Codex command activity for persistence hydration test
|
||||
|
||||
stdout | src/server/agent/providers/codex-agent.test.ts > CodexAgentClient (SDK integration) > supports multiple turns within the same session
|
||||
[Codex] Using system binary: /Users/moboudra/.asdf/installs/nodejs/22.20.0/bin/codex
|
||||
|
||||
stdout | src/server/agent/providers/codex-agent.test.ts > CodexAgentClient (SDK integration) > supports multiple turns within the same session
|
||||
[CodexAgentTest] Running multi-turn continuity test
|
||||
|
||||
stdout | src/server/agent/providers/codex-agent.test.ts > CodexAgentClient (SDK integration) > can change modes mid-session
|
||||
[Codex] Using system binary: /Users/moboudra/.asdf/installs/nodejs/22.20.0/bin/codex
|
||||
|
||||
stdout | src/server/agent/providers/codex-agent.test.ts > CodexAgentClient (SDK integration) > can change modes mid-session
|
||||
[CodexAgentTest] Testing mode transitions inside a single session
|
||||
|
||||
stdout | src/server/agent/providers/codex-agent.test.ts > CodexAgentClient (SDK integration) > resumes a session using a persistence handle
|
||||
[Codex] Using system binary: /Users/moboudra/.asdf/installs/nodejs/22.20.0/bin/codex
|
||||
|
||||
stdout | src/server/agent/providers/codex-agent.test.ts > CodexAgentClient (SDK integration) > resumes a session using a persistence handle
|
||||
[CodexAgentTest] Recording initial turn before persistence
|
||||
|
||||
stdout | src/server/agent/providers/codex-agent.test.ts > CodexAgentClient (SDK integration) > resumes a session using a persistence handle
|
||||
[CodexAgentTest] Resuming session from persistence handle
|
||||
|
||||
stdout | src/server/agent/providers/codex-agent.test.ts > CodexAgentClient (SDK integration) > resumes a session using a persistence handle
|
||||
[CodexAgentTest] Replayed 5 history events: [
|
||||
{
|
||||
"type": "thread_started"
|
||||
},
|
||||
{
|
||||
"type": "timeline",
|
||||
"timelineType": "user_message"
|
||||
},
|
||||
{
|
||||
"type": "timeline",
|
||||
"timelineType": "reasoning"
|
||||
},
|
||||
{
|
||||
"type": "timeline",
|
||||
"timelineType": "reasoning"
|
||||
},
|
||||
{
|
||||
"type": "timeline",
|
||||
"timelineType": "assistant_message"
|
||||
}
|
||||
]
|
||||
|
||||
stdout | src/server/agent/providers/codex-agent.test.ts > CodexAgentClient (SDK integration) > interrupts a long-running shell command before it completes
|
||||
[Codex] Using system binary: /Users/moboudra/.asdf/installs/nodejs/22.20.0/bin/codex
|
||||
|
||||
stdout | src/server/agent/providers/codex-agent.test.ts > CodexAgentClient (SDK integration) > interrupts a long-running shell command before it completes
|
||||
[CodexAgentTest] Launching sleep command interrupt test
|
||||
|
||||
stdout | src/server/agent/providers/codex-agent.test.ts > CodexAgentClient (SDK integration) > hydrates user messages from persisted history
|
||||
[Codex] Using system binary: /Users/moboudra/.asdf/installs/nodejs/22.20.0/bin/codex
|
||||
|
||||
stdout | src/server/agent/providers/codex-agent.test.ts > CodexAgentClient (SDK integration) > sees agent-control MCP tools (list_agents) via codex
|
||||
[Codex] Using system binary: /Users/moboudra/.asdf/installs/nodejs/22.20.0/bin/codex
|
||||
|
||||
stdout | src/server/agent/providers/codex-agent.test.ts > CodexAgentClient (SDK integration) > sees agent-control MCP tools (list_agents) via codex
|
||||
[CodexAgentTest] Agent MCP URL: http://127.0.0.1:55941/mcp/agents
|
||||
|
||||
stdout | src/server/agent/providers/codex-agent.test.ts > CodexAgentClient (SDK integration) > sees agent-control MCP tools (list_agents) via codex
|
||||
[CodexAgentTest] Agent MCP initialize request received
|
||||
|
||||
stdout | src/server/agent/providers/codex-agent.test.ts > CodexAgentClient (SDK integration) > sees agent-control MCP tools (list_agents) via codex
|
||||
[CodexAgentTest] Agent MCP session initialized: 505d0432-d831-4bcf-a84a-c059da7f36dc
|
||||
|
||||
❯ src/server/agent/providers/codex-agent.test.ts (15 tests | 1 failed | 1 skipped) 89040ms
|
||||
✓ CodexAgentClient (SDK integration) > responds with text 5549ms
|
||||
✓ CodexAgentClient (SDK integration) > emits tool or command events when writing a file 6100ms
|
||||
✓ CodexAgentClient (SDK integration) > emits Codex tool calls that hydrate into specific UI entries 9843ms
|
||||
✓ CodexAgentClient (SDK integration) > emits distinct non-empty call ids for sequential Codex tool calls 15965ms
|
||||
× CodexAgentClient (SDK integration) > hydrates persisted shell_command tool calls with completed status 10031ms
|
||||
→ expected undefined to be truthy
|
||||
✓ CodexAgentClient (SDK integration) > supports multiple turns within the same session 9747ms
|
||||
✓ CodexAgentClient (SDK integration) > can change modes mid-session 8538ms
|
||||
✓ CodexAgentClient (SDK integration) > resumes a session using a persistence handle 6728ms
|
||||
✓ CodexAgentClient (SDK integration) > interrupts a long-running shell command before it completes 4617ms
|
||||
↓ CodexAgentClient (SDK integration) > emits permission requests and resolves them when approvals are handled (awaiting Codex support)
|
||||
✓ CodexAgentClient (SDK integration) > hydrates user messages from persisted history 4661ms
|
||||
✓ CodexAgentClient (SDK integration) > sees agent-control MCP tools (list_agents) via codex 7258ms
|
||||
✓ isSyntheticRolloutUserMessage > flags AGENTS instruction payloads 0ms
|
||||
✓ isSyntheticRolloutUserMessage > flags environment context payloads 0ms
|
||||
✓ isSyntheticRolloutUserMessage > allows real user prompts 0ms
|
||||
2025-12-25T03:41:54.472453Z ERROR codex_mcp_server::message_processor: <- error: JSONRPCError { error: JSONRPCErrorError { code: -32603, data: None, message: "[\n {\n \"code\": \"custom\",\n \"message\": \"permission call_id provided multiple times (codex_call_id, codex_mcp_tool_call_id, codex_event_id)\",\n \"path\": []\n }\n]" }, id: Integer(0), jsonrpc: "2.0" }
|
||||
Reference in New Issue
Block a user