{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "react-server configuration",
  "description": "Configuration schema for @lazarv/react-server. Covers react-server specific options and Vite-level pass-through configuration.",
  "type": "object",
  "properties": {
    "$schema": {
      "type": "string",
      "description": "JSON Schema reference (ignored at runtime)."
    },
    "root": {
      "type": "string",
      "description": "Root directory for file-router page discovery."
    },
    "base": {
      "type": "string",
      "description": "Base public path for the application."
    },
    "entry": {
      "type": "string",
      "description": "Entry point for the application (used in non-file-router mode)."
    },
    "public": {
      "oneOf": [
        {
          "type": "string"
        },
        {
          "const": false
        }
      ],
      "description": "Public directory for static assets, or false to disable. Example: \"public\""
    },
    "name": {
      "type": "string",
      "description": "Application name."
    },
    "adapter": {
      "oneOf": [
        {
          "type": "string"
        },
        {
          "type": "array",
          "items": [
            {
              "type": "string"
            },
            {
              "type": "object"
            }
          ],
          "minItems": 1,
          "maxItems": 2
        }
      ],
      "description": "Deployment adapter. Known adapters: aws, azure, azure-swa, bun, cloudflare, deno, docker, firebase, netlify, singlefile, vercel. Example: \"vercel\" or [\"cloudflare\", { ... }]"
    },
    "plugins": {
      "type": "array",
      "description": "Vite plugins array or factory function."
    },
    "define": {
      "type": "object",
      "description": "Global constant replacements (passed to Vite define)."
    },
    "envDir": {
      "oneOf": [
        {
          "type": "string"
        },
        {
          "const": false
        }
      ],
      "description": "Directory to load .env files from, or false to disable."
    },
    "envPrefix": {
      "oneOf": [
        {
          "type": "string"
        },
        {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      ],
      "description": "Env variable prefix(es) to expose to client-side code."
    },
    "cacheDir": {
      "type": "string",
      "description": "Directory for Vite's dependency cache."
    },
    "external": {
      "oneOf": [
        {
          "type": "string"
        },
        {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      ],
      "description": "Packages to externalize from the server bundle."
    },
    "sourcemap": {
      "oneOf": [
        {
          "type": "boolean"
        },
        {
          "enum": [
            "inline",
            "hidden",
            "server",
            "server-inline"
          ]
        }
      ],
      "description": "Source map generation strategy: true, false, \"inline\", \"hidden\", \"server\", or \"server-inline\"."
    },
    "compression": {
      "type": "boolean",
      "description": "Enable response compression."
    },
    "export": {
      "oneOf": [
        {
          "type": "boolean"
        },
        {
          "type": "array",
          "items": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "object"
              }
            ]
          }
        }
      ],
      "description": "Static export configuration. Provide paths, path descriptors, a function, or boolean."
    },
    "prerender": {
      "oneOf": [
        {
          "type": "boolean"
        },
        {
          "type": "object"
        }
      ],
      "description": "Enable prerendering. true or { timeout: number }."
    },
    "cluster": {
      "oneOf": [
        {
          "type": "number"
        },
        {
          "type": "boolean"
        }
      ],
      "description": "Number of cluster workers, or true for auto-detection."
    },
    "cors": {
      "oneOf": [
        {
          "type": "boolean"
        },
        {
          "type": "object"
        }
      ],
      "description": "Enable CORS. true or { origin, credentials, ... }."
    },
    "vite": {
      "type": "object",
      "description": "Raw Vite config override (object or function)."
    },
    "customLogger": {
      "type": "object",
      "description": "Custom Vite logger instance."
    },
    "logger": {
      "oneOf": [
        {
          "type": "string"
        },
        {
          "type": "object"
        }
      ],
      "description": "Logger configuration. String (e.g. \"pino\") or object."
    },
    "globalErrorComponent": {
      "type": "string",
      "description": "Glob pattern for the global error component."
    },
    "handlers": {
      "oneOf": [
        {
          "type": "array"
        },
        {
          "type": "object",
          "properties": {
            "pre": {
              "type": "array"
            },
            "post": {
              "type": "array"
            }
          },
          "additionalProperties": false
        }
      ],
      "description": "HTTP request handlers (middleware). Array, function, or { pre, post }."
    },
    "importMap": {
      "type": "object",
      "properties": {
        "imports": {
          "type": "object"
        }
      },
      "additionalProperties": false,
      "description": "Import map for bare specifier resolution in the browser."
    },
    "inspect": {
      "oneOf": [
        {
          "type": "boolean"
        },
        {
          "type": "object"
        }
      ],
      "description": "Enable vite-plugin-inspect for debugging."
    },
    "runtime": {
      "type": "object",
      "description": "Runtime configuration passed to the server."
    },
    "cookies": {
      "type": "object",
      "description": "Cookie options for the session."
    },
    "host": {
      "oneOf": [
        {
          "type": "string"
        },
        {
          "const": true
        }
      ],
      "description": "Host to listen on. Example: \"0.0.0.0\" or true (all interfaces)."
    },
    "port": {
      "type": "integer",
      "minimum": 0,
      "maximum": 65535,
      "description": "Port to listen on (0–65535)."
    },
    "console": {
      "type": "boolean",
      "description": "Disable the dev console overlay."
    },
    "overlay": {
      "type": "boolean",
      "description": "Disable the dev error overlay."
    },
    "assetsInclude": {
      "oneOf": [
        {
          "type": "string"
        },
        {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      ],
      "description": "Additional file types to treat as static assets. String, RegExp, or array."
    },
    "logLevel": {
      "enum": [
        "info",
        "warn",
        "error",
        "silent"
      ],
      "description": "Vite log level: \"info\" | \"warn\" | \"error\" | \"silent\"."
    },
    "clearScreen": {
      "type": "boolean",
      "description": "Whether to clear the terminal screen on dev server start."
    },
    "html": {
      "type": "object",
      "description": "HTML options (e.g. cspNonce)."
    },
    "worker": {
      "type": "object",
      "properties": {
        "plugins": {
          "type": "array"
        },
        "rollupOptions": {
          "type": "object"
        },
        "rolldownOptions": {
          "type": "object"
        }
      },
      "additionalProperties": false,
      "description": "Web worker bundling configuration."
    },
    "server": {
      "type": "object",
      "properties": {
        "host": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "const": true
            }
          ],
          "description": "Specify which IP addresses the server should listen on."
        },
        "port": {
          "type": "integer",
          "minimum": 0,
          "maximum": 65535,
          "description": "Specify server port."
        },
        "strictPort": {
          "type": "boolean",
          "description": "If enabled, Vite will exit if the specified port is already in use."
        },
        "https": {
          "oneOf": [
            {
              "type": "boolean"
            },
            {
              "type": "object"
            }
          ],
          "description": "Enable HTTPS / TLS."
        },
        "cors": {
          "oneOf": [
            {
              "type": "boolean"
            },
            {
              "type": "object"
            }
          ],
          "description": "Configure CORS for the dev server."
        },
        "open": {
          "oneOf": [
            {
              "type": "boolean"
            },
            {
              "type": "string"
            }
          ],
          "description": "Open the app in the browser on server start."
        },
        "hmr": {
          "oneOf": [
            {
              "type": "boolean"
            },
            {
              "type": "object"
            }
          ],
          "description": "Configure HMR connection. Set to false to disable HMR."
        },
        "ws": {
          "const": false,
          "description": "Set to false to disable the WebSocket connection. Experimental."
        },
        "allowedHosts": {
          "oneOf": [
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            {
              "const": true
            }
          ],
          "description": "Hostnames that Vite is allowed to respond to. Set to true to allow all hosts."
        },
        "fs": {
          "type": "object",
          "properties": {
            "allow": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Directories allowed to be served."
            },
            "deny": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Directories denied from being served."
            },
            "strict": {
              "type": "boolean",
              "description": "Enable strict file serving mode."
            }
          },
          "additionalProperties": false,
          "description": "File system serving restrictions."
        },
        "watch": {
          "type": "object",
          "description": "File watcher options (passed to chokidar)."
        },
        "origin": {
          "type": "string",
          "description": "Define the origin of the generated asset URLs during development."
        },
        "proxy": {
          "type": "object",
          "description": "Custom proxy rules for the dev server."
        },
        "trustProxy": {
          "type": "boolean",
          "description": "Trust the X-Forwarded-* headers from reverse proxies."
        },
        "headers": {
          "type": "object",
          "description": "Custom response headers for the dev server."
        },
        "warmup": {
          "type": "object",
          "description": "Warm up files to pre-transform on server start."
        },
        "preTransformRequests": {
          "type": "boolean",
          "description": "Pre-transform known direct imports. Enabled by default."
        },
        "sourcemapIgnoreList": {
          "const": false,
          "description": "Whether to ignore-list source files in the dev server sourcemap. By default excludes node_modules."
        }
      },
      "additionalProperties": false,
      "description": "Dev server configuration (Vite-compatible)."
    },
    "resolve": {
      "type": "object",
      "properties": {
        "alias": {
          "oneOf": [
            {
              "type": "object"
            },
            {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "find": {
                    "type": "string"
                  },
                  "replacement": {
                    "type": "string"
                  }
                },
                "required": [
                  "find",
                  "replacement"
                ]
              }
            }
          ],
          "description": "Import alias mapping."
        },
        "dedupe": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Dependencies to force-deduplicate."
        },
        "noExternal": {
          "oneOf": [
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            {
              "type": "boolean"
            }
          ],
          "description": "Packages to bundle instead of externalizing during SSR."
        },
        "shared": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Shared dependencies between server and client bundles."
        },
        "external": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          ],
          "description": "External dependencies for SSR."
        },
        "builtins": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Built-in modules that should not be bundled."
        },
        "conditions": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Custom conditions for package exports resolution."
        },
        "extensions": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "File extensions to try when resolving imports."
        },
        "mainFields": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Fields in package.json to try when resolving entry points."
        },
        "externalConditions": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Conditions for external package exports resolution."
        },
        "preserveSymlinks": {
          "type": "boolean",
          "description": "Whether to preserve symlinks when resolving. Defaults to false."
        },
        "tsconfigPaths": {
          "type": "boolean",
          "description": "Whether to use tsconfig paths for resolution. Defaults to false."
        }
      },
      "additionalProperties": false,
      "description": "Module resolution configuration."
    },
    "build": {
      "type": "object",
      "properties": {
        "assetsDir": {
          "type": "string",
          "description": "Directory for assets inside outDir."
        },
        "cssMinify": {
          "oneOf": [
            {
              "type": "boolean"
            },
            {
              "enum": [
                "lightningcss",
                "esbuild"
              ]
            }
          ],
          "description": "CSS minification (uses minify value by default)."
        },
        "cssCodeSplit": {
          "type": "boolean",
          "description": "Enable CSS code splitting."
        },
        "cssTarget": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            {
              "const": false
            }
          ],
          "description": "CSS browser compatibility target."
        },
        "assetsInlineLimit": {
          "type": "number",
          "description": "Threshold (in bytes) for inlining assets as base64."
        },
        "reportCompressedSize": {
          "type": "boolean",
          "description": "Show compressed size of build output."
        },
        "copyPublicDir": {
          "type": "boolean",
          "description": "Copy public directory to outDir on build."
        },
        "modulePreload": {
          "oneOf": [
            {
              "type": "boolean"
            },
            {
              "type": "object"
            }
          ],
          "description": "Module preload configuration."
        },
        "chunkSizeWarningLimit": {
          "type": "number",
          "description": "Warn when a chunk exceeds this size (in kB)."
        },
        "lib": {
          "oneOf": [
            {
              "type": "boolean"
            },
            {
              "type": "object"
            }
          ],
          "description": "Build in library mode."
        },
        "terserOptions": {
          "type": "object",
          "description": "Terser minification options (when minify is terser)."
        },
        "write": {
          "type": "boolean",
          "description": "Whether to write the bundle to disk."
        },
        "ssrManifest": {
          "oneOf": [
            {
              "type": "boolean"
            },
            {
              "type": "string"
            }
          ],
          "description": "Generate an SSR manifest for preload directives."
        },
        "emitAssets": {
          "type": "boolean",
          "description": "Whether to emit assets during build."
        },
        "watch": {
          "oneOf": [
            {
              "type": "object"
            },
            {
              "const": null
            }
          ],
          "description": "Rollup watcher options, or null to disable."
        },
        "license": {
          "oneOf": [
            {
              "type": "boolean"
            },
            {
              "type": "object"
            }
          ],
          "description": "Generate license file for third-party dependencies."
        },
        "dynamicImportVarsOptions": {
          "type": "object",
          "description": "Options for dynamic import variable analysis."
        },
        "rollupOptions": {
          "type": "object",
          "properties": {
            "external": {
              "oneOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "string"
                }
              ]
            },
            "output": {
              "type": "object"
            },
            "plugins": {
              "type": "array"
            },
            "input": {
              "oneOf": [
                {
                  "type": "string"
                },
                {
                  "type": "object"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "checks": {
              "type": "object"
            },
            "treeshake": {
              "oneOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "object"
                }
              ]
            }
          },
          "additionalProperties": false,
          "description": "Rollup-specific build options (deprecated, use rolldownOptions)."
        },
        "rolldownOptions": {
          "type": "object",
          "properties": {
            "external": {
              "oneOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "string"
                }
              ]
            },
            "output": {
              "type": "object"
            },
            "plugins": {
              "type": "array"
            },
            "input": {
              "oneOf": [
                {
                  "type": "string"
                },
                {
                  "type": "object"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "checks": {
              "type": "object"
            },
            "treeshake": {
              "oneOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "object"
                }
              ]
            }
          },
          "additionalProperties": false,
          "description": "Rolldown-specific build options."
        },
        "server": {
          "type": "object",
          "properties": {
            "config": {
              "type": "object"
            }
          },
          "additionalProperties": false,
          "description": "Custom Vite config for the server build."
        },
        "client": {
          "type": "object",
          "properties": {
            "config": {
              "type": "object"
            }
          },
          "additionalProperties": false,
          "description": "Custom Vite config for the client build."
        }
      },
      "additionalProperties": false,
      "description": "Build configuration (Vite-compatible)."
    },
    "ssr": {
      "type": "object",
      "properties": {
        "external": {
          "oneOf": [
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            {
              "const": true
            }
          ],
          "description": "Force externalize these dependencies during SSR."
        },
        "noExternal": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            {
              "const": true
            }
          ],
          "description": "Force bundle these dependencies during SSR."
        },
        "target": {
          "enum": [
            "node",
            "webworker"
          ],
          "description": "SSR target environment: \"node\" or \"webworker\"."
        },
        "resolve": {
          "type": "object",
          "description": "SSR resolve options."
        },
        "optimizeDeps": {
          "type": "object",
          "description": "SSR dependency optimization options."
        }
      },
      "additionalProperties": false,
      "description": "SSR configuration (Vite-compatible)."
    },
    "css": {
      "type": "object",
      "properties": {
        "transformer": {
          "enum": [
            "postcss",
            "lightningcss"
          ],
          "description": "CSS transformer: \"postcss\" or \"lightningcss\"."
        },
        "modules": {
          "oneOf": [
            {
              "type": "object"
            },
            {
              "const": false
            }
          ],
          "description": "CSS Modules configuration, or false to disable."
        },
        "preprocessorOptions": {
          "type": "object",
          "description": "Options for CSS preprocessors."
        },
        "preprocessorMaxWorkers": {
          "oneOf": [
            {
              "type": "number"
            },
            {
              "const": true
            }
          ],
          "description": "Max workers for CSS preprocessing. Number or true for auto."
        },
        "postcss": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "type": "object"
            }
          ],
          "description": "PostCSS config (inline or path to config file)."
        },
        "devSourcemap": {
          "type": "boolean",
          "description": "Enable sourcemaps during dev for CSS."
        },
        "lightningcss": {
          "type": "object",
          "description": "Lightning CSS options."
        }
      },
      "additionalProperties": false,
      "description": "CSS configuration (Vite-compatible)."
    },
    "optimizeDeps": {
      "type": "object",
      "properties": {
        "entries": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          ],
          "description": "Entry points for dependency pre-bundling."
        },
        "include": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Dependencies to force-include in pre-bundling."
        },
        "exclude": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Dependencies to exclude from pre-bundling."
        },
        "force": {
          "type": "boolean",
          "description": "Force re-optimization on every dev server start."
        },
        "needsInterop": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Dependencies that need CommonJS interop."
        },
        "extensions": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "File extensions to scan for dependencies."
        },
        "disabled": {
          "oneOf": [
            {
              "type": "boolean"
            },
            {
              "enum": [
                "build",
                "dev"
              ]
            }
          ],
          "description": "Disable optimization: true, false, \"build\", or \"dev\" (deprecated)."
        },
        "noDiscovery": {
          "type": "boolean",
          "description": "Disable automatic dependency discovery."
        },
        "holdUntilCrawlEnd": {
          "type": "boolean",
          "description": "Hold optimization until initial crawl ends."
        },
        "rollupOptions": {
          "type": "object",
          "description": "Rollup options for dependency optimization (deprecated)."
        },
        "rolldownOptions": {
          "type": "object",
          "description": "Rolldown options for dependency optimization."
        },
        "esbuildOptions": {
          "type": "object",
          "description": "esbuild options for dependency optimization (deprecated)."
        }
      },
      "additionalProperties": false,
      "description": "Dependency optimization configuration (Vite-compatible)."
    },
    "cache": {
      "type": "object",
      "properties": {
        "profiles": {
          "oneOf": [
            {
              "type": "object"
            },
            {
              "type": "array"
            }
          ],
          "description": "Cache profiles (TTL, key strategies, etc.)."
        },
        "providers": {
          "oneOf": [
            {
              "type": "object"
            },
            {
              "type": "array"
            }
          ],
          "description": "Cache storage providers."
        }
      },
      "additionalProperties": false,
      "description": "Cache configuration for server-side caching."
    },
    "serverFunctions": {
      "type": "object",
      "properties": {
        "secret": {
          "type": "string",
          "description": "Secret key for signing server function calls."
        },
        "secretFile": {
          "type": "string",
          "description": "Path to a file containing the secret key."
        },
        "previousSecrets": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Previously used secrets for key rotation."
        },
        "previousSecretFiles": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Previously used secret files for key rotation."
        },
        "limits": {
          "type": "object",
          "properties": {
            "maxRows": {
              "type": "integer",
              "minimum": 0,
              "description": "Maximum number of outlined rows per reply. Default: 10000."
            },
            "maxDepth": {
              "type": "integer",
              "minimum": 0,
              "description": "Maximum recursion depth when materialising a row's value tree. Default: 128."
            },
            "maxBytes": {
              "type": "integer",
              "minimum": 0,
              "description": "Maximum total payload size in bytes (sum of FormData entries). Default: 32 MiB."
            },
            "maxBoundArgs": {
              "type": "integer",
              "minimum": 0,
              "description": "Maximum bound arguments on a server reference. Default: 256 (matches React)."
            },
            "maxBigIntDigits": {
              "type": "integer",
              "minimum": 0,
              "description": "Maximum digits in a decoded BigInt literal. Default: 4096 (matches React)."
            },
            "maxStringLength": {
              "type": "integer",
              "minimum": 0,
              "description": "Maximum length of a single string row before decoding. Default: 16 MiB."
            },
            "maxStreamChunks": {
              "type": "integer",
              "minimum": 0,
              "description": "Maximum chunks materialised for a decoded stream/iterable. Default: 10000."
            }
          },
          "additionalProperties": false,
          "description": "Resource ceilings for decoding server function payloads (per-request DoS protection)."
        }
      },
      "additionalProperties": false,
      "description": "Server functions (RPC) configuration."
    },
    "routes": {
      "oneOf": [
        {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Object shorthand: keys are URL paths, values are file paths. Type defaults to page."
        },
        {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "path": {
                "type": "string",
                "description": "The URL path for this route."
              },
              "file": {
                "type": "string",
                "description": "File path to the component/handler (resolved relative to cwd)."
              },
              "type": {
                "enum": [
                  "page",
                  "layout",
                  "middleware",
                  "api",
                  "error",
                  "loading",
                  "fallback",
                  "default",
                  "template",
                  "state",
                  "metadata",
                  "static"
                ],
                "description": "Route type. Defaults to \"page\"."
              },
              "method": {
                "enum": [
                  "GET",
                  "POST",
                  "PUT",
                  "PATCH",
                  "DELETE",
                  "HEAD",
                  "OPTIONS"
                ],
                "description": "HTTP method (required when type is api)."
              },
              "outlet": {
                "type": "string",
                "description": "Named outlet."
              }
            },
            "required": [
              "path",
              "file"
            ],
            "additionalProperties": false
          }
        }
      ],
      "description": "Virtual route definitions mapping URL paths to files outside the file-router root. Object shorthand (values are file paths, type defaults to \"page\") or array of { path, file, type?, method?, outlet? }."
    },
    "layout": {
      "type": "object",
      "description": "File-router layout configuration."
    },
    "page": {
      "type": "object",
      "description": "File-router page configuration."
    },
    "middleware": {
      "type": "object",
      "description": "File-router middleware configuration."
    },
    "api": {
      "type": "object",
      "description": "File-router API route configuration."
    },
    "router": {
      "type": "object",
      "description": "File-router router configuration (applies on top of layout/page/middleware/api)."
    },
    "mdx": {
      "type": "object",
      "properties": {
        "remarkPlugins": {
          "type": "array",
          "description": "Remark plugins for MDX processing."
        },
        "rehypePlugins": {
          "type": "array",
          "description": "Rehype plugins for MDX processing."
        },
        "components": {
          "type": "string",
          "description": "Path to the MDX components file."
        }
      },
      "additionalProperties": false,
      "description": "MDX processing configuration."
    },
    "telemetry": {
      "type": "object",
      "properties": {
        "enabled": {
          "type": "boolean",
          "description": "Enable/disable telemetry. Also enabled by OTEL_EXPORTER_OTLP_ENDPOINT or REACT_SERVER_TELEMETRY env vars."
        },
        "serviceName": {
          "type": "string",
          "description": "Service name reported to your observability backend. Default: package name or \"@lazarv/react-server\"."
        },
        "endpoint": {
          "type": "string",
          "description": "OTLP collector endpoint. Default: \"http://localhost:4318\"."
        },
        "exporter": {
          "enum": [
            "otlp",
            "console",
            "dev-console"
          ],
          "description": "Exporter type: \"otlp\" | \"console\" | \"dev-console\". Default: auto-detected."
        },
        "sampleRate": {
          "type": "number",
          "minimum": 0,
          "maximum": 1,
          "description": "Sampling rate 0.0–1.0. Default: 1.0 (sample everything)."
        },
        "metrics": {
          "type": "object",
          "properties": {
            "enabled": {
              "type": "boolean",
              "description": "Enable/disable metrics collection. Default: true when telemetry is enabled."
            },
            "interval": {
              "type": "integer",
              "minimum": 1000,
              "description": "Metrics export interval in milliseconds. Default: 30000."
            }
          },
          "additionalProperties": false,
          "description": "Metrics sub-configuration."
        }
      },
      "additionalProperties": false,
      "description": "OpenTelemetry observability configuration. When enabled, the runtime instruments HTTP requests, rendering, server functions, and middleware."
    }
  },
  "additionalProperties": false
}