export function extractExpertNamesFromBlame(b: any): string[] { const names = new Set(); const add = (v: unknown) => { if (typeof v === "string" && v.trim()) names.add(v.trim()); }; add(b?.workflow?.assignedForReviewBy?.actorName); add(b?.workflow?.lockedBy?.actorName); // History entries from expert actions for (const h of b?.history ?? []) { if ( h?.actor?.actorType === "field_expert" || h?.actor?.actorType === "damage_expert" ) { add(h?.actor?.actorName); } } return [...names]; } export function extractExpertNamesFromClaim(c: any): string[] { const names = new Set(); const add = (v: unknown) => { if (typeof v === "string" && v.trim()) names.add(v.trim()); }; add(c?.workflow?.assignedForReviewBy?.actorName); add(c?.workflow?.lockedBy?.actorName); // Evaluation snapshots add(c?.evaluation?.damageExpertResend?.expertProfileSnapshot?.fullName); add(c?.evaluation?.damageExpertReply?.expertProfileSnapshot?.fullName); add(c?.evaluation?.damageExpertReplyFinal?.expertProfileSnapshot?.fullName); add(c?.evaluation?.factorValidationExpertProfileSnapshot?.fullName); add(c?.evaluation?.inPersonVisitExpertProfileSnapshot?.fullName); return [...names]; }