openai 0.90.0 → 0.92.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +31 -0
- data/README.md +1 -1
- data/examples/realtime/README.md +8 -0
- data/examples/realtime/browser/README.md +167 -0
- data/examples/realtime/browser/index.html +19 -0
- data/examples/realtime/browser/page.js +21 -0
- data/examples/realtime/browser/peer.js +180 -0
- data/examples/realtime/browser/server.rb +281 -0
- data/examples/responses/websocket_workflows.rb +66 -6
- data/lib/openai/auth/workload_identity.rb +5 -1
- data/lib/openai/auth/workload_identity_auth.rb +2 -2
- data/lib/openai/auth/x509_token_exchange.rb +1 -1
- data/lib/openai/helpers/local_audio/process.rb +1 -1
- data/lib/openai/helpers/responses_websocket/connection.rb +2 -1
- data/lib/openai/helpers/responses_websocket/session.rb +551 -0
- data/lib/openai/helpers/responses_websocket.rb +1 -0
- data/lib/openai/helpers/sorbet.rb +1 -1
- data/lib/openai/helpers/websocket/async_websocket_transport.rb +6 -1
- data/lib/openai/internal/poller.rb +2 -2
- data/lib/openai/internal/transport/base_client.rb +1 -1
- data/lib/openai/internal/util.rb +1 -1
- data/lib/openai/models/beta/agents/session_update_params.rb +108 -1
- data/lib/openai/models/beta/beta_response.rb +9 -3
- data/lib/openai/models/beta/beta_response_compaction_compacting_event.rb +75 -0
- data/lib/openai/models/beta/beta_response_stream_event.rb +4 -1
- data/lib/openai/models/beta/beta_responses_client_event.rb +25 -4
- data/lib/openai/models/beta/beta_responses_server_event.rb +39 -1
- data/lib/openai/models/beta/beta_tool.rb +16 -0
- data/lib/openai/models/beta/response_compact_params.rb +9 -3
- data/lib/openai/models/beta/response_create_params.rb +21 -4
- data/lib/openai/models/beta/session_turn_error.rb +3 -0
- data/lib/openai/models/chat_model.rb +3 -1
- data/lib/openai/models/realtime/realtime_response_create_mcp_tool.rb +16 -0
- data/lib/openai/models/realtime/realtime_session_create_response.rb +16 -0
- data/lib/openai/models/realtime/realtime_tools_config_union.rb +16 -0
- data/lib/openai/models/responses/response_compact_params.rb +9 -3
- data/lib/openai/models/responses/response_compaction_compacting_event.rb +49 -0
- data/lib/openai/models/responses/response_create_params.rb +12 -1
- data/lib/openai/models/responses/response_stream_event.rb +4 -1
- data/lib/openai/models/responses/responses_client_event.rb +12 -1
- data/lib/openai/models/responses/responses_server_event.rb +36 -1
- data/lib/openai/models/responses/tool.rb +16 -0
- data/lib/openai/models/webhooks/deleted_webhook_endpoint.rb +38 -0
- data/lib/openai/models/webhooks/event_type_list_params.rb +16 -0
- data/lib/openai/models/webhooks/realtime_call_incoming_webhook_event.rb +6 -8
- data/lib/openai/models/webhooks/webhook_create_params.rb +73 -0
- data/lib/openai/models/webhooks/webhook_delete_params.rb +22 -0
- data/lib/openai/models/webhooks/webhook_endpoint.rb +85 -0
- data/lib/openai/models/webhooks/webhook_endpoint_list.rb +55 -0
- data/lib/openai/models/webhooks/webhook_endpoint_test_result.rb +58 -0
- data/lib/openai/models/webhooks/webhook_endpoint_with_secret.rb +105 -0
- data/lib/openai/models/webhooks/webhook_event_type_list.rb +28 -0
- data/lib/openai/models/webhooks/webhook_list_params.rb +34 -0
- data/lib/openai/models/webhooks/webhook_retrieve_params.rb +22 -0
- data/lib/openai/models/webhooks/webhook_rotate_secret_params.rb +34 -0
- data/lib/openai/models/webhooks/webhook_test_params.rb +59 -0
- data/lib/openai/models/webhooks/webhook_update_params.rb +80 -0
- data/lib/openai/resources/beta/agents/sessions.rb +6 -2
- data/lib/openai/resources/beta/responses.rb +2 -2
- data/lib/openai/resources/responses.rb +2 -2
- data/lib/openai/resources/webhooks/event_types.rb +35 -0
- data/lib/openai/resources/webhooks.rb +195 -0
- data/lib/openai/version.rb +1 -1
- data/lib/openai.rb +17 -0
- data/rbi/openai/helpers/responses_websocket/connection.rbi +5 -0
- data/rbi/openai/helpers/responses_websocket/session.rbi +206 -0
- data/rbi/openai/models/beta/agents/session_update_params.rbi +178 -0
- data/rbi/openai/models/beta/beta_response.rbi +6 -1
- data/rbi/openai/models/beta/beta_response_compaction_compacting_event.rbi +136 -0
- data/rbi/openai/models/beta/beta_response_stream_event.rbi +1 -0
- data/rbi/openai/models/beta/beta_responses_client_event.rbi +27 -4
- data/rbi/openai/models/beta/beta_responses_server_event.rbi +77 -0
- data/rbi/openai/models/beta/beta_tool.rbi +12 -0
- data/rbi/openai/models/beta/response_compact_params.rbi +6 -1
- data/rbi/openai/models/beta/response_create_params.rbi +21 -1
- data/rbi/openai/models/beta/session_turn_error.rbi +6 -0
- data/rbi/openai/models/chat_model.rbi +3 -1
- data/rbi/openai/models/realtime/realtime_response_create_mcp_tool.rbi +12 -0
- data/rbi/openai/models/realtime/realtime_session_create_response.rbi +12 -0
- data/rbi/openai/models/realtime/realtime_tools_config_union.rbi +12 -0
- data/rbi/openai/models/responses/response_compact_params.rbi +6 -1
- data/rbi/openai/models/responses/response_compaction_compacting_event.rbi +78 -0
- data/rbi/openai/models/responses/response_create_params.rbi +15 -0
- data/rbi/openai/models/responses/response_stream_event.rbi +1 -0
- data/rbi/openai/models/responses/responses_client_event.rbi +15 -0
- data/rbi/openai/models/responses/responses_server_event.rbi +71 -0
- data/rbi/openai/models/responses/tool.rbi +12 -0
- data/rbi/openai/models/webhooks/deleted_webhook_endpoint.rbi +67 -0
- data/rbi/openai/models/webhooks/event_type_list_params.rbi +37 -0
- data/rbi/openai/models/webhooks/realtime_call_incoming_webhook_event.rbi +6 -8
- data/rbi/openai/models/webhooks/webhook_create_params.rbi +139 -0
- data/rbi/openai/models/webhooks/webhook_delete_params.rbi +53 -0
- data/rbi/openai/models/webhooks/webhook_endpoint.rbi +126 -0
- data/rbi/openai/models/webhooks/webhook_endpoint_list.rbi +91 -0
- data/rbi/openai/models/webhooks/webhook_endpoint_test_result.rbi +87 -0
- data/rbi/openai/models/webhooks/webhook_endpoint_with_secret.rbi +138 -0
- data/rbi/openai/models/webhooks/webhook_event_type_list.rbi +58 -0
- data/rbi/openai/models/webhooks/webhook_list_params.rbi +67 -0
- data/rbi/openai/models/webhooks/webhook_retrieve_params.rbi +53 -0
- data/rbi/openai/models/webhooks/webhook_rotate_secret_params.rbi +71 -0
- data/rbi/openai/models/webhooks/webhook_test_params.rbi +124 -0
- data/rbi/openai/models/webhooks/webhook_update_params.rbi +156 -0
- data/rbi/openai/resources/beta/agents/sessions.rbi +5 -1
- data/rbi/openai/resources/webhooks/event_types.rbi +24 -0
- data/rbi/openai/resources/webhooks.rbi +126 -0
- data/responses-websocket.md +117 -10
- data/sig/openai/helpers/responses_websocket/connection.rbs +5 -0
- data/sig/openai/helpers/responses_websocket/session.rbs +123 -0
- data/sig/openai/models/beta/agents/session_update_params.rbs +99 -0
- data/sig/openai/models/beta/beta_response.rbs +6 -2
- data/sig/openai/models/beta/beta_response_compaction_compacting_event.rbs +58 -0
- data/sig/openai/models/beta/beta_response_stream_event.rbs +1 -0
- data/sig/openai/models/beta/beta_responses_client_event.rbs +13 -2
- data/sig/openai/models/beta/beta_responses_server_event.rbs +35 -0
- data/sig/openai/models/beta/response_compact_params.rbs +6 -2
- data/sig/openai/models/beta/response_create_params.rbs +13 -2
- data/sig/openai/models/beta/session_turn_error.rbs +4 -0
- data/sig/openai/models/chat_model.rbs +6 -2
- data/sig/openai/models/responses/response_compact_params.rbs +6 -2
- data/sig/openai/models/responses/response_compaction_compacting_event.rbs +37 -0
- data/sig/openai/models/responses/response_create_params.rbs +7 -0
- data/sig/openai/models/responses/response_stream_event.rbs +1 -0
- data/sig/openai/models/responses/responses_client_event.rbs +7 -0
- data/sig/openai/models/responses/responses_server_event.rbs +32 -0
- data/sig/openai/models/webhooks/deleted_webhook_endpoint.rbs +28 -0
- data/sig/openai/models/webhooks/event_type_list_params.rbs +16 -0
- data/sig/openai/models/webhooks/webhook_create_params.rbs +83 -0
- data/sig/openai/models/webhooks/webhook_delete_params.rbs +25 -0
- data/sig/openai/models/webhooks/webhook_endpoint.rbs +59 -0
- data/sig/openai/models/webhooks/webhook_endpoint_list.rbs +42 -0
- data/sig/openai/models/webhooks/webhook_endpoint_test_result.rbs +42 -0
- data/sig/openai/models/webhooks/webhook_endpoint_with_secret.rbs +64 -0
- data/sig/openai/models/webhooks/webhook_event_type_list.rbs +17 -0
- data/sig/openai/models/webhooks/webhook_list_params.rbs +35 -0
- data/sig/openai/models/webhooks/webhook_retrieve_params.rbs +25 -0
- data/sig/openai/models/webhooks/webhook_rotate_secret_params.rbs +35 -0
- data/sig/openai/models/webhooks/webhook_test_params.rbs +78 -0
- data/sig/openai/models/webhooks/webhook_update_params.rbs +96 -0
- data/sig/openai/resources/beta/agents/sessions.rbs +1 -0
- data/sig/openai/resources/webhooks/event_types.rbs +13 -0
- data/sig/openai/resources/webhooks.rbs +45 -0
- metadata +61 -2
|
@@ -615,7 +615,7 @@ module OpenAI
|
|
|
615
615
|
#
|
|
616
616
|
# @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
617
617
|
#
|
|
618
|
-
# @return [OpenAI::Internal::Stream<OpenAI::Models::Responses::ResponseAudioDeltaEvent, OpenAI::Models::Responses::ResponseAudioDoneEvent, OpenAI::Models::Responses::ResponseAudioTranscriptDeltaEvent, OpenAI::Models::Responses::ResponseAudioTranscriptDoneEvent, OpenAI::Models::Responses::ResponseCodeInterpreterCallCodeDeltaEvent, OpenAI::Models::Responses::ResponseCodeInterpreterCallCodeDoneEvent, OpenAI::Models::Responses::ResponseCodeInterpreterCallCompletedEvent, OpenAI::Models::Responses::ResponseCodeInterpreterCallInProgressEvent, OpenAI::Models::Responses::ResponseCodeInterpreterCallInterpretingEvent, OpenAI::Models::Responses::ResponseCompletedEvent, OpenAI::Models::Responses::ResponseContentPartAddedEvent, OpenAI::Models::Responses::ResponseContentPartDoneEvent, OpenAI::Models::Responses::ResponseCreatedEvent, OpenAI::Models::Responses::ResponseErrorEvent, OpenAI::Models::Responses::ResponseFileSearchCallCompletedEvent, OpenAI::Models::Responses::ResponseFileSearchCallInProgressEvent, OpenAI::Models::Responses::ResponseFileSearchCallSearchingEvent, OpenAI::Models::Responses::ResponseFunctionCallArgumentsDeltaEvent, OpenAI::Models::Responses::ResponseFunctionCallArgumentsDoneEvent, OpenAI::Models::Responses::ResponseShellCallCommandAddedEvent, OpenAI::Models::Responses::ResponseShellCallCommandDeltaEvent, OpenAI::Models::Responses::ResponseShellCallCommandDoneEvent, OpenAI::Models::Responses::ResponseShellCallOutputContentDeltaEvent, OpenAI::Models::Responses::ResponseShellCallOutputContentDoneEvent, OpenAI::Models::Responses::ResponseInProgressEvent, OpenAI::Models::Responses::ResponseFailedEvent, OpenAI::Models::Responses::ResponseIncompleteEvent, OpenAI::Models::Responses::ResponseOutputItemAddedEvent, OpenAI::Models::Responses::ResponseOutputItemDoneEvent, OpenAI::Models::Responses::ResponseReasoningSummaryPartAddedEvent, OpenAI::Models::Responses::ResponseReasoningSummaryPartDoneEvent, OpenAI::Models::Responses::ResponseReasoningSummaryTextDeltaEvent, OpenAI::Models::Responses::ResponseReasoningSummaryTextDoneEvent, OpenAI::Models::Responses::ResponseReasoningTextDeltaEvent, OpenAI::Models::Responses::ResponseReasoningTextDoneEvent, OpenAI::Models::Responses::ResponseRefusalDeltaEvent, OpenAI::Models::Responses::ResponseRefusalDoneEvent, OpenAI::Models::Responses::ResponseTextDeltaEvent, OpenAI::Models::Responses::ResponseTextDoneEvent, OpenAI::Models::Responses::ResponseWebSearchCallCompletedEvent, OpenAI::Models::Responses::ResponseWebSearchCallInProgressEvent, OpenAI::Models::Responses::ResponseWebSearchCallSearchingEvent, OpenAI::Models::Responses::ResponseImageGenCallCompletedEvent, OpenAI::Models::Responses::ResponseImageGenCallGeneratingEvent, OpenAI::Models::Responses::ResponseImageGenCallInProgressEvent, OpenAI::Models::Responses::ResponseImageGenCallPartialImageEvent, OpenAI::Models::Responses::ResponseMcpCallArgumentsDeltaEvent, OpenAI::Models::Responses::ResponseMcpCallArgumentsDoneEvent, OpenAI::Models::Responses::ResponseMcpCallCompletedEvent, OpenAI::Models::Responses::ResponseMcpCallFailedEvent, OpenAI::Models::Responses::ResponseMcpCallInProgressEvent, OpenAI::Models::Responses::ResponseMcpListToolsCompletedEvent, OpenAI::Models::Responses::ResponseMcpListToolsFailedEvent, OpenAI::Models::Responses::ResponseMcpListToolsInProgressEvent, OpenAI::Models::Responses::ResponseOutputTextAnnotationAddedEvent, OpenAI::Models::Responses::ResponseQueuedEvent, OpenAI::Models::Responses::ResponseCustomToolCallInputDeltaEvent, OpenAI::Models::Responses::ResponseCustomToolCallInputDoneEvent, OpenAI::Streaming::UnknownStreamEvent>]
|
|
618
|
+
# @return [OpenAI::Internal::Stream<OpenAI::Models::Responses::ResponseAudioDeltaEvent, OpenAI::Models::Responses::ResponseAudioDoneEvent, OpenAI::Models::Responses::ResponseAudioTranscriptDeltaEvent, OpenAI::Models::Responses::ResponseAudioTranscriptDoneEvent, OpenAI::Models::Responses::ResponseCodeInterpreterCallCodeDeltaEvent, OpenAI::Models::Responses::ResponseCodeInterpreterCallCodeDoneEvent, OpenAI::Models::Responses::ResponseCodeInterpreterCallCompletedEvent, OpenAI::Models::Responses::ResponseCodeInterpreterCallInProgressEvent, OpenAI::Models::Responses::ResponseCodeInterpreterCallInterpretingEvent, OpenAI::Models::Responses::ResponseCompactionCompactingEvent, OpenAI::Models::Responses::ResponseCompletedEvent, OpenAI::Models::Responses::ResponseContentPartAddedEvent, OpenAI::Models::Responses::ResponseContentPartDoneEvent, OpenAI::Models::Responses::ResponseCreatedEvent, OpenAI::Models::Responses::ResponseErrorEvent, OpenAI::Models::Responses::ResponseFileSearchCallCompletedEvent, OpenAI::Models::Responses::ResponseFileSearchCallInProgressEvent, OpenAI::Models::Responses::ResponseFileSearchCallSearchingEvent, OpenAI::Models::Responses::ResponseFunctionCallArgumentsDeltaEvent, OpenAI::Models::Responses::ResponseFunctionCallArgumentsDoneEvent, OpenAI::Models::Responses::ResponseShellCallCommandAddedEvent, OpenAI::Models::Responses::ResponseShellCallCommandDeltaEvent, OpenAI::Models::Responses::ResponseShellCallCommandDoneEvent, OpenAI::Models::Responses::ResponseShellCallOutputContentDeltaEvent, OpenAI::Models::Responses::ResponseShellCallOutputContentDoneEvent, OpenAI::Models::Responses::ResponseInProgressEvent, OpenAI::Models::Responses::ResponseFailedEvent, OpenAI::Models::Responses::ResponseIncompleteEvent, OpenAI::Models::Responses::ResponseOutputItemAddedEvent, OpenAI::Models::Responses::ResponseOutputItemDoneEvent, OpenAI::Models::Responses::ResponseReasoningSummaryPartAddedEvent, OpenAI::Models::Responses::ResponseReasoningSummaryPartDoneEvent, OpenAI::Models::Responses::ResponseReasoningSummaryTextDeltaEvent, OpenAI::Models::Responses::ResponseReasoningSummaryTextDoneEvent, OpenAI::Models::Responses::ResponseReasoningTextDeltaEvent, OpenAI::Models::Responses::ResponseReasoningTextDoneEvent, OpenAI::Models::Responses::ResponseRefusalDeltaEvent, OpenAI::Models::Responses::ResponseRefusalDoneEvent, OpenAI::Models::Responses::ResponseTextDeltaEvent, OpenAI::Models::Responses::ResponseTextDoneEvent, OpenAI::Models::Responses::ResponseWebSearchCallCompletedEvent, OpenAI::Models::Responses::ResponseWebSearchCallInProgressEvent, OpenAI::Models::Responses::ResponseWebSearchCallSearchingEvent, OpenAI::Models::Responses::ResponseImageGenCallCompletedEvent, OpenAI::Models::Responses::ResponseImageGenCallGeneratingEvent, OpenAI::Models::Responses::ResponseImageGenCallInProgressEvent, OpenAI::Models::Responses::ResponseImageGenCallPartialImageEvent, OpenAI::Models::Responses::ResponseMcpCallArgumentsDeltaEvent, OpenAI::Models::Responses::ResponseMcpCallArgumentsDoneEvent, OpenAI::Models::Responses::ResponseMcpCallCompletedEvent, OpenAI::Models::Responses::ResponseMcpCallFailedEvent, OpenAI::Models::Responses::ResponseMcpCallInProgressEvent, OpenAI::Models::Responses::ResponseMcpListToolsCompletedEvent, OpenAI::Models::Responses::ResponseMcpListToolsFailedEvent, OpenAI::Models::Responses::ResponseMcpListToolsInProgressEvent, OpenAI::Models::Responses::ResponseOutputTextAnnotationAddedEvent, OpenAI::Models::Responses::ResponseQueuedEvent, OpenAI::Models::Responses::ResponseCustomToolCallInputDeltaEvent, OpenAI::Models::Responses::ResponseCustomToolCallInputDoneEvent, OpenAI::Streaming::UnknownStreamEvent>]
|
|
619
619
|
#
|
|
620
620
|
# @see OpenAI::Models::Responses::ResponseCreateParams
|
|
621
621
|
def stream_raw(params = {})
|
|
@@ -731,7 +731,7 @@ module OpenAI
|
|
|
731
731
|
#
|
|
732
732
|
# @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
733
733
|
#
|
|
734
|
-
# @return [OpenAI::Internal::Stream<OpenAI::Models::Responses::ResponseAudioDeltaEvent, OpenAI::Models::Responses::ResponseAudioDoneEvent, OpenAI::Models::Responses::ResponseAudioTranscriptDeltaEvent, OpenAI::Models::Responses::ResponseAudioTranscriptDoneEvent, OpenAI::Models::Responses::ResponseCodeInterpreterCallCodeDeltaEvent, OpenAI::Models::Responses::ResponseCodeInterpreterCallCodeDoneEvent, OpenAI::Models::Responses::ResponseCodeInterpreterCallCompletedEvent, OpenAI::Models::Responses::ResponseCodeInterpreterCallInProgressEvent, OpenAI::Models::Responses::ResponseCodeInterpreterCallInterpretingEvent, OpenAI::Models::Responses::ResponseCompletedEvent, OpenAI::Models::Responses::ResponseContentPartAddedEvent, OpenAI::Models::Responses::ResponseContentPartDoneEvent, OpenAI::Models::Responses::ResponseCreatedEvent, OpenAI::Models::Responses::ResponseErrorEvent, OpenAI::Models::Responses::ResponseFileSearchCallCompletedEvent, OpenAI::Models::Responses::ResponseFileSearchCallInProgressEvent, OpenAI::Models::Responses::ResponseFileSearchCallSearchingEvent, OpenAI::Models::Responses::ResponseFunctionCallArgumentsDeltaEvent, OpenAI::Models::Responses::ResponseFunctionCallArgumentsDoneEvent, OpenAI::Models::Responses::ResponseShellCallCommandAddedEvent, OpenAI::Models::Responses::ResponseShellCallCommandDeltaEvent, OpenAI::Models::Responses::ResponseShellCallCommandDoneEvent, OpenAI::Models::Responses::ResponseShellCallOutputContentDeltaEvent, OpenAI::Models::Responses::ResponseShellCallOutputContentDoneEvent, OpenAI::Models::Responses::ResponseInProgressEvent, OpenAI::Models::Responses::ResponseFailedEvent, OpenAI::Models::Responses::ResponseIncompleteEvent, OpenAI::Models::Responses::ResponseOutputItemAddedEvent, OpenAI::Models::Responses::ResponseOutputItemDoneEvent, OpenAI::Models::Responses::ResponseReasoningSummaryPartAddedEvent, OpenAI::Models::Responses::ResponseReasoningSummaryPartDoneEvent, OpenAI::Models::Responses::ResponseReasoningSummaryTextDeltaEvent, OpenAI::Models::Responses::ResponseReasoningSummaryTextDoneEvent, OpenAI::Models::Responses::ResponseReasoningTextDeltaEvent, OpenAI::Models::Responses::ResponseReasoningTextDoneEvent, OpenAI::Models::Responses::ResponseRefusalDeltaEvent, OpenAI::Models::Responses::ResponseRefusalDoneEvent, OpenAI::Models::Responses::ResponseTextDeltaEvent, OpenAI::Models::Responses::ResponseTextDoneEvent, OpenAI::Models::Responses::ResponseWebSearchCallCompletedEvent, OpenAI::Models::Responses::ResponseWebSearchCallInProgressEvent, OpenAI::Models::Responses::ResponseWebSearchCallSearchingEvent, OpenAI::Models::Responses::ResponseImageGenCallCompletedEvent, OpenAI::Models::Responses::ResponseImageGenCallGeneratingEvent, OpenAI::Models::Responses::ResponseImageGenCallInProgressEvent, OpenAI::Models::Responses::ResponseImageGenCallPartialImageEvent, OpenAI::Models::Responses::ResponseMcpCallArgumentsDeltaEvent, OpenAI::Models::Responses::ResponseMcpCallArgumentsDoneEvent, OpenAI::Models::Responses::ResponseMcpCallCompletedEvent, OpenAI::Models::Responses::ResponseMcpCallFailedEvent, OpenAI::Models::Responses::ResponseMcpCallInProgressEvent, OpenAI::Models::Responses::ResponseMcpListToolsCompletedEvent, OpenAI::Models::Responses::ResponseMcpListToolsFailedEvent, OpenAI::Models::Responses::ResponseMcpListToolsInProgressEvent, OpenAI::Models::Responses::ResponseOutputTextAnnotationAddedEvent, OpenAI::Models::Responses::ResponseQueuedEvent, OpenAI::Models::Responses::ResponseCustomToolCallInputDeltaEvent, OpenAI::Models::Responses::ResponseCustomToolCallInputDoneEvent, OpenAI::Streaming::UnknownStreamEvent>]
|
|
734
|
+
# @return [OpenAI::Internal::Stream<OpenAI::Models::Responses::ResponseAudioDeltaEvent, OpenAI::Models::Responses::ResponseAudioDoneEvent, OpenAI::Models::Responses::ResponseAudioTranscriptDeltaEvent, OpenAI::Models::Responses::ResponseAudioTranscriptDoneEvent, OpenAI::Models::Responses::ResponseCodeInterpreterCallCodeDeltaEvent, OpenAI::Models::Responses::ResponseCodeInterpreterCallCodeDoneEvent, OpenAI::Models::Responses::ResponseCodeInterpreterCallCompletedEvent, OpenAI::Models::Responses::ResponseCodeInterpreterCallInProgressEvent, OpenAI::Models::Responses::ResponseCodeInterpreterCallInterpretingEvent, OpenAI::Models::Responses::ResponseCompactionCompactingEvent, OpenAI::Models::Responses::ResponseCompletedEvent, OpenAI::Models::Responses::ResponseContentPartAddedEvent, OpenAI::Models::Responses::ResponseContentPartDoneEvent, OpenAI::Models::Responses::ResponseCreatedEvent, OpenAI::Models::Responses::ResponseErrorEvent, OpenAI::Models::Responses::ResponseFileSearchCallCompletedEvent, OpenAI::Models::Responses::ResponseFileSearchCallInProgressEvent, OpenAI::Models::Responses::ResponseFileSearchCallSearchingEvent, OpenAI::Models::Responses::ResponseFunctionCallArgumentsDeltaEvent, OpenAI::Models::Responses::ResponseFunctionCallArgumentsDoneEvent, OpenAI::Models::Responses::ResponseShellCallCommandAddedEvent, OpenAI::Models::Responses::ResponseShellCallCommandDeltaEvent, OpenAI::Models::Responses::ResponseShellCallCommandDoneEvent, OpenAI::Models::Responses::ResponseShellCallOutputContentDeltaEvent, OpenAI::Models::Responses::ResponseShellCallOutputContentDoneEvent, OpenAI::Models::Responses::ResponseInProgressEvent, OpenAI::Models::Responses::ResponseFailedEvent, OpenAI::Models::Responses::ResponseIncompleteEvent, OpenAI::Models::Responses::ResponseOutputItemAddedEvent, OpenAI::Models::Responses::ResponseOutputItemDoneEvent, OpenAI::Models::Responses::ResponseReasoningSummaryPartAddedEvent, OpenAI::Models::Responses::ResponseReasoningSummaryPartDoneEvent, OpenAI::Models::Responses::ResponseReasoningSummaryTextDeltaEvent, OpenAI::Models::Responses::ResponseReasoningSummaryTextDoneEvent, OpenAI::Models::Responses::ResponseReasoningTextDeltaEvent, OpenAI::Models::Responses::ResponseReasoningTextDoneEvent, OpenAI::Models::Responses::ResponseRefusalDeltaEvent, OpenAI::Models::Responses::ResponseRefusalDoneEvent, OpenAI::Models::Responses::ResponseTextDeltaEvent, OpenAI::Models::Responses::ResponseTextDoneEvent, OpenAI::Models::Responses::ResponseWebSearchCallCompletedEvent, OpenAI::Models::Responses::ResponseWebSearchCallInProgressEvent, OpenAI::Models::Responses::ResponseWebSearchCallSearchingEvent, OpenAI::Models::Responses::ResponseImageGenCallCompletedEvent, OpenAI::Models::Responses::ResponseImageGenCallGeneratingEvent, OpenAI::Models::Responses::ResponseImageGenCallInProgressEvent, OpenAI::Models::Responses::ResponseImageGenCallPartialImageEvent, OpenAI::Models::Responses::ResponseMcpCallArgumentsDeltaEvent, OpenAI::Models::Responses::ResponseMcpCallArgumentsDoneEvent, OpenAI::Models::Responses::ResponseMcpCallCompletedEvent, OpenAI::Models::Responses::ResponseMcpCallFailedEvent, OpenAI::Models::Responses::ResponseMcpCallInProgressEvent, OpenAI::Models::Responses::ResponseMcpListToolsCompletedEvent, OpenAI::Models::Responses::ResponseMcpListToolsFailedEvent, OpenAI::Models::Responses::ResponseMcpListToolsInProgressEvent, OpenAI::Models::Responses::ResponseOutputTextAnnotationAddedEvent, OpenAI::Models::Responses::ResponseQueuedEvent, OpenAI::Models::Responses::ResponseCustomToolCallInputDeltaEvent, OpenAI::Models::Responses::ResponseCustomToolCallInputDoneEvent, OpenAI::Streaming::UnknownStreamEvent>]
|
|
735
735
|
#
|
|
736
736
|
# @see OpenAI::Models::Responses::ResponseRetrieveParams
|
|
737
737
|
def retrieve_streaming(response_id, params = {})
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Resources
|
|
5
|
+
class Webhooks
|
|
6
|
+
class EventTypes
|
|
7
|
+
# Returns webhook event types visible to the authenticated project.
|
|
8
|
+
#
|
|
9
|
+
# @overload list(request_options: {})
|
|
10
|
+
#
|
|
11
|
+
# @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
12
|
+
#
|
|
13
|
+
# @return [OpenAI::Models::Webhooks::WebhookEventTypeList]
|
|
14
|
+
#
|
|
15
|
+
# @see OpenAI::Models::Webhooks::EventTypeListParams
|
|
16
|
+
def list(params = {})
|
|
17
|
+
@client.request(
|
|
18
|
+
method: :get,
|
|
19
|
+
path: "webhook_event_types",
|
|
20
|
+
model: OpenAI::Webhooks::WebhookEventTypeList,
|
|
21
|
+
security: {bearer_auth: true},
|
|
22
|
+
options: params[:request_options]
|
|
23
|
+
)
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
# @api private
|
|
27
|
+
#
|
|
28
|
+
# @param client [OpenAI::Client]
|
|
29
|
+
def initialize(client:)
|
|
30
|
+
@client = client
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
@@ -3,6 +3,200 @@
|
|
|
3
3
|
module OpenAI
|
|
4
4
|
module Resources
|
|
5
5
|
class Webhooks
|
|
6
|
+
# @return [OpenAI::Resources::Webhooks::EventTypes]
|
|
7
|
+
attr_reader :event_types
|
|
8
|
+
|
|
9
|
+
# Creates a webhook endpoint for the authenticated project.
|
|
10
|
+
#
|
|
11
|
+
# @overload create(event_types:, name:, url:, request_options: {})
|
|
12
|
+
#
|
|
13
|
+
# @param event_types [Array<Symbol, OpenAI::Models::Webhooks::WebhookCreateParams::EventType>]
|
|
14
|
+
# The event types that trigger deliveries to this endpoint.
|
|
15
|
+
#
|
|
16
|
+
# @param name [String]
|
|
17
|
+
# A human-readable name for the webhook endpoint.
|
|
18
|
+
#
|
|
19
|
+
# @param url [String]
|
|
20
|
+
# The HTTPS URL that receives webhook deliveries.
|
|
21
|
+
#
|
|
22
|
+
# @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
23
|
+
#
|
|
24
|
+
# @return [OpenAI::Models::Webhooks::WebhookEndpointWithSecret]
|
|
25
|
+
#
|
|
26
|
+
# @see OpenAI::Models::Webhooks::WebhookCreateParams
|
|
27
|
+
def create(params)
|
|
28
|
+
parsed, options = OpenAI::Webhooks::WebhookCreateParams.dump_request(params)
|
|
29
|
+
@client.request(
|
|
30
|
+
method: :post,
|
|
31
|
+
path: "webhook_endpoints",
|
|
32
|
+
body: parsed,
|
|
33
|
+
model: OpenAI::Webhooks::WebhookEndpointWithSecret,
|
|
34
|
+
security: {bearer_auth: true},
|
|
35
|
+
options: options
|
|
36
|
+
)
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
# Retrieves a webhook endpoint for the authenticated project.
|
|
40
|
+
#
|
|
41
|
+
# @overload retrieve(webhook_endpoint_id, request_options: {})
|
|
42
|
+
#
|
|
43
|
+
# @param webhook_endpoint_id [String]
|
|
44
|
+
# The ID of the webhook endpoint to retrieve.
|
|
45
|
+
#
|
|
46
|
+
# @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
47
|
+
#
|
|
48
|
+
# @return [OpenAI::Models::Webhooks::WebhookEndpoint]
|
|
49
|
+
#
|
|
50
|
+
# @see OpenAI::Models::Webhooks::WebhookRetrieveParams
|
|
51
|
+
def retrieve(webhook_endpoint_id, params = {})
|
|
52
|
+
@client.request(
|
|
53
|
+
method: :get,
|
|
54
|
+
path: ["webhook_endpoints/%1$s", webhook_endpoint_id],
|
|
55
|
+
model: OpenAI::Webhooks::WebhookEndpoint,
|
|
56
|
+
security: {bearer_auth: true},
|
|
57
|
+
options: params[:request_options]
|
|
58
|
+
)
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
# Updates a webhook endpoint for the authenticated project.
|
|
62
|
+
#
|
|
63
|
+
# @overload update(webhook_endpoint_id, event_types: nil, name: nil, url: nil, request_options: {})
|
|
64
|
+
#
|
|
65
|
+
# @param webhook_endpoint_id [String]
|
|
66
|
+
# The ID of the webhook endpoint to update.
|
|
67
|
+
#
|
|
68
|
+
# @param event_types [Array<Symbol, OpenAI::Models::Webhooks::WebhookUpdateParams::EventType>]
|
|
69
|
+
# The complete set of event types that should trigger deliveries.
|
|
70
|
+
#
|
|
71
|
+
# @param name [String]
|
|
72
|
+
# A new human-readable name for the webhook endpoint.
|
|
73
|
+
#
|
|
74
|
+
# @param url [String]
|
|
75
|
+
# A new HTTPS URL that receives webhook deliveries.
|
|
76
|
+
#
|
|
77
|
+
# @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
78
|
+
#
|
|
79
|
+
# @return [OpenAI::Models::Webhooks::WebhookEndpoint]
|
|
80
|
+
#
|
|
81
|
+
# @see OpenAI::Models::Webhooks::WebhookUpdateParams
|
|
82
|
+
def update(webhook_endpoint_id, params = {})
|
|
83
|
+
parsed, options = OpenAI::Webhooks::WebhookUpdateParams.dump_request(params)
|
|
84
|
+
@client.request(
|
|
85
|
+
method: :post,
|
|
86
|
+
path: ["webhook_endpoints/%1$s", webhook_endpoint_id],
|
|
87
|
+
body: parsed,
|
|
88
|
+
model: OpenAI::Webhooks::WebhookEndpoint,
|
|
89
|
+
security: {bearer_auth: true},
|
|
90
|
+
options: options
|
|
91
|
+
)
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
# Returns webhook endpoints for the authenticated project in newest-first order.
|
|
95
|
+
#
|
|
96
|
+
# @overload list(after: nil, limit: nil, request_options: {})
|
|
97
|
+
#
|
|
98
|
+
# @param after [String, nil]
|
|
99
|
+
# ID of the last webhook endpoint from the previous page.
|
|
100
|
+
#
|
|
101
|
+
# @param limit [Integer]
|
|
102
|
+
# Maximum number of webhook endpoints to return. Defaults to 20.
|
|
103
|
+
#
|
|
104
|
+
# @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
105
|
+
#
|
|
106
|
+
# @return [OpenAI::Internal::CursorPage<OpenAI::Models::Webhooks::WebhookEndpoint>]
|
|
107
|
+
#
|
|
108
|
+
# @see OpenAI::Models::Webhooks::WebhookListParams
|
|
109
|
+
def list(params = {})
|
|
110
|
+
parsed, options = OpenAI::Webhooks::WebhookListParams.dump_request(params)
|
|
111
|
+
query = OpenAI::Internal::Util.encode_query_params(parsed)
|
|
112
|
+
@client.request(
|
|
113
|
+
method: :get,
|
|
114
|
+
path: "webhook_endpoints",
|
|
115
|
+
query: query,
|
|
116
|
+
page: OpenAI::Internal::CursorPage,
|
|
117
|
+
model: OpenAI::Webhooks::WebhookEndpoint,
|
|
118
|
+
security: {bearer_auth: true},
|
|
119
|
+
options: options
|
|
120
|
+
)
|
|
121
|
+
end
|
|
122
|
+
|
|
123
|
+
# Deletes a webhook endpoint for the authenticated project.
|
|
124
|
+
#
|
|
125
|
+
# @overload delete(webhook_endpoint_id, request_options: {})
|
|
126
|
+
#
|
|
127
|
+
# @param webhook_endpoint_id [String]
|
|
128
|
+
# The ID of the webhook endpoint to delete.
|
|
129
|
+
#
|
|
130
|
+
# @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
131
|
+
#
|
|
132
|
+
# @return [OpenAI::Models::Webhooks::DeletedWebhookEndpoint]
|
|
133
|
+
#
|
|
134
|
+
# @see OpenAI::Models::Webhooks::WebhookDeleteParams
|
|
135
|
+
def delete(webhook_endpoint_id, params = {})
|
|
136
|
+
@client.request(
|
|
137
|
+
method: :delete,
|
|
138
|
+
path: ["webhook_endpoints/%1$s", webhook_endpoint_id],
|
|
139
|
+
model: OpenAI::Webhooks::DeletedWebhookEndpoint,
|
|
140
|
+
security: {bearer_auth: true},
|
|
141
|
+
options: params[:request_options]
|
|
142
|
+
)
|
|
143
|
+
end
|
|
144
|
+
|
|
145
|
+
# Rotates the signing secret for a webhook endpoint in the authenticated project.
|
|
146
|
+
#
|
|
147
|
+
# @overload rotate_secret(webhook_endpoint_id, keep_old_secret_active_for_24_hours: nil, request_options: {})
|
|
148
|
+
#
|
|
149
|
+
# @param webhook_endpoint_id [String]
|
|
150
|
+
# The ID of the webhook endpoint whose signing secret will be rotated.
|
|
151
|
+
#
|
|
152
|
+
# @param keep_old_secret_active_for_24_hours [Boolean]
|
|
153
|
+
# Whether to keep the previous signing secret valid for 24 hours after rotation.
|
|
154
|
+
# Defaults to false, which invalidates the previous secret immediately.
|
|
155
|
+
#
|
|
156
|
+
# @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
157
|
+
#
|
|
158
|
+
# @return [OpenAI::Models::Webhooks::WebhookEndpointWithSecret]
|
|
159
|
+
#
|
|
160
|
+
# @see OpenAI::Models::Webhooks::WebhookRotateSecretParams
|
|
161
|
+
def rotate_secret(webhook_endpoint_id, params = {})
|
|
162
|
+
parsed, options = OpenAI::Webhooks::WebhookRotateSecretParams.dump_request(params)
|
|
163
|
+
@client.request(
|
|
164
|
+
method: :post,
|
|
165
|
+
path: ["webhook_endpoints/%1$s/rotate_secret", webhook_endpoint_id],
|
|
166
|
+
body: parsed,
|
|
167
|
+
model: OpenAI::Webhooks::WebhookEndpointWithSecret,
|
|
168
|
+
security: {bearer_auth: true},
|
|
169
|
+
options: options
|
|
170
|
+
)
|
|
171
|
+
end
|
|
172
|
+
|
|
173
|
+
# Sends a sample event to a webhook endpoint for the authenticated project.
|
|
174
|
+
#
|
|
175
|
+
# @overload test_(webhook_endpoint_id, event_type:, request_options: {})
|
|
176
|
+
#
|
|
177
|
+
# @param webhook_endpoint_id [String]
|
|
178
|
+
# The ID of the webhook endpoint to test.
|
|
179
|
+
#
|
|
180
|
+
# @param event_type [Symbol, OpenAI::Models::Webhooks::WebhookTestParams::EventType]
|
|
181
|
+
# The event type to send as a sample delivery.
|
|
182
|
+
#
|
|
183
|
+
# @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
184
|
+
#
|
|
185
|
+
# @return [OpenAI::Models::Webhooks::WebhookEndpointTestResult]
|
|
186
|
+
#
|
|
187
|
+
# @see OpenAI::Models::Webhooks::WebhookTestParams
|
|
188
|
+
def test_(webhook_endpoint_id, params)
|
|
189
|
+
parsed, options = OpenAI::Webhooks::WebhookTestParams.dump_request(params)
|
|
190
|
+
@client.request(
|
|
191
|
+
method: :post,
|
|
192
|
+
path: ["webhook_endpoints/%1$s/test", webhook_endpoint_id],
|
|
193
|
+
body: parsed,
|
|
194
|
+
model: OpenAI::Webhooks::WebhookEndpointTestResult,
|
|
195
|
+
security: {bearer_auth: true},
|
|
196
|
+
options: options
|
|
197
|
+
)
|
|
198
|
+
end
|
|
199
|
+
|
|
6
200
|
# Validates that the given payload was sent by OpenAI and parses the payload.
|
|
7
201
|
#
|
|
8
202
|
# @param payload [String] The raw webhook payload as a string
|
|
@@ -124,6 +318,7 @@ module OpenAI
|
|
|
124
318
|
# @param client [OpenAI::Client]
|
|
125
319
|
def initialize(client:)
|
|
126
320
|
@client = client
|
|
321
|
+
@event_types = OpenAI::Resources::Webhooks::EventTypes.new(client: client)
|
|
127
322
|
end
|
|
128
323
|
end
|
|
129
324
|
end
|
data/lib/openai/version.rb
CHANGED
data/lib/openai.rb
CHANGED
|
@@ -140,6 +140,7 @@ require_relative "openai/models/beta/beta_response_created_event"
|
|
|
140
140
|
require_relative "openai/models/beta/beta_response_content_part_done_event"
|
|
141
141
|
require_relative "openai/models/beta/beta_response_content_part_added_event"
|
|
142
142
|
require_relative "openai/models/beta/beta_response_completed_event"
|
|
143
|
+
require_relative "openai/models/beta/beta_response_compaction_compacting_event"
|
|
143
144
|
require_relative "openai/models/beta/beta_response_code_interpreter_call_interpreting_event"
|
|
144
145
|
require_relative "openai/models/beta/beta_response_code_interpreter_call_in_progress_event"
|
|
145
146
|
require_relative "openai/models/beta/beta_response_code_interpreter_call_completed_event"
|
|
@@ -213,6 +214,7 @@ require_relative "openai/models/responses/response_created_event"
|
|
|
213
214
|
require_relative "openai/models/responses/response_content_part_done_event"
|
|
214
215
|
require_relative "openai/models/responses/response_content_part_added_event"
|
|
215
216
|
require_relative "openai/models/responses/response_completed_event"
|
|
217
|
+
require_relative "openai/models/responses/response_compaction_compacting_event"
|
|
216
218
|
require_relative "openai/models/responses/response_code_interpreter_call_interpreting_event"
|
|
217
219
|
require_relative "openai/models/responses/response_code_interpreter_call_in_progress_event"
|
|
218
220
|
require_relative "openai/models/responses/response_code_interpreter_call_completed_event"
|
|
@@ -1416,9 +1418,11 @@ require_relative "openai/models/webhooks/batch_cancelled_webhook_event"
|
|
|
1416
1418
|
require_relative "openai/models/webhooks/batch_completed_webhook_event"
|
|
1417
1419
|
require_relative "openai/models/webhooks/batch_expired_webhook_event"
|
|
1418
1420
|
require_relative "openai/models/webhooks/batch_failed_webhook_event"
|
|
1421
|
+
require_relative "openai/models/webhooks/deleted_webhook_endpoint"
|
|
1419
1422
|
require_relative "openai/models/webhooks/eval_run_canceled_webhook_event"
|
|
1420
1423
|
require_relative "openai/models/webhooks/eval_run_failed_webhook_event"
|
|
1421
1424
|
require_relative "openai/models/webhooks/eval_run_succeeded_webhook_event"
|
|
1425
|
+
require_relative "openai/models/webhooks/event_type_list_params"
|
|
1422
1426
|
require_relative "openai/models/webhooks/fine_tuning_job_cancelled_webhook_event"
|
|
1423
1427
|
require_relative "openai/models/webhooks/fine_tuning_job_failed_webhook_event"
|
|
1424
1428
|
require_relative "openai/models/webhooks/fine_tuning_job_succeeded_webhook_event"
|
|
@@ -1432,7 +1436,19 @@ require_relative "openai/models/webhooks/response_incomplete_webhook_event"
|
|
|
1432
1436
|
require_relative "openai/models/webhooks/safety_alert_created_webhook_event"
|
|
1433
1437
|
require_relative "openai/models/webhooks/safety_org_alert_created_webhook_event"
|
|
1434
1438
|
require_relative "openai/models/webhooks/unwrap_webhook_event"
|
|
1439
|
+
require_relative "openai/models/webhooks/webhook_create_params"
|
|
1440
|
+
require_relative "openai/models/webhooks/webhook_delete_params"
|
|
1441
|
+
require_relative "openai/models/webhooks/webhook_endpoint"
|
|
1442
|
+
require_relative "openai/models/webhooks/webhook_endpoint_list"
|
|
1443
|
+
require_relative "openai/models/webhooks/webhook_endpoint_test_result"
|
|
1444
|
+
require_relative "openai/models/webhooks/webhook_endpoint_with_secret"
|
|
1445
|
+
require_relative "openai/models/webhooks/webhook_event_type_list"
|
|
1446
|
+
require_relative "openai/models/webhooks/webhook_list_params"
|
|
1447
|
+
require_relative "openai/models/webhooks/webhook_retrieve_params"
|
|
1448
|
+
require_relative "openai/models/webhooks/webhook_rotate_secret_params"
|
|
1449
|
+
require_relative "openai/models/webhooks/webhook_test_params"
|
|
1435
1450
|
require_relative "openai/models/webhooks/webhook_unwrap_params"
|
|
1451
|
+
require_relative "openai/models/webhooks/webhook_update_params"
|
|
1436
1452
|
require_relative "openai/models"
|
|
1437
1453
|
require_relative "openai/resources/admin"
|
|
1438
1454
|
require_relative "openai/resources/admin/organization"
|
|
@@ -1549,6 +1565,7 @@ require_relative "openai/resources/vector_stores/file_batches"
|
|
|
1549
1565
|
require_relative "openai/resources/vector_stores/files"
|
|
1550
1566
|
require_relative "openai/resources/videos"
|
|
1551
1567
|
require_relative "openai/resources/webhooks"
|
|
1568
|
+
require_relative "openai/resources/webhooks/event_types"
|
|
1552
1569
|
require_relative "openai/helpers/streaming/response_events"
|
|
1553
1570
|
require_relative "openai/helpers/streaming/response_stream"
|
|
1554
1571
|
require_relative "openai/helpers/streaming/exceptions"
|
|
@@ -54,6 +54,11 @@ module OpenAI
|
|
|
54
54
|
def send_event(event)
|
|
55
55
|
end
|
|
56
56
|
|
|
57
|
+
# @api private
|
|
58
|
+
sig { params(event: ClientEvent).returns(OpenAI::Internal::AnyHash) }
|
|
59
|
+
def encode_client_event(event)
|
|
60
|
+
end
|
|
61
|
+
|
|
57
62
|
# @api private
|
|
58
63
|
sig { params(data: String).void }
|
|
59
64
|
def send_raw(data)
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Models
|
|
5
|
+
module Responses
|
|
6
|
+
class SessionError < OpenAI::Errors::Error
|
|
7
|
+
sig { returns(NilClass) }
|
|
8
|
+
def cause
|
|
9
|
+
end
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
class BufferError < SessionError
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
class StateLostError < SessionError
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
class RequestError < SessionError
|
|
19
|
+
sig { returns(Connection::ServerEvent) }
|
|
20
|
+
attr_reader :event
|
|
21
|
+
|
|
22
|
+
# @api private
|
|
23
|
+
sig { params(event: Connection::ServerEvent).returns(T.attached_class) }
|
|
24
|
+
def self.new(event)
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
class SessionLimits
|
|
29
|
+
sig { returns(Integer) }
|
|
30
|
+
attr_reader :max_lanes, :max_events_per_lane, :max_events, :max_bytes_per_lane, :max_bytes, :max_response_bytes
|
|
31
|
+
|
|
32
|
+
sig do
|
|
33
|
+
params(
|
|
34
|
+
max_lanes: Integer,
|
|
35
|
+
max_events_per_lane: Integer,
|
|
36
|
+
max_events: Integer,
|
|
37
|
+
max_bytes_per_lane: Integer,
|
|
38
|
+
max_bytes: Integer,
|
|
39
|
+
max_response_bytes: Integer
|
|
40
|
+
)
|
|
41
|
+
.returns(T.attached_class)
|
|
42
|
+
end
|
|
43
|
+
def self.new(
|
|
44
|
+
max_lanes:,
|
|
45
|
+
max_events_per_lane:,
|
|
46
|
+
max_events:,
|
|
47
|
+
max_bytes_per_lane:,
|
|
48
|
+
max_bytes:,
|
|
49
|
+
max_response_bytes:
|
|
50
|
+
)
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
class SessionLane
|
|
55
|
+
sig { returns(T.nilable(String)) }
|
|
56
|
+
attr_reader :stream_id
|
|
57
|
+
|
|
58
|
+
sig { params(event: Connection::ClientEvent).void }
|
|
59
|
+
def send_event(event)
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
sig { returns(Connection::ServerEvent) }
|
|
63
|
+
def receive
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
sig { returns(OpenAI::Responses::Response) }
|
|
67
|
+
def get_final_response
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
sig { void }
|
|
71
|
+
def close
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
# @api private
|
|
75
|
+
sig {
|
|
76
|
+
params(session: Session, stream_id: T.nilable(String), pending_steers: T::Hash[String, T.untyped]).returns(
|
|
77
|
+
T.attached_class
|
|
78
|
+
)
|
|
79
|
+
}
|
|
80
|
+
def self.new(session, stream_id, pending_steers)
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
# @api private
|
|
84
|
+
sig {
|
|
85
|
+
params(event: Connection::ServerEvent, bytes: Integer, raw_command_sent: T::Boolean).returns(
|
|
86
|
+
T.nilable(T::Boolean)
|
|
87
|
+
)
|
|
88
|
+
}
|
|
89
|
+
def enqueue(event, bytes, raw_command_sent = false)
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
# @api private
|
|
93
|
+
sig { params(error: T.nilable(Exception)).void }
|
|
94
|
+
def discard(error = nil)
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
# @api private
|
|
98
|
+
sig { void }
|
|
99
|
+
def wake
|
|
100
|
+
end
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
class Session
|
|
104
|
+
sig { returns(SessionLimits) }
|
|
105
|
+
attr_reader :limits
|
|
106
|
+
|
|
107
|
+
sig { returns(SessionLane) }
|
|
108
|
+
attr_reader :default
|
|
109
|
+
|
|
110
|
+
sig do
|
|
111
|
+
type_parameters(:Result)
|
|
112
|
+
.params(
|
|
113
|
+
client: OpenAI::Client,
|
|
114
|
+
limits: SessionLimits,
|
|
115
|
+
request_options: T.nilable(OpenAI::RequestOptions::OrHash),
|
|
116
|
+
websocket_base_url: T.nilable(String),
|
|
117
|
+
transport: T.anything,
|
|
118
|
+
transport_options: T::Hash[Symbol, T.anything],
|
|
119
|
+
block: T.proc.params(session: Session).returns(T.type_parameter(:Result))
|
|
120
|
+
)
|
|
121
|
+
.returns(T.type_parameter(:Result))
|
|
122
|
+
end
|
|
123
|
+
def self.open(
|
|
124
|
+
client:,
|
|
125
|
+
limits:,
|
|
126
|
+
request_options: nil,
|
|
127
|
+
websocket_base_url: nil,
|
|
128
|
+
transport: nil,
|
|
129
|
+
transport_options: {},
|
|
130
|
+
&block
|
|
131
|
+
)
|
|
132
|
+
end
|
|
133
|
+
|
|
134
|
+
sig { params(stream_id: T.nilable(String)).returns(SessionLane) }
|
|
135
|
+
def lane(stream_id)
|
|
136
|
+
end
|
|
137
|
+
|
|
138
|
+
sig do
|
|
139
|
+
params(
|
|
140
|
+
restore: T.proc.params(session: Session).returns(T.anything),
|
|
141
|
+
client: OpenAI::Client,
|
|
142
|
+
request_options: T.nilable(OpenAI::RequestOptions::OrHash)
|
|
143
|
+
)
|
|
144
|
+
.returns(T.self_type)
|
|
145
|
+
end
|
|
146
|
+
def reconnect(restore:, client: T.unsafe(nil), request_options: nil)
|
|
147
|
+
end
|
|
148
|
+
|
|
149
|
+
sig { void }
|
|
150
|
+
def close
|
|
151
|
+
end
|
|
152
|
+
|
|
153
|
+
# @api private
|
|
154
|
+
sig {
|
|
155
|
+
params(
|
|
156
|
+
task: T.untyped,
|
|
157
|
+
client: OpenAI::Client,
|
|
158
|
+
limits: SessionLimits,
|
|
159
|
+
request_options: T.nilable(OpenAI::RequestOptions::OrHash),
|
|
160
|
+
websocket_base_url: T.nilable(String),
|
|
161
|
+
transport: T.anything,
|
|
162
|
+
transport_options: T::Hash[Symbol, T.anything]
|
|
163
|
+
)
|
|
164
|
+
.returns(T.attached_class)
|
|
165
|
+
}
|
|
166
|
+
def self.new(task:, client:, limits:, request_options:, websocket_base_url:, transport:, transport_options:)
|
|
167
|
+
end
|
|
168
|
+
|
|
169
|
+
# @api private
|
|
170
|
+
sig { void }
|
|
171
|
+
def start
|
|
172
|
+
end
|
|
173
|
+
|
|
174
|
+
# @api private
|
|
175
|
+
sig { params(event: Connection::ClientEvent).returns(OpenAI::Internal::AnyHash) }
|
|
176
|
+
def encode_client_event(event)
|
|
177
|
+
end
|
|
178
|
+
|
|
179
|
+
# @api private
|
|
180
|
+
sig { params(event: Connection::ClientEvent).void }
|
|
181
|
+
def send_event(event)
|
|
182
|
+
end
|
|
183
|
+
|
|
184
|
+
# @api private
|
|
185
|
+
sig { void }
|
|
186
|
+
def check_reader!
|
|
187
|
+
end
|
|
188
|
+
|
|
189
|
+
# @api private
|
|
190
|
+
sig { void }
|
|
191
|
+
def assert_owner!
|
|
192
|
+
end
|
|
193
|
+
|
|
194
|
+
# @api private
|
|
195
|
+
sig { params(bytes: Integer).void }
|
|
196
|
+
def consumed(bytes)
|
|
197
|
+
end
|
|
198
|
+
|
|
199
|
+
# @api private
|
|
200
|
+
sig { params(value: SessionLane).void }
|
|
201
|
+
def detach(value)
|
|
202
|
+
end
|
|
203
|
+
end
|
|
204
|
+
end
|
|
205
|
+
end
|
|
206
|
+
end
|