fix(jawn): repair empty tsoa operator models in routes.ts (prod filter validation regression) - #5802
fix(jawn): repair empty tsoa operator models in routes.ts (prod filter validation regression)#5802chitalian wants to merge 1 commit into
Conversation
…wagger The experiment removal (#12) reshuffled tsoa's type-visit order and it emitted Partial_TextOperators_ as an empty model. fix_swagger_operators.py repaired swagger.json (so the web client types stayed correct) but not routes.ts, which is what TSOA's runtime validation reads. With noImplicitAdditionalProperties = throw-on-extras, every request filter using a text operator (equals/like/contains/...) has been rejected since the 2026-08-31 04:37Z deploy: Could not match the union against any of the items ... requestBody.filter ... "left,operator,right" is an excess property and therefore is not allowed - fix_swagger_operators.py now also patches the known operator models in public/private routes.ts, and exits non-zero if any of them is still empty afterwards, so this cannot ship silently again. - tsoa_run.sh passes both routes.ts files to it. - Regenerated: public/routes.ts Partial_TextOperators_ carries its six string properties again (identical shape to the pre-#12 artifact). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FQcs9hwBaiE9z1k32zYimo
|
The latest updates on your projects. Learn more about Vercel for GitHub. 3 Skipped Deployments
|
There was a problem hiding this comment.
Your trial has ended. Reactivate Greptile to resume code reviews.
|
Claude encountered an error —— View job I'll analyze this and get back to you. |
|
This pull request has been ignored for the connected project Preview Branches by Supabase. |
|
This pull request has been ignored for the connected project Preview Branches by Supabase. |
Production hotfix — needs 1 approval to merge, then run
jawn-deployment.yml.Since the 04:37Z deploy of #5801, TSOA runtime validation rejects every request filter that uses a text operator (
equals/like/contains/…):Caught Validation Error for /v1/request/query-clickhouse — Could not match the union against any of the items … requestBody.filter … is an excess propertyCause: the experiment removal reshuffled tsoa's type-visit order and it emitted
Partial_TextOperators_as an empty model. The existingfix_swagger_operators.pyrepairedswagger.json(client types) but notroutes.ts, which is what TSOA validates against at runtime withthrow-on-extras.Fix: the repair step now also patches the operator models in
routes.tsand fails the build if any remain empty;public/routes.tsregenerated (itsPartial_TextOperators_shape is identical to the pre-regression artifact). Jawntscclean. Worker/web untouched. Mirror of Helicone/helicone-private#15.🤖 Generated with Claude Code
https://claude.ai/code/session_01FQcs9hwBaiE9z1k32zYimo