letta-client 0.1.163__py3-none-any.whl → 0.1.164__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
@@ -169,6 +169,7 @@ from .types import (
169
169
  PipRequirement,
170
170
  Provider,
171
171
  ProviderCategory,
172
+ ProviderCheck,
172
173
  ProviderTrace,
173
174
  ProviderType,
174
175
  ReasoningContent,
@@ -515,6 +516,7 @@ __all__ = [
515
516
  "ProjectsListResponseProjectsItem",
516
517
  "Provider",
517
518
  "ProviderCategory",
519
+ "ProviderCheck",
518
520
  "ProviderTrace",
519
521
  "ProviderType",
520
522
  "ReasoningContent",
@@ -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.163",
19
+ "X-Fern-SDK-Version": "0.1.164",
20
20
  }
21
21
  if self.token is not None:
22
22
  headers["Authorization"] = f"Bearer {self.token}"
@@ -101,6 +101,8 @@ class ProvidersClient:
101
101
  name: str,
102
102
  provider_type: ProviderType,
103
103
  api_key: str,
104
+ access_key: typing.Optional[str] = OMIT,
105
+ region: typing.Optional[str] = OMIT,
104
106
  request_options: typing.Optional[RequestOptions] = None,
105
107
  ) -> Provider:
106
108
  """
@@ -115,7 +117,13 @@ class ProvidersClient:
115
117
  The type of the provider.
116
118
 
117
119
  api_key : str
118
- API key used for requests to the provider.
120
+ API key or secret key used for requests to the provider.
121
+
122
+ access_key : typing.Optional[str]
123
+ Access key used for requests to the provider.
124
+
125
+ region : typing.Optional[str]
126
+ Region used for requests to the provider.
119
127
 
120
128
  request_options : typing.Optional[RequestOptions]
121
129
  Request-specific configuration.
@@ -145,6 +153,8 @@ class ProvidersClient:
145
153
  "name": name,
146
154
  "provider_type": provider_type,
147
155
  "api_key": api_key,
156
+ "access_key": access_key,
157
+ "region": region,
148
158
  },
149
159
  headers={
150
160
  "content-type": "application/json",
@@ -235,7 +245,13 @@ class ProvidersClient:
235
245
  raise ApiError(status_code=_response.status_code, body=_response_json)
236
246
 
237
247
  def modify(
238
- self, provider_id: str, *, api_key: str, request_options: typing.Optional[RequestOptions] = None
248
+ self,
249
+ provider_id: str,
250
+ *,
251
+ api_key: str,
252
+ access_key: typing.Optional[str] = OMIT,
253
+ region: typing.Optional[str] = OMIT,
254
+ request_options: typing.Optional[RequestOptions] = None,
239
255
  ) -> Provider:
240
256
  """
241
257
  Update an existing custom provider
@@ -245,7 +261,13 @@ class ProvidersClient:
245
261
  provider_id : str
246
262
 
247
263
  api_key : str
248
- API key used for requests to the provider.
264
+ API key or secret key used for requests to the provider.
265
+
266
+ access_key : typing.Optional[str]
267
+ Access key used for requests to the provider.
268
+
269
+ region : typing.Optional[str]
270
+ Region used for requests to the provider.
249
271
 
250
272
  request_options : typing.Optional[RequestOptions]
251
273
  Request-specific configuration.
@@ -272,6 +294,8 @@ class ProvidersClient:
272
294
  method="PATCH",
273
295
  json={
274
296
  "api_key": api_key,
297
+ "access_key": access_key,
298
+ "region": region,
275
299
  },
276
300
  headers={
277
301
  "content-type": "application/json",
@@ -303,16 +327,10 @@ class ProvidersClient:
303
327
  raise ApiError(status_code=_response.status_code, body=_response.text)
304
328
  raise ApiError(status_code=_response.status_code, body=_response_json)
305
329
 
306
- def check(
307
- self, *, provider_type: ProviderType, api_key: str, request_options: typing.Optional[RequestOptions] = None
308
- ) -> typing.Optional[typing.Any]:
330
+ def check(self, *, request_options: typing.Optional[RequestOptions] = None) -> typing.Optional[typing.Any]:
309
331
  """
310
332
  Parameters
311
333
  ----------
312
- provider_type : ProviderType
313
-
314
- api_key : str
315
-
316
334
  request_options : typing.Optional[RequestOptions]
317
335
  Request-specific configuration.
318
336
 
@@ -328,20 +346,11 @@ class ProvidersClient:
328
346
  client = Letta(
329
347
  token="YOUR_TOKEN",
330
348
  )
331
- client.providers.check(
332
- api_key="x-api-key",
333
- provider_type="anthropic",
334
- )
349
+ client.providers.check()
335
350
  """
336
351
  _response = self._client_wrapper.httpx_client.request(
337
352
  "v1/providers/check",
338
353
  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
354
  request_options=request_options,
346
355
  )
347
356
  try:
@@ -461,6 +470,8 @@ class AsyncProvidersClient:
461
470
  name: str,
462
471
  provider_type: ProviderType,
463
472
  api_key: str,
473
+ access_key: typing.Optional[str] = OMIT,
474
+ region: typing.Optional[str] = OMIT,
464
475
  request_options: typing.Optional[RequestOptions] = None,
465
476
  ) -> Provider:
466
477
  """
@@ -475,7 +486,13 @@ class AsyncProvidersClient:
475
486
  The type of the provider.
476
487
 
477
488
  api_key : str
478
- API key used for requests to the provider.
489
+ API key or secret key used for requests to the provider.
490
+
491
+ access_key : typing.Optional[str]
492
+ Access key used for requests to the provider.
493
+
494
+ region : typing.Optional[str]
495
+ Region used for requests to the provider.
479
496
 
480
497
  request_options : typing.Optional[RequestOptions]
481
498
  Request-specific configuration.
@@ -513,6 +530,8 @@ class AsyncProvidersClient:
513
530
  "name": name,
514
531
  "provider_type": provider_type,
515
532
  "api_key": api_key,
533
+ "access_key": access_key,
534
+ "region": region,
516
535
  },
517
536
  headers={
518
537
  "content-type": "application/json",
@@ -611,7 +630,13 @@ class AsyncProvidersClient:
611
630
  raise ApiError(status_code=_response.status_code, body=_response_json)
612
631
 
613
632
  async def modify(
614
- self, provider_id: str, *, api_key: str, request_options: typing.Optional[RequestOptions] = None
633
+ self,
634
+ provider_id: str,
635
+ *,
636
+ api_key: str,
637
+ access_key: typing.Optional[str] = OMIT,
638
+ region: typing.Optional[str] = OMIT,
639
+ request_options: typing.Optional[RequestOptions] = None,
615
640
  ) -> Provider:
616
641
  """
617
642
  Update an existing custom provider
@@ -621,7 +646,13 @@ class AsyncProvidersClient:
621
646
  provider_id : str
622
647
 
623
648
  api_key : str
624
- API key used for requests to the provider.
649
+ API key or secret key used for requests to the provider.
650
+
651
+ access_key : typing.Optional[str]
652
+ Access key used for requests to the provider.
653
+
654
+ region : typing.Optional[str]
655
+ Region used for requests to the provider.
625
656
 
626
657
  request_options : typing.Optional[RequestOptions]
627
658
  Request-specific configuration.
@@ -656,6 +687,8 @@ class AsyncProvidersClient:
656
687
  method="PATCH",
657
688
  json={
658
689
  "api_key": api_key,
690
+ "access_key": access_key,
691
+ "region": region,
659
692
  },
660
693
  headers={
661
694
  "content-type": "application/json",
@@ -687,16 +720,10 @@ class AsyncProvidersClient:
687
720
  raise ApiError(status_code=_response.status_code, body=_response.text)
688
721
  raise ApiError(status_code=_response.status_code, body=_response_json)
689
722
 
690
- async def check(
691
- self, *, provider_type: ProviderType, api_key: str, request_options: typing.Optional[RequestOptions] = None
692
- ) -> typing.Optional[typing.Any]:
723
+ async def check(self, *, request_options: typing.Optional[RequestOptions] = None) -> typing.Optional[typing.Any]:
693
724
  """
694
725
  Parameters
695
726
  ----------
696
- provider_type : ProviderType
697
-
698
- api_key : str
699
-
700
727
  request_options : typing.Optional[RequestOptions]
701
728
  Request-specific configuration.
702
729
 
@@ -717,10 +744,7 @@ class AsyncProvidersClient:
717
744
 
718
745
 
719
746
  async def main() -> None:
720
- await client.providers.check(
721
- api_key="x-api-key",
722
- provider_type="anthropic",
723
- )
747
+ await client.providers.check()
724
748
 
725
749
 
726
750
  asyncio.run(main())
@@ -728,12 +752,6 @@ class AsyncProvidersClient:
728
752
  _response = await self._client_wrapper.httpx_client.request(
729
753
  "v1/providers/check",
730
754
  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
755
  request_options=request_options,
738
756
  )
739
757
  try:
@@ -172,6 +172,7 @@ from .payment_required_error_body import PaymentRequiredErrorBody
172
172
  from .pip_requirement import PipRequirement
173
173
  from .provider import Provider
174
174
  from .provider_category import ProviderCategory
175
+ from .provider_check import ProviderCheck
175
176
  from .provider_trace import ProviderTrace
176
177
  from .provider_type import ProviderType
177
178
  from .reasoning_content import ReasoningContent
@@ -420,6 +421,7 @@ __all__ = [
420
421
  "PipRequirement",
421
422
  "Provider",
422
423
  "ProviderCategory",
424
+ "ProviderCheck",
423
425
  "ProviderTrace",
424
426
  "ProviderType",
425
427
  "ReasoningContent",
@@ -32,7 +32,7 @@ class Provider(UncheckedBaseModel):
32
32
 
33
33
  api_key: typing.Optional[str] = pydantic.Field(default=None)
34
34
  """
35
- API key used for requests to the provider.
35
+ API key or secret key used for requests to the provider.
36
36
  """
37
37
 
38
38
  base_url: typing.Optional[str] = pydantic.Field(default=None)
@@ -40,6 +40,16 @@ class Provider(UncheckedBaseModel):
40
40
  Base URL for the provider.
41
41
  """
42
42
 
43
+ access_key: typing.Optional[str] = pydantic.Field(default=None)
44
+ """
45
+ Access key used for requests to the provider.
46
+ """
47
+
48
+ region: typing.Optional[str] = pydantic.Field(default=None)
49
+ """
50
+ Region used for requests to the provider.
51
+ """
52
+
43
53
  updated_at: typing.Optional[dt.datetime] = pydantic.Field(default=None)
44
54
  """
45
55
  The last update timestamp of the provider.
@@ -0,0 +1,38 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.unchecked_base_model import UncheckedBaseModel
4
+ from .provider_type import ProviderType
5
+ import pydantic
6
+ import typing
7
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
8
+
9
+
10
+ class ProviderCheck(UncheckedBaseModel):
11
+ provider_type: ProviderType = pydantic.Field()
12
+ """
13
+ The type of the provider.
14
+ """
15
+
16
+ api_key: str = pydantic.Field()
17
+ """
18
+ API key or secret key used for requests to the provider.
19
+ """
20
+
21
+ access_key: typing.Optional[str] = pydantic.Field(default=None)
22
+ """
23
+ Access key used for requests to the provider.
24
+ """
25
+
26
+ region: typing.Optional[str] = pydantic.Field(default=None)
27
+ """
28
+ Region used for requests to the provider.
29
+ """
30
+
31
+ if IS_PYDANTIC_V2:
32
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
33
+ else:
34
+
35
+ class Config:
36
+ frozen = True
37
+ smart_union = True
38
+ extra = pydantic.Extra.allow
@@ -5,7 +5,6 @@ import typing
5
5
  ProviderType = typing.Union[
6
6
  typing.Literal[
7
7
  "anthropic",
8
- "bedrock",
9
8
  "google_ai",
10
9
  "google_vertex",
11
10
  "openai",
@@ -19,6 +18,7 @@ ProviderType = typing.Union[
19
18
  "together",
20
19
  "azure",
21
20
  "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.163
3
+ Version: 0.1.164
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=QJx2mnGoYZPoDTmVMGLp02lSF9uBAgOf1R-mDcmtHrs,17544
1
+ letta_client/__init__.py,sha256=ODj1hJIjnt0oi2oxEA6Tg5phu0QfxXWI2xK56wtCbzg,17584
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=ecE03lE5tP1AtCMFLT9FzdYyQMx_D7NI5m42b41pV40,24684
@@ -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=muY391xMrKlrGQ5aWW-WLWoubaTmRZvqDsirBzmmWFA,1998
65
+ letta_client/core/client_wrapper.py,sha256=H3hLb75t8Rdf8-7Q7YL-14jLBV7EA4Fzu2bz3BDC0Ug,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
@@ -112,7 +112,7 @@ letta_client/projects/types/__init__.py,sha256=1nE8QFsR2GukiQxkaRFQfBuk1u_yuO-em
112
112
  letta_client/projects/types/projects_list_response.py,sha256=LdWVSnP8fqrVTcRfkd73N4wIa5_VkxrAUS-GFftkqHo,858
113
113
  letta_client/projects/types/projects_list_response_projects_item.py,sha256=7mFQdVQCNqvl2zBzVWzClENfF9N35T1Wpv3lgYbbAz0,605
114
114
  letta_client/providers/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
115
- letta_client/providers/client.py,sha256=7XhAT3bEIYFL5TPauaYyGqZWazVsW0zwVod8bP2jYYY,23374
115
+ letta_client/providers/client.py,sha256=EQNroh4IEMYdLS0qAnhy9f1cdt9AiBE_GPx3zKh5y1U,24148
116
116
  letta_client/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
117
117
  letta_client/runs/__init__.py,sha256=0Mn3wMqzm7ppXeiwu9zfY_KlyzBbWSM1wt_rsx0NmM0,144
118
118
  letta_client/runs/client.py,sha256=6A0i8-fWzRgK1U5P4jeKKav-cRSjaaN5ttMh66ihwe8,17234
@@ -152,7 +152,7 @@ letta_client/tools/types/delete_mcp_server_response_item.py,sha256=YLIBE7OD535NJ
152
152
  letta_client/tools/types/list_mcp_servers_response_value.py,sha256=Eyji5qB7FhowiogsAbpcU_aMyH9zClv9lUMmHOmNPYk,379
153
153
  letta_client/tools/types/update_mcp_server_request.py,sha256=SEMNYHB_mwJNSMHKO7keU0C_CMBktV7lfZUnACPe_fU,314
154
154
  letta_client/tools/types/update_mcp_server_response.py,sha256=muwHagaQBMwQI0of9EBCBtG9lD-jELFAevgTB2MjpFQ,375
155
- letta_client/types/__init__.py,sha256=qaiwv7zszTE0ETdE0zEsEB1e4C1JMAIW-pFns6wV8i4,22085
155
+ letta_client/types/__init__.py,sha256=bREWZobWowUZq4TcXFHFR2SWItxO22fKQ_umQCgaTxw,22148
156
156
  letta_client/types/action_model.py,sha256=y1e2XMv3skFaNJIBdYoBKgiORzGh05aOVvu-qVR9uHg,1240
157
157
  letta_client/types/action_parameters_model.py,sha256=LgKf5aPZG3-OHGxFdXiSokIDgce8c02xPYIAY05VgW8,828
158
158
  letta_client/types/action_response_model.py,sha256=yq2Fd9UU8j7vvtE3VqXUoRRvDzWcfJPj_95ynGdeHCs,824
@@ -319,10 +319,11 @@ letta_client/types/parent_tool_rule.py,sha256=YPWpQDp54vdLxLKp4sOgdcUBbU1oEVYqU6
319
319
  letta_client/types/passage.py,sha256=k2EGG94WMFA3wsoL6Vd9ax18S2Nk7i_HlXvV5Dw5S4Y,3171
320
320
  letta_client/types/payment_required_error_body.py,sha256=CXPzl1jrozG5PAiJakOK29qmgo5az8FQu_MVmEBxsK4,589
321
321
  letta_client/types/pip_requirement.py,sha256=Hmh7VpJhdSfFkafh6QwAehCp0MQUBXv1YAoYP-2wV2M,773
322
- letta_client/types/provider.py,sha256=9xl9T3TjkjpGX0mfH04CtCF0lcdoTmsGT_K16xR3n7M,1476
322
+ letta_client/types/provider.py,sha256=YjljtsMsEfF-dhVP5zOIIX3rl34n4CpuNiojD3kq30Y,1752
323
323
  letta_client/types/provider_category.py,sha256=St4tSc_Wc5huF79kb088-L-tRz9Cj2_b5DqEoU4eDIs,156
324
+ letta_client/types/provider_check.py,sha256=F_DrCohBhBtGTBRthRX72X6-6c5ftJo568D62dc2cig,1057
324
325
  letta_client/types/provider_trace.py,sha256=sLDiO-N9KbgA9ppwMRSw8Qlf52PApocjeXgbBans-94,2200
325
- letta_client/types/provider_type.py,sha256=ks7hOrwFjZXJdQDWQMtFPZI0LHZKaDm-YZ1fYry11ZY,443
326
+ letta_client/types/provider_type.py,sha256=uEUNL2qcGizQfQp5kr9-egi6uBY-JJ4ASJA5J33utXw,443
326
327
  letta_client/types/reasoning_content.py,sha256=aId-87QjQ4sm_fuCmzIdZZghr-9DFeVV-Lv9x5iVw3I,995
327
328
  letta_client/types/reasoning_message.py,sha256=YzZMr_orwDVcrbiSED_kN3004MA579xGe-iRW9hLngg,1606
328
329
  letta_client/types/reasoning_message_source.py,sha256=GYOWGm2mje1yYbR8E2kbAeQS--VDrGlpsobEBQHE2cU,186
@@ -402,6 +403,6 @@ letta_client/types/web_search_options_user_location_approximate.py,sha256=Ywk01J
402
403
  letta_client/version.py,sha256=bttKLbIhO3UonCYQlqs600zzbQgfhCCMjeXR9WRzid4,79
403
404
  letta_client/voice/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
404
405
  letta_client/voice/client.py,sha256=EX79F2D5bieXNP8g1ZPw8xwAzqE1A3hshCHUSlTV1kw,5739
405
- letta_client-0.1.163.dist-info/METADATA,sha256=LoWeT9PU1gGOBnnhkXFFd63he1mvFeAvnRsxO3YYs10,5093
406
- letta_client-0.1.163.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
407
- letta_client-0.1.163.dist-info/RECORD,,
406
+ letta_client-0.1.164.dist-info/METADATA,sha256=4kDGXsvMCxGy7NosndMsL5ipb9o8ITQqOwN5KccoYy4,5093
407
+ letta_client-0.1.164.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
408
+ letta_client-0.1.164.dist-info/RECORD,,