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

47 lines
1.5 KiB
Bash
Executable File

#!/bin/bash
# Railway build script that waits for hanzo-agents to be available on PyPI
# This handles the race condition where Railway deploys before PyPI upload completes
set -e
# Set up virtual environment (replaces Nixpacks default install phase)
python -m venv --copies /opt/venv
. /opt/venv/bin/activate
# Extract hanzo-agents version requirement from requirements.txt
HANZO_AGENTS_REQ=$(grep -E "^hanzo-agents" requirements.txt || echo "")
if [ -z "$HANZO_AGENTS_REQ" ]; then
echo "No hanzo-agents requirement found, proceeding with normal install"
pip install -r requirements.txt
exit 0
fi
# Parse minimum version from requirement (handles >=X.Y.Z format)
MIN_VERSION=$(echo "$HANZO_AGENTS_REQ" | sed -E 's/hanzo-agents[>=<]+//' | tr -d ' ')
echo "Checking for hanzo-agents>=$MIN_VERSION on PyPI..."
MAX_RETRIES=30
RETRY_INTERVAL=10
for i in $(seq 1 $MAX_RETRIES); do
# Try to install the specific version to check if it exists
if pip install --dry-run "hanzo-agents>=$MIN_VERSION" >/dev/null 2>&1; then
echo "hanzo-agents>=$MIN_VERSION is available on PyPI"
break
fi
if [ "$i" -eq "$MAX_RETRIES" ]; then
echo "Warning: Timed out waiting for hanzo-agents $MIN_VERSION on PyPI"
echo "Attempting install anyway..."
break
fi
echo "Attempt $i/$MAX_RETRIES: hanzo-agents>=$MIN_VERSION not yet available, waiting ${RETRY_INTERVAL}s..."
sleep $RETRY_INTERVAL
done
pip install -r requirements.txt
echo "Installation complete"