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

33 lines
820 B
Python

"""
Helpers for naming agent nodes in functional tests.
"""
import re
import uuid
SAFE_NODE_ID_CHARS = re.compile(r"[^a-zA-Z0-9-_\.]")
def sanitize_node_id(base: str) -> str:
"""
Sanitize a node_id base string to include only characters allowed by Hanzo Agents.
"""
return SAFE_NODE_ID_CHARS.sub("-", base).strip("-") or "agent"
def unique_node_id(base: str, *, suffix: str | None = None) -> str:
"""
Generate a unique node ID for concurrent functional tests.
Args:
base: Readable prefix (e.g., "quick-start-agent")
suffix: Optional deterministic suffix. If omitted, a short UUID is appended.
"""
token = suffix or uuid.uuid4().hex[:8]
safe_base = sanitize_node_id(base)
return f"{safe_base}-{token}"
__all__ = ["sanitize_node_id", "unique_node_id"]