Extracted from #39. Gated on decision #62.
Normalize ACP modes/models/configOptions from session/new and session/load into a webview-safe settings state; add SESSION_SETTINGS / SET_SESSION_MODE / SET_SESSION_MODEL messages; write changes via session/set_mode, session/set_model, or session/set_config_option; render SessionSettingsBar pills with a searchable model menu in the composer, disabled while generating. Gracefully no-ops when the agent exposes no modes/models.
Fix while porting: in #39, agent-pushed current_mode_update/config_option_update notifications are only consumed during session/load replay, not mid-conversation.
Size: M-L | Depends on: decision #62; #60 (or hand-rolled types) | Tier: 2
Extracted from #39. Gated on decision #62.
Normalize ACP modes/models/configOptions from
session/newandsession/loadinto a webview-safe settings state; add SESSION_SETTINGS / SET_SESSION_MODE / SET_SESSION_MODEL messages; write changes viasession/set_mode,session/set_model, orsession/set_config_option; render SessionSettingsBar pills with a searchable model menu in the composer, disabled while generating. Gracefully no-ops when the agent exposes no modes/models.Fix while porting: in #39, agent-pushed
current_mode_update/config_option_updatenotifications are only consumed during session/load replay, not mid-conversation.Size: M-L | Depends on: decision #62; #60 (or hand-rolled types) | Tier: 2