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
find_invalid_x_mcp_header: never repr a non-string annotation value
The token and primitive-type checks each fused "the value is not a string"
and "the string is invalid" into one branch whose message repred the value
either way, and repr() of an arbitrary schema value is not total: an int
with more digits than sys.get_int_max_str_digits() raises ValueError out of
ClientSession.list_tools() instead of the tool being dropped. That is
reachable from the public API via the in-memory Client(server) path, which
has no JSON decode step in front of the client-side filter. Each check is
now two checks with two messages, so a value only reaches an interpolation
once proven str, and the wrong-type messages name the type instead of
pretending the value is a malformed token.
Also pin the schema-position walk applicator keywords independently of the
implementation: the reject test hand-picked 6 of the 19, so the other 13
(including the spec-named anyOf/not/then/else and additionalProperties)
could be dropped from the walk without a failing test. The cases are now a
literal keyword -> shape table covering all 19, plus an equality test
against the walk keyword sets so an added keyword must gain a literal case;
the hand-picked six are subsumed.
0 commit comments