letta-client 0.1.233__py3-none-any.whl → 0.1.235__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

Files changed (438) hide show
  1. letta_client/__init__.py +2 -0
  2. letta_client/agents/__init__.py +2 -0
  3. letta_client/agents/blocks/__init__.py +2 -0
  4. letta_client/agents/blocks/client.py +72 -313
  5. letta_client/agents/blocks/raw_client.py +654 -0
  6. letta_client/agents/client.py +349 -869
  7. letta_client/agents/context/__init__.py +2 -0
  8. letta_client/agents/context/client.py +31 -66
  9. letta_client/agents/context/raw_client.py +122 -0
  10. letta_client/agents/core_memory/__init__.py +2 -0
  11. letta_client/agents/core_memory/client.py +31 -66
  12. letta_client/agents/core_memory/raw_client.py +124 -0
  13. letta_client/agents/files/__init__.py +2 -0
  14. letta_client/agents/files/client.py +39 -178
  15. letta_client/agents/files/raw_client.py +349 -0
  16. letta_client/agents/folders/__init__.py +2 -0
  17. letta_client/agents/folders/client.py +39 -178
  18. letta_client/agents/folders/raw_client.py +327 -0
  19. letta_client/agents/groups/__init__.py +2 -0
  20. letta_client/agents/groups/client.py +31 -72
  21. letta_client/agents/groups/raw_client.py +142 -0
  22. letta_client/agents/memory_variables/__init__.py +2 -0
  23. letta_client/agents/memory_variables/client.py +31 -65
  24. letta_client/agents/memory_variables/raw_client.py +125 -0
  25. letta_client/agents/memory_variables/types/__init__.py +2 -0
  26. letta_client/agents/memory_variables/types/memory_variables_list_response.py +3 -2
  27. letta_client/agents/messages/__init__.py +2 -0
  28. letta_client/agents/messages/client.py +150 -589
  29. letta_client/agents/messages/raw_client.py +1384 -0
  30. letta_client/agents/messages/types/__init__.py +2 -0
  31. letta_client/agents/messages/types/letta_streaming_response.py +6 -5
  32. letta_client/agents/messages/types/messages_modify_request.py +3 -2
  33. letta_client/agents/messages/types/messages_modify_response.py +5 -4
  34. letta_client/agents/messages/types/messages_preview_raw_payload_request.py +1 -0
  35. letta_client/agents/passages/__init__.py +2 -0
  36. letta_client/agents/passages/client.py +89 -301
  37. letta_client/agents/passages/raw_client.py +678 -0
  38. letta_client/agents/raw_client.py +2088 -0
  39. letta_client/agents/sources/__init__.py +2 -0
  40. letta_client/agents/sources/client.py +39 -178
  41. letta_client/agents/sources/raw_client.py +327 -0
  42. letta_client/agents/templates/__init__.py +2 -0
  43. letta_client/agents/templates/client.py +57 -276
  44. letta_client/agents/templates/raw_client.py +505 -0
  45. letta_client/agents/templates/types/__init__.py +2 -0
  46. letta_client/agents/templates/types/templates_create_response.py +5 -4
  47. letta_client/agents/templates/types/templates_migrate_response.py +3 -2
  48. letta_client/agents/tools/__init__.py +2 -0
  49. letta_client/agents/tools/client.py +40 -179
  50. letta_client/agents/tools/raw_client.py +327 -0
  51. letta_client/agents/types/__init__.py +2 -0
  52. letta_client/agents/types/agents_search_request_search_item.py +4 -3
  53. letta_client/agents/types/agents_search_request_search_item_field.py +4 -3
  54. letta_client/agents/types/agents_search_request_search_item_one.py +4 -3
  55. letta_client/agents/types/agents_search_request_search_item_three.py +3 -2
  56. letta_client/agents/types/agents_search_request_search_item_two.py +3 -2
  57. letta_client/agents/types/agents_search_request_search_item_zero.py +3 -2
  58. letta_client/agents/types/agents_search_response.py +5 -4
  59. letta_client/agents/types/create_agent_request_response_format.py +1 -0
  60. letta_client/agents/types/create_agent_request_tool_rules_item.py +4 -3
  61. letta_client/agents/types/update_agent_response_format.py +1 -0
  62. letta_client/agents/types/update_agent_tool_rules_item.py +4 -3
  63. letta_client/base_client.py +41 -49
  64. letta_client/batches/__init__.py +2 -0
  65. letta_client/batches/client.py +45 -253
  66. letta_client/batches/raw_client.py +457 -0
  67. letta_client/blocks/__init__.py +2 -0
  68. letta_client/blocks/agents/__init__.py +2 -0
  69. letta_client/blocks/agents/client.py +33 -70
  70. letta_client/blocks/agents/raw_client.py +144 -0
  71. letta_client/blocks/client.py +126 -424
  72. letta_client/blocks/raw_client.py +973 -0
  73. letta_client/client_side_access_tokens/__init__.py +2 -0
  74. letta_client/client_side_access_tokens/client.py +45 -216
  75. letta_client/client_side_access_tokens/raw_client.py +435 -0
  76. letta_client/client_side_access_tokens/types/__init__.py +2 -0
  77. letta_client/client_side_access_tokens/types/client_side_access_tokens_create_request_policy_item.py +4 -3
  78. letta_client/client_side_access_tokens/types/client_side_access_tokens_create_response.py +6 -5
  79. letta_client/client_side_access_tokens/types/client_side_access_tokens_create_response_policy.py +4 -3
  80. letta_client/client_side_access_tokens/types/client_side_access_tokens_create_response_policy_data_item.py +4 -3
  81. letta_client/client_side_access_tokens/types/client_side_access_tokens_list_client_side_access_tokens_response.py +6 -5
  82. letta_client/client_side_access_tokens/types/client_side_access_tokens_list_client_side_access_tokens_response_tokens_item.py +6 -5
  83. letta_client/client_side_access_tokens/types/client_side_access_tokens_list_client_side_access_tokens_response_tokens_item_policy.py +4 -3
  84. letta_client/client_side_access_tokens/types/client_side_access_tokens_list_client_side_access_tokens_response_tokens_item_policy_data_item.py +4 -3
  85. letta_client/core/__init__.py +5 -0
  86. letta_client/core/api_error.py +13 -5
  87. letta_client/core/client_wrapper.py +14 -5
  88. letta_client/core/force_multipart.py +16 -0
  89. letta_client/core/http_client.py +70 -26
  90. letta_client/core/http_response.py +55 -0
  91. letta_client/core/jsonable_encoder.py +0 -1
  92. letta_client/core/pydantic_utilities.py +70 -111
  93. letta_client/core/serialization.py +7 -3
  94. letta_client/core/unchecked_base_model.py +40 -4
  95. letta_client/embedding_models/__init__.py +2 -0
  96. letta_client/embedding_models/client.py +31 -65
  97. letta_client/embedding_models/raw_client.py +117 -0
  98. letta_client/errors/__init__.py +2 -0
  99. letta_client/errors/bad_request_error.py +4 -3
  100. letta_client/errors/conflict_error.py +4 -2
  101. letta_client/errors/internal_server_error.py +4 -3
  102. letta_client/errors/not_found_error.py +4 -3
  103. letta_client/errors/payment_required_error.py +4 -2
  104. letta_client/errors/unprocessable_entity_error.py +4 -2
  105. letta_client/folders/__init__.py +2 -0
  106. letta_client/folders/client.py +100 -564
  107. letta_client/folders/files/__init__.py +2 -0
  108. letta_client/folders/files/client.py +44 -189
  109. letta_client/folders/files/raw_client.py +391 -0
  110. letta_client/folders/passages/__init__.py +2 -0
  111. letta_client/folders/passages/client.py +33 -74
  112. letta_client/folders/passages/raw_client.py +162 -0
  113. letta_client/folders/raw_client.py +1084 -0
  114. letta_client/groups/__init__.py +2 -0
  115. letta_client/groups/client.py +87 -406
  116. letta_client/groups/messages/__init__.py +2 -0
  117. letta_client/groups/messages/client.py +110 -371
  118. letta_client/groups/messages/raw_client.py +881 -0
  119. letta_client/groups/messages/types/__init__.py +2 -0
  120. letta_client/groups/messages/types/letta_streaming_response.py +5 -4
  121. letta_client/groups/messages/types/messages_modify_request.py +3 -2
  122. letta_client/groups/messages/types/messages_modify_response.py +5 -4
  123. letta_client/groups/raw_client.py +807 -0
  124. letta_client/groups/types/__init__.py +2 -0
  125. letta_client/groups/types/group_create_manager_config.py +1 -0
  126. letta_client/groups/types/group_update_manager_config.py +1 -0
  127. letta_client/health/__init__.py +2 -0
  128. letta_client/health/client.py +31 -43
  129. letta_client/health/raw_client.py +85 -0
  130. letta_client/identities/__init__.py +2 -0
  131. letta_client/identities/client.py +115 -498
  132. letta_client/identities/properties/__init__.py +2 -0
  133. letta_client/identities/properties/client.py +32 -76
  134. letta_client/identities/properties/raw_client.py +152 -0
  135. letta_client/identities/raw_client.py +1010 -0
  136. letta_client/jobs/__init__.py +2 -0
  137. letta_client/jobs/client.py +67 -310
  138. letta_client/jobs/raw_client.py +624 -0
  139. letta_client/messages/__init__.py +2 -0
  140. letta_client/messages/client.py +41 -74
  141. letta_client/messages/raw_client.py +186 -0
  142. letta_client/models/__init__.py +2 -0
  143. letta_client/models/client.py +39 -73
  144. letta_client/models/raw_client.py +151 -0
  145. letta_client/projects/__init__.py +2 -0
  146. letta_client/projects/client.py +31 -53
  147. letta_client/projects/raw_client.py +125 -0
  148. letta_client/projects/types/__init__.py +2 -0
  149. letta_client/projects/types/projects_list_response.py +5 -4
  150. letta_client/projects/types/projects_list_response_projects_item.py +3 -2
  151. letta_client/providers/__init__.py +2 -0
  152. letta_client/providers/client.py +62 -335
  153. letta_client/providers/raw_client.py +664 -0
  154. letta_client/runs/__init__.py +2 -0
  155. letta_client/runs/client.py +56 -258
  156. letta_client/runs/messages/__init__.py +2 -0
  157. letta_client/runs/messages/client.py +34 -79
  158. letta_client/runs/messages/raw_client.py +209 -0
  159. letta_client/runs/raw_client.py +440 -0
  160. letta_client/runs/steps/__init__.py +2 -0
  161. letta_client/runs/steps/client.py +33 -76
  162. letta_client/runs/steps/raw_client.py +192 -0
  163. letta_client/runs/usage/__init__.py +2 -0
  164. letta_client/runs/usage/client.py +31 -66
  165. letta_client/runs/usage/raw_client.py +122 -0
  166. letta_client/sources/__init__.py +2 -0
  167. letta_client/sources/client.py +107 -625
  168. letta_client/sources/files/__init__.py +2 -0
  169. letta_client/sources/files/client.py +44 -189
  170. letta_client/sources/files/raw_client.py +391 -0
  171. letta_client/sources/passages/__init__.py +2 -0
  172. letta_client/sources/passages/client.py +33 -74
  173. letta_client/sources/passages/raw_client.py +162 -0
  174. letta_client/sources/raw_client.py +1209 -0
  175. letta_client/steps/__init__.py +2 -0
  176. letta_client/steps/client.py +65 -153
  177. letta_client/steps/feedback/__init__.py +2 -0
  178. letta_client/steps/feedback/client.py +32 -73
  179. letta_client/steps/feedback/raw_client.py +141 -0
  180. letta_client/steps/raw_client.py +355 -0
  181. letta_client/steps/types/__init__.py +2 -0
  182. letta_client/tags/__init__.py +2 -0
  183. letta_client/tags/client.py +33 -73
  184. letta_client/tags/raw_client.py +148 -0
  185. letta_client/telemetry/__init__.py +2 -0
  186. letta_client/telemetry/client.py +31 -66
  187. letta_client/telemetry/raw_client.py +118 -0
  188. letta_client/templates/__init__.py +2 -0
  189. letta_client/templates/agents/__init__.py +2 -0
  190. letta_client/templates/agents/client.py +48 -96
  191. letta_client/templates/agents/raw_client.py +227 -0
  192. letta_client/templates/agents/types/__init__.py +2 -0
  193. letta_client/templates/agents/types/agents_create_request_initial_message_sequence_item.py +4 -3
  194. letta_client/templates/agents/types/agents_create_response.py +4 -3
  195. letta_client/templates/client.py +36 -57
  196. letta_client/templates/raw_client.py +133 -0
  197. letta_client/templates/types/__init__.py +2 -0
  198. letta_client/templates/types/templates_list_response.py +5 -4
  199. letta_client/templates/types/templates_list_response_templates_item.py +3 -2
  200. letta_client/tools/__init__.py +2 -0
  201. letta_client/tools/client.py +195 -1322
  202. letta_client/tools/raw_client.py +2565 -0
  203. letta_client/tools/types/__init__.py +2 -0
  204. letta_client/tools/types/add_mcp_server_request.py +2 -1
  205. letta_client/tools/types/add_mcp_server_response_item.py +2 -1
  206. letta_client/tools/types/connect_mcp_server_request.py +2 -1
  207. letta_client/tools/types/delete_mcp_server_response_item.py +2 -1
  208. letta_client/tools/types/list_mcp_servers_response_value.py +1 -0
  209. letta_client/tools/types/streaming_response.py +5 -4
  210. letta_client/tools/types/test_mcp_server_request.py +2 -1
  211. letta_client/tools/types/update_mcp_server_request.py +2 -1
  212. letta_client/tools/types/update_mcp_server_response.py +2 -1
  213. letta_client/types/__init__.py +2 -0
  214. letta_client/types/action_model.py +6 -5
  215. letta_client/types/action_parameters_model.py +3 -2
  216. letta_client/types/action_response_model.py +3 -2
  217. letta_client/types/agent_environment_variable.py +3 -2
  218. letta_client/types/agent_schema.py +7 -6
  219. letta_client/types/agent_schema_tool_rules_item.py +2 -1
  220. letta_client/types/agent_state.py +14 -8
  221. letta_client/types/agent_state_response_format.py +1 -0
  222. letta_client/types/agent_state_tool_rules_item.py +4 -3
  223. letta_client/types/app_auth_scheme.py +4 -3
  224. letta_client/types/app_model.py +5 -4
  225. letta_client/types/assistant_message.py +3 -2
  226. letta_client/types/assistant_message_content.py +1 -0
  227. letta_client/types/audio.py +3 -2
  228. letta_client/types/auth_request.py +2 -1
  229. letta_client/types/auth_response.py +5 -4
  230. letta_client/types/auth_scheme_field.py +3 -2
  231. letta_client/types/bad_request_error_body.py +3 -2
  232. letta_client/types/base_64_image.py +2 -1
  233. letta_client/types/base_tool_rule_schema.py +3 -2
  234. letta_client/types/batch_job.py +4 -3
  235. letta_client/types/block.py +3 -2
  236. letta_client/types/block_update.py +2 -1
  237. letta_client/types/chat_completion_assistant_message_param.py +5 -4
  238. letta_client/types/chat_completion_assistant_message_param_content.py +1 -0
  239. letta_client/types/chat_completion_assistant_message_param_content_item.py +2 -1
  240. letta_client/types/chat_completion_audio_param.py +4 -3
  241. letta_client/types/chat_completion_content_part_image_param.py +4 -3
  242. letta_client/types/chat_completion_content_part_input_audio_param.py +4 -3
  243. letta_client/types/chat_completion_content_part_refusal_param.py +3 -2
  244. letta_client/types/chat_completion_content_part_text_param.py +3 -2
  245. letta_client/types/chat_completion_developer_message_param.py +4 -3
  246. letta_client/types/chat_completion_developer_message_param_content.py +1 -0
  247. letta_client/types/chat_completion_function_call_option_param.py +3 -2
  248. letta_client/types/chat_completion_function_message_param.py +3 -2
  249. letta_client/types/chat_completion_message_tool_call.py +4 -3
  250. letta_client/types/chat_completion_message_tool_call_param.py +4 -3
  251. letta_client/types/chat_completion_named_tool_choice_param.py +4 -3
  252. letta_client/types/chat_completion_prediction_content_param.py +4 -3
  253. letta_client/types/chat_completion_prediction_content_param_content.py +1 -0
  254. letta_client/types/chat_completion_stream_options_param.py +3 -2
  255. letta_client/types/chat_completion_system_message_param.py +4 -3
  256. letta_client/types/chat_completion_system_message_param_content.py +1 -0
  257. letta_client/types/chat_completion_tool_message_param.py +4 -3
  258. letta_client/types/chat_completion_tool_message_param_content.py +1 -0
  259. letta_client/types/chat_completion_tool_param.py +4 -3
  260. letta_client/types/chat_completion_user_message_param.py +4 -3
  261. letta_client/types/chat_completion_user_message_param_content.py +1 -0
  262. letta_client/types/chat_completion_user_message_param_content_item.py +2 -1
  263. letta_client/types/child_tool_rule.py +3 -2
  264. letta_client/types/child_tool_rule_schema.py +3 -2
  265. letta_client/types/code_input.py +3 -2
  266. letta_client/types/completion_create_params_non_streaming.py +10 -9
  267. letta_client/types/completion_create_params_non_streaming_function_call.py +1 -0
  268. letta_client/types/completion_create_params_non_streaming_messages_item.py +4 -3
  269. letta_client/types/completion_create_params_non_streaming_response_format.py +3 -2
  270. letta_client/types/completion_create_params_non_streaming_tool_choice.py +1 -0
  271. letta_client/types/completion_create_params_streaming.py +10 -9
  272. letta_client/types/completion_create_params_streaming_function_call.py +1 -0
  273. letta_client/types/completion_create_params_streaming_messages_item.py +4 -3
  274. letta_client/types/completion_create_params_streaming_response_format.py +3 -2
  275. letta_client/types/completion_create_params_streaming_tool_choice.py +1 -0
  276. letta_client/types/conditional_tool_rule.py +3 -2
  277. letta_client/types/conditional_tool_rule_schema.py +3 -2
  278. letta_client/types/conflict_error_body.py +3 -2
  279. letta_client/types/context_window_overview.py +4 -3
  280. letta_client/types/continue_tool_rule.py +3 -2
  281. letta_client/types/core_memory_block_schema.py +4 -3
  282. letta_client/types/create_block.py +3 -2
  283. letta_client/types/dynamic_manager.py +2 -1
  284. letta_client/types/dynamic_manager_update.py +2 -1
  285. letta_client/types/e_2_b_sandbox_config.py +2 -1
  286. letta_client/types/embedding_config.py +4 -3
  287. letta_client/types/file.py +4 -3
  288. letta_client/types/file_block.py +4 -3
  289. letta_client/types/file_file.py +3 -2
  290. letta_client/types/file_metadata.py +5 -4
  291. letta_client/types/file_stats.py +3 -2
  292. letta_client/types/folder.py +5 -4
  293. letta_client/types/function_call.py +3 -2
  294. letta_client/types/function_definition_input.py +3 -2
  295. letta_client/types/function_definition_output.py +3 -2
  296. letta_client/types/function_output.py +3 -2
  297. letta_client/types/function_tool.py +4 -3
  298. letta_client/types/generate_tool_input.py +3 -2
  299. letta_client/types/generate_tool_output.py +4 -3
  300. letta_client/types/group.py +4 -3
  301. letta_client/types/health.py +3 -2
  302. letta_client/types/hidden_reasoning_message.py +4 -3
  303. letta_client/types/http_validation_error.py +4 -3
  304. letta_client/types/identity.py +4 -3
  305. letta_client/types/identity_property.py +5 -4
  306. letta_client/types/image_content.py +3 -2
  307. letta_client/types/image_content_source.py +1 -0
  308. letta_client/types/image_url.py +4 -3
  309. letta_client/types/init_tool_rule.py +3 -2
  310. letta_client/types/input_audio.py +4 -3
  311. letta_client/types/internal_server_error_body.py +3 -2
  312. letta_client/types/job.py +4 -3
  313. letta_client/types/json_object_response_format.py +3 -2
  314. letta_client/types/json_schema.py +4 -3
  315. letta_client/types/json_schema_response_format.py +2 -1
  316. letta_client/types/letta_batch_messages.py +4 -3
  317. letta_client/types/letta_batch_request.py +4 -3
  318. letta_client/types/letta_image.py +2 -1
  319. letta_client/types/letta_message_content_union.py +4 -3
  320. letta_client/types/letta_message_union.py +5 -4
  321. letta_client/types/letta_ping.py +2 -1
  322. letta_client/types/letta_request.py +4 -3
  323. letta_client/types/letta_request_config.py +3 -2
  324. letta_client/types/letta_response.py +4 -3
  325. letta_client/types/letta_stop_reason.py +3 -2
  326. letta_client/types/letta_streaming_request.py +9 -3
  327. letta_client/types/letta_usage_statistics.py +3 -2
  328. letta_client/types/letta_user_message_content_union.py +2 -1
  329. letta_client/types/llm_config.py +6 -5
  330. letta_client/types/local_sandbox_config.py +3 -2
  331. letta_client/types/max_count_per_step_tool_rule.py +3 -2
  332. letta_client/types/max_count_per_step_tool_rule_schema.py +3 -2
  333. letta_client/types/mcp_tool.py +4 -3
  334. letta_client/types/memory.py +4 -3
  335. letta_client/types/message.py +6 -5
  336. letta_client/types/message_content_item.py +1 -0
  337. letta_client/types/message_create.py +5 -4
  338. letta_client/types/message_create_content.py +1 -0
  339. letta_client/types/message_schema.py +4 -3
  340. letta_client/types/modal_sandbox_config.py +2 -1
  341. letta_client/types/not_found_error_body.py +3 -2
  342. letta_client/types/omitted_reasoning_content.py +3 -2
  343. letta_client/types/openai_types_chat_chat_completion_message_tool_call_param_function.py +3 -2
  344. letta_client/types/openai_types_chat_chat_completion_named_tool_choice_param_function.py +3 -2
  345. letta_client/types/openai_types_chat_completion_create_params_function.py +3 -2
  346. letta_client/types/organization.py +3 -2
  347. letta_client/types/organization_create.py +2 -1
  348. letta_client/types/organization_sources_stats.py +3 -2
  349. letta_client/types/organization_update.py +2 -1
  350. letta_client/types/parameter_properties.py +3 -2
  351. letta_client/types/parameters_schema.py +4 -3
  352. letta_client/types/parent_tool_rule.py +3 -2
  353. letta_client/types/passage.py +4 -3
  354. letta_client/types/payment_required_error_body.py +3 -2
  355. letta_client/types/pip_requirement.py +3 -2
  356. letta_client/types/provider.py +5 -4
  357. letta_client/types/provider_check.py +4 -3
  358. letta_client/types/provider_trace.py +3 -2
  359. letta_client/types/reasoning_content.py +2 -1
  360. letta_client/types/reasoning_message.py +4 -3
  361. letta_client/types/redacted_reasoning_content.py +2 -1
  362. letta_client/types/required_before_exit_tool_rule.py +3 -2
  363. letta_client/types/response_format_json_object.py +3 -2
  364. letta_client/types/response_format_json_schema.py +4 -3
  365. letta_client/types/response_format_text.py +3 -2
  366. letta_client/types/round_robin_manager.py +2 -1
  367. letta_client/types/round_robin_manager_update.py +2 -1
  368. letta_client/types/run.py +4 -3
  369. letta_client/types/sandbox_config.py +4 -3
  370. letta_client/types/sandbox_config_create.py +4 -3
  371. letta_client/types/sandbox_config_create_config.py +2 -1
  372. letta_client/types/sandbox_config_update.py +3 -2
  373. letta_client/types/sandbox_config_update_config.py +2 -1
  374. letta_client/types/sandbox_environment_variable.py +3 -2
  375. letta_client/types/sandbox_environment_variable_create.py +3 -2
  376. letta_client/types/sandbox_environment_variable_update.py +2 -1
  377. letta_client/types/sleeptime_manager.py +2 -1
  378. letta_client/types/sleeptime_manager_update.py +2 -1
  379. letta_client/types/source.py +5 -4
  380. letta_client/types/source_create.py +4 -3
  381. letta_client/types/source_stats.py +4 -3
  382. letta_client/types/source_update.py +3 -2
  383. letta_client/types/sse_server_config.py +4 -3
  384. letta_client/types/stdio_server_config.py +4 -3
  385. letta_client/types/step.py +5 -4
  386. letta_client/types/streamable_http_server_config.py +4 -3
  387. letta_client/types/supervisor_manager.py +2 -1
  388. letta_client/types/supervisor_manager_update.py +2 -1
  389. letta_client/types/system_message.py +2 -1
  390. letta_client/types/tag_schema.py +3 -2
  391. letta_client/types/terminal_tool_rule.py +3 -2
  392. letta_client/types/text_content.py +2 -1
  393. letta_client/types/text_response_format.py +3 -2
  394. letta_client/types/tool.py +5 -4
  395. letta_client/types/tool_annotations.py +4 -3
  396. letta_client/types/tool_call.py +3 -2
  397. letta_client/types/tool_call_content.py +2 -1
  398. letta_client/types/tool_call_delta.py +3 -2
  399. letta_client/types/tool_call_message.py +4 -3
  400. letta_client/types/tool_call_message_tool_call.py +1 -0
  401. letta_client/types/tool_create.py +3 -2
  402. letta_client/types/tool_env_var_schema.py +3 -2
  403. letta_client/types/tool_json_schema.py +4 -3
  404. letta_client/types/tool_return.py +4 -3
  405. letta_client/types/tool_return_content.py +2 -1
  406. letta_client/types/tool_return_message.py +4 -3
  407. letta_client/types/tool_schema.py +5 -4
  408. letta_client/types/update_assistant_message.py +3 -2
  409. letta_client/types/update_assistant_message_content.py +1 -0
  410. letta_client/types/update_reasoning_message.py +3 -2
  411. letta_client/types/update_ssemcp_server.py +2 -1
  412. letta_client/types/update_stdio_mcp_server.py +3 -2
  413. letta_client/types/update_streamable_httpmcp_server.py +2 -1
  414. letta_client/types/update_system_message.py +2 -1
  415. letta_client/types/update_user_message.py +3 -2
  416. letta_client/types/update_user_message_content.py +1 -0
  417. letta_client/types/url_image.py +2 -1
  418. letta_client/types/usage_statistics.py +5 -4
  419. letta_client/types/usage_statistics_completion_token_details.py +3 -2
  420. letta_client/types/usage_statistics_prompt_token_details.py +3 -2
  421. letta_client/types/user.py +3 -2
  422. letta_client/types/user_create.py +3 -2
  423. letta_client/types/user_message.py +3 -2
  424. letta_client/types/user_message_content.py +1 -0
  425. letta_client/types/user_update.py +3 -2
  426. letta_client/types/validation_error.py +4 -3
  427. letta_client/types/voice_sleeptime_manager.py +2 -1
  428. letta_client/types/voice_sleeptime_manager_update.py +2 -1
  429. letta_client/types/web_search_options.py +4 -3
  430. letta_client/types/web_search_options_user_location.py +4 -3
  431. letta_client/types/web_search_options_user_location_approximate.py +3 -2
  432. letta_client/voice/__init__.py +2 -0
  433. letta_client/voice/client.py +33 -74
  434. letta_client/voice/raw_client.py +154 -0
  435. {letta_client-0.1.233.dist-info → letta_client-0.1.235.dist-info}/METADATA +24 -3
  436. letta_client-0.1.235.dist-info/RECORD +503 -0
  437. letta_client-0.1.233.dist-info/RECORD +0 -455
  438. {letta_client-0.1.233.dist-info → letta_client-0.1.235.dist-info}/WHEEL +0 -0
@@ -1,23 +1,15 @@
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 .files.client import FilesClient
6
- from .passages.client import PassagesClient
4
+
5
+ from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
7
6
  from ..core.request_options import RequestOptions
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 ..types.folder import Folder
14
- from ..core.jsonable_encoder import jsonable_encoder
15
7
  from ..types.embedding_config import EmbeddingConfig
16
- from ..core.serialization import convert_and_respect_annotation_metadata
8
+ from ..types.folder import Folder
17
9
  from ..types.organization_sources_stats import OrganizationSourcesStats
18
- from ..core.client_wrapper import AsyncClientWrapper
19
- from .files.client import AsyncFilesClient
20
- from .passages.client import AsyncPassagesClient
10
+ from .files.client import AsyncFilesClient, FilesClient
11
+ from .passages.client import AsyncPassagesClient, PassagesClient
12
+ from .raw_client import AsyncRawFoldersClient, RawFoldersClient
21
13
 
22
14
  # this is used as the default value for optional parameters
23
15
  OMIT = typing.cast(typing.Any, ...)
@@ -25,9 +17,21 @@ OMIT = typing.cast(typing.Any, ...)
25
17
 
26
18
  class FoldersClient:
27
19
  def __init__(self, *, client_wrapper: SyncClientWrapper):
28
- self._client_wrapper = client_wrapper
29
- self.files = FilesClient(client_wrapper=self._client_wrapper)
30
- self.passages = PassagesClient(client_wrapper=self._client_wrapper)
20
+ self._raw_client = RawFoldersClient(client_wrapper=client_wrapper)
21
+ self.files = FilesClient(client_wrapper=client_wrapper)
22
+
23
+ self.passages = PassagesClient(client_wrapper=client_wrapper)
24
+
25
+ @property
26
+ def with_raw_response(self) -> RawFoldersClient:
27
+ """
28
+ Retrieves a raw implementation of this client that returns raw responses.
29
+
30
+ Returns
31
+ -------
32
+ RawFoldersClient
33
+ """
34
+ return self._raw_client
31
35
 
32
36
  def count(self, *, request_options: typing.Optional[RequestOptions] = None) -> int:
33
37
  """
@@ -53,34 +57,8 @@ class FoldersClient:
53
57
  )
54
58
  client.folders.count()
55
59
  """
56
- _response = self._client_wrapper.httpx_client.request(
57
- "v1/folders/count",
58
- method="GET",
59
- request_options=request_options,
60
- )
61
- try:
62
- if 200 <= _response.status_code < 300:
63
- return typing.cast(
64
- int,
65
- construct_type(
66
- type_=int, # type: ignore
67
- object_=_response.json(),
68
- ),
69
- )
70
- if _response.status_code == 422:
71
- raise UnprocessableEntityError(
72
- typing.cast(
73
- HttpValidationError,
74
- construct_type(
75
- type_=HttpValidationError, # type: ignore
76
- object_=_response.json(),
77
- ),
78
- )
79
- )
80
- _response_json = _response.json()
81
- except JSONDecodeError:
82
- raise ApiError(status_code=_response.status_code, body=_response.text)
83
- raise ApiError(status_code=_response.status_code, body=_response_json)
60
+ _response = self._raw_client.count(request_options=request_options)
61
+ return _response.data
84
62
 
85
63
  def retrieve(self, folder_id: str, *, request_options: typing.Optional[RequestOptions] = None) -> Folder:
86
64
  """
@@ -110,34 +88,8 @@ class FoldersClient:
110
88
  folder_id="folder_id",
111
89
  )
112
90
  """
113
- _response = self._client_wrapper.httpx_client.request(
114
- f"v1/folders/{jsonable_encoder(folder_id)}",
115
- method="GET",
116
- request_options=request_options,
117
- )
118
- try:
119
- if 200 <= _response.status_code < 300:
120
- return typing.cast(
121
- Folder,
122
- construct_type(
123
- type_=Folder, # type: ignore
124
- object_=_response.json(),
125
- ),
126
- )
127
- if _response.status_code == 422:
128
- raise UnprocessableEntityError(
129
- typing.cast(
130
- HttpValidationError,
131
- construct_type(
132
- type_=HttpValidationError, # type: ignore
133
- object_=_response.json(),
134
- ),
135
- )
136
- )
137
- _response_json = _response.json()
138
- except JSONDecodeError:
139
- raise ApiError(status_code=_response.status_code, body=_response.text)
140
- raise ApiError(status_code=_response.status_code, body=_response_json)
91
+ _response = self._raw_client.retrieve(folder_id, request_options=request_options)
92
+ return _response.data
141
93
 
142
94
  def delete(
143
95
  self, folder_id: str, *, request_options: typing.Optional[RequestOptions] = None
@@ -169,34 +121,8 @@ class FoldersClient:
169
121
  folder_id="folder_id",
170
122
  )
171
123
  """
172
- _response = self._client_wrapper.httpx_client.request(
173
- f"v1/folders/{jsonable_encoder(folder_id)}",
174
- method="DELETE",
175
- request_options=request_options,
176
- )
177
- try:
178
- if 200 <= _response.status_code < 300:
179
- return typing.cast(
180
- typing.Optional[typing.Any],
181
- construct_type(
182
- type_=typing.Optional[typing.Any], # type: ignore
183
- object_=_response.json(),
184
- ),
185
- )
186
- if _response.status_code == 422:
187
- raise UnprocessableEntityError(
188
- typing.cast(
189
- HttpValidationError,
190
- construct_type(
191
- type_=HttpValidationError, # type: ignore
192
- object_=_response.json(),
193
- ),
194
- )
195
- )
196
- _response_json = _response.json()
197
- except JSONDecodeError:
198
- raise ApiError(status_code=_response.status_code, body=_response.text)
199
- raise ApiError(status_code=_response.status_code, body=_response_json)
124
+ _response = self._raw_client.delete(folder_id, request_options=request_options)
125
+ return _response.data
200
126
 
201
127
  def modify(
202
128
  self,
@@ -251,44 +177,16 @@ class FoldersClient:
251
177
  folder_id="folder_id",
252
178
  )
253
179
  """
254
- _response = self._client_wrapper.httpx_client.request(
255
- f"v1/folders/{jsonable_encoder(folder_id)}",
256
- method="PATCH",
257
- json={
258
- "name": name,
259
- "description": description,
260
- "instructions": instructions,
261
- "metadata": metadata,
262
- "embedding_config": convert_and_respect_annotation_metadata(
263
- object_=embedding_config, annotation=EmbeddingConfig, direction="write"
264
- ),
265
- },
180
+ _response = self._raw_client.modify(
181
+ folder_id,
182
+ name=name,
183
+ description=description,
184
+ instructions=instructions,
185
+ metadata=metadata,
186
+ embedding_config=embedding_config,
266
187
  request_options=request_options,
267
- omit=OMIT,
268
188
  )
269
- try:
270
- if 200 <= _response.status_code < 300:
271
- return typing.cast(
272
- Folder,
273
- construct_type(
274
- type_=Folder, # type: ignore
275
- object_=_response.json(),
276
- ),
277
- )
278
- if _response.status_code == 422:
279
- raise UnprocessableEntityError(
280
- typing.cast(
281
- HttpValidationError,
282
- construct_type(
283
- type_=HttpValidationError, # type: ignore
284
- object_=_response.json(),
285
- ),
286
- )
287
- )
288
- _response_json = _response.json()
289
- except JSONDecodeError:
290
- raise ApiError(status_code=_response.status_code, body=_response.text)
291
- raise ApiError(status_code=_response.status_code, body=_response_json)
189
+ return _response.data
292
190
 
293
191
  def retrieve_by_name(self, folder_name: str, *, request_options: typing.Optional[RequestOptions] = None) -> str:
294
192
  """
@@ -318,34 +216,8 @@ class FoldersClient:
318
216
  folder_name="folder_name",
319
217
  )
320
218
  """
321
- _response = self._client_wrapper.httpx_client.request(
322
- f"v1/folders/name/{jsonable_encoder(folder_name)}",
323
- method="GET",
324
- request_options=request_options,
325
- )
326
- try:
327
- if 200 <= _response.status_code < 300:
328
- return typing.cast(
329
- str,
330
- construct_type(
331
- type_=str, # type: ignore
332
- object_=_response.json(),
333
- ),
334
- )
335
- if _response.status_code == 422:
336
- raise UnprocessableEntityError(
337
- typing.cast(
338
- HttpValidationError,
339
- construct_type(
340
- type_=HttpValidationError, # type: ignore
341
- object_=_response.json(),
342
- ),
343
- )
344
- )
345
- _response_json = _response.json()
346
- except JSONDecodeError:
347
- raise ApiError(status_code=_response.status_code, body=_response.text)
348
- raise ApiError(status_code=_response.status_code, body=_response_json)
219
+ _response = self._raw_client.retrieve_by_name(folder_name, request_options=request_options)
220
+ return _response.data
349
221
 
350
222
  def get_folders_metadata(
351
223
  self,
@@ -384,37 +256,10 @@ class FoldersClient:
384
256
  )
385
257
  client.folders.get_folders_metadata()
386
258
  """
387
- _response = self._client_wrapper.httpx_client.request(
388
- "v1/folders/metadata",
389
- method="GET",
390
- params={
391
- "include_detailed_per_source_metadata": include_detailed_per_source_metadata,
392
- },
393
- request_options=request_options,
259
+ _response = self._raw_client.get_folders_metadata(
260
+ include_detailed_per_source_metadata=include_detailed_per_source_metadata, request_options=request_options
394
261
  )
395
- try:
396
- if 200 <= _response.status_code < 300:
397
- return typing.cast(
398
- OrganizationSourcesStats,
399
- construct_type(
400
- type_=OrganizationSourcesStats, # type: ignore
401
- object_=_response.json(),
402
- ),
403
- )
404
- if _response.status_code == 422:
405
- raise UnprocessableEntityError(
406
- typing.cast(
407
- HttpValidationError,
408
- construct_type(
409
- type_=HttpValidationError, # type: ignore
410
- object_=_response.json(),
411
- ),
412
- )
413
- )
414
- _response_json = _response.json()
415
- except JSONDecodeError:
416
- raise ApiError(status_code=_response.status_code, body=_response.text)
417
- raise ApiError(status_code=_response.status_code, body=_response_json)
262
+ return _response.data
418
263
 
419
264
  def list(self, *, request_options: typing.Optional[RequestOptions] = None) -> typing.List[Folder]:
420
265
  """
@@ -440,34 +285,8 @@ class FoldersClient:
440
285
  )
441
286
  client.folders.list()
442
287
  """
443
- _response = self._client_wrapper.httpx_client.request(
444
- "v1/folders/",
445
- method="GET",
446
- request_options=request_options,
447
- )
448
- try:
449
- if 200 <= _response.status_code < 300:
450
- return typing.cast(
451
- typing.List[Folder],
452
- construct_type(
453
- type_=typing.List[Folder], # type: ignore
454
- object_=_response.json(),
455
- ),
456
- )
457
- if _response.status_code == 422:
458
- raise UnprocessableEntityError(
459
- typing.cast(
460
- HttpValidationError,
461
- construct_type(
462
- type_=HttpValidationError, # type: ignore
463
- object_=_response.json(),
464
- ),
465
- )
466
- )
467
- _response_json = _response.json()
468
- except JSONDecodeError:
469
- raise ApiError(status_code=_response.status_code, body=_response.text)
470
- raise ApiError(status_code=_response.status_code, body=_response_json)
288
+ _response = self._raw_client.list(request_options=request_options)
289
+ return _response.data
471
290
 
472
291
  def create(
473
292
  self,
@@ -527,46 +346,17 @@ class FoldersClient:
527
346
  name="name",
528
347
  )
529
348
  """
530
- _response = self._client_wrapper.httpx_client.request(
531
- "v1/folders/",
532
- method="POST",
533
- json={
534
- "name": name,
535
- "description": description,
536
- "instructions": instructions,
537
- "metadata": metadata,
538
- "embedding": embedding,
539
- "embedding_chunk_size": embedding_chunk_size,
540
- "embedding_config": convert_and_respect_annotation_metadata(
541
- object_=embedding_config, annotation=EmbeddingConfig, direction="write"
542
- ),
543
- },
349
+ _response = self._raw_client.create(
350
+ name=name,
351
+ description=description,
352
+ instructions=instructions,
353
+ metadata=metadata,
354
+ embedding=embedding,
355
+ embedding_chunk_size=embedding_chunk_size,
356
+ embedding_config=embedding_config,
544
357
  request_options=request_options,
545
- omit=OMIT,
546
358
  )
547
- try:
548
- if 200 <= _response.status_code < 300:
549
- return typing.cast(
550
- Folder,
551
- construct_type(
552
- type_=Folder, # type: ignore
553
- object_=_response.json(),
554
- ),
555
- )
556
- if _response.status_code == 422:
557
- raise UnprocessableEntityError(
558
- typing.cast(
559
- HttpValidationError,
560
- construct_type(
561
- type_=HttpValidationError, # type: ignore
562
- object_=_response.json(),
563
- ),
564
- )
565
- )
566
- _response_json = _response.json()
567
- except JSONDecodeError:
568
- raise ApiError(status_code=_response.status_code, body=_response.text)
569
- raise ApiError(status_code=_response.status_code, body=_response_json)
359
+ return _response.data
570
360
 
571
361
  def get_agents_for_folder(
572
362
  self, folder_id: str, *, request_options: typing.Optional[RequestOptions] = None
@@ -598,41 +388,27 @@ class FoldersClient:
598
388
  folder_id="folder_id",
599
389
  )
600
390
  """
601
- _response = self._client_wrapper.httpx_client.request(
602
- f"v1/folders/{jsonable_encoder(folder_id)}/agents",
603
- method="GET",
604
- request_options=request_options,
605
- )
606
- try:
607
- if 200 <= _response.status_code < 300:
608
- return typing.cast(
609
- typing.List[str],
610
- construct_type(
611
- type_=typing.List[str], # type: ignore
612
- object_=_response.json(),
613
- ),
614
- )
615
- if _response.status_code == 422:
616
- raise UnprocessableEntityError(
617
- typing.cast(
618
- HttpValidationError,
619
- construct_type(
620
- type_=HttpValidationError, # type: ignore
621
- object_=_response.json(),
622
- ),
623
- )
624
- )
625
- _response_json = _response.json()
626
- except JSONDecodeError:
627
- raise ApiError(status_code=_response.status_code, body=_response.text)
628
- raise ApiError(status_code=_response.status_code, body=_response_json)
391
+ _response = self._raw_client.get_agents_for_folder(folder_id, request_options=request_options)
392
+ return _response.data
629
393
 
630
394
 
631
395
  class AsyncFoldersClient:
632
396
  def __init__(self, *, client_wrapper: AsyncClientWrapper):
633
- self._client_wrapper = client_wrapper
634
- self.files = AsyncFilesClient(client_wrapper=self._client_wrapper)
635
- self.passages = AsyncPassagesClient(client_wrapper=self._client_wrapper)
397
+ self._raw_client = AsyncRawFoldersClient(client_wrapper=client_wrapper)
398
+ self.files = AsyncFilesClient(client_wrapper=client_wrapper)
399
+
400
+ self.passages = AsyncPassagesClient(client_wrapper=client_wrapper)
401
+
402
+ @property
403
+ def with_raw_response(self) -> AsyncRawFoldersClient:
404
+ """
405
+ Retrieves a raw implementation of this client that returns raw responses.
406
+
407
+ Returns
408
+ -------
409
+ AsyncRawFoldersClient
410
+ """
411
+ return self._raw_client
636
412
 
637
413
  async def count(self, *, request_options: typing.Optional[RequestOptions] = None) -> int:
638
414
  """
@@ -666,34 +442,8 @@ class AsyncFoldersClient:
666
442
 
667
443
  asyncio.run(main())
668
444
  """
669
- _response = await self._client_wrapper.httpx_client.request(
670
- "v1/folders/count",
671
- method="GET",
672
- request_options=request_options,
673
- )
674
- try:
675
- if 200 <= _response.status_code < 300:
676
- return typing.cast(
677
- int,
678
- construct_type(
679
- type_=int, # type: ignore
680
- object_=_response.json(),
681
- ),
682
- )
683
- if _response.status_code == 422:
684
- raise UnprocessableEntityError(
685
- typing.cast(
686
- HttpValidationError,
687
- construct_type(
688
- type_=HttpValidationError, # type: ignore
689
- object_=_response.json(),
690
- ),
691
- )
692
- )
693
- _response_json = _response.json()
694
- except JSONDecodeError:
695
- raise ApiError(status_code=_response.status_code, body=_response.text)
696
- raise ApiError(status_code=_response.status_code, body=_response_json)
445
+ _response = await self._raw_client.count(request_options=request_options)
446
+ return _response.data
697
447
 
698
448
  async def retrieve(self, folder_id: str, *, request_options: typing.Optional[RequestOptions] = None) -> Folder:
699
449
  """
@@ -731,34 +481,8 @@ class AsyncFoldersClient:
731
481
 
732
482
  asyncio.run(main())
733
483
  """
734
- _response = await self._client_wrapper.httpx_client.request(
735
- f"v1/folders/{jsonable_encoder(folder_id)}",
736
- method="GET",
737
- request_options=request_options,
738
- )
739
- try:
740
- if 200 <= _response.status_code < 300:
741
- return typing.cast(
742
- Folder,
743
- construct_type(
744
- type_=Folder, # type: ignore
745
- object_=_response.json(),
746
- ),
747
- )
748
- if _response.status_code == 422:
749
- raise UnprocessableEntityError(
750
- typing.cast(
751
- HttpValidationError,
752
- construct_type(
753
- type_=HttpValidationError, # type: ignore
754
- object_=_response.json(),
755
- ),
756
- )
757
- )
758
- _response_json = _response.json()
759
- except JSONDecodeError:
760
- raise ApiError(status_code=_response.status_code, body=_response.text)
761
- raise ApiError(status_code=_response.status_code, body=_response_json)
484
+ _response = await self._raw_client.retrieve(folder_id, request_options=request_options)
485
+ return _response.data
762
486
 
763
487
  async def delete(
764
488
  self, folder_id: str, *, request_options: typing.Optional[RequestOptions] = None
@@ -798,34 +522,8 @@ class AsyncFoldersClient:
798
522
 
799
523
  asyncio.run(main())
800
524
  """
801
- _response = await self._client_wrapper.httpx_client.request(
802
- f"v1/folders/{jsonable_encoder(folder_id)}",
803
- method="DELETE",
804
- request_options=request_options,
805
- )
806
- try:
807
- if 200 <= _response.status_code < 300:
808
- return typing.cast(
809
- typing.Optional[typing.Any],
810
- construct_type(
811
- type_=typing.Optional[typing.Any], # type: ignore
812
- object_=_response.json(),
813
- ),
814
- )
815
- if _response.status_code == 422:
816
- raise UnprocessableEntityError(
817
- typing.cast(
818
- HttpValidationError,
819
- construct_type(
820
- type_=HttpValidationError, # type: ignore
821
- object_=_response.json(),
822
- ),
823
- )
824
- )
825
- _response_json = _response.json()
826
- except JSONDecodeError:
827
- raise ApiError(status_code=_response.status_code, body=_response.text)
828
- raise ApiError(status_code=_response.status_code, body=_response_json)
525
+ _response = await self._raw_client.delete(folder_id, request_options=request_options)
526
+ return _response.data
829
527
 
830
528
  async def modify(
831
529
  self,
@@ -888,44 +586,16 @@ class AsyncFoldersClient:
888
586
 
889
587
  asyncio.run(main())
890
588
  """
891
- _response = await self._client_wrapper.httpx_client.request(
892
- f"v1/folders/{jsonable_encoder(folder_id)}",
893
- method="PATCH",
894
- json={
895
- "name": name,
896
- "description": description,
897
- "instructions": instructions,
898
- "metadata": metadata,
899
- "embedding_config": convert_and_respect_annotation_metadata(
900
- object_=embedding_config, annotation=EmbeddingConfig, direction="write"
901
- ),
902
- },
589
+ _response = await self._raw_client.modify(
590
+ folder_id,
591
+ name=name,
592
+ description=description,
593
+ instructions=instructions,
594
+ metadata=metadata,
595
+ embedding_config=embedding_config,
903
596
  request_options=request_options,
904
- omit=OMIT,
905
597
  )
906
- try:
907
- if 200 <= _response.status_code < 300:
908
- return typing.cast(
909
- Folder,
910
- construct_type(
911
- type_=Folder, # type: ignore
912
- object_=_response.json(),
913
- ),
914
- )
915
- if _response.status_code == 422:
916
- raise UnprocessableEntityError(
917
- typing.cast(
918
- HttpValidationError,
919
- construct_type(
920
- type_=HttpValidationError, # type: ignore
921
- object_=_response.json(),
922
- ),
923
- )
924
- )
925
- _response_json = _response.json()
926
- except JSONDecodeError:
927
- raise ApiError(status_code=_response.status_code, body=_response.text)
928
- raise ApiError(status_code=_response.status_code, body=_response_json)
598
+ return _response.data
929
599
 
930
600
  async def retrieve_by_name(
931
601
  self, folder_name: str, *, request_options: typing.Optional[RequestOptions] = None
@@ -965,34 +635,8 @@ class AsyncFoldersClient:
965
635
 
966
636
  asyncio.run(main())
967
637
  """
968
- _response = await self._client_wrapper.httpx_client.request(
969
- f"v1/folders/name/{jsonable_encoder(folder_name)}",
970
- method="GET",
971
- request_options=request_options,
972
- )
973
- try:
974
- if 200 <= _response.status_code < 300:
975
- return typing.cast(
976
- str,
977
- construct_type(
978
- type_=str, # type: ignore
979
- object_=_response.json(),
980
- ),
981
- )
982
- if _response.status_code == 422:
983
- raise UnprocessableEntityError(
984
- typing.cast(
985
- HttpValidationError,
986
- construct_type(
987
- type_=HttpValidationError, # type: ignore
988
- object_=_response.json(),
989
- ),
990
- )
991
- )
992
- _response_json = _response.json()
993
- except JSONDecodeError:
994
- raise ApiError(status_code=_response.status_code, body=_response.text)
995
- raise ApiError(status_code=_response.status_code, body=_response_json)
638
+ _response = await self._raw_client.retrieve_by_name(folder_name, request_options=request_options)
639
+ return _response.data
996
640
 
997
641
  async def get_folders_metadata(
998
642
  self,
@@ -1039,37 +683,10 @@ class AsyncFoldersClient:
1039
683
 
1040
684
  asyncio.run(main())
1041
685
  """
1042
- _response = await self._client_wrapper.httpx_client.request(
1043
- "v1/folders/metadata",
1044
- method="GET",
1045
- params={
1046
- "include_detailed_per_source_metadata": include_detailed_per_source_metadata,
1047
- },
1048
- request_options=request_options,
686
+ _response = await self._raw_client.get_folders_metadata(
687
+ include_detailed_per_source_metadata=include_detailed_per_source_metadata, request_options=request_options
1049
688
  )
1050
- try:
1051
- if 200 <= _response.status_code < 300:
1052
- return typing.cast(
1053
- OrganizationSourcesStats,
1054
- construct_type(
1055
- type_=OrganizationSourcesStats, # type: ignore
1056
- object_=_response.json(),
1057
- ),
1058
- )
1059
- if _response.status_code == 422:
1060
- raise UnprocessableEntityError(
1061
- typing.cast(
1062
- HttpValidationError,
1063
- construct_type(
1064
- type_=HttpValidationError, # type: ignore
1065
- object_=_response.json(),
1066
- ),
1067
- )
1068
- )
1069
- _response_json = _response.json()
1070
- except JSONDecodeError:
1071
- raise ApiError(status_code=_response.status_code, body=_response.text)
1072
- raise ApiError(status_code=_response.status_code, body=_response_json)
689
+ return _response.data
1073
690
 
1074
691
  async def list(self, *, request_options: typing.Optional[RequestOptions] = None) -> typing.List[Folder]:
1075
692
  """
@@ -1103,34 +720,8 @@ class AsyncFoldersClient:
1103
720
 
1104
721
  asyncio.run(main())
1105
722
  """
1106
- _response = await self._client_wrapper.httpx_client.request(
1107
- "v1/folders/",
1108
- method="GET",
1109
- request_options=request_options,
1110
- )
1111
- try:
1112
- if 200 <= _response.status_code < 300:
1113
- return typing.cast(
1114
- typing.List[Folder],
1115
- construct_type(
1116
- type_=typing.List[Folder], # type: ignore
1117
- object_=_response.json(),
1118
- ),
1119
- )
1120
- if _response.status_code == 422:
1121
- raise UnprocessableEntityError(
1122
- typing.cast(
1123
- HttpValidationError,
1124
- construct_type(
1125
- type_=HttpValidationError, # type: ignore
1126
- object_=_response.json(),
1127
- ),
1128
- )
1129
- )
1130
- _response_json = _response.json()
1131
- except JSONDecodeError:
1132
- raise ApiError(status_code=_response.status_code, body=_response.text)
1133
- raise ApiError(status_code=_response.status_code, body=_response_json)
723
+ _response = await self._raw_client.list(request_options=request_options)
724
+ return _response.data
1134
725
 
1135
726
  async def create(
1136
727
  self,
@@ -1198,46 +789,17 @@ class AsyncFoldersClient:
1198
789
 
1199
790
  asyncio.run(main())
1200
791
  """
1201
- _response = await self._client_wrapper.httpx_client.request(
1202
- "v1/folders/",
1203
- method="POST",
1204
- json={
1205
- "name": name,
1206
- "description": description,
1207
- "instructions": instructions,
1208
- "metadata": metadata,
1209
- "embedding": embedding,
1210
- "embedding_chunk_size": embedding_chunk_size,
1211
- "embedding_config": convert_and_respect_annotation_metadata(
1212
- object_=embedding_config, annotation=EmbeddingConfig, direction="write"
1213
- ),
1214
- },
792
+ _response = await self._raw_client.create(
793
+ name=name,
794
+ description=description,
795
+ instructions=instructions,
796
+ metadata=metadata,
797
+ embedding=embedding,
798
+ embedding_chunk_size=embedding_chunk_size,
799
+ embedding_config=embedding_config,
1215
800
  request_options=request_options,
1216
- omit=OMIT,
1217
801
  )
1218
- try:
1219
- if 200 <= _response.status_code < 300:
1220
- return typing.cast(
1221
- Folder,
1222
- construct_type(
1223
- type_=Folder, # type: ignore
1224
- object_=_response.json(),
1225
- ),
1226
- )
1227
- if _response.status_code == 422:
1228
- raise UnprocessableEntityError(
1229
- typing.cast(
1230
- HttpValidationError,
1231
- construct_type(
1232
- type_=HttpValidationError, # type: ignore
1233
- object_=_response.json(),
1234
- ),
1235
- )
1236
- )
1237
- _response_json = _response.json()
1238
- except JSONDecodeError:
1239
- raise ApiError(status_code=_response.status_code, body=_response.text)
1240
- raise ApiError(status_code=_response.status_code, body=_response_json)
802
+ return _response.data
1241
803
 
1242
804
  async def get_agents_for_folder(
1243
805
  self, folder_id: str, *, request_options: typing.Optional[RequestOptions] = None
@@ -1277,31 +839,5 @@ class AsyncFoldersClient:
1277
839
 
1278
840
  asyncio.run(main())
1279
841
  """
1280
- _response = await self._client_wrapper.httpx_client.request(
1281
- f"v1/folders/{jsonable_encoder(folder_id)}/agents",
1282
- method="GET",
1283
- request_options=request_options,
1284
- )
1285
- try:
1286
- if 200 <= _response.status_code < 300:
1287
- return typing.cast(
1288
- typing.List[str],
1289
- construct_type(
1290
- type_=typing.List[str], # type: ignore
1291
- object_=_response.json(),
1292
- ),
1293
- )
1294
- if _response.status_code == 422:
1295
- raise UnprocessableEntityError(
1296
- typing.cast(
1297
- HttpValidationError,
1298
- construct_type(
1299
- type_=HttpValidationError, # type: ignore
1300
- object_=_response.json(),
1301
- ),
1302
- )
1303
- )
1304
- _response_json = _response.json()
1305
- except JSONDecodeError:
1306
- raise ApiError(status_code=_response.status_code, body=_response.text)
1307
- raise ApiError(status_code=_response.status_code, body=_response_json)
842
+ _response = await self._raw_client.get_agents_for_folder(folder_id, request_options=request_options)
843
+ return _response.data