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.
64 lines
2.8 KiB
Go
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)
|
|
}
|