Files
agent-mgr/internal/provider/registry.go
Steven Hooker e5b07cc1d8 initial agent-mgr: app builder platform MVP
Go API server + Preact UI + Claude Code adapter.
- App-centric model (ideas, not repos)
- AgentProvider interface for multi-agent support
- K8s pod lifecycle for sandboxed agent sessions
- Gitea integration (create repos, push branches)
- WebSocket streaming for live session output
- Woodpecker CI/CD pipelines (kaniko build + kubectl deploy)
2026-02-18 15:56:32 +01:00

32 lines
612 B
Go

package provider
import "fmt"
type Registry struct {
providers map[string]AgentProvider
}
func NewRegistry() *Registry {
return &Registry{providers: make(map[string]AgentProvider)}
}
func (r *Registry) Register(p AgentProvider) {
r.providers[p.Info().Name] = p
}
func (r *Registry) Get(name string) (AgentProvider, error) {
p, ok := r.providers[name]
if !ok {
return nil, fmt.Errorf("provider %q not found", name)
}
return p, nil
}
func (r *Registry) List() []Info {
infos := make([]Info, 0, len(r.providers))
for _, p := range r.providers {
infos = append(infos, p.Info())
}
return infos
}