open-design/e2e/tests
Tom 5a0f954297
fix(daemon): emit tool_use from tool_execution_start in pi-rpc (#186)
* fix(daemon): emit tool_use from tool_execution_start in pi-rpc

The pi-rpc adapter emitted tool_use from message_end, which fires
before tool execution starts. The web UI pairs tool results to prior
tool_use events, so receiving tool_result without a preceding tool_use
broke tool card rendering and file auto-open behavior.

Move tool_use emission to tool_execution_start, matching the pattern
in copilot-stream.ts. Remove redundant tool call extraction from
message_end (tool_use is now emitted at execution time, usage is
already emitted from turn_end).

Extract mapPiRpcEvent as a pure exported function so tests exercise
the real event mapping logic instead of an inlined copy that can
diverge from production.

Ref: mrcfps review comments on PR #117

* docs(daemon): clarify mapPiRpcEvent mutability contract

The function mutates ctx.sentFirstToken to track streaming state.
Calling it "pure" is misleading; revised the doc comment to say
no I/O or child process interaction instead.

* fix(pi-rpc): remove redundant status(tool) emission from tool_execution_start

Now that tool_use fires inline from tool_execution_start, the
accompanying status(tool) event is redundant: tool_use already
carries the tool name, and the UI renders running state from the
tool card. The extra status pill breaks consecutive tool_use
grouping in AssistantMessage.buildBlocks. Aligns with
copilot-stream, which emits only tool_use from
tool.execution_start with no status event.
2026-05-02 16:06:37 +08:00
..
assistant-message.test.tsx Align app directories and isolate e2e tests (#102) 2026-04-30 09:47:03 +08:00
conversation-timestamps.test.tsx Add visible conversation timestamps (#120) 2026-05-02 11:15:07 +08:00
preview-modal-fullscreen.test.tsx fix(web): exit PreviewModal fullscreen on first Esc press (#168) 2026-04-30 23:35:01 +08:00
structured-streams.test.ts fix(daemon): emit tool_use from tool_execution_start in pi-rpc (#186) 2026-05-02 16:06:37 +08:00
todos.test.ts Align app directories and isolate e2e tests (#102) 2026-04-30 09:47:03 +08:00