mirror of
https://gitcode.com/JianFeeeee/HomeAgent.git
synced 2026-10-15 12:15:16 +00:00
refactor: migrate built-in plugins to SDK-only interface
- Six-phase plan complete: webui/cli/healthcheck/pluginmgr/clawhubadapter now interact with the kernel exclusively via internal/sdk interfaces; all Configure() calls and package-level global injection removed - buildSDK in internal/plugin/registry.go is the single assembly point - Add internal/sdk/events.go exporting event types/constants - Fix ProviderManager cooldown sharing: LuaAdaptedProvider.Name() now returns the source name instead of lua_<adapter>, so multiple sources sharing an adapter (single script load via shared VM AdapterCache) no longer share failure-cooldown state - Verified: build/vet/tests green, deployed to homeagent.service with full plugin capability testing via local OpenAI-compatible mock
This commit is contained in:
25
internal/sdk/supervisor.go
Normal file
25
internal/sdk/supervisor.go
Normal file
@ -0,0 +1,25 @@
|
||||
package sdk
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
"gitcode.com/JianFeeeee/HomeAgent/pkg/types"
|
||||
)
|
||||
|
||||
// SupervisorAPI provides access to agent lifecycle management.
|
||||
type SupervisorAPI interface {
|
||||
ListAgents() []AgentStatus
|
||||
GetAgentStatus(id string) (*AgentStatus, error)
|
||||
PreActionSnapshot(id string) (*types.Snapshot, error)
|
||||
RollbackAgent(id string, snapID string) error
|
||||
}
|
||||
|
||||
// AgentStatus is a neutral snapshot of a supervised agent.
|
||||
type AgentStatus struct {
|
||||
ID types.AgentID `json:"id"`
|
||||
State types.AgentState `json:"state"`
|
||||
Health types.HealthStatus `json:"health"`
|
||||
Uptime time.Duration `json:"uptime,omitempty"`
|
||||
Network types.NetworkCheckResult `json:"network,omitempty"`
|
||||
TrackerStats map[string]interface{} `json:"tracker_stats,omitempty"`
|
||||
}
|
||||
Reference in New Issue
Block a user