letta-client 0.1.233__py3-none-any.whl → 0.1.235__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 (438) hide show
  1. letta_client/__init__.py +2 -0
  2. letta_client/agents/__init__.py +2 -0
  3. letta_client/agents/blocks/__init__.py +2 -0
  4. letta_client/agents/blocks/client.py +72 -313
  5. letta_client/agents/blocks/raw_client.py +654 -0
  6. letta_client/agents/client.py +349 -869
  7. letta_client/agents/context/__init__.py +2 -0
  8. letta_client/agents/context/client.py +31 -66
  9. letta_client/agents/context/raw_client.py +122 -0
  10. letta_client/agents/core_memory/__init__.py +2 -0
  11. letta_client/agents/core_memory/client.py +31 -66
  12. letta_client/agents/core_memory/raw_client.py +124 -0
  13. letta_client/agents/files/__init__.py +2 -0
  14. letta_client/agents/files/client.py +39 -178
  15. letta_client/agents/files/raw_client.py +349 -0
  16. letta_client/agents/folders/__init__.py +2 -0
  17. letta_client/agents/folders/client.py +39 -178
  18. letta_client/agents/folders/raw_client.py +327 -0
  19. letta_client/agents/groups/__init__.py +2 -0
  20. letta_client/agents/groups/client.py +31 -72
  21. letta_client/agents/groups/raw_client.py +142 -0
  22. letta_client/agents/memory_variables/__init__.py +2 -0
  23. letta_client/agents/memory_variables/client.py +31 -65
  24. letta_client/agents/memory_variables/raw_client.py +125 -0
  25. letta_client/agents/memory_variables/types/__init__.py +2 -0
  26. letta_client/agents/memory_variables/types/memory_variables_list_response.py +3 -2
  27. letta_client/agents/messages/__init__.py +2 -0
  28. letta_client/agents/messages/client.py +150 -589
  29. letta_client/agents/messages/raw_client.py +1384 -0
  30. letta_client/agents/messages/types/__init__.py +2 -0
  31. letta_client/agents/messages/types/letta_streaming_response.py +6 -5
  32. letta_client/agents/messages/types/messages_modify_request.py +3 -2
  33. letta_client/agents/messages/types/messages_modify_response.py +5 -4
  34. letta_client/agents/messages/types/messages_preview_raw_payload_request.py +1 -0
  35. letta_client/agents/passages/__init__.py +2 -0
  36. letta_client/agents/passages/client.py +89 -301
  37. letta_client/agents/passages/raw_client.py +678 -0
  38. letta_client/agents/raw_client.py +2088 -0
  39. letta_client/agents/sources/__init__.py +2 -0
  40. letta_client/agents/sources/client.py +39 -178
  41. letta_client/agents/sources/raw_client.py +327 -0
  42. letta_client/agents/templates/__init__.py +2 -0
  43. letta_client/agents/templates/client.py +57 -276
  44. letta_client/agents/templates/raw_client.py +505 -0
  45. letta_client/agents/templates/types/__init__.py +2 -0
  46. letta_client/agents/templates/types/templates_create_response.py +5 -4
  47. letta_client/agents/templates/types/templates_migrate_response.py +3 -2
  48. letta_client/agents/tools/__init__.py +2 -0
  49. letta_client/agents/tools/client.py +40 -179
  50. letta_client/agents/tools/raw_client.py +327 -0
  51. letta_client/agents/types/__init__.py +2 -0
  52. letta_client/agents/types/agents_search_request_search_item.py +4 -3
  53. letta_client/agents/types/agents_search_request_search_item_field.py +4 -3
  54. letta_client/agents/types/agents_search_request_search_item_one.py +4 -3
  55. letta_client/agents/types/agents_search_request_search_item_three.py +3 -2
  56. letta_client/agents/types/agents_search_request_search_item_two.py +3 -2
  57. letta_client/agents/types/agents_search_request_search_item_zero.py +3 -2
  58. letta_client/agents/types/agents_search_response.py +5 -4
  59. letta_client/agents/types/create_agent_request_response_format.py +1 -0
  60. letta_client/agents/types/create_agent_request_tool_rules_item.py +4 -3
  61. letta_client/agents/types/update_agent_response_format.py +1 -0
  62. letta_client/agents/types/update_agent_tool_rules_item.py +4 -3
  63. letta_client/base_client.py +41 -49
  64. letta_client/batches/__init__.py +2 -0
  65. letta_client/batches/client.py +45 -253
  66. letta_client/batches/raw_client.py +457 -0
  67. letta_client/blocks/__init__.py +2 -0
  68. letta_client/blocks/agents/__init__.py +2 -0
  69. letta_client/blocks/agents/client.py +33 -70
  70. letta_client/blocks/agents/raw_client.py +144 -0
  71. letta_client/blocks/client.py +126 -424
  72. letta_client/blocks/raw_client.py +973 -0
  73. letta_client/client_side_access_tokens/__init__.py +2 -0
  74. letta_client/client_side_access_tokens/client.py +45 -216
  75. letta_client/client_side_access_tokens/raw_client.py +435 -0
  76. letta_client/client_side_access_tokens/types/__init__.py +2 -0
  77. letta_client/client_side_access_tokens/types/client_side_access_tokens_create_request_policy_item.py +4 -3
  78. letta_client/client_side_access_tokens/types/client_side_access_tokens_create_response.py +6 -5
  79. letta_client/client_side_access_tokens/types/client_side_access_tokens_create_response_policy.py +4 -3
  80. letta_client/client_side_access_tokens/types/client_side_access_tokens_create_response_policy_data_item.py +4 -3
  81. letta_client/client_side_access_tokens/types/client_side_access_tokens_list_client_side_access_tokens_response.py +6 -5
  82. letta_client/client_side_access_tokens/types/client_side_access_tokens_list_client_side_access_tokens_response_tokens_item.py +6 -5
  83. letta_client/client_side_access_tokens/types/client_side_access_tokens_list_client_side_access_tokens_response_tokens_item_policy.py +4 -3
  84. letta_client/client_side_access_tokens/types/client_side_access_tokens_list_client_side_access_tokens_response_tokens_item_policy_data_item.py +4 -3
  85. letta_client/core/__init__.py +5 -0
  86. letta_client/core/api_error.py +13 -5
  87. letta_client/core/client_wrapper.py +14 -5
  88. letta_client/core/force_multipart.py +16 -0
  89. letta_client/core/http_client.py +70 -26
  90. letta_client/core/http_response.py +55 -0
  91. letta_client/core/jsonable_encoder.py +0 -1
  92. letta_client/core/pydantic_utilities.py +70 -111
  93. letta_client/core/serialization.py +7 -3
  94. letta_client/core/unchecked_base_model.py +40 -4
  95. letta_client/embedding_models/__init__.py +2 -0
  96. letta_client/embedding_models/client.py +31 -65
  97. letta_client/embedding_models/raw_client.py +117 -0
  98. letta_client/errors/__init__.py +2 -0
  99. letta_client/errors/bad_request_error.py +4 -3
  100. letta_client/errors/conflict_error.py +4 -2
  101. letta_client/errors/internal_server_error.py +4 -3
  102. letta_client/errors/not_found_error.py +4 -3
  103. letta_client/errors/payment_required_error.py +4 -2
  104. letta_client/errors/unprocessable_entity_error.py +4 -2
  105. letta_client/folders/__init__.py +2 -0
  106. letta_client/folders/client.py +100 -564
  107. letta_client/folders/files/__init__.py +2 -0
  108. letta_client/folders/files/client.py +44 -189
  109. letta_client/folders/files/raw_client.py +391 -0
  110. letta_client/folders/passages/__init__.py +2 -0
  111. letta_client/folders/passages/client.py +33 -74
  112. letta_client/folders/passages/raw_client.py +162 -0
  113. letta_client/folders/raw_client.py +1084 -0
  114. letta_client/groups/__init__.py +2 -0
  115. letta_client/groups/client.py +87 -406
  116. letta_client/groups/messages/__init__.py +2 -0
  117. letta_client/groups/messages/client.py +110 -371
  118. letta_client/groups/messages/raw_client.py +881 -0
  119. letta_client/groups/messages/types/__init__.py +2 -0
  120. letta_client/groups/messages/types/letta_streaming_response.py +5 -4
  121. letta_client/groups/messages/types/messages_modify_request.py +3 -2
  122. letta_client/groups/messages/types/messages_modify_response.py +5 -4
  123. letta_client/groups/raw_client.py +807 -0
  124. letta_client/groups/types/__init__.py +2 -0
  125. letta_client/groups/types/group_create_manager_config.py +1 -0
  126. letta_client/groups/types/group_update_manager_config.py +1 -0
  127. letta_client/health/__init__.py +2 -0
  128. letta_client/health/client.py +31 -43
  129. letta_client/health/raw_client.py +85 -0
  130. letta_client/identities/__init__.py +2 -0
  131. letta_client/identities/client.py +115 -498
  132. letta_client/identities/properties/__init__.py +2 -0
  133. letta_client/identities/properties/client.py +32 -76
  134. letta_client/identities/properties/raw_client.py +152 -0
  135. letta_client/identities/raw_client.py +1010 -0
  136. letta_client/jobs/__init__.py +2 -0
  137. letta_client/jobs/client.py +67 -310
  138. letta_client/jobs/raw_client.py +624 -0
  139. letta_client/messages/__init__.py +2 -0
  140. letta_client/messages/client.py +41 -74
  141. letta_client/messages/raw_client.py +186 -0
  142. letta_client/models/__init__.py +2 -0
  143. letta_client/models/client.py +39 -73
  144. letta_client/models/raw_client.py +151 -0
  145. letta_client/projects/__init__.py +2 -0
  146. letta_client/projects/client.py +31 -53
  147. letta_client/projects/raw_client.py +125 -0
  148. letta_client/projects/types/__init__.py +2 -0
  149. letta_client/projects/types/projects_list_response.py +5 -4
  150. letta_client/projects/types/projects_list_response_projects_item.py +3 -2
  151. letta_client/providers/__init__.py +2 -0
  152. letta_client/providers/client.py +62 -335
  153. letta_client/providers/raw_client.py +664 -0
  154. letta_client/runs/__init__.py +2 -0
  155. letta_client/runs/client.py +56 -258
  156. letta_client/runs/messages/__init__.py +2 -0
  157. letta_client/runs/messages/client.py +34 -79
  158. letta_client/runs/messages/raw_client.py +209 -0
  159. letta_client/runs/raw_client.py +440 -0
  160. letta_client/runs/steps/__init__.py +2 -0
  161. letta_client/runs/steps/client.py +33 -76
  162. letta_client/runs/steps/raw_client.py +192 -0
  163. letta_client/runs/usage/__init__.py +2 -0
  164. letta_client/runs/usage/client.py +31 -66
  165. letta_client/runs/usage/raw_client.py +122 -0
  166. letta_client/sources/__init__.py +2 -0
  167. letta_client/sources/client.py +107 -625
  168. letta_client/sources/files/__init__.py +2 -0
  169. letta_client/sources/files/client.py +44 -189
  170. letta_client/sources/files/raw_client.py +391 -0
  171. letta_client/sources/passages/__init__.py +2 -0
  172. letta_client/sources/passages/client.py +33 -74
  173. letta_client/sources/passages/raw_client.py +162 -0
  174. letta_client/sources/raw_client.py +1209 -0
  175. letta_client/steps/__init__.py +2 -0
  176. letta_client/steps/client.py +65 -153
  177. letta_client/steps/feedback/__init__.py +2 -0
  178. letta_client/steps/feedback/client.py +32 -73
  179. letta_client/steps/feedback/raw_client.py +141 -0
  180. letta_client/steps/raw_client.py +355 -0
  181. letta_client/steps/types/__init__.py +2 -0
  182. letta_client/tags/__init__.py +2 -0
  183. letta_client/tags/client.py +33 -73
  184. letta_client/tags/raw_client.py +148 -0
  185. letta_client/telemetry/__init__.py +2 -0
  186. letta_client/telemetry/client.py +31 -66
  187. letta_client/telemetry/raw_client.py +118 -0
  188. letta_client/templates/__init__.py +2 -0
  189. letta_client/templates/agents/__init__.py +2 -0
  190. letta_client/templates/agents/client.py +48 -96
  191. letta_client/templates/agents/raw_client.py +227 -0
  192. letta_client/templates/agents/types/__init__.py +2 -0
  193. letta_client/templates/agents/types/agents_create_request_initial_message_sequence_item.py +4 -3
  194. letta_client/templates/agents/types/agents_create_response.py +4 -3
  195. letta_client/templates/client.py +36 -57
  196. letta_client/templates/raw_client.py +133 -0
  197. letta_client/templates/types/__init__.py +2 -0
  198. letta_client/templates/types/templates_list_response.py +5 -4
  199. letta_client/templates/types/templates_list_response_templates_item.py +3 -2
  200. letta_client/tools/__init__.py +2 -0
  201. letta_client/tools/client.py +195 -1322
  202. letta_client/tools/raw_client.py +2565 -0
  203. letta_client/tools/types/__init__.py +2 -0
  204. letta_client/tools/types/add_mcp_server_request.py +2 -1
  205. letta_client/tools/types/add_mcp_server_response_item.py +2 -1
  206. letta_client/tools/types/connect_mcp_server_request.py +2 -1
  207. letta_client/tools/types/delete_mcp_server_response_item.py +2 -1
  208. letta_client/tools/types/list_mcp_servers_response_value.py +1 -0
  209. letta_client/tools/types/streaming_response.py +5 -4
  210. letta_client/tools/types/test_mcp_server_request.py +2 -1
  211. letta_client/tools/types/update_mcp_server_request.py +2 -1
  212. letta_client/tools/types/update_mcp_server_response.py +2 -1
  213. letta_client/types/__init__.py +2 -0
  214. letta_client/types/action_model.py +6 -5
  215. letta_client/types/action_parameters_model.py +3 -2
  216. letta_client/types/action_response_model.py +3 -2
  217. letta_client/types/agent_environment_variable.py +3 -2
  218. letta_client/types/agent_schema.py +7 -6
  219. letta_client/types/agent_schema_tool_rules_item.py +2 -1
  220. letta_client/types/agent_state.py +14 -8
  221. letta_client/types/agent_state_response_format.py +1 -0
  222. letta_client/types/agent_state_tool_rules_item.py +4 -3
  223. letta_client/types/app_auth_scheme.py +4 -3
  224. letta_client/types/app_model.py +5 -4
  225. letta_client/types/assistant_message.py +3 -2
  226. letta_client/types/assistant_message_content.py +1 -0
  227. letta_client/types/audio.py +3 -2
  228. letta_client/types/auth_request.py +2 -1
  229. letta_client/types/auth_response.py +5 -4
  230. letta_client/types/auth_scheme_field.py +3 -2
  231. letta_client/types/bad_request_error_body.py +3 -2
  232. letta_client/types/base_64_image.py +2 -1
  233. letta_client/types/base_tool_rule_schema.py +3 -2
  234. letta_client/types/batch_job.py +4 -3
  235. letta_client/types/block.py +3 -2
  236. letta_client/types/block_update.py +2 -1
  237. letta_client/types/chat_completion_assistant_message_param.py +5 -4
  238. letta_client/types/chat_completion_assistant_message_param_content.py +1 -0
  239. letta_client/types/chat_completion_assistant_message_param_content_item.py +2 -1
  240. letta_client/types/chat_completion_audio_param.py +4 -3
  241. letta_client/types/chat_completion_content_part_image_param.py +4 -3
  242. letta_client/types/chat_completion_content_part_input_audio_param.py +4 -3
  243. letta_client/types/chat_completion_content_part_refusal_param.py +3 -2
  244. letta_client/types/chat_completion_content_part_text_param.py +3 -2
  245. letta_client/types/chat_completion_developer_message_param.py +4 -3
  246. letta_client/types/chat_completion_developer_message_param_content.py +1 -0
  247. letta_client/types/chat_completion_function_call_option_param.py +3 -2
  248. letta_client/types/chat_completion_function_message_param.py +3 -2
  249. letta_client/types/chat_completion_message_tool_call.py +4 -3
  250. letta_client/types/chat_completion_message_tool_call_param.py +4 -3
  251. letta_client/types/chat_completion_named_tool_choice_param.py +4 -3
  252. letta_client/types/chat_completion_prediction_content_param.py +4 -3
  253. letta_client/types/chat_completion_prediction_content_param_content.py +1 -0
  254. letta_client/types/chat_completion_stream_options_param.py +3 -2
  255. letta_client/types/chat_completion_system_message_param.py +4 -3
  256. letta_client/types/chat_completion_system_message_param_content.py +1 -0
  257. letta_client/types/chat_completion_tool_message_param.py +4 -3
  258. letta_client/types/chat_completion_tool_message_param_content.py +1 -0
  259. letta_client/types/chat_completion_tool_param.py +4 -3
  260. letta_client/types/chat_completion_user_message_param.py +4 -3
  261. letta_client/types/chat_completion_user_message_param_content.py +1 -0
  262. letta_client/types/chat_completion_user_message_param_content_item.py +2 -1
  263. letta_client/types/child_tool_rule.py +3 -2
  264. letta_client/types/child_tool_rule_schema.py +3 -2
  265. letta_client/types/code_input.py +3 -2
  266. letta_client/types/completion_create_params_non_streaming.py +10 -9
  267. letta_client/types/completion_create_params_non_streaming_function_call.py +1 -0
  268. letta_client/types/completion_create_params_non_streaming_messages_item.py +4 -3
  269. letta_client/types/completion_create_params_non_streaming_response_format.py +3 -2
  270. letta_client/types/completion_create_params_non_streaming_tool_choice.py +1 -0
  271. letta_client/types/completion_create_params_streaming.py +10 -9
  272. letta_client/types/completion_create_params_streaming_function_call.py +1 -0
  273. letta_client/types/completion_create_params_streaming_messages_item.py +4 -3
  274. letta_client/types/completion_create_params_streaming_response_format.py +3 -2
  275. letta_client/types/completion_create_params_streaming_tool_choice.py +1 -0
  276. letta_client/types/conditional_tool_rule.py +3 -2
  277. letta_client/types/conditional_tool_rule_schema.py +3 -2
  278. letta_client/types/conflict_error_body.py +3 -2
  279. letta_client/types/context_window_overview.py +4 -3
  280. letta_client/types/continue_tool_rule.py +3 -2
  281. letta_client/types/core_memory_block_schema.py +4 -3
  282. letta_client/types/create_block.py +3 -2
  283. letta_client/types/dynamic_manager.py +2 -1
  284. letta_client/types/dynamic_manager_update.py +2 -1
  285. letta_client/types/e_2_b_sandbox_config.py +2 -1
  286. letta_client/types/embedding_config.py +4 -3
  287. letta_client/types/file.py +4 -3
  288. letta_client/types/file_block.py +4 -3
  289. letta_client/types/file_file.py +3 -2
  290. letta_client/types/file_metadata.py +5 -4
  291. letta_client/types/file_stats.py +3 -2
  292. letta_client/types/folder.py +5 -4
  293. letta_client/types/function_call.py +3 -2
  294. letta_client/types/function_definition_input.py +3 -2
  295. letta_client/types/function_definition_output.py +3 -2
  296. letta_client/types/function_output.py +3 -2
  297. letta_client/types/function_tool.py +4 -3
  298. letta_client/types/generate_tool_input.py +3 -2
  299. letta_client/types/generate_tool_output.py +4 -3
  300. letta_client/types/group.py +4 -3
  301. letta_client/types/health.py +3 -2
  302. letta_client/types/hidden_reasoning_message.py +4 -3
  303. letta_client/types/http_validation_error.py +4 -3
  304. letta_client/types/identity.py +4 -3
  305. letta_client/types/identity_property.py +5 -4
  306. letta_client/types/image_content.py +3 -2
  307. letta_client/types/image_content_source.py +1 -0
  308. letta_client/types/image_url.py +4 -3
  309. letta_client/types/init_tool_rule.py +3 -2
  310. letta_client/types/input_audio.py +4 -3
  311. letta_client/types/internal_server_error_body.py +3 -2
  312. letta_client/types/job.py +4 -3
  313. letta_client/types/json_object_response_format.py +3 -2
  314. letta_client/types/json_schema.py +4 -3
  315. letta_client/types/json_schema_response_format.py +2 -1
  316. letta_client/types/letta_batch_messages.py +4 -3
  317. letta_client/types/letta_batch_request.py +4 -3
  318. letta_client/types/letta_image.py +2 -1
  319. letta_client/types/letta_message_content_union.py +4 -3
  320. letta_client/types/letta_message_union.py +5 -4
  321. letta_client/types/letta_ping.py +2 -1
  322. letta_client/types/letta_request.py +4 -3
  323. letta_client/types/letta_request_config.py +3 -2
  324. letta_client/types/letta_response.py +4 -3
  325. letta_client/types/letta_stop_reason.py +3 -2
  326. letta_client/types/letta_streaming_request.py +9 -3
  327. letta_client/types/letta_usage_statistics.py +3 -2
  328. letta_client/types/letta_user_message_content_union.py +2 -1
  329. letta_client/types/llm_config.py +6 -5
  330. letta_client/types/local_sandbox_config.py +3 -2
  331. letta_client/types/max_count_per_step_tool_rule.py +3 -2
  332. letta_client/types/max_count_per_step_tool_rule_schema.py +3 -2
  333. letta_client/types/mcp_tool.py +4 -3
  334. letta_client/types/memory.py +4 -3
  335. letta_client/types/message.py +6 -5
  336. letta_client/types/message_content_item.py +1 -0
  337. letta_client/types/message_create.py +5 -4
  338. letta_client/types/message_create_content.py +1 -0
  339. letta_client/types/message_schema.py +4 -3
  340. letta_client/types/modal_sandbox_config.py +2 -1
  341. letta_client/types/not_found_error_body.py +3 -2
  342. letta_client/types/omitted_reasoning_content.py +3 -2
  343. letta_client/types/openai_types_chat_chat_completion_message_tool_call_param_function.py +3 -2
  344. letta_client/types/openai_types_chat_chat_completion_named_tool_choice_param_function.py +3 -2
  345. letta_client/types/openai_types_chat_completion_create_params_function.py +3 -2
  346. letta_client/types/organization.py +3 -2
  347. letta_client/types/organization_create.py +2 -1
  348. letta_client/types/organization_sources_stats.py +3 -2
  349. letta_client/types/organization_update.py +2 -1
  350. letta_client/types/parameter_properties.py +3 -2
  351. letta_client/types/parameters_schema.py +4 -3
  352. letta_client/types/parent_tool_rule.py +3 -2
  353. letta_client/types/passage.py +4 -3
  354. letta_client/types/payment_required_error_body.py +3 -2
  355. letta_client/types/pip_requirement.py +3 -2
  356. letta_client/types/provider.py +5 -4
  357. letta_client/types/provider_check.py +4 -3
  358. letta_client/types/provider_trace.py +3 -2
  359. letta_client/types/reasoning_content.py +2 -1
  360. letta_client/types/reasoning_message.py +4 -3
  361. letta_client/types/redacted_reasoning_content.py +2 -1
  362. letta_client/types/required_before_exit_tool_rule.py +3 -2
  363. letta_client/types/response_format_json_object.py +3 -2
  364. letta_client/types/response_format_json_schema.py +4 -3
  365. letta_client/types/response_format_text.py +3 -2
  366. letta_client/types/round_robin_manager.py +2 -1
  367. letta_client/types/round_robin_manager_update.py +2 -1
  368. letta_client/types/run.py +4 -3
  369. letta_client/types/sandbox_config.py +4 -3
  370. letta_client/types/sandbox_config_create.py +4 -3
  371. letta_client/types/sandbox_config_create_config.py +2 -1
  372. letta_client/types/sandbox_config_update.py +3 -2
  373. letta_client/types/sandbox_config_update_config.py +2 -1
  374. letta_client/types/sandbox_environment_variable.py +3 -2
  375. letta_client/types/sandbox_environment_variable_create.py +3 -2
  376. letta_client/types/sandbox_environment_variable_update.py +2 -1
  377. letta_client/types/sleeptime_manager.py +2 -1
  378. letta_client/types/sleeptime_manager_update.py +2 -1
  379. letta_client/types/source.py +5 -4
  380. letta_client/types/source_create.py +4 -3
  381. letta_client/types/source_stats.py +4 -3
  382. letta_client/types/source_update.py +3 -2
  383. letta_client/types/sse_server_config.py +4 -3
  384. letta_client/types/stdio_server_config.py +4 -3
  385. letta_client/types/step.py +5 -4
  386. letta_client/types/streamable_http_server_config.py +4 -3
  387. letta_client/types/supervisor_manager.py +2 -1
  388. letta_client/types/supervisor_manager_update.py +2 -1
  389. letta_client/types/system_message.py +2 -1
  390. letta_client/types/tag_schema.py +3 -2
  391. letta_client/types/terminal_tool_rule.py +3 -2
  392. letta_client/types/text_content.py +2 -1
  393. letta_client/types/text_response_format.py +3 -2
  394. letta_client/types/tool.py +5 -4
  395. letta_client/types/tool_annotations.py +4 -3
  396. letta_client/types/tool_call.py +3 -2
  397. letta_client/types/tool_call_content.py +2 -1
  398. letta_client/types/tool_call_delta.py +3 -2
  399. letta_client/types/tool_call_message.py +4 -3
  400. letta_client/types/tool_call_message_tool_call.py +1 -0
  401. letta_client/types/tool_create.py +3 -2
  402. letta_client/types/tool_env_var_schema.py +3 -2
  403. letta_client/types/tool_json_schema.py +4 -3
  404. letta_client/types/tool_return.py +4 -3
  405. letta_client/types/tool_return_content.py +2 -1
  406. letta_client/types/tool_return_message.py +4 -3
  407. letta_client/types/tool_schema.py +5 -4
  408. letta_client/types/update_assistant_message.py +3 -2
  409. letta_client/types/update_assistant_message_content.py +1 -0
  410. letta_client/types/update_reasoning_message.py +3 -2
  411. letta_client/types/update_ssemcp_server.py +2 -1
  412. letta_client/types/update_stdio_mcp_server.py +3 -2
  413. letta_client/types/update_streamable_httpmcp_server.py +2 -1
  414. letta_client/types/update_system_message.py +2 -1
  415. letta_client/types/update_user_message.py +3 -2
  416. letta_client/types/update_user_message_content.py +1 -0
  417. letta_client/types/url_image.py +2 -1
  418. letta_client/types/usage_statistics.py +5 -4
  419. letta_client/types/usage_statistics_completion_token_details.py +3 -2
  420. letta_client/types/usage_statistics_prompt_token_details.py +3 -2
  421. letta_client/types/user.py +3 -2
  422. letta_client/types/user_create.py +3 -2
  423. letta_client/types/user_message.py +3 -2
  424. letta_client/types/user_message_content.py +1 -0
  425. letta_client/types/user_update.py +3 -2
  426. letta_client/types/validation_error.py +4 -3
  427. letta_client/types/voice_sleeptime_manager.py +2 -1
  428. letta_client/types/voice_sleeptime_manager_update.py +2 -1
  429. letta_client/types/web_search_options.py +4 -3
  430. letta_client/types/web_search_options_user_location.py +4 -3
  431. letta_client/types/web_search_options_user_location_approximate.py +3 -2
  432. letta_client/voice/__init__.py +2 -0
  433. letta_client/voice/client.py +33 -74
  434. letta_client/voice/raw_client.py +154 -0
  435. {letta_client-0.1.233.dist-info → letta_client-0.1.235.dist-info}/METADATA +24 -3
  436. letta_client-0.1.235.dist-info/RECORD +503 -0
  437. letta_client-0.1.233.dist-info/RECORD +0 -455
  438. {letta_client-0.1.233.dist-info → letta_client-0.1.235.dist-info}/WHEEL +0 -0
@@ -1,21 +1,27 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
- from ..core.client_wrapper import SyncClientWrapper
4
3
  import typing
4
+
5
+ from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
5
6
  from ..core.request_options import RequestOptions
6
7
  from ..types.provider_trace import ProviderTrace
7
- from ..core.jsonable_encoder import jsonable_encoder
8
- from ..core.unchecked_base_model import construct_type
9
- from ..errors.unprocessable_entity_error import UnprocessableEntityError
10
- from ..types.http_validation_error import HttpValidationError
11
- from json.decoder import JSONDecodeError
12
- from ..core.api_error import ApiError
13
- from ..core.client_wrapper import AsyncClientWrapper
8
+ from .raw_client import AsyncRawTelemetryClient, RawTelemetryClient
14
9
 
15
10
 
16
11
  class TelemetryClient:
17
12
  def __init__(self, *, client_wrapper: SyncClientWrapper):
18
- self._client_wrapper = client_wrapper
13
+ self._raw_client = RawTelemetryClient(client_wrapper=client_wrapper)
14
+
15
+ @property
16
+ def with_raw_response(self) -> RawTelemetryClient:
17
+ """
18
+ Retrieves a raw implementation of this client that returns raw responses.
19
+
20
+ Returns
21
+ -------
22
+ RawTelemetryClient
23
+ """
24
+ return self._raw_client
19
25
 
20
26
  def retrieve_provider_trace(
21
27
  self, step_id: str, *, request_options: typing.Optional[RequestOptions] = None
@@ -45,39 +51,24 @@ class TelemetryClient:
45
51
  step_id="step_id",
46
52
  )
47
53
  """
48
- _response = self._client_wrapper.httpx_client.request(
49
- f"v1/telemetry/{jsonable_encoder(step_id)}",
50
- method="GET",
51
- request_options=request_options,
52
- )
53
- try:
54
- if 200 <= _response.status_code < 300:
55
- return typing.cast(
56
- ProviderTrace,
57
- construct_type(
58
- type_=ProviderTrace, # type: ignore
59
- object_=_response.json(),
60
- ),
61
- )
62
- if _response.status_code == 422:
63
- raise UnprocessableEntityError(
64
- typing.cast(
65
- HttpValidationError,
66
- construct_type(
67
- type_=HttpValidationError, # type: ignore
68
- object_=_response.json(),
69
- ),
70
- )
71
- )
72
- _response_json = _response.json()
73
- except JSONDecodeError:
74
- raise ApiError(status_code=_response.status_code, body=_response.text)
75
- raise ApiError(status_code=_response.status_code, body=_response_json)
54
+ _response = self._raw_client.retrieve_provider_trace(step_id, request_options=request_options)
55
+ return _response.data
76
56
 
77
57
 
78
58
  class AsyncTelemetryClient:
79
59
  def __init__(self, *, client_wrapper: AsyncClientWrapper):
80
- self._client_wrapper = client_wrapper
60
+ self._raw_client = AsyncRawTelemetryClient(client_wrapper=client_wrapper)
61
+
62
+ @property
63
+ def with_raw_response(self) -> AsyncRawTelemetryClient:
64
+ """
65
+ Retrieves a raw implementation of this client that returns raw responses.
66
+
67
+ Returns
68
+ -------
69
+ AsyncRawTelemetryClient
70
+ """
71
+ return self._raw_client
81
72
 
82
73
  async def retrieve_provider_trace(
83
74
  self, step_id: str, *, request_options: typing.Optional[RequestOptions] = None
@@ -115,31 +106,5 @@ class AsyncTelemetryClient:
115
106
 
116
107
  asyncio.run(main())
117
108
  """
118
- _response = await self._client_wrapper.httpx_client.request(
119
- f"v1/telemetry/{jsonable_encoder(step_id)}",
120
- method="GET",
121
- request_options=request_options,
122
- )
123
- try:
124
- if 200 <= _response.status_code < 300:
125
- return typing.cast(
126
- ProviderTrace,
127
- construct_type(
128
- type_=ProviderTrace, # type: ignore
129
- object_=_response.json(),
130
- ),
131
- )
132
- if _response.status_code == 422:
133
- raise UnprocessableEntityError(
134
- typing.cast(
135
- HttpValidationError,
136
- construct_type(
137
- type_=HttpValidationError, # type: ignore
138
- object_=_response.json(),
139
- ),
140
- )
141
- )
142
- _response_json = _response.json()
143
- except JSONDecodeError:
144
- raise ApiError(status_code=_response.status_code, body=_response.text)
145
- raise ApiError(status_code=_response.status_code, body=_response_json)
109
+ _response = await self._raw_client.retrieve_provider_trace(step_id, request_options=request_options)
110
+ return _response.data
@@ -0,0 +1,118 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+ from json.decoder import JSONDecodeError
5
+
6
+ from ..core.api_error import ApiError
7
+ from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
8
+ from ..core.http_response import AsyncHttpResponse, HttpResponse
9
+ from ..core.jsonable_encoder import jsonable_encoder
10
+ from ..core.request_options import RequestOptions
11
+ from ..core.unchecked_base_model import construct_type
12
+ from ..errors.unprocessable_entity_error import UnprocessableEntityError
13
+ from ..types.http_validation_error import HttpValidationError
14
+ from ..types.provider_trace import ProviderTrace
15
+
16
+
17
+ class RawTelemetryClient:
18
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
19
+ self._client_wrapper = client_wrapper
20
+
21
+ def retrieve_provider_trace(
22
+ self, step_id: str, *, request_options: typing.Optional[RequestOptions] = None
23
+ ) -> HttpResponse[ProviderTrace]:
24
+ """
25
+ Parameters
26
+ ----------
27
+ step_id : str
28
+
29
+ request_options : typing.Optional[RequestOptions]
30
+ Request-specific configuration.
31
+
32
+ Returns
33
+ -------
34
+ HttpResponse[ProviderTrace]
35
+ Successful Response
36
+ """
37
+ _response = self._client_wrapper.httpx_client.request(
38
+ f"v1/telemetry/{jsonable_encoder(step_id)}",
39
+ method="GET",
40
+ request_options=request_options,
41
+ )
42
+ try:
43
+ if 200 <= _response.status_code < 300:
44
+ _data = typing.cast(
45
+ ProviderTrace,
46
+ construct_type(
47
+ type_=ProviderTrace, # type: ignore
48
+ object_=_response.json(),
49
+ ),
50
+ )
51
+ return HttpResponse(response=_response, data=_data)
52
+ if _response.status_code == 422:
53
+ raise UnprocessableEntityError(
54
+ headers=dict(_response.headers),
55
+ body=typing.cast(
56
+ HttpValidationError,
57
+ construct_type(
58
+ type_=HttpValidationError, # type: ignore
59
+ object_=_response.json(),
60
+ ),
61
+ ),
62
+ )
63
+ _response_json = _response.json()
64
+ except JSONDecodeError:
65
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
66
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
67
+
68
+
69
+ class AsyncRawTelemetryClient:
70
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
71
+ self._client_wrapper = client_wrapper
72
+
73
+ async def retrieve_provider_trace(
74
+ self, step_id: str, *, request_options: typing.Optional[RequestOptions] = None
75
+ ) -> AsyncHttpResponse[ProviderTrace]:
76
+ """
77
+ Parameters
78
+ ----------
79
+ step_id : str
80
+
81
+ request_options : typing.Optional[RequestOptions]
82
+ Request-specific configuration.
83
+
84
+ Returns
85
+ -------
86
+ AsyncHttpResponse[ProviderTrace]
87
+ Successful Response
88
+ """
89
+ _response = await self._client_wrapper.httpx_client.request(
90
+ f"v1/telemetry/{jsonable_encoder(step_id)}",
91
+ method="GET",
92
+ request_options=request_options,
93
+ )
94
+ try:
95
+ if 200 <= _response.status_code < 300:
96
+ _data = typing.cast(
97
+ ProviderTrace,
98
+ construct_type(
99
+ type_=ProviderTrace, # type: ignore
100
+ object_=_response.json(),
101
+ ),
102
+ )
103
+ return AsyncHttpResponse(response=_response, data=_data)
104
+ if _response.status_code == 422:
105
+ raise UnprocessableEntityError(
106
+ headers=dict(_response.headers),
107
+ body=typing.cast(
108
+ HttpValidationError,
109
+ construct_type(
110
+ type_=HttpValidationError, # type: ignore
111
+ object_=_response.json(),
112
+ ),
113
+ ),
114
+ )
115
+ _response_json = _response.json()
116
+ except JSONDecodeError:
117
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
118
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
@@ -1,5 +1,7 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
+ # isort: skip_file
4
+
3
5
  from .types import TemplatesListResponse, TemplatesListResponseTemplatesItem
4
6
  from . import agents
5
7
  from .agents import (
@@ -1,5 +1,7 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
+ # isort: skip_file
4
+
3
5
  from .types import (
4
6
  AgentsCreateRequestInitialMessageSequenceItem,
5
7
  AgentsCreateRequestInitialMessageSequenceItemRole,
@@ -1,18 +1,12 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
3
  import typing
4
- from ...core.client_wrapper import SyncClientWrapper
5
- from .types.agents_create_request_initial_message_sequence_item import AgentsCreateRequestInitialMessageSequenceItem
4
+
5
+ from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
6
6
  from ...core.request_options import RequestOptions
7
+ from .raw_client import AsyncRawAgentsClient, RawAgentsClient
8
+ from .types.agents_create_request_initial_message_sequence_item import AgentsCreateRequestInitialMessageSequenceItem
7
9
  from .types.agents_create_response import AgentsCreateResponse
8
- from ...core.jsonable_encoder import jsonable_encoder
9
- from ...core.serialization import convert_and_respect_annotation_metadata
10
- from ...core.unchecked_base_model import construct_type
11
- from ...errors.payment_required_error import PaymentRequiredError
12
- from ...types.payment_required_error_body import PaymentRequiredErrorBody
13
- from json.decoder import JSONDecodeError
14
- from ...core.api_error import ApiError
15
- from ...core.client_wrapper import AsyncClientWrapper
16
10
 
17
11
  # this is used as the default value for optional parameters
18
12
  OMIT = typing.cast(typing.Any, ...)
@@ -20,7 +14,18 @@ OMIT = typing.cast(typing.Any, ...)
20
14
 
21
15
  class AgentsClient:
22
16
  def __init__(self, *, client_wrapper: SyncClientWrapper):
23
- self._client_wrapper = client_wrapper
17
+ self._raw_client = RawAgentsClient(client_wrapper=client_wrapper)
18
+
19
+ @property
20
+ def with_raw_response(self) -> RawAgentsClient:
21
+ """
22
+ Retrieves a raw implementation of this client that returns raw responses.
23
+
24
+ Returns
25
+ -------
26
+ RawAgentsClient
27
+ """
28
+ return self._raw_client
24
29
 
25
30
  def create(
26
31
  self,
@@ -87,55 +92,34 @@ class AgentsClient:
87
92
  template_version="template_version",
88
93
  )
89
94
  """
90
- _response = self._client_wrapper.httpx_client.request(
91
- f"v1/templates/{jsonable_encoder(project)}/{jsonable_encoder(template_version)}/agents",
92
- method="POST",
93
- json={
94
- "tags": tags,
95
- "agent_name": agent_name,
96
- "initial_message_sequence": convert_and_respect_annotation_metadata(
97
- object_=initial_message_sequence,
98
- annotation=typing.Sequence[AgentsCreateRequestInitialMessageSequenceItem],
99
- direction="write",
100
- ),
101
- "memory_variables": memory_variables,
102
- "tool_variables": tool_variables,
103
- "identity_ids": identity_ids,
104
- },
105
- headers={
106
- "content-type": "application/json",
107
- },
95
+ _response = self._raw_client.create(
96
+ project,
97
+ template_version,
98
+ tags=tags,
99
+ agent_name=agent_name,
100
+ initial_message_sequence=initial_message_sequence,
101
+ memory_variables=memory_variables,
102
+ tool_variables=tool_variables,
103
+ identity_ids=identity_ids,
108
104
  request_options=request_options,
109
- omit=OMIT,
110
105
  )
111
- try:
112
- if 200 <= _response.status_code < 300:
113
- return typing.cast(
114
- AgentsCreateResponse,
115
- construct_type(
116
- type_=AgentsCreateResponse, # type: ignore
117
- object_=_response.json(),
118
- ),
119
- )
120
- if _response.status_code == 402:
121
- raise PaymentRequiredError(
122
- typing.cast(
123
- PaymentRequiredErrorBody,
124
- construct_type(
125
- type_=PaymentRequiredErrorBody, # type: ignore
126
- object_=_response.json(),
127
- ),
128
- )
129
- )
130
- _response_json = _response.json()
131
- except JSONDecodeError:
132
- raise ApiError(status_code=_response.status_code, body=_response.text)
133
- raise ApiError(status_code=_response.status_code, body=_response_json)
106
+ return _response.data
134
107
 
135
108
 
136
109
  class AsyncAgentsClient:
137
110
  def __init__(self, *, client_wrapper: AsyncClientWrapper):
138
- self._client_wrapper = client_wrapper
111
+ self._raw_client = AsyncRawAgentsClient(client_wrapper=client_wrapper)
112
+
113
+ @property
114
+ def with_raw_response(self) -> AsyncRawAgentsClient:
115
+ """
116
+ Retrieves a raw implementation of this client that returns raw responses.
117
+
118
+ Returns
119
+ -------
120
+ AsyncRawAgentsClient
121
+ """
122
+ return self._raw_client
139
123
 
140
124
  async def create(
141
125
  self,
@@ -210,47 +194,15 @@ class AsyncAgentsClient:
210
194
 
211
195
  asyncio.run(main())
212
196
  """
213
- _response = await self._client_wrapper.httpx_client.request(
214
- f"v1/templates/{jsonable_encoder(project)}/{jsonable_encoder(template_version)}/agents",
215
- method="POST",
216
- json={
217
- "tags": tags,
218
- "agent_name": agent_name,
219
- "initial_message_sequence": convert_and_respect_annotation_metadata(
220
- object_=initial_message_sequence,
221
- annotation=typing.Sequence[AgentsCreateRequestInitialMessageSequenceItem],
222
- direction="write",
223
- ),
224
- "memory_variables": memory_variables,
225
- "tool_variables": tool_variables,
226
- "identity_ids": identity_ids,
227
- },
228
- headers={
229
- "content-type": "application/json",
230
- },
197
+ _response = await self._raw_client.create(
198
+ project,
199
+ template_version,
200
+ tags=tags,
201
+ agent_name=agent_name,
202
+ initial_message_sequence=initial_message_sequence,
203
+ memory_variables=memory_variables,
204
+ tool_variables=tool_variables,
205
+ identity_ids=identity_ids,
231
206
  request_options=request_options,
232
- omit=OMIT,
233
207
  )
234
- try:
235
- if 200 <= _response.status_code < 300:
236
- return typing.cast(
237
- AgentsCreateResponse,
238
- construct_type(
239
- type_=AgentsCreateResponse, # type: ignore
240
- object_=_response.json(),
241
- ),
242
- )
243
- if _response.status_code == 402:
244
- raise PaymentRequiredError(
245
- typing.cast(
246
- PaymentRequiredErrorBody,
247
- construct_type(
248
- type_=PaymentRequiredErrorBody, # type: ignore
249
- object_=_response.json(),
250
- ),
251
- )
252
- )
253
- _response_json = _response.json()
254
- except JSONDecodeError:
255
- raise ApiError(status_code=_response.status_code, body=_response.text)
256
- raise ApiError(status_code=_response.status_code, body=_response_json)
208
+ return _response.data
@@ -0,0 +1,227 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+ from json.decoder import JSONDecodeError
5
+
6
+ from ...core.api_error import ApiError
7
+ from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
8
+ from ...core.http_response import AsyncHttpResponse, HttpResponse
9
+ from ...core.jsonable_encoder import jsonable_encoder
10
+ from ...core.request_options import RequestOptions
11
+ from ...core.serialization import convert_and_respect_annotation_metadata
12
+ from ...core.unchecked_base_model import construct_type
13
+ from ...errors.payment_required_error import PaymentRequiredError
14
+ from ...types.payment_required_error_body import PaymentRequiredErrorBody
15
+ from .types.agents_create_request_initial_message_sequence_item import AgentsCreateRequestInitialMessageSequenceItem
16
+ from .types.agents_create_response import AgentsCreateResponse
17
+
18
+ # this is used as the default value for optional parameters
19
+ OMIT = typing.cast(typing.Any, ...)
20
+
21
+
22
+ class RawAgentsClient:
23
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
24
+ self._client_wrapper = client_wrapper
25
+
26
+ def create(
27
+ self,
28
+ project: str,
29
+ template_version: str,
30
+ *,
31
+ tags: typing.Optional[typing.Sequence[str]] = OMIT,
32
+ agent_name: typing.Optional[str] = OMIT,
33
+ initial_message_sequence: typing.Optional[
34
+ typing.Sequence[AgentsCreateRequestInitialMessageSequenceItem]
35
+ ] = OMIT,
36
+ memory_variables: typing.Optional[typing.Dict[str, str]] = OMIT,
37
+ tool_variables: typing.Optional[typing.Dict[str, str]] = OMIT,
38
+ identity_ids: typing.Optional[typing.Sequence[str]] = OMIT,
39
+ request_options: typing.Optional[RequestOptions] = None,
40
+ ) -> HttpResponse[AgentsCreateResponse]:
41
+ """
42
+ Creates an Agent or multiple Agents from a template
43
+
44
+ Parameters
45
+ ----------
46
+ project : str
47
+ The project slug
48
+
49
+ template_version : str
50
+ The template version, formatted as {template-name}:{version-number} or {template-name}:latest
51
+
52
+ tags : typing.Optional[typing.Sequence[str]]
53
+ The tags to assign to the agent
54
+
55
+ agent_name : typing.Optional[str]
56
+ The name of the agent, optional otherwise a random one will be assigned
57
+
58
+ initial_message_sequence : typing.Optional[typing.Sequence[AgentsCreateRequestInitialMessageSequenceItem]]
59
+ Set an initial sequence of messages, if not provided, the agent will start with the default message sequence, if an empty array is provided, the agent will start with no messages
60
+
61
+ memory_variables : typing.Optional[typing.Dict[str, str]]
62
+ The memory variables to assign to the agent
63
+
64
+ tool_variables : typing.Optional[typing.Dict[str, str]]
65
+ The tool variables to assign to the agent
66
+
67
+ identity_ids : typing.Optional[typing.Sequence[str]]
68
+ The identity ids to assign to the agent
69
+
70
+ request_options : typing.Optional[RequestOptions]
71
+ Request-specific configuration.
72
+
73
+ Returns
74
+ -------
75
+ HttpResponse[AgentsCreateResponse]
76
+ 201
77
+ """
78
+ _response = self._client_wrapper.httpx_client.request(
79
+ f"v1/templates/{jsonable_encoder(project)}/{jsonable_encoder(template_version)}/agents",
80
+ method="POST",
81
+ json={
82
+ "tags": tags,
83
+ "agent_name": agent_name,
84
+ "initial_message_sequence": convert_and_respect_annotation_metadata(
85
+ object_=initial_message_sequence,
86
+ annotation=typing.Sequence[AgentsCreateRequestInitialMessageSequenceItem],
87
+ direction="write",
88
+ ),
89
+ "memory_variables": memory_variables,
90
+ "tool_variables": tool_variables,
91
+ "identity_ids": identity_ids,
92
+ },
93
+ headers={
94
+ "content-type": "application/json",
95
+ },
96
+ request_options=request_options,
97
+ omit=OMIT,
98
+ )
99
+ try:
100
+ if 200 <= _response.status_code < 300:
101
+ _data = typing.cast(
102
+ AgentsCreateResponse,
103
+ construct_type(
104
+ type_=AgentsCreateResponse, # type: ignore
105
+ object_=_response.json(),
106
+ ),
107
+ )
108
+ return HttpResponse(response=_response, data=_data)
109
+ if _response.status_code == 402:
110
+ raise PaymentRequiredError(
111
+ headers=dict(_response.headers),
112
+ body=typing.cast(
113
+ PaymentRequiredErrorBody,
114
+ construct_type(
115
+ type_=PaymentRequiredErrorBody, # type: ignore
116
+ object_=_response.json(),
117
+ ),
118
+ ),
119
+ )
120
+ _response_json = _response.json()
121
+ except JSONDecodeError:
122
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
123
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
124
+
125
+
126
+ class AsyncRawAgentsClient:
127
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
128
+ self._client_wrapper = client_wrapper
129
+
130
+ async def create(
131
+ self,
132
+ project: str,
133
+ template_version: str,
134
+ *,
135
+ tags: typing.Optional[typing.Sequence[str]] = OMIT,
136
+ agent_name: typing.Optional[str] = OMIT,
137
+ initial_message_sequence: typing.Optional[
138
+ typing.Sequence[AgentsCreateRequestInitialMessageSequenceItem]
139
+ ] = OMIT,
140
+ memory_variables: typing.Optional[typing.Dict[str, str]] = OMIT,
141
+ tool_variables: typing.Optional[typing.Dict[str, str]] = OMIT,
142
+ identity_ids: typing.Optional[typing.Sequence[str]] = OMIT,
143
+ request_options: typing.Optional[RequestOptions] = None,
144
+ ) -> AsyncHttpResponse[AgentsCreateResponse]:
145
+ """
146
+ Creates an Agent or multiple Agents from a template
147
+
148
+ Parameters
149
+ ----------
150
+ project : str
151
+ The project slug
152
+
153
+ template_version : str
154
+ The template version, formatted as {template-name}:{version-number} or {template-name}:latest
155
+
156
+ tags : typing.Optional[typing.Sequence[str]]
157
+ The tags to assign to the agent
158
+
159
+ agent_name : typing.Optional[str]
160
+ The name of the agent, optional otherwise a random one will be assigned
161
+
162
+ initial_message_sequence : typing.Optional[typing.Sequence[AgentsCreateRequestInitialMessageSequenceItem]]
163
+ Set an initial sequence of messages, if not provided, the agent will start with the default message sequence, if an empty array is provided, the agent will start with no messages
164
+
165
+ memory_variables : typing.Optional[typing.Dict[str, str]]
166
+ The memory variables to assign to the agent
167
+
168
+ tool_variables : typing.Optional[typing.Dict[str, str]]
169
+ The tool variables to assign to the agent
170
+
171
+ identity_ids : typing.Optional[typing.Sequence[str]]
172
+ The identity ids to assign to the agent
173
+
174
+ request_options : typing.Optional[RequestOptions]
175
+ Request-specific configuration.
176
+
177
+ Returns
178
+ -------
179
+ AsyncHttpResponse[AgentsCreateResponse]
180
+ 201
181
+ """
182
+ _response = await self._client_wrapper.httpx_client.request(
183
+ f"v1/templates/{jsonable_encoder(project)}/{jsonable_encoder(template_version)}/agents",
184
+ method="POST",
185
+ json={
186
+ "tags": tags,
187
+ "agent_name": agent_name,
188
+ "initial_message_sequence": convert_and_respect_annotation_metadata(
189
+ object_=initial_message_sequence,
190
+ annotation=typing.Sequence[AgentsCreateRequestInitialMessageSequenceItem],
191
+ direction="write",
192
+ ),
193
+ "memory_variables": memory_variables,
194
+ "tool_variables": tool_variables,
195
+ "identity_ids": identity_ids,
196
+ },
197
+ headers={
198
+ "content-type": "application/json",
199
+ },
200
+ request_options=request_options,
201
+ omit=OMIT,
202
+ )
203
+ try:
204
+ if 200 <= _response.status_code < 300:
205
+ _data = typing.cast(
206
+ AgentsCreateResponse,
207
+ construct_type(
208
+ type_=AgentsCreateResponse, # type: ignore
209
+ object_=_response.json(),
210
+ ),
211
+ )
212
+ return AsyncHttpResponse(response=_response, data=_data)
213
+ if _response.status_code == 402:
214
+ raise PaymentRequiredError(
215
+ headers=dict(_response.headers),
216
+ body=typing.cast(
217
+ PaymentRequiredErrorBody,
218
+ construct_type(
219
+ type_=PaymentRequiredErrorBody, # type: ignore
220
+ object_=_response.json(),
221
+ ),
222
+ ),
223
+ )
224
+ _response_json = _response.json()
225
+ except JSONDecodeError:
226
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
227
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
@@ -1,5 +1,7 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
+ # isort: skip_file
4
+
3
5
  from .agents_create_request_initial_message_sequence_item import AgentsCreateRequestInitialMessageSequenceItem
4
6
  from .agents_create_request_initial_message_sequence_item_role import AgentsCreateRequestInitialMessageSequenceItemRole
5
7
  from .agents_create_response import AgentsCreateResponse