Virgil
29324b0a0b
feat(api): add sunset deprecation middleware
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 23:02:52 +00:00
Virgil
b64c8d3271
docs(api): add AX usage examples
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 22:55:39 +00:00
Virgil
dd74a80b1e
fix(api): infer JsonResource schemas in docs
2026-04-01 22:50:21 +00:00
Virgil
cebad9b77b
feat(api): honour header toggles for versioning
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 22:45:03 +00:00
Virgil
ccfbe57faf
feat(openapi): document response headers
2026-04-01 22:42:13 +00:00
Virgil
00c20ea6e8
refactor(api): streamline ToolBridge iterator snapshots
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 22:38:56 +00:00
Virgil
9553808595
feat(api): add counts to MCP server detail
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 22:34:34 +00:00
Virgil
929b6b97ca
fix(api-docs): deduplicate explicit OpenAPI parameters
...
Explicit ApiParameter metadata now replaces matching auto-generated path parameters instead of producing duplicates, matching the precedence used by the Go OpenAPI builder.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 22:32:23 +00:00
Virgil
a89a70851f
fix(api): deduplicate spec iterator groups
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 22:28:34 +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
f0d25392a8
feat(provider): add iterator for provider info summaries
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 22:19:56 +00:00
Virgil
1a8fafeec5
feat(api): enrich MCP server details on demand
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 22:09:22 +00:00
Virgil
2cfa970993
fix(api-docs): align sunset docs with middleware args
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 22:06:46 +00:00
Virgil
2bdcb55980
feat(api): add ApiSunset middleware
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 22:02:44 +00:00
Virgil
cba25cf9fc
feat(api-docs): document sunset middleware in OpenAPI
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 21:59:01 +00:00
Virgil
93cdb62dfe
feat(api): allow deprecation without sunset date
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 21:56:10 +00:00
Virgil
691ef936d4
feat(api): allow versioned route sunset replacements
2026-04-01 21:50:30 +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
2fd17a432c
fix(provider): handle invalid proxy upstreams safely
...
Avoid panicking when a ProxyProvider is constructed with a malformed upstream URL. The provider now records the configuration error and returns a standard 500 envelope when mounted.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 21:42:04 +00:00
Virgil
475027d716
refactor(api): wrap ToolBridge errors
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 21:36:58 +00:00
Virgil
2d1ed133f2
refactor(api): align OpenAPI client with AX principles
...
Use core-style error wrapping in the OpenAPI client, replace direct spec reads with streamed file I/O, and add compile-time interface assertions for ToolBridge.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 21:32:21 +00:00
Virgil
867221cbb8
fix(api): snapshot tool bridge iterators
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 21:27:19 +00:00
Virgil
e0bdca7889
fix(api): snapshot engine iterator views
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 21:23:19 +00:00
Virgil
4ce697189a
fix(client): promote declared query params on all methods
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 21:19:45 +00:00
Virgil
db9daadbce
fix(api): return engine groups by copy
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 21:16:10 +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
Virgil
cb726000a9
feat(api): add iterator for spec registry
...
Adds RegisteredSpecGroupsIter so CLI consumers can range over a snapshot of the package-level spec registry without copying the slice manually.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 21:03:15 +00:00
Virgil
f2f262a4c2
refactor(api): standardise unauthorised wording
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 20:59:55 +00:00
Virgil
eceda4e5c1
feat(openapi): support iterator-backed route descriptions
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 20:55:33 +00:00
Virgil
7e4d8eb179
feat(openapi): add route examples to spec
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 20:51:02 +00:00
Virgil
bb7d88f3ce
feat(openapi): add external docs metadata
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 20:47:38 +00:00
Virgil
4d7f3a9f99
feat(openapi): add terms of service metadata
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 20:44:01 +00:00
Virgil
071de51bb5
feat(openapi): mark deprecated operations in spec
...
Expose route-level deprecation in generated OpenAPI operations and cover it with a regression test.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 20:40:53 +00:00
Virgil
a589d3bac6
feat(api): add OpenAPI contact metadata
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 20:35:08 +00:00
Virgil
d45ee6598e
feat(api): expose swagger licence metadata in CLI
2026-04-01 20:30:02 +00:00
Virgil
b2d3c96ed7
feat(api): expose swagger licence metadata
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 20:26:55 +00:00
Virgil
0ed1cfa1b1
docs(api): add AX examples to public APIs
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 20:23:41 +00:00
Virgil
d3737974ce
feat(openapi): add info license metadata
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 20:21:06 +00:00
Virgil
b341b4b860
docs(api): add AX usage examples
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 20:17:46 +00:00
Virgil
e2935ce79e
feat(api): dedupe PHP OpenAPI operation IDs
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 20:13:28 +00:00
Virgil
c9627729b5
fix(provider): harden proxy path stripping
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 20:08:55 +00:00
Virgil
cd4e24d15f
feat(api): document custom success statuses
2026-04-01 20:04:34 +00:00
Virgil
6017ac7132
feat(api): collapse equivalent OpenAPI servers
...
Normalise server metadata so trailing-slash variants deduplicate to a single entry.
Adds a regression test covering both absolute and relative server URLs.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 20:01:34 +00:00
Virgil
6034579c00
feat(openapi): fall back to group tags
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 19:57:10 +00:00
Virgil
408a709a43
feat(openapi): allow route-level security overrides
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 19:54:13 +00:00
Virgil
ebad4c397d
feat(client): support header and cookie parameters
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 19:50:41 +00:00
Virgil
7c3e8e7ba6
feat(openapi): support gin-style path params
...
Normalise Gin colon and wildcard route segments into OpenAPI template parameters so documented paths match the framework's route syntax.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 19:46:07 +00:00
Virgil
13cc93f4f4
fix(openapi): skip blank tags in generated specs
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 19:35:36 +00:00
Virgil
3f010b855e
feat(api): declare explicit OpenAPI tags
2026-04-01 19:27:04 +00:00