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,18 +1,12 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
3
  import typing
4
- from ..core.client_wrapper import SyncClientWrapper
5
- from .agents.client import AgentsClient
4
+
5
+ from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
6
6
  from ..core.request_options import RequestOptions
7
7
  from ..types.block import Block
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
- from ..core.jsonable_encoder import jsonable_encoder
14
- from ..core.client_wrapper import AsyncClientWrapper
15
- from .agents.client import AsyncAgentsClient
8
+ from .agents.client import AgentsClient, AsyncAgentsClient
9
+ from .raw_client import AsyncRawBlocksClient, RawBlocksClient
16
10
 
17
11
  # this is used as the default value for optional parameters
18
12
  OMIT = typing.cast(typing.Any, ...)
@@ -20,8 +14,19 @@ OMIT = typing.cast(typing.Any, ...)
20
14
 
21
15
  class BlocksClient:
22
16
  def __init__(self, *, client_wrapper: SyncClientWrapper):
23
- self._client_wrapper = client_wrapper
24
- self.agents = AgentsClient(client_wrapper=self._client_wrapper)
17
+ self._raw_client = RawBlocksClient(client_wrapper=client_wrapper)
18
+ self.agents = AgentsClient(client_wrapper=client_wrapper)
19
+
20
+ @property
21
+ def with_raw_response(self) -> RawBlocksClient:
22
+ """
23
+ Retrieves a raw implementation of this client that returns raw responses.
24
+
25
+ Returns
26
+ -------
27
+ RawBlocksClient
28
+ """
29
+ return self._raw_client
25
30
 
26
31
  def list(
27
32
  self,
@@ -109,51 +114,25 @@ class BlocksClient:
109
114
  )
110
115
  client.blocks.list()
111
116
  """
112
- _response = self._client_wrapper.httpx_client.request(
113
- "v1/blocks/",
114
- method="GET",
115
- params={
116
- "label": label,
117
- "templates_only": templates_only,
118
- "name": name,
119
- "identity_id": identity_id,
120
- "identifier_keys": identifier_keys,
121
- "project_id": project_id,
122
- "limit": limit,
123
- "before": before,
124
- "after": after,
125
- "label_search": label_search,
126
- "description_search": description_search,
127
- "value_search": value_search,
128
- "connected_to_agents_count_gt": connected_to_agents_count_gt,
129
- "connected_to_agents_count_lt": connected_to_agents_count_lt,
130
- "connected_to_agents_count_eq": connected_to_agents_count_eq,
131
- },
117
+ _response = self._raw_client.list(
118
+ label=label,
119
+ templates_only=templates_only,
120
+ name=name,
121
+ identity_id=identity_id,
122
+ identifier_keys=identifier_keys,
123
+ project_id=project_id,
124
+ limit=limit,
125
+ before=before,
126
+ after=after,
127
+ label_search=label_search,
128
+ description_search=description_search,
129
+ value_search=value_search,
130
+ connected_to_agents_count_gt=connected_to_agents_count_gt,
131
+ connected_to_agents_count_lt=connected_to_agents_count_lt,
132
+ connected_to_agents_count_eq=connected_to_agents_count_eq,
132
133
  request_options=request_options,
133
134
  )
134
- try:
135
- if 200 <= _response.status_code < 300:
136
- return typing.cast(
137
- typing.List[Block],
138
- construct_type(
139
- type_=typing.List[Block], # type: ignore
140
- object_=_response.json(),
141
- ),
142
- )
143
- if _response.status_code == 422:
144
- raise UnprocessableEntityError(
145
- typing.cast(
146
- HttpValidationError,
147
- construct_type(
148
- type_=HttpValidationError, # type: ignore
149
- object_=_response.json(),
150
- ),
151
- )
152
- )
153
- _response_json = _response.json()
154
- except JSONDecodeError:
155
- raise ApiError(status_code=_response.status_code, body=_response.text)
156
- raise ApiError(status_code=_response.status_code, body=_response_json)
135
+ return _response.data
157
136
 
158
137
  def create(
159
138
  self,
@@ -223,47 +202,20 @@ class BlocksClient:
223
202
  label="label",
224
203
  )
225
204
  """
226
- _response = self._client_wrapper.httpx_client.request(
227
- "v1/blocks/",
228
- method="POST",
229
- json={
230
- "value": value,
231
- "limit": limit,
232
- "project_id": project_id,
233
- "name": name,
234
- "is_template": is_template,
235
- "preserve_on_migration": preserve_on_migration,
236
- "label": label,
237
- "read_only": read_only,
238
- "description": description,
239
- "metadata": metadata,
240
- },
205
+ _response = self._raw_client.create(
206
+ value=value,
207
+ label=label,
208
+ limit=limit,
209
+ project_id=project_id,
210
+ name=name,
211
+ is_template=is_template,
212
+ preserve_on_migration=preserve_on_migration,
213
+ read_only=read_only,
214
+ description=description,
215
+ metadata=metadata,
241
216
  request_options=request_options,
242
- omit=OMIT,
243
217
  )
244
- try:
245
- if 200 <= _response.status_code < 300:
246
- return typing.cast(
247
- Block,
248
- construct_type(
249
- type_=Block, # type: ignore
250
- object_=_response.json(),
251
- ),
252
- )
253
- if _response.status_code == 422:
254
- raise UnprocessableEntityError(
255
- typing.cast(
256
- HttpValidationError,
257
- construct_type(
258
- type_=HttpValidationError, # type: ignore
259
- object_=_response.json(),
260
- ),
261
- )
262
- )
263
- _response_json = _response.json()
264
- except JSONDecodeError:
265
- raise ApiError(status_code=_response.status_code, body=_response.text)
266
- raise ApiError(status_code=_response.status_code, body=_response_json)
218
+ return _response.data
267
219
 
268
220
  def count(self, *, request_options: typing.Optional[RequestOptions] = None) -> int:
269
221
  """
@@ -289,34 +241,8 @@ class BlocksClient:
289
241
  )
290
242
  client.blocks.count()
291
243
  """
292
- _response = self._client_wrapper.httpx_client.request(
293
- "v1/blocks/count",
294
- method="GET",
295
- request_options=request_options,
296
- )
297
- try:
298
- if 200 <= _response.status_code < 300:
299
- return typing.cast(
300
- int,
301
- construct_type(
302
- type_=int, # type: ignore
303
- object_=_response.json(),
304
- ),
305
- )
306
- if _response.status_code == 422:
307
- raise UnprocessableEntityError(
308
- typing.cast(
309
- HttpValidationError,
310
- construct_type(
311
- type_=HttpValidationError, # type: ignore
312
- object_=_response.json(),
313
- ),
314
- )
315
- )
316
- _response_json = _response.json()
317
- except JSONDecodeError:
318
- raise ApiError(status_code=_response.status_code, body=_response.text)
319
- raise ApiError(status_code=_response.status_code, body=_response_json)
244
+ _response = self._raw_client.count(request_options=request_options)
245
+ return _response.data
320
246
 
321
247
  def retrieve(self, block_id: str, *, request_options: typing.Optional[RequestOptions] = None) -> Block:
322
248
  """
@@ -344,34 +270,8 @@ class BlocksClient:
344
270
  block_id="block_id",
345
271
  )
346
272
  """
347
- _response = self._client_wrapper.httpx_client.request(
348
- f"v1/blocks/{jsonable_encoder(block_id)}",
349
- method="GET",
350
- request_options=request_options,
351
- )
352
- try:
353
- if 200 <= _response.status_code < 300:
354
- return typing.cast(
355
- Block,
356
- construct_type(
357
- type_=Block, # type: ignore
358
- object_=_response.json(),
359
- ),
360
- )
361
- if _response.status_code == 422:
362
- raise UnprocessableEntityError(
363
- typing.cast(
364
- HttpValidationError,
365
- construct_type(
366
- type_=HttpValidationError, # type: ignore
367
- object_=_response.json(),
368
- ),
369
- )
370
- )
371
- _response_json = _response.json()
372
- except JSONDecodeError:
373
- raise ApiError(status_code=_response.status_code, body=_response.text)
374
- raise ApiError(status_code=_response.status_code, body=_response_json)
273
+ _response = self._raw_client.retrieve(block_id, request_options=request_options)
274
+ return _response.data
375
275
 
376
276
  def delete(
377
277
  self, block_id: str, *, request_options: typing.Optional[RequestOptions] = None
@@ -401,34 +301,8 @@ class BlocksClient:
401
301
  block_id="block_id",
402
302
  )
403
303
  """
404
- _response = self._client_wrapper.httpx_client.request(
405
- f"v1/blocks/{jsonable_encoder(block_id)}",
406
- method="DELETE",
407
- request_options=request_options,
408
- )
409
- try:
410
- if 200 <= _response.status_code < 300:
411
- return typing.cast(
412
- typing.Optional[typing.Any],
413
- construct_type(
414
- type_=typing.Optional[typing.Any], # type: ignore
415
- object_=_response.json(),
416
- ),
417
- )
418
- if _response.status_code == 422:
419
- raise UnprocessableEntityError(
420
- typing.cast(
421
- HttpValidationError,
422
- construct_type(
423
- type_=HttpValidationError, # type: ignore
424
- object_=_response.json(),
425
- ),
426
- )
427
- )
428
- _response_json = _response.json()
429
- except JSONDecodeError:
430
- raise ApiError(status_code=_response.status_code, body=_response.text)
431
- raise ApiError(status_code=_response.status_code, body=_response_json)
304
+ _response = self._raw_client.delete(block_id, request_options=request_options)
305
+ return _response.data
432
306
 
433
307
  def modify(
434
308
  self,
@@ -501,53 +375,38 @@ class BlocksClient:
501
375
  block_id="block_id",
502
376
  )
503
377
  """
504
- _response = self._client_wrapper.httpx_client.request(
505
- f"v1/blocks/{jsonable_encoder(block_id)}",
506
- method="PATCH",
507
- json={
508
- "value": value,
509
- "limit": limit,
510
- "project_id": project_id,
511
- "name": name,
512
- "is_template": is_template,
513
- "preserve_on_migration": preserve_on_migration,
514
- "label": label,
515
- "read_only": read_only,
516
- "description": description,
517
- "metadata": metadata,
518
- },
378
+ _response = self._raw_client.modify(
379
+ block_id,
380
+ value=value,
381
+ limit=limit,
382
+ project_id=project_id,
383
+ name=name,
384
+ is_template=is_template,
385
+ preserve_on_migration=preserve_on_migration,
386
+ label=label,
387
+ read_only=read_only,
388
+ description=description,
389
+ metadata=metadata,
519
390
  request_options=request_options,
520
- omit=OMIT,
521
391
  )
522
- try:
523
- if 200 <= _response.status_code < 300:
524
- return typing.cast(
525
- Block,
526
- construct_type(
527
- type_=Block, # type: ignore
528
- object_=_response.json(),
529
- ),
530
- )
531
- if _response.status_code == 422:
532
- raise UnprocessableEntityError(
533
- typing.cast(
534
- HttpValidationError,
535
- construct_type(
536
- type_=HttpValidationError, # type: ignore
537
- object_=_response.json(),
538
- ),
539
- )
540
- )
541
- _response_json = _response.json()
542
- except JSONDecodeError:
543
- raise ApiError(status_code=_response.status_code, body=_response.text)
544
- raise ApiError(status_code=_response.status_code, body=_response_json)
392
+ return _response.data
545
393
 
546
394
 
547
395
  class AsyncBlocksClient:
548
396
  def __init__(self, *, client_wrapper: AsyncClientWrapper):
549
- self._client_wrapper = client_wrapper
550
- self.agents = AsyncAgentsClient(client_wrapper=self._client_wrapper)
397
+ self._raw_client = AsyncRawBlocksClient(client_wrapper=client_wrapper)
398
+ self.agents = AsyncAgentsClient(client_wrapper=client_wrapper)
399
+
400
+ @property
401
+ def with_raw_response(self) -> AsyncRawBlocksClient:
402
+ """
403
+ Retrieves a raw implementation of this client that returns raw responses.
404
+
405
+ Returns
406
+ -------
407
+ AsyncRawBlocksClient
408
+ """
409
+ return self._raw_client
551
410
 
552
411
  async def list(
553
412
  self,
@@ -643,51 +502,25 @@ class AsyncBlocksClient:
643
502
 
644
503
  asyncio.run(main())
645
504
  """
646
- _response = await self._client_wrapper.httpx_client.request(
647
- "v1/blocks/",
648
- method="GET",
649
- params={
650
- "label": label,
651
- "templates_only": templates_only,
652
- "name": name,
653
- "identity_id": identity_id,
654
- "identifier_keys": identifier_keys,
655
- "project_id": project_id,
656
- "limit": limit,
657
- "before": before,
658
- "after": after,
659
- "label_search": label_search,
660
- "description_search": description_search,
661
- "value_search": value_search,
662
- "connected_to_agents_count_gt": connected_to_agents_count_gt,
663
- "connected_to_agents_count_lt": connected_to_agents_count_lt,
664
- "connected_to_agents_count_eq": connected_to_agents_count_eq,
665
- },
505
+ _response = await self._raw_client.list(
506
+ label=label,
507
+ templates_only=templates_only,
508
+ name=name,
509
+ identity_id=identity_id,
510
+ identifier_keys=identifier_keys,
511
+ project_id=project_id,
512
+ limit=limit,
513
+ before=before,
514
+ after=after,
515
+ label_search=label_search,
516
+ description_search=description_search,
517
+ value_search=value_search,
518
+ connected_to_agents_count_gt=connected_to_agents_count_gt,
519
+ connected_to_agents_count_lt=connected_to_agents_count_lt,
520
+ connected_to_agents_count_eq=connected_to_agents_count_eq,
666
521
  request_options=request_options,
667
522
  )
668
- try:
669
- if 200 <= _response.status_code < 300:
670
- return typing.cast(
671
- typing.List[Block],
672
- construct_type(
673
- type_=typing.List[Block], # type: ignore
674
- object_=_response.json(),
675
- ),
676
- )
677
- if _response.status_code == 422:
678
- raise UnprocessableEntityError(
679
- typing.cast(
680
- HttpValidationError,
681
- construct_type(
682
- type_=HttpValidationError, # type: ignore
683
- object_=_response.json(),
684
- ),
685
- )
686
- )
687
- _response_json = _response.json()
688
- except JSONDecodeError:
689
- raise ApiError(status_code=_response.status_code, body=_response.text)
690
- raise ApiError(status_code=_response.status_code, body=_response_json)
523
+ return _response.data
691
524
 
692
525
  async def create(
693
526
  self,
@@ -765,47 +598,20 @@ class AsyncBlocksClient:
765
598
 
766
599
  asyncio.run(main())
767
600
  """
768
- _response = await self._client_wrapper.httpx_client.request(
769
- "v1/blocks/",
770
- method="POST",
771
- json={
772
- "value": value,
773
- "limit": limit,
774
- "project_id": project_id,
775
- "name": name,
776
- "is_template": is_template,
777
- "preserve_on_migration": preserve_on_migration,
778
- "label": label,
779
- "read_only": read_only,
780
- "description": description,
781
- "metadata": metadata,
782
- },
601
+ _response = await self._raw_client.create(
602
+ value=value,
603
+ label=label,
604
+ limit=limit,
605
+ project_id=project_id,
606
+ name=name,
607
+ is_template=is_template,
608
+ preserve_on_migration=preserve_on_migration,
609
+ read_only=read_only,
610
+ description=description,
611
+ metadata=metadata,
783
612
  request_options=request_options,
784
- omit=OMIT,
785
613
  )
786
- try:
787
- if 200 <= _response.status_code < 300:
788
- return typing.cast(
789
- Block,
790
- construct_type(
791
- type_=Block, # type: ignore
792
- object_=_response.json(),
793
- ),
794
- )
795
- if _response.status_code == 422:
796
- raise UnprocessableEntityError(
797
- typing.cast(
798
- HttpValidationError,
799
- construct_type(
800
- type_=HttpValidationError, # type: ignore
801
- object_=_response.json(),
802
- ),
803
- )
804
- )
805
- _response_json = _response.json()
806
- except JSONDecodeError:
807
- raise ApiError(status_code=_response.status_code, body=_response.text)
808
- raise ApiError(status_code=_response.status_code, body=_response_json)
614
+ return _response.data
809
615
 
810
616
  async def count(self, *, request_options: typing.Optional[RequestOptions] = None) -> int:
811
617
  """
@@ -839,34 +645,8 @@ class AsyncBlocksClient:
839
645
 
840
646
  asyncio.run(main())
841
647
  """
842
- _response = await self._client_wrapper.httpx_client.request(
843
- "v1/blocks/count",
844
- method="GET",
845
- request_options=request_options,
846
- )
847
- try:
848
- if 200 <= _response.status_code < 300:
849
- return typing.cast(
850
- int,
851
- construct_type(
852
- type_=int, # type: ignore
853
- object_=_response.json(),
854
- ),
855
- )
856
- if _response.status_code == 422:
857
- raise UnprocessableEntityError(
858
- typing.cast(
859
- HttpValidationError,
860
- construct_type(
861
- type_=HttpValidationError, # type: ignore
862
- object_=_response.json(),
863
- ),
864
- )
865
- )
866
- _response_json = _response.json()
867
- except JSONDecodeError:
868
- raise ApiError(status_code=_response.status_code, body=_response.text)
869
- raise ApiError(status_code=_response.status_code, body=_response_json)
648
+ _response = await self._raw_client.count(request_options=request_options)
649
+ return _response.data
870
650
 
871
651
  async def retrieve(self, block_id: str, *, request_options: typing.Optional[RequestOptions] = None) -> Block:
872
652
  """
@@ -902,34 +682,8 @@ class AsyncBlocksClient:
902
682
 
903
683
  asyncio.run(main())
904
684
  """
905
- _response = await self._client_wrapper.httpx_client.request(
906
- f"v1/blocks/{jsonable_encoder(block_id)}",
907
- method="GET",
908
- request_options=request_options,
909
- )
910
- try:
911
- if 200 <= _response.status_code < 300:
912
- return typing.cast(
913
- Block,
914
- construct_type(
915
- type_=Block, # type: ignore
916
- object_=_response.json(),
917
- ),
918
- )
919
- if _response.status_code == 422:
920
- raise UnprocessableEntityError(
921
- typing.cast(
922
- HttpValidationError,
923
- construct_type(
924
- type_=HttpValidationError, # type: ignore
925
- object_=_response.json(),
926
- ),
927
- )
928
- )
929
- _response_json = _response.json()
930
- except JSONDecodeError:
931
- raise ApiError(status_code=_response.status_code, body=_response.text)
932
- raise ApiError(status_code=_response.status_code, body=_response_json)
685
+ _response = await self._raw_client.retrieve(block_id, request_options=request_options)
686
+ return _response.data
933
687
 
934
688
  async def delete(
935
689
  self, block_id: str, *, request_options: typing.Optional[RequestOptions] = None
@@ -967,34 +721,8 @@ class AsyncBlocksClient:
967
721
 
968
722
  asyncio.run(main())
969
723
  """
970
- _response = await self._client_wrapper.httpx_client.request(
971
- f"v1/blocks/{jsonable_encoder(block_id)}",
972
- method="DELETE",
973
- request_options=request_options,
974
- )
975
- try:
976
- if 200 <= _response.status_code < 300:
977
- return typing.cast(
978
- typing.Optional[typing.Any],
979
- construct_type(
980
- type_=typing.Optional[typing.Any], # type: ignore
981
- object_=_response.json(),
982
- ),
983
- )
984
- if _response.status_code == 422:
985
- raise UnprocessableEntityError(
986
- typing.cast(
987
- HttpValidationError,
988
- construct_type(
989
- type_=HttpValidationError, # type: ignore
990
- object_=_response.json(),
991
- ),
992
- )
993
- )
994
- _response_json = _response.json()
995
- except JSONDecodeError:
996
- raise ApiError(status_code=_response.status_code, body=_response.text)
997
- raise ApiError(status_code=_response.status_code, body=_response_json)
724
+ _response = await self._raw_client.delete(block_id, request_options=request_options)
725
+ return _response.data
998
726
 
999
727
  async def modify(
1000
728
  self,
@@ -1075,44 +803,18 @@ class AsyncBlocksClient:
1075
803
 
1076
804
  asyncio.run(main())
1077
805
  """
1078
- _response = await self._client_wrapper.httpx_client.request(
1079
- f"v1/blocks/{jsonable_encoder(block_id)}",
1080
- method="PATCH",
1081
- json={
1082
- "value": value,
1083
- "limit": limit,
1084
- "project_id": project_id,
1085
- "name": name,
1086
- "is_template": is_template,
1087
- "preserve_on_migration": preserve_on_migration,
1088
- "label": label,
1089
- "read_only": read_only,
1090
- "description": description,
1091
- "metadata": metadata,
1092
- },
806
+ _response = await self._raw_client.modify(
807
+ block_id,
808
+ value=value,
809
+ limit=limit,
810
+ project_id=project_id,
811
+ name=name,
812
+ is_template=is_template,
813
+ preserve_on_migration=preserve_on_migration,
814
+ label=label,
815
+ read_only=read_only,
816
+ description=description,
817
+ metadata=metadata,
1093
818
  request_options=request_options,
1094
- omit=OMIT,
1095
819
  )
1096
- try:
1097
- if 200 <= _response.status_code < 300:
1098
- return typing.cast(
1099
- Block,
1100
- construct_type(
1101
- type_=Block, # type: ignore
1102
- object_=_response.json(),
1103
- ),
1104
- )
1105
- if _response.status_code == 422:
1106
- raise UnprocessableEntityError(
1107
- typing.cast(
1108
- HttpValidationError,
1109
- construct_type(
1110
- type_=HttpValidationError, # type: ignore
1111
- object_=_response.json(),
1112
- ),
1113
- )
1114
- )
1115
- _response_json = _response.json()
1116
- except JSONDecodeError:
1117
- raise ApiError(status_code=_response.status_code, body=_response.text)
1118
- raise ApiError(status_code=_response.status_code, body=_response_json)
820
+ return _response.data