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
|
@@ -13,6 +13,7 @@ from ..errors.unprocessable_entity_error import UnprocessableEntityError
|
|
|
13
13
|
from ..types.http_validation_error import HttpValidationError
|
|
14
14
|
from ..types.provider import Provider
|
|
15
15
|
from ..types.provider_type import ProviderType
|
|
16
|
+
from .types.providers_list_request_order import ProvidersListRequestOrder
|
|
16
17
|
|
|
17
18
|
# this is used as the default value for optional parameters
|
|
18
19
|
OMIT = typing.cast(typing.Any, ...)
|
|
@@ -25,24 +26,40 @@ class RawProvidersClient:
|
|
|
25
26
|
def list(
|
|
26
27
|
self,
|
|
27
28
|
*,
|
|
28
|
-
|
|
29
|
-
provider_type: typing.Optional[ProviderType] = None,
|
|
29
|
+
before: typing.Optional[str] = None,
|
|
30
30
|
after: typing.Optional[str] = None,
|
|
31
31
|
limit: typing.Optional[int] = None,
|
|
32
|
+
order: typing.Optional[ProvidersListRequestOrder] = None,
|
|
33
|
+
order_by: typing.Optional[typing.Literal["created_at"]] = None,
|
|
34
|
+
name: typing.Optional[str] = None,
|
|
35
|
+
provider_type: typing.Optional[ProviderType] = None,
|
|
32
36
|
request_options: typing.Optional[RequestOptions] = None,
|
|
33
37
|
) -> HttpResponse[typing.List[Provider]]:
|
|
34
38
|
"""
|
|
35
|
-
Get a list of all custom providers
|
|
39
|
+
Get a list of all custom providers.
|
|
36
40
|
|
|
37
41
|
Parameters
|
|
38
42
|
----------
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
provider_type : typing.Optional[ProviderType]
|
|
43
|
+
before : typing.Optional[str]
|
|
44
|
+
Provider ID cursor for pagination. Returns providers that come before this provider ID in the specified sort order
|
|
42
45
|
|
|
43
46
|
after : typing.Optional[str]
|
|
47
|
+
Provider ID cursor for pagination. Returns providers that come after this provider ID in the specified sort order
|
|
44
48
|
|
|
45
49
|
limit : typing.Optional[int]
|
|
50
|
+
Maximum number of providers to return
|
|
51
|
+
|
|
52
|
+
order : typing.Optional[ProvidersListRequestOrder]
|
|
53
|
+
Sort order for providers by creation time. 'asc' for oldest first, 'desc' for newest first
|
|
54
|
+
|
|
55
|
+
order_by : typing.Optional[typing.Literal["created_at"]]
|
|
56
|
+
Field to sort by
|
|
57
|
+
|
|
58
|
+
name : typing.Optional[str]
|
|
59
|
+
Filter providers by name
|
|
60
|
+
|
|
61
|
+
provider_type : typing.Optional[ProviderType]
|
|
62
|
+
Filter providers by type
|
|
46
63
|
|
|
47
64
|
request_options : typing.Optional[RequestOptions]
|
|
48
65
|
Request-specific configuration.
|
|
@@ -56,10 +73,13 @@ class RawProvidersClient:
|
|
|
56
73
|
"v1/providers/",
|
|
57
74
|
method="GET",
|
|
58
75
|
params={
|
|
59
|
-
"
|
|
60
|
-
"provider_type": provider_type,
|
|
76
|
+
"before": before,
|
|
61
77
|
"after": after,
|
|
62
78
|
"limit": limit,
|
|
79
|
+
"order": order,
|
|
80
|
+
"order_by": order_by,
|
|
81
|
+
"name": name,
|
|
82
|
+
"provider_type": provider_type,
|
|
63
83
|
},
|
|
64
84
|
request_options=request_options,
|
|
65
85
|
)
|
|
@@ -102,7 +122,7 @@ class RawProvidersClient:
|
|
|
102
122
|
request_options: typing.Optional[RequestOptions] = None,
|
|
103
123
|
) -> HttpResponse[Provider]:
|
|
104
124
|
"""
|
|
105
|
-
Create a new custom provider
|
|
125
|
+
Create a new custom provider.
|
|
106
126
|
|
|
107
127
|
Parameters
|
|
108
128
|
----------
|
|
@@ -179,11 +199,60 @@ class RawProvidersClient:
|
|
|
179
199
|
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
|
|
180
200
|
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
|
|
181
201
|
|
|
202
|
+
def retrieve_provider(
|
|
203
|
+
self, provider_id: str, *, request_options: typing.Optional[RequestOptions] = None
|
|
204
|
+
) -> HttpResponse[Provider]:
|
|
205
|
+
"""
|
|
206
|
+
Get a provider by ID.
|
|
207
|
+
|
|
208
|
+
Parameters
|
|
209
|
+
----------
|
|
210
|
+
provider_id : str
|
|
211
|
+
|
|
212
|
+
request_options : typing.Optional[RequestOptions]
|
|
213
|
+
Request-specific configuration.
|
|
214
|
+
|
|
215
|
+
Returns
|
|
216
|
+
-------
|
|
217
|
+
HttpResponse[Provider]
|
|
218
|
+
Successful Response
|
|
219
|
+
"""
|
|
220
|
+
_response = self._client_wrapper.httpx_client.request(
|
|
221
|
+
f"v1/providers/{jsonable_encoder(provider_id)}",
|
|
222
|
+
method="GET",
|
|
223
|
+
request_options=request_options,
|
|
224
|
+
)
|
|
225
|
+
try:
|
|
226
|
+
if 200 <= _response.status_code < 300:
|
|
227
|
+
_data = typing.cast(
|
|
228
|
+
Provider,
|
|
229
|
+
construct_type(
|
|
230
|
+
type_=Provider, # type: ignore
|
|
231
|
+
object_=_response.json(),
|
|
232
|
+
),
|
|
233
|
+
)
|
|
234
|
+
return HttpResponse(response=_response, data=_data)
|
|
235
|
+
if _response.status_code == 422:
|
|
236
|
+
raise UnprocessableEntityError(
|
|
237
|
+
headers=dict(_response.headers),
|
|
238
|
+
body=typing.cast(
|
|
239
|
+
HttpValidationError,
|
|
240
|
+
construct_type(
|
|
241
|
+
type_=HttpValidationError, # type: ignore
|
|
242
|
+
object_=_response.json(),
|
|
243
|
+
),
|
|
244
|
+
),
|
|
245
|
+
)
|
|
246
|
+
_response_json = _response.json()
|
|
247
|
+
except JSONDecodeError:
|
|
248
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
|
|
249
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
|
|
250
|
+
|
|
182
251
|
def delete(
|
|
183
252
|
self, provider_id: str, *, request_options: typing.Optional[RequestOptions] = None
|
|
184
253
|
) -> HttpResponse[typing.Optional[typing.Any]]:
|
|
185
254
|
"""
|
|
186
|
-
Delete an existing custom provider
|
|
255
|
+
Delete an existing custom provider.
|
|
187
256
|
|
|
188
257
|
Parameters
|
|
189
258
|
----------
|
|
@@ -242,7 +311,7 @@ class RawProvidersClient:
|
|
|
242
311
|
request_options: typing.Optional[RequestOptions] = None,
|
|
243
312
|
) -> HttpResponse[Provider]:
|
|
244
313
|
"""
|
|
245
|
-
Update an existing custom provider
|
|
314
|
+
Update an existing custom provider.
|
|
246
315
|
|
|
247
316
|
Parameters
|
|
248
317
|
----------
|
|
@@ -313,31 +382,7 @@ class RawProvidersClient:
|
|
|
313
382
|
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
|
|
314
383
|
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
|
|
315
384
|
|
|
316
|
-
def check(
|
|
317
|
-
"""
|
|
318
|
-
Parameters
|
|
319
|
-
----------
|
|
320
|
-
request_options : typing.Optional[RequestOptions]
|
|
321
|
-
Request-specific configuration.
|
|
322
|
-
|
|
323
|
-
Returns
|
|
324
|
-
-------
|
|
325
|
-
HttpResponse[None]
|
|
326
|
-
"""
|
|
327
|
-
_response = self._client_wrapper.httpx_client.request(
|
|
328
|
-
"v1/providers/check",
|
|
329
|
-
method="GET",
|
|
330
|
-
request_options=request_options,
|
|
331
|
-
)
|
|
332
|
-
try:
|
|
333
|
-
if 200 <= _response.status_code < 300:
|
|
334
|
-
return HttpResponse(response=_response, data=None)
|
|
335
|
-
_response_json = _response.json()
|
|
336
|
-
except JSONDecodeError:
|
|
337
|
-
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
|
|
338
|
-
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
|
|
339
|
-
|
|
340
|
-
def check_provider(
|
|
385
|
+
def check(
|
|
341
386
|
self,
|
|
342
387
|
*,
|
|
343
388
|
provider_type: ProviderType,
|
|
@@ -349,6 +394,8 @@ class RawProvidersClient:
|
|
|
349
394
|
request_options: typing.Optional[RequestOptions] = None,
|
|
350
395
|
) -> HttpResponse[typing.Optional[typing.Any]]:
|
|
351
396
|
"""
|
|
397
|
+
Verify the API key and additional parameters for a provider.
|
|
398
|
+
|
|
352
399
|
Parameters
|
|
353
400
|
----------
|
|
354
401
|
provider_type : ProviderType
|
|
@@ -430,24 +477,40 @@ class AsyncRawProvidersClient:
|
|
|
430
477
|
async def list(
|
|
431
478
|
self,
|
|
432
479
|
*,
|
|
433
|
-
|
|
434
|
-
provider_type: typing.Optional[ProviderType] = None,
|
|
480
|
+
before: typing.Optional[str] = None,
|
|
435
481
|
after: typing.Optional[str] = None,
|
|
436
482
|
limit: typing.Optional[int] = None,
|
|
483
|
+
order: typing.Optional[ProvidersListRequestOrder] = None,
|
|
484
|
+
order_by: typing.Optional[typing.Literal["created_at"]] = None,
|
|
485
|
+
name: typing.Optional[str] = None,
|
|
486
|
+
provider_type: typing.Optional[ProviderType] = None,
|
|
437
487
|
request_options: typing.Optional[RequestOptions] = None,
|
|
438
488
|
) -> AsyncHttpResponse[typing.List[Provider]]:
|
|
439
489
|
"""
|
|
440
|
-
Get a list of all custom providers
|
|
490
|
+
Get a list of all custom providers.
|
|
441
491
|
|
|
442
492
|
Parameters
|
|
443
493
|
----------
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
provider_type : typing.Optional[ProviderType]
|
|
494
|
+
before : typing.Optional[str]
|
|
495
|
+
Provider ID cursor for pagination. Returns providers that come before this provider ID in the specified sort order
|
|
447
496
|
|
|
448
497
|
after : typing.Optional[str]
|
|
498
|
+
Provider ID cursor for pagination. Returns providers that come after this provider ID in the specified sort order
|
|
449
499
|
|
|
450
500
|
limit : typing.Optional[int]
|
|
501
|
+
Maximum number of providers to return
|
|
502
|
+
|
|
503
|
+
order : typing.Optional[ProvidersListRequestOrder]
|
|
504
|
+
Sort order for providers by creation time. 'asc' for oldest first, 'desc' for newest first
|
|
505
|
+
|
|
506
|
+
order_by : typing.Optional[typing.Literal["created_at"]]
|
|
507
|
+
Field to sort by
|
|
508
|
+
|
|
509
|
+
name : typing.Optional[str]
|
|
510
|
+
Filter providers by name
|
|
511
|
+
|
|
512
|
+
provider_type : typing.Optional[ProviderType]
|
|
513
|
+
Filter providers by type
|
|
451
514
|
|
|
452
515
|
request_options : typing.Optional[RequestOptions]
|
|
453
516
|
Request-specific configuration.
|
|
@@ -461,10 +524,13 @@ class AsyncRawProvidersClient:
|
|
|
461
524
|
"v1/providers/",
|
|
462
525
|
method="GET",
|
|
463
526
|
params={
|
|
464
|
-
"
|
|
465
|
-
"provider_type": provider_type,
|
|
527
|
+
"before": before,
|
|
466
528
|
"after": after,
|
|
467
529
|
"limit": limit,
|
|
530
|
+
"order": order,
|
|
531
|
+
"order_by": order_by,
|
|
532
|
+
"name": name,
|
|
533
|
+
"provider_type": provider_type,
|
|
468
534
|
},
|
|
469
535
|
request_options=request_options,
|
|
470
536
|
)
|
|
@@ -507,7 +573,7 @@ class AsyncRawProvidersClient:
|
|
|
507
573
|
request_options: typing.Optional[RequestOptions] = None,
|
|
508
574
|
) -> AsyncHttpResponse[Provider]:
|
|
509
575
|
"""
|
|
510
|
-
Create a new custom provider
|
|
576
|
+
Create a new custom provider.
|
|
511
577
|
|
|
512
578
|
Parameters
|
|
513
579
|
----------
|
|
@@ -584,11 +650,60 @@ class AsyncRawProvidersClient:
|
|
|
584
650
|
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
|
|
585
651
|
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
|
|
586
652
|
|
|
653
|
+
async def retrieve_provider(
|
|
654
|
+
self, provider_id: str, *, request_options: typing.Optional[RequestOptions] = None
|
|
655
|
+
) -> AsyncHttpResponse[Provider]:
|
|
656
|
+
"""
|
|
657
|
+
Get a provider by ID.
|
|
658
|
+
|
|
659
|
+
Parameters
|
|
660
|
+
----------
|
|
661
|
+
provider_id : str
|
|
662
|
+
|
|
663
|
+
request_options : typing.Optional[RequestOptions]
|
|
664
|
+
Request-specific configuration.
|
|
665
|
+
|
|
666
|
+
Returns
|
|
667
|
+
-------
|
|
668
|
+
AsyncHttpResponse[Provider]
|
|
669
|
+
Successful Response
|
|
670
|
+
"""
|
|
671
|
+
_response = await self._client_wrapper.httpx_client.request(
|
|
672
|
+
f"v1/providers/{jsonable_encoder(provider_id)}",
|
|
673
|
+
method="GET",
|
|
674
|
+
request_options=request_options,
|
|
675
|
+
)
|
|
676
|
+
try:
|
|
677
|
+
if 200 <= _response.status_code < 300:
|
|
678
|
+
_data = typing.cast(
|
|
679
|
+
Provider,
|
|
680
|
+
construct_type(
|
|
681
|
+
type_=Provider, # type: ignore
|
|
682
|
+
object_=_response.json(),
|
|
683
|
+
),
|
|
684
|
+
)
|
|
685
|
+
return AsyncHttpResponse(response=_response, data=_data)
|
|
686
|
+
if _response.status_code == 422:
|
|
687
|
+
raise UnprocessableEntityError(
|
|
688
|
+
headers=dict(_response.headers),
|
|
689
|
+
body=typing.cast(
|
|
690
|
+
HttpValidationError,
|
|
691
|
+
construct_type(
|
|
692
|
+
type_=HttpValidationError, # type: ignore
|
|
693
|
+
object_=_response.json(),
|
|
694
|
+
),
|
|
695
|
+
),
|
|
696
|
+
)
|
|
697
|
+
_response_json = _response.json()
|
|
698
|
+
except JSONDecodeError:
|
|
699
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
|
|
700
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
|
|
701
|
+
|
|
587
702
|
async def delete(
|
|
588
703
|
self, provider_id: str, *, request_options: typing.Optional[RequestOptions] = None
|
|
589
704
|
) -> AsyncHttpResponse[typing.Optional[typing.Any]]:
|
|
590
705
|
"""
|
|
591
|
-
Delete an existing custom provider
|
|
706
|
+
Delete an existing custom provider.
|
|
592
707
|
|
|
593
708
|
Parameters
|
|
594
709
|
----------
|
|
@@ -647,7 +762,7 @@ class AsyncRawProvidersClient:
|
|
|
647
762
|
request_options: typing.Optional[RequestOptions] = None,
|
|
648
763
|
) -> AsyncHttpResponse[Provider]:
|
|
649
764
|
"""
|
|
650
|
-
Update an existing custom provider
|
|
765
|
+
Update an existing custom provider.
|
|
651
766
|
|
|
652
767
|
Parameters
|
|
653
768
|
----------
|
|
@@ -718,31 +833,7 @@ class AsyncRawProvidersClient:
|
|
|
718
833
|
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
|
|
719
834
|
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
|
|
720
835
|
|
|
721
|
-
async def check(
|
|
722
|
-
"""
|
|
723
|
-
Parameters
|
|
724
|
-
----------
|
|
725
|
-
request_options : typing.Optional[RequestOptions]
|
|
726
|
-
Request-specific configuration.
|
|
727
|
-
|
|
728
|
-
Returns
|
|
729
|
-
-------
|
|
730
|
-
AsyncHttpResponse[None]
|
|
731
|
-
"""
|
|
732
|
-
_response = await self._client_wrapper.httpx_client.request(
|
|
733
|
-
"v1/providers/check",
|
|
734
|
-
method="GET",
|
|
735
|
-
request_options=request_options,
|
|
736
|
-
)
|
|
737
|
-
try:
|
|
738
|
-
if 200 <= _response.status_code < 300:
|
|
739
|
-
return AsyncHttpResponse(response=_response, data=None)
|
|
740
|
-
_response_json = _response.json()
|
|
741
|
-
except JSONDecodeError:
|
|
742
|
-
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
|
|
743
|
-
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
|
|
744
|
-
|
|
745
|
-
async def check_provider(
|
|
836
|
+
async def check(
|
|
746
837
|
self,
|
|
747
838
|
*,
|
|
748
839
|
provider_type: ProviderType,
|
|
@@ -754,6 +845,8 @@ class AsyncRawProvidersClient:
|
|
|
754
845
|
request_options: typing.Optional[RequestOptions] = None,
|
|
755
846
|
) -> AsyncHttpResponse[typing.Optional[typing.Any]]:
|
|
756
847
|
"""
|
|
848
|
+
Verify the API key and additional parameters for a provider.
|
|
849
|
+
|
|
757
850
|
Parameters
|
|
758
851
|
----------
|
|
759
852
|
provider_type : ProviderType
|
letta_client/runs/__init__.py
CHANGED
|
@@ -4,5 +4,6 @@
|
|
|
4
4
|
|
|
5
5
|
from .types import LettaStreamingResponse
|
|
6
6
|
from . import messages, steps, usage
|
|
7
|
+
from .messages import MessagesListRequestOrder
|
|
7
8
|
|
|
8
|
-
__all__ = ["LettaStreamingResponse", "messages", "steps", "usage"]
|
|
9
|
+
__all__ = ["LettaStreamingResponse", "MessagesListRequestOrder", "messages", "steps", "usage"]
|
letta_client/runs/client.py
CHANGED
|
@@ -5,6 +5,7 @@ import typing
|
|
|
5
5
|
from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
|
|
6
6
|
from ..core.request_options import RequestOptions
|
|
7
7
|
from ..types.run import Run
|
|
8
|
+
from ..types.stop_reason_type import StopReasonType
|
|
8
9
|
from .messages.client import AsyncMessagesClient, MessagesClient
|
|
9
10
|
from .raw_client import AsyncRawRunsClient, RawRunsClient
|
|
10
11
|
from .steps.client import AsyncStepsClient, StepsClient
|
|
@@ -40,9 +41,11 @@ class RunsClient:
|
|
|
40
41
|
*,
|
|
41
42
|
agent_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
|
|
42
43
|
background: typing.Optional[bool] = None,
|
|
44
|
+
stop_reason: typing.Optional[StopReasonType] = None,
|
|
43
45
|
after: typing.Optional[str] = None,
|
|
44
46
|
before: typing.Optional[str] = None,
|
|
45
47
|
limit: typing.Optional[int] = None,
|
|
48
|
+
active: typing.Optional[bool] = None,
|
|
46
49
|
ascending: typing.Optional[bool] = None,
|
|
47
50
|
request_options: typing.Optional[RequestOptions] = None,
|
|
48
51
|
) -> typing.List[Run]:
|
|
@@ -57,6 +60,9 @@ class RunsClient:
|
|
|
57
60
|
background : typing.Optional[bool]
|
|
58
61
|
If True, filters for runs that were created in background mode.
|
|
59
62
|
|
|
63
|
+
stop_reason : typing.Optional[StopReasonType]
|
|
64
|
+
Filter runs by stop reason.
|
|
65
|
+
|
|
60
66
|
after : typing.Optional[str]
|
|
61
67
|
Cursor for pagination
|
|
62
68
|
|
|
@@ -66,6 +72,9 @@ class RunsClient:
|
|
|
66
72
|
limit : typing.Optional[int]
|
|
67
73
|
Maximum number of runs to return
|
|
68
74
|
|
|
75
|
+
active : typing.Optional[bool]
|
|
76
|
+
Filter for active runs.
|
|
77
|
+
|
|
69
78
|
ascending : typing.Optional[bool]
|
|
70
79
|
Whether to sort agents oldest to newest (True) or newest to oldest (False, default)
|
|
71
80
|
|
|
@@ -90,9 +99,11 @@ class RunsClient:
|
|
|
90
99
|
_response = self._raw_client.list(
|
|
91
100
|
agent_ids=agent_ids,
|
|
92
101
|
background=background,
|
|
102
|
+
stop_reason=stop_reason,
|
|
93
103
|
after=after,
|
|
94
104
|
before=before,
|
|
95
105
|
limit=limit,
|
|
106
|
+
active=active,
|
|
96
107
|
ascending=ascending,
|
|
97
108
|
request_options=request_options,
|
|
98
109
|
)
|
|
@@ -286,9 +297,11 @@ class AsyncRunsClient:
|
|
|
286
297
|
*,
|
|
287
298
|
agent_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
|
|
288
299
|
background: typing.Optional[bool] = None,
|
|
300
|
+
stop_reason: typing.Optional[StopReasonType] = None,
|
|
289
301
|
after: typing.Optional[str] = None,
|
|
290
302
|
before: typing.Optional[str] = None,
|
|
291
303
|
limit: typing.Optional[int] = None,
|
|
304
|
+
active: typing.Optional[bool] = None,
|
|
292
305
|
ascending: typing.Optional[bool] = None,
|
|
293
306
|
request_options: typing.Optional[RequestOptions] = None,
|
|
294
307
|
) -> typing.List[Run]:
|
|
@@ -303,6 +316,9 @@ class AsyncRunsClient:
|
|
|
303
316
|
background : typing.Optional[bool]
|
|
304
317
|
If True, filters for runs that were created in background mode.
|
|
305
318
|
|
|
319
|
+
stop_reason : typing.Optional[StopReasonType]
|
|
320
|
+
Filter runs by stop reason.
|
|
321
|
+
|
|
306
322
|
after : typing.Optional[str]
|
|
307
323
|
Cursor for pagination
|
|
308
324
|
|
|
@@ -312,6 +328,9 @@ class AsyncRunsClient:
|
|
|
312
328
|
limit : typing.Optional[int]
|
|
313
329
|
Maximum number of runs to return
|
|
314
330
|
|
|
331
|
+
active : typing.Optional[bool]
|
|
332
|
+
Filter for active runs.
|
|
333
|
+
|
|
315
334
|
ascending : typing.Optional[bool]
|
|
316
335
|
Whether to sort agents oldest to newest (True) or newest to oldest (False, default)
|
|
317
336
|
|
|
@@ -344,9 +363,11 @@ class AsyncRunsClient:
|
|
|
344
363
|
_response = await self._raw_client.list(
|
|
345
364
|
agent_ids=agent_ids,
|
|
346
365
|
background=background,
|
|
366
|
+
stop_reason=stop_reason,
|
|
347
367
|
after=after,
|
|
348
368
|
before=before,
|
|
349
369
|
limit=limit,
|
|
370
|
+
active=active,
|
|
350
371
|
ascending=ascending,
|
|
351
372
|
request_options=request_options,
|
|
352
373
|
)
|
|
@@ -5,8 +5,8 @@ import typing
|
|
|
5
5
|
from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
|
|
6
6
|
from ...core.request_options import RequestOptions
|
|
7
7
|
from ...types.letta_message_union import LettaMessageUnion
|
|
8
|
-
from ...types.message_role import MessageRole
|
|
9
8
|
from .raw_client import AsyncRawMessagesClient, RawMessagesClient
|
|
9
|
+
from .types.messages_list_request_order import MessagesListRequestOrder
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
class MessagesClient:
|
|
@@ -31,44 +31,27 @@ class MessagesClient:
|
|
|
31
31
|
before: typing.Optional[str] = None,
|
|
32
32
|
after: typing.Optional[str] = None,
|
|
33
33
|
limit: typing.Optional[int] = None,
|
|
34
|
-
order: typing.Optional[
|
|
35
|
-
role: typing.Optional[MessageRole] = None,
|
|
34
|
+
order: typing.Optional[MessagesListRequestOrder] = None,
|
|
36
35
|
request_options: typing.Optional[RequestOptions] = None,
|
|
37
36
|
) -> typing.List[LettaMessageUnion]:
|
|
38
37
|
"""
|
|
39
|
-
Get messages associated with a run
|
|
40
|
-
|
|
41
|
-
Args:
|
|
42
|
-
run_id: ID of the run
|
|
43
|
-
before: A cursor for use in pagination. `before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_foo, your subsequent call can include before=obj_foo in order to fetch the previous page of the list.
|
|
44
|
-
after: A cursor for use in pagination. `after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include after=obj_foo in order to fetch the next page of the list.
|
|
45
|
-
limit: Maximum number of messages to return
|
|
46
|
-
order: Sort order by the created_at timestamp of the objects. asc for ascending order and desc for descending order.
|
|
47
|
-
role: Filter by role (user/assistant/system/tool)
|
|
48
|
-
return_message_object: Whether to return Message objects or LettaMessage objects
|
|
49
|
-
user_id: ID of the user making the request
|
|
50
|
-
|
|
51
|
-
Returns:
|
|
52
|
-
A list of messages associated with the run. Default is List[LettaMessage].
|
|
38
|
+
Get response messages associated with a run.
|
|
53
39
|
|
|
54
40
|
Parameters
|
|
55
41
|
----------
|
|
56
42
|
run_id : str
|
|
57
43
|
|
|
58
44
|
before : typing.Optional[str]
|
|
59
|
-
|
|
45
|
+
Message ID cursor for pagination. Returns messages that come before this message ID in the specified sort order
|
|
60
46
|
|
|
61
47
|
after : typing.Optional[str]
|
|
62
|
-
|
|
48
|
+
Message ID cursor for pagination. Returns messages that come after this message ID in the specified sort order
|
|
63
49
|
|
|
64
50
|
limit : typing.Optional[int]
|
|
65
51
|
Maximum number of messages to return
|
|
66
52
|
|
|
67
|
-
order : typing.Optional[
|
|
68
|
-
Sort order
|
|
69
|
-
|
|
70
|
-
role : typing.Optional[MessageRole]
|
|
71
|
-
Filter by role
|
|
53
|
+
order : typing.Optional[MessagesListRequestOrder]
|
|
54
|
+
Sort order for messages by creation time. 'asc' for oldest first, 'desc' for newest first
|
|
72
55
|
|
|
73
56
|
request_options : typing.Optional[RequestOptions]
|
|
74
57
|
Request-specific configuration.
|
|
@@ -91,7 +74,7 @@ class MessagesClient:
|
|
|
91
74
|
)
|
|
92
75
|
"""
|
|
93
76
|
_response = self._raw_client.list(
|
|
94
|
-
run_id, before=before, after=after, limit=limit, order=order,
|
|
77
|
+
run_id, before=before, after=after, limit=limit, order=order, request_options=request_options
|
|
95
78
|
)
|
|
96
79
|
return _response.data
|
|
97
80
|
|
|
@@ -118,44 +101,27 @@ class AsyncMessagesClient:
|
|
|
118
101
|
before: typing.Optional[str] = None,
|
|
119
102
|
after: typing.Optional[str] = None,
|
|
120
103
|
limit: typing.Optional[int] = None,
|
|
121
|
-
order: typing.Optional[
|
|
122
|
-
role: typing.Optional[MessageRole] = None,
|
|
104
|
+
order: typing.Optional[MessagesListRequestOrder] = None,
|
|
123
105
|
request_options: typing.Optional[RequestOptions] = None,
|
|
124
106
|
) -> typing.List[LettaMessageUnion]:
|
|
125
107
|
"""
|
|
126
|
-
Get messages associated with a run
|
|
127
|
-
|
|
128
|
-
Args:
|
|
129
|
-
run_id: ID of the run
|
|
130
|
-
before: A cursor for use in pagination. `before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_foo, your subsequent call can include before=obj_foo in order to fetch the previous page of the list.
|
|
131
|
-
after: A cursor for use in pagination. `after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include after=obj_foo in order to fetch the next page of the list.
|
|
132
|
-
limit: Maximum number of messages to return
|
|
133
|
-
order: Sort order by the created_at timestamp of the objects. asc for ascending order and desc for descending order.
|
|
134
|
-
role: Filter by role (user/assistant/system/tool)
|
|
135
|
-
return_message_object: Whether to return Message objects or LettaMessage objects
|
|
136
|
-
user_id: ID of the user making the request
|
|
137
|
-
|
|
138
|
-
Returns:
|
|
139
|
-
A list of messages associated with the run. Default is List[LettaMessage].
|
|
108
|
+
Get response messages associated with a run.
|
|
140
109
|
|
|
141
110
|
Parameters
|
|
142
111
|
----------
|
|
143
112
|
run_id : str
|
|
144
113
|
|
|
145
114
|
before : typing.Optional[str]
|
|
146
|
-
|
|
115
|
+
Message ID cursor for pagination. Returns messages that come before this message ID in the specified sort order
|
|
147
116
|
|
|
148
117
|
after : typing.Optional[str]
|
|
149
|
-
|
|
118
|
+
Message ID cursor for pagination. Returns messages that come after this message ID in the specified sort order
|
|
150
119
|
|
|
151
120
|
limit : typing.Optional[int]
|
|
152
121
|
Maximum number of messages to return
|
|
153
122
|
|
|
154
|
-
order : typing.Optional[
|
|
155
|
-
Sort order
|
|
156
|
-
|
|
157
|
-
role : typing.Optional[MessageRole]
|
|
158
|
-
Filter by role
|
|
123
|
+
order : typing.Optional[MessagesListRequestOrder]
|
|
124
|
+
Sort order for messages by creation time. 'asc' for oldest first, 'desc' for newest first
|
|
159
125
|
|
|
160
126
|
request_options : typing.Optional[RequestOptions]
|
|
161
127
|
Request-specific configuration.
|
|
@@ -186,6 +152,6 @@ class AsyncMessagesClient:
|
|
|
186
152
|
asyncio.run(main())
|
|
187
153
|
"""
|
|
188
154
|
_response = await self._raw_client.list(
|
|
189
|
-
run_id, before=before, after=after, limit=limit, order=order,
|
|
155
|
+
run_id, before=before, after=after, limit=limit, order=order, request_options=request_options
|
|
190
156
|
)
|
|
191
157
|
return _response.data
|