#!/usr/bin/env bash
# Quick start for Dino API server (assumes pi + Dino already installed)
# Usage: ./start-dino-server.sh

set -euo pipefail

DINO_DIR="${HOME}/.pi/agent/npm/node_modules/@assertrx/dino"

if [ ! -d "${DINO_DIR}" ]; then
    echo "Dino package not found at ${DINO_DIR}"
    echo "Run setup-dino-api.sh first to install."
    exit 1
fi

# Self-heal: force known-good pi-coding-agent (0.85.0 has a missing
# dependency that breaks the API server - see setup-dino-api.sh).
PI_NPM_DIR="${HOME}/.pi/agent/npm"
PINNED_PI="0.84.4"
export PI_NPM_DIR PINNED_PI
if ! node -e "const fs=require('fs');let v='';try{v=JSON.parse(fs.readFileSync(process.env.PI_NPM_DIR+'/node_modules/@earendil-works/pi-coding-agent/package.json','utf8')).version}catch(e){}process.exit(v===process.env.PINNED_PI?0:1)"; then
    echo "Installing @earendil-works/pi-coding-agent@${PINNED_PI}..."
    (cd "${PI_NPM_DIR}" && npm install "@earendil-works/pi-coding-agent@${PINNED_PI}" --save-exact --no-fund --no-audit --loglevel=error)
fi

echo "Starting Dino API server on port ${PORT:-4003}..."
exec node "${DINO_DIR}/scripts/api-server.mjs"