57 lines
1.9 KiB
Python
57 lines
1.9 KiB
Python
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 ...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 import skill_score_service, workload_service
|
|
from ...services.ai_pmo_kernel_service import AIPMOKernelService
|
|
from ...services.ai_service import AIService
|
|
from ...services.auth import has_any_role
|
|
from ...services.budget_enforcement_service import BudgetEnforcementService
|
|
from ...services.feishu_integration import get_feishu_service
|
|
from ...services.llm import llm_service
|
|
from ...services.operation_log_service import log_operation
|
|
from ...services.skill_service import recommend_personnel
|
|
from ...services.sstc_service import ALIGNED_STATUSES, DONE_STATUSES, RELEASE_VERIFIED_STATUSES, SSTCService
|
|
from ...services.task_persistence 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
|