ГЛОБАЛЬНЫЙ РЕФАКТОРИНГ АРХИТЕКТУРЫ - Рефакторинг этапов 2.12.23: декомпозиция deep-turn пайплайна ассистента в runtime-адаптеры

This commit is contained in:
2026-04-10 19:22:40 +03:00
parent 19dbaff741
commit 80d108e506
116 changed files with 13949 additions and 2039 deletions
@@ -0,0 +1,36 @@
import type { AssistantDebugPayload, UnifiedRetrievalResult } from "../types/assistant";
import {
buildAssistantEvidenceBundleContractV1,
type AssistantEvidenceBundleContractV1
} from "./assistantOrchestrationContracts";
type RetrievalStatusItem = AssistantDebugPayload["retrieval_status"][number];
export interface AssistantEvidenceBundleAssembly {
evidenceBundleContractV1: AssistantEvidenceBundleContractV1;
retrievalStatus: RetrievalStatusItem[];
}
function buildRetrievalStatus(retrievalResults: UnifiedRetrievalResult[]): RetrievalStatusItem[] {
return retrievalResults.map((item) => ({
fragment_id: item.fragment_id,
requirement_ids: item.requirement_ids,
route: item.route,
status: item.status,
result_type: item.result_type
}));
}
export function assembleAssistantEvidenceBundle(input: {
retrievalCalls: Array<Record<string, unknown>>;
retrievalResults: UnifiedRetrievalResult[];
}): AssistantEvidenceBundleAssembly {
const retrievalResults = Array.isArray(input.retrievalResults) ? input.retrievalResults : [];
return {
evidenceBundleContractV1: buildAssistantEvidenceBundleContractV1({
retrievalCalls: Array.isArray(input.retrievalCalls) ? input.retrievalCalls : [],
retrievalResults
}),
retrievalStatus: buildRetrievalStatus(retrievalResults)
};
}