#!/usr/bin/env python3
"""Banana Peel — minimal create response (Python one-pager)."""

from __future__ import annotations

import json
import os
import sys
import urllib.error
import urllib.request

BASE = os.environ.get(
    "BANANA_PEEL_BASE",
    "https://bananapeel.com",
)
KEY = os.environ.get("BANANA_PEEL_API_KEY")
if not KEY:
    sys.exit("Set BANANA_PEEL_API_KEY=bp_live_…")

body = json.dumps(
    {
        "model": "banana-peel",
        "input": "Extract the title from https://example.com",
        "routing": "smart",
    }
).encode()

req = urllib.request.Request(
    f"{BASE}/api/v1/responses",
    data=body,
    headers={
        "Authorization": f"Bearer {KEY}",
        "Content-Type": "application/json",
    },
    method="POST",
)

try:
    with urllib.request.urlopen(req, timeout=420) as resp:
        data = json.loads(resp.read().decode())
except urllib.error.HTTPError as e:
    err = json.loads(e.read().decode()).get("error", {})
    sys.exit(f"{err.get('code')}: {err.get('message')} hint={err.get('hint')}")

bp = data.get("banana_peel") or {}
print(data.get("status"), data.get("output_text"), bp.get("runner"))
