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.
- letta_client/__init__.py +51 -9
- letta_client/agents/__init__.py +6 -2
- letta_client/agents/client.py +50 -213
- letta_client/agents/files/client.py +51 -6
- letta_client/agents/files/raw_client.py +94 -9
- letta_client/agents/messages/__init__.py +2 -2
- letta_client/agents/messages/client.py +116 -26
- letta_client/agents/messages/raw_client.py +121 -19
- letta_client/agents/messages/types/__init__.py +2 -2
- letta_client/agents/messages/types/{messages_preview_raw_payload_request.py → messages_preview_request.py} +1 -1
- letta_client/agents/raw_client.py +50 -253
- letta_client/agents/types/__init__.py +4 -0
- letta_client/agents/types/agents_list_request_order.py +5 -0
- letta_client/agents/types/agents_list_request_order_by.py +5 -0
- letta_client/archives/__init__.py +7 -0
- letta_client/archives/client.py +362 -0
- letta_client/archives/raw_client.py +448 -0
- letta_client/archives/types/__init__.py +7 -0
- letta_client/archives/types/list_archives_request_order.py +5 -0
- letta_client/base_client.py +3 -6
- letta_client/batches/__init__.py +5 -0
- letta_client/batches/client.py +68 -8
- letta_client/batches/messages/__init__.py +7 -0
- letta_client/{messages → batches/messages}/client.py +50 -43
- letta_client/{messages → batches/messages}/raw_client.py +52 -45
- letta_client/batches/messages/types/__init__.py +7 -0
- letta_client/batches/messages/types/messages_list_request_order.py +5 -0
- letta_client/batches/raw_client.py +71 -6
- letta_client/batches/types/__init__.py +7 -0
- letta_client/batches/types/batches_list_request_order.py +5 -0
- letta_client/blocks/__init__.py +3 -1
- letta_client/blocks/agents/__init__.py +3 -0
- letta_client/blocks/agents/client.py +57 -2
- letta_client/blocks/agents/raw_client.py +51 -0
- letta_client/blocks/agents/types/__init__.py +7 -0
- letta_client/blocks/agents/types/agents_list_request_order.py +5 -0
- letta_client/blocks/client.py +25 -4
- letta_client/blocks/raw_client.py +25 -4
- letta_client/blocks/types/__init__.py +7 -0
- letta_client/blocks/types/blocks_list_request_order.py +5 -0
- letta_client/core/client_wrapper.py +2 -2
- letta_client/errors/__init__.py +9 -1
- letta_client/errors/internal_server_error.py +10 -0
- letta_client/folders/__init__.py +14 -2
- letta_client/folders/agents/__init__.py +7 -0
- letta_client/folders/agents/client.py +176 -0
- letta_client/folders/agents/raw_client.py +182 -0
- letta_client/folders/agents/types/__init__.py +7 -0
- letta_client/folders/agents/types/agents_list_request_order.py +5 -0
- letta_client/folders/client.py +96 -86
- letta_client/folders/files/__init__.py +3 -0
- letta_client/folders/files/client.py +49 -10
- letta_client/folders/files/raw_client.py +41 -10
- letta_client/folders/files/types/__init__.py +7 -0
- letta_client/folders/files/types/files_list_request_order.py +5 -0
- letta_client/folders/passages/__init__.py +3 -0
- letta_client/folders/passages/client.py +43 -14
- letta_client/folders/passages/raw_client.py +35 -14
- letta_client/folders/passages/types/__init__.py +7 -0
- letta_client/folders/passages/types/passages_list_request_order.py +5 -0
- letta_client/folders/raw_client.py +83 -104
- letta_client/folders/types/__init__.py +7 -0
- letta_client/folders/types/folders_list_request_order.py +5 -0
- letta_client/groups/__init__.py +4 -2
- letta_client/groups/client.py +27 -6
- letta_client/groups/messages/__init__.py +2 -2
- letta_client/groups/messages/client.py +39 -18
- letta_client/groups/messages/raw_client.py +35 -14
- letta_client/groups/messages/types/__init__.py +2 -1
- letta_client/groups/messages/types/messages_list_request_order.py +5 -0
- letta_client/groups/raw_client.py +27 -6
- letta_client/groups/types/__init__.py +2 -1
- letta_client/groups/types/groups_list_request_order.py +5 -0
- letta_client/identities/__init__.py +12 -2
- letta_client/identities/agents/__init__.py +7 -0
- letta_client/identities/agents/client.py +177 -0
- letta_client/identities/agents/raw_client.py +183 -0
- letta_client/identities/agents/types/__init__.py +7 -0
- letta_client/identities/agents/types/agents_list_request_order.py +5 -0
- letta_client/identities/blocks/__init__.py +7 -0
- letta_client/identities/blocks/client.py +177 -0
- letta_client/identities/blocks/raw_client.py +183 -0
- letta_client/identities/blocks/types/__init__.py +7 -0
- letta_client/identities/blocks/types/blocks_list_request_order.py +5 -0
- letta_client/identities/client.py +37 -0
- letta_client/identities/raw_client.py +27 -0
- letta_client/identities/types/__init__.py +7 -0
- letta_client/identities/types/identities_list_request_order.py +5 -0
- letta_client/jobs/client.py +10 -2
- letta_client/jobs/raw_client.py +10 -2
- letta_client/models/__init__.py +3 -0
- letta_client/models/client.py +3 -0
- letta_client/{embedding_models → models/embeddings}/client.py +14 -14
- letta_client/{embedding_models → models/embeddings}/raw_client.py +10 -10
- letta_client/providers/__init__.py +3 -0
- letta_client/providers/client.py +151 -82
- letta_client/providers/raw_client.py +165 -72
- letta_client/providers/types/__init__.py +7 -0
- letta_client/providers/types/providers_list_request_order.py +5 -0
- letta_client/runs/__init__.py +2 -1
- letta_client/runs/client.py +21 -0
- letta_client/runs/messages/__init__.py +3 -0
- letta_client/runs/messages/client.py +15 -49
- letta_client/runs/messages/raw_client.py +13 -49
- letta_client/runs/messages/types/__init__.py +7 -0
- letta_client/runs/messages/types/messages_list_request_order.py +5 -0
- letta_client/runs/raw_client.py +21 -0
- letta_client/steps/__init__.py +13 -3
- letta_client/steps/client.py +32 -83
- letta_client/steps/feedback/client.py +21 -6
- letta_client/steps/feedback/raw_client.py +29 -6
- letta_client/steps/messages/__init__.py +7 -0
- letta_client/steps/messages/client.py +177 -0
- letta_client/steps/messages/raw_client.py +183 -0
- letta_client/steps/messages/types/__init__.py +8 -0
- letta_client/steps/messages/types/messages_list_request_order.py +5 -0
- letta_client/steps/messages/types/messages_list_response_item.py +25 -0
- letta_client/steps/metrics/client.py +110 -0
- letta_client/steps/metrics/raw_client.py +122 -0
- letta_client/steps/raw_client.py +17 -107
- letta_client/steps/trace/__init__.py +4 -0
- letta_client/steps/trace/client.py +110 -0
- letta_client/steps/trace/raw_client.py +122 -0
- letta_client/steps/types/__init__.py +2 -1
- letta_client/steps/types/steps_list_request_order.py +5 -0
- letta_client/tags/__init__.py +3 -0
- letta_client/tags/client.py +57 -4
- letta_client/tags/raw_client.py +49 -2
- letta_client/tags/types/__init__.py +7 -0
- letta_client/tags/types/tags_list_request_order.py +5 -0
- letta_client/telemetry/client.py +8 -0
- letta_client/telemetry/raw_client.py +8 -0
- letta_client/templates/__init__.py +64 -0
- letta_client/templates/agents/__init__.py +58 -0
- letta_client/templates/agents/types/__init__.py +66 -0
- letta_client/templates/agents/types/agents_create_response.py +6 -0
- letta_client/templates/agents/types/agents_create_response_group.py +52 -0
- letta_client/templates/agents/types/agents_create_response_group_base_template_id.py +12 -0
- letta_client/templates/agents/types/agents_create_response_group_base_template_id_item.py +5 -0
- letta_client/templates/agents/types/agents_create_response_group_deployment_id.py +12 -0
- letta_client/templates/agents/types/agents_create_response_group_deployment_id_item.py +5 -0
- letta_client/templates/agents/types/agents_create_response_group_hidden.py +12 -0
- letta_client/templates/agents/types/agents_create_response_group_hidden_item.py +5 -0
- letta_client/templates/agents/types/agents_create_response_group_last_processed_message_id.py +14 -0
- letta_client/templates/agents/types/agents_create_response_group_last_processed_message_id_item.py +5 -0
- letta_client/templates/agents/types/agents_create_response_group_manager_agent_id.py +12 -0
- letta_client/templates/agents/types/agents_create_response_group_manager_agent_id_item.py +5 -0
- letta_client/templates/agents/types/agents_create_response_group_manager_type.py +7 -0
- letta_client/templates/agents/types/agents_create_response_group_max_message_buffer_length.py +14 -0
- letta_client/templates/agents/types/agents_create_response_group_max_message_buffer_length_item.py +5 -0
- letta_client/templates/agents/types/agents_create_response_group_max_turns.py +12 -0
- letta_client/templates/agents/types/agents_create_response_group_max_turns_item.py +5 -0
- letta_client/templates/agents/types/agents_create_response_group_min_message_buffer_length.py +14 -0
- letta_client/templates/agents/types/agents_create_response_group_min_message_buffer_length_item.py +5 -0
- letta_client/templates/agents/types/agents_create_response_group_project_id.py +12 -0
- letta_client/templates/agents/types/agents_create_response_group_project_id_item.py +5 -0
- letta_client/templates/agents/types/agents_create_response_group_shared_block_ids.py +5 -0
- letta_client/templates/agents/types/agents_create_response_group_sleeptime_agent_frequency.py +14 -0
- letta_client/templates/agents/types/agents_create_response_group_sleeptime_agent_frequency_item.py +5 -0
- letta_client/templates/agents/types/agents_create_response_group_template_id.py +12 -0
- letta_client/templates/agents/types/agents_create_response_group_template_id_item.py +5 -0
- letta_client/templates/agents/types/agents_create_response_group_termination_token.py +12 -0
- letta_client/templates/agents/types/agents_create_response_group_termination_token_item.py +5 -0
- letta_client/templates/agents/types/agents_create_response_group_turns_counter.py +12 -0
- letta_client/templates/agents/types/agents_create_response_group_turns_counter_item.py +5 -0
- letta_client/templates/client.py +260 -0
- letta_client/templates/raw_client.py +395 -0
- letta_client/templates/types/__init__.py +8 -0
- letta_client/templates/types/templates_get_template_snapshot_response.py +4 -0
- letta_client/templates/types/templates_get_template_snapshot_response_blocks_item.py +1 -0
- letta_client/templates/types/templates_get_template_snapshot_response_relationships_item.py +23 -0
- letta_client/templates/types/templates_migrate_deployment_response.py +21 -0
- letta_client/templates/types/templates_set_current_template_from_snapshot_response.py +21 -0
- letta_client/tools/__init__.py +2 -0
- letta_client/tools/client.py +47 -20
- letta_client/tools/raw_client.py +43 -26
- letta_client/tools/types/__init__.py +2 -0
- letta_client/tools/types/tools_list_request_order.py +5 -0
- letta_client/types/__init__.py +10 -2
- letta_client/types/agent_state.py +5 -0
- letta_client/types/archive.py +77 -0
- letta_client/types/batch_job.py +6 -0
- letta_client/types/{body_export_agent_serialized.py → body_export_agent.py} +1 -1
- letta_client/types/child_tool_rule.py +1 -1
- letta_client/types/conditional_tool_rule.py +1 -1
- letta_client/types/continue_tool_rule.py +1 -1
- letta_client/types/deployment_entity.py +2 -0
- letta_client/types/init_tool_rule.py +1 -1
- letta_client/types/internal_server_error_body.py +20 -0
- letta_client/types/internal_template_agent_create.py +5 -0
- letta_client/types/job.py +6 -0
- letta_client/types/letta_schemas_agent_file_agent_schema.py +5 -0
- letta_client/types/max_count_per_step_tool_rule.py +1 -1
- letta_client/types/memory.py +7 -1
- letta_client/types/memory_agent_type.py +7 -0
- letta_client/types/parent_tool_rule.py +1 -1
- letta_client/types/required_before_exit_tool_rule.py +1 -1
- letta_client/types/requires_approval_tool_rule.py +1 -1
- letta_client/types/run.py +6 -0
- letta_client/types/source.py +6 -0
- letta_client/types/step.py +1 -1
- letta_client/types/stop_reason_type.py +1 -0
- letta_client/types/terminal_tool_rule.py +1 -1
- letta_client/types/vector_db_provider.py +5 -0
- letta_client/voice/client.py +2 -8
- letta_client/voice/raw_client.py +0 -8
- {letta_client-0.1.318.dist-info → letta_client-0.1.320.dist-info}/METADATA +9 -9
- {letta_client-0.1.318.dist-info → letta_client-0.1.320.dist-info}/RECORD +211 -114
- /letta_client/{embedding_models → models/embeddings}/__init__.py +0 -0
- /letta_client/{messages → steps/metrics}/__init__.py +0 -0
- {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.
|
|
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
|
|
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 :
|
|
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=
|
|
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
|
|
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 :
|
|
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=
|
|
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 .
|
|
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
|
-
"
|
|
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
|
-
|
|
8
|
+
MessagesPreviewRequest = typing.Union[LettaRequest, LettaStreamingRequest]
|