letta-client 0.1.114__py3-none-any.whl → 0.1.115__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 +20 -1
- letta_client/base_client.py +4 -0
- letta_client/client_side_access_tokens/__init__.py +19 -0
- letta_client/client_side_access_tokens/client.py +365 -0
- letta_client/client_side_access_tokens/types/__init__.py +29 -0
- letta_client/client_side_access_tokens/types/client_side_access_tokens_create_client_side_access_token_request_policy_item.py +24 -0
- letta_client/client_side_access_tokens/types/client_side_access_tokens_create_client_side_access_token_request_policy_item_access_item.py +7 -0
- letta_client/client_side_access_tokens/types/client_side_access_tokens_create_client_side_access_token_response.py +27 -0
- letta_client/client_side_access_tokens/types/client_side_access_tokens_create_client_side_access_token_response_policy.py +23 -0
- letta_client/client_side_access_tokens/types/client_side_access_tokens_create_client_side_access_token_response_policy_data_item.py +24 -0
- letta_client/client_side_access_tokens/types/client_side_access_tokens_create_client_side_access_token_response_policy_data_item_access_item.py +7 -0
- letta_client/core/client_wrapper.py +1 -1
- letta_client/errors/__init__.py +2 -1
- letta_client/errors/bad_request_error.py +9 -0
- letta_client/types/__init__.py +2 -0
- letta_client/types/bad_request_error_body.py +19 -0
- {letta_client-0.1.114.dist-info → letta_client-0.1.115.dist-info}/METADATA +1 -1
- {letta_client-0.1.114.dist-info → letta_client-0.1.115.dist-info}/RECORD +19 -8
- {letta_client-0.1.114.dist-info → letta_client-0.1.115.dist-info}/WHEEL +0 -0
letta_client/__init__.py
CHANGED
|
@@ -19,6 +19,7 @@ from .types import (
|
|
|
19
19
|
AuthRequest,
|
|
20
20
|
AuthResponse,
|
|
21
21
|
AuthSchemeField,
|
|
22
|
+
BadRequestErrorBody,
|
|
22
23
|
BaseToolRuleSchema,
|
|
23
24
|
Block,
|
|
24
25
|
BlockUpdate,
|
|
@@ -220,10 +221,11 @@ from .types import (
|
|
|
220
221
|
WebSearchOptionsUserLocation,
|
|
221
222
|
WebSearchOptionsUserLocationApproximate,
|
|
222
223
|
)
|
|
223
|
-
from .errors import ConflictError, InternalServerError, NotFoundError, UnprocessableEntityError
|
|
224
|
+
from .errors import BadRequestError, ConflictError, InternalServerError, NotFoundError, UnprocessableEntityError
|
|
224
225
|
from . import (
|
|
225
226
|
agents,
|
|
226
227
|
blocks,
|
|
228
|
+
client_side_access_tokens,
|
|
227
229
|
groups,
|
|
228
230
|
health,
|
|
229
231
|
identities,
|
|
@@ -250,6 +252,14 @@ from .agents import (
|
|
|
250
252
|
UpdateAgentToolRulesItem,
|
|
251
253
|
)
|
|
252
254
|
from .client import AsyncLetta, Letta
|
|
255
|
+
from .client_side_access_tokens import (
|
|
256
|
+
ClientSideAccessTokensCreateClientSideAccessTokenRequestPolicyItem,
|
|
257
|
+
ClientSideAccessTokensCreateClientSideAccessTokenRequestPolicyItemAccessItem,
|
|
258
|
+
ClientSideAccessTokensCreateClientSideAccessTokenResponse,
|
|
259
|
+
ClientSideAccessTokensCreateClientSideAccessTokenResponsePolicy,
|
|
260
|
+
ClientSideAccessTokensCreateClientSideAccessTokenResponsePolicyDataItem,
|
|
261
|
+
ClientSideAccessTokensCreateClientSideAccessTokenResponsePolicyDataItemAccessItem,
|
|
262
|
+
)
|
|
253
263
|
from .environment import LettaEnvironment
|
|
254
264
|
from .groups import GroupCreateManagerConfig, GroupUpdateManagerConfig
|
|
255
265
|
from .templates import TemplatesCreateAgentsResponse
|
|
@@ -291,6 +301,8 @@ __all__ = [
|
|
|
291
301
|
"AuthRequest",
|
|
292
302
|
"AuthResponse",
|
|
293
303
|
"AuthSchemeField",
|
|
304
|
+
"BadRequestError",
|
|
305
|
+
"BadRequestErrorBody",
|
|
294
306
|
"BaseToolRuleSchema",
|
|
295
307
|
"Block",
|
|
296
308
|
"BlockUpdate",
|
|
@@ -324,6 +336,12 @@ __all__ = [
|
|
|
324
336
|
"ChatCompletionUserMessageParamContentItem",
|
|
325
337
|
"ChildToolRule",
|
|
326
338
|
"ChildToolRuleSchema",
|
|
339
|
+
"ClientSideAccessTokensCreateClientSideAccessTokenRequestPolicyItem",
|
|
340
|
+
"ClientSideAccessTokensCreateClientSideAccessTokenRequestPolicyItemAccessItem",
|
|
341
|
+
"ClientSideAccessTokensCreateClientSideAccessTokenResponse",
|
|
342
|
+
"ClientSideAccessTokensCreateClientSideAccessTokenResponsePolicy",
|
|
343
|
+
"ClientSideAccessTokensCreateClientSideAccessTokenResponsePolicyDataItem",
|
|
344
|
+
"ClientSideAccessTokensCreateClientSideAccessTokenResponsePolicyDataItemAccessItem",
|
|
327
345
|
"CompletionCreateParamsNonStreaming",
|
|
328
346
|
"CompletionCreateParamsNonStreamingFunctionCall",
|
|
329
347
|
"CompletionCreateParamsNonStreamingMessagesItem",
|
|
@@ -508,6 +526,7 @@ __all__ = [
|
|
|
508
526
|
"__version__",
|
|
509
527
|
"agents",
|
|
510
528
|
"blocks",
|
|
529
|
+
"client_side_access_tokens",
|
|
511
530
|
"groups",
|
|
512
531
|
"health",
|
|
513
532
|
"identities",
|
letta_client/base_client.py
CHANGED
|
@@ -19,6 +19,7 @@ from .steps.client import StepsClient
|
|
|
19
19
|
from .tag.client import TagClient
|
|
20
20
|
from .voice.client import VoiceClient
|
|
21
21
|
from .templates.client import TemplatesClient
|
|
22
|
+
from .client_side_access_tokens.client import ClientSideAccessTokensClient
|
|
22
23
|
from .core.client_wrapper import AsyncClientWrapper
|
|
23
24
|
from .tools.client import AsyncToolsClient
|
|
24
25
|
from .sources.client import AsyncSourcesClient
|
|
@@ -35,6 +36,7 @@ from .steps.client import AsyncStepsClient
|
|
|
35
36
|
from .tag.client import AsyncTagClient
|
|
36
37
|
from .voice.client import AsyncVoiceClient
|
|
37
38
|
from .templates.client import AsyncTemplatesClient
|
|
39
|
+
from .client_side_access_tokens.client import AsyncClientSideAccessTokensClient
|
|
38
40
|
|
|
39
41
|
|
|
40
42
|
class LettaBase:
|
|
@@ -110,6 +112,7 @@ class LettaBase:
|
|
|
110
112
|
self.tag = TagClient(client_wrapper=self._client_wrapper)
|
|
111
113
|
self.voice = VoiceClient(client_wrapper=self._client_wrapper)
|
|
112
114
|
self.templates = TemplatesClient(client_wrapper=self._client_wrapper)
|
|
115
|
+
self.client_side_access_tokens = ClientSideAccessTokensClient(client_wrapper=self._client_wrapper)
|
|
113
116
|
|
|
114
117
|
|
|
115
118
|
class AsyncLettaBase:
|
|
@@ -185,6 +188,7 @@ class AsyncLettaBase:
|
|
|
185
188
|
self.tag = AsyncTagClient(client_wrapper=self._client_wrapper)
|
|
186
189
|
self.voice = AsyncVoiceClient(client_wrapper=self._client_wrapper)
|
|
187
190
|
self.templates = AsyncTemplatesClient(client_wrapper=self._client_wrapper)
|
|
191
|
+
self.client_side_access_tokens = AsyncClientSideAccessTokensClient(client_wrapper=self._client_wrapper)
|
|
188
192
|
|
|
189
193
|
|
|
190
194
|
def _get_base_url(*, base_url: typing.Optional[str] = None, environment: LettaEnvironment) -> str:
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
from .types import (
|
|
4
|
+
ClientSideAccessTokensCreateClientSideAccessTokenRequestPolicyItem,
|
|
5
|
+
ClientSideAccessTokensCreateClientSideAccessTokenRequestPolicyItemAccessItem,
|
|
6
|
+
ClientSideAccessTokensCreateClientSideAccessTokenResponse,
|
|
7
|
+
ClientSideAccessTokensCreateClientSideAccessTokenResponsePolicy,
|
|
8
|
+
ClientSideAccessTokensCreateClientSideAccessTokenResponsePolicyDataItem,
|
|
9
|
+
ClientSideAccessTokensCreateClientSideAccessTokenResponsePolicyDataItemAccessItem,
|
|
10
|
+
)
|
|
11
|
+
|
|
12
|
+
__all__ = [
|
|
13
|
+
"ClientSideAccessTokensCreateClientSideAccessTokenRequestPolicyItem",
|
|
14
|
+
"ClientSideAccessTokensCreateClientSideAccessTokenRequestPolicyItemAccessItem",
|
|
15
|
+
"ClientSideAccessTokensCreateClientSideAccessTokenResponse",
|
|
16
|
+
"ClientSideAccessTokensCreateClientSideAccessTokenResponsePolicy",
|
|
17
|
+
"ClientSideAccessTokensCreateClientSideAccessTokenResponsePolicyDataItem",
|
|
18
|
+
"ClientSideAccessTokensCreateClientSideAccessTokenResponsePolicyDataItemAccessItem",
|
|
19
|
+
]
|
|
@@ -0,0 +1,365 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
from ..core.client_wrapper import SyncClientWrapper
|
|
5
|
+
from .types.client_side_access_tokens_create_client_side_access_token_request_policy_item import (
|
|
6
|
+
ClientSideAccessTokensCreateClientSideAccessTokenRequestPolicyItem,
|
|
7
|
+
)
|
|
8
|
+
from ..core.request_options import RequestOptions
|
|
9
|
+
from .types.client_side_access_tokens_create_client_side_access_token_response import (
|
|
10
|
+
ClientSideAccessTokensCreateClientSideAccessTokenResponse,
|
|
11
|
+
)
|
|
12
|
+
from ..core.serialization import convert_and_respect_annotation_metadata
|
|
13
|
+
from ..core.unchecked_base_model import construct_type
|
|
14
|
+
from ..errors.bad_request_error import BadRequestError
|
|
15
|
+
from json.decoder import JSONDecodeError
|
|
16
|
+
from ..core.api_error import ApiError
|
|
17
|
+
from ..core.jsonable_encoder import jsonable_encoder
|
|
18
|
+
from ..core.client_wrapper import AsyncClientWrapper
|
|
19
|
+
|
|
20
|
+
# this is used as the default value for optional parameters
|
|
21
|
+
OMIT = typing.cast(typing.Any, ...)
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
class ClientSideAccessTokensClient:
|
|
25
|
+
def __init__(self, *, client_wrapper: SyncClientWrapper):
|
|
26
|
+
self._client_wrapper = client_wrapper
|
|
27
|
+
|
|
28
|
+
def client_side_access_tokens_create_client_side_access_token(
|
|
29
|
+
self,
|
|
30
|
+
*,
|
|
31
|
+
policy: typing.Sequence[ClientSideAccessTokensCreateClientSideAccessTokenRequestPolicyItem],
|
|
32
|
+
hostname: str,
|
|
33
|
+
expires_at: typing.Optional[str] = OMIT,
|
|
34
|
+
request_options: typing.Optional[RequestOptions] = None,
|
|
35
|
+
) -> ClientSideAccessTokensCreateClientSideAccessTokenResponse:
|
|
36
|
+
"""
|
|
37
|
+
Create a new client side access token with the specified configuration.
|
|
38
|
+
|
|
39
|
+
Parameters
|
|
40
|
+
----------
|
|
41
|
+
policy : typing.Sequence[ClientSideAccessTokensCreateClientSideAccessTokenRequestPolicyItem]
|
|
42
|
+
|
|
43
|
+
hostname : str
|
|
44
|
+
The hostname of the client side application. Please specify the full URL including the protocol (http or https).
|
|
45
|
+
|
|
46
|
+
expires_at : typing.Optional[str]
|
|
47
|
+
The expiration date of the token. If not provided, the token will expire in 5 minutes
|
|
48
|
+
|
|
49
|
+
request_options : typing.Optional[RequestOptions]
|
|
50
|
+
Request-specific configuration.
|
|
51
|
+
|
|
52
|
+
Returns
|
|
53
|
+
-------
|
|
54
|
+
ClientSideAccessTokensCreateClientSideAccessTokenResponse
|
|
55
|
+
201
|
|
56
|
+
|
|
57
|
+
Examples
|
|
58
|
+
--------
|
|
59
|
+
from letta_client import Letta
|
|
60
|
+
from letta_client.client_side_access_tokens import (
|
|
61
|
+
ClientSideAccessTokensCreateClientSideAccessTokenRequestPolicyItem,
|
|
62
|
+
)
|
|
63
|
+
|
|
64
|
+
client = Letta(
|
|
65
|
+
token="YOUR_TOKEN",
|
|
66
|
+
)
|
|
67
|
+
client.client_side_access_tokens.client_side_access_tokens_create_client_side_access_token(
|
|
68
|
+
policy=[
|
|
69
|
+
ClientSideAccessTokensCreateClientSideAccessTokenRequestPolicyItem(
|
|
70
|
+
id="id",
|
|
71
|
+
access=["read_messages"],
|
|
72
|
+
)
|
|
73
|
+
],
|
|
74
|
+
hostname="hostname",
|
|
75
|
+
)
|
|
76
|
+
"""
|
|
77
|
+
_response = self._client_wrapper.httpx_client.request(
|
|
78
|
+
"v1/client-side-access-tokens",
|
|
79
|
+
method="POST",
|
|
80
|
+
json={
|
|
81
|
+
"policy": convert_and_respect_annotation_metadata(
|
|
82
|
+
object_=policy,
|
|
83
|
+
annotation=typing.Sequence[ClientSideAccessTokensCreateClientSideAccessTokenRequestPolicyItem],
|
|
84
|
+
direction="write",
|
|
85
|
+
),
|
|
86
|
+
"hostname": hostname,
|
|
87
|
+
"expires_at": expires_at,
|
|
88
|
+
},
|
|
89
|
+
headers={
|
|
90
|
+
"content-type": "application/json",
|
|
91
|
+
},
|
|
92
|
+
request_options=request_options,
|
|
93
|
+
omit=OMIT,
|
|
94
|
+
)
|
|
95
|
+
try:
|
|
96
|
+
if 200 <= _response.status_code < 300:
|
|
97
|
+
return typing.cast(
|
|
98
|
+
ClientSideAccessTokensCreateClientSideAccessTokenResponse,
|
|
99
|
+
construct_type(
|
|
100
|
+
type_=ClientSideAccessTokensCreateClientSideAccessTokenResponse, # type: ignore
|
|
101
|
+
object_=_response.json(),
|
|
102
|
+
),
|
|
103
|
+
)
|
|
104
|
+
if _response.status_code == 400:
|
|
105
|
+
raise BadRequestError(
|
|
106
|
+
typing.cast(
|
|
107
|
+
typing.Optional[typing.Any],
|
|
108
|
+
construct_type(
|
|
109
|
+
type_=typing.Optional[typing.Any], # type: ignore
|
|
110
|
+
object_=_response.json(),
|
|
111
|
+
),
|
|
112
|
+
)
|
|
113
|
+
)
|
|
114
|
+
_response_json = _response.json()
|
|
115
|
+
except JSONDecodeError:
|
|
116
|
+
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
117
|
+
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
118
|
+
|
|
119
|
+
def client_side_access_tokens_delete_client_side_access_token(
|
|
120
|
+
self,
|
|
121
|
+
token: str,
|
|
122
|
+
*,
|
|
123
|
+
request: typing.Optional[typing.Any] = None,
|
|
124
|
+
request_options: typing.Optional[RequestOptions] = None,
|
|
125
|
+
) -> typing.Optional[typing.Any]:
|
|
126
|
+
"""
|
|
127
|
+
Delete a client side access token.
|
|
128
|
+
|
|
129
|
+
Parameters
|
|
130
|
+
----------
|
|
131
|
+
token : str
|
|
132
|
+
The access token to delete
|
|
133
|
+
|
|
134
|
+
request : typing.Optional[typing.Any]
|
|
135
|
+
|
|
136
|
+
request_options : typing.Optional[RequestOptions]
|
|
137
|
+
Request-specific configuration.
|
|
138
|
+
|
|
139
|
+
Returns
|
|
140
|
+
-------
|
|
141
|
+
typing.Optional[typing.Any]
|
|
142
|
+
204
|
|
143
|
+
|
|
144
|
+
Examples
|
|
145
|
+
--------
|
|
146
|
+
from letta_client import Letta
|
|
147
|
+
|
|
148
|
+
client = Letta(
|
|
149
|
+
token="YOUR_TOKEN",
|
|
150
|
+
)
|
|
151
|
+
client.client_side_access_tokens.client_side_access_tokens_delete_client_side_access_token(
|
|
152
|
+
token="token",
|
|
153
|
+
request={"key": "value"},
|
|
154
|
+
)
|
|
155
|
+
"""
|
|
156
|
+
_response = self._client_wrapper.httpx_client.request(
|
|
157
|
+
f"v1/client-side-access-tokens/{jsonable_encoder(token)}",
|
|
158
|
+
method="DELETE",
|
|
159
|
+
json=request,
|
|
160
|
+
request_options=request_options,
|
|
161
|
+
omit=OMIT,
|
|
162
|
+
)
|
|
163
|
+
try:
|
|
164
|
+
if 200 <= _response.status_code < 300:
|
|
165
|
+
return typing.cast(
|
|
166
|
+
typing.Optional[typing.Any],
|
|
167
|
+
construct_type(
|
|
168
|
+
type_=typing.Optional[typing.Any], # type: ignore
|
|
169
|
+
object_=_response.json(),
|
|
170
|
+
),
|
|
171
|
+
)
|
|
172
|
+
if _response.status_code == 400:
|
|
173
|
+
raise BadRequestError(
|
|
174
|
+
typing.cast(
|
|
175
|
+
typing.Optional[typing.Any],
|
|
176
|
+
construct_type(
|
|
177
|
+
type_=typing.Optional[typing.Any], # type: ignore
|
|
178
|
+
object_=_response.json(),
|
|
179
|
+
),
|
|
180
|
+
)
|
|
181
|
+
)
|
|
182
|
+
_response_json = _response.json()
|
|
183
|
+
except JSONDecodeError:
|
|
184
|
+
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
185
|
+
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
186
|
+
|
|
187
|
+
|
|
188
|
+
class AsyncClientSideAccessTokensClient:
|
|
189
|
+
def __init__(self, *, client_wrapper: AsyncClientWrapper):
|
|
190
|
+
self._client_wrapper = client_wrapper
|
|
191
|
+
|
|
192
|
+
async def client_side_access_tokens_create_client_side_access_token(
|
|
193
|
+
self,
|
|
194
|
+
*,
|
|
195
|
+
policy: typing.Sequence[ClientSideAccessTokensCreateClientSideAccessTokenRequestPolicyItem],
|
|
196
|
+
hostname: str,
|
|
197
|
+
expires_at: typing.Optional[str] = OMIT,
|
|
198
|
+
request_options: typing.Optional[RequestOptions] = None,
|
|
199
|
+
) -> ClientSideAccessTokensCreateClientSideAccessTokenResponse:
|
|
200
|
+
"""
|
|
201
|
+
Create a new client side access token with the specified configuration.
|
|
202
|
+
|
|
203
|
+
Parameters
|
|
204
|
+
----------
|
|
205
|
+
policy : typing.Sequence[ClientSideAccessTokensCreateClientSideAccessTokenRequestPolicyItem]
|
|
206
|
+
|
|
207
|
+
hostname : str
|
|
208
|
+
The hostname of the client side application. Please specify the full URL including the protocol (http or https).
|
|
209
|
+
|
|
210
|
+
expires_at : typing.Optional[str]
|
|
211
|
+
The expiration date of the token. If not provided, the token will expire in 5 minutes
|
|
212
|
+
|
|
213
|
+
request_options : typing.Optional[RequestOptions]
|
|
214
|
+
Request-specific configuration.
|
|
215
|
+
|
|
216
|
+
Returns
|
|
217
|
+
-------
|
|
218
|
+
ClientSideAccessTokensCreateClientSideAccessTokenResponse
|
|
219
|
+
201
|
|
220
|
+
|
|
221
|
+
Examples
|
|
222
|
+
--------
|
|
223
|
+
import asyncio
|
|
224
|
+
|
|
225
|
+
from letta_client import AsyncLetta
|
|
226
|
+
from letta_client.client_side_access_tokens import (
|
|
227
|
+
ClientSideAccessTokensCreateClientSideAccessTokenRequestPolicyItem,
|
|
228
|
+
)
|
|
229
|
+
|
|
230
|
+
client = AsyncLetta(
|
|
231
|
+
token="YOUR_TOKEN",
|
|
232
|
+
)
|
|
233
|
+
|
|
234
|
+
|
|
235
|
+
async def main() -> None:
|
|
236
|
+
await client.client_side_access_tokens.client_side_access_tokens_create_client_side_access_token(
|
|
237
|
+
policy=[
|
|
238
|
+
ClientSideAccessTokensCreateClientSideAccessTokenRequestPolicyItem(
|
|
239
|
+
id="id",
|
|
240
|
+
access=["read_messages"],
|
|
241
|
+
)
|
|
242
|
+
],
|
|
243
|
+
hostname="hostname",
|
|
244
|
+
)
|
|
245
|
+
|
|
246
|
+
|
|
247
|
+
asyncio.run(main())
|
|
248
|
+
"""
|
|
249
|
+
_response = await self._client_wrapper.httpx_client.request(
|
|
250
|
+
"v1/client-side-access-tokens",
|
|
251
|
+
method="POST",
|
|
252
|
+
json={
|
|
253
|
+
"policy": convert_and_respect_annotation_metadata(
|
|
254
|
+
object_=policy,
|
|
255
|
+
annotation=typing.Sequence[ClientSideAccessTokensCreateClientSideAccessTokenRequestPolicyItem],
|
|
256
|
+
direction="write",
|
|
257
|
+
),
|
|
258
|
+
"hostname": hostname,
|
|
259
|
+
"expires_at": expires_at,
|
|
260
|
+
},
|
|
261
|
+
headers={
|
|
262
|
+
"content-type": "application/json",
|
|
263
|
+
},
|
|
264
|
+
request_options=request_options,
|
|
265
|
+
omit=OMIT,
|
|
266
|
+
)
|
|
267
|
+
try:
|
|
268
|
+
if 200 <= _response.status_code < 300:
|
|
269
|
+
return typing.cast(
|
|
270
|
+
ClientSideAccessTokensCreateClientSideAccessTokenResponse,
|
|
271
|
+
construct_type(
|
|
272
|
+
type_=ClientSideAccessTokensCreateClientSideAccessTokenResponse, # type: ignore
|
|
273
|
+
object_=_response.json(),
|
|
274
|
+
),
|
|
275
|
+
)
|
|
276
|
+
if _response.status_code == 400:
|
|
277
|
+
raise BadRequestError(
|
|
278
|
+
typing.cast(
|
|
279
|
+
typing.Optional[typing.Any],
|
|
280
|
+
construct_type(
|
|
281
|
+
type_=typing.Optional[typing.Any], # type: ignore
|
|
282
|
+
object_=_response.json(),
|
|
283
|
+
),
|
|
284
|
+
)
|
|
285
|
+
)
|
|
286
|
+
_response_json = _response.json()
|
|
287
|
+
except JSONDecodeError:
|
|
288
|
+
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
289
|
+
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
290
|
+
|
|
291
|
+
async def client_side_access_tokens_delete_client_side_access_token(
|
|
292
|
+
self,
|
|
293
|
+
token: str,
|
|
294
|
+
*,
|
|
295
|
+
request: typing.Optional[typing.Any] = None,
|
|
296
|
+
request_options: typing.Optional[RequestOptions] = None,
|
|
297
|
+
) -> typing.Optional[typing.Any]:
|
|
298
|
+
"""
|
|
299
|
+
Delete a client side access token.
|
|
300
|
+
|
|
301
|
+
Parameters
|
|
302
|
+
----------
|
|
303
|
+
token : str
|
|
304
|
+
The access token to delete
|
|
305
|
+
|
|
306
|
+
request : typing.Optional[typing.Any]
|
|
307
|
+
|
|
308
|
+
request_options : typing.Optional[RequestOptions]
|
|
309
|
+
Request-specific configuration.
|
|
310
|
+
|
|
311
|
+
Returns
|
|
312
|
+
-------
|
|
313
|
+
typing.Optional[typing.Any]
|
|
314
|
+
204
|
|
315
|
+
|
|
316
|
+
Examples
|
|
317
|
+
--------
|
|
318
|
+
import asyncio
|
|
319
|
+
|
|
320
|
+
from letta_client import AsyncLetta
|
|
321
|
+
|
|
322
|
+
client = AsyncLetta(
|
|
323
|
+
token="YOUR_TOKEN",
|
|
324
|
+
)
|
|
325
|
+
|
|
326
|
+
|
|
327
|
+
async def main() -> None:
|
|
328
|
+
await client.client_side_access_tokens.client_side_access_tokens_delete_client_side_access_token(
|
|
329
|
+
token="token",
|
|
330
|
+
request={"key": "value"},
|
|
331
|
+
)
|
|
332
|
+
|
|
333
|
+
|
|
334
|
+
asyncio.run(main())
|
|
335
|
+
"""
|
|
336
|
+
_response = await self._client_wrapper.httpx_client.request(
|
|
337
|
+
f"v1/client-side-access-tokens/{jsonable_encoder(token)}",
|
|
338
|
+
method="DELETE",
|
|
339
|
+
json=request,
|
|
340
|
+
request_options=request_options,
|
|
341
|
+
omit=OMIT,
|
|
342
|
+
)
|
|
343
|
+
try:
|
|
344
|
+
if 200 <= _response.status_code < 300:
|
|
345
|
+
return typing.cast(
|
|
346
|
+
typing.Optional[typing.Any],
|
|
347
|
+
construct_type(
|
|
348
|
+
type_=typing.Optional[typing.Any], # type: ignore
|
|
349
|
+
object_=_response.json(),
|
|
350
|
+
),
|
|
351
|
+
)
|
|
352
|
+
if _response.status_code == 400:
|
|
353
|
+
raise BadRequestError(
|
|
354
|
+
typing.cast(
|
|
355
|
+
typing.Optional[typing.Any],
|
|
356
|
+
construct_type(
|
|
357
|
+
type_=typing.Optional[typing.Any], # type: ignore
|
|
358
|
+
object_=_response.json(),
|
|
359
|
+
),
|
|
360
|
+
)
|
|
361
|
+
)
|
|
362
|
+
_response_json = _response.json()
|
|
363
|
+
except JSONDecodeError:
|
|
364
|
+
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
365
|
+
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
from .client_side_access_tokens_create_client_side_access_token_request_policy_item import (
|
|
4
|
+
ClientSideAccessTokensCreateClientSideAccessTokenRequestPolicyItem,
|
|
5
|
+
)
|
|
6
|
+
from .client_side_access_tokens_create_client_side_access_token_request_policy_item_access_item import (
|
|
7
|
+
ClientSideAccessTokensCreateClientSideAccessTokenRequestPolicyItemAccessItem,
|
|
8
|
+
)
|
|
9
|
+
from .client_side_access_tokens_create_client_side_access_token_response import (
|
|
10
|
+
ClientSideAccessTokensCreateClientSideAccessTokenResponse,
|
|
11
|
+
)
|
|
12
|
+
from .client_side_access_tokens_create_client_side_access_token_response_policy import (
|
|
13
|
+
ClientSideAccessTokensCreateClientSideAccessTokenResponsePolicy,
|
|
14
|
+
)
|
|
15
|
+
from .client_side_access_tokens_create_client_side_access_token_response_policy_data_item import (
|
|
16
|
+
ClientSideAccessTokensCreateClientSideAccessTokenResponsePolicyDataItem,
|
|
17
|
+
)
|
|
18
|
+
from .client_side_access_tokens_create_client_side_access_token_response_policy_data_item_access_item import (
|
|
19
|
+
ClientSideAccessTokensCreateClientSideAccessTokenResponsePolicyDataItemAccessItem,
|
|
20
|
+
)
|
|
21
|
+
|
|
22
|
+
__all__ = [
|
|
23
|
+
"ClientSideAccessTokensCreateClientSideAccessTokenRequestPolicyItem",
|
|
24
|
+
"ClientSideAccessTokensCreateClientSideAccessTokenRequestPolicyItemAccessItem",
|
|
25
|
+
"ClientSideAccessTokensCreateClientSideAccessTokenResponse",
|
|
26
|
+
"ClientSideAccessTokensCreateClientSideAccessTokenResponsePolicy",
|
|
27
|
+
"ClientSideAccessTokensCreateClientSideAccessTokenResponsePolicyDataItem",
|
|
28
|
+
"ClientSideAccessTokensCreateClientSideAccessTokenResponsePolicyDataItemAccessItem",
|
|
29
|
+
]
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
from ...core.unchecked_base_model import UncheckedBaseModel
|
|
4
|
+
import typing
|
|
5
|
+
from .client_side_access_tokens_create_client_side_access_token_request_policy_item_access_item import (
|
|
6
|
+
ClientSideAccessTokensCreateClientSideAccessTokenRequestPolicyItemAccessItem,
|
|
7
|
+
)
|
|
8
|
+
from ...core.pydantic_utilities import IS_PYDANTIC_V2
|
|
9
|
+
import pydantic
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class ClientSideAccessTokensCreateClientSideAccessTokenRequestPolicyItem(UncheckedBaseModel):
|
|
13
|
+
type: typing.Literal["agent"] = "agent"
|
|
14
|
+
id: str
|
|
15
|
+
access: typing.List[ClientSideAccessTokensCreateClientSideAccessTokenRequestPolicyItemAccessItem]
|
|
16
|
+
|
|
17
|
+
if IS_PYDANTIC_V2:
|
|
18
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
19
|
+
else:
|
|
20
|
+
|
|
21
|
+
class Config:
|
|
22
|
+
frozen = True
|
|
23
|
+
smart_union = True
|
|
24
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
ClientSideAccessTokensCreateClientSideAccessTokenRequestPolicyItemAccessItem = typing.Union[
|
|
6
|
+
typing.Literal["read_messages", "write_messages", "read_agent", "write_agent"], typing.Any
|
|
7
|
+
]
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
from ...core.unchecked_base_model import UncheckedBaseModel
|
|
4
|
+
from .client_side_access_tokens_create_client_side_access_token_response_policy import (
|
|
5
|
+
ClientSideAccessTokensCreateClientSideAccessTokenResponsePolicy,
|
|
6
|
+
)
|
|
7
|
+
import typing_extensions
|
|
8
|
+
from ...core.serialization import FieldMetadata
|
|
9
|
+
from ...core.pydantic_utilities import IS_PYDANTIC_V2
|
|
10
|
+
import typing
|
|
11
|
+
import pydantic
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class ClientSideAccessTokensCreateClientSideAccessTokenResponse(UncheckedBaseModel):
|
|
15
|
+
policy: ClientSideAccessTokensCreateClientSideAccessTokenResponsePolicy
|
|
16
|
+
token: str
|
|
17
|
+
hostname: str
|
|
18
|
+
expires_at: typing_extensions.Annotated[str, FieldMetadata(alias="expiresAt")]
|
|
19
|
+
|
|
20
|
+
if IS_PYDANTIC_V2:
|
|
21
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
22
|
+
else:
|
|
23
|
+
|
|
24
|
+
class Config:
|
|
25
|
+
frozen = True
|
|
26
|
+
smart_union = True
|
|
27
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
from ...core.unchecked_base_model import UncheckedBaseModel
|
|
4
|
+
import typing
|
|
5
|
+
from .client_side_access_tokens_create_client_side_access_token_response_policy_data_item import (
|
|
6
|
+
ClientSideAccessTokensCreateClientSideAccessTokenResponsePolicyDataItem,
|
|
7
|
+
)
|
|
8
|
+
from ...core.pydantic_utilities import IS_PYDANTIC_V2
|
|
9
|
+
import pydantic
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class ClientSideAccessTokensCreateClientSideAccessTokenResponsePolicy(UncheckedBaseModel):
|
|
13
|
+
version: typing.Literal["1"] = "1"
|
|
14
|
+
data: typing.List[ClientSideAccessTokensCreateClientSideAccessTokenResponsePolicyDataItem]
|
|
15
|
+
|
|
16
|
+
if IS_PYDANTIC_V2:
|
|
17
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
18
|
+
else:
|
|
19
|
+
|
|
20
|
+
class Config:
|
|
21
|
+
frozen = True
|
|
22
|
+
smart_union = True
|
|
23
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
from ...core.unchecked_base_model import UncheckedBaseModel
|
|
4
|
+
import typing
|
|
5
|
+
from .client_side_access_tokens_create_client_side_access_token_response_policy_data_item_access_item import (
|
|
6
|
+
ClientSideAccessTokensCreateClientSideAccessTokenResponsePolicyDataItemAccessItem,
|
|
7
|
+
)
|
|
8
|
+
from ...core.pydantic_utilities import IS_PYDANTIC_V2
|
|
9
|
+
import pydantic
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class ClientSideAccessTokensCreateClientSideAccessTokenResponsePolicyDataItem(UncheckedBaseModel):
|
|
13
|
+
type: typing.Literal["agent"] = "agent"
|
|
14
|
+
id: str
|
|
15
|
+
access: typing.List[ClientSideAccessTokensCreateClientSideAccessTokenResponsePolicyDataItemAccessItem]
|
|
16
|
+
|
|
17
|
+
if IS_PYDANTIC_V2:
|
|
18
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
19
|
+
else:
|
|
20
|
+
|
|
21
|
+
class Config:
|
|
22
|
+
frozen = True
|
|
23
|
+
smart_union = True
|
|
24
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
ClientSideAccessTokensCreateClientSideAccessTokenResponsePolicyDataItemAccessItem = typing.Union[
|
|
6
|
+
typing.Literal["read_messages", "write_messages", "read_agent", "write_agent"], typing.Any
|
|
7
|
+
]
|
|
@@ -16,7 +16,7 @@ class BaseClientWrapper:
|
|
|
16
16
|
headers: typing.Dict[str, str] = {
|
|
17
17
|
"X-Fern-Language": "Python",
|
|
18
18
|
"X-Fern-SDK-Name": "letta-client",
|
|
19
|
-
"X-Fern-SDK-Version": "0.1.
|
|
19
|
+
"X-Fern-SDK-Version": "0.1.115",
|
|
20
20
|
}
|
|
21
21
|
if self.token is not None:
|
|
22
22
|
headers["Authorization"] = f"Bearer {self.token}"
|
letta_client/errors/__init__.py
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
# This file was auto-generated by Fern from our API Definition.
|
|
2
2
|
|
|
3
|
+
from .bad_request_error import BadRequestError
|
|
3
4
|
from .conflict_error import ConflictError
|
|
4
5
|
from .internal_server_error import InternalServerError
|
|
5
6
|
from .not_found_error import NotFoundError
|
|
6
7
|
from .unprocessable_entity_error import UnprocessableEntityError
|
|
7
8
|
|
|
8
|
-
__all__ = ["ConflictError", "InternalServerError", "NotFoundError", "UnprocessableEntityError"]
|
|
9
|
+
__all__ = ["BadRequestError", "ConflictError", "InternalServerError", "NotFoundError", "UnprocessableEntityError"]
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
from ..core.api_error import ApiError
|
|
4
|
+
import typing
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class BadRequestError(ApiError):
|
|
8
|
+
def __init__(self, body: typing.Optional[typing.Any]):
|
|
9
|
+
super().__init__(status_code=400, body=body)
|
letta_client/types/__init__.py
CHANGED
|
@@ -18,6 +18,7 @@ from .audio import Audio
|
|
|
18
18
|
from .auth_request import AuthRequest
|
|
19
19
|
from .auth_response import AuthResponse
|
|
20
20
|
from .auth_scheme_field import AuthSchemeField
|
|
21
|
+
from .bad_request_error_body import BadRequestErrorBody
|
|
21
22
|
from .base_tool_rule_schema import BaseToolRuleSchema
|
|
22
23
|
from .block import Block
|
|
23
24
|
from .block_update import BlockUpdate
|
|
@@ -242,6 +243,7 @@ __all__ = [
|
|
|
242
243
|
"AuthRequest",
|
|
243
244
|
"AuthResponse",
|
|
244
245
|
"AuthSchemeField",
|
|
246
|
+
"BadRequestErrorBody",
|
|
245
247
|
"BaseToolRuleSchema",
|
|
246
248
|
"Block",
|
|
247
249
|
"BlockUpdate",
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
from ..core.unchecked_base_model import UncheckedBaseModel
|
|
4
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
5
|
+
import typing
|
|
6
|
+
import pydantic
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class BadRequestErrorBody(UncheckedBaseModel):
|
|
10
|
+
message: str
|
|
11
|
+
|
|
12
|
+
if IS_PYDANTIC_V2:
|
|
13
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
14
|
+
else:
|
|
15
|
+
|
|
16
|
+
class Config:
|
|
17
|
+
frozen = True
|
|
18
|
+
smart_union = True
|
|
19
|
+
extra = pydantic.Extra.allow
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
letta_client/__init__.py,sha256=
|
|
1
|
+
letta_client/__init__.py,sha256=lKX_QaChOyoSuENK27jEK217U_PfUOHcL63jQOm-qew,15774
|
|
2
2
|
letta_client/agents/__init__.py,sha256=CveigJGrnkw3yZ8S9yZ2DpK1HV0v1fU-khsiLJJ0uaU,1452
|
|
3
3
|
letta_client/agents/blocks/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
|
|
4
4
|
letta_client/agents/blocks/client.py,sha256=u5zvutxoH_DqfSLWhRtNSRBC9_ezQDx682cxkxDz3JA,23822
|
|
@@ -38,13 +38,22 @@ letta_client/agents/types/agents_search_request_search_item_zero.py,sha256=tGjwn
|
|
|
38
38
|
letta_client/agents/types/agents_search_response.py,sha256=AQJVKps-bjCx2ujqESzW1Iy9ZYFS17hH_UFIeBeK4S8,815
|
|
39
39
|
letta_client/agents/types/create_agent_request_tool_rules_item.py,sha256=L3FNsFTG9kVmuPbQhbCKNg3H2E5bB2Rgp92gWmGd-LM,689
|
|
40
40
|
letta_client/agents/types/update_agent_tool_rules_item.py,sha256=k9MmcVPsK-EGl8XlT3JQwdlBNLgpGw528jmi8fCFS7g,682
|
|
41
|
-
letta_client/base_client.py,sha256=
|
|
41
|
+
letta_client/base_client.py,sha256=blSmkOb1gId27sNL3QcKY5v7x1E_ZYLbZb7TLK4XCtU,9003
|
|
42
42
|
letta_client/blocks/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
|
|
43
43
|
letta_client/blocks/client.py,sha256=LE9dsHaBxFLC3G035f0VpNDG7XKWRK8y9OXpeFCMvUw,30082
|
|
44
44
|
letta_client/client.py,sha256=k2mZqqEWciVmEQHgipjCK4kQILk74hpSqzcdNwdql9A,21212
|
|
45
|
+
letta_client/client_side_access_tokens/__init__.py,sha256=ivKMiZVIc5IjBZvinNK_aVy1RpvD9lWstT1XJzXc_ak,1015
|
|
46
|
+
letta_client/client_side_access_tokens/client.py,sha256=69zUzYSphr_r8HpnPpidXotKIDdFCS9YSK8haU8BiVM,13168
|
|
47
|
+
letta_client/client_side_access_tokens/types/__init__.py,sha256=Cjp8P6wW6EJKf4yiv1U1FzDiVI21dOv1IG_fn4Xzazc,1583
|
|
48
|
+
letta_client/client_side_access_tokens/types/client_side_access_tokens_create_client_side_access_token_request_policy_item.py,sha256=blQBjrrqrV6eqCqi2iP4KHkg_83bqkcs3F4kKvjH_gc,946
|
|
49
|
+
letta_client/client_side_access_tokens/types/client_side_access_tokens_create_client_side_access_token_request_policy_item_access_item.py,sha256=gFROGOsd-Gkj2JgVLBr_qgowdjywr5W__Z0Prj1osfE,270
|
|
50
|
+
letta_client/client_side_access_tokens/types/client_side_access_tokens_create_client_side_access_token_response.py,sha256=WK7Ekd6i-NiBvmD4dyvSiBCHtadXAOV3gl_-W8-e_0Q,1015
|
|
51
|
+
letta_client/client_side_access_tokens/types/client_side_access_tokens_create_client_side_access_token_response_policy.py,sha256=JusvFIWRKx9rOAw-qB7XrG7zQ4AkpNm_Qwm5hF-HudA,908
|
|
52
|
+
letta_client/client_side_access_tokens/types/client_side_access_tokens_create_client_side_access_token_response_policy_data_item.py,sha256=ou-3g9-saP3FftVHkWH9I3cGTk8ez4p8aZ_mChEgfH0,967
|
|
53
|
+
letta_client/client_side_access_tokens/types/client_side_access_tokens_create_client_side_access_token_response_policy_data_item_access_item.py,sha256=vefuUVB3pLCbCNBJACXMsEKZuwhMAGvLwSU3TU3Q4l4,275
|
|
45
54
|
letta_client/core/__init__.py,sha256=OKbX2aCZXgHCDUsCouqv-OiX32xA6eFFCKIUH9M5Vzk,1591
|
|
46
55
|
letta_client/core/api_error.py,sha256=RE8LELok2QCjABadECTvtDp7qejA1VmINCh6TbqPwSE,426
|
|
47
|
-
letta_client/core/client_wrapper.py,sha256=
|
|
56
|
+
letta_client/core/client_wrapper.py,sha256=rUuUVuDTFJy3Pld-k-cXJFoE3ieVMn0V5tLmbnghtWI,1998
|
|
48
57
|
letta_client/core/datetime_utils.py,sha256=nBys2IsYrhPdszxGKCNRPSOCwa-5DWOHG95FB8G9PKo,1047
|
|
49
58
|
letta_client/core/file.py,sha256=d4NNbX8XvXP32z8KpK2Xovv33nFfruIrpz0QWxlgpZk,2663
|
|
50
59
|
letta_client/core/http_client.py,sha256=Z77OIxIbL4OAB2IDqjRq_sYa5yNYAWfmdhdCSSvh6Y4,19552
|
|
@@ -56,7 +65,8 @@ letta_client/core/request_options.py,sha256=h0QUNCFVdCW_7GclVySCAY2w4NhtXVBUCmHg
|
|
|
56
65
|
letta_client/core/serialization.py,sha256=D9h_t-RQON3-CHWs1C4ESY9B-Yd5d-l5lnTLb_X896g,9601
|
|
57
66
|
letta_client/core/unchecked_base_model.py,sha256=zliEPgLnK9yQ1dZ0mHP6agQ7H0bTZk8AvX6VC1r9oPQ,10754
|
|
58
67
|
letta_client/environment.py,sha256=91gYLF9bT4-hTPQ9dcPfmub4LgEl-T4a5kW7NXzRIJU,198
|
|
59
|
-
letta_client/errors/__init__.py,sha256=
|
|
68
|
+
letta_client/errors/__init__.py,sha256=sf5qYBpvBUchcwEIvulM7AYVGJkiVxknC9OX6TOpOdo,433
|
|
69
|
+
letta_client/errors/bad_request_error.py,sha256=_EbO8mWqN9kFZPvIap8qa1lL_EWkRcsZe1HKV9GDWJY,264
|
|
60
70
|
letta_client/errors/conflict_error.py,sha256=INHRMcX6i0ywcbZfw-vn3aBoVi06bDjev3p_O8U8IA4,296
|
|
61
71
|
letta_client/errors/internal_server_error.py,sha256=8USCagXyJJ1MOm9snpcXIUt6eNXvrd_aq7Gfcu1vlOI,268
|
|
62
72
|
letta_client/errors/not_found_error.py,sha256=tBVCeBC8n3C811WHRj_n-hs3h8MqwR5gp0vLiobk7W8,262
|
|
@@ -106,7 +116,7 @@ letta_client/tools/types/add_mcp_server_request.py,sha256=EieZjfOT95sjkpxXdqy7gl
|
|
|
106
116
|
letta_client/tools/types/add_mcp_server_response_item.py,sha256=TWdsKqGb1INhYtpGnAckz0Pw4nZShumSp4pfocRfxCA,270
|
|
107
117
|
letta_client/tools/types/delete_mcp_server_response_item.py,sha256=MeZObU-7tMSCd-S5yuUjNDse6A1hUz1LLjbko0pXaro,273
|
|
108
118
|
letta_client/tools/types/list_mcp_servers_response_value.py,sha256=AIoXu4bO8QNSU7zjL1jj0Rg4313wVtPaTt13W0aevLQ,273
|
|
109
|
-
letta_client/types/__init__.py,sha256=
|
|
119
|
+
letta_client/types/__init__.py,sha256=WL1kUXfr7I6CDtXjtiw05YOpJ-7DYHFKslCKkoQgw8I,19858
|
|
110
120
|
letta_client/types/action_model.py,sha256=y1e2XMv3skFaNJIBdYoBKgiORzGh05aOVvu-qVR9uHg,1240
|
|
111
121
|
letta_client/types/action_parameters_model.py,sha256=LgKf5aPZG3-OHGxFdXiSokIDgce8c02xPYIAY05VgW8,828
|
|
112
122
|
letta_client/types/action_response_model.py,sha256=yq2Fd9UU8j7vvtE3VqXUoRRvDzWcfJPj_95ynGdeHCs,824
|
|
@@ -125,6 +135,7 @@ letta_client/types/audio.py,sha256=aCgzL9SmkmM4yU7hy2IWwPrC-wtllplo3dQF9mjk7Fg,5
|
|
|
125
135
|
letta_client/types/auth_request.py,sha256=q63VMj39aCmljDuzUeAClXEqyaoa_HKv5IraSv8ry9M,683
|
|
126
136
|
letta_client/types/auth_response.py,sha256=jtG9Nn0voJcOWkBtvnuGGwhpUhYz9A8O7soOJZo_E_E,861
|
|
127
137
|
letta_client/types/auth_scheme_field.py,sha256=W4-qgKtKUSpBHaSvjLyzLybOIsGo7Ggk4VECpsoPnqQ,881
|
|
138
|
+
letta_client/types/bad_request_error_body.py,sha256=E4_eWEc9xeW9BkXGViBDrevV8Jf6PjgEweeGS3vJLD4,567
|
|
128
139
|
letta_client/types/base_tool_rule_schema.py,sha256=FbnJy6gb8wY_DPiU3Gs-u1Ol_l4K7-nAmPTc1oR3kOo,582
|
|
129
140
|
letta_client/types/block.py,sha256=J8McqSpellhd-KsPYontU8DYg3YV41_fQW5rR-85qMk,2900
|
|
130
141
|
letta_client/types/block_update.py,sha256=oIgxvSnav5vxztBdslRMiWOgRaAp3dh43pinZpoLzxk,1496
|
|
@@ -330,6 +341,6 @@ letta_client/voice/__init__.py,sha256=7hX85553PiRMtIMM12a0DSoFzsglNiUziYR2ekS84Q
|
|
|
330
341
|
letta_client/voice/client.py,sha256=STjswa5oOLoP59QwTJvQwi73kgn0UzKOaXc2CsTRI4k,6912
|
|
331
342
|
letta_client/voice/types/__init__.py,sha256=FRc3iKRTONE4N8Lf1IqvnqWZ2kXdrFFvkL7PxVcR8Ew,212
|
|
332
343
|
letta_client/voice/types/create_voice_chat_completions_request_body.py,sha256=ZLfKgNK1T6IAwLEvaBVFfy7jEAoPUXP28n-nfmHkklc,391
|
|
333
|
-
letta_client-0.1.
|
|
334
|
-
letta_client-0.1.
|
|
335
|
-
letta_client-0.1.
|
|
344
|
+
letta_client-0.1.115.dist-info/METADATA,sha256=G0BZPzIt1KSnnO3942-jsDC5Ron_CJN5JiZYaRIFsLI,5042
|
|
345
|
+
letta_client-0.1.115.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
|
|
346
|
+
letta_client-0.1.115.dist-info/RECORD,,
|
|
File without changes
|