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