letta-client 0.1.233__py3-none-any.whl → 0.1.235__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.

Potentially problematic release.


This version of letta-client might be problematic. Click here for more details.

Files changed (438) hide show
  1. letta_client/__init__.py +2 -0
  2. letta_client/agents/__init__.py +2 -0
  3. letta_client/agents/blocks/__init__.py +2 -0
  4. letta_client/agents/blocks/client.py +72 -313
  5. letta_client/agents/blocks/raw_client.py +654 -0
  6. letta_client/agents/client.py +349 -869
  7. letta_client/agents/context/__init__.py +2 -0
  8. letta_client/agents/context/client.py +31 -66
  9. letta_client/agents/context/raw_client.py +122 -0
  10. letta_client/agents/core_memory/__init__.py +2 -0
  11. letta_client/agents/core_memory/client.py +31 -66
  12. letta_client/agents/core_memory/raw_client.py +124 -0
  13. letta_client/agents/files/__init__.py +2 -0
  14. letta_client/agents/files/client.py +39 -178
  15. letta_client/agents/files/raw_client.py +349 -0
  16. letta_client/agents/folders/__init__.py +2 -0
  17. letta_client/agents/folders/client.py +39 -178
  18. letta_client/agents/folders/raw_client.py +327 -0
  19. letta_client/agents/groups/__init__.py +2 -0
  20. letta_client/agents/groups/client.py +31 -72
  21. letta_client/agents/groups/raw_client.py +142 -0
  22. letta_client/agents/memory_variables/__init__.py +2 -0
  23. letta_client/agents/memory_variables/client.py +31 -65
  24. letta_client/agents/memory_variables/raw_client.py +125 -0
  25. letta_client/agents/memory_variables/types/__init__.py +2 -0
  26. letta_client/agents/memory_variables/types/memory_variables_list_response.py +3 -2
  27. letta_client/agents/messages/__init__.py +2 -0
  28. letta_client/agents/messages/client.py +150 -589
  29. letta_client/agents/messages/raw_client.py +1384 -0
  30. letta_client/agents/messages/types/__init__.py +2 -0
  31. letta_client/agents/messages/types/letta_streaming_response.py +6 -5
  32. letta_client/agents/messages/types/messages_modify_request.py +3 -2
  33. letta_client/agents/messages/types/messages_modify_response.py +5 -4
  34. letta_client/agents/messages/types/messages_preview_raw_payload_request.py +1 -0
  35. letta_client/agents/passages/__init__.py +2 -0
  36. letta_client/agents/passages/client.py +89 -301
  37. letta_client/agents/passages/raw_client.py +678 -0
  38. letta_client/agents/raw_client.py +2088 -0
  39. letta_client/agents/sources/__init__.py +2 -0
  40. letta_client/agents/sources/client.py +39 -178
  41. letta_client/agents/sources/raw_client.py +327 -0
  42. letta_client/agents/templates/__init__.py +2 -0
  43. letta_client/agents/templates/client.py +57 -276
  44. letta_client/agents/templates/raw_client.py +505 -0
  45. letta_client/agents/templates/types/__init__.py +2 -0
  46. letta_client/agents/templates/types/templates_create_response.py +5 -4
  47. letta_client/agents/templates/types/templates_migrate_response.py +3 -2
  48. letta_client/agents/tools/__init__.py +2 -0
  49. letta_client/agents/tools/client.py +40 -179
  50. letta_client/agents/tools/raw_client.py +327 -0
  51. letta_client/agents/types/__init__.py +2 -0
  52. letta_client/agents/types/agents_search_request_search_item.py +4 -3
  53. letta_client/agents/types/agents_search_request_search_item_field.py +4 -3
  54. letta_client/agents/types/agents_search_request_search_item_one.py +4 -3
  55. letta_client/agents/types/agents_search_request_search_item_three.py +3 -2
  56. letta_client/agents/types/agents_search_request_search_item_two.py +3 -2
  57. letta_client/agents/types/agents_search_request_search_item_zero.py +3 -2
  58. letta_client/agents/types/agents_search_response.py +5 -4
  59. letta_client/agents/types/create_agent_request_response_format.py +1 -0
  60. letta_client/agents/types/create_agent_request_tool_rules_item.py +4 -3
  61. letta_client/agents/types/update_agent_response_format.py +1 -0
  62. letta_client/agents/types/update_agent_tool_rules_item.py +4 -3
  63. letta_client/base_client.py +41 -49
  64. letta_client/batches/__init__.py +2 -0
  65. letta_client/batches/client.py +45 -253
  66. letta_client/batches/raw_client.py +457 -0
  67. letta_client/blocks/__init__.py +2 -0
  68. letta_client/blocks/agents/__init__.py +2 -0
  69. letta_client/blocks/agents/client.py +33 -70
  70. letta_client/blocks/agents/raw_client.py +144 -0
  71. letta_client/blocks/client.py +126 -424
  72. letta_client/blocks/raw_client.py +973 -0
  73. letta_client/client_side_access_tokens/__init__.py +2 -0
  74. letta_client/client_side_access_tokens/client.py +45 -216
  75. letta_client/client_side_access_tokens/raw_client.py +435 -0
  76. letta_client/client_side_access_tokens/types/__init__.py +2 -0
  77. letta_client/client_side_access_tokens/types/client_side_access_tokens_create_request_policy_item.py +4 -3
  78. letta_client/client_side_access_tokens/types/client_side_access_tokens_create_response.py +6 -5
  79. letta_client/client_side_access_tokens/types/client_side_access_tokens_create_response_policy.py +4 -3
  80. letta_client/client_side_access_tokens/types/client_side_access_tokens_create_response_policy_data_item.py +4 -3
  81. letta_client/client_side_access_tokens/types/client_side_access_tokens_list_client_side_access_tokens_response.py +6 -5
  82. letta_client/client_side_access_tokens/types/client_side_access_tokens_list_client_side_access_tokens_response_tokens_item.py +6 -5
  83. letta_client/client_side_access_tokens/types/client_side_access_tokens_list_client_side_access_tokens_response_tokens_item_policy.py +4 -3
  84. letta_client/client_side_access_tokens/types/client_side_access_tokens_list_client_side_access_tokens_response_tokens_item_policy_data_item.py +4 -3
  85. letta_client/core/__init__.py +5 -0
  86. letta_client/core/api_error.py +13 -5
  87. letta_client/core/client_wrapper.py +14 -5
  88. letta_client/core/force_multipart.py +16 -0
  89. letta_client/core/http_client.py +70 -26
  90. letta_client/core/http_response.py +55 -0
  91. letta_client/core/jsonable_encoder.py +0 -1
  92. letta_client/core/pydantic_utilities.py +70 -111
  93. letta_client/core/serialization.py +7 -3
  94. letta_client/core/unchecked_base_model.py +40 -4
  95. letta_client/embedding_models/__init__.py +2 -0
  96. letta_client/embedding_models/client.py +31 -65
  97. letta_client/embedding_models/raw_client.py +117 -0
  98. letta_client/errors/__init__.py +2 -0
  99. letta_client/errors/bad_request_error.py +4 -3
  100. letta_client/errors/conflict_error.py +4 -2
  101. letta_client/errors/internal_server_error.py +4 -3
  102. letta_client/errors/not_found_error.py +4 -3
  103. letta_client/errors/payment_required_error.py +4 -2
  104. letta_client/errors/unprocessable_entity_error.py +4 -2
  105. letta_client/folders/__init__.py +2 -0
  106. letta_client/folders/client.py +100 -564
  107. letta_client/folders/files/__init__.py +2 -0
  108. letta_client/folders/files/client.py +44 -189
  109. letta_client/folders/files/raw_client.py +391 -0
  110. letta_client/folders/passages/__init__.py +2 -0
  111. letta_client/folders/passages/client.py +33 -74
  112. letta_client/folders/passages/raw_client.py +162 -0
  113. letta_client/folders/raw_client.py +1084 -0
  114. letta_client/groups/__init__.py +2 -0
  115. letta_client/groups/client.py +87 -406
  116. letta_client/groups/messages/__init__.py +2 -0
  117. letta_client/groups/messages/client.py +110 -371
  118. letta_client/groups/messages/raw_client.py +881 -0
  119. letta_client/groups/messages/types/__init__.py +2 -0
  120. letta_client/groups/messages/types/letta_streaming_response.py +5 -4
  121. letta_client/groups/messages/types/messages_modify_request.py +3 -2
  122. letta_client/groups/messages/types/messages_modify_response.py +5 -4
  123. letta_client/groups/raw_client.py +807 -0
  124. letta_client/groups/types/__init__.py +2 -0
  125. letta_client/groups/types/group_create_manager_config.py +1 -0
  126. letta_client/groups/types/group_update_manager_config.py +1 -0
  127. letta_client/health/__init__.py +2 -0
  128. letta_client/health/client.py +31 -43
  129. letta_client/health/raw_client.py +85 -0
  130. letta_client/identities/__init__.py +2 -0
  131. letta_client/identities/client.py +115 -498
  132. letta_client/identities/properties/__init__.py +2 -0
  133. letta_client/identities/properties/client.py +32 -76
  134. letta_client/identities/properties/raw_client.py +152 -0
  135. letta_client/identities/raw_client.py +1010 -0
  136. letta_client/jobs/__init__.py +2 -0
  137. letta_client/jobs/client.py +67 -310
  138. letta_client/jobs/raw_client.py +624 -0
  139. letta_client/messages/__init__.py +2 -0
  140. letta_client/messages/client.py +41 -74
  141. letta_client/messages/raw_client.py +186 -0
  142. letta_client/models/__init__.py +2 -0
  143. letta_client/models/client.py +39 -73
  144. letta_client/models/raw_client.py +151 -0
  145. letta_client/projects/__init__.py +2 -0
  146. letta_client/projects/client.py +31 -53
  147. letta_client/projects/raw_client.py +125 -0
  148. letta_client/projects/types/__init__.py +2 -0
  149. letta_client/projects/types/projects_list_response.py +5 -4
  150. letta_client/projects/types/projects_list_response_projects_item.py +3 -2
  151. letta_client/providers/__init__.py +2 -0
  152. letta_client/providers/client.py +62 -335
  153. letta_client/providers/raw_client.py +664 -0
  154. letta_client/runs/__init__.py +2 -0
  155. letta_client/runs/client.py +56 -258
  156. letta_client/runs/messages/__init__.py +2 -0
  157. letta_client/runs/messages/client.py +34 -79
  158. letta_client/runs/messages/raw_client.py +209 -0
  159. letta_client/runs/raw_client.py +440 -0
  160. letta_client/runs/steps/__init__.py +2 -0
  161. letta_client/runs/steps/client.py +33 -76
  162. letta_client/runs/steps/raw_client.py +192 -0
  163. letta_client/runs/usage/__init__.py +2 -0
  164. letta_client/runs/usage/client.py +31 -66
  165. letta_client/runs/usage/raw_client.py +122 -0
  166. letta_client/sources/__init__.py +2 -0
  167. letta_client/sources/client.py +107 -625
  168. letta_client/sources/files/__init__.py +2 -0
  169. letta_client/sources/files/client.py +44 -189
  170. letta_client/sources/files/raw_client.py +391 -0
  171. letta_client/sources/passages/__init__.py +2 -0
  172. letta_client/sources/passages/client.py +33 -74
  173. letta_client/sources/passages/raw_client.py +162 -0
  174. letta_client/sources/raw_client.py +1209 -0
  175. letta_client/steps/__init__.py +2 -0
  176. letta_client/steps/client.py +65 -153
  177. letta_client/steps/feedback/__init__.py +2 -0
  178. letta_client/steps/feedback/client.py +32 -73
  179. letta_client/steps/feedback/raw_client.py +141 -0
  180. letta_client/steps/raw_client.py +355 -0
  181. letta_client/steps/types/__init__.py +2 -0
  182. letta_client/tags/__init__.py +2 -0
  183. letta_client/tags/client.py +33 -73
  184. letta_client/tags/raw_client.py +148 -0
  185. letta_client/telemetry/__init__.py +2 -0
  186. letta_client/telemetry/client.py +31 -66
  187. letta_client/telemetry/raw_client.py +118 -0
  188. letta_client/templates/__init__.py +2 -0
  189. letta_client/templates/agents/__init__.py +2 -0
  190. letta_client/templates/agents/client.py +48 -96
  191. letta_client/templates/agents/raw_client.py +227 -0
  192. letta_client/templates/agents/types/__init__.py +2 -0
  193. letta_client/templates/agents/types/agents_create_request_initial_message_sequence_item.py +4 -3
  194. letta_client/templates/agents/types/agents_create_response.py +4 -3
  195. letta_client/templates/client.py +36 -57
  196. letta_client/templates/raw_client.py +133 -0
  197. letta_client/templates/types/__init__.py +2 -0
  198. letta_client/templates/types/templates_list_response.py +5 -4
  199. letta_client/templates/types/templates_list_response_templates_item.py +3 -2
  200. letta_client/tools/__init__.py +2 -0
  201. letta_client/tools/client.py +195 -1322
  202. letta_client/tools/raw_client.py +2565 -0
  203. letta_client/tools/types/__init__.py +2 -0
  204. letta_client/tools/types/add_mcp_server_request.py +2 -1
  205. letta_client/tools/types/add_mcp_server_response_item.py +2 -1
  206. letta_client/tools/types/connect_mcp_server_request.py +2 -1
  207. letta_client/tools/types/delete_mcp_server_response_item.py +2 -1
  208. letta_client/tools/types/list_mcp_servers_response_value.py +1 -0
  209. letta_client/tools/types/streaming_response.py +5 -4
  210. letta_client/tools/types/test_mcp_server_request.py +2 -1
  211. letta_client/tools/types/update_mcp_server_request.py +2 -1
  212. letta_client/tools/types/update_mcp_server_response.py +2 -1
  213. letta_client/types/__init__.py +2 -0
  214. letta_client/types/action_model.py +6 -5
  215. letta_client/types/action_parameters_model.py +3 -2
  216. letta_client/types/action_response_model.py +3 -2
  217. letta_client/types/agent_environment_variable.py +3 -2
  218. letta_client/types/agent_schema.py +7 -6
  219. letta_client/types/agent_schema_tool_rules_item.py +2 -1
  220. letta_client/types/agent_state.py +14 -8
  221. letta_client/types/agent_state_response_format.py +1 -0
  222. letta_client/types/agent_state_tool_rules_item.py +4 -3
  223. letta_client/types/app_auth_scheme.py +4 -3
  224. letta_client/types/app_model.py +5 -4
  225. letta_client/types/assistant_message.py +3 -2
  226. letta_client/types/assistant_message_content.py +1 -0
  227. letta_client/types/audio.py +3 -2
  228. letta_client/types/auth_request.py +2 -1
  229. letta_client/types/auth_response.py +5 -4
  230. letta_client/types/auth_scheme_field.py +3 -2
  231. letta_client/types/bad_request_error_body.py +3 -2
  232. letta_client/types/base_64_image.py +2 -1
  233. letta_client/types/base_tool_rule_schema.py +3 -2
  234. letta_client/types/batch_job.py +4 -3
  235. letta_client/types/block.py +3 -2
  236. letta_client/types/block_update.py +2 -1
  237. letta_client/types/chat_completion_assistant_message_param.py +5 -4
  238. letta_client/types/chat_completion_assistant_message_param_content.py +1 -0
  239. letta_client/types/chat_completion_assistant_message_param_content_item.py +2 -1
  240. letta_client/types/chat_completion_audio_param.py +4 -3
  241. letta_client/types/chat_completion_content_part_image_param.py +4 -3
  242. letta_client/types/chat_completion_content_part_input_audio_param.py +4 -3
  243. letta_client/types/chat_completion_content_part_refusal_param.py +3 -2
  244. letta_client/types/chat_completion_content_part_text_param.py +3 -2
  245. letta_client/types/chat_completion_developer_message_param.py +4 -3
  246. letta_client/types/chat_completion_developer_message_param_content.py +1 -0
  247. letta_client/types/chat_completion_function_call_option_param.py +3 -2
  248. letta_client/types/chat_completion_function_message_param.py +3 -2
  249. letta_client/types/chat_completion_message_tool_call.py +4 -3
  250. letta_client/types/chat_completion_message_tool_call_param.py +4 -3
  251. letta_client/types/chat_completion_named_tool_choice_param.py +4 -3
  252. letta_client/types/chat_completion_prediction_content_param.py +4 -3
  253. letta_client/types/chat_completion_prediction_content_param_content.py +1 -0
  254. letta_client/types/chat_completion_stream_options_param.py +3 -2
  255. letta_client/types/chat_completion_system_message_param.py +4 -3
  256. letta_client/types/chat_completion_system_message_param_content.py +1 -0
  257. letta_client/types/chat_completion_tool_message_param.py +4 -3
  258. letta_client/types/chat_completion_tool_message_param_content.py +1 -0
  259. letta_client/types/chat_completion_tool_param.py +4 -3
  260. letta_client/types/chat_completion_user_message_param.py +4 -3
  261. letta_client/types/chat_completion_user_message_param_content.py +1 -0
  262. letta_client/types/chat_completion_user_message_param_content_item.py +2 -1
  263. letta_client/types/child_tool_rule.py +3 -2
  264. letta_client/types/child_tool_rule_schema.py +3 -2
  265. letta_client/types/code_input.py +3 -2
  266. letta_client/types/completion_create_params_non_streaming.py +10 -9
  267. letta_client/types/completion_create_params_non_streaming_function_call.py +1 -0
  268. letta_client/types/completion_create_params_non_streaming_messages_item.py +4 -3
  269. letta_client/types/completion_create_params_non_streaming_response_format.py +3 -2
  270. letta_client/types/completion_create_params_non_streaming_tool_choice.py +1 -0
  271. letta_client/types/completion_create_params_streaming.py +10 -9
  272. letta_client/types/completion_create_params_streaming_function_call.py +1 -0
  273. letta_client/types/completion_create_params_streaming_messages_item.py +4 -3
  274. letta_client/types/completion_create_params_streaming_response_format.py +3 -2
  275. letta_client/types/completion_create_params_streaming_tool_choice.py +1 -0
  276. letta_client/types/conditional_tool_rule.py +3 -2
  277. letta_client/types/conditional_tool_rule_schema.py +3 -2
  278. letta_client/types/conflict_error_body.py +3 -2
  279. letta_client/types/context_window_overview.py +4 -3
  280. letta_client/types/continue_tool_rule.py +3 -2
  281. letta_client/types/core_memory_block_schema.py +4 -3
  282. letta_client/types/create_block.py +3 -2
  283. letta_client/types/dynamic_manager.py +2 -1
  284. letta_client/types/dynamic_manager_update.py +2 -1
  285. letta_client/types/e_2_b_sandbox_config.py +2 -1
  286. letta_client/types/embedding_config.py +4 -3
  287. letta_client/types/file.py +4 -3
  288. letta_client/types/file_block.py +4 -3
  289. letta_client/types/file_file.py +3 -2
  290. letta_client/types/file_metadata.py +5 -4
  291. letta_client/types/file_stats.py +3 -2
  292. letta_client/types/folder.py +5 -4
  293. letta_client/types/function_call.py +3 -2
  294. letta_client/types/function_definition_input.py +3 -2
  295. letta_client/types/function_definition_output.py +3 -2
  296. letta_client/types/function_output.py +3 -2
  297. letta_client/types/function_tool.py +4 -3
  298. letta_client/types/generate_tool_input.py +3 -2
  299. letta_client/types/generate_tool_output.py +4 -3
  300. letta_client/types/group.py +4 -3
  301. letta_client/types/health.py +3 -2
  302. letta_client/types/hidden_reasoning_message.py +4 -3
  303. letta_client/types/http_validation_error.py +4 -3
  304. letta_client/types/identity.py +4 -3
  305. letta_client/types/identity_property.py +5 -4
  306. letta_client/types/image_content.py +3 -2
  307. letta_client/types/image_content_source.py +1 -0
  308. letta_client/types/image_url.py +4 -3
  309. letta_client/types/init_tool_rule.py +3 -2
  310. letta_client/types/input_audio.py +4 -3
  311. letta_client/types/internal_server_error_body.py +3 -2
  312. letta_client/types/job.py +4 -3
  313. letta_client/types/json_object_response_format.py +3 -2
  314. letta_client/types/json_schema.py +4 -3
  315. letta_client/types/json_schema_response_format.py +2 -1
  316. letta_client/types/letta_batch_messages.py +4 -3
  317. letta_client/types/letta_batch_request.py +4 -3
  318. letta_client/types/letta_image.py +2 -1
  319. letta_client/types/letta_message_content_union.py +4 -3
  320. letta_client/types/letta_message_union.py +5 -4
  321. letta_client/types/letta_ping.py +2 -1
  322. letta_client/types/letta_request.py +4 -3
  323. letta_client/types/letta_request_config.py +3 -2
  324. letta_client/types/letta_response.py +4 -3
  325. letta_client/types/letta_stop_reason.py +3 -2
  326. letta_client/types/letta_streaming_request.py +9 -3
  327. letta_client/types/letta_usage_statistics.py +3 -2
  328. letta_client/types/letta_user_message_content_union.py +2 -1
  329. letta_client/types/llm_config.py +6 -5
  330. letta_client/types/local_sandbox_config.py +3 -2
  331. letta_client/types/max_count_per_step_tool_rule.py +3 -2
  332. letta_client/types/max_count_per_step_tool_rule_schema.py +3 -2
  333. letta_client/types/mcp_tool.py +4 -3
  334. letta_client/types/memory.py +4 -3
  335. letta_client/types/message.py +6 -5
  336. letta_client/types/message_content_item.py +1 -0
  337. letta_client/types/message_create.py +5 -4
  338. letta_client/types/message_create_content.py +1 -0
  339. letta_client/types/message_schema.py +4 -3
  340. letta_client/types/modal_sandbox_config.py +2 -1
  341. letta_client/types/not_found_error_body.py +3 -2
  342. letta_client/types/omitted_reasoning_content.py +3 -2
  343. letta_client/types/openai_types_chat_chat_completion_message_tool_call_param_function.py +3 -2
  344. letta_client/types/openai_types_chat_chat_completion_named_tool_choice_param_function.py +3 -2
  345. letta_client/types/openai_types_chat_completion_create_params_function.py +3 -2
  346. letta_client/types/organization.py +3 -2
  347. letta_client/types/organization_create.py +2 -1
  348. letta_client/types/organization_sources_stats.py +3 -2
  349. letta_client/types/organization_update.py +2 -1
  350. letta_client/types/parameter_properties.py +3 -2
  351. letta_client/types/parameters_schema.py +4 -3
  352. letta_client/types/parent_tool_rule.py +3 -2
  353. letta_client/types/passage.py +4 -3
  354. letta_client/types/payment_required_error_body.py +3 -2
  355. letta_client/types/pip_requirement.py +3 -2
  356. letta_client/types/provider.py +5 -4
  357. letta_client/types/provider_check.py +4 -3
  358. letta_client/types/provider_trace.py +3 -2
  359. letta_client/types/reasoning_content.py +2 -1
  360. letta_client/types/reasoning_message.py +4 -3
  361. letta_client/types/redacted_reasoning_content.py +2 -1
  362. letta_client/types/required_before_exit_tool_rule.py +3 -2
  363. letta_client/types/response_format_json_object.py +3 -2
  364. letta_client/types/response_format_json_schema.py +4 -3
  365. letta_client/types/response_format_text.py +3 -2
  366. letta_client/types/round_robin_manager.py +2 -1
  367. letta_client/types/round_robin_manager_update.py +2 -1
  368. letta_client/types/run.py +4 -3
  369. letta_client/types/sandbox_config.py +4 -3
  370. letta_client/types/sandbox_config_create.py +4 -3
  371. letta_client/types/sandbox_config_create_config.py +2 -1
  372. letta_client/types/sandbox_config_update.py +3 -2
  373. letta_client/types/sandbox_config_update_config.py +2 -1
  374. letta_client/types/sandbox_environment_variable.py +3 -2
  375. letta_client/types/sandbox_environment_variable_create.py +3 -2
  376. letta_client/types/sandbox_environment_variable_update.py +2 -1
  377. letta_client/types/sleeptime_manager.py +2 -1
  378. letta_client/types/sleeptime_manager_update.py +2 -1
  379. letta_client/types/source.py +5 -4
  380. letta_client/types/source_create.py +4 -3
  381. letta_client/types/source_stats.py +4 -3
  382. letta_client/types/source_update.py +3 -2
  383. letta_client/types/sse_server_config.py +4 -3
  384. letta_client/types/stdio_server_config.py +4 -3
  385. letta_client/types/step.py +5 -4
  386. letta_client/types/streamable_http_server_config.py +4 -3
  387. letta_client/types/supervisor_manager.py +2 -1
  388. letta_client/types/supervisor_manager_update.py +2 -1
  389. letta_client/types/system_message.py +2 -1
  390. letta_client/types/tag_schema.py +3 -2
  391. letta_client/types/terminal_tool_rule.py +3 -2
  392. letta_client/types/text_content.py +2 -1
  393. letta_client/types/text_response_format.py +3 -2
  394. letta_client/types/tool.py +5 -4
  395. letta_client/types/tool_annotations.py +4 -3
  396. letta_client/types/tool_call.py +3 -2
  397. letta_client/types/tool_call_content.py +2 -1
  398. letta_client/types/tool_call_delta.py +3 -2
  399. letta_client/types/tool_call_message.py +4 -3
  400. letta_client/types/tool_call_message_tool_call.py +1 -0
  401. letta_client/types/tool_create.py +3 -2
  402. letta_client/types/tool_env_var_schema.py +3 -2
  403. letta_client/types/tool_json_schema.py +4 -3
  404. letta_client/types/tool_return.py +4 -3
  405. letta_client/types/tool_return_content.py +2 -1
  406. letta_client/types/tool_return_message.py +4 -3
  407. letta_client/types/tool_schema.py +5 -4
  408. letta_client/types/update_assistant_message.py +3 -2
  409. letta_client/types/update_assistant_message_content.py +1 -0
  410. letta_client/types/update_reasoning_message.py +3 -2
  411. letta_client/types/update_ssemcp_server.py +2 -1
  412. letta_client/types/update_stdio_mcp_server.py +3 -2
  413. letta_client/types/update_streamable_httpmcp_server.py +2 -1
  414. letta_client/types/update_system_message.py +2 -1
  415. letta_client/types/update_user_message.py +3 -2
  416. letta_client/types/update_user_message_content.py +1 -0
  417. letta_client/types/url_image.py +2 -1
  418. letta_client/types/usage_statistics.py +5 -4
  419. letta_client/types/usage_statistics_completion_token_details.py +3 -2
  420. letta_client/types/usage_statistics_prompt_token_details.py +3 -2
  421. letta_client/types/user.py +3 -2
  422. letta_client/types/user_create.py +3 -2
  423. letta_client/types/user_message.py +3 -2
  424. letta_client/types/user_message_content.py +1 -0
  425. letta_client/types/user_update.py +3 -2
  426. letta_client/types/validation_error.py +4 -3
  427. letta_client/types/voice_sleeptime_manager.py +2 -1
  428. letta_client/types/voice_sleeptime_manager_update.py +2 -1
  429. letta_client/types/web_search_options.py +4 -3
  430. letta_client/types/web_search_options_user_location.py +4 -3
  431. letta_client/types/web_search_options_user_location_approximate.py +3 -2
  432. letta_client/voice/__init__.py +2 -0
  433. letta_client/voice/client.py +33 -74
  434. letta_client/voice/raw_client.py +154 -0
  435. {letta_client-0.1.233.dist-info → letta_client-0.1.235.dist-info}/METADATA +24 -3
  436. letta_client-0.1.235.dist-info/RECORD +503 -0
  437. letta_client-0.1.233.dist-info/RECORD +0 -455
  438. {letta_client-0.1.233.dist-info → letta_client-0.1.235.dist-info}/WHEEL +0 -0
@@ -1,20 +1,26 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
- from ...core.client_wrapper import SyncClientWrapper
4
3
  import typing
4
+
5
+ from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
5
6
  from ...core.request_options import RequestOptions
6
- from ...core.jsonable_encoder import jsonable_encoder
7
- from ...core.unchecked_base_model import construct_type
8
- from ...errors.unprocessable_entity_error import UnprocessableEntityError
9
- from ...types.http_validation_error import HttpValidationError
10
- from json.decoder import JSONDecodeError
11
- from ...core.api_error import ApiError
12
- from ...core.client_wrapper import AsyncClientWrapper
7
+ from .raw_client import AsyncRawFilesClient, RawFilesClient
13
8
 
14
9
 
15
10
  class FilesClient:
16
11
  def __init__(self, *, client_wrapper: SyncClientWrapper):
17
- self._client_wrapper = client_wrapper
12
+ self._raw_client = RawFilesClient(client_wrapper=client_wrapper)
13
+
14
+ @property
15
+ def with_raw_response(self) -> RawFilesClient:
16
+ """
17
+ Retrieves a raw implementation of this client that returns raw responses.
18
+
19
+ Returns
20
+ -------
21
+ RawFilesClient
22
+ """
23
+ return self._raw_client
18
24
 
19
25
  def close_all(self, agent_id: str, *, request_options: typing.Optional[RequestOptions] = None) -> typing.List[str]:
20
26
  """
@@ -47,34 +53,8 @@ class FilesClient:
47
53
  agent_id="agent_id",
48
54
  )
49
55
  """
50
- _response = self._client_wrapper.httpx_client.request(
51
- f"v1/agents/{jsonable_encoder(agent_id)}/files/close-all",
52
- method="PATCH",
53
- request_options=request_options,
54
- )
55
- try:
56
- if 200 <= _response.status_code < 300:
57
- return typing.cast(
58
- typing.List[str],
59
- construct_type(
60
- type_=typing.List[str], # type: ignore
61
- object_=_response.json(),
62
- ),
63
- )
64
- if _response.status_code == 422:
65
- raise UnprocessableEntityError(
66
- typing.cast(
67
- HttpValidationError,
68
- construct_type(
69
- type_=HttpValidationError, # type: ignore
70
- object_=_response.json(),
71
- ),
72
- )
73
- )
74
- _response_json = _response.json()
75
- except JSONDecodeError:
76
- raise ApiError(status_code=_response.status_code, body=_response.text)
77
- raise ApiError(status_code=_response.status_code, body=_response_json)
56
+ _response = self._raw_client.close_all(agent_id, request_options=request_options)
57
+ return _response.data
78
58
 
79
59
  def open(
80
60
  self, agent_id: str, file_id: str, *, request_options: typing.Optional[RequestOptions] = None
@@ -113,34 +93,8 @@ class FilesClient:
113
93
  file_id="file_id",
114
94
  )
115
95
  """
116
- _response = self._client_wrapper.httpx_client.request(
117
- f"v1/agents/{jsonable_encoder(agent_id)}/files/{jsonable_encoder(file_id)}/open",
118
- method="PATCH",
119
- request_options=request_options,
120
- )
121
- try:
122
- if 200 <= _response.status_code < 300:
123
- return typing.cast(
124
- typing.List[str],
125
- construct_type(
126
- type_=typing.List[str], # type: ignore
127
- object_=_response.json(),
128
- ),
129
- )
130
- if _response.status_code == 422:
131
- raise UnprocessableEntityError(
132
- typing.cast(
133
- HttpValidationError,
134
- construct_type(
135
- type_=HttpValidationError, # type: ignore
136
- object_=_response.json(),
137
- ),
138
- )
139
- )
140
- _response_json = _response.json()
141
- except JSONDecodeError:
142
- raise ApiError(status_code=_response.status_code, body=_response.text)
143
- raise ApiError(status_code=_response.status_code, body=_response_json)
96
+ _response = self._raw_client.open(agent_id, file_id, request_options=request_options)
97
+ return _response.data
144
98
 
145
99
  def close(
146
100
  self, agent_id: str, file_id: str, *, request_options: typing.Optional[RequestOptions] = None
@@ -178,39 +132,24 @@ class FilesClient:
178
132
  file_id="file_id",
179
133
  )
180
134
  """
181
- _response = self._client_wrapper.httpx_client.request(
182
- f"v1/agents/{jsonable_encoder(agent_id)}/files/{jsonable_encoder(file_id)}/close",
183
- method="PATCH",
184
- request_options=request_options,
185
- )
186
- try:
187
- if 200 <= _response.status_code < 300:
188
- return typing.cast(
189
- typing.Optional[typing.Any],
190
- construct_type(
191
- type_=typing.Optional[typing.Any], # type: ignore
192
- object_=_response.json(),
193
- ),
194
- )
195
- if _response.status_code == 422:
196
- raise UnprocessableEntityError(
197
- typing.cast(
198
- HttpValidationError,
199
- construct_type(
200
- type_=HttpValidationError, # type: ignore
201
- object_=_response.json(),
202
- ),
203
- )
204
- )
205
- _response_json = _response.json()
206
- except JSONDecodeError:
207
- raise ApiError(status_code=_response.status_code, body=_response.text)
208
- raise ApiError(status_code=_response.status_code, body=_response_json)
135
+ _response = self._raw_client.close(agent_id, file_id, request_options=request_options)
136
+ return _response.data
209
137
 
210
138
 
211
139
  class AsyncFilesClient:
212
140
  def __init__(self, *, client_wrapper: AsyncClientWrapper):
213
- self._client_wrapper = client_wrapper
141
+ self._raw_client = AsyncRawFilesClient(client_wrapper=client_wrapper)
142
+
143
+ @property
144
+ def with_raw_response(self) -> AsyncRawFilesClient:
145
+ """
146
+ Retrieves a raw implementation of this client that returns raw responses.
147
+
148
+ Returns
149
+ -------
150
+ AsyncRawFilesClient
151
+ """
152
+ return self._raw_client
214
153
 
215
154
  async def close_all(
216
155
  self, agent_id: str, *, request_options: typing.Optional[RequestOptions] = None
@@ -253,34 +192,8 @@ class AsyncFilesClient:
253
192
 
254
193
  asyncio.run(main())
255
194
  """
256
- _response = await self._client_wrapper.httpx_client.request(
257
- f"v1/agents/{jsonable_encoder(agent_id)}/files/close-all",
258
- method="PATCH",
259
- request_options=request_options,
260
- )
261
- try:
262
- if 200 <= _response.status_code < 300:
263
- return typing.cast(
264
- typing.List[str],
265
- construct_type(
266
- type_=typing.List[str], # type: ignore
267
- object_=_response.json(),
268
- ),
269
- )
270
- if _response.status_code == 422:
271
- raise UnprocessableEntityError(
272
- typing.cast(
273
- HttpValidationError,
274
- construct_type(
275
- type_=HttpValidationError, # type: ignore
276
- object_=_response.json(),
277
- ),
278
- )
279
- )
280
- _response_json = _response.json()
281
- except JSONDecodeError:
282
- raise ApiError(status_code=_response.status_code, body=_response.text)
283
- raise ApiError(status_code=_response.status_code, body=_response_json)
195
+ _response = await self._raw_client.close_all(agent_id, request_options=request_options)
196
+ return _response.data
284
197
 
285
198
  async def open(
286
199
  self, agent_id: str, file_id: str, *, request_options: typing.Optional[RequestOptions] = None
@@ -327,34 +240,8 @@ class AsyncFilesClient:
327
240
 
328
241
  asyncio.run(main())
329
242
  """
330
- _response = await self._client_wrapper.httpx_client.request(
331
- f"v1/agents/{jsonable_encoder(agent_id)}/files/{jsonable_encoder(file_id)}/open",
332
- method="PATCH",
333
- request_options=request_options,
334
- )
335
- try:
336
- if 200 <= _response.status_code < 300:
337
- return typing.cast(
338
- typing.List[str],
339
- construct_type(
340
- type_=typing.List[str], # type: ignore
341
- object_=_response.json(),
342
- ),
343
- )
344
- if _response.status_code == 422:
345
- raise UnprocessableEntityError(
346
- typing.cast(
347
- HttpValidationError,
348
- construct_type(
349
- type_=HttpValidationError, # type: ignore
350
- object_=_response.json(),
351
- ),
352
- )
353
- )
354
- _response_json = _response.json()
355
- except JSONDecodeError:
356
- raise ApiError(status_code=_response.status_code, body=_response.text)
357
- raise ApiError(status_code=_response.status_code, body=_response_json)
243
+ _response = await self._raw_client.open(agent_id, file_id, request_options=request_options)
244
+ return _response.data
358
245
 
359
246
  async def close(
360
247
  self, agent_id: str, file_id: str, *, request_options: typing.Optional[RequestOptions] = None
@@ -400,31 +287,5 @@ class AsyncFilesClient:
400
287
 
401
288
  asyncio.run(main())
402
289
  """
403
- _response = await self._client_wrapper.httpx_client.request(
404
- f"v1/agents/{jsonable_encoder(agent_id)}/files/{jsonable_encoder(file_id)}/close",
405
- method="PATCH",
406
- request_options=request_options,
407
- )
408
- try:
409
- if 200 <= _response.status_code < 300:
410
- return typing.cast(
411
- typing.Optional[typing.Any],
412
- construct_type(
413
- type_=typing.Optional[typing.Any], # type: ignore
414
- object_=_response.json(),
415
- ),
416
- )
417
- if _response.status_code == 422:
418
- raise UnprocessableEntityError(
419
- typing.cast(
420
- HttpValidationError,
421
- construct_type(
422
- type_=HttpValidationError, # type: ignore
423
- object_=_response.json(),
424
- ),
425
- )
426
- )
427
- _response_json = _response.json()
428
- except JSONDecodeError:
429
- raise ApiError(status_code=_response.status_code, body=_response.text)
430
- raise ApiError(status_code=_response.status_code, body=_response_json)
290
+ _response = await self._raw_client.close(agent_id, file_id, request_options=request_options)
291
+ return _response.data
@@ -0,0 +1,349 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+ from json.decoder import JSONDecodeError
5
+
6
+ from ...core.api_error import ApiError
7
+ from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
8
+ from ...core.http_response import AsyncHttpResponse, HttpResponse
9
+ from ...core.jsonable_encoder import jsonable_encoder
10
+ from ...core.request_options import RequestOptions
11
+ from ...core.unchecked_base_model import construct_type
12
+ from ...errors.unprocessable_entity_error import UnprocessableEntityError
13
+ from ...types.http_validation_error import HttpValidationError
14
+
15
+
16
+ class RawFilesClient:
17
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
18
+ self._client_wrapper = client_wrapper
19
+
20
+ def close_all(
21
+ self, agent_id: str, *, request_options: typing.Optional[RequestOptions] = None
22
+ ) -> HttpResponse[typing.List[str]]:
23
+ """
24
+ Closes all currently open files for a given agent.
25
+
26
+ This endpoint updates the file state for the agent so that no files are marked as open.
27
+ Typically used to reset the working memory view for the agent.
28
+
29
+ Parameters
30
+ ----------
31
+ agent_id : str
32
+
33
+ request_options : typing.Optional[RequestOptions]
34
+ Request-specific configuration.
35
+
36
+ Returns
37
+ -------
38
+ HttpResponse[typing.List[str]]
39
+ Successful Response
40
+ """
41
+ _response = self._client_wrapper.httpx_client.request(
42
+ f"v1/agents/{jsonable_encoder(agent_id)}/files/close-all",
43
+ method="PATCH",
44
+ request_options=request_options,
45
+ )
46
+ try:
47
+ if 200 <= _response.status_code < 300:
48
+ _data = typing.cast(
49
+ typing.List[str],
50
+ construct_type(
51
+ type_=typing.List[str], # type: ignore
52
+ object_=_response.json(),
53
+ ),
54
+ )
55
+ return HttpResponse(response=_response, data=_data)
56
+ if _response.status_code == 422:
57
+ raise UnprocessableEntityError(
58
+ headers=dict(_response.headers),
59
+ body=typing.cast(
60
+ HttpValidationError,
61
+ construct_type(
62
+ type_=HttpValidationError, # type: ignore
63
+ object_=_response.json(),
64
+ ),
65
+ ),
66
+ )
67
+ _response_json = _response.json()
68
+ except JSONDecodeError:
69
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
70
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
71
+
72
+ def open(
73
+ self, agent_id: str, file_id: str, *, request_options: typing.Optional[RequestOptions] = None
74
+ ) -> HttpResponse[typing.List[str]]:
75
+ """
76
+ Opens a specific file for a given agent.
77
+
78
+ This endpoint marks a specific file as open in the agent's file state.
79
+ The file will be included in the agent's working memory view.
80
+ Returns a list of file names that were closed due to LRU eviction.
81
+
82
+ Parameters
83
+ ----------
84
+ agent_id : str
85
+
86
+ file_id : str
87
+
88
+ request_options : typing.Optional[RequestOptions]
89
+ Request-specific configuration.
90
+
91
+ Returns
92
+ -------
93
+ HttpResponse[typing.List[str]]
94
+ Successful Response
95
+ """
96
+ _response = self._client_wrapper.httpx_client.request(
97
+ f"v1/agents/{jsonable_encoder(agent_id)}/files/{jsonable_encoder(file_id)}/open",
98
+ method="PATCH",
99
+ request_options=request_options,
100
+ )
101
+ try:
102
+ if 200 <= _response.status_code < 300:
103
+ _data = typing.cast(
104
+ typing.List[str],
105
+ construct_type(
106
+ type_=typing.List[str], # type: ignore
107
+ object_=_response.json(),
108
+ ),
109
+ )
110
+ return HttpResponse(response=_response, data=_data)
111
+ if _response.status_code == 422:
112
+ raise UnprocessableEntityError(
113
+ headers=dict(_response.headers),
114
+ body=typing.cast(
115
+ HttpValidationError,
116
+ construct_type(
117
+ type_=HttpValidationError, # type: ignore
118
+ object_=_response.json(),
119
+ ),
120
+ ),
121
+ )
122
+ _response_json = _response.json()
123
+ except JSONDecodeError:
124
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
125
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
126
+
127
+ def close(
128
+ self, agent_id: str, file_id: str, *, request_options: typing.Optional[RequestOptions] = None
129
+ ) -> HttpResponse[typing.Optional[typing.Any]]:
130
+ """
131
+ Closes a specific file for a given agent.
132
+
133
+ This endpoint marks a specific file as closed in the agent's file state.
134
+ The file will be removed from the agent's working memory view.
135
+
136
+ Parameters
137
+ ----------
138
+ agent_id : str
139
+
140
+ file_id : str
141
+
142
+ request_options : typing.Optional[RequestOptions]
143
+ Request-specific configuration.
144
+
145
+ Returns
146
+ -------
147
+ HttpResponse[typing.Optional[typing.Any]]
148
+ Successful Response
149
+ """
150
+ _response = self._client_wrapper.httpx_client.request(
151
+ f"v1/agents/{jsonable_encoder(agent_id)}/files/{jsonable_encoder(file_id)}/close",
152
+ method="PATCH",
153
+ request_options=request_options,
154
+ )
155
+ try:
156
+ if _response is None or not _response.text.strip():
157
+ return HttpResponse(response=_response, data=None)
158
+ if 200 <= _response.status_code < 300:
159
+ _data = typing.cast(
160
+ typing.Optional[typing.Any],
161
+ construct_type(
162
+ type_=typing.Optional[typing.Any], # type: ignore
163
+ object_=_response.json(),
164
+ ),
165
+ )
166
+ return HttpResponse(response=_response, data=_data)
167
+ if _response.status_code == 422:
168
+ raise UnprocessableEntityError(
169
+ headers=dict(_response.headers),
170
+ body=typing.cast(
171
+ HttpValidationError,
172
+ construct_type(
173
+ type_=HttpValidationError, # type: ignore
174
+ object_=_response.json(),
175
+ ),
176
+ ),
177
+ )
178
+ _response_json = _response.json()
179
+ except JSONDecodeError:
180
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
181
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
182
+
183
+
184
+ class AsyncRawFilesClient:
185
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
186
+ self._client_wrapper = client_wrapper
187
+
188
+ async def close_all(
189
+ self, agent_id: str, *, request_options: typing.Optional[RequestOptions] = None
190
+ ) -> AsyncHttpResponse[typing.List[str]]:
191
+ """
192
+ Closes all currently open files for a given agent.
193
+
194
+ This endpoint updates the file state for the agent so that no files are marked as open.
195
+ Typically used to reset the working memory view for the agent.
196
+
197
+ Parameters
198
+ ----------
199
+ agent_id : str
200
+
201
+ request_options : typing.Optional[RequestOptions]
202
+ Request-specific configuration.
203
+
204
+ Returns
205
+ -------
206
+ AsyncHttpResponse[typing.List[str]]
207
+ Successful Response
208
+ """
209
+ _response = await self._client_wrapper.httpx_client.request(
210
+ f"v1/agents/{jsonable_encoder(agent_id)}/files/close-all",
211
+ method="PATCH",
212
+ request_options=request_options,
213
+ )
214
+ try:
215
+ if 200 <= _response.status_code < 300:
216
+ _data = typing.cast(
217
+ typing.List[str],
218
+ construct_type(
219
+ type_=typing.List[str], # type: ignore
220
+ object_=_response.json(),
221
+ ),
222
+ )
223
+ return AsyncHttpResponse(response=_response, data=_data)
224
+ if _response.status_code == 422:
225
+ raise UnprocessableEntityError(
226
+ headers=dict(_response.headers),
227
+ body=typing.cast(
228
+ HttpValidationError,
229
+ construct_type(
230
+ type_=HttpValidationError, # type: ignore
231
+ object_=_response.json(),
232
+ ),
233
+ ),
234
+ )
235
+ _response_json = _response.json()
236
+ except JSONDecodeError:
237
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
238
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
239
+
240
+ async def open(
241
+ self, agent_id: str, file_id: str, *, request_options: typing.Optional[RequestOptions] = None
242
+ ) -> AsyncHttpResponse[typing.List[str]]:
243
+ """
244
+ Opens a specific file for a given agent.
245
+
246
+ This endpoint marks a specific file as open in the agent's file state.
247
+ The file will be included in the agent's working memory view.
248
+ Returns a list of file names that were closed due to LRU eviction.
249
+
250
+ Parameters
251
+ ----------
252
+ agent_id : str
253
+
254
+ file_id : str
255
+
256
+ request_options : typing.Optional[RequestOptions]
257
+ Request-specific configuration.
258
+
259
+ Returns
260
+ -------
261
+ AsyncHttpResponse[typing.List[str]]
262
+ Successful Response
263
+ """
264
+ _response = await self._client_wrapper.httpx_client.request(
265
+ f"v1/agents/{jsonable_encoder(agent_id)}/files/{jsonable_encoder(file_id)}/open",
266
+ method="PATCH",
267
+ request_options=request_options,
268
+ )
269
+ try:
270
+ if 200 <= _response.status_code < 300:
271
+ _data = typing.cast(
272
+ typing.List[str],
273
+ construct_type(
274
+ type_=typing.List[str], # type: ignore
275
+ object_=_response.json(),
276
+ ),
277
+ )
278
+ return AsyncHttpResponse(response=_response, data=_data)
279
+ if _response.status_code == 422:
280
+ raise UnprocessableEntityError(
281
+ headers=dict(_response.headers),
282
+ body=typing.cast(
283
+ HttpValidationError,
284
+ construct_type(
285
+ type_=HttpValidationError, # type: ignore
286
+ object_=_response.json(),
287
+ ),
288
+ ),
289
+ )
290
+ _response_json = _response.json()
291
+ except JSONDecodeError:
292
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
293
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
294
+
295
+ async def close(
296
+ self, agent_id: str, file_id: str, *, request_options: typing.Optional[RequestOptions] = None
297
+ ) -> AsyncHttpResponse[typing.Optional[typing.Any]]:
298
+ """
299
+ Closes a specific file for a given agent.
300
+
301
+ This endpoint marks a specific file as closed in the agent's file state.
302
+ The file will be removed from the agent's working memory view.
303
+
304
+ Parameters
305
+ ----------
306
+ agent_id : str
307
+
308
+ file_id : str
309
+
310
+ request_options : typing.Optional[RequestOptions]
311
+ Request-specific configuration.
312
+
313
+ Returns
314
+ -------
315
+ AsyncHttpResponse[typing.Optional[typing.Any]]
316
+ Successful Response
317
+ """
318
+ _response = await self._client_wrapper.httpx_client.request(
319
+ f"v1/agents/{jsonable_encoder(agent_id)}/files/{jsonable_encoder(file_id)}/close",
320
+ method="PATCH",
321
+ request_options=request_options,
322
+ )
323
+ try:
324
+ if _response is None or not _response.text.strip():
325
+ return AsyncHttpResponse(response=_response, data=None)
326
+ if 200 <= _response.status_code < 300:
327
+ _data = typing.cast(
328
+ typing.Optional[typing.Any],
329
+ construct_type(
330
+ type_=typing.Optional[typing.Any], # type: ignore
331
+ object_=_response.json(),
332
+ ),
333
+ )
334
+ return AsyncHttpResponse(response=_response, data=_data)
335
+ if _response.status_code == 422:
336
+ raise UnprocessableEntityError(
337
+ headers=dict(_response.headers),
338
+ body=typing.cast(
339
+ HttpValidationError,
340
+ construct_type(
341
+ type_=HttpValidationError, # type: ignore
342
+ object_=_response.json(),
343
+ ),
344
+ ),
345
+ )
346
+ _response_json = _response.json()
347
+ except JSONDecodeError:
348
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
349
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
@@ -1,2 +1,4 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
+ # isort: skip_file
4
+