From 2e7e8073bd7d66b992fb29057087605530c67f39 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 30 May 2026 00:00:22 +0000 Subject: [PATCH] Add debug logging to jq middleware filter functions Add logMiddleware.Printf calls to CompileToolResponseFilter, tryApplyToolResponseFilter, and rewriteFilteredTextPayload in internal/middleware/jqschema.go. These functions previously had no debug instrumentation despite being key entry points in the tool response filter pipeline. The new logs help trace: - When a filter expression is compiled and its length (compile entry/exit) - Whether a response filter is active per tool call (filter present/absent) - Text payload rewrite size when filtered content is applied Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- internal/middleware/jqschema.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/internal/middleware/jqschema.go b/internal/middleware/jqschema.go index 5a868e69..4629f06c 100644 --- a/internal/middleware/jqschema.go +++ b/internal/middleware/jqschema.go @@ -265,6 +265,7 @@ func runJqCode( // This is injection-safe: variable values are bound at the Go level and never // interpolated into the jq expression string. func CompileToolResponseFilter(filter string) (*gojq.Code, error) { + logMiddleware.Printf("CompileToolResponseFilter: parsing jq filter expression, len=%d", len(filter)) query, err := gojq.Parse(filter) if err != nil { return nil, fmt.Errorf("failed to parse tool response filter: %w", err) @@ -275,6 +276,7 @@ func CompileToolResponseFilter(filter string) (*gojq.Code, error) { return nil, fmt.Errorf("failed to compile tool response filter: %w", err) } + logMiddleware.Printf("CompileToolResponseFilter: filter compiled successfully") return code, nil } @@ -301,6 +303,7 @@ func tryApplyToolResponseFilter( toolName string, queryID string, ) (*sdk.CallToolResult, interface{}) { + logMiddleware.Printf("tryApplyToolResponseFilter: tool=%s, queryID=%s, hasFilter=%v", toolName, queryID, filterCode != nil) if filterCode == nil { return result, data } @@ -358,6 +361,7 @@ func tryApplyToolResponseFilter( } func rewriteFilteredTextPayload(result *sdk.CallToolResult, data interface{}, filteredText string) (*sdk.CallToolResult, interface{}) { + logMiddleware.Printf("rewriteFilteredTextPayload: rewriting first text content item, filteredLen=%d", len(filteredText)) rewrittenContent := make([]sdk.Content, 0, len(result.Content)) rewrittenContent = append(rewrittenContent, &sdk.TextContent{Text: filteredText}) if len(result.Content) > 1 {