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
@@ -1,1785 +0,0 @@
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 Any, Dict, Optional, cast
6
- from typing_extensions import overload
7
-
8
- import httpx
9
-
10
- from .tools import (
11
- ToolsResource,
12
- AsyncToolsResource,
13
- ToolsResourceWithRawResponse,
14
- AsyncToolsResourceWithRawResponse,
15
- ToolsResourceWithStreamingResponse,
16
- AsyncToolsResourceWithStreamingResponse,
17
- )
18
- from ....._types import Body, Omit, Query, Headers, NotGiven, SequenceNotStr, omit, not_given
19
- from ....._utils import required_args, maybe_transform, async_maybe_transform
20
- from ....._compat import cached_property
21
- from ....._resource import SyncAPIResource, AsyncAPIResource
22
- from ....._response import (
23
- to_raw_response_wrapper,
24
- to_streamed_response_wrapper,
25
- async_to_raw_response_wrapper,
26
- async_to_streamed_response_wrapper,
27
- )
28
- from .....types.tool import Tool
29
- from ....._base_client import make_request_options
30
- from .....types.tools.mcp import (
31
- McpServerType,
32
- server_add_params,
33
- server_test_params,
34
- server_resync_params,
35
- server_update_params,
36
- server_connect_params,
37
- )
38
- from .....types.tools.mcp.mcp_server_type import McpServerType
39
- from .....types.tools.mcp.server_add_response import ServerAddResponse
40
- from .....types.tools.mcp.server_list_response import ServerListResponse
41
- from .....types.tools.mcp.server_delete_response import ServerDeleteResponse
42
- from .....types.tools.mcp.server_update_response import ServerUpdateResponse
43
- from .....types.tools.mcp.stdio_server_config_param import StdioServerConfigParam
44
-
45
- __all__ = ["ServersResource", "AsyncServersResource"]
46
-
47
-
48
- class ServersResource(SyncAPIResource):
49
- @cached_property
50
- def tools(self) -> ToolsResource:
51
- return ToolsResource(self._client)
52
-
53
- @cached_property
54
- def with_raw_response(self) -> ServersResourceWithRawResponse:
55
- """
56
- This property can be used as a prefix for any HTTP method call to return
57
- the raw response object instead of the parsed content.
58
-
59
- For more information, see https://www.github.com/letta-ai/letta-python#accessing-raw-response-data-eg-headers
60
- """
61
- return ServersResourceWithRawResponse(self)
62
-
63
- @cached_property
64
- def with_streaming_response(self) -> ServersResourceWithStreamingResponse:
65
- """
66
- An alternative to `.with_raw_response` that doesn't eagerly read the response body.
67
-
68
- For more information, see https://www.github.com/letta-ai/letta-python#with_streaming_response
69
- """
70
- return ServersResourceWithStreamingResponse(self)
71
-
72
- @overload
73
- def update(
74
- self,
75
- mcp_server_name: str,
76
- *,
77
- stdio_config: Optional[StdioServerConfigParam] | Omit = omit,
78
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
79
- # The extra values given here take precedence over values defined on the client or passed to this method.
80
- extra_headers: Headers | None = None,
81
- extra_query: Query | None = None,
82
- extra_body: Body | None = None,
83
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
84
- ) -> ServerUpdateResponse:
85
- """
86
- Update an existing MCP server configuration
87
-
88
- Args:
89
- stdio_config: The configuration for the server (MCP 'local' client will run this command)
90
-
91
- extra_headers: Send extra headers
92
-
93
- extra_query: Add additional query parameters to the request
94
-
95
- extra_body: Add additional JSON properties to the request
96
-
97
- timeout: Override the client-level default timeout for this request, in seconds
98
- """
99
- ...
100
-
101
- @overload
102
- def update(
103
- self,
104
- mcp_server_name: str,
105
- *,
106
- token: Optional[str] | Omit = omit,
107
- custom_headers: Optional[Dict[str, str]] | Omit = omit,
108
- server_url: Optional[str] | Omit = omit,
109
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
110
- # The extra values given here take precedence over values defined on the client or passed to this method.
111
- extra_headers: Headers | None = None,
112
- extra_query: Query | None = None,
113
- extra_body: Body | None = None,
114
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
115
- ) -> ServerUpdateResponse:
116
- """
117
- Update an existing MCP server configuration
118
-
119
- Args:
120
- token: The access token or API key for the MCP server (used for SSE authentication)
121
-
122
- custom_headers: Custom authentication headers as key-value pairs
123
-
124
- server_url: The URL of the server (MCP SSE client will connect to this URL)
125
-
126
- extra_headers: Send extra headers
127
-
128
- extra_query: Add additional query parameters to the request
129
-
130
- extra_body: Add additional JSON properties to the request
131
-
132
- timeout: Override the client-level default timeout for this request, in seconds
133
- """
134
- ...
135
-
136
- @overload
137
- def update(
138
- self,
139
- mcp_server_name: str,
140
- *,
141
- auth_header: Optional[str] | Omit = omit,
142
- auth_token: Optional[str] | Omit = omit,
143
- custom_headers: Optional[Dict[str, str]] | Omit = omit,
144
- server_url: Optional[str] | Omit = omit,
145
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
146
- # The extra values given here take precedence over values defined on the client or passed to this method.
147
- extra_headers: Headers | None = None,
148
- extra_query: Query | None = None,
149
- extra_body: Body | None = None,
150
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
151
- ) -> ServerUpdateResponse:
152
- """
153
- Update an existing MCP server configuration
154
-
155
- Args:
156
- auth_header: The name of the authentication header (e.g., 'Authorization')
157
-
158
- auth_token: The authentication token or API key value
159
-
160
- custom_headers: Custom authentication headers as key-value pairs
161
-
162
- server_url: The URL path for the streamable HTTP server (e.g., 'example/mcp')
163
-
164
- extra_headers: Send extra headers
165
-
166
- extra_query: Add additional query parameters to the request
167
-
168
- extra_body: Add additional JSON properties to the request
169
-
170
- timeout: Override the client-level default timeout for this request, in seconds
171
- """
172
- ...
173
-
174
- def update(
175
- self,
176
- mcp_server_name: str,
177
- *,
178
- stdio_config: Optional[StdioServerConfigParam] | Omit = omit,
179
- token: Optional[str] | Omit = omit,
180
- custom_headers: Optional[Dict[str, str]] | Omit = omit,
181
- server_url: Optional[str] | Omit = omit,
182
- auth_header: Optional[str] | Omit = omit,
183
- auth_token: Optional[str] | Omit = omit,
184
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
185
- # The extra values given here take precedence over values defined on the client or passed to this method.
186
- extra_headers: Headers | None = None,
187
- extra_query: Query | None = None,
188
- extra_body: Body | None = None,
189
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
190
- ) -> ServerUpdateResponse:
191
- if not mcp_server_name:
192
- raise ValueError(f"Expected a non-empty value for `mcp_server_name` but received {mcp_server_name!r}")
193
- return cast(
194
- ServerUpdateResponse,
195
- self._patch(
196
- f"/v1/tools/mcp/servers/{mcp_server_name}",
197
- body=maybe_transform(
198
- {
199
- "stdio_config": stdio_config,
200
- "token": token,
201
- "custom_headers": custom_headers,
202
- "server_url": server_url,
203
- "auth_header": auth_header,
204
- "auth_token": auth_token,
205
- },
206
- server_update_params.ServerUpdateParams,
207
- ),
208
- options=make_request_options(
209
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
210
- ),
211
- cast_to=cast(
212
- Any, ServerUpdateResponse
213
- ), # Union types cannot be passed in as arguments in the type system
214
- ),
215
- )
216
-
217
- def list(
218
- self,
219
- *,
220
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
221
- # The extra values given here take precedence over values defined on the client or passed to this method.
222
- extra_headers: Headers | None = None,
223
- extra_query: Query | None = None,
224
- extra_body: Body | None = None,
225
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
226
- ) -> ServerListResponse:
227
- """Get a list of all configured MCP servers"""
228
- return self._get(
229
- "/v1/tools/mcp/servers",
230
- options=make_request_options(
231
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
232
- ),
233
- cast_to=ServerListResponse,
234
- )
235
-
236
- def delete(
237
- self,
238
- mcp_server_name: str,
239
- *,
240
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
241
- # The extra values given here take precedence over values defined on the client or passed to this method.
242
- extra_headers: Headers | None = None,
243
- extra_query: Query | None = None,
244
- extra_body: Body | None = None,
245
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
246
- ) -> ServerDeleteResponse:
247
- """
248
- Delete a MCP server configuration
249
-
250
- Args:
251
- extra_headers: Send extra headers
252
-
253
- extra_query: Add additional query parameters to the request
254
-
255
- extra_body: Add additional JSON properties to the request
256
-
257
- timeout: Override the client-level default timeout for this request, in seconds
258
- """
259
- if not mcp_server_name:
260
- raise ValueError(f"Expected a non-empty value for `mcp_server_name` but received {mcp_server_name!r}")
261
- return self._delete(
262
- f"/v1/tools/mcp/servers/{mcp_server_name}",
263
- options=make_request_options(
264
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
265
- ),
266
- cast_to=ServerDeleteResponse,
267
- )
268
-
269
- @overload
270
- def add(
271
- self,
272
- *,
273
- args: SequenceNotStr[str],
274
- command: str,
275
- server_name: str,
276
- env: Optional[Dict[str, str]] | Omit = omit,
277
- type: McpServerType | Omit = omit,
278
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
279
- # The extra values given here take precedence over values defined on the client or passed to this method.
280
- extra_headers: Headers | None = None,
281
- extra_query: Query | None = None,
282
- extra_body: Body | None = None,
283
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
284
- ) -> ServerAddResponse:
285
- """
286
- Add a new MCP server to the Letta MCP server config
287
-
288
- Args:
289
- args: The arguments to pass to the command
290
-
291
- command: The command to run (MCP 'local' client will run this command)
292
-
293
- server_name: The name of the server
294
-
295
- env: Environment variables to set
296
-
297
- extra_headers: Send extra headers
298
-
299
- extra_query: Add additional query parameters to the request
300
-
301
- extra_body: Add additional JSON properties to the request
302
-
303
- timeout: Override the client-level default timeout for this request, in seconds
304
- """
305
- ...
306
-
307
- @overload
308
- def add(
309
- self,
310
- *,
311
- server_name: str,
312
- server_url: str,
313
- auth_header: Optional[str] | Omit = omit,
314
- auth_token: Optional[str] | Omit = omit,
315
- custom_headers: Optional[Dict[str, str]] | Omit = omit,
316
- type: McpServerType | Omit = omit,
317
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
318
- # The extra values given here take precedence over values defined on the client or passed to this method.
319
- extra_headers: Headers | None = None,
320
- extra_query: Query | None = None,
321
- extra_body: Body | None = None,
322
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
323
- ) -> ServerAddResponse:
324
- """
325
- Add a new MCP server to the Letta MCP server config
326
-
327
- Args:
328
- server_name: The name of the server
329
-
330
- server_url: The URL of the server (MCP SSE client will connect to this URL)
331
-
332
- auth_header: The name of the authentication header (e.g., 'Authorization')
333
-
334
- auth_token: The authentication token or API key value
335
-
336
- custom_headers: Custom HTTP headers to include with SSE requests
337
-
338
- extra_headers: Send extra headers
339
-
340
- extra_query: Add additional query parameters to the request
341
-
342
- extra_body: Add additional JSON properties to the request
343
-
344
- timeout: Override the client-level default timeout for this request, in seconds
345
- """
346
- ...
347
-
348
- @overload
349
- def add(
350
- self,
351
- *,
352
- server_name: str,
353
- server_url: str,
354
- auth_header: Optional[str] | Omit = omit,
355
- auth_token: Optional[str] | Omit = omit,
356
- custom_headers: Optional[Dict[str, str]] | Omit = omit,
357
- type: McpServerType | 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
- ) -> ServerAddResponse:
365
- """
366
- Add a new MCP server to the Letta MCP server config
367
-
368
- Args:
369
- server_name: The name of the server
370
-
371
- server_url: The URL path for the streamable HTTP server (e.g., 'example/mcp')
372
-
373
- auth_header: The name of the authentication header (e.g., 'Authorization')
374
-
375
- auth_token: The authentication token or API key value
376
-
377
- custom_headers: Custom HTTP headers to include with streamable HTTP requests
378
-
379
- extra_headers: Send extra headers
380
-
381
- extra_query: Add additional query parameters to the request
382
-
383
- extra_body: Add additional JSON properties to the request
384
-
385
- timeout: Override the client-level default timeout for this request, in seconds
386
- """
387
- ...
388
-
389
- @required_args(["args", "command", "server_name"], ["server_name", "server_url"])
390
- def add(
391
- self,
392
- *,
393
- args: SequenceNotStr[str] | Omit = omit,
394
- command: str | Omit = omit,
395
- server_name: str,
396
- env: Optional[Dict[str, str]] | Omit = omit,
397
- type: McpServerType | Omit = omit,
398
- server_url: str | Omit = omit,
399
- auth_header: Optional[str] | Omit = omit,
400
- auth_token: Optional[str] | Omit = omit,
401
- custom_headers: Optional[Dict[str, str]] | Omit = omit,
402
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
403
- # The extra values given here take precedence over values defined on the client or passed to this method.
404
- extra_headers: Headers | None = None,
405
- extra_query: Query | None = None,
406
- extra_body: Body | None = None,
407
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
408
- ) -> ServerAddResponse:
409
- return self._put(
410
- "/v1/tools/mcp/servers",
411
- body=maybe_transform(
412
- {
413
- "args": args,
414
- "command": command,
415
- "server_name": server_name,
416
- "env": env,
417
- "type": type,
418
- "server_url": server_url,
419
- "auth_header": auth_header,
420
- "auth_token": auth_token,
421
- "custom_headers": custom_headers,
422
- },
423
- server_add_params.ServerAddParams,
424
- ),
425
- options=make_request_options(
426
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
427
- ),
428
- cast_to=ServerAddResponse,
429
- )
430
-
431
- @overload
432
- def connect(
433
- self,
434
- *,
435
- args: SequenceNotStr[str],
436
- command: str,
437
- server_name: str,
438
- env: Optional[Dict[str, str]] | Omit = omit,
439
- type: McpServerType | Omit = omit,
440
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
441
- # The extra values given here take precedence over values defined on the client or passed to this method.
442
- extra_headers: Headers | None = None,
443
- extra_query: Query | None = None,
444
- extra_body: Body | None = None,
445
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
446
- ) -> object:
447
- """Connect to an MCP server with support for OAuth via SSE.
448
-
449
- Returns a stream of
450
- events handling authorization state and exchange if OAuth is required.
451
-
452
- Args:
453
- args: The arguments to pass to the command
454
-
455
- command: The command to run (MCP 'local' client will run this command)
456
-
457
- server_name: The name of the server
458
-
459
- env: Environment variables to set
460
-
461
- extra_headers: Send extra headers
462
-
463
- extra_query: Add additional query parameters to the request
464
-
465
- extra_body: Add additional JSON properties to the request
466
-
467
- timeout: Override the client-level default timeout for this request, in seconds
468
- """
469
- ...
470
-
471
- @overload
472
- def connect(
473
- self,
474
- *,
475
- server_name: str,
476
- server_url: str,
477
- auth_header: Optional[str] | Omit = omit,
478
- auth_token: Optional[str] | Omit = omit,
479
- custom_headers: Optional[Dict[str, str]] | Omit = omit,
480
- type: McpServerType | Omit = omit,
481
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
482
- # The extra values given here take precedence over values defined on the client or passed to this method.
483
- extra_headers: Headers | None = None,
484
- extra_query: Query | None = None,
485
- extra_body: Body | None = None,
486
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
487
- ) -> object:
488
- """Connect to an MCP server with support for OAuth via SSE.
489
-
490
- Returns a stream of
491
- events handling authorization state and exchange if OAuth is required.
492
-
493
- Args:
494
- server_name: The name of the server
495
-
496
- server_url: The URL of the server (MCP SSE client will connect to this URL)
497
-
498
- auth_header: The name of the authentication header (e.g., 'Authorization')
499
-
500
- auth_token: The authentication token or API key value
501
-
502
- custom_headers: Custom HTTP headers to include with SSE requests
503
-
504
- extra_headers: Send extra headers
505
-
506
- extra_query: Add additional query parameters to the request
507
-
508
- extra_body: Add additional JSON properties to the request
509
-
510
- timeout: Override the client-level default timeout for this request, in seconds
511
- """
512
- ...
513
-
514
- @overload
515
- def connect(
516
- self,
517
- *,
518
- server_name: str,
519
- server_url: str,
520
- auth_header: Optional[str] | Omit = omit,
521
- auth_token: Optional[str] | Omit = omit,
522
- custom_headers: Optional[Dict[str, str]] | Omit = omit,
523
- type: McpServerType | Omit = omit,
524
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
525
- # The extra values given here take precedence over values defined on the client or passed to this method.
526
- extra_headers: Headers | None = None,
527
- extra_query: Query | None = None,
528
- extra_body: Body | None = None,
529
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
530
- ) -> object:
531
- """Connect to an MCP server with support for OAuth via SSE.
532
-
533
- Returns a stream of
534
- events handling authorization state and exchange if OAuth is required.
535
-
536
- Args:
537
- server_name: The name of the server
538
-
539
- server_url: The URL path for the streamable HTTP server (e.g., 'example/mcp')
540
-
541
- auth_header: The name of the authentication header (e.g., 'Authorization')
542
-
543
- auth_token: The authentication token or API key value
544
-
545
- custom_headers: Custom HTTP headers to include with streamable HTTP requests
546
-
547
- extra_headers: Send extra headers
548
-
549
- extra_query: Add additional query parameters to the request
550
-
551
- extra_body: Add additional JSON properties to the request
552
-
553
- timeout: Override the client-level default timeout for this request, in seconds
554
- """
555
- ...
556
-
557
- @required_args(["args", "command", "server_name"], ["server_name", "server_url"])
558
- def connect(
559
- self,
560
- *,
561
- args: SequenceNotStr[str] | Omit = omit,
562
- command: str | Omit = omit,
563
- server_name: str,
564
- env: Optional[Dict[str, str]] | Omit = omit,
565
- type: McpServerType | Omit = omit,
566
- server_url: str | Omit = omit,
567
- auth_header: Optional[str] | Omit = omit,
568
- auth_token: Optional[str] | Omit = omit,
569
- custom_headers: Optional[Dict[str, str]] | Omit = omit,
570
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
571
- # The extra values given here take precedence over values defined on the client or passed to this method.
572
- extra_headers: Headers | None = None,
573
- extra_query: Query | None = None,
574
- extra_body: Body | None = None,
575
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
576
- ) -> object:
577
- return self._post(
578
- "/v1/tools/mcp/servers/connect",
579
- body=maybe_transform(
580
- {
581
- "args": args,
582
- "command": command,
583
- "server_name": server_name,
584
- "env": env,
585
- "type": type,
586
- "server_url": server_url,
587
- "auth_header": auth_header,
588
- "auth_token": auth_token,
589
- "custom_headers": custom_headers,
590
- },
591
- server_connect_params.ServerConnectParams,
592
- ),
593
- options=make_request_options(
594
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
595
- ),
596
- cast_to=object,
597
- )
598
-
599
- def register_tool(
600
- self,
601
- mcp_tool_name: str,
602
- *,
603
- mcp_server_name: str,
604
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
605
- # The extra values given here take precedence over values defined on the client or passed to this method.
606
- extra_headers: Headers | None = None,
607
- extra_query: Query | None = None,
608
- extra_body: Body | None = None,
609
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
610
- ) -> Tool:
611
- """
612
- Register a new MCP tool as a Letta server by MCP server + tool name
613
-
614
- Args:
615
- extra_headers: Send extra headers
616
-
617
- extra_query: Add additional query parameters to the request
618
-
619
- extra_body: Add additional JSON properties to the request
620
-
621
- timeout: Override the client-level default timeout for this request, in seconds
622
- """
623
- if not mcp_server_name:
624
- raise ValueError(f"Expected a non-empty value for `mcp_server_name` but received {mcp_server_name!r}")
625
- if not mcp_tool_name:
626
- raise ValueError(f"Expected a non-empty value for `mcp_tool_name` but received {mcp_tool_name!r}")
627
- return self._post(
628
- f"/v1/tools/mcp/servers/{mcp_server_name}/{mcp_tool_name}",
629
- options=make_request_options(
630
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
631
- ),
632
- cast_to=Tool,
633
- )
634
-
635
- def resync(
636
- self,
637
- mcp_server_name: str,
638
- *,
639
- agent_id: Optional[str] | Omit = omit,
640
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
641
- # The extra values given here take precedence over values defined on the client or passed to this method.
642
- extra_headers: Headers | None = None,
643
- extra_query: Query | None = None,
644
- extra_body: Body | None = None,
645
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
646
- ) -> object:
647
- """Resync tools for an MCP server by:
648
-
649
- 1.
650
-
651
- Fetching current tools from the MCP server
652
- 2. Deleting tools that no longer exist on the server
653
- 3. Updating schemas for existing tools
654
- 4. Adding new tools from the server
655
-
656
- Returns a summary of changes made.
657
-
658
- Args:
659
- extra_headers: Send extra headers
660
-
661
- extra_query: Add additional query parameters to the request
662
-
663
- extra_body: Add additional JSON properties to the request
664
-
665
- timeout: Override the client-level default timeout for this request, in seconds
666
- """
667
- if not mcp_server_name:
668
- raise ValueError(f"Expected a non-empty value for `mcp_server_name` but received {mcp_server_name!r}")
669
- return self._post(
670
- f"/v1/tools/mcp/servers/{mcp_server_name}/resync",
671
- options=make_request_options(
672
- extra_headers=extra_headers,
673
- extra_query=extra_query,
674
- extra_body=extra_body,
675
- timeout=timeout,
676
- query=maybe_transform({"agent_id": agent_id}, server_resync_params.ServerResyncParams),
677
- ),
678
- cast_to=object,
679
- )
680
-
681
- @overload
682
- def test(
683
- self,
684
- *,
685
- args: SequenceNotStr[str],
686
- command: str,
687
- server_name: str,
688
- env: Optional[Dict[str, str]] | Omit = omit,
689
- type: McpServerType | Omit = omit,
690
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
691
- # The extra values given here take precedence over values defined on the client or passed to this method.
692
- extra_headers: Headers | None = None,
693
- extra_query: Query | None = None,
694
- extra_body: Body | None = None,
695
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
696
- ) -> object:
697
- """Test connection to an MCP server without adding it.
698
-
699
- Returns the list of
700
- available tools if successful.
701
-
702
- Args:
703
- args: The arguments to pass to the command
704
-
705
- command: The command to run (MCP 'local' client will run this command)
706
-
707
- server_name: The name of the server
708
-
709
- env: Environment variables to set
710
-
711
- extra_headers: Send extra headers
712
-
713
- extra_query: Add additional query parameters to the request
714
-
715
- extra_body: Add additional JSON properties to the request
716
-
717
- timeout: Override the client-level default timeout for this request, in seconds
718
- """
719
- ...
720
-
721
- @overload
722
- def test(
723
- self,
724
- *,
725
- server_name: str,
726
- server_url: str,
727
- auth_header: Optional[str] | Omit = omit,
728
- auth_token: Optional[str] | Omit = omit,
729
- custom_headers: Optional[Dict[str, str]] | Omit = omit,
730
- type: McpServerType | Omit = omit,
731
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
732
- # The extra values given here take precedence over values defined on the client or passed to this method.
733
- extra_headers: Headers | None = None,
734
- extra_query: Query | None = None,
735
- extra_body: Body | None = None,
736
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
737
- ) -> object:
738
- """Test connection to an MCP server without adding it.
739
-
740
- Returns the list of
741
- available tools if successful.
742
-
743
- Args:
744
- server_name: The name of the server
745
-
746
- server_url: The URL of the server (MCP SSE client will connect to this URL)
747
-
748
- auth_header: The name of the authentication header (e.g., 'Authorization')
749
-
750
- auth_token: The authentication token or API key value
751
-
752
- custom_headers: Custom HTTP headers to include with SSE requests
753
-
754
- extra_headers: Send extra headers
755
-
756
- extra_query: Add additional query parameters to the request
757
-
758
- extra_body: Add additional JSON properties to the request
759
-
760
- timeout: Override the client-level default timeout for this request, in seconds
761
- """
762
- ...
763
-
764
- @overload
765
- def test(
766
- self,
767
- *,
768
- server_name: str,
769
- server_url: str,
770
- auth_header: Optional[str] | Omit = omit,
771
- auth_token: Optional[str] | Omit = omit,
772
- custom_headers: Optional[Dict[str, str]] | Omit = omit,
773
- type: McpServerType | Omit = omit,
774
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
775
- # The extra values given here take precedence over values defined on the client or passed to this method.
776
- extra_headers: Headers | None = None,
777
- extra_query: Query | None = None,
778
- extra_body: Body | None = None,
779
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
780
- ) -> object:
781
- """Test connection to an MCP server without adding it.
782
-
783
- Returns the list of
784
- available tools if successful.
785
-
786
- Args:
787
- server_name: The name of the server
788
-
789
- server_url: The URL path for the streamable HTTP server (e.g., 'example/mcp')
790
-
791
- auth_header: The name of the authentication header (e.g., 'Authorization')
792
-
793
- auth_token: The authentication token or API key value
794
-
795
- custom_headers: Custom HTTP headers to include with streamable HTTP requests
796
-
797
- extra_headers: Send extra headers
798
-
799
- extra_query: Add additional query parameters to the request
800
-
801
- extra_body: Add additional JSON properties to the request
802
-
803
- timeout: Override the client-level default timeout for this request, in seconds
804
- """
805
- ...
806
-
807
- @required_args(["args", "command", "server_name"], ["server_name", "server_url"])
808
- def test(
809
- self,
810
- *,
811
- args: SequenceNotStr[str] | Omit = omit,
812
- command: str | Omit = omit,
813
- server_name: str,
814
- env: Optional[Dict[str, str]] | Omit = omit,
815
- type: McpServerType | Omit = omit,
816
- server_url: str | Omit = omit,
817
- auth_header: Optional[str] | Omit = omit,
818
- auth_token: Optional[str] | Omit = omit,
819
- custom_headers: Optional[Dict[str, str]] | Omit = omit,
820
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
821
- # The extra values given here take precedence over values defined on the client or passed to this method.
822
- extra_headers: Headers | None = None,
823
- extra_query: Query | None = None,
824
- extra_body: Body | None = None,
825
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
826
- ) -> object:
827
- return self._post(
828
- "/v1/tools/mcp/servers/test",
829
- body=maybe_transform(
830
- {
831
- "args": args,
832
- "command": command,
833
- "server_name": server_name,
834
- "env": env,
835
- "type": type,
836
- "server_url": server_url,
837
- "auth_header": auth_header,
838
- "auth_token": auth_token,
839
- "custom_headers": custom_headers,
840
- },
841
- server_test_params.ServerTestParams,
842
- ),
843
- options=make_request_options(
844
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
845
- ),
846
- cast_to=object,
847
- )
848
-
849
-
850
- class AsyncServersResource(AsyncAPIResource):
851
- @cached_property
852
- def tools(self) -> AsyncToolsResource:
853
- return AsyncToolsResource(self._client)
854
-
855
- @cached_property
856
- def with_raw_response(self) -> AsyncServersResourceWithRawResponse:
857
- """
858
- This property can be used as a prefix for any HTTP method call to return
859
- the raw response object instead of the parsed content.
860
-
861
- For more information, see https://www.github.com/letta-ai/letta-python#accessing-raw-response-data-eg-headers
862
- """
863
- return AsyncServersResourceWithRawResponse(self)
864
-
865
- @cached_property
866
- def with_streaming_response(self) -> AsyncServersResourceWithStreamingResponse:
867
- """
868
- An alternative to `.with_raw_response` that doesn't eagerly read the response body.
869
-
870
- For more information, see https://www.github.com/letta-ai/letta-python#with_streaming_response
871
- """
872
- return AsyncServersResourceWithStreamingResponse(self)
873
-
874
- @overload
875
- async def update(
876
- self,
877
- mcp_server_name: str,
878
- *,
879
- stdio_config: Optional[StdioServerConfigParam] | Omit = omit,
880
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
881
- # The extra values given here take precedence over values defined on the client or passed to this method.
882
- extra_headers: Headers | None = None,
883
- extra_query: Query | None = None,
884
- extra_body: Body | None = None,
885
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
886
- ) -> ServerUpdateResponse:
887
- """
888
- Update an existing MCP server configuration
889
-
890
- Args:
891
- stdio_config: The configuration for the server (MCP 'local' client will run this command)
892
-
893
- extra_headers: Send extra headers
894
-
895
- extra_query: Add additional query parameters to the request
896
-
897
- extra_body: Add additional JSON properties to the request
898
-
899
- timeout: Override the client-level default timeout for this request, in seconds
900
- """
901
- ...
902
-
903
- @overload
904
- async def update(
905
- self,
906
- mcp_server_name: str,
907
- *,
908
- token: Optional[str] | Omit = omit,
909
- custom_headers: Optional[Dict[str, str]] | Omit = omit,
910
- server_url: Optional[str] | Omit = omit,
911
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
912
- # The extra values given here take precedence over values defined on the client or passed to this method.
913
- extra_headers: Headers | None = None,
914
- extra_query: Query | None = None,
915
- extra_body: Body | None = None,
916
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
917
- ) -> ServerUpdateResponse:
918
- """
919
- Update an existing MCP server configuration
920
-
921
- Args:
922
- token: The access token or API key for the MCP server (used for SSE authentication)
923
-
924
- custom_headers: Custom authentication headers as key-value pairs
925
-
926
- server_url: The URL of the server (MCP SSE client will connect to this URL)
927
-
928
- extra_headers: Send extra headers
929
-
930
- extra_query: Add additional query parameters to the request
931
-
932
- extra_body: Add additional JSON properties to the request
933
-
934
- timeout: Override the client-level default timeout for this request, in seconds
935
- """
936
- ...
937
-
938
- @overload
939
- async def update(
940
- self,
941
- mcp_server_name: str,
942
- *,
943
- auth_header: Optional[str] | Omit = omit,
944
- auth_token: Optional[str] | Omit = omit,
945
- custom_headers: Optional[Dict[str, str]] | Omit = omit,
946
- server_url: Optional[str] | Omit = omit,
947
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
948
- # The extra values given here take precedence over values defined on the client or passed to this method.
949
- extra_headers: Headers | None = None,
950
- extra_query: Query | None = None,
951
- extra_body: Body | None = None,
952
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
953
- ) -> ServerUpdateResponse:
954
- """
955
- Update an existing MCP server configuration
956
-
957
- Args:
958
- auth_header: The name of the authentication header (e.g., 'Authorization')
959
-
960
- auth_token: The authentication token or API key value
961
-
962
- custom_headers: Custom authentication headers as key-value pairs
963
-
964
- server_url: The URL path for the streamable HTTP server (e.g., 'example/mcp')
965
-
966
- extra_headers: Send extra headers
967
-
968
- extra_query: Add additional query parameters to the request
969
-
970
- extra_body: Add additional JSON properties to the request
971
-
972
- timeout: Override the client-level default timeout for this request, in seconds
973
- """
974
- ...
975
-
976
- async def update(
977
- self,
978
- mcp_server_name: str,
979
- *,
980
- stdio_config: Optional[StdioServerConfigParam] | Omit = omit,
981
- token: Optional[str] | Omit = omit,
982
- custom_headers: Optional[Dict[str, str]] | Omit = omit,
983
- server_url: Optional[str] | Omit = omit,
984
- auth_header: Optional[str] | Omit = omit,
985
- auth_token: Optional[str] | Omit = omit,
986
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
987
- # The extra values given here take precedence over values defined on the client or passed to this method.
988
- extra_headers: Headers | None = None,
989
- extra_query: Query | None = None,
990
- extra_body: Body | None = None,
991
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
992
- ) -> ServerUpdateResponse:
993
- if not mcp_server_name:
994
- raise ValueError(f"Expected a non-empty value for `mcp_server_name` but received {mcp_server_name!r}")
995
- return cast(
996
- ServerUpdateResponse,
997
- await self._patch(
998
- f"/v1/tools/mcp/servers/{mcp_server_name}",
999
- body=await async_maybe_transform(
1000
- {
1001
- "stdio_config": stdio_config,
1002
- "token": token,
1003
- "custom_headers": custom_headers,
1004
- "server_url": server_url,
1005
- "auth_header": auth_header,
1006
- "auth_token": auth_token,
1007
- },
1008
- server_update_params.ServerUpdateParams,
1009
- ),
1010
- options=make_request_options(
1011
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
1012
- ),
1013
- cast_to=cast(
1014
- Any, ServerUpdateResponse
1015
- ), # Union types cannot be passed in as arguments in the type system
1016
- ),
1017
- )
1018
-
1019
- async def list(
1020
- self,
1021
- *,
1022
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1023
- # The extra values given here take precedence over values defined on the client or passed to this method.
1024
- extra_headers: Headers | None = None,
1025
- extra_query: Query | None = None,
1026
- extra_body: Body | None = None,
1027
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
1028
- ) -> ServerListResponse:
1029
- """Get a list of all configured MCP servers"""
1030
- return await self._get(
1031
- "/v1/tools/mcp/servers",
1032
- options=make_request_options(
1033
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
1034
- ),
1035
- cast_to=ServerListResponse,
1036
- )
1037
-
1038
- async def delete(
1039
- self,
1040
- mcp_server_name: str,
1041
- *,
1042
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1043
- # The extra values given here take precedence over values defined on the client or passed to this method.
1044
- extra_headers: Headers | None = None,
1045
- extra_query: Query | None = None,
1046
- extra_body: Body | None = None,
1047
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
1048
- ) -> ServerDeleteResponse:
1049
- """
1050
- Delete a MCP server configuration
1051
-
1052
- Args:
1053
- extra_headers: Send extra headers
1054
-
1055
- extra_query: Add additional query parameters to the request
1056
-
1057
- extra_body: Add additional JSON properties to the request
1058
-
1059
- timeout: Override the client-level default timeout for this request, in seconds
1060
- """
1061
- if not mcp_server_name:
1062
- raise ValueError(f"Expected a non-empty value for `mcp_server_name` but received {mcp_server_name!r}")
1063
- return await self._delete(
1064
- f"/v1/tools/mcp/servers/{mcp_server_name}",
1065
- options=make_request_options(
1066
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
1067
- ),
1068
- cast_to=ServerDeleteResponse,
1069
- )
1070
-
1071
- @overload
1072
- async def add(
1073
- self,
1074
- *,
1075
- args: SequenceNotStr[str],
1076
- command: str,
1077
- server_name: str,
1078
- env: Optional[Dict[str, str]] | Omit = omit,
1079
- type: McpServerType | Omit = omit,
1080
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1081
- # The extra values given here take precedence over values defined on the client or passed to this method.
1082
- extra_headers: Headers | None = None,
1083
- extra_query: Query | None = None,
1084
- extra_body: Body | None = None,
1085
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
1086
- ) -> ServerAddResponse:
1087
- """
1088
- Add a new MCP server to the Letta MCP server config
1089
-
1090
- Args:
1091
- args: The arguments to pass to the command
1092
-
1093
- command: The command to run (MCP 'local' client will run this command)
1094
-
1095
- server_name: The name of the server
1096
-
1097
- env: Environment variables to set
1098
-
1099
- extra_headers: Send extra headers
1100
-
1101
- extra_query: Add additional query parameters to the request
1102
-
1103
- extra_body: Add additional JSON properties to the request
1104
-
1105
- timeout: Override the client-level default timeout for this request, in seconds
1106
- """
1107
- ...
1108
-
1109
- @overload
1110
- async def add(
1111
- self,
1112
- *,
1113
- server_name: str,
1114
- server_url: str,
1115
- auth_header: Optional[str] | Omit = omit,
1116
- auth_token: Optional[str] | Omit = omit,
1117
- custom_headers: Optional[Dict[str, str]] | Omit = omit,
1118
- type: McpServerType | Omit = omit,
1119
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1120
- # The extra values given here take precedence over values defined on the client or passed to this method.
1121
- extra_headers: Headers | None = None,
1122
- extra_query: Query | None = None,
1123
- extra_body: Body | None = None,
1124
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
1125
- ) -> ServerAddResponse:
1126
- """
1127
- Add a new MCP server to the Letta MCP server config
1128
-
1129
- Args:
1130
- server_name: The name of the server
1131
-
1132
- server_url: The URL of the server (MCP SSE client will connect to this URL)
1133
-
1134
- auth_header: The name of the authentication header (e.g., 'Authorization')
1135
-
1136
- auth_token: The authentication token or API key value
1137
-
1138
- custom_headers: Custom HTTP headers to include with SSE requests
1139
-
1140
- extra_headers: Send extra headers
1141
-
1142
- extra_query: Add additional query parameters to the request
1143
-
1144
- extra_body: Add additional JSON properties to the request
1145
-
1146
- timeout: Override the client-level default timeout for this request, in seconds
1147
- """
1148
- ...
1149
-
1150
- @overload
1151
- async def add(
1152
- self,
1153
- *,
1154
- server_name: str,
1155
- server_url: str,
1156
- auth_header: Optional[str] | Omit = omit,
1157
- auth_token: Optional[str] | Omit = omit,
1158
- custom_headers: Optional[Dict[str, str]] | Omit = omit,
1159
- type: McpServerType | Omit = omit,
1160
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1161
- # The extra values given here take precedence over values defined on the client or passed to this method.
1162
- extra_headers: Headers | None = None,
1163
- extra_query: Query | None = None,
1164
- extra_body: Body | None = None,
1165
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
1166
- ) -> ServerAddResponse:
1167
- """
1168
- Add a new MCP server to the Letta MCP server config
1169
-
1170
- Args:
1171
- server_name: The name of the server
1172
-
1173
- server_url: The URL path for the streamable HTTP server (e.g., 'example/mcp')
1174
-
1175
- auth_header: The name of the authentication header (e.g., 'Authorization')
1176
-
1177
- auth_token: The authentication token or API key value
1178
-
1179
- custom_headers: Custom HTTP headers to include with streamable HTTP requests
1180
-
1181
- extra_headers: Send extra headers
1182
-
1183
- extra_query: Add additional query parameters to the request
1184
-
1185
- extra_body: Add additional JSON properties to the request
1186
-
1187
- timeout: Override the client-level default timeout for this request, in seconds
1188
- """
1189
- ...
1190
-
1191
- @required_args(["args", "command", "server_name"], ["server_name", "server_url"])
1192
- async def add(
1193
- self,
1194
- *,
1195
- args: SequenceNotStr[str] | Omit = omit,
1196
- command: str | Omit = omit,
1197
- server_name: str,
1198
- env: Optional[Dict[str, str]] | Omit = omit,
1199
- type: McpServerType | Omit = omit,
1200
- server_url: str | Omit = omit,
1201
- auth_header: Optional[str] | Omit = omit,
1202
- auth_token: Optional[str] | Omit = omit,
1203
- custom_headers: Optional[Dict[str, str]] | Omit = omit,
1204
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1205
- # The extra values given here take precedence over values defined on the client or passed to this method.
1206
- extra_headers: Headers | None = None,
1207
- extra_query: Query | None = None,
1208
- extra_body: Body | None = None,
1209
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
1210
- ) -> ServerAddResponse:
1211
- return await self._put(
1212
- "/v1/tools/mcp/servers",
1213
- body=await async_maybe_transform(
1214
- {
1215
- "args": args,
1216
- "command": command,
1217
- "server_name": server_name,
1218
- "env": env,
1219
- "type": type,
1220
- "server_url": server_url,
1221
- "auth_header": auth_header,
1222
- "auth_token": auth_token,
1223
- "custom_headers": custom_headers,
1224
- },
1225
- server_add_params.ServerAddParams,
1226
- ),
1227
- options=make_request_options(
1228
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
1229
- ),
1230
- cast_to=ServerAddResponse,
1231
- )
1232
-
1233
- @overload
1234
- async def connect(
1235
- self,
1236
- *,
1237
- args: SequenceNotStr[str],
1238
- command: str,
1239
- server_name: str,
1240
- env: Optional[Dict[str, str]] | Omit = omit,
1241
- type: McpServerType | Omit = omit,
1242
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1243
- # The extra values given here take precedence over values defined on the client or passed to this method.
1244
- extra_headers: Headers | None = None,
1245
- extra_query: Query | None = None,
1246
- extra_body: Body | None = None,
1247
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
1248
- ) -> object:
1249
- """Connect to an MCP server with support for OAuth via SSE.
1250
-
1251
- Returns a stream of
1252
- events handling authorization state and exchange if OAuth is required.
1253
-
1254
- Args:
1255
- args: The arguments to pass to the command
1256
-
1257
- command: The command to run (MCP 'local' client will run this command)
1258
-
1259
- server_name: The name of the server
1260
-
1261
- env: Environment variables to set
1262
-
1263
- extra_headers: Send extra headers
1264
-
1265
- extra_query: Add additional query parameters to the request
1266
-
1267
- extra_body: Add additional JSON properties to the request
1268
-
1269
- timeout: Override the client-level default timeout for this request, in seconds
1270
- """
1271
- ...
1272
-
1273
- @overload
1274
- async def connect(
1275
- self,
1276
- *,
1277
- server_name: str,
1278
- server_url: str,
1279
- auth_header: Optional[str] | Omit = omit,
1280
- auth_token: Optional[str] | Omit = omit,
1281
- custom_headers: Optional[Dict[str, str]] | Omit = omit,
1282
- type: McpServerType | Omit = omit,
1283
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1284
- # The extra values given here take precedence over values defined on the client or passed to this method.
1285
- extra_headers: Headers | None = None,
1286
- extra_query: Query | None = None,
1287
- extra_body: Body | None = None,
1288
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
1289
- ) -> object:
1290
- """Connect to an MCP server with support for OAuth via SSE.
1291
-
1292
- Returns a stream of
1293
- events handling authorization state and exchange if OAuth is required.
1294
-
1295
- Args:
1296
- server_name: The name of the server
1297
-
1298
- server_url: The URL of the server (MCP SSE client will connect to this URL)
1299
-
1300
- auth_header: The name of the authentication header (e.g., 'Authorization')
1301
-
1302
- auth_token: The authentication token or API key value
1303
-
1304
- custom_headers: Custom HTTP headers to include with SSE requests
1305
-
1306
- extra_headers: Send extra headers
1307
-
1308
- extra_query: Add additional query parameters to the request
1309
-
1310
- extra_body: Add additional JSON properties to the request
1311
-
1312
- timeout: Override the client-level default timeout for this request, in seconds
1313
- """
1314
- ...
1315
-
1316
- @overload
1317
- async def connect(
1318
- self,
1319
- *,
1320
- server_name: str,
1321
- server_url: str,
1322
- auth_header: Optional[str] | Omit = omit,
1323
- auth_token: Optional[str] | Omit = omit,
1324
- custom_headers: Optional[Dict[str, str]] | Omit = omit,
1325
- type: McpServerType | Omit = omit,
1326
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1327
- # The extra values given here take precedence over values defined on the client or passed to this method.
1328
- extra_headers: Headers | None = None,
1329
- extra_query: Query | None = None,
1330
- extra_body: Body | None = None,
1331
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
1332
- ) -> object:
1333
- """Connect to an MCP server with support for OAuth via SSE.
1334
-
1335
- Returns a stream of
1336
- events handling authorization state and exchange if OAuth is required.
1337
-
1338
- Args:
1339
- server_name: The name of the server
1340
-
1341
- server_url: The URL path for the streamable HTTP server (e.g., 'example/mcp')
1342
-
1343
- auth_header: The name of the authentication header (e.g., 'Authorization')
1344
-
1345
- auth_token: The authentication token or API key value
1346
-
1347
- custom_headers: Custom HTTP headers to include with streamable HTTP requests
1348
-
1349
- extra_headers: Send extra headers
1350
-
1351
- extra_query: Add additional query parameters to the request
1352
-
1353
- extra_body: Add additional JSON properties to the request
1354
-
1355
- timeout: Override the client-level default timeout for this request, in seconds
1356
- """
1357
- ...
1358
-
1359
- @required_args(["args", "command", "server_name"], ["server_name", "server_url"])
1360
- async def connect(
1361
- self,
1362
- *,
1363
- args: SequenceNotStr[str] | Omit = omit,
1364
- command: str | Omit = omit,
1365
- server_name: str,
1366
- env: Optional[Dict[str, str]] | Omit = omit,
1367
- type: McpServerType | Omit = omit,
1368
- server_url: str | Omit = omit,
1369
- auth_header: Optional[str] | Omit = omit,
1370
- auth_token: Optional[str] | Omit = omit,
1371
- custom_headers: Optional[Dict[str, str]] | Omit = omit,
1372
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1373
- # The extra values given here take precedence over values defined on the client or passed to this method.
1374
- extra_headers: Headers | None = None,
1375
- extra_query: Query | None = None,
1376
- extra_body: Body | None = None,
1377
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
1378
- ) -> object:
1379
- return await self._post(
1380
- "/v1/tools/mcp/servers/connect",
1381
- body=await async_maybe_transform(
1382
- {
1383
- "args": args,
1384
- "command": command,
1385
- "server_name": server_name,
1386
- "env": env,
1387
- "type": type,
1388
- "server_url": server_url,
1389
- "auth_header": auth_header,
1390
- "auth_token": auth_token,
1391
- "custom_headers": custom_headers,
1392
- },
1393
- server_connect_params.ServerConnectParams,
1394
- ),
1395
- options=make_request_options(
1396
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
1397
- ),
1398
- cast_to=object,
1399
- )
1400
-
1401
- async def register_tool(
1402
- self,
1403
- mcp_tool_name: str,
1404
- *,
1405
- mcp_server_name: str,
1406
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1407
- # The extra values given here take precedence over values defined on the client or passed to this method.
1408
- extra_headers: Headers | None = None,
1409
- extra_query: Query | None = None,
1410
- extra_body: Body | None = None,
1411
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
1412
- ) -> Tool:
1413
- """
1414
- Register a new MCP tool as a Letta server by MCP server + tool name
1415
-
1416
- Args:
1417
- extra_headers: Send extra headers
1418
-
1419
- extra_query: Add additional query parameters to the request
1420
-
1421
- extra_body: Add additional JSON properties to the request
1422
-
1423
- timeout: Override the client-level default timeout for this request, in seconds
1424
- """
1425
- if not mcp_server_name:
1426
- raise ValueError(f"Expected a non-empty value for `mcp_server_name` but received {mcp_server_name!r}")
1427
- if not mcp_tool_name:
1428
- raise ValueError(f"Expected a non-empty value for `mcp_tool_name` but received {mcp_tool_name!r}")
1429
- return await self._post(
1430
- f"/v1/tools/mcp/servers/{mcp_server_name}/{mcp_tool_name}",
1431
- options=make_request_options(
1432
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
1433
- ),
1434
- cast_to=Tool,
1435
- )
1436
-
1437
- async def resync(
1438
- self,
1439
- mcp_server_name: str,
1440
- *,
1441
- agent_id: Optional[str] | Omit = omit,
1442
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1443
- # The extra values given here take precedence over values defined on the client or passed to this method.
1444
- extra_headers: Headers | None = None,
1445
- extra_query: Query | None = None,
1446
- extra_body: Body | None = None,
1447
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
1448
- ) -> object:
1449
- """Resync tools for an MCP server by:
1450
-
1451
- 1.
1452
-
1453
- Fetching current tools from the MCP server
1454
- 2. Deleting tools that no longer exist on the server
1455
- 3. Updating schemas for existing tools
1456
- 4. Adding new tools from the server
1457
-
1458
- Returns a summary of changes made.
1459
-
1460
- Args:
1461
- extra_headers: Send extra headers
1462
-
1463
- extra_query: Add additional query parameters to the request
1464
-
1465
- extra_body: Add additional JSON properties to the request
1466
-
1467
- timeout: Override the client-level default timeout for this request, in seconds
1468
- """
1469
- if not mcp_server_name:
1470
- raise ValueError(f"Expected a non-empty value for `mcp_server_name` but received {mcp_server_name!r}")
1471
- return await self._post(
1472
- f"/v1/tools/mcp/servers/{mcp_server_name}/resync",
1473
- options=make_request_options(
1474
- extra_headers=extra_headers,
1475
- extra_query=extra_query,
1476
- extra_body=extra_body,
1477
- timeout=timeout,
1478
- query=await async_maybe_transform({"agent_id": agent_id}, server_resync_params.ServerResyncParams),
1479
- ),
1480
- cast_to=object,
1481
- )
1482
-
1483
- @overload
1484
- async def test(
1485
- self,
1486
- *,
1487
- args: SequenceNotStr[str],
1488
- command: str,
1489
- server_name: str,
1490
- env: Optional[Dict[str, str]] | Omit = omit,
1491
- type: McpServerType | Omit = omit,
1492
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1493
- # The extra values given here take precedence over values defined on the client or passed to this method.
1494
- extra_headers: Headers | None = None,
1495
- extra_query: Query | None = None,
1496
- extra_body: Body | None = None,
1497
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
1498
- ) -> object:
1499
- """Test connection to an MCP server without adding it.
1500
-
1501
- Returns the list of
1502
- available tools if successful.
1503
-
1504
- Args:
1505
- args: The arguments to pass to the command
1506
-
1507
- command: The command to run (MCP 'local' client will run this command)
1508
-
1509
- server_name: The name of the server
1510
-
1511
- env: Environment variables to set
1512
-
1513
- extra_headers: Send extra headers
1514
-
1515
- extra_query: Add additional query parameters to the request
1516
-
1517
- extra_body: Add additional JSON properties to the request
1518
-
1519
- timeout: Override the client-level default timeout for this request, in seconds
1520
- """
1521
- ...
1522
-
1523
- @overload
1524
- async def test(
1525
- self,
1526
- *,
1527
- server_name: str,
1528
- server_url: str,
1529
- auth_header: Optional[str] | Omit = omit,
1530
- auth_token: Optional[str] | Omit = omit,
1531
- custom_headers: Optional[Dict[str, str]] | Omit = omit,
1532
- type: McpServerType | Omit = omit,
1533
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1534
- # The extra values given here take precedence over values defined on the client or passed to this method.
1535
- extra_headers: Headers | None = None,
1536
- extra_query: Query | None = None,
1537
- extra_body: Body | None = None,
1538
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
1539
- ) -> object:
1540
- """Test connection to an MCP server without adding it.
1541
-
1542
- Returns the list of
1543
- available tools if successful.
1544
-
1545
- Args:
1546
- server_name: The name of the server
1547
-
1548
- server_url: The URL of the server (MCP SSE client will connect to this URL)
1549
-
1550
- auth_header: The name of the authentication header (e.g., 'Authorization')
1551
-
1552
- auth_token: The authentication token or API key value
1553
-
1554
- custom_headers: Custom HTTP headers to include with SSE requests
1555
-
1556
- extra_headers: Send extra headers
1557
-
1558
- extra_query: Add additional query parameters to the request
1559
-
1560
- extra_body: Add additional JSON properties to the request
1561
-
1562
- timeout: Override the client-level default timeout for this request, in seconds
1563
- """
1564
- ...
1565
-
1566
- @overload
1567
- async def test(
1568
- self,
1569
- *,
1570
- server_name: str,
1571
- server_url: str,
1572
- auth_header: Optional[str] | Omit = omit,
1573
- auth_token: Optional[str] | Omit = omit,
1574
- custom_headers: Optional[Dict[str, str]] | Omit = omit,
1575
- type: McpServerType | Omit = omit,
1576
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1577
- # The extra values given here take precedence over values defined on the client or passed to this method.
1578
- extra_headers: Headers | None = None,
1579
- extra_query: Query | None = None,
1580
- extra_body: Body | None = None,
1581
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
1582
- ) -> object:
1583
- """Test connection to an MCP server without adding it.
1584
-
1585
- Returns the list of
1586
- available tools if successful.
1587
-
1588
- Args:
1589
- server_name: The name of the server
1590
-
1591
- server_url: The URL path for the streamable HTTP server (e.g., 'example/mcp')
1592
-
1593
- auth_header: The name of the authentication header (e.g., 'Authorization')
1594
-
1595
- auth_token: The authentication token or API key value
1596
-
1597
- custom_headers: Custom HTTP headers to include with streamable HTTP requests
1598
-
1599
- extra_headers: Send extra headers
1600
-
1601
- extra_query: Add additional query parameters to the request
1602
-
1603
- extra_body: Add additional JSON properties to the request
1604
-
1605
- timeout: Override the client-level default timeout for this request, in seconds
1606
- """
1607
- ...
1608
-
1609
- @required_args(["args", "command", "server_name"], ["server_name", "server_url"])
1610
- async def test(
1611
- self,
1612
- *,
1613
- args: SequenceNotStr[str] | Omit = omit,
1614
- command: str | Omit = omit,
1615
- server_name: str,
1616
- env: Optional[Dict[str, str]] | Omit = omit,
1617
- type: McpServerType | Omit = omit,
1618
- server_url: str | Omit = omit,
1619
- auth_header: Optional[str] | Omit = omit,
1620
- auth_token: Optional[str] | Omit = omit,
1621
- custom_headers: Optional[Dict[str, str]] | Omit = omit,
1622
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1623
- # The extra values given here take precedence over values defined on the client or passed to this method.
1624
- extra_headers: Headers | None = None,
1625
- extra_query: Query | None = None,
1626
- extra_body: Body | None = None,
1627
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
1628
- ) -> object:
1629
- return await self._post(
1630
- "/v1/tools/mcp/servers/test",
1631
- body=await async_maybe_transform(
1632
- {
1633
- "args": args,
1634
- "command": command,
1635
- "server_name": server_name,
1636
- "env": env,
1637
- "type": type,
1638
- "server_url": server_url,
1639
- "auth_header": auth_header,
1640
- "auth_token": auth_token,
1641
- "custom_headers": custom_headers,
1642
- },
1643
- server_test_params.ServerTestParams,
1644
- ),
1645
- options=make_request_options(
1646
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
1647
- ),
1648
- cast_to=object,
1649
- )
1650
-
1651
-
1652
- class ServersResourceWithRawResponse:
1653
- def __init__(self, servers: ServersResource) -> None:
1654
- self._servers = servers
1655
-
1656
- self.update = to_raw_response_wrapper(
1657
- servers.update,
1658
- )
1659
- self.list = to_raw_response_wrapper(
1660
- servers.list,
1661
- )
1662
- self.delete = to_raw_response_wrapper(
1663
- servers.delete,
1664
- )
1665
- self.add = to_raw_response_wrapper(
1666
- servers.add,
1667
- )
1668
- self.connect = to_raw_response_wrapper(
1669
- servers.connect,
1670
- )
1671
- self.register_tool = to_raw_response_wrapper(
1672
- servers.register_tool,
1673
- )
1674
- self.resync = to_raw_response_wrapper(
1675
- servers.resync,
1676
- )
1677
- self.test = to_raw_response_wrapper(
1678
- servers.test,
1679
- )
1680
-
1681
- @cached_property
1682
- def tools(self) -> ToolsResourceWithRawResponse:
1683
- return ToolsResourceWithRawResponse(self._servers.tools)
1684
-
1685
-
1686
- class AsyncServersResourceWithRawResponse:
1687
- def __init__(self, servers: AsyncServersResource) -> None:
1688
- self._servers = servers
1689
-
1690
- self.update = async_to_raw_response_wrapper(
1691
- servers.update,
1692
- )
1693
- self.list = async_to_raw_response_wrapper(
1694
- servers.list,
1695
- )
1696
- self.delete = async_to_raw_response_wrapper(
1697
- servers.delete,
1698
- )
1699
- self.add = async_to_raw_response_wrapper(
1700
- servers.add,
1701
- )
1702
- self.connect = async_to_raw_response_wrapper(
1703
- servers.connect,
1704
- )
1705
- self.register_tool = async_to_raw_response_wrapper(
1706
- servers.register_tool,
1707
- )
1708
- self.resync = async_to_raw_response_wrapper(
1709
- servers.resync,
1710
- )
1711
- self.test = async_to_raw_response_wrapper(
1712
- servers.test,
1713
- )
1714
-
1715
- @cached_property
1716
- def tools(self) -> AsyncToolsResourceWithRawResponse:
1717
- return AsyncToolsResourceWithRawResponse(self._servers.tools)
1718
-
1719
-
1720
- class ServersResourceWithStreamingResponse:
1721
- def __init__(self, servers: ServersResource) -> None:
1722
- self._servers = servers
1723
-
1724
- self.update = to_streamed_response_wrapper(
1725
- servers.update,
1726
- )
1727
- self.list = to_streamed_response_wrapper(
1728
- servers.list,
1729
- )
1730
- self.delete = to_streamed_response_wrapper(
1731
- servers.delete,
1732
- )
1733
- self.add = to_streamed_response_wrapper(
1734
- servers.add,
1735
- )
1736
- self.connect = to_streamed_response_wrapper(
1737
- servers.connect,
1738
- )
1739
- self.register_tool = to_streamed_response_wrapper(
1740
- servers.register_tool,
1741
- )
1742
- self.resync = to_streamed_response_wrapper(
1743
- servers.resync,
1744
- )
1745
- self.test = to_streamed_response_wrapper(
1746
- servers.test,
1747
- )
1748
-
1749
- @cached_property
1750
- def tools(self) -> ToolsResourceWithStreamingResponse:
1751
- return ToolsResourceWithStreamingResponse(self._servers.tools)
1752
-
1753
-
1754
- class AsyncServersResourceWithStreamingResponse:
1755
- def __init__(self, servers: AsyncServersResource) -> None:
1756
- self._servers = servers
1757
-
1758
- self.update = async_to_streamed_response_wrapper(
1759
- servers.update,
1760
- )
1761
- self.list = async_to_streamed_response_wrapper(
1762
- servers.list,
1763
- )
1764
- self.delete = async_to_streamed_response_wrapper(
1765
- servers.delete,
1766
- )
1767
- self.add = async_to_streamed_response_wrapper(
1768
- servers.add,
1769
- )
1770
- self.connect = async_to_streamed_response_wrapper(
1771
- servers.connect,
1772
- )
1773
- self.register_tool = async_to_streamed_response_wrapper(
1774
- servers.register_tool,
1775
- )
1776
- self.resync = async_to_streamed_response_wrapper(
1777
- servers.resync,
1778
- )
1779
- self.test = async_to_streamed_response_wrapper(
1780
- servers.test,
1781
- )
1782
-
1783
- @cached_property
1784
- def tools(self) -> AsyncToolsResourceWithStreamingResponse:
1785
- return AsyncToolsResourceWithStreamingResponse(self._servers.tools)