#!/usr/bin/env python3
"""Advertise the API-key auth method accepted by Grok CLI 1.0.46; forward all other bytes."""
import json, os, pathlib, subprocess, sys, threading, signal
binary = pathlib.Path(__file__).with_name('grok-1.0.46')
if 'stdio' not in sys.argv:
    os.execv(str(binary), [str(binary), *sys.argv[1:]])
p = subprocess.Popen([str(binary), *sys.argv[1:]], stdin=subprocess.PIPE, stdout=subprocess.PIPE, env={**os.environ, 'GROK_DISABLE_AUTOUPDATER':'1'})
signal.signal(signal.SIGTERM, lambda *_: p.terminate())
signal.signal(signal.SIGINT, lambda *_: p.send_signal(signal.SIGINT))
def forward_input():
    for line in sys.stdin.buffer:
        p.stdin.write(line); p.stdin.flush()
    p.stdin.close()
threading.Thread(target=forward_input, daemon=True).start()
for line in p.stdout:
    try:
        msg = json.loads(line)
        result = msg.get('result', {})
        if isinstance(result, dict) and 'authMethods' in result:
            result['authMethods'].append({'id':'xai.api_key','name':'xAI API key'})
            line = (json.dumps(msg)+'\n').encode()
    except (ValueError, TypeError):
        pass
    sys.stdout.buffer.write(line); sys.stdout.buffer.flush()
sys.exit(p.wait())
