diff --git a/apps/api/src/api/v1/terminal.py b/apps/api/src/api/v1/terminal.py index 642a0631b..7d3436879 100644 --- a/apps/api/src/api/v1/terminal.py +++ b/apps/api/src/api/v1/terminal.py @@ -32,7 +32,6 @@ from src.models.terminal import ( TerminalAbortResponse, TerminalIntentRequest, TerminalIntentResponse, - TerminalSessionStatus, TerminalStatusResponse, ) from src.services.terminal_service import TerminalService, get_terminal_service diff --git a/apps/api/src/main.py b/apps/api/src/main.py index 0ae2ae410..f6a6f4dd4 100644 --- a/apps/api/src/main.py +++ b/apps/api/src/main.py @@ -33,9 +33,9 @@ from sentry_sdk.integrations.starlette import StarletteIntegration from src.api.v1 import agents as agents_v1 # Phase 9.5: Agent Teams API from src.api.v1 import ai as ai_v1 from src.api.v1 import approvals as approvals_v1 -from src.api.v1 import csrf as csrf_v1 # Phase 20: CSRF Protection from src.api.v1 import audit_logs as audit_logs_v1 from src.api.v1 import auto_repair as auto_repair_v1 # #8: 自動升級決策 +from src.api.v1 import csrf as csrf_v1 # Phase 20: CSRF Protection from src.api.v1 import dashboard as dashboard_v1 from src.api.v1 import errors as errors_v1 # #40: Sentry 錯誤 BFF API from src.api.v1 import ( @@ -52,8 +52,8 @@ from src.api.v1 import ( sentry_webhook as sentry_webhook_v1, # Phase 10.2.1: Sentry → Telegram ) from src.api.v1 import stats as stats_v1 # Phase 6.5: Statistics Analytics -from src.api.v1 import terminal as terminal_v1 # Phase 19.1: Omni-Terminal SSE from src.api.v1 import telegram as telegram_v1 # Phase 5.4: Telegram Gateway +from src.api.v1 import terminal as terminal_v1 # Phase 19.1: Omni-Terminal SSE from src.api.v1 import timeline as timeline_v1 from src.api.v1 import webhooks as webhooks_v1 from src.core.config import settings diff --git a/apps/api/src/models/terminal.py b/apps/api/src/models/terminal.py index de67f61cc..be5c6ab7f 100644 --- a/apps/api/src/models/terminal.py +++ b/apps/api/src/models/terminal.py @@ -17,7 +17,6 @@ from typing import Any from pydantic import BaseModel, Field - # ============================================================================= # Enums # ============================================================================= diff --git a/apps/api/src/services/__init__.py b/apps/api/src/services/__init__.py index e8eae9fc1..8574cb943 100644 --- a/apps/api/src/services/__init__.py +++ b/apps/api/src/services/__init__.py @@ -44,6 +44,7 @@ from .graph_rag import ( create_mock_topology, topology_graph, ) + # ADR-027: Incident-Approval 同步架構 (2026-03-26) from .incident_approval_service import ( IncidentApprovalService, diff --git a/apps/api/tests/test_adr030_auto_approve.py b/apps/api/tests/test_adr030_auto_approve.py index 2dd5e65ca..01d63a79b 100644 --- a/apps/api/tests/test_adr030_auto_approve.py +++ b/apps/api/tests/test_adr030_auto_approve.py @@ -8,9 +8,10 @@ ADR-030 Auto Approve Policy Tests 建立者: Claude Code (ADR-030 Phase 4) """ -import pytest from unittest.mock import MagicMock +import pytest + from src.models.playbook import ( ActionType, Playbook, @@ -21,7 +22,6 @@ from src.models.playbook import ( ) from src.services.auto_approve import ( AutoApproveConfig, - AutoApproveDecision, AutoApprovePolicy, AutoApproveReason, ) diff --git a/apps/api/tests/test_adr030_learning_service.py b/apps/api/tests/test_adr030_learning_service.py index e66b3e6c7..1834e5aa3 100644 --- a/apps/api/tests/test_adr030_learning_service.py +++ b/apps/api/tests/test_adr030_learning_service.py @@ -9,9 +9,9 @@ ADR-030 Learning Service Tests """ import uuid +from unittest.mock import MagicMock, patch import pytest -from unittest.mock import MagicMock, patch from src.models.approval import ApprovalRequest, RiskLevel from src.services.learning_service import ( diff --git a/apps/api/tests/test_terminal_service.py b/apps/api/tests/test_terminal_service.py index f6f869119..19995e48f 100644 --- a/apps/api/tests/test_terminal_service.py +++ b/apps/api/tests/test_terminal_service.py @@ -19,7 +19,6 @@ import pytest from src.models.terminal import ( SpatialContext, TerminalIntentRequest, - TerminalSession, TerminalSessionStatus, ) from src.services.terminal_service import ( @@ -29,7 +28,6 @@ from src.services.terminal_service import ( get_terminal_service, ) - # ============================================================================= # Intent Classification Tests # ============================================================================= @@ -219,7 +217,7 @@ async def test_abort_session_not_found(): def test_intent_type_coverage(): """確保所有 IntentType 都有測試案例""" - tested_types = set(expected for _, expected in INTENT_CLASSIFICATION_TEST_CASES) + tested_types = {expected for _, expected in INTENT_CLASSIFICATION_TEST_CASES} all_types = set(IntentType) missing = all_types - tested_types