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
Virgil
ea94081231
feat(api): normalise OpenAPI path joins
...
Normalise the concatenation of BasePath() and RouteDescription paths so trailing or missing slashes do not produce malformed OpenAPI entries.
Add a regression test for mixed slash formatting.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 19:21:46 +00:00
Virgil
a055781d5d
feat(i18n): add locale message fallback
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 19:17:26 +00:00
Virgil
0ed72c4952
feat(api): document explicit route parameters
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 19:12:51 +00:00
Virgil
862604dc22
feat(api): expose SDK spec metadata flags
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 19:09:59 +00:00
Virgil
0144244ccd
feat(api): dedupe registered spec groups
...
Prevent duplicate RouteGroup registrations from appearing multiple times in CLI-generated OpenAPI output. This keeps spec generation stable when packages register the same group more than once during init or tests.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 19:06:03 +00:00
Virgil
69beb451b5
feat(api): expose webhook secret routes
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 18:32:39 +00:00
Virgil
3b26a15048
feat(api): register CLI spec groups
2026-04-01 18:29:45 +00:00
Virgil
edb1cf0c1e
feat(openapi): document path parameters
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 18:25:00 +00:00
Virgil
2f8f8f805e
fix(api): scope rate limiting by key
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 18:22:17 +00:00
Virgil
5da281c431
feat(bridge): support schema composition keywords
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 18:19:15 +00:00
Virgil
6e878778dc
feat(api-docs): document MCP tool call body
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 18:12:30 +00:00
Virgil
cdef85dcc9
feat(graphql): normalise custom mount paths
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 18:08:27 +00:00
Virgil
ee83aabca0
fix(api): pass MCP tool version through execution
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 18:03:26 +00:00
Virgil
db787a799b
feat(api): document SEO and MCP query parameters
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 17:59:54 +00:00
Virgil
aff54403c6
fix(api): compose swagger server metadata
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 17:57:16 +00:00
Virgil
164a1d4f0e
feat(api): document cache hits in OpenAPI
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 17:52:14 +00:00
Virgil
f6349145bc
feat(api): validate openapi client requests and responses
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 17:48:49 +00:00