/** 任务复杂度:Hard / Medium / Easy(对应旧 todo skill 的 tier 1/2/3) */ export type Complexity = 'hard' | 'medium' | 'easy'; export const COMPLEXITY_ORDER: Record = { hard: 1, medium: 2, easy: 3 }; export const COMPLEXITY_LABEL: Record = { hard: 'Hard', medium: 'Medium', easy: 'Easy' }; /** 旧 todo skill 的 tier(1/2/3) ↔ 复杂度,用于迁移导入 */ export const TIER_TO_COMPLEXITY: Record = { 1: 'hard', 2: 'medium', 3: 'easy' }; export const COMPLEXITY_TO_TIER: Record = { hard: 1, medium: 2, easy: 3 }; /** 前置闸:执行前是否需要用户确认(Hard / Medium 需要,Easy 不需要) */ export function requiresPreGate(c: Complexity): boolean { return c === 'hard' || c === 'medium'; } /** Hard 必须先进 plan 分析 + 任务拆解 */ export function mustDecompose(c: Complexity): boolean { return c === 'hard'; } export function isComplexity(v: unknown): v is Complexity { return v === 'hard' || v === 'medium' || v === 'easy'; }