ГЛОБАЛЬНЫЙ РЕФАКТОРИНГ АРХИТЕКТУРЫ - Рефакторинг этапов 2.12.23: декомпозиция deep-turn пайплайна ассистента в runtime-адаптеры
This commit is contained in:
@@ -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)
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user