{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "SettingsDocument",
  "type": "object",
  "properties": {
    "$schema": {
      "type": [
        "string"
      ],
      "default": null
    },
    "lastChangelogVersion": {
      "type": [
        "string"
      ],
      "default": null
    },
    "defaultProvider": {
      "type": [
        "string"
      ],
      "default": null
    },
    "defaultModel": {
      "type": [
        "string"
      ],
      "default": null
    },
    "defaultThinkingLevel": {
      "anyOf": [
        {
          "$ref": "#/$defs/ModelThinkingLevel"
        }
      ],
      "default": null
    },
    "modelThinkingLevels": {
      "type": [
        "object"
      ],
      "additionalProperties": {
        "$ref": "#/$defs/ModelThinkingLevel"
      },
      "default": null
    },
    "transport": {
      "anyOf": [
        {
          "$ref": "#/$defs/Transport"
        }
      ],
      "default": null
    },
    "sessionShareDestination": {
      "description": "Destination used by /share. \"auto\" and \"gist\" create a GitHub gist; \"radius\" is recognized but unsupported and fails explicitly.",
      "anyOf": [
        {
          "$ref": "#/$defs/SessionShareDestination"
        }
      ],
      "default": null
    },
    "steeringMode": {
      "anyOf": [
        {
          "$ref": "#/$defs/QueueModeDocument"
        }
      ],
      "default": null
    },
    "followUpMode": {
      "anyOf": [
        {
          "$ref": "#/$defs/QueueModeDocument"
        }
      ],
      "default": null
    },
    "theme": {
      "type": [
        "string"
      ],
      "default": null
    },
    "compaction": {
      "anyOf": [
        {
          "$ref": "#/$defs/CompactionSettings"
        }
      ],
      "default": null
    },
    "branchSummary": {
      "anyOf": [
        {
          "$ref": "#/$defs/BranchSummarySettings"
        }
      ],
      "default": null
    },
    "retry": {
      "anyOf": [
        {
          "$ref": "#/$defs/RetrySettings"
        }
      ],
      "default": null
    },
    "hideThinkingBlock": {
      "type": [
        "boolean"
      ],
      "default": null
    },
    "showCacheMissNotices": {
      "type": [
        "boolean"
      ],
      "default": null
    },
    "externalEditor": {
      "type": [
        "string"
      ],
      "default": null
    },
    "shellPath": {
      "type": [
        "string"
      ],
      "default": null
    },
    "quietStartup": {
      "anyOf": [
        {
          "$ref": "#/$defs/QuietStartupSetting"
        }
      ],
      "default": null
    },
    "defaultProjectTrust": {
      "anyOf": [
        {
          "$ref": "#/$defs/DefaultProjectTrust"
        }
      ],
      "default": null
    },
    "shellCommandPrefix": {
      "type": [
        "string"
      ],
      "default": null
    },
    "npmCommand": {
      "type": [
        "array"
      ],
      "items": {
        "type": "string"
      },
      "default": null
    },
    "collapseChangelog": {
      "type": [
        "boolean"
      ],
      "default": null
    },
    "enableInstallTelemetry": {
      "type": [
        "boolean"
      ],
      "default": null
    },
    "enableAnalytics": {
      "type": [
        "boolean"
      ],
      "default": null
    },
    "trackingId": {
      "type": [
        "string"
      ],
      "default": null
    },
    "packages": {
      "type": [
        "array"
      ],
      "items": {
        "$ref": "#/$defs/PackageSource"
      },
      "default": null
    },
    "extensions": {
      "type": [
        "array"
      ],
      "items": {
        "type": "string"
      },
      "default": null
    },
    "deviceId": {
      "type": [
        "string"
      ],
      "default": null
    },
    "skills": {
      "anyOf": [
        {
          "$ref": "#/$defs/SkillsSetting"
        }
      ],
      "default": null
    },
    "prompts": {
      "type": [
        "array"
      ],
      "items": {
        "type": "string"
      },
      "default": null
    },
    "themes": {
      "type": [
        "array"
      ],
      "items": {
        "type": "string"
      },
      "default": null
    },
    "enableSkillCommands": {
      "type": [
        "boolean"
      ],
      "default": null
    },
    "terminal": {
      "anyOf": [
        {
          "$ref": "#/$defs/TerminalSettings"
        }
      ],
      "default": null
    },
    "images": {
      "anyOf": [
        {
          "$ref": "#/$defs/ImageSettings"
        }
      ],
      "default": null
    },
    "enabledModels": {
      "type": [
        "array"
      ],
      "items": {
        "type": "string"
      },
      "default": null
    },
    "defaultTools": {
      "type": [
        "array"
      ],
      "items": {
        "type": "string"
      },
      "default": null
    },
    "doubleEscapeAction": {
      "anyOf": [
        {
          "$ref": "#/$defs/DoubleEscapeAction"
        }
      ],
      "default": null
    },
    "treeFilterMode": {
      "anyOf": [
        {
          "$ref": "#/$defs/TreeFilterMode"
        }
      ],
      "default": null
    },
    "thinkingBudgets": {
      "anyOf": [
        {
          "$ref": "#/$defs/ThinkingBudgetsSettings"
        }
      ],
      "default": null
    },
    "editorPaddingX": {
      "type": "number",
      "format": "uint64",
      "minimum": 0,
      "default": null
    },
    "outputPad": {
      "type": "integer",
      "enum": [
        0,
        1
      ]
    },
    "autocompleteMaxVisible": {
      "type": "number",
      "format": "uint64",
      "minimum": 0,
      "default": null
    },
    "showHardwareCursor": {
      "type": [
        "boolean"
      ],
      "default": null
    },
    "markdown": {
      "anyOf": [
        {
          "$ref": "#/$defs/MarkdownSettings"
        }
      ],
      "default": null
    },
    "warnings": {
      "anyOf": [
        {
          "$ref": "#/$defs/WarningSettings"
        }
      ],
      "default": null
    },
    "codemode": {
      "anyOf": [
        {
          "$ref": "#/$defs/CodemodeSettings"
        }
      ],
      "default": null
    },
    "sessionDir": {
      "type": [
        "string"
      ],
      "default": null
    },
    "httpProxy": {
      "type": [
        "string"
      ],
      "default": null
    },
    "httpIdleTimeoutMs": {
      "anyOf": [
        {
          "$ref": "#/$defs/TimeoutSetting"
        }
      ],
      "default": null
    },
    "cacheWarming": {
      "anyOf": [
        {
          "$ref": "#/$defs/CacheWarmingMode"
        }
      ],
      "default": null
    },
    "websocketConnectTimeoutMs": {
      "anyOf": [
        {
          "$ref": "#/$defs/TimeoutSetting"
        }
      ],
      "default": null
    },
    "tuiMode": {
      "anyOf": [
        {
          "$ref": "#/$defs/TuiModeDocument"
        }
      ],
      "default": null
    },
    "fullscreenExitOutput": {
      "anyOf": [
        {
          "$ref": "#/$defs/FullscreenExitOutput"
        }
      ],
      "default": null
    },
    "fullscreenScrollbar": {
      "anyOf": [
        {
          "$ref": "#/$defs/ScrollbarModeDocument"
        }
      ],
      "default": null
    },
    "fullscreenCopyOnSelect": {
      "type": [
        "boolean"
      ],
      "default": null
    },
    "fullscreenWheelScrollLines": {
      "anyOf": [
        {
          "$ref": "#/$defs/WheelScrollLinesSetting"
        }
      ],
      "default": null
    },
    "queueMode": {
      "anyOf": [
        {
          "$ref": "#/$defs/QueueModeDocument"
        }
      ],
      "default": null
    },
    "websockets": {
      "type": [
        "boolean"
      ],
      "default": null
    },
    "usage": {
      "anyOf": [
        {
          "$ref": "#/$defs/UsageDocument"
        }
      ],
      "default": null
    },
    "statusLine": {
      "anyOf": [
        {
          "$ref": "#/$defs/StatusLineDocument"
        }
      ],
      "default": null
    },
    "versionCheckUrl": {
      "type": [
        "string"
      ],
      "default": null
    },
    "telemetryUrl": {
      "type": [
        "string"
      ],
      "default": null
    },
    "modelCatalogUrl": {
      "type": [
        "string"
      ],
      "default": null
    },
    "subagents": {
      "type": [
        "object"
      ],
      "additionalProperties": true,
      "default": null
    }
  },
  "additionalProperties": true,
  "$defs": {
    "ModelThinkingLevel": {
      "description": "`ModelThinkingLevel = \"off\" | ThinkingLevel`.\n\nThis is also the agent-side `ThinkingLevel` of `packages/agent` (which\nincludes \"off\"); `rpi-agent` re-exports it under that name.",
      "type": "string",
      "enum": [
        "off",
        "minimal",
        "low",
        "medium",
        "high",
        "xhigh",
        "max"
      ]
    },
    "Transport": {
      "description": "`Transport = \"sse\" | \"websocket\" | \"websocket-cached\" | \"auto\"`.",
      "type": "string",
      "enum": [
        "sse",
        "websocket",
        "websocket-cached",
        "auto"
      ]
    },
    "SessionShareDestination": {
      "description": "`SessionShareDestination = \"auto\" | \"gist\" | \"radius\"`\n(settings-manager.ts:804-817 @ cea257439). rpi supports the gist backend;\n`radius` is recognized but explicitly unsupported at the command entry.",
      "type": "string",
      "enum": [
        "auto",
        "gist",
        "radius"
      ]
    },
    "QueueModeDocument": {
      "type": "string",
      "enum": [
        "all",
        "one-at-a-time"
      ]
    },
    "CompactionSettings": {
      "description": "`CompactionSettings` (settings-manager.ts:18-21 @ 46bde88a1) — file\nshape; all fields optional, defaults live in the getters.",
      "type": "object",
      "properties": {
        "enabled": {
          "description": "default: true",
          "type": [
            "boolean"
          ],
          "default": null
        },
        "reserveTokens": {
          "description": "default: 16384",
          "type": "integer",
          "format": "uint64",
          "minimum": 0,
          "default": null,
          "maximum": 9007199254740991
        },
        "keepRecentTokens": {
          "description": "default: 20000",
          "type": "integer",
          "format": "uint64",
          "minimum": 0,
          "default": null,
          "maximum": 9007199254740991
        },
        "modelOverrides": {
          "description": "`modelOverrides` (46bde88a1): exact `\"provider/modelId\"` keys —\nthe same per-model key convention as the models.json `modelOverrides`\nface (V15-01 FR-E seam).",
          "type": [
            "object"
          ],
          "additionalProperties": {
            "$ref": "#/$defs/CompactionModelOverride"
          },
          "default": null
        }
      }
    },
    "CompactionModelOverride": {
      "description": "`CompactionModelOverride` (settings-manager.ts:13-16 @ 46bde88a1) —\nfile shape; per-model token budgets keyed by exact `\"provider/modelId\"`\nstrings under `compaction.modelOverrides` (#8133).",
      "type": "object",
      "properties": {
        "reserveTokens": {
          "description": "default: falls through to the ordinary `compaction.reserveTokens`",
          "type": "integer",
          "format": "uint64",
          "minimum": 0,
          "default": null,
          "maximum": 9007199254740991
        },
        "keepRecentTokens": {
          "description": "default: falls through to the ordinary `compaction.keepRecentTokens`",
          "type": "integer",
          "format": "uint64",
          "minimum": 0,
          "default": null,
          "maximum": 9007199254740991
        }
      }
    },
    "BranchSummarySettings": {
      "description": "`BranchSummarySettings` (settings-manager.ts:17-20) — file shape.",
      "type": "object",
      "properties": {
        "reserveTokens": {
          "description": "default: 16384 (tokens reserved for prompt + LLM response)",
          "type": "number",
          "format": "uint64",
          "minimum": 0,
          "default": null
        },
        "skipPrompt": {
          "description": "default: false — when true, skips \"Summarize branch?\" prompt and\ndefaults to no summary",
          "type": [
            "boolean"
          ],
          "default": null
        }
      }
    },
    "RetrySettings": {
      "description": "`RetrySettings` (settings-manager.ts:28-33) — file shape.",
      "type": "object",
      "properties": {
        "enabled": {
          "description": "default: true",
          "type": [
            "boolean"
          ],
          "default": null
        },
        "maxRetries": {
          "description": "default: 3",
          "type": "number",
          "format": "uint64",
          "minimum": 0,
          "default": null
        },
        "baseDelayMs": {
          "description": "default: 2000 (exponential backoff: 2s, 4s, 8s)",
          "type": "number",
          "format": "uint64",
          "minimum": 0,
          "default": null
        },
        "maxAgentDelayMs": {
          "type": "number",
          "format": "uint64",
          "minimum": 0,
          "default": null
        },
        "maxDelayMs": {
          "type": "number",
          "format": "uint64",
          "minimum": 0,
          "default": null
        },
        "provider": {
          "anyOf": [
            {
              "$ref": "#/$defs/ProviderRetrySettings"
            }
          ],
          "default": null
        }
      }
    },
    "ProviderRetrySettings": {
      "description": "`ProviderRetrySettings` (settings-manager.ts:22-26) — file shape.",
      "type": "object",
      "properties": {
        "timeoutMs": {
          "description": "SDK/provider request timeout in milliseconds",
          "type": "number",
          "format": "uint64",
          "minimum": 0,
          "default": null
        },
        "maxRetries": {
          "description": "SDK/provider retry attempts",
          "type": "number",
          "format": "uint64",
          "minimum": 0,
          "default": null
        },
        "maxRetryDelayMs": {
          "description": "default: 60000 (max server-requested delay before failing)",
          "type": "number",
          "format": "uint64",
          "minimum": 0,
          "default": null
        }
      }
    },
    "QuietStartupSetting": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "string",
          "const": "header"
        }
      ]
    },
    "DefaultProjectTrust": {
      "description": "`DefaultProjectTrust = \"ask\" | \"always\" | \"never\"` (settings-manager.ts:62).",
      "type": "string",
      "enum": [
        "ask",
        "always",
        "never"
      ]
    },
    "PackageSource": {
      "description": "`PackageSource` (settings-manager.ts:72-81): string form loads all\nresources from the package; object form filters which resources to load.",
      "anyOf": [
        {
          "description": "Load all resources from the package.",
          "type": "string"
        },
        {
          "description": "Filter which resources to load.",
          "$ref": "#/$defs/PackageSourceFilter"
        }
      ]
    },
    "PackageSourceFilter": {
      "description": "Object form of [`PackageSource`] (settings-manager.ts:74-80).",
      "type": "object",
      "properties": {
        "source": {
          "type": "string",
          "default": ""
        },
        "autoload": {
          "description": "autoload=false: start empty and only apply explicit resource patterns",
          "type": [
            "boolean"
          ]
        },
        "extensions": {
          "type": [
            "array"
          ],
          "items": {
            "type": "string"
          }
        },
        "skills": {
          "type": [
            "array"
          ],
          "items": {
            "type": "string"
          }
        },
        "prompts": {
          "type": [
            "array"
          ],
          "items": {
            "type": "string"
          }
        },
        "themes": {
          "type": [
            "array"
          ],
          "items": {
            "type": "string"
          }
        }
      }
    },
    "SkillsSetting": {
      "anyOf": [
        {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        {
          "$ref": "#/$defs/SkillsLegacySettings"
        }
      ]
    },
    "SkillsLegacySettings": {
      "type": "object",
      "properties": {
        "enableSkillCommands": {
          "type": [
            "boolean"
          ],
          "default": null
        },
        "customDirectories": {
          "type": [
            "array"
          ],
          "items": {
            "type": "string"
          },
          "default": null
        }
      }
    },
    "TerminalSettings": {
      "description": "`TerminalSettings` (settings-manager.ts:35-40) — file shape.",
      "type": "object",
      "properties": {
        "showImages": {
          "description": "default: true (only relevant if terminal supports images)",
          "type": [
            "boolean"
          ],
          "default": null
        },
        "imageWidthCells": {
          "description": "default: 60 (preferred inline image width in terminal cells)",
          "type": "number",
          "format": "uint64",
          "minimum": 0,
          "default": null
        },
        "clearOnShrink": {
          "description": "default: false (clear empty rows when content shrinks)",
          "type": [
            "boolean"
          ],
          "default": null
        },
        "showTerminalProgress": {
          "description": "default: false (OSC 9;4 terminal progress indicators)",
          "type": [
            "boolean"
          ],
          "default": null
        },
        "hyperlinks": {
          "anyOf": [
            {
              "$ref": "#/$defs/BoolOrAutoSetting"
            }
          ],
          "default": null
        },
        "images": {
          "anyOf": [
            {
              "$ref": "#/$defs/TerminalImagesSetting"
            }
          ],
          "default": null
        },
        "trueColor": {
          "anyOf": [
            {
              "$ref": "#/$defs/BoolOrAutoSetting"
            }
          ],
          "default": null
        }
      }
    },
    "BoolOrAutoSetting": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "string",
          "const": "auto"
        }
      ]
    },
    "TerminalImagesSetting": {
      "anyOf": [
        {
          "type": "string",
          "const": "kitty"
        },
        {
          "type": "string",
          "const": "iterm2"
        },
        {
          "type": "string",
          "const": "auto"
        },
        {
          "type": "boolean",
          "const": false
        }
      ]
    },
    "ImageSettings": {
      "description": "`ImageSettings` (settings-manager.ts:42-45) — file shape.",
      "type": "object",
      "properties": {
        "autoResize": {
          "description": "default: true (resize images to 2000x2000 max for better model\ncompatibility)",
          "type": [
            "boolean"
          ],
          "default": null
        },
        "blockImages": {
          "description": "default: false — when true, prevents all images from being sent to\nLLM providers",
          "type": [
            "boolean"
          ],
          "default": null
        }
      }
    },
    "DoubleEscapeAction": {
      "description": "`settings.doubleEscapeAction`: `\"fork\" | \"tree\" | \"none\"`\n(settings-manager.ts:116).",
      "type": "string",
      "enum": [
        "fork",
        "tree",
        "none"
      ]
    },
    "TreeFilterMode": {
      "description": "`settings.treeFilterMode`: `\"default\" | \"no-tools\" | \"user-only\" |\n\"labeled-only\" | \"all\"` (settings-manager.ts:117).",
      "type": "string",
      "enum": [
        "default",
        "no-tools",
        "user-only",
        "labeled-only",
        "all"
      ]
    },
    "ThinkingBudgetsSettings": {
      "description": "`ThinkingBudgetsSettings` (settings-manager.ts:47-52) — file shape.",
      "type": "object",
      "properties": {
        "minimal": {
          "type": "integer",
          "format": "uint64",
          "minimum": 0,
          "default": null
        },
        "low": {
          "type": "integer",
          "format": "uint64",
          "minimum": 0,
          "default": null
        },
        "medium": {
          "type": "integer",
          "format": "uint64",
          "minimum": 0,
          "default": null
        },
        "high": {
          "type": "integer",
          "format": "uint64",
          "minimum": 0,
          "default": null
        }
      }
    },
    "MarkdownSettings": {
      "description": "`MarkdownSettings` (settings-manager.ts:54-56) — file shape.",
      "type": "object",
      "properties": {
        "codeBlockIndent": {
          "description": "default: \"  \"",
          "type": [
            "string"
          ],
          "default": null
        },
        "mermaid": {
          "description": "default: \"streaming\"",
          "anyOf": [
            {
              "$ref": "#/$defs/MermaidRenderingMode"
            }
          ],
          "default": null
        }
      }
    },
    "MermaidRenderingMode": {
      "description": "`MermaidRenderingMode = \"off\" | \"final\" | \"streaming\"`\n(settings-manager.ts:56) — default `\"streaming\"`.",
      "type": "string",
      "enum": [
        "off",
        "final",
        "streaming"
      ]
    },
    "WarningSettings": {
      "description": "`WarningSettings` (settings-manager.ts:58-60) — file shape.",
      "type": "object",
      "properties": {
        "anthropicExtraUsage": {
          "description": "default: true",
          "type": [
            "boolean"
          ],
          "default": null
        }
      }
    },
    "CodemodeSettings": {
      "description": "`CodemodeSettings` (settings-manager.ts:105-108).",
      "type": "object",
      "properties": {
        "mode": {
          "$ref": "#/$defs/CodemodeMode",
          "default": "on"
        },
        "inlineBudget": {
          "description": "Estimated tokens (characters / 4) the codemode description may spend\non tool declarations; `None` = unset (the consumer applies the 3000\ndefault).",
          "type": "number",
          "format": "uint64",
          "minimum": 0,
          "default": null
        }
      }
    },
    "CodemodeMode": {
      "description": "`CodemodeMode = \"on\" | \"only\"` (settings-manager.ts:95-103 @ 8562bcf66):\nhow the codemode tool presents tools while it is active. The key\nregisters here (V16-13 FR-D R1); its presentation behavior is consumed\nby the codemode tool (V16-07).",
      "type": "string",
      "enum": [
        "on",
        "only"
      ]
    },
    "TimeoutSetting": {
      "anyOf": [
        {
          "type": "number",
          "minimum": 0
        },
        {
          "type": "string",
          "const": "disabled"
        }
      ]
    },
    "CacheWarmingMode": {
      "description": "`CacheWarmingMode = \"off\" | \"streaming\" | \"idle\"` (#9668,\nc596d09d9; settings-manager.ts:77-78) — default `\"streaming\"`. Global\nsetting only because each refresh costs money (settings-manager.ts:955).",
      "type": "string",
      "enum": [
        "off",
        "streaming",
        "idle"
      ]
    },
    "TuiModeDocument": {
      "type": "string",
      "enum": [
        "regular",
        "fullscreen"
      ]
    },
    "FullscreenExitOutput": {
      "description": "`FullscreenExitOutput = \"transcript\" | \"resume-hint\"`\n(settings-manager.ts:37, :137, :1140-1148 @ 5446cd754 @ 4181f66).\nDefault `\"transcript\"`.",
      "type": "string",
      "enum": [
        "transcript",
        "resume-hint"
      ]
    },
    "ScrollbarModeDocument": {
      "type": "string",
      "enum": [
        "hidden",
        "auto",
        "always"
      ]
    },
    "WheelScrollLinesSetting": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "const": "auto"
        }
      ]
    },
    "UsageDocument": {
      "type": "object",
      "properties": {
        "providers": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/$defs/UsageProviderSetting"
          },
          "default": {},
          "propertyNames": {
            "minLength": 1
          }
        },
        "timeoutMs": {
          "type": "number",
          "format": "uint64",
          "minimum": 0,
          "default": null
        },
        "enabled": {
          "type": [
            "boolean"
          ],
          "default": null
        },
        "footer": {
          "type": [
            "boolean"
          ],
          "default": null
        },
        "refreshMs": {
          "type": "integer",
          "format": "uint64",
          "minimum": 0,
          "default": null
        },
        "percentage": {
          "anyOf": [
            {
              "$ref": "#/$defs/UsagePercentage"
            }
          ],
          "default": null
        },
        "resetCountdown": {
          "type": [
            "boolean"
          ],
          "default": null
        }
      }
    },
    "UsageProviderSetting": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1
        },
        {
          "$ref": "#/$defs/UsageProviderConfig"
        }
      ]
    },
    "UsageProviderConfig": {
      "description": "`UsageProviderConfig` (V16-05 FR-A; rpi-own): one explicit\n`usage.providers` entry. The string form is the script path shorthand;\nthe object form additionally declares the context fields the host\nforwards to the script (`baseUrl` / `apiKeyEnv` / `model`).",
      "type": "object",
      "properties": {
        "script": {
          "type": "string",
          "minLength": 1,
          "default": ""
        },
        "baseUrl": {
          "type": [
            "string"
          ],
          "default": null
        },
        "apiKeyEnv": {
          "type": [
            "string"
          ],
          "default": null
        },
        "model": {
          "type": [
            "string"
          ],
          "default": null
        }
      }
    },
    "UsagePercentage": {
      "type": "string",
      "enum": [
        "used",
        "remaining"
      ]
    },
    "StatusLineDocument": {
      "type": "object",
      "properties": {
        "type": {
          "$ref": "#/$defs/StatusLineType"
        },
        "command": {
          "type": "string",
          "minLength": 1,
          "pattern": "\\S"
        },
        "items": {
          "type": [
            "array"
          ],
          "items": {
            "type": "string"
          },
          "default": null
        },
        "placement": {
          "anyOf": [
            {
              "$ref": "#/$defs/StatusLinePlacement"
            }
          ],
          "default": null
        },
        "timeoutMs": {
          "type": "integer",
          "format": "uint64",
          "minimum": 0,
          "default": null
        },
        "padding": {
          "type": "integer",
          "format": "uint64",
          "minimum": 0,
          "default": null
        },
        "refreshMs": {
          "type": "integer",
          "format": "uint64",
          "minimum": 0,
          "default": null
        },
        "liveTokens": {
          "anyOf": [
            {
              "$ref": "#/$defs/StatusLineLiveTokens"
            }
          ],
          "default": null
        },
        "separator": {
          "type": [
            "string"
          ],
          "default": null
        },
        "refreshInterval": {
          "type": "integer",
          "format": "uint64",
          "minimum": 0,
          "default": null
        },
        "useColors": {
          "type": [
            "boolean"
          ],
          "default": null
        },
        "numberFormat": {
          "anyOf": [
            {
              "$ref": "#/$defs/StatusLineNumberFormat"
            }
          ],
          "default": null
        }
      },
      "required": [
        "type"
      ],
      "anyOf": [
        {
          "properties": {
            "type": {
              "const": "command"
            }
          },
          "required": [
            "command"
          ]
        },
        {
          "properties": {
            "type": {
              "const": "items"
            }
          }
        }
      ]
    },
    "StatusLineType": {
      "type": "string",
      "enum": [
        "command",
        "items"
      ]
    },
    "StatusLinePlacement": {
      "type": "string",
      "enum": [
        "replace",
        "widget",
        "status"
      ]
    },
    "StatusLineLiveTokens": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "$ref": "#/$defs/StatusLineLiveTokensOptions"
        }
      ]
    },
    "StatusLineLiveTokensOptions": {
      "type": "object",
      "properties": {
        "refreshMs": {
          "type": "integer",
          "format": "uint64",
          "minimum": 0,
          "default": null
        }
      }
    },
    "StatusLineNumberFormat": {
      "type": "string",
      "enum": [
        "compact",
        "exact"
      ]
    }
  },
  "$id": "https://revpi.dev/schemas/settings.schema.json",
  "$comment": "Generated from the rpi typed configuration models by scripts/sync-config-schemas.py. Do not edit it manually; run the script to regenerate."
}
