import json
import os
from pathlib import Path
import httpx

request = {
    "input": "Review this draft: \"Maintenance is complete. All services are available.\" Recommend publish only when it is ready and the supplied state and permissions allow it.",
    "policy": {
        "engine": "opa",
        "entrypoint": "data.permissions.allow",
        "modules": {
            "permission-context.rego": Path("permission-context.rego").read_text(encoding="utf-8"),
        },
    },
    "policy_max_retries": 8,
    "schema": json.loads(Path("permission-context.schema.json").read_text(encoding="utf-8")),
    "state": json.loads(Path("permission-context.state.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"]))
