letta-client 0.1.233__py3-none-any.whl → 0.1.234__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 +329 -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 +2068 -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 +9 -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.234.dist-info}/METADATA +24 -3
  436. letta_client-0.1.234.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.234.dist-info}/WHEEL +0 -0
@@ -1,2 +1,4 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
+ # isort: skip_file
4
+
@@ -1,22 +1,28 @@
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
7
  from ...types.agent_state import AgentState
7
- from ...core.jsonable_encoder import jsonable_encoder
8
- from ...core.unchecked_base_model import construct_type
9
- from ...errors.unprocessable_entity_error import UnprocessableEntityError
10
- from ...types.http_validation_error import HttpValidationError
11
- from json.decoder import JSONDecodeError
12
- from ...core.api_error import ApiError
13
8
  from ...types.source import Source
14
- from ...core.client_wrapper import AsyncClientWrapper
9
+ from .raw_client import AsyncRawSourcesClient, RawSourcesClient
15
10
 
16
11
 
17
12
  class SourcesClient:
18
13
  def __init__(self, *, client_wrapper: SyncClientWrapper):
19
- self._client_wrapper = client_wrapper
14
+ self._raw_client = RawSourcesClient(client_wrapper=client_wrapper)
15
+
16
+ @property
17
+ def with_raw_response(self) -> RawSourcesClient:
18
+ """
19
+ Retrieves a raw implementation of this client that returns raw responses.
20
+
21
+ Returns
22
+ -------
23
+ RawSourcesClient
24
+ """
25
+ return self._raw_client
20
26
 
21
27
  def attach(
22
28
  self, agent_id: str, source_id: str, *, request_options: typing.Optional[RequestOptions] = None
@@ -51,34 +57,8 @@ class SourcesClient:
51
57
  source_id="source_id",
52
58
  )
53
59
  """
54
- _response = self._client_wrapper.httpx_client.request(
55
- f"v1/agents/{jsonable_encoder(agent_id)}/sources/attach/{jsonable_encoder(source_id)}",
56
- method="PATCH",
57
- request_options=request_options,
58
- )
59
- try:
60
- if 200 <= _response.status_code < 300:
61
- return typing.cast(
62
- AgentState,
63
- construct_type(
64
- type_=AgentState, # type: ignore
65
- object_=_response.json(),
66
- ),
67
- )
68
- if _response.status_code == 422:
69
- raise UnprocessableEntityError(
70
- typing.cast(
71
- HttpValidationError,
72
- construct_type(
73
- type_=HttpValidationError, # type: ignore
74
- object_=_response.json(),
75
- ),
76
- )
77
- )
78
- _response_json = _response.json()
79
- except JSONDecodeError:
80
- raise ApiError(status_code=_response.status_code, body=_response.text)
81
- raise ApiError(status_code=_response.status_code, body=_response_json)
60
+ _response = self._raw_client.attach(agent_id, source_id, request_options=request_options)
61
+ return _response.data
82
62
 
83
63
  def detach(
84
64
  self, agent_id: str, source_id: str, *, request_options: typing.Optional[RequestOptions] = None
@@ -113,34 +93,8 @@ class SourcesClient:
113
93
  source_id="source_id",
114
94
  )
115
95
  """
116
- _response = self._client_wrapper.httpx_client.request(
117
- f"v1/agents/{jsonable_encoder(agent_id)}/sources/detach/{jsonable_encoder(source_id)}",
118
- method="PATCH",
119
- request_options=request_options,
120
- )
121
- try:
122
- if 200 <= _response.status_code < 300:
123
- return typing.cast(
124
- AgentState,
125
- construct_type(
126
- type_=AgentState, # 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.detach(agent_id, source_id, request_options=request_options)
97
+ return _response.data
144
98
 
145
99
  def list(self, agent_id: str, *, request_options: typing.Optional[RequestOptions] = None) -> typing.List[Source]:
146
100
  """
@@ -170,39 +124,24 @@ class SourcesClient:
170
124
  agent_id="agent_id",
171
125
  )
172
126
  """
173
- _response = self._client_wrapper.httpx_client.request(
174
- f"v1/agents/{jsonable_encoder(agent_id)}/sources",
175
- method="GET",
176
- request_options=request_options,
177
- )
178
- try:
179
- if 200 <= _response.status_code < 300:
180
- return typing.cast(
181
- typing.List[Source],
182
- construct_type(
183
- type_=typing.List[Source], # type: ignore
184
- object_=_response.json(),
185
- ),
186
- )
187
- if _response.status_code == 422:
188
- raise UnprocessableEntityError(
189
- typing.cast(
190
- HttpValidationError,
191
- construct_type(
192
- type_=HttpValidationError, # type: ignore
193
- object_=_response.json(),
194
- ),
195
- )
196
- )
197
- _response_json = _response.json()
198
- except JSONDecodeError:
199
- raise ApiError(status_code=_response.status_code, body=_response.text)
200
- raise ApiError(status_code=_response.status_code, body=_response_json)
127
+ _response = self._raw_client.list(agent_id, request_options=request_options)
128
+ return _response.data
201
129
 
202
130
 
203
131
  class AsyncSourcesClient:
204
132
  def __init__(self, *, client_wrapper: AsyncClientWrapper):
205
- self._client_wrapper = client_wrapper
133
+ self._raw_client = AsyncRawSourcesClient(client_wrapper=client_wrapper)
134
+
135
+ @property
136
+ def with_raw_response(self) -> AsyncRawSourcesClient:
137
+ """
138
+ Retrieves a raw implementation of this client that returns raw responses.
139
+
140
+ Returns
141
+ -------
142
+ AsyncRawSourcesClient
143
+ """
144
+ return self._raw_client
206
145
 
207
146
  async def attach(
208
147
  self, agent_id: str, source_id: str, *, request_options: typing.Optional[RequestOptions] = None
@@ -245,34 +184,8 @@ class AsyncSourcesClient:
245
184
 
246
185
  asyncio.run(main())
247
186
  """
248
- _response = await self._client_wrapper.httpx_client.request(
249
- f"v1/agents/{jsonable_encoder(agent_id)}/sources/attach/{jsonable_encoder(source_id)}",
250
- method="PATCH",
251
- request_options=request_options,
252
- )
253
- try:
254
- if 200 <= _response.status_code < 300:
255
- return typing.cast(
256
- AgentState,
257
- construct_type(
258
- type_=AgentState, # type: ignore
259
- object_=_response.json(),
260
- ),
261
- )
262
- if _response.status_code == 422:
263
- raise UnprocessableEntityError(
264
- typing.cast(
265
- HttpValidationError,
266
- construct_type(
267
- type_=HttpValidationError, # type: ignore
268
- object_=_response.json(),
269
- ),
270
- )
271
- )
272
- _response_json = _response.json()
273
- except JSONDecodeError:
274
- raise ApiError(status_code=_response.status_code, body=_response.text)
275
- raise ApiError(status_code=_response.status_code, body=_response_json)
187
+ _response = await self._raw_client.attach(agent_id, source_id, request_options=request_options)
188
+ return _response.data
276
189
 
277
190
  async def detach(
278
191
  self, agent_id: str, source_id: str, *, request_options: typing.Optional[RequestOptions] = None
@@ -315,34 +228,8 @@ class AsyncSourcesClient:
315
228
 
316
229
  asyncio.run(main())
317
230
  """
318
- _response = await self._client_wrapper.httpx_client.request(
319
- f"v1/agents/{jsonable_encoder(agent_id)}/sources/detach/{jsonable_encoder(source_id)}",
320
- method="PATCH",
321
- request_options=request_options,
322
- )
323
- try:
324
- if 200 <= _response.status_code < 300:
325
- return typing.cast(
326
- AgentState,
327
- construct_type(
328
- type_=AgentState, # type: ignore
329
- object_=_response.json(),
330
- ),
331
- )
332
- if _response.status_code == 422:
333
- raise UnprocessableEntityError(
334
- typing.cast(
335
- HttpValidationError,
336
- construct_type(
337
- type_=HttpValidationError, # type: ignore
338
- object_=_response.json(),
339
- ),
340
- )
341
- )
342
- _response_json = _response.json()
343
- except JSONDecodeError:
344
- raise ApiError(status_code=_response.status_code, body=_response.text)
345
- raise ApiError(status_code=_response.status_code, body=_response_json)
231
+ _response = await self._raw_client.detach(agent_id, source_id, request_options=request_options)
232
+ return _response.data
346
233
 
347
234
  async def list(
348
235
  self, agent_id: str, *, request_options: typing.Optional[RequestOptions] = None
@@ -382,31 +269,5 @@ class AsyncSourcesClient:
382
269
 
383
270
  asyncio.run(main())
384
271
  """
385
- _response = await self._client_wrapper.httpx_client.request(
386
- f"v1/agents/{jsonable_encoder(agent_id)}/sources",
387
- method="GET",
388
- request_options=request_options,
389
- )
390
- try:
391
- if 200 <= _response.status_code < 300:
392
- return typing.cast(
393
- typing.List[Source],
394
- construct_type(
395
- type_=typing.List[Source], # type: ignore
396
- object_=_response.json(),
397
- ),
398
- )
399
- if _response.status_code == 422:
400
- raise UnprocessableEntityError(
401
- typing.cast(
402
- HttpValidationError,
403
- construct_type(
404
- type_=HttpValidationError, # type: ignore
405
- object_=_response.json(),
406
- ),
407
- )
408
- )
409
- _response_json = _response.json()
410
- except JSONDecodeError:
411
- raise ApiError(status_code=_response.status_code, body=_response.text)
412
- raise ApiError(status_code=_response.status_code, body=_response_json)
272
+ _response = await self._raw_client.list(agent_id, request_options=request_options)
273
+ return _response.data
@@ -0,0 +1,327 @@
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.agent_state import AgentState
14
+ from ...types.http_validation_error import HttpValidationError
15
+ from ...types.source import Source
16
+
17
+
18
+ class RawSourcesClient:
19
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
20
+ self._client_wrapper = client_wrapper
21
+
22
+ def attach(
23
+ self, agent_id: str, source_id: str, *, request_options: typing.Optional[RequestOptions] = None
24
+ ) -> HttpResponse[AgentState]:
25
+ """
26
+ Attach a source to an agent.
27
+
28
+ Parameters
29
+ ----------
30
+ agent_id : str
31
+
32
+ source_id : str
33
+
34
+ request_options : typing.Optional[RequestOptions]
35
+ Request-specific configuration.
36
+
37
+ Returns
38
+ -------
39
+ HttpResponse[AgentState]
40
+ Successful Response
41
+ """
42
+ _response = self._client_wrapper.httpx_client.request(
43
+ f"v1/agents/{jsonable_encoder(agent_id)}/sources/attach/{jsonable_encoder(source_id)}",
44
+ method="PATCH",
45
+ request_options=request_options,
46
+ )
47
+ try:
48
+ if 200 <= _response.status_code < 300:
49
+ _data = typing.cast(
50
+ AgentState,
51
+ construct_type(
52
+ type_=AgentState, # type: ignore
53
+ object_=_response.json(),
54
+ ),
55
+ )
56
+ return HttpResponse(response=_response, data=_data)
57
+ if _response.status_code == 422:
58
+ raise UnprocessableEntityError(
59
+ headers=dict(_response.headers),
60
+ body=typing.cast(
61
+ HttpValidationError,
62
+ construct_type(
63
+ type_=HttpValidationError, # type: ignore
64
+ object_=_response.json(),
65
+ ),
66
+ ),
67
+ )
68
+ _response_json = _response.json()
69
+ except JSONDecodeError:
70
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
71
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
72
+
73
+ def detach(
74
+ self, agent_id: str, source_id: str, *, request_options: typing.Optional[RequestOptions] = None
75
+ ) -> HttpResponse[AgentState]:
76
+ """
77
+ Detach a source from an agent.
78
+
79
+ Parameters
80
+ ----------
81
+ agent_id : str
82
+
83
+ source_id : str
84
+
85
+ request_options : typing.Optional[RequestOptions]
86
+ Request-specific configuration.
87
+
88
+ Returns
89
+ -------
90
+ HttpResponse[AgentState]
91
+ Successful Response
92
+ """
93
+ _response = self._client_wrapper.httpx_client.request(
94
+ f"v1/agents/{jsonable_encoder(agent_id)}/sources/detach/{jsonable_encoder(source_id)}",
95
+ method="PATCH",
96
+ request_options=request_options,
97
+ )
98
+ try:
99
+ if 200 <= _response.status_code < 300:
100
+ _data = typing.cast(
101
+ AgentState,
102
+ construct_type(
103
+ type_=AgentState, # type: ignore
104
+ object_=_response.json(),
105
+ ),
106
+ )
107
+ return HttpResponse(response=_response, data=_data)
108
+ if _response.status_code == 422:
109
+ raise UnprocessableEntityError(
110
+ headers=dict(_response.headers),
111
+ body=typing.cast(
112
+ HttpValidationError,
113
+ construct_type(
114
+ type_=HttpValidationError, # type: ignore
115
+ object_=_response.json(),
116
+ ),
117
+ ),
118
+ )
119
+ _response_json = _response.json()
120
+ except JSONDecodeError:
121
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
122
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
123
+
124
+ def list(
125
+ self, agent_id: str, *, request_options: typing.Optional[RequestOptions] = None
126
+ ) -> HttpResponse[typing.List[Source]]:
127
+ """
128
+ Get the sources associated with an agent.
129
+
130
+ Parameters
131
+ ----------
132
+ agent_id : str
133
+
134
+ request_options : typing.Optional[RequestOptions]
135
+ Request-specific configuration.
136
+
137
+ Returns
138
+ -------
139
+ HttpResponse[typing.List[Source]]
140
+ Successful Response
141
+ """
142
+ _response = self._client_wrapper.httpx_client.request(
143
+ f"v1/agents/{jsonable_encoder(agent_id)}/sources",
144
+ method="GET",
145
+ request_options=request_options,
146
+ )
147
+ try:
148
+ if 200 <= _response.status_code < 300:
149
+ _data = typing.cast(
150
+ typing.List[Source],
151
+ construct_type(
152
+ type_=typing.List[Source], # type: ignore
153
+ object_=_response.json(),
154
+ ),
155
+ )
156
+ return HttpResponse(response=_response, data=_data)
157
+ if _response.status_code == 422:
158
+ raise UnprocessableEntityError(
159
+ headers=dict(_response.headers),
160
+ body=typing.cast(
161
+ HttpValidationError,
162
+ construct_type(
163
+ type_=HttpValidationError, # type: ignore
164
+ object_=_response.json(),
165
+ ),
166
+ ),
167
+ )
168
+ _response_json = _response.json()
169
+ except JSONDecodeError:
170
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
171
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
172
+
173
+
174
+ class AsyncRawSourcesClient:
175
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
176
+ self._client_wrapper = client_wrapper
177
+
178
+ async def attach(
179
+ self, agent_id: str, source_id: str, *, request_options: typing.Optional[RequestOptions] = None
180
+ ) -> AsyncHttpResponse[AgentState]:
181
+ """
182
+ Attach a source to an agent.
183
+
184
+ Parameters
185
+ ----------
186
+ agent_id : str
187
+
188
+ source_id : str
189
+
190
+ request_options : typing.Optional[RequestOptions]
191
+ Request-specific configuration.
192
+
193
+ Returns
194
+ -------
195
+ AsyncHttpResponse[AgentState]
196
+ Successful Response
197
+ """
198
+ _response = await self._client_wrapper.httpx_client.request(
199
+ f"v1/agents/{jsonable_encoder(agent_id)}/sources/attach/{jsonable_encoder(source_id)}",
200
+ method="PATCH",
201
+ request_options=request_options,
202
+ )
203
+ try:
204
+ if 200 <= _response.status_code < 300:
205
+ _data = typing.cast(
206
+ AgentState,
207
+ construct_type(
208
+ type_=AgentState, # type: ignore
209
+ object_=_response.json(),
210
+ ),
211
+ )
212
+ return AsyncHttpResponse(response=_response, data=_data)
213
+ if _response.status_code == 422:
214
+ raise UnprocessableEntityError(
215
+ headers=dict(_response.headers),
216
+ body=typing.cast(
217
+ HttpValidationError,
218
+ construct_type(
219
+ type_=HttpValidationError, # type: ignore
220
+ object_=_response.json(),
221
+ ),
222
+ ),
223
+ )
224
+ _response_json = _response.json()
225
+ except JSONDecodeError:
226
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
227
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
228
+
229
+ async def detach(
230
+ self, agent_id: str, source_id: str, *, request_options: typing.Optional[RequestOptions] = None
231
+ ) -> AsyncHttpResponse[AgentState]:
232
+ """
233
+ Detach a source from an agent.
234
+
235
+ Parameters
236
+ ----------
237
+ agent_id : str
238
+
239
+ source_id : str
240
+
241
+ request_options : typing.Optional[RequestOptions]
242
+ Request-specific configuration.
243
+
244
+ Returns
245
+ -------
246
+ AsyncHttpResponse[AgentState]
247
+ Successful Response
248
+ """
249
+ _response = await self._client_wrapper.httpx_client.request(
250
+ f"v1/agents/{jsonable_encoder(agent_id)}/sources/detach/{jsonable_encoder(source_id)}",
251
+ method="PATCH",
252
+ request_options=request_options,
253
+ )
254
+ try:
255
+ if 200 <= _response.status_code < 300:
256
+ _data = typing.cast(
257
+ AgentState,
258
+ construct_type(
259
+ type_=AgentState, # type: ignore
260
+ object_=_response.json(),
261
+ ),
262
+ )
263
+ return AsyncHttpResponse(response=_response, data=_data)
264
+ if _response.status_code == 422:
265
+ raise UnprocessableEntityError(
266
+ headers=dict(_response.headers),
267
+ body=typing.cast(
268
+ HttpValidationError,
269
+ construct_type(
270
+ type_=HttpValidationError, # type: ignore
271
+ object_=_response.json(),
272
+ ),
273
+ ),
274
+ )
275
+ _response_json = _response.json()
276
+ except JSONDecodeError:
277
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
278
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
279
+
280
+ async def list(
281
+ self, agent_id: str, *, request_options: typing.Optional[RequestOptions] = None
282
+ ) -> AsyncHttpResponse[typing.List[Source]]:
283
+ """
284
+ Get the sources associated with an agent.
285
+
286
+ Parameters
287
+ ----------
288
+ agent_id : str
289
+
290
+ request_options : typing.Optional[RequestOptions]
291
+ Request-specific configuration.
292
+
293
+ Returns
294
+ -------
295
+ AsyncHttpResponse[typing.List[Source]]
296
+ Successful Response
297
+ """
298
+ _response = await self._client_wrapper.httpx_client.request(
299
+ f"v1/agents/{jsonable_encoder(agent_id)}/sources",
300
+ method="GET",
301
+ request_options=request_options,
302
+ )
303
+ try:
304
+ if 200 <= _response.status_code < 300:
305
+ _data = typing.cast(
306
+ typing.List[Source],
307
+ construct_type(
308
+ type_=typing.List[Source], # type: ignore
309
+ object_=_response.json(),
310
+ ),
311
+ )
312
+ return AsyncHttpResponse(response=_response, data=_data)
313
+ if _response.status_code == 422:
314
+ raise UnprocessableEntityError(
315
+ headers=dict(_response.headers),
316
+ body=typing.cast(
317
+ HttpValidationError,
318
+ construct_type(
319
+ type_=HttpValidationError, # type: ignore
320
+ object_=_response.json(),
321
+ ),
322
+ ),
323
+ )
324
+ _response_json = _response.json()
325
+ except JSONDecodeError:
326
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
327
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
@@ -1,5 +1,7 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
+ # isort: skip_file
4
+
3
5
  from .types import TemplatesCreateResponse, TemplatesCreateVersionRequestReturnAgentState, TemplatesMigrateResponse
4
6
 
5
7
  __all__ = ["TemplatesCreateResponse", "TemplatesCreateVersionRequestReturnAgentState", "TemplatesMigrateResponse"]