feat(ai): 优化拆解目标和负责人推荐

This commit is contained in:
Script Generator
2026-06-29 16:19:52 +08:00
parent 0e27a4d4c5
commit 7f24e16491
19 changed files with 658 additions and 118 deletions

View File

@@ -0,0 +1,29 @@
import type { VersionMember } from './derive';
export interface RecommendedAssigneeDraft {
recommendedAssigneeName?: string;
recommendedAssigneeReason?: string;
}
export interface ResolvedRecommendedAssignee {
name: string;
role: VersionMember['role'];
reason?: string;
}
export function resolveRecommendedAssignee(
draft: object,
members: VersionMember[] | undefined,
): ResolvedRecommendedAssignee | undefined {
const recommendation = draft as RecommendedAssigneeDraft;
if (!recommendation.recommendedAssigneeName) return undefined;
const member = (members ?? []).find((candidate) => candidate.name === recommendation.recommendedAssigneeName);
if (!member) return undefined;
const reason = recommendation.recommendedAssigneeReason?.trim();
return {
name: member.name,
role: member.role,
...(reason ? { reason } : {}),
};
}