#!/usr/bin/env python3
"""Collect token usage for an okstra run from agent session transcripts.

The implementation lives in the ``okstra_token_usage`` package alongside
this entry script. Public symbols are re-exported here so callers that
load this file dynamically (e.g. tests using
``importlib.util.spec_from_file_location``) keep working.
"""
from __future__ import annotations

import sys
from pathlib import Path

sys.path.insert(0, str(Path(__file__).resolve().parent))

from okstra_token_usage.cli import main  # noqa: E402
# Re-exports for callers that access attributes off this module directly.
from okstra_token_usage import (  # noqa: E402,F401
    CLAUDE_PRICING,
    CLAUDE_PROJECTS,
    CODEX_PRICING,
    CODEX_SESSIONS,
    GEMINI_PRICING,
    claude_billable_equivalent,
    claude_cost_usd,
    claude_project_dir,
    claude_session_totals,
    codex_cost_usd,
    codex_session_total,
    collect,
    find_claude_team_sessions,
    find_codex_session,
    find_antigravity_session,
    antigravity_session_total,
    antigravity_cost_usd,
    iter_jsonl,
    na_block,
    populate_token_cells,
    populate_data_token_cells,
    SubstituteRefusedError,
    usage_block,
    utc_now,
)


if __name__ == "__main__":
    sys.exit(main())
