From f8e8d7e0480bcdef89d6b87ee1e960fd74dc0a3a Mon Sep 17 00:00:00 2001 From: Timothy Jaeryang Baek Date: Fri, 8 Aug 2025 13:50:53 +0400 Subject: [PATCH] refac --- .../chat/ContentRenderer/FloatingButtons.svelte | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/lib/components/chat/ContentRenderer/FloatingButtons.svelte b/src/lib/components/chat/ContentRenderer/FloatingButtons.svelte index 2562d76a8b..819bf75462 100644 --- a/src/lib/components/chat/ContentRenderer/FloatingButtons.svelte +++ b/src/lib/components/chat/ContentRenderer/FloatingButtons.svelte @@ -84,11 +84,21 @@ let prompt = selectedAction?.prompt ?? ''; let toolIds = []; + // Handle: {{variableId|tool:id="toolId"}} pattern + // This regex captures variableId and toolId from {{variableId|tool:id="toolId"}} + const varToolPattern = /\{\{(.*?)\|tool:id="([^"]+)"\}\}/g; + prompt = prompt.replace(varToolPattern, (match, variableId, toolId) => { + toolIds.push(toolId); + return variableId; // Replace with just variableId + }); + + // legacy {{TOOL:toolId}} pattern (for backward compatibility) let toolIdPattern = /\{\{TOOL:([^\}]+)\}\}/g; let match; while ((match = toolIdPattern.exec(prompt)) !== null) { toolIds.push(match[1]); } + // Remove all TOOL placeholders from the prompt prompt = prompt.replace(toolIdPattern, '');