openai 0.50.0 → 0.51.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 +14 -0
- data/README.md +1 -1
- data/lib/openai/models/responses/easy_input_message.rb +32 -1
- data/lib/openai/models/responses/response_compact_params.rb +9 -1
- data/lib/openai/models/responses/response_output_message.rb +32 -1
- data/lib/openai/resources/responses.rb +3 -1
- data/lib/openai/version.rb +1 -1
- data/rbi/openai/models/responses/easy_input_message.rbi +59 -0
- data/rbi/openai/models/responses/response_compact_params.rbi +8 -0
- data/rbi/openai/models/responses/response_output_message.rbi +66 -1
- data/rbi/openai/resources/responses.rbi +3 -0
- data/sig/openai/models/responses/easy_input_message.rbs +16 -0
- data/sig/openai/models/responses/response_compact_params.rbs +6 -1
- data/sig/openai/models/responses/response_output_message.rbs +18 -2
- data/sig/openai/resources/responses.rbs +1 -0
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: f54d6873508436a7ccfd29e41959daf2d674ce2b8cc1acd7dfaad857047cd97f
|
|
4
|
+
data.tar.gz: e0831943ff8b7715276e4e37e97236c93d835926eb45abc53c9153d27d74ca2c
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 7473cc28a620f11a6f0b4af493cbf0c30e4db5b87fbcbe2317b03bba4346962637f47ed58c6ecda6e629cf0a980e3e2f6d960267ebf4213059275bf0f686832e
|
|
7
|
+
data.tar.gz: 28a38eb6efe67d18aa5eadf4ec8ffee010075683d17f739370adafe73c049b81f8bcf93f4b737b7627d1fa2c91f62c00798a23bb466d9ef4081fc3df3247d362
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.51.0 (2026-02-24)
|
|
4
|
+
|
|
5
|
+
Full Changelog: [v0.50.0...v0.51.0](https://github.com/openai/openai-ruby/compare/v0.50.0...v0.51.0)
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* **api:** add phase ([656f591](https://github.com/openai/openai-ruby/commit/656f5917f52cfbe388f9d706ab372b958301985e))
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
### Bug Fixes
|
|
13
|
+
|
|
14
|
+
* **api:** fix phase enum ([c055d7b](https://github.com/openai/openai-ruby/commit/c055d7b2fe06a49ad64db6dc880e30f41d42e22d))
|
|
15
|
+
* **api:** phase docs ([766b70c](https://github.com/openai/openai-ruby/commit/766b70cc83834acf57f1d2c31ea5026ff0d70b7f))
|
|
16
|
+
|
|
3
17
|
## 0.50.0 (2026-02-24)
|
|
4
18
|
|
|
5
19
|
Full Changelog: [v0.49.1...v0.50.0](https://github.com/openai/openai-ruby/compare/v0.49.1...v0.50.0)
|
data/README.md
CHANGED
|
@@ -18,13 +18,24 @@ module OpenAI
|
|
|
18
18
|
# @return [Symbol, OpenAI::Models::Responses::EasyInputMessage::Role]
|
|
19
19
|
required :role, enum: -> { OpenAI::Responses::EasyInputMessage::Role }
|
|
20
20
|
|
|
21
|
+
# @!attribute phase
|
|
22
|
+
# The phase of an assistant message.
|
|
23
|
+
#
|
|
24
|
+
# Use `commentary` for an intermediate assistant message and `final_answer` for
|
|
25
|
+
# the final assistant message. For follow-up requests with models like
|
|
26
|
+
# `gpt-5.3-codex` and later, preserve and resend phase on all assistant messages.
|
|
27
|
+
# Omitting it can degrade performance. Not used for user messages.
|
|
28
|
+
#
|
|
29
|
+
# @return [Symbol, OpenAI::Models::Responses::EasyInputMessage::Phase, nil]
|
|
30
|
+
optional :phase, enum: -> { OpenAI::Responses::EasyInputMessage::Phase }, nil?: true
|
|
31
|
+
|
|
21
32
|
# @!attribute type
|
|
22
33
|
# The type of the message input. Always `message`.
|
|
23
34
|
#
|
|
24
35
|
# @return [Symbol, OpenAI::Models::Responses::EasyInputMessage::Type, nil]
|
|
25
36
|
optional :type, enum: -> { OpenAI::Responses::EasyInputMessage::Type }
|
|
26
37
|
|
|
27
|
-
# @!method initialize(content:, role:, type: nil)
|
|
38
|
+
# @!method initialize(content:, role:, phase: nil, type: nil)
|
|
28
39
|
# Some parameter documentations has been truncated, see
|
|
29
40
|
# {OpenAI::Models::Responses::EasyInputMessage} for more details.
|
|
30
41
|
#
|
|
@@ -38,6 +49,8 @@ module OpenAI
|
|
|
38
49
|
#
|
|
39
50
|
# @param role [Symbol, OpenAI::Models::Responses::EasyInputMessage::Role] The role of the message input. One of `user`, `assistant`, `system`, or
|
|
40
51
|
#
|
|
52
|
+
# @param phase [Symbol, OpenAI::Models::Responses::EasyInputMessage::Phase, nil] The phase of an assistant message.
|
|
53
|
+
#
|
|
41
54
|
# @param type [Symbol, OpenAI::Models::Responses::EasyInputMessage::Type] The type of the message input. Always `message`.
|
|
42
55
|
|
|
43
56
|
# Text, image, or audio input to the model, used to generate a response. Can also
|
|
@@ -74,6 +87,24 @@ module OpenAI
|
|
|
74
87
|
# @return [Array<Symbol>]
|
|
75
88
|
end
|
|
76
89
|
|
|
90
|
+
# The phase of an assistant message.
|
|
91
|
+
#
|
|
92
|
+
# Use `commentary` for an intermediate assistant message and `final_answer` for
|
|
93
|
+
# the final assistant message. For follow-up requests with models like
|
|
94
|
+
# `gpt-5.3-codex` and later, preserve and resend phase on all assistant messages.
|
|
95
|
+
# Omitting it can degrade performance. Not used for user messages.
|
|
96
|
+
#
|
|
97
|
+
# @see OpenAI::Models::Responses::EasyInputMessage#phase
|
|
98
|
+
module Phase
|
|
99
|
+
extend OpenAI::Internal::Type::Enum
|
|
100
|
+
|
|
101
|
+
COMMENTARY = :commentary
|
|
102
|
+
FINAL_ANSWER = :final_answer
|
|
103
|
+
|
|
104
|
+
# @!method self.values
|
|
105
|
+
# @return [Array<Symbol>]
|
|
106
|
+
end
|
|
107
|
+
|
|
77
108
|
# The type of the message input. Always `message`.
|
|
78
109
|
#
|
|
79
110
|
# @see OpenAI::Models::Responses::EasyInputMessage#type
|
|
@@ -42,7 +42,13 @@ module OpenAI
|
|
|
42
42
|
# @return [String, nil]
|
|
43
43
|
optional :previous_response_id, String, nil?: true
|
|
44
44
|
|
|
45
|
-
# @!
|
|
45
|
+
# @!attribute prompt_cache_key
|
|
46
|
+
# A key to use when reading from or writing to the prompt cache.
|
|
47
|
+
#
|
|
48
|
+
# @return [String, nil]
|
|
49
|
+
optional :prompt_cache_key, String, nil?: true
|
|
50
|
+
|
|
51
|
+
# @!method initialize(model:, input: nil, instructions: nil, previous_response_id: nil, prompt_cache_key: nil, request_options: {})
|
|
46
52
|
# Some parameter documentations has been truncated, see
|
|
47
53
|
# {OpenAI::Models::Responses::ResponseCompactParams} for more details.
|
|
48
54
|
#
|
|
@@ -54,6 +60,8 @@ module OpenAI
|
|
|
54
60
|
#
|
|
55
61
|
# @param previous_response_id [String, nil] The unique ID of the previous response to the model. Use this to create multi-tu
|
|
56
62
|
#
|
|
63
|
+
# @param prompt_cache_key [String, nil] A key to use when reading from or writing to the prompt cache.
|
|
64
|
+
#
|
|
57
65
|
# @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}]
|
|
58
66
|
|
|
59
67
|
# Model ID used to generate the response, like `gpt-5` or `o3`. OpenAI offers a
|
|
@@ -36,7 +36,18 @@ module OpenAI
|
|
|
36
36
|
# @return [Symbol, :message]
|
|
37
37
|
required :type, const: :message
|
|
38
38
|
|
|
39
|
-
# @!
|
|
39
|
+
# @!attribute phase
|
|
40
|
+
# The phase of an assistant message.
|
|
41
|
+
#
|
|
42
|
+
# Use `commentary` for an intermediate assistant message and `final_answer` for
|
|
43
|
+
# the final assistant message. For follow-up requests with models like
|
|
44
|
+
# `gpt-5.3-codex` and later, preserve and resend phase on all assistant messages.
|
|
45
|
+
# Omitting it can degrade performance. Not used for user messages.
|
|
46
|
+
#
|
|
47
|
+
# @return [Symbol, OpenAI::Models::Responses::ResponseOutputMessage::Phase, nil]
|
|
48
|
+
optional :phase, enum: -> { OpenAI::Responses::ResponseOutputMessage::Phase }, nil?: true
|
|
49
|
+
|
|
50
|
+
# @!method initialize(id:, content:, status:, phase: nil, role: :assistant, type: :message)
|
|
40
51
|
# Some parameter documentations has been truncated, see
|
|
41
52
|
# {OpenAI::Models::Responses::ResponseOutputMessage} for more details.
|
|
42
53
|
#
|
|
@@ -48,6 +59,8 @@ module OpenAI
|
|
|
48
59
|
#
|
|
49
60
|
# @param status [Symbol, OpenAI::Models::Responses::ResponseOutputMessage::Status] The status of the message input. One of `in_progress`, `completed`, or
|
|
50
61
|
#
|
|
62
|
+
# @param phase [Symbol, OpenAI::Models::Responses::ResponseOutputMessage::Phase, nil] The phase of an assistant message.
|
|
63
|
+
#
|
|
51
64
|
# @param role [Symbol, :assistant] The role of the output message. Always `assistant`.
|
|
52
65
|
#
|
|
53
66
|
# @param type [Symbol, :message] The type of the output message. Always `message`.
|
|
@@ -82,6 +95,24 @@ module OpenAI
|
|
|
82
95
|
# @!method self.values
|
|
83
96
|
# @return [Array<Symbol>]
|
|
84
97
|
end
|
|
98
|
+
|
|
99
|
+
# The phase of an assistant message.
|
|
100
|
+
#
|
|
101
|
+
# Use `commentary` for an intermediate assistant message and `final_answer` for
|
|
102
|
+
# the final assistant message. For follow-up requests with models like
|
|
103
|
+
# `gpt-5.3-codex` and later, preserve and resend phase on all assistant messages.
|
|
104
|
+
# Omitting it can degrade performance. Not used for user messages.
|
|
105
|
+
#
|
|
106
|
+
# @see OpenAI::Models::Responses::ResponseOutputMessage#phase
|
|
107
|
+
module Phase
|
|
108
|
+
extend OpenAI::Internal::Type::Enum
|
|
109
|
+
|
|
110
|
+
COMMENTARY = :commentary
|
|
111
|
+
FINAL_ANSWER = :final_answer
|
|
112
|
+
|
|
113
|
+
# @!method self.values
|
|
114
|
+
# @return [Array<Symbol>]
|
|
115
|
+
end
|
|
85
116
|
end
|
|
86
117
|
end
|
|
87
118
|
end
|
|
@@ -473,7 +473,7 @@ module OpenAI
|
|
|
473
473
|
# For ZDR-compatible compaction details, see
|
|
474
474
|
# [Compaction (advanced)](https://platform.openai.com/docs/guides/conversation-state#compaction-advanced).
|
|
475
475
|
#
|
|
476
|
-
# @overload compact(model:, input: nil, instructions: nil, previous_response_id: nil, request_options: {})
|
|
476
|
+
# @overload compact(model:, input: nil, instructions: nil, previous_response_id: nil, prompt_cache_key: nil, request_options: {})
|
|
477
477
|
#
|
|
478
478
|
# @param model [Symbol, String, OpenAI::Models::Responses::ResponseCompactParams::Model, nil] Model ID used to generate the response, like `gpt-5` or `o3`. OpenAI offers a wi
|
|
479
479
|
#
|
|
@@ -483,6 +483,8 @@ module OpenAI
|
|
|
483
483
|
#
|
|
484
484
|
# @param previous_response_id [String, nil] The unique ID of the previous response to the model. Use this to create multi-tu
|
|
485
485
|
#
|
|
486
|
+
# @param prompt_cache_key [String, nil] A key to use when reading from or writing to the prompt cache.
|
|
487
|
+
#
|
|
486
488
|
# @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
487
489
|
#
|
|
488
490
|
# @return [OpenAI::Models::Responses::CompactedResponse]
|
data/lib/openai/version.rb
CHANGED
|
@@ -22,6 +22,19 @@ module OpenAI
|
|
|
22
22
|
sig { returns(OpenAI::Responses::EasyInputMessage::Role::OrSymbol) }
|
|
23
23
|
attr_accessor :role
|
|
24
24
|
|
|
25
|
+
# The phase of an assistant message.
|
|
26
|
+
#
|
|
27
|
+
# Use `commentary` for an intermediate assistant message and `final_answer` for
|
|
28
|
+
# the final assistant message. For follow-up requests with models like
|
|
29
|
+
# `gpt-5.3-codex` and later, preserve and resend phase on all assistant messages.
|
|
30
|
+
# Omitting it can degrade performance. Not used for user messages.
|
|
31
|
+
sig do
|
|
32
|
+
returns(
|
|
33
|
+
T.nilable(OpenAI::Responses::EasyInputMessage::Phase::OrSymbol)
|
|
34
|
+
)
|
|
35
|
+
end
|
|
36
|
+
attr_accessor :phase
|
|
37
|
+
|
|
25
38
|
# The type of the message input. Always `message`.
|
|
26
39
|
sig do
|
|
27
40
|
returns(
|
|
@@ -44,6 +57,8 @@ module OpenAI
|
|
|
44
57
|
params(
|
|
45
58
|
content: OpenAI::Responses::EasyInputMessage::Content::Variants,
|
|
46
59
|
role: OpenAI::Responses::EasyInputMessage::Role::OrSymbol,
|
|
60
|
+
phase:
|
|
61
|
+
T.nilable(OpenAI::Responses::EasyInputMessage::Phase::OrSymbol),
|
|
47
62
|
type: OpenAI::Responses::EasyInputMessage::Type::OrSymbol
|
|
48
63
|
).returns(T.attached_class)
|
|
49
64
|
end
|
|
@@ -54,6 +69,13 @@ module OpenAI
|
|
|
54
69
|
# The role of the message input. One of `user`, `assistant`, `system`, or
|
|
55
70
|
# `developer`.
|
|
56
71
|
role:,
|
|
72
|
+
# The phase of an assistant message.
|
|
73
|
+
#
|
|
74
|
+
# Use `commentary` for an intermediate assistant message and `final_answer` for
|
|
75
|
+
# the final assistant message. For follow-up requests with models like
|
|
76
|
+
# `gpt-5.3-codex` and later, preserve and resend phase on all assistant messages.
|
|
77
|
+
# Omitting it can degrade performance. Not used for user messages.
|
|
78
|
+
phase: nil,
|
|
57
79
|
# The type of the message input. Always `message`.
|
|
58
80
|
type: nil
|
|
59
81
|
)
|
|
@@ -64,6 +86,8 @@ module OpenAI
|
|
|
64
86
|
{
|
|
65
87
|
content: OpenAI::Responses::EasyInputMessage::Content::Variants,
|
|
66
88
|
role: OpenAI::Responses::EasyInputMessage::Role::OrSymbol,
|
|
89
|
+
phase:
|
|
90
|
+
T.nilable(OpenAI::Responses::EasyInputMessage::Phase::OrSymbol),
|
|
67
91
|
type: OpenAI::Responses::EasyInputMessage::Type::OrSymbol
|
|
68
92
|
}
|
|
69
93
|
)
|
|
@@ -134,6 +158,41 @@ module OpenAI
|
|
|
134
158
|
end
|
|
135
159
|
end
|
|
136
160
|
|
|
161
|
+
# The phase of an assistant message.
|
|
162
|
+
#
|
|
163
|
+
# Use `commentary` for an intermediate assistant message and `final_answer` for
|
|
164
|
+
# the final assistant message. For follow-up requests with models like
|
|
165
|
+
# `gpt-5.3-codex` and later, preserve and resend phase on all assistant messages.
|
|
166
|
+
# Omitting it can degrade performance. Not used for user messages.
|
|
167
|
+
module Phase
|
|
168
|
+
extend OpenAI::Internal::Type::Enum
|
|
169
|
+
|
|
170
|
+
TaggedSymbol =
|
|
171
|
+
T.type_alias do
|
|
172
|
+
T.all(Symbol, OpenAI::Responses::EasyInputMessage::Phase)
|
|
173
|
+
end
|
|
174
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
175
|
+
|
|
176
|
+
COMMENTARY =
|
|
177
|
+
T.let(
|
|
178
|
+
:commentary,
|
|
179
|
+
OpenAI::Responses::EasyInputMessage::Phase::TaggedSymbol
|
|
180
|
+
)
|
|
181
|
+
FINAL_ANSWER =
|
|
182
|
+
T.let(
|
|
183
|
+
:final_answer,
|
|
184
|
+
OpenAI::Responses::EasyInputMessage::Phase::TaggedSymbol
|
|
185
|
+
)
|
|
186
|
+
|
|
187
|
+
sig do
|
|
188
|
+
override.returns(
|
|
189
|
+
T::Array[OpenAI::Responses::EasyInputMessage::Phase::TaggedSymbol]
|
|
190
|
+
)
|
|
191
|
+
end
|
|
192
|
+
def self.values
|
|
193
|
+
end
|
|
194
|
+
end
|
|
195
|
+
|
|
137
196
|
# The type of the message input. Always `message`.
|
|
138
197
|
module Type
|
|
139
198
|
extend OpenAI::Internal::Type::Enum
|
|
@@ -54,6 +54,10 @@ module OpenAI
|
|
|
54
54
|
sig { returns(T.nilable(String)) }
|
|
55
55
|
attr_accessor :previous_response_id
|
|
56
56
|
|
|
57
|
+
# A key to use when reading from or writing to the prompt cache.
|
|
58
|
+
sig { returns(T.nilable(String)) }
|
|
59
|
+
attr_accessor :prompt_cache_key
|
|
60
|
+
|
|
57
61
|
sig do
|
|
58
62
|
params(
|
|
59
63
|
model:
|
|
@@ -69,6 +73,7 @@ module OpenAI
|
|
|
69
73
|
),
|
|
70
74
|
instructions: T.nilable(String),
|
|
71
75
|
previous_response_id: T.nilable(String),
|
|
76
|
+
prompt_cache_key: T.nilable(String),
|
|
72
77
|
request_options: OpenAI::RequestOptions::OrHash
|
|
73
78
|
).returns(T.attached_class)
|
|
74
79
|
end
|
|
@@ -91,6 +96,8 @@ module OpenAI
|
|
|
91
96
|
# [conversation state](https://platform.openai.com/docs/guides/conversation-state).
|
|
92
97
|
# Cannot be used in conjunction with `conversation`.
|
|
93
98
|
previous_response_id: nil,
|
|
99
|
+
# A key to use when reading from or writing to the prompt cache.
|
|
100
|
+
prompt_cache_key: nil,
|
|
94
101
|
request_options: {}
|
|
95
102
|
)
|
|
96
103
|
end
|
|
@@ -111,6 +118,7 @@ module OpenAI
|
|
|
111
118
|
),
|
|
112
119
|
instructions: T.nilable(String),
|
|
113
120
|
previous_response_id: T.nilable(String),
|
|
121
|
+
prompt_cache_key: T.nilable(String),
|
|
114
122
|
request_options: OpenAI::RequestOptions
|
|
115
123
|
}
|
|
116
124
|
)
|
|
@@ -44,6 +44,19 @@ module OpenAI
|
|
|
44
44
|
sig { returns(Symbol) }
|
|
45
45
|
attr_accessor :type
|
|
46
46
|
|
|
47
|
+
# The phase of an assistant message.
|
|
48
|
+
#
|
|
49
|
+
# Use `commentary` for an intermediate assistant message and `final_answer` for
|
|
50
|
+
# the final assistant message. For follow-up requests with models like
|
|
51
|
+
# `gpt-5.3-codex` and later, preserve and resend phase on all assistant messages.
|
|
52
|
+
# Omitting it can degrade performance. Not used for user messages.
|
|
53
|
+
sig do
|
|
54
|
+
returns(
|
|
55
|
+
T.nilable(OpenAI::Responses::ResponseOutputMessage::Phase::OrSymbol)
|
|
56
|
+
)
|
|
57
|
+
end
|
|
58
|
+
attr_accessor :phase
|
|
59
|
+
|
|
47
60
|
# An output message from the model.
|
|
48
61
|
sig do
|
|
49
62
|
params(
|
|
@@ -56,6 +69,10 @@ module OpenAI
|
|
|
56
69
|
)
|
|
57
70
|
],
|
|
58
71
|
status: OpenAI::Responses::ResponseOutputMessage::Status::OrSymbol,
|
|
72
|
+
phase:
|
|
73
|
+
T.nilable(
|
|
74
|
+
OpenAI::Responses::ResponseOutputMessage::Phase::OrSymbol
|
|
75
|
+
),
|
|
59
76
|
role: Symbol,
|
|
60
77
|
type: Symbol
|
|
61
78
|
).returns(T.attached_class)
|
|
@@ -68,6 +85,13 @@ module OpenAI
|
|
|
68
85
|
# The status of the message input. One of `in_progress`, `completed`, or
|
|
69
86
|
# `incomplete`. Populated when input items are returned via API.
|
|
70
87
|
status:,
|
|
88
|
+
# The phase of an assistant message.
|
|
89
|
+
#
|
|
90
|
+
# Use `commentary` for an intermediate assistant message and `final_answer` for
|
|
91
|
+
# the final assistant message. For follow-up requests with models like
|
|
92
|
+
# `gpt-5.3-codex` and later, preserve and resend phase on all assistant messages.
|
|
93
|
+
# Omitting it can degrade performance. Not used for user messages.
|
|
94
|
+
phase: nil,
|
|
71
95
|
# The role of the output message. Always `assistant`.
|
|
72
96
|
role: :assistant,
|
|
73
97
|
# The type of the output message. Always `message`.
|
|
@@ -89,7 +113,11 @@ module OpenAI
|
|
|
89
113
|
role: Symbol,
|
|
90
114
|
status:
|
|
91
115
|
OpenAI::Responses::ResponseOutputMessage::Status::OrSymbol,
|
|
92
|
-
type: Symbol
|
|
116
|
+
type: Symbol,
|
|
117
|
+
phase:
|
|
118
|
+
T.nilable(
|
|
119
|
+
OpenAI::Responses::ResponseOutputMessage::Phase::OrSymbol
|
|
120
|
+
)
|
|
93
121
|
}
|
|
94
122
|
)
|
|
95
123
|
end
|
|
@@ -156,6 +184,43 @@ module OpenAI
|
|
|
156
184
|
def self.values
|
|
157
185
|
end
|
|
158
186
|
end
|
|
187
|
+
|
|
188
|
+
# The phase of an assistant message.
|
|
189
|
+
#
|
|
190
|
+
# Use `commentary` for an intermediate assistant message and `final_answer` for
|
|
191
|
+
# the final assistant message. For follow-up requests with models like
|
|
192
|
+
# `gpt-5.3-codex` and later, preserve and resend phase on all assistant messages.
|
|
193
|
+
# Omitting it can degrade performance. Not used for user messages.
|
|
194
|
+
module Phase
|
|
195
|
+
extend OpenAI::Internal::Type::Enum
|
|
196
|
+
|
|
197
|
+
TaggedSymbol =
|
|
198
|
+
T.type_alias do
|
|
199
|
+
T.all(Symbol, OpenAI::Responses::ResponseOutputMessage::Phase)
|
|
200
|
+
end
|
|
201
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
202
|
+
|
|
203
|
+
COMMENTARY =
|
|
204
|
+
T.let(
|
|
205
|
+
:commentary,
|
|
206
|
+
OpenAI::Responses::ResponseOutputMessage::Phase::TaggedSymbol
|
|
207
|
+
)
|
|
208
|
+
FINAL_ANSWER =
|
|
209
|
+
T.let(
|
|
210
|
+
:final_answer,
|
|
211
|
+
OpenAI::Responses::ResponseOutputMessage::Phase::TaggedSymbol
|
|
212
|
+
)
|
|
213
|
+
|
|
214
|
+
sig do
|
|
215
|
+
override.returns(
|
|
216
|
+
T::Array[
|
|
217
|
+
OpenAI::Responses::ResponseOutputMessage::Phase::TaggedSymbol
|
|
218
|
+
]
|
|
219
|
+
)
|
|
220
|
+
end
|
|
221
|
+
def self.values
|
|
222
|
+
end
|
|
223
|
+
end
|
|
159
224
|
end
|
|
160
225
|
end
|
|
161
226
|
end
|
|
@@ -981,6 +981,7 @@ module OpenAI
|
|
|
981
981
|
),
|
|
982
982
|
instructions: T.nilable(String),
|
|
983
983
|
previous_response_id: T.nilable(String),
|
|
984
|
+
prompt_cache_key: T.nilable(String),
|
|
984
985
|
request_options: OpenAI::RequestOptions::OrHash
|
|
985
986
|
).returns(OpenAI::Responses::CompactedResponse)
|
|
986
987
|
end
|
|
@@ -1003,6 +1004,8 @@ module OpenAI
|
|
|
1003
1004
|
# [conversation state](https://platform.openai.com/docs/guides/conversation-state).
|
|
1004
1005
|
# Cannot be used in conjunction with `conversation`.
|
|
1005
1006
|
previous_response_id: nil,
|
|
1007
|
+
# A key to use when reading from or writing to the prompt cache.
|
|
1008
|
+
prompt_cache_key: nil,
|
|
1006
1009
|
request_options: {}
|
|
1007
1010
|
)
|
|
1008
1011
|
end
|
|
@@ -5,6 +5,7 @@ module OpenAI
|
|
|
5
5
|
{
|
|
6
6
|
content: OpenAI::Models::Responses::EasyInputMessage::content,
|
|
7
7
|
role: OpenAI::Models::Responses::EasyInputMessage::role,
|
|
8
|
+
phase: OpenAI::Models::Responses::EasyInputMessage::phase?,
|
|
8
9
|
type: OpenAI::Models::Responses::EasyInputMessage::type_
|
|
9
10
|
}
|
|
10
11
|
|
|
@@ -13,6 +14,8 @@ module OpenAI
|
|
|
13
14
|
|
|
14
15
|
attr_accessor role: OpenAI::Models::Responses::EasyInputMessage::role
|
|
15
16
|
|
|
17
|
+
attr_accessor phase: OpenAI::Models::Responses::EasyInputMessage::phase?
|
|
18
|
+
|
|
16
19
|
attr_reader type: OpenAI::Models::Responses::EasyInputMessage::type_?
|
|
17
20
|
|
|
18
21
|
def type=: (
|
|
@@ -22,12 +25,14 @@ module OpenAI
|
|
|
22
25
|
def initialize: (
|
|
23
26
|
content: OpenAI::Models::Responses::EasyInputMessage::content,
|
|
24
27
|
role: OpenAI::Models::Responses::EasyInputMessage::role,
|
|
28
|
+
?phase: OpenAI::Models::Responses::EasyInputMessage::phase?,
|
|
25
29
|
?type: OpenAI::Models::Responses::EasyInputMessage::type_
|
|
26
30
|
) -> void
|
|
27
31
|
|
|
28
32
|
def to_hash: -> {
|
|
29
33
|
content: OpenAI::Models::Responses::EasyInputMessage::content,
|
|
30
34
|
role: OpenAI::Models::Responses::EasyInputMessage::role,
|
|
35
|
+
phase: OpenAI::Models::Responses::EasyInputMessage::phase?,
|
|
31
36
|
type: OpenAI::Models::Responses::EasyInputMessage::type_
|
|
32
37
|
}
|
|
33
38
|
|
|
@@ -54,6 +59,17 @@ module OpenAI
|
|
|
54
59
|
def self?.values: -> ::Array[OpenAI::Models::Responses::EasyInputMessage::role]
|
|
55
60
|
end
|
|
56
61
|
|
|
62
|
+
type phase = :commentary | :final_answer
|
|
63
|
+
|
|
64
|
+
module Phase
|
|
65
|
+
extend OpenAI::Internal::Type::Enum
|
|
66
|
+
|
|
67
|
+
COMMENTARY: :commentary
|
|
68
|
+
FINAL_ANSWER: :final_answer
|
|
69
|
+
|
|
70
|
+
def self?.values: -> ::Array[OpenAI::Models::Responses::EasyInputMessage::phase]
|
|
71
|
+
end
|
|
72
|
+
|
|
57
73
|
type type_ = :message
|
|
58
74
|
|
|
59
75
|
module Type
|
|
@@ -6,7 +6,8 @@ module OpenAI
|
|
|
6
6
|
model: OpenAI::Models::Responses::ResponseCompactParams::model?,
|
|
7
7
|
input: OpenAI::Models::Responses::ResponseCompactParams::input?,
|
|
8
8
|
instructions: String?,
|
|
9
|
-
previous_response_id: String
|
|
9
|
+
previous_response_id: String?,
|
|
10
|
+
prompt_cache_key: String?
|
|
10
11
|
}
|
|
11
12
|
& OpenAI::Internal::Type::request_parameters
|
|
12
13
|
|
|
@@ -22,11 +23,14 @@ module OpenAI
|
|
|
22
23
|
|
|
23
24
|
attr_accessor previous_response_id: String?
|
|
24
25
|
|
|
26
|
+
attr_accessor prompt_cache_key: String?
|
|
27
|
+
|
|
25
28
|
def initialize: (
|
|
26
29
|
model: OpenAI::Models::Responses::ResponseCompactParams::model?,
|
|
27
30
|
?input: OpenAI::Models::Responses::ResponseCompactParams::input?,
|
|
28
31
|
?instructions: String?,
|
|
29
32
|
?previous_response_id: String?,
|
|
33
|
+
?prompt_cache_key: String?,
|
|
30
34
|
?request_options: OpenAI::request_opts
|
|
31
35
|
) -> void
|
|
32
36
|
|
|
@@ -35,6 +39,7 @@ module OpenAI
|
|
|
35
39
|
input: OpenAI::Models::Responses::ResponseCompactParams::input?,
|
|
36
40
|
instructions: String?,
|
|
37
41
|
previous_response_id: String?,
|
|
42
|
+
prompt_cache_key: String?,
|
|
38
43
|
request_options: OpenAI::RequestOptions
|
|
39
44
|
}
|
|
40
45
|
|
|
@@ -7,7 +7,8 @@ module OpenAI
|
|
|
7
7
|
content: ::Array[OpenAI::Models::Responses::ResponseOutputMessage::content],
|
|
8
8
|
role: :assistant,
|
|
9
9
|
status: OpenAI::Models::Responses::ResponseOutputMessage::status,
|
|
10
|
-
type: :message
|
|
10
|
+
type: :message,
|
|
11
|
+
phase: OpenAI::Models::Responses::ResponseOutputMessage::phase?
|
|
11
12
|
}
|
|
12
13
|
|
|
13
14
|
class ResponseOutputMessage < OpenAI::Internal::Type::BaseModel
|
|
@@ -21,10 +22,13 @@ module OpenAI
|
|
|
21
22
|
|
|
22
23
|
attr_accessor type: :message
|
|
23
24
|
|
|
25
|
+
attr_accessor phase: OpenAI::Models::Responses::ResponseOutputMessage::phase?
|
|
26
|
+
|
|
24
27
|
def initialize: (
|
|
25
28
|
id: String,
|
|
26
29
|
content: ::Array[OpenAI::Models::Responses::ResponseOutputMessage::content],
|
|
27
30
|
status: OpenAI::Models::Responses::ResponseOutputMessage::status,
|
|
31
|
+
?phase: OpenAI::Models::Responses::ResponseOutputMessage::phase?,
|
|
28
32
|
?role: :assistant,
|
|
29
33
|
?type: :message
|
|
30
34
|
) -> void
|
|
@@ -34,7 +38,8 @@ module OpenAI
|
|
|
34
38
|
content: ::Array[OpenAI::Models::Responses::ResponseOutputMessage::content],
|
|
35
39
|
role: :assistant,
|
|
36
40
|
status: OpenAI::Models::Responses::ResponseOutputMessage::status,
|
|
37
|
-
type: :message
|
|
41
|
+
type: :message,
|
|
42
|
+
phase: OpenAI::Models::Responses::ResponseOutputMessage::phase?
|
|
38
43
|
}
|
|
39
44
|
|
|
40
45
|
type content =
|
|
@@ -58,6 +63,17 @@ module OpenAI
|
|
|
58
63
|
|
|
59
64
|
def self?.values: -> ::Array[OpenAI::Models::Responses::ResponseOutputMessage::status]
|
|
60
65
|
end
|
|
66
|
+
|
|
67
|
+
type phase = :commentary | :final_answer
|
|
68
|
+
|
|
69
|
+
module Phase
|
|
70
|
+
extend OpenAI::Internal::Type::Enum
|
|
71
|
+
|
|
72
|
+
COMMENTARY: :commentary
|
|
73
|
+
FINAL_ANSWER: :final_answer
|
|
74
|
+
|
|
75
|
+
def self?.values: -> ::Array[OpenAI::Models::Responses::ResponseOutputMessage::phase]
|
|
76
|
+
end
|
|
61
77
|
end
|
|
62
78
|
end
|
|
63
79
|
end
|
|
@@ -128,6 +128,7 @@ module OpenAI
|
|
|
128
128
|
?input: OpenAI::Models::Responses::ResponseCompactParams::input?,
|
|
129
129
|
?instructions: String?,
|
|
130
130
|
?previous_response_id: String?,
|
|
131
|
+
?prompt_cache_key: String?,
|
|
131
132
|
?request_options: OpenAI::request_opts
|
|
132
133
|
) -> OpenAI::Responses::CompactedResponse
|
|
133
134
|
|