from __future__ import annotations from datetime import datetime from io import BytesIO from typing import Any, Optional from uuid import uuid4 from fastapi import APIRouter, BackgroundTasks, Body, Depends, File, HTTPException, Query, UploadFile from fastapi.responses import StreamingResponse from pydantic import BaseModel from sqlalchemy import and_, delete, select from sqlalchemy.ext.asyncio import AsyncSession from ...core.response import success_response from ...core.database import get_db from ...dependencies import get_current_user, require_project_member_or_manager from ...models import ( AICallLog, AlignmentRecord, Integration, ModelRequirementBinding, ModelVersion, ProjectSignalLink, Signal, Task, TruthNode, User, UserProject, ) from ...schemas.sstc import ( AlignmentConfirmRequest, AlignmentStartRequest, CharterUpdateRequest, ReleaseCreateRequest, ReleaseStatusPatchRequest, ReleaseVerificationItemPatchRequest, ReviewArchiveRequest, ReviewContentPatchRequest, ReviewCreateRequest, ReviewImprovementToTaskRequest, TaskStatusPatchRequest, WorkloadOptimizeRequest, ) from ...services.skill import skill_score_service from ...services import workload as workload_service from ...services.ai_pmo.ai_pmo_kernel import AIPMOKernelService from ...services.ai_service_core import AIService from ...services.auth import has_any_role from ...services.budget_enforcement import BudgetEnforcementService from ...services.integrations.feishu_integration_service import get_feishu_service from ...services.llm_service import llm_service from ...services.operation_log_service import log_operation from ...services.skill import recommend_personnel from ...services.sstc_service_core import ALIGNED_STATUSES, DONE_STATUSES, RELEASE_VERIFIED_STATUSES, SSTCService from ...services.task_persistence_core import build_task_create_draft, persist_task from ...utils.title import compact_title from ...utils.timezone import CN_TZ, now_cn_aware, now_cn_naive