feat(ext-openapi): pick the page that reads the document #26

Merged
Relism merged 2 commits from feat/openapi/documentation-page into master 2026-09-24 12:06:46 +00:00
2 Commits
Author SHA1 Message Date
Zakaria El OrcheandClaude Opus 5 439588c19f feat(ext-openapi): pick the page that reads the document
Swagger UI, Redoc or Scalar, each configured with its own options under the
names its own documentation gives them, or no page at all. What a UI does not
name still passes through, so a bundle's whole option set stays reachable
without this extension tracking it.

The page is rendered once at boot and the document is encoded once per
revision, so a request to any of the three routes hands out bytes rather than
building them: the spec used to be serialized again on every single request.

/openapi/swagger becomes /openapi/docs, because the path names what is served
and not which bundle happens to serve it. That page also named a preset that
lives in a bundle it never loaded, and BaseLayout never needed it.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-24 12:03:48 +00:00
Zakaria El OrcheandClaude Opus 5 5164f8c41f feat(ext-openapi): a pattern says in words what its regex says in symbols
A schema's pattern is precise and unreadable. When the constraint declares a
message, that message now goes in the property's description too, after
whatever the property already said, so the document carries both the rule a
machine checks and the sentence a person reads.

Only @Pattern does this. Every other constraint has a keyword that already
reads: required, maxLength, format: email. Repeating those as prose would be
noise.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-24 09:56:54 +00:00