src/skilled-openapi.types.ts and is exported as skilledOpenApiPluginOptionsSchema for downstream tooling.
Top-level shape
All options
SignatureKey shape
keyId. Rotate by adding the new key first, leaving the old key, distributing bundles signed with the new key, then dropping the old key once no in-flight bundles depend on it.
Recommended env wiring
A minimal production wiring uses environment variables for secrets and trusted keys:Production hardening checklist
unprotectedOps: 'deny'— block policy-less ops unlesspublic: true.- Declare
requiredAuthoritiesat the skill and/or op level on every protected op (both levels are AND-enforced). FRONTMCP_PUBLIC_URL— pin the canonical origin (above).outbound.allowPrivateNetworks: false(the cloud-metadata block applies either way).requireSignature: true,dev: false, real signing keys.
SkilledOpenApiCredentialResolver DI token with a vault-backed implementation rather than using the in-memory credentials option:
VaultBridgePlugin AFTER SkilledOpenApiPlugin so the override wins.
Reading current config at runtime
The parsed plugin options are available via theSkilledOpenApiConfig DI token:
Validation surface
Every option is validated at construction time. Examples:- Missing
source→ZodError: Required at "source" - Malformed
saas.endpointURL →ZodError: Invalid url at "source.endpoint" - Unknown
outbound.maxConcurrencyPerHost: 0→ZodError: Number must be greater than 0