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
|
@@ -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
|
|
@@ -38,11 +39,14 @@ class RunsClient:
|
|
|
38
39
|
def list(
|
|
39
40
|
self,
|
|
40
41
|
*,
|
|
42
|
+
agent_id: typing.Optional[str] = None,
|
|
41
43
|
agent_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
|
|
42
44
|
background: typing.Optional[bool] = None,
|
|
45
|
+
stop_reason: typing.Optional[StopReasonType] = None,
|
|
43
46
|
after: typing.Optional[str] = None,
|
|
44
47
|
before: typing.Optional[str] = None,
|
|
45
48
|
limit: typing.Optional[int] = None,
|
|
49
|
+
active: typing.Optional[bool] = None,
|
|
46
50
|
ascending: typing.Optional[bool] = None,
|
|
47
51
|
request_options: typing.Optional[RequestOptions] = None,
|
|
48
52
|
) -> typing.List[Run]:
|
|
@@ -51,12 +55,18 @@ class RunsClient:
|
|
|
51
55
|
|
|
52
56
|
Parameters
|
|
53
57
|
----------
|
|
54
|
-
|
|
58
|
+
agent_id : typing.Optional[str]
|
|
55
59
|
The unique identifier of the agent associated with the run.
|
|
56
60
|
|
|
61
|
+
agent_ids : typing.Optional[typing.Union[str, typing.Sequence[str]]]
|
|
62
|
+
(DEPRECATED) The unique identifiers of the agents associated with the run.
|
|
63
|
+
|
|
57
64
|
background : typing.Optional[bool]
|
|
58
65
|
If True, filters for runs that were created in background mode.
|
|
59
66
|
|
|
67
|
+
stop_reason : typing.Optional[StopReasonType]
|
|
68
|
+
Filter runs by stop reason.
|
|
69
|
+
|
|
60
70
|
after : typing.Optional[str]
|
|
61
71
|
Cursor for pagination
|
|
62
72
|
|
|
@@ -66,6 +76,9 @@ class RunsClient:
|
|
|
66
76
|
limit : typing.Optional[int]
|
|
67
77
|
Maximum number of runs to return
|
|
68
78
|
|
|
79
|
+
active : typing.Optional[bool]
|
|
80
|
+
Filter for active runs.
|
|
81
|
+
|
|
69
82
|
ascending : typing.Optional[bool]
|
|
70
83
|
Whether to sort agents oldest to newest (True) or newest to oldest (False, default)
|
|
71
84
|
|
|
@@ -88,11 +101,14 @@ class RunsClient:
|
|
|
88
101
|
client.runs.list()
|
|
89
102
|
"""
|
|
90
103
|
_response = self._raw_client.list(
|
|
104
|
+
agent_id=agent_id,
|
|
91
105
|
agent_ids=agent_ids,
|
|
92
106
|
background=background,
|
|
107
|
+
stop_reason=stop_reason,
|
|
93
108
|
after=after,
|
|
94
109
|
before=before,
|
|
95
110
|
limit=limit,
|
|
111
|
+
active=active,
|
|
96
112
|
ascending=ascending,
|
|
97
113
|
request_options=request_options,
|
|
98
114
|
)
|
|
@@ -101,7 +117,7 @@ class RunsClient:
|
|
|
101
117
|
def list_active(
|
|
102
118
|
self,
|
|
103
119
|
*,
|
|
104
|
-
|
|
120
|
+
agent_id: typing.Optional[str] = None,
|
|
105
121
|
background: typing.Optional[bool] = None,
|
|
106
122
|
request_options: typing.Optional[RequestOptions] = None,
|
|
107
123
|
) -> typing.List[Run]:
|
|
@@ -110,7 +126,7 @@ class RunsClient:
|
|
|
110
126
|
|
|
111
127
|
Parameters
|
|
112
128
|
----------
|
|
113
|
-
|
|
129
|
+
agent_id : typing.Optional[str]
|
|
114
130
|
The unique identifier of the agent associated with the run.
|
|
115
131
|
|
|
116
132
|
background : typing.Optional[bool]
|
|
@@ -135,7 +151,7 @@ class RunsClient:
|
|
|
135
151
|
client.runs.list_active()
|
|
136
152
|
"""
|
|
137
153
|
_response = self._raw_client.list_active(
|
|
138
|
-
|
|
154
|
+
agent_id=agent_id, background=background, request_options=request_options
|
|
139
155
|
)
|
|
140
156
|
return _response.data
|
|
141
157
|
|
|
@@ -284,11 +300,14 @@ class AsyncRunsClient:
|
|
|
284
300
|
async def list(
|
|
285
301
|
self,
|
|
286
302
|
*,
|
|
303
|
+
agent_id: typing.Optional[str] = None,
|
|
287
304
|
agent_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
|
|
288
305
|
background: typing.Optional[bool] = None,
|
|
306
|
+
stop_reason: typing.Optional[StopReasonType] = None,
|
|
289
307
|
after: typing.Optional[str] = None,
|
|
290
308
|
before: typing.Optional[str] = None,
|
|
291
309
|
limit: typing.Optional[int] = None,
|
|
310
|
+
active: typing.Optional[bool] = None,
|
|
292
311
|
ascending: typing.Optional[bool] = None,
|
|
293
312
|
request_options: typing.Optional[RequestOptions] = None,
|
|
294
313
|
) -> typing.List[Run]:
|
|
@@ -297,12 +316,18 @@ class AsyncRunsClient:
|
|
|
297
316
|
|
|
298
317
|
Parameters
|
|
299
318
|
----------
|
|
300
|
-
|
|
319
|
+
agent_id : typing.Optional[str]
|
|
301
320
|
The unique identifier of the agent associated with the run.
|
|
302
321
|
|
|
322
|
+
agent_ids : typing.Optional[typing.Union[str, typing.Sequence[str]]]
|
|
323
|
+
(DEPRECATED) The unique identifiers of the agents associated with the run.
|
|
324
|
+
|
|
303
325
|
background : typing.Optional[bool]
|
|
304
326
|
If True, filters for runs that were created in background mode.
|
|
305
327
|
|
|
328
|
+
stop_reason : typing.Optional[StopReasonType]
|
|
329
|
+
Filter runs by stop reason.
|
|
330
|
+
|
|
306
331
|
after : typing.Optional[str]
|
|
307
332
|
Cursor for pagination
|
|
308
333
|
|
|
@@ -312,6 +337,9 @@ class AsyncRunsClient:
|
|
|
312
337
|
limit : typing.Optional[int]
|
|
313
338
|
Maximum number of runs to return
|
|
314
339
|
|
|
340
|
+
active : typing.Optional[bool]
|
|
341
|
+
Filter for active runs.
|
|
342
|
+
|
|
315
343
|
ascending : typing.Optional[bool]
|
|
316
344
|
Whether to sort agents oldest to newest (True) or newest to oldest (False, default)
|
|
317
345
|
|
|
@@ -342,11 +370,14 @@ class AsyncRunsClient:
|
|
|
342
370
|
asyncio.run(main())
|
|
343
371
|
"""
|
|
344
372
|
_response = await self._raw_client.list(
|
|
373
|
+
agent_id=agent_id,
|
|
345
374
|
agent_ids=agent_ids,
|
|
346
375
|
background=background,
|
|
376
|
+
stop_reason=stop_reason,
|
|
347
377
|
after=after,
|
|
348
378
|
before=before,
|
|
349
379
|
limit=limit,
|
|
380
|
+
active=active,
|
|
350
381
|
ascending=ascending,
|
|
351
382
|
request_options=request_options,
|
|
352
383
|
)
|
|
@@ -355,7 +386,7 @@ class AsyncRunsClient:
|
|
|
355
386
|
async def list_active(
|
|
356
387
|
self,
|
|
357
388
|
*,
|
|
358
|
-
|
|
389
|
+
agent_id: typing.Optional[str] = None,
|
|
359
390
|
background: typing.Optional[bool] = None,
|
|
360
391
|
request_options: typing.Optional[RequestOptions] = None,
|
|
361
392
|
) -> typing.List[Run]:
|
|
@@ -364,7 +395,7 @@ class AsyncRunsClient:
|
|
|
364
395
|
|
|
365
396
|
Parameters
|
|
366
397
|
----------
|
|
367
|
-
|
|
398
|
+
agent_id : typing.Optional[str]
|
|
368
399
|
The unique identifier of the agent associated with the run.
|
|
369
400
|
|
|
370
401
|
background : typing.Optional[bool]
|
|
@@ -397,7 +428,7 @@ class AsyncRunsClient:
|
|
|
397
428
|
asyncio.run(main())
|
|
398
429
|
"""
|
|
399
430
|
_response = await self._raw_client.list_active(
|
|
400
|
-
|
|
431
|
+
agent_id=agent_id, background=background, request_options=request_options
|
|
401
432
|
)
|
|
402
433
|
return _response.data
|
|
403
434
|
|