Skip to main content

Module agent

Module agent 

Source
Expand description

Agent data types shared across the service boundary.

These live in core rather than in agent for the same reason crate::fs does: crate::AppMessage has to carry them from the agent worker thread to the single state owner (ARCHITECTURE.md §7.1). The AgentService trait and its implementations stay in agent, which re-exports everything here so call sites see one module.

Note what is not here: no ACP wire type. These are our own vocabulary, translated at the transport boundary, which is ADR-0003’s mitigation for protocol churn.

Structs§

AgentCapabilities
What the agent told us it can do, read from the initialize result (ADR-0014 §4). Absent means absent — an agent that says nothing about a capability is assumed not to support it, never assumed to. Recorded and reported this phase; Phase 11 gates behaviour on it.
PromptCapabilities
The content kinds a session/prompt turn may include, per the agent’s own handshake.

Enums§

AgentEvent
What comes back from the agent.
AgentRequest
Work sent to the agent.
PermissionDecision
The protocol’s four permission responses.
StopReason
Why a turn ended.