letta-client 0.1.0__py3-none-any.whl → 0.1.2__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.
- letta/__init__.py +293 -0
- letta/agents/__init__.py +28 -0
- letta/agents/archival_memory/__init__.py +2 -0
- letta/agents/archival_memory/client.py +591 -0
- letta/agents/client.py +2166 -0
- letta/agents/context/__init__.py +2 -0
- letta/agents/context/client.py +145 -0
- letta/agents/memory/__init__.py +5 -0
- letta/agents/memory/client.py +149 -0
- letta/agents/memory/messages/__init__.py +2 -0
- letta/agents/memory/messages/client.py +147 -0
- letta/agents/memory_blocks/__init__.py +2 -0
- letta/agents/memory_blocks/client.py +364 -0
- letta/agents/messages/__init__.py +5 -0
- letta/agents/messages/client.py +787 -0
- letta/agents/messages/types/__init__.py +7 -0
- letta/agents/messages/types/letta_streaming_response.py +20 -0
- letta/agents/messages/types/messages_list_response.py +7 -0
- letta/agents/messages/types/messages_list_response_item.py +13 -0
- letta/agents/recall_memory/__init__.py +2 -0
- letta/agents/recall_memory/client.py +147 -0
- letta/agents/sources/__init__.py +2 -0
- letta/agents/sources/client.py +145 -0
- letta/agents/tools/__init__.py +2 -0
- letta/agents/tools/client.py +408 -0
- letta/agents/types/__init__.py +13 -0
- letta/agents/types/agents_create_version_response.py +22 -0
- letta/agents/types/agents_migrate_response.py +19 -0
- letta/agents/types/create_agent_request_tool_rules_item.py +9 -0
- letta/agents/types/update_agent_tool_rules_item.py +9 -0
- letta/blocks/__init__.py +2 -0
- letta/blocks/client.py +1054 -0
- letta/client.py +164 -0
- letta/core/__init__.py +47 -0
- letta/core/api_error.py +15 -0
- letta/core/client_wrapper.py +76 -0
- letta/core/datetime_utils.py +28 -0
- letta/core/file.py +67 -0
- letta/core/http_client.py +499 -0
- letta/core/jsonable_encoder.py +101 -0
- letta/core/pydantic_utilities.py +296 -0
- letta/core/query_encoder.py +58 -0
- letta/core/remove_none_from_dict.py +11 -0
- letta/core/request_options.py +35 -0
- letta/core/serialization.py +272 -0
- letta/environment.py +8 -0
- letta/errors/__init__.py +8 -0
- letta/errors/conflict_error.py +9 -0
- letta/errors/internal_server_error.py +9 -0
- letta/errors/not_found_error.py +9 -0
- letta/errors/unprocessable_entity_error.py +9 -0
- letta/health/__init__.py +2 -0
- letta/health/client.py +108 -0
- letta/jobs/__init__.py +2 -0
- letta/jobs/client.py +503 -0
- letta/models/__init__.py +2 -0
- letta/models/client.py +201 -0
- letta/sources/__init__.py +5 -0
- letta/sources/client.py +1154 -0
- letta/sources/files/__init__.py +2 -0
- letta/sources/files/client.py +436 -0
- letta/sources/passages/__init__.py +2 -0
- letta/sources/passages/client.py +145 -0
- letta/tools/__init__.py +2 -0
- letta/tools/client.py +1823 -0
- letta/types/__init__.py +263 -0
- letta/types/action_model.py +36 -0
- letta/types/action_parameters_model.py +26 -0
- letta/types/action_response_model.py +26 -0
- letta/types/agent_state.py +139 -0
- letta/types/agent_state_tool_rules_item.py +9 -0
- letta/types/agent_type.py +8 -0
- letta/types/app_auth_scheme.py +34 -0
- letta/types/app_auth_scheme_auth_mode.py +7 -0
- letta/types/app_model.py +44 -0
- letta/types/archival_memory_summary.py +22 -0
- letta/types/assistant_file.py +33 -0
- letta/types/assistant_message_input.py +23 -0
- letta/types/assistant_message_output.py +23 -0
- letta/types/auth_request.py +22 -0
- letta/types/auth_response.py +29 -0
- letta/types/auth_scheme_field.py +30 -0
- letta/types/block.py +91 -0
- letta/types/block_update.py +60 -0
- letta/types/chat_completion_request.py +49 -0
- letta/types/chat_completion_request_function_call.py +6 -0
- letta/types/chat_completion_request_messages_item.py +11 -0
- letta/types/chat_completion_request_stop.py +5 -0
- letta/types/chat_completion_request_tool_choice.py +8 -0
- letta/types/chat_completion_response.py +32 -0
- letta/types/child_tool_rule.py +33 -0
- letta/types/choice.py +25 -0
- letta/types/conditional_tool_rule.py +43 -0
- letta/types/conflict_error_body.py +21 -0
- letta/types/context_window_overview.py +105 -0
- letta/types/create_assistant_file_request.py +22 -0
- letta/types/create_assistant_request.py +57 -0
- letta/types/create_block.py +56 -0
- letta/types/delete_assistant_file_response.py +28 -0
- letta/types/delete_assistant_response.py +28 -0
- letta/types/e_2_b_sandbox_config.py +32 -0
- letta/types/embedding_config.py +72 -0
- letta/types/embedding_config_embedding_endpoint_type.py +26 -0
- letta/types/file_metadata.py +82 -0
- letta/types/function_call_input.py +19 -0
- letta/types/function_call_output.py +20 -0
- letta/types/function_schema.py +21 -0
- letta/types/health.py +24 -0
- letta/types/http_validation_error.py +20 -0
- letta/types/init_tool_rule.py +29 -0
- letta/types/internal_server_error_body.py +19 -0
- letta/types/job.py +79 -0
- letta/types/job_status.py +5 -0
- letta/types/letta_request.py +33 -0
- letta/types/letta_response.py +125 -0
- letta/types/letta_response_assistant_message.py +23 -0
- letta/types/letta_response_letta_usage_statistics.py +47 -0
- letta/types/letta_response_reasoning_message.py +32 -0
- letta/types/letta_response_system_message.py +32 -0
- letta/types/letta_response_tool_call.py +21 -0
- letta/types/letta_response_tool_call_delta.py +21 -0
- letta/types/letta_response_tool_call_message.py +33 -0
- letta/types/letta_response_tool_call_message_tool_call.py +9 -0
- letta/types/letta_response_tool_call_message_tool_call_one.py +21 -0
- letta/types/letta_response_tool_call_message_tool_call_zero.py +21 -0
- letta/types/letta_response_tool_return_message.py +41 -0
- letta/types/letta_response_tool_return_message_status.py +5 -0
- letta/types/letta_response_usage_message.py +40 -0
- letta/types/letta_response_usage_message_usage.py +47 -0
- letta/types/letta_response_user_message.py +32 -0
- letta/types/letta_schemas_letta_message_tool_call.py +21 -0
- letta/types/letta_schemas_message_message.py +103 -0
- letta/types/letta_schemas_openai_chat_completion_request_tool.py +21 -0
- letta/types/letta_schemas_openai_chat_completion_request_tool_call.py +24 -0
- letta/types/letta_schemas_openai_chat_completion_request_tool_call_function.py +20 -0
- letta/types/letta_schemas_openai_chat_completion_response_message.py +24 -0
- letta/types/letta_schemas_openai_chat_completion_response_tool_call.py +22 -0
- letta/types/letta_schemas_openai_chat_completions_tool_call_function.py +27 -0
- letta/types/letta_schemas_openai_chat_completions_tool_call_input.py +29 -0
- letta/types/letta_schemas_openai_chat_completions_tool_call_output.py +29 -0
- letta/types/letta_schemas_tool_tool.py +88 -0
- letta/types/letta_usage_statistics.py +47 -0
- letta/types/llm_config.py +60 -0
- letta/types/llm_config_model_endpoint_type.py +26 -0
- letta/types/local_sandbox_config.py +32 -0
- letta/types/log_prob_token.py +21 -0
- letta/types/memory.py +32 -0
- letta/types/message_content_log_prob.py +23 -0
- letta/types/message_create.py +37 -0
- letta/types/message_create_role.py +5 -0
- letta/types/message_role.py +5 -0
- letta/types/not_found_error_body.py +20 -0
- letta/types/not_found_error_body_message.py +11 -0
- letta/types/open_ai_assistant.py +67 -0
- letta/types/organization.py +33 -0
- letta/types/organization_create.py +22 -0
- letta/types/passage.py +107 -0
- letta/types/reasoning_message.py +32 -0
- letta/types/recall_memory_summary.py +22 -0
- letta/types/response_format.py +19 -0
- letta/types/sandbox_config.py +59 -0
- letta/types/sandbox_config_create.py +23 -0
- letta/types/sandbox_config_create_config.py +7 -0
- letta/types/sandbox_config_update.py +27 -0
- letta/types/sandbox_config_update_config.py +7 -0
- letta/types/sandbox_environment_variable.py +68 -0
- letta/types/sandbox_environment_variable_create.py +32 -0
- letta/types/sandbox_environment_variable_update.py +36 -0
- letta/types/sandbox_type.py +5 -0
- letta/types/source.py +85 -0
- letta/types/system_message_input.py +21 -0
- letta/types/system_message_output.py +32 -0
- letta/types/terminal_tool_rule.py +29 -0
- letta/types/tool_call_delta.py +21 -0
- letta/types/tool_call_function_output.py +27 -0
- letta/types/tool_call_message.py +33 -0
- letta/types/tool_call_message_tool_call.py +7 -0
- letta/types/tool_create.py +57 -0
- letta/types/tool_function_choice.py +21 -0
- letta/types/tool_input.py +21 -0
- letta/types/tool_message.py +21 -0
- letta/types/tool_return_message.py +41 -0
- letta/types/tool_return_message_status.py +5 -0
- letta/types/tool_rule_type.py +10 -0
- letta/types/usage_message.py +31 -0
- letta/types/usage_statistics.py +21 -0
- letta/types/user.py +57 -0
- letta/types/user_create.py +27 -0
- letta/types/user_message_input.py +22 -0
- letta/types/user_message_input_content.py +5 -0
- letta/types/user_message_output.py +32 -0
- letta/types/user_update.py +32 -0
- letta/types/validation_error.py +22 -0
- letta/types/validation_error_loc_item.py +5 -0
- letta/version.py +3 -0
- letta_client-0.1.2.dist-info/METADATA +189 -0
- letta_client-0.1.2.dist-info/RECORD +199 -0
- {letta_client-0.1.0.dist-info → letta_client-0.1.2.dist-info}/WHEEL +1 -1
- letta_client-0.1.0.dist-info/METADATA +0 -15
- letta_client-0.1.0.dist-info/RECORD +0 -4
- /letta_client/__init__.py → /letta/py.typed +0 -0
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
from ..core.pydantic_utilities import UniversalBaseModel
|
|
4
|
+
import typing_extensions
|
|
5
|
+
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
|
+
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
|
|
18
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
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
|
+
"""
|
|
37
|
+
|
|
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
|
+
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
|
|
48
|
+
"""
|
|
49
|
+
|
|
50
|
+
system_message: typing_extensions.Annotated[
|
|
51
|
+
typing.Optional[LettaResponseSystemMessage], FieldMetadata(alias="SystemMessage")
|
|
52
|
+
] = pydantic.Field(default=None)
|
|
53
|
+
"""
|
|
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
|
|
60
|
+
"""
|
|
61
|
+
|
|
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)
|
|
71
|
+
"""
|
|
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
|
|
116
|
+
"""
|
|
117
|
+
|
|
118
|
+
if IS_PYDANTIC_V2:
|
|
119
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
120
|
+
else:
|
|
121
|
+
|
|
122
|
+
class Config:
|
|
123
|
+
frozen = True
|
|
124
|
+
smart_union = True
|
|
125
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
from ..core.pydantic_utilities import UniversalBaseModel
|
|
4
|
+
import datetime as dt
|
|
5
|
+
import typing
|
|
6
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
7
|
+
import pydantic
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class LettaResponseAssistantMessage(UniversalBaseModel):
|
|
11
|
+
id: str
|
|
12
|
+
date: dt.datetime
|
|
13
|
+
message_type: typing.Optional[typing.Literal["assistant_message"]] = None
|
|
14
|
+
assistant_message: str
|
|
15
|
+
|
|
16
|
+
if IS_PYDANTIC_V2:
|
|
17
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
18
|
+
else:
|
|
19
|
+
|
|
20
|
+
class Config:
|
|
21
|
+
frozen = True
|
|
22
|
+
smart_union = True
|
|
23
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
from ..core.pydantic_utilities import UniversalBaseModel
|
|
4
|
+
import typing
|
|
5
|
+
import pydantic
|
|
6
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class LettaResponseLettaUsageStatistics(UniversalBaseModel):
|
|
10
|
+
"""
|
|
11
|
+
Usage statistics for the agent interaction.
|
|
12
|
+
|
|
13
|
+
Attributes:
|
|
14
|
+
completion_tokens (int): The number of tokens generated by the agent.
|
|
15
|
+
prompt_tokens (int): The number of tokens in the prompt.
|
|
16
|
+
total_tokens (int): The total number of tokens processed by the agent.
|
|
17
|
+
step_count (int): The number of steps taken by the agent.
|
|
18
|
+
"""
|
|
19
|
+
|
|
20
|
+
completion_tokens: typing.Optional[int] = pydantic.Field(default=None)
|
|
21
|
+
"""
|
|
22
|
+
The number of tokens generated by the agent.
|
|
23
|
+
"""
|
|
24
|
+
|
|
25
|
+
prompt_tokens: typing.Optional[int] = pydantic.Field(default=None)
|
|
26
|
+
"""
|
|
27
|
+
The number of tokens in the prompt.
|
|
28
|
+
"""
|
|
29
|
+
|
|
30
|
+
total_tokens: typing.Optional[int] = pydantic.Field(default=None)
|
|
31
|
+
"""
|
|
32
|
+
The total number of tokens processed by the agent.
|
|
33
|
+
"""
|
|
34
|
+
|
|
35
|
+
step_count: typing.Optional[int] = pydantic.Field(default=None)
|
|
36
|
+
"""
|
|
37
|
+
The number of steps taken by the agent.
|
|
38
|
+
"""
|
|
39
|
+
|
|
40
|
+
if IS_PYDANTIC_V2:
|
|
41
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
42
|
+
else:
|
|
43
|
+
|
|
44
|
+
class Config:
|
|
45
|
+
frozen = True
|
|
46
|
+
smart_union = True
|
|
47
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
from ..core.pydantic_utilities import UniversalBaseModel
|
|
4
|
+
import datetime as dt
|
|
5
|
+
import typing
|
|
6
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
7
|
+
import pydantic
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class LettaResponseReasoningMessage(UniversalBaseModel):
|
|
11
|
+
"""
|
|
12
|
+
Representation of an agent's internal reasoning.
|
|
13
|
+
|
|
14
|
+
Attributes:
|
|
15
|
+
reasoning (str): The internal reasoning of the agent
|
|
16
|
+
id (str): The ID of the message
|
|
17
|
+
date (datetime): The date the message was created in ISO format
|
|
18
|
+
"""
|
|
19
|
+
|
|
20
|
+
id: str
|
|
21
|
+
date: dt.datetime
|
|
22
|
+
message_type: typing.Optional[typing.Literal["reasoning_message"]] = None
|
|
23
|
+
reasoning: str
|
|
24
|
+
|
|
25
|
+
if IS_PYDANTIC_V2:
|
|
26
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
27
|
+
else:
|
|
28
|
+
|
|
29
|
+
class Config:
|
|
30
|
+
frozen = True
|
|
31
|
+
smart_union = True
|
|
32
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
from ..core.pydantic_utilities import UniversalBaseModel
|
|
4
|
+
import datetime as dt
|
|
5
|
+
import typing
|
|
6
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
7
|
+
import pydantic
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class LettaResponseSystemMessage(UniversalBaseModel):
|
|
11
|
+
"""
|
|
12
|
+
A message generated by the system. Never streamed back on a response, only used for cursor pagination.
|
|
13
|
+
|
|
14
|
+
Attributes:
|
|
15
|
+
message (str): The message sent by the system
|
|
16
|
+
id (str): The ID of the message
|
|
17
|
+
date (datetime): The date the message was created in ISO format
|
|
18
|
+
"""
|
|
19
|
+
|
|
20
|
+
id: str
|
|
21
|
+
date: dt.datetime
|
|
22
|
+
message_type: typing.Optional[typing.Literal["system_message"]] = None
|
|
23
|
+
message: str
|
|
24
|
+
|
|
25
|
+
if IS_PYDANTIC_V2:
|
|
26
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
27
|
+
else:
|
|
28
|
+
|
|
29
|
+
class Config:
|
|
30
|
+
frozen = True
|
|
31
|
+
smart_union = True
|
|
32
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
from ..core.pydantic_utilities import UniversalBaseModel
|
|
4
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
5
|
+
import typing
|
|
6
|
+
import pydantic
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class LettaResponseToolCall(UniversalBaseModel):
|
|
10
|
+
name: str
|
|
11
|
+
arguments: str
|
|
12
|
+
tool_call_id: str
|
|
13
|
+
|
|
14
|
+
if IS_PYDANTIC_V2:
|
|
15
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
16
|
+
else:
|
|
17
|
+
|
|
18
|
+
class Config:
|
|
19
|
+
frozen = True
|
|
20
|
+
smart_union = True
|
|
21
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,21 @@
|
|
|
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 ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
6
|
+
import pydantic
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class LettaResponseToolCallDelta(UniversalBaseModel):
|
|
10
|
+
name: typing.Optional[str] = None
|
|
11
|
+
arguments: typing.Optional[str] = None
|
|
12
|
+
tool_call_id: typing.Optional[str] = None
|
|
13
|
+
|
|
14
|
+
if IS_PYDANTIC_V2:
|
|
15
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
16
|
+
else:
|
|
17
|
+
|
|
18
|
+
class Config:
|
|
19
|
+
frozen = True
|
|
20
|
+
smart_union = True
|
|
21
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
from ..core.pydantic_utilities import UniversalBaseModel
|
|
4
|
+
import datetime as dt
|
|
5
|
+
import typing
|
|
6
|
+
from .letta_response_tool_call_message_tool_call import LettaResponseToolCallMessageToolCall
|
|
7
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
8
|
+
import pydantic
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class LettaResponseToolCallMessage(UniversalBaseModel):
|
|
12
|
+
"""
|
|
13
|
+
A message representing a request to call a tool (generated by the LLM to trigger tool execution).
|
|
14
|
+
|
|
15
|
+
Attributes:
|
|
16
|
+
tool_call (Union[ToolCall, ToolCallDelta]): The tool call
|
|
17
|
+
id (str): The ID of the message
|
|
18
|
+
date (datetime): The date the message was created in ISO format
|
|
19
|
+
"""
|
|
20
|
+
|
|
21
|
+
id: str
|
|
22
|
+
date: dt.datetime
|
|
23
|
+
message_type: typing.Optional[typing.Literal["tool_call_message"]] = None
|
|
24
|
+
tool_call: LettaResponseToolCallMessageToolCall
|
|
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,9 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
from .letta_response_tool_call_message_tool_call_zero import LettaResponseToolCallMessageToolCallZero
|
|
5
|
+
from .letta_response_tool_call_message_tool_call_one import LettaResponseToolCallMessageToolCallOne
|
|
6
|
+
|
|
7
|
+
LettaResponseToolCallMessageToolCall = typing.Union[
|
|
8
|
+
LettaResponseToolCallMessageToolCallZero, LettaResponseToolCallMessageToolCallOne
|
|
9
|
+
]
|
|
@@ -0,0 +1,21 @@
|
|
|
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 ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
6
|
+
import pydantic
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class LettaResponseToolCallMessageToolCallOne(UniversalBaseModel):
|
|
10
|
+
name: typing.Optional[str] = None
|
|
11
|
+
arguments: typing.Optional[str] = None
|
|
12
|
+
tool_call_id: typing.Optional[str] = None
|
|
13
|
+
|
|
14
|
+
if IS_PYDANTIC_V2:
|
|
15
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
16
|
+
else:
|
|
17
|
+
|
|
18
|
+
class Config:
|
|
19
|
+
frozen = True
|
|
20
|
+
smart_union = True
|
|
21
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
from ..core.pydantic_utilities import UniversalBaseModel
|
|
4
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
5
|
+
import typing
|
|
6
|
+
import pydantic
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class LettaResponseToolCallMessageToolCallZero(UniversalBaseModel):
|
|
10
|
+
name: str
|
|
11
|
+
arguments: str
|
|
12
|
+
tool_call_id: str
|
|
13
|
+
|
|
14
|
+
if IS_PYDANTIC_V2:
|
|
15
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
16
|
+
else:
|
|
17
|
+
|
|
18
|
+
class Config:
|
|
19
|
+
frozen = True
|
|
20
|
+
smart_union = True
|
|
21
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
from ..core.pydantic_utilities import UniversalBaseModel
|
|
4
|
+
import datetime as dt
|
|
5
|
+
import typing
|
|
6
|
+
from .letta_response_tool_return_message_status import LettaResponseToolReturnMessageStatus
|
|
7
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
8
|
+
import pydantic
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class LettaResponseToolReturnMessage(UniversalBaseModel):
|
|
12
|
+
"""
|
|
13
|
+
A message representing the return value of a tool call (generated by Letta executing the requested tool).
|
|
14
|
+
|
|
15
|
+
Attributes:
|
|
16
|
+
tool_return (str): The return value of the tool
|
|
17
|
+
status (Literal["success", "error"]): The status of the tool call
|
|
18
|
+
id (str): The ID of the message
|
|
19
|
+
date (datetime): The date the message was created in ISO format
|
|
20
|
+
tool_call_id (str): A unique identifier for the tool call that generated this message
|
|
21
|
+
stdout (Optional[List(str)]): Captured stdout (e.g. prints, logs) from the tool invocation
|
|
22
|
+
stderr (Optional[List(str)]): Captured stderr from the tool invocation
|
|
23
|
+
"""
|
|
24
|
+
|
|
25
|
+
id: str
|
|
26
|
+
date: dt.datetime
|
|
27
|
+
message_type: typing.Optional[typing.Literal["tool_return_message"]] = None
|
|
28
|
+
tool_return: str
|
|
29
|
+
status: LettaResponseToolReturnMessageStatus
|
|
30
|
+
tool_call_id: str
|
|
31
|
+
stdout: typing.Optional[typing.List[str]] = None
|
|
32
|
+
stderr: typing.Optional[typing.List[str]] = None
|
|
33
|
+
|
|
34
|
+
if IS_PYDANTIC_V2:
|
|
35
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
36
|
+
else:
|
|
37
|
+
|
|
38
|
+
class Config:
|
|
39
|
+
frozen = True
|
|
40
|
+
smart_union = True
|
|
41
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
from ..core.pydantic_utilities import UniversalBaseModel
|
|
4
|
+
import datetime as dt
|
|
5
|
+
import typing
|
|
6
|
+
from .letta_response_usage_message_usage import LettaResponseUsageMessageUsage
|
|
7
|
+
import pydantic
|
|
8
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class LettaResponseUsageMessage(UniversalBaseModel):
|
|
12
|
+
"""
|
|
13
|
+
A message representint the usage statistics for the agent interaction.
|
|
14
|
+
|
|
15
|
+
Attributes:
|
|
16
|
+
usage (LettaUsageStatistics): Usage statistics for the agent interaction.
|
|
17
|
+
"""
|
|
18
|
+
|
|
19
|
+
id: str
|
|
20
|
+
date: dt.datetime
|
|
21
|
+
message_type: typing.Optional[typing.Literal["usage_message"]] = None
|
|
22
|
+
usage: LettaResponseUsageMessageUsage = pydantic.Field()
|
|
23
|
+
"""
|
|
24
|
+
Usage statistics for the agent interaction.
|
|
25
|
+
|
|
26
|
+
Attributes:
|
|
27
|
+
completion_tokens (int): The number of tokens generated by the agent.
|
|
28
|
+
prompt_tokens (int): The number of tokens in the prompt.
|
|
29
|
+
total_tokens (int): The total number of tokens processed by the agent.
|
|
30
|
+
step_count (int): The number of steps taken by the agent.
|
|
31
|
+
"""
|
|
32
|
+
|
|
33
|
+
if IS_PYDANTIC_V2:
|
|
34
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
35
|
+
else:
|
|
36
|
+
|
|
37
|
+
class Config:
|
|
38
|
+
frozen = True
|
|
39
|
+
smart_union = True
|
|
40
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
from ..core.pydantic_utilities import UniversalBaseModel
|
|
4
|
+
import typing
|
|
5
|
+
import pydantic
|
|
6
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class LettaResponseUsageMessageUsage(UniversalBaseModel):
|
|
10
|
+
"""
|
|
11
|
+
Usage statistics for the agent interaction.
|
|
12
|
+
|
|
13
|
+
Attributes:
|
|
14
|
+
completion_tokens (int): The number of tokens generated by the agent.
|
|
15
|
+
prompt_tokens (int): The number of tokens in the prompt.
|
|
16
|
+
total_tokens (int): The total number of tokens processed by the agent.
|
|
17
|
+
step_count (int): The number of steps taken by the agent.
|
|
18
|
+
"""
|
|
19
|
+
|
|
20
|
+
completion_tokens: typing.Optional[int] = pydantic.Field(default=None)
|
|
21
|
+
"""
|
|
22
|
+
The number of tokens generated by the agent.
|
|
23
|
+
"""
|
|
24
|
+
|
|
25
|
+
prompt_tokens: typing.Optional[int] = pydantic.Field(default=None)
|
|
26
|
+
"""
|
|
27
|
+
The number of tokens in the prompt.
|
|
28
|
+
"""
|
|
29
|
+
|
|
30
|
+
total_tokens: typing.Optional[int] = pydantic.Field(default=None)
|
|
31
|
+
"""
|
|
32
|
+
The total number of tokens processed by the agent.
|
|
33
|
+
"""
|
|
34
|
+
|
|
35
|
+
step_count: typing.Optional[int] = pydantic.Field(default=None)
|
|
36
|
+
"""
|
|
37
|
+
The number of steps taken by the agent.
|
|
38
|
+
"""
|
|
39
|
+
|
|
40
|
+
if IS_PYDANTIC_V2:
|
|
41
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
42
|
+
else:
|
|
43
|
+
|
|
44
|
+
class Config:
|
|
45
|
+
frozen = True
|
|
46
|
+
smart_union = True
|
|
47
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
from ..core.pydantic_utilities import UniversalBaseModel
|
|
4
|
+
import datetime as dt
|
|
5
|
+
import typing
|
|
6
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
7
|
+
import pydantic
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class LettaResponseUserMessage(UniversalBaseModel):
|
|
11
|
+
"""
|
|
12
|
+
A message sent by the user. Never streamed back on a response, only used for cursor pagination.
|
|
13
|
+
|
|
14
|
+
Attributes:
|
|
15
|
+
message (str): The message sent by the user
|
|
16
|
+
id (str): The ID of the message
|
|
17
|
+
date (datetime): The date the message was created in ISO format
|
|
18
|
+
"""
|
|
19
|
+
|
|
20
|
+
id: str
|
|
21
|
+
date: dt.datetime
|
|
22
|
+
message_type: typing.Optional[typing.Literal["user_message"]] = None
|
|
23
|
+
message: str
|
|
24
|
+
|
|
25
|
+
if IS_PYDANTIC_V2:
|
|
26
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
27
|
+
else:
|
|
28
|
+
|
|
29
|
+
class Config:
|
|
30
|
+
frozen = True
|
|
31
|
+
smart_union = True
|
|
32
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
from ..core.pydantic_utilities import UniversalBaseModel
|
|
4
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
5
|
+
import typing
|
|
6
|
+
import pydantic
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class LettaSchemasLettaMessageToolCall(UniversalBaseModel):
|
|
10
|
+
name: str
|
|
11
|
+
arguments: str
|
|
12
|
+
tool_call_id: str
|
|
13
|
+
|
|
14
|
+
if IS_PYDANTIC_V2:
|
|
15
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
16
|
+
else:
|
|
17
|
+
|
|
18
|
+
class Config:
|
|
19
|
+
frozen = True
|
|
20
|
+
smart_union = True
|
|
21
|
+
extra = pydantic.Extra.allow
|