#!/usr/bin/env bash # Validate economics toolkit strategy JSON files (parse-only via CLI). # Optional: check-jsonschema against packages/economics-toolkit/config/strategy.schema.json when installed. # Usage: bash scripts/validation/validate-economics-strategy-json.sh set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)" cd "$PROJECT_ROOT" CLI="$PROJECT_ROOT/packages/economics-toolkit/dist/cli.js" SCHEMA="$PROJECT_ROOT/packages/economics-toolkit/config/strategy.schema.json" if [[ ! -f "$CLI" ]]; then pnpm run economics:build fi FILES=( "$PROJECT_ROOT/packages/economics-toolkit/config/strategy-smoke.json" "$PROJECT_ROOT/packages/economics-toolkit/config/strategy-template.json" ) for f in "${FILES[@]}"; do if [[ ! -f "$f" ]]; then echo "[ERROR] Missing $f" >&2 exit 1 fi node "$CLI" strategy validate --file "$f" --quiet done if command -v check-jsonschema &>/dev/null && [[ -f "$SCHEMA" ]]; then for f in "${FILES[@]}"; do check-jsonschema --schemafile "$SCHEMA" "$f" >/dev/null done fi exit 0