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,702 @@
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_mcp_approval_request import OpenAIResponseMCPApprovalRequest
28
+ from ogx_open_client.models.open_ai_response_message import OpenAIResponseMessage
29
+ from ogx_open_client.models.open_ai_response_output_message_file_search_tool_call import OpenAIResponseOutputMessageFileSearchToolCall
30
+ from ogx_open_client.models.open_ai_response_output_message_function_tool_call import OpenAIResponseOutputMessageFunctionToolCall
31
+ from ogx_open_client.models.open_ai_response_output_message_mcp_call import OpenAIResponseOutputMessageMCPCall
32
+ from ogx_open_client.models.open_ai_response_output_message_mcp_list_tools import OpenAIResponseOutputMessageMCPListTools
33
+ from ogx_open_client.models.open_ai_response_output_message_reasoning_item import OpenAIResponseOutputMessageReasoningItem
34
+ from ogx_open_client.models.open_ai_response_output_message_web_search_tool_call import OpenAIResponseOutputMessageWebSearchToolCall
35
+ from pydantic import StrictStr, Field, model_serializer
36
+ from typing import Any, ClassVar
37
+ from typing_extensions import Literal, Self
38
+ from ogx_open_client.lib._utils import pascal_to_snake_case
39
+
40
+ OPENAIRESPONSEMESSAGE8VARIANTS_ONE_OF_SCHEMAS = ["OpenAIResponseMCPApprovalRequest", "OpenAIResponseMessage", "OpenAIResponseOutputMessageFileSearchToolCall", "OpenAIResponseOutputMessageFunctionToolCall", "OpenAIResponseOutputMessageMCPCall", "OpenAIResponseOutputMessageMCPListTools", "OpenAIResponseOutputMessageReasoningItem", "OpenAIResponseOutputMessageWebSearchToolCall"]
41
+
42
+ class OpenAIResponseMessage8Variants(BaseModel):
43
+ """
44
+ OpenAIResponseMessage8Variants
45
+ """
46
+ # data type: OpenAIResponseMessage
47
+ oneof_schema_1_validator: Optional[OpenAIResponseMessage] = None
48
+ # data type: OpenAIResponseOutputMessageWebSearchToolCall
49
+ oneof_schema_2_validator: Optional[OpenAIResponseOutputMessageWebSearchToolCall] = None
50
+ # data type: OpenAIResponseOutputMessageFileSearchToolCall
51
+ oneof_schema_3_validator: Optional[OpenAIResponseOutputMessageFileSearchToolCall] = None
52
+ # data type: OpenAIResponseOutputMessageFunctionToolCall
53
+ oneof_schema_4_validator: Optional[OpenAIResponseOutputMessageFunctionToolCall] = None
54
+ # data type: OpenAIResponseOutputMessageMCPCall
55
+ oneof_schema_5_validator: Optional[OpenAIResponseOutputMessageMCPCall] = None
56
+ # data type: OpenAIResponseOutputMessageMCPListTools
57
+ oneof_schema_6_validator: Optional[OpenAIResponseOutputMessageMCPListTools] = None
58
+ # data type: OpenAIResponseMCPApprovalRequest
59
+ oneof_schema_7_validator: Optional[OpenAIResponseMCPApprovalRequest] = None
60
+ # data type: OpenAIResponseOutputMessageReasoningItem
61
+ oneof_schema_8_validator: Optional[OpenAIResponseOutputMessageReasoningItem] = None
62
+ actual_instance: OpenAIResponseMCPApprovalRequest | OpenAIResponseMessage | OpenAIResponseOutputMessageFileSearchToolCall | OpenAIResponseOutputMessageFunctionToolCall | OpenAIResponseOutputMessageMCPCall | OpenAIResponseOutputMessageMCPListTools | OpenAIResponseOutputMessageReasoningItem | OpenAIResponseOutputMessageWebSearchToolCall | None = None
63
+ one_of_schemas: ClassVar[set[str]] = { "OpenAIResponseMCPApprovalRequest", "OpenAIResponseMessage", "OpenAIResponseOutputMessageFileSearchToolCall", "OpenAIResponseOutputMessageFunctionToolCall", "OpenAIResponseOutputMessageMCPCall", "OpenAIResponseOutputMessageMCPListTools", "OpenAIResponseOutputMessageReasoningItem", "OpenAIResponseOutputMessageWebSearchToolCall" }
64
+
65
+ model_config = ConfigDict(
66
+ validate_assignment=True,
67
+ protected_namespaces=(),
68
+ )
69
+
70
+
71
+ discriminator_value_class_map: ClassVar[dict[str, str]] = {
72
+ 'file_search_call': 'OpenAIResponseOutputMessageFileSearchToolCall',
73
+ 'function_call': 'OpenAIResponseOutputMessageFunctionToolCall',
74
+ 'mcp_approval_request': 'OpenAIResponseMCPApprovalRequest',
75
+ 'mcp_call': 'OpenAIResponseOutputMessageMCPCall',
76
+ 'mcp_list_tools': 'OpenAIResponseOutputMessageMCPListTools',
77
+ 'message': 'OpenAIResponseMessage',
78
+ 'reasoning': 'OpenAIResponseOutputMessageReasoningItem',
79
+ 'web_search_call': 'OpenAIResponseOutputMessageWebSearchToolCall',
80
+ '': 'ERRORUNKNOWN'
81
+ }
82
+ discriminator_property_name: ClassVar[str] = 'type'
83
+
84
+ def __init__(self, *args, **kwargs) -> None:
85
+ if args:
86
+ if len(args) > 1:
87
+ raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`")
88
+ if kwargs:
89
+ raise ValueError("If a position argument is used, keyword arguments cannot be used.")
90
+
91
+ # Preprocess the value to handle lists of dicts
92
+ value = args[0]
93
+ if isinstance(value, list):
94
+ # Try to construct model instances from dicts in the list
95
+ # This ensures default values are applied
96
+ from pydantic import ValidationError as PydanticValidationError
97
+ validated = None
98
+ if validated is not None:
99
+ value = validated
100
+
101
+ super().__init__(actual_instance=value)
102
+ else:
103
+ super().__init__(**kwargs)
104
+
105
+ def __getattr__(self, name: str):
106
+ """Proxy attribute access to actual_instance for transparency."""
107
+ # Avoid infinite recursion for private attributes and model fields
108
+ if name.startswith('_') or name in ('actual_instance', 'one_of_schemas', 'model_config', 'model_fields'):
109
+ raise AttributeError(f"'{type(self).__name__}' object has no attribute '{name}'")
110
+
111
+ actual = super().__getattribute__('actual_instance')
112
+ if actual is None:
113
+ raise AttributeError(f"'{type(self).__name__}' object has no attribute '{name}' (actual_instance is None)")
114
+
115
+ return getattr(actual, name)
116
+
117
+ def __iter__(self):
118
+ """Iterate over items if actual_instance is iterable."""
119
+ if hasattr(self.actual_instance, '__iter__'):
120
+ return iter(self.actual_instance)
121
+ raise TypeError(f"'{type(self.actual_instance).__name__}' object is not iterable")
122
+
123
+ def __getitem__(self, index):
124
+ """Get item by index if actual_instance supports indexing."""
125
+ if hasattr(self.actual_instance, '__getitem__'):
126
+ return self.actual_instance[index]
127
+ raise TypeError(f"'{type(self.actual_instance).__name__}' object is not subscriptable")
128
+
129
+ def __len__(self):
130
+ """Get length if actual_instance supports len()."""
131
+ if hasattr(self.actual_instance, '__len__'):
132
+ return len(self.actual_instance)
133
+ raise TypeError(f"object of type '{type(self.actual_instance).__name__}' has no len()")
134
+
135
+ def __bool__(self):
136
+ """Handle truthiness checks - wrapper is truthy if actual_instance is not None."""
137
+ return self.actual_instance is not None
138
+
139
+ def __eq__(self, other):
140
+ """Handle equality comparisons transparently."""
141
+ if hasattr(self, 'actual_instance') and self.actual_instance is not None:
142
+ other_value = other.actual_instance if hasattr(other, 'actual_instance') else other
143
+ return self.actual_instance == other_value
144
+ return super().__eq__(other)
145
+
146
+ def __hash__(self):
147
+ """Handle hashing - use actual_instance's hash if available."""
148
+ if hasattr(self, 'actual_instance') and self.actual_instance is not None:
149
+ try:
150
+ return hash(self.actual_instance)
151
+ except TypeError:
152
+ return id(self)
153
+ return super().__hash__()
154
+
155
+ def __repr__(self):
156
+ """Return repr of actual_instance for debugging."""
157
+ if hasattr(self, 'actual_instance') and self.actual_instance is not None:
158
+ return repr(self.actual_instance)
159
+ return super().__repr__()
160
+
161
+ def to_json(self) -> str:
162
+ """Returns the JSON representation of the actual instance"""
163
+ if self.actual_instance is None:
164
+ return "null"
165
+
166
+ if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json):
167
+ return self.actual_instance.to_json()
168
+ else:
169
+ return json.dumps(self.actual_instance)
170
+
171
+ def to_str(self) -> str:
172
+ """Returns the string representation of the actual instance"""
173
+ return pprint.pformat(self.model_dump())
174
+
175
+ @model_serializer(mode='wrap')
176
+ def serialize_model(self, serializer):
177
+ """Custom serializer that delegates to actual_instance for proper JSON serialization."""
178
+ # If actual_instance is None, serialize the wrapper normally
179
+ if not hasattr(self, 'actual_instance') or self.actual_instance is None:
180
+ return serializer(self)
181
+
182
+ # If actual_instance is a Pydantic model, serialize it using the default serializer
183
+ # This ensures nested models are also serialized correctly
184
+ if hasattr(self.actual_instance, '__pydantic_serializer__'):
185
+ # Use Pydantic's serializer infrastructure to ensure proper serialization
186
+ from pydantic_core import to_jsonable_python
187
+ return to_jsonable_python(
188
+ self.actual_instance,
189
+ by_alias=True,
190
+ exclude_none=True,
191
+ fallback=lambda x: x if isinstance(x, str | int | float | bool | type(None)) else str(x)
192
+ )
193
+ # If it's a list of Pydantic models, serialize each one
194
+ elif isinstance(self.actual_instance, list):
195
+ from pydantic_core import to_jsonable_python
196
+ return [
197
+ to_jsonable_python(
198
+ item,
199
+ by_alias=True,
200
+ exclude_none=True,
201
+ fallback=lambda x: x if isinstance(x, str | int | float | bool | type(None)) else str(x)
202
+ )
203
+ if hasattr(item, '__pydantic_serializer__')
204
+ else item
205
+ for item in self.actual_instance
206
+ ]
207
+ # Otherwise return as-is (primitives, dicts, etc.)
208
+ else:
209
+ return self.actual_instance
210
+
211
+ @field_validator('actual_instance')
212
+ def actual_instance_must_validate_oneof(cls, v):
213
+ instance = OpenAIResponseMessage8Variants.model_construct()
214
+ error_messages = []
215
+ match = 0
216
+ # validate data type: OpenAIResponseMessage
217
+ # Check if we should skip this variant based on discriminator
218
+ _should_skip_discriminator = False
219
+ if isinstance(v, dict) and hasattr(cls, 'discriminator_value_class_map'):
220
+ _disc_value = v.get(cls.discriminator_property_name)
221
+ if _disc_value is None and cls.discriminator_property_name != 'type':
222
+ _disc_value = v.get('type')
223
+ if _disc_value and _disc_value in cls.discriminator_value_class_map:
224
+ _expected_class = cls.discriminator_value_class_map[_disc_value]
225
+ if _expected_class != 'OpenAIResponseMessage':
226
+ _should_skip_discriminator = True
227
+
228
+ if _should_skip_discriminator:
229
+ error_messages.append(f"Skipping OpenAIResponseMessage due to discriminator mismatch")
230
+ elif not isinstance(v, OpenAIResponseMessage):
231
+ # Try to construct from dict if it's a dict - this applies default values
232
+ if isinstance(v, dict):
233
+ try:
234
+ constructed = OpenAIResponseMessage.model_validate(v)
235
+ match += 1
236
+ # Return the constructed instance to use it instead of raw dict
237
+ return constructed
238
+ except (ValidationError, ValueError) as e:
239
+ error_messages.append(f"Error! Cannot construct `OpenAIResponseMessage` from dict: {str(e)}")
240
+ else:
241
+ error_messages.append(f"Error! Input type `{type(v)}` is not `OpenAIResponseMessage`")
242
+ else:
243
+ match += 1
244
+ # validate data type: OpenAIResponseOutputMessageWebSearchToolCall
245
+ # Check if we should skip this variant based on discriminator
246
+ _should_skip_discriminator = False
247
+ if isinstance(v, dict) and hasattr(cls, 'discriminator_value_class_map'):
248
+ _disc_value = v.get(cls.discriminator_property_name)
249
+ if _disc_value is None and cls.discriminator_property_name != 'type':
250
+ _disc_value = v.get('type')
251
+ if _disc_value and _disc_value in cls.discriminator_value_class_map:
252
+ _expected_class = cls.discriminator_value_class_map[_disc_value]
253
+ if _expected_class != 'OpenAIResponseOutputMessageWebSearchToolCall':
254
+ _should_skip_discriminator = True
255
+
256
+ if _should_skip_discriminator:
257
+ error_messages.append(f"Skipping OpenAIResponseOutputMessageWebSearchToolCall due to discriminator mismatch")
258
+ elif not isinstance(v, OpenAIResponseOutputMessageWebSearchToolCall):
259
+ # Try to construct from dict if it's a dict - this applies default values
260
+ if isinstance(v, dict):
261
+ try:
262
+ constructed = OpenAIResponseOutputMessageWebSearchToolCall.model_validate(v)
263
+ match += 1
264
+ # Return the constructed instance to use it instead of raw dict
265
+ return constructed
266
+ except (ValidationError, ValueError) as e:
267
+ error_messages.append(f"Error! Cannot construct `OpenAIResponseOutputMessageWebSearchToolCall` from dict: {str(e)}")
268
+ else:
269
+ error_messages.append(f"Error! Input type `{type(v)}` is not `OpenAIResponseOutputMessageWebSearchToolCall`")
270
+ else:
271
+ match += 1
272
+ # validate data type: OpenAIResponseOutputMessageFileSearchToolCall
273
+ # Check if we should skip this variant based on discriminator
274
+ _should_skip_discriminator = False
275
+ if isinstance(v, dict) and hasattr(cls, 'discriminator_value_class_map'):
276
+ _disc_value = v.get(cls.discriminator_property_name)
277
+ if _disc_value is None and cls.discriminator_property_name != 'type':
278
+ _disc_value = v.get('type')
279
+ if _disc_value and _disc_value in cls.discriminator_value_class_map:
280
+ _expected_class = cls.discriminator_value_class_map[_disc_value]
281
+ if _expected_class != 'OpenAIResponseOutputMessageFileSearchToolCall':
282
+ _should_skip_discriminator = True
283
+
284
+ if _should_skip_discriminator:
285
+ error_messages.append(f"Skipping OpenAIResponseOutputMessageFileSearchToolCall due to discriminator mismatch")
286
+ elif not isinstance(v, OpenAIResponseOutputMessageFileSearchToolCall):
287
+ # Try to construct from dict if it's a dict - this applies default values
288
+ if isinstance(v, dict):
289
+ try:
290
+ constructed = OpenAIResponseOutputMessageFileSearchToolCall.model_validate(v)
291
+ match += 1
292
+ # Return the constructed instance to use it instead of raw dict
293
+ return constructed
294
+ except (ValidationError, ValueError) as e:
295
+ error_messages.append(f"Error! Cannot construct `OpenAIResponseOutputMessageFileSearchToolCall` from dict: {str(e)}")
296
+ else:
297
+ error_messages.append(f"Error! Input type `{type(v)}` is not `OpenAIResponseOutputMessageFileSearchToolCall`")
298
+ else:
299
+ match += 1
300
+ # validate data type: OpenAIResponseOutputMessageFunctionToolCall
301
+ # Check if we should skip this variant based on discriminator
302
+ _should_skip_discriminator = False
303
+ if isinstance(v, dict) and hasattr(cls, 'discriminator_value_class_map'):
304
+ _disc_value = v.get(cls.discriminator_property_name)
305
+ if _disc_value is None and cls.discriminator_property_name != 'type':
306
+ _disc_value = v.get('type')
307
+ if _disc_value and _disc_value in cls.discriminator_value_class_map:
308
+ _expected_class = cls.discriminator_value_class_map[_disc_value]
309
+ if _expected_class != 'OpenAIResponseOutputMessageFunctionToolCall':
310
+ _should_skip_discriminator = True
311
+
312
+ if _should_skip_discriminator:
313
+ error_messages.append(f"Skipping OpenAIResponseOutputMessageFunctionToolCall due to discriminator mismatch")
314
+ elif not isinstance(v, OpenAIResponseOutputMessageFunctionToolCall):
315
+ # Try to construct from dict if it's a dict - this applies default values
316
+ if isinstance(v, dict):
317
+ try:
318
+ constructed = OpenAIResponseOutputMessageFunctionToolCall.model_validate(v)
319
+ match += 1
320
+ # Return the constructed instance to use it instead of raw dict
321
+ return constructed
322
+ except (ValidationError, ValueError) as e:
323
+ error_messages.append(f"Error! Cannot construct `OpenAIResponseOutputMessageFunctionToolCall` from dict: {str(e)}")
324
+ else:
325
+ error_messages.append(f"Error! Input type `{type(v)}` is not `OpenAIResponseOutputMessageFunctionToolCall`")
326
+ else:
327
+ match += 1
328
+ # validate data type: OpenAIResponseOutputMessageMCPCall
329
+ # Check if we should skip this variant based on discriminator
330
+ _should_skip_discriminator = False
331
+ if isinstance(v, dict) and hasattr(cls, 'discriminator_value_class_map'):
332
+ _disc_value = v.get(cls.discriminator_property_name)
333
+ if _disc_value is None and cls.discriminator_property_name != 'type':
334
+ _disc_value = v.get('type')
335
+ if _disc_value and _disc_value in cls.discriminator_value_class_map:
336
+ _expected_class = cls.discriminator_value_class_map[_disc_value]
337
+ if _expected_class != 'OpenAIResponseOutputMessageMCPCall':
338
+ _should_skip_discriminator = True
339
+
340
+ if _should_skip_discriminator:
341
+ error_messages.append(f"Skipping OpenAIResponseOutputMessageMCPCall due to discriminator mismatch")
342
+ elif not isinstance(v, OpenAIResponseOutputMessageMCPCall):
343
+ # Try to construct from dict if it's a dict - this applies default values
344
+ if isinstance(v, dict):
345
+ try:
346
+ constructed = OpenAIResponseOutputMessageMCPCall.model_validate(v)
347
+ match += 1
348
+ # Return the constructed instance to use it instead of raw dict
349
+ return constructed
350
+ except (ValidationError, ValueError) as e:
351
+ error_messages.append(f"Error! Cannot construct `OpenAIResponseOutputMessageMCPCall` from dict: {str(e)}")
352
+ else:
353
+ error_messages.append(f"Error! Input type `{type(v)}` is not `OpenAIResponseOutputMessageMCPCall`")
354
+ else:
355
+ match += 1
356
+ # validate data type: OpenAIResponseOutputMessageMCPListTools
357
+ # Check if we should skip this variant based on discriminator
358
+ _should_skip_discriminator = False
359
+ if isinstance(v, dict) and hasattr(cls, 'discriminator_value_class_map'):
360
+ _disc_value = v.get(cls.discriminator_property_name)
361
+ if _disc_value is None and cls.discriminator_property_name != 'type':
362
+ _disc_value = v.get('type')
363
+ if _disc_value and _disc_value in cls.discriminator_value_class_map:
364
+ _expected_class = cls.discriminator_value_class_map[_disc_value]
365
+ if _expected_class != 'OpenAIResponseOutputMessageMCPListTools':
366
+ _should_skip_discriminator = True
367
+
368
+ if _should_skip_discriminator:
369
+ error_messages.append(f"Skipping OpenAIResponseOutputMessageMCPListTools due to discriminator mismatch")
370
+ elif not isinstance(v, OpenAIResponseOutputMessageMCPListTools):
371
+ # Try to construct from dict if it's a dict - this applies default values
372
+ if isinstance(v, dict):
373
+ try:
374
+ constructed = OpenAIResponseOutputMessageMCPListTools.model_validate(v)
375
+ match += 1
376
+ # Return the constructed instance to use it instead of raw dict
377
+ return constructed
378
+ except (ValidationError, ValueError) as e:
379
+ error_messages.append(f"Error! Cannot construct `OpenAIResponseOutputMessageMCPListTools` from dict: {str(e)}")
380
+ else:
381
+ error_messages.append(f"Error! Input type `{type(v)}` is not `OpenAIResponseOutputMessageMCPListTools`")
382
+ else:
383
+ match += 1
384
+ # validate data type: OpenAIResponseMCPApprovalRequest
385
+ # Check if we should skip this variant based on discriminator
386
+ _should_skip_discriminator = False
387
+ if isinstance(v, dict) and hasattr(cls, 'discriminator_value_class_map'):
388
+ _disc_value = v.get(cls.discriminator_property_name)
389
+ if _disc_value is None and cls.discriminator_property_name != 'type':
390
+ _disc_value = v.get('type')
391
+ if _disc_value and _disc_value in cls.discriminator_value_class_map:
392
+ _expected_class = cls.discriminator_value_class_map[_disc_value]
393
+ if _expected_class != 'OpenAIResponseMCPApprovalRequest':
394
+ _should_skip_discriminator = True
395
+
396
+ if _should_skip_discriminator:
397
+ error_messages.append(f"Skipping OpenAIResponseMCPApprovalRequest due to discriminator mismatch")
398
+ elif not isinstance(v, OpenAIResponseMCPApprovalRequest):
399
+ # Try to construct from dict if it's a dict - this applies default values
400
+ if isinstance(v, dict):
401
+ try:
402
+ constructed = OpenAIResponseMCPApprovalRequest.model_validate(v)
403
+ match += 1
404
+ # Return the constructed instance to use it instead of raw dict
405
+ return constructed
406
+ except (ValidationError, ValueError) as e:
407
+ error_messages.append(f"Error! Cannot construct `OpenAIResponseMCPApprovalRequest` from dict: {str(e)}")
408
+ else:
409
+ error_messages.append(f"Error! Input type `{type(v)}` is not `OpenAIResponseMCPApprovalRequest`")
410
+ else:
411
+ match += 1
412
+ # validate data type: OpenAIResponseOutputMessageReasoningItem
413
+ # Check if we should skip this variant based on discriminator
414
+ _should_skip_discriminator = False
415
+ if isinstance(v, dict) and hasattr(cls, 'discriminator_value_class_map'):
416
+ _disc_value = v.get(cls.discriminator_property_name)
417
+ if _disc_value is None and cls.discriminator_property_name != 'type':
418
+ _disc_value = v.get('type')
419
+ if _disc_value and _disc_value in cls.discriminator_value_class_map:
420
+ _expected_class = cls.discriminator_value_class_map[_disc_value]
421
+ if _expected_class != 'OpenAIResponseOutputMessageReasoningItem':
422
+ _should_skip_discriminator = True
423
+
424
+ if _should_skip_discriminator:
425
+ error_messages.append(f"Skipping OpenAIResponseOutputMessageReasoningItem due to discriminator mismatch")
426
+ elif not isinstance(v, OpenAIResponseOutputMessageReasoningItem):
427
+ # Try to construct from dict if it's a dict - this applies default values
428
+ if isinstance(v, dict):
429
+ try:
430
+ constructed = OpenAIResponseOutputMessageReasoningItem.model_validate(v)
431
+ match += 1
432
+ # Return the constructed instance to use it instead of raw dict
433
+ return constructed
434
+ except (ValidationError, ValueError) as e:
435
+ error_messages.append(f"Error! Cannot construct `OpenAIResponseOutputMessageReasoningItem` from dict: {str(e)}")
436
+ else:
437
+ error_messages.append(f"Error! Input type `{type(v)}` is not `OpenAIResponseOutputMessageReasoningItem`")
438
+ else:
439
+ match += 1
440
+ if match > 1:
441
+ # Special case: empty lists can match multiple List[...] schemas in oneOf
442
+ # This is common in streaming where content starts empty
443
+ # In this case, just accept the first match (they're functionally equivalent for empty lists)
444
+ if isinstance(v, list) and len(v) == 0:
445
+ return v
446
+ # more than 1 match
447
+ raise ValueError("Multiple matches found when setting `actual_instance` in OpenAIResponseMessage8Variants with oneOf schemas: OpenAIResponseMCPApprovalRequest, OpenAIResponseMessage, OpenAIResponseOutputMessageFileSearchToolCall, OpenAIResponseOutputMessageFunctionToolCall, OpenAIResponseOutputMessageMCPCall, OpenAIResponseOutputMessageMCPListTools, OpenAIResponseOutputMessageReasoningItem, OpenAIResponseOutputMessageWebSearchToolCall. Details: " + ", ".join(error_messages))
448
+ elif match == 0:
449
+ # no match
450
+ raise ValueError("No match found when setting `actual_instance` in OpenAIResponseMessage8Variants with oneOf schemas: OpenAIResponseMCPApprovalRequest, OpenAIResponseMessage, OpenAIResponseOutputMessageFileSearchToolCall, OpenAIResponseOutputMessageFunctionToolCall, OpenAIResponseOutputMessageMCPCall, OpenAIResponseOutputMessageMCPListTools, OpenAIResponseOutputMessageReasoningItem, OpenAIResponseOutputMessageWebSearchToolCall. Details: " + ", ".join(error_messages))
451
+ else:
452
+ return v
453
+
454
+ @classmethod
455
+ def from_dict(cls, obj: str | dict[str, Any]) -> Self:
456
+ # Handle primitives and lists directly - don't double-serialize them
457
+ if isinstance(obj, (str, int, float, bool, type(None), list)):
458
+ # For non-dict content, bypass from_json and use actual_instance_must_validate_oneof
459
+ instance = cls.model_construct()
460
+ instance.actual_instance = cls.actual_instance_must_validate_oneof(obj)
461
+ return instance
462
+ return cls.from_json(json.dumps(obj))
463
+
464
+ @classmethod
465
+ def from_json(cls, json_str: str) -> Self:
466
+ """Returns the object represented by the json string"""
467
+ instance = cls.model_construct()
468
+ error_messages = []
469
+ match = 0
470
+
471
+ # use oneOf discriminator to lookup the data type
472
+ _data_type = json.loads(json_str).get("type")
473
+ if not _data_type:
474
+ raise ValueError("Failed to lookup data type from the field `type` in the input.")
475
+
476
+ # check if data type is `OpenAIResponseOutputMessageFileSearchToolCall`
477
+ if _data_type == "file_search_call":
478
+ instance.actual_instance = OpenAIResponseOutputMessageFileSearchToolCall.from_json(json_str)
479
+ return instance
480
+
481
+ # check if data type is `OpenAIResponseOutputMessageFunctionToolCall`
482
+ if _data_type == "function_call":
483
+ instance.actual_instance = OpenAIResponseOutputMessageFunctionToolCall.from_json(json_str)
484
+ return instance
485
+
486
+ # check if data type is `OpenAIResponseMCPApprovalRequest`
487
+ if _data_type == "mcp_approval_request":
488
+ instance.actual_instance = OpenAIResponseMCPApprovalRequest.from_json(json_str)
489
+ return instance
490
+
491
+ # check if data type is `OpenAIResponseOutputMessageMCPCall`
492
+ if _data_type == "mcp_call":
493
+ instance.actual_instance = OpenAIResponseOutputMessageMCPCall.from_json(json_str)
494
+ return instance
495
+
496
+ # check if data type is `OpenAIResponseOutputMessageMCPListTools`
497
+ if _data_type == "mcp_list_tools":
498
+ instance.actual_instance = OpenAIResponseOutputMessageMCPListTools.from_json(json_str)
499
+ return instance
500
+
501
+ # check if data type is `OpenAIResponseMessage`
502
+ if _data_type == "message":
503
+ instance.actual_instance = OpenAIResponseMessage.from_json(json_str)
504
+ return instance
505
+
506
+ # check if data type is `OpenAIResponseOutputMessageReasoningItem`
507
+ if _data_type == "reasoning":
508
+ instance.actual_instance = OpenAIResponseOutputMessageReasoningItem.from_json(json_str)
509
+ return instance
510
+
511
+ # check if data type is `OpenAIResponseOutputMessageWebSearchToolCall`
512
+ if _data_type == "web_search_call":
513
+ instance.actual_instance = OpenAIResponseOutputMessageWebSearchToolCall.from_json(json_str)
514
+ return instance
515
+
516
+ # check if data type is `ERRORUNKNOWN`
517
+ if _data_type == "":
518
+ instance.actual_instance = ERRORUNKNOWN.from_json(json_str)
519
+ return instance
520
+
521
+ # deserialize data into OpenAIResponseMessage
522
+ try:
523
+ instance.actual_instance = OpenAIResponseMessage.from_json(json_str)
524
+ match += 1
525
+ except (ValidationError, ValueError) as e:
526
+ error_messages.append(str(e))
527
+ # deserialize data into OpenAIResponseOutputMessageWebSearchToolCall
528
+ try:
529
+ instance.actual_instance = OpenAIResponseOutputMessageWebSearchToolCall.from_json(json_str)
530
+ match += 1
531
+ except (ValidationError, ValueError) as e:
532
+ error_messages.append(str(e))
533
+ # deserialize data into OpenAIResponseOutputMessageFileSearchToolCall
534
+ try:
535
+ instance.actual_instance = OpenAIResponseOutputMessageFileSearchToolCall.from_json(json_str)
536
+ match += 1
537
+ except (ValidationError, ValueError) as e:
538
+ error_messages.append(str(e))
539
+ # deserialize data into OpenAIResponseOutputMessageFunctionToolCall
540
+ try:
541
+ instance.actual_instance = OpenAIResponseOutputMessageFunctionToolCall.from_json(json_str)
542
+ match += 1
543
+ except (ValidationError, ValueError) as e:
544
+ error_messages.append(str(e))
545
+ # deserialize data into OpenAIResponseOutputMessageMCPCall
546
+ try:
547
+ instance.actual_instance = OpenAIResponseOutputMessageMCPCall.from_json(json_str)
548
+ match += 1
549
+ except (ValidationError, ValueError) as e:
550
+ error_messages.append(str(e))
551
+ # deserialize data into OpenAIResponseOutputMessageMCPListTools
552
+ try:
553
+ instance.actual_instance = OpenAIResponseOutputMessageMCPListTools.from_json(json_str)
554
+ match += 1
555
+ except (ValidationError, ValueError) as e:
556
+ error_messages.append(str(e))
557
+ # deserialize data into OpenAIResponseMCPApprovalRequest
558
+ try:
559
+ instance.actual_instance = OpenAIResponseMCPApprovalRequest.from_json(json_str)
560
+ match += 1
561
+ except (ValidationError, ValueError) as e:
562
+ error_messages.append(str(e))
563
+ # deserialize data into OpenAIResponseOutputMessageReasoningItem
564
+ try:
565
+ instance.actual_instance = OpenAIResponseOutputMessageReasoningItem.from_json(json_str)
566
+ match += 1
567
+ except (ValidationError, ValueError) as e:
568
+ error_messages.append(str(e))
569
+
570
+ if match > 1:
571
+ # Special case: empty lists can match multiple List[...] schemas in oneOf
572
+ # This is common in streaming where content starts empty
573
+ # In this case, just accept the first match (they're functionally equivalent for empty lists)
574
+ data = json.loads(json_str)
575
+ if isinstance(data, list) and len(data) == 0:
576
+ return instance # First match already set in instance
577
+ # more than 1 match
578
+ raise ValueError("Multiple matches found when deserializing the JSON string into OpenAIResponseMessage8Variants with oneOf schemas: OpenAIResponseMCPApprovalRequest, OpenAIResponseMessage, OpenAIResponseOutputMessageFileSearchToolCall, OpenAIResponseOutputMessageFunctionToolCall, OpenAIResponseOutputMessageMCPCall, OpenAIResponseOutputMessageMCPListTools, OpenAIResponseOutputMessageReasoningItem, OpenAIResponseOutputMessageWebSearchToolCall. Details: " + ", ".join(error_messages))
579
+ elif match == 0:
580
+ # no match - try lenient fallback for streaming chunks
581
+ data = json.loads(json_str)
582
+
583
+ # Helper to remove None values recursively for streaming chunks
584
+ def remove_none_values(obj):
585
+ if isinstance(obj, dict):
586
+ return {k: remove_none_values(v) for k, v in obj.items() if v is not None}
587
+ elif isinstance(obj, list):
588
+ return [remove_none_values(item) for item in obj if item is not None]
589
+ return obj
590
+
591
+ # Helper to add default values for commonly missing required fields in streaming
592
+ def add_streaming_defaults(obj):
593
+ if isinstance(obj, dict):
594
+ result = dict(obj)
595
+ # Add empty string for finish_reason if missing (common in streaming chunks)
596
+ if 'choices' in result and isinstance(result['choices'], list):
597
+ for choice in result['choices']:
598
+ if isinstance(choice, dict) and 'finish_reason' not in choice:
599
+ choice['finish_reason'] = ''
600
+ return result
601
+ return obj
602
+
603
+ # Try each variant with None values removed and defaults added
604
+ try:
605
+ cleaned_data = remove_none_values(data)
606
+ cleaned_data = add_streaming_defaults(cleaned_data)
607
+ variant = OpenAIResponseMessage.model_validate(cleaned_data)
608
+ instance.actual_instance = variant
609
+ return instance
610
+ except Exception:
611
+ pass
612
+ try:
613
+ cleaned_data = remove_none_values(data)
614
+ cleaned_data = add_streaming_defaults(cleaned_data)
615
+ variant = OpenAIResponseOutputMessageWebSearchToolCall.model_validate(cleaned_data)
616
+ instance.actual_instance = variant
617
+ return instance
618
+ except Exception:
619
+ pass
620
+ try:
621
+ cleaned_data = remove_none_values(data)
622
+ cleaned_data = add_streaming_defaults(cleaned_data)
623
+ variant = OpenAIResponseOutputMessageFileSearchToolCall.model_validate(cleaned_data)
624
+ instance.actual_instance = variant
625
+ return instance
626
+ except Exception:
627
+ pass
628
+ try:
629
+ cleaned_data = remove_none_values(data)
630
+ cleaned_data = add_streaming_defaults(cleaned_data)
631
+ variant = OpenAIResponseOutputMessageFunctionToolCall.model_validate(cleaned_data)
632
+ instance.actual_instance = variant
633
+ return instance
634
+ except Exception:
635
+ pass
636
+ try:
637
+ cleaned_data = remove_none_values(data)
638
+ cleaned_data = add_streaming_defaults(cleaned_data)
639
+ variant = OpenAIResponseOutputMessageMCPCall.model_validate(cleaned_data)
640
+ instance.actual_instance = variant
641
+ return instance
642
+ except Exception:
643
+ pass
644
+ try:
645
+ cleaned_data = remove_none_values(data)
646
+ cleaned_data = add_streaming_defaults(cleaned_data)
647
+ variant = OpenAIResponseOutputMessageMCPListTools.model_validate(cleaned_data)
648
+ instance.actual_instance = variant
649
+ return instance
650
+ except Exception:
651
+ pass
652
+ try:
653
+ cleaned_data = remove_none_values(data)
654
+ cleaned_data = add_streaming_defaults(cleaned_data)
655
+ variant = OpenAIResponseMCPApprovalRequest.model_validate(cleaned_data)
656
+ instance.actual_instance = variant
657
+ return instance
658
+ except Exception:
659
+ pass
660
+ try:
661
+ cleaned_data = remove_none_values(data)
662
+ cleaned_data = add_streaming_defaults(cleaned_data)
663
+ variant = OpenAIResponseOutputMessageReasoningItem.model_validate(cleaned_data)
664
+ instance.actual_instance = variant
665
+ return instance
666
+ except Exception:
667
+ pass
668
+
669
+ # All variants failed
670
+ raise ValueError("No match found when deserializing the JSON string into OpenAIResponseMessage8Variants with oneOf schemas: OpenAIResponseMCPApprovalRequest, OpenAIResponseMessage, OpenAIResponseOutputMessageFileSearchToolCall, OpenAIResponseOutputMessageFunctionToolCall, OpenAIResponseOutputMessageMCPCall, OpenAIResponseOutputMessageMCPListTools, OpenAIResponseOutputMessageReasoningItem, OpenAIResponseOutputMessageWebSearchToolCall. Details: " + ", ".join(error_messages))
671
+ else:
672
+ return instance
673
+
674
+ def to_dict(self) -> dict[str, Any] | OpenAIResponseMCPApprovalRequest | OpenAIResponseMessage | OpenAIResponseOutputMessageFileSearchToolCall | OpenAIResponseOutputMessageFunctionToolCall | OpenAIResponseOutputMessageMCPCall | OpenAIResponseOutputMessageMCPListTools | OpenAIResponseOutputMessageReasoningItem | OpenAIResponseOutputMessageWebSearchToolCall | None:
675
+ """Returns the dict representation of the actual instance"""
676
+ if self.actual_instance is None:
677
+ return None
678
+
679
+ # Handle lists specially - call to_dict() on each item if it has the method
680
+ if isinstance(self.actual_instance, list):
681
+ return [
682
+ item.to_dict() if hasattr(item, 'to_dict') and callable(item.to_dict)
683
+ else item
684
+ for item in self.actual_instance
685
+ ]
686
+ # Handle Pydantic models
687
+ elif hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict):
688
+ return self.actual_instance.to_dict()
689
+ # Handle other Pydantic models that don't have to_dict
690
+ elif hasattr(self.actual_instance, '__pydantic_serializer__'):
691
+ from pydantic_core import to_jsonable_python
692
+ return to_jsonable_python(
693
+ self.actual_instance,
694
+ by_alias=True,
695
+ exclude_none=True,
696
+ fallback=lambda x: x if isinstance(x, str | int | float | bool | type(None)) else str(x)
697
+ )
698
+ else:
699
+ # primitive type
700
+ return self.actual_instance
701
+
702
+