from __future__ import annotations import json from datetime import datetime, timedelta, timezone from typing import Any, Dict, List, Literal, Optional from fastapi import APIRouter, BackgroundTasks, Depends, HTTPException from pydantic import BaseModel, Field from sqlalchemy import and_, select from sqlalchemy.ext.asyncio import AsyncSession from ...core.response import success_response from ...core.database import get_db from ...dependencies.auth import get_current_user from ...dependencies.permissions import require_manager_user from ...dependencies.tenant import get_tenant_id from ...models import ProjectSignalLink, Signal, User from ...schemas.rag import RAGAskRequest from ...services.adaptive_rag_service import AdaptiveRAGService from ...services.ai_orchestration_run import AIOrchestrationRunService from ...services.ai_steward_service import AIStewardService, get_ai_steward_service from ...services.blocker_detection_core import get_blocker_detection_service from ...services.cognitive_conflict_core import get_cognitive_conflict_service from ...services.daily_briefing_core import get_daily_briefing_service from ...services.event_workflow_core import WorkflowEventType, get_event_workflow_engine from ...services.integrations.feishu_outbox import FeishuOutboxService from ...services.signal.signal_capture_service import ProactiveSignalCaptureService from ...services.signal.signal_source_orchestration import SignalSourceOrchestrationService from ...services.signal.signal_source_repair import ( SignalSourceRepairMissingSignalError, SignalSourceRepairService, SignalSourceRepairTimeoutError, ) from ...utils.audited_write import audited_write from ...utils.timezone import now_cn_aware, now_cn_naive router = APIRouter(prefix="/ai-steward", tags=["AI Steward"])