SIGN IN SIGN UP

agentHost: dismiss question widget on other clients when answered (#312919)

When a question (input request) is answered on one client in a multi-client
AgentHost session, the question carousel now disappears on all other clients
and shows the actual answers instead of 'Skipped'.

- Use the protocol input request id as the carousel's resolveId so the
  chat input widget can be targeted for cleanup by key.
- Track per-entry whether completion came from shared state vs local UI.
- Listen on onWillApplyAction for SessionInputCompleted to capture answers
  before the reducer removes the input request from state (the reducer
  deletes the request entirely, so answers are only on the action payload).
- Convert protocol SessionInputAnswer records back to carousel-display
  format so the summary renders 'Q: ... / A: ...' instead of 'Skipped'.
- Guard cleanup so locally-submitted carousels keep their answer data when
  the server echoes the completion back.
- Clear the matching chat input widget via IChatWidgetService when the
  request disappears from state on passive clients.

Fixes https://github.com/microsoft/vscode/issues/312869

(Commit message generated by Copilot)
C
Connor Peet committed
1e23c4c7e0a701cce968f978ff1fe716d37da60b
Parent: 7ad23fe
Committed by GitHub <noreply@github.com> on 4/27/2026, 11:39:23 PM