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.
47 lines
1.5 KiB
Bash
Executable File
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"
|