"""Independent reviewer fixtures. Never opens sockets or calls a model."""
from pathlib import Path
import importlib.util,json,sys
p=Path(__file__).resolve().parent
spec=importlib.util.spec_from_file_location('probe',p/'check_api.py');m=importlib.util.module_from_spec(spec);spec.loader.exec_module(m)
class Response:
 def __init__(self,payload=None,status=200,lines=None):self.payload=payload;self.status_code=status;self.lines=lines;self.headers={'Content-Type':'text/event-stream' if lines is not None else 'application/json'}
 def __enter__(self):return self
 def __exit__(self,*args):pass
 def json(self):return self.payload
 def raise_for_status(self):
  if self.status_code>=400:raise m.requests.HTTPError(response=self)
 def iter_lines(self,**kwargs):yield from self.lines

def msg(content,**kw):return {'model':'mock','choices':[{'finish_reason':'stop','message':{'role':'assistant','content':content,**kw}}],'usage':{'prompt_tokens':2,'completion_tokens':1}}
def stream(done=True):
 result=['data: '+json.dumps({'choices':[{'delta':{'content':'READY'},'finish_reason':None}]}),'','data: '+json.dumps({'choices':[{'delta':{},'finish_reason':'stop'}]}),'']
 if done:result += ['data: [DONE]','']
 return Response(lines=result)
def test(label,variant,expected):
 sent=[]
 responses=[Response(msg('READY')),Response(msg('{"sku":"000102","quantity":3}')),Response(msg(None,tool_calls=[{'id':'c1','type':'function','function':{'name':'lookup_stock','arguments':'{"sku":"000102"}'}}])),Response(msg('17')),stream(),Response({'error':{'message':'messages must be an array','type':'invalid_request_error'}},400)]
 if variant=='truncated':responses[4]=stream(False)
 if variant=='wrong_tool':responses[3]=Response(msg('170'))
 if variant=='wrong_type':responses[2].payload['choices'][0]['message']['tool_calls'][0]['type']='custom'
 if variant=='auth_error':responses[-1]=Response({'error':{'message':'not authorized'}},401)
 if variant=='null_content':responses[0]=Response(msg(None))
 if variant=='wrong_schema':responses[1]=Response(msg('{"sku":102,"quantity":3}'))
 if variant=='wrong_chat':responses[0]=Response(msg('NOT READY'))
 if variant=='rate_error':responses[-1]=Response({'error':{'message':'rate limited'}},429)
 def fake_post(url,**kwargs):
  sent.append(kwargs);body=kwargs['json']
  if isinstance(body.get('messages'),str):index=5
  elif body.get('stream'):index=4
  elif body.get('response_format'):index=1
  elif body.get('tool_choice')=='none':index=3
  elif body.get('tools'):index=2
  else:index=0
  return responses[index]
 m.requests.post=fake_post
 probe=m.Probe('https://example.invalid/v1','mock','fixture-key')
 result=probe.run();statuses=[r['status'] for r in result['results']]
 cap=all(x['json'].get('max_completion_tokens')==256 for x in sent)
 return {'label':label,'statuses':statuses,'expected':expected,'match':statuses==expected,'requests':len(sent),'all_token_caps':cap,'details':result['results']}
cases=[('positive','positive',['PASS']*5),('truncated_stream','truncated',['PASS','PASS','PASS','FAIL','PASS']),('wrong_tool_answer','wrong_tool',['PASS','PASS','FAIL','PASS','PASS']),('wrong_tool_type','wrong_type',['PASS','PASS','FAIL','PASS','PASS']),('bad_schema','wrong_schema',['PASS','FAIL','PASS','PASS','PASS']),('wrong_chat','wrong_chat',['FAIL','PASS','PASS','PASS','PASS']),('null_content','null_content',['UNKNOWN','PASS','PASS','PASS','PASS']),('auth_error','auth_error',['PASS','PASS','PASS','PASS','FAIL']),('rate_error','rate_error',['PASS','PASS','PASS','PASS','FAIL'])]
results=[test(*x) for x in cases]
out=p/('review-api-matrix-optimized.json' if not __debug__ else 'review-api-matrix.json');out.write_text(json.dumps(results,indent=2));print(json.dumps([{k:v for k,v in x.items() if k!='details'} for x in results],indent=2))

if not all(r["match"] and r["all_token_caps"] for r in results):
 raise SystemExit(1)
