letta-client 1.0.0a6__py3-none-any.whl → 1.0.0a8__py3-none-any.whl

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

Potentially problematic release.


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

Files changed (467) hide show
  1. {letta_sdk → letta_client}/__init__.py +8 -8
  2. {letta_sdk → letta_client}/_base_client.py +1 -1
  3. {letta_sdk → letta_client}/_client.py +124 -171
  4. {letta_sdk → letta_client}/_exceptions.py +2 -2
  5. {letta_sdk → letta_client}/_resource.py +5 -5
  6. {letta_sdk → letta_client}/_response.py +8 -6
  7. {letta_sdk → letta_client}/_streaming.py +3 -3
  8. {letta_sdk → letta_client}/_types.py +1 -1
  9. {letta_sdk → letta_client}/_utils/_logs.py +3 -3
  10. {letta_sdk → letta_client}/_utils/_resources_proxy.py +4 -4
  11. {letta_sdk → letta_client}/_version.py +2 -2
  12. letta_client/pagination.py +107 -0
  13. {letta_sdk → letta_client}/resources/__init__.py +14 -154
  14. {letta_sdk → letta_client}/resources/agents/__init__.py +28 -42
  15. {letta_sdk → letta_client}/resources/agents/agents.py +228 -744
  16. {letta_sdk/resources/agents/core_memory → letta_client/resources/agents}/blocks.py +112 -19
  17. {letta_sdk → letta_client}/resources/agents/files.py +71 -8
  18. {letta_sdk → letta_client}/resources/agents/folders.py +101 -11
  19. letta_client/resources/agents/groups.py +245 -0
  20. {letta_sdk → letta_client}/resources/agents/messages.py +265 -490
  21. {letta_sdk → letta_client}/resources/agents/tools.py +147 -31
  22. letta_sdk/resources/jobs.py → letta_client/resources/archives.py +268 -280
  23. {letta_sdk/resources/messages → letta_client/resources/batches}/batches.py +46 -161
  24. letta_client/resources/batches/messages.py +238 -0
  25. {letta_sdk/resources/agents/core_memory → letta_client/resources/blocks}/__init__.py +14 -14
  26. letta_client/resources/blocks/agents.py +287 -0
  27. {letta_sdk/resources → letta_client/resources/blocks}/blocks.py +64 -175
  28. letta_client/resources/folders/__init__.py +47 -0
  29. letta_client/resources/folders/agents.py +237 -0
  30. letta_client/resources/folders/files.py +472 -0
  31. letta_sdk/resources/providers.py → letta_client/resources/folders/folders.py +298 -313
  32. {letta_sdk → letta_client}/resources/groups/groups.py +24 -88
  33. {letta_sdk → letta_client}/resources/groups/messages.py +178 -37
  34. letta_client/resources/identities/__init__.py +61 -0
  35. letta_client/resources/identities/agents.py +269 -0
  36. letta_client/resources/identities/blocks.py +237 -0
  37. {letta_sdk/resources → letta_client/resources/identities}/identities.py +277 -533
  38. letta_client/resources/identities/properties.py +174 -0
  39. letta_client/resources/models/__init__.py +33 -0
  40. {letta_sdk/resources → letta_client/resources/models}/embeddings.py +26 -49
  41. {letta_sdk/resources → letta_client/resources/models}/models.py +42 -117
  42. letta_client/resources/runs/__init__.py +61 -0
  43. letta_sdk/resources/archives.py → letta_client/resources/runs/messages.py +189 -157
  44. letta_client/resources/runs/runs.py +462 -0
  45. letta_client/resources/runs/steps.py +229 -0
  46. letta_sdk/resources/voice_beta/chat.py → letta_client/resources/runs/usage.py +50 -57
  47. letta_client/resources/steps/__init__.py +75 -0
  48. letta_client/resources/steps/feedback.py +198 -0
  49. letta_client/resources/steps/messages.py +237 -0
  50. letta_client/resources/steps/metrics.py +167 -0
  51. letta_client/resources/steps/steps.py +513 -0
  52. letta_sdk/resources/telemetry.py → letta_client/resources/steps/trace.py +45 -56
  53. {letta_sdk → letta_client}/resources/tags.py +13 -10
  54. letta_client/resources/templates/__init__.py +33 -0
  55. letta_client/resources/templates/agents.py +236 -0
  56. letta_client/resources/templates/templates.py +102 -0
  57. {letta_sdk/resources/tools → letta_client/resources}/tools.py +249 -433
  58. letta_client/types/__init__.py +111 -0
  59. {letta_sdk → letta_client}/types/agent_create_params.py +5 -2
  60. {letta_sdk → letta_client}/types/agent_environment_variable.py +3 -0
  61. letta_client/types/agent_export_file_params.py +18 -0
  62. letta_sdk/types/agent_export_response.py → letta_client/types/agent_export_file_response.py +2 -2
  63. letta_sdk/types/agent_import_params.py → letta_client/types/agent_import_file_params.py +5 -2
  64. letta_sdk/types/agent_import_response.py → letta_client/types/agent_import_file_response.py +2 -2
  65. {letta_sdk → letta_client}/types/agent_list_params.py +19 -2
  66. {letta_sdk → letta_client}/types/agent_retrieve_params.py +20 -3
  67. {letta_sdk → letta_client}/types/agent_state.py +131 -3
  68. {letta_sdk → letta_client}/types/agent_type.py +1 -0
  69. {letta_sdk → letta_client}/types/agent_update_params.py +12 -0
  70. {letta_sdk → letta_client}/types/agents/__init__.py +10 -21
  71. letta_client/types/agents/approval_create_param.py +44 -0
  72. {letta_sdk → letta_client}/types/agents/approval_request_message.py +10 -2
  73. letta_client/types/agents/approval_response_message.py +63 -0
  74. {letta_sdk/types/agents/core_memory → letta_client/types/agents}/block.py +1 -1
  75. letta_sdk/types/identity_list_blocks_params.py → letta_client/types/agents/block_list_params.py +2 -2
  76. {letta_sdk/types/agents/core_memory → letta_client/types/agents}/block_update_params.py +1 -0
  77. letta_client/types/agents/file_list_params.py +40 -0
  78. letta_client/types/agents/folder_list_params.py +34 -0
  79. letta_sdk/types/source.py → letta_client/types/agents/folder_list_response.py +5 -5
  80. letta_client/types/agents/group_list_params.py +37 -0
  81. {letta_sdk → letta_client}/types/agents/letta_assistant_message_content_union.py +3 -0
  82. {letta_sdk → letta_client}/types/agents/letta_assistant_message_content_union_param.py +4 -0
  83. {letta_sdk → letta_client}/types/agents/letta_response.py +0 -4
  84. {letta_sdk → letta_client}/types/agents/message.py +93 -2
  85. {letta_sdk → letta_client}/types/agents/message_list_params.py +20 -5
  86. letta_sdk/types/agent_reset_messages_params.py → letta_client/types/agents/message_reset_params.py +2 -2
  87. {letta_sdk → letta_client}/types/agents/message_send_async_params.py +12 -3
  88. {letta_sdk → letta_client}/types/agents/message_send_params.py +12 -3
  89. letta_sdk/types/agents/message_send_stream_params.py → letta_client/types/agents/message_stream_params.py +14 -5
  90. {letta_sdk → letta_client}/types/agents/message_update_params.py +4 -0
  91. {letta_sdk → letta_client}/types/agents/omitted_reasoning_content.py +3 -0
  92. {letta_sdk → letta_client}/types/agents/omitted_reasoning_content_param.py +4 -0
  93. {letta_sdk → letta_client}/types/agents/run.py +16 -19
  94. {letta_sdk → letta_client}/types/agents/text_content.py +3 -0
  95. {letta_sdk → letta_client}/types/agents/text_content_param.py +4 -0
  96. {letta_sdk → letta_client}/types/agents/tool_call_content.py +3 -0
  97. {letta_sdk → letta_client}/types/agents/tool_call_content_param.py +4 -1
  98. {letta_sdk → letta_client}/types/agents/tool_call_message.py +6 -2
  99. letta_client/types/agents/tool_list_params.py +34 -0
  100. {letta_sdk → letta_client}/types/agents/tool_return.py +7 -3
  101. letta_client/types/agents/tool_return_param.py +25 -0
  102. letta_client/types/agents/tool_update_approval_params.py +21 -0
  103. {letta_sdk → letta_client}/types/archive.py +4 -0
  104. letta_client/types/archive_create_params.py +19 -0
  105. letta_sdk/types/archive_retrieve_params.py → letta_client/types/archive_list_params.py +2 -2
  106. letta_sdk/types/archive_retrieve_response.py → letta_client/types/archive_list_response.py +2 -2
  107. {letta_sdk → letta_client}/types/archive_update_params.py +3 -3
  108. {letta_sdk/types/messages → letta_client/types}/batch_create_params.py +15 -6
  109. letta_sdk/types/job.py → letta_client/types/batch_job.py +8 -3
  110. letta_client/types/batches/__init__.py +6 -0
  111. letta_sdk/types/messages/batch_list_messages_params.py → letta_client/types/batches/message_list_params.py +2 -2
  112. letta_sdk/types/messages/batch_list_messages_response.py → letta_client/types/batches/message_list_response.py +2 -2
  113. {letta_sdk/types/tools → letta_client/types/blocks}/__init__.py +2 -0
  114. letta_sdk/types/block_list_agents_params.py → letta_client/types/blocks/agent_list_params.py +22 -5
  115. letta_client/types/child_tool_rule.py +40 -0
  116. letta_client/types/child_tool_rule_param.py +42 -0
  117. letta_client/types/folders/__init__.py +10 -0
  118. letta_sdk/types/folder_list_agents_params.py → letta_client/types/folders/agent_list_params.py +2 -2
  119. letta_client/types/folders/agent_list_response.py +7 -0
  120. letta_sdk/types/folder_list_files_params.py → letta_client/types/folders/file_list_params.py +2 -2
  121. letta_sdk/types/file_metadata.py → letta_client/types/folders/file_list_response.py +5 -5
  122. letta_sdk/types/source_upload_file_params.py → letta_client/types/folders/file_upload_params.py +5 -6
  123. letta_client/types/folders/file_upload_response.py +65 -0
  124. {letta_sdk → letta_client}/types/groups/__init__.py +1 -2
  125. {letta_sdk → letta_client}/types/groups/message_send_params.py +12 -3
  126. letta_sdk/types/groups/message_send_stream_params.py → letta_client/types/groups/message_stream_params.py +14 -5
  127. {letta_sdk → letta_client}/types/groups/message_update_params.py +4 -0
  128. letta_sdk/types/health_check_response.py → letta_client/types/health_response.py +2 -2
  129. letta_client/types/identities/__init__.py +7 -0
  130. letta_sdk/types/identity_list_agents_params.py → letta_client/types/identities/agent_list_params.py +19 -3
  131. letta_client/types/identities/block_list_params.py +34 -0
  132. letta_sdk/types/identity_upsert_properties_params.py → letta_client/types/identities/property_upsert_params.py +3 -3
  133. letta_sdk/types/identity_modify_params.py → letta_client/types/identity_update_params.py +2 -2
  134. {letta_sdk → letta_client}/types/init_tool_rule.py +10 -1
  135. {letta_sdk → letta_client}/types/init_tool_rule_param.py +10 -1
  136. {letta_sdk → letta_client}/types/llm_config.py +6 -0
  137. {letta_sdk → letta_client}/types/llm_config_param.py +6 -0
  138. {letta_sdk/types/voice_beta → letta_client/types/models}/__init__.py +1 -1
  139. letta_sdk/types/agents/archival_memory_create_response.py → letta_client/types/models/embedding_list_response.py +3 -3
  140. {letta_sdk → letta_client}/types/run_list_params.py +29 -5
  141. letta_client/types/runs/__init__.py +8 -0
  142. letta_sdk/types/run_list_messages_params.py → letta_client/types/runs/message_list_params.py +5 -2
  143. letta_sdk/types/run_retrieve_stream_params.py → letta_client/types/runs/message_stream_params.py +2 -2
  144. letta_sdk/types/run_list_steps_params.py → letta_client/types/runs/step_list_params.py +9 -6
  145. letta_sdk/types/run_retrieve_usage_response.py → letta_client/types/runs/usage_retrieve_response.py +3 -3
  146. {letta_sdk → letta_client}/types/step.py +6 -6
  147. letta_client/types/steps/__init__.py +8 -0
  148. letta_sdk/types/step_update_feedback_params.py → letta_client/types/steps/feedback_create_params.py +3 -3
  149. letta_sdk/types/step_list_messages_params.py → letta_client/types/steps/message_list_params.py +2 -2
  150. letta_client/types/steps/message_list_response.py +32 -0
  151. letta_sdk/types/step_retrieve_metrics_response.py → letta_client/types/steps/metric_retrieve_response.py +6 -6
  152. {letta_sdk → letta_client}/types/tag_list_response.py +1 -2
  153. letta_client/types/templates/__init__.py +5 -0
  154. letta_sdk/types/template_create_agents_params.py → letta_client/types/templates/agent_create_params.py +4 -4
  155. {letta_sdk → letta_client}/types/tool.py +6 -0
  156. {letta_sdk → letta_client}/types/tool_create_params.py +6 -0
  157. {letta_sdk → letta_client}/types/tool_return_message.py +3 -0
  158. letta_sdk/types/tool_modify_params.py → letta_client/types/tool_update_params.py +8 -2
  159. letta_sdk/types/tool_list_response.py → letta_client/types/tool_upsert_base_tools_response.py +2 -2
  160. {letta_sdk → letta_client}/types/tool_upsert_params.py +6 -0
  161. {letta_client-1.0.0a6.dist-info → letta_client-1.0.0a8.dist-info}/METADATA +110 -70
  162. letta_client-1.0.0a8.dist-info/RECORD +289 -0
  163. {letta_client-1.0.0a6.dist-info → letta_client-1.0.0a8.dist-info}/licenses/LICENSE +1 -1
  164. letta_client-1.0.0a6.dist-info/RECORD +0 -420
  165. letta_sdk/resources/_internal_templates/__init__.py +0 -33
  166. letta_sdk/resources/_internal_templates/_internal_templates.py +0 -961
  167. letta_sdk/resources/_internal_templates/deployment.py +0 -268
  168. letta_sdk/resources/agents/archival_memory.py +0 -581
  169. letta_sdk/resources/agents/core_memory/core_memory.py +0 -278
  170. letta_sdk/resources/agents/sources.py +0 -332
  171. letta_sdk/resources/client_side_access_tokens.py +0 -402
  172. letta_sdk/resources/folders.py +0 -1562
  173. letta_sdk/resources/health.py +0 -135
  174. letta_sdk/resources/messages/messages.py +0 -102
  175. letta_sdk/resources/projects.py +0 -189
  176. letta_sdk/resources/runs.py +0 -1016
  177. letta_sdk/resources/sources/__init__.py +0 -33
  178. letta_sdk/resources/sources/files.py +0 -341
  179. letta_sdk/resources/sources/sources.py +0 -1371
  180. letta_sdk/resources/steps.py +0 -784
  181. letta_sdk/resources/templates.py +0 -1310
  182. letta_sdk/resources/tools/__init__.py +0 -47
  183. letta_sdk/resources/tools/composio/__init__.py +0 -33
  184. letta_sdk/resources/tools/composio/apps.py +0 -214
  185. letta_sdk/resources/tools/composio/composio.py +0 -201
  186. letta_sdk/resources/tools/mcp/__init__.py +0 -47
  187. letta_sdk/resources/tools/mcp/mcp.py +0 -134
  188. letta_sdk/resources/tools/mcp/oauth.py +0 -214
  189. letta_sdk/resources/tools/mcp/servers/__init__.py +0 -33
  190. letta_sdk/resources/tools/mcp/servers/servers.py +0 -1785
  191. letta_sdk/resources/tools/mcp/servers/tools.py +0 -263
  192. letta_sdk/resources/voice_beta/__init__.py +0 -33
  193. letta_sdk/resources/voice_beta/voice_beta.py +0 -102
  194. letta_sdk/types/__init__.py +0 -226
  195. letta_sdk/types/_internal_templates/__init__.py +0 -7
  196. letta_sdk/types/_internal_templates/deployment_delete_response.py +0 -17
  197. letta_sdk/types/_internal_templates/deployment_list_entities_params.py +0 -15
  198. letta_sdk/types/_internal_templates/deployment_list_entities_response.py +0 -31
  199. letta_sdk/types/agent_export_params.py +0 -17
  200. letta_sdk/types/agent_list_groups_params.py +0 -13
  201. letta_sdk/types/agent_list_groups_response.py +0 -10
  202. letta_sdk/types/agent_list_response.py +0 -10
  203. letta_sdk/types/agent_migrate_params.py +0 -19
  204. letta_sdk/types/agent_migrate_response.py +0 -11
  205. letta_sdk/types/agent_retrieve_context_response.py +0 -110
  206. letta_sdk/types/agent_search_params.py +0 -78
  207. letta_sdk/types/agent_search_response.py +0 -16
  208. letta_sdk/types/agent_summarize_params.py +0 -12
  209. letta_sdk/types/agents/approval_create_param.py +0 -22
  210. letta_sdk/types/agents/approval_response_message.py +0 -41
  211. letta_sdk/types/agents/archival_memory_create_params.py +0 -23
  212. letta_sdk/types/agents/archival_memory_list_params.py +0 -28
  213. letta_sdk/types/agents/archival_memory_list_response.py +0 -10
  214. letta_sdk/types/agents/archival_memory_search_params.py +0 -35
  215. letta_sdk/types/agents/archival_memory_search_response.py +0 -26
  216. letta_sdk/types/agents/core_memory/__init__.py +0 -7
  217. letta_sdk/types/agents/core_memory/block_list_response.py +0 -10
  218. letta_sdk/types/agents/core_memory_retrieve_variables_response.py +0 -11
  219. letta_sdk/types/agents/file_list_params.py +0 -19
  220. letta_sdk/types/agents/folder_list_response.py +0 -10
  221. letta_sdk/types/agents/letta_request_param.py +0 -45
  222. letta_sdk/types/agents/letta_streaming_request_param.py +0 -60
  223. letta_sdk/types/agents/memory.py +0 -92
  224. letta_sdk/types/agents/message_list_response.py +0 -10
  225. letta_sdk/types/agents/message_preview_raw_payload_params.py +0 -103
  226. letta_sdk/types/agents/message_preview_raw_payload_response.py +0 -8
  227. letta_sdk/types/agents/message_search_params.py +0 -38
  228. letta_sdk/types/agents/message_search_response.py +0 -29
  229. letta_sdk/types/agents/source_list_response.py +0 -10
  230. letta_sdk/types/agents/tool_list_response.py +0 -10
  231. letta_sdk/types/agents/tool_modify_approval_params.py +0 -13
  232. letta_sdk/types/block_list_agents_response.py +0 -10
  233. letta_sdk/types/block_list_response.py +0 -10
  234. letta_sdk/types/child_tool_rule.py +0 -21
  235. letta_sdk/types/child_tool_rule_param.py +0 -23
  236. letta_sdk/types/client_side_access_token_create_params.py +0 -32
  237. letta_sdk/types/client_side_access_token_create_response.py +0 -34
  238. letta_sdk/types/client_side_access_token_delete_params.py +0 -11
  239. letta_sdk/types/client_side_access_token_list_params.py +0 -23
  240. letta_sdk/types/client_side_access_token_list_response.py +0 -40
  241. letta_sdk/types/duplicate_file_handling.py +0 -7
  242. letta_sdk/types/embedding_get_total_storage_size_response.py +0 -7
  243. letta_sdk/types/file_processing_status.py +0 -7
  244. letta_sdk/types/folder_get_by_name_response.py +0 -7
  245. letta_sdk/types/folder_list_agents_response.py +0 -8
  246. letta_sdk/types/folder_list_files_response.py +0 -10
  247. letta_sdk/types/folder_list_passages_params.py +0 -34
  248. letta_sdk/types/folder_list_passages_response.py +0 -10
  249. letta_sdk/types/folder_list_response.py +0 -10
  250. letta_sdk/types/folder_retrieve_metadata_params.py +0 -11
  251. letta_sdk/types/folder_upload_file_params.py +0 -21
  252. letta_sdk/types/group_list_response.py +0 -10
  253. letta_sdk/types/groups/message_list_response.py +0 -10
  254. letta_sdk/types/identity_list_agents_response.py +0 -10
  255. letta_sdk/types/identity_list_blocks_response.py +0 -10
  256. letta_sdk/types/identity_list_response.py +0 -10
  257. letta_sdk/types/internal_template_create_agent_params.py +0 -217
  258. letta_sdk/types/internal_template_create_block_params.py +0 -54
  259. letta_sdk/types/internal_template_create_group_params.py +0 -49
  260. letta_sdk/types/job_list_active_params.py +0 -28
  261. letta_sdk/types/job_list_active_response.py +0 -10
  262. letta_sdk/types/job_list_params.py +0 -31
  263. letta_sdk/types/job_list_response.py +0 -10
  264. letta_sdk/types/messages/__init__.py +0 -10
  265. letta_sdk/types/messages/batch_job.py +0 -60
  266. letta_sdk/types/messages/batch_list_response.py +0 -10
  267. letta_sdk/types/model_list_embedding_response.py +0 -10
  268. letta_sdk/types/organization_sources_stats.py +0 -49
  269. letta_sdk/types/passage.py +0 -56
  270. letta_sdk/types/project_list_params.py +0 -16
  271. letta_sdk/types/project_list_response.py +0 -23
  272. letta_sdk/types/provider.py +0 -42
  273. letta_sdk/types/provider_check_params.py +0 -30
  274. letta_sdk/types/provider_create_params.py +0 -33
  275. letta_sdk/types/provider_list_params.py +0 -42
  276. letta_sdk/types/provider_list_response.py +0 -10
  277. letta_sdk/types/provider_update_params.py +0 -25
  278. letta_sdk/types/run_list_active_params.py +0 -18
  279. letta_sdk/types/run_list_active_response.py +0 -10
  280. letta_sdk/types/run_list_messages_response.py +0 -10
  281. letta_sdk/types/run_list_response.py +0 -10
  282. letta_sdk/types/run_list_steps_response.py +0 -10
  283. letta_sdk/types/source_count_response.py +0 -7
  284. letta_sdk/types/source_create_params.py +0 -33
  285. letta_sdk/types/source_get_agents_response.py +0 -8
  286. letta_sdk/types/source_get_by_name_response.py +0 -7
  287. letta_sdk/types/source_get_metadata_params.py +0 -11
  288. letta_sdk/types/source_list_passages_params.py +0 -19
  289. letta_sdk/types/source_list_passages_response.py +0 -10
  290. letta_sdk/types/source_list_response.py +0 -10
  291. letta_sdk/types/source_update_params.py +0 -27
  292. letta_sdk/types/sources/__init__.py +0 -7
  293. letta_sdk/types/sources/file_list_params.py +0 -26
  294. letta_sdk/types/sources/file_list_response.py +0 -10
  295. letta_sdk/types/sources/file_retrieve_params.py +0 -14
  296. letta_sdk/types/step_list_messages_response.py +0 -34
  297. letta_sdk/types/step_list_response.py +0 -10
  298. letta_sdk/types/template_create_agents_response.py +0 -12
  299. letta_sdk/types/template_create_params.py +0 -40
  300. letta_sdk/types/template_create_response.py +0 -29
  301. letta_sdk/types/template_delete_response.py +0 -9
  302. letta_sdk/types/template_fork_params.py +0 -17
  303. letta_sdk/types/template_fork_response.py +0 -29
  304. letta_sdk/types/template_get_snapshot_response.py +0 -258
  305. letta_sdk/types/template_list_params.py +0 -34
  306. letta_sdk/types/template_list_response.py +0 -35
  307. letta_sdk/types/template_list_versions_params.py +0 -16
  308. letta_sdk/types/template_list_versions_response.py +0 -29
  309. letta_sdk/types/template_rename_params.py +0 -14
  310. letta_sdk/types/template_rename_response.py +0 -9
  311. letta_sdk/types/template_save_version_params.py +0 -32
  312. letta_sdk/types/template_save_version_response.py +0 -29
  313. letta_sdk/types/template_update_description_params.py +0 -14
  314. letta_sdk/types/template_update_description_response.py +0 -9
  315. letta_sdk/types/tool_run_params.py +0 -43
  316. letta_sdk/types/tool_upsert_base_response.py +0 -10
  317. letta_sdk/types/tools/composio/__init__.py +0 -6
  318. letta_sdk/types/tools/composio/app_list_actions_response.py +0 -70
  319. letta_sdk/types/tools/composio/app_list_response.py +0 -103
  320. letta_sdk/types/tools/mcp/__init__.py +0 -21
  321. letta_sdk/types/tools/mcp/mcp_server_type.py +0 -7
  322. letta_sdk/types/tools/mcp/oauth_callback_params.py +0 -22
  323. letta_sdk/types/tools/mcp/server_add_params.py +0 -68
  324. letta_sdk/types/tools/mcp/server_add_response.py +0 -14
  325. letta_sdk/types/tools/mcp/server_connect_params.py +0 -68
  326. letta_sdk/types/tools/mcp/server_delete_response.py +0 -14
  327. letta_sdk/types/tools/mcp/server_list_response.py +0 -14
  328. letta_sdk/types/tools/mcp/server_resync_params.py +0 -12
  329. letta_sdk/types/tools/mcp/server_test_params.py +0 -68
  330. letta_sdk/types/tools/mcp/server_update_params.py +0 -43
  331. letta_sdk/types/tools/mcp/server_update_response.py +0 -12
  332. letta_sdk/types/tools/mcp/servers/__init__.py +0 -6
  333. letta_sdk/types/tools/mcp/servers/tool_execute_params.py +0 -15
  334. letta_sdk/types/tools/mcp/servers/tool_list_response.py +0 -85
  335. letta_sdk/types/tools/mcp/sse_server_config.py +0 -27
  336. letta_sdk/types/tools/mcp/sse_server_config_param.py +0 -29
  337. letta_sdk/types/tools/mcp/stdio_server_config.py +0 -24
  338. letta_sdk/types/tools/mcp/stdio_server_config_param.py +0 -27
  339. letta_sdk/types/tools/mcp/streamable_http_server_config.py +0 -27
  340. letta_sdk/types/tools/mcp/streamable_http_server_config_param.py +0 -29
  341. letta_sdk/types/voice_beta/chat_create_completion_params.py +0 -12
  342. {letta_sdk → letta_client}/_compat.py +0 -0
  343. {letta_sdk → letta_client}/_constants.py +0 -0
  344. {letta_sdk → letta_client}/_files.py +0 -0
  345. {letta_sdk → letta_client}/_models.py +0 -0
  346. {letta_sdk → letta_client}/_qs.py +0 -0
  347. {letta_sdk → letta_client}/_utils/__init__.py +0 -0
  348. {letta_sdk → letta_client}/_utils/_compat.py +0 -0
  349. {letta_sdk → letta_client}/_utils/_datetime_parse.py +0 -0
  350. {letta_sdk → letta_client}/_utils/_proxy.py +0 -0
  351. {letta_sdk → letta_client}/_utils/_reflection.py +0 -0
  352. {letta_sdk → letta_client}/_utils/_streams.py +0 -0
  353. {letta_sdk → letta_client}/_utils/_sync.py +0 -0
  354. {letta_sdk → letta_client}/_utils/_transform.py +0 -0
  355. {letta_sdk → letta_client}/_utils/_typing.py +0 -0
  356. {letta_sdk → letta_client}/_utils/_utils.py +0 -0
  357. {letta_sdk → letta_client}/lib/.keep +0 -0
  358. {letta_sdk → letta_client}/py.typed +0 -0
  359. {letta_sdk/resources/messages → letta_client/resources/batches}/__init__.py +6 -6
  360. {letta_sdk → letta_client}/resources/groups/__init__.py +0 -0
  361. {letta_sdk → letta_client}/types/agent_count_response.py +0 -0
  362. {letta_sdk → letta_client}/types/agents/assistant_message.py +0 -0
  363. {letta_sdk → letta_client}/types/agents/file_close_all_response.py +0 -0
  364. {letta_sdk → letta_client}/types/agents/file_list_response.py +0 -0
  365. {letta_sdk → letta_client}/types/agents/file_open_response.py +0 -0
  366. {letta_sdk → letta_client}/types/agents/hidden_reasoning_message.py +0 -0
  367. {letta_sdk → letta_client}/types/agents/image_content.py +0 -0
  368. {letta_sdk → letta_client}/types/agents/image_content_param.py +0 -0
  369. {letta_sdk → letta_client}/types/agents/job_status.py +0 -0
  370. {letta_sdk → letta_client}/types/agents/job_type.py +0 -0
  371. {letta_sdk → letta_client}/types/agents/letta_message_union.py +0 -0
  372. {letta_sdk → letta_client}/types/agents/letta_user_message_content_union.py +0 -0
  373. {letta_sdk → letta_client}/types/agents/letta_user_message_content_union_param.py +0 -0
  374. {letta_sdk → letta_client}/types/agents/message_cancel_params.py +0 -0
  375. {letta_sdk → letta_client}/types/agents/message_cancel_response.py +0 -0
  376. {letta_sdk → letta_client}/types/agents/message_role.py +0 -0
  377. {letta_sdk → letta_client}/types/agents/message_type.py +0 -0
  378. {letta_sdk → letta_client}/types/agents/message_update_response.py +0 -0
  379. {letta_sdk → letta_client}/types/agents/reasoning_content.py +0 -0
  380. {letta_sdk → letta_client}/types/agents/reasoning_content_param.py +0 -0
  381. {letta_sdk → letta_client}/types/agents/reasoning_message.py +0 -0
  382. {letta_sdk → letta_client}/types/agents/redacted_reasoning_content.py +0 -0
  383. {letta_sdk → letta_client}/types/agents/redacted_reasoning_content_param.py +0 -0
  384. {letta_sdk → letta_client}/types/agents/system_message.py +0 -0
  385. {letta_sdk → letta_client}/types/agents/tool_call.py +0 -0
  386. {letta_sdk → letta_client}/types/agents/tool_call_delta.py +0 -0
  387. {letta_sdk → letta_client}/types/agents/tool_return_content.py +0 -0
  388. {letta_sdk → letta_client}/types/agents/tool_return_content_param.py +0 -0
  389. {letta_sdk → letta_client}/types/agents/update_assistant_message_param.py +0 -0
  390. {letta_sdk → letta_client}/types/agents/update_reasoning_message_param.py +0 -0
  391. {letta_sdk → letta_client}/types/agents/update_system_message_param.py +0 -0
  392. {letta_sdk → letta_client}/types/agents/update_user_message_param.py +0 -0
  393. {letta_sdk → letta_client}/types/agents/user_message.py +0 -0
  394. {letta_sdk/types/messages → letta_client/types}/batch_list_params.py +0 -0
  395. {letta_sdk → letta_client}/types/block_count_response.py +0 -0
  396. {letta_sdk → letta_client}/types/block_create_params.py +0 -0
  397. {letta_sdk → letta_client}/types/block_list_params.py +0 -0
  398. {letta_sdk → letta_client}/types/block_update_params.py +0 -0
  399. {letta_sdk → letta_client}/types/conditional_tool_rule.py +0 -0
  400. {letta_sdk → letta_client}/types/conditional_tool_rule_param.py +0 -0
  401. {letta_sdk → letta_client}/types/continue_tool_rule.py +0 -0
  402. {letta_sdk → letta_client}/types/continue_tool_rule_param.py +0 -0
  403. {letta_sdk → letta_client}/types/create_block_param.py +0 -0
  404. {letta_sdk → letta_client}/types/dynamic_manager_param.py +0 -0
  405. {letta_sdk → letta_client}/types/embedding_config.py +0 -0
  406. {letta_sdk → letta_client}/types/embedding_config_param.py +0 -0
  407. {letta_sdk → letta_client}/types/folder.py +0 -0
  408. {letta_sdk → letta_client}/types/folder_count_response.py +0 -0
  409. {letta_sdk → letta_client}/types/folder_create_params.py +0 -0
  410. {letta_sdk → letta_client}/types/folder_list_params.py +0 -0
  411. {letta_sdk → letta_client}/types/folder_update_params.py +0 -0
  412. {letta_sdk → letta_client}/types/group.py +0 -0
  413. {letta_sdk → letta_client}/types/group_count_response.py +0 -0
  414. {letta_sdk → letta_client}/types/group_create_params.py +0 -0
  415. {letta_sdk → letta_client}/types/group_list_params.py +0 -0
  416. {letta_sdk → letta_client}/types/group_update_params.py +0 -0
  417. {letta_sdk → letta_client}/types/groups/message_list_params.py +0 -0
  418. {letta_sdk → letta_client}/types/groups/message_update_response.py +0 -0
  419. {letta_sdk → letta_client}/types/identity.py +0 -0
  420. {letta_sdk → letta_client}/types/identity_count_response.py +0 -0
  421. {letta_sdk → letta_client}/types/identity_create_params.py +0 -0
  422. {letta_sdk → letta_client}/types/identity_list_params.py +0 -0
  423. {letta_sdk → letta_client}/types/identity_property.py +0 -0
  424. {letta_sdk → letta_client}/types/identity_property_param.py +0 -0
  425. {letta_sdk → letta_client}/types/identity_type.py +0 -0
  426. {letta_sdk → letta_client}/types/identity_upsert_params.py +0 -0
  427. {letta_sdk → letta_client}/types/json_object_response_format.py +0 -0
  428. {letta_sdk → letta_client}/types/json_object_response_format_param.py +0 -0
  429. {letta_sdk → letta_client}/types/json_schema_response_format.py +0 -0
  430. {letta_sdk → letta_client}/types/json_schema_response_format_param.py +0 -0
  431. {letta_sdk → letta_client}/types/letta_message_content_union_param.py +0 -0
  432. {letta_sdk → letta_client}/types/manager_type.py +0 -0
  433. {letta_sdk → letta_client}/types/max_count_per_step_tool_rule.py +0 -0
  434. {letta_sdk → letta_client}/types/max_count_per_step_tool_rule_param.py +0 -0
  435. {letta_sdk → letta_client}/types/message_create_param.py +0 -0
  436. {letta_sdk → letta_client}/types/model_list_params.py +0 -0
  437. {letta_sdk → letta_client}/types/model_list_response.py +0 -0
  438. {letta_sdk → letta_client}/types/npm_requirement.py +0 -0
  439. {letta_sdk → letta_client}/types/npm_requirement_param.py +0 -0
  440. {letta_sdk → letta_client}/types/parent_tool_rule.py +0 -0
  441. {letta_sdk → letta_client}/types/parent_tool_rule_param.py +0 -0
  442. {letta_sdk → letta_client}/types/pip_requirement.py +0 -0
  443. {letta_sdk → letta_client}/types/pip_requirement_param.py +0 -0
  444. {letta_sdk → letta_client}/types/provider_category.py +0 -0
  445. {letta_sdk → letta_client}/types/provider_trace.py +0 -0
  446. {letta_sdk → letta_client}/types/provider_type.py +0 -0
  447. {letta_sdk → letta_client}/types/required_before_exit_tool_rule.py +0 -0
  448. {letta_sdk → letta_client}/types/required_before_exit_tool_rule_param.py +0 -0
  449. {letta_sdk → letta_client}/types/requires_approval_tool_rule.py +0 -0
  450. {letta_sdk → letta_client}/types/requires_approval_tool_rule_param.py +0 -0
  451. {letta_sdk → letta_client}/types/round_robin_manager_param.py +0 -0
  452. {letta_sdk → letta_client}/types/sleeptime_manager_param.py +0 -0
  453. {letta_sdk → letta_client}/types/step_list_params.py +0 -0
  454. {letta_sdk → letta_client}/types/stop_reason_type.py +0 -0
  455. {letta_sdk → letta_client}/types/supervisor_manager_param.py +0 -0
  456. {letta_sdk → letta_client}/types/tag_list_params.py +0 -0
  457. {letta_sdk → letta_client}/types/terminal_tool_rule.py +0 -0
  458. {letta_sdk → letta_client}/types/terminal_tool_rule_param.py +0 -0
  459. {letta_sdk → letta_client}/types/text_response_format.py +0 -0
  460. {letta_sdk → letta_client}/types/text_response_format_param.py +0 -0
  461. {letta_sdk → letta_client}/types/tool_count_params.py +0 -0
  462. {letta_sdk → letta_client}/types/tool_count_response.py +0 -0
  463. {letta_sdk → letta_client}/types/tool_list_params.py +0 -0
  464. {letta_sdk → letta_client}/types/tool_type.py +1 -1
  465. {letta_sdk → letta_client}/types/vector_db_provider.py +0 -0
  466. {letta_sdk → letta_client}/types/voice_sleeptime_manager_param.py +0 -0
  467. {letta_client-1.0.0a6.dist-info → letta_client-1.0.0a8.dist-info}/WHEEL +0 -0
@@ -7,14 +7,14 @@ from ._types import NOT_GIVEN, Omit, NoneType, NotGiven, Transport, ProxiesTypes
7
7
  from ._utils import file_from_path
8
8
  from ._client import (
9
9
  ENVIRONMENTS,
10
+ Letta,
10
11
  Client,
11
12
  Stream,
12
13
  Timeout,
13
- LettaSDK,
14
14
  Transport,
15
+ AsyncLetta,
15
16
  AsyncClient,
16
17
  AsyncStream,
17
- AsyncLettaSDK,
18
18
  RequestOptions,
19
19
  )
20
20
  from ._models import BaseModel
@@ -23,8 +23,8 @@ from ._response import APIResponse as APIResponse, AsyncAPIResponse as AsyncAPIR
23
23
  from ._constants import DEFAULT_TIMEOUT, DEFAULT_MAX_RETRIES, DEFAULT_CONNECTION_LIMITS
24
24
  from ._exceptions import (
25
25
  APIError,
26
+ LettaError,
26
27
  ConflictError,
27
- LettaSDKError,
28
28
  NotFoundError,
29
29
  APIStatusError,
30
30
  RateLimitError,
@@ -52,7 +52,7 @@ __all__ = [
52
52
  "not_given",
53
53
  "Omit",
54
54
  "omit",
55
- "LettaSDKError",
55
+ "LettaError",
56
56
  "APIError",
57
57
  "APIStatusError",
58
58
  "APITimeoutError",
@@ -72,8 +72,8 @@ __all__ = [
72
72
  "AsyncClient",
73
73
  "Stream",
74
74
  "AsyncStream",
75
- "LettaSDK",
76
- "AsyncLettaSDK",
75
+ "Letta",
76
+ "AsyncLetta",
77
77
  "ENVIRONMENTS",
78
78
  "file_from_path",
79
79
  "BaseModel",
@@ -93,12 +93,12 @@ _setup_logging()
93
93
  # Update the __module__ attribute for exported symbols so that
94
94
  # error messages point to this module instead of the module
95
95
  # it was originally defined in, e.g.
96
- # letta_sdk._exceptions.NotFoundError -> letta_sdk.NotFoundError
96
+ # letta_client._exceptions.NotFoundError -> letta_client.NotFoundError
97
97
  __locals = locals()
98
98
  for __name in __all__:
99
99
  if not __name.startswith("__"):
100
100
  try:
101
- __locals[__name].__module__ = "letta_sdk"
101
+ __locals[__name].__module__ = "letta_client"
102
102
  except (TypeError, AttributeError):
103
103
  # Some of our exported symbols are builtins which we can't set attributes for.
104
104
  pass
@@ -389,7 +389,7 @@ class BaseClient(Generic[_HttpxClientT, _DefaultStreamT]):
389
389
 
390
390
  if max_retries is None: # pyright: ignore[reportUnnecessaryComparison]
391
391
  raise TypeError(
392
- "max_retries cannot be None. If you want to disable retries, pass `0`; if you want unlimited retries, pass `math.inf` or a very high number; if you want the default behavior, pass `letta_sdk.DEFAULT_MAX_RETRIES`"
392
+ "max_retries cannot be None. If you want to disable retries, pass `0`; if you want unlimited retries, pass `math.inf` or a very high number; if you want the default behavior, pass `letta_client.DEFAULT_MAX_RETRIES`"
393
393
  )
394
394
 
395
395
  def _enforce_trailing_slash(self, url: URL) -> URL:
@@ -11,7 +11,10 @@ import httpx
11
11
  from . import _exceptions
12
12
  from ._qs import Querystring
13
13
  from ._types import (
14
+ Body,
14
15
  Omit,
16
+ Query,
17
+ Headers,
15
18
  Timeout,
16
19
  NotGiven,
17
20
  Transport,
@@ -21,38 +24,32 @@ from ._types import (
21
24
  )
22
25
  from ._utils import is_given, get_async_library
23
26
  from ._version import __version__
24
- from .resources import (
25
- jobs,
26
- runs,
27
- tags,
28
- steps,
29
- blocks,
30
- health,
31
- models,
32
- folders,
33
- archives,
34
- projects,
35
- providers,
36
- telemetry,
37
- templates,
38
- embeddings,
39
- identities,
40
- client_side_access_tokens,
27
+ from ._response import (
28
+ to_raw_response_wrapper,
29
+ to_streamed_response_wrapper,
30
+ async_to_raw_response_wrapper,
31
+ async_to_streamed_response_wrapper,
41
32
  )
33
+ from .resources import tags, tools, archives
42
34
  from ._streaming import Stream as Stream, AsyncStream as AsyncStream
43
- from ._exceptions import LettaSDKError, APIStatusError
35
+ from ._exceptions import LettaError, APIStatusError
44
36
  from ._base_client import (
45
37
  DEFAULT_MAX_RETRIES,
46
38
  SyncAPIClient,
47
39
  AsyncAPIClient,
40
+ make_request_options,
48
41
  )
49
- from .resources.tools import tools
42
+ from .resources.runs import runs
43
+ from .resources.steps import steps
50
44
  from .resources.agents import agents
45
+ from .resources.blocks import blocks
51
46
  from .resources.groups import groups
52
- from .resources.sources import sources
53
- from .resources.messages import messages
54
- from .resources.voice_beta import voice_beta
55
- from .resources._internal_templates import _internal_templates
47
+ from .resources.models import models
48
+ from .resources.batches import batches
49
+ from .resources.folders import folders
50
+ from .resources.templates import templates
51
+ from .resources.identities import identities
52
+ from .types.health_response import HealthResponse
56
53
 
57
54
  __all__ = [
58
55
  "ENVIRONMENTS",
@@ -60,55 +57,45 @@ __all__ = [
60
57
  "Transport",
61
58
  "ProxiesTypes",
62
59
  "RequestOptions",
63
- "LettaSDK",
64
- "AsyncLettaSDK",
60
+ "Letta",
61
+ "AsyncLetta",
65
62
  "Client",
66
63
  "AsyncClient",
67
64
  ]
68
65
 
69
66
  ENVIRONMENTS: Dict[str, str] = {
70
- "production": "https://app.letta.com",
71
- "environment_1": "http://localhost:8283",
67
+ "cloud": "https://app.letta.com",
68
+ "local": "http://localhost:8283",
72
69
  }
73
70
 
74
71
 
75
- class LettaSDK(SyncAPIClient):
72
+ class Letta(SyncAPIClient):
76
73
  archives: archives.ArchivesResource
77
74
  tools: tools.ToolsResource
78
- sources: sources.SourcesResource
79
75
  folders: folders.FoldersResource
80
76
  agents: agents.AgentsResource
81
77
  groups: groups.GroupsResource
82
78
  identities: identities.IdentitiesResource
83
- _internal_templates: _internal_templates._InternalTemplatesResource
84
79
  models: models.ModelsResource
85
80
  blocks: blocks.BlocksResource
86
- jobs: jobs.JobsResource
87
- health: health.HealthResource
88
- providers: providers.ProvidersResource
89
81
  runs: runs.RunsResource
90
82
  steps: steps.StepsResource
91
83
  tags: tags.TagsResource
92
- telemetry: telemetry.TelemetryResource
93
- messages: messages.MessagesResource
94
- voice_beta: voice_beta.VoiceBetaResource
95
- embeddings: embeddings.EmbeddingsResource
84
+ batches: batches.BatchesResource
96
85
  templates: templates.TemplatesResource
97
- client_side_access_tokens: client_side_access_tokens.ClientSideAccessTokensResource
98
- projects: projects.ProjectsResource
99
- with_raw_response: LettaSDKWithRawResponse
100
- with_streaming_response: LettaSDKWithStreamedResponse
86
+ with_raw_response: LettaWithRawResponse
87
+ with_streaming_response: LettaWithStreamedResponse
101
88
 
102
89
  # client options
103
90
  api_key: str
104
91
 
105
- _environment: Literal["production", "environment_1"] | NotGiven
92
+ _environment: Literal["cloud", "local"] | NotGiven
106
93
 
107
94
  def __init__(
108
95
  self,
109
96
  *,
110
97
  api_key: str | None = None,
111
- environment: Literal["production", "environment_1"] | NotGiven = not_given,
98
+ environment: Literal["cloud", "local"] | NotGiven = not_given,
112
99
  base_url: str | httpx.URL | None | NotGiven = not_given,
113
100
  timeout: float | Timeout | None | NotGiven = not_given,
114
101
  max_retries: int = DEFAULT_MAX_RETRIES,
@@ -128,28 +115,28 @@ class LettaSDK(SyncAPIClient):
128
115
  # part of our public interface in the future.
129
116
  _strict_response_validation: bool = False,
130
117
  ) -> None:
131
- """Construct a new synchronous LettaSDK client instance.
118
+ """Construct a new synchronous Letta client instance.
132
119
 
133
- This automatically infers the `api_key` argument from the `LETTA_SDK_API_KEY` environment variable if it is not provided.
120
+ This automatically infers the `api_key` argument from the `LETTA_API_KEY` environment variable if it is not provided.
134
121
  """
135
122
  if api_key is None:
136
- api_key = os.environ.get("LETTA_SDK_API_KEY")
123
+ api_key = os.environ.get("LETTA_API_KEY")
137
124
  if api_key is None:
138
- raise LettaSDKError(
139
- "The api_key client option must be set either by passing api_key to the client or by setting the LETTA_SDK_API_KEY environment variable"
125
+ raise LettaError(
126
+ "The api_key client option must be set either by passing api_key to the client or by setting the LETTA_API_KEY environment variable"
140
127
  )
141
128
  self.api_key = api_key
142
129
 
143
130
  self._environment = environment
144
131
 
145
- base_url_env = os.environ.get("LETTA_SDK_BASE_URL")
132
+ base_url_env = os.environ.get("LETTA_BASE_URL")
146
133
  if is_given(base_url) and base_url is not None:
147
134
  # cast required because mypy doesn't understand the type narrowing
148
135
  base_url = cast("str | httpx.URL", base_url) # pyright: ignore[reportUnnecessaryCast]
149
136
  elif is_given(environment):
150
137
  if base_url_env and base_url is not None:
151
138
  raise ValueError(
152
- "Ambiguous URL; The `LETTA_SDK_BASE_URL` env var and the `environment` argument are given. If you want to use the environment, you must pass base_url=None",
139
+ "Ambiguous URL; The `LETTA_BASE_URL` env var and the `environment` argument are given. If you want to use the environment, you must pass base_url=None",
153
140
  )
154
141
 
155
142
  try:
@@ -159,7 +146,7 @@ class LettaSDK(SyncAPIClient):
159
146
  elif base_url_env is not None:
160
147
  base_url = base_url_env
161
148
  else:
162
- self._environment = environment = "production"
149
+ self._environment = environment = "cloud"
163
150
 
164
151
  try:
165
152
  base_url = ENVIRONMENTS[environment]
@@ -179,29 +166,19 @@ class LettaSDK(SyncAPIClient):
179
166
 
180
167
  self.archives = archives.ArchivesResource(self)
181
168
  self.tools = tools.ToolsResource(self)
182
- self.sources = sources.SourcesResource(self)
183
169
  self.folders = folders.FoldersResource(self)
184
170
  self.agents = agents.AgentsResource(self)
185
171
  self.groups = groups.GroupsResource(self)
186
172
  self.identities = identities.IdentitiesResource(self)
187
- self._internal_templates = _internal_templates._InternalTemplatesResource(self)
188
173
  self.models = models.ModelsResource(self)
189
174
  self.blocks = blocks.BlocksResource(self)
190
- self.jobs = jobs.JobsResource(self)
191
- self.health = health.HealthResource(self)
192
- self.providers = providers.ProvidersResource(self)
193
175
  self.runs = runs.RunsResource(self)
194
176
  self.steps = steps.StepsResource(self)
195
177
  self.tags = tags.TagsResource(self)
196
- self.telemetry = telemetry.TelemetryResource(self)
197
- self.messages = messages.MessagesResource(self)
198
- self.voice_beta = voice_beta.VoiceBetaResource(self)
199
- self.embeddings = embeddings.EmbeddingsResource(self)
178
+ self.batches = batches.BatchesResource(self)
200
179
  self.templates = templates.TemplatesResource(self)
201
- self.client_side_access_tokens = client_side_access_tokens.ClientSideAccessTokensResource(self)
202
- self.projects = projects.ProjectsResource(self)
203
- self.with_raw_response = LettaSDKWithRawResponse(self)
204
- self.with_streaming_response = LettaSDKWithStreamedResponse(self)
180
+ self.with_raw_response = LettaWithRawResponse(self)
181
+ self.with_streaming_response = LettaWithStreamedResponse(self)
205
182
 
206
183
  @property
207
184
  @override
@@ -227,7 +204,7 @@ class LettaSDK(SyncAPIClient):
227
204
  self,
228
205
  *,
229
206
  api_key: str | None = None,
230
- environment: Literal["production", "environment_1"] | None = None,
207
+ environment: Literal["cloud", "local"] | None = None,
231
208
  base_url: str | httpx.URL | None = None,
232
209
  timeout: float | Timeout | None | NotGiven = not_given,
233
210
  http_client: httpx.Client | None = None,
@@ -276,6 +253,25 @@ class LettaSDK(SyncAPIClient):
276
253
  # client.with_options(timeout=10).foo.create(...)
277
254
  with_options = copy
278
255
 
256
+ def health(
257
+ self,
258
+ *,
259
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
260
+ # The extra values given here take precedence over values defined on the client or passed to this method.
261
+ extra_headers: Headers | None = None,
262
+ extra_query: Query | None = None,
263
+ extra_body: Body | None = None,
264
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
265
+ ) -> HealthResponse:
266
+ """Check Health"""
267
+ return self.get(
268
+ "/v1/health/",
269
+ options=make_request_options(
270
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
271
+ ),
272
+ cast_to=HealthResponse,
273
+ )
274
+
279
275
  @override
280
276
  def _make_status_error(
281
277
  self,
@@ -310,43 +306,33 @@ class LettaSDK(SyncAPIClient):
310
306
  return APIStatusError(err_msg, response=response, body=body)
311
307
 
312
308
 
313
- class AsyncLettaSDK(AsyncAPIClient):
309
+ class AsyncLetta(AsyncAPIClient):
314
310
  archives: archives.AsyncArchivesResource
315
311
  tools: tools.AsyncToolsResource
316
- sources: sources.AsyncSourcesResource
317
312
  folders: folders.AsyncFoldersResource
318
313
  agents: agents.AsyncAgentsResource
319
314
  groups: groups.AsyncGroupsResource
320
315
  identities: identities.AsyncIdentitiesResource
321
- _internal_templates: _internal_templates.AsyncInternalTemplatesResource
322
316
  models: models.AsyncModelsResource
323
317
  blocks: blocks.AsyncBlocksResource
324
- jobs: jobs.AsyncJobsResource
325
- health: health.AsyncHealthResource
326
- providers: providers.AsyncProvidersResource
327
318
  runs: runs.AsyncRunsResource
328
319
  steps: steps.AsyncStepsResource
329
320
  tags: tags.AsyncTagsResource
330
- telemetry: telemetry.AsyncTelemetryResource
331
- messages: messages.AsyncMessagesResource
332
- voice_beta: voice_beta.AsyncVoiceBetaResource
333
- embeddings: embeddings.AsyncEmbeddingsResource
321
+ batches: batches.AsyncBatchesResource
334
322
  templates: templates.AsyncTemplatesResource
335
- client_side_access_tokens: client_side_access_tokens.AsyncClientSideAccessTokensResource
336
- projects: projects.AsyncProjectsResource
337
- with_raw_response: AsyncLettaSDKWithRawResponse
338
- with_streaming_response: AsyncLettaSDKWithStreamedResponse
323
+ with_raw_response: AsyncLettaWithRawResponse
324
+ with_streaming_response: AsyncLettaWithStreamedResponse
339
325
 
340
326
  # client options
341
327
  api_key: str
342
328
 
343
- _environment: Literal["production", "environment_1"] | NotGiven
329
+ _environment: Literal["cloud", "local"] | NotGiven
344
330
 
345
331
  def __init__(
346
332
  self,
347
333
  *,
348
334
  api_key: str | None = None,
349
- environment: Literal["production", "environment_1"] | NotGiven = not_given,
335
+ environment: Literal["cloud", "local"] | NotGiven = not_given,
350
336
  base_url: str | httpx.URL | None | NotGiven = not_given,
351
337
  timeout: float | Timeout | None | NotGiven = not_given,
352
338
  max_retries: int = DEFAULT_MAX_RETRIES,
@@ -366,28 +352,28 @@ class AsyncLettaSDK(AsyncAPIClient):
366
352
  # part of our public interface in the future.
367
353
  _strict_response_validation: bool = False,
368
354
  ) -> None:
369
- """Construct a new async AsyncLettaSDK client instance.
355
+ """Construct a new async AsyncLetta client instance.
370
356
 
371
- This automatically infers the `api_key` argument from the `LETTA_SDK_API_KEY` environment variable if it is not provided.
357
+ This automatically infers the `api_key` argument from the `LETTA_API_KEY` environment variable if it is not provided.
372
358
  """
373
359
  if api_key is None:
374
- api_key = os.environ.get("LETTA_SDK_API_KEY")
360
+ api_key = os.environ.get("LETTA_API_KEY")
375
361
  if api_key is None:
376
- raise LettaSDKError(
377
- "The api_key client option must be set either by passing api_key to the client or by setting the LETTA_SDK_API_KEY environment variable"
362
+ raise LettaError(
363
+ "The api_key client option must be set either by passing api_key to the client or by setting the LETTA_API_KEY environment variable"
378
364
  )
379
365
  self.api_key = api_key
380
366
 
381
367
  self._environment = environment
382
368
 
383
- base_url_env = os.environ.get("LETTA_SDK_BASE_URL")
369
+ base_url_env = os.environ.get("LETTA_BASE_URL")
384
370
  if is_given(base_url) and base_url is not None:
385
371
  # cast required because mypy doesn't understand the type narrowing
386
372
  base_url = cast("str | httpx.URL", base_url) # pyright: ignore[reportUnnecessaryCast]
387
373
  elif is_given(environment):
388
374
  if base_url_env and base_url is not None:
389
375
  raise ValueError(
390
- "Ambiguous URL; The `LETTA_SDK_BASE_URL` env var and the `environment` argument are given. If you want to use the environment, you must pass base_url=None",
376
+ "Ambiguous URL; The `LETTA_BASE_URL` env var and the `environment` argument are given. If you want to use the environment, you must pass base_url=None",
391
377
  )
392
378
 
393
379
  try:
@@ -397,7 +383,7 @@ class AsyncLettaSDK(AsyncAPIClient):
397
383
  elif base_url_env is not None:
398
384
  base_url = base_url_env
399
385
  else:
400
- self._environment = environment = "production"
386
+ self._environment = environment = "cloud"
401
387
 
402
388
  try:
403
389
  base_url = ENVIRONMENTS[environment]
@@ -417,29 +403,19 @@ class AsyncLettaSDK(AsyncAPIClient):
417
403
 
418
404
  self.archives = archives.AsyncArchivesResource(self)
419
405
  self.tools = tools.AsyncToolsResource(self)
420
- self.sources = sources.AsyncSourcesResource(self)
421
406
  self.folders = folders.AsyncFoldersResource(self)
422
407
  self.agents = agents.AsyncAgentsResource(self)
423
408
  self.groups = groups.AsyncGroupsResource(self)
424
409
  self.identities = identities.AsyncIdentitiesResource(self)
425
- self._internal_templates = _internal_templates.AsyncInternalTemplatesResource(self)
426
410
  self.models = models.AsyncModelsResource(self)
427
411
  self.blocks = blocks.AsyncBlocksResource(self)
428
- self.jobs = jobs.AsyncJobsResource(self)
429
- self.health = health.AsyncHealthResource(self)
430
- self.providers = providers.AsyncProvidersResource(self)
431
412
  self.runs = runs.AsyncRunsResource(self)
432
413
  self.steps = steps.AsyncStepsResource(self)
433
414
  self.tags = tags.AsyncTagsResource(self)
434
- self.telemetry = telemetry.AsyncTelemetryResource(self)
435
- self.messages = messages.AsyncMessagesResource(self)
436
- self.voice_beta = voice_beta.AsyncVoiceBetaResource(self)
437
- self.embeddings = embeddings.AsyncEmbeddingsResource(self)
415
+ self.batches = batches.AsyncBatchesResource(self)
438
416
  self.templates = templates.AsyncTemplatesResource(self)
439
- self.client_side_access_tokens = client_side_access_tokens.AsyncClientSideAccessTokensResource(self)
440
- self.projects = projects.AsyncProjectsResource(self)
441
- self.with_raw_response = AsyncLettaSDKWithRawResponse(self)
442
- self.with_streaming_response = AsyncLettaSDKWithStreamedResponse(self)
417
+ self.with_raw_response = AsyncLettaWithRawResponse(self)
418
+ self.with_streaming_response = AsyncLettaWithStreamedResponse(self)
443
419
 
444
420
  @property
445
421
  @override
@@ -465,7 +441,7 @@ class AsyncLettaSDK(AsyncAPIClient):
465
441
  self,
466
442
  *,
467
443
  api_key: str | None = None,
468
- environment: Literal["production", "environment_1"] | None = None,
444
+ environment: Literal["cloud", "local"] | None = None,
469
445
  base_url: str | httpx.URL | None = None,
470
446
  timeout: float | Timeout | None | NotGiven = not_given,
471
447
  http_client: httpx.AsyncClient | None = None,
@@ -514,6 +490,25 @@ class AsyncLettaSDK(AsyncAPIClient):
514
490
  # client.with_options(timeout=10).foo.create(...)
515
491
  with_options = copy
516
492
 
493
+ async def health(
494
+ self,
495
+ *,
496
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
497
+ # The extra values given here take precedence over values defined on the client or passed to this method.
498
+ extra_headers: Headers | None = None,
499
+ extra_query: Query | None = None,
500
+ extra_body: Body | None = None,
501
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
502
+ ) -> HealthResponse:
503
+ """Check Health"""
504
+ return await self.get(
505
+ "/v1/health/",
506
+ options=make_request_options(
507
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
508
+ ),
509
+ cast_to=HealthResponse,
510
+ )
511
+
517
512
  @override
518
513
  def _make_status_error(
519
514
  self,
@@ -548,132 +543,90 @@ class AsyncLettaSDK(AsyncAPIClient):
548
543
  return APIStatusError(err_msg, response=response, body=body)
549
544
 
550
545
 
551
- class LettaSDKWithRawResponse:
552
- def __init__(self, client: LettaSDK) -> None:
546
+ class LettaWithRawResponse:
547
+ def __init__(self, client: Letta) -> None:
553
548
  self.archives = archives.ArchivesResourceWithRawResponse(client.archives)
554
549
  self.tools = tools.ToolsResourceWithRawResponse(client.tools)
555
- self.sources = sources.SourcesResourceWithRawResponse(client.sources)
556
550
  self.folders = folders.FoldersResourceWithRawResponse(client.folders)
557
551
  self.agents = agents.AgentsResourceWithRawResponse(client.agents)
558
552
  self.groups = groups.GroupsResourceWithRawResponse(client.groups)
559
553
  self.identities = identities.IdentitiesResourceWithRawResponse(client.identities)
560
- self._internal_templates = _internal_templates._InternalTemplatesResourceWithRawResponse(
561
- client._internal_templates
562
- )
563
554
  self.models = models.ModelsResourceWithRawResponse(client.models)
564
555
  self.blocks = blocks.BlocksResourceWithRawResponse(client.blocks)
565
- self.jobs = jobs.JobsResourceWithRawResponse(client.jobs)
566
- self.health = health.HealthResourceWithRawResponse(client.health)
567
- self.providers = providers.ProvidersResourceWithRawResponse(client.providers)
568
556
  self.runs = runs.RunsResourceWithRawResponse(client.runs)
569
557
  self.steps = steps.StepsResourceWithRawResponse(client.steps)
570
558
  self.tags = tags.TagsResourceWithRawResponse(client.tags)
571
- self.telemetry = telemetry.TelemetryResourceWithRawResponse(client.telemetry)
572
- self.messages = messages.MessagesResourceWithRawResponse(client.messages)
573
- self.voice_beta = voice_beta.VoiceBetaResourceWithRawResponse(client.voice_beta)
574
- self.embeddings = embeddings.EmbeddingsResourceWithRawResponse(client.embeddings)
559
+ self.batches = batches.BatchesResourceWithRawResponse(client.batches)
575
560
  self.templates = templates.TemplatesResourceWithRawResponse(client.templates)
576
- self.client_side_access_tokens = client_side_access_tokens.ClientSideAccessTokensResourceWithRawResponse(
577
- client.client_side_access_tokens
561
+
562
+ self.health = to_raw_response_wrapper(
563
+ client.health,
578
564
  )
579
- self.projects = projects.ProjectsResourceWithRawResponse(client.projects)
580
565
 
581
566
 
582
- class AsyncLettaSDKWithRawResponse:
583
- def __init__(self, client: AsyncLettaSDK) -> None:
567
+ class AsyncLettaWithRawResponse:
568
+ def __init__(self, client: AsyncLetta) -> None:
584
569
  self.archives = archives.AsyncArchivesResourceWithRawResponse(client.archives)
585
570
  self.tools = tools.AsyncToolsResourceWithRawResponse(client.tools)
586
- self.sources = sources.AsyncSourcesResourceWithRawResponse(client.sources)
587
571
  self.folders = folders.AsyncFoldersResourceWithRawResponse(client.folders)
588
572
  self.agents = agents.AsyncAgentsResourceWithRawResponse(client.agents)
589
573
  self.groups = groups.AsyncGroupsResourceWithRawResponse(client.groups)
590
574
  self.identities = identities.AsyncIdentitiesResourceWithRawResponse(client.identities)
591
- self._internal_templates = _internal_templates.AsyncInternalTemplatesResourceWithRawResponse(
592
- client._internal_templates
593
- )
594
575
  self.models = models.AsyncModelsResourceWithRawResponse(client.models)
595
576
  self.blocks = blocks.AsyncBlocksResourceWithRawResponse(client.blocks)
596
- self.jobs = jobs.AsyncJobsResourceWithRawResponse(client.jobs)
597
- self.health = health.AsyncHealthResourceWithRawResponse(client.health)
598
- self.providers = providers.AsyncProvidersResourceWithRawResponse(client.providers)
599
577
  self.runs = runs.AsyncRunsResourceWithRawResponse(client.runs)
600
578
  self.steps = steps.AsyncStepsResourceWithRawResponse(client.steps)
601
579
  self.tags = tags.AsyncTagsResourceWithRawResponse(client.tags)
602
- self.telemetry = telemetry.AsyncTelemetryResourceWithRawResponse(client.telemetry)
603
- self.messages = messages.AsyncMessagesResourceWithRawResponse(client.messages)
604
- self.voice_beta = voice_beta.AsyncVoiceBetaResourceWithRawResponse(client.voice_beta)
605
- self.embeddings = embeddings.AsyncEmbeddingsResourceWithRawResponse(client.embeddings)
580
+ self.batches = batches.AsyncBatchesResourceWithRawResponse(client.batches)
606
581
  self.templates = templates.AsyncTemplatesResourceWithRawResponse(client.templates)
607
- self.client_side_access_tokens = client_side_access_tokens.AsyncClientSideAccessTokensResourceWithRawResponse(
608
- client.client_side_access_tokens
582
+
583
+ self.health = async_to_raw_response_wrapper(
584
+ client.health,
609
585
  )
610
- self.projects = projects.AsyncProjectsResourceWithRawResponse(client.projects)
611
586
 
612
587
 
613
- class LettaSDKWithStreamedResponse:
614
- def __init__(self, client: LettaSDK) -> None:
588
+ class LettaWithStreamedResponse:
589
+ def __init__(self, client: Letta) -> None:
615
590
  self.archives = archives.ArchivesResourceWithStreamingResponse(client.archives)
616
591
  self.tools = tools.ToolsResourceWithStreamingResponse(client.tools)
617
- self.sources = sources.SourcesResourceWithStreamingResponse(client.sources)
618
592
  self.folders = folders.FoldersResourceWithStreamingResponse(client.folders)
619
593
  self.agents = agents.AgentsResourceWithStreamingResponse(client.agents)
620
594
  self.groups = groups.GroupsResourceWithStreamingResponse(client.groups)
621
595
  self.identities = identities.IdentitiesResourceWithStreamingResponse(client.identities)
622
- self._internal_templates = _internal_templates._InternalTemplatesResourceWithStreamingResponse(
623
- client._internal_templates
624
- )
625
596
  self.models = models.ModelsResourceWithStreamingResponse(client.models)
626
597
  self.blocks = blocks.BlocksResourceWithStreamingResponse(client.blocks)
627
- self.jobs = jobs.JobsResourceWithStreamingResponse(client.jobs)
628
- self.health = health.HealthResourceWithStreamingResponse(client.health)
629
- self.providers = providers.ProvidersResourceWithStreamingResponse(client.providers)
630
598
  self.runs = runs.RunsResourceWithStreamingResponse(client.runs)
631
599
  self.steps = steps.StepsResourceWithStreamingResponse(client.steps)
632
600
  self.tags = tags.TagsResourceWithStreamingResponse(client.tags)
633
- self.telemetry = telemetry.TelemetryResourceWithStreamingResponse(client.telemetry)
634
- self.messages = messages.MessagesResourceWithStreamingResponse(client.messages)
635
- self.voice_beta = voice_beta.VoiceBetaResourceWithStreamingResponse(client.voice_beta)
636
- self.embeddings = embeddings.EmbeddingsResourceWithStreamingResponse(client.embeddings)
601
+ self.batches = batches.BatchesResourceWithStreamingResponse(client.batches)
637
602
  self.templates = templates.TemplatesResourceWithStreamingResponse(client.templates)
638
- self.client_side_access_tokens = client_side_access_tokens.ClientSideAccessTokensResourceWithStreamingResponse(
639
- client.client_side_access_tokens
603
+
604
+ self.health = to_streamed_response_wrapper(
605
+ client.health,
640
606
  )
641
- self.projects = projects.ProjectsResourceWithStreamingResponse(client.projects)
642
607
 
643
608
 
644
- class AsyncLettaSDKWithStreamedResponse:
645
- def __init__(self, client: AsyncLettaSDK) -> None:
609
+ class AsyncLettaWithStreamedResponse:
610
+ def __init__(self, client: AsyncLetta) -> None:
646
611
  self.archives = archives.AsyncArchivesResourceWithStreamingResponse(client.archives)
647
612
  self.tools = tools.AsyncToolsResourceWithStreamingResponse(client.tools)
648
- self.sources = sources.AsyncSourcesResourceWithStreamingResponse(client.sources)
649
613
  self.folders = folders.AsyncFoldersResourceWithStreamingResponse(client.folders)
650
614
  self.agents = agents.AsyncAgentsResourceWithStreamingResponse(client.agents)
651
615
  self.groups = groups.AsyncGroupsResourceWithStreamingResponse(client.groups)
652
616
  self.identities = identities.AsyncIdentitiesResourceWithStreamingResponse(client.identities)
653
- self._internal_templates = _internal_templates.AsyncInternalTemplatesResourceWithStreamingResponse(
654
- client._internal_templates
655
- )
656
617
  self.models = models.AsyncModelsResourceWithStreamingResponse(client.models)
657
618
  self.blocks = blocks.AsyncBlocksResourceWithStreamingResponse(client.blocks)
658
- self.jobs = jobs.AsyncJobsResourceWithStreamingResponse(client.jobs)
659
- self.health = health.AsyncHealthResourceWithStreamingResponse(client.health)
660
- self.providers = providers.AsyncProvidersResourceWithStreamingResponse(client.providers)
661
619
  self.runs = runs.AsyncRunsResourceWithStreamingResponse(client.runs)
662
620
  self.steps = steps.AsyncStepsResourceWithStreamingResponse(client.steps)
663
621
  self.tags = tags.AsyncTagsResourceWithStreamingResponse(client.tags)
664
- self.telemetry = telemetry.AsyncTelemetryResourceWithStreamingResponse(client.telemetry)
665
- self.messages = messages.AsyncMessagesResourceWithStreamingResponse(client.messages)
666
- self.voice_beta = voice_beta.AsyncVoiceBetaResourceWithStreamingResponse(client.voice_beta)
667
- self.embeddings = embeddings.AsyncEmbeddingsResourceWithStreamingResponse(client.embeddings)
622
+ self.batches = batches.AsyncBatchesResourceWithStreamingResponse(client.batches)
668
623
  self.templates = templates.AsyncTemplatesResourceWithStreamingResponse(client.templates)
669
- self.client_side_access_tokens = (
670
- client_side_access_tokens.AsyncClientSideAccessTokensResourceWithStreamingResponse(
671
- client.client_side_access_tokens
672
- )
624
+
625
+ self.health = async_to_streamed_response_wrapper(
626
+ client.health,
673
627
  )
674
- self.projects = projects.AsyncProjectsResourceWithStreamingResponse(client.projects)
675
628
 
676
629
 
677
- Client = LettaSDK
630
+ Client = Letta
678
631
 
679
- AsyncClient = AsyncLettaSDK
632
+ AsyncClient = AsyncLetta
@@ -18,11 +18,11 @@ __all__ = [
18
18
  ]
19
19
 
20
20
 
21
- class LettaSDKError(Exception):
21
+ class LettaError(Exception):
22
22
  pass
23
23
 
24
24
 
25
- class APIError(LettaSDKError):
25
+ class APIError(LettaError):
26
26
  message: str
27
27
  request: httpx.Request
28
28