#!/bin/bash
# Session Start Hook for Claude Code Monitor
# Captures session initialization events

# Read JSON from stdin
INPUT=$(cat)

# Extract fields using jq
SESSION_ID=$(echo "$INPUT" | jq -r '.session_id // "unknown"')
TIMESTAMP=$(echo "$INPUT" | jq -r '.timestamp // (now | tonumber)')

# Build payload for backend
PAYLOAD=$(jq -n \
  --arg session_id "$SESSION_ID" \
  --arg event_type "SessionStart" \
  --arg timestamp "$TIMESTAMP" \
  '{
    session_id: $session_id,
    event_type: $event_type,
    timestamp: ($timestamp | tonumber)
  }')

# Send to backend API (asynchronous, non-blocking)
curl -X POST \
  -H "Content-Type: application/json" \
  -d "$PAYLOAD" \
  http://localhost:8000/api/events \
  --max-time 2 \
  --silent \
  --show-error \
  > /dev/null 2>&1 &

# Exit immediately (don't wait for curl)
exit 0
