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,24 +1,16 @@
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.source import Source
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
17
- from ..types.organization_sources_stats import OrganizationSourcesStats
18
8
  from ..types.file_metadata import FileMetadata
19
- from ..core.client_wrapper import AsyncClientWrapper
20
- from .files.client import AsyncFilesClient
21
- from .passages.client import AsyncPassagesClient
9
+ from ..types.organization_sources_stats import OrganizationSourcesStats
10
+ from ..types.source import Source
11
+ from .files.client import AsyncFilesClient, FilesClient
12
+ from .passages.client import AsyncPassagesClient, PassagesClient
13
+ from .raw_client import AsyncRawSourcesClient, RawSourcesClient
22
14
 
23
15
  # this is used as the default value for optional parameters
24
16
  OMIT = typing.cast(typing.Any, ...)
@@ -26,9 +18,21 @@ OMIT = typing.cast(typing.Any, ...)
26
18
 
27
19
  class SourcesClient:
28
20
  def __init__(self, *, client_wrapper: SyncClientWrapper):
29
- self._client_wrapper = client_wrapper
30
- self.files = FilesClient(client_wrapper=self._client_wrapper)
31
- self.passages = PassagesClient(client_wrapper=self._client_wrapper)
21
+ self._raw_client = RawSourcesClient(client_wrapper=client_wrapper)
22
+ self.files = FilesClient(client_wrapper=client_wrapper)
23
+
24
+ self.passages = PassagesClient(client_wrapper=client_wrapper)
25
+
26
+ @property
27
+ def with_raw_response(self) -> RawSourcesClient:
28
+ """
29
+ Retrieves a raw implementation of this client that returns raw responses.
30
+
31
+ Returns
32
+ -------
33
+ RawSourcesClient
34
+ """
35
+ return self._raw_client
32
36
 
33
37
  def count(self, *, request_options: typing.Optional[RequestOptions] = None) -> int:
34
38
  """
@@ -54,34 +58,8 @@ class SourcesClient:
54
58
  )
55
59
  client.sources.count()
56
60
  """
57
- _response = self._client_wrapper.httpx_client.request(
58
- "v1/sources/count",
59
- method="GET",
60
- request_options=request_options,
61
- )
62
- try:
63
- if 200 <= _response.status_code < 300:
64
- return typing.cast(
65
- int,
66
- construct_type(
67
- type_=int, # type: ignore
68
- object_=_response.json(),
69
- ),
70
- )
71
- if _response.status_code == 422:
72
- raise UnprocessableEntityError(
73
- typing.cast(
74
- HttpValidationError,
75
- construct_type(
76
- type_=HttpValidationError, # type: ignore
77
- object_=_response.json(),
78
- ),
79
- )
80
- )
81
- _response_json = _response.json()
82
- except JSONDecodeError:
83
- raise ApiError(status_code=_response.status_code, body=_response.text)
84
- raise ApiError(status_code=_response.status_code, body=_response_json)
61
+ _response = self._raw_client.count(request_options=request_options)
62
+ return _response.data
85
63
 
86
64
  def retrieve(self, source_id: str, *, request_options: typing.Optional[RequestOptions] = None) -> Source:
87
65
  """
@@ -111,34 +89,8 @@ class SourcesClient:
111
89
  source_id="source_id",
112
90
  )
113
91
  """
114
- _response = self._client_wrapper.httpx_client.request(
115
- f"v1/sources/{jsonable_encoder(source_id)}",
116
- method="GET",
117
- request_options=request_options,
118
- )
119
- try:
120
- if 200 <= _response.status_code < 300:
121
- return typing.cast(
122
- Source,
123
- construct_type(
124
- type_=Source, # type: ignore
125
- object_=_response.json(),
126
- ),
127
- )
128
- if _response.status_code == 422:
129
- raise UnprocessableEntityError(
130
- typing.cast(
131
- HttpValidationError,
132
- construct_type(
133
- type_=HttpValidationError, # type: ignore
134
- object_=_response.json(),
135
- ),
136
- )
137
- )
138
- _response_json = _response.json()
139
- except JSONDecodeError:
140
- raise ApiError(status_code=_response.status_code, body=_response.text)
141
- raise ApiError(status_code=_response.status_code, body=_response_json)
92
+ _response = self._raw_client.retrieve(source_id, request_options=request_options)
93
+ return _response.data
142
94
 
143
95
  def delete(
144
96
  self, source_id: str, *, request_options: typing.Optional[RequestOptions] = None
@@ -170,34 +122,8 @@ class SourcesClient:
170
122
  source_id="source_id",
171
123
  )
172
124
  """
173
- _response = self._client_wrapper.httpx_client.request(
174
- f"v1/sources/{jsonable_encoder(source_id)}",
175
- method="DELETE",
176
- request_options=request_options,
177
- )
178
- try:
179
- if 200 <= _response.status_code < 300:
180
- return typing.cast(
181
- typing.Optional[typing.Any],
182
- construct_type(
183
- type_=typing.Optional[typing.Any], # type: ignore
184
- object_=_response.json(),
185
- ),
186
- )
187
- if _response.status_code == 422:
188
- raise UnprocessableEntityError(
189
- typing.cast(
190
- HttpValidationError,
191
- construct_type(
192
- type_=HttpValidationError, # type: ignore
193
- object_=_response.json(),
194
- ),
195
- )
196
- )
197
- _response_json = _response.json()
198
- except JSONDecodeError:
199
- raise ApiError(status_code=_response.status_code, body=_response.text)
200
- raise ApiError(status_code=_response.status_code, body=_response_json)
125
+ _response = self._raw_client.delete(source_id, request_options=request_options)
126
+ return _response.data
201
127
 
202
128
  def modify(
203
129
  self,
@@ -252,44 +178,16 @@ class SourcesClient:
252
178
  source_id="source_id",
253
179
  )
254
180
  """
255
- _response = self._client_wrapper.httpx_client.request(
256
- f"v1/sources/{jsonable_encoder(source_id)}",
257
- method="PATCH",
258
- json={
259
- "name": name,
260
- "description": description,
261
- "instructions": instructions,
262
- "metadata": metadata,
263
- "embedding_config": convert_and_respect_annotation_metadata(
264
- object_=embedding_config, annotation=EmbeddingConfig, direction="write"
265
- ),
266
- },
181
+ _response = self._raw_client.modify(
182
+ source_id,
183
+ name=name,
184
+ description=description,
185
+ instructions=instructions,
186
+ metadata=metadata,
187
+ embedding_config=embedding_config,
267
188
  request_options=request_options,
268
- omit=OMIT,
269
189
  )
270
- try:
271
- if 200 <= _response.status_code < 300:
272
- return typing.cast(
273
- Source,
274
- construct_type(
275
- type_=Source, # type: ignore
276
- object_=_response.json(),
277
- ),
278
- )
279
- if _response.status_code == 422:
280
- raise UnprocessableEntityError(
281
- typing.cast(
282
- HttpValidationError,
283
- construct_type(
284
- type_=HttpValidationError, # type: ignore
285
- object_=_response.json(),
286
- ),
287
- )
288
- )
289
- _response_json = _response.json()
290
- except JSONDecodeError:
291
- raise ApiError(status_code=_response.status_code, body=_response.text)
292
- raise ApiError(status_code=_response.status_code, body=_response_json)
190
+ return _response.data
293
191
 
294
192
  def retrieve_by_name(self, source_name: str, *, request_options: typing.Optional[RequestOptions] = None) -> str:
295
193
  """
@@ -319,34 +217,8 @@ class SourcesClient:
319
217
  source_name="source_name",
320
218
  )
321
219
  """
322
- _response = self._client_wrapper.httpx_client.request(
323
- f"v1/sources/name/{jsonable_encoder(source_name)}",
324
- method="GET",
325
- request_options=request_options,
326
- )
327
- try:
328
- if 200 <= _response.status_code < 300:
329
- return typing.cast(
330
- str,
331
- construct_type(
332
- type_=str, # type: ignore
333
- object_=_response.json(),
334
- ),
335
- )
336
- if _response.status_code == 422:
337
- raise UnprocessableEntityError(
338
- typing.cast(
339
- HttpValidationError,
340
- construct_type(
341
- type_=HttpValidationError, # type: ignore
342
- object_=_response.json(),
343
- ),
344
- )
345
- )
346
- _response_json = _response.json()
347
- except JSONDecodeError:
348
- raise ApiError(status_code=_response.status_code, body=_response.text)
349
- raise ApiError(status_code=_response.status_code, body=_response_json)
220
+ _response = self._raw_client.retrieve_by_name(source_name, request_options=request_options)
221
+ return _response.data
350
222
 
351
223
  def get_sources_metadata(
352
224
  self,
@@ -385,37 +257,10 @@ class SourcesClient:
385
257
  )
386
258
  client.sources.get_sources_metadata()
387
259
  """
388
- _response = self._client_wrapper.httpx_client.request(
389
- "v1/sources/metadata",
390
- method="GET",
391
- params={
392
- "include_detailed_per_source_metadata": include_detailed_per_source_metadata,
393
- },
394
- request_options=request_options,
260
+ _response = self._raw_client.get_sources_metadata(
261
+ include_detailed_per_source_metadata=include_detailed_per_source_metadata, request_options=request_options
395
262
  )
396
- try:
397
- if 200 <= _response.status_code < 300:
398
- return typing.cast(
399
- OrganizationSourcesStats,
400
- construct_type(
401
- type_=OrganizationSourcesStats, # type: ignore
402
- object_=_response.json(),
403
- ),
404
- )
405
- if _response.status_code == 422:
406
- raise UnprocessableEntityError(
407
- typing.cast(
408
- HttpValidationError,
409
- construct_type(
410
- type_=HttpValidationError, # type: ignore
411
- object_=_response.json(),
412
- ),
413
- )
414
- )
415
- _response_json = _response.json()
416
- except JSONDecodeError:
417
- raise ApiError(status_code=_response.status_code, body=_response.text)
418
- raise ApiError(status_code=_response.status_code, body=_response_json)
263
+ return _response.data
419
264
 
420
265
  def list(self, *, request_options: typing.Optional[RequestOptions] = None) -> typing.List[Source]:
421
266
  """
@@ -441,34 +286,8 @@ class SourcesClient:
441
286
  )
442
287
  client.sources.list()
443
288
  """
444
- _response = self._client_wrapper.httpx_client.request(
445
- "v1/sources/",
446
- method="GET",
447
- request_options=request_options,
448
- )
449
- try:
450
- if 200 <= _response.status_code < 300:
451
- return typing.cast(
452
- typing.List[Source],
453
- construct_type(
454
- type_=typing.List[Source], # type: ignore
455
- object_=_response.json(),
456
- ),
457
- )
458
- if _response.status_code == 422:
459
- raise UnprocessableEntityError(
460
- typing.cast(
461
- HttpValidationError,
462
- construct_type(
463
- type_=HttpValidationError, # type: ignore
464
- object_=_response.json(),
465
- ),
466
- )
467
- )
468
- _response_json = _response.json()
469
- except JSONDecodeError:
470
- raise ApiError(status_code=_response.status_code, body=_response.text)
471
- raise ApiError(status_code=_response.status_code, body=_response_json)
289
+ _response = self._raw_client.list(request_options=request_options)
290
+ return _response.data
472
291
 
473
292
  def create(
474
293
  self,
@@ -528,46 +347,17 @@ class SourcesClient:
528
347
  name="name",
529
348
  )
530
349
  """
531
- _response = self._client_wrapper.httpx_client.request(
532
- "v1/sources/",
533
- method="POST",
534
- json={
535
- "name": name,
536
- "description": description,
537
- "instructions": instructions,
538
- "metadata": metadata,
539
- "embedding": embedding,
540
- "embedding_chunk_size": embedding_chunk_size,
541
- "embedding_config": convert_and_respect_annotation_metadata(
542
- object_=embedding_config, annotation=EmbeddingConfig, direction="write"
543
- ),
544
- },
350
+ _response = self._raw_client.create(
351
+ name=name,
352
+ description=description,
353
+ instructions=instructions,
354
+ metadata=metadata,
355
+ embedding=embedding,
356
+ embedding_chunk_size=embedding_chunk_size,
357
+ embedding_config=embedding_config,
545
358
  request_options=request_options,
546
- omit=OMIT,
547
359
  )
548
- try:
549
- if 200 <= _response.status_code < 300:
550
- return typing.cast(
551
- Source,
552
- construct_type(
553
- type_=Source, # type: ignore
554
- object_=_response.json(),
555
- ),
556
- )
557
- if _response.status_code == 422:
558
- raise UnprocessableEntityError(
559
- typing.cast(
560
- HttpValidationError,
561
- construct_type(
562
- type_=HttpValidationError, # type: ignore
563
- object_=_response.json(),
564
- ),
565
- )
566
- )
567
- _response_json = _response.json()
568
- except JSONDecodeError:
569
- raise ApiError(status_code=_response.status_code, body=_response.text)
570
- raise ApiError(status_code=_response.status_code, body=_response_json)
360
+ return _response.data
571
361
 
572
362
  def get_agents_for_source(
573
363
  self, source_id: str, *, request_options: typing.Optional[RequestOptions] = None
@@ -599,34 +389,8 @@ class SourcesClient:
599
389
  source_id="source_id",
600
390
  )
601
391
  """
602
- _response = self._client_wrapper.httpx_client.request(
603
- f"v1/sources/{jsonable_encoder(source_id)}/agents",
604
- method="GET",
605
- request_options=request_options,
606
- )
607
- try:
608
- if 200 <= _response.status_code < 300:
609
- return typing.cast(
610
- typing.List[str],
611
- construct_type(
612
- type_=typing.List[str], # type: ignore
613
- object_=_response.json(),
614
- ),
615
- )
616
- if _response.status_code == 422:
617
- raise UnprocessableEntityError(
618
- typing.cast(
619
- HttpValidationError,
620
- construct_type(
621
- type_=HttpValidationError, # type: ignore
622
- object_=_response.json(),
623
- ),
624
- )
625
- )
626
- _response_json = _response.json()
627
- except JSONDecodeError:
628
- raise ApiError(status_code=_response.status_code, body=_response.text)
629
- raise ApiError(status_code=_response.status_code, body=_response_json)
392
+ _response = self._raw_client.get_agents_for_source(source_id, request_options=request_options)
393
+ return _response.data
630
394
 
631
395
  def get_file_metadata(
632
396
  self,
@@ -669,44 +433,29 @@ class SourcesClient:
669
433
  file_id="file_id",
670
434
  )
671
435
  """
672
- _response = self._client_wrapper.httpx_client.request(
673
- f"v1/sources/{jsonable_encoder(source_id)}/files/{jsonable_encoder(file_id)}",
674
- method="GET",
675
- params={
676
- "include_content": include_content,
677
- },
678
- request_options=request_options,
436
+ _response = self._raw_client.get_file_metadata(
437
+ source_id, file_id, include_content=include_content, request_options=request_options
679
438
  )
680
- try:
681
- if 200 <= _response.status_code < 300:
682
- return typing.cast(
683
- FileMetadata,
684
- construct_type(
685
- type_=FileMetadata, # type: ignore
686
- object_=_response.json(),
687
- ),
688
- )
689
- if _response.status_code == 422:
690
- raise UnprocessableEntityError(
691
- typing.cast(
692
- HttpValidationError,
693
- construct_type(
694
- type_=HttpValidationError, # type: ignore
695
- object_=_response.json(),
696
- ),
697
- )
698
- )
699
- _response_json = _response.json()
700
- except JSONDecodeError:
701
- raise ApiError(status_code=_response.status_code, body=_response.text)
702
- raise ApiError(status_code=_response.status_code, body=_response_json)
439
+ return _response.data
703
440
 
704
441
 
705
442
  class AsyncSourcesClient:
706
443
  def __init__(self, *, client_wrapper: AsyncClientWrapper):
707
- self._client_wrapper = client_wrapper
708
- self.files = AsyncFilesClient(client_wrapper=self._client_wrapper)
709
- self.passages = AsyncPassagesClient(client_wrapper=self._client_wrapper)
444
+ self._raw_client = AsyncRawSourcesClient(client_wrapper=client_wrapper)
445
+ self.files = AsyncFilesClient(client_wrapper=client_wrapper)
446
+
447
+ self.passages = AsyncPassagesClient(client_wrapper=client_wrapper)
448
+
449
+ @property
450
+ def with_raw_response(self) -> AsyncRawSourcesClient:
451
+ """
452
+ Retrieves a raw implementation of this client that returns raw responses.
453
+
454
+ Returns
455
+ -------
456
+ AsyncRawSourcesClient
457
+ """
458
+ return self._raw_client
710
459
 
711
460
  async def count(self, *, request_options: typing.Optional[RequestOptions] = None) -> int:
712
461
  """
@@ -740,34 +489,8 @@ class AsyncSourcesClient:
740
489
 
741
490
  asyncio.run(main())
742
491
  """
743
- _response = await self._client_wrapper.httpx_client.request(
744
- "v1/sources/count",
745
- method="GET",
746
- request_options=request_options,
747
- )
748
- try:
749
- if 200 <= _response.status_code < 300:
750
- return typing.cast(
751
- int,
752
- construct_type(
753
- type_=int, # type: ignore
754
- object_=_response.json(),
755
- ),
756
- )
757
- if _response.status_code == 422:
758
- raise UnprocessableEntityError(
759
- typing.cast(
760
- HttpValidationError,
761
- construct_type(
762
- type_=HttpValidationError, # type: ignore
763
- object_=_response.json(),
764
- ),
765
- )
766
- )
767
- _response_json = _response.json()
768
- except JSONDecodeError:
769
- raise ApiError(status_code=_response.status_code, body=_response.text)
770
- raise ApiError(status_code=_response.status_code, body=_response_json)
492
+ _response = await self._raw_client.count(request_options=request_options)
493
+ return _response.data
771
494
 
772
495
  async def retrieve(self, source_id: str, *, request_options: typing.Optional[RequestOptions] = None) -> Source:
773
496
  """
@@ -805,34 +528,8 @@ class AsyncSourcesClient:
805
528
 
806
529
  asyncio.run(main())
807
530
  """
808
- _response = await self._client_wrapper.httpx_client.request(
809
- f"v1/sources/{jsonable_encoder(source_id)}",
810
- method="GET",
811
- request_options=request_options,
812
- )
813
- try:
814
- if 200 <= _response.status_code < 300:
815
- return typing.cast(
816
- Source,
817
- construct_type(
818
- type_=Source, # type: ignore
819
- object_=_response.json(),
820
- ),
821
- )
822
- if _response.status_code == 422:
823
- raise UnprocessableEntityError(
824
- typing.cast(
825
- HttpValidationError,
826
- construct_type(
827
- type_=HttpValidationError, # type: ignore
828
- object_=_response.json(),
829
- ),
830
- )
831
- )
832
- _response_json = _response.json()
833
- except JSONDecodeError:
834
- raise ApiError(status_code=_response.status_code, body=_response.text)
835
- raise ApiError(status_code=_response.status_code, body=_response_json)
531
+ _response = await self._raw_client.retrieve(source_id, request_options=request_options)
532
+ return _response.data
836
533
 
837
534
  async def delete(
838
535
  self, source_id: str, *, request_options: typing.Optional[RequestOptions] = None
@@ -872,34 +569,8 @@ class AsyncSourcesClient:
872
569
 
873
570
  asyncio.run(main())
874
571
  """
875
- _response = await self._client_wrapper.httpx_client.request(
876
- f"v1/sources/{jsonable_encoder(source_id)}",
877
- method="DELETE",
878
- request_options=request_options,
879
- )
880
- try:
881
- if 200 <= _response.status_code < 300:
882
- return typing.cast(
883
- typing.Optional[typing.Any],
884
- construct_type(
885
- type_=typing.Optional[typing.Any], # type: ignore
886
- object_=_response.json(),
887
- ),
888
- )
889
- if _response.status_code == 422:
890
- raise UnprocessableEntityError(
891
- typing.cast(
892
- HttpValidationError,
893
- construct_type(
894
- type_=HttpValidationError, # type: ignore
895
- object_=_response.json(),
896
- ),
897
- )
898
- )
899
- _response_json = _response.json()
900
- except JSONDecodeError:
901
- raise ApiError(status_code=_response.status_code, body=_response.text)
902
- raise ApiError(status_code=_response.status_code, body=_response_json)
572
+ _response = await self._raw_client.delete(source_id, request_options=request_options)
573
+ return _response.data
903
574
 
904
575
  async def modify(
905
576
  self,
@@ -962,44 +633,16 @@ class AsyncSourcesClient:
962
633
 
963
634
  asyncio.run(main())
964
635
  """
965
- _response = await self._client_wrapper.httpx_client.request(
966
- f"v1/sources/{jsonable_encoder(source_id)}",
967
- method="PATCH",
968
- json={
969
- "name": name,
970
- "description": description,
971
- "instructions": instructions,
972
- "metadata": metadata,
973
- "embedding_config": convert_and_respect_annotation_metadata(
974
- object_=embedding_config, annotation=EmbeddingConfig, direction="write"
975
- ),
976
- },
636
+ _response = await self._raw_client.modify(
637
+ source_id,
638
+ name=name,
639
+ description=description,
640
+ instructions=instructions,
641
+ metadata=metadata,
642
+ embedding_config=embedding_config,
977
643
  request_options=request_options,
978
- omit=OMIT,
979
644
  )
980
- try:
981
- if 200 <= _response.status_code < 300:
982
- return typing.cast(
983
- Source,
984
- construct_type(
985
- type_=Source, # type: ignore
986
- object_=_response.json(),
987
- ),
988
- )
989
- if _response.status_code == 422:
990
- raise UnprocessableEntityError(
991
- typing.cast(
992
- HttpValidationError,
993
- construct_type(
994
- type_=HttpValidationError, # type: ignore
995
- object_=_response.json(),
996
- ),
997
- )
998
- )
999
- _response_json = _response.json()
1000
- except JSONDecodeError:
1001
- raise ApiError(status_code=_response.status_code, body=_response.text)
1002
- raise ApiError(status_code=_response.status_code, body=_response_json)
645
+ return _response.data
1003
646
 
1004
647
  async def retrieve_by_name(
1005
648
  self, source_name: str, *, request_options: typing.Optional[RequestOptions] = None
@@ -1039,34 +682,8 @@ class AsyncSourcesClient:
1039
682
 
1040
683
  asyncio.run(main())
1041
684
  """
1042
- _response = await self._client_wrapper.httpx_client.request(
1043
- f"v1/sources/name/{jsonable_encoder(source_name)}",
1044
- method="GET",
1045
- request_options=request_options,
1046
- )
1047
- try:
1048
- if 200 <= _response.status_code < 300:
1049
- return typing.cast(
1050
- str,
1051
- construct_type(
1052
- type_=str, # type: ignore
1053
- object_=_response.json(),
1054
- ),
1055
- )
1056
- if _response.status_code == 422:
1057
- raise UnprocessableEntityError(
1058
- typing.cast(
1059
- HttpValidationError,
1060
- construct_type(
1061
- type_=HttpValidationError, # type: ignore
1062
- object_=_response.json(),
1063
- ),
1064
- )
1065
- )
1066
- _response_json = _response.json()
1067
- except JSONDecodeError:
1068
- raise ApiError(status_code=_response.status_code, body=_response.text)
1069
- raise ApiError(status_code=_response.status_code, body=_response_json)
685
+ _response = await self._raw_client.retrieve_by_name(source_name, request_options=request_options)
686
+ return _response.data
1070
687
 
1071
688
  async def get_sources_metadata(
1072
689
  self,
@@ -1113,37 +730,10 @@ class AsyncSourcesClient:
1113
730
 
1114
731
  asyncio.run(main())
1115
732
  """
1116
- _response = await self._client_wrapper.httpx_client.request(
1117
- "v1/sources/metadata",
1118
- method="GET",
1119
- params={
1120
- "include_detailed_per_source_metadata": include_detailed_per_source_metadata,
1121
- },
1122
- request_options=request_options,
733
+ _response = await self._raw_client.get_sources_metadata(
734
+ include_detailed_per_source_metadata=include_detailed_per_source_metadata, request_options=request_options
1123
735
  )
1124
- try:
1125
- if 200 <= _response.status_code < 300:
1126
- return typing.cast(
1127
- OrganizationSourcesStats,
1128
- construct_type(
1129
- type_=OrganizationSourcesStats, # type: ignore
1130
- object_=_response.json(),
1131
- ),
1132
- )
1133
- if _response.status_code == 422:
1134
- raise UnprocessableEntityError(
1135
- typing.cast(
1136
- HttpValidationError,
1137
- construct_type(
1138
- type_=HttpValidationError, # type: ignore
1139
- object_=_response.json(),
1140
- ),
1141
- )
1142
- )
1143
- _response_json = _response.json()
1144
- except JSONDecodeError:
1145
- raise ApiError(status_code=_response.status_code, body=_response.text)
1146
- raise ApiError(status_code=_response.status_code, body=_response_json)
736
+ return _response.data
1147
737
 
1148
738
  async def list(self, *, request_options: typing.Optional[RequestOptions] = None) -> typing.List[Source]:
1149
739
  """
@@ -1177,34 +767,8 @@ class AsyncSourcesClient:
1177
767
 
1178
768
  asyncio.run(main())
1179
769
  """
1180
- _response = await self._client_wrapper.httpx_client.request(
1181
- "v1/sources/",
1182
- method="GET",
1183
- request_options=request_options,
1184
- )
1185
- try:
1186
- if 200 <= _response.status_code < 300:
1187
- return typing.cast(
1188
- typing.List[Source],
1189
- construct_type(
1190
- type_=typing.List[Source], # type: ignore
1191
- object_=_response.json(),
1192
- ),
1193
- )
1194
- if _response.status_code == 422:
1195
- raise UnprocessableEntityError(
1196
- typing.cast(
1197
- HttpValidationError,
1198
- construct_type(
1199
- type_=HttpValidationError, # type: ignore
1200
- object_=_response.json(),
1201
- ),
1202
- )
1203
- )
1204
- _response_json = _response.json()
1205
- except JSONDecodeError:
1206
- raise ApiError(status_code=_response.status_code, body=_response.text)
1207
- raise ApiError(status_code=_response.status_code, body=_response_json)
770
+ _response = await self._raw_client.list(request_options=request_options)
771
+ return _response.data
1208
772
 
1209
773
  async def create(
1210
774
  self,
@@ -1272,46 +836,17 @@ class AsyncSourcesClient:
1272
836
 
1273
837
  asyncio.run(main())
1274
838
  """
1275
- _response = await self._client_wrapper.httpx_client.request(
1276
- "v1/sources/",
1277
- method="POST",
1278
- json={
1279
- "name": name,
1280
- "description": description,
1281
- "instructions": instructions,
1282
- "metadata": metadata,
1283
- "embedding": embedding,
1284
- "embedding_chunk_size": embedding_chunk_size,
1285
- "embedding_config": convert_and_respect_annotation_metadata(
1286
- object_=embedding_config, annotation=EmbeddingConfig, direction="write"
1287
- ),
1288
- },
839
+ _response = await self._raw_client.create(
840
+ name=name,
841
+ description=description,
842
+ instructions=instructions,
843
+ metadata=metadata,
844
+ embedding=embedding,
845
+ embedding_chunk_size=embedding_chunk_size,
846
+ embedding_config=embedding_config,
1289
847
  request_options=request_options,
1290
- omit=OMIT,
1291
848
  )
1292
- try:
1293
- if 200 <= _response.status_code < 300:
1294
- return typing.cast(
1295
- Source,
1296
- construct_type(
1297
- type_=Source, # type: ignore
1298
- object_=_response.json(),
1299
- ),
1300
- )
1301
- if _response.status_code == 422:
1302
- raise UnprocessableEntityError(
1303
- typing.cast(
1304
- HttpValidationError,
1305
- construct_type(
1306
- type_=HttpValidationError, # type: ignore
1307
- object_=_response.json(),
1308
- ),
1309
- )
1310
- )
1311
- _response_json = _response.json()
1312
- except JSONDecodeError:
1313
- raise ApiError(status_code=_response.status_code, body=_response.text)
1314
- raise ApiError(status_code=_response.status_code, body=_response_json)
849
+ return _response.data
1315
850
 
1316
851
  async def get_agents_for_source(
1317
852
  self, source_id: str, *, request_options: typing.Optional[RequestOptions] = None
@@ -1351,34 +886,8 @@ class AsyncSourcesClient:
1351
886
 
1352
887
  asyncio.run(main())
1353
888
  """
1354
- _response = await self._client_wrapper.httpx_client.request(
1355
- f"v1/sources/{jsonable_encoder(source_id)}/agents",
1356
- method="GET",
1357
- request_options=request_options,
1358
- )
1359
- try:
1360
- if 200 <= _response.status_code < 300:
1361
- return typing.cast(
1362
- typing.List[str],
1363
- construct_type(
1364
- type_=typing.List[str], # type: ignore
1365
- object_=_response.json(),
1366
- ),
1367
- )
1368
- if _response.status_code == 422:
1369
- raise UnprocessableEntityError(
1370
- typing.cast(
1371
- HttpValidationError,
1372
- construct_type(
1373
- type_=HttpValidationError, # type: ignore
1374
- object_=_response.json(),
1375
- ),
1376
- )
1377
- )
1378
- _response_json = _response.json()
1379
- except JSONDecodeError:
1380
- raise ApiError(status_code=_response.status_code, body=_response.text)
1381
- raise ApiError(status_code=_response.status_code, body=_response_json)
889
+ _response = await self._raw_client.get_agents_for_source(source_id, request_options=request_options)
890
+ return _response.data
1382
891
 
1383
892
  async def get_file_metadata(
1384
893
  self,
@@ -1429,34 +938,7 @@ class AsyncSourcesClient:
1429
938
 
1430
939
  asyncio.run(main())
1431
940
  """
1432
- _response = await self._client_wrapper.httpx_client.request(
1433
- f"v1/sources/{jsonable_encoder(source_id)}/files/{jsonable_encoder(file_id)}",
1434
- method="GET",
1435
- params={
1436
- "include_content": include_content,
1437
- },
1438
- request_options=request_options,
941
+ _response = await self._raw_client.get_file_metadata(
942
+ source_id, file_id, include_content=include_content, request_options=request_options
1439
943
  )
1440
- try:
1441
- if 200 <= _response.status_code < 300:
1442
- return typing.cast(
1443
- FileMetadata,
1444
- construct_type(
1445
- type_=FileMetadata, # type: ignore
1446
- object_=_response.json(),
1447
- ),
1448
- )
1449
- if _response.status_code == 422:
1450
- raise UnprocessableEntityError(
1451
- typing.cast(
1452
- HttpValidationError,
1453
- construct_type(
1454
- type_=HttpValidationError, # type: ignore
1455
- object_=_response.json(),
1456
- ),
1457
- )
1458
- )
1459
- _response_json = _response.json()
1460
- except JSONDecodeError:
1461
- raise ApiError(status_code=_response.status_code, body=_response.text)
1462
- raise ApiError(status_code=_response.status_code, body=_response_json)
944
+ return _response.data