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,1310 +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 Dict, Union, Iterable, Optional
6
- from typing_extensions import Literal, overload
7
-
8
- import httpx
9
-
10
- from ..types import (
11
- template_fork_params,
12
- template_list_params,
13
- template_create_params,
14
- template_rename_params,
15
- template_save_version_params,
16
- template_create_agents_params,
17
- template_list_versions_params,
18
- template_update_description_params,
19
- )
20
- from .._types import Body, Omit, Query, Headers, NotGiven, SequenceNotStr, omit, not_given
21
- from .._utils import required_args, maybe_transform, async_maybe_transform
22
- from .._compat import cached_property
23
- from .._resource import SyncAPIResource, AsyncAPIResource
24
- from .._response import (
25
- to_raw_response_wrapper,
26
- to_streamed_response_wrapper,
27
- async_to_raw_response_wrapper,
28
- async_to_streamed_response_wrapper,
29
- )
30
- from .._base_client import make_request_options
31
- from ..types.template_fork_response import TemplateForkResponse
32
- from ..types.template_list_response import TemplateListResponse
33
- from ..types.template_create_response import TemplateCreateResponse
34
- from ..types.template_delete_response import TemplateDeleteResponse
35
- from ..types.template_rename_response import TemplateRenameResponse
36
- from ..types.template_get_snapshot_response import TemplateGetSnapshotResponse
37
- from ..types.template_save_version_response import TemplateSaveVersionResponse
38
- from ..types.template_create_agents_response import TemplateCreateAgentsResponse
39
- from ..types.template_list_versions_response import TemplateListVersionsResponse
40
- from ..types.template_update_description_response import TemplateUpdateDescriptionResponse
41
-
42
- __all__ = ["TemplatesResource", "AsyncTemplatesResource"]
43
-
44
-
45
- class TemplatesResource(SyncAPIResource):
46
- @cached_property
47
- def with_raw_response(self) -> TemplatesResourceWithRawResponse:
48
- """
49
- This property can be used as a prefix for any HTTP method call to return
50
- the raw response object instead of the parsed content.
51
-
52
- For more information, see https://www.github.com/letta-ai/letta-python#accessing-raw-response-data-eg-headers
53
- """
54
- return TemplatesResourceWithRawResponse(self)
55
-
56
- @cached_property
57
- def with_streaming_response(self) -> TemplatesResourceWithStreamingResponse:
58
- """
59
- An alternative to `.with_raw_response` that doesn't eagerly read the response body.
60
-
61
- For more information, see https://www.github.com/letta-ai/letta-python#with_streaming_response
62
- """
63
- return TemplatesResourceWithStreamingResponse(self)
64
-
65
- @overload
66
- def create(
67
- self,
68
- project: str,
69
- *,
70
- agent_id: str,
71
- type: Literal["agent"],
72
- name: str | Omit = omit,
73
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
74
- # The extra values given here take precedence over values defined on the client or passed to this method.
75
- extra_headers: Headers | None = None,
76
- extra_query: Query | None = None,
77
- extra_body: Body | None = None,
78
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
79
- ) -> TemplateCreateResponse:
80
- """
81
- Creates a new template from an existing agent or agent file
82
-
83
- Args:
84
- agent_id: The ID of the agent to use as a template, can be from any project
85
-
86
- name: Optional custom name for the template. If not provided, a random name will be
87
- generated.
88
-
89
- extra_headers: Send extra headers
90
-
91
- extra_query: Add additional query parameters to the request
92
-
93
- extra_body: Add additional JSON properties to the request
94
-
95
- timeout: Override the client-level default timeout for this request, in seconds
96
- """
97
- ...
98
-
99
- @overload
100
- def create(
101
- self,
102
- project: str,
103
- *,
104
- agent_file: Dict[str, Optional[object]],
105
- type: Literal["agent_file"],
106
- name: str | Omit = omit,
107
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
108
- # The extra values given here take precedence over values defined on the client or passed to this method.
109
- extra_headers: Headers | None = None,
110
- extra_query: Query | None = None,
111
- extra_body: Body | None = None,
112
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
113
- ) -> TemplateCreateResponse:
114
- """
115
- Creates a new template from an existing agent or agent file
116
-
117
- Args:
118
- agent_file: The agent file to use as a template, this should be a JSON file exported from
119
- the platform
120
-
121
- name: Optional custom name for the template. If not provided, a random name will be
122
- generated.
123
-
124
- extra_headers: Send extra headers
125
-
126
- extra_query: Add additional query parameters to the request
127
-
128
- extra_body: Add additional JSON properties to the request
129
-
130
- timeout: Override the client-level default timeout for this request, in seconds
131
- """
132
- ...
133
-
134
- @required_args(["agent_id", "type"], ["agent_file", "type"])
135
- def create(
136
- self,
137
- project: str,
138
- *,
139
- agent_id: str | Omit = omit,
140
- type: Literal["agent"] | Literal["agent_file"],
141
- name: str | Omit = omit,
142
- agent_file: Dict[str, Optional[object]] | Omit = omit,
143
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
144
- # The extra values given here take precedence over values defined on the client or passed to this method.
145
- extra_headers: Headers | None = None,
146
- extra_query: Query | None = None,
147
- extra_body: Body | None = None,
148
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
149
- ) -> TemplateCreateResponse:
150
- if not project:
151
- raise ValueError(f"Expected a non-empty value for `project` but received {project!r}")
152
- return self._post(
153
- f"/v1/templates/{project}",
154
- body=maybe_transform(
155
- {
156
- "agent_id": agent_id,
157
- "type": type,
158
- "name": name,
159
- "agent_file": agent_file,
160
- },
161
- template_create_params.TemplateCreateParams,
162
- ),
163
- options=make_request_options(
164
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
165
- ),
166
- cast_to=TemplateCreateResponse,
167
- )
168
-
169
- def list(
170
- self,
171
- *,
172
- exact: str | Omit = omit,
173
- limit: str | Omit = omit,
174
- name: str | Omit = omit,
175
- offset: Union[str, float] | Omit = omit,
176
- project_id: str | Omit = omit,
177
- project_slug: str | Omit = omit,
178
- search: str | Omit = omit,
179
- sort_by: Literal["updated_at", "created_at"] | Omit = omit,
180
- template_id: str | Omit = omit,
181
- version: str | Omit = omit,
182
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
183
- # The extra values given here take precedence over values defined on the client or passed to this method.
184
- extra_headers: Headers | None = None,
185
- extra_query: Query | None = None,
186
- extra_body: Body | None = None,
187
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
188
- ) -> TemplateListResponse:
189
- """
190
- List all templates
191
-
192
- Args:
193
- exact: Whether to search for an exact name match
194
-
195
- version: Specify the version you want to return, otherwise will return the latest version
196
-
197
- extra_headers: Send extra headers
198
-
199
- extra_query: Add additional query parameters to the request
200
-
201
- extra_body: Add additional JSON properties to the request
202
-
203
- timeout: Override the client-level default timeout for this request, in seconds
204
- """
205
- return self._get(
206
- "/v1/templates",
207
- options=make_request_options(
208
- extra_headers=extra_headers,
209
- extra_query=extra_query,
210
- extra_body=extra_body,
211
- timeout=timeout,
212
- query=maybe_transform(
213
- {
214
- "exact": exact,
215
- "limit": limit,
216
- "name": name,
217
- "offset": offset,
218
- "project_id": project_id,
219
- "project_slug": project_slug,
220
- "search": search,
221
- "sort_by": sort_by,
222
- "template_id": template_id,
223
- "version": version,
224
- },
225
- template_list_params.TemplateListParams,
226
- ),
227
- ),
228
- cast_to=TemplateListResponse,
229
- )
230
-
231
- def delete(
232
- self,
233
- template_name: str,
234
- *,
235
- project: str,
236
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
237
- # The extra values given here take precedence over values defined on the client or passed to this method.
238
- extra_headers: Headers | None = None,
239
- extra_query: Query | None = None,
240
- extra_body: Body | None = None,
241
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
242
- ) -> TemplateDeleteResponse:
243
- """
244
- Deletes all versions of a template with the specified name
245
-
246
- Args:
247
- extra_headers: Send extra headers
248
-
249
- extra_query: Add additional query parameters to the request
250
-
251
- extra_body: Add additional JSON properties to the request
252
-
253
- timeout: Override the client-level default timeout for this request, in seconds
254
- """
255
- if not project:
256
- raise ValueError(f"Expected a non-empty value for `project` but received {project!r}")
257
- if not template_name:
258
- raise ValueError(f"Expected a non-empty value for `template_name` but received {template_name!r}")
259
- return self._delete(
260
- f"/v1/templates/{project}/{template_name}",
261
- options=make_request_options(
262
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
263
- ),
264
- cast_to=TemplateDeleteResponse,
265
- )
266
-
267
- def create_agents(
268
- self,
269
- template_version: str,
270
- *,
271
- project: str,
272
- agent_name: str | Omit = omit,
273
- identity_ids: SequenceNotStr[str] | Omit = omit,
274
- initial_message_sequence: Iterable[template_create_agents_params.InitialMessageSequence] | Omit = omit,
275
- memory_variables: Dict[str, str] | Omit = omit,
276
- tags: SequenceNotStr[str] | Omit = omit,
277
- tool_variables: Dict[str, str] | 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
- ) -> TemplateCreateAgentsResponse:
285
- """
286
- Creates an Agent or multiple Agents from a template
287
-
288
- Args:
289
- agent_name: The name of the agent, optional otherwise a random one will be assigned
290
-
291
- identity_ids: The identity ids to assign to the agent
292
-
293
- initial_message_sequence: Set an initial sequence of messages, if not provided, the agent will start with
294
- the default message sequence, if an empty array is provided, the agent will
295
- start with no messages
296
-
297
- memory_variables: The memory variables to assign to the agent
298
-
299
- tags: The tags to assign to the agent
300
-
301
- tool_variables: The tool variables to assign to the agent
302
-
303
- extra_headers: Send extra headers
304
-
305
- extra_query: Add additional query parameters to the request
306
-
307
- extra_body: Add additional JSON properties to the request
308
-
309
- timeout: Override the client-level default timeout for this request, in seconds
310
- """
311
- if not project:
312
- raise ValueError(f"Expected a non-empty value for `project` but received {project!r}")
313
- if not template_version:
314
- raise ValueError(f"Expected a non-empty value for `template_version` but received {template_version!r}")
315
- return self._post(
316
- f"/v1/templates/{project}/{template_version}/agents",
317
- body=maybe_transform(
318
- {
319
- "agent_name": agent_name,
320
- "identity_ids": identity_ids,
321
- "initial_message_sequence": initial_message_sequence,
322
- "memory_variables": memory_variables,
323
- "tags": tags,
324
- "tool_variables": tool_variables,
325
- },
326
- template_create_agents_params.TemplateCreateAgentsParams,
327
- ),
328
- options=make_request_options(
329
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
330
- ),
331
- cast_to=TemplateCreateAgentsResponse,
332
- )
333
-
334
- def fork(
335
- self,
336
- template_version: str,
337
- *,
338
- project: str,
339
- name: str | Omit = omit,
340
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
341
- # The extra values given here take precedence over values defined on the client or passed to this method.
342
- extra_headers: Headers | None = None,
343
- extra_query: Query | None = None,
344
- extra_body: Body | None = None,
345
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
346
- ) -> TemplateForkResponse:
347
- """
348
- Forks a template version into a new template
349
-
350
- Args:
351
- name: Optional custom name for the forked template. If not provided, a random name
352
- will be generated.
353
-
354
- extra_headers: Send extra headers
355
-
356
- extra_query: Add additional query parameters to the request
357
-
358
- extra_body: Add additional JSON properties to the request
359
-
360
- timeout: Override the client-level default timeout for this request, in seconds
361
- """
362
- if not project:
363
- raise ValueError(f"Expected a non-empty value for `project` but received {project!r}")
364
- if not template_version:
365
- raise ValueError(f"Expected a non-empty value for `template_version` but received {template_version!r}")
366
- return self._post(
367
- f"/v1/templates/{project}/{template_version}/fork",
368
- body=maybe_transform({"name": name}, template_fork_params.TemplateForkParams),
369
- options=make_request_options(
370
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
371
- ),
372
- cast_to=TemplateForkResponse,
373
- )
374
-
375
- def get_snapshot(
376
- self,
377
- template_version: str,
378
- *,
379
- project: str,
380
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
381
- # The extra values given here take precedence over values defined on the client or passed to this method.
382
- extra_headers: Headers | None = None,
383
- extra_query: Query | None = None,
384
- extra_body: Body | None = None,
385
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
386
- ) -> TemplateGetSnapshotResponse:
387
- """
388
- Get a snapshot of the template version, this will return the template state at a
389
- specific version
390
-
391
- Args:
392
- extra_headers: Send extra headers
393
-
394
- extra_query: Add additional query parameters to the request
395
-
396
- extra_body: Add additional JSON properties to the request
397
-
398
- timeout: Override the client-level default timeout for this request, in seconds
399
- """
400
- if not project:
401
- raise ValueError(f"Expected a non-empty value for `project` but received {project!r}")
402
- if not template_version:
403
- raise ValueError(f"Expected a non-empty value for `template_version` but received {template_version!r}")
404
- return self._get(
405
- f"/v1/templates/{project}/{template_version}/snapshot",
406
- options=make_request_options(
407
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
408
- ),
409
- cast_to=TemplateGetSnapshotResponse,
410
- )
411
-
412
- def list_versions(
413
- self,
414
- name: str,
415
- *,
416
- project_slug: str,
417
- limit: str | Omit = omit,
418
- offset: Union[str, float] | Omit = omit,
419
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
420
- # The extra values given here take precedence over values defined on the client or passed to this method.
421
- extra_headers: Headers | None = None,
422
- extra_query: Query | None = None,
423
- extra_body: Body | None = None,
424
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
425
- ) -> TemplateListVersionsResponse:
426
- """
427
- List all versions of a specific template
428
-
429
- Args:
430
- extra_headers: Send extra headers
431
-
432
- extra_query: Add additional query parameters to the request
433
-
434
- extra_body: Add additional JSON properties to the request
435
-
436
- timeout: Override the client-level default timeout for this request, in seconds
437
- """
438
- if not project_slug:
439
- raise ValueError(f"Expected a non-empty value for `project_slug` but received {project_slug!r}")
440
- if not name:
441
- raise ValueError(f"Expected a non-empty value for `name` but received {name!r}")
442
- return self._get(
443
- f"/v1/templates/{project_slug}/{name}/versions",
444
- options=make_request_options(
445
- extra_headers=extra_headers,
446
- extra_query=extra_query,
447
- extra_body=extra_body,
448
- timeout=timeout,
449
- query=maybe_transform(
450
- {
451
- "limit": limit,
452
- "offset": offset,
453
- },
454
- template_list_versions_params.TemplateListVersionsParams,
455
- ),
456
- ),
457
- cast_to=TemplateListVersionsResponse,
458
- )
459
-
460
- def rename(
461
- self,
462
- template_name: str,
463
- *,
464
- project: str,
465
- new_name: str,
466
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
467
- # The extra values given here take precedence over values defined on the client or passed to this method.
468
- extra_headers: Headers | None = None,
469
- extra_query: Query | None = None,
470
- extra_body: Body | None = None,
471
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
472
- ) -> TemplateRenameResponse:
473
- """Renames all versions of a template with the specified name.
474
-
475
- Versions are
476
- automatically stripped from the current template name if accidentally included.
477
-
478
- Args:
479
- new_name: The new name for the template
480
-
481
- extra_headers: Send extra headers
482
-
483
- extra_query: Add additional query parameters to the request
484
-
485
- extra_body: Add additional JSON properties to the request
486
-
487
- timeout: Override the client-level default timeout for this request, in seconds
488
- """
489
- if not project:
490
- raise ValueError(f"Expected a non-empty value for `project` but received {project!r}")
491
- if not template_name:
492
- raise ValueError(f"Expected a non-empty value for `template_name` but received {template_name!r}")
493
- return self._patch(
494
- f"/v1/templates/{project}/{template_name}/name",
495
- body=maybe_transform({"new_name": new_name}, template_rename_params.TemplateRenameParams),
496
- options=make_request_options(
497
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
498
- ),
499
- cast_to=TemplateRenameResponse,
500
- )
501
-
502
- def save_version(
503
- self,
504
- template_name: str,
505
- *,
506
- project: str,
507
- message: str | Omit = omit,
508
- migrate_agents: bool | Omit = omit,
509
- preserve_core_memories_on_migration: bool | Omit = omit,
510
- preserve_environment_variables_on_migration: bool | Omit = omit,
511
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
512
- # The extra values given here take precedence over values defined on the client or passed to this method.
513
- extra_headers: Headers | None = None,
514
- extra_query: Query | None = None,
515
- extra_body: Body | None = None,
516
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
517
- ) -> TemplateSaveVersionResponse:
518
- """
519
- Saves the current version of the template as a new version
520
-
521
- Args:
522
- message: A message to describe the changes made in this template version
523
-
524
- migrate_agents: If true, existing agents attached to this template will be migrated to the new
525
- template version
526
-
527
- preserve_core_memories_on_migration: If true, the core memories will be preserved in the template version when
528
- migrating agents
529
-
530
- preserve_environment_variables_on_migration: If true, the environment variables will be preserved in the template version
531
- when migrating agents
532
-
533
- extra_headers: Send extra headers
534
-
535
- extra_query: Add additional query parameters to the request
536
-
537
- extra_body: Add additional JSON properties to the request
538
-
539
- timeout: Override the client-level default timeout for this request, in seconds
540
- """
541
- if not project:
542
- raise ValueError(f"Expected a non-empty value for `project` but received {project!r}")
543
- if not template_name:
544
- raise ValueError(f"Expected a non-empty value for `template_name` but received {template_name!r}")
545
- return self._post(
546
- f"/v1/templates/{project}/{template_name}",
547
- body=maybe_transform(
548
- {
549
- "message": message,
550
- "migrate_agents": migrate_agents,
551
- "preserve_core_memories_on_migration": preserve_core_memories_on_migration,
552
- "preserve_environment_variables_on_migration": preserve_environment_variables_on_migration,
553
- },
554
- template_save_version_params.TemplateSaveVersionParams,
555
- ),
556
- options=make_request_options(
557
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
558
- ),
559
- cast_to=TemplateSaveVersionResponse,
560
- )
561
-
562
- def update_description(
563
- self,
564
- template_name: str,
565
- *,
566
- project: str,
567
- description: str | Omit = omit,
568
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
569
- # The extra values given here take precedence over values defined on the client or passed to this method.
570
- extra_headers: Headers | None = None,
571
- extra_query: Query | None = None,
572
- extra_body: Body | None = None,
573
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
574
- ) -> TemplateUpdateDescriptionResponse:
575
- """
576
- Updates the description for all versions of a template with the specified name.
577
- Versions are automatically stripped from the current template name if
578
- accidentally included.
579
-
580
- Args:
581
- description: The new description for the template
582
-
583
- extra_headers: Send extra headers
584
-
585
- extra_query: Add additional query parameters to the request
586
-
587
- extra_body: Add additional JSON properties to the request
588
-
589
- timeout: Override the client-level default timeout for this request, in seconds
590
- """
591
- if not project:
592
- raise ValueError(f"Expected a non-empty value for `project` but received {project!r}")
593
- if not template_name:
594
- raise ValueError(f"Expected a non-empty value for `template_name` but received {template_name!r}")
595
- return self._patch(
596
- f"/v1/templates/{project}/{template_name}/description",
597
- body=maybe_transform(
598
- {"description": description}, template_update_description_params.TemplateUpdateDescriptionParams
599
- ),
600
- options=make_request_options(
601
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
602
- ),
603
- cast_to=TemplateUpdateDescriptionResponse,
604
- )
605
-
606
-
607
- class AsyncTemplatesResource(AsyncAPIResource):
608
- @cached_property
609
- def with_raw_response(self) -> AsyncTemplatesResourceWithRawResponse:
610
- """
611
- This property can be used as a prefix for any HTTP method call to return
612
- the raw response object instead of the parsed content.
613
-
614
- For more information, see https://www.github.com/letta-ai/letta-python#accessing-raw-response-data-eg-headers
615
- """
616
- return AsyncTemplatesResourceWithRawResponse(self)
617
-
618
- @cached_property
619
- def with_streaming_response(self) -> AsyncTemplatesResourceWithStreamingResponse:
620
- """
621
- An alternative to `.with_raw_response` that doesn't eagerly read the response body.
622
-
623
- For more information, see https://www.github.com/letta-ai/letta-python#with_streaming_response
624
- """
625
- return AsyncTemplatesResourceWithStreamingResponse(self)
626
-
627
- @overload
628
- async def create(
629
- self,
630
- project: str,
631
- *,
632
- agent_id: str,
633
- type: Literal["agent"],
634
- name: str | Omit = omit,
635
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
636
- # The extra values given here take precedence over values defined on the client or passed to this method.
637
- extra_headers: Headers | None = None,
638
- extra_query: Query | None = None,
639
- extra_body: Body | None = None,
640
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
641
- ) -> TemplateCreateResponse:
642
- """
643
- Creates a new template from an existing agent or agent file
644
-
645
- Args:
646
- agent_id: The ID of the agent to use as a template, can be from any project
647
-
648
- name: Optional custom name for the template. If not provided, a random name will be
649
- generated.
650
-
651
- extra_headers: Send extra headers
652
-
653
- extra_query: Add additional query parameters to the request
654
-
655
- extra_body: Add additional JSON properties to the request
656
-
657
- timeout: Override the client-level default timeout for this request, in seconds
658
- """
659
- ...
660
-
661
- @overload
662
- async def create(
663
- self,
664
- project: str,
665
- *,
666
- agent_file: Dict[str, Optional[object]],
667
- type: Literal["agent_file"],
668
- name: str | Omit = omit,
669
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
670
- # The extra values given here take precedence over values defined on the client or passed to this method.
671
- extra_headers: Headers | None = None,
672
- extra_query: Query | None = None,
673
- extra_body: Body | None = None,
674
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
675
- ) -> TemplateCreateResponse:
676
- """
677
- Creates a new template from an existing agent or agent file
678
-
679
- Args:
680
- agent_file: The agent file to use as a template, this should be a JSON file exported from
681
- the platform
682
-
683
- name: Optional custom name for the template. If not provided, a random name will be
684
- generated.
685
-
686
- extra_headers: Send extra headers
687
-
688
- extra_query: Add additional query parameters to the request
689
-
690
- extra_body: Add additional JSON properties to the request
691
-
692
- timeout: Override the client-level default timeout for this request, in seconds
693
- """
694
- ...
695
-
696
- @required_args(["agent_id", "type"], ["agent_file", "type"])
697
- async def create(
698
- self,
699
- project: str,
700
- *,
701
- agent_id: str | Omit = omit,
702
- type: Literal["agent"] | Literal["agent_file"],
703
- name: str | Omit = omit,
704
- agent_file: Dict[str, Optional[object]] | Omit = omit,
705
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
706
- # The extra values given here take precedence over values defined on the client or passed to this method.
707
- extra_headers: Headers | None = None,
708
- extra_query: Query | None = None,
709
- extra_body: Body | None = None,
710
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
711
- ) -> TemplateCreateResponse:
712
- if not project:
713
- raise ValueError(f"Expected a non-empty value for `project` but received {project!r}")
714
- return await self._post(
715
- f"/v1/templates/{project}",
716
- body=await async_maybe_transform(
717
- {
718
- "agent_id": agent_id,
719
- "type": type,
720
- "name": name,
721
- "agent_file": agent_file,
722
- },
723
- template_create_params.TemplateCreateParams,
724
- ),
725
- options=make_request_options(
726
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
727
- ),
728
- cast_to=TemplateCreateResponse,
729
- )
730
-
731
- async def list(
732
- self,
733
- *,
734
- exact: str | Omit = omit,
735
- limit: str | Omit = omit,
736
- name: str | Omit = omit,
737
- offset: Union[str, float] | Omit = omit,
738
- project_id: str | Omit = omit,
739
- project_slug: str | Omit = omit,
740
- search: str | Omit = omit,
741
- sort_by: Literal["updated_at", "created_at"] | Omit = omit,
742
- template_id: str | Omit = omit,
743
- version: str | Omit = omit,
744
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
745
- # The extra values given here take precedence over values defined on the client or passed to this method.
746
- extra_headers: Headers | None = None,
747
- extra_query: Query | None = None,
748
- extra_body: Body | None = None,
749
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
750
- ) -> TemplateListResponse:
751
- """
752
- List all templates
753
-
754
- Args:
755
- exact: Whether to search for an exact name match
756
-
757
- version: Specify the version you want to return, otherwise will return the latest version
758
-
759
- extra_headers: Send extra headers
760
-
761
- extra_query: Add additional query parameters to the request
762
-
763
- extra_body: Add additional JSON properties to the request
764
-
765
- timeout: Override the client-level default timeout for this request, in seconds
766
- """
767
- return await self._get(
768
- "/v1/templates",
769
- options=make_request_options(
770
- extra_headers=extra_headers,
771
- extra_query=extra_query,
772
- extra_body=extra_body,
773
- timeout=timeout,
774
- query=await async_maybe_transform(
775
- {
776
- "exact": exact,
777
- "limit": limit,
778
- "name": name,
779
- "offset": offset,
780
- "project_id": project_id,
781
- "project_slug": project_slug,
782
- "search": search,
783
- "sort_by": sort_by,
784
- "template_id": template_id,
785
- "version": version,
786
- },
787
- template_list_params.TemplateListParams,
788
- ),
789
- ),
790
- cast_to=TemplateListResponse,
791
- )
792
-
793
- async def delete(
794
- self,
795
- template_name: str,
796
- *,
797
- project: str,
798
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
799
- # The extra values given here take precedence over values defined on the client or passed to this method.
800
- extra_headers: Headers | None = None,
801
- extra_query: Query | None = None,
802
- extra_body: Body | None = None,
803
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
804
- ) -> TemplateDeleteResponse:
805
- """
806
- Deletes all versions of a template with the specified name
807
-
808
- Args:
809
- extra_headers: Send extra headers
810
-
811
- extra_query: Add additional query parameters to the request
812
-
813
- extra_body: Add additional JSON properties to the request
814
-
815
- timeout: Override the client-level default timeout for this request, in seconds
816
- """
817
- if not project:
818
- raise ValueError(f"Expected a non-empty value for `project` but received {project!r}")
819
- if not template_name:
820
- raise ValueError(f"Expected a non-empty value for `template_name` but received {template_name!r}")
821
- return await self._delete(
822
- f"/v1/templates/{project}/{template_name}",
823
- options=make_request_options(
824
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
825
- ),
826
- cast_to=TemplateDeleteResponse,
827
- )
828
-
829
- async def create_agents(
830
- self,
831
- template_version: str,
832
- *,
833
- project: str,
834
- agent_name: str | Omit = omit,
835
- identity_ids: SequenceNotStr[str] | Omit = omit,
836
- initial_message_sequence: Iterable[template_create_agents_params.InitialMessageSequence] | Omit = omit,
837
- memory_variables: Dict[str, str] | Omit = omit,
838
- tags: SequenceNotStr[str] | Omit = omit,
839
- tool_variables: Dict[str, str] | Omit = omit,
840
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
841
- # The extra values given here take precedence over values defined on the client or passed to this method.
842
- extra_headers: Headers | None = None,
843
- extra_query: Query | None = None,
844
- extra_body: Body | None = None,
845
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
846
- ) -> TemplateCreateAgentsResponse:
847
- """
848
- Creates an Agent or multiple Agents from a template
849
-
850
- Args:
851
- agent_name: The name of the agent, optional otherwise a random one will be assigned
852
-
853
- identity_ids: The identity ids to assign to the agent
854
-
855
- initial_message_sequence: Set an initial sequence of messages, if not provided, the agent will start with
856
- the default message sequence, if an empty array is provided, the agent will
857
- start with no messages
858
-
859
- memory_variables: The memory variables to assign to the agent
860
-
861
- tags: The tags to assign to the agent
862
-
863
- tool_variables: The tool variables to assign to the agent
864
-
865
- extra_headers: Send extra headers
866
-
867
- extra_query: Add additional query parameters to the request
868
-
869
- extra_body: Add additional JSON properties to the request
870
-
871
- timeout: Override the client-level default timeout for this request, in seconds
872
- """
873
- if not project:
874
- raise ValueError(f"Expected a non-empty value for `project` but received {project!r}")
875
- if not template_version:
876
- raise ValueError(f"Expected a non-empty value for `template_version` but received {template_version!r}")
877
- return await self._post(
878
- f"/v1/templates/{project}/{template_version}/agents",
879
- body=await async_maybe_transform(
880
- {
881
- "agent_name": agent_name,
882
- "identity_ids": identity_ids,
883
- "initial_message_sequence": initial_message_sequence,
884
- "memory_variables": memory_variables,
885
- "tags": tags,
886
- "tool_variables": tool_variables,
887
- },
888
- template_create_agents_params.TemplateCreateAgentsParams,
889
- ),
890
- options=make_request_options(
891
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
892
- ),
893
- cast_to=TemplateCreateAgentsResponse,
894
- )
895
-
896
- async def fork(
897
- self,
898
- template_version: str,
899
- *,
900
- project: str,
901
- name: str | Omit = omit,
902
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
903
- # The extra values given here take precedence over values defined on the client or passed to this method.
904
- extra_headers: Headers | None = None,
905
- extra_query: Query | None = None,
906
- extra_body: Body | None = None,
907
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
908
- ) -> TemplateForkResponse:
909
- """
910
- Forks a template version into a new template
911
-
912
- Args:
913
- name: Optional custom name for the forked template. If not provided, a random name
914
- will be generated.
915
-
916
- extra_headers: Send extra headers
917
-
918
- extra_query: Add additional query parameters to the request
919
-
920
- extra_body: Add additional JSON properties to the request
921
-
922
- timeout: Override the client-level default timeout for this request, in seconds
923
- """
924
- if not project:
925
- raise ValueError(f"Expected a non-empty value for `project` but received {project!r}")
926
- if not template_version:
927
- raise ValueError(f"Expected a non-empty value for `template_version` but received {template_version!r}")
928
- return await self._post(
929
- f"/v1/templates/{project}/{template_version}/fork",
930
- body=await async_maybe_transform({"name": name}, template_fork_params.TemplateForkParams),
931
- options=make_request_options(
932
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
933
- ),
934
- cast_to=TemplateForkResponse,
935
- )
936
-
937
- async def get_snapshot(
938
- self,
939
- template_version: str,
940
- *,
941
- project: str,
942
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
943
- # The extra values given here take precedence over values defined on the client or passed to this method.
944
- extra_headers: Headers | None = None,
945
- extra_query: Query | None = None,
946
- extra_body: Body | None = None,
947
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
948
- ) -> TemplateGetSnapshotResponse:
949
- """
950
- Get a snapshot of the template version, this will return the template state at a
951
- specific version
952
-
953
- Args:
954
- extra_headers: Send extra headers
955
-
956
- extra_query: Add additional query parameters to the request
957
-
958
- extra_body: Add additional JSON properties to the request
959
-
960
- timeout: Override the client-level default timeout for this request, in seconds
961
- """
962
- if not project:
963
- raise ValueError(f"Expected a non-empty value for `project` but received {project!r}")
964
- if not template_version:
965
- raise ValueError(f"Expected a non-empty value for `template_version` but received {template_version!r}")
966
- return await self._get(
967
- f"/v1/templates/{project}/{template_version}/snapshot",
968
- options=make_request_options(
969
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
970
- ),
971
- cast_to=TemplateGetSnapshotResponse,
972
- )
973
-
974
- async def list_versions(
975
- self,
976
- name: str,
977
- *,
978
- project_slug: str,
979
- limit: str | Omit = omit,
980
- offset: Union[str, float] | Omit = omit,
981
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
982
- # The extra values given here take precedence over values defined on the client or passed to this method.
983
- extra_headers: Headers | None = None,
984
- extra_query: Query | None = None,
985
- extra_body: Body | None = None,
986
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
987
- ) -> TemplateListVersionsResponse:
988
- """
989
- List all versions of a specific template
990
-
991
- Args:
992
- extra_headers: Send extra headers
993
-
994
- extra_query: Add additional query parameters to the request
995
-
996
- extra_body: Add additional JSON properties to the request
997
-
998
- timeout: Override the client-level default timeout for this request, in seconds
999
- """
1000
- if not project_slug:
1001
- raise ValueError(f"Expected a non-empty value for `project_slug` but received {project_slug!r}")
1002
- if not name:
1003
- raise ValueError(f"Expected a non-empty value for `name` but received {name!r}")
1004
- return await self._get(
1005
- f"/v1/templates/{project_slug}/{name}/versions",
1006
- options=make_request_options(
1007
- extra_headers=extra_headers,
1008
- extra_query=extra_query,
1009
- extra_body=extra_body,
1010
- timeout=timeout,
1011
- query=await async_maybe_transform(
1012
- {
1013
- "limit": limit,
1014
- "offset": offset,
1015
- },
1016
- template_list_versions_params.TemplateListVersionsParams,
1017
- ),
1018
- ),
1019
- cast_to=TemplateListVersionsResponse,
1020
- )
1021
-
1022
- async def rename(
1023
- self,
1024
- template_name: str,
1025
- *,
1026
- project: str,
1027
- new_name: str,
1028
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1029
- # The extra values given here take precedence over values defined on the client or passed to this method.
1030
- extra_headers: Headers | None = None,
1031
- extra_query: Query | None = None,
1032
- extra_body: Body | None = None,
1033
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
1034
- ) -> TemplateRenameResponse:
1035
- """Renames all versions of a template with the specified name.
1036
-
1037
- Versions are
1038
- automatically stripped from the current template name if accidentally included.
1039
-
1040
- Args:
1041
- new_name: The new name for the template
1042
-
1043
- extra_headers: Send extra headers
1044
-
1045
- extra_query: Add additional query parameters to the request
1046
-
1047
- extra_body: Add additional JSON properties to the request
1048
-
1049
- timeout: Override the client-level default timeout for this request, in seconds
1050
- """
1051
- if not project:
1052
- raise ValueError(f"Expected a non-empty value for `project` but received {project!r}")
1053
- if not template_name:
1054
- raise ValueError(f"Expected a non-empty value for `template_name` but received {template_name!r}")
1055
- return await self._patch(
1056
- f"/v1/templates/{project}/{template_name}/name",
1057
- body=await async_maybe_transform({"new_name": new_name}, template_rename_params.TemplateRenameParams),
1058
- options=make_request_options(
1059
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
1060
- ),
1061
- cast_to=TemplateRenameResponse,
1062
- )
1063
-
1064
- async def save_version(
1065
- self,
1066
- template_name: str,
1067
- *,
1068
- project: str,
1069
- message: str | Omit = omit,
1070
- migrate_agents: bool | Omit = omit,
1071
- preserve_core_memories_on_migration: bool | Omit = omit,
1072
- preserve_environment_variables_on_migration: bool | Omit = omit,
1073
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1074
- # The extra values given here take precedence over values defined on the client or passed to this method.
1075
- extra_headers: Headers | None = None,
1076
- extra_query: Query | None = None,
1077
- extra_body: Body | None = None,
1078
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
1079
- ) -> TemplateSaveVersionResponse:
1080
- """
1081
- Saves the current version of the template as a new version
1082
-
1083
- Args:
1084
- message: A message to describe the changes made in this template version
1085
-
1086
- migrate_agents: If true, existing agents attached to this template will be migrated to the new
1087
- template version
1088
-
1089
- preserve_core_memories_on_migration: If true, the core memories will be preserved in the template version when
1090
- migrating agents
1091
-
1092
- preserve_environment_variables_on_migration: If true, the environment variables will be preserved in the template version
1093
- when migrating agents
1094
-
1095
- extra_headers: Send extra headers
1096
-
1097
- extra_query: Add additional query parameters to the request
1098
-
1099
- extra_body: Add additional JSON properties to the request
1100
-
1101
- timeout: Override the client-level default timeout for this request, in seconds
1102
- """
1103
- if not project:
1104
- raise ValueError(f"Expected a non-empty value for `project` but received {project!r}")
1105
- if not template_name:
1106
- raise ValueError(f"Expected a non-empty value for `template_name` but received {template_name!r}")
1107
- return await self._post(
1108
- f"/v1/templates/{project}/{template_name}",
1109
- body=await async_maybe_transform(
1110
- {
1111
- "message": message,
1112
- "migrate_agents": migrate_agents,
1113
- "preserve_core_memories_on_migration": preserve_core_memories_on_migration,
1114
- "preserve_environment_variables_on_migration": preserve_environment_variables_on_migration,
1115
- },
1116
- template_save_version_params.TemplateSaveVersionParams,
1117
- ),
1118
- options=make_request_options(
1119
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
1120
- ),
1121
- cast_to=TemplateSaveVersionResponse,
1122
- )
1123
-
1124
- async def update_description(
1125
- self,
1126
- template_name: str,
1127
- *,
1128
- project: str,
1129
- description: str | Omit = omit,
1130
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1131
- # The extra values given here take precedence over values defined on the client or passed to this method.
1132
- extra_headers: Headers | None = None,
1133
- extra_query: Query | None = None,
1134
- extra_body: Body | None = None,
1135
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
1136
- ) -> TemplateUpdateDescriptionResponse:
1137
- """
1138
- Updates the description for all versions of a template with the specified name.
1139
- Versions are automatically stripped from the current template name if
1140
- accidentally included.
1141
-
1142
- Args:
1143
- description: The new description for the template
1144
-
1145
- extra_headers: Send extra headers
1146
-
1147
- extra_query: Add additional query parameters to the request
1148
-
1149
- extra_body: Add additional JSON properties to the request
1150
-
1151
- timeout: Override the client-level default timeout for this request, in seconds
1152
- """
1153
- if not project:
1154
- raise ValueError(f"Expected a non-empty value for `project` but received {project!r}")
1155
- if not template_name:
1156
- raise ValueError(f"Expected a non-empty value for `template_name` but received {template_name!r}")
1157
- return await self._patch(
1158
- f"/v1/templates/{project}/{template_name}/description",
1159
- body=await async_maybe_transform(
1160
- {"description": description}, template_update_description_params.TemplateUpdateDescriptionParams
1161
- ),
1162
- options=make_request_options(
1163
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
1164
- ),
1165
- cast_to=TemplateUpdateDescriptionResponse,
1166
- )
1167
-
1168
-
1169
- class TemplatesResourceWithRawResponse:
1170
- def __init__(self, templates: TemplatesResource) -> None:
1171
- self._templates = templates
1172
-
1173
- self.create = to_raw_response_wrapper(
1174
- templates.create,
1175
- )
1176
- self.list = to_raw_response_wrapper(
1177
- templates.list,
1178
- )
1179
- self.delete = to_raw_response_wrapper(
1180
- templates.delete,
1181
- )
1182
- self.create_agents = to_raw_response_wrapper(
1183
- templates.create_agents,
1184
- )
1185
- self.fork = to_raw_response_wrapper(
1186
- templates.fork,
1187
- )
1188
- self.get_snapshot = to_raw_response_wrapper(
1189
- templates.get_snapshot,
1190
- )
1191
- self.list_versions = to_raw_response_wrapper(
1192
- templates.list_versions,
1193
- )
1194
- self.rename = to_raw_response_wrapper(
1195
- templates.rename,
1196
- )
1197
- self.save_version = to_raw_response_wrapper(
1198
- templates.save_version,
1199
- )
1200
- self.update_description = to_raw_response_wrapper(
1201
- templates.update_description,
1202
- )
1203
-
1204
-
1205
- class AsyncTemplatesResourceWithRawResponse:
1206
- def __init__(self, templates: AsyncTemplatesResource) -> None:
1207
- self._templates = templates
1208
-
1209
- self.create = async_to_raw_response_wrapper(
1210
- templates.create,
1211
- )
1212
- self.list = async_to_raw_response_wrapper(
1213
- templates.list,
1214
- )
1215
- self.delete = async_to_raw_response_wrapper(
1216
- templates.delete,
1217
- )
1218
- self.create_agents = async_to_raw_response_wrapper(
1219
- templates.create_agents,
1220
- )
1221
- self.fork = async_to_raw_response_wrapper(
1222
- templates.fork,
1223
- )
1224
- self.get_snapshot = async_to_raw_response_wrapper(
1225
- templates.get_snapshot,
1226
- )
1227
- self.list_versions = async_to_raw_response_wrapper(
1228
- templates.list_versions,
1229
- )
1230
- self.rename = async_to_raw_response_wrapper(
1231
- templates.rename,
1232
- )
1233
- self.save_version = async_to_raw_response_wrapper(
1234
- templates.save_version,
1235
- )
1236
- self.update_description = async_to_raw_response_wrapper(
1237
- templates.update_description,
1238
- )
1239
-
1240
-
1241
- class TemplatesResourceWithStreamingResponse:
1242
- def __init__(self, templates: TemplatesResource) -> None:
1243
- self._templates = templates
1244
-
1245
- self.create = to_streamed_response_wrapper(
1246
- templates.create,
1247
- )
1248
- self.list = to_streamed_response_wrapper(
1249
- templates.list,
1250
- )
1251
- self.delete = to_streamed_response_wrapper(
1252
- templates.delete,
1253
- )
1254
- self.create_agents = to_streamed_response_wrapper(
1255
- templates.create_agents,
1256
- )
1257
- self.fork = to_streamed_response_wrapper(
1258
- templates.fork,
1259
- )
1260
- self.get_snapshot = to_streamed_response_wrapper(
1261
- templates.get_snapshot,
1262
- )
1263
- self.list_versions = to_streamed_response_wrapper(
1264
- templates.list_versions,
1265
- )
1266
- self.rename = to_streamed_response_wrapper(
1267
- templates.rename,
1268
- )
1269
- self.save_version = to_streamed_response_wrapper(
1270
- templates.save_version,
1271
- )
1272
- self.update_description = to_streamed_response_wrapper(
1273
- templates.update_description,
1274
- )
1275
-
1276
-
1277
- class AsyncTemplatesResourceWithStreamingResponse:
1278
- def __init__(self, templates: AsyncTemplatesResource) -> None:
1279
- self._templates = templates
1280
-
1281
- self.create = async_to_streamed_response_wrapper(
1282
- templates.create,
1283
- )
1284
- self.list = async_to_streamed_response_wrapper(
1285
- templates.list,
1286
- )
1287
- self.delete = async_to_streamed_response_wrapper(
1288
- templates.delete,
1289
- )
1290
- self.create_agents = async_to_streamed_response_wrapper(
1291
- templates.create_agents,
1292
- )
1293
- self.fork = async_to_streamed_response_wrapper(
1294
- templates.fork,
1295
- )
1296
- self.get_snapshot = async_to_streamed_response_wrapper(
1297
- templates.get_snapshot,
1298
- )
1299
- self.list_versions = async_to_streamed_response_wrapper(
1300
- templates.list_versions,
1301
- )
1302
- self.rename = async_to_streamed_response_wrapper(
1303
- templates.rename,
1304
- )
1305
- self.save_version = async_to_streamed_response_wrapper(
1306
- templates.save_version,
1307
- )
1308
- self.update_description = async_to_streamed_response_wrapper(
1309
- templates.update_description,
1310
- )