import subprocess
import os

env = os.environ.copy()
env['GEMINI_API_KEY'] = 'AIzaSyALfbAdHfJ6aRnqNyiTRmKmGVoena1JsdU'
env['GEMINI_CLI_NO_RELAUNCH'] = '1'
env['NO_COLOR'] = '1'
# Only add npm-global dir (no spaces) - node.cmd shim lives there
gemini_path = r'E:\.antigravity_cache\npm-global'
env['PATH'] = gemini_path + ';' + env.get('PATH', '')

# First verify node.cmd is findable via cmd.exe
r_node = subprocess.run(
    ['cmd.exe', '/c', 'node --version'],
    env=env, capture_output=True, text=True, timeout=10
)

# Now run gemini
cmd = [r'E:\.antigravity_cache\npm-global\gemini.cmd', '-p', 'Reply with exactly: GENESIS_ONLINE']
result = subprocess.run(
    cmd, env=env, capture_output=True, text=True, timeout=60,
    cwd=r'E:\genesis-system'
)

output = {
    'node_check': {'rc': r_node.returncode, 'out': r_node.stdout.strip(), 'err': r_node.stderr.strip()},
    'gemini': {'rc': result.returncode, 'stdout': result.stdout, 'stderr': result.stderr}
}

report = f"""=== NODE CHECK ===
rc={output['node_check']['rc']}
out={output['node_check']['out']}
err={output['node_check']['err']}

=== GEMINI RESULT ===
rc={output['gemini']['rc']}
STDOUT ({len(output['gemini']['stdout'])} chars):
{output['gemini']['stdout']}
STDERR ({len(output['gemini']['stderr'])} chars):
{output['gemini']['stderr']}
"""

print(report)
with open(r'E:\genesis-system\gemini_v2_result.txt', 'w', encoding='utf-8') as f:
    f.write(report)
