#!/usr/bin/env bash
# beagle-store-code-wire on|off <dir> [server-json]  —  shared MERGE/UNWIRE logic for
# beagle-store-code-on / beagle-store-code-off. Writes/removes the store MCP server entry in
# <dir>/.codex/config.toml without clobbering unrelated keys or sections.
set -euo pipefail
MODE="${1:?usage: beagle-store-code-wire on|off <dir> [server-json]}"
DIR="${2:?usage: beagle-store-code-wire on|off <dir> [server-json]}"
SERVER_JSON="${3:-}"
CODEX_TOML="$DIR/.codex/config.toml"

case "$MODE" in
  on)
    [ -n "$SERVER_JSON" ] || { echo "beagle-store-code-wire on: needs server-json" >&2; exit 1; }
    # Replace or insert the owned [mcp_servers.beagle-store] block only.
    mkdir -p "$DIR/.codex"
    python3 "$(dirname "$0")/beagle-store-code-wire-toml.py" set "$CODEX_TOML" "$SERVER_JSON"
    ;;
  off)
    if [ -f "$CODEX_TOML" ]; then
      python3 "$(dirname "$0")/beagle-store-code-wire-toml.py" unset "$CODEX_TOML"
    fi
    ;;
  *) echo "beagle-store-code-wire: unknown mode $MODE (want on|off)" >&2; exit 1;;
esac
