diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 4c56f2a4..57726a4f 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.64.0" + ".": "0.65.0" } \ No newline at end of file diff --git a/.stats.yml b/.stats.yml index e5ac7b3a..e74a931e 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 261 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/openai/openai-afacc4343d0efc074c8c5667eb83570642c8b9acaa7792ca8e075c6d18ef9f3a.yml -openapi_spec_hash: a62a557c61532681963fd21e748b0eb4 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/openai/openai-2a971ccbb946726988e96654eaecceb6d9b5ad27f5793c0064b864f5686d4fc1.yml +openapi_spec_hash: a712e4ee68f829570b3f5b267afa5a05 config_hash: bb69d8d0771dbac4a84fc6dca11e3ceb diff --git a/CHANGELOG.md b/CHANGELOG.md index 43300ba0..43d6bbc7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## 0.65.0 (2026-06-01) + +Full Changelog: [v0.64.0...v0.65.0](https://github.com/openai/openai-ruby/compare/v0.64.0...v0.65.0) + +### Features + +* **api:** workload identity in audit logs, additional_tools item in responses, fix ActionSearch.query to be optional. ([5d44823](https://github.com/openai/openai-ruby/commit/5d4482389d152decbc9e8b90ad2ed8e1d1243d43)) + ## 0.64.0 (2026-05-21) Full Changelog: [v0.63.0...v0.64.0](https://github.com/openai/openai-ruby/compare/v0.63.0...v0.64.0) diff --git a/Gemfile.lock b/Gemfile.lock index 6bd34ee8..69997099 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -11,7 +11,7 @@ GIT PATH remote: . specs: - openai (0.64.0) + openai (0.65.0) base64 cgi connection_pool diff --git a/README.md b/README.md index c96ad891..ee755b39 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ To use this gem, install via Bundler by adding the following to your application ```ruby -gem "openai", "~> 0.64.0" +gem "openai", "~> 0.65.0" ``` diff --git a/lib/openai/models/admin/organization/audit_log_list_params.rb b/lib/openai/models/admin/organization/audit_log_list_params.rb index 26e62187..f00c9c3a 100644 --- a/lib/openai/models/admin/organization/audit_log_list_params.rb +++ b/lib/openai/models/admin/organization/audit_log_list_params.rb @@ -185,6 +185,12 @@ module EventType TUNNEL_CREATED = :"tunnel.created" TUNNEL_UPDATED = :"tunnel.updated" TUNNEL_DELETED = :"tunnel.deleted" + WORKLOAD_IDENTITY_PROVIDER_CREATED = :"workload_identity_provider.created" + WORKLOAD_IDENTITY_PROVIDER_UPDATED = :"workload_identity_provider.updated" + WORKLOAD_IDENTITY_PROVIDER_DELETED = :"workload_identity_provider.deleted" + WORKLOAD_IDENTITY_PROVIDER_MAPPING_CREATED = :"workload_identity_provider_mapping.created" + WORKLOAD_IDENTITY_PROVIDER_MAPPING_UPDATED = :"workload_identity_provider_mapping.updated" + WORKLOAD_IDENTITY_PROVIDER_MAPPING_DELETED = :"workload_identity_provider_mapping.deleted" ROLE_CREATED = :"role.created" ROLE_UPDATED = :"role.updated" ROLE_DELETED = :"role.deleted" diff --git a/lib/openai/models/admin/organization/audit_log_list_response.rb b/lib/openai/models/admin/organization/audit_log_list_response.rb index 63dbc150..6ff5dd5b 100644 --- a/lib/openai/models/admin/organization/audit_log_list_response.rb +++ b/lib/openai/models/admin/organization/audit_log_list_response.rb @@ -411,7 +411,55 @@ class AuditLogListResponse < OpenAI::Internal::Type::BaseModel -> { OpenAI::Models::Admin::Organization::AuditLogListResponse::UserUpdated }, api_name: :"user.updated" - # @!method initialize(id:, effective_at:, type:, actor: nil, api_key_created: nil, api_key_deleted: nil, api_key_updated: nil, certificate_created: nil, certificate_deleted: nil, certificate_updated: nil, certificates_activated: nil, certificates_deactivated: nil, checkpoint_permission_created: nil, checkpoint_permission_deleted: nil, external_key_registered: nil, external_key_removed: nil, group_created: nil, group_deleted: nil, group_updated: nil, invite_accepted: nil, invite_deleted: nil, invite_sent: nil, ip_allowlist_config_activated: nil, ip_allowlist_config_deactivated: nil, ip_allowlist_created: nil, ip_allowlist_deleted: nil, ip_allowlist_updated: nil, login_failed: nil, login_succeeded: nil, logout_failed: nil, logout_succeeded: nil, organization_updated: nil, project: nil, project_archived: nil, project_created: nil, project_deleted: nil, project_updated: nil, rate_limit_deleted: nil, rate_limit_updated: nil, role_assignment_created: nil, role_assignment_deleted: nil, role_created: nil, role_deleted: nil, role_updated: nil, scim_disabled: nil, scim_enabled: nil, service_account_created: nil, service_account_deleted: nil, service_account_updated: nil, user_added: nil, user_deleted: nil, user_updated: nil) + # @!attribute workload_identity_provider_mapping_created + # The details for events with this `type`. + # + # @return [OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderMappingCreated, nil] + optional :workload_identity_provider_mapping_created, + -> { OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderMappingCreated }, + api_name: :"workload_identity_provider_mapping.created" + + # @!attribute workload_identity_provider_mapping_deleted + # The details for events with this `type`. + # + # @return [OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderMappingDeleted, nil] + optional :workload_identity_provider_mapping_deleted, + -> { OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderMappingDeleted }, + api_name: :"workload_identity_provider_mapping.deleted" + + # @!attribute workload_identity_provider_mapping_updated + # The details for events with this `type`. + # + # @return [OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderMappingUpdated, nil] + optional :workload_identity_provider_mapping_updated, + -> { OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderMappingUpdated }, + api_name: :"workload_identity_provider_mapping.updated" + + # @!attribute workload_identity_provider_created + # The details for events with this `type`. + # + # @return [OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderCreated, nil] + optional :workload_identity_provider_created, + -> { OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderCreated }, + api_name: :"workload_identity_provider.created" + + # @!attribute workload_identity_provider_deleted + # The details for events with this `type`. + # + # @return [OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderDeleted, nil] + optional :workload_identity_provider_deleted, + -> { OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderDeleted }, + api_name: :"workload_identity_provider.deleted" + + # @!attribute workload_identity_provider_updated + # The details for events with this `type`. + # + # @return [OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderUpdated, nil] + optional :workload_identity_provider_updated, + -> { OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderUpdated }, + api_name: :"workload_identity_provider.updated" + + # @!method initialize(id:, effective_at:, type:, actor: nil, api_key_created: nil, api_key_deleted: nil, api_key_updated: nil, certificate_created: nil, certificate_deleted: nil, certificate_updated: nil, certificates_activated: nil, certificates_deactivated: nil, checkpoint_permission_created: nil, checkpoint_permission_deleted: nil, external_key_registered: nil, external_key_removed: nil, group_created: nil, group_deleted: nil, group_updated: nil, invite_accepted: nil, invite_deleted: nil, invite_sent: nil, ip_allowlist_config_activated: nil, ip_allowlist_config_deactivated: nil, ip_allowlist_created: nil, ip_allowlist_deleted: nil, ip_allowlist_updated: nil, login_failed: nil, login_succeeded: nil, logout_failed: nil, logout_succeeded: nil, organization_updated: nil, project: nil, project_archived: nil, project_created: nil, project_deleted: nil, project_updated: nil, rate_limit_deleted: nil, rate_limit_updated: nil, role_assignment_created: nil, role_assignment_deleted: nil, role_created: nil, role_deleted: nil, role_updated: nil, scim_disabled: nil, scim_enabled: nil, service_account_created: nil, service_account_deleted: nil, service_account_updated: nil, user_added: nil, user_deleted: nil, user_updated: nil, workload_identity_provider_mapping_created: nil, workload_identity_provider_mapping_deleted: nil, workload_identity_provider_mapping_updated: nil, workload_identity_provider_created: nil, workload_identity_provider_deleted: nil, workload_identity_provider_updated: nil) # Some parameter documentations has been truncated, see # {OpenAI::Models::Admin::Organization::AuditLogListResponse} for more details. # @@ -520,6 +568,18 @@ class AuditLogListResponse < OpenAI::Internal::Type::BaseModel # @param user_deleted [OpenAI::Models::Admin::Organization::AuditLogListResponse::UserDeleted] The details for events with this `type`. # # @param user_updated [OpenAI::Models::Admin::Organization::AuditLogListResponse::UserUpdated] The details for events with this `type`. + # + # @param workload_identity_provider_mapping_created [OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderMappingCreated] The details for events with this `type`. + # + # @param workload_identity_provider_mapping_deleted [OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderMappingDeleted] The details for events with this `type`. + # + # @param workload_identity_provider_mapping_updated [OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderMappingUpdated] The details for events with this `type`. + # + # @param workload_identity_provider_created [OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderCreated] The details for events with this `type`. + # + # @param workload_identity_provider_deleted [OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderDeleted] The details for events with this `type`. + # + # @param workload_identity_provider_updated [OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderUpdated] The details for events with this `type`. # The event type. # @@ -565,6 +625,12 @@ module Type TUNNEL_CREATED = :"tunnel.created" TUNNEL_UPDATED = :"tunnel.updated" TUNNEL_DELETED = :"tunnel.deleted" + WORKLOAD_IDENTITY_PROVIDER_CREATED = :"workload_identity_provider.created" + WORKLOAD_IDENTITY_PROVIDER_UPDATED = :"workload_identity_provider.updated" + WORKLOAD_IDENTITY_PROVIDER_DELETED = :"workload_identity_provider.deleted" + WORKLOAD_IDENTITY_PROVIDER_MAPPING_CREATED = :"workload_identity_provider_mapping.created" + WORKLOAD_IDENTITY_PROVIDER_MAPPING_UPDATED = :"workload_identity_provider_mapping.updated" + WORKLOAD_IDENTITY_PROVIDER_MAPPING_DELETED = :"workload_identity_provider_mapping.deleted" ROLE_CREATED = :"role.created" ROLE_UPDATED = :"role.updated" ROLE_DELETED = :"role.deleted" @@ -2192,6 +2258,170 @@ class ChangesRequested < OpenAI::Internal::Type::BaseModel # @param role [String] The role of the user. Is either `owner` or `member`. end end + + # @see OpenAI::Models::Admin::Organization::AuditLogListResponse#workload_identity_provider_mapping_created + class WorkloadIdentityProviderMappingCreated < OpenAI::Internal::Type::BaseModel + # @!attribute id + # The workload identity provider mapping ID. + # + # @return [String, nil] + optional :id, String + + # @!attribute data + # The payload used to create the workload identity provider mapping. + # + # @return [Object, nil] + optional :data, OpenAI::Internal::Type::Unknown + + # @!attribute identity_provider_id + # The workload identity provider ID. + # + # @return [String, nil] + optional :identity_provider_id, String + + # @!method initialize(id: nil, data: nil, identity_provider_id: nil) + # The details for events with this `type`. + # + # @param id [String] The workload identity provider mapping ID. + # + # @param data [Object] The payload used to create the workload identity provider mapping. + # + # @param identity_provider_id [String] The workload identity provider ID. + end + + # @see OpenAI::Models::Admin::Organization::AuditLogListResponse#workload_identity_provider_mapping_deleted + class WorkloadIdentityProviderMappingDeleted < OpenAI::Internal::Type::BaseModel + # @!attribute id + # The workload identity provider mapping ID. + # + # @return [String, nil] + optional :id, String + + # @!attribute identity_provider_id + # The workload identity provider ID. + # + # @return [String, nil] + optional :identity_provider_id, String + + # @!attribute project_id + # The project ID. + # + # @return [String, nil] + optional :project_id, String + + # @!attribute service_account_id + # The mapped service account ID. + # + # @return [String, nil] + optional :service_account_id, String + + # @!method initialize(id: nil, identity_provider_id: nil, project_id: nil, service_account_id: nil) + # The details for events with this `type`. + # + # @param id [String] The workload identity provider mapping ID. + # + # @param identity_provider_id [String] The workload identity provider ID. + # + # @param project_id [String] The project ID. + # + # @param service_account_id [String] The mapped service account ID. + end + + # @see OpenAI::Models::Admin::Organization::AuditLogListResponse#workload_identity_provider_mapping_updated + class WorkloadIdentityProviderMappingUpdated < OpenAI::Internal::Type::BaseModel + # @!attribute id + # The workload identity provider mapping ID. + # + # @return [String, nil] + optional :id, String + + # @!attribute changes_requested + # The payload used to update the workload identity provider mapping. + # + # @return [Object, nil] + optional :changes_requested, OpenAI::Internal::Type::Unknown + + # @!attribute identity_provider_id + # The workload identity provider ID. + # + # @return [String, nil] + optional :identity_provider_id, String + + # @!method initialize(id: nil, changes_requested: nil, identity_provider_id: nil) + # The details for events with this `type`. + # + # @param id [String] The workload identity provider mapping ID. + # + # @param changes_requested [Object] The payload used to update the workload identity provider mapping. + # + # @param identity_provider_id [String] The workload identity provider ID. + end + + # @see OpenAI::Models::Admin::Organization::AuditLogListResponse#workload_identity_provider_created + class WorkloadIdentityProviderCreated < OpenAI::Internal::Type::BaseModel + # @!attribute id + # The workload identity provider ID. + # + # @return [String, nil] + optional :id, String + + # @!attribute data + # The payload used to create the workload identity provider. + # + # @return [Object, nil] + optional :data, OpenAI::Internal::Type::Unknown + + # @!method initialize(id: nil, data: nil) + # The details for events with this `type`. + # + # @param id [String] The workload identity provider ID. + # + # @param data [Object] The payload used to create the workload identity provider. + end + + # @see OpenAI::Models::Admin::Organization::AuditLogListResponse#workload_identity_provider_deleted + class WorkloadIdentityProviderDeleted < OpenAI::Internal::Type::BaseModel + # @!attribute id + # The workload identity provider ID. + # + # @return [String, nil] + optional :id, String + + # @!attribute name + # The workload identity provider name. + # + # @return [String, nil] + optional :name, String + + # @!method initialize(id: nil, name: nil) + # The details for events with this `type`. + # + # @param id [String] The workload identity provider ID. + # + # @param name [String] The workload identity provider name. + end + + # @see OpenAI::Models::Admin::Organization::AuditLogListResponse#workload_identity_provider_updated + class WorkloadIdentityProviderUpdated < OpenAI::Internal::Type::BaseModel + # @!attribute id + # The workload identity provider ID. + # + # @return [String, nil] + optional :id, String + + # @!attribute changes_requested + # The payload used to update the workload identity provider. + # + # @return [Object, nil] + optional :changes_requested, OpenAI::Internal::Type::Unknown + + # @!method initialize(id: nil, changes_requested: nil) + # The details for events with this `type`. + # + # @param id [String] The workload identity provider ID. + # + # @param changes_requested [Object] The payload used to update the workload identity provider. + end end end end diff --git a/lib/openai/models/chat/completion_create_params.rb b/lib/openai/models/chat/completion_create_params.rb index 63a89099..35cd119e 100644 --- a/lib/openai/models/chat/completion_create_params.rb +++ b/lib/openai/models/chat/completion_create_params.rb @@ -195,6 +195,14 @@ class CompletionCreateParams < OpenAI::Internal::Type::BaseModel # prompt caching, which keeps cached prefixes active for longer, up to a maximum # of 24 hours. # [Learn more](https://platform.openai.com/docs/guides/prompt-caching#prompt-cache-retention). + # For `gpt-5.5`, `gpt-5.5-pro`, and future models, only `24h` is supported. + # + # For older models that support both `in_memory` and `24h`, the default depends on + # your organization's data retention policy: + # + # - Organizations without ZDR enabled default to `24h`. + # - Organizations with ZDR enabled default to `in_memory` when + # `prompt_cache_retention` is not specified. # # @return [Symbol, OpenAI::Models::Chat::CompletionCreateParams::PromptCacheRetention, nil] optional :prompt_cache_retention, @@ -575,6 +583,14 @@ module Modality # prompt caching, which keeps cached prefixes active for longer, up to a maximum # of 24 hours. # [Learn more](https://platform.openai.com/docs/guides/prompt-caching#prompt-cache-retention). + # For `gpt-5.5`, `gpt-5.5-pro`, and future models, only `24h` is supported. + # + # For older models that support both `in_memory` and `24h`, the default depends on + # your organization's data retention policy: + # + # - Organizations without ZDR enabled default to `24h`. + # - Organizations with ZDR enabled default to `in_memory` when + # `prompt_cache_retention` is not specified. module PromptCacheRetention extend OpenAI::Internal::Type::Enum diff --git a/lib/openai/models/conversations/conversation_create_params.rb b/lib/openai/models/conversations/conversation_create_params.rb index 98dc3159..9d87534e 100644 --- a/lib/openai/models/conversations/conversation_create_params.rb +++ b/lib/openai/models/conversations/conversation_create_params.rb @@ -12,7 +12,7 @@ class ConversationCreateParams < OpenAI::Internal::Type::BaseModel # Initial items to include in the conversation context. You may add up to 20 items # at a time. # - # @return [Array, nil] + # @return [Array, nil] optional :items, -> { OpenAI::Internal::Type::ArrayOf[union: OpenAI::Responses::ResponseInputItem] }, nil?: true @@ -32,7 +32,7 @@ class ConversationCreateParams < OpenAI::Internal::Type::BaseModel # Some parameter documentations has been truncated, see # {OpenAI::Models::Conversations::ConversationCreateParams} for more details. # - # @param items [Array, nil] Initial items to include in the conversation context. You may add up to 20 items + # @param items [Array, nil] Initial items to include in the conversation context. You may add up to 20 items # # @param metadata [Hash{Symbol=>String}, nil] Set of 16 key-value pairs that can be attached to an object. This can be # diff --git a/lib/openai/models/conversations/conversation_item.rb b/lib/openai/models/conversations/conversation_item.rb index bc84120e..afbebede 100644 --- a/lib/openai/models/conversations/conversation_item.rb +++ b/lib/openai/models/conversations/conversation_item.rb @@ -43,6 +43,8 @@ module ConversationItem variant :tool_search_output, -> { OpenAI::Responses::ResponseToolSearchOutputItem } + variant :additional_tools, -> { OpenAI::Conversations::ConversationItem::AdditionalTools } + # A description of the chain of thought used by a reasoning model while generating # a response. Be sure to include these items in your `input` to the Responses API # for subsequent turns of a conversation if you are manually @@ -147,6 +149,60 @@ module Status end end + class AdditionalTools < OpenAI::Internal::Type::BaseModel + # @!attribute id + # The unique ID of the additional tools item. + # + # @return [String] + required :id, String + + # @!attribute role + # The role that provided the additional tools. + # + # @return [Symbol, OpenAI::Models::Conversations::ConversationItem::AdditionalTools::Role] + required :role, enum: -> { OpenAI::Conversations::ConversationItem::AdditionalTools::Role } + + # @!attribute tools + # The additional tool definitions made available at this item. + # + # @return [Array] + required :tools, -> { OpenAI::Internal::Type::ArrayOf[union: OpenAI::Responses::Tool] } + + # @!attribute type + # The type of the item. Always `additional_tools`. + # + # @return [Symbol, :additional_tools] + required :type, const: :additional_tools + + # @!method initialize(id:, role:, tools:, type: :additional_tools) + # @param id [String] The unique ID of the additional tools item. + # + # @param role [Symbol, OpenAI::Models::Conversations::ConversationItem::AdditionalTools::Role] The role that provided the additional tools. + # + # @param tools [Array] The additional tool definitions made available at this item. + # + # @param type [Symbol, :additional_tools] The type of the item. Always `additional_tools`. + + # The role that provided the additional tools. + # + # @see OpenAI::Models::Conversations::ConversationItem::AdditionalTools#role + module Role + extend OpenAI::Internal::Type::Enum + + UNKNOWN = :unknown + USER = :user + ASSISTANT = :assistant + SYSTEM = :system + CRITIC = :critic + DISCRIMINATOR = :discriminator + DEVELOPER = :developer + TOOL = :tool + + # @!method self.values + # @return [Array] + end + end + class LocalShellCall < OpenAI::Internal::Type::BaseModel # @!attribute id # The unique ID of the local shell call. @@ -611,7 +667,7 @@ module Status end # @!method self.variants - # @return [Array(OpenAI::Models::Conversations::Message, OpenAI::Models::Responses::ResponseFunctionToolCallItem, OpenAI::Models::Responses::ResponseFunctionToolCallOutputItem, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Conversations::ConversationItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseComputerToolCallOutputItem, OpenAI::Models::Responses::ResponseToolSearchCall, OpenAI::Models::Responses::ResponseToolSearchOutputItem, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseCompactionItem, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Conversations::ConversationItem::LocalShellCall, OpenAI::Models::Conversations::ConversationItem::LocalShellCallOutput, OpenAI::Models::Responses::ResponseFunctionShellToolCall, OpenAI::Models::Responses::ResponseFunctionShellToolCallOutput, OpenAI::Models::Responses::ResponseApplyPatchToolCall, OpenAI::Models::Responses::ResponseApplyPatchToolCallOutput, OpenAI::Models::Conversations::ConversationItem::McpListTools, OpenAI::Models::Conversations::ConversationItem::McpApprovalRequest, OpenAI::Models::Conversations::ConversationItem::McpApprovalResponse, OpenAI::Models::Conversations::ConversationItem::McpCall, OpenAI::Models::Responses::ResponseCustomToolCall, OpenAI::Models::Responses::ResponseCustomToolCallOutput)] + # @return [Array(OpenAI::Models::Conversations::Message, OpenAI::Models::Responses::ResponseFunctionToolCallItem, OpenAI::Models::Responses::ResponseFunctionToolCallOutputItem, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Conversations::ConversationItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseComputerToolCallOutputItem, OpenAI::Models::Responses::ResponseToolSearchCall, OpenAI::Models::Responses::ResponseToolSearchOutputItem, OpenAI::Models::Conversations::ConversationItem::AdditionalTools, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseCompactionItem, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Conversations::ConversationItem::LocalShellCall, OpenAI::Models::Conversations::ConversationItem::LocalShellCallOutput, OpenAI::Models::Responses::ResponseFunctionShellToolCall, OpenAI::Models::Responses::ResponseFunctionShellToolCallOutput, OpenAI::Models::Responses::ResponseApplyPatchToolCall, OpenAI::Models::Responses::ResponseApplyPatchToolCallOutput, OpenAI::Models::Conversations::ConversationItem::McpListTools, OpenAI::Models::Conversations::ConversationItem::McpApprovalRequest, OpenAI::Models::Conversations::ConversationItem::McpApprovalResponse, OpenAI::Models::Conversations::ConversationItem::McpCall, OpenAI::Models::Responses::ResponseCustomToolCall, OpenAI::Models::Responses::ResponseCustomToolCallOutput)] end end diff --git a/lib/openai/models/conversations/conversation_item_list.rb b/lib/openai/models/conversations/conversation_item_list.rb index 6df05012..db101796 100644 --- a/lib/openai/models/conversations/conversation_item_list.rb +++ b/lib/openai/models/conversations/conversation_item_list.rb @@ -8,7 +8,7 @@ class ConversationItemList < OpenAI::Internal::Type::BaseModel # @!attribute data # A list of conversation items. # - # @return [Array] + # @return [Array] required :data, -> { OpenAI::Internal::Type::ArrayOf[union: OpenAI::Conversations::ConversationItem] } # @!attribute first_id @@ -38,7 +38,7 @@ class ConversationItemList < OpenAI::Internal::Type::BaseModel # @!method initialize(data:, first_id:, has_more:, last_id:, object: :list) # A list of Conversation items. # - # @param data [Array] A list of conversation items. + # @param data [Array] A list of conversation items. # # @param first_id [String] The ID of the first item in the list. # diff --git a/lib/openai/models/conversations/item_create_params.rb b/lib/openai/models/conversations/item_create_params.rb index b28622cb..c8b80bf5 100644 --- a/lib/openai/models/conversations/item_create_params.rb +++ b/lib/openai/models/conversations/item_create_params.rb @@ -16,7 +16,7 @@ class ItemCreateParams < OpenAI::Internal::Type::BaseModel # @!attribute items # The items to add to the conversation. You may add up to 20 items at a time. # - # @return [Array] + # @return [Array] required :items, -> { OpenAI::Internal::Type::ArrayOf[union: OpenAI::Responses::ResponseInputItem] } # @!attribute include @@ -33,7 +33,7 @@ class ItemCreateParams < OpenAI::Internal::Type::BaseModel # # @param conversation_id [String] # - # @param items [Array] The items to add to the conversation. You may add up to 20 items at a time. + # @param items [Array] The items to add to the conversation. You may add up to 20 items at a time. # # @param include [Array] Additional fields to include in the response. See the `include` # diff --git a/lib/openai/models/responses/compacted_response.rb b/lib/openai/models/responses/compacted_response.rb index 30ac78b5..f41fe701 100644 --- a/lib/openai/models/responses/compacted_response.rb +++ b/lib/openai/models/responses/compacted_response.rb @@ -27,7 +27,7 @@ class CompactedResponse < OpenAI::Internal::Type::BaseModel # The compacted list of output items. This is a list of all user messages, # followed by a single compaction item. # - # @return [Array] + # @return [Array] required :output, -> { OpenAI::Internal::Type::ArrayOf[union: OpenAI::Responses::ResponseOutputItem] } # @!attribute usage @@ -45,7 +45,7 @@ class CompactedResponse < OpenAI::Internal::Type::BaseModel # # @param created_at [Integer] Unix timestamp (in seconds) when the compacted conversation was created. # - # @param output [Array] The compacted list of output items. This is a list of all user messages, followe + # @param output [Array] The compacted list of output items. This is a list of all user messages, followe # # @param usage [OpenAI::Models::Responses::ResponseUsage] Token accounting for the compaction pass, including cached, reasoning, and total # diff --git a/lib/openai/models/responses/input_token_count_params.rb b/lib/openai/models/responses/input_token_count_params.rb index 29e83902..b62ae158 100644 --- a/lib/openai/models/responses/input_token_count_params.rb +++ b/lib/openai/models/responses/input_token_count_params.rb @@ -24,7 +24,7 @@ class InputTokenCountParams < OpenAI::Internal::Type::BaseModel # @!attribute input # Text, image, or file inputs to the model, used to generate a response # - # @return [String, Array, nil] + # @return [String, Array, nil] optional :input, union: -> { OpenAI::Responses::InputTokenCountParams::Input }, nil?: true # @!attribute instructions @@ -52,6 +52,14 @@ class InputTokenCountParams < OpenAI::Internal::Type::BaseModel # @return [Boolean, nil] optional :parallel_tool_calls, OpenAI::Internal::Type::Boolean, nil?: true + # @!attribute personality + # A model-owned style preset to apply to this request. Omit this parameter to use + # the model's default style. Supported values may expand over time. Values must be + # at most 64 characters. + # + # @return [String, Symbol, OpenAI::Models::Responses::InputTokenCountParams::Personality, nil] + optional :personality, union: -> { OpenAI::Responses::InputTokenCountParams::Personality } + # @!attribute previous_response_id # The unique ID of the previous response to the model. Use this to create # multi-turn conversations. Learn more about @@ -101,13 +109,13 @@ class InputTokenCountParams < OpenAI::Internal::Type::BaseModel # @return [Symbol, OpenAI::Models::Responses::InputTokenCountParams::Truncation, nil] optional :truncation, enum: -> { OpenAI::Responses::InputTokenCountParams::Truncation } - # @!method initialize(conversation: nil, input: nil, instructions: nil, model: nil, parallel_tool_calls: nil, previous_response_id: nil, reasoning: nil, text: nil, tool_choice: nil, tools: nil, truncation: nil, request_options: {}) + # @!method initialize(conversation: nil, input: nil, instructions: nil, model: nil, parallel_tool_calls: nil, personality: nil, previous_response_id: nil, reasoning: nil, text: nil, tool_choice: nil, tools: nil, truncation: nil, request_options: {}) # Some parameter documentations has been truncated, see # {OpenAI::Models::Responses::InputTokenCountParams} for more details. # # @param conversation [String, OpenAI::Models::Responses::ResponseConversationParam, nil] The conversation that this response belongs to. Items from this conversation are # - # @param input [String, Array, nil] Text, image, or file inputs to the model, used to generate a response + # @param input [String, Array, nil] Text, image, or file inputs to the model, used to generate a response # # @param instructions [String, nil] A system (or developer) message inserted into the model's context. # @@ -115,6 +123,8 @@ class InputTokenCountParams < OpenAI::Internal::Type::BaseModel # # @param parallel_tool_calls [Boolean, nil] Whether to allow the model to run tool calls in parallel. # + # @param personality [String, Symbol, OpenAI::Models::Responses::InputTokenCountParams::Personality] A model-owned style preset to apply to this request. Omit this parameter to use + # # @param previous_response_id [String, nil] The unique ID of the previous response to the model. Use this to create multi-tu # # @param reasoning [OpenAI::Models::Reasoning, nil] **gpt-5 and o-series models only** Configuration options for [reasoning models]( @@ -157,13 +167,40 @@ module Input variant -> { OpenAI::Models::Responses::InputTokenCountParams::Input::ResponseInputItemArray } # @!method self.variants - # @return [Array(String, Array)] + # @return [Array(String, Array)] # @type [OpenAI::Internal::Type::Converter] ResponseInputItemArray = OpenAI::Internal::Type::ArrayOf[union: -> { OpenAI::Responses::ResponseInputItem }] end + # A model-owned style preset to apply to this request. Omit this parameter to use + # the model's default style. Supported values may expand over time. Values must be + # at most 64 characters. + module Personality + extend OpenAI::Internal::Type::Union + + variant String + + variant const: -> { OpenAI::Models::Responses::InputTokenCountParams::Personality::FRIENDLY } + + variant const: -> { OpenAI::Models::Responses::InputTokenCountParams::Personality::PRAGMATIC } + + # @!method self.variants + # @return [Array(String, Symbol)] + + define_sorbet_constant!(:Variants) do + T.type_alias { T.any(String, OpenAI::Responses::InputTokenCountParams::Personality::TaggedSymbol) } + end + + # @!group + + FRIENDLY = :friendly + PRAGMATIC = :pragmatic + + # @!endgroup + end + class Text < OpenAI::Internal::Type::BaseModel # @!attribute format_ # An object specifying the format that the model must output. diff --git a/lib/openai/models/responses/response.rb b/lib/openai/models/responses/response.rb index aaad16ec..471dd393 100644 --- a/lib/openai/models/responses/response.rb +++ b/lib/openai/models/responses/response.rb @@ -38,7 +38,7 @@ class Response < OpenAI::Internal::Type::BaseModel # response will not be carried over to the next response. This makes it simple to # swap out system (or developer) messages in new responses. # - # @return [String, Array, nil] + # @return [String, Array, nil] required :instructions, union: -> { OpenAI::Responses::Response::Instructions }, nil?: true # @!attribute metadata @@ -77,7 +77,7 @@ class Response < OpenAI::Internal::Type::BaseModel # an `assistant` message with the content generated by the model, you might # consider using the `output_text` property where supported in SDKs. # - # @return [Array] + # @return [Array] required :output, -> { OpenAI::Internal::Type::ArrayOf[union: OpenAI::Responses::ResponseOutputItem] } # @!attribute parallel_tool_calls @@ -204,6 +204,14 @@ class Response < OpenAI::Internal::Type::BaseModel # prompt caching, which keeps cached prefixes active for longer, up to a maximum # of 24 hours. # [Learn more](https://platform.openai.com/docs/guides/prompt-caching#prompt-cache-retention). + # For `gpt-5.5`, `gpt-5.5-pro`, and future models, only `24h` is supported. + # + # For older models that support both `in_memory` and `24h`, the default depends on + # your organization's data retention policy: + # + # - Organizations without ZDR enabled default to `24h`. + # - Organizations with ZDR enabled default to `in_memory` when + # `prompt_cache_retention` is not specified. # # @return [Symbol, OpenAI::Models::Responses::Response::PromptCacheRetention, nil] optional :prompt_cache_retention, @@ -339,13 +347,13 @@ def output_text # # @param incomplete_details [OpenAI::Models::Responses::Response::IncompleteDetails, nil] Details about why the response is incomplete. # - # @param instructions [String, Array, nil] A system (or developer) message inserted into the model's context. + # @param instructions [String, Array, nil] A system (or developer) message inserted into the model's context. # # @param metadata [Hash{Symbol=>String}, nil] Set of 16 key-value pairs that can be attached to an object. This can be # # @param model [String, Symbol, OpenAI::Models::ChatModel, OpenAI::Models::ResponsesModel::ResponsesOnlyModel] Model ID used to generate the response, like `gpt-4o` or `o3`. OpenAI # - # @param output [Array] An array of content items generated by the model. + # @param output [Array] An array of content items generated by the model. # # @param parallel_tool_calls [Boolean] Whether to allow the model to run tool calls in parallel. # @@ -441,7 +449,7 @@ module Instructions variant -> { OpenAI::Models::Responses::Response::Instructions::ResponseInputItemArray } # @!method self.variants - # @return [Array(String, Array)] + # @return [Array(String, Array)] # @type [OpenAI::Internal::Type::Converter] ResponseInputItemArray = @@ -511,6 +519,14 @@ class Conversation < OpenAI::Internal::Type::BaseModel # prompt caching, which keeps cached prefixes active for longer, up to a maximum # of 24 hours. # [Learn more](https://platform.openai.com/docs/guides/prompt-caching#prompt-cache-retention). + # For `gpt-5.5`, `gpt-5.5-pro`, and future models, only `24h` is supported. + # + # For older models that support both `in_memory` and `24h`, the default depends on + # your organization's data retention policy: + # + # - Organizations without ZDR enabled default to `24h`. + # - Organizations with ZDR enabled default to `in_memory` when + # `prompt_cache_retention` is not specified. # # @see OpenAI::Models::Responses::Response#prompt_cache_retention module PromptCacheRetention diff --git a/lib/openai/models/responses/response_compact_params.rb b/lib/openai/models/responses/response_compact_params.rb index f00ceb9a..2f6b4c0e 100644 --- a/lib/openai/models/responses/response_compact_params.rb +++ b/lib/openai/models/responses/response_compact_params.rb @@ -21,7 +21,7 @@ class ResponseCompactParams < OpenAI::Internal::Type::BaseModel # @!attribute input # Text, image, or file inputs to the model, used to generate a response # - # @return [String, Array, nil] + # @return [String, Array, nil] optional :input, union: -> { OpenAI::Responses::ResponseCompactParams::Input }, nil?: true # @!attribute instructions @@ -68,7 +68,7 @@ class ResponseCompactParams < OpenAI::Internal::Type::BaseModel # # @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 # - # @param input [String, Array, nil] Text, image, or file inputs to the model, used to generate a response + # @param input [String, Array, nil] Text, image, or file inputs to the model, used to generate a response # # @param instructions [String, nil] A system (or developer) message inserted into the model's context. # @@ -392,7 +392,7 @@ module Input variant -> { OpenAI::Models::Responses::ResponseCompactParams::Input::ResponseInputItemArray } # @!method self.variants - # @return [Array(String, Array)] + # @return [Array(String, Array)] # @type [OpenAI::Internal::Type::Converter] ResponseInputItemArray = diff --git a/lib/openai/models/responses/response_create_params.rb b/lib/openai/models/responses/response_create_params.rb index f3601eb9..45706dad 100644 --- a/lib/openai/models/responses/response_create_params.rb +++ b/lib/openai/models/responses/response_create_params.rb @@ -76,7 +76,7 @@ class ResponseCreateParams < OpenAI::Internal::Type::BaseModel # - [Conversation state](https://platform.openai.com/docs/guides/conversation-state) # - [Function calling](https://platform.openai.com/docs/guides/function-calling) # - # @return [String, Array, nil] + # @return [String, Array, nil] optional :input, union: -> { OpenAI::Responses::ResponseCreateParams::Input } # @!attribute instructions @@ -162,6 +162,14 @@ class ResponseCreateParams < OpenAI::Internal::Type::BaseModel # prompt caching, which keeps cached prefixes active for longer, up to a maximum # of 24 hours. # [Learn more](https://platform.openai.com/docs/guides/prompt-caching#prompt-cache-retention). + # For `gpt-5.5`, `gpt-5.5-pro`, and future models, only `24h` is supported. + # + # For older models that support both `in_memory` and `24h`, the default depends on + # your organization's data retention policy: + # + # - Organizations without ZDR enabled default to `24h`. + # - Organizations with ZDR enabled default to `in_memory` when + # `prompt_cache_retention` is not specified. # # @return [Symbol, OpenAI::Models::Responses::ResponseCreateParams::PromptCacheRetention, nil] optional :prompt_cache_retention, @@ -332,7 +340,7 @@ class ResponseCreateParams < OpenAI::Internal::Type::BaseModel # # @param include [Array, nil] Specify additional output data to include in the model response. Currently suppo # - # @param input [String, Array] Text, image, or file inputs to the model, used to generate a response. + # @param input [String, Array] Text, image, or file inputs to the model, used to generate a response. # # @param instructions [String, nil] A system (or developer) message inserted into the model's context. # @@ -439,13 +447,21 @@ module Input variant -> { OpenAI::Responses::ResponseInput } # @!method self.variants - # @return [Array(String, Array)] + # @return [Array(String, Array)] end # The retention policy for the prompt cache. Set to `24h` to enable extended # prompt caching, which keeps cached prefixes active for longer, up to a maximum # of 24 hours. # [Learn more](https://platform.openai.com/docs/guides/prompt-caching#prompt-cache-retention). + # For `gpt-5.5`, `gpt-5.5-pro`, and future models, only `24h` is supported. + # + # For older models that support both `in_memory` and `24h`, the default depends on + # your organization's data retention policy: + # + # - Organizations without ZDR enabled default to `24h`. + # - Organizations with ZDR enabled default to `in_memory` when + # `prompt_cache_retention` is not specified. module PromptCacheRetention extend OpenAI::Internal::Type::Enum diff --git a/lib/openai/models/responses/response_function_web_search.rb b/lib/openai/models/responses/response_function_web_search.rb index 3c44d6c5..800448cc 100644 --- a/lib/openai/models/responses/response_function_web_search.rb +++ b/lib/openai/models/responses/response_function_web_search.rb @@ -64,12 +64,6 @@ module Action variant :find_in_page, -> { OpenAI::Responses::ResponseFunctionWebSearch::Action::Find } class Search < OpenAI::Internal::Type::BaseModel - # @!attribute query - # [DEPRECATED] The search query. - # - # @return [String] - required :query, String - # @!attribute type # The action type. # @@ -82,6 +76,14 @@ class Search < OpenAI::Internal::Type::BaseModel # @return [Array, nil] optional :queries, OpenAI::Internal::Type::ArrayOf[String] + # @!attribute query + # @deprecated + # + # The search query. + # + # @return [String, nil] + optional :query, String + # @!attribute sources # The sources used in the search. # @@ -89,17 +91,17 @@ class Search < OpenAI::Internal::Type::BaseModel optional :sources, -> { OpenAI::Internal::Type::ArrayOf[OpenAI::Responses::ResponseFunctionWebSearch::Action::Search::Source] } - # @!method initialize(query:, queries: nil, sources: nil, type: :search) + # @!method initialize(queries: nil, query: nil, sources: nil, type: :search) # Some parameter documentations has been truncated, see # {OpenAI::Models::Responses::ResponseFunctionWebSearch::Action::Search} for more # details. # # Action type "search" - Performs a web search query. # - # @param query [String] [DEPRECATED] The search query. - # # @param queries [Array] The search queries. # + # @param query [String] The search query. + # # @param sources [Array] The sources used in the search. # # @param type [Symbol, :search] The action type. diff --git a/lib/openai/models/responses/response_input_item.rb b/lib/openai/models/responses/response_input_item.rb index 87c81940..1e265616 100644 --- a/lib/openai/models/responses/response_input_item.rb +++ b/lib/openai/models/responses/response_input_item.rb @@ -54,6 +54,8 @@ module ResponseInputItem variant :tool_search_output, -> { OpenAI::Responses::ResponseToolSearchOutputItemParam } + variant :additional_tools, -> { OpenAI::Responses::ResponseInputItem::AdditionalTools } + # A description of the chain of thought used by a reasoning model while generating # a response. Be sure to include these items in your `input` to the Responses API # for subsequent turns of a conversation if you are manually @@ -471,6 +473,41 @@ module Status end end + class AdditionalTools < OpenAI::Internal::Type::BaseModel + # @!attribute role + # The role that provided the additional tools. Only `developer` is supported. + # + # @return [Symbol, :developer] + required :role, const: :developer + + # @!attribute tools + # A list of additional tools made available at this item. + # + # @return [Array] + required :tools, -> { OpenAI::Internal::Type::ArrayOf[union: OpenAI::Responses::Tool] } + + # @!attribute type + # The item type. Always `additional_tools`. + # + # @return [Symbol, :additional_tools] + required :type, const: :additional_tools + + # @!attribute id + # The unique ID of this additional tools item. + # + # @return [String, nil] + optional :id, String, nil?: true + + # @!method initialize(tools:, id: nil, role: :developer, type: :additional_tools) + # @param tools [Array] A list of additional tools made available at this item. + # + # @param id [String, nil] The unique ID of this additional tools item. + # + # @param role [Symbol, :developer] The role that provided the additional tools. Only `developer` is supported. + # + # @param type [Symbol, :additional_tools] The item type. Always `additional_tools`. + end + class ImageGenerationCall < OpenAI::Internal::Type::BaseModel # @!attribute id # The unique ID of the image generation call. @@ -1469,7 +1506,7 @@ module Type end # @!method self.variants - # @return [Array(OpenAI::Models::Responses::EasyInputMessage, OpenAI::Models::Responses::ResponseInputItem::Message, OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseInputItem::ComputerCallOutput, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Responses::ResponseFunctionToolCall, OpenAI::Models::Responses::ResponseInputItem::FunctionCallOutput, OpenAI::Models::Responses::ResponseInputItem::ToolSearchCall, OpenAI::Models::Responses::ResponseToolSearchOutputItemParam, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseCompactionItemParam, OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Responses::ResponseInputItem::LocalShellCall, OpenAI::Models::Responses::ResponseInputItem::LocalShellCallOutput, OpenAI::Models::Responses::ResponseInputItem::ShellCall, OpenAI::Models::Responses::ResponseInputItem::ShellCallOutput, OpenAI::Models::Responses::ResponseInputItem::ApplyPatchCall, OpenAI::Models::Responses::ResponseInputItem::ApplyPatchCallOutput, OpenAI::Models::Responses::ResponseInputItem::McpListTools, OpenAI::Models::Responses::ResponseInputItem::McpApprovalRequest, OpenAI::Models::Responses::ResponseInputItem::McpApprovalResponse, OpenAI::Models::Responses::ResponseInputItem::McpCall, OpenAI::Models::Responses::ResponseCustomToolCallOutput, OpenAI::Models::Responses::ResponseCustomToolCall, OpenAI::Models::Responses::ResponseInputItem::CompactionTrigger, OpenAI::Models::Responses::ResponseInputItem::ItemReference)] + # @return [Array(OpenAI::Models::Responses::EasyInputMessage, OpenAI::Models::Responses::ResponseInputItem::Message, OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseInputItem::ComputerCallOutput, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Responses::ResponseFunctionToolCall, OpenAI::Models::Responses::ResponseInputItem::FunctionCallOutput, OpenAI::Models::Responses::ResponseInputItem::ToolSearchCall, OpenAI::Models::Responses::ResponseToolSearchOutputItemParam, OpenAI::Models::Responses::ResponseInputItem::AdditionalTools, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseCompactionItemParam, OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Responses::ResponseInputItem::LocalShellCall, OpenAI::Models::Responses::ResponseInputItem::LocalShellCallOutput, OpenAI::Models::Responses::ResponseInputItem::ShellCall, OpenAI::Models::Responses::ResponseInputItem::ShellCallOutput, OpenAI::Models::Responses::ResponseInputItem::ApplyPatchCall, OpenAI::Models::Responses::ResponseInputItem::ApplyPatchCallOutput, OpenAI::Models::Responses::ResponseInputItem::McpListTools, OpenAI::Models::Responses::ResponseInputItem::McpApprovalRequest, OpenAI::Models::Responses::ResponseInputItem::McpApprovalResponse, OpenAI::Models::Responses::ResponseInputItem::McpCall, OpenAI::Models::Responses::ResponseCustomToolCallOutput, OpenAI::Models::Responses::ResponseCustomToolCall, OpenAI::Models::Responses::ResponseInputItem::CompactionTrigger, OpenAI::Models::Responses::ResponseInputItem::ItemReference)] end end end diff --git a/lib/openai/models/responses/response_item.rb b/lib/openai/models/responses/response_item.rb index 4d111cb4..c4af55fb 100644 --- a/lib/openai/models/responses/response_item.rb +++ b/lib/openai/models/responses/response_item.rb @@ -38,6 +38,8 @@ module ResponseItem variant :tool_search_output, -> { OpenAI::Responses::ResponseToolSearchOutputItem } + variant :additional_tools, -> { OpenAI::Responses::ResponseItem::AdditionalTools } + # A description of the chain of thought used by a reasoning model while generating # a response. Be sure to include these items in your `input` to the Responses API # for subsequent turns of a conversation if you are manually @@ -89,6 +91,60 @@ module ResponseItem # The output of a custom tool call from your code, being sent back to the model. variant :custom_tool_call_output, -> { OpenAI::Responses::ResponseCustomToolCallOutputItem } + class AdditionalTools < OpenAI::Internal::Type::BaseModel + # @!attribute id + # The unique ID of the additional tools item. + # + # @return [String] + required :id, String + + # @!attribute role + # The role that provided the additional tools. + # + # @return [Symbol, OpenAI::Models::Responses::ResponseItem::AdditionalTools::Role] + required :role, enum: -> { OpenAI::Responses::ResponseItem::AdditionalTools::Role } + + # @!attribute tools + # The additional tool definitions made available at this item. + # + # @return [Array] + required :tools, -> { OpenAI::Internal::Type::ArrayOf[union: OpenAI::Responses::Tool] } + + # @!attribute type + # The type of the item. Always `additional_tools`. + # + # @return [Symbol, :additional_tools] + required :type, const: :additional_tools + + # @!method initialize(id:, role:, tools:, type: :additional_tools) + # @param id [String] The unique ID of the additional tools item. + # + # @param role [Symbol, OpenAI::Models::Responses::ResponseItem::AdditionalTools::Role] The role that provided the additional tools. + # + # @param tools [Array] The additional tool definitions made available at this item. + # + # @param type [Symbol, :additional_tools] The type of the item. Always `additional_tools`. + + # The role that provided the additional tools. + # + # @see OpenAI::Models::Responses::ResponseItem::AdditionalTools#role + module Role + extend OpenAI::Internal::Type::Enum + + UNKNOWN = :unknown + USER = :user + ASSISTANT = :assistant + SYSTEM = :system + CRITIC = :critic + DISCRIMINATOR = :discriminator + DEVELOPER = :developer + TOOL = :tool + + # @!method self.values + # @return [Array] + end + end + class ImageGenerationCall < OpenAI::Internal::Type::BaseModel # @!attribute id # The unique ID of the image generation call. @@ -605,7 +661,7 @@ module Status end # @!method self.variants - # @return [Array(OpenAI::Models::Responses::ResponseInputMessageItem, OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseComputerToolCallOutputItem, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Responses::ResponseFunctionToolCallItem, OpenAI::Models::Responses::ResponseFunctionToolCallOutputItem, OpenAI::Models::Responses::ResponseToolSearchCall, OpenAI::Models::Responses::ResponseToolSearchOutputItem, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseCompactionItem, OpenAI::Models::Responses::ResponseItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Responses::ResponseItem::LocalShellCall, OpenAI::Models::Responses::ResponseItem::LocalShellCallOutput, OpenAI::Models::Responses::ResponseFunctionShellToolCall, OpenAI::Models::Responses::ResponseFunctionShellToolCallOutput, OpenAI::Models::Responses::ResponseApplyPatchToolCall, OpenAI::Models::Responses::ResponseApplyPatchToolCallOutput, OpenAI::Models::Responses::ResponseItem::McpListTools, OpenAI::Models::Responses::ResponseItem::McpApprovalRequest, OpenAI::Models::Responses::ResponseItem::McpApprovalResponse, OpenAI::Models::Responses::ResponseItem::McpCall, OpenAI::Models::Responses::ResponseCustomToolCallItem, OpenAI::Models::Responses::ResponseCustomToolCallOutputItem)] + # @return [Array(OpenAI::Models::Responses::ResponseInputMessageItem, OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseComputerToolCallOutputItem, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Responses::ResponseFunctionToolCallItem, OpenAI::Models::Responses::ResponseFunctionToolCallOutputItem, OpenAI::Models::Responses::ResponseToolSearchCall, OpenAI::Models::Responses::ResponseToolSearchOutputItem, OpenAI::Models::Responses::ResponseItem::AdditionalTools, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseCompactionItem, OpenAI::Models::Responses::ResponseItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Responses::ResponseItem::LocalShellCall, OpenAI::Models::Responses::ResponseItem::LocalShellCallOutput, OpenAI::Models::Responses::ResponseFunctionShellToolCall, OpenAI::Models::Responses::ResponseFunctionShellToolCallOutput, OpenAI::Models::Responses::ResponseApplyPatchToolCall, OpenAI::Models::Responses::ResponseApplyPatchToolCallOutput, OpenAI::Models::Responses::ResponseItem::McpListTools, OpenAI::Models::Responses::ResponseItem::McpApprovalRequest, OpenAI::Models::Responses::ResponseItem::McpApprovalResponse, OpenAI::Models::Responses::ResponseItem::McpCall, OpenAI::Models::Responses::ResponseCustomToolCallItem, OpenAI::Models::Responses::ResponseCustomToolCallOutputItem)] end end end diff --git a/lib/openai/models/responses/response_item_list.rb b/lib/openai/models/responses/response_item_list.rb index dd960bad..0f112938 100644 --- a/lib/openai/models/responses/response_item_list.rb +++ b/lib/openai/models/responses/response_item_list.rb @@ -7,7 +7,7 @@ class ResponseItemList < OpenAI::Internal::Type::BaseModel # @!attribute data # A list of items used to generate this response. # - # @return [Array] + # @return [Array] required :data, -> { OpenAI::Internal::Type::ArrayOf[union: OpenAI::Responses::ResponseItem] } # @!attribute first_id @@ -37,7 +37,7 @@ class ResponseItemList < OpenAI::Internal::Type::BaseModel # @!method initialize(data:, first_id:, has_more:, last_id:, object: :list) # A list of Response items. # - # @param data [Array] A list of items used to generate this response. + # @param data [Array] A list of items used to generate this response. # # @param first_id [String] The ID of the first item in the list. # diff --git a/lib/openai/models/responses/response_output_item.rb b/lib/openai/models/responses/response_output_item.rb index 2e097854..8af26d24 100644 --- a/lib/openai/models/responses/response_output_item.rb +++ b/lib/openai/models/responses/response_output_item.rb @@ -42,6 +42,8 @@ module ResponseOutputItem variant :tool_search_output, -> { OpenAI::Responses::ResponseToolSearchOutputItem } + variant :additional_tools, -> { OpenAI::Responses::ResponseOutputItem::AdditionalTools } + # A compaction item generated by the [`v1/responses/compact` API](https://platform.openai.com/docs/api-reference/responses/compact). variant :compaction, -> { OpenAI::Responses::ResponseCompactionItem } @@ -87,6 +89,60 @@ module ResponseOutputItem # The output of a custom tool call from your code, being sent back to the model. variant :custom_tool_call_output, -> { OpenAI::Responses::ResponseCustomToolCallOutputItem } + class AdditionalTools < OpenAI::Internal::Type::BaseModel + # @!attribute id + # The unique ID of the additional tools item. + # + # @return [String] + required :id, String + + # @!attribute role + # The role that provided the additional tools. + # + # @return [Symbol, OpenAI::Models::Responses::ResponseOutputItem::AdditionalTools::Role] + required :role, enum: -> { OpenAI::Responses::ResponseOutputItem::AdditionalTools::Role } + + # @!attribute tools + # The additional tool definitions made available at this item. + # + # @return [Array] + required :tools, -> { OpenAI::Internal::Type::ArrayOf[union: OpenAI::Responses::Tool] } + + # @!attribute type + # The type of the item. Always `additional_tools`. + # + # @return [Symbol, :additional_tools] + required :type, const: :additional_tools + + # @!method initialize(id:, role:, tools:, type: :additional_tools) + # @param id [String] The unique ID of the additional tools item. + # + # @param role [Symbol, OpenAI::Models::Responses::ResponseOutputItem::AdditionalTools::Role] The role that provided the additional tools. + # + # @param tools [Array] The additional tool definitions made available at this item. + # + # @param type [Symbol, :additional_tools] The type of the item. Always `additional_tools`. + + # The role that provided the additional tools. + # + # @see OpenAI::Models::Responses::ResponseOutputItem::AdditionalTools#role + module Role + extend OpenAI::Internal::Type::Enum + + UNKNOWN = :unknown + USER = :user + ASSISTANT = :assistant + SYSTEM = :system + CRITIC = :critic + DISCRIMINATOR = :discriminator + DEVELOPER = :developer + TOOL = :tool + + # @!method self.values + # @return [Array] + end + end + class ImageGenerationCall < OpenAI::Internal::Type::BaseModel # @!attribute id # The unique ID of the image generation call. @@ -606,7 +662,7 @@ class McpApprovalResponse < OpenAI::Internal::Type::BaseModel end # @!method self.variants - # @return [Array(OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseFunctionToolCall, OpenAI::Models::Responses::ResponseFunctionToolCallOutputItem, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseComputerToolCallOutputItem, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseToolSearchCall, OpenAI::Models::Responses::ResponseToolSearchOutputItem, OpenAI::Models::Responses::ResponseCompactionItem, OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Responses::ResponseOutputItem::LocalShellCall, OpenAI::Models::Responses::ResponseOutputItem::LocalShellCallOutput, OpenAI::Models::Responses::ResponseFunctionShellToolCall, OpenAI::Models::Responses::ResponseFunctionShellToolCallOutput, OpenAI::Models::Responses::ResponseApplyPatchToolCall, OpenAI::Models::Responses::ResponseApplyPatchToolCallOutput, OpenAI::Models::Responses::ResponseOutputItem::McpCall, OpenAI::Models::Responses::ResponseOutputItem::McpListTools, OpenAI::Models::Responses::ResponseOutputItem::McpApprovalRequest, OpenAI::Models::Responses::ResponseOutputItem::McpApprovalResponse, OpenAI::Models::Responses::ResponseCustomToolCall, OpenAI::Models::Responses::ResponseCustomToolCallOutputItem)] + # @return [Array(OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseFunctionToolCall, OpenAI::Models::Responses::ResponseFunctionToolCallOutputItem, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseComputerToolCallOutputItem, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseToolSearchCall, OpenAI::Models::Responses::ResponseToolSearchOutputItem, OpenAI::Models::Responses::ResponseOutputItem::AdditionalTools, OpenAI::Models::Responses::ResponseCompactionItem, OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Responses::ResponseOutputItem::LocalShellCall, OpenAI::Models::Responses::ResponseOutputItem::LocalShellCallOutput, OpenAI::Models::Responses::ResponseFunctionShellToolCall, OpenAI::Models::Responses::ResponseFunctionShellToolCallOutput, OpenAI::Models::Responses::ResponseApplyPatchToolCall, OpenAI::Models::Responses::ResponseApplyPatchToolCallOutput, OpenAI::Models::Responses::ResponseOutputItem::McpCall, OpenAI::Models::Responses::ResponseOutputItem::McpListTools, OpenAI::Models::Responses::ResponseOutputItem::McpApprovalRequest, OpenAI::Models::Responses::ResponseOutputItem::McpApprovalResponse, OpenAI::Models::Responses::ResponseCustomToolCall, OpenAI::Models::Responses::ResponseCustomToolCallOutputItem)] end end end diff --git a/lib/openai/models/responses/response_output_item_added_event.rb b/lib/openai/models/responses/response_output_item_added_event.rb index 1b2af5dc..ee4bc8bb 100644 --- a/lib/openai/models/responses/response_output_item_added_event.rb +++ b/lib/openai/models/responses/response_output_item_added_event.rb @@ -7,7 +7,7 @@ class ResponseOutputItemAddedEvent < OpenAI::Internal::Type::BaseModel # @!attribute item # The output item that was added. # - # @return [OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseFunctionToolCall, OpenAI::Models::Responses::ResponseFunctionToolCallOutputItem, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseComputerToolCallOutputItem, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseToolSearchCall, OpenAI::Models::Responses::ResponseToolSearchOutputItem, OpenAI::Models::Responses::ResponseCompactionItem, OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Responses::ResponseOutputItem::LocalShellCall, OpenAI::Models::Responses::ResponseOutputItem::LocalShellCallOutput, OpenAI::Models::Responses::ResponseFunctionShellToolCall, OpenAI::Models::Responses::ResponseFunctionShellToolCallOutput, OpenAI::Models::Responses::ResponseApplyPatchToolCall, OpenAI::Models::Responses::ResponseApplyPatchToolCallOutput, OpenAI::Models::Responses::ResponseOutputItem::McpCall, OpenAI::Models::Responses::ResponseOutputItem::McpListTools, OpenAI::Models::Responses::ResponseOutputItem::McpApprovalRequest, OpenAI::Models::Responses::ResponseOutputItem::McpApprovalResponse, OpenAI::Models::Responses::ResponseCustomToolCall, OpenAI::Models::Responses::ResponseCustomToolCallOutputItem] + # @return [OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseFunctionToolCall, OpenAI::Models::Responses::ResponseFunctionToolCallOutputItem, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseComputerToolCallOutputItem, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseToolSearchCall, OpenAI::Models::Responses::ResponseToolSearchOutputItem, OpenAI::Models::Responses::ResponseOutputItem::AdditionalTools, OpenAI::Models::Responses::ResponseCompactionItem, OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Responses::ResponseOutputItem::LocalShellCall, OpenAI::Models::Responses::ResponseOutputItem::LocalShellCallOutput, OpenAI::Models::Responses::ResponseFunctionShellToolCall, OpenAI::Models::Responses::ResponseFunctionShellToolCallOutput, OpenAI::Models::Responses::ResponseApplyPatchToolCall, OpenAI::Models::Responses::ResponseApplyPatchToolCallOutput, OpenAI::Models::Responses::ResponseOutputItem::McpCall, OpenAI::Models::Responses::ResponseOutputItem::McpListTools, OpenAI::Models::Responses::ResponseOutputItem::McpApprovalRequest, OpenAI::Models::Responses::ResponseOutputItem::McpApprovalResponse, OpenAI::Models::Responses::ResponseCustomToolCall, OpenAI::Models::Responses::ResponseCustomToolCallOutputItem] required :item, union: -> { OpenAI::Responses::ResponseOutputItem } # @!attribute output_index @@ -34,7 +34,7 @@ class ResponseOutputItemAddedEvent < OpenAI::Internal::Type::BaseModel # # Emitted when a new output item is added. # - # @param item [OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseFunctionToolCall, OpenAI::Models::Responses::ResponseFunctionToolCallOutputItem, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseComputerToolCallOutputItem, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseToolSearchCall, OpenAI::Models::Responses::ResponseToolSearchOutputItem, OpenAI::Models::Responses::ResponseCompactionItem, OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Responses::ResponseOutputItem::LocalShellCall, OpenAI::Models::Responses::ResponseOutputItem::LocalShellCallOutput, OpenAI::Models::Responses::ResponseFunctionShellToolCall, OpenAI::Models::Responses::ResponseFunctionShellToolCallOutput, OpenAI::Models::Responses::ResponseApplyPatchToolCall, OpenAI::Models::Responses::ResponseApplyPatchToolCallOutput, OpenAI::Models::Responses::ResponseOutputItem::McpCall, OpenAI::Models::Responses::ResponseOutputItem::McpListTools, OpenAI::Models::Responses::ResponseOutputItem::McpApprovalRequest, OpenAI::Models::Responses::ResponseOutputItem::McpApprovalResponse, OpenAI::Models::Responses::ResponseCustomToolCall, OpenAI::Models::Responses::ResponseCustomToolCallOutputItem] The output item that was added. + # @param item [OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseFunctionToolCall, OpenAI::Models::Responses::ResponseFunctionToolCallOutputItem, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseComputerToolCallOutputItem, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseToolSearchCall, OpenAI::Models::Responses::ResponseToolSearchOutputItem, OpenAI::Models::Responses::ResponseOutputItem::AdditionalTools, OpenAI::Models::Responses::ResponseCompactionItem, OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Responses::ResponseOutputItem::LocalShellCall, OpenAI::Models::Responses::ResponseOutputItem::LocalShellCallOutput, OpenAI::Models::Responses::ResponseFunctionShellToolCall, OpenAI::Models::Responses::ResponseFunctionShellToolCallOutput, OpenAI::Models::Responses::ResponseApplyPatchToolCall, OpenAI::Models::Responses::ResponseApplyPatchToolCallOutput, OpenAI::Models::Responses::ResponseOutputItem::McpCall, OpenAI::Models::Responses::ResponseOutputItem::McpListTools, OpenAI::Models::Responses::ResponseOutputItem::McpApprovalRequest, OpenAI::Models::Responses::ResponseOutputItem::McpApprovalResponse, OpenAI::Models::Responses::ResponseCustomToolCall, OpenAI::Models::Responses::ResponseCustomToolCallOutputItem] The output item that was added. # # @param output_index [Integer] The index of the output item that was added. # diff --git a/lib/openai/models/responses/response_output_item_done_event.rb b/lib/openai/models/responses/response_output_item_done_event.rb index 01d86ee1..581bbcfc 100644 --- a/lib/openai/models/responses/response_output_item_done_event.rb +++ b/lib/openai/models/responses/response_output_item_done_event.rb @@ -7,7 +7,7 @@ class ResponseOutputItemDoneEvent < OpenAI::Internal::Type::BaseModel # @!attribute item # The output item that was marked done. # - # @return [OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseFunctionToolCall, OpenAI::Models::Responses::ResponseFunctionToolCallOutputItem, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseComputerToolCallOutputItem, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseToolSearchCall, OpenAI::Models::Responses::ResponseToolSearchOutputItem, OpenAI::Models::Responses::ResponseCompactionItem, OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Responses::ResponseOutputItem::LocalShellCall, OpenAI::Models::Responses::ResponseOutputItem::LocalShellCallOutput, OpenAI::Models::Responses::ResponseFunctionShellToolCall, OpenAI::Models::Responses::ResponseFunctionShellToolCallOutput, OpenAI::Models::Responses::ResponseApplyPatchToolCall, OpenAI::Models::Responses::ResponseApplyPatchToolCallOutput, OpenAI::Models::Responses::ResponseOutputItem::McpCall, OpenAI::Models::Responses::ResponseOutputItem::McpListTools, OpenAI::Models::Responses::ResponseOutputItem::McpApprovalRequest, OpenAI::Models::Responses::ResponseOutputItem::McpApprovalResponse, OpenAI::Models::Responses::ResponseCustomToolCall, OpenAI::Models::Responses::ResponseCustomToolCallOutputItem] + # @return [OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseFunctionToolCall, OpenAI::Models::Responses::ResponseFunctionToolCallOutputItem, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseComputerToolCallOutputItem, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseToolSearchCall, OpenAI::Models::Responses::ResponseToolSearchOutputItem, OpenAI::Models::Responses::ResponseOutputItem::AdditionalTools, OpenAI::Models::Responses::ResponseCompactionItem, OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Responses::ResponseOutputItem::LocalShellCall, OpenAI::Models::Responses::ResponseOutputItem::LocalShellCallOutput, OpenAI::Models::Responses::ResponseFunctionShellToolCall, OpenAI::Models::Responses::ResponseFunctionShellToolCallOutput, OpenAI::Models::Responses::ResponseApplyPatchToolCall, OpenAI::Models::Responses::ResponseApplyPatchToolCallOutput, OpenAI::Models::Responses::ResponseOutputItem::McpCall, OpenAI::Models::Responses::ResponseOutputItem::McpListTools, OpenAI::Models::Responses::ResponseOutputItem::McpApprovalRequest, OpenAI::Models::Responses::ResponseOutputItem::McpApprovalResponse, OpenAI::Models::Responses::ResponseCustomToolCall, OpenAI::Models::Responses::ResponseCustomToolCallOutputItem] required :item, union: -> { OpenAI::Responses::ResponseOutputItem } # @!attribute output_index @@ -34,7 +34,7 @@ class ResponseOutputItemDoneEvent < OpenAI::Internal::Type::BaseModel # # Emitted when an output item is marked done. # - # @param item [OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseFunctionToolCall, OpenAI::Models::Responses::ResponseFunctionToolCallOutputItem, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseComputerToolCallOutputItem, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseToolSearchCall, OpenAI::Models::Responses::ResponseToolSearchOutputItem, OpenAI::Models::Responses::ResponseCompactionItem, OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Responses::ResponseOutputItem::LocalShellCall, OpenAI::Models::Responses::ResponseOutputItem::LocalShellCallOutput, OpenAI::Models::Responses::ResponseFunctionShellToolCall, OpenAI::Models::Responses::ResponseFunctionShellToolCallOutput, OpenAI::Models::Responses::ResponseApplyPatchToolCall, OpenAI::Models::Responses::ResponseApplyPatchToolCallOutput, OpenAI::Models::Responses::ResponseOutputItem::McpCall, OpenAI::Models::Responses::ResponseOutputItem::McpListTools, OpenAI::Models::Responses::ResponseOutputItem::McpApprovalRequest, OpenAI::Models::Responses::ResponseOutputItem::McpApprovalResponse, OpenAI::Models::Responses::ResponseCustomToolCall, OpenAI::Models::Responses::ResponseCustomToolCallOutputItem] The output item that was marked done. + # @param item [OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseFunctionToolCall, OpenAI::Models::Responses::ResponseFunctionToolCallOutputItem, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseComputerToolCallOutputItem, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseToolSearchCall, OpenAI::Models::Responses::ResponseToolSearchOutputItem, OpenAI::Models::Responses::ResponseOutputItem::AdditionalTools, OpenAI::Models::Responses::ResponseCompactionItem, OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Responses::ResponseOutputItem::LocalShellCall, OpenAI::Models::Responses::ResponseOutputItem::LocalShellCallOutput, OpenAI::Models::Responses::ResponseFunctionShellToolCall, OpenAI::Models::Responses::ResponseFunctionShellToolCallOutput, OpenAI::Models::Responses::ResponseApplyPatchToolCall, OpenAI::Models::Responses::ResponseApplyPatchToolCallOutput, OpenAI::Models::Responses::ResponseOutputItem::McpCall, OpenAI::Models::Responses::ResponseOutputItem::McpListTools, OpenAI::Models::Responses::ResponseOutputItem::McpApprovalRequest, OpenAI::Models::Responses::ResponseOutputItem::McpApprovalResponse, OpenAI::Models::Responses::ResponseCustomToolCall, OpenAI::Models::Responses::ResponseCustomToolCallOutputItem] The output item that was marked done. # # @param output_index [Integer] The index of the output item that was marked done. # diff --git a/lib/openai/models/responses/responses_client_event.rb b/lib/openai/models/responses/responses_client_event.rb index 50fdb9e5..ac9b95ad 100644 --- a/lib/openai/models/responses/responses_client_event.rb +++ b/lib/openai/models/responses/responses_client_event.rb @@ -76,7 +76,7 @@ class ResponsesClientEvent < OpenAI::Internal::Type::BaseModel # - [Conversation state](https://platform.openai.com/docs/guides/conversation-state) # - [Function calling](https://platform.openai.com/docs/guides/function-calling) # - # @return [String, Array, nil] + # @return [String, Array, nil] optional :input, union: -> { OpenAI::Responses::ResponsesClientEvent::Input } # @!attribute instructions @@ -162,6 +162,14 @@ class ResponsesClientEvent < OpenAI::Internal::Type::BaseModel # prompt caching, which keeps cached prefixes active for longer, up to a maximum # of 24 hours. # [Learn more](https://platform.openai.com/docs/guides/prompt-caching#prompt-cache-retention). + # For `gpt-5.5`, `gpt-5.5-pro`, and future models, only `24h` is supported. + # + # For older models that support both `in_memory` and `24h`, the default depends on + # your organization's data retention policy: + # + # - Organizations without ZDR enabled default to `24h`. + # - Organizations with ZDR enabled default to `in_memory` when + # `prompt_cache_retention` is not specified. # # @return [Symbol, OpenAI::Models::Responses::ResponsesClientEvent::PromptCacheRetention, nil] optional :prompt_cache_retention, @@ -337,7 +345,7 @@ class ResponsesClientEvent < OpenAI::Internal::Type::BaseModel # # @param include [Array, nil] Specify additional output data to include in the model response. Currently suppo # - # @param input [String, Array] Text, image, or file inputs to the model, used to generate a response. + # @param input [String, Array] Text, image, or file inputs to the model, used to generate a response. # # @param instructions [String, nil] A system (or developer) message inserted into the model's context. # @@ -450,13 +458,21 @@ module Input variant -> { OpenAI::Responses::ResponseInput } # @!method self.variants - # @return [Array(String, Array)] + # @return [Array(String, Array)] end # The retention policy for the prompt cache. Set to `24h` to enable extended # prompt caching, which keeps cached prefixes active for longer, up to a maximum # of 24 hours. # [Learn more](https://platform.openai.com/docs/guides/prompt-caching#prompt-cache-retention). + # For `gpt-5.5`, `gpt-5.5-pro`, and future models, only `24h` is supported. + # + # For older models that support both `in_memory` and `24h`, the default depends on + # your organization's data retention policy: + # + # - Organizations without ZDR enabled default to `24h`. + # - Organizations with ZDR enabled default to `in_memory` when + # `prompt_cache_retention` is not specified. # # @see OpenAI::Models::Responses::ResponsesClientEvent#prompt_cache_retention module PromptCacheRetention diff --git a/lib/openai/resources/conversations.rb b/lib/openai/resources/conversations.rb index 703c9f57..5a031d48 100644 --- a/lib/openai/resources/conversations.rb +++ b/lib/openai/resources/conversations.rb @@ -15,7 +15,7 @@ class Conversations # # @overload create(items: nil, metadata: nil, request_options: {}) # - # @param items [Array, nil] Initial items to include in the conversation context. You may add up to 20 items + # @param items [Array, nil] Initial items to include in the conversation context. You may add up to 20 items # # @param metadata [Hash{Symbol=>String}, nil] Set of 16 key-value pairs that can be attached to an object. This can be # diff --git a/lib/openai/resources/conversations/items.rb b/lib/openai/resources/conversations/items.rb index 84cbe816..73454ebe 100644 --- a/lib/openai/resources/conversations/items.rb +++ b/lib/openai/resources/conversations/items.rb @@ -14,7 +14,7 @@ class Items # # @param conversation_id [String] Path param: The ID of the conversation to add the item to. # - # @param items [Array] Body param: The items to add to the conversation. You may add up to 20 items at + # @param items [Array] Body param: The items to add to the conversation. You may add up to 20 items at # # @param include [Array] Query param: Additional fields to include in the response. See the `include` # @@ -53,7 +53,7 @@ def create(conversation_id, params) # # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil] # - # @return [OpenAI::Models::Conversations::Message, OpenAI::Models::Responses::ResponseFunctionToolCallItem, OpenAI::Models::Responses::ResponseFunctionToolCallOutputItem, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Conversations::ConversationItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseComputerToolCallOutputItem, OpenAI::Models::Responses::ResponseToolSearchCall, OpenAI::Models::Responses::ResponseToolSearchOutputItem, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseCompactionItem, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Conversations::ConversationItem::LocalShellCall, OpenAI::Models::Conversations::ConversationItem::LocalShellCallOutput, OpenAI::Models::Responses::ResponseFunctionShellToolCall, OpenAI::Models::Responses::ResponseFunctionShellToolCallOutput, OpenAI::Models::Responses::ResponseApplyPatchToolCall, OpenAI::Models::Responses::ResponseApplyPatchToolCallOutput, OpenAI::Models::Conversations::ConversationItem::McpListTools, OpenAI::Models::Conversations::ConversationItem::McpApprovalRequest, OpenAI::Models::Conversations::ConversationItem::McpApprovalResponse, OpenAI::Models::Conversations::ConversationItem::McpCall, OpenAI::Models::Responses::ResponseCustomToolCall, OpenAI::Models::Responses::ResponseCustomToolCallOutput] + # @return [OpenAI::Models::Conversations::Message, OpenAI::Models::Responses::ResponseFunctionToolCallItem, OpenAI::Models::Responses::ResponseFunctionToolCallOutputItem, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Conversations::ConversationItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseComputerToolCallOutputItem, OpenAI::Models::Responses::ResponseToolSearchCall, OpenAI::Models::Responses::ResponseToolSearchOutputItem, OpenAI::Models::Conversations::ConversationItem::AdditionalTools, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseCompactionItem, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Conversations::ConversationItem::LocalShellCall, OpenAI::Models::Conversations::ConversationItem::LocalShellCallOutput, OpenAI::Models::Responses::ResponseFunctionShellToolCall, OpenAI::Models::Responses::ResponseFunctionShellToolCallOutput, OpenAI::Models::Responses::ResponseApplyPatchToolCall, OpenAI::Models::Responses::ResponseApplyPatchToolCallOutput, OpenAI::Models::Conversations::ConversationItem::McpListTools, OpenAI::Models::Conversations::ConversationItem::McpApprovalRequest, OpenAI::Models::Conversations::ConversationItem::McpApprovalResponse, OpenAI::Models::Conversations::ConversationItem::McpCall, OpenAI::Models::Responses::ResponseCustomToolCall, OpenAI::Models::Responses::ResponseCustomToolCallOutput] # # @see OpenAI::Models::Conversations::ItemRetrieveParams def retrieve(item_id, params) @@ -92,7 +92,7 @@ def retrieve(item_id, params) # # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil] # - # @return [OpenAI::Internal::ConversationCursorPage] + # @return [OpenAI::Internal::ConversationCursorPage] # # @see OpenAI::Models::Conversations::ItemListParams def list(conversation_id, params = {}) diff --git a/lib/openai/resources/responses.rb b/lib/openai/resources/responses.rb index 45b26216..f056cd61 100644 --- a/lib/openai/resources/responses.rb +++ b/lib/openai/resources/responses.rb @@ -36,7 +36,7 @@ class Responses # # @param include [Array, nil] Specify additional output data to include in the model response. Currently suppo # - # @param input [String, Array] Text, image, or file inputs to the model, used to generate a response. + # @param input [String, Array] Text, image, or file inputs to the model, used to generate a response. # # @param instructions [String, nil] A system (or developer) message inserted into the model's context. # @@ -140,7 +140,7 @@ def create(params = {}) # # @param include [Array, nil] Specify additional output data to include in the model response. Currently suppo # - # @param input [String, Array] Text, image, or file inputs to the model, used to generate a response. + # @param input [String, Array] Text, image, or file inputs to the model, used to generate a response. # # @param instructions [String, nil] A system (or developer) message inserted into the model's context. # @@ -487,7 +487,7 @@ def cancel(response_id, params = {}) # # @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 # - # @param input [String, Array, nil] Text, image, or file inputs to the model, used to generate a response + # @param input [String, Array, nil] Text, image, or file inputs to the model, used to generate a response # # @param instructions [String, nil] A system (or developer) message inserted into the model's context. # diff --git a/lib/openai/resources/responses/input_items.rb b/lib/openai/resources/responses/input_items.rb index 62edffec..755e4d8d 100644 --- a/lib/openai/resources/responses/input_items.rb +++ b/lib/openai/resources/responses/input_items.rb @@ -23,7 +23,7 @@ class InputItems # # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil] # - # @return [OpenAI::Internal::CursorPage] + # @return [OpenAI::Internal::CursorPage] # # @see OpenAI::Models::Responses::InputItemListParams def list(response_id, params = {}) diff --git a/lib/openai/resources/responses/input_tokens.rb b/lib/openai/resources/responses/input_tokens.rb index 761e3235..0fca2dfb 100644 --- a/lib/openai/resources/responses/input_tokens.rb +++ b/lib/openai/resources/responses/input_tokens.rb @@ -12,11 +12,11 @@ class InputTokens # Returns an object with `object` set to `response.input_tokens` and an # `input_tokens` count. # - # @overload count(conversation: nil, input: nil, instructions: nil, model: nil, parallel_tool_calls: nil, previous_response_id: nil, reasoning: nil, text: nil, tool_choice: nil, tools: nil, truncation: nil, request_options: {}) + # @overload count(conversation: nil, input: nil, instructions: nil, model: nil, parallel_tool_calls: nil, personality: nil, previous_response_id: nil, reasoning: nil, text: nil, tool_choice: nil, tools: nil, truncation: nil, request_options: {}) # # @param conversation [String, OpenAI::Models::Responses::ResponseConversationParam, nil] The conversation that this response belongs to. Items from this conversation are # - # @param input [String, Array, nil] Text, image, or file inputs to the model, used to generate a response + # @param input [String, Array, nil] Text, image, or file inputs to the model, used to generate a response # # @param instructions [String, nil] A system (or developer) message inserted into the model's context. # @@ -24,6 +24,8 @@ class InputTokens # # @param parallel_tool_calls [Boolean, nil] Whether to allow the model to run tool calls in parallel. # + # @param personality [String, Symbol, OpenAI::Models::Responses::InputTokenCountParams::Personality] A model-owned style preset to apply to this request. Omit this parameter to use + # # @param previous_response_id [String, nil] The unique ID of the previous response to the model. Use this to create multi-tu # # @param reasoning [OpenAI::Models::Reasoning, nil] **gpt-5 and o-series models only** Configuration options for [reasoning models]( diff --git a/lib/openai/version.rb b/lib/openai/version.rb index 056441bc..8b2b3f94 100644 --- a/lib/openai/version.rb +++ b/lib/openai/version.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true module OpenAI - VERSION = "0.64.0" + VERSION = "0.65.0" end diff --git a/rbi/openai/models/admin/organization/audit_log_list_params.rbi b/rbi/openai/models/admin/organization/audit_log_list_params.rbi index 1ab4044a..da5301ca 100644 --- a/rbi/openai/models/admin/organization/audit_log_list_params.rbi +++ b/rbi/openai/models/admin/organization/audit_log_list_params.rbi @@ -467,6 +467,36 @@ module OpenAI :"tunnel.deleted", OpenAI::Admin::Organization::AuditLogListParams::EventType::TaggedSymbol ) + WORKLOAD_IDENTITY_PROVIDER_CREATED = + T.let( + :"workload_identity_provider.created", + OpenAI::Admin::Organization::AuditLogListParams::EventType::TaggedSymbol + ) + WORKLOAD_IDENTITY_PROVIDER_UPDATED = + T.let( + :"workload_identity_provider.updated", + OpenAI::Admin::Organization::AuditLogListParams::EventType::TaggedSymbol + ) + WORKLOAD_IDENTITY_PROVIDER_DELETED = + T.let( + :"workload_identity_provider.deleted", + OpenAI::Admin::Organization::AuditLogListParams::EventType::TaggedSymbol + ) + WORKLOAD_IDENTITY_PROVIDER_MAPPING_CREATED = + T.let( + :"workload_identity_provider_mapping.created", + OpenAI::Admin::Organization::AuditLogListParams::EventType::TaggedSymbol + ) + WORKLOAD_IDENTITY_PROVIDER_MAPPING_UPDATED = + T.let( + :"workload_identity_provider_mapping.updated", + OpenAI::Admin::Organization::AuditLogListParams::EventType::TaggedSymbol + ) + WORKLOAD_IDENTITY_PROVIDER_MAPPING_DELETED = + T.let( + :"workload_identity_provider_mapping.deleted", + OpenAI::Admin::Organization::AuditLogListParams::EventType::TaggedSymbol + ) ROLE_CREATED = T.let( :"role.created", diff --git a/rbi/openai/models/admin/organization/audit_log_list_response.rbi b/rbi/openai/models/admin/organization/audit_log_list_response.rbi index 0cf19945..4c3f11ea 100644 --- a/rbi/openai/models/admin/organization/audit_log_list_response.rbi +++ b/rbi/openai/models/admin/organization/audit_log_list_response.rbi @@ -894,6 +894,114 @@ module OpenAI end attr_writer :user_updated + # The details for events with this `type`. + sig do + returns( + T.nilable( + OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderMappingCreated + ) + ) + end + attr_reader :workload_identity_provider_mapping_created + + sig do + params( + workload_identity_provider_mapping_created: + OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderMappingCreated::OrHash + ).void + end + attr_writer :workload_identity_provider_mapping_created + + # The details for events with this `type`. + sig do + returns( + T.nilable( + OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderMappingDeleted + ) + ) + end + attr_reader :workload_identity_provider_mapping_deleted + + sig do + params( + workload_identity_provider_mapping_deleted: + OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderMappingDeleted::OrHash + ).void + end + attr_writer :workload_identity_provider_mapping_deleted + + # The details for events with this `type`. + sig do + returns( + T.nilable( + OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderMappingUpdated + ) + ) + end + attr_reader :workload_identity_provider_mapping_updated + + sig do + params( + workload_identity_provider_mapping_updated: + OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderMappingUpdated::OrHash + ).void + end + attr_writer :workload_identity_provider_mapping_updated + + # The details for events with this `type`. + sig do + returns( + T.nilable( + OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderCreated + ) + ) + end + attr_reader :workload_identity_provider_created + + sig do + params( + workload_identity_provider_created: + OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderCreated::OrHash + ).void + end + attr_writer :workload_identity_provider_created + + # The details for events with this `type`. + sig do + returns( + T.nilable( + OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderDeleted + ) + ) + end + attr_reader :workload_identity_provider_deleted + + sig do + params( + workload_identity_provider_deleted: + OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderDeleted::OrHash + ).void + end + attr_writer :workload_identity_provider_deleted + + # The details for events with this `type`. + sig do + returns( + T.nilable( + OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderUpdated + ) + ) + end + attr_reader :workload_identity_provider_updated + + sig do + params( + workload_identity_provider_updated: + OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderUpdated::OrHash + ).void + end + attr_writer :workload_identity_provider_updated + # A log of a user action or configuration change within this organization. sig do params( @@ -998,7 +1106,19 @@ module OpenAI user_deleted: OpenAI::Models::Admin::Organization::AuditLogListResponse::UserDeleted::OrHash, user_updated: - OpenAI::Models::Admin::Organization::AuditLogListResponse::UserUpdated::OrHash + OpenAI::Models::Admin::Organization::AuditLogListResponse::UserUpdated::OrHash, + workload_identity_provider_mapping_created: + OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderMappingCreated::OrHash, + workload_identity_provider_mapping_deleted: + OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderMappingDeleted::OrHash, + workload_identity_provider_mapping_updated: + OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderMappingUpdated::OrHash, + workload_identity_provider_created: + OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderCreated::OrHash, + workload_identity_provider_deleted: + OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderDeleted::OrHash, + workload_identity_provider_updated: + OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderUpdated::OrHash ).returns(T.attached_class) end def self.new( @@ -1108,7 +1228,19 @@ module OpenAI # The details for events with this `type`. user_deleted: nil, # The details for events with this `type`. - user_updated: nil + user_updated: nil, + # The details for events with this `type`. + workload_identity_provider_mapping_created: nil, + # The details for events with this `type`. + workload_identity_provider_mapping_deleted: nil, + # The details for events with this `type`. + workload_identity_provider_mapping_updated: nil, + # The details for events with this `type`. + workload_identity_provider_created: nil, + # The details for events with this `type`. + workload_identity_provider_deleted: nil, + # The details for events with this `type`. + workload_identity_provider_updated: nil ) end @@ -1216,7 +1348,19 @@ module OpenAI user_deleted: OpenAI::Models::Admin::Organization::AuditLogListResponse::UserDeleted, user_updated: - OpenAI::Models::Admin::Organization::AuditLogListResponse::UserUpdated + OpenAI::Models::Admin::Organization::AuditLogListResponse::UserUpdated, + workload_identity_provider_mapping_created: + OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderMappingCreated, + workload_identity_provider_mapping_deleted: + OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderMappingDeleted, + workload_identity_provider_mapping_updated: + OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderMappingUpdated, + workload_identity_provider_created: + OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderCreated, + workload_identity_provider_deleted: + OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderDeleted, + workload_identity_provider_updated: + OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderUpdated } ) end @@ -1426,6 +1570,36 @@ module OpenAI :"tunnel.deleted", OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol ) + WORKLOAD_IDENTITY_PROVIDER_CREATED = + T.let( + :"workload_identity_provider.created", + OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol + ) + WORKLOAD_IDENTITY_PROVIDER_UPDATED = + T.let( + :"workload_identity_provider.updated", + OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol + ) + WORKLOAD_IDENTITY_PROVIDER_DELETED = + T.let( + :"workload_identity_provider.deleted", + OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol + ) + WORKLOAD_IDENTITY_PROVIDER_MAPPING_CREATED = + T.let( + :"workload_identity_provider_mapping.created", + OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol + ) + WORKLOAD_IDENTITY_PROVIDER_MAPPING_UPDATED = + T.let( + :"workload_identity_provider_mapping.updated", + OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol + ) + WORKLOAD_IDENTITY_PROVIDER_MAPPING_DELETED = + T.let( + :"workload_identity_provider_mapping.deleted", + OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol + ) ROLE_CREATED = T.let( :"role.created", @@ -5095,6 +5269,318 @@ module OpenAI end end end + + class WorkloadIdentityProviderMappingCreated < OpenAI::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderMappingCreated, + OpenAI::Internal::AnyHash + ) + end + + # The workload identity provider mapping ID. + sig { returns(T.nilable(String)) } + attr_reader :id + + sig { params(id: String).void } + attr_writer :id + + # The payload used to create the workload identity provider mapping. + sig { returns(T.nilable(T.anything)) } + attr_reader :data + + sig { params(data: T.anything).void } + attr_writer :data + + # The workload identity provider ID. + sig { returns(T.nilable(String)) } + attr_reader :identity_provider_id + + sig { params(identity_provider_id: String).void } + attr_writer :identity_provider_id + + # The details for events with this `type`. + sig do + params( + id: String, + data: T.anything, + identity_provider_id: String + ).returns(T.attached_class) + end + def self.new( + # The workload identity provider mapping ID. + id: nil, + # The payload used to create the workload identity provider mapping. + data: nil, + # The workload identity provider ID. + identity_provider_id: nil + ) + end + + sig do + override.returns( + { id: String, data: T.anything, identity_provider_id: String } + ) + end + def to_hash + end + end + + class WorkloadIdentityProviderMappingDeleted < OpenAI::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderMappingDeleted, + OpenAI::Internal::AnyHash + ) + end + + # The workload identity provider mapping ID. + sig { returns(T.nilable(String)) } + attr_reader :id + + sig { params(id: String).void } + attr_writer :id + + # The workload identity provider ID. + sig { returns(T.nilable(String)) } + attr_reader :identity_provider_id + + sig { params(identity_provider_id: String).void } + attr_writer :identity_provider_id + + # The project ID. + sig { returns(T.nilable(String)) } + attr_reader :project_id + + sig { params(project_id: String).void } + attr_writer :project_id + + # The mapped service account ID. + sig { returns(T.nilable(String)) } + attr_reader :service_account_id + + sig { params(service_account_id: String).void } + attr_writer :service_account_id + + # The details for events with this `type`. + sig do + params( + id: String, + identity_provider_id: String, + project_id: String, + service_account_id: String + ).returns(T.attached_class) + end + def self.new( + # The workload identity provider mapping ID. + id: nil, + # The workload identity provider ID. + identity_provider_id: nil, + # The project ID. + project_id: nil, + # The mapped service account ID. + service_account_id: nil + ) + end + + sig do + override.returns( + { + id: String, + identity_provider_id: String, + project_id: String, + service_account_id: String + } + ) + end + def to_hash + end + end + + class WorkloadIdentityProviderMappingUpdated < OpenAI::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderMappingUpdated, + OpenAI::Internal::AnyHash + ) + end + + # The workload identity provider mapping ID. + sig { returns(T.nilable(String)) } + attr_reader :id + + sig { params(id: String).void } + attr_writer :id + + # The payload used to update the workload identity provider mapping. + sig { returns(T.nilable(T.anything)) } + attr_reader :changes_requested + + sig { params(changes_requested: T.anything).void } + attr_writer :changes_requested + + # The workload identity provider ID. + sig { returns(T.nilable(String)) } + attr_reader :identity_provider_id + + sig { params(identity_provider_id: String).void } + attr_writer :identity_provider_id + + # The details for events with this `type`. + sig do + params( + id: String, + changes_requested: T.anything, + identity_provider_id: String + ).returns(T.attached_class) + end + def self.new( + # The workload identity provider mapping ID. + id: nil, + # The payload used to update the workload identity provider mapping. + changes_requested: nil, + # The workload identity provider ID. + identity_provider_id: nil + ) + end + + sig do + override.returns( + { + id: String, + changes_requested: T.anything, + identity_provider_id: String + } + ) + end + def to_hash + end + end + + class WorkloadIdentityProviderCreated < OpenAI::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderCreated, + OpenAI::Internal::AnyHash + ) + end + + # The workload identity provider ID. + sig { returns(T.nilable(String)) } + attr_reader :id + + sig { params(id: String).void } + attr_writer :id + + # The payload used to create the workload identity provider. + sig { returns(T.nilable(T.anything)) } + attr_reader :data + + sig { params(data: T.anything).void } + attr_writer :data + + # The details for events with this `type`. + sig do + params(id: String, data: T.anything).returns(T.attached_class) + end + def self.new( + # The workload identity provider ID. + id: nil, + # The payload used to create the workload identity provider. + data: nil + ) + end + + sig { override.returns({ id: String, data: T.anything }) } + def to_hash + end + end + + class WorkloadIdentityProviderDeleted < OpenAI::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderDeleted, + OpenAI::Internal::AnyHash + ) + end + + # The workload identity provider ID. + sig { returns(T.nilable(String)) } + attr_reader :id + + sig { params(id: String).void } + attr_writer :id + + # The workload identity provider name. + sig { returns(T.nilable(String)) } + attr_reader :name + + sig { params(name: String).void } + attr_writer :name + + # The details for events with this `type`. + sig { params(id: String, name: String).returns(T.attached_class) } + def self.new( + # The workload identity provider ID. + id: nil, + # The workload identity provider name. + name: nil + ) + end + + sig { override.returns({ id: String, name: String }) } + def to_hash + end + end + + class WorkloadIdentityProviderUpdated < OpenAI::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderUpdated, + OpenAI::Internal::AnyHash + ) + end + + # The workload identity provider ID. + sig { returns(T.nilable(String)) } + attr_reader :id + + sig { params(id: String).void } + attr_writer :id + + # The payload used to update the workload identity provider. + sig { returns(T.nilable(T.anything)) } + attr_reader :changes_requested + + sig { params(changes_requested: T.anything).void } + attr_writer :changes_requested + + # The details for events with this `type`. + sig do + params(id: String, changes_requested: T.anything).returns( + T.attached_class + ) + end + def self.new( + # The workload identity provider ID. + id: nil, + # The payload used to update the workload identity provider. + changes_requested: nil + ) + end + + sig do + override.returns({ id: String, changes_requested: T.anything }) + end + def to_hash + end + end end end end diff --git a/rbi/openai/models/chat/completion_create_params.rbi b/rbi/openai/models/chat/completion_create_params.rbi index 3aa4a454..69c451aa 100644 --- a/rbi/openai/models/chat/completion_create_params.rbi +++ b/rbi/openai/models/chat/completion_create_params.rbi @@ -229,6 +229,14 @@ module OpenAI # prompt caching, which keeps cached prefixes active for longer, up to a maximum # of 24 hours. # [Learn more](https://platform.openai.com/docs/guides/prompt-caching#prompt-cache-retention). + # For `gpt-5.5`, `gpt-5.5-pro`, and future models, only `24h` is supported. + # + # For older models that support both `in_memory` and `24h`, the default depends on + # your organization's data retention policy: + # + # - Organizations without ZDR enabled default to `24h`. + # - Organizations with ZDR enabled default to `in_memory` when + # `prompt_cache_retention` is not specified. sig do returns( T.nilable( @@ -693,6 +701,14 @@ module OpenAI # prompt caching, which keeps cached prefixes active for longer, up to a maximum # of 24 hours. # [Learn more](https://platform.openai.com/docs/guides/prompt-caching#prompt-cache-retention). + # For `gpt-5.5`, `gpt-5.5-pro`, and future models, only `24h` is supported. + # + # For older models that support both `in_memory` and `24h`, the default depends on + # your organization's data retention policy: + # + # - Organizations without ZDR enabled default to `24h`. + # - Organizations with ZDR enabled default to `in_memory` when + # `prompt_cache_retention` is not specified. prompt_cache_retention: nil, # Constrains effort on reasoning for # [reasoning models](https://platform.openai.com/docs/guides/reasoning). Currently @@ -1106,6 +1122,14 @@ module OpenAI # prompt caching, which keeps cached prefixes active for longer, up to a maximum # of 24 hours. # [Learn more](https://platform.openai.com/docs/guides/prompt-caching#prompt-cache-retention). + # For `gpt-5.5`, `gpt-5.5-pro`, and future models, only `24h` is supported. + # + # For older models that support both `in_memory` and `24h`, the default depends on + # your organization's data retention policy: + # + # - Organizations without ZDR enabled default to `24h`. + # - Organizations with ZDR enabled default to `in_memory` when + # `prompt_cache_retention` is not specified. module PromptCacheRetention extend OpenAI::Internal::Type::Enum diff --git a/rbi/openai/models/conversations/conversation_create_params.rbi b/rbi/openai/models/conversations/conversation_create_params.rbi index 0a4f5f7e..c0c635c8 100644 --- a/rbi/openai/models/conversations/conversation_create_params.rbi +++ b/rbi/openai/models/conversations/conversation_create_params.rbi @@ -33,6 +33,7 @@ module OpenAI OpenAI::Responses::ResponseInputItem::FunctionCallOutput, OpenAI::Responses::ResponseInputItem::ToolSearchCall, OpenAI::Responses::ResponseToolSearchOutputItemParam, + OpenAI::Responses::ResponseInputItem::AdditionalTools, OpenAI::Responses::ResponseReasoningItem, OpenAI::Responses::ResponseCompactionItemParam, OpenAI::Responses::ResponseInputItem::ImageGenerationCall, @@ -84,6 +85,7 @@ module OpenAI OpenAI::Responses::ResponseInputItem::FunctionCallOutput::OrHash, OpenAI::Responses::ResponseInputItem::ToolSearchCall::OrHash, OpenAI::Responses::ResponseToolSearchOutputItemParam::OrHash, + OpenAI::Responses::ResponseInputItem::AdditionalTools::OrHash, OpenAI::Responses::ResponseReasoningItem::OrHash, OpenAI::Responses::ResponseCompactionItemParam::OrHash, OpenAI::Responses::ResponseInputItem::ImageGenerationCall::OrHash, @@ -142,6 +144,7 @@ module OpenAI OpenAI::Responses::ResponseInputItem::FunctionCallOutput, OpenAI::Responses::ResponseInputItem::ToolSearchCall, OpenAI::Responses::ResponseToolSearchOutputItemParam, + OpenAI::Responses::ResponseInputItem::AdditionalTools, OpenAI::Responses::ResponseReasoningItem, OpenAI::Responses::ResponseCompactionItemParam, OpenAI::Responses::ResponseInputItem::ImageGenerationCall, diff --git a/rbi/openai/models/conversations/conversation_item.rbi b/rbi/openai/models/conversations/conversation_item.rbi index b6f59e02..c726e95a 100644 --- a/rbi/openai/models/conversations/conversation_item.rbi +++ b/rbi/openai/models/conversations/conversation_item.rbi @@ -24,6 +24,7 @@ module OpenAI OpenAI::Responses::ResponseComputerToolCallOutputItem, OpenAI::Responses::ResponseToolSearchCall, OpenAI::Responses::ResponseToolSearchOutputItem, + OpenAI::Conversations::ConversationItem::AdditionalTools, OpenAI::Responses::ResponseReasoningItem, OpenAI::Responses::ResponseCompactionItem, OpenAI::Responses::ResponseCodeInterpreterToolCall, @@ -153,6 +154,155 @@ module OpenAI end end + class AdditionalTools < OpenAI::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + OpenAI::Conversations::ConversationItem::AdditionalTools, + OpenAI::Internal::AnyHash + ) + end + + # The unique ID of the additional tools item. + sig { returns(String) } + attr_accessor :id + + # The role that provided the additional tools. + sig do + returns( + OpenAI::Conversations::ConversationItem::AdditionalTools::Role::TaggedSymbol + ) + end + attr_accessor :role + + # The additional tool definitions made available at this item. + sig { returns(T::Array[OpenAI::Responses::Tool::Variants]) } + attr_accessor :tools + + # The type of the item. Always `additional_tools`. + sig { returns(Symbol) } + attr_accessor :type + + sig do + params( + id: String, + role: + OpenAI::Conversations::ConversationItem::AdditionalTools::Role::OrSymbol, + tools: + T::Array[ + T.any( + OpenAI::Responses::FunctionTool::OrHash, + OpenAI::Responses::FileSearchTool::OrHash, + OpenAI::Responses::ComputerTool::OrHash, + OpenAI::Responses::ComputerUsePreviewTool::OrHash, + OpenAI::Responses::Tool::Mcp::OrHash, + OpenAI::Responses::Tool::CodeInterpreter::OrHash, + OpenAI::Responses::Tool::ImageGeneration::OrHash, + OpenAI::Responses::Tool::LocalShell::OrHash, + OpenAI::Responses::FunctionShellTool::OrHash, + OpenAI::Responses::CustomTool::OrHash, + OpenAI::Responses::NamespaceTool::OrHash, + OpenAI::Responses::ToolSearchTool::OrHash, + OpenAI::Responses::ApplyPatchTool::OrHash, + OpenAI::Responses::WebSearchTool::OrHash, + OpenAI::Responses::WebSearchPreviewTool::OrHash + ) + ], + type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The unique ID of the additional tools item. + id:, + # The role that provided the additional tools. + role:, + # The additional tool definitions made available at this item. + tools:, + # The type of the item. Always `additional_tools`. + type: :additional_tools + ) + end + + sig do + override.returns( + { + id: String, + role: + OpenAI::Conversations::ConversationItem::AdditionalTools::Role::TaggedSymbol, + tools: T::Array[OpenAI::Responses::Tool::Variants], + type: Symbol + } + ) + end + def to_hash + end + + # The role that provided the additional tools. + module Role + extend OpenAI::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + OpenAI::Conversations::ConversationItem::AdditionalTools::Role + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + UNKNOWN = + T.let( + :unknown, + OpenAI::Conversations::ConversationItem::AdditionalTools::Role::TaggedSymbol + ) + USER = + T.let( + :user, + OpenAI::Conversations::ConversationItem::AdditionalTools::Role::TaggedSymbol + ) + ASSISTANT = + T.let( + :assistant, + OpenAI::Conversations::ConversationItem::AdditionalTools::Role::TaggedSymbol + ) + SYSTEM = + T.let( + :system, + OpenAI::Conversations::ConversationItem::AdditionalTools::Role::TaggedSymbol + ) + CRITIC = + T.let( + :critic, + OpenAI::Conversations::ConversationItem::AdditionalTools::Role::TaggedSymbol + ) + DISCRIMINATOR = + T.let( + :discriminator, + OpenAI::Conversations::ConversationItem::AdditionalTools::Role::TaggedSymbol + ) + DEVELOPER = + T.let( + :developer, + OpenAI::Conversations::ConversationItem::AdditionalTools::Role::TaggedSymbol + ) + TOOL = + T.let( + :tool, + OpenAI::Conversations::ConversationItem::AdditionalTools::Role::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + OpenAI::Conversations::ConversationItem::AdditionalTools::Role::TaggedSymbol + ] + ) + end + def self.values + end + end + end + class LocalShellCall < OpenAI::Internal::Type::BaseModel OrHash = T.type_alias do diff --git a/rbi/openai/models/conversations/conversation_item_list.rbi b/rbi/openai/models/conversations/conversation_item_list.rbi index f3c5ead6..635956bc 100644 --- a/rbi/openai/models/conversations/conversation_item_list.rbi +++ b/rbi/openai/models/conversations/conversation_item_list.rbi @@ -52,6 +52,7 @@ module OpenAI OpenAI::Responses::ResponseComputerToolCallOutputItem::OrHash, OpenAI::Responses::ResponseToolSearchCall::OrHash, OpenAI::Responses::ResponseToolSearchOutputItem::OrHash, + OpenAI::Conversations::ConversationItem::AdditionalTools::OrHash, OpenAI::Responses::ResponseReasoningItem::OrHash, OpenAI::Responses::ResponseCompactionItem::OrHash, OpenAI::Responses::ResponseCodeInterpreterToolCall::OrHash, diff --git a/rbi/openai/models/conversations/item_create_params.rbi b/rbi/openai/models/conversations/item_create_params.rbi index e3625aac..713e1285 100644 --- a/rbi/openai/models/conversations/item_create_params.rbi +++ b/rbi/openai/models/conversations/item_create_params.rbi @@ -34,6 +34,7 @@ module OpenAI OpenAI::Responses::ResponseInputItem::FunctionCallOutput, OpenAI::Responses::ResponseInputItem::ToolSearchCall, OpenAI::Responses::ResponseToolSearchOutputItemParam, + OpenAI::Responses::ResponseInputItem::AdditionalTools, OpenAI::Responses::ResponseReasoningItem, OpenAI::Responses::ResponseCompactionItemParam, OpenAI::Responses::ResponseInputItem::ImageGenerationCall, @@ -92,6 +93,7 @@ module OpenAI OpenAI::Responses::ResponseInputItem::FunctionCallOutput::OrHash, OpenAI::Responses::ResponseInputItem::ToolSearchCall::OrHash, OpenAI::Responses::ResponseToolSearchOutputItemParam::OrHash, + OpenAI::Responses::ResponseInputItem::AdditionalTools::OrHash, OpenAI::Responses::ResponseReasoningItem::OrHash, OpenAI::Responses::ResponseCompactionItemParam::OrHash, OpenAI::Responses::ResponseInputItem::ImageGenerationCall::OrHash, @@ -146,6 +148,7 @@ module OpenAI OpenAI::Responses::ResponseInputItem::FunctionCallOutput, OpenAI::Responses::ResponseInputItem::ToolSearchCall, OpenAI::Responses::ResponseToolSearchOutputItemParam, + OpenAI::Responses::ResponseInputItem::AdditionalTools, OpenAI::Responses::ResponseReasoningItem, OpenAI::Responses::ResponseCompactionItemParam, OpenAI::Responses::ResponseInputItem::ImageGenerationCall, diff --git a/rbi/openai/models/responses/compacted_response.rbi b/rbi/openai/models/responses/compacted_response.rbi index cc473d03..67b53508 100644 --- a/rbi/openai/models/responses/compacted_response.rbi +++ b/rbi/openai/models/responses/compacted_response.rbi @@ -56,6 +56,7 @@ module OpenAI OpenAI::Responses::ResponseReasoningItem::OrHash, OpenAI::Responses::ResponseToolSearchCall::OrHash, OpenAI::Responses::ResponseToolSearchOutputItem::OrHash, + OpenAI::Responses::ResponseOutputItem::AdditionalTools::OrHash, OpenAI::Responses::ResponseCompactionItem::OrHash, OpenAI::Responses::ResponseOutputItem::ImageGenerationCall::OrHash, OpenAI::Responses::ResponseCodeInterpreterToolCall::OrHash, diff --git a/rbi/openai/models/responses/input_token_count_params.rbi b/rbi/openai/models/responses/input_token_count_params.rbi index 01e26b33..49c0e7de 100644 --- a/rbi/openai/models/responses/input_token_count_params.rbi +++ b/rbi/openai/models/responses/input_token_count_params.rbi @@ -55,6 +55,32 @@ module OpenAI sig { returns(T.nilable(T::Boolean)) } attr_accessor :parallel_tool_calls + # A model-owned style preset to apply to this request. Omit this parameter to use + # the model's default style. Supported values may expand over time. Values must be + # at most 64 characters. + sig do + returns( + T.nilable( + T.any( + String, + OpenAI::Responses::InputTokenCountParams::Personality::OrSymbol + ) + ) + ) + end + attr_reader :personality + + sig do + params( + personality: + T.any( + String, + OpenAI::Responses::InputTokenCountParams::Personality::OrSymbol + ) + ).void + end + attr_writer :personality + # The unique ID of the previous response to the model. Use this to create # multi-turn conversations. Learn more about # [conversation state](https://platform.openai.com/docs/guides/conversation-state). @@ -174,6 +200,11 @@ module OpenAI instructions: T.nilable(String), model: T.nilable(String), parallel_tool_calls: T.nilable(T::Boolean), + personality: + T.any( + String, + OpenAI::Responses::InputTokenCountParams::Personality::OrSymbol + ), previous_response_id: T.nilable(String), reasoning: T.nilable(OpenAI::Reasoning::OrHash), text: @@ -239,6 +270,10 @@ module OpenAI model: nil, # Whether to allow the model to run tool calls in parallel. parallel_tool_calls: nil, + # A model-owned style preset to apply to this request. Omit this parameter to use + # the model's default style. Supported values may expand over time. Values must be + # at most 64 characters. + personality: nil, # The unique ID of the previous response to the model. Use this to create # multi-turn conversations. Learn more about # [conversation state](https://platform.openai.com/docs/guides/conversation-state). @@ -282,6 +317,11 @@ module OpenAI instructions: T.nilable(String), model: T.nilable(String), parallel_tool_calls: T.nilable(T::Boolean), + personality: + T.any( + String, + OpenAI::Responses::InputTokenCountParams::Personality::OrSymbol + ), previous_response_id: T.nilable(String), reasoning: T.nilable(OpenAI::Reasoning), text: T.nilable(OpenAI::Responses::InputTokenCountParams::Text), @@ -383,6 +423,51 @@ module OpenAI ) end + # A model-owned style preset to apply to this request. Omit this parameter to use + # the model's default style. Supported values may expand over time. Values must be + # at most 64 characters. + module Personality + extend OpenAI::Internal::Type::Union + + Variants = + T.type_alias do + T.any( + String, + OpenAI::Responses::InputTokenCountParams::Personality::TaggedSymbol + ) + end + + sig do + override.returns( + T::Array[ + OpenAI::Responses::InputTokenCountParams::Personality::Variants + ] + ) + end + def self.variants + end + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + OpenAI::Responses::InputTokenCountParams::Personality + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + FRIENDLY = + T.let( + :friendly, + OpenAI::Responses::InputTokenCountParams::Personality::TaggedSymbol + ) + PRAGMATIC = + T.let( + :pragmatic, + OpenAI::Responses::InputTokenCountParams::Personality::TaggedSymbol + ) + end + class Text < OpenAI::Internal::Type::BaseModel OrHash = T.type_alias do diff --git a/rbi/openai/models/responses/response.rbi b/rbi/openai/models/responses/response.rbi index a235b22a..f4575c89 100644 --- a/rbi/openai/models/responses/response.rbi +++ b/rbi/openai/models/responses/response.rbi @@ -202,6 +202,14 @@ module OpenAI # prompt caching, which keeps cached prefixes active for longer, up to a maximum # of 24 hours. # [Learn more](https://platform.openai.com/docs/guides/prompt-caching#prompt-cache-retention). + # For `gpt-5.5`, `gpt-5.5-pro`, and future models, only `24h` is supported. + # + # For older models that support both `in_memory` and `24h`, the default depends on + # your organization's data retention policy: + # + # - Organizations without ZDR enabled default to `24h`. + # - Organizations with ZDR enabled default to `in_memory` when + # `prompt_cache_retention` is not specified. sig do returns( T.nilable( @@ -345,6 +353,7 @@ module OpenAI OpenAI::Responses::ResponseReasoningItem::OrHash, OpenAI::Responses::ResponseToolSearchCall::OrHash, OpenAI::Responses::ResponseToolSearchOutputItem::OrHash, + OpenAI::Responses::ResponseOutputItem::AdditionalTools::OrHash, OpenAI::Responses::ResponseCompactionItem::OrHash, OpenAI::Responses::ResponseOutputItem::ImageGenerationCall::OrHash, OpenAI::Responses::ResponseCodeInterpreterToolCall::OrHash, @@ -530,6 +539,14 @@ module OpenAI # prompt caching, which keeps cached prefixes active for longer, up to a maximum # of 24 hours. # [Learn more](https://platform.openai.com/docs/guides/prompt-caching#prompt-cache-retention). + # For `gpt-5.5`, `gpt-5.5-pro`, and future models, only `24h` is supported. + # + # For older models that support both `in_memory` and `24h`, the default depends on + # your organization's data retention policy: + # + # - Organizations without ZDR enabled default to `24h`. + # - Organizations with ZDR enabled default to `in_memory` when + # `prompt_cache_retention` is not specified. prompt_cache_retention: nil, # **gpt-5 and o-series models only** # @@ -828,6 +845,14 @@ module OpenAI # prompt caching, which keeps cached prefixes active for longer, up to a maximum # of 24 hours. # [Learn more](https://platform.openai.com/docs/guides/prompt-caching#prompt-cache-retention). + # For `gpt-5.5`, `gpt-5.5-pro`, and future models, only `24h` is supported. + # + # For older models that support both `in_memory` and `24h`, the default depends on + # your organization's data retention policy: + # + # - Organizations without ZDR enabled default to `24h`. + # - Organizations with ZDR enabled default to `in_memory` when + # `prompt_cache_retention` is not specified. module PromptCacheRetention extend OpenAI::Internal::Type::Enum diff --git a/rbi/openai/models/responses/response_create_params.rbi b/rbi/openai/models/responses/response_create_params.rbi index 57da74fb..16b94047 100644 --- a/rbi/openai/models/responses/response_create_params.rbi +++ b/rbi/openai/models/responses/response_create_params.rbi @@ -189,6 +189,14 @@ module OpenAI # prompt caching, which keeps cached prefixes active for longer, up to a maximum # of 24 hours. # [Learn more](https://platform.openai.com/docs/guides/prompt-caching#prompt-cache-retention). + # For `gpt-5.5`, `gpt-5.5-pro`, and future models, only `24h` is supported. + # + # For older models that support both `in_memory` and `24h`, the default depends on + # your organization's data retention policy: + # + # - Organizations without ZDR enabled default to `24h`. + # - Organizations with ZDR enabled default to `in_memory` when + # `prompt_cache_retention` is not specified. sig do returns( T.nilable( @@ -623,6 +631,14 @@ module OpenAI # prompt caching, which keeps cached prefixes active for longer, up to a maximum # of 24 hours. # [Learn more](https://platform.openai.com/docs/guides/prompt-caching#prompt-cache-retention). + # For `gpt-5.5`, `gpt-5.5-pro`, and future models, only `24h` is supported. + # + # For older models that support both `in_memory` and `24h`, the default depends on + # your organization's data retention policy: + # + # - Organizations without ZDR enabled default to `24h`. + # - Organizations with ZDR enabled default to `in_memory` when + # `prompt_cache_retention` is not specified. prompt_cache_retention: nil, # **gpt-5 and o-series models only** # @@ -910,6 +926,14 @@ module OpenAI # prompt caching, which keeps cached prefixes active for longer, up to a maximum # of 24 hours. # [Learn more](https://platform.openai.com/docs/guides/prompt-caching#prompt-cache-retention). + # For `gpt-5.5`, `gpt-5.5-pro`, and future models, only `24h` is supported. + # + # For older models that support both `in_memory` and `24h`, the default depends on + # your organization's data retention policy: + # + # - Organizations without ZDR enabled default to `24h`. + # - Organizations with ZDR enabled default to `in_memory` when + # `prompt_cache_retention` is not specified. module PromptCacheRetention extend OpenAI::Internal::Type::Enum diff --git a/rbi/openai/models/responses/response_function_web_search.rbi b/rbi/openai/models/responses/response_function_web_search.rbi index baee4121..71b64ba8 100644 --- a/rbi/openai/models/responses/response_function_web_search.rbi +++ b/rbi/openai/models/responses/response_function_web_search.rbi @@ -113,10 +113,6 @@ module OpenAI ) end - # [DEPRECATED] The search query. - sig { returns(String) } - attr_accessor :query - # The action type. sig { returns(Symbol) } attr_accessor :type @@ -128,6 +124,13 @@ module OpenAI sig { params(queries: T::Array[String]).void } attr_writer :queries + # The search query. + sig { returns(T.nilable(String)) } + attr_reader :query + + sig { params(query: String).void } + attr_writer :query + # The sources used in the search. sig do returns( @@ -153,8 +156,8 @@ module OpenAI # Action type "search" - Performs a web search query. sig do params( - query: String, queries: T::Array[String], + query: String, sources: T::Array[ OpenAI::Responses::ResponseFunctionWebSearch::Action::Search::Source::OrHash @@ -163,10 +166,10 @@ module OpenAI ).returns(T.attached_class) end def self.new( - # [DEPRECATED] The search query. - query:, # The search queries. queries: nil, + # The search query. + query: nil, # The sources used in the search. sources: nil, # The action type. @@ -177,9 +180,9 @@ module OpenAI sig do override.returns( { - query: String, type: Symbol, queries: T::Array[String], + query: String, sources: T::Array[ OpenAI::Responses::ResponseFunctionWebSearch::Action::Search::Source diff --git a/rbi/openai/models/responses/response_input_item.rbi b/rbi/openai/models/responses/response_input_item.rbi index 870fb692..a44fb975 100644 --- a/rbi/openai/models/responses/response_input_item.rbi +++ b/rbi/openai/models/responses/response_input_item.rbi @@ -25,6 +25,7 @@ module OpenAI OpenAI::Responses::ResponseInputItem::FunctionCallOutput, OpenAI::Responses::ResponseInputItem::ToolSearchCall, OpenAI::Responses::ResponseToolSearchOutputItemParam, + OpenAI::Responses::ResponseInputItem::AdditionalTools, OpenAI::Responses::ResponseReasoningItem, OpenAI::Responses::ResponseCompactionItemParam, OpenAI::Responses::ResponseInputItem::ImageGenerationCall, @@ -834,6 +835,125 @@ module OpenAI end end + class AdditionalTools < OpenAI::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + OpenAI::Responses::ResponseInputItem::AdditionalTools, + OpenAI::Internal::AnyHash + ) + end + + # The role that provided the additional tools. Only `developer` is supported. + sig { returns(Symbol) } + attr_accessor :role + + # A list of additional tools made available at this item. + sig do + returns( + T::Array[ + T.any( + OpenAI::Responses::FunctionTool, + OpenAI::Responses::FileSearchTool, + OpenAI::Responses::ComputerTool, + OpenAI::Responses::ComputerUsePreviewTool, + OpenAI::Responses::Tool::Mcp, + OpenAI::Responses::Tool::CodeInterpreter, + OpenAI::Responses::Tool::ImageGeneration, + OpenAI::Responses::Tool::LocalShell, + OpenAI::Responses::FunctionShellTool, + OpenAI::Responses::CustomTool, + OpenAI::Responses::NamespaceTool, + OpenAI::Responses::ToolSearchTool, + OpenAI::Responses::ApplyPatchTool, + OpenAI::Responses::WebSearchTool, + OpenAI::Responses::WebSearchPreviewTool + ) + ] + ) + end + attr_accessor :tools + + # The item type. Always `additional_tools`. + sig { returns(Symbol) } + attr_accessor :type + + # The unique ID of this additional tools item. + sig { returns(T.nilable(String)) } + attr_accessor :id + + sig do + params( + tools: + T::Array[ + T.any( + OpenAI::Responses::FunctionTool::OrHash, + OpenAI::Responses::FileSearchTool::OrHash, + OpenAI::Responses::ComputerTool::OrHash, + OpenAI::Responses::ComputerUsePreviewTool::OrHash, + OpenAI::Responses::Tool::Mcp::OrHash, + OpenAI::Responses::Tool::CodeInterpreter::OrHash, + OpenAI::Responses::Tool::ImageGeneration::OrHash, + OpenAI::Responses::Tool::LocalShell::OrHash, + OpenAI::Responses::FunctionShellTool::OrHash, + OpenAI::Responses::CustomTool::OrHash, + OpenAI::Responses::NamespaceTool::OrHash, + OpenAI::Responses::ToolSearchTool::OrHash, + OpenAI::Responses::ApplyPatchTool::OrHash, + OpenAI::Responses::WebSearchTool::OrHash, + OpenAI::Responses::WebSearchPreviewTool::OrHash + ) + ], + id: T.nilable(String), + role: Symbol, + type: Symbol + ).returns(T.attached_class) + end + def self.new( + # A list of additional tools made available at this item. + tools:, + # The unique ID of this additional tools item. + id: nil, + # The role that provided the additional tools. Only `developer` is supported. + role: :developer, + # The item type. Always `additional_tools`. + type: :additional_tools + ) + end + + sig do + override.returns( + { + role: Symbol, + tools: + T::Array[ + T.any( + OpenAI::Responses::FunctionTool, + OpenAI::Responses::FileSearchTool, + OpenAI::Responses::ComputerTool, + OpenAI::Responses::ComputerUsePreviewTool, + OpenAI::Responses::Tool::Mcp, + OpenAI::Responses::Tool::CodeInterpreter, + OpenAI::Responses::Tool::ImageGeneration, + OpenAI::Responses::Tool::LocalShell, + OpenAI::Responses::FunctionShellTool, + OpenAI::Responses::CustomTool, + OpenAI::Responses::NamespaceTool, + OpenAI::Responses::ToolSearchTool, + OpenAI::Responses::ApplyPatchTool, + OpenAI::Responses::WebSearchTool, + OpenAI::Responses::WebSearchPreviewTool + ) + ], + type: Symbol, + id: T.nilable(String) + } + ) + end + def to_hash + end + end + class ImageGenerationCall < OpenAI::Internal::Type::BaseModel OrHash = T.type_alias do diff --git a/rbi/openai/models/responses/response_item.rbi b/rbi/openai/models/responses/response_item.rbi index c65be047..c17ecc42 100644 --- a/rbi/openai/models/responses/response_item.rbi +++ b/rbi/openai/models/responses/response_item.rbi @@ -20,6 +20,7 @@ module OpenAI OpenAI::Responses::ResponseFunctionToolCallOutputItem, OpenAI::Responses::ResponseToolSearchCall, OpenAI::Responses::ResponseToolSearchOutputItem, + OpenAI::Responses::ResponseItem::AdditionalTools, OpenAI::Responses::ResponseReasoningItem, OpenAI::Responses::ResponseCompactionItem, OpenAI::Responses::ResponseItem::ImageGenerationCall, @@ -39,6 +40,155 @@ module OpenAI ) end + class AdditionalTools < OpenAI::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + OpenAI::Responses::ResponseItem::AdditionalTools, + OpenAI::Internal::AnyHash + ) + end + + # The unique ID of the additional tools item. + sig { returns(String) } + attr_accessor :id + + # The role that provided the additional tools. + sig do + returns( + OpenAI::Responses::ResponseItem::AdditionalTools::Role::TaggedSymbol + ) + end + attr_accessor :role + + # The additional tool definitions made available at this item. + sig { returns(T::Array[OpenAI::Responses::Tool::Variants]) } + attr_accessor :tools + + # The type of the item. Always `additional_tools`. + sig { returns(Symbol) } + attr_accessor :type + + sig do + params( + id: String, + role: + OpenAI::Responses::ResponseItem::AdditionalTools::Role::OrSymbol, + tools: + T::Array[ + T.any( + OpenAI::Responses::FunctionTool::OrHash, + OpenAI::Responses::FileSearchTool::OrHash, + OpenAI::Responses::ComputerTool::OrHash, + OpenAI::Responses::ComputerUsePreviewTool::OrHash, + OpenAI::Responses::Tool::Mcp::OrHash, + OpenAI::Responses::Tool::CodeInterpreter::OrHash, + OpenAI::Responses::Tool::ImageGeneration::OrHash, + OpenAI::Responses::Tool::LocalShell::OrHash, + OpenAI::Responses::FunctionShellTool::OrHash, + OpenAI::Responses::CustomTool::OrHash, + OpenAI::Responses::NamespaceTool::OrHash, + OpenAI::Responses::ToolSearchTool::OrHash, + OpenAI::Responses::ApplyPatchTool::OrHash, + OpenAI::Responses::WebSearchTool::OrHash, + OpenAI::Responses::WebSearchPreviewTool::OrHash + ) + ], + type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The unique ID of the additional tools item. + id:, + # The role that provided the additional tools. + role:, + # The additional tool definitions made available at this item. + tools:, + # The type of the item. Always `additional_tools`. + type: :additional_tools + ) + end + + sig do + override.returns( + { + id: String, + role: + OpenAI::Responses::ResponseItem::AdditionalTools::Role::TaggedSymbol, + tools: T::Array[OpenAI::Responses::Tool::Variants], + type: Symbol + } + ) + end + def to_hash + end + + # The role that provided the additional tools. + module Role + extend OpenAI::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + OpenAI::Responses::ResponseItem::AdditionalTools::Role + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + UNKNOWN = + T.let( + :unknown, + OpenAI::Responses::ResponseItem::AdditionalTools::Role::TaggedSymbol + ) + USER = + T.let( + :user, + OpenAI::Responses::ResponseItem::AdditionalTools::Role::TaggedSymbol + ) + ASSISTANT = + T.let( + :assistant, + OpenAI::Responses::ResponseItem::AdditionalTools::Role::TaggedSymbol + ) + SYSTEM = + T.let( + :system, + OpenAI::Responses::ResponseItem::AdditionalTools::Role::TaggedSymbol + ) + CRITIC = + T.let( + :critic, + OpenAI::Responses::ResponseItem::AdditionalTools::Role::TaggedSymbol + ) + DISCRIMINATOR = + T.let( + :discriminator, + OpenAI::Responses::ResponseItem::AdditionalTools::Role::TaggedSymbol + ) + DEVELOPER = + T.let( + :developer, + OpenAI::Responses::ResponseItem::AdditionalTools::Role::TaggedSymbol + ) + TOOL = + T.let( + :tool, + OpenAI::Responses::ResponseItem::AdditionalTools::Role::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + OpenAI::Responses::ResponseItem::AdditionalTools::Role::TaggedSymbol + ] + ) + end + def self.values + end + end + end + class ImageGenerationCall < OpenAI::Internal::Type::BaseModel OrHash = T.type_alias do diff --git a/rbi/openai/models/responses/response_item_list.rbi b/rbi/openai/models/responses/response_item_list.rbi index 90233d20..a316e1c6 100644 --- a/rbi/openai/models/responses/response_item_list.rbi +++ b/rbi/openai/models/responses/response_item_list.rbi @@ -50,6 +50,7 @@ module OpenAI OpenAI::Responses::ResponseFunctionToolCallOutputItem::OrHash, OpenAI::Responses::ResponseToolSearchCall::OrHash, OpenAI::Responses::ResponseToolSearchOutputItem::OrHash, + OpenAI::Responses::ResponseItem::AdditionalTools::OrHash, OpenAI::Responses::ResponseReasoningItem::OrHash, OpenAI::Responses::ResponseCompactionItem::OrHash, OpenAI::Responses::ResponseItem::ImageGenerationCall::OrHash, diff --git a/rbi/openai/models/responses/response_output_item.rbi b/rbi/openai/models/responses/response_output_item.rbi index 50b8bb66..5668d742 100644 --- a/rbi/openai/models/responses/response_output_item.rbi +++ b/rbi/openai/models/responses/response_output_item.rbi @@ -20,6 +20,7 @@ module OpenAI OpenAI::Responses::ResponseReasoningItem, OpenAI::Responses::ResponseToolSearchCall, OpenAI::Responses::ResponseToolSearchOutputItem, + OpenAI::Responses::ResponseOutputItem::AdditionalTools, OpenAI::Responses::ResponseCompactionItem, OpenAI::Responses::ResponseOutputItem::ImageGenerationCall, OpenAI::Responses::ResponseCodeInterpreterToolCall, @@ -38,6 +39,155 @@ module OpenAI ) end + class AdditionalTools < OpenAI::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + OpenAI::Responses::ResponseOutputItem::AdditionalTools, + OpenAI::Internal::AnyHash + ) + end + + # The unique ID of the additional tools item. + sig { returns(String) } + attr_accessor :id + + # The role that provided the additional tools. + sig do + returns( + OpenAI::Responses::ResponseOutputItem::AdditionalTools::Role::TaggedSymbol + ) + end + attr_accessor :role + + # The additional tool definitions made available at this item. + sig { returns(T::Array[OpenAI::Responses::Tool::Variants]) } + attr_accessor :tools + + # The type of the item. Always `additional_tools`. + sig { returns(Symbol) } + attr_accessor :type + + sig do + params( + id: String, + role: + OpenAI::Responses::ResponseOutputItem::AdditionalTools::Role::OrSymbol, + tools: + T::Array[ + T.any( + OpenAI::Responses::FunctionTool::OrHash, + OpenAI::Responses::FileSearchTool::OrHash, + OpenAI::Responses::ComputerTool::OrHash, + OpenAI::Responses::ComputerUsePreviewTool::OrHash, + OpenAI::Responses::Tool::Mcp::OrHash, + OpenAI::Responses::Tool::CodeInterpreter::OrHash, + OpenAI::Responses::Tool::ImageGeneration::OrHash, + OpenAI::Responses::Tool::LocalShell::OrHash, + OpenAI::Responses::FunctionShellTool::OrHash, + OpenAI::Responses::CustomTool::OrHash, + OpenAI::Responses::NamespaceTool::OrHash, + OpenAI::Responses::ToolSearchTool::OrHash, + OpenAI::Responses::ApplyPatchTool::OrHash, + OpenAI::Responses::WebSearchTool::OrHash, + OpenAI::Responses::WebSearchPreviewTool::OrHash + ) + ], + type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The unique ID of the additional tools item. + id:, + # The role that provided the additional tools. + role:, + # The additional tool definitions made available at this item. + tools:, + # The type of the item. Always `additional_tools`. + type: :additional_tools + ) + end + + sig do + override.returns( + { + id: String, + role: + OpenAI::Responses::ResponseOutputItem::AdditionalTools::Role::TaggedSymbol, + tools: T::Array[OpenAI::Responses::Tool::Variants], + type: Symbol + } + ) + end + def to_hash + end + + # The role that provided the additional tools. + module Role + extend OpenAI::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + OpenAI::Responses::ResponseOutputItem::AdditionalTools::Role + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + UNKNOWN = + T.let( + :unknown, + OpenAI::Responses::ResponseOutputItem::AdditionalTools::Role::TaggedSymbol + ) + USER = + T.let( + :user, + OpenAI::Responses::ResponseOutputItem::AdditionalTools::Role::TaggedSymbol + ) + ASSISTANT = + T.let( + :assistant, + OpenAI::Responses::ResponseOutputItem::AdditionalTools::Role::TaggedSymbol + ) + SYSTEM = + T.let( + :system, + OpenAI::Responses::ResponseOutputItem::AdditionalTools::Role::TaggedSymbol + ) + CRITIC = + T.let( + :critic, + OpenAI::Responses::ResponseOutputItem::AdditionalTools::Role::TaggedSymbol + ) + DISCRIMINATOR = + T.let( + :discriminator, + OpenAI::Responses::ResponseOutputItem::AdditionalTools::Role::TaggedSymbol + ) + DEVELOPER = + T.let( + :developer, + OpenAI::Responses::ResponseOutputItem::AdditionalTools::Role::TaggedSymbol + ) + TOOL = + T.let( + :tool, + OpenAI::Responses::ResponseOutputItem::AdditionalTools::Role::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + OpenAI::Responses::ResponseOutputItem::AdditionalTools::Role::TaggedSymbol + ] + ) + end + def self.values + end + end + end + class ImageGenerationCall < OpenAI::Internal::Type::BaseModel OrHash = T.type_alias do diff --git a/rbi/openai/models/responses/response_output_item_added_event.rbi b/rbi/openai/models/responses/response_output_item_added_event.rbi index 69240e87..cce0bf99 100644 --- a/rbi/openai/models/responses/response_output_item_added_event.rbi +++ b/rbi/openai/models/responses/response_output_item_added_event.rbi @@ -43,6 +43,7 @@ module OpenAI OpenAI::Responses::ResponseReasoningItem::OrHash, OpenAI::Responses::ResponseToolSearchCall::OrHash, OpenAI::Responses::ResponseToolSearchOutputItem::OrHash, + OpenAI::Responses::ResponseOutputItem::AdditionalTools::OrHash, OpenAI::Responses::ResponseCompactionItem::OrHash, OpenAI::Responses::ResponseOutputItem::ImageGenerationCall::OrHash, OpenAI::Responses::ResponseCodeInterpreterToolCall::OrHash, diff --git a/rbi/openai/models/responses/response_output_item_done_event.rbi b/rbi/openai/models/responses/response_output_item_done_event.rbi index b1079362..c8f66dba 100644 --- a/rbi/openai/models/responses/response_output_item_done_event.rbi +++ b/rbi/openai/models/responses/response_output_item_done_event.rbi @@ -43,6 +43,7 @@ module OpenAI OpenAI::Responses::ResponseReasoningItem::OrHash, OpenAI::Responses::ResponseToolSearchCall::OrHash, OpenAI::Responses::ResponseToolSearchOutputItem::OrHash, + OpenAI::Responses::ResponseOutputItem::AdditionalTools::OrHash, OpenAI::Responses::ResponseCompactionItem::OrHash, OpenAI::Responses::ResponseOutputItem::ImageGenerationCall::OrHash, OpenAI::Responses::ResponseCodeInterpreterToolCall::OrHash, diff --git a/rbi/openai/models/responses/responses_client_event.rbi b/rbi/openai/models/responses/responses_client_event.rbi index 09d725d0..51db98f2 100644 --- a/rbi/openai/models/responses/responses_client_event.rbi +++ b/rbi/openai/models/responses/responses_client_event.rbi @@ -190,6 +190,14 @@ module OpenAI # prompt caching, which keeps cached prefixes active for longer, up to a maximum # of 24 hours. # [Learn more](https://platform.openai.com/docs/guides/prompt-caching#prompt-cache-retention). + # For `gpt-5.5`, `gpt-5.5-pro`, and future models, only `24h` is supported. + # + # For older models that support both `in_memory` and `24h`, the default depends on + # your organization's data retention policy: + # + # - Organizations without ZDR enabled default to `24h`. + # - Organizations with ZDR enabled default to `in_memory` when + # `prompt_cache_retention` is not specified. sig do returns( T.nilable( @@ -626,6 +634,14 @@ module OpenAI # prompt caching, which keeps cached prefixes active for longer, up to a maximum # of 24 hours. # [Learn more](https://platform.openai.com/docs/guides/prompt-caching#prompt-cache-retention). + # For `gpt-5.5`, `gpt-5.5-pro`, and future models, only `24h` is supported. + # + # For older models that support both `in_memory` and `24h`, the default depends on + # your organization's data retention policy: + # + # - Organizations without ZDR enabled default to `24h`. + # - Organizations with ZDR enabled default to `in_memory` when + # `prompt_cache_retention` is not specified. prompt_cache_retention: nil, # **gpt-5 and o-series models only** # @@ -922,6 +938,14 @@ module OpenAI # prompt caching, which keeps cached prefixes active for longer, up to a maximum # of 24 hours. # [Learn more](https://platform.openai.com/docs/guides/prompt-caching#prompt-cache-retention). + # For `gpt-5.5`, `gpt-5.5-pro`, and future models, only `24h` is supported. + # + # For older models that support both `in_memory` and `24h`, the default depends on + # your organization's data retention policy: + # + # - Organizations without ZDR enabled default to `24h`. + # - Organizations with ZDR enabled default to `in_memory` when + # `prompt_cache_retention` is not specified. module PromptCacheRetention extend OpenAI::Internal::Type::Enum diff --git a/rbi/openai/resources/chat/completions.rbi b/rbi/openai/resources/chat/completions.rbi index c2aa9146..0196b21d 100644 --- a/rbi/openai/resources/chat/completions.rbi +++ b/rbi/openai/resources/chat/completions.rbi @@ -232,6 +232,14 @@ module OpenAI # prompt caching, which keeps cached prefixes active for longer, up to a maximum # of 24 hours. # [Learn more](https://platform.openai.com/docs/guides/prompt-caching#prompt-cache-retention). + # For `gpt-5.5`, `gpt-5.5-pro`, and future models, only `24h` is supported. + # + # For older models that support both `in_memory` and `24h`, the default depends on + # your organization's data retention policy: + # + # - Organizations without ZDR enabled default to `24h`. + # - Organizations with ZDR enabled default to `in_memory` when + # `prompt_cache_retention` is not specified. prompt_cache_retention: nil, # Constrains effort on reasoning for # [reasoning models](https://platform.openai.com/docs/guides/reasoning). Currently @@ -571,6 +579,14 @@ module OpenAI # prompt caching, which keeps cached prefixes active for longer, up to a maximum # of 24 hours. # [Learn more](https://platform.openai.com/docs/guides/prompt-caching#prompt-cache-retention). + # For `gpt-5.5`, `gpt-5.5-pro`, and future models, only `24h` is supported. + # + # For older models that support both `in_memory` and `24h`, the default depends on + # your organization's data retention policy: + # + # - Organizations without ZDR enabled default to `24h`. + # - Organizations with ZDR enabled default to `in_memory` when + # `prompt_cache_retention` is not specified. prompt_cache_retention: nil, # Constrains effort on reasoning for # [reasoning models](https://platform.openai.com/docs/guides/reasoning). Currently diff --git a/rbi/openai/resources/conversations.rbi b/rbi/openai/resources/conversations.rbi index 5c042f39..b1ff8046 100644 --- a/rbi/openai/resources/conversations.rbi +++ b/rbi/openai/resources/conversations.rbi @@ -26,6 +26,7 @@ module OpenAI OpenAI::Responses::ResponseInputItem::FunctionCallOutput::OrHash, OpenAI::Responses::ResponseInputItem::ToolSearchCall::OrHash, OpenAI::Responses::ResponseToolSearchOutputItemParam::OrHash, + OpenAI::Responses::ResponseInputItem::AdditionalTools::OrHash, OpenAI::Responses::ResponseReasoningItem::OrHash, OpenAI::Responses::ResponseCompactionItemParam::OrHash, OpenAI::Responses::ResponseInputItem::ImageGenerationCall::OrHash, diff --git a/rbi/openai/resources/conversations/items.rbi b/rbi/openai/resources/conversations/items.rbi index 4d450620..daa9ea2a 100644 --- a/rbi/openai/resources/conversations/items.rbi +++ b/rbi/openai/resources/conversations/items.rbi @@ -23,6 +23,7 @@ module OpenAI OpenAI::Responses::ResponseInputItem::FunctionCallOutput::OrHash, OpenAI::Responses::ResponseInputItem::ToolSearchCall::OrHash, OpenAI::Responses::ResponseToolSearchOutputItemParam::OrHash, + OpenAI::Responses::ResponseInputItem::AdditionalTools::OrHash, OpenAI::Responses::ResponseReasoningItem::OrHash, OpenAI::Responses::ResponseCompactionItemParam::OrHash, OpenAI::Responses::ResponseInputItem::ImageGenerationCall::OrHash, diff --git a/rbi/openai/resources/responses.rbi b/rbi/openai/resources/responses.rbi index 167d04b2..b15ca3cb 100644 --- a/rbi/openai/resources/responses.rbi +++ b/rbi/openai/resources/responses.rbi @@ -206,6 +206,14 @@ module OpenAI # prompt caching, which keeps cached prefixes active for longer, up to a maximum # of 24 hours. # [Learn more](https://platform.openai.com/docs/guides/prompt-caching#prompt-cache-retention). + # For `gpt-5.5`, `gpt-5.5-pro`, and future models, only `24h` is supported. + # + # For older models that support both `in_memory` and `24h`, the default depends on + # your organization's data retention policy: + # + # - Organizations without ZDR enabled default to `24h`. + # - Organizations with ZDR enabled default to `in_memory` when + # `prompt_cache_retention` is not specified. prompt_cache_retention: nil, # **gpt-5 and o-series models only** # @@ -509,6 +517,14 @@ module OpenAI # prompt caching, which keeps cached prefixes active for longer, up to a maximum # of 24 hours. # [Learn more](https://platform.openai.com/docs/guides/prompt-caching#prompt-cache-retention). + # For `gpt-5.5`, `gpt-5.5-pro`, and future models, only `24h` is supported. + # + # For older models that support both `in_memory` and `24h`, the default depends on + # your organization's data retention policy: + # + # - Organizations without ZDR enabled default to `24h`. + # - Organizations with ZDR enabled default to `in_memory` when + # `prompt_cache_retention` is not specified. prompt_cache_retention: nil, # **gpt-5 and o-series models only** # diff --git a/rbi/openai/resources/responses/input_tokens.rbi b/rbi/openai/resources/responses/input_tokens.rbi index ef8511e2..ce2b015d 100644 --- a/rbi/openai/resources/responses/input_tokens.rbi +++ b/rbi/openai/resources/responses/input_tokens.rbi @@ -24,6 +24,11 @@ module OpenAI instructions: T.nilable(String), model: T.nilable(String), parallel_tool_calls: T.nilable(T::Boolean), + personality: + T.any( + String, + OpenAI::Responses::InputTokenCountParams::Personality::OrSymbol + ), previous_response_id: T.nilable(String), reasoning: T.nilable(OpenAI::Reasoning::OrHash), text: @@ -89,6 +94,10 @@ module OpenAI model: nil, # Whether to allow the model to run tool calls in parallel. parallel_tool_calls: nil, + # A model-owned style preset to apply to this request. Omit this parameter to use + # the model's default style. Supported values may expand over time. Values must be + # at most 64 characters. + personality: nil, # The unique ID of the previous response to the model. Use this to create # multi-turn conversations. Learn more about # [conversation state](https://platform.openai.com/docs/guides/conversation-state). diff --git a/sig/openai/models/admin/organization/audit_log_list_params.rbs b/sig/openai/models/admin/organization/audit_log_list_params.rbs index 8d4700e5..7eca0657 100644 --- a/sig/openai/models/admin/organization/audit_log_list_params.rbs +++ b/sig/openai/models/admin/organization/audit_log_list_params.rbs @@ -160,6 +160,12 @@ module OpenAI | :"tunnel.created" | :"tunnel.updated" | :"tunnel.deleted" + | :"workload_identity_provider.created" + | :"workload_identity_provider.updated" + | :"workload_identity_provider.deleted" + | :"workload_identity_provider_mapping.created" + | :"workload_identity_provider_mapping.updated" + | :"workload_identity_provider_mapping.deleted" | :"role.created" | :"role.updated" | :"role.deleted" @@ -215,6 +221,12 @@ module OpenAI TUNNEL_CREATED: :"tunnel.created" TUNNEL_UPDATED: :"tunnel.updated" TUNNEL_DELETED: :"tunnel.deleted" + WORKLOAD_IDENTITY_PROVIDER_CREATED: :"workload_identity_provider.created" + WORKLOAD_IDENTITY_PROVIDER_UPDATED: :"workload_identity_provider.updated" + WORKLOAD_IDENTITY_PROVIDER_DELETED: :"workload_identity_provider.deleted" + WORKLOAD_IDENTITY_PROVIDER_MAPPING_CREATED: :"workload_identity_provider_mapping.created" + WORKLOAD_IDENTITY_PROVIDER_MAPPING_UPDATED: :"workload_identity_provider_mapping.updated" + WORKLOAD_IDENTITY_PROVIDER_MAPPING_DELETED: :"workload_identity_provider_mapping.deleted" ROLE_CREATED: :"role.created" ROLE_UPDATED: :"role.updated" ROLE_DELETED: :"role.deleted" diff --git a/sig/openai/models/admin/organization/audit_log_list_response.rbs b/sig/openai/models/admin/organization/audit_log_list_response.rbs index 7c495f80..4996d1b4 100644 --- a/sig/openai/models/admin/organization/audit_log_list_response.rbs +++ b/sig/openai/models/admin/organization/audit_log_list_response.rbs @@ -55,7 +55,13 @@ module OpenAI service_account_updated: OpenAI::Models::Admin::Organization::AuditLogListResponse::ServiceAccountUpdated, user_added: OpenAI::Models::Admin::Organization::AuditLogListResponse::UserAdded, user_deleted: OpenAI::Models::Admin::Organization::AuditLogListResponse::UserDeleted, - user_updated: OpenAI::Models::Admin::Organization::AuditLogListResponse::UserUpdated + user_updated: OpenAI::Models::Admin::Organization::AuditLogListResponse::UserUpdated, + workload_identity_provider_mapping_created: OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderMappingCreated, + workload_identity_provider_mapping_deleted: OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderMappingDeleted, + workload_identity_provider_mapping_updated: OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderMappingUpdated, + workload_identity_provider_created: OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderCreated, + workload_identity_provider_deleted: OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderDeleted, + workload_identity_provider_updated: OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderUpdated } class AuditLogListResponse < OpenAI::Internal::Type::BaseModel @@ -351,6 +357,42 @@ module OpenAI OpenAI::Models::Admin::Organization::AuditLogListResponse::UserUpdated ) -> OpenAI::Models::Admin::Organization::AuditLogListResponse::UserUpdated + attr_reader workload_identity_provider_mapping_created: OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderMappingCreated? + + def workload_identity_provider_mapping_created=: ( + OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderMappingCreated + ) -> OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderMappingCreated + + attr_reader workload_identity_provider_mapping_deleted: OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderMappingDeleted? + + def workload_identity_provider_mapping_deleted=: ( + OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderMappingDeleted + ) -> OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderMappingDeleted + + attr_reader workload_identity_provider_mapping_updated: OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderMappingUpdated? + + def workload_identity_provider_mapping_updated=: ( + OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderMappingUpdated + ) -> OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderMappingUpdated + + attr_reader workload_identity_provider_created: OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderCreated? + + def workload_identity_provider_created=: ( + OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderCreated + ) -> OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderCreated + + attr_reader workload_identity_provider_deleted: OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderDeleted? + + def workload_identity_provider_deleted=: ( + OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderDeleted + ) -> OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderDeleted + + attr_reader workload_identity_provider_updated: OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderUpdated? + + def workload_identity_provider_updated=: ( + OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderUpdated + ) -> OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderUpdated + def initialize: ( id: String, effective_at: Integer, @@ -403,7 +445,13 @@ module OpenAI ?service_account_updated: OpenAI::Models::Admin::Organization::AuditLogListResponse::ServiceAccountUpdated, ?user_added: OpenAI::Models::Admin::Organization::AuditLogListResponse::UserAdded, ?user_deleted: OpenAI::Models::Admin::Organization::AuditLogListResponse::UserDeleted, - ?user_updated: OpenAI::Models::Admin::Organization::AuditLogListResponse::UserUpdated + ?user_updated: OpenAI::Models::Admin::Organization::AuditLogListResponse::UserUpdated, + ?workload_identity_provider_mapping_created: OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderMappingCreated, + ?workload_identity_provider_mapping_deleted: OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderMappingDeleted, + ?workload_identity_provider_mapping_updated: OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderMappingUpdated, + ?workload_identity_provider_created: OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderCreated, + ?workload_identity_provider_deleted: OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderDeleted, + ?workload_identity_provider_updated: OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderUpdated ) -> void def to_hash: -> { @@ -458,7 +506,13 @@ module OpenAI service_account_updated: OpenAI::Models::Admin::Organization::AuditLogListResponse::ServiceAccountUpdated, user_added: OpenAI::Models::Admin::Organization::AuditLogListResponse::UserAdded, user_deleted: OpenAI::Models::Admin::Organization::AuditLogListResponse::UserDeleted, - user_updated: OpenAI::Models::Admin::Organization::AuditLogListResponse::UserUpdated + user_updated: OpenAI::Models::Admin::Organization::AuditLogListResponse::UserUpdated, + workload_identity_provider_mapping_created: OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderMappingCreated, + workload_identity_provider_mapping_deleted: OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderMappingDeleted, + workload_identity_provider_mapping_updated: OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderMappingUpdated, + workload_identity_provider_created: OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderCreated, + workload_identity_provider_deleted: OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderDeleted, + workload_identity_provider_updated: OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderUpdated } type type_ = @@ -500,6 +554,12 @@ module OpenAI | :"tunnel.created" | :"tunnel.updated" | :"tunnel.deleted" + | :"workload_identity_provider.created" + | :"workload_identity_provider.updated" + | :"workload_identity_provider.deleted" + | :"workload_identity_provider_mapping.created" + | :"workload_identity_provider_mapping.updated" + | :"workload_identity_provider_mapping.deleted" | :"role.created" | :"role.updated" | :"role.deleted" @@ -555,6 +615,12 @@ module OpenAI TUNNEL_CREATED: :"tunnel.created" TUNNEL_UPDATED: :"tunnel.updated" TUNNEL_DELETED: :"tunnel.deleted" + WORKLOAD_IDENTITY_PROVIDER_CREATED: :"workload_identity_provider.created" + WORKLOAD_IDENTITY_PROVIDER_UPDATED: :"workload_identity_provider.updated" + WORKLOAD_IDENTITY_PROVIDER_DELETED: :"workload_identity_provider.deleted" + WORKLOAD_IDENTITY_PROVIDER_MAPPING_CREATED: :"workload_identity_provider_mapping.created" + WORKLOAD_IDENTITY_PROVIDER_MAPPING_UPDATED: :"workload_identity_provider_mapping.updated" + WORKLOAD_IDENTITY_PROVIDER_MAPPING_DELETED: :"workload_identity_provider_mapping.deleted" ROLE_CREATED: :"role.created" ROLE_UPDATED: :"role.updated" ROLE_DELETED: :"role.deleted" @@ -2168,6 +2234,153 @@ module OpenAI def to_hash: -> { role: String } end end + + type workload_identity_provider_mapping_created = + { id: String, data: top, identity_provider_id: String } + + class WorkloadIdentityProviderMappingCreated < OpenAI::Internal::Type::BaseModel + attr_reader id: String? + + def id=: (String) -> String + + attr_reader data: top? + + def data=: (top) -> top + + attr_reader identity_provider_id: String? + + def identity_provider_id=: (String) -> String + + def initialize: ( + ?id: String, + ?data: top, + ?identity_provider_id: String + ) -> void + + def to_hash: -> { + id: String, + data: top, + identity_provider_id: String + } + end + + type workload_identity_provider_mapping_deleted = + { + id: String, + identity_provider_id: String, + project_id: String, + service_account_id: String + } + + class WorkloadIdentityProviderMappingDeleted < OpenAI::Internal::Type::BaseModel + attr_reader id: String? + + def id=: (String) -> String + + attr_reader identity_provider_id: String? + + def identity_provider_id=: (String) -> String + + attr_reader project_id: String? + + def project_id=: (String) -> String + + attr_reader service_account_id: String? + + def service_account_id=: (String) -> String + + def initialize: ( + ?id: String, + ?identity_provider_id: String, + ?project_id: String, + ?service_account_id: String + ) -> void + + def to_hash: -> { + id: String, + identity_provider_id: String, + project_id: String, + service_account_id: String + } + end + + type workload_identity_provider_mapping_updated = + { id: String, changes_requested: top, identity_provider_id: String } + + class WorkloadIdentityProviderMappingUpdated < OpenAI::Internal::Type::BaseModel + attr_reader id: String? + + def id=: (String) -> String + + attr_reader changes_requested: top? + + def changes_requested=: (top) -> top + + attr_reader identity_provider_id: String? + + def identity_provider_id=: (String) -> String + + def initialize: ( + ?id: String, + ?changes_requested: top, + ?identity_provider_id: String + ) -> void + + def to_hash: -> { + id: String, + changes_requested: top, + identity_provider_id: String + } + end + + type workload_identity_provider_created = { id: String, data: top } + + class WorkloadIdentityProviderCreated < OpenAI::Internal::Type::BaseModel + attr_reader id: String? + + def id=: (String) -> String + + attr_reader data: top? + + def data=: (top) -> top + + def initialize: (?id: String, ?data: top) -> void + + def to_hash: -> { id: String, data: top } + end + + type workload_identity_provider_deleted = { id: String, name: String } + + class WorkloadIdentityProviderDeleted < OpenAI::Internal::Type::BaseModel + attr_reader id: String? + + def id=: (String) -> String + + attr_reader name: String? + + def name=: (String) -> String + + def initialize: (?id: String, ?name: String) -> void + + def to_hash: -> { id: String, name: String } + end + + type workload_identity_provider_updated = + { id: String, changes_requested: top } + + class WorkloadIdentityProviderUpdated < OpenAI::Internal::Type::BaseModel + attr_reader id: String? + + def id=: (String) -> String + + attr_reader changes_requested: top? + + def changes_requested=: (top) -> top + + def initialize: (?id: String, ?changes_requested: top) -> void + + def to_hash: -> { id: String, changes_requested: top } + end end end end diff --git a/sig/openai/models/conversations/conversation_item.rbs b/sig/openai/models/conversations/conversation_item.rbs index 6c99ced3..5ab858cd 100644 --- a/sig/openai/models/conversations/conversation_item.rbs +++ b/sig/openai/models/conversations/conversation_item.rbs @@ -14,6 +14,7 @@ module OpenAI | OpenAI::Responses::ResponseComputerToolCallOutputItem | OpenAI::Responses::ResponseToolSearchCall | OpenAI::Responses::ResponseToolSearchOutputItem + | OpenAI::Conversations::ConversationItem::AdditionalTools | OpenAI::Responses::ResponseReasoningItem | OpenAI::Responses::ResponseCompactionItem | OpenAI::Responses::ResponseCodeInterpreterToolCall @@ -78,6 +79,63 @@ module OpenAI end end + type additional_tools = + { + id: String, + role: OpenAI::Models::Conversations::ConversationItem::AdditionalTools::role, + tools: ::Array[OpenAI::Models::Responses::tool], + type: :additional_tools + } + + class AdditionalTools < OpenAI::Internal::Type::BaseModel + attr_accessor id: String + + attr_accessor role: OpenAI::Models::Conversations::ConversationItem::AdditionalTools::role + + attr_accessor tools: ::Array[OpenAI::Models::Responses::tool] + + attr_accessor type: :additional_tools + + def initialize: ( + id: String, + role: OpenAI::Models::Conversations::ConversationItem::AdditionalTools::role, + tools: ::Array[OpenAI::Models::Responses::tool], + ?type: :additional_tools + ) -> void + + def to_hash: -> { + id: String, + role: OpenAI::Models::Conversations::ConversationItem::AdditionalTools::role, + tools: ::Array[OpenAI::Models::Responses::tool], + type: :additional_tools + } + + type role = + :unknown + | :user + | :assistant + | :system + | :critic + | :discriminator + | :developer + | :tool + + module Role + extend OpenAI::Internal::Type::Enum + + UNKNOWN: :unknown + USER: :user + ASSISTANT: :assistant + SYSTEM: :system + CRITIC: :critic + DISCRIMINATOR: :discriminator + DEVELOPER: :developer + TOOL: :tool + + def self?.values: -> ::Array[OpenAI::Models::Conversations::ConversationItem::AdditionalTools::role] + end + end + type local_shell_call = { id: String, diff --git a/sig/openai/models/responses/input_token_count_params.rbs b/sig/openai/models/responses/input_token_count_params.rbs index c5c5ea7d..8bc34ed8 100644 --- a/sig/openai/models/responses/input_token_count_params.rbs +++ b/sig/openai/models/responses/input_token_count_params.rbs @@ -8,6 +8,7 @@ module OpenAI instructions: String?, model: String?, parallel_tool_calls: bool?, + personality: OpenAI::Models::Responses::InputTokenCountParams::personality, previous_response_id: String?, reasoning: OpenAI::Reasoning?, text: OpenAI::Responses::InputTokenCountParams::Text?, @@ -31,6 +32,12 @@ module OpenAI attr_accessor parallel_tool_calls: bool? + attr_reader personality: OpenAI::Models::Responses::InputTokenCountParams::personality? + + def personality=: ( + OpenAI::Models::Responses::InputTokenCountParams::personality + ) -> OpenAI::Models::Responses::InputTokenCountParams::personality + attr_accessor previous_response_id: String? attr_accessor reasoning: OpenAI::Reasoning? @@ -53,6 +60,7 @@ module OpenAI ?instructions: String?, ?model: String?, ?parallel_tool_calls: bool?, + ?personality: OpenAI::Models::Responses::InputTokenCountParams::personality, ?previous_response_id: String?, ?reasoning: OpenAI::Reasoning?, ?text: OpenAI::Responses::InputTokenCountParams::Text?, @@ -68,6 +76,7 @@ module OpenAI instructions: String?, model: String?, parallel_tool_calls: bool?, + personality: OpenAI::Models::Responses::InputTokenCountParams::personality, previous_response_id: String?, reasoning: OpenAI::Reasoning?, text: OpenAI::Responses::InputTokenCountParams::Text?, @@ -97,6 +106,17 @@ module OpenAI ResponseInputItemArray: OpenAI::Internal::Type::Converter end + type personality = String | :friendly | :pragmatic + + module Personality + extend OpenAI::Internal::Type::Union + + def self?.variants: -> ::Array[OpenAI::Models::Responses::InputTokenCountParams::personality] + + FRIENDLY: :friendly + PRAGMATIC: :pragmatic + end + type text = { format_: OpenAI::Models::Responses::response_format_text_config, diff --git a/sig/openai/models/responses/response_function_web_search.rbs b/sig/openai/models/responses/response_function_web_search.rbs index 0be0959a..744ec087 100644 --- a/sig/openai/models/responses/response_function_web_search.rbs +++ b/sig/openai/models/responses/response_function_web_search.rbs @@ -42,21 +42,23 @@ module OpenAI type search = { - query: String, type: :search, queries: ::Array[String], + query: String, sources: ::Array[OpenAI::Responses::ResponseFunctionWebSearch::Action::Search::Source] } class Search < OpenAI::Internal::Type::BaseModel - attr_accessor query: String - attr_accessor type: :search attr_reader queries: ::Array[String]? def queries=: (::Array[String]) -> ::Array[String] + attr_reader query: String? + + def query=: (String) -> String + attr_reader sources: ::Array[OpenAI::Responses::ResponseFunctionWebSearch::Action::Search::Source]? def sources=: ( @@ -64,16 +66,16 @@ module OpenAI ) -> ::Array[OpenAI::Responses::ResponseFunctionWebSearch::Action::Search::Source] def initialize: ( - query: String, ?queries: ::Array[String], + ?query: String, ?sources: ::Array[OpenAI::Responses::ResponseFunctionWebSearch::Action::Search::Source], ?type: :search ) -> void def to_hash: -> { - query: String, type: :search, queries: ::Array[String], + query: String, sources: ::Array[OpenAI::Responses::ResponseFunctionWebSearch::Action::Search::Source] } diff --git a/sig/openai/models/responses/response_input_item.rbs b/sig/openai/models/responses/response_input_item.rbs index 00f21802..f1906982 100644 --- a/sig/openai/models/responses/response_input_item.rbs +++ b/sig/openai/models/responses/response_input_item.rbs @@ -13,6 +13,7 @@ module OpenAI | OpenAI::Responses::ResponseInputItem::FunctionCallOutput | OpenAI::Responses::ResponseInputItem::ToolSearchCall | OpenAI::Responses::ResponseToolSearchOutputItemParam + | OpenAI::Responses::ResponseInputItem::AdditionalTools | OpenAI::Responses::ResponseReasoningItem | OpenAI::Responses::ResponseCompactionItemParam | OpenAI::Responses::ResponseInputItem::ImageGenerationCall @@ -310,6 +311,38 @@ module OpenAI end end + type additional_tools = + { + role: :developer, + tools: ::Array[OpenAI::Models::Responses::tool], + type: :additional_tools, + id: String? + } + + class AdditionalTools < OpenAI::Internal::Type::BaseModel + attr_accessor role: :developer + + attr_accessor tools: ::Array[OpenAI::Models::Responses::tool] + + attr_accessor type: :additional_tools + + attr_accessor id: String? + + def initialize: ( + tools: ::Array[OpenAI::Models::Responses::tool], + ?id: String?, + ?role: :developer, + ?type: :additional_tools + ) -> void + + def to_hash: -> { + role: :developer, + tools: ::Array[OpenAI::Models::Responses::tool], + type: :additional_tools, + id: String? + } + end + type image_generation_call = { id: String, diff --git a/sig/openai/models/responses/response_item.rbs b/sig/openai/models/responses/response_item.rbs index 6685b10b..2a6e6225 100644 --- a/sig/openai/models/responses/response_item.rbs +++ b/sig/openai/models/responses/response_item.rbs @@ -12,6 +12,7 @@ module OpenAI | OpenAI::Responses::ResponseFunctionToolCallOutputItem | OpenAI::Responses::ResponseToolSearchCall | OpenAI::Responses::ResponseToolSearchOutputItem + | OpenAI::Responses::ResponseItem::AdditionalTools | OpenAI::Responses::ResponseReasoningItem | OpenAI::Responses::ResponseCompactionItem | OpenAI::Responses::ResponseItem::ImageGenerationCall @@ -32,6 +33,63 @@ module OpenAI module ResponseItem extend OpenAI::Internal::Type::Union + type additional_tools = + { + id: String, + role: OpenAI::Models::Responses::ResponseItem::AdditionalTools::role, + tools: ::Array[OpenAI::Models::Responses::tool], + type: :additional_tools + } + + class AdditionalTools < OpenAI::Internal::Type::BaseModel + attr_accessor id: String + + attr_accessor role: OpenAI::Models::Responses::ResponseItem::AdditionalTools::role + + attr_accessor tools: ::Array[OpenAI::Models::Responses::tool] + + attr_accessor type: :additional_tools + + def initialize: ( + id: String, + role: OpenAI::Models::Responses::ResponseItem::AdditionalTools::role, + tools: ::Array[OpenAI::Models::Responses::tool], + ?type: :additional_tools + ) -> void + + def to_hash: -> { + id: String, + role: OpenAI::Models::Responses::ResponseItem::AdditionalTools::role, + tools: ::Array[OpenAI::Models::Responses::tool], + type: :additional_tools + } + + type role = + :unknown + | :user + | :assistant + | :system + | :critic + | :discriminator + | :developer + | :tool + + module Role + extend OpenAI::Internal::Type::Enum + + UNKNOWN: :unknown + USER: :user + ASSISTANT: :assistant + SYSTEM: :system + CRITIC: :critic + DISCRIMINATOR: :discriminator + DEVELOPER: :developer + TOOL: :tool + + def self?.values: -> ::Array[OpenAI::Models::Responses::ResponseItem::AdditionalTools::role] + end + end + type image_generation_call = { id: String, diff --git a/sig/openai/models/responses/response_output_item.rbs b/sig/openai/models/responses/response_output_item.rbs index 6bd76ac1..d732ab50 100644 --- a/sig/openai/models/responses/response_output_item.rbs +++ b/sig/openai/models/responses/response_output_item.rbs @@ -12,6 +12,7 @@ module OpenAI | OpenAI::Responses::ResponseReasoningItem | OpenAI::Responses::ResponseToolSearchCall | OpenAI::Responses::ResponseToolSearchOutputItem + | OpenAI::Responses::ResponseOutputItem::AdditionalTools | OpenAI::Responses::ResponseCompactionItem | OpenAI::Responses::ResponseOutputItem::ImageGenerationCall | OpenAI::Responses::ResponseCodeInterpreterToolCall @@ -31,6 +32,63 @@ module OpenAI module ResponseOutputItem extend OpenAI::Internal::Type::Union + type additional_tools = + { + id: String, + role: OpenAI::Models::Responses::ResponseOutputItem::AdditionalTools::role, + tools: ::Array[OpenAI::Models::Responses::tool], + type: :additional_tools + } + + class AdditionalTools < OpenAI::Internal::Type::BaseModel + attr_accessor id: String + + attr_accessor role: OpenAI::Models::Responses::ResponseOutputItem::AdditionalTools::role + + attr_accessor tools: ::Array[OpenAI::Models::Responses::tool] + + attr_accessor type: :additional_tools + + def initialize: ( + id: String, + role: OpenAI::Models::Responses::ResponseOutputItem::AdditionalTools::role, + tools: ::Array[OpenAI::Models::Responses::tool], + ?type: :additional_tools + ) -> void + + def to_hash: -> { + id: String, + role: OpenAI::Models::Responses::ResponseOutputItem::AdditionalTools::role, + tools: ::Array[OpenAI::Models::Responses::tool], + type: :additional_tools + } + + type role = + :unknown + | :user + | :assistant + | :system + | :critic + | :discriminator + | :developer + | :tool + + module Role + extend OpenAI::Internal::Type::Enum + + UNKNOWN: :unknown + USER: :user + ASSISTANT: :assistant + SYSTEM: :system + CRITIC: :critic + DISCRIMINATOR: :discriminator + DEVELOPER: :developer + TOOL: :tool + + def self?.values: -> ::Array[OpenAI::Models::Responses::ResponseOutputItem::AdditionalTools::role] + end + end + type image_generation_call = { id: String, diff --git a/sig/openai/resources/responses/input_tokens.rbs b/sig/openai/resources/responses/input_tokens.rbs index 911de861..f940ff44 100644 --- a/sig/openai/resources/responses/input_tokens.rbs +++ b/sig/openai/resources/responses/input_tokens.rbs @@ -8,6 +8,7 @@ module OpenAI ?instructions: String?, ?model: String?, ?parallel_tool_calls: bool?, + ?personality: OpenAI::Models::Responses::InputTokenCountParams::personality, ?previous_response_id: String?, ?reasoning: OpenAI::Reasoning?, ?text: OpenAI::Responses::InputTokenCountParams::Text?, diff --git a/test/openai/resources/admin/organization/audit_logs_test.rb b/test/openai/resources/admin/organization/audit_logs_test.rb index e3eadc12..5913d1f9 100644 --- a/test/openai/resources/admin/organization/audit_logs_test.rb +++ b/test/openai/resources/admin/organization/audit_logs_test.rb @@ -70,7 +70,13 @@ def test_list service_account_updated: OpenAI::Models::Admin::Organization::AuditLogListResponse::ServiceAccountUpdated | nil, user_added: OpenAI::Models::Admin::Organization::AuditLogListResponse::UserAdded | nil, user_deleted: OpenAI::Models::Admin::Organization::AuditLogListResponse::UserDeleted | nil, - user_updated: OpenAI::Models::Admin::Organization::AuditLogListResponse::UserUpdated | nil + user_updated: OpenAI::Models::Admin::Organization::AuditLogListResponse::UserUpdated | nil, + workload_identity_provider_mapping_created: OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderMappingCreated | nil, + workload_identity_provider_mapping_deleted: OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderMappingDeleted | nil, + workload_identity_provider_mapping_updated: OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderMappingUpdated | nil, + workload_identity_provider_created: OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderCreated | nil, + workload_identity_provider_deleted: OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderDeleted | nil, + workload_identity_provider_updated: OpenAI::Models::Admin::Organization::AuditLogListResponse::WorkloadIdentityProviderUpdated | nil } end end diff --git a/test/openai/resources/conversations/items_test.rb b/test/openai/resources/conversations/items_test.rb index 0f4a5415..73bd9125 100644 --- a/test/openai/resources/conversations/items_test.rb +++ b/test/openai/resources/conversations/items_test.rb @@ -44,6 +44,7 @@ def test_retrieve_required_params in OpenAI::Responses::ResponseComputerToolCallOutputItem in OpenAI::Responses::ResponseToolSearchCall in OpenAI::Responses::ResponseToolSearchOutputItem + in OpenAI::Conversations::ConversationItem::AdditionalTools in OpenAI::Responses::ResponseReasoningItem in OpenAI::Responses::ResponseCompactionItem in OpenAI::Responses::ResponseCodeInterpreterToolCall @@ -135,6 +136,12 @@ def test_retrieve_required_params tools: ^(OpenAI::Internal::Type::ArrayOf[union: OpenAI::Responses::Tool]), created_by: String | nil } + in { + type: :additional_tools, + id: String, + role: OpenAI::Conversations::ConversationItem::AdditionalTools::Role, + tools: ^(OpenAI::Internal::Type::ArrayOf[union: OpenAI::Responses::Tool]) + } in { type: :reasoning, id: String, @@ -262,6 +269,7 @@ def test_list in OpenAI::Responses::ResponseComputerToolCallOutputItem in OpenAI::Responses::ResponseToolSearchCall in OpenAI::Responses::ResponseToolSearchOutputItem + in OpenAI::Conversations::ConversationItem::AdditionalTools in OpenAI::Responses::ResponseReasoningItem in OpenAI::Responses::ResponseCompactionItem in OpenAI::Responses::ResponseCodeInterpreterToolCall @@ -353,6 +361,12 @@ def test_list tools: ^(OpenAI::Internal::Type::ArrayOf[union: OpenAI::Responses::Tool]), created_by: String | nil } + in { + type: :additional_tools, + id: String, + role: OpenAI::Conversations::ConversationItem::AdditionalTools::Role, + tools: ^(OpenAI::Internal::Type::ArrayOf[union: OpenAI::Responses::Tool]) + } in { type: :reasoning, id: String, diff --git a/test/openai/resources/responses/input_items_test.rb b/test/openai/resources/responses/input_items_test.rb index 76404ec2..8929dc85 100644 --- a/test/openai/resources/responses/input_items_test.rb +++ b/test/openai/resources/responses/input_items_test.rb @@ -29,6 +29,7 @@ def test_list in OpenAI::Responses::ResponseFunctionToolCallOutputItem in OpenAI::Responses::ResponseToolSearchCall in OpenAI::Responses::ResponseToolSearchOutputItem + in OpenAI::Responses::ResponseItem::AdditionalTools in OpenAI::Responses::ResponseReasoningItem in OpenAI::Responses::ResponseCompactionItem in OpenAI::Responses::ResponseItem::ImageGenerationCall @@ -122,6 +123,12 @@ def test_list tools: ^(OpenAI::Internal::Type::ArrayOf[union: OpenAI::Responses::Tool]), created_by: String | nil } + in { + type: :additional_tools, + id: String, + role: OpenAI::Responses::ResponseItem::AdditionalTools::Role, + tools: ^(OpenAI::Internal::Type::ArrayOf[union: OpenAI::Responses::Tool]) + } in { type: :reasoning, id: String,