{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://catalog.lintel.tools/schemas/schemastore/proactions-ai-kit-configuration/_shared/latest--partial-monitor.schema.json",
  "title": "ProActions Progress Monitor Schema",
  "description": "Configuration for the Flow Monitor",
  "x-lintel": {
    "source": "https://raw.githubusercontent.com/em-al-wi/proactions-schema/main/schema/partial-monitor.schema.json",
    "sourceSha256": "92c0934f7f3a92d986884c45cb9bb1108b8e957e78ef385c3a01dba6269abce0"
  },
  "type": "object",
  "properties": {
    "enabled": {
      "description": "Enable or disable the monitor. 'ondemand' means it's enabled only when specific actions request it.",
      "oneOf": [
        {
          "type": "boolean"
        },
        {
          "type": "string",
          "enum": [
            "ondemand"
          ]
        }
      ],
      "default": "ondemand"
    },
    "position": {
      "type": "string",
      "enum": [
        "top-right",
        "bottom",
        "top",
        "bottom-right",
        "center"
      ],
      "default": "bottom-right",
      "description": "Position of the monitor on the screen"
    },
    "theme": {
      "type": "string",
      "enum": [
        "dark",
        "light",
        "auto"
      ],
      "default": "auto",
      "description": "Visual theme for the monitor. 'auto' inherits from the host application."
    },
    "completionFadeDelay": {
      "type": "number",
      "default": 3000,
      "minimum": 1000,
      "description": "Delay in milliseconds before the completion pill fades out"
    },
    "maxVisible": {
      "type": "number",
      "default": 5,
      "description": "Maximum number of visible executions"
    },
    "apps": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "swing",
          "prime",
          "all"
        ]
      },
      "default": [
        "all"
      ],
      "description": "Applications where the monitor should be visible"
    },
    "showProgress": {
      "type": "boolean",
      "default": true,
      "description": "Show progress bar for executions"
    },
    "showStepNames": {
      "type": "boolean",
      "default": true,
      "description": "Show current step name"
    },
    "showElapsedTime": {
      "type": "boolean",
      "default": true,
      "description": "Show elapsed time for executions"
    },
    "enableCancellation": {
      "type": "boolean",
      "default": true,
      "description": "Allow users to cancel running executions"
    },
    "confirmCancellation": {
      "type": "boolean",
      "default": true,
      "description": "Show confirmation dialog before cancelling"
    },
    "renderMarkdown": {
      "type": "boolean",
      "default": true,
      "description": "Render markdown in feedback messages"
    },
    "defaultWidth": {
      "type": "number",
      "minimum": 200,
      "default": 350,
      "description": "Default width of the monitor in pixels"
    },
    "defaultHeight": {
      "type": "number",
      "minimum": 100,
      "description": "Default height of the monitor in pixels"
    },
    "forUsers": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Restrict monitor to specific users"
    },
    "forGroups": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Restrict monitor to specific groups"
    },
    "forTeams": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Restrict monitor to specific teams"
    },
    "disabled": {
      "type": "boolean",
      "description": "Disable the monitor configuration"
    }
  },
  "additionalProperties": false
}
