ARCH: удержать counterparty scope после contracts pivot в payments

This commit is contained in:
2026-04-23 20:30:55 +03:00
parent 0528745e39
commit 7e1a2edadb
4 changed files with 206 additions and 6 deletions
@@ -2439,11 +2439,19 @@ function findRecentInventoryRootFrame(items) {
const ADDRESS_FOLLOWUP_OFFER_BY_INTENT = {
list_documents_by_counterparty: ["bank_operations_by_counterparty", "list_contracts_by_counterparty"],
bank_operations_by_counterparty: ["list_documents_by_counterparty", "list_contracts_by_counterparty"],
list_contracts_by_counterparty: ["list_documents_by_contract", "bank_operations_by_contract"],
list_documents_by_contract: ["bank_operations_by_contract"],
bank_operations_by_contract: ["list_documents_by_contract"],
open_items_by_counterparty_or_contract: ["list_documents_by_counterparty", "bank_operations_by_counterparty"]
} as Record<string, string[]>;
function resolveAddressFollowupSuggestedIntents(intent, anchorType) {
if (intent === "list_contracts_by_counterparty") {
if (anchorType === "contract") {
return ["list_documents_by_contract", "bank_operations_by_contract"];
}
return ["list_documents_by_counterparty", "bank_operations_by_counterparty"];
}
return ADDRESS_FOLLOWUP_OFFER_BY_INTENT[intent] ?? null;
}
function buildAddressFollowupOffer(addressDebug) {
if (!isAddressLaneDebugPayload(addressDebug)) {
return null;
@@ -2452,11 +2460,11 @@ function buildAddressFollowupOffer(addressDebug) {
if (!intent) {
return null;
}
const suggestedIntents = ADDRESS_FOLLOWUP_OFFER_BY_INTENT[intent];
const anchorContext = (0, assistantContinuityPolicy_1.resolveAddressDebugAnchorContext)(addressDebug, toNonEmptyString);
const suggestedIntents = resolveAddressFollowupSuggestedIntents(intent, anchorContext.anchorType);
if (!Array.isArray(suggestedIntents) || suggestedIntents.length === 0) {
return null;
}
const anchorContext = (0, assistantContinuityPolicy_1.resolveAddressDebugAnchorContext)(addressDebug, toNonEmptyString);
return {
enabled: true,
source_intent: intent,