openai 0.115.1 → 0.116.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.
@@ -58,14 +58,14 @@ module OpenAI
58
58
  # Controls which tool the Responses backend uses when handling a task delegated by
59
59
  # the Live model.
60
60
  #
61
- # @return [Symbol, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveToolChoiceEnum, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveFunctionToolChoiceParam, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveMCPToolChoiceParam, nil]
61
+ # @return [Symbol, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveToolChoiceEnum, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveFunctionToolChoiceParam, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveMCPToolChoiceParam, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::FileSearch, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::WebSearch, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::WebSearchPreview, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::ImageGeneration, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::Computer, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::CodeInterpreter, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::ProgrammaticToolCalling, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::Shell, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::Custom, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::ApplyPatch, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam, nil]
62
62
  optional :tool_choice, union: -> { OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice }
63
63
 
64
64
  # @!attribute tools
65
65
  # Tools available to the Responses backend while it handles tasks delegated by the
66
66
  # Live model.
67
67
  #
68
- # @return [Array<OpenAI::Models::Live::FunctionTool, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::WebSearch>, nil]
68
+ # @return [Array<OpenAI::Models::Live::FunctionTool, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::WebSearch, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::FileSearch, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::CodeInterpreter, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Shell, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::ImageGeneration, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Mcp, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Custom, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Namespace, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::ToolSearch, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::ProgrammaticToolCalling, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Computer, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::ApplyPatch>, nil]
69
69
  optional(
70
70
  :tools,
71
71
  -> { OpenAI::Internal::Type::ArrayOf[union: OpenAI::Live::ResponsesDelegationUpdateConfig::Tool] }
@@ -100,11 +100,11 @@ module OpenAI
100
100
  # @param text [OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Text, nil]
101
101
  # Text generation settings passed to each delegated Responses request.
102
102
  #
103
- # @param tool_choice [Symbol, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveToolChoiceEnum, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveFunctionToolChoiceParam, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveMCPToolChoiceParam]
103
+ # @param tool_choice [Symbol, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveToolChoiceEnum, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveFunctionToolChoiceParam, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveMCPToolChoiceParam, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::FileSearch, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::WebSearch, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::WebSearchPreview, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::ImageGeneration, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::Computer, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::CodeInterpreter, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::ProgrammaticToolCalling, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::Shell, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::Custom, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::ApplyPatch, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam]
104
104
  # Controls which tool the Responses backend uses when handling a task delegated by
105
105
  # the Live model.
106
106
  #
107
- # @param tools [Array<OpenAI::Models::Live::FunctionTool, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::WebSearch>]
107
+ # @param tools [Array<OpenAI::Models::Live::FunctionTool, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::WebSearch, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::FileSearch, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::CodeInterpreter, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Shell, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::ImageGeneration, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Mcp, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Custom, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Namespace, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::ToolSearch, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::ProgrammaticToolCalling, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Computer, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::ApplyPatch>]
108
108
  # Tools available to the Responses backend while it handles tasks delegated by the
109
109
  # Live model.
110
110
 
@@ -243,6 +243,30 @@ module OpenAI
243
243
 
244
244
  variant -> { OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveMCPToolChoiceParam }
245
245
 
246
+ variant -> { OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::FileSearch }
247
+
248
+ variant -> { OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::WebSearch }
249
+
250
+ variant -> { OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::WebSearchPreview }
251
+
252
+ variant -> { OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::ImageGeneration }
253
+
254
+ variant -> { OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::Computer }
255
+
256
+ variant -> { OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::CodeInterpreter }
257
+
258
+ variant -> { OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::ProgrammaticToolCalling }
259
+
260
+ # Forces the model to call the shell tool when a tool call is required.
261
+ variant -> { OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::Shell }
262
+
263
+ variant -> { OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::Custom }
264
+
265
+ # Forces the model to call the apply_patch tool when executing a tool call.
266
+ variant -> { OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::ApplyPatch }
267
+
268
+ variant -> { OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam }
269
+
246
270
  module LiveToolChoiceEnum
247
271
  extend OpenAI::Internal::Type::Enum
248
272
 
@@ -292,8 +316,465 @@ module OpenAI
292
316
  # @param type [Symbol, :mcp]
293
317
  end
294
318
 
319
+ class FileSearch < OpenAI::Internal::Type::BaseModel
320
+ # @!attribute type
321
+ # The tool to call. Always `file_search`.
322
+ #
323
+ # @return [Symbol, :file_search]
324
+ required :type, const: :file_search
325
+
326
+ # @!method initialize(type: :file_search)
327
+ # @param type [Symbol, :file_search]
328
+ # The tool to call. Always `file_search`.
329
+ end
330
+
331
+ class WebSearch < OpenAI::Internal::Type::BaseModel
332
+ # @!attribute type
333
+ # The tool to call. Always `web_search`.
334
+ #
335
+ # @return [Symbol, :web_search]
336
+ required :type, const: :web_search
337
+
338
+ # @!method initialize(type: :web_search)
339
+ # @param type [Symbol, :web_search]
340
+ # The tool to call. Always `web_search`.
341
+ end
342
+
343
+ class WebSearchPreview < OpenAI::Internal::Type::BaseModel
344
+ # @!attribute type
345
+ # The tool to call. Always `web_search_preview`.
346
+ #
347
+ # @return [Symbol, :web_search_preview]
348
+ required :type, const: :web_search_preview
349
+
350
+ # @!method initialize(type: :web_search_preview)
351
+ # @param type [Symbol, :web_search_preview]
352
+ # The tool to call. Always `web_search_preview`.
353
+ end
354
+
355
+ class ImageGeneration < OpenAI::Internal::Type::BaseModel
356
+ # @!attribute type
357
+ # The tool to call. Always `image_generation`.
358
+ #
359
+ # @return [Symbol, :image_generation]
360
+ required :type, const: :image_generation
361
+
362
+ # @!method initialize(type: :image_generation)
363
+ # @param type [Symbol, :image_generation]
364
+ # The tool to call. Always `image_generation`.
365
+ end
366
+
367
+ class Computer < OpenAI::Internal::Type::BaseModel
368
+ # @!attribute type
369
+ # The tool to call. Always `computer`.
370
+ #
371
+ # @return [Symbol, :computer]
372
+ required :type, const: :computer
373
+
374
+ # @!method initialize(type: :computer)
375
+ # @param type [Symbol, :computer]
376
+ # The tool to call. Always `computer`.
377
+ end
378
+
379
+ class CodeInterpreter < OpenAI::Internal::Type::BaseModel
380
+ # @!attribute type
381
+ # The tool to call. Always `code_interpreter`.
382
+ #
383
+ # @return [Symbol, :code_interpreter]
384
+ required :type, const: :code_interpreter
385
+
386
+ # @!method initialize(type: :code_interpreter)
387
+ # @param type [Symbol, :code_interpreter]
388
+ # The tool to call. Always `code_interpreter`.
389
+ end
390
+
391
+ class ProgrammaticToolCalling < OpenAI::Internal::Type::BaseModel
392
+ # @!attribute type
393
+ # The tool to call. Always `programmatic_tool_calling`.
394
+ #
395
+ # @return [Symbol, :programmatic_tool_calling]
396
+ required :type, const: :programmatic_tool_calling
397
+
398
+ # @!method initialize(type: :programmatic_tool_calling)
399
+ # @param type [Symbol, :programmatic_tool_calling]
400
+ # The tool to call. Always `programmatic_tool_calling`.
401
+ end
402
+
403
+ class Shell < OpenAI::Internal::Type::BaseModel
404
+ # @!attribute type
405
+ # The tool to call. Always `shell`.
406
+ #
407
+ # @return [Symbol, :shell]
408
+ required :type, const: :shell
409
+
410
+ # @!method initialize(type: :shell)
411
+ # Forces the model to call the shell tool when a tool call is required.
412
+ #
413
+ # @param type [Symbol, :shell]
414
+ # The tool to call. Always `shell`.
415
+ end
416
+
417
+ class Custom < OpenAI::Internal::Type::BaseModel
418
+ # @!attribute name
419
+ # The name of the custom tool to call.
420
+ #
421
+ # @return [String]
422
+ required :name, String
423
+
424
+ # @!attribute type
425
+ # The tool to call. Always `custom`.
426
+ #
427
+ # @return [Symbol, :custom]
428
+ required :type, const: :custom
429
+
430
+ # @!method initialize(name:, type: :custom)
431
+ # @param name [String]
432
+ # The name of the custom tool to call.
433
+ #
434
+ # @param type [Symbol, :custom]
435
+ # The tool to call. Always `custom`.
436
+ end
437
+
438
+ class ApplyPatch < OpenAI::Internal::Type::BaseModel
439
+ # @!attribute type
440
+ # The tool to call. Always `apply_patch`.
441
+ #
442
+ # @return [Symbol, :apply_patch]
443
+ required :type, const: :apply_patch
444
+
445
+ # @!method initialize(type: :apply_patch)
446
+ # Forces the model to call the apply_patch tool when executing a tool call.
447
+ #
448
+ # @param type [Symbol, :apply_patch]
449
+ # The tool to call. Always `apply_patch`.
450
+ end
451
+
452
+ class LiveAllowedToolsChoiceParam < OpenAI::Internal::Type::BaseModel
453
+ # @!attribute tools
454
+ # The tools that the delegated Responses model may call.
455
+ #
456
+ # @return [Array<OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::Tool::Function, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::Tool::Mcp, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::Tool::FileSearch, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::Tool::WebSearch, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::Tool::WebSearchPreview, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::Tool::ImageGeneration, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::Tool::Computer, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::Tool::CodeInterpreter, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::Tool::ProgrammaticToolCalling, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::Tool::Shell, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::Tool::Custom, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::Tool::ApplyPatch>]
457
+ required(
458
+ :tools,
459
+ -> {
460
+ OpenAI::Internal::Type::ArrayOf[
461
+ union: OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::Tool
462
+ ]
463
+ }
464
+ )
465
+
466
+ # @!attribute type
467
+ # The tool choice type. Always `allowed_tools`.
468
+ #
469
+ # @return [Symbol, :allowed_tools]
470
+ required :type, const: :allowed_tools
471
+
472
+ # @!attribute mode
473
+ # How to select a tool from the allowed set.
474
+ #
475
+ # @return [Symbol, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::Mode, nil]
476
+ optional(
477
+ :mode,
478
+ enum: -> {
479
+ OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::Mode
480
+ },
481
+ nil?: true
482
+ )
483
+
484
+ # @!method initialize(tools:, mode: nil, type: :allowed_tools)
485
+ # @param tools [Array<OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::Tool::Function, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::Tool::Mcp, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::Tool::FileSearch, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::Tool::WebSearch, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::Tool::WebSearchPreview, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::Tool::ImageGeneration, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::Tool::Computer, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::Tool::CodeInterpreter, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::Tool::ProgrammaticToolCalling, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::Tool::Shell, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::Tool::Custom, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::Tool::ApplyPatch>]
486
+ # The tools that the delegated Responses model may call.
487
+ #
488
+ # @param mode [Symbol, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::Mode, nil]
489
+ # How to select a tool from the allowed set.
490
+ #
491
+ # @param type [Symbol, :allowed_tools]
492
+ # The tool choice type. Always `allowed_tools`.
493
+
494
+ # Forces the model to call the shell tool when a tool call is required.
495
+ module Tool
496
+ extend OpenAI::Internal::Type::Union
497
+
498
+ discriminator :type
499
+
500
+ variant(
501
+ :function,
502
+ -> {
503
+ OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::Tool::Function
504
+ }
505
+ )
506
+
507
+ variant(
508
+ :mcp,
509
+ -> {
510
+ OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::Tool::Mcp
511
+ }
512
+ )
513
+
514
+ variant(
515
+ :file_search,
516
+ -> {
517
+ OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::Tool::FileSearch
518
+ }
519
+ )
520
+
521
+ variant(
522
+ :web_search,
523
+ -> {
524
+ OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::Tool::WebSearch
525
+ }
526
+ )
527
+
528
+ variant(
529
+ :web_search_preview,
530
+ -> {
531
+ OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::Tool::WebSearchPreview
532
+ }
533
+ )
534
+
535
+ variant(
536
+ :image_generation,
537
+ -> {
538
+ OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::Tool::ImageGeneration
539
+ }
540
+ )
541
+
542
+ variant(
543
+ :computer,
544
+ -> {
545
+ OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::Tool::Computer
546
+ }
547
+ )
548
+
549
+ variant(
550
+ :code_interpreter,
551
+ -> {
552
+ OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::Tool::CodeInterpreter
553
+ }
554
+ )
555
+
556
+ variant(
557
+ :programmatic_tool_calling,
558
+ -> {
559
+ OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::Tool::ProgrammaticToolCalling
560
+ }
561
+ )
562
+
563
+ # Forces the model to call the shell tool when a tool call is required.
564
+ variant(
565
+ :shell,
566
+ -> {
567
+ OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::Tool::Shell
568
+ }
569
+ )
570
+
571
+ variant(
572
+ :custom,
573
+ -> {
574
+ OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::Tool::Custom
575
+ }
576
+ )
577
+
578
+ # Forces the model to call the apply_patch tool when executing a tool call.
579
+ variant(
580
+ :apply_patch,
581
+ -> {
582
+ OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::Tool::ApplyPatch
583
+ }
584
+ )
585
+
586
+ class Function < OpenAI::Internal::Type::BaseModel
587
+ # @!attribute name
588
+ #
589
+ # @return [String]
590
+ required :name, String
591
+
592
+ # @!attribute type
593
+ #
594
+ # @return [Symbol, :function]
595
+ required :type, const: :function
596
+
597
+ # @!method initialize(name:, type: :function)
598
+ # @param name [String]
599
+ # @param type [Symbol, :function]
600
+ end
601
+
602
+ class Mcp < OpenAI::Internal::Type::BaseModel
603
+ # @!attribute name
604
+ #
605
+ # @return [String]
606
+ required :name, String
607
+
608
+ # @!attribute server_label
609
+ #
610
+ # @return [String]
611
+ required :server_label, String
612
+
613
+ # @!attribute type
614
+ #
615
+ # @return [Symbol, :mcp]
616
+ required :type, const: :mcp
617
+
618
+ # @!method initialize(name:, server_label:, type: :mcp)
619
+ # @param name [String]
620
+ # @param server_label [String]
621
+ # @param type [Symbol, :mcp]
622
+ end
623
+
624
+ class FileSearch < OpenAI::Internal::Type::BaseModel
625
+ # @!attribute type
626
+ # The tool to call. Always `file_search`.
627
+ #
628
+ # @return [Symbol, :file_search]
629
+ required :type, const: :file_search
630
+
631
+ # @!method initialize(type: :file_search)
632
+ # @param type [Symbol, :file_search]
633
+ # The tool to call. Always `file_search`.
634
+ end
635
+
636
+ class WebSearch < OpenAI::Internal::Type::BaseModel
637
+ # @!attribute type
638
+ # The tool to call. Always `web_search`.
639
+ #
640
+ # @return [Symbol, :web_search]
641
+ required :type, const: :web_search
642
+
643
+ # @!method initialize(type: :web_search)
644
+ # @param type [Symbol, :web_search]
645
+ # The tool to call. Always `web_search`.
646
+ end
647
+
648
+ class WebSearchPreview < OpenAI::Internal::Type::BaseModel
649
+ # @!attribute type
650
+ # The tool to call. Always `web_search_preview`.
651
+ #
652
+ # @return [Symbol, :web_search_preview]
653
+ required :type, const: :web_search_preview
654
+
655
+ # @!method initialize(type: :web_search_preview)
656
+ # @param type [Symbol, :web_search_preview]
657
+ # The tool to call. Always `web_search_preview`.
658
+ end
659
+
660
+ class ImageGeneration < OpenAI::Internal::Type::BaseModel
661
+ # @!attribute type
662
+ # The tool to call. Always `image_generation`.
663
+ #
664
+ # @return [Symbol, :image_generation]
665
+ required :type, const: :image_generation
666
+
667
+ # @!method initialize(type: :image_generation)
668
+ # @param type [Symbol, :image_generation]
669
+ # The tool to call. Always `image_generation`.
670
+ end
671
+
672
+ class Computer < OpenAI::Internal::Type::BaseModel
673
+ # @!attribute type
674
+ # The tool to call. Always `computer`.
675
+ #
676
+ # @return [Symbol, :computer]
677
+ required :type, const: :computer
678
+
679
+ # @!method initialize(type: :computer)
680
+ # @param type [Symbol, :computer]
681
+ # The tool to call. Always `computer`.
682
+ end
683
+
684
+ class CodeInterpreter < OpenAI::Internal::Type::BaseModel
685
+ # @!attribute type
686
+ # The tool to call. Always `code_interpreter`.
687
+ #
688
+ # @return [Symbol, :code_interpreter]
689
+ required :type, const: :code_interpreter
690
+
691
+ # @!method initialize(type: :code_interpreter)
692
+ # @param type [Symbol, :code_interpreter]
693
+ # The tool to call. Always `code_interpreter`.
694
+ end
695
+
696
+ class ProgrammaticToolCalling < OpenAI::Internal::Type::BaseModel
697
+ # @!attribute type
698
+ # The tool to call. Always `programmatic_tool_calling`.
699
+ #
700
+ # @return [Symbol, :programmatic_tool_calling]
701
+ required :type, const: :programmatic_tool_calling
702
+
703
+ # @!method initialize(type: :programmatic_tool_calling)
704
+ # @param type [Symbol, :programmatic_tool_calling]
705
+ # The tool to call. Always `programmatic_tool_calling`.
706
+ end
707
+
708
+ class Shell < OpenAI::Internal::Type::BaseModel
709
+ # @!attribute type
710
+ # The tool to call. Always `shell`.
711
+ #
712
+ # @return [Symbol, :shell]
713
+ required :type, const: :shell
714
+
715
+ # @!method initialize(type: :shell)
716
+ # Forces the model to call the shell tool when a tool call is required.
717
+ #
718
+ # @param type [Symbol, :shell]
719
+ # The tool to call. Always `shell`.
720
+ end
721
+
722
+ class Custom < OpenAI::Internal::Type::BaseModel
723
+ # @!attribute name
724
+ # The name of the custom tool to call.
725
+ #
726
+ # @return [String]
727
+ required :name, String
728
+
729
+ # @!attribute type
730
+ # The tool to call. Always `custom`.
731
+ #
732
+ # @return [Symbol, :custom]
733
+ required :type, const: :custom
734
+
735
+ # @!method initialize(name:, type: :custom)
736
+ # @param name [String]
737
+ # The name of the custom tool to call.
738
+ #
739
+ # @param type [Symbol, :custom]
740
+ # The tool to call. Always `custom`.
741
+ end
742
+
743
+ class ApplyPatch < OpenAI::Internal::Type::BaseModel
744
+ # @!attribute type
745
+ # The tool to call. Always `apply_patch`.
746
+ #
747
+ # @return [Symbol, :apply_patch]
748
+ required :type, const: :apply_patch
749
+
750
+ # @!method initialize(type: :apply_patch)
751
+ # Forces the model to call the apply_patch tool when executing a tool call.
752
+ #
753
+ # @param type [Symbol, :apply_patch]
754
+ # The tool to call. Always `apply_patch`.
755
+ end
756
+
757
+ # @!method self.variants
758
+ # @return [Array(OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::Tool::Function, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::Tool::Mcp, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::Tool::FileSearch, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::Tool::WebSearch, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::Tool::WebSearchPreview, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::Tool::ImageGeneration, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::Tool::Computer, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::Tool::CodeInterpreter, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::Tool::ProgrammaticToolCalling, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::Tool::Shell, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::Tool::Custom, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam::Tool::ApplyPatch)]
759
+ end
760
+
761
+ # How to select a tool from the allowed set.
762
+ #
763
+ # @see OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam#mode
764
+ module Mode
765
+ extend OpenAI::Internal::Type::Enum
766
+
767
+ NONE = :none
768
+ AUTO = :auto
769
+ REQUIRED = :required
770
+
771
+ # @!method self.values
772
+ # @return [Array<Symbol>]
773
+ end
774
+ end
775
+
295
776
  # @!method self.variants
296
- # @return [Array(Symbol, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveToolChoiceEnum, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveFunctionToolChoiceParam, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveMCPToolChoiceParam)]
777
+ # @return [Array(Symbol, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveToolChoiceEnum, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveFunctionToolChoiceParam, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveMCPToolChoiceParam, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::FileSearch, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::WebSearch, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::WebSearchPreview, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::ImageGeneration, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::Computer, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::CodeInterpreter, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::ProgrammaticToolCalling, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::Shell, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::Custom, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::ApplyPatch, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveAllowedToolsChoiceParam)]
297
778
  end
298
779
 
299
780
  # A function tool available to the Responses backend when the Live model delegates
@@ -309,6 +790,32 @@ module OpenAI
309
790
  # A web search tool available to the Live session’s Responses backend.
310
791
  variant :web_search, -> { OpenAI::Live::ResponsesDelegationUpdateConfig::Tool::WebSearch }
311
792
 
793
+ variant :file_search, -> { OpenAI::Live::ResponsesDelegationUpdateConfig::Tool::FileSearch }
794
+
795
+ variant :code_interpreter, -> { OpenAI::Live::ResponsesDelegationUpdateConfig::Tool::CodeInterpreter }
796
+
797
+ # A Responses shell tool. Use a hosted container or return local shell results with response.item.create. Domain secrets are not supported.
798
+ variant :shell, -> { OpenAI::Live::ResponsesDelegationUpdateConfig::Tool::Shell }
799
+
800
+ variant :image_generation, -> { OpenAI::Live::ResponsesDelegationUpdateConfig::Tool::ImageGeneration }
801
+
802
+ variant :mcp, -> { OpenAI::Live::ResponsesDelegationUpdateConfig::Tool::Mcp }
803
+
804
+ variant :custom, -> { OpenAI::Live::ResponsesDelegationUpdateConfig::Tool::Custom }
805
+
806
+ variant :namespace, -> { OpenAI::Live::ResponsesDelegationUpdateConfig::Tool::Namespace }
807
+
808
+ variant :tool_search, -> { OpenAI::Live::ResponsesDelegationUpdateConfig::Tool::ToolSearch }
809
+
810
+ variant(
811
+ :programmatic_tool_calling,
812
+ -> { OpenAI::Live::ResponsesDelegationUpdateConfig::Tool::ProgrammaticToolCalling }
813
+ )
814
+
815
+ variant :computer, -> { OpenAI::Live::ResponsesDelegationUpdateConfig::Tool::Computer }
816
+
817
+ variant :apply_patch, -> { OpenAI::Live::ResponsesDelegationUpdateConfig::Tool::ApplyPatch }
818
+
312
819
  class WebSearch < OpenAI::Internal::Type::BaseModel
313
820
  # @!attribute type
314
821
  # The tool type. Always `web_search`.
@@ -323,8 +830,538 @@ module OpenAI
323
830
  # The tool type. Always `web_search`.
324
831
  end
325
832
 
833
+ class FileSearch < OpenAI::Internal::Type::BaseModel
834
+ # @!attribute type
835
+ #
836
+ # @return [Symbol, :file_search]
837
+ required :type, const: :file_search
838
+
839
+ # @!method initialize(type: :file_search)
840
+ # @param type [Symbol, :file_search]
841
+ end
842
+
843
+ class CodeInterpreter < OpenAI::Internal::Type::BaseModel
844
+ # @!attribute type
845
+ #
846
+ # @return [Symbol, :code_interpreter]
847
+ required :type, const: :code_interpreter
848
+
849
+ # @!method initialize(type: :code_interpreter)
850
+ # @param type [Symbol, :code_interpreter]
851
+ end
852
+
853
+ class Shell < OpenAI::Internal::Type::BaseModel
854
+ # @!attribute type
855
+ #
856
+ # @return [Symbol, :shell]
857
+ required :type, const: :shell
858
+
859
+ # @!attribute environment
860
+ #
861
+ # @return [OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerReference, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::Local, nil]
862
+ optional(
863
+ :environment,
864
+ union: -> { OpenAI::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment },
865
+ nil?: true
866
+ )
867
+
868
+ # @!method initialize(environment: nil, type: :shell)
869
+ # A Responses shell tool. Use a hosted container or return local shell results
870
+ # with response.item.create. Domain secrets are not supported.
871
+ #
872
+ # @param environment [OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerReference, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::Local, nil]
873
+ # @param type [Symbol, :shell]
874
+
875
+ # @see OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Shell#environment
876
+ module Environment
877
+ extend OpenAI::Internal::Type::Union
878
+
879
+ discriminator :type
880
+
881
+ variant(
882
+ :container_auto,
883
+ -> { OpenAI::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto }
884
+ )
885
+
886
+ variant(
887
+ :container_reference,
888
+ -> { OpenAI::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerReference }
889
+ )
890
+
891
+ variant :local, -> { OpenAI::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::Local }
892
+
893
+ class ContainerAuto < OpenAI::Internal::Type::BaseModel
894
+ # @!attribute type
895
+ # Automatically creates a container for this request
896
+ #
897
+ # @return [Symbol, :container_auto]
898
+ required :type, const: :container_auto
899
+
900
+ # @!attribute file_ids
901
+ # An optional list of uploaded files to make available to your code.
902
+ #
903
+ # @return [Array<String>, nil]
904
+ optional :file_ids, OpenAI::Internal::Type::ArrayOf[String], nil?: true
905
+
906
+ # @!attribute memory_limit
907
+ # The memory limit for the container.
908
+ #
909
+ # @return [Symbol, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto::MemoryLimit, nil]
910
+ optional(
911
+ :memory_limit,
912
+ enum: -> {
913
+ OpenAI::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto::MemoryLimit
914
+ },
915
+ nil?: true
916
+ )
917
+
918
+ # @!attribute network_policy
919
+ # Network access policy for the container.
920
+ #
921
+ # @return [OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto::NetworkPolicy::Disabled, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto::NetworkPolicy::Allowlist, nil]
922
+ optional(
923
+ :network_policy,
924
+ union: -> {
925
+ OpenAI::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto::NetworkPolicy
926
+ },
927
+ nil?: true
928
+ )
929
+
930
+ # @!attribute skills
931
+ # An optional list of skills referenced by id or inline data.
932
+ #
933
+ # @return [Array<OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto::Skill::SkillReference, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto::Skill::Inline>, nil]
934
+ optional(
935
+ :skills,
936
+ -> {
937
+ OpenAI::Internal::Type::ArrayOf[
938
+ union: OpenAI::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto::Skill
939
+ ]
940
+ },
941
+ nil?: true
942
+ )
943
+
944
+ # @!method initialize(file_ids: nil, memory_limit: nil, network_policy: nil, skills: nil, type: :container_auto)
945
+ # @param file_ids [Array<String>, nil]
946
+ # An optional list of uploaded files to make available to your code.
947
+ #
948
+ # @param memory_limit [Symbol, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto::MemoryLimit, nil]
949
+ # The memory limit for the container.
950
+ #
951
+ # @param network_policy [OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto::NetworkPolicy::Disabled, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto::NetworkPolicy::Allowlist, nil]
952
+ # Network access policy for the container.
953
+ #
954
+ # @param skills [Array<OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto::Skill::SkillReference, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto::Skill::Inline>, nil]
955
+ # An optional list of skills referenced by id or inline data.
956
+ #
957
+ # @param type [Symbol, :container_auto]
958
+ # Automatically creates a container for this request
959
+
960
+ # The memory limit for the container.
961
+ #
962
+ # @see OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto#memory_limit
963
+ module MemoryLimit
964
+ extend OpenAI::Internal::Type::Enum
965
+
966
+ MEMORY_LIMIT_1G = :"1g"
967
+ MEMORY_LIMIT_4G = :"4g"
968
+ MEMORY_LIMIT_16G = :"16g"
969
+ MEMORY_LIMIT_64G = :"64g"
970
+
971
+ # @!method self.values
972
+ # @return [Array<Symbol>]
973
+ end
974
+
975
+ # Network access policy for the container.
976
+ #
977
+ # @see OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto#network_policy
978
+ module NetworkPolicy
979
+ extend OpenAI::Internal::Type::Union
980
+
981
+ discriminator :type
982
+
983
+ variant(
984
+ :disabled,
985
+ -> {
986
+ OpenAI::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto::NetworkPolicy::Disabled
987
+ }
988
+ )
989
+
990
+ variant(
991
+ :allowlist,
992
+ -> {
993
+ OpenAI::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto::NetworkPolicy::Allowlist
994
+ }
995
+ )
996
+
997
+ class Disabled < OpenAI::Internal::Type::BaseModel
998
+ # @!attribute type
999
+ # Disable outbound network access. Always `disabled`.
1000
+ #
1001
+ # @return [Symbol, :disabled]
1002
+ required :type, const: :disabled
1003
+
1004
+ # @!method initialize(type: :disabled)
1005
+ # @param type [Symbol, :disabled]
1006
+ # Disable outbound network access. Always `disabled`.
1007
+ end
1008
+
1009
+ class Allowlist < OpenAI::Internal::Type::BaseModel
1010
+ # @!attribute allowed_domains
1011
+ # A list of allowed domains when type is `allowlist`.
1012
+ #
1013
+ # @return [Array<String>]
1014
+ required :allowed_domains, OpenAI::Internal::Type::ArrayOf[String]
1015
+
1016
+ # @!attribute type
1017
+ # Allow outbound network access only to specified domains. Always `allowlist`.
1018
+ #
1019
+ # @return [Symbol, :allowlist]
1020
+ required :type, const: :allowlist
1021
+
1022
+ # @!method initialize(allowed_domains:, type: :allowlist)
1023
+ # @param allowed_domains [Array<String>]
1024
+ # A list of allowed domains when type is `allowlist`.
1025
+ #
1026
+ # @param type [Symbol, :allowlist]
1027
+ # Allow outbound network access only to specified domains. Always `allowlist`.
1028
+ end
1029
+
1030
+ # @!method self.variants
1031
+ # @return [Array(OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto::NetworkPolicy::Disabled, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto::NetworkPolicy::Allowlist)]
1032
+ end
1033
+
1034
+ module Skill
1035
+ extend OpenAI::Internal::Type::Union
1036
+
1037
+ discriminator :type
1038
+
1039
+ variant(
1040
+ :skill_reference,
1041
+ -> {
1042
+ OpenAI::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto::Skill::SkillReference
1043
+ }
1044
+ )
1045
+
1046
+ variant(
1047
+ :inline,
1048
+ -> {
1049
+ OpenAI::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto::Skill::Inline
1050
+ }
1051
+ )
1052
+
1053
+ class SkillReference < OpenAI::Internal::Type::BaseModel
1054
+ # @!attribute skill_id
1055
+ # The ID of the referenced skill.
1056
+ #
1057
+ # @return [String]
1058
+ required :skill_id, String
1059
+
1060
+ # @!attribute type
1061
+ # References a skill created with the /v1/skills endpoint.
1062
+ #
1063
+ # @return [Symbol, :skill_reference]
1064
+ required :type, const: :skill_reference
1065
+
1066
+ # @!attribute version
1067
+ # Optional skill version. Use a positive integer or 'latest'. Omit for default.
1068
+ #
1069
+ # @return [String, nil]
1070
+ optional :version, String, nil?: true
1071
+
1072
+ # @!method initialize(skill_id:, version: nil, type: :skill_reference)
1073
+ # @param skill_id [String]
1074
+ # The ID of the referenced skill.
1075
+ #
1076
+ # @param version [String, nil]
1077
+ # Optional skill version. Use a positive integer or 'latest'. Omit for default.
1078
+ #
1079
+ # @param type [Symbol, :skill_reference]
1080
+ # References a skill created with the /v1/skills endpoint.
1081
+ end
1082
+
1083
+ class Inline < OpenAI::Internal::Type::BaseModel
1084
+ # @!attribute description
1085
+ # The description of the skill.
1086
+ #
1087
+ # @return [String]
1088
+ required :description, String
1089
+
1090
+ # @!attribute name
1091
+ # The name of the skill.
1092
+ #
1093
+ # @return [String]
1094
+ required :name, String
1095
+
1096
+ # @!attribute source
1097
+ # Inline skill payload
1098
+ #
1099
+ # @return [OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto::Skill::Inline::Source]
1100
+ required(
1101
+ :source,
1102
+ -> {
1103
+ OpenAI::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto::Skill::Inline::Source
1104
+ }
1105
+ )
1106
+
1107
+ # @!attribute type
1108
+ # Defines an inline skill for this request.
1109
+ #
1110
+ # @return [Symbol, :inline]
1111
+ required :type, const: :inline
1112
+
1113
+ # @!method initialize(description:, name:, source:, type: :inline)
1114
+ # @param description [String]
1115
+ # The description of the skill.
1116
+ #
1117
+ # @param name [String]
1118
+ # The name of the skill.
1119
+ #
1120
+ # @param source [OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto::Skill::Inline::Source]
1121
+ # Inline skill payload
1122
+ #
1123
+ # @param type [Symbol, :inline]
1124
+ # Defines an inline skill for this request.
1125
+
1126
+ # @see OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto::Skill::Inline#source
1127
+ class Source < OpenAI::Internal::Type::BaseModel
1128
+ # @!attribute data
1129
+ # Base64-encoded skill zip bundle.
1130
+ #
1131
+ # @return [String]
1132
+ required :data, String
1133
+
1134
+ # @!attribute media_type
1135
+ # The media type of the inline skill payload. Must be `application/zip`.
1136
+ #
1137
+ # @return [Symbol, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto::Skill::Inline::Source::MediaType]
1138
+ required(
1139
+ :media_type,
1140
+ enum: -> {
1141
+ OpenAI::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto::Skill::Inline::Source::MediaType
1142
+ }
1143
+ )
1144
+
1145
+ # @!attribute type
1146
+ # The type of the inline skill source. Must be `base64`.
1147
+ #
1148
+ # @return [Symbol, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto::Skill::Inline::Source::Type]
1149
+ required(
1150
+ :type,
1151
+ enum: -> {
1152
+ OpenAI::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto::Skill::Inline::Source::Type
1153
+ }
1154
+ )
1155
+
1156
+ # @!method initialize(data:, media_type:, type:)
1157
+ # Inline skill payload
1158
+ #
1159
+ # @param data [String]
1160
+ # Base64-encoded skill zip bundle.
1161
+ #
1162
+ # @param media_type [Symbol, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto::Skill::Inline::Source::MediaType]
1163
+ # The media type of the inline skill payload. Must be `application/zip`.
1164
+ #
1165
+ # @param type [Symbol, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto::Skill::Inline::Source::Type]
1166
+ # The type of the inline skill source. Must be `base64`.
1167
+
1168
+ # The media type of the inline skill payload. Must be `application/zip`.
1169
+ #
1170
+ # @see OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto::Skill::Inline::Source#media_type
1171
+ module MediaType
1172
+ extend OpenAI::Internal::Type::Enum
1173
+
1174
+ APPLICATION_ZIP = :"application/zip"
1175
+
1176
+ # @!method self.values
1177
+ # @return [Array<Symbol>]
1178
+ end
1179
+
1180
+ # The type of the inline skill source. Must be `base64`.
1181
+ #
1182
+ # @see OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto::Skill::Inline::Source#type
1183
+ module Type
1184
+ extend OpenAI::Internal::Type::Enum
1185
+
1186
+ BASE64 = :base64
1187
+
1188
+ # @!method self.values
1189
+ # @return [Array<Symbol>]
1190
+ end
1191
+ end
1192
+ end
1193
+
1194
+ # @!method self.variants
1195
+ # @return [Array(OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto::Skill::SkillReference, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto::Skill::Inline)]
1196
+ end
1197
+ end
1198
+
1199
+ class ContainerReference < OpenAI::Internal::Type::BaseModel
1200
+ # @!attribute container_id
1201
+ # The ID of the referenced container.
1202
+ #
1203
+ # @return [String]
1204
+ required :container_id, String
1205
+
1206
+ # @!attribute type
1207
+ # References a container created with the /v1/containers endpoint
1208
+ #
1209
+ # @return [Symbol, :container_reference]
1210
+ required :type, const: :container_reference
1211
+
1212
+ # @!method initialize(container_id:, type: :container_reference)
1213
+ # @param container_id [String]
1214
+ # The ID of the referenced container.
1215
+ #
1216
+ # @param type [Symbol, :container_reference]
1217
+ # References a container created with the /v1/containers endpoint
1218
+ end
1219
+
1220
+ class Local < OpenAI::Internal::Type::BaseModel
1221
+ # @!attribute type
1222
+ # Use a local computer environment.
1223
+ #
1224
+ # @return [Symbol, :local]
1225
+ required :type, const: :local
1226
+
1227
+ # @!attribute skills
1228
+ # An optional list of skills.
1229
+ #
1230
+ # @return [Array<OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::Local::Skill>, nil]
1231
+ optional(
1232
+ :skills,
1233
+ -> {
1234
+ OpenAI::Internal::Type::ArrayOf[
1235
+ OpenAI::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::Local::Skill
1236
+ ]
1237
+ },
1238
+ nil?: true
1239
+ )
1240
+
1241
+ # @!method initialize(skills: nil, type: :local)
1242
+ # @param skills [Array<OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::Local::Skill>, nil]
1243
+ # An optional list of skills.
1244
+ #
1245
+ # @param type [Symbol, :local]
1246
+ # Use a local computer environment.
1247
+ class Skill < OpenAI::Internal::Type::BaseModel
1248
+ # @!attribute description
1249
+ # The description of the skill.
1250
+ #
1251
+ # @return [String]
1252
+ required :description, String
1253
+
1254
+ # @!attribute name
1255
+ # The name of the skill.
1256
+ #
1257
+ # @return [String]
1258
+ required :name, String
1259
+
1260
+ # @!attribute path
1261
+ # The path to the directory containing the skill.
1262
+ #
1263
+ # @return [String]
1264
+ required :path, String
1265
+
1266
+ # @!method initialize(description:, name:, path:)
1267
+ # @param description [String]
1268
+ # The description of the skill.
1269
+ #
1270
+ # @param name [String]
1271
+ # The name of the skill.
1272
+ #
1273
+ # @param path [String]
1274
+ # The path to the directory containing the skill.
1275
+ end
1276
+ end
1277
+
1278
+ # @!method self.variants
1279
+ # @return [Array(OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerAuto, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::ContainerReference, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Shell::Environment::Local)]
1280
+ end
1281
+ end
1282
+
1283
+ class ImageGeneration < OpenAI::Internal::Type::BaseModel
1284
+ # @!attribute type
1285
+ #
1286
+ # @return [Symbol, :image_generation]
1287
+ required :type, const: :image_generation
1288
+
1289
+ # @!method initialize(type: :image_generation)
1290
+ # @param type [Symbol, :image_generation]
1291
+ end
1292
+
1293
+ class Mcp < OpenAI::Internal::Type::BaseModel
1294
+ # @!attribute type
1295
+ #
1296
+ # @return [Symbol, :mcp]
1297
+ required :type, const: :mcp
1298
+
1299
+ # @!method initialize(type: :mcp)
1300
+ # @param type [Symbol, :mcp]
1301
+ end
1302
+
1303
+ class Custom < OpenAI::Internal::Type::BaseModel
1304
+ # @!attribute type
1305
+ #
1306
+ # @return [Symbol, :custom]
1307
+ required :type, const: :custom
1308
+
1309
+ # @!method initialize(type: :custom)
1310
+ # @param type [Symbol, :custom]
1311
+ end
1312
+
1313
+ class Namespace < OpenAI::Internal::Type::BaseModel
1314
+ # @!attribute type
1315
+ #
1316
+ # @return [Symbol, :namespace]
1317
+ required :type, const: :namespace
1318
+
1319
+ # @!method initialize(type: :namespace)
1320
+ # @param type [Symbol, :namespace]
1321
+ end
1322
+
1323
+ class ToolSearch < OpenAI::Internal::Type::BaseModel
1324
+ # @!attribute type
1325
+ #
1326
+ # @return [Symbol, :tool_search]
1327
+ required :type, const: :tool_search
1328
+
1329
+ # @!method initialize(type: :tool_search)
1330
+ # @param type [Symbol, :tool_search]
1331
+ end
1332
+
1333
+ class ProgrammaticToolCalling < OpenAI::Internal::Type::BaseModel
1334
+ # @!attribute type
1335
+ #
1336
+ # @return [Symbol, :programmatic_tool_calling]
1337
+ required :type, const: :programmatic_tool_calling
1338
+
1339
+ # @!method initialize(type: :programmatic_tool_calling)
1340
+ # @param type [Symbol, :programmatic_tool_calling]
1341
+ end
1342
+
1343
+ class Computer < OpenAI::Internal::Type::BaseModel
1344
+ # @!attribute type
1345
+ #
1346
+ # @return [Symbol, :computer]
1347
+ required :type, const: :computer
1348
+
1349
+ # @!method initialize(type: :computer)
1350
+ # @param type [Symbol, :computer]
1351
+ end
1352
+
1353
+ class ApplyPatch < OpenAI::Internal::Type::BaseModel
1354
+ # @!attribute type
1355
+ #
1356
+ # @return [Symbol, :apply_patch]
1357
+ required :type, const: :apply_patch
1358
+
1359
+ # @!method initialize(type: :apply_patch)
1360
+ # @param type [Symbol, :apply_patch]
1361
+ end
1362
+
326
1363
  # @!method self.variants
327
- # @return [Array(OpenAI::Models::Live::FunctionTool, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::WebSearch)]
1364
+ # @return [Array(OpenAI::Models::Live::FunctionTool, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::WebSearch, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::FileSearch, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::CodeInterpreter, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Shell, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::ImageGeneration, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Mcp, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Custom, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Namespace, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::ToolSearch, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::ProgrammaticToolCalling, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::Computer, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::ApplyPatch)]
328
1365
  end
329
1366
  end
330
1367
  end