letta-client 0.1.69__py3-none-any.whl → 0.1.70__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
@@ -5,6 +5,7 @@ from .types import (
5
5
  ActionParametersModel,
6
6
  ActionResponseModel,
7
7
  AgentEnvironmentVariable,
8
+ AgentSchema,
8
9
  AgentState,
9
10
  AgentStateToolRulesItem,
10
11
  AgentType,
@@ -73,6 +74,7 @@ from .types import (
73
74
  ConflictErrorBody,
74
75
  ContextWindowOverview,
75
76
  ContinueToolRule,
77
+ CoreMemoryBlockSchema,
76
78
  CreateBlock,
77
79
  DynamicManager,
78
80
  E2BSandboxConfig,
@@ -125,6 +127,7 @@ from .types import (
125
127
  MessageCreateContent,
126
128
  MessageCreateRole,
127
129
  MessageRole,
130
+ MessageSchema,
128
131
  NotFoundErrorBody,
129
132
  NotFoundErrorBodyMessage,
130
133
  OpenaiTypesChatChatCompletionMessageToolCallParamFunction,
@@ -132,6 +135,8 @@ from .types import (
132
135
  OpenaiTypesChatCompletionCreateParamsFunction,
133
136
  Organization,
134
137
  OrganizationCreate,
138
+ ParameterProperties,
139
+ ParametersSchema,
135
140
  Passage,
136
141
  PipRequirement,
137
142
  Provider,
@@ -157,6 +162,7 @@ from .types import (
157
162
  SupervisorManager,
158
163
  SystemMessage,
159
164
  SystemMessageContent,
165
+ TagSchema,
160
166
  TerminalToolRule,
161
167
  TextContent,
162
168
  Tool,
@@ -165,10 +171,14 @@ from .types import (
165
171
  ToolCallMessage,
166
172
  ToolCallMessageToolCall,
167
173
  ToolCreate,
174
+ ToolEnvVarSchema,
175
+ ToolJsonSchema,
168
176
  ToolReturn,
169
177
  ToolReturnMessage,
170
178
  ToolReturnMessageStatus,
171
179
  ToolReturnStatus,
180
+ ToolRuleSchema,
181
+ ToolSchema,
172
182
  ToolType,
173
183
  UpdateAssistantMessage,
174
184
  UpdateAssistantMessageContent,
@@ -609,6 +619,7 @@ __all__ = [
609
619
  "AddMcpServerRequest",
610
620
  "AddMcpServerResponseItem",
611
621
  "AgentEnvironmentVariable",
622
+ "AgentSchema",
612
623
  "AgentState",
613
624
  "AgentStateToolRulesItem",
614
625
  "AgentType",
@@ -870,6 +881,7 @@ __all__ = [
870
881
  "ConflictErrorBody",
871
882
  "ContextWindowOverview",
872
883
  "ContinueToolRule",
884
+ "CoreMemoryBlockSchema",
873
885
  "CreateAgentRequestToolRulesItem",
874
886
  "CreateBlock",
875
887
  "CreateVoiceChatCompletionsRequest",
@@ -929,6 +941,7 @@ __all__ = [
929
941
  "MessageCreateContent",
930
942
  "MessageCreateRole",
931
943
  "MessageRole",
944
+ "MessageSchema",
932
945
  "NotFoundError",
933
946
  "NotFoundErrorBody",
934
947
  "NotFoundErrorBodyMessage",
@@ -937,6 +950,8 @@ __all__ = [
937
950
  "OpenaiTypesChatCompletionCreateParamsFunction",
938
951
  "Organization",
939
952
  "OrganizationCreate",
953
+ "ParameterProperties",
954
+ "ParametersSchema",
940
955
  "Passage",
941
956
  "PipRequirement",
942
957
  "Provider",
@@ -962,6 +977,7 @@ __all__ = [
962
977
  "SupervisorManager",
963
978
  "SystemMessage",
964
979
  "SystemMessageContent",
980
+ "TagSchema",
965
981
  "TemplatesCreateAgentsResponse",
966
982
  "TemplatesCreateAgentsResponseAgentsItem",
967
983
  "TemplatesCreateAgentsResponseAgentsItemAgentType",
@@ -1156,10 +1172,14 @@ __all__ = [
1156
1172
  "ToolCallMessage",
1157
1173
  "ToolCallMessageToolCall",
1158
1174
  "ToolCreate",
1175
+ "ToolEnvVarSchema",
1176
+ "ToolJsonSchema",
1159
1177
  "ToolReturn",
1160
1178
  "ToolReturnMessage",
1161
1179
  "ToolReturnMessageStatus",
1162
1180
  "ToolReturnStatus",
1181
+ "ToolRuleSchema",
1182
+ "ToolSchema",
1163
1183
  "ToolType",
1164
1184
  "UnprocessableEntityError",
1165
1185
  "UpdateAgentToolRulesItem",
@@ -25,6 +25,7 @@ from ..types.llm_config import LlmConfig
25
25
  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
+ from ..types.agent_schema import AgentSchema
28
29
  from ..core.jsonable_encoder import jsonable_encoder
29
30
  from .. import core
30
31
  from .types.update_agent_tool_rules_item import UpdateAgentToolRulesItem
@@ -422,11 +423,11 @@ class AgentsClient:
422
423
  raise ApiError(status_code=_response.status_code, body=_response.text)
423
424
  raise ApiError(status_code=_response.status_code, body=_response_json)
424
425
 
425
- def download_agent_serialized(
426
+ def export_agent_serialized(
426
427
  self, agent_id: str, *, request_options: typing.Optional[RequestOptions] = None
427
- ) -> typing.Optional[typing.Any]:
428
+ ) -> AgentSchema:
428
429
  """
429
- Download the serialized JSON representation of an agent.
430
+ Export the serialized JSON representation of an agent.
430
431
 
431
432
  Parameters
432
433
  ----------
@@ -437,7 +438,7 @@ class AgentsClient:
437
438
 
438
439
  Returns
439
440
  -------
440
- typing.Optional[typing.Any]
441
+ AgentSchema
441
442
  Successful Response
442
443
 
443
444
  Examples
@@ -447,21 +448,21 @@ class AgentsClient:
447
448
  client = Letta(
448
449
  token="YOUR_TOKEN",
449
450
  )
450
- client.agents.download_agent_serialized(
451
+ client.agents.export_agent_serialized(
451
452
  agent_id="agent_id",
452
453
  )
453
454
  """
454
455
  _response = self._client_wrapper.httpx_client.request(
455
- f"v1/agents/{jsonable_encoder(agent_id)}/download",
456
+ f"v1/agents/{jsonable_encoder(agent_id)}/export",
456
457
  method="GET",
457
458
  request_options=request_options,
458
459
  )
459
460
  try:
460
461
  if 200 <= _response.status_code < 300:
461
462
  return typing.cast(
462
- typing.Optional[typing.Any],
463
+ AgentSchema,
463
464
  construct_type(
464
- type_=typing.Optional[typing.Any], # type: ignore
465
+ type_=AgentSchema, # type: ignore
465
466
  object_=_response.json(),
466
467
  ),
467
468
  )
@@ -480,7 +481,7 @@ class AgentsClient:
480
481
  raise ApiError(status_code=_response.status_code, body=_response.text)
481
482
  raise ApiError(status_code=_response.status_code, body=_response_json)
482
483
 
483
- def upload_agent_serialized(
484
+ def import_agent_serialized(
484
485
  self,
485
486
  *,
486
487
  file: core.File,
@@ -490,7 +491,7 @@ class AgentsClient:
490
491
  request_options: typing.Optional[RequestOptions] = None,
491
492
  ) -> AgentState:
492
493
  """
493
- Upload a serialized agent JSON file and recreate the agent in the system.
494
+ Import a serialized agent file and recreate the agent in the system.
494
495
 
495
496
  Parameters
496
497
  ----------
@@ -521,10 +522,10 @@ class AgentsClient:
521
522
  client = Letta(
522
523
  token="YOUR_TOKEN",
523
524
  )
524
- client.agents.upload_agent_serialized()
525
+ client.agents.import_agent_serialized()
525
526
  """
526
527
  _response = self._client_wrapper.httpx_client.request(
527
- "v1/agents/upload",
528
+ "v1/agents/import",
528
529
  method="POST",
529
530
  params={
530
531
  "append_copy_suffix": append_copy_suffix,
@@ -1514,11 +1515,11 @@ class AsyncAgentsClient:
1514
1515
  raise ApiError(status_code=_response.status_code, body=_response.text)
1515
1516
  raise ApiError(status_code=_response.status_code, body=_response_json)
1516
1517
 
1517
- async def download_agent_serialized(
1518
+ async def export_agent_serialized(
1518
1519
  self, agent_id: str, *, request_options: typing.Optional[RequestOptions] = None
1519
- ) -> typing.Optional[typing.Any]:
1520
+ ) -> AgentSchema:
1520
1521
  """
1521
- Download the serialized JSON representation of an agent.
1522
+ Export the serialized JSON representation of an agent.
1522
1523
 
1523
1524
  Parameters
1524
1525
  ----------
@@ -1529,7 +1530,7 @@ class AsyncAgentsClient:
1529
1530
 
1530
1531
  Returns
1531
1532
  -------
1532
- typing.Optional[typing.Any]
1533
+ AgentSchema
1533
1534
  Successful Response
1534
1535
 
1535
1536
  Examples
@@ -1544,7 +1545,7 @@ class AsyncAgentsClient:
1544
1545
 
1545
1546
 
1546
1547
  async def main() -> None:
1547
- await client.agents.download_agent_serialized(
1548
+ await client.agents.export_agent_serialized(
1548
1549
  agent_id="agent_id",
1549
1550
  )
1550
1551
 
@@ -1552,16 +1553,16 @@ class AsyncAgentsClient:
1552
1553
  asyncio.run(main())
1553
1554
  """
1554
1555
  _response = await self._client_wrapper.httpx_client.request(
1555
- f"v1/agents/{jsonable_encoder(agent_id)}/download",
1556
+ f"v1/agents/{jsonable_encoder(agent_id)}/export",
1556
1557
  method="GET",
1557
1558
  request_options=request_options,
1558
1559
  )
1559
1560
  try:
1560
1561
  if 200 <= _response.status_code < 300:
1561
1562
  return typing.cast(
1562
- typing.Optional[typing.Any],
1563
+ AgentSchema,
1563
1564
  construct_type(
1564
- type_=typing.Optional[typing.Any], # type: ignore
1565
+ type_=AgentSchema, # type: ignore
1565
1566
  object_=_response.json(),
1566
1567
  ),
1567
1568
  )
@@ -1580,7 +1581,7 @@ class AsyncAgentsClient:
1580
1581
  raise ApiError(status_code=_response.status_code, body=_response.text)
1581
1582
  raise ApiError(status_code=_response.status_code, body=_response_json)
1582
1583
 
1583
- async def upload_agent_serialized(
1584
+ async def import_agent_serialized(
1584
1585
  self,
1585
1586
  *,
1586
1587
  file: core.File,
@@ -1590,7 +1591,7 @@ class AsyncAgentsClient:
1590
1591
  request_options: typing.Optional[RequestOptions] = None,
1591
1592
  ) -> AgentState:
1592
1593
  """
1593
- Upload a serialized agent JSON file and recreate the agent in the system.
1594
+ Import a serialized agent file and recreate the agent in the system.
1594
1595
 
1595
1596
  Parameters
1596
1597
  ----------
@@ -1626,13 +1627,13 @@ class AsyncAgentsClient:
1626
1627
 
1627
1628
 
1628
1629
  async def main() -> None:
1629
- await client.agents.upload_agent_serialized()
1630
+ await client.agents.import_agent_serialized()
1630
1631
 
1631
1632
 
1632
1633
  asyncio.run(main())
1633
1634
  """
1634
1635
  _response = await self._client_wrapper.httpx_client.request(
1635
- "v1/agents/upload",
1636
+ "v1/agents/import",
1636
1637
  method="POST",
1637
1638
  params={
1638
1639
  "append_copy_suffix": append_copy_suffix,
@@ -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.69",
19
+ "X-Fern-SDK-Version": "0.1.70",
20
20
  }
21
21
  if self.token is not None:
22
22
  headers["Authorization"] = f"Bearer {self.token}"
@@ -4,6 +4,7 @@ from .action_model import ActionModel
4
4
  from .action_parameters_model import ActionParametersModel
5
5
  from .action_response_model import ActionResponseModel
6
6
  from .agent_environment_variable import AgentEnvironmentVariable
7
+ from .agent_schema import AgentSchema
7
8
  from .agent_state import AgentState
8
9
  from .agent_state_tool_rules_item import AgentStateToolRulesItem
9
10
  from .agent_type import AgentType
@@ -72,6 +73,7 @@ from .conditional_tool_rule import ConditionalToolRule
72
73
  from .conflict_error_body import ConflictErrorBody
73
74
  from .context_window_overview import ContextWindowOverview
74
75
  from .continue_tool_rule import ContinueToolRule
76
+ from .core_memory_block_schema import CoreMemoryBlockSchema
75
77
  from .create_block import CreateBlock
76
78
  from .dynamic_manager import DynamicManager
77
79
  from .e_2_b_sandbox_config import E2BSandboxConfig
@@ -124,6 +126,7 @@ from .message_create import MessageCreate
124
126
  from .message_create_content import MessageCreateContent
125
127
  from .message_create_role import MessageCreateRole
126
128
  from .message_role import MessageRole
129
+ from .message_schema import MessageSchema
127
130
  from .not_found_error_body import NotFoundErrorBody
128
131
  from .not_found_error_body_message import NotFoundErrorBodyMessage
129
132
  from .openai_types_chat_chat_completion_message_tool_call_param_function import (
@@ -135,6 +138,8 @@ from .openai_types_chat_chat_completion_named_tool_choice_param_function import
135
138
  from .openai_types_chat_completion_create_params_function import OpenaiTypesChatCompletionCreateParamsFunction
136
139
  from .organization import Organization
137
140
  from .organization_create import OrganizationCreate
141
+ from .parameter_properties import ParameterProperties
142
+ from .parameters_schema import ParametersSchema
138
143
  from .passage import Passage
139
144
  from .pip_requirement import PipRequirement
140
145
  from .provider import Provider
@@ -160,6 +165,7 @@ from .step import Step
160
165
  from .supervisor_manager import SupervisorManager
161
166
  from .system_message import SystemMessage
162
167
  from .system_message_content import SystemMessageContent
168
+ from .tag_schema import TagSchema
163
169
  from .terminal_tool_rule import TerminalToolRule
164
170
  from .text_content import TextContent
165
171
  from .tool import Tool
@@ -168,10 +174,14 @@ from .tool_call_delta import ToolCallDelta
168
174
  from .tool_call_message import ToolCallMessage
169
175
  from .tool_call_message_tool_call import ToolCallMessageToolCall
170
176
  from .tool_create import ToolCreate
177
+ from .tool_env_var_schema import ToolEnvVarSchema
178
+ from .tool_json_schema import ToolJsonSchema
171
179
  from .tool_return import ToolReturn
172
180
  from .tool_return_message import ToolReturnMessage
173
181
  from .tool_return_message_status import ToolReturnMessageStatus
174
182
  from .tool_return_status import ToolReturnStatus
183
+ from .tool_rule_schema import ToolRuleSchema
184
+ from .tool_schema import ToolSchema
175
185
  from .tool_type import ToolType
176
186
  from .update_assistant_message import UpdateAssistantMessage
177
187
  from .update_assistant_message_content import UpdateAssistantMessageContent
@@ -198,6 +208,7 @@ __all__ = [
198
208
  "ActionParametersModel",
199
209
  "ActionResponseModel",
200
210
  "AgentEnvironmentVariable",
211
+ "AgentSchema",
201
212
  "AgentState",
202
213
  "AgentStateToolRulesItem",
203
214
  "AgentType",
@@ -266,6 +277,7 @@ __all__ = [
266
277
  "ConflictErrorBody",
267
278
  "ContextWindowOverview",
268
279
  "ContinueToolRule",
280
+ "CoreMemoryBlockSchema",
269
281
  "CreateBlock",
270
282
  "DynamicManager",
271
283
  "E2BSandboxConfig",
@@ -318,6 +330,7 @@ __all__ = [
318
330
  "MessageCreateContent",
319
331
  "MessageCreateRole",
320
332
  "MessageRole",
333
+ "MessageSchema",
321
334
  "NotFoundErrorBody",
322
335
  "NotFoundErrorBodyMessage",
323
336
  "OpenaiTypesChatChatCompletionMessageToolCallParamFunction",
@@ -325,6 +338,8 @@ __all__ = [
325
338
  "OpenaiTypesChatCompletionCreateParamsFunction",
326
339
  "Organization",
327
340
  "OrganizationCreate",
341
+ "ParameterProperties",
342
+ "ParametersSchema",
328
343
  "Passage",
329
344
  "PipRequirement",
330
345
  "Provider",
@@ -350,6 +365,7 @@ __all__ = [
350
365
  "SupervisorManager",
351
366
  "SystemMessage",
352
367
  "SystemMessageContent",
368
+ "TagSchema",
353
369
  "TerminalToolRule",
354
370
  "TextContent",
355
371
  "Tool",
@@ -358,10 +374,14 @@ __all__ = [
358
374
  "ToolCallMessage",
359
375
  "ToolCallMessageToolCall",
360
376
  "ToolCreate",
377
+ "ToolEnvVarSchema",
378
+ "ToolJsonSchema",
361
379
  "ToolReturn",
362
380
  "ToolReturnMessage",
363
381
  "ToolReturnMessageStatus",
364
382
  "ToolReturnStatus",
383
+ "ToolRuleSchema",
384
+ "ToolSchema",
365
385
  "ToolType",
366
386
  "UpdateAssistantMessage",
367
387
  "UpdateAssistantMessageContent",
@@ -0,0 +1,51 @@
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
+ from .core_memory_block_schema import CoreMemoryBlockSchema
6
+ from .embedding_config import EmbeddingConfig
7
+ from .llm_config import LlmConfig
8
+ from .message_schema import MessageSchema
9
+ import typing_extensions
10
+ from ..core.serialization import FieldMetadata
11
+ from .tag_schema import TagSchema
12
+ from .tool_env_var_schema import ToolEnvVarSchema
13
+ from .tool_rule_schema import ToolRuleSchema
14
+ from .tool_schema import ToolSchema
15
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
16
+ import pydantic
17
+
18
+
19
+ class AgentSchema(UncheckedBaseModel):
20
+ agent_type: str
21
+ core_memory: typing.List[CoreMemoryBlockSchema]
22
+ created_at: str
23
+ description: str
24
+ embedding_config: EmbeddingConfig
25
+ groups: typing.List[typing.Optional[typing.Any]]
26
+ identities: typing.List[typing.Optional[typing.Any]]
27
+ is_deleted: bool
28
+ llm_config: LlmConfig
29
+ message_buffer_autoclear: bool
30
+ messages: typing.List[MessageSchema]
31
+ metadata: typing_extensions.Annotated[
32
+ typing.Dict[str, typing.Optional[typing.Any]], FieldMetadata(alias="metadata_")
33
+ ]
34
+ multi_agent_group: typing.Optional[typing.Any] = None
35
+ name: str
36
+ system: str
37
+ tags: typing.List[TagSchema]
38
+ tool_exec_environment_variables: typing.List[ToolEnvVarSchema]
39
+ tool_rules: typing.List[ToolRuleSchema]
40
+ tools: typing.List[ToolSchema]
41
+ updated_at: str
42
+ version: str
43
+
44
+ if IS_PYDANTIC_V2:
45
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
46
+ else:
47
+
48
+ class Config:
49
+ frozen = True
50
+ smart_union = True
51
+ extra = pydantic.Extra.allow
@@ -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
+ import typing
5
+ import typing_extensions
6
+ from ..core.serialization import FieldMetadata
7
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
8
+ import pydantic
9
+
10
+
11
+ class CoreMemoryBlockSchema(UncheckedBaseModel):
12
+ created_at: str
13
+ description: typing.Optional[str] = None
14
+ identities: typing.List[typing.Optional[typing.Any]]
15
+ is_deleted: bool
16
+ is_template: bool
17
+ label: str
18
+ limit: int
19
+ metadata: typing_extensions.Annotated[
20
+ typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]], FieldMetadata(alias="metadata_")
21
+ ] = None
22
+ template_name: typing.Optional[str] = None
23
+ updated_at: str
24
+ value: str
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
@@ -0,0 +1,29 @@
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
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
6
+ import pydantic
7
+
8
+
9
+ class MessageSchema(UncheckedBaseModel):
10
+ created_at: str
11
+ group_id: typing.Optional[str] = None
12
+ in_context: bool
13
+ model: typing.Optional[str] = None
14
+ name: typing.Optional[str] = None
15
+ role: str
16
+ text: str
17
+ tool_call_id: typing.Optional[str] = None
18
+ tool_calls: typing.List[typing.Optional[typing.Any]]
19
+ tool_returns: typing.List[typing.Optional[typing.Any]]
20
+ updated_at: str
21
+
22
+ if IS_PYDANTIC_V2:
23
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
24
+ else:
25
+
26
+ class Config:
27
+ frozen = True
28
+ smart_union = True
29
+ extra = pydantic.Extra.allow
@@ -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
+ import typing
5
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
6
+ import pydantic
7
+
8
+
9
+ class ParameterProperties(UncheckedBaseModel):
10
+ type: str
11
+ description: typing.Optional[str] = None
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
@@ -0,0 +1,22 @@
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
+ from .parameter_properties import ParameterProperties
6
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
7
+ import pydantic
8
+
9
+
10
+ class ParametersSchema(UncheckedBaseModel):
11
+ type: typing.Optional[str] = None
12
+ properties: typing.Dict[str, ParameterProperties]
13
+ required: typing.Optional[typing.List[str]] = None
14
+
15
+ if IS_PYDANTIC_V2:
16
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
17
+ else:
18
+
19
+ class Config:
20
+ frozen = True
21
+ smart_union = True
22
+ extra = pydantic.Extra.allow
@@ -0,0 +1,19 @@
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 TagSchema(UncheckedBaseModel):
10
+ tag: str
11
+
12
+ if IS_PYDANTIC_V2:
13
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
14
+ else:
15
+
16
+ class Config:
17
+ frozen = True
18
+ smart_union = True
19
+ extra = pydantic.Extra.allow
@@ -0,0 +1,24 @@
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
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
6
+ import pydantic
7
+
8
+
9
+ class ToolEnvVarSchema(UncheckedBaseModel):
10
+ created_at: str
11
+ description: typing.Optional[str] = None
12
+ is_deleted: bool
13
+ key: str
14
+ updated_at: str
15
+ value: str
16
+
17
+ if IS_PYDANTIC_V2:
18
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
19
+ else:
20
+
21
+ class Config:
22
+ frozen = True
23
+ smart_union = True
24
+ extra = pydantic.Extra.allow
@@ -0,0 +1,24 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.unchecked_base_model import UncheckedBaseModel
4
+ from .parameters_schema import ParametersSchema
5
+ import typing
6
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
7
+ import pydantic
8
+
9
+
10
+ class ToolJsonSchema(UncheckedBaseModel):
11
+ name: str
12
+ description: str
13
+ parameters: ParametersSchema
14
+ type: typing.Optional[str] = None
15
+ required: typing.Optional[typing.List[str]] = None
16
+
17
+ if IS_PYDANTIC_V2:
18
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
19
+ else:
20
+
21
+ class Config:
22
+ frozen = True
23
+ smart_union = True
24
+ extra = pydantic.Extra.allow
@@ -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 ToolRuleSchema(UncheckedBaseModel):
10
+ tool_name: str
11
+ type: str
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
@@ -0,0 +1,31 @@
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
+ from .tool_json_schema import ToolJsonSchema
6
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
7
+ import pydantic
8
+
9
+
10
+ class ToolSchema(UncheckedBaseModel):
11
+ args_json_schema: typing.Optional[typing.Any] = None
12
+ created_at: str
13
+ description: str
14
+ is_deleted: bool
15
+ json_schema: ToolJsonSchema
16
+ name: str
17
+ return_char_limit: int
18
+ source_code: typing.Optional[str] = None
19
+ source_type: str
20
+ tags: typing.List[str]
21
+ tool_type: str
22
+ updated_at: str
23
+
24
+ if IS_PYDANTIC_V2:
25
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
26
+ else:
27
+
28
+ class Config:
29
+ frozen = True
30
+ smart_union = True
31
+ extra = pydantic.Extra.allow
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: letta-client
3
- Version: 0.1.69
3
+ Version: 0.1.70
4
4
  Summary:
5
5
  Requires-Python: >=3.8,<4.0
6
6
  Classifier: Intended Audience :: Developers
@@ -1,8 +1,8 @@
1
- letta_client/__init__.py,sha256=CxEcj2yzbE_UEsqUVyTwf1uNgc1SbOCzbf0nGT2ar-Q,63541
1
+ letta_client/__init__.py,sha256=z0xhs3OI6QvwwA3zmsYmnhfPfvRTvGJ3UqVdEAhu4lc,63967
2
2
  letta_client/agents/__init__.py,sha256=HMLlMwIDoMSMsE99OMGYmDQbdZcYWScYF2L1bW_2zKA,25036
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=GaTQF74VZFDiwk41_51aKxE3XrmZ3qEan28PMW6_8r8,84805
5
+ letta_client/agents/client.py,sha256=RCq2N7aO8gk_-dVwt5tP4ppKgiZ_i7hy4rPASyx2f5o,84696
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
@@ -228,7 +228,7 @@ letta_client/blocks/client.py,sha256=LE9dsHaBxFLC3G035f0VpNDG7XKWRK8y9OXpeFCMvUw
228
228
  letta_client/client.py,sha256=xdSrD4IkWokZHujowd1r7zESBoVgKGNvo6RqgZ3f0Fg,12808
229
229
  letta_client/core/__init__.py,sha256=OKbX2aCZXgHCDUsCouqv-OiX32xA6eFFCKIUH9M5Vzk,1591
230
230
  letta_client/core/api_error.py,sha256=RE8LELok2QCjABadECTvtDp7qejA1VmINCh6TbqPwSE,426
231
- letta_client/core/client_wrapper.py,sha256=ffSrx_kI6oX2SVlnb2sOdF4wSLIK3V8KS_52aG9Kqh0,1997
231
+ letta_client/core/client_wrapper.py,sha256=uXelTu3YeqatjFoXGj1r-hO9jpxEJio3bejiqYRj00s,1997
232
232
  letta_client/core/datetime_utils.py,sha256=nBys2IsYrhPdszxGKCNRPSOCwa-5DWOHG95FB8G9PKo,1047
233
233
  letta_client/core/file.py,sha256=d4NNbX8XvXP32z8KpK2Xovv33nFfruIrpz0QWxlgpZk,2663
234
234
  letta_client/core/http_client.py,sha256=Z77OIxIbL4OAB2IDqjRq_sYa5yNYAWfmdhdCSSvh6Y4,19552
@@ -466,11 +466,12 @@ letta_client/tools/types/add_mcp_server_request.py,sha256=EieZjfOT95sjkpxXdqy7gl
466
466
  letta_client/tools/types/add_mcp_server_response_item.py,sha256=pb3A4IoP7Qpen0UDDniXrASYEJZWnYnnrZThtPkvZt4,270
467
467
  letta_client/tools/types/delete_mcp_server_response_item.py,sha256=hKc4uehqcubO8BzpgMlvk2jJAjHXOWRM_zmWsCz_vZE,273
468
468
  letta_client/tools/types/list_mcp_servers_response_value.py,sha256=AIoXu4bO8QNSU7zjL1jj0Rg4313wVtPaTt13W0aevLQ,273
469
- letta_client/types/__init__.py,sha256=6A5BT5eUXbiMyw_pCDdNyctyUTwosQGzjCt7BusoBi4,17291
469
+ letta_client/types/__init__.py,sha256=a1DEK3g5GnoJhHxV4Kxjj07gDYmjlYut0x9dyt1cyY4,17966
470
470
  letta_client/types/action_model.py,sha256=y1e2XMv3skFaNJIBdYoBKgiORzGh05aOVvu-qVR9uHg,1240
471
471
  letta_client/types/action_parameters_model.py,sha256=LgKf5aPZG3-OHGxFdXiSokIDgce8c02xPYIAY05VgW8,828
472
472
  letta_client/types/action_response_model.py,sha256=yq2Fd9UU8j7vvtE3VqXUoRRvDzWcfJPj_95ynGdeHCs,824
473
473
  letta_client/types/agent_environment_variable.py,sha256=vutZLcR0yETltgOZ7E_o9kR4vOdBxybVL9lzXSux75w,1698
474
+ letta_client/types/agent_schema.py,sha256=qo2okN6LjB65jpN-RmFYemi50aWV4DOOaWyB_Qz7z8Y,1786
474
475
  letta_client/types/agent_state.py,sha256=hogE7T9E56HzOycCGuv-jmPVsmcA3w7sGsoMnWMW3IY,5196
475
476
  letta_client/types/agent_state_tool_rules_item.py,sha256=qWQIVi8G-ulUjHJqkUDOZQdSN7aajyOxwg3Y7rBBrOs,448
476
477
  letta_client/types/agent_type.py,sha256=BvztKbFTW_Acvc3QPIvzK7JGwSLie1V407byu-VZHz0,195
@@ -539,6 +540,7 @@ letta_client/types/conditional_tool_rule.py,sha256=R0nzgjpqedSPUWdBQuv-doiIgYTAZ
539
540
  letta_client/types/conflict_error_body.py,sha256=Mena-q1jti6nv_7-xrp6sDb_5MXNKPGobHrhpnz9kpY,787
540
541
  letta_client/types/context_window_overview.py,sha256=9pwiObSxu-SFyQ1pxSTlQiRatVAyFgqa6t0_qrrsGfU,2815
541
542
  letta_client/types/continue_tool_rule.py,sha256=AIKTGsQrJdSNsMCqdSqMqjKS7s610vDO8taVEbSJ6Yc,867
543
+ letta_client/types/core_memory_block_schema.py,sha256=FAKcmH4B8EiJ6vltX6-dVstVzgznYUU4sOPUVnlFBOY,1062
542
544
  letta_client/types/create_block.py,sha256=V57mbqUkh5c-HcDxmIiFVr3tNfoqx-WJ1GRQZPobbxI,1277
543
545
  letta_client/types/dynamic_manager.py,sha256=5DRNqtUnjeTwOe5mkNB-SXItqLOfEX0avSrwsrJt1Aw,853
544
546
  letta_client/types/e_2_b_sandbox_config.py,sha256=w3R4QpPjeie5aKw8sb_eKhl78J0k5vLCcATNS3Qaeyw,957
@@ -591,6 +593,7 @@ letta_client/types/message_create.py,sha256=x80xQYxC3IUHs7PKCqHfeJkHRh02dx0oOc0P
591
593
  letta_client/types/message_create_content.py,sha256=N3W7IzbUk2RqEbL88noLCu4Bmbli5-yq35d0nfscGl8,185
592
594
  letta_client/types/message_create_role.py,sha256=atjQEZ8iT4gTAmrFTFnRaM66f0MGsgfGq6hpx1Q-i44,159
593
595
  letta_client/types/message_role.py,sha256=HKatrA1jt02oTObExloTY3rW8Urzn37kBTg0Z6MbwkQ,186
596
+ letta_client/types/message_schema.py,sha256=wnfvzbABcNlsmNNGTAaizPPbbPIQ7lxzRalTavl_TFw,914
594
597
  letta_client/types/not_found_error_body.py,sha256=_1esSlUdkBx6CRs6aAIJrxzh3VZKEG0xzeLbxebBuy0,615
595
598
  letta_client/types/not_found_error_body_message.py,sha256=Kc9xrVghgDATdPAGpTPnzyKe6ds5q8Vr6zcBU5lLcH4,309
596
599
  letta_client/types/openai_types_chat_chat_completion_message_tool_call_param_function.py,sha256=glG5tG6g2uxP4R5jwsChkf3F0sb208uEbR-25dnrTiM,621
@@ -598,6 +601,8 @@ letta_client/types/openai_types_chat_chat_completion_named_tool_choice_param_fun
598
601
  letta_client/types/openai_types_chat_completion_create_params_function.py,sha256=oTjYqRv8z6SMSdFgTl4W9oI-QUQxz8Unf4yn90sByss,721
599
602
  letta_client/types/organization.py,sha256=vSXwqYTpxGZgpMTv8rw5jzklZnUYjS6yBTkEFNPNSrU,927
600
603
  letta_client/types/organization_create.py,sha256=xlF1FgDRa7zpv49kVGWYchcSEUjPEsjF5_m2xHWb9VM,661
604
+ letta_client/types/parameter_properties.py,sha256=KVQGp_csoiNzyf9XsL083fwlX_a2Tc8GsCKyWB323C8,609
605
+ letta_client/types/parameters_schema.py,sha256=ptXcwjuaCwqRhfizeiWAsu3pqT87Jcj_P3YaEkL4asM,748
601
606
  letta_client/types/passage.py,sha256=1OM19TyVCQEL1P3BC58hmzWfawZM4vejiKr0P11dOUk,3034
602
607
  letta_client/types/pip_requirement.py,sha256=Hmh7VpJhdSfFkafh6QwAehCp0MQUBXv1YAoYP-2wV2M,773
603
608
  letta_client/types/provider.py,sha256=RvdE9dzGFJ4hcmyvk2xeO7RNpxQvXhB_S9DNy8t_z-E,1053
@@ -623,6 +628,7 @@ letta_client/types/step.py,sha256=XE98vMiU34dgUxLPvmJLdp9iWFPjg6E2Pb8xNSURMMg,29
623
628
  letta_client/types/supervisor_manager.py,sha256=VdR1ySp4k43apxM8Bb5uNoBvADsvz8oMEEtDy2F5K6M,676
624
629
  letta_client/types/system_message.py,sha256=E7ExEVt5Y1p3g-fq1t--Zxr0148v_PRs8DIfsSDcXzE,1281
625
630
  letta_client/types/system_message_content.py,sha256=fePw_p7NZclJLdnZWCG392knGx2XemMrtWexZqoyYkA,238
631
+ letta_client/types/tag_schema.py,sha256=FEszKlRD2FqezKlX99OLqTqf46dONlcGPo1m43osdNo,553
626
632
  letta_client/types/terminal_tool_rule.py,sha256=82a7AnohOqCFBSOt7OwsKeh7gHgq8KTlgojxlm3t76E,863
627
633
  letta_client/types/text_content.py,sha256=Z8UL4Sqqq2qClKU_nCgR9XFCj3dwYyhZMmvnnz1F0AE,670
628
634
  letta_client/types/tool.py,sha256=xXKWpxfzUtw7OjLcjnil6GeFiVrFvk9gtaYHWUM-7AU,2510
@@ -631,10 +637,14 @@ letta_client/types/tool_call_delta.py,sha256=wGeZwJ9pwYHD5-f4Unf5-vJqefK40eHw9i0
631
637
  letta_client/types/tool_call_message.py,sha256=vc-Bv_H1eNLAIJqyCI4glj964h87iosTLKFgxWpA2wM,1090
632
638
  letta_client/types/tool_call_message_tool_call.py,sha256=twtq5-vZIeh1nShqm8iTCN9YFtY7LUIL-bFYuUfhF1o,219
633
639
  letta_client/types/tool_create.py,sha256=VSMd23Kkd77SPbLv2oRHEzXqR2Eexc0ervjxXYLHiqc,1522
640
+ letta_client/types/tool_env_var_schema.py,sha256=TgH1mM9rkfY3ci__at0tZDJpn7G6G92tzussSoviZ7Y,681
641
+ letta_client/types/tool_json_schema.py,sha256=EgCxNOxeoF4y_-BDLAp6z_qcxTc87w_uSuZdjZpn3Gk,754
634
642
  letta_client/types/tool_return.py,sha256=f-6zaRo8Bwl0i0Q0rHl8vKOfzymFHN_tVRoC2lMWksI,984
635
643
  letta_client/types/tool_return_message.py,sha256=MeCDV12wej629vX9opp7htj0fXE02Ord5fvp68X2vpU,1585
636
644
  letta_client/types/tool_return_message_status.py,sha256=FvFOMaG9mnmgnHi2UBQVQQMtHFabbWnQnHTxGUDgVl0,167
637
645
  letta_client/types/tool_return_status.py,sha256=TQjwYprn5F_jU9kIbrtiyk7Gw2SjcmFFZLjFbGDpBM0,160
646
+ letta_client/types/tool_rule_schema.py,sha256=cuOWIHHG63nG-EVYz4qV9psQ8MH0ujmLGjHiPVV-3Kk,578
647
+ letta_client/types/tool_schema.py,sha256=WNDalV7aeaEzJH5TND5TvZ48zTAqwZ-8MEAzYbgvjW0,910
638
648
  letta_client/types/tool_type.py,sha256=v6DX7qGAbg9t4HZTa9GBuzehNDCW3NkD6Zi3Z1teEKI,336
639
649
  letta_client/types/update_assistant_message.py,sha256=D-51o8uXk3X_2Fb2zJ4KoMeRxPiDWaCb3ugRfjBMCTI,878
640
650
  letta_client/types/update_assistant_message_content.py,sha256=rh3DP_SpxyBNnf0EDtoaKmPIPV-cXRSFju33NbHgeF0,247
@@ -660,6 +670,6 @@ letta_client/voice/__init__.py,sha256=ZrZEuXIukVGhsfM-i0dIFfqjeSOBMPeEgDva7Vvnip
660
670
  letta_client/voice/client.py,sha256=O38dLq__WTwLPlFTtvw1hgqaPYK9alds_ft12Bnp5fs,6475
661
671
  letta_client/voice/types/__init__.py,sha256=hBLJcrom99DkDxxsVRU2ni8kPx6SsCy8gtAJvNOz26w,199
662
672
  letta_client/voice/types/create_voice_chat_completions_request.py,sha256=K4__83rXRCshfdobyAmH-5fUDJQ_PeSQetTUeC4Abk0,381
663
- letta_client-0.1.69.dist-info/METADATA,sha256=hXon62dM2ujqpAdciusX9de3WvYcjuGcBfX7mJiQ_0o,4942
664
- letta_client-0.1.69.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
665
- letta_client-0.1.69.dist-info/RECORD,,
673
+ letta_client-0.1.70.dist-info/METADATA,sha256=ps10hxkh5MC80-Pu9sjm4US1CBQXL7OdOkzz_S2mRmA,4942
674
+ letta_client-0.1.70.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
675
+ letta_client-0.1.70.dist-info/RECORD,,