#!/usr/bin/env python3
"""Synthetic 1Password process fixture. No live 1Password account is contacted."""
import sys, os, re, time, pathlib, json
root=pathlib.Path('/tmp/lead-31723-r1/capture-4')
args=[a for a in sys.argv[1:] if a!='--cache=false']
with (root/'stub-calls-b.jsonl').open('a') as log: log.write(json.dumps({'time':time.time(),'argv':args})+'\n')
if '--version' in args or args[:1]==['version']: print('2.33.0'); sys.exit(0)
if args[:1]==['whoami']: print('{"email":"synthetic@example.invalid","url":"dev.1password.com","user_uuid":"SYNTHETIC"}'); sys.exit(0)
def read(ref):
    if ref=='op://Dev/Good/credential': return 'sk-synthetic-good'
    raise ValueError('Synthetic missing item')
try:
    if args[:1]==['read']:
        if (root/'hold-reads').exists():
            (root/'read-started').write_text(args[-1])
            while (root/'hold-reads').exists(): time.sleep(.05)
        sys.stdout.write(read(args[-1])); sys.exit(0)
    if args[:1]==['inject']:
        text=pathlib.Path(args[args.index('-i')+1]).read_text()
        sys.stdout.write(re.sub(r'\{\{\s*(op://.*?)\s*\}\}',lambda m:read(m[1]),text)); sys.exit(0)
except ValueError as e:
    print(str(e),file=sys.stderr); sys.exit(1)
print('Unsupported synthetic op invocation',file=sys.stderr); sys.exit(1)
