arkruntime 0.1.0__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 (714) hide show
  1. arkruntime/__init__.py +11 -0
  2. arkruntime/_base_client.py +1373 -0
  3. arkruntime/_client.py +585 -0
  4. arkruntime/_compat.py +265 -0
  5. arkruntime/_constants.py +55 -0
  6. arkruntime/_exceptions.py +188 -0
  7. arkruntime/_files.py +122 -0
  8. arkruntime/_legacy_response.py +438 -0
  9. arkruntime/_managed_agents_serialize.py +55 -0
  10. arkruntime/_models.py +733 -0
  11. arkruntime/_qs.py +164 -0
  12. arkruntime/_request_options.py +118 -0
  13. arkruntime/_resource.py +41 -0
  14. arkruntime/_response.py +599 -0
  15. arkruntime/_streaming.py +460 -0
  16. arkruntime/_types.py +207 -0
  17. arkruntime/_utils/__init__.py +144 -0
  18. arkruntime/_utils/_key_agreement.py +217 -0
  19. arkruntime/_utils/_logs.py +28 -0
  20. arkruntime/_utils/_model_breaker.py +87 -0
  21. arkruntime/_utils/_streams.py +17 -0
  22. arkruntime/_utils/_transform.py +463 -0
  23. arkruntime/_utils/_typing.py +157 -0
  24. arkruntime/_utils/_utils.py +473 -0
  25. arkruntime/common/__init__.py +6 -0
  26. arkruntime/common/_parsing/__init__.py +31 -0
  27. arkruntime/common/_parsing/_completions.py +272 -0
  28. arkruntime/common/_parsing/_responses.py +174 -0
  29. arkruntime/common/_pydantic.py +166 -0
  30. arkruntime/common/_tools.py +85 -0
  31. arkruntime/common/streaming/__init__.py +4 -0
  32. arkruntime/common/streaming/_deltas.py +68 -0
  33. arkruntime/common/streaming/chat/__init__.py +49 -0
  34. arkruntime/common/streaming/chat/_completions.py +732 -0
  35. arkruntime/common/streaming/chat/_events.py +96 -0
  36. arkruntime/common/streaming/chat/_types.py +28 -0
  37. arkruntime/pagination.py +128 -0
  38. arkruntime/resources/__init__.py +75 -0
  39. arkruntime/resources/agents/__init__.py +3 -0
  40. arkruntime/resources/agents/agents.py +372 -0
  41. arkruntime/resources/batch/__init__.py +6 -0
  42. arkruntime/resources/batch/_utils.py +156 -0
  43. arkruntime/resources/batch/batch.py +40 -0
  44. arkruntime/resources/batch/chat/__init__.py +6 -0
  45. arkruntime/resources/batch/chat/chat.py +22 -0
  46. arkruntime/resources/batch/chat/completions.py +217 -0
  47. arkruntime/resources/batch/embeddings.py +150 -0
  48. arkruntime/resources/batch/multimodal_embeddings.py +160 -0
  49. arkruntime/resources/beta/__init__.py +4 -0
  50. arkruntime/resources/beta/beta.py +73 -0
  51. arkruntime/resources/beta/chat/__init__.py +13 -0
  52. arkruntime/resources/beta/chat/chat.py +23 -0
  53. arkruntime/resources/beta/chat/completions.py +356 -0
  54. arkruntime/resources/chat/__init__.py +7 -0
  55. arkruntime/resources/chat/chat.py +23 -0
  56. arkruntime/resources/chat/completions.py +242 -0
  57. arkruntime/resources/content_generation/__init__.py +7 -0
  58. arkruntime/resources/content_generation/content_generation.py +21 -0
  59. arkruntime/resources/content_generation/tasks.py +331 -0
  60. arkruntime/resources/embeddings/__init__.py +6 -0
  61. arkruntime/resources/embeddings/embeddings.py +140 -0
  62. arkruntime/resources/encryption.py +187 -0
  63. arkruntime/resources/environments/__init__.py +3 -0
  64. arkruntime/resources/environments/environments.py +216 -0
  65. arkruntime/resources/files/__init__.py +6 -0
  66. arkruntime/resources/files/files.py +401 -0
  67. arkruntime/resources/images/__init__.py +10 -0
  68. arkruntime/resources/images/images.py +152 -0
  69. arkruntime/resources/memory_stores/__init__.py +7 -0
  70. arkruntime/resources/memory_stores/memories.py +262 -0
  71. arkruntime/resources/memory_stores/memory_stores.py +223 -0
  72. arkruntime/resources/multimodal_embeddings/__init__.py +9 -0
  73. arkruntime/resources/multimodal_embeddings/multimodal_embeddings.py +150 -0
  74. arkruntime/resources/responses/__init__.py +8 -0
  75. arkruntime/resources/responses/input_items.py +241 -0
  76. arkruntime/resources/responses/responses.py +467 -0
  77. arkruntime/resources/sessions/__init__.py +24 -0
  78. arkruntime/resources/sessions/session_events.py +336 -0
  79. arkruntime/resources/sessions/session_resources.py +89 -0
  80. arkruntime/resources/sessions/session_threads.py +275 -0
  81. arkruntime/resources/sessions/sessions.py +331 -0
  82. arkruntime/resources/skills/__init__.py +3 -0
  83. arkruntime/resources/skills/skills.py +112 -0
  84. arkruntime/resources/tokenization/__init__.py +9 -0
  85. arkruntime/resources/tokenization/tokenization.py +131 -0
  86. arkruntime/resources/vaults/__init__.py +4 -0
  87. arkruntime/resources/vaults/credentials.py +253 -0
  88. arkruntime/resources/vaults/vaults.py +197 -0
  89. arkruntime/types/__init__.py +7 -0
  90. arkruntime/types/agent/__init__.py +56 -0
  91. arkruntime/types/agent/_init_extras_shim.py +12 -0
  92. arkruntime/types/agent/agent.py +86 -0
  93. arkruntime/types/agent/agent_ref.py +32 -0
  94. arkruntime/types/agent/agent_ref_type.py +18 -0
  95. arkruntime/types/agent/agent_skill_ref.py +32 -0
  96. arkruntime/types/agent/create_agent_request.py +65 -0
  97. arkruntime/types/agent/delete_agent_response.py +20 -0
  98. arkruntime/types/agent/list_agents_response.py +32 -0
  99. arkruntime/types/agent/mcp_server.py +30 -0
  100. arkruntime/types/agent/mcp_server_type.py +16 -0
  101. arkruntime/types/agent/model_config.py +28 -0
  102. arkruntime/types/agent/model_speed.py +18 -0
  103. arkruntime/types/agent/multiagent_config.py +29 -0
  104. arkruntime/types/agent/multiagent_type.py +16 -0
  105. arkruntime/types/agent/permission_policy.py +22 -0
  106. arkruntime/types/agent/permission_policy_type.py +18 -0
  107. arkruntime/types/agent/skill_ref_type.py +19 -0
  108. arkruntime/types/agent/tag.py +26 -0
  109. arkruntime/types/agent/tool_config.py +32 -0
  110. arkruntime/types/agent/tool_default_config.py +28 -0
  111. arkruntime/types/agent/tool_item.py +57 -0
  112. arkruntime/types/agent/update_agent_request.py +70 -0
  113. arkruntime/types/chat/__init__.py +212 -0
  114. arkruntime/types/chat/_init_extras_shim.py +73 -0
  115. arkruntime/types/chat/chat_completion_choice_logprobs.py +20 -0
  116. arkruntime/types/chat/chat_completion_content_part.py +32 -0
  117. arkruntime/types/chat/chat_completion_content_part_audio.py +23 -0
  118. arkruntime/types/chat/chat_completion_content_part_audio_input_audio.py +30 -0
  119. arkruntime/types/chat/chat_completion_content_part_audio_input_audio_param.py +25 -0
  120. arkruntime/types/chat/chat_completion_content_part_audio_param.py +22 -0
  121. arkruntime/types/chat/chat_completion_content_part_file.py +21 -0
  122. arkruntime/types/chat/chat_completion_content_part_file_file.py +30 -0
  123. arkruntime/types/chat/chat_completion_content_part_file_file_param.py +25 -0
  124. arkruntime/types/chat/chat_completion_content_part_file_param.py +22 -0
  125. arkruntime/types/chat/chat_completion_content_part_image.py +23 -0
  126. arkruntime/types/chat/chat_completion_content_part_image_image_url.py +33 -0
  127. arkruntime/types/chat/chat_completion_content_part_image_image_url_param.py +28 -0
  128. arkruntime/types/chat/chat_completion_content_part_image_param.py +22 -0
  129. arkruntime/types/chat/chat_completion_content_part_param.py +29 -0
  130. arkruntime/types/chat/chat_completion_content_part_text.py +22 -0
  131. arkruntime/types/chat/chat_completion_content_part_text_param.py +19 -0
  132. arkruntime/types/chat/chat_completion_content_part_video.py +23 -0
  133. arkruntime/types/chat/chat_completion_content_part_video_param.py +22 -0
  134. arkruntime/types/chat/chat_completion_content_part_video_video_url.py +36 -0
  135. arkruntime/types/chat/chat_completion_content_part_video_video_url_param.py +30 -0
  136. arkruntime/types/chat/chat_completion_message_content.py +17 -0
  137. arkruntime/types/chat/chat_completion_message_content_param.py +15 -0
  138. arkruntime/types/chat/chat_completion_message_tool_call.py +29 -0
  139. arkruntime/types/chat/chat_completion_message_tool_call_chunk.py +31 -0
  140. arkruntime/types/chat/chat_completion_message_tool_call_chunk_function.py +16 -0
  141. arkruntime/types/chat/chat_completion_message_tool_call_function.py +23 -0
  142. arkruntime/types/chat/chat_completion_message_tool_call_function_param.py +22 -0
  143. arkruntime/types/chat/chat_completion_message_tool_call_param.py +26 -0
  144. arkruntime/types/chat/chat_completion_named_tool_choice.py +21 -0
  145. arkruntime/types/chat/chat_completion_named_tool_choice_param.py +22 -0
  146. arkruntime/types/chat/chat_completion_request.py +129 -0
  147. arkruntime/types/chat/chat_completion_request_assistant_message.py +39 -0
  148. arkruntime/types/chat/chat_completion_request_assistant_message_param.py +36 -0
  149. arkruntime/types/chat/chat_completion_request_message.py +32 -0
  150. arkruntime/types/chat/chat_completion_request_message_param.py +29 -0
  151. arkruntime/types/chat/chat_completion_request_param.py +122 -0
  152. arkruntime/types/chat/chat_completion_request_system_message.py +25 -0
  153. arkruntime/types/chat/chat_completion_request_system_message_param.py +23 -0
  154. arkruntime/types/chat/chat_completion_request_tool_message.py +29 -0
  155. arkruntime/types/chat/chat_completion_request_tool_message_param.py +26 -0
  156. arkruntime/types/chat/chat_completion_request_user_message.py +29 -0
  157. arkruntime/types/chat/chat_completion_request_user_message_param.py +27 -0
  158. arkruntime/types/chat/chat_completion_response.py +52 -0
  159. arkruntime/types/chat/chat_completion_response_choice.py +36 -0
  160. arkruntime/types/chat/chat_completion_response_format.py +28 -0
  161. arkruntime/types/chat/chat_completion_response_format_json_schema.py +33 -0
  162. arkruntime/types/chat/chat_completion_response_format_json_schema_param.py +31 -0
  163. arkruntime/types/chat/chat_completion_response_format_param.py +27 -0
  164. arkruntime/types/chat/chat_completion_response_message.py +37 -0
  165. arkruntime/types/chat/chat_completion_role.py +16 -0
  166. arkruntime/types/chat/chat_completion_service_status.py +17 -0
  167. arkruntime/types/chat/chat_completion_stop.py +13 -0
  168. arkruntime/types/chat/chat_completion_stop_param.py +11 -0
  169. arkruntime/types/chat/chat_completion_stream_choice_logprobs.py +17 -0
  170. arkruntime/types/chat/chat_completion_stream_options.py +22 -0
  171. arkruntime/types/chat/chat_completion_stream_options_param.py +19 -0
  172. arkruntime/types/chat/chat_completion_stream_response.py +34 -0
  173. arkruntime/types/chat/chat_completion_stream_response_choice.py +27 -0
  174. arkruntime/types/chat/chat_completion_stream_response_delta.py +36 -0
  175. arkruntime/types/chat/chat_completion_token_logprob.py +26 -0
  176. arkruntime/types/chat/chat_completion_token_logprob_top_logprob.py +17 -0
  177. arkruntime/types/chat/chat_completion_tool.py +20 -0
  178. arkruntime/types/chat/chat_completion_tool_choice.py +18 -0
  179. arkruntime/types/chat/chat_completion_tool_choice_function.py +13 -0
  180. arkruntime/types/chat/chat_completion_tool_choice_function_param.py +13 -0
  181. arkruntime/types/chat/chat_completion_tool_choice_param.py +16 -0
  182. arkruntime/types/chat/chat_completion_tool_param.py +20 -0
  183. arkruntime/types/chat/completion_tokens_details.py +16 -0
  184. arkruntime/types/chat/completion_usage.py +35 -0
  185. arkruntime/types/chat/error.py +28 -0
  186. arkruntime/types/chat/error_response.py +15 -0
  187. arkruntime/types/chat/finish_reason.py +16 -0
  188. arkruntime/types/chat/function_object.py +35 -0
  189. arkruntime/types/chat/function_object_param.py +38 -0
  190. arkruntime/types/chat/image_detail.py +16 -0
  191. arkruntime/types/chat/image_pixel_limit.py +16 -0
  192. arkruntime/types/chat/image_pixel_limit_param.py +17 -0
  193. arkruntime/types/chat/model_fallback_status.py +20 -0
  194. arkruntime/types/chat/moderation_hit_type.py +14 -0
  195. arkruntime/types/chat/parsed_chat_completion_shim.py +52 -0
  196. arkruntime/types/chat/parsed_function_tool_call_shim.py +29 -0
  197. arkruntime/types/chat/prompt_tokens_details.py +34 -0
  198. arkruntime/types/chat/reasoning_effort.py +19 -0
  199. arkruntime/types/chat/request_service_tier.py +15 -0
  200. arkruntime/types/chat/response_format_type.py +15 -0
  201. arkruntime/types/chat/response_service_tier.py +15 -0
  202. arkruntime/types/chat/thinking.py +17 -0
  203. arkruntime/types/chat/thinking_mode.py +15 -0
  204. arkruntime/types/chat/thinking_param.py +17 -0
  205. arkruntime/types/chat/tool_choice_mode.py +15 -0
  206. arkruntime/types/chat/tool_type.py +13 -0
  207. arkruntime/types/chat/tool_type_param.py +11 -0
  208. arkruntime/types/chat/video_image_pixel_limit.py +16 -0
  209. arkruntime/types/chat/video_image_pixel_limit_param.py +17 -0
  210. arkruntime/types/completion_usage.py +43 -0
  211. arkruntime/types/content_generation/__init__.py +66 -0
  212. arkruntime/types/content_generation/_init_extras_shim.py +12 -0
  213. arkruntime/types/content_generation/audio_role.py +16 -0
  214. arkruntime/types/content_generation/audio_url.py +16 -0
  215. arkruntime/types/content_generation/audio_url_param.py +14 -0
  216. arkruntime/types/content_generation/content_generation_task.py +125 -0
  217. arkruntime/types/content_generation/content_item.py +54 -0
  218. arkruntime/types/content_generation/content_item_param.py +46 -0
  219. arkruntime/types/content_generation/content_type.py +21 -0
  220. arkruntime/types/content_generation/create_content_generation_task_request.py +106 -0
  221. arkruntime/types/content_generation/create_content_generation_task_request_param.py +83 -0
  222. arkruntime/types/content_generation/create_content_generation_task_response.py +16 -0
  223. arkruntime/types/content_generation/draft_task.py +16 -0
  224. arkruntime/types/content_generation/draft_task_param.py +14 -0
  225. arkruntime/types/content_generation/image_role.py +20 -0
  226. arkruntime/types/content_generation/image_url.py +16 -0
  227. arkruntime/types/content_generation/image_url_param.py +14 -0
  228. arkruntime/types/content_generation/list_content_generation_tasks_response.py +24 -0
  229. arkruntime/types/content_generation/reasoning_effort.py +16 -0
  230. arkruntime/types/content_generation/task_content.py +30 -0
  231. arkruntime/types/content_generation/task_error.py +20 -0
  232. arkruntime/types/content_generation/task_status.py +21 -0
  233. arkruntime/types/content_generation/task_usage.py +28 -0
  234. arkruntime/types/content_generation/tool.py +18 -0
  235. arkruntime/types/content_generation/tool_param.py +17 -0
  236. arkruntime/types/content_generation/tool_type.py +13 -0
  237. arkruntime/types/content_generation/tool_type_param.py +11 -0
  238. arkruntime/types/content_generation/tool_usage.py +18 -0
  239. arkruntime/types/content_generation/video_role.py +16 -0
  240. arkruntime/types/content_generation/video_url.py +16 -0
  241. arkruntime/types/content_generation/video_url_param.py +14 -0
  242. arkruntime/types/embedding/__init__.py +30 -0
  243. arkruntime/types/embedding/_init_extras_shim.py +12 -0
  244. arkruntime/types/embedding/embedding.py +18 -0
  245. arkruntime/types/embedding/embedding_input.py +18 -0
  246. arkruntime/types/embedding/embedding_input_param.py +16 -0
  247. arkruntime/types/embedding/embedding_item.py +32 -0
  248. arkruntime/types/embedding/embedding_request.py +39 -0
  249. arkruntime/types/embedding/embedding_request_param.py +37 -0
  250. arkruntime/types/embedding/embedding_response.py +41 -0
  251. arkruntime/types/embedding/embedding_usage.py +24 -0
  252. arkruntime/types/embedding/encoding_format.py +14 -0
  253. arkruntime/types/environment/__init__.py +36 -0
  254. arkruntime/types/environment/_init_extras_shim.py +12 -0
  255. arkruntime/types/environment/create_environment_request.py +41 -0
  256. arkruntime/types/environment/delete_environment_response.py +24 -0
  257. arkruntime/types/environment/env_config.py +38 -0
  258. arkruntime/types/environment/env_config_type.py +18 -0
  259. arkruntime/types/environment/environment.py +57 -0
  260. arkruntime/types/environment/environment_scope.py +18 -0
  261. arkruntime/types/environment/list_environments_response.py +30 -0
  262. arkruntime/types/environment/networking_config.py +37 -0
  263. arkruntime/types/environment/networking_type.py +18 -0
  264. arkruntime/types/environment/packages_config.py +47 -0
  265. arkruntime/types/environment/update_environment_request.py +45 -0
  266. arkruntime/types/file/__init__.py +40 -0
  267. arkruntime/types/file/_init_extras_shim.py +12 -0
  268. arkruntime/types/file/file_create_request.py +41 -0
  269. arkruntime/types/file/file_create_request_param.py +41 -0
  270. arkruntime/types/file/file_deleted.py +30 -0
  271. arkruntime/types/file/file_error.py +32 -0
  272. arkruntime/types/file/file_list_response.py +42 -0
  273. arkruntime/types/file/file_object.py +71 -0
  274. arkruntime/types/file/order.py +18 -0
  275. arkruntime/types/file/preprocess_configs.py +24 -0
  276. arkruntime/types/file/preprocess_configs_param.py +22 -0
  277. arkruntime/types/file/purpose.py +18 -0
  278. arkruntime/types/file/status.py +19 -0
  279. arkruntime/types/file/tos_storage.py +28 -0
  280. arkruntime/types/file/tos_storage_param.py +25 -0
  281. arkruntime/types/file/video.py +26 -0
  282. arkruntime/types/file/video_param.py +23 -0
  283. arkruntime/types/images/__init__.py +55 -0
  284. arkruntime/types/images/_init_extras_shim.py +12 -0
  285. arkruntime/types/images/bounding_box.py +27 -0
  286. arkruntime/types/images/create_image_generation_request.py +88 -0
  287. arkruntime/types/images/create_image_generation_request_param.py +73 -0
  288. arkruntime/types/images/image_data_item.py +58 -0
  289. arkruntime/types/images/image_error.py +20 -0
  290. arkruntime/types/images/image_generation_response.py +43 -0
  291. arkruntime/types/images/image_generation_stream_event.py +74 -0
  292. arkruntime/types/images/image_generation_stream_event_type.py +19 -0
  293. arkruntime/types/images/optimize_prompt_mode.py +18 -0
  294. arkruntime/types/images/optimize_prompt_options.py +20 -0
  295. arkruntime/types/images/optimize_prompt_options_param.py +18 -0
  296. arkruntime/types/images/output_format.py +18 -0
  297. arkruntime/types/images/response_format.py +18 -0
  298. arkruntime/types/images/sequential_image_generation_mode.py +18 -0
  299. arkruntime/types/images/sequential_image_generation_options.py +18 -0
  300. arkruntime/types/images/sequential_image_generation_options_param.py +16 -0
  301. arkruntime/types/images/tool.py +18 -0
  302. arkruntime/types/images/tool_param.py +17 -0
  303. arkruntime/types/images/tool_type.py +13 -0
  304. arkruntime/types/images/tool_type_param.py +11 -0
  305. arkruntime/types/images/tool_usage.py +18 -0
  306. arkruntime/types/images/usage.py +36 -0
  307. arkruntime/types/memory/__init__.py +44 -0
  308. arkruntime/types/memory/_init_extras_shim.py +12 -0
  309. arkruntime/types/memory/actor.py +26 -0
  310. arkruntime/types/memory/actor_type.py +16 -0
  311. arkruntime/types/memory/create_memory_request.py +24 -0
  312. arkruntime/types/memory/create_memory_store_request.py +30 -0
  313. arkruntime/types/memory/delete_memory_response.py +26 -0
  314. arkruntime/types/memory/delete_memory_store_response.py +26 -0
  315. arkruntime/types/memory/list_memories_order_by.py +18 -0
  316. arkruntime/types/memory/list_memories_response.py +32 -0
  317. arkruntime/types/memory/list_memory_stores_response.py +28 -0
  318. arkruntime/types/memory/memory.py +64 -0
  319. arkruntime/types/memory/memory_list_item.py +58 -0
  320. arkruntime/types/memory/memory_list_item_type.py +20 -0
  321. arkruntime/types/memory/memory_store.py +64 -0
  322. arkruntime/types/memory/update_memory_request.py +27 -0
  323. arkruntime/types/memory/update_memory_store_request.py +31 -0
  324. arkruntime/types/multimodal_embedding/__init__.py +54 -0
  325. arkruntime/types/multimodal_embedding/_init_extras_shim.py +12 -0
  326. arkruntime/types/multimodal_embedding/embedding.py +13 -0
  327. arkruntime/types/multimodal_embedding/embedding_data_item.py +33 -0
  328. arkruntime/types/multimodal_embedding/embedding_input.py +34 -0
  329. arkruntime/types/multimodal_embedding/embedding_input_param.py +29 -0
  330. arkruntime/types/multimodal_embedding/embedding_input_type.py +15 -0
  331. arkruntime/types/multimodal_embedding/embedding_object.py +14 -0
  332. arkruntime/types/multimodal_embedding/embedding_usage.py +26 -0
  333. arkruntime/types/multimodal_embedding/encoding_format.py +14 -0
  334. arkruntime/types/multimodal_embedding/image_url.py +16 -0
  335. arkruntime/types/multimodal_embedding/image_url_param.py +14 -0
  336. arkruntime/types/multimodal_embedding/multi_embedding_config.py +18 -0
  337. arkruntime/types/multimodal_embedding/multi_embedding_config_param.py +17 -0
  338. arkruntime/types/multimodal_embedding/multi_embedding_mode.py +14 -0
  339. arkruntime/types/multimodal_embedding/multi_modal_embedding_request.py +47 -0
  340. arkruntime/types/multimodal_embedding/multi_modal_embedding_request_param.py +39 -0
  341. arkruntime/types/multimodal_embedding/multi_modal_embedding_response.py +41 -0
  342. arkruntime/types/multimodal_embedding/prompt_tokens_details.py +20 -0
  343. arkruntime/types/multimodal_embedding/sparse_embedding_config.py +20 -0
  344. arkruntime/types/multimodal_embedding/sparse_embedding_config_param.py +18 -0
  345. arkruntime/types/multimodal_embedding/sparse_embedding_mode.py +14 -0
  346. arkruntime/types/multimodal_embedding/sparse_embedding_value.py +20 -0
  347. arkruntime/types/multimodal_embedding/video_url.py +22 -0
  348. arkruntime/types/multimodal_embedding/video_url_param.py +19 -0
  349. arkruntime/types/responses/__init__.py +528 -0
  350. arkruntime/types/responses/_init_extras_shim.py +47 -0
  351. arkruntime/types/responses/annotation.py +20 -0
  352. arkruntime/types/responses/annotation_param.py +14 -0
  353. arkruntime/types/responses/applied_edit.py +22 -0
  354. arkruntime/types/responses/audio_chunk.py +15 -0
  355. arkruntime/types/responses/audio_chunking_strategy.py +18 -0
  356. arkruntime/types/responses/audio_chunking_strategy_param.py +21 -0
  357. arkruntime/types/responses/cache_mode.py +14 -0
  358. arkruntime/types/responses/clear_thinking.py +18 -0
  359. arkruntime/types/responses/clear_thinking_keep.py +18 -0
  360. arkruntime/types/responses/clear_thinking_keep_param.py +19 -0
  361. arkruntime/types/responses/clear_thinking_param.py +19 -0
  362. arkruntime/types/responses/clear_thinking_response.py +16 -0
  363. arkruntime/types/responses/clear_tool_uses.py +23 -0
  364. arkruntime/types/responses/clear_tool_uses_inputs.py +18 -0
  365. arkruntime/types/responses/clear_tool_uses_inputs_param.py +19 -0
  366. arkruntime/types/responses/clear_tool_uses_param.py +27 -0
  367. arkruntime/types/responses/clear_tool_uses_response.py +16 -0
  368. arkruntime/types/responses/content_filter.py +14 -0
  369. arkruntime/types/responses/content_item.py +36 -0
  370. arkruntime/types/responses/content_item_audio.py +20 -0
  371. arkruntime/types/responses/content_item_audio_param.py +23 -0
  372. arkruntime/types/responses/content_item_file.py +19 -0
  373. arkruntime/types/responses/content_item_file_param.py +23 -0
  374. arkruntime/types/responses/content_item_image.py +22 -0
  375. arkruntime/types/responses/content_item_image_param.py +26 -0
  376. arkruntime/types/responses/content_item_param.py +29 -0
  377. arkruntime/types/responses/content_item_text.py +22 -0
  378. arkruntime/types/responses/content_item_text_param.py +19 -0
  379. arkruntime/types/responses/content_item_video.py +27 -0
  380. arkruntime/types/responses/content_item_video_param.py +24 -0
  381. arkruntime/types/responses/context_management.py +17 -0
  382. arkruntime/types/responses/context_management_param.py +17 -0
  383. arkruntime/types/responses/context_management_response.py +17 -0
  384. arkruntime/types/responses/cover_image.py +26 -0
  385. arkruntime/types/responses/cover_image_param.py +22 -0
  386. arkruntime/types/responses/delete_response_response.py +17 -0
  387. arkruntime/types/responses/doc_citation.py +19 -0
  388. arkruntime/types/responses/doc_citation_param.py +23 -0
  389. arkruntime/types/responses/doubao_app_call_block.py +30 -0
  390. arkruntime/types/responses/doubao_app_call_block_output_text.py +21 -0
  391. arkruntime/types/responses/doubao_app_call_block_reasoning_search.py +24 -0
  392. arkruntime/types/responses/doubao_app_call_block_reasoning_text.py +21 -0
  393. arkruntime/types/responses/doubao_app_call_block_search.py +24 -0
  394. arkruntime/types/responses/doubao_app_feature.py +20 -0
  395. arkruntime/types/responses/doubao_app_feature_item.py +18 -0
  396. arkruntime/types/responses/doubao_app_feature_item_param.py +19 -0
  397. arkruntime/types/responses/doubao_app_feature_mode.py +14 -0
  398. arkruntime/types/responses/doubao_app_feature_param.py +23 -0
  399. arkruntime/types/responses/doubao_app_search_result.py +15 -0
  400. arkruntime/types/responses/doubao_app_search_text_item.py +15 -0
  401. arkruntime/types/responses/doubao_app_tool.py +20 -0
  402. arkruntime/types/responses/doubao_app_tool_param.py +22 -0
  403. arkruntime/types/responses/edit.py +19 -0
  404. arkruntime/types/responses/edit_param.py +14 -0
  405. arkruntime/types/responses/function_tool.py +32 -0
  406. arkruntime/types/responses/function_tool_param.py +29 -0
  407. arkruntime/types/responses/image_detail.py +16 -0
  408. arkruntime/types/responses/image_pixel_limit.py +16 -0
  409. arkruntime/types/responses/image_pixel_limit_param.py +17 -0
  410. arkruntime/types/responses/image_process_options.py +15 -0
  411. arkruntime/types/responses/image_process_options_param.py +15 -0
  412. arkruntime/types/responses/image_process_tool.py +21 -0
  413. arkruntime/types/responses/image_process_tool_param.py +25 -0
  414. arkruntime/types/responses/incomplete_details.py +24 -0
  415. arkruntime/types/responses/input_item.py +38 -0
  416. arkruntime/types/responses/input_item_list_params_shim.py +39 -0
  417. arkruntime/types/responses/input_item_param.py +33 -0
  418. arkruntime/types/responses/input_tokens_details.py +17 -0
  419. arkruntime/types/responses/item_agent_tool_call.py +20 -0
  420. arkruntime/types/responses/item_doubao_app_call.py +22 -0
  421. arkruntime/types/responses/item_easy_message.py +22 -0
  422. arkruntime/types/responses/item_easy_message_param.py +26 -0
  423. arkruntime/types/responses/item_function_image_process.py +24 -0
  424. arkruntime/types/responses/item_function_knowledge_search.py +21 -0
  425. arkruntime/types/responses/item_function_mcp_approval_request.py +34 -0
  426. arkruntime/types/responses/item_function_mcp_approval_request_param.py +28 -0
  427. arkruntime/types/responses/item_function_mcp_approval_response.py +34 -0
  428. arkruntime/types/responses/item_function_mcp_approval_response_param.py +28 -0
  429. arkruntime/types/responses/item_function_mcp_call.py +44 -0
  430. arkruntime/types/responses/item_function_mcp_call_param.py +38 -0
  431. arkruntime/types/responses/item_function_mcp_list_tools.py +36 -0
  432. arkruntime/types/responses/item_function_mcp_list_tools_param.py +30 -0
  433. arkruntime/types/responses/item_function_tool_call.py +37 -0
  434. arkruntime/types/responses/item_function_tool_call_output.py +22 -0
  435. arkruntime/types/responses/item_function_tool_call_output_param.py +26 -0
  436. arkruntime/types/responses/item_function_tool_call_param.py +32 -0
  437. arkruntime/types/responses/item_function_web_search.py +21 -0
  438. arkruntime/types/responses/item_input_message.py +24 -0
  439. arkruntime/types/responses/item_output_message.py +23 -0
  440. arkruntime/types/responses/item_reasoning.py +24 -0
  441. arkruntime/types/responses/item_reasoning_param.py +29 -0
  442. arkruntime/types/responses/item_reference.py +16 -0
  443. arkruntime/types/responses/item_status.py +17 -0
  444. arkruntime/types/responses/item_transcription.py +21 -0
  445. arkruntime/types/responses/knowledge_search_tool.py +46 -0
  446. arkruntime/types/responses/knowledge_search_tool_param.py +37 -0
  447. arkruntime/types/responses/list_input_items_response.py +21 -0
  448. arkruntime/types/responses/mcp_allowed_tools.py +17 -0
  449. arkruntime/types/responses/mcp_allowed_tools_filter.py +15 -0
  450. arkruntime/types/responses/mcp_allowed_tools_filter_param.py +15 -0
  451. arkruntime/types/responses/mcp_allowed_tools_param.py +13 -0
  452. arkruntime/types/responses/mcp_approval_mode.py +14 -0
  453. arkruntime/types/responses/mcp_list_tools_tool.py +30 -0
  454. arkruntime/types/responses/mcp_list_tools_tool_param.py +25 -0
  455. arkruntime/types/responses/mcp_require_approval.py +18 -0
  456. arkruntime/types/responses/mcp_require_approval_param.py +14 -0
  457. arkruntime/types/responses/mcp_tool.py +24 -0
  458. arkruntime/types/responses/mcp_tool_approval_filter.py +19 -0
  459. arkruntime/types/responses/mcp_tool_approval_filter_always.py +15 -0
  460. arkruntime/types/responses/mcp_tool_approval_filter_always_param.py +15 -0
  461. arkruntime/types/responses/mcp_tool_approval_filter_never.py +15 -0
  462. arkruntime/types/responses/mcp_tool_approval_filter_never_param.py +15 -0
  463. arkruntime/types/responses/mcp_tool_approval_filter_param.py +20 -0
  464. arkruntime/types/responses/mcp_tool_param.py +30 -0
  465. arkruntime/types/responses/message_content.py +15 -0
  466. arkruntime/types/responses/message_content_param.py +13 -0
  467. arkruntime/types/responses/message_role.py +16 -0
  468. arkruntime/types/responses/order.py +18 -0
  469. arkruntime/types/responses/output_content_item.py +23 -0
  470. arkruntime/types/responses/output_content_item_param.py +18 -0
  471. arkruntime/types/responses/output_content_item_reasoning_text.py +19 -0
  472. arkruntime/types/responses/output_content_item_reasoning_text_param.py +21 -0
  473. arkruntime/types/responses/output_content_item_text.py +19 -0
  474. arkruntime/types/responses/output_content_item_text_param.py +21 -0
  475. arkruntime/types/responses/output_item.py +46 -0
  476. arkruntime/types/responses/output_tokens_details.py +13 -0
  477. arkruntime/types/responses/parsed_response_shim.py +106 -0
  478. arkruntime/types/responses/reasoning.py +17 -0
  479. arkruntime/types/responses/reasoning_effort.py +19 -0
  480. arkruntime/types/responses/reasoning_param.py +17 -0
  481. arkruntime/types/responses/reasoning_summary_part.py +16 -0
  482. arkruntime/types/responses/reasoning_summary_part_param.py +17 -0
  483. arkruntime/types/responses/response.py +58 -0
  484. arkruntime/types/responses/response_agent_tool_call_completed_event.py +19 -0
  485. arkruntime/types/responses/response_agent_tool_call_in_progress_event.py +19 -0
  486. arkruntime/types/responses/response_caching.py +18 -0
  487. arkruntime/types/responses/response_caching_param.py +19 -0
  488. arkruntime/types/responses/response_completed_event.py +28 -0
  489. arkruntime/types/responses/response_content_part_added_event.py +22 -0
  490. arkruntime/types/responses/response_content_part_done_event.py +22 -0
  491. arkruntime/types/responses/response_created_event.py +28 -0
  492. arkruntime/types/responses/response_doubao_app_call_block_added_event.py +21 -0
  493. arkruntime/types/responses/response_doubao_app_call_block_done_event.py +21 -0
  494. arkruntime/types/responses/response_doubao_app_call_completed_event.py +22 -0
  495. arkruntime/types/responses/response_doubao_app_call_failed_event.py +19 -0
  496. arkruntime/types/responses/response_doubao_app_call_in_progress_event.py +19 -0
  497. arkruntime/types/responses/response_doubao_app_call_output_text_delta_event.py +20 -0
  498. arkruntime/types/responses/response_doubao_app_call_output_text_done_event.py +20 -0
  499. arkruntime/types/responses/response_doubao_app_call_reasoning_search_completed_event.py +24 -0
  500. arkruntime/types/responses/response_doubao_app_call_reasoning_search_in_progress_event.py +19 -0
  501. arkruntime/types/responses/response_doubao_app_call_reasoning_search_searching_event.py +20 -0
  502. arkruntime/types/responses/response_doubao_app_call_reasoning_text_delta_event.py +20 -0
  503. arkruntime/types/responses/response_doubao_app_call_reasoning_text_done_event.py +20 -0
  504. arkruntime/types/responses/response_doubao_app_call_search_completed_event.py +24 -0
  505. arkruntime/types/responses/response_doubao_app_call_search_in_progress_event.py +19 -0
  506. arkruntime/types/responses/response_doubao_app_call_search_searching_event.py +20 -0
  507. arkruntime/types/responses/response_error.py +20 -0
  508. arkruntime/types/responses/response_error_event.py +34 -0
  509. arkruntime/types/responses/response_failed_event.py +28 -0
  510. arkruntime/types/responses/response_function_call_arguments_delta_event.py +34 -0
  511. arkruntime/types/responses/response_function_call_arguments_done_event.py +31 -0
  512. arkruntime/types/responses/response_image_process_action.py +16 -0
  513. arkruntime/types/responses/response_image_process_call_completed_event.py +22 -0
  514. arkruntime/types/responses/response_image_process_call_in_progress_event.py +21 -0
  515. arkruntime/types/responses/response_image_process_call_processing_event.py +22 -0
  516. arkruntime/types/responses/response_image_process_error.py +13 -0
  517. arkruntime/types/responses/response_in_progress_event.py +28 -0
  518. arkruntime/types/responses/response_includable.py +15 -0
  519. arkruntime/types/responses/response_incomplete_event.py +28 -0
  520. arkruntime/types/responses/response_knowledge_search_call_completed_event.py +21 -0
  521. arkruntime/types/responses/response_knowledge_search_call_failed_event.py +21 -0
  522. arkruntime/types/responses/response_knowledge_search_call_in_progress_event.py +21 -0
  523. arkruntime/types/responses/response_knowledge_search_call_searching_event.py +21 -0
  524. arkruntime/types/responses/response_mcp_approval_request_event.py +20 -0
  525. arkruntime/types/responses/response_mcp_call_arguments_delta_event.py +35 -0
  526. arkruntime/types/responses/response_mcp_call_arguments_done_event.py +34 -0
  527. arkruntime/types/responses/response_mcp_call_completed_event.py +30 -0
  528. arkruntime/types/responses/response_mcp_call_failed_event.py +30 -0
  529. arkruntime/types/responses/response_mcp_call_in_progress_event.py +30 -0
  530. arkruntime/types/responses/response_mcp_list_tools_completed_event.py +30 -0
  531. arkruntime/types/responses/response_mcp_list_tools_failed_event.py +30 -0
  532. arkruntime/types/responses/response_mcp_list_tools_in_progress_event.py +30 -0
  533. arkruntime/types/responses/response_output_item_added_event.py +20 -0
  534. arkruntime/types/responses/response_output_item_done_event.py +20 -0
  535. arkruntime/types/responses/response_output_text_annotation_added_event.py +46 -0
  536. arkruntime/types/responses/response_reasoning_raw_text_delta_event.py +38 -0
  537. arkruntime/types/responses/response_reasoning_raw_text_done_event.py +38 -0
  538. arkruntime/types/responses/response_reasoning_summary_part_added_event.py +22 -0
  539. arkruntime/types/responses/response_reasoning_summary_part_done_event.py +22 -0
  540. arkruntime/types/responses/response_reasoning_summary_text_delta_event.py +38 -0
  541. arkruntime/types/responses/response_reasoning_summary_text_done_event.py +38 -0
  542. arkruntime/types/responses/response_reasoning_text_delta_event.py +38 -0
  543. arkruntime/types/responses/response_reasoning_text_done_event.py +38 -0
  544. arkruntime/types/responses/response_status.py +16 -0
  545. arkruntime/types/responses/response_stream_event.py +216 -0
  546. arkruntime/types/responses/response_text_config.py +15 -0
  547. arkruntime/types/responses/response_text_config_param.py +16 -0
  548. arkruntime/types/responses/response_text_delta_event.py +38 -0
  549. arkruntime/types/responses/response_text_done_event.py +38 -0
  550. arkruntime/types/responses/response_transcription_part_added_event.py +22 -0
  551. arkruntime/types/responses/response_transcription_part_done_event.py +22 -0
  552. arkruntime/types/responses/response_transcription_text_delta_event.py +46 -0
  553. arkruntime/types/responses/response_transcription_text_done_event.py +52 -0
  554. arkruntime/types/responses/response_usage.py +47 -0
  555. arkruntime/types/responses/response_web_search_call_completed_event.py +30 -0
  556. arkruntime/types/responses/response_web_search_call_in_progress_event.py +30 -0
  557. arkruntime/types/responses/response_web_search_call_searching_event.py +30 -0
  558. arkruntime/types/responses/responses_input.py +15 -0
  559. arkruntime/types/responses/responses_input_param.py +13 -0
  560. arkruntime/types/responses/responses_request.py +50 -0
  561. arkruntime/types/responses/responses_request_param.py +73 -0
  562. arkruntime/types/responses/service_tier.py +14 -0
  563. arkruntime/types/responses/session.py +13 -0
  564. arkruntime/types/responses/session_param.py +13 -0
  565. arkruntime/types/responses/text_format.py +22 -0
  566. arkruntime/types/responses/text_format_param.py +25 -0
  567. arkruntime/types/responses/text_format_type.py +15 -0
  568. arkruntime/types/responses/text_translation_options.py +14 -0
  569. arkruntime/types/responses/thinking.py +17 -0
  570. arkruntime/types/responses/thinking_mode.py +15 -0
  571. arkruntime/types/responses/thinking_param.py +17 -0
  572. arkruntime/types/responses/thinking_turns_param.py +16 -0
  573. arkruntime/types/responses/thinking_turns_param_param.py +17 -0
  574. arkruntime/types/responses/tool.py +34 -0
  575. arkruntime/types/responses/tool_choice.py +16 -0
  576. arkruntime/types/responses/tool_choice_function.py +22 -0
  577. arkruntime/types/responses/tool_choice_function_param.py +19 -0
  578. arkruntime/types/responses/tool_choice_knowledge_search.py +15 -0
  579. arkruntime/types/responses/tool_choice_knowledge_search_param.py +15 -0
  580. arkruntime/types/responses/tool_choice_mcp.py +26 -0
  581. arkruntime/types/responses/tool_choice_mcp_param.py +22 -0
  582. arkruntime/types/responses/tool_choice_options.py +15 -0
  583. arkruntime/types/responses/tool_choice_param.py +14 -0
  584. arkruntime/types/responses/tool_choice_web_search.py +15 -0
  585. arkruntime/types/responses/tool_choice_web_search_param.py +15 -0
  586. arkruntime/types/responses/tool_name_list.py +15 -0
  587. arkruntime/types/responses/tool_name_list_param.py +15 -0
  588. arkruntime/types/responses/tool_param.py +25 -0
  589. arkruntime/types/responses/tool_usage.py +27 -0
  590. arkruntime/types/responses/tool_usage_details.py +30 -0
  591. arkruntime/types/responses/tool_uses_keep.py +16 -0
  592. arkruntime/types/responses/tool_uses_keep_param.py +17 -0
  593. arkruntime/types/responses/tool_uses_trigger.py +16 -0
  594. arkruntime/types/responses/tool_uses_trigger_param.py +17 -0
  595. arkruntime/types/responses/transcription_part.py +19 -0
  596. arkruntime/types/responses/truncation_mode.py +14 -0
  597. arkruntime/types/responses/typed_tool_choice.py +30 -0
  598. arkruntime/types/responses/typed_tool_choice_param.py +21 -0
  599. arkruntime/types/responses/url_citation.py +26 -0
  600. arkruntime/types/responses/url_citation_param.py +35 -0
  601. arkruntime/types/responses/user_location.py +34 -0
  602. arkruntime/types/responses/user_location_param.py +28 -0
  603. arkruntime/types/responses/web_search_action.py +16 -0
  604. arkruntime/types/responses/web_search_source.py +16 -0
  605. arkruntime/types/responses/web_search_tool.py +22 -0
  606. arkruntime/types/responses/web_search_tool_param.py +26 -0
  607. arkruntime/types/session/__init__.py +154 -0
  608. arkruntime/types/session/_init_extras_shim.py +88 -0
  609. arkruntime/types/session/agent_identifier.py +19 -0
  610. arkruntime/types/session/agent_ref.py +31 -0
  611. arkruntime/types/session/base64_document_source.py +27 -0
  612. arkruntime/types/session/base64_image_source.py +27 -0
  613. arkruntime/types/session/cache_creation.py +26 -0
  614. arkruntime/types/session/create_session_request.py +50 -0
  615. arkruntime/types/session/create_session_resource_request.py +29 -0
  616. arkruntime/types/session/delete_session_response.py +24 -0
  617. arkruntime/types/session/document_source.py +34 -0
  618. arkruntime/types/session/file_document_source.py +23 -0
  619. arkruntime/types/session/file_image_source.py +23 -0
  620. arkruntime/types/session/image_source.py +28 -0
  621. arkruntime/types/session/list_session_events_response_wire.py +31 -0
  622. arkruntime/types/session/list_session_resources_response.py +24 -0
  623. arkruntime/types/session/list_session_threads_response.py +28 -0
  624. arkruntime/types/session/list_sessions_order.py +18 -0
  625. arkruntime/types/session/list_sessions_response.py +28 -0
  626. arkruntime/types/session/managed_agents_agent_message_preview.py +27 -0
  627. arkruntime/types/session/managed_agents_agent_thinking_preview.py +27 -0
  628. arkruntime/types/session/managed_agents_delta_content.py +34 -0
  629. arkruntime/types/session/managed_agents_delta_event.py +34 -0
  630. arkruntime/types/session/managed_agents_delta_text_block.py +27 -0
  631. arkruntime/types/session/managed_agents_document_block.py +33 -0
  632. arkruntime/types/session/managed_agents_event_params.py +57 -0
  633. arkruntime/types/session/managed_agents_file_rubric_params.py +23 -0
  634. arkruntime/types/session/managed_agents_image_block.py +25 -0
  635. arkruntime/types/session/managed_agents_message_content_block.py +30 -0
  636. arkruntime/types/session/managed_agents_rubric.py +26 -0
  637. arkruntime/types/session/managed_agents_search_result_block.py +38 -0
  638. arkruntime/types/session/managed_agents_session_event.py +34 -0
  639. arkruntime/types/session/managed_agents_start_event.py +31 -0
  640. arkruntime/types/session/managed_agents_start_event_preview.py +27 -0
  641. arkruntime/types/session/managed_agents_stream_preview_event.py +26 -0
  642. arkruntime/types/session/managed_agents_system_content_block.py +23 -0
  643. arkruntime/types/session/managed_agents_system_message_event_params.py +34 -0
  644. arkruntime/types/session/managed_agents_text_block.py +23 -0
  645. arkruntime/types/session/managed_agents_text_rubric_params.py +23 -0
  646. arkruntime/types/session/managed_agents_tool_result_content_block.py +34 -0
  647. arkruntime/types/session/managed_agents_user_custom_tool_result_event_params.py +44 -0
  648. arkruntime/types/session/managed_agents_user_define_outcome_event_params.py +45 -0
  649. arkruntime/types/session/managed_agents_user_interrupt_event_params.py +31 -0
  650. arkruntime/types/session/managed_agents_user_message_event_params.py +34 -0
  651. arkruntime/types/session/managed_agents_user_tool_confirmation_event_params.py +46 -0
  652. arkruntime/types/session/managed_agents_user_tool_result_event_params.py +44 -0
  653. arkruntime/types/session/plain_text_document_source.py +27 -0
  654. arkruntime/types/session/search_result_citations.py +20 -0
  655. arkruntime/types/session/search_result_content.py +20 -0
  656. arkruntime/types/session/send_session_events_request.py +24 -0
  657. arkruntime/types/session/send_session_events_response.py +22 -0
  658. arkruntime/types/session/session.py +80 -0
  659. arkruntime/types/session/session_resource.py +70 -0
  660. arkruntime/types/session/session_resource_access.py +18 -0
  661. arkruntime/types/session/session_resource_type.py +19 -0
  662. arkruntime/types/session/session_status.py +20 -0
  663. arkruntime/types/session/session_stream_shim.py +540 -0
  664. arkruntime/types/session/session_thread.py +56 -0
  665. arkruntime/types/session/session_thread_status.py +20 -0
  666. arkruntime/types/session/session_usage.py +36 -0
  667. arkruntime/types/session/tag.py +26 -0
  668. arkruntime/types/session/tool_confirmation_result.py +18 -0
  669. arkruntime/types/session/update_session_request.py +28 -0
  670. arkruntime/types/session/url_document_source.py +23 -0
  671. arkruntime/types/session/url_image_source.py +23 -0
  672. arkruntime/types/skill/__init__.py +18 -0
  673. arkruntime/types/skill/_init_extras_shim.py +12 -0
  674. arkruntime/types/skill/create_skill_request.py +18 -0
  675. arkruntime/types/skill/skill.py +46 -0
  676. arkruntime/types/tokenization/__init__.py +24 -0
  677. arkruntime/types/tokenization/_init_extras_shim.py +12 -0
  678. arkruntime/types/tokenization/tokenization_input.py +17 -0
  679. arkruntime/types/tokenization/tokenization_input_param.py +15 -0
  680. arkruntime/types/tokenization/tokenization_item.py +39 -0
  681. arkruntime/types/tokenization/tokenization_request.py +30 -0
  682. arkruntime/types/tokenization/tokenization_request_param.py +30 -0
  683. arkruntime/types/tokenization/tokenization_response.py +36 -0
  684. arkruntime/types/vault/__init__.py +62 -0
  685. arkruntime/types/vault/_init_extras_shim.py +12 -0
  686. arkruntime/types/vault/create_credential_request.py +32 -0
  687. arkruntime/types/vault/create_vault_request.py +26 -0
  688. arkruntime/types/vault/credential.py +52 -0
  689. arkruntime/types/vault/credential_auth.py +64 -0
  690. arkruntime/types/vault/credential_auth_type.py +22 -0
  691. arkruntime/types/vault/credential_networking.py +29 -0
  692. arkruntime/types/vault/credential_networking_type.py +18 -0
  693. arkruntime/types/vault/credential_validation.py +54 -0
  694. arkruntime/types/vault/delete_credential_response.py +26 -0
  695. arkruntime/types/vault/delete_vault_response.py +26 -0
  696. arkruntime/types/vault/limited_credential_networking.py +22 -0
  697. arkruntime/types/vault/list_credentials_response.py +35 -0
  698. arkruntime/types/vault/list_vaults_response.py +32 -0
  699. arkruntime/types/vault/mcp_probe.py +26 -0
  700. arkruntime/types/vault/mcpo_auth_refresh.py +45 -0
  701. arkruntime/types/vault/refresh_http_response.py +32 -0
  702. arkruntime/types/vault/refresh_object.py +27 -0
  703. arkruntime/types/vault/refresh_status.py +20 -0
  704. arkruntime/types/vault/token_endpoint_auth.py +29 -0
  705. arkruntime/types/vault/token_endpoint_auth_type.py +19 -0
  706. arkruntime/types/vault/update_credential_request.py +35 -0
  707. arkruntime/types/vault/update_vault_request.py +27 -0
  708. arkruntime/types/vault/validation_status.py +19 -0
  709. arkruntime/types/vault/vault.py +42 -0
  710. arkruntime-0.1.0.dist-info/METADATA +347 -0
  711. arkruntime-0.1.0.dist-info/RECORD +714 -0
  712. arkruntime-0.1.0.dist-info/WHEEL +5 -0
  713. arkruntime-0.1.0.dist-info/licenses/LICENSE +201 -0
  714. arkruntime-0.1.0.dist-info/top_level.txt +1 -0
arkruntime/_client.py ADDED
@@ -0,0 +1,585 @@
1
+ # Copyright (c) 2025 ByteDance Ltd. and/or its affiliates.
2
+ # SPDX-License-Identifier: Apache-2.0
3
+ # License text: https://github.com/volcengine/ark-runtime-python/blob/main/LICENSE
4
+
5
+ from __future__ import annotations
6
+
7
+ import asyncio
8
+ import logging
9
+ import os
10
+ import threading
11
+ import time
12
+ from collections import defaultdict
13
+ from typing import Dict, Optional, Tuple
14
+
15
+ import volcenginesdkark
16
+ from httpx import URL, AsyncClient, Client, Timeout
17
+ from volcenginesdkcore.rest import ApiException
18
+
19
+ from . import resources
20
+ from ._base_client import AsyncAPIClient, SyncAPIClient
21
+ from ._constants import (
22
+ _CLOUD_PRESETS,
23
+ _DEFAULT_ADVISORY_REFRESH_TIMEOUT,
24
+ _DEFAULT_MANDATORY_REFRESH_TIMEOUT,
25
+ _DEFAULT_RESOURCE_TYPE,
26
+ _DEFAULT_STS_TIMEOUT,
27
+ _PRESETENDPOINT_RESOURCE_TYPE,
28
+ BASE_URL,
29
+ DEFAULT_MAX_RETRIES,
30
+ DEFAULT_TIMEOUT,
31
+ Cloud,
32
+ )
33
+ from ._exceptions import ArkAPIError
34
+ from ._models import BaseModel
35
+ from ._streaming import Stream
36
+ from ._utils._key_agreement import get_cert_info, key_agreement_client
37
+ from ._utils._model_breaker import ModelBreaker
38
+ from .resources.batch import batch
39
+ from .resources.beta import beta
40
+
41
+ __all__ = ["Ark", "AsyncArk"]
42
+
43
+
44
+ class Ark(SyncAPIClient):
45
+ beta: beta.Beta
46
+ chat: resources.Chat
47
+ embeddings: resources.Embeddings
48
+ tokenization: resources.Tokenization
49
+ multimodal_embeddings: resources.MultimodalEmbeddings
50
+ content_generation: resources.ContentGeneration
51
+ images: resources.Images
52
+ responses: resources.Responses
53
+ input_items: resources.InputItems
54
+ batch: batch.Batch
55
+ model_breaker_map: dict[str, ModelBreaker]
56
+ model_breaker_lock: threading.Lock
57
+ files: resources.Files
58
+
59
+ def __init__(
60
+ self,
61
+ *,
62
+ base_url: str | URL = BASE_URL,
63
+ ak: str | None = None,
64
+ sk: str | None = None,
65
+ api_key: str | None = None,
66
+ region: str = "cn-beijing",
67
+ timeout: float | Timeout | None = DEFAULT_TIMEOUT,
68
+ max_retries: int = DEFAULT_MAX_RETRIES,
69
+ http_client: Client | None = None,
70
+ ) -> None:
71
+ """init ark client, this client is thread unsafe. If need to use in multi thread, init a new `Ark` client in
72
+ each thread
73
+
74
+ Args:
75
+ ak: access key id
76
+ sk: secret access key
77
+ api_key: api key,this api key will not be refreshed
78
+ timeout: timeout of client. default httpx.Timeout(timeout=60.0, connect=60.0)
79
+ max_retries: times of retry when request failed. default 1
80
+ http_client: specify customized http_client
81
+ Returns:
82
+ ark client
83
+ """
84
+ if ak is None:
85
+ ak = os.environ.get("VOLC_ACCESSKEY")
86
+ if sk is None:
87
+ sk = os.environ.get("VOLC_SECRETKEY")
88
+ if api_key is None:
89
+ api_key = os.environ.get("ARK_API_KEY")
90
+ self._base_url = base_url
91
+ self.ak = ak
92
+ self.sk = sk
93
+ self.api_key = api_key
94
+ self.region = region
95
+
96
+ # Reject empty api_key eagerly — passing "" would otherwise skip the
97
+ # `is not None` guard, produce an "Authorization: Bearer " header
98
+ # with no token, and surface as an opaque ArkAPIConnectionError
99
+ # ("Connection error") from the HTTP layer instead of a clear
100
+ # config-time failure.
101
+ if api_key is not None and not api_key.strip():
102
+ raise ValueError(
103
+ "api_key must be a non-empty string; got '' — supply a valid API "
104
+ "key, set ARK_API_KEY, or pass ak/sk instead"
105
+ )
106
+ assert (api_key is not None) or (ak is not None and sk is not None), "you need to support api_key or ak&sk"
107
+
108
+ super().__init__(
109
+ base_url=base_url,
110
+ max_retries=max_retries,
111
+ timeout=timeout,
112
+ http_client=http_client,
113
+ custom_query=None,
114
+ )
115
+
116
+ self._default_stream_cls = Stream
117
+ self._sts_token_manager: StsTokenManager | None = None
118
+ self._certificate_manager: E2ECertificateManager | None = None
119
+
120
+ self.beta = beta.Beta(self)
121
+ self.chat = resources.Chat(self)
122
+ self.embeddings = resources.Embeddings(self)
123
+ self.tokenization = resources.Tokenization(self)
124
+ self.multimodal_embeddings = resources.MultimodalEmbeddings(self)
125
+ self.content_generation = resources.ContentGeneration(self)
126
+ self.images = resources.Images(self)
127
+ self.responses = resources.Responses(self)
128
+ self.input_items = resources.InputItems(self)
129
+ self.batch = batch.Batch(self)
130
+ self.model_breaker_map = defaultdict(ModelBreaker)
131
+ self.model_breaker_lock = threading.Lock()
132
+ self.files = resources.Files(self)
133
+ # Managed Agents (data plane /api/v3/*)
134
+ self.agents = resources.Agents(self)
135
+ self.environments = resources.Environments(self)
136
+ self.memory_stores = resources.MemoryStores(self)
137
+ self.sessions = resources.Sessions(self)
138
+ self.skills = resources.Skills(self)
139
+ self.vaults = resources.Vaults(self)
140
+
141
+ @classmethod
142
+ def volc(cls, **kwargs) -> "Ark":
143
+ """Construct an Ark client targeting the Volcengine cloud
144
+ (``ark.cn-beijing.volces.com``). Reads ``VOLC_ACCESSKEY`` /
145
+ ``VOLC_SECRETKEY`` for AK/SK and ``ARK_API_KEY`` for the API key
146
+ when those kwargs are not passed explicitly."""
147
+ return _from_cloud(cls, Cloud.VOLC, **kwargs)
148
+
149
+ @classmethod
150
+ def byteplus(cls, **kwargs) -> "Ark":
151
+ """Construct an Ark client targeting the Byteplus cloud
152
+ (``ark.ap-southeast.bytepluses.com``). Reads
153
+ ``BYTEPLUS_ACCESSKEY`` / ``BYTEPLUS_SECRETKEY`` and ``ARK_API_KEY``
154
+ when those kwargs are not passed explicitly."""
155
+ return _from_cloud(cls, Cloud.BYTEPLUS, **kwargs)
156
+
157
+ def _get_endpoint_sts_token(self, endpoint_id: str, project_name: str = None):
158
+ if self._sts_token_manager is None:
159
+ if self.ak is None or self.sk is None:
160
+ raise ArkAPIError("must set ak and sk before get endpoint token.")
161
+ self._sts_token_manager = StsTokenManager(self.ak, self.sk, self.region)
162
+ resource_type: str = self.get_resource_type_by_endpoint_id(endpoint_id)
163
+ if resource_type == _PRESETENDPOINT_RESOURCE_TYPE and (project_name is None or project_name.strip() == ""):
164
+ raise ArkAPIError("must set project_name when get preset endpoint token.")
165
+ return self._sts_token_manager.get(endpoint_id, resource_type=resource_type, project_name=project_name)
166
+
167
+ def _get_endpoint_certificate(self, endpoint_id: str) -> key_agreement_client:
168
+ if self._certificate_manager is None:
169
+ cert_path = os.environ.get("E2E_CERTIFICATE_PATH")
170
+ if (self.ak is None or self.sk is None) and cert_path is None and self.api_key is None:
171
+ raise ArkAPIError(
172
+ "must set (api_key) or (ak and sk) \
173
+ or (E2E_CERTIFICATE_PATH) before get endpoint token."
174
+ )
175
+ self._certificate_manager = E2ECertificateManager(
176
+ self.ak, self.sk, self.region, self._base_url, self.api_key
177
+ )
178
+ return self._certificate_manager.get(endpoint_id)
179
+
180
+ @property
181
+ def auth_headers(self) -> dict[str, str]:
182
+ api_key = self.api_key
183
+ return {"Authorization": f"Bearer {api_key}"}
184
+
185
+ def get_model_breaker(self, model_name: str) -> ModelBreaker:
186
+ with self.model_breaker_lock:
187
+ return self.model_breaker_map[model_name]
188
+
189
+ def get_resource_type_by_endpoint_id(self, endpoint_id: str) -> str:
190
+ if endpoint_id.startswith("ep-m-"):
191
+ return _PRESETENDPOINT_RESOURCE_TYPE
192
+ if endpoint_id.startswith("ep-"):
193
+ return _DEFAULT_RESOURCE_TYPE
194
+ # for model id, default to preset endpoint
195
+ return _PRESETENDPOINT_RESOURCE_TYPE
196
+
197
+
198
+ class AsyncArk(AsyncAPIClient):
199
+ beta: beta.AsyncBeta
200
+ chat: resources.AsyncChat
201
+ embeddings: resources.AsyncEmbeddings
202
+ tokenization: resources.AsyncTokenization
203
+ multimodal_embeddings: resources.AsyncMultimodalEmbeddings
204
+ content_generation: resources.AsyncContentGeneration
205
+ images: resources.AsyncImages
206
+ responses: resources.AsyncResponses
207
+ input_items: resources.AsyncInputItems
208
+ batch: batch.AsyncBatch
209
+ model_breaker_map: dict[str, ModelBreaker]
210
+ model_breaker_lock: asyncio.Lock
211
+ files: resources.AsyncFiles
212
+
213
+ def __init__(
214
+ self,
215
+ *,
216
+ ak: str | None = None,
217
+ sk: str | None = None,
218
+ api_key: str | None = None,
219
+ base_url: str | URL = BASE_URL,
220
+ region: str = "cn-beijing",
221
+ timeout: float | Timeout | None = DEFAULT_TIMEOUT,
222
+ max_retries: int = DEFAULT_MAX_RETRIES,
223
+ http_client: AsyncClient | None = None,
224
+ ) -> None:
225
+ """init async ark client, this client is thread unsafe
226
+
227
+ Args:
228
+ ak: access key id
229
+ sk: secret access key
230
+ api_key: api key,this api key will not be refreshed
231
+ timeout: timeout of client. default httpx.Timeout(timeout=60.0, connect=60.0)
232
+ max_retries: times of retry when request failed. default 1
233
+ http_client: specify customized http_client
234
+ Returns:
235
+ async ark client
236
+ """
237
+
238
+ if ak is None:
239
+ ak = os.environ.get("VOLC_ACCESSKEY")
240
+ if sk is None:
241
+ sk = os.environ.get("VOLC_SECRETKEY")
242
+ if api_key is None:
243
+ api_key = os.environ.get("ARK_API_KEY")
244
+ self._base_url = base_url
245
+ self.ak = ak
246
+ self.sk = sk
247
+ self.api_key = api_key
248
+ self.region = region
249
+
250
+ # Reject empty api_key eagerly — passing "" would otherwise skip the
251
+ # `is not None` guard, produce an "Authorization: Bearer " header
252
+ # with no token, and surface as an opaque ArkAPIConnectionError
253
+ # ("Connection error") from the HTTP layer instead of a clear
254
+ # config-time failure.
255
+ if api_key is not None and not api_key.strip():
256
+ raise ValueError(
257
+ "api_key must be a non-empty string; got '' — supply a valid API "
258
+ "key, set ARK_API_KEY, or pass ak/sk instead"
259
+ )
260
+ assert (api_key is not None) or (ak is not None and sk is not None), "you need to support api_key or ak&sk"
261
+
262
+ super().__init__(
263
+ base_url=base_url,
264
+ max_retries=max_retries,
265
+ timeout=timeout,
266
+ http_client=http_client,
267
+ custom_query=None,
268
+ )
269
+
270
+ self._default_stream_cls = Stream
271
+ self._sts_token_manager: StsTokenManager | None = None
272
+ self._certificate_manager: E2ECertificateManager | None = None
273
+
274
+ self.beta = beta.AsyncBeta(self)
275
+ self.chat = resources.AsyncChat(self)
276
+ self.embeddings = resources.AsyncEmbeddings(self)
277
+ self.tokenization = resources.AsyncTokenization(self)
278
+ self.multimodal_embeddings = resources.AsyncMultimodalEmbeddings(self)
279
+ self.content_generation = resources.AsyncContentGeneration(self)
280
+ self.images = resources.AsyncImages(self)
281
+ self.responses = resources.AsyncResponses(self)
282
+ self.input_items = resources.AsyncInputItems(self)
283
+ self.batch = batch.AsyncBatch(self)
284
+ self.model_breaker_map = defaultdict(ModelBreaker)
285
+ self.model_breaker_lock = asyncio.Lock()
286
+ self.files = resources.AsyncFiles(self)
287
+ # Managed Agents (data plane /api/v3/*)
288
+ self.agents = resources.AsyncAgents(self)
289
+ self.environments = resources.AsyncEnvironments(self)
290
+ self.memory_stores = resources.AsyncMemoryStores(self)
291
+ self.sessions = resources.AsyncSessions(self)
292
+ self.skills = resources.AsyncSkills(self)
293
+ self.vaults = resources.AsyncVaults(self)
294
+
295
+ @classmethod
296
+ def volc(cls, **kwargs) -> "AsyncArk":
297
+ """See :meth:`Ark.volc`."""
298
+ return _from_cloud(cls, Cloud.VOLC, **kwargs)
299
+
300
+ @classmethod
301
+ def byteplus(cls, **kwargs) -> "AsyncArk":
302
+ """See :meth:`Ark.byteplus`."""
303
+ return _from_cloud(cls, Cloud.BYTEPLUS, **kwargs)
304
+
305
+ def _get_endpoint_sts_token(self, endpoint_id: str):
306
+ if self._sts_token_manager is None:
307
+ if self.ak is None or self.sk is None:
308
+ raise ArkAPIError("must set ak and sk before get endpoint token.")
309
+ self._sts_token_manager = StsTokenManager(self.ak, self.sk, self.region)
310
+ return self._sts_token_manager.get(endpoint_id)
311
+
312
+ def _get_endpoint_certificate(self, endpoint_id: str) -> key_agreement_client:
313
+ if self._certificate_manager is None:
314
+ cert_path = os.environ.get("E2E_CERTIFICATE_PATH")
315
+ if (self.ak is None or self.sk is None) and cert_path is None and self.api_key is None:
316
+ raise ArkAPIError(
317
+ "must set (api_key) or (ak and sk) \
318
+ or (E2E_CERTIFICATE_PATH) before get endpoint token."
319
+ )
320
+ self._certificate_manager = E2ECertificateManager(
321
+ self.ak, self.sk, self.region, self._base_url, self.api_key
322
+ )
323
+ return self._certificate_manager.get(endpoint_id)
324
+
325
+ @property
326
+ def auth_headers(self) -> dict[str, str]:
327
+ api_key = self.api_key
328
+ return {"Authorization": f"Bearer {api_key}"}
329
+
330
+ async def get_model_breaker(self, model_name: str) -> ModelBreaker:
331
+ async with self.model_breaker_lock:
332
+ return self.model_breaker_map[model_name]
333
+
334
+
335
+ def _from_cloud(cls, cloud: str, **kwargs):
336
+ """Resolve a cloud preset, fill in env-var defaults for the cloud's
337
+ specific AK/SK names plus the shared ``ARK_API_KEY``, then delegate to
338
+ ``cls.__init__``. Explicit kwargs always win."""
339
+ preset = _CLOUD_PRESETS[cloud]
340
+ kwargs.setdefault("base_url", preset["base_url"])
341
+ kwargs.setdefault("region", preset["region"])
342
+ if "ak" not in kwargs:
343
+ kwargs["ak"] = os.environ.get(preset["ak_env"])
344
+ if "sk" not in kwargs:
345
+ kwargs["sk"] = os.environ.get(preset["sk_env"])
346
+ if "api_key" not in kwargs:
347
+ kwargs["api_key"] = os.environ.get("ARK_API_KEY")
348
+ return cls(**kwargs)
349
+
350
+
351
+ class StsTokenManager(object):
352
+ # The time at which we'll attempt to refresh, but not
353
+ # block if someone else is refreshing.
354
+ _advisory_refresh_timeout: int = _DEFAULT_ADVISORY_REFRESH_TIMEOUT
355
+ # The time at which all threads will block waiting for
356
+ # refreshed credentials.
357
+ _mandatory_refresh_timeout: int = _DEFAULT_MANDATORY_REFRESH_TIMEOUT
358
+
359
+ def __init__(self, ak: str, sk: str, region: str):
360
+ self._endpoint_sts_tokens: Dict[str, Tuple[str, int]] = defaultdict(lambda: ("", 0))
361
+ self._refresh_lock = threading.Lock()
362
+
363
+ import volcenginesdkcore
364
+
365
+ configuration = volcenginesdkcore.Configuration()
366
+ configuration.ak = ak
367
+ configuration.sk = sk
368
+ configuration.region = region
369
+ configuration.schema = "https"
370
+
371
+ volcenginesdkcore.Configuration.set_default(configuration)
372
+ self.api_instance = volcenginesdkark.ARKApi()
373
+
374
+ def _need_refresh(self, ep: str, refresh_in: int | None = None) -> bool:
375
+ if refresh_in is None:
376
+ refresh_in = self._advisory_refresh_timeout
377
+
378
+ return self._endpoint_sts_tokens[ep][1] - time.time() < refresh_in
379
+
380
+ def _protected_refresh(
381
+ self,
382
+ ep: str,
383
+ ttl: int = _DEFAULT_STS_TIMEOUT,
384
+ is_mandatory: bool = False,
385
+ resource_type: str = _DEFAULT_RESOURCE_TYPE,
386
+ project_name: str = None,
387
+ ):
388
+ if ttl < self._advisory_refresh_timeout * 2:
389
+ raise ArkAPIError("ttl should not be under {} seconds.".format(self._advisory_refresh_timeout * 2))
390
+
391
+ try:
392
+ api_key, expired_time = self._load_api_key(ep, ttl, resource_type=resource_type, project_name=project_name)
393
+ self._endpoint_sts_tokens[ep] = (api_key, expired_time)
394
+ except ApiException as e:
395
+ if is_mandatory:
396
+ raise ArkAPIError("load api key cause error: e={}".format(e))
397
+ else:
398
+ logging.error("load api key cause error: e={}".format(e))
399
+
400
+ def _refresh(self, ep: str, resource_type: str = _DEFAULT_RESOURCE_TYPE, project_name: str = None):
401
+ if not self._need_refresh(ep, self._advisory_refresh_timeout):
402
+ return
403
+
404
+ if self._refresh_lock.acquire(False):
405
+ if not self._need_refresh(ep, self._advisory_refresh_timeout):
406
+ return
407
+
408
+ try:
409
+ is_mandatory_refresh = self._need_refresh(ep, self._mandatory_refresh_timeout)
410
+
411
+ self._protected_refresh(
412
+ ep, is_mandatory=is_mandatory_refresh, resource_type=resource_type, project_name=project_name
413
+ )
414
+ return
415
+ finally:
416
+ self._refresh_lock.release()
417
+ elif self._need_refresh(ep, self._mandatory_refresh_timeout):
418
+ with self._refresh_lock:
419
+ if not self._need_refresh(ep, self._mandatory_refresh_timeout):
420
+ return
421
+
422
+ self._protected_refresh(ep, is_mandatory=True, resource_type=resource_type, project_name=project_name)
423
+
424
+ def get(self, ep: str, resource_type: str = _DEFAULT_RESOURCE_TYPE, project_name: str = None) -> str:
425
+ self._refresh(ep, resource_type=resource_type, project_name=project_name)
426
+ return self._endpoint_sts_tokens[ep][0]
427
+
428
+ def _load_api_key(
429
+ self,
430
+ ep: str,
431
+ duration_seconds: int,
432
+ resource_type: str = _DEFAULT_RESOURCE_TYPE,
433
+ project_name: str = None,
434
+ ) -> Tuple[str, int]:
435
+ get_api_key_request = volcenginesdkark.GetApiKeyRequest(
436
+ duration_seconds=duration_seconds,
437
+ resource_type=resource_type,
438
+ resource_ids=[ep],
439
+ )
440
+ if project_name is not None and project_name.strip() != "":
441
+ get_api_key_request.project_name = project_name
442
+ resp: volcenginesdkark.GetApiKeyResponse = self.api_instance.get_api_key(get_api_key_request)
443
+
444
+ return resp.api_key, resp.expired_time
445
+
446
+
447
+ class CertificateResponse(BaseModel):
448
+ error: Optional[Dict[str, str]] = None
449
+ """The error information."""
450
+
451
+ Certificate: str
452
+ """The certificate content."""
453
+
454
+
455
+ class E2ECertificateManager(object):
456
+ def __init__(
457
+ self,
458
+ ak: str,
459
+ sk: str,
460
+ region: str,
461
+ base_url: str | URL = BASE_URL,
462
+ api_key: str | None = None,
463
+ ):
464
+ self._certificate_manager: Dict[str, key_agreement_client] = {}
465
+
466
+ # local cache prepare
467
+ self._init_local_cert_cache()
468
+
469
+ # api instance prepare
470
+ import volcenginesdkcore
471
+
472
+ configuration = volcenginesdkcore.Configuration()
473
+ configuration.ak = ak
474
+ configuration.sk = sk
475
+ configuration.region = region
476
+ configuration.schema = "https"
477
+ volcenginesdkcore.Configuration.set_default(configuration)
478
+ self.api_instance = volcenginesdkark.ARKApi()
479
+
480
+ # global cert path prepare
481
+ self.cert_path = os.environ.get("E2E_CERTIFICATE_PATH")
482
+
483
+ # ark client prepare
484
+ self._ark_client_enabled = True
485
+ if api_key is None:
486
+ self._ark_client_enabled = False
487
+ else:
488
+ self.client = Ark(
489
+ base_url=base_url,
490
+ api_key=api_key,
491
+ )
492
+ self._e2e_uri = "/e2e/get/certificate"
493
+ self._x_session_token = {"X-Session-Token": self._e2e_uri}
494
+
495
+ self._aicc_enabled = False
496
+ if os.environ.get("VOLC_ARK_ENCRYPTION") == "AICC":
497
+ self._aicc_enabled = True
498
+
499
+ def _load_cert_by_cert_path(self) -> str:
500
+ with open(self.cert_path, "r") as f:
501
+ cert_pem = f.read()
502
+ return cert_pem
503
+
504
+ def _load_cert_by_ak_sk(self, ep: str) -> str:
505
+ get_endpoint_certificate_request = volcenginesdkark.GetEndpointCertificateRequest(id=ep)
506
+ if self._aicc_enabled:
507
+ get_endpoint_certificate_request = volcenginesdkark.GetEndpointCertificateRequest(id=ep, type="AICCv0.1")
508
+ try:
509
+ resp: volcenginesdkark.GetEndpointCertificateResponse = self.api_instance.get_endpoint_certificate(
510
+ get_endpoint_certificate_request
511
+ )
512
+ except ApiException as e:
513
+ raise ArkAPIError("Getting model vendor encryption certificate failed: %s\n" % e)
514
+
515
+ return resp.pca_instance_certificate
516
+
517
+ def _sync_load_cert_by_auth(self, ep: str) -> str:
518
+ # try to make request with session header (used for header statistic)
519
+ try:
520
+ req_body = {"model": ep}
521
+ if self._aicc_enabled:
522
+ req_body["type"] = "AICCv0.1"
523
+ resp = self.client.post(
524
+ self._e2e_uri,
525
+ options={"headers": self._x_session_token},
526
+ body=req_body,
527
+ cast_to=CertificateResponse,
528
+ )
529
+ except Exception as e:
530
+ raise ArkAPIError("Getting Certificate failed: %s\n" % e)
531
+ if resp.error is not None:
532
+ raise ArkAPIError("Getting Certificate failed: %s\n" % resp.error)
533
+ return resp.Certificate
534
+
535
+ def _save_cert_to_file(self, ep: str, cert_pem: str):
536
+ cert_file_path = os.path.join(self._cert_storage_path, f"{ep}.pem")
537
+ with open(cert_file_path, "w") as f:
538
+ f.write(cert_pem)
539
+
540
+ def _load_cert_locally(self, ep: str) -> str | None:
541
+ cert_file_path = os.path.join(self._cert_storage_path, f"{ep}.pem")
542
+ if os.path.exists(cert_file_path):
543
+ last_modified_time = os.path.getmtime(cert_file_path)
544
+ current_time = time.time()
545
+ time_difference = current_time - last_modified_time
546
+ if time_difference <= self._cert_expiration_seconds:
547
+ cert_pem = None
548
+ with open(cert_file_path, "r") as f:
549
+ cert_pem = f.read()
550
+ ring, key, _ = get_cert_info(cert_pem)
551
+ # check cert is complement with AICC/PCA
552
+ if (ring == "" or key == "") and not self._aicc_enabled:
553
+ return cert_pem
554
+ if ring != "" and key != "" and self._aicc_enabled:
555
+ return cert_pem
556
+ os.remove(cert_file_path)
557
+ return None
558
+
559
+ def _init_local_cert_cache(self):
560
+ self._cert_storage_path = os.path.expanduser("~/.ark/certificates")
561
+ self._cert_expiration_seconds = 14 * 24 * 60 * 60 # 14 days
562
+
563
+ if not os.path.exists(self._cert_storage_path):
564
+ try:
565
+ os.makedirs(self._cert_storage_path)
566
+ except FileExistsError:
567
+ pass
568
+ except Exception as e:
569
+ raise ArkAPIError("failed to create certificate directory %s: %s\n" % (self._cert_storage_path, e))
570
+
571
+ def get(self, ep: str) -> key_agreement_client:
572
+ if ep in self._certificate_manager and not self._certificate_manager[ep].need_reload():
573
+ return self._certificate_manager[ep]
574
+ cert_pem = self._load_cert_locally(ep)
575
+ if cert_pem is None:
576
+ if self.cert_path is not None:
577
+ cert_pem = self._load_cert_by_cert_path()
578
+ elif self._ark_client_enabled:
579
+ cert_pem = self._sync_load_cert_by_auth(ep)
580
+ else:
581
+ cert_pem = self._load_cert_by_ak_sk(ep)
582
+ self._save_cert_to_file(ep, cert_pem)
583
+ client = key_agreement_client(certificate_pem_string=cert_pem)
584
+ self._certificate_manager[ep] = client
585
+ return client