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 ...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_service import AIOrchestrationRunService from ...services.ai_steward import AIStewardService, get_ai_steward_service from ...services.blocker_detection import get_blocker_detection_service from ...services.cognitive_conflict import get_cognitive_conflict_service from ...services.daily_briefing import get_daily_briefing_service from ...services.event_workflow import WorkflowEventType, get_event_workflow_engine from ...services.feishu_outbox_service import FeishuOutboxService from ...services.signal_capture import ProactiveSignalCaptureService from ...services.signal_source_orchestration_service import SignalSourceOrchestrationService from ...services.signal_source_repair_service 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"])