Commit graph

187 commits

Author SHA1 Message Date
Virgil
dd834211d8 fix(auth): exempt swagger ui path in authentik middleware
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 06:29:34 +00:00
Virgil
b8fd020bb2 refactor(cmd/api): thread swagger path through sdk spec builder
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 06:26:01 +00:00
Virgil
428552e58c feat(api): add iterator-based spec group registration
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 06:22:29 +00:00
Virgil
824fc2cd75 refactor(export): simplify spec writer handling
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 06:19:23 +00:00
Virgil
fe256147e6 feat(openapi): export configured transport paths
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 06:13:15 +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
29f4c23977 fix(api): preserve streaming response passthrough
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 06:04:06 +00:00
Virgil
d7ef3610f7 fix(response): attach meta to all json responses
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 03:38:34 +00:00
Virgil
76aa4c9974 fix(openapi): preserve explicit swagger path metadata
Carry a configured Swagger UI path into OpenAPISpecBuilder even when the UI option itself is not enabled yet, and add a regression test for the path-only case.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 03:34:04 +00:00
Virgil
5d28b8d83d feat(openapi): export default swagger path metadata
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 03:30:12 +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
e47b010194 feat(api): add configurable websocket path
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 03:21:28 +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
13f901b88f fix(api-docs): describe 410 gone responses
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 02:51:23 +00:00
Virgil
6ea0b26a13 feat(api-docs): document binary pixel responses 2026-04-02 02:47:02 +00:00
Virgil
8e28b0209c feat(cmd/api): add GraphQL playground spec flag
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 02:42:42 +00:00
Virgil
f0b2d8b248 feat(cmd/api): expose runtime spec metadata flags
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 02:39:02 +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
d803ac8f3b feat(api): add engine OpenAPI spec builder
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 02:19:43 +00:00
Virgil
1fb55c9515 fix(cmd/api): use CLI context for SDK generation
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 02:13:17 +00:00
Virgil
ef641c7547 feat(api): add configurable Swagger path
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 02:06:45 +00:00
Virgil
39bf094b51 feat(api): add configurable SSE path
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 02:01:43 +00:00
Virgil
b4d414b702 feat(cmd/api): add SSE path spec flags
Wire "--sse-path" through the spec and SDK generators so standalone OpenAPI output can document the SSE endpoint alongside GraphQL.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 01:55:13 +00:00
Virgil
085c57a06d feat(cache): add byte-bounded eviction
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 01:49:36 +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
6b075a207b feat(provider): add registry subset iterators
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 00:52:21 +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
c21c3409d7 feat(api): harden version header parsing
Handle Accept-Version parameters and comma-separated Accept values when extracting API versions.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 00:43:14 +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
68f5abefd0 fix(api): trim tool bridge tags
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 00:31:38 +00:00
Virgil
ffbb6d83d0 fix(api): snapshot swagger groups
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 00:24:54 +00:00
Virgil
2c87fa02cb feat(cmd/api): add GraphQL path to spec generation
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 00:21:20 +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
9b5477c051 fix(api): ignore blank swagger metadata overrides
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 00:12:13 +00:00
Virgil
ad751fc974 fix(api): preserve multi-value cached headers
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 00:07:01 +00:00
Virgil
68edd770d8 docs(api): add ax usage examples
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 00:03:10 +00:00
Virgil
f67e3fe5de feat(api): validate required openapi parameters
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 00:00:39 +00:00
Virgil
1f43f019b1 feat(api): allow openapi specs from readers
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 23:56:26 +00:00
Virgil
799de22d4d fix(api): preserve sunset middleware headers
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 23:51:05 +00:00
Virgil
159f8d3b9f feat(api-docs): document versioned response headers
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 23:46:29 +00:00