chore: deprecate orm enum file (#3724)
This commit is contained in:
@@ -13,7 +13,7 @@ from sqlalchemy.dialects import postgresql
|
||||
|
||||
from alembic import op
|
||||
from letta.constants import BASE_MEMORY_TOOLS, BASE_TOOLS
|
||||
from letta.orm.enums import ToolType
|
||||
from letta.schemas.enums import ToolType
|
||||
from letta.settings import settings
|
||||
|
||||
# revision identifiers, used by Alembic.
|
||||
|
||||
@@ -9,7 +9,7 @@ Create Date: 2025-01-16 14:21:33.764332
|
||||
from typing import Sequence, Union
|
||||
|
||||
from alembic import op
|
||||
from letta.orm.enums import ToolType
|
||||
from letta.schemas.enums import ToolType
|
||||
from letta.settings import settings
|
||||
|
||||
# revision identifiers, used by Alembic.
|
||||
|
||||
@@ -41,12 +41,11 @@ from letta.local_llm.utils import num_tokens_from_functions, num_tokens_from_mes
|
||||
from letta.log import get_logger
|
||||
from letta.memory import summarize_messages
|
||||
from letta.orm import User
|
||||
from letta.orm.enums import ToolType
|
||||
from letta.otel.tracing import log_event, trace_method
|
||||
from letta.schemas.agent import AgentState, AgentStepResponse, UpdateAgent, get_prompt_template_for_agent_type
|
||||
from letta.schemas.block import BlockUpdate
|
||||
from letta.schemas.embedding_config import EmbeddingConfig
|
||||
from letta.schemas.enums import MessageRole, ProviderType
|
||||
from letta.schemas.enums import MessageRole, ProviderType, ToolType
|
||||
from letta.schemas.letta_message_content import ImageContent, TextContent
|
||||
from letta.schemas.memory import ContextWindowOverview, Memory
|
||||
from letta.schemas.message import Message, MessageCreate, ToolReturn
|
||||
|
||||
@@ -30,12 +30,11 @@ from letta.llm_api.llm_client import LLMClient
|
||||
from letta.llm_api.llm_client_base import LLMClientBase
|
||||
from letta.local_llm.constants import INNER_THOUGHTS_KWARG
|
||||
from letta.log import get_logger
|
||||
from letta.orm.enums import ToolType
|
||||
from letta.otel.context import get_ctx_attributes
|
||||
from letta.otel.metric_registry import MetricRegistry
|
||||
from letta.otel.tracing import log_event, trace_method, tracer
|
||||
from letta.schemas.agent import AgentState, UpdateAgent
|
||||
from letta.schemas.enums import JobStatus, MessageRole, ProviderType
|
||||
from letta.schemas.enums import JobStatus, MessageRole, ProviderType, ToolType
|
||||
from letta.schemas.letta_message import MessageType
|
||||
from letta.schemas.letta_message_content import OmittedReasoningContent, ReasoningContent, RedactedReasoningContent, TextContent
|
||||
from letta.schemas.letta_response import LettaResponse
|
||||
|
||||
@@ -16,10 +16,9 @@ from letta.jobs.types import RequestStatusUpdateInfo, StepStatusUpdateInfo
|
||||
from letta.llm_api.llm_client import LLMClient
|
||||
from letta.local_llm.constants import INNER_THOUGHTS_KWARG
|
||||
from letta.log import get_logger
|
||||
from letta.orm.enums import ToolType
|
||||
from letta.otel.tracing import log_event, trace_method
|
||||
from letta.schemas.agent import AgentState
|
||||
from letta.schemas.enums import AgentStepStatus, JobStatus, MessageStreamStatus, ProviderType, SandboxType
|
||||
from letta.schemas.enums import AgentStepStatus, JobStatus, MessageStreamStatus, ProviderType, SandboxType, ToolType
|
||||
from letta.schemas.job import JobUpdate
|
||||
from letta.schemas.letta_message import LegacyLettaMessage, LettaMessage
|
||||
from letta.schemas.letta_message_content import OmittedReasoningContent, ReasoningContent, RedactedReasoningContent, TextContent
|
||||
|
||||
@@ -13,9 +13,8 @@ from letta.helpers.datetime_helpers import get_utc_time
|
||||
from letta.helpers.tool_execution_helper import add_pre_execution_message, enable_strict_mode, remove_request_heartbeat
|
||||
from letta.interfaces.openai_chat_completions_streaming_interface import OpenAIChatCompletionsStreamingInterface
|
||||
from letta.log import get_logger
|
||||
from letta.orm.enums import ToolType
|
||||
from letta.schemas.agent import AgentState, AgentType
|
||||
from letta.schemas.enums import MessageRole
|
||||
from letta.schemas.enums import MessageRole, ToolType
|
||||
from letta.schemas.letta_response import LettaResponse
|
||||
from letta.schemas.message import Message, MessageCreate
|
||||
from letta.schemas.openai.chat_completion_request import (
|
||||
|
||||
@@ -3,11 +3,10 @@ from typing import AsyncGenerator, List, Optional, Tuple, Union
|
||||
from letta.agents.helpers import _create_letta_response, serialize_message_history
|
||||
from letta.agents.letta_agent import LettaAgent
|
||||
from letta.constants import DEFAULT_MAX_STEPS
|
||||
from letta.orm.enums import ToolType
|
||||
from letta.otel.tracing import trace_method
|
||||
from letta.schemas.agent import AgentState
|
||||
from letta.schemas.block import BlockUpdate
|
||||
from letta.schemas.enums import MessageStreamStatus
|
||||
from letta.schemas.enums import MessageStreamStatus, ToolType
|
||||
from letta.schemas.letta_message import LegacyLettaMessage, LettaMessage, MessageType
|
||||
from letta.schemas.letta_response import LettaResponse
|
||||
from letta.schemas.message import MessageCreate
|
||||
|
||||
@@ -7,7 +7,7 @@ from letta.functions.functions import parse_source_code
|
||||
from letta.functions.schema_generator import generate_schema
|
||||
from letta.interface import AgentInterface
|
||||
from letta.orm import User
|
||||
from letta.orm.enums import ToolType
|
||||
from letta.schemas.enums import ToolType
|
||||
from letta.schemas.letta_message_content import TextContent
|
||||
from letta.schemas.message import MessageCreate
|
||||
from letta.schemas.tool import Tool
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
"""Compatibility module for enums that were moved to address circular imports.
|
||||
|
||||
This module maintains the old enum definitions for backwards compatibility,
|
||||
especially for pickled objects that reference the old import paths.
|
||||
"""
|
||||
|
||||
from enum import Enum
|
||||
|
||||
|
||||
class ToolType(str, Enum):
|
||||
CUSTOM = "custom"
|
||||
LETTA_CORE = "letta_core"
|
||||
LETTA_MEMORY_CORE = "letta_memory_core"
|
||||
LETTA_MULTI_AGENT_CORE = "letta_multi_agent_core"
|
||||
LETTA_SLEEPTIME_CORE = "letta_sleeptime_core"
|
||||
LETTA_VOICE_SLEEPTIME_CORE = "letta_voice_sleeptime_core"
|
||||
LETTA_BUILTIN = "letta_builtin"
|
||||
LETTA_FILES_CORE = "letta_files_core"
|
||||
EXTERNAL_COMPOSIO = "external_composio"
|
||||
# TODO is "external" the right name here? Since as of now, MCP is local / doesn't support remote?
|
||||
EXTERNAL_MCP = "external_mcp"
|
||||
@@ -3,11 +3,11 @@ from typing import TYPE_CHECKING, List, Optional
|
||||
from sqlalchemy import JSON, Index, String, UniqueConstraint
|
||||
from sqlalchemy.orm import Mapped, mapped_column, relationship
|
||||
|
||||
# TODO everything in functions should live in this model
|
||||
from letta.orm.enums import ToolType
|
||||
from letta.orm.mixins import OrganizationMixin
|
||||
from letta.orm.sqlalchemy_base import SqlalchemyBase
|
||||
from letta.schemas.enums import ToolSourceType
|
||||
|
||||
# TODO everything in functions should live in this model
|
||||
from letta.schemas.enums import ToolSourceType, ToolType
|
||||
from letta.schemas.tool import Tool as PydanticTool
|
||||
|
||||
if TYPE_CHECKING:
|
||||
|
||||
@@ -22,7 +22,7 @@ from letta.functions.schema_generator import (
|
||||
generate_tool_schema_for_mcp,
|
||||
)
|
||||
from letta.log import get_logger
|
||||
from letta.orm.enums import ToolType
|
||||
from letta.schemas.enums import ToolType
|
||||
from letta.schemas.letta_base import LettaBase
|
||||
from letta.schemas.pip_requirement import PipRequirement
|
||||
|
||||
|
||||
@@ -35,7 +35,6 @@ from letta.orm import Source as SourceModel
|
||||
from letta.orm import SourcePassage, SourcesAgents
|
||||
from letta.orm import Tool as ToolModel
|
||||
from letta.orm import ToolsAgents
|
||||
from letta.orm.enums import ToolType
|
||||
from letta.orm.errors import NoResultFound
|
||||
from letta.orm.sandbox_config import AgentEnvironmentVariable
|
||||
from letta.orm.sandbox_config import AgentEnvironmentVariable as AgentEnvironmentVariableModel
|
||||
@@ -47,7 +46,7 @@ from letta.schemas.block import DEFAULT_BLOCKS
|
||||
from letta.schemas.block import Block as PydanticBlock
|
||||
from letta.schemas.block import BlockUpdate
|
||||
from letta.schemas.embedding_config import EmbeddingConfig
|
||||
from letta.schemas.enums import ProviderType
|
||||
from letta.schemas.enums import ProviderType, ToolType
|
||||
from letta.schemas.file import FileMetadata as PydanticFileMetadata
|
||||
from letta.schemas.group import Group as PydanticGroup
|
||||
from letta.schemas.group import ManagerType
|
||||
|
||||
@@ -4,11 +4,11 @@ from typing import Any, Dict, Optional, Type
|
||||
from letta.constants import FUNCTION_RETURN_VALUE_TRUNCATED
|
||||
from letta.helpers.datetime_helpers import AsyncTimer
|
||||
from letta.log import get_logger
|
||||
from letta.orm.enums import ToolType
|
||||
from letta.otel.context import get_ctx_attributes
|
||||
from letta.otel.metric_registry import MetricRegistry
|
||||
from letta.otel.tracing import trace_method
|
||||
from letta.schemas.agent import AgentState
|
||||
from letta.schemas.enums import ToolType
|
||||
from letta.schemas.sandbox_config import SandboxConfig
|
||||
from letta.schemas.tool import Tool
|
||||
from letta.schemas.tool_execution_result import ToolExecutionResult
|
||||
|
||||
@@ -22,12 +22,12 @@ from letta.constants import (
|
||||
from letta.errors import LettaToolNameConflictError
|
||||
from letta.functions.functions import derive_openai_json_schema, load_function_set
|
||||
from letta.log import get_logger
|
||||
from letta.orm.enums import ToolType
|
||||
|
||||
# TODO: Remove this once we translate all of these to the ORM
|
||||
from letta.orm.errors import NoResultFound
|
||||
from letta.orm.tool import Tool as ToolModel
|
||||
from letta.otel.tracing import trace_method
|
||||
from letta.schemas.enums import ToolType
|
||||
from letta.schemas.tool import Tool as PydanticTool
|
||||
from letta.schemas.tool import ToolCreate, ToolUpdate
|
||||
from letta.schemas.user import User as PydanticUser
|
||||
|
||||
@@ -15,11 +15,10 @@ from rich.syntax import Syntax
|
||||
|
||||
from letta.config import LettaConfig
|
||||
from letta.orm import Base
|
||||
from letta.orm.enums import ToolType
|
||||
from letta.schemas.agent import AgentState, CreateAgent
|
||||
from letta.schemas.block import Block, CreateBlock
|
||||
from letta.schemas.embedding_config import EmbeddingConfig
|
||||
from letta.schemas.enums import MessageRole
|
||||
from letta.schemas.enums import MessageRole, ToolType
|
||||
from letta.schemas.llm_config import LLMConfig
|
||||
from letta.schemas.message import MessageCreate
|
||||
from letta.schemas.organization import Organization
|
||||
|
||||
@@ -46,7 +46,6 @@ from letta.helpers.datetime_helpers import AsyncTimer
|
||||
from letta.jobs.types import ItemUpdateInfo, RequestStatusUpdateInfo, StepStatusUpdateInfo
|
||||
from letta.orm import Base, Block
|
||||
from letta.orm.block_history import BlockHistory
|
||||
from letta.orm.enums import ToolType
|
||||
from letta.orm.errors import NoResultFound, UniqueConstraintViolationError
|
||||
from letta.orm.file import FileContent as FileContentModel
|
||||
from letta.orm.file import FileMetadata as FileMetadataModel
|
||||
@@ -54,7 +53,17 @@ from letta.schemas.agent import CreateAgent, UpdateAgent
|
||||
from letta.schemas.block import Block as PydanticBlock
|
||||
from letta.schemas.block import BlockUpdate, CreateBlock
|
||||
from letta.schemas.embedding_config import EmbeddingConfig
|
||||
from letta.schemas.enums import ActorType, AgentStepStatus, FileProcessingStatus, JobStatus, JobType, MessageRole, ProviderType, SandboxType
|
||||
from letta.schemas.enums import (
|
||||
ActorType,
|
||||
AgentStepStatus,
|
||||
FileProcessingStatus,
|
||||
JobStatus,
|
||||
JobType,
|
||||
MessageRole,
|
||||
ProviderType,
|
||||
SandboxType,
|
||||
ToolType,
|
||||
)
|
||||
from letta.schemas.environment_variables import SandboxEnvironmentVariableCreate, SandboxEnvironmentVariableUpdate
|
||||
from letta.schemas.file import FileMetadata
|
||||
from letta.schemas.file import FileMetadata as PydanticFileMetadata
|
||||
@@ -841,7 +850,7 @@ async def test_upsert_base_tools_excludes_local_only_in_production(server: SyncS
|
||||
|
||||
async def test_upsert_multi_agent_tools_only(server: SyncServer, default_user, set_letta_environment, event_loop):
|
||||
"""Test that upserting only multi-agent tools respects production filtering."""
|
||||
from letta.orm.enums import ToolType
|
||||
from letta.schemas.enums import ToolType
|
||||
|
||||
# Upsert only multi-agent tools
|
||||
tools = await server.tool_manager.upsert_base_tools_async(actor=default_user, allowed_types={ToolType.LETTA_MULTI_AGENT_CORE})
|
||||
|
||||
@@ -13,8 +13,7 @@ from letta_client import MessageCreate as ClientMessageCreate
|
||||
from letta_client.types import AgentState
|
||||
|
||||
from letta.constants import DEFAULT_ORG_ID, FILES_TOOLS
|
||||
from letta.orm.enums import ToolType
|
||||
from letta.schemas.enums import FileProcessingStatus
|
||||
from letta.schemas.enums import FileProcessingStatus, ToolType
|
||||
from letta.schemas.message import MessageCreate
|
||||
from letta.schemas.user import User
|
||||
from letta.settings import settings
|
||||
|
||||
Reference in New Issue
Block a user