Commit graph

85 commits

Author SHA1 Message Date
Virgil
8dd15251ea fix(api): omit disabled graphql playground spec metadata
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-03 04:56:48 +00:00
Virgil
a3a1c20e7a fix(api): support custom GraphQL playground paths
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-03 04:53:30 +00:00
Virgil
76acb4534b fix(api): surface GraphQL playground metadata
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-03 04:38:22 +00:00
Virgil
0022931eff fix(openapi): normalise spec builder metadata
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 14:48:26 +00:00
Virgil
2b71c78c33 fix(openapi): ignore non-positive cache ttl in spec
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 14:42:01 +00:00
Virgil
be43aa3d72 fix(openapi): deep clone route metadata
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 14:35:59 +00:00
Virgil
579b27d84e refactor(openapi): precompute authentik public paths
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 14:09:35 +00:00
Virgil
eb771875e2 fix(openapi): document authentik public paths as public
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 14:03:16 +00:00
Virgil
a6693e1656 feat(api): surface effective Authentik public paths in specs
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 13:51:54 +00:00
Virgil
f234fcba5f feat(api): surface authentik metadata in specs
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 13:25:23 +00:00
Virgil
ec268c8100 feat(api): default enabled transport paths in specs
Treat enabled built-in transports as having their default paths when callers omit an explicit override. This keeps manual SpecBuilder usage aligned with the engine defaults and prevents Swagger, GraphQL, WebSocket, and SSE metadata from disappearing from generated documents.\n\nCo-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 13:07:05 +00:00
Virgil
f919e8a3be feat(api): expose cache and i18n OpenAPI metadata
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 12:29:40 +00:00
Virgil
71c179018d refactor(api): snapshot route metadata during spec build
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 09:08:16 +00:00
Virgil
4fc93612e4 feat(api): make spec builder nil-safe 2026-04-02 09:01:04 +00:00
Virgil
57ff0d2a48 feat(api): expose swagger and graphql spec flags 2026-04-02 08:57:41 +00:00
Virgil
d40ff2c294 fix(api): remove global openapi bearer security
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 08:54:24 +00:00
Virgil
192f8331f2 feat(api): expose websocket and sse transport flags
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 08:48:28 +00:00
Virgil
d225fd3178 feat(api): add openapi info summary support
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 08:16:56 +00:00
Virgil
ec945970ee docs(api): add AX usage examples
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 07:51:21 +00:00
Virgil
b0549dc14e fix(api): deep-clone swagger security schemes
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 07:19:32 +00:00
Virgil
69dd16cba6 feat(api): expose reusable OpenAPI response components
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 07:10:55 +00:00
Virgil
8e1a424fc8 feat(api): merge custom OpenAPI security schemes
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 07:01:41 +00:00
Virgil
b99e445436 feat(openapi): document debug endpoint rate-limit headers
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 06:52:40 +00:00
Virgil
3b75dc1701 fix(openapi): preserve example-only response schemas
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 06:33:24 +00:00
Virgil
9b24a46fd5 feat(openapi): export runtime transport metadata
Expose GraphQL, WebSocket, SSE, and debug endpoint metadata alongside the existing Swagger UI path in generated OpenAPI documents.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 06:08:44 +00:00
Virgil
a469a78b2a feat(openapi): document GraphQL GET queries
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 03:25:25 +00:00
Virgil
d9ccd7c49a feat(openapi): export swagger ui path metadata
Preserve the Swagger UI mount path in generated OpenAPI output and expose it through the spec and sdk CLI builders.\n\nCo-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 03:16:08 +00:00
Virgil
c3143a5029 feat(openapi): declare json schema dialect
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 03:09:28 +00:00
Virgil
e8d54797bf feat(openapi): include graphql tag for playground default path
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 03:04:55 +00:00
Virgil
85d6f6dd6e feat(openapi): default graphql path for playground specs
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 03:00:51 +00:00
Virgil
f53617c507 feat(openapi): document sunsetted operations as gone
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 02:56:13 +00:00
Virgil
006a065ea0 feat(openapi): document WebSocket endpoint
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 02:33:31 +00:00
Virgil
273bc3d70a feat(openapi): document GraphQL playground endpoint
Adds GraphQL Playground coverage to the generated OpenAPI spec when the GraphQL playground option is enabled, and wires the engine metadata through so runtime docs match the mounted route.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 02:29:20 +00:00
Virgil
41615bbe47 feat(api): document debug endpoints in OpenAPI spec
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 02:24:27 +00:00
Virgil
86c2150a21 feat(openapi): document SSE endpoint
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 01:44:49 +00:00
Virgil
02082db8f4 fix(openapi): document graphql cache headers
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 01:40:05 +00:00
Virgil
50b6a9197f refactor(openapi): remove unused route-group prep state
Simplifies route-group preparation by dropping dead metadata that was no longer used by the OpenAPI builder.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 01:34:14 +00:00
Virgil
08a2d93776 fix(openapi): fall back to Describe for nil iterators
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 01:27:40 +00:00
Virgil
e23d8e9780 feat(openapi): sort generated tags deterministically
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 00:47:51 +00:00
Virgil
812400f303 feat(openapi): keep empty describable group tags
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 00:39:04 +00:00
Virgil
0bb07f43f0 feat(openapi): hide undocumented routes
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 00:35:17 +00:00
Virgil
68bf8dcaf8 feat(openapi): document GraphQL endpoint
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 00:17:26 +00:00
Virgil
47e8c8a795 feat(openapi): document route headers on all responses
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 23:21:56 +00:00
Virgil
eb7e1e51cb feat(openapi): reuse deprecation header components 2026-04-01 23:12:40 +00:00
Virgil
29324b0a0b feat(api): add sunset deprecation middleware
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 23:02:52 +00:00
Virgil
ccfbe57faf feat(openapi): document response headers 2026-04-01 22:42:13 +00:00
Virgil
ec7391cb06 feat(api): add iterator-backed spec export
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 22:25:07 +00:00
Virgil
b2116cc896 feat(openapi): omit auth errors on public routes
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 21:46:06 +00:00
Virgil
f62933f570 feat(openapi): document example-only request bodies
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 21:12:14 +00:00
Virgil
b0adb53dec fix(openapi): snapshot describable groups once
Prepare route descriptions once per group before building paths and tags so iterator-backed DescribeIter implementations are consumed safely and deterministically.

Adds a regression test covering a one-shot iterator-backed group.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 21:07:04 +00:00