#!/bin/bash
# ─────────────────────────────────────────────────────────
# Скрипт для записи GIF-демо PolicyShield
# ─────────────────────────────────────────────────────────
#
# Подход 1: VHS (автоматический, красивый)
#   vhs demo.tape
#
# Подход 2: Ручной (если VHS не подходит)
#   1. Запусти сервер:
#      policyshield server --rules policies/demo-verify.yaml --port 8100
#
#   2. Запусти запись в другом терминале:
#      Вариант A — asciinema (→ SVG / GIF через agg):
#        brew install asciinema
#        asciinema rec demo.cast
#        # выполни команды ниже, потом Ctrl+D
#        # конвертируй в GIF:
#        brew install agg
#        agg demo.cast demo.gif --font-size 16 --theme monokai
#
#      Вариант B — экранная запись macOS:
#        Cmd+Shift+5 → выбери область терминала → запиши
#        конвертируй в GIF через gifski или ezgif.com
#
# ─────────────────────────────────────────────────────────
# Команды для демо (копируй по одной):
# ─────────────────────────────────────────────────────────

echo "═══════════════════════════════════════════════"
echo "🛡️  PolicyShield Demo"
echo "═══════════════════════════════════════════════"
echo ""

echo "→ Checking: cat /etc/hosts (harmless command)"
echo ""
curl -s -X POST http://localhost:8100/api/v1/check \
  -H "Content-Type: application/json" \
  -d '{"tool_name":"exec","args":{"command":"cat /etc/hosts"}}' \
  | python3 -m json.tool

echo ""
echo "──────────────────────────────────────────────"
echo ""

echo "→ Checking: pwd (not blocked)"
echo ""
curl -s -X POST http://localhost:8100/api/v1/check \
  -H "Content-Type: application/json" \
  -d '{"tool_name":"exec","args":{"command":"pwd"}}' \
  | python3 -m json.tool

echo ""
echo "══════════════════════════════════════════════"
echo "✅ cat → BLOCKED by PolicyShield (no LLM would refuse this)"
echo "✅ pwd → ALLOWED (not in the rules)"
echo "══════════════════════════════════════════════"
