Files

42 lines
1.2 KiB
Go

package plugins
// InstallConfig holds the configuration needed to install an agent plugin.
type InstallConfig struct {
AgentName string
OrgID string
AgentID string
PrivateKey string
KID string
Token string
BaseURL string
HookScript string // absolute path to the generated hook script
GuardScriptPath string // absolute path to the generated guard script (PreToolUse)
}
// PluginStatus describes the current state of a plugin installation.
type PluginStatus struct {
Installed bool
AgentName string
DisplayName string
HookConfigured bool
HookScriptExists bool
ConfigPath string
}
// AgentPlugin is the interface that every agent integration must implement.
type AgentPlugin interface {
Install(config InstallConfig) error
Uninstall(agentID string) error
Status() (PluginStatus, error)
}
// InstallPreflighter validates provider and runtime sources before CLI writes.
type InstallPreflighter interface {
PreflightInstall(config InstallConfig) error
}
// GuardRuntimeManager owns provider-specific guard generation transactionally.
type GuardRuntimeManager interface {
ManagesGuardRuntime() bool
}