letta-client 1.0.0a6__py3-none-any.whl → 1.0.0a7__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_sdk → letta_client}/resources/__init__.py +14 -154
  13. {letta_sdk → letta_client}/resources/agents/__init__.py +28 -42
  14. {letta_sdk → letta_client}/resources/agents/agents.py +216 -734
  15. {letta_sdk/resources/agents/core_memory → letta_client/resources/agents}/blocks.py +103 -12
  16. {letta_sdk → letta_client}/resources/agents/files.py +71 -8
  17. {letta_sdk → letta_client}/resources/agents/folders.py +90 -3
  18. letta_client/resources/agents/groups.py +242 -0
  19. {letta_sdk → letta_client}/resources/agents/messages.py +252 -480
  20. {letta_sdk → letta_client}/resources/agents/tools.py +135 -22
  21. letta_sdk/resources/jobs.py → letta_client/resources/archives.py +268 -280
  22. {letta_sdk/resources/messages → letta_client/resources/batches}/batches.py +35 -152
  23. letta_client/resources/batches/messages.py +238 -0
  24. {letta_sdk/resources/agents/core_memory → letta_client/resources/blocks}/__init__.py +14 -14
  25. letta_client/resources/blocks/agents.py +284 -0
  26. {letta_sdk/resources → letta_client/resources/blocks}/blocks.py +54 -167
  27. letta_client/resources/folders/__init__.py +47 -0
  28. letta_client/resources/folders/agents.py +234 -0
  29. letta_client/resources/folders/files.py +469 -0
  30. letta_sdk/resources/providers.py → letta_client/resources/folders/folders.py +292 -309
  31. {letta_sdk → letta_client}/resources/groups/groups.py +12 -78
  32. {letta_sdk → letta_client}/resources/groups/messages.py +165 -27
  33. letta_client/resources/identities/__init__.py +61 -0
  34. letta_client/resources/identities/agents.py +266 -0
  35. letta_client/resources/identities/blocks.py +234 -0
  36. {letta_sdk/resources → letta_client/resources/identities}/identities.py +267 -525
  37. letta_client/resources/identities/properties.py +174 -0
  38. letta_client/resources/models/__init__.py +33 -0
  39. {letta_sdk/resources → letta_client/resources/models}/embeddings.py +26 -49
  40. {letta_sdk/resources → letta_client/resources/models}/models.py +42 -117
  41. letta_client/resources/runs/__init__.py +61 -0
  42. letta_sdk/resources/archives.py → letta_client/resources/runs/messages.py +182 -153
  43. letta_client/resources/runs/runs.py +460 -0
  44. letta_sdk/resources/projects.py → letta_client/resources/runs/steps.py +93 -56
  45. letta_sdk/resources/voice_beta/chat.py → letta_client/resources/runs/usage.py +50 -57
  46. letta_client/resources/steps/__init__.py +75 -0
  47. letta_client/resources/steps/feedback.py +198 -0
  48. letta_client/resources/steps/messages.py +234 -0
  49. letta_client/resources/steps/metrics.py +167 -0
  50. letta_client/resources/steps/steps.py +511 -0
  51. letta_sdk/resources/telemetry.py → letta_client/resources/steps/trace.py +45 -56
  52. letta_client/resources/templates/__init__.py +33 -0
  53. letta_client/resources/templates/agents.py +236 -0
  54. letta_client/resources/templates/templates.py +102 -0
  55. {letta_sdk/resources/tools → letta_client/resources}/tools.py +239 -425
  56. letta_client/types/__init__.py +120 -0
  57. {letta_sdk → letta_client}/types/agent_create_params.py +5 -2
  58. {letta_sdk → letta_client}/types/agent_environment_variable.py +3 -0
  59. letta_client/types/agent_export_file_params.py +18 -0
  60. letta_sdk/types/agent_export_response.py → letta_client/types/agent_export_file_response.py +2 -2
  61. letta_sdk/types/agent_import_params.py → letta_client/types/agent_import_file_params.py +5 -2
  62. letta_sdk/types/agent_import_response.py → letta_client/types/agent_import_file_response.py +2 -2
  63. {letta_sdk → letta_client}/types/agent_list_params.py +19 -2
  64. {letta_sdk → letta_client}/types/agent_retrieve_params.py +20 -3
  65. {letta_sdk → letta_client}/types/agent_state.py +131 -3
  66. {letta_sdk → letta_client}/types/agent_type.py +1 -0
  67. {letta_sdk → letta_client}/types/agent_update_params.py +12 -0
  68. {letta_sdk → letta_client}/types/agents/__init__.py +12 -19
  69. letta_client/types/agents/approval_create_param.py +44 -0
  70. {letta_sdk → letta_client}/types/agents/approval_request_message.py +10 -2
  71. letta_client/types/agents/approval_response_message.py +63 -0
  72. {letta_sdk/types/agents/core_memory → letta_client/types/agents}/block.py +1 -1
  73. letta_sdk/types/identity_list_blocks_params.py → letta_client/types/agents/block_list_params.py +2 -2
  74. {letta_sdk/types/agents/core_memory → letta_client/types/agents}/block_update_params.py +1 -0
  75. letta_client/types/agents/file_list_params.py +40 -0
  76. letta_client/types/agents/folder_list_params.py +34 -0
  77. letta_sdk/types/source.py → letta_client/types/agents/folder_list_response.py +10 -6
  78. letta_client/types/agents/group_list_params.py +37 -0
  79. letta_client/types/agents/group_list_response.py +10 -0
  80. {letta_sdk → letta_client}/types/agents/letta_assistant_message_content_union.py +3 -0
  81. {letta_sdk → letta_client}/types/agents/letta_assistant_message_content_union_param.py +4 -0
  82. {letta_sdk → letta_client}/types/agents/letta_response.py +0 -4
  83. {letta_sdk → letta_client}/types/agents/message.py +93 -2
  84. {letta_sdk → letta_client}/types/agents/message_list_params.py +20 -5
  85. letta_sdk/types/agent_reset_messages_params.py → letta_client/types/agents/message_reset_params.py +2 -2
  86. {letta_sdk → letta_client}/types/agents/message_send_async_params.py +12 -3
  87. {letta_sdk → letta_client}/types/agents/message_send_params.py +12 -3
  88. letta_sdk/types/agents/message_send_stream_params.py → letta_client/types/agents/message_stream_params.py +14 -5
  89. {letta_sdk → letta_client}/types/agents/message_update_params.py +4 -0
  90. {letta_sdk → letta_client}/types/agents/omitted_reasoning_content.py +3 -0
  91. {letta_sdk → letta_client}/types/agents/omitted_reasoning_content_param.py +4 -0
  92. {letta_sdk → letta_client}/types/agents/run.py +16 -19
  93. {letta_sdk → letta_client}/types/agents/text_content.py +3 -0
  94. {letta_sdk → letta_client}/types/agents/text_content_param.py +4 -0
  95. {letta_sdk → letta_client}/types/agents/tool_call_content.py +3 -0
  96. {letta_sdk → letta_client}/types/agents/tool_call_content_param.py +4 -1
  97. {letta_sdk → letta_client}/types/agents/tool_call_message.py +6 -2
  98. letta_client/types/agents/tool_list_params.py +34 -0
  99. {letta_sdk → letta_client}/types/agents/tool_return.py +7 -3
  100. letta_client/types/agents/tool_return_param.py +25 -0
  101. letta_client/types/agents/tool_update_approval_params.py +21 -0
  102. {letta_sdk → letta_client}/types/archive.py +4 -0
  103. letta_client/types/archive_create_params.py +19 -0
  104. letta_sdk/types/archive_retrieve_params.py → letta_client/types/archive_list_params.py +2 -2
  105. letta_sdk/types/archive_retrieve_response.py → letta_client/types/archive_list_response.py +2 -2
  106. {letta_sdk → letta_client}/types/archive_update_params.py +3 -3
  107. {letta_sdk/types/messages → letta_client/types}/batch_create_params.py +15 -6
  108. letta_sdk/types/job.py → letta_client/types/batch_job.py +8 -3
  109. letta_client/types/batches/__init__.py +6 -0
  110. letta_sdk/types/messages/batch_list_messages_params.py → letta_client/types/batches/message_list_params.py +2 -2
  111. letta_sdk/types/messages/batch_list_messages_response.py → letta_client/types/batches/message_list_response.py +2 -2
  112. {letta_sdk → letta_client}/types/block_list_response.py +1 -1
  113. letta_client/types/blocks/__init__.py +6 -0
  114. letta_sdk/types/block_list_agents_params.py → letta_client/types/blocks/agent_list_params.py +22 -5
  115. letta_sdk/types/agent_list_groups_response.py → letta_client/types/blocks/agent_list_response.py +3 -3
  116. letta_client/types/child_tool_rule.py +40 -0
  117. letta_client/types/child_tool_rule_param.py +42 -0
  118. letta_client/types/folders/__init__.py +10 -0
  119. letta_sdk/types/folder_list_agents_params.py → letta_client/types/folders/agent_list_params.py +2 -2
  120. letta_sdk/types/run_list_active_response.py → letta_client/types/folders/agent_list_response.py +2 -4
  121. letta_sdk/types/folder_list_files_params.py → letta_client/types/folders/file_list_params.py +2 -2
  122. letta_client/types/folders/file_list_response.py +68 -0
  123. letta_sdk/types/source_upload_file_params.py → letta_client/types/folders/file_upload_params.py +5 -6
  124. letta_sdk/types/file_metadata.py → letta_client/types/folders/file_upload_response.py +5 -5
  125. {letta_sdk → letta_client}/types/groups/__init__.py +1 -1
  126. {letta_sdk → letta_client}/types/groups/message_send_params.py +12 -3
  127. letta_sdk/types/groups/message_send_stream_params.py → letta_client/types/groups/message_stream_params.py +14 -5
  128. {letta_sdk → letta_client}/types/groups/message_update_params.py +4 -0
  129. letta_sdk/types/health_check_response.py → letta_client/types/health_response.py +2 -2
  130. letta_client/types/identities/__init__.py +9 -0
  131. letta_sdk/types/identity_list_agents_params.py → letta_client/types/identities/agent_list_params.py +19 -3
  132. letta_client/types/identities/agent_list_response.py +10 -0
  133. letta_client/types/identities/block_list_params.py +34 -0
  134. letta_sdk/types/agents/folder_list_response.py → letta_client/types/identities/block_list_response.py +3 -3
  135. letta_sdk/types/identity_upsert_properties_params.py → letta_client/types/identities/property_upsert_params.py +3 -3
  136. letta_sdk/types/identity_modify_params.py → letta_client/types/identity_update_params.py +2 -2
  137. {letta_sdk → letta_client}/types/init_tool_rule.py +10 -1
  138. {letta_sdk → letta_client}/types/init_tool_rule_param.py +10 -1
  139. {letta_sdk → letta_client}/types/llm_config.py +6 -0
  140. {letta_sdk → letta_client}/types/llm_config_param.py +6 -0
  141. {letta_sdk/types/voice_beta → letta_client/types/models}/__init__.py +1 -1
  142. letta_sdk/types/agents/archival_memory_create_response.py → letta_client/types/models/embedding_list_response.py +3 -3
  143. {letta_sdk → letta_client}/types/run_list_params.py +29 -5
  144. letta_client/types/runs/__init__.py +10 -0
  145. letta_sdk/types/run_list_messages_params.py → letta_client/types/runs/message_list_params.py +5 -2
  146. letta_client/types/runs/message_list_response.py +10 -0
  147. letta_sdk/types/run_retrieve_stream_params.py → letta_client/types/runs/message_stream_params.py +2 -2
  148. letta_sdk/types/run_list_steps_params.py → letta_client/types/runs/step_list_params.py +9 -6
  149. letta_sdk/types/job_list_response.py → letta_client/types/runs/step_list_response.py +3 -3
  150. letta_sdk/types/run_retrieve_usage_response.py → letta_client/types/runs/usage_retrieve_response.py +3 -3
  151. {letta_sdk → letta_client}/types/step.py +6 -6
  152. letta_client/types/steps/__init__.py +8 -0
  153. letta_sdk/types/step_update_feedback_params.py → letta_client/types/steps/feedback_create_params.py +3 -3
  154. letta_sdk/types/step_list_messages_params.py → letta_client/types/steps/message_list_params.py +2 -2
  155. letta_client/types/steps/message_list_response.py +34 -0
  156. letta_sdk/types/step_retrieve_metrics_response.py → letta_client/types/steps/metric_retrieve_response.py +6 -6
  157. {letta_sdk/types/tools → letta_client/types/templates}/__init__.py +2 -0
  158. letta_sdk/types/template_create_agents_params.py → letta_client/types/templates/agent_create_params.py +4 -4
  159. {letta_sdk → letta_client}/types/tool.py +6 -0
  160. {letta_sdk → letta_client}/types/tool_create_params.py +6 -0
  161. {letta_sdk → letta_client}/types/tool_return_message.py +3 -0
  162. letta_sdk/types/tool_modify_params.py → letta_client/types/tool_update_params.py +8 -2
  163. letta_sdk/types/tool_upsert_base_response.py → letta_client/types/tool_upsert_base_tools_response.py +2 -2
  164. {letta_sdk → letta_client}/types/tool_upsert_params.py +6 -0
  165. {letta_client-1.0.0a6.dist-info → letta_client-1.0.0a7.dist-info}/METADATA +110 -70
  166. letta_client-1.0.0a7.dist-info/RECORD +307 -0
  167. {letta_client-1.0.0a6.dist-info → letta_client-1.0.0a7.dist-info}/licenses/LICENSE +1 -1
  168. letta_client-1.0.0a6.dist-info/RECORD +0 -420
  169. letta_sdk/resources/_internal_templates/__init__.py +0 -33
  170. letta_sdk/resources/_internal_templates/_internal_templates.py +0 -961
  171. letta_sdk/resources/_internal_templates/deployment.py +0 -268
  172. letta_sdk/resources/agents/archival_memory.py +0 -581
  173. letta_sdk/resources/agents/core_memory/core_memory.py +0 -278
  174. letta_sdk/resources/agents/sources.py +0 -332
  175. letta_sdk/resources/client_side_access_tokens.py +0 -402
  176. letta_sdk/resources/folders.py +0 -1562
  177. letta_sdk/resources/health.py +0 -135
  178. letta_sdk/resources/messages/messages.py +0 -102
  179. letta_sdk/resources/runs.py +0 -1016
  180. letta_sdk/resources/sources/__init__.py +0 -33
  181. letta_sdk/resources/sources/files.py +0 -341
  182. letta_sdk/resources/sources/sources.py +0 -1371
  183. letta_sdk/resources/steps.py +0 -784
  184. letta_sdk/resources/templates.py +0 -1310
  185. letta_sdk/resources/tools/__init__.py +0 -47
  186. letta_sdk/resources/tools/composio/__init__.py +0 -33
  187. letta_sdk/resources/tools/composio/apps.py +0 -214
  188. letta_sdk/resources/tools/composio/composio.py +0 -201
  189. letta_sdk/resources/tools/mcp/__init__.py +0 -47
  190. letta_sdk/resources/tools/mcp/mcp.py +0 -134
  191. letta_sdk/resources/tools/mcp/oauth.py +0 -214
  192. letta_sdk/resources/tools/mcp/servers/__init__.py +0 -33
  193. letta_sdk/resources/tools/mcp/servers/servers.py +0 -1785
  194. letta_sdk/resources/tools/mcp/servers/tools.py +0 -263
  195. letta_sdk/resources/voice_beta/__init__.py +0 -33
  196. letta_sdk/resources/voice_beta/voice_beta.py +0 -102
  197. letta_sdk/types/__init__.py +0 -226
  198. letta_sdk/types/_internal_templates/__init__.py +0 -7
  199. letta_sdk/types/_internal_templates/deployment_delete_response.py +0 -17
  200. letta_sdk/types/_internal_templates/deployment_list_entities_params.py +0 -15
  201. letta_sdk/types/_internal_templates/deployment_list_entities_response.py +0 -31
  202. letta_sdk/types/agent_export_params.py +0 -17
  203. letta_sdk/types/agent_list_groups_params.py +0 -13
  204. letta_sdk/types/agent_migrate_params.py +0 -19
  205. letta_sdk/types/agent_migrate_response.py +0 -11
  206. letta_sdk/types/agent_retrieve_context_response.py +0 -110
  207. letta_sdk/types/agent_search_params.py +0 -78
  208. letta_sdk/types/agent_search_response.py +0 -16
  209. letta_sdk/types/agent_summarize_params.py +0 -12
  210. letta_sdk/types/agents/approval_create_param.py +0 -22
  211. letta_sdk/types/agents/approval_response_message.py +0 -41
  212. letta_sdk/types/agents/archival_memory_create_params.py +0 -23
  213. letta_sdk/types/agents/archival_memory_list_params.py +0 -28
  214. letta_sdk/types/agents/archival_memory_list_response.py +0 -10
  215. letta_sdk/types/agents/archival_memory_search_params.py +0 -35
  216. letta_sdk/types/agents/archival_memory_search_response.py +0 -26
  217. letta_sdk/types/agents/core_memory/__init__.py +0 -7
  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/letta_request_param.py +0 -45
  221. letta_sdk/types/agents/letta_streaming_request_param.py +0 -60
  222. letta_sdk/types/agents/memory.py +0 -92
  223. letta_sdk/types/agents/message_preview_raw_payload_params.py +0 -103
  224. letta_sdk/types/agents/message_preview_raw_payload_response.py +0 -8
  225. letta_sdk/types/agents/message_search_params.py +0 -38
  226. letta_sdk/types/agents/message_search_response.py +0 -29
  227. letta_sdk/types/agents/source_list_response.py +0 -10
  228. letta_sdk/types/agents/tool_modify_approval_params.py +0 -13
  229. letta_sdk/types/block_list_agents_response.py +0 -10
  230. letta_sdk/types/child_tool_rule.py +0 -21
  231. letta_sdk/types/child_tool_rule_param.py +0 -23
  232. letta_sdk/types/client_side_access_token_create_params.py +0 -32
  233. letta_sdk/types/client_side_access_token_create_response.py +0 -34
  234. letta_sdk/types/client_side_access_token_delete_params.py +0 -11
  235. letta_sdk/types/client_side_access_token_list_params.py +0 -23
  236. letta_sdk/types/client_side_access_token_list_response.py +0 -40
  237. letta_sdk/types/duplicate_file_handling.py +0 -7
  238. letta_sdk/types/embedding_get_total_storage_size_response.py +0 -7
  239. letta_sdk/types/file_processing_status.py +0 -7
  240. letta_sdk/types/folder_get_by_name_response.py +0 -7
  241. letta_sdk/types/folder_list_agents_response.py +0 -8
  242. letta_sdk/types/folder_list_files_response.py +0 -10
  243. letta_sdk/types/folder_list_passages_params.py +0 -34
  244. letta_sdk/types/folder_list_passages_response.py +0 -10
  245. letta_sdk/types/folder_retrieve_metadata_params.py +0 -11
  246. letta_sdk/types/folder_upload_file_params.py +0 -21
  247. letta_sdk/types/identity_list_agents_response.py +0 -10
  248. letta_sdk/types/identity_list_blocks_response.py +0 -10
  249. letta_sdk/types/internal_template_create_agent_params.py +0 -217
  250. letta_sdk/types/internal_template_create_block_params.py +0 -54
  251. letta_sdk/types/internal_template_create_group_params.py +0 -49
  252. letta_sdk/types/job_list_active_params.py +0 -28
  253. letta_sdk/types/job_list_active_response.py +0 -10
  254. letta_sdk/types/job_list_params.py +0 -31
  255. letta_sdk/types/messages/__init__.py +0 -10
  256. letta_sdk/types/messages/batch_job.py +0 -60
  257. letta_sdk/types/model_list_embedding_response.py +0 -10
  258. letta_sdk/types/organization_sources_stats.py +0 -49
  259. letta_sdk/types/passage.py +0 -56
  260. letta_sdk/types/project_list_params.py +0 -16
  261. letta_sdk/types/project_list_response.py +0 -23
  262. letta_sdk/types/provider.py +0 -42
  263. letta_sdk/types/provider_check_params.py +0 -30
  264. letta_sdk/types/provider_create_params.py +0 -33
  265. letta_sdk/types/provider_list_params.py +0 -42
  266. letta_sdk/types/provider_list_response.py +0 -10
  267. letta_sdk/types/provider_update_params.py +0 -25
  268. letta_sdk/types/run_list_active_params.py +0 -18
  269. letta_sdk/types/run_list_messages_response.py +0 -10
  270. letta_sdk/types/run_list_steps_response.py +0 -10
  271. letta_sdk/types/source_count_response.py +0 -7
  272. letta_sdk/types/source_create_params.py +0 -33
  273. letta_sdk/types/source_get_agents_response.py +0 -8
  274. letta_sdk/types/source_get_by_name_response.py +0 -7
  275. letta_sdk/types/source_get_metadata_params.py +0 -11
  276. letta_sdk/types/source_list_passages_params.py +0 -19
  277. letta_sdk/types/source_list_passages_response.py +0 -10
  278. letta_sdk/types/source_list_response.py +0 -10
  279. letta_sdk/types/source_update_params.py +0 -27
  280. letta_sdk/types/sources/__init__.py +0 -7
  281. letta_sdk/types/sources/file_list_params.py +0 -26
  282. letta_sdk/types/sources/file_list_response.py +0 -10
  283. letta_sdk/types/sources/file_retrieve_params.py +0 -14
  284. letta_sdk/types/step_list_messages_response.py +0 -34
  285. letta_sdk/types/template_create_agents_response.py +0 -12
  286. letta_sdk/types/template_create_params.py +0 -40
  287. letta_sdk/types/template_create_response.py +0 -29
  288. letta_sdk/types/template_delete_response.py +0 -9
  289. letta_sdk/types/template_fork_params.py +0 -17
  290. letta_sdk/types/template_fork_response.py +0 -29
  291. letta_sdk/types/template_get_snapshot_response.py +0 -258
  292. letta_sdk/types/template_list_params.py +0 -34
  293. letta_sdk/types/template_list_response.py +0 -35
  294. letta_sdk/types/template_list_versions_params.py +0 -16
  295. letta_sdk/types/template_list_versions_response.py +0 -29
  296. letta_sdk/types/template_rename_params.py +0 -14
  297. letta_sdk/types/template_rename_response.py +0 -9
  298. letta_sdk/types/template_save_version_params.py +0 -32
  299. letta_sdk/types/template_save_version_response.py +0 -29
  300. letta_sdk/types/template_update_description_params.py +0 -14
  301. letta_sdk/types/template_update_description_response.py +0 -9
  302. letta_sdk/types/tool_run_params.py +0 -43
  303. letta_sdk/types/tools/composio/__init__.py +0 -6
  304. letta_sdk/types/tools/composio/app_list_actions_response.py +0 -70
  305. letta_sdk/types/tools/composio/app_list_response.py +0 -103
  306. letta_sdk/types/tools/mcp/__init__.py +0 -21
  307. letta_sdk/types/tools/mcp/mcp_server_type.py +0 -7
  308. letta_sdk/types/tools/mcp/oauth_callback_params.py +0 -22
  309. letta_sdk/types/tools/mcp/server_add_params.py +0 -68
  310. letta_sdk/types/tools/mcp/server_add_response.py +0 -14
  311. letta_sdk/types/tools/mcp/server_connect_params.py +0 -68
  312. letta_sdk/types/tools/mcp/server_delete_response.py +0 -14
  313. letta_sdk/types/tools/mcp/server_list_response.py +0 -14
  314. letta_sdk/types/tools/mcp/server_resync_params.py +0 -12
  315. letta_sdk/types/tools/mcp/server_test_params.py +0 -68
  316. letta_sdk/types/tools/mcp/server_update_params.py +0 -43
  317. letta_sdk/types/tools/mcp/server_update_response.py +0 -12
  318. letta_sdk/types/tools/mcp/servers/__init__.py +0 -6
  319. letta_sdk/types/tools/mcp/servers/tool_execute_params.py +0 -15
  320. letta_sdk/types/tools/mcp/servers/tool_list_response.py +0 -85
  321. letta_sdk/types/tools/mcp/sse_server_config.py +0 -27
  322. letta_sdk/types/tools/mcp/sse_server_config_param.py +0 -29
  323. letta_sdk/types/tools/mcp/stdio_server_config.py +0 -24
  324. letta_sdk/types/tools/mcp/stdio_server_config_param.py +0 -27
  325. letta_sdk/types/tools/mcp/streamable_http_server_config.py +0 -27
  326. letta_sdk/types/tools/mcp/streamable_http_server_config_param.py +0 -29
  327. letta_sdk/types/voice_beta/chat_create_completion_params.py +0 -12
  328. {letta_sdk → letta_client}/_compat.py +0 -0
  329. {letta_sdk → letta_client}/_constants.py +0 -0
  330. {letta_sdk → letta_client}/_files.py +0 -0
  331. {letta_sdk → letta_client}/_models.py +0 -0
  332. {letta_sdk → letta_client}/_qs.py +0 -0
  333. {letta_sdk → letta_client}/_utils/__init__.py +0 -0
  334. {letta_sdk → letta_client}/_utils/_compat.py +0 -0
  335. {letta_sdk → letta_client}/_utils/_datetime_parse.py +0 -0
  336. {letta_sdk → letta_client}/_utils/_proxy.py +0 -0
  337. {letta_sdk → letta_client}/_utils/_reflection.py +0 -0
  338. {letta_sdk → letta_client}/_utils/_streams.py +0 -0
  339. {letta_sdk → letta_client}/_utils/_sync.py +0 -0
  340. {letta_sdk → letta_client}/_utils/_transform.py +0 -0
  341. {letta_sdk → letta_client}/_utils/_typing.py +0 -0
  342. {letta_sdk → letta_client}/_utils/_utils.py +0 -0
  343. {letta_sdk → letta_client}/lib/.keep +0 -0
  344. {letta_sdk → letta_client}/py.typed +0 -0
  345. {letta_sdk/resources/messages → letta_client/resources/batches}/__init__.py +6 -6
  346. {letta_sdk → letta_client}/resources/groups/__init__.py +0 -0
  347. {letta_sdk → letta_client}/resources/tags.py +0 -0
  348. {letta_sdk → letta_client}/types/agent_count_response.py +0 -0
  349. {letta_sdk → letta_client}/types/agent_list_response.py +0 -0
  350. {letta_sdk → letta_client}/types/agents/assistant_message.py +0 -0
  351. {letta_sdk/types/agents/core_memory → letta_client/types/agents}/block_list_response.py +0 -0
  352. {letta_sdk → letta_client}/types/agents/file_close_all_response.py +0 -0
  353. {letta_sdk → letta_client}/types/agents/file_list_response.py +0 -0
  354. {letta_sdk → letta_client}/types/agents/file_open_response.py +0 -0
  355. {letta_sdk → letta_client}/types/agents/hidden_reasoning_message.py +0 -0
  356. {letta_sdk → letta_client}/types/agents/image_content.py +0 -0
  357. {letta_sdk → letta_client}/types/agents/image_content_param.py +0 -0
  358. {letta_sdk → letta_client}/types/agents/job_status.py +0 -0
  359. {letta_sdk → letta_client}/types/agents/job_type.py +0 -0
  360. {letta_sdk → letta_client}/types/agents/letta_message_union.py +0 -0
  361. {letta_sdk → letta_client}/types/agents/letta_user_message_content_union.py +0 -0
  362. {letta_sdk → letta_client}/types/agents/letta_user_message_content_union_param.py +0 -0
  363. {letta_sdk → letta_client}/types/agents/message_cancel_params.py +0 -0
  364. {letta_sdk → letta_client}/types/agents/message_cancel_response.py +0 -0
  365. {letta_sdk → letta_client}/types/agents/message_list_response.py +0 -0
  366. {letta_sdk → letta_client}/types/agents/message_role.py +0 -0
  367. {letta_sdk → letta_client}/types/agents/message_type.py +0 -0
  368. {letta_sdk → letta_client}/types/agents/message_update_response.py +0 -0
  369. {letta_sdk → letta_client}/types/agents/reasoning_content.py +0 -0
  370. {letta_sdk → letta_client}/types/agents/reasoning_content_param.py +0 -0
  371. {letta_sdk → letta_client}/types/agents/reasoning_message.py +0 -0
  372. {letta_sdk → letta_client}/types/agents/redacted_reasoning_content.py +0 -0
  373. {letta_sdk → letta_client}/types/agents/redacted_reasoning_content_param.py +0 -0
  374. {letta_sdk → letta_client}/types/agents/system_message.py +0 -0
  375. {letta_sdk → letta_client}/types/agents/tool_call.py +0 -0
  376. {letta_sdk → letta_client}/types/agents/tool_call_delta.py +0 -0
  377. {letta_sdk → letta_client}/types/agents/tool_list_response.py +0 -0
  378. {letta_sdk → letta_client}/types/agents/tool_return_content.py +0 -0
  379. {letta_sdk → letta_client}/types/agents/tool_return_content_param.py +0 -0
  380. {letta_sdk → letta_client}/types/agents/update_assistant_message_param.py +0 -0
  381. {letta_sdk → letta_client}/types/agents/update_reasoning_message_param.py +0 -0
  382. {letta_sdk → letta_client}/types/agents/update_system_message_param.py +0 -0
  383. {letta_sdk → letta_client}/types/agents/update_user_message_param.py +0 -0
  384. {letta_sdk → letta_client}/types/agents/user_message.py +0 -0
  385. {letta_sdk/types/messages → letta_client/types}/batch_list_params.py +0 -0
  386. {letta_sdk/types/messages → letta_client/types}/batch_list_response.py +0 -0
  387. {letta_sdk → letta_client}/types/block_count_response.py +0 -0
  388. {letta_sdk → letta_client}/types/block_create_params.py +0 -0
  389. {letta_sdk → letta_client}/types/block_list_params.py +0 -0
  390. {letta_sdk → letta_client}/types/block_update_params.py +0 -0
  391. {letta_sdk → letta_client}/types/conditional_tool_rule.py +0 -0
  392. {letta_sdk → letta_client}/types/conditional_tool_rule_param.py +0 -0
  393. {letta_sdk → letta_client}/types/continue_tool_rule.py +0 -0
  394. {letta_sdk → letta_client}/types/continue_tool_rule_param.py +0 -0
  395. {letta_sdk → letta_client}/types/create_block_param.py +0 -0
  396. {letta_sdk → letta_client}/types/dynamic_manager_param.py +0 -0
  397. {letta_sdk → letta_client}/types/embedding_config.py +0 -0
  398. {letta_sdk → letta_client}/types/embedding_config_param.py +0 -0
  399. {letta_sdk → letta_client}/types/folder.py +0 -0
  400. {letta_sdk → letta_client}/types/folder_count_response.py +0 -0
  401. {letta_sdk → letta_client}/types/folder_create_params.py +0 -0
  402. {letta_sdk → letta_client}/types/folder_list_params.py +0 -0
  403. {letta_sdk → letta_client}/types/folder_list_response.py +0 -0
  404. {letta_sdk → letta_client}/types/folder_update_params.py +0 -0
  405. {letta_sdk → letta_client}/types/group.py +0 -0
  406. {letta_sdk → letta_client}/types/group_count_response.py +0 -0
  407. {letta_sdk → letta_client}/types/group_create_params.py +0 -0
  408. {letta_sdk → letta_client}/types/group_list_params.py +0 -0
  409. {letta_sdk → letta_client}/types/group_list_response.py +0 -0
  410. {letta_sdk → letta_client}/types/group_update_params.py +0 -0
  411. {letta_sdk → letta_client}/types/groups/message_list_params.py +0 -0
  412. {letta_sdk → letta_client}/types/groups/message_list_response.py +0 -0
  413. {letta_sdk → letta_client}/types/groups/message_update_response.py +0 -0
  414. {letta_sdk → letta_client}/types/identity.py +0 -0
  415. {letta_sdk → letta_client}/types/identity_count_response.py +0 -0
  416. {letta_sdk → letta_client}/types/identity_create_params.py +0 -0
  417. {letta_sdk → letta_client}/types/identity_list_params.py +0 -0
  418. {letta_sdk → letta_client}/types/identity_list_response.py +0 -0
  419. {letta_sdk → letta_client}/types/identity_property.py +0 -0
  420. {letta_sdk → letta_client}/types/identity_property_param.py +0 -0
  421. {letta_sdk → letta_client}/types/identity_type.py +0 -0
  422. {letta_sdk → letta_client}/types/identity_upsert_params.py +0 -0
  423. {letta_sdk → letta_client}/types/json_object_response_format.py +0 -0
  424. {letta_sdk → letta_client}/types/json_object_response_format_param.py +0 -0
  425. {letta_sdk → letta_client}/types/json_schema_response_format.py +0 -0
  426. {letta_sdk → letta_client}/types/json_schema_response_format_param.py +0 -0
  427. {letta_sdk → letta_client}/types/letta_message_content_union_param.py +0 -0
  428. {letta_sdk → letta_client}/types/manager_type.py +0 -0
  429. {letta_sdk → letta_client}/types/max_count_per_step_tool_rule.py +0 -0
  430. {letta_sdk → letta_client}/types/max_count_per_step_tool_rule_param.py +0 -0
  431. {letta_sdk → letta_client}/types/message_create_param.py +0 -0
  432. {letta_sdk → letta_client}/types/model_list_params.py +0 -0
  433. {letta_sdk → letta_client}/types/model_list_response.py +0 -0
  434. {letta_sdk → letta_client}/types/npm_requirement.py +0 -0
  435. {letta_sdk → letta_client}/types/npm_requirement_param.py +0 -0
  436. {letta_sdk → letta_client}/types/parent_tool_rule.py +0 -0
  437. {letta_sdk → letta_client}/types/parent_tool_rule_param.py +0 -0
  438. {letta_sdk → letta_client}/types/pip_requirement.py +0 -0
  439. {letta_sdk → letta_client}/types/pip_requirement_param.py +0 -0
  440. {letta_sdk → letta_client}/types/provider_category.py +0 -0
  441. {letta_sdk → letta_client}/types/provider_trace.py +0 -0
  442. {letta_sdk → letta_client}/types/provider_type.py +0 -0
  443. {letta_sdk → letta_client}/types/required_before_exit_tool_rule.py +0 -0
  444. {letta_sdk → letta_client}/types/required_before_exit_tool_rule_param.py +0 -0
  445. {letta_sdk → letta_client}/types/requires_approval_tool_rule.py +0 -0
  446. {letta_sdk → letta_client}/types/requires_approval_tool_rule_param.py +0 -0
  447. {letta_sdk → letta_client}/types/round_robin_manager_param.py +0 -0
  448. {letta_sdk → letta_client}/types/run_list_response.py +0 -0
  449. {letta_sdk → letta_client}/types/sleeptime_manager_param.py +0 -0
  450. {letta_sdk → letta_client}/types/step_list_params.py +0 -0
  451. {letta_sdk → letta_client}/types/step_list_response.py +0 -0
  452. {letta_sdk → letta_client}/types/stop_reason_type.py +0 -0
  453. {letta_sdk → letta_client}/types/supervisor_manager_param.py +0 -0
  454. {letta_sdk → letta_client}/types/tag_list_params.py +0 -0
  455. {letta_sdk → letta_client}/types/tag_list_response.py +0 -0
  456. {letta_sdk → letta_client}/types/terminal_tool_rule.py +0 -0
  457. {letta_sdk → letta_client}/types/terminal_tool_rule_param.py +0 -0
  458. {letta_sdk → letta_client}/types/text_response_format.py +0 -0
  459. {letta_sdk → letta_client}/types/text_response_format_param.py +0 -0
  460. {letta_sdk → letta_client}/types/tool_count_params.py +0 -0
  461. {letta_sdk → letta_client}/types/tool_count_response.py +0 -0
  462. {letta_sdk → letta_client}/types/tool_list_params.py +0 -0
  463. {letta_sdk → letta_client}/types/tool_list_response.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.0a7.dist-info}/WHEEL +0 -0
@@ -0,0 +1,234 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Optional
6
+ from typing_extensions import Literal
7
+
8
+ import httpx
9
+
10
+ from ..._types import Body, Omit, Query, Headers, NotGiven, omit, not_given
11
+ from ..._utils import maybe_transform, async_maybe_transform
12
+ from ..._compat import cached_property
13
+ from ..._resource import SyncAPIResource, AsyncAPIResource
14
+ from ..._response import (
15
+ to_raw_response_wrapper,
16
+ to_streamed_response_wrapper,
17
+ async_to_raw_response_wrapper,
18
+ async_to_streamed_response_wrapper,
19
+ )
20
+ from ..._base_client import make_request_options
21
+ from ...types.folders import agent_list_params
22
+ from ...types.folders.agent_list_response import AgentListResponse
23
+
24
+ __all__ = ["AgentsResource", "AsyncAgentsResource"]
25
+
26
+
27
+ class AgentsResource(SyncAPIResource):
28
+ @cached_property
29
+ def with_raw_response(self) -> AgentsResourceWithRawResponse:
30
+ """
31
+ This property can be used as a prefix for any HTTP method call to return
32
+ the raw response object instead of the parsed content.
33
+
34
+ For more information, see https://www.github.com/letta-ai/letta-python#accessing-raw-response-data-eg-headers
35
+ """
36
+ return AgentsResourceWithRawResponse(self)
37
+
38
+ @cached_property
39
+ def with_streaming_response(self) -> AgentsResourceWithStreamingResponse:
40
+ """
41
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
42
+
43
+ For more information, see https://www.github.com/letta-ai/letta-python#with_streaming_response
44
+ """
45
+ return AgentsResourceWithStreamingResponse(self)
46
+
47
+ def list(
48
+ self,
49
+ folder_id: str,
50
+ *,
51
+ after: Optional[str] | Omit = omit,
52
+ before: Optional[str] | Omit = omit,
53
+ limit: Optional[int] | Omit = omit,
54
+ order: Literal["asc", "desc"] | Omit = omit,
55
+ order_by: Literal["created_at"] | Omit = omit,
56
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
57
+ # The extra values given here take precedence over values defined on the client or passed to this method.
58
+ extra_headers: Headers | None = None,
59
+ extra_query: Query | None = None,
60
+ extra_body: Body | None = None,
61
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
62
+ ) -> AgentListResponse:
63
+ """
64
+ Get all agent IDs that have the specified folder attached.
65
+
66
+ Args:
67
+ folder_id: The ID of the source in the format 'source-<uuid4>'
68
+
69
+ after: Agent ID cursor for pagination. Returns agents that come after this agent ID in
70
+ the specified sort order
71
+
72
+ before: Agent ID cursor for pagination. Returns agents that come before this agent ID in
73
+ the specified sort order
74
+
75
+ limit: Maximum number of agents to return
76
+
77
+ order: Sort order for agents by creation time. 'asc' for oldest first, 'desc' for
78
+ newest first
79
+
80
+ order_by: Field to sort by
81
+
82
+ extra_headers: Send extra headers
83
+
84
+ extra_query: Add additional query parameters to the request
85
+
86
+ extra_body: Add additional JSON properties to the request
87
+
88
+ timeout: Override the client-level default timeout for this request, in seconds
89
+ """
90
+ if not folder_id:
91
+ raise ValueError(f"Expected a non-empty value for `folder_id` but received {folder_id!r}")
92
+ return self._get(
93
+ f"/v1/folders/{folder_id}/agents",
94
+ options=make_request_options(
95
+ extra_headers=extra_headers,
96
+ extra_query=extra_query,
97
+ extra_body=extra_body,
98
+ timeout=timeout,
99
+ query=maybe_transform(
100
+ {
101
+ "after": after,
102
+ "before": before,
103
+ "limit": limit,
104
+ "order": order,
105
+ "order_by": order_by,
106
+ },
107
+ agent_list_params.AgentListParams,
108
+ ),
109
+ ),
110
+ cast_to=AgentListResponse,
111
+ )
112
+
113
+
114
+ class AsyncAgentsResource(AsyncAPIResource):
115
+ @cached_property
116
+ def with_raw_response(self) -> AsyncAgentsResourceWithRawResponse:
117
+ """
118
+ This property can be used as a prefix for any HTTP method call to return
119
+ the raw response object instead of the parsed content.
120
+
121
+ For more information, see https://www.github.com/letta-ai/letta-python#accessing-raw-response-data-eg-headers
122
+ """
123
+ return AsyncAgentsResourceWithRawResponse(self)
124
+
125
+ @cached_property
126
+ def with_streaming_response(self) -> AsyncAgentsResourceWithStreamingResponse:
127
+ """
128
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
129
+
130
+ For more information, see https://www.github.com/letta-ai/letta-python#with_streaming_response
131
+ """
132
+ return AsyncAgentsResourceWithStreamingResponse(self)
133
+
134
+ async def list(
135
+ self,
136
+ folder_id: str,
137
+ *,
138
+ after: Optional[str] | Omit = omit,
139
+ before: Optional[str] | Omit = omit,
140
+ limit: Optional[int] | Omit = omit,
141
+ order: Literal["asc", "desc"] | Omit = omit,
142
+ order_by: Literal["created_at"] | Omit = omit,
143
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
144
+ # The extra values given here take precedence over values defined on the client or passed to this method.
145
+ extra_headers: Headers | None = None,
146
+ extra_query: Query | None = None,
147
+ extra_body: Body | None = None,
148
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
149
+ ) -> AgentListResponse:
150
+ """
151
+ Get all agent IDs that have the specified folder attached.
152
+
153
+ Args:
154
+ folder_id: The ID of the source in the format 'source-<uuid4>'
155
+
156
+ after: Agent ID cursor for pagination. Returns agents that come after this agent ID in
157
+ the specified sort order
158
+
159
+ before: Agent ID cursor for pagination. Returns agents that come before this agent ID in
160
+ the specified sort order
161
+
162
+ limit: Maximum number of agents to return
163
+
164
+ order: Sort order for agents by creation time. 'asc' for oldest first, 'desc' for
165
+ newest first
166
+
167
+ order_by: Field to sort by
168
+
169
+ extra_headers: Send extra headers
170
+
171
+ extra_query: Add additional query parameters to the request
172
+
173
+ extra_body: Add additional JSON properties to the request
174
+
175
+ timeout: Override the client-level default timeout for this request, in seconds
176
+ """
177
+ if not folder_id:
178
+ raise ValueError(f"Expected a non-empty value for `folder_id` but received {folder_id!r}")
179
+ return await self._get(
180
+ f"/v1/folders/{folder_id}/agents",
181
+ options=make_request_options(
182
+ extra_headers=extra_headers,
183
+ extra_query=extra_query,
184
+ extra_body=extra_body,
185
+ timeout=timeout,
186
+ query=await async_maybe_transform(
187
+ {
188
+ "after": after,
189
+ "before": before,
190
+ "limit": limit,
191
+ "order": order,
192
+ "order_by": order_by,
193
+ },
194
+ agent_list_params.AgentListParams,
195
+ ),
196
+ ),
197
+ cast_to=AgentListResponse,
198
+ )
199
+
200
+
201
+ class AgentsResourceWithRawResponse:
202
+ def __init__(self, agents: AgentsResource) -> None:
203
+ self._agents = agents
204
+
205
+ self.list = to_raw_response_wrapper(
206
+ agents.list,
207
+ )
208
+
209
+
210
+ class AsyncAgentsResourceWithRawResponse:
211
+ def __init__(self, agents: AsyncAgentsResource) -> None:
212
+ self._agents = agents
213
+
214
+ self.list = async_to_raw_response_wrapper(
215
+ agents.list,
216
+ )
217
+
218
+
219
+ class AgentsResourceWithStreamingResponse:
220
+ def __init__(self, agents: AgentsResource) -> None:
221
+ self._agents = agents
222
+
223
+ self.list = to_streamed_response_wrapper(
224
+ agents.list,
225
+ )
226
+
227
+
228
+ class AsyncAgentsResourceWithStreamingResponse:
229
+ def __init__(self, agents: AsyncAgentsResource) -> None:
230
+ self._agents = agents
231
+
232
+ self.list = async_to_streamed_response_wrapper(
233
+ agents.list,
234
+ )
@@ -0,0 +1,469 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Mapping, Optional, cast
6
+ from typing_extensions import Literal
7
+
8
+ import httpx
9
+
10
+ from ..._types import Body, Omit, Query, Headers, NoneType, NotGiven, FileTypes, omit, not_given
11
+ from ..._utils import extract_files, maybe_transform, deepcopy_minimal, async_maybe_transform
12
+ from ..._compat import cached_property
13
+ from ..._resource import SyncAPIResource, AsyncAPIResource
14
+ from ..._response import (
15
+ to_raw_response_wrapper,
16
+ to_streamed_response_wrapper,
17
+ async_to_raw_response_wrapper,
18
+ async_to_streamed_response_wrapper,
19
+ )
20
+ from ..._base_client import make_request_options
21
+ from ...types.folders import file_list_params, file_upload_params
22
+ from ...types.folders.file_list_response import FileListResponse
23
+ from ...types.folders.file_upload_response import FileUploadResponse
24
+
25
+ __all__ = ["FilesResource", "AsyncFilesResource"]
26
+
27
+
28
+ class FilesResource(SyncAPIResource):
29
+ @cached_property
30
+ def with_raw_response(self) -> FilesResourceWithRawResponse:
31
+ """
32
+ This property can be used as a prefix for any HTTP method call to return
33
+ the raw response object instead of the parsed content.
34
+
35
+ For more information, see https://www.github.com/letta-ai/letta-python#accessing-raw-response-data-eg-headers
36
+ """
37
+ return FilesResourceWithRawResponse(self)
38
+
39
+ @cached_property
40
+ def with_streaming_response(self) -> FilesResourceWithStreamingResponse:
41
+ """
42
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
43
+
44
+ For more information, see https://www.github.com/letta-ai/letta-python#with_streaming_response
45
+ """
46
+ return FilesResourceWithStreamingResponse(self)
47
+
48
+ def list(
49
+ self,
50
+ folder_id: str,
51
+ *,
52
+ after: Optional[str] | Omit = omit,
53
+ before: Optional[str] | Omit = omit,
54
+ include_content: bool | Omit = omit,
55
+ limit: Optional[int] | Omit = omit,
56
+ order: Literal["asc", "desc"] | Omit = omit,
57
+ order_by: Literal["created_at"] | Omit = omit,
58
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
59
+ # The extra values given here take precedence over values defined on the client or passed to this method.
60
+ extra_headers: Headers | None = None,
61
+ extra_query: Query | None = None,
62
+ extra_body: Body | None = None,
63
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
64
+ ) -> FileListResponse:
65
+ """
66
+ List paginated files associated with a data folder.
67
+
68
+ Args:
69
+ folder_id: The ID of the source in the format 'source-<uuid4>'
70
+
71
+ after: File ID cursor for pagination. Returns files that come after this file ID in the
72
+ specified sort order
73
+
74
+ before: File ID cursor for pagination. Returns files that come before this file ID in
75
+ the specified sort order
76
+
77
+ include_content: Whether to include full file content
78
+
79
+ limit: Maximum number of files to return
80
+
81
+ order: Sort order for files by creation time. 'asc' for oldest first, 'desc' for newest
82
+ first
83
+
84
+ order_by: Field to sort by
85
+
86
+ extra_headers: Send extra headers
87
+
88
+ extra_query: Add additional query parameters to the request
89
+
90
+ extra_body: Add additional JSON properties to the request
91
+
92
+ timeout: Override the client-level default timeout for this request, in seconds
93
+ """
94
+ if not folder_id:
95
+ raise ValueError(f"Expected a non-empty value for `folder_id` but received {folder_id!r}")
96
+ return self._get(
97
+ f"/v1/folders/{folder_id}/files",
98
+ options=make_request_options(
99
+ extra_headers=extra_headers,
100
+ extra_query=extra_query,
101
+ extra_body=extra_body,
102
+ timeout=timeout,
103
+ query=maybe_transform(
104
+ {
105
+ "after": after,
106
+ "before": before,
107
+ "include_content": include_content,
108
+ "limit": limit,
109
+ "order": order,
110
+ "order_by": order_by,
111
+ },
112
+ file_list_params.FileListParams,
113
+ ),
114
+ ),
115
+ cast_to=FileListResponse,
116
+ )
117
+
118
+ def delete(
119
+ self,
120
+ file_id: str,
121
+ *,
122
+ folder_id: str,
123
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
124
+ # The extra values given here take precedence over values defined on the client or passed to this method.
125
+ extra_headers: Headers | None = None,
126
+ extra_query: Query | None = None,
127
+ extra_body: Body | None = None,
128
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
129
+ ) -> None:
130
+ """
131
+ Delete a file from a folder.
132
+
133
+ Args:
134
+ folder_id: The ID of the source in the format 'source-<uuid4>'
135
+
136
+ file_id: The ID of the file in the format 'file-<uuid4>'
137
+
138
+ extra_headers: Send extra headers
139
+
140
+ extra_query: Add additional query parameters to the request
141
+
142
+ extra_body: Add additional JSON properties to the request
143
+
144
+ timeout: Override the client-level default timeout for this request, in seconds
145
+ """
146
+ if not folder_id:
147
+ raise ValueError(f"Expected a non-empty value for `folder_id` but received {folder_id!r}")
148
+ if not file_id:
149
+ raise ValueError(f"Expected a non-empty value for `file_id` but received {file_id!r}")
150
+ extra_headers = {"Accept": "*/*", **(extra_headers or {})}
151
+ return self._delete(
152
+ f"/v1/folders/{folder_id}/{file_id}",
153
+ options=make_request_options(
154
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
155
+ ),
156
+ cast_to=NoneType,
157
+ )
158
+
159
+ def upload(
160
+ self,
161
+ folder_id: str,
162
+ *,
163
+ file: FileTypes,
164
+ duplicate_handling: Literal["skip", "error", "suffix", "replace"] | Omit = omit,
165
+ name: Optional[str] | Omit = omit,
166
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
167
+ # The extra values given here take precedence over values defined on the client or passed to this method.
168
+ extra_headers: Headers | None = None,
169
+ extra_query: Query | None = None,
170
+ extra_body: Body | None = None,
171
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
172
+ ) -> FileUploadResponse:
173
+ """
174
+ Upload a file to a data folder.
175
+
176
+ Args:
177
+ folder_id: The ID of the source in the format 'source-<uuid4>'
178
+
179
+ duplicate_handling: How to handle duplicate filenames
180
+
181
+ name: Optional custom name to override the uploaded file's name
182
+
183
+ extra_headers: Send extra headers
184
+
185
+ extra_query: Add additional query parameters to the request
186
+
187
+ extra_body: Add additional JSON properties to the request
188
+
189
+ timeout: Override the client-level default timeout for this request, in seconds
190
+ """
191
+ if not folder_id:
192
+ raise ValueError(f"Expected a non-empty value for `folder_id` but received {folder_id!r}")
193
+ body = deepcopy_minimal({"file": file})
194
+ files = extract_files(cast(Mapping[str, object], body), paths=[["file"]])
195
+ # It should be noted that the actual Content-Type header that will be
196
+ # sent to the server will contain a `boundary` parameter, e.g.
197
+ # multipart/form-data; boundary=---abc--
198
+ extra_headers = {"Content-Type": "multipart/form-data", **(extra_headers or {})}
199
+ return self._post(
200
+ f"/v1/folders/{folder_id}/upload",
201
+ body=maybe_transform(body, file_upload_params.FileUploadParams),
202
+ files=files,
203
+ options=make_request_options(
204
+ extra_headers=extra_headers,
205
+ extra_query=extra_query,
206
+ extra_body=extra_body,
207
+ timeout=timeout,
208
+ query=maybe_transform(
209
+ {
210
+ "duplicate_handling": duplicate_handling,
211
+ "name": name,
212
+ },
213
+ file_upload_params.FileUploadParams,
214
+ ),
215
+ ),
216
+ cast_to=FileUploadResponse,
217
+ )
218
+
219
+
220
+ class AsyncFilesResource(AsyncAPIResource):
221
+ @cached_property
222
+ def with_raw_response(self) -> AsyncFilesResourceWithRawResponse:
223
+ """
224
+ This property can be used as a prefix for any HTTP method call to return
225
+ the raw response object instead of the parsed content.
226
+
227
+ For more information, see https://www.github.com/letta-ai/letta-python#accessing-raw-response-data-eg-headers
228
+ """
229
+ return AsyncFilesResourceWithRawResponse(self)
230
+
231
+ @cached_property
232
+ def with_streaming_response(self) -> AsyncFilesResourceWithStreamingResponse:
233
+ """
234
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
235
+
236
+ For more information, see https://www.github.com/letta-ai/letta-python#with_streaming_response
237
+ """
238
+ return AsyncFilesResourceWithStreamingResponse(self)
239
+
240
+ async def list(
241
+ self,
242
+ folder_id: str,
243
+ *,
244
+ after: Optional[str] | Omit = omit,
245
+ before: Optional[str] | Omit = omit,
246
+ include_content: bool | Omit = omit,
247
+ limit: Optional[int] | Omit = omit,
248
+ order: Literal["asc", "desc"] | Omit = omit,
249
+ order_by: Literal["created_at"] | Omit = omit,
250
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
251
+ # The extra values given here take precedence over values defined on the client or passed to this method.
252
+ extra_headers: Headers | None = None,
253
+ extra_query: Query | None = None,
254
+ extra_body: Body | None = None,
255
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
256
+ ) -> FileListResponse:
257
+ """
258
+ List paginated files associated with a data folder.
259
+
260
+ Args:
261
+ folder_id: The ID of the source in the format 'source-<uuid4>'
262
+
263
+ after: File ID cursor for pagination. Returns files that come after this file ID in the
264
+ specified sort order
265
+
266
+ before: File ID cursor for pagination. Returns files that come before this file ID in
267
+ the specified sort order
268
+
269
+ include_content: Whether to include full file content
270
+
271
+ limit: Maximum number of files to return
272
+
273
+ order: Sort order for files by creation time. 'asc' for oldest first, 'desc' for newest
274
+ first
275
+
276
+ order_by: Field to sort by
277
+
278
+ extra_headers: Send extra headers
279
+
280
+ extra_query: Add additional query parameters to the request
281
+
282
+ extra_body: Add additional JSON properties to the request
283
+
284
+ timeout: Override the client-level default timeout for this request, in seconds
285
+ """
286
+ if not folder_id:
287
+ raise ValueError(f"Expected a non-empty value for `folder_id` but received {folder_id!r}")
288
+ return await self._get(
289
+ f"/v1/folders/{folder_id}/files",
290
+ options=make_request_options(
291
+ extra_headers=extra_headers,
292
+ extra_query=extra_query,
293
+ extra_body=extra_body,
294
+ timeout=timeout,
295
+ query=await async_maybe_transform(
296
+ {
297
+ "after": after,
298
+ "before": before,
299
+ "include_content": include_content,
300
+ "limit": limit,
301
+ "order": order,
302
+ "order_by": order_by,
303
+ },
304
+ file_list_params.FileListParams,
305
+ ),
306
+ ),
307
+ cast_to=FileListResponse,
308
+ )
309
+
310
+ async def delete(
311
+ self,
312
+ file_id: str,
313
+ *,
314
+ folder_id: str,
315
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
316
+ # The extra values given here take precedence over values defined on the client or passed to this method.
317
+ extra_headers: Headers | None = None,
318
+ extra_query: Query | None = None,
319
+ extra_body: Body | None = None,
320
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
321
+ ) -> None:
322
+ """
323
+ Delete a file from a folder.
324
+
325
+ Args:
326
+ folder_id: The ID of the source in the format 'source-<uuid4>'
327
+
328
+ file_id: The ID of the file in the format 'file-<uuid4>'
329
+
330
+ extra_headers: Send extra headers
331
+
332
+ extra_query: Add additional query parameters to the request
333
+
334
+ extra_body: Add additional JSON properties to the request
335
+
336
+ timeout: Override the client-level default timeout for this request, in seconds
337
+ """
338
+ if not folder_id:
339
+ raise ValueError(f"Expected a non-empty value for `folder_id` but received {folder_id!r}")
340
+ if not file_id:
341
+ raise ValueError(f"Expected a non-empty value for `file_id` but received {file_id!r}")
342
+ extra_headers = {"Accept": "*/*", **(extra_headers or {})}
343
+ return await self._delete(
344
+ f"/v1/folders/{folder_id}/{file_id}",
345
+ options=make_request_options(
346
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
347
+ ),
348
+ cast_to=NoneType,
349
+ )
350
+
351
+ async def upload(
352
+ self,
353
+ folder_id: str,
354
+ *,
355
+ file: FileTypes,
356
+ duplicate_handling: Literal["skip", "error", "suffix", "replace"] | Omit = omit,
357
+ name: Optional[str] | Omit = omit,
358
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
359
+ # The extra values given here take precedence over values defined on the client or passed to this method.
360
+ extra_headers: Headers | None = None,
361
+ extra_query: Query | None = None,
362
+ extra_body: Body | None = None,
363
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
364
+ ) -> FileUploadResponse:
365
+ """
366
+ Upload a file to a data folder.
367
+
368
+ Args:
369
+ folder_id: The ID of the source in the format 'source-<uuid4>'
370
+
371
+ duplicate_handling: How to handle duplicate filenames
372
+
373
+ name: Optional custom name to override the uploaded file's name
374
+
375
+ extra_headers: Send extra headers
376
+
377
+ extra_query: Add additional query parameters to the request
378
+
379
+ extra_body: Add additional JSON properties to the request
380
+
381
+ timeout: Override the client-level default timeout for this request, in seconds
382
+ """
383
+ if not folder_id:
384
+ raise ValueError(f"Expected a non-empty value for `folder_id` but received {folder_id!r}")
385
+ body = deepcopy_minimal({"file": file})
386
+ files = extract_files(cast(Mapping[str, object], body), paths=[["file"]])
387
+ # It should be noted that the actual Content-Type header that will be
388
+ # sent to the server will contain a `boundary` parameter, e.g.
389
+ # multipart/form-data; boundary=---abc--
390
+ extra_headers = {"Content-Type": "multipart/form-data", **(extra_headers or {})}
391
+ return await self._post(
392
+ f"/v1/folders/{folder_id}/upload",
393
+ body=await async_maybe_transform(body, file_upload_params.FileUploadParams),
394
+ files=files,
395
+ options=make_request_options(
396
+ extra_headers=extra_headers,
397
+ extra_query=extra_query,
398
+ extra_body=extra_body,
399
+ timeout=timeout,
400
+ query=await async_maybe_transform(
401
+ {
402
+ "duplicate_handling": duplicate_handling,
403
+ "name": name,
404
+ },
405
+ file_upload_params.FileUploadParams,
406
+ ),
407
+ ),
408
+ cast_to=FileUploadResponse,
409
+ )
410
+
411
+
412
+ class FilesResourceWithRawResponse:
413
+ def __init__(self, files: FilesResource) -> None:
414
+ self._files = files
415
+
416
+ self.list = to_raw_response_wrapper(
417
+ files.list,
418
+ )
419
+ self.delete = to_raw_response_wrapper(
420
+ files.delete,
421
+ )
422
+ self.upload = to_raw_response_wrapper(
423
+ files.upload,
424
+ )
425
+
426
+
427
+ class AsyncFilesResourceWithRawResponse:
428
+ def __init__(self, files: AsyncFilesResource) -> None:
429
+ self._files = files
430
+
431
+ self.list = async_to_raw_response_wrapper(
432
+ files.list,
433
+ )
434
+ self.delete = async_to_raw_response_wrapper(
435
+ files.delete,
436
+ )
437
+ self.upload = async_to_raw_response_wrapper(
438
+ files.upload,
439
+ )
440
+
441
+
442
+ class FilesResourceWithStreamingResponse:
443
+ def __init__(self, files: FilesResource) -> None:
444
+ self._files = files
445
+
446
+ self.list = to_streamed_response_wrapper(
447
+ files.list,
448
+ )
449
+ self.delete = to_streamed_response_wrapper(
450
+ files.delete,
451
+ )
452
+ self.upload = to_streamed_response_wrapper(
453
+ files.upload,
454
+ )
455
+
456
+
457
+ class AsyncFilesResourceWithStreamingResponse:
458
+ def __init__(self, files: AsyncFilesResource) -> None:
459
+ self._files = files
460
+
461
+ self.list = async_to_streamed_response_wrapper(
462
+ files.list,
463
+ )
464
+ self.delete = async_to_streamed_response_wrapper(
465
+ files.delete,
466
+ )
467
+ self.upload = async_to_streamed_response_wrapper(
468
+ files.upload,
469
+ )