Skip to content

chore(schema): regenerate stale JSON schemas - #19

Closed
taljaards wants to merge 1 commit into
yusing:mainfrom
taljaards:chore/regenerate-stale-schemas
Closed

taljaards wants to merge 1 commit into
yusing:mainfrom
taljaards:chore/regenerate-stale-schemas

Conversation

@taljaards

@taljaards taljaards commented Sep 9, 2026

Copy link
Copy Markdown

The committed JSON schemas had drifted from their TypeScript sources. This is a plain regeneration — no source changes.

Why it matters

Two of the drifts are user-visible in the config editor:

  • entrypoint.not_found is still typed as an array of RouteRule, but it became a rules string block. The editor rejects the block form that config.example.yml documents.
  • RuleDo is missing the named option block, so middleware actions in rules do not validate.

How

The gen-schema recipe, via npx rather than bunx (no bun on my machine — same generator, same flags):

ts-json-schema-generator --minify --no-type-check -e export --no-ref-encode \
  -f ./tsconfig.json -o <out> -p <in> -t <type>

All seven schemas were regenerated; only three changed. The generator reproduces the other four byte-for-byte, which is what gives me confidence the diff is drift and not tool-version noise.

The gitignored *.schema.deref.json step was skipped — deref.ts imports bun.

🤖 Generated with Claude Code

Note

Regenerate stale godoxy JSON schemas

Refreshes the generated JSON Schema documents for godoxy config, Docker routes, and routes to current serialized versions. This is a code generation update with no hand-written logic changes.

Macroscope summarized b02f195.

Summary by CodeRabbit

  • Documentation
    • Updated routing schema documentation to describe generic named-property blocks and command-specific block properties.
    • Added examples showing middleware RealIP usage in routing rules.
    • Replaced the previous positional named-option descriptions and examples with the updated block-based guidance.

The committed schemas had drifted from their TypeScript sources; this is
a plain regeneration with no source changes.

Two user-visible effects:

- entrypoint.not_found was still typed as an array of RouteRule, but it
  became a rules string block. The config editor rejected the block form
  that config.example.yml documents.
- RuleDo missed the named option block for middleware actions in rules.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@vercel

vercel Bot commented Sep 9, 2026

Copy link
Copy Markdown

@taljaards is attempting to deploy a commit to the GoDoxy Team on Vercel.

A member of the Team first needs to authorize it.

@coderabbitai

coderabbitai Bot commented Sep 9, 2026

Copy link
Copy Markdown

Review Change StackReview Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Advanced

Run ID: c6b9428f-8ac9-45c9-a6e5-df84d9b0bae8

📥 Commits

Reviewing files that changed from the base of the PR and between a80391d and b02f195.

📒 Files selected for processing (3)
  • src/types/godoxy/config.schema.json
  • src/types/godoxy/docker_routes.schema.json
  • src/types/godoxy/routes.schema.json

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

The RuleDo documentation now describes generic named-property blocks in both route schemas. The examples include middleware RealIP block syntax.

Changes

RuleDo schema documentation

Layer / File(s) Summary
Document named-property blocks
src/types/godoxy/docker_routes.schema.json, src/types/godoxy/routes.schema.json
The schemas replace positional named-option wording with generic named-property block documentation and add middleware examples.

Priority: ⬇️ Low

Estimated code review effort: 1 (Trivial) | ~2 minutes

Merge Risk: ⚪ Minimal · up to b02f1

The regenerated schemas document supported named middleware and option-block syntax consistently, reducing validation drift without changing runtime source behavior. No merge-blocking risk remains.

Suggested reviewers: yusing

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the main change: regenerating stale committed JSON schemas.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
✨ Simplify code
  • Create PR with simplified code

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

A rabbit hops through schemas bright
Named blocks now explain the route
Middleware joins the sample night
Two documents share one voice
Clearer paths bring carrot choice

Comment @coderabbitai help to get the list of available commands.

@taljaards

Copy link
Copy Markdown
Author

Closing — this is obsolete. 7453ffa regenerated the same schemas and picked up both drifts this PR was fixing: entrypoint.not_found is now typed as a string block, and RuleDo has the middleware option block.

I verified there is nothing left to contribute: regenerating all seven schemas on current upstream/main reproduces the committed files byte for byte, and the only definitions where this branch still differs are MiddlewaresMap / MiddlewareComposeItem — which is your newer optional cidr_whitelist.allow change that this branch predates. Merging it now would revert that.

The stacked #20 no longer depends on this one: I merged upstream/main into it and resolved the schema conflicts by regenerating from the merged sources.

@taljaards taljaards closed this Sep 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant