import OpenAI from 'openai'
import * as z from 'zod'

const client = new OpenAI({
  apiKey:
    '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'
}) // or set environment: export OPENAI_API_KEY=...

// const CalendarEvent = {
//   type: 'object',
//   properties: {
//     name: { type: 'string' },
//     date: { type: 'string' },
//     participants: { type: 'array' }
//   },
//   additionalProperties: false,
//   required: ['name', 'date', 'participants']
// }

const response = await client.responses.create({
  model: 'gpt-5-nano',
  reasoning: { effort: 'low' },
  //  instructions: 'Talk like a pirate',
  input: [
    { role: 'system', content: 'extract the event information' },
    {
      role: 'user',
      content:
        'Write a nodejs script to create a calendar event with the following information: name: "Birthday Party", date: "2024-07-20", participants: ["Alice", "Bob"]'
    }
  ]
  // text: {
  //   format: {
  //     type: 'json_schema',
  //     strict: true,
  //     schema: CalendarEvent,
  //     name: 'event'
  //   }
  // }
})

console.log(JSON.stringify(response.output, null, 2)) // response.output_text/output_parsed

// 从 gpt-5.4 起，推荐使用通用模型来生成代码。
