openai 0.18.1 → 0.19.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 (169) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +20 -0
  3. data/README.md +1 -1
  4. data/lib/openai/client.rb +4 -0
  5. data/lib/openai/helpers/structured_output/boolean.rb +1 -0
  6. data/lib/openai/internal/conversation_cursor_page.rb +92 -0
  7. data/lib/openai/internal/transport/base_client.rb +1 -4
  8. data/lib/openai/internal/transport/pooled_net_requester.rb +1 -9
  9. data/lib/openai/internal/util.rb +1 -1
  10. data/lib/openai/models/audio/transcription.rb +1 -4
  11. data/lib/openai/models/audio/transcription_create_params.rb +2 -7
  12. data/lib/openai/models/audio/transcription_text_done_event.rb +1 -4
  13. data/lib/openai/models/beta/assistant_create_params.rb +6 -19
  14. data/lib/openai/models/beta/assistant_stream_event.rb +6 -24
  15. data/lib/openai/models/beta/assistant_update_params.rb +1 -4
  16. data/lib/openai/models/beta/message_stream_event.rb +1 -4
  17. data/lib/openai/models/beta/run_step_stream_event.rb +1 -4
  18. data/lib/openai/models/beta/thread_create_and_run_params.rb +10 -32
  19. data/lib/openai/models/beta/thread_create_params.rb +7 -22
  20. data/lib/openai/models/beta/threads/message.rb +3 -10
  21. data/lib/openai/models/beta/threads/message_create_params.rb +2 -7
  22. data/lib/openai/models/beta/threads/run.rb +2 -7
  23. data/lib/openai/models/beta/threads/run_create_params.rb +3 -10
  24. data/lib/openai/models/beta/threads/run_submit_tool_outputs_params.rb +1 -3
  25. data/lib/openai/models/beta/threads/runs/code_interpreter_tool_call.rb +5 -17
  26. data/lib/openai/models/beta/threads/runs/code_interpreter_tool_call_delta.rb +1 -3
  27. data/lib/openai/models/beta/threads/runs/file_search_tool_call.rb +4 -12
  28. data/lib/openai/models/beta/threads/runs/run_step_delta_message_delta.rb +1 -4
  29. data/lib/openai/models/beta/threads/runs/tool_calls_step_details.rb +1 -4
  30. data/lib/openai/models/beta/threads/text.rb +1 -4
  31. data/lib/openai/models/chat/chat_completion_chunk.rb +1 -3
  32. data/lib/openai/models/chat/chat_completion_custom_tool.rb +2 -7
  33. data/lib/openai/models/conversations/computer_screenshot_content.rb +38 -0
  34. data/lib/openai/models/conversations/container_file_citation_body.rb +58 -0
  35. data/lib/openai/models/conversations/conversation.rb +51 -0
  36. data/lib/openai/models/conversations/conversation_create_params.rb +39 -0
  37. data/lib/openai/models/conversations/conversation_delete_params.rb +16 -0
  38. data/lib/openai/models/conversations/conversation_deleted.rb +29 -0
  39. data/lib/openai/models/conversations/conversation_deleted_resource.rb +30 -0
  40. data/lib/openai/models/conversations/conversation_item.rb +568 -0
  41. data/lib/openai/models/conversations/conversation_item_list.rb +55 -0
  42. data/lib/openai/models/conversations/conversation_retrieve_params.rb +16 -0
  43. data/lib/openai/models/conversations/conversation_update_params.rb +31 -0
  44. data/lib/openai/models/conversations/file_citation_body.rb +42 -0
  45. data/lib/openai/models/conversations/input_file_content.rb +42 -0
  46. data/lib/openai/models/conversations/input_image_content.rb +62 -0
  47. data/lib/openai/models/conversations/input_text_content.rb +26 -0
  48. data/lib/openai/models/conversations/item_create_params.rb +37 -0
  49. data/lib/openai/models/conversations/item_delete_params.rb +22 -0
  50. data/lib/openai/models/conversations/item_list_params.rb +84 -0
  51. data/lib/openai/models/conversations/item_retrieve_params.rb +36 -0
  52. data/lib/openai/models/conversations/lob_prob.rb +35 -0
  53. data/lib/openai/models/conversations/message.rb +115 -0
  54. data/lib/openai/models/conversations/output_text_content.rb +57 -0
  55. data/lib/openai/models/conversations/refusal_content.rb +26 -0
  56. data/lib/openai/models/conversations/summary_text_content.rb +23 -0
  57. data/lib/openai/models/conversations/text_content.rb +23 -0
  58. data/lib/openai/models/conversations/top_log_prob.rb +29 -0
  59. data/lib/openai/models/conversations/url_citation_body.rb +50 -0
  60. data/lib/openai/models/eval_create_params.rb +6 -20
  61. data/lib/openai/models/evals/create_eval_completions_run_data_source.rb +29 -53
  62. data/lib/openai/models/evals/create_eval_jsonl_run_data_source.rb +1 -3
  63. data/lib/openai/models/evals/run_create_params.rb +18 -54
  64. data/lib/openai/models/fine_tuning/reinforcement_hyperparameters.rb +1 -4
  65. data/lib/openai/models/moderation.rb +5 -15
  66. data/lib/openai/models/responses/input_item_list_params.rb +1 -9
  67. data/lib/openai/models/responses/response.rb +26 -1
  68. data/lib/openai/models/responses/response_computer_tool_call.rb +2 -6
  69. data/lib/openai/models/responses/response_computer_tool_call_output_item.rb +1 -3
  70. data/lib/openai/models/responses/response_conversation_param.rb +20 -0
  71. data/lib/openai/models/responses/response_create_params.rb +34 -1
  72. data/lib/openai/models/responses/response_input_item.rb +2 -7
  73. data/lib/openai/models/responses/response_input_message_item.rb +1 -4
  74. data/lib/openai/models/responses/response_output_item.rb +1 -3
  75. data/lib/openai/models/responses/response_output_message.rb +1 -3
  76. data/lib/openai/models/responses/response_output_text.rb +3 -10
  77. data/lib/openai/models/responses/response_stream_event.rb +4 -16
  78. data/lib/openai/models/responses/response_text_delta_event.rb +1 -3
  79. data/lib/openai/models/responses/response_text_done_event.rb +1 -3
  80. data/lib/openai/models/responses/tool.rb +145 -34
  81. data/lib/openai/models.rb +2 -0
  82. data/lib/openai/resources/conversations/items.rb +141 -0
  83. data/lib/openai/resources/conversations.rb +112 -0
  84. data/lib/openai/resources/responses/input_items.rb +1 -3
  85. data/lib/openai/resources/responses.rb +6 -2
  86. data/lib/openai/version.rb +1 -1
  87. data/lib/openai.rb +31 -0
  88. data/rbi/openai/client.rbi +3 -0
  89. data/rbi/openai/errors.rbi +5 -5
  90. data/rbi/openai/internal/conversation_cursor_page.rbi +25 -0
  91. data/rbi/openai/models/conversations/computer_screenshot_content.rbi +60 -0
  92. data/rbi/openai/models/conversations/container_file_citation_body.rbi +82 -0
  93. data/rbi/openai/models/conversations/conversation.rbi +76 -0
  94. data/rbi/openai/models/conversations/conversation_create_params.rbi +144 -0
  95. data/rbi/openai/models/conversations/conversation_delete_params.rbi +32 -0
  96. data/rbi/openai/models/conversations/conversation_deleted.rbi +40 -0
  97. data/rbi/openai/models/conversations/conversation_deleted_resource.rbi +40 -0
  98. data/rbi/openai/models/conversations/conversation_item.rbi +835 -0
  99. data/rbi/openai/models/conversations/conversation_item_list.rbi +101 -0
  100. data/rbi/openai/models/conversations/conversation_retrieve_params.rbi +32 -0
  101. data/rbi/openai/models/conversations/conversation_update_params.rbi +56 -0
  102. data/rbi/openai/models/conversations/file_citation_body.rbi +61 -0
  103. data/rbi/openai/models/conversations/input_file_content.rbi +72 -0
  104. data/rbi/openai/models/conversations/input_image_content.rbi +113 -0
  105. data/rbi/openai/models/conversations/input_text_content.rbi +38 -0
  106. data/rbi/openai/models/conversations/item_create_params.rbi +150 -0
  107. data/rbi/openai/models/conversations/item_delete_params.rbi +40 -0
  108. data/rbi/openai/models/conversations/item_list_params.rbi +174 -0
  109. data/rbi/openai/models/conversations/item_retrieve_params.rbi +70 -0
  110. data/rbi/openai/models/conversations/lob_prob.rbi +50 -0
  111. data/rbi/openai/models/conversations/message.rbi +196 -0
  112. data/rbi/openai/models/conversations/output_text_content.rbi +110 -0
  113. data/rbi/openai/models/conversations/refusal_content.rbi +38 -0
  114. data/rbi/openai/models/conversations/summary_text_content.rbi +31 -0
  115. data/rbi/openai/models/conversations/text_content.rbi +28 -0
  116. data/rbi/openai/models/conversations/top_log_prob.rbi +41 -0
  117. data/rbi/openai/models/conversations/url_citation_body.rbi +74 -0
  118. data/rbi/openai/models/evals/create_eval_completions_run_data_source.rbi +33 -33
  119. data/rbi/openai/models/responses/input_item_list_params.rbi +0 -11
  120. data/rbi/openai/models/responses/response.rbi +49 -0
  121. data/rbi/openai/models/responses/response_conversation_param.rbi +33 -0
  122. data/rbi/openai/models/responses/response_create_params.rbi +54 -0
  123. data/rbi/openai/models/responses/tool.rbi +243 -31
  124. data/rbi/openai/models.rbi +2 -0
  125. data/rbi/openai/resources/conversations/items.rbi +152 -0
  126. data/rbi/openai/resources/conversations.rbi +110 -0
  127. data/rbi/openai/resources/responses/input_items.rbi +0 -3
  128. data/rbi/openai/resources/responses.rbi +26 -0
  129. data/sig/openai/client.rbs +2 -0
  130. data/sig/openai/internal/conversation_cursor_page.rbs +15 -0
  131. data/sig/openai/models/conversations/computer_screenshot_content.rbs +28 -0
  132. data/sig/openai/models/conversations/container_file_citation_body.rbs +47 -0
  133. data/sig/openai/models/conversations/conversation.rbs +37 -0
  134. data/sig/openai/models/conversations/conversation_create_params.rbs +33 -0
  135. data/sig/openai/models/conversations/conversation_delete_params.rbs +17 -0
  136. data/sig/openai/models/conversations/conversation_deleted.rbs +28 -0
  137. data/sig/openai/models/conversations/conversation_deleted_resource.rbs +28 -0
  138. data/sig/openai/models/conversations/conversation_item.rbs +403 -0
  139. data/sig/openai/models/conversations/conversation_item_list.rbs +44 -0
  140. data/sig/openai/models/conversations/conversation_retrieve_params.rbs +17 -0
  141. data/sig/openai/models/conversations/conversation_update_params.rbs +26 -0
  142. data/sig/openai/models/conversations/file_citation_body.rbs +37 -0
  143. data/sig/openai/models/conversations/input_file_content.rbs +41 -0
  144. data/sig/openai/models/conversations/input_image_content.rbs +49 -0
  145. data/sig/openai/models/conversations/input_text_content.rbs +17 -0
  146. data/sig/openai/models/conversations/item_create_params.rbs +37 -0
  147. data/sig/openai/models/conversations/item_delete_params.rbs +25 -0
  148. data/sig/openai/models/conversations/item_list_params.rbs +66 -0
  149. data/sig/openai/models/conversations/item_retrieve_params.rbs +37 -0
  150. data/sig/openai/models/conversations/lob_prob.rbs +37 -0
  151. data/sig/openai/models/conversations/message.rbs +95 -0
  152. data/sig/openai/models/conversations/output_text_content.rbs +52 -0
  153. data/sig/openai/models/conversations/refusal_content.rbs +17 -0
  154. data/sig/openai/models/conversations/summary_text_content.rbs +17 -0
  155. data/sig/openai/models/conversations/text_content.rbs +17 -0
  156. data/sig/openai/models/conversations/top_log_prob.rbs +28 -0
  157. data/sig/openai/models/conversations/url_citation_body.rbs +42 -0
  158. data/sig/openai/models/evals/create_eval_completions_run_data_source.rbs +22 -22
  159. data/sig/openai/models/responses/input_item_list_params.rbs +0 -7
  160. data/sig/openai/models/responses/response.rbs +15 -0
  161. data/sig/openai/models/responses/response_conversation_param.rbs +15 -0
  162. data/sig/openai/models/responses/response_create_params.rbs +14 -0
  163. data/sig/openai/models/responses/tool.rbs +83 -18
  164. data/sig/openai/models.rbs +2 -0
  165. data/sig/openai/resources/conversations/items.rbs +38 -0
  166. data/sig/openai/resources/conversations.rbs +31 -0
  167. data/sig/openai/resources/responses/input_items.rbs +0 -1
  168. data/sig/openai/resources/responses.rbs +2 -0
  169. metadata +95 -2
@@ -0,0 +1,41 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Conversations
6
+ class TopLogProb < OpenAI::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(OpenAI::Conversations::TopLogProb, OpenAI::Internal::AnyHash)
10
+ end
11
+
12
+ sig { returns(String) }
13
+ attr_accessor :token
14
+
15
+ sig { returns(T::Array[Integer]) }
16
+ attr_accessor :bytes
17
+
18
+ sig { returns(Float) }
19
+ attr_accessor :logprob
20
+
21
+ sig do
22
+ params(
23
+ token: String,
24
+ bytes: T::Array[Integer],
25
+ logprob: Float
26
+ ).returns(T.attached_class)
27
+ end
28
+ def self.new(token:, bytes:, logprob:)
29
+ end
30
+
31
+ sig do
32
+ override.returns(
33
+ { token: String, bytes: T::Array[Integer], logprob: Float }
34
+ )
35
+ end
36
+ def to_hash
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,74 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Conversations
6
+ class URLCitationBody < OpenAI::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ OpenAI::Conversations::URLCitationBody,
11
+ OpenAI::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ # The index of the last character of the URL citation in the message.
16
+ sig { returns(Integer) }
17
+ attr_accessor :end_index
18
+
19
+ # The index of the first character of the URL citation in the message.
20
+ sig { returns(Integer) }
21
+ attr_accessor :start_index
22
+
23
+ # The title of the web resource.
24
+ sig { returns(String) }
25
+ attr_accessor :title
26
+
27
+ # The type of the URL citation. Always `url_citation`.
28
+ sig { returns(Symbol) }
29
+ attr_accessor :type
30
+
31
+ # The URL of the web resource.
32
+ sig { returns(String) }
33
+ attr_accessor :url
34
+
35
+ sig do
36
+ params(
37
+ end_index: Integer,
38
+ start_index: Integer,
39
+ title: String,
40
+ url: String,
41
+ type: Symbol
42
+ ).returns(T.attached_class)
43
+ end
44
+ def self.new(
45
+ # The index of the last character of the URL citation in the message.
46
+ end_index:,
47
+ # The index of the first character of the URL citation in the message.
48
+ start_index:,
49
+ # The title of the web resource.
50
+ title:,
51
+ # The URL of the web resource.
52
+ url:,
53
+ # The type of the URL citation. Always `url_citation`.
54
+ type: :url_citation
55
+ )
56
+ end
57
+
58
+ sig do
59
+ override.returns(
60
+ {
61
+ end_index: Integer,
62
+ start_index: Integer,
63
+ title: String,
64
+ type: Symbol,
65
+ url: String
66
+ }
67
+ )
68
+ end
69
+ def to_hash
70
+ end
71
+ end
72
+ end
73
+ end
74
+ end
@@ -441,7 +441,7 @@ module OpenAI
441
441
  T::Array[
442
442
  T.any(
443
443
  OpenAI::Responses::EasyInputMessage,
444
- OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::Message
444
+ OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::EvalItem
445
445
  )
446
446
  ]
447
447
  )
@@ -458,7 +458,7 @@ module OpenAI
458
458
  T::Array[
459
459
  T.any(
460
460
  OpenAI::Responses::EasyInputMessage::OrHash,
461
- OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::Message::OrHash
461
+ OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::EvalItem::OrHash
462
462
  )
463
463
  ],
464
464
  type: Symbol
@@ -480,7 +480,7 @@ module OpenAI
480
480
  T::Array[
481
481
  T.any(
482
482
  OpenAI::Responses::EasyInputMessage,
483
- OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::Message
483
+ OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::EvalItem
484
484
  )
485
485
  ],
486
486
  type: Symbol
@@ -502,15 +502,15 @@ module OpenAI
502
502
  T.type_alias do
503
503
  T.any(
504
504
  OpenAI::Responses::EasyInputMessage,
505
- OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::Message
505
+ OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::EvalItem
506
506
  )
507
507
  end
508
508
 
509
- class Message < OpenAI::Internal::Type::BaseModel
509
+ class EvalItem < OpenAI::Internal::Type::BaseModel
510
510
  OrHash =
511
511
  T.type_alias do
512
512
  T.any(
513
- OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::Message,
513
+ OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::EvalItem,
514
514
  OpenAI::Internal::AnyHash
515
515
  )
516
516
  end
@@ -521,8 +521,8 @@ module OpenAI
521
521
  T.any(
522
522
  String,
523
523
  OpenAI::Responses::ResponseInputText,
524
- OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::Message::Content::OutputText,
525
- OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::Message::Content::InputImage,
524
+ OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::EvalItem::Content::OutputText,
525
+ OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::EvalItem::Content::InputImage,
526
526
  T::Array[T.anything]
527
527
  )
528
528
  )
@@ -533,7 +533,7 @@ module OpenAI
533
533
  # `developer`.
534
534
  sig do
535
535
  returns(
536
- OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::Message::Role::OrSymbol
536
+ OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::EvalItem::Role::OrSymbol
537
537
  )
538
538
  end
539
539
  attr_accessor :role
@@ -542,7 +542,7 @@ module OpenAI
542
542
  sig do
543
543
  returns(
544
544
  T.nilable(
545
- OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::Message::Type::OrSymbol
545
+ OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::EvalItem::Type::OrSymbol
546
546
  )
547
547
  )
548
548
  end
@@ -551,7 +551,7 @@ module OpenAI
551
551
  sig do
552
552
  params(
553
553
  type:
554
- OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::Message::Type::OrSymbol
554
+ OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::EvalItem::Type::OrSymbol
555
555
  ).void
556
556
  end
557
557
  attr_writer :type
@@ -567,14 +567,14 @@ module OpenAI
567
567
  T.any(
568
568
  String,
569
569
  OpenAI::Responses::ResponseInputText::OrHash,
570
- OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::Message::Content::OutputText::OrHash,
571
- OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::Message::Content::InputImage::OrHash,
570
+ OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::EvalItem::Content::OutputText::OrHash,
571
+ OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::EvalItem::Content::InputImage::OrHash,
572
572
  T::Array[T.anything]
573
573
  ),
574
574
  role:
575
- OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::Message::Role::OrSymbol,
575
+ OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::EvalItem::Role::OrSymbol,
576
576
  type:
577
- OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::Message::Type::OrSymbol
577
+ OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::EvalItem::Type::OrSymbol
578
578
  ).returns(T.attached_class)
579
579
  end
580
580
  def self.new(
@@ -595,14 +595,14 @@ module OpenAI
595
595
  T.any(
596
596
  String,
597
597
  OpenAI::Responses::ResponseInputText,
598
- OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::Message::Content::OutputText,
599
- OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::Message::Content::InputImage,
598
+ OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::EvalItem::Content::OutputText,
599
+ OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::EvalItem::Content::InputImage,
600
600
  T::Array[T.anything]
601
601
  ),
602
602
  role:
603
- OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::Message::Role::OrSymbol,
603
+ OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::EvalItem::Role::OrSymbol,
604
604
  type:
605
- OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::Message::Type::OrSymbol
605
+ OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::EvalItem::Type::OrSymbol
606
606
  }
607
607
  )
608
608
  end
@@ -618,8 +618,8 @@ module OpenAI
618
618
  T.any(
619
619
  String,
620
620
  OpenAI::Responses::ResponseInputText,
621
- OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::Message::Content::OutputText,
622
- OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::Message::Content::InputImage,
621
+ OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::EvalItem::Content::OutputText,
622
+ OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::EvalItem::Content::InputImage,
623
623
  T::Array[T.anything]
624
624
  )
625
625
  end
@@ -628,7 +628,7 @@ module OpenAI
628
628
  OrHash =
629
629
  T.type_alias do
630
630
  T.any(
631
- OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::Message::Content::OutputText,
631
+ OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::EvalItem::Content::OutputText,
632
632
  OpenAI::Internal::AnyHash
633
633
  )
634
634
  end
@@ -664,7 +664,7 @@ module OpenAI
664
664
  OrHash =
665
665
  T.type_alias do
666
666
  T.any(
667
- OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::Message::Content::InputImage,
667
+ OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::EvalItem::Content::InputImage,
668
668
  OpenAI::Internal::AnyHash
669
669
  )
670
670
  end
@@ -716,7 +716,7 @@ module OpenAI
716
716
  sig do
717
717
  override.returns(
718
718
  T::Array[
719
- OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::Message::Content::Variants
719
+ OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::EvalItem::Content::Variants
720
720
  ]
721
721
  )
722
722
  end
@@ -741,7 +741,7 @@ module OpenAI
741
741
  T.type_alias do
742
742
  T.all(
743
743
  Symbol,
744
- OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::Message::Role
744
+ OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::EvalItem::Role
745
745
  )
746
746
  end
747
747
  OrSymbol = T.type_alias { T.any(Symbol, String) }
@@ -749,28 +749,28 @@ module OpenAI
749
749
  USER =
750
750
  T.let(
751
751
  :user,
752
- OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::Message::Role::TaggedSymbol
752
+ OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::EvalItem::Role::TaggedSymbol
753
753
  )
754
754
  ASSISTANT =
755
755
  T.let(
756
756
  :assistant,
757
- OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::Message::Role::TaggedSymbol
757
+ OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::EvalItem::Role::TaggedSymbol
758
758
  )
759
759
  SYSTEM =
760
760
  T.let(
761
761
  :system,
762
- OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::Message::Role::TaggedSymbol
762
+ OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::EvalItem::Role::TaggedSymbol
763
763
  )
764
764
  DEVELOPER =
765
765
  T.let(
766
766
  :developer,
767
- OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::Message::Role::TaggedSymbol
767
+ OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::EvalItem::Role::TaggedSymbol
768
768
  )
769
769
 
770
770
  sig do
771
771
  override.returns(
772
772
  T::Array[
773
- OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::Message::Role::TaggedSymbol
773
+ OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::EvalItem::Role::TaggedSymbol
774
774
  ]
775
775
  )
776
776
  end
@@ -786,7 +786,7 @@ module OpenAI
786
786
  T.type_alias do
787
787
  T.all(
788
788
  Symbol,
789
- OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::Message::Type
789
+ OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::EvalItem::Type
790
790
  )
791
791
  end
792
792
  OrSymbol = T.type_alias { T.any(Symbol, String) }
@@ -794,13 +794,13 @@ module OpenAI
794
794
  MESSAGE =
795
795
  T.let(
796
796
  :message,
797
- OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::Message::Type::TaggedSymbol
797
+ OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::EvalItem::Type::TaggedSymbol
798
798
  )
799
799
 
800
800
  sig do
801
801
  override.returns(
802
802
  T::Array[
803
- OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::Message::Type::TaggedSymbol
803
+ OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::EvalItem::Type::TaggedSymbol
804
804
  ]
805
805
  )
806
806
  end
@@ -22,13 +22,6 @@ module OpenAI
22
22
  sig { params(after: String).void }
23
23
  attr_writer :after
24
24
 
25
- # An item ID to list items before, used in pagination.
26
- sig { returns(T.nilable(String)) }
27
- attr_reader :before
28
-
29
- sig { params(before: String).void }
30
- attr_writer :before
31
-
32
25
  # Additional fields to include in the response. See the `include` parameter for
33
26
  # Response creation above for more information.
34
27
  sig do
@@ -74,7 +67,6 @@ module OpenAI
74
67
  sig do
75
68
  params(
76
69
  after: String,
77
- before: String,
78
70
  include: T::Array[OpenAI::Responses::ResponseIncludable::OrSymbol],
79
71
  limit: Integer,
80
72
  order: OpenAI::Responses::InputItemListParams::Order::OrSymbol,
@@ -84,8 +76,6 @@ module OpenAI
84
76
  def self.new(
85
77
  # An item ID to list items after, used in pagination.
86
78
  after: nil,
87
- # An item ID to list items before, used in pagination.
88
- before: nil,
89
79
  # Additional fields to include in the response. See the `include` parameter for
90
80
  # Response creation above for more information.
91
81
  include: nil,
@@ -105,7 +95,6 @@ module OpenAI
105
95
  override.returns(
106
96
  {
107
97
  after: String,
108
- before: String,
109
98
  include:
110
99
  T::Array[OpenAI::Responses::ResponseIncludable::OrSymbol],
111
100
  limit: Integer,
@@ -136,6 +136,19 @@ module OpenAI
136
136
  sig { returns(T.nilable(T::Boolean)) }
137
137
  attr_accessor :background
138
138
 
139
+ # The conversation that this response belongs to. Input items and output items
140
+ # from this response are automatically added to this conversation.
141
+ sig { returns(T.nilable(OpenAI::Responses::Response::Conversation)) }
142
+ attr_reader :conversation
143
+
144
+ sig do
145
+ params(
146
+ conversation:
147
+ T.nilable(OpenAI::Responses::Response::Conversation::OrHash)
148
+ ).void
149
+ end
150
+ attr_writer :conversation
151
+
139
152
  # An upper bound for the number of tokens that can be generated for a response,
140
153
  # including visible output tokens and
141
154
  # [reasoning tokens](https://platform.openai.com/docs/guides/reasoning).
@@ -152,6 +165,7 @@ module OpenAI
152
165
  # The unique ID of the previous response to the model. Use this to create
153
166
  # multi-turn conversations. Learn more about
154
167
  # [conversation state](https://platform.openai.com/docs/guides/conversation-state).
168
+ # Cannot be used in conjunction with `conversation`.
155
169
  sig { returns(T.nilable(String)) }
156
170
  attr_accessor :previous_response_id
157
171
 
@@ -340,6 +354,8 @@ module OpenAI
340
354
  ],
341
355
  top_p: T.nilable(Float),
342
356
  background: T.nilable(T::Boolean),
357
+ conversation:
358
+ T.nilable(OpenAI::Responses::Response::Conversation::OrHash),
343
359
  max_output_tokens: T.nilable(Integer),
344
360
  max_tool_calls: T.nilable(Integer),
345
361
  previous_response_id: T.nilable(String),
@@ -432,6 +448,9 @@ module OpenAI
432
448
  # Whether to run the model response in the background.
433
449
  # [Learn more](https://platform.openai.com/docs/guides/background).
434
450
  background: nil,
451
+ # The conversation that this response belongs to. Input items and output items
452
+ # from this response are automatically added to this conversation.
453
+ conversation: nil,
435
454
  # An upper bound for the number of tokens that can be generated for a response,
436
455
  # including visible output tokens and
437
456
  # [reasoning tokens](https://platform.openai.com/docs/guides/reasoning).
@@ -444,6 +463,7 @@ module OpenAI
444
463
  # The unique ID of the previous response to the model. Use this to create
445
464
  # multi-turn conversations. Learn more about
446
465
  # [conversation state](https://platform.openai.com/docs/guides/conversation-state).
466
+ # Cannot be used in conjunction with `conversation`.
447
467
  previous_response_id: nil,
448
468
  # Reference to a prompt template and its variables.
449
469
  # [Learn more](https://platform.openai.com/docs/guides/text?api-mode=responses#reusable-prompts).
@@ -534,6 +554,8 @@ module OpenAI
534
554
  tools: T::Array[OpenAI::Responses::Tool::Variants],
535
555
  top_p: T.nilable(Float),
536
556
  background: T.nilable(T::Boolean),
557
+ conversation:
558
+ T.nilable(OpenAI::Responses::Response::Conversation),
537
559
  max_output_tokens: T.nilable(Integer),
538
560
  max_tool_calls: T.nilable(Integer),
539
561
  previous_response_id: T.nilable(String),
@@ -707,6 +729,33 @@ module OpenAI
707
729
  end
708
730
  end
709
731
 
732
+ class Conversation < OpenAI::Internal::Type::BaseModel
733
+ OrHash =
734
+ T.type_alias do
735
+ T.any(
736
+ OpenAI::Responses::Response::Conversation,
737
+ OpenAI::Internal::AnyHash
738
+ )
739
+ end
740
+
741
+ # The unique ID of the conversation.
742
+ sig { returns(String) }
743
+ attr_accessor :id
744
+
745
+ # The conversation that this response belongs to. Input items and output items
746
+ # from this response are automatically added to this conversation.
747
+ sig { params(id: String).returns(T.attached_class) }
748
+ def self.new(
749
+ # The unique ID of the conversation.
750
+ id:
751
+ )
752
+ end
753
+
754
+ sig { override.returns({ id: String }) }
755
+ def to_hash
756
+ end
757
+ end
758
+
710
759
  # Specifies the processing type used for serving the request.
711
760
  #
712
761
  # - If set to 'auto', then the request will be processed with the service tier
@@ -0,0 +1,33 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Responses
6
+ class ResponseConversationParam < OpenAI::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ OpenAI::Responses::ResponseConversationParam,
11
+ OpenAI::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ # The unique ID of the conversation.
16
+ sig { returns(String) }
17
+ attr_accessor :id
18
+
19
+ # The conversation that this response belongs to.
20
+ sig { params(id: String).returns(T.attached_class) }
21
+ def self.new(
22
+ # The unique ID of the conversation.
23
+ id:
24
+ )
25
+ end
26
+
27
+ sig { override.returns({ id: String }) }
28
+ def to_hash
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
@@ -20,6 +20,19 @@ module OpenAI
20
20
  sig { returns(T.nilable(T::Boolean)) }
21
21
  attr_accessor :background
22
22
 
23
+ # The conversation that this response belongs to. Items from this conversation are
24
+ # prepended to `input_items` for this response request. Input items and output
25
+ # items from this response are automatically added to this conversation after this
26
+ # response completes.
27
+ sig do
28
+ returns(
29
+ T.nilable(
30
+ T.any(String, OpenAI::Responses::ResponseConversationParam)
31
+ )
32
+ )
33
+ end
34
+ attr_accessor :conversation
35
+
23
36
  # Specify additional output data to include in the model response. Currently
24
37
  # supported values are:
25
38
  #
@@ -133,6 +146,7 @@ module OpenAI
133
146
  # The unique ID of the previous response to the model. Use this to create
134
147
  # multi-turn conversations. Learn more about
135
148
  # [conversation state](https://platform.openai.com/docs/guides/conversation-state).
149
+ # Cannot be used in conjunction with `conversation`.
136
150
  sig { returns(T.nilable(String)) }
137
151
  attr_accessor :previous_response_id
138
152
 
@@ -385,6 +399,13 @@ module OpenAI
385
399
  sig do
386
400
  params(
387
401
  background: T.nilable(T::Boolean),
402
+ conversation:
403
+ T.nilable(
404
+ T.any(
405
+ String,
406
+ OpenAI::Responses::ResponseConversationParam::OrHash
407
+ )
408
+ ),
388
409
  include:
389
410
  T.nilable(
390
411
  T::Array[OpenAI::Responses::ResponseIncludable::OrSymbol]
@@ -454,6 +475,11 @@ module OpenAI
454
475
  # Whether to run the model response in the background.
455
476
  # [Learn more](https://platform.openai.com/docs/guides/background).
456
477
  background: nil,
478
+ # The conversation that this response belongs to. Items from this conversation are
479
+ # prepended to `input_items` for this response request. Input items and output
480
+ # items from this response are automatically added to this conversation after this
481
+ # response completes.
482
+ conversation: nil,
457
483
  # Specify additional output data to include in the model response. Currently
458
484
  # supported values are:
459
485
  #
@@ -514,6 +540,7 @@ module OpenAI
514
540
  # The unique ID of the previous response to the model. Use this to create
515
541
  # multi-turn conversations. Learn more about
516
542
  # [conversation state](https://platform.openai.com/docs/guides/conversation-state).
543
+ # Cannot be used in conjunction with `conversation`.
517
544
  previous_response_id: nil,
518
545
  # Reference to a prompt template and its variables.
519
546
  # [Learn more](https://platform.openai.com/docs/guides/text?api-mode=responses#reusable-prompts).
@@ -617,6 +644,10 @@ module OpenAI
617
644
  override.returns(
618
645
  {
619
646
  background: T.nilable(T::Boolean),
647
+ conversation:
648
+ T.nilable(
649
+ T.any(String, OpenAI::Responses::ResponseConversationParam)
650
+ ),
620
651
  include:
621
652
  T.nilable(
622
653
  T::Array[OpenAI::Responses::ResponseIncludable::OrSymbol]
@@ -686,6 +717,29 @@ module OpenAI
686
717
  def to_hash
687
718
  end
688
719
 
720
+ # The conversation that this response belongs to. Items from this conversation are
721
+ # prepended to `input_items` for this response request. Input items and output
722
+ # items from this response are automatically added to this conversation after this
723
+ # response completes.
724
+ module Conversation
725
+ extend OpenAI::Internal::Type::Union
726
+
727
+ Variants =
728
+ T.type_alias do
729
+ T.any(String, OpenAI::Responses::ResponseConversationParam)
730
+ end
731
+
732
+ sig do
733
+ override.returns(
734
+ T::Array[
735
+ OpenAI::Responses::ResponseCreateParams::Conversation::Variants
736
+ ]
737
+ )
738
+ end
739
+ def self.variants
740
+ end
741
+ end
742
+
689
743
  # Text, image, or file inputs to the model, used to generate a response.
690
744
  #
691
745
  # Learn more: