letta-client 0.1.226__py3-none-any.whl → 1.7.2__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.
Files changed (755) hide show
  1. letta_client/__init__.py +91 -672
  2. letta_client/_base_client.py +2125 -0
  3. letta_client/_client.py +1136 -0
  4. letta_client/_compat.py +219 -0
  5. letta_client/_constants.py +14 -0
  6. letta_client/_exceptions.py +108 -0
  7. letta_client/_files.py +123 -0
  8. letta_client/_models.py +872 -0
  9. letta_client/_qs.py +150 -0
  10. letta_client/_resource.py +43 -0
  11. letta_client/_response.py +832 -0
  12. letta_client/_streaming.py +371 -0
  13. letta_client/_types.py +270 -0
  14. letta_client/_utils/__init__.py +64 -0
  15. letta_client/_utils/_compat.py +45 -0
  16. letta_client/_utils/_datetime_parse.py +136 -0
  17. letta_client/_utils/_logs.py +25 -0
  18. letta_client/_utils/_proxy.py +65 -0
  19. letta_client/_utils/_reflection.py +42 -0
  20. letta_client/_utils/_resources_proxy.py +24 -0
  21. letta_client/_utils/_streams.py +12 -0
  22. letta_client/_utils/_sync.py +58 -0
  23. letta_client/_utils/_transform.py +457 -0
  24. letta_client/_utils/_typing.py +156 -0
  25. letta_client/_utils/_utils.py +421 -0
  26. letta_client/_version.py +4 -0
  27. letta_client/lib/.keep +4 -0
  28. letta_client/pagination.py +280 -0
  29. letta_client/resources/__init__.py +215 -0
  30. letta_client/resources/access_tokens.py +396 -0
  31. letta_client/resources/agents/__init__.py +131 -0
  32. letta_client/resources/agents/agents.py +2148 -0
  33. letta_client/resources/agents/archives.py +260 -0
  34. letta_client/resources/agents/blocks.py +736 -0
  35. letta_client/resources/agents/files.py +541 -0
  36. letta_client/resources/agents/folders.py +422 -0
  37. letta_client/resources/agents/identities.py +260 -0
  38. letta_client/resources/agents/messages.py +1800 -0
  39. letta_client/resources/agents/passages.py +638 -0
  40. letta_client/resources/agents/tools.py +651 -0
  41. letta_client/resources/archives/__init__.py +33 -0
  42. letta_client/resources/archives/archives.py +650 -0
  43. letta_client/resources/archives/passages.py +309 -0
  44. letta_client/resources/blocks/__init__.py +33 -0
  45. letta_client/resources/blocks/agents.py +289 -0
  46. letta_client/resources/blocks/blocks.py +977 -0
  47. letta_client/resources/conversations/__init__.py +33 -0
  48. letta_client/resources/conversations/conversations.py +611 -0
  49. letta_client/resources/conversations/messages.py +650 -0
  50. letta_client/resources/folders/__init__.py +47 -0
  51. letta_client/resources/folders/agents.py +234 -0
  52. letta_client/resources/folders/files.py +581 -0
  53. letta_client/resources/folders/folders.py +734 -0
  54. letta_client/resources/mcp_servers/__init__.py +33 -0
  55. letta_client/resources/mcp_servers/mcp_servers.py +670 -0
  56. letta_client/resources/mcp_servers/tools.py +351 -0
  57. letta_client/resources/messages.py +455 -0
  58. letta_client/resources/models/__init__.py +33 -0
  59. letta_client/resources/models/embeddings.py +149 -0
  60. letta_client/resources/models/models.py +233 -0
  61. letta_client/resources/passages.py +259 -0
  62. letta_client/resources/runs/__init__.py +75 -0
  63. letta_client/resources/runs/messages.py +363 -0
  64. letta_client/resources/runs/runs.py +502 -0
  65. letta_client/resources/runs/steps.py +229 -0
  66. letta_client/resources/runs/trace.py +197 -0
  67. letta_client/resources/runs/usage.py +163 -0
  68. letta_client/resources/steps/__init__.py +75 -0
  69. letta_client/resources/steps/feedback.py +198 -0
  70. letta_client/resources/steps/messages.py +237 -0
  71. letta_client/resources/steps/metrics.py +167 -0
  72. letta_client/resources/steps/steps.py +505 -0
  73. letta_client/resources/steps/trace.py +169 -0
  74. letta_client/resources/tags.py +240 -0
  75. letta_client/resources/templates/__init__.py +33 -0
  76. letta_client/resources/templates/agents.py +229 -0
  77. letta_client/resources/templates/templates.py +540 -0
  78. letta_client/resources/tools.py +1721 -0
  79. letta_client/types/__init__.py +148 -530
  80. letta_client/types/access_token_create_params.py +32 -0
  81. letta_client/types/access_token_create_response.py +34 -0
  82. letta_client/types/access_token_delete_params.py +11 -0
  83. letta_client/types/access_token_list_params.py +23 -0
  84. letta_client/types/access_token_list_response.py +40 -0
  85. letta_client/types/agent_create_params.py +444 -0
  86. letta_client/types/agent_environment_variable.py +40 -63
  87. letta_client/types/agent_export_file_params.py +26 -0
  88. letta_client/types/agent_export_file_response.py +7 -0
  89. letta_client/types/agent_import_file_params.py +57 -0
  90. letta_client/types/agent_import_file_response.py +14 -0
  91. letta_client/types/agent_list_params.py +100 -0
  92. letta_client/types/agent_retrieve_params.py +37 -0
  93. letta_client/types/agent_state.py +651 -138
  94. letta_client/types/agent_type.py +14 -14
  95. letta_client/types/agent_update_params.py +386 -0
  96. letta_client/types/agents/__init__.py +76 -0
  97. letta_client/types/agents/approval_create_param.py +35 -0
  98. letta_client/types/agents/approval_request_message.py +57 -0
  99. letta_client/types/agents/approval_response_message.py +61 -0
  100. letta_client/types/agents/approval_return.py +22 -0
  101. letta_client/types/agents/approval_return_param.py +22 -0
  102. letta_client/types/agents/assistant_message.py +48 -0
  103. letta_client/types/agents/block.py +68 -0
  104. letta_client/types/agents/block_list_params.py +34 -0
  105. letta_client/types/agents/block_update_params.py +63 -0
  106. letta_client/types/agents/event_message.py +40 -0
  107. letta_client/types/agents/file_close_all_response.py +8 -0
  108. letta_client/types/agents/file_list_params.py +40 -0
  109. letta_client/types/agents/file_list_response.py +42 -0
  110. letta_client/types/agents/file_open_response.py +8 -0
  111. letta_client/types/agents/folder_list_params.py +34 -0
  112. letta_client/types/agents/folder_list_response.py +49 -0
  113. letta_client/types/agents/hidden_reasoning_message.py +49 -0
  114. letta_client/types/agents/image_content.py +67 -0
  115. letta_client/types/agents/image_content_param.py +64 -0
  116. letta_client/types/agents/internal_message.py +271 -0
  117. letta_client/types/agents/job_status.py +7 -0
  118. letta_client/types/agents/job_type.py +7 -0
  119. letta_client/types/agents/letta_assistant_message_content_union.py +19 -0
  120. letta_client/types/agents/letta_response.py +76 -0
  121. letta_client/types/agents/letta_streaming_response.py +155 -0
  122. letta_client/types/agents/letta_user_message_content_union.py +14 -0
  123. letta_client/types/agents/message.py +36 -0
  124. letta_client/types/agents/message_cancel_params.py +15 -0
  125. letta_client/types/agents/message_cancel_response.py +8 -0
  126. letta_client/types/agents/message_compact_params.py +145 -0
  127. letta_client/types/agents/message_compact_response.py +13 -0
  128. letta_client/types/agents/message_create_async_params.py +145 -0
  129. letta_client/types/agents/message_create_params.py +181 -0
  130. letta_client/types/agents/message_list_params.py +55 -0
  131. letta_client/types/agents/message_reset_params.py +12 -0
  132. letta_client/types/agents/message_role.py +7 -0
  133. letta_client/types/agents/message_stream_params.py +166 -0
  134. letta_client/types/agents/message_type.py +17 -0
  135. letta_client/types/agents/omitted_reasoning_content.py +20 -0
  136. letta_client/types/agents/omitted_reasoning_content_param.py +20 -0
  137. letta_client/types/agents/passage_create_params.py +23 -0
  138. letta_client/types/agents/passage_create_response.py +10 -0
  139. letta_client/types/agents/passage_list_params.py +28 -0
  140. letta_client/types/agents/passage_list_response.py +10 -0
  141. letta_client/types/agents/passage_search_params.py +35 -0
  142. letta_client/types/agents/passage_search_response.py +29 -0
  143. letta_client/types/agents/reasoning_content.py +27 -0
  144. letta_client/types/agents/reasoning_content_param.py +27 -0
  145. letta_client/types/agents/reasoning_message.py +50 -0
  146. letta_client/types/agents/redacted_reasoning_content.py +18 -0
  147. letta_client/types/agents/redacted_reasoning_content_param.py +17 -0
  148. letta_client/types/agents/run.py +91 -0
  149. letta_client/types/agents/summary_message.py +38 -0
  150. letta_client/types/agents/system_message.py +46 -0
  151. letta_client/types/agents/text_content.py +19 -0
  152. letta_client/types/agents/text_content_param.py +19 -0
  153. letta_client/types/agents/tool_call.py +13 -0
  154. letta_client/types/agents/tool_call_content.py +28 -0
  155. letta_client/types/agents/tool_call_content_param.py +28 -0
  156. letta_client/types/agents/tool_call_delta.py +15 -0
  157. letta_client/types/agents/tool_call_message.py +52 -0
  158. letta_client/types/agents/tool_execution_result.py +33 -0
  159. letta_client/types/agents/tool_list_params.py +34 -0
  160. letta_client/types/agents/tool_return.py +29 -0
  161. letta_client/types/agents/tool_return_content.py +22 -0
  162. letta_client/types/agents/tool_return_content_param.py +21 -0
  163. letta_client/types/agents/tool_return_param.py +30 -0
  164. letta_client/types/agents/tool_run_params.py +16 -0
  165. letta_client/types/agents/tool_update_approval_params.py +21 -0
  166. letta_client/types/agents/user_message.py +50 -0
  167. letta_client/types/anthropic_model_settings.py +62 -0
  168. letta_client/types/anthropic_model_settings_param.py +59 -0
  169. letta_client/types/archive.py +46 -0
  170. letta_client/types/archive_create_params.py +22 -0
  171. letta_client/types/archive_list_params.py +40 -0
  172. letta_client/types/archive_update_params.py +14 -0
  173. letta_client/types/archives/__init__.py +5 -0
  174. letta_client/types/archives/passage_create_params.py +21 -0
  175. letta_client/types/azure_model_settings.py +36 -0
  176. letta_client/types/azure_model_settings_param.py +33 -0
  177. letta_client/types/bedrock_model_settings.py +36 -0
  178. letta_client/types/bedrock_model_settings_param.py +33 -0
  179. letta_client/types/block_create_params.py +59 -0
  180. letta_client/types/block_list_params.py +102 -0
  181. letta_client/types/block_response.py +66 -0
  182. letta_client/types/block_update_params.py +60 -0
  183. letta_client/types/blocks/__init__.py +5 -0
  184. letta_client/types/blocks/agent_list_params.py +61 -0
  185. letta_client/types/child_tool_rule.py +37 -26
  186. letta_client/types/child_tool_rule_param.py +50 -0
  187. letta_client/types/conditional_tool_rule.py +19 -35
  188. letta_client/types/conditional_tool_rule_param.py +31 -0
  189. letta_client/types/continue_tool_rule.py +13 -23
  190. letta_client/types/continue_tool_rule_param.py +22 -0
  191. letta_client/types/conversation.py +42 -0
  192. letta_client/types/conversation_cancel_response.py +8 -0
  193. letta_client/types/conversation_create_params.py +25 -0
  194. letta_client/types/conversation_list_params.py +19 -0
  195. letta_client/types/conversation_list_response.py +10 -0
  196. letta_client/types/conversation_update_params.py +13 -0
  197. letta_client/types/conversations/__init__.py +7 -0
  198. letta_client/types/conversations/message_create_params.py +166 -0
  199. letta_client/types/conversations/message_list_params.py +43 -0
  200. letta_client/types/conversations/message_stream_params.py +28 -0
  201. letta_client/types/create_block_param.py +61 -0
  202. letta_client/types/create_sse_mcp_server_param.py +26 -0
  203. letta_client/types/create_stdio_mcp_server_param.py +25 -0
  204. letta_client/types/create_streamable_http_mcp_server_param.py +26 -0
  205. letta_client/types/deepseek_model_settings.py +36 -0
  206. letta_client/types/deepseek_model_settings_param.py +33 -0
  207. letta_client/types/embedding_config.py +47 -67
  208. letta_client/types/embedding_config_param.py +64 -0
  209. letta_client/types/embedding_model.py +81 -0
  210. letta_client/types/folder.py +28 -66
  211. letta_client/types/folder_create_params.py +33 -0
  212. letta_client/types/folder_list_params.py +37 -0
  213. letta_client/types/folder_update_params.py +27 -0
  214. letta_client/types/folders/__init__.py +12 -0
  215. letta_client/types/folders/agent_list_params.py +34 -0
  216. letta_client/types/folders/agent_list_response.py +8 -0
  217. letta_client/types/folders/file_list_params.py +37 -0
  218. letta_client/types/folders/file_list_response.py +70 -0
  219. letta_client/types/folders/file_retrieve_params.py +15 -0
  220. letta_client/types/folders/file_retrieve_response.py +70 -0
  221. letta_client/types/folders/file_upload_params.py +20 -0
  222. letta_client/types/folders/file_upload_response.py +70 -0
  223. letta_client/types/google_ai_model_settings.py +47 -0
  224. letta_client/types/google_ai_model_settings_param.py +44 -0
  225. letta_client/types/google_vertex_model_settings.py +47 -0
  226. letta_client/types/google_vertex_model_settings_param.py +44 -0
  227. letta_client/types/groq_model_settings.py +36 -0
  228. letta_client/types/groq_model_settings_param.py +33 -0
  229. letta_client/types/health_response.py +13 -0
  230. letta_client/types/init_tool_rule.py +24 -24
  231. letta_client/types/init_tool_rule_param.py +32 -0
  232. letta_client/types/json_object_response_format.py +9 -17
  233. letta_client/types/json_object_response_format_param.py +14 -0
  234. letta_client/types/json_schema_response_format.py +12 -21
  235. letta_client/types/json_schema_response_format_param.py +18 -0
  236. letta_client/types/letta_message_content_union_param.py +26 -0
  237. letta_client/types/llm_config.py +124 -75
  238. letta_client/types/llm_config_param.py +155 -0
  239. letta_client/types/max_count_per_step_tool_rule.py +16 -25
  240. letta_client/types/max_count_per_step_tool_rule_param.py +28 -0
  241. letta_client/types/mcp_server_create_params.py +23 -0
  242. letta_client/types/mcp_server_create_response.py +12 -0
  243. letta_client/types/mcp_server_list_response.py +14 -0
  244. letta_client/types/mcp_server_refresh_params.py +12 -0
  245. letta_client/types/mcp_server_retrieve_response.py +12 -0
  246. letta_client/types/mcp_server_update_params.py +23 -0
  247. letta_client/types/mcp_server_update_response.py +12 -0
  248. letta_client/types/mcp_servers/__init__.py +6 -0
  249. letta_client/types/mcp_servers/tool_list_response.py +10 -0
  250. letta_client/types/mcp_servers/tool_run_params.py +15 -0
  251. letta_client/types/message_create_param.py +38 -0
  252. letta_client/types/message_list_params.py +34 -0
  253. letta_client/types/message_list_response.py +10 -0
  254. letta_client/types/message_retrieve_response.py +10 -0
  255. letta_client/types/message_search_params.py +34 -0
  256. letta_client/types/message_search_response.py +124 -0
  257. letta_client/types/model.py +148 -0
  258. letta_client/types/model_list_params.py +19 -0
  259. letta_client/types/model_list_response.py +10 -0
  260. letta_client/types/models/__init__.py +5 -0
  261. letta_client/types/models/embedding_list_response.py +10 -0
  262. letta_client/types/npm_requirement.py +15 -0
  263. letta_client/types/npm_requirement_param.py +16 -0
  264. letta_client/types/openai_model_settings.py +51 -0
  265. letta_client/types/openai_model_settings_param.py +48 -0
  266. letta_client/types/parent_tool_rule.py +15 -27
  267. letta_client/types/parent_tool_rule_param.py +27 -0
  268. letta_client/types/passage.py +56 -101
  269. letta_client/types/passage_search_params.py +41 -0
  270. letta_client/types/passage_search_response.py +25 -0
  271. letta_client/types/pip_requirement.py +9 -21
  272. letta_client/types/pip_requirement_param.py +16 -0
  273. letta_client/types/provider_category.py +5 -3
  274. letta_client/types/provider_trace.py +43 -48
  275. letta_client/types/provider_type.py +25 -23
  276. letta_client/types/required_before_exit_tool_rule.py +13 -23
  277. letta_client/types/required_before_exit_tool_rule_param.py +22 -0
  278. letta_client/types/requires_approval_tool_rule.py +25 -0
  279. letta_client/types/requires_approval_tool_rule_param.py +25 -0
  280. letta_client/types/run_list_params.py +67 -0
  281. letta_client/types/runs/__init__.py +10 -0
  282. letta_client/types/runs/message_list_params.py +34 -0
  283. letta_client/types/runs/message_stream_params.py +28 -0
  284. letta_client/types/runs/step_list_params.py +28 -0
  285. letta_client/types/runs/trace_retrieve_params.py +12 -0
  286. letta_client/types/runs/trace_retrieve_response.py +8 -0
  287. letta_client/types/runs/usage_retrieve_response.py +31 -0
  288. letta_client/types/sse_mcp_server.py +32 -0
  289. letta_client/types/stdio_mcp_server.py +29 -0
  290. letta_client/types/step.py +71 -97
  291. letta_client/types/step_list_params.py +57 -0
  292. letta_client/types/steps/__init__.py +8 -0
  293. letta_client/types/steps/feedback_create_params.py +18 -0
  294. letta_client/types/steps/message_list_params.py +34 -0
  295. letta_client/types/steps/message_list_response.py +36 -0
  296. letta_client/types/steps/metric_retrieve_response.py +45 -0
  297. letta_client/types/stop_reason_type.py +17 -5
  298. letta_client/types/streamable_http_mcp_server.py +32 -0
  299. letta_client/types/tag_list_params.py +40 -0
  300. letta_client/types/tag_list_response.py +8 -0
  301. letta_client/types/template_create_params.py +46 -0
  302. letta_client/types/template_create_response.py +29 -0
  303. letta_client/types/template_delete_response.py +9 -0
  304. letta_client/types/template_update_params.py +25 -0
  305. letta_client/types/template_update_response.py +13 -0
  306. letta_client/types/templates/__init__.py +6 -0
  307. letta_client/types/templates/agent_create_params.py +50 -0
  308. letta_client/types/templates/agent_create_response.py +20 -0
  309. letta_client/types/terminal_tool_rule.py +13 -23
  310. letta_client/types/terminal_tool_rule_param.py +22 -0
  311. letta_client/types/text_response_format.py +9 -17
  312. letta_client/types/text_response_format_param.py +14 -0
  313. letta_client/types/together_model_settings.py +36 -0
  314. letta_client/types/together_model_settings_param.py +33 -0
  315. letta_client/types/tool.py +154 -81
  316. letta_client/types/tool_create_params.py +53 -0
  317. letta_client/types/tool_list_params.py +57 -0
  318. letta_client/types/tool_return_message.py +44 -31
  319. letta_client/types/tool_search_params.py +27 -0
  320. letta_client/types/tool_search_response.py +10 -0
  321. letta_client/types/tool_search_result.py +27 -0
  322. letta_client/types/tool_type.py +16 -17
  323. letta_client/types/tool_update_params.py +57 -0
  324. letta_client/types/tool_upsert_params.py +53 -0
  325. letta_client/types/update_sse_mcp_server_param.py +26 -0
  326. letta_client/types/update_stdio_mcp_server_param.py +25 -0
  327. letta_client/types/update_streamable_http_mcp_server_param.py +26 -0
  328. letta_client/types/vector_db_provider.py +7 -0
  329. letta_client/types/xai_model_settings.py +36 -0
  330. letta_client/types/xai_model_settings_param.py +33 -0
  331. letta_client-1.7.2.dist-info/METADATA +436 -0
  332. letta_client-1.7.2.dist-info/RECORD +335 -0
  333. {letta_client-0.1.226.dist-info → letta_client-1.7.2.dist-info}/WHEEL +1 -1
  334. letta_client-1.7.2.dist-info/licenses/LICENSE +201 -0
  335. letta_client/agents/__init__.py +0 -77
  336. letta_client/agents/blocks/__init__.py +0 -2
  337. letta_client/agents/blocks/client.py +0 -793
  338. letta_client/agents/client.py +0 -2371
  339. letta_client/agents/context/__init__.py +0 -2
  340. letta_client/agents/context/client.py +0 -149
  341. letta_client/agents/core_memory/__init__.py +0 -2
  342. letta_client/agents/core_memory/client.py +0 -147
  343. letta_client/agents/files/__init__.py +0 -2
  344. letta_client/agents/files/client.py +0 -430
  345. letta_client/agents/folders/__init__.py +0 -2
  346. letta_client/agents/folders/client.py +0 -412
  347. letta_client/agents/groups/__init__.py +0 -2
  348. letta_client/agents/groups/client.py +0 -169
  349. letta_client/agents/memory_variables/__init__.py +0 -5
  350. letta_client/agents/memory_variables/client.py +0 -152
  351. letta_client/agents/memory_variables/types/__init__.py +0 -5
  352. letta_client/agents/memory_variables/types/memory_variables_list_response.py +0 -19
  353. letta_client/agents/messages/__init__.py +0 -15
  354. letta_client/agents/messages/client.py +0 -1638
  355. letta_client/agents/messages/types/__init__.py +0 -13
  356. letta_client/agents/messages/types/letta_streaming_response.py +0 -22
  357. letta_client/agents/messages/types/messages_modify_request.py +0 -11
  358. letta_client/agents/messages/types/messages_modify_response.py +0 -20
  359. letta_client/agents/messages/types/messages_preview_raw_payload_request.py +0 -7
  360. letta_client/agents/passages/__init__.py +0 -2
  361. letta_client/agents/passages/client.py +0 -793
  362. letta_client/agents/sources/__init__.py +0 -2
  363. letta_client/agents/sources/client.py +0 -412
  364. letta_client/agents/templates/__init__.py +0 -5
  365. letta_client/agents/templates/client.py +0 -588
  366. letta_client/agents/templates/types/__init__.py +0 -7
  367. letta_client/agents/templates/types/templates_create_response.py +0 -22
  368. letta_client/agents/templates/types/templates_create_version_request_return_agent_state.py +0 -5
  369. letta_client/agents/templates/types/templates_migrate_response.py +0 -19
  370. letta_client/agents/tools/__init__.py +0 -2
  371. letta_client/agents/tools/client.py +0 -412
  372. letta_client/agents/types/__init__.py +0 -33
  373. letta_client/agents/types/agents_search_request_search_item.py +0 -16
  374. letta_client/agents/types/agents_search_request_search_item_field.py +0 -22
  375. letta_client/agents/types/agents_search_request_search_item_field_operator.py +0 -5
  376. letta_client/agents/types/agents_search_request_search_item_one.py +0 -22
  377. letta_client/agents/types/agents_search_request_search_item_one_operator.py +0 -5
  378. letta_client/agents/types/agents_search_request_search_item_three.py +0 -21
  379. letta_client/agents/types/agents_search_request_search_item_two.py +0 -21
  380. letta_client/agents/types/agents_search_request_search_item_zero.py +0 -20
  381. letta_client/agents/types/agents_search_request_sort_by.py +0 -5
  382. letta_client/agents/types/agents_search_response.py +0 -23
  383. letta_client/agents/types/create_agent_request_response_format.py +0 -8
  384. letta_client/agents/types/create_agent_request_tool_rules_item.py +0 -22
  385. letta_client/agents/types/update_agent_response_format.py +0 -8
  386. letta_client/agents/types/update_agent_tool_rules_item.py +0 -22
  387. letta_client/base_client.py +0 -232
  388. letta_client/batches/__init__.py +0 -2
  389. letta_client/batches/client.py +0 -587
  390. letta_client/blocks/__init__.py +0 -5
  391. letta_client/blocks/agents/__init__.py +0 -2
  392. letta_client/blocks/agents/client.py +0 -171
  393. letta_client/blocks/client.py +0 -1038
  394. letta_client/client.py +0 -661
  395. letta_client/client_side_access_tokens/__init__.py +0 -29
  396. letta_client/client_side_access_tokens/client.py +0 -524
  397. letta_client/client_side_access_tokens/types/__init__.py +0 -43
  398. letta_client/client_side_access_tokens/types/client_side_access_tokens_create_request_policy_item.py +0 -24
  399. letta_client/client_side_access_tokens/types/client_side_access_tokens_create_request_policy_item_access_item.py +0 -7
  400. letta_client/client_side_access_tokens/types/client_side_access_tokens_create_response.py +0 -25
  401. letta_client/client_side_access_tokens/types/client_side_access_tokens_create_response_policy.py +0 -23
  402. letta_client/client_side_access_tokens/types/client_side_access_tokens_create_response_policy_data_item.py +0 -24
  403. letta_client/client_side_access_tokens/types/client_side_access_tokens_create_response_policy_data_item_access_item.py +0 -7
  404. letta_client/client_side_access_tokens/types/client_side_access_tokens_list_client_side_access_tokens_response.py +0 -25
  405. letta_client/client_side_access_tokens/types/client_side_access_tokens_list_client_side_access_tokens_response_tokens_item.py +0 -27
  406. letta_client/client_side_access_tokens/types/client_side_access_tokens_list_client_side_access_tokens_response_tokens_item_policy.py +0 -23
  407. letta_client/client_side_access_tokens/types/client_side_access_tokens_list_client_side_access_tokens_response_tokens_item_policy_data_item.py +0 -24
  408. letta_client/client_side_access_tokens/types/client_side_access_tokens_list_client_side_access_tokens_response_tokens_item_policy_data_item_access_item.py +0 -7
  409. letta_client/core/__init__.py +0 -51
  410. letta_client/core/api_error.py +0 -15
  411. letta_client/core/client_wrapper.py +0 -77
  412. letta_client/core/datetime_utils.py +0 -28
  413. letta_client/core/file.py +0 -67
  414. letta_client/core/http_client.py +0 -499
  415. letta_client/core/jsonable_encoder.py +0 -101
  416. letta_client/core/pydantic_utilities.py +0 -296
  417. letta_client/core/query_encoder.py +0 -58
  418. letta_client/core/remove_none_from_dict.py +0 -11
  419. letta_client/core/request_options.py +0 -35
  420. letta_client/core/serialization.py +0 -272
  421. letta_client/core/unchecked_base_model.py +0 -305
  422. letta_client/embedding_models/__init__.py +0 -2
  423. letta_client/embedding_models/client.py +0 -136
  424. letta_client/environment.py +0 -8
  425. letta_client/errors/__init__.py +0 -17
  426. letta_client/errors/bad_request_error.py +0 -9
  427. letta_client/errors/conflict_error.py +0 -9
  428. letta_client/errors/internal_server_error.py +0 -9
  429. letta_client/errors/not_found_error.py +0 -9
  430. letta_client/errors/payment_required_error.py +0 -9
  431. letta_client/errors/unprocessable_entity_error.py +0 -9
  432. letta_client/folders/__init__.py +0 -5
  433. letta_client/folders/client.py +0 -1307
  434. letta_client/folders/files/__init__.py +0 -2
  435. letta_client/folders/files/client.py +0 -474
  436. letta_client/folders/passages/__init__.py +0 -2
  437. letta_client/folders/passages/client.py +0 -189
  438. letta_client/groups/__init__.py +0 -14
  439. letta_client/groups/client.py +0 -964
  440. letta_client/groups/messages/__init__.py +0 -5
  441. letta_client/groups/messages/client.py +0 -1015
  442. letta_client/groups/messages/types/__init__.py +0 -7
  443. letta_client/groups/messages/types/letta_streaming_response.py +0 -20
  444. letta_client/groups/messages/types/messages_modify_request.py +0 -11
  445. letta_client/groups/messages/types/messages_modify_response.py +0 -20
  446. letta_client/groups/types/__init__.py +0 -6
  447. letta_client/groups/types/group_create_manager_config.py +0 -12
  448. letta_client/groups/types/group_update_manager_config.py +0 -16
  449. letta_client/health/__init__.py +0 -2
  450. letta_client/health/client.py +0 -110
  451. letta_client/identities/__init__.py +0 -5
  452. letta_client/identities/client.py +0 -1201
  453. letta_client/identities/properties/__init__.py +0 -2
  454. letta_client/identities/properties/client.py +0 -183
  455. letta_client/jobs/__init__.py +0 -2
  456. letta_client/jobs/client.py +0 -749
  457. letta_client/messages/__init__.py +0 -2
  458. letta_client/messages/client.py +0 -213
  459. letta_client/models/__init__.py +0 -2
  460. letta_client/models/client.py +0 -174
  461. letta_client/projects/__init__.py +0 -5
  462. letta_client/projects/client.py +0 -150
  463. letta_client/projects/types/__init__.py +0 -6
  464. letta_client/projects/types/projects_list_response.py +0 -23
  465. letta_client/projects/types/projects_list_response_projects_item.py +0 -21
  466. letta_client/providers/__init__.py +0 -2
  467. letta_client/providers/client.py +0 -789
  468. letta_client/runs/__init__.py +0 -5
  469. letta_client/runs/client.py +0 -551
  470. letta_client/runs/messages/__init__.py +0 -2
  471. letta_client/runs/messages/client.py +0 -236
  472. letta_client/runs/steps/__init__.py +0 -2
  473. letta_client/runs/steps/client.py +0 -219
  474. letta_client/runs/usage/__init__.py +0 -2
  475. letta_client/runs/usage/client.py +0 -147
  476. letta_client/sources/__init__.py +0 -5
  477. letta_client/sources/client.py +0 -1462
  478. letta_client/sources/files/__init__.py +0 -2
  479. letta_client/sources/files/client.py +0 -474
  480. letta_client/sources/passages/__init__.py +0 -2
  481. letta_client/sources/passages/client.py +0 -189
  482. letta_client/steps/__init__.py +0 -6
  483. letta_client/steps/client.py +0 -408
  484. letta_client/steps/feedback/__init__.py +0 -2
  485. letta_client/steps/feedback/client.py +0 -168
  486. letta_client/steps/types/__init__.py +0 -5
  487. letta_client/steps/types/steps_list_request_feedback.py +0 -5
  488. letta_client/tags/__init__.py +0 -2
  489. letta_client/tags/client.py +0 -171
  490. letta_client/telemetry/__init__.py +0 -2
  491. letta_client/telemetry/client.py +0 -145
  492. letta_client/templates/__init__.py +0 -18
  493. letta_client/templates/agents/__init__.py +0 -13
  494. letta_client/templates/agents/client.py +0 -256
  495. letta_client/templates/agents/types/__init__.py +0 -11
  496. letta_client/templates/agents/types/agents_create_request_initial_message_sequence_item.py +0 -26
  497. letta_client/templates/agents/types/agents_create_request_initial_message_sequence_item_role.py +0 -7
  498. letta_client/templates/agents/types/agents_create_response.py +0 -20
  499. letta_client/templates/client.py +0 -162
  500. letta_client/templates/types/__init__.py +0 -6
  501. letta_client/templates/types/templates_list_response.py +0 -23
  502. letta_client/templates/types/templates_list_response_templates_item.py +0 -20
  503. letta_client/tools/__init__.py +0 -27
  504. letta_client/tools/client.py +0 -3063
  505. letta_client/tools/types/__init__.py +0 -25
  506. letta_client/tools/types/add_mcp_server_request.py +0 -8
  507. letta_client/tools/types/add_mcp_server_response_item.py +0 -8
  508. letta_client/tools/types/connect_mcp_server_request.py +0 -8
  509. letta_client/tools/types/connect_mcp_server_response_event.py +0 -8
  510. letta_client/tools/types/delete_mcp_server_response_item.py +0 -8
  511. letta_client/tools/types/list_mcp_servers_response_value.py +0 -8
  512. letta_client/tools/types/streaming_response.py +0 -23
  513. letta_client/tools/types/test_mcp_server_request.py +0 -8
  514. letta_client/tools/types/update_mcp_server_request.py +0 -8
  515. letta_client/tools/types/update_mcp_server_response.py +0 -8
  516. letta_client/types/action_model.py +0 -38
  517. letta_client/types/action_parameters_model.py +0 -27
  518. letta_client/types/action_response_model.py +0 -27
  519. letta_client/types/agent_schema.py +0 -49
  520. letta_client/types/agent_schema_tool_rules_item.py +0 -11
  521. letta_client/types/agent_state_response_format.py +0 -8
  522. letta_client/types/agent_state_tool_rules_item.py +0 -22
  523. letta_client/types/app_auth_scheme.py +0 -34
  524. letta_client/types/app_auth_scheme_auth_mode.py +0 -19
  525. letta_client/types/app_model.py +0 -44
  526. letta_client/types/assistant_message.py +0 -42
  527. letta_client/types/assistant_message_content.py +0 -6
  528. letta_client/types/audio.py +0 -19
  529. letta_client/types/auth_request.py +0 -22
  530. letta_client/types/auth_response.py +0 -29
  531. letta_client/types/auth_scheme_field.py +0 -30
  532. letta_client/types/bad_request_error_body.py +0 -19
  533. letta_client/types/base_64_image.py +0 -33
  534. letta_client/types/base_tool_rule_schema.py +0 -20
  535. letta_client/types/batch_job.py +0 -81
  536. letta_client/types/block.py +0 -97
  537. letta_client/types/block_update.py +0 -71
  538. letta_client/types/chat_completion_assistant_message_param.py +0 -29
  539. letta_client/types/chat_completion_assistant_message_param_content.py +0 -8
  540. letta_client/types/chat_completion_assistant_message_param_content_item.py +0 -9
  541. letta_client/types/chat_completion_audio_param.py +0 -22
  542. letta_client/types/chat_completion_audio_param_format.py +0 -5
  543. letta_client/types/chat_completion_audio_param_voice.py +0 -18
  544. letta_client/types/chat_completion_content_part_image_param.py +0 -21
  545. letta_client/types/chat_completion_content_part_input_audio_param.py +0 -21
  546. letta_client/types/chat_completion_content_part_refusal_param.py +0 -20
  547. letta_client/types/chat_completion_content_part_text_param.py +0 -20
  548. letta_client/types/chat_completion_developer_message_param.py +0 -22
  549. letta_client/types/chat_completion_developer_message_param_content.py +0 -6
  550. letta_client/types/chat_completion_function_call_option_param.py +0 -19
  551. letta_client/types/chat_completion_function_message_param.py +0 -21
  552. letta_client/types/chat_completion_message_tool_call.py +0 -22
  553. letta_client/types/chat_completion_message_tool_call_param.py +0 -24
  554. letta_client/types/chat_completion_named_tool_choice_param.py +0 -23
  555. letta_client/types/chat_completion_prediction_content_param.py +0 -21
  556. letta_client/types/chat_completion_prediction_content_param_content.py +0 -6
  557. letta_client/types/chat_completion_stream_options_param.py +0 -19
  558. letta_client/types/chat_completion_system_message_param.py +0 -22
  559. letta_client/types/chat_completion_system_message_param_content.py +0 -6
  560. letta_client/types/chat_completion_tool_message_param.py +0 -22
  561. letta_client/types/chat_completion_tool_message_param_content.py +0 -6
  562. letta_client/types/chat_completion_tool_param.py +0 -21
  563. letta_client/types/chat_completion_user_message_param.py +0 -22
  564. letta_client/types/chat_completion_user_message_param_content.py +0 -6
  565. letta_client/types/chat_completion_user_message_param_content_item.py +0 -14
  566. letta_client/types/child_tool_rule_schema.py +0 -21
  567. letta_client/types/code_input.py +0 -22
  568. letta_client/types/completion_create_params_non_streaming.py +0 -64
  569. letta_client/types/completion_create_params_non_streaming_function_call.py +0 -8
  570. letta_client/types/completion_create_params_non_streaming_messages_item.py +0 -18
  571. letta_client/types/completion_create_params_non_streaming_modalities_item.py +0 -5
  572. letta_client/types/completion_create_params_non_streaming_model.py +0 -62
  573. letta_client/types/completion_create_params_non_streaming_reasoning_effort.py +0 -5
  574. letta_client/types/completion_create_params_non_streaming_response_format.py +0 -10
  575. letta_client/types/completion_create_params_non_streaming_service_tier.py +0 -7
  576. letta_client/types/completion_create_params_non_streaming_stop.py +0 -5
  577. letta_client/types/completion_create_params_non_streaming_tool_choice.py +0 -8
  578. letta_client/types/completion_create_params_streaming.py +0 -64
  579. letta_client/types/completion_create_params_streaming_function_call.py +0 -8
  580. letta_client/types/completion_create_params_streaming_messages_item.py +0 -18
  581. letta_client/types/completion_create_params_streaming_modalities_item.py +0 -5
  582. letta_client/types/completion_create_params_streaming_model.py +0 -62
  583. letta_client/types/completion_create_params_streaming_reasoning_effort.py +0 -5
  584. letta_client/types/completion_create_params_streaming_response_format.py +0 -10
  585. letta_client/types/completion_create_params_streaming_service_tier.py +0 -7
  586. letta_client/types/completion_create_params_streaming_stop.py +0 -5
  587. letta_client/types/completion_create_params_streaming_tool_choice.py +0 -8
  588. letta_client/types/components_schemas_text_content.py +0 -5
  589. letta_client/types/conditional_tool_rule_schema.py +0 -23
  590. letta_client/types/conflict_error_body.py +0 -21
  591. letta_client/types/context_window_overview.py +0 -108
  592. letta_client/types/core_memory_block_schema.py +0 -31
  593. letta_client/types/create_block.py +0 -67
  594. letta_client/types/duplicate_file_handling.py +0 -5
  595. letta_client/types/dynamic_manager.py +0 -33
  596. letta_client/types/dynamic_manager_update.py +0 -33
  597. letta_client/types/e_2_b_sandbox_config.py +0 -32
  598. letta_client/types/embedding_config_embedding_endpoint_type.py +0 -29
  599. letta_client/types/feedback_type.py +0 -5
  600. letta_client/types/file.py +0 -21
  601. letta_client/types/file_block.py +0 -103
  602. letta_client/types/file_file.py +0 -21
  603. letta_client/types/file_metadata.py +0 -108
  604. letta_client/types/file_processing_status.py +0 -5
  605. letta_client/types/file_stats.py +0 -36
  606. letta_client/types/function_call.py +0 -20
  607. letta_client/types/function_definition_input.py +0 -22
  608. letta_client/types/function_definition_output.py +0 -22
  609. letta_client/types/function_output.py +0 -20
  610. letta_client/types/function_tool.py +0 -21
  611. letta_client/types/generate_tool_input.py +0 -42
  612. letta_client/types/generate_tool_output.py +0 -33
  613. letta_client/types/group.py +0 -88
  614. letta_client/types/health.py +0 -24
  615. letta_client/types/hidden_reasoning_message.py +0 -43
  616. letta_client/types/hidden_reasoning_message_state.py +0 -5
  617. letta_client/types/http_validation_error.py +0 -20
  618. letta_client/types/identity.py +0 -59
  619. letta_client/types/identity_property.py +0 -38
  620. letta_client/types/identity_property_type.py +0 -5
  621. letta_client/types/identity_property_value.py +0 -5
  622. letta_client/types/identity_type.py +0 -5
  623. letta_client/types/image_content.py +0 -24
  624. letta_client/types/image_content_source.py +0 -8
  625. letta_client/types/image_url.py +0 -21
  626. letta_client/types/image_url_detail.py +0 -5
  627. letta_client/types/input_audio.py +0 -21
  628. letta_client/types/input_audio_format.py +0 -5
  629. letta_client/types/internal_server_error_body.py +0 -19
  630. letta_client/types/job.py +0 -96
  631. letta_client/types/job_status.py +0 -7
  632. letta_client/types/job_type.py +0 -5
  633. letta_client/types/json_schema.py +0 -26
  634. letta_client/types/letta_batch_messages.py +0 -20
  635. letta_client/types/letta_batch_request.py +0 -59
  636. letta_client/types/letta_image.py +0 -38
  637. letta_client/types/letta_message_content_union.py +0 -13
  638. letta_client/types/letta_message_union.py +0 -20
  639. letta_client/types/letta_request.py +0 -54
  640. letta_client/types/letta_request_config.py +0 -38
  641. letta_client/types/letta_response.py +0 -40
  642. letta_client/types/letta_stop_reason.py +0 -32
  643. letta_client/types/letta_streaming_request.py +0 -59
  644. letta_client/types/letta_usage_statistics.py +0 -59
  645. letta_client/types/letta_user_message_content_union.py +0 -7
  646. letta_client/types/llm_config_model_endpoint_type.py +0 -31
  647. letta_client/types/llm_config_reasoning_effort.py +0 -5
  648. letta_client/types/local_sandbox_config.py +0 -38
  649. letta_client/types/manager_type.py +0 -7
  650. letta_client/types/max_count_per_step_tool_rule_schema.py +0 -21
  651. letta_client/types/mcp_server_type.py +0 -5
  652. letta_client/types/mcp_tool.py +0 -38
  653. letta_client/types/memory.py +0 -38
  654. letta_client/types/message.py +0 -139
  655. letta_client/types/message_content_item.py +0 -20
  656. letta_client/types/message_create.py +0 -58
  657. letta_client/types/message_create_content.py +0 -6
  658. letta_client/types/message_create_role.py +0 -5
  659. letta_client/types/message_role.py +0 -5
  660. letta_client/types/message_schema.py +0 -29
  661. letta_client/types/message_type.py +0 -16
  662. letta_client/types/not_found_error_body.py +0 -19
  663. letta_client/types/not_found_error_body_message.py +0 -11
  664. letta_client/types/omitted_reasoning_content.py +0 -19
  665. letta_client/types/openai_types_chat_chat_completion_message_tool_call_param_function.py +0 -20
  666. letta_client/types/openai_types_chat_chat_completion_named_tool_choice_param_function.py +0 -19
  667. letta_client/types/openai_types_chat_completion_create_params_function.py +0 -21
  668. letta_client/types/organization.py +0 -38
  669. letta_client/types/organization_create.py +0 -27
  670. letta_client/types/organization_sources_stats.py +0 -42
  671. letta_client/types/organization_update.py +0 -27
  672. letta_client/types/parameter_properties.py +0 -20
  673. letta_client/types/parameters_schema.py +0 -22
  674. letta_client/types/payment_required_error_body.py +0 -20
  675. letta_client/types/provider.py +0 -65
  676. letta_client/types/provider_check.py +0 -38
  677. letta_client/types/reasoning_content.py +0 -33
  678. letta_client/types/reasoning_message.py +0 -44
  679. letta_client/types/reasoning_message_source.py +0 -5
  680. letta_client/types/redacted_reasoning_content.py +0 -23
  681. letta_client/types/response_format_json_object.py +0 -19
  682. letta_client/types/response_format_json_schema.py +0 -21
  683. letta_client/types/response_format_text.py +0 -19
  684. letta_client/types/round_robin_manager.py +0 -23
  685. letta_client/types/round_robin_manager_update.py +0 -23
  686. letta_client/types/run.py +0 -99
  687. letta_client/types/sandbox_config.py +0 -54
  688. letta_client/types/sandbox_config_create.py +0 -23
  689. letta_client/types/sandbox_config_create_config.py +0 -7
  690. letta_client/types/sandbox_config_update.py +0 -27
  691. letta_client/types/sandbox_config_update_config.py +0 -7
  692. letta_client/types/sandbox_environment_variable.py +0 -63
  693. letta_client/types/sandbox_environment_variable_create.py +0 -32
  694. letta_client/types/sandbox_environment_variable_update.py +0 -32
  695. letta_client/types/sandbox_type.py +0 -5
  696. letta_client/types/sleeptime_manager.py +0 -28
  697. letta_client/types/sleeptime_manager_update.py +0 -28
  698. letta_client/types/source.py +0 -81
  699. letta_client/types/source_create.py +0 -57
  700. letta_client/types/source_stats.py +0 -47
  701. letta_client/types/source_update.py +0 -47
  702. letta_client/types/sse_server_config.py +0 -55
  703. letta_client/types/stdio_server_config.py +0 -39
  704. letta_client/types/step_feedback.py +0 -5
  705. letta_client/types/streamable_http_server_config.py +0 -55
  706. letta_client/types/supervisor_manager.py +0 -23
  707. letta_client/types/supervisor_manager_update.py +0 -23
  708. letta_client/types/system_message.py +0 -41
  709. letta_client/types/tag_schema.py +0 -19
  710. letta_client/types/text_content.py +0 -23
  711. letta_client/types/tool_annotations.py +0 -36
  712. letta_client/types/tool_call.py +0 -21
  713. letta_client/types/tool_call_content.py +0 -33
  714. letta_client/types/tool_call_delta.py +0 -21
  715. letta_client/types/tool_call_message.py +0 -39
  716. letta_client/types/tool_call_message_tool_call.py +0 -7
  717. letta_client/types/tool_create.py +0 -58
  718. letta_client/types/tool_env_var_schema.py +0 -23
  719. letta_client/types/tool_json_schema.py +0 -24
  720. letta_client/types/tool_return.py +0 -33
  721. letta_client/types/tool_return_content.py +0 -33
  722. letta_client/types/tool_return_message_status.py +0 -5
  723. letta_client/types/tool_return_status.py +0 -5
  724. letta_client/types/tool_schema.py +0 -35
  725. letta_client/types/update_assistant_message.py +0 -24
  726. letta_client/types/update_assistant_message_content.py +0 -6
  727. letta_client/types/update_reasoning_message.py +0 -20
  728. letta_client/types/update_ssemcp_server.py +0 -41
  729. letta_client/types/update_stdio_mcp_server.py +0 -32
  730. letta_client/types/update_streamable_httpmcp_server.py +0 -46
  731. letta_client/types/update_system_message.py +0 -23
  732. letta_client/types/update_user_message.py +0 -24
  733. letta_client/types/update_user_message_content.py +0 -6
  734. letta_client/types/url_image.py +0 -23
  735. letta_client/types/usage_statistics.py +0 -25
  736. letta_client/types/usage_statistics_completion_token_details.py +0 -19
  737. letta_client/types/usage_statistics_prompt_token_details.py +0 -19
  738. letta_client/types/user.py +0 -52
  739. letta_client/types/user_create.py +0 -22
  740. letta_client/types/user_message.py +0 -42
  741. letta_client/types/user_message_content.py +0 -6
  742. letta_client/types/user_update.py +0 -27
  743. letta_client/types/validation_error.py +0 -22
  744. letta_client/types/validation_error_loc_item.py +0 -5
  745. letta_client/types/voice_sleeptime_manager.py +0 -33
  746. letta_client/types/voice_sleeptime_manager_update.py +0 -33
  747. letta_client/types/web_search_options.py +0 -22
  748. letta_client/types/web_search_options_search_context_size.py +0 -5
  749. letta_client/types/web_search_options_user_location.py +0 -21
  750. letta_client/types/web_search_options_user_location_approximate.py +0 -22
  751. letta_client/version.py +0 -3
  752. letta_client/voice/__init__.py +0 -2
  753. letta_client/voice/client.py +0 -177
  754. letta_client-0.1.226.dist-info/METADATA +0 -190
  755. letta_client-0.1.226.dist-info/RECORD +0 -452
@@ -1,1462 +0,0 @@
1
- # This file was auto-generated by Fern from our API Definition.
2
-
3
- import typing
4
- from ..core.client_wrapper import SyncClientWrapper
5
- from .files.client import FilesClient
6
- from .passages.client import PassagesClient
7
- 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
- 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
- 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
22
-
23
- # this is used as the default value for optional parameters
24
- OMIT = typing.cast(typing.Any, ...)
25
-
26
-
27
- class SourcesClient:
28
- 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)
32
-
33
- def count(self, *, request_options: typing.Optional[RequestOptions] = None) -> int:
34
- """
35
- Count all data sources created by a user.
36
-
37
- Parameters
38
- ----------
39
- request_options : typing.Optional[RequestOptions]
40
- Request-specific configuration.
41
-
42
- Returns
43
- -------
44
- int
45
- Successful Response
46
-
47
- Examples
48
- --------
49
- from letta_client import Letta
50
-
51
- client = Letta(
52
- project="YOUR_PROJECT",
53
- token="YOUR_TOKEN",
54
- )
55
- client.sources.count()
56
- """
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)
85
-
86
- def retrieve(self, source_id: str, *, request_options: typing.Optional[RequestOptions] = None) -> Source:
87
- """
88
- Get all sources
89
-
90
- Parameters
91
- ----------
92
- source_id : str
93
-
94
- request_options : typing.Optional[RequestOptions]
95
- Request-specific configuration.
96
-
97
- Returns
98
- -------
99
- Source
100
- Successful Response
101
-
102
- Examples
103
- --------
104
- from letta_client import Letta
105
-
106
- client = Letta(
107
- project="YOUR_PROJECT",
108
- token="YOUR_TOKEN",
109
- )
110
- client.sources.retrieve(
111
- source_id="source_id",
112
- )
113
- """
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)
142
-
143
- def delete(
144
- self, source_id: str, *, request_options: typing.Optional[RequestOptions] = None
145
- ) -> typing.Optional[typing.Any]:
146
- """
147
- Delete a data source.
148
-
149
- Parameters
150
- ----------
151
- source_id : str
152
-
153
- request_options : typing.Optional[RequestOptions]
154
- Request-specific configuration.
155
-
156
- Returns
157
- -------
158
- typing.Optional[typing.Any]
159
- Successful Response
160
-
161
- Examples
162
- --------
163
- from letta_client import Letta
164
-
165
- client = Letta(
166
- project="YOUR_PROJECT",
167
- token="YOUR_TOKEN",
168
- )
169
- client.sources.delete(
170
- source_id="source_id",
171
- )
172
- """
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)
201
-
202
- def modify(
203
- self,
204
- source_id: str,
205
- *,
206
- name: typing.Optional[str] = OMIT,
207
- description: typing.Optional[str] = OMIT,
208
- instructions: typing.Optional[str] = OMIT,
209
- metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = OMIT,
210
- embedding_config: typing.Optional[EmbeddingConfig] = OMIT,
211
- request_options: typing.Optional[RequestOptions] = None,
212
- ) -> Source:
213
- """
214
- Update the name or documentation of an existing data source.
215
-
216
- Parameters
217
- ----------
218
- source_id : str
219
-
220
- name : typing.Optional[str]
221
- The name of the source.
222
-
223
- description : typing.Optional[str]
224
- The description of the source.
225
-
226
- instructions : typing.Optional[str]
227
- Instructions for how to use the source.
228
-
229
- metadata : typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]]
230
- Metadata associated with the source.
231
-
232
- embedding_config : typing.Optional[EmbeddingConfig]
233
- The embedding configuration used by the source.
234
-
235
- request_options : typing.Optional[RequestOptions]
236
- Request-specific configuration.
237
-
238
- Returns
239
- -------
240
- Source
241
- Successful Response
242
-
243
- Examples
244
- --------
245
- from letta_client import Letta
246
-
247
- client = Letta(
248
- project="YOUR_PROJECT",
249
- token="YOUR_TOKEN",
250
- )
251
- client.sources.modify(
252
- source_id="source_id",
253
- )
254
- """
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
- },
267
- request_options=request_options,
268
- omit=OMIT,
269
- )
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)
293
-
294
- def retrieve_by_name(self, source_name: str, *, request_options: typing.Optional[RequestOptions] = None) -> str:
295
- """
296
- Get a source by name
297
-
298
- Parameters
299
- ----------
300
- source_name : str
301
-
302
- request_options : typing.Optional[RequestOptions]
303
- Request-specific configuration.
304
-
305
- Returns
306
- -------
307
- str
308
- Successful Response
309
-
310
- Examples
311
- --------
312
- from letta_client import Letta
313
-
314
- client = Letta(
315
- project="YOUR_PROJECT",
316
- token="YOUR_TOKEN",
317
- )
318
- client.sources.retrieve_by_name(
319
- source_name="source_name",
320
- )
321
- """
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)
350
-
351
- def get_sources_metadata(
352
- self,
353
- *,
354
- include_detailed_per_source_metadata: typing.Optional[bool] = None,
355
- request_options: typing.Optional[RequestOptions] = None,
356
- ) -> OrganizationSourcesStats:
357
- """
358
- Get aggregated metadata for all sources in an organization.
359
-
360
- Returns structured metadata including:
361
- - Total number of sources
362
- - Total number of files across all sources
363
- - Total size of all files
364
- - Per-source breakdown with file details (file_name, file_size per file) if include_detailed_per_source_metadata is True
365
-
366
- Parameters
367
- ----------
368
- include_detailed_per_source_metadata : typing.Optional[bool]
369
-
370
- request_options : typing.Optional[RequestOptions]
371
- Request-specific configuration.
372
-
373
- Returns
374
- -------
375
- OrganizationSourcesStats
376
- Successful Response
377
-
378
- Examples
379
- --------
380
- from letta_client import Letta
381
-
382
- client = Letta(
383
- project="YOUR_PROJECT",
384
- token="YOUR_TOKEN",
385
- )
386
- client.sources.get_sources_metadata()
387
- """
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,
395
- )
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)
419
-
420
- def list(self, *, request_options: typing.Optional[RequestOptions] = None) -> typing.List[Source]:
421
- """
422
- List all data sources created by a user.
423
-
424
- Parameters
425
- ----------
426
- request_options : typing.Optional[RequestOptions]
427
- Request-specific configuration.
428
-
429
- Returns
430
- -------
431
- typing.List[Source]
432
- Successful Response
433
-
434
- Examples
435
- --------
436
- from letta_client import Letta
437
-
438
- client = Letta(
439
- project="YOUR_PROJECT",
440
- token="YOUR_TOKEN",
441
- )
442
- client.sources.list()
443
- """
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)
472
-
473
- def create(
474
- self,
475
- *,
476
- name: str,
477
- description: typing.Optional[str] = OMIT,
478
- instructions: typing.Optional[str] = OMIT,
479
- metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = OMIT,
480
- embedding: typing.Optional[str] = OMIT,
481
- embedding_chunk_size: typing.Optional[int] = OMIT,
482
- embedding_config: typing.Optional[EmbeddingConfig] = OMIT,
483
- request_options: typing.Optional[RequestOptions] = None,
484
- ) -> Source:
485
- """
486
- Create a new data source.
487
-
488
- Parameters
489
- ----------
490
- name : str
491
- The name of the source.
492
-
493
- description : typing.Optional[str]
494
- The description of the source.
495
-
496
- instructions : typing.Optional[str]
497
- Instructions for how to use the source.
498
-
499
- metadata : typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]]
500
- Metadata associated with the source.
501
-
502
- embedding : typing.Optional[str]
503
- The handle for the embedding config used by the source.
504
-
505
- embedding_chunk_size : typing.Optional[int]
506
- The chunk size of the embedding.
507
-
508
- embedding_config : typing.Optional[EmbeddingConfig]
509
- (Legacy) The embedding configuration used by the source.
510
-
511
- request_options : typing.Optional[RequestOptions]
512
- Request-specific configuration.
513
-
514
- Returns
515
- -------
516
- Source
517
- Successful Response
518
-
519
- Examples
520
- --------
521
- from letta_client import Letta
522
-
523
- client = Letta(
524
- project="YOUR_PROJECT",
525
- token="YOUR_TOKEN",
526
- )
527
- client.sources.create(
528
- name="name",
529
- )
530
- """
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
- },
545
- request_options=request_options,
546
- omit=OMIT,
547
- )
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)
571
-
572
- def get_agents_for_source(
573
- self, source_id: str, *, request_options: typing.Optional[RequestOptions] = None
574
- ) -> typing.List[str]:
575
- """
576
- Get all agent IDs that have the specified source attached.
577
-
578
- Parameters
579
- ----------
580
- source_id : str
581
-
582
- request_options : typing.Optional[RequestOptions]
583
- Request-specific configuration.
584
-
585
- Returns
586
- -------
587
- typing.List[str]
588
- Successful Response
589
-
590
- Examples
591
- --------
592
- from letta_client import Letta
593
-
594
- client = Letta(
595
- project="YOUR_PROJECT",
596
- token="YOUR_TOKEN",
597
- )
598
- client.sources.get_agents_for_source(
599
- source_id="source_id",
600
- )
601
- """
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)
630
-
631
- def get_file_metadata(
632
- self,
633
- source_id: str,
634
- file_id: str,
635
- *,
636
- include_content: typing.Optional[bool] = None,
637
- request_options: typing.Optional[RequestOptions] = None,
638
- ) -> FileMetadata:
639
- """
640
- Retrieve metadata for a specific file by its ID.
641
-
642
- Parameters
643
- ----------
644
- source_id : str
645
-
646
- file_id : str
647
-
648
- include_content : typing.Optional[bool]
649
- Whether to include full file content
650
-
651
- request_options : typing.Optional[RequestOptions]
652
- Request-specific configuration.
653
-
654
- Returns
655
- -------
656
- FileMetadata
657
- Successful Response
658
-
659
- Examples
660
- --------
661
- from letta_client import Letta
662
-
663
- client = Letta(
664
- project="YOUR_PROJECT",
665
- token="YOUR_TOKEN",
666
- )
667
- client.sources.get_file_metadata(
668
- source_id="source_id",
669
- file_id="file_id",
670
- )
671
- """
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,
679
- )
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)
703
-
704
-
705
- class AsyncSourcesClient:
706
- 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)
710
-
711
- async def count(self, *, request_options: typing.Optional[RequestOptions] = None) -> int:
712
- """
713
- Count all data sources created by a user.
714
-
715
- Parameters
716
- ----------
717
- request_options : typing.Optional[RequestOptions]
718
- Request-specific configuration.
719
-
720
- Returns
721
- -------
722
- int
723
- Successful Response
724
-
725
- Examples
726
- --------
727
- import asyncio
728
-
729
- from letta_client import AsyncLetta
730
-
731
- client = AsyncLetta(
732
- project="YOUR_PROJECT",
733
- token="YOUR_TOKEN",
734
- )
735
-
736
-
737
- async def main() -> None:
738
- await client.sources.count()
739
-
740
-
741
- asyncio.run(main())
742
- """
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)
771
-
772
- async def retrieve(self, source_id: str, *, request_options: typing.Optional[RequestOptions] = None) -> Source:
773
- """
774
- Get all sources
775
-
776
- Parameters
777
- ----------
778
- source_id : str
779
-
780
- request_options : typing.Optional[RequestOptions]
781
- Request-specific configuration.
782
-
783
- Returns
784
- -------
785
- Source
786
- Successful Response
787
-
788
- Examples
789
- --------
790
- import asyncio
791
-
792
- from letta_client import AsyncLetta
793
-
794
- client = AsyncLetta(
795
- project="YOUR_PROJECT",
796
- token="YOUR_TOKEN",
797
- )
798
-
799
-
800
- async def main() -> None:
801
- await client.sources.retrieve(
802
- source_id="source_id",
803
- )
804
-
805
-
806
- asyncio.run(main())
807
- """
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)
836
-
837
- async def delete(
838
- self, source_id: str, *, request_options: typing.Optional[RequestOptions] = None
839
- ) -> typing.Optional[typing.Any]:
840
- """
841
- Delete a data source.
842
-
843
- Parameters
844
- ----------
845
- source_id : str
846
-
847
- request_options : typing.Optional[RequestOptions]
848
- Request-specific configuration.
849
-
850
- Returns
851
- -------
852
- typing.Optional[typing.Any]
853
- Successful Response
854
-
855
- Examples
856
- --------
857
- import asyncio
858
-
859
- from letta_client import AsyncLetta
860
-
861
- client = AsyncLetta(
862
- project="YOUR_PROJECT",
863
- token="YOUR_TOKEN",
864
- )
865
-
866
-
867
- async def main() -> None:
868
- await client.sources.delete(
869
- source_id="source_id",
870
- )
871
-
872
-
873
- asyncio.run(main())
874
- """
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)
903
-
904
- async def modify(
905
- self,
906
- source_id: str,
907
- *,
908
- name: typing.Optional[str] = OMIT,
909
- description: typing.Optional[str] = OMIT,
910
- instructions: typing.Optional[str] = OMIT,
911
- metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = OMIT,
912
- embedding_config: typing.Optional[EmbeddingConfig] = OMIT,
913
- request_options: typing.Optional[RequestOptions] = None,
914
- ) -> Source:
915
- """
916
- Update the name or documentation of an existing data source.
917
-
918
- Parameters
919
- ----------
920
- source_id : str
921
-
922
- name : typing.Optional[str]
923
- The name of the source.
924
-
925
- description : typing.Optional[str]
926
- The description of the source.
927
-
928
- instructions : typing.Optional[str]
929
- Instructions for how to use the source.
930
-
931
- metadata : typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]]
932
- Metadata associated with the source.
933
-
934
- embedding_config : typing.Optional[EmbeddingConfig]
935
- The embedding configuration used by the source.
936
-
937
- request_options : typing.Optional[RequestOptions]
938
- Request-specific configuration.
939
-
940
- Returns
941
- -------
942
- Source
943
- Successful Response
944
-
945
- Examples
946
- --------
947
- import asyncio
948
-
949
- from letta_client import AsyncLetta
950
-
951
- client = AsyncLetta(
952
- project="YOUR_PROJECT",
953
- token="YOUR_TOKEN",
954
- )
955
-
956
-
957
- async def main() -> None:
958
- await client.sources.modify(
959
- source_id="source_id",
960
- )
961
-
962
-
963
- asyncio.run(main())
964
- """
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
- },
977
- request_options=request_options,
978
- omit=OMIT,
979
- )
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)
1003
-
1004
- async def retrieve_by_name(
1005
- self, source_name: str, *, request_options: typing.Optional[RequestOptions] = None
1006
- ) -> str:
1007
- """
1008
- Get a source by name
1009
-
1010
- Parameters
1011
- ----------
1012
- source_name : str
1013
-
1014
- request_options : typing.Optional[RequestOptions]
1015
- Request-specific configuration.
1016
-
1017
- Returns
1018
- -------
1019
- str
1020
- Successful Response
1021
-
1022
- Examples
1023
- --------
1024
- import asyncio
1025
-
1026
- from letta_client import AsyncLetta
1027
-
1028
- client = AsyncLetta(
1029
- project="YOUR_PROJECT",
1030
- token="YOUR_TOKEN",
1031
- )
1032
-
1033
-
1034
- async def main() -> None:
1035
- await client.sources.retrieve_by_name(
1036
- source_name="source_name",
1037
- )
1038
-
1039
-
1040
- asyncio.run(main())
1041
- """
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)
1070
-
1071
- async def get_sources_metadata(
1072
- self,
1073
- *,
1074
- include_detailed_per_source_metadata: typing.Optional[bool] = None,
1075
- request_options: typing.Optional[RequestOptions] = None,
1076
- ) -> OrganizationSourcesStats:
1077
- """
1078
- Get aggregated metadata for all sources in an organization.
1079
-
1080
- Returns structured metadata including:
1081
- - Total number of sources
1082
- - Total number of files across all sources
1083
- - Total size of all files
1084
- - Per-source breakdown with file details (file_name, file_size per file) if include_detailed_per_source_metadata is True
1085
-
1086
- Parameters
1087
- ----------
1088
- include_detailed_per_source_metadata : typing.Optional[bool]
1089
-
1090
- request_options : typing.Optional[RequestOptions]
1091
- Request-specific configuration.
1092
-
1093
- Returns
1094
- -------
1095
- OrganizationSourcesStats
1096
- Successful Response
1097
-
1098
- Examples
1099
- --------
1100
- import asyncio
1101
-
1102
- from letta_client import AsyncLetta
1103
-
1104
- client = AsyncLetta(
1105
- project="YOUR_PROJECT",
1106
- token="YOUR_TOKEN",
1107
- )
1108
-
1109
-
1110
- async def main() -> None:
1111
- await client.sources.get_sources_metadata()
1112
-
1113
-
1114
- asyncio.run(main())
1115
- """
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,
1123
- )
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)
1147
-
1148
- async def list(self, *, request_options: typing.Optional[RequestOptions] = None) -> typing.List[Source]:
1149
- """
1150
- List all data sources created by a user.
1151
-
1152
- Parameters
1153
- ----------
1154
- request_options : typing.Optional[RequestOptions]
1155
- Request-specific configuration.
1156
-
1157
- Returns
1158
- -------
1159
- typing.List[Source]
1160
- Successful Response
1161
-
1162
- Examples
1163
- --------
1164
- import asyncio
1165
-
1166
- from letta_client import AsyncLetta
1167
-
1168
- client = AsyncLetta(
1169
- project="YOUR_PROJECT",
1170
- token="YOUR_TOKEN",
1171
- )
1172
-
1173
-
1174
- async def main() -> None:
1175
- await client.sources.list()
1176
-
1177
-
1178
- asyncio.run(main())
1179
- """
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)
1208
-
1209
- async def create(
1210
- self,
1211
- *,
1212
- name: str,
1213
- description: typing.Optional[str] = OMIT,
1214
- instructions: typing.Optional[str] = OMIT,
1215
- metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = OMIT,
1216
- embedding: typing.Optional[str] = OMIT,
1217
- embedding_chunk_size: typing.Optional[int] = OMIT,
1218
- embedding_config: typing.Optional[EmbeddingConfig] = OMIT,
1219
- request_options: typing.Optional[RequestOptions] = None,
1220
- ) -> Source:
1221
- """
1222
- Create a new data source.
1223
-
1224
- Parameters
1225
- ----------
1226
- name : str
1227
- The name of the source.
1228
-
1229
- description : typing.Optional[str]
1230
- The description of the source.
1231
-
1232
- instructions : typing.Optional[str]
1233
- Instructions for how to use the source.
1234
-
1235
- metadata : typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]]
1236
- Metadata associated with the source.
1237
-
1238
- embedding : typing.Optional[str]
1239
- The handle for the embedding config used by the source.
1240
-
1241
- embedding_chunk_size : typing.Optional[int]
1242
- The chunk size of the embedding.
1243
-
1244
- embedding_config : typing.Optional[EmbeddingConfig]
1245
- (Legacy) The embedding configuration used by the source.
1246
-
1247
- request_options : typing.Optional[RequestOptions]
1248
- Request-specific configuration.
1249
-
1250
- Returns
1251
- -------
1252
- Source
1253
- Successful Response
1254
-
1255
- Examples
1256
- --------
1257
- import asyncio
1258
-
1259
- from letta_client import AsyncLetta
1260
-
1261
- client = AsyncLetta(
1262
- project="YOUR_PROJECT",
1263
- token="YOUR_TOKEN",
1264
- )
1265
-
1266
-
1267
- async def main() -> None:
1268
- await client.sources.create(
1269
- name="name",
1270
- )
1271
-
1272
-
1273
- asyncio.run(main())
1274
- """
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
- },
1289
- request_options=request_options,
1290
- omit=OMIT,
1291
- )
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)
1315
-
1316
- async def get_agents_for_source(
1317
- self, source_id: str, *, request_options: typing.Optional[RequestOptions] = None
1318
- ) -> typing.List[str]:
1319
- """
1320
- Get all agent IDs that have the specified source attached.
1321
-
1322
- Parameters
1323
- ----------
1324
- source_id : str
1325
-
1326
- request_options : typing.Optional[RequestOptions]
1327
- Request-specific configuration.
1328
-
1329
- Returns
1330
- -------
1331
- typing.List[str]
1332
- Successful Response
1333
-
1334
- Examples
1335
- --------
1336
- import asyncio
1337
-
1338
- from letta_client import AsyncLetta
1339
-
1340
- client = AsyncLetta(
1341
- project="YOUR_PROJECT",
1342
- token="YOUR_TOKEN",
1343
- )
1344
-
1345
-
1346
- async def main() -> None:
1347
- await client.sources.get_agents_for_source(
1348
- source_id="source_id",
1349
- )
1350
-
1351
-
1352
- asyncio.run(main())
1353
- """
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)
1382
-
1383
- async def get_file_metadata(
1384
- self,
1385
- source_id: str,
1386
- file_id: str,
1387
- *,
1388
- include_content: typing.Optional[bool] = None,
1389
- request_options: typing.Optional[RequestOptions] = None,
1390
- ) -> FileMetadata:
1391
- """
1392
- Retrieve metadata for a specific file by its ID.
1393
-
1394
- Parameters
1395
- ----------
1396
- source_id : str
1397
-
1398
- file_id : str
1399
-
1400
- include_content : typing.Optional[bool]
1401
- Whether to include full file content
1402
-
1403
- request_options : typing.Optional[RequestOptions]
1404
- Request-specific configuration.
1405
-
1406
- Returns
1407
- -------
1408
- FileMetadata
1409
- Successful Response
1410
-
1411
- Examples
1412
- --------
1413
- import asyncio
1414
-
1415
- from letta_client import AsyncLetta
1416
-
1417
- client = AsyncLetta(
1418
- project="YOUR_PROJECT",
1419
- token="YOUR_TOKEN",
1420
- )
1421
-
1422
-
1423
- async def main() -> None:
1424
- await client.sources.get_file_metadata(
1425
- source_id="source_id",
1426
- file_id="file_id",
1427
- )
1428
-
1429
-
1430
- asyncio.run(main())
1431
- """
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,
1439
- )
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)