import os
import atexit
import httpx
from oculus_sdk import OculusClient
from oculus_sdk.exceptions import OculusAuthError, OculusAPIError, TokenRevokedException
client = OculusClient(
client_id=os.environ["AGENT_CLIENT_ID"],
client_secret=os.environ["AGENT_CLIENT_SECRET"],
base_url=os.environ.get("ANTI_AI_URL", "https://api.antiailabs.com"),
)
atexit.register(client.stop)
def call_api(endpoint: str, scope: str) -> dict:
try:
token = client.get_token(scope=scope)
except TokenRevokedException:
raise RuntimeError("Agent access has been revoked. Contact your admin.")
except OculusAuthError as e:
raise RuntimeError(f"Authentication failed: {e}")
except OculusAPIError as e:
raise RuntimeError(f"Anti AI error: {e}")
response = httpx.get(endpoint, headers={"Authorization": f"Bearer {token}"})
response.raise_for_status()
return response.json()