import { runAssistantDeepTurnAnalysisRuntime, type RunAssistantDeepTurnAnalysisRuntimeInput, type RunAssistantDeepTurnAnalysisRuntimeOutput } from "./assistantDeepTurnAnalysisRuntimeAdapter"; import { buildAssistantDeepTurnRuntimeContext, type BuildAssistantDeepTurnRuntimeContextInput, type BuildAssistantDeepTurnRuntimeContextOutput } from "./assistantDeepTurnContextRuntimeAdapter"; import { buildAssistantDeepTurnExecutionPlan, type BuildAssistantDeepTurnExecutionPlanInput, type BuildAssistantDeepTurnExecutionPlanOutput } from "./assistantDeepTurnPlanRuntimeAdapter"; import { executeAssistantDeepTurnRetrievalPlan, type AssistantDeepTurnRetrievalExecutionInput, type AssistantDeepTurnRetrievalExecutionOutput } from "./assistantDeepTurnRetrievalRuntimeAdapter"; import { applyAssistantDeepTurnRetrievalGuards, type AssistantDeepTurnRetrievalGuardPipelineInput, type AssistantDeepTurnRetrievalGuardPipelineOutput } from "./assistantDeepTurnGuardRuntimeAdapter"; import { runAssistantDeepTurnGroundingRuntime, type AssistantDeepTurnGroundingRuntimeInput, type AssistantDeepTurnGroundingRuntimeOutput } from "./assistantDeepTurnGroundingRuntimeAdapter"; import { buildAssistantDeepTurnComposition, type BuildAssistantDeepTurnCompositionInput, type AssistantDeepTurnCompositionOutput } from "./assistantDeepTurnCompositionRuntimeAdapter"; import type { NormalizeResponsePayload, RouteHintSummary } from "../types/normalizer"; import type { InvestigationStateWithProblemUnits } from "../types/stage2ProblemUnits"; import type { AssistantFollowupUsage } from "./assistantFollowupUsage"; import { buildAssistantDeepTurnAnalysisRuntimeInput } from "./assistantDeepTurnAnalysisAttemptInputBuilder"; interface RuntimeAnalysisContextLike { active: boolean; as_of_date: string | null; period_from: string | null; period_to: string | null; source: string | null; } export interface RunAssistantDeepTurnAnalysisAttemptRuntimeInput { userMessage: string; normalizedPayload: NormalizeResponsePayload["normalized"]; routeSummary: RouteHintSummary | null; runtimeAnalysisContext: RuntimeAnalysisContextLike; followupUsage: AssistantFollowupUsage | null | undefined; investigationState: InvestigationStateWithProblemUnits | null | undefined; featureAnswerPolicyV11: boolean; featureProblemCentricAnswerV1: boolean; featureLifecycleAnswerV1: boolean; resolveBusinessScopeAlignment: BuildAssistantDeepTurnRuntimeContextInput["resolveBusinessScopeAlignment"]; inferP0DomainFromMessage: BuildAssistantDeepTurnRuntimeContextInput["inferP0DomainFromMessage"]; resolveBusinessScopeFromLiveContext: BuildAssistantDeepTurnRuntimeContextInput["resolveBusinessScopeFromLiveContext"]; extractRequirements: BuildAssistantDeepTurnExecutionPlanInput["extractRequirements"]; toExecutionPlan: BuildAssistantDeepTurnExecutionPlanInput["toExecutionPlan"]; enforceRbpLiveRoutePlan: BuildAssistantDeepTurnExecutionPlanInput["enforceRbpLiveRoutePlan"]; enforceFaLiveRoutePlan: BuildAssistantDeepTurnExecutionPlanInput["enforceFaLiveRoutePlan"]; executeRouteRuntime: AssistantDeepTurnRetrievalExecutionInput["executeRouteRuntime"]; mapNoRouteReason: AssistantDeepTurnRetrievalExecutionInput["mapNoRouteReason"]; buildSkippedResult: AssistantDeepTurnRetrievalExecutionInput["buildSkippedResult"]; evaluateCoverage: AssistantDeepTurnGroundingRuntimeInput["evaluateCoverage"]; checkGrounding: AssistantDeepTurnGroundingRuntimeInput["checkGrounding"]; collectRbpLiveRouteAudit: AssistantDeepTurnGroundingRuntimeInput["collectRbpLiveRouteAudit"]; collectFaLiveRouteAudit: AssistantDeepTurnGroundingRuntimeInput["collectFaLiveRouteAudit"]; hasExplicitPeriodAnchor: BuildAssistantDeepTurnCompositionInput["hasExplicitPeriodAnchor"]; runDeepTurnAnalysisRuntime?: ( input: RunAssistantDeepTurnAnalysisRuntimeInput ) => Promise; runDeepTurnContextRuntime?: ( input: BuildAssistantDeepTurnRuntimeContextInput ) => BuildAssistantDeepTurnRuntimeContextOutput; runDeepTurnPlanRuntime?: ( input: BuildAssistantDeepTurnExecutionPlanInput ) => BuildAssistantDeepTurnExecutionPlanOutput; runDeepTurnRetrievalRuntime?: ( input: AssistantDeepTurnRetrievalExecutionInput ) => Promise; runDeepTurnGuardRuntime?: ( input: AssistantDeepTurnRetrievalGuardPipelineInput ) => AssistantDeepTurnRetrievalGuardPipelineOutput; runDeepTurnGroundingRuntime?: ( input: AssistantDeepTurnGroundingRuntimeInput ) => AssistantDeepTurnGroundingRuntimeOutput; runDeepTurnCompositionRuntime?: ( input: BuildAssistantDeepTurnCompositionInput ) => AssistantDeepTurnCompositionOutput; } export async function runAssistantDeepTurnAnalysisAttemptRuntime( input: RunAssistantDeepTurnAnalysisAttemptRuntimeInput ): Promise { const runDeepTurnAnalysisRuntimeSafe = input.runDeepTurnAnalysisRuntime ?? runAssistantDeepTurnAnalysisRuntime; const runDeepTurnContextRuntimeSafe = input.runDeepTurnContextRuntime ?? buildAssistantDeepTurnRuntimeContext; const runDeepTurnPlanRuntimeSafe = input.runDeepTurnPlanRuntime ?? buildAssistantDeepTurnExecutionPlan; const runDeepTurnRetrievalRuntimeSafe = input.runDeepTurnRetrievalRuntime ?? executeAssistantDeepTurnRetrievalPlan; const runDeepTurnGuardRuntimeSafe = input.runDeepTurnGuardRuntime ?? applyAssistantDeepTurnRetrievalGuards; const runDeepTurnGroundingRuntimeSafe = input.runDeepTurnGroundingRuntime ?? runAssistantDeepTurnGroundingRuntime; const runDeepTurnCompositionRuntimeSafe = input.runDeepTurnCompositionRuntime ?? buildAssistantDeepTurnComposition; return runDeepTurnAnalysisRuntimeSafe( buildAssistantDeepTurnAnalysisRuntimeInput({ ...input, runDeepTurnContextRuntimeSafe, runDeepTurnPlanRuntimeSafe, runDeepTurnRetrievalRuntimeSafe, runDeepTurnGuardRuntimeSafe, runDeepTurnGroundingRuntimeSafe, runDeepTurnCompositionRuntimeSafe }) ); }