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,103 @@
|
|
|
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
|
+
import datetime as dt
|
|
7
|
+
from .message_role import MessageRole
|
|
8
|
+
from .letta_schemas_openai_chat_completions_tool_call_output import LettaSchemasOpenaiChatCompletionsToolCallOutput
|
|
9
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class LettaSchemasMessageMessage(UniversalBaseModel):
|
|
13
|
+
"""
|
|
14
|
+
Letta's internal representation of a message. Includes methods to convert to/from LLM provider formats.
|
|
15
|
+
|
|
16
|
+
Attributes:
|
|
17
|
+
id (str): The unique identifier of the message.
|
|
18
|
+
role (MessageRole): The role of the participant.
|
|
19
|
+
text (str): The text of the message.
|
|
20
|
+
user_id (str): The unique identifier of the user.
|
|
21
|
+
agent_id (str): The unique identifier of the agent.
|
|
22
|
+
model (str): The model used to make the function call.
|
|
23
|
+
name (str): The name of the participant.
|
|
24
|
+
created_at (datetime): The time the message was created.
|
|
25
|
+
tool_calls (List[ToolCall]): The list of tool calls requested.
|
|
26
|
+
tool_call_id (str): The id of the tool call.
|
|
27
|
+
"""
|
|
28
|
+
|
|
29
|
+
created_by_id: typing.Optional[str] = pydantic.Field(default=None)
|
|
30
|
+
"""
|
|
31
|
+
The id of the user that made this object.
|
|
32
|
+
"""
|
|
33
|
+
|
|
34
|
+
last_updated_by_id: typing.Optional[str] = pydantic.Field(default=None)
|
|
35
|
+
"""
|
|
36
|
+
The id of the user that made this object.
|
|
37
|
+
"""
|
|
38
|
+
|
|
39
|
+
created_at: typing.Optional[dt.datetime] = pydantic.Field(default=None)
|
|
40
|
+
"""
|
|
41
|
+
The timestamp when the object was created.
|
|
42
|
+
"""
|
|
43
|
+
|
|
44
|
+
updated_at: typing.Optional[dt.datetime] = pydantic.Field(default=None)
|
|
45
|
+
"""
|
|
46
|
+
The timestamp when the object was last updated.
|
|
47
|
+
"""
|
|
48
|
+
|
|
49
|
+
id: typing.Optional[str] = pydantic.Field(default=None)
|
|
50
|
+
"""
|
|
51
|
+
The human-friendly ID of the Message
|
|
52
|
+
"""
|
|
53
|
+
|
|
54
|
+
role: MessageRole = pydantic.Field()
|
|
55
|
+
"""
|
|
56
|
+
The role of the participant.
|
|
57
|
+
"""
|
|
58
|
+
|
|
59
|
+
text: typing.Optional[str] = pydantic.Field(default=None)
|
|
60
|
+
"""
|
|
61
|
+
The text of the message.
|
|
62
|
+
"""
|
|
63
|
+
|
|
64
|
+
organization_id: typing.Optional[str] = pydantic.Field(default=None)
|
|
65
|
+
"""
|
|
66
|
+
The unique identifier of the organization.
|
|
67
|
+
"""
|
|
68
|
+
|
|
69
|
+
agent_id: typing.Optional[str] = pydantic.Field(default=None)
|
|
70
|
+
"""
|
|
71
|
+
The unique identifier of the agent.
|
|
72
|
+
"""
|
|
73
|
+
|
|
74
|
+
model: typing.Optional[str] = pydantic.Field(default=None)
|
|
75
|
+
"""
|
|
76
|
+
The model used to make the function call.
|
|
77
|
+
"""
|
|
78
|
+
|
|
79
|
+
name: typing.Optional[str] = pydantic.Field(default=None)
|
|
80
|
+
"""
|
|
81
|
+
The name of the participant.
|
|
82
|
+
"""
|
|
83
|
+
|
|
84
|
+
tool_calls: typing.Optional[typing.List[LettaSchemasOpenaiChatCompletionsToolCallOutput]] = pydantic.Field(
|
|
85
|
+
default=None
|
|
86
|
+
)
|
|
87
|
+
"""
|
|
88
|
+
The list of tool calls requested.
|
|
89
|
+
"""
|
|
90
|
+
|
|
91
|
+
tool_call_id: typing.Optional[str] = pydantic.Field(default=None)
|
|
92
|
+
"""
|
|
93
|
+
The id of the tool call.
|
|
94
|
+
"""
|
|
95
|
+
|
|
96
|
+
if IS_PYDANTIC_V2:
|
|
97
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
98
|
+
else:
|
|
99
|
+
|
|
100
|
+
class Config:
|
|
101
|
+
frozen = True
|
|
102
|
+
smart_union = True
|
|
103
|
+
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 .function_schema import FunctionSchema
|
|
6
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
7
|
+
import pydantic
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class LettaSchemasOpenaiChatCompletionRequestTool(UniversalBaseModel):
|
|
11
|
+
type: typing.Optional[typing.Literal["function"]] = None
|
|
12
|
+
function: FunctionSchema
|
|
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,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 .letta_schemas_openai_chat_completion_request_tool_call_function import (
|
|
6
|
+
LettaSchemasOpenaiChatCompletionRequestToolCallFunction,
|
|
7
|
+
)
|
|
8
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
9
|
+
import pydantic
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class LettaSchemasOpenaiChatCompletionRequestToolCall(UniversalBaseModel):
|
|
13
|
+
id: str
|
|
14
|
+
type: typing.Optional[typing.Literal["function"]] = None
|
|
15
|
+
function: LettaSchemasOpenaiChatCompletionRequestToolCallFunction
|
|
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.pydantic_utilities import UniversalBaseModel
|
|
4
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
5
|
+
import typing
|
|
6
|
+
import pydantic
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class LettaSchemasOpenaiChatCompletionRequestToolCallFunction(UniversalBaseModel):
|
|
10
|
+
name: str
|
|
11
|
+
arguments: 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,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 .letta_schemas_openai_chat_completion_response_tool_call import LettaSchemasOpenaiChatCompletionResponseToolCall
|
|
6
|
+
from .function_call_output import FunctionCallOutput
|
|
7
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
8
|
+
import pydantic
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class LettaSchemasOpenaiChatCompletionResponseMessage(UniversalBaseModel):
|
|
12
|
+
content: typing.Optional[str] = None
|
|
13
|
+
tool_calls: typing.Optional[typing.List[LettaSchemasOpenaiChatCompletionResponseToolCall]] = None
|
|
14
|
+
role: str
|
|
15
|
+
function_call: typing.Optional[FunctionCallOutput] = 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,22 @@
|
|
|
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 .function_call_output import FunctionCallOutput
|
|
6
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
7
|
+
import pydantic
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class LettaSchemasOpenaiChatCompletionResponseToolCall(UniversalBaseModel):
|
|
11
|
+
id: str
|
|
12
|
+
type: typing.Optional[typing.Literal["function"]] = None
|
|
13
|
+
function: FunctionCallOutput
|
|
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,27 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
from ..core.pydantic_utilities import UniversalBaseModel
|
|
4
|
+
import pydantic
|
|
5
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
6
|
+
import typing
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class LettaSchemasOpenaiChatCompletionsToolCallFunction(UniversalBaseModel):
|
|
10
|
+
name: str = pydantic.Field()
|
|
11
|
+
"""
|
|
12
|
+
The name of the function to call
|
|
13
|
+
"""
|
|
14
|
+
|
|
15
|
+
arguments: str = pydantic.Field()
|
|
16
|
+
"""
|
|
17
|
+
The arguments to pass to the function (JSON dump)
|
|
18
|
+
"""
|
|
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,29 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
from ..core.pydantic_utilities import UniversalBaseModel
|
|
4
|
+
import pydantic
|
|
5
|
+
import typing
|
|
6
|
+
from .letta_schemas_openai_chat_completions_tool_call_function import LettaSchemasOpenaiChatCompletionsToolCallFunction
|
|
7
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class LettaSchemasOpenaiChatCompletionsToolCallInput(UniversalBaseModel):
|
|
11
|
+
id: str = pydantic.Field()
|
|
12
|
+
"""
|
|
13
|
+
The ID of the tool call
|
|
14
|
+
"""
|
|
15
|
+
|
|
16
|
+
type: typing.Optional[str] = None
|
|
17
|
+
function: LettaSchemasOpenaiChatCompletionsToolCallFunction = pydantic.Field()
|
|
18
|
+
"""
|
|
19
|
+
The arguments and name for the function
|
|
20
|
+
"""
|
|
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,29 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
from ..core.pydantic_utilities import UniversalBaseModel
|
|
4
|
+
import pydantic
|
|
5
|
+
import typing
|
|
6
|
+
from .tool_call_function_output import ToolCallFunctionOutput
|
|
7
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class LettaSchemasOpenaiChatCompletionsToolCallOutput(UniversalBaseModel):
|
|
11
|
+
id: str = pydantic.Field()
|
|
12
|
+
"""
|
|
13
|
+
The ID of the tool call
|
|
14
|
+
"""
|
|
15
|
+
|
|
16
|
+
type: typing.Optional[str] = None
|
|
17
|
+
function: ToolCallFunctionOutput = pydantic.Field()
|
|
18
|
+
"""
|
|
19
|
+
The arguments and name for the function
|
|
20
|
+
"""
|
|
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,88 @@
|
|
|
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 LettaSchemasToolTool(UniversalBaseModel):
|
|
10
|
+
"""
|
|
11
|
+
Representation of a tool, which is a function that can be called by the agent.
|
|
12
|
+
|
|
13
|
+
Parameters:
|
|
14
|
+
id (str): The unique identifier of the tool.
|
|
15
|
+
name (str): The name of the function.
|
|
16
|
+
tags (List[str]): Metadata tags.
|
|
17
|
+
source_code (str): The source code of the function.
|
|
18
|
+
json_schema (Dict): The JSON schema of the function.
|
|
19
|
+
"""
|
|
20
|
+
|
|
21
|
+
id: typing.Optional[str] = pydantic.Field(default=None)
|
|
22
|
+
"""
|
|
23
|
+
The human-friendly ID of the Tool
|
|
24
|
+
"""
|
|
25
|
+
|
|
26
|
+
description: typing.Optional[str] = pydantic.Field(default=None)
|
|
27
|
+
"""
|
|
28
|
+
The description of the tool.
|
|
29
|
+
"""
|
|
30
|
+
|
|
31
|
+
source_type: typing.Optional[str] = pydantic.Field(default=None)
|
|
32
|
+
"""
|
|
33
|
+
The type of the source code.
|
|
34
|
+
"""
|
|
35
|
+
|
|
36
|
+
module: typing.Optional[str] = pydantic.Field(default=None)
|
|
37
|
+
"""
|
|
38
|
+
The module of the function.
|
|
39
|
+
"""
|
|
40
|
+
|
|
41
|
+
organization_id: typing.Optional[str] = pydantic.Field(default=None)
|
|
42
|
+
"""
|
|
43
|
+
The unique identifier of the organization associated with the tool.
|
|
44
|
+
"""
|
|
45
|
+
|
|
46
|
+
name: typing.Optional[str] = pydantic.Field(default=None)
|
|
47
|
+
"""
|
|
48
|
+
The name of the function.
|
|
49
|
+
"""
|
|
50
|
+
|
|
51
|
+
tags: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
|
|
52
|
+
"""
|
|
53
|
+
Metadata tags.
|
|
54
|
+
"""
|
|
55
|
+
|
|
56
|
+
source_code: str = pydantic.Field()
|
|
57
|
+
"""
|
|
58
|
+
The source code of the function.
|
|
59
|
+
"""
|
|
60
|
+
|
|
61
|
+
json_schema: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field(default=None)
|
|
62
|
+
"""
|
|
63
|
+
The JSON schema of the function.
|
|
64
|
+
"""
|
|
65
|
+
|
|
66
|
+
return_char_limit: typing.Optional[int] = pydantic.Field(default=None)
|
|
67
|
+
"""
|
|
68
|
+
The maximum number of characters in the response.
|
|
69
|
+
"""
|
|
70
|
+
|
|
71
|
+
created_by_id: typing.Optional[str] = pydantic.Field(default=None)
|
|
72
|
+
"""
|
|
73
|
+
The id of the user that made this Tool.
|
|
74
|
+
"""
|
|
75
|
+
|
|
76
|
+
last_updated_by_id: typing.Optional[str] = pydantic.Field(default=None)
|
|
77
|
+
"""
|
|
78
|
+
The id of the user that made this Tool.
|
|
79
|
+
"""
|
|
80
|
+
|
|
81
|
+
if IS_PYDANTIC_V2:
|
|
82
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
83
|
+
else:
|
|
84
|
+
|
|
85
|
+
class Config:
|
|
86
|
+
frozen = True
|
|
87
|
+
smart_union = True
|
|
88
|
+
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 LettaUsageStatistics(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,60 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
from ..core.pydantic_utilities import UniversalBaseModel
|
|
4
|
+
import pydantic
|
|
5
|
+
from .llm_config_model_endpoint_type import LlmConfigModelEndpointType
|
|
6
|
+
import typing
|
|
7
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class LlmConfig(UniversalBaseModel):
|
|
11
|
+
"""
|
|
12
|
+
Configuration for a Language Model (LLM) model. This object specifies all the information necessary to access an LLM model to usage with Letta, except for secret keys.
|
|
13
|
+
|
|
14
|
+
Attributes:
|
|
15
|
+
model (str): The name of the LLM model.
|
|
16
|
+
model_endpoint_type (str): The endpoint type for the model.
|
|
17
|
+
model_endpoint (str): The endpoint for the model.
|
|
18
|
+
model_wrapper (str): The wrapper for the model. This is used to wrap additional text around the input/output of the model. This is useful for text-to-text completions, such as the Completions API in OpenAI.
|
|
19
|
+
context_window (int): The context window size for the model.
|
|
20
|
+
put_inner_thoughts_in_kwargs (bool): 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.
|
|
21
|
+
"""
|
|
22
|
+
|
|
23
|
+
model: str = pydantic.Field()
|
|
24
|
+
"""
|
|
25
|
+
LLM model name.
|
|
26
|
+
"""
|
|
27
|
+
|
|
28
|
+
model_endpoint_type: LlmConfigModelEndpointType = pydantic.Field()
|
|
29
|
+
"""
|
|
30
|
+
The endpoint type for the model.
|
|
31
|
+
"""
|
|
32
|
+
|
|
33
|
+
model_endpoint: typing.Optional[str] = pydantic.Field(default=None)
|
|
34
|
+
"""
|
|
35
|
+
The endpoint for the model.
|
|
36
|
+
"""
|
|
37
|
+
|
|
38
|
+
model_wrapper: typing.Optional[str] = pydantic.Field(default=None)
|
|
39
|
+
"""
|
|
40
|
+
The wrapper for the model.
|
|
41
|
+
"""
|
|
42
|
+
|
|
43
|
+
context_window: int = pydantic.Field()
|
|
44
|
+
"""
|
|
45
|
+
The context window size for the model.
|
|
46
|
+
"""
|
|
47
|
+
|
|
48
|
+
put_inner_thoughts_in_kwargs: typing.Optional[bool] = pydantic.Field(default=None)
|
|
49
|
+
"""
|
|
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
|
+
"""
|
|
52
|
+
|
|
53
|
+
if IS_PYDANTIC_V2:
|
|
54
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
55
|
+
else:
|
|
56
|
+
|
|
57
|
+
class Config:
|
|
58
|
+
frozen = True
|
|
59
|
+
smart_union = True
|
|
60
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
LlmConfigModelEndpointType = typing.Union[
|
|
6
|
+
typing.Literal[
|
|
7
|
+
"openai",
|
|
8
|
+
"anthropic",
|
|
9
|
+
"cohere",
|
|
10
|
+
"google_ai",
|
|
11
|
+
"azure",
|
|
12
|
+
"groq",
|
|
13
|
+
"ollama",
|
|
14
|
+
"webui",
|
|
15
|
+
"webui-legacy",
|
|
16
|
+
"lmstudio",
|
|
17
|
+
"lmstudio-legacy",
|
|
18
|
+
"llamacpp",
|
|
19
|
+
"koboldcpp",
|
|
20
|
+
"vllm",
|
|
21
|
+
"hugging-face",
|
|
22
|
+
"mistral",
|
|
23
|
+
"together",
|
|
24
|
+
],
|
|
25
|
+
typing.Any,
|
|
26
|
+
]
|
|
@@ -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 pydantic
|
|
5
|
+
import typing
|
|
6
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class LocalSandboxConfig(UniversalBaseModel):
|
|
10
|
+
sandbox_dir: str = pydantic.Field()
|
|
11
|
+
"""
|
|
12
|
+
Directory for the sandbox environment.
|
|
13
|
+
"""
|
|
14
|
+
|
|
15
|
+
use_venv: typing.Optional[bool] = pydantic.Field(default=None)
|
|
16
|
+
"""
|
|
17
|
+
Whether or not to use the venv, or run directly in the same run loop.
|
|
18
|
+
"""
|
|
19
|
+
|
|
20
|
+
venv_name: typing.Optional[str] = pydantic.Field(default=None)
|
|
21
|
+
"""
|
|
22
|
+
The name for the venv in the sandbox directory. We first search for an existing venv with this name, otherwise, we make it from the requirements.txt.
|
|
23
|
+
"""
|
|
24
|
+
|
|
25
|
+
if IS_PYDANTIC_V2:
|
|
26
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
27
|
+
else:
|
|
28
|
+
|
|
29
|
+
class Config:
|
|
30
|
+
frozen = True
|
|
31
|
+
smart_union = True
|
|
32
|
+
extra = pydantic.Extra.allow
|
|
@@ -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 LogProbToken(UniversalBaseModel):
|
|
10
|
+
token: str
|
|
11
|
+
logprob: float
|
|
12
|
+
bytes: typing.Optional[typing.List[int]] = 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
|
letta/types/memory.py
ADDED
|
@@ -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 typing
|
|
5
|
+
from .block import Block
|
|
6
|
+
import pydantic
|
|
7
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Memory(UniversalBaseModel):
|
|
11
|
+
"""
|
|
12
|
+
Represents the in-context memory (i.e. Core memory) of the agent. This includes both the `Block` objects (labelled by sections), as well as tools to edit the blocks.
|
|
13
|
+
"""
|
|
14
|
+
|
|
15
|
+
blocks: typing.List[Block] = pydantic.Field()
|
|
16
|
+
"""
|
|
17
|
+
Memory blocks contained in the agent's in-context memory
|
|
18
|
+
"""
|
|
19
|
+
|
|
20
|
+
prompt_template: typing.Optional[str] = pydantic.Field(default=None)
|
|
21
|
+
"""
|
|
22
|
+
Jinja2 template for compiling memory blocks into a prompt string
|
|
23
|
+
"""
|
|
24
|
+
|
|
25
|
+
if IS_PYDANTIC_V2:
|
|
26
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
27
|
+
else:
|
|
28
|
+
|
|
29
|
+
class Config:
|
|
30
|
+
frozen = True
|
|
31
|
+
smart_union = True
|
|
32
|
+
extra = pydantic.Extra.allow
|
|
@@ -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 typing
|
|
5
|
+
from .log_prob_token import LogProbToken
|
|
6
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
7
|
+
import pydantic
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class MessageContentLogProb(UniversalBaseModel):
|
|
11
|
+
token: str
|
|
12
|
+
logprob: float
|
|
13
|
+
bytes: typing.Optional[typing.List[int]] = None
|
|
14
|
+
top_logprobs: typing.Optional[typing.List[LogProbToken]] = None
|
|
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,37 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
from ..core.pydantic_utilities import UniversalBaseModel
|
|
4
|
+
from .message_create_role import MessageCreateRole
|
|
5
|
+
import pydantic
|
|
6
|
+
import typing
|
|
7
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class MessageCreate(UniversalBaseModel):
|
|
11
|
+
"""
|
|
12
|
+
Request to create a message
|
|
13
|
+
"""
|
|
14
|
+
|
|
15
|
+
role: MessageCreateRole = pydantic.Field()
|
|
16
|
+
"""
|
|
17
|
+
The role of the participant.
|
|
18
|
+
"""
|
|
19
|
+
|
|
20
|
+
text: str = pydantic.Field()
|
|
21
|
+
"""
|
|
22
|
+
The text of the message.
|
|
23
|
+
"""
|
|
24
|
+
|
|
25
|
+
name: typing.Optional[str] = pydantic.Field(default=None)
|
|
26
|
+
"""
|
|
27
|
+
The name of the participant.
|
|
28
|
+
"""
|
|
29
|
+
|
|
30
|
+
if IS_PYDANTIC_V2:
|
|
31
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
32
|
+
else:
|
|
33
|
+
|
|
34
|
+
class Config:
|
|
35
|
+
frozen = True
|
|
36
|
+
smart_union = True
|
|
37
|
+
extra = pydantic.Extra.allow
|