Архитектура: централизовать selected-item carryover в continuity policy и transition glue
This commit is contained in:
@@ -3,6 +3,7 @@ import {
|
||||
applyHistoricalPartyCarryoverFilters,
|
||||
applyOrganizationCarryoverFilters,
|
||||
applyReferencedEntityCarryover,
|
||||
applySelectedItemCarryover,
|
||||
applyTemporalCarryoverFilters,
|
||||
buildRootScopedCarryoverFilters,
|
||||
buildInventoryRootFrameFromAddressDebug,
|
||||
@@ -874,10 +875,16 @@ export function createAssistantTransitionPolicy(deps) {
|
||||
rootScopedPivot,
|
||||
deps.toNonEmptyString
|
||||
));
|
||||
if (
|
||||
!rootScopedPivot &&
|
||||
!deps.toNonEmptyString(previousFilters.item) &&
|
||||
(sourceIntentHint === "inventory_on_hand_as_of_date" ||
|
||||
({
|
||||
previousFilters,
|
||||
previousAnchorType,
|
||||
previousAnchorValue: previousAnchor
|
||||
} = applySelectedItemCarryover(
|
||||
previousFilters,
|
||||
previousAnchorType,
|
||||
previousAnchor,
|
||||
rootScopedPivot,
|
||||
sourceIntentHint === "inventory_on_hand_as_of_date" ||
|
||||
sourceIntentHint === "inventory_purchase_provenance_for_item" ||
|
||||
sourceIntentHint === "inventory_purchase_documents_for_item" ||
|
||||
sourceIntentHint === "inventory_sale_trace_for_item" ||
|
||||
@@ -885,19 +892,13 @@ export function createAssistantTransitionPolicy(deps) {
|
||||
sourceIntentHint === "inventory_purchase_to_sale_chain" ||
|
||||
sourceIntentHint === "inventory_aging_by_purchase_date" ||
|
||||
hasSelectedObjectInventorySignalPrimary ||
|
||||
hasSelectedObjectInventorySignalAlternate)
|
||||
) {
|
||||
const selectedObjectLabel =
|
||||
(navigationFocusObjectType === "item" ? navigationFocusObjectLabel : null) ??
|
||||
continuitySnapshot.activeItem ??
|
||||
extractSelectedObjectLabel(userMessage) ??
|
||||
(deps.toNonEmptyString(alternateMessage) ? extractSelectedObjectLabel(String(alternateMessage ?? "")) : null);
|
||||
if (selectedObjectLabel) {
|
||||
previousFilters.item = selectedObjectLabel;
|
||||
previousAnchorType = "item";
|
||||
previousAnchor = selectedObjectLabel;
|
||||
}
|
||||
}
|
||||
hasSelectedObjectInventorySignalAlternate,
|
||||
navigationFocusObjectType === "item" ? navigationFocusObjectLabel : null,
|
||||
continuitySnapshot.activeItem,
|
||||
extractSelectedObjectLabel(userMessage),
|
||||
deps.toNonEmptyString(alternateMessage) ? extractSelectedObjectLabel(String(alternateMessage ?? "")) : null,
|
||||
deps.toNonEmptyString
|
||||
));
|
||||
if (explicitOrganizationClarificationSelection && !previousAnchor) {
|
||||
previousAnchorType = "organization";
|
||||
previousAnchor = explicitOrganizationClarificationSelection;
|
||||
|
||||
Reference in New Issue
Block a user