letta-client 0.1.139__py3-none-any.whl → 0.1.141__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 CHANGED
@@ -157,8 +157,10 @@ from .types import (
157
157
  ParametersSchema,
158
158
  ParentToolRule,
159
159
  Passage,
160
+ PaymentRequiredErrorBody,
160
161
  PipRequirement,
161
162
  Provider,
163
+ ProviderCategory,
162
164
  ProviderType,
163
165
  ReasoningContent,
164
166
  ReasoningMessage,
@@ -231,7 +233,14 @@ from .types import (
231
233
  WebSearchOptionsUserLocation,
232
234
  WebSearchOptionsUserLocationApproximate,
233
235
  )
234
- from .errors import BadRequestError, ConflictError, InternalServerError, NotFoundError, UnprocessableEntityError
236
+ from .errors import (
237
+ BadRequestError,
238
+ ConflictError,
239
+ InternalServerError,
240
+ NotFoundError,
241
+ PaymentRequiredError,
242
+ UnprocessableEntityError,
243
+ )
235
244
  from . import (
236
245
  agents,
237
246
  batches,
@@ -475,10 +484,13 @@ __all__ = [
475
484
  "ParametersSchema",
476
485
  "ParentToolRule",
477
486
  "Passage",
487
+ "PaymentRequiredError",
488
+ "PaymentRequiredErrorBody",
478
489
  "PipRequirement",
479
490
  "ProjectsListResponse",
480
491
  "ProjectsListResponseProjectsItem",
481
492
  "Provider",
493
+ "ProviderCategory",
482
494
  "ProviderType",
483
495
  "ReasoningContent",
484
496
  "ReasoningMessage",
@@ -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.139",
19
+ "X-Fern-SDK-Version": "0.1.141",
20
20
  }
21
21
  if self.token is not None:
22
22
  headers["Authorization"] = f"Bearer {self.token}"
@@ -5,6 +5,8 @@ import typing
5
5
  from ..core.request_options import RequestOptions
6
6
  from ..types.embedding_config import EmbeddingConfig
7
7
  from ..core.unchecked_base_model import construct_type
8
+ from ..errors.unprocessable_entity_error import UnprocessableEntityError
9
+ from ..types.http_validation_error import HttpValidationError
8
10
  from json.decoder import JSONDecodeError
9
11
  from ..core.api_error import ApiError
10
12
  from ..core.client_wrapper import AsyncClientWrapper
@@ -49,6 +51,16 @@ class EmbeddingModelsClient:
49
51
  object_=_response.json(),
50
52
  ),
51
53
  )
54
+ if _response.status_code == 422:
55
+ raise UnprocessableEntityError(
56
+ typing.cast(
57
+ HttpValidationError,
58
+ construct_type(
59
+ type_=HttpValidationError, # type: ignore
60
+ object_=_response.json(),
61
+ ),
62
+ )
63
+ )
52
64
  _response_json = _response.json()
53
65
  except JSONDecodeError:
54
66
  raise ApiError(status_code=_response.status_code, body=_response.text)
@@ -102,6 +114,16 @@ class AsyncEmbeddingModelsClient:
102
114
  object_=_response.json(),
103
115
  ),
104
116
  )
117
+ if _response.status_code == 422:
118
+ raise UnprocessableEntityError(
119
+ typing.cast(
120
+ HttpValidationError,
121
+ construct_type(
122
+ type_=HttpValidationError, # type: ignore
123
+ object_=_response.json(),
124
+ ),
125
+ )
126
+ )
105
127
  _response_json = _response.json()
106
128
  except JSONDecodeError:
107
129
  raise ApiError(status_code=_response.status_code, body=_response.text)
@@ -4,6 +4,14 @@ from .bad_request_error import BadRequestError
4
4
  from .conflict_error import ConflictError
5
5
  from .internal_server_error import InternalServerError
6
6
  from .not_found_error import NotFoundError
7
+ from .payment_required_error import PaymentRequiredError
7
8
  from .unprocessable_entity_error import UnprocessableEntityError
8
9
 
9
- __all__ = ["BadRequestError", "ConflictError", "InternalServerError", "NotFoundError", "UnprocessableEntityError"]
10
+ __all__ = [
11
+ "BadRequestError",
12
+ "ConflictError",
13
+ "InternalServerError",
14
+ "NotFoundError",
15
+ "PaymentRequiredError",
16
+ "UnprocessableEntityError",
17
+ ]
@@ -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
+ from ..types.payment_required_error_body import PaymentRequiredErrorBody
5
+
6
+
7
+ class PaymentRequiredError(ApiError):
8
+ def __init__(self, body: PaymentRequiredErrorBody):
9
+ super().__init__(status_code=402, body=body)
@@ -2,6 +2,8 @@
2
2
 
3
3
  from ..core.client_wrapper import SyncClientWrapper
4
4
  import typing
5
+ from ..types.provider_category import ProviderCategory
6
+ from ..types.provider_type import ProviderType
5
7
  from ..core.request_options import RequestOptions
6
8
  from ..types.llm_config import LlmConfig
7
9
  from ..core.unchecked_base_model import construct_type
@@ -19,16 +21,19 @@ class ModelsClient:
19
21
  def list(
20
22
  self,
21
23
  *,
22
- byok_only: typing.Optional[bool] = None,
23
- default_only: typing.Optional[bool] = None,
24
+ provider_category: typing.Optional[typing.Union[ProviderCategory, typing.Sequence[ProviderCategory]]] = None,
25
+ provider_name: typing.Optional[str] = None,
26
+ provider_type: typing.Optional[ProviderType] = None,
24
27
  request_options: typing.Optional[RequestOptions] = None,
25
28
  ) -> typing.List[LlmConfig]:
26
29
  """
27
30
  Parameters
28
31
  ----------
29
- byok_only : typing.Optional[bool]
32
+ provider_category : typing.Optional[typing.Union[ProviderCategory, typing.Sequence[ProviderCategory]]]
30
33
 
31
- default_only : typing.Optional[bool]
34
+ provider_name : typing.Optional[str]
35
+
36
+ provider_type : typing.Optional[ProviderType]
32
37
 
33
38
  request_options : typing.Optional[RequestOptions]
34
39
  Request-specific configuration.
@@ -51,8 +56,9 @@ class ModelsClient:
51
56
  "v1/models/",
52
57
  method="GET",
53
58
  params={
54
- "byok_only": byok_only,
55
- "default_only": default_only,
59
+ "provider_category": provider_category,
60
+ "provider_name": provider_name,
61
+ "provider_type": provider_type,
56
62
  },
57
63
  request_options=request_options,
58
64
  )
@@ -88,16 +94,19 @@ class AsyncModelsClient:
88
94
  async def list(
89
95
  self,
90
96
  *,
91
- byok_only: typing.Optional[bool] = None,
92
- default_only: typing.Optional[bool] = None,
97
+ provider_category: typing.Optional[typing.Union[ProviderCategory, typing.Sequence[ProviderCategory]]] = None,
98
+ provider_name: typing.Optional[str] = None,
99
+ provider_type: typing.Optional[ProviderType] = None,
93
100
  request_options: typing.Optional[RequestOptions] = None,
94
101
  ) -> typing.List[LlmConfig]:
95
102
  """
96
103
  Parameters
97
104
  ----------
98
- byok_only : typing.Optional[bool]
105
+ provider_category : typing.Optional[typing.Union[ProviderCategory, typing.Sequence[ProviderCategory]]]
106
+
107
+ provider_name : typing.Optional[str]
99
108
 
100
- default_only : typing.Optional[bool]
109
+ provider_type : typing.Optional[ProviderType]
101
110
 
102
111
  request_options : typing.Optional[RequestOptions]
103
112
  Request-specific configuration.
@@ -128,8 +137,9 @@ class AsyncModelsClient:
128
137
  "v1/models/",
129
138
  method="GET",
130
139
  params={
131
- "byok_only": byok_only,
132
- "default_only": default_only,
140
+ "provider_category": provider_category,
141
+ "provider_name": provider_name,
142
+ "provider_type": provider_type,
133
143
  },
134
144
  request_options=request_options,
135
145
  )
@@ -303,6 +303,71 @@ class ProvidersClient:
303
303
  raise ApiError(status_code=_response.status_code, body=_response.text)
304
304
  raise ApiError(status_code=_response.status_code, body=_response_json)
305
305
 
306
+ def check(
307
+ self, *, provider_type: ProviderType, api_key: str, request_options: typing.Optional[RequestOptions] = None
308
+ ) -> typing.Optional[typing.Any]:
309
+ """
310
+ Parameters
311
+ ----------
312
+ provider_type : ProviderType
313
+
314
+ api_key : str
315
+
316
+ request_options : typing.Optional[RequestOptions]
317
+ Request-specific configuration.
318
+
319
+ Returns
320
+ -------
321
+ typing.Optional[typing.Any]
322
+ Successful Response
323
+
324
+ Examples
325
+ --------
326
+ from letta_client import Letta
327
+
328
+ client = Letta(
329
+ token="YOUR_TOKEN",
330
+ )
331
+ client.providers.check(
332
+ api_key="x-api-key",
333
+ provider_type="anthropic",
334
+ )
335
+ """
336
+ _response = self._client_wrapper.httpx_client.request(
337
+ "v1/providers/check",
338
+ method="GET",
339
+ params={
340
+ "provider_type": provider_type,
341
+ },
342
+ headers={
343
+ "x-api-key": str(api_key) if api_key is not None else None,
344
+ },
345
+ request_options=request_options,
346
+ )
347
+ try:
348
+ if 200 <= _response.status_code < 300:
349
+ return typing.cast(
350
+ typing.Optional[typing.Any],
351
+ construct_type(
352
+ type_=typing.Optional[typing.Any], # type: ignore
353
+ object_=_response.json(),
354
+ ),
355
+ )
356
+ if _response.status_code == 422:
357
+ raise UnprocessableEntityError(
358
+ typing.cast(
359
+ HttpValidationError,
360
+ construct_type(
361
+ type_=HttpValidationError, # type: ignore
362
+ object_=_response.json(),
363
+ ),
364
+ )
365
+ )
366
+ _response_json = _response.json()
367
+ except JSONDecodeError:
368
+ raise ApiError(status_code=_response.status_code, body=_response.text)
369
+ raise ApiError(status_code=_response.status_code, body=_response_json)
370
+
306
371
 
307
372
  class AsyncProvidersClient:
308
373
  def __init__(self, *, client_wrapper: AsyncClientWrapper):
@@ -621,3 +686,76 @@ class AsyncProvidersClient:
621
686
  except JSONDecodeError:
622
687
  raise ApiError(status_code=_response.status_code, body=_response.text)
623
688
  raise ApiError(status_code=_response.status_code, body=_response_json)
689
+
690
+ async def check(
691
+ self, *, provider_type: ProviderType, api_key: str, request_options: typing.Optional[RequestOptions] = None
692
+ ) -> typing.Optional[typing.Any]:
693
+ """
694
+ Parameters
695
+ ----------
696
+ provider_type : ProviderType
697
+
698
+ api_key : str
699
+
700
+ request_options : typing.Optional[RequestOptions]
701
+ Request-specific configuration.
702
+
703
+ Returns
704
+ -------
705
+ typing.Optional[typing.Any]
706
+ Successful Response
707
+
708
+ Examples
709
+ --------
710
+ import asyncio
711
+
712
+ from letta_client import AsyncLetta
713
+
714
+ client = AsyncLetta(
715
+ token="YOUR_TOKEN",
716
+ )
717
+
718
+
719
+ async def main() -> None:
720
+ await client.providers.check(
721
+ api_key="x-api-key",
722
+ provider_type="anthropic",
723
+ )
724
+
725
+
726
+ asyncio.run(main())
727
+ """
728
+ _response = await self._client_wrapper.httpx_client.request(
729
+ "v1/providers/check",
730
+ method="GET",
731
+ params={
732
+ "provider_type": provider_type,
733
+ },
734
+ headers={
735
+ "x-api-key": str(api_key) if api_key is not None else None,
736
+ },
737
+ request_options=request_options,
738
+ )
739
+ try:
740
+ if 200 <= _response.status_code < 300:
741
+ return typing.cast(
742
+ typing.Optional[typing.Any],
743
+ construct_type(
744
+ type_=typing.Optional[typing.Any], # type: ignore
745
+ object_=_response.json(),
746
+ ),
747
+ )
748
+ if _response.status_code == 422:
749
+ raise UnprocessableEntityError(
750
+ typing.cast(
751
+ HttpValidationError,
752
+ construct_type(
753
+ type_=HttpValidationError, # type: ignore
754
+ object_=_response.json(),
755
+ ),
756
+ )
757
+ )
758
+ _response_json = _response.json()
759
+ except JSONDecodeError:
760
+ raise ApiError(status_code=_response.status_code, body=_response.text)
761
+ raise ApiError(status_code=_response.status_code, body=_response_json)
@@ -6,6 +6,8 @@ from ...core.request_options import RequestOptions
6
6
  from .types.agents_create_response import AgentsCreateResponse
7
7
  from ...core.jsonable_encoder import jsonable_encoder
8
8
  from ...core.unchecked_base_model import construct_type
9
+ from ...errors.payment_required_error import PaymentRequiredError
10
+ from ...types.payment_required_error_body import PaymentRequiredErrorBody
9
11
  from json.decoder import JSONDecodeError
10
12
  from ...core.api_error import ApiError
11
13
  from ...core.client_wrapper import AsyncClientWrapper
@@ -101,6 +103,16 @@ class AgentsClient:
101
103
  object_=_response.json(),
102
104
  ),
103
105
  )
106
+ if _response.status_code == 402:
107
+ raise PaymentRequiredError(
108
+ typing.cast(
109
+ PaymentRequiredErrorBody,
110
+ construct_type(
111
+ type_=PaymentRequiredErrorBody, # type: ignore
112
+ object_=_response.json(),
113
+ ),
114
+ )
115
+ )
104
116
  _response_json = _response.json()
105
117
  except JSONDecodeError:
106
118
  raise ApiError(status_code=_response.status_code, body=_response.text)
@@ -202,6 +214,16 @@ class AsyncAgentsClient:
202
214
  object_=_response.json(),
203
215
  ),
204
216
  )
217
+ if _response.status_code == 402:
218
+ raise PaymentRequiredError(
219
+ typing.cast(
220
+ PaymentRequiredErrorBody,
221
+ construct_type(
222
+ type_=PaymentRequiredErrorBody, # type: ignore
223
+ object_=_response.json(),
224
+ ),
225
+ )
226
+ )
205
227
  _response_json = _response.json()
206
228
  except JSONDecodeError:
207
229
  raise ApiError(status_code=_response.status_code, body=_response.text)
@@ -160,8 +160,10 @@ from .parameter_properties import ParameterProperties
160
160
  from .parameters_schema import ParametersSchema
161
161
  from .parent_tool_rule import ParentToolRule
162
162
  from .passage import Passage
163
+ from .payment_required_error_body import PaymentRequiredErrorBody
163
164
  from .pip_requirement import PipRequirement
164
165
  from .provider import Provider
166
+ from .provider_category import ProviderCategory
165
167
  from .provider_type import ProviderType
166
168
  from .reasoning_content import ReasoningContent
167
169
  from .reasoning_message import ReasoningMessage
@@ -391,8 +393,10 @@ __all__ = [
391
393
  "ParametersSchema",
392
394
  "ParentToolRule",
393
395
  "Passage",
396
+ "PaymentRequiredErrorBody",
394
397
  "PipRequirement",
395
398
  "Provider",
399
+ "ProviderCategory",
396
400
  "ProviderType",
397
401
  "ReasoningContent",
398
402
  "ReasoningMessage",
@@ -4,6 +4,7 @@ from ..core.unchecked_base_model import UncheckedBaseModel
4
4
  import pydantic
5
5
  from .llm_config_model_endpoint_type import LlmConfigModelEndpointType
6
6
  import typing
7
+ from .provider_category import ProviderCategory
7
8
  from .llm_config_reasoning_effort import LlmConfigReasoningEffort
8
9
  from ..core.pydantic_utilities import IS_PYDANTIC_V2
9
10
 
@@ -43,6 +44,11 @@ class LlmConfig(UncheckedBaseModel):
43
44
  The provider name for the model.
44
45
  """
45
46
 
47
+ provider_category: typing.Optional[ProviderCategory] = pydantic.Field(default=None)
48
+ """
49
+ The provider category for the model.
50
+ """
51
+
46
52
  model_wrapper: typing.Optional[str] = pydantic.Field(default=None)
47
53
  """
48
54
  The wrapper for the model.
@@ -0,0 +1,20 @@
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 PaymentRequiredErrorBody(UncheckedBaseModel):
10
+ message: str
11
+ limit: float
12
+
13
+ if IS_PYDANTIC_V2:
14
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
15
+ else:
16
+
17
+ class Config:
18
+ frozen = True
19
+ smart_union = True
20
+ extra = pydantic.Extra.allow
@@ -4,6 +4,7 @@ from ..core.unchecked_base_model import UncheckedBaseModel
4
4
  import typing
5
5
  import pydantic
6
6
  from .provider_type import ProviderType
7
+ from .provider_category import ProviderCategory
7
8
  import datetime as dt
8
9
  from ..core.pydantic_utilities import IS_PYDANTIC_V2
9
10
 
@@ -24,6 +25,11 @@ class Provider(UncheckedBaseModel):
24
25
  The type of the provider
25
26
  """
26
27
 
28
+ provider_category: ProviderCategory = pydantic.Field()
29
+ """
30
+ The category of the provider (base or byok)
31
+ """
32
+
27
33
  api_key: typing.Optional[str] = pydantic.Field(default=None)
28
34
  """
29
35
  API key used for requests to the provider.
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ ProviderCategory = typing.Union[typing.Literal["base", "byok"], typing.Any]
@@ -5,6 +5,7 @@ import typing
5
5
  ProviderType = typing.Union[
6
6
  typing.Literal[
7
7
  "anthropic",
8
+ "bedrock",
8
9
  "google_ai",
9
10
  "google_vertex",
10
11
  "openai",
@@ -18,7 +19,6 @@ ProviderType = typing.Union[
18
19
  "together",
19
20
  "azure",
20
21
  "vllm",
21
- "bedrock",
22
22
  ],
23
23
  typing.Any,
24
24
  ]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: letta-client
3
- Version: 0.1.139
3
+ Version: 0.1.141
4
4
  Summary:
5
5
  Requires-Python: >=3.8,<4.0
6
6
  Classifier: Intended Audience :: Developers
@@ -1,4 +1,4 @@
1
- letta_client/__init__.py,sha256=vwXz9oCbv7ppqFUEFdl_18xXi_VXb8_G0u4Bmnq3xjU,16603
1
+ letta_client/__init__.py,sha256=wk3irzbI9wDCWPATVEXS-I3EYMfwfrpemBpezmYKM78,16790
2
2
  letta_client/agents/__init__.py,sha256=3oFWVxaaxkphkjGJVk31Llb9ll9dKoCGx3B_r3qqtes,1716
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
@@ -62,7 +62,7 @@ letta_client/client_side_access_tokens/types/client_side_access_tokens_create_re
62
62
  letta_client/client_side_access_tokens/types/client_side_access_tokens_create_response_policy_data_item_access_item.py,sha256=R-H25IpNp9feSrW8Yj3h9O3UTMVvFniQJElogKxLuoE,254
63
63
  letta_client/core/__init__.py,sha256=OKbX2aCZXgHCDUsCouqv-OiX32xA6eFFCKIUH9M5Vzk,1591
64
64
  letta_client/core/api_error.py,sha256=RE8LELok2QCjABadECTvtDp7qejA1VmINCh6TbqPwSE,426
65
- letta_client/core/client_wrapper.py,sha256=k3eu6bqL9ipsWxXIzbM1wLVMVZzONw1gDNtfIMe_G44,1998
65
+ letta_client/core/client_wrapper.py,sha256=-v4yTe3OJvb7S1RLxtSJQN8MN8IvE9OGmMP7xj4rEkM,1998
66
66
  letta_client/core/datetime_utils.py,sha256=nBys2IsYrhPdszxGKCNRPSOCwa-5DWOHG95FB8G9PKo,1047
67
67
  letta_client/core/file.py,sha256=d4NNbX8XvXP32z8KpK2Xovv33nFfruIrpz0QWxlgpZk,2663
68
68
  letta_client/core/http_client.py,sha256=Z77OIxIbL4OAB2IDqjRq_sYa5yNYAWfmdhdCSSvh6Y4,19552
@@ -74,13 +74,14 @@ letta_client/core/request_options.py,sha256=h0QUNCFVdCW_7GclVySCAY2w4NhtXVBUCmHg
74
74
  letta_client/core/serialization.py,sha256=D9h_t-RQON3-CHWs1C4ESY9B-Yd5d-l5lnTLb_X896g,9601
75
75
  letta_client/core/unchecked_base_model.py,sha256=zliEPgLnK9yQ1dZ0mHP6agQ7H0bTZk8AvX6VC1r9oPQ,10754
76
76
  letta_client/embedding_models/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
77
- letta_client/embedding_models/client.py,sha256=3D_iX5yokSmW6QkHzHT0SRuZtv2ZVQ9s0hdlKrFbk9k,3489
77
+ letta_client/embedding_models/client.py,sha256=tjDkz83Ygt38w2KCZ4lwnXAEnjxkaw8v5UdxvlyZVP4,4430
78
78
  letta_client/environment.py,sha256=91gYLF9bT4-hTPQ9dcPfmub4LgEl-T4a5kW7NXzRIJU,198
79
- letta_client/errors/__init__.py,sha256=sf5qYBpvBUchcwEIvulM7AYVGJkiVxknC9OX6TOpOdo,433
79
+ letta_client/errors/__init__.py,sha256=10_VG44lXpy4_YmuBa2_mYIcJMdIqNKPAX1uu-91NXc,541
80
80
  letta_client/errors/bad_request_error.py,sha256=_EbO8mWqN9kFZPvIap8qa1lL_EWkRcsZe1HKV9GDWJY,264
81
81
  letta_client/errors/conflict_error.py,sha256=INHRMcX6i0ywcbZfw-vn3aBoVi06bDjev3p_O8U8IA4,296
82
82
  letta_client/errors/internal_server_error.py,sha256=8USCagXyJJ1MOm9snpcXIUt6eNXvrd_aq7Gfcu1vlOI,268
83
83
  letta_client/errors/not_found_error.py,sha256=tBVCeBC8n3C811WHRj_n-hs3h8MqwR5gp0vLiobk7W8,262
84
+ letta_client/errors/payment_required_error.py,sha256=KVasrf0kwCzKfq1bAQ7lj1m9SdS7KqRntFaP0L_vfeI,325
84
85
  letta_client/errors/unprocessable_entity_error.py,sha256=FvR7XPlV3Xx5nu8HNlmLhBRdk4so_gCHjYT5PyZe6sM,313
85
86
  letta_client/groups/__init__.py,sha256=WzkNp5Q_5zQj_NHv4hJCOKvW6ftM9EuNxw8hkPRRbko,434
86
87
  letta_client/groups/client.py,sha256=xcW5PU_2Z4G92Sz9vuZM97xS88lsHlv2STG91Szleow,29893
@@ -104,14 +105,14 @@ letta_client/jobs/client.py,sha256=z1Zq6dGs2xbf3EAFuD3-m-qbpbUeqpCBYqtIFKkGoMk,1
104
105
  letta_client/messages/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
105
106
  letta_client/messages/client.py,sha256=1L-636T7K3pL9PjNT5OOGRQjL4wS5bj-0hEW6pqZE_Y,7192
106
107
  letta_client/models/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
107
- letta_client/models/client.py,sha256=A1B3Q-Oc1ow-2Ju8bI2GF3DmnzGONduv4eDA4Q__368,5000
108
+ letta_client/models/client.py,sha256=A-UUpTT9yjRvwEGkO3umoK9Kof5t7tj14nS_pg9HDkc,5742
108
109
  letta_client/projects/__init__.py,sha256=Mg9xvTJ4N4xDkj521w3jvmCgrbW3CYx9LxG7kkdoyzs,211
109
110
  letta_client/projects/client.py,sha256=VNJyt5QyAQoZwPDL4PQSVrwBK6jb0vOxleTBuMBJSC4,4229
110
111
  letta_client/projects/types/__init__.py,sha256=1nE8QFsR2GukiQxkaRFQfBuk1u_yuO-emykjWq8pXRs,277
111
112
  letta_client/projects/types/projects_list_response.py,sha256=LdWVSnP8fqrVTcRfkd73N4wIa5_VkxrAUS-GFftkqHo,858
112
113
  letta_client/projects/types/projects_list_response_projects_item.py,sha256=7mFQdVQCNqvl2zBzVWzClENfF9N35T1Wpv3lgYbbAz0,605
113
114
  letta_client/providers/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
114
- letta_client/providers/client.py,sha256=-9weA21WYKIcY0YOoE-UOWSPGHFWtuzH9yWZ3kwm78c,19000
115
+ letta_client/providers/client.py,sha256=7XhAT3bEIYFL5TPauaYyGqZWazVsW0zwVod8bP2jYYY,23374
115
116
  letta_client/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
116
117
  letta_client/runs/__init__.py,sha256=0Mn3wMqzm7ppXeiwu9zfY_KlyzBbWSM1wt_rsx0NmM0,144
117
118
  letta_client/runs/client.py,sha256=6A0i8-fWzRgK1U5P4jeKKav-cRSjaaN5ttMh66ihwe8,17234
@@ -133,7 +134,7 @@ letta_client/tags/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw
133
134
  letta_client/tags/client.py,sha256=1xIPtMWJ6ssAhPEFgl5CyJHyvND9MHCLIbEzQWxntZ0,5167
134
135
  letta_client/templates/__init__.py,sha256=6kqaRnkWVngMoV08wPrkA6urr_lCnE6FRIVq4jj4z1M,313
135
136
  letta_client/templates/agents/__init__.py,sha256=1tdurb6H9iIIc-Lq68A1xpuidIej7LU1Lz9zCSO4seM,141
136
- letta_client/templates/agents/client.py,sha256=Eyd3Hutky11j1BiSKsfpykq2oMZ2aGNUIYivZAdm9ic,7083
137
+ letta_client/templates/agents/client.py,sha256=WVZzpkkUUiaF2SEYptSgx9Cx5kAM7QhjPp_Yox29WmA,8041
137
138
  letta_client/templates/agents/types/__init__.py,sha256=oYK-SXvccx0ZCfsjUdDUYAQ5jZi2UQBkV3nx_DIJJC8,158
138
139
  letta_client/templates/agents/types/agents_create_response.py,sha256=FHjCM6NlichekqQ73bTuGEoYe8xyUle0hcNFv6gocJU,636
139
140
  letta_client/templates/client.py,sha256=EpPdvDbpYf57iPBVpDt8PPGkS2rmf4qCkzFnMpotrHg,4747
@@ -147,7 +148,7 @@ letta_client/tools/types/add_mcp_server_request.py,sha256=EieZjfOT95sjkpxXdqy7gl
147
148
  letta_client/tools/types/add_mcp_server_response_item.py,sha256=TWdsKqGb1INhYtpGnAckz0Pw4nZShumSp4pfocRfxCA,270
148
149
  letta_client/tools/types/delete_mcp_server_response_item.py,sha256=MeZObU-7tMSCd-S5yuUjNDse6A1hUz1LLjbko0pXaro,273
149
150
  letta_client/tools/types/list_mcp_servers_response_value.py,sha256=AIoXu4bO8QNSU7zjL1jj0Rg4313wVtPaTt13W0aevLQ,273
150
- letta_client/types/__init__.py,sha256=MCJky-mZbKacLMPMcXx3rnwJoAgANq3gn3v04p3glLM,20798
151
+ letta_client/types/__init__.py,sha256=vUsRUK8vq8FTV3DyKMgUy2I4vR92KDKdDuWLwVUfvMY,20968
151
152
  letta_client/types/action_model.py,sha256=y1e2XMv3skFaNJIBdYoBKgiORzGh05aOVvu-qVR9uHg,1240
152
153
  letta_client/types/action_parameters_model.py,sha256=LgKf5aPZG3-OHGxFdXiSokIDgce8c02xPYIAY05VgW8,828
153
154
  letta_client/types/action_response_model.py,sha256=yq2Fd9UU8j7vvtE3VqXUoRRvDzWcfJPj_95ynGdeHCs,824
@@ -274,7 +275,7 @@ letta_client/types/letta_request_config.py,sha256=b6K4QtDdHjcZKfBb1fugUuoPrT2N4d
274
275
  letta_client/types/letta_response.py,sha256=i5gAUTgWzIst_RP8I_zSh0GSnLIS3z--1BmK6EF1mkQ,1315
275
276
  letta_client/types/letta_streaming_request.py,sha256=jm0HLzfzWzIRs8uwtX33V5f5Ljw_hFOKOhPjdIZX9cA,1465
276
277
  letta_client/types/letta_usage_statistics.py,sha256=k6V72J2TEPd-RQBuUQxF3oylrAMcuSKBskd2nnZmGOw,1886
277
- letta_client/types/llm_config.py,sha256=i6mxKNAn2TdzAyOPcOGiBZwnpW12G9MJRUTxyq06Sd8,3814
278
+ letta_client/types/llm_config.py,sha256=h22Fiph7-KoLKMgRKKtqqmUZzJwYUe5i02nwfsYluC4,4008
278
279
  letta_client/types/llm_config_model_endpoint_type.py,sha256=HOSM5kIZDCNAVCWmASvAk52K819plqGlD66yKQ1xFkI,620
279
280
  letta_client/types/llm_config_reasoning_effort.py,sha256=AHL2nI5aeTfPhijnhaL3aiP8EoJhy_Wdupi2pyMm4sA,173
280
281
  letta_client/types/local_sandbox_config.py,sha256=jfe7akG_YrJJ8csLaLdev04Zg1x-PTN0XCAL4KifaZI,1387
@@ -304,9 +305,11 @@ letta_client/types/parameter_properties.py,sha256=KVQGp_csoiNzyf9XsL083fwlX_a2Tc
304
305
  letta_client/types/parameters_schema.py,sha256=ptXcwjuaCwqRhfizeiWAsu3pqT87Jcj_P3YaEkL4asM,748
305
306
  letta_client/types/parent_tool_rule.py,sha256=zPTfn5epS8spEIw71HUbbSX2KYxlIPB-cGJ52UQmQ_M,964
306
307
  letta_client/types/passage.py,sha256=1OM19TyVCQEL1P3BC58hmzWfawZM4vejiKr0P11dOUk,3034
308
+ letta_client/types/payment_required_error_body.py,sha256=CXPzl1jrozG5PAiJakOK29qmgo5az8FQu_MVmEBxsK4,589
307
309
  letta_client/types/pip_requirement.py,sha256=Hmh7VpJhdSfFkafh6QwAehCp0MQUBXv1YAoYP-2wV2M,773
308
- letta_client/types/provider.py,sha256=qPLMJ-9oDl94YGP_5DaRTWblHHjKFc1PkS5OPp1lUwo,1304
309
- letta_client/types/provider_type.py,sha256=uEUNL2qcGizQfQp5kr9-egi6uBY-JJ4ASJA5J33utXw,443
310
+ letta_client/types/provider.py,sha256=9xl9T3TjkjpGX0mfH04CtCF0lcdoTmsGT_K16xR3n7M,1476
311
+ letta_client/types/provider_category.py,sha256=St4tSc_Wc5huF79kb088-L-tRz9Cj2_b5DqEoU4eDIs,156
312
+ letta_client/types/provider_type.py,sha256=ks7hOrwFjZXJdQDWQMtFPZI0LHZKaDm-YZ1fYry11ZY,443
310
313
  letta_client/types/reasoning_content.py,sha256=aId-87QjQ4sm_fuCmzIdZZghr-9DFeVV-Lv9x5iVw3I,995
311
314
  letta_client/types/reasoning_message.py,sha256=YzZMr_orwDVcrbiSED_kN3004MA579xGe-iRW9hLngg,1606
312
315
  letta_client/types/reasoning_message_source.py,sha256=GYOWGm2mje1yYbR8E2kbAeQS--VDrGlpsobEBQHE2cU,186
@@ -382,6 +385,6 @@ letta_client/voice/__init__.py,sha256=7hX85553PiRMtIMM12a0DSoFzsglNiUziYR2ekS84Q
382
385
  letta_client/voice/client.py,sha256=STjswa5oOLoP59QwTJvQwi73kgn0UzKOaXc2CsTRI4k,6912
383
386
  letta_client/voice/types/__init__.py,sha256=FRc3iKRTONE4N8Lf1IqvnqWZ2kXdrFFvkL7PxVcR8Ew,212
384
387
  letta_client/voice/types/create_voice_chat_completions_request_body.py,sha256=ZLfKgNK1T6IAwLEvaBVFfy7jEAoPUXP28n-nfmHkklc,391
385
- letta_client-0.1.139.dist-info/METADATA,sha256=iqfnSrbFloUVDBOzBtEdv_bA7sYFM-Rj5aEpC2MlCA4,5042
386
- letta_client-0.1.139.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
387
- letta_client-0.1.139.dist-info/RECORD,,
388
+ letta_client-0.1.141.dist-info/METADATA,sha256=dKCBBjTs-otbf03V_vl-DnSZeqa6mkRnf9sDRmsVZlM,5042
389
+ letta_client-0.1.141.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
390
+ letta_client-0.1.141.dist-info/RECORD,,