# Demo Tasks for OneTool
# Usage: just demo::<task>

set dotenv-load := true

# Demo directory (source_directory for submodule compatibility)
_dir := source_directory()

# ============================================================================
# CORE
# ============================================================================

# Show available commands
default:
    @just --list --unsorted

# Run MCP server with demo config
serve *args:
    OT_CWD={{ _dir }} uv run onetool --config {{ _dir }}/.onetool/onetool.yaml {{ args }}

# Run benchmark scenarios
#   Interactive picker (default): just demo::bench
#   Run a file directly:          just demo::bench bench/compare.yaml
bench *args:
    OT_CWD={{ _dir }} DEMO_DIR={{ _dir }} uv run bench run \
        --tui \
        --config {{ _dir }}/.onetool/onetool.yaml \
        --secrets {{ _dir }}/.onetool/bench-secrets.yaml \
        --csv {{ args }}

# ============================================================================
# SETUP & CLEANUP
# ============================================================================

# Download test data (database + sample files) from beycom/onetool-mcp-test
setup:
    just test-setup

# Remove demo assets and generated files
clean:
    rm -rf {{ _dir }}/data {{ _dir }}/db {{ _dir }}/tmp {{ _dir }}/.onetool/logs
    @echo "Demo assets cleaned"
