mirror of
https://gitcode.com/JianFeeeee/HomeAgent.git
synced 2026-09-21 09:28:14 +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:
@ -7,32 +7,21 @@ import (
|
||||
"os"
|
||||
"path/filepath"
|
||||
"time"
|
||||
|
||||
sdk "gitcode.com/JianFeeeee/HomeAgent/internal/sdk"
|
||||
)
|
||||
|
||||
type ChangeType string
|
||||
// DTO 已迁入内置 SDK,此处保留别名以兼容现有调用方。
|
||||
type ChangeType = sdk.ChangeType
|
||||
|
||||
const (
|
||||
ChangeFileCreated ChangeType = "created"
|
||||
ChangeFileModified ChangeType = "modified"
|
||||
ChangeFileDeleted ChangeType = "deleted"
|
||||
ChangeFileCreated = sdk.ChangeFileCreated
|
||||
ChangeFileModified = sdk.ChangeFileModified
|
||||
ChangeFileDeleted = sdk.ChangeFileDeleted
|
||||
)
|
||||
|
||||
type FileChange struct {
|
||||
Path string `json:"path"`
|
||||
Type ChangeType `json:"type"`
|
||||
SizeBefore int64 `json:"size_before,omitempty"`
|
||||
SizeAfter int64 `json:"size_after,omitempty"`
|
||||
HashBefore string `json:"hash_before,omitempty"`
|
||||
HashAfter string `json:"hash_after,omitempty"`
|
||||
Content []byte `json:"-"` // stored separately, not in JSON
|
||||
}
|
||||
|
||||
type ChangeSet struct {
|
||||
ID string `json:"id"`
|
||||
Action string `json:"action"`
|
||||
Timestamp time.Time `json:"timestamp"`
|
||||
Files []FileChange `json:"files"`
|
||||
}
|
||||
type FileChange = sdk.FileChange
|
||||
type ChangeSet = sdk.ChangeSet
|
||||
|
||||
func NewChangeSet(action string) *ChangeSet {
|
||||
return &ChangeSet{
|
||||
|
||||
Reference in New Issue
Block a user