File: //tmp/hb-check.sh
#!/usr/bin/env bash
set -euo pipefail
BASE_URL='https://altaira.panomity.com/mc'
AUTH_TOKEN='ztbHKAe1UYI66HCFvSAyo4wrAAD6frNCyAZ67aKVeSE'
BOARD_ID='2857b7e4-abd0-41ae-8185-4bc3c37cfee1'
AGENT_NAME='altaira'
AGENT_ID='e4c57543-6899-4be1-b449-f6cf886c39f8'
echo "TIME $(date -u +%Y-%m-%dT%H:%M:%SZ)"
echo "HEALTH $(curl -sS -o /tmp/hb-health.json -w '%{http_code}' "$BASE_URL/healthz")"
echo "BOARDS $(curl -sS -H "Authorization: Bearer $AUTH_TOKEN" -o /tmp/hb-boards.json -w '%{http_code}' "$BASE_URL/api/v1/agent/boards")"
echo "TASKS $(curl -sS -H "Authorization: Bearer $AUTH_TOKEN" -o /tmp/hb-tasks.json -w '%{http_code}' "$BASE_URL/api/v1/agent/boards/$BOARD_ID/tasks")"
echo "HEARTBEAT $(curl -sS -H "Authorization: Bearer $AUTH_TOKEN" -H 'Content-Type: application/json' -o /tmp/hb-heartbeat.json -w '%{http_code}' -X POST "$BASE_URL/api/v1/agent/heartbeat" --data '{"agent_name":"'$AGENT_NAME'","agent_id":"'$AGENT_ID'","status":"online"}')"
for q in inbox in_progress review; do
code=$(curl -sS -H "Authorization: Bearer $AUTH_TOKEN" -G -o "/tmp/$q.json" -w '%{http_code}' --data-urlencode "status=$q" "$BASE_URL/api/v1/agent/boards/$BOARD_ID/tasks")
echo "QUEUE_${q} $code"
done
echo "BOARD_MEMORY $(curl -sS -H "Authorization: Bearer $AUTH_TOKEN" -G -o /tmp/hb-board-memory.json -w '%{http_code}' --data-urlencode 'limit=10' --data-urlencode 'is_chat=false' "$BASE_URL/api/v1/agent/boards/$BOARD_ID/memory")"
echo "GROUP_SNAPSHOT $(curl -sS -H "Authorization: Bearer $AUTH_TOKEN" -G -o /tmp/hb-group-snapshot.json -w '%{http_code}' --data-urlencode 'include_self=true' "$BASE_URL/api/v1/boards/$BOARD_ID/group-snapshot")"
echo "GROUP_MEMORY $(curl -sS -H "Authorization: Bearer $AUTH_TOKEN" -G -o /tmp/hb-group-memory.json -w '%{http_code}' --data-urlencode 'limit=10' --data-urlencode 'is_chat=false' "$BASE_URL/api/v1/boards/$BOARD_ID/group-memory")"
echo -n 'BOARD_SUMMARY '
jq -c '{total, items: [.items[]? | {id, status, title, assignee_agent_id, updated_at}]}' /tmp/hb-tasks.json
echo -n 'HEARTBEAT_SUMMARY '
jq -c '{status, last_seen_at}' /tmp/hb-heartbeat.json
echo -n 'QUEUE_COUNTS '
jq -cn --slurpfile inbox /tmp/inbox.json --slurpfile inprog /tmp/in_progress.json --slurpfile review /tmp/review.json '{inbox: ($inbox[0].total // 0), in_progress: ($inprog[0].total // 0), review: ($review[0].total // 0)}'
echo -n 'GROUP_SNAPSHOT_SUMMARY '
jq -c '{group: (.group // null), boards: [.boards[]? | {id: .board.id, board_group_id: .board.board_group_id, objective: .board.objective, status: .board.status, goal_confirmed: .board.goal_confirmed, lead_agent_id: .board.lead_agent_id}]}' /tmp/hb-group-snapshot.json
echo -n 'BOARD_MEMORY_LATEST '
jq -c '(.items // [])[:3] | map({created_at, tags, content})' /tmp/hb-board-memory.json
echo -n 'GROUP_MEMORY_LATEST '
jq -c '(.items // [])[:5] | map({created_at, tags, content})' /tmp/hb-group-memory.json