letta-client 0.1.2__py3-none-any.whl → 0.1.4__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.
Files changed (41) hide show
  1. letta/__init__.py +18 -34
  2. letta/agents/__init__.py +18 -2
  3. letta/agents/client.py +473 -35
  4. letta/agents/types/__init__.py +28 -2
  5. letta/agents/types/{agents_create_version_response.py → agents_get_agent_variables_response.py} +2 -5
  6. letta/agents/types/agents_search_deployed_agents_request_combinator.py +5 -0
  7. letta/agents/types/agents_search_deployed_agents_request_search_item.py +16 -0
  8. letta/agents/types/agents_search_deployed_agents_request_search_item_direction.py +27 -0
  9. letta/agents/types/agents_search_deployed_agents_request_search_item_direction_direction.py +5 -0
  10. letta/agents/types/agents_search_deployed_agents_request_search_item_direction_value.py +7 -0
  11. letta/agents/types/agents_search_deployed_agents_request_search_item_operator.py +24 -0
  12. letta/agents/types/agents_search_deployed_agents_request_search_item_operator_operator.py +7 -0
  13. letta/{types/letta_response_tool_call_message_tool_call_zero.py → agents/types/agents_search_deployed_agents_request_search_item_zero.py} +5 -6
  14. letta/client.py +4 -4
  15. letta/core/client_wrapper.py +1 -1
  16. letta/environment.py +1 -1
  17. letta/types/__init__.py +0 -32
  18. letta/types/embedding_config.py +5 -0
  19. letta/types/internal_server_error_body.py +1 -1
  20. letta/types/letta_response.py +9 -97
  21. letta/types/letta_usage_statistics.py +1 -0
  22. letta/types/llm_config.py +5 -0
  23. letta/types/not_found_error_body.py +2 -3
  24. {letta_client-0.1.2.dist-info → letta_client-0.1.4.dist-info}/METADATA +1 -1
  25. {letta_client-0.1.2.dist-info → letta_client-0.1.4.dist-info}/RECORD +26 -34
  26. {letta_client-0.1.2.dist-info → letta_client-0.1.4.dist-info}/WHEEL +1 -1
  27. letta/types/letta_response_assistant_message.py +0 -23
  28. letta/types/letta_response_letta_usage_statistics.py +0 -47
  29. letta/types/letta_response_reasoning_message.py +0 -32
  30. letta/types/letta_response_system_message.py +0 -32
  31. letta/types/letta_response_tool_call.py +0 -21
  32. letta/types/letta_response_tool_call_delta.py +0 -21
  33. letta/types/letta_response_tool_call_message.py +0 -33
  34. letta/types/letta_response_tool_call_message_tool_call.py +0 -9
  35. letta/types/letta_response_tool_call_message_tool_call_one.py +0 -21
  36. letta/types/letta_response_tool_return_message.py +0 -41
  37. letta/types/letta_response_tool_return_message_status.py +0 -5
  38. letta/types/letta_response_usage_message.py +0 -40
  39. letta/types/letta_response_usage_message_usage.py +0 -47
  40. letta/types/letta_response_user_message.py +0 -32
  41. letta/types/usage_message.py +0 -31
@@ -1,13 +1,39 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
- from .agents_create_version_response import AgentsCreateVersionResponse
3
+ from .agents_get_agent_variables_response import AgentsGetAgentVariablesResponse
4
4
  from .agents_migrate_response import AgentsMigrateResponse
5
+ from .agents_search_deployed_agents_request_combinator import AgentsSearchDeployedAgentsRequestCombinator
6
+ from .agents_search_deployed_agents_request_search_item import AgentsSearchDeployedAgentsRequestSearchItem
7
+ from .agents_search_deployed_agents_request_search_item_direction import (
8
+ AgentsSearchDeployedAgentsRequestSearchItemDirection,
9
+ )
10
+ from .agents_search_deployed_agents_request_search_item_direction_direction import (
11
+ AgentsSearchDeployedAgentsRequestSearchItemDirectionDirection,
12
+ )
13
+ from .agents_search_deployed_agents_request_search_item_direction_value import (
14
+ AgentsSearchDeployedAgentsRequestSearchItemDirectionValue,
15
+ )
16
+ from .agents_search_deployed_agents_request_search_item_operator import (
17
+ AgentsSearchDeployedAgentsRequestSearchItemOperator,
18
+ )
19
+ from .agents_search_deployed_agents_request_search_item_operator_operator import (
20
+ AgentsSearchDeployedAgentsRequestSearchItemOperatorOperator,
21
+ )
22
+ from .agents_search_deployed_agents_request_search_item_zero import AgentsSearchDeployedAgentsRequestSearchItemZero
5
23
  from .create_agent_request_tool_rules_item import CreateAgentRequestToolRulesItem
6
24
  from .update_agent_tool_rules_item import UpdateAgentToolRulesItem
7
25
 
8
26
  __all__ = [
9
- "AgentsCreateVersionResponse",
27
+ "AgentsGetAgentVariablesResponse",
10
28
  "AgentsMigrateResponse",
29
+ "AgentsSearchDeployedAgentsRequestCombinator",
30
+ "AgentsSearchDeployedAgentsRequestSearchItem",
31
+ "AgentsSearchDeployedAgentsRequestSearchItemDirection",
32
+ "AgentsSearchDeployedAgentsRequestSearchItemDirectionDirection",
33
+ "AgentsSearchDeployedAgentsRequestSearchItemDirectionValue",
34
+ "AgentsSearchDeployedAgentsRequestSearchItemOperator",
35
+ "AgentsSearchDeployedAgentsRequestSearchItemOperatorOperator",
36
+ "AgentsSearchDeployedAgentsRequestSearchItemZero",
11
37
  "CreateAgentRequestToolRulesItem",
12
38
  "UpdateAgentToolRulesItem",
13
39
  ]
@@ -1,16 +1,13 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
3
  from ...core.pydantic_utilities import UniversalBaseModel
4
- import typing_extensions
5
4
  import typing
6
- from ...core.serialization import FieldMetadata
7
5
  from ...core.pydantic_utilities import IS_PYDANTIC_V2
8
6
  import pydantic
9
7
 
10
8
 
11
- class AgentsCreateVersionResponse(UniversalBaseModel):
12
- version: str
13
- agent_id: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="agentId")] = None
9
+ class AgentsGetAgentVariablesResponse(UniversalBaseModel):
10
+ variables: typing.Dict[str, str]
14
11
 
15
12
  if IS_PYDANTIC_V2:
16
13
  model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ AgentsSearchDeployedAgentsRequestCombinator = typing.Union[typing.Literal["AND", "OR"], typing.Any]
@@ -0,0 +1,16 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+ from .agents_search_deployed_agents_request_search_item_zero import AgentsSearchDeployedAgentsRequestSearchItemZero
5
+ from .agents_search_deployed_agents_request_search_item_operator import (
6
+ AgentsSearchDeployedAgentsRequestSearchItemOperator,
7
+ )
8
+ from .agents_search_deployed_agents_request_search_item_direction import (
9
+ AgentsSearchDeployedAgentsRequestSearchItemDirection,
10
+ )
11
+
12
+ AgentsSearchDeployedAgentsRequestSearchItem = typing.Union[
13
+ AgentsSearchDeployedAgentsRequestSearchItemZero,
14
+ AgentsSearchDeployedAgentsRequestSearchItemOperator,
15
+ AgentsSearchDeployedAgentsRequestSearchItemDirection,
16
+ ]
@@ -0,0 +1,27 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ...core.pydantic_utilities import UniversalBaseModel
4
+ import typing
5
+ from .agents_search_deployed_agents_request_search_item_direction_value import (
6
+ AgentsSearchDeployedAgentsRequestSearchItemDirectionValue,
7
+ )
8
+ from .agents_search_deployed_agents_request_search_item_direction_direction import (
9
+ AgentsSearchDeployedAgentsRequestSearchItemDirectionDirection,
10
+ )
11
+ from ...core.pydantic_utilities import IS_PYDANTIC_V2
12
+ import pydantic
13
+
14
+
15
+ class AgentsSearchDeployedAgentsRequestSearchItemDirection(UniversalBaseModel):
16
+ field: typing.Literal["order_by"] = "order_by"
17
+ value: AgentsSearchDeployedAgentsRequestSearchItemDirectionValue
18
+ direction: AgentsSearchDeployedAgentsRequestSearchItemDirectionDirection
19
+
20
+ if IS_PYDANTIC_V2:
21
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
22
+ else:
23
+
24
+ class Config:
25
+ frozen = True
26
+ smart_union = True
27
+ extra = pydantic.Extra.allow
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ AgentsSearchDeployedAgentsRequestSearchItemDirectionDirection = typing.Union[typing.Literal["asc", "desc"], typing.Any]
@@ -0,0 +1,7 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ AgentsSearchDeployedAgentsRequestSearchItemDirectionValue = typing.Union[
6
+ typing.Literal["created_at", "updated_at"], typing.Any
7
+ ]
@@ -0,0 +1,24 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ...core.pydantic_utilities import UniversalBaseModel
4
+ import typing
5
+ from .agents_search_deployed_agents_request_search_item_operator_operator import (
6
+ AgentsSearchDeployedAgentsRequestSearchItemOperatorOperator,
7
+ )
8
+ from ...core.pydantic_utilities import IS_PYDANTIC_V2
9
+ import pydantic
10
+
11
+
12
+ class AgentsSearchDeployedAgentsRequestSearchItemOperator(UniversalBaseModel):
13
+ field: typing.Literal["name"] = "name"
14
+ operator: AgentsSearchDeployedAgentsRequestSearchItemOperatorOperator
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,7 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ AgentsSearchDeployedAgentsRequestSearchItemOperatorOperator = typing.Union[
6
+ typing.Literal["eq", "neq", "contains"], typing.Any
7
+ ]
@@ -1,15 +1,14 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
- from ..core.pydantic_utilities import UniversalBaseModel
4
- from ..core.pydantic_utilities import IS_PYDANTIC_V2
3
+ from ...core.pydantic_utilities import UniversalBaseModel
5
4
  import typing
5
+ from ...core.pydantic_utilities import IS_PYDANTIC_V2
6
6
  import pydantic
7
7
 
8
8
 
9
- class LettaResponseToolCallMessageToolCallZero(UniversalBaseModel):
10
- name: str
11
- arguments: str
12
- tool_call_id: str
9
+ class AgentsSearchDeployedAgentsRequestSearchItemZero(UniversalBaseModel):
10
+ field: typing.Literal["version"] = "version"
11
+ value: str
13
12
 
14
13
  if IS_PYDANTIC_V2:
15
14
  model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
letta/client.py CHANGED
@@ -35,7 +35,7 @@ class Letta:
35
35
 
36
36
 
37
37
 
38
- Defaults to LettaEnvironment.LETTA_HOSTED
38
+ Defaults to LettaEnvironment.LETTA_CLOUD
39
39
 
40
40
 
41
41
 
@@ -62,7 +62,7 @@ class Letta:
62
62
  self,
63
63
  *,
64
64
  base_url: typing.Optional[str] = None,
65
- environment: LettaEnvironment = LettaEnvironment.LETTA_HOSTED,
65
+ environment: LettaEnvironment = LettaEnvironment.LETTA_CLOUD,
66
66
  token: typing.Union[str, typing.Callable[[], str]],
67
67
  timeout: typing.Optional[float] = None,
68
68
  follow_redirects: typing.Optional[bool] = True,
@@ -102,7 +102,7 @@ class AsyncLetta:
102
102
 
103
103
 
104
104
 
105
- Defaults to LettaEnvironment.LETTA_HOSTED
105
+ Defaults to LettaEnvironment.LETTA_CLOUD
106
106
 
107
107
 
108
108
 
@@ -129,7 +129,7 @@ class AsyncLetta:
129
129
  self,
130
130
  *,
131
131
  base_url: typing.Optional[str] = None,
132
- environment: LettaEnvironment = LettaEnvironment.LETTA_HOSTED,
132
+ environment: LettaEnvironment = LettaEnvironment.LETTA_CLOUD,
133
133
  token: typing.Union[str, typing.Callable[[], str]],
134
134
  timeout: typing.Optional[float] = None,
135
135
  follow_redirects: typing.Optional[bool] = True,
@@ -22,7 +22,7 @@ class BaseClientWrapper:
22
22
  headers: typing.Dict[str, str] = {
23
23
  "X-Fern-Language": "Python",
24
24
  "X-Fern-SDK-Name": "letta-client",
25
- "X-Fern-SDK-Version": "0.1.2",
25
+ "X-Fern-SDK-Version": "0.1.4",
26
26
  }
27
27
  headers["Authorization"] = f"Bearer {self._get_token()}"
28
28
  return headers
letta/environment.py CHANGED
@@ -4,5 +4,5 @@ import enum
4
4
 
5
5
 
6
6
  class LettaEnvironment(enum.Enum):
7
- LETTA_HOSTED = "https://app.letta.com"
7
+ LETTA_CLOUD = "https://app.letta.com"
8
8
  SELF_HOSTED = "http://localhost:8283"
letta/types/__init__.py CHANGED
@@ -49,21 +49,6 @@ from .job import Job
49
49
  from .job_status import JobStatus
50
50
  from .letta_request import LettaRequest
51
51
  from .letta_response import LettaResponse
52
- from .letta_response_assistant_message import LettaResponseAssistantMessage
53
- from .letta_response_letta_usage_statistics import LettaResponseLettaUsageStatistics
54
- from .letta_response_reasoning_message import LettaResponseReasoningMessage
55
- from .letta_response_system_message import LettaResponseSystemMessage
56
- from .letta_response_tool_call import LettaResponseToolCall
57
- from .letta_response_tool_call_delta import LettaResponseToolCallDelta
58
- from .letta_response_tool_call_message import LettaResponseToolCallMessage
59
- from .letta_response_tool_call_message_tool_call import LettaResponseToolCallMessageToolCall
60
- from .letta_response_tool_call_message_tool_call_one import LettaResponseToolCallMessageToolCallOne
61
- from .letta_response_tool_call_message_tool_call_zero import LettaResponseToolCallMessageToolCallZero
62
- from .letta_response_tool_return_message import LettaResponseToolReturnMessage
63
- from .letta_response_tool_return_message_status import LettaResponseToolReturnMessageStatus
64
- from .letta_response_usage_message import LettaResponseUsageMessage
65
- from .letta_response_usage_message_usage import LettaResponseUsageMessageUsage
66
- from .letta_response_user_message import LettaResponseUserMessage
67
52
  from .letta_schemas_letta_message_tool_call import LettaSchemasLettaMessageToolCall
68
53
  from .letta_schemas_message_message import LettaSchemasMessageMessage
69
54
  from .letta_schemas_openai_chat_completion_request_tool import LettaSchemasOpenaiChatCompletionRequestTool
@@ -120,7 +105,6 @@ from .tool_message import ToolMessage
120
105
  from .tool_return_message import ToolReturnMessage
121
106
  from .tool_return_message_status import ToolReturnMessageStatus
122
107
  from .tool_rule_type import ToolRuleType
123
- from .usage_message import UsageMessage
124
108
  from .usage_statistics import UsageStatistics
125
109
  from .user import User
126
110
  from .user_create import UserCreate
@@ -181,21 +165,6 @@ __all__ = [
181
165
  "JobStatus",
182
166
  "LettaRequest",
183
167
  "LettaResponse",
184
- "LettaResponseAssistantMessage",
185
- "LettaResponseLettaUsageStatistics",
186
- "LettaResponseReasoningMessage",
187
- "LettaResponseSystemMessage",
188
- "LettaResponseToolCall",
189
- "LettaResponseToolCallDelta",
190
- "LettaResponseToolCallMessage",
191
- "LettaResponseToolCallMessageToolCall",
192
- "LettaResponseToolCallMessageToolCallOne",
193
- "LettaResponseToolCallMessageToolCallZero",
194
- "LettaResponseToolReturnMessage",
195
- "LettaResponseToolReturnMessageStatus",
196
- "LettaResponseUsageMessage",
197
- "LettaResponseUsageMessageUsage",
198
- "LettaResponseUserMessage",
199
168
  "LettaSchemasLettaMessageToolCall",
200
169
  "LettaSchemasMessageMessage",
201
170
  "LettaSchemasOpenaiChatCompletionRequestTool",
@@ -250,7 +219,6 @@ __all__ = [
250
219
  "ToolReturnMessage",
251
220
  "ToolReturnMessageStatus",
252
221
  "ToolRuleType",
253
- "UsageMessage",
254
222
  "UsageStatistics",
255
223
  "User",
256
224
  "UserCreate",
@@ -47,6 +47,11 @@ class EmbeddingConfig(UniversalBaseModel):
47
47
  The chunk size of the embedding.
48
48
  """
49
49
 
50
+ handle: typing.Optional[str] = pydantic.Field(default=None)
51
+ """
52
+ The handle for this config, in the format provider/model-name.
53
+ """
54
+
50
55
  azure_endpoint: typing.Optional[str] = pydantic.Field(default=None)
51
56
  """
52
57
  The Azure endpoint for the model.
@@ -7,7 +7,7 @@ import pydantic
7
7
 
8
8
 
9
9
  class InternalServerErrorBody(UniversalBaseModel):
10
- message: typing.Literal["Migration failed"] = "Migration failed"
10
+ message: typing.Literal["Failed to create agent template"] = "Failed to create agent template"
11
11
 
12
12
  if IS_PYDANTIC_V2:
13
13
  model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
@@ -1,118 +1,30 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
3
  from ..core.pydantic_utilities import UniversalBaseModel
4
- import typing_extensions
5
4
  import typing
6
- from .letta_response_assistant_message import LettaResponseAssistantMessage
7
- from ..core.serialization import FieldMetadata
8
- from .letta_response_letta_usage_statistics import LettaResponseLettaUsageStatistics
9
5
  import pydantic
10
- from .letta_response_reasoning_message import LettaResponseReasoningMessage
11
- from .letta_response_system_message import LettaResponseSystemMessage
12
- from .letta_response_tool_call import LettaResponseToolCall
13
- from .letta_response_tool_call_delta import LettaResponseToolCallDelta
14
- from .letta_response_tool_call_message import LettaResponseToolCallMessage
15
- from .letta_response_tool_return_message import LettaResponseToolReturnMessage
16
- from .letta_response_usage_message import LettaResponseUsageMessage
17
- from .letta_response_user_message import LettaResponseUserMessage
6
+ from .letta_usage_statistics import LettaUsageStatistics
18
7
  from ..core.pydantic_utilities import IS_PYDANTIC_V2
19
8
 
20
9
 
21
10
  class LettaResponse(UniversalBaseModel):
22
- assistant_message: typing_extensions.Annotated[
23
- typing.Optional[LettaResponseAssistantMessage], FieldMetadata(alias="AssistantMessage")
24
- ] = None
25
- letta_usage_statistics: typing_extensions.Annotated[
26
- typing.Optional[LettaResponseLettaUsageStatistics], FieldMetadata(alias="LettaUsageStatistics")
27
- ] = pydantic.Field(default=None)
28
- """
29
- Usage statistics for the agent interaction.
30
-
31
- Attributes:
32
- completion_tokens (int): The number of tokens generated by the agent.
33
- prompt_tokens (int): The number of tokens in the prompt.
34
- total_tokens (int): The total number of tokens processed by the agent.
35
- step_count (int): The number of steps taken by the agent.
36
11
  """
12
+ Response object from an agent interaction, consisting of the new messages generated by the agent and usage statistics.
13
+ The type of the returned messages can be either `Message` or `LettaMessage`, depending on what was specified in the request.
37
14
 
38
- reasoning_message: typing_extensions.Annotated[
39
- typing.Optional[LettaResponseReasoningMessage], FieldMetadata(alias="ReasoningMessage")
40
- ] = pydantic.Field(default=None)
41
- """
42
- Representation of an agent's internal reasoning.
43
-
44
15
  Attributes:
45
- reasoning (str): The internal reasoning of the agent
46
- id (str): The ID of the message
47
- date (datetime): The date the message was created in ISO format
16
+ messages (List[Union[Message, LettaMessage]]): The messages returned by the agent.
17
+ usage (LettaUsageStatistics): The usage statistics
48
18
  """
49
19
 
50
- system_message: typing_extensions.Annotated[
51
- typing.Optional[LettaResponseSystemMessage], FieldMetadata(alias="SystemMessage")
52
- ] = pydantic.Field(default=None)
20
+ messages: typing.List[typing.Optional[typing.Any]] = pydantic.Field()
53
21
  """
54
- A message generated by the system. Never streamed back on a response, only used for cursor pagination.
55
-
56
- Attributes:
57
- message (str): The message sent by the system
58
- id (str): The ID of the message
59
- date (datetime): The date the message was created in ISO format
22
+ The messages returned by the agent.
60
23
  """
61
24
 
62
- tool_call: typing_extensions.Annotated[typing.Optional[LettaResponseToolCall], FieldMetadata(alias="ToolCall")] = (
63
- None
64
- )
65
- tool_call_delta: typing_extensions.Annotated[
66
- typing.Optional[LettaResponseToolCallDelta], FieldMetadata(alias="ToolCallDelta")
67
- ] = None
68
- tool_call_message: typing_extensions.Annotated[
69
- typing.Optional[LettaResponseToolCallMessage], FieldMetadata(alias="ToolCallMessage")
70
- ] = pydantic.Field(default=None)
25
+ usage: LettaUsageStatistics = pydantic.Field()
71
26
  """
72
- A message representing a request to call a tool (generated by the LLM to trigger tool execution).
73
-
74
- Attributes:
75
- tool_call (Union[ToolCall, ToolCallDelta]): The tool call
76
- id (str): The ID of the message
77
- date (datetime): The date the message was created in ISO format
78
- """
79
-
80
- tool_return_message: typing_extensions.Annotated[
81
- typing.Optional[LettaResponseToolReturnMessage], FieldMetadata(alias="ToolReturnMessage")
82
- ] = pydantic.Field(default=None)
83
- """
84
- A message representing the return value of a tool call (generated by Letta executing the requested tool).
85
-
86
- Attributes:
87
- tool_return (str): The return value of the tool
88
- status (Literal["success", "error"]): The status of the tool call
89
- id (str): The ID of the message
90
- date (datetime): The date the message was created in ISO format
91
- tool_call_id (str): A unique identifier for the tool call that generated this message
92
- stdout (Optional[List(str)]): Captured stdout (e.g. prints, logs) from the tool invocation
93
- stderr (Optional[List(str)]): Captured stderr from the tool invocation
94
- """
95
-
96
- usage_message: typing_extensions.Annotated[
97
- typing.Optional[LettaResponseUsageMessage], FieldMetadata(alias="UsageMessage")
98
- ] = pydantic.Field(default=None)
99
- """
100
- A message representint the usage statistics for the agent interaction.
101
-
102
- Attributes:
103
- usage (LettaUsageStatistics): Usage statistics for the agent interaction.
104
- """
105
-
106
- user_message: typing_extensions.Annotated[
107
- typing.Optional[LettaResponseUserMessage], FieldMetadata(alias="UserMessage")
108
- ] = pydantic.Field(default=None)
109
- """
110
- A message sent by the user. Never streamed back on a response, only used for cursor pagination.
111
-
112
- Attributes:
113
- message (str): The message sent by the user
114
- id (str): The ID of the message
115
- date (datetime): The date the message was created in ISO format
27
+ The usage statistics of the agent.
116
28
  """
117
29
 
118
30
  if IS_PYDANTIC_V2:
@@ -17,6 +17,7 @@ class LettaUsageStatistics(UniversalBaseModel):
17
17
  step_count (int): The number of steps taken by the agent.
18
18
  """
19
19
 
20
+ message_type: typing.Optional[typing.Literal["usage_statistics"]] = None
20
21
  completion_tokens: typing.Optional[int] = pydantic.Field(default=None)
21
22
  """
22
23
  The number of tokens generated by the agent.
letta/types/llm_config.py CHANGED
@@ -50,6 +50,11 @@ class LlmConfig(UniversalBaseModel):
50
50
  Puts 'inner_thoughts' as a kwarg in the function call if this is set to True. This helps with function calling performance and also the generation of inner thoughts.
51
51
  """
52
52
 
53
+ handle: typing.Optional[str] = pydantic.Field(default=None)
54
+ """
55
+ The handle for this config, in the format provider/model-name.
56
+ """
57
+
53
58
  if IS_PYDANTIC_V2:
54
59
  model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
55
60
  else:
@@ -1,14 +1,13 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
3
  from ..core.pydantic_utilities import UniversalBaseModel
4
- from .not_found_error_body_message import NotFoundErrorBodyMessage
5
- from ..core.pydantic_utilities import IS_PYDANTIC_V2
6
4
  import typing
5
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
7
6
  import pydantic
8
7
 
9
8
 
10
9
  class NotFoundErrorBody(UniversalBaseModel):
11
- message: NotFoundErrorBodyMessage
10
+ message: typing.Literal["Agent not found"] = "Agent not found"
12
11
 
13
12
  if IS_PYDANTIC_V2:
14
13
  model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: letta-client
3
- Version: 0.1.2
3
+ Version: 0.1.4
4
4
  Summary:
5
5
  Requires-Python: >=3.8,<4.0
6
6
  Classifier: Intended Audience :: Developers
@@ -1,8 +1,8 @@
1
- letta/__init__.py,sha256=63TqVCq01i3bJG8Igb4oMgG5qI4T_EV3jU1aHhIqBuM,7980
2
- letta/agents/__init__.py,sha256=vSxT3hKDFFddAdGQJvwQaqLe2X-sFwskLUhgoCvjnq4,789
1
+ letta/__init__.py,sha256=DZTQcXu5Lt673oIhEKXBTGLB6Ivvb9OwnLtVsjRdga0,7774
2
+ letta/agents/__init__.py,sha256=0U-cSD6b_LY0z-an5JowMyhfNnXkSxQwijsQYHlZZ0E,1735
3
3
  letta/agents/archival_memory/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
4
4
  letta/agents/archival_memory/client.py,sha256=CsqziY9xSs4u9zXGsvCnp2gzf_OL-vtfzQZrzYOX7Fo,18797
5
- letta/agents/client.py,sha256=7HkwJ5VAmbUgsqywep303uDwc7nJW2mf7DGyINt4t7M,75684
5
+ letta/agents/client.py,sha256=-w9V9cyc0XobxH250HwZKbdj5pe_ufEPOeud6ABEvPM,89564
6
6
  letta/agents/context/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
7
7
  letta/agents/context/client.py,sha256=qcqechypp6hJx7aPoubsfmaV7ZF8_i9o1ww0147iWTQ,4755
8
8
  letta/agents/memory/__init__.py,sha256=wdNGGk2ylmOrNfsIGTiSbNJfFvEcRUuTNy-PmsiAzkk,112
@@ -23,17 +23,25 @@ letta/agents/sources/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa
23
23
  letta/agents/sources/client.py,sha256=h6kl5g9BOU47N3Q3SH0JdZdaqUL0UNBPyjtEoy90Jec,4693
24
24
  letta/agents/tools/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
25
25
  letta/agents/tools/client.py,sha256=kyWOuydUAJmhSczLZbut7SxdFAhdLfgJZuAvkN7g3Zs,12782
26
- letta/agents/types/__init__.py,sha256=lYQ4RwyiZnUj4sx7rPg1XXap9um-285F3hB8jfrytOk,495
27
- letta/agents/types/agents_create_version_response.py,sha256=ZFc_xqbTaX7daPOHr16n8XIU6A-Wd8xt_8hShDCyxg4,751
26
+ letta/agents/types/__init__.py,sha256=7GanilB-3i0yKJ3WcsTdNFkYUb7cwVjl5ZR7OBSjkOY,2032
27
+ letta/agents/types/agents_get_agent_variables_response.py,sha256=1Yda8P45XECyQOIrmm1n3-tvv-4aSsEV6F5ZtNefLJM,599
28
28
  letta/agents/types/agents_migrate_response.py,sha256=7c3FRBCUwxqB5yj9eYIh4GA4nBs-J3ccus-o0WLu71U,570
29
+ letta/agents/types/agents_search_deployed_agents_request_combinator.py,sha256=SQCYb6uH3FJF2eFWd4bZBbAiTlLwsAnOsnUkyKXcYfQ,180
30
+ letta/agents/types/agents_search_deployed_agents_request_search_item.py,sha256=6qrFyIQ69UW1IFIRgjxXHLJ0WQYx-Vwy8HtRy9II7iU,694
31
+ letta/agents/types/agents_search_deployed_agents_request_search_item_direction.py,sha256=-o7tFzOGeOwJrFe2w0lT7m5mPEgCfgoj9xQQDaA3Mhc,1080
32
+ letta/agents/types/agents_search_deployed_agents_request_search_item_direction_direction.py,sha256=-iH8kfo7SGFrHlnwwEbBZb32ZniKQh1ibCuOAi-x-4k,200
33
+ letta/agents/types/agents_search_deployed_agents_request_search_item_direction_value.py,sha256=0d36TLtCECwaFkz0wE86Xe0YfI4NT1ava_Ae30GS01A,215
34
+ letta/agents/types/agents_search_deployed_agents_request_search_item_operator.py,sha256=H9q76zCWNh6s05WnDr_3YzPyDRfVVlpGu6Sw7vt1N_c,864
35
+ letta/agents/types/agents_search_deployed_agents_request_search_item_operator_operator.py,sha256=pnupn_zPJEjTvGHtNGQ5VhsrHwm1cdUWzI9gOHcPlyY,214
36
+ letta/agents/types/agents_search_deployed_agents_request_search_item_zero.py,sha256=ITNfVHpBcOE3liV9ZzT5HMeqP7qdXgtJAmjozJJ3psI,642
29
37
  letta/agents/types/create_agent_request_tool_rules_item.py,sha256=xSYFbxIAA6k-pZfVsCaTByE8nXRIqyKnfOm_IEjKfEM,415
30
38
  letta/agents/types/update_agent_tool_rules_item.py,sha256=5pYbFgeqxmXUHUTZpEWlZ7ODc1G6CpFGWljz_iBpWVA,408
31
39
  letta/blocks/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
32
40
  letta/blocks/client.py,sha256=SuRoJKkDSpL0Gg6jCzuMagwSUTLFKZQBq9j1BXwP5Y8,32367
33
- letta/client.py,sha256=HyLH1Hl6WzDOs2uiQR6-1q9ir5mRL-0gim7BoYqrnWA,6793
41
+ letta/client.py,sha256=3PhYFtmBjhyNgcYRpNI6SDl-AcF7_itAHnYk5R9Uv-M,6789
34
42
  letta/core/__init__.py,sha256=SQ85PF84B9MuKnBwHNHWemSGuy-g_515gFYNFhvEE0I,1438
35
43
  letta/core/api_error.py,sha256=RE8LELok2QCjABadECTvtDp7qejA1VmINCh6TbqPwSE,426
36
- letta/core/client_wrapper.py,sha256=EgD4UFKzTMPUvJdKhgvDQXTLWgyK82xomAMhck0r0GE,2213
44
+ letta/core/client_wrapper.py,sha256=vUYT8XQeWZ1eMHkfAbwte2XIfINR1H-5Fym08heD62M,2213
37
45
  letta/core/datetime_utils.py,sha256=nBys2IsYrhPdszxGKCNRPSOCwa-5DWOHG95FB8G9PKo,1047
38
46
  letta/core/file.py,sha256=d4NNbX8XvXP32z8KpK2Xovv33nFfruIrpz0QWxlgpZk,2663
39
47
  letta/core/http_client.py,sha256=siUQ6UV0ARZALlxubqWSSAAPC9B4VW8y6MGlHStfaeo,19552
@@ -43,7 +51,7 @@ letta/core/query_encoder.py,sha256=ekulqNd0j8TgD7ox-Qbz7liqX8-KP9blvT9DsRCenYM,2
43
51
  letta/core/remove_none_from_dict.py,sha256=EU9SGgYidWq7SexuJbNs4-PZ-5Bl3Vppd864mS6vQZw,342
44
52
  letta/core/request_options.py,sha256=h0QUNCFVdCW_7GclVySCAY2w4NhtXVBUCmHgmzaxpcg,1681
45
53
  letta/core/serialization.py,sha256=D9h_t-RQON3-CHWs1C4ESY9B-Yd5d-l5lnTLb_X896g,9601
46
- letta/environment.py,sha256=opz-fB_AI3JOfZqKRt2kOJXm_1Hkl70vPpUlhAhpCf0,199
54
+ letta/environment.py,sha256=7ou6ZwDZLBOdYQrHv-1lUk5a1q-HgEwzGlFITiRZ0XU,198
47
55
  letta/errors/__init__.py,sha256=wqo3GnyT9iRy7zuPMs6TXOg9GMNfDp4fxq7M8lFFgK8,367
48
56
  letta/errors/conflict_error.py,sha256=INHRMcX6i0ywcbZfw-vn3aBoVi06bDjev3p_O8U8IA4,296
49
57
  letta/errors/internal_server_error.py,sha256=8USCagXyJJ1MOm9snpcXIUt6eNXvrd_aq7Gfcu1vlOI,268
@@ -64,7 +72,7 @@ letta/sources/passages/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAK
64
72
  letta/sources/passages/client.py,sha256=BdemStVj4SAhVi5ZLGt7UB793OBFIQVTN7iuTpbe2oQ,4741
65
73
  letta/tools/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
66
74
  letta/tools/client.py,sha256=7zqMFjg4WTd5fXHq6-uG5Bs0EvlqgQ6uEBGSqArSdYE,58410
67
- letta/types/__init__.py,sha256=AHc7RVv4_GCH8Td1wmBlZ8JlI3DpuDe7AA52h_fq2hU,11229
75
+ letta/types/__init__.py,sha256=qbQEEFt8eyEP5MM8-kcPlIR30IqNUTh1gX6Fj2IhHPY,9405
68
76
  letta/types/action_model.py,sha256=wpRKr5lwx--x1IULnWMX4-JEgeiLy1Rfgxcihz-z3UI,1204
69
77
  letta/types/action_parameters_model.py,sha256=Attvw_SX5x8xJ8XJOib2ASpOX1ayCUqGxfyi6svTPHw,747
70
78
  letta/types/action_response_model.py,sha256=jmtD85NYG5Jkf4ioLyYtHvdLFb92905Nq9mIPUa0yEQ,743
@@ -100,7 +108,7 @@ letta/types/create_block.py,sha256=zfXSQGAiGNCjGbyPCH3a1N7MHvuPwRC-brMfIrPWwzc,1
100
108
  letta/types/delete_assistant_file_response.py,sha256=UN6ZQKycuvieoMllotukxnylz9by6hZZvx16IV8L9XQ,770
101
109
  letta/types/delete_assistant_response.py,sha256=7i_LE58bsikpMY73DVINZVE7QIhZAvK4U4-SEe6frWw,768
102
110
  letta/types/e_2_b_sandbox_config.py,sha256=uCzy5EJvno0oJGNlY-cajdLHMZ1lxh6J8lp4s_CyqLg,955
103
- letta/types/embedding_config.py,sha256=RCir0_bUBlMt4CY2AUn-lvi8bqm2_PLSjWOeyBovpyQ,2357
111
+ letta/types/embedding_config.py,sha256=L7RgZOS4ND53_tMZNWcVS-i8udSN5kjjvY8DDWnJ-Wk,2505
104
112
  letta/types/embedding_config_embedding_endpoint_type.py,sha256=Iw8W4h9bEYdTYYaU4__JUPKqS-zO9WpzIQKtihvJH8U,515
105
113
  letta/types/file_metadata.py,sha256=IhvFUGtZ1OB5aaFThe69iju844C31HaozRiKSLkiQeM,2137
106
114
  letta/types/function_call_input.py,sha256=iAQxp6wN59iB0LiNYDVBoMZXjBb6BnRgwcqWbHHYcg0,560
@@ -109,26 +117,11 @@ letta/types/function_schema.py,sha256=f4qsSzD1gd8jaxxr6lkwA9JpDFsh0gepU-jryQct2y
109
117
  letta/types/health.py,sha256=JfUiE0dlUsBJzB_ivqbpLt-8pwhGIzigME-uRD0Z74U,616
110
118
  letta/types/http_validation_error.py,sha256=w43naaw4VmntOBb3UC6zqGv6hnvUaMitJMFRK4i8vLc,659
111
119
  letta/types/init_tool_rule.py,sha256=IDSFYgNeIPP55KT6cIBkYSSzi0HNxoi4d2fgR6MclN8,835
112
- letta/types/internal_server_error_body.py,sha256=lin_dwKrW7kIRi6QR7evu9lLeU3aIEmMrtNGEImfe1c,621
120
+ letta/types/internal_server_error_body.py,sha256=i4vsXy_WRq2vmh76HB4IUQsyMeWmbNBxAQlW6iASNaE,651
113
121
  letta/types/job.py,sha256=oE4L-fWN6RNkuaePWzEKBd2SNY5232yGcn_vcKhD40E,2451
114
122
  letta/types/job_status.py,sha256=0Gu5Tku79SDVzCxnjVXQyDPNCizGWUP1ppohAck6a2U,189
115
123
  letta/types/letta_request.py,sha256=ups_NcjFZe7E6WPU9CSnl5ncDQDKS-CqsQ9FjzvLJVU,1020
116
- letta/types/letta_response.py,sha256=cTxEISkCgSXnfkyiVuYSIIa3GmuvGkiORMMzj745vIo,5396
117
- letta/types/letta_response_assistant_message.py,sha256=BjWIT2hluKG2vQQNyj0FUoR9FlA7Vps4JVzj1YtcBxM,719
118
- letta/types/letta_response_letta_usage_statistics.py,sha256=dpnNRVk7m8fXzmnq4VcXRapOkHUk9jzVNXdj7_w4MWE,1455
119
- letta/types/letta_response_reasoning_message.py,sha256=SN0N2S9tke4XqYNj26V_mDtnoQOfZjZfFFglcYkMQV8,959
120
- letta/types/letta_response_system_message.py,sha256=KnnX-ByODaNqzmTxN213QJxStP4h-lXddTWvXx60n3Q,998
121
- letta/types/letta_response_tool_call.py,sha256=dz_kvqeTc_oD9-jgKLXhDlc9PqToX59TPP7P8PlG_9M,605
122
- letta/types/letta_response_tool_call_delta.py,sha256=OY_cC8fttxSQMVCkrSTiaLgSDUavZqImx55Pfui6qyw,682
123
- letta/types/letta_response_tool_call_message.py,sha256=Fko5hwnxAyd6ULwJ-GiQoiNcSi4Z3FwuOodFASUIim0,1138
124
- letta/types/letta_response_tool_call_message_tool_call.py,sha256=-P-YI25YkKVNCwvu6cLMz1CHEpsYoal-frAgHkPUVhM,423
125
- letta/types/letta_response_tool_call_message_tool_call_one.py,sha256=lwf0iFCR9WBsteroEEvNvpQMZmvWh9PVbNK4sB3M31Q,695
126
- letta/types/letta_response_tool_call_message_tool_call_zero.py,sha256=fpqo5Jr25we5LyPwMhPsAlVe7TGFhzgL90Mfvww2Txg,624
127
- letta/types/letta_response_tool_return_message.py,sha256=GBXOr7egjj9kCsYLa0a3o9xSyfLkBKtHzR46PBl34RE,1615
128
- letta/types/letta_response_tool_return_message_status.py,sha256=Roz5I8v2RGTHYPqKUhEvDZzYWVITZBXbkKbpve6be8o,180
129
- letta/types/letta_response_usage_message.py,sha256=BDji3y0pv26-aHWfx7b_BEmRVlmBz_I8D_7Ozb9FTiI,1368
130
- letta/types/letta_response_usage_message_usage.py,sha256=VuW-gTm3dchIFJcSKRLGlkDwbESpVUyv7SghQzEP2ww,1452
131
- letta/types/letta_response_user_message.py,sha256=AmndVoaMmDxsDcMEfwQ7tvXXGoV-5U2UqeZbNM61IkA,985
124
+ letta/types/letta_response.py,sha256=Hm48tIefiLZ3CuNvmZ-Q3-0e9H5OSsoQmLCYvgOGpkQ,1264
132
125
  letta/types/letta_schemas_letta_message_tool_call.py,sha256=EU5fLZnSJfD0UcpCvNANoC9IC2PFe0TxV3X1Olep60I,616
133
126
  letta/types/letta_schemas_message_message.py,sha256=nulBiONzy6hgAS8V2u4ksdpwX_MlQiGcqEJTCJxvGQ8,3092
134
127
  letta/types/letta_schemas_openai_chat_completion_request_tool.py,sha256=BgV4h_mrqB2LEevFg3MTMpZyh70wJmMryLqcObqKqj8,706
@@ -140,8 +133,8 @@ letta/types/letta_schemas_openai_chat_completions_tool_call_function.py,sha256=W
140
133
  letta/types/letta_schemas_openai_chat_completions_tool_call_input.py,sha256=QoP1zY0h-VbyHsgHVQmBmv87byZZ3c8Av9q9D8Lpo3U,952
141
134
  letta/types/letta_schemas_openai_chat_completions_tool_call_output.py,sha256=10AzIa3b2u_C4x3JYPjlqvvUiwIUilpMyaPnPi2L8AU,868
142
135
  letta/types/letta_schemas_tool_tool.py,sha256=nwTDwLqZ1C2CfyyNeYDS73qar6TChi-5FAQjMoNce_w,2428
143
- letta/types/letta_usage_statistics.py,sha256=BI4lUzO6YIr0gChu5ysW0FzqqWW179m0xiuwbYzsMp0,1442
144
- letta/types/llm_config.py,sha256=WnkLctI8y-ESTnxy1KPfTLooMUHFu73Hsdjx4isg2vs,2272
136
+ letta/types/letta_usage_statistics.py,sha256=4g0IO58t2it-ZpuczoJ-iT_FY2-CZ6Fr2HYSTgXENAc,1519
137
+ letta/types/llm_config.py,sha256=etVkrCTWkoFefY5TXKUswNiO8Kt8T_gdAJD0T0L3_j8,2420
145
138
  letta/types/llm_config_model_endpoint_type.py,sha256=rnDv3wDnngPT10CFw24C6kHo4swuLHxv46aLI9Hoosg,505
146
139
  letta/types/local_sandbox_config.py,sha256=Tm3t50Dy_Z6tyRd7ZyFYmRFxUAtSjFAwouig_ulKGPA,1042
147
140
  letta/types/log_prob_token.py,sha256=9vFvxXeV7atr9_J_hGTcKfBXglIcn0XTbamzRVS4a1w,627
@@ -150,7 +143,7 @@ letta/types/message_content_log_prob.py,sha256=a3ZGlb1FGPAf-qTs_Ec1fzrASZSUrUcaP
150
143
  letta/types/message_create.py,sha256=dbmYNRp-R1Ih4kik1NdVaCI5IEaps_MWTtMjhX7ra3Y,929
151
144
  letta/types/message_create_role.py,sha256=atjQEZ8iT4gTAmrFTFnRaM66f0MGsgfGq6hpx1Q-i44,159
152
145
  letta/types/message_role.py,sha256=HKatrA1jt02oTObExloTY3rW8Urzn37kBTg0Z6MbwkQ,186
153
- letta/types/not_found_error_body.py,sha256=YvVmUM4elVMKr04oKUpw_MCBS71rUlIE8EpxTWz48qQ,651
146
+ letta/types/not_found_error_body.py,sha256=64k_hvsBsOnZOsj6e3JyYSKVQb8cXiArerjt946jnfk,613
154
147
  letta/types/not_found_error_body_message.py,sha256=Kc9xrVghgDATdPAGpTPnzyKe6ds5q8Vr6zcBU5lLcH4,309
155
148
  letta/types/open_ai_assistant.py,sha256=BJ7WWFxZvAGZm8BSp00pI4ABNxr6P6t2AeG7WAfUvRM,1708
156
149
  letta/types/organization.py,sha256=qgsZr2LQk-j6VWhMC-PKjEz3goRh9VG34BgJ3tV-ix8,925
@@ -183,7 +176,6 @@ letta/types/tool_message.py,sha256=zJTOLSH97oncrGPbqvI1RXI85HLT-cSJJuXrtO2vk9k,6
183
176
  letta/types/tool_return_message.py,sha256=axAhNN7CHC2g4hPQtlXFd26Er3da2MU_LybHaKfrXVA,1561
184
177
  letta/types/tool_return_message_status.py,sha256=FvFOMaG9mnmgnHi2UBQVQQMtHFabbWnQnHTxGUDgVl0,167
185
178
  letta/types/tool_rule_type.py,sha256=W6lVaYVYzSzhFHgqitmw6XLtxgxBhINgHZJfSnxg6ts,265
186
- letta/types/usage_message.py,sha256=x-O2o4293D23_rbLhd7Wck7JUHbbrPb3DTVXsJ115N8,947
187
179
  letta/types/usage_statistics.py,sha256=EchBQ4u6l_5aFRfjWlTLVQ7DozwjhnOR3ePcllZSkPI,688
188
180
  letta/types/user.py,sha256=PYqneg-Xh5iGUPShFQYXscjWxlGijoya8bGz7iONEcE,1461
189
181
  letta/types/user_create.py,sha256=JHCSRbf4-N9fvHZJGaxmTEcuKtMuEPJcm9OAYG23Zdg,712
@@ -194,6 +186,6 @@ letta/types/user_update.py,sha256=L5GRkGf23DNrcEYkceOSNf7EL47DORxUN36c72-ZKr0,86
194
186
  letta/types/validation_error.py,sha256=qazGitGiLpbV14KUiLB7rKuc_yKWhlpC5Sap98tKYKg,678
195
187
  letta/types/validation_error_loc_item.py,sha256=LAtjCHIllWRBFXvAZ5QZpp7CPXjdtN9EB7HrLVo6EP0,128
196
188
  letta/version.py,sha256=bttKLbIhO3UonCYQlqs600zzbQgfhCCMjeXR9WRzid4,79
197
- letta_client-0.1.2.dist-info/METADATA,sha256=QhkO3crnOkh5BDyYg-kg1oEbzh7nCUyWgmCZlQn1gRc,4886
198
- letta_client-0.1.2.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
199
- letta_client-0.1.2.dist-info/RECORD,,
189
+ letta_client-0.1.4.dist-info/METADATA,sha256=Xpgg2tsd-vo7v1sJ4np_V9eVbTf7lA9EgnXPpfzfEUs,4886
190
+ letta_client-0.1.4.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
191
+ letta_client-0.1.4.dist-info/RECORD,,