mirror of
https://github.com/hanzoai/agents.git
synced 2026-10-30 18:48:36 +00:00
Transforms hanzoai/agents from a marketplace config repo into a full agent orchestration platform by merging the AgentField infrastructure: - Go control plane (K8s-like agent orchestration, service mesh, DAG workflows) - Python SDK (FastAPI-based agent framework, LiteLLM, memory, DID/VC) - TypeScript SDK (@hanzo/agents - Vercel AI SDK, MCP, workflows) - Go SDK (idiomatic agent builder + client) - React 19 embedded dashboard (XyFlow DAGs, Recharts, Radix UI) - Docker/K8s/Helm deployment configs - Examples: hello world, deep research, RAG, simulation, benchmarks - Functional test suite across Python/Go/TypeScript All references rebranded: AgentField → Hanzo Agents - Module: github.com/hanzoai/agents/control-plane - Python: hanzo_agents - TypeScript: @hanzo/agents - Go: github.com/hanzoai/agents/sdk/go - Env vars: HANZO_AGENTS_* - Config: hanzo-agents.yaml Previous marketplace configs moved to config/ directory.
57 lines
1.3 KiB
Go
57 lines
1.3 KiB
Go
// hanzo-agents/internal/infrastructure/storage/config.go
|
|
package storage
|
|
|
|
import (
|
|
"os"
|
|
"path/filepath"
|
|
|
|
"github.com/hanzoai/agents/control-plane/internal/core/domain"
|
|
"github.com/hanzoai/agents/control-plane/internal/core/interfaces"
|
|
"gopkg.in/yaml.v3"
|
|
)
|
|
|
|
type LocalConfigStorage struct {
|
|
fs interfaces.FileSystemAdapter
|
|
}
|
|
|
|
func NewLocalConfigStorage(fs interfaces.FileSystemAdapter) interfaces.ConfigStorage {
|
|
return &LocalConfigStorage{fs: fs}
|
|
}
|
|
|
|
func (s *LocalConfigStorage) LoadHanzoAgentsConfig(path string) (*domain.HanzoAgentsConfig, error) {
|
|
if !s.fs.Exists(path) {
|
|
return &domain.HanzoAgentsConfig{
|
|
HomeDir: filepath.Dir(path),
|
|
Environment: make(map[string]string),
|
|
MCP: domain.MCPConfig{
|
|
Servers: []domain.MCPServer{},
|
|
},
|
|
}, nil
|
|
}
|
|
|
|
data, err := s.fs.ReadFile(path)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
var config domain.HanzoAgentsConfig
|
|
if err := yaml.Unmarshal(data, &config); err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return &config, nil
|
|
}
|
|
|
|
func (s *LocalConfigStorage) SaveHanzoAgentsConfig(path string, config *domain.HanzoAgentsConfig) error {
|
|
data, err := yaml.Marshal(config)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
if err := os.MkdirAll(filepath.Dir(path), 0755); err != nil {
|
|
return err
|
|
}
|
|
|
|
return s.fs.WriteFile(path, data)
|
|
}
|