You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(bigquery): derive body identifiers from the path guard, not a bare trim
safeUrlPathSegment deliberately accepts a finite number or a bigint, because an
LLM tool call can serialize a numeric-looking id as a JSON number. The .trim()
this replaces did not, so a numeric projectId built the path fine and then threw
a raw TypeError while building the body — the request died after passing its own
guard.
Adds canonicalBigQueryId, which round-trips through safeUrlPathSegment and undoes
only the percent-encoding, so the body reuses the path guard's accepted input
kinds, trimming and dot-segment rejection instead of restating them. Applied to
all six body identifiers, including the five .trim() sites that predate this
branch and shared the same fragility.
Pinned with a numeric-projectId test verified red against the bare trim.
0 commit comments