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

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

Potentially problematic release.


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

Files changed (438) hide show
  1. letta_client/__init__.py +2 -0
  2. letta_client/agents/__init__.py +2 -0
  3. letta_client/agents/blocks/__init__.py +2 -0
  4. letta_client/agents/blocks/client.py +72 -313
  5. letta_client/agents/blocks/raw_client.py +654 -0
  6. letta_client/agents/client.py +329 -869
  7. letta_client/agents/context/__init__.py +2 -0
  8. letta_client/agents/context/client.py +31 -66
  9. letta_client/agents/context/raw_client.py +122 -0
  10. letta_client/agents/core_memory/__init__.py +2 -0
  11. letta_client/agents/core_memory/client.py +31 -66
  12. letta_client/agents/core_memory/raw_client.py +124 -0
  13. letta_client/agents/files/__init__.py +2 -0
  14. letta_client/agents/files/client.py +39 -178
  15. letta_client/agents/files/raw_client.py +349 -0
  16. letta_client/agents/folders/__init__.py +2 -0
  17. letta_client/agents/folders/client.py +39 -178
  18. letta_client/agents/folders/raw_client.py +327 -0
  19. letta_client/agents/groups/__init__.py +2 -0
  20. letta_client/agents/groups/client.py +31 -72
  21. letta_client/agents/groups/raw_client.py +142 -0
  22. letta_client/agents/memory_variables/__init__.py +2 -0
  23. letta_client/agents/memory_variables/client.py +31 -65
  24. letta_client/agents/memory_variables/raw_client.py +125 -0
  25. letta_client/agents/memory_variables/types/__init__.py +2 -0
  26. letta_client/agents/memory_variables/types/memory_variables_list_response.py +3 -2
  27. letta_client/agents/messages/__init__.py +2 -0
  28. letta_client/agents/messages/client.py +150 -589
  29. letta_client/agents/messages/raw_client.py +1384 -0
  30. letta_client/agents/messages/types/__init__.py +2 -0
  31. letta_client/agents/messages/types/letta_streaming_response.py +6 -5
  32. letta_client/agents/messages/types/messages_modify_request.py +3 -2
  33. letta_client/agents/messages/types/messages_modify_response.py +5 -4
  34. letta_client/agents/messages/types/messages_preview_raw_payload_request.py +1 -0
  35. letta_client/agents/passages/__init__.py +2 -0
  36. letta_client/agents/passages/client.py +89 -301
  37. letta_client/agents/passages/raw_client.py +678 -0
  38. letta_client/agents/raw_client.py +2068 -0
  39. letta_client/agents/sources/__init__.py +2 -0
  40. letta_client/agents/sources/client.py +39 -178
  41. letta_client/agents/sources/raw_client.py +327 -0
  42. letta_client/agents/templates/__init__.py +2 -0
  43. letta_client/agents/templates/client.py +57 -276
  44. letta_client/agents/templates/raw_client.py +505 -0
  45. letta_client/agents/templates/types/__init__.py +2 -0
  46. letta_client/agents/templates/types/templates_create_response.py +5 -4
  47. letta_client/agents/templates/types/templates_migrate_response.py +3 -2
  48. letta_client/agents/tools/__init__.py +2 -0
  49. letta_client/agents/tools/client.py +40 -179
  50. letta_client/agents/tools/raw_client.py +327 -0
  51. letta_client/agents/types/__init__.py +2 -0
  52. letta_client/agents/types/agents_search_request_search_item.py +4 -3
  53. letta_client/agents/types/agents_search_request_search_item_field.py +4 -3
  54. letta_client/agents/types/agents_search_request_search_item_one.py +4 -3
  55. letta_client/agents/types/agents_search_request_search_item_three.py +3 -2
  56. letta_client/agents/types/agents_search_request_search_item_two.py +3 -2
  57. letta_client/agents/types/agents_search_request_search_item_zero.py +3 -2
  58. letta_client/agents/types/agents_search_response.py +5 -4
  59. letta_client/agents/types/create_agent_request_response_format.py +1 -0
  60. letta_client/agents/types/create_agent_request_tool_rules_item.py +4 -3
  61. letta_client/agents/types/update_agent_response_format.py +1 -0
  62. letta_client/agents/types/update_agent_tool_rules_item.py +4 -3
  63. letta_client/base_client.py +41 -49
  64. letta_client/batches/__init__.py +2 -0
  65. letta_client/batches/client.py +45 -253
  66. letta_client/batches/raw_client.py +457 -0
  67. letta_client/blocks/__init__.py +2 -0
  68. letta_client/blocks/agents/__init__.py +2 -0
  69. letta_client/blocks/agents/client.py +33 -70
  70. letta_client/blocks/agents/raw_client.py +144 -0
  71. letta_client/blocks/client.py +126 -424
  72. letta_client/blocks/raw_client.py +973 -0
  73. letta_client/client_side_access_tokens/__init__.py +2 -0
  74. letta_client/client_side_access_tokens/client.py +45 -216
  75. letta_client/client_side_access_tokens/raw_client.py +435 -0
  76. letta_client/client_side_access_tokens/types/__init__.py +2 -0
  77. letta_client/client_side_access_tokens/types/client_side_access_tokens_create_request_policy_item.py +4 -3
  78. letta_client/client_side_access_tokens/types/client_side_access_tokens_create_response.py +6 -5
  79. letta_client/client_side_access_tokens/types/client_side_access_tokens_create_response_policy.py +4 -3
  80. letta_client/client_side_access_tokens/types/client_side_access_tokens_create_response_policy_data_item.py +4 -3
  81. letta_client/client_side_access_tokens/types/client_side_access_tokens_list_client_side_access_tokens_response.py +6 -5
  82. letta_client/client_side_access_tokens/types/client_side_access_tokens_list_client_side_access_tokens_response_tokens_item.py +6 -5
  83. letta_client/client_side_access_tokens/types/client_side_access_tokens_list_client_side_access_tokens_response_tokens_item_policy.py +4 -3
  84. letta_client/client_side_access_tokens/types/client_side_access_tokens_list_client_side_access_tokens_response_tokens_item_policy_data_item.py +4 -3
  85. letta_client/core/__init__.py +5 -0
  86. letta_client/core/api_error.py +13 -5
  87. letta_client/core/client_wrapper.py +14 -5
  88. letta_client/core/force_multipart.py +16 -0
  89. letta_client/core/http_client.py +70 -26
  90. letta_client/core/http_response.py +55 -0
  91. letta_client/core/jsonable_encoder.py +0 -1
  92. letta_client/core/pydantic_utilities.py +70 -111
  93. letta_client/core/serialization.py +7 -3
  94. letta_client/core/unchecked_base_model.py +40 -4
  95. letta_client/embedding_models/__init__.py +2 -0
  96. letta_client/embedding_models/client.py +31 -65
  97. letta_client/embedding_models/raw_client.py +117 -0
  98. letta_client/errors/__init__.py +2 -0
  99. letta_client/errors/bad_request_error.py +4 -3
  100. letta_client/errors/conflict_error.py +4 -2
  101. letta_client/errors/internal_server_error.py +4 -3
  102. letta_client/errors/not_found_error.py +4 -3
  103. letta_client/errors/payment_required_error.py +4 -2
  104. letta_client/errors/unprocessable_entity_error.py +4 -2
  105. letta_client/folders/__init__.py +2 -0
  106. letta_client/folders/client.py +100 -564
  107. letta_client/folders/files/__init__.py +2 -0
  108. letta_client/folders/files/client.py +44 -189
  109. letta_client/folders/files/raw_client.py +391 -0
  110. letta_client/folders/passages/__init__.py +2 -0
  111. letta_client/folders/passages/client.py +33 -74
  112. letta_client/folders/passages/raw_client.py +162 -0
  113. letta_client/folders/raw_client.py +1084 -0
  114. letta_client/groups/__init__.py +2 -0
  115. letta_client/groups/client.py +87 -406
  116. letta_client/groups/messages/__init__.py +2 -0
  117. letta_client/groups/messages/client.py +110 -371
  118. letta_client/groups/messages/raw_client.py +881 -0
  119. letta_client/groups/messages/types/__init__.py +2 -0
  120. letta_client/groups/messages/types/letta_streaming_response.py +5 -4
  121. letta_client/groups/messages/types/messages_modify_request.py +3 -2
  122. letta_client/groups/messages/types/messages_modify_response.py +5 -4
  123. letta_client/groups/raw_client.py +807 -0
  124. letta_client/groups/types/__init__.py +2 -0
  125. letta_client/groups/types/group_create_manager_config.py +1 -0
  126. letta_client/groups/types/group_update_manager_config.py +1 -0
  127. letta_client/health/__init__.py +2 -0
  128. letta_client/health/client.py +31 -43
  129. letta_client/health/raw_client.py +85 -0
  130. letta_client/identities/__init__.py +2 -0
  131. letta_client/identities/client.py +115 -498
  132. letta_client/identities/properties/__init__.py +2 -0
  133. letta_client/identities/properties/client.py +32 -76
  134. letta_client/identities/properties/raw_client.py +152 -0
  135. letta_client/identities/raw_client.py +1010 -0
  136. letta_client/jobs/__init__.py +2 -0
  137. letta_client/jobs/client.py +67 -310
  138. letta_client/jobs/raw_client.py +624 -0
  139. letta_client/messages/__init__.py +2 -0
  140. letta_client/messages/client.py +41 -74
  141. letta_client/messages/raw_client.py +186 -0
  142. letta_client/models/__init__.py +2 -0
  143. letta_client/models/client.py +39 -73
  144. letta_client/models/raw_client.py +151 -0
  145. letta_client/projects/__init__.py +2 -0
  146. letta_client/projects/client.py +31 -53
  147. letta_client/projects/raw_client.py +125 -0
  148. letta_client/projects/types/__init__.py +2 -0
  149. letta_client/projects/types/projects_list_response.py +5 -4
  150. letta_client/projects/types/projects_list_response_projects_item.py +3 -2
  151. letta_client/providers/__init__.py +2 -0
  152. letta_client/providers/client.py +62 -335
  153. letta_client/providers/raw_client.py +664 -0
  154. letta_client/runs/__init__.py +2 -0
  155. letta_client/runs/client.py +56 -258
  156. letta_client/runs/messages/__init__.py +2 -0
  157. letta_client/runs/messages/client.py +34 -79
  158. letta_client/runs/messages/raw_client.py +209 -0
  159. letta_client/runs/raw_client.py +440 -0
  160. letta_client/runs/steps/__init__.py +2 -0
  161. letta_client/runs/steps/client.py +33 -76
  162. letta_client/runs/steps/raw_client.py +192 -0
  163. letta_client/runs/usage/__init__.py +2 -0
  164. letta_client/runs/usage/client.py +31 -66
  165. letta_client/runs/usage/raw_client.py +122 -0
  166. letta_client/sources/__init__.py +2 -0
  167. letta_client/sources/client.py +107 -625
  168. letta_client/sources/files/__init__.py +2 -0
  169. letta_client/sources/files/client.py +44 -189
  170. letta_client/sources/files/raw_client.py +391 -0
  171. letta_client/sources/passages/__init__.py +2 -0
  172. letta_client/sources/passages/client.py +33 -74
  173. letta_client/sources/passages/raw_client.py +162 -0
  174. letta_client/sources/raw_client.py +1209 -0
  175. letta_client/steps/__init__.py +2 -0
  176. letta_client/steps/client.py +65 -153
  177. letta_client/steps/feedback/__init__.py +2 -0
  178. letta_client/steps/feedback/client.py +32 -73
  179. letta_client/steps/feedback/raw_client.py +141 -0
  180. letta_client/steps/raw_client.py +355 -0
  181. letta_client/steps/types/__init__.py +2 -0
  182. letta_client/tags/__init__.py +2 -0
  183. letta_client/tags/client.py +33 -73
  184. letta_client/tags/raw_client.py +148 -0
  185. letta_client/telemetry/__init__.py +2 -0
  186. letta_client/telemetry/client.py +31 -66
  187. letta_client/telemetry/raw_client.py +118 -0
  188. letta_client/templates/__init__.py +2 -0
  189. letta_client/templates/agents/__init__.py +2 -0
  190. letta_client/templates/agents/client.py +48 -96
  191. letta_client/templates/agents/raw_client.py +227 -0
  192. letta_client/templates/agents/types/__init__.py +2 -0
  193. letta_client/templates/agents/types/agents_create_request_initial_message_sequence_item.py +4 -3
  194. letta_client/templates/agents/types/agents_create_response.py +4 -3
  195. letta_client/templates/client.py +36 -57
  196. letta_client/templates/raw_client.py +133 -0
  197. letta_client/templates/types/__init__.py +2 -0
  198. letta_client/templates/types/templates_list_response.py +5 -4
  199. letta_client/templates/types/templates_list_response_templates_item.py +3 -2
  200. letta_client/tools/__init__.py +2 -0
  201. letta_client/tools/client.py +195 -1322
  202. letta_client/tools/raw_client.py +2565 -0
  203. letta_client/tools/types/__init__.py +2 -0
  204. letta_client/tools/types/add_mcp_server_request.py +2 -1
  205. letta_client/tools/types/add_mcp_server_response_item.py +2 -1
  206. letta_client/tools/types/connect_mcp_server_request.py +2 -1
  207. letta_client/tools/types/delete_mcp_server_response_item.py +2 -1
  208. letta_client/tools/types/list_mcp_servers_response_value.py +1 -0
  209. letta_client/tools/types/streaming_response.py +5 -4
  210. letta_client/tools/types/test_mcp_server_request.py +2 -1
  211. letta_client/tools/types/update_mcp_server_request.py +2 -1
  212. letta_client/tools/types/update_mcp_server_response.py +2 -1
  213. letta_client/types/__init__.py +2 -0
  214. letta_client/types/action_model.py +6 -5
  215. letta_client/types/action_parameters_model.py +3 -2
  216. letta_client/types/action_response_model.py +3 -2
  217. letta_client/types/agent_environment_variable.py +3 -2
  218. letta_client/types/agent_schema.py +7 -6
  219. letta_client/types/agent_schema_tool_rules_item.py +2 -1
  220. letta_client/types/agent_state.py +9 -8
  221. letta_client/types/agent_state_response_format.py +1 -0
  222. letta_client/types/agent_state_tool_rules_item.py +4 -3
  223. letta_client/types/app_auth_scheme.py +4 -3
  224. letta_client/types/app_model.py +5 -4
  225. letta_client/types/assistant_message.py +3 -2
  226. letta_client/types/assistant_message_content.py +1 -0
  227. letta_client/types/audio.py +3 -2
  228. letta_client/types/auth_request.py +2 -1
  229. letta_client/types/auth_response.py +5 -4
  230. letta_client/types/auth_scheme_field.py +3 -2
  231. letta_client/types/bad_request_error_body.py +3 -2
  232. letta_client/types/base_64_image.py +2 -1
  233. letta_client/types/base_tool_rule_schema.py +3 -2
  234. letta_client/types/batch_job.py +4 -3
  235. letta_client/types/block.py +3 -2
  236. letta_client/types/block_update.py +2 -1
  237. letta_client/types/chat_completion_assistant_message_param.py +5 -4
  238. letta_client/types/chat_completion_assistant_message_param_content.py +1 -0
  239. letta_client/types/chat_completion_assistant_message_param_content_item.py +2 -1
  240. letta_client/types/chat_completion_audio_param.py +4 -3
  241. letta_client/types/chat_completion_content_part_image_param.py +4 -3
  242. letta_client/types/chat_completion_content_part_input_audio_param.py +4 -3
  243. letta_client/types/chat_completion_content_part_refusal_param.py +3 -2
  244. letta_client/types/chat_completion_content_part_text_param.py +3 -2
  245. letta_client/types/chat_completion_developer_message_param.py +4 -3
  246. letta_client/types/chat_completion_developer_message_param_content.py +1 -0
  247. letta_client/types/chat_completion_function_call_option_param.py +3 -2
  248. letta_client/types/chat_completion_function_message_param.py +3 -2
  249. letta_client/types/chat_completion_message_tool_call.py +4 -3
  250. letta_client/types/chat_completion_message_tool_call_param.py +4 -3
  251. letta_client/types/chat_completion_named_tool_choice_param.py +4 -3
  252. letta_client/types/chat_completion_prediction_content_param.py +4 -3
  253. letta_client/types/chat_completion_prediction_content_param_content.py +1 -0
  254. letta_client/types/chat_completion_stream_options_param.py +3 -2
  255. letta_client/types/chat_completion_system_message_param.py +4 -3
  256. letta_client/types/chat_completion_system_message_param_content.py +1 -0
  257. letta_client/types/chat_completion_tool_message_param.py +4 -3
  258. letta_client/types/chat_completion_tool_message_param_content.py +1 -0
  259. letta_client/types/chat_completion_tool_param.py +4 -3
  260. letta_client/types/chat_completion_user_message_param.py +4 -3
  261. letta_client/types/chat_completion_user_message_param_content.py +1 -0
  262. letta_client/types/chat_completion_user_message_param_content_item.py +2 -1
  263. letta_client/types/child_tool_rule.py +3 -2
  264. letta_client/types/child_tool_rule_schema.py +3 -2
  265. letta_client/types/code_input.py +3 -2
  266. letta_client/types/completion_create_params_non_streaming.py +10 -9
  267. letta_client/types/completion_create_params_non_streaming_function_call.py +1 -0
  268. letta_client/types/completion_create_params_non_streaming_messages_item.py +4 -3
  269. letta_client/types/completion_create_params_non_streaming_response_format.py +3 -2
  270. letta_client/types/completion_create_params_non_streaming_tool_choice.py +1 -0
  271. letta_client/types/completion_create_params_streaming.py +10 -9
  272. letta_client/types/completion_create_params_streaming_function_call.py +1 -0
  273. letta_client/types/completion_create_params_streaming_messages_item.py +4 -3
  274. letta_client/types/completion_create_params_streaming_response_format.py +3 -2
  275. letta_client/types/completion_create_params_streaming_tool_choice.py +1 -0
  276. letta_client/types/conditional_tool_rule.py +3 -2
  277. letta_client/types/conditional_tool_rule_schema.py +3 -2
  278. letta_client/types/conflict_error_body.py +3 -2
  279. letta_client/types/context_window_overview.py +4 -3
  280. letta_client/types/continue_tool_rule.py +3 -2
  281. letta_client/types/core_memory_block_schema.py +4 -3
  282. letta_client/types/create_block.py +3 -2
  283. letta_client/types/dynamic_manager.py +2 -1
  284. letta_client/types/dynamic_manager_update.py +2 -1
  285. letta_client/types/e_2_b_sandbox_config.py +2 -1
  286. letta_client/types/embedding_config.py +4 -3
  287. letta_client/types/file.py +4 -3
  288. letta_client/types/file_block.py +4 -3
  289. letta_client/types/file_file.py +3 -2
  290. letta_client/types/file_metadata.py +5 -4
  291. letta_client/types/file_stats.py +3 -2
  292. letta_client/types/folder.py +5 -4
  293. letta_client/types/function_call.py +3 -2
  294. letta_client/types/function_definition_input.py +3 -2
  295. letta_client/types/function_definition_output.py +3 -2
  296. letta_client/types/function_output.py +3 -2
  297. letta_client/types/function_tool.py +4 -3
  298. letta_client/types/generate_tool_input.py +3 -2
  299. letta_client/types/generate_tool_output.py +4 -3
  300. letta_client/types/group.py +4 -3
  301. letta_client/types/health.py +3 -2
  302. letta_client/types/hidden_reasoning_message.py +4 -3
  303. letta_client/types/http_validation_error.py +4 -3
  304. letta_client/types/identity.py +4 -3
  305. letta_client/types/identity_property.py +5 -4
  306. letta_client/types/image_content.py +3 -2
  307. letta_client/types/image_content_source.py +1 -0
  308. letta_client/types/image_url.py +4 -3
  309. letta_client/types/init_tool_rule.py +3 -2
  310. letta_client/types/input_audio.py +4 -3
  311. letta_client/types/internal_server_error_body.py +3 -2
  312. letta_client/types/job.py +4 -3
  313. letta_client/types/json_object_response_format.py +3 -2
  314. letta_client/types/json_schema.py +4 -3
  315. letta_client/types/json_schema_response_format.py +2 -1
  316. letta_client/types/letta_batch_messages.py +4 -3
  317. letta_client/types/letta_batch_request.py +4 -3
  318. letta_client/types/letta_image.py +2 -1
  319. letta_client/types/letta_message_content_union.py +4 -3
  320. letta_client/types/letta_message_union.py +5 -4
  321. letta_client/types/letta_ping.py +2 -1
  322. letta_client/types/letta_request.py +4 -3
  323. letta_client/types/letta_request_config.py +3 -2
  324. letta_client/types/letta_response.py +4 -3
  325. letta_client/types/letta_stop_reason.py +3 -2
  326. letta_client/types/letta_streaming_request.py +9 -3
  327. letta_client/types/letta_usage_statistics.py +3 -2
  328. letta_client/types/letta_user_message_content_union.py +2 -1
  329. letta_client/types/llm_config.py +6 -5
  330. letta_client/types/local_sandbox_config.py +3 -2
  331. letta_client/types/max_count_per_step_tool_rule.py +3 -2
  332. letta_client/types/max_count_per_step_tool_rule_schema.py +3 -2
  333. letta_client/types/mcp_tool.py +4 -3
  334. letta_client/types/memory.py +4 -3
  335. letta_client/types/message.py +6 -5
  336. letta_client/types/message_content_item.py +1 -0
  337. letta_client/types/message_create.py +5 -4
  338. letta_client/types/message_create_content.py +1 -0
  339. letta_client/types/message_schema.py +4 -3
  340. letta_client/types/modal_sandbox_config.py +2 -1
  341. letta_client/types/not_found_error_body.py +3 -2
  342. letta_client/types/omitted_reasoning_content.py +3 -2
  343. letta_client/types/openai_types_chat_chat_completion_message_tool_call_param_function.py +3 -2
  344. letta_client/types/openai_types_chat_chat_completion_named_tool_choice_param_function.py +3 -2
  345. letta_client/types/openai_types_chat_completion_create_params_function.py +3 -2
  346. letta_client/types/organization.py +3 -2
  347. letta_client/types/organization_create.py +2 -1
  348. letta_client/types/organization_sources_stats.py +3 -2
  349. letta_client/types/organization_update.py +2 -1
  350. letta_client/types/parameter_properties.py +3 -2
  351. letta_client/types/parameters_schema.py +4 -3
  352. letta_client/types/parent_tool_rule.py +3 -2
  353. letta_client/types/passage.py +4 -3
  354. letta_client/types/payment_required_error_body.py +3 -2
  355. letta_client/types/pip_requirement.py +3 -2
  356. letta_client/types/provider.py +5 -4
  357. letta_client/types/provider_check.py +4 -3
  358. letta_client/types/provider_trace.py +3 -2
  359. letta_client/types/reasoning_content.py +2 -1
  360. letta_client/types/reasoning_message.py +4 -3
  361. letta_client/types/redacted_reasoning_content.py +2 -1
  362. letta_client/types/required_before_exit_tool_rule.py +3 -2
  363. letta_client/types/response_format_json_object.py +3 -2
  364. letta_client/types/response_format_json_schema.py +4 -3
  365. letta_client/types/response_format_text.py +3 -2
  366. letta_client/types/round_robin_manager.py +2 -1
  367. letta_client/types/round_robin_manager_update.py +2 -1
  368. letta_client/types/run.py +4 -3
  369. letta_client/types/sandbox_config.py +4 -3
  370. letta_client/types/sandbox_config_create.py +4 -3
  371. letta_client/types/sandbox_config_create_config.py +2 -1
  372. letta_client/types/sandbox_config_update.py +3 -2
  373. letta_client/types/sandbox_config_update_config.py +2 -1
  374. letta_client/types/sandbox_environment_variable.py +3 -2
  375. letta_client/types/sandbox_environment_variable_create.py +3 -2
  376. letta_client/types/sandbox_environment_variable_update.py +2 -1
  377. letta_client/types/sleeptime_manager.py +2 -1
  378. letta_client/types/sleeptime_manager_update.py +2 -1
  379. letta_client/types/source.py +5 -4
  380. letta_client/types/source_create.py +4 -3
  381. letta_client/types/source_stats.py +4 -3
  382. letta_client/types/source_update.py +3 -2
  383. letta_client/types/sse_server_config.py +4 -3
  384. letta_client/types/stdio_server_config.py +4 -3
  385. letta_client/types/step.py +5 -4
  386. letta_client/types/streamable_http_server_config.py +4 -3
  387. letta_client/types/supervisor_manager.py +2 -1
  388. letta_client/types/supervisor_manager_update.py +2 -1
  389. letta_client/types/system_message.py +2 -1
  390. letta_client/types/tag_schema.py +3 -2
  391. letta_client/types/terminal_tool_rule.py +3 -2
  392. letta_client/types/text_content.py +2 -1
  393. letta_client/types/text_response_format.py +3 -2
  394. letta_client/types/tool.py +5 -4
  395. letta_client/types/tool_annotations.py +4 -3
  396. letta_client/types/tool_call.py +3 -2
  397. letta_client/types/tool_call_content.py +2 -1
  398. letta_client/types/tool_call_delta.py +3 -2
  399. letta_client/types/tool_call_message.py +4 -3
  400. letta_client/types/tool_call_message_tool_call.py +1 -0
  401. letta_client/types/tool_create.py +3 -2
  402. letta_client/types/tool_env_var_schema.py +3 -2
  403. letta_client/types/tool_json_schema.py +4 -3
  404. letta_client/types/tool_return.py +4 -3
  405. letta_client/types/tool_return_content.py +2 -1
  406. letta_client/types/tool_return_message.py +4 -3
  407. letta_client/types/tool_schema.py +5 -4
  408. letta_client/types/update_assistant_message.py +3 -2
  409. letta_client/types/update_assistant_message_content.py +1 -0
  410. letta_client/types/update_reasoning_message.py +3 -2
  411. letta_client/types/update_ssemcp_server.py +2 -1
  412. letta_client/types/update_stdio_mcp_server.py +3 -2
  413. letta_client/types/update_streamable_httpmcp_server.py +2 -1
  414. letta_client/types/update_system_message.py +2 -1
  415. letta_client/types/update_user_message.py +3 -2
  416. letta_client/types/update_user_message_content.py +1 -0
  417. letta_client/types/url_image.py +2 -1
  418. letta_client/types/usage_statistics.py +5 -4
  419. letta_client/types/usage_statistics_completion_token_details.py +3 -2
  420. letta_client/types/usage_statistics_prompt_token_details.py +3 -2
  421. letta_client/types/user.py +3 -2
  422. letta_client/types/user_create.py +3 -2
  423. letta_client/types/user_message.py +3 -2
  424. letta_client/types/user_message_content.py +1 -0
  425. letta_client/types/user_update.py +3 -2
  426. letta_client/types/validation_error.py +4 -3
  427. letta_client/types/voice_sleeptime_manager.py +2 -1
  428. letta_client/types/voice_sleeptime_manager_update.py +2 -1
  429. letta_client/types/web_search_options.py +4 -3
  430. letta_client/types/web_search_options_user_location.py +4 -3
  431. letta_client/types/web_search_options_user_location_approximate.py +3 -2
  432. letta_client/voice/__init__.py +2 -0
  433. letta_client/voice/client.py +33 -74
  434. letta_client/voice/raw_client.py +154 -0
  435. {letta_client-0.1.233.dist-info → letta_client-0.1.234.dist-info}/METADATA +24 -3
  436. letta_client-0.1.234.dist-info/RECORD +503 -0
  437. letta_client-0.1.233.dist-info/RECORD +0 -455
  438. {letta_client-0.1.233.dist-info → letta_client-0.1.234.dist-info}/WHEEL +0 -0
@@ -1,30 +1,35 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
- from ..core.client_wrapper import SyncClientWrapper
4
- from .messages.client import MessagesClient
5
- from .usage.client import UsageClient
6
- from .steps.client import StepsClient
7
3
  import typing
4
+
5
+ from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
8
6
  from ..core.request_options import RequestOptions
9
7
  from ..types.run import Run
10
- from ..core.unchecked_base_model import construct_type
11
- from ..errors.unprocessable_entity_error import UnprocessableEntityError
12
- from ..types.http_validation_error import HttpValidationError
13
- from json.decoder import JSONDecodeError
14
- from ..core.api_error import ApiError
15
- from ..core.jsonable_encoder import jsonable_encoder
16
- from ..core.client_wrapper import AsyncClientWrapper
17
- from .messages.client import AsyncMessagesClient
18
- from .usage.client import AsyncUsageClient
19
- from .steps.client import AsyncStepsClient
8
+ from .messages.client import AsyncMessagesClient, MessagesClient
9
+ from .raw_client import AsyncRawRunsClient, RawRunsClient
10
+ from .steps.client import AsyncStepsClient, StepsClient
11
+ from .usage.client import AsyncUsageClient, UsageClient
20
12
 
21
13
 
22
14
  class RunsClient:
23
15
  def __init__(self, *, client_wrapper: SyncClientWrapper):
24
- self._client_wrapper = client_wrapper
25
- self.messages = MessagesClient(client_wrapper=self._client_wrapper)
26
- self.usage = UsageClient(client_wrapper=self._client_wrapper)
27
- self.steps = StepsClient(client_wrapper=self._client_wrapper)
16
+ self._raw_client = RawRunsClient(client_wrapper=client_wrapper)
17
+ self.messages = MessagesClient(client_wrapper=client_wrapper)
18
+
19
+ self.usage = UsageClient(client_wrapper=client_wrapper)
20
+
21
+ self.steps = StepsClient(client_wrapper=client_wrapper)
22
+
23
+ @property
24
+ def with_raw_response(self) -> RawRunsClient:
25
+ """
26
+ Retrieves a raw implementation of this client that returns raw responses.
27
+
28
+ Returns
29
+ -------
30
+ RawRunsClient
31
+ """
32
+ return self._raw_client
28
33
 
29
34
  def list(
30
35
  self,
@@ -58,37 +63,8 @@ class RunsClient:
58
63
  )
59
64
  client.runs.list()
60
65
  """
61
- _response = self._client_wrapper.httpx_client.request(
62
- "v1/runs/",
63
- method="GET",
64
- params={
65
- "agent_ids": agent_ids,
66
- },
67
- request_options=request_options,
68
- )
69
- try:
70
- if 200 <= _response.status_code < 300:
71
- return typing.cast(
72
- typing.List[Run],
73
- construct_type(
74
- type_=typing.List[Run], # type: ignore
75
- object_=_response.json(),
76
- ),
77
- )
78
- if _response.status_code == 422:
79
- raise UnprocessableEntityError(
80
- typing.cast(
81
- HttpValidationError,
82
- construct_type(
83
- type_=HttpValidationError, # type: ignore
84
- object_=_response.json(),
85
- ),
86
- )
87
- )
88
- _response_json = _response.json()
89
- except JSONDecodeError:
90
- raise ApiError(status_code=_response.status_code, body=_response.text)
91
- raise ApiError(status_code=_response.status_code, body=_response_json)
66
+ _response = self._raw_client.list(agent_ids=agent_ids, request_options=request_options)
67
+ return _response.data
92
68
 
93
69
  def list_active(
94
70
  self,
@@ -122,37 +98,8 @@ class RunsClient:
122
98
  )
123
99
  client.runs.list_active()
124
100
  """
125
- _response = self._client_wrapper.httpx_client.request(
126
- "v1/runs/active",
127
- method="GET",
128
- params={
129
- "agent_ids": agent_ids,
130
- },
131
- request_options=request_options,
132
- )
133
- try:
134
- if 200 <= _response.status_code < 300:
135
- return typing.cast(
136
- typing.List[Run],
137
- construct_type(
138
- type_=typing.List[Run], # type: ignore
139
- object_=_response.json(),
140
- ),
141
- )
142
- if _response.status_code == 422:
143
- raise UnprocessableEntityError(
144
- typing.cast(
145
- HttpValidationError,
146
- construct_type(
147
- type_=HttpValidationError, # type: ignore
148
- object_=_response.json(),
149
- ),
150
- )
151
- )
152
- _response_json = _response.json()
153
- except JSONDecodeError:
154
- raise ApiError(status_code=_response.status_code, body=_response.text)
155
- raise ApiError(status_code=_response.status_code, body=_response_json)
101
+ _response = self._raw_client.list_active(agent_ids=agent_ids, request_options=request_options)
102
+ return _response.data
156
103
 
157
104
  def retrieve(self, run_id: str, *, request_options: typing.Optional[RequestOptions] = None) -> Run:
158
105
  """
@@ -182,34 +129,8 @@ class RunsClient:
182
129
  run_id="run_id",
183
130
  )
184
131
  """
185
- _response = self._client_wrapper.httpx_client.request(
186
- f"v1/runs/{jsonable_encoder(run_id)}",
187
- method="GET",
188
- request_options=request_options,
189
- )
190
- try:
191
- if 200 <= _response.status_code < 300:
192
- return typing.cast(
193
- Run,
194
- construct_type(
195
- type_=Run, # type: ignore
196
- object_=_response.json(),
197
- ),
198
- )
199
- if _response.status_code == 422:
200
- raise UnprocessableEntityError(
201
- typing.cast(
202
- HttpValidationError,
203
- construct_type(
204
- type_=HttpValidationError, # type: ignore
205
- object_=_response.json(),
206
- ),
207
- )
208
- )
209
- _response_json = _response.json()
210
- except JSONDecodeError:
211
- raise ApiError(status_code=_response.status_code, body=_response.text)
212
- raise ApiError(status_code=_response.status_code, body=_response_json)
132
+ _response = self._raw_client.retrieve(run_id, request_options=request_options)
133
+ return _response.data
213
134
 
214
135
  def delete(self, run_id: str, *, request_options: typing.Optional[RequestOptions] = None) -> Run:
215
136
  """
@@ -239,42 +160,29 @@ class RunsClient:
239
160
  run_id="run_id",
240
161
  )
241
162
  """
242
- _response = self._client_wrapper.httpx_client.request(
243
- f"v1/runs/{jsonable_encoder(run_id)}",
244
- method="DELETE",
245
- request_options=request_options,
246
- )
247
- try:
248
- if 200 <= _response.status_code < 300:
249
- return typing.cast(
250
- Run,
251
- construct_type(
252
- type_=Run, # type: ignore
253
- object_=_response.json(),
254
- ),
255
- )
256
- if _response.status_code == 422:
257
- raise UnprocessableEntityError(
258
- typing.cast(
259
- HttpValidationError,
260
- construct_type(
261
- type_=HttpValidationError, # type: ignore
262
- object_=_response.json(),
263
- ),
264
- )
265
- )
266
- _response_json = _response.json()
267
- except JSONDecodeError:
268
- raise ApiError(status_code=_response.status_code, body=_response.text)
269
- raise ApiError(status_code=_response.status_code, body=_response_json)
163
+ _response = self._raw_client.delete(run_id, request_options=request_options)
164
+ return _response.data
270
165
 
271
166
 
272
167
  class AsyncRunsClient:
273
168
  def __init__(self, *, client_wrapper: AsyncClientWrapper):
274
- self._client_wrapper = client_wrapper
275
- self.messages = AsyncMessagesClient(client_wrapper=self._client_wrapper)
276
- self.usage = AsyncUsageClient(client_wrapper=self._client_wrapper)
277
- self.steps = AsyncStepsClient(client_wrapper=self._client_wrapper)
169
+ self._raw_client = AsyncRawRunsClient(client_wrapper=client_wrapper)
170
+ self.messages = AsyncMessagesClient(client_wrapper=client_wrapper)
171
+
172
+ self.usage = AsyncUsageClient(client_wrapper=client_wrapper)
173
+
174
+ self.steps = AsyncStepsClient(client_wrapper=client_wrapper)
175
+
176
+ @property
177
+ def with_raw_response(self) -> AsyncRawRunsClient:
178
+ """
179
+ Retrieves a raw implementation of this client that returns raw responses.
180
+
181
+ Returns
182
+ -------
183
+ AsyncRawRunsClient
184
+ """
185
+ return self._raw_client
278
186
 
279
187
  async def list(
280
188
  self,
@@ -316,37 +224,8 @@ class AsyncRunsClient:
316
224
 
317
225
  asyncio.run(main())
318
226
  """
319
- _response = await self._client_wrapper.httpx_client.request(
320
- "v1/runs/",
321
- method="GET",
322
- params={
323
- "agent_ids": agent_ids,
324
- },
325
- request_options=request_options,
326
- )
327
- try:
328
- if 200 <= _response.status_code < 300:
329
- return typing.cast(
330
- typing.List[Run],
331
- construct_type(
332
- type_=typing.List[Run], # 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)
227
+ _response = await self._raw_client.list(agent_ids=agent_ids, request_options=request_options)
228
+ return _response.data
350
229
 
351
230
  async def list_active(
352
231
  self,
@@ -388,37 +267,8 @@ class AsyncRunsClient:
388
267
 
389
268
  asyncio.run(main())
390
269
  """
391
- _response = await self._client_wrapper.httpx_client.request(
392
- "v1/runs/active",
393
- method="GET",
394
- params={
395
- "agent_ids": agent_ids,
396
- },
397
- request_options=request_options,
398
- )
399
- try:
400
- if 200 <= _response.status_code < 300:
401
- return typing.cast(
402
- typing.List[Run],
403
- construct_type(
404
- type_=typing.List[Run], # type: ignore
405
- object_=_response.json(),
406
- ),
407
- )
408
- if _response.status_code == 422:
409
- raise UnprocessableEntityError(
410
- typing.cast(
411
- HttpValidationError,
412
- construct_type(
413
- type_=HttpValidationError, # type: ignore
414
- object_=_response.json(),
415
- ),
416
- )
417
- )
418
- _response_json = _response.json()
419
- except JSONDecodeError:
420
- raise ApiError(status_code=_response.status_code, body=_response.text)
421
- raise ApiError(status_code=_response.status_code, body=_response_json)
270
+ _response = await self._raw_client.list_active(agent_ids=agent_ids, request_options=request_options)
271
+ return _response.data
422
272
 
423
273
  async def retrieve(self, run_id: str, *, request_options: typing.Optional[RequestOptions] = None) -> Run:
424
274
  """
@@ -456,34 +306,8 @@ class AsyncRunsClient:
456
306
 
457
307
  asyncio.run(main())
458
308
  """
459
- _response = await self._client_wrapper.httpx_client.request(
460
- f"v1/runs/{jsonable_encoder(run_id)}",
461
- method="GET",
462
- request_options=request_options,
463
- )
464
- try:
465
- if 200 <= _response.status_code < 300:
466
- return typing.cast(
467
- Run,
468
- construct_type(
469
- type_=Run, # type: ignore
470
- object_=_response.json(),
471
- ),
472
- )
473
- if _response.status_code == 422:
474
- raise UnprocessableEntityError(
475
- typing.cast(
476
- HttpValidationError,
477
- construct_type(
478
- type_=HttpValidationError, # type: ignore
479
- object_=_response.json(),
480
- ),
481
- )
482
- )
483
- _response_json = _response.json()
484
- except JSONDecodeError:
485
- raise ApiError(status_code=_response.status_code, body=_response.text)
486
- raise ApiError(status_code=_response.status_code, body=_response_json)
309
+ _response = await self._raw_client.retrieve(run_id, request_options=request_options)
310
+ return _response.data
487
311
 
488
312
  async def delete(self, run_id: str, *, request_options: typing.Optional[RequestOptions] = None) -> Run:
489
313
  """
@@ -521,31 +345,5 @@ class AsyncRunsClient:
521
345
 
522
346
  asyncio.run(main())
523
347
  """
524
- _response = await self._client_wrapper.httpx_client.request(
525
- f"v1/runs/{jsonable_encoder(run_id)}",
526
- method="DELETE",
527
- request_options=request_options,
528
- )
529
- try:
530
- if 200 <= _response.status_code < 300:
531
- return typing.cast(
532
- Run,
533
- construct_type(
534
- type_=Run, # type: ignore
535
- object_=_response.json(),
536
- ),
537
- )
538
- if _response.status_code == 422:
539
- raise UnprocessableEntityError(
540
- typing.cast(
541
- HttpValidationError,
542
- construct_type(
543
- type_=HttpValidationError, # type: ignore
544
- object_=_response.json(),
545
- ),
546
- )
547
- )
548
- _response_json = _response.json()
549
- except JSONDecodeError:
550
- raise ApiError(status_code=_response.status_code, body=_response.text)
551
- raise ApiError(status_code=_response.status_code, body=_response_json)
348
+ _response = await self._raw_client.delete(run_id, request_options=request_options)
349
+ return _response.data
@@ -1,2 +1,4 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
+ # isort: skip_file
4
+
@@ -1,22 +1,28 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
- from ...core.client_wrapper import SyncClientWrapper
4
3
  import typing
5
- from ...types.message_role import MessageRole
4
+
5
+ from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
6
6
  from ...core.request_options import RequestOptions
7
7
  from ...types.letta_message_union import LettaMessageUnion
8
- from ...core.jsonable_encoder import jsonable_encoder
9
- from ...core.unchecked_base_model import construct_type
10
- from ...errors.unprocessable_entity_error import UnprocessableEntityError
11
- from ...types.http_validation_error import HttpValidationError
12
- from json.decoder import JSONDecodeError
13
- from ...core.api_error import ApiError
14
- from ...core.client_wrapper import AsyncClientWrapper
8
+ from ...types.message_role import MessageRole
9
+ from .raw_client import AsyncRawMessagesClient, RawMessagesClient
15
10
 
16
11
 
17
12
  class MessagesClient:
18
13
  def __init__(self, *, client_wrapper: SyncClientWrapper):
19
- self._client_wrapper = client_wrapper
14
+ self._raw_client = RawMessagesClient(client_wrapper=client_wrapper)
15
+
16
+ @property
17
+ def with_raw_response(self) -> RawMessagesClient:
18
+ """
19
+ Retrieves a raw implementation of this client that returns raw responses.
20
+
21
+ Returns
22
+ -------
23
+ RawMessagesClient
24
+ """
25
+ return self._raw_client
20
26
 
21
27
  def list(
22
28
  self,
@@ -84,46 +90,26 @@ class MessagesClient:
84
90
  run_id="run_id",
85
91
  )
86
92
  """
87
- _response = self._client_wrapper.httpx_client.request(
88
- f"v1/runs/{jsonable_encoder(run_id)}/messages",
89
- method="GET",
90
- params={
91
- "before": before,
92
- "after": after,
93
- "limit": limit,
94
- "order": order,
95
- "role": role,
96
- },
97
- request_options=request_options,
93
+ _response = self._raw_client.list(
94
+ run_id, before=before, after=after, limit=limit, order=order, role=role, request_options=request_options
98
95
  )
99
- try:
100
- if 200 <= _response.status_code < 300:
101
- return typing.cast(
102
- typing.List[LettaMessageUnion],
103
- construct_type(
104
- type_=typing.List[LettaMessageUnion], # type: ignore
105
- object_=_response.json(),
106
- ),
107
- )
108
- if _response.status_code == 422:
109
- raise UnprocessableEntityError(
110
- typing.cast(
111
- HttpValidationError,
112
- construct_type(
113
- type_=HttpValidationError, # type: ignore
114
- object_=_response.json(),
115
- ),
116
- )
117
- )
118
- _response_json = _response.json()
119
- except JSONDecodeError:
120
- raise ApiError(status_code=_response.status_code, body=_response.text)
121
- raise ApiError(status_code=_response.status_code, body=_response_json)
96
+ return _response.data
122
97
 
123
98
 
124
99
  class AsyncMessagesClient:
125
100
  def __init__(self, *, client_wrapper: AsyncClientWrapper):
126
- self._client_wrapper = client_wrapper
101
+ self._raw_client = AsyncRawMessagesClient(client_wrapper=client_wrapper)
102
+
103
+ @property
104
+ def with_raw_response(self) -> AsyncRawMessagesClient:
105
+ """
106
+ Retrieves a raw implementation of this client that returns raw responses.
107
+
108
+ Returns
109
+ -------
110
+ AsyncRawMessagesClient
111
+ """
112
+ return self._raw_client
127
113
 
128
114
  async def list(
129
115
  self,
@@ -199,38 +185,7 @@ class AsyncMessagesClient:
199
185
 
200
186
  asyncio.run(main())
201
187
  """
202
- _response = await self._client_wrapper.httpx_client.request(
203
- f"v1/runs/{jsonable_encoder(run_id)}/messages",
204
- method="GET",
205
- params={
206
- "before": before,
207
- "after": after,
208
- "limit": limit,
209
- "order": order,
210
- "role": role,
211
- },
212
- request_options=request_options,
188
+ _response = await self._raw_client.list(
189
+ run_id, before=before, after=after, limit=limit, order=order, role=role, request_options=request_options
213
190
  )
214
- try:
215
- if 200 <= _response.status_code < 300:
216
- return typing.cast(
217
- typing.List[LettaMessageUnion],
218
- construct_type(
219
- type_=typing.List[LettaMessageUnion], # type: ignore
220
- object_=_response.json(),
221
- ),
222
- )
223
- if _response.status_code == 422:
224
- raise UnprocessableEntityError(
225
- typing.cast(
226
- HttpValidationError,
227
- construct_type(
228
- type_=HttpValidationError, # type: ignore
229
- object_=_response.json(),
230
- ),
231
- )
232
- )
233
- _response_json = _response.json()
234
- except JSONDecodeError:
235
- raise ApiError(status_code=_response.status_code, body=_response.text)
236
- raise ApiError(status_code=_response.status_code, body=_response_json)
191
+ return _response.data