"""Appel API facturable, à lancer volontairement après préparation de la clé."""
from pathlib import Path
from datetime import datetime, timezone
import json
import time
import anthropic

base = Path(__file__).resolve().parent
request = json.loads((base / "requete.json").read_text())
# Aucun retry automatique : chaque tentative reste visible dans ce petit atelier.
client = anthropic.Anthropic(max_retries=0, timeout=120.0)
started = time.perf_counter()
response = client.messages.create(**request)
elapsed = time.perf_counter() - started
record = {
    "observed_at": datetime.now(timezone.utc).isoformat(),
    "latency_seconds": elapsed,
    "requested_model": request["model"],
    "effort": request["output_config"]["effort"],
    "response": response.model_dump(mode="json"),
}
# Nom distinct pour préserver les tentatives précédentes.
target = base / ("reponse-" + datetime.now(timezone.utc).strftime("%Y%m%dT%H%M%S%fZ") + ".json")
target.write_text(json.dumps(record, ensure_ascii=False, indent=2) + "\n")
print("Réponse enregistrée :", target.name)
print("stop_reason :", response.stop_reason)
print("usage :", response.usage)
for block in response.content:
    if block.type == "text":
        print(block.text)
if response.stop_reason != "end_turn":
    raise SystemExit("Réponse à examiner avant notation : arrêt non standard.")
# Même end_turn n'est pas une preuve de justesse ; aucune requête générée n'est exécutée.
