#!/usr/bin/env python3
"""
Generated test file for Conversation ID Agent Test
Framework: openai-agents
Execution mode: async
Streaming: no"""

import os
import sentry_sdk
import asyncio

from agents import function_tool, Agent, Runner


sentry_sdk.init(
    dsn=os.environ.get("SENTRY_DSN"),
    traces_sample_rate=1.0,
    send_default_pii=True,
    stream_gen_ai_spans=True,
)

# Create agent with tools
agent = Agent(
    name="helpful_assistant",
    instructions="A helpful assistant that answers questions",
    tools=[],
    model="gpt-4o-mini",
)

async def main():
    # Turn 1: Build prompt from messages
    sentry_sdk.ai.set_conversation_id("conv-a")
    prompt = "What is the capital of France?"
    
    # Run agent
    result = await Runner.run(agent, input=prompt)
    
    # Print result
    print(f"Turn 1 Agent result: {result.final_output}")
    print()  # Blank line between turns
    # Turn 2: Build prompt from messages
    sentry_sdk.ai.set_conversation_id("conv-b")
    prompt = "What is 2 + 2?"
    
    # Run agent
    result = await Runner.run(agent, input=prompt)
    
    # Print result
    print(f"Turn 2 Agent result: {result.final_output}")
    print()  # Blank line between turns
    # Turn 3: Build prompt from messages
    sentry_sdk.ai.set_conversation_id("conv-a")
    prompt = "What about Germany?"
    
    # Run agent
    result = await Runner.run(agent, input=prompt)
    
    # Print result
    print(f"Turn 3 Agent result: {result.final_output}")
    print()  # Blank line between turns
    # Turn 4: Build prompt from messages
    sentry_sdk.ai.set_conversation_id("conv-b")
    prompt = "What about 3 + 3?"
    
    # Run agent
    result = await Runner.run(agent, input=prompt)
    
    # Print result
    print(f"Turn 4 Agent result: {result.final_output}")

if __name__ == "__main__":
    with sentry_sdk.start_transaction(op="test", name="Conversation ID Agent Test"):
        asyncio.run(main())
    sentry_sdk.flush(timeout=5)
