Commit 6baa3df
committed
QVAC-19908 fix: recover Qwen hybrid tool-call frames (tetherto#2677)
* fix: recover Qwen hybrid tool-call frames (QVAC-19908)
* QVAC-19908 doc: explain Qwen hybrid tool-call frame origin
Document why repairFunctionEqualsJson exists: Qwen3.5/3.6 can fuse its
XML and JSON tool templates into a single `{"function=NAME","arguments":{...}}`
frame, and the repair is intentionally scoped to that exact shape so
well-formed JSON frames are never rewritten.
(cherry picked from commit 4b3ac99)1 parent 9a46100 commit 6baa3df
2 files changed
Lines changed: 53 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
9 | 33 | | |
10 | 34 | | |
11 | 35 | | |
| |||
32 | 56 | | |
33 | 57 | | |
34 | 58 | | |
35 | | - | |
| 59 | + | |
36 | 60 | | |
37 | 61 | | |
38 | 62 | | |
| |||
96 | 120 | | |
97 | 121 | | |
98 | 122 | | |
99 | | - | |
| 123 | + | |
100 | 124 | | |
101 | 125 | | |
102 | 126 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
972 | 972 | | |
973 | 973 | | |
974 | 974 | | |
| 975 | + | |
| 976 | + | |
| 977 | + | |
| 978 | + | |
| 979 | + | |
| 980 | + | |
| 981 | + | |
| 982 | + | |
| 983 | + | |
| 984 | + | |
| 985 | + | |
| 986 | + | |
| 987 | + | |
| 988 | + | |
| 989 | + | |
| 990 | + | |
| 991 | + | |
| 992 | + | |
| 993 | + | |
| 994 | + | |
| 995 | + | |
| 996 | + | |
| 997 | + | |
| 998 | + | |
| 999 | + | |
| 1000 | + | |
| 1001 | + | |
975 | 1002 | | |
976 | 1003 | | |
977 | 1004 | | |
| |||
0 commit comments