* Handle ACP `session/set_mode`. Looks the session up by id and * forwards to AcpSession.setMode. Unknown session ids throw * `invalid_params`; unknown modeIds throw `invalid_params` from * inside AcpSession.setMode. * * The ACP schema models the response as a `_meta`-
(params: SetSessionModeRequest)
| 613 | * canonical empty success. |
| 614 | */ |
| 615 | async setSessionMode(params: SetSessionModeRequest): Promise<SetSessionModeResponse | void> { |
| 616 | const acpSession = this.sessions.get(params.sessionId); |
| 617 | if (!acpSession) { |
| 618 | throw RequestError.invalidParams( |
| 619 | { sessionId: params.sessionId }, |
| 620 | `Unknown sessionId: ${params.sessionId}`, |
| 621 | ); |
| 622 | } |
| 623 | await acpSession.setMode(params.modeId); |
| 624 | } |
| 625 | |
| 626 | /** |
| 627 | * Handle the experimental ACP `session/set_model` |
no test coverage detected