diff --git a/internal/lua/zz_repro_test.go b/internal/lua/zz_repro_test.go deleted file mode 100644 index 9387e4f..0000000 --- a/internal/lua/zz_repro_test.go +++ /dev/null @@ -1,30 +0,0 @@ -package lua - -import ( - "strings" - "testing" -) - -// 临时复现:内核发出的 assistant(content=null)+tool_calls 形状, -// 经 anthropic.lua 转换后 content 是否变成对象 {}(上游期望数组)。 -func TestZZReproAnthropicEmptyBlocks(t *testing.T) { - vm := NewVM(freshAdapterDir(t)) - if err := vm.Start(); err != nil { - t.Fatal(err) - } - defer vm.Stop() - - cases := map[string]string{ - "assistant content=null + tool_calls": `{"model":"x","messages":[{"role":"user","content":"hi"},{"role":"assistant","content":null,"tool_calls":[{"id":"c1","type":"function","function":{"name":"f","arguments":"{}"}}]},{"role":"tool","tool_call_id":"c1","content":"ok"}]}`, - "assistant content=空串 + tool_calls": `{"model":"x","messages":[{"role":"user","content":"hi"},{"role":"assistant","content":"","tool_calls":[{"id":"c1","type":"function","function":{"name":"f","arguments":"{}"}}]},{"role":"tool","tool_call_id":"c1","content":"ok"}]}`, - "仅 system": `{"model":"x","messages":[{"role":"system","content":"s"}]}`, - } - for name, body := range cases { - out, err := vm.Transform("anthropic", "transform_request", body) - if err != nil { - t.Fatalf("%s: %v", name, err) - } - bad := strings.Contains(out, `"content":{}`) - t.Logf("%-38s content为对象{}: %v\n out=%s", name, bad, out) - } -}