Files
zeekayandGitHub 5b5cf9e9db feat: merge AgentField control plane + SDKs as Hanzo Agents (#1)
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.
2026-02-09 18:53:09 -08:00

64 lines
2.8 KiB
Go

package interfaces
import (
"github.com/hanzoai/agents/control-plane/internal/core/domain"
)
// PackageService defines the contract for package management operations.
// This interface abstracts package installation, uninstallation, and listing operations.
type PackageService interface {
// InstallPackage installs a package from the given source with specified options.
// The source can be a local path, GitHub URL, or other supported package sources.
// Returns an error if the installation fails.
InstallPackage(source string, options domain.InstallOptions) error
// UninstallPackage removes an installed package by name.
// Returns an error if the package is not found or cannot be uninstalled.
UninstallPackage(name string) error
// ListInstalledPackages returns a list of all installed packages.
// Returns an error if the package registry cannot be read.
ListInstalledPackages() ([]domain.InstalledPackage, error)
// GetPackageInfo retrieves detailed information about a specific installed package.
// Returns an error if the package is not found.
GetPackageInfo(name string) (*domain.InstalledPackage, error)
}
// AgentService defines the contract for agent management operations.
// This interface abstracts running, stopping, and monitoring agent instances.
type AgentService interface {
// RunAgent starts an agent with the given name and options.
// Returns information about the running agent or an error if startup fails.
RunAgent(name string, options domain.RunOptions) (*domain.RunningAgent, error)
// StopAgent stops a running agent by name.
// Returns an error if the agent is not found or cannot be stopped.
StopAgent(name string) error
// GetAgentStatus retrieves the current status of an agent by name.
// Returns an error if the agent is not found.
GetAgentStatus(name string) (*domain.AgentStatus, error)
// ListRunningAgents returns a list of all currently running agents.
// Returns an error if the agent information cannot be retrieved.
ListRunningAgents() ([]domain.RunningAgent, error)
}
// DevService defines the contract for development mode operations.
// This interface abstracts running agents in development mode with hot reloading.
type DevService interface {
// RunInDevMode starts an agent in development mode from the given path.
// Development mode typically includes features like hot reloading and verbose logging.
// Returns an error if the development server cannot be started.
RunInDevMode(path string, options domain.DevOptions) error
// StopDevMode stops the development server for the given path.
// Returns an error if no development server is running for the path.
StopDevMode(path string) error
// GetDevStatus retrieves the status of development mode for a given path.
// Returns information about the running development server or an error.
GetDevStatus(path string) (*domain.DevStatus, error)
}