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
letta_client/client.py DELETED
@@ -1,661 +0,0 @@
1
- import inspect
2
- import typing
3
- from pydantic import BaseModel, Field, model_validator
4
- from textwrap import dedent
5
- from abc import abstractmethod
6
-
7
- from .base_client import AsyncLettaBase, LettaBase
8
- from .core.request_options import RequestOptions
9
- from .tools.client import ToolsClient as ToolsClientBase
10
- from .tools.client import AsyncToolsClient as AsyncToolsClientBase
11
- from .types.pip_requirement import PipRequirement
12
- from .types.tool import Tool
13
-
14
- # this is used as the default value for optional parameters
15
- OMIT = typing.cast(typing.Any, ...)
16
-
17
-
18
- class Letta(LettaBase):
19
-
20
- def __init__(self, *args, **kwargs):
21
- super().__init__(*args, **kwargs)
22
- self.tools = ToolsClient(client_wrapper=self._client_wrapper)
23
-
24
-
25
- class AsyncLetta(AsyncLettaBase):
26
-
27
- def __init__(self, *args, **kwargs):
28
- super().__init__(*args, **kwargs)
29
- self.tools = AsyncToolsClient(client_wrapper=self._client_wrapper)
30
-
31
-
32
- class BaseTool(Tool):
33
- name: str = Field(..., description="The name of the function.")
34
- args_schema: typing.Optional[typing.Type[BaseModel]] = Field(default=None, description="The schema for validating the tool's arguments.")
35
-
36
- @abstractmethod
37
- def run(self, *args, **kwargs) -> typing.Any:
38
- """
39
- Execute the tool with the provided arguments.
40
-
41
- Parameters
42
- ----------
43
- self
44
- The instance of the tool
45
- *args
46
- Positional arguments to pass to the tool.
47
- **kwargs
48
- Keyword arguments to pass to the tool.
49
-
50
- Returns
51
- -------
52
- typing.Any
53
- The result of executing the tool.
54
- """
55
- pass
56
-
57
-
58
- @model_validator(mode="after")
59
- def no_self_in_run_source(self) -> "BaseTool":
60
- """
61
- Validate that the provided implementation does not reference `self` in the
62
- `run` method implementation.
63
-
64
- This check is performed after the model is created, so `self` is guaranteed
65
- to be set.
66
-
67
- If `self` is found in the source code of the `run` method, a `ValueError` is
68
- raised with a message pointing to the line and value of the offending code.
69
- """
70
- source_code = self.get_source_code()
71
- if "self." in source_code:
72
- raise_on_line, line_value = None, None
73
- for i, line in enumerate(source_code.splitlines()):
74
- if "self." in line:
75
- raise_on_line, line_value = i+1, line
76
- break;
77
- raise ValueError(
78
- f"Detected reference to 'self' in line {raise_on_line} of implementation, " +
79
- f"which is not allowed:\n\n{line_value}\n\n" +
80
- f"Please pass in the arguments directly to run() instead.")
81
- return self
82
-
83
-
84
- def get_source_code(self) -> str:
85
- """
86
- Get the source code of the `run` method, which will be executed in an agent step.
87
-
88
- Returns
89
- -------
90
- str
91
- The source code of the tool.
92
- """
93
- source_code = dedent(inspect.getsource(self.run))
94
-
95
- # replace tool name
96
- source_code = source_code.replace("def run", f"def {self.name}")
97
-
98
- # remove self, handling several cases
99
- source_code_lines = source_code.splitlines()
100
- if "self" in source_code_lines[0]:
101
- # def run(self, ...): or def run (self,): or def run(self):
102
- source_code_lines[0] = source_code_lines[0].replace("self, ", "").replace("self,", "").replace("self", "")
103
- else:
104
- maybe_line_to_delete = None
105
- for i, line in enumerate(source_code_lines):
106
- if line.strip() == "self" or line.strip() == "self,":
107
- # def run(
108
- # self,
109
- # ...
110
- # ):
111
- maybe_line_to_delete = i
112
- break
113
- elif line.strip().startswith("self"):
114
- # def run(
115
- # self, ...
116
- # ):
117
- source_code_lines[i] = line.replace("self, ", "").replace("self,", "").replace("self", "")
118
- break
119
- if maybe_line_to_delete is not None:
120
- del source_code_lines[maybe_line_to_delete]
121
- if maybe_line_to_delete == 1 and source_code_lines[0].strip()[-1] == "(" and source_code_lines[1].strip()[0] == ")":
122
- # def run(
123
- # self
124
- # ):
125
- source_code_lines[0] = source_code_lines[0].strip() + source_code_lines[1].strip()
126
- del source_code_lines[1]
127
-
128
- source_code = "\n".join(source_code_lines)
129
- return source_code
130
-
131
-
132
- class ToolsClient(ToolsClientBase):
133
-
134
- def create_from_function(
135
- self,
136
- *,
137
- func: typing.Callable,
138
- args_schema: typing.Optional[typing.Type[BaseModel]] = OMIT,
139
- description: typing.Optional[str] = OMIT,
140
- tags: typing.Optional[typing.Sequence[str]] = OMIT,
141
- source_type: typing.Optional[str] = OMIT,
142
- json_schema: typing.Optional[
143
- typing.Dict[str, typing.Optional[typing.Any]]
144
- ] = OMIT,
145
- return_char_limit: typing.Optional[int] = OMIT,
146
- pip_requirements: typing.Optional[typing.Sequence[PipRequirement]] = OMIT,
147
- request_options: typing.Optional[RequestOptions] = None,
148
- ) -> Tool:
149
- """
150
- Create a new tool from a callable
151
-
152
- Parameters
153
- ----------
154
- func : typing.Callable
155
- The callable to create the tool from.
156
-
157
- args_schema : typing.Optional[typing.Type[BaseModel]]
158
- The arguments schema of the function, as a Pydantic model.
159
-
160
- description : typing.Optional[str]
161
- The description of the tool.
162
-
163
- tags : typing.Optional[typing.Sequence[str]]
164
- Metadata tags.
165
-
166
- source_type : typing.Optional[str]
167
- The source type of the function.
168
-
169
- json_schema : typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]]
170
- The JSON schema of the function (auto-generated from source_code if not provided)
171
-
172
- return_char_limit : typing.Optional[int]
173
- The maximum number of characters in the response.
174
-
175
- pip_requirements : typing.Optional[typing.Sequence[PipRequirement]]
176
- Optional list of pip packages required by this tool.
177
-
178
- request_options : typing.Optional[RequestOptions]
179
- Request-specific configuration.
180
-
181
- Returns
182
- -------
183
- Tool
184
- Successful Response
185
-
186
- Examples
187
- --------
188
- from letta_client import Letta
189
-
190
- client = Letta(
191
- token="YOUR_TOKEN",
192
- )
193
-
194
- def add_two_numbers(a: int, b: int) -> int:
195
- return a + b
196
-
197
- client.tools.create_from_function(
198
- func=add_two_numbers,
199
- )
200
-
201
- class InventoryEntryData(BaseModel):
202
- data: InventoryEntry
203
- quantity_change: int
204
-
205
- def manage_inventory(data: InventoryEntry, quantity_change: int) -> bool:
206
- pass
207
-
208
- client.tools.create_from_function(
209
- func=manage_inventory,
210
- args_schema=InventoryEntryData,
211
- )
212
- """
213
- source_code = dedent(inspect.getsource(func))
214
- args_json_schema = args_schema.model_json_schema() if args_schema and args_schema != OMIT else None
215
- return self.create(
216
- source_code=source_code,
217
- args_json_schema=args_json_schema,
218
- description=description,
219
- tags=tags,
220
- source_type=source_type,
221
- json_schema=json_schema,
222
- return_char_limit=return_char_limit,
223
- pip_requirements=pip_requirements,
224
- request_options=request_options,
225
- )
226
-
227
-
228
- def upsert_from_function(
229
- self,
230
- *,
231
- func: typing.Callable,
232
- args_schema: typing.Optional[typing.Type[BaseModel]] = OMIT,
233
- description: typing.Optional[str] = OMIT,
234
- tags: typing.Optional[typing.Sequence[str]] = OMIT,
235
- source_type: typing.Optional[str] = OMIT,
236
- json_schema: typing.Optional[
237
- typing.Dict[str, typing.Optional[typing.Any]]
238
- ] = OMIT,
239
- return_char_limit: typing.Optional[int] = OMIT,
240
- pip_requirements: typing.Optional[typing.Sequence[PipRequirement]] = OMIT,
241
- request_options: typing.Optional[RequestOptions] = None,
242
- ) -> Tool:
243
- """
244
- Create or update a tool from a callable
245
-
246
- Parameters
247
- ----------
248
- func : typing.Callable
249
- The callable to create or update the tool from.
250
-
251
- args_schema : typing.Optional[typing.Type[BaseModel]]
252
- The arguments schema of the function, as a Pydantic model.
253
-
254
- description : typing.Optional[str]
255
- The description of the tool.
256
-
257
- tags : typing.Optional[typing.Sequence[str]]
258
- Metadata tags.
259
-
260
- source_type : typing.Optional[str]
261
- The source type of the function.
262
-
263
- json_schema : typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]]
264
- The JSON schema of the function (auto-generated from source_code if not provided)
265
-
266
- return_char_limit : typing.Optional[int]
267
- The maximum number of characters in the response.
268
-
269
- pip_requirements : typing.Optional[typing.Sequence[PipRequirement]]
270
- Optional list of pip packages required by this tool.
271
-
272
- request_options : typing.Optional[RequestOptions]
273
- Request-specific configuration.
274
-
275
- Returns
276
- -------
277
- Tool
278
- Successful Response
279
-
280
- Examples
281
- --------
282
- from letta_client import Letta
283
-
284
- client = Letta(
285
- token="YOUR_TOKEN",
286
- )
287
-
288
- def add_two_numbers(a: int, b: int) -> int:
289
- return a + b
290
-
291
- client.tools.upsert_from_function(
292
- func=add_two_numbers,
293
- )
294
-
295
- class InventoryEntryData(BaseModel):
296
- data: InventoryEntry
297
- quantity_change: int
298
-
299
- def manage_inventory(data: InventoryEntry, quantity_change: int) -> bool:
300
- pass
301
-
302
- client.tools.upsert_from_function(
303
- func=manage_inventory,
304
- args_schema=InventoryEntryData,
305
- )
306
- """
307
- source_code = dedent(inspect.getsource(func))
308
- args_json_schema = args_schema.model_json_schema() if args_schema and args_schema != OMIT else None
309
- return self.upsert(
310
- source_code=source_code,
311
- args_json_schema=args_json_schema,
312
- description=description,
313
- tags=tags,
314
- source_type=source_type,
315
- json_schema=json_schema,
316
- return_char_limit=return_char_limit,
317
- pip_requirements=pip_requirements,
318
- request_options=request_options,
319
- )
320
-
321
- def add(
322
- self,
323
- *,
324
- tool: BaseTool,
325
- request_options: typing.Optional[RequestOptions] = None,
326
- ) -> Tool:
327
- """
328
- Add a tool to Letta from a custom Tool class
329
-
330
- Parameters
331
- ----------
332
- tool : BaseTool
333
- The tool object to be added.
334
-
335
- request_options : typing.Optional[RequestOptions]
336
- Request-specific configuration.
337
-
338
- Returns
339
- -------
340
- Tool
341
- Successful Response
342
-
343
- Examples
344
- --------
345
- from letta_client import Letta
346
-
347
- client = Letta(
348
- token="YOUR_TOKEN",
349
- )
350
-
351
- class InventoryItem(BaseModel):
352
- sku: str # Unique product identifier
353
- name: str # Product name
354
- price: float # Current price
355
- category: str # Product category (e.g., "Electronics", "Clothing")
356
-
357
- class InventoryEntry(BaseModel):
358
- timestamp: int # Unix timestamp of the transaction
359
- item: InventoryItem # The product being updated
360
- transaction_id: str # Unique identifier for this inventory update
361
-
362
- class InventoryEntryData(BaseModel):
363
- data: InventoryEntry
364
- quantity_change: int # Change in quantity (positive for additions, negative for removals)
365
-
366
- class ManageInventoryTool(BaseTool):
367
- name: str = "manage_inventory"
368
- args_schema: Type[BaseModel] = InventoryEntryData
369
- description: str = "Update inventory catalogue with a new data entry"
370
- tags: List[str] = ["inventory", "shop"]
371
-
372
- def run(self, data: InventoryEntry, quantity_change: int) -> bool:
373
- '''
374
- Implementation of the manage_inventory tool
375
- '''
376
- print(f"Updated inventory for {data.item.name} with a quantity change of {quantity_change}")
377
- return True
378
-
379
- client.tools.add(
380
- tool=ManageInventoryTool()
381
- )
382
- """
383
- source_code = tool.get_source_code()
384
- args_json_schema = tool.args_schema.model_json_schema() if tool.args_schema else None
385
- return self.upsert(
386
- source_code=source_code,
387
- args_json_schema=args_json_schema or OMIT,
388
- description=tool.description or OMIT,
389
- tags=tool.tags or OMIT,
390
- source_type=tool.source_type or OMIT,
391
- json_schema=tool.json_schema or OMIT,
392
- return_char_limit=tool.return_char_limit or OMIT,
393
- pip_requirements=tool.pip_requirements or OMIT,
394
- request_options=request_options,
395
- )
396
-
397
-
398
- class AsyncToolsClient(AsyncToolsClientBase):
399
-
400
- async def create_from_function(
401
- self,
402
- *,
403
- func: typing.Callable,
404
- args_schema: typing.Optional[typing.Type[BaseModel]] = OMIT,
405
- description: typing.Optional[str] = OMIT,
406
- tags: typing.Optional[typing.Sequence[str]] = OMIT,
407
- source_type: typing.Optional[str] = OMIT,
408
- json_schema: typing.Optional[
409
- typing.Dict[str, typing.Optional[typing.Any]]
410
- ] = OMIT,
411
- return_char_limit: typing.Optional[int] = OMIT,
412
- pip_requirements: typing.Optional[typing.Sequence[PipRequirement]] = OMIT,
413
- request_options: typing.Optional[RequestOptions] = None,
414
- ) -> Tool:
415
- """
416
- Create a new tool from a callable
417
-
418
- Parameters
419
- ----------
420
- func : typing.Callable
421
- The callable to create the tool from.
422
-
423
- args_schema : typing.Optional[typing.Type[BaseModel]]
424
- The arguments schema of the function, as a Pydantic model.
425
-
426
- description : typing.Optional[str]
427
- The description of the tool.
428
-
429
- tags : typing.Optional[typing.Sequence[str]]
430
- Metadata tags.
431
-
432
- source_type : typing.Optional[str]
433
- The source type of the function.
434
-
435
- json_schema : typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]]
436
- The JSON schema of the function (auto-generated from source_code if not provided)
437
-
438
- return_char_limit : typing.Optional[int]
439
- The maximum number of characters in the response.
440
-
441
- pip_requirements : typing.Optional[typing.Sequence[PipRequirement]]
442
- Optional list of pip packages required by this tool.
443
-
444
- request_options : typing.Optional[RequestOptions]
445
- Request-specific configuration.
446
-
447
- Returns
448
- -------
449
- Tool
450
- Successful Response
451
-
452
- Examples
453
- --------
454
- from letta_client import Letta
455
-
456
- client = Letta(
457
- token="YOUR_TOKEN",
458
- )
459
-
460
- def add_two_numbers(a: int, b: int) -> int:
461
- return a + b
462
-
463
- await client.tools.create_from_function(
464
- func=add_two_numbers,
465
- )
466
-
467
- class InventoryEntryData(BaseModel):
468
- data: InventoryEntry
469
- quantity_change: int
470
-
471
- def manage_inventory(data: InventoryEntry, quantity_change: int) -> bool:
472
- pass
473
-
474
- await client.tools.create_from_function(
475
- func=manage_inventory,
476
- args_schema=InventoryEntryData,
477
- )
478
- """
479
- source_code = dedent(inspect.getsource(func))
480
- args_json_schema = args_schema.model_json_schema() if args_schema and args_schema != OMIT else None
481
- return await self.create(
482
- source_code=source_code,
483
- args_json_schema=args_json_schema,
484
- description=description,
485
- tags=tags,
486
- source_type=source_type,
487
- json_schema=json_schema,
488
- return_char_limit=return_char_limit,
489
- pip_requirements=pip_requirements,
490
- request_options=request_options,
491
- )
492
-
493
-
494
- async def upsert_from_function(
495
- self,
496
- *,
497
- func: typing.Callable,
498
- args_schema: typing.Optional[typing.Type[BaseModel]] = OMIT,
499
- description: typing.Optional[str] = OMIT,
500
- tags: typing.Optional[typing.Sequence[str]] = OMIT,
501
- source_type: typing.Optional[str] = OMIT,
502
- json_schema: typing.Optional[
503
- typing.Dict[str, typing.Optional[typing.Any]]
504
- ] = OMIT,
505
- return_char_limit: typing.Optional[int] = OMIT,
506
- pip_requirements: typing.Optional[typing.Sequence[PipRequirement]] = OMIT,
507
- request_options: typing.Optional[RequestOptions] = None,
508
- ) -> Tool:
509
- """
510
- Create or update a tool from a callable
511
-
512
- Parameters
513
- ----------
514
- func : typing.Callable
515
- The callable to create or update the tool from.
516
-
517
- args_schema : typing.Optional[typing.Type[BaseModel]]
518
- The arguments schema of the function, as a Pydantic model.
519
-
520
- description : typing.Optional[str]
521
- The description of the tool.
522
-
523
- tags : typing.Optional[typing.Sequence[str]]
524
- Metadata tags.
525
-
526
- source_type : typing.Optional[str]
527
- The source type of the function.
528
-
529
- json_schema : typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]]
530
- The JSON schema of the function (auto-generated from source_code if not provided)
531
-
532
- return_char_limit : typing.Optional[int]
533
- The maximum number of characters in the response.
534
-
535
- pip_requirements : typing.Optional[typing.Sequence[PipRequirement]]
536
- Optional list of pip packages required by this tool.
537
-
538
- request_options : typing.Optional[RequestOptions]
539
- Request-specific configuration.
540
-
541
- Returns
542
- -------
543
- Tool
544
- Successful Response
545
-
546
- Examples
547
- --------
548
- from letta_client import Letta
549
-
550
- client = Letta(
551
- token="YOUR_TOKEN",
552
- )
553
-
554
- def add_two_numbers(a: int, b: int) -> int:
555
- return a + b
556
-
557
- await client.tools.upsert_from_function(
558
- func=add_two_numbers,
559
- )
560
-
561
- class InventoryEntryData(BaseModel):
562
- data: InventoryEntry
563
- quantity_change: int
564
-
565
- def manage_inventory(data: InventoryEntry, quantity_change: int) -> bool:
566
- pass
567
-
568
- await client.tools.upsert_from_function(
569
- func=manage_inventory,
570
- args_schema=InventoryEntryData,
571
- )
572
- """
573
- source_code = dedent(inspect.getsource(func))
574
- args_json_schema = args_schema.model_json_schema() if args_schema and args_schema != OMIT else None
575
- return await self.upsert(
576
- source_code=source_code,
577
- args_json_schema=args_json_schema,
578
- description=description,
579
- tags=tags,
580
- source_type=source_type,
581
- json_schema=json_schema,
582
- return_char_limit=return_char_limit,
583
- pip_requirements=pip_requirements,
584
- request_options=request_options,
585
- )
586
-
587
- async def add(
588
- self,
589
- *,
590
- tool: BaseTool,
591
- request_options: typing.Optional[RequestOptions] = None,
592
- ) -> Tool:
593
- """
594
- Add a tool to Letta from a custom Tool class
595
-
596
- Parameters
597
- ----------
598
- tool : BaseTool
599
- The tool object to be added.
600
-
601
- request_options : typing.Optional[RequestOptions]
602
- Request-specific configuration.
603
-
604
- Returns
605
- -------
606
- Tool
607
- Successful Response
608
-
609
- Examples
610
- --------
611
- from letta_client import Letta
612
-
613
- client = Letta(
614
- token="YOUR_TOKEN",
615
- )
616
-
617
- class InventoryItem(BaseModel):
618
- sku: str # Unique product identifier
619
- name: str # Product name
620
- price: float # Current price
621
- category: str # Product category (e.g., "Electronics", "Clothing")
622
-
623
- class InventoryEntry(BaseModel):
624
- timestamp: int # Unix timestamp of the transaction
625
- item: InventoryItem # The product being updated
626
- transaction_id: str # Unique identifier for this inventory update
627
-
628
- class InventoryEntryData(BaseModel):
629
- data: InventoryEntry
630
- quantity_change: int # Change in quantity (positive for additions, negative for removals)
631
-
632
- class ManageInventoryTool(BaseTool):
633
- name: str = "manage_inventory"
634
- args_schema: Type[BaseModel] = InventoryEntryData
635
- description: str = "Update inventory catalogue with a new data entry"
636
- tags: List[str] = ["inventory", "shop"]
637
-
638
- def run(self, data: InventoryEntry, quantity_change: int) -> bool:
639
- '''
640
- Implementation of the manage_inventory tool
641
- '''
642
- print(f"Updated inventory for {data.item.name} with a quantity change of {quantity_change}")
643
- return True
644
-
645
- await client.tools.add(
646
- tool=ManageInventoryTool()
647
- )
648
- """
649
- source_code = tool.get_source_code()
650
- args_json_schema = tool.args_schema.model_json_schema() if tool.args_schema else None
651
- return await self.upsert(
652
- source_code=source_code,
653
- args_json_schema=args_json_schema or OMIT,
654
- description=tool.description or OMIT,
655
- tags=tool.tags or OMIT,
656
- source_type=tool.source_type or OMIT,
657
- json_schema=tool.json_schema or OMIT,
658
- return_char_limit=tool.return_char_limit or OMIT,
659
- pip_requirements=tool.pip_requirements or OMIT,
660
- request_options=request_options,
661
- )
@@ -1,29 +0,0 @@
1
- # This file was auto-generated by Fern from our API Definition.
2
-
3
- from .types import (
4
- ClientSideAccessTokensCreateRequestPolicyItem,
5
- ClientSideAccessTokensCreateRequestPolicyItemAccessItem,
6
- ClientSideAccessTokensCreateResponse,
7
- ClientSideAccessTokensCreateResponsePolicy,
8
- ClientSideAccessTokensCreateResponsePolicyDataItem,
9
- ClientSideAccessTokensCreateResponsePolicyDataItemAccessItem,
10
- ClientSideAccessTokensListClientSideAccessTokensResponse,
11
- ClientSideAccessTokensListClientSideAccessTokensResponseTokensItem,
12
- ClientSideAccessTokensListClientSideAccessTokensResponseTokensItemPolicy,
13
- ClientSideAccessTokensListClientSideAccessTokensResponseTokensItemPolicyDataItem,
14
- ClientSideAccessTokensListClientSideAccessTokensResponseTokensItemPolicyDataItemAccessItem,
15
- )
16
-
17
- __all__ = [
18
- "ClientSideAccessTokensCreateRequestPolicyItem",
19
- "ClientSideAccessTokensCreateRequestPolicyItemAccessItem",
20
- "ClientSideAccessTokensCreateResponse",
21
- "ClientSideAccessTokensCreateResponsePolicy",
22
- "ClientSideAccessTokensCreateResponsePolicyDataItem",
23
- "ClientSideAccessTokensCreateResponsePolicyDataItemAccessItem",
24
- "ClientSideAccessTokensListClientSideAccessTokensResponse",
25
- "ClientSideAccessTokensListClientSideAccessTokensResponseTokensItem",
26
- "ClientSideAccessTokensListClientSideAccessTokensResponseTokensItemPolicy",
27
- "ClientSideAccessTokensListClientSideAccessTokensResponseTokensItemPolicyDataItem",
28
- "ClientSideAccessTokensListClientSideAccessTokensResponseTokensItemPolicyDataItemAccessItem",
29
- ]