pub struct AgentInfo {
pub provider: String,
pub display_name: String,
pub description: String,
pub models: Vec<SessionModelInfo>,
pub protected_resources: Option<Vec<ProtectedResourceMetadata>>,
pub customizations: Option<Vec<Customization>>,
pub capabilities: Option<AgentCapabilities>,
}Fields§
§provider: StringAgent provider ID (e.g. 'copilot')
display_name: StringHuman-readable name
description: StringDescription string
models: Vec<SessionModelInfo>Available models for this agent
protected_resources: Option<Vec<ProtectedResourceMetadata>>Protected resources this agent requires authentication for.
Each entry describes an OAuth 2.0 protected resource using
RFC 9728 semantics.
Clients should obtain tokens from the declared authorization_servers
and push them via the authenticate command before creating sessions
with this agent.
customizations: Option<Vec<Customization>>Customizations associated with this agent.
Either container customizations —
{@link PluginCustomization | PluginCustomization} entries the agent
bundles, plus {@link DirectoryCustomization | DirectoryCustomization}
entries it watches in any workspace it’s used with — or top-level
{@link McpServerCustomization | McpServerCustomization} entries
the agent host declares directly. When a session is created with
this agent, these entries are augmented (e.g. directory URIs are
resolved against the workspace, children are parsed) and propagated
into the session’s customizations list.
capabilities: Option<AgentCapabilities>Static capabilities the agent advertises about itself. Clients use these to gate features (multi-chat, fork) instead of switching on the provider id.