letta-client 0.1.191__py3-none-any.whl → 0.1.192__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
@@ -95,6 +95,7 @@ from .types import (
95
95
  FileFile,
96
96
  FileMetadata,
97
97
  FileProcessingStatus,
98
+ FileStats,
98
99
  FunctionCall,
99
100
  FunctionDefinitionInput,
100
101
  FunctionDefinitionOutput,
@@ -162,6 +163,7 @@ from .types import (
162
163
  OpenaiTypesChatCompletionCreateParamsFunction,
163
164
  Organization,
164
165
  OrganizationCreate,
166
+ OrganizationSourcesStats,
165
167
  OrganizationUpdate,
166
168
  ParameterProperties,
167
169
  ParametersSchema,
@@ -197,6 +199,7 @@ from .types import (
197
199
  SleeptimeManager,
198
200
  SleeptimeManagerUpdate,
199
201
  Source,
202
+ SourceStats,
200
203
  SseServerConfig,
201
204
  StdioServerConfig,
202
205
  Step,
@@ -444,6 +447,7 @@ __all__ = [
444
447
  "FileFile",
445
448
  "FileMetadata",
446
449
  "FileProcessingStatus",
450
+ "FileStats",
447
451
  "FunctionCall",
448
452
  "FunctionDefinitionInput",
449
453
  "FunctionDefinitionOutput",
@@ -518,6 +522,7 @@ __all__ = [
518
522
  "OpenaiTypesChatCompletionCreateParamsFunction",
519
523
  "Organization",
520
524
  "OrganizationCreate",
525
+ "OrganizationSourcesStats",
521
526
  "OrganizationUpdate",
522
527
  "ParameterProperties",
523
528
  "ParametersSchema",
@@ -556,6 +561,7 @@ __all__ = [
556
561
  "SleeptimeManager",
557
562
  "SleeptimeManagerUpdate",
558
563
  "Source",
564
+ "SourceStats",
559
565
  "SseServerConfig",
560
566
  "StdioServerConfig",
561
567
  "Step",
@@ -24,7 +24,7 @@ class BaseClientWrapper:
24
24
  headers: typing.Dict[str, str] = {
25
25
  "X-Fern-Language": "Python",
26
26
  "X-Fern-SDK-Name": "letta-client",
27
- "X-Fern-SDK-Version": "0.1.191",
27
+ "X-Fern-SDK-Version": "0.1.192",
28
28
  }
29
29
  if self._project is not None:
30
30
  headers["X-Project"] = self._project
@@ -14,6 +14,7 @@ from ..types.source import Source
14
14
  from ..core.jsonable_encoder import jsonable_encoder
15
15
  from ..types.embedding_config import EmbeddingConfig
16
16
  from ..core.serialization import convert_and_respect_annotation_metadata
17
+ from ..types.organization_sources_stats import OrganizationSourcesStats
17
18
  from ..types.file_metadata import FileMetadata
18
19
  from ..core.client_wrapper import AsyncClientWrapper
19
20
  from .files.client import AsyncFilesClient
@@ -350,6 +351,67 @@ class SourcesClient:
350
351
  raise ApiError(status_code=_response.status_code, body=_response.text)
351
352
  raise ApiError(status_code=_response.status_code, body=_response_json)
352
353
 
354
+ def get_sources_metadata(
355
+ self, *, request_options: typing.Optional[RequestOptions] = None
356
+ ) -> OrganizationSourcesStats:
357
+ """
358
+ Get aggregated metadata for all sources in an organization.
359
+
360
+ Returns structured metadata including:
361
+ - Total number of sources
362
+ - Total number of files across all sources
363
+ - Total size of all files
364
+ - Per-source breakdown with file details (file_name, file_size per file)
365
+
366
+ Parameters
367
+ ----------
368
+ request_options : typing.Optional[RequestOptions]
369
+ Request-specific configuration.
370
+
371
+ Returns
372
+ -------
373
+ OrganizationSourcesStats
374
+ Successful Response
375
+
376
+ Examples
377
+ --------
378
+ from letta_client import Letta
379
+
380
+ client = Letta(
381
+ project="YOUR_PROJECT",
382
+ token="YOUR_TOKEN",
383
+ )
384
+ client.sources.get_sources_metadata()
385
+ """
386
+ _response = self._client_wrapper.httpx_client.request(
387
+ "v1/sources/metadata",
388
+ method="GET",
389
+ request_options=request_options,
390
+ )
391
+ try:
392
+ if 200 <= _response.status_code < 300:
393
+ return typing.cast(
394
+ OrganizationSourcesStats,
395
+ construct_type(
396
+ type_=OrganizationSourcesStats, # type: ignore
397
+ object_=_response.json(),
398
+ ),
399
+ )
400
+ if _response.status_code == 422:
401
+ raise UnprocessableEntityError(
402
+ typing.cast(
403
+ HttpValidationError,
404
+ construct_type(
405
+ type_=HttpValidationError, # type: ignore
406
+ object_=_response.json(),
407
+ ),
408
+ )
409
+ )
410
+ _response_json = _response.json()
411
+ except JSONDecodeError:
412
+ raise ApiError(status_code=_response.status_code, body=_response.text)
413
+ raise ApiError(status_code=_response.status_code, body=_response_json)
414
+
353
415
  def list(self, *, request_options: typing.Optional[RequestOptions] = None) -> typing.List[Source]:
354
416
  """
355
417
  List all data sources created by a user.
@@ -948,6 +1010,75 @@ class AsyncSourcesClient:
948
1010
  raise ApiError(status_code=_response.status_code, body=_response.text)
949
1011
  raise ApiError(status_code=_response.status_code, body=_response_json)
950
1012
 
1013
+ async def get_sources_metadata(
1014
+ self, *, request_options: typing.Optional[RequestOptions] = None
1015
+ ) -> OrganizationSourcesStats:
1016
+ """
1017
+ Get aggregated metadata for all sources in an organization.
1018
+
1019
+ Returns structured metadata including:
1020
+ - Total number of sources
1021
+ - Total number of files across all sources
1022
+ - Total size of all files
1023
+ - Per-source breakdown with file details (file_name, file_size per file)
1024
+
1025
+ Parameters
1026
+ ----------
1027
+ request_options : typing.Optional[RequestOptions]
1028
+ Request-specific configuration.
1029
+
1030
+ Returns
1031
+ -------
1032
+ OrganizationSourcesStats
1033
+ Successful Response
1034
+
1035
+ Examples
1036
+ --------
1037
+ import asyncio
1038
+
1039
+ from letta_client import AsyncLetta
1040
+
1041
+ client = AsyncLetta(
1042
+ project="YOUR_PROJECT",
1043
+ token="YOUR_TOKEN",
1044
+ )
1045
+
1046
+
1047
+ async def main() -> None:
1048
+ await client.sources.get_sources_metadata()
1049
+
1050
+
1051
+ asyncio.run(main())
1052
+ """
1053
+ _response = await self._client_wrapper.httpx_client.request(
1054
+ "v1/sources/metadata",
1055
+ method="GET",
1056
+ request_options=request_options,
1057
+ )
1058
+ try:
1059
+ if 200 <= _response.status_code < 300:
1060
+ return typing.cast(
1061
+ OrganizationSourcesStats,
1062
+ construct_type(
1063
+ type_=OrganizationSourcesStats, # type: ignore
1064
+ object_=_response.json(),
1065
+ ),
1066
+ )
1067
+ if _response.status_code == 422:
1068
+ raise UnprocessableEntityError(
1069
+ typing.cast(
1070
+ HttpValidationError,
1071
+ construct_type(
1072
+ type_=HttpValidationError, # type: ignore
1073
+ object_=_response.json(),
1074
+ ),
1075
+ )
1076
+ )
1077
+ _response_json = _response.json()
1078
+ except JSONDecodeError:
1079
+ raise ApiError(status_code=_response.status_code, body=_response.text)
1080
+ raise ApiError(status_code=_response.status_code, body=_response_json)
1081
+
951
1082
  async def list(self, *, request_options: typing.Optional[RequestOptions] = None) -> typing.List[Source]:
952
1083
  """
953
1084
  List all data sources created by a user.
@@ -94,6 +94,7 @@ from .file import File
94
94
  from .file_file import FileFile
95
95
  from .file_metadata import FileMetadata
96
96
  from .file_processing_status import FileProcessingStatus
97
+ from .file_stats import FileStats
97
98
  from .function_call import FunctionCall
98
99
  from .function_definition_input import FunctionDefinitionInput
99
100
  from .function_definition_output import FunctionDefinitionOutput
@@ -165,6 +166,7 @@ from .openai_types_chat_chat_completion_named_tool_choice_param_function import
165
166
  from .openai_types_chat_completion_create_params_function import OpenaiTypesChatCompletionCreateParamsFunction
166
167
  from .organization import Organization
167
168
  from .organization_create import OrganizationCreate
169
+ from .organization_sources_stats import OrganizationSourcesStats
168
170
  from .organization_update import OrganizationUpdate
169
171
  from .parameter_properties import ParameterProperties
170
172
  from .parameters_schema import ParametersSchema
@@ -200,6 +202,7 @@ from .sandbox_type import SandboxType
200
202
  from .sleeptime_manager import SleeptimeManager
201
203
  from .sleeptime_manager_update import SleeptimeManagerUpdate
202
204
  from .source import Source
205
+ from .source_stats import SourceStats
203
206
  from .sse_server_config import SseServerConfig
204
207
  from .stdio_server_config import StdioServerConfig
205
208
  from .step import Step
@@ -351,6 +354,7 @@ __all__ = [
351
354
  "FileFile",
352
355
  "FileMetadata",
353
356
  "FileProcessingStatus",
357
+ "FileStats",
354
358
  "FunctionCall",
355
359
  "FunctionDefinitionInput",
356
360
  "FunctionDefinitionOutput",
@@ -418,6 +422,7 @@ __all__ = [
418
422
  "OpenaiTypesChatCompletionCreateParamsFunction",
419
423
  "Organization",
420
424
  "OrganizationCreate",
425
+ "OrganizationSourcesStats",
421
426
  "OrganizationUpdate",
422
427
  "ParameterProperties",
423
428
  "ParametersSchema",
@@ -453,6 +458,7 @@ __all__ = [
453
458
  "SleeptimeManager",
454
459
  "SleeptimeManagerUpdate",
455
460
  "Source",
461
+ "SourceStats",
456
462
  "SseServerConfig",
457
463
  "StdioServerConfig",
458
464
  "Step",
@@ -0,0 +1,36 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.unchecked_base_model import UncheckedBaseModel
4
+ import pydantic
5
+ import typing
6
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
7
+
8
+
9
+ class FileStats(UncheckedBaseModel):
10
+ """
11
+ File statistics for metadata endpoint
12
+ """
13
+
14
+ file_id: str = pydantic.Field()
15
+ """
16
+ Unique identifier of the file
17
+ """
18
+
19
+ file_name: str = pydantic.Field()
20
+ """
21
+ Name of the file
22
+ """
23
+
24
+ file_size: typing.Optional[int] = pydantic.Field(default=None)
25
+ """
26
+ Size of the file in bytes
27
+ """
28
+
29
+ if IS_PYDANTIC_V2:
30
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
31
+ else:
32
+
33
+ class Config:
34
+ frozen = True
35
+ smart_union = True
36
+ extra = pydantic.Extra.allow
@@ -0,0 +1,42 @@
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
+ import pydantic
6
+ from .source_stats import SourceStats
7
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
8
+
9
+
10
+ class OrganizationSourcesStats(UncheckedBaseModel):
11
+ """
12
+ Complete metadata response for organization sources
13
+ """
14
+
15
+ total_sources: typing.Optional[int] = pydantic.Field(default=None)
16
+ """
17
+ Total number of sources
18
+ """
19
+
20
+ total_files: typing.Optional[int] = pydantic.Field(default=None)
21
+ """
22
+ Total number of files across all sources
23
+ """
24
+
25
+ total_size: typing.Optional[int] = pydantic.Field(default=None)
26
+ """
27
+ Total size of all files in bytes
28
+ """
29
+
30
+ sources: typing.Optional[typing.List[SourceStats]] = pydantic.Field(default=None)
31
+ """
32
+ List of source metadata
33
+ """
34
+
35
+ if IS_PYDANTIC_V2:
36
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
37
+ else:
38
+
39
+ class Config:
40
+ frozen = True
41
+ smart_union = True
42
+ extra = pydantic.Extra.allow
@@ -0,0 +1,47 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.unchecked_base_model import UncheckedBaseModel
4
+ import pydantic
5
+ import typing
6
+ from .file_stats import FileStats
7
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
8
+
9
+
10
+ class SourceStats(UncheckedBaseModel):
11
+ """
12
+ Aggregated metadata for a source
13
+ """
14
+
15
+ source_id: str = pydantic.Field()
16
+ """
17
+ Unique identifier of the source
18
+ """
19
+
20
+ source_name: str = pydantic.Field()
21
+ """
22
+ Name of the source
23
+ """
24
+
25
+ file_count: typing.Optional[int] = pydantic.Field(default=None)
26
+ """
27
+ Number of files in the source
28
+ """
29
+
30
+ total_size: typing.Optional[int] = pydantic.Field(default=None)
31
+ """
32
+ Total size of all files in bytes
33
+ """
34
+
35
+ files: typing.Optional[typing.List[FileStats]] = pydantic.Field(default=None)
36
+ """
37
+ List of file statistics
38
+ """
39
+
40
+ if IS_PYDANTIC_V2:
41
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
42
+ else:
43
+
44
+ class Config:
45
+ frozen = True
46
+ smart_union = True
47
+ extra = pydantic.Extra.allow
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: letta-client
3
- Version: 0.1.191
3
+ Version: 0.1.192
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=qJr7FK3esCAtlSArEc7x1oXME3Eo_eyGJb2MxXE0oRY,18126
1
+ letta_client/__init__.py,sha256=PaPQ6XnP5KGKv2jElXjj6d483LOtbaRGJu3n88rW1WA,18256
2
2
  letta_client/agents/__init__.py,sha256=9L60SAZIihZzh_KhVxu0uX4RS7z2iKKctzQsS8ycXHc,1954
3
3
  letta_client/agents/blocks/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
4
4
  letta_client/agents/blocks/client.py,sha256=HwUOGmCQ_wuKb3_52ij1BBHRXdzIEd8SjW9-9Rop26Q,25044
@@ -65,7 +65,7 @@ letta_client/client_side_access_tokens/types/client_side_access_tokens_create_re
65
65
  letta_client/client_side_access_tokens/types/client_side_access_tokens_create_response_policy_data_item_access_item.py,sha256=R-H25IpNp9feSrW8Yj3h9O3UTMVvFniQJElogKxLuoE,254
66
66
  letta_client/core/__init__.py,sha256=OKbX2aCZXgHCDUsCouqv-OiX32xA6eFFCKIUH9M5Vzk,1591
67
67
  letta_client/core/api_error.py,sha256=RE8LELok2QCjABadECTvtDp7qejA1VmINCh6TbqPwSE,426
68
- letta_client/core/client_wrapper.py,sha256=2_HuU7DuhEditKxxp_5foq1aI1yrP04XCJDorpX-q6E,2336
68
+ letta_client/core/client_wrapper.py,sha256=E9r11z78rPXKO3YVb-WIkXCdDP442131iM-T1Y_Pxc4,2336
69
69
  letta_client/core/datetime_utils.py,sha256=nBys2IsYrhPdszxGKCNRPSOCwa-5DWOHG95FB8G9PKo,1047
70
70
  letta_client/core/file.py,sha256=d4NNbX8XvXP32z8KpK2Xovv33nFfruIrpz0QWxlgpZk,2663
71
71
  letta_client/core/http_client.py,sha256=Z77OIxIbL4OAB2IDqjRq_sYa5yNYAWfmdhdCSSvh6Y4,19552
@@ -126,7 +126,7 @@ letta_client/runs/steps/client.py,sha256=KgpKM6tLn7CgnkUlUihLvxucw4PW4bb_8XPVaEb
126
126
  letta_client/runs/usage/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
127
127
  letta_client/runs/usage/client.py,sha256=LGJL8cPGaVfTG5OBi85KRbwvv3P_jQNehFq2Kg0xrC4,4738
128
128
  letta_client/sources/__init__.py,sha256=kswgCv4UdkSVk1Y4tsMM1HadOwvhh_Fr96VTSMV4Umc,128
129
- letta_client/sources/client.py,sha256=JMQsgTYrHVBv8Lx3kNOaj3qYAHJkQuWGLuU0zkuYimM,38596
129
+ letta_client/sources/client.py,sha256=GVZ8KaFIpWs2gbCJBeYNTJVKB9p3iLcU91u5TZ3fJeg,43006
130
130
  letta_client/sources/files/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
131
131
  letta_client/sources/files/client.py,sha256=xyK22UrVGMqHSKR7HNM8YrSY2RUgcI4u_PrVQOXHhtw,13958
132
132
  letta_client/sources/passages/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
@@ -160,7 +160,7 @@ letta_client/tools/types/list_mcp_servers_response_value.py,sha256=Eyji5qB7Fhowi
160
160
  letta_client/tools/types/test_mcp_server_request.py,sha256=sLlOEZdmLfkHqHCkUjntGbr8_MkBhsqpMQ-HwdNOnq0,372
161
161
  letta_client/tools/types/update_mcp_server_request.py,sha256=SEMNYHB_mwJNSMHKO7keU0C_CMBktV7lfZUnACPe_fU,314
162
162
  letta_client/tools/types/update_mcp_server_response.py,sha256=muwHagaQBMwQI0of9EBCBtG9lD-jELFAevgTB2MjpFQ,375
163
- letta_client/types/__init__.py,sha256=zgGRiro77khcejeFnKPl0Kazt-b6UDp8DV2xm4wqcOQ,22424
163
+ letta_client/types/__init__.py,sha256=r5jmQakrE5aJBAOwJaeddyygq1E-Rt8uKg4tbtbEYIs,22629
164
164
  letta_client/types/action_model.py,sha256=y1e2XMv3skFaNJIBdYoBKgiORzGh05aOVvu-qVR9uHg,1240
165
165
  letta_client/types/action_parameters_model.py,sha256=LgKf5aPZG3-OHGxFdXiSokIDgce8c02xPYIAY05VgW8,828
166
166
  letta_client/types/action_response_model.py,sha256=yq2Fd9UU8j7vvtE3VqXUoRRvDzWcfJPj_95ynGdeHCs,824
@@ -255,6 +255,7 @@ letta_client/types/file.py,sha256=ZLCEYJqIJ1pzAJn4Pke6gVdKivKU9FrIg98P4GmFY8M,62
255
255
  letta_client/types/file_file.py,sha256=jbWcPKn-fSUlq9kl8n2us9fPU6x-Z20IKScHD_pJruw,665
256
256
  letta_client/types/file_metadata.py,sha256=Fhn8ptJSmczuUoXv-N6vI-yWbVTonAqdg7jcG4nZurs,2957
257
257
  letta_client/types/file_processing_status.py,sha256=8W8VAx9-jCaUx6q6mvyCMyLoa2peLTE_sgIaGloOWo4,201
258
+ letta_client/types/file_stats.py,sha256=gEaG0m4vulK21EoIuYlOcdy0IK4qWkjBTDoMzXw3GEQ,875
258
259
  letta_client/types/function_call.py,sha256=eE6VYWK3A-2xRrIV-QKqrofvaVFcPNqSzl6lrWnopZA,576
259
260
  letta_client/types/function_definition_input.py,sha256=UpoD7ftRpHquJ5zhy28TjXPBVzxj7rOHKv3gX84Nfj8,740
260
261
  letta_client/types/function_definition_output.py,sha256=Id0SzyiMHF5l25iKQhCN4sWJwBJ7AkYK-I5RDZy3_rc,741
@@ -322,6 +323,7 @@ letta_client/types/openai_types_chat_chat_completion_named_tool_choice_param_fun
322
323
  letta_client/types/openai_types_chat_completion_create_params_function.py,sha256=oTjYqRv8z6SMSdFgTl4W9oI-QUQxz8Unf4yn90sByss,721
323
324
  letta_client/types/organization.py,sha256=w8D3x4fEWwXBpDKZkR7C6CjXx2WBSM-ltrslscw8HzM,1080
324
325
  letta_client/types/organization_create.py,sha256=qi37VLCejxTYpJe9gC1slhENIdz6B4DchD3ZdVJciT4,814
326
+ letta_client/types/organization_sources_stats.py,sha256=9NKLsloNoJJ9aVm4x5jD14ERo0p7cXMJkQ_PLobReuY,1165
325
327
  letta_client/types/organization_update.py,sha256=uCQAcWm8az3VbMtCEidPBZLh6Qyo4Z0FQco1Hdrk4LY,814
326
328
  letta_client/types/parameter_properties.py,sha256=KVQGp_csoiNzyf9XsL083fwlX_a2Tc8GsCKyWB323C8,609
327
329
  letta_client/types/parameters_schema.py,sha256=ptXcwjuaCwqRhfizeiWAsu3pqT87Jcj_P3YaEkL4asM,748
@@ -357,6 +359,7 @@ letta_client/types/sandbox_type.py,sha256=XSWmX3JIFFrDPQ4i89E8LauXY8kjmJEtaz6e_J
357
359
  letta_client/types/sleeptime_manager.py,sha256=oKI3CCoA4guwktWs1bbPdCmv9jg94EeMvbXQWvzbt6M,778
358
360
  letta_client/types/sleeptime_manager_update.py,sha256=JMzgtvGMDI5VBzlTuzm4FpuFAL7uwPbQgN9TYxip93s,813
359
361
  letta_client/types/source.py,sha256=BsfE9yrefXREQtskGZnR-TFGqmHkFKIGHC5udtHUi14,2370
362
+ letta_client/types/source_stats.py,sha256=QNp0U24Y6gCLgQp3VDMjiQSgqLnk7CjzRfMobxgOslk,1168
360
363
  letta_client/types/sse_server_config.py,sha256=IN-FdECflYF-XiIM_fvVOwyDu215Csoixepv44PAVvQ,1738
361
364
  letta_client/types/stdio_server_config.py,sha256=dEQ7bguiLikGemLxYZJ3JCmmEQgAMsSPO_P52oHZSl0,1091
362
365
  letta_client/types/step.py,sha256=0s2j8j_nZ4oqH8BXBOgqycnqblUjR1zq8F1nwcYGBqU,3503
@@ -415,6 +418,6 @@ letta_client/types/web_search_options_user_location_approximate.py,sha256=Ywk01J
415
418
  letta_client/version.py,sha256=bttKLbIhO3UonCYQlqs600zzbQgfhCCMjeXR9WRzid4,79
416
419
  letta_client/voice/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
417
420
  letta_client/voice/client.py,sha256=47iQYCuW_qpKI4hM3pYVxn3hw7kgQj3emU1_oRpkRMA,5811
418
- letta_client-0.1.191.dist-info/METADATA,sha256=MKcMQpEkQLvsiJYCx6iMN9IjPGMPiMp5fsbD5wSpjgY,5177
419
- letta_client-0.1.191.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
420
- letta_client-0.1.191.dist-info/RECORD,,
421
+ letta_client-0.1.192.dist-info/METADATA,sha256=YEeXH6cpl2Q3VwHff9LWXWJX6ttGkwDwfVovcN_XmcE,5177
422
+ letta_client-0.1.192.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
423
+ letta_client-0.1.192.dist-info/RECORD,,