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
@@ -0,0 +1,435 @@
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.bad_request_error import BadRequestError
14
+ from .types.client_side_access_tokens_create_request_policy_item import ClientSideAccessTokensCreateRequestPolicyItem
15
+ from .types.client_side_access_tokens_create_response import ClientSideAccessTokensCreateResponse
16
+ from .types.client_side_access_tokens_list_client_side_access_tokens_response import (
17
+ ClientSideAccessTokensListClientSideAccessTokensResponse,
18
+ )
19
+
20
+ # this is used as the default value for optional parameters
21
+ OMIT = typing.cast(typing.Any, ...)
22
+
23
+
24
+ class RawClientSideAccessTokensClient:
25
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
26
+ self._client_wrapper = client_wrapper
27
+
28
+ def client_side_access_tokens_list_client_side_access_tokens(
29
+ self,
30
+ *,
31
+ agent_id: typing.Optional[str] = None,
32
+ offset: typing.Optional[float] = None,
33
+ limit: typing.Optional[float] = None,
34
+ request_options: typing.Optional[RequestOptions] = None,
35
+ ) -> HttpResponse[ClientSideAccessTokensListClientSideAccessTokensResponse]:
36
+ """
37
+ List all client side access tokens for the current account. This is only available for cloud users.
38
+
39
+ Parameters
40
+ ----------
41
+ agent_id : typing.Optional[str]
42
+ The agent ID to filter tokens by. If provided, only tokens for this agent will be returned.
43
+
44
+ offset : typing.Optional[float]
45
+ The offset for pagination. Defaults to 0.
46
+
47
+ limit : typing.Optional[float]
48
+ The number of tokens to return per page. Defaults to 10.
49
+
50
+ request_options : typing.Optional[RequestOptions]
51
+ Request-specific configuration.
52
+
53
+ Returns
54
+ -------
55
+ HttpResponse[ClientSideAccessTokensListClientSideAccessTokensResponse]
56
+ 200
57
+ """
58
+ _response = self._client_wrapper.httpx_client.request(
59
+ "v1/client-side-access-tokens",
60
+ method="GET",
61
+ params={
62
+ "agentId": agent_id,
63
+ "offset": offset,
64
+ "limit": limit,
65
+ },
66
+ request_options=request_options,
67
+ )
68
+ try:
69
+ if 200 <= _response.status_code < 300:
70
+ _data = typing.cast(
71
+ ClientSideAccessTokensListClientSideAccessTokensResponse,
72
+ construct_type(
73
+ type_=ClientSideAccessTokensListClientSideAccessTokensResponse, # type: ignore
74
+ object_=_response.json(),
75
+ ),
76
+ )
77
+ return HttpResponse(response=_response, data=_data)
78
+ if _response.status_code == 400:
79
+ raise BadRequestError(
80
+ headers=dict(_response.headers),
81
+ body=typing.cast(
82
+ typing.Optional[typing.Any],
83
+ construct_type(
84
+ type_=typing.Optional[typing.Any], # type: ignore
85
+ object_=_response.json(),
86
+ ),
87
+ ),
88
+ )
89
+ _response_json = _response.json()
90
+ except JSONDecodeError:
91
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
92
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
93
+
94
+ def create(
95
+ self,
96
+ *,
97
+ policy: typing.Sequence[ClientSideAccessTokensCreateRequestPolicyItem],
98
+ hostname: str,
99
+ expires_at: typing.Optional[str] = OMIT,
100
+ request_options: typing.Optional[RequestOptions] = None,
101
+ ) -> HttpResponse[ClientSideAccessTokensCreateResponse]:
102
+ """
103
+ Create a new client side access token with the specified configuration.
104
+
105
+ Parameters
106
+ ----------
107
+ policy : typing.Sequence[ClientSideAccessTokensCreateRequestPolicyItem]
108
+
109
+ hostname : str
110
+ The hostname of the client side application. Please specify the full URL including the protocol (http or https).
111
+
112
+ expires_at : typing.Optional[str]
113
+ The expiration date of the token. If not provided, the token will expire in 5 minutes
114
+
115
+ request_options : typing.Optional[RequestOptions]
116
+ Request-specific configuration.
117
+
118
+ Returns
119
+ -------
120
+ HttpResponse[ClientSideAccessTokensCreateResponse]
121
+ 201
122
+ """
123
+ _response = self._client_wrapper.httpx_client.request(
124
+ "v1/client-side-access-tokens",
125
+ method="POST",
126
+ json={
127
+ "policy": convert_and_respect_annotation_metadata(
128
+ object_=policy,
129
+ annotation=typing.Sequence[ClientSideAccessTokensCreateRequestPolicyItem],
130
+ direction="write",
131
+ ),
132
+ "hostname": hostname,
133
+ "expires_at": expires_at,
134
+ },
135
+ headers={
136
+ "content-type": "application/json",
137
+ },
138
+ request_options=request_options,
139
+ omit=OMIT,
140
+ )
141
+ try:
142
+ if 200 <= _response.status_code < 300:
143
+ _data = typing.cast(
144
+ ClientSideAccessTokensCreateResponse,
145
+ construct_type(
146
+ type_=ClientSideAccessTokensCreateResponse, # type: ignore
147
+ object_=_response.json(),
148
+ ),
149
+ )
150
+ return HttpResponse(response=_response, data=_data)
151
+ if _response.status_code == 400:
152
+ raise BadRequestError(
153
+ headers=dict(_response.headers),
154
+ body=typing.cast(
155
+ typing.Optional[typing.Any],
156
+ construct_type(
157
+ type_=typing.Optional[typing.Any], # type: ignore
158
+ object_=_response.json(),
159
+ ),
160
+ ),
161
+ )
162
+ _response_json = _response.json()
163
+ except JSONDecodeError:
164
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
165
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
166
+
167
+ def delete(
168
+ self,
169
+ token: str,
170
+ *,
171
+ request: typing.Optional[typing.Any] = None,
172
+ request_options: typing.Optional[RequestOptions] = None,
173
+ ) -> HttpResponse[typing.Optional[typing.Any]]:
174
+ """
175
+ Delete a client side access token.
176
+
177
+ Parameters
178
+ ----------
179
+ token : str
180
+ The access token to delete
181
+
182
+ request : typing.Optional[typing.Any]
183
+
184
+ request_options : typing.Optional[RequestOptions]
185
+ Request-specific configuration.
186
+
187
+ Returns
188
+ -------
189
+ HttpResponse[typing.Optional[typing.Any]]
190
+ 204
191
+ """
192
+ _response = self._client_wrapper.httpx_client.request(
193
+ f"v1/client-side-access-tokens/{jsonable_encoder(token)}",
194
+ method="DELETE",
195
+ json=request,
196
+ headers={
197
+ "content-type": "application/json",
198
+ },
199
+ request_options=request_options,
200
+ omit=OMIT,
201
+ )
202
+ try:
203
+ if _response is None or not _response.text.strip():
204
+ return HttpResponse(response=_response, data=None)
205
+ if 200 <= _response.status_code < 300:
206
+ _data = typing.cast(
207
+ typing.Optional[typing.Any],
208
+ construct_type(
209
+ type_=typing.Optional[typing.Any], # type: ignore
210
+ object_=_response.json(),
211
+ ),
212
+ )
213
+ return HttpResponse(response=_response, data=_data)
214
+ if _response.status_code == 400:
215
+ raise BadRequestError(
216
+ headers=dict(_response.headers),
217
+ body=typing.cast(
218
+ typing.Optional[typing.Any],
219
+ construct_type(
220
+ type_=typing.Optional[typing.Any], # type: ignore
221
+ object_=_response.json(),
222
+ ),
223
+ ),
224
+ )
225
+ _response_json = _response.json()
226
+ except JSONDecodeError:
227
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
228
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
229
+
230
+
231
+ class AsyncRawClientSideAccessTokensClient:
232
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
233
+ self._client_wrapper = client_wrapper
234
+
235
+ async def client_side_access_tokens_list_client_side_access_tokens(
236
+ self,
237
+ *,
238
+ agent_id: typing.Optional[str] = None,
239
+ offset: typing.Optional[float] = None,
240
+ limit: typing.Optional[float] = None,
241
+ request_options: typing.Optional[RequestOptions] = None,
242
+ ) -> AsyncHttpResponse[ClientSideAccessTokensListClientSideAccessTokensResponse]:
243
+ """
244
+ List all client side access tokens for the current account. This is only available for cloud users.
245
+
246
+ Parameters
247
+ ----------
248
+ agent_id : typing.Optional[str]
249
+ The agent ID to filter tokens by. If provided, only tokens for this agent will be returned.
250
+
251
+ offset : typing.Optional[float]
252
+ The offset for pagination. Defaults to 0.
253
+
254
+ limit : typing.Optional[float]
255
+ The number of tokens to return per page. Defaults to 10.
256
+
257
+ request_options : typing.Optional[RequestOptions]
258
+ Request-specific configuration.
259
+
260
+ Returns
261
+ -------
262
+ AsyncHttpResponse[ClientSideAccessTokensListClientSideAccessTokensResponse]
263
+ 200
264
+ """
265
+ _response = await self._client_wrapper.httpx_client.request(
266
+ "v1/client-side-access-tokens",
267
+ method="GET",
268
+ params={
269
+ "agentId": agent_id,
270
+ "offset": offset,
271
+ "limit": limit,
272
+ },
273
+ request_options=request_options,
274
+ )
275
+ try:
276
+ if 200 <= _response.status_code < 300:
277
+ _data = typing.cast(
278
+ ClientSideAccessTokensListClientSideAccessTokensResponse,
279
+ construct_type(
280
+ type_=ClientSideAccessTokensListClientSideAccessTokensResponse, # type: ignore
281
+ object_=_response.json(),
282
+ ),
283
+ )
284
+ return AsyncHttpResponse(response=_response, data=_data)
285
+ if _response.status_code == 400:
286
+ raise BadRequestError(
287
+ headers=dict(_response.headers),
288
+ body=typing.cast(
289
+ typing.Optional[typing.Any],
290
+ construct_type(
291
+ type_=typing.Optional[typing.Any], # type: ignore
292
+ object_=_response.json(),
293
+ ),
294
+ ),
295
+ )
296
+ _response_json = _response.json()
297
+ except JSONDecodeError:
298
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
299
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
300
+
301
+ async def create(
302
+ self,
303
+ *,
304
+ policy: typing.Sequence[ClientSideAccessTokensCreateRequestPolicyItem],
305
+ hostname: str,
306
+ expires_at: typing.Optional[str] = OMIT,
307
+ request_options: typing.Optional[RequestOptions] = None,
308
+ ) -> AsyncHttpResponse[ClientSideAccessTokensCreateResponse]:
309
+ """
310
+ Create a new client side access token with the specified configuration.
311
+
312
+ Parameters
313
+ ----------
314
+ policy : typing.Sequence[ClientSideAccessTokensCreateRequestPolicyItem]
315
+
316
+ hostname : str
317
+ The hostname of the client side application. Please specify the full URL including the protocol (http or https).
318
+
319
+ expires_at : typing.Optional[str]
320
+ The expiration date of the token. If not provided, the token will expire in 5 minutes
321
+
322
+ request_options : typing.Optional[RequestOptions]
323
+ Request-specific configuration.
324
+
325
+ Returns
326
+ -------
327
+ AsyncHttpResponse[ClientSideAccessTokensCreateResponse]
328
+ 201
329
+ """
330
+ _response = await self._client_wrapper.httpx_client.request(
331
+ "v1/client-side-access-tokens",
332
+ method="POST",
333
+ json={
334
+ "policy": convert_and_respect_annotation_metadata(
335
+ object_=policy,
336
+ annotation=typing.Sequence[ClientSideAccessTokensCreateRequestPolicyItem],
337
+ direction="write",
338
+ ),
339
+ "hostname": hostname,
340
+ "expires_at": expires_at,
341
+ },
342
+ headers={
343
+ "content-type": "application/json",
344
+ },
345
+ request_options=request_options,
346
+ omit=OMIT,
347
+ )
348
+ try:
349
+ if 200 <= _response.status_code < 300:
350
+ _data = typing.cast(
351
+ ClientSideAccessTokensCreateResponse,
352
+ construct_type(
353
+ type_=ClientSideAccessTokensCreateResponse, # type: ignore
354
+ object_=_response.json(),
355
+ ),
356
+ )
357
+ return AsyncHttpResponse(response=_response, data=_data)
358
+ if _response.status_code == 400:
359
+ raise BadRequestError(
360
+ headers=dict(_response.headers),
361
+ body=typing.cast(
362
+ typing.Optional[typing.Any],
363
+ construct_type(
364
+ type_=typing.Optional[typing.Any], # type: ignore
365
+ object_=_response.json(),
366
+ ),
367
+ ),
368
+ )
369
+ _response_json = _response.json()
370
+ except JSONDecodeError:
371
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
372
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
373
+
374
+ async def delete(
375
+ self,
376
+ token: str,
377
+ *,
378
+ request: typing.Optional[typing.Any] = None,
379
+ request_options: typing.Optional[RequestOptions] = None,
380
+ ) -> AsyncHttpResponse[typing.Optional[typing.Any]]:
381
+ """
382
+ Delete a client side access token.
383
+
384
+ Parameters
385
+ ----------
386
+ token : str
387
+ The access token to delete
388
+
389
+ request : typing.Optional[typing.Any]
390
+
391
+ request_options : typing.Optional[RequestOptions]
392
+ Request-specific configuration.
393
+
394
+ Returns
395
+ -------
396
+ AsyncHttpResponse[typing.Optional[typing.Any]]
397
+ 204
398
+ """
399
+ _response = await self._client_wrapper.httpx_client.request(
400
+ f"v1/client-side-access-tokens/{jsonable_encoder(token)}",
401
+ method="DELETE",
402
+ json=request,
403
+ headers={
404
+ "content-type": "application/json",
405
+ },
406
+ request_options=request_options,
407
+ omit=OMIT,
408
+ )
409
+ try:
410
+ if _response is None or not _response.text.strip():
411
+ return AsyncHttpResponse(response=_response, data=None)
412
+ if 200 <= _response.status_code < 300:
413
+ _data = typing.cast(
414
+ typing.Optional[typing.Any],
415
+ construct_type(
416
+ type_=typing.Optional[typing.Any], # type: ignore
417
+ object_=_response.json(),
418
+ ),
419
+ )
420
+ return AsyncHttpResponse(response=_response, data=_data)
421
+ if _response.status_code == 400:
422
+ raise BadRequestError(
423
+ headers=dict(_response.headers),
424
+ body=typing.cast(
425
+ typing.Optional[typing.Any],
426
+ construct_type(
427
+ type_=typing.Optional[typing.Any], # type: ignore
428
+ object_=_response.json(),
429
+ ),
430
+ ),
431
+ )
432
+ _response_json = _response.json()
433
+ except JSONDecodeError:
434
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
435
+ 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 .client_side_access_tokens_create_request_policy_item import ClientSideAccessTokensCreateRequestPolicyItem
4
6
  from .client_side_access_tokens_create_request_policy_item_access_item import (
5
7
  ClientSideAccessTokensCreateRequestPolicyItemAccessItem,
@@ -1,12 +1,13 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
- from ...core.unchecked_base_model import UncheckedBaseModel
4
3
  import typing
4
+
5
+ import pydantic
6
+ from ...core.pydantic_utilities import IS_PYDANTIC_V2
7
+ from ...core.unchecked_base_model import UncheckedBaseModel
5
8
  from .client_side_access_tokens_create_request_policy_item_access_item import (
6
9
  ClientSideAccessTokensCreateRequestPolicyItemAccessItem,
7
10
  )
8
- from ...core.pydantic_utilities import IS_PYDANTIC_V2
9
- import pydantic
10
11
 
11
12
 
12
13
  class ClientSideAccessTokensCreateRequestPolicyItem(UncheckedBaseModel):
@@ -1,12 +1,13 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
- from ...core.unchecked_base_model import UncheckedBaseModel
4
- from .client_side_access_tokens_create_response_policy import ClientSideAccessTokensCreateResponsePolicy
5
- import typing_extensions
6
- from ...core.serialization import FieldMetadata
7
- from ...core.pydantic_utilities import IS_PYDANTIC_V2
8
3
  import typing
4
+
9
5
  import pydantic
6
+ import typing_extensions
7
+ from ...core.pydantic_utilities import IS_PYDANTIC_V2
8
+ from ...core.serialization import FieldMetadata
9
+ from ...core.unchecked_base_model import UncheckedBaseModel
10
+ from .client_side_access_tokens_create_response_policy import ClientSideAccessTokensCreateResponsePolicy
10
11
 
11
12
 
12
13
  class ClientSideAccessTokensCreateResponse(UncheckedBaseModel):
@@ -1,12 +1,13 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
- from ...core.unchecked_base_model import UncheckedBaseModel
4
3
  import typing
4
+
5
+ import pydantic
6
+ from ...core.pydantic_utilities import IS_PYDANTIC_V2
7
+ from ...core.unchecked_base_model import UncheckedBaseModel
5
8
  from .client_side_access_tokens_create_response_policy_data_item import (
6
9
  ClientSideAccessTokensCreateResponsePolicyDataItem,
7
10
  )
8
- from ...core.pydantic_utilities import IS_PYDANTIC_V2
9
- import pydantic
10
11
 
11
12
 
12
13
  class ClientSideAccessTokensCreateResponsePolicy(UncheckedBaseModel):
@@ -1,12 +1,13 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
- from ...core.unchecked_base_model import UncheckedBaseModel
4
3
  import typing
4
+
5
+ import pydantic
6
+ from ...core.pydantic_utilities import IS_PYDANTIC_V2
7
+ from ...core.unchecked_base_model import UncheckedBaseModel
5
8
  from .client_side_access_tokens_create_response_policy_data_item_access_item import (
6
9
  ClientSideAccessTokensCreateResponsePolicyDataItemAccessItem,
7
10
  )
8
- from ...core.pydantic_utilities import IS_PYDANTIC_V2
9
- import pydantic
10
11
 
11
12
 
12
13
  class ClientSideAccessTokensCreateResponsePolicyDataItem(UncheckedBaseModel):
@@ -1,14 +1,15 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
- from ...core.unchecked_base_model import UncheckedBaseModel
4
3
  import typing
4
+
5
+ import pydantic
6
+ import typing_extensions
7
+ from ...core.pydantic_utilities import IS_PYDANTIC_V2
8
+ from ...core.serialization import FieldMetadata
9
+ from ...core.unchecked_base_model import UncheckedBaseModel
5
10
  from .client_side_access_tokens_list_client_side_access_tokens_response_tokens_item import (
6
11
  ClientSideAccessTokensListClientSideAccessTokensResponseTokensItem,
7
12
  )
8
- import typing_extensions
9
- from ...core.serialization import FieldMetadata
10
- from ...core.pydantic_utilities import IS_PYDANTIC_V2
11
- import pydantic
12
13
 
13
14
 
14
15
  class ClientSideAccessTokensListClientSideAccessTokensResponse(UncheckedBaseModel):
@@ -1,14 +1,15 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
+ import typing
4
+
5
+ import pydantic
6
+ import typing_extensions
7
+ from ...core.pydantic_utilities import IS_PYDANTIC_V2
8
+ from ...core.serialization import FieldMetadata
3
9
  from ...core.unchecked_base_model import UncheckedBaseModel
4
10
  from .client_side_access_tokens_list_client_side_access_tokens_response_tokens_item_policy import (
5
11
  ClientSideAccessTokensListClientSideAccessTokensResponseTokensItemPolicy,
6
12
  )
7
- import typing_extensions
8
- from ...core.serialization import FieldMetadata
9
- from ...core.pydantic_utilities import IS_PYDANTIC_V2
10
- import typing
11
- import pydantic
12
13
 
13
14
 
14
15
  class ClientSideAccessTokensListClientSideAccessTokensResponseTokensItem(UncheckedBaseModel):
@@ -1,12 +1,13 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
- from ...core.unchecked_base_model import UncheckedBaseModel
4
3
  import typing
4
+
5
+ import pydantic
6
+ from ...core.pydantic_utilities import IS_PYDANTIC_V2
7
+ from ...core.unchecked_base_model import UncheckedBaseModel
5
8
  from .client_side_access_tokens_list_client_side_access_tokens_response_tokens_item_policy_data_item import (
6
9
  ClientSideAccessTokensListClientSideAccessTokensResponseTokensItemPolicyDataItem,
7
10
  )
8
- from ...core.pydantic_utilities import IS_PYDANTIC_V2
9
- import pydantic
10
11
 
11
12
 
12
13
  class ClientSideAccessTokensListClientSideAccessTokensResponseTokensItemPolicy(UncheckedBaseModel):
@@ -1,12 +1,13 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
- from ...core.unchecked_base_model import UncheckedBaseModel
4
3
  import typing
4
+
5
+ import pydantic
6
+ from ...core.pydantic_utilities import IS_PYDANTIC_V2
7
+ from ...core.unchecked_base_model import UncheckedBaseModel
5
8
  from .client_side_access_tokens_list_client_side_access_tokens_response_tokens_item_policy_data_item_access_item import (
6
9
  ClientSideAccessTokensListClientSideAccessTokensResponseTokensItemPolicyDataItemAccessItem,
7
10
  )
8
- from ...core.pydantic_utilities import IS_PYDANTIC_V2
9
- import pydantic
10
11
 
11
12
 
12
13
  class ClientSideAccessTokensListClientSideAccessTokensResponseTokensItemPolicyDataItem(UncheckedBaseModel):
@@ -1,10 +1,13 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
+ # isort: skip_file
4
+
3
5
  from .api_error import ApiError
4
6
  from .client_wrapper import AsyncClientWrapper, BaseClientWrapper, SyncClientWrapper
5
7
  from .datetime_utils import serialize_datetime
6
8
  from .file import File, convert_file_dict_to_httpx_tuples, with_content_type
7
9
  from .http_client import AsyncHttpClient, HttpClient
10
+ from .http_response import AsyncHttpResponse, HttpResponse
8
11
  from .jsonable_encoder import jsonable_encoder
9
12
  from .pydantic_utilities import (
10
13
  IS_PYDANTIC_V2,
@@ -25,10 +28,12 @@ __all__ = [
25
28
  "ApiError",
26
29
  "AsyncClientWrapper",
27
30
  "AsyncHttpClient",
31
+ "AsyncHttpResponse",
28
32
  "BaseClientWrapper",
29
33
  "FieldMetadata",
30
34
  "File",
31
35
  "HttpClient",
36
+ "HttpResponse",
32
37
  "IS_PYDANTIC_V2",
33
38
  "RequestOptions",
34
39
  "SyncClientWrapper",
@@ -1,15 +1,23 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
- import typing
3
+ from typing import Any, Dict, Optional
4
4
 
5
5
 
6
6
  class ApiError(Exception):
7
- status_code: typing.Optional[int]
8
- body: typing.Any
7
+ headers: Optional[Dict[str, str]]
8
+ status_code: Optional[int]
9
+ body: Any
9
10
 
10
- def __init__(self, *, status_code: typing.Optional[int] = None, body: typing.Any = None):
11
+ def __init__(
12
+ self,
13
+ *,
14
+ headers: Optional[Dict[str, str]] = None,
15
+ status_code: Optional[int] = None,
16
+ body: Any = None,
17
+ ) -> None:
18
+ self.headers = headers
11
19
  self.status_code = status_code
12
20
  self.body = body
13
21
 
14
22
  def __str__(self) -> str:
15
- return f"status_code: {self.status_code}, body: {self.body}"
23
+ return f"headers: {self.headers}, status_code: {self.status_code}, body: {self.body}"