Address review nits: merge v1 use blocks, file ed-mcp elicitation issue

- Merge the second agent_client_protocol::schema::v1 use block into the first, folding the elicitation types in alphabetically (paydii nit). - Reference the upstream elicitation-hook issue ondeinference/ed#33 from the AGENTS.md note on why MCP elicitation isn't forwarded yet. Co-Authored-By: siGit Code v1.6.6-acp <noreply@sigit.si>

Seto Elkahfi committed Oct 11, 2026 at 11:31 UTC 081e6ffaf04068d718fc80bd381ee5fb837eb5bc
2 files changed +22 -24
.agents/AGENTS.md
+2 -1
@@ -304,7 +304,8 @@ feeds results back. Neither the loop nor ACP/TUI surfaces depend on a concrete b
304 An MCP server's `elicitation/create` is not forwarded to the ACP client as a form
305 elicitation: `ed-mcp`'s client handler declares no capabilities and has no hook for it, so
306 servers are never offered elicitation, and `rmcp` answers `ping` and refuses other server
307 - requests itself. Forwarding needs that hook in `ed-mcp` first.
307 + requests itself. Forwarding needs that hook in `ed-mcp` first
308 + (tracked upstream at `ondeinference/ed#33`).
309 - **`src/permissions.rs`** — tool permission policy. Every tool call passes through
310 `decision_for` before executing: read-only tools always run; mutating tools (and all
311 `mcp__*`/unknown tools) are governed by, in order: per-session plan mode (`/plan` — deny all
src/main.rs
+20 -23
@@ -76,29 +76,26 @@ use agent_client_protocol::schema::ProtocolVersion;
76 use agent_client_protocol::schema::v1::{
77 AgentAuthCapabilities, AgentCapabilities, AuthMethod, AuthMethodAgent, AuthenticateRequest,
78 AuthenticateResponse, AvailableCommand, AvailableCommandInput, AvailableCommandsUpdate,
79 - CancelNotification, CloseSessionRequest, CloseSessionResponse, ConfigOptionUpdate,
80 - ContentBlock, ContentChunk, CreateTerminalRequest, CurrentModeUpdate, DeleteSessionRequest,
81 - DeleteSessionResponse, Diff, EmbeddedResourceResource, ForkSessionRequest, ForkSessionResponse,
82 - Implementation, InitializeRequest, InitializeResponse, KillTerminalRequest,
83 - ListSessionsRequest, ListSessionsResponse, LoadSessionRequest, LoadSessionResponse,
84 - LogoutCapabilities, LogoutRequest, LogoutResponse, McpCapabilities, McpServer, MessageId, Meta,
85 - NewSessionRequest, NewSessionResponse, PermissionOption, PermissionOptionKind, Plan, PlanEntry,
86 - PlanEntryPriority, PlanEntryStatus, PromptCapabilities, PromptRequest, PromptResponse,
87 - ReadTextFileRequest, ReleaseTerminalRequest, RequestPermissionOutcome,
88 - RequestPermissionRequest, ResumeSessionRequest, ResumeSessionResponse,
89 - SessionAdditionalDirectoriesCapabilities, SessionCapabilities, SessionCloseCapabilities,
90 - SessionConfigOption, SessionConfigOptionCategory, SessionConfigSelectOption,
91 - SessionConfigValueId, SessionDeleteCapabilities, SessionForkCapabilities, SessionId,
92 - SessionInfo, SessionInfoUpdate, SessionListCapabilities, SessionMode, SessionModeState,
93 - SessionNotification, SessionResumeCapabilities, SessionUpdate, SetSessionConfigOptionRequest,
94 - SetSessionConfigOptionResponse, SetSessionModeRequest, SetSessionModeResponse, StopReason,
95 - Terminal, TerminalOutputRequest, ToolCall, ToolCallContent, ToolCallLocation, ToolCallStatus,
96 - ToolCallUpdate, ToolCallUpdateFields, ToolKind, UnstructuredCommandInput, UsageUpdate,
97 - WaitForTerminalExitRequest, WriteTextFileRequest,
98 -};
99 -use agent_client_protocol::schema::v1::{
100 - CompleteElicitationNotification, CreateElicitationRequest, ElicitationAction,
101 - ElicitationRequestScope, ElicitationUrlMode, RequestId,
79 + CancelNotification, CloseSessionRequest, CloseSessionResponse, CompleteElicitationNotification,
80 + ConfigOptionUpdate, ContentBlock, ContentChunk, CreateElicitationRequest,
81 + CreateTerminalRequest, CurrentModeUpdate, DeleteSessionRequest, DeleteSessionResponse, Diff,
82 + ElicitationAction, ElicitationRequestScope, ElicitationUrlMode, EmbeddedResourceResource,
83 + ForkSessionRequest, ForkSessionResponse, Implementation, InitializeRequest, InitializeResponse,
84 + KillTerminalRequest, ListSessionsRequest, ListSessionsResponse, LoadSessionRequest,
85 + LoadSessionResponse, LogoutCapabilities, LogoutRequest, LogoutResponse, McpCapabilities,
86 + McpServer, MessageId, Meta, NewSessionRequest, NewSessionResponse, PermissionOption,
87 + PermissionOptionKind, Plan, PlanEntry, PlanEntryPriority, PlanEntryStatus, PromptCapabilities,
88 + PromptRequest, PromptResponse, ReadTextFileRequest, ReleaseTerminalRequest, RequestId,
89 + RequestPermissionOutcome, RequestPermissionRequest, ResumeSessionRequest,
90 + ResumeSessionResponse, SessionAdditionalDirectoriesCapabilities, SessionCapabilities,
91 + SessionCloseCapabilities, SessionConfigOption, SessionConfigOptionCategory,
92 + SessionConfigSelectOption, SessionConfigValueId, SessionDeleteCapabilities,
93 + SessionForkCapabilities, SessionId, SessionInfo, SessionInfoUpdate, SessionListCapabilities,
94 + SessionMode, SessionModeState, SessionNotification, SessionResumeCapabilities, SessionUpdate,
95 + SetSessionConfigOptionRequest, SetSessionConfigOptionResponse, SetSessionModeRequest,
96 + SetSessionModeResponse, StopReason, Terminal, TerminalOutputRequest, ToolCall, ToolCallContent,
97 + ToolCallLocation, ToolCallStatus, ToolCallUpdate, ToolCallUpdateFields, ToolKind,
98 + UnstructuredCommandInput, UsageUpdate, WaitForTerminalExitRequest, WriteTextFileRequest,
99 };
100 use agent_client_protocol::{Agent, ByteStreams, Client, ConnectionTo, Responder};
101 use onde::inference::{ChatEngine, GgufModelConfig};