Add Codex steering semantics across server, runtime, and desktop chat flows (#46) 7 months ago
Authored
Max Weinbach 3/17/2026, 5:44:24 PM * Add web search source events to protocol and desktop state
* fix: preserve pending steers and search prompts on reconnect
* fix steer continuation and reconnect message replay
* Fix steer acceptance and composer clearing in desktop
* Enable desktop steering from the busy chat composer
* Show pending steer state in desktop composer
* fix steering reconnect and cancel edge cases
* GPT 5.4 Mini Support
* Persist turn usage across steered continuation errors Parent0802d11
44 files changed
apps/desktop/src/app/store.actions/thread.ts +9 −8 apps/desktop/src/app/store.actions/workspace.ts +2 −0 apps/desktop/src/app/store.feedMapping.ts +2 −0 apps/desktop/src/app/store.helpers.ts +14 −1 apps/desktop/src/app/store.helpers/runtimeState.ts +53 −0 apps/desktop/src/app/store.helpers/threadEventReducer.ts +221 −11 apps/desktop/src/app/types.ts +9 −0 apps/desktop/src/components/ai-elements/prompt-input.tsx +15 −5
apps/desktop/src/ui/ChatView.tsx +43 −10
apps/desktop/test/chat-reasoning-ui.test.ts +42 −4
apps/desktop/test/chat-view.stability.test.tsx +112 −0
apps/desktop/test/protocol-v2-events.test.ts +211 −0
apps/desktop/test/thread-reconnect.test.ts +164 −0
apps/desktop/test/ws-protocol-parse.test.ts +7 −0
config/models/codex-cli/gpt-5.4-mini.json +14 −0
config/models/openai/gpt-5.4-mini.json +14 −0
docs/websocket-protocol.md +54 −6
src/agent.ts +70 −3
src/models/childAgentModelInfo.ts +2 −0
src/models/registry.ts +4 −0
src/runtime/openaiResponsesModel.ts +2 −0
src/server/protocol.ts +18 −1
src/server/protocolEventParser.ts +9 −0
src/server/protocolParser.ts +8 −0
src/server/session/AgentSession.ts +11 −0
src/server/session/SessionContext.ts +8 −0
src/server/session/TurnExecutionManager.ts +379 −219
src/server/startServer.ts +1 −0
src/server/startServer/dispatchClientMessage.ts +2 −0
src/session/pricing.ts +10 −0
src/tools/context.ts +1 −0
src/tools/webSearch.ts +1 −1
tasks/lessons.md +3 −0
test/agent.test.ts +51 −0
test/decode-client-message.test.ts +38 −0
test/prompt.test.ts +28 −0
test/protocol.test.ts +98 −0
test/providers/codex-cli.test.ts +29 −0
test/providers/openai.test.ts +9 −0
test/runtime.pi-runtime.test.ts +54 −0
test/server.test.ts +71 −5
test/session.test.ts +375 −0
test/session/pricing.test.ts +16 −0
test/tools.test.ts +33 −0