diff --git a/plugins/wasm-go/extensions/ai-proxy/main.go b/plugins/wasm-go/extensions/ai-proxy/main.go index 797da9dde..32688d27e 100644 --- a/plugins/wasm-go/extensions/ai-proxy/main.go +++ b/plugins/wasm-go/extensions/ai-proxy/main.go @@ -433,6 +433,10 @@ func onStreamingResponseBody(ctx wrapper.HttpContext, pluginConfig config.Plugin return claudeChunk } + if !needsClaudeResponseConversion(ctx) { + return chunk + } + // If provider doesn't implement any streaming handlers but we need Claude conversion // First extract complete events from the chunk events := provider.ExtractStreamingEvents(ctx, chunk) diff --git a/plugins/wasm-go/extensions/ai-proxy/provider/provider.go b/plugins/wasm-go/extensions/ai-proxy/provider/provider.go index b90082241..aecfb71ff 100644 --- a/plugins/wasm-go/extensions/ai-proxy/provider/provider.go +++ b/plugins/wasm-go/extensions/ai-proxy/provider/provider.go @@ -825,7 +825,7 @@ func ExtractStreamingEvents(ctx wrapper.HttpContext, chunk []byte) []StreamEvent continue } - if lineStartIndex != -1 && valueStartIndex != -1 { + if lineStartIndex != -1 { value := string(body[valueStartIndex:i]) currentEvent.SetValue(currentKey, value) } else {