#!/usr/bin/env python3
"""
Generated test file for Multi-Turn LLM Test
Framework: openai
Execution mode: sync
Streaming: no"""

import os
import sentry_sdk

from openai import OpenAI


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

client = OpenAI()

def main():
    # Turn 1
    response = client.responses.create(
        model="gpt-5-nano",
        instructions="You are a helpful assistant.",
        input=[
        {
            "role": "user",
            "content": "What is the capital of France?"
        },
    ]
,
    )
    print(f"Turn 1 Response: {response.output_text}")

    # Turn 2
    response = client.responses.create(
        model="gpt-5-nano",
        instructions="You are a helpful assistant.",
        input=[
        {
            "role": "user",
            "content": "What is the capital of France?"
        },
        {
            "role": "assistant",
            "content": "The capital of France is Paris."
        },
        {
            "role": "user",
            "content": "What is the population of that city?"
        },
    ]
,
    )
    print(f"Turn 2 Response: {response.output_text}")

    # Turn 3
    response = client.responses.create(
        model="gpt-5-nano",
        instructions="You are a helpful assistant.",
        input=[
        {
            "role": "user",
            "content": "What is the capital of France?"
        },
        {
            "role": "assistant",
            "content": "The capital of France is Paris."
        },
        {
            "role": "user",
            "content": "What is the population of that city?"
        },
        {
            "role": "assistant",
            "content": "Paris has a population of approximately 2.2 million people in the city proper."
        },
        {
            "role": "user",
            "content": "What about the metropolitan area?"
        },
    ]
,
    )
    print(f"Turn 3 Response: {response.output_text}")

if __name__ == "__main__":
    with sentry_sdk.start_transaction(op="test", name="Multi-Turn LLM Test"):
        main()
    sentry_sdk.flush(timeout=5)
