{
  "$id": "https://schemas.platformatic.dev/@platformatic/service/3.69.0.json",
  "version": "3.69.0",
  "title": "Platformatic Service Config",
  "type": "object",
  "properties": {
    "basePath": {
      "type": "string"
    },
    "server": {
      "type": "object",
      "properties": {
        "hostname": {
          "type": "string"
        },
        "port": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "string"
            }
          ]
        },
        "pluginTimeout": {
          "type": "integer"
        },
        "healthCheck": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "object",
              "properties": {
                "enabled": {
                  "type": "boolean"
                },
                "interval": {
                  "type": "integer"
                }
              },
              "additionalProperties": true
            }
          ]
        },
        "ignoreTrailingSlash": {
          "type": "boolean"
        },
        "ignoreDuplicateSlashes": {
          "type": "boolean"
        },
        "connectionTimeout": {
          "type": "integer"
        },
        "keepAliveTimeout": {
          "type": "integer",
          "default": 5000
        },
        "maxRequestsPerSocket": {
          "type": "integer"
        },
        "forceCloseConnections": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "string",
              "pattern": "^idle$"
            }
          ]
        },
        "requestTimeout": {
          "type": "integer"
        },
        "bodyLimit": {
          "type": "integer"
        },
        "maxParamLength": {
          "type": "integer"
        },
        "disableRequestLogging": {
          "type": "boolean"
        },
        "exposeHeadRoutes": {
          "type": "boolean"
        },
        "logger": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "object",
              "properties": {
                "level": {
                  "type": "string",
                  "oneOf": [
                    {
                      "enum": [
                        "fatal",
                        "error",
                        "warn",
                        "info",
                        "debug",
                        "trace",
                        "silent"
                      ]
                    },
                    {
                      "pattern": "^\\{.+\\}$"
                    }
                  ]
                },
                "transport": {
                  "anyOf": [
                    {
                      "type": "object",
                      "properties": {
                        "target": {
                          "type": "string",
                          "resolveModule": true
                        },
                        "options": {
                          "type": "object"
                        }
                      },
                      "additionalProperties": false
                    },
                    {
                      "type": "object",
                      "properties": {
                        "targets": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "target": {
                                "anyOf": [
                                  {
                                    "type": "string",
                                    "resolveModule": true
                                  },
                                  {
                                    "type": "string",
                                    "resolvePath": true
                                  }
                                ]
                              },
                              "options": {
                                "type": "object"
                              },
                              "level": {
                                "type": "string"
                              }
                            },
                            "additionalProperties": false
                          }
                        },
                        "options": {
                          "type": "object"
                        }
                      },
                      "additionalProperties": false
                    }
                  ]
                },
                "pipeline": {
                  "type": "object",
                  "properties": {
                    "target": {
                      "type": "string",
                      "resolveModule": true
                    },
                    "options": {
                      "type": "object"
                    }
                  },
                  "additionalProperties": false
                },
                "formatters": {
                  "type": "object",
                  "properties": {
                    "path": {
                      "type": "string",
                      "resolvePath": true
                    }
                  },
                  "required": [
                    "path"
                  ],
                  "additionalProperties": false
                },
                "timestamp": {
                  "enum": [
                    "epochTime",
                    "unixTime",
                    "nullTime",
                    "isoTime"
                  ]
                },
                "redact": {
                  "type": "object",
                  "properties": {
                    "paths": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "censor": {
                      "type": "string",
                      "default": "[redacted]"
                    }
                  },
                  "required": [
                    "paths"
                  ],
                  "additionalProperties": false
                },
                "base": {
                  "anyOf": [
                    {
                      "type": "object",
                      "additionalProperties": true
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "messageKey": {
                  "type": "string"
                },
                "customLevels": {
                  "type": "object",
                  "additionalProperties": true
                },
                "openTelemetryExporter": {
                  "type": "object",
                  "properties": {
                    "protocol": {
                      "type": "string",
                      "enum": [
                        "grpc",
                        "http"
                      ]
                    },
                    "url": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "protocol",
                    "url"
                  ],
                  "additionalProperties": false
                }
              },
              "default": {},
              "additionalProperties": true
            }
          ]
        },
        "loggerInstance": {
          "type": "object"
        },
        "serializerOpts": {
          "type": "object",
          "properties": {
            "schema": {
              "type": "object"
            },
            "ajv": {
              "type": "object"
            },
            "rounding": {
              "type": "string",
              "enum": [
                "floor",
                "ceil",
                "round",
                "trunc"
              ],
              "default": "trunc"
            },
            "debugMode": {
              "type": "boolean"
            },
            "mode": {
              "type": "string",
              "enum": [
                "debug",
                "standalone"
              ]
            },
            "largeArraySize": {
              "anyOf": [
                {
                  "type": "integer"
                },
                {
                  "type": "string"
                }
              ],
              "default": 20000
            },
            "largeArrayMechanism": {
              "type": "string",
              "enum": [
                "default",
                "json-stringify"
              ],
              "default": "default"
            }
          }
        },
        "ajv": {
          "type": "object",
          "description": "Options for the Fastify request-validation Ajv instance (the Fastify `ajv` server option). Only `customOptions` is configurable from the config file; for example set `customOptions.coerceTypes` to `false` to reject empty strings on fields that allow the `null` type instead of coercing them to `null`.",
          "properties": {
            "customOptions": {
              "type": "object",
              "additionalProperties": true
            }
          },
          "additionalProperties": false
        },
        "caseSensitive": {
          "type": "boolean"
        },
        "requestIdHeader": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "boolean",
              "const": false
            }
          ]
        },
        "requestIdLogLabel": {
          "type": "string"
        },
        "jsonShorthand": {
          "type": "boolean"
        },
        "trustProxy": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "string"
            },
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            {
              "type": "integer"
            }
          ]
        },
        "http2": {
          "type": "boolean"
        },
        "https": {
          "type": "object",
          "properties": {
            "allowHTTP1": {
              "type": "boolean"
            },
            "key": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "object",
                  "properties": {
                    "path": {
                      "type": "string",
                      "resolvePath": true
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "array",
                  "items": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string",
                            "resolvePath": true
                          }
                        },
                        "additionalProperties": false
                      }
                    ]
                  }
                }
              ]
            },
            "cert": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "object",
                  "properties": {
                    "path": {
                      "type": "string",
                      "resolvePath": true
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "array",
                  "items": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string",
                            "resolvePath": true
                          }
                        },
                        "additionalProperties": false
                      }
                    ]
                  }
                }
              ]
            },
            "requestCert": {
              "type": "boolean"
            },
            "rejectUnauthorized": {
              "type": "boolean"
            }
          },
          "additionalProperties": false,
          "required": [
            "key",
            "cert"
          ]
        },
        "cors": {
          "type": "object",
          "$comment": "See https://github.com/fastify/fastify-cors",
          "properties": {
            "origin": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "regexp": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "regexp"
                        ]
                      }
                    ]
                  }
                },
                {
                  "type": "object",
                  "properties": {
                    "regexp": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "regexp"
                  ]
                }
              ]
            },
            "methods": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "allowedHeaders": {
              "type": "string",
              "description": "Comma separated string of allowed headers."
            },
            "exposedHeaders": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "string",
                  "description": "Comma separated string of exposed headers."
                }
              ]
            },
            "credentials": {
              "type": "boolean"
            },
            "maxAge": {
              "type": "integer"
            },
            "preflightContinue": {
              "type": "boolean",
              "default": false
            },
            "optionsSuccessStatus": {
              "type": "integer",
              "default": 204
            },
            "preflight": {
              "type": "boolean",
              "default": true
            },
            "strictPreflight": {
              "type": "boolean",
              "default": true
            },
            "hideOptionsRoute": {
              "type": "boolean",
              "default": true
            }
          },
          "additionalProperties": false
        },
        "errorHandler": {
          "description": "Path to a file or name of a package whose default export is a Fastify error handler. It is installed on the root instance before any route is registered, so it also covers the routes registered by the capability itself, such as the auto generated CRUD routes of @platformatic/db. Plugins can still override it for their own encapsulation context.",
          "anyOf": [
            {
              "type": "string",
              "resolveModule": true
            },
            {
              "type": "string",
              "resolvePath": true
            }
          ]
        }
      },
      "additionalProperties": false
    },
    "plugins": {
      "type": "object",
      "properties": {
        "packages": {
          "type": "array",
          "items": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "options": {
                    "type": "object",
                    "additionalProperties": true
                  }
                },
                "required": [
                  "name"
                ]
              }
            ]
          }
        },
        "paths": {
          "type": "array",
          "items": {
            "anyOf": [
              {
                "type": "string",
                "resolvePath": true
              },
              {
                "type": "object",
                "properties": {
                  "path": {
                    "type": "string",
                    "resolvePath": true
                  },
                  "encapsulate": {
                    "type": "boolean",
                    "default": true
                  },
                  "maxDepth": {
                    "type": "integer"
                  },
                  "autoHooks": {
                    "type": "boolean"
                  },
                  "autoHooksPattern": {
                    "type": "string"
                  },
                  "cascadeHooks": {
                    "type": "boolean"
                  },
                  "overwriteHooks": {
                    "type": "boolean"
                  },
                  "routeParams": {
                    "type": "boolean"
                  },
                  "forceESM": {
                    "type": "boolean"
                  },
                  "ignoreFilter": {
                    "type": "string"
                  },
                  "matchFilter": {
                    "type": "string"
                  },
                  "ignorePattern": {
                    "type": "string"
                  },
                  "scriptPattern": {
                    "type": "string"
                  },
                  "indexPattern": {
                    "type": "string"
                  },
                  "options": {
                    "type": "object",
                    "additionalProperties": true
                  }
                }
              }
            ]
          }
        }
      },
      "additionalProperties": false,
      "anyOf": [
        {
          "required": [
            "paths"
          ]
        },
        {
          "required": [
            "packages"
          ]
        }
      ]
    },
    "telemetry": {
      "type": "object",
      "properties": {
        "enabled": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "string"
            }
          ]
        },
        "applicationName": {
          "type": "string",
          "description": "The name of the application. Defaults to the folder name if not specified."
        },
        "version": {
          "type": "string",
          "description": "The version of the application (optional)"
        },
        "skip": {
          "type": "array",
          "description": "An array of paths to skip when creating spans. Useful for health checks and other endpoints that do not need to be traced.",
          "items": {
            "type": "object",
            "properties": {
              "path": {
                "type": "string",
                "description": "The path to skip. Can be a string or a regex."
              },
              "method": {
                "description": "HTTP method to skip",
                "type": "string",
                "enum": [
                  "GET",
                  "POST",
                  "PUT",
                  "DELETE",
                  "PATCH",
                  "HEAD",
                  "OPTIONS"
                ]
              }
            }
          }
        },
        "exporter": {
          "anyOf": [
            {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "console",
                      "otlp",
                      "zipkin",
                      "memory",
                      "file"
                    ],
                    "default": "console"
                  },
                  "options": {
                    "type": "object",
                    "description": "Options for the exporter. These are passed directly to the exporter.",
                    "properties": {
                      "url": {
                        "type": "string",
                        "description": "The URL to send the traces to. Not used for console or memory exporters."
                      },
                      "headers": {
                        "type": "object",
                        "description": "Headers to send to the exporter. Not used for console or memory exporters."
                      },
                      "path": {
                        "type": "string",
                        "description": "The path to write the traces to. Only for file exporter."
                      },
                      "protocol": {
                        "type": "string",
                        "enum": [
                          "http",
                          "grpc"
                        ],
                        "description": "The OTLP transport protocol to use. Only for the otlp exporter. Defaults to http."
                      },
                      "transport": {
                        "type": "string",
                        "enum": [
                          "http",
                          "grpc"
                        ],
                        "description": "Alias for protocol. Only for the otlp exporter. Defaults to http."
                      }
                    }
                  },
                  "additionalProperties": false
                }
              }
            },
            {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "enum": [
                    "console",
                    "otlp",
                    "zipkin",
                    "memory",
                    "file"
                  ],
                  "default": "console"
                },
                "options": {
                  "type": "object",
                  "description": "Options for the exporter. These are passed directly to the exporter.",
                  "properties": {
                    "url": {
                      "type": "string",
                      "description": "The URL to send the traces to. Not used for console or memory exporters."
                    },
                    "headers": {
                      "type": "object",
                      "description": "Headers to send to the exporter. Not used for console or memory exporters."
                    },
                    "path": {
                      "type": "string",
                      "description": "The path to write the traces to. Only for file exporter."
                    },
                    "protocol": {
                      "type": "string",
                      "enum": [
                        "http",
                        "grpc"
                      ],
                      "description": "The OTLP transport protocol to use. Only for the otlp exporter. Defaults to http."
                    },
                    "transport": {
                      "type": "string",
                      "enum": [
                        "http",
                        "grpc"
                      ],
                      "description": "Alias for protocol. Only for the otlp exporter. Defaults to http."
                    }
                  }
                },
                "additionalProperties": false
              }
            }
          ]
        },
        "diagLogger": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "string"
            }
          ],
          "description": "Enable the OpenTelemetry diagnostic logger. Diagnostic messages are forwarded to the Platformatic global logger using the current logger level."
        }
      },
      "required": [
        "applicationName"
      ],
      "additionalProperties": false
    },
    "watch": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "enabled": {
              "default": true,
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "string"
                }
              ]
            },
            "allow": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "minItems": 1,
              "nullable": true,
              "default": null
            },
            "ignore": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "nullable": true,
              "default": null
            }
          },
          "additionalProperties": false
        },
        {
          "type": "boolean"
        },
        {
          "type": "string"
        }
      ]
    },
    "$schema": {
      "type": "string"
    },
    "module": {
      "type": "string"
    },
    "application": {
      "type": "object",
      "properties": {},
      "additionalProperties": false,
      "required": [],
      "default": {}
    },
    "service": {
      "type": "object",
      "properties": {
        "openapi": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "info": {
                  "$ref": "#/$defs/info"
                },
                "jsonSchemaDialect": {
                  "type": "string",
                  "default": "https://spec.openapis.org/oas/3.1/dialect/base"
                },
                "servers": {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/server"
                  },
                  "default": [
                    {
                      "url": "/"
                    }
                  ]
                },
                "paths": {
                  "$ref": "#/$defs/paths"
                },
                "webhooks": {
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/$defs/path-item-or-reference"
                  }
                },
                "components": {
                  "$ref": "#/$defs/components"
                },
                "security": {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/security-requirement"
                  }
                },
                "tags": {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/tag"
                  }
                },
                "externalDocs": {
                  "$ref": "#/$defs/external-documentation"
                },
                "swaggerPrefix": {
                  "type": "string",
                  "description": "Base URL for the OpenAPI Swagger Documentation"
                },
                "ui": {
                  "type": "boolean",
                  "default": true,
                  "description": "Serve the interactive API reference UI under the documentation prefix. The JSON and YAML spec routes are always served."
                },
                "path": {
                  "type": "string",
                  "description": "Path to an OpenAPI spec file",
                  "resolvePath": true
                }
              },
              "additionalProperties": false
            },
            {
              "type": "boolean"
            }
          ]
        },
        "graphql": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "graphiql": {
                  "type": "boolean"
                }
              },
              "additionalProperties": false
            },
            {
              "type": "boolean"
            }
          ]
        },
        "proxy": {
          "anyOf": [
            {
              "type": "boolean",
              "const": false
            },
            {
              "type": "object",
              "properties": {
                "upstream": {
                  "type": "string"
                },
                "prefix": {
                  "type": "string"
                },
                "hostname": {
                  "type": "string"
                },
                "ws": {
                  "type": "object",
                  "properties": {
                    "upstream": {
                      "type": "string"
                    },
                    "reconnect": {
                      "type": "object",
                      "properties": {
                        "pingInterval": {
                          "type": "number"
                        },
                        "maxReconnectionRetries": {
                          "type": "number"
                        },
                        "reconnectInterval": {
                          "type": "number"
                        },
                        "reconnectDecay": {
                          "type": "number"
                        },
                        "connectionTimeout": {
                          "type": "number"
                        },
                        "reconnectOnClose": {
                          "type": "boolean"
                        },
                        "logs": {
                          "type": "boolean"
                        }
                      }
                    },
                    "hooks": {
                      "type": "object",
                      "properties": {
                        "path": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "path"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "required": [],
                  "additionalProperties": false
                }
              },
              "required": [],
              "additionalProperties": false
            }
          ]
        }
      },
      "additionalProperties": false
    },
    "runtime": {
      "type": "object",
      "properties": {
        "preload": {
          "anyOf": [
            {
              "type": "string",
              "resolvePath": true
            },
            {
              "type": "array",
              "items": {
                "type": "string",
                "resolvePath": true
              }
            }
          ]
        },
        "extensions": {
          "anyOf": [
            {
              "type": "string",
              "resolvePath": true
            },
            {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "path"
              ],
              "properties": {
                "path": {
                  "type": "string",
                  "resolvePath": true
                },
                "options": {
                  "type": "object",
                  "additionalProperties": true
                },
                "build": {
                  "type": "boolean",
                  "default": false
                }
              }
            },
            {
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "type": "string",
                    "resolvePath": true
                  },
                  {
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                      "path"
                    ],
                    "properties": {
                      "path": {
                        "type": "string",
                        "resolvePath": true
                      },
                      "options": {
                        "type": "object",
                        "additionalProperties": true
                      },
                      "build": {
                        "type": "boolean",
                        "default": false
                      }
                    }
                  }
                ]
              }
            }
          ]
        },
        "basePath": {
          "type": "string"
        },
        "services": {
          "type": "array",
          "items": {
            "type": "object",
            "anyOf": [
              {
                "required": [
                  "id",
                  "path"
                ]
              },
              {
                "required": [
                  "id",
                  "url"
                ]
              }
            ],
            "properties": {
              "id": {
                "type": "string"
              },
              "enabled": {
                "anyOf": [
                  {
                    "type": "boolean"
                  },
                  {
                    "type": "string"
                  },
                  {
                    "type": "object",
                    "additionalProperties": {
                      "type": "boolean"
                    }
                  }
                ],
                "default": true
              },
              "path": {
                "type": "string",
                "allowEmptyPaths": true,
                "resolvePath": true
              },
              "config": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "gitBranch": {
                "type": "string",
                "default": "main"
              },
              "useHttp": {
                "type": "boolean"
              },
              "websocket": {
                "type": "boolean"
              },
              "reuseTcpPorts": {
                "type": "boolean",
                "default": true
              },
              "workers": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "static": {
                        "type": "number",
                        "minimum": 1
                      },
                      "minimum": {
                        "type": "number",
                        "minimum": 1
                      },
                      "maximum": {
                        "type": "number",
                        "minimum": 0
                      },
                      "scaleUpELU": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1
                      },
                      "scaleDownELU": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1
                      }
                    }
                  }
                ]
              },
              "health": {
                "type": "object",
                "default": {},
                "properties": {
                  "enabled": {
                    "anyOf": [
                      {
                        "type": "boolean"
                      },
                      {
                        "type": "string"
                      }
                    ]
                  },
                  "interval": {
                    "anyOf": [
                      {
                        "type": "number",
                        "minimum": 0
                      },
                      {
                        "type": "string"
                      }
                    ]
                  },
                  "gracePeriod": {
                    "anyOf": [
                      {
                        "type": "number",
                        "minimum": 0
                      },
                      {
                        "type": "string"
                      }
                    ]
                  },
                  "maxUnhealthyChecks": {
                    "anyOf": [
                      {
                        "type": "number",
                        "minimum": 1
                      },
                      {
                        "type": "string"
                      }
                    ]
                  },
                  "maxELU": {
                    "anyOf": [
                      {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1
                      },
                      {
                        "type": "string"
                      }
                    ]
                  },
                  "maxEventLoopDelay": {
                    "anyOf": [
                      {
                        "type": "number",
                        "minimum": 0
                      },
                      {
                        "type": "string"
                      }
                    ]
                  },
                  "maxEventLoopDelayP99": {
                    "anyOf": [
                      {
                        "type": "number",
                        "minimum": 0
                      },
                      {
                        "type": "string"
                      }
                    ]
                  },
                  "maxHeapUsed": {
                    "anyOf": [
                      {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1
                      },
                      {
                        "type": "string"
                      }
                    ]
                  },
                  "maxHeapTotal": {
                    "anyOf": [
                      {
                        "type": "number",
                        "minimum": 0
                      },
                      {
                        "type": "string"
                      }
                    ]
                  },
                  "maxYoungGeneration": {
                    "anyOf": [
                      {
                        "type": "number",
                        "minimum": 0
                      },
                      {
                        "type": "string"
                      }
                    ]
                  },
                  "codeRangeSize": {
                    "anyOf": [
                      {
                        "type": "number",
                        "minimum": 0
                      },
                      {
                        "type": "string"
                      }
                    ]
                  },
                  "bufferPoolSize": {
                    "anyOf": [
                      {
                        "type": "number",
                        "minimum": 0
                      },
                      {
                        "type": "string"
                      }
                    ]
                  },
                  "defaultHighWaterMark": {
                    "anyOf": [
                      {
                        "type": "number",
                        "minimum": 0
                      },
                      {
                        "type": "string"
                      }
                    ]
                  }
                },
                "additionalProperties": false
              },
              "restartOnError": {
                "description": "Overrides the runtime-level restartOnError for this application. Set to false or 0 to never restart the application when it crashes, a positive number to wait that amount of milliseconds between restarts, or true to use the default delay.",
                "anyOf": [
                  {
                    "type": "boolean"
                  },
                  {
                    "type": "number",
                    "minimum": 0
                  }
                ]
              },
              "dependencies": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "default": []
              },
              "arguments": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "env": {
                "type": "object",
                "additionalProperties": {
                  "type": "string"
                }
              },
              "envfile": {
                "type": "string"
              },
              "sourceMaps": {
                "type": "boolean"
              },
              "nodeModulesSourceMaps": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "packageManager": {
                "type": "string",
                "enum": [
                  "npm",
                  "pnpm",
                  "yarn"
                ]
              },
              "preload": {
                "anyOf": [
                  {
                    "type": "string",
                    "resolvePath": true
                  },
                  {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "resolvePath": true
                    }
                  }
                ]
              },
              "nodeOptions": {
                "type": "string"
              },
              "execArgv": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "permissions": {
                "type": "object",
                "properties": {
                  "fs": {
                    "type": "object",
                    "properties": {
                      "read": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "write": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      }
                    },
                    "additionalProperties": false
                  }
                },
                "additionalProperties": false
              },
              "telemetry": {
                "type": "object",
                "properties": {
                  "instrumentations": {
                    "type": "array",
                    "description": "An array of instrumentations loaded if telemetry is enabled",
                    "items": {
                      "oneOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "object",
                          "properties": {
                            "package": {
                              "type": "string"
                            },
                            "exportName": {
                              "type": "string"
                            },
                            "options": {
                              "type": "object",
                              "additionalProperties": true
                            }
                          },
                          "required": [
                            "package"
                          ]
                        }
                      ]
                    }
                  }
                }
              },
              "compileCache": {
                "anyOf": [
                  {
                    "type": "boolean"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean",
                        "default": true,
                        "description": "Enable Node.js module compile cache for faster startup"
                      },
                      "directory": {
                        "type": "string",
                        "description": "Directory to store compile cache. Defaults to .plt/compile-cache in app root"
                      }
                    },
                    "additionalProperties": false
                  }
                ]
              },
              "management": {
                "anyOf": [
                  {
                    "type": "boolean"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean",
                        "default": true
                      },
                      "operations": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      }
                    },
                    "additionalProperties": false
                  }
                ]
              }
            }
          }
        },
        "workers": {
          "anyOf": [
            {
              "type": "number",
              "minimum": 1
            },
            {
              "type": "string"
            },
            {
              "type": "object",
              "properties": {
                "static": {
                  "type": "number",
                  "minimum": 1
                },
                "dynamic": {
                  "type": "boolean",
                  "default": false
                },
                "minimum": {
                  "type": "number",
                  "minimum": 1
                },
                "maximum": {
                  "type": "number",
                  "minimum": 0
                },
                "total": {
                  "type": "number",
                  "minimum": 1
                },
                "maxMemory": {
                  "type": "number",
                  "minimum": 0
                },
                "cooldown": {
                  "type": "number",
                  "minimum": 0
                },
                "gracePeriod": {
                  "type": "number",
                  "minimum": 0
                },
                "scaleUpELU": {
                  "type": "number",
                  "minimum": 0,
                  "maximum": 1
                },
                "scaleDownELU": {
                  "type": "number",
                  "minimum": 0,
                  "maximum": 1
                }
              }
            }
          ]
        },
        "workersRestartDelay": {
          "anyOf": [
            {
              "type": "number",
              "minimum": 0
            },
            {
              "type": "string"
            }
          ],
          "default": 0
        },
        "logger": {
          "type": "object",
          "properties": {
            "level": {
              "type": "string",
              "oneOf": [
                {
                  "enum": [
                    "fatal",
                    "error",
                    "warn",
                    "info",
                    "debug",
                    "trace",
                    "silent"
                  ]
                },
                {
                  "pattern": "^\\{.+\\}$"
                }
              ]
            },
            "transport": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "target": {
                      "type": "string",
                      "resolveModule": true
                    },
                    "options": {
                      "type": "object"
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "properties": {
                    "targets": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "target": {
                            "anyOf": [
                              {
                                "type": "string",
                                "resolveModule": true
                              },
                              {
                                "type": "string",
                                "resolvePath": true
                              }
                            ]
                          },
                          "options": {
                            "type": "object"
                          },
                          "level": {
                            "type": "string"
                          }
                        },
                        "additionalProperties": false
                      }
                    },
                    "options": {
                      "type": "object"
                    }
                  },
                  "additionalProperties": false
                }
              ]
            },
            "pipeline": {
              "type": "object",
              "properties": {
                "target": {
                  "type": "string",
                  "resolveModule": true
                },
                "options": {
                  "type": "object"
                }
              },
              "additionalProperties": false
            },
            "formatters": {
              "type": "object",
              "properties": {
                "path": {
                  "type": "string",
                  "resolvePath": true
                }
              },
              "required": [
                "path"
              ],
              "additionalProperties": false
            },
            "timestamp": {
              "enum": [
                "epochTime",
                "unixTime",
                "nullTime",
                "isoTime"
              ]
            },
            "redact": {
              "type": "object",
              "properties": {
                "paths": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "censor": {
                  "type": "string",
                  "default": "[redacted]"
                }
              },
              "required": [
                "paths"
              ],
              "additionalProperties": false
            },
            "base": {
              "anyOf": [
                {
                  "type": "object",
                  "additionalProperties": true
                },
                {
                  "type": "null"
                }
              ]
            },
            "messageKey": {
              "type": "string"
            },
            "customLevels": {
              "type": "object",
              "additionalProperties": true
            },
            "openTelemetryExporter": {
              "type": "object",
              "properties": {
                "protocol": {
                  "type": "string",
                  "enum": [
                    "grpc",
                    "http"
                  ]
                },
                "url": {
                  "type": "string"
                }
              },
              "required": [
                "protocol",
                "url"
              ],
              "additionalProperties": false
            }
          },
          "default": {},
          "additionalProperties": true
        },
        "server": {
          "type": "object",
          "properties": {
            "hostname": {
              "type": "string"
            },
            "port": {
              "anyOf": [
                {
                  "type": "integer"
                },
                {
                  "type": "string"
                }
              ]
            },
            "portAssignment": {
              "type": "string",
              "enum": [
                "shared",
                "perWorkerIncrement"
              ],
              "description": "Configures how entrypoint server worker ports are assigned. When set to shared, all workers listen on the same port. When set to perWorkerIncrement, each worker will use its own port, starting from port (worker 0)."
            },
            "backlog": {
              "type": "integer",
              "description": "The maximum length of the queue of pending connections"
            },
            "http2": {
              "type": "boolean"
            },
            "https": {
              "type": "object",
              "properties": {
                "allowHTTP1": {
                  "type": "boolean"
                },
                "key": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "path": {
                          "type": "string",
                          "resolvePath": true
                        }
                      },
                      "additionalProperties": false
                    },
                    {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "type": "string"
                          },
                          {
                            "type": "object",
                            "properties": {
                              "path": {
                                "type": "string",
                                "resolvePath": true
                              }
                            },
                            "additionalProperties": false
                          }
                        ]
                      }
                    }
                  ]
                },
                "cert": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "path": {
                          "type": "string",
                          "resolvePath": true
                        }
                      },
                      "additionalProperties": false
                    },
                    {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "type": "string"
                          },
                          {
                            "type": "object",
                            "properties": {
                              "path": {
                                "type": "string",
                                "resolvePath": true
                              }
                            },
                            "additionalProperties": false
                          }
                        ]
                      }
                    }
                  ]
                },
                "requestCert": {
                  "type": "boolean"
                },
                "rejectUnauthorized": {
                  "type": "boolean"
                }
              },
              "additionalProperties": false,
              "required": [
                "key",
                "cert"
              ]
            }
          },
          "additionalProperties": false
        },
        "reuseTcpPorts": {
          "type": "boolean",
          "default": true
        },
        "startTimeout": {
          "default": 30000,
          "type": "number",
          "minimum": 0
        },
        "restartOnError": {
          "default": true,
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "number",
              "minimum": 0
            }
          ]
        },
        "exitOnUnhandledErrors": {
          "default": true,
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "number"
            }
          ]
        },
        "gracefulShutdown": {
          "type": "object",
          "properties": {
            "runtime": {
              "anyOf": [
                {
                  "type": "number",
                  "minimum": 1
                },
                {
                  "type": "string"
                }
              ],
              "default": 30000
            },
            "application": {
              "anyOf": [
                {
                  "type": "number",
                  "minimum": 1
                },
                {
                  "type": "string"
                }
              ],
              "default": 10000
            },
            "closeConnections": {
              "type": "boolean",
              "default": true,
              "description": "Add Connection: close header to HTTP responses during graceful shutdown"
            }
          },
          "default": {},
          "required": [
            "runtime",
            "application"
          ],
          "additionalProperties": false
        },
        "health": {
          "type": "object",
          "default": {},
          "properties": {
            "enabled": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "string"
                }
              ],
              "default": true
            },
            "interval": {
              "anyOf": [
                {
                  "type": "number",
                  "minimum": 0
                },
                {
                  "type": "string"
                }
              ],
              "default": 30000
            },
            "gracePeriod": {
              "anyOf": [
                {
                  "type": "number",
                  "minimum": 0
                },
                {
                  "type": "string"
                }
              ],
              "default": 30000
            },
            "maxUnhealthyChecks": {
              "anyOf": [
                {
                  "type": "number",
                  "minimum": 1
                },
                {
                  "type": "string"
                }
              ],
              "default": 10
            },
            "maxELU": {
              "anyOf": [
                {
                  "type": "number",
                  "minimum": 0,
                  "maximum": 1
                },
                {
                  "type": "string"
                }
              ],
              "default": 0.99
            },
            "maxEventLoopDelay": {
              "anyOf": [
                {
                  "type": "number",
                  "minimum": 0
                },
                {
                  "type": "string"
                }
              ]
            },
            "maxEventLoopDelayP99": {
              "anyOf": [
                {
                  "type": "number",
                  "minimum": 0
                },
                {
                  "type": "string"
                }
              ]
            },
            "maxHeapUsed": {
              "anyOf": [
                {
                  "type": "number",
                  "minimum": 0,
                  "maximum": 1
                },
                {
                  "type": "string"
                }
              ],
              "default": 0.99
            },
            "maxHeapTotal": {
              "anyOf": [
                {
                  "type": "number",
                  "minimum": 0
                },
                {
                  "type": "string"
                }
              ],
              "default": 4294967296
            },
            "maxYoungGeneration": {
              "anyOf": [
                {
                  "type": "number",
                  "minimum": 0
                },
                {
                  "type": "string"
                }
              ],
              "default": 134217728
            },
            "codeRangeSize": {
              "anyOf": [
                {
                  "type": "number",
                  "minimum": 0
                },
                {
                  "type": "string"
                }
              ],
              "default": 268435456
            },
            "bufferPoolSize": {
              "anyOf": [
                {
                  "type": "number",
                  "minimum": 0
                },
                {
                  "type": "string"
                }
              ],
              "default": 262144
            },
            "defaultHighWaterMark": {
              "anyOf": [
                {
                  "type": "number",
                  "minimum": 0
                },
                {
                  "type": "string"
                }
              ],
              "default": 262144
            }
          },
          "additionalProperties": false
        },
        "healthProbes": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "string"
            },
            {
              "type": "object",
              "properties": {
                "enabled": {
                  "anyOf": [
                    {
                      "type": "boolean"
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "hostname": {
                  "type": "string"
                },
                "port": {
                  "anyOf": [
                    {
                      "type": "integer"
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "readiness": {
                  "anyOf": [
                    {
                      "type": "boolean"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "endpoint": {
                          "type": "string"
                        },
                        "success": {
                          "type": "object",
                          "properties": {
                            "statusCode": {
                              "type": "number"
                            },
                            "body": {
                              "type": "string"
                            }
                          },
                          "additionalProperties": false
                        },
                        "fail": {
                          "type": "object",
                          "properties": {
                            "statusCode": {
                              "type": "number"
                            },
                            "body": {
                              "type": "string"
                            }
                          },
                          "additionalProperties": false
                        }
                      },
                      "additionalProperties": false
                    }
                  ]
                },
                "liveness": {
                  "anyOf": [
                    {
                      "type": "boolean"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "endpoint": {
                          "type": "string"
                        },
                        "success": {
                          "type": "object",
                          "properties": {
                            "statusCode": {
                              "type": "number"
                            },
                            "body": {
                              "type": "string"
                            }
                          },
                          "additionalProperties": false
                        },
                        "fail": {
                          "type": "object",
                          "properties": {
                            "statusCode": {
                              "type": "number"
                            },
                            "body": {
                              "type": "string"
                            }
                          },
                          "additionalProperties": false
                        }
                      },
                      "additionalProperties": false
                    }
                  ]
                }
              },
              "additionalProperties": false
            }
          ],
          "default": true
        },
        "undici": {
          "type": "object",
          "properties": {
            "agentOptions": {
              "type": "object",
              "additionalProperties": true
            },
            "interceptors": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "module": {
                        "type": "string"
                      },
                      "options": {
                        "type": "object",
                        "additionalProperties": true
                      }
                    },
                    "required": [
                      "module",
                      "options"
                    ]
                  }
                },
                {
                  "type": "object",
                  "properties": {
                    "Client": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "module": {
                            "type": "string"
                          },
                          "options": {
                            "type": "object",
                            "additionalProperties": true
                          }
                        },
                        "required": [
                          "module",
                          "options"
                        ]
                      }
                    },
                    "Pool": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "module": {
                            "type": "string"
                          },
                          "options": {
                            "type": "object",
                            "additionalProperties": true
                          }
                        },
                        "required": [
                          "module",
                          "options"
                        ]
                      }
                    },
                    "Agent": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "module": {
                            "type": "string"
                          },
                          "options": {
                            "type": "object",
                            "additionalProperties": true
                          }
                        },
                        "required": [
                          "module",
                          "options"
                        ]
                      }
                    }
                  }
                }
              ]
            }
          }
        },
        "httpCache": {
          "oneOf": [
            {
              "type": "boolean"
            },
            {
              "type": "object",
              "properties": {
                "store": {
                  "type": "string"
                },
                "methods": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "default": [
                    "GET",
                    "HEAD"
                  ],
                  "minItems": 1
                },
                "cacheTagsHeader": {
                  "type": "string"
                },
                "maxSize": {
                  "type": "integer"
                },
                "maxEntrySize": {
                  "type": "integer"
                },
                "maxCount": {
                  "type": "integer"
                },
                "origins": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "Whitelist of origins to cache. Supports exact strings and regex patterns (e.g., \"/https:\\\\/\\\\/.*\\\\.example\\\\.com/\")."
                },
                "cacheByDefault": {
                  "type": "integer",
                  "description": "Default cache duration in seconds for responses without explicit expiration headers."
                },
                "type": {
                  "type": "string",
                  "enum": [
                    "shared",
                    "private"
                  ],
                  "default": "shared",
                  "description": "Cache type. \"shared\" caches may be shared between users, \"private\" caches are user-specific."
                }
              }
            }
          ]
        },
        "watch": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "string"
            }
          ]
        },
        "managementApi": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "string"
            },
            {
              "type": "object",
              "properties": {
                "logs": {
                  "type": "object",
                  "properties": {
                    "maxSize": {
                      "type": "number",
                      "minimum": 5,
                      "default": 200
                    }
                  },
                  "additionalProperties": false
                },
                "socket": {
                  "type": "string",
                  "description": "Custom path for the control socket. If not specified, uses the default platform-specific location."
                }
              },
              "additionalProperties": false
            }
          ],
          "default": true
        },
        "management": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "object",
              "properties": {
                "enabled": {
                  "type": "boolean",
                  "default": true
                },
                "operations": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "additionalProperties": false
            }
          ]
        },
        "metrics": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "object",
              "properties": {
                "port": {
                  "anyOf": [
                    {
                      "type": "integer"
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "enabled": {
                  "anyOf": [
                    {
                      "type": "boolean"
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "hostname": {
                  "type": "string"
                },
                "endpoint": {
                  "type": "string"
                },
                "https": {
                  "type": "object",
                  "properties": {
                    "allowHTTP1": {
                      "type": "boolean"
                    },
                    "key": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "object",
                          "properties": {
                            "path": {
                              "type": "string",
                              "resolvePath": true
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "array",
                          "items": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "object",
                                "properties": {
                                  "path": {
                                    "type": "string",
                                    "resolvePath": true
                                  }
                                },
                                "additionalProperties": false
                              }
                            ]
                          }
                        }
                      ]
                    },
                    "cert": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "object",
                          "properties": {
                            "path": {
                              "type": "string",
                              "resolvePath": true
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "array",
                          "items": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "object",
                                "properties": {
                                  "path": {
                                    "type": "string",
                                    "resolvePath": true
                                  }
                                },
                                "additionalProperties": false
                              }
                            ]
                          }
                        }
                      ]
                    },
                    "requestCert": {
                      "type": "boolean"
                    },
                    "rejectUnauthorized": {
                      "type": "boolean"
                    }
                  },
                  "additionalProperties": false,
                  "required": [
                    "key",
                    "cert"
                  ]
                },
                "auth": {
                  "type": "object",
                  "properties": {
                    "username": {
                      "type": "string"
                    },
                    "password": {
                      "type": "string"
                    }
                  },
                  "additionalProperties": false,
                  "required": [
                    "username",
                    "password"
                  ]
                },
                "labels": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                },
                "applicationLabel": {
                  "type": "string",
                  "default": "applicationId",
                  "description": "The label name to use for the application identifier in metrics (e.g., applicationId, serviceId)"
                },
                "httpClientMetrics": {
                  "anyOf": [
                    {
                      "type": "boolean"
                    },
                    {
                      "type": "string"
                    }
                  ],
                  "default": false,
                  "description": "Enable outgoing HTTP client request duration metrics"
                },
                "readiness": {
                  "anyOf": [
                    {
                      "type": "boolean"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "endpoint": {
                          "type": "string"
                        },
                        "success": {
                          "type": "object",
                          "properties": {
                            "statusCode": {
                              "type": "number"
                            },
                            "body": {
                              "type": "string"
                            }
                          },
                          "additionalProperties": false
                        },
                        "fail": {
                          "type": "object",
                          "properties": {
                            "statusCode": {
                              "type": "number"
                            },
                            "body": {
                              "type": "string"
                            }
                          },
                          "additionalProperties": false
                        }
                      },
                      "additionalProperties": false
                    }
                  ]
                },
                "liveness": {
                  "anyOf": [
                    {
                      "type": "boolean"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "endpoint": {
                          "type": "string"
                        },
                        "success": {
                          "type": "object",
                          "properties": {
                            "statusCode": {
                              "type": "number"
                            },
                            "body": {
                              "type": "string"
                            }
                          },
                          "additionalProperties": false
                        },
                        "fail": {
                          "type": "object",
                          "properties": {
                            "statusCode": {
                              "type": "number"
                            },
                            "body": {
                              "type": "string"
                            }
                          },
                          "additionalProperties": false
                        }
                      },
                      "additionalProperties": false
                    }
                  ]
                },
                "healthChecksTimeouts": {
                  "anyOf": [
                    {
                      "type": "integer"
                    },
                    {
                      "type": "string"
                    }
                  ],
                  "default": 5000,
                  "deprecated": true,
                  "description": "Deprecated. Health probe timeout configuration is no longer used."
                },
                "plugins": {
                  "type": "array",
                  "items": {
                    "anyOf": [
                      {
                        "type": "string",
                        "resolvePath": true
                      }
                    ]
                  }
                },
                "timeout": {
                  "anyOf": [
                    {
                      "type": "integer"
                    },
                    {
                      "type": "string"
                    }
                  ],
                  "default": 10000
                },
                "otlpExporter": {
                  "type": "object",
                  "description": "Configuration for exporting metrics to an OTLP endpoint",
                  "properties": {
                    "enabled": {
                      "anyOf": [
                        {
                          "type": "boolean"
                        },
                        {
                          "type": "string"
                        }
                      ],
                      "description": "Enable or disable OTLP metrics export"
                    },
                    "endpoint": {
                      "type": "string",
                      "description": "OTLP endpoint URL (e.g., http://collector:4318/v1/metrics)"
                    },
                    "interval": {
                      "anyOf": [
                        {
                          "type": "integer"
                        },
                        {
                          "type": "string"
                        }
                      ],
                      "default": 60000,
                      "description": "Interval in milliseconds between metric pushes"
                    },
                    "headers": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "string"
                      },
                      "description": "Additional HTTP headers for authentication"
                    },
                    "serviceName": {
                      "type": "string",
                      "description": "Service name for OTLP resource attributes"
                    },
                    "serviceVersion": {
                      "type": "string",
                      "description": "Service version for OTLP resource attributes"
                    }
                  },
                  "required": [
                    "endpoint"
                  ],
                  "additionalProperties": false
                },
                "opentelemetry": {
                  "type": "object",
                  "description": "Configuration for forwarding user OpenTelemetry metrics to an OTLP endpoint",
                  "properties": {
                    "enabled": {
                      "anyOf": [
                        {
                          "type": "boolean"
                        },
                        {
                          "type": "string"
                        }
                      ],
                      "description": "Enable or disable OpenTelemetry metrics forwarding"
                    },
                    "endpoint": {
                      "type": "string",
                      "description": "OTLP metrics endpoint URL (e.g., http://collector:4318/v1/metrics)"
                    },
                    "interval": {
                      "anyOf": [
                        {
                          "type": "integer"
                        },
                        {
                          "type": "string"
                        }
                      ],
                      "default": 60000,
                      "description": "Interval in milliseconds between metric forwards"
                    },
                    "headers": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "string"
                      },
                      "description": "Additional HTTP headers for authentication"
                    }
                  },
                  "required": [
                    "endpoint"
                  ],
                  "additionalProperties": false
                },
                "httpCustomLabels": {
                  "type": "array",
                  "description": "Custom labels to add to HTTP metrics (http_request_all_duration_seconds). Each label extracts its value from an HTTP request header.",
                  "items": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string",
                        "description": "The label name to use in metrics"
                      },
                      "header": {
                        "type": "string",
                        "description": "The HTTP request header to extract the value from"
                      },
                      "default": {
                        "type": "string",
                        "description": "Default value when header is missing (defaults to \"unknown\")"
                      }
                    },
                    "required": [
                      "name",
                      "header"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "additionalProperties": false
            }
          ]
        },
        "telemetry": {
          "type": "object",
          "properties": {
            "enabled": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "string"
                }
              ]
            },
            "applicationName": {
              "type": "string",
              "description": "The name of the application. Defaults to the folder name if not specified."
            },
            "version": {
              "type": "string",
              "description": "The version of the application (optional)"
            },
            "skip": {
              "type": "array",
              "description": "An array of paths to skip when creating spans. Useful for health checks and other endpoints that do not need to be traced.",
              "items": {
                "type": "object",
                "properties": {
                  "path": {
                    "type": "string",
                    "description": "The path to skip. Can be a string or a regex."
                  },
                  "method": {
                    "description": "HTTP method to skip",
                    "type": "string",
                    "enum": [
                      "GET",
                      "POST",
                      "PUT",
                      "DELETE",
                      "PATCH",
                      "HEAD",
                      "OPTIONS"
                    ]
                  }
                }
              }
            },
            "exporter": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string",
                        "enum": [
                          "console",
                          "otlp",
                          "zipkin",
                          "memory",
                          "file"
                        ],
                        "default": "console"
                      },
                      "options": {
                        "type": "object",
                        "description": "Options for the exporter. These are passed directly to the exporter.",
                        "properties": {
                          "url": {
                            "type": "string",
                            "description": "The URL to send the traces to. Not used for console or memory exporters."
                          },
                          "headers": {
                            "type": "object",
                            "description": "Headers to send to the exporter. Not used for console or memory exporters."
                          },
                          "path": {
                            "type": "string",
                            "description": "The path to write the traces to. Only for file exporter."
                          },
                          "protocol": {
                            "type": "string",
                            "enum": [
                              "http",
                              "grpc"
                            ],
                            "description": "The OTLP transport protocol to use. Only for the otlp exporter. Defaults to http."
                          },
                          "transport": {
                            "type": "string",
                            "enum": [
                              "http",
                              "grpc"
                            ],
                            "description": "Alias for protocol. Only for the otlp exporter. Defaults to http."
                          }
                        }
                      },
                      "additionalProperties": false
                    }
                  }
                },
                {
                  "type": "object",
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "console",
                        "otlp",
                        "zipkin",
                        "memory",
                        "file"
                      ],
                      "default": "console"
                    },
                    "options": {
                      "type": "object",
                      "description": "Options for the exporter. These are passed directly to the exporter.",
                      "properties": {
                        "url": {
                          "type": "string",
                          "description": "The URL to send the traces to. Not used for console or memory exporters."
                        },
                        "headers": {
                          "type": "object",
                          "description": "Headers to send to the exporter. Not used for console or memory exporters."
                        },
                        "path": {
                          "type": "string",
                          "description": "The path to write the traces to. Only for file exporter."
                        },
                        "protocol": {
                          "type": "string",
                          "enum": [
                            "http",
                            "grpc"
                          ],
                          "description": "The OTLP transport protocol to use. Only for the otlp exporter. Defaults to http."
                        },
                        "transport": {
                          "type": "string",
                          "enum": [
                            "http",
                            "grpc"
                          ],
                          "description": "Alias for protocol. Only for the otlp exporter. Defaults to http."
                        }
                      }
                    },
                    "additionalProperties": false
                  }
                }
              ]
            },
            "diagLogger": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "string"
                }
              ],
              "description": "Enable the OpenTelemetry diagnostic logger. Diagnostic messages are forwarded to the Platformatic global logger using the current logger level."
            }
          },
          "required": [
            "applicationName"
          ],
          "additionalProperties": false
        },
        "verticalScaler": {
          "type": "object",
          "properties": {
            "enabled": {
              "type": "boolean",
              "default": true
            },
            "maxTotalWorkers": {
              "type": "number",
              "minimum": 1
            },
            "maxTotalMemory": {
              "type": "number",
              "minimum": 0
            },
            "minWorkers": {
              "type": "number",
              "minimum": 1
            },
            "maxWorkers": {
              "type": "number",
              "minimum": 1
            },
            "cooldownSec": {
              "type": "number",
              "minimum": 0
            },
            "gracePeriod": {
              "type": "number",
              "minimum": 0
            },
            "scaleUpELU": {
              "type": "number",
              "minimum": 0,
              "maximum": 1
            },
            "scaleDownELU": {
              "type": "number",
              "minimum": 0,
              "maximum": 1
            },
            "timeWindowSec": {
              "type": "number",
              "minimum": 0,
              "deprecated": true
            },
            "scaleDownTimeWindowSec": {
              "type": "number",
              "minimum": 0,
              "deprecated": true
            },
            "scaleIntervalSec": {
              "type": "number",
              "minimum": 0,
              "deprecated": true
            }
          },
          "additionalProperties": false
        },
        "inspectorOptions": {
          "type": "object",
          "properties": {
            "host": {
              "type": "string"
            },
            "port": {
              "type": "number"
            },
            "breakFirstLine": {
              "type": "boolean"
            },
            "watchDisabled": {
              "type": "boolean"
            }
          }
        },
        "applicationTimeout": {
          "anyOf": [
            {
              "type": "number",
              "minimum": 1
            },
            {
              "type": "string"
            }
          ],
          "default": 300000
        },
        "startupConcurrency": {
          "anyOf": [
            {
              "type": "number",
              "minimum": 1
            },
            {
              "type": "string"
            }
          ]
        },
        "messagingTimeout": {
          "anyOf": [
            {
              "type": "number",
              "minimum": 1
            },
            {
              "type": "string"
            }
          ],
          "default": 30000
        },
        "env": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "envfile": {
          "type": "string"
        },
        "strictEnv": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "string"
            }
          ],
          "description": "When set to true, the configuration loading fails if a {PLT_*} placeholder references an environment variable which is not set. When set to \"warn\", a warning listing the missing variables is logged but the placeholders are still replaced with an empty string. Defaults to false."
        },
        "sourceMaps": {
          "type": "boolean",
          "default": false
        },
        "nodeModulesSourceMaps": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "default": []
        },
        "scheduler": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "enabled": {
                "anyOf": [
                  {
                    "type": "boolean"
                  },
                  {
                    "type": "string"
                  }
                ],
                "default": true
              },
              "name": {
                "type": "string"
              },
              "cron": {
                "type": "string"
              },
              "callbackUrl": {
                "type": "string"
              },
              "method": {
                "type": "string",
                "enum": [
                  "GET",
                  "POST",
                  "PUT",
                  "PATCH",
                  "DELETE"
                ],
                "default": "GET"
              },
              "headers": {
                "type": "object",
                "additionalProperties": {
                  "type": "string"
                }
              },
              "body": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "object",
                    "additionalProperties": true
                  }
                ]
              },
              "maxRetries": {
                "type": "number",
                "minimum": 0,
                "default": 3
              }
            },
            "required": [
              "name",
              "cron",
              "callbackUrl"
            ]
          }
        },
        "policies": {
          "type": "object",
          "properties": {
            "deny": {
              "type": "object",
              "patternProperties": {
                "^.*$": {
                  "oneOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "minItems": 1
                    }
                  ]
                }
              }
            }
          },
          "required": [
            "deny"
          ],
          "additionalProperties": false
        },
        "compileCache": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "object",
              "properties": {
                "enabled": {
                  "type": "boolean",
                  "default": true,
                  "description": "Enable Node.js module compile cache for faster startup"
                },
                "directory": {
                  "type": "string",
                  "description": "Directory to store compile cache. Defaults to .plt/compile-cache in app root"
                }
              },
              "additionalProperties": false
            }
          ]
        },
        "application": {
          "type": "object",
          "properties": {
            "reuseTcpPorts": {
              "type": "boolean",
              "default": true
            },
            "workers": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "type": "string"
                },
                {
                  "type": "object",
                  "properties": {
                    "static": {
                      "type": "number",
                      "minimum": 1
                    },
                    "minimum": {
                      "type": "number",
                      "minimum": 1
                    },
                    "maximum": {
                      "type": "number",
                      "minimum": 0
                    },
                    "scaleUpELU": {
                      "type": "number",
                      "minimum": 0,
                      "maximum": 1
                    },
                    "scaleDownELU": {
                      "type": "number",
                      "minimum": 0,
                      "maximum": 1
                    }
                  }
                }
              ]
            },
            "health": {
              "type": "object",
              "default": {},
              "properties": {
                "enabled": {
                  "anyOf": [
                    {
                      "type": "boolean"
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "interval": {
                  "anyOf": [
                    {
                      "type": "number",
                      "minimum": 0
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "gracePeriod": {
                  "anyOf": [
                    {
                      "type": "number",
                      "minimum": 0
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "maxUnhealthyChecks": {
                  "anyOf": [
                    {
                      "type": "number",
                      "minimum": 1
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "maxELU": {
                  "anyOf": [
                    {
                      "type": "number",
                      "minimum": 0,
                      "maximum": 1
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "maxEventLoopDelay": {
                  "anyOf": [
                    {
                      "type": "number",
                      "minimum": 0
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "maxEventLoopDelayP99": {
                  "anyOf": [
                    {
                      "type": "number",
                      "minimum": 0
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "maxHeapUsed": {
                  "anyOf": [
                    {
                      "type": "number",
                      "minimum": 0,
                      "maximum": 1
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "maxHeapTotal": {
                  "anyOf": [
                    {
                      "type": "number",
                      "minimum": 0
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "maxYoungGeneration": {
                  "anyOf": [
                    {
                      "type": "number",
                      "minimum": 0
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "codeRangeSize": {
                  "anyOf": [
                    {
                      "type": "number",
                      "minimum": 0
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "bufferPoolSize": {
                  "anyOf": [
                    {
                      "type": "number",
                      "minimum": 0
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "defaultHighWaterMark": {
                  "anyOf": [
                    {
                      "type": "number",
                      "minimum": 0
                    },
                    {
                      "type": "string"
                    }
                  ]
                }
              },
              "additionalProperties": false
            },
            "restartOnError": {
              "description": "Overrides the runtime-level restartOnError for this application. Set to false or 0 to never restart the application when it crashes, a positive number to wait that amount of milliseconds between restarts, or true to use the default delay.",
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "number",
                  "minimum": 0
                }
              ]
            },
            "arguments": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "env": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            },
            "envfile": {
              "type": "string"
            },
            "sourceMaps": {
              "type": "boolean"
            },
            "nodeModulesSourceMaps": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "packageManager": {
              "type": "string",
              "enum": [
                "npm",
                "pnpm",
                "yarn"
              ]
            },
            "preload": {
              "anyOf": [
                {
                  "type": "string",
                  "resolvePath": true
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "resolvePath": true
                  }
                }
              ]
            },
            "nodeOptions": {
              "type": "string"
            },
            "execArgv": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "permissions": {
              "type": "object",
              "properties": {
                "fs": {
                  "type": "object",
                  "properties": {
                    "read": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "write": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  },
                  "additionalProperties": false
                }
              },
              "additionalProperties": false
            },
            "telemetry": {
              "type": "object",
              "properties": {
                "instrumentations": {
                  "type": "array",
                  "description": "An array of instrumentations loaded if telemetry is enabled",
                  "items": {
                    "oneOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "package": {
                            "type": "string"
                          },
                          "exportName": {
                            "type": "string"
                          },
                          "options": {
                            "type": "object",
                            "additionalProperties": true
                          }
                        },
                        "required": [
                          "package"
                        ]
                      }
                    ]
                  }
                }
              }
            },
            "compileCache": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean",
                      "default": true,
                      "description": "Enable Node.js module compile cache for faster startup"
                    },
                    "directory": {
                      "type": "string",
                      "description": "Directory to store compile cache. Defaults to .plt/compile-cache in app root"
                    }
                  },
                  "additionalProperties": false
                }
              ]
            }
          },
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    }
  },
  "additionalProperties": false,
  "$defs": {
    "info": {
      "$comment": "https://spec.openapis.org/oas/v3.1.0#info-object",
      "type": "object",
      "properties": {
        "title": {
          "type": "string"
        },
        "summary": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "termsOfService": {
          "type": "string"
        },
        "contact": {
          "$ref": "#/$defs/contact"
        },
        "license": {
          "$ref": "#/$defs/license"
        },
        "version": {
          "type": "string"
        }
      },
      "required": [
        "title",
        "version"
      ],
      "$ref": "#/$defs/specification-extensions"
    },
    "contact": {
      "$comment": "https://spec.openapis.org/oas/v3.1.0#contact-object",
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "url": {
          "type": "string"
        },
        "email": {
          "type": "string"
        }
      },
      "$ref": "#/$defs/specification-extensions"
    },
    "license": {
      "$comment": "https://spec.openapis.org/oas/v3.1.0#license-object",
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "identifier": {
          "type": "string"
        },
        "url": {
          "type": "string"
        }
      },
      "required": [
        "name"
      ],
      "$ref": "#/$defs/specification-extensions"
    },
    "server": {
      "$comment": "https://spec.openapis.org/oas/v3.1.0#server-object",
      "type": "object",
      "properties": {
        "url": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "variables": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/$defs/server-variable"
          }
        }
      },
      "required": [
        "url"
      ],
      "$ref": "#/$defs/specification-extensions"
    },
    "server-variable": {
      "$comment": "https://spec.openapis.org/oas/v3.1.0#server-variable-object",
      "type": "object",
      "properties": {
        "enum": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "minItems": 1
        },
        "default": {
          "type": "string"
        },
        "description": {
          "type": "string"
        }
      },
      "required": [
        "default"
      ],
      "$ref": "#/$defs/specification-extensions"
    },
    "components": {
      "$comment": "https://spec.openapis.org/oas/v3.1.0#components-object",
      "type": "object",
      "properties": {
        "schemas": {
          "type": "object"
        },
        "responses": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/$defs/response-or-reference"
          }
        },
        "parameters": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/$defs/parameter-or-reference"
          }
        },
        "examples": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/$defs/example-or-reference"
          }
        },
        "requestBodies": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/$defs/request-body-or-reference"
          }
        },
        "headers": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/$defs/header-or-reference"
          }
        },
        "securitySchemes": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/$defs/security-scheme-or-reference"
          }
        },
        "links": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/$defs/link-or-reference"
          }
        },
        "callbacks": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/$defs/callbacks-or-reference"
          }
        },
        "pathItems": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/$defs/path-item-or-reference"
          }
        }
      },
      "$ref": "#/$defs/specification-extensions"
    },
    "paths": {
      "$comment": "https://spec.openapis.org/oas/v3.1.0#paths-object",
      "type": "object",
      "patternProperties": {
        "^/": {
          "$ref": "#/$defs/path-item"
        }
      },
      "$ref": "#/$defs/specification-extensions"
    },
    "path-item": {
      "$comment": "https://spec.openapis.org/oas/v3.1.0#path-item-object",
      "type": "object",
      "properties": {
        "summary": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "servers": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/server"
          }
        },
        "parameters": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/parameter-or-reference"
          }
        },
        "get": {
          "$ref": "#/$defs/operation"
        },
        "put": {
          "$ref": "#/$defs/operation"
        },
        "post": {
          "$ref": "#/$defs/operation"
        },
        "delete": {
          "$ref": "#/$defs/operation"
        },
        "options": {
          "$ref": "#/$defs/operation"
        },
        "head": {
          "$ref": "#/$defs/operation"
        },
        "patch": {
          "$ref": "#/$defs/operation"
        },
        "trace": {
          "$ref": "#/$defs/operation"
        }
      },
      "$ref": "#/$defs/specification-extensions"
    },
    "path-item-or-reference": {
      "if": {
        "type": "object",
        "required": [
          "$ref"
        ]
      },
      "then": {
        "$ref": "#/$defs/reference"
      },
      "else": {
        "$ref": "#/$defs/path-item"
      }
    },
    "operation": {
      "$comment": "https://spec.openapis.org/oas/v3.1.0#operation-object",
      "type": "object",
      "properties": {
        "tags": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "summary": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "externalDocs": {
          "$ref": "#/$defs/external-documentation"
        },
        "operationId": {
          "type": "string"
        },
        "parameters": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/parameter-or-reference"
          }
        },
        "requestBody": {
          "$ref": "#/$defs/request-body-or-reference"
        },
        "responses": {
          "$ref": "#/$defs/responses"
        },
        "callbacks": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/$defs/callbacks-or-reference"
          }
        },
        "security": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/security-requirement"
          }
        },
        "servers": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/server"
          }
        }
      },
      "$ref": "#/$defs/specification-extensions"
    },
    "external-documentation": {
      "$comment": "https://spec.openapis.org/oas/v3.1.0#external-documentation-object",
      "type": "object",
      "properties": {
        "description": {
          "type": "string"
        },
        "url": {
          "type": "string"
        }
      },
      "required": [
        "url"
      ],
      "$ref": "#/$defs/specification-extensions"
    },
    "parameter": {
      "$comment": "https://spec.openapis.org/oas/v3.1.0#parameter-object",
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "in": {
          "enum": [
            "query",
            "header",
            "path",
            "cookie"
          ]
        },
        "description": {
          "type": "string"
        },
        "required": {
          "default": false,
          "type": "boolean"
        },
        "content": {
          "type": "object",
          "$ref": "#/$defs/content",
          "minProperties": 1,
          "maxProperties": 1
        }
      },
      "required": [
        "name",
        "in"
      ],
      "oneOf": [
        {
          "required": [
            "schema"
          ]
        },
        {
          "required": [
            "content"
          ]
        }
      ],
      "if": {
        "type": "object",
        "properties": {
          "in": {
            "const": "query"
          }
        },
        "required": [
          "in"
        ]
      },
      "then": {
        "type": "object",
        "properties": {
          "allowEmptyValue": {
            "default": false,
            "type": "boolean"
          }
        }
      },
      "$ref": "#/$defs/specification-extensions"
    },
    "parameter-or-reference": {
      "if": {
        "type": "object",
        "required": [
          "$ref"
        ]
      },
      "then": {
        "$ref": "#/$defs/reference"
      },
      "else": {
        "$ref": "#/$defs/parameter"
      }
    },
    "request-body": {
      "$comment": "https://spec.openapis.org/oas/v3.1.0#request-body-object",
      "type": "object",
      "properties": {
        "description": {
          "type": "string"
        },
        "content": {
          "$ref": "#/$defs/content"
        },
        "required": {
          "default": false,
          "type": "boolean"
        }
      },
      "required": [
        "content"
      ],
      "$ref": "#/$defs/specification-extensions"
    },
    "request-body-or-reference": {
      "if": {
        "type": "object",
        "required": [
          "$ref"
        ]
      },
      "then": {
        "$ref": "#/$defs/reference"
      },
      "else": {
        "$ref": "#/$defs/request-body"
      }
    },
    "content": {
      "$comment": "https://spec.openapis.org/oas/v3.1.0#fixed-fields-10",
      "type": "object",
      "additionalProperties": {
        "$ref": "#/$defs/media-type"
      }
    },
    "media-type": {
      "$comment": "https://spec.openapis.org/oas/v3.1.0#media-type-object",
      "type": "object",
      "properties": {
        "encoding": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/$defs/encoding"
          }
        }
      },
      "allOf": [
        {
          "$ref": "#/$defs/specification-extensions"
        },
        {
          "$ref": "#/$defs/examples"
        }
      ]
    },
    "encoding": {
      "$comment": "https://spec.openapis.org/oas/v3.1.0#encoding-object",
      "type": "object",
      "properties": {
        "contentType": {
          "type": "string"
        },
        "headers": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/$defs/header-or-reference"
          }
        },
        "style": {
          "default": "form",
          "enum": [
            "form",
            "spaceDelimited",
            "pipeDelimited",
            "deepObject"
          ]
        },
        "explode": {
          "type": "boolean"
        },
        "allowReserved": {
          "default": false,
          "type": "boolean"
        }
      },
      "allOf": [
        {
          "$ref": "#/$defs/specification-extensions"
        },
        {
          "$ref": "#/$defs/encoding/$defs/explode-default"
        }
      ],
      "$defs": {
        "explode-default": {
          "if": {
            "type": "object",
            "properties": {
              "style": {
                "const": "form"
              }
            },
            "required": [
              "style"
            ]
          },
          "then": {
            "type": "object",
            "properties": {
              "explode": {
                "default": true
              }
            }
          },
          "else": {
            "type": "object",
            "properties": {
              "explode": {
                "default": false
              }
            }
          }
        }
      }
    },
    "responses": {
      "$comment": "https://spec.openapis.org/oas/v3.1.0#responses-object",
      "type": "object",
      "additionalProperties": {
        "$ref": "#/$defs/response-or-reference"
      },
      "minProperties": 1,
      "$ref": "#/$defs/specification-extensions"
    },
    "response": {
      "$comment": "https://spec.openapis.org/oas/v3.1.0#response-object",
      "type": "object",
      "properties": {
        "description": {
          "type": "string"
        },
        "headers": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/$defs/header-or-reference"
          }
        },
        "content": {
          "$ref": "#/$defs/content"
        },
        "links": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/$defs/link-or-reference"
          }
        }
      },
      "required": [
        "description"
      ],
      "$ref": "#/$defs/specification-extensions"
    },
    "response-or-reference": {
      "if": {
        "type": "object",
        "required": [
          "$ref"
        ]
      },
      "then": {
        "$ref": "#/$defs/reference"
      },
      "else": {
        "$ref": "#/$defs/response"
      }
    },
    "callbacks": {
      "$comment": "https://spec.openapis.org/oas/v3.1.0#callback-object",
      "type": "object",
      "$ref": "#/$defs/specification-extensions",
      "additionalProperties": {
        "$ref": "#/$defs/path-item-or-reference"
      }
    },
    "callbacks-or-reference": {
      "if": {
        "type": "object",
        "required": [
          "$ref"
        ]
      },
      "then": {
        "$ref": "#/$defs/reference"
      },
      "else": {
        "$ref": "#/$defs/callbacks"
      }
    },
    "example": {
      "$comment": "https://spec.openapis.org/oas/v3.1.0#example-object",
      "type": "object",
      "properties": {
        "summary": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "value": true,
        "externalValue": {
          "type": "string"
        }
      },
      "not": {
        "required": [
          "value",
          "externalValue"
        ]
      },
      "$ref": "#/$defs/specification-extensions"
    },
    "example-or-reference": {
      "if": {
        "type": "object",
        "required": [
          "$ref"
        ]
      },
      "then": {
        "$ref": "#/$defs/reference"
      },
      "else": {
        "$ref": "#/$defs/example"
      }
    },
    "link": {
      "$comment": "https://spec.openapis.org/oas/v3.1.0#link-object",
      "type": "object",
      "properties": {
        "operationRef": {
          "type": "string"
        },
        "operationId": {
          "type": "string"
        },
        "parameters": {
          "$ref": "#/$defs/map-of-strings"
        },
        "requestBody": true,
        "description": {
          "type": "string"
        },
        "body": {
          "$ref": "#/$defs/server"
        }
      },
      "oneOf": [
        {
          "required": [
            "operationRef"
          ]
        },
        {
          "required": [
            "operationId"
          ]
        }
      ],
      "$ref": "#/$defs/specification-extensions"
    },
    "link-or-reference": {
      "if": {
        "type": "object",
        "required": [
          "$ref"
        ]
      },
      "then": {
        "$ref": "#/$defs/reference"
      },
      "else": {
        "$ref": "#/$defs/link"
      }
    },
    "header": {
      "$comment": "https://spec.openapis.org/oas/v3.1.0#header-object",
      "type": "object",
      "properties": {
        "description": {
          "type": "string"
        },
        "required": {
          "default": false,
          "type": "boolean"
        },
        "content": {
          "type": "object",
          "$ref": "#/$defs/content",
          "minProperties": 1,
          "maxProperties": 1
        }
      },
      "oneOf": [
        {
          "required": [
            "schema"
          ]
        },
        {
          "required": [
            "content"
          ]
        }
      ],
      "$ref": "#/$defs/specification-extensions"
    },
    "header-or-reference": {
      "if": {
        "type": "object",
        "required": [
          "$ref"
        ]
      },
      "then": {
        "$ref": "#/$defs/reference"
      },
      "else": {
        "$ref": "#/$defs/header"
      }
    },
    "tag": {
      "$comment": "https://spec.openapis.org/oas/v3.1.0#tag-object",
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "externalDocs": {
          "$ref": "#/$defs/external-documentation"
        }
      },
      "required": [
        "name"
      ],
      "$ref": "#/$defs/specification-extensions"
    },
    "reference": {
      "$comment": "https://spec.openapis.org/oas/v3.1.0#reference-object",
      "type": "object",
      "properties": {
        "$ref": {
          "type": "string"
        },
        "summary": {
          "type": "string"
        },
        "description": {
          "type": "string"
        }
      }
    },
    "schema": {
      "$comment": "https://spec.openapis.org/oas/v3.1.0#schema-object",
      "type": [
        "object",
        "boolean"
      ]
    },
    "security-scheme": {
      "$comment": "https://spec.openapis.org/oas/v3.1.0#security-scheme-object",
      "type": "object",
      "properties": {
        "type": {
          "enum": [
            "apiKey",
            "http",
            "mutualTLS",
            "oauth2",
            "openIdConnect"
          ]
        },
        "description": {
          "type": "string"
        }
      },
      "required": [
        "type"
      ],
      "allOf": [
        {
          "$ref": "#/$defs/specification-extensions"
        },
        {
          "$ref": "#/$defs/security-scheme/$defs/type-apikey"
        },
        {
          "$ref": "#/$defs/security-scheme/$defs/type-http"
        },
        {
          "$ref": "#/$defs/security-scheme/$defs/type-http-bearer"
        },
        {
          "$ref": "#/$defs/security-scheme/$defs/type-oauth2"
        },
        {
          "$ref": "#/$defs/security-scheme/$defs/type-oidc"
        }
      ],
      "$defs": {
        "type-apikey": {
          "if": {
            "type": "object",
            "properties": {
              "type": {
                "const": "apiKey"
              }
            },
            "required": [
              "type"
            ]
          },
          "then": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string"
              },
              "in": {
                "enum": [
                  "query",
                  "header",
                  "cookie"
                ]
              }
            },
            "required": [
              "name",
              "in"
            ]
          }
        },
        "type-http": {
          "if": {
            "type": "object",
            "properties": {
              "type": {
                "const": "http"
              }
            },
            "required": [
              "type"
            ]
          },
          "then": {
            "type": "object",
            "properties": {
              "scheme": {
                "type": "string"
              }
            },
            "required": [
              "scheme"
            ]
          }
        },
        "type-http-bearer": {
          "if": {
            "type": "object",
            "properties": {
              "type": {
                "const": "http"
              },
              "scheme": {
                "type": "string",
                "pattern": "^[Bb][Ee][Aa][Rr][Ee][Rr]$"
              }
            },
            "required": [
              "type",
              "scheme"
            ]
          },
          "then": {
            "type": "object",
            "properties": {
              "bearerFormat": {
                "type": "string"
              }
            }
          }
        },
        "type-oauth2": {
          "if": {
            "type": "object",
            "properties": {
              "type": {
                "const": "oauth2"
              }
            },
            "required": [
              "type"
            ]
          },
          "then": {
            "type": "object",
            "properties": {
              "flows": {
                "$ref": "#/$defs/oauth-flows"
              }
            },
            "required": [
              "flows"
            ]
          }
        },
        "type-oidc": {
          "if": {
            "type": "object",
            "properties": {
              "type": {
                "const": "openIdConnect"
              }
            },
            "required": [
              "type"
            ]
          },
          "then": {
            "type": "object",
            "properties": {
              "openIdConnectUrl": {
                "type": "string"
              }
            },
            "required": [
              "openIdConnectUrl"
            ]
          }
        }
      }
    },
    "security-scheme-or-reference": {
      "if": {
        "type": "object",
        "required": [
          "$ref"
        ]
      },
      "then": {
        "$ref": "#/$defs/reference"
      },
      "else": {
        "$ref": "#/$defs/security-scheme"
      }
    },
    "oauth-flows": {
      "type": "object",
      "properties": {
        "implicit": {
          "$ref": "#/$defs/oauth-flows/$defs/implicit"
        },
        "password": {
          "$ref": "#/$defs/oauth-flows/$defs/password"
        },
        "clientCredentials": {
          "$ref": "#/$defs/oauth-flows/$defs/client-credentials"
        },
        "authorizationCode": {
          "$ref": "#/$defs/oauth-flows/$defs/authorization-code"
        }
      },
      "$ref": "#/$defs/specification-extensions",
      "$defs": {
        "implicit": {
          "type": "object",
          "properties": {
            "authorizationUrl": {
              "type": "string"
            },
            "refreshUrl": {
              "type": "string"
            },
            "scopes": {
              "$ref": "#/$defs/map-of-strings"
            }
          },
          "required": [
            "authorizationUrl",
            "scopes"
          ],
          "$ref": "#/$defs/specification-extensions"
        },
        "password": {
          "type": "object",
          "properties": {
            "tokenUrl": {
              "type": "string"
            },
            "refreshUrl": {
              "type": "string"
            },
            "scopes": {
              "$ref": "#/$defs/map-of-strings"
            }
          },
          "required": [
            "tokenUrl",
            "scopes"
          ],
          "$ref": "#/$defs/specification-extensions"
        },
        "client-credentials": {
          "type": "object",
          "properties": {
            "tokenUrl": {
              "type": "string"
            },
            "refreshUrl": {
              "type": "string"
            },
            "scopes": {
              "$ref": "#/$defs/map-of-strings"
            }
          },
          "required": [
            "tokenUrl",
            "scopes"
          ],
          "$ref": "#/$defs/specification-extensions"
        },
        "authorization-code": {
          "type": "object",
          "properties": {
            "authorizationUrl": {
              "type": "string"
            },
            "tokenUrl": {
              "type": "string"
            },
            "refreshUrl": {
              "type": "string"
            },
            "scopes": {
              "$ref": "#/$defs/map-of-strings"
            }
          },
          "required": [
            "authorizationUrl",
            "tokenUrl",
            "scopes"
          ],
          "$ref": "#/$defs/specification-extensions"
        }
      }
    },
    "security-requirement": {
      "$comment": "https://spec.openapis.org/oas/v3.1.0#security-requirement-object",
      "type": "object",
      "additionalProperties": {
        "type": "array",
        "items": {
          "type": "string"
        }
      }
    },
    "specification-extensions": {
      "$comment": "https://spec.openapis.org/oas/v3.1.0#specification-extensions",
      "type": "object",
      "patternProperties": {
        "^x-": true
      }
    },
    "examples": {
      "type": "object",
      "properties": {
        "example": true,
        "examples": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/$defs/example-or-reference"
          }
        }
      }
    },
    "map-of-strings": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      }
    }
  }
}
