ManifestOpenApi
The OpenAPI 3.1 document of a service's public routes, from its Manifest alone (.2): the routes wow-http materializes from the same Manifest, with their headers, bodies and problem+json errors.
Every route of every command (
CommandManifest.routes): with the aggregate id in the path and, for a creation or a mounted command, without it; the Wow headers (Wow-Request-Id,Wow-Wait,Wow-Wait-Timeout,Wow-Scope,Wow-Space,If-Match), the command's schema as the body, the command result as JSON or as server-sent events, one per hop. An internal command (@InternalCommand) is left out, with the schemas only it reaches (PublicCommands): the public port does not serve it.The lifecycle commands each aggregate lists, the state reads and the trace, the query routes of each query model and their descriptors.
The framework's endpoints under
/wow: the Manifest, this document and the datasets, as OpenApiOptions says the host serves them.Errors as RFC 9457 problems, one response per status listing the codes answered with it (ErrorResponses): the framework's table (
wow.storage.unavailable,wow.schedule.not-due, ...) and each context's domain codes.The security schemes of OpenApiOptions.securitySchemes, under
components.securitySchemes, and the globalsecurity: one requirement naming them all, which a caller presents together; none when the options have none.No
jsonSchemaDialect: the schemas are JSON Schema 2020-12 (JSON_SCHEMA_DIALECT), which OpenAPI 3.1's default dialect,https://spec.openapis.org/oas/3.1/dialect/base, extends with OpenAPI's own keywords, so each reads the same under it; declaring 2020-12 instead adds nothing a reader uses, and Swagger UI refuses any dialect but the default.components.schemas: the Manifest's JSON Schemas (SchemaComponents) and the framework's (WowSchemas); the body of a lifecycle command is the Manifest's when its$defsholds it under the command's name (.1c).
The document is a tree of plain values, as me.ahoo.wow.manifest.ManifestTree writes the Manifest: any JSON library writes it. The same Manifest and options always give the same document.
Properties
The tag of the framework's own endpoints.
The dialect the document's schemas are written in, the Manifest's. The document does not declare it: OpenAPI 3.1's default dialect extends it.
The OpenAPI version of the document.
The info.version of a document whose Manifest names no service version.
Functions
The document of manifest's routes, as the host serves them per options: a public document, so its schemas name no JVM class (withoutClassNames).