NAME
Langertha::Skeid::OpenAPI - OpenAPI 3.1 description built from the proxy's route table
VERSION
version 0.004
SYNOPSIS
my $doc = Langertha::Skeid::OpenAPI->document(
entries => \@enabled_route_table_entries,
kind => 'client', # or 'admin'
models => ['qwen3-32b'], # what GET /v1/models lists for this caller
client_auth => 1,
version => $Langertha::Skeid::Proxy::VERSION,
);
DESCRIPTION
Turns entries of "route_table" in Langertha::Skeid::Proxy into an OpenAPI 3.1 document. Which entries are in the document -- the enabled ones -- is the proxy's decision; this module only describes what it is given, so the document cannot name a route the app does not register (the route table is also what registers them).
Nothing in a document comes from a request body, a key or the config's secrets: it holds paths, fixed descriptions and one model name per example, from the same list GET /v1/models answers.
path_template
Langertha::Skeid::OpenAPI->path_template('/mcp/#mcp_server/*mcp_path');
# '/mcp/{mcp_server}/{mcp_path}'
A Mojolicious route pattern as an OpenAPI path template.
path_params
The placeholder names of a route pattern, in order.
document
The document, as a hashref ready for encode_json. Arguments: entries (route table entries, already filtered), kind (client or admin), models, client_auth (true when the config requires a key on the client routes), version.
SUPPORT
Issues
Please report bugs and feature requests on GitHub at https://github.com/Getty/langertha-skeid/issues.
IRC
Join #langertha on irc.perl.org or message Getty directly.
CONTRIBUTING
Contributions are welcome! Please fork the repository and submit a pull request.
AUTHOR
Torsten Raudssus <torsten@raudssus.de> https://raudssus.de/
COPYRIGHT AND LICENSE
This software is copyright (c) 2026 by Torsten Raudssus.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.