Files
blackroad/bin/br.old.backup
Alexa Amundson 78fbe80f2a Initial monorepo — everything BlackRoad in one place
bin/       230 CLI tools (ask-*, br-*, agent-*, roadid, carpool)
scripts/   99 automation scripts
fleet/     Node configs and deployment
workers/   Cloudflare Worker sources (roadpay, road-search, squad webhooks)
roadc/     RoadC programming language
roadnet/   Mesh network (5 APs, WireGuard)
operator/  Memory system scripts
config/    System configs
dotfiles/  Shell configs
docs/      Documentation

BlackRoad OS — Pave Tomorrow.

RoadChain-SHA2048: d1a24f55318d338b
RoadChain-Identity: alexa@sovereign
RoadChain-Full: d1a24f55318d338b24b60bad7be39286379c76ae5470817482100cb0ddbbcb97e147d07ac7243da0a9f0363e4e5c833d612b9c0df3a3cd20802465420278ef74875a5b77f55af6fe42a931b8b635b3d0d0b6bde9abf33dc42eea52bc03c951406d8cbe49f1a3d29b26a94dade05e9477f34a7d4d4c6ec4005c3c2ac54e73a68440c512c8e83fd9b1fe234750b898ef8f4032c23db173961fe225e67a0432b5293a9714f76c5c57ed5fdf35b9fb40fd73c03ebf88b7253c6a0575f5afb6a6b49b3bda310602fb1ef676859962dad2aebbb2875814b30eee0a8ba195e482d4cbc91d8819e7f38f6db53e8063401649c77bb994371473cabfb917fb53e8cbe73d60
2026-03-14 17:08:41 -05:00

596 lines
24 KiB
Bash

#!/usr/bin/env bash
# ============================================================================
# BLACKROAD OS, INC. - PROPRIETARY AND CONFIDENTIAL
# Copyright (c) 2025-2026 BlackRoad OS, Inc. All Rights Reserved.
#
# This code is the intellectual property of BlackRoad OS, Inc.
# AI-assisted development does not transfer ownership to AI providers.
# Unauthorized use, copying, or distribution is prohibited.
# NOT licensed for AI training or data extraction.
# ============================================================================
# ═══════════════════════════════════════════════════════════════════════════════
# BLACKROAD CLI v3.0 - The Operating System for Human Intelligence
# Unified command center for infrastructure, agents, pixel metaverse & fleet
# ═══════════════════════════════════════════════════════════════════════════════
# ── Brand Colors ──
PINK=$'\033[38;5;205m'
AMBER=$'\033[38;5;214m'
BLUE=$'\033[38;5;69m'
VIOLET=$'\033[38;5;135m'
GREEN=$'\033[38;5;82m'
RED=$'\033[38;5;196m'
PINK=$'\033[38;5;45m'
DIM=$'\033[38;5;245m'
BOLD=$'\033[1m'
RST=$'\033[0m'
# ── Paths ──
MEMORY_DIR="$HOME/.blackroad/memory"
AGENTS_DIR="$MEMORY_DIR/active-agents"
JOURNAL="$MEMORY_DIR/journals/pixel-agents.jsonl"
DB="$HOME/.blackroad/blackroad.db"
PIXEL_ENGINE="$HOME/pixel-metaverse-engine.sh"
PI_BRIDGE="$HOME/pixel-pi-bridge.sh"
SECURITY_MODULE="$HOME/blackroad-security.sh"
DASHBOARD_MODULE="$HOME/blackroad-dashboard.sh"
AI_MODULE="$HOME/blackroad-ai.sh"
# ── Header ──
header() {
echo -e "${PINK}╔══════════════════════════════════════════════════════════════════════╗${RST}"
echo -e "${PINK}${RST} ${AMBER}█▀▀▄ █ █▀▀█ █▀▀ █ █ █▀▀▄ █▀▀█ █▀▀█ █▀▀▄${RST} ${DIM}CLI v3.0${RST} ${PINK}${RST}"
echo -e "${PINK}${RST} ${AMBER}█▀▀▄ █ █▄▄█ █ █▀▄ █▄▄▀ █ █ █▄▄█ █ █${RST} ${PINK}${RST}"
echo -e "${PINK}${RST} ${AMBER}▀▀▀ ▀▀▀ ▀ ▀ ▀▀▀ ▀ ▀ ▀ ▀▀ ▀▀▀▀ ▀ ▀ ▀▀▀ ${RST} ${DIM}OS${RST} ${PINK}${RST}"
echo -e "${PINK}╚══════════════════════════════════════════════════════════════════════╝${RST}"
}
mini_header() {
echo -e "${PINK}─── ${AMBER}BLACKROAD${RST} ${PINK}───${RST} $1"
}
# ── Commands ──
cmd_help() {
header
echo ""
echo -e " ${BOLD}${AMBER}INFRASTRUCTURE${RST}"
echo -e " ${GREEN}status${RST} System overview & health"
echo -e " ${GREEN}agents${RST} List all registered agents"
echo -e " ${GREEN}deploy${RST} <target> Deploy (railway|vercel|cloudflare)"
echo -e " ${GREEN}sync${RST} Git sync all repos"
echo ""
echo -e " ${BOLD}${VIOLET}PIXEL METAVERSE${RST}"
echo -e " ${GREEN}pixel${RST} Metaverse dashboard"
echo -e " ${GREEN}pixel spawn${RST} [n] Spawn n agents (default: 10)"
echo -e " ${GREEN}pixel run${RST} [sec] Start autonomous simulation"
echo -e " ${GREEN}pixel tick${RST} Run one simulation cycle"
echo -e " ${GREEN}pixel init${RST} Full metaverse initialization"
echo ""
echo -e " ${BOLD}${BLUE}PI FLEET${RST}"
echo -e " ${GREEN}fleet${RST} Fleet status dashboard"
echo -e " ${GREEN}fleet scan${RST} Scan all Pi devices"
echo -e " ${GREEN}fleet watch${RST} [sec] Continuous fleet monitoring"
echo -e " ${GREEN}fleet ssh${RST} <name> SSH to device (cecilia|lucidia|alice|aria|octavia)"
echo ""
echo -e " ${BOLD}${PINK}MEMORY SYSTEM${RST}"
echo -e " ${GREEN}memory${RST} Memory journal tail"
echo -e " ${GREEN}memory log${RST} <msg> Append to memory"
echo -e " ${GREEN}memory search${RST} <q> Search memory entries"
echo -e " ${GREEN}memory stats${RST} Memory system statistics"
echo ""
echo -e " ${BOLD}${DIM}DATABASE${RST}"
echo -e " ${GREEN}db init${RST} Initialize SQLite database"
echo -e " ${GREEN}db agents${RST} List agents in database"
echo -e " ${GREEN}db tasks${RST} Show pending tasks"
echo -e " ${GREEN}db query${RST} <sql> Run raw SQL query"
echo ""
echo -e " ${BOLD}${PINK}AI${RST}"
echo -e " ${GREEN}ai${RST} AI chat (or: ai <prompt>)"
echo -e " ${GREEN}ai ask${RST} <agent> Chat with agent (cece, lucidia, alice...)"
echo -e " ${GREEN}ai models${RST} List available Ollama models"
echo -e " ${GREEN}ai switch${RST} <model> Change active model"
echo -e " ${GREEN}ai council${RST} <prompt> Ask all agents the same question"
echo ""
echo -e " ${BOLD}${PINK}DASHBOARD${RST}"
echo -e " ${GREEN}dash${RST} Full monitoring dashboard"
echo -e " ${GREEN}dash watch${RST} Live updating dashboard"
echo -e " ${GREEN}dash compact${RST} Single-line summary"
echo -e " ${GREEN}dash mini${RST} Minimal one-liner (for prompts)"
echo ""
echo -e " ${BOLD}${RED}SECURITY${RST}"
echo -e " ${GREEN}security${RST} Security dashboard"
echo -e " ${GREEN}security quick${RST} Quick security health check"
echo -e " ${GREEN}security audit${RST} Full security audit"
echo -e " ${GREEN}security secrets${RST} Scan for hardcoded secrets"
echo -e " ${GREEN}security fleet${RST} Pi fleet security check"
echo -e " ${GREEN}security ssh${RST} SSH key audit"
echo ""
echo -e " ${BOLD}${DIM}UTILITIES${RST}"
echo -e " ${GREEN}colors${RST} Show brand color palette"
echo -e " ${GREEN}gradient${RST} Show brand gradient"
echo -e " ${GREEN}codex${RST} <query> Search BlackRoad OS codex"
echo -e " ${GREEN}lucidia${RST} Launch Lucidia assistant"
echo ""
}
cmd_status() {
header
echo ""
# System info
echo -e " ${AMBER}SYSTEM${RST}"
echo -e " Host: ${BOLD}$(hostname)${RST}"
echo -e " User: $(whoami)"
echo -e " Git: $(git branch --show-current 2>/dev/null || echo 'n/a')"
echo -e " Uptime: $(uptime | sed 's/.*up //' | sed 's/,.*//')"
echo ""
# Pixel Metaverse
local pixel_agents=$(ls -1 "$AGENTS_DIR"/*.json 2>/dev/null | wc -l | tr -d ' ')
local pixel_events=$(wc -l < "$JOURNAL" 2>/dev/null | tr -d ' ' || echo "0")
echo -e " ${VIOLET}PIXEL METAVERSE${RST}"
echo -e " Agents: ${GREEN}$pixel_agents${RST} active"
echo -e " Events: ${AMBER}$pixel_events${RST} in journal"
echo -e " Tunnel: ${BLUE}ws://localhost:8765${RST}"
echo ""
# Pi Fleet quick check
echo -e " ${BLUE}PI FLEET${RST}"
local online=0
for ip in 192.168.4.89 192.168.4.81 192.168.4.49 192.168.4.82 192.168.4.38; do
ping -c 1 -W 1 "$ip" &>/dev/null && ((online++))
done
echo -e " Online: ${GREEN}$online${RST}/5 devices"
# Memory
local mem_entries=$(wc -l < "$MEMORY_DIR/journals/master-journal.jsonl" 2>/dev/null | tr -d ' ' || echo "0")
echo ""
echo -e " ${PINK}MEMORY${RST}"
echo -e " Entries: ${AMBER}$mem_entries${RST}"
echo ""
}
cmd_pixel() {
local subcmd="${1:-dashboard}"
shift 2>/dev/null || true
case "$subcmd" in
dashboard|status)
mini_header "Pixel Metaverse"
echo ""
# Count by type
local total=$(ls -1 "$AGENTS_DIR"/*.json 2>/dev/null | wc -l | tr -d ' ')
local pixel=$(ls -1 "$AGENTS_DIR"/pixel-*.json 2>/dev/null | wc -l | tr -d ' ')
local pi=$(ls -1 "$AGENTS_DIR"/pi-*.json 2>/dev/null | wc -l | tr -d ' ')
local device=$(ls -1 "$AGENTS_DIR"/device-*.json 2>/dev/null | wc -l | tr -d ' ')
local claude=$(ls -1 "$AGENTS_DIR"/claude-*.json 2>/dev/null | wc -l | tr -d ' ')
echo -e " ${AMBER}AGENTS${RST}"
echo -e " 🤖 Pixel Agents: ${GREEN}$pixel${RST}"
echo -e " 🍓 Real Pis: ${BLUE}$pi${RST}"
echo -e " 💻 Devices: ${VIOLET}$device${RST}"
echo -e " 🧠 Claude: ${PINK}$claude${RST}"
echo -e " ─────────────────"
echo -e " 📊 Total: ${BOLD}$total${RST}"
echo ""
# Recent activity
echo -e " ${AMBER}RECENT ACTIVITY${RST}"
tail -5 "$JOURNAL" 2>/dev/null | while read -r line; do
local action=$(echo "$line" | python3 -c "import sys,json; print(json.load(sys.stdin).get('action','?'))" 2>/dev/null || echo "?")
local name=$(echo "$line" | python3 -c "import sys,json; print(json.load(sys.stdin).get('agent',{}).get('name','?'))" 2>/dev/null || echo "?")
local sprite=$(echo "$line" | python3 -c "import sys,json; print(json.load(sys.stdin).get('agent',{}).get('sprite','🤖'))" 2>/dev/null || echo "🤖")
echo -e " $sprite ${DIM}$name${RST}$action"
done
echo ""
;;
spawn)
local count="${1:-10}"
mini_header "Spawning $count agents"
if [[ -x "$PIXEL_ENGINE" ]]; then
"$PIXEL_ENGINE" spawn "$count"
else
echo -e "${RED}Error:${RST} pixel-metaverse-engine.sh not found"
fi
;;
run)
local interval="${1:-10}"
mini_header "Starting autonomous simulation (${interval}s)"
if [[ -x "$PIXEL_ENGINE" ]]; then
"$PIXEL_ENGINE" run "$interval"
else
echo -e "${RED}Error:${RST} pixel-metaverse-engine.sh not found"
fi
;;
tick)
mini_header "Running simulation tick"
if [[ -x "$PIXEL_ENGINE" ]]; then
"$PIXEL_ENGINE" tick
else
echo -e "${RED}Error:${RST} pixel-metaverse-engine.sh not found"
fi
;;
init)
mini_header "Full metaverse initialization"
if [[ -x "$PIXEL_ENGINE" ]]; then
"$PIXEL_ENGINE" full-init
else
echo -e "${RED}Error:${RST} pixel-metaverse-engine.sh not found"
fi
;;
*)
echo -e "${RED}Unknown pixel command:${RST} $subcmd"
echo -e "Try: ${GREEN}br pixel${RST}, ${GREEN}br pixel spawn${RST}, ${GREEN}br pixel run${RST}"
;;
esac
}
cmd_fleet() {
local subcmd="${1:-status}"
shift 2>/dev/null || true
# Device definitions
declare -a DEVICES=(
"cecilia|192.168.4.89|100.72.180.98|Primary AI (Hailo-8)|👩‍💻"
"lucidia|192.168.4.81|100.83.149.86|AI Inference|🎨"
"alice|192.168.4.49|100.77.210.18|Worker Node|📚"
"aria|192.168.4.82|100.109.14.17|Harmony Protocols|🧠"
"octavia|192.168.4.38|100.66.235.47|Multi-arm Processing|🐙"
)
case "$subcmd" in
status|dashboard)
mini_header "Pi Fleet Status"
echo ""
local online=0
local offline=0
for device in "${DEVICES[@]}"; do
IFS='|' read -r name local_ip ts_ip role sprite <<< "$device"
echo -ne " $sprite ${AMBER}$name${RST} "
printf "%-12s" ""
if ping -c 1 -W 1 "$local_ip" &>/dev/null; then
echo -e "${GREEN}${RST} ONLINE ${DIM}$local_ip${RST}"
((online++))
elif ping -c 1 -W 1 "$ts_ip" &>/dev/null; then
echo -e "${BLUE}${RST} TAILSCALE ${DIM}$ts_ip${RST}"
((online++))
else
echo -e "${RED}${RST} OFFLINE"
((offline++))
fi
done
echo ""
echo -e " ─────────────────────────────────────"
echo -e " Fleet: ${GREEN}$online online${RST}, ${RED}$offline offline${RST}"
echo ""
;;
scan)
mini_header "Scanning Pi Fleet"
if [[ -x "$PI_BRIDGE" ]]; then
"$PI_BRIDGE" scan
else
echo -e "${RED}Error:${RST} pixel-pi-bridge.sh not found"
fi
;;
watch)
local interval="${1:-15}"
mini_header "Fleet Monitor (${interval}s)"
if [[ -x "$PI_BRIDGE" ]]; then
"$PI_BRIDGE" watch "$interval"
else
echo -e "${RED}Error:${RST} pixel-pi-bridge.sh not found"
fi
;;
ssh)
local target="$1"
if [[ -z "$target" ]]; then
echo -e "${RED}Usage:${RST} br fleet ssh <name>"
echo -e "Available: cecilia, lucidia, alice, aria, octavia"
return 1
fi
# Find IP for target
for device in "${DEVICES[@]}"; do
IFS='|' read -r name local_ip ts_ip role sprite <<< "$device"
if [[ "$name" == "$target" ]]; then
echo -e "${PINK}Connecting to $sprite $name...${RST}"
ssh "$local_ip" 2>/dev/null || ssh "$ts_ip" 2>/dev/null || echo -e "${RED}$name offline${RST}"
return
fi
done
echo -e "${RED}Unknown device:${RST} $target"
;;
*)
echo -e "${RED}Unknown fleet command:${RST} $subcmd"
echo -e "Try: ${GREEN}br fleet${RST}, ${GREEN}br fleet scan${RST}, ${GREEN}br fleet watch${RST}"
;;
esac
}
cmd_memory() {
local subcmd="${1:-log}"
shift 2>/dev/null || true
case "$subcmd" in
log|tail)
mini_header "Memory Journal (last 20)"
tail -20 "$MEMORY_DIR/journals/master-journal.jsonl" 2>/dev/null | while read -r line; do
local ts=$(echo "$line" | python3 -c "import sys,json; print(json.load(sys.stdin).get('timestamp','?')[:19])" 2>/dev/null || echo "?")
local action=$(echo "$line" | python3 -c "import sys,json; print(json.load(sys.stdin).get('action','?'))" 2>/dev/null || echo "?")
local entity=$(echo "$line" | python3 -c "import sys,json; print(json.load(sys.stdin).get('entity','?'))" 2>/dev/null || echo "?")
echo -e " ${DIM}$ts${RST} ${AMBER}$action${RST}$entity"
done
;;
append|add)
local msg="$*"
if [[ -z "$msg" ]]; then
echo -e "${RED}Usage:${RST} br memory log <message>"
return 1
fi
echo "{\"timestamp\":\"$(date -u +%Y-%m-%dT%H:%M:%S.000Z)\",\"action\":\"note\",\"entity\":\"cli\",\"details\":\"$msg\",\"tags\":[\"cli\"]}" >> "$MEMORY_DIR/journals/master-journal.jsonl"
echo -e "${GREEN}${RST} Logged to memory"
;;
search)
local query="$*"
if [[ -z "$query" ]]; then
echo -e "${RED}Usage:${RST} br memory search <query>"
return 1
fi
mini_header "Searching: $query"
grep -i "$query" "$MEMORY_DIR/journals/master-journal.jsonl" 2>/dev/null | tail -10 | while read -r line; do
local action=$(echo "$line" | python3 -c "import sys,json; print(json.load(sys.stdin).get('action','?'))" 2>/dev/null || echo "?")
local entity=$(echo "$line" | python3 -c "import sys,json; print(json.load(sys.stdin).get('entity','?'))" 2>/dev/null || echo "?")
echo -e " ${AMBER}$action${RST}$entity"
done
;;
stats)
mini_header "Memory Statistics"
local total=$(wc -l < "$MEMORY_DIR/journals/master-journal.jsonl" 2>/dev/null | tr -d ' ' || echo "0")
local pixel=$(wc -l < "$JOURNAL" 2>/dev/null | tr -d ' ' || echo "0")
local agents=$(ls -1 "$AGENTS_DIR"/*.json 2>/dev/null | wc -l | tr -d ' ')
local tasks=$(ls -1 "$MEMORY_DIR/tasks/"*.json 2>/dev/null | wc -l | tr -d ' ' || echo "0")
echo -e " Master Journal: ${AMBER}$total${RST} entries"
echo -e " Pixel Events: ${VIOLET}$pixel${RST} events"
echo -e " Active Agents: ${GREEN}$agents${RST}"
echo -e " Tasks: ${BLUE}$tasks${RST}"
;;
*)
echo -e "${RED}Unknown memory command:${RST} $subcmd"
;;
esac
}
cmd_agents() {
mini_header "Registered Agents"
echo ""
# From pixel agents
echo -e " ${AMBER}PIXEL AGENTS${RST}"
for file in "$AGENTS_DIR"/pixel-*.json; do
[[ ! -f "$file" ]] && continue
local name=$(python3 -c "import json; print(json.load(open('$file')).get('name','?'))" 2>/dev/null || echo "?")
local sprite=$(python3 -c "import json; print(json.load(open('$file')).get('sprite','🤖'))" 2>/dev/null || echo "🤖")
local activity=$(python3 -c "import json; print(json.load(open('$file')).get('current_activity','idle'))" 2>/dev/null || echo "idle")
echo -e " $sprite $name: ${DIM}$activity${RST}"
done | head -10
# Count more if exists
local total_pixel=$(ls -1 "$AGENTS_DIR"/pixel-*.json 2>/dev/null | wc -l | tr -d ' ')
if [[ "$total_pixel" -gt 10 ]]; then
echo -e " ${DIM}... and $((total_pixel - 10)) more${RST}"
fi
echo ""
# Pi agents
echo -e " ${BLUE}PI AGENTS${RST}"
for file in "$AGENTS_DIR"/pi-*.json; do
[[ ! -f "$file" ]] && continue
local name=$(python3 -c "import json; print(json.load(open('$file')).get('name','?'))" 2>/dev/null || echo "?")
local sprite=$(python3 -c "import json; print(json.load(open('$file')).get('sprite','🍓'))" 2>/dev/null || echo "🍓")
local status=$(python3 -c "import json; print(json.load(open('$file')).get('status','offline'))" 2>/dev/null || echo "offline")
if [[ "$status" == "online" ]]; then
echo -e " $sprite $name: ${GREEN}${RST} online"
else
echo -e " $sprite $name: ${RED}${RST} offline"
fi
done
echo ""
}
cmd_deploy() {
local target="${1:-railway}"
mini_header "Deploying to $target"
case "$target" in
railway)
railway up
;;
vercel)
vercel --prod
;;
cloudflare|cf)
wrangler deploy
;;
pages)
local dir="${2:-.}"
local project="${3:-blackroad-deploy}"
wrangler pages deploy "$dir" --project-name="$project"
;;
*)
echo -e "Targets: ${GREEN}railway${RST} | ${GREEN}vercel${RST} | ${GREEN}cloudflare${RST} | ${GREEN}pages${RST} <dir> <project>"
;;
esac
}
cmd_sync() {
mini_header "Syncing repositories"
for r in ~/.blackroad/*/; do
if [[ -d "$r/.git" ]]; then
(cd "$r" && git pull --ff-only 2>/dev/null && echo -e " ${GREEN}${RST} $(basename "$r")" || echo -e " ${RED}${RST} $(basename "$r")")
fi
done
}
cmd_colors() {
mini_header "Brand Colors"
echo ""
echo -e " ${PINK}████${RST} Hot Pink #FF1D6C (205)"
echo -e " ${AMBER}████${RST} Amber #F5A623 (214)"
echo -e " ${BLUE}████${RST} Electric Blue #2979FF (69)"
echo -e " ${VIOLET}████${RST} Violet #9C27B0 (135)"
echo -e " ${GREEN}████${RST} Success #50FA7B (82)"
echo -e " ${RED}████${RST} Error #FF5555 (196)"
echo ""
}
cmd_gradient() {
for c in 208 214 220 198 205 134 135 33 69; do
printf "\033[38;5;${c}m▓▓▓"
done
echo -e "${RST}"
}
cmd_codex() {
local query="$*"
if [[ -z "$query" ]]; then
echo -e "${RED}Usage:${RST} br codex <query>"
return 1
fi
mini_header "Searching BlackRoad OS Codex"
python3 ~/blackroad-blackroad\ os-search.py "$query" 2>/dev/null || echo -e "${DIM}Codex not available${RST}"
}
cmd_lucidia() {
~/bin/blackroad
}
cmd_security() {
if [[ -x "$SECURITY_MODULE" ]]; then
"$SECURITY_MODULE" "$@"
else
echo -e "${RED}Error:${RST} blackroad-security.sh not found"
fi
}
cmd_dashboard() {
if [[ -x "$DASHBOARD_MODULE" ]]; then
"$DASHBOARD_MODULE" "$@"
else
echo -e "${RED}Error:${RST} blackroad-dashboard.sh not found"
fi
}
cmd_ai() {
if [[ -x "$AI_MODULE" ]]; then
"$AI_MODULE" "$@"
else
echo -e "${RED}Error:${RST} blackroad-ai.sh not found"
fi
}
cmd_db() {
local subcmd="${1:-help}"
shift 2>/dev/null || true
case "$subcmd" in
init)
sqlite3 "$DB" "CREATE TABLE IF NOT EXISTS agents(name TEXT PRIMARY KEY,state INT DEFAULT 0,type TEXT,updated_at TEXT);CREATE TABLE IF NOT EXISTS config(key TEXT PRIMARY KEY,value TEXT);CREATE TABLE IF NOT EXISTS tasks(id INTEGER PRIMARY KEY,agent TEXT,status TEXT DEFAULT 'pending',payload TEXT,created_at TEXT);CREATE TABLE IF NOT EXISTS logs(id INTEGER PRIMARY KEY,source TEXT,message TEXT,ts TEXT DEFAULT CURRENT_TIMESTAMP);"
echo -e "${GREEN}${RST} Database initialized"
;;
agents)
sqlite3 -header -column "$DB" "SELECT * FROM agents;" 2>/dev/null || echo -e "${DIM}No agents${RST}"
;;
agent-set)
sqlite3 "$DB" "INSERT OR REPLACE INTO agents VALUES('${1}',${2:-0},'${3:-compute}',datetime('now'));"
echo -e "${GREEN}${RST} ${1}${2:-0}"
;;
tasks)
sqlite3 -header -column "$DB" "SELECT * FROM tasks WHERE status='pending';" 2>/dev/null || echo -e "${DIM}No pending tasks${RST}"
;;
task-add)
sqlite3 "$DB" "INSERT INTO tasks(agent,payload,created_at) VALUES('${1}','${2}',datetime('now'));"
echo -e "${GREEN}${RST} Task queued for ${1}"
;;
task-done)
sqlite3 "$DB" "UPDATE tasks SET status='done' WHERE id=${1};"
echo -e "${GREEN}${RST} Task ${1} completed"
;;
logs)
sqlite3 -header -column "$DB" "SELECT * FROM logs ORDER BY id DESC LIMIT ${1:-20};" 2>/dev/null
;;
query)
sqlite3 -header -column "$DB" "$*" 2>/dev/null
;;
*)
echo -e "db commands: ${GREEN}init${RST} | ${GREEN}agents${RST} | ${GREEN}agent-set${RST} | ${GREEN}tasks${RST} | ${GREEN}task-add${RST} | ${GREEN}task-done${RST} | ${GREEN}logs${RST} | ${GREEN}query${RST}"
;;
esac
}
# ── Main Router ──
case "${1:-help}" in
# Core
help|-h|--help) cmd_help ;;
status|s) cmd_status ;;
agents|a) cmd_agents ;;
deploy|d) shift; cmd_deploy "$@" ;;
sync) cmd_sync ;;
# Pixel Metaverse
pixel|p|meta) shift; cmd_pixel "$@" ;;
# Pi Fleet
fleet|f|pi) shift; cmd_fleet "$@" ;;
# Memory
memory|m|mem) shift; cmd_memory "$@" ;;
# Database
db) shift; cmd_db "$@" ;;
# AI
ai) shift; cmd_ai "$@" ;;
# Dashboard
dash|dashboard) shift; cmd_dashboard "$@" ;;
# Security
security|sec) shift; cmd_security "$@" ;;
# Utilities
colors) cmd_colors ;;
gradient) cmd_gradient ;;
codex|c) shift; cmd_codex "$@" ;;
lucidia|l) cmd_lucidia ;;
banner) header ;;
# Agent SSH shortcut
ssh) shift; cmd_fleet ssh "$@" ;;
*)
echo -e "${RED}Unknown command:${RST} $1"
echo -e "Run ${GREEN}br help${RST} for available commands"
;;
esac