openai 0.114.0 → 0.115.1
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 +43 -0
- data/README.md +17 -2
- data/docs/architecture/security-model.md +11 -16
- data/examples/responses/websocket_workflows.rb +78 -3
- data/lib/openai/helpers/chat/tool_runner.rb +1 -1
- data/lib/openai/helpers/live/websocket.rb +31 -0
- data/lib/openai/helpers/realtime/connection.rb +33 -0
- data/lib/openai/helpers/realtime/connection_manager.rb +1 -0
- data/lib/openai/helpers/realtime/conversation_item_variant_resolver.rb +5 -0
- data/lib/openai/helpers/realtime/recovery.rb +5 -1
- data/lib/openai/helpers/realtime/translation.rb +5 -0
- data/lib/openai/helpers/realtime/transports/async_websocket.rb +19 -0
- data/lib/openai/helpers/responses_websocket/connection.rb +53 -15
- data/lib/openai/helpers/responses_websocket/connection_manager.rb +1 -0
- data/lib/openai/helpers/responses_websocket/connection_resources.rb +1 -1
- data/lib/openai/helpers/structured_output/response_parser.rb +1 -0
- data/lib/openai/helpers/structured_output.rb +58 -0
- data/lib/openai/helpers/websocket/connection_manager.rb +11 -0
- data/lib/openai/helpers/websocket/resource.rb +1 -0
- data/lib/openai/helpers/websocket/typed_connection.rb +1 -0
- data/lib/openai/internal/type/array_of.rb +1 -1
- data/lib/openai/internal/type/hash_of.rb +1 -1
- data/lib/openai/internal/type/request_parameters.rb +2 -1
- data/lib/openai/internal/type/union.rb +18 -6
- data/lib/openai/models/admin/organization/external_key.rb +169 -0
- data/lib/openai/models/admin/organization/external_key_create_params.rb +311 -0
- data/lib/openai/models/admin/organization/external_key_delete_params.rb +24 -0
- data/lib/openai/models/admin/organization/external_key_list_params.rb +69 -0
- data/lib/openai/models/admin/organization/external_key_retrieve_params.rb +24 -0
- data/lib/openai/models/admin/organization/external_key_validate_params.rb +24 -0
- data/lib/openai/models/admin/organization/external_key_validate_response.rb +20 -0
- data/lib/openai/models/audio/speech_model.rb +12 -0
- data/lib/openai/models/audio_model.rb +15 -0
- data/lib/openai/models/beta/agent.rb +49 -1
- data/lib/openai/models/beta/agent_create_params.rb +51 -1
- data/lib/openai/models/beta/agent_session.rb +75 -2
- data/lib/openai/models/beta/agent_update_params.rb +62 -1
- data/lib/openai/models/beta/agents/session_create_params.rb +94 -2
- data/lib/openai/models/beta/agents/session_list_params.rb +16 -1
- data/lib/openai/models/beta/agents/session_update_params.rb +50 -5
- data/lib/openai/models/beta/assistant_update_params.rb +18 -0
- data/lib/openai/models/beta/beta_response.rb +224 -1
- data/lib/openai/models/beta/beta_response_configuration_update_item.rb +64 -3
- data/lib/openai/models/beta/beta_response_configuration_update_item_param.rb +64 -4
- data/lib/openai/models/beta/beta_response_input_item.rb +2 -3
- data/lib/openai/models/beta/beta_response_item.rb +2 -2
- data/lib/openai/models/beta/beta_response_tool_search_output_item_param.rb +6 -6
- data/lib/openai/models/beta/beta_responses_client_event.rb +20 -1
- data/lib/openai/models/beta/beta_tool.rb +6 -6
- data/lib/openai/models/beta/response_compact_params.rb +6 -0
- data/lib/openai/models/beta/response_create_params.rb +6 -0
- data/lib/openai/models/chat_model.rb +6 -0
- data/lib/openai/models/conversations/conversation_item.rb +2 -2
- data/lib/openai/models/image_edit_params.rb +46 -25
- data/lib/openai/models/live/fork_server_event.rb +43 -3
- data/lib/openai/models/live/server_event.rb +43 -3
- data/lib/openai/models/live/sideband_client_event.rb +40 -1
- data/lib/openai/models/live/sideband_server_event.rb +43 -3
- data/lib/openai/models/realtime/audio_transcription.rb +15 -0
- data/lib/openai/models/realtime/conversation_item_added.rb +2 -2
- data/lib/openai/models/realtime/conversation_item_create_event.rb +2 -2
- data/lib/openai/models/realtime/conversation_item_created_event.rb +2 -2
- data/lib/openai/models/realtime/conversation_item_done.rb +2 -2
- data/lib/openai/models/realtime/realtime_response.rb +2 -2
- data/lib/openai/models/realtime/realtime_response_create_params.rb +2 -2
- data/lib/openai/models/realtime/realtime_server_event.rb +2 -2
- data/lib/openai/models/realtime/realtime_session.rb +18 -0
- data/lib/openai/models/realtime/realtime_session_create_request.rb +18 -0
- data/lib/openai/models/realtime/realtime_session_create_response.rb +18 -0
- data/lib/openai/models/realtime/response_output_item_added_event.rb +2 -2
- data/lib/openai/models/realtime/response_output_item_done_event.rb +2 -2
- data/lib/openai/models/responses/response.rb +221 -1
- data/lib/openai/models/responses/response_compact_params.rb +6 -0
- data/lib/openai/models/responses/response_configuration_update_item.rb +50 -3
- data/lib/openai/models/responses/response_configuration_update_item_param.rb +50 -4
- data/lib/openai/models/responses/response_input_item.rb +2 -3
- data/lib/openai/models/responses/response_item.rb +2 -2
- data/lib/openai/models/responses/response_tool_search_output_item_param.rb +6 -6
- data/lib/openai/models/responses/responses_client_event.rb +14 -1
- data/lib/openai/models/responses/tool.rb +6 -6
- data/lib/openai/net_http_client.rb +6 -0
- data/lib/openai/providers/vertex.rb +0 -10
- data/lib/openai/resources/admin/organization/external_keys.rb +132 -0
- data/lib/openai/resources/admin/organization.rb +4 -0
- data/lib/openai/resources/audio/speech.rb +8 -0
- data/lib/openai/resources/audio/translations.rb +8 -0
- data/lib/openai/resources/beta/agents/sessions.rb +22 -6
- data/lib/openai/resources/beta/agents.rb +17 -2
- data/lib/openai/resources/images.rb +36 -18
- data/lib/openai/version.rb +1 -1
- data/lib/openai.rb +8 -0
- data/rbi/openai/helpers/live/websocket.rbi +1 -12
- data/rbi/openai/helpers/realtime/connection.rbi +5 -0
- data/rbi/openai/helpers/realtime/transports/async_websocket.rbi +5 -0
- data/rbi/openai/helpers/responses_websocket/connection.rbi +7 -2
- data/rbi/openai/helpers/structured_output.rbi +10 -0
- data/rbi/openai/internal/type/array_of.rbi +1 -1
- data/rbi/openai/internal/type/hash_of.rbi +1 -1
- data/rbi/openai/internal/type/union.rbi +5 -0
- data/rbi/openai/models/admin/organization/external_key.rbi +301 -0
- data/rbi/openai/models/admin/organization/external_key_create_params.rbi +532 -0
- data/rbi/openai/models/admin/organization/external_key_delete_params.rbi +57 -0
- data/rbi/openai/models/admin/organization/external_key_list_params.rbi +129 -0
- data/rbi/openai/models/admin/organization/external_key_retrieve_params.rbi +57 -0
- data/rbi/openai/models/admin/organization/external_key_validate_params.rbi +57 -0
- data/rbi/openai/models/admin/organization/external_key_validate_response.rbi +50 -0
- data/rbi/openai/models/beta/agent.rbi +103 -1
- data/rbi/openai/models/beta/agent_create_params.rbi +109 -0
- data/rbi/openai/models/beta/agent_session.rbi +136 -3
- data/rbi/openai/models/beta/agent_update_params.rbi +120 -0
- data/rbi/openai/models/beta/agents/session_create_params.rbi +153 -0
- data/rbi/openai/models/beta/agents/session_list_params.rbi +19 -0
- data/rbi/openai/models/beta/agents/session_update_params.rbi +94 -6
- data/rbi/openai/models/beta/beta_response.rbi +394 -0
- data/rbi/openai/models/beta/beta_response_configuration_update_item.rbi +113 -3
- data/rbi/openai/models/beta/beta_response_configuration_update_item_param.rbi +125 -4
- data/rbi/openai/models/beta/beta_response_tool_search_output_item_param.rbi +6 -6
- data/rbi/openai/models/beta/beta_responses_client_event.rbi +17 -0
- data/rbi/openai/models/beta/beta_tool.rbi +6 -6
- data/rbi/openai/models/decision_create_params.rbi +4 -1
- data/rbi/openai/models/image_edit_params.rbi +49 -24
- data/rbi/openai/models/live/fork_server_event.rbi +65 -1
- data/rbi/openai/models/live/server_event.rbi +65 -1
- data/rbi/openai/models/live/sideband_client_event.rbi +60 -0
- data/rbi/openai/models/live/sideband_server_event.rbi +65 -1
- data/rbi/openai/models/realtime/conversation_item_added.rbi +6 -3
- data/rbi/openai/models/realtime/conversation_item_create_event.rbi +6 -3
- data/rbi/openai/models/realtime/conversation_item_created_event.rbi +6 -3
- data/rbi/openai/models/realtime/conversation_item_done.rbi +6 -3
- data/rbi/openai/models/realtime/realtime_response.rbi +8 -4
- data/rbi/openai/models/realtime/realtime_response_create_params.rbi +8 -4
- data/rbi/openai/models/realtime/realtime_server_event.rbi +6 -3
- data/rbi/openai/models/realtime/response_output_item_added_event.rbi +6 -3
- data/rbi/openai/models/realtime/response_output_item_done_event.rbi +6 -3
- data/rbi/openai/models/responses/response.rbi +394 -0
- data/rbi/openai/models/responses/response_configuration_update_item.rbi +76 -3
- data/rbi/openai/models/responses/response_configuration_update_item_param.rbi +74 -4
- data/rbi/openai/models/responses/response_tool_search_output_item_param.rbi +6 -6
- data/rbi/openai/models/responses/responses_client_event.rbi +17 -0
- data/rbi/openai/models/responses/tool.rbi +6 -6
- data/rbi/openai/net_http_client.rbi +5 -0
- data/rbi/openai/resources/admin/organization/external_keys.rbi +86 -0
- data/rbi/openai/resources/admin/organization.rbi +3 -0
- data/rbi/openai/resources/audio/speech.rbi +8 -0
- data/rbi/openai/resources/audio/translations.rbi +6 -0
- data/rbi/openai/resources/beta/agents/sessions.rbi +18 -2
- data/rbi/openai/resources/beta/agents.rbi +15 -0
- data/rbi/openai/resources/images.rbi +34 -16
- data/rbi/openai/resources/responses.rbi +2 -0
- data/realtime.md +6 -0
- data/responses-websocket.md +53 -0
- data/sig/openai/helpers/live/websocket.rbs +1 -9
- data/sig/openai/helpers/realtime/connection.rbs +3 -0
- data/sig/openai/helpers/realtime/transports/async_websocket.rbs +3 -0
- data/sig/openai/helpers/responses_websocket/connection.rbs +7 -1
- data/sig/openai/helpers/structured_output.rbs +9 -0
- data/sig/openai/internal/type/union.rbs +4 -0
- data/sig/openai/models/admin/organization/external_key.rbs +186 -0
- data/sig/openai/models/admin/organization/external_key_create_params.rbs +423 -0
- data/sig/openai/models/admin/organization/external_key_delete_params.rbs +27 -0
- data/sig/openai/models/admin/organization/external_key_list_params.rbs +81 -0
- data/sig/openai/models/admin/organization/external_key_retrieve_params.rbs +27 -0
- data/sig/openai/models/admin/organization/external_key_validate_params.rbs +27 -0
- data/sig/openai/models/admin/organization/external_key_validate_response.rbs +17 -0
- data/sig/openai/models/admin/organization/external_storage_create_params.rbs +72 -2
- data/sig/openai/models/audio/speech_create_params.rbs +15 -2
- data/sig/openai/models/audio/transcription_create_params.rbs +30 -2
- data/sig/openai/models/audio/voice_create_params.rbs +47 -2
- data/sig/openai/models/beta/agent.rbs +54 -2
- data/sig/openai/models/beta/agent_create_params.rbs +54 -0
- data/sig/openai/models/beta/agent_session.rbs +82 -3
- data/sig/openai/models/beta/agent_update_params.rbs +64 -0
- data/sig/openai/models/beta/agents/session_create_params.rbs +91 -0
- data/sig/openai/models/beta/agents/session_list_params.rbs +20 -0
- data/sig/openai/models/beta/agents/session_update_params.rbs +48 -6
- data/sig/openai/models/beta/assistant_create_params.rbs +5 -2
- data/sig/openai/models/beta/beta_response.rbs +223 -0
- data/sig/openai/models/beta/beta_response_configuration_update_item.rbs +58 -2
- data/sig/openai/models/beta/beta_response_configuration_update_item_param.rbs +58 -2
- data/sig/openai/models/beta/beta_response_tool_search_output_item_param.rbs +4 -4
- data/sig/openai/models/beta/beta_responses_client_event.rbs +17 -0
- data/sig/openai/models/beta/beta_tool.rbs +4 -4
- data/sig/openai/models/beta/response_create_params.rbs +5 -2
- data/sig/openai/models/beta/responses/input_token_count_params.rbs +10 -2
- data/sig/openai/models/beta/thread_create_and_run_params.rbs +11 -5
- data/sig/openai/models/beta/thread_create_params.rbs +11 -5
- data/sig/openai/models/beta/threads/message_create_params.rbs +6 -3
- data/sig/openai/models/beta/threads/run_create_params.rbs +6 -3
- data/sig/openai/models/decision_create_params.rbs +27 -2
- data/sig/openai/models/eval_create_params.rbs +25 -4
- data/sig/openai/models/evals/run_create_params.rbs +52 -8
- data/sig/openai/models/image_edit_params.rbs +47 -16
- data/sig/openai/models/live/fork_server_event.rbs +39 -0
- data/sig/openai/models/live/server_event.rbs +39 -0
- data/sig/openai/models/live/session_accept_params.rbs +39 -2
- data/sig/openai/models/live/sideband_client_event.rbs +32 -0
- data/sig/openai/models/live/sideband_server_event.rbs +39 -0
- data/sig/openai/models/realtime/conversation_item.rbs +1 -0
- data/sig/openai/models/responses/input_token_count_params.rbs +10 -2
- data/sig/openai/models/responses/response.rbs +223 -0
- data/sig/openai/models/responses/response_configuration_update_item.rbs +45 -2
- data/sig/openai/models/responses/response_configuration_update_item_param.rbs +45 -2
- data/sig/openai/models/responses/response_create_params.rbs +5 -2
- data/sig/openai/models/responses/response_tool_search_output_item_param.rbs +4 -4
- data/sig/openai/models/responses/responses_client_event.rbs +17 -0
- data/sig/openai/models/responses/tool.rbs +4 -4
- data/sig/openai/models/video_edit_params.rbs +11 -2
- data/sig/openai/models/video_extend_params.rbs +11 -2
- data/sig/openai/net_http_client.rbs +3 -0
- data/sig/openai/resources/admin/organization/external_keys.rbs +70 -0
- data/sig/openai/resources/admin/organization/external_storage.rbs +23 -1
- data/sig/openai/resources/admin/organization.rbs +2 -0
- data/sig/openai/resources/audio/speech.rbs +2 -1
- data/sig/openai/resources/audio/transcriptions.rbs +14 -2
- data/sig/openai/resources/audio/voices.rbs +14 -1
- data/sig/openai/resources/beta/agents/sessions.rbs +4 -0
- data/sig/openai/resources/beta/agents.rbs +4 -0
- data/sig/openai/resources/beta/responses/input_tokens.rbs +2 -1
- data/sig/openai/resources/beta/responses.rbs +4 -2
- data/sig/openai/resources/decisions.rbs +7 -1
- data/sig/openai/resources/images.rbs +2 -0
- data/sig/openai/resources/responses/input_tokens.rbs +2 -1
- data/sig/openai/resources/responses.rbs +5 -2
- data/sig/openai/resources/videos.rbs +2 -2
- metadata +43 -1
|
@@ -14,7 +14,7 @@ module OpenAI
|
|
|
14
14
|
# @return [nil]
|
|
15
15
|
def create(**params)
|
|
16
16
|
event_params = params.reject { |key, _value| key == :type || key == "type" }
|
|
17
|
-
@connection.
|
|
17
|
+
@connection.send_response_create(**event_params, type: :"response.create")
|
|
18
18
|
end
|
|
19
19
|
end
|
|
20
20
|
end
|
|
@@ -11,6 +11,64 @@ module OpenAI
|
|
|
11
11
|
#
|
|
12
12
|
# Supported types: {NilClass} {String} {Symbol} {Integer} {Float} {OpenAI::Boolean}, {OpenAI::EnumOf}, {OpenAI::UnionOf}, {OpenAI::ArrayOf}, {OpenAI::BaseModel}
|
|
13
13
|
module StructuredOutput
|
|
14
|
+
# Carries a visible format update's local parser without adding a wire field.
|
|
15
|
+
# A nil model means the update explicitly cleared typed parsing.
|
|
16
|
+
# @api private
|
|
17
|
+
module RequestWithFormatUpdate
|
|
18
|
+
attr_accessor :text_model
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
private_constant :RequestWithFormatUpdate
|
|
22
|
+
|
|
23
|
+
# Convert schemas in input items after the SDK has copied the request or event.
|
|
24
|
+
#
|
|
25
|
+
# @api private
|
|
26
|
+
def self.prepare_configuration_updates!(request)
|
|
27
|
+
input = request[:input] || request["input"]
|
|
28
|
+
items = request[:items] || request["items"]
|
|
29
|
+
if input.is_a?(Array)
|
|
30
|
+
input.each do |item|
|
|
31
|
+
prepare_configuration_update!(item) do |model|
|
|
32
|
+
request.extend(RequestWithFormatUpdate) unless request.is_a?(RequestWithFormatUpdate)
|
|
33
|
+
request.text_model = model
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
items.each { |item| prepare_configuration_update!(item) } if items.is_a?(Array)
|
|
39
|
+
prepare_configuration_update!(request[:item] || request["item"])
|
|
40
|
+
request
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
def self.prepare_configuration_update!(item)
|
|
44
|
+
return unless item.is_a?(Hash)
|
|
45
|
+
type = item[:type] || item["type"]
|
|
46
|
+
return unless type == :configuration_update || type == "configuration_update"
|
|
47
|
+
|
|
48
|
+
text = item[:text] || item["text"]
|
|
49
|
+
return unless text.is_a?(Hash)
|
|
50
|
+
unless text.key?(:format) || text.key?("format")
|
|
51
|
+
key = text.key?(:format_) ? :format_ : "format_"
|
|
52
|
+
text[:format] = text.delete(key) if text.key?(key)
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
format = text[:format] || text["format"]
|
|
56
|
+
return unless format.is_a?(Hash)
|
|
57
|
+
type = format[:type] || format["type"]
|
|
58
|
+
model = nil
|
|
59
|
+
if type == :json_schema || type == "json_schema"
|
|
60
|
+
key = format.key?(:schema) ? :schema : "schema"
|
|
61
|
+
schema = format[key]
|
|
62
|
+
if schema.is_a?(JsonSchemaConverter)
|
|
63
|
+
model = schema
|
|
64
|
+
format[key] = JsonSchemaConverter.to_json_schema(schema)
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
yield model if block_given?
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
private_class_method :prepare_configuration_update!
|
|
14
72
|
end
|
|
15
73
|
end
|
|
16
74
|
end
|
|
@@ -20,6 +20,7 @@ module OpenAI
|
|
|
20
20
|
|
|
21
21
|
# @api private
|
|
22
22
|
def initialize(
|
|
23
|
+
client:,
|
|
23
24
|
transport:,
|
|
24
25
|
transport_options:,
|
|
25
26
|
default_transport:,
|
|
@@ -32,6 +33,7 @@ module OpenAI
|
|
|
32
33
|
reserved_options_error_message: nil,
|
|
33
34
|
connection_options: {}
|
|
34
35
|
)
|
|
36
|
+
@client = client
|
|
35
37
|
@transport = transport
|
|
36
38
|
@default_transport = default_transport
|
|
37
39
|
@connection_class = connection_class
|
|
@@ -52,6 +54,15 @@ module OpenAI
|
|
|
52
54
|
transport = @transport || @default_transport.call
|
|
53
55
|
raise ArgumentError, @transport_error_message unless transport.respond_to?(:open)
|
|
54
56
|
|
|
57
|
+
requester = @client.requester
|
|
58
|
+
unless @transport || (requester.instance_of?(OpenAI::NetHTTPClient) && requester.default_configuration?)
|
|
59
|
+
raise(
|
|
60
|
+
ArgumentError,
|
|
61
|
+
"This HTTP transport's connection policy cannot be used by the default WebSocket " \
|
|
62
|
+
"transport. Pass a compatible WebSocket transport with its own connection settings."
|
|
63
|
+
)
|
|
64
|
+
end
|
|
65
|
+
|
|
55
66
|
@request.call do |request, mark_handshake_completed|
|
|
56
67
|
block_error = nil
|
|
57
68
|
transport
|
|
@@ -38,6 +38,7 @@ module OpenAI
|
|
|
38
38
|
raise ArgumentError, client_event_error_message
|
|
39
39
|
end
|
|
40
40
|
|
|
41
|
+
OpenAI::Helpers::StructuredOutput.prepare_configuration_updates!(payload) if @client_event
|
|
41
42
|
payload = coerce_client_event(payload) if @client_event
|
|
42
43
|
payload = OpenAI::Internal::Type::Converter.dump(@client_event, payload) if @client_event
|
|
43
44
|
validate_event_tree!(payload, json_only: true)
|
|
@@ -30,7 +30,8 @@ module OpenAI
|
|
|
30
30
|
in Hash
|
|
31
31
|
options = OpenAI::Internal::Util.coerce_hash!(dumped[:request_options]).to_h
|
|
32
32
|
request_options = state.fetch(:can_retry) ? options : {**options, max_retries: 0}
|
|
33
|
-
|
|
33
|
+
body = OpenAI::Helpers::StructuredOutput.prepare_configuration_updates!(dumped.except(:request_options))
|
|
34
|
+
[body, request_options]
|
|
34
35
|
else
|
|
35
36
|
[dumped, nil]
|
|
36
37
|
end
|
|
@@ -216,6 +216,23 @@ module OpenAI
|
|
|
216
216
|
state[:strictness] = strictness
|
|
217
217
|
end
|
|
218
218
|
|
|
219
|
+
# @api private
|
|
220
|
+
#
|
|
221
|
+
# @param value [Object]
|
|
222
|
+
#
|
|
223
|
+
# @return [OpenAI::Internal::Type::Converter, Class, nil]
|
|
224
|
+
def variant_for_dump(value)
|
|
225
|
+
target = resolve_variant(value)
|
|
226
|
+
return target if target
|
|
227
|
+
|
|
228
|
+
known_variants.each do
|
|
229
|
+
target = _2.call
|
|
230
|
+
return target if target === value
|
|
231
|
+
end
|
|
232
|
+
|
|
233
|
+
nil
|
|
234
|
+
end
|
|
235
|
+
|
|
219
236
|
# @api private
|
|
220
237
|
#
|
|
221
238
|
# @param value [Object]
|
|
@@ -226,15 +243,10 @@ module OpenAI
|
|
|
226
243
|
#
|
|
227
244
|
# @return [Object]
|
|
228
245
|
def dump(value, state:)
|
|
229
|
-
if (target =
|
|
246
|
+
if (target = variant_for_dump(value))
|
|
230
247
|
return OpenAI::Internal::Type::Converter.dump(target, value, state: state)
|
|
231
248
|
end
|
|
232
249
|
|
|
233
|
-
known_variants.each do
|
|
234
|
-
target = _2.call
|
|
235
|
-
return OpenAI::Internal::Type::Converter.dump(target, value, state: state) if target === value
|
|
236
|
-
end
|
|
237
|
-
|
|
238
250
|
super
|
|
239
251
|
end
|
|
240
252
|
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Models
|
|
5
|
+
module Admin
|
|
6
|
+
module Organization
|
|
7
|
+
# @see OpenAI::Resources::Admin::Organization::ExternalKeys#create
|
|
8
|
+
class ExternalKey < OpenAI::Internal::Type::BaseModel
|
|
9
|
+
# @!attribute id
|
|
10
|
+
#
|
|
11
|
+
# @return [String]
|
|
12
|
+
required :id, String
|
|
13
|
+
|
|
14
|
+
# @!attribute api_project_ids
|
|
15
|
+
#
|
|
16
|
+
# @return [Array<String>]
|
|
17
|
+
required :api_project_ids, OpenAI::Internal::Type::ArrayOf[String]
|
|
18
|
+
|
|
19
|
+
# @!attribute created_at
|
|
20
|
+
#
|
|
21
|
+
# @return [Integer]
|
|
22
|
+
required :created_at, Integer
|
|
23
|
+
|
|
24
|
+
# @!attribute name
|
|
25
|
+
#
|
|
26
|
+
# @return [String]
|
|
27
|
+
required :name, String
|
|
28
|
+
|
|
29
|
+
# @!attribute object
|
|
30
|
+
#
|
|
31
|
+
# @return [String]
|
|
32
|
+
required :object, String
|
|
33
|
+
|
|
34
|
+
# @!attribute type
|
|
35
|
+
#
|
|
36
|
+
# @return [String]
|
|
37
|
+
required :type, String
|
|
38
|
+
|
|
39
|
+
# @!attribute workspace_id
|
|
40
|
+
#
|
|
41
|
+
# @return [String]
|
|
42
|
+
required :workspace_id, String
|
|
43
|
+
|
|
44
|
+
# @!attribute audience
|
|
45
|
+
#
|
|
46
|
+
# @return [String, nil]
|
|
47
|
+
optional :audience, String
|
|
48
|
+
|
|
49
|
+
# @!attribute external_id
|
|
50
|
+
#
|
|
51
|
+
# @return [String, nil]
|
|
52
|
+
optional :external_id, String
|
|
53
|
+
|
|
54
|
+
# @!attribute key_name
|
|
55
|
+
#
|
|
56
|
+
# @return [String, nil]
|
|
57
|
+
optional :key_name, String
|
|
58
|
+
|
|
59
|
+
# @!attribute key_version
|
|
60
|
+
#
|
|
61
|
+
# @return [String, nil]
|
|
62
|
+
optional :key_version, String
|
|
63
|
+
|
|
64
|
+
# @!attribute kms_arn
|
|
65
|
+
#
|
|
66
|
+
# @return [String, nil]
|
|
67
|
+
optional :kms_arn, String
|
|
68
|
+
|
|
69
|
+
# @!attribute kms_key_location
|
|
70
|
+
#
|
|
71
|
+
# @return [String, nil]
|
|
72
|
+
optional :kms_key_location, String
|
|
73
|
+
|
|
74
|
+
# @!attribute kms_key_name
|
|
75
|
+
#
|
|
76
|
+
# @return [String, nil]
|
|
77
|
+
optional :kms_key_name, String
|
|
78
|
+
|
|
79
|
+
# @!attribute kms_key_ring_name
|
|
80
|
+
#
|
|
81
|
+
# @return [String, nil]
|
|
82
|
+
optional :kms_key_ring_name, String
|
|
83
|
+
|
|
84
|
+
# @!attribute kms_key_version
|
|
85
|
+
#
|
|
86
|
+
# @return [String, nil]
|
|
87
|
+
optional :kms_key_version, String
|
|
88
|
+
|
|
89
|
+
# @!attribute kms_project_id
|
|
90
|
+
#
|
|
91
|
+
# @return [String, nil]
|
|
92
|
+
optional :kms_project_id, String
|
|
93
|
+
|
|
94
|
+
# @!attribute purpose
|
|
95
|
+
#
|
|
96
|
+
# @return [Symbol, OpenAI::Models::Admin::Organization::ExternalKey::Purpose, nil]
|
|
97
|
+
optional :purpose, enum: -> { OpenAI::Admin::Organization::ExternalKey::Purpose }
|
|
98
|
+
|
|
99
|
+
# @!attribute role_arn
|
|
100
|
+
#
|
|
101
|
+
# @return [String, nil]
|
|
102
|
+
optional :role_arn, String
|
|
103
|
+
|
|
104
|
+
# @!attribute tenant_id
|
|
105
|
+
#
|
|
106
|
+
# @return [String, nil]
|
|
107
|
+
optional :tenant_id, String
|
|
108
|
+
|
|
109
|
+
# @!attribute vault_uri
|
|
110
|
+
#
|
|
111
|
+
# @return [String, nil]
|
|
112
|
+
optional :vault_uri, String
|
|
113
|
+
|
|
114
|
+
# @!attribute workload_identity_pool_id
|
|
115
|
+
#
|
|
116
|
+
# @return [String, nil]
|
|
117
|
+
optional :workload_identity_pool_id, String
|
|
118
|
+
|
|
119
|
+
# @!attribute workload_identity_project_number
|
|
120
|
+
#
|
|
121
|
+
# @return [String, nil]
|
|
122
|
+
optional :workload_identity_project_number, String
|
|
123
|
+
|
|
124
|
+
# @!attribute workload_identity_provider_id
|
|
125
|
+
#
|
|
126
|
+
# @return [String, nil]
|
|
127
|
+
optional :workload_identity_provider_id, String
|
|
128
|
+
|
|
129
|
+
# @!method initialize(id:, api_project_ids:, created_at:, name:, object:, type:, workspace_id:, audience: nil, external_id: nil, key_name: nil, key_version: nil, kms_arn: nil, kms_key_location: nil, kms_key_name: nil, kms_key_ring_name: nil, kms_key_version: nil, kms_project_id: nil, purpose: nil, role_arn: nil, tenant_id: nil, vault_uri: nil, workload_identity_pool_id: nil, workload_identity_project_number: nil, workload_identity_provider_id: nil)
|
|
130
|
+
# @param id [String]
|
|
131
|
+
# @param api_project_ids [Array<String>]
|
|
132
|
+
# @param created_at [Integer]
|
|
133
|
+
# @param name [String]
|
|
134
|
+
# @param object [String]
|
|
135
|
+
# @param type [String]
|
|
136
|
+
# @param workspace_id [String]
|
|
137
|
+
# @param audience [String]
|
|
138
|
+
# @param external_id [String]
|
|
139
|
+
# @param key_name [String]
|
|
140
|
+
# @param key_version [String]
|
|
141
|
+
# @param kms_arn [String]
|
|
142
|
+
# @param kms_key_location [String]
|
|
143
|
+
# @param kms_key_name [String]
|
|
144
|
+
# @param kms_key_ring_name [String]
|
|
145
|
+
# @param kms_key_version [String]
|
|
146
|
+
# @param kms_project_id [String]
|
|
147
|
+
# @param purpose [Symbol, OpenAI::Models::Admin::Organization::ExternalKey::Purpose]
|
|
148
|
+
# @param role_arn [String]
|
|
149
|
+
# @param tenant_id [String]
|
|
150
|
+
# @param vault_uri [String]
|
|
151
|
+
# @param workload_identity_pool_id [String]
|
|
152
|
+
# @param workload_identity_project_number [String]
|
|
153
|
+
# @param workload_identity_provider_id [String]
|
|
154
|
+
|
|
155
|
+
# @see OpenAI::Models::Admin::Organization::ExternalKey#purpose
|
|
156
|
+
module Purpose
|
|
157
|
+
extend OpenAI::Internal::Type::Enum
|
|
158
|
+
|
|
159
|
+
EKM = :ekm
|
|
160
|
+
PSP_DECRYPTION = :psp_decryption
|
|
161
|
+
|
|
162
|
+
# @!method self.values
|
|
163
|
+
# @return [Array<Symbol>]
|
|
164
|
+
end
|
|
165
|
+
end
|
|
166
|
+
end
|
|
167
|
+
end
|
|
168
|
+
end
|
|
169
|
+
end
|