diff --git a/apps/api/src/services/tool/instance_service.py b/apps/api/src/services/tool/instance_service.py index c5f6f20..bfb8ab4 100644 --- a/apps/api/src/services/tool/instance_service.py +++ b/apps/api/src/services/tool/instance_service.py @@ -7,9 +7,10 @@ import os import subprocess import uuid from datetime import datetime +from typing import Any import httpx -from fastapi import HTTPException, status +from fastapi import APIRouter, HTTPException, status from sqlalchemy import select from sqlalchemy.ext.asyncio import AsyncSession @@ -97,12 +98,12 @@ async def resolve_git_mounts( results = await asyncio.gather(*tasks, return_exceptions=True) - volume_mounts = [] + volume_mounts: list[dict[str, Any]] = [] for result in results: if isinstance(result, Exception): logger.warning("Git mount failed: %s", result) continue - if result: + if isinstance(result, list): volume_mounts.extend(result) return volume_mounts @@ -758,6 +759,9 @@ async def prepare_manifest_instance( from src.models import ToolDefinitionManifest tool_type = await session.get(ToolType, instance.tool_type_id) + if not tool_type: + raise RuntimeError(f"Tool type {instance.tool_type_id} not found") + manifest_def = await session.get(ToolDefinitionManifest, tool_type.manifest_id) if not manifest_def: