#!/usr/bin/env -S uv run --script
# /// script
# requires-python = ">=3.11"
# dependencies = [
#     "typer",
#     "httpx",
# ]
# ///
"""
Delete all agent orchestrator sessions.
"""

import sys
from pathlib import Path

sys.path.insert(0, str(Path(__file__).parent / "lib"))

import typer

app = typer.Typer(add_completion=False)


@app.command()
def main():
    """
    Delete all sessions.

    Examples:
        ao-delete-all
    """
    from config import get_api_url
    from session_client import SessionClient, SessionClientError

    try:
        # Get API URL
        api_url = get_api_url()

        deleted_count = 0

        # Delete all sessions via API
        try:
            client = SessionClient(api_url)
            sessions = client.list_sessions()
            for s in sessions:
                session_id = s.get('session_id')
                if session_id:
                    if client.delete_session(session_id):
                        deleted_count += 1
        except SessionClientError as e:
            print(f"Error: Failed to connect to session manager: {e}", file=sys.stderr)
            raise typer.Exit(1)

        if deleted_count > 0:
            print(f"Removed {deleted_count} session(s)")
        else:
            print("No sessions to remove")

    except Exception as e:
        print(f"Error: {e}", file=sys.stderr)
        raise typer.Exit(1)


if __name__ == "__main__":
    app()
