#!/usr/bin/env bash
# PA Agent Mode - Launch/attach to persistent PA tmux session
set -euo pipefail

SESSION="pa"
CLAUDE="/home/linuxbrew/.linuxbrew/bin/claude"
HISTORY_DIR="$HOME/.claude/state/personal-assistant/history"
INDEX_FILE="$HISTORY_DIR/index.json"

export CLAUDE_AGENT=personal-assistant

get_session_id() {
    date +"%Y-%m-%d_%H-%M-%S"
}

record_session_start() {
    local session_id="$1"
    local tmp_file
    tmp_file=$(mktemp)
    jq --arg id "$session_id" --arg started "$(date -Iseconds)" \
        '.sessions += [{"id": $id, "started": $started, "ended": null, "summarized": false, "topics": []}]' \
        "$INDEX_FILE" > "$tmp_file" && mv "$tmp_file" "$INDEX_FILE"
}

# Check if session exists
if tmux has-session -t "$SESSION" 2>/dev/null; then
    tmux attach-session -t "$SESSION"
else
    session_id=$(get_session_id)
    record_session_start "$session_id"

    export PA_SESSION_ID="$session_id"
    export PA_HISTORY_FILE="$HISTORY_DIR/${session_id}.jsonl"

    # Uses PA-specific config for distinct "power mode" visual theme
    tmux -f ~/.tmux-pa.conf new-session -s "$SESSION" "$CLAUDE" --dangerously-skip-permissions --agent personal-assistant
fi
