PMFlow/backend/app/api/ai_steward_api/shared.py

38 lines
1.7 KiB
Python

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"])