Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  schema.base.generated.ts

  Sprache: JAVA
 

Spracherkennung für: .ts vermutete Sprache: Unknown {[0] [0] [0]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]

// Auto-generated by scripts/generate-base-config-schema.ts. Do not edit directly.

import type { BaseConfigSchemaResponse } from "./schema-base.js";

export const GENERATED_BASE_CONFIG_SCHEMA: BaseConfigSchemaResponse = {
  schema: {
    $schema: "http://json-schema.org/draft-07/schema#",
    type: "object",
    properties: {
      meta: {
        type: "object",
        properties: {
          lastTouchedVersion: {
            type: "string",
            title: "Config Last Touched Version",
            description: "Auto-set when OpenClaw writes the config.",
          },
          lastTouchedAt: {
            anyOf: [
              {
                type: "string",
              },
              {},
            ],
            title: "Config Last Touched At",
            description: "ISO timestamp of the last config write (auto-set).",
          },
        },
        additionalProperties: false,
        title: "Metadata",
        description:
          "Metadata fields automatically maintained by OpenClaw to record write/version history for this config file. Keep these values system-managed and avoid manual edits unless debugging migration history.",
      },
      env: {
        type: "object",
        properties: {
          shellEnv: {
            type: "object",
            properties: {
              enabled: {
                type: "boolean",
                title: "Shell Environment Import Enabled",
                description:
                  "Enables loading environment variables from the user shell profile during startup initialization. Keep enabled for developer machines, or disable in locked-down service environments with explicit env management.",
              },
              timeoutMs: {
                type: "integer",
                minimum: 0,
                maximum: 9007199254740991,
                title: "Shell Environment Import Timeout (ms)",
                description:
                  "Maximum time in milliseconds allowed for shell environment resolution before fallback behavior applies. Use tighter timeouts for faster startup, or increase when shell initialization is heavy.",
              },
            },
            additionalProperties: false,
            title: "Shell Environment Import",
            description:
              "Shell environment import controls for loading variables from your login shell during startup. Keep this enabled when you depend on profile-defined secrets or PATH customizations.",
          },
          vars: {
            type: "object",
            propertyNames: {
              type: "string",
            },
            additionalProperties: {
              type: "string",
            },
            title: "Environment Variable Overrides",
            description:
              "Explicit key/value environment variable overrides merged into runtime process environment for OpenClaw. Use this for deterministic env configuration instead of relying only on shell profile side effects.",
          },
        },
        additionalProperties: {
          type: "string",
        },
        title: "Environment",
        description:
          "Environment import and override settings used to supply runtime variables to the gateway process. Use this section to control shell-env loading and explicit variable injection behavior.",
      },
      wizard: {
        type: "object",
        properties: {
          lastRunAt: {
            type: "string",
            title: "Wizard Last Run Timestamp",
            description:
              "ISO timestamp for when the setup wizard most recently completed on this host. Use this to confirm setup recency during support and operational audits.",
          },
          lastRunVersion: {
            type: "string",
            title: "Wizard Last Run Version",
            description:
              "OpenClaw version recorded at the time of the most recent wizard run on this config. Use this when diagnosing behavior differences across version-to-version setup changes.",
          },
          lastRunCommit: {
            type: "string",
            title: "Wizard Last Run Commit",
            description:
              "Source commit identifier recorded for the last wizard execution in development builds. Use this to correlate setup behavior with exact source state during debugging.",
          },
          lastRunCommand: {
            type: "string",
            title: "Wizard Last Run Command",
            description:
              "Command invocation recorded for the latest wizard run to preserve execution context. Use this to reproduce setup steps when verifying setup regressions.",
          },
          lastRunMode: {
            anyOf: [
              {
                type: "string",
                const: "local",
              },
              {
                type: "string",
                const: "remote",
              },
            ],
            title: "Wizard Last Run Mode",
            description:
              'Wizard execution mode recorded as "local" or "remote" for the most recent setup flow. Use this to understand whether setup targeted direct local runtime or remote gateway topology.',
          },
        },
        additionalProperties: false,
        title: "Setup Wizard State",
        description:
          "Setup wizard state tracking fields that record the most recent guided setup run details. Keep these fields for observability and troubleshooting of setup flows across upgrades.",
      },
      diagnostics: {
        type: "object",
        properties: {
          enabled: {
            type: "boolean",
            title: "Diagnostics Enabled",
            description:
              "Master toggle for diagnostics instrumentation output in logs and telemetry wiring paths. Defaults to enabled; set false only in tightly constrained environments.",
          },
          flags: {
            type: "array",
            items: {
              type: "string",
            },
            title: "Diagnostics Flags",
            description:
              'Enable targeted diagnostics logs by flag (e.g. ["telegram.http"]). Supports wildcards like "telegram.*" or "*".',
          },
          stuckSessionWarnMs: {
            type: "integer",
            exclusiveMinimum: 0,
            maximum: 9007199254740991,
            title: "Stuck Session Warning Threshold (ms)",
            description:
              "Age threshold in milliseconds for emitting stuck-session warnings while a session remains in processing state. Increase for long multi-tool turns to reduce false positives; decrease for faster hang detection.",
          },
          otel: {
            type: "object",
            properties: {
              enabled: {
                type: "boolean",
                title: "OpenTelemetry Enabled",
                description:
                  "Enables OpenTelemetry export pipeline for traces, metrics, and logs based on configured endpoint/protocol settings. Keep disabled unless your collector endpoint and auth are fully configured.",
              },
              endpoint: {
                type: "string",
                title: "OpenTelemetry Endpoint",
                description:
                  "Collector endpoint URL used for OpenTelemetry export transport, including scheme and port. Use a reachable, trusted collector endpoint and monitor ingestion errors after rollout.",
              },
              protocol: {
                anyOf: [
                  {
                    type: "string",
                    const: "http/protobuf",
                  },
                  {
                    type: "string",
                    const: "grpc",
                  },
                ],
                title: "OpenTelemetry Protocol",
                description:
                  'OTel transport protocol for telemetry export: "http/protobuf" or "grpc" depending on collector support. Use the protocol your observability backend expects to avoid dropped telemetry payloads.',
              },
              headers: {
                type: "object",
                propertyNames: {
                  type: "string",
                },
                additionalProperties: {
                  type: "string",
                },
                title: "OpenTelemetry Headers",
                description:
                  "Additional HTTP/gRPC metadata headers sent with OpenTelemetry export requests, often used for tenant auth or routing. Keep secrets in env-backed values and avoid unnecessary header sprawl.",
              },
              serviceName: {
                type: "string",
                title: "OpenTelemetry Service Name",
                description:
                  "Service name reported in telemetry resource attributes to identify this gateway instance in observability backends. Use stable names so dashboards and alerts remain consistent over deployments.",
              },
              traces: {
                type: "boolean",
                title: "OpenTelemetry Traces Enabled",
                description:
                  "Enable trace signal export to the configured OpenTelemetry collector endpoint. Keep enabled when latency/debug tracing is needed, and disable if you only want metrics/logs.",
              },
              metrics: {
                type: "boolean",
                title: "OpenTelemetry Metrics Enabled",
                description:
                  "Enable metrics signal export to the configured OpenTelemetry collector endpoint. Keep enabled for runtime health dashboards, and disable only if metric volume must be minimized.",
              },
              logs: {
                type: "boolean",
                title: "OpenTelemetry Logs Enabled",
                description:
                  "Enable log signal export through OpenTelemetry in addition to local logging sinks. Use this when centralized log correlation is required across services and agents.",
              },
              sampleRate: {
                type: "number",
                minimum: 0,
                maximum: 1,
                title: "OpenTelemetry Trace Sample Rate",
                description:
                  "Trace sampling rate (0-1) controlling how much trace traffic is exported to observability backends. Lower rates reduce overhead/cost, while higher rates improve debugging fidelity.",
              },
              flushIntervalMs: {
                type: "integer",
                minimum: 0,
                maximum: 9007199254740991,
                title: "OpenTelemetry Flush Interval (ms)",
                description:
                  "Interval in milliseconds for periodic telemetry flush from buffers to the collector. Increase to reduce export chatter, or lower for faster visibility during active incident response.",
              },
              captureContent: {
                anyOf: [
                  {
                    type: "boolean",
                  },
                  {
                    type: "object",
                    properties: {
                      enabled: {
                        type: "boolean",
                        title: "OpenTelemetry Content Capture Enabled",
                        description:
                          "Master switch for granular OTEL content capture fields. Keep disabled unless your collector is approved for raw prompt, response, or tool content.",
                      },
                      inputMessages: {
                        type: "boolean",
                        title: "OpenTelemetry Input Messages Capture",
                        description:
                          "Capture model input message text on OTEL spans when content capture is enabled.",
                      },
                      outputMessages: {
                        type: "boolean",
                        title: "OpenTelemetry Output Messages Capture",
                        description:
                          "Capture model output message text on OTEL spans when content capture is enabled.",
                      },
                      toolInputs: {
                        type: "boolean",
                        title: "OpenTelemetry Tool Inputs Capture",
                        description:
                          "Capture tool input text on OTEL spans when content capture is enabled.",
                      },
                      toolOutputs: {
                        type: "boolean",
                        title: "OpenTelemetry Tool Outputs Capture",
                        description:
                          "Capture tool output text on OTEL spans when content capture is enabled.",
                      },
                      systemPrompt: {
                        type: "boolean",
                        title: "OpenTelemetry System Prompt Capture",
                        description:
                          "Capture system prompt text on OTEL spans when content capture is enabled. This remains off unless explicitly enabled.",
                      },
                    },
                    additionalProperties: false,
                  },
                ],
                title: "OpenTelemetry Content Capture",
                description:
                  "Opt-in OTEL span content capture. Defaults to off; boolean true captures non-system message/tool content, while the object form lets you enable specific content classes.",
              },
            },
            additionalProperties: false,
            title: "OpenTelemetry",
            description:
              "OpenTelemetry export settings for traces, metrics, and logs emitted by gateway components. Use this when integrating with centralized observability backends and distributed tracing pipelines.",
          },
          cacheTrace: {
            type: "object",
            properties: {
              enabled: {
                type: "boolean",
                title: "Cache Trace Enabled",
                description: "Log cache trace snapshots for embedded agent runs (default: false).",
              },
              filePath: {
                type: "string",
                title: "Cache Trace File Path",
                description:
                  "JSONL output path for cache trace logs (default: $OPENCLAW_STATE_DIR/logs/cache-trace.jsonl).",
              },
              includeMessages: {
                type: "boolean",
                title: "Cache Trace Include Messages",
                description: "Include full message payloads in trace output (default: true).",
              },
              includePrompt: {
                type: "boolean",
                title: "Cache Trace Include Prompt",
                description: "Include prompt text in trace output (default: true).",
              },
              includeSystem: {
                type: "boolean",
                title: "Cache Trace Include System",
                description: "Include system prompt in trace output (default: true).",
              },
            },
            additionalProperties: false,
            title: "Cache Trace",
            description:
              "Cache-trace logging settings for observing cache decisions and payload context in embedded runs. Enable this temporarily for debugging and disable afterward to reduce sensitive log footprint.",
          },
        },
        additionalProperties: false,
        title: "Diagnostics",
        description:
          "Diagnostics controls for targeted tracing, telemetry export, and cache inspection during debugging. Keep baseline diagnostics minimal in production and enable deeper signals only when investigating issues.",
      },
      logging: {
        type: "object",
        properties: {
          level: {
            anyOf: [
              {
                type: "string",
                const: "silent",
              },
              {
                type: "string",
                const: "fatal",
              },
              {
                type: "string",
                const: "error",
              },
              {
                type: "string",
                const: "warn",
              },
              {
                type: "string",
                const: "info",
              },
              {
                type: "string",
                const: "debug",
              },
              {
                type: "string",
                const: "trace",
              },
            ],
            title: "Log Level",
            description:
              'Primary log level threshold for runtime logger output: "silent", "fatal", "error", "warn", "info", "debug", or "trace". Keep "info" or "warn" for production, and use debug/trace only during investigation.',
          },
          file: {
            type: "string",
            title: "Log File Path",
            description:
              "Optional file path for persisted log output in addition to or instead of console logging. Use a managed writable path and align retention/rotation with your operational policy.",
          },
          maxFileBytes: {
            type: "integer",
            exclusiveMinimum: 0,
            maximum: 9007199254740991,
          },
          consoleLevel: {
            anyOf: [
              {
                type: "string",
                const: "silent",
              },
              {
                type: "string",
                const: "fatal",
              },
              {
                type: "string",
                const: "error",
              },
              {
                type: "string",
                const: "warn",
              },
              {
                type: "string",
                const: "info",
              },
              {
                type: "string",
                const: "debug",
              },
              {
                type: "string",
                const: "trace",
              },
            ],
            title: "Console Log Level",
            description:
              'Console-specific log threshold: "silent", "fatal", "error", "warn", "info", "debug", or "trace" for terminal output control. Use this to keep local console quieter while retaining richer file logging if needed.',
          },
          consoleStyle: {
            anyOf: [
              {
                type: "string",
                const: "pretty",
              },
              {
                type: "string",
                const: "compact",
              },
              {
                type: "string",
                const: "json",
              },
            ],
            title: "Console Log Style",
            description:
              'Console output format style: "pretty", "compact", or "json" based on operator and ingestion needs. Use json for machine parsing pipelines and pretty/compact for human-first terminal workflows.',
          },
          redactSensitive: {
            anyOf: [
              {
                type: "string",
                const: "off",
              },
              {
                type: "string",
                const: "tools",
              },
            ],
            title: "Sensitive Data Redaction Mode",
            description:
              'Sensitive redaction mode: "off" disables built-in masking, while "tools" redacts sensitive tool/config payload fields. Keep "tools" in shared logs unless you have isolated secure log sinks.',
          },
          redactPatterns: {
            type: "array",
            items: {
              type: "string",
            },
            title: "Custom Redaction Patterns",
            description:
              "Additional custom redact regex patterns applied to log output before emission/storage. Use this to mask org-specific tokens and identifiers not covered by built-in redaction rules.",
          },
        },
        additionalProperties: false,
        title: "Logging",
        description:
          "Logging behavior controls for severity, output destinations, formatting, and sensitive-data redaction. Keep levels and redaction strict enough for production while preserving useful diagnostics.",
      },
      cli: {
        type: "object",
        properties: {
          banner: {
            type: "object",
            properties: {
              taglineMode: {
                anyOf: [
                  {
                    type: "string",
                    const: "random",
                  },
                  {
                    type: "string",
                    const: "default",
                  },
                  {
                    type: "string",
                    const: "off",
                  },
                ],
                title: "CLI Banner Tagline Mode",
                description:
                  'Controls tagline style in the CLI startup banner: "random" (default) picks from the rotating tagline pool, "default" always shows the neutral default tagline, and "off" hides tagline text while keeping the banner version line.',
              },
            },
            additionalProperties: false,
            title: "CLI Banner",
            description:
              "CLI startup banner controls for title/version line and tagline style behavior. Keep banner enabled for fast version/context checks, then tune tagline mode to your preferred noise level.",
          },
        },
        additionalProperties: false,
        title: "CLI",
        description:
          "CLI presentation controls for local command output behavior such as banner and tagline style. Use this section to keep startup output aligned with operator preference without changing runtime behavior.",
      },
      update: {
        type: "object",
        properties: {
          channel: {
            anyOf: [
              {
                type: "string",
                const: "stable",
              },
              {
                type: "string",
                const: "beta",
              },
              {
                type: "string",
                const: "dev",
              },
            ],
            title: "Update Channel",
            description: 'Update channel for git + npm installs ("stable", "beta", or "dev").',
          },
          checkOnStart: {
            type: "boolean",
            title: "Update Check on Start",
            description: "Check for npm updates when the gateway starts (default: true).",
          },
          auto: {
            type: "object",
            properties: {
              enabled: {
                type: "boolean",
                title: "Auto Update Enabled",
                description: "Enable background auto-update for package installs (default: false).",
              },
              stableDelayHours: {
                type: "number",
                minimum: 0,
                maximum: 168,
                title: "Auto Update Stable Delay (hours)",
                description: "Minimum delay before stable-channel auto-apply starts (default: 6).",
              },
              stableJitterHours: {
                type: "number",
                minimum: 0,
                maximum: 168,
                title: "Auto Update Stable Jitter (hours)",
                description: "Extra stable-channel rollout spread window in hours (default: 12).",
              },
              betaCheckIntervalHours: {
                type: "number",
                exclusiveMinimum: 0,
                maximum: 24,
                title: "Auto Update Beta Check Interval (hours)",
                description: "How often beta-channel checks run in hours (default: 1).",
              },
            },
            additionalProperties: false,
          },
        },
        additionalProperties: false,
        title: "Updates",
        description:
          "Update-channel and startup-check behavior for keeping OpenClaw runtime versions current. Use conservative channels in production and more experimental channels only in controlled environments.",
      },
      browser: {
        type: "object",
        properties: {
          enabled: {
            type: "boolean",
            title: "Browser Enabled",
            description:
              "Enables browser capability wiring in the gateway so browser tools and CDP-driven workflows can run. Disable when browser automation is not needed to reduce surface area and startup work.",
          },
          evaluateEnabled: {
            type: "boolean",
            title: "Browser Evaluate Enabled",
            description:
              "Enables browser-side evaluate helpers for runtime script evaluation capabilities where supported. Keep disabled unless your workflows require evaluate semantics beyond snapshots/navigation.",
          },
          cdpUrl: {
            type: "string",
            title: "Browser CDP URL",
            description:
              "Remote CDP websocket URL used to attach to an externally managed browser instance. Use this for centralized browser hosts and keep URL access restricted to trusted network paths.",
          },
          remoteCdpTimeoutMs: {
            type: "integer",
            minimum: 0,
            maximum: 9007199254740991,
            title: "Remote CDP Timeout (ms)",
            description:
              "Timeout in milliseconds for connecting to a remote CDP endpoint before failing the browser attach attempt. Increase for high-latency tunnels, or lower for faster failure detection.",
          },
          remoteCdpHandshakeTimeoutMs: {
            type: "integer",
            minimum: 0,
            maximum: 9007199254740991,
            title: "Remote CDP Handshake Timeout (ms)",
            description:
              "Timeout in milliseconds for post-connect CDP handshake readiness checks against remote browser targets. Raise this for slow-start remote browsers and lower to fail fast in automation loops.",
          },
          actionTimeoutMs: {
            type: "integer",
            exclusiveMinimum: 0,
            maximum: 9007199254740991,
            title: "Browser Action Timeout (ms)",
            description:
              "Default timeout in milliseconds for browser act requests before the client gives up waiting. Raise this when healthy waits or UI interactions exceed the default request budget.",
          },
          color: {
            type: "string",
            title: "Browser Accent Color",
            description:
              "Default accent color used for browser profile/UI cues where colored identity hints are displayed. Use consistent colors to help operators identify active browser profile context quickly.",
          },
          executablePath: {
            type: "string",
            title: "Browser Executable Path",
            description:
              "Explicit browser executable path when auto-discovery is insufficient for your host environment. Use absolute stable paths so launch behavior stays deterministic across restarts.",
          },
          headless: {
            type: "boolean",
            title: "Browser Headless Mode",
            description:
              "Forces browser launch in headless mode when the local launcher starts browser instances. Keep headless enabled for server environments and disable only when visible UI debugging is required.",
          },
          noSandbox: {
            type: "boolean",
            title: "Browser No-Sandbox Mode",
            description:
              "Disables Chromium sandbox isolation flags for environments where sandboxing fails at runtime. Keep this off whenever possible because process isolation protections are reduced.",
          },
          attachOnly: {
            type: "boolean",
            title: "Browser Attach-only Mode",
            description:
              "Restricts browser mode to attach-only behavior without starting local browser processes. Use this when all browser sessions are externally managed by a remote CDP provider.",
          },
          cdpPortRangeStart: {
            type: "integer",
            minimum: 1,
            maximum: 65535,
            title: "Browser CDP Port Range Start",
            description:
              "Starting local CDP port used for auto-allocated browser profile ports. Increase this when host-level port defaults conflict with other local services.",
          },
          defaultProfile: {
            type: "string",
            title: "Browser Default Profile",
            description:
              "Default browser profile name selected when callers do not explicitly choose a profile. Use a stable low-privilege profile as the default to reduce accidental cross-context state use.",
          },
          snapshotDefaults: {
            type: "object",
            properties: {
              mode: {
                type: "string",
                const: "efficient",
                title: "Browser Snapshot Mode",
                description:
                  "Default snapshot extraction mode controlling how page content is transformed for agent consumption. Choose the mode that balances readability, fidelity, and token footprint for your workflows.",
              },
            },
            additionalProperties: false,
            title: "Browser Snapshot Defaults",
            description:
              "Default snapshot capture configuration used when callers do not provide explicit snapshot options. Tune this for consistent capture behavior across channels and automation paths.",
          },
          ssrfPolicy: {
            type: "object",
            properties: {
              dangerouslyAllowPrivateNetwork: {
                type: "boolean",
                title: "Browser Dangerously Allow Private Network",
                description:
                  "Allows access to private-network address ranges from browser tooling. Default is disabled when unset; enable only for explicitly trusted private-network destinations.",
              },
              allowedHostnames: {
                type: "array",
                items: {
                  type: "string",
                },
                title: "Browser Allowed Hostnames",
                description:
                  "Explicit hostname allowlist exceptions for SSRF policy checks on browser/network requests. Keep this list minimal and review entries regularly to avoid stale broad access.",
              },
              hostnameAllowlist: {
                type: "array",
                items: {
                  type: "string",
                },
                title: "Browser Hostname Allowlist",
                description:
                  "Legacy/alternate hostname allowlist field used by SSRF policy consumers for explicit host exceptions. Use stable exact hostnames and avoid wildcard-like broad patterns.",
              },
            },
            additionalProperties: false,
            title: "Browser SSRF Policy",
            description:
              "Server-side request forgery guardrail settings for browser/network fetch paths that could reach internal hosts. Keep restrictive defaults in production and open only explicitly approved targets.",
          },
          profiles: {
            type: "object",
            propertyNames: {
              type: "string",
              pattern: "^[a-z0-9-]+$",
            },
            additionalProperties: {
              type: "object",
              properties: {
                cdpPort: {
                  type: "integer",
                  minimum: 1,
                  maximum: 65535,
                  title: "Browser Profile CDP Port",
                  description:
                    "Per-profile local CDP port used when connecting to browser instances by port instead of URL. Use unique ports per profile to avoid connection collisions.",
                },
                cdpUrl: {
                  type: "string",
                  title: "Browser Profile CDP URL",
                  description:
                    "Per-profile CDP websocket URL used for explicit remote browser routing by profile name. Use this when profile connections terminate on remote hosts or tunnels.",
                },
                userDataDir: {
                  type: "string",
                  title: "Browser Profile User Data Dir",
                  description:
                    "Per-profile Chromium user data directory for existing-session attachment through Chrome DevTools MCP. Use this for Brave, Edge, Chromium, or non-default Chrome profiles when the built-in auto-connect path would pick the wrong browser data directory on the selected host or browser node.",
                },
                driver: {
                  anyOf: [
                    {
                      type: "string",
                      const: "openclaw",
                    },
                    {
                      type: "string",
                      const: "clawd",
                    },
                    {
                      type: "string",
                      const: "existing-session",
                    },
                  ],
                  title: "Browser Profile Driver",
                  description:
                    'Per-profile browser driver mode. Use "openclaw" (or legacy "clawd") for CDP-based profiles, or use "existing-session" for Chrome DevTools MCP attachment on the selected host or browser node.',
                },
                headless: {
                  type: "boolean",
                  title: "Browser Profile Headless Mode",
                  description:
                    "Per-profile headless override for locally launched browser instances. Use this when one profile should stay headless without forcing browser.headless for every other profile.",
                },
                executablePath: {
                  type: "string",
                },
                attachOnly: {
                  type: "boolean",
                  title: "Browser Profile Attach-only Mode",
                  description:
                    "Per-profile attach-only override that skips local browser launch and only attaches to an existing CDP endpoint. Useful when one profile is externally managed but others are locally launched.",
                },
                color: {
                  type: "string",
                  pattern: "^#?[0-9a-fA-F]{6}$",
                  title: "Browser Profile Accent Color",
                  description:
                    "Per-profile accent color for visual differentiation in dashboards and browser-related UI hints. Use distinct colors for high-signal operator recognition of active profiles.",
                },
              },
              required: ["color"],
              additionalProperties: false,
            },
            title: "Browser Profiles",
            description:
              "Named browser profile connection map used for explicit routing to CDP ports or URLs with optional metadata. Keep profile names consistent and avoid overlapping endpoint definitions.",
          },
          extraArgs: {
            type: "array",
            items: {
              type: "string",
            },
          },
        },
        additionalProperties: false,
        title: "Browser",
        description:
          "Browser runtime controls for local or remote CDP attachment, profile routing, and screenshot/snapshot behavior. Keep defaults unless your automation workflow requires custom browser transport settings.",
      },
      ui: {
        type: "object",
        properties: {
          seamColor: {
            type: "string",
            pattern: "^#?[0-9a-fA-F]{6}$",
            title: "Accent Color",
            description:
              "Primary accent color used by UI surfaces for emphasis, badges, and visual identity cues. Use high-contrast values that remain readable across light/dark themes.",
          },
          assistant: {
            type: "object",
            properties: {
              name: {
                type: "string",
                maxLength: 50,
                title: "Assistant Name",
                description:
                  "Display name shown for the assistant in UI views, chat chrome, and status contexts. Keep this stable so operators can reliably identify which assistant persona is active.",
              },
              avatar: {
                type: "string",
                maxLength: 200,
                title: "Assistant Avatar",
                description:
                  "Assistant avatar image source used in UI surfaces (URL, path, or data URI depending on runtime support). Use trusted assets and consistent branding dimensions for clean rendering.",
              },
            },
            additionalProperties: false,
            title: "Assistant Appearance",
            description:
              "Assistant display identity settings for name and avatar shown in UI surfaces. Keep these values aligned with your operator-facing persona and support expectations.",
          },
        },
        additionalProperties: false,
        title: "UI",
        description:
          "UI presentation settings for accenting and assistant identity shown in control surfaces. Use this for branding and readability customization without changing runtime behavior.",
      },
      secrets: {
        type: "object",
        properties: {
          providers: {
            type: "object",
            properties: {},
            additionalProperties: {
              oneOf: [
                {
                  type: "object",
                  properties: {
                    source: {
                      type: "string",
                      const: "env",
                    },
                    allowlist: {
                      maxItems: 256,
                      type: "array",
                      items: {
                        type: "string",
                        pattern: "^[A-Z][A-Z0-9_]{0,127}$",
                      },
                    },
                  },
                  required: ["source"],
                  additionalProperties: false,
                },
                {
                  type: "object",
                  properties: {
                    source: {
                      type: "string",
                      const: "file",
                    },
                    path: {
                      type: "string",
                      minLength: 1,
                    },
                    mode: {
                      anyOf: [
                        {
                          type: "string",
                          const: "singleValue",
                        },
                        {
                          type: "string",
                          const: "json",
                        },
                      ],
                    },
                    timeoutMs: {
                      type: "integer",
                      exclusiveMinimum: 0,
                      maximum: 120000,
                    },
                    maxBytes: {
                      type: "integer",
                      exclusiveMinimum: 0,
                      maximum: 20971520,
                    },
                    allowInsecurePath: {
                      type: "boolean",
                    },
                  },
                  required: ["source", "path"],
                  additionalProperties: false,
                },
                {
                  type: "object",
                  properties: {
                    source: {
                      type: "string",
                      const: "exec",
                    },
                    command: {
                      type: "string",
                      minLength: 1,
                    },
                    args: {
                      maxItems: 128,
                      type: "array",
                      items: {
                        type: "string",
                        maxLength: 1024,
                      },
                    },
                    timeoutMs: {
                      type: "integer",
                      exclusiveMinimum: 0,
                      maximum: 120000,
                    },
                    noOutputTimeoutMs: {
                      type: "integer",
                      exclusiveMinimum: 0,
                      maximum: 120000,
                    },
                    maxOutputBytes: {
                      type: "integer",
                      exclusiveMinimum: 0,
                      maximum: 20971520,
                    },
                    jsonOnly: {
                      type: "boolean",
                    },
                    env: {
                      type: "object",
                      propertyNames: {
                        type: "string",
                      },
                      additionalProperties: {
                        type: "string",
                      },
                    },
                    passEnv: {
                      maxItems: 128,
                      type: "array",
                      items: {
                        type: "string",
                        pattern: "^[A-Z][A-Z0-9_]{0,127}$",
                      },
                    },
                    trustedDirs: {
                      maxItems: 64,
                      type: "array",
                      items: {
                        type: "string",
                        minLength: 1,
                      },
                    },
                    allowInsecurePath: {
                      type: "boolean",
                    },
                    allowSymlinkCommand: {
                      type: "boolean",
                    },
                  },
                  required: ["source", "command"],
                  additionalProperties: false,
                },
              ],
            },
          },
          defaults: {
            type: "object",
            properties: {
              env: {
                type: "string",
                pattern: "^[a-z][a-z0-9_-]{0,63}$",
              },
              file: {
                type: "string",
                pattern: "^[a-z][a-z0-9_-]{0,63}$",
              },
              exec: {
                type: "string",
                pattern: "^[a-z][a-z0-9_-]{0,63}$",
              },
            },
            additionalProperties: false,
          },
          resolution: {
            type: "object",
            properties: {
              maxProviderConcurrency: {
                type: "integer",
                exclusiveMinimum: 0,
                maximum: 16,
              },
              maxRefsPerProvider: {
                type: "integer",
                exclusiveMinimum: 0,
                maximum: 4096,
              },
              maxBatchBytes: {
                type: "integer",
                exclusiveMinimum: 0,
                maximum: 5242880,
              },
            },
            additionalProperties: false,
          },
        },
        additionalProperties: false,
      },
      auth: {
        type: "object",
        properties: {
          profiles: {
            type: "object",
            propertyNames: {
              type: "string",
            },
            additionalProperties: {
              type: "object",
              properties: {
                provider: {
                  type: "string",
                },
                mode: {
                  anyOf: [
                    {
                      type: "string",
                      const: "api_key",
                    },
                    {
                      type: "string",
                      const: "oauth",
                    },
                    {
                      type: "string",
                      const: "token",
                    },
                  ],
                },
                email: {
                  type: "string",
                },
                displayName: {
                  type: "string",
                },
              },
              required: ["provider", "mode"],
              additionalProperties: false,
            },
            title: "Auth Profiles",
            description: "Named auth profiles (provider + mode + optional email).",
          },
          order: {
            type: "object",
            propertyNames: {
              type: "string",
            },
            additionalProperties: {
              type: "array",
              items: {
                type: "string",
              },
            },
            title: "Auth Profile Order",
            description: "Ordered auth profile IDs per provider (used for automatic failover).",
          },
          cooldowns: {
            type: "object",
            properties: {
              billingBackoffHours: {
                type: "number",
                exclusiveMinimum: 0,
                title: "Billing Backoff (hours)",
                description:
                  "Base backoff (hours) when a profile fails due to billing/insufficient credits (default: 5).",
              },
              billingBackoffHoursByProvider: {
                type: "object",
                propertyNames: {
                  type: "string",
                },
                additionalProperties: {
                  type: "number",
                  exclusiveMinimum: 0,
                },
                title: "Billing Backoff Overrides",
                description: "Optional per-provider overrides for billing backoff (hours).",
              },
              billingMaxHours: {
                type: "number",
                exclusiveMinimum: 0,
                title: "Billing Backoff Cap (hours)",
                description: "Cap (hours) for billing backoff (default: 24).",
              },
              authPermanentBackoffMinutes: {
                type: "number",
                exclusiveMinimum: 0,
                title: "Auth-Permanent Backoff (minutes)",
                description:
                  "Base backoff (minutes) for high-confidence auth_permanent failures (default: 10). Keep this shorter than billing so providers recover automatically after transient upstream auth incidents.",
              },
              authPermanentMaxMinutes: {
                type: "number",
                exclusiveMinimum: 0,
                title: "Auth-Permanent Backoff Cap (minutes)",
                description: "Cap (minutes) for auth_permanent backoff (default: 60).",
              },
              failureWindowHours: {
                type: "number",
                exclusiveMinimum: 0,
                title: "Failover Window (hours)",
                description: "Failure window (hours) for backoff counters (default: 24).",
              },
              overloadedProfileRotations: {
                type: "integer",
                minimum: 0,
                maximum: 9007199254740991,
                title: "Overloaded Profile Rotations",
                description:
                  "Maximum same-provider auth-profile rotations allowed for overloaded errors before switching to model fallback (default: 1).",
              },
              overloadedBackoffMs: {
                type: "integer",
                minimum: 0,
                maximum: 9007199254740991,
                title: "Overloaded Backoff (ms)",
                description:
                  "Fixed delay in milliseconds before retrying an overloaded provider/profile rotation (default: 0).",
              },
              rateLimitedProfileRotations: {
                type: "integer",
                minimum: 0,
                maximum: 9007199254740991,
                title: "Rate-Limited Profile Rotations",
                description:
                  "Maximum same-provider auth-profile rotations allowed for rate-limit errors before switching to model fallback (default: 1).",
              },
            },
            additionalProperties: false,
            title: "Auth Cooldowns",
            description:
              "Cooldown/backoff controls for temporary profile suppression after billing-related failures and retry windows. Use these to prevent rapid re-selection of profiles that are still blocked.",
          },
        },
        additionalProperties: false,
        title: "Auth",
        description:
          "Authentication profile root used for multi-profile provider credentials and cooldown-based failover ordering. Keep profiles minimal and explicit so automatic failover behavior stays auditable.",
      },
      acp: {
        type: "object",
        properties: {
          enabled: {
            type: "boolean",
            title: "ACP Enabled",
            description:
              "Global ACP feature gate. Keep disabled unless ACP runtime + policy are configured.",
          },
          dispatch: {
            type: "object",
            properties: {
              enabled: {
                type: "boolean",
                title: "ACP Dispatch Enabled",
                description:
                  "Independent dispatch gate for ACP session turns (default: true). Set false to keep ACP commands available while blocking ACP turn execution.",
              },
            },
            additionalProperties: false,
          },
          backend: {
            type: "string",
            title: "ACP Backend",
            description:
              "Default ACP runtime backend id (for example: acpx). Must match a registered ACP runtime plugin backend.",
          },
          defaultAgent: {
            type: "string",
            title: "ACP Default Agent",
            description:
              "Fallback ACP target agent id used when ACP spawns do not specify an explicit target.",
          },
          allowedAgents: {
            type: "array",
            items: {
              type: "string",
            },
            title: "ACP Allowed Agents",
            description:
              "Allowlist of ACP target agent ids permitted for ACP runtime sessions. Empty means no additional allowlist restriction.",
          },
          maxConcurrentSessions: {
            type: "integer",
            exclusiveMinimum: 0,
            maximum: 9007199254740991,
            title: "ACP Max Concurrent Sessions",
            description: "Maximum concurrently active ACP sessions across this gateway process.",
          },
          stream: {
            type: "object",
            properties: {
              coalesceIdleMs: {
                type: "integer",
                minimum: 0,
                maximum: 9007199254740991,
                title: "ACP Stream Coalesce Idle (ms)",
                description:
                  "Coalescer idle flush window in milliseconds for ACP streamed text before block replies are emitted.",
              },
              maxChunkChars: {
                type: "integer",
                exclusiveMinimum: 0,
                maximum: 9007199254740991,
                title: "ACP Stream Max Chunk Chars",
                description:
                  "Maximum chunk size for ACP streamed block projection before splitting into multiple block replies.",
              },
              repeatSuppression: {
                type: "boolean",
                title: "ACP Stream Repeat Suppression",
                description:
                  "When true (default), suppress repeated ACP status/tool projection lines in a turn while keeping raw ACP events unchanged.",
              },
              deliveryMode: {
                anyOf: [
                  {
                    type: "string",
                    const: "live",
                  },
                  {
                    type: "string",
                    const: "final_only",
                  },
                ],
                title: "ACP Stream Delivery Mode",
                description:
                  "ACP delivery style: live streams projected output incrementally, final_only buffers all projected ACP output until terminal turn events.",
              },
              hiddenBoundarySeparator: {
                anyOf: [
                  {
                    type: "string",
                    const: "none",
                  },
                  {
                    type: "string",
                    const: "space",
                  },
                  {
                    type: "string",
                    const: "newline",
                  },
                  {
                    type: "string",
                    const: "paragraph",
                  },
                ],
                title: "ACP Stream Hidden Boundary Separator",
                description:
                  "Separator inserted before next visible assistant text when hidden ACP tool lifecycle events occurred (none|space|newline|paragraph). Default: paragraph.",
              },
              maxOutputChars: {
                type: "integer",
                exclusiveMinimum: 0,
                maximum: 9007199254740991,
                title: "ACP Stream Max Output Chars",
                description:
                  "Maximum assistant output characters projected per ACP turn before truncation notice is emitted.",
              },
              maxSessionUpdateChars: {
                type: "integer",
                exclusiveMinimum: 0,
                maximum: 9007199254740991,
                title: "ACP Stream Max Session Update Chars",
                description:
                  "Maximum characters for projected ACP session/update lines (tool/status updates).",
              },
              tagVisibility: {
                type: "object",
                propertyNames: {
                  type: "string",
                },
                additionalProperties: {
                  type: "boolean",
                },
                title: "ACP Stream Tag Visibility",
                description:
                  "Per-sessionUpdate visibility overrides for ACP projection (for example usage_update, available_commands_update).",
              },
            },
            additionalProperties: false,
            title: "ACP Stream",
            description:
              "ACP streaming projection controls for chunk sizing, metadata visibility, and deduped delivery behavior.",
          },
          runtime: {
            type: "object",
            properties: {
              ttlMinutes: {
                type: "integer",
                exclusiveMinimum: 0,
                maximum: 9007199254740991,
                title: "ACP Runtime TTL (minutes)",
                description:
                  "Idle runtime TTL in minutes for ACP session workers before eligible cleanup.",
              },
              installCommand: {
                type: "string",
                title: "ACP Runtime Install Command",
                description:
                  "Optional operator install/setup command shown by `/acp install` and `/acp doctor` when ACP backend wiring is missing.",
              },
            },
            additionalProperties: false,
          },
        },
        additionalProperties: false,
        title: "ACP",
        description:
          "ACP runtime controls for enabling dispatch, selecting backends, constraining allowed agent targets, and tuning streamed turn projection behavior.",
      },
      models: {
        type: "object",
        properties: {
          mode: {
            anyOf: [
              {
                type: "string",
                const: "merge",
              },
              {
                type: "string",
                const: "replace",
              },
            ],
            title: "Model Catalog Mode",
            description:
              'Controls provider catalog behavior: "merge" keeps built-ins and overlays your custom providers, while "replace" uses only your configured providers. In "merge", matching provider IDs preserve non-empty agent models.json baseUrl values, while apiKey values are preserved only when the provider is not SecretRef-managed in current config/auth-profile context; SecretRef-managed providers refresh apiKey from current source markers, and matching model contextWindow/maxTokens use the higher value between explicit and implicit entries.',
          },
          providers: {
            type: "object",
            propertyNames: {
              type: "string",
            },
            additionalProperties: {
              type: "object",
              properties: {
                baseUrl: {
                  type: "string",
                  minLength: 1,
                  title: "Model Provider Base URL",
                  description:
                    "Base URL for the provider endpoint used to serve model requests for that provider entry. Use HTTPS endpoints and keep URLs environment-specific through config templating where needed.",
                },
                apiKey: {
                  anyOf: [
                    {
                      type: "string",
                    },
                    {
                      oneOf: [
                        {
                          type: "object",
                          properties: {
                            source: {
                              type: "string",
                              const: "env",
                            },
                            provider: {
                              type: "string",
                              pattern: "^[a-z][a-z0-9_-]{0,63}$",
                            },
                            id: {
                              type: "string",
                              pattern: "^[A-Z][A-Z0-9_]{0,127}$",
                            },
                          },
                          required: ["source", "provider", "id"],
                          additionalProperties: false,
                        },
                        {
                          type: "object",
                          properties: {
                            source: {
                              type: "string",
                              const: "file",
                            },
                            provider: {
                              type: "string",
                              pattern: "^[a-z][a-z0-9_-]{0,63}$",
                            },
                            id: {
                              type: "string",
                            },
                          },
                          required: ["source", "provider", "id"],
                          additionalProperties: false,
                        },
                        {
                          type: "object",
                          properties: {
                            source: {
                              type: "string",
                              const: "exec",
                            },
                            provider: {
                              type: "string",
                              pattern: "^[a-z][a-z0-9_-]{0,63}$",
                            },
                            id: {
                              type: "string",
                            },
                          },
                          required: ["source", "provider", "id"],
                          additionalProperties: false,
                        },
                      ],
                    },
                  ],
                  title: "Model Provider API Key",
                  description:
                    "Provider credential used for API-key based authentication when the provider requires direct key auth. Use secret/env substitution and avoid storing real keys in committed config files.",
                },
                auth: {
                  anyOf: [
                    {
                      type: "string",
                      const: "api-key",
                    },
                    {
                      type: "string",
                      const: "aws-sdk",
                    },
                    {
                      type: "string",
                      const: "oauth",
                    },
                    {
                      type: "string",
                      const: "token",
                    },
                  ],
                  title: "Model Provider Auth Mode",
                  description:
                    'Selects provider auth style: "api-key" for API key auth, "token" for bearer token auth, "oauth" for OAuth credentials, and "aws-sdk" for AWS credential resolution. Match this to your provider requirements.',
                },
                api: {
                  type: "string",
                  enum: [
                    "openai-completions",
                    "openai-responses",
                    "openai-codex-responses",
                    "anthropic-messages",
                    "google-generative-ai",
                    "github-copilot",
                    "bedrock-converse-stream",
                    "ollama",
                    "azure-openai-responses",
                  ],
                  title: "Model Provider API Adapter",
                  description:
                    "Provider API adapter selection controlling request/response compatibility handling for model calls. Use the adapter that matches your upstream provider protocol to avoid feature mismatch.",
                },
                injectNumCtxForOpenAICompat: {
                  type: "boolean",
                  title: "Model Provider Inject num_ctx (OpenAI Compat)",
                  description:
                    "Controls whether OpenClaw injects `options.num_ctx` for Ollama providers configured with the OpenAI-compatible adapter (`openai-completions`). Default is true. Set false only if your proxy/upstream rejects unknown `options` payload fields.",
                },
                headers: {
                  type: "object",
                  propertyNames: {
                    type: "string",
                  },
                  additionalProperties: {
                    anyOf: [
                      {
                        type: "string",
                      },
                      {
                        oneOf: [
                          {
                            type: "object",
                            properties: {
                              source: {
                                type: "string",
                                const: "env",
                              },
                              provider: {
                                type: "string",
                                pattern: "^[a-z][a-z0-9_-]{0,63}$",
                              },
                              id: {
                                type: "string",
                                pattern: "^[A-Z][A-Z0-9_]{0,127}$",
                              },
                            },
                            required: ["source", "provider", "id"],
                            additionalProperties: false,
                          },
                          {
                            type: "object",
                            properties: {
                              source: {
                                type: "string",
                                const: "file",
                              },
                              provider: {
                                type: "string",
                                pattern: "^[a-z][a-z0-9_-]{0,63}$",
                              },
                              id: {
                                type: "string",
                              },
                            },
                            required: ["source", "provider", "id"],
                            additionalProperties: false,
                          },
                          {
                            type: "object",
                            properties: {
                              source: {
                                type: "string",
                                const: "exec",
                              },
                              provider: {
                                type: "string",
                                pattern: "^[a-z][a-z0-9_-]{0,63}$",
                              },
                              id: {
                                type: "string",
                              },
                            },
                            required: ["source", "provider", "id"],
                            additionalProperties: false,
                          },
                        ],
                      },
                    ],
                  },
                  title: "Model Provider Headers",
                  description:
                    "Static HTTP headers merged into provider requests for tenant routing, proxy auth, or custom gateway requirements. Use this sparingly and keep sensitive header values in secrets.",
                },
                authHeader: {
                  type: "boolean",
                  title: "Model Provider Authorization Header",
                  description:
                    "When true, credentials are sent via the HTTP Authorization header even if alternate auth is possible. Use this only when your provider or proxy explicitly requires Authorization forwarding.",
                },
                request: {
                  type: "object",
                  properties: {
                    headers: {
                      type: "object",
                      propertyNames: {
                        type: "string",
                      },
                      additionalProperties: {
                        anyOf: [
                          {
                            type: "string",
                          },
                          {
                            oneOf: [
                              {
                                type: "object",
                                properties: {
                                  source: {
                                    type: "string",
                                    const: "env",
                                  },
                                  provider: {
                                    type: "string",
                                    pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                  },
                                  id: {
                                    type: "string",
                                    pattern: "^[A-Z][A-Z0-9_]{0,127}$",
                                  },
                                },
                                required: ["source", "provider", "id"],
                                additionalProperties: false,
                              },
                              {
                                type: "object",
                                properties: {
                                  source: {
                                    type: "string",
                                    const: "file",
                                  },
                                  provider: {
                                    type: "string",
                                    pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                  },
                                  id: {
                                    type: "string",
                                  },
                                },
                                required: ["source", "provider", "id"],
                                additionalProperties: false,
                              },
                              {
                                type: "object",
                                properties: {
                                  source: {
                                    type: "string",
                                    const: "exec",
                                  },
                                  provider: {
                                    type: "string",
                                    pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                  },
                                  id: {
                                    type: "string",
                                  },
                                },
                                required: ["source", "provider", "id"],
                                additionalProperties: false,
                              },
                            ],
                          },
                        ],
                      },
                      title: "Model Provider Request Headers",
                      description:
                        "Extra headers merged into provider requests after default attribution and auth resolution.",
                    },
                    auth: {
                      anyOf: [
                        {
                          type: "object",
                          properties: {
                            mode: {
                              type: "string",
                              const: "provider-default",
                              title: "Model Provider Request Auth Mode",
                              description:
                                'Auth override mode: "provider-default", "authorization-bearer", or "header".',
                            },
                          },
                          required: ["mode"],
                          additionalProperties: false,
                        },
                        {
                          type: "object",
                          properties: {
                            mode: {
                              type: "string",
                              const: "authorization-bearer",
                              title: "Model Provider Request Auth Mode",
                              description:
                                'Auth override mode: "provider-default", "authorization-bearer", or "header".',
                            },
                            token: {
                              anyOf: [
                                {
                                  type: "string",
                                },
                                {
                                  oneOf: [
                                    {
                                      type: "object",
                                      properties: {
                                        source: {
                                          type: "string",
                                          const: "env",
                                        },
                                        provider: {
                                          type: "string",
                                          pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                        },
                                        id: {
                                          type: "string",
                                          pattern: "^[A-Z][A-Z0-9_]{0,127}$",
                                        },
                                      },
                                      required: ["source", "provider", "id"],
                                      additionalProperties: false,
                                    },
                                    {
                                      type: "object",
                                      properties: {
                                        source: {
                                          type: "string",
                                          const: "file",
                                        },
                                        provider: {
                                          type: "string",
                                          pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                        },
                                        id: {
                                          type: "string",
                                        },
                                      },
                                      required: ["source", "provider", "id"],
                                      additionalProperties: false,
                                    },
                                    {
                                      type: "object",
                                      properties: {
                                        source: {
                                          type: "string",
                                          const: "exec",
                                        },
                                        provider: {
                                          type: "string",
                                          pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                        },
                                        id: {
                                          type: "string",
                                        },
                                      },
                                      required: ["source", "provider", "id"],
                                      additionalProperties: false,
                                    },
                                  ],
                                },
                              ],
                              title: "Model Provider Request Bearer Token",
                              description:
                                "Bearer token used when auth mode is authorization-bearer.",
                            },
                          },
                          required: ["mode", "token"],
                          additionalProperties: false,
                        },
                        {
                          type: "object",
                          properties: {
                            mode: {
                              type: "string",
                              const: "header",
                              title: "Model Provider Request Auth Mode",
                              description:
                                'Auth override mode: "provider-default", "authorization-bearer", or "header".',
                            },
                            headerName: {
                              type: "string",
                              minLength: 1,
                              title: "Model Provider Request Auth Header Name",
                              description: "Custom auth header name used when auth mode is header.",
                            },
                            value: {
                              anyOf: [
                                {
                                  type: "string",
                                },
                                {
                                  oneOf: [
                                    {
                                      type: "object",
                                      properties: {
                                        source: {
                                          type: "string",
                                          const: "env",
                                        },
                                        provider: {
                                          type: "string",
                                          pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                        },
                                        id: {
                                          type: "string",
                                          pattern: "^[A-Z][A-Z0-9_]{0,127}$",
                                        },
                                      },
                                      required: ["source", "provider", "id"],
                                      additionalProperties: false,
                                    },
                                    {
                                      type: "object",
                                      properties: {
                                        source: {
                                          type: "string",
                                          const: "file",
                                        },
                                        provider: {
                                          type: "string",
                                          pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                        },
                                        id: {
                                          type: "string",
                                        },
                                      },
                                      required: ["source", "provider", "id"],
                                      additionalProperties: false,
                                    },
                                    {
                                      type: "object",
                                      properties: {
                                        source: {
                                          type: "string",
                                          const: "exec",
                                        },
                                        provider: {
                                          type: "string",
                                          pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                        },
                                        id: {
                                          type: "string",
                                        },
                                      },
                                      required: ["source", "provider", "id"],
                                      additionalProperties: false,
                                    },
                                  ],
                                },
                              ],
                              title: "Model Provider Request Auth Header Value",
                              description:
                                "Custom auth header value used when auth mode is header.",
                            },
                            prefix: {
                              type: "string",
                              title: "Model Provider Request Auth Header Prefix",
                              description:
                                "Optional prefix prepended to request.auth.value when auth mode is header.",
                            },
                          },
                          required: ["mode", "headerName", "value"],
                          additionalProperties: false,
                        },
                      ],
                      title: "Model Provider Request Auth Override",
                      description:
                        "Override provider request authentication behavior for this provider.",
                    },
                    proxy: {
                      anyOf: [
                        {
                          type: "object",
                          properties: {
                            mode: {
                              type: "string",
                              const: "env-proxy",
                              title: "Model Provider Request Proxy Mode",
                              description:
                                'Proxy override mode for model-provider requests: "env-proxy" or "explicit-proxy".',
                            },
                            tls: {
                              type: "object",
                              properties: {
                                ca: {
                                  anyOf: [
                                    {
                                      type: "string",
                                    },
                                    {
                                      oneOf: [
                                        {
                                          type: "object",
                                          properties: {
                                            source: {
                                              type: "string",
                                              const: "env",
                                            },
                                            provider: {
                                              type: "string",
                                              pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                            },
                                            id: {
                                              type: "string",
                                              pattern: "^[A-Z][A-Z0-9_]{0,127}$",
                                            },
                                          },
                                          required: ["source", "provider", "id"],
                                          additionalProperties: false,
                                        },
                                        {
                                          type: "object",
                                          properties: {
                                            source: {
                                              type: "string",
                                              const: "file",
                                            },
                                            provider: {
                                              type: "string",
                                              pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                            },
                                            id: {
                                              type: "string",
                                            },
                                          },
                                          required: ["source", "provider", "id"],
                                          additionalProperties: false,
                                        },
                                        {
                                          type: "object",
                                          properties: {
                                            source: {
                                              type: "string",
                                              const: "exec",
                                            },
                                            provider: {
                                              type: "string",
                                              pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                            },
                                            id: {
                                              type: "string",
                                            },
                                          },
                                          required: ["source", "provider", "id"],
                                          additionalProperties: false,
                                        },
                                      ],
                                    },
                                  ],
                                  title: "Model Provider Request Proxy TLS CA",
                                  description:
                                    "Custom CA bundle used to verify the proxy TLS certificate chain.",
                                },
                                cert: {
                                  anyOf: [
                                    {
                                      type: "string",
                                    },
                                    {
                                      oneOf: [
                                        {
                                          type: "object",
                                          properties: {
                                            source: {
                                              type: "string",
                                              const: "env",
                                            },
                                            provider: {
                                              type: "string",
                                              pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                            },
                                            id: {
                                              type: "string",
                                              pattern: "^[A-Z][A-Z0-9_]{0,127}$",
                                            },
                                          },
                                          required: ["source", "provider", "id"],
                                          additionalProperties: false,
                                        },
                                        {
                                          type: "object",
                                          properties: {
                                            source: {
                                              type: "string",
                                              const: "file",
                                            },
                                            provider: {
                                              type: "string",
                                              pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                            },
                                            id: {
                                              type: "string",
                                            },
                                          },
                                          required: ["source", "provider", "id"],
                                          additionalProperties: false,
                                        },
                                        {
                                          type: "object",
                                          properties: {
                                            source: {
                                              type: "string",
                                              const: "exec",
                                            },
                                            provider: {
                                              type: "string",
                                              pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                            },
                                            id: {
                                              type: "string",
                                            },
                                          },
                                          required: ["source", "provider", "id"],
                                          additionalProperties: false,
                                        },
                                      ],
                                    },
                                  ],
                                  title: "Model Provider Request Proxy TLS Cert",
                                  description:
                                    "Client TLS certificate presented to the proxy when mutual TLS is required.",
                                },
                                key: {
                                  anyOf: [
                                    {
                                      type: "string",
                                    },
                                    {
                                      oneOf: [
                                        {
                                          type: "object",
                                          properties: {
                                            source: {
                                              type: "string",
                                              const: "env",
                                            },
                                            provider: {
                                              type: "string",
                                              pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                            },
                                            id: {
                                              type: "string",
                                              pattern: "^[A-Z][A-Z0-9_]{0,127}$",
                                            },
                                          },
                                          required: ["source", "provider", "id"],
                                          additionalProperties: false,
                                        },
                                        {
                                          type: "object",
                                          properties: {
                                            source: {
                                              type: "string",
                                              const: "file",
                                            },
                                            provider: {
                                              type: "string",
                                              pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                            },
                                            id: {
                                              type: "string",
                                            },
                                          },
                                          required: ["source", "provider", "id"],
                                          additionalProperties: false,
                                        },
                                        {
                                          type: "object",
                                          properties: {
                                            source: {
                                              type: "string",
                                              const: "exec",
                                            },
                                            provider: {
                                              type: "string",
                                              pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                            },
                                            id: {
                                              type: "string",
                                            },
                                          },
                                          required: ["source", "provider", "id"],
                                          additionalProperties: false,
                                        },
                                      ],
                                    },
                                  ],
                                  title: "Model Provider Request Proxy TLS Key",
                                  description:
                                    "Private key paired with request.proxy.tls.cert for proxy mutual TLS.",
                                },
                                passphrase: {
                                  anyOf: [
                                    {
                                      type: "string",
                                    },
                                    {
                                      oneOf: [
                                        {
                                          type: "object",
                                          properties: {
                                            source: {
                                              type: "string",
                                              const: "env",
                                            },
                                            provider: {
                                              type: "string",
                                              pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                            },
                                            id: {
                                              type: "string",
                                              pattern: "^[A-Z][A-Z0-9_]{0,127}$",
                                            },
                                          },
                                          required: ["source", "provider", "id"],
                                          additionalProperties: false,
                                        },
                                        {
                                          type: "object",
                                          properties: {
                                            source: {
                                              type: "string",
                                              const: "file",
                                            },
                                            provider: {
                                              type: "string",
                                              pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                            },
                                            id: {
                                              type: "string",
                                            },
                                          },
                                          required: ["source", "provider", "id"],
                                          additionalProperties: false,
                                        },
                                        {
                                          type: "object",
                                          properties: {
                                            source: {
                                              type: "string",
                                              const: "exec",
                                            },
                                            provider: {
                                              type: "string",
                                              pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                            },
                                            id: {
                                              type: "string",
                                            },
                                          },
                                          required: ["source", "provider", "id"],
                                          additionalProperties: false,
                                        },
                                      ],
                                    },
                                  ],
                                  title: "Model Provider Request Proxy TLS Passphrase",
                                  description:
                                    "Optional passphrase used to decrypt request.proxy.tls.key.",
                                },
                                serverName: {
                                  type: "string",
                                  title: "Model Provider Request Proxy TLS Server Name",
                                  description:
                                    "Optional SNI/server-name override used when establishing TLS to the proxy.",
                                },
                                insecureSkipVerify: {
                                  type: "boolean",
                                  title: "Model Provider Request Proxy TLS Skip Verify",
                                  description:
                                    "Skips proxy TLS certificate verification. Use only for controlled development environments.",
                                },
                              },
                              additionalProperties: false,
                              title: "Model Provider Request Proxy TLS",
                              description:
                                "Optional TLS settings used when connecting to the configured proxy.",
                            },
                          },
                          required: ["mode"],
                          additionalProperties: false,
                        },
                        {
                          type: "object",
                          properties: {
                            mode: {
                              type: "string",
                              const: "explicit-proxy",
                              title: "Model Provider Request Proxy Mode",
                              description:
                                'Proxy override mode for model-provider requests: "env-proxy" or "explicit-proxy".',
                            },
                            url: {
                              type: "string",
                              minLength: 1,
                              title: "Model Provider Request Proxy URL",
                              description:
                                "Explicit proxy URL used when request.proxy.mode is explicit-proxy. Credentials embedded in the URL are treated as sensitive and redacted from snapshots.",
                            },
                            tls: {
                              type: "object",
                              properties: {
                                ca: {
                                  anyOf: [
                                    {
                                      type: "string",
                                    },
                                    {
                                      oneOf: [
                                        {
                                          type: "object",
                                          properties: {
                                            source: {
                                              type: "string",
                                              const: "env",
                                            },
                                            provider: {
                                              type: "string",
                                              pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                            },
                                            id: {
                                              type: "string",
                                              pattern: "^[A-Z][A-Z0-9_]{0,127}$",
                                            },
                                          },
                                          required: ["source", "provider", "id"],
                                          additionalProperties: false,
                                        },
                                        {
                                          type: "object",
                                          properties: {
                                            source: {
                                              type: "string",
                                              const: "file",
                                            },
                                            provider: {
                                              type: "string",
                                              pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                            },
                                            id: {
                                              type: "string",
                                            },
                                          },
                                          required: ["source", "provider", "id"],
                                          additionalProperties: false,
                                        },
                                        {
                                          type: "object",
                                          properties: {
                                            source: {
                                              type: "string",
                                              const: "exec",
                                            },
                                            provider: {
                                              type: "string",
                                              pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                            },
                                            id: {
                                              type: "string",
                                            },
                                          },
                                          required: ["source", "provider", "id"],
                                          additionalProperties: false,
                                        },
                                      ],
                                    },
                                  ],
                                  title: "Model Provider Request Proxy TLS CA",
                                  description:
                                    "Custom CA bundle used to verify the proxy TLS certificate chain.",
                                },
                                cert: {
                                  anyOf: [
                                    {
                                      type: "string",
                                    },
                                    {
                                      oneOf: [
                                        {
                                          type: "object",
                                          properties: {
                                            source: {
                                              type: "string",
                                              const: "env",
                                            },
                                            provider: {
                                              type: "string",
                                              pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                            },
                                            id: {
                                              type: "string",
                                              pattern: "^[A-Z][A-Z0-9_]{0,127}$",
                                            },
                                          },
                                          required: ["source", "provider", "id"],
                                          additionalProperties: false,
                                        },
                                        {
                                          type: "object",
                                          properties: {
                                            source: {
                                              type: "string",
                                              const: "file",
                                            },
                                            provider: {
                                              type: "string",
                                              pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                            },
                                            id: {
                                              type: "string",
                                            },
                                          },
                                          required: ["source", "provider", "id"],
                                          additionalProperties: false,
                                        },
                                        {
                                          type: "object",
                                          properties: {
                                            source: {
                                              type: "string",
                                              const: "exec",
                                            },
                                            provider: {
                                              type: "string",
                                              pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                            },
                                            id: {
                                              type: "string",
                                            },
                                          },
                                          required: ["source", "provider", "id"],
                                          additionalProperties: false,
                                        },
                                      ],
                                    },
                                  ],
                                  title: "Model Provider Request Proxy TLS Cert",
                                  description:
                                    "Client TLS certificate presented to the proxy when mutual TLS is required.",
                                },
                                key: {
                                  anyOf: [
                                    {
                                      type: "string",
                                    },
                                    {
                                      oneOf: [
                                        {
                                          type: "object",
                                          properties: {
                                            source: {
                                              type: "string",
                                              const: "env",
                                            },
                                            provider: {
                                              type: "string",
                                              pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                            },
                                            id: {
                                              type: "string",
                                              pattern: "^[A-Z][A-Z0-9_]{0,127}$",
                                            },
                                          },
                                          required: ["source", "provider", "id"],
                                          additionalProperties: false,
                                        },
                                        {
                                          type: "object",
                                          properties: {
                                            source: {
                                              type: "string",
                                              const: "file",
                                            },
                                            provider: {
                                              type: "string",
                                              pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                            },
                                            id: {
                                              type: "string",
                                            },
                                          },
                                          required: ["source", "provider", "id"],
                                          additionalProperties: false,
                                        },
                                        {
                                          type: "object",
                                          properties: {
                                            source: {
                                              type: "string",
                                              const: "exec",
                                            },
                                            provider: {
                                              type: "string",
                                              pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                            },
                                            id: {
                                              type: "string",
                                            },
                                          },
                                          required: ["source", "provider", "id"],
                                          additionalProperties: false,
                                        },
                                      ],
                                    },
                                  ],
                                  title: "Model Provider Request Proxy TLS Key",
                                  description:
                                    "Private key paired with request.proxy.tls.cert for proxy mutual TLS.",
                                },
                                passphrase: {
                                  anyOf: [
                                    {
                                      type: "string",
                                    },
                                    {
                                      oneOf: [
                                        {
                                          type: "object",
                                          properties: {
                                            source: {
                                              type: "string",
                                              const: "env",
                                            },
                                            provider: {
                                              type: "string",
                                              pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                            },
                                            id: {
                                              type: "string",
                                              pattern: "^[A-Z][A-Z0-9_]{0,127}$",
                                            },
                                          },
                                          required: ["source", "provider", "id"],
                                          additionalProperties: false,
                                        },
                                        {
                                          type: "object",
                                          properties: {
                                            source: {
                                              type: "string",
                                              const: "file",
                                            },
                                            provider: {
                                              type: "string",
                                              pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                            },
                                            id: {
                                              type: "string",
                                            },
                                          },
                                          required: ["source", "provider", "id"],
                                          additionalProperties: false,
                                        },
                                        {
                                          type: "object",
                                          properties: {
                                            source: {
                                              type: "string",
                                              const: "exec",
                                            },
                                            provider: {
                                              type: "string",
                                              pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                            },
                                            id: {
                                              type: "string",
                                            },
                                          },
                                          required: ["source", "provider", "id"],
                                          additionalProperties: false,
                                        },
                                      ],
                                    },
                                  ],
                                  title: "Model Provider Request Proxy TLS Passphrase",
                                  description:
                                    "Optional passphrase used to decrypt request.proxy.tls.key.",
                                },
                                serverName: {
                                  type: "string",
                                  title: "Model Provider Request Proxy TLS Server Name",
                                  description:
                                    "Optional SNI/server-name override used when establishing TLS to the proxy.",
                                },
                                insecureSkipVerify: {
                                  type: "boolean",
                                  title: "Model Provider Request Proxy TLS Skip Verify",
                                  description:
                                    "Skips proxy TLS certificate verification. Use only for controlled development environments.",
                                },
                              },
                              additionalProperties: false,
                              title: "Model Provider Request Proxy TLS",
                              description:
                                "Optional TLS settings used when connecting to the configured proxy.",
                            },
                          },
                          required: ["mode", "url"],
                          additionalProperties: false,
                        },
                      ],
                      title: "Model Provider Request Proxy",
                      description:
                        'Optional proxy override for model-provider requests. Use "env-proxy" to honor environment proxy settings or "explicit-proxy" to route through a specific proxy URL.',
                    },
                    tls: {
                      type: "object",
                      properties: {
                        ca: {
                          anyOf: [
                            {
                              type: "string",
                            },
                            {
                              oneOf: [
                                {
                                  type: "object",
                                  properties: {
                                    source: {
                                      type: "string",
                                      const: "env",
                                    },
                                    provider: {
                                      type: "string",
                                      pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                    },
                                    id: {
                                      type: "string",
                                      pattern: "^[A-Z][A-Z0-9_]{0,127}$",
                                    },
                                  },
                                  required: ["source", "provider", "id"],
                                  additionalProperties: false,
                                },
                                {
                                  type: "object",
                                  properties: {
                                    source: {
                                      type: "string",
                                      const: "file",
                                    },
                                    provider: {
                                      type: "string",
                                      pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                    },
                                    id: {
                                      type: "string",
                                    },
                                  },
                                  required: ["source", "provider", "id"],
                                  additionalProperties: false,
                                },
                                {
                                  type: "object",
                                  properties: {
                                    source: {
                                      type: "string",
                                      const: "exec",
                                    },
                                    provider: {
                                      type: "string",
                                      pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                    },
                                    id: {
                                      type: "string",
                                    },
                                  },
                                  required: ["source", "provider", "id"],
                                  additionalProperties: false,
                                },
                              ],
                            },
                          ],
                          title: "Model Provider Request TLS CA",
                          description:
                            "Custom CA bundle used to verify the upstream TLS certificate chain.",
                        },
                        cert: {
                          anyOf: [
                            {
                              type: "string",
                            },
                            {
                              oneOf: [
                                {
                                  type: "object",
                                  properties: {
                                    source: {
                                      type: "string",
                                      const: "env",
                                    },
                                    provider: {
                                      type: "string",
                                      pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                    },
                                    id: {
                                      type: "string",
                                      pattern: "^[A-Z][A-Z0-9_]{0,127}$",
                                    },
                                  },
                                  required: ["source", "provider", "id"],
                                  additionalProperties: false,
                                },
                                {
                                  type: "object",
                                  properties: {
                                    source: {
                                      type: "string",
                                      const: "file",
                                    },
                                    provider: {
                                      type: "string",
                                      pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                    },
                                    id: {
                                      type: "string",
                                    },
                                  },
                                  required: ["source", "provider", "id"],
                                  additionalProperties: false,
                                },
                                {
                                  type: "object",
                                  properties: {
                                    source: {
                                      type: "string",
                                      const: "exec",
                                    },
                                    provider: {
                                      type: "string",
                                      pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                    },
                                    id: {
                                      type: "string",
                                    },
                                  },
                                  required: ["source", "provider", "id"],
                                  additionalProperties: false,
                                },
                              ],
                            },
                          ],
                          title: "Model Provider Request TLS Cert",
                          description:
                            "Client TLS certificate presented to the upstream endpoint when mutual TLS is required.",
                        },
                        key: {
                          anyOf: [
                            {
                              type: "string",
                            },
                            {
                              oneOf: [
                                {
                                  type: "object",
                                  properties: {
                                    source: {
                                      type: "string",
                                      const: "env",
                                    },
                                    provider: {
                                      type: "string",
                                      pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                    },
                                    id: {
                                      type: "string",
                                      pattern: "^[A-Z][A-Z0-9_]{0,127}$",
                                    },
                                  },
                                  required: ["source", "provider", "id"],
                                  additionalProperties: false,
                                },
                                {
                                  type: "object",
                                  properties: {
                                    source: {
                                      type: "string",
                                      const: "file",
                                    },
                                    provider: {
                                      type: "string",
                                      pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                    },
                                    id: {
                                      type: "string",
                                    },
                                  },
                                  required: ["source", "provider", "id"],
                                  additionalProperties: false,
                                },
                                {
                                  type: "object",
                                  properties: {
                                    source: {
                                      type: "string",
                                      const: "exec",
                                    },
                                    provider: {
                                      type: "string",
                                      pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                    },
                                    id: {
                                      type: "string",
                                    },
                                  },
                                  required: ["source", "provider", "id"],
                                  additionalProperties: false,
                                },
                              ],
                            },
                          ],
                          title: "Model Provider Request TLS Key",
                          description:
                            "Private key paired with request.tls.cert for upstream mutual TLS.",
                        },
                        passphrase: {
                          anyOf: [
                            {
                              type: "string",
                            },
                            {
                              oneOf: [
                                {
                                  type: "object",
                                  properties: {
                                    source: {
                                      type: "string",
                                      const: "env",
                                    },
                                    provider: {
                                      type: "string",
                                      pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                    },
                                    id: {
                                      type: "string",
                                      pattern: "^[A-Z][A-Z0-9_]{0,127}$",
                                    },
                                  },
                                  required: ["source", "provider", "id"],
                                  additionalProperties: false,
                                },
                                {
                                  type: "object",
                                  properties: {
                                    source: {
                                      type: "string",
                                      const: "file",
                                    },
                                    provider: {
                                      type: "string",
                                      pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                    },
                                    id: {
                                      type: "string",
                                    },
                                  },
                                  required: ["source", "provider", "id"],
                                  additionalProperties: false,
                                },
                                {
                                  type: "object",
                                  properties: {
                                    source: {
                                      type: "string",
                                      const: "exec",
                                    },
                                    provider: {
                                      type: "string",
                                      pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                    },
                                    id: {
                                      type: "string",
                                    },
                                  },
                                  required: ["source", "provider", "id"],
                                  additionalProperties: false,
                                },
                              ],
                            },
                          ],
                          title: "Model Provider Request TLS Passphrase",
                          description: "Optional passphrase used to decrypt request.tls.key.",
                        },
                        serverName: {
                          type: "string",
                          title: "Model Provider Request TLS Server Name",
                          description:
                            "Optional SNI/server-name override used when establishing upstream TLS.",
                        },
                        insecureSkipVerify: {
                          type: "boolean",
                          title: "Model Provider Request TLS Skip Verify",
                          description:
                            "Skips upstream TLS certificate verification. Use only for controlled development environments.",
                        },
                      },
                      additionalProperties: false,
                      title: "Model Provider Request TLS",
                      description:
                        "Optional TLS settings used when connecting directly to the upstream model endpoint.",
                    },
                    allowPrivateNetwork: {
                      type: "boolean",
                      title: "Model Provider Request Allow Private Network",
                      description:
                        "When true, allow HTTPS to the model base URL when DNS resolves to private, CGNAT, or similar ranges, via the provider HTTP fetch guard (fetchWithSsrFGuard). OpenAI Responses WebSocket reuses request for headers/TLS but does not use that fetch SSRF path. Use only for operator-controlled self-hosted OpenAI-compatible endpoints (LAN, overlay, split DNS). Default is false.",
                    },
                  },
                  additionalProperties: false,
                  title: "Model Provider Request Overrides",
                  description:
                    "Optional request overrides for model-provider requests, including extra headers, auth overrides, proxy routing, TLS client settings, and optional allowPrivateNetwork for trusted self-hosted endpoints. Use these only when your upstream or enterprise network path requires transport customization.",
                },
                models: {
                  type: "array",
                  items: {
                    type: "object",
                    properties: {
                      id: {
                        type: "string",
                        minLength: 1,
                      },
                      name: {
                        type: "string",
                        minLength: 1,
                      },
                      api: {
                        type: "string",
                        enum: [
                          "openai-completions",
                          "openai-responses",
                          "openai-codex-responses",
                          "anthropic-messages",
                          "google-generative-ai",
                          "github-copilot",
                          "bedrock-converse-stream",
                          "ollama",
                          "azure-openai-responses",
                        ],
                      },
                      baseUrl: {
                        type: "string",
                        minLength: 1,
                      },
                      reasoning: {
                        type: "boolean",
                      },
                      input: {
                        type: "array",
                        items: {
                          anyOf: [
                            {
                              type: "string",
                              const: "text",
                            },
                            {
                              type: "string",
                              const: "image",
                            },
                          ],
                        },
                      },
                      cost: {
                        type: "object",
                        properties: {
                          input: {
                            type: "number",
                          },
                          output: {
                            type: "number",
                          },
                          cacheRead: {
                            type: "number",
                          },
                          cacheWrite: {
                            type: "number",
                          },
                          tieredPricing: {
                            type: "array",
                            items: {
                              type: "object",
                              properties: {
                                input: {
                                  type: "number",
                                },
                                output: {
                                  type: "number",
                                },
                                cacheRead: {
                                  type: "number",
                                },
                                cacheWrite: {
                                  type: "number",
                                },
                                range: {
                                  anyOf: [
                                    {
                                      type: "array",
                                      items: [
                                        {
                                          type: "number",
                                        },
                                        {
                                          type: "number",
                                        },
                                      ],
                                    },
                                    {
                                      type: "array",
                                      items: [
                                        {
                                          type: "number",
                                        },
                                      ],
                                    },
                                  ],
                                },
                              },
                              required: ["input", "output", "cacheRead", "cacheWrite", "range"],
                              additionalProperties: false,
                            },
                          },
                        },
                        additionalProperties: false,
                      },
                      contextWindow: {
                        type: "number",
                        exclusiveMinimum: 0,
                      },
                      contextTokens: {
                        type: "integer",
                        exclusiveMinimum: 0,
                        maximum: 9007199254740991,
                      },
                      maxTokens: {
                        type: "number",
                        exclusiveMinimum: 0,
                      },
                      headers: {
                        type: "object",
                        propertyNames: {
                          type: "string",
                        },
                        additionalProperties: {
                          type: "string",
                        },
                      },
                      compat: {
                        type: "object",
                        properties: {
                          supportsStore: {
                            type: "boolean",
                          },
                          supportsPromptCacheKey: {
                            type: "boolean",
                          },
                          supportsDeveloperRole: {
                            type: "boolean",
                          },
                          supportsReasoningEffort: {
                            type: "boolean",
                          },
                          supportsUsageInStreaming: {
                            type: "boolean",
                          },
                          supportsTools: {
                            type: "boolean",
                          },
                          supportsStrictMode: {
                            type: "boolean",
                          },
                          requiresStringContent: {
                            type: "boolean",
                          },
                          visibleReasoningDetailTypes: {
                            type: "array",
                            items: {
                              type: "string",
                              minLength: 1,
                            },
                          },
                          maxTokensField: {
                            anyOf: [
                              {
                                type: "string",
                                const: "max_completion_tokens",
                              },
                              {
                                type: "string",
                                const: "max_tokens",
                              },
                            ],
                          },
                          thinkingFormat: {
                            anyOf: [
                              {
                                type: "string",
                                const: "openai",
                              },
                              {
                                type: "string",
                                const: "openrouter",
                              },
                              {
                                type: "string",
                                const: "deepseek",
                              },
                              {
                                type: "string",
                                const: "zai",
                              },
                              {
                                type: "string",
                                const: "qwen",
                              },
                              {
                                type: "string",
                                const: "qwen-chat-template",
                              },
                            ],
                          },
                          requiresToolResultName: {
                            type: "boolean",
                          },
                          requiresAssistantAfterToolResult: {
                            type: "boolean",
                          },
                          requiresThinkingAsText: {
                            type: "boolean",
                          },
                          toolSchemaProfile: {
                            type: "string",
                          },
                          unsupportedToolSchemaKeywords: {
                            type: "array",
                            items: {
                              type: "string",
                              minLength: 1,
                            },
                          },
                          nativeWebSearchTool: {
                            type: "boolean",
                          },
                          toolCallArgumentsEncoding: {
                            type: "string",
                          },
                          requiresMistralToolIds: {
                            type: "boolean",
                          },
                          requiresOpenAiAnthropicToolPayload: {
                            type: "boolean",
                          },
                        },
                        additionalProperties: false,
                      },
                      metadataSource: {
                        type: "string",
                        const: "models-add",
                      },
                    },
                    required: ["id", "name"],
                    additionalProperties: false,
                  },
                  title: "Model Provider Model List",
                  description:
                    "Declared model list for a provider including identifiers, metadata, and optional compatibility/cost hints. Keep IDs exact to provider catalog values so selection and fallback resolve correctly.",
                },
              },
              required: ["baseUrl", "models"],
              additionalProperties: false,
            },
            title: "Model Providers",
            description:
              "Provider map keyed by provider ID containing connection/auth settings and concrete model definitions. Use stable provider keys so references from agents and tooling remain portable across environments.",
          },
        },
        additionalProperties: false,
        title: "Models",
        description:
          "Model catalog root for provider definitions, merge/replace behavior, and optional Bedrock discovery integration. Keep provider definitions explicit and validated before relying on production failover paths.",
      },
      nodeHost: {
        type: "object",
        properties: {
          browserProxy: {
            type: "object",
            properties: {
              enabled: {
                type: "boolean",
                title: "Node Browser Proxy Enabled",
                description:
                  "Expose the local browser control server through node proxy routing so remote clients can use this host's browser capabilities. Keep disabled unless remote automation explicitly depends on it.",
              },
              allowProfiles: {
                type: "array",
                items: {
                  type: "string",
                },
                title: "Node Browser Proxy Allowed Profiles",
                description:
                  "Optional allowlist of browser profile names exposed through node proxy routing. Leave empty to preserve the default full profile surface, including profile create/delete routes. When set, OpenClaw enforces least-privilege profile access and blocks persistent profile create/delete through the proxy.",
              },
            },
            additionalProperties: false,
            title: "Node Browser Proxy",
            description:
              "Groups browser-proxy settings for exposing local browser control through node routing. Enable only when remote node workflows need your local browser profiles.",
          },
        },
        additionalProperties: false,
        title: "Node Host",
        description:
          "Node host controls for features exposed from this gateway node to other nodes or clients. Keep defaults unless you intentionally proxy local capabilities across your node network.",
      },
      agents: {
        type: "object",
        properties: {
          defaults: {
            type: "object",
            properties: {
              params: {
                type: "object",
                propertyNames: {
                  type: "string",
                },
                additionalProperties: {},
              },
              embeddedHarness: {
                type: "object",
                properties: {
                  runtime: {
                    type: "string",
                    title: "Default Agent Runtime",
                    description:
                      "Embedded harness runtime: pi, auto, or a registered plugin harness id such as codex. Omitted runtime uses built-in OpenClaw Pi.",
                  },
                  fallback: {
                    type: "string",
                    enum: ["pi", "none"],
                    title: "Default Embedded Harness Fallback",
                    description:
                      "Embedded harness fallback when no plugin harness matches. Auto mode defaults to pi; explicit plugin runtimes default to none and do not inherit broader fallback settings. Selected plugin harness failures surface directly.",
                  },
                },
                additionalProperties: false,
                title: "Default Agent Runtime Settings",
                description:
                  "Default embedded agent harness policy. Omitted runtime uses built-in OpenClaw Pi. Use runtime=auto for plugin harness selection, or a registered harness id such as codex.",
              },
              model: {
                anyOf: [
                  {
                    type: "string",
                  },
                  {
                    type: "object",
                    properties: {
                      primary: {
                        type: "string",
                        title: "Primary Model",
                        description: "Primary model (provider/model).",
                      },
                      fallbacks: {
                        type: "array",
                        items: {
                          type: "string",
                        },
                        title: "Model Fallbacks",
                        description:
                          "Ordered fallback models (provider/model). Used when the primary model fails.",
                      },
                    },
                    additionalProperties: false,
                  },
                ],
              },
              imageModel: {
                anyOf: [
                  {
                    type: "string",
                  },
                  {
                    type: "object",
                    properties: {
                      primary: {
                        type: "string",
                        title: "Image Model",
                        description:
                          "Optional image model (provider/model) used when the primary model lacks image input.",
                      },
                      fallbacks: {
                        type: "array",
                        items: {
                          type: "string",
                        },
                        title: "Image Model Fallbacks",
                        description: "Ordered fallback image models (provider/model).",
                      },
                    },
                    additionalProperties: false,
                  },
                ],
              },
              imageGenerationModel: {
                anyOf: [
                  {
                    type: "string",
                  },
                  {
                    type: "object",
                    properties: {
                      primary: {
                        type: "string",
                        title: "Image Generation Model",
                        description:
                          "Optional image-generation model (provider/model) used by the shared image generation capability.",
                      },
                      fallbacks: {
                        type: "array",
                        items: {
                          type: "string",
                        },
                        title: "Image Generation Model Fallbacks",
                        description: "Ordered fallback image-generation models (provider/model).",
                      },
                    },
                    additionalProperties: false,
                  },
                ],
              },
              videoGenerationModel: {
                anyOf: [
                  {
                    type: "string",
                  },
                  {
                    type: "object",
                    properties: {
                      primary: {
                        type: "string",
                        title: "Video Generation Model",
                        description:
                          "Optional video-generation model (provider/model) used by the shared video generation capability.",
                      },
                      fallbacks: {
                        type: "array",
                        items: {
                          type: "string",
                        },
                        title: "Video Generation Model Fallbacks",
                        description: "Ordered fallback video-generation models (provider/model).",
                      },
                    },
                    additionalProperties: false,
                  },
                ],
              },
              musicGenerationModel: {
                anyOf: [
                  {
                    type: "string",
                  },
                  {
                    type: "object",
                    properties: {
                      primary: {
                        type: "string",
                        title: "Music Generation Model",
                        description:
                          "Optional music-generation model (provider/model) used by the shared music generation capability.",
                      },
                      fallbacks: {
                        type: "array",
                        items: {
                          type: "string",
                        },
                        title: "Music Generation Model Fallbacks",
                        description: "Ordered fallback music-generation models (provider/model).",
                      },
                    },
                    additionalProperties: false,
                  },
                ],
              },
              mediaGenerationAutoProviderFallback: {
                type: "boolean",
                title: "Media Generation Auto Provider Fallback",
                description:
                  "When true (default), shared image, music, and video generation automatically appends other auth-backed provider defaults after explicit primary/fallback refs. Set false to disable implicit cross-provider fallback while keeping explicit fallbacks.",
              },
              pdfModel: {
                anyOf: [
                  {
                    type: "string",
                  },
                  {
                    type: "object",
                    properties: {
                      primary: {
                        type: "string",
                        title: "PDF Model",
                        description:
                          "Optional PDF model (provider/model) for the PDF analysis tool. Defaults to imageModel, then session model.",
                      },
                      fallbacks: {
                        type: "array",
                        items: {
                          type: "string",
                        },
                        title: "PDF Model Fallbacks",
                        description: "Ordered fallback PDF models (provider/model).",
                      },
                    },
                    additionalProperties: false,
                  },
                ],
              },
              pdfMaxBytesMb: {
                type: "number",
                exclusiveMinimum: 0,
                title: "PDF Max Size (MB)",
                description: "Maximum PDF file size in megabytes for the PDF tool (default: 10).",
              },
              pdfMaxPages: {
                type: "integer",
                exclusiveMinimum: 0,
                maximum: 9007199254740991,
                title: "PDF Max Pages",
                description:
                  "Maximum number of PDF pages to process for the PDF tool (default: 20).",
              },
              models: {
                type: "object",
                propertyNames: {
                  type: "string",
                },
                additionalProperties: {
                  type: "object",
                  properties: {
                    alias: {
                      type: "string",
                    },
                    params: {
                      type: "object",
                      propertyNames: {
                        type: "string",
                      },
                      additionalProperties: {},
                    },
                    streaming: {
                      type: "boolean",
                    },
                  },
                  additionalProperties: false,
                },
                title: "Models",
                description: "Configured model catalog (keys are full provider/model IDs).",
              },
              workspace: {
                type: "string",
                title: "Workspace",
                description:
                  "Default workspace path exposed to agent runtime tools for filesystem context and repo-aware behavior. Set this explicitly when running from wrappers so path resolution stays deterministic.",
              },
              skills: {
                type: "array",
                items: {
                  type: "string",
                },
                title: "Skills",
                description:
                  "Optional default skill allowlist inherited by agents that omit agents.list[].skills. Omit for unrestricted skills, set [] to give inheriting agents no skills, and remember explicit agents.list[].skills replaces this default instead of merging with it.",
              },
              silentReply: {
                type: "object",
                properties: {
                  direct: {
                    anyOf: [
                      {
                        type: "string",
                        const: "allow",
                      },
                      {
                        type: "string",
                        const: "disallow",
                      },
                    ],
                  },
                  group: {
                    anyOf: [
                      {
                        type: "string",
                        const: "allow",
                      },
                      {
                        type: "string",
                        const: "disallow",
                      },
                    ],
                  },
                  internal: {
                    anyOf: [
                      {
                        type: "string",
                        const: "allow",
                      },
                      {
                        type: "string",
                        const: "disallow",
                      },
                    ],
                  },
                },
                additionalProperties: false,
              },
              silentReplyRewrite: {
                type: "object",
                properties: {
                  direct: {
                    type: "boolean",
                  },
                  group: {
                    type: "boolean",
                  },
                  internal: {
                    type: "boolean",
                  },
                },
                additionalProperties: false,
              },
              repoRoot: {
                type: "string",
                title: "Repo Root",
                description:
                  "Optional repository root shown in the system prompt runtime line (overrides auto-detect).",
              },
              systemPromptOverride: {
                type: "string",
              },
              promptOverlays: {
                type: "object",
                properties: {
                  gpt5: {
                    type: "object",
                    properties: {
                      personality: {
                        anyOf: [
                          {
                            type: "string",
                            const: "friendly",
                          },
                          {
                            type: "string",
                            const: "on",
                          },
                          {
                            type: "string",
                            const: "off",
                          },
                        ],
                        title: "GPT-5 Personality Overlay",
                        description:
                          'Friendly interaction-style layer for GPT-5-family models ("friendly" or "on" enables it; "off" disables only that layer). The tagged behavior contract remains enabled for matching GPT-5 models.',
                      },
                    },
                    additionalProperties: false,
                    title: "GPT-5 Prompt Overlay",
                    description:
                      "Shared GPT-5-family prompt overlay applied to matching model ids across providers such as OpenAI, OpenRouter, OpenCode, Codex, and compatible gateways.",
                  },
                },
                additionalProperties: false,
                title: "Prompt Overlays",
                description:
                  "Provider-independent prompt overlays applied by model family before provider-specific prompt hooks.",
              },
              skipBootstrap: {
                type: "boolean",
              },
              contextInjection: {
                anyOf: [
                  {
                    type: "string",
                    const: "always",
                  },
                  {
                    type: "string",
                    const: "continuation-skip",
                  },
                  {
                    type: "string",
                    const: "never",
                  },
                ],
                title: "Context Injection",
                description:
                  'Controls when workspace bootstrap files are injected into the system prompt: "always" (default) or "continuation-skip" for safe continuation turns after a completed assistant response.',
              },
              bootstrapMaxChars: {
                type: "integer",
                exclusiveMinimum: 0,
                maximum: 9007199254740991,
                title: "Bootstrap Max Chars",
                description:
                  "Max characters of each workspace bootstrap file injected into the system prompt before truncation (default: 12000).",
              },
              bootstrapTotalMaxChars: {
                type: "integer",
                exclusiveMinimum: 0,
                maximum: 9007199254740991,
                title: "Bootstrap Total Max Chars",
                description:
                  "Max total characters across all injected workspace bootstrap files (default: 60000).",
              },
              experimental: {
                type: "object",
                properties: {
                  localModelLean: {
                    type: "boolean",
                    title: "Enable Lean Local Model Mode (Experimental)",
                    description:
                      "Experimental local-model prompt trim. When enabled, OpenClaw drops heavyweight default tools like browser, cron, and message for weaker or smaller local-model backends.",
                  },
                },
                additionalProperties: false,
                title: "Experimental Agent Flags",
                description:
                  "Experimental agent-default flags. Keep these off unless you are intentionally testing a preview surface.",
              },
              bootstrapPromptTruncationWarning: {
                anyOf: [
                  {
                    type: "string",
                    const: "off",
                  },
                  {
                    type: "string",
                    const: "once",
                  },
                  {
                    type: "string",
                    const: "always",
                  },
                ],
                title: "Bootstrap Prompt Truncation Warning",
                description:
                  'Inject agent-visible warning text when bootstrap files are truncated: "off", "once" (default), or "always".',
              },
              userTimezone: {
                type: "string",
              },
              startupContext: {
                type: "object",
                properties: {
                  enabled: {
                    type: "boolean",
                    title: "Enable Startup Context",
                    description:
                      "Enable the startup-context prelude for bare session resets (default: true). Disable this to fall back to prompt-only behavior with no runtime-loaded daily memory.",
                  },
                  applyOn: {
                    type: "array",
                    items: {
                      anyOf: [
                        {
                          type: "string",
                          const: "new",
                        },
                        {
                          type: "string",
                          const: "reset",
                        },
                      ],
                    },
                    title: "Startup Context Apply On",
                    description:
                      'Chooses which bare reset commands get startup context: include "new", "reset", or both (default: ["new","reset"]).',
                  },
                  dailyMemoryDays: {
                    type: "integer",
                    minimum: 1,
                    maximum: 14,
                    title: "Startup Context Daily Memory Days",
                    description:
                      "Number of dated memory files to load counting backward from today in the configured user timezone (default: 2 for today + yesterday).",
                  },
                  maxFileBytes: {
                    type: "integer",
                    minimum: 1,
                    maximum: 65536,
                    title: "Startup Context Max File Bytes",
                    description:
                      "Maximum bytes allowed per daily memory file when building startup context (default: 16384). Files over this boundary-safe read limit are skipped.",
                  },
                  maxFileChars: {
                    type: "integer",
                    minimum: 1,
                    maximum: 10000,
                    title: "Startup Context Max File Chars",
                    description:
                      "Maximum characters retained from each loaded daily memory file in the startup prelude (default: 1200).",
                  },
                  maxTotalChars: {
                    type: "integer",
                    minimum: 1,
                    maximum: 50000,
                    title: "Startup Context Max Total Chars",
                    description:
                      "Maximum total characters retained across all loaded daily memory files in the startup prelude (default: 2800). Additional files are truncated from the prelude once this cap is reached.",
                  },
                },
                additionalProperties: false,
                title: "Startup Context",
                description:
                  'Runtime-owned first-turn prelude for bare "/new" and "/reset". Use this to control whether recent daily memory files are preloaded into the first prompt instead of asking the model to decide what to read.',
              },
              contextLimits: {
                type: "object",
                properties: {
                  memoryGetMaxChars: {
                    type: "integer",
                    minimum: 1,
                    maximum: 250000,
                    title: "Default memory_get Max Chars",
                    description:
                      "Default max characters returned by memory_get before truncation metadata and continuation notice are added. Increase to approximate older larger excerpts, but keep it bounded.",
                  },
                  memoryGetDefaultLines: {
                    type: "integer",
                    minimum: 1,
                    maximum: 5000,
                    title: "Default memory_get Line Window",
                    description:
                      "Default memory_get line window used when requests omit lines. This controls how many source lines are selected before the max-char cap is applied.",
                  },
                  toolResultMaxChars: {
                    type: "integer",
                    minimum: 1,
                    maximum: 250000,
                    title: "Default Tool Result Max Chars",
                    description:
                      "Default max characters kept for a single live tool result before truncation. This affects both persisted live tool-result writes and overflow-recovery truncation heuristics.",
                  },
                  postCompactionMaxChars: {
                    type: "integer",
                    minimum: 1,
                    maximum: 50000,
                    title: "Default Post-compaction Max Chars",
                    description:
                      "Default max characters retained from AGENTS.md during post-compaction context refresh injection. Lower this to make compaction recovery cheaper, or raise it for agents that depend on longer startup guidance.",
                  },
                },
                additionalProperties: false,
                title: "Default Context Limits",
                description:
                  "Focused per-agent-context budget defaults for selected high-volume excerpts and injected prompt blocks. Use this to tune bounded read/injection sizes without reopening any unbounded call paths.",
              },
              timeFormat: {
                anyOf: [
                  {
                    type: "string",
                    const: "auto",
                  },
                  {
                    type: "string",
                    const: "12",
                  },
                  {
                    type: "string",
                    const: "24",
                  },
                ],
              },
              envelopeTimezone: {
                type: "string",
                title: "Envelope Timezone",
                description:
                  'Timezone for message envelopes ("utc", "local", "user", or an IANA timezone string).',
              },
              envelopeTimestamp: {
                anyOf: [
                  {
                    type: "string",
                    const: "on",
                  },
                  {
                    type: "string",
                    const: "off",
                  },
                ],
                title: "Envelope Timestamp",
                description: 'Include absolute timestamps in message envelopes ("on" or "off").',
              },
              envelopeElapsed: {
                anyOf: [
                  {
                    type: "string",
                    const: "on",
                  },
                  {
                    type: "string",
                    const: "off",
                  },
                ],
                title: "Envelope Elapsed",
                description: 'Include elapsed time in message envelopes ("on" or "off").',
              },
              contextTokens: {
                type: "integer",
                exclusiveMinimum: 0,
                maximum: 9007199254740991,
              },
              cliBackends: {
                type: "object",
                propertyNames: {
                  type: "string",
                },
                additionalProperties: {
                  type: "object",
                  properties: {
                    command: {
                      type: "string",
                    },
                    args: {
                      type: "array",
                      items: {
                        type: "string",
                      },
                    },
                    output: {
                      anyOf: [
                        {
                          type: "string",
                          const: "json",
                        },
                        {
                          type: "string",
                          const: "text",
                        },
                        {
                          type: "string",
                          const: "jsonl",
                        },
                      ],
                    },
                    resumeOutput: {
                      anyOf: [
                        {
                          type: "string",
                          const: "json",
                        },
                        {
                          type: "string",
                          const: "text",
                        },
                        {
                          type: "string",
                          const: "jsonl",
                        },
                      ],
                    },
                    jsonlDialect: {
                      type: "string",
                      const: "claude-stream-json",
                    },
                    liveSession: {
                      type: "string",
                      const: "claude-stdio",
                    },
                    input: {
                      anyOf: [
                        {
                          type: "string",
                          const: "arg",
                        },
                        {
                          type: "string",
                          const: "stdin",
                        },
                      ],
                    },
                    maxPromptArgChars: {
                      type: "integer",
                      exclusiveMinimum: 0,
                      maximum: 9007199254740991,
                    },
                    env: {
                      type: "object",
                      propertyNames: {
                        type: "string",
                      },
                      additionalProperties: {
                        type: "string",
                      },
                    },
                    clearEnv: {
                      type: "array",
                      items: {
                        type: "string",
                      },
                    },
                    modelArg: {
                      type: "string",
                    },
                    modelAliases: {
                      type: "object",
                      propertyNames: {
                        type: "string",
                      },
                      additionalProperties: {
                        type: "string",
                      },
                    },
                    sessionArg: {
                      type: "string",
                    },
                    sessionArgs: {
                      type: "array",
                      items: {
                        type: "string",
                      },
                    },
                    resumeArgs: {
                      type: "array",
                      items: {
                        type: "string",
                      },
                    },
                    sessionMode: {
                      anyOf: [
                        {
                          type: "string",
                          const: "always",
                        },
                        {
                          type: "string",
                          const: "existing",
                        },
                        {
                          type: "string",
                          const: "none",
                        },
                      ],
                    },
                    sessionIdFields: {
                      type: "array",
                      items: {
                        type: "string",
                      },
                    },
                    systemPromptArg: {
                      type: "string",
                    },
                    systemPromptFileConfigArg: {
                      type: "string",
                    },
                    systemPromptFileConfigKey: {
                      type: "string",
                    },
                    systemPromptMode: {
                      anyOf: [
                        {
                          type: "string",
                          const: "append",
                        },
                        {
                          type: "string",
                          const: "replace",
                        },
                      ],
                    },
                    systemPromptWhen: {
                      anyOf: [
                        {
                          type: "string",
                          const: "first",
                        },
                        {
                          type: "string",
                          const: "always",
                        },
                        {
                          type: "string",
                          const: "never",
                        },
                      ],
                    },
                    imageArg: {
                      type: "string",
                    },
                    imageMode: {
                      anyOf: [
                        {
                          type: "string",
                          const: "repeat",
                        },
                        {
                          type: "string",
                          const: "list",
                        },
                      ],
                    },
                    imagePathScope: {
                      anyOf: [
                        {
                          type: "string",
                          const: "temp",
                        },
                        {
                          type: "string",
                          const: "workspace",
                        },
                      ],
                    },
                    serialize: {
                      type: "boolean",
                    },
                    reliability: {
                      type: "object",
                      properties: {
                        watchdog: {
                          type: "object",
                          properties: {
                            fresh: {
                              type: "object",
                              properties: {
                                noOutputTimeoutMs: {
                                  type: "integer",
                                  minimum: 1000,
                                  maximum: 9007199254740991,
                                },
                                noOutputTimeoutRatio: {
                                  type: "number",
                                  minimum: 0.05,
                                  maximum: 0.95,
                                },
                                minMs: {
                                  type: "integer",
                                  minimum: 1000,
                                  maximum: 9007199254740991,
                                },
                                maxMs: {
                                  type: "integer",
                                  minimum: 1000,
                                  maximum: 9007199254740991,
                                },
                              },
                              additionalProperties: false,
                            },
                            resume: {
                              type: "object",
                              properties: {
                                noOutputTimeoutMs: {
                                  type: "integer",
                                  minimum: 1000,
                                  maximum: 9007199254740991,
                                },
                                noOutputTimeoutRatio: {
                                  type: "number",
                                  minimum: 0.05,
                                  maximum: 0.95,
                                },
                                minMs: {
                                  type: "integer",
                                  minimum: 1000,
                                  maximum: 9007199254740991,
                                },
                                maxMs: {
                                  type: "integer",
                                  minimum: 1000,
                                  maximum: 9007199254740991,
                                },
                              },
                              additionalProperties: false,
                            },
                          },
                          additionalProperties: false,
                        },
                      },
                      additionalProperties: false,
                    },
                  },
                  required: ["command"],
                  additionalProperties: false,
                },
                title: "CLI Backends",
                description: "Optional CLI backends for text-only fallback (claude-cli, etc.).",
              },
              memorySearch: {
                type: "object",
                properties: {
                  enabled: {
                    type: "boolean",
                    title: "Enable Memory Search",
                    description:
                      "Master toggle for memory search indexing and retrieval behavior on this agent profile. Keep enabled for semantic recall, and disable when you want fully stateless responses.",
                  },
                  sources: {
                    type: "array",
                    items: {
                      anyOf: [
                        {
                          type: "string",
                          const: "memory",
                        },
                        {
                          type: "string",
                          const: "sessions",
                        },
                      ],
                    },
                    title: "Memory Search Sources",
                    description:
                      'Chooses which sources are indexed: "memory" reads MEMORY.md + memory files, and "sessions" includes transcript history. Keep ["memory"] unless you need recall from prior chat transcripts.',
                  },
                  extraPaths: {
                    type: "array",
                    items: {
                      type: "string",
                    },
                    title: "Extra Memory Paths",
                    description:
                      "Adds extra directories or .md files to the memory index beyond default memory files. Use this when key reference docs live elsewhere in your repo; when multimodal memory is enabled, matching image/audio files under these paths are also eligible for indexing.",
                  },
                  qmd: {
                    type: "object",
                    properties: {
                      extraCollections: {
                        type: "array",
                        items: {
                          type: "object",
                          properties: {
                            path: {
                              type: "string",
                            },
                            name: {
                              type: "string",
                            },
                            pattern: {
                              type: "string",
                            },
                          },
                          required: ["path"],
                          additionalProperties: false,
                        },
                        title: "QMD Extra Collections",
                        description:
                          "Use this when you need directional transcript search across agents; add collections here to scope QMD recalls without creating a shared global transcript namespace.",
                      },
                    },
                    additionalProperties: false,
                    title: "Memory Search QMD Collections",
                    description:
                      "Use this when one agent should query another agent's transcript collections; QMD-specific extra collections let you opt into cross-agent memory search without flattening everything into one shared namespace.",
                  },
                  multimodal: {
                    type: "object",
                    properties: {
                      enabled: {
                        type: "boolean",
                        title: "Enable Memory Search Multimodal",
                        description:
                          "Enables image/audio memory indexing from extraPaths. This currently requires Gemini embedding-2, keeps the default memory roots Markdown-only, disables memory-search fallback providers, and uploads matching binary content to the configured remote embedding provider.",
                      },
                      modalities: {
                        type: "array",
                        items: {
                          anyOf: [
                            {
                              type: "string",
                              const: "image",
                            },
                            {
                              type: "string",
                              const: "audio",
                            },
                            {
                              type: "string",
                              const: "all",
                            },
                          ],
                        },
                        title: "Memory Search Multimodal Modalities",
                        description:
                          'Selects which multimodal file types are indexed from extraPaths: "image", "audio", or "all". Keep this narrow to avoid indexing large binary corpora unintentionally.',
                      },
                      maxFileBytes: {
                        type: "integer",
                        exclusiveMinimum: 0,
                        maximum: 9007199254740991,
                        title: "Memory Search Multimodal Max File Bytes",
                        description:
                          "Sets the maximum bytes allowed per multimodal file before it is skipped during memory indexing. Use this to cap upload cost and indexing latency, or raise it for short high-quality audio clips.",
                      },
                    },
                    additionalProperties: false,
                    title: "Memory Search Multimodal",
                    description:
                      'Optional multimodal memory settings for indexing image and audio files from configured extra paths. Keep this off unless your embedding model explicitly supports cross-modal embeddings, and set `memorySearch.fallback` to "none" while it is enabled. Matching files are uploaded to the configured remote embedding provider during indexing.',
                  },
                  experimental: {
                    type: "object",
                    properties: {
                      sessionMemory: {
                        type: "boolean",
                        title: "Memory Search Session Index (Experimental)",
                        description:
                          "Indexes session transcripts into memory search so responses can reference prior chat turns. Keep this off unless transcript recall is needed, because indexing cost and storage usage both increase.",
                      },
                    },
                    additionalProperties: false,
                  },
                  provider: {
                    type: "string",
                    title: "Memory Search Provider",
                    description:
                      'Selects the embedding backend used to build/query memory vectors: "openai", "gemini", "voyage", "mistral", "bedrock", "lmstudio", "ollama", or "local". Keep your most reliable provider here and configure fallback for resilience.',
                  },
                  remote: {
                    type: "object",
                    properties: {
                      baseUrl: {
                        type: "string",
                        title: "Remote Embedding Base URL",
                        description:
                          "Overrides the embedding API endpoint, such as an OpenAI-compatible proxy or custom Gemini base URL. Use this only when routing through your own gateway or vendor endpoint; keep provider defaults otherwise.",
                      },
                      apiKey: {
                        anyOf: [
                          {
                            type: "string",
                          },
                          {
                            oneOf: [
                              {
                                type: "object",
                                properties: {
                                  source: {
                                    type: "string",
                                    const: "env",
                                  },
                                  provider: {
                                    type: "string",
                                    pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                  },
                                  id: {
                                    type: "string",
                                    pattern: "^[A-Z][A-Z0-9_]{0,127}$",
                                  },
                                },
                                required: ["source", "provider", "id"],
                                additionalProperties: false,
                              },
                              {
                                type: "object",
                                properties: {
                                  source: {
                                    type: "string",
                                    const: "file",
                                  },
                                  provider: {
                                    type: "string",
                                    pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                  },
                                  id: {
                                    type: "string",
                                  },
                                },
                                required: ["source", "provider", "id"],
                                additionalProperties: false,
                              },
                              {
                                type: "object",
                                properties: {
                                  source: {
                                    type: "string",
                                    const: "exec",
                                  },
                                  provider: {
                                    type: "string",
                                    pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                  },
                                  id: {
                                    type: "string",
                                  },
                                },
                                required: ["source", "provider", "id"],
                                additionalProperties: false,
                              },
                            ],
                          },
                        ],
                        title: "Remote Embedding API Key",
                        description:
                          "Supplies a dedicated API key for remote embedding calls used by memory indexing and query-time embeddings. Use this when memory embeddings should use different credentials than global defaults or environment variables.",
                      },
                      headers: {
                        type: "object",
                        propertyNames: {
                          type: "string",
                        },
                        additionalProperties: {
                          type: "string",
                        },
                        title: "Remote Embedding Headers",
                        description:
                          "Adds custom HTTP headers to remote embedding requests, merged with provider defaults. Use this for proxy auth and tenant routing headers, and keep values minimal to avoid leaking sensitive metadata.",
                      },
                      batch: {
                        type: "object",
                        properties: {
                          enabled: {
                            type: "boolean",
                            title: "Remote Batch Embedding Enabled",
                            description:
                              "Enables provider batch APIs for embedding jobs when supported (OpenAI/Gemini), improving throughput on larger index runs. Keep this enabled unless debugging provider batch failures or running very small workloads.",
                          },
                          wait: {
                            type: "boolean",
                            title: "Remote Batch Wait for Completion",
                            description:
                              "Waits for batch embedding jobs to fully finish before the indexing operation completes. Keep this enabled for deterministic indexing state; disable only if you accept delayed consistency.",
                          },
                          concurrency: {
                            type: "integer",
                            exclusiveMinimum: 0,
                            maximum: 9007199254740991,
                            title: "Remote Batch Concurrency",
                            description:
                              "Limits how many embedding batch jobs run at the same time during indexing (default: 2). Increase carefully for faster bulk indexing, but watch provider rate limits and queue errors.",
                          },
                          pollIntervalMs: {
                            type: "integer",
                            minimum: 0,
                            maximum: 9007199254740991,
                            title: "Remote Batch Poll Interval (ms)",
                            description:
                              "Controls how often the system polls provider APIs for batch job status in milliseconds (default: 2000). Use longer intervals to reduce API chatter, or shorter intervals for faster completion detection.",
                          },
                          timeoutMinutes: {
                            type: "integer",
                            exclusiveMinimum: 0,
                            maximum: 9007199254740991,
                            title: "Remote Batch Timeout (min)",
                            description:
                              "Sets the maximum wait time for a full embedding batch operation in minutes (default: 60). Increase for very large corpora or slower providers, and lower it to fail fast in automation-heavy flows.",
                          },
                        },
                        additionalProperties: false,
                      },
                    },
                    additionalProperties: false,
                  },
                  fallback: {
                    type: "string",
                    title: "Memory Search Fallback",
                    description:
                      'Backup provider used when primary embeddings fail: "openai", "gemini", "voyage", "mistral", "bedrock", "lmstudio", "ollama", "local", or "none". Set a real fallback for production reliability; use "none" only if you prefer explicit failures.',
                  },
                  model: {
                    type: "string",
                    title: "Memory Search Model",
                    description:
                      "Embedding model override used by the selected memory provider when a non-default model is required. Set this only when you need explicit recall quality/cost tuning beyond provider defaults.",
                  },
                  outputDimensionality: {
                    type: "integer",
                    exclusiveMinimum: 0,
                    maximum: 9007199254740991,
                    title: "Memory Search Output Dimensionality",
                    description:
                      "Provider-specific output vector size override for memory embeddings. Gemini embedding-2 supports 768, 1536, or 3072; Bedrock families such as Titan V2, Cohere V4, and Nova expose their own allowed sizes. Expect a full reindex when you change it because stored vector dimensions must stay consistent.",
                  },
                  local: {
                    type: "object",
                    properties: {
                      modelPath: {
                        type: "string",
                        title: "Local Embedding Model Path",
                        description:
                          "Specifies the local embedding model source for local memory search, such as a GGUF file path or `hf:` URI. Use this only when provider is `local`, and verify model compatibility before large index rebuilds.",
                      },
                      modelCacheDir: {
                        type: "string",
                      },
                      contextSize: {
                        anyOf: [
                          {
                            type: "integer",
                            exclusiveMinimum: 0,
                            maximum: 9007199254740991,
                          },
                          {
                            type: "string",
                            const: "auto",
                          },
                        ],
                        title: "Local Embedding Context Size",
                        description:
                          'Context window size passed to node-llama-cpp when creating the embedding context (default: 4096). 4096 safely covers typical memory-search chunks (128–512 tokens) while keeping non-weight VRAM bounded. Lower to 1024–2048 on resource-constrained hosts. Set to "auto" to let node-llama-cpp use the model\'s trained maximum — not recommended for large models (e.g. Qwen3-Embedding-8B trained on 40 960 tokens can push VRAM from ~8.8 GB to ~32 GB).',
                      },
                    },
                    additionalProperties: false,
                  },
                  store: {
                    type: "object",
                    properties: {
                      driver: {
                        type: "string",
                        const: "sqlite",
                      },
                      path: {
                        type: "string",
                        title: "Memory Search Index Path",
                        description:
                          "Sets where the SQLite memory index is stored on disk for each agent. Keep the default `~/.openclaw/memory/{agentId}.sqlite` unless you need custom storage placement or backup policy alignment.",
                      },
                      fts: {
                        type: "object",
                        properties: {
                          tokenizer: {
                            anyOf: [
                              {
                                type: "string",
                                const: "unicode61",
                              },
                              {
                                type: "string",
                                const: "trigram",
                              },
                            ],
                          },
                        },
                        additionalProperties: false,
                      },
                      vector: {
                        type: "object",
                        properties: {
                          enabled: {
                            type: "boolean",
                            title: "Memory Search Vector Index",
                            description:
                              "Enables the sqlite-vec extension used for vector similarity queries in memory search (default: true). Keep this enabled for normal semantic recall; disable only for debugging or fallback-only operation.",
                          },
                          extensionPath: {
                            type: "string",
                            title: "Memory Search Vector Extension Path",
                            description:
                              "Overrides the auto-discovered sqlite-vec extension library path (`.dylib`, `.so`, or `.dll`). Use this when your runtime cannot find sqlite-vec automatically or you pin a known-good build.",
                          },
                        },
                        additionalProperties: false,
                      },
                    },
                    additionalProperties: false,
                  },
                  chunking: {
                    type: "object",
                    properties: {
                      tokens: {
                        type: "integer",
                        exclusiveMinimum: 0,
                        maximum: 9007199254740991,
                        title: "Memory Chunk Tokens",
                        description:
                          "Chunk size in tokens used when splitting memory sources before embedding/indexing. Increase for broader context per chunk, or lower to improve precision on pinpoint lookups.",
                      },
                      overlap: {
                        type: "integer",
                        minimum: 0,
                        maximum: 9007199254740991,
                        title: "Memory Chunk Overlap Tokens",
                        description:
                          "Token overlap between adjacent memory chunks to preserve context continuity near split boundaries. Use modest overlap to reduce boundary misses without inflating index size too aggressively.",
                      },
                    },
                    additionalProperties: false,
                  },
                  sync: {
                    type: "object",
                    properties: {
                      onSessionStart: {
                        type: "boolean",
                        title: "Index on Session Start",
                        description:
                          "Triggers a memory index sync when a session starts so early turns see fresh memory content. Keep enabled when startup freshness matters more than initial turn latency.",
                      },
                      onSearch: {
                        type: "boolean",
                        title: "Index on Search (Lazy)",
                        description:
                          "Uses lazy sync by scheduling reindex on search after content changes are detected. Keep enabled for lower idle overhead, or disable if you require pre-synced indexes before any query.",
                      },
                      watch: {
                        type: "boolean",
                        title: "Watch Memory Files",
                        description:
                          "Watches memory files and schedules index updates from file-change events (chokidar). Enable for near-real-time freshness; disable on very large workspaces if watch churn is too noisy.",
                      },
                      watchDebounceMs: {
                        type: "integer",
                        minimum: 0,
                        maximum: 9007199254740991,
                        title: "Memory Watch Debounce (ms)",
                        description:
                          "Debounce window in milliseconds for coalescing rapid file-watch events before reindex runs. Increase to reduce churn on frequently-written files, or lower for faster freshness.",
                      },
                      intervalMinutes: {
                        type: "integer",
                        minimum: 0,
                        maximum: 9007199254740991,
                      },
                      sessions: {
                        type: "object",
                        properties: {
                          deltaBytes: {
                            type: "integer",
                            minimum: 0,
                            maximum: 9007199254740991,
                            title: "Session Delta Bytes",
                            description:
                              "Requires at least this many newly appended bytes before session transcript changes trigger reindex (default: 100000). Increase to reduce frequent small reindexes, or lower for faster transcript freshness.",
                          },
                          deltaMessages: {
                            type: "integer",
                            minimum: 0,
                            maximum: 9007199254740991,
                            title: "Session Delta Messages",
                            description:
                              "Requires at least this many appended transcript messages before reindex is triggered (default: 50). Lower this for near-real-time transcript recall, or raise it to reduce indexing churn.",
                          },
                          postCompactionForce: {
                            type: "boolean",
                            title: "Force Reindex After Compaction",
                            description:
                              "Forces a session memory-search reindex after compaction-triggered transcript updates (default: true). Keep enabled when compacted summaries must be immediately searchable, or disable to reduce write-time indexing pressure.",
                          },
                        },
                        additionalProperties: false,
                      },
                    },
                    additionalProperties: false,
                  },
                  query: {
                    type: "object",
                    properties: {
                      maxResults: {
                        type: "integer",
                        exclusiveMinimum: 0,
                        maximum: 9007199254740991,
                        title: "Memory Search Max Results",
                        description:
                          "Maximum number of memory hits returned from search before downstream reranking and prompt injection. Raise for broader recall, or lower for tighter prompts and faster responses.",
                      },
                      minScore: {
                        type: "number",
                        minimum: 0,
                        maximum: 1,
                        title: "Memory Search Min Score",
                        description:
                          "Minimum relevance score threshold for including memory results in final recall output. Increase to reduce weak/noisy matches, or lower when you need more permissive retrieval.",
                      },
                      hybrid: {
                        type: "object",
                        properties: {
                          enabled: {
                            type: "boolean",
                            title: "Memory Search Hybrid",
                            description:
                              "Combines BM25 keyword matching with vector similarity for better recall on mixed exact + semantic queries. Keep enabled unless you are isolating ranking behavior for troubleshooting.",
                          },
                          vectorWeight: {
                            type: "number",
                            minimum: 0,
                            maximum: 1,
                            title: "Memory Search Vector Weight",
                            description:
                              "Controls how strongly semantic similarity influences hybrid ranking (0-1). Increase when paraphrase matching matters more than exact terms; decrease for stricter keyword emphasis.",
                          },
                          textWeight: {
                            type: "number",
                            minimum: 0,
                            maximum: 1,
                            title: "Memory Search Text Weight",
                            description:
                              "Controls how strongly BM25 keyword relevance influences hybrid ranking (0-1). Increase for exact-term matching; decrease when semantic matches should rank higher.",
                          },
                          candidateMultiplier: {
                            type: "integer",
                            exclusiveMinimum: 0,
                            maximum: 9007199254740991,
                            title: "Memory Search Hybrid Candidate Multiplier",
                            description:
                              "Expands the candidate pool before reranking (default: 4). Raise this for better recall on noisy corpora, but expect more compute and slightly slower searches.",
                          },
                          mmr: {
                            type: "object",
                            properties: {
                              enabled: {
                                type: "boolean",
                                title: "Memory Search MMR Re-ranking",
                                description:
                                  "Adds MMR reranking to diversify results and reduce near-duplicate snippets in a single answer window. Enable when recall looks repetitive; keep off for strict score ordering.",
                              },
                              lambda: {
                                type: "number",
                                minimum: 0,
                                maximum: 1,
                                title: "Memory Search MMR Lambda",
                                description:
                                  "Sets MMR relevance-vs-diversity balance (0 = most diverse, 1 = most relevant, default: 0.7). Lower values reduce repetition; higher values keep tightly relevant but may duplicate.",
                              },
                            },
                            additionalProperties: false,
                          },
                          temporalDecay: {
                            type: "object",
                            properties: {
                              enabled: {
                                type: "boolean",
                                title: "Memory Search Temporal Decay",
                                description:
                                  "Applies recency decay so newer memory can outrank older memory when scores are close. Enable when timeliness matters; keep off for timeless reference knowledge.",
                              },
                              halfLifeDays: {
                                type: "integer",
                                exclusiveMinimum: 0,
                                maximum: 9007199254740991,
                                title: "Memory Search Temporal Decay Half-life (Days)",
                                description:
                                  "Controls how fast older memory loses rank when temporal decay is enabled (half-life in days, default: 30). Lower values prioritize recent context more aggressively.",
                              },
                            },
                            additionalProperties: false,
                          },
                        },
                        additionalProperties: false,
                      },
                    },
                    additionalProperties: false,
                  },
                  cache: {
                    type: "object",
                    properties: {
                      enabled: {
                        type: "boolean",
                        title: "Memory Search Embedding Cache",
                        description:
                          "Caches computed chunk embeddings in SQLite so reindexing and incremental updates run faster (default: true). Keep this enabled unless investigating cache correctness or minimizing disk usage.",
                      },
                      maxEntries: {
                        type: "integer",
                        exclusiveMinimum: 0,
                        maximum: 9007199254740991,
                        title: "Memory Search Embedding Cache Max Entries",
                        description:
                          "Sets a best-effort upper bound on cached embeddings kept in SQLite for memory search. Use this when controlling disk growth matters more than peak reindex speed.",
                      },
                    },
                    additionalProperties: false,
                  },
                },
                additionalProperties: false,
                title: "Memory Search",
                description:
                  "Vector search over MEMORY.md and memory/*.md (per-agent overrides supported).",
              },
              contextPruning: {
                type: "object",
                properties: {
                  mode: {
                    anyOf: [
                      {
                        type: "string",
                        const: "off",
                      },
                      {
                        type: "string",
                        const: "cache-ttl",
                      },
                    ],
                  },
                  ttl: {
                    type: "string",
                  },
                  keepLastAssistants: {
                    type: "integer",
                    minimum: 0,
                    maximum: 9007199254740991,
                  },
                  softTrimRatio: {
                    type: "number",
                    minimum: 0,
                    maximum: 1,
                  },
                  hardClearRatio: {
                    type: "number",
                    minimum: 0,
                    maximum: 1,
                  },
                  minPrunableToolChars: {
                    type: "integer",
                    minimum: 0,
                    maximum: 9007199254740991,
                  },
                  tools: {
                    type: "object",
                    properties: {
                      allow: {
                        type: "array",
                        items: {
                          type: "string",
                        },
                      },
                      deny: {
                        type: "array",
                        items: {
                          type: "string",
                        },
                      },
                    },
                    additionalProperties: false,
                  },
                  softTrim: {
                    type: "object",
                    properties: {
                      maxChars: {
                        type: "integer",
                        minimum: 0,
                        maximum: 9007199254740991,
                      },
                      headChars: {
                        type: "integer",
                        minimum: 0,
                        maximum: 9007199254740991,
                      },
                      tailChars: {
                        type: "integer",
                        minimum: 0,
                        maximum: 9007199254740991,
                      },
                    },
                    additionalProperties: false,
                  },
                  hardClear: {
                    type: "object",
                    properties: {
                      enabled: {
                        type: "boolean",
                      },
                      placeholder: {
                        type: "string",
                      },
                    },
                    additionalProperties: false,
                  },
                },
                additionalProperties: false,
              },
              llm: {
                type: "object",
                properties: {
                  idleTimeoutSeconds: {
                    description:
                      "Idle timeout for LLM streaming responses in seconds. If no token is received within this time, the request is aborted. Set to 0 to disable. Default: 120 seconds.",
                    type: "integer",
                    minimum: 0,
                    maximum: 9007199254740991,
                  },
                },
                additionalProperties: false,
              },
              compaction: {
                type: "object",
                properties: {
                  mode: {
                    anyOf: [
                      {
                        type: "string",
                        const: "default",
                      },
                      {
                        type: "string",
                        const: "safeguard",
                      },
                    ],
                    title: "Compaction Mode",
                    description:
                      'Compaction strategy mode: "default" uses baseline behavior, while "safeguard" applies stricter guardrails to preserve recent context. Keep "default" unless you observe aggressive history loss near limit boundaries.',
                  },
                  provider: {
                    type: "string",
                    title: "Compaction Provider",
                    description:
                      "Id of a registered compaction provider plugin used for summarization. When set and the provider is registered, its summarize() method is called instead of the built-in summarizeInStages pipeline. Falls back to built-in on provider failure. Leave unset to use the default built-in summarization.",
                  },
                  reserveTokens: {
                    type: "integer",
                    minimum: 0,
                    maximum: 9007199254740991,
                    title: "Compaction Reserve Tokens",
                    description:
                      "Token headroom reserved for reply generation and tool output after compaction runs. Use higher reserves for verbose/tool-heavy sessions, and lower reserves when maximizing retained history matters more.",
                  },
                  keepRecentTokens: {
                    type: "integer",
                    exclusiveMinimum: 0,
                    maximum: 9007199254740991,
                    title: "Compaction Keep Recent Tokens",
                    description:
                      "Minimum token budget preserved from the most recent conversation window during compaction. Use higher values to protect immediate context continuity and lower values to keep more long-tail history.",
                  },
                  reserveTokensFloor: {
                    type: "integer",
                    minimum: 0,
                    maximum: 9007199254740991,
                    title: "Compaction Reserve Token Floor",
                    description:
                      "Minimum floor enforced for reserveTokens in Pi compaction paths (0 disables the floor guard). Use a non-zero floor to avoid over-aggressive compression under fluctuating token estimates.",
                  },
                  maxHistoryShare: {
                    type: "number",
                    minimum: 0.1,
                    maximum: 0.9,
                    title: "Compaction Max History Share",
                    description:
                      "Maximum fraction of total context budget allowed for retained history after compaction (range 0.1-0.9). Use lower shares for more generation headroom or higher shares for deeper historical continuity.",
                  },
                  customInstructions: {
                    type: "string",
                  },
                  identifierPolicy: {
                    anyOf: [
                      {
                        type: "string",
                        const: "strict",
                      },
                      {
                        type: "string",
                        const: "off",
                      },
                      {
                        type: "string",
                        const: "custom",
                      },
                    ],
                    title: "Compaction Identifier Policy",
                    description:
                      'Identifier-preservation policy for compaction summaries: "strict" prepends built-in opaque-identifier retention guidance (default), "off" disables this prefix, and "custom" uses identifierInstructions. Keep "strict" unless you have a specific compatibility need.',
                  },
                  identifierInstructions: {
                    type: "string",
                    title: "Compaction Identifier Instructions",
                    description:
                      'Custom identifier-preservation instruction text used when identifierPolicy="custom". Keep this explicit and safety-focused so compaction summaries do not rewrite opaque IDs, URLs, hosts, or ports.',
                  },
                  recentTurnsPreserve: {
                    type: "integer",
                    minimum: 0,
                    maximum: 12,
                    title: "Compaction Preserve Recent Turns",
                    description:
                      "Number of most recent user/assistant turns kept verbatim outside safeguard summarization (default: 3). Raise this to preserve exact recent dialogue context, or lower it to maximize compaction savings.",
                  },
                  qualityGuard: {
                    type: "object",
                    properties: {
                      enabled: {
                        type: "boolean",
                        title: "Compaction Quality Guard Enabled",
                        description:
                          "Enables summary quality audits and regeneration retries for safeguard compaction. Default: true in safeguard mode.",
                      },
                      maxRetries: {
                        type: "integer",
                        minimum: 0,
                        maximum: 9007199254740991,
                        title: "Compaction Quality Guard Max Retries",
                        description:
                          "Maximum number of regeneration retries after a failed safeguard summary quality audit. Use small values to bound extra latency and token cost.",
                      },
                    },
                    additionalProperties: false,
                    title: "Compaction Quality Guard",
                    description:
                      "Quality-audit retry settings for safeguard compaction summaries. Safeguard mode enables this by default; set enabled: false to skip summary audits and regeneration.",
                  },
                  postIndexSync: {
                    type: "string",
                    enum: ["off", "async", "await"],
                    title: "Compaction Post-Index Sync",
                    description:
                      'Controls post-compaction session memory reindex mode: "off", "async", or "await" (default: "async"). Use "await" for strongest freshness, "async" for lower compaction latency, and "off" only when session-memory sync is handled elsewhere.',
                  },
                  postCompactionSections: {
                    type: "array",
                    items: {
                      type: "string",
                    },
                    title: "Post-Compaction Context Sections",
                    description:
                      'AGENTS.md H2/H3 section names re-injected after compaction so the agent reruns critical startup guidance. Leave unset to use "Session Startup"/"Red Lines" with legacy fallback to "Every Session"/"Safety"; set to [] to disable reinjection entirely.',
                  },
                  model: {
                    type: "string",
                    title: "Compaction Model Override",
                    description:
                      "Optional provider/model override used only for compaction summarization. Set this when you want compaction to run on a different model than the session default, and leave it unset to keep using the primary agent model.",
                  },
                  timeoutSeconds: {
                    type: "integer",
                    exclusiveMinimum: 0,
                    maximum: 9007199254740991,
                    title: "Compaction Timeout (Seconds)",
                    description:
                      "Maximum time in seconds allowed for a single compaction operation before it is aborted (default: 900). Increase this for very large sessions that need more time to summarize, or decrease it to fail faster on unresponsive models.",
                  },
                  memoryFlush: {
                    type: "object",
                    properties: {
                      enabled: {
                        type: "boolean",
                        title: "Compaction Memory Flush Enabled",
                        description:
                          "Enables pre-compaction memory flush before the runtime performs stronger history reduction near token limits. Keep enabled unless you intentionally disable memory side effects in constrained environments.",
                      },
                      softThresholdTokens: {
                        type: "integer",
                        minimum: 0,
                        maximum: 9007199254740991,
                        title: "Compaction Memory Flush Soft Threshold",
                        description:
                          "Threshold distance to compaction (in tokens) that triggers pre-compaction memory flush execution. Use earlier thresholds for safer persistence, or tighter thresholds for lower flush frequency.",
                      },
                      forceFlushTranscriptBytes: {
                        anyOf: [
                          {
                            type: "integer",
                            minimum: 0,
                            maximum: 9007199254740991,
                          },
                          {
                            type: "string",
                          },
                        ],
                        title: "Compaction Memory Flush Transcript Size Threshold",
                        description:
                          'Forces pre-compaction memory flush when transcript file size reaches this threshold (bytes or strings like "2mb"). Use this to prevent long-session hangs even when token counters are stale; set to 0 to disable.',
                      },
                      prompt: {
                        type: "string",
                        title: "Compaction Memory Flush Prompt",
                        description:
                          "User-prompt template used for the pre-compaction memory flush turn when generating memory candidates. Use this only when you need custom extraction instructions beyond the default memory flush behavior.",
                      },
                      systemPrompt: {
                        type: "string",
                        title: "Compaction Memory Flush System Prompt",
                        description:
                          "System-prompt override for the pre-compaction memory flush turn to control extraction style and safety constraints. Use carefully so custom instructions do not reduce memory quality or leak sensitive context.",
                      },
                    },
                    additionalProperties: false,
                    title: "Compaction Memory Flush",
                    description:
                      "Pre-compaction memory flush settings that run an agentic memory write before heavy compaction. Keep enabled for long sessions so salient context is persisted before aggressive trimming.",
                  },
                  truncateAfterCompaction: {
                    type: "boolean",
                    title: "Truncate After Compaction",
                    description:
                      "When enabled, rewrites the session JSONL file after compaction to remove entries that were summarized. Prevents unbounded file growth in long-running sessions with many compaction cycles. Default: false.",
                  },
                  notifyUser: {
                    type: "boolean",
                    title: "Compaction Notify User",
                    description:
                      "When enabled, sends brief compaction notices to the user when compaction starts and when it completes (for example, '�� Compacting context...' and '�� Compaction complete'). Disabled by default to keep compaction silent and non-intrusive.",
                  },
                },
                additionalProperties: false,
                title: "Compaction",
                description:
                  "Compaction tuning for when context nears token limits, including history share, reserve headroom, and pre-compaction memory flush behavior. Use this when long-running sessions need stable continuity under tight context windows.",
              },
              embeddedPi: {
                type: "object",
                properties: {
                  projectSettingsPolicy: {
                    anyOf: [
                      {
                        type: "string",
                        const: "trusted",
                      },
                      {
                        type: "string",
                        const: "sanitize",
                      },
                      {
                        type: "string",
                        const: "ignore",
                      },
                    ],
                    title: "Embedded Pi Project Settings Policy",
                    description:
                      'How embedded Pi handles workspace-local `.pi/config/settings.json`: "sanitize" (default) strips shellPath/shellCommandPrefix, "ignore" disables project settings entirely, and "trusted" applies project settings as-is.',
                  },
                  executionContract: {
                    anyOf: [
                      {
                        type: "string",
                        const: "default",
                      },
                      {
                        type: "string",
                        const: "strict-agentic",
                      },
                    ],
                    title: "Embedded Pi Execution Contract",
                    description:
                      'Embedded Pi execution contract: "default" keeps the standard runner behavior, while "strict-agentic" keeps OpenAI/OpenAI Codex GPT-5-family runs acting until they hit a real blocker instead of stopping at plans or filler.',
                  },
                },
                additionalProperties: false,
                title: "Embedded Pi",
                description:
                  "Embedded Pi runner hardening controls for how workspace-local Pi settings are trusted and applied in OpenClaw sessions.",
              },
              thinkingDefault: {
                anyOf: [
                  {
                    type: "string",
                    const: "off",
                  },
                  {
                    type: "string",
                    const: "minimal",
                  },
                  {
                    type: "string",
                    const: "low",
                  },
                  {
                    type: "string",
                    const: "medium",
                  },
                  {
                    type: "string",
                    const: "high",
                  },
                  {
                    type: "string",
                    const: "xhigh",
                  },
                  {
                    type: "string",
                    const: "adaptive",
                  },
                  {
                    type: "string",
                    const: "max",
                  },
                ],
              },
              verboseDefault: {
                anyOf: [
                  {
                    type: "string",
                    const: "off",
                  },
                  {
                    type: "string",
                    const: "on",
                  },
                  {
                    type: "string",
                    const: "full",
                  },
                ],
              },
              elevatedDefault: {
                anyOf: [
                  {
                    type: "string",
                    const: "off",
                  },
                  {
                    type: "string",
                    const: "on",
                  },
                  {
                    type: "string",
                    const: "ask",
                  },
                  {
                    type: "string",
                    const: "full",
                  },
                ],
              },
              blockStreamingDefault: {
                anyOf: [
                  {
                    type: "string",
                    const: "off",
                  },
                  {
                    type: "string",
                    const: "on",
                  },
                ],
              },
              blockStreamingBreak: {
                anyOf: [
                  {
                    type: "string",
                    const: "text_end",
                  },
                  {
                    type: "string",
                    const: "message_end",
                  },
                ],
              },
              blockStreamingChunk: {
                type: "object",
                properties: {
                  minChars: {
                    type: "integer",
                    exclusiveMinimum: 0,
                    maximum: 9007199254740991,
                  },
                  maxChars: {
                    type: "integer",
                    exclusiveMinimum: 0,
                    maximum: 9007199254740991,
                  },
                  breakPreference: {
                    anyOf: [
                      {
                        type: "string",
                        const: "paragraph",
                      },
                      {
                        type: "string",
                        const: "newline",
                      },
                      {
                        type: "string",
                        const: "sentence",
                      },
                    ],
                  },
                },
                additionalProperties: false,
              },
              blockStreamingCoalesce: {
                type: "object",
                properties: {
                  minChars: {
                    type: "integer",
                    exclusiveMinimum: 0,
                    maximum: 9007199254740991,
                  },
                  maxChars: {
                    type: "integer",
                    exclusiveMinimum: 0,
                    maximum: 9007199254740991,
                  },
                  idleMs: {
                    type: "integer",
                    minimum: 0,
                    maximum: 9007199254740991,
                  },
                },
                additionalProperties: false,
              },
              humanDelay: {
                type: "object",
                properties: {
                  mode: {
                    anyOf: [
                      {
                        type: "string",
                        const: "off",
                      },
                      {
                        type: "string",
                        const: "natural",
                      },
                      {
                        type: "string",
                        const: "custom",
                      },
                    ],
                    title: "Human Delay Mode",
                    description: 'Delay style for block replies ("off", "natural", "custom").',
                  },
                  minMs: {
                    type: "integer",
                    minimum: 0,
                    maximum: 9007199254740991,
                    title: "Human Delay Min (ms)",
                    description: "Minimum delay in ms for custom humanDelay (default: 800).",
                  },
                  maxMs: {
                    type: "integer",
                    minimum: 0,
                    maximum: 9007199254740991,
                    title: "Human Delay Max (ms)",
                    description: "Maximum delay in ms for custom humanDelay (default: 2500).",
                  },
                },
                additionalProperties: false,
              },
              timeoutSeconds: {
                type: "integer",
                exclusiveMinimum: 0,
                maximum: 9007199254740991,
              },
              mediaMaxMb: {
                type: "number",
                exclusiveMinimum: 0,
              },
              imageMaxDimensionPx: {
                type: "integer",
                exclusiveMinimum: 0,
                maximum: 9007199254740991,
                title: "Image Max Dimension (px)",
                description:
                  "Max image side length in pixels when sanitizing transcript/tool-result image payloads (default: 1200).",
              },
              typingIntervalSeconds: {
                type: "integer",
                exclusiveMinimum: 0,
                maximum: 9007199254740991,
              },
              typingMode: {
                anyOf: [
                  {
                    type: "string",
                    const: "never",
                  },
                  {
                    type: "string",
                    const: "instant",
                  },
                  {
                    type: "string",
                    const: "thinking",
                  },
                  {
                    type: "string",
                    const: "message",
                  },
                ],
              },
              heartbeat: {
                type: "object",
                properties: {
                  every: {
                    type: "string",
                  },
                  activeHours: {
                    type: "object",
                    properties: {
                      start: {
                        type: "string",
                      },
                      end: {
                        type: "string",
                      },
                      timezone: {
                        type: "string",
                      },
                    },
                    additionalProperties: false,
                  },
                  model: {
                    type: "string",
                  },
                  session: {
                    type: "string",
                  },
                  includeReasoning: {
                    type: "boolean",
                  },
                  target: {
                    type: "string",
                  },
                  directPolicy: {
                    anyOf: [
                      {
                        type: "string",
                        const: "allow",
                      },
                      {
                        type: "string",
                        const: "block",
                      },
                    ],
                    title: "Heartbeat Direct Policy",
                    description:
                      'Controls whether heartbeat delivery may target direct/DM chats: "allow" (default) permits DM delivery and "block" suppresses direct-target sends.',
                  },
                  to: {
                    type: "string",
                  },
                  accountId: {
                    type: "string",
                  },
                  prompt: {
                    type: "string",
                  },
                  includeSystemPromptSection: {
                    type: "boolean",
                    title: "Heartbeat Include System Prompt Section",
                    description:
                      "Includes the default agent's ## Heartbeats system prompt section when true. Turn this off to keep heartbeat runtime behavior while omitting the heartbeat prompt instructions from the agent system prompt.",
                  },
                  ackMaxChars: {
                    type: "integer",
                    minimum: 0,
                    maximum: 9007199254740991,
                  },
                  suppressToolErrorWarnings: {
                    type: "boolean",
                    title: "Heartbeat Suppress Tool Error Warnings",
                    description: "Suppress tool error warning payloads during heartbeat runs.",
                  },
                  timeoutSeconds: {
                    type: "integer",
                    exclusiveMinimum: 0,
                    maximum: 9007199254740991,
                    title: "Heartbeat Timeout (Seconds)",
                    description:
                      "Maximum time in seconds allowed for a heartbeat agent turn before it is aborted. Leave unset to use agents.defaults.timeoutSeconds.",
                  },
                  lightContext: {
                    type: "boolean",
                  },
                  isolatedSession: {
                    type: "boolean",
                  },
                },
                additionalProperties: false,
              },
              maxConcurrent: {
                type: "integer",
                exclusiveMinimum: 0,
                maximum: 9007199254740991,
              },
              subagents: {
                type: "object",
                properties: {
                  allowAgents: {
                    type: "array",
                    items: {
                      type: "string",
                    },
                  },
                  maxConcurrent: {
                    type: "integer",
                    exclusiveMinimum: 0,
                    maximum: 9007199254740991,
                  },
                  maxSpawnDepth: {
                    description:
                      "Maximum nesting depth for sub-agent spawning. 1 = no nesting (default), 2 = sub-agents can spawn sub-sub-agents.",
                    type: "integer",
                    minimum: 1,
                    maximum: 5,
                  },
                  maxChildrenPerAgent: {
                    description:
                      "Maximum number of active children a single agent session can spawn (default: 5).",
                    type: "integer",
                    minimum: 1,
                    maximum: 20,
                  },
                  archiveAfterMinutes: {
                    type: "integer",
                    minimum: 0,
                    maximum: 9007199254740991,
                  },
                  model: {
                    anyOf: [
                      {
                        type: "string",
                      },
                      {
                        type: "object",
                        properties: {
                          primary: {
                            type: "string",
                          },
                          fallbacks: {
                            type: "array",
                            items: {
                              type: "string",
                            },
                          },
                        },
                        additionalProperties: false,
                      },
                    ],
                  },
                  thinking: {
                    type: "string",
                  },
                  runTimeoutSeconds: {
                    type: "integer",
                    minimum: 0,
                    maximum: 9007199254740991,
                  },
                  announceTimeoutMs: {
                    type: "integer",
                    exclusiveMinimum: 0,
                    maximum: 9007199254740991,
                  },
                  requireAgentId: {
                    type: "boolean",
                  },
                },
                additionalProperties: false,
              },
              sandbox: {
                type: "object",
                properties: {
                  mode: {
                    anyOf: [
                      {
                        type: "string",
                        const: "off",
                      },
                      {
                        type: "string",
                        const: "non-main",
                      },
                      {
                        type: "string",
                        const: "all",
                      },
                    ],
                  },
                  backend: {
                    type: "string",
                    minLength: 1,
                  },
                  workspaceAccess: {
                    anyOf: [
                      {
                        type: "string",
                        const: "none",
                      },
                      {
                        type: "string",
                        const: "ro",
                      },
                      {
                        type: "string",
                        const: "rw",
                      },
                    ],
                  },
                  sessionToolsVisibility: {
                    anyOf: [
                      {
                        type: "string",
                        const: "spawned",
                      },
                      {
                        type: "string",
                        const: "all",
                      },
                    ],
                  },
                  scope: {
                    anyOf: [
                      {
                        type: "string",
                        const: "session",
                      },
                      {
                        type: "string",
                        const: "agent",
                      },
                      {
                        type: "string",
                        const: "shared",
                      },
                    ],
                  },
                  workspaceRoot: {
                    type: "string",
                  },
                  docker: {
                    type: "object",
                    properties: {
                      image: {
                        type: "string",
                      },
                      containerPrefix: {
                        type: "string",
                      },
                      workdir: {
                        type: "string",
                      },
                      readOnlyRoot: {
                        type: "boolean",
                      },
                      tmpfs: {
                        type: "array",
                        items: {
                          type: "string",
                        },
                      },
                      network: {
                        type: "string",
                      },
                      user: {
                        type: "string",
                      },
                      capDrop: {
                        type: "array",
                        items: {
                          type: "string",
                        },
                      },
                      env: {
                        type: "object",
                        propertyNames: {
                          type: "string",
                        },
                        additionalProperties: {
                          type: "string",
                        },
                      },
                      setupCommand: {},
                      pidsLimit: {
                        type: "integer",
                        exclusiveMinimum: 0,
                        maximum: 9007199254740991,
                      },
                      memory: {
                        anyOf: [
                          {
                            type: "string",
                          },
                          {
                            type: "number",
                          },
                        ],
                      },
                      memorySwap: {
                        anyOf: [
                          {
                            type: "string",
                          },
                          {
                            type: "number",
                          },
                        ],
                      },
                      cpus: {
                        type: "number",
                        exclusiveMinimum: 0,
                      },
                      ulimits: {
                        type: "object",
                        propertyNames: {
                          type: "string",
                        },
                        additionalProperties: {
                          anyOf: [
                            {
                              type: "string",
                            },
                            {
                              type: "number",
                            },
                            {
                              type: "object",
                              properties: {
                                soft: {
                                  type: "integer",
                                  minimum: 0,
                                  maximum: 9007199254740991,
                                },
                                hard: {
                                  type: "integer",
                                  minimum: 0,
                                  maximum: 9007199254740991,
                                },
                              },
                              additionalProperties: false,
                            },
                          ],
                        },
                      },
                      seccompProfile: {
                        type: "string",
                      },
                      apparmorProfile: {
                        type: "string",
                      },
                      dns: {
                        type: "array",
                        items: {
                          type: "string",
                        },
                      },
                      extraHosts: {
                        type: "array",
                        items: {
                          type: "string",
                        },
                      },
                      binds: {
                        type: "array",
                        items: {
                          type: "string",
                        },
                      },
                      dangerouslyAllowReservedContainerTargets: {
                        type: "boolean",
                      },
                      dangerouslyAllowExternalBindSources: {
                        type: "boolean",
                      },
                      dangerouslyAllowContainerNamespaceJoin: {
                        type: "boolean",
                        title: "Sandbox Docker Allow Container Namespace Join",
                        description:
                          "DANGEROUS break-glass override that allows sandbox Docker network mode container:<id>. This joins another container namespace and weakens sandbox isolation.",
                      },
                    },
                    additionalProperties: false,
                  },
                  ssh: {
                    type: "object",
                    properties: {
                      target: {
                        type: "string",
                        minLength: 1,
                      },
                      command: {
                        type: "string",
                        minLength: 1,
                      },
                      workspaceRoot: {
                        type: "string",
                        minLength: 1,
                      },
                      strictHostKeyChecking: {
                        type: "boolean",
                      },
                      updateHostKeys: {
                        type: "boolean",
                      },
                      identityFile: {
                        type: "string",
                        minLength: 1,
                      },
                      certificateFile: {
                        type: "string",
                        minLength: 1,
                      },
                      knownHostsFile: {
                        type: "string",
                        minLength: 1,
                      },
                      identityData: {
                        anyOf: [
                          {
                            type: "string",
                          },
                          {
                            oneOf: [
                              {
                                type: "object",
                                properties: {
                                  source: {
                                    type: "string",
                                    const: "env",
                                  },
                                  provider: {
                                    type: "string",
                                    pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                  },
                                  id: {
                                    type: "string",
                                    pattern: "^[A-Z][A-Z0-9_]{0,127}$",
                                  },
                                },
                                required: ["source", "provider", "id"],
                                additionalProperties: false,
                              },
                              {
                                type: "object",
                                properties: {
                                  source: {
                                    type: "string",
                                    const: "file",
                                  },
                                  provider: {
                                    type: "string",
                                    pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                  },
                                  id: {
                                    type: "string",
                                  },
                                },
                                required: ["source", "provider", "id"],
                                additionalProperties: false,
                              },
                              {
                                type: "object",
                                properties: {
                                  source: {
                                    type: "string",
                                    const: "exec",
                                  },
                                  provider: {
                                    type: "string",
                                    pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                  },
                                  id: {
                                    type: "string",
                                  },
                                },
                                required: ["source", "provider", "id"],
                                additionalProperties: false,
                              },
                            ],
                          },
                        ],
                      },
                      certificateData: {
                        anyOf: [
                          {
                            type: "string",
                          },
                          {
                            oneOf: [
                              {
                                type: "object",
                                properties: {
                                  source: {
                                    type: "string",
                                    const: "env",
                                  },
                                  provider: {
                                    type: "string",
                                    pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                  },
                                  id: {
                                    type: "string",
                                    pattern: "^[A-Z][A-Z0-9_]{0,127}$",
                                  },
                                },
                                required: ["source", "provider", "id"],
                                additionalProperties: false,
                              },
                              {
                                type: "object",
                                properties: {
                                  source: {
                                    type: "string",
                                    const: "file",
                                  },
                                  provider: {
                                    type: "string",
                                    pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                  },
                                  id: {
                                    type: "string",
                                  },
                                },
                                required: ["source", "provider", "id"],
                                additionalProperties: false,
                              },
                              {
                                type: "object",
                                properties: {
                                  source: {
                                    type: "string",
                                    const: "exec",
                                  },
                                  provider: {
                                    type: "string",
                                    pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                  },
                                  id: {
                                    type: "string",
                                  },
                                },
                                required: ["source", "provider", "id"],
                                additionalProperties: false,
                              },
                            ],
                          },
                        ],
                      },
                      knownHostsData: {
                        anyOf: [
                          {
                            type: "string",
                          },
                          {
                            oneOf: [
                              {
                                type: "object",
                                properties: {
                                  source: {
                                    type: "string",
                                    const: "env",
                                  },
                                  provider: {
                                    type: "string",
                                    pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                  },
                                  id: {
                                    type: "string",
                                    pattern: "^[A-Z][A-Z0-9_]{0,127}$",
                                  },
                                },
                                required: ["source", "provider", "id"],
                                additionalProperties: false,
                              },
                              {
                                type: "object",
                                properties: {
                                  source: {
                                    type: "string",
                                    const: "file",
                                  },
                                  provider: {
                                    type: "string",
                                    pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                  },
                                  id: {
                                    type: "string",
                                  },
                                },
                                required: ["source", "provider", "id"],
                                additionalProperties: false,
                              },
                              {
                                type: "object",
                                properties: {
                                  source: {
                                    type: "string",
                                    const: "exec",
                                  },
                                  provider: {
                                    type: "string",
                                    pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                  },
                                  id: {
                                    type: "string",
                                  },
                                },
                                required: ["source", "provider", "id"],
                                additionalProperties: false,
                              },
                            ],
                          },
                        ],
                      },
                    },
                    additionalProperties: false,
                  },
                  browser: {
                    type: "object",
                    properties: {
                      enabled: {
                        type: "boolean",
                      },
                      image: {
                        type: "string",
                      },
                      containerPrefix: {
                        type: "string",
                      },
                      network: {
                        type: "string",
                        title: "Sandbox Browser Network",
                        description:
                          "Docker network for sandbox browser containers (default: openclaw-sandbox-browser). Avoid bridge if you need stricter isolation.",
                      },
                      cdpPort: {
                        type: "integer",
                        exclusiveMinimum: 0,
                        maximum: 9007199254740991,
                      },
                      cdpSourceRange: {
                        type: "string",
                        title: "Sandbox Browser CDP Source Port Range",
                        description:
                          "Optional CIDR allowlist for container-edge CDP ingress (for example 172.21.0.1/32).",
                      },
                      vncPort: {
                        type: "integer",
                        exclusiveMinimum: 0,
                        maximum: 9007199254740991,
                      },
                      noVncPort: {
                        type: "integer",
                        exclusiveMinimum: 0,
                        maximum: 9007199254740991,
                      },
                      headless: {
                        type: "boolean",
                      },
                      enableNoVnc: {
                        type: "boolean",
                      },
                      allowHostControl: {
                        type: "boolean",
                      },
                      autoStart: {
                        type: "boolean",
                      },
                      autoStartTimeoutMs: {
                        type: "integer",
                        exclusiveMinimum: 0,
                        maximum: 9007199254740991,
                      },
                      binds: {
                        type: "array",
                        items: {
                          type: "string",
                        },
                      },
                    },
                    additionalProperties: false,
                  },
                  prune: {
                    type: "object",
                    properties: {
                      idleHours: {
                        type: "integer",
                        minimum: 0,
                        maximum: 9007199254740991,
                      },
                      maxAgeDays: {
                        type: "integer",
                        minimum: 0,
                        maximum: 9007199254740991,
                      },
                    },
                    additionalProperties: false,
                  },
                },
                additionalProperties: false,
              },
            },
            additionalProperties: false,
            title: "Agent Defaults",
            description:
              "Shared default settings inherited by agents unless overridden per entry in agents.list. Use defaults to enforce consistent baseline behavior and reduce duplicated per-agent configuration.",
          },
          list: {
            type: "array",
            items: {
              type: "object",
              properties: {
                id: {
                  type: "string",
                },
                default: {
                  type: "boolean",
                },
                name: {
                  type: "string",
                },
                workspace: {
                  type: "string",
                },
                agentDir: {
                  type: "string",
                },
                systemPromptOverride: {
                  type: "string",
                },
                embeddedHarness: {
                  type: "object",
                  properties: {
                    runtime: {
                      type: "string",
                      title: "Agent Runtime",
                      description:
                        "Per-agent embedded harness runtime: pi, auto, or a registered plugin harness id such as codex. Omitted runtime inherits the default OpenClaw Pi behavior.",
                    },
                    fallback: {
                      type: "string",
                      enum: ["pi", "none"],
                      title: "Agent Embedded Harness Fallback",
                      description:
                        "Per-agent embedded harness fallback. Auto mode defaults to pi; explicit plugin runtimes default to none and do not inherit broader fallback settings.",
                    },
                  },
                  additionalProperties: false,
                  title: "Agent Embedded Harness",
                  description:
                    "Per-agent embedded harness policy override. Use runtime=codex to force Codex for one agent while defaults stay in auto mode.",
                },
                model: {
                  anyOf: [
                    {
                      type: "string",
                    },
                    {
                      type: "object",
                      properties: {
                        primary: {
                          type: "string",
                        },
                        fallbacks: {
                          type: "array",
                          items: {
                            type: "string",
                          },
                        },
                      },
                      additionalProperties: false,
                    },
                  ],
                },
                thinkingDefault: {
                  type: "string",
                  enum: ["off", "minimal", "low", "medium", "high", "xhigh", "adaptive", "max"],
                  title: "Agent Thinking Default",
                  description:
                    "Optional per-agent default thinking level. Overrides agents.defaults.thinkingDefault for this agent when no per-message or session override is set.",
                },
                reasoningDefault: {
                  type: "string",
                  enum: ["on", "off", "stream"],
                  title: "Agent Reasoning Default",
                  description:
                    "Optional per-agent default reasoning visibility (on|off|stream). Applies when no per-message or session reasoning override is set.",
                },
                fastModeDefault: {
                  type: "boolean",
                  title: "Agent Fast Mode Default",
                  description:
                    "Optional per-agent default for fast mode. Applies when no per-message or session fast-mode override is set.",
                },
                skills: {
                  type: "array",
                  items: {
                    type: "string",
                  },
                  title: "Agent Skill Filter",
                  description:
                    "Optional allowlist of skills for this agent. If omitted, the agent inherits agents.defaults.skills when set; otherwise skills stay unrestricted. Set [] for no skills. An explicit list fully replaces inherited defaults instead of merging with them.",
                },
                memorySearch: {
                  type: "object",
                  properties: {
                    enabled: {
                      type: "boolean",
                    },
                    sources: {
                      type: "array",
                      items: {
                        anyOf: [
                          {
                            type: "string",
                            const: "memory",
                          },
                          {
                            type: "string",
                            const: "sessions",
                          },
                        ],
                      },
                    },
                    extraPaths: {
                      type: "array",
                      items: {
                        type: "string",
                      },
                    },
                    qmd: {
                      type: "object",
                      properties: {
                        extraCollections: {
                          type: "array",
                          items: {
                            type: "object",
                            properties: {
                              path: {
                                type: "string",
                              },
                              name: {
                                type: "string",
                              },
                              pattern: {
                                type: "string",
                              },
                            },
                            required: ["path"],
                            additionalProperties: false,
                          },
                        },
                      },
                      additionalProperties: false,
                    },
                    multimodal: {
                      type: "object",
                      properties: {
                        enabled: {
                          type: "boolean",
                        },
                        modalities: {
                          type: "array",
                          items: {
                            anyOf: [
                              {
                                type: "string",
                                const: "image",
                              },
                              {
                                type: "string",
                                const: "audio",
                              },
                              {
                                type: "string",
                                const: "all",
                              },
                            ],
                          },
                        },
                        maxFileBytes: {
                          type: "integer",
                          exclusiveMinimum: 0,
                          maximum: 9007199254740991,
                        },
                      },
                      additionalProperties: false,
                    },
                    experimental: {
                      type: "object",
                      properties: {
                        sessionMemory: {
                          type: "boolean",
                        },
                      },
                      additionalProperties: false,
                    },
                    provider: {
                      type: "string",
                    },
                    remote: {
                      type: "object",
                      properties: {
                        baseUrl: {
                          type: "string",
                        },
                        apiKey: {
                          anyOf: [
                            {
                              type: "string",
                            },
                            {
                              oneOf: [
                                {
                                  type: "object",
                                  properties: {
                                    source: {
                                      type: "string",
                                      const: "env",
                                    },
                                    provider: {
                                      type: "string",
                                      pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                    },
                                    id: {
                                      type: "string",
                                      pattern: "^[A-Z][A-Z0-9_]{0,127}$",
                                    },
                                  },
                                  required: ["source", "provider", "id"],
                                  additionalProperties: false,
                                },
                                {
                                  type: "object",
                                  properties: {
                                    source: {
                                      type: "string",
                                      const: "file",
                                    },
                                    provider: {
                                      type: "string",
                                      pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                    },
                                    id: {
                                      type: "string",
                                    },
                                  },
                                  required: ["source", "provider", "id"],
                                  additionalProperties: false,
                                },
                                {
                                  type: "object",
                                  properties: {
                                    source: {
                                      type: "string",
                                      const: "exec",
                                    },
                                    provider: {
                                      type: "string",
                                      pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                    },
                                    id: {
                                      type: "string",
                                    },
                                  },
                                  required: ["source", "provider", "id"],
                                  additionalProperties: false,
                                },
                              ],
                            },
                          ],
                        },
                        headers: {
                          type: "object",
                          propertyNames: {
                            type: "string",
                          },
                          additionalProperties: {
                            type: "string",
                          },
                        },
                        batch: {
                          type: "object",
                          properties: {
                            enabled: {
                              type: "boolean",
                            },
                            wait: {
                              type: "boolean",
                            },
                            concurrency: {
                              type: "integer",
                              exclusiveMinimum: 0,
                              maximum: 9007199254740991,
                            },
                            pollIntervalMs: {
                              type: "integer",
                              minimum: 0,
                              maximum: 9007199254740991,
                            },
                            timeoutMinutes: {
                              type: "integer",
                              exclusiveMinimum: 0,
                              maximum: 9007199254740991,
                            },
                          },
                          additionalProperties: false,
                        },
                      },
                      additionalProperties: false,
                    },
                    fallback: {
                      type: "string",
                    },
                    model: {
                      type: "string",
                    },
                    outputDimensionality: {
                      type: "integer",
                      exclusiveMinimum: 0,
                      maximum: 9007199254740991,
                    },
                    local: {
                      type: "object",
                      properties: {
                        modelPath: {
                          type: "string",
                        },
                        modelCacheDir: {
                          type: "string",
                        },
                        contextSize: {
                          anyOf: [
                            {
                              type: "integer",
                              exclusiveMinimum: 0,
                              maximum: 9007199254740991,
                            },
                            {
                              type: "string",
                              const: "auto",
                            },
                          ],
                        },
                      },
                      additionalProperties: false,
                    },
                    store: {
                      type: "object",
                      properties: {
                        driver: {
                          type: "string",
                          const: "sqlite",
                        },
                        path: {
                          type: "string",
                        },
                        fts: {
                          type: "object",
                          properties: {
                            tokenizer: {
                              anyOf: [
                                {
                                  type: "string",
                                  const: "unicode61",
                                },
                                {
                                  type: "string",
                                  const: "trigram",
                                },
                              ],
                            },
                          },
                          additionalProperties: false,
                        },
                        vector: {
                          type: "object",
                          properties: {
                            enabled: {
                              type: "boolean",
                            },
                            extensionPath: {
                              type: "string",
                            },
                          },
                          additionalProperties: false,
                        },
                      },
                      additionalProperties: false,
                    },
                    chunking: {
                      type: "object",
                      properties: {
                        tokens: {
                          type: "integer",
                          exclusiveMinimum: 0,
                          maximum: 9007199254740991,
                        },
                        overlap: {
                          type: "integer",
                          minimum: 0,
                          maximum: 9007199254740991,
                        },
                      },
                      additionalProperties: false,
                    },
                    sync: {
                      type: "object",
                      properties: {
                        onSessionStart: {
                          type: "boolean",
                        },
                        onSearch: {
                          type: "boolean",
                        },
                        watch: {
                          type: "boolean",
                        },
                        watchDebounceMs: {
                          type: "integer",
                          minimum: 0,
                          maximum: 9007199254740991,
                        },
                        intervalMinutes: {
                          type: "integer",
                          minimum: 0,
                          maximum: 9007199254740991,
                        },
                        sessions: {
                          type: "object",
                          properties: {
                            deltaBytes: {
                              type: "integer",
                              minimum: 0,
                              maximum: 9007199254740991,
                            },
                            deltaMessages: {
                              type: "integer",
                              minimum: 0,
                              maximum: 9007199254740991,
                            },
                            postCompactionForce: {
                              type: "boolean",
                            },
                          },
                          additionalProperties: false,
                        },
                      },
                      additionalProperties: false,
                    },
                    query: {
                      type: "object",
                      properties: {
                        maxResults: {
                          type: "integer",
                          exclusiveMinimum: 0,
                          maximum: 9007199254740991,
                        },
                        minScore: {
                          type: "number",
                          minimum: 0,
                          maximum: 1,
                        },
                        hybrid: {
                          type: "object",
                          properties: {
                            enabled: {
                              type: "boolean",
                            },
                            vectorWeight: {
                              type: "number",
                              minimum: 0,
                              maximum: 1,
                            },
                            textWeight: {
                              type: "number",
                              minimum: 0,
                              maximum: 1,
                            },
                            candidateMultiplier: {
                              type: "integer",
                              exclusiveMinimum: 0,
                              maximum: 9007199254740991,
                            },
                            mmr: {
                              type: "object",
                              properties: {
                                enabled: {
                                  type: "boolean",
                                },
                                lambda: {
                                  type: "number",
                                  minimum: 0,
                                  maximum: 1,
                                },
                              },
                              additionalProperties: false,
                            },
                            temporalDecay: {
                              type: "object",
                              properties: {
                                enabled: {
                                  type: "boolean",
                                },
                                halfLifeDays: {
                                  type: "integer",
                                  exclusiveMinimum: 0,
                                  maximum: 9007199254740991,
                                },
                              },
                              additionalProperties: false,
                            },
                          },
                          additionalProperties: false,
                        },
                      },
                      additionalProperties: false,
                    },
                    cache: {
                      type: "object",
                      properties: {
                        enabled: {
                          type: "boolean",
                        },
                        maxEntries: {
                          type: "integer",
                          exclusiveMinimum: 0,
                          maximum: 9007199254740991,
                        },
                      },
                      additionalProperties: false,
                    },
                  },
                  additionalProperties: false,
                },
                humanDelay: {
                  type: "object",
                  properties: {
                    mode: {
                      anyOf: [
                        {
                          type: "string",
                          const: "off",
                        },
                        {
                          type: "string",
                          const: "natural",
                        },
                        {
                          type: "string",
                          const: "custom",
                        },
                      ],
                    },
                    minMs: {
                      type: "integer",
                      minimum: 0,
                      maximum: 9007199254740991,
                    },
                    maxMs: {
                      type: "integer",
                      minimum: 0,
                      maximum: 9007199254740991,
                    },
                  },
                  additionalProperties: false,
                },
                skillsLimits: {
                  type: "object",
                  properties: {
                    maxSkillsPromptChars: {
                      type: "integer",
                      minimum: 0,
                      maximum: 9007199254740991,
                      title: "Agent Skills Prompt Max Chars",
                      description:
                        "Per-agent override for the skills prompt character budget. This extends the existing skills.limits.maxSkillsPromptChars path instead of routing the same budget through contextLimits.",
                    },
                  },
                  additionalProperties: false,
                  title: "Agent Skills Limits",
                  description:
                    "Optional per-agent overrides for skills subsystem budgets. Use this when an agent needs a different skills prompt budget without introducing a second generic context-limits path.",
                },
                contextLimits: {
                  type: "object",
                  properties: {
                    memoryGetMaxChars: {
                      type: "integer",
                      minimum: 1,
                      maximum: 250000,
                      title: "Agent memory_get Max Chars",
                      description:
                        "Per-agent override for the default memory_get max character budget.",
                    },
                    memoryGetDefaultLines: {
                      type: "integer",
                      minimum: 1,
                      maximum: 5000,
                      title: "Agent memory_get Line Window",
                      description:
                        "Per-agent override for the default memory_get line window when lines is omitted.",
                    },
                    toolResultMaxChars: {
                      type: "integer",
                      minimum: 1,
                      maximum: 250000,
                      title: "Agent Tool Result Max Chars",
                      description:
                        "Per-agent override for the live tool-result max character budget.",
                    },
                    postCompactionMaxChars: {
                      type: "integer",
                      minimum: 1,
                      maximum: 50000,
                      title: "Agent Post-compaction Max Chars",
                      description:
                        "Per-agent override for the post-compaction AGENTS.md excerpt budget.",
                    },
                  },
                  additionalProperties: false,
                  title: "Agent Context Limits",
                  description:
                    "Optional per-agent overrides for the focused context budget knobs. Omitted fields inherit agents.defaults.contextLimits.",
                },
                contextTokens: {
                  type: "integer",
                  exclusiveMinimum: 0,
                  maximum: 9007199254740991,
                },
                heartbeat: {
                  type: "object",
                  properties: {
                    every: {
                      type: "string",
                    },
                    activeHours: {
                      type: "object",
                      properties: {
                        start: {
                          type: "string",
                        },
                        end: {
                          type: "string",
                        },
                        timezone: {
                          type: "string",
                        },
                      },
                      additionalProperties: false,
                    },
                    model: {
                      type: "string",
                    },
                    session: {
                      type: "string",
                    },
                    includeReasoning: {
                      type: "boolean",
                    },
                    target: {
                      type: "string",
                    },
                    directPolicy: {
                      anyOf: [
                        {
                          type: "string",
                          const: "allow",
                        },
                        {
                          type: "string",
                          const: "block",
                        },
                      ],
                      title: "Heartbeat Direct Policy",
                      description:
                        'Per-agent override for heartbeat direct/DM delivery policy; use "block" for agents that should only send heartbeat alerts to non-DM destinations.',
                    },
                    to: {
                      type: "string",
                    },
                    accountId: {
                      type: "string",
                    },
                    prompt: {
                      type: "string",
                    },
                    includeSystemPromptSection: {
                      type: "boolean",
                      title: "Heartbeat Include System Prompt Section",
                      description:
                        "Per-agent override for whether the default agent's ## Heartbeats system prompt section is injected. Use false to keep heartbeat runtime behavior but omit the heartbeat prompt instructions from that agent's system prompt.",
                    },
                    ackMaxChars: {
                      type: "integer",
                      minimum: 0,
                      maximum: 9007199254740991,
                    },
                    suppressToolErrorWarnings: {
                      type: "boolean",
                      title: "Heartbeat Suppress Tool Error Warnings",
                      description: "Suppress tool error warning payloads during heartbeat runs.",
                    },
                    timeoutSeconds: {
                      type: "integer",
                      exclusiveMinimum: 0,
                      maximum: 9007199254740991,
                      title: "Heartbeat Timeout (Seconds)",
                      description:
                        "Per-agent maximum time in seconds allowed for a heartbeat agent turn before it is aborted. Leave unset to inherit the merged heartbeat/default agent timeout.",
                    },
                    lightContext: {
                      type: "boolean",
                    },
                    isolatedSession: {
                      type: "boolean",
                    },
                  },
                  additionalProperties: false,
                },
                identity: {
                  type: "object",
                  properties: {
                    name: {
                      type: "string",
                    },
                    theme: {
                      type: "string",
                    },
                    emoji: {
                      type: "string",
                    },
                    avatar: {
                      type: "string",
                      title: "Identity Avatar",
                      description:
                        "Agent avatar (workspace-relative path, http(s) URL, or data URI).",
                    },
                  },
                  additionalProperties: false,
                },
                groupChat: {
                  type: "object",
                  properties: {
                    mentionPatterns: {
                      type: "array",
                      items: {
                        type: "string",
                      },
                    },
                    historyLimit: {
                      type: "integer",
                      exclusiveMinimum: 0,
                      maximum: 9007199254740991,
                    },
                  },
                  additionalProperties: false,
                },
                subagents: {
                  type: "object",
                  properties: {
                    allowAgents: {
                      type: "array",
                      items: {
                        type: "string",
                      },
                    },
                    model: {
                      anyOf: [
                        {
                          type: "string",
                        },
                        {
                          type: "object",
                          properties: {
                            primary: {
                              type: "string",
                            },
                            fallbacks: {
                              type: "array",
                              items: {
                                type: "string",
                              },
                            },
                          },
                          additionalProperties: false,
                        },
                      ],
                    },
                    thinking: {
                      type: "string",
                    },
                    requireAgentId: {
                      type: "boolean",
                    },
                  },
                  additionalProperties: false,
                },
                embeddedPi: {
                  type: "object",
                  properties: {
                    executionContract: {
                      anyOf: [
                        {
                          type: "string",
                          const: "default",
                        },
                        {
                          type: "string",
                          const: "strict-agentic",
                        },
                      ],
                      title: "Agent Embedded Pi Execution Contract",
                      description:
                        'Optional per-agent embedded Pi execution contract override. Set "strict-agentic" to keep that agent acting through plan-only turns on OpenAI/OpenAI Codex GPT-5-family runs, or "default" to inherit the standard runner behavior.',
                    },
                  },
                  additionalProperties: false,
                  title: "Agent Embedded Pi",
                  description:
                    "Optional per-agent embedded Pi overrides. Use this to opt specific agents into stricter GPT-5 execution behavior without changing the global default.",
                },
                sandbox: {
                  type: "object",
                  properties: {
                    mode: {
                      anyOf: [
                        {
                          type: "string",
                          const: "off",
                        },
                        {
                          type: "string",
                          const: "non-main",
                        },
                        {
                          type: "string",
                          const: "all",
                        },
                      ],
                    },
                    backend: {
                      type: "string",
                      minLength: 1,
                    },
                    workspaceAccess: {
                      anyOf: [
                        {
                          type: "string",
                          const: "none",
                        },
                        {
                          type: "string",
                          const: "ro",
                        },
                        {
                          type: "string",
                          const: "rw",
                        },
                      ],
                    },
                    sessionToolsVisibility: {
                      anyOf: [
                        {
                          type: "string",
                          const: "spawned",
                        },
                        {
                          type: "string",
                          const: "all",
                        },
                      ],
                    },
                    scope: {
                      anyOf: [
                        {
                          type: "string",
                          const: "session",
                        },
                        {
                          type: "string",
                          const: "agent",
                        },
                        {
                          type: "string",
                          const: "shared",
                        },
                      ],
                    },
                    workspaceRoot: {
                      type: "string",
                    },
                    docker: {
                      type: "object",
                      properties: {
                        image: {
                          type: "string",
                        },
                        containerPrefix: {
                          type: "string",
                        },
                        workdir: {
                          type: "string",
                        },
                        readOnlyRoot: {
                          type: "boolean",
                        },
                        tmpfs: {
                          type: "array",
                          items: {
                            type: "string",
                          },
                        },
                        network: {
                          type: "string",
                        },
                        user: {
                          type: "string",
                        },
                        capDrop: {
                          type: "array",
                          items: {
                            type: "string",
                          },
                        },
                        env: {
                          type: "object",
                          propertyNames: {
                            type: "string",
                          },
                          additionalProperties: {
                            type: "string",
                          },
                        },
                        setupCommand: {},
                        pidsLimit: {
                          type: "integer",
                          exclusiveMinimum: 0,
                          maximum: 9007199254740991,
                        },
                        memory: {
                          anyOf: [
                            {
                              type: "string",
                            },
                            {
                              type: "number",
                            },
                          ],
                        },
                        memorySwap: {
                          anyOf: [
                            {
                              type: "string",
                            },
                            {
                              type: "number",
                            },
                          ],
                        },
                        cpus: {
                          type: "number",
                          exclusiveMinimum: 0,
                        },
                        ulimits: {
                          type: "object",
                          propertyNames: {
                            type: "string",
                          },
                          additionalProperties: {
                            anyOf: [
                              {
                                type: "string",
                              },
                              {
                                type: "number",
                              },
                              {
                                type: "object",
                                properties: {
                                  soft: {
                                    type: "integer",
                                    minimum: 0,
                                    maximum: 9007199254740991,
                                  },
                                  hard: {
                                    type: "integer",
                                    minimum: 0,
                                    maximum: 9007199254740991,
                                  },
                                },
                                additionalProperties: false,
                              },
                            ],
                          },
                        },
                        seccompProfile: {
                          type: "string",
                        },
                        apparmorProfile: {
                          type: "string",
                        },
                        dns: {
                          type: "array",
                          items: {
                            type: "string",
                          },
                        },
                        extraHosts: {
                          type: "array",
                          items: {
                            type: "string",
                          },
                        },
                        binds: {
                          type: "array",
                          items: {
                            type: "string",
                          },
                        },
                        dangerouslyAllowReservedContainerTargets: {
                          type: "boolean",
                        },
                        dangerouslyAllowExternalBindSources: {
                          type: "boolean",
                        },
                        dangerouslyAllowContainerNamespaceJoin: {
                          type: "boolean",
                          title: "Agent Sandbox Docker Allow Container Namespace Join",
                          description:
                            "Per-agent DANGEROUS override for container namespace joins in sandbox Docker network mode.",
                        },
                      },
                      additionalProperties: false,
                    },
                    ssh: {
                      type: "object",
                      properties: {
                        target: {
                          type: "string",
                          minLength: 1,
                        },
                        command: {
                          type: "string",
                          minLength: 1,
                        },
                        workspaceRoot: {
                          type: "string",
                          minLength: 1,
                        },
                        strictHostKeyChecking: {
                          type: "boolean",
                        },
                        updateHostKeys: {
                          type: "boolean",
                        },
                        identityFile: {
                          type: "string",
                          minLength: 1,
                        },
                        certificateFile: {
                          type: "string",
                          minLength: 1,
                        },
                        knownHostsFile: {
                          type: "string",
                          minLength: 1,
                        },
                        identityData: {
                          anyOf: [
                            {
                              type: "string",
                            },
                            {
                              oneOf: [
                                {
                                  type: "object",
                                  properties: {
                                    source: {
                                      type: "string",
                                      const: "env",
                                    },
                                    provider: {
                                      type: "string",
                                      pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                    },
                                    id: {
                                      type: "string",
                                      pattern: "^[A-Z][A-Z0-9_]{0,127}$",
                                    },
                                  },
                                  required: ["source", "provider", "id"],
                                  additionalProperties: false,
                                },
                                {
                                  type: "object",
                                  properties: {
                                    source: {
                                      type: "string",
                                      const: "file",
                                    },
                                    provider: {
                                      type: "string",
                                      pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                    },
                                    id: {
                                      type: "string",
                                    },
                                  },
                                  required: ["source", "provider", "id"],
                                  additionalProperties: false,
                                },
                                {
                                  type: "object",
                                  properties: {
                                    source: {
                                      type: "string",
                                      const: "exec",
                                    },
                                    provider: {
                                      type: "string",
                                      pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                    },
                                    id: {
                                      type: "string",
                                    },
                                  },
                                  required: ["source", "provider", "id"],
                                  additionalProperties: false,
                                },
                              ],
                            },
                          ],
                        },
                        certificateData: {
                          anyOf: [
                            {
                              type: "string",
                            },
                            {
                              oneOf: [
                                {
                                  type: "object",
                                  properties: {
                                    source: {
                                      type: "string",
                                      const: "env",
                                    },
                                    provider: {
                                      type: "string",
                                      pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                    },
                                    id: {
                                      type: "string",
                                      pattern: "^[A-Z][A-Z0-9_]{0,127}$",
                                    },
                                  },
                                  required: ["source", "provider", "id"],
                                  additionalProperties: false,
                                },
                                {
                                  type: "object",
                                  properties: {
                                    source: {
                                      type: "string",
                                      const: "file",
                                    },
                                    provider: {
                                      type: "string",
                                      pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                    },
                                    id: {
                                      type: "string",
                                    },
                                  },
                                  required: ["source", "provider", "id"],
                                  additionalProperties: false,
                                },
                                {
                                  type: "object",
                                  properties: {
                                    source: {
                                      type: "string",
                                      const: "exec",
                                    },
                                    provider: {
                                      type: "string",
                                      pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                    },
                                    id: {
                                      type: "string",
                                    },
                                  },
                                  required: ["source", "provider", "id"],
                                  additionalProperties: false,
                                },
                              ],
                            },
                          ],
                        },
                        knownHostsData: {
                          anyOf: [
                            {
                              type: "string",
                            },
                            {
                              oneOf: [
                                {
                                  type: "object",
                                  properties: {
                                    source: {
                                      type: "string",
                                      const: "env",
                                    },
                                    provider: {
                                      type: "string",
                                      pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                    },
                                    id: {
                                      type: "string",
                                      pattern: "^[A-Z][A-Z0-9_]{0,127}$",
                                    },
                                  },
                                  required: ["source", "provider", "id"],
                                  additionalProperties: false,
                                },
                                {
                                  type: "object",
                                  properties: {
                                    source: {
                                      type: "string",
                                      const: "file",
                                    },
                                    provider: {
                                      type: "string",
                                      pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                    },
                                    id: {
                                      type: "string",
                                    },
                                  },
                                  required: ["source", "provider", "id"],
                                  additionalProperties: false,
                                },
                                {
                                  type: "object",
                                  properties: {
                                    source: {
                                      type: "string",
                                      const: "exec",
                                    },
                                    provider: {
                                      type: "string",
                                      pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                    },
                                    id: {
                                      type: "string",
                                    },
                                  },
                                  required: ["source", "provider", "id"],
                                  additionalProperties: false,
                                },
                              ],
                            },
                          ],
                        },
                      },
                      additionalProperties: false,
                    },
                    browser: {
                      type: "object",
                      properties: {
                        enabled: {
                          type: "boolean",
                        },
                        image: {
                          type: "string",
                        },
                        containerPrefix: {
                          type: "string",
                        },
                        network: {
                          type: "string",
                          title: "Agent Sandbox Browser Network",
                          description: "Per-agent override for sandbox browser Docker network.",
                        },
                        cdpPort: {
                          type: "integer",
                          exclusiveMinimum: 0,
                          maximum: 9007199254740991,
                        },
                        cdpSourceRange: {
                          type: "string",
                          title: "Agent Sandbox Browser CDP Source Port Range",
                          description: "Per-agent override for CDP source CIDR allowlist.",
                        },
                        vncPort: {
                          type: "integer",
                          exclusiveMinimum: 0,
                          maximum: 9007199254740991,
                        },
                        noVncPort: {
                          type: "integer",
                          exclusiveMinimum: 0,
                          maximum: 9007199254740991,
                        },
                        headless: {
                          type: "boolean",
                        },
                        enableNoVnc: {
                          type: "boolean",
                        },
                        allowHostControl: {
                          type: "boolean",
                        },
                        autoStart: {
                          type: "boolean",
                        },
                        autoStartTimeoutMs: {
                          type: "integer",
                          exclusiveMinimum: 0,
                          maximum: 9007199254740991,
                        },
                        binds: {
                          type: "array",
                          items: {
                            type: "string",
                          },
                        },
                      },
                      additionalProperties: false,
                    },
                    prune: {
                      type: "object",
                      properties: {
                        idleHours: {
                          type: "integer",
                          minimum: 0,
                          maximum: 9007199254740991,
                        },
                        maxAgeDays: {
                          type: "integer",
                          minimum: 0,
                          maximum: 9007199254740991,
                        },
                      },
                      additionalProperties: false,
                    },
                  },
                  additionalProperties: false,
                },
                params: {
                  type: "object",
                  propertyNames: {
                    type: "string",
                  },
                  additionalProperties: {},
                },
                tools: {
                  type: "object",
                  properties: {
                    profile: {
                      anyOf: [
                        {
                          type: "string",
                          const: "minimal",
                        },
                        {
                          type: "string",
                          const: "coding",
                        },
                        {
                          type: "string",
                          const: "messaging",
                        },
                        {
                          type: "string",
                          const: "full",
                        },
                      ],
                      title: "Agent Tool Profile",
                      description:
                        "Per-agent override for tool profile selection when one agent needs a different capability baseline. Use this sparingly so policy differences across agents stay intentional and reviewable.",
                    },
                    allow: {
                      type: "array",
                      items: {
                        type: "string",
                      },
                    },
                    alsoAllow: {
                      type: "array",
                      items: {
                        type: "string",
                      },
                      title: "Agent Tool Allowlist Additions",
                      description:
                        "Per-agent additive allowlist for tools on top of global and profile policy. Keep narrow to avoid accidental privilege expansion on specialized agents.",
                    },
                    deny: {
                      type: "array",
                      items: {
                        type: "string",
                      },
                    },
                    byProvider: {
                      type: "object",
                      propertyNames: {
                        type: "string",
                      },
                      additionalProperties: {
                        type: "object",
                        properties: {
                          allow: {
                            type: "array",
                            items: {
                              type: "string",
                            },
                          },
                          alsoAllow: {
                            type: "array",
                            items: {
                              type: "string",
                            },
                          },
                          deny: {
                            type: "array",
                            items: {
                              type: "string",
                            },
                          },
                          profile: {
                            anyOf: [
                              {
                                type: "string",
                                const: "minimal",
                              },
                              {
                                type: "string",
                                const: "coding",
                              },
                              {
                                type: "string",
                                const: "messaging",
                              },
                              {
                                type: "string",
                                const: "full",
                              },
                            ],
                          },
                        },
                        additionalProperties: false,
                      },
                      title: "Agent Tool Policy by Provider",
                      description:
                        "Per-agent provider-specific tool policy overrides for channel-scoped capability control. Use this when a single agent needs tighter restrictions on one provider than others.",
                    },
                    elevated: {
                      type: "object",
                      properties: {
                        enabled: {
                          type: "boolean",
                        },
                        allowFrom: {
                          type: "object",
                          propertyNames: {
                            type: "string",
                          },
                          additionalProperties: {
                            type: "array",
                            items: {
                              anyOf: [
                                {
                                  type: "string",
                                },
                                {
                                  type: "number",
                                },
                              ],
                            },
                          },
                        },
                      },
                      additionalProperties: false,
                    },
                    exec: {
                      type: "object",
                      properties: {
                        host: {
                          type: "string",
                          enum: ["auto", "sandbox", "gateway", "node"],
                        },
                        security: {
                          type: "string",
                          enum: ["deny", "allowlist", "full"],
                        },
                        ask: {
                          type: "string",
                          enum: ["off", "on-miss", "always"],
                        },
                        node: {
                          type: "string",
                        },
                        pathPrepend: {
                          type: "array",
                          items: {
                            type: "string",
                          },
                        },
                        safeBins: {
                          type: "array",
                          items: {
                            type: "string",
                          },
                        },
                        strictInlineEval: {
                          type: "boolean",
                        },
                        safeBinTrustedDirs: {
                          type: "array",
                          items: {
                            type: "string",
                          },
                        },
                        safeBinProfiles: {
                          type: "object",
                          propertyNames: {
                            type: "string",
                          },
                          additionalProperties: {
                            type: "object",
                            properties: {
                              minPositional: {
                                type: "integer",
                                minimum: 0,
                                maximum: 9007199254740991,
                              },
                              maxPositional: {
                                type: "integer",
                                minimum: 0,
                                maximum: 9007199254740991,
                              },
                              allowedValueFlags: {
                                type: "array",
                                items: {
                                  type: "string",
                                },
                              },
                              deniedFlags: {
                                type: "array",
                                items: {
                                  type: "string",
                                },
                              },
                            },
                            additionalProperties: false,
                          },
                        },
                        backgroundMs: {
                          type: "integer",
                          exclusiveMinimum: 0,
                          maximum: 9007199254740991,
                        },
                        timeoutSec: {
                          type: "integer",
                          exclusiveMinimum: 0,
                          maximum: 9007199254740991,
                        },
                        cleanupMs: {
                          type: "integer",
                          exclusiveMinimum: 0,
                          maximum: 9007199254740991,
                        },
                        notifyOnExit: {
                          type: "boolean",
                        },
                        notifyOnExitEmptySuccess: {
                          type: "boolean",
                        },
                        applyPatch: {
                          type: "object",
                          properties: {
                            enabled: {
                              type: "boolean",
                            },
                            workspaceOnly: {
                              type: "boolean",
                            },
                            allowModels: {
                              type: "array",
                              items: {
                                type: "string",
                              },
                            },
                          },
                          additionalProperties: false,
                        },
                        approvalRunningNoticeMs: {
                          type: "integer",
                          minimum: 0,
                          maximum: 9007199254740991,
                        },
                      },
                      additionalProperties: false,
                    },
                    fs: {
                      type: "object",
                      properties: {
                        workspaceOnly: {
                          type: "boolean",
                        },
                      },
                      additionalProperties: false,
                    },
                    loopDetection: {
                      type: "object",
                      properties: {
                        enabled: {
                          type: "boolean",
                        },
                        historySize: {
                          type: "integer",
                          exclusiveMinimum: 0,
                          maximum: 9007199254740991,
                        },
                        warningThreshold: {
                          type: "integer",
                          exclusiveMinimum: 0,
                          maximum: 9007199254740991,
                        },
                        unknownToolThreshold: {
                          type: "integer",
                          exclusiveMinimum: 0,
                          maximum: 9007199254740991,
                        },
                        criticalThreshold: {
                          type: "integer",
                          exclusiveMinimum: 0,
                          maximum: 9007199254740991,
                        },
                        globalCircuitBreakerThreshold: {
                          type: "integer",
                          exclusiveMinimum: 0,
                          maximum: 9007199254740991,
                        },
                        detectors: {
                          type: "object",
                          properties: {
                            genericRepeat: {
                              type: "boolean",
                            },
                            knownPollNoProgress: {
                              type: "boolean",
                            },
                            pingPong: {
                              type: "boolean",
                            },
                          },
                          additionalProperties: false,
                        },
                      },
                      additionalProperties: false,
                    },
                    sandbox: {
                      type: "object",
                      properties: {
                        tools: {
                          type: "object",
                          properties: {
                            allow: {
                              type: "array",
                              items: {
                                type: "string",
                              },
                            },
                            alsoAllow: {
                              type: "array",
                              items: {
                                type: "string",
                              },
                            },
                            deny: {
                              type: "array",
                              items: {
                                type: "string",
                              },
                            },
                          },
                          additionalProperties: false,
                        },
                      },
                      additionalProperties: false,
                    },
                  },
                  additionalProperties: false,
                },
                runtime: {
                  anyOf: [
                    {
                      type: "object",
                      properties: {
                        type: {
                          type: "string",
                          const: "embedded",
                          title: "Agent Runtime Type",
                          description:
                            'Runtime type for this agent: "embedded" (default OpenClaw runtime) or "acp" (ACP harness defaults).',
                        },
                      },
                      required: ["type"],
                      additionalProperties: false,
                    },
                    {
                      type: "object",
                      properties: {
                        type: {
                          type: "string",
                          const: "acp",
                          title: "Agent Runtime Type",
                          description:
                            'Runtime type for this agent: "embedded" (default OpenClaw runtime) or "acp" (ACP harness defaults).',
                        },
                        acp: {
                          type: "object",
                          properties: {
                            agent: {
                              type: "string",
                              title: "Agent ACP Harness Agent",
                              description:
                                "Optional ACP harness agent id to use for this OpenClaw agent (for example codex, claude, cursor, gemini, openclaw).",
                            },
                            backend: {
                              type: "string",
                              title: "Agent ACP Backend",
                              description:
                                "Optional ACP backend override for this agent's ACP sessions (falls back to global acp.backend).",
                            },
                            mode: {
                              type: "string",
                              enum: ["persistent", "oneshot"],
                              title: "Agent ACP Mode",
                              description:
                                "Optional ACP session mode default for this agent (persistent or oneshot).",
                            },
                            cwd: {
                              type: "string",
                              title: "Agent ACP Working Directory",
                              description:
                                "Optional default working directory for this agent's ACP sessions.",
                            },
                          },
                          additionalProperties: false,
                          title: "Agent ACP Runtime",
                          description:
                            "ACP runtime defaults for this agent when runtime.type=acp. Binding-level ACP overrides still take precedence per conversation.",
                        },
                      },
                      required: ["type"],
                      additionalProperties: false,
                    },
                  ],
                  title: "Agent Runtime",
                  description:
                    "Optional runtime descriptor for this agent. Use embedded for default OpenClaw execution or acp for external ACP harness defaults.",
                },
              },
              required: ["id"],
              additionalProperties: false,
            },
            title: "Agent List",
            description:
              "Explicit list of configured agents with IDs and optional overrides for model, tools, identity, and workspace. Keep IDs stable over time so bindings, approvals, and session routing remain deterministic.",
          },
        },
        additionalProperties: false,
        title: "Agents",
        description:
          "Agent runtime configuration root covering defaults and explicit agent entries used for routing and execution context. Keep this section explicit so model/tool behavior stays predictable across multi-agent workflows.",
      },
      tools: {
        type: "object",
        properties: {
          profile: {
            anyOf: [
              {
                type: "string",
                const: "minimal",
              },
              {
                type: "string",
                const: "coding",
              },
              {
                type: "string",
                const: "messaging",
              },
              {
                type: "string",
                const: "full",
              },
            ],
            title: "Tool Profile",
            description:
              "Global tool profile name used to select a predefined tool policy baseline before applying allow/deny overrides. Use this for consistent environment posture across agents and keep profile names stable.",
          },
          allow: {
            type: "array",
            items: {
              type: "string",
            },
            title: "Tool Allowlist",
            description:
              "Absolute tool allowlist that replaces profile-derived defaults for strict environments. Use this only when you intentionally run a tightly curated subset of tool capabilities.",
          },
          alsoAllow: {
            type: "array",
            items: {
              type: "string",
            },
            title: "Tool Allowlist Additions",
            description:
              "Extra tool allowlist entries merged on top of the selected tool profile and default policy. Keep this list small and explicit so audits can quickly identify intentional policy exceptions.",
          },
          deny: {
            type: "array",
            items: {
              type: "string",
            },
            title: "Tool Denylist",
            description:
              "Global tool denylist that blocks listed tools even when profile or provider rules would allow them. Use deny rules for emergency lockouts and long-term defense-in-depth.",
          },
          byProvider: {
            type: "object",
            propertyNames: {
              type: "string",
            },
            additionalProperties: {
              type: "object",
              properties: {
                allow: {
                  type: "array",
                  items: {
                    type: "string",
                  },
                },
                alsoAllow: {
                  type: "array",
                  items: {
                    type: "string",
                  },
                },
                deny: {
                  type: "array",
                  items: {
                    type: "string",
                  },
                },
                profile: {
                  anyOf: [
                    {
                      type: "string",
                      const: "minimal",
                    },
                    {
                      type: "string",
                      const: "coding",
                    },
                    {
                      type: "string",
                      const: "messaging",
                    },
                    {
                      type: "string",
                      const: "full",
                    },
                  ],
                },
              },
              additionalProperties: false,
            },
            title: "Tool Policy by Provider",
            description:
              "Per-provider tool allow/deny overrides keyed by channel/provider ID to tailor capabilities by surface. Use this when one provider needs stricter controls than global tool policy.",
          },
          web: {
            type: "object",
            properties: {
              search: {
                type: "object",
                properties: {
                  enabled: {
                    type: "boolean",
                    title: "Enable Web Search Tool",
                    description:
                      "Enable managed web_search and optional Codex-native search for eligible models.",
                  },
                  provider: {
                    type: "string",
                    title: "Web Search Provider",
                    description:
                      "Search provider id. Auto-detected from available API keys if omitted.",
                  },
                  maxResults: {
                    type: "integer",
                    exclusiveMinimum: 0,
                    maximum: 9007199254740991,
                    title: "Web Search Max Results",
                    description: "Number of results to return (1-10).",
                  },
                  timeoutSeconds: {
                    type: "integer",
                    exclusiveMinimum: 0,
                    maximum: 9007199254740991,
                    title: "Web Search Timeout (sec)",
                    description: "Timeout in seconds for web_search requests.",
                  },
                  cacheTtlMinutes: {
                    type: "number",
                    minimum: 0,
                    title: "Web Search Cache TTL (min)",
                    description: "Cache TTL in minutes for web_search results.",
                  },
                  apiKey: {
                    anyOf: [
                      {
                        type: "string",
                      },
                      {
                        oneOf: [
                          {
                            type: "object",
                            properties: {
                              source: {
                                type: "string",
                                const: "env",
                              },
                              provider: {
                                type: "string",
                                pattern: "^[a-z][a-z0-9_-]{0,63}$",
                              },
                              id: {
                                type: "string",
                                pattern: "^[A-Z][A-Z0-9_]{0,127}$",
                              },
                            },
                            required: ["source", "provider", "id"],
                            additionalProperties: false,
                          },
                          {
                            type: "object",
                            properties: {
                              source: {
                                type: "string",
                                const: "file",
                              },
                              provider: {
                                type: "string",
                                pattern: "^[a-z][a-z0-9_-]{0,63}$",
                              },
                              id: {
                                type: "string",
                              },
                            },
                            required: ["source", "provider", "id"],
                            additionalProperties: false,
                          },
                          {
                            type: "object",
                            properties: {
                              source: {
                                type: "string",
                                const: "exec",
                              },
                              provider: {
                                type: "string",
                                pattern: "^[a-z][a-z0-9_-]{0,63}$",
                              },
                              id: {
                                type: "string",
                              },
                            },
                            required: ["source", "provider", "id"],
                            additionalProperties: false,
                          },
                        ],
                      },
                    ],
                  },
                  openaiCodex: {
                    type: "object",
                    properties: {
                      enabled: {
                        type: "boolean",
                        title: "Enable Native Codex Web Search",
                        description: "Enable native Codex web search for Codex-capable models.",
                      },
                      mode: {
                        anyOf: [
                          {
                            type: "string",
                            const: "cached",
                          },
                          {
                            type: "string",
                            const: "live",
                          },
                        ],
                        title: "Codex Web Search Mode",
                        description: 'Native Codex web search mode: "cached" (default) or "live".',
                      },
                      allowedDomains: {
                        title: "Codex Allowed Domains",
                        description:
                          "Optional domain allowlist passed to the native Codex web_search tool.",
                      },
                      contextSize: {
                        anyOf: [
                          {
                            type: "string",
                            const: "low",
                          },
                          {
                            type: "string",
                            const: "medium",
                          },
                          {
                            type: "string",
                            const: "high",
                          },
                        ],
                        title: "Codex Search Context Size",
                        description:
                          'Native Codex search context size hint: "low", "medium", or "high".',
                      },
                      userLocation: {},
                    },
                    additionalProperties: false,
                  },
                },
                additionalProperties: false,
              },
              fetch: {
                type: "object",
                properties: {
                  enabled: {
                    type: "boolean",
                    title: "Enable Web Fetch Tool",
                    description: "Enable the web_fetch tool (lightweight HTTP fetch).",
                  },
                  provider: {
                    type: "string",
                    title: "Web Fetch Provider",
                    description: "Web fetch fallback provider id.",
                  },
                  maxChars: {
                    type: "integer",
                    exclusiveMinimum: 0,
                    maximum: 9007199254740991,
                    title: "Web Fetch Max Chars",
                    description: "Max characters returned by web_fetch (truncated).",
                  },
                  maxCharsCap: {
                    type: "integer",
                    exclusiveMinimum: 0,
                    maximum: 9007199254740991,
                    title: "Web Fetch Hard Max Chars",
                    description:
                      "Hard cap for web_fetch maxChars (applies to config and tool calls).",
                  },
                  maxResponseBytes: {
                    type: "integer",
                    exclusiveMinimum: 0,
                    maximum: 9007199254740991,
                    title: "Web Fetch Max Download Size (bytes)",
                    description: "Max download size before truncation.",
                  },
                  timeoutSeconds: {
                    type: "integer",
                    exclusiveMinimum: 0,
                    maximum: 9007199254740991,
                    title: "Web Fetch Timeout (sec)",
                    description: "Timeout in seconds for web_fetch requests.",
                  },
                  cacheTtlMinutes: {
                    type: "number",
                    minimum: 0,
                    title: "Web Fetch Cache TTL (min)",
                    description: "Cache TTL in minutes for web_fetch results.",
                  },
                  maxRedirects: {
                    type: "integer",
                    minimum: 0,
                    maximum: 9007199254740991,
                    title: "Web Fetch Max Redirects",
                    description: "Maximum redirects allowed for web_fetch (default: 3).",
                  },
                  userAgent: {
                    type: "string",
                    title: "Web Fetch User-Agent",
                    description: "Override User-Agent header for web_fetch requests.",
                  },
                  readability: {
                    type: "boolean",
                    title: "Web Fetch Readability Extraction",
                    description:
                      "Use Readability to extract main content from HTML (fallbacks to basic HTML cleanup).",
                  },
                  ssrfPolicy: {
                    type: "object",
                    properties: {
                      allowRfc2544BenchmarkRange: {
                        type: "boolean",
                        title: "Web Fetch Allow RFC 2544 Benchmark Range",
                        description:
                          "Allow RFC 2544 benchmark-range IPs (198.18.0.0/15) for fake-IP proxy compatibility such as Clash or Surge.",
                      },
                    },
                    additionalProperties: false,
                    title: "Web Fetch SSRF Policy",
                    description:
                      "Scoped SSRF policy overrides for web_fetch. Keep this narrow and opt in only for known local-network proxy environments.",
                  },
                  firecrawl: {
                    type: "object",
                    properties: {
                      enabled: {
                        type: "boolean",
                      },
                      apiKey: {
                        anyOf: [
                          {
                            type: "string",
                          },
                          {
                            oneOf: [
                              {
                                type: "object",
                                properties: {
                                  source: {
                                    type: "string",
                                    const: "env",
                                  },
                                  provider: {
                                    type: "string",
                                    pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                  },
                                  id: {
                                    type: "string",
                                    pattern: "^[A-Z][A-Z0-9_]{0,127}$",
                                  },
                                },
                                required: ["source", "provider", "id"],
                                additionalProperties: false,
                              },
                              {
                                type: "object",
                                properties: {
                                  source: {
                                    type: "string",
                                    const: "file",
                                  },
                                  provider: {
                                    type: "string",
                                    pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                  },
                                  id: {
                                    type: "string",
                                  },
                                },
                                required: ["source", "provider", "id"],
                                additionalProperties: false,
                              },
                              {
                                type: "object",
                                properties: {
                                  source: {
                                    type: "string",
                                    const: "exec",
                                  },
                                  provider: {
                                    type: "string",
                                    pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                  },
                                  id: {
                                    type: "string",
                                  },
                                },
                                required: ["source", "provider", "id"],
                                additionalProperties: false,
                              },
                            ],
                          },
                        ],
                      },
                      baseUrl: {
                        type: "string",
                      },
                      onlyMainContent: {
                        type: "boolean",
                      },
                      maxAgeMs: {
                        type: "integer",
                        minimum: 0,
                        maximum: 9007199254740991,
                      },
                      timeoutSeconds: {
                        type: "integer",
                        exclusiveMinimum: 0,
                        maximum: 9007199254740991,
                      },
                    },
                    additionalProperties: false,
                  },
                },
                additionalProperties: false,
              },
              x_search: {
                type: "object",
                properties: {
                  enabled: {
                    type: "boolean",
                  },
                  model: {
                    type: "string",
                  },
                  inlineCitations: {
                    type: "boolean",
                  },
                  maxTurns: {
                    type: "integer",
                    minimum: -9007199254740991,
                    maximum: 9007199254740991,
                  },
                  timeoutSeconds: {
                    type: "integer",
                    exclusiveMinimum: 0,
                    maximum: 9007199254740991,
                  },
                  cacheTtlMinutes: {
                    type: "number",
                    minimum: 0,
                  },
                },
                additionalProperties: false,
              },
            },
            additionalProperties: false,
            title: "Web Tools",
            description:
              "Web-tool policy grouping for search/fetch providers, limits, and fallback behavior tuning. Keep enabled settings aligned with API key availability and outbound networking policy.",
          },
          media: {
            type: "object",
            properties: {
              models: {
                type: "array",
                items: {
                  type: "object",
                  properties: {
                    provider: {
                      type: "string",
                    },
                    model: {
                      type: "string",
                    },
                    capabilities: {
                      type: "array",
                      items: {
                        anyOf: [
                          {
                            type: "string",
                            const: "image",
                          },
                          {
                            type: "string",
                            const: "audio",
                          },
                          {
                            type: "string",
                            const: "video",
                          },
                        ],
                      },
                    },
                    type: {
                      anyOf: [
                        {
                          type: "string",
                          const: "provider",
                        },
                        {
                          type: "string",
                          const: "cli",
                        },
                      ],
                    },
                    command: {
                      type: "string",
                    },
                    args: {
                      type: "array",
                      items: {
                        type: "string",
                      },
                    },
                    maxChars: {
                      type: "integer",
                      exclusiveMinimum: 0,
                      maximum: 9007199254740991,
                    },
                    maxBytes: {
                      type: "integer",
                      exclusiveMinimum: 0,
                      maximum: 9007199254740991,
                    },
                    prompt: {
                      type: "string",
                    },
                    timeoutSeconds: {
                      type: "integer",
                      exclusiveMinimum: 0,
                      maximum: 9007199254740991,
                    },
                    language: {
                      type: "string",
                    },
                    providerOptions: {
                      type: "object",
                      propertyNames: {
                        type: "string",
                      },
                      additionalProperties: {
                        type: "object",
                        propertyNames: {
                          type: "string",
                        },
                        additionalProperties: {
                          anyOf: [
                            {
                              type: "string",
                            },
                            {
                              type: "number",
                            },
                            {
                              type: "boolean",
                            },
                          ],
                        },
                      },
                    },
                    deepgram: {
                      type: "object",
                      properties: {
                        detectLanguage: {
                          type: "boolean",
                        },
                        punctuate: {
                          type: "boolean",
                        },
                        smartFormat: {
                          type: "boolean",
                        },
                      },
                      additionalProperties: false,
                    },
                    baseUrl: {
                      type: "string",
                    },
                    headers: {
                      type: "object",
                      propertyNames: {
                        type: "string",
                      },
                      additionalProperties: {
                        type: "string",
                      },
                    },
                    request: {
                      type: "object",
                      properties: {
                        headers: {
                          type: "object",
                          propertyNames: {
                            type: "string",
                          },
                          additionalProperties: {
                            anyOf: [
                              {
                                type: "string",
                              },
                              {
                                oneOf: [
                                  {
                                    type: "object",
                                    properties: {
                                      source: {
                                        type: "string",
                                        const: "env",
                                      },
                                      provider: {
                                        type: "string",
                                        pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                      },
                                      id: {
                                        type: "string",
                                        pattern: "^[A-Z][A-Z0-9_]{0,127}$",
                                      },
                                    },
                                    required: ["source", "provider", "id"],
                                    additionalProperties: false,
                                  },
                                  {
                                    type: "object",
                                    properties: {
                                      source: {
                                        type: "string",
                                        const: "file",
                                      },
                                      provider: {
                                        type: "string",
                                        pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                      },
                                      id: {
                                        type: "string",
                                      },
                                    },
                                    required: ["source", "provider", "id"],
                                    additionalProperties: false,
                                  },
                                  {
                                    type: "object",
                                    properties: {
                                      source: {
                                        type: "string",
                                        const: "exec",
                                      },
                                      provider: {
                                        type: "string",
                                        pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                      },
                                      id: {
                                        type: "string",
                                      },
                                    },
                                    required: ["source", "provider", "id"],
                                    additionalProperties: false,
                                  },
                                ],
                              },
                            ],
                          },
                        },
                        auth: {
                          anyOf: [
                            {
                              type: "object",
                              properties: {
                                mode: {
                                  type: "string",
                                  const: "provider-default",
                                },
                              },
                              required: ["mode"],
                              additionalProperties: false,
                            },
                            {
                              type: "object",
                              properties: {
                                mode: {
                                  type: "string",
                                  const: "authorization-bearer",
                                },
                                token: {
                                  anyOf: [
                                    {
                                      type: "string",
                                    },
                                    {
                                      oneOf: [
                                        {
                                          type: "object",
                                          properties: {
                                            source: {
                                              type: "string",
                                              const: "env",
                                            },
                                            provider: {
                                              type: "string",
                                              pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                            },
                                            id: {
                                              type: "string",
                                              pattern: "^[A-Z][A-Z0-9_]{0,127}$",
                                            },
                                          },
                                          required: ["source", "provider", "id"],
                                          additionalProperties: false,
                                        },
                                        {
                                          type: "object",
                                          properties: {
                                            source: {
                                              type: "string",
                                              const: "file",
                                            },
                                            provider: {
                                              type: "string",
                                              pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                            },
                                            id: {
                                              type: "string",
                                            },
                                          },
                                          required: ["source", "provider", "id"],
                                          additionalProperties: false,
                                        },
                                        {
                                          type: "object",
                                          properties: {
                                            source: {
                                              type: "string",
                                              const: "exec",
                                            },
                                            provider: {
                                              type: "string",
                                              pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                            },
                                            id: {
                                              type: "string",
                                            },
                                          },
                                          required: ["source", "provider", "id"],
                                          additionalProperties: false,
                                        },
                                      ],
                                    },
                                  ],
                                },
                              },
                              required: ["mode", "token"],
                              additionalProperties: false,
                            },
                            {
                              type: "object",
                              properties: {
                                mode: {
                                  type: "string",
                                  const: "header",
                                },
                                headerName: {
                                  type: "string",
                                  minLength: 1,
                                },
                                value: {
                                  anyOf: [
                                    {
                                      type: "string",
                                    },
                                    {
                                      oneOf: [
                                        {
                                          type: "object",
                                          properties: {
                                            source: {
                                              type: "string",
                                              const: "env",
                                            },
                                            provider: {
                                              type: "string",
                                              pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                            },
                                            id: {
                                              type: "string",
                                              pattern: "^[A-Z][A-Z0-9_]{0,127}$",
                                            },
                                          },
                                          required: ["source", "provider", "id"],
                                          additionalProperties: false,
                                        },
                                        {
                                          type: "object",
                                          properties: {
                                            source: {
                                              type: "string",
                                              const: "file",
                                            },
                                            provider: {
                                              type: "string",
                                              pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                            },
                                            id: {
                                              type: "string",
                                            },
                                          },
                                          required: ["source", "provider", "id"],
                                          additionalProperties: false,
                                        },
                                        {
                                          type: "object",
                                          properties: {
                                            source: {
                                              type: "string",
                                              const: "exec",
                                            },
                                            provider: {
                                              type: "string",
                                              pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                            },
                                            id: {
                                              type: "string",
                                            },
                                          },
                                          required: ["source", "provider", "id"],
                                          additionalProperties: false,
                                        },
                                      ],
                                    },
                                  ],
                                },
                                prefix: {
                                  type: "string",
                                },
                              },
                              required: ["mode", "headerName", "value"],
                              additionalProperties: false,
                            },
                          ],
                        },
                        proxy: {
                          anyOf: [
                            {
                              type: "object",
                              properties: {
                                mode: {
                                  type: "string",
                                  const: "env-proxy",
                                },
                                tls: {
                                  type: "object",
                                  properties: {
                                    ca: {
                                      anyOf: [
                                        {
                                          type: "string",
                                        },
                                        {
                                          oneOf: [
                                            {
                                              type: "object",
                                              properties: {
                                                source: {
                                                  type: "string",
                                                  const: "env",
                                                },
                                                provider: {
                                                  type: "string",
                                                  pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                                },
                                                id: {
                                                  type: "string",
                                                  pattern: "^[A-Z][A-Z0-9_]{0,127}$",
                                                },
                                              },
                                              required: ["source", "provider", "id"],
                                              additionalProperties: false,
                                            },
                                            {
                                              type: "object",
                                              properties: {
                                                source: {
                                                  type: "string",
                                                  const: "file",
                                                },
                                                provider: {
                                                  type: "string",
                                                  pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                                },
                                                id: {
                                                  type: "string",
                                                },
                                              },
                                              required: ["source", "provider", "id"],
                                              additionalProperties: false,
                                            },
                                            {
                                              type: "object",
                                              properties: {
                                                source: {
                                                  type: "string",
                                                  const: "exec",
                                                },
                                                provider: {
                                                  type: "string",
                                                  pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                                },
                                                id: {
                                                  type: "string",
                                                },
                                              },
                                              required: ["source", "provider", "id"],
                                              additionalProperties: false,
                                            },
                                          ],
                                        },
                                      ],
                                    },
                                    cert: {
                                      anyOf: [
                                        {
                                          type: "string",
                                        },
                                        {
                                          oneOf: [
                                            {
                                              type: "object",
                                              properties: {
                                                source: {
                                                  type: "string",
                                                  const: "env",
                                                },
                                                provider: {
                                                  type: "string",
                                                  pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                                },
                                                id: {
                                                  type: "string",
                                                  pattern: "^[A-Z][A-Z0-9_]{0,127}$",
                                                },
                                              },
                                              required: ["source", "provider", "id"],
                                              additionalProperties: false,
                                            },
                                            {
                                              type: "object",
                                              properties: {
                                                source: {
                                                  type: "string",
                                                  const: "file",
                                                },
                                                provider: {
                                                  type: "string",
                                                  pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                                },
                                                id: {
                                                  type: "string",
                                                },
                                              },
                                              required: ["source", "provider", "id"],
                                              additionalProperties: false,
                                            },
                                            {
                                              type: "object",
                                              properties: {
                                                source: {
                                                  type: "string",
                                                  const: "exec",
                                                },
                                                provider: {
                                                  type: "string",
                                                  pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                                },
                                                id: {
                                                  type: "string",
                                                },
                                              },
                                              required: ["source", "provider", "id"],
                                              additionalProperties: false,
                                            },
                                          ],
                                        },
                                      ],
                                    },
                                    key: {
                                      anyOf: [
                                        {
                                          type: "string",
                                        },
                                        {
                                          oneOf: [
                                            {
                                              type: "object",
                                              properties: {
                                                source: {
                                                  type: "string",
                                                  const: "env",
                                                },
                                                provider: {
                                                  type: "string",
                                                  pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                                },
                                                id: {
                                                  type: "string",
                                                  pattern: "^[A-Z][A-Z0-9_]{0,127}$",
                                                },
                                              },
                                              required: ["source", "provider", "id"],
                                              additionalProperties: false,
                                            },
                                            {
                                              type: "object",
                                              properties: {
                                                source: {
                                                  type: "string",
                                                  const: "file",
                                                },
                                                provider: {
                                                  type: "string",
                                                  pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                                },
                                                id: {
                                                  type: "string",
                                                },
                                              },
                                              required: ["source", "provider", "id"],
                                              additionalProperties: false,
                                            },
                                            {
                                              type: "object",
                                              properties: {
                                                source: {
                                                  type: "string",
                                                  const: "exec",
                                                },
                                                provider: {
                                                  type: "string",
                                                  pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                                },
                                                id: {
                                                  type: "string",
                                                },
                                              },
                                              required: ["source", "provider", "id"],
                                              additionalProperties: false,
                                            },
                                          ],
                                        },
                                      ],
                                    },
                                    passphrase: {
                                      anyOf: [
                                        {
                                          type: "string",
                                        },
                                        {
                                          oneOf: [
                                            {
                                              type: "object",
                                              properties: {
                                                source: {
                                                  type: "string",
                                                  const: "env",
                                                },
                                                provider: {
                                                  type: "string",
                                                  pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                                },
                                                id: {
                                                  type: "string",
                                                  pattern: "^[A-Z][A-Z0-9_]{0,127}$",
                                                },
                                              },
                                              required: ["source", "provider", "id"],
                                              additionalProperties: false,
                                            },
                                            {
                                              type: "object",
                                              properties: {
                                                source: {
                                                  type: "string",
                                                  const: "file",
                                                },
                                                provider: {
                                                  type: "string",
                                                  pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                                },
                                                id: {
                                                  type: "string",
                                                },
                                              },
                                              required: ["source", "provider", "id"],
                                              additionalProperties: false,
                                            },
                                            {
                                              type: "object",
                                              properties: {
                                                source: {
                                                  type: "string",
                                                  const: "exec",
                                                },
                                                provider: {
                                                  type: "string",
                                                  pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                                },
                                                id: {
                                                  type: "string",
                                                },
                                              },
                                              required: ["source", "provider", "id"],
                                              additionalProperties: false,
                                            },
                                          ],
                                        },
                                      ],
                                    },
                                    serverName: {
                                      type: "string",
                                    },
                                    insecureSkipVerify: {
                                      type: "boolean",
                                    },
                                  },
                                  additionalProperties: false,
                                },
                              },
                              required: ["mode"],
                              additionalProperties: false,
                            },
                            {
                              type: "object",
                              properties: {
                                mode: {
                                  type: "string",
                                  const: "explicit-proxy",
                                },
                                url: {
                                  type: "string",
                                  minLength: 1,
                                },
                                tls: {
                                  type: "object",
                                  properties: {
                                    ca: {
                                      anyOf: [
                                        {
                                          type: "string",
                                        },
                                        {
                                          oneOf: [
                                            {
                                              type: "object",
                                              properties: {
                                                source: {
                                                  type: "string",
                                                  const: "env",
                                                },
                                                provider: {
                                                  type: "string",
                                                  pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                                },
                                                id: {
                                                  type: "string",
                                                  pattern: "^[A-Z][A-Z0-9_]{0,127}$",
                                                },
                                              },
                                              required: ["source", "provider", "id"],
                                              additionalProperties: false,
                                            },
                                            {
                                              type: "object",
                                              properties: {
                                                source: {
                                                  type: "string",
                                                  const: "file",
                                                },
                                                provider: {
                                                  type: "string",
                                                  pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                                },
                                                id: {
                                                  type: "string",
                                                },
                                              },
                                              required: ["source", "provider", "id"],
                                              additionalProperties: false,
                                            },
                                            {
                                              type: "object",
                                              properties: {
                                                source: {
                                                  type: "string",
                                                  const: "exec",
                                                },
                                                provider: {
                                                  type: "string",
                                                  pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                                },
                                                id: {
                                                  type: "string",
                                                },
                                              },
                                              required: ["source", "provider", "id"],
                                              additionalProperties: false,
                                            },
                                          ],
                                        },
                                      ],
                                    },
                                    cert: {
                                      anyOf: [
                                        {
                                          type: "string",
                                        },
                                        {
                                          oneOf: [
                                            {
                                              type: "object",
                                              properties: {
                                                source: {
                                                  type: "string",
                                                  const: "env",
                                                },
                                                provider: {
                                                  type: "string",
                                                  pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                                },
                                                id: {
                                                  type: "string",
                                                  pattern: "^[A-Z][A-Z0-9_]{0,127}$",
                                                },
                                              },
                                              required: ["source", "provider", "id"],
                                              additionalProperties: false,
                                            },
                                            {
                                              type: "object",
                                              properties: {
                                                source: {
                                                  type: "string",
                                                  const: "file",
                                                },
                                                provider: {
                                                  type: "string",
                                                  pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                                },
                                                id: {
                                                  type: "string",
                                                },
                                              },
                                              required: ["source", "provider", "id"],
                                              additionalProperties: false,
                                            },
                                            {
                                              type: "object",
                                              properties: {
                                                source: {
                                                  type: "string",
                                                  const: "exec",
                                                },
                                                provider: {
                                                  type: "string",
                                                  pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                                },
                                                id: {
                                                  type: "string",
                                                },
                                              },
                                              required: ["source", "provider", "id"],
                                              additionalProperties: false,
                                            },
                                          ],
                                        },
                                      ],
                                    },
                                    key: {
                                      anyOf: [
                                        {
                                          type: "string",
                                        },
                                        {
                                          oneOf: [
                                            {
                                              type: "object",
                                              properties: {
                                                source: {
                                                  type: "string",
                                                  const: "env",
                                                },
                                                provider: {
                                                  type: "string",
                                                  pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                                },
                                                id: {
                                                  type: "string",
                                                  pattern: "^[A-Z][A-Z0-9_]{0,127}$",
                                                },
                                              },
                                              required: ["source", "provider", "id"],
                                              additionalProperties: false,
                                            },
                                            {
                                              type: "object",
                                              properties: {
                                                source: {
                                                  type: "string",
                                                  const: "file",
                                                },
                                                provider: {
                                                  type: "string",
                                                  pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                                },
                                                id: {
                                                  type: "string",
                                                },
                                              },
                                              required: ["source", "provider", "id"],
                                              additionalProperties: false,
                                            },
                                            {
                                              type: "object",
                                              properties: {
                                                source: {
                                                  type: "string",
                                                  const: "exec",
                                                },
                                                provider: {
                                                  type: "string",
                                                  pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                                },
                                                id: {
                                                  type: "string",
                                                },
                                              },
                                              required: ["source", "provider", "id"],
                                              additionalProperties: false,
                                            },
                                          ],
                                        },
                                      ],
                                    },
                                    passphrase: {
                                      anyOf: [
                                        {
                                          type: "string",
                                        },
                                        {
                                          oneOf: [
                                            {
                                              type: "object",
                                              properties: {
                                                source: {
                                                  type: "string",
                                                  const: "env",
                                                },
                                                provider: {
                                                  type: "string",
                                                  pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                                },
                                                id: {
                                                  type: "string",
                                                  pattern: "^[A-Z][A-Z0-9_]{0,127}$",
                                                },
                                              },
                                              required: ["source", "provider", "id"],
                                              additionalProperties: false,
                                            },
                                            {
                                              type: "object",
                                              properties: {
                                                source: {
                                                  type: "string",
                                                  const: "file",
                                                },
                                                provider: {
                                                  type: "string",
                                                  pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                                },
                                                id: {
                                                  type: "string",
                                                },
                                              },
                                              required: ["source", "provider", "id"],
                                              additionalProperties: false,
                                            },
                                            {
                                              type: "object",
                                              properties: {
                                                source: {
                                                  type: "string",
                                                  const: "exec",
                                                },
                                                provider: {
                                                  type: "string",
                                                  pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                                },
                                                id: {
                                                  type: "string",
                                                },
                                              },
                                              required: ["source", "provider", "id"],
                                              additionalProperties: false,
                                            },
                                          ],
                                        },
                                      ],
                                    },
                                    serverName: {
                                      type: "string",
                                    },
                                    insecureSkipVerify: {
                                      type: "boolean",
                                    },
                                  },
                                  additionalProperties: false,
                                },
                              },
                              required: ["mode", "url"],
                              additionalProperties: false,
                            },
                          ],
                        },
                        tls: {
                          type: "object",
                          properties: {
                            ca: {
                              anyOf: [
                                {
                                  type: "string",
                                },
                                {
                                  oneOf: [
                                    {
                                      type: "object",
                                      properties: {
                                        source: {
                                          type: "string",
                                          const: "env",
                                        },
                                        provider: {
                                          type: "string",
                                          pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                        },
                                        id: {
                                          type: "string",
                                          pattern: "^[A-Z][A-Z0-9_]{0,127}$",
                                        },
                                      },
                                      required: ["source", "provider", "id"],
                                      additionalProperties: false,
                                    },
                                    {
                                      type: "object",
                                      properties: {
                                        source: {
                                          type: "string",
                                          const: "file",
                                        },
                                        provider: {
                                          type: "string",
                                          pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                        },
                                        id: {
                                          type: "string",
                                        },
                                      },
                                      required: ["source", "provider", "id"],
                                      additionalProperties: false,
                                    },
                                    {
                                      type: "object",
                                      properties: {
                                        source: {
                                          type: "string",
                                          const: "exec",
                                        },
                                        provider: {
                                          type: "string",
                                          pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                        },
                                        id: {
                                          type: "string",
                                        },
                                      },
                                      required: ["source", "provider", "id"],
                                      additionalProperties: false,
                                    },
                                  ],
                                },
                              ],
                            },
                            cert: {
                              anyOf: [
                                {
                                  type: "string",
                                },
                                {
                                  oneOf: [
                                    {
                                      type: "object",
                                      properties: {
                                        source: {
                                          type: "string",
                                          const: "env",
                                        },
                                        provider: {
                                          type: "string",
                                          pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                        },
                                        id: {
                                          type: "string",
                                          pattern: "^[A-Z][A-Z0-9_]{0,127}$",
                                        },
                                      },
                                      required: ["source", "provider", "id"],
                                      additionalProperties: false,
                                    },
                                    {
                                      type: "object",
                                      properties: {
                                        source: {
                                          type: "string",
                                          const: "file",
                                        },
                                        provider: {
                                          type: "string",
                                          pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                        },
                                        id: {
                                          type: "string",
                                        },
                                      },
                                      required: ["source", "provider", "id"],
                                      additionalProperties: false,
                                    },
                                    {
                                      type: "object",
                                      properties: {
                                        source: {
                                          type: "string",
                                          const: "exec",
                                        },
                                        provider: {
                                          type: "string",
                                          pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                        },
                                        id: {
                                          type: "string",
                                        },
                                      },
                                      required: ["source", "provider", "id"],
                                      additionalProperties: false,
                                    },
                                  ],
                                },
                              ],
                            },
                            key: {
                              anyOf: [
                                {
                                  type: "string",
                                },
                                {
                                  oneOf: [
                                    {
                                      type: "object",
                                      properties: {
                                        source: {
                                          type: "string",
                                          const: "env",
                                        },
                                        provider: {
                                          type: "string",
                                          pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                        },
                                        id: {
                                          type: "string",
                                          pattern: "^[A-Z][A-Z0-9_]{0,127}$",
                                        },
                                      },
                                      required: ["source", "provider", "id"],
                                      additionalProperties: false,
                                    },
                                    {
                                      type: "object",
                                      properties: {
                                        source: {
                                          type: "string",
                                          const: "file",
                                        },
                                        provider: {
                                          type: "string",
                                          pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                        },
                                        id: {
                                          type: "string",
                                        },
                                      },
                                      required: ["source", "provider", "id"],
                                      additionalProperties: false,
                                    },
                                    {
                                      type: "object",
                                      properties: {
                                        source: {
                                          type: "string",
                                          const: "exec",
                                        },
                                        provider: {
                                          type: "string",
                                          pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                        },
                                        id: {
                                          type: "string",
                                        },
                                      },
                                      required: ["source", "provider", "id"],
                                      additionalProperties: false,
                                    },
                                  ],
                                },
                              ],
                            },
                            passphrase: {
                              anyOf: [
                                {
                                  type: "string",
                                },
                                {
                                  oneOf: [
                                    {
                                      type: "object",
                                      properties: {
                                        source: {
                                          type: "string",
                                          const: "env",
                                        },
                                        provider: {
                                          type: "string",
                                          pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                        },
                                        id: {
                                          type: "string",
                                          pattern: "^[A-Z][A-Z0-9_]{0,127}$",
                                        },
                                      },
                                      required: ["source", "provider", "id"],
                                      additionalProperties: false,
                                    },
                                    {
                                      type: "object",
                                      properties: {
                                        source: {
                                          type: "string",
                                          const: "file",
                                        },
                                        provider: {
                                          type: "string",
                                          pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                        },
                                        id: {
                                          type: "string",
                                        },
                                      },
                                      required: ["source", "provider", "id"],
                                      additionalProperties: false,
                                    },
                                    {
                                      type: "object",
                                      properties: {
                                        source: {
                                          type: "string",
                                          const: "exec",
                                        },
                                        provider: {
                                          type: "string",
                                          pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                        },
                                        id: {
                                          type: "string",
                                        },
                                      },
                                      required: ["source", "provider", "id"],
                                      additionalProperties: false,
                                    },
                                  ],
                                },
                              ],
                            },
                            serverName: {
                              type: "string",
                            },
                            insecureSkipVerify: {
                              type: "boolean",
                            },
                          },
                          additionalProperties: false,
                        },
                      },
                      additionalProperties: false,
                    },
                    profile: {
                      type: "string",
                    },
                    preferredProfile: {
                      type: "string",
                    },
                  },
                  additionalProperties: false,
                },
                title: "Media Understanding Shared Models",
                description:
                  "Shared fallback model list used by media understanding tools when modality-specific model lists are not set. Keep this aligned with available multimodal providers to avoid runtime fallback churn.",
              },
              concurrency: {
                type: "integer",
                exclusiveMinimum: 0,
                maximum: 9007199254740991,
                title: "Media Understanding Concurrency",
                description:
                  "Maximum number of concurrent media understanding operations per turn across image, audio, and video tasks. Lower this in resource-constrained deployments to prevent CPU/network saturation.",
              },
              asyncCompletion: {
                type: "object",
                properties: {
                  directSend: {
                    type: "boolean",
                    title: "Async Media Completion Direct Send",
                    description:
                      "Enable direct channel sends for completed async music/video generation tasks instead of relying on the requester session wake path. Default off so detached media completion keeps the legacy model-delivery flow unless you opt in.",
                  },
                },
                additionalProperties: false,
              },
              image: {
                type: "object",
                properties: {
                  enabled: {
                    type: "boolean",
                    title: "Enable Image Understanding",
                    description:
                      "Enable image understanding so attached or referenced images can be interpreted into textual context. Disable if you need text-only operation or want to avoid image-processing cost.",
                  },
                  scope: {
                    type: "object",
                    properties: {
                      default: {
                        anyOf: [
                          {
                            type: "string",
                            const: "allow",
                          },
                          {
                            type: "string",
                            const: "deny",
                          },
                        ],
                      },
                      rules: {
                        type: "array",
                        items: {
                          type: "object",
                          properties: {
                            action: {
                              anyOf: [
                                {
                                  type: "string",
                                  const: "allow",
                                },
                                {
                                  type: "string",
                                  const: "deny",
                                },
                              ],
                            },
                            match: {
                              type: "object",
                              properties: {
                                channel: {
                                  type: "string",
                                },
                                chatType: {
                                  anyOf: [
                                    {
                                      type: "string",
                                      const: "direct",
                                    },
                                    {
                                      type: "string",
                                      const: "group",
                                    },
                                    {
                                      type: "string",
                                      const: "channel",
                                    },
                                    {
                                      type: "string",
                                      const: "dm",
                                    },
                                  ],
                                },
                                keyPrefix: {
                                  type: "string",
                                },
                                rawKeyPrefix: {
                                  type: "string",
                                },
                              },
                              additionalProperties: false,
                            },
                          },
                          required: ["action"],
                          additionalProperties: false,
                        },
                      },
                    },
                    additionalProperties: false,
                    title: "Image Understanding Scope",
                    description:
                      "Scope selector for when image understanding is attempted (for example only explicit requests versus broader auto-detection). Keep narrow scope in busy channels to control token and API spend.",
                  },
                  maxBytes: {
                    type: "integer",
                    exclusiveMinimum: 0,
                    maximum: 9007199254740991,
                    title: "Image Understanding Max Bytes",
                    description:
                      "Maximum accepted image payload size in bytes before the item is skipped or truncated by policy. Keep limits realistic for your provider caps and infrastructure bandwidth.",
                  },
                  maxChars: {
                    type: "integer",
                    exclusiveMinimum: 0,
                    maximum: 9007199254740991,
                    title: "Image Understanding Max Chars",
                    description:
                      "Maximum characters returned from image understanding output after model response normalization. Use tighter limits to reduce prompt bloat and larger limits for detail-heavy OCR tasks.",
                  },
                  prompt: {
                    type: "string",
                    title: "Image Understanding Prompt",
                    description:
                      "Instruction template used for image understanding requests to shape extraction style and detail level. Keep prompts deterministic so outputs stay consistent across turns and channels.",
                  },
                  timeoutSeconds: {
                    type: "integer",
                    exclusiveMinimum: 0,
                    maximum: 9007199254740991,
                    title: "Image Understanding Timeout (sec)",
                    description:
                      "Timeout in seconds for each image understanding request before it is aborted. Increase for high-resolution analysis and lower it for latency-sensitive operator workflows.",
                  },
                  language: {
                    type: "string",
                  },
                  providerOptions: {
                    type: "object",
                    propertyNames: {
                      type: "string",
                    },
                    additionalProperties: {
                      type: "object",
                      propertyNames: {
                        type: "string",
                      },
                      additionalProperties: {
                        anyOf: [
                          {
                            type: "string",
                          },
                          {
                            type: "number",
                          },
                          {
                            type: "boolean",
                          },
                        ],
                      },
                    },
                  },
                  deepgram: {
                    type: "object",
                    properties: {
                      detectLanguage: {
                        type: "boolean",
                      },
                      punctuate: {
                        type: "boolean",
                      },
                      smartFormat: {
                        type: "boolean",
                      },
                    },
                    additionalProperties: false,
                  },
                  baseUrl: {
                    type: "string",
                  },
                  headers: {
                    type: "object",
                    propertyNames: {
                      type: "string",
                    },
                    additionalProperties: {
                      type: "string",
                    },
                  },
                  request: {
                    type: "object",
                    properties: {
                      headers: {
                        type: "object",
                        propertyNames: {
                          type: "string",
                        },
                        additionalProperties: {
                          anyOf: [
                            {
                              type: "string",
                            },
                            {
                              oneOf: [
                                {
                                  type: "object",
                                  properties: {
                                    source: {
                                      type: "string",
                                      const: "env",
                                    },
                                    provider: {
                                      type: "string",
                                      pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                    },
                                    id: {
                                      type: "string",
                                      pattern: "^[A-Z][A-Z0-9_]{0,127}$",
                                    },
                                  },
                                  required: ["source", "provider", "id"],
                                  additionalProperties: false,
                                },
                                {
                                  type: "object",
                                  properties: {
                                    source: {
                                      type: "string",
                                      const: "file",
                                    },
                                    provider: {
                                      type: "string",
                                      pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                    },
                                    id: {
                                      type: "string",
                                    },
                                  },
                                  required: ["source", "provider", "id"],
                                  additionalProperties: false,
                                },
                                {
                                  type: "object",
                                  properties: {
                                    source: {
                                      type: "string",
                                      const: "exec",
                                    },
                                    provider: {
                                      type: "string",
                                      pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                    },
                                    id: {
                                      type: "string",
                                    },
                                  },
                                  required: ["source", "provider", "id"],
                                  additionalProperties: false,
                                },
                              ],
                            },
                          ],
                        },
                      },
                      auth: {
                        anyOf: [
                          {
                            type: "object",
                            properties: {
                              mode: {
                                type: "string",
                                const: "provider-default",
                              },
                            },
                            required: ["mode"],
                            additionalProperties: false,
                          },
                          {
                            type: "object",
                            properties: {
                              mode: {
                                type: "string",
                                const: "authorization-bearer",
                              },
                              token: {
                                anyOf: [
                                  {
                                    type: "string",
                                  },
                                  {
                                    oneOf: [
                                      {
                                        type: "object",
                                        properties: {
                                          source: {
                                            type: "string",
                                            const: "env",
                                          },
                                          provider: {
                                            type: "string",
                                            pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                          },
                                          id: {
                                            type: "string",
                                            pattern: "^[A-Z][A-Z0-9_]{0,127}$",
                                          },
                                        },
                                        required: ["source", "provider", "id"],
                                        additionalProperties: false,
                                      },
                                      {
                                        type: "object",
                                        properties: {
                                          source: {
                                            type: "string",
                                            const: "file",
                                          },
                                          provider: {
                                            type: "string",
                                            pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                          },
                                          id: {
                                            type: "string",
                                          },
                                        },
                                        required: ["source", "provider", "id"],
                                        additionalProperties: false,
                                      },
                                      {
                                        type: "object",
                                        properties: {
                                          source: {
                                            type: "string",
                                            const: "exec",
                                          },
                                          provider: {
                                            type: "string",
                                            pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                          },
                                          id: {
                                            type: "string",
                                          },
                                        },
                                        required: ["source", "provider", "id"],
                                        additionalProperties: false,
                                      },
                                    ],
                                  },
                                ],
                              },
                            },
                            required: ["mode", "token"],
                            additionalProperties: false,
                          },
                          {
                            type: "object",
                            properties: {
                              mode: {
                                type: "string",
                                const: "header",
                              },
                              headerName: {
                                type: "string",
                                minLength: 1,
                              },
                              value: {
                                anyOf: [
                                  {
                                    type: "string",
                                  },
                                  {
                                    oneOf: [
                                      {
                                        type: "object",
                                        properties: {
                                          source: {
                                            type: "string",
                                            const: "env",
                                          },
                                          provider: {
                                            type: "string",
                                            pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                          },
                                          id: {
                                            type: "string",
                                            pattern: "^[A-Z][A-Z0-9_]{0,127}$",
                                          },
                                        },
                                        required: ["source", "provider", "id"],
                                        additionalProperties: false,
                                      },
                                      {
                                        type: "object",
                                        properties: {
                                          source: {
                                            type: "string",
                                            const: "file",
                                          },
                                          provider: {
                                            type: "string",
                                            pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                          },
                                          id: {
                                            type: "string",
                                          },
                                        },
                                        required: ["source", "provider", "id"],
                                        additionalProperties: false,
                                      },
                                      {
                                        type: "object",
                                        properties: {
                                          source: {
                                            type: "string",
                                            const: "exec",
                                          },
                                          provider: {
                                            type: "string",
                                            pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                          },
                                          id: {
                                            type: "string",
                                          },
                                        },
                                        required: ["source", "provider", "id"],
                                        additionalProperties: false,
                                      },
                                    ],
                                  },
                                ],
                              },
                              prefix: {
                                type: "string",
                              },
                            },
                            required: ["mode", "headerName", "value"],
                            additionalProperties: false,
                          },
                        ],
                      },
                      proxy: {
                        anyOf: [
                          {
                            type: "object",
                            properties: {
                              mode: {
                                type: "string",
                                const: "env-proxy",
                              },
                              tls: {
                                type: "object",
                                properties: {
                                  ca: {
                                    anyOf: [
                                      {
                                        type: "string",
                                      },
                                      {
                                        oneOf: [
                                          {
                                            type: "object",
                                            properties: {
                                              source: {
                                                type: "string",
                                                const: "env",
                                              },
                                              provider: {
                                                type: "string",
                                                pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                              },
                                              id: {
                                                type: "string",
                                                pattern: "^[A-Z][A-Z0-9_]{0,127}$",
                                              },
                                            },
                                            required: ["source", "provider", "id"],
                                            additionalProperties: false,
                                          },
                                          {
                                            type: "object",
                                            properties: {
                                              source: {
                                                type: "string",
                                                const: "file",
                                              },
                                              provider: {
                                                type: "string",
                                                pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                              },
                                              id: {
                                                type: "string",
                                              },
                                            },
                                            required: ["source", "provider", "id"],
                                            additionalProperties: false,
                                          },
                                          {
                                            type: "object",
                                            properties: {
                                              source: {
                                                type: "string",
                                                const: "exec",
                                              },
                                              provider: {
                                                type: "string",
                                                pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                              },
                                              id: {
                                                type: "string",
                                              },
                                            },
                                            required: ["source", "provider", "id"],
                                            additionalProperties: false,
                                          },
                                        ],
                                      },
                                    ],
                                  },
                                  cert: {
                                    anyOf: [
                                      {
                                        type: "string",
                                      },
                                      {
                                        oneOf: [
                                          {
                                            type: "object",
                                            properties: {
                                              source: {
                                                type: "string",
                                                const: "env",
                                              },
                                              provider: {
                                                type: "string",
                                                pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                              },
                                              id: {
                                                type: "string",
                                                pattern: "^[A-Z][A-Z0-9_]{0,127}$",
                                              },
                                            },
                                            required: ["source", "provider", "id"],
                                            additionalProperties: false,
                                          },
                                          {
                                            type: "object",
                                            properties: {
                                              source: {
                                                type: "string",
                                                const: "file",
                                              },
                                              provider: {
                                                type: "string",
                                                pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                              },
                                              id: {
                                                type: "string",
                                              },
                                            },
                                            required: ["source", "provider", "id"],
                                            additionalProperties: false,
                                          },
                                          {
                                            type: "object",
                                            properties: {
                                              source: {
                                                type: "string",
                                                const: "exec",
                                              },
                                              provider: {
                                                type: "string",
                                                pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                              },
                                              id: {
                                                type: "string",
                                              },
                                            },
                                            required: ["source", "provider", "id"],
                                            additionalProperties: false,
                                          },
                                        ],
                                      },
                                    ],
                                  },
                                  key: {
                                    anyOf: [
                                      {
                                        type: "string",
                                      },
                                      {
                                        oneOf: [
                                          {
                                            type: "object",
                                            properties: {
                                              source: {
                                                type: "string",
                                                const: "env",
                                              },
                                              provider: {
                                                type: "string",
                                                pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                              },
                                              id: {
                                                type: "string",
                                                pattern: "^[A-Z][A-Z0-9_]{0,127}$",
                                              },
                                            },
                                            required: ["source", "provider", "id"],
                                            additionalProperties: false,
                                          },
                                          {
                                            type: "object",
                                            properties: {
                                              source: {
                                                type: "string",
                                                const: "file",
                                              },
                                              provider: {
                                                type: "string",
                                                pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                              },
                                              id: {
                                                type: "string",
                                              },
                                            },
                                            required: ["source", "provider", "id"],
                                            additionalProperties: false,
                                          },
                                          {
                                            type: "object",
                                            properties: {
                                              source: {
                                                type: "string",
                                                const: "exec",
                                              },
                                              provider: {
                                                type: "string",
                                                pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                              },
                                              id: {
                                                type: "string",
                                              },
                                            },
                                            required: ["source", "provider", "id"],
                                            additionalProperties: false,
                                          },
                                        ],
                                      },
                                    ],
                                  },
                                  passphrase: {
                                    anyOf: [
                                      {
                                        type: "string",
                                      },
                                      {
                                        oneOf: [
                                          {
                                            type: "object",
                                            properties: {
                                              source: {
                                                type: "string",
                                                const: "env",
                                              },
                                              provider: {
                                                type: "string",
                                                pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                              },
                                              id: {
                                                type: "string",
                                                pattern: "^[A-Z][A-Z0-9_]{0,127}$",
                                              },
                                            },
                                            required: ["source", "provider", "id"],
                                            additionalProperties: false,
                                          },
                                          {
                                            type: "object",
                                            properties: {
                                              source: {
                                                type: "string",
                                                const: "file",
                                              },
                                              provider: {
                                                type: "string",
                                                pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                              },
                                              id: {
                                                type: "string",
                                              },
                                            },
                                            required: ["source", "provider", "id"],
                                            additionalProperties: false,
                                          },
                                          {
                                            type: "object",
                                            properties: {
                                              source: {
                                                type: "string",
                                                const: "exec",
                                              },
                                              provider: {
                                                type: "string",
                                                pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                              },
                                              id: {
                                                type: "string",
                                              },
                                            },
                                            required: ["source", "provider", "id"],
                                            additionalProperties: false,
                                          },
                                        ],
                                      },
                                    ],
                                  },
                                  serverName: {
                                    type: "string",
                                  },
                                  insecureSkipVerify: {
                                    type: "boolean",
                                  },
                                },
                                additionalProperties: false,
                              },
                            },
                            required: ["mode"],
                            additionalProperties: false,
                          },
                          {
                            type: "object",
                            properties: {
                              mode: {
                                type: "string",
                                const: "explicit-proxy",
                              },
                              url: {
                                type: "string",
                                minLength: 1,
                              },
                              tls: {
                                type: "object",
                                properties: {
                                  ca: {
                                    anyOf: [
                                      {
                                        type: "string",
                                      },
                                      {
                                        oneOf: [
                                          {
                                            type: "object",
                                            properties: {
                                              source: {
                                                type: "string",
                                                const: "env",
                                              },
                                              provider: {
                                                type: "string",
                                                pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                              },
                                              id: {
                                                type: "string",
                                                pattern: "^[A-Z][A-Z0-9_]{0,127}$",
                                              },
                                            },
                                            required: ["source", "provider", "id"],
                                            additionalProperties: false,
                                          },
                                          {
                                            type: "object",
                                            properties: {
                                              source: {
                                                type: "string",
                                                const: "file",
                                              },
                                              provider: {
                                                type: "string",
                                                pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                              },
                                              id: {
                                                type: "string",
                                              },
                                            },
                                            required: ["source", "provider", "id"],
                                            additionalProperties: false,
                                          },
                                          {
                                            type: "object",
                                            properties: {
                                              source: {
                                                type: "string",
                                                const: "exec",
                                              },
                                              provider: {
                                                type: "string",
                                                pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                              },
                                              id: {
                                                type: "string",
                                              },
                                            },
                                            required: ["source", "provider", "id"],
                                            additionalProperties: false,
                                          },
                                        ],
                                      },
                                    ],
                                  },
                                  cert: {
                                    anyOf: [
                                      {
                                        type: "string",
                                      },
                                      {
                                        oneOf: [
                                          {
                                            type: "object",
                                            properties: {
                                              source: {
                                                type: "string",
                                                const: "env",
                                              },
                                              provider: {
                                                type: "string",
                                                pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                              },
                                              id: {
                                                type: "string",
                                                pattern: "^[A-Z][A-Z0-9_]{0,127}$",
                                              },
                                            },
                                            required: ["source", "provider", "id"],
                                            additionalProperties: false,
                                          },
                                          {
                                            type: "object",
                                            properties: {
                                              source: {
                                                type: "string",
                                                const: "file",
                                              },
                                              provider: {
                                                type: "string",
                                                pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                              },
                                              id: {
                                                type: "string",
                                              },
                                            },
                                            required: ["source", "provider", "id"],
                                            additionalProperties: false,
                                          },
                                          {
                                            type: "object",
                                            properties: {
                                              source: {
                                                type: "string",
                                                const: "exec",
                                              },
                                              provider: {
                                                type: "string",
                                                pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                              },
                                              id: {
                                                type: "string",
                                              },
                                            },
                                            required: ["source", "provider", "id"],
                                            additionalProperties: false,
                                          },
                                        ],
                                      },
                                    ],
                                  },
                                  key: {
                                    anyOf: [
                                      {
                                        type: "string",
                                      },
                                      {
                                        oneOf: [
                                          {
                                            type: "object",
                                            properties: {
                                              source: {
                                                type: "string",
                                                const: "env",
                                              },
                                              provider: {
                                                type: "string",
                                                pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                              },
                                              id: {
                                                type: "string",
                                                pattern: "^[A-Z][A-Z0-9_]{0,127}$",
                                              },
                                            },
                                            required: ["source", "provider", "id"],
                                            additionalProperties: false,
                                          },
                                          {
                                            type: "object",
                                            properties: {
                                              source: {
                                                type: "string",
                                                const: "file",
                                              },
                                              provider: {
                                                type: "string",
                                                pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                              },
                                              id: {
                                                type: "string",
                                              },
                                            },
                                            required: ["source", "provider", "id"],
                                            additionalProperties: false,
                                          },
                                          {
                                            type: "object",
                                            properties: {
                                              source: {
                                                type: "string",
                                                const: "exec",
                                              },
                                              provider: {
                                                type: "string",
                                                pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                              },
                                              id: {
                                                type: "string",
                                              },
                                            },
                                            required: ["source", "provider", "id"],
                                            additionalProperties: false,
                                          },
                                        ],
                                      },
                                    ],
                                  },
                                  passphrase: {
                                    anyOf: [
                                      {
                                        type: "string",
                                      },
                                      {
                                        oneOf: [
                                          {
                                            type: "object",
                                            properties: {
                                              source: {
                                                type: "string",
                                                const: "env",
                                              },
                                              provider: {
                                                type: "string",
                                                pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                              },
                                              id: {
                                                type: "string",
                                                pattern: "^[A-Z][A-Z0-9_]{0,127}$",
                                              },
                                            },
                                            required: ["source", "provider", "id"],
                                            additionalProperties: false,
                                          },
                                          {
                                            type: "object",
                                            properties: {
                                              source: {
                                                type: "string",
                                                const: "file",
                                              },
                                              provider: {
                                                type: "string",
                                                pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                              },
                                              id: {
                                                type: "string",
                                              },
                                            },
                                            required: ["source", "provider", "id"],
                                            additionalProperties: false,
                                          },
                                          {
                                            type: "object",
                                            properties: {
                                              source: {
                                                type: "string",
                                                const: "exec",
                                              },
                                              provider: {
                                                type: "string",
                                                pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                              },
                                              id: {
                                                type: "string",
                                              },
                                            },
                                            required: ["source", "provider", "id"],
                                            additionalProperties: false,
                                          },
                                        ],
                                      },
                                    ],
                                  },
                                  serverName: {
                                    type: "string",
                                  },
                                  insecureSkipVerify: {
                                    type: "boolean",
                                  },
                                },
                                additionalProperties: false,
                              },
                            },
                            required: ["mode", "url"],
                            additionalProperties: false,
                          },
                        ],
                      },
                      tls: {
                        type: "object",
                        properties: {
                          ca: {
                            anyOf: [
                              {
                                type: "string",
                              },
                              {
                                oneOf: [
                                  {
                                    type: "object",
                                    properties: {
                                      source: {
                                        type: "string",
                                        const: "env",
                                      },
                                      provider: {
                                        type: "string",
                                        pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                      },
                                      id: {
                                        type: "string",
                                        pattern: "^[A-Z][A-Z0-9_]{0,127}$",
                                      },
                                    },
                                    required: ["source", "provider", "id"],
                                    additionalProperties: false,
                                  },
                                  {
                                    type: "object",
                                    properties: {
                                      source: {
                                        type: "string",
                                        const: "file",
                                      },
                                      provider: {
                                        type: "string",
                                        pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                      },
                                      id: {
                                        type: "string",
                                      },
                                    },
                                    required: ["source", "provider", "id"],
                                    additionalProperties: false,
                                  },
                                  {
                                    type: "object",
                                    properties: {
                                      source: {
                                        type: "string",
                                        const: "exec",
                                      },
                                      provider: {
                                        type: "string",
                                        pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                      },
                                      id: {
                                        type: "string",
                                      },
                                    },
                                    required: ["source", "provider", "id"],
                                    additionalProperties: false,
                                  },
                                ],
                              },
                            ],
                          },
                          cert: {
                            anyOf: [
                              {
                                type: "string",
                              },
                              {
                                oneOf: [
                                  {
                                    type: "object",
                                    properties: {
                                      source: {
                                        type: "string",
                                        const: "env",
                                      },
                                      provider: {
                                        type: "string",
                                        pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                      },
                                      id: {
                                        type: "string",
                                        pattern: "^[A-Z][A-Z0-9_]{0,127}$",
                                      },
                                    },
                                    required: ["source", "provider", "id"],
                                    additionalProperties: false,
                                  },
                                  {
                                    type: "object",
                                    properties: {
                                      source: {
                                        type: "string",
                                        const: "file",
                                      },
                                      provider: {
                                        type: "string",
                                        pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                      },
                                      id: {
                                        type: "string",
                                      },
                                    },
                                    required: ["source", "provider", "id"],
                                    additionalProperties: false,
                                  },
                                  {
                                    type: "object",
                                    properties: {
                                      source: {
                                        type: "string",
                                        const: "exec",
                                      },
                                      provider: {
                                        type: "string",
                                        pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                      },
                                      id: {
                                        type: "string",
                                      },
                                    },
                                    required: ["source", "provider", "id"],
                                    additionalProperties: false,
                                  },
                                ],
                              },
                            ],
                          },
                          key: {
                            anyOf: [
                              {
                                type: "string",
                              },
                              {
                                oneOf: [
                                  {
                                    type: "object",
                                    properties: {
                                      source: {
                                        type: "string",
                                        const: "env",
                                      },
                                      provider: {
                                        type: "string",
                                        pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                      },
                                      id: {
                                        type: "string",
                                        pattern: "^[A-Z][A-Z0-9_]{0,127}$",
                                      },
                                    },
                                    required: ["source", "provider", "id"],
                                    additionalProperties: false,
                                  },
                                  {
                                    type: "object",
                                    properties: {
                                      source: {
                                        type: "string",
                                        const: "file",
                                      },
                                      provider: {
                                        type: "string",
                                        pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                      },
                                      id: {
                                        type: "string",
                                      },
                                    },
                                    required: ["source", "provider", "id"],
                                    additionalProperties: false,
                                  },
                                  {
                                    type: "object",
                                    properties: {
                                      source: {
                                        type: "string",
                                        const: "exec",
                                      },
                                      provider: {
                                        type: "string",
                                        pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                      },
                                      id: {
                                        type: "string",
                                      },
                                    },
                                    required: ["source", "provider", "id"],
                                    additionalProperties: false,
                                  },
                                ],
                              },
                            ],
                          },
                          passphrase: {
                            anyOf: [
                              {
                                type: "string",
                              },
                              {
                                oneOf: [
                                  {
                                    type: "object",
                                    properties: {
                                      source: {
                                        type: "string",
                                        const: "env",
                                      },
                                      provider: {
                                        type: "string",
                                        pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                      },
                                      id: {
                                        type: "string",
                                        pattern: "^[A-Z][A-Z0-9_]{0,127}$",
                                      },
                                    },
                                    required: ["source", "provider", "id"],
                                    additionalProperties: false,
                                  },
                                  {
                                    type: "object",
                                    properties: {
                                      source: {
                                        type: "string",
                                        const: "file",
                                      },
                                      provider: {
                                        type: "string",
                                        pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                      },
                                      id: {
                                        type: "string",
                                      },
                                    },
                                    required: ["source", "provider", "id"],
                                    additionalProperties: false,
                                  },
                                  {
                                    type: "object",
                                    properties: {
                                      source: {
                                        type: "string",
                                        const: "exec",
                                      },
                                      provider: {
                                        type: "string",
                                        pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                      },
                                      id: {
                                        type: "string",
                                      },
                                    },
                                    required: ["source", "provider", "id"],
                                    additionalProperties: false,
                                  },
                                ],
                              },
                            ],
                          },
                          serverName: {
                            type: "string",
                          },
                          insecureSkipVerify: {
                            type: "boolean",
                          },
                        },
                        additionalProperties: false,
                      },
                    },
                    additionalProperties: false,
                  },
                  attachments: {
                    type: "object",
                    properties: {
                      mode: {
                        anyOf: [
                          {
                            type: "string",
                            const: "first",
                          },
                          {
                            type: "string",
                            const: "all",
                          },
                        ],
                      },
                      maxAttachments: {
                        type: "integer",
                        exclusiveMinimum: 0,
                        maximum: 9007199254740991,
                      },
                      prefer: {
                        anyOf: [
                          {
                            type: "string",
                            const: "first",
                          },
                          {
                            type: "string",
                            const: "last",
                          },
                          {
                            type: "string",
                            const: "path",
                          },
                          {
                            type: "string",
                            const: "url",
                          },
                        ],
                      },
                    },
                    additionalProperties: false,
                    title: "Image Understanding Attachment Policy",
                    description:
                      "Attachment handling policy for image inputs, including which message attachments qualify for image analysis. Use restrictive settings in untrusted channels to reduce unexpected processing.",
                  },
                  models: {
                    type: "array",
                    items: {
                      type: "object",
                      properties: {
                        provider: {
                          type: "string",
                        },
                        model: {
                          type: "string",
                        },
                        capabilities: {
                          type: "array",
                          items: {
                            anyOf: [
                              {
                                type: "string",
                                const: "image",
                              },
                              {
                                type: "string",
                                const: "audio",
                              },
                              {
                                type: "string",
                                const: "video",
                              },
                            ],
                          },
                        },
                        type: {
                          anyOf: [
                            {
                              type: "string",
                              const: "provider",
                            },
                            {
                              type: "string",
                              const: "cli",
                            },
                          ],
                        },
                        command: {
                          type: "string",
                        },
                        args: {
                          type: "array",
                          items: {
                            type: "string",
                          },
                        },
                        maxChars: {
                          type: "integer",
                          exclusiveMinimum: 0,
                          maximum: 9007199254740991,
                        },
                        maxBytes: {
                          type: "integer",
                          exclusiveMinimum: 0,
                          maximum: 9007199254740991,
                        },
                        prompt: {
                          type: "string",
                        },
                        timeoutSeconds: {
                          type: "integer",
                          exclusiveMinimum: 0,
                          maximum: 9007199254740991,
                        },
                        language: {
                          type: "string",
                        },
                        providerOptions: {
                          type: "object",
                          propertyNames: {
                            type: "string",
                          },
                          additionalProperties: {
                            type: "object",
                            propertyNames: {
                              type: "string",
                            },
                            additionalProperties: {
                              anyOf: [
                                {
                                  type: "string",
                                },
                                {
                                  type: "number",
                                },
                                {
                                  type: "boolean",
                                },
                              ],
                            },
                          },
                        },
                        deepgram: {
                          type: "object",
                          properties: {
                            detectLanguage: {
                              type: "boolean",
                            },
                            punctuate: {
                              type: "boolean",
                            },
                            smartFormat: {
                              type: "boolean",
                            },
                          },
                          additionalProperties: false,
                        },
                        baseUrl: {
                          type: "string",
                        },
                        headers: {
                          type: "object",
                          propertyNames: {
                            type: "string",
                          },
                          additionalProperties: {
                            type: "string",
                          },
                        },
                        request: {
                          type: "object",
                          properties: {
                            headers: {
                              type: "object",
                              propertyNames: {
                                type: "string",
                              },
                              additionalProperties: {
                                anyOf: [
                                  {
                                    type: "string",
                                  },
                                  {
                                    oneOf: [
                                      {
                                        type: "object",
                                        properties: {
                                          source: {
                                            type: "string",
                                            const: "env",
                                          },
                                          provider: {
                                            type: "string",
                                            pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                          },
                                          id: {
                                            type: "string",
                                            pattern: "^[A-Z][A-Z0-9_]{0,127}$",
                                          },
                                        },
                                        required: ["source", "provider", "id"],
                                        additionalProperties: false,
                                      },
                                      {
                                        type: "object",
                                        properties: {
                                          source: {
                                            type: "string",
                                            const: "file",
                                          },
                                          provider: {
                                            type: "string",
                                            pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                          },
                                          id: {
                                            type: "string",
                                          },
                                        },
                                        required: ["source", "provider", "id"],
                                        additionalProperties: false,
                                      },
                                      {
                                        type: "object",
                                        properties: {
                                          source: {
                                            type: "string",
                                            const: "exec",
                                          },
                                          provider: {
                                            type: "string",
                                            pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                          },
                                          id: {
                                            type: "string",
                                          },
                                        },
                                        required: ["source", "provider", "id"],
                                        additionalProperties: false,
                                      },
                                    ],
                                  },
                                ],
                              },
                            },
                            auth: {
                              anyOf: [
                                {
                                  type: "object",
                                  properties: {
                                    mode: {
                                      type: "string",
                                      const: "provider-default",
                                    },
                                  },
                                  required: ["mode"],
                                  additionalProperties: false,
                                },
                                {
                                  type: "object",
                                  properties: {
                                    mode: {
                                      type: "string",
                                      const: "authorization-bearer",
                                    },
                                    token: {
                                      anyOf: [
                                        {
                                          type: "string",
                                        },
                                        {
                                          oneOf: [
                                            {
                                              type: "object",
                                              properties: {
                                                source: {
                                                  type: "string",
                                                  const: "env",
                                                },
                                                provider: {
                                                  type: "string",
                                                  pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                                },
                                                id: {
                                                  type: "string",
                                                  pattern: "^[A-Z][A-Z0-9_]{0,127}$",
                                                },
                                              },
                                              required: ["source", "provider", "id"],
                                              additionalProperties: false,
                                            },
                                            {
                                              type: "object",
                                              properties: {
                                                source: {
                                                  type: "string",
                                                  const: "file",
                                                },
                                                provider: {
                                                  type: "string",
                                                  pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                                },
                                                id: {
                                                  type: "string",
                                                },
                                              },
                                              required: ["source", "provider", "id"],
                                              additionalProperties: false,
                                            },
                                            {
                                              type: "object",
                                              properties: {
                                                source: {
                                                  type: "string",
                                                  const: "exec",
                                                },
                                                provider: {
                                                  type: "string",
                                                  pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                                },
                                                id: {
                                                  type: "string",
                                                },
                                              },
                                              required: ["source", "provider", "id"],
                                              additionalProperties: false,
                                            },
                                          ],
                                        },
                                      ],
                                    },
                                  },
                                  required: ["mode", "token"],
                                  additionalProperties: false,
                                },
                                {
                                  type: "object",
                                  properties: {
                                    mode: {
                                      type: "string",
                                      const: "header",
                                    },
                                    headerName: {
                                      type: "string",
                                      minLength: 1,
                                    },
                                    value: {
                                      anyOf: [
                                        {
                                          type: "string",
                                        },
                                        {
                                          oneOf: [
                                            {
                                              type: "object",
                                              properties: {
                                                source: {
                                                  type: "string",
                                                  const: "env",
                                                },
                                                provider: {
                                                  type: "string",
                                                  pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                                },
                                                id: {
                                                  type: "string",
                                                  pattern: "^[A-Z][A-Z0-9_]{0,127}$",
                                                },
                                              },
                                              required: ["source", "provider", "id"],
                                              additionalProperties: false,
                                            },
                                            {
                                              type: "object",
                                              properties: {
                                                source: {
                                                  type: "string",
                                                  const: "file",
                                                },
                                                provider: {
                                                  type: "string",
                                                  pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                                },
                                                id: {
                                                  type: "string",
                                                },
                                              },
                                              required: ["source", "provider", "id"],
                                              additionalProperties: false,
                                            },
                                            {
                                              type: "object",
                                              properties: {
                                                source: {
                                                  type: "string",
                                                  const: "exec",
                                                },
                                                provider: {
                                                  type: "string",
                                                  pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                                },
                                                id: {
                                                  type: "string",
                                                },
                                              },
                                              required: ["source", "provider", "id"],
                                              additionalProperties: false,
                                            },
                                          ],
                                        },
                                      ],
                                    },
                                    prefix: {
                                      type: "string",
                                    },
                                  },
                                  required: ["mode", "headerName", "value"],
                                  additionalProperties: false,
                                },
                              ],
                            },
                            proxy: {
                              anyOf: [
                                {
                                  type: "object",
                                  properties: {
                                    mode: {
                                      type: "string",
                                      const: "env-proxy",
                                    },
                                    tls: {
                                      type: "object",
                                      properties: {
                                        ca: {
                                          anyOf: [
                                            {
                                              type: "string",
                                            },
                                            {
                                              oneOf: [
                                                {
                                                  type: "object",
                                                  properties: {
                                                    source: {
                                                      type: "string",
                                                      const: "env",
                                                    },
                                                    provider: {
                                                      type: "string",
                                                      pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                                    },
                                                    id: {
                                                      type: "string",
                                                      pattern: "^[A-Z][A-Z0-9_]{0,127}$",
                                                    },
                                                  },
                                                  required: ["source", "provider", "id"],
                                                  additionalProperties: false,
                                                },
                                                {
                                                  type: "object",
                                                  properties: {
                                                    source: {
                                                      type: "string",
                                                      const: "file",
                                                    },
                                                    provider: {
                                                      type: "string",
                                                      pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                                    },
                                                    id: {
                                                      type: "string",
                                                    },
                                                  },
                                                  required: ["source", "provider", "id"],
                                                  additionalProperties: false,
                                                },
                                                {
                                                  type: "object",
                                                  properties: {
                                                    source: {
                                                      type: "string",
                                                      const: "exec",
                                                    },
                                                    provider: {
                                                      type: "string",
                                                      pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                                    },
                                                    id: {
                                                      type: "string",
                                                    },
                                                  },
                                                  required: ["source", "provider", "id"],
                                                  additionalProperties: false,
                                                },
                                              ],
                                            },
                                          ],
                                        },
                                        cert: {
                                          anyOf: [
                                            {
                                              type: "string",
                                            },
                                            {
                                              oneOf: [
                                                {
                                                  type: "object",
                                                  properties: {
                                                    source: {
                                                      type: "string",
                                                      const: "env",
                                                    },
                                                    provider: {
                                                      type: "string",
                                                      pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                                    },
                                                    id: {
                                                      type: "string",
                                                      pattern: "^[A-Z][A-Z0-9_]{0,127}$",
                                                    },
                                                  },
                                                  required: ["source", "provider", "id"],
                                                  additionalProperties: false,
                                                },
                                                {
                                                  type: "object",
                                                  properties: {
                                                    source: {
                                                      type: "string",
                                                      const: "file",
                                                    },
                                                    provider: {
                                                      type: "string",
                                                      pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                                    },
                                                    id: {
                                                      type: "string",
                                                    },
                                                  },
                                                  required: ["source", "provider", "id"],
                                                  additionalProperties: false,
                                                },
                                                {
                                                  type: "object",
                                                  properties: {
                                                    source: {
                                                      type: "string",
                                                      const: "exec",
                                                    },
                                                    provider: {
                                                      type: "string",
                                                      pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                                    },
                                                    id: {
                                                      type: "string",
                                                    },
                                                  },
                                                  required: ["source", "provider", "id"],
                                                  additionalProperties: false,
                                                },
                                              ],
                                            },
                                          ],
                                        },
                                        key: {
                                          anyOf: [
                                            {
                                              type: "string",
                                            },
                                            {
                                              oneOf: [
                                                {
                                                  type: "object",
                                                  properties: {
                                                    source: {
                                                      type: "string",
                                                      const: "env",
                                                    },
                                                    provider: {
                                                      type: "string",
                                                      pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                                    },
                                                    id: {
                                                      type: "string",
                                                      pattern: "^[A-Z][A-Z0-9_]{0,127}$",
                                                    },
                                                  },
                                                  required: ["source", "provider", "id"],
                                                  additionalProperties: false,
                                                },
                                                {
                                                  type: "object",
                                                  properties: {
                                                    source: {
                                                      type: "string",
                                                      const: "file",
                                                    },
                                                    provider: {
                                                      type: "string",
                                                      pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                                    },
                                                    id: {
                                                      type: "string",
                                                    },
                                                  },
                                                  required: ["source", "provider", "id"],
                                                  additionalProperties: false,
                                                },
                                                {
                                                  type: "object",
                                                  properties: {
                                                    source: {
                                                      type: "string",
                                                      const: "exec",
                                                    },
                                                    provider: {
                                                      type: "string",
                                                      pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                                    },
                                                    id: {
                                                      type: "string",
                                                    },
                                                  },
                                                  required: ["source", "provider", "id"],
                                                  additionalProperties: false,
                                                },
                                              ],
                                            },
                                          ],
                                        },
                                        passphrase: {
                                          anyOf: [
                                            {
                                              type: "string",
                                            },
                                            {
                                              oneOf: [
                                                {
                                                  type: "object",
                                                  properties: {
                                                    source: {
                                                      type: "string",
                                                      const: "env",
                                                    },
                                                    provider: {
                                                      type: "string",
                                                      pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                                    },
                                                    id: {
                                                      type: "string",
                                                      pattern: "^[A-Z][A-Z0-9_]{0,127}$",
                                                    },
                                                  },
                                                  required: ["source", "provider", "id"],
                                                  additionalProperties: false,
                                                },
                                                {
                                                  type: "object",
                                                  properties: {
                                                    source: {
                                                      type: "string",
                                                      const: "file",
                                                    },
                                                    provider: {
                                                      type: "string",
                                                      pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                                    },
                                                    id: {
                                                      type: "string",
                                                    },
                                                  },
                                                  required: ["source", "provider", "id"],
                                                  additionalProperties: false,
                                                },
                                                {
                                                  type: "object",
                                                  properties: {
                                                    source: {
                                                      type: "string",
                                                      const: "exec",
                                                    },
                                                    provider: {
                                                      type: "string",
                                                      pattern: "^[a-z][a-z0-9_-]{0,63}$",
                                                    },
                                                    id: {
                                                      type: "string",
                                                    },
                                                  },
                                                  required: ["source", "provider", "id"],
                                                  additionalProperties: false,
                                                },
                                              ],
                                            },
                                          ],
                                        },
                                        serverName: {
                                          type: "string",
                                        },
                                        insecureSkipVerify: {
                                          type: "boolean",
                                        },
                                      },
                                      additionalProperties: false,
                                    },
                                  },
                                  required: ["mode"],
                                  additionalProperties: false,
                                },
                                {
                                  type: "object",
                                  properties: {
                                    mode: {
                                      type: "string",
                                      const: "explicit-proxy",
                                    },
                                    url: {
                                      type: "string",
                                      minLength: 1,
                                    },
                                    tls: {
                                      type: "object",
                                      properties: {
                                        ca: {
                                          anyOf: [
                                            {
                                              type: "string",
                                            },
                                            {
                                              oneOf: [
                                                {
                                                  type: "object",
                                                  properties: {
                                                    source: {
                                                      type: "string",
                                                      const: "env",
                                                    },
--> --------------------

--> maximum size reached

--> --------------------

¤ Dauer der Verarbeitung: 0.927 Sekunden  (vorverarbeitet am  2026-04-27) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge