-
Notifications
You must be signed in to change notification settings - Fork 2
feat(acp): expose current model in SessionInfoUpdate and session/list response #2435
Copy link
Copy link
Closed
Labels
P2High value, medium complexityHigh value, medium complexityenhancementNew feature or requestNew feature or request
Description
Problem
In ACP sessions, the currently active model is not visible to the client after session creation:
session/new→configOptionsadvertises models as a select-option (correct), but the client must guess which one is active if the session was resumed or if the model was changed mid-session.session/updatestreamsSessionInfoUpdateonly fortitlechanges — model field not included.session/listresponse does not include current model per session.
Result: IDE clients (Zed, OpenCode) cannot display which model is active in the session header without issuing session/new again.
Expected Behavior
- After model switch via
session/set_config_optionwithconfigId=model, aSessionInfoUpdateshould be streamed with the newcurrent_modelvalue. session/listentries should include the current model key.SessionInfoUpdatealready exists in the codebase (used for title) — extend it to carryconfigOptionsor a dedicatedmodelfield on change.
ACP Spec Reference
agent-client-protocol 0.10.3 / schema 0.11.1 introduces session_info_update as a stable mechanism for streaming session metadata to clients. Model visibility is a natural use case.
Implementation Sketch
In crates/zeph-acp/src/agent/helpers.rs loopback_event_to_session_updates: add a LoopbackEvent::ModelChanged variant that emits SessionInfoUpdate::new().config_options(build_config_options(...)) with the updated model selected.
In handle_set_config_option: fire the ModelChanged loopback event after updating current_model.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
P2High value, medium complexityHigh value, medium complexityenhancementNew feature or requestNew feature or request