letta-client 0.1.54__py3-none-any.whl → 0.1.56__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 +4 -0
- letta_client/agents/client.py +277 -0
- letta_client/core/client_wrapper.py +1 -1
- letta_client/types/__init__.py +4 -0
- letta_client/types/message.py +11 -0
- letta_client/types/tool_return.py +33 -0
- letta_client/types/tool_return_status.py +5 -0
- {letta_client-0.1.54.dist-info → letta_client-0.1.56.dist-info}/METADATA +1 -1
- {letta_client-0.1.54.dist-info → letta_client-0.1.56.dist-info}/RECORD +10 -8
- {letta_client-0.1.54.dist-info → letta_client-0.1.56.dist-info}/WHEEL +0 -0
letta_client/__init__.py
CHANGED
|
@@ -152,8 +152,10 @@ from .types import (
|
|
|
152
152
|
ToolCallMessage,
|
|
153
153
|
ToolCallMessageToolCall,
|
|
154
154
|
ToolCreate,
|
|
155
|
+
ToolReturn,
|
|
155
156
|
ToolReturnMessage,
|
|
156
157
|
ToolReturnMessageStatus,
|
|
158
|
+
ToolReturnStatus,
|
|
157
159
|
ToolType,
|
|
158
160
|
UsageStatistics,
|
|
159
161
|
User,
|
|
@@ -1034,8 +1036,10 @@ __all__ = [
|
|
|
1034
1036
|
"ToolCallMessage",
|
|
1035
1037
|
"ToolCallMessageToolCall",
|
|
1036
1038
|
"ToolCreate",
|
|
1039
|
+
"ToolReturn",
|
|
1037
1040
|
"ToolReturnMessage",
|
|
1038
1041
|
"ToolReturnMessageStatus",
|
|
1042
|
+
"ToolReturnStatus",
|
|
1039
1043
|
"ToolType",
|
|
1040
1044
|
"UnprocessableEntityError",
|
|
1041
1045
|
"UpdateAgentToolRulesItem",
|
letta_client/agents/client.py
CHANGED
|
@@ -26,6 +26,7 @@ from ..types.embedding_config import EmbeddingConfig
|
|
|
26
26
|
from ..types.message_create import MessageCreate
|
|
27
27
|
from ..core.serialization import convert_and_respect_annotation_metadata
|
|
28
28
|
from ..core.jsonable_encoder import jsonable_encoder
|
|
29
|
+
from .. import core
|
|
29
30
|
from .types.update_agent_tool_rules_item import UpdateAgentToolRulesItem
|
|
30
31
|
import datetime as dt
|
|
31
32
|
from ..types.passage import Passage
|
|
@@ -414,6 +415,136 @@ class AgentsClient:
|
|
|
414
415
|
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
415
416
|
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
416
417
|
|
|
418
|
+
def download_agent_serialized(
|
|
419
|
+
self, agent_id: str, *, request_options: typing.Optional[RequestOptions] = None
|
|
420
|
+
) -> typing.Optional[typing.Any]:
|
|
421
|
+
"""
|
|
422
|
+
Download the serialized JSON representation of an agent.
|
|
423
|
+
|
|
424
|
+
Parameters
|
|
425
|
+
----------
|
|
426
|
+
agent_id : str
|
|
427
|
+
|
|
428
|
+
request_options : typing.Optional[RequestOptions]
|
|
429
|
+
Request-specific configuration.
|
|
430
|
+
|
|
431
|
+
Returns
|
|
432
|
+
-------
|
|
433
|
+
typing.Optional[typing.Any]
|
|
434
|
+
Successful Response
|
|
435
|
+
|
|
436
|
+
Examples
|
|
437
|
+
--------
|
|
438
|
+
from letta_client import Letta
|
|
439
|
+
|
|
440
|
+
client = Letta(
|
|
441
|
+
token="YOUR_TOKEN",
|
|
442
|
+
)
|
|
443
|
+
client.agents.download_agent_serialized(
|
|
444
|
+
agent_id="agent_id",
|
|
445
|
+
)
|
|
446
|
+
"""
|
|
447
|
+
_response = self._client_wrapper.httpx_client.request(
|
|
448
|
+
f"v1/agents/{jsonable_encoder(agent_id)}/download",
|
|
449
|
+
method="GET",
|
|
450
|
+
request_options=request_options,
|
|
451
|
+
)
|
|
452
|
+
try:
|
|
453
|
+
if 200 <= _response.status_code < 300:
|
|
454
|
+
return typing.cast(
|
|
455
|
+
typing.Optional[typing.Any],
|
|
456
|
+
construct_type(
|
|
457
|
+
type_=typing.Optional[typing.Any], # type: ignore
|
|
458
|
+
object_=_response.json(),
|
|
459
|
+
),
|
|
460
|
+
)
|
|
461
|
+
if _response.status_code == 422:
|
|
462
|
+
raise UnprocessableEntityError(
|
|
463
|
+
typing.cast(
|
|
464
|
+
HttpValidationError,
|
|
465
|
+
construct_type(
|
|
466
|
+
type_=HttpValidationError, # type: ignore
|
|
467
|
+
object_=_response.json(),
|
|
468
|
+
),
|
|
469
|
+
)
|
|
470
|
+
)
|
|
471
|
+
_response_json = _response.json()
|
|
472
|
+
except JSONDecodeError:
|
|
473
|
+
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
474
|
+
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
475
|
+
|
|
476
|
+
def upload_agent_serialized(
|
|
477
|
+
self,
|
|
478
|
+
*,
|
|
479
|
+
file: core.File,
|
|
480
|
+
mark_as_copy: typing.Optional[bool] = None,
|
|
481
|
+
request_options: typing.Optional[RequestOptions] = None,
|
|
482
|
+
) -> AgentState:
|
|
483
|
+
"""
|
|
484
|
+
Upload a serialized agent JSON file and recreate the agent in the system.
|
|
485
|
+
|
|
486
|
+
Parameters
|
|
487
|
+
----------
|
|
488
|
+
file : core.File
|
|
489
|
+
See core.File for more documentation
|
|
490
|
+
|
|
491
|
+
mark_as_copy : typing.Optional[bool]
|
|
492
|
+
Whether to mark the uploaded agent as a copy
|
|
493
|
+
|
|
494
|
+
request_options : typing.Optional[RequestOptions]
|
|
495
|
+
Request-specific configuration.
|
|
496
|
+
|
|
497
|
+
Returns
|
|
498
|
+
-------
|
|
499
|
+
AgentState
|
|
500
|
+
Successful Response
|
|
501
|
+
|
|
502
|
+
Examples
|
|
503
|
+
--------
|
|
504
|
+
from letta_client import Letta
|
|
505
|
+
|
|
506
|
+
client = Letta(
|
|
507
|
+
token="YOUR_TOKEN",
|
|
508
|
+
)
|
|
509
|
+
client.agents.upload_agent_serialized()
|
|
510
|
+
"""
|
|
511
|
+
_response = self._client_wrapper.httpx_client.request(
|
|
512
|
+
"v1/agents/upload",
|
|
513
|
+
method="POST",
|
|
514
|
+
params={
|
|
515
|
+
"mark_as_copy": mark_as_copy,
|
|
516
|
+
},
|
|
517
|
+
data={},
|
|
518
|
+
files={
|
|
519
|
+
"file": file,
|
|
520
|
+
},
|
|
521
|
+
request_options=request_options,
|
|
522
|
+
omit=OMIT,
|
|
523
|
+
)
|
|
524
|
+
try:
|
|
525
|
+
if 200 <= _response.status_code < 300:
|
|
526
|
+
return typing.cast(
|
|
527
|
+
AgentState,
|
|
528
|
+
construct_type(
|
|
529
|
+
type_=AgentState, # type: ignore
|
|
530
|
+
object_=_response.json(),
|
|
531
|
+
),
|
|
532
|
+
)
|
|
533
|
+
if _response.status_code == 422:
|
|
534
|
+
raise UnprocessableEntityError(
|
|
535
|
+
typing.cast(
|
|
536
|
+
HttpValidationError,
|
|
537
|
+
construct_type(
|
|
538
|
+
type_=HttpValidationError, # type: ignore
|
|
539
|
+
object_=_response.json(),
|
|
540
|
+
),
|
|
541
|
+
)
|
|
542
|
+
)
|
|
543
|
+
_response_json = _response.json()
|
|
544
|
+
except JSONDecodeError:
|
|
545
|
+
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
546
|
+
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
547
|
+
|
|
417
548
|
def retrieve(self, agent_id: str, *, request_options: typing.Optional[RequestOptions] = None) -> AgentState:
|
|
418
549
|
"""
|
|
419
550
|
Get the state of the agent.
|
|
@@ -1359,6 +1490,152 @@ class AsyncAgentsClient:
|
|
|
1359
1490
|
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
1360
1491
|
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
1361
1492
|
|
|
1493
|
+
async def download_agent_serialized(
|
|
1494
|
+
self, agent_id: str, *, request_options: typing.Optional[RequestOptions] = None
|
|
1495
|
+
) -> typing.Optional[typing.Any]:
|
|
1496
|
+
"""
|
|
1497
|
+
Download the serialized JSON representation of an agent.
|
|
1498
|
+
|
|
1499
|
+
Parameters
|
|
1500
|
+
----------
|
|
1501
|
+
agent_id : str
|
|
1502
|
+
|
|
1503
|
+
request_options : typing.Optional[RequestOptions]
|
|
1504
|
+
Request-specific configuration.
|
|
1505
|
+
|
|
1506
|
+
Returns
|
|
1507
|
+
-------
|
|
1508
|
+
typing.Optional[typing.Any]
|
|
1509
|
+
Successful Response
|
|
1510
|
+
|
|
1511
|
+
Examples
|
|
1512
|
+
--------
|
|
1513
|
+
import asyncio
|
|
1514
|
+
|
|
1515
|
+
from letta_client import AsyncLetta
|
|
1516
|
+
|
|
1517
|
+
client = AsyncLetta(
|
|
1518
|
+
token="YOUR_TOKEN",
|
|
1519
|
+
)
|
|
1520
|
+
|
|
1521
|
+
|
|
1522
|
+
async def main() -> None:
|
|
1523
|
+
await client.agents.download_agent_serialized(
|
|
1524
|
+
agent_id="agent_id",
|
|
1525
|
+
)
|
|
1526
|
+
|
|
1527
|
+
|
|
1528
|
+
asyncio.run(main())
|
|
1529
|
+
"""
|
|
1530
|
+
_response = await self._client_wrapper.httpx_client.request(
|
|
1531
|
+
f"v1/agents/{jsonable_encoder(agent_id)}/download",
|
|
1532
|
+
method="GET",
|
|
1533
|
+
request_options=request_options,
|
|
1534
|
+
)
|
|
1535
|
+
try:
|
|
1536
|
+
if 200 <= _response.status_code < 300:
|
|
1537
|
+
return typing.cast(
|
|
1538
|
+
typing.Optional[typing.Any],
|
|
1539
|
+
construct_type(
|
|
1540
|
+
type_=typing.Optional[typing.Any], # type: ignore
|
|
1541
|
+
object_=_response.json(),
|
|
1542
|
+
),
|
|
1543
|
+
)
|
|
1544
|
+
if _response.status_code == 422:
|
|
1545
|
+
raise UnprocessableEntityError(
|
|
1546
|
+
typing.cast(
|
|
1547
|
+
HttpValidationError,
|
|
1548
|
+
construct_type(
|
|
1549
|
+
type_=HttpValidationError, # type: ignore
|
|
1550
|
+
object_=_response.json(),
|
|
1551
|
+
),
|
|
1552
|
+
)
|
|
1553
|
+
)
|
|
1554
|
+
_response_json = _response.json()
|
|
1555
|
+
except JSONDecodeError:
|
|
1556
|
+
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
1557
|
+
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
1558
|
+
|
|
1559
|
+
async def upload_agent_serialized(
|
|
1560
|
+
self,
|
|
1561
|
+
*,
|
|
1562
|
+
file: core.File,
|
|
1563
|
+
mark_as_copy: typing.Optional[bool] = None,
|
|
1564
|
+
request_options: typing.Optional[RequestOptions] = None,
|
|
1565
|
+
) -> AgentState:
|
|
1566
|
+
"""
|
|
1567
|
+
Upload a serialized agent JSON file and recreate the agent in the system.
|
|
1568
|
+
|
|
1569
|
+
Parameters
|
|
1570
|
+
----------
|
|
1571
|
+
file : core.File
|
|
1572
|
+
See core.File for more documentation
|
|
1573
|
+
|
|
1574
|
+
mark_as_copy : typing.Optional[bool]
|
|
1575
|
+
Whether to mark the uploaded agent as a copy
|
|
1576
|
+
|
|
1577
|
+
request_options : typing.Optional[RequestOptions]
|
|
1578
|
+
Request-specific configuration.
|
|
1579
|
+
|
|
1580
|
+
Returns
|
|
1581
|
+
-------
|
|
1582
|
+
AgentState
|
|
1583
|
+
Successful Response
|
|
1584
|
+
|
|
1585
|
+
Examples
|
|
1586
|
+
--------
|
|
1587
|
+
import asyncio
|
|
1588
|
+
|
|
1589
|
+
from letta_client import AsyncLetta
|
|
1590
|
+
|
|
1591
|
+
client = AsyncLetta(
|
|
1592
|
+
token="YOUR_TOKEN",
|
|
1593
|
+
)
|
|
1594
|
+
|
|
1595
|
+
|
|
1596
|
+
async def main() -> None:
|
|
1597
|
+
await client.agents.upload_agent_serialized()
|
|
1598
|
+
|
|
1599
|
+
|
|
1600
|
+
asyncio.run(main())
|
|
1601
|
+
"""
|
|
1602
|
+
_response = await self._client_wrapper.httpx_client.request(
|
|
1603
|
+
"v1/agents/upload",
|
|
1604
|
+
method="POST",
|
|
1605
|
+
params={
|
|
1606
|
+
"mark_as_copy": mark_as_copy,
|
|
1607
|
+
},
|
|
1608
|
+
data={},
|
|
1609
|
+
files={
|
|
1610
|
+
"file": file,
|
|
1611
|
+
},
|
|
1612
|
+
request_options=request_options,
|
|
1613
|
+
omit=OMIT,
|
|
1614
|
+
)
|
|
1615
|
+
try:
|
|
1616
|
+
if 200 <= _response.status_code < 300:
|
|
1617
|
+
return typing.cast(
|
|
1618
|
+
AgentState,
|
|
1619
|
+
construct_type(
|
|
1620
|
+
type_=AgentState, # type: ignore
|
|
1621
|
+
object_=_response.json(),
|
|
1622
|
+
),
|
|
1623
|
+
)
|
|
1624
|
+
if _response.status_code == 422:
|
|
1625
|
+
raise UnprocessableEntityError(
|
|
1626
|
+
typing.cast(
|
|
1627
|
+
HttpValidationError,
|
|
1628
|
+
construct_type(
|
|
1629
|
+
type_=HttpValidationError, # type: ignore
|
|
1630
|
+
object_=_response.json(),
|
|
1631
|
+
),
|
|
1632
|
+
)
|
|
1633
|
+
)
|
|
1634
|
+
_response_json = _response.json()
|
|
1635
|
+
except JSONDecodeError:
|
|
1636
|
+
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
1637
|
+
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
1638
|
+
|
|
1362
1639
|
async def retrieve(self, agent_id: str, *, request_options: typing.Optional[RequestOptions] = None) -> AgentState:
|
|
1363
1640
|
"""
|
|
1364
1641
|
Get the state of the agent.
|
|
@@ -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.56",
|
|
20
20
|
}
|
|
21
21
|
if self.token is not None:
|
|
22
22
|
headers["Authorization"] = f"Bearer {self.token}"
|
letta_client/types/__init__.py
CHANGED
|
@@ -157,8 +157,10 @@ from .tool_call_delta import ToolCallDelta
|
|
|
157
157
|
from .tool_call_message import ToolCallMessage
|
|
158
158
|
from .tool_call_message_tool_call import ToolCallMessageToolCall
|
|
159
159
|
from .tool_create import ToolCreate
|
|
160
|
+
from .tool_return import ToolReturn
|
|
160
161
|
from .tool_return_message import ToolReturnMessage
|
|
161
162
|
from .tool_return_message_status import ToolReturnMessageStatus
|
|
163
|
+
from .tool_return_status import ToolReturnStatus
|
|
162
164
|
from .tool_type import ToolType
|
|
163
165
|
from .usage_statistics import UsageStatistics
|
|
164
166
|
from .user import User
|
|
@@ -321,8 +323,10 @@ __all__ = [
|
|
|
321
323
|
"ToolCallMessage",
|
|
322
324
|
"ToolCallMessageToolCall",
|
|
323
325
|
"ToolCreate",
|
|
326
|
+
"ToolReturn",
|
|
324
327
|
"ToolReturnMessage",
|
|
325
328
|
"ToolReturnMessageStatus",
|
|
329
|
+
"ToolReturnStatus",
|
|
326
330
|
"ToolType",
|
|
327
331
|
"UsageStatistics",
|
|
328
332
|
"User",
|
letta_client/types/message.py
CHANGED
|
@@ -7,6 +7,7 @@ import datetime as dt
|
|
|
7
7
|
from .message_role import MessageRole
|
|
8
8
|
from .text_content import TextContent
|
|
9
9
|
from .chat_completion_message_tool_call_output import ChatCompletionMessageToolCallOutput
|
|
10
|
+
from .tool_return import ToolReturn
|
|
10
11
|
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
11
12
|
|
|
12
13
|
|
|
@@ -92,6 +93,16 @@ class Message(UncheckedBaseModel):
|
|
|
92
93
|
The id of the step that this message was created in.
|
|
93
94
|
"""
|
|
94
95
|
|
|
96
|
+
otid: typing.Optional[str] = pydantic.Field(default=None)
|
|
97
|
+
"""
|
|
98
|
+
The offline threading id associated with this message
|
|
99
|
+
"""
|
|
100
|
+
|
|
101
|
+
tool_returns: typing.Optional[typing.List[ToolReturn]] = pydantic.Field(default=None)
|
|
102
|
+
"""
|
|
103
|
+
Tool execution return information for prior tool calls
|
|
104
|
+
"""
|
|
105
|
+
|
|
95
106
|
if IS_PYDANTIC_V2:
|
|
96
107
|
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
97
108
|
else:
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
from ..core.unchecked_base_model import UncheckedBaseModel
|
|
4
|
+
from .tool_return_status import ToolReturnStatus
|
|
5
|
+
import pydantic
|
|
6
|
+
import typing
|
|
7
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class ToolReturn(UncheckedBaseModel):
|
|
11
|
+
status: ToolReturnStatus = pydantic.Field()
|
|
12
|
+
"""
|
|
13
|
+
The status of the tool call
|
|
14
|
+
"""
|
|
15
|
+
|
|
16
|
+
stdout: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
|
|
17
|
+
"""
|
|
18
|
+
Captured stdout (e.g. prints, logs) from the tool invocation
|
|
19
|
+
"""
|
|
20
|
+
|
|
21
|
+
stderr: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
|
|
22
|
+
"""
|
|
23
|
+
Captured stderr from the tool invocation
|
|
24
|
+
"""
|
|
25
|
+
|
|
26
|
+
if IS_PYDANTIC_V2:
|
|
27
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
28
|
+
else:
|
|
29
|
+
|
|
30
|
+
class Config:
|
|
31
|
+
frozen = True
|
|
32
|
+
smart_union = True
|
|
33
|
+
extra = pydantic.Extra.allow
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
letta_client/__init__.py,sha256=
|
|
1
|
+
letta_client/__init__.py,sha256=Ip8Q9zmaujvKwA0wFliL-9AK0GlkgB6UgwZJhcQLJKs,56600
|
|
2
2
|
letta_client/agents/__init__.py,sha256=dsO71a7KQVSsJkkd31kf6RwxZOeJzjhvJZRQBS7Mlws,22384
|
|
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
|
|
5
|
-
letta_client/agents/client.py,sha256=
|
|
5
|
+
letta_client/agents/client.py,sha256=rMgrx7nZH0KR-T1ye5yQIDRVpWWAbFX4ZQVN90zv0S0,82633
|
|
6
6
|
letta_client/agents/context/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
|
|
7
7
|
letta_client/agents/context/client.py,sha256=GKKvoG4N_K8Biz9yDjeIHpFG0C8Cwc7tHmEX3pTL_9U,4815
|
|
8
8
|
letta_client/agents/core_memory/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
|
|
@@ -209,7 +209,7 @@ letta_client/blocks/client.py,sha256=AeQQ-IdYhV-zqLTt3PTrJOtJ6XtBZcXNC108Y5EogVU
|
|
|
209
209
|
letta_client/client.py,sha256=xdSrD4IkWokZHujowd1r7zESBoVgKGNvo6RqgZ3f0Fg,12808
|
|
210
210
|
letta_client/core/__init__.py,sha256=OKbX2aCZXgHCDUsCouqv-OiX32xA6eFFCKIUH9M5Vzk,1591
|
|
211
211
|
letta_client/core/api_error.py,sha256=RE8LELok2QCjABadECTvtDp7qejA1VmINCh6TbqPwSE,426
|
|
212
|
-
letta_client/core/client_wrapper.py,sha256=
|
|
212
|
+
letta_client/core/client_wrapper.py,sha256=mK4Dx0fezyP7cOZVa2ReUgvouBWhs1betK1iw3Xiyv0,1997
|
|
213
213
|
letta_client/core/datetime_utils.py,sha256=nBys2IsYrhPdszxGKCNRPSOCwa-5DWOHG95FB8G9PKo,1047
|
|
214
214
|
letta_client/core/file.py,sha256=d4NNbX8XvXP32z8KpK2Xovv33nFfruIrpz0QWxlgpZk,2663
|
|
215
215
|
letta_client/core/http_client.py,sha256=siUQ6UV0ARZALlxubqWSSAAPC9B4VW8y6MGlHStfaeo,19552
|
|
@@ -422,7 +422,7 @@ letta_client/templates/types/templates_create_agents_response_agents_item_update
|
|
|
422
422
|
letta_client/templates/types/templates_create_agents_response_agents_item_updated_at_item.py,sha256=T3rYnv5m_cBAEPBnEjUkkHJLYtFZfXNMbb7a9FrIwKY,175
|
|
423
423
|
letta_client/tools/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
|
|
424
424
|
letta_client/tools/client.py,sha256=Oyds2HAtLITB0vGiSjAgJhv2EhJP_7JHj9X7zCAgJDk,55555
|
|
425
|
-
letta_client/types/__init__.py,sha256=
|
|
425
|
+
letta_client/types/__init__.py,sha256=dDV5Vpf6r4bZrAeIYVCOc9eV4G33GCYYk7C0pXgUr9I,15522
|
|
426
426
|
letta_client/types/action_model.py,sha256=y1e2XMv3skFaNJIBdYoBKgiORzGh05aOVvu-qVR9uHg,1240
|
|
427
427
|
letta_client/types/action_parameters_model.py,sha256=LgKf5aPZG3-OHGxFdXiSokIDgce8c02xPYIAY05VgW8,828
|
|
428
428
|
letta_client/types/action_response_model.py,sha256=yq2Fd9UU8j7vvtE3VqXUoRRvDzWcfJPj_95ynGdeHCs,824
|
|
@@ -532,7 +532,7 @@ letta_client/types/llm_config.py,sha256=B-LJpzPB5RNSPG-cag65yTIWc0mbD7iKg77N6ejP
|
|
|
532
532
|
letta_client/types/llm_config_model_endpoint_type.py,sha256=HOSM5kIZDCNAVCWmASvAk52K819plqGlD66yKQ1xFkI,620
|
|
533
533
|
letta_client/types/local_sandbox_config.py,sha256=jfe7akG_YrJJ8csLaLdev04Zg1x-PTN0XCAL4KifaZI,1387
|
|
534
534
|
letta_client/types/memory.py,sha256=KD5MkDQB-vbRPT9f_-yFBWY1WUW_NWxYEI0IiflG6P8,1035
|
|
535
|
-
letta_client/types/message.py,sha256=
|
|
535
|
+
letta_client/types/message.py,sha256=ljE4P8F3UIFlExlrNQhtn6Gzudv-sATN4Gg-ylXqlao,3476
|
|
536
536
|
letta_client/types/message_create.py,sha256=x80xQYxC3IUHs7PKCqHfeJkHRh02dx0oOc0PoJO8krc,1011
|
|
537
537
|
letta_client/types/message_create_content.py,sha256=N3W7IzbUk2RqEbL88noLCu4Bmbli5-yq35d0nfscGl8,185
|
|
538
538
|
letta_client/types/message_create_role.py,sha256=atjQEZ8iT4gTAmrFTFnRaM66f0MGsgfGq6hpx1Q-i44,159
|
|
@@ -574,8 +574,10 @@ letta_client/types/tool_call_delta.py,sha256=wGeZwJ9pwYHD5-f4Unf5-vJqefK40eHw9i0
|
|
|
574
574
|
letta_client/types/tool_call_message.py,sha256=PQEYtLzNMmqc86q7kqjEuALvJ4HdAC_8ODIYjArsoco,1096
|
|
575
575
|
letta_client/types/tool_call_message_tool_call.py,sha256=twtq5-vZIeh1nShqm8iTCN9YFtY7LUIL-bFYuUfhF1o,219
|
|
576
576
|
letta_client/types/tool_create.py,sha256=VSMd23Kkd77SPbLv2oRHEzXqR2Eexc0ervjxXYLHiqc,1522
|
|
577
|
+
letta_client/types/tool_return.py,sha256=f-6zaRo8Bwl0i0Q0rHl8vKOfzymFHN_tVRoC2lMWksI,984
|
|
577
578
|
letta_client/types/tool_return_message.py,sha256=hQ-17bvNGoSaCow4AvWSGLTa80fKuXP2bxXGNUXuX0w,1591
|
|
578
579
|
letta_client/types/tool_return_message_status.py,sha256=FvFOMaG9mnmgnHi2UBQVQQMtHFabbWnQnHTxGUDgVl0,167
|
|
580
|
+
letta_client/types/tool_return_status.py,sha256=TQjwYprn5F_jU9kIbrtiyk7Gw2SjcmFFZLjFbGDpBM0,160
|
|
579
581
|
letta_client/types/tool_type.py,sha256=Br4Lk5nEsc8wcWP1leTqGPaYnNVWo4xMmoAksUTVqOA,271
|
|
580
582
|
letta_client/types/usage_statistics.py,sha256=btEmMUxFVu7oQQtBCdQqFJ6XddgmR84799-AdlsHh0w,690
|
|
581
583
|
letta_client/types/user.py,sha256=z_v1uqQ6HYwV_Pp7wDDqS6QWhslHgdUH-AldV-jnmKQ,1349
|
|
@@ -590,6 +592,6 @@ letta_client/voice/__init__.py,sha256=ZrZEuXIukVGhsfM-i0dIFfqjeSOBMPeEgDva7Vvnip
|
|
|
590
592
|
letta_client/voice/client.py,sha256=j3feSlNzeTVFXE7RUKEHGeMl_w0TJFBRUI3pXpLpUEI,6148
|
|
591
593
|
letta_client/voice/types/__init__.py,sha256=hBLJcrom99DkDxxsVRU2ni8kPx6SsCy8gtAJvNOz26w,199
|
|
592
594
|
letta_client/voice/types/create_voice_chat_completions_request.py,sha256=K4__83rXRCshfdobyAmH-5fUDJQ_PeSQetTUeC4Abk0,381
|
|
593
|
-
letta_client-0.1.
|
|
594
|
-
letta_client-0.1.
|
|
595
|
-
letta_client-0.1.
|
|
595
|
+
letta_client-0.1.56.dist-info/METADATA,sha256=MTiaisKZKR584GK72Lq4I7_ITUgZs5grOLTLepWGkvM,4942
|
|
596
|
+
letta_client-0.1.56.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
|
|
597
|
+
letta_client-0.1.56.dist-info/RECORD,,
|
|
File without changes
|