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
@@ -2,12 +2,12 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- import typing_extensions
6
5
  from typing import Optional
6
+ from typing_extensions import Literal
7
7
 
8
8
  import httpx
9
9
 
10
- from ..types import job_list_params, job_list_active_params
10
+ from ..types import archive_list_params, archive_create_params, archive_update_params
11
11
  from .._types import Body, Omit, Query, Headers, NotGiven, omit, not_given
12
12
  from .._utils import maybe_transform, async_maybe_transform
13
13
  from .._compat import cached_property
@@ -18,49 +18,53 @@ from .._response import (
18
18
  async_to_raw_response_wrapper,
19
19
  async_to_streamed_response_wrapper,
20
20
  )
21
- from ..types.job import Job
22
21
  from .._base_client import make_request_options
23
- from ..types.job_list_response import JobListResponse
24
- from ..types.job_list_active_response import JobListActiveResponse
22
+ from ..types.archive import Archive
23
+ from ..types.archive_list_response import ArchiveListResponse
24
+ from ..types.embedding_config_param import EmbeddingConfigParam
25
25
 
26
- __all__ = ["JobsResource", "AsyncJobsResource"]
26
+ __all__ = ["ArchivesResource", "AsyncArchivesResource"]
27
27
 
28
28
 
29
- class JobsResource(SyncAPIResource):
29
+ class ArchivesResource(SyncAPIResource):
30
30
  @cached_property
31
- def with_raw_response(self) -> JobsResourceWithRawResponse:
31
+ def with_raw_response(self) -> ArchivesResourceWithRawResponse:
32
32
  """
33
33
  This property can be used as a prefix for any HTTP method call to return
34
34
  the raw response object instead of the parsed content.
35
35
 
36
36
  For more information, see https://www.github.com/letta-ai/letta-python#accessing-raw-response-data-eg-headers
37
37
  """
38
- return JobsResourceWithRawResponse(self)
38
+ return ArchivesResourceWithRawResponse(self)
39
39
 
40
40
  @cached_property
41
- def with_streaming_response(self) -> JobsResourceWithStreamingResponse:
41
+ def with_streaming_response(self) -> ArchivesResourceWithStreamingResponse:
42
42
  """
43
43
  An alternative to `.with_raw_response` that doesn't eagerly read the response body.
44
44
 
45
45
  For more information, see https://www.github.com/letta-ai/letta-python#with_streaming_response
46
46
  """
47
- return JobsResourceWithStreamingResponse(self)
47
+ return ArchivesResourceWithStreamingResponse(self)
48
48
 
49
- def retrieve(
49
+ def create(
50
50
  self,
51
- job_id: str,
52
51
  *,
52
+ embedding_config: EmbeddingConfigParam,
53
+ name: str,
54
+ description: Optional[str] | Omit = omit,
53
55
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
54
56
  # The extra values given here take precedence over values defined on the client or passed to this method.
55
57
  extra_headers: Headers | None = None,
56
58
  extra_query: Query | None = None,
57
59
  extra_body: Body | None = None,
58
60
  timeout: float | httpx.Timeout | None | NotGiven = not_given,
59
- ) -> Job:
61
+ ) -> Archive:
60
62
  """
61
- Get the status of a job.
63
+ Create a new archive.
62
64
 
63
65
  Args:
66
+ embedding_config: Embedding configuration for the archive
67
+
64
68
  extra_headers: Send extra headers
65
69
 
66
70
  extra_query: Add additional query parameters to the request
@@ -69,48 +73,38 @@ class JobsResource(SyncAPIResource):
69
73
 
70
74
  timeout: Override the client-level default timeout for this request, in seconds
71
75
  """
72
- if not job_id:
73
- raise ValueError(f"Expected a non-empty value for `job_id` but received {job_id!r}")
74
- return self._get(
75
- f"/v1/jobs/{job_id}",
76
+ return self._post(
77
+ "/v1/archives/",
78
+ body=maybe_transform(
79
+ {
80
+ "embedding_config": embedding_config,
81
+ "name": name,
82
+ "description": description,
83
+ },
84
+ archive_create_params.ArchiveCreateParams,
85
+ ),
76
86
  options=make_request_options(
77
87
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
78
88
  ),
79
- cast_to=Job,
89
+ cast_to=Archive,
80
90
  )
81
91
 
82
- def list(
92
+ def retrieve(
83
93
  self,
94
+ archive_id: str,
84
95
  *,
85
- active: bool | Omit = omit,
86
- after: Optional[str] | Omit = omit,
87
- ascending: bool | Omit = omit,
88
- before: Optional[str] | Omit = omit,
89
- limit: Optional[int] | Omit = omit,
90
- source_id: Optional[str] | Omit = omit,
91
96
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
92
97
  # The extra values given here take precedence over values defined on the client or passed to this method.
93
98
  extra_headers: Headers | None = None,
94
99
  extra_query: Query | None = None,
95
100
  extra_body: Body | None = None,
96
101
  timeout: float | httpx.Timeout | None | NotGiven = not_given,
97
- ) -> JobListResponse:
102
+ ) -> Archive:
98
103
  """
99
- List all jobs.
104
+ Get a single archive by its ID.
100
105
 
101
106
  Args:
102
- active: Filter for active jobs.
103
-
104
- after: Cursor for pagination
105
-
106
- ascending: Whether to sort jobs oldest to newest (True, default) or newest to oldest
107
- (False)
108
-
109
- before: Cursor for pagination
110
-
111
- limit: Limit for pagination
112
-
113
- source_id: Only list jobs associated with the source.
107
+ archive_id: The ID of the archive in the format 'archive-<uuid4>'
114
108
 
115
109
  extra_headers: Send extra headers
116
110
 
@@ -120,79 +114,35 @@ class JobsResource(SyncAPIResource):
120
114
 
121
115
  timeout: Override the client-level default timeout for this request, in seconds
122
116
  """
117
+ if not archive_id:
118
+ raise ValueError(f"Expected a non-empty value for `archive_id` but received {archive_id!r}")
123
119
  return self._get(
124
- "/v1/jobs/",
125
- options=make_request_options(
126
- extra_headers=extra_headers,
127
- extra_query=extra_query,
128
- extra_body=extra_body,
129
- timeout=timeout,
130
- query=maybe_transform(
131
- {
132
- "active": active,
133
- "after": after,
134
- "ascending": ascending,
135
- "before": before,
136
- "limit": limit,
137
- "source_id": source_id,
138
- },
139
- job_list_params.JobListParams,
140
- ),
141
- ),
142
- cast_to=JobListResponse,
143
- )
144
-
145
- def delete(
146
- self,
147
- job_id: str,
148
- *,
149
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
150
- # The extra values given here take precedence over values defined on the client or passed to this method.
151
- extra_headers: Headers | None = None,
152
- extra_query: Query | None = None,
153
- extra_body: Body | None = None,
154
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
155
- ) -> Job:
156
- """
157
- Delete a job by its job_id.
158
-
159
- Args:
160
- extra_headers: Send extra headers
161
-
162
- extra_query: Add additional query parameters to the request
163
-
164
- extra_body: Add additional JSON properties to the request
165
-
166
- timeout: Override the client-level default timeout for this request, in seconds
167
- """
168
- if not job_id:
169
- raise ValueError(f"Expected a non-empty value for `job_id` but received {job_id!r}")
170
- return self._delete(
171
- f"/v1/jobs/{job_id}",
120
+ f"/v1/archives/{archive_id}",
172
121
  options=make_request_options(
173
122
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
174
123
  ),
175
- cast_to=Job,
124
+ cast_to=Archive,
176
125
  )
177
126
 
178
- def cancel(
127
+ def update(
179
128
  self,
180
- job_id: str,
129
+ archive_id: str,
181
130
  *,
131
+ description: Optional[str] | Omit = omit,
132
+ name: Optional[str] | Omit = omit,
182
133
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
183
134
  # The extra values given here take precedence over values defined on the client or passed to this method.
184
135
  extra_headers: Headers | None = None,
185
136
  extra_query: Query | None = None,
186
137
  extra_body: Body | None = None,
187
138
  timeout: float | httpx.Timeout | None | NotGiven = not_given,
188
- ) -> Job:
139
+ ) -> Archive:
189
140
  """
190
- Cancel a job by its job_id.
191
-
192
- This endpoint marks a job as cancelled, which will cause any associated agent
193
- execution to terminate as soon as possible.
141
+ Update an existing archive's name and/or description.
194
142
 
195
143
  Args:
144
+ archive_id: The ID of the archive in the format 'archive-<uuid4>'
145
+
196
146
  extra_headers: Send extra headers
197
147
 
198
148
  extra_query: Add additional query parameters to the request
@@ -201,46 +151,58 @@ class JobsResource(SyncAPIResource):
201
151
 
202
152
  timeout: Override the client-level default timeout for this request, in seconds
203
153
  """
204
- if not job_id:
205
- raise ValueError(f"Expected a non-empty value for `job_id` but received {job_id!r}")
154
+ if not archive_id:
155
+ raise ValueError(f"Expected a non-empty value for `archive_id` but received {archive_id!r}")
206
156
  return self._patch(
207
- f"/v1/jobs/{job_id}/cancel",
157
+ f"/v1/archives/{archive_id}",
158
+ body=maybe_transform(
159
+ {
160
+ "description": description,
161
+ "name": name,
162
+ },
163
+ archive_update_params.ArchiveUpdateParams,
164
+ ),
208
165
  options=make_request_options(
209
166
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
210
167
  ),
211
- cast_to=Job,
168
+ cast_to=Archive,
212
169
  )
213
170
 
214
- @typing_extensions.deprecated("deprecated")
215
- def list_active(
171
+ def list(
216
172
  self,
217
173
  *,
218
174
  after: Optional[str] | Omit = omit,
219
- ascending: bool | Omit = omit,
175
+ agent_id: Optional[str] | Omit = omit,
220
176
  before: Optional[str] | Omit = omit,
221
177
  limit: Optional[int] | Omit = omit,
222
- source_id: Optional[str] | Omit = omit,
178
+ name: Optional[str] | Omit = omit,
179
+ order: Literal["asc", "desc"] | Omit = omit,
223
180
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
224
181
  # The extra values given here take precedence over values defined on the client or passed to this method.
225
182
  extra_headers: Headers | None = None,
226
183
  extra_query: Query | None = None,
227
184
  extra_body: Body | None = None,
228
185
  timeout: float | httpx.Timeout | None | NotGiven = not_given,
229
- ) -> JobListActiveResponse:
186
+ ) -> ArchiveListResponse:
230
187
  """
231
- List all active jobs.
188
+ Get a list of all archives for the current organization with optional filters
189
+ and pagination.
232
190
 
233
191
  Args:
234
- after: Cursor for pagination
192
+ after: Archive ID cursor for pagination. Returns archives that come after this archive
193
+ ID in the specified sort order
194
+
195
+ agent_id: Only archives attached to this agent ID
235
196
 
236
- ascending: Whether to sort jobs oldest to newest (True, default) or newest to oldest
237
- (False)
197
+ before: Archive ID cursor for pagination. Returns archives that come before this archive
198
+ ID in the specified sort order
238
199
 
239
- before: Cursor for pagination
200
+ limit: Maximum number of archives to return
240
201
 
241
- limit: Limit for pagination
202
+ name: Filter by archive name (exact match)
242
203
 
243
- source_id: Only list jobs associated with the source.
204
+ order: Sort order for archives by creation time. 'asc' for oldest first, 'desc' for
205
+ newest first
244
206
 
245
207
  extra_headers: Send extra headers
246
208
 
@@ -251,7 +213,7 @@ class JobsResource(SyncAPIResource):
251
213
  timeout: Override the client-level default timeout for this request, in seconds
252
214
  """
253
215
  return self._get(
254
- "/v1/jobs/active",
216
+ "/v1/archives/",
255
217
  options=make_request_options(
256
218
  extra_headers=extra_headers,
257
219
  extra_query=extra_query,
@@ -260,41 +222,21 @@ class JobsResource(SyncAPIResource):
260
222
  query=maybe_transform(
261
223
  {
262
224
  "after": after,
263
- "ascending": ascending,
225
+ "agent_id": agent_id,
264
226
  "before": before,
265
227
  "limit": limit,
266
- "source_id": source_id,
228
+ "name": name,
229
+ "order": order,
267
230
  },
268
- job_list_active_params.JobListActiveParams,
231
+ archive_list_params.ArchiveListParams,
269
232
  ),
270
233
  ),
271
- cast_to=JobListActiveResponse,
234
+ cast_to=ArchiveListResponse,
272
235
  )
273
236
 
274
-
275
- class AsyncJobsResource(AsyncAPIResource):
276
- @cached_property
277
- def with_raw_response(self) -> AsyncJobsResourceWithRawResponse:
278
- """
279
- This property can be used as a prefix for any HTTP method call to return
280
- the raw response object instead of the parsed content.
281
-
282
- For more information, see https://www.github.com/letta-ai/letta-python#accessing-raw-response-data-eg-headers
283
- """
284
- return AsyncJobsResourceWithRawResponse(self)
285
-
286
- @cached_property
287
- def with_streaming_response(self) -> AsyncJobsResourceWithStreamingResponse:
288
- """
289
- An alternative to `.with_raw_response` that doesn't eagerly read the response body.
290
-
291
- For more information, see https://www.github.com/letta-ai/letta-python#with_streaming_response
292
- """
293
- return AsyncJobsResourceWithStreamingResponse(self)
294
-
295
- async def retrieve(
237
+ def delete(
296
238
  self,
297
- job_id: str,
239
+ archive_id: str,
298
240
  *,
299
241
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
300
242
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -302,11 +244,13 @@ class AsyncJobsResource(AsyncAPIResource):
302
244
  extra_query: Query | None = None,
303
245
  extra_body: Body | None = None,
304
246
  timeout: float | httpx.Timeout | None | NotGiven = not_given,
305
- ) -> Job:
247
+ ) -> Archive:
306
248
  """
307
- Get the status of a job.
249
+ Delete an archive by its ID.
308
250
 
309
251
  Args:
252
+ archive_id: The ID of the archive in the format 'archive-<uuid4>'
253
+
310
254
  extra_headers: Send extra headers
311
255
 
312
256
  extra_query: Add additional query parameters to the request
@@ -315,48 +259,55 @@ class AsyncJobsResource(AsyncAPIResource):
315
259
 
316
260
  timeout: Override the client-level default timeout for this request, in seconds
317
261
  """
318
- if not job_id:
319
- raise ValueError(f"Expected a non-empty value for `job_id` but received {job_id!r}")
320
- return await self._get(
321
- f"/v1/jobs/{job_id}",
262
+ if not archive_id:
263
+ raise ValueError(f"Expected a non-empty value for `archive_id` but received {archive_id!r}")
264
+ return self._delete(
265
+ f"/v1/archives/{archive_id}",
322
266
  options=make_request_options(
323
267
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
324
268
  ),
325
- cast_to=Job,
269
+ cast_to=Archive,
326
270
  )
327
271
 
328
- async def list(
272
+
273
+ class AsyncArchivesResource(AsyncAPIResource):
274
+ @cached_property
275
+ def with_raw_response(self) -> AsyncArchivesResourceWithRawResponse:
276
+ """
277
+ This property can be used as a prefix for any HTTP method call to return
278
+ the raw response object instead of the parsed content.
279
+
280
+ For more information, see https://www.github.com/letta-ai/letta-python#accessing-raw-response-data-eg-headers
281
+ """
282
+ return AsyncArchivesResourceWithRawResponse(self)
283
+
284
+ @cached_property
285
+ def with_streaming_response(self) -> AsyncArchivesResourceWithStreamingResponse:
286
+ """
287
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
288
+
289
+ For more information, see https://www.github.com/letta-ai/letta-python#with_streaming_response
290
+ """
291
+ return AsyncArchivesResourceWithStreamingResponse(self)
292
+
293
+ async def create(
329
294
  self,
330
295
  *,
331
- active: bool | Omit = omit,
332
- after: Optional[str] | Omit = omit,
333
- ascending: bool | Omit = omit,
334
- before: Optional[str] | Omit = omit,
335
- limit: Optional[int] | Omit = omit,
336
- source_id: Optional[str] | Omit = omit,
296
+ embedding_config: EmbeddingConfigParam,
297
+ name: str,
298
+ description: Optional[str] | Omit = omit,
337
299
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
338
300
  # The extra values given here take precedence over values defined on the client or passed to this method.
339
301
  extra_headers: Headers | None = None,
340
302
  extra_query: Query | None = None,
341
303
  extra_body: Body | None = None,
342
304
  timeout: float | httpx.Timeout | None | NotGiven = not_given,
343
- ) -> JobListResponse:
305
+ ) -> Archive:
344
306
  """
345
- List all jobs.
307
+ Create a new archive.
346
308
 
347
309
  Args:
348
- active: Filter for active jobs.
349
-
350
- after: Cursor for pagination
351
-
352
- ascending: Whether to sort jobs oldest to newest (True, default) or newest to oldest
353
- (False)
354
-
355
- before: Cursor for pagination
356
-
357
- limit: Limit for pagination
358
-
359
- source_id: Only list jobs associated with the source.
310
+ embedding_config: Embedding configuration for the archive
360
311
 
361
312
  extra_headers: Send extra headers
362
313
 
@@ -366,31 +317,25 @@ class AsyncJobsResource(AsyncAPIResource):
366
317
 
367
318
  timeout: Override the client-level default timeout for this request, in seconds
368
319
  """
369
- return await self._get(
370
- "/v1/jobs/",
320
+ return await self._post(
321
+ "/v1/archives/",
322
+ body=await async_maybe_transform(
323
+ {
324
+ "embedding_config": embedding_config,
325
+ "name": name,
326
+ "description": description,
327
+ },
328
+ archive_create_params.ArchiveCreateParams,
329
+ ),
371
330
  options=make_request_options(
372
- extra_headers=extra_headers,
373
- extra_query=extra_query,
374
- extra_body=extra_body,
375
- timeout=timeout,
376
- query=await async_maybe_transform(
377
- {
378
- "active": active,
379
- "after": after,
380
- "ascending": ascending,
381
- "before": before,
382
- "limit": limit,
383
- "source_id": source_id,
384
- },
385
- job_list_params.JobListParams,
386
- ),
331
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
387
332
  ),
388
- cast_to=JobListResponse,
333
+ cast_to=Archive,
389
334
  )
390
335
 
391
- async def delete(
336
+ async def retrieve(
392
337
  self,
393
- job_id: str,
338
+ archive_id: str,
394
339
  *,
395
340
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
396
341
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -398,11 +343,13 @@ class AsyncJobsResource(AsyncAPIResource):
398
343
  extra_query: Query | None = None,
399
344
  extra_body: Body | None = None,
400
345
  timeout: float | httpx.Timeout | None | NotGiven = not_given,
401
- ) -> Job:
346
+ ) -> Archive:
402
347
  """
403
- Delete a job by its job_id.
348
+ Get a single archive by its ID.
404
349
 
405
350
  Args:
351
+ archive_id: The ID of the archive in the format 'archive-<uuid4>'
352
+
406
353
  extra_headers: Send extra headers
407
354
 
408
355
  extra_query: Add additional query parameters to the request
@@ -411,34 +358,35 @@ class AsyncJobsResource(AsyncAPIResource):
411
358
 
412
359
  timeout: Override the client-level default timeout for this request, in seconds
413
360
  """
414
- if not job_id:
415
- raise ValueError(f"Expected a non-empty value for `job_id` but received {job_id!r}")
416
- return await self._delete(
417
- f"/v1/jobs/{job_id}",
361
+ if not archive_id:
362
+ raise ValueError(f"Expected a non-empty value for `archive_id` but received {archive_id!r}")
363
+ return await self._get(
364
+ f"/v1/archives/{archive_id}",
418
365
  options=make_request_options(
419
366
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
420
367
  ),
421
- cast_to=Job,
368
+ cast_to=Archive,
422
369
  )
423
370
 
424
- async def cancel(
371
+ async def update(
425
372
  self,
426
- job_id: str,
373
+ archive_id: str,
427
374
  *,
375
+ description: Optional[str] | Omit = omit,
376
+ name: Optional[str] | Omit = omit,
428
377
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
429
378
  # The extra values given here take precedence over values defined on the client or passed to this method.
430
379
  extra_headers: Headers | None = None,
431
380
  extra_query: Query | None = None,
432
381
  extra_body: Body | None = None,
433
382
  timeout: float | httpx.Timeout | None | NotGiven = not_given,
434
- ) -> Job:
383
+ ) -> Archive:
435
384
  """
436
- Cancel a job by its job_id.
437
-
438
- This endpoint marks a job as cancelled, which will cause any associated agent
439
- execution to terminate as soon as possible.
385
+ Update an existing archive's name and/or description.
440
386
 
441
387
  Args:
388
+ archive_id: The ID of the archive in the format 'archive-<uuid4>'
389
+
442
390
  extra_headers: Send extra headers
443
391
 
444
392
  extra_query: Add additional query parameters to the request
@@ -447,46 +395,58 @@ class AsyncJobsResource(AsyncAPIResource):
447
395
 
448
396
  timeout: Override the client-level default timeout for this request, in seconds
449
397
  """
450
- if not job_id:
451
- raise ValueError(f"Expected a non-empty value for `job_id` but received {job_id!r}")
398
+ if not archive_id:
399
+ raise ValueError(f"Expected a non-empty value for `archive_id` but received {archive_id!r}")
452
400
  return await self._patch(
453
- f"/v1/jobs/{job_id}/cancel",
401
+ f"/v1/archives/{archive_id}",
402
+ body=await async_maybe_transform(
403
+ {
404
+ "description": description,
405
+ "name": name,
406
+ },
407
+ archive_update_params.ArchiveUpdateParams,
408
+ ),
454
409
  options=make_request_options(
455
410
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
456
411
  ),
457
- cast_to=Job,
412
+ cast_to=Archive,
458
413
  )
459
414
 
460
- @typing_extensions.deprecated("deprecated")
461
- async def list_active(
415
+ async def list(
462
416
  self,
463
417
  *,
464
418
  after: Optional[str] | Omit = omit,
465
- ascending: bool | Omit = omit,
419
+ agent_id: Optional[str] | Omit = omit,
466
420
  before: Optional[str] | Omit = omit,
467
421
  limit: Optional[int] | Omit = omit,
468
- source_id: Optional[str] | Omit = omit,
422
+ name: Optional[str] | Omit = omit,
423
+ order: Literal["asc", "desc"] | Omit = omit,
469
424
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
470
425
  # The extra values given here take precedence over values defined on the client or passed to this method.
471
426
  extra_headers: Headers | None = None,
472
427
  extra_query: Query | None = None,
473
428
  extra_body: Body | None = None,
474
429
  timeout: float | httpx.Timeout | None | NotGiven = not_given,
475
- ) -> JobListActiveResponse:
430
+ ) -> ArchiveListResponse:
476
431
  """
477
- List all active jobs.
432
+ Get a list of all archives for the current organization with optional filters
433
+ and pagination.
478
434
 
479
435
  Args:
480
- after: Cursor for pagination
436
+ after: Archive ID cursor for pagination. Returns archives that come after this archive
437
+ ID in the specified sort order
481
438
 
482
- ascending: Whether to sort jobs oldest to newest (True, default) or newest to oldest
483
- (False)
439
+ agent_id: Only archives attached to this agent ID
484
440
 
485
- before: Cursor for pagination
441
+ before: Archive ID cursor for pagination. Returns archives that come before this archive
442
+ ID in the specified sort order
486
443
 
487
- limit: Limit for pagination
444
+ limit: Maximum number of archives to return
488
445
 
489
- source_id: Only list jobs associated with the source.
446
+ name: Filter by archive name (exact match)
447
+
448
+ order: Sort order for archives by creation time. 'asc' for oldest first, 'desc' for
449
+ newest first
490
450
 
491
451
  extra_headers: Send extra headers
492
452
 
@@ -497,7 +457,7 @@ class AsyncJobsResource(AsyncAPIResource):
497
457
  timeout: Override the client-level default timeout for this request, in seconds
498
458
  """
499
459
  return await self._get(
500
- "/v1/jobs/active",
460
+ "/v1/archives/",
501
461
  options=make_request_options(
502
462
  extra_headers=extra_headers,
503
463
  extra_query=extra_query,
@@ -506,105 +466,133 @@ class AsyncJobsResource(AsyncAPIResource):
506
466
  query=await async_maybe_transform(
507
467
  {
508
468
  "after": after,
509
- "ascending": ascending,
469
+ "agent_id": agent_id,
510
470
  "before": before,
511
471
  "limit": limit,
512
- "source_id": source_id,
472
+ "name": name,
473
+ "order": order,
513
474
  },
514
- job_list_active_params.JobListActiveParams,
475
+ archive_list_params.ArchiveListParams,
515
476
  ),
516
477
  ),
517
- cast_to=JobListActiveResponse,
478
+ cast_to=ArchiveListResponse,
479
+ )
480
+
481
+ async def delete(
482
+ self,
483
+ archive_id: str,
484
+ *,
485
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
486
+ # The extra values given here take precedence over values defined on the client or passed to this method.
487
+ extra_headers: Headers | None = None,
488
+ extra_query: Query | None = None,
489
+ extra_body: Body | None = None,
490
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
491
+ ) -> Archive:
492
+ """
493
+ Delete an archive by its ID.
494
+
495
+ Args:
496
+ archive_id: The ID of the archive in the format 'archive-<uuid4>'
497
+
498
+ extra_headers: Send extra headers
499
+
500
+ extra_query: Add additional query parameters to the request
501
+
502
+ extra_body: Add additional JSON properties to the request
503
+
504
+ timeout: Override the client-level default timeout for this request, in seconds
505
+ """
506
+ if not archive_id:
507
+ raise ValueError(f"Expected a non-empty value for `archive_id` but received {archive_id!r}")
508
+ return await self._delete(
509
+ f"/v1/archives/{archive_id}",
510
+ options=make_request_options(
511
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
512
+ ),
513
+ cast_to=Archive,
518
514
  )
519
515
 
520
516
 
521
- class JobsResourceWithRawResponse:
522
- def __init__(self, jobs: JobsResource) -> None:
523
- self._jobs = jobs
517
+ class ArchivesResourceWithRawResponse:
518
+ def __init__(self, archives: ArchivesResource) -> None:
519
+ self._archives = archives
524
520
 
521
+ self.create = to_raw_response_wrapper(
522
+ archives.create,
523
+ )
525
524
  self.retrieve = to_raw_response_wrapper(
526
- jobs.retrieve,
525
+ archives.retrieve,
526
+ )
527
+ self.update = to_raw_response_wrapper(
528
+ archives.update,
527
529
  )
528
530
  self.list = to_raw_response_wrapper(
529
- jobs.list,
531
+ archives.list,
530
532
  )
531
533
  self.delete = to_raw_response_wrapper(
532
- jobs.delete,
533
- )
534
- self.cancel = to_raw_response_wrapper(
535
- jobs.cancel,
536
- )
537
- self.list_active = ( # pyright: ignore[reportDeprecated]
538
- to_raw_response_wrapper(
539
- jobs.list_active, # pyright: ignore[reportDeprecated],
540
- )
534
+ archives.delete,
541
535
  )
542
536
 
543
537
 
544
- class AsyncJobsResourceWithRawResponse:
545
- def __init__(self, jobs: AsyncJobsResource) -> None:
546
- self._jobs = jobs
538
+ class AsyncArchivesResourceWithRawResponse:
539
+ def __init__(self, archives: AsyncArchivesResource) -> None:
540
+ self._archives = archives
547
541
 
542
+ self.create = async_to_raw_response_wrapper(
543
+ archives.create,
544
+ )
548
545
  self.retrieve = async_to_raw_response_wrapper(
549
- jobs.retrieve,
546
+ archives.retrieve,
547
+ )
548
+ self.update = async_to_raw_response_wrapper(
549
+ archives.update,
550
550
  )
551
551
  self.list = async_to_raw_response_wrapper(
552
- jobs.list,
552
+ archives.list,
553
553
  )
554
554
  self.delete = async_to_raw_response_wrapper(
555
- jobs.delete,
556
- )
557
- self.cancel = async_to_raw_response_wrapper(
558
- jobs.cancel,
559
- )
560
- self.list_active = ( # pyright: ignore[reportDeprecated]
561
- async_to_raw_response_wrapper(
562
- jobs.list_active, # pyright: ignore[reportDeprecated],
563
- )
555
+ archives.delete,
564
556
  )
565
557
 
566
558
 
567
- class JobsResourceWithStreamingResponse:
568
- def __init__(self, jobs: JobsResource) -> None:
569
- self._jobs = jobs
559
+ class ArchivesResourceWithStreamingResponse:
560
+ def __init__(self, archives: ArchivesResource) -> None:
561
+ self._archives = archives
570
562
 
563
+ self.create = to_streamed_response_wrapper(
564
+ archives.create,
565
+ )
571
566
  self.retrieve = to_streamed_response_wrapper(
572
- jobs.retrieve,
567
+ archives.retrieve,
568
+ )
569
+ self.update = to_streamed_response_wrapper(
570
+ archives.update,
573
571
  )
574
572
  self.list = to_streamed_response_wrapper(
575
- jobs.list,
573
+ archives.list,
576
574
  )
577
575
  self.delete = to_streamed_response_wrapper(
578
- jobs.delete,
579
- )
580
- self.cancel = to_streamed_response_wrapper(
581
- jobs.cancel,
582
- )
583
- self.list_active = ( # pyright: ignore[reportDeprecated]
584
- to_streamed_response_wrapper(
585
- jobs.list_active, # pyright: ignore[reportDeprecated],
586
- )
576
+ archives.delete,
587
577
  )
588
578
 
589
579
 
590
- class AsyncJobsResourceWithStreamingResponse:
591
- def __init__(self, jobs: AsyncJobsResource) -> None:
592
- self._jobs = jobs
580
+ class AsyncArchivesResourceWithStreamingResponse:
581
+ def __init__(self, archives: AsyncArchivesResource) -> None:
582
+ self._archives = archives
593
583
 
584
+ self.create = async_to_streamed_response_wrapper(
585
+ archives.create,
586
+ )
594
587
  self.retrieve = async_to_streamed_response_wrapper(
595
- jobs.retrieve,
588
+ archives.retrieve,
589
+ )
590
+ self.update = async_to_streamed_response_wrapper(
591
+ archives.update,
596
592
  )
597
593
  self.list = async_to_streamed_response_wrapper(
598
- jobs.list,
594
+ archives.list,
599
595
  )
600
596
  self.delete = async_to_streamed_response_wrapper(
601
- jobs.delete,
602
- )
603
- self.cancel = async_to_streamed_response_wrapper(
604
- jobs.cancel,
605
- )
606
- self.list_active = ( # pyright: ignore[reportDeprecated]
607
- async_to_streamed_response_wrapper(
608
- jobs.list_active, # pyright: ignore[reportDeprecated],
609
- )
597
+ archives.delete,
610
598
  )