"""Prepare synthetic isolated settings for one checkout before starting its server.
Usage: python3 seed.py CHECKOUT CLAUDE_BINARY CLAUDE_CONFIG_DIR
Never pass a live T3 home. Start the app with T3CODE_DEV_SEED=0.
"""
import json, pathlib, sys
checkout, binary, config = map(pathlib.Path, sys.argv[1:])
config.mkdir(parents=True, exist_ok=True)
endpoint = 'http://127.0.0.1:19276'
(config / 'settings.json').write_text(json.dumps({'env': {'ANTHROPIC_BASE_URL': endpoint, 'ANTHROPIC_API_KEY': 'synthetic-proof-key'}, 'skipDangerousModePermissionPrompt': True}))
env = [{'name': k, 'value': v, 'sensitive': False} for k, v in {'ANTHROPIC_BASE_URL': endpoint, 'ANTHROPIC_API_KEY': 'synthetic-proof-key', 'CLAUDE_CONFIG_DIR': str(config.resolve()), 'CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC': '1'}.items()]
providers = {p: {'driver': p, 'enabled': False} for p in ['codex', 'cursor', 'grok', 'muse', 'pi', 'opencode', 'antigravity']}
providers['claudeAgent'] = {'driver': 'claudeAgent', 'enabled': True, 'environment': env, 'config': {'binaryPath': str(binary.resolve()), 'homePath': str(config.resolve())}}
userdata = checkout / '.t3' / 'userdata'
userdata.mkdir(parents=True, exist_ok=True)
settings = userdata / 'settings.json'
if settings.exists():
    raise SystemExit('Refusing to replace existing settings; use a fresh isolated checkout.')
settings.write_text(json.dumps({'providerInstances': providers}))
