"""Shared AnkiConnect client utilities."""
import os
import httpx
ANKI_CONNECT_URL = os.environ.get("ANKI_CONNECT_URL", "http://localhost:8766")
async def anki_request(action: str, **params) -> dict:
"""Make a request to AnkiConnect API."""
payload = {"action": action, "version": 6}
if params:
payload["params"] = params
async with httpx.AsyncClient() as client:
response = await client.post(ANKI_CONNECT_URL, json=payload, timeout=30.0)
result = response.json()
if result.get("error"):
raise Exception(f"AnkiConnect error: {result['error']}")
return result.get("result")