ogx_open_client 1.0.3.dev0__py3-none-any.whl

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 (1199) hide show
  1. ogx_client/__init__.py +1135 -0
  2. ogx_client/_exceptions.py +114 -0
  3. ogx_client/_types.py +312 -0
  4. ogx_client/_version.py +8 -0
  5. ogx_client/api/__init__.py +33 -0
  6. ogx_client/api/admin_api.py +1411 -0
  7. ogx_client/api/alpha_api.py +354 -0
  8. ogx_client/api/batches_api.py +1247 -0
  9. ogx_client/api/chat_api.py +352 -0
  10. ogx_client/api/chat_completions_api.py +1028 -0
  11. ogx_client/api/completions_api.py +440 -0
  12. ogx_client/api/connectors_api.py +1235 -0
  13. ogx_client/api/conversations_api.py +1288 -0
  14. ogx_client/api/embeddings_api.py +429 -0
  15. ogx_client/api/file_batches_api.py +1370 -0
  16. ogx_client/api/file_processors_api.py +442 -0
  17. ogx_client/api/files_api.py +1539 -0
  18. ogx_client/api/inference_api.py +429 -0
  19. ogx_client/api/input_items_api.py +472 -0
  20. ogx_client/api/inspect_api.py +617 -0
  21. ogx_client/api/interactions_api.py +430 -0
  22. ogx_client/api/items_api.py +1359 -0
  23. ogx_client/api/messages_api.py +2466 -0
  24. ogx_client/api/models_api.py +451 -0
  25. ogx_client/api/openai_api.py +481 -0
  26. ogx_client/api/prompts_api.py +1883 -0
  27. ogx_client/api/providers_api.py +636 -0
  28. ogx_client/api/responses_api.py +1876 -0
  29. ogx_client/api/routes_api.py +389 -0
  30. ogx_client/api/tools_api.py +389 -0
  31. ogx_client/api/vector_io_api.py +740 -0
  32. ogx_client/api/vector_stores_api.py +1936 -0
  33. ogx_client/api/vector_stores_files_api.py +2011 -0
  34. ogx_client/api/versions_api.py +386 -0
  35. ogx_client/api_client.py +833 -0
  36. ogx_client/api_response.py +21 -0
  37. ogx_client/async_api_client.py +203 -0
  38. ogx_client/async_api_response.py +134 -0
  39. ogx_client/async_stream.py +161 -0
  40. ogx_client/configuration.py +585 -0
  41. ogx_client/exceptions.py +253 -0
  42. ogx_client/lib/__init__.py +17 -0
  43. ogx_client/lib/_utils.py +26 -0
  44. ogx_client/lib/agents/__init__.py +5 -0
  45. ogx_client/lib/agents/agent.py +540 -0
  46. ogx_client/lib/agents/client_tool.py +258 -0
  47. ogx_client/lib/agents/event_logger.py +134 -0
  48. ogx_client/lib/agents/event_synthesizer.py +448 -0
  49. ogx_client/lib/agents/react/__init__.py +5 -0
  50. ogx_client/lib/agents/react/agent.py +94 -0
  51. ogx_client/lib/agents/react/prompts.py +151 -0
  52. ogx_client/lib/agents/react/tool_parser.py +59 -0
  53. ogx_client/lib/agents/tool_parser.py +42 -0
  54. ogx_client/lib/agents/turn_events.py +268 -0
  55. ogx_client/lib/agents/types.py +63 -0
  56. ogx_client/lib/cli/__init__.py +12 -0
  57. ogx_client/lib/cli/common/__init__.py +5 -0
  58. ogx_client/lib/cli/common/utils.py +54 -0
  59. ogx_client/lib/cli/configure.py +68 -0
  60. ogx_client/lib/cli/constants.py +14 -0
  61. ogx_client/lib/cli/datasets/__init__.py +9 -0
  62. ogx_client/lib/cli/datasets/datasets.py +22 -0
  63. ogx_client/lib/cli/datasets/list.py +32 -0
  64. ogx_client/lib/cli/datasets/register.py +78 -0
  65. ogx_client/lib/cli/datasets/unregister.py +20 -0
  66. ogx_client/lib/cli/eval/__init__.py +9 -0
  67. ogx_client/lib/cli/eval/eval.py +22 -0
  68. ogx_client/lib/cli/eval/run_benchmark.py +193 -0
  69. ogx_client/lib/cli/eval/run_scoring.py +116 -0
  70. ogx_client/lib/cli/eval/utils.py +59 -0
  71. ogx_client/lib/cli/eval_tasks/__init__.py +9 -0
  72. ogx_client/lib/cli/eval_tasks/eval_tasks.py +65 -0
  73. ogx_client/lib/cli/eval_tasks/list.py +35 -0
  74. ogx_client/lib/cli/inference/__init__.py +9 -0
  75. ogx_client/lib/cli/inference/inference.py +88 -0
  76. ogx_client/lib/cli/inspect/__init__.py +9 -0
  77. ogx_client/lib/cli/inspect/inspect.py +19 -0
  78. ogx_client/lib/cli/inspect/version.py +22 -0
  79. ogx_client/lib/cli/models/__init__.py +9 -0
  80. ogx_client/lib/cli/models/models.py +149 -0
  81. ogx_client/lib/cli/ogx_client.py +111 -0
  82. ogx_client/lib/cli/post_training/__init__.py +9 -0
  83. ogx_client/lib/cli/post_training/post_training.py +114 -0
  84. ogx_client/lib/cli/providers/__init__.py +9 -0
  85. ogx_client/lib/cli/providers/inspect.py +33 -0
  86. ogx_client/lib/cli/providers/list.py +32 -0
  87. ogx_client/lib/cli/providers/providers.py +21 -0
  88. ogx_client/lib/cli/scoring_functions/__init__.py +9 -0
  89. ogx_client/lib/cli/scoring_functions/list.py +38 -0
  90. ogx_client/lib/cli/scoring_functions/scoring_functions.py +62 -0
  91. ogx_client/lib/cli/toolgroups/__init__.py +9 -0
  92. ogx_client/lib/cli/toolgroups/toolgroups.py +129 -0
  93. ogx_client/lib/cli/vector_stores/__init__.py +9 -0
  94. ogx_client/lib/cli/vector_stores/vector_stores.py +138 -0
  95. ogx_client/lib/inference/__init__.py +5 -0
  96. ogx_client/lib/inference/event_logger.py +58 -0
  97. ogx_client/lib/inference/utils.py +21 -0
  98. ogx_client/lib/stream_printer.py +30 -0
  99. ogx_client/lib/tools/__init__.py +9 -0
  100. ogx_client/lib/tools/mcp_oauth.py +303 -0
  101. ogx_client/models/__init__.py +505 -0
  102. ogx_client/models/add_items_request.py +148 -0
  103. ogx_client/models/allowed_tools_config.py +145 -0
  104. ogx_client/models/allowed_tools_filter.py +141 -0
  105. ogx_client/models/anthropic_base64_image_source.py +140 -0
  106. ogx_client/models/anthropic_base64_image_source_anthropic_url_image_source.py +396 -0
  107. ogx_client/models/anthropic_count_tokens_request.py +170 -0
  108. ogx_client/models/anthropic_count_tokens_response.py +119 -0
  109. ogx_client/models/anthropic_create_message_request.py +217 -0
  110. ogx_client/models/anthropic_image_block.py +144 -0
  111. ogx_client/models/anthropic_list_models_response.py +163 -0
  112. ogx_client/models/anthropic_message.py +141 -0
  113. ogx_client/models/anthropic_message_response.py +187 -0
  114. ogx_client/models/anthropic_model_info.py +149 -0
  115. ogx_client/models/anthropic_text_block.py +131 -0
  116. ogx_client/models/anthropic_text_block5_variants.py +549 -0
  117. ogx_client/models/anthropic_text_block5_variants1.py +549 -0
  118. ogx_client/models/anthropic_text_block_anthropic_image_block.py +203 -0
  119. ogx_client/models/anthropic_thinking_block.py +138 -0
  120. ogx_client/models/anthropic_thinking_config.py +137 -0
  121. ogx_client/models/anthropic_tool_def.py +128 -0
  122. ogx_client/models/anthropic_tool_result_block_input.py +153 -0
  123. ogx_client/models/anthropic_tool_result_block_output.py +153 -0
  124. ogx_client/models/anthropic_tool_use_block.py +135 -0
  125. ogx_client/models/anthropic_url_image_source.py +131 -0
  126. ogx_client/models/anthropic_usage.py +135 -0
  127. ogx_client/models/api.py +59 -0
  128. ogx_client/models/approval_filter.py +148 -0
  129. ogx_client/models/array_type.py +129 -0
  130. ogx_client/models/batch.py +302 -0
  131. ogx_client/models/batch_error.py +158 -0
  132. ogx_client/models/batch_request_counts.py +136 -0
  133. ogx_client/models/batch_usage.py +166 -0
  134. ogx_client/models/bf16_quantization_config.py +129 -0
  135. ogx_client/models/boolean_type.py +129 -0
  136. ogx_client/models/cancel_batch_request.py +119 -0
  137. ogx_client/models/chat_completion_input_type.py +129 -0
  138. ogx_client/models/chat_completion_message.py +216 -0
  139. ogx_client/models/chat_completion_message_custom_tool_call.py +143 -0
  140. ogx_client/models/chat_completion_message_custom_tool_call_custom.py +121 -0
  141. ogx_client/models/chat_completion_message_function_call.py +121 -0
  142. ogx_client/models/chat_completion_message_list.py +165 -0
  143. ogx_client/models/chat_completion_message_tool_call.py +143 -0
  144. ogx_client/models/chat_completion_message_tool_call_chat_completion_message_custom_tool_call.py +203 -0
  145. ogx_client/models/chat_completion_message_tool_call_chat_completion_message_custom_tool_call1.py +206 -0
  146. ogx_client/models/chat_completion_message_tool_call_function.py +121 -0
  147. ogx_client/models/chunk.py +151 -0
  148. ogx_client/models/chunk_for_deletion.py +121 -0
  149. ogx_client/models/chunk_metadata.py +180 -0
  150. ogx_client/models/compact_response_request.py +239 -0
  151. ogx_client/models/comparison_filter.py +135 -0
  152. ogx_client/models/completion_input_type.py +129 -0
  153. ogx_client/models/compound_filter.py +128 -0
  154. ogx_client/models/connector.py +152 -0
  155. ogx_client/models/connector_input.py +131 -0
  156. ogx_client/models/connector_type.py +42 -0
  157. ogx_client/models/context_management.py +133 -0
  158. ogx_client/models/conversation.py +140 -0
  159. ogx_client/models/conversation_deleted_resource.py +133 -0
  160. ogx_client/models/conversation_item.py +855 -0
  161. ogx_client/models/conversation_item_create_request.py +148 -0
  162. ogx_client/models/conversation_item_deleted_resource.py +133 -0
  163. ogx_client/models/conversation_item_include.py +48 -0
  164. ogx_client/models/conversation_item_list.py +158 -0
  165. ogx_client/models/conversation_message.py +149 -0
  166. ogx_client/models/create_batch_request.py +144 -0
  167. ogx_client/models/create_conversation_request.py +159 -0
  168. ogx_client/models/create_message_batch_request.py +148 -0
  169. ogx_client/models/create_prompt_request.py +126 -0
  170. ogx_client/models/create_response_request.py +407 -0
  171. ogx_client/models/custom_tool_config.py +119 -0
  172. ogx_client/models/delete_chunks_request.py +132 -0
  173. ogx_client/models/delete_conversation_request.py +119 -0
  174. ogx_client/models/delete_file_request.py +119 -0
  175. ogx_client/models/delete_item_request.py +121 -0
  176. ogx_client/models/delete_prompt_request.py +119 -0
  177. ogx_client/models/dialog_type.py +129 -0
  178. ogx_client/models/embedded_chunk.py +157 -0
  179. ogx_client/models/embedded_chunk_input.py +157 -0
  180. ogx_client/models/embedded_chunk_output.py +157 -0
  181. ogx_client/models/embeddings_response.py +136 -0
  182. ogx_client/models/error.py +143 -0
  183. ogx_client/models/error_detail.py +313 -0
  184. ogx_client/models/errors.py +172 -0
  185. ogx_client/models/expires_after.py +129 -0
  186. ogx_client/models/fp8_quantization_config.py +129 -0
  187. ogx_client/models/function_tool_config.py +119 -0
  188. ogx_client/models/get_chat_completion_request.py +119 -0
  189. ogx_client/models/get_connector_request.py +119 -0
  190. ogx_client/models/get_connector_tool_request.py +121 -0
  191. ogx_client/models/get_conversation_request.py +119 -0
  192. ogx_client/models/get_model_request.py +119 -0
  193. ogx_client/models/get_model_v1_models_model_id_get200_response.py +414 -0
  194. ogx_client/models/get_prompt_request.py +126 -0
  195. ogx_client/models/google_create_interaction_request.py +213 -0
  196. ogx_client/models/google_function_call_content.py +153 -0
  197. ogx_client/models/google_function_call_output.py +153 -0
  198. ogx_client/models/google_function_declaration.py +146 -0
  199. ogx_client/models/google_function_response_content.py +160 -0
  200. ogx_client/models/google_generation_config.py +146 -0
  201. ogx_client/models/google_input_turn.py +141 -0
  202. ogx_client/models/google_interaction_response.py +199 -0
  203. ogx_client/models/google_list_models_response.py +147 -0
  204. ogx_client/models/google_model_info.py +123 -0
  205. ogx_client/models/google_text_content.py +131 -0
  206. ogx_client/models/google_text_content_google_function_call_content_google_function_response_content.py +218 -0
  207. ogx_client/models/google_text_output.py +131 -0
  208. ogx_client/models/google_text_output_google_function_call_output_google_thought_output.py +447 -0
  209. ogx_client/models/google_thought_output.py +149 -0
  210. ogx_client/models/google_tool.py +145 -0
  211. ogx_client/models/google_usage.py +136 -0
  212. ogx_client/models/grammar_response_format.py +131 -0
  213. ogx_client/models/greedy_sampling_strategy.py +129 -0
  214. ogx_client/models/greedy_sampling_strategy_top_p_sampling_strategy_top_k_sampling_strategy.py +447 -0
  215. ogx_client/models/health_info.py +120 -0
  216. ogx_client/models/health_status.py +44 -0
  217. ogx_client/models/image_content_item.py +144 -0
  218. ogx_client/models/image_content_item_input.py +144 -0
  219. ogx_client/models/image_content_item_input_text_content_item.py +396 -0
  220. ogx_client/models/image_content_item_output.py +144 -0
  221. ogx_client/models/image_content_item_output_text_content_item.py +396 -0
  222. ogx_client/models/image_content_item_text_content_item.py +396 -0
  223. ogx_client/models/image_delta.py +131 -0
  224. ogx_client/models/inline_provider_spec.py +183 -0
  225. ogx_client/models/input_tokens_details.py +132 -0
  226. ogx_client/models/insert_chunks_request.py +139 -0
  227. ogx_client/models/inspect_provider_request.py +119 -0
  228. ogx_client/models/int4_quantization_config.py +136 -0
  229. ogx_client/models/integer_number.py +207 -0
  230. ogx_client/models/interleaved_content.py +280 -0
  231. ogx_client/models/interleaved_content_item.py +396 -0
  232. ogx_client/models/job.py +122 -0
  233. ogx_client/models/job_status.py +46 -0
  234. ogx_client/models/json_schema_response_format.py +131 -0
  235. ogx_client/models/json_type.py +129 -0
  236. ogx_client/models/list_batches_request.py +126 -0
  237. ogx_client/models/list_batches_response.py +158 -0
  238. ogx_client/models/list_chat_completion_messages_request.py +142 -0
  239. ogx_client/models/list_chat_completions_request.py +147 -0
  240. ogx_client/models/list_connector_tools_request.py +119 -0
  241. ogx_client/models/list_connectors_response.py +147 -0
  242. ogx_client/models/list_files_request.py +147 -0
  243. ogx_client/models/list_items_request.py +158 -0
  244. ogx_client/models/list_message_batches_response.py +163 -0
  245. ogx_client/models/list_models_response.py +147 -0
  246. ogx_client/models/list_models_v1_models_get200_response.py +414 -0
  247. ogx_client/models/list_number_string.py +265 -0
  248. ogx_client/models/list_open_ai_chat_completion_response.py +165 -0
  249. ogx_client/models/list_open_ai_file_response.py +165 -0
  250. ogx_client/models/list_open_ai_response_input_item.py +159 -0
  251. ogx_client/models/list_open_ai_response_object.py +165 -0
  252. ogx_client/models/list_prompt_versions_request.py +119 -0
  253. ogx_client/models/list_prompts_response.py +147 -0
  254. ogx_client/models/list_providers_response.py +147 -0
  255. ogx_client/models/list_routes_request.py +134 -0
  256. ogx_client/models/list_routes_response.py +147 -0
  257. ogx_client/models/list_string_allowed_tools_filter.py +269 -0
  258. ogx_client/models/list_tool_defs_response.py +147 -0
  259. ogx_client/models/list_tool_groups_response.py +147 -0
  260. ogx_client/models/list_tools_request.py +124 -0
  261. ogx_client/models/list_tools_response.py +147 -0
  262. ogx_client/models/mcp_list_tools_tool.py +128 -0
  263. ogx_client/models/message_batch.py +187 -0
  264. ogx_client/models/message_batch_request_counts.py +127 -0
  265. ogx_client/models/message_batch_request_params.py +142 -0
  266. ogx_client/models/metric_in_response.py +141 -0
  267. ogx_client/models/model.py +171 -0
  268. ogx_client/models/model_type.py +44 -0
  269. ogx_client/models/number_type.py +129 -0
  270. ogx_client/models/object_type.py +129 -0
  271. ogx_client/models/open_ai_assistant_message_param.py +187 -0
  272. ogx_client/models/open_ai_assistant_message_param_input.py +187 -0
  273. ogx_client/models/open_ai_assistant_message_param_output.py +187 -0
  274. ogx_client/models/open_ai_attach_file_request.py +164 -0
  275. ogx_client/models/open_ai_chat_completion.py +173 -0
  276. ogx_client/models/open_ai_chat_completion_chunk.py +173 -0
  277. ogx_client/models/open_ai_chat_completion_content_part_image_param.py +144 -0
  278. ogx_client/models/open_ai_chat_completion_content_part_param.py +447 -0
  279. ogx_client/models/open_ai_chat_completion_content_part_text_param.py +131 -0
  280. ogx_client/models/open_ai_chat_completion_content_part_text_param_open_ai_chat_completion_content_part_image_param.py +203 -0
  281. ogx_client/models/open_ai_chat_completion_content_part_text_param_open_ai_chat_completion_content_part_image_param_open_ai_file.py +447 -0
  282. ogx_client/models/open_ai_chat_completion_custom_tool_call_function.py +121 -0
  283. ogx_client/models/open_ai_chat_completion_request_with_extra_body.py +377 -0
  284. ogx_client/models/open_ai_chat_completion_response_message.py +180 -0
  285. ogx_client/models/open_ai_chat_completion_tool_call_function.py +121 -0
  286. ogx_client/models/open_ai_chat_completion_tool_choice.py +447 -0
  287. ogx_client/models/open_ai_chat_completion_tool_choice_allowed_tools.py +144 -0
  288. ogx_client/models/open_ai_chat_completion_tool_choice_custom_tool.py +144 -0
  289. ogx_client/models/open_ai_chat_completion_tool_choice_function_tool.py +144 -0
  290. ogx_client/models/open_ai_chat_completion_usage.py +154 -0
  291. ogx_client/models/open_ai_chat_completion_usage_completion_tokens_details.py +120 -0
  292. ogx_client/models/open_ai_chat_completion_usage_prompt_tokens_details.py +120 -0
  293. ogx_client/models/open_ai_choice.py +167 -0
  294. ogx_client/models/open_ai_choice_delta.py +163 -0
  295. ogx_client/models/open_ai_choice_logprobs.py +169 -0
  296. ogx_client/models/open_ai_chunk_choice.py +162 -0
  297. ogx_client/models/open_ai_chunk_choice_logprobs.py +169 -0
  298. ogx_client/models/open_ai_compacted_response.py +161 -0
  299. ogx_client/models/open_ai_completion.py +149 -0
  300. ogx_client/models/open_ai_completion_choice.py +154 -0
  301. ogx_client/models/open_ai_completion_logprobs.py +162 -0
  302. ogx_client/models/open_ai_completion_request_with_extra_body.py +273 -0
  303. ogx_client/models/open_ai_completion_with_input_messages.py +186 -0
  304. ogx_client/models/open_ai_create_vector_store_file_batch_request_with_extra_body.py +212 -0
  305. ogx_client/models/open_ai_create_vector_store_request_with_extra_body.py +198 -0
  306. ogx_client/models/open_ai_delete_response_object.py +133 -0
  307. ogx_client/models/open_ai_developer_message_param.py +151 -0
  308. ogx_client/models/open_ai_embedding_data.py +147 -0
  309. ogx_client/models/open_ai_embedding_usage.py +121 -0
  310. ogx_client/models/open_ai_embeddings_request_with_extra_body.py +164 -0
  311. ogx_client/models/open_ai_embeddings_response.py +160 -0
  312. ogx_client/models/open_ai_file.py +144 -0
  313. ogx_client/models/open_ai_file_delete_response.py +133 -0
  314. ogx_client/models/open_ai_file_file.py +138 -0
  315. ogx_client/models/open_ai_file_object.py +153 -0
  316. ogx_client/models/open_ai_file_purpose.py +50 -0
  317. ogx_client/models/open_ai_file_upload_purpose.py +47 -0
  318. ogx_client/models/open_ai_finish_reason.py +46 -0
  319. ogx_client/models/open_ai_image_url.py +136 -0
  320. ogx_client/models/open_ai_list_models_response.py +142 -0
  321. ogx_client/models/open_ai_message_param.py +549 -0
  322. ogx_client/models/open_ai_model.py +142 -0
  323. ogx_client/models/open_ai_response_annotation_citation.py +137 -0
  324. ogx_client/models/open_ai_response_annotation_container_file_citation.py +139 -0
  325. ogx_client/models/open_ai_response_annotation_file_citation.py +135 -0
  326. ogx_client/models/open_ai_response_annotation_file_citation4_variants.py +498 -0
  327. ogx_client/models/open_ai_response_annotation_file_path.py +133 -0
  328. ogx_client/models/open_ai_response_annotations.py +498 -0
  329. ogx_client/models/open_ai_response_compaction.py +138 -0
  330. ogx_client/models/open_ai_response_content_part.py +447 -0
  331. ogx_client/models/open_ai_response_content_part_output_text.py +162 -0
  332. ogx_client/models/open_ai_response_content_part_output_text_open_ai_response_content_part_refusal_open_ai_response_content_part_reasoning_text.py +447 -0
  333. ogx_client/models/open_ai_response_content_part_reasoning_summary.py +131 -0
  334. ogx_client/models/open_ai_response_content_part_reasoning_text.py +131 -0
  335. ogx_client/models/open_ai_response_content_part_refusal.py +131 -0
  336. ogx_client/models/open_ai_response_error.py +121 -0
  337. ogx_client/models/open_ai_response_format_json_object.py +129 -0
  338. ogx_client/models/open_ai_response_format_json_schema.py +144 -0
  339. ogx_client/models/open_ai_response_format_param.py +447 -0
  340. ogx_client/models/open_ai_response_format_text.py +129 -0
  341. ogx_client/models/open_ai_response_format_text_open_ai_response_format_json_schema_open_ai_response_format_json_object.py +453 -0
  342. ogx_client/models/open_ai_response_incomplete_details.py +119 -0
  343. ogx_client/models/open_ai_response_input.py +251 -0
  344. ogx_client/models/open_ai_response_input_function_tool_call_output.py +160 -0
  345. ogx_client/models/open_ai_response_input_function_tool_call_output_open_ai_response_mcp_approval_response_open_ai_response_compaction.py +233 -0
  346. ogx_client/models/open_ai_response_input_message_content.py +447 -0
  347. ogx_client/models/open_ai_response_input_message_content_file.py +157 -0
  348. ogx_client/models/open_ai_response_input_message_content_image.py +155 -0
  349. ogx_client/models/open_ai_response_input_message_content_text.py +131 -0
  350. ogx_client/models/open_ai_response_input_message_content_text_open_ai_response_input_message_content_image_open_ai_response_input_message_content_file.py +447 -0
  351. ogx_client/models/open_ai_response_input_tool.py +516 -0
  352. ogx_client/models/open_ai_response_input_tool_choice.py +203 -0
  353. ogx_client/models/open_ai_response_input_tool_choice_allowed_tools.py +143 -0
  354. ogx_client/models/open_ai_response_input_tool_choice_allowed_tools6_variants.py +618 -0
  355. ogx_client/models/open_ai_response_input_tool_choice_custom_tool.py +131 -0
  356. ogx_client/models/open_ai_response_input_tool_choice_file_search.py +129 -0
  357. ogx_client/models/open_ai_response_input_tool_choice_function_tool.py +131 -0
  358. ogx_client/models/open_ai_response_input_tool_choice_mcp_tool.py +138 -0
  359. ogx_client/models/open_ai_response_input_tool_choice_mode.py +44 -0
  360. ogx_client/models/open_ai_response_input_tool_choice_mode1.py +209 -0
  361. ogx_client/models/open_ai_response_input_tool_choice_mode2.py +209 -0
  362. ogx_client/models/open_ai_response_input_tool_choice_web_search.py +129 -0
  363. ogx_client/models/open_ai_response_input_tool_file_search.py +166 -0
  364. ogx_client/models/open_ai_response_input_tool_function.py +152 -0
  365. ogx_client/models/open_ai_response_input_tool_mcp.py +194 -0
  366. ogx_client/models/open_ai_response_input_tool_web_search.py +147 -0
  367. ogx_client/models/open_ai_response_input_tool_web_search4_variants.py +516 -0
  368. ogx_client/models/open_ai_response_input_tool_web_search4_variants1.py +516 -0
  369. ogx_client/models/open_ai_response_mcp_approval_request.py +137 -0
  370. ogx_client/models/open_ai_response_mcp_approval_response.py +147 -0
  371. ogx_client/models/open_ai_response_message.py +167 -0
  372. ogx_client/models/open_ai_response_message11_variants.py +855 -0
  373. ogx_client/models/open_ai_response_message8_variants.py +702 -0
  374. ogx_client/models/open_ai_response_message_input.py +167 -0
  375. ogx_client/models/open_ai_response_message_input11_variants.py +855 -0
  376. ogx_client/models/open_ai_response_message_input8_variants.py +702 -0
  377. ogx_client/models/open_ai_response_message_output.py +167 -0
  378. ogx_client/models/open_ai_response_message_output11_variants.py +855 -0
  379. ogx_client/models/open_ai_response_message_output8_variants.py +702 -0
  380. ogx_client/models/open_ai_response_message_output_union.py +233 -0
  381. ogx_client/models/open_ai_response_object.py +412 -0
  382. ogx_client/models/open_ai_response_object_stream.py +2181 -0
  383. ogx_client/models/open_ai_response_object_stream_error.py +147 -0
  384. ogx_client/models/open_ai_response_object_stream_response_completed.py +146 -0
  385. ogx_client/models/open_ai_response_object_stream_response_content_part_added.py +154 -0
  386. ogx_client/models/open_ai_response_object_stream_response_content_part_done.py +154 -0
  387. ogx_client/models/open_ai_response_object_stream_response_created.py +146 -0
  388. ogx_client/models/open_ai_response_object_stream_response_failed.py +146 -0
  389. ogx_client/models/open_ai_response_object_stream_response_file_search_call_completed.py +135 -0
  390. ogx_client/models/open_ai_response_object_stream_response_file_search_call_in_progress.py +135 -0
  391. ogx_client/models/open_ai_response_object_stream_response_file_search_call_searching.py +135 -0
  392. ogx_client/models/open_ai_response_object_stream_response_function_call_arguments_delta.py +137 -0
  393. ogx_client/models/open_ai_response_object_stream_response_function_call_arguments_done.py +137 -0
  394. ogx_client/models/open_ai_response_object_stream_response_in_progress.py +146 -0
  395. ogx_client/models/open_ai_response_object_stream_response_incomplete.py +146 -0
  396. ogx_client/models/open_ai_response_object_stream_response_mcp_call_arguments_delta.py +137 -0
  397. ogx_client/models/open_ai_response_object_stream_response_mcp_call_arguments_done.py +137 -0
  398. ogx_client/models/open_ai_response_object_stream_response_mcp_call_completed.py +131 -0
  399. ogx_client/models/open_ai_response_object_stream_response_mcp_call_failed.py +131 -0
  400. ogx_client/models/open_ai_response_object_stream_response_mcp_call_in_progress.py +135 -0
  401. ogx_client/models/open_ai_response_object_stream_response_mcp_list_tools_completed.py +131 -0
  402. ogx_client/models/open_ai_response_object_stream_response_mcp_list_tools_failed.py +131 -0
  403. ogx_client/models/open_ai_response_object_stream_response_mcp_list_tools_in_progress.py +131 -0
  404. ogx_client/models/open_ai_response_object_stream_response_output_item_added.py +150 -0
  405. ogx_client/models/open_ai_response_object_stream_response_output_item_done.py +150 -0
  406. ogx_client/models/open_ai_response_object_stream_response_output_text_annotation_added.py +154 -0
  407. ogx_client/models/open_ai_response_object_stream_response_output_text_delta.py +157 -0
  408. ogx_client/models/open_ai_response_object_stream_response_output_text_done.py +139 -0
  409. ogx_client/models/open_ai_response_object_stream_response_reasoning_summary_part_added.py +152 -0
  410. ogx_client/models/open_ai_response_object_stream_response_reasoning_summary_part_done.py +152 -0
  411. ogx_client/models/open_ai_response_object_stream_response_reasoning_summary_text_delta.py +139 -0
  412. ogx_client/models/open_ai_response_object_stream_response_reasoning_summary_text_done.py +139 -0
  413. ogx_client/models/open_ai_response_object_stream_response_reasoning_text_delta.py +139 -0
  414. ogx_client/models/open_ai_response_object_stream_response_reasoning_text_done.py +139 -0
  415. ogx_client/models/open_ai_response_object_stream_response_refusal_delta.py +139 -0
  416. ogx_client/models/open_ai_response_object_stream_response_refusal_done.py +139 -0
  417. ogx_client/models/open_ai_response_object_stream_response_web_search_call_completed.py +135 -0
  418. ogx_client/models/open_ai_response_object_stream_response_web_search_call_in_progress.py +135 -0
  419. ogx_client/models/open_ai_response_object_stream_response_web_search_call_searching.py +135 -0
  420. ogx_client/models/open_ai_response_object_with_input.py +425 -0
  421. ogx_client/models/open_ai_response_output.py +702 -0
  422. ogx_client/models/open_ai_response_output_item.py +702 -0
  423. ogx_client/models/open_ai_response_output_message_content.py +396 -0
  424. ogx_client/models/open_ai_response_output_message_content_output_text.py +162 -0
  425. ogx_client/models/open_ai_response_output_message_content_output_text_input.py +162 -0
  426. ogx_client/models/open_ai_response_output_message_content_output_text_input_open_ai_response_content_part_refusal.py +396 -0
  427. ogx_client/models/open_ai_response_output_message_content_output_text_open_ai_response_content_part_refusal.py +396 -0
  428. ogx_client/models/open_ai_response_output_message_content_output_text_output.py +162 -0
  429. ogx_client/models/open_ai_response_output_message_content_output_text_output_open_ai_response_content_part_refusal.py +396 -0
  430. ogx_client/models/open_ai_response_output_message_file_search_tool_call.py +153 -0
  431. ogx_client/models/open_ai_response_output_message_file_search_tool_call_results.py +127 -0
  432. ogx_client/models/open_ai_response_output_message_function_tool_call.py +149 -0
  433. ogx_client/models/open_ai_response_output_message_mcp_call.py +151 -0
  434. ogx_client/models/open_ai_response_output_message_mcp_list_tools.py +146 -0
  435. ogx_client/models/open_ai_response_output_message_reasoning_content.py +131 -0
  436. ogx_client/models/open_ai_response_output_message_reasoning_item.py +179 -0
  437. ogx_client/models/open_ai_response_output_message_reasoning_summary.py +131 -0
  438. ogx_client/models/open_ai_response_output_message_web_search_tool_call.py +133 -0
  439. ogx_client/models/open_ai_response_prompt.py +151 -0
  440. ogx_client/models/open_ai_response_reasoning.py +168 -0
  441. ogx_client/models/open_ai_response_text.py +154 -0
  442. ogx_client/models/open_ai_response_text_format.py +157 -0
  443. ogx_client/models/open_ai_response_tool.py +516 -0
  444. ogx_client/models/open_ai_response_tool_mcp.py +151 -0
  445. ogx_client/models/open_ai_response_usage.py +153 -0
  446. ogx_client/models/open_ai_response_usage_input_tokens_details.py +119 -0
  447. ogx_client/models/open_ai_response_usage_output_tokens_details.py +119 -0
  448. ogx_client/models/open_ai_search_vector_store_request.py +171 -0
  449. ogx_client/models/open_ai_system_message_param.py +151 -0
  450. ogx_client/models/open_ai_token_log_prob.py +146 -0
  451. ogx_client/models/open_ai_tool_message_param.py +146 -0
  452. ogx_client/models/open_ai_top_log_prob.py +128 -0
  453. ogx_client/models/open_ai_update_vector_store_file_request.py +119 -0
  454. ogx_client/models/open_ai_update_vector_store_request.py +151 -0
  455. ogx_client/models/open_ai_user_message_param.py +151 -0
  456. ogx_client/models/open_ai_user_message_param_input.py +151 -0
  457. ogx_client/models/open_ai_user_message_param_input5_variants.py +549 -0
  458. ogx_client/models/open_ai_user_message_param_output.py +151 -0
  459. ogx_client/models/open_ai_user_message_param_output5_variants.py +549 -0
  460. ogx_client/models/open_aijson_schema.py +140 -0
  461. ogx_client/models/order.py +43 -0
  462. ogx_client/models/output_tokens_details.py +132 -0
  463. ogx_client/models/paginated_response.py +145 -0
  464. ogx_client/models/param_type.py +753 -0
  465. ogx_client/models/process_file_request.py +151 -0
  466. ogx_client/models/process_file_response.py +149 -0
  467. ogx_client/models/prompt.py +133 -0
  468. ogx_client/models/provider_info.py +127 -0
  469. ogx_client/models/provider_spec.py +169 -0
  470. ogx_client/models/query_chunks_request.py +141 -0
  471. ogx_client/models/query_chunks_response.py +149 -0
  472. ogx_client/models/register_model_request.py +155 -0
  473. ogx_client/models/remote_provider_spec.py +178 -0
  474. ogx_client/models/rerank_data.py +122 -0
  475. ogx_client/models/rerank_request.py +155 -0
  476. ogx_client/models/rerank_response.py +147 -0
  477. ogx_client/models/response_format.py +396 -0
  478. ogx_client/models/response_item_include.py +48 -0
  479. ogx_client/models/response_retrieve_item_v1_conversations_conversation_id_items_item_id_get.py +849 -0
  480. ogx_client/models/response_stream_options.py +119 -0
  481. ogx_client/models/response_truncation.py +43 -0
  482. ogx_client/models/retrieve_batch_request.py +119 -0
  483. ogx_client/models/retrieve_file_content_request.py +119 -0
  484. ogx_client/models/retrieve_file_request.py +119 -0
  485. ogx_client/models/retrieve_item_request.py +121 -0
  486. ogx_client/models/route_info.py +123 -0
  487. ogx_client/models/sampling_params.py +154 -0
  488. ogx_client/models/sampling_strategy.py +447 -0
  489. ogx_client/models/score_request.py +136 -0
  490. ogx_client/models/scoring_result.py +124 -0
  491. ogx_client/models/search_ranking_options.py +160 -0
  492. ogx_client/models/service_tier.py +45 -0
  493. ogx_client/models/set_default_version_body_request.py +119 -0
  494. ogx_client/models/set_default_version_request.py +121 -0
  495. ogx_client/models/string4_variants.py +415 -0
  496. ogx_client/models/string4_variants1.py +416 -0
  497. ogx_client/models/string_approval_filter.py +222 -0
  498. ogx_client/models/string_list_anthropic_text_block.py +272 -0
  499. ogx_client/models/string_list_anthropic_text_block1.py +272 -0
  500. ogx_client/models/string_list_anthropic_text_block_anthropic_image_block.py +266 -0
  501. ogx_client/models/string_list_google_input_turn.py +266 -0
  502. ogx_client/models/string_list_google_text_content_google_function_call_content_google_function_response_content.py +266 -0
  503. ogx_client/models/string_list_image_content_item_input_text_content_item.py +280 -0
  504. ogx_client/models/string_list_image_content_item_input_text_content_item1.py +280 -0
  505. ogx_client/models/string_list_image_content_item_output_text_content_item.py +280 -0
  506. ogx_client/models/string_list_image_content_item_text_content_item.py +286 -0
  507. ogx_client/models/string_list_image_content_item_text_content_item1.py +280 -0
  508. ogx_client/models/string_list_image_content_item_text_content_item2.py +286 -0
  509. ogx_client/models/string_list_image_content_item_text_content_item3.py +280 -0
  510. ogx_client/models/string_list_image_content_item_text_content_item4.py +280 -0
  511. ogx_client/models/string_list_image_content_item_text_content_item5.py +280 -0
  512. ogx_client/models/string_list_open_ai_chat_completion_content_part_text_param.py +272 -0
  513. ogx_client/models/string_list_open_ai_chat_completion_content_part_text_param1.py +266 -0
  514. ogx_client/models/string_list_open_ai_chat_completion_content_part_text_param2.py +266 -0
  515. ogx_client/models/string_list_open_ai_chat_completion_content_part_text_param3.py +266 -0
  516. ogx_client/models/string_list_open_ai_chat_completion_content_part_text_param4.py +272 -0
  517. ogx_client/models/string_list_open_ai_chat_completion_content_part_text_param_open_ai_chat_completion_content_part_image_param_open_ai_file.py +266 -0
  518. ogx_client/models/string_list_open_ai_response_input_message_content_text_open_ai_response_input_message_content_image_open_ai_response_input_message_content_file.py +266 -0
  519. ogx_client/models/string_list_open_ai_response_input_message_content_text_open_ai_response_input_message_content_image_open_ai_response_input_message_content_file_list_open_ai_response_output_message_content_output_text_input_open_ai_response_content_part_refusal.py +342 -0
  520. ogx_client/models/string_list_open_ai_response_input_message_content_text_open_ai_response_input_message_content_image_open_ai_response_input_message_content_file_list_open_ai_response_output_message_content_output_text_open_ai_response_content_part_refusal.py +342 -0
  521. ogx_client/models/string_list_open_ai_response_input_message_content_text_open_ai_response_input_message_content_image_open_ai_response_input_message_content_file_list_open_ai_response_output_message_content_output_text_output_open_ai_response_content_part_refusal.py +342 -0
  522. ogx_client/models/string_list_open_ai_response_message_union_open_ai_response_input_function_tool_call_output.py +272 -0
  523. ogx_client/models/string_list_open_ai_response_message_union_open_ai_response_input_function_tool_call_output1.py +266 -0
  524. ogx_client/models/string_list_string.py +271 -0
  525. ogx_client/models/string_list_string1.py +265 -0
  526. ogx_client/models/string_list_string2.py +265 -0
  527. ogx_client/models/string_number_boolean.py +225 -0
  528. ogx_client/models/string_number_boolean1.py +224 -0
  529. ogx_client/models/string_object.py +271 -0
  530. ogx_client/models/string_object1.py +271 -0
  531. ogx_client/models/string_open_ai_chat_completion_content_part_text_param_open_ai_chat_completion_content_part_image_param.py +220 -0
  532. ogx_client/models/string_open_ai_chat_completion_content_part_text_param_open_ai_chat_completion_content_part_image_param1.py +220 -0
  533. ogx_client/models/string_type.py +129 -0
  534. ogx_client/models/system_message.py +144 -0
  535. ogx_client/models/text_content_item.py +131 -0
  536. ogx_client/models/text_delta.py +131 -0
  537. ogx_client/models/token_log_probs.py +119 -0
  538. ogx_client/models/tool_config.py +119 -0
  539. ogx_client/models/tool_def.py +154 -0
  540. ogx_client/models/tool_group.py +167 -0
  541. ogx_client/models/tool_group_input.py +148 -0
  542. ogx_client/models/tool_invocation_result.py +158 -0
  543. ogx_client/models/tool_response_message.py +146 -0
  544. ogx_client/models/top_k_sampling_strategy.py +132 -0
  545. ogx_client/models/top_p_sampling_strategy.py +134 -0
  546. ogx_client/models/union_type.py +129 -0
  547. ogx_client/models/unregister_model_request.py +119 -0
  548. ogx_client/models/update_conversation_request.py +119 -0
  549. ogx_client/models/update_prompt_body_request.py +130 -0
  550. ogx_client/models/update_prompt_request.py +132 -0
  551. ogx_client/models/upload_file_request.py +140 -0
  552. ogx_client/models/url.py +119 -0
  553. ogx_client/models/urlor_data.py +144 -0
  554. ogx_client/models/user_message.py +164 -0
  555. ogx_client/models/vector_store_chunking_strategy.py +453 -0
  556. ogx_client/models/vector_store_chunking_strategy_auto.py +129 -0
  557. ogx_client/models/vector_store_chunking_strategy_auto_vector_store_chunking_strategy_static_vector_store_chunking_strategy_contextual.py +453 -0
  558. ogx_client/models/vector_store_chunking_strategy_auto_vector_store_chunking_strategy_static_vector_store_chunking_strategy_contextual1.py +447 -0
  559. ogx_client/models/vector_store_chunking_strategy_contextual.py +144 -0
  560. ogx_client/models/vector_store_chunking_strategy_contextual_config.py +145 -0
  561. ogx_client/models/vector_store_chunking_strategy_static.py +144 -0
  562. ogx_client/models/vector_store_chunking_strategy_static_config.py +122 -0
  563. ogx_client/models/vector_store_content.py +162 -0
  564. ogx_client/models/vector_store_create_request.py +167 -0
  565. ogx_client/models/vector_store_delete_response.py +133 -0
  566. ogx_client/models/vector_store_expiration_after.py +129 -0
  567. ogx_client/models/vector_store_file_batch_file_entry.py +164 -0
  568. ogx_client/models/vector_store_file_batch_object.py +159 -0
  569. ogx_client/models/vector_store_file_content_response.py +151 -0
  570. ogx_client/models/vector_store_file_counts.py +127 -0
  571. ogx_client/models/vector_store_file_delete_response.py +133 -0
  572. ogx_client/models/vector_store_file_last_error.py +128 -0
  573. ogx_client/models/vector_store_file_object.py +206 -0
  574. ogx_client/models/vector_store_file_status.py +45 -0
  575. ogx_client/models/vector_store_files_list_in_batch_response.py +148 -0
  576. ogx_client/models/vector_store_list_files_response.py +148 -0
  577. ogx_client/models/vector_store_list_response.py +148 -0
  578. ogx_client/models/vector_store_modify_request.py +151 -0
  579. ogx_client/models/vector_store_object.py +202 -0
  580. ogx_client/models/vector_store_search_request.py +151 -0
  581. ogx_client/models/vector_store_search_response.py +161 -0
  582. ogx_client/models/vector_store_search_response_page.py +153 -0
  583. ogx_client/models/vector_store_status.py +44 -0
  584. ogx_client/models/version_info.py +119 -0
  585. ogx_client/ogx_client.py +309 -0
  586. ogx_client/py.typed +0 -0
  587. ogx_client/rest.py +255 -0
  588. ogx_client/stream.py +183 -0
  589. ogx_open_client/__init__.py +1167 -0
  590. ogx_open_client/_exceptions.py +114 -0
  591. ogx_open_client/_types.py +312 -0
  592. ogx_open_client/_version.py +8 -0
  593. ogx_open_client/api/__init__.py +33 -0
  594. ogx_open_client/api/admin_api.py +1411 -0
  595. ogx_open_client/api/alpha_api.py +354 -0
  596. ogx_open_client/api/batches_api.py +1247 -0
  597. ogx_open_client/api/chat_api.py +352 -0
  598. ogx_open_client/api/chat_completions_api.py +1028 -0
  599. ogx_open_client/api/completions_api.py +440 -0
  600. ogx_open_client/api/connectors_api.py +1235 -0
  601. ogx_open_client/api/conversations_api.py +1288 -0
  602. ogx_open_client/api/embeddings_api.py +429 -0
  603. ogx_open_client/api/file_batches_api.py +1370 -0
  604. ogx_open_client/api/file_processors_api.py +442 -0
  605. ogx_open_client/api/files_api.py +1539 -0
  606. ogx_open_client/api/inference_api.py +429 -0
  607. ogx_open_client/api/input_items_api.py +472 -0
  608. ogx_open_client/api/inspect_api.py +617 -0
  609. ogx_open_client/api/interactions_api.py +430 -0
  610. ogx_open_client/api/items_api.py +1359 -0
  611. ogx_open_client/api/messages_api.py +2466 -0
  612. ogx_open_client/api/models_api.py +451 -0
  613. ogx_open_client/api/openai_api.py +481 -0
  614. ogx_open_client/api/prompts_api.py +1883 -0
  615. ogx_open_client/api/providers_api.py +636 -0
  616. ogx_open_client/api/responses_api.py +1876 -0
  617. ogx_open_client/api/routes_api.py +389 -0
  618. ogx_open_client/api/tools_api.py +389 -0
  619. ogx_open_client/api/vector_io_api.py +740 -0
  620. ogx_open_client/api/vector_stores_api.py +1936 -0
  621. ogx_open_client/api/vector_stores_files_api.py +2011 -0
  622. ogx_open_client/api/versions_api.py +386 -0
  623. ogx_open_client/api_client.py +833 -0
  624. ogx_open_client/api_response.py +21 -0
  625. ogx_open_client/async_api_client.py +203 -0
  626. ogx_open_client/async_api_response.py +134 -0
  627. ogx_open_client/async_stream.py +161 -0
  628. ogx_open_client/configuration.py +585 -0
  629. ogx_open_client/exceptions.py +253 -0
  630. ogx_open_client/lib/__init__.py +17 -0
  631. ogx_open_client/lib/_utils.py +26 -0
  632. ogx_open_client/lib/agents/__init__.py +5 -0
  633. ogx_open_client/lib/agents/agent.py +540 -0
  634. ogx_open_client/lib/agents/client_tool.py +258 -0
  635. ogx_open_client/lib/agents/event_logger.py +134 -0
  636. ogx_open_client/lib/agents/event_synthesizer.py +448 -0
  637. ogx_open_client/lib/agents/react/__init__.py +5 -0
  638. ogx_open_client/lib/agents/react/agent.py +94 -0
  639. ogx_open_client/lib/agents/react/prompts.py +151 -0
  640. ogx_open_client/lib/agents/react/tool_parser.py +59 -0
  641. ogx_open_client/lib/agents/tool_parser.py +42 -0
  642. ogx_open_client/lib/agents/turn_events.py +268 -0
  643. ogx_open_client/lib/agents/types.py +63 -0
  644. ogx_open_client/lib/cli/__init__.py +12 -0
  645. ogx_open_client/lib/cli/common/__init__.py +5 -0
  646. ogx_open_client/lib/cli/common/utils.py +54 -0
  647. ogx_open_client/lib/cli/configure.py +68 -0
  648. ogx_open_client/lib/cli/constants.py +14 -0
  649. ogx_open_client/lib/cli/datasets/__init__.py +9 -0
  650. ogx_open_client/lib/cli/datasets/datasets.py +22 -0
  651. ogx_open_client/lib/cli/datasets/list.py +32 -0
  652. ogx_open_client/lib/cli/datasets/register.py +78 -0
  653. ogx_open_client/lib/cli/datasets/unregister.py +20 -0
  654. ogx_open_client/lib/cli/eval/__init__.py +9 -0
  655. ogx_open_client/lib/cli/eval/eval.py +22 -0
  656. ogx_open_client/lib/cli/eval/run_benchmark.py +193 -0
  657. ogx_open_client/lib/cli/eval/run_scoring.py +116 -0
  658. ogx_open_client/lib/cli/eval/utils.py +59 -0
  659. ogx_open_client/lib/cli/eval_tasks/__init__.py +9 -0
  660. ogx_open_client/lib/cli/eval_tasks/eval_tasks.py +65 -0
  661. ogx_open_client/lib/cli/eval_tasks/list.py +35 -0
  662. ogx_open_client/lib/cli/inference/__init__.py +9 -0
  663. ogx_open_client/lib/cli/inference/inference.py +88 -0
  664. ogx_open_client/lib/cli/inspect/__init__.py +9 -0
  665. ogx_open_client/lib/cli/inspect/inspect.py +19 -0
  666. ogx_open_client/lib/cli/inspect/version.py +22 -0
  667. ogx_open_client/lib/cli/models/__init__.py +9 -0
  668. ogx_open_client/lib/cli/models/models.py +149 -0
  669. ogx_open_client/lib/cli/ogx_client.py +111 -0
  670. ogx_open_client/lib/cli/post_training/__init__.py +9 -0
  671. ogx_open_client/lib/cli/post_training/post_training.py +114 -0
  672. ogx_open_client/lib/cli/providers/__init__.py +9 -0
  673. ogx_open_client/lib/cli/providers/inspect.py +33 -0
  674. ogx_open_client/lib/cli/providers/list.py +32 -0
  675. ogx_open_client/lib/cli/providers/providers.py +21 -0
  676. ogx_open_client/lib/cli/scoring_functions/__init__.py +9 -0
  677. ogx_open_client/lib/cli/scoring_functions/list.py +38 -0
  678. ogx_open_client/lib/cli/scoring_functions/scoring_functions.py +62 -0
  679. ogx_open_client/lib/cli/toolgroups/__init__.py +9 -0
  680. ogx_open_client/lib/cli/toolgroups/toolgroups.py +129 -0
  681. ogx_open_client/lib/cli/vector_stores/__init__.py +9 -0
  682. ogx_open_client/lib/cli/vector_stores/vector_stores.py +138 -0
  683. ogx_open_client/lib/inference/__init__.py +5 -0
  684. ogx_open_client/lib/inference/event_logger.py +58 -0
  685. ogx_open_client/lib/inference/utils.py +21 -0
  686. ogx_open_client/lib/stream_printer.py +30 -0
  687. ogx_open_client/lib/tools/__init__.py +9 -0
  688. ogx_open_client/lib/tools/mcp_oauth.py +303 -0
  689. ogx_open_client/models/__init__.py +521 -0
  690. ogx_open_client/models/add_items_request.py +148 -0
  691. ogx_open_client/models/allowed_tools_config.py +145 -0
  692. ogx_open_client/models/allowed_tools_filter.py +141 -0
  693. ogx_open_client/models/anthropic_base64_image_source.py +140 -0
  694. ogx_open_client/models/anthropic_base64_image_source_anthropic_url_image_source.py +396 -0
  695. ogx_open_client/models/anthropic_bash_tool.py +161 -0
  696. ogx_open_client/models/anthropic_cache_control.py +129 -0
  697. ogx_open_client/models/anthropic_count_tokens_request.py +170 -0
  698. ogx_open_client/models/anthropic_count_tokens_response.py +119 -0
  699. ogx_open_client/models/anthropic_create_message_request.py +217 -0
  700. ogx_open_client/models/anthropic_custom_tool_def.py +160 -0
  701. ogx_open_client/models/anthropic_custom_tool_def4_variants.py +510 -0
  702. ogx_open_client/models/anthropic_image_block.py +164 -0
  703. ogx_open_client/models/anthropic_list_models_response.py +163 -0
  704. ogx_open_client/models/anthropic_message.py +141 -0
  705. ogx_open_client/models/anthropic_message_response.py +187 -0
  706. ogx_open_client/models/anthropic_model_info.py +149 -0
  707. ogx_open_client/models/anthropic_redacted_thinking_block.py +131 -0
  708. ogx_open_client/models/anthropic_text_block.py +151 -0
  709. ogx_open_client/models/anthropic_text_block5_variants.py +549 -0
  710. ogx_open_client/models/anthropic_text_block5_variants1.py +549 -0
  711. ogx_open_client/models/anthropic_text_block6_variants.py +600 -0
  712. ogx_open_client/models/anthropic_text_block6_variants1.py +600 -0
  713. ogx_open_client/models/anthropic_text_block_anthropic_image_block.py +203 -0
  714. ogx_open_client/models/anthropic_text_editor_tool.py +155 -0
  715. ogx_open_client/models/anthropic_thinking_block.py +158 -0
  716. ogx_open_client/models/anthropic_thinking_config.py +137 -0
  717. ogx_open_client/models/anthropic_tool_def.py +128 -0
  718. ogx_open_client/models/anthropic_tool_result_block_input.py +173 -0
  719. ogx_open_client/models/anthropic_tool_result_block_output.py +173 -0
  720. ogx_open_client/models/anthropic_tool_use_block.py +155 -0
  721. ogx_open_client/models/anthropic_url_image_source.py +131 -0
  722. ogx_open_client/models/anthropic_usage.py +135 -0
  723. ogx_open_client/models/anthropic_web_search_tool.py +202 -0
  724. ogx_open_client/models/api.py +59 -0
  725. ogx_open_client/models/approval_filter.py +148 -0
  726. ogx_open_client/models/array_type.py +129 -0
  727. ogx_open_client/models/batch.py +302 -0
  728. ogx_open_client/models/batch_error.py +158 -0
  729. ogx_open_client/models/batch_request_counts.py +136 -0
  730. ogx_open_client/models/batch_usage.py +166 -0
  731. ogx_open_client/models/bf16_quantization_config.py +129 -0
  732. ogx_open_client/models/boolean_type.py +129 -0
  733. ogx_open_client/models/cancel_batch_request.py +119 -0
  734. ogx_open_client/models/chat_completion_input_type.py +129 -0
  735. ogx_open_client/models/chat_completion_message.py +216 -0
  736. ogx_open_client/models/chat_completion_message_custom_tool_call.py +143 -0
  737. ogx_open_client/models/chat_completion_message_custom_tool_call_custom.py +121 -0
  738. ogx_open_client/models/chat_completion_message_function_call.py +121 -0
  739. ogx_open_client/models/chat_completion_message_list.py +165 -0
  740. ogx_open_client/models/chat_completion_message_tool_call.py +143 -0
  741. ogx_open_client/models/chat_completion_message_tool_call_chat_completion_message_custom_tool_call.py +203 -0
  742. ogx_open_client/models/chat_completion_message_tool_call_chat_completion_message_custom_tool_call1.py +206 -0
  743. ogx_open_client/models/chat_completion_message_tool_call_function.py +121 -0
  744. ogx_open_client/models/chunk.py +151 -0
  745. ogx_open_client/models/chunk_for_deletion.py +121 -0
  746. ogx_open_client/models/chunk_metadata.py +180 -0
  747. ogx_open_client/models/compact_response_request.py +239 -0
  748. ogx_open_client/models/comparison_filter.py +135 -0
  749. ogx_open_client/models/completion_input_type.py +129 -0
  750. ogx_open_client/models/compound_filter.py +128 -0
  751. ogx_open_client/models/connector.py +152 -0
  752. ogx_open_client/models/connector_input.py +131 -0
  753. ogx_open_client/models/connector_type.py +42 -0
  754. ogx_open_client/models/context_management.py +133 -0
  755. ogx_open_client/models/conversation.py +140 -0
  756. ogx_open_client/models/conversation_deleted_resource.py +133 -0
  757. ogx_open_client/models/conversation_item.py +855 -0
  758. ogx_open_client/models/conversation_item_create_request.py +148 -0
  759. ogx_open_client/models/conversation_item_deleted_resource.py +133 -0
  760. ogx_open_client/models/conversation_item_include.py +48 -0
  761. ogx_open_client/models/conversation_item_list.py +158 -0
  762. ogx_open_client/models/conversation_message.py +149 -0
  763. ogx_open_client/models/create_batch_request.py +144 -0
  764. ogx_open_client/models/create_conversation_request.py +159 -0
  765. ogx_open_client/models/create_message_batch_request.py +148 -0
  766. ogx_open_client/models/create_prompt_request.py +126 -0
  767. ogx_open_client/models/create_response_request.py +402 -0
  768. ogx_open_client/models/custom_tool_config.py +119 -0
  769. ogx_open_client/models/delete_chunks_request.py +132 -0
  770. ogx_open_client/models/delete_conversation_request.py +119 -0
  771. ogx_open_client/models/delete_file_request.py +119 -0
  772. ogx_open_client/models/delete_item_request.py +121 -0
  773. ogx_open_client/models/delete_prompt_request.py +119 -0
  774. ogx_open_client/models/dialog_type.py +129 -0
  775. ogx_open_client/models/embedded_chunk.py +157 -0
  776. ogx_open_client/models/embedded_chunk_input.py +157 -0
  777. ogx_open_client/models/embedded_chunk_output.py +157 -0
  778. ogx_open_client/models/embeddings_response.py +136 -0
  779. ogx_open_client/models/error.py +143 -0
  780. ogx_open_client/models/error_detail.py +313 -0
  781. ogx_open_client/models/errors.py +172 -0
  782. ogx_open_client/models/expires_after.py +129 -0
  783. ogx_open_client/models/fp8_quantization_config.py +129 -0
  784. ogx_open_client/models/function_tool_config.py +119 -0
  785. ogx_open_client/models/get_chat_completion_request.py +119 -0
  786. ogx_open_client/models/get_connector_request.py +119 -0
  787. ogx_open_client/models/get_connector_tool_request.py +121 -0
  788. ogx_open_client/models/get_conversation_request.py +119 -0
  789. ogx_open_client/models/get_model_request.py +119 -0
  790. ogx_open_client/models/get_model_v1_models_model_id_get200_response.py +414 -0
  791. ogx_open_client/models/get_prompt_request.py +126 -0
  792. ogx_open_client/models/google_create_interaction_request.py +213 -0
  793. ogx_open_client/models/google_function_call_content.py +153 -0
  794. ogx_open_client/models/google_function_call_output.py +153 -0
  795. ogx_open_client/models/google_function_declaration.py +146 -0
  796. ogx_open_client/models/google_function_response_content.py +160 -0
  797. ogx_open_client/models/google_generation_config.py +146 -0
  798. ogx_open_client/models/google_input_turn.py +141 -0
  799. ogx_open_client/models/google_interaction_response.py +199 -0
  800. ogx_open_client/models/google_list_models_response.py +147 -0
  801. ogx_open_client/models/google_model_info.py +123 -0
  802. ogx_open_client/models/google_text_content.py +131 -0
  803. ogx_open_client/models/google_text_content_google_function_call_content_google_function_response_content.py +218 -0
  804. ogx_open_client/models/google_text_output.py +131 -0
  805. ogx_open_client/models/google_text_output_google_function_call_output_google_thought_output.py +447 -0
  806. ogx_open_client/models/google_thought_output.py +149 -0
  807. ogx_open_client/models/google_tool.py +145 -0
  808. ogx_open_client/models/google_usage.py +136 -0
  809. ogx_open_client/models/grammar_response_format.py +131 -0
  810. ogx_open_client/models/greedy_sampling_strategy.py +129 -0
  811. ogx_open_client/models/greedy_sampling_strategy_top_p_sampling_strategy_top_k_sampling_strategy.py +447 -0
  812. ogx_open_client/models/health_info.py +120 -0
  813. ogx_open_client/models/health_status.py +44 -0
  814. ogx_open_client/models/image_content_item.py +144 -0
  815. ogx_open_client/models/image_content_item_input.py +144 -0
  816. ogx_open_client/models/image_content_item_input_text_content_item.py +396 -0
  817. ogx_open_client/models/image_content_item_output.py +144 -0
  818. ogx_open_client/models/image_content_item_output_text_content_item.py +396 -0
  819. ogx_open_client/models/image_content_item_text_content_item.py +396 -0
  820. ogx_open_client/models/image_delta.py +131 -0
  821. ogx_open_client/models/inline_provider_spec.py +183 -0
  822. ogx_open_client/models/input_tokens_details.py +132 -0
  823. ogx_open_client/models/insert_chunks_request.py +139 -0
  824. ogx_open_client/models/inspect_provider_request.py +119 -0
  825. ogx_open_client/models/int4_quantization_config.py +136 -0
  826. ogx_open_client/models/integer_number.py +207 -0
  827. ogx_open_client/models/interleaved_content.py +280 -0
  828. ogx_open_client/models/interleaved_content_item.py +396 -0
  829. ogx_open_client/models/job.py +122 -0
  830. ogx_open_client/models/job_status.py +46 -0
  831. ogx_open_client/models/json_schema_response_format.py +131 -0
  832. ogx_open_client/models/json_type.py +129 -0
  833. ogx_open_client/models/list_batches_request.py +126 -0
  834. ogx_open_client/models/list_batches_response.py +158 -0
  835. ogx_open_client/models/list_chat_completion_messages_request.py +142 -0
  836. ogx_open_client/models/list_chat_completions_request.py +147 -0
  837. ogx_open_client/models/list_connector_tools_request.py +119 -0
  838. ogx_open_client/models/list_connectors_response.py +147 -0
  839. ogx_open_client/models/list_files_request.py +147 -0
  840. ogx_open_client/models/list_items_request.py +158 -0
  841. ogx_open_client/models/list_message_batches_response.py +163 -0
  842. ogx_open_client/models/list_models_response.py +147 -0
  843. ogx_open_client/models/list_models_v1_models_get200_response.py +414 -0
  844. ogx_open_client/models/list_number_string.py +265 -0
  845. ogx_open_client/models/list_open_ai_chat_completion_response.py +165 -0
  846. ogx_open_client/models/list_open_ai_file_response.py +165 -0
  847. ogx_open_client/models/list_open_ai_response_input_item.py +159 -0
  848. ogx_open_client/models/list_open_ai_response_object.py +165 -0
  849. ogx_open_client/models/list_prompt_versions_request.py +119 -0
  850. ogx_open_client/models/list_prompts_response.py +147 -0
  851. ogx_open_client/models/list_providers_response.py +147 -0
  852. ogx_open_client/models/list_routes_request.py +134 -0
  853. ogx_open_client/models/list_routes_response.py +147 -0
  854. ogx_open_client/models/list_string_allowed_tools_filter.py +269 -0
  855. ogx_open_client/models/list_tool_defs_response.py +147 -0
  856. ogx_open_client/models/list_tool_groups_response.py +147 -0
  857. ogx_open_client/models/list_tools_request.py +124 -0
  858. ogx_open_client/models/list_tools_response.py +147 -0
  859. ogx_open_client/models/mcp_list_tools_tool.py +128 -0
  860. ogx_open_client/models/message_batch.py +187 -0
  861. ogx_open_client/models/message_batch_request_counts.py +127 -0
  862. ogx_open_client/models/message_batch_request_params.py +142 -0
  863. ogx_open_client/models/metric_in_response.py +141 -0
  864. ogx_open_client/models/model.py +171 -0
  865. ogx_open_client/models/model_type.py +44 -0
  866. ogx_open_client/models/number_type.py +129 -0
  867. ogx_open_client/models/object_type.py +129 -0
  868. ogx_open_client/models/open_ai_assistant_message_param.py +187 -0
  869. ogx_open_client/models/open_ai_assistant_message_param_input.py +187 -0
  870. ogx_open_client/models/open_ai_assistant_message_param_output.py +187 -0
  871. ogx_open_client/models/open_ai_attach_file_request.py +164 -0
  872. ogx_open_client/models/open_ai_chat_completion.py +173 -0
  873. ogx_open_client/models/open_ai_chat_completion_chunk.py +173 -0
  874. ogx_open_client/models/open_ai_chat_completion_content_part_image_param.py +144 -0
  875. ogx_open_client/models/open_ai_chat_completion_content_part_param.py +447 -0
  876. ogx_open_client/models/open_ai_chat_completion_content_part_text_param.py +131 -0
  877. ogx_open_client/models/open_ai_chat_completion_content_part_text_param_open_ai_chat_completion_content_part_image_param.py +203 -0
  878. ogx_open_client/models/open_ai_chat_completion_content_part_text_param_open_ai_chat_completion_content_part_image_param_open_ai_file.py +447 -0
  879. ogx_open_client/models/open_ai_chat_completion_custom_tool_call_function.py +121 -0
  880. ogx_open_client/models/open_ai_chat_completion_request_with_extra_body.py +377 -0
  881. ogx_open_client/models/open_ai_chat_completion_response_message.py +180 -0
  882. ogx_open_client/models/open_ai_chat_completion_tool_call_function.py +121 -0
  883. ogx_open_client/models/open_ai_chat_completion_tool_choice.py +447 -0
  884. ogx_open_client/models/open_ai_chat_completion_tool_choice_allowed_tools.py +144 -0
  885. ogx_open_client/models/open_ai_chat_completion_tool_choice_custom_tool.py +144 -0
  886. ogx_open_client/models/open_ai_chat_completion_tool_choice_function_tool.py +144 -0
  887. ogx_open_client/models/open_ai_chat_completion_usage.py +154 -0
  888. ogx_open_client/models/open_ai_chat_completion_usage_completion_tokens_details.py +120 -0
  889. ogx_open_client/models/open_ai_chat_completion_usage_prompt_tokens_details.py +120 -0
  890. ogx_open_client/models/open_ai_choice.py +167 -0
  891. ogx_open_client/models/open_ai_choice_delta.py +163 -0
  892. ogx_open_client/models/open_ai_choice_logprobs.py +169 -0
  893. ogx_open_client/models/open_ai_chunk_choice.py +162 -0
  894. ogx_open_client/models/open_ai_chunk_choice_logprobs.py +169 -0
  895. ogx_open_client/models/open_ai_compacted_response.py +161 -0
  896. ogx_open_client/models/open_ai_completion.py +149 -0
  897. ogx_open_client/models/open_ai_completion_choice.py +154 -0
  898. ogx_open_client/models/open_ai_completion_logprobs.py +162 -0
  899. ogx_open_client/models/open_ai_completion_request_with_extra_body.py +273 -0
  900. ogx_open_client/models/open_ai_completion_with_input_messages.py +186 -0
  901. ogx_open_client/models/open_ai_create_vector_store_file_batch_request_with_extra_body.py +212 -0
  902. ogx_open_client/models/open_ai_create_vector_store_request_with_extra_body.py +198 -0
  903. ogx_open_client/models/open_ai_delete_response_object.py +133 -0
  904. ogx_open_client/models/open_ai_developer_message_param.py +151 -0
  905. ogx_open_client/models/open_ai_embedding_data.py +147 -0
  906. ogx_open_client/models/open_ai_embedding_usage.py +121 -0
  907. ogx_open_client/models/open_ai_embeddings_request_with_extra_body.py +164 -0
  908. ogx_open_client/models/open_ai_embeddings_response.py +160 -0
  909. ogx_open_client/models/open_ai_file.py +144 -0
  910. ogx_open_client/models/open_ai_file_delete_response.py +133 -0
  911. ogx_open_client/models/open_ai_file_file.py +138 -0
  912. ogx_open_client/models/open_ai_file_object.py +153 -0
  913. ogx_open_client/models/open_ai_file_purpose.py +50 -0
  914. ogx_open_client/models/open_ai_file_upload_purpose.py +47 -0
  915. ogx_open_client/models/open_ai_finish_reason.py +46 -0
  916. ogx_open_client/models/open_ai_image_url.py +136 -0
  917. ogx_open_client/models/open_ai_list_models_response.py +142 -0
  918. ogx_open_client/models/open_ai_message_param.py +549 -0
  919. ogx_open_client/models/open_ai_model.py +142 -0
  920. ogx_open_client/models/open_ai_response_annotation_citation.py +137 -0
  921. ogx_open_client/models/open_ai_response_annotation_container_file_citation.py +139 -0
  922. ogx_open_client/models/open_ai_response_annotation_file_citation.py +135 -0
  923. ogx_open_client/models/open_ai_response_annotation_file_citation4_variants.py +498 -0
  924. ogx_open_client/models/open_ai_response_annotation_file_path.py +133 -0
  925. ogx_open_client/models/open_ai_response_annotations.py +498 -0
  926. ogx_open_client/models/open_ai_response_compaction.py +138 -0
  927. ogx_open_client/models/open_ai_response_content_part.py +447 -0
  928. ogx_open_client/models/open_ai_response_content_part_output_text.py +162 -0
  929. ogx_open_client/models/open_ai_response_content_part_output_text_open_ai_response_content_part_refusal_open_ai_response_content_part_reasoning_text.py +447 -0
  930. ogx_open_client/models/open_ai_response_content_part_reasoning_summary.py +131 -0
  931. ogx_open_client/models/open_ai_response_content_part_reasoning_text.py +131 -0
  932. ogx_open_client/models/open_ai_response_content_part_refusal.py +131 -0
  933. ogx_open_client/models/open_ai_response_error.py +121 -0
  934. ogx_open_client/models/open_ai_response_format_json_object.py +129 -0
  935. ogx_open_client/models/open_ai_response_format_json_schema.py +144 -0
  936. ogx_open_client/models/open_ai_response_format_param.py +447 -0
  937. ogx_open_client/models/open_ai_response_format_text.py +129 -0
  938. ogx_open_client/models/open_ai_response_format_text_open_ai_response_format_json_schema_open_ai_response_format_json_object.py +453 -0
  939. ogx_open_client/models/open_ai_response_incomplete_details.py +119 -0
  940. ogx_open_client/models/open_ai_response_input.py +251 -0
  941. ogx_open_client/models/open_ai_response_input_function_tool_call_output.py +160 -0
  942. ogx_open_client/models/open_ai_response_input_function_tool_call_output_open_ai_response_mcp_approval_response_open_ai_response_compaction.py +233 -0
  943. ogx_open_client/models/open_ai_response_input_message_content.py +447 -0
  944. ogx_open_client/models/open_ai_response_input_message_content_file.py +157 -0
  945. ogx_open_client/models/open_ai_response_input_message_content_image.py +155 -0
  946. ogx_open_client/models/open_ai_response_input_message_content_text.py +131 -0
  947. ogx_open_client/models/open_ai_response_input_message_content_text_open_ai_response_input_message_content_image_open_ai_response_input_message_content_file.py +447 -0
  948. ogx_open_client/models/open_ai_response_input_tool.py +516 -0
  949. ogx_open_client/models/open_ai_response_input_tool_choice.py +203 -0
  950. ogx_open_client/models/open_ai_response_input_tool_choice_allowed_tools.py +143 -0
  951. ogx_open_client/models/open_ai_response_input_tool_choice_allowed_tools6_variants.py +618 -0
  952. ogx_open_client/models/open_ai_response_input_tool_choice_custom_tool.py +131 -0
  953. ogx_open_client/models/open_ai_response_input_tool_choice_file_search.py +129 -0
  954. ogx_open_client/models/open_ai_response_input_tool_choice_function_tool.py +131 -0
  955. ogx_open_client/models/open_ai_response_input_tool_choice_mcp_tool.py +138 -0
  956. ogx_open_client/models/open_ai_response_input_tool_choice_mode.py +44 -0
  957. ogx_open_client/models/open_ai_response_input_tool_choice_mode1.py +209 -0
  958. ogx_open_client/models/open_ai_response_input_tool_choice_mode2.py +209 -0
  959. ogx_open_client/models/open_ai_response_input_tool_choice_web_search.py +129 -0
  960. ogx_open_client/models/open_ai_response_input_tool_file_search.py +166 -0
  961. ogx_open_client/models/open_ai_response_input_tool_function.py +152 -0
  962. ogx_open_client/models/open_ai_response_input_tool_mcp.py +194 -0
  963. ogx_open_client/models/open_ai_response_input_tool_web_search.py +186 -0
  964. ogx_open_client/models/open_ai_response_input_tool_web_search4_variants.py +516 -0
  965. ogx_open_client/models/open_ai_response_input_tool_web_search4_variants1.py +516 -0
  966. ogx_open_client/models/open_ai_response_mcp_approval_request.py +137 -0
  967. ogx_open_client/models/open_ai_response_mcp_approval_response.py +147 -0
  968. ogx_open_client/models/open_ai_response_message.py +167 -0
  969. ogx_open_client/models/open_ai_response_message11_variants.py +855 -0
  970. ogx_open_client/models/open_ai_response_message8_variants.py +702 -0
  971. ogx_open_client/models/open_ai_response_message_input.py +167 -0
  972. ogx_open_client/models/open_ai_response_message_input11_variants.py +855 -0
  973. ogx_open_client/models/open_ai_response_message_input8_variants.py +702 -0
  974. ogx_open_client/models/open_ai_response_message_output.py +167 -0
  975. ogx_open_client/models/open_ai_response_message_output11_variants.py +855 -0
  976. ogx_open_client/models/open_ai_response_message_output8_variants.py +702 -0
  977. ogx_open_client/models/open_ai_response_message_output_union.py +233 -0
  978. ogx_open_client/models/open_ai_response_object.py +407 -0
  979. ogx_open_client/models/open_ai_response_object_stream.py +2181 -0
  980. ogx_open_client/models/open_ai_response_object_stream_error.py +147 -0
  981. ogx_open_client/models/open_ai_response_object_stream_response_completed.py +146 -0
  982. ogx_open_client/models/open_ai_response_object_stream_response_content_part_added.py +154 -0
  983. ogx_open_client/models/open_ai_response_object_stream_response_content_part_done.py +154 -0
  984. ogx_open_client/models/open_ai_response_object_stream_response_created.py +146 -0
  985. ogx_open_client/models/open_ai_response_object_stream_response_failed.py +146 -0
  986. ogx_open_client/models/open_ai_response_object_stream_response_file_search_call_completed.py +135 -0
  987. ogx_open_client/models/open_ai_response_object_stream_response_file_search_call_in_progress.py +135 -0
  988. ogx_open_client/models/open_ai_response_object_stream_response_file_search_call_searching.py +135 -0
  989. ogx_open_client/models/open_ai_response_object_stream_response_function_call_arguments_delta.py +137 -0
  990. ogx_open_client/models/open_ai_response_object_stream_response_function_call_arguments_done.py +137 -0
  991. ogx_open_client/models/open_ai_response_object_stream_response_in_progress.py +146 -0
  992. ogx_open_client/models/open_ai_response_object_stream_response_incomplete.py +146 -0
  993. ogx_open_client/models/open_ai_response_object_stream_response_mcp_call_arguments_delta.py +137 -0
  994. ogx_open_client/models/open_ai_response_object_stream_response_mcp_call_arguments_done.py +137 -0
  995. ogx_open_client/models/open_ai_response_object_stream_response_mcp_call_completed.py +131 -0
  996. ogx_open_client/models/open_ai_response_object_stream_response_mcp_call_failed.py +131 -0
  997. ogx_open_client/models/open_ai_response_object_stream_response_mcp_call_in_progress.py +135 -0
  998. ogx_open_client/models/open_ai_response_object_stream_response_mcp_list_tools_completed.py +131 -0
  999. ogx_open_client/models/open_ai_response_object_stream_response_mcp_list_tools_failed.py +131 -0
  1000. ogx_open_client/models/open_ai_response_object_stream_response_mcp_list_tools_in_progress.py +131 -0
  1001. ogx_open_client/models/open_ai_response_object_stream_response_output_item_added.py +150 -0
  1002. ogx_open_client/models/open_ai_response_object_stream_response_output_item_done.py +150 -0
  1003. ogx_open_client/models/open_ai_response_object_stream_response_output_text_annotation_added.py +154 -0
  1004. ogx_open_client/models/open_ai_response_object_stream_response_output_text_delta.py +157 -0
  1005. ogx_open_client/models/open_ai_response_object_stream_response_output_text_done.py +139 -0
  1006. ogx_open_client/models/open_ai_response_object_stream_response_reasoning_summary_part_added.py +152 -0
  1007. ogx_open_client/models/open_ai_response_object_stream_response_reasoning_summary_part_done.py +152 -0
  1008. ogx_open_client/models/open_ai_response_object_stream_response_reasoning_summary_text_delta.py +139 -0
  1009. ogx_open_client/models/open_ai_response_object_stream_response_reasoning_summary_text_done.py +139 -0
  1010. ogx_open_client/models/open_ai_response_object_stream_response_reasoning_text_delta.py +139 -0
  1011. ogx_open_client/models/open_ai_response_object_stream_response_reasoning_text_done.py +139 -0
  1012. ogx_open_client/models/open_ai_response_object_stream_response_refusal_delta.py +139 -0
  1013. ogx_open_client/models/open_ai_response_object_stream_response_refusal_done.py +139 -0
  1014. ogx_open_client/models/open_ai_response_object_stream_response_web_search_call_completed.py +135 -0
  1015. ogx_open_client/models/open_ai_response_object_stream_response_web_search_call_in_progress.py +135 -0
  1016. ogx_open_client/models/open_ai_response_object_stream_response_web_search_call_searching.py +135 -0
  1017. ogx_open_client/models/open_ai_response_object_with_input.py +425 -0
  1018. ogx_open_client/models/open_ai_response_output.py +702 -0
  1019. ogx_open_client/models/open_ai_response_output_item.py +702 -0
  1020. ogx_open_client/models/open_ai_response_output_message_content.py +396 -0
  1021. ogx_open_client/models/open_ai_response_output_message_content_output_text.py +162 -0
  1022. ogx_open_client/models/open_ai_response_output_message_content_output_text_input.py +162 -0
  1023. ogx_open_client/models/open_ai_response_output_message_content_output_text_input_open_ai_response_content_part_refusal.py +396 -0
  1024. ogx_open_client/models/open_ai_response_output_message_content_output_text_open_ai_response_content_part_refusal.py +396 -0
  1025. ogx_open_client/models/open_ai_response_output_message_content_output_text_output.py +162 -0
  1026. ogx_open_client/models/open_ai_response_output_message_content_output_text_output_open_ai_response_content_part_refusal.py +396 -0
  1027. ogx_open_client/models/open_ai_response_output_message_file_search_tool_call.py +153 -0
  1028. ogx_open_client/models/open_ai_response_output_message_file_search_tool_call_results.py +127 -0
  1029. ogx_open_client/models/open_ai_response_output_message_function_tool_call.py +149 -0
  1030. ogx_open_client/models/open_ai_response_output_message_mcp_call.py +151 -0
  1031. ogx_open_client/models/open_ai_response_output_message_mcp_list_tools.py +146 -0
  1032. ogx_open_client/models/open_ai_response_output_message_reasoning_content.py +131 -0
  1033. ogx_open_client/models/open_ai_response_output_message_reasoning_item.py +179 -0
  1034. ogx_open_client/models/open_ai_response_output_message_reasoning_summary.py +131 -0
  1035. ogx_open_client/models/open_ai_response_output_message_web_search_tool_call.py +153 -0
  1036. ogx_open_client/models/open_ai_response_output_message_web_search_tool_call_input.py +153 -0
  1037. ogx_open_client/models/open_ai_response_output_message_web_search_tool_call_output.py +153 -0
  1038. ogx_open_client/models/open_ai_response_prompt.py +151 -0
  1039. ogx_open_client/models/open_ai_response_reasoning.py +168 -0
  1040. ogx_open_client/models/open_ai_response_text.py +154 -0
  1041. ogx_open_client/models/open_ai_response_text_format.py +157 -0
  1042. ogx_open_client/models/open_ai_response_tool.py +516 -0
  1043. ogx_open_client/models/open_ai_response_tool_mcp.py +151 -0
  1044. ogx_open_client/models/open_ai_response_usage.py +153 -0
  1045. ogx_open_client/models/open_ai_response_usage_input_tokens_details.py +119 -0
  1046. ogx_open_client/models/open_ai_response_usage_output_tokens_details.py +119 -0
  1047. ogx_open_client/models/open_ai_search_vector_store_request.py +171 -0
  1048. ogx_open_client/models/open_ai_system_message_param.py +151 -0
  1049. ogx_open_client/models/open_ai_token_log_prob.py +146 -0
  1050. ogx_open_client/models/open_ai_tool_message_param.py +146 -0
  1051. ogx_open_client/models/open_ai_top_log_prob.py +128 -0
  1052. ogx_open_client/models/open_ai_update_vector_store_file_request.py +119 -0
  1053. ogx_open_client/models/open_ai_update_vector_store_request.py +151 -0
  1054. ogx_open_client/models/open_ai_user_message_param.py +151 -0
  1055. ogx_open_client/models/open_ai_user_message_param_input.py +151 -0
  1056. ogx_open_client/models/open_ai_user_message_param_input5_variants.py +549 -0
  1057. ogx_open_client/models/open_ai_user_message_param_output.py +151 -0
  1058. ogx_open_client/models/open_ai_user_message_param_output5_variants.py +549 -0
  1059. ogx_open_client/models/open_aijson_schema.py +140 -0
  1060. ogx_open_client/models/order.py +43 -0
  1061. ogx_open_client/models/output_tokens_details.py +132 -0
  1062. ogx_open_client/models/paginated_response.py +145 -0
  1063. ogx_open_client/models/param_type.py +753 -0
  1064. ogx_open_client/models/process_file_request.py +151 -0
  1065. ogx_open_client/models/process_file_response.py +149 -0
  1066. ogx_open_client/models/prompt.py +133 -0
  1067. ogx_open_client/models/provider_info.py +127 -0
  1068. ogx_open_client/models/provider_spec.py +169 -0
  1069. ogx_open_client/models/query_chunks_request.py +141 -0
  1070. ogx_open_client/models/query_chunks_response.py +149 -0
  1071. ogx_open_client/models/register_model_request.py +155 -0
  1072. ogx_open_client/models/remote_provider_spec.py +178 -0
  1073. ogx_open_client/models/rerank_data.py +122 -0
  1074. ogx_open_client/models/rerank_request.py +155 -0
  1075. ogx_open_client/models/rerank_response.py +147 -0
  1076. ogx_open_client/models/response_format.py +396 -0
  1077. ogx_open_client/models/response_item_include.py +48 -0
  1078. ogx_open_client/models/response_retrieve_item_v1_conversations_conversation_id_items_item_id_get.py +849 -0
  1079. ogx_open_client/models/response_stream_options.py +119 -0
  1080. ogx_open_client/models/response_truncation.py +43 -0
  1081. ogx_open_client/models/retrieve_batch_request.py +119 -0
  1082. ogx_open_client/models/retrieve_file_content_request.py +119 -0
  1083. ogx_open_client/models/retrieve_file_request.py +119 -0
  1084. ogx_open_client/models/retrieve_item_request.py +121 -0
  1085. ogx_open_client/models/route_info.py +123 -0
  1086. ogx_open_client/models/sampling_params.py +154 -0
  1087. ogx_open_client/models/sampling_strategy.py +447 -0
  1088. ogx_open_client/models/score_request.py +136 -0
  1089. ogx_open_client/models/scoring_result.py +124 -0
  1090. ogx_open_client/models/search_ranking_options.py +160 -0
  1091. ogx_open_client/models/service_tier.py +45 -0
  1092. ogx_open_client/models/set_default_version_body_request.py +119 -0
  1093. ogx_open_client/models/set_default_version_request.py +121 -0
  1094. ogx_open_client/models/string4_variants.py +415 -0
  1095. ogx_open_client/models/string4_variants1.py +416 -0
  1096. ogx_open_client/models/string_approval_filter.py +222 -0
  1097. ogx_open_client/models/string_list_anthropic_text_block.py +272 -0
  1098. ogx_open_client/models/string_list_anthropic_text_block1.py +272 -0
  1099. ogx_open_client/models/string_list_anthropic_text_block_anthropic_image_block.py +266 -0
  1100. ogx_open_client/models/string_list_google_input_turn.py +266 -0
  1101. ogx_open_client/models/string_list_google_text_content_google_function_call_content_google_function_response_content.py +266 -0
  1102. ogx_open_client/models/string_list_image_content_item_input_text_content_item.py +280 -0
  1103. ogx_open_client/models/string_list_image_content_item_input_text_content_item1.py +280 -0
  1104. ogx_open_client/models/string_list_image_content_item_output_text_content_item.py +280 -0
  1105. ogx_open_client/models/string_list_image_content_item_text_content_item.py +286 -0
  1106. ogx_open_client/models/string_list_image_content_item_text_content_item1.py +280 -0
  1107. ogx_open_client/models/string_list_image_content_item_text_content_item2.py +286 -0
  1108. ogx_open_client/models/string_list_image_content_item_text_content_item3.py +280 -0
  1109. ogx_open_client/models/string_list_image_content_item_text_content_item4.py +280 -0
  1110. ogx_open_client/models/string_list_image_content_item_text_content_item5.py +280 -0
  1111. ogx_open_client/models/string_list_open_ai_chat_completion_content_part_text_param.py +272 -0
  1112. ogx_open_client/models/string_list_open_ai_chat_completion_content_part_text_param1.py +266 -0
  1113. ogx_open_client/models/string_list_open_ai_chat_completion_content_part_text_param2.py +266 -0
  1114. ogx_open_client/models/string_list_open_ai_chat_completion_content_part_text_param3.py +266 -0
  1115. ogx_open_client/models/string_list_open_ai_chat_completion_content_part_text_param4.py +272 -0
  1116. ogx_open_client/models/string_list_open_ai_chat_completion_content_part_text_param_open_ai_chat_completion_content_part_image_param_open_ai_file.py +266 -0
  1117. ogx_open_client/models/string_list_open_ai_response_input_message_content_text_open_ai_response_input_message_content_image_open_ai_response_input_message_content_file.py +266 -0
  1118. ogx_open_client/models/string_list_open_ai_response_input_message_content_text_open_ai_response_input_message_content_image_open_ai_response_input_message_content_file_list_open_ai_response_output_message_content_output_text_input_open_ai_response_content_part_refusal.py +342 -0
  1119. ogx_open_client/models/string_list_open_ai_response_input_message_content_text_open_ai_response_input_message_content_image_open_ai_response_input_message_content_file_list_open_ai_response_output_message_content_output_text_open_ai_response_content_part_refusal.py +342 -0
  1120. ogx_open_client/models/string_list_open_ai_response_input_message_content_text_open_ai_response_input_message_content_image_open_ai_response_input_message_content_file_list_open_ai_response_output_message_content_output_text_output_open_ai_response_content_part_refusal.py +342 -0
  1121. ogx_open_client/models/string_list_open_ai_response_message_union_open_ai_response_input_function_tool_call_output.py +272 -0
  1122. ogx_open_client/models/string_list_open_ai_response_message_union_open_ai_response_input_function_tool_call_output1.py +266 -0
  1123. ogx_open_client/models/string_list_string.py +271 -0
  1124. ogx_open_client/models/string_list_string1.py +265 -0
  1125. ogx_open_client/models/string_list_string2.py +265 -0
  1126. ogx_open_client/models/string_number_boolean.py +225 -0
  1127. ogx_open_client/models/string_number_boolean1.py +224 -0
  1128. ogx_open_client/models/string_object.py +271 -0
  1129. ogx_open_client/models/string_object1.py +271 -0
  1130. ogx_open_client/models/string_open_ai_chat_completion_content_part_text_param_open_ai_chat_completion_content_part_image_param.py +220 -0
  1131. ogx_open_client/models/string_open_ai_chat_completion_content_part_text_param_open_ai_chat_completion_content_part_image_param1.py +220 -0
  1132. ogx_open_client/models/string_type.py +129 -0
  1133. ogx_open_client/models/system_message.py +144 -0
  1134. ogx_open_client/models/text_content_item.py +131 -0
  1135. ogx_open_client/models/text_delta.py +131 -0
  1136. ogx_open_client/models/token_log_probs.py +119 -0
  1137. ogx_open_client/models/tool_config.py +119 -0
  1138. ogx_open_client/models/tool_def.py +154 -0
  1139. ogx_open_client/models/tool_group.py +167 -0
  1140. ogx_open_client/models/tool_group_input.py +148 -0
  1141. ogx_open_client/models/tool_invocation_result.py +158 -0
  1142. ogx_open_client/models/tool_response_message.py +146 -0
  1143. ogx_open_client/models/top_k_sampling_strategy.py +132 -0
  1144. ogx_open_client/models/top_p_sampling_strategy.py +134 -0
  1145. ogx_open_client/models/union_type.py +129 -0
  1146. ogx_open_client/models/unregister_model_request.py +119 -0
  1147. ogx_open_client/models/update_conversation_request.py +119 -0
  1148. ogx_open_client/models/update_prompt_body_request.py +130 -0
  1149. ogx_open_client/models/update_prompt_request.py +132 -0
  1150. ogx_open_client/models/upload_file_request.py +140 -0
  1151. ogx_open_client/models/url.py +119 -0
  1152. ogx_open_client/models/urlor_data.py +144 -0
  1153. ogx_open_client/models/user_message.py +164 -0
  1154. ogx_open_client/models/vector_store_chunking_strategy.py +453 -0
  1155. ogx_open_client/models/vector_store_chunking_strategy_auto.py +129 -0
  1156. ogx_open_client/models/vector_store_chunking_strategy_auto_vector_store_chunking_strategy_static_vector_store_chunking_strategy_contextual.py +453 -0
  1157. ogx_open_client/models/vector_store_chunking_strategy_auto_vector_store_chunking_strategy_static_vector_store_chunking_strategy_contextual1.py +447 -0
  1158. ogx_open_client/models/vector_store_chunking_strategy_contextual.py +144 -0
  1159. ogx_open_client/models/vector_store_chunking_strategy_contextual_config.py +145 -0
  1160. ogx_open_client/models/vector_store_chunking_strategy_static.py +144 -0
  1161. ogx_open_client/models/vector_store_chunking_strategy_static_config.py +122 -0
  1162. ogx_open_client/models/vector_store_content.py +162 -0
  1163. ogx_open_client/models/vector_store_create_request.py +167 -0
  1164. ogx_open_client/models/vector_store_delete_response.py +133 -0
  1165. ogx_open_client/models/vector_store_expiration_after.py +129 -0
  1166. ogx_open_client/models/vector_store_file_batch_file_entry.py +164 -0
  1167. ogx_open_client/models/vector_store_file_batch_object.py +159 -0
  1168. ogx_open_client/models/vector_store_file_content_response.py +151 -0
  1169. ogx_open_client/models/vector_store_file_counts.py +127 -0
  1170. ogx_open_client/models/vector_store_file_delete_response.py +133 -0
  1171. ogx_open_client/models/vector_store_file_last_error.py +128 -0
  1172. ogx_open_client/models/vector_store_file_object.py +206 -0
  1173. ogx_open_client/models/vector_store_file_status.py +45 -0
  1174. ogx_open_client/models/vector_store_files_list_in_batch_response.py +148 -0
  1175. ogx_open_client/models/vector_store_list_files_response.py +148 -0
  1176. ogx_open_client/models/vector_store_list_response.py +148 -0
  1177. ogx_open_client/models/vector_store_modify_request.py +151 -0
  1178. ogx_open_client/models/vector_store_object.py +202 -0
  1179. ogx_open_client/models/vector_store_search_request.py +151 -0
  1180. ogx_open_client/models/vector_store_search_response.py +161 -0
  1181. ogx_open_client/models/vector_store_search_response_page.py +153 -0
  1182. ogx_open_client/models/vector_store_status.py +44 -0
  1183. ogx_open_client/models/version_info.py +119 -0
  1184. ogx_open_client/models/web_search_action_find.py +133 -0
  1185. ogx_open_client/models/web_search_action_open_page.py +136 -0
  1186. ogx_open_client/models/web_search_action_search.py +156 -0
  1187. ogx_open_client/models/web_search_action_search_web_search_action_open_page_web_search_action_find.py +224 -0
  1188. ogx_open_client/models/web_search_action_search_web_search_action_open_page_web_search_action_find1.py +224 -0
  1189. ogx_open_client/models/web_search_filters.py +141 -0
  1190. ogx_open_client/models/web_search_source.py +131 -0
  1191. ogx_open_client/models/web_search_user_location.py +157 -0
  1192. ogx_open_client/ogx_client.py +309 -0
  1193. ogx_open_client/py.typed +0 -0
  1194. ogx_open_client/rest.py +255 -0
  1195. ogx_open_client/stream.py +183 -0
  1196. ogx_open_client-1.0.3.dev0.dist-info/METADATA +723 -0
  1197. ogx_open_client-1.0.3.dev0.dist-info/RECORD +1199 -0
  1198. ogx_open_client-1.0.3.dev0.dist-info/WHEEL +5 -0
  1199. ogx_open_client-1.0.3.dev0.dist-info/top_level.txt +2 -0
@@ -0,0 +1,849 @@
1
+ # coding: utf-8
2
+
3
+ # Copyright (c) The OGX Contributors.
4
+ # All rights reserved.
5
+ #
6
+ # This source code is licensed under the terms described in the LICENSE file in
7
+ # the root directory of this source tree.
8
+
9
+ """
10
+ OGX Specification - Stable & Experimental APIs
11
+
12
+ This is the specification of the OGX that provides a set of endpoints and their corresponding interfaces that are tailored to best leverage Llama Models. **🔗 COMBINED**: This specification includes both stable production-ready APIs and experimental pre-release APIs. Use stable APIs for production deployments and experimental APIs for testing new features.
13
+
14
+ The version of the OpenAPI document: v1
15
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
16
+
17
+ Do not edit the class manually.
18
+ """ # noqa: E501
19
+
20
+
21
+ from __future__ import annotations
22
+ import json
23
+ import pprint
24
+ import re
25
+ from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator
26
+ from typing import Any, List, Optional
27
+ from ogx_open_client.models.open_ai_response_compaction import OpenAIResponseCompaction
28
+ from ogx_open_client.models.open_ai_response_input_function_tool_call_output import OpenAIResponseInputFunctionToolCallOutput
29
+ from ogx_open_client.models.open_ai_response_mcp_approval_request import OpenAIResponseMCPApprovalRequest
30
+ from ogx_open_client.models.open_ai_response_mcp_approval_response import OpenAIResponseMCPApprovalResponse
31
+ from ogx_open_client.models.open_ai_response_message_output import OpenAIResponseMessageOutput
32
+ from ogx_open_client.models.open_ai_response_output_message_file_search_tool_call import OpenAIResponseOutputMessageFileSearchToolCall
33
+ from ogx_open_client.models.open_ai_response_output_message_function_tool_call import OpenAIResponseOutputMessageFunctionToolCall
34
+ from ogx_open_client.models.open_ai_response_output_message_mcp_call import OpenAIResponseOutputMessageMCPCall
35
+ from ogx_open_client.models.open_ai_response_output_message_mcp_list_tools import OpenAIResponseOutputMessageMCPListTools
36
+ from ogx_open_client.models.open_ai_response_output_message_reasoning_item import OpenAIResponseOutputMessageReasoningItem
37
+ from ogx_open_client.models.open_ai_response_output_message_web_search_tool_call_output import OpenAIResponseOutputMessageWebSearchToolCallOutput
38
+ from pydantic import StrictStr, Field, model_serializer
39
+ from typing import Any, ClassVar
40
+ from typing_extensions import Literal, Self
41
+ from ogx_open_client.lib._utils import pascal_to_snake_case
42
+
43
+ RESPONSERETRIEVEITEMV1CONVERSATIONSCONVERSATIONIDITEMSITEMIDGET_ONE_OF_SCHEMAS = ["OpenAIResponseCompaction", "OpenAIResponseInputFunctionToolCallOutput", "OpenAIResponseMCPApprovalRequest", "OpenAIResponseMCPApprovalResponse", "OpenAIResponseMessageOutput", "OpenAIResponseOutputMessageFileSearchToolCall", "OpenAIResponseOutputMessageFunctionToolCall", "OpenAIResponseOutputMessageMCPCall", "OpenAIResponseOutputMessageMCPListTools", "OpenAIResponseOutputMessageReasoningItem", "OpenAIResponseOutputMessageWebSearchToolCallOutput"]
44
+
45
+ class ResponseRetrieveItemV1ConversationsConversationIdItemsItemIdGet(BaseModel):
46
+ """
47
+ ResponseRetrieveItemV1ConversationsConversationIdItemsItemIdGet
48
+ """
49
+ # data type: OpenAIResponseMessageOutput
50
+ oneof_schema_1_validator: Optional[OpenAIResponseMessageOutput] = None
51
+ # data type: OpenAIResponseOutputMessageWebSearchToolCallOutput
52
+ oneof_schema_2_validator: Optional[OpenAIResponseOutputMessageWebSearchToolCallOutput] = None
53
+ # data type: OpenAIResponseOutputMessageFileSearchToolCall
54
+ oneof_schema_3_validator: Optional[OpenAIResponseOutputMessageFileSearchToolCall] = None
55
+ # data type: OpenAIResponseOutputMessageFunctionToolCall
56
+ oneof_schema_4_validator: Optional[OpenAIResponseOutputMessageFunctionToolCall] = None
57
+ # data type: OpenAIResponseInputFunctionToolCallOutput
58
+ oneof_schema_5_validator: Optional[OpenAIResponseInputFunctionToolCallOutput] = None
59
+ # data type: OpenAIResponseMCPApprovalRequest
60
+ oneof_schema_6_validator: Optional[OpenAIResponseMCPApprovalRequest] = None
61
+ # data type: OpenAIResponseMCPApprovalResponse
62
+ oneof_schema_7_validator: Optional[OpenAIResponseMCPApprovalResponse] = None
63
+ # data type: OpenAIResponseOutputMessageMCPCall
64
+ oneof_schema_8_validator: Optional[OpenAIResponseOutputMessageMCPCall] = None
65
+ # data type: OpenAIResponseOutputMessageMCPListTools
66
+ oneof_schema_9_validator: Optional[OpenAIResponseOutputMessageMCPListTools] = None
67
+ # data type: OpenAIResponseOutputMessageReasoningItem
68
+ oneof_schema_10_validator: Optional[OpenAIResponseOutputMessageReasoningItem] = None
69
+ # data type: OpenAIResponseCompaction
70
+ oneof_schema_11_validator: Optional[OpenAIResponseCompaction] = None
71
+ actual_instance: OpenAIResponseCompaction | OpenAIResponseInputFunctionToolCallOutput | OpenAIResponseMCPApprovalRequest | OpenAIResponseMCPApprovalResponse | OpenAIResponseMessageOutput | OpenAIResponseOutputMessageFileSearchToolCall | OpenAIResponseOutputMessageFunctionToolCall | OpenAIResponseOutputMessageMCPCall | OpenAIResponseOutputMessageMCPListTools | OpenAIResponseOutputMessageReasoningItem | OpenAIResponseOutputMessageWebSearchToolCallOutput | None = None
72
+ one_of_schemas: ClassVar[set[str]] = { "OpenAIResponseCompaction", "OpenAIResponseInputFunctionToolCallOutput", "OpenAIResponseMCPApprovalRequest", "OpenAIResponseMCPApprovalResponse", "OpenAIResponseMessageOutput", "OpenAIResponseOutputMessageFileSearchToolCall", "OpenAIResponseOutputMessageFunctionToolCall", "OpenAIResponseOutputMessageMCPCall", "OpenAIResponseOutputMessageMCPListTools", "OpenAIResponseOutputMessageReasoningItem", "OpenAIResponseOutputMessageWebSearchToolCallOutput" }
73
+
74
+ model_config = ConfigDict(
75
+ validate_assignment=True,
76
+ protected_namespaces=(),
77
+ )
78
+
79
+
80
+ discriminator_value_class_map: ClassVar[dict[str, str]] = {
81
+ 'compaction': 'OpenAIResponseCompaction',
82
+ 'file_search_call': 'OpenAIResponseOutputMessageFileSearchToolCall',
83
+ 'function_call': 'OpenAIResponseOutputMessageFunctionToolCall',
84
+ 'function_call_output': 'OpenAIResponseInputFunctionToolCallOutput',
85
+ 'mcp_approval_request': 'OpenAIResponseMCPApprovalRequest',
86
+ 'mcp_approval_response': 'OpenAIResponseMCPApprovalResponse',
87
+ 'mcp_call': 'OpenAIResponseOutputMessageMCPCall',
88
+ 'mcp_list_tools': 'OpenAIResponseOutputMessageMCPListTools',
89
+ 'message': 'OpenAIResponseMessageOutput',
90
+ 'reasoning': 'OpenAIResponseOutputMessageReasoningItem',
91
+ 'web_search_call': 'OpenAIResponseOutputMessageWebSearchToolCallOutput'
92
+ }
93
+ discriminator_property_name: ClassVar[str] = 'type'
94
+
95
+ def __init__(self, *args, **kwargs) -> None:
96
+ if args:
97
+ if len(args) > 1:
98
+ raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`")
99
+ if kwargs:
100
+ raise ValueError("If a position argument is used, keyword arguments cannot be used.")
101
+
102
+ # Preprocess the value to handle lists of dicts
103
+ value = args[0]
104
+ if isinstance(value, list):
105
+ # Try to construct model instances from dicts in the list
106
+ # This ensures default values are applied
107
+ from pydantic import ValidationError as PydanticValidationError
108
+ validated = None
109
+ if validated is not None:
110
+ value = validated
111
+
112
+ super().__init__(actual_instance=value)
113
+ else:
114
+ super().__init__(**kwargs)
115
+
116
+ def __getattr__(self, name: str):
117
+ """Proxy attribute access to actual_instance for transparency."""
118
+ # Avoid infinite recursion for private attributes and model fields
119
+ if name.startswith('_') or name in ('actual_instance', 'one_of_schemas', 'model_config', 'model_fields'):
120
+ raise AttributeError(f"'{type(self).__name__}' object has no attribute '{name}'")
121
+
122
+ actual = super().__getattribute__('actual_instance')
123
+ if actual is None:
124
+ raise AttributeError(f"'{type(self).__name__}' object has no attribute '{name}' (actual_instance is None)")
125
+
126
+ return getattr(actual, name)
127
+
128
+ def __iter__(self):
129
+ """Iterate over items if actual_instance is iterable."""
130
+ if hasattr(self.actual_instance, '__iter__'):
131
+ return iter(self.actual_instance)
132
+ raise TypeError(f"'{type(self.actual_instance).__name__}' object is not iterable")
133
+
134
+ def __getitem__(self, index):
135
+ """Get item by index if actual_instance supports indexing."""
136
+ if hasattr(self.actual_instance, '__getitem__'):
137
+ return self.actual_instance[index]
138
+ raise TypeError(f"'{type(self.actual_instance).__name__}' object is not subscriptable")
139
+
140
+ def __len__(self):
141
+ """Get length if actual_instance supports len()."""
142
+ if hasattr(self.actual_instance, '__len__'):
143
+ return len(self.actual_instance)
144
+ raise TypeError(f"object of type '{type(self.actual_instance).__name__}' has no len()")
145
+
146
+ def __bool__(self):
147
+ """Handle truthiness checks - wrapper is truthy if actual_instance is not None."""
148
+ return self.actual_instance is not None
149
+
150
+ def __eq__(self, other):
151
+ """Handle equality comparisons transparently."""
152
+ if hasattr(self, 'actual_instance') and self.actual_instance is not None:
153
+ other_value = other.actual_instance if hasattr(other, 'actual_instance') else other
154
+ return self.actual_instance == other_value
155
+ return super().__eq__(other)
156
+
157
+ def __hash__(self):
158
+ """Handle hashing - use actual_instance's hash if available."""
159
+ if hasattr(self, 'actual_instance') and self.actual_instance is not None:
160
+ try:
161
+ return hash(self.actual_instance)
162
+ except TypeError:
163
+ return id(self)
164
+ return super().__hash__()
165
+
166
+ def __repr__(self):
167
+ """Return repr of actual_instance for debugging."""
168
+ if hasattr(self, 'actual_instance') and self.actual_instance is not None:
169
+ return repr(self.actual_instance)
170
+ return super().__repr__()
171
+
172
+ def to_json(self) -> str:
173
+ """Returns the JSON representation of the actual instance"""
174
+ if self.actual_instance is None:
175
+ return "null"
176
+
177
+ if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json):
178
+ return self.actual_instance.to_json()
179
+ else:
180
+ return json.dumps(self.actual_instance)
181
+
182
+ def to_str(self) -> str:
183
+ """Returns the string representation of the actual instance"""
184
+ return pprint.pformat(self.model_dump())
185
+
186
+ @model_serializer(mode='wrap')
187
+ def serialize_model(self, serializer):
188
+ """Custom serializer that delegates to actual_instance for proper JSON serialization."""
189
+ # If actual_instance is None, serialize the wrapper normally
190
+ if not hasattr(self, 'actual_instance') or self.actual_instance is None:
191
+ return serializer(self)
192
+
193
+ # If actual_instance is a Pydantic model, serialize it using the default serializer
194
+ # This ensures nested models are also serialized correctly
195
+ if hasattr(self.actual_instance, '__pydantic_serializer__'):
196
+ # Use Pydantic's serializer infrastructure to ensure proper serialization
197
+ from pydantic_core import to_jsonable_python
198
+ return to_jsonable_python(
199
+ self.actual_instance,
200
+ by_alias=True,
201
+ exclude_none=True,
202
+ fallback=lambda x: x if isinstance(x, str | int | float | bool | type(None)) else str(x)
203
+ )
204
+ # If it's a list of Pydantic models, serialize each one
205
+ elif isinstance(self.actual_instance, list):
206
+ from pydantic_core import to_jsonable_python
207
+ return [
208
+ to_jsonable_python(
209
+ item,
210
+ by_alias=True,
211
+ exclude_none=True,
212
+ fallback=lambda x: x if isinstance(x, str | int | float | bool | type(None)) else str(x)
213
+ )
214
+ if hasattr(item, '__pydantic_serializer__')
215
+ else item
216
+ for item in self.actual_instance
217
+ ]
218
+ # Otherwise return as-is (primitives, dicts, etc.)
219
+ else:
220
+ return self.actual_instance
221
+
222
+ @field_validator('actual_instance')
223
+ def actual_instance_must_validate_oneof(cls, v):
224
+ instance = ResponseRetrieveItemV1ConversationsConversationIdItemsItemIdGet.model_construct()
225
+ error_messages = []
226
+ match = 0
227
+ # validate data type: OpenAIResponseMessageOutput
228
+ # Check if we should skip this variant based on discriminator
229
+ _should_skip_discriminator = False
230
+ if isinstance(v, dict) and hasattr(cls, 'discriminator_value_class_map'):
231
+ _disc_value = v.get(cls.discriminator_property_name)
232
+ if _disc_value is None and cls.discriminator_property_name != 'type':
233
+ _disc_value = v.get('type')
234
+ if _disc_value and _disc_value in cls.discriminator_value_class_map:
235
+ _expected_class = cls.discriminator_value_class_map[_disc_value]
236
+ if _expected_class != 'OpenAIResponseMessageOutput':
237
+ _should_skip_discriminator = True
238
+
239
+ if _should_skip_discriminator:
240
+ error_messages.append(f"Skipping OpenAIResponseMessageOutput due to discriminator mismatch")
241
+ elif not isinstance(v, OpenAIResponseMessageOutput):
242
+ # Try to construct from dict if it's a dict - this applies default values
243
+ if isinstance(v, dict):
244
+ try:
245
+ constructed = OpenAIResponseMessageOutput.model_validate(v)
246
+ match += 1
247
+ # Return the constructed instance to use it instead of raw dict
248
+ return constructed
249
+ except (ValidationError, ValueError) as e:
250
+ error_messages.append(f"Error! Cannot construct `OpenAIResponseMessageOutput` from dict: {str(e)}")
251
+ else:
252
+ error_messages.append(f"Error! Input type `{type(v)}` is not `OpenAIResponseMessageOutput`")
253
+ else:
254
+ match += 1
255
+ # validate data type: OpenAIResponseOutputMessageWebSearchToolCallOutput
256
+ # Check if we should skip this variant based on discriminator
257
+ _should_skip_discriminator = False
258
+ if isinstance(v, dict) and hasattr(cls, 'discriminator_value_class_map'):
259
+ _disc_value = v.get(cls.discriminator_property_name)
260
+ if _disc_value is None and cls.discriminator_property_name != 'type':
261
+ _disc_value = v.get('type')
262
+ if _disc_value and _disc_value in cls.discriminator_value_class_map:
263
+ _expected_class = cls.discriminator_value_class_map[_disc_value]
264
+ if _expected_class != 'OpenAIResponseOutputMessageWebSearchToolCallOutput':
265
+ _should_skip_discriminator = True
266
+
267
+ if _should_skip_discriminator:
268
+ error_messages.append(f"Skipping OpenAIResponseOutputMessageWebSearchToolCallOutput due to discriminator mismatch")
269
+ elif not isinstance(v, OpenAIResponseOutputMessageWebSearchToolCallOutput):
270
+ # Try to construct from dict if it's a dict - this applies default values
271
+ if isinstance(v, dict):
272
+ try:
273
+ constructed = OpenAIResponseOutputMessageWebSearchToolCallOutput.model_validate(v)
274
+ match += 1
275
+ # Return the constructed instance to use it instead of raw dict
276
+ return constructed
277
+ except (ValidationError, ValueError) as e:
278
+ error_messages.append(f"Error! Cannot construct `OpenAIResponseOutputMessageWebSearchToolCallOutput` from dict: {str(e)}")
279
+ else:
280
+ error_messages.append(f"Error! Input type `{type(v)}` is not `OpenAIResponseOutputMessageWebSearchToolCallOutput`")
281
+ else:
282
+ match += 1
283
+ # validate data type: OpenAIResponseOutputMessageFileSearchToolCall
284
+ # Check if we should skip this variant based on discriminator
285
+ _should_skip_discriminator = False
286
+ if isinstance(v, dict) and hasattr(cls, 'discriminator_value_class_map'):
287
+ _disc_value = v.get(cls.discriminator_property_name)
288
+ if _disc_value is None and cls.discriminator_property_name != 'type':
289
+ _disc_value = v.get('type')
290
+ if _disc_value and _disc_value in cls.discriminator_value_class_map:
291
+ _expected_class = cls.discriminator_value_class_map[_disc_value]
292
+ if _expected_class != 'OpenAIResponseOutputMessageFileSearchToolCall':
293
+ _should_skip_discriminator = True
294
+
295
+ if _should_skip_discriminator:
296
+ error_messages.append(f"Skipping OpenAIResponseOutputMessageFileSearchToolCall due to discriminator mismatch")
297
+ elif not isinstance(v, OpenAIResponseOutputMessageFileSearchToolCall):
298
+ # Try to construct from dict if it's a dict - this applies default values
299
+ if isinstance(v, dict):
300
+ try:
301
+ constructed = OpenAIResponseOutputMessageFileSearchToolCall.model_validate(v)
302
+ match += 1
303
+ # Return the constructed instance to use it instead of raw dict
304
+ return constructed
305
+ except (ValidationError, ValueError) as e:
306
+ error_messages.append(f"Error! Cannot construct `OpenAIResponseOutputMessageFileSearchToolCall` from dict: {str(e)}")
307
+ else:
308
+ error_messages.append(f"Error! Input type `{type(v)}` is not `OpenAIResponseOutputMessageFileSearchToolCall`")
309
+ else:
310
+ match += 1
311
+ # validate data type: OpenAIResponseOutputMessageFunctionToolCall
312
+ # Check if we should skip this variant based on discriminator
313
+ _should_skip_discriminator = False
314
+ if isinstance(v, dict) and hasattr(cls, 'discriminator_value_class_map'):
315
+ _disc_value = v.get(cls.discriminator_property_name)
316
+ if _disc_value is None and cls.discriminator_property_name != 'type':
317
+ _disc_value = v.get('type')
318
+ if _disc_value and _disc_value in cls.discriminator_value_class_map:
319
+ _expected_class = cls.discriminator_value_class_map[_disc_value]
320
+ if _expected_class != 'OpenAIResponseOutputMessageFunctionToolCall':
321
+ _should_skip_discriminator = True
322
+
323
+ if _should_skip_discriminator:
324
+ error_messages.append(f"Skipping OpenAIResponseOutputMessageFunctionToolCall due to discriminator mismatch")
325
+ elif not isinstance(v, OpenAIResponseOutputMessageFunctionToolCall):
326
+ # Try to construct from dict if it's a dict - this applies default values
327
+ if isinstance(v, dict):
328
+ try:
329
+ constructed = OpenAIResponseOutputMessageFunctionToolCall.model_validate(v)
330
+ match += 1
331
+ # Return the constructed instance to use it instead of raw dict
332
+ return constructed
333
+ except (ValidationError, ValueError) as e:
334
+ error_messages.append(f"Error! Cannot construct `OpenAIResponseOutputMessageFunctionToolCall` from dict: {str(e)}")
335
+ else:
336
+ error_messages.append(f"Error! Input type `{type(v)}` is not `OpenAIResponseOutputMessageFunctionToolCall`")
337
+ else:
338
+ match += 1
339
+ # validate data type: OpenAIResponseInputFunctionToolCallOutput
340
+ # Check if we should skip this variant based on discriminator
341
+ _should_skip_discriminator = False
342
+ if isinstance(v, dict) and hasattr(cls, 'discriminator_value_class_map'):
343
+ _disc_value = v.get(cls.discriminator_property_name)
344
+ if _disc_value is None and cls.discriminator_property_name != 'type':
345
+ _disc_value = v.get('type')
346
+ if _disc_value and _disc_value in cls.discriminator_value_class_map:
347
+ _expected_class = cls.discriminator_value_class_map[_disc_value]
348
+ if _expected_class != 'OpenAIResponseInputFunctionToolCallOutput':
349
+ _should_skip_discriminator = True
350
+
351
+ if _should_skip_discriminator:
352
+ error_messages.append(f"Skipping OpenAIResponseInputFunctionToolCallOutput due to discriminator mismatch")
353
+ elif not isinstance(v, OpenAIResponseInputFunctionToolCallOutput):
354
+ # Try to construct from dict if it's a dict - this applies default values
355
+ if isinstance(v, dict):
356
+ try:
357
+ constructed = OpenAIResponseInputFunctionToolCallOutput.model_validate(v)
358
+ match += 1
359
+ # Return the constructed instance to use it instead of raw dict
360
+ return constructed
361
+ except (ValidationError, ValueError) as e:
362
+ error_messages.append(f"Error! Cannot construct `OpenAIResponseInputFunctionToolCallOutput` from dict: {str(e)}")
363
+ else:
364
+ error_messages.append(f"Error! Input type `{type(v)}` is not `OpenAIResponseInputFunctionToolCallOutput`")
365
+ else:
366
+ match += 1
367
+ # validate data type: OpenAIResponseMCPApprovalRequest
368
+ # Check if we should skip this variant based on discriminator
369
+ _should_skip_discriminator = False
370
+ if isinstance(v, dict) and hasattr(cls, 'discriminator_value_class_map'):
371
+ _disc_value = v.get(cls.discriminator_property_name)
372
+ if _disc_value is None and cls.discriminator_property_name != 'type':
373
+ _disc_value = v.get('type')
374
+ if _disc_value and _disc_value in cls.discriminator_value_class_map:
375
+ _expected_class = cls.discriminator_value_class_map[_disc_value]
376
+ if _expected_class != 'OpenAIResponseMCPApprovalRequest':
377
+ _should_skip_discriminator = True
378
+
379
+ if _should_skip_discriminator:
380
+ error_messages.append(f"Skipping OpenAIResponseMCPApprovalRequest due to discriminator mismatch")
381
+ elif not isinstance(v, OpenAIResponseMCPApprovalRequest):
382
+ # Try to construct from dict if it's a dict - this applies default values
383
+ if isinstance(v, dict):
384
+ try:
385
+ constructed = OpenAIResponseMCPApprovalRequest.model_validate(v)
386
+ match += 1
387
+ # Return the constructed instance to use it instead of raw dict
388
+ return constructed
389
+ except (ValidationError, ValueError) as e:
390
+ error_messages.append(f"Error! Cannot construct `OpenAIResponseMCPApprovalRequest` from dict: {str(e)}")
391
+ else:
392
+ error_messages.append(f"Error! Input type `{type(v)}` is not `OpenAIResponseMCPApprovalRequest`")
393
+ else:
394
+ match += 1
395
+ # validate data type: OpenAIResponseMCPApprovalResponse
396
+ # Check if we should skip this variant based on discriminator
397
+ _should_skip_discriminator = False
398
+ if isinstance(v, dict) and hasattr(cls, 'discriminator_value_class_map'):
399
+ _disc_value = v.get(cls.discriminator_property_name)
400
+ if _disc_value is None and cls.discriminator_property_name != 'type':
401
+ _disc_value = v.get('type')
402
+ if _disc_value and _disc_value in cls.discriminator_value_class_map:
403
+ _expected_class = cls.discriminator_value_class_map[_disc_value]
404
+ if _expected_class != 'OpenAIResponseMCPApprovalResponse':
405
+ _should_skip_discriminator = True
406
+
407
+ if _should_skip_discriminator:
408
+ error_messages.append(f"Skipping OpenAIResponseMCPApprovalResponse due to discriminator mismatch")
409
+ elif not isinstance(v, OpenAIResponseMCPApprovalResponse):
410
+ # Try to construct from dict if it's a dict - this applies default values
411
+ if isinstance(v, dict):
412
+ try:
413
+ constructed = OpenAIResponseMCPApprovalResponse.model_validate(v)
414
+ match += 1
415
+ # Return the constructed instance to use it instead of raw dict
416
+ return constructed
417
+ except (ValidationError, ValueError) as e:
418
+ error_messages.append(f"Error! Cannot construct `OpenAIResponseMCPApprovalResponse` from dict: {str(e)}")
419
+ else:
420
+ error_messages.append(f"Error! Input type `{type(v)}` is not `OpenAIResponseMCPApprovalResponse`")
421
+ else:
422
+ match += 1
423
+ # validate data type: OpenAIResponseOutputMessageMCPCall
424
+ # Check if we should skip this variant based on discriminator
425
+ _should_skip_discriminator = False
426
+ if isinstance(v, dict) and hasattr(cls, 'discriminator_value_class_map'):
427
+ _disc_value = v.get(cls.discriminator_property_name)
428
+ if _disc_value is None and cls.discriminator_property_name != 'type':
429
+ _disc_value = v.get('type')
430
+ if _disc_value and _disc_value in cls.discriminator_value_class_map:
431
+ _expected_class = cls.discriminator_value_class_map[_disc_value]
432
+ if _expected_class != 'OpenAIResponseOutputMessageMCPCall':
433
+ _should_skip_discriminator = True
434
+
435
+ if _should_skip_discriminator:
436
+ error_messages.append(f"Skipping OpenAIResponseOutputMessageMCPCall due to discriminator mismatch")
437
+ elif not isinstance(v, OpenAIResponseOutputMessageMCPCall):
438
+ # Try to construct from dict if it's a dict - this applies default values
439
+ if isinstance(v, dict):
440
+ try:
441
+ constructed = OpenAIResponseOutputMessageMCPCall.model_validate(v)
442
+ match += 1
443
+ # Return the constructed instance to use it instead of raw dict
444
+ return constructed
445
+ except (ValidationError, ValueError) as e:
446
+ error_messages.append(f"Error! Cannot construct `OpenAIResponseOutputMessageMCPCall` from dict: {str(e)}")
447
+ else:
448
+ error_messages.append(f"Error! Input type `{type(v)}` is not `OpenAIResponseOutputMessageMCPCall`")
449
+ else:
450
+ match += 1
451
+ # validate data type: OpenAIResponseOutputMessageMCPListTools
452
+ # Check if we should skip this variant based on discriminator
453
+ _should_skip_discriminator = False
454
+ if isinstance(v, dict) and hasattr(cls, 'discriminator_value_class_map'):
455
+ _disc_value = v.get(cls.discriminator_property_name)
456
+ if _disc_value is None and cls.discriminator_property_name != 'type':
457
+ _disc_value = v.get('type')
458
+ if _disc_value and _disc_value in cls.discriminator_value_class_map:
459
+ _expected_class = cls.discriminator_value_class_map[_disc_value]
460
+ if _expected_class != 'OpenAIResponseOutputMessageMCPListTools':
461
+ _should_skip_discriminator = True
462
+
463
+ if _should_skip_discriminator:
464
+ error_messages.append(f"Skipping OpenAIResponseOutputMessageMCPListTools due to discriminator mismatch")
465
+ elif not isinstance(v, OpenAIResponseOutputMessageMCPListTools):
466
+ # Try to construct from dict if it's a dict - this applies default values
467
+ if isinstance(v, dict):
468
+ try:
469
+ constructed = OpenAIResponseOutputMessageMCPListTools.model_validate(v)
470
+ match += 1
471
+ # Return the constructed instance to use it instead of raw dict
472
+ return constructed
473
+ except (ValidationError, ValueError) as e:
474
+ error_messages.append(f"Error! Cannot construct `OpenAIResponseOutputMessageMCPListTools` from dict: {str(e)}")
475
+ else:
476
+ error_messages.append(f"Error! Input type `{type(v)}` is not `OpenAIResponseOutputMessageMCPListTools`")
477
+ else:
478
+ match += 1
479
+ # validate data type: OpenAIResponseOutputMessageReasoningItem
480
+ # Check if we should skip this variant based on discriminator
481
+ _should_skip_discriminator = False
482
+ if isinstance(v, dict) and hasattr(cls, 'discriminator_value_class_map'):
483
+ _disc_value = v.get(cls.discriminator_property_name)
484
+ if _disc_value is None and cls.discriminator_property_name != 'type':
485
+ _disc_value = v.get('type')
486
+ if _disc_value and _disc_value in cls.discriminator_value_class_map:
487
+ _expected_class = cls.discriminator_value_class_map[_disc_value]
488
+ if _expected_class != 'OpenAIResponseOutputMessageReasoningItem':
489
+ _should_skip_discriminator = True
490
+
491
+ if _should_skip_discriminator:
492
+ error_messages.append(f"Skipping OpenAIResponseOutputMessageReasoningItem due to discriminator mismatch")
493
+ elif not isinstance(v, OpenAIResponseOutputMessageReasoningItem):
494
+ # Try to construct from dict if it's a dict - this applies default values
495
+ if isinstance(v, dict):
496
+ try:
497
+ constructed = OpenAIResponseOutputMessageReasoningItem.model_validate(v)
498
+ match += 1
499
+ # Return the constructed instance to use it instead of raw dict
500
+ return constructed
501
+ except (ValidationError, ValueError) as e:
502
+ error_messages.append(f"Error! Cannot construct `OpenAIResponseOutputMessageReasoningItem` from dict: {str(e)}")
503
+ else:
504
+ error_messages.append(f"Error! Input type `{type(v)}` is not `OpenAIResponseOutputMessageReasoningItem`")
505
+ else:
506
+ match += 1
507
+ # validate data type: OpenAIResponseCompaction
508
+ # Check if we should skip this variant based on discriminator
509
+ _should_skip_discriminator = False
510
+ if isinstance(v, dict) and hasattr(cls, 'discriminator_value_class_map'):
511
+ _disc_value = v.get(cls.discriminator_property_name)
512
+ if _disc_value is None and cls.discriminator_property_name != 'type':
513
+ _disc_value = v.get('type')
514
+ if _disc_value and _disc_value in cls.discriminator_value_class_map:
515
+ _expected_class = cls.discriminator_value_class_map[_disc_value]
516
+ if _expected_class != 'OpenAIResponseCompaction':
517
+ _should_skip_discriminator = True
518
+
519
+ if _should_skip_discriminator:
520
+ error_messages.append(f"Skipping OpenAIResponseCompaction due to discriminator mismatch")
521
+ elif not isinstance(v, OpenAIResponseCompaction):
522
+ # Try to construct from dict if it's a dict - this applies default values
523
+ if isinstance(v, dict):
524
+ try:
525
+ constructed = OpenAIResponseCompaction.model_validate(v)
526
+ match += 1
527
+ # Return the constructed instance to use it instead of raw dict
528
+ return constructed
529
+ except (ValidationError, ValueError) as e:
530
+ error_messages.append(f"Error! Cannot construct `OpenAIResponseCompaction` from dict: {str(e)}")
531
+ else:
532
+ error_messages.append(f"Error! Input type `{type(v)}` is not `OpenAIResponseCompaction`")
533
+ else:
534
+ match += 1
535
+ if match > 1:
536
+ # Special case: empty lists can match multiple List[...] schemas in oneOf
537
+ # This is common in streaming where content starts empty
538
+ # In this case, just accept the first match (they're functionally equivalent for empty lists)
539
+ if isinstance(v, list) and len(v) == 0:
540
+ return v
541
+ # more than 1 match
542
+ raise ValueError("Multiple matches found when setting `actual_instance` in ResponseRetrieveItemV1ConversationsConversationIdItemsItemIdGet with oneOf schemas: OpenAIResponseCompaction, OpenAIResponseInputFunctionToolCallOutput, OpenAIResponseMCPApprovalRequest, OpenAIResponseMCPApprovalResponse, OpenAIResponseMessageOutput, OpenAIResponseOutputMessageFileSearchToolCall, OpenAIResponseOutputMessageFunctionToolCall, OpenAIResponseOutputMessageMCPCall, OpenAIResponseOutputMessageMCPListTools, OpenAIResponseOutputMessageReasoningItem, OpenAIResponseOutputMessageWebSearchToolCallOutput. Details: " + ", ".join(error_messages))
543
+ elif match == 0:
544
+ # no match
545
+ raise ValueError("No match found when setting `actual_instance` in ResponseRetrieveItemV1ConversationsConversationIdItemsItemIdGet with oneOf schemas: OpenAIResponseCompaction, OpenAIResponseInputFunctionToolCallOutput, OpenAIResponseMCPApprovalRequest, OpenAIResponseMCPApprovalResponse, OpenAIResponseMessageOutput, OpenAIResponseOutputMessageFileSearchToolCall, OpenAIResponseOutputMessageFunctionToolCall, OpenAIResponseOutputMessageMCPCall, OpenAIResponseOutputMessageMCPListTools, OpenAIResponseOutputMessageReasoningItem, OpenAIResponseOutputMessageWebSearchToolCallOutput. Details: " + ", ".join(error_messages))
546
+ else:
547
+ return v
548
+
549
+ @classmethod
550
+ def from_dict(cls, obj: str | dict[str, Any]) -> Self:
551
+ # Handle primitives and lists directly - don't double-serialize them
552
+ if isinstance(obj, (str, int, float, bool, type(None), list)):
553
+ # For non-dict content, bypass from_json and use actual_instance_must_validate_oneof
554
+ instance = cls.model_construct()
555
+ instance.actual_instance = cls.actual_instance_must_validate_oneof(obj)
556
+ return instance
557
+ return cls.from_json(json.dumps(obj))
558
+
559
+ @classmethod
560
+ def from_json(cls, json_str: str) -> Self:
561
+ """Returns the object represented by the json string"""
562
+ instance = cls.model_construct()
563
+ error_messages = []
564
+ match = 0
565
+
566
+ # use oneOf discriminator to lookup the data type
567
+ _data_type = json.loads(json_str).get("type")
568
+ if not _data_type:
569
+ raise ValueError("Failed to lookup data type from the field `type` in the input.")
570
+
571
+ # check if data type is `OpenAIResponseCompaction`
572
+ if _data_type == "compaction":
573
+ instance.actual_instance = OpenAIResponseCompaction.from_json(json_str)
574
+ return instance
575
+
576
+ # check if data type is `OpenAIResponseOutputMessageFileSearchToolCall`
577
+ if _data_type == "file_search_call":
578
+ instance.actual_instance = OpenAIResponseOutputMessageFileSearchToolCall.from_json(json_str)
579
+ return instance
580
+
581
+ # check if data type is `OpenAIResponseOutputMessageFunctionToolCall`
582
+ if _data_type == "function_call":
583
+ instance.actual_instance = OpenAIResponseOutputMessageFunctionToolCall.from_json(json_str)
584
+ return instance
585
+
586
+ # check if data type is `OpenAIResponseInputFunctionToolCallOutput`
587
+ if _data_type == "function_call_output":
588
+ instance.actual_instance = OpenAIResponseInputFunctionToolCallOutput.from_json(json_str)
589
+ return instance
590
+
591
+ # check if data type is `OpenAIResponseMCPApprovalRequest`
592
+ if _data_type == "mcp_approval_request":
593
+ instance.actual_instance = OpenAIResponseMCPApprovalRequest.from_json(json_str)
594
+ return instance
595
+
596
+ # check if data type is `OpenAIResponseMCPApprovalResponse`
597
+ if _data_type == "mcp_approval_response":
598
+ instance.actual_instance = OpenAIResponseMCPApprovalResponse.from_json(json_str)
599
+ return instance
600
+
601
+ # check if data type is `OpenAIResponseOutputMessageMCPCall`
602
+ if _data_type == "mcp_call":
603
+ instance.actual_instance = OpenAIResponseOutputMessageMCPCall.from_json(json_str)
604
+ return instance
605
+
606
+ # check if data type is `OpenAIResponseOutputMessageMCPListTools`
607
+ if _data_type == "mcp_list_tools":
608
+ instance.actual_instance = OpenAIResponseOutputMessageMCPListTools.from_json(json_str)
609
+ return instance
610
+
611
+ # check if data type is `OpenAIResponseMessageOutput`
612
+ if _data_type == "message":
613
+ instance.actual_instance = OpenAIResponseMessageOutput.from_json(json_str)
614
+ return instance
615
+
616
+ # check if data type is `OpenAIResponseOutputMessageReasoningItem`
617
+ if _data_type == "reasoning":
618
+ instance.actual_instance = OpenAIResponseOutputMessageReasoningItem.from_json(json_str)
619
+ return instance
620
+
621
+ # check if data type is `OpenAIResponseOutputMessageWebSearchToolCallOutput`
622
+ if _data_type == "web_search_call":
623
+ instance.actual_instance = OpenAIResponseOutputMessageWebSearchToolCallOutput.from_json(json_str)
624
+ return instance
625
+
626
+ # deserialize data into OpenAIResponseMessageOutput
627
+ try:
628
+ instance.actual_instance = OpenAIResponseMessageOutput.from_json(json_str)
629
+ match += 1
630
+ except (ValidationError, ValueError) as e:
631
+ error_messages.append(str(e))
632
+ # deserialize data into OpenAIResponseOutputMessageWebSearchToolCallOutput
633
+ try:
634
+ instance.actual_instance = OpenAIResponseOutputMessageWebSearchToolCallOutput.from_json(json_str)
635
+ match += 1
636
+ except (ValidationError, ValueError) as e:
637
+ error_messages.append(str(e))
638
+ # deserialize data into OpenAIResponseOutputMessageFileSearchToolCall
639
+ try:
640
+ instance.actual_instance = OpenAIResponseOutputMessageFileSearchToolCall.from_json(json_str)
641
+ match += 1
642
+ except (ValidationError, ValueError) as e:
643
+ error_messages.append(str(e))
644
+ # deserialize data into OpenAIResponseOutputMessageFunctionToolCall
645
+ try:
646
+ instance.actual_instance = OpenAIResponseOutputMessageFunctionToolCall.from_json(json_str)
647
+ match += 1
648
+ except (ValidationError, ValueError) as e:
649
+ error_messages.append(str(e))
650
+ # deserialize data into OpenAIResponseInputFunctionToolCallOutput
651
+ try:
652
+ instance.actual_instance = OpenAIResponseInputFunctionToolCallOutput.from_json(json_str)
653
+ match += 1
654
+ except (ValidationError, ValueError) as e:
655
+ error_messages.append(str(e))
656
+ # deserialize data into OpenAIResponseMCPApprovalRequest
657
+ try:
658
+ instance.actual_instance = OpenAIResponseMCPApprovalRequest.from_json(json_str)
659
+ match += 1
660
+ except (ValidationError, ValueError) as e:
661
+ error_messages.append(str(e))
662
+ # deserialize data into OpenAIResponseMCPApprovalResponse
663
+ try:
664
+ instance.actual_instance = OpenAIResponseMCPApprovalResponse.from_json(json_str)
665
+ match += 1
666
+ except (ValidationError, ValueError) as e:
667
+ error_messages.append(str(e))
668
+ # deserialize data into OpenAIResponseOutputMessageMCPCall
669
+ try:
670
+ instance.actual_instance = OpenAIResponseOutputMessageMCPCall.from_json(json_str)
671
+ match += 1
672
+ except (ValidationError, ValueError) as e:
673
+ error_messages.append(str(e))
674
+ # deserialize data into OpenAIResponseOutputMessageMCPListTools
675
+ try:
676
+ instance.actual_instance = OpenAIResponseOutputMessageMCPListTools.from_json(json_str)
677
+ match += 1
678
+ except (ValidationError, ValueError) as e:
679
+ error_messages.append(str(e))
680
+ # deserialize data into OpenAIResponseOutputMessageReasoningItem
681
+ try:
682
+ instance.actual_instance = OpenAIResponseOutputMessageReasoningItem.from_json(json_str)
683
+ match += 1
684
+ except (ValidationError, ValueError) as e:
685
+ error_messages.append(str(e))
686
+ # deserialize data into OpenAIResponseCompaction
687
+ try:
688
+ instance.actual_instance = OpenAIResponseCompaction.from_json(json_str)
689
+ match += 1
690
+ except (ValidationError, ValueError) as e:
691
+ error_messages.append(str(e))
692
+
693
+ if match > 1:
694
+ # Special case: empty lists can match multiple List[...] schemas in oneOf
695
+ # This is common in streaming where content starts empty
696
+ # In this case, just accept the first match (they're functionally equivalent for empty lists)
697
+ data = json.loads(json_str)
698
+ if isinstance(data, list) and len(data) == 0:
699
+ return instance # First match already set in instance
700
+ # more than 1 match
701
+ raise ValueError("Multiple matches found when deserializing the JSON string into ResponseRetrieveItemV1ConversationsConversationIdItemsItemIdGet with oneOf schemas: OpenAIResponseCompaction, OpenAIResponseInputFunctionToolCallOutput, OpenAIResponseMCPApprovalRequest, OpenAIResponseMCPApprovalResponse, OpenAIResponseMessageOutput, OpenAIResponseOutputMessageFileSearchToolCall, OpenAIResponseOutputMessageFunctionToolCall, OpenAIResponseOutputMessageMCPCall, OpenAIResponseOutputMessageMCPListTools, OpenAIResponseOutputMessageReasoningItem, OpenAIResponseOutputMessageWebSearchToolCallOutput. Details: " + ", ".join(error_messages))
702
+ elif match == 0:
703
+ # no match - try lenient fallback for streaming chunks
704
+ data = json.loads(json_str)
705
+
706
+ # Helper to remove None values recursively for streaming chunks
707
+ def remove_none_values(obj):
708
+ if isinstance(obj, dict):
709
+ return {k: remove_none_values(v) for k, v in obj.items() if v is not None}
710
+ elif isinstance(obj, list):
711
+ return [remove_none_values(item) for item in obj if item is not None]
712
+ return obj
713
+
714
+ # Helper to add default values for commonly missing required fields in streaming
715
+ def add_streaming_defaults(obj):
716
+ if isinstance(obj, dict):
717
+ result = dict(obj)
718
+ # Add empty string for finish_reason if missing (common in streaming chunks)
719
+ if 'choices' in result and isinstance(result['choices'], list):
720
+ for choice in result['choices']:
721
+ if isinstance(choice, dict) and 'finish_reason' not in choice:
722
+ choice['finish_reason'] = ''
723
+ return result
724
+ return obj
725
+
726
+ # Try each variant with None values removed and defaults added
727
+ try:
728
+ cleaned_data = remove_none_values(data)
729
+ cleaned_data = add_streaming_defaults(cleaned_data)
730
+ variant = OpenAIResponseMessageOutput.model_validate(cleaned_data)
731
+ instance.actual_instance = variant
732
+ return instance
733
+ except Exception:
734
+ pass
735
+ try:
736
+ cleaned_data = remove_none_values(data)
737
+ cleaned_data = add_streaming_defaults(cleaned_data)
738
+ variant = OpenAIResponseOutputMessageWebSearchToolCallOutput.model_validate(cleaned_data)
739
+ instance.actual_instance = variant
740
+ return instance
741
+ except Exception:
742
+ pass
743
+ try:
744
+ cleaned_data = remove_none_values(data)
745
+ cleaned_data = add_streaming_defaults(cleaned_data)
746
+ variant = OpenAIResponseOutputMessageFileSearchToolCall.model_validate(cleaned_data)
747
+ instance.actual_instance = variant
748
+ return instance
749
+ except Exception:
750
+ pass
751
+ try:
752
+ cleaned_data = remove_none_values(data)
753
+ cleaned_data = add_streaming_defaults(cleaned_data)
754
+ variant = OpenAIResponseOutputMessageFunctionToolCall.model_validate(cleaned_data)
755
+ instance.actual_instance = variant
756
+ return instance
757
+ except Exception:
758
+ pass
759
+ try:
760
+ cleaned_data = remove_none_values(data)
761
+ cleaned_data = add_streaming_defaults(cleaned_data)
762
+ variant = OpenAIResponseInputFunctionToolCallOutput.model_validate(cleaned_data)
763
+ instance.actual_instance = variant
764
+ return instance
765
+ except Exception:
766
+ pass
767
+ try:
768
+ cleaned_data = remove_none_values(data)
769
+ cleaned_data = add_streaming_defaults(cleaned_data)
770
+ variant = OpenAIResponseMCPApprovalRequest.model_validate(cleaned_data)
771
+ instance.actual_instance = variant
772
+ return instance
773
+ except Exception:
774
+ pass
775
+ try:
776
+ cleaned_data = remove_none_values(data)
777
+ cleaned_data = add_streaming_defaults(cleaned_data)
778
+ variant = OpenAIResponseMCPApprovalResponse.model_validate(cleaned_data)
779
+ instance.actual_instance = variant
780
+ return instance
781
+ except Exception:
782
+ pass
783
+ try:
784
+ cleaned_data = remove_none_values(data)
785
+ cleaned_data = add_streaming_defaults(cleaned_data)
786
+ variant = OpenAIResponseOutputMessageMCPCall.model_validate(cleaned_data)
787
+ instance.actual_instance = variant
788
+ return instance
789
+ except Exception:
790
+ pass
791
+ try:
792
+ cleaned_data = remove_none_values(data)
793
+ cleaned_data = add_streaming_defaults(cleaned_data)
794
+ variant = OpenAIResponseOutputMessageMCPListTools.model_validate(cleaned_data)
795
+ instance.actual_instance = variant
796
+ return instance
797
+ except Exception:
798
+ pass
799
+ try:
800
+ cleaned_data = remove_none_values(data)
801
+ cleaned_data = add_streaming_defaults(cleaned_data)
802
+ variant = OpenAIResponseOutputMessageReasoningItem.model_validate(cleaned_data)
803
+ instance.actual_instance = variant
804
+ return instance
805
+ except Exception:
806
+ pass
807
+ try:
808
+ cleaned_data = remove_none_values(data)
809
+ cleaned_data = add_streaming_defaults(cleaned_data)
810
+ variant = OpenAIResponseCompaction.model_validate(cleaned_data)
811
+ instance.actual_instance = variant
812
+ return instance
813
+ except Exception:
814
+ pass
815
+
816
+ # All variants failed
817
+ raise ValueError("No match found when deserializing the JSON string into ResponseRetrieveItemV1ConversationsConversationIdItemsItemIdGet with oneOf schemas: OpenAIResponseCompaction, OpenAIResponseInputFunctionToolCallOutput, OpenAIResponseMCPApprovalRequest, OpenAIResponseMCPApprovalResponse, OpenAIResponseMessageOutput, OpenAIResponseOutputMessageFileSearchToolCall, OpenAIResponseOutputMessageFunctionToolCall, OpenAIResponseOutputMessageMCPCall, OpenAIResponseOutputMessageMCPListTools, OpenAIResponseOutputMessageReasoningItem, OpenAIResponseOutputMessageWebSearchToolCallOutput. Details: " + ", ".join(error_messages))
818
+ else:
819
+ return instance
820
+
821
+ def to_dict(self) -> dict[str, Any] | OpenAIResponseCompaction | OpenAIResponseInputFunctionToolCallOutput | OpenAIResponseMCPApprovalRequest | OpenAIResponseMCPApprovalResponse | OpenAIResponseMessageOutput | OpenAIResponseOutputMessageFileSearchToolCall | OpenAIResponseOutputMessageFunctionToolCall | OpenAIResponseOutputMessageMCPCall | OpenAIResponseOutputMessageMCPListTools | OpenAIResponseOutputMessageReasoningItem | OpenAIResponseOutputMessageWebSearchToolCallOutput | None:
822
+ """Returns the dict representation of the actual instance"""
823
+ if self.actual_instance is None:
824
+ return None
825
+
826
+ # Handle lists specially - call to_dict() on each item if it has the method
827
+ if isinstance(self.actual_instance, list):
828
+ return [
829
+ item.to_dict() if hasattr(item, 'to_dict') and callable(item.to_dict)
830
+ else item
831
+ for item in self.actual_instance
832
+ ]
833
+ # Handle Pydantic models
834
+ elif hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict):
835
+ return self.actual_instance.to_dict()
836
+ # Handle other Pydantic models that don't have to_dict
837
+ elif hasattr(self.actual_instance, '__pydantic_serializer__'):
838
+ from pydantic_core import to_jsonable_python
839
+ return to_jsonable_python(
840
+ self.actual_instance,
841
+ by_alias=True,
842
+ exclude_none=True,
843
+ fallback=lambda x: x if isinstance(x, str | int | float | bool | type(None)) else str(x)
844
+ )
845
+ else:
846
+ # primitive type
847
+ return self.actual_instance
848
+
849
+