import json
import os
from pathlib import Path
import httpx

request = {
    "policy": {
        "engine": "opa",
        "entrypoint": "data.source_calculation.allow",
        "modules": {
            "source-calculation.rego": Path("source-calculation.rego").read_text(encoding="utf-8"),
        },
    },
    "policy_max_retries": 8,
    "input": json.loads(Path("source-calculation.input.json").read_text(encoding="utf-8")),
    "schema": json.loads(Path("source-calculation.schema.json").read_text(encoding="utf-8")),
}
with httpx.Client(
    base_url="https://api.blatent.ai",
    headers={"Authorization": f"Bearer {os.environ['BLATENT_API_KEY']}"},
    timeout=195,
) as client:
    response = client.post("/v1/resolve", json=request)
    response.raise_for_status()
    print(json.dumps(response.json()["output"]))
