pub struct OpenCodeAgent { /* private fields */ }Expand description
OpenCode plugin installer.
Implementations§
Source§impl OpenCodeAgent
impl OpenCodeAgent
Trait Implementations§
Source§impl Clone for OpenCodeAgent
impl Clone for OpenCodeAgent
Source§fn clone(&self) -> OpenCodeAgent
fn clone(&self) -> OpenCodeAgent
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for OpenCodeAgent
Source§impl Debug for OpenCodeAgent
impl Debug for OpenCodeAgent
Source§impl Default for OpenCodeAgent
impl Default for OpenCodeAgent
Source§fn default() -> OpenCodeAgent
fn default() -> OpenCodeAgent
Returns the “default value” for a type. Read more
Source§impl InstructionSurface for OpenCodeAgent
impl InstructionSurface for OpenCodeAgent
Source§fn id(&self) -> &'static str
fn id(&self) -> &'static str
Stable, kebab-case identifier matching
Integration::id for the
same agent.Source§fn supported_instruction_scopes(&self) -> &'static [ScopeKind]
fn supported_instruction_scopes(&self) -> &'static [ScopeKind]
Which scopes this instruction installer accepts.
Source§fn instruction_status(
&self,
scope: &Scope,
name: &str,
expected_owner: &str,
) -> Result<StatusReport, AgentConfigError>
fn instruction_status( &self, scope: &Scope, name: &str, expected_owner: &str, ) -> Result<StatusReport, AgentConfigError>
Detailed installation state for the instruction identified by
name,
scored against expected_owner. Read moreSource§fn plan_install_instruction(
&self,
scope: &Scope,
spec: &InstructionSpec,
) -> Result<InstallPlan, AgentConfigError>
fn plan_install_instruction( &self, scope: &Scope, spec: &InstructionSpec, ) -> Result<InstallPlan, AgentConfigError>
Plan an instruction install without mutating user files. Read more
Source§fn plan_uninstall_instruction(
&self,
scope: &Scope,
name: &str,
owner_tag: &str,
) -> Result<UninstallPlan, AgentConfigError>
fn plan_uninstall_instruction( &self, scope: &Scope, name: &str, owner_tag: &str, ) -> Result<UninstallPlan, AgentConfigError>
Plan an instruction uninstall without mutating user files. Read more
Source§fn install_instruction(
&self,
scope: &Scope,
spec: &InstructionSpec,
) -> Result<InstallReport, AgentConfigError>
fn install_instruction( &self, scope: &Scope, spec: &InstructionSpec, ) -> Result<InstallReport, AgentConfigError>
Install (or update) the instruction. Repeated calls with the same
name and identical content are a no-op after the first. Read more
Source§fn uninstall_instruction(
&self,
scope: &Scope,
name: &str,
owner_tag: &str,
) -> Result<UninstallReport, AgentConfigError>
fn uninstall_instruction( &self, scope: &Scope, name: &str, owner_tag: &str, ) -> Result<UninstallReport, AgentConfigError>
Uninstall the instruction identified by
name, owned by owner_tag.
Returns AgentConfigError::NotOwnedByCaller on owner mismatch. Read moreSource§fn is_instruction_installed(
&self,
scope: &Scope,
name: &str,
) -> Result<bool, AgentConfigError>
fn is_instruction_installed( &self, scope: &Scope, name: &str, ) -> Result<bool, AgentConfigError>
Returns true if an instruction named
name is currently recorded
under any owner in this scope’s ownership ledger. Read moreSource§fn validate_instruction(
&self,
scope: &Scope,
name: &str,
) -> Result<ValidationReport, AgentConfigError>
fn validate_instruction( &self, scope: &Scope, name: &str, ) -> Result<ValidationReport, AgentConfigError>
Validate instruction state without mutating user files. Read more
Source§fn validate_instruction_for_owner(
&self,
scope: &Scope,
name: &str,
expected_owner: Option<&str>,
) -> Result<ValidationReport, AgentConfigError>
fn validate_instruction_for_owner( &self, scope: &Scope, name: &str, expected_owner: Option<&str>, ) -> Result<ValidationReport, AgentConfigError>
Validate instruction state against a caller-supplied expected owner. Read more
Source§impl Integration for OpenCodeAgent
impl Integration for OpenCodeAgent
Source§fn display_name(&self) -> &'static str
fn display_name(&self) -> &'static str
Human-readable name (e.g.,
"Claude Code").Source§fn supported_scopes(&self) -> &'static [ScopeKind]
fn supported_scopes(&self) -> &'static [ScopeKind]
Which scopes this integration accepts.
Source§fn status(
&self,
scope: &Scope,
tag: &str,
) -> Result<StatusReport, AgentConfigError>
fn status( &self, scope: &Scope, tag: &str, ) -> Result<StatusReport, AgentConfigError>
Detailed installation state for the hook identified by
tag. Read moreSource§fn plan_install(
&self,
scope: &Scope,
spec: &HookSpec,
) -> Result<InstallPlan, AgentConfigError>
fn plan_install( &self, scope: &Scope, spec: &HookSpec, ) -> Result<InstallPlan, AgentConfigError>
Plan a hook install without mutating user files. Read more
Source§fn plan_uninstall(
&self,
scope: &Scope,
tag: &str,
) -> Result<UninstallPlan, AgentConfigError>
fn plan_uninstall( &self, scope: &Scope, tag: &str, ) -> Result<UninstallPlan, AgentConfigError>
Plan a hook uninstall without mutating user files. Read more
Source§fn install(
&self,
scope: &Scope,
spec: &HookSpec,
) -> Result<InstallReport, AgentConfigError>
fn install( &self, scope: &Scope, spec: &HookSpec, ) -> Result<InstallReport, AgentConfigError>
Install the hook. Repeated calls with the same
spec.tag are a no-op
after the first (the on-disk state is reached, then preserved). Read moreSource§fn uninstall(
&self,
scope: &Scope,
tag: &str,
) -> Result<UninstallReport, AgentConfigError>
fn uninstall( &self, scope: &Scope, tag: &str, ) -> Result<UninstallReport, AgentConfigError>
Uninstall the hook identified by
tag. Restores .bak files when
removing our content leaves the target file empty or pristine. Read moreSource§fn is_installed(
&self,
scope: &Scope,
tag: &str,
) -> Result<bool, AgentConfigError>
fn is_installed( &self, scope: &Scope, tag: &str, ) -> Result<bool, AgentConfigError>
Returns true if a hook with this
tag is currently installed in this
scope. Used by CLI consumers to render install/uninstall state. Read moreSource§fn validate(
&self,
scope: &Scope,
tag: &str,
) -> Result<ValidationReport, AgentConfigError>
fn validate( &self, scope: &Scope, tag: &str, ) -> Result<ValidationReport, AgentConfigError>
Validate hook state without mutating user files. Read more
Source§fn migrate(
&self,
_scope: &Scope,
_tag: &str,
) -> Result<MigrationReport, AgentConfigError>
fn migrate( &self, _scope: &Scope, _tag: &str, ) -> Result<MigrationReport, AgentConfigError>
Migrate any prior layout produced by an earlier version of the consumer
(e.g., remove a legacy shell-script wrapper that has since been
superseded by a native binary). Default impl is a no-op. Read more
Source§impl McpSurface for OpenCodeAgent
impl McpSurface for OpenCodeAgent
Source§fn id(&self) -> &'static str
fn id(&self) -> &'static str
Stable, kebab-case identifier matching
Integration::id for the same
agent (e.g., "claude").Source§fn supported_mcp_scopes(&self) -> &'static [ScopeKind]
fn supported_mcp_scopes(&self) -> &'static [ScopeKind]
Which scopes this MCP installer accepts.
Source§fn mcp_status(
&self,
scope: &Scope,
name: &str,
expected_owner: &str,
) -> Result<StatusReport, AgentConfigError>
fn mcp_status( &self, scope: &Scope, name: &str, expected_owner: &str, ) -> Result<StatusReport, AgentConfigError>
Detailed installation state for the MCP server identified by
name,
scored against expected_owner. Read moreSource§fn plan_install_mcp(
&self,
scope: &Scope,
spec: &McpSpec,
) -> Result<InstallPlan, AgentConfigError>
fn plan_install_mcp( &self, scope: &Scope, spec: &McpSpec, ) -> Result<InstallPlan, AgentConfigError>
Plan an MCP server install without mutating user files. Read more
Source§fn plan_uninstall_mcp(
&self,
scope: &Scope,
name: &str,
owner_tag: &str,
) -> Result<UninstallPlan, AgentConfigError>
fn plan_uninstall_mcp( &self, scope: &Scope, name: &str, owner_tag: &str, ) -> Result<UninstallPlan, AgentConfigError>
Plan an MCP server uninstall without mutating user files. Read more
Source§fn install_mcp(
&self,
scope: &Scope,
spec: &McpSpec,
) -> Result<InstallReport, AgentConfigError>
fn install_mcp( &self, scope: &Scope, spec: &McpSpec, ) -> Result<InstallReport, AgentConfigError>
Install (or update) the MCP server. Repeated calls with the same
spec.name and same content are a no-op after the first. Read moreSource§fn uninstall_mcp(
&self,
scope: &Scope,
name: &str,
owner_tag: &str,
) -> Result<UninstallReport, AgentConfigError>
fn uninstall_mcp( &self, scope: &Scope, name: &str, owner_tag: &str, ) -> Result<UninstallReport, AgentConfigError>
Source§fn is_mcp_installed(
&self,
scope: &Scope,
name: &str,
) -> Result<bool, AgentConfigError>
fn is_mcp_installed( &self, scope: &Scope, name: &str, ) -> Result<bool, AgentConfigError>
Returns true if a server with
name is currently recorded under any
owner in this scope’s ownership ledger. Read moreSource§fn validate_mcp(
&self,
scope: &Scope,
name: &str,
) -> Result<ValidationReport, AgentConfigError>
fn validate_mcp( &self, scope: &Scope, name: &str, ) -> Result<ValidationReport, AgentConfigError>
Validate MCP state without mutating user files. Read more
Source§fn validate_mcp_for_owner(
&self,
scope: &Scope,
name: &str,
expected_owner: Option<&str>,
) -> Result<ValidationReport, AgentConfigError>
fn validate_mcp_for_owner( &self, scope: &Scope, name: &str, expected_owner: Option<&str>, ) -> Result<ValidationReport, AgentConfigError>
Validate MCP state against a caller-supplied expected owner. Read more
Source§impl SkillSurface for OpenCodeAgent
impl SkillSurface for OpenCodeAgent
Source§fn id(&self) -> &'static str
fn id(&self) -> &'static str
Stable, kebab-case identifier matching
Integration::id for the
same agent.Source§fn supported_skill_scopes(&self) -> &'static [ScopeKind]
fn supported_skill_scopes(&self) -> &'static [ScopeKind]
Which scopes this skill installer accepts.
Source§fn skill_status(
&self,
scope: &Scope,
name: &str,
expected_owner: &str,
) -> Result<StatusReport, AgentConfigError>
fn skill_status( &self, scope: &Scope, name: &str, expected_owner: &str, ) -> Result<StatusReport, AgentConfigError>
Detailed installation state for the skill identified by
name,
scored against expected_owner. See McpSurface::mcp_status for
the owner-comparison semantics. Read moreSource§fn plan_install_skill(
&self,
scope: &Scope,
spec: &SkillSpec,
) -> Result<InstallPlan, AgentConfigError>
fn plan_install_skill( &self, scope: &Scope, spec: &SkillSpec, ) -> Result<InstallPlan, AgentConfigError>
Plan a skill install without mutating user files. Read more
Source§fn plan_uninstall_skill(
&self,
scope: &Scope,
name: &str,
owner_tag: &str,
) -> Result<UninstallPlan, AgentConfigError>
fn plan_uninstall_skill( &self, scope: &Scope, name: &str, owner_tag: &str, ) -> Result<UninstallPlan, AgentConfigError>
Plan a skill uninstall without mutating user files. Read more
Source§fn install_skill(
&self,
scope: &Scope,
spec: &SkillSpec,
) -> Result<InstallReport, AgentConfigError>
fn install_skill( &self, scope: &Scope, spec: &SkillSpec, ) -> Result<InstallReport, AgentConfigError>
Install (or update) the skill directory and record ownership.
Repeated calls with byte-identical contents are a no-op after the
first. Read more
Source§fn uninstall_skill(
&self,
scope: &Scope,
name: &str,
owner_tag: &str,
) -> Result<UninstallReport, AgentConfigError>
fn uninstall_skill( &self, scope: &Scope, name: &str, owner_tag: &str, ) -> Result<UninstallReport, AgentConfigError>
Uninstall the skill identified by
name, owned by owner_tag.
Returns AgentConfigError::NotOwnedByCaller on owner mismatch or when
the skill exists on disk but is missing from the ledger. Read moreSource§fn is_skill_installed(
&self,
scope: &Scope,
name: &str,
) -> Result<bool, AgentConfigError>
fn is_skill_installed( &self, scope: &Scope, name: &str, ) -> Result<bool, AgentConfigError>
Returns true if a skill named
name is currently recorded in the
ownership ledger for this scope. Read moreSource§fn validate_skill(
&self,
scope: &Scope,
name: &str,
) -> Result<ValidationReport, AgentConfigError>
fn validate_skill( &self, scope: &Scope, name: &str, ) -> Result<ValidationReport, AgentConfigError>
Validate skill state without mutating user files. Read more
Source§fn validate_skill_for_owner(
&self,
scope: &Scope,
name: &str,
expected_owner: Option<&str>,
) -> Result<ValidationReport, AgentConfigError>
fn validate_skill_for_owner( &self, scope: &Scope, name: &str, expected_owner: Option<&str>, ) -> Result<ValidationReport, AgentConfigError>
Validate skill state against a caller-supplied expected owner. Read more
Auto Trait Implementations§
impl Freeze for OpenCodeAgent
impl RefUnwindSafe for OpenCodeAgent
impl Send for OpenCodeAgent
impl Sync for OpenCodeAgent
impl Unpin for OpenCodeAgent
impl UnsafeUnpin for OpenCodeAgent
impl UnwindSafe for OpenCodeAgent
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more