#!/usr/bin/env python3
"""Test ImageFX to see the full response structure including mediaId."""
import json
import logging
import sys
import os

sys.path.insert(0, os.path.dirname(__file__))

from dotenv import load_dotenv
load_dotenv()

logging.basicConfig(level=logging.DEBUG, format="%(levelname)s %(name)s: %(message)s")

from providers.google_flow_provider import GoogleFlowImageProvider

with GoogleFlowImageProvider() as provider:
    # Access the internal method to see full response
    import httpx
    
    body = provider._build_generate_body("A cute orange cat sitting on a windowsill", seed=42, num_images=1)
    
    resp = provider.client.post(
        "https://aisandbox-pa.googleapis.com/v1:runImageFx",
        json=body,
        headers=provider._auth_headers(),
    )
    resp.raise_for_status()
    
    result = resp.json()
    
    print("=" * 60)
    print("Full ImageFX Response Structure:")
    print("=" * 60)
    print(json.dumps(result, indent=2, default=str)[:5000])
    
    # Look for mediaId or similar
    panels = result.get("imagePanels", [])
    if panels:
        print("\n" + "=" * 60)
        print("First panel keys:", list(panels[0].keys()))
        
        images = panels[0].get("generatedImages", [])
        if images:
            print("First image keys:", list(images[0].keys()))
            
            # Check for mediaId, mediaKey, etc
            for key in ["mediaId", "mediaKey", "imageId", "id", "mediaGenerationId"]:
                if key in images[0]:
                    print(f"  {key}: {images[0][key]}")
