openai 0.10.0 → 0.12.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 +36 -0
- data/README.md +83 -7
- data/lib/openai/client.rb +11 -0
- data/lib/openai/errors.rb +3 -0
- data/lib/openai/helpers/streaming/events.rb +23 -0
- data/lib/openai/helpers/streaming/response_stream.rb +232 -0
- data/lib/openai/helpers/structured_output/parsed_json.rb +39 -0
- data/lib/openai/internal/stream.rb +2 -1
- data/lib/openai/internal/transport/base_client.rb +10 -2
- data/lib/openai/internal/type/base_stream.rb +3 -1
- data/lib/openai/models/all_models.rb +4 -0
- data/lib/openai/models/chat/chat_completion.rb +32 -31
- data/lib/openai/models/chat/chat_completion_chunk.rb +30 -29
- data/lib/openai/models/chat/chat_completion_message.rb +1 -1
- data/lib/openai/models/chat/chat_completion_message_tool_call.rb +1 -1
- data/lib/openai/models/chat/completion_create_params.rb +34 -31
- data/lib/openai/models/images_response.rb +92 -1
- data/lib/openai/models/responses/response.rb +59 -35
- data/lib/openai/models/responses/response_create_params.rb +64 -39
- data/lib/openai/models/responses/response_function_tool_call.rb +1 -1
- data/lib/openai/models/responses/response_function_web_search.rb +115 -1
- data/lib/openai/models/responses/response_includable.rb +8 -6
- data/lib/openai/models/responses/response_output_text.rb +1 -1
- data/lib/openai/models/responses/tool_choice_mcp.rb +40 -0
- data/lib/openai/models/responses/tool_choice_types.rb +0 -3
- data/lib/openai/models/responses_model.rb +4 -0
- data/lib/openai/models/webhooks/batch_cancelled_webhook_event.rb +84 -0
- data/lib/openai/models/webhooks/batch_completed_webhook_event.rb +84 -0
- data/lib/openai/models/webhooks/batch_expired_webhook_event.rb +84 -0
- data/lib/openai/models/webhooks/batch_failed_webhook_event.rb +84 -0
- data/lib/openai/models/webhooks/eval_run_canceled_webhook_event.rb +84 -0
- data/lib/openai/models/webhooks/eval_run_failed_webhook_event.rb +84 -0
- data/lib/openai/models/webhooks/eval_run_succeeded_webhook_event.rb +84 -0
- data/lib/openai/models/webhooks/fine_tuning_job_cancelled_webhook_event.rb +85 -0
- data/lib/openai/models/webhooks/fine_tuning_job_failed_webhook_event.rb +85 -0
- data/lib/openai/models/webhooks/fine_tuning_job_succeeded_webhook_event.rb +85 -0
- data/lib/openai/models/webhooks/response_cancelled_webhook_event.rb +85 -0
- data/lib/openai/models/webhooks/response_completed_webhook_event.rb +85 -0
- data/lib/openai/models/webhooks/response_failed_webhook_event.rb +84 -0
- data/lib/openai/models/webhooks/response_incomplete_webhook_event.rb +85 -0
- data/lib/openai/models/webhooks/unwrap_webhook_event.rb +59 -0
- data/lib/openai/models/webhooks/webhook_unwrap_params.rb +16 -0
- data/lib/openai/models.rb +2 -0
- data/lib/openai/resources/chat/completions.rb +14 -6
- data/lib/openai/resources/responses.rb +262 -81
- data/lib/openai/resources/webhooks.rb +124 -0
- data/lib/openai/streaming.rb +5 -0
- data/lib/openai/version.rb +1 -1
- data/lib/openai.rb +22 -0
- data/rbi/openai/client.rbi +3 -0
- data/rbi/openai/helpers/streaming/events.rbi +31 -0
- data/rbi/openai/helpers/streaming/response_stream.rbi +104 -0
- data/rbi/openai/internal/type/base_stream.rbi +8 -1
- data/rbi/openai/models/all_models.rbi +20 -0
- data/rbi/openai/models/chat/chat_completion.rbi +47 -42
- data/rbi/openai/models/chat/chat_completion_chunk.rbi +47 -42
- data/rbi/openai/models/chat/completion_create_params.rbi +51 -42
- data/rbi/openai/models/images_response.rbi +146 -0
- data/rbi/openai/models/responses/response.rbi +75 -44
- data/rbi/openai/models/responses/response_create_params.rbi +91 -55
- data/rbi/openai/models/responses/response_function_web_search.rbi +163 -0
- data/rbi/openai/models/responses/response_includable.rbi +17 -11
- data/rbi/openai/models/responses/tool_choice_mcp.rbi +53 -0
- data/rbi/openai/models/responses/tool_choice_types.rbi +0 -5
- data/rbi/openai/models/responses_model.rbi +20 -0
- data/rbi/openai/models/webhooks/batch_cancelled_webhook_event.rbi +154 -0
- data/rbi/openai/models/webhooks/batch_completed_webhook_event.rbi +154 -0
- data/rbi/openai/models/webhooks/batch_expired_webhook_event.rbi +150 -0
- data/rbi/openai/models/webhooks/batch_failed_webhook_event.rbi +149 -0
- data/rbi/openai/models/webhooks/eval_run_canceled_webhook_event.rbi +154 -0
- data/rbi/openai/models/webhooks/eval_run_failed_webhook_event.rbi +151 -0
- data/rbi/openai/models/webhooks/eval_run_succeeded_webhook_event.rbi +154 -0
- data/rbi/openai/models/webhooks/fine_tuning_job_cancelled_webhook_event.rbi +158 -0
- data/rbi/openai/models/webhooks/fine_tuning_job_failed_webhook_event.rbi +156 -0
- data/rbi/openai/models/webhooks/fine_tuning_job_succeeded_webhook_event.rbi +158 -0
- data/rbi/openai/models/webhooks/response_cancelled_webhook_event.rbi +154 -0
- data/rbi/openai/models/webhooks/response_completed_webhook_event.rbi +154 -0
- data/rbi/openai/models/webhooks/response_failed_webhook_event.rbi +154 -0
- data/rbi/openai/models/webhooks/response_incomplete_webhook_event.rbi +155 -0
- data/rbi/openai/models/webhooks/unwrap_webhook_event.rbi +40 -0
- data/rbi/openai/models/webhooks/webhook_unwrap_params.rbi +32 -0
- data/rbi/openai/models.rbi +2 -0
- data/rbi/openai/resources/chat/completions.rbi +34 -30
- data/rbi/openai/resources/responses.rbi +188 -39
- data/rbi/openai/resources/webhooks.rbi +68 -0
- data/rbi/openai/streaming.rbi +5 -0
- data/sig/openai/client.rbs +2 -0
- data/sig/openai/internal/type/base_stream.rbs +4 -0
- data/sig/openai/models/all_models.rbs +8 -0
- data/sig/openai/models/chat/chat_completion.rbs +2 -1
- data/sig/openai/models/chat/chat_completion_chunk.rbs +2 -1
- data/sig/openai/models/chat/completion_create_params.rbs +2 -1
- data/sig/openai/models/images_response.rbs +83 -0
- data/sig/openai/models/responses/response.rbs +13 -1
- data/sig/openai/models/responses/response_create_params.rbs +13 -1
- data/sig/openai/models/responses/response_function_web_search.rbs +54 -0
- data/sig/openai/models/responses/response_includable.rbs +7 -5
- data/sig/openai/models/responses/tool_choice_mcp.rbs +23 -0
- data/sig/openai/models/responses/tool_choice_types.rbs +0 -2
- data/sig/openai/models/responses_model.rbs +8 -0
- data/sig/openai/models/webhooks/batch_cancelled_webhook_event.rbs +66 -0
- data/sig/openai/models/webhooks/batch_completed_webhook_event.rbs +66 -0
- data/sig/openai/models/webhooks/batch_expired_webhook_event.rbs +66 -0
- data/sig/openai/models/webhooks/batch_failed_webhook_event.rbs +66 -0
- data/sig/openai/models/webhooks/eval_run_canceled_webhook_event.rbs +66 -0
- data/sig/openai/models/webhooks/eval_run_failed_webhook_event.rbs +66 -0
- data/sig/openai/models/webhooks/eval_run_succeeded_webhook_event.rbs +66 -0
- data/sig/openai/models/webhooks/fine_tuning_job_cancelled_webhook_event.rbs +66 -0
- data/sig/openai/models/webhooks/fine_tuning_job_failed_webhook_event.rbs +66 -0
- data/sig/openai/models/webhooks/fine_tuning_job_succeeded_webhook_event.rbs +66 -0
- data/sig/openai/models/webhooks/response_cancelled_webhook_event.rbs +66 -0
- data/sig/openai/models/webhooks/response_completed_webhook_event.rbs +66 -0
- data/sig/openai/models/webhooks/response_failed_webhook_event.rbs +66 -0
- data/sig/openai/models/webhooks/response_incomplete_webhook_event.rbs +66 -0
- data/sig/openai/models/webhooks/unwrap_webhook_event.rbs +27 -0
- data/sig/openai/models/webhooks/webhook_unwrap_params.rbs +17 -0
- data/sig/openai/models.rbs +2 -0
- data/sig/openai/resources/responses.rbs +4 -0
- data/sig/openai/resources/webhooks.rbs +33 -0
- metadata +63 -2
@@ -0,0 +1,85 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module OpenAI
|
4
|
+
module Models
|
5
|
+
module Webhooks
|
6
|
+
class ResponseCancelledWebhookEvent < OpenAI::Internal::Type::BaseModel
|
7
|
+
# @!attribute id
|
8
|
+
# The unique ID of the event.
|
9
|
+
#
|
10
|
+
# @return [String]
|
11
|
+
required :id, String
|
12
|
+
|
13
|
+
# @!attribute created_at
|
14
|
+
# The Unix timestamp (in seconds) of when the model response was cancelled.
|
15
|
+
#
|
16
|
+
# @return [Integer]
|
17
|
+
required :created_at, Integer
|
18
|
+
|
19
|
+
# @!attribute data
|
20
|
+
# Event data payload.
|
21
|
+
#
|
22
|
+
# @return [OpenAI::Models::Webhooks::ResponseCancelledWebhookEvent::Data]
|
23
|
+
required :data, -> { OpenAI::Webhooks::ResponseCancelledWebhookEvent::Data }
|
24
|
+
|
25
|
+
# @!attribute type
|
26
|
+
# The type of the event. Always `response.cancelled`.
|
27
|
+
#
|
28
|
+
# @return [Symbol, :"response.cancelled"]
|
29
|
+
required :type, const: :"response.cancelled"
|
30
|
+
|
31
|
+
# @!attribute object
|
32
|
+
# The object of the event. Always `event`.
|
33
|
+
#
|
34
|
+
# @return [Symbol, OpenAI::Models::Webhooks::ResponseCancelledWebhookEvent::Object, nil]
|
35
|
+
optional :object, enum: -> { OpenAI::Webhooks::ResponseCancelledWebhookEvent::Object }
|
36
|
+
|
37
|
+
# @!method initialize(id:, created_at:, data:, object: nil, type: :"response.cancelled")
|
38
|
+
# Some parameter documentations has been truncated, see
|
39
|
+
# {OpenAI::Models::Webhooks::ResponseCancelledWebhookEvent} for more details.
|
40
|
+
#
|
41
|
+
# Sent when a background response has been cancelled.
|
42
|
+
#
|
43
|
+
# @param id [String] The unique ID of the event.
|
44
|
+
#
|
45
|
+
# @param created_at [Integer] The Unix timestamp (in seconds) of when the model response was cancelled.
|
46
|
+
#
|
47
|
+
# @param data [OpenAI::Models::Webhooks::ResponseCancelledWebhookEvent::Data] Event data payload.
|
48
|
+
#
|
49
|
+
# @param object [Symbol, OpenAI::Models::Webhooks::ResponseCancelledWebhookEvent::Object] The object of the event. Always `event`.
|
50
|
+
#
|
51
|
+
# @param type [Symbol, :"response.cancelled"] The type of the event. Always `response.cancelled`.
|
52
|
+
|
53
|
+
# @see OpenAI::Models::Webhooks::ResponseCancelledWebhookEvent#data
|
54
|
+
class Data < OpenAI::Internal::Type::BaseModel
|
55
|
+
# @!attribute id
|
56
|
+
# The unique ID of the model response.
|
57
|
+
#
|
58
|
+
# @return [String]
|
59
|
+
required :id, String
|
60
|
+
|
61
|
+
# @!method initialize(id:)
|
62
|
+
# Some parameter documentations has been truncated, see
|
63
|
+
# {OpenAI::Models::Webhooks::ResponseCancelledWebhookEvent::Data} for more
|
64
|
+
# details.
|
65
|
+
#
|
66
|
+
# Event data payload.
|
67
|
+
#
|
68
|
+
# @param id [String] The unique ID of the model response.
|
69
|
+
end
|
70
|
+
|
71
|
+
# The object of the event. Always `event`.
|
72
|
+
#
|
73
|
+
# @see OpenAI::Models::Webhooks::ResponseCancelledWebhookEvent#object
|
74
|
+
module Object
|
75
|
+
extend OpenAI::Internal::Type::Enum
|
76
|
+
|
77
|
+
EVENT = :event
|
78
|
+
|
79
|
+
# @!method self.values
|
80
|
+
# @return [Array<Symbol>]
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|
84
|
+
end
|
85
|
+
end
|
@@ -0,0 +1,85 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module OpenAI
|
4
|
+
module Models
|
5
|
+
module Webhooks
|
6
|
+
class ResponseCompletedWebhookEvent < OpenAI::Internal::Type::BaseModel
|
7
|
+
# @!attribute id
|
8
|
+
# The unique ID of the event.
|
9
|
+
#
|
10
|
+
# @return [String]
|
11
|
+
required :id, String
|
12
|
+
|
13
|
+
# @!attribute created_at
|
14
|
+
# The Unix timestamp (in seconds) of when the model response was completed.
|
15
|
+
#
|
16
|
+
# @return [Integer]
|
17
|
+
required :created_at, Integer
|
18
|
+
|
19
|
+
# @!attribute data
|
20
|
+
# Event data payload.
|
21
|
+
#
|
22
|
+
# @return [OpenAI::Models::Webhooks::ResponseCompletedWebhookEvent::Data]
|
23
|
+
required :data, -> { OpenAI::Webhooks::ResponseCompletedWebhookEvent::Data }
|
24
|
+
|
25
|
+
# @!attribute type
|
26
|
+
# The type of the event. Always `response.completed`.
|
27
|
+
#
|
28
|
+
# @return [Symbol, :"response.completed"]
|
29
|
+
required :type, const: :"response.completed"
|
30
|
+
|
31
|
+
# @!attribute object
|
32
|
+
# The object of the event. Always `event`.
|
33
|
+
#
|
34
|
+
# @return [Symbol, OpenAI::Models::Webhooks::ResponseCompletedWebhookEvent::Object, nil]
|
35
|
+
optional :object, enum: -> { OpenAI::Webhooks::ResponseCompletedWebhookEvent::Object }
|
36
|
+
|
37
|
+
# @!method initialize(id:, created_at:, data:, object: nil, type: :"response.completed")
|
38
|
+
# Some parameter documentations has been truncated, see
|
39
|
+
# {OpenAI::Models::Webhooks::ResponseCompletedWebhookEvent} for more details.
|
40
|
+
#
|
41
|
+
# Sent when a background response has been completed.
|
42
|
+
#
|
43
|
+
# @param id [String] The unique ID of the event.
|
44
|
+
#
|
45
|
+
# @param created_at [Integer] The Unix timestamp (in seconds) of when the model response was completed.
|
46
|
+
#
|
47
|
+
# @param data [OpenAI::Models::Webhooks::ResponseCompletedWebhookEvent::Data] Event data payload.
|
48
|
+
#
|
49
|
+
# @param object [Symbol, OpenAI::Models::Webhooks::ResponseCompletedWebhookEvent::Object] The object of the event. Always `event`.
|
50
|
+
#
|
51
|
+
# @param type [Symbol, :"response.completed"] The type of the event. Always `response.completed`.
|
52
|
+
|
53
|
+
# @see OpenAI::Models::Webhooks::ResponseCompletedWebhookEvent#data
|
54
|
+
class Data < OpenAI::Internal::Type::BaseModel
|
55
|
+
# @!attribute id
|
56
|
+
# The unique ID of the model response.
|
57
|
+
#
|
58
|
+
# @return [String]
|
59
|
+
required :id, String
|
60
|
+
|
61
|
+
# @!method initialize(id:)
|
62
|
+
# Some parameter documentations has been truncated, see
|
63
|
+
# {OpenAI::Models::Webhooks::ResponseCompletedWebhookEvent::Data} for more
|
64
|
+
# details.
|
65
|
+
#
|
66
|
+
# Event data payload.
|
67
|
+
#
|
68
|
+
# @param id [String] The unique ID of the model response.
|
69
|
+
end
|
70
|
+
|
71
|
+
# The object of the event. Always `event`.
|
72
|
+
#
|
73
|
+
# @see OpenAI::Models::Webhooks::ResponseCompletedWebhookEvent#object
|
74
|
+
module Object
|
75
|
+
extend OpenAI::Internal::Type::Enum
|
76
|
+
|
77
|
+
EVENT = :event
|
78
|
+
|
79
|
+
# @!method self.values
|
80
|
+
# @return [Array<Symbol>]
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|
84
|
+
end
|
85
|
+
end
|
@@ -0,0 +1,84 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module OpenAI
|
4
|
+
module Models
|
5
|
+
module Webhooks
|
6
|
+
class ResponseFailedWebhookEvent < OpenAI::Internal::Type::BaseModel
|
7
|
+
# @!attribute id
|
8
|
+
# The unique ID of the event.
|
9
|
+
#
|
10
|
+
# @return [String]
|
11
|
+
required :id, String
|
12
|
+
|
13
|
+
# @!attribute created_at
|
14
|
+
# The Unix timestamp (in seconds) of when the model response failed.
|
15
|
+
#
|
16
|
+
# @return [Integer]
|
17
|
+
required :created_at, Integer
|
18
|
+
|
19
|
+
# @!attribute data
|
20
|
+
# Event data payload.
|
21
|
+
#
|
22
|
+
# @return [OpenAI::Models::Webhooks::ResponseFailedWebhookEvent::Data]
|
23
|
+
required :data, -> { OpenAI::Webhooks::ResponseFailedWebhookEvent::Data }
|
24
|
+
|
25
|
+
# @!attribute type
|
26
|
+
# The type of the event. Always `response.failed`.
|
27
|
+
#
|
28
|
+
# @return [Symbol, :"response.failed"]
|
29
|
+
required :type, const: :"response.failed"
|
30
|
+
|
31
|
+
# @!attribute object
|
32
|
+
# The object of the event. Always `event`.
|
33
|
+
#
|
34
|
+
# @return [Symbol, OpenAI::Models::Webhooks::ResponseFailedWebhookEvent::Object, nil]
|
35
|
+
optional :object, enum: -> { OpenAI::Webhooks::ResponseFailedWebhookEvent::Object }
|
36
|
+
|
37
|
+
# @!method initialize(id:, created_at:, data:, object: nil, type: :"response.failed")
|
38
|
+
# Some parameter documentations has been truncated, see
|
39
|
+
# {OpenAI::Models::Webhooks::ResponseFailedWebhookEvent} for more details.
|
40
|
+
#
|
41
|
+
# Sent when a background response has failed.
|
42
|
+
#
|
43
|
+
# @param id [String] The unique ID of the event.
|
44
|
+
#
|
45
|
+
# @param created_at [Integer] The Unix timestamp (in seconds) of when the model response failed.
|
46
|
+
#
|
47
|
+
# @param data [OpenAI::Models::Webhooks::ResponseFailedWebhookEvent::Data] Event data payload.
|
48
|
+
#
|
49
|
+
# @param object [Symbol, OpenAI::Models::Webhooks::ResponseFailedWebhookEvent::Object] The object of the event. Always `event`.
|
50
|
+
#
|
51
|
+
# @param type [Symbol, :"response.failed"] The type of the event. Always `response.failed`.
|
52
|
+
|
53
|
+
# @see OpenAI::Models::Webhooks::ResponseFailedWebhookEvent#data
|
54
|
+
class Data < OpenAI::Internal::Type::BaseModel
|
55
|
+
# @!attribute id
|
56
|
+
# The unique ID of the model response.
|
57
|
+
#
|
58
|
+
# @return [String]
|
59
|
+
required :id, String
|
60
|
+
|
61
|
+
# @!method initialize(id:)
|
62
|
+
# Some parameter documentations has been truncated, see
|
63
|
+
# {OpenAI::Models::Webhooks::ResponseFailedWebhookEvent::Data} for more details.
|
64
|
+
#
|
65
|
+
# Event data payload.
|
66
|
+
#
|
67
|
+
# @param id [String] The unique ID of the model response.
|
68
|
+
end
|
69
|
+
|
70
|
+
# The object of the event. Always `event`.
|
71
|
+
#
|
72
|
+
# @see OpenAI::Models::Webhooks::ResponseFailedWebhookEvent#object
|
73
|
+
module Object
|
74
|
+
extend OpenAI::Internal::Type::Enum
|
75
|
+
|
76
|
+
EVENT = :event
|
77
|
+
|
78
|
+
# @!method self.values
|
79
|
+
# @return [Array<Symbol>]
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|
84
|
+
end
|
@@ -0,0 +1,85 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module OpenAI
|
4
|
+
module Models
|
5
|
+
module Webhooks
|
6
|
+
class ResponseIncompleteWebhookEvent < OpenAI::Internal::Type::BaseModel
|
7
|
+
# @!attribute id
|
8
|
+
# The unique ID of the event.
|
9
|
+
#
|
10
|
+
# @return [String]
|
11
|
+
required :id, String
|
12
|
+
|
13
|
+
# @!attribute created_at
|
14
|
+
# The Unix timestamp (in seconds) of when the model response was interrupted.
|
15
|
+
#
|
16
|
+
# @return [Integer]
|
17
|
+
required :created_at, Integer
|
18
|
+
|
19
|
+
# @!attribute data
|
20
|
+
# Event data payload.
|
21
|
+
#
|
22
|
+
# @return [OpenAI::Models::Webhooks::ResponseIncompleteWebhookEvent::Data]
|
23
|
+
required :data, -> { OpenAI::Webhooks::ResponseIncompleteWebhookEvent::Data }
|
24
|
+
|
25
|
+
# @!attribute type
|
26
|
+
# The type of the event. Always `response.incomplete`.
|
27
|
+
#
|
28
|
+
# @return [Symbol, :"response.incomplete"]
|
29
|
+
required :type, const: :"response.incomplete"
|
30
|
+
|
31
|
+
# @!attribute object
|
32
|
+
# The object of the event. Always `event`.
|
33
|
+
#
|
34
|
+
# @return [Symbol, OpenAI::Models::Webhooks::ResponseIncompleteWebhookEvent::Object, nil]
|
35
|
+
optional :object, enum: -> { OpenAI::Webhooks::ResponseIncompleteWebhookEvent::Object }
|
36
|
+
|
37
|
+
# @!method initialize(id:, created_at:, data:, object: nil, type: :"response.incomplete")
|
38
|
+
# Some parameter documentations has been truncated, see
|
39
|
+
# {OpenAI::Models::Webhooks::ResponseIncompleteWebhookEvent} for more details.
|
40
|
+
#
|
41
|
+
# Sent when a background response has been interrupted.
|
42
|
+
#
|
43
|
+
# @param id [String] The unique ID of the event.
|
44
|
+
#
|
45
|
+
# @param created_at [Integer] The Unix timestamp (in seconds) of when the model response was interrupted.
|
46
|
+
#
|
47
|
+
# @param data [OpenAI::Models::Webhooks::ResponseIncompleteWebhookEvent::Data] Event data payload.
|
48
|
+
#
|
49
|
+
# @param object [Symbol, OpenAI::Models::Webhooks::ResponseIncompleteWebhookEvent::Object] The object of the event. Always `event`.
|
50
|
+
#
|
51
|
+
# @param type [Symbol, :"response.incomplete"] The type of the event. Always `response.incomplete`.
|
52
|
+
|
53
|
+
# @see OpenAI::Models::Webhooks::ResponseIncompleteWebhookEvent#data
|
54
|
+
class Data < OpenAI::Internal::Type::BaseModel
|
55
|
+
# @!attribute id
|
56
|
+
# The unique ID of the model response.
|
57
|
+
#
|
58
|
+
# @return [String]
|
59
|
+
required :id, String
|
60
|
+
|
61
|
+
# @!method initialize(id:)
|
62
|
+
# Some parameter documentations has been truncated, see
|
63
|
+
# {OpenAI::Models::Webhooks::ResponseIncompleteWebhookEvent::Data} for more
|
64
|
+
# details.
|
65
|
+
#
|
66
|
+
# Event data payload.
|
67
|
+
#
|
68
|
+
# @param id [String] The unique ID of the model response.
|
69
|
+
end
|
70
|
+
|
71
|
+
# The object of the event. Always `event`.
|
72
|
+
#
|
73
|
+
# @see OpenAI::Models::Webhooks::ResponseIncompleteWebhookEvent#object
|
74
|
+
module Object
|
75
|
+
extend OpenAI::Internal::Type::Enum
|
76
|
+
|
77
|
+
EVENT = :event
|
78
|
+
|
79
|
+
# @!method self.values
|
80
|
+
# @return [Array<Symbol>]
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|
84
|
+
end
|
85
|
+
end
|
@@ -0,0 +1,59 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module OpenAI
|
4
|
+
module Models
|
5
|
+
module Webhooks
|
6
|
+
# Sent when a batch API request has been cancelled.
|
7
|
+
module UnwrapWebhookEvent
|
8
|
+
extend OpenAI::Internal::Type::Union
|
9
|
+
|
10
|
+
discriminator :type
|
11
|
+
|
12
|
+
# Sent when a batch API request has been cancelled.
|
13
|
+
variant :"batch.cancelled", -> { OpenAI::Webhooks::BatchCancelledWebhookEvent }
|
14
|
+
|
15
|
+
# Sent when a batch API request has been completed.
|
16
|
+
variant :"batch.completed", -> { OpenAI::Webhooks::BatchCompletedWebhookEvent }
|
17
|
+
|
18
|
+
# Sent when a batch API request has expired.
|
19
|
+
variant :"batch.expired", -> { OpenAI::Webhooks::BatchExpiredWebhookEvent }
|
20
|
+
|
21
|
+
# Sent when a batch API request has failed.
|
22
|
+
variant :"batch.failed", -> { OpenAI::Webhooks::BatchFailedWebhookEvent }
|
23
|
+
|
24
|
+
# Sent when an eval run has been canceled.
|
25
|
+
variant :"eval.run.canceled", -> { OpenAI::Webhooks::EvalRunCanceledWebhookEvent }
|
26
|
+
|
27
|
+
# Sent when an eval run has failed.
|
28
|
+
variant :"eval.run.failed", -> { OpenAI::Webhooks::EvalRunFailedWebhookEvent }
|
29
|
+
|
30
|
+
# Sent when an eval run has succeeded.
|
31
|
+
variant :"eval.run.succeeded", -> { OpenAI::Webhooks::EvalRunSucceededWebhookEvent }
|
32
|
+
|
33
|
+
# Sent when a fine-tuning job has been cancelled.
|
34
|
+
variant :"fine_tuning.job.cancelled", -> { OpenAI::Webhooks::FineTuningJobCancelledWebhookEvent }
|
35
|
+
|
36
|
+
# Sent when a fine-tuning job has failed.
|
37
|
+
variant :"fine_tuning.job.failed", -> { OpenAI::Webhooks::FineTuningJobFailedWebhookEvent }
|
38
|
+
|
39
|
+
# Sent when a fine-tuning job has succeeded.
|
40
|
+
variant :"fine_tuning.job.succeeded", -> { OpenAI::Webhooks::FineTuningJobSucceededWebhookEvent }
|
41
|
+
|
42
|
+
# Sent when a background response has been cancelled.
|
43
|
+
variant :"response.cancelled", -> { OpenAI::Webhooks::ResponseCancelledWebhookEvent }
|
44
|
+
|
45
|
+
# Sent when a background response has been completed.
|
46
|
+
variant :"response.completed", -> { OpenAI::Webhooks::ResponseCompletedWebhookEvent }
|
47
|
+
|
48
|
+
# Sent when a background response has failed.
|
49
|
+
variant :"response.failed", -> { OpenAI::Webhooks::ResponseFailedWebhookEvent }
|
50
|
+
|
51
|
+
# Sent when a background response has been interrupted.
|
52
|
+
variant :"response.incomplete", -> { OpenAI::Webhooks::ResponseIncompleteWebhookEvent }
|
53
|
+
|
54
|
+
# @!method self.variants
|
55
|
+
# @return [Array(OpenAI::Models::Webhooks::BatchCancelledWebhookEvent, OpenAI::Models::Webhooks::BatchCompletedWebhookEvent, OpenAI::Models::Webhooks::BatchExpiredWebhookEvent, OpenAI::Models::Webhooks::BatchFailedWebhookEvent, OpenAI::Models::Webhooks::EvalRunCanceledWebhookEvent, OpenAI::Models::Webhooks::EvalRunFailedWebhookEvent, OpenAI::Models::Webhooks::EvalRunSucceededWebhookEvent, OpenAI::Models::Webhooks::FineTuningJobCancelledWebhookEvent, OpenAI::Models::Webhooks::FineTuningJobFailedWebhookEvent, OpenAI::Models::Webhooks::FineTuningJobSucceededWebhookEvent, OpenAI::Models::Webhooks::ResponseCancelledWebhookEvent, OpenAI::Models::Webhooks::ResponseCompletedWebhookEvent, OpenAI::Models::Webhooks::ResponseFailedWebhookEvent, OpenAI::Models::Webhooks::ResponseIncompleteWebhookEvent)]
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module OpenAI
|
4
|
+
module Models
|
5
|
+
module Webhooks
|
6
|
+
# @see OpenAI::Resources::Webhooks#unwrap
|
7
|
+
class WebhookUnwrapParams < OpenAI::Internal::Type::BaseModel
|
8
|
+
extend OpenAI::Internal::Type::RequestParameters::Converter
|
9
|
+
include OpenAI::Internal::Type::RequestParameters
|
10
|
+
|
11
|
+
# @!method initialize(request_options: {})
|
12
|
+
# @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}]
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
data/lib/openai/models.rb
CHANGED
@@ -70,7 +70,7 @@ module OpenAI
|
|
70
70
|
#
|
71
71
|
# @param seed [Integer, nil] This feature is in Beta.
|
72
72
|
#
|
73
|
-
# @param service_tier [Symbol, OpenAI::Models::Chat::CompletionCreateParams::ServiceTier, nil] Specifies the
|
73
|
+
# @param service_tier [Symbol, OpenAI::Models::Chat::CompletionCreateParams::ServiceTier, nil] Specifies the processing type used for serving the request.
|
74
74
|
#
|
75
75
|
# @param stop [String, Array<String>, nil] Not supported with latest reasoning models `o3` and `o4-mini`.
|
76
76
|
#
|
@@ -104,7 +104,6 @@ module OpenAI
|
|
104
104
|
raise ArgumentError.new(message)
|
105
105
|
end
|
106
106
|
|
107
|
-
# rubocop:disable Layout/LineLength
|
108
107
|
model = nil
|
109
108
|
tool_models = {}
|
110
109
|
case parsed
|
@@ -157,11 +156,16 @@ module OpenAI
|
|
157
156
|
else
|
158
157
|
end
|
159
158
|
|
159
|
+
# rubocop:disable Metrics/BlockLength
|
160
160
|
unwrap = ->(raw) do
|
161
161
|
if model.is_a?(OpenAI::StructuredOutput::JsonSchemaConverter)
|
162
162
|
raw[:choices]&.each do |choice|
|
163
163
|
message = choice.fetch(:message)
|
164
|
-
|
164
|
+
begin
|
165
|
+
parsed = JSON.parse(message.fetch(:content), symbolize_names: true)
|
166
|
+
rescue JSON::ParserError => e
|
167
|
+
parsed = e
|
168
|
+
end
|
165
169
|
coerced = OpenAI::Internal::Type::Converter.coerce(model, parsed)
|
166
170
|
message.store(:parsed, coerced)
|
167
171
|
end
|
@@ -171,7 +175,11 @@ module OpenAI
|
|
171
175
|
func = tool_call.fetch(:function)
|
172
176
|
next if (model = tool_models[func.fetch(:name)]).nil?
|
173
177
|
|
174
|
-
|
178
|
+
begin
|
179
|
+
parsed = JSON.parse(func.fetch(:arguments), symbolize_names: true)
|
180
|
+
rescue JSON::ParserError => e
|
181
|
+
parsed = e
|
182
|
+
end
|
175
183
|
coerced = OpenAI::Internal::Type::Converter.coerce(model, parsed)
|
176
184
|
func.store(:parsed, coerced)
|
177
185
|
end
|
@@ -179,7 +187,7 @@ module OpenAI
|
|
179
187
|
|
180
188
|
raw
|
181
189
|
end
|
182
|
-
# rubocop:enable
|
190
|
+
# rubocop:enable Metrics/BlockLength
|
183
191
|
|
184
192
|
@client.request(
|
185
193
|
method: :post,
|
@@ -258,7 +266,7 @@ module OpenAI
|
|
258
266
|
#
|
259
267
|
# @param seed [Integer, nil] This feature is in Beta.
|
260
268
|
#
|
261
|
-
# @param service_tier [Symbol, OpenAI::Models::Chat::CompletionCreateParams::ServiceTier, nil] Specifies the
|
269
|
+
# @param service_tier [Symbol, OpenAI::Models::Chat::CompletionCreateParams::ServiceTier, nil] Specifies the processing type used for serving the request.
|
262
270
|
#
|
263
271
|
# @param stop [String, Array<String>, nil] Not supported with latest reasoning models `o3` and `o4-mini`.
|
264
272
|
#
|