mirror of
https://gitcode.com/JianFeeeee/HomeAgent.git
synced 2026-09-21 17:38:10 +00:00
- 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
26 lines
814 B
Go
26 lines
814 B
Go
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"`
|
|
}
|