From fc72c5f6e9e69ebedbcd24fdb0e3e0bb2c04c8f4 Mon Sep 17 00:00:00 2001 From: Alex Blank Date: Wed, 3 Jun 2026 14:24:22 +0200 Subject: [PATCH] fix: resolve mapper configuration for ToolDefinitionManifest and Workspace Move ToolDefinitionManifest import out of TYPE_CHECKING in tool_type.py so SQLAlchemy can resolve the string-annotated relationship during mapper configuration. Add Workspace to models/__init__.py (before ToolInstance) so the ToolInstance-Workspace relationship can be resolved. Quality gates: py_compile passed, ruff passed, all mappers configure OK. --- apps/api/src/models/__init__.py | 2 ++ apps/api/src/models/tool_type.py | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/apps/api/src/models/__init__.py b/apps/api/src/models/__init__.py index 0ea612d..49a69a4 100644 --- a/apps/api/src/models/__init__.py +++ b/apps/api/src/models/__init__.py @@ -12,6 +12,7 @@ from src.models.tool_instance import ToolInstance from src.models.tool_type import ToolType from src.models.user import User from src.models.user_config import UserConfig +from src.models.workspace import Workspace __all__ = [ "Base", @@ -29,4 +30,5 @@ __all__ = [ "ToolType", "User", "UserConfig", + "Workspace", ] diff --git a/apps/api/src/models/tool_type.py b/apps/api/src/models/tool_type.py index 24b93dc..1d7b6a3 100644 --- a/apps/api/src/models/tool_type.py +++ b/apps/api/src/models/tool_type.py @@ -7,8 +7,9 @@ from sqlalchemy.orm import Mapped, mapped_column, relationship from src.models.base import Base, TimestampMixin, UUIDPrimaryKeyMixin +from src.models.tool_definition_manifest import ToolDefinitionManifest + if TYPE_CHECKING: - from src.models.tool_definition_manifest import ToolDefinitionManifest from src.models.user import User