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

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

Potentially problematic release.


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

Files changed (467) hide show
  1. {letta_sdk → letta_client}/__init__.py +8 -8
  2. {letta_sdk → letta_client}/_base_client.py +1 -1
  3. {letta_sdk → letta_client}/_client.py +124 -171
  4. {letta_sdk → letta_client}/_exceptions.py +2 -2
  5. {letta_sdk → letta_client}/_resource.py +5 -5
  6. {letta_sdk → letta_client}/_response.py +8 -6
  7. {letta_sdk → letta_client}/_streaming.py +3 -3
  8. {letta_sdk → letta_client}/_types.py +1 -1
  9. {letta_sdk → letta_client}/_utils/_logs.py +3 -3
  10. {letta_sdk → letta_client}/_utils/_resources_proxy.py +4 -4
  11. {letta_sdk → letta_client}/_version.py +2 -2
  12. letta_client/pagination.py +107 -0
  13. {letta_sdk → letta_client}/resources/__init__.py +14 -154
  14. {letta_sdk → letta_client}/resources/agents/__init__.py +28 -42
  15. {letta_sdk → letta_client}/resources/agents/agents.py +228 -744
  16. {letta_sdk/resources/agents/core_memory → letta_client/resources/agents}/blocks.py +112 -19
  17. {letta_sdk → letta_client}/resources/agents/files.py +71 -8
  18. {letta_sdk → letta_client}/resources/agents/folders.py +101 -11
  19. letta_client/resources/agents/groups.py +245 -0
  20. {letta_sdk → letta_client}/resources/agents/messages.py +265 -490
  21. {letta_sdk → letta_client}/resources/agents/tools.py +147 -31
  22. letta_sdk/resources/jobs.py → letta_client/resources/archives.py +268 -280
  23. {letta_sdk/resources/messages → letta_client/resources/batches}/batches.py +46 -161
  24. letta_client/resources/batches/messages.py +238 -0
  25. {letta_sdk/resources/agents/core_memory → letta_client/resources/blocks}/__init__.py +14 -14
  26. letta_client/resources/blocks/agents.py +287 -0
  27. {letta_sdk/resources → letta_client/resources/blocks}/blocks.py +64 -175
  28. letta_client/resources/folders/__init__.py +47 -0
  29. letta_client/resources/folders/agents.py +237 -0
  30. letta_client/resources/folders/files.py +472 -0
  31. letta_sdk/resources/providers.py → letta_client/resources/folders/folders.py +298 -313
  32. {letta_sdk → letta_client}/resources/groups/groups.py +24 -88
  33. {letta_sdk → letta_client}/resources/groups/messages.py +178 -37
  34. letta_client/resources/identities/__init__.py +61 -0
  35. letta_client/resources/identities/agents.py +269 -0
  36. letta_client/resources/identities/blocks.py +237 -0
  37. {letta_sdk/resources → letta_client/resources/identities}/identities.py +277 -533
  38. letta_client/resources/identities/properties.py +174 -0
  39. letta_client/resources/models/__init__.py +33 -0
  40. {letta_sdk/resources → letta_client/resources/models}/embeddings.py +26 -49
  41. {letta_sdk/resources → letta_client/resources/models}/models.py +42 -117
  42. letta_client/resources/runs/__init__.py +61 -0
  43. letta_sdk/resources/archives.py → letta_client/resources/runs/messages.py +189 -157
  44. letta_client/resources/runs/runs.py +462 -0
  45. letta_client/resources/runs/steps.py +229 -0
  46. letta_sdk/resources/voice_beta/chat.py → letta_client/resources/runs/usage.py +50 -57
  47. letta_client/resources/steps/__init__.py +75 -0
  48. letta_client/resources/steps/feedback.py +198 -0
  49. letta_client/resources/steps/messages.py +237 -0
  50. letta_client/resources/steps/metrics.py +167 -0
  51. letta_client/resources/steps/steps.py +513 -0
  52. letta_sdk/resources/telemetry.py → letta_client/resources/steps/trace.py +45 -56
  53. {letta_sdk → letta_client}/resources/tags.py +13 -10
  54. letta_client/resources/templates/__init__.py +33 -0
  55. letta_client/resources/templates/agents.py +236 -0
  56. letta_client/resources/templates/templates.py +102 -0
  57. {letta_sdk/resources/tools → letta_client/resources}/tools.py +249 -433
  58. letta_client/types/__init__.py +111 -0
  59. {letta_sdk → letta_client}/types/agent_create_params.py +5 -2
  60. {letta_sdk → letta_client}/types/agent_environment_variable.py +3 -0
  61. letta_client/types/agent_export_file_params.py +18 -0
  62. letta_sdk/types/agent_export_response.py → letta_client/types/agent_export_file_response.py +2 -2
  63. letta_sdk/types/agent_import_params.py → letta_client/types/agent_import_file_params.py +5 -2
  64. letta_sdk/types/agent_import_response.py → letta_client/types/agent_import_file_response.py +2 -2
  65. {letta_sdk → letta_client}/types/agent_list_params.py +19 -2
  66. {letta_sdk → letta_client}/types/agent_retrieve_params.py +20 -3
  67. {letta_sdk → letta_client}/types/agent_state.py +131 -3
  68. {letta_sdk → letta_client}/types/agent_type.py +1 -0
  69. {letta_sdk → letta_client}/types/agent_update_params.py +12 -0
  70. {letta_sdk → letta_client}/types/agents/__init__.py +10 -21
  71. letta_client/types/agents/approval_create_param.py +44 -0
  72. {letta_sdk → letta_client}/types/agents/approval_request_message.py +10 -2
  73. letta_client/types/agents/approval_response_message.py +63 -0
  74. {letta_sdk/types/agents/core_memory → letta_client/types/agents}/block.py +1 -1
  75. letta_sdk/types/identity_list_blocks_params.py → letta_client/types/agents/block_list_params.py +2 -2
  76. {letta_sdk/types/agents/core_memory → letta_client/types/agents}/block_update_params.py +1 -0
  77. letta_client/types/agents/file_list_params.py +40 -0
  78. letta_client/types/agents/folder_list_params.py +34 -0
  79. letta_sdk/types/source.py → letta_client/types/agents/folder_list_response.py +5 -5
  80. letta_client/types/agents/group_list_params.py +37 -0
  81. {letta_sdk → letta_client}/types/agents/letta_assistant_message_content_union.py +3 -0
  82. {letta_sdk → letta_client}/types/agents/letta_assistant_message_content_union_param.py +4 -0
  83. {letta_sdk → letta_client}/types/agents/letta_response.py +0 -4
  84. {letta_sdk → letta_client}/types/agents/message.py +93 -2
  85. {letta_sdk → letta_client}/types/agents/message_list_params.py +20 -5
  86. letta_sdk/types/agent_reset_messages_params.py → letta_client/types/agents/message_reset_params.py +2 -2
  87. {letta_sdk → letta_client}/types/agents/message_send_async_params.py +12 -3
  88. {letta_sdk → letta_client}/types/agents/message_send_params.py +12 -3
  89. letta_sdk/types/agents/message_send_stream_params.py → letta_client/types/agents/message_stream_params.py +14 -5
  90. {letta_sdk → letta_client}/types/agents/message_update_params.py +4 -0
  91. {letta_sdk → letta_client}/types/agents/omitted_reasoning_content.py +3 -0
  92. {letta_sdk → letta_client}/types/agents/omitted_reasoning_content_param.py +4 -0
  93. {letta_sdk → letta_client}/types/agents/run.py +16 -19
  94. {letta_sdk → letta_client}/types/agents/text_content.py +3 -0
  95. {letta_sdk → letta_client}/types/agents/text_content_param.py +4 -0
  96. {letta_sdk → letta_client}/types/agents/tool_call_content.py +3 -0
  97. {letta_sdk → letta_client}/types/agents/tool_call_content_param.py +4 -1
  98. {letta_sdk → letta_client}/types/agents/tool_call_message.py +6 -2
  99. letta_client/types/agents/tool_list_params.py +34 -0
  100. {letta_sdk → letta_client}/types/agents/tool_return.py +7 -3
  101. letta_client/types/agents/tool_return_param.py +25 -0
  102. letta_client/types/agents/tool_update_approval_params.py +21 -0
  103. {letta_sdk → letta_client}/types/archive.py +4 -0
  104. letta_client/types/archive_create_params.py +19 -0
  105. letta_sdk/types/archive_retrieve_params.py → letta_client/types/archive_list_params.py +2 -2
  106. letta_sdk/types/archive_retrieve_response.py → letta_client/types/archive_list_response.py +2 -2
  107. {letta_sdk → letta_client}/types/archive_update_params.py +3 -3
  108. {letta_sdk/types/messages → letta_client/types}/batch_create_params.py +15 -6
  109. letta_sdk/types/job.py → letta_client/types/batch_job.py +8 -3
  110. letta_client/types/batches/__init__.py +6 -0
  111. letta_sdk/types/messages/batch_list_messages_params.py → letta_client/types/batches/message_list_params.py +2 -2
  112. letta_sdk/types/messages/batch_list_messages_response.py → letta_client/types/batches/message_list_response.py +2 -2
  113. {letta_sdk/types/tools → letta_client/types/blocks}/__init__.py +2 -0
  114. letta_sdk/types/block_list_agents_params.py → letta_client/types/blocks/agent_list_params.py +22 -5
  115. letta_client/types/child_tool_rule.py +40 -0
  116. letta_client/types/child_tool_rule_param.py +42 -0
  117. letta_client/types/folders/__init__.py +10 -0
  118. letta_sdk/types/folder_list_agents_params.py → letta_client/types/folders/agent_list_params.py +2 -2
  119. letta_client/types/folders/agent_list_response.py +7 -0
  120. letta_sdk/types/folder_list_files_params.py → letta_client/types/folders/file_list_params.py +2 -2
  121. letta_sdk/types/file_metadata.py → letta_client/types/folders/file_list_response.py +5 -5
  122. letta_sdk/types/source_upload_file_params.py → letta_client/types/folders/file_upload_params.py +5 -6
  123. letta_client/types/folders/file_upload_response.py +65 -0
  124. {letta_sdk → letta_client}/types/groups/__init__.py +1 -2
  125. {letta_sdk → letta_client}/types/groups/message_send_params.py +12 -3
  126. letta_sdk/types/groups/message_send_stream_params.py → letta_client/types/groups/message_stream_params.py +14 -5
  127. {letta_sdk → letta_client}/types/groups/message_update_params.py +4 -0
  128. letta_sdk/types/health_check_response.py → letta_client/types/health_response.py +2 -2
  129. letta_client/types/identities/__init__.py +7 -0
  130. letta_sdk/types/identity_list_agents_params.py → letta_client/types/identities/agent_list_params.py +19 -3
  131. letta_client/types/identities/block_list_params.py +34 -0
  132. letta_sdk/types/identity_upsert_properties_params.py → letta_client/types/identities/property_upsert_params.py +3 -3
  133. letta_sdk/types/identity_modify_params.py → letta_client/types/identity_update_params.py +2 -2
  134. {letta_sdk → letta_client}/types/init_tool_rule.py +10 -1
  135. {letta_sdk → letta_client}/types/init_tool_rule_param.py +10 -1
  136. {letta_sdk → letta_client}/types/llm_config.py +6 -0
  137. {letta_sdk → letta_client}/types/llm_config_param.py +6 -0
  138. {letta_sdk/types/voice_beta → letta_client/types/models}/__init__.py +1 -1
  139. letta_sdk/types/agents/archival_memory_create_response.py → letta_client/types/models/embedding_list_response.py +3 -3
  140. {letta_sdk → letta_client}/types/run_list_params.py +29 -5
  141. letta_client/types/runs/__init__.py +8 -0
  142. letta_sdk/types/run_list_messages_params.py → letta_client/types/runs/message_list_params.py +5 -2
  143. letta_sdk/types/run_retrieve_stream_params.py → letta_client/types/runs/message_stream_params.py +2 -2
  144. letta_sdk/types/run_list_steps_params.py → letta_client/types/runs/step_list_params.py +9 -6
  145. letta_sdk/types/run_retrieve_usage_response.py → letta_client/types/runs/usage_retrieve_response.py +3 -3
  146. {letta_sdk → letta_client}/types/step.py +6 -6
  147. letta_client/types/steps/__init__.py +8 -0
  148. letta_sdk/types/step_update_feedback_params.py → letta_client/types/steps/feedback_create_params.py +3 -3
  149. letta_sdk/types/step_list_messages_params.py → letta_client/types/steps/message_list_params.py +2 -2
  150. letta_client/types/steps/message_list_response.py +32 -0
  151. letta_sdk/types/step_retrieve_metrics_response.py → letta_client/types/steps/metric_retrieve_response.py +6 -6
  152. {letta_sdk → letta_client}/types/tag_list_response.py +1 -2
  153. letta_client/types/templates/__init__.py +5 -0
  154. letta_sdk/types/template_create_agents_params.py → letta_client/types/templates/agent_create_params.py +4 -4
  155. {letta_sdk → letta_client}/types/tool.py +6 -0
  156. {letta_sdk → letta_client}/types/tool_create_params.py +6 -0
  157. {letta_sdk → letta_client}/types/tool_return_message.py +3 -0
  158. letta_sdk/types/tool_modify_params.py → letta_client/types/tool_update_params.py +8 -2
  159. letta_sdk/types/tool_list_response.py → letta_client/types/tool_upsert_base_tools_response.py +2 -2
  160. {letta_sdk → letta_client}/types/tool_upsert_params.py +6 -0
  161. {letta_client-1.0.0a6.dist-info → letta_client-1.0.0a8.dist-info}/METADATA +110 -70
  162. letta_client-1.0.0a8.dist-info/RECORD +289 -0
  163. {letta_client-1.0.0a6.dist-info → letta_client-1.0.0a8.dist-info}/licenses/LICENSE +1 -1
  164. letta_client-1.0.0a6.dist-info/RECORD +0 -420
  165. letta_sdk/resources/_internal_templates/__init__.py +0 -33
  166. letta_sdk/resources/_internal_templates/_internal_templates.py +0 -961
  167. letta_sdk/resources/_internal_templates/deployment.py +0 -268
  168. letta_sdk/resources/agents/archival_memory.py +0 -581
  169. letta_sdk/resources/agents/core_memory/core_memory.py +0 -278
  170. letta_sdk/resources/agents/sources.py +0 -332
  171. letta_sdk/resources/client_side_access_tokens.py +0 -402
  172. letta_sdk/resources/folders.py +0 -1562
  173. letta_sdk/resources/health.py +0 -135
  174. letta_sdk/resources/messages/messages.py +0 -102
  175. letta_sdk/resources/projects.py +0 -189
  176. letta_sdk/resources/runs.py +0 -1016
  177. letta_sdk/resources/sources/__init__.py +0 -33
  178. letta_sdk/resources/sources/files.py +0 -341
  179. letta_sdk/resources/sources/sources.py +0 -1371
  180. letta_sdk/resources/steps.py +0 -784
  181. letta_sdk/resources/templates.py +0 -1310
  182. letta_sdk/resources/tools/__init__.py +0 -47
  183. letta_sdk/resources/tools/composio/__init__.py +0 -33
  184. letta_sdk/resources/tools/composio/apps.py +0 -214
  185. letta_sdk/resources/tools/composio/composio.py +0 -201
  186. letta_sdk/resources/tools/mcp/__init__.py +0 -47
  187. letta_sdk/resources/tools/mcp/mcp.py +0 -134
  188. letta_sdk/resources/tools/mcp/oauth.py +0 -214
  189. letta_sdk/resources/tools/mcp/servers/__init__.py +0 -33
  190. letta_sdk/resources/tools/mcp/servers/servers.py +0 -1785
  191. letta_sdk/resources/tools/mcp/servers/tools.py +0 -263
  192. letta_sdk/resources/voice_beta/__init__.py +0 -33
  193. letta_sdk/resources/voice_beta/voice_beta.py +0 -102
  194. letta_sdk/types/__init__.py +0 -226
  195. letta_sdk/types/_internal_templates/__init__.py +0 -7
  196. letta_sdk/types/_internal_templates/deployment_delete_response.py +0 -17
  197. letta_sdk/types/_internal_templates/deployment_list_entities_params.py +0 -15
  198. letta_sdk/types/_internal_templates/deployment_list_entities_response.py +0 -31
  199. letta_sdk/types/agent_export_params.py +0 -17
  200. letta_sdk/types/agent_list_groups_params.py +0 -13
  201. letta_sdk/types/agent_list_groups_response.py +0 -10
  202. letta_sdk/types/agent_list_response.py +0 -10
  203. letta_sdk/types/agent_migrate_params.py +0 -19
  204. letta_sdk/types/agent_migrate_response.py +0 -11
  205. letta_sdk/types/agent_retrieve_context_response.py +0 -110
  206. letta_sdk/types/agent_search_params.py +0 -78
  207. letta_sdk/types/agent_search_response.py +0 -16
  208. letta_sdk/types/agent_summarize_params.py +0 -12
  209. letta_sdk/types/agents/approval_create_param.py +0 -22
  210. letta_sdk/types/agents/approval_response_message.py +0 -41
  211. letta_sdk/types/agents/archival_memory_create_params.py +0 -23
  212. letta_sdk/types/agents/archival_memory_list_params.py +0 -28
  213. letta_sdk/types/agents/archival_memory_list_response.py +0 -10
  214. letta_sdk/types/agents/archival_memory_search_params.py +0 -35
  215. letta_sdk/types/agents/archival_memory_search_response.py +0 -26
  216. letta_sdk/types/agents/core_memory/__init__.py +0 -7
  217. letta_sdk/types/agents/core_memory/block_list_response.py +0 -10
  218. letta_sdk/types/agents/core_memory_retrieve_variables_response.py +0 -11
  219. letta_sdk/types/agents/file_list_params.py +0 -19
  220. letta_sdk/types/agents/folder_list_response.py +0 -10
  221. letta_sdk/types/agents/letta_request_param.py +0 -45
  222. letta_sdk/types/agents/letta_streaming_request_param.py +0 -60
  223. letta_sdk/types/agents/memory.py +0 -92
  224. letta_sdk/types/agents/message_list_response.py +0 -10
  225. letta_sdk/types/agents/message_preview_raw_payload_params.py +0 -103
  226. letta_sdk/types/agents/message_preview_raw_payload_response.py +0 -8
  227. letta_sdk/types/agents/message_search_params.py +0 -38
  228. letta_sdk/types/agents/message_search_response.py +0 -29
  229. letta_sdk/types/agents/source_list_response.py +0 -10
  230. letta_sdk/types/agents/tool_list_response.py +0 -10
  231. letta_sdk/types/agents/tool_modify_approval_params.py +0 -13
  232. letta_sdk/types/block_list_agents_response.py +0 -10
  233. letta_sdk/types/block_list_response.py +0 -10
  234. letta_sdk/types/child_tool_rule.py +0 -21
  235. letta_sdk/types/child_tool_rule_param.py +0 -23
  236. letta_sdk/types/client_side_access_token_create_params.py +0 -32
  237. letta_sdk/types/client_side_access_token_create_response.py +0 -34
  238. letta_sdk/types/client_side_access_token_delete_params.py +0 -11
  239. letta_sdk/types/client_side_access_token_list_params.py +0 -23
  240. letta_sdk/types/client_side_access_token_list_response.py +0 -40
  241. letta_sdk/types/duplicate_file_handling.py +0 -7
  242. letta_sdk/types/embedding_get_total_storage_size_response.py +0 -7
  243. letta_sdk/types/file_processing_status.py +0 -7
  244. letta_sdk/types/folder_get_by_name_response.py +0 -7
  245. letta_sdk/types/folder_list_agents_response.py +0 -8
  246. letta_sdk/types/folder_list_files_response.py +0 -10
  247. letta_sdk/types/folder_list_passages_params.py +0 -34
  248. letta_sdk/types/folder_list_passages_response.py +0 -10
  249. letta_sdk/types/folder_list_response.py +0 -10
  250. letta_sdk/types/folder_retrieve_metadata_params.py +0 -11
  251. letta_sdk/types/folder_upload_file_params.py +0 -21
  252. letta_sdk/types/group_list_response.py +0 -10
  253. letta_sdk/types/groups/message_list_response.py +0 -10
  254. letta_sdk/types/identity_list_agents_response.py +0 -10
  255. letta_sdk/types/identity_list_blocks_response.py +0 -10
  256. letta_sdk/types/identity_list_response.py +0 -10
  257. letta_sdk/types/internal_template_create_agent_params.py +0 -217
  258. letta_sdk/types/internal_template_create_block_params.py +0 -54
  259. letta_sdk/types/internal_template_create_group_params.py +0 -49
  260. letta_sdk/types/job_list_active_params.py +0 -28
  261. letta_sdk/types/job_list_active_response.py +0 -10
  262. letta_sdk/types/job_list_params.py +0 -31
  263. letta_sdk/types/job_list_response.py +0 -10
  264. letta_sdk/types/messages/__init__.py +0 -10
  265. letta_sdk/types/messages/batch_job.py +0 -60
  266. letta_sdk/types/messages/batch_list_response.py +0 -10
  267. letta_sdk/types/model_list_embedding_response.py +0 -10
  268. letta_sdk/types/organization_sources_stats.py +0 -49
  269. letta_sdk/types/passage.py +0 -56
  270. letta_sdk/types/project_list_params.py +0 -16
  271. letta_sdk/types/project_list_response.py +0 -23
  272. letta_sdk/types/provider.py +0 -42
  273. letta_sdk/types/provider_check_params.py +0 -30
  274. letta_sdk/types/provider_create_params.py +0 -33
  275. letta_sdk/types/provider_list_params.py +0 -42
  276. letta_sdk/types/provider_list_response.py +0 -10
  277. letta_sdk/types/provider_update_params.py +0 -25
  278. letta_sdk/types/run_list_active_params.py +0 -18
  279. letta_sdk/types/run_list_active_response.py +0 -10
  280. letta_sdk/types/run_list_messages_response.py +0 -10
  281. letta_sdk/types/run_list_response.py +0 -10
  282. letta_sdk/types/run_list_steps_response.py +0 -10
  283. letta_sdk/types/source_count_response.py +0 -7
  284. letta_sdk/types/source_create_params.py +0 -33
  285. letta_sdk/types/source_get_agents_response.py +0 -8
  286. letta_sdk/types/source_get_by_name_response.py +0 -7
  287. letta_sdk/types/source_get_metadata_params.py +0 -11
  288. letta_sdk/types/source_list_passages_params.py +0 -19
  289. letta_sdk/types/source_list_passages_response.py +0 -10
  290. letta_sdk/types/source_list_response.py +0 -10
  291. letta_sdk/types/source_update_params.py +0 -27
  292. letta_sdk/types/sources/__init__.py +0 -7
  293. letta_sdk/types/sources/file_list_params.py +0 -26
  294. letta_sdk/types/sources/file_list_response.py +0 -10
  295. letta_sdk/types/sources/file_retrieve_params.py +0 -14
  296. letta_sdk/types/step_list_messages_response.py +0 -34
  297. letta_sdk/types/step_list_response.py +0 -10
  298. letta_sdk/types/template_create_agents_response.py +0 -12
  299. letta_sdk/types/template_create_params.py +0 -40
  300. letta_sdk/types/template_create_response.py +0 -29
  301. letta_sdk/types/template_delete_response.py +0 -9
  302. letta_sdk/types/template_fork_params.py +0 -17
  303. letta_sdk/types/template_fork_response.py +0 -29
  304. letta_sdk/types/template_get_snapshot_response.py +0 -258
  305. letta_sdk/types/template_list_params.py +0 -34
  306. letta_sdk/types/template_list_response.py +0 -35
  307. letta_sdk/types/template_list_versions_params.py +0 -16
  308. letta_sdk/types/template_list_versions_response.py +0 -29
  309. letta_sdk/types/template_rename_params.py +0 -14
  310. letta_sdk/types/template_rename_response.py +0 -9
  311. letta_sdk/types/template_save_version_params.py +0 -32
  312. letta_sdk/types/template_save_version_response.py +0 -29
  313. letta_sdk/types/template_update_description_params.py +0 -14
  314. letta_sdk/types/template_update_description_response.py +0 -9
  315. letta_sdk/types/tool_run_params.py +0 -43
  316. letta_sdk/types/tool_upsert_base_response.py +0 -10
  317. letta_sdk/types/tools/composio/__init__.py +0 -6
  318. letta_sdk/types/tools/composio/app_list_actions_response.py +0 -70
  319. letta_sdk/types/tools/composio/app_list_response.py +0 -103
  320. letta_sdk/types/tools/mcp/__init__.py +0 -21
  321. letta_sdk/types/tools/mcp/mcp_server_type.py +0 -7
  322. letta_sdk/types/tools/mcp/oauth_callback_params.py +0 -22
  323. letta_sdk/types/tools/mcp/server_add_params.py +0 -68
  324. letta_sdk/types/tools/mcp/server_add_response.py +0 -14
  325. letta_sdk/types/tools/mcp/server_connect_params.py +0 -68
  326. letta_sdk/types/tools/mcp/server_delete_response.py +0 -14
  327. letta_sdk/types/tools/mcp/server_list_response.py +0 -14
  328. letta_sdk/types/tools/mcp/server_resync_params.py +0 -12
  329. letta_sdk/types/tools/mcp/server_test_params.py +0 -68
  330. letta_sdk/types/tools/mcp/server_update_params.py +0 -43
  331. letta_sdk/types/tools/mcp/server_update_response.py +0 -12
  332. letta_sdk/types/tools/mcp/servers/__init__.py +0 -6
  333. letta_sdk/types/tools/mcp/servers/tool_execute_params.py +0 -15
  334. letta_sdk/types/tools/mcp/servers/tool_list_response.py +0 -85
  335. letta_sdk/types/tools/mcp/sse_server_config.py +0 -27
  336. letta_sdk/types/tools/mcp/sse_server_config_param.py +0 -29
  337. letta_sdk/types/tools/mcp/stdio_server_config.py +0 -24
  338. letta_sdk/types/tools/mcp/stdio_server_config_param.py +0 -27
  339. letta_sdk/types/tools/mcp/streamable_http_server_config.py +0 -27
  340. letta_sdk/types/tools/mcp/streamable_http_server_config_param.py +0 -29
  341. letta_sdk/types/voice_beta/chat_create_completion_params.py +0 -12
  342. {letta_sdk → letta_client}/_compat.py +0 -0
  343. {letta_sdk → letta_client}/_constants.py +0 -0
  344. {letta_sdk → letta_client}/_files.py +0 -0
  345. {letta_sdk → letta_client}/_models.py +0 -0
  346. {letta_sdk → letta_client}/_qs.py +0 -0
  347. {letta_sdk → letta_client}/_utils/__init__.py +0 -0
  348. {letta_sdk → letta_client}/_utils/_compat.py +0 -0
  349. {letta_sdk → letta_client}/_utils/_datetime_parse.py +0 -0
  350. {letta_sdk → letta_client}/_utils/_proxy.py +0 -0
  351. {letta_sdk → letta_client}/_utils/_reflection.py +0 -0
  352. {letta_sdk → letta_client}/_utils/_streams.py +0 -0
  353. {letta_sdk → letta_client}/_utils/_sync.py +0 -0
  354. {letta_sdk → letta_client}/_utils/_transform.py +0 -0
  355. {letta_sdk → letta_client}/_utils/_typing.py +0 -0
  356. {letta_sdk → letta_client}/_utils/_utils.py +0 -0
  357. {letta_sdk → letta_client}/lib/.keep +0 -0
  358. {letta_sdk → letta_client}/py.typed +0 -0
  359. {letta_sdk/resources/messages → letta_client/resources/batches}/__init__.py +6 -6
  360. {letta_sdk → letta_client}/resources/groups/__init__.py +0 -0
  361. {letta_sdk → letta_client}/types/agent_count_response.py +0 -0
  362. {letta_sdk → letta_client}/types/agents/assistant_message.py +0 -0
  363. {letta_sdk → letta_client}/types/agents/file_close_all_response.py +0 -0
  364. {letta_sdk → letta_client}/types/agents/file_list_response.py +0 -0
  365. {letta_sdk → letta_client}/types/agents/file_open_response.py +0 -0
  366. {letta_sdk → letta_client}/types/agents/hidden_reasoning_message.py +0 -0
  367. {letta_sdk → letta_client}/types/agents/image_content.py +0 -0
  368. {letta_sdk → letta_client}/types/agents/image_content_param.py +0 -0
  369. {letta_sdk → letta_client}/types/agents/job_status.py +0 -0
  370. {letta_sdk → letta_client}/types/agents/job_type.py +0 -0
  371. {letta_sdk → letta_client}/types/agents/letta_message_union.py +0 -0
  372. {letta_sdk → letta_client}/types/agents/letta_user_message_content_union.py +0 -0
  373. {letta_sdk → letta_client}/types/agents/letta_user_message_content_union_param.py +0 -0
  374. {letta_sdk → letta_client}/types/agents/message_cancel_params.py +0 -0
  375. {letta_sdk → letta_client}/types/agents/message_cancel_response.py +0 -0
  376. {letta_sdk → letta_client}/types/agents/message_role.py +0 -0
  377. {letta_sdk → letta_client}/types/agents/message_type.py +0 -0
  378. {letta_sdk → letta_client}/types/agents/message_update_response.py +0 -0
  379. {letta_sdk → letta_client}/types/agents/reasoning_content.py +0 -0
  380. {letta_sdk → letta_client}/types/agents/reasoning_content_param.py +0 -0
  381. {letta_sdk → letta_client}/types/agents/reasoning_message.py +0 -0
  382. {letta_sdk → letta_client}/types/agents/redacted_reasoning_content.py +0 -0
  383. {letta_sdk → letta_client}/types/agents/redacted_reasoning_content_param.py +0 -0
  384. {letta_sdk → letta_client}/types/agents/system_message.py +0 -0
  385. {letta_sdk → letta_client}/types/agents/tool_call.py +0 -0
  386. {letta_sdk → letta_client}/types/agents/tool_call_delta.py +0 -0
  387. {letta_sdk → letta_client}/types/agents/tool_return_content.py +0 -0
  388. {letta_sdk → letta_client}/types/agents/tool_return_content_param.py +0 -0
  389. {letta_sdk → letta_client}/types/agents/update_assistant_message_param.py +0 -0
  390. {letta_sdk → letta_client}/types/agents/update_reasoning_message_param.py +0 -0
  391. {letta_sdk → letta_client}/types/agents/update_system_message_param.py +0 -0
  392. {letta_sdk → letta_client}/types/agents/update_user_message_param.py +0 -0
  393. {letta_sdk → letta_client}/types/agents/user_message.py +0 -0
  394. {letta_sdk/types/messages → letta_client/types}/batch_list_params.py +0 -0
  395. {letta_sdk → letta_client}/types/block_count_response.py +0 -0
  396. {letta_sdk → letta_client}/types/block_create_params.py +0 -0
  397. {letta_sdk → letta_client}/types/block_list_params.py +0 -0
  398. {letta_sdk → letta_client}/types/block_update_params.py +0 -0
  399. {letta_sdk → letta_client}/types/conditional_tool_rule.py +0 -0
  400. {letta_sdk → letta_client}/types/conditional_tool_rule_param.py +0 -0
  401. {letta_sdk → letta_client}/types/continue_tool_rule.py +0 -0
  402. {letta_sdk → letta_client}/types/continue_tool_rule_param.py +0 -0
  403. {letta_sdk → letta_client}/types/create_block_param.py +0 -0
  404. {letta_sdk → letta_client}/types/dynamic_manager_param.py +0 -0
  405. {letta_sdk → letta_client}/types/embedding_config.py +0 -0
  406. {letta_sdk → letta_client}/types/embedding_config_param.py +0 -0
  407. {letta_sdk → letta_client}/types/folder.py +0 -0
  408. {letta_sdk → letta_client}/types/folder_count_response.py +0 -0
  409. {letta_sdk → letta_client}/types/folder_create_params.py +0 -0
  410. {letta_sdk → letta_client}/types/folder_list_params.py +0 -0
  411. {letta_sdk → letta_client}/types/folder_update_params.py +0 -0
  412. {letta_sdk → letta_client}/types/group.py +0 -0
  413. {letta_sdk → letta_client}/types/group_count_response.py +0 -0
  414. {letta_sdk → letta_client}/types/group_create_params.py +0 -0
  415. {letta_sdk → letta_client}/types/group_list_params.py +0 -0
  416. {letta_sdk → letta_client}/types/group_update_params.py +0 -0
  417. {letta_sdk → letta_client}/types/groups/message_list_params.py +0 -0
  418. {letta_sdk → letta_client}/types/groups/message_update_response.py +0 -0
  419. {letta_sdk → letta_client}/types/identity.py +0 -0
  420. {letta_sdk → letta_client}/types/identity_count_response.py +0 -0
  421. {letta_sdk → letta_client}/types/identity_create_params.py +0 -0
  422. {letta_sdk → letta_client}/types/identity_list_params.py +0 -0
  423. {letta_sdk → letta_client}/types/identity_property.py +0 -0
  424. {letta_sdk → letta_client}/types/identity_property_param.py +0 -0
  425. {letta_sdk → letta_client}/types/identity_type.py +0 -0
  426. {letta_sdk → letta_client}/types/identity_upsert_params.py +0 -0
  427. {letta_sdk → letta_client}/types/json_object_response_format.py +0 -0
  428. {letta_sdk → letta_client}/types/json_object_response_format_param.py +0 -0
  429. {letta_sdk → letta_client}/types/json_schema_response_format.py +0 -0
  430. {letta_sdk → letta_client}/types/json_schema_response_format_param.py +0 -0
  431. {letta_sdk → letta_client}/types/letta_message_content_union_param.py +0 -0
  432. {letta_sdk → letta_client}/types/manager_type.py +0 -0
  433. {letta_sdk → letta_client}/types/max_count_per_step_tool_rule.py +0 -0
  434. {letta_sdk → letta_client}/types/max_count_per_step_tool_rule_param.py +0 -0
  435. {letta_sdk → letta_client}/types/message_create_param.py +0 -0
  436. {letta_sdk → letta_client}/types/model_list_params.py +0 -0
  437. {letta_sdk → letta_client}/types/model_list_response.py +0 -0
  438. {letta_sdk → letta_client}/types/npm_requirement.py +0 -0
  439. {letta_sdk → letta_client}/types/npm_requirement_param.py +0 -0
  440. {letta_sdk → letta_client}/types/parent_tool_rule.py +0 -0
  441. {letta_sdk → letta_client}/types/parent_tool_rule_param.py +0 -0
  442. {letta_sdk → letta_client}/types/pip_requirement.py +0 -0
  443. {letta_sdk → letta_client}/types/pip_requirement_param.py +0 -0
  444. {letta_sdk → letta_client}/types/provider_category.py +0 -0
  445. {letta_sdk → letta_client}/types/provider_trace.py +0 -0
  446. {letta_sdk → letta_client}/types/provider_type.py +0 -0
  447. {letta_sdk → letta_client}/types/required_before_exit_tool_rule.py +0 -0
  448. {letta_sdk → letta_client}/types/required_before_exit_tool_rule_param.py +0 -0
  449. {letta_sdk → letta_client}/types/requires_approval_tool_rule.py +0 -0
  450. {letta_sdk → letta_client}/types/requires_approval_tool_rule_param.py +0 -0
  451. {letta_sdk → letta_client}/types/round_robin_manager_param.py +0 -0
  452. {letta_sdk → letta_client}/types/sleeptime_manager_param.py +0 -0
  453. {letta_sdk → letta_client}/types/step_list_params.py +0 -0
  454. {letta_sdk → letta_client}/types/stop_reason_type.py +0 -0
  455. {letta_sdk → letta_client}/types/supervisor_manager_param.py +0 -0
  456. {letta_sdk → letta_client}/types/tag_list_params.py +0 -0
  457. {letta_sdk → letta_client}/types/terminal_tool_rule.py +0 -0
  458. {letta_sdk → letta_client}/types/terminal_tool_rule_param.py +0 -0
  459. {letta_sdk → letta_client}/types/text_response_format.py +0 -0
  460. {letta_sdk → letta_client}/types/text_response_format_param.py +0 -0
  461. {letta_sdk → letta_client}/types/tool_count_params.py +0 -0
  462. {letta_sdk → letta_client}/types/tool_count_response.py +0 -0
  463. {letta_sdk → letta_client}/types/tool_list_params.py +0 -0
  464. {letta_sdk → letta_client}/types/tool_type.py +1 -1
  465. {letta_sdk → letta_client}/types/vector_db_provider.py +0 -0
  466. {letta_sdk → letta_client}/types/voice_sleeptime_manager_param.py +0 -0
  467. {letta_client-1.0.0a6.dist-info → letta_client-1.0.0a8.dist-info}/WHEEL +0 -0
@@ -7,38 +7,70 @@ from typing_extensions import Literal
7
7
 
8
8
  import httpx
9
9
 
10
- from ..types import (
10
+ from .agents import (
11
+ AgentsResource,
12
+ AsyncAgentsResource,
13
+ AgentsResourceWithRawResponse,
14
+ AsyncAgentsResourceWithRawResponse,
15
+ AgentsResourceWithStreamingResponse,
16
+ AsyncAgentsResourceWithStreamingResponse,
17
+ )
18
+ from .blocks import (
19
+ BlocksResource,
20
+ AsyncBlocksResource,
21
+ BlocksResourceWithRawResponse,
22
+ AsyncBlocksResourceWithRawResponse,
23
+ BlocksResourceWithStreamingResponse,
24
+ AsyncBlocksResourceWithStreamingResponse,
25
+ )
26
+ from ...types import (
11
27
  IdentityType,
12
28
  identity_list_params,
13
29
  identity_create_params,
14
- identity_modify_params,
30
+ identity_update_params,
15
31
  identity_upsert_params,
16
- identity_list_agents_params,
17
- identity_list_blocks_params,
18
32
  )
19
- from .._types import Body, Omit, Query, Headers, NotGiven, SequenceNotStr, omit, not_given
20
- from .._utils import maybe_transform, strip_not_given, async_maybe_transform
21
- from .._compat import cached_property
22
- from .._resource import SyncAPIResource, AsyncAPIResource
23
- from .._response import (
33
+ from ..._types import Body, Omit, Query, Headers, NotGiven, SequenceNotStr, omit, not_given
34
+ from ..._utils import maybe_transform, strip_not_given, async_maybe_transform
35
+ from ..._compat import cached_property
36
+ from .properties import (
37
+ PropertiesResource,
38
+ AsyncPropertiesResource,
39
+ PropertiesResourceWithRawResponse,
40
+ AsyncPropertiesResourceWithRawResponse,
41
+ PropertiesResourceWithStreamingResponse,
42
+ AsyncPropertiesResourceWithStreamingResponse,
43
+ )
44
+ from ..._resource import SyncAPIResource, AsyncAPIResource
45
+ from ..._response import (
24
46
  to_raw_response_wrapper,
25
47
  to_streamed_response_wrapper,
26
48
  async_to_raw_response_wrapper,
27
49
  async_to_streamed_response_wrapper,
28
50
  )
29
- from .._base_client import make_request_options
30
- from ..types.identity import Identity
31
- from ..types.identity_type import IdentityType
32
- from ..types.identity_list_response import IdentityListResponse
33
- from ..types.identity_count_response import IdentityCountResponse
34
- from ..types.identity_property_param import IdentityPropertyParam
35
- from ..types.identity_list_agents_response import IdentityListAgentsResponse
36
- from ..types.identity_list_blocks_response import IdentityListBlocksResponse
51
+ from ...pagination import SyncArrayPage, AsyncArrayPage
52
+ from ..._base_client import AsyncPaginator, make_request_options
53
+ from ...types.identity import Identity
54
+ from ...types.identity_type import IdentityType
55
+ from ...types.identity_count_response import IdentityCountResponse
56
+ from ...types.identity_property_param import IdentityPropertyParam
37
57
 
38
58
  __all__ = ["IdentitiesResource", "AsyncIdentitiesResource"]
39
59
 
40
60
 
41
61
  class IdentitiesResource(SyncAPIResource):
62
+ @cached_property
63
+ def properties(self) -> PropertiesResource:
64
+ return PropertiesResource(self._client)
65
+
66
+ @cached_property
67
+ def agents(self) -> AgentsResource:
68
+ return AgentsResource(self._client)
69
+
70
+ @cached_property
71
+ def blocks(self) -> BlocksResource:
72
+ return BlocksResource(self._client)
73
+
42
74
  @cached_property
43
75
  def with_raw_response(self) -> IdentitiesResourceWithRawResponse:
44
76
  """
@@ -140,6 +172,8 @@ class IdentitiesResource(SyncAPIResource):
140
172
  Retrieve Identity
141
173
 
142
174
  Args:
175
+ identity_id: The ID of the identity in the format 'identity-<uuid4>'
176
+
143
177
  extra_headers: Send extra headers
144
178
 
145
179
  extra_query: Add additional query parameters to the request
@@ -158,6 +192,70 @@ class IdentitiesResource(SyncAPIResource):
158
192
  cast_to=Identity,
159
193
  )
160
194
 
195
+ def update(
196
+ self,
197
+ identity_id: str,
198
+ *,
199
+ agent_ids: Optional[SequenceNotStr[str]] | Omit = omit,
200
+ block_ids: Optional[SequenceNotStr[str]] | Omit = omit,
201
+ identifier_key: Optional[str] | Omit = omit,
202
+ identity_type: Optional[IdentityType] | Omit = omit,
203
+ name: Optional[str] | Omit = omit,
204
+ properties: Optional[Iterable[IdentityPropertyParam]] | Omit = omit,
205
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
206
+ # The extra values given here take precedence over values defined on the client or passed to this method.
207
+ extra_headers: Headers | None = None,
208
+ extra_query: Query | None = None,
209
+ extra_body: Body | None = None,
210
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
211
+ ) -> Identity:
212
+ """
213
+ Modify Identity
214
+
215
+ Args:
216
+ identity_id: The ID of the identity in the format 'identity-<uuid4>'
217
+
218
+ agent_ids: The agent ids that are associated with the identity.
219
+
220
+ block_ids: The IDs of the blocks associated with the identity.
221
+
222
+ identifier_key: External, user-generated identifier key of the identity.
223
+
224
+ identity_type: Enum to represent the type of the identity.
225
+
226
+ name: The name of the identity.
227
+
228
+ properties: List of properties associated with the identity.
229
+
230
+ extra_headers: Send extra headers
231
+
232
+ extra_query: Add additional query parameters to the request
233
+
234
+ extra_body: Add additional JSON properties to the request
235
+
236
+ timeout: Override the client-level default timeout for this request, in seconds
237
+ """
238
+ if not identity_id:
239
+ raise ValueError(f"Expected a non-empty value for `identity_id` but received {identity_id!r}")
240
+ return self._patch(
241
+ f"/v1/identities/{identity_id}",
242
+ body=maybe_transform(
243
+ {
244
+ "agent_ids": agent_ids,
245
+ "block_ids": block_ids,
246
+ "identifier_key": identifier_key,
247
+ "identity_type": identity_type,
248
+ "name": name,
249
+ "properties": properties,
250
+ },
251
+ identity_update_params.IdentityUpdateParams,
252
+ ),
253
+ options=make_request_options(
254
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
255
+ ),
256
+ cast_to=Identity,
257
+ )
258
+
161
259
  def list(
162
260
  self,
163
261
  *,
@@ -176,7 +274,7 @@ class IdentitiesResource(SyncAPIResource):
176
274
  extra_query: Query | None = None,
177
275
  extra_body: Body | None = None,
178
276
  timeout: float | httpx.Timeout | None | NotGiven = not_given,
179
- ) -> IdentityListResponse:
277
+ ) -> SyncArrayPage[Identity]:
180
278
  """
181
279
  Get a list of all identities in the database
182
280
 
@@ -204,8 +302,9 @@ class IdentitiesResource(SyncAPIResource):
204
302
 
205
303
  timeout: Override the client-level default timeout for this request, in seconds
206
304
  """
207
- return self._get(
305
+ return self._get_api_list(
208
306
  "/v1/identities/",
307
+ page=SyncArrayPage[Identity],
209
308
  options=make_request_options(
210
309
  extra_headers=extra_headers,
211
310
  extra_query=extra_query,
@@ -226,7 +325,7 @@ class IdentitiesResource(SyncAPIResource):
226
325
  identity_list_params.IdentityListParams,
227
326
  ),
228
327
  ),
229
- cast_to=IdentityListResponse,
328
+ model=Identity,
230
329
  )
231
330
 
232
331
  def delete(
@@ -244,6 +343,8 @@ class IdentitiesResource(SyncAPIResource):
244
343
  Delete an identity by its identifier key
245
344
 
246
345
  Args:
346
+ identity_id: The ID of the identity in the format 'identity-<uuid4>'
347
+
247
348
  extra_headers: Send extra headers
248
349
 
249
350
  extra_query: Add additional query parameters to the request
@@ -281,144 +382,17 @@ class IdentitiesResource(SyncAPIResource):
281
382
  cast_to=int,
282
383
  )
283
384
 
284
- def list_agents(
285
- self,
286
- identity_id: str,
287
- *,
288
- after: Optional[str] | Omit = omit,
289
- before: Optional[str] | Omit = omit,
290
- limit: Optional[int] | Omit = omit,
291
- order: Literal["asc", "desc"] | Omit = omit,
292
- order_by: Literal["created_at"] | Omit = omit,
293
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
294
- # The extra values given here take precedence over values defined on the client or passed to this method.
295
- extra_headers: Headers | None = None,
296
- extra_query: Query | None = None,
297
- extra_body: Body | None = None,
298
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
299
- ) -> IdentityListAgentsResponse:
300
- """
301
- Get all agents associated with the specified identity.
302
-
303
- Args:
304
- after: Agent ID cursor for pagination. Returns agents that come after this agent ID in
305
- the specified sort order
306
-
307
- before: Agent ID cursor for pagination. Returns agents that come before this agent ID in
308
- the specified sort order
309
-
310
- limit: Maximum number of agents to return
311
-
312
- order: Sort order for agents by creation time. 'asc' for oldest first, 'desc' for
313
- newest first
314
-
315
- order_by: Field to sort by
316
-
317
- extra_headers: Send extra headers
318
-
319
- extra_query: Add additional query parameters to the request
320
-
321
- extra_body: Add additional JSON properties to the request
322
-
323
- timeout: Override the client-level default timeout for this request, in seconds
324
- """
325
- if not identity_id:
326
- raise ValueError(f"Expected a non-empty value for `identity_id` but received {identity_id!r}")
327
- return self._get(
328
- f"/v1/identities/{identity_id}/agents",
329
- options=make_request_options(
330
- extra_headers=extra_headers,
331
- extra_query=extra_query,
332
- extra_body=extra_body,
333
- timeout=timeout,
334
- query=maybe_transform(
335
- {
336
- "after": after,
337
- "before": before,
338
- "limit": limit,
339
- "order": order,
340
- "order_by": order_by,
341
- },
342
- identity_list_agents_params.IdentityListAgentsParams,
343
- ),
344
- ),
345
- cast_to=IdentityListAgentsResponse,
346
- )
347
-
348
- def list_blocks(
349
- self,
350
- identity_id: str,
351
- *,
352
- after: Optional[str] | Omit = omit,
353
- before: Optional[str] | Omit = omit,
354
- limit: Optional[int] | Omit = omit,
355
- order: Literal["asc", "desc"] | Omit = omit,
356
- order_by: Literal["created_at"] | Omit = omit,
357
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
358
- # The extra values given here take precedence over values defined on the client or passed to this method.
359
- extra_headers: Headers | None = None,
360
- extra_query: Query | None = None,
361
- extra_body: Body | None = None,
362
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
363
- ) -> IdentityListBlocksResponse:
364
- """
365
- Get all blocks associated with the specified identity.
366
-
367
- Args:
368
- after: Block ID cursor for pagination. Returns blocks that come after this block ID in
369
- the specified sort order
370
-
371
- before: Block ID cursor for pagination. Returns blocks that come before this block ID in
372
- the specified sort order
373
-
374
- limit: Maximum number of blocks to return
375
-
376
- order: Sort order for blocks by creation time. 'asc' for oldest first, 'desc' for
377
- newest first
378
-
379
- order_by: Field to sort by
380
-
381
- extra_headers: Send extra headers
382
-
383
- extra_query: Add additional query parameters to the request
384
-
385
- extra_body: Add additional JSON properties to the request
386
-
387
- timeout: Override the client-level default timeout for this request, in seconds
388
- """
389
- if not identity_id:
390
- raise ValueError(f"Expected a non-empty value for `identity_id` but received {identity_id!r}")
391
- return self._get(
392
- f"/v1/identities/{identity_id}/blocks",
393
- options=make_request_options(
394
- extra_headers=extra_headers,
395
- extra_query=extra_query,
396
- extra_body=extra_body,
397
- timeout=timeout,
398
- query=maybe_transform(
399
- {
400
- "after": after,
401
- "before": before,
402
- "limit": limit,
403
- "order": order,
404
- "order_by": order_by,
405
- },
406
- identity_list_blocks_params.IdentityListBlocksParams,
407
- ),
408
- ),
409
- cast_to=IdentityListBlocksResponse,
410
- )
411
-
412
- def modify(
385
+ def upsert(
413
386
  self,
414
- identity_id: str,
415
387
  *,
388
+ identifier_key: str,
389
+ identity_type: IdentityType,
390
+ name: str,
416
391
  agent_ids: Optional[SequenceNotStr[str]] | Omit = omit,
417
392
  block_ids: Optional[SequenceNotStr[str]] | Omit = omit,
418
- identifier_key: Optional[str] | Omit = omit,
419
- identity_type: Optional[IdentityType] | Omit = omit,
420
- name: Optional[str] | Omit = omit,
393
+ project_id: Optional[str] | Omit = omit,
421
394
  properties: Optional[Iterable[IdentityPropertyParam]] | Omit = omit,
395
+ x_project: str | Omit = omit,
422
396
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
423
397
  # The extra values given here take precedence over values defined on the client or passed to this method.
424
398
  extra_headers: Headers | None = None,
@@ -427,21 +401,25 @@ class IdentitiesResource(SyncAPIResource):
427
401
  timeout: float | httpx.Timeout | None | NotGiven = not_given,
428
402
  ) -> Identity:
429
403
  """
430
- Modify Identity
404
+ Upsert Identity
431
405
 
432
406
  Args:
433
- agent_ids: The agent ids that are associated with the identity.
434
-
435
- block_ids: The IDs of the blocks associated with the identity.
436
-
437
407
  identifier_key: External, user-generated identifier key of the identity.
438
408
 
439
- identity_type: Enum to represent the type of the identity.
409
+ identity_type: The type of the identity.
440
410
 
441
411
  name: The name of the identity.
442
412
 
413
+ agent_ids: The agent ids that are associated with the identity.
414
+
415
+ block_ids: The IDs of the blocks associated with the identity.
416
+
417
+ project_id: The project id of the identity, if applicable.
418
+
443
419
  properties: List of properties associated with the identity.
444
420
 
421
+ x_project: The project slug to associate with the identity (cloud only).
422
+
445
423
  extra_headers: Send extra headers
446
424
 
447
425
  extra_query: Add additional query parameters to the request
@@ -450,20 +428,20 @@ class IdentitiesResource(SyncAPIResource):
450
428
 
451
429
  timeout: Override the client-level default timeout for this request, in seconds
452
430
  """
453
- if not identity_id:
454
- raise ValueError(f"Expected a non-empty value for `identity_id` but received {identity_id!r}")
455
- return self._patch(
456
- f"/v1/identities/{identity_id}",
431
+ extra_headers = {**strip_not_given({"X-Project": x_project}), **(extra_headers or {})}
432
+ return self._put(
433
+ "/v1/identities/",
457
434
  body=maybe_transform(
458
435
  {
459
- "agent_ids": agent_ids,
460
- "block_ids": block_ids,
461
436
  "identifier_key": identifier_key,
462
437
  "identity_type": identity_type,
463
438
  "name": name,
439
+ "agent_ids": agent_ids,
440
+ "block_ids": block_ids,
441
+ "project_id": project_id,
464
442
  "properties": properties,
465
443
  },
466
- identity_modify_params.IdentityModifyParams,
444
+ identity_upsert_params.IdentityUpsertParams,
467
445
  ),
468
446
  options=make_request_options(
469
447
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
@@ -471,7 +449,40 @@ class IdentitiesResource(SyncAPIResource):
471
449
  cast_to=Identity,
472
450
  )
473
451
 
474
- def upsert(
452
+
453
+ class AsyncIdentitiesResource(AsyncAPIResource):
454
+ @cached_property
455
+ def properties(self) -> AsyncPropertiesResource:
456
+ return AsyncPropertiesResource(self._client)
457
+
458
+ @cached_property
459
+ def agents(self) -> AsyncAgentsResource:
460
+ return AsyncAgentsResource(self._client)
461
+
462
+ @cached_property
463
+ def blocks(self) -> AsyncBlocksResource:
464
+ return AsyncBlocksResource(self._client)
465
+
466
+ @cached_property
467
+ def with_raw_response(self) -> AsyncIdentitiesResourceWithRawResponse:
468
+ """
469
+ This property can be used as a prefix for any HTTP method call to return
470
+ the raw response object instead of the parsed content.
471
+
472
+ For more information, see https://www.github.com/letta-ai/letta-python#accessing-raw-response-data-eg-headers
473
+ """
474
+ return AsyncIdentitiesResourceWithRawResponse(self)
475
+
476
+ @cached_property
477
+ def with_streaming_response(self) -> AsyncIdentitiesResourceWithStreamingResponse:
478
+ """
479
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
480
+
481
+ For more information, see https://www.github.com/letta-ai/letta-python#with_streaming_response
482
+ """
483
+ return AsyncIdentitiesResourceWithStreamingResponse(self)
484
+
485
+ async def create(
475
486
  self,
476
487
  *,
477
488
  identifier_key: str,
@@ -490,7 +501,7 @@ class IdentitiesResource(SyncAPIResource):
490
501
  timeout: float | httpx.Timeout | None | NotGiven = not_given,
491
502
  ) -> Identity:
492
503
  """
493
- Upsert Identity
504
+ Create Identity
494
505
 
495
506
  Args:
496
507
  identifier_key: External, user-generated identifier key of the identity.
@@ -518,9 +529,9 @@ class IdentitiesResource(SyncAPIResource):
518
529
  timeout: Override the client-level default timeout for this request, in seconds
519
530
  """
520
531
  extra_headers = {**strip_not_given({"X-Project": x_project}), **(extra_headers or {})}
521
- return self._put(
532
+ return await self._post(
522
533
  "/v1/identities/",
523
- body=maybe_transform(
534
+ body=await async_maybe_transform(
524
535
  {
525
536
  "identifier_key": identifier_key,
526
537
  "identity_type": identity_type,
@@ -530,7 +541,7 @@ class IdentitiesResource(SyncAPIResource):
530
541
  "project_id": project_id,
531
542
  "properties": properties,
532
543
  },
533
- identity_upsert_params.IdentityUpsertParams,
544
+ identity_create_params.IdentityCreateParams,
534
545
  ),
535
546
  options=make_request_options(
536
547
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
@@ -538,22 +549,23 @@ class IdentitiesResource(SyncAPIResource):
538
549
  cast_to=Identity,
539
550
  )
540
551
 
541
- def upsert_properties(
552
+ async def retrieve(
542
553
  self,
543
554
  identity_id: str,
544
555
  *,
545
- body: Iterable[IdentityPropertyParam],
546
556
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
547
557
  # The extra values given here take precedence over values defined on the client or passed to this method.
548
558
  extra_headers: Headers | None = None,
549
559
  extra_query: Query | None = None,
550
560
  extra_body: Body | None = None,
551
561
  timeout: float | httpx.Timeout | None | NotGiven = not_given,
552
- ) -> object:
562
+ ) -> Identity:
553
563
  """
554
- Upsert Identity Properties
564
+ Retrieve Identity
555
565
 
556
566
  Args:
567
+ identity_id: The ID of the identity in the format 'identity-<uuid4>'
568
+
557
569
  extra_headers: Send extra headers
558
570
 
559
571
  extra_query: Add additional query parameters to the request
@@ -564,47 +576,24 @@ class IdentitiesResource(SyncAPIResource):
564
576
  """
565
577
  if not identity_id:
566
578
  raise ValueError(f"Expected a non-empty value for `identity_id` but received {identity_id!r}")
567
- return self._put(
568
- f"/v1/identities/{identity_id}/properties",
569
- body=maybe_transform(body, Iterable[IdentityPropertyParam]),
579
+ return await self._get(
580
+ f"/v1/identities/{identity_id}",
570
581
  options=make_request_options(
571
582
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
572
583
  ),
573
- cast_to=object,
584
+ cast_to=Identity,
574
585
  )
575
586
 
576
-
577
- class AsyncIdentitiesResource(AsyncAPIResource):
578
- @cached_property
579
- def with_raw_response(self) -> AsyncIdentitiesResourceWithRawResponse:
580
- """
581
- This property can be used as a prefix for any HTTP method call to return
582
- the raw response object instead of the parsed content.
583
-
584
- For more information, see https://www.github.com/letta-ai/letta-python#accessing-raw-response-data-eg-headers
585
- """
586
- return AsyncIdentitiesResourceWithRawResponse(self)
587
-
588
- @cached_property
589
- def with_streaming_response(self) -> AsyncIdentitiesResourceWithStreamingResponse:
590
- """
591
- An alternative to `.with_raw_response` that doesn't eagerly read the response body.
592
-
593
- For more information, see https://www.github.com/letta-ai/letta-python#with_streaming_response
594
- """
595
- return AsyncIdentitiesResourceWithStreamingResponse(self)
596
-
597
- async def create(
587
+ async def update(
598
588
  self,
589
+ identity_id: str,
599
590
  *,
600
- identifier_key: str,
601
- identity_type: IdentityType,
602
- name: str,
603
591
  agent_ids: Optional[SequenceNotStr[str]] | Omit = omit,
604
592
  block_ids: Optional[SequenceNotStr[str]] | Omit = omit,
605
- project_id: Optional[str] | Omit = omit,
593
+ identifier_key: Optional[str] | Omit = omit,
594
+ identity_type: Optional[IdentityType] | Omit = omit,
595
+ name: Optional[str] | Omit = omit,
606
596
  properties: Optional[Iterable[IdentityPropertyParam]] | Omit = omit,
607
- x_project: str | Omit = omit,
608
597
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
609
598
  # The extra values given here take precedence over values defined on the client or passed to this method.
610
599
  extra_headers: Headers | None = None,
@@ -613,24 +602,22 @@ class AsyncIdentitiesResource(AsyncAPIResource):
613
602
  timeout: float | httpx.Timeout | None | NotGiven = not_given,
614
603
  ) -> Identity:
615
604
  """
616
- Create Identity
605
+ Modify Identity
617
606
 
618
607
  Args:
619
- identifier_key: External, user-generated identifier key of the identity.
620
-
621
- identity_type: The type of the identity.
622
-
623
- name: The name of the identity.
608
+ identity_id: The ID of the identity in the format 'identity-<uuid4>'
624
609
 
625
610
  agent_ids: The agent ids that are associated with the identity.
626
611
 
627
612
  block_ids: The IDs of the blocks associated with the identity.
628
613
 
629
- project_id: The project id of the identity, if applicable.
614
+ identifier_key: External, user-generated identifier key of the identity.
630
615
 
631
- properties: List of properties associated with the identity.
616
+ identity_type: Enum to represent the type of the identity.
632
617
 
633
- x_project: The project slug to associate with the identity (cloud only).
618
+ name: The name of the identity.
619
+
620
+ properties: List of properties associated with the identity.
634
621
 
635
622
  extra_headers: Send extra headers
636
623
 
@@ -640,61 +627,28 @@ class AsyncIdentitiesResource(AsyncAPIResource):
640
627
 
641
628
  timeout: Override the client-level default timeout for this request, in seconds
642
629
  """
643
- extra_headers = {**strip_not_given({"X-Project": x_project}), **(extra_headers or {})}
644
- return await self._post(
645
- "/v1/identities/",
630
+ if not identity_id:
631
+ raise ValueError(f"Expected a non-empty value for `identity_id` but received {identity_id!r}")
632
+ return await self._patch(
633
+ f"/v1/identities/{identity_id}",
646
634
  body=await async_maybe_transform(
647
635
  {
636
+ "agent_ids": agent_ids,
637
+ "block_ids": block_ids,
648
638
  "identifier_key": identifier_key,
649
639
  "identity_type": identity_type,
650
640
  "name": name,
651
- "agent_ids": agent_ids,
652
- "block_ids": block_ids,
653
- "project_id": project_id,
654
641
  "properties": properties,
655
642
  },
656
- identity_create_params.IdentityCreateParams,
657
- ),
658
- options=make_request_options(
659
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
643
+ identity_update_params.IdentityUpdateParams,
660
644
  ),
661
- cast_to=Identity,
662
- )
663
-
664
- async def retrieve(
665
- self,
666
- identity_id: str,
667
- *,
668
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
669
- # The extra values given here take precedence over values defined on the client or passed to this method.
670
- extra_headers: Headers | None = None,
671
- extra_query: Query | None = None,
672
- extra_body: Body | None = None,
673
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
674
- ) -> Identity:
675
- """
676
- Retrieve Identity
677
-
678
- Args:
679
- extra_headers: Send extra headers
680
-
681
- extra_query: Add additional query parameters to the request
682
-
683
- extra_body: Add additional JSON properties to the request
684
-
685
- timeout: Override the client-level default timeout for this request, in seconds
686
- """
687
- if not identity_id:
688
- raise ValueError(f"Expected a non-empty value for `identity_id` but received {identity_id!r}")
689
- return await self._get(
690
- f"/v1/identities/{identity_id}",
691
645
  options=make_request_options(
692
646
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
693
647
  ),
694
648
  cast_to=Identity,
695
649
  )
696
650
 
697
- async def list(
651
+ def list(
698
652
  self,
699
653
  *,
700
654
  after: Optional[str] | Omit = omit,
@@ -712,7 +666,7 @@ class AsyncIdentitiesResource(AsyncAPIResource):
712
666
  extra_query: Query | None = None,
713
667
  extra_body: Body | None = None,
714
668
  timeout: float | httpx.Timeout | None | NotGiven = not_given,
715
- ) -> IdentityListResponse:
669
+ ) -> AsyncPaginator[Identity, AsyncArrayPage[Identity]]:
716
670
  """
717
671
  Get a list of all identities in the database
718
672
 
@@ -740,14 +694,15 @@ class AsyncIdentitiesResource(AsyncAPIResource):
740
694
 
741
695
  timeout: Override the client-level default timeout for this request, in seconds
742
696
  """
743
- return await self._get(
697
+ return self._get_api_list(
744
698
  "/v1/identities/",
699
+ page=AsyncArrayPage[Identity],
745
700
  options=make_request_options(
746
701
  extra_headers=extra_headers,
747
702
  extra_query=extra_query,
748
703
  extra_body=extra_body,
749
704
  timeout=timeout,
750
- query=await async_maybe_transform(
705
+ query=maybe_transform(
751
706
  {
752
707
  "after": after,
753
708
  "before": before,
@@ -762,7 +717,7 @@ class AsyncIdentitiesResource(AsyncAPIResource):
762
717
  identity_list_params.IdentityListParams,
763
718
  ),
764
719
  ),
765
- cast_to=IdentityListResponse,
720
+ model=Identity,
766
721
  )
767
722
 
768
723
  async def delete(
@@ -780,6 +735,8 @@ class AsyncIdentitiesResource(AsyncAPIResource):
780
735
  Delete an identity by its identifier key
781
736
 
782
737
  Args:
738
+ identity_id: The ID of the identity in the format 'identity-<uuid4>'
739
+
783
740
  extra_headers: Send extra headers
784
741
 
785
742
  extra_query: Add additional query parameters to the request
@@ -817,196 +774,6 @@ class AsyncIdentitiesResource(AsyncAPIResource):
817
774
  cast_to=int,
818
775
  )
819
776
 
820
- async def list_agents(
821
- self,
822
- identity_id: str,
823
- *,
824
- after: Optional[str] | Omit = omit,
825
- before: Optional[str] | Omit = omit,
826
- limit: Optional[int] | Omit = omit,
827
- order: Literal["asc", "desc"] | Omit = omit,
828
- order_by: Literal["created_at"] | Omit = omit,
829
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
830
- # The extra values given here take precedence over values defined on the client or passed to this method.
831
- extra_headers: Headers | None = None,
832
- extra_query: Query | None = None,
833
- extra_body: Body | None = None,
834
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
835
- ) -> IdentityListAgentsResponse:
836
- """
837
- Get all agents associated with the specified identity.
838
-
839
- Args:
840
- after: Agent ID cursor for pagination. Returns agents that come after this agent ID in
841
- the specified sort order
842
-
843
- before: Agent ID cursor for pagination. Returns agents that come before this agent ID in
844
- the specified sort order
845
-
846
- limit: Maximum number of agents to return
847
-
848
- order: Sort order for agents by creation time. 'asc' for oldest first, 'desc' for
849
- newest first
850
-
851
- order_by: Field to sort by
852
-
853
- extra_headers: Send extra headers
854
-
855
- extra_query: Add additional query parameters to the request
856
-
857
- extra_body: Add additional JSON properties to the request
858
-
859
- timeout: Override the client-level default timeout for this request, in seconds
860
- """
861
- if not identity_id:
862
- raise ValueError(f"Expected a non-empty value for `identity_id` but received {identity_id!r}")
863
- return await self._get(
864
- f"/v1/identities/{identity_id}/agents",
865
- options=make_request_options(
866
- extra_headers=extra_headers,
867
- extra_query=extra_query,
868
- extra_body=extra_body,
869
- timeout=timeout,
870
- query=await async_maybe_transform(
871
- {
872
- "after": after,
873
- "before": before,
874
- "limit": limit,
875
- "order": order,
876
- "order_by": order_by,
877
- },
878
- identity_list_agents_params.IdentityListAgentsParams,
879
- ),
880
- ),
881
- cast_to=IdentityListAgentsResponse,
882
- )
883
-
884
- async def list_blocks(
885
- self,
886
- identity_id: str,
887
- *,
888
- after: Optional[str] | Omit = omit,
889
- before: Optional[str] | Omit = omit,
890
- limit: Optional[int] | Omit = omit,
891
- order: Literal["asc", "desc"] | Omit = omit,
892
- order_by: Literal["created_at"] | Omit = omit,
893
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
894
- # The extra values given here take precedence over values defined on the client or passed to this method.
895
- extra_headers: Headers | None = None,
896
- extra_query: Query | None = None,
897
- extra_body: Body | None = None,
898
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
899
- ) -> IdentityListBlocksResponse:
900
- """
901
- Get all blocks associated with the specified identity.
902
-
903
- Args:
904
- after: Block ID cursor for pagination. Returns blocks that come after this block ID in
905
- the specified sort order
906
-
907
- before: Block ID cursor for pagination. Returns blocks that come before this block ID in
908
- the specified sort order
909
-
910
- limit: Maximum number of blocks to return
911
-
912
- order: Sort order for blocks by creation time. 'asc' for oldest first, 'desc' for
913
- newest first
914
-
915
- order_by: Field to sort by
916
-
917
- extra_headers: Send extra headers
918
-
919
- extra_query: Add additional query parameters to the request
920
-
921
- extra_body: Add additional JSON properties to the request
922
-
923
- timeout: Override the client-level default timeout for this request, in seconds
924
- """
925
- if not identity_id:
926
- raise ValueError(f"Expected a non-empty value for `identity_id` but received {identity_id!r}")
927
- return await self._get(
928
- f"/v1/identities/{identity_id}/blocks",
929
- options=make_request_options(
930
- extra_headers=extra_headers,
931
- extra_query=extra_query,
932
- extra_body=extra_body,
933
- timeout=timeout,
934
- query=await async_maybe_transform(
935
- {
936
- "after": after,
937
- "before": before,
938
- "limit": limit,
939
- "order": order,
940
- "order_by": order_by,
941
- },
942
- identity_list_blocks_params.IdentityListBlocksParams,
943
- ),
944
- ),
945
- cast_to=IdentityListBlocksResponse,
946
- )
947
-
948
- async def modify(
949
- self,
950
- identity_id: str,
951
- *,
952
- agent_ids: Optional[SequenceNotStr[str]] | Omit = omit,
953
- block_ids: Optional[SequenceNotStr[str]] | Omit = omit,
954
- identifier_key: Optional[str] | Omit = omit,
955
- identity_type: Optional[IdentityType] | Omit = omit,
956
- name: Optional[str] | Omit = omit,
957
- properties: Optional[Iterable[IdentityPropertyParam]] | Omit = omit,
958
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
959
- # The extra values given here take precedence over values defined on the client or passed to this method.
960
- extra_headers: Headers | None = None,
961
- extra_query: Query | None = None,
962
- extra_body: Body | None = None,
963
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
964
- ) -> Identity:
965
- """
966
- Modify Identity
967
-
968
- Args:
969
- agent_ids: The agent ids that are associated with the identity.
970
-
971
- block_ids: The IDs of the blocks associated with the identity.
972
-
973
- identifier_key: External, user-generated identifier key of the identity.
974
-
975
- identity_type: Enum to represent the type of the identity.
976
-
977
- name: The name of the identity.
978
-
979
- properties: List of properties associated with the identity.
980
-
981
- extra_headers: Send extra headers
982
-
983
- extra_query: Add additional query parameters to the request
984
-
985
- extra_body: Add additional JSON properties to the request
986
-
987
- timeout: Override the client-level default timeout for this request, in seconds
988
- """
989
- if not identity_id:
990
- raise ValueError(f"Expected a non-empty value for `identity_id` but received {identity_id!r}")
991
- return await self._patch(
992
- f"/v1/identities/{identity_id}",
993
- body=await async_maybe_transform(
994
- {
995
- "agent_ids": agent_ids,
996
- "block_ids": block_ids,
997
- "identifier_key": identifier_key,
998
- "identity_type": identity_type,
999
- "name": name,
1000
- "properties": properties,
1001
- },
1002
- identity_modify_params.IdentityModifyParams,
1003
- ),
1004
- options=make_request_options(
1005
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
1006
- ),
1007
- cast_to=Identity,
1008
- )
1009
-
1010
777
  async def upsert(
1011
778
  self,
1012
779
  *,
@@ -1074,41 +841,6 @@ class AsyncIdentitiesResource(AsyncAPIResource):
1074
841
  cast_to=Identity,
1075
842
  )
1076
843
 
1077
- async def upsert_properties(
1078
- self,
1079
- identity_id: str,
1080
- *,
1081
- body: Iterable[IdentityPropertyParam],
1082
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1083
- # The extra values given here take precedence over values defined on the client or passed to this method.
1084
- extra_headers: Headers | None = None,
1085
- extra_query: Query | None = None,
1086
- extra_body: Body | None = None,
1087
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
1088
- ) -> object:
1089
- """
1090
- Upsert Identity Properties
1091
-
1092
- Args:
1093
- extra_headers: Send extra headers
1094
-
1095
- extra_query: Add additional query parameters to the request
1096
-
1097
- extra_body: Add additional JSON properties to the request
1098
-
1099
- timeout: Override the client-level default timeout for this request, in seconds
1100
- """
1101
- if not identity_id:
1102
- raise ValueError(f"Expected a non-empty value for `identity_id` but received {identity_id!r}")
1103
- return await self._put(
1104
- f"/v1/identities/{identity_id}/properties",
1105
- body=await async_maybe_transform(body, Iterable[IdentityPropertyParam]),
1106
- options=make_request_options(
1107
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
1108
- ),
1109
- cast_to=object,
1110
- )
1111
-
1112
844
 
1113
845
  class IdentitiesResourceWithRawResponse:
1114
846
  def __init__(self, identities: IdentitiesResource) -> None:
@@ -1120,6 +852,9 @@ class IdentitiesResourceWithRawResponse:
1120
852
  self.retrieve = to_raw_response_wrapper(
1121
853
  identities.retrieve,
1122
854
  )
855
+ self.update = to_raw_response_wrapper(
856
+ identities.update,
857
+ )
1123
858
  self.list = to_raw_response_wrapper(
1124
859
  identities.list,
1125
860
  )
@@ -1129,21 +864,21 @@ class IdentitiesResourceWithRawResponse:
1129
864
  self.count = to_raw_response_wrapper(
1130
865
  identities.count,
1131
866
  )
1132
- self.list_agents = to_raw_response_wrapper(
1133
- identities.list_agents,
1134
- )
1135
- self.list_blocks = to_raw_response_wrapper(
1136
- identities.list_blocks,
1137
- )
1138
- self.modify = to_raw_response_wrapper(
1139
- identities.modify,
1140
- )
1141
867
  self.upsert = to_raw_response_wrapper(
1142
868
  identities.upsert,
1143
869
  )
1144
- self.upsert_properties = to_raw_response_wrapper(
1145
- identities.upsert_properties,
1146
- )
870
+
871
+ @cached_property
872
+ def properties(self) -> PropertiesResourceWithRawResponse:
873
+ return PropertiesResourceWithRawResponse(self._identities.properties)
874
+
875
+ @cached_property
876
+ def agents(self) -> AgentsResourceWithRawResponse:
877
+ return AgentsResourceWithRawResponse(self._identities.agents)
878
+
879
+ @cached_property
880
+ def blocks(self) -> BlocksResourceWithRawResponse:
881
+ return BlocksResourceWithRawResponse(self._identities.blocks)
1147
882
 
1148
883
 
1149
884
  class AsyncIdentitiesResourceWithRawResponse:
@@ -1156,6 +891,9 @@ class AsyncIdentitiesResourceWithRawResponse:
1156
891
  self.retrieve = async_to_raw_response_wrapper(
1157
892
  identities.retrieve,
1158
893
  )
894
+ self.update = async_to_raw_response_wrapper(
895
+ identities.update,
896
+ )
1159
897
  self.list = async_to_raw_response_wrapper(
1160
898
  identities.list,
1161
899
  )
@@ -1165,21 +903,21 @@ class AsyncIdentitiesResourceWithRawResponse:
1165
903
  self.count = async_to_raw_response_wrapper(
1166
904
  identities.count,
1167
905
  )
1168
- self.list_agents = async_to_raw_response_wrapper(
1169
- identities.list_agents,
1170
- )
1171
- self.list_blocks = async_to_raw_response_wrapper(
1172
- identities.list_blocks,
1173
- )
1174
- self.modify = async_to_raw_response_wrapper(
1175
- identities.modify,
1176
- )
1177
906
  self.upsert = async_to_raw_response_wrapper(
1178
907
  identities.upsert,
1179
908
  )
1180
- self.upsert_properties = async_to_raw_response_wrapper(
1181
- identities.upsert_properties,
1182
- )
909
+
910
+ @cached_property
911
+ def properties(self) -> AsyncPropertiesResourceWithRawResponse:
912
+ return AsyncPropertiesResourceWithRawResponse(self._identities.properties)
913
+
914
+ @cached_property
915
+ def agents(self) -> AsyncAgentsResourceWithRawResponse:
916
+ return AsyncAgentsResourceWithRawResponse(self._identities.agents)
917
+
918
+ @cached_property
919
+ def blocks(self) -> AsyncBlocksResourceWithRawResponse:
920
+ return AsyncBlocksResourceWithRawResponse(self._identities.blocks)
1183
921
 
1184
922
 
1185
923
  class IdentitiesResourceWithStreamingResponse:
@@ -1192,6 +930,9 @@ class IdentitiesResourceWithStreamingResponse:
1192
930
  self.retrieve = to_streamed_response_wrapper(
1193
931
  identities.retrieve,
1194
932
  )
933
+ self.update = to_streamed_response_wrapper(
934
+ identities.update,
935
+ )
1195
936
  self.list = to_streamed_response_wrapper(
1196
937
  identities.list,
1197
938
  )
@@ -1201,21 +942,21 @@ class IdentitiesResourceWithStreamingResponse:
1201
942
  self.count = to_streamed_response_wrapper(
1202
943
  identities.count,
1203
944
  )
1204
- self.list_agents = to_streamed_response_wrapper(
1205
- identities.list_agents,
1206
- )
1207
- self.list_blocks = to_streamed_response_wrapper(
1208
- identities.list_blocks,
1209
- )
1210
- self.modify = to_streamed_response_wrapper(
1211
- identities.modify,
1212
- )
1213
945
  self.upsert = to_streamed_response_wrapper(
1214
946
  identities.upsert,
1215
947
  )
1216
- self.upsert_properties = to_streamed_response_wrapper(
1217
- identities.upsert_properties,
1218
- )
948
+
949
+ @cached_property
950
+ def properties(self) -> PropertiesResourceWithStreamingResponse:
951
+ return PropertiesResourceWithStreamingResponse(self._identities.properties)
952
+
953
+ @cached_property
954
+ def agents(self) -> AgentsResourceWithStreamingResponse:
955
+ return AgentsResourceWithStreamingResponse(self._identities.agents)
956
+
957
+ @cached_property
958
+ def blocks(self) -> BlocksResourceWithStreamingResponse:
959
+ return BlocksResourceWithStreamingResponse(self._identities.blocks)
1219
960
 
1220
961
 
1221
962
  class AsyncIdentitiesResourceWithStreamingResponse:
@@ -1228,6 +969,9 @@ class AsyncIdentitiesResourceWithStreamingResponse:
1228
969
  self.retrieve = async_to_streamed_response_wrapper(
1229
970
  identities.retrieve,
1230
971
  )
972
+ self.update = async_to_streamed_response_wrapper(
973
+ identities.update,
974
+ )
1231
975
  self.list = async_to_streamed_response_wrapper(
1232
976
  identities.list,
1233
977
  )
@@ -1237,18 +981,18 @@ class AsyncIdentitiesResourceWithStreamingResponse:
1237
981
  self.count = async_to_streamed_response_wrapper(
1238
982
  identities.count,
1239
983
  )
1240
- self.list_agents = async_to_streamed_response_wrapper(
1241
- identities.list_agents,
1242
- )
1243
- self.list_blocks = async_to_streamed_response_wrapper(
1244
- identities.list_blocks,
1245
- )
1246
- self.modify = async_to_streamed_response_wrapper(
1247
- identities.modify,
1248
- )
1249
984
  self.upsert = async_to_streamed_response_wrapper(
1250
985
  identities.upsert,
1251
986
  )
1252
- self.upsert_properties = async_to_streamed_response_wrapper(
1253
- identities.upsert_properties,
1254
- )
987
+
988
+ @cached_property
989
+ def properties(self) -> AsyncPropertiesResourceWithStreamingResponse:
990
+ return AsyncPropertiesResourceWithStreamingResponse(self._identities.properties)
991
+
992
+ @cached_property
993
+ def agents(self) -> AsyncAgentsResourceWithStreamingResponse:
994
+ return AsyncAgentsResourceWithStreamingResponse(self._identities.agents)
995
+
996
+ @cached_property
997
+ def blocks(self) -> AsyncBlocksResourceWithStreamingResponse:
998
+ return AsyncBlocksResourceWithStreamingResponse(self._identities.blocks)