diff --git a/internal/js/helpers/stream-tool-sieve/parse.js b/internal/js/helpers/stream-tool-sieve/parse.js index 21378eb..132baff 100644 --- a/internal/js/helpers/stream-tool-sieve/parse.js +++ b/internal/js/helpers/stream-tool-sieve/parse.js @@ -10,8 +10,10 @@ const { parseTextKVToolCalls, stripFencedCodeBlocks, } = require('./parse_payload'); +const { TOOL_SEGMENT_KEYWORDS } = require('./tool-keywords'); const TOOL_NAME_LOOSE_PATTERN = /[^a-z0-9]+/g; +const TOOL_MARKUP_PREFIXES = [' lower.includes(kw)) + || TOOL_MARKUP_PREFIXES.some((prefix) => lower.includes(prefix)); } function shouldSkipToolCallParsingForCodeFenceExample(text) { - if (!looksLikeToolCallSyntax(text) || looksLikeMarkupToolSyntax(text)) { - return false; - } - const stripped = stripFencedCodeBlocks(text); - return !looksLikeToolCallSyntax(stripped); -} - -function looksLikeMarkupToolSyntax(text) { - const raw = toStringSafe(text); - if (!raw) { return false; } return /<(?:(?:[a-z0-9_:-]+:)?(?:tool_call|function_call|invoke)\b)/i.test(raw)