agent host: handle elicitation requests from copilot SDK (#315882)
* agent host: handle elicitation requests from copilot SDK
- Implements the new `onElicitationRequest` hook from the Copilot SDK so that the copilot agent can surface elicitations (free-form, schema, and URL) as session input requests, dispatching the agent's reply back through the SDK once the user responds.
- Renders URL-mode elicitations in the chat UI as a proper `ChatElicitationRequestPart` that opens the URL via `IOpenerService` and dispatches Accept/Decline/Cancel, instead of falling through to the question-carousel fallback which was not designed for URL approvals.
- Adds unit tests covering the new agent-side elicitation flow as well as the workbench-side URL elicitation rendering, opener integration, decline/cancel paths, and external-completion echoes.
Fixes <no issue>
(Commit message generated by Copilot)
* address review feedback for url elicitation handling
- settle() is idempotent without short-circuiting on cancellation
- map server-side SessionInputCompleted to ElicitationState before hide()
- check IOpenerService.open() return value; treat false as Decline
- tighten boolean/number text coercion in elicitationAnswerToFieldValue
- handle free-form (no schema) accept by returning { answer: text }
- add tests covering server-side dismissal (Cancel) and opener=false C
Connor Peet committed
acdf223a8008e8f34ed3209ebdef52caa8224765
Parent: 830b948
Committed by GitHub <noreply@github.com>
on 5/11/2026, 10:39:11 PM