letta-client 0.1.319__py3-none-any.whl → 0.1.321__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 +104 -24
- letta_client/agents/messages/raw_client.py +109 -17
- 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 +39 -8
- 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 +39 -8
- 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 +16 -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 +16 -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 +16 -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.319.dist-info → letta_client-0.1.321.dist-info}/METADATA +9 -9
- {letta_client-0.1.319.dist-info → letta_client-0.1.321.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.319.dist-info → letta_client-0.1.321.dist-info}/WHEEL +0 -0
letta_client/agents/client.py
CHANGED
|
@@ -13,7 +13,6 @@ from ..types.embedding_config import EmbeddingConfig
|
|
|
13
13
|
from ..types.imported_agents_response import ImportedAgentsResponse
|
|
14
14
|
from ..types.llm_config import LlmConfig
|
|
15
15
|
from ..types.message_create import MessageCreate
|
|
16
|
-
from ..types.paginated_agent_files import PaginatedAgentFiles
|
|
17
16
|
from .blocks.client import AsyncBlocksClient, BlocksClient
|
|
18
17
|
from .context.client import AsyncContextClient, ContextClient
|
|
19
18
|
from .core_memory.client import AsyncCoreMemoryClient, CoreMemoryClient
|
|
@@ -27,6 +26,8 @@ from .raw_client import AsyncRawAgentsClient, RawAgentsClient
|
|
|
27
26
|
from .sources.client import AsyncSourcesClient, SourcesClient
|
|
28
27
|
from .templates.client import AsyncTemplatesClient, TemplatesClient
|
|
29
28
|
from .tools.client import AsyncToolsClient, ToolsClient
|
|
29
|
+
from .types.agents_list_request_order import AgentsListRequestOrder
|
|
30
|
+
from .types.agents_list_request_order_by import AgentsListRequestOrderBy
|
|
30
31
|
from .types.agents_search_request_search_item import AgentsSearchRequestSearchItem
|
|
31
32
|
from .types.agents_search_request_sort_by import AgentsSearchRequestSortBy
|
|
32
33
|
from .types.agents_search_response import AgentsSearchResponse
|
|
@@ -93,15 +94,14 @@ class AgentsClient:
|
|
|
93
94
|
identity_id: typing.Optional[str] = None,
|
|
94
95
|
identifier_keys: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
|
|
95
96
|
include_relationships: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
|
|
97
|
+
order: typing.Optional[AgentsListRequestOrder] = None,
|
|
98
|
+
order_by: typing.Optional[AgentsListRequestOrderBy] = None,
|
|
96
99
|
ascending: typing.Optional[bool] = None,
|
|
97
100
|
sort_by: typing.Optional[str] = None,
|
|
98
101
|
request_options: typing.Optional[RequestOptions] = None,
|
|
99
102
|
) -> typing.List[AgentState]:
|
|
100
103
|
"""
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
This endpoint retrieves a list of all agents and their configurations
|
|
104
|
-
associated with the specified user ID.
|
|
104
|
+
Get a list of all agents.
|
|
105
105
|
|
|
106
106
|
Parameters
|
|
107
107
|
----------
|
|
@@ -144,6 +144,12 @@ class AgentsClient:
|
|
|
144
144
|
include_relationships : typing.Optional[typing.Union[str, typing.Sequence[str]]]
|
|
145
145
|
Specify which relational fields (e.g., 'tools', 'sources', 'memory') to include in the response. If not provided, all relationships are loaded by default. Using this can optimize performance by reducing unnecessary joins.
|
|
146
146
|
|
|
147
|
+
order : typing.Optional[AgentsListRequestOrder]
|
|
148
|
+
Sort order for agents by creation time. 'asc' for oldest first, 'desc' for newest first
|
|
149
|
+
|
|
150
|
+
order_by : typing.Optional[AgentsListRequestOrderBy]
|
|
151
|
+
Field to sort by
|
|
152
|
+
|
|
147
153
|
ascending : typing.Optional[bool]
|
|
148
154
|
Whether to sort agents oldest to newest (True) or newest to oldest (False, default)
|
|
149
155
|
|
|
@@ -182,6 +188,8 @@ class AgentsClient:
|
|
|
182
188
|
identity_id=identity_id,
|
|
183
189
|
identifier_keys=identifier_keys,
|
|
184
190
|
include_relationships=include_relationships,
|
|
191
|
+
order=order,
|
|
192
|
+
order_by=order_by,
|
|
185
193
|
ascending=ascending,
|
|
186
194
|
sort_by=sort_by,
|
|
187
195
|
request_options=request_options,
|
|
@@ -222,6 +230,7 @@ class AgentsClient:
|
|
|
222
230
|
template: typing.Optional[bool] = OMIT,
|
|
223
231
|
project: typing.Optional[str] = OMIT,
|
|
224
232
|
tool_exec_environment_variables: typing.Optional[typing.Dict[str, typing.Optional[str]]] = OMIT,
|
|
233
|
+
secrets: typing.Optional[typing.Dict[str, typing.Optional[str]]] = OMIT,
|
|
225
234
|
memory_variables: typing.Optional[typing.Dict[str, typing.Optional[str]]] = OMIT,
|
|
226
235
|
project_id: typing.Optional[str] = OMIT,
|
|
227
236
|
template_id: typing.Optional[str] = OMIT,
|
|
@@ -237,7 +246,7 @@ class AgentsClient:
|
|
|
237
246
|
request_options: typing.Optional[RequestOptions] = None,
|
|
238
247
|
) -> AgentState:
|
|
239
248
|
"""
|
|
240
|
-
Create
|
|
249
|
+
Create an agent.
|
|
241
250
|
|
|
242
251
|
Parameters
|
|
243
252
|
----------
|
|
@@ -332,6 +341,9 @@ class AgentsClient:
|
|
|
332
341
|
Deprecated: Project should now be passed via the X-Project header instead of in the request body. If using the sdk, this can be done via the new x_project field below.
|
|
333
342
|
|
|
334
343
|
tool_exec_environment_variables : typing.Optional[typing.Dict[str, typing.Optional[str]]]
|
|
344
|
+
Deprecated: use `secrets` field instead.
|
|
345
|
+
|
|
346
|
+
secrets : typing.Optional[typing.Dict[str, typing.Optional[str]]]
|
|
335
347
|
The environment variables for tool execution specific to this agent.
|
|
336
348
|
|
|
337
349
|
memory_variables : typing.Optional[typing.Dict[str, typing.Optional[str]]]
|
|
@@ -420,6 +432,7 @@ class AgentsClient:
|
|
|
420
432
|
template=template,
|
|
421
433
|
project=project,
|
|
422
434
|
tool_exec_environment_variables=tool_exec_environment_variables,
|
|
435
|
+
secrets=secrets,
|
|
423
436
|
memory_variables=memory_variables,
|
|
424
437
|
project_id=project_id,
|
|
425
438
|
template_id=template_id,
|
|
@@ -438,7 +451,7 @@ class AgentsClient:
|
|
|
438
451
|
|
|
439
452
|
def count(self, *, request_options: typing.Optional[RequestOptions] = None) -> int:
|
|
440
453
|
"""
|
|
441
|
-
Get the
|
|
454
|
+
Get the total number of agents.
|
|
442
455
|
|
|
443
456
|
Parameters
|
|
444
457
|
----------
|
|
@@ -677,6 +690,7 @@ class AgentsClient:
|
|
|
677
690
|
description: typing.Optional[str] = OMIT,
|
|
678
691
|
metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = OMIT,
|
|
679
692
|
tool_exec_environment_variables: typing.Optional[typing.Dict[str, typing.Optional[str]]] = OMIT,
|
|
693
|
+
secrets: typing.Optional[typing.Dict[str, typing.Optional[str]]] = OMIT,
|
|
680
694
|
project_id: typing.Optional[str] = OMIT,
|
|
681
695
|
template_id: typing.Optional[str] = OMIT,
|
|
682
696
|
base_template_id: typing.Optional[str] = OMIT,
|
|
@@ -696,7 +710,7 @@ class AgentsClient:
|
|
|
696
710
|
request_options: typing.Optional[RequestOptions] = None,
|
|
697
711
|
) -> AgentState:
|
|
698
712
|
"""
|
|
699
|
-
Update an existing agent
|
|
713
|
+
Update an existing agent.
|
|
700
714
|
|
|
701
715
|
Parameters
|
|
702
716
|
----------
|
|
@@ -739,6 +753,9 @@ class AgentsClient:
|
|
|
739
753
|
The metadata of the agent.
|
|
740
754
|
|
|
741
755
|
tool_exec_environment_variables : typing.Optional[typing.Dict[str, typing.Optional[str]]]
|
|
756
|
+
Deprecated: use `secrets` field instead
|
|
757
|
+
|
|
758
|
+
secrets : typing.Optional[typing.Dict[str, typing.Optional[str]]]
|
|
742
759
|
The environment variables for tool execution specific to this agent.
|
|
743
760
|
|
|
744
761
|
project_id : typing.Optional[str]
|
|
@@ -824,6 +841,7 @@ class AgentsClient:
|
|
|
824
841
|
description=description,
|
|
825
842
|
metadata=metadata,
|
|
826
843
|
tool_exec_environment_variables=tool_exec_environment_variables,
|
|
844
|
+
secrets=secrets,
|
|
827
845
|
project_id=project_id,
|
|
828
846
|
template_id=template_id,
|
|
829
847
|
base_template_id=base_template_id,
|
|
@@ -844,97 +862,6 @@ class AgentsClient:
|
|
|
844
862
|
)
|
|
845
863
|
return _response.data
|
|
846
864
|
|
|
847
|
-
def list_agent_files(
|
|
848
|
-
self,
|
|
849
|
-
agent_id: str,
|
|
850
|
-
*,
|
|
851
|
-
cursor: typing.Optional[str] = None,
|
|
852
|
-
limit: typing.Optional[int] = None,
|
|
853
|
-
is_open: typing.Optional[bool] = None,
|
|
854
|
-
request_options: typing.Optional[RequestOptions] = None,
|
|
855
|
-
) -> PaginatedAgentFiles:
|
|
856
|
-
"""
|
|
857
|
-
Get the files attached to an agent with their open/closed status (paginated).
|
|
858
|
-
|
|
859
|
-
Parameters
|
|
860
|
-
----------
|
|
861
|
-
agent_id : str
|
|
862
|
-
|
|
863
|
-
cursor : typing.Optional[str]
|
|
864
|
-
Pagination cursor from previous response
|
|
865
|
-
|
|
866
|
-
limit : typing.Optional[int]
|
|
867
|
-
Number of items to return (1-100)
|
|
868
|
-
|
|
869
|
-
is_open : typing.Optional[bool]
|
|
870
|
-
Filter by open status (true for open files, false for closed files)
|
|
871
|
-
|
|
872
|
-
request_options : typing.Optional[RequestOptions]
|
|
873
|
-
Request-specific configuration.
|
|
874
|
-
|
|
875
|
-
Returns
|
|
876
|
-
-------
|
|
877
|
-
PaginatedAgentFiles
|
|
878
|
-
Successful Response
|
|
879
|
-
|
|
880
|
-
Examples
|
|
881
|
-
--------
|
|
882
|
-
from letta_client import Letta
|
|
883
|
-
|
|
884
|
-
client = Letta(
|
|
885
|
-
project="YOUR_PROJECT",
|
|
886
|
-
token="YOUR_TOKEN",
|
|
887
|
-
)
|
|
888
|
-
client.agents.list_agent_files(
|
|
889
|
-
agent_id="agent_id",
|
|
890
|
-
)
|
|
891
|
-
"""
|
|
892
|
-
_response = self._raw_client.list_agent_files(
|
|
893
|
-
agent_id, cursor=cursor, limit=limit, is_open=is_open, request_options=request_options
|
|
894
|
-
)
|
|
895
|
-
return _response.data
|
|
896
|
-
|
|
897
|
-
def summarize_agent_conversation(
|
|
898
|
-
self, agent_id: str, *, max_message_length: int, request_options: typing.Optional[RequestOptions] = None
|
|
899
|
-
) -> None:
|
|
900
|
-
"""
|
|
901
|
-
Summarize an agent's conversation history to a target message length.
|
|
902
|
-
|
|
903
|
-
This endpoint summarizes the current message history for a given agent,
|
|
904
|
-
truncating and compressing it down to the specified `max_message_length`.
|
|
905
|
-
|
|
906
|
-
Parameters
|
|
907
|
-
----------
|
|
908
|
-
agent_id : str
|
|
909
|
-
|
|
910
|
-
max_message_length : int
|
|
911
|
-
Maximum number of messages to retain after summarization.
|
|
912
|
-
|
|
913
|
-
request_options : typing.Optional[RequestOptions]
|
|
914
|
-
Request-specific configuration.
|
|
915
|
-
|
|
916
|
-
Returns
|
|
917
|
-
-------
|
|
918
|
-
None
|
|
919
|
-
|
|
920
|
-
Examples
|
|
921
|
-
--------
|
|
922
|
-
from letta_client import Letta
|
|
923
|
-
|
|
924
|
-
client = Letta(
|
|
925
|
-
project="YOUR_PROJECT",
|
|
926
|
-
token="YOUR_TOKEN",
|
|
927
|
-
)
|
|
928
|
-
client.agents.summarize_agent_conversation(
|
|
929
|
-
agent_id="agent_id",
|
|
930
|
-
max_message_length=1,
|
|
931
|
-
)
|
|
932
|
-
"""
|
|
933
|
-
_response = self._raw_client.summarize_agent_conversation(
|
|
934
|
-
agent_id, max_message_length=max_message_length, request_options=request_options
|
|
935
|
-
)
|
|
936
|
-
return _response.data
|
|
937
|
-
|
|
938
865
|
def search(
|
|
939
866
|
self,
|
|
940
867
|
*,
|
|
@@ -1053,15 +980,14 @@ class AsyncAgentsClient:
|
|
|
1053
980
|
identity_id: typing.Optional[str] = None,
|
|
1054
981
|
identifier_keys: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
|
|
1055
982
|
include_relationships: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
|
|
983
|
+
order: typing.Optional[AgentsListRequestOrder] = None,
|
|
984
|
+
order_by: typing.Optional[AgentsListRequestOrderBy] = None,
|
|
1056
985
|
ascending: typing.Optional[bool] = None,
|
|
1057
986
|
sort_by: typing.Optional[str] = None,
|
|
1058
987
|
request_options: typing.Optional[RequestOptions] = None,
|
|
1059
988
|
) -> typing.List[AgentState]:
|
|
1060
989
|
"""
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
This endpoint retrieves a list of all agents and their configurations
|
|
1064
|
-
associated with the specified user ID.
|
|
990
|
+
Get a list of all agents.
|
|
1065
991
|
|
|
1066
992
|
Parameters
|
|
1067
993
|
----------
|
|
@@ -1104,6 +1030,12 @@ class AsyncAgentsClient:
|
|
|
1104
1030
|
include_relationships : typing.Optional[typing.Union[str, typing.Sequence[str]]]
|
|
1105
1031
|
Specify which relational fields (e.g., 'tools', 'sources', 'memory') to include in the response. If not provided, all relationships are loaded by default. Using this can optimize performance by reducing unnecessary joins.
|
|
1106
1032
|
|
|
1033
|
+
order : typing.Optional[AgentsListRequestOrder]
|
|
1034
|
+
Sort order for agents by creation time. 'asc' for oldest first, 'desc' for newest first
|
|
1035
|
+
|
|
1036
|
+
order_by : typing.Optional[AgentsListRequestOrderBy]
|
|
1037
|
+
Field to sort by
|
|
1038
|
+
|
|
1107
1039
|
ascending : typing.Optional[bool]
|
|
1108
1040
|
Whether to sort agents oldest to newest (True) or newest to oldest (False, default)
|
|
1109
1041
|
|
|
@@ -1150,6 +1082,8 @@ class AsyncAgentsClient:
|
|
|
1150
1082
|
identity_id=identity_id,
|
|
1151
1083
|
identifier_keys=identifier_keys,
|
|
1152
1084
|
include_relationships=include_relationships,
|
|
1085
|
+
order=order,
|
|
1086
|
+
order_by=order_by,
|
|
1153
1087
|
ascending=ascending,
|
|
1154
1088
|
sort_by=sort_by,
|
|
1155
1089
|
request_options=request_options,
|
|
@@ -1190,6 +1124,7 @@ class AsyncAgentsClient:
|
|
|
1190
1124
|
template: typing.Optional[bool] = OMIT,
|
|
1191
1125
|
project: typing.Optional[str] = OMIT,
|
|
1192
1126
|
tool_exec_environment_variables: typing.Optional[typing.Dict[str, typing.Optional[str]]] = OMIT,
|
|
1127
|
+
secrets: typing.Optional[typing.Dict[str, typing.Optional[str]]] = OMIT,
|
|
1193
1128
|
memory_variables: typing.Optional[typing.Dict[str, typing.Optional[str]]] = OMIT,
|
|
1194
1129
|
project_id: typing.Optional[str] = OMIT,
|
|
1195
1130
|
template_id: typing.Optional[str] = OMIT,
|
|
@@ -1205,7 +1140,7 @@ class AsyncAgentsClient:
|
|
|
1205
1140
|
request_options: typing.Optional[RequestOptions] = None,
|
|
1206
1141
|
) -> AgentState:
|
|
1207
1142
|
"""
|
|
1208
|
-
Create
|
|
1143
|
+
Create an agent.
|
|
1209
1144
|
|
|
1210
1145
|
Parameters
|
|
1211
1146
|
----------
|
|
@@ -1300,6 +1235,9 @@ class AsyncAgentsClient:
|
|
|
1300
1235
|
Deprecated: Project should now be passed via the X-Project header instead of in the request body. If using the sdk, this can be done via the new x_project field below.
|
|
1301
1236
|
|
|
1302
1237
|
tool_exec_environment_variables : typing.Optional[typing.Dict[str, typing.Optional[str]]]
|
|
1238
|
+
Deprecated: use `secrets` field instead.
|
|
1239
|
+
|
|
1240
|
+
secrets : typing.Optional[typing.Dict[str, typing.Optional[str]]]
|
|
1303
1241
|
The environment variables for tool execution specific to this agent.
|
|
1304
1242
|
|
|
1305
1243
|
memory_variables : typing.Optional[typing.Dict[str, typing.Optional[str]]]
|
|
@@ -1396,6 +1334,7 @@ class AsyncAgentsClient:
|
|
|
1396
1334
|
template=template,
|
|
1397
1335
|
project=project,
|
|
1398
1336
|
tool_exec_environment_variables=tool_exec_environment_variables,
|
|
1337
|
+
secrets=secrets,
|
|
1399
1338
|
memory_variables=memory_variables,
|
|
1400
1339
|
project_id=project_id,
|
|
1401
1340
|
template_id=template_id,
|
|
@@ -1414,7 +1353,7 @@ class AsyncAgentsClient:
|
|
|
1414
1353
|
|
|
1415
1354
|
async def count(self, *, request_options: typing.Optional[RequestOptions] = None) -> int:
|
|
1416
1355
|
"""
|
|
1417
|
-
Get the
|
|
1356
|
+
Get the total number of agents.
|
|
1418
1357
|
|
|
1419
1358
|
Parameters
|
|
1420
1359
|
----------
|
|
@@ -1693,6 +1632,7 @@ class AsyncAgentsClient:
|
|
|
1693
1632
|
description: typing.Optional[str] = OMIT,
|
|
1694
1633
|
metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = OMIT,
|
|
1695
1634
|
tool_exec_environment_variables: typing.Optional[typing.Dict[str, typing.Optional[str]]] = OMIT,
|
|
1635
|
+
secrets: typing.Optional[typing.Dict[str, typing.Optional[str]]] = OMIT,
|
|
1696
1636
|
project_id: typing.Optional[str] = OMIT,
|
|
1697
1637
|
template_id: typing.Optional[str] = OMIT,
|
|
1698
1638
|
base_template_id: typing.Optional[str] = OMIT,
|
|
@@ -1712,7 +1652,7 @@ class AsyncAgentsClient:
|
|
|
1712
1652
|
request_options: typing.Optional[RequestOptions] = None,
|
|
1713
1653
|
) -> AgentState:
|
|
1714
1654
|
"""
|
|
1715
|
-
Update an existing agent
|
|
1655
|
+
Update an existing agent.
|
|
1716
1656
|
|
|
1717
1657
|
Parameters
|
|
1718
1658
|
----------
|
|
@@ -1755,6 +1695,9 @@ class AsyncAgentsClient:
|
|
|
1755
1695
|
The metadata of the agent.
|
|
1756
1696
|
|
|
1757
1697
|
tool_exec_environment_variables : typing.Optional[typing.Dict[str, typing.Optional[str]]]
|
|
1698
|
+
Deprecated: use `secrets` field instead
|
|
1699
|
+
|
|
1700
|
+
secrets : typing.Optional[typing.Dict[str, typing.Optional[str]]]
|
|
1758
1701
|
The environment variables for tool execution specific to this agent.
|
|
1759
1702
|
|
|
1760
1703
|
project_id : typing.Optional[str]
|
|
@@ -1848,6 +1791,7 @@ class AsyncAgentsClient:
|
|
|
1848
1791
|
description=description,
|
|
1849
1792
|
metadata=metadata,
|
|
1850
1793
|
tool_exec_environment_variables=tool_exec_environment_variables,
|
|
1794
|
+
secrets=secrets,
|
|
1851
1795
|
project_id=project_id,
|
|
1852
1796
|
template_id=template_id,
|
|
1853
1797
|
base_template_id=base_template_id,
|
|
@@ -1868,113 +1812,6 @@ class AsyncAgentsClient:
|
|
|
1868
1812
|
)
|
|
1869
1813
|
return _response.data
|
|
1870
1814
|
|
|
1871
|
-
async def list_agent_files(
|
|
1872
|
-
self,
|
|
1873
|
-
agent_id: str,
|
|
1874
|
-
*,
|
|
1875
|
-
cursor: typing.Optional[str] = None,
|
|
1876
|
-
limit: typing.Optional[int] = None,
|
|
1877
|
-
is_open: typing.Optional[bool] = None,
|
|
1878
|
-
request_options: typing.Optional[RequestOptions] = None,
|
|
1879
|
-
) -> PaginatedAgentFiles:
|
|
1880
|
-
"""
|
|
1881
|
-
Get the files attached to an agent with their open/closed status (paginated).
|
|
1882
|
-
|
|
1883
|
-
Parameters
|
|
1884
|
-
----------
|
|
1885
|
-
agent_id : str
|
|
1886
|
-
|
|
1887
|
-
cursor : typing.Optional[str]
|
|
1888
|
-
Pagination cursor from previous response
|
|
1889
|
-
|
|
1890
|
-
limit : typing.Optional[int]
|
|
1891
|
-
Number of items to return (1-100)
|
|
1892
|
-
|
|
1893
|
-
is_open : typing.Optional[bool]
|
|
1894
|
-
Filter by open status (true for open files, false for closed files)
|
|
1895
|
-
|
|
1896
|
-
request_options : typing.Optional[RequestOptions]
|
|
1897
|
-
Request-specific configuration.
|
|
1898
|
-
|
|
1899
|
-
Returns
|
|
1900
|
-
-------
|
|
1901
|
-
PaginatedAgentFiles
|
|
1902
|
-
Successful Response
|
|
1903
|
-
|
|
1904
|
-
Examples
|
|
1905
|
-
--------
|
|
1906
|
-
import asyncio
|
|
1907
|
-
|
|
1908
|
-
from letta_client import AsyncLetta
|
|
1909
|
-
|
|
1910
|
-
client = AsyncLetta(
|
|
1911
|
-
project="YOUR_PROJECT",
|
|
1912
|
-
token="YOUR_TOKEN",
|
|
1913
|
-
)
|
|
1914
|
-
|
|
1915
|
-
|
|
1916
|
-
async def main() -> None:
|
|
1917
|
-
await client.agents.list_agent_files(
|
|
1918
|
-
agent_id="agent_id",
|
|
1919
|
-
)
|
|
1920
|
-
|
|
1921
|
-
|
|
1922
|
-
asyncio.run(main())
|
|
1923
|
-
"""
|
|
1924
|
-
_response = await self._raw_client.list_agent_files(
|
|
1925
|
-
agent_id, cursor=cursor, limit=limit, is_open=is_open, request_options=request_options
|
|
1926
|
-
)
|
|
1927
|
-
return _response.data
|
|
1928
|
-
|
|
1929
|
-
async def summarize_agent_conversation(
|
|
1930
|
-
self, agent_id: str, *, max_message_length: int, request_options: typing.Optional[RequestOptions] = None
|
|
1931
|
-
) -> None:
|
|
1932
|
-
"""
|
|
1933
|
-
Summarize an agent's conversation history to a target message length.
|
|
1934
|
-
|
|
1935
|
-
This endpoint summarizes the current message history for a given agent,
|
|
1936
|
-
truncating and compressing it down to the specified `max_message_length`.
|
|
1937
|
-
|
|
1938
|
-
Parameters
|
|
1939
|
-
----------
|
|
1940
|
-
agent_id : str
|
|
1941
|
-
|
|
1942
|
-
max_message_length : int
|
|
1943
|
-
Maximum number of messages to retain after summarization.
|
|
1944
|
-
|
|
1945
|
-
request_options : typing.Optional[RequestOptions]
|
|
1946
|
-
Request-specific configuration.
|
|
1947
|
-
|
|
1948
|
-
Returns
|
|
1949
|
-
-------
|
|
1950
|
-
None
|
|
1951
|
-
|
|
1952
|
-
Examples
|
|
1953
|
-
--------
|
|
1954
|
-
import asyncio
|
|
1955
|
-
|
|
1956
|
-
from letta_client import AsyncLetta
|
|
1957
|
-
|
|
1958
|
-
client = AsyncLetta(
|
|
1959
|
-
project="YOUR_PROJECT",
|
|
1960
|
-
token="YOUR_TOKEN",
|
|
1961
|
-
)
|
|
1962
|
-
|
|
1963
|
-
|
|
1964
|
-
async def main() -> None:
|
|
1965
|
-
await client.agents.summarize_agent_conversation(
|
|
1966
|
-
agent_id="agent_id",
|
|
1967
|
-
max_message_length=1,
|
|
1968
|
-
)
|
|
1969
|
-
|
|
1970
|
-
|
|
1971
|
-
asyncio.run(main())
|
|
1972
|
-
"""
|
|
1973
|
-
_response = await self._raw_client.summarize_agent_conversation(
|
|
1974
|
-
agent_id, max_message_length=max_message_length, request_options=request_options
|
|
1975
|
-
)
|
|
1976
|
-
return _response.data
|
|
1977
|
-
|
|
1978
1815
|
async def search(
|
|
1979
1816
|
self,
|
|
1980
1817
|
*,
|
|
@@ -4,6 +4,7 @@ import typing
|
|
|
4
4
|
|
|
5
5
|
from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
|
|
6
6
|
from ...core.request_options import RequestOptions
|
|
7
|
+
from ...types.paginated_agent_files import PaginatedAgentFiles
|
|
7
8
|
from .raw_client import AsyncRawFilesClient, RawFilesClient
|
|
8
9
|
|
|
9
10
|
|
|
@@ -135,18 +136,38 @@ class FilesClient:
|
|
|
135
136
|
_response = self._raw_client.close(agent_id, file_id, request_options=request_options)
|
|
136
137
|
return _response.data
|
|
137
138
|
|
|
138
|
-
def list(
|
|
139
|
+
def list(
|
|
140
|
+
self,
|
|
141
|
+
agent_id: str,
|
|
142
|
+
*,
|
|
143
|
+
cursor: typing.Optional[str] = None,
|
|
144
|
+
limit: typing.Optional[int] = None,
|
|
145
|
+
is_open: typing.Optional[bool] = None,
|
|
146
|
+
request_options: typing.Optional[RequestOptions] = None,
|
|
147
|
+
) -> PaginatedAgentFiles:
|
|
139
148
|
"""
|
|
149
|
+
Get the files attached to an agent with their open/closed status (paginated).
|
|
150
|
+
|
|
140
151
|
Parameters
|
|
141
152
|
----------
|
|
142
153
|
agent_id : str
|
|
143
154
|
|
|
155
|
+
cursor : typing.Optional[str]
|
|
156
|
+
Pagination cursor from previous response
|
|
157
|
+
|
|
158
|
+
limit : typing.Optional[int]
|
|
159
|
+
Number of items to return (1-100)
|
|
160
|
+
|
|
161
|
+
is_open : typing.Optional[bool]
|
|
162
|
+
Filter by open status (true for open files, false for closed files)
|
|
163
|
+
|
|
144
164
|
request_options : typing.Optional[RequestOptions]
|
|
145
165
|
Request-specific configuration.
|
|
146
166
|
|
|
147
167
|
Returns
|
|
148
168
|
-------
|
|
149
|
-
|
|
169
|
+
PaginatedAgentFiles
|
|
170
|
+
Successful Response
|
|
150
171
|
|
|
151
172
|
Examples
|
|
152
173
|
--------
|
|
@@ -160,7 +181,9 @@ class FilesClient:
|
|
|
160
181
|
agent_id="agent_id",
|
|
161
182
|
)
|
|
162
183
|
"""
|
|
163
|
-
_response = self._raw_client.list(
|
|
184
|
+
_response = self._raw_client.list(
|
|
185
|
+
agent_id, cursor=cursor, limit=limit, is_open=is_open, request_options=request_options
|
|
186
|
+
)
|
|
164
187
|
return _response.data
|
|
165
188
|
|
|
166
189
|
|
|
@@ -318,18 +341,38 @@ class AsyncFilesClient:
|
|
|
318
341
|
_response = await self._raw_client.close(agent_id, file_id, request_options=request_options)
|
|
319
342
|
return _response.data
|
|
320
343
|
|
|
321
|
-
async def list(
|
|
344
|
+
async def list(
|
|
345
|
+
self,
|
|
346
|
+
agent_id: str,
|
|
347
|
+
*,
|
|
348
|
+
cursor: typing.Optional[str] = None,
|
|
349
|
+
limit: typing.Optional[int] = None,
|
|
350
|
+
is_open: typing.Optional[bool] = None,
|
|
351
|
+
request_options: typing.Optional[RequestOptions] = None,
|
|
352
|
+
) -> PaginatedAgentFiles:
|
|
322
353
|
"""
|
|
354
|
+
Get the files attached to an agent with their open/closed status (paginated).
|
|
355
|
+
|
|
323
356
|
Parameters
|
|
324
357
|
----------
|
|
325
358
|
agent_id : str
|
|
326
359
|
|
|
360
|
+
cursor : typing.Optional[str]
|
|
361
|
+
Pagination cursor from previous response
|
|
362
|
+
|
|
363
|
+
limit : typing.Optional[int]
|
|
364
|
+
Number of items to return (1-100)
|
|
365
|
+
|
|
366
|
+
is_open : typing.Optional[bool]
|
|
367
|
+
Filter by open status (true for open files, false for closed files)
|
|
368
|
+
|
|
327
369
|
request_options : typing.Optional[RequestOptions]
|
|
328
370
|
Request-specific configuration.
|
|
329
371
|
|
|
330
372
|
Returns
|
|
331
373
|
-------
|
|
332
|
-
|
|
374
|
+
PaginatedAgentFiles
|
|
375
|
+
Successful Response
|
|
333
376
|
|
|
334
377
|
Examples
|
|
335
378
|
--------
|
|
@@ -351,5 +394,7 @@ class AsyncFilesClient:
|
|
|
351
394
|
|
|
352
395
|
asyncio.run(main())
|
|
353
396
|
"""
|
|
354
|
-
_response = await self._raw_client.list(
|
|
397
|
+
_response = await self._raw_client.list(
|
|
398
|
+
agent_id, cursor=cursor, limit=limit, is_open=is_open, request_options=request_options
|
|
399
|
+
)
|
|
355
400
|
return _response.data
|