letta-client 0.1.232__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 (440) hide show
  1. letta_client/__init__.py +4 -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 +4 -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 +28 -0
  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 +4 -2
  372. letta_client/types/sandbox_config_update.py +3 -2
  373. letta_client/types/sandbox_config_update_config.py +4 -2
  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/sandbox_type.py +1 -1
  378. letta_client/types/sleeptime_manager.py +2 -1
  379. letta_client/types/sleeptime_manager_update.py +2 -1
  380. letta_client/types/source.py +5 -4
  381. letta_client/types/source_create.py +4 -3
  382. letta_client/types/source_stats.py +4 -3
  383. letta_client/types/source_update.py +3 -2
  384. letta_client/types/sse_server_config.py +4 -3
  385. letta_client/types/stdio_server_config.py +4 -3
  386. letta_client/types/step.py +5 -4
  387. letta_client/types/streamable_http_server_config.py +4 -3
  388. letta_client/types/supervisor_manager.py +2 -1
  389. letta_client/types/supervisor_manager_update.py +2 -1
  390. letta_client/types/system_message.py +2 -1
  391. letta_client/types/tag_schema.py +3 -2
  392. letta_client/types/terminal_tool_rule.py +3 -2
  393. letta_client/types/text_content.py +2 -1
  394. letta_client/types/text_response_format.py +3 -2
  395. letta_client/types/tool.py +5 -4
  396. letta_client/types/tool_annotations.py +4 -3
  397. letta_client/types/tool_call.py +3 -2
  398. letta_client/types/tool_call_content.py +2 -1
  399. letta_client/types/tool_call_delta.py +3 -2
  400. letta_client/types/tool_call_message.py +4 -3
  401. letta_client/types/tool_call_message_tool_call.py +1 -0
  402. letta_client/types/tool_create.py +3 -2
  403. letta_client/types/tool_env_var_schema.py +3 -2
  404. letta_client/types/tool_json_schema.py +4 -3
  405. letta_client/types/tool_return.py +4 -3
  406. letta_client/types/tool_return_content.py +2 -1
  407. letta_client/types/tool_return_message.py +4 -3
  408. letta_client/types/tool_schema.py +5 -4
  409. letta_client/types/tool_type.py +0 -1
  410. letta_client/types/update_assistant_message.py +3 -2
  411. letta_client/types/update_assistant_message_content.py +1 -0
  412. letta_client/types/update_reasoning_message.py +3 -2
  413. letta_client/types/update_ssemcp_server.py +2 -1
  414. letta_client/types/update_stdio_mcp_server.py +3 -2
  415. letta_client/types/update_streamable_httpmcp_server.py +2 -1
  416. letta_client/types/update_system_message.py +2 -1
  417. letta_client/types/update_user_message.py +3 -2
  418. letta_client/types/update_user_message_content.py +1 -0
  419. letta_client/types/url_image.py +2 -1
  420. letta_client/types/usage_statistics.py +5 -4
  421. letta_client/types/usage_statistics_completion_token_details.py +3 -2
  422. letta_client/types/usage_statistics_prompt_token_details.py +3 -2
  423. letta_client/types/user.py +3 -2
  424. letta_client/types/user_create.py +3 -2
  425. letta_client/types/user_message.py +3 -2
  426. letta_client/types/user_message_content.py +1 -0
  427. letta_client/types/user_update.py +3 -2
  428. letta_client/types/validation_error.py +4 -3
  429. letta_client/types/voice_sleeptime_manager.py +2 -1
  430. letta_client/types/voice_sleeptime_manager_update.py +2 -1
  431. letta_client/types/web_search_options.py +4 -3
  432. letta_client/types/web_search_options_user_location.py +4 -3
  433. letta_client/types/web_search_options_user_location_approximate.py +3 -2
  434. letta_client/voice/__init__.py +2 -0
  435. letta_client/voice/client.py +33 -74
  436. letta_client/voice/raw_client.py +154 -0
  437. {letta_client-0.1.232.dist-info → letta_client-0.1.234.dist-info}/METADATA +24 -3
  438. letta_client-0.1.234.dist-info/RECORD +503 -0
  439. letta_client-0.1.232.dist-info/RECORD +0 -454
  440. {letta_client-0.1.232.dist-info → letta_client-0.1.234.dist-info}/WHEEL +0 -0
@@ -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
- from ...types.tool import Tool
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
7
  from ...types.agent_state import AgentState
14
- from ...core.client_wrapper import AsyncClientWrapper
8
+ from ...types.tool import Tool
9
+ from .raw_client import AsyncRawToolsClient, RawToolsClient
15
10
 
16
11
 
17
12
  class ToolsClient:
18
13
  def __init__(self, *, client_wrapper: SyncClientWrapper):
19
- self._client_wrapper = client_wrapper
14
+ self._raw_client = RawToolsClient(client_wrapper=client_wrapper)
15
+
16
+ @property
17
+ def with_raw_response(self) -> RawToolsClient:
18
+ """
19
+ Retrieves a raw implementation of this client that returns raw responses.
20
+
21
+ Returns
22
+ -------
23
+ RawToolsClient
24
+ """
25
+ return self._raw_client
20
26
 
21
27
  def list(self, agent_id: str, *, request_options: typing.Optional[RequestOptions] = None) -> typing.List[Tool]:
22
28
  """
@@ -46,34 +52,8 @@ class ToolsClient:
46
52
  agent_id="agent_id",
47
53
  )
48
54
  """
49
- _response = self._client_wrapper.httpx_client.request(
50
- f"v1/agents/{jsonable_encoder(agent_id)}/tools",
51
- method="GET",
52
- request_options=request_options,
53
- )
54
- try:
55
- if 200 <= _response.status_code < 300:
56
- return typing.cast(
57
- typing.List[Tool],
58
- construct_type(
59
- type_=typing.List[Tool], # type: ignore
60
- object_=_response.json(),
61
- ),
62
- )
63
- if _response.status_code == 422:
64
- raise UnprocessableEntityError(
65
- typing.cast(
66
- HttpValidationError,
67
- construct_type(
68
- type_=HttpValidationError, # type: ignore
69
- object_=_response.json(),
70
- ),
71
- )
72
- )
73
- _response_json = _response.json()
74
- except JSONDecodeError:
75
- raise ApiError(status_code=_response.status_code, body=_response.text)
76
- raise ApiError(status_code=_response.status_code, body=_response_json)
55
+ _response = self._raw_client.list(agent_id, request_options=request_options)
56
+ return _response.data
77
57
 
78
58
  def attach(
79
59
  self, agent_id: str, tool_id: str, *, request_options: typing.Optional[RequestOptions] = None
@@ -108,34 +88,8 @@ class ToolsClient:
108
88
  tool_id="tool_id",
109
89
  )
110
90
  """
111
- _response = self._client_wrapper.httpx_client.request(
112
- f"v1/agents/{jsonable_encoder(agent_id)}/tools/attach/{jsonable_encoder(tool_id)}",
113
- method="PATCH",
114
- request_options=request_options,
115
- )
116
- try:
117
- if 200 <= _response.status_code < 300:
118
- return typing.cast(
119
- AgentState,
120
- construct_type(
121
- type_=AgentState, # type: ignore
122
- object_=_response.json(),
123
- ),
124
- )
125
- if _response.status_code == 422:
126
- raise UnprocessableEntityError(
127
- typing.cast(
128
- HttpValidationError,
129
- construct_type(
130
- type_=HttpValidationError, # type: ignore
131
- object_=_response.json(),
132
- ),
133
- )
134
- )
135
- _response_json = _response.json()
136
- except JSONDecodeError:
137
- raise ApiError(status_code=_response.status_code, body=_response.text)
138
- raise ApiError(status_code=_response.status_code, body=_response_json)
91
+ _response = self._raw_client.attach(agent_id, tool_id, request_options=request_options)
92
+ return _response.data
139
93
 
140
94
  def detach(
141
95
  self, agent_id: str, tool_id: str, *, request_options: typing.Optional[RequestOptions] = None
@@ -170,39 +124,24 @@ class ToolsClient:
170
124
  tool_id="tool_id",
171
125
  )
172
126
  """
173
- _response = self._client_wrapper.httpx_client.request(
174
- f"v1/agents/{jsonable_encoder(agent_id)}/tools/detach/{jsonable_encoder(tool_id)}",
175
- method="PATCH",
176
- request_options=request_options,
177
- )
178
- try:
179
- if 200 <= _response.status_code < 300:
180
- return typing.cast(
181
- AgentState,
182
- construct_type(
183
- type_=AgentState, # 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.detach(agent_id, tool_id, request_options=request_options)
128
+ return _response.data
201
129
 
202
130
 
203
131
  class AsyncToolsClient:
204
132
  def __init__(self, *, client_wrapper: AsyncClientWrapper):
205
- self._client_wrapper = client_wrapper
133
+ self._raw_client = AsyncRawToolsClient(client_wrapper=client_wrapper)
134
+
135
+ @property
136
+ def with_raw_response(self) -> AsyncRawToolsClient:
137
+ """
138
+ Retrieves a raw implementation of this client that returns raw responses.
139
+
140
+ Returns
141
+ -------
142
+ AsyncRawToolsClient
143
+ """
144
+ return self._raw_client
206
145
 
207
146
  async def list(
208
147
  self, agent_id: str, *, request_options: typing.Optional[RequestOptions] = None
@@ -242,34 +181,8 @@ class AsyncToolsClient:
242
181
 
243
182
  asyncio.run(main())
244
183
  """
245
- _response = await self._client_wrapper.httpx_client.request(
246
- f"v1/agents/{jsonable_encoder(agent_id)}/tools",
247
- method="GET",
248
- request_options=request_options,
249
- )
250
- try:
251
- if 200 <= _response.status_code < 300:
252
- return typing.cast(
253
- typing.List[Tool],
254
- construct_type(
255
- type_=typing.List[Tool], # type: ignore
256
- object_=_response.json(),
257
- ),
258
- )
259
- if _response.status_code == 422:
260
- raise UnprocessableEntityError(
261
- typing.cast(
262
- HttpValidationError,
263
- construct_type(
264
- type_=HttpValidationError, # type: ignore
265
- object_=_response.json(),
266
- ),
267
- )
268
- )
269
- _response_json = _response.json()
270
- except JSONDecodeError:
271
- raise ApiError(status_code=_response.status_code, body=_response.text)
272
- raise ApiError(status_code=_response.status_code, body=_response_json)
184
+ _response = await self._raw_client.list(agent_id, request_options=request_options)
185
+ return _response.data
273
186
 
274
187
  async def attach(
275
188
  self, agent_id: str, tool_id: str, *, request_options: typing.Optional[RequestOptions] = None
@@ -312,34 +225,8 @@ class AsyncToolsClient:
312
225
 
313
226
  asyncio.run(main())
314
227
  """
315
- _response = await self._client_wrapper.httpx_client.request(
316
- f"v1/agents/{jsonable_encoder(agent_id)}/tools/attach/{jsonable_encoder(tool_id)}",
317
- method="PATCH",
318
- request_options=request_options,
319
- )
320
- try:
321
- if 200 <= _response.status_code < 300:
322
- return typing.cast(
323
- AgentState,
324
- construct_type(
325
- type_=AgentState, # type: ignore
326
- object_=_response.json(),
327
- ),
328
- )
329
- if _response.status_code == 422:
330
- raise UnprocessableEntityError(
331
- typing.cast(
332
- HttpValidationError,
333
- construct_type(
334
- type_=HttpValidationError, # type: ignore
335
- object_=_response.json(),
336
- ),
337
- )
338
- )
339
- _response_json = _response.json()
340
- except JSONDecodeError:
341
- raise ApiError(status_code=_response.status_code, body=_response.text)
342
- raise ApiError(status_code=_response.status_code, body=_response_json)
228
+ _response = await self._raw_client.attach(agent_id, tool_id, request_options=request_options)
229
+ return _response.data
343
230
 
344
231
  async def detach(
345
232
  self, agent_id: str, tool_id: str, *, request_options: typing.Optional[RequestOptions] = None
@@ -382,31 +269,5 @@ class AsyncToolsClient:
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)}/tools/detach/{jsonable_encoder(tool_id)}",
387
- method="PATCH",
388
- request_options=request_options,
389
- )
390
- try:
391
- if 200 <= _response.status_code < 300:
392
- return typing.cast(
393
- AgentState,
394
- construct_type(
395
- type_=AgentState, # 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.detach(agent_id, tool_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.tool import Tool
16
+
17
+
18
+ class RawToolsClient:
19
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
20
+ self._client_wrapper = client_wrapper
21
+
22
+ def list(
23
+ self, agent_id: str, *, request_options: typing.Optional[RequestOptions] = None
24
+ ) -> HttpResponse[typing.List[Tool]]:
25
+ """
26
+ Get tools from an existing agent
27
+
28
+ Parameters
29
+ ----------
30
+ agent_id : str
31
+
32
+ request_options : typing.Optional[RequestOptions]
33
+ Request-specific configuration.
34
+
35
+ Returns
36
+ -------
37
+ HttpResponse[typing.List[Tool]]
38
+ Successful Response
39
+ """
40
+ _response = self._client_wrapper.httpx_client.request(
41
+ f"v1/agents/{jsonable_encoder(agent_id)}/tools",
42
+ method="GET",
43
+ request_options=request_options,
44
+ )
45
+ try:
46
+ if 200 <= _response.status_code < 300:
47
+ _data = typing.cast(
48
+ typing.List[Tool],
49
+ construct_type(
50
+ type_=typing.List[Tool], # type: ignore
51
+ object_=_response.json(),
52
+ ),
53
+ )
54
+ return HttpResponse(response=_response, data=_data)
55
+ if _response.status_code == 422:
56
+ raise UnprocessableEntityError(
57
+ headers=dict(_response.headers),
58
+ body=typing.cast(
59
+ HttpValidationError,
60
+ construct_type(
61
+ type_=HttpValidationError, # type: ignore
62
+ object_=_response.json(),
63
+ ),
64
+ ),
65
+ )
66
+ _response_json = _response.json()
67
+ except JSONDecodeError:
68
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
69
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
70
+
71
+ def attach(
72
+ self, agent_id: str, tool_id: str, *, request_options: typing.Optional[RequestOptions] = None
73
+ ) -> HttpResponse[AgentState]:
74
+ """
75
+ Attach a tool to an agent.
76
+
77
+ Parameters
78
+ ----------
79
+ agent_id : str
80
+
81
+ tool_id : str
82
+
83
+ request_options : typing.Optional[RequestOptions]
84
+ Request-specific configuration.
85
+
86
+ Returns
87
+ -------
88
+ HttpResponse[AgentState]
89
+ Successful Response
90
+ """
91
+ _response = self._client_wrapper.httpx_client.request(
92
+ f"v1/agents/{jsonable_encoder(agent_id)}/tools/attach/{jsonable_encoder(tool_id)}",
93
+ method="PATCH",
94
+ request_options=request_options,
95
+ )
96
+ try:
97
+ if 200 <= _response.status_code < 300:
98
+ _data = typing.cast(
99
+ AgentState,
100
+ construct_type(
101
+ type_=AgentState, # type: ignore
102
+ object_=_response.json(),
103
+ ),
104
+ )
105
+ return HttpResponse(response=_response, data=_data)
106
+ if _response.status_code == 422:
107
+ raise UnprocessableEntityError(
108
+ headers=dict(_response.headers),
109
+ body=typing.cast(
110
+ HttpValidationError,
111
+ construct_type(
112
+ type_=HttpValidationError, # type: ignore
113
+ object_=_response.json(),
114
+ ),
115
+ ),
116
+ )
117
+ _response_json = _response.json()
118
+ except JSONDecodeError:
119
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
120
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
121
+
122
+ def detach(
123
+ self, agent_id: str, tool_id: str, *, request_options: typing.Optional[RequestOptions] = None
124
+ ) -> HttpResponse[AgentState]:
125
+ """
126
+ Detach a tool from an agent.
127
+
128
+ Parameters
129
+ ----------
130
+ agent_id : str
131
+
132
+ tool_id : str
133
+
134
+ request_options : typing.Optional[RequestOptions]
135
+ Request-specific configuration.
136
+
137
+ Returns
138
+ -------
139
+ HttpResponse[AgentState]
140
+ Successful Response
141
+ """
142
+ _response = self._client_wrapper.httpx_client.request(
143
+ f"v1/agents/{jsonable_encoder(agent_id)}/tools/detach/{jsonable_encoder(tool_id)}",
144
+ method="PATCH",
145
+ request_options=request_options,
146
+ )
147
+ try:
148
+ if 200 <= _response.status_code < 300:
149
+ _data = typing.cast(
150
+ AgentState,
151
+ construct_type(
152
+ type_=AgentState, # 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 AsyncRawToolsClient:
175
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
176
+ self._client_wrapper = client_wrapper
177
+
178
+ async def list(
179
+ self, agent_id: str, *, request_options: typing.Optional[RequestOptions] = None
180
+ ) -> AsyncHttpResponse[typing.List[Tool]]:
181
+ """
182
+ Get tools from an existing agent
183
+
184
+ Parameters
185
+ ----------
186
+ agent_id : str
187
+
188
+ request_options : typing.Optional[RequestOptions]
189
+ Request-specific configuration.
190
+
191
+ Returns
192
+ -------
193
+ AsyncHttpResponse[typing.List[Tool]]
194
+ Successful Response
195
+ """
196
+ _response = await self._client_wrapper.httpx_client.request(
197
+ f"v1/agents/{jsonable_encoder(agent_id)}/tools",
198
+ method="GET",
199
+ request_options=request_options,
200
+ )
201
+ try:
202
+ if 200 <= _response.status_code < 300:
203
+ _data = typing.cast(
204
+ typing.List[Tool],
205
+ construct_type(
206
+ type_=typing.List[Tool], # type: ignore
207
+ object_=_response.json(),
208
+ ),
209
+ )
210
+ return AsyncHttpResponse(response=_response, data=_data)
211
+ if _response.status_code == 422:
212
+ raise UnprocessableEntityError(
213
+ headers=dict(_response.headers),
214
+ body=typing.cast(
215
+ HttpValidationError,
216
+ construct_type(
217
+ type_=HttpValidationError, # type: ignore
218
+ object_=_response.json(),
219
+ ),
220
+ ),
221
+ )
222
+ _response_json = _response.json()
223
+ except JSONDecodeError:
224
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
225
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
226
+
227
+ async def attach(
228
+ self, agent_id: str, tool_id: str, *, request_options: typing.Optional[RequestOptions] = None
229
+ ) -> AsyncHttpResponse[AgentState]:
230
+ """
231
+ Attach a tool to an agent.
232
+
233
+ Parameters
234
+ ----------
235
+ agent_id : str
236
+
237
+ tool_id : str
238
+
239
+ request_options : typing.Optional[RequestOptions]
240
+ Request-specific configuration.
241
+
242
+ Returns
243
+ -------
244
+ AsyncHttpResponse[AgentState]
245
+ Successful Response
246
+ """
247
+ _response = await self._client_wrapper.httpx_client.request(
248
+ f"v1/agents/{jsonable_encoder(agent_id)}/tools/attach/{jsonable_encoder(tool_id)}",
249
+ method="PATCH",
250
+ request_options=request_options,
251
+ )
252
+ try:
253
+ if 200 <= _response.status_code < 300:
254
+ _data = typing.cast(
255
+ AgentState,
256
+ construct_type(
257
+ type_=AgentState, # type: ignore
258
+ object_=_response.json(),
259
+ ),
260
+ )
261
+ return AsyncHttpResponse(response=_response, data=_data)
262
+ if _response.status_code == 422:
263
+ raise UnprocessableEntityError(
264
+ headers=dict(_response.headers),
265
+ body=typing.cast(
266
+ HttpValidationError,
267
+ construct_type(
268
+ type_=HttpValidationError, # type: ignore
269
+ object_=_response.json(),
270
+ ),
271
+ ),
272
+ )
273
+ _response_json = _response.json()
274
+ except JSONDecodeError:
275
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
276
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
277
+
278
+ async def detach(
279
+ self, agent_id: str, tool_id: str, *, request_options: typing.Optional[RequestOptions] = None
280
+ ) -> AsyncHttpResponse[AgentState]:
281
+ """
282
+ Detach a tool from an agent.
283
+
284
+ Parameters
285
+ ----------
286
+ agent_id : str
287
+
288
+ tool_id : str
289
+
290
+ request_options : typing.Optional[RequestOptions]
291
+ Request-specific configuration.
292
+
293
+ Returns
294
+ -------
295
+ AsyncHttpResponse[AgentState]
296
+ Successful Response
297
+ """
298
+ _response = await self._client_wrapper.httpx_client.request(
299
+ f"v1/agents/{jsonable_encoder(agent_id)}/tools/detach/{jsonable_encoder(tool_id)}",
300
+ method="PATCH",
301
+ request_options=request_options,
302
+ )
303
+ try:
304
+ if 200 <= _response.status_code < 300:
305
+ _data = typing.cast(
306
+ AgentState,
307
+ construct_type(
308
+ type_=AgentState, # 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 .agents_search_request_search_item import AgentsSearchRequestSearchItem
4
6
  from .agents_search_request_search_item_field import AgentsSearchRequestSearchItemField
5
7
  from .agents_search_request_search_item_field_operator import AgentsSearchRequestSearchItemFieldOperator
@@ -1,11 +1,12 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
3
  import typing
4
- from .agents_search_request_search_item_zero import AgentsSearchRequestSearchItemZero
4
+
5
+ from .agents_search_request_search_item_field import AgentsSearchRequestSearchItemField
5
6
  from .agents_search_request_search_item_one import AgentsSearchRequestSearchItemOne
6
- from .agents_search_request_search_item_two import AgentsSearchRequestSearchItemTwo
7
7
  from .agents_search_request_search_item_three import AgentsSearchRequestSearchItemThree
8
- from .agents_search_request_search_item_field import AgentsSearchRequestSearchItemField
8
+ from .agents_search_request_search_item_two import AgentsSearchRequestSearchItemTwo
9
+ from .agents_search_request_search_item_zero import AgentsSearchRequestSearchItemZero
9
10
 
10
11
  AgentsSearchRequestSearchItem = typing.Union[
11
12
  AgentsSearchRequestSearchItemZero,
@@ -1,10 +1,11 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
- from ...core.unchecked_base_model import UncheckedBaseModel
4
3
  import typing
5
- from .agents_search_request_search_item_field_operator import AgentsSearchRequestSearchItemFieldOperator
6
- from ...core.pydantic_utilities import IS_PYDANTIC_V2
4
+
7
5
  import pydantic
6
+ from ...core.pydantic_utilities import IS_PYDANTIC_V2
7
+ from ...core.unchecked_base_model import UncheckedBaseModel
8
+ from .agents_search_request_search_item_field_operator import AgentsSearchRequestSearchItemFieldOperator
8
9
 
9
10
 
10
11
  class AgentsSearchRequestSearchItemField(UncheckedBaseModel):
@@ -1,10 +1,11 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
- from ...core.unchecked_base_model import UncheckedBaseModel
4
3
  import typing
5
- from .agents_search_request_search_item_one_operator import AgentsSearchRequestSearchItemOneOperator
6
- from ...core.pydantic_utilities import IS_PYDANTIC_V2
4
+
7
5
  import pydantic
6
+ from ...core.pydantic_utilities import IS_PYDANTIC_V2
7
+ from ...core.unchecked_base_model import UncheckedBaseModel
8
+ from .agents_search_request_search_item_one_operator import AgentsSearchRequestSearchItemOneOperator
8
9
 
9
10
 
10
11
  class AgentsSearchRequestSearchItemOne(UncheckedBaseModel):
@@ -1,9 +1,10 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
- from ...core.unchecked_base_model import UncheckedBaseModel
4
3
  import typing
5
- from ...core.pydantic_utilities import IS_PYDANTIC_V2
4
+
6
5
  import pydantic
6
+ from ...core.pydantic_utilities import IS_PYDANTIC_V2
7
+ from ...core.unchecked_base_model import UncheckedBaseModel
7
8
 
8
9
 
9
10
  class AgentsSearchRequestSearchItemThree(UncheckedBaseModel):
@@ -1,9 +1,10 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
- from ...core.unchecked_base_model import UncheckedBaseModel
4
3
  import typing
5
- from ...core.pydantic_utilities import IS_PYDANTIC_V2
4
+
6
5
  import pydantic
6
+ from ...core.pydantic_utilities import IS_PYDANTIC_V2
7
+ from ...core.unchecked_base_model import UncheckedBaseModel
7
8
 
8
9
 
9
10
  class AgentsSearchRequestSearchItemTwo(UncheckedBaseModel):