#!/bin/bash # # Bootstrap script for Tier 1 Agent # Sets up workspace, credentials, and validates configuration # set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" AGENT_DIR="${SCRIPT_DIR}" echo "========================================" echo "Tier 1 Agent Bootstrap" echo "========================================" # Create required directories echo "[1/5] Creating directories..." mkdir -p "${AGENT_DIR}/workspace" mkdir -p "${AGENT_DIR}/plans" mkdir -p "${AGENT_DIR}/logs" mkdir -p "${AGENT_DIR}/credentials" # Validate config echo "[2/5] Validating configuration..." if [[ ! -f "${AGENT_DIR}/config/agent.json" ]]; then echo "ERROR: agent.json not found" exit 1 fi AGENT_ID=$(python3 -c "import json; print(json.load(open('${AGENT_DIR}/config/agent.json'))['agent_id'])") AGENT_TIER=$(python3 -c "import json; print(json.load(open('${AGENT_DIR}/config/agent.json'))['tier'])") echo " Agent ID: ${AGENT_ID}" echo " Tier: ${AGENT_TIER}" # Check Python dependencies echo "[3/5] Checking Python dependencies..." python3 -c "import sqlite3; import subprocess; import json; print(' Core modules: OK')" python3 -c "import redis; print(' Redis module: OK')" 2>/dev/null || echo " Redis module: NOT INSTALLED (optional)" # Check governance ledger echo "[4/5] Checking governance ledger..." LEDGER_DB="/opt/agent-governance/ledger/governance.db" if [[ -f "${LEDGER_DB}" ]]; then echo " Ledger database: OK" else echo " Ledger database: NOT FOUND" fi # Test agent import echo "[5/5] Testing agent import..." cd "${AGENT_DIR}" python3 -c "import agent; print(' Agent module: OK')" echo "" echo "========================================" echo "Bootstrap Complete" echo "========================================" echo "" echo "Run the agent:" echo " ./run-agent.sh status" echo " ./run-agent.sh exec 'echo hello'" echo " ./run-agent.sh test-forbidden" echo ""