From 3515a483ca0afa4da0844a8eea95b2d44d340ee5 Mon Sep 17 00:00:00 2001 From: Mikhail Date: Tue, 25 Aug 2026 14:49:01 +0300 Subject: [PATCH] Fix generic creative target extraction --- modules/interaction/domain/task_decomposition.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/interaction/domain/task_decomposition.go b/modules/interaction/domain/task_decomposition.go index dce0036..594be6e 100644 --- a/modules/interaction/domain/task_decomposition.go +++ b/modules/interaction/domain/task_decomposition.go @@ -67,7 +67,10 @@ func DecomposeTaskWithLexicon(message string, lexicon TaskLexicon) TaskDecomposi if result.Source != "" { result.NeedsResearch = result.Intent == TaskIntentSearch } - if result.Object != "" { + if result.Intent == TaskIntentCreate { + result.Target = valueAfterAnyCue(lower, "нарисуй", "нарисовать", "изобрази", "создай") + } + if result.Target == "" && result.Object != "" { for _, entry := range lexicon.ObjectAliases { if entry.Value == result.Object { result.Target = valueAfterCue(lower, entry.Alias) @@ -75,9 +78,6 @@ func DecomposeTaskWithLexicon(message string, lexicon TaskLexicon) TaskDecomposi } } } - if result.Intent == TaskIntentCreate && result.Target == "" { - result.Target = valueAfterAnyCue(lower, "нарисуй", "нарисовать", "изобрази", "создай") - } if result.Intent == TaskIntentSearch && result.Source == "" { result.Missing = append(result.Missing, "SOURCE_OR_SEARCH_SCOPE") }