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
letta_client/__init__.py CHANGED
@@ -1,5 +1,7 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
+ # isort: skip_file
4
+
3
5
  from .types import (
4
6
  ActionModel,
5
7
  ActionParametersModel,
@@ -1,5 +1,7 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
+ # isort: skip_file
4
+
3
5
  from .types import (
4
6
  AgentsSearchRequestSearchItem,
5
7
  AgentsSearchRequestSearchItemField,
@@ -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,17 +1,12 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
3
  import typing
4
- from ...core.client_wrapper import SyncClientWrapper
4
+
5
+ from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
5
6
  from ...core.request_options import RequestOptions
6
- from ...types.block import Block
7
- from ...core.jsonable_encoder import jsonable_encoder
8
- from ...core.unchecked_base_model import construct_type
9
- from ...errors.unprocessable_entity_error import UnprocessableEntityError
10
- from ...types.http_validation_error import HttpValidationError
11
- from json.decoder import JSONDecodeError
12
- from ...core.api_error import ApiError
13
7
  from ...types.agent_state import AgentState
14
- from ...core.client_wrapper import AsyncClientWrapper
8
+ from ...types.block import Block
9
+ from .raw_client import AsyncRawBlocksClient, RawBlocksClient
15
10
 
16
11
  # this is used as the default value for optional parameters
17
12
  OMIT = typing.cast(typing.Any, ...)
@@ -19,7 +14,18 @@ OMIT = typing.cast(typing.Any, ...)
19
14
 
20
15
  class BlocksClient:
21
16
  def __init__(self, *, client_wrapper: SyncClientWrapper):
22
- self._client_wrapper = client_wrapper
17
+ self._raw_client = RawBlocksClient(client_wrapper=client_wrapper)
18
+
19
+ @property
20
+ def with_raw_response(self) -> RawBlocksClient:
21
+ """
22
+ Retrieves a raw implementation of this client that returns raw responses.
23
+
24
+ Returns
25
+ -------
26
+ RawBlocksClient
27
+ """
28
+ return self._raw_client
23
29
 
24
30
  def retrieve(
25
31
  self, agent_id: str, block_label: str, *, request_options: typing.Optional[RequestOptions] = None
@@ -54,34 +60,8 @@ class BlocksClient:
54
60
  block_label="block_label",
55
61
  )
56
62
  """
57
- _response = self._client_wrapper.httpx_client.request(
58
- f"v1/agents/{jsonable_encoder(agent_id)}/core-memory/blocks/{jsonable_encoder(block_label)}",
59
- method="GET",
60
- request_options=request_options,
61
- )
62
- try:
63
- if 200 <= _response.status_code < 300:
64
- return typing.cast(
65
- Block,
66
- construct_type(
67
- type_=Block, # 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)
63
+ _response = self._raw_client.retrieve(agent_id, block_label, request_options=request_options)
64
+ return _response.data
85
65
 
86
66
  def modify(
87
67
  self,
@@ -160,47 +140,22 @@ class BlocksClient:
160
140
  block_label="block_label",
161
141
  )
162
142
  """
163
- _response = self._client_wrapper.httpx_client.request(
164
- f"v1/agents/{jsonable_encoder(agent_id)}/core-memory/blocks/{jsonable_encoder(block_label)}",
165
- method="PATCH",
166
- json={
167
- "value": value,
168
- "limit": limit,
169
- "project_id": project_id,
170
- "name": name,
171
- "is_template": is_template,
172
- "preserve_on_migration": preserve_on_migration,
173
- "label": label,
174
- "read_only": read_only,
175
- "description": description,
176
- "metadata": metadata,
177
- },
143
+ _response = self._raw_client.modify(
144
+ agent_id,
145
+ block_label,
146
+ value=value,
147
+ limit=limit,
148
+ project_id=project_id,
149
+ name=name,
150
+ is_template=is_template,
151
+ preserve_on_migration=preserve_on_migration,
152
+ label=label,
153
+ read_only=read_only,
154
+ description=description,
155
+ metadata=metadata,
178
156
  request_options=request_options,
179
- omit=OMIT,
180
157
  )
181
- try:
182
- if 200 <= _response.status_code < 300:
183
- return typing.cast(
184
- Block,
185
- construct_type(
186
- type_=Block, # type: ignore
187
- object_=_response.json(),
188
- ),
189
- )
190
- if _response.status_code == 422:
191
- raise UnprocessableEntityError(
192
- typing.cast(
193
- HttpValidationError,
194
- construct_type(
195
- type_=HttpValidationError, # type: ignore
196
- object_=_response.json(),
197
- ),
198
- )
199
- )
200
- _response_json = _response.json()
201
- except JSONDecodeError:
202
- raise ApiError(status_code=_response.status_code, body=_response.text)
203
- raise ApiError(status_code=_response.status_code, body=_response_json)
158
+ return _response.data
204
159
 
205
160
  def list(self, agent_id: str, *, request_options: typing.Optional[RequestOptions] = None) -> typing.List[Block]:
206
161
  """
@@ -230,34 +185,8 @@ class BlocksClient:
230
185
  agent_id="agent_id",
231
186
  )
232
187
  """
233
- _response = self._client_wrapper.httpx_client.request(
234
- f"v1/agents/{jsonable_encoder(agent_id)}/core-memory/blocks",
235
- method="GET",
236
- request_options=request_options,
237
- )
238
- try:
239
- if 200 <= _response.status_code < 300:
240
- return typing.cast(
241
- typing.List[Block],
242
- construct_type(
243
- type_=typing.List[Block], # type: ignore
244
- object_=_response.json(),
245
- ),
246
- )
247
- if _response.status_code == 422:
248
- raise UnprocessableEntityError(
249
- typing.cast(
250
- HttpValidationError,
251
- construct_type(
252
- type_=HttpValidationError, # type: ignore
253
- object_=_response.json(),
254
- ),
255
- )
256
- )
257
- _response_json = _response.json()
258
- except JSONDecodeError:
259
- raise ApiError(status_code=_response.status_code, body=_response.text)
260
- raise ApiError(status_code=_response.status_code, body=_response_json)
188
+ _response = self._raw_client.list(agent_id, request_options=request_options)
189
+ return _response.data
261
190
 
262
191
  def attach(
263
192
  self, agent_id: str, block_id: str, *, request_options: typing.Optional[RequestOptions] = None
@@ -292,34 +221,8 @@ class BlocksClient:
292
221
  block_id="block_id",
293
222
  )
294
223
  """
295
- _response = self._client_wrapper.httpx_client.request(
296
- f"v1/agents/{jsonable_encoder(agent_id)}/core-memory/blocks/attach/{jsonable_encoder(block_id)}",
297
- method="PATCH",
298
- request_options=request_options,
299
- )
300
- try:
301
- if 200 <= _response.status_code < 300:
302
- return typing.cast(
303
- AgentState,
304
- construct_type(
305
- type_=AgentState, # type: ignore
306
- object_=_response.json(),
307
- ),
308
- )
309
- if _response.status_code == 422:
310
- raise UnprocessableEntityError(
311
- typing.cast(
312
- HttpValidationError,
313
- construct_type(
314
- type_=HttpValidationError, # type: ignore
315
- object_=_response.json(),
316
- ),
317
- )
318
- )
319
- _response_json = _response.json()
320
- except JSONDecodeError:
321
- raise ApiError(status_code=_response.status_code, body=_response.text)
322
- raise ApiError(status_code=_response.status_code, body=_response_json)
224
+ _response = self._raw_client.attach(agent_id, block_id, request_options=request_options)
225
+ return _response.data
323
226
 
324
227
  def detach(
325
228
  self, agent_id: str, block_id: str, *, request_options: typing.Optional[RequestOptions] = None
@@ -354,39 +257,24 @@ class BlocksClient:
354
257
  block_id="block_id",
355
258
  )
356
259
  """
357
- _response = self._client_wrapper.httpx_client.request(
358
- f"v1/agents/{jsonable_encoder(agent_id)}/core-memory/blocks/detach/{jsonable_encoder(block_id)}",
359
- method="PATCH",
360
- request_options=request_options,
361
- )
362
- try:
363
- if 200 <= _response.status_code < 300:
364
- return typing.cast(
365
- AgentState,
366
- construct_type(
367
- type_=AgentState, # type: ignore
368
- object_=_response.json(),
369
- ),
370
- )
371
- if _response.status_code == 422:
372
- raise UnprocessableEntityError(
373
- typing.cast(
374
- HttpValidationError,
375
- construct_type(
376
- type_=HttpValidationError, # type: ignore
377
- object_=_response.json(),
378
- ),
379
- )
380
- )
381
- _response_json = _response.json()
382
- except JSONDecodeError:
383
- raise ApiError(status_code=_response.status_code, body=_response.text)
384
- raise ApiError(status_code=_response.status_code, body=_response_json)
260
+ _response = self._raw_client.detach(agent_id, block_id, request_options=request_options)
261
+ return _response.data
385
262
 
386
263
 
387
264
  class AsyncBlocksClient:
388
265
  def __init__(self, *, client_wrapper: AsyncClientWrapper):
389
- self._client_wrapper = client_wrapper
266
+ self._raw_client = AsyncRawBlocksClient(client_wrapper=client_wrapper)
267
+
268
+ @property
269
+ def with_raw_response(self) -> AsyncRawBlocksClient:
270
+ """
271
+ Retrieves a raw implementation of this client that returns raw responses.
272
+
273
+ Returns
274
+ -------
275
+ AsyncRawBlocksClient
276
+ """
277
+ return self._raw_client
390
278
 
391
279
  async def retrieve(
392
280
  self, agent_id: str, block_label: str, *, request_options: typing.Optional[RequestOptions] = None
@@ -429,34 +317,8 @@ class AsyncBlocksClient:
429
317
 
430
318
  asyncio.run(main())
431
319
  """
432
- _response = await self._client_wrapper.httpx_client.request(
433
- f"v1/agents/{jsonable_encoder(agent_id)}/core-memory/blocks/{jsonable_encoder(block_label)}",
434
- method="GET",
435
- request_options=request_options,
436
- )
437
- try:
438
- if 200 <= _response.status_code < 300:
439
- return typing.cast(
440
- Block,
441
- construct_type(
442
- type_=Block, # type: ignore
443
- object_=_response.json(),
444
- ),
445
- )
446
- if _response.status_code == 422:
447
- raise UnprocessableEntityError(
448
- typing.cast(
449
- HttpValidationError,
450
- construct_type(
451
- type_=HttpValidationError, # type: ignore
452
- object_=_response.json(),
453
- ),
454
- )
455
- )
456
- _response_json = _response.json()
457
- except JSONDecodeError:
458
- raise ApiError(status_code=_response.status_code, body=_response.text)
459
- raise ApiError(status_code=_response.status_code, body=_response_json)
320
+ _response = await self._raw_client.retrieve(agent_id, block_label, request_options=request_options)
321
+ return _response.data
460
322
 
461
323
  async def modify(
462
324
  self,
@@ -543,47 +405,22 @@ class AsyncBlocksClient:
543
405
 
544
406
  asyncio.run(main())
545
407
  """
546
- _response = await self._client_wrapper.httpx_client.request(
547
- f"v1/agents/{jsonable_encoder(agent_id)}/core-memory/blocks/{jsonable_encoder(block_label)}",
548
- method="PATCH",
549
- json={
550
- "value": value,
551
- "limit": limit,
552
- "project_id": project_id,
553
- "name": name,
554
- "is_template": is_template,
555
- "preserve_on_migration": preserve_on_migration,
556
- "label": label,
557
- "read_only": read_only,
558
- "description": description,
559
- "metadata": metadata,
560
- },
408
+ _response = await self._raw_client.modify(
409
+ agent_id,
410
+ block_label,
411
+ value=value,
412
+ limit=limit,
413
+ project_id=project_id,
414
+ name=name,
415
+ is_template=is_template,
416
+ preserve_on_migration=preserve_on_migration,
417
+ label=label,
418
+ read_only=read_only,
419
+ description=description,
420
+ metadata=metadata,
561
421
  request_options=request_options,
562
- omit=OMIT,
563
422
  )
564
- try:
565
- if 200 <= _response.status_code < 300:
566
- return typing.cast(
567
- Block,
568
- construct_type(
569
- type_=Block, # type: ignore
570
- object_=_response.json(),
571
- ),
572
- )
573
- if _response.status_code == 422:
574
- raise UnprocessableEntityError(
575
- typing.cast(
576
- HttpValidationError,
577
- construct_type(
578
- type_=HttpValidationError, # type: ignore
579
- object_=_response.json(),
580
- ),
581
- )
582
- )
583
- _response_json = _response.json()
584
- except JSONDecodeError:
585
- raise ApiError(status_code=_response.status_code, body=_response.text)
586
- raise ApiError(status_code=_response.status_code, body=_response_json)
423
+ return _response.data
587
424
 
588
425
  async def list(
589
426
  self, agent_id: str, *, request_options: typing.Optional[RequestOptions] = None
@@ -623,34 +460,8 @@ class AsyncBlocksClient:
623
460
 
624
461
  asyncio.run(main())
625
462
  """
626
- _response = await self._client_wrapper.httpx_client.request(
627
- f"v1/agents/{jsonable_encoder(agent_id)}/core-memory/blocks",
628
- method="GET",
629
- request_options=request_options,
630
- )
631
- try:
632
- if 200 <= _response.status_code < 300:
633
- return typing.cast(
634
- typing.List[Block],
635
- construct_type(
636
- type_=typing.List[Block], # type: ignore
637
- object_=_response.json(),
638
- ),
639
- )
640
- if _response.status_code == 422:
641
- raise UnprocessableEntityError(
642
- typing.cast(
643
- HttpValidationError,
644
- construct_type(
645
- type_=HttpValidationError, # type: ignore
646
- object_=_response.json(),
647
- ),
648
- )
649
- )
650
- _response_json = _response.json()
651
- except JSONDecodeError:
652
- raise ApiError(status_code=_response.status_code, body=_response.text)
653
- raise ApiError(status_code=_response.status_code, body=_response_json)
463
+ _response = await self._raw_client.list(agent_id, request_options=request_options)
464
+ return _response.data
654
465
 
655
466
  async def attach(
656
467
  self, agent_id: str, block_id: str, *, request_options: typing.Optional[RequestOptions] = None
@@ -693,34 +504,8 @@ class AsyncBlocksClient:
693
504
 
694
505
  asyncio.run(main())
695
506
  """
696
- _response = await self._client_wrapper.httpx_client.request(
697
- f"v1/agents/{jsonable_encoder(agent_id)}/core-memory/blocks/attach/{jsonable_encoder(block_id)}",
698
- method="PATCH",
699
- request_options=request_options,
700
- )
701
- try:
702
- if 200 <= _response.status_code < 300:
703
- return typing.cast(
704
- AgentState,
705
- construct_type(
706
- type_=AgentState, # type: ignore
707
- object_=_response.json(),
708
- ),
709
- )
710
- if _response.status_code == 422:
711
- raise UnprocessableEntityError(
712
- typing.cast(
713
- HttpValidationError,
714
- construct_type(
715
- type_=HttpValidationError, # type: ignore
716
- object_=_response.json(),
717
- ),
718
- )
719
- )
720
- _response_json = _response.json()
721
- except JSONDecodeError:
722
- raise ApiError(status_code=_response.status_code, body=_response.text)
723
- raise ApiError(status_code=_response.status_code, body=_response_json)
507
+ _response = await self._raw_client.attach(agent_id, block_id, request_options=request_options)
508
+ return _response.data
724
509
 
725
510
  async def detach(
726
511
  self, agent_id: str, block_id: str, *, request_options: typing.Optional[RequestOptions] = None
@@ -763,31 +548,5 @@ class AsyncBlocksClient:
763
548
 
764
549
  asyncio.run(main())
765
550
  """
766
- _response = await self._client_wrapper.httpx_client.request(
767
- f"v1/agents/{jsonable_encoder(agent_id)}/core-memory/blocks/detach/{jsonable_encoder(block_id)}",
768
- method="PATCH",
769
- request_options=request_options,
770
- )
771
- try:
772
- if 200 <= _response.status_code < 300:
773
- return typing.cast(
774
- AgentState,
775
- construct_type(
776
- type_=AgentState, # type: ignore
777
- object_=_response.json(),
778
- ),
779
- )
780
- if _response.status_code == 422:
781
- raise UnprocessableEntityError(
782
- typing.cast(
783
- HttpValidationError,
784
- construct_type(
785
- type_=HttpValidationError, # type: ignore
786
- object_=_response.json(),
787
- ),
788
- )
789
- )
790
- _response_json = _response.json()
791
- except JSONDecodeError:
792
- raise ApiError(status_code=_response.status_code, body=_response.text)
793
- raise ApiError(status_code=_response.status_code, body=_response_json)
551
+ _response = await self._raw_client.detach(agent_id, block_id, request_options=request_options)
552
+ return _response.data