import datetime
import json
import pathlib
import sys
import time

root = pathlib.Path(sys.argv[1])
state = root / 't3-home' / 'userdata'
state.mkdir(parents=True, exist_ok=True)
codex = root / 'codex'
(codex / 'sessions').mkdir(parents=True, exist_ok=True)
settings = {'providerInstances': {
    'codex': {'driver': 'codex', 'config': {'homePath': str(codex)}},
    'claudeAgent': {'driver': 'claudeAgent', 'config': {'homePath': str(root / 'claude')}}}}
(state / 'settings.json').write_text(json.dumps(settings))
rates = {'gpt-6-sol': {
    'input_cost_per_token': 2e-6,
    'cache_read_input_token_cost': 2e-7,
    'output_cost_per_token': 1e-5,
    'input_cost_per_token_above_272k_tokens': 4e-6,
    'cache_read_input_token_cost_above_272k_tokens': 4e-7,
    'output_cost_per_token_above_272k_tokens': 1.5e-5}}
(state / 'usage-model-rates.json').write_text(json.dumps({
    'fetchedAtMs': int(time.time() * 1000), 'document': rates}))
now = datetime.datetime.now(datetime.timezone.utc).isoformat()
records = [
    {'type': 'session_meta', 'timestamp': now,
     'payload': {'id': 'issue-25414', 'model_provider': 'openai'}},
    {'type': 'turn_context', 'timestamp': now,
     'payload': {'model': 'gpt-6-sol', 'turn_id': 'issue-25414-turn'}},
    {'type': 'event_msg', 'timestamp': now, 'payload': {
        'type': 'token_count', 'info': {'last_token_usage': {
            'input_tokens': 300000, 'cached_input_tokens': 280000,
            'output_tokens': 1000, 'reasoning_output_tokens': 0,
            'total_tokens': 301000}}}}]
(codex / 'sessions' / 'rollout.jsonl').write_text(
    ''.join(json.dumps(record) + '\n' for record in records))
print('Seeded isolated usage fixture:', root)
