openai 0.115.1 → 0.117.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +26 -0
  3. data/README.md +1 -1
  4. data/lib/openai/helpers/responses_websocket/incremental.rb +500 -154
  5. data/lib/openai/helpers/responses_websocket/session.rb +75 -2
  6. data/lib/openai/models/admin/organization/workload_identity_provider.rb +158 -0
  7. data/lib/openai/models/admin/organization/workload_identity_provider_create_params.rb +143 -0
  8. data/lib/openai/models/admin/organization/workload_identity_provider_delete_params.rb +24 -0
  9. data/lib/openai/models/admin/organization/workload_identity_provider_deleted.rb +32 -0
  10. data/lib/openai/models/admin/organization/workload_identity_provider_list_params.rb +58 -0
  11. data/lib/openai/models/admin/organization/workload_identity_provider_retrieve_params.rb +24 -0
  12. data/lib/openai/models/admin/organization/workload_identity_provider_update_params.rb +143 -0
  13. data/lib/openai/models/admin/organization/workload_identity_providers/federation_rule.rb +161 -0
  14. data/lib/openai/models/admin/organization/workload_identity_providers/federation_rule_create_params.rb +144 -0
  15. data/lib/openai/models/admin/organization/workload_identity_providers/federation_rule_delete_params.rb +32 -0
  16. data/lib/openai/models/admin/organization/workload_identity_providers/federation_rule_deleted.rb +34 -0
  17. data/lib/openai/models/admin/organization/workload_identity_providers/federation_rule_list_params.rb +85 -0
  18. data/lib/openai/models/admin/organization/workload_identity_providers/federation_rule_retrieve_params.rb +32 -0
  19. data/lib/openai/models/admin/organization/workload_identity_providers/federation_rule_update_params.rb +134 -0
  20. data/lib/openai/models/beta/chatkit/chat_session_workflow_param.rb +5 -3
  21. data/lib/openai/models/beta/chatkit_workflow.rb +5 -3
  22. data/lib/openai/models/live/responses_delegation_config.rb +999 -6
  23. data/lib/openai/models/live/responses_delegation_update_config.rb +1043 -6
  24. data/lib/openai/resources/admin/organization/workload_identity_providers/federation_rules.rb +198 -0
  25. data/lib/openai/resources/admin/organization/workload_identity_providers.rb +148 -0
  26. data/lib/openai/resources/admin/organization.rb +6 -0
  27. data/lib/openai/version.rb +1 -1
  28. data/lib/openai.rb +16 -0
  29. data/rbi/openai/helpers/responses_websocket/incremental.rbi +4 -0
  30. data/rbi/openai/models/admin/organization/workload_identity_provider.rbi +288 -0
  31. data/rbi/openai/models/admin/organization/workload_identity_provider_create_params.rbi +311 -0
  32. data/rbi/openai/models/admin/organization/workload_identity_provider_delete_params.rbi +57 -0
  33. data/rbi/openai/models/admin/organization/workload_identity_provider_deleted.rbi +64 -0
  34. data/rbi/openai/models/admin/organization/workload_identity_provider_list_params.rbi +111 -0
  35. data/rbi/openai/models/admin/organization/workload_identity_provider_retrieve_params.rbi +57 -0
  36. data/rbi/openai/models/admin/organization/workload_identity_provider_update_params.rbi +317 -0
  37. data/rbi/openai/models/admin/organization/workload_identity_providers/federation_rule.rbi +276 -0
  38. data/rbi/openai/models/admin/organization/workload_identity_providers/federation_rule_create_params.rbi +282 -0
  39. data/rbi/openai/models/admin/organization/workload_identity_providers/federation_rule_delete_params.rbi +72 -0
  40. data/rbi/openai/models/admin/organization/workload_identity_providers/federation_rule_deleted.rbi +68 -0
  41. data/rbi/openai/models/admin/organization/workload_identity_providers/federation_rule_list_params.rbi +153 -0
  42. data/rbi/openai/models/admin/organization/workload_identity_providers/federation_rule_retrieve_params.rbi +72 -0
  43. data/rbi/openai/models/admin/organization/workload_identity_providers/federation_rule_update_params.rbi +281 -0
  44. data/rbi/openai/models/beta/chatkit/chat_session_workflow_param.rbi +1 -1
  45. data/rbi/openai/models/beta/chatkit_workflow.rbi +1 -1
  46. data/rbi/openai/models/live/responses_delegation_config.rbi +2253 -24
  47. data/rbi/openai/models/live/responses_delegation_update_config.rbi +2327 -24
  48. data/rbi/openai/resources/admin/organization/workload_identity_providers/federation_rules.rbi +148 -0
  49. data/rbi/openai/resources/admin/organization/workload_identity_providers.rbi +123 -0
  50. data/rbi/openai/resources/admin/organization.rbi +3 -0
  51. data/responses-websocket.md +40 -2
  52. data/sig/openai/helpers/responses_websocket/incremental.rbs +1 -0
  53. data/sig/openai/models/admin/organization/external_key_create_params.rbs +9 -9
  54. data/sig/openai/models/admin/organization/workload_identity_provider.rbs +136 -0
  55. data/sig/openai/models/admin/organization/workload_identity_provider_create_params.rbs +140 -0
  56. data/sig/openai/models/admin/organization/workload_identity_provider_delete_params.rbs +30 -0
  57. data/sig/openai/models/admin/organization/workload_identity_provider_deleted.rbs +34 -0
  58. data/sig/openai/models/admin/organization/workload_identity_provider_list_params.rbs +59 -0
  59. data/sig/openai/models/admin/organization/workload_identity_provider_retrieve_params.rbs +30 -0
  60. data/sig/openai/models/admin/organization/workload_identity_provider_update_params.rbs +145 -0
  61. data/sig/openai/models/admin/organization/workload_identity_providers/federation_rule.rbs +124 -0
  62. data/sig/openai/models/admin/organization/workload_identity_providers/federation_rule_create_params.rbs +126 -0
  63. data/sig/openai/models/admin/organization/workload_identity_providers/federation_rule_delete_params.rbs +37 -0
  64. data/sig/openai/models/admin/organization/workload_identity_providers/federation_rule_deleted.rbs +36 -0
  65. data/sig/openai/models/admin/organization/workload_identity_providers/federation_rule_list_params.rbs +73 -0
  66. data/sig/openai/models/admin/organization/workload_identity_providers/federation_rule_retrieve_params.rbs +37 -0
  67. data/sig/openai/models/admin/organization/workload_identity_providers/federation_rule_update_params.rbs +123 -0
  68. data/sig/openai/models/audio/transcription_create_params.rbs +3 -3
  69. data/sig/openai/models/audio/voice_create_params.rbs +6 -6
  70. data/sig/openai/models/beta/assistant_create_params.rbs +14 -2
  71. data/sig/openai/models/beta/chatkit/chat_session_workflow_param.rbs +1 -1
  72. data/sig/openai/models/beta/chatkit_workflow.rbs +1 -1
  73. data/sig/openai/models/beta/thread_create_and_run_params.rbs +14 -2
  74. data/sig/openai/models/beta/thread_create_params.rbs +14 -2
  75. data/sig/openai/models/decision_create_params.rbs +42 -0
  76. data/sig/openai/models/eval_create_params.rbs +29 -2
  77. data/sig/openai/models/evals/run_create_params.rbs +53 -2
  78. data/sig/openai/models/live/responses_delegation_config.rbs +851 -0
  79. data/sig/openai/models/live/responses_delegation_update_config.rbs +871 -0
  80. data/sig/openai/resources/admin/organization/external_keys.rbs +3 -3
  81. data/sig/openai/resources/admin/organization/workload_identity_providers/federation_rules.rbs +61 -0
  82. data/sig/openai/resources/admin/organization/workload_identity_providers.rbs +58 -0
  83. data/sig/openai/resources/admin/organization.rbs +2 -0
  84. data/sig/openai/resources/audio/transcriptions.rbs +2 -2
  85. data/sig/openai/resources/audio/voices.rbs +2 -2
  86. data/sig/openai/resources/decisions.rbs +14 -0
  87. data/sig/openai/resources/evals.rbs +8 -1
  88. metadata +49 -1
@@ -230,6 +230,17 @@ module OpenAI
230
230
  OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::live_tool_choice_enum
231
231
  | OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveFunctionToolChoiceParam
232
232
  | OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveMCPToolChoiceParam
233
+ | OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::FileSearch
234
+ | OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::WebSearch
235
+ | OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::WebSearchPreview
236
+ | OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::ImageGeneration
237
+ | OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::Computer
238
+ | OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::CodeInterpreter
239
+ | OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::ProgrammaticToolCalling
240
+ | OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::Shell
241
+ | OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::Custom
242
+ | OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::ApplyPatch
243
+ | OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam
233
244
 
234
245
  module ToolChoice
235
246
  extend OpenAI::Internal::Type::Union
@@ -278,12 +289,396 @@ module OpenAI
278
289
  def to_hash: -> { name: String, server_label: String, ?type: :mcp }
279
290
  end
280
291
 
292
+ type file_search = { ?type: :file_search }
293
+
294
+ class FileSearch < OpenAI::Internal::Type::BaseModel
295
+ # The tool to call. Always `file_search`.
296
+ attr_accessor type: :file_search
297
+
298
+ # @param type
299
+ # The tool to call. Always `file_search`.
300
+ def initialize: (?type: :file_search) -> void
301
+
302
+ def to_hash: -> { ?type: :file_search }
303
+ end
304
+
305
+ type web_search = { ?type: :web_search }
306
+
307
+ class WebSearch < OpenAI::Internal::Type::BaseModel
308
+ # The tool to call. Always `web_search`.
309
+ attr_accessor type: :web_search
310
+
311
+ # @param type
312
+ # The tool to call. Always `web_search`.
313
+ def initialize: (?type: :web_search) -> void
314
+
315
+ def to_hash: -> { ?type: :web_search }
316
+ end
317
+
318
+ type web_search_preview = { ?type: :web_search_preview }
319
+
320
+ class WebSearchPreview < OpenAI::Internal::Type::BaseModel
321
+ # The tool to call. Always `web_search_preview`.
322
+ attr_accessor type: :web_search_preview
323
+
324
+ # @param type
325
+ # The tool to call. Always `web_search_preview`.
326
+ def initialize: (?type: :web_search_preview) -> void
327
+
328
+ def to_hash: -> { ?type: :web_search_preview }
329
+ end
330
+
331
+ type image_generation = { ?type: :image_generation }
332
+
333
+ class ImageGeneration < OpenAI::Internal::Type::BaseModel
334
+ # The tool to call. Always `image_generation`.
335
+ attr_accessor type: :image_generation
336
+
337
+ # @param type
338
+ # The tool to call. Always `image_generation`.
339
+ def initialize: (?type: :image_generation) -> void
340
+
341
+ def to_hash: -> { ?type: :image_generation }
342
+ end
343
+
344
+ type computer = { ?type: :computer }
345
+
346
+ class Computer < OpenAI::Internal::Type::BaseModel
347
+ # The tool to call. Always `computer`.
348
+ attr_accessor type: :computer
349
+
350
+ # @param type
351
+ # The tool to call. Always `computer`.
352
+ def initialize: (?type: :computer) -> void
353
+
354
+ def to_hash: -> { ?type: :computer }
355
+ end
356
+
357
+ type code_interpreter = { ?type: :code_interpreter }
358
+
359
+ class CodeInterpreter < OpenAI::Internal::Type::BaseModel
360
+ # The tool to call. Always `code_interpreter`.
361
+ attr_accessor type: :code_interpreter
362
+
363
+ # @param type
364
+ # The tool to call. Always `code_interpreter`.
365
+ def initialize: (?type: :code_interpreter) -> void
366
+
367
+ def to_hash: -> { ?type: :code_interpreter }
368
+ end
369
+
370
+ type programmatic_tool_calling = { ?type: :programmatic_tool_calling }
371
+
372
+ class ProgrammaticToolCalling < OpenAI::Internal::Type::BaseModel
373
+ # The tool to call. Always `programmatic_tool_calling`.
374
+ attr_accessor type: :programmatic_tool_calling
375
+
376
+ # @param type
377
+ # The tool to call. Always `programmatic_tool_calling`.
378
+ def initialize: (?type: :programmatic_tool_calling) -> void
379
+
380
+ def to_hash: -> { ?type: :programmatic_tool_calling }
381
+ end
382
+
383
+ type shell = { ?type: :shell }
384
+
385
+ class Shell < OpenAI::Internal::Type::BaseModel
386
+ # The tool to call. Always `shell`.
387
+ attr_accessor type: :shell
388
+
389
+ # @param type
390
+ # The tool to call. Always `shell`.
391
+ def initialize: (?type: :shell) -> void
392
+
393
+ def to_hash: -> { ?type: :shell }
394
+ end
395
+
396
+ type custom = { name: String, ?type: :custom }
397
+
398
+ class Custom < OpenAI::Internal::Type::BaseModel
399
+ # The name of the custom tool to call.
400
+ attr_accessor name: String
401
+
402
+ # The tool to call. Always `custom`.
403
+ attr_accessor type: :custom
404
+
405
+ # @param name
406
+ # The name of the custom tool to call.
407
+ # @param type
408
+ # The tool to call. Always `custom`.
409
+ def initialize: (name: String, ?type: :custom) -> void
410
+
411
+ def to_hash: -> { name: String, ?type: :custom }
412
+ end
413
+
414
+ type apply_patch = { ?type: :apply_patch }
415
+
416
+ class ApplyPatch < OpenAI::Internal::Type::BaseModel
417
+ # The tool to call. Always `apply_patch`.
418
+ attr_accessor type: :apply_patch
419
+
420
+ # @param type
421
+ # The tool to call. Always `apply_patch`.
422
+ def initialize: (?type: :apply_patch) -> void
423
+
424
+ def to_hash: -> { ?type: :apply_patch }
425
+ end
426
+
427
+ type live_allowed_tools_choice_param =
428
+ {
429
+ tools: ::Array[OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::tool],
430
+ ?type: :allowed_tools,
431
+ ?mode: OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::mode?
432
+ }
433
+
434
+ class LiveAllowedToolsChoiceParam < OpenAI::Internal::Type::BaseModel
435
+ # The tools that the delegated Responses model may call.
436
+ attr_accessor tools: ::Array[OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::tool]
437
+
438
+ # The tool choice type. Always `allowed_tools`.
439
+ attr_accessor type: :allowed_tools
440
+
441
+ # How to select a tool from the allowed set.
442
+ attr_accessor mode: OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::mode?
443
+
444
+ # @param tools
445
+ # The tools that the delegated Responses model may call.
446
+ # @param mode
447
+ # How to select a tool from the allowed set.
448
+ # @param type
449
+ # The tool choice type. Always `allowed_tools`.
450
+ def initialize: (
451
+ tools: ::Array[OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::tool],
452
+ ?mode: OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::mode?,
453
+ ?type: :allowed_tools
454
+ ) -> void
455
+
456
+ def to_hash: -> {
457
+ tools: ::Array[OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::tool],
458
+ ?type: :allowed_tools,
459
+ ?mode: OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::mode?
460
+ }
461
+
462
+ type tool =
463
+ OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::Tool::Function
464
+ | OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::Tool::Mcp
465
+ | OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::Tool::FileSearch
466
+ | OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::Tool::WebSearch
467
+ | OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::Tool::WebSearchPreview
468
+ | OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::Tool::ImageGeneration
469
+ | OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::Tool::Computer
470
+ | OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::Tool::CodeInterpreter
471
+ | OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::Tool::ProgrammaticToolCalling
472
+ | OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::Tool::Shell
473
+ | OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::Tool::Custom
474
+ | OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::Tool::ApplyPatch
475
+
476
+ module Tool
477
+ extend OpenAI::Internal::Type::Union
478
+
479
+ type function = { name: String, ?type: :function }
480
+
481
+ class Function < OpenAI::Internal::Type::BaseModel
482
+ attr_accessor name: String
483
+
484
+ attr_accessor type: :function
485
+
486
+ def initialize: (name: String, ?type: :function) -> void
487
+
488
+ def to_hash: -> { name: String, ?type: :function }
489
+ end
490
+
491
+ type mcp = { name: String, server_label: String, ?type: :mcp }
492
+
493
+ class Mcp < OpenAI::Internal::Type::BaseModel
494
+ attr_accessor name: String
495
+
496
+ attr_accessor server_label: String
497
+
498
+ attr_accessor type: :mcp
499
+
500
+ def initialize: (
501
+ name: String,
502
+ server_label: String,
503
+ ?type: :mcp
504
+ ) -> void
505
+
506
+ def to_hash: -> {
507
+ name: String,
508
+ server_label: String,
509
+ ?type: :mcp
510
+ }
511
+ end
512
+
513
+ type file_search = { ?type: :file_search }
514
+
515
+ class FileSearch < OpenAI::Internal::Type::BaseModel
516
+ # The tool to call. Always `file_search`.
517
+ attr_accessor type: :file_search
518
+
519
+ # @param type
520
+ # The tool to call. Always `file_search`.
521
+ def initialize: (?type: :file_search) -> void
522
+
523
+ def to_hash: -> { ?type: :file_search }
524
+ end
525
+
526
+ type web_search = { ?type: :web_search }
527
+
528
+ class WebSearch < OpenAI::Internal::Type::BaseModel
529
+ # The tool to call. Always `web_search`.
530
+ attr_accessor type: :web_search
531
+
532
+ # @param type
533
+ # The tool to call. Always `web_search`.
534
+ def initialize: (?type: :web_search) -> void
535
+
536
+ def to_hash: -> { ?type: :web_search }
537
+ end
538
+
539
+ type web_search_preview = { ?type: :web_search_preview }
540
+
541
+ class WebSearchPreview < OpenAI::Internal::Type::BaseModel
542
+ # The tool to call. Always `web_search_preview`.
543
+ attr_accessor type: :web_search_preview
544
+
545
+ # @param type
546
+ # The tool to call. Always `web_search_preview`.
547
+ def initialize: (?type: :web_search_preview) -> void
548
+
549
+ def to_hash: -> { ?type: :web_search_preview }
550
+ end
551
+
552
+ type image_generation = { ?type: :image_generation }
553
+
554
+ class ImageGeneration < OpenAI::Internal::Type::BaseModel
555
+ # The tool to call. Always `image_generation`.
556
+ attr_accessor type: :image_generation
557
+
558
+ # @param type
559
+ # The tool to call. Always `image_generation`.
560
+ def initialize: (?type: :image_generation) -> void
561
+
562
+ def to_hash: -> { ?type: :image_generation }
563
+ end
564
+
565
+ type computer = { ?type: :computer }
566
+
567
+ class Computer < OpenAI::Internal::Type::BaseModel
568
+ # The tool to call. Always `computer`.
569
+ attr_accessor type: :computer
570
+
571
+ # @param type
572
+ # The tool to call. Always `computer`.
573
+ def initialize: (?type: :computer) -> void
574
+
575
+ def to_hash: -> { ?type: :computer }
576
+ end
577
+
578
+ type code_interpreter = { ?type: :code_interpreter }
579
+
580
+ class CodeInterpreter < OpenAI::Internal::Type::BaseModel
581
+ # The tool to call. Always `code_interpreter`.
582
+ attr_accessor type: :code_interpreter
583
+
584
+ # @param type
585
+ # The tool to call. Always `code_interpreter`.
586
+ def initialize: (?type: :code_interpreter) -> void
587
+
588
+ def to_hash: -> { ?type: :code_interpreter }
589
+ end
590
+
591
+ type programmatic_tool_calling =
592
+ { ?type: :programmatic_tool_calling }
593
+
594
+ class ProgrammaticToolCalling < OpenAI::Internal::Type::BaseModel
595
+ # The tool to call. Always `programmatic_tool_calling`.
596
+ attr_accessor type: :programmatic_tool_calling
597
+
598
+ # @param type
599
+ # The tool to call. Always `programmatic_tool_calling`.
600
+ def initialize: (?type: :programmatic_tool_calling) -> void
601
+
602
+ def to_hash: -> { ?type: :programmatic_tool_calling }
603
+ end
604
+
605
+ type shell = { ?type: :shell }
606
+
607
+ class Shell < OpenAI::Internal::Type::BaseModel
608
+ # The tool to call. Always `shell`.
609
+ attr_accessor type: :shell
610
+
611
+ # @param type
612
+ # The tool to call. Always `shell`.
613
+ def initialize: (?type: :shell) -> void
614
+
615
+ def to_hash: -> { ?type: :shell }
616
+ end
617
+
618
+ type custom = { name: String, ?type: :custom }
619
+
620
+ class Custom < OpenAI::Internal::Type::BaseModel
621
+ # The name of the custom tool to call.
622
+ attr_accessor name: String
623
+
624
+ # The tool to call. Always `custom`.
625
+ attr_accessor type: :custom
626
+
627
+ # @param name
628
+ # The name of the custom tool to call.
629
+ # @param type
630
+ # The tool to call. Always `custom`.
631
+ def initialize: (name: String, ?type: :custom) -> void
632
+
633
+ def to_hash: -> { name: String, ?type: :custom }
634
+ end
635
+
636
+ type apply_patch = { ?type: :apply_patch }
637
+
638
+ class ApplyPatch < OpenAI::Internal::Type::BaseModel
639
+ # The tool to call. Always `apply_patch`.
640
+ attr_accessor type: :apply_patch
641
+
642
+ # @param type
643
+ # The tool to call. Always `apply_patch`.
644
+ def initialize: (?type: :apply_patch) -> void
645
+
646
+ def to_hash: -> { ?type: :apply_patch }
647
+ end
648
+
649
+ def self?.variants: -> ::Array[OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::tool]
650
+ end
651
+
652
+ type mode = :none | :auto | :required
653
+
654
+ module Mode
655
+ extend OpenAI::Internal::Type::Enum
656
+
657
+ NONE: :none
658
+ AUTO: :auto
659
+ REQUIRED: :required
660
+
661
+ def self?.values: -> ::Array[OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::mode]
662
+ end
663
+ end
664
+
281
665
  def self?.variants: -> ::Array[OpenAI::Models::Live::ResponsesDelegationUpdateConfig::tool_choice]
282
666
  end
283
667
 
284
668
  type tool =
285
669
  OpenAI::Live::FunctionTool
286
670
  | OpenAI::Live::ResponsesDelegationUpdateConfig::Tool::WebSearch
671
+ | OpenAI::Live::ResponsesDelegationUpdateConfig::Tool::FileSearch
672
+ | OpenAI::Live::ResponsesDelegationUpdateConfig::Tool::CodeInterpreter
673
+ | OpenAI::Live::ResponsesDelegationUpdateConfig::Tool::Shell
674
+ | OpenAI::Live::ResponsesDelegationUpdateConfig::Tool::ImageGeneration
675
+ | OpenAI::Live::ResponsesDelegationUpdateConfig::Tool::Mcp
676
+ | OpenAI::Live::ResponsesDelegationUpdateConfig::Tool::Custom
677
+ | OpenAI::Live::ResponsesDelegationUpdateConfig::Tool::Namespace
678
+ | OpenAI::Live::ResponsesDelegationUpdateConfig::Tool::ToolSearch
679
+ | OpenAI::Live::ResponsesDelegationUpdateConfig::Tool::ProgrammaticToolCalling
680
+ | OpenAI::Live::ResponsesDelegationUpdateConfig::Tool::Computer
681
+ | OpenAI::Live::ResponsesDelegationUpdateConfig::Tool::ApplyPatch
287
682
 
288
683
  module Tool
289
684
  extend OpenAI::Internal::Type::Union
@@ -301,6 +696,482 @@ module OpenAI
301
696
  def to_hash: -> { ?type: :web_search }
302
697
  end
303
698
 
699
+ type file_search = { ?type: :file_search }
700
+
701
+ class FileSearch < OpenAI::Internal::Type::BaseModel
702
+ attr_accessor type: :file_search
703
+
704
+ def initialize: (?type: :file_search) -> void
705
+
706
+ def to_hash: -> { ?type: :file_search }
707
+ end
708
+
709
+ type code_interpreter = { ?type: :code_interpreter }
710
+
711
+ class CodeInterpreter < OpenAI::Internal::Type::BaseModel
712
+ attr_accessor type: :code_interpreter
713
+
714
+ def initialize: (?type: :code_interpreter) -> void
715
+
716
+ def to_hash: -> { ?type: :code_interpreter }
717
+ end
718
+
719
+ type shell =
720
+ {
721
+ ?type: :shell,
722
+ ?environment: OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Shell::environment?
723
+ }
724
+
725
+ class Shell < OpenAI::Internal::Type::BaseModel
726
+ attr_accessor type: :shell
727
+
728
+ attr_accessor environment: OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Shell::environment?
729
+
730
+ def initialize: (
731
+ ?environment: OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Shell::environment?,
732
+ ?type: :shell
733
+ ) -> void
734
+
735
+ def to_hash: -> {
736
+ ?type: :shell,
737
+ ?environment: OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Shell::environment?
738
+ }
739
+
740
+ type environment =
741
+ OpenAI::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto
742
+ | OpenAI::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerReference
743
+ | OpenAI::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::Local
744
+
745
+ module Environment
746
+ extend OpenAI::Internal::Type::Union
747
+
748
+ type container_auto =
749
+ {
750
+ ?type: :container_auto,
751
+ ?file_ids: ::Array[String]?,
752
+ ?memory_limit: OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto::memory_limit?,
753
+ ?network_policy: OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto::network_policy?,
754
+ ?skills: ::Array[OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto::skill]?
755
+ }
756
+
757
+ class ContainerAuto < OpenAI::Internal::Type::BaseModel
758
+ # Automatically creates a container for this request
759
+ attr_accessor type: :container_auto
760
+
761
+ # An optional list of uploaded files to make available to your code.
762
+ attr_accessor file_ids: ::Array[String]?
763
+
764
+ # The memory limit for the container.
765
+ attr_accessor memory_limit: OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto::memory_limit?
766
+
767
+ # Network access policy for the container.
768
+ attr_accessor network_policy: OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto::network_policy?
769
+
770
+ # An optional list of skills referenced by id or inline data.
771
+ attr_accessor skills: ::Array[OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto::skill]?
772
+
773
+ # @param file_ids
774
+ # An optional list of uploaded files to make available to your code.
775
+ # @param memory_limit
776
+ # The memory limit for the container.
777
+ # @param network_policy
778
+ # Network access policy for the container.
779
+ # @param skills
780
+ # An optional list of skills referenced by id or inline data.
781
+ # @param type
782
+ # Automatically creates a container for this request
783
+ def initialize: (
784
+ ?file_ids: ::Array[String]?,
785
+ ?memory_limit: OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto::memory_limit?,
786
+ ?network_policy: OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto::network_policy?,
787
+ ?skills: ::Array[OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto::skill]?,
788
+ ?type: :container_auto
789
+ ) -> void
790
+
791
+ def to_hash: -> {
792
+ ?type: :container_auto,
793
+ ?file_ids: ::Array[String]?,
794
+ ?memory_limit: OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto::memory_limit?,
795
+ ?network_policy: OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto::network_policy?,
796
+ ?skills: ::Array[OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto::skill]?
797
+ }
798
+
799
+ type memory_limit = :"1g" | :"4g" | :"16g" | :"64g"
800
+
801
+ module MemoryLimit
802
+ extend OpenAI::Internal::Type::Enum
803
+
804
+ MEMORY_LIMIT_1G: :"1g"
805
+ MEMORY_LIMIT_4G: :"4g"
806
+ MEMORY_LIMIT_16G: :"16g"
807
+ MEMORY_LIMIT_64G: :"64g"
808
+
809
+ def self?.values: -> ::Array[OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto::memory_limit]
810
+ end
811
+
812
+ type network_policy =
813
+ OpenAI::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto::NetworkPolicy::Disabled
814
+ | OpenAI::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto::NetworkPolicy::Allowlist
815
+
816
+ module NetworkPolicy
817
+ extend OpenAI::Internal::Type::Union
818
+
819
+ type disabled = { ?type: :disabled }
820
+
821
+ class Disabled < OpenAI::Internal::Type::BaseModel
822
+ # Disable outbound network access. Always `disabled`.
823
+ attr_accessor type: :disabled
824
+
825
+ # @param type
826
+ # Disable outbound network access. Always `disabled`.
827
+ def initialize: (?type: :disabled) -> void
828
+
829
+ def to_hash: -> { ?type: :disabled }
830
+ end
831
+
832
+ type allowlist =
833
+ { allowed_domains: ::Array[String], ?type: :allowlist }
834
+
835
+ class Allowlist < OpenAI::Internal::Type::BaseModel
836
+ # A list of allowed domains when type is `allowlist`.
837
+ attr_accessor allowed_domains: ::Array[String]
838
+
839
+ # Allow outbound network access only to specified domains. Always `allowlist`.
840
+ attr_accessor type: :allowlist
841
+
842
+ # @param allowed_domains
843
+ # A list of allowed domains when type is `allowlist`.
844
+ # @param type
845
+ # Allow outbound network access only to specified domains. Always `allowlist`.
846
+ def initialize: (
847
+ allowed_domains: ::Array[String],
848
+ ?type: :allowlist
849
+ ) -> void
850
+
851
+ def to_hash: -> {
852
+ allowed_domains: ::Array[String],
853
+ ?type: :allowlist
854
+ }
855
+ end
856
+
857
+ def self?.variants: -> ::Array[OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto::network_policy]
858
+ end
859
+
860
+ type skill =
861
+ OpenAI::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto::Skill::SkillReference
862
+ | OpenAI::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto::Skill::Inline
863
+
864
+ module Skill
865
+ extend OpenAI::Internal::Type::Union
866
+
867
+ type skill_reference =
868
+ {
869
+ skill_id: String,
870
+ ?type: :skill_reference,
871
+ ?version: String?
872
+ }
873
+
874
+ class SkillReference < OpenAI::Internal::Type::BaseModel
875
+ # The ID of the referenced skill.
876
+ attr_accessor skill_id: String
877
+
878
+ # References a skill created with the /v1/skills endpoint.
879
+ attr_accessor type: :skill_reference
880
+
881
+ # Optional skill version. Use a positive integer or 'latest'. Omit for default.
882
+ attr_accessor version: String?
883
+
884
+ # @param skill_id
885
+ # The ID of the referenced skill.
886
+ # @param version
887
+ # Optional skill version. Use a positive integer or 'latest'. Omit for default.
888
+ # @param type
889
+ # References a skill created with the /v1/skills endpoint.
890
+ def initialize: (
891
+ skill_id: String,
892
+ ?version: String?,
893
+ ?type: :skill_reference
894
+ ) -> void
895
+
896
+ def to_hash: -> {
897
+ skill_id: String,
898
+ ?type: :skill_reference,
899
+ ?version: String?
900
+ }
901
+ end
902
+
903
+ type inline =
904
+ {
905
+ description: String,
906
+ name: String,
907
+ source: OpenAI::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto::Skill::Inline::Source,
908
+ ?type: :inline
909
+ }
910
+
911
+ class Inline < OpenAI::Internal::Type::BaseModel
912
+ # The description of the skill.
913
+ attr_accessor description: String
914
+
915
+ # The name of the skill.
916
+ attr_accessor name: String
917
+
918
+ # Inline skill payload
919
+ attr_accessor source: OpenAI::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto::Skill::Inline::Source
920
+
921
+ # Defines an inline skill for this request.
922
+ attr_accessor type: :inline
923
+
924
+ # @param description
925
+ # The description of the skill.
926
+ # @param name
927
+ # The name of the skill.
928
+ # @param source
929
+ # Inline skill payload
930
+ # @param type
931
+ # Defines an inline skill for this request.
932
+ def initialize: (
933
+ description: String,
934
+ name: String,
935
+ source: OpenAI::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto::Skill::Inline::Source,
936
+ ?type: :inline
937
+ ) -> void
938
+
939
+ def to_hash: -> {
940
+ description: String,
941
+ name: String,
942
+ source: OpenAI::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto::Skill::Inline::Source,
943
+ ?type: :inline
944
+ }
945
+
946
+ type source =
947
+ {
948
+ data: String,
949
+ media_type: OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto::Skill::Inline::Source::media_type,
950
+ type: OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto::Skill::Inline::Source::type_
951
+ }
952
+
953
+ class Source < OpenAI::Internal::Type::BaseModel
954
+ # Base64-encoded skill zip bundle.
955
+ attr_accessor data: String
956
+
957
+ # The media type of the inline skill payload. Must be `application/zip`.
958
+ attr_accessor media_type: OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto::Skill::Inline::Source::media_type
959
+
960
+ # The type of the inline skill source. Must be `base64`.
961
+ attr_accessor type: OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto::Skill::Inline::Source::type_
962
+
963
+ # @param data
964
+ # Base64-encoded skill zip bundle.
965
+ # @param media_type
966
+ # The media type of the inline skill payload. Must be `application/zip`.
967
+ # @param type
968
+ # The type of the inline skill source. Must be `base64`.
969
+ def initialize: (
970
+ data: String,
971
+ media_type: OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto::Skill::Inline::Source::media_type,
972
+ type: OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto::Skill::Inline::Source::type_
973
+ ) -> void
974
+
975
+ def to_hash: -> {
976
+ data: String,
977
+ media_type: OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto::Skill::Inline::Source::media_type,
978
+ type: OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto::Skill::Inline::Source::type_
979
+ }
980
+
981
+ type media_type = :"application/zip"
982
+
983
+ module MediaType
984
+ extend OpenAI::Internal::Type::Enum
985
+
986
+ APPLICATION_ZIP: :"application/zip"
987
+
988
+ def self?.values: -> ::Array[OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto::Skill::Inline::Source::media_type]
989
+ end
990
+
991
+ type type_ = :base64
992
+
993
+ module Type
994
+ extend OpenAI::Internal::Type::Enum
995
+
996
+ BASE64: :base64
997
+
998
+ def self?.values: -> ::Array[OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto::Skill::Inline::Source::type_]
999
+ end
1000
+ end
1001
+ end
1002
+
1003
+ def self?.variants: -> ::Array[OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto::skill]
1004
+ end
1005
+ end
1006
+
1007
+ type container_reference =
1008
+ { container_id: String, ?type: :container_reference }
1009
+
1010
+ class ContainerReference < OpenAI::Internal::Type::BaseModel
1011
+ # The ID of the referenced container.
1012
+ attr_accessor container_id: String
1013
+
1014
+ # References a container created with the /v1/containers endpoint
1015
+ attr_accessor type: :container_reference
1016
+
1017
+ # @param container_id
1018
+ # The ID of the referenced container.
1019
+ # @param type
1020
+ # References a container created with the /v1/containers endpoint
1021
+ def initialize: (
1022
+ container_id: String,
1023
+ ?type: :container_reference
1024
+ ) -> void
1025
+
1026
+ def to_hash: -> {
1027
+ container_id: String,
1028
+ ?type: :container_reference
1029
+ }
1030
+ end
1031
+
1032
+ type local =
1033
+ {
1034
+ ?type: :local,
1035
+ ?skills: ::Array[OpenAI::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::Local::Skill]?
1036
+ }
1037
+
1038
+ class Local < OpenAI::Internal::Type::BaseModel
1039
+ # Use a local computer environment.
1040
+ attr_accessor type: :local
1041
+
1042
+ # An optional list of skills.
1043
+ attr_accessor skills: ::Array[OpenAI::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::Local::Skill]?
1044
+
1045
+ # @param skills
1046
+ # An optional list of skills.
1047
+ # @param type
1048
+ # Use a local computer environment.
1049
+ def initialize: (
1050
+ ?skills: ::Array[OpenAI::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::Local::Skill]?,
1051
+ ?type: :local
1052
+ ) -> void
1053
+
1054
+ def to_hash: -> {
1055
+ ?type: :local,
1056
+ ?skills: ::Array[OpenAI::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::Local::Skill]?
1057
+ }
1058
+
1059
+ type skill = { description: String, name: String, path: String }
1060
+
1061
+ class Skill < OpenAI::Internal::Type::BaseModel
1062
+ # The description of the skill.
1063
+ attr_accessor description: String
1064
+
1065
+ # The name of the skill.
1066
+ attr_accessor name: String
1067
+
1068
+ # The path to the directory containing the skill.
1069
+ attr_accessor path: String
1070
+
1071
+ # @param description
1072
+ # The description of the skill.
1073
+ # @param name
1074
+ # The name of the skill.
1075
+ # @param path
1076
+ # The path to the directory containing the skill.
1077
+ def initialize: (
1078
+ description: String,
1079
+ name: String,
1080
+ path: String
1081
+ ) -> void
1082
+
1083
+ def to_hash: -> {
1084
+ description: String,
1085
+ name: String,
1086
+ path: String
1087
+ }
1088
+ end
1089
+ end
1090
+
1091
+ def self?.variants: -> ::Array[OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Shell::environment]
1092
+ end
1093
+ end
1094
+
1095
+ type image_generation = { ?type: :image_generation }
1096
+
1097
+ class ImageGeneration < OpenAI::Internal::Type::BaseModel
1098
+ attr_accessor type: :image_generation
1099
+
1100
+ def initialize: (?type: :image_generation) -> void
1101
+
1102
+ def to_hash: -> { ?type: :image_generation }
1103
+ end
1104
+
1105
+ type mcp = { ?type: :mcp }
1106
+
1107
+ class Mcp < OpenAI::Internal::Type::BaseModel
1108
+ attr_accessor type: :mcp
1109
+
1110
+ def initialize: (?type: :mcp) -> void
1111
+
1112
+ def to_hash: -> { ?type: :mcp }
1113
+ end
1114
+
1115
+ type custom = { ?type: :custom }
1116
+
1117
+ class Custom < OpenAI::Internal::Type::BaseModel
1118
+ attr_accessor type: :custom
1119
+
1120
+ def initialize: (?type: :custom) -> void
1121
+
1122
+ def to_hash: -> { ?type: :custom }
1123
+ end
1124
+
1125
+ type namespace = { ?type: :namespace }
1126
+
1127
+ class Namespace < OpenAI::Internal::Type::BaseModel
1128
+ attr_accessor type: :namespace
1129
+
1130
+ def initialize: (?type: :namespace) -> void
1131
+
1132
+ def to_hash: -> { ?type: :namespace }
1133
+ end
1134
+
1135
+ type tool_search = { ?type: :tool_search }
1136
+
1137
+ class ToolSearch < OpenAI::Internal::Type::BaseModel
1138
+ attr_accessor type: :tool_search
1139
+
1140
+ def initialize: (?type: :tool_search) -> void
1141
+
1142
+ def to_hash: -> { ?type: :tool_search }
1143
+ end
1144
+
1145
+ type programmatic_tool_calling = { ?type: :programmatic_tool_calling }
1146
+
1147
+ class ProgrammaticToolCalling < OpenAI::Internal::Type::BaseModel
1148
+ attr_accessor type: :programmatic_tool_calling
1149
+
1150
+ def initialize: (?type: :programmatic_tool_calling) -> void
1151
+
1152
+ def to_hash: -> { ?type: :programmatic_tool_calling }
1153
+ end
1154
+
1155
+ type computer = { ?type: :computer }
1156
+
1157
+ class Computer < OpenAI::Internal::Type::BaseModel
1158
+ attr_accessor type: :computer
1159
+
1160
+ def initialize: (?type: :computer) -> void
1161
+
1162
+ def to_hash: -> { ?type: :computer }
1163
+ end
1164
+
1165
+ type apply_patch = { ?type: :apply_patch }
1166
+
1167
+ class ApplyPatch < OpenAI::Internal::Type::BaseModel
1168
+ attr_accessor type: :apply_patch
1169
+
1170
+ def initialize: (?type: :apply_patch) -> void
1171
+
1172
+ def to_hash: -> { ?type: :apply_patch }
1173
+ end
1174
+
304
1175
  def self?.variants: -> ::Array[OpenAI::Models::Live::ResponsesDelegationUpdateConfig::tool]
305
1176
  end
306
1177
  end