АРЧ АП11 - Архитектура после регресса: Архитектура: централизовать anchor и temporal carryover в continuity policy и протянуть их в transition hot path
This commit is contained in:
@@ -3,6 +3,8 @@ import {
|
||||
buildInventoryRootFrameFromAddressDebug,
|
||||
readAddressDebugFilters,
|
||||
readAddressDebugItem,
|
||||
readAddressDebugTemporalScope,
|
||||
resolveAddressDebugAnchorContext,
|
||||
resolveAssistantOrganizationAuthority
|
||||
} from "./assistantContinuityPolicy";
|
||||
|
||||
@@ -422,6 +424,10 @@ export function createAssistantTransitionPolicy(deps) {
|
||||
mergeKnownOrganizations: deps.mergeKnownOrganizations
|
||||
});
|
||||
const continuitySnapshot = organizationAuthority.continuitySnapshot;
|
||||
const continuityTemporalScope = readAddressDebugTemporalScope(
|
||||
continuitySnapshot.lastGroundedAddressDebug,
|
||||
deps.toNonEmptyString
|
||||
);
|
||||
const organizationClarificationCandidates = Array.isArray(organizationAuthority.organizationClarificationCandidates)
|
||||
? organizationAuthority.organizationClarificationCandidates
|
||||
: [];
|
||||
@@ -652,14 +658,9 @@ export function createAssistantTransitionPolicy(deps) {
|
||||
followupSelectionMode = "switch_to_suggested_intent";
|
||||
}
|
||||
}
|
||||
let previousAnchorType = deps.toNonEmptyString(previousAddressDebug.anchor_type);
|
||||
let previousAnchor =
|
||||
deps.toNonEmptyString(previousAddressDebug.anchor_value_resolved) ??
|
||||
deps.toNonEmptyString(previousAddressDebug.anchor_value_raw) ??
|
||||
deps.readAddressFilterString(previousAddressDebug, "item") ??
|
||||
deps.readAddressFilterString(previousAddressDebug, "counterparty") ??
|
||||
deps.readAddressFilterString(previousAddressDebug, "account") ??
|
||||
deps.readAddressFilterString(previousAddressDebug, "contract");
|
||||
const previousAnchorContext = resolveAddressDebugAnchorContext(previousAddressDebug, deps.toNonEmptyString);
|
||||
let previousAnchorType = previousAnchorContext.anchorType;
|
||||
let previousAnchor = previousAnchorContext.anchorValue;
|
||||
const navigationSessionContext =
|
||||
addressNavigationState && typeof addressNavigationState === "object"
|
||||
? addressNavigationState.session_context && typeof addressNavigationState.session_context === "object"
|
||||
@@ -851,11 +852,9 @@ export function createAssistantTransitionPolicy(deps) {
|
||||
if (
|
||||
shouldBackfillPreviousDateScopeFromNavigation &&
|
||||
!deps.toNonEmptyString(previousFilters.as_of_date) &&
|
||||
readAddressDebugFilters(continuitySnapshot.lastGroundedAddressDebug)?.as_of_date
|
||||
continuityTemporalScope.asOfDate
|
||||
) {
|
||||
previousFilters.as_of_date = deps.toNonEmptyString(
|
||||
readAddressDebugFilters(continuitySnapshot.lastGroundedAddressDebug)?.as_of_date
|
||||
);
|
||||
previousFilters.as_of_date = continuityTemporalScope.asOfDate;
|
||||
}
|
||||
if (
|
||||
shouldBackfillPreviousDateScopeFromNavigation &&
|
||||
@@ -867,11 +866,9 @@ export function createAssistantTransitionPolicy(deps) {
|
||||
if (
|
||||
shouldBackfillPreviousDateScopeFromNavigation &&
|
||||
!deps.toNonEmptyString(previousFilters.period_from) &&
|
||||
readAddressDebugFilters(continuitySnapshot.lastGroundedAddressDebug)?.period_from
|
||||
continuityTemporalScope.periodFrom
|
||||
) {
|
||||
previousFilters.period_from = deps.toNonEmptyString(
|
||||
readAddressDebugFilters(continuitySnapshot.lastGroundedAddressDebug)?.period_from
|
||||
);
|
||||
previousFilters.period_from = continuityTemporalScope.periodFrom;
|
||||
}
|
||||
if (
|
||||
shouldBackfillPreviousDateScopeFromNavigation &&
|
||||
@@ -883,11 +880,9 @@ export function createAssistantTransitionPolicy(deps) {
|
||||
if (
|
||||
shouldBackfillPreviousDateScopeFromNavigation &&
|
||||
!deps.toNonEmptyString(previousFilters.period_to) &&
|
||||
readAddressDebugFilters(continuitySnapshot.lastGroundedAddressDebug)?.period_to
|
||||
continuityTemporalScope.periodTo
|
||||
) {
|
||||
previousFilters.period_to = deps.toNonEmptyString(
|
||||
readAddressDebugFilters(continuitySnapshot.lastGroundedAddressDebug)?.period_to
|
||||
);
|
||||
previousFilters.period_to = continuityTemporalScope.periodTo;
|
||||
}
|
||||
const rootContextOnlyPivot = Boolean(
|
||||
(deps.isInventorySelectedObjectIntent(sourceIntentHint) || currentFrameKind === "inventory_drilldown") &&
|
||||
|
||||
Reference in New Issue
Block a user