structured outputs openai typescript