Repository navigation
fix: flatten MCP query_data schema and add null guards for error details - #11
Merged
Merged
Conversation
Flatten the query_data tool's discriminated union schema into a single flat object schema. The Anthropic API rejects anyOf/oneOf/allOf at the top level of tool input schemas, which caused Claude Code to silently drop all tools from the MCP server. Also adds defensive null guards in build-spec.ts and errors-by-type-table.tsx to prevent TypeError crashes when MCP tool output data has missing fields. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Landing: guard useAuth() behind PUBLISHABLE_KEY check so it's never called during SSR when ClerkProvider is absent (CI environment) - Services test: fix expected search params to match applyTimeRangeSearch behavior (presets clear startTime/endTime, not preserve them) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- plan-gating: hasBringYourOwnCloudAddOn now checks customer.features, not product IDs - traces: attribute filter params aren't forwarded to Tinybird queries, test assertions now match actual params - traces/services index: preset selections clear startTime/endTime per applyTimeRangeSearch behavior - settings: buildCustomer sets features for BYO entitlement check - org-tinybird-settings: mock useAtomValue returns per-atom data and exports Atom for transitive imports Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Use proper CustomerFeature objects instead of booleans in test fixtures - Remove unused BRING_YOUR_OWN_CLOUD_ADD_ON_ID constant Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
JeremyFunk
added a commit
that referenced
this pull request
Sep 28, 2026
…cache_write_input_tokens (#11) Older Strands releases write both cache buckets as gen_ai.usage.cache_read_input_tokens / cache_write_input_tokens (captures strands_user, strands_agents), which no alias list read. Both join the default integration's cache aliases and the index's bucket key lists; migration 0035 and the local v26 schema are regenerated with them, and the materialization e2e seeds a Strands span carrying them.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
query_dataMCP tool's discriminated union schema (anyOf/oneOf) into a single flat object schema — the Anthropic API rejects union schemas at the top level, which caused Claude Code to silently drop all MCP tools?? []null guards inbuild-spec.tsanderrors-by-type-table.tsxto preventTypeError: Cannot read properties of undefined (reading 'map')crashes when MCP tool output data has missing or truncated fieldsTest plan
bun typecheckpasses (pre-existing unrelated error only)/errorspage, expand an error row — no crasherror_detailtool — rendering works🤖 Generated with Claude Code