Assistant: codex Assistant-Model: gpt-6-astra Assistant-Session: 01a09cbc-910e-77a0-b336-3130194350b3
77 lines
3.8 KiB
Python
77 lines
3.8 KiB
Python
"""Offline OpenRouter catalog transcription; never grants trial eligibility."""
|
|
import argparse
|
|
from decimal import Decimal, InvalidOperation
|
|
import hashlib
|
|
import json
|
|
from pathlib import Path
|
|
|
|
from .store import canonical, get
|
|
|
|
SOURCE = 'https://openrouter.ai/api/v1/models'
|
|
|
|
|
|
def review(root, capture_id, config):
|
|
receipt = get(root, 'captures', capture_id)
|
|
if receipt['url'] != SOURCE or receipt['final_url'] != SOURCE:
|
|
raise ValueError('expected the OpenRouter public model catalog')
|
|
raw = (Path(root) / 'data/artifacts' / receipt['content_sha256']).read_bytes()
|
|
if hashlib.sha256(raw).hexdigest() != receipt['content_sha256']:
|
|
raise ValueError('catalog artifact integrity mismatch')
|
|
entries = json.loads(raw)['data']
|
|
ids = [item['id'] for item in entries]
|
|
if len(ids) != len(set(ids)):
|
|
raise ValueError('ambiguous duplicate catalog model ID')
|
|
configured = [item['id'] for item in config['models']]
|
|
if len(configured) != len(set(configured)):
|
|
raise ValueError('duplicate configured model ID')
|
|
index = {item['id']: item for item in entries}
|
|
rows = []
|
|
for model in config['models']:
|
|
item = index.get(model['id'])
|
|
row = {'model_id': model['id'], 'listed': item is not None,
|
|
'requester_access_verified': None, 'benchmark_comparability_verified': None}
|
|
if item is not None:
|
|
prices = {}
|
|
for field in ('prompt', 'completion'):
|
|
try:
|
|
rate = Decimal(str(item.get('pricing', {}).get(field))) * 1000000
|
|
cap = Decimal(str(model['max_usd_per_million'][field]))
|
|
if not rate.is_finite() or rate < 0 or not cap.is_finite() or cap < 0:
|
|
raise ValueError('nonfinite or negative price')
|
|
except (InvalidOperation, ValueError, KeyError):
|
|
prices[field] = {'advertised_usd_per_million': None, 'within_configured_cap': None}
|
|
else:
|
|
prices[field] = {'advertised_usd_per_million': str(rate),
|
|
'within_configured_cap': rate <= cap}
|
|
row.update(canonical_slug=item.get('canonical_slug'),
|
|
advertised_context_length=item.get('context_length'),
|
|
supported_parameters=item.get('supported_parameters', []),
|
|
base_prices=prices,
|
|
pricing_requires_endpoint_review=bool(item.get('pricing', {}).get('overrides')))
|
|
rows.append(row)
|
|
return {'schema_version': 1, 'kind': 'public_catalog_transcription',
|
|
'capture_id': capture_id, 'artifact_sha256': receipt['content_sha256'],
|
|
'observed_at': receipt['retrieved_at'],
|
|
'config_sha256': hashlib.sha256(canonical(config)).hexdigest(),
|
|
'campaign': config['campaign'], 'execution_authorized': False,
|
|
'limitations': ['Catalog listing does not prove requester access or backend availability',
|
|
'Base prices exclude extra charges and do not guarantee routed endpoint prices',
|
|
'Canonical slug is provider metadata, not an immutable serving-weight attestation',
|
|
'This review supplies no benchmark score, calibration or spending authorization'],
|
|
'models': rows}
|
|
|
|
|
|
def main():
|
|
parser = argparse.ArgumentParser(description=__doc__)
|
|
parser.add_argument('--root', type=Path, default=Path.cwd())
|
|
parser.add_argument('--capture', required=True)
|
|
parser.add_argument('--config', type=Path, required=True)
|
|
args = parser.parse_args()
|
|
try:
|
|
print(json.dumps(review(args.root, args.capture, json.loads(args.config.read_text())), indent=2))
|
|
except (OSError, ValueError, KeyError, TypeError) as exc:
|
|
parser.exit(1, f'Catalog review failed: {exc}\n')
|
|
|
|
|
|
if __name__ == '__main__':
|
|
main()
|