//go:build unit package service import ( "encoding/json" "testing" "github.com/stretchr/testify/require" "github.com/tidwall/gjson" ) func TestBuildKiroWebSearchMCPRequest_UsesUnderscoredMetaKeys(t *testing.T) { req := buildKiroWebSearchMCPRequest("golang concurrency") body, err := json.Marshal(req) require.NoError(t, err) require.Equal(t, "tools/call", gjson.GetBytes(body, "method").String()) require.Equal(t, "web_search", gjson.GetBytes(body, "params.name").String()) require.Equal(t, "golang concurrency", gjson.GetBytes(body, "params.arguments.query").String()) require.True(t, gjson.GetBytes(body, "params.arguments._meta._isValid").Bool()) require.Equal(t, "query", gjson.GetBytes(body, "params.arguments._meta._activePath.0").String()) require.Equal(t, "query", gjson.GetBytes(body, "params.arguments._meta._completedPaths.0.0").String()) require.False(t, gjson.GetBytes(body, "params.arguments._meta.isValid").Exists()) require.False(t, gjson.GetBytes(body, "params.arguments._meta.activePath").Exists()) require.False(t, gjson.GetBytes(body, "params.arguments._meta.completedPaths").Exists()) }