1616use OpenAI \Responses \Responses \Output \OutputMcpCall ;
1717use OpenAI \Responses \Responses \Output \OutputMcpListTools ;
1818use OpenAI \Responses \Responses \Output \OutputMessage ;
19+ use OpenAI \Responses \Responses \Output \OutputProgram ;
20+ use OpenAI \Responses \Responses \Output \OutputProgramOutput ;
1921use OpenAI \Responses \Responses \Output \OutputReasoning ;
2022use OpenAI \Responses \Responses \Output \OutputToolSearchCall ;
2123use OpenAI \Responses \Responses \Output \OutputToolSearchOutput ;
3436 * @phpstan-import-type OutputImageGenerationToolCallType from OutputImageGenerationToolCall
3537 * @phpstan-import-type OutputCodeInterpreterToolCallType from OutputCodeInterpreterToolCall
3638 * @phpstan-import-type OutputCompactionType from OutputCompaction
39+ * @phpstan-import-type OutputProgramType from OutputProgram
40+ * @phpstan-import-type OutputProgramOutputType from OutputProgramOutput
3741 * @phpstan-import-type OutputLocalShellCallType from OutputLocalShellCall
3842 * @phpstan-import-type OutputCustomToolCallType from OutputCustomToolCall
3943 * @phpstan-import-type OutputToolSearchCallType from OutputToolSearchCall
4044 * @phpstan-import-type OutputToolSearchOutputType from OutputToolSearchOutput
4145 *
42- * @phpstan-type ResponseOutputObjectTypes array<int, OutputComputerToolCallType|OutputFileSearchToolCallType|OutputFunctionToolCallType|OutputMessageType|OutputReasoningType|OutputWebSearchToolCallType|OutputMcpListToolsType|OutputMcpApprovalRequestType|OutputMcpCallType|OutputImageGenerationToolCallType|OutputCodeInterpreterToolCallType|OutputLocalShellCallType|OutputCustomToolCallType|OutputToolSearchCallType|OutputToolSearchOutputType|OutputCompactionType>
43- * @phpstan-type ResponseOutputObjectReturnType array<int, OutputMessage|OutputComputerToolCall|OutputFileSearchToolCall|OutputWebSearchToolCall|OutputFunctionToolCall|OutputReasoning|OutputMcpListTools|OutputMcpApprovalRequest|OutputMcpCall|OutputImageGenerationToolCall|OutputCodeInterpreterToolCall|OutputLocalShellCall|OutputCustomToolCall|OutputToolSearchCall|OutputToolSearchOutput|OutputCompaction>
46+ * @phpstan-type ResponseOutputObjectTypes array<int, OutputComputerToolCallType|OutputFileSearchToolCallType|OutputFunctionToolCallType|OutputMessageType|OutputProgramType|OutputProgramOutputType| OutputReasoningType|OutputWebSearchToolCallType|OutputMcpListToolsType|OutputMcpApprovalRequestType|OutputMcpCallType|OutputImageGenerationToolCallType|OutputCodeInterpreterToolCallType|OutputLocalShellCallType|OutputCustomToolCallType|OutputToolSearchCallType|OutputToolSearchOutputType|OutputCompactionType>
47+ * @phpstan-type ResponseOutputObjectReturnType array<int, OutputMessage|OutputComputerToolCall|OutputFileSearchToolCall|OutputWebSearchToolCall|OutputFunctionToolCall|OutputProgram|OutputProgramOutput| OutputReasoning|OutputMcpListTools|OutputMcpApprovalRequest|OutputMcpCall|OutputImageGenerationToolCall|OutputCodeInterpreterToolCall|OutputLocalShellCall|OutputCustomToolCall|OutputToolSearchCall|OutputToolSearchOutput|OutputCompaction>
4448 */
4549final class OutputObjects
4650{
@@ -51,10 +55,12 @@ final class OutputObjects
5155 public static function parse (array $ outputItems ): array
5256 {
5357 return array_map (
54- fn (array $ item ): OutputMessage |OutputComputerToolCall |OutputFileSearchToolCall |OutputWebSearchToolCall |OutputFunctionToolCall |OutputReasoning |OutputMcpListTools |OutputMcpApprovalRequest |OutputMcpCall |OutputImageGenerationToolCall |OutputCodeInterpreterToolCall |OutputLocalShellCall |OutputCustomToolCall |OutputToolSearchCall |OutputToolSearchOutput |OutputCompaction => match ($ item ['type ' ]) {
58+ fn (array $ item ): OutputMessage |OutputComputerToolCall |OutputFileSearchToolCall |OutputWebSearchToolCall |OutputFunctionToolCall |OutputProgram | OutputProgramOutput | OutputReasoning |OutputMcpListTools |OutputMcpApprovalRequest |OutputMcpCall |OutputImageGenerationToolCall |OutputCodeInterpreterToolCall |OutputLocalShellCall |OutputCustomToolCall |OutputToolSearchCall |OutputToolSearchOutput |OutputCompaction => match ($ item ['type ' ]) {
5559 'message ' => OutputMessage::from ($ item ),
5660 'file_search_call ' => OutputFileSearchToolCall::from ($ item ),
5761 'function_call ' => OutputFunctionToolCall::from ($ item ),
62+ 'program ' => OutputProgram::from ($ item ),
63+ 'program_output ' => OutputProgramOutput::from ($ item ),
5864 'web_search_call ' => OutputWebSearchToolCall::from ($ item ),
5965 'computer_call ' => OutputComputerToolCall::from ($ item ),
6066 'reasoning ' => OutputReasoning::from ($ item ),
0 commit comments