feat(toolcall): prioritize XML for model output and parsing

This commit is contained in:
CJACK.
2026-03-29 10:53:38 +08:00
parent 6e8f3185d5
commit 958f4e39b5
7 changed files with 90 additions and 54 deletions

View File

@@ -54,9 +54,9 @@ function parseToolCallsDetailed(text, toolNames) {
const candidates = buildToolCallCandidates(normalized);
let parsed = [];
for (const c of candidates) {
parsed = parseToolCallsPayload(c);
parsed = parseMarkupToolCalls(c);
if (parsed.length === 0) {
parsed = parseMarkupToolCalls(c);
parsed = parseToolCallsPayload(c);
}
if (parsed.length === 0) {
parsed = parseTextKVToolCalls(c);
@@ -101,9 +101,9 @@ function parseStandaloneToolCallsDetailed(text, toolNames) {
const candidates = buildToolCallCandidates(trimmed);
let parsed = [];
for (const c of candidates) {
parsed = parseToolCallsPayload(c);
parsed = parseMarkupToolCalls(c);
if (parsed.length === 0) {
parsed = parseMarkupToolCalls(c);
parsed = parseToolCallsPayload(c);
}
if (parsed.length === 0) {
parsed = parseTextKVToolCalls(c);