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};