chore: consolidate enum definitions (#2919)
This commit is contained in:
@@ -4,9 +4,9 @@ from typing import Optional
|
||||
from sqlalchemy import JSON, BigInteger, ForeignKey, Index, Integer, String, Text
|
||||
from sqlalchemy.orm import Mapped, mapped_column
|
||||
|
||||
from letta.orm.enums import ActorType
|
||||
from letta.orm.mixins import OrganizationMixin
|
||||
from letta.orm.sqlalchemy_base import SqlalchemyBase
|
||||
from letta.schemas.enums import ActorType
|
||||
|
||||
|
||||
class BlockHistory(OrganizationMixin, SqlalchemyBase):
|
||||
|
||||
@@ -1,3 +1,9 @@
|
||||
"""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
|
||||
|
||||
|
||||
@@ -14,28 +20,3 @@ class ToolType(str, Enum):
|
||||
EXTERNAL_LANGCHAIN = "external_langchain"
|
||||
# TODO is "external" the right name here? Since as of now, MCP is local / doesn't support remote?
|
||||
EXTERNAL_MCP = "external_mcp"
|
||||
|
||||
|
||||
class JobType(str, Enum):
|
||||
JOB = "job"
|
||||
RUN = "run"
|
||||
BATCH = "batch"
|
||||
|
||||
|
||||
class ToolSourceType(str, Enum):
|
||||
"""Defines what a tool was derived from"""
|
||||
|
||||
python = "python"
|
||||
json = "json"
|
||||
|
||||
|
||||
class ActorType(str, Enum):
|
||||
LETTA_USER = "letta_user"
|
||||
LETTA_AGENT = "letta_agent"
|
||||
LETTA_SYSTEM = "letta_system"
|
||||
|
||||
|
||||
class MCPServerType(str, Enum):
|
||||
SSE = "sse"
|
||||
STDIO = "stdio"
|
||||
STREAMABLE_HTTP = "streamable_http"
|
||||
|
||||
@@ -4,10 +4,9 @@ from typing import TYPE_CHECKING, List, Optional
|
||||
from sqlalchemy import JSON, Index, String
|
||||
from sqlalchemy.orm import Mapped, mapped_column, relationship
|
||||
|
||||
from letta.orm.enums import JobType
|
||||
from letta.orm.mixins import UserMixin
|
||||
from letta.orm.sqlalchemy_base import SqlalchemyBase
|
||||
from letta.schemas.enums import JobStatus
|
||||
from letta.schemas.enums import JobStatus, JobType
|
||||
from letta.schemas.job import Job as PydanticJob
|
||||
from letta.schemas.job import LettaRequestConfig
|
||||
|
||||
|
||||
@@ -7,9 +7,9 @@ from letta.functions.mcp_client.types import StdioServerConfig
|
||||
from letta.orm.custom_columns import MCPStdioServerConfigColumn
|
||||
|
||||
# TODO everything in functions should live in this model
|
||||
from letta.orm.enums import MCPServerType
|
||||
from letta.orm.mixins import OrganizationMixin
|
||||
from letta.orm.sqlalchemy_base import SqlalchemyBase
|
||||
from letta.schemas.enums import MCPServerType
|
||||
from letta.schemas.mcp import MCPServer
|
||||
|
||||
if TYPE_CHECKING:
|
||||
|
||||
@@ -4,9 +4,10 @@ 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 ToolSourceType, ToolType
|
||||
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
|
||||
from letta.schemas.tool import Tool as PydanticTool
|
||||
|
||||
if TYPE_CHECKING:
|
||||
|
||||
@@ -94,3 +94,43 @@ class FileProcessingStatus(str, Enum):
|
||||
EMBEDDING = "embedding"
|
||||
COMPLETED = "completed"
|
||||
ERROR = "error"
|
||||
|
||||
|
||||
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"
|
||||
EXTERNAL_LANGCHAIN = "external_langchain"
|
||||
# TODO is "external" the right name here? Since as of now, MCP is local / doesn't support remote?
|
||||
EXTERNAL_MCP = "external_mcp"
|
||||
|
||||
|
||||
class JobType(str, Enum):
|
||||
JOB = "job"
|
||||
RUN = "run"
|
||||
BATCH = "batch"
|
||||
|
||||
|
||||
class ToolSourceType(str, Enum):
|
||||
"""Defines what a tool was derived from"""
|
||||
|
||||
python = "python"
|
||||
json = "json"
|
||||
|
||||
|
||||
class ActorType(str, Enum):
|
||||
LETTA_USER = "letta_user"
|
||||
LETTA_AGENT = "letta_agent"
|
||||
LETTA_SYSTEM = "letta_system"
|
||||
|
||||
|
||||
class MCPServerType(str, Enum):
|
||||
SSE = "sse"
|
||||
STDIO = "stdio"
|
||||
STREAMABLE_HTTP = "streamable_http"
|
||||
|
||||
@@ -4,8 +4,7 @@ from typing import List, Optional
|
||||
from pydantic import BaseModel, Field
|
||||
|
||||
from letta.constants import DEFAULT_MESSAGE_TOOL, DEFAULT_MESSAGE_TOOL_KWARG
|
||||
from letta.orm.enums import JobType
|
||||
from letta.schemas.enums import JobStatus
|
||||
from letta.schemas.enums import JobStatus, JobType
|
||||
from letta.schemas.letta_base import OrmMetadataBase
|
||||
from letta.schemas.letta_message import MessageType
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ from typing import Optional
|
||||
|
||||
from pydantic import Field
|
||||
|
||||
from letta.orm.enums import JobType
|
||||
from letta.schemas.enums import JobType
|
||||
from letta.schemas.job import Job, JobBase, LettaRequestConfig
|
||||
|
||||
|
||||
|
||||
@@ -3,9 +3,8 @@ from typing import Annotated, List, Optional
|
||||
from fastapi import APIRouter, Depends, Header, HTTPException, Query
|
||||
from pydantic import Field
|
||||
|
||||
from letta.orm.enums import JobType
|
||||
from letta.orm.errors import NoResultFound
|
||||
from letta.schemas.enums import JobStatus, MessageRole
|
||||
from letta.schemas.enums import JobStatus, JobType, MessageRole
|
||||
from letta.schemas.letta_message import LettaMessageUnion
|
||||
from letta.schemas.openai.chat_completion_response import UsageStatistics
|
||||
from letta.schemas.run import Run
|
||||
|
||||
@@ -7,12 +7,12 @@ from sqlalchemy.orm import Session
|
||||
from letta.log import get_logger
|
||||
from letta.orm.block import Block as BlockModel
|
||||
from letta.orm.block_history import BlockHistory
|
||||
from letta.orm.enums import ActorType
|
||||
from letta.orm.errors import NoResultFound
|
||||
from letta.otel.tracing import trace_method
|
||||
from letta.schemas.agent import AgentState as PydanticAgentState
|
||||
from letta.schemas.block import Block as PydanticBlock
|
||||
from letta.schemas.block import BlockUpdate
|
||||
from letta.schemas.enums import ActorType
|
||||
from letta.schemas.user import User as PydanticUser
|
||||
from letta.server.db import db_registry
|
||||
from letta.utils import enforce_types
|
||||
|
||||
@@ -7,7 +7,6 @@ from sqlalchemy.orm import Session
|
||||
|
||||
from letta.helpers.datetime_helpers import get_utc_time
|
||||
from letta.log import get_logger
|
||||
from letta.orm.enums import JobType
|
||||
from letta.orm.errors import NoResultFound
|
||||
from letta.orm.job import Job as JobModel
|
||||
from letta.orm.job_messages import JobMessage
|
||||
@@ -16,7 +15,7 @@ from letta.orm.sqlalchemy_base import AccessType
|
||||
from letta.orm.step import Step
|
||||
from letta.orm.step import Step as StepModel
|
||||
from letta.otel.tracing import trace_method
|
||||
from letta.schemas.enums import JobStatus, MessageRole
|
||||
from letta.schemas.enums import JobStatus, JobType, MessageRole
|
||||
from letta.schemas.job import BatchJob as PydanticBatchJob
|
||||
from letta.schemas.job import Job as PydanticJob
|
||||
from letta.schemas.job import JobUpdate, LettaRequestConfig
|
||||
|
||||
@@ -7,11 +7,10 @@ from letta.config import LettaConfig
|
||||
from letta.constants import DEFAULT_HUMAN
|
||||
from letta.groups.sleeptime_multi_agent_v2 import SleeptimeMultiAgentV2
|
||||
from letta.orm import Provider, ProviderTrace, Step
|
||||
from letta.orm.enums import JobType
|
||||
from letta.orm.errors import NoResultFound
|
||||
from letta.schemas.agent import CreateAgent
|
||||
from letta.schemas.block import CreateBlock
|
||||
from letta.schemas.enums import JobStatus, ToolRuleType
|
||||
from letta.schemas.enums import JobStatus, JobType, ToolRuleType
|
||||
from letta.schemas.group import GroupUpdate, ManagerType, SleeptimeManagerUpdate
|
||||
from letta.schemas.message import MessageCreate
|
||||
from letta.schemas.run import Run
|
||||
|
||||
@@ -46,7 +46,7 @@ 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 ActorType, JobType, ToolType
|
||||
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 +54,7 @@ from letta.schemas.agent import AgentStepState, 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 AgentStepStatus, FileProcessingStatus, JobStatus, MessageRole, ProviderType
|
||||
from letta.schemas.enums import ActorType, AgentStepStatus, FileProcessingStatus, JobStatus, JobType, MessageRole, ProviderType
|
||||
from letta.schemas.environment_variables import SandboxEnvironmentVariableCreate, SandboxEnvironmentVariableUpdate
|
||||
from letta.schemas.file import FileMetadata as PydanticFileMetadata
|
||||
from letta.schemas.identity import IdentityCreate, IdentityProperty, IdentityPropertyType, IdentityType, IdentityUpdate, IdentityUpsert
|
||||
|
||||
Reference in New Issue
Block a user