letta-client 0.1.318__py3-none-any.whl → 0.1.320__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 (211) hide show
  1. letta_client/__init__.py +51 -9
  2. letta_client/agents/__init__.py +6 -2
  3. letta_client/agents/client.py +50 -213
  4. letta_client/agents/files/client.py +51 -6
  5. letta_client/agents/files/raw_client.py +94 -9
  6. letta_client/agents/messages/__init__.py +2 -2
  7. letta_client/agents/messages/client.py +116 -26
  8. letta_client/agents/messages/raw_client.py +121 -19
  9. letta_client/agents/messages/types/__init__.py +2 -2
  10. letta_client/agents/messages/types/{messages_preview_raw_payload_request.py → messages_preview_request.py} +1 -1
  11. letta_client/agents/raw_client.py +50 -253
  12. letta_client/agents/types/__init__.py +4 -0
  13. letta_client/agents/types/agents_list_request_order.py +5 -0
  14. letta_client/agents/types/agents_list_request_order_by.py +5 -0
  15. letta_client/archives/__init__.py +7 -0
  16. letta_client/archives/client.py +362 -0
  17. letta_client/archives/raw_client.py +448 -0
  18. letta_client/archives/types/__init__.py +7 -0
  19. letta_client/archives/types/list_archives_request_order.py +5 -0
  20. letta_client/base_client.py +3 -6
  21. letta_client/batches/__init__.py +5 -0
  22. letta_client/batches/client.py +68 -8
  23. letta_client/batches/messages/__init__.py +7 -0
  24. letta_client/{messages → batches/messages}/client.py +50 -43
  25. letta_client/{messages → batches/messages}/raw_client.py +52 -45
  26. letta_client/batches/messages/types/__init__.py +7 -0
  27. letta_client/batches/messages/types/messages_list_request_order.py +5 -0
  28. letta_client/batches/raw_client.py +71 -6
  29. letta_client/batches/types/__init__.py +7 -0
  30. letta_client/batches/types/batches_list_request_order.py +5 -0
  31. letta_client/blocks/__init__.py +3 -1
  32. letta_client/blocks/agents/__init__.py +3 -0
  33. letta_client/blocks/agents/client.py +57 -2
  34. letta_client/blocks/agents/raw_client.py +51 -0
  35. letta_client/blocks/agents/types/__init__.py +7 -0
  36. letta_client/blocks/agents/types/agents_list_request_order.py +5 -0
  37. letta_client/blocks/client.py +25 -4
  38. letta_client/blocks/raw_client.py +25 -4
  39. letta_client/blocks/types/__init__.py +7 -0
  40. letta_client/blocks/types/blocks_list_request_order.py +5 -0
  41. letta_client/core/client_wrapper.py +2 -2
  42. letta_client/errors/__init__.py +9 -1
  43. letta_client/errors/internal_server_error.py +10 -0
  44. letta_client/folders/__init__.py +14 -2
  45. letta_client/folders/agents/__init__.py +7 -0
  46. letta_client/folders/agents/client.py +176 -0
  47. letta_client/folders/agents/raw_client.py +182 -0
  48. letta_client/folders/agents/types/__init__.py +7 -0
  49. letta_client/folders/agents/types/agents_list_request_order.py +5 -0
  50. letta_client/folders/client.py +96 -86
  51. letta_client/folders/files/__init__.py +3 -0
  52. letta_client/folders/files/client.py +49 -10
  53. letta_client/folders/files/raw_client.py +41 -10
  54. letta_client/folders/files/types/__init__.py +7 -0
  55. letta_client/folders/files/types/files_list_request_order.py +5 -0
  56. letta_client/folders/passages/__init__.py +3 -0
  57. letta_client/folders/passages/client.py +43 -14
  58. letta_client/folders/passages/raw_client.py +35 -14
  59. letta_client/folders/passages/types/__init__.py +7 -0
  60. letta_client/folders/passages/types/passages_list_request_order.py +5 -0
  61. letta_client/folders/raw_client.py +83 -104
  62. letta_client/folders/types/__init__.py +7 -0
  63. letta_client/folders/types/folders_list_request_order.py +5 -0
  64. letta_client/groups/__init__.py +4 -2
  65. letta_client/groups/client.py +27 -6
  66. letta_client/groups/messages/__init__.py +2 -2
  67. letta_client/groups/messages/client.py +39 -18
  68. letta_client/groups/messages/raw_client.py +35 -14
  69. letta_client/groups/messages/types/__init__.py +2 -1
  70. letta_client/groups/messages/types/messages_list_request_order.py +5 -0
  71. letta_client/groups/raw_client.py +27 -6
  72. letta_client/groups/types/__init__.py +2 -1
  73. letta_client/groups/types/groups_list_request_order.py +5 -0
  74. letta_client/identities/__init__.py +12 -2
  75. letta_client/identities/agents/__init__.py +7 -0
  76. letta_client/identities/agents/client.py +177 -0
  77. letta_client/identities/agents/raw_client.py +183 -0
  78. letta_client/identities/agents/types/__init__.py +7 -0
  79. letta_client/identities/agents/types/agents_list_request_order.py +5 -0
  80. letta_client/identities/blocks/__init__.py +7 -0
  81. letta_client/identities/blocks/client.py +177 -0
  82. letta_client/identities/blocks/raw_client.py +183 -0
  83. letta_client/identities/blocks/types/__init__.py +7 -0
  84. letta_client/identities/blocks/types/blocks_list_request_order.py +5 -0
  85. letta_client/identities/client.py +37 -0
  86. letta_client/identities/raw_client.py +27 -0
  87. letta_client/identities/types/__init__.py +7 -0
  88. letta_client/identities/types/identities_list_request_order.py +5 -0
  89. letta_client/jobs/client.py +10 -2
  90. letta_client/jobs/raw_client.py +10 -2
  91. letta_client/models/__init__.py +3 -0
  92. letta_client/models/client.py +3 -0
  93. letta_client/{embedding_models → models/embeddings}/client.py +14 -14
  94. letta_client/{embedding_models → models/embeddings}/raw_client.py +10 -10
  95. letta_client/providers/__init__.py +3 -0
  96. letta_client/providers/client.py +151 -82
  97. letta_client/providers/raw_client.py +165 -72
  98. letta_client/providers/types/__init__.py +7 -0
  99. letta_client/providers/types/providers_list_request_order.py +5 -0
  100. letta_client/runs/__init__.py +2 -1
  101. letta_client/runs/client.py +21 -0
  102. letta_client/runs/messages/__init__.py +3 -0
  103. letta_client/runs/messages/client.py +15 -49
  104. letta_client/runs/messages/raw_client.py +13 -49
  105. letta_client/runs/messages/types/__init__.py +7 -0
  106. letta_client/runs/messages/types/messages_list_request_order.py +5 -0
  107. letta_client/runs/raw_client.py +21 -0
  108. letta_client/steps/__init__.py +13 -3
  109. letta_client/steps/client.py +32 -83
  110. letta_client/steps/feedback/client.py +21 -6
  111. letta_client/steps/feedback/raw_client.py +29 -6
  112. letta_client/steps/messages/__init__.py +7 -0
  113. letta_client/steps/messages/client.py +177 -0
  114. letta_client/steps/messages/raw_client.py +183 -0
  115. letta_client/steps/messages/types/__init__.py +8 -0
  116. letta_client/steps/messages/types/messages_list_request_order.py +5 -0
  117. letta_client/steps/messages/types/messages_list_response_item.py +25 -0
  118. letta_client/steps/metrics/client.py +110 -0
  119. letta_client/steps/metrics/raw_client.py +122 -0
  120. letta_client/steps/raw_client.py +17 -107
  121. letta_client/steps/trace/__init__.py +4 -0
  122. letta_client/steps/trace/client.py +110 -0
  123. letta_client/steps/trace/raw_client.py +122 -0
  124. letta_client/steps/types/__init__.py +2 -1
  125. letta_client/steps/types/steps_list_request_order.py +5 -0
  126. letta_client/tags/__init__.py +3 -0
  127. letta_client/tags/client.py +57 -4
  128. letta_client/tags/raw_client.py +49 -2
  129. letta_client/tags/types/__init__.py +7 -0
  130. letta_client/tags/types/tags_list_request_order.py +5 -0
  131. letta_client/telemetry/client.py +8 -0
  132. letta_client/telemetry/raw_client.py +8 -0
  133. letta_client/templates/__init__.py +64 -0
  134. letta_client/templates/agents/__init__.py +58 -0
  135. letta_client/templates/agents/types/__init__.py +66 -0
  136. letta_client/templates/agents/types/agents_create_response.py +6 -0
  137. letta_client/templates/agents/types/agents_create_response_group.py +52 -0
  138. letta_client/templates/agents/types/agents_create_response_group_base_template_id.py +12 -0
  139. letta_client/templates/agents/types/agents_create_response_group_base_template_id_item.py +5 -0
  140. letta_client/templates/agents/types/agents_create_response_group_deployment_id.py +12 -0
  141. letta_client/templates/agents/types/agents_create_response_group_deployment_id_item.py +5 -0
  142. letta_client/templates/agents/types/agents_create_response_group_hidden.py +12 -0
  143. letta_client/templates/agents/types/agents_create_response_group_hidden_item.py +5 -0
  144. letta_client/templates/agents/types/agents_create_response_group_last_processed_message_id.py +14 -0
  145. letta_client/templates/agents/types/agents_create_response_group_last_processed_message_id_item.py +5 -0
  146. letta_client/templates/agents/types/agents_create_response_group_manager_agent_id.py +12 -0
  147. letta_client/templates/agents/types/agents_create_response_group_manager_agent_id_item.py +5 -0
  148. letta_client/templates/agents/types/agents_create_response_group_manager_type.py +7 -0
  149. letta_client/templates/agents/types/agents_create_response_group_max_message_buffer_length.py +14 -0
  150. letta_client/templates/agents/types/agents_create_response_group_max_message_buffer_length_item.py +5 -0
  151. letta_client/templates/agents/types/agents_create_response_group_max_turns.py +12 -0
  152. letta_client/templates/agents/types/agents_create_response_group_max_turns_item.py +5 -0
  153. letta_client/templates/agents/types/agents_create_response_group_min_message_buffer_length.py +14 -0
  154. letta_client/templates/agents/types/agents_create_response_group_min_message_buffer_length_item.py +5 -0
  155. letta_client/templates/agents/types/agents_create_response_group_project_id.py +12 -0
  156. letta_client/templates/agents/types/agents_create_response_group_project_id_item.py +5 -0
  157. letta_client/templates/agents/types/agents_create_response_group_shared_block_ids.py +5 -0
  158. letta_client/templates/agents/types/agents_create_response_group_sleeptime_agent_frequency.py +14 -0
  159. letta_client/templates/agents/types/agents_create_response_group_sleeptime_agent_frequency_item.py +5 -0
  160. letta_client/templates/agents/types/agents_create_response_group_template_id.py +12 -0
  161. letta_client/templates/agents/types/agents_create_response_group_template_id_item.py +5 -0
  162. letta_client/templates/agents/types/agents_create_response_group_termination_token.py +12 -0
  163. letta_client/templates/agents/types/agents_create_response_group_termination_token_item.py +5 -0
  164. letta_client/templates/agents/types/agents_create_response_group_turns_counter.py +12 -0
  165. letta_client/templates/agents/types/agents_create_response_group_turns_counter_item.py +5 -0
  166. letta_client/templates/client.py +260 -0
  167. letta_client/templates/raw_client.py +395 -0
  168. letta_client/templates/types/__init__.py +8 -0
  169. letta_client/templates/types/templates_get_template_snapshot_response.py +4 -0
  170. letta_client/templates/types/templates_get_template_snapshot_response_blocks_item.py +1 -0
  171. letta_client/templates/types/templates_get_template_snapshot_response_relationships_item.py +23 -0
  172. letta_client/templates/types/templates_migrate_deployment_response.py +21 -0
  173. letta_client/templates/types/templates_set_current_template_from_snapshot_response.py +21 -0
  174. letta_client/tools/__init__.py +2 -0
  175. letta_client/tools/client.py +47 -20
  176. letta_client/tools/raw_client.py +43 -26
  177. letta_client/tools/types/__init__.py +2 -0
  178. letta_client/tools/types/tools_list_request_order.py +5 -0
  179. letta_client/types/__init__.py +10 -2
  180. letta_client/types/agent_state.py +5 -0
  181. letta_client/types/archive.py +77 -0
  182. letta_client/types/batch_job.py +6 -0
  183. letta_client/types/{body_export_agent_serialized.py → body_export_agent.py} +1 -1
  184. letta_client/types/child_tool_rule.py +1 -1
  185. letta_client/types/conditional_tool_rule.py +1 -1
  186. letta_client/types/continue_tool_rule.py +1 -1
  187. letta_client/types/deployment_entity.py +2 -0
  188. letta_client/types/init_tool_rule.py +1 -1
  189. letta_client/types/internal_server_error_body.py +20 -0
  190. letta_client/types/internal_template_agent_create.py +5 -0
  191. letta_client/types/job.py +6 -0
  192. letta_client/types/letta_schemas_agent_file_agent_schema.py +5 -0
  193. letta_client/types/max_count_per_step_tool_rule.py +1 -1
  194. letta_client/types/memory.py +7 -1
  195. letta_client/types/memory_agent_type.py +7 -0
  196. letta_client/types/parent_tool_rule.py +1 -1
  197. letta_client/types/required_before_exit_tool_rule.py +1 -1
  198. letta_client/types/requires_approval_tool_rule.py +1 -1
  199. letta_client/types/run.py +6 -0
  200. letta_client/types/source.py +6 -0
  201. letta_client/types/step.py +1 -1
  202. letta_client/types/stop_reason_type.py +1 -0
  203. letta_client/types/terminal_tool_rule.py +1 -1
  204. letta_client/types/vector_db_provider.py +5 -0
  205. letta_client/voice/client.py +2 -8
  206. letta_client/voice/raw_client.py +0 -8
  207. {letta_client-0.1.318.dist-info → letta_client-0.1.320.dist-info}/METADATA +9 -9
  208. {letta_client-0.1.318.dist-info → letta_client-0.1.320.dist-info}/RECORD +211 -114
  209. /letta_client/{embedding_models → models/embeddings}/__init__.py +0 -0
  210. /letta_client/{messages → steps/metrics}/__init__.py +0 -0
  211. {letta_client-0.1.318.dist-info → letta_client-0.1.320.dist-info}/WHEEL +0 -0
@@ -30,7 +30,7 @@ from .types.letta_streaming_response import LettaStreamingResponse
30
30
  from .types.message_search_request_search_mode import MessageSearchRequestSearchMode
31
31
  from .types.messages_modify_request import MessagesModifyRequest
32
32
  from .types.messages_modify_response import MessagesModifyResponse
33
- from .types.messages_preview_raw_payload_request import MessagesPreviewRawPayloadRequest
33
+ from .types.messages_preview_request import MessagesPreviewRequest
34
34
 
35
35
  # this is used as the default value for optional parameters
36
36
  OMIT = typing.cast(typing.Any, ...)
@@ -498,13 +498,14 @@ class RawMessagesClient:
498
498
  search_mode: typing.Optional[MessageSearchRequestSearchMode] = OMIT,
499
499
  roles: typing.Optional[typing.Sequence[MessageRole]] = OMIT,
500
500
  project_id: typing.Optional[str] = OMIT,
501
+ template_id: typing.Optional[str] = OMIT,
501
502
  limit: typing.Optional[int] = OMIT,
502
503
  start_date: typing.Optional[dt.datetime] = OMIT,
503
504
  end_date: typing.Optional[dt.datetime] = OMIT,
504
505
  request_options: typing.Optional[RequestOptions] = None,
505
506
  ) -> HttpResponse[typing.List[MessageSearchResult]]:
506
507
  """
507
- Search messages across the entire organization with optional project filtering. Returns messages with FTS/vector ranks and total RRF score.
508
+ Search messages across the entire organization with optional project and template filtering. Returns messages with FTS/vector ranks and total RRF score.
508
509
 
509
510
  This is a cloud-only feature.
510
511
 
@@ -522,6 +523,9 @@ class RawMessagesClient:
522
523
  project_id : typing.Optional[str]
523
524
  Filter messages by project ID
524
525
 
526
+ template_id : typing.Optional[str]
527
+ Filter messages by template ID
528
+
525
529
  limit : typing.Optional[int]
526
530
  Maximum number of results to return
527
531
 
@@ -547,6 +551,7 @@ class RawMessagesClient:
547
551
  "search_mode": search_mode,
548
552
  "roles": roles,
549
553
  "project_id": project_id,
554
+ "template_id": template_id,
550
555
  "limit": limit,
551
556
  "start_date": start_date,
552
557
  "end_date": end_date,
@@ -746,12 +751,8 @@ class RawMessagesClient:
746
751
  raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
747
752
  raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
748
753
 
749
- def preview_raw_payload(
750
- self,
751
- agent_id: str,
752
- *,
753
- request: MessagesPreviewRawPayloadRequest,
754
- request_options: typing.Optional[RequestOptions] = None,
754
+ def preview(
755
+ self, agent_id: str, *, request: MessagesPreviewRequest, request_options: typing.Optional[RequestOptions] = None
755
756
  ) -> HttpResponse[typing.Dict[str, typing.Optional[typing.Any]]]:
756
757
  """
757
758
  Inspect the raw LLM request payload without sending it.
@@ -764,7 +765,7 @@ class RawMessagesClient:
764
765
  ----------
765
766
  agent_id : str
766
767
 
767
- request : MessagesPreviewRawPayloadRequest
768
+ request : MessagesPreviewRequest
768
769
 
769
770
  request_options : typing.Optional[RequestOptions]
770
771
  Request-specific configuration.
@@ -778,7 +779,7 @@ class RawMessagesClient:
778
779
  f"v1/agents/{jsonable_encoder(agent_id)}/messages/preview-raw-payload",
779
780
  method="POST",
780
781
  json=convert_and_respect_annotation_metadata(
781
- object_=request, annotation=MessagesPreviewRawPayloadRequest, direction="write"
782
+ object_=request, annotation=MessagesPreviewRequest, direction="write"
782
783
  ),
783
784
  headers={
784
785
  "content-type": "application/json",
@@ -812,6 +813,56 @@ class RawMessagesClient:
812
813
  raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
813
814
  raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
814
815
 
816
+ def summarize(
817
+ self, agent_id: str, *, max_message_length: int, request_options: typing.Optional[RequestOptions] = None
818
+ ) -> HttpResponse[None]:
819
+ """
820
+ Summarize an agent's conversation history to a target message length.
821
+
822
+ This endpoint summarizes the current message history for a given agent,
823
+ truncating and compressing it down to the specified `max_message_length`.
824
+
825
+ Parameters
826
+ ----------
827
+ agent_id : str
828
+
829
+ max_message_length : int
830
+ Maximum number of messages to retain after summarization.
831
+
832
+ request_options : typing.Optional[RequestOptions]
833
+ Request-specific configuration.
834
+
835
+ Returns
836
+ -------
837
+ HttpResponse[None]
838
+ """
839
+ _response = self._client_wrapper.httpx_client.request(
840
+ f"v1/agents/{jsonable_encoder(agent_id)}/summarize",
841
+ method="POST",
842
+ params={
843
+ "max_message_length": max_message_length,
844
+ },
845
+ request_options=request_options,
846
+ )
847
+ try:
848
+ if 200 <= _response.status_code < 300:
849
+ return HttpResponse(response=_response, data=None)
850
+ if _response.status_code == 422:
851
+ raise UnprocessableEntityError(
852
+ headers=dict(_response.headers),
853
+ body=typing.cast(
854
+ HttpValidationError,
855
+ construct_type(
856
+ type_=HttpValidationError, # type: ignore
857
+ object_=_response.json(),
858
+ ),
859
+ ),
860
+ )
861
+ _response_json = _response.json()
862
+ except JSONDecodeError:
863
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
864
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
865
+
815
866
 
816
867
  class AsyncRawMessagesClient:
817
868
  def __init__(self, *, client_wrapper: AsyncClientWrapper):
@@ -1275,13 +1326,14 @@ class AsyncRawMessagesClient:
1275
1326
  search_mode: typing.Optional[MessageSearchRequestSearchMode] = OMIT,
1276
1327
  roles: typing.Optional[typing.Sequence[MessageRole]] = OMIT,
1277
1328
  project_id: typing.Optional[str] = OMIT,
1329
+ template_id: typing.Optional[str] = OMIT,
1278
1330
  limit: typing.Optional[int] = OMIT,
1279
1331
  start_date: typing.Optional[dt.datetime] = OMIT,
1280
1332
  end_date: typing.Optional[dt.datetime] = OMIT,
1281
1333
  request_options: typing.Optional[RequestOptions] = None,
1282
1334
  ) -> AsyncHttpResponse[typing.List[MessageSearchResult]]:
1283
1335
  """
1284
- Search messages across the entire organization with optional project filtering. Returns messages with FTS/vector ranks and total RRF score.
1336
+ Search messages across the entire organization with optional project and template filtering. Returns messages with FTS/vector ranks and total RRF score.
1285
1337
 
1286
1338
  This is a cloud-only feature.
1287
1339
 
@@ -1299,6 +1351,9 @@ class AsyncRawMessagesClient:
1299
1351
  project_id : typing.Optional[str]
1300
1352
  Filter messages by project ID
1301
1353
 
1354
+ template_id : typing.Optional[str]
1355
+ Filter messages by template ID
1356
+
1302
1357
  limit : typing.Optional[int]
1303
1358
  Maximum number of results to return
1304
1359
 
@@ -1324,6 +1379,7 @@ class AsyncRawMessagesClient:
1324
1379
  "search_mode": search_mode,
1325
1380
  "roles": roles,
1326
1381
  "project_id": project_id,
1382
+ "template_id": template_id,
1327
1383
  "limit": limit,
1328
1384
  "start_date": start_date,
1329
1385
  "end_date": end_date,
@@ -1523,12 +1579,8 @@ class AsyncRawMessagesClient:
1523
1579
  raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
1524
1580
  raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
1525
1581
 
1526
- async def preview_raw_payload(
1527
- self,
1528
- agent_id: str,
1529
- *,
1530
- request: MessagesPreviewRawPayloadRequest,
1531
- request_options: typing.Optional[RequestOptions] = None,
1582
+ async def preview(
1583
+ self, agent_id: str, *, request: MessagesPreviewRequest, request_options: typing.Optional[RequestOptions] = None
1532
1584
  ) -> AsyncHttpResponse[typing.Dict[str, typing.Optional[typing.Any]]]:
1533
1585
  """
1534
1586
  Inspect the raw LLM request payload without sending it.
@@ -1541,7 +1593,7 @@ class AsyncRawMessagesClient:
1541
1593
  ----------
1542
1594
  agent_id : str
1543
1595
 
1544
- request : MessagesPreviewRawPayloadRequest
1596
+ request : MessagesPreviewRequest
1545
1597
 
1546
1598
  request_options : typing.Optional[RequestOptions]
1547
1599
  Request-specific configuration.
@@ -1555,7 +1607,7 @@ class AsyncRawMessagesClient:
1555
1607
  f"v1/agents/{jsonable_encoder(agent_id)}/messages/preview-raw-payload",
1556
1608
  method="POST",
1557
1609
  json=convert_and_respect_annotation_metadata(
1558
- object_=request, annotation=MessagesPreviewRawPayloadRequest, direction="write"
1610
+ object_=request, annotation=MessagesPreviewRequest, direction="write"
1559
1611
  ),
1560
1612
  headers={
1561
1613
  "content-type": "application/json",
@@ -1588,3 +1640,53 @@ class AsyncRawMessagesClient:
1588
1640
  except JSONDecodeError:
1589
1641
  raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
1590
1642
  raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
1643
+
1644
+ async def summarize(
1645
+ self, agent_id: str, *, max_message_length: int, request_options: typing.Optional[RequestOptions] = None
1646
+ ) -> AsyncHttpResponse[None]:
1647
+ """
1648
+ Summarize an agent's conversation history to a target message length.
1649
+
1650
+ This endpoint summarizes the current message history for a given agent,
1651
+ truncating and compressing it down to the specified `max_message_length`.
1652
+
1653
+ Parameters
1654
+ ----------
1655
+ agent_id : str
1656
+
1657
+ max_message_length : int
1658
+ Maximum number of messages to retain after summarization.
1659
+
1660
+ request_options : typing.Optional[RequestOptions]
1661
+ Request-specific configuration.
1662
+
1663
+ Returns
1664
+ -------
1665
+ AsyncHttpResponse[None]
1666
+ """
1667
+ _response = await self._client_wrapper.httpx_client.request(
1668
+ f"v1/agents/{jsonable_encoder(agent_id)}/summarize",
1669
+ method="POST",
1670
+ params={
1671
+ "max_message_length": max_message_length,
1672
+ },
1673
+ request_options=request_options,
1674
+ )
1675
+ try:
1676
+ if 200 <= _response.status_code < 300:
1677
+ return AsyncHttpResponse(response=_response, data=None)
1678
+ if _response.status_code == 422:
1679
+ raise UnprocessableEntityError(
1680
+ headers=dict(_response.headers),
1681
+ body=typing.cast(
1682
+ HttpValidationError,
1683
+ construct_type(
1684
+ type_=HttpValidationError, # type: ignore
1685
+ object_=_response.json(),
1686
+ ),
1687
+ ),
1688
+ )
1689
+ _response_json = _response.json()
1690
+ except JSONDecodeError:
1691
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
1692
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
@@ -7,7 +7,7 @@ from .letta_streaming_response import LettaStreamingResponse
7
7
  from .message_search_request_search_mode import MessageSearchRequestSearchMode
8
8
  from .messages_modify_request import MessagesModifyRequest
9
9
  from .messages_modify_response import MessagesModifyResponse
10
- from .messages_preview_raw_payload_request import MessagesPreviewRawPayloadRequest
10
+ from .messages_preview_request import MessagesPreviewRequest
11
11
 
12
12
  __all__ = [
13
13
  "LettaAsyncRequestMessagesItem",
@@ -15,5 +15,5 @@ __all__ = [
15
15
  "MessageSearchRequestSearchMode",
16
16
  "MessagesModifyRequest",
17
17
  "MessagesModifyResponse",
18
- "MessagesPreviewRawPayloadRequest",
18
+ "MessagesPreviewRequest",
19
19
  ]
@@ -5,4 +5,4 @@ import typing
5
5
  from ....types.letta_request import LettaRequest
6
6
  from ....types.letta_streaming_request import LettaStreamingRequest
7
7
 
8
- MessagesPreviewRawPayloadRequest = typing.Union[LettaRequest, LettaStreamingRequest]
8
+ MessagesPreviewRequest = typing.Union[LettaRequest, LettaStreamingRequest]