From 519dc583a08aaea86e2d339a4dce293a2e948531 Mon Sep 17 00:00:00 2001 From: Mikhail Date: Tue, 25 Aug 2026 06:07:08 +0300 Subject: [PATCH] Select latest relevant local search goal --- modules/interaction/domain/travel.go | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/modules/interaction/domain/travel.go b/modules/interaction/domain/travel.go index 5cc0d5b..db837b2 100644 --- a/modules/interaction/domain/travel.go +++ b/modules/interaction/domain/travel.go @@ -75,17 +75,19 @@ func ContinueLocalSearch(message string, history []interaction.HumanUtterance) s } var latest *interaction.HumanUtterance for index := range history { - if latest == nil || history[index].ReceivedAtUnixMillis > latest.ReceivedAtUnixMillis { - candidate := history[index] + candidate := history[index] + candidateText := strings.TrimSpace(StripAssistantVocative(candidate.Content)) + candidateTokens := semanticTokens(candidateText) + if !containsStemInTokens(candidateTokens, "ресторан", "кафе") || !containsStemInTokens(candidateTokens, "ближ", "рядом") { + continue + } + if latest == nil || candidate.ReceivedAtUnixMillis > latest.ReceivedAtUnixMillis { latest = &candidate } } if latest != nil { previous := strings.TrimSpace(StripAssistantVocative(latest.Content)) - previousTokens := semanticTokens(previous) - if containsStemInTokens(previousTokens, "ресторан", "кафе") && containsStemInTokens(previousTokens, "ближ", "рядом") { - return strings.TrimSpace(previous + " " + current) - } + return strings.TrimSpace(previous + " " + current) } return "" } -- 2.54.0