ГЛОБАЛЬНЫЙ РЕФАКТОРИНГ АРХИТЕКТУРЫ - Рефакторинг этапов 2.44 - Вынос deep-response склейку из assistantService в новый bridge и Переподключение assistantService на этот адаптер
This commit is contained in:
+116
@@ -0,0 +1,116 @@
|
||||
import type { AssistantMessageResponsePayload } from "../types/assistant";
|
||||
import type { NormalizeResponsePayload } from "../types/normalizer";
|
||||
import type { InvestigationStateWithProblemUnits } from "../types/stage2ProblemUnits";
|
||||
import type { RunAssistantDeepTurnAnalysisRuntimeOutput } from "./assistantDeepTurnAnalysisRuntimeAdapter";
|
||||
import {
|
||||
runAssistantDeepTurnResponseRuntime,
|
||||
type RunAssistantDeepTurnResponseRuntimeInput,
|
||||
type RunAssistantDeepTurnResponseRuntimeOutput
|
||||
} from "./assistantDeepTurnResponseRuntimeAdapter";
|
||||
|
||||
export interface RunAssistantDeepTurnResponseAttemptRuntimeInput<
|
||||
ResponseType = AssistantMessageResponsePayload
|
||||
> {
|
||||
featureInvestigationStateV1: boolean;
|
||||
featureContractsV11: boolean;
|
||||
featureAnswerPolicyV11: boolean;
|
||||
sessionId: string;
|
||||
questionId: string;
|
||||
userMessage: string;
|
||||
normalized: {
|
||||
trace_id: string;
|
||||
prompt_version: string;
|
||||
schema_version: string;
|
||||
normalized: NormalizeResponsePayload["normalized"];
|
||||
};
|
||||
normalizedQuestion: string;
|
||||
deepTurnAnalysisRuntime: RunAssistantDeepTurnAnalysisRuntimeOutput;
|
||||
runtimeAnalysisContext: unknown;
|
||||
followupStateUsage: unknown;
|
||||
followupApplied: boolean;
|
||||
previousInvestigationState: InvestigationStateWithProblemUnits | null | undefined;
|
||||
addressRuntimeMetaForDeep: unknown;
|
||||
extractDroppedIntentSegments: RunAssistantDeepTurnResponseRuntimeInput["extractDroppedIntentSegments"];
|
||||
buildDebugRoutes: RunAssistantDeepTurnResponseRuntimeInput["buildDebugRoutes"];
|
||||
extractExecutionState: RunAssistantDeepTurnResponseRuntimeInput["extractExecutionState"];
|
||||
sanitizeReply: RunAssistantDeepTurnResponseRuntimeInput["sanitizeReply"];
|
||||
persistInvestigationState: RunAssistantDeepTurnResponseRuntimeInput["persistInvestigationState"];
|
||||
messageIdFactory: RunAssistantDeepTurnResponseRuntimeInput["messageIdFactory"];
|
||||
appendItem: RunAssistantDeepTurnResponseRuntimeInput["appendItem"];
|
||||
getSession: RunAssistantDeepTurnResponseRuntimeInput["getSession"];
|
||||
persistSession: RunAssistantDeepTurnResponseRuntimeInput["persistSession"];
|
||||
cloneConversation: RunAssistantDeepTurnResponseRuntimeInput["cloneConversation"];
|
||||
logEvent: RunAssistantDeepTurnResponseRuntimeInput["logEvent"];
|
||||
runPackagingRuntime?: RunAssistantDeepTurnResponseRuntimeInput["runPackagingRuntime"];
|
||||
runFinalizeDeepTurn?: RunAssistantDeepTurnResponseRuntimeInput["runFinalizeDeepTurn"];
|
||||
runDeepTurnResponseRuntime?: (
|
||||
input: RunAssistantDeepTurnResponseRuntimeInput
|
||||
) => RunAssistantDeepTurnResponseRuntimeOutput;
|
||||
}
|
||||
|
||||
export function runAssistantDeepTurnResponseAttemptRuntime<
|
||||
ResponseType = AssistantMessageResponsePayload
|
||||
>(
|
||||
input: RunAssistantDeepTurnResponseAttemptRuntimeInput<ResponseType>
|
||||
): {
|
||||
response: ResponseType;
|
||||
debug: Record<string, unknown>;
|
||||
} {
|
||||
const runDeepTurnResponseRuntimeSafe =
|
||||
input.runDeepTurnResponseRuntime ?? runAssistantDeepTurnResponseRuntime;
|
||||
const analysis = input.deepTurnAnalysisRuntime;
|
||||
const responseRuntime = runDeepTurnResponseRuntimeSafe({
|
||||
featureInvestigationStateV1: input.featureInvestigationStateV1,
|
||||
featureContractsV11: input.featureContractsV11,
|
||||
featureAnswerPolicyV11: input.featureAnswerPolicyV11,
|
||||
sessionId: input.sessionId,
|
||||
questionId: input.questionId,
|
||||
userMessage: input.userMessage,
|
||||
normalized: input.normalized,
|
||||
normalizedQuestion: input.normalizedQuestion,
|
||||
routeSummary: analysis.resolvedRouteSummary,
|
||||
executionPlan: analysis.executionPlan,
|
||||
requirementExtractionRequirements: analysis.requirementExtraction.requirements,
|
||||
coverageEvaluationRequirements: analysis.coverageEvaluation.requirements,
|
||||
coverageReport: analysis.coverageEvaluation.coverage,
|
||||
groundingCheck: analysis.groundingCheck,
|
||||
retrievalCalls: analysis.retrievalCalls,
|
||||
retrievalResultsRaw: analysis.retrievalResultsRaw,
|
||||
retrievalResults: analysis.retrievalResults,
|
||||
questionTypeClass: analysis.questionTypeClass,
|
||||
companyAnchors: analysis.companyAnchors,
|
||||
runtimeAnalysisContext: input.runtimeAnalysisContext,
|
||||
businessScopeResolution: analysis.businessScopeResolution,
|
||||
temporalGuard: analysis.temporalGuard,
|
||||
polarityAudit: analysis.polarityGuardResult.audit,
|
||||
claimAnchorAudit: analysis.claimAnchorAudit,
|
||||
targetedEvidenceAudit: analysis.targetedEvidenceResult.audit,
|
||||
evidenceAdmissibilityGateAudit: analysis.evidenceGateResult.audit,
|
||||
rbpLiveRouteAudit: analysis.rbpLiveRouteAudit,
|
||||
faLiveRouteAudit: analysis.faLiveRouteAudit,
|
||||
groundedAnswerEligibilityGuard: analysis.groundedAnswerEligibilityGuard,
|
||||
followupStateUsage: input.followupStateUsage,
|
||||
followupApplied: input.followupApplied,
|
||||
composition: analysis.composition as any,
|
||||
previousInvestigationState: input.previousInvestigationState ?? null,
|
||||
addressRuntimeMetaForDeep: input.addressRuntimeMetaForDeep,
|
||||
extractDroppedIntentSegments: input.extractDroppedIntentSegments,
|
||||
buildDebugRoutes: input.buildDebugRoutes,
|
||||
extractExecutionState: input.extractExecutionState,
|
||||
sanitizeReply: input.sanitizeReply,
|
||||
persistInvestigationState: input.persistInvestigationState,
|
||||
messageIdFactory: input.messageIdFactory,
|
||||
appendItem: input.appendItem,
|
||||
getSession: input.getSession,
|
||||
persistSession: input.persistSession,
|
||||
cloneConversation: input.cloneConversation,
|
||||
logEvent: input.logEvent,
|
||||
runPackagingRuntime: input.runPackagingRuntime,
|
||||
runFinalizeDeepTurn: input.runFinalizeDeepTurn
|
||||
});
|
||||
|
||||
return {
|
||||
response: responseRuntime.response as ResponseType,
|
||||
debug: responseRuntime.debug
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user