letta-client 0.1.263__py3-none-any.whl → 0.1.265__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 +2 -0
- letta_client/core/client_wrapper.py +2 -2
- letta_client/tools/client.py +10 -0
- letta_client/tools/raw_client.py +10 -0
- letta_client/types/__init__.py +2 -0
- letta_client/types/code_input.py +6 -1
- letta_client/types/mcp_tool.py +5 -0
- letta_client/types/mcp_tool_health.py +32 -0
- {letta_client-0.1.263.dist-info → letta_client-0.1.265.dist-info}/METADATA +1 -1
- {letta_client-0.1.263.dist-info → letta_client-0.1.265.dist-info}/RECORD +11 -10
- {letta_client-0.1.263.dist-info → letta_client-0.1.265.dist-info}/WHEEL +0 -0
letta_client/__init__.py
CHANGED
|
@@ -173,6 +173,7 @@ from .types import (
|
|
|
173
173
|
McpServerType,
|
|
174
174
|
McpTool,
|
|
175
175
|
McpToolExecuteRequest,
|
|
176
|
+
McpToolHealth,
|
|
176
177
|
Memory,
|
|
177
178
|
Message,
|
|
178
179
|
MessageContentItem,
|
|
@@ -578,6 +579,7 @@ __all__ = [
|
|
|
578
579
|
"McpServerType",
|
|
579
580
|
"McpTool",
|
|
580
581
|
"McpToolExecuteRequest",
|
|
582
|
+
"McpToolHealth",
|
|
581
583
|
"Memory",
|
|
582
584
|
"Message",
|
|
583
585
|
"MessageContentItem",
|
|
@@ -24,10 +24,10 @@ class BaseClientWrapper:
|
|
|
24
24
|
|
|
25
25
|
def get_headers(self) -> typing.Dict[str, str]:
|
|
26
26
|
headers: typing.Dict[str, str] = {
|
|
27
|
-
"User-Agent": "letta-client/0.1.
|
|
27
|
+
"User-Agent": "letta-client/0.1.265",
|
|
28
28
|
"X-Fern-Language": "Python",
|
|
29
29
|
"X-Fern-SDK-Name": "letta-client",
|
|
30
|
-
"X-Fern-SDK-Version": "0.1.
|
|
30
|
+
"X-Fern-SDK-Version": "0.1.265",
|
|
31
31
|
**(self.get_custom_headers() or {}),
|
|
32
32
|
}
|
|
33
33
|
if self._project is not None:
|
letta_client/tools/client.py
CHANGED
|
@@ -118,6 +118,7 @@ class ToolsClient:
|
|
|
118
118
|
return_char_limit: typing.Optional[int] = OMIT,
|
|
119
119
|
pip_requirements: typing.Optional[typing.Sequence[PipRequirement]] = OMIT,
|
|
120
120
|
npm_requirements: typing.Optional[typing.Sequence[NpmRequirement]] = OMIT,
|
|
121
|
+
metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = OMIT,
|
|
121
122
|
request_options: typing.Optional[RequestOptions] = None,
|
|
122
123
|
) -> Tool:
|
|
123
124
|
"""
|
|
@@ -154,6 +155,9 @@ class ToolsClient:
|
|
|
154
155
|
npm_requirements : typing.Optional[typing.Sequence[NpmRequirement]]
|
|
155
156
|
Optional list of npm packages required by this tool.
|
|
156
157
|
|
|
158
|
+
metadata : typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]]
|
|
159
|
+
A dictionary of additional metadata for the tool.
|
|
160
|
+
|
|
157
161
|
request_options : typing.Optional[RequestOptions]
|
|
158
162
|
Request-specific configuration.
|
|
159
163
|
|
|
@@ -185,6 +189,7 @@ class ToolsClient:
|
|
|
185
189
|
return_char_limit=return_char_limit,
|
|
186
190
|
pip_requirements=pip_requirements,
|
|
187
191
|
npm_requirements=npm_requirements,
|
|
192
|
+
metadata=metadata,
|
|
188
193
|
request_options=request_options,
|
|
189
194
|
)
|
|
190
195
|
return _response.data
|
|
@@ -1028,6 +1033,7 @@ class AsyncToolsClient:
|
|
|
1028
1033
|
return_char_limit: typing.Optional[int] = OMIT,
|
|
1029
1034
|
pip_requirements: typing.Optional[typing.Sequence[PipRequirement]] = OMIT,
|
|
1030
1035
|
npm_requirements: typing.Optional[typing.Sequence[NpmRequirement]] = OMIT,
|
|
1036
|
+
metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = OMIT,
|
|
1031
1037
|
request_options: typing.Optional[RequestOptions] = None,
|
|
1032
1038
|
) -> Tool:
|
|
1033
1039
|
"""
|
|
@@ -1064,6 +1070,9 @@ class AsyncToolsClient:
|
|
|
1064
1070
|
npm_requirements : typing.Optional[typing.Sequence[NpmRequirement]]
|
|
1065
1071
|
Optional list of npm packages required by this tool.
|
|
1066
1072
|
|
|
1073
|
+
metadata : typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]]
|
|
1074
|
+
A dictionary of additional metadata for the tool.
|
|
1075
|
+
|
|
1067
1076
|
request_options : typing.Optional[RequestOptions]
|
|
1068
1077
|
Request-specific configuration.
|
|
1069
1078
|
|
|
@@ -1103,6 +1112,7 @@ class AsyncToolsClient:
|
|
|
1103
1112
|
return_char_limit=return_char_limit,
|
|
1104
1113
|
pip_requirements=pip_requirements,
|
|
1105
1114
|
npm_requirements=npm_requirements,
|
|
1115
|
+
metadata=metadata,
|
|
1106
1116
|
request_options=request_options,
|
|
1107
1117
|
)
|
|
1108
1118
|
return _response.data
|
letta_client/tools/raw_client.py
CHANGED
|
@@ -151,6 +151,7 @@ class RawToolsClient:
|
|
|
151
151
|
return_char_limit: typing.Optional[int] = OMIT,
|
|
152
152
|
pip_requirements: typing.Optional[typing.Sequence[PipRequirement]] = OMIT,
|
|
153
153
|
npm_requirements: typing.Optional[typing.Sequence[NpmRequirement]] = OMIT,
|
|
154
|
+
metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = OMIT,
|
|
154
155
|
request_options: typing.Optional[RequestOptions] = None,
|
|
155
156
|
) -> HttpResponse[Tool]:
|
|
156
157
|
"""
|
|
@@ -187,6 +188,9 @@ class RawToolsClient:
|
|
|
187
188
|
npm_requirements : typing.Optional[typing.Sequence[NpmRequirement]]
|
|
188
189
|
Optional list of npm packages required by this tool.
|
|
189
190
|
|
|
191
|
+
metadata : typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]]
|
|
192
|
+
A dictionary of additional metadata for the tool.
|
|
193
|
+
|
|
190
194
|
request_options : typing.Optional[RequestOptions]
|
|
191
195
|
Request-specific configuration.
|
|
192
196
|
|
|
@@ -212,6 +216,7 @@ class RawToolsClient:
|
|
|
212
216
|
"npm_requirements": convert_and_respect_annotation_metadata(
|
|
213
217
|
object_=npm_requirements, annotation=typing.Sequence[NpmRequirement], direction="write"
|
|
214
218
|
),
|
|
219
|
+
"metadata_": metadata,
|
|
215
220
|
},
|
|
216
221
|
headers={
|
|
217
222
|
"content-type": "application/json",
|
|
@@ -1445,6 +1450,7 @@ class AsyncRawToolsClient:
|
|
|
1445
1450
|
return_char_limit: typing.Optional[int] = OMIT,
|
|
1446
1451
|
pip_requirements: typing.Optional[typing.Sequence[PipRequirement]] = OMIT,
|
|
1447
1452
|
npm_requirements: typing.Optional[typing.Sequence[NpmRequirement]] = OMIT,
|
|
1453
|
+
metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = OMIT,
|
|
1448
1454
|
request_options: typing.Optional[RequestOptions] = None,
|
|
1449
1455
|
) -> AsyncHttpResponse[Tool]:
|
|
1450
1456
|
"""
|
|
@@ -1481,6 +1487,9 @@ class AsyncRawToolsClient:
|
|
|
1481
1487
|
npm_requirements : typing.Optional[typing.Sequence[NpmRequirement]]
|
|
1482
1488
|
Optional list of npm packages required by this tool.
|
|
1483
1489
|
|
|
1490
|
+
metadata : typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]]
|
|
1491
|
+
A dictionary of additional metadata for the tool.
|
|
1492
|
+
|
|
1484
1493
|
request_options : typing.Optional[RequestOptions]
|
|
1485
1494
|
Request-specific configuration.
|
|
1486
1495
|
|
|
@@ -1506,6 +1515,7 @@ class AsyncRawToolsClient:
|
|
|
1506
1515
|
"npm_requirements": convert_and_respect_annotation_metadata(
|
|
1507
1516
|
object_=npm_requirements, annotation=typing.Sequence[NpmRequirement], direction="write"
|
|
1508
1517
|
),
|
|
1518
|
+
"metadata_": metadata,
|
|
1509
1519
|
},
|
|
1510
1520
|
headers={
|
|
1511
1521
|
"content-type": "application/json",
|
letta_client/types/__init__.py
CHANGED
|
@@ -180,6 +180,7 @@ from .mcp_server_schema import McpServerSchema
|
|
|
180
180
|
from .mcp_server_type import McpServerType
|
|
181
181
|
from .mcp_tool import McpTool
|
|
182
182
|
from .mcp_tool_execute_request import McpToolExecuteRequest
|
|
183
|
+
from .mcp_tool_health import McpToolHealth
|
|
183
184
|
from .memory import Memory
|
|
184
185
|
from .message import Message
|
|
185
186
|
from .message_content_item import MessageContentItem
|
|
@@ -471,6 +472,7 @@ __all__ = [
|
|
|
471
472
|
"McpServerType",
|
|
472
473
|
"McpTool",
|
|
473
474
|
"McpToolExecuteRequest",
|
|
475
|
+
"McpToolHealth",
|
|
474
476
|
"Memory",
|
|
475
477
|
"Message",
|
|
476
478
|
"MessageContentItem",
|
letta_client/types/code_input.py
CHANGED
|
@@ -10,7 +10,12 @@ from ..core.unchecked_base_model import UncheckedBaseModel
|
|
|
10
10
|
class CodeInput(UncheckedBaseModel):
|
|
11
11
|
code: str = pydantic.Field()
|
|
12
12
|
"""
|
|
13
|
-
|
|
13
|
+
Source code to parse for JSON schema
|
|
14
|
+
"""
|
|
15
|
+
|
|
16
|
+
source_type: typing.Optional[str] = pydantic.Field(default=None)
|
|
17
|
+
"""
|
|
18
|
+
The source type of the code (python or typescript)
|
|
14
19
|
"""
|
|
15
20
|
|
|
16
21
|
if IS_PYDANTIC_V2:
|
letta_client/types/mcp_tool.py
CHANGED
|
@@ -7,6 +7,7 @@ import typing_extensions
|
|
|
7
7
|
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
8
8
|
from ..core.serialization import FieldMetadata
|
|
9
9
|
from ..core.unchecked_base_model import UncheckedBaseModel
|
|
10
|
+
from .mcp_tool_health import McpToolHealth
|
|
10
11
|
from .tool_annotations import ToolAnnotations
|
|
11
12
|
|
|
12
13
|
|
|
@@ -28,6 +29,10 @@ class McpTool(UncheckedBaseModel):
|
|
|
28
29
|
meta: typing_extensions.Annotated[
|
|
29
30
|
typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]], FieldMetadata(alias="_meta")
|
|
30
31
|
] = None
|
|
32
|
+
health: typing.Optional[McpToolHealth] = pydantic.Field(default=None)
|
|
33
|
+
"""
|
|
34
|
+
Schema health status for OpenAI strict mode
|
|
35
|
+
"""
|
|
31
36
|
|
|
32
37
|
if IS_PYDANTIC_V2:
|
|
33
38
|
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
import pydantic
|
|
6
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
7
|
+
from ..core.unchecked_base_model import UncheckedBaseModel
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class McpToolHealth(UncheckedBaseModel):
|
|
11
|
+
"""
|
|
12
|
+
Health status for an MCP tool's schema.
|
|
13
|
+
"""
|
|
14
|
+
|
|
15
|
+
status: str = pydantic.Field()
|
|
16
|
+
"""
|
|
17
|
+
Schema health status: STRICT_COMPLIANT, NON_STRICT_ONLY, or INVALID
|
|
18
|
+
"""
|
|
19
|
+
|
|
20
|
+
reasons: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
|
|
21
|
+
"""
|
|
22
|
+
List of reasons for the health status
|
|
23
|
+
"""
|
|
24
|
+
|
|
25
|
+
if IS_PYDANTIC_V2:
|
|
26
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
27
|
+
else:
|
|
28
|
+
|
|
29
|
+
class Config:
|
|
30
|
+
frozen = True
|
|
31
|
+
smart_union = True
|
|
32
|
+
extra = pydantic.Extra.allow
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
letta_client/__init__.py,sha256=
|
|
1
|
+
letta_client/__init__.py,sha256=O7fsRABwOkzQ3suOt_ppqlWaWHMBHeeuym_jii4xORI,21328
|
|
2
2
|
letta_client/agents/__init__.py,sha256=JkuWGGNJsCfnMr2DFzQ1SiqEB1tcFZnafdidODi0_DY,2166
|
|
3
3
|
letta_client/agents/blocks/__init__.py,sha256=_VhToAyIt_5axN6CLJwtxg3-CO7THa_23pbUzqhXJa4,85
|
|
4
4
|
letta_client/agents/blocks/client.py,sha256=Akx-1SYEXkmdtLtytPtdFNhVts8JkjC2aMQnnWgd8Ug,14735
|
|
@@ -92,7 +92,7 @@ letta_client/client_side_access_tokens/types/client_side_access_tokens_list_clie
|
|
|
92
92
|
letta_client/client_side_access_tokens/types/client_side_access_tokens_list_client_side_access_tokens_response_tokens_item_policy_data_item_access_item.py,sha256=kNHfEWFl7u71Pu8NPqutod0a2NXfvq8il05Hqm0iBB4,284
|
|
93
93
|
letta_client/core/__init__.py,sha256=tpn7rjb6C2UIkYZYIqdrNpI7Yax2jw88sXh2baxaxAI,1715
|
|
94
94
|
letta_client/core/api_error.py,sha256=44vPoTyWN59gonCIZMdzw7M1uspygiLnr3GNFOoVL2Q,614
|
|
95
|
-
letta_client/core/client_wrapper.py,sha256
|
|
95
|
+
letta_client/core/client_wrapper.py,sha256=-eXAADi8oy89qTwqcmr7L_kY2S3_boDAT31kSIkSwfc,2776
|
|
96
96
|
letta_client/core/datetime_utils.py,sha256=nBys2IsYrhPdszxGKCNRPSOCwa-5DWOHG95FB8G9PKo,1047
|
|
97
97
|
letta_client/core/file.py,sha256=d4NNbX8XvXP32z8KpK2Xovv33nFfruIrpz0QWxlgpZk,2663
|
|
98
98
|
letta_client/core/force_multipart.py,sha256=awxh5MtcRYe74ehY8U76jzv6fYM_w_D3Rur7KQQzSDk,429
|
|
@@ -215,8 +215,8 @@ letta_client/templates/types/__init__.py,sha256=dYa1-Xhxgs1FUtz6gkhZhY59EZuhmBDq
|
|
|
215
215
|
letta_client/templates/types/templates_list_response.py,sha256=M2vTXGuqbQBEsh-lO0OWLRaYk5VgWD7pUTfOeERAyXk,729
|
|
216
216
|
letta_client/templates/types/templates_list_response_templates_item.py,sha256=qplmgPLb_EtucsvkZ9GFj7BCq6D7OSqtVQ2rnMacO_g,775
|
|
217
217
|
letta_client/tools/__init__.py,sha256=ZR4ev9ZmyWZl9iJPXK_FRk79YjgIytkA_2TlNS1PaQI,725
|
|
218
|
-
letta_client/tools/client.py,sha256=
|
|
219
|
-
letta_client/tools/raw_client.py,sha256=
|
|
218
|
+
letta_client/tools/client.py,sha256=uF7Z2l1_TF1Wu6HBHHh3D_g3tfIqMe5ZKvUNiwL8sqI,59151
|
|
219
|
+
letta_client/tools/raw_client.py,sha256=ulZZNTVaUUcfMggx9KnHAv1z4R5cuLYvDAxo0aDDt1o,105489
|
|
220
220
|
letta_client/tools/types/__init__.py,sha256=A6LN4Xvy2t4O23X5AihXMQwRs1iLnYrA6HOwFqBL720,1055
|
|
221
221
|
letta_client/tools/types/add_mcp_server_request.py,sha256=N9WDntHlIAxRQafdSnIydUNEEaOwnDISqGLMyHBrWr8,372
|
|
222
222
|
letta_client/tools/types/add_mcp_server_response_item.py,sha256=LryGwJSSLAX6crN_EctrRlJo0OCOUOK5mEGsgR4hONg,377
|
|
@@ -228,7 +228,7 @@ letta_client/tools/types/streaming_response.py,sha256=V1qT-XAqm-z7zffJ7W1JKPCaxZ
|
|
|
228
228
|
letta_client/tools/types/test_mcp_server_request.py,sha256=3SqjEL3EYi7iV57TjTIzuBSKv8O3Y7qSUFrCiXEvSRk,373
|
|
229
229
|
letta_client/tools/types/update_mcp_server_request.py,sha256=MHouV3iyZCTROguOQP5rOYvnmvDbBeXe5VtEejRvrEs,403
|
|
230
230
|
letta_client/tools/types/update_mcp_server_response.py,sha256=BJTPHWkb8hwgd4FvftQ8eZjl2QzCQT-vZAUVnLft9hw,376
|
|
231
|
-
letta_client/types/__init__.py,sha256=
|
|
231
|
+
letta_client/types/__init__.py,sha256=o8If6_9RPXTHQ9G-5rOsRPwutiCHsfqqWrhQxCfsPN4,25924
|
|
232
232
|
letta_client/types/action_model.py,sha256=VTXavHB6J2d4MjjTMEpkuEyVaiTHyj1FGfa4j8kN6hQ,1241
|
|
233
233
|
letta_client/types/action_parameters_model.py,sha256=s1mJ4tycms8UmCFsxyjKr6RbghSuqv35xpa9mK42sjg,829
|
|
234
234
|
letta_client/types/action_response_model.py,sha256=LcML150OvsKimVV3sP4jSFh8pVxQXn_r_ff8DADOr3c,825
|
|
@@ -285,7 +285,7 @@ letta_client/types/chat_completion_user_message_param_content.py,sha256=bLJRnIuu
|
|
|
285
285
|
letta_client/types/chat_completion_user_message_param_content_item.py,sha256=Vfi7YnB1V9FBfD452M6ea-cVG8k9eoIUzCMYjeLbAds,580
|
|
286
286
|
letta_client/types/child_tool_rule.py,sha256=5Wl7jQgpSSTqYvK29yrQotZebjzQL1ACweJhTVNhpfo,1121
|
|
287
287
|
letta_client/types/child_tool_rule_schema.py,sha256=g43as4Qsi7p_kL9pnheGdJwaYbfhYdOKr-fpy3V0Ic4,615
|
|
288
|
-
letta_client/types/code_input.py,sha256=
|
|
288
|
+
letta_client/types/code_input.py,sha256=_Emu9EQBxJ-mD8MFliFaXb4tsD3NiGl-FhiytlfaZv8,772
|
|
289
289
|
letta_client/types/completion_create_params_non_streaming.py,sha256=WtfSfUapc6UKhyyVku98I9hZMIPAlJpiiT69d5CoUXM,4110
|
|
290
290
|
letta_client/types/completion_create_params_non_streaming_function_call.py,sha256=rOhhZE6sp3nXl7eza8uPzc1CKsG3cn-fa8x8wvsqfh0,330
|
|
291
291
|
letta_client/types/completion_create_params_non_streaming_messages_item.py,sha256=_oNVb2SP0tpUWPtmPwbBS6jVP33j8uHmcsG83rFmKbE,884
|
|
@@ -397,8 +397,9 @@ letta_client/types/max_count_per_step_tool_rule.py,sha256=tl5vm0BvkHu4HHfQx14z8E
|
|
|
397
397
|
letta_client/types/max_count_per_step_tool_rule_schema.py,sha256=yFKS21DiYLnfNVT7s8A4J85TB6H_T50MuFUnywbqNbs,619
|
|
398
398
|
letta_client/types/mcp_server_schema.py,sha256=G-7-dXSlOXzpfoqRHpu6BdmnVHSeNWuF7J99_XshXqE,1108
|
|
399
399
|
letta_client/types/mcp_server_type.py,sha256=cEiRY8zJw3YdV0RV6tt4JUYd0AHT_UNeLgxaouU-_4A,172
|
|
400
|
-
letta_client/types/mcp_tool.py,sha256=
|
|
400
|
+
letta_client/types/mcp_tool.py,sha256=o-0Z8eDpkKR8oUb_OhwxPWMFTwN7S0_6k-EvQgW0ikE,1558
|
|
401
401
|
letta_client/types/mcp_tool_execute_request.py,sha256=SVH2RlYN6Lb95-8eSB_PZYpHK_lOqeEELIZTmw7jBVY,711
|
|
402
|
+
letta_client/types/mcp_tool_health.py,sha256=ToG3Ut-9nvPkdFNL4gzu1LMv4bNmD7yFZ-bkMO16mzg,866
|
|
402
403
|
letta_client/types/memory.py,sha256=VduNAXj6OQ9lbPKcC5mLUZmnM2yUCiWLTISbvcfs93U,1257
|
|
403
404
|
letta_client/types/message.py,sha256=1-7MIu7TOSWhbGKw4aoVG07IajswlT4CInMMjS_kg4M,4735
|
|
404
405
|
letta_client/types/message_content_item.py,sha256=mu9j_dp-XAHQjbE0bv5wxMH3fTRW_dCtiIzbhdCMauw,630
|
|
@@ -518,6 +519,6 @@ letta_client/version.py,sha256=bttKLbIhO3UonCYQlqs600zzbQgfhCCMjeXR9WRzid4,79
|
|
|
518
519
|
letta_client/voice/__init__.py,sha256=_VhToAyIt_5axN6CLJwtxg3-CO7THa_23pbUzqhXJa4,85
|
|
519
520
|
letta_client/voice/client.py,sha256=EbIVOQh4HXqU9McATxwga08STk-HUwPEAUr_UHqyKHg,3748
|
|
520
521
|
letta_client/voice/raw_client.py,sha256=KvM_3GXuSf51bubM0RVBnxvlf20qZTFMnaA_BzhXzjQ,5938
|
|
521
|
-
letta_client-0.1.
|
|
522
|
-
letta_client-0.1.
|
|
523
|
-
letta_client-0.1.
|
|
522
|
+
letta_client-0.1.265.dist-info/METADATA,sha256=uqICMO4qI7vFzrDf6FEDKSj5FpVNdFnrr_0qJ3RyJjg,5781
|
|
523
|
+
letta_client-0.1.265.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
|
|
524
|
+
letta_client-0.1.265.dist-info/RECORD,,
|
|
File without changes
|