{
  "id": "desktop",
  "kind": "helper",
  "version": "1.0.6",
  "platforms": [
    "linux",
    "windows",
    "macos"
  ],
  "commands": [
    {
      "name": "desktop.info",
      "description": "Probe desktop helper capability, monitors, and session state",
      "risk_level": "low",
      "input_schema": {
        "additionalProperties": false,
        "properties": {},
        "type": "object"
      },
      "requires_approval": false
    },
    {
      "name": "desktop.screenshot",
      "description": "Capture a display or region as a PNG artifact",
      "risk_level": "high",
      "input_schema": {
        "additionalProperties": false,
        "properties": {
          "display": {
            "minimum": 0,
            "type": "integer"
          },
          "region": {
            "additionalProperties": false,
            "properties": {
              "height": {
                "type": "number"
              },
              "width": {
                "type": "number"
              },
              "x": {
                "type": "number"
              },
              "y": {
                "type": "number"
              }
            },
            "required": [
              "x",
              "y",
              "width",
              "height"
            ],
            "type": "object"
          }
        },
        "type": "object"
      },
      "requires_approval": true
    },
    {
      "name": "desktop.move",
      "description": "Move the mouse cursor",
      "risk_level": "high",
      "input_schema": {
        "additionalProperties": false,
        "properties": {
          "display": {
            "minimum": 0,
            "type": "integer"
          },
          "relative": {
            "type": "boolean"
          },
          "x": {
            "type": "number"
          },
          "y": {
            "type": "number"
          }
        },
        "required": [
          "x",
          "y"
        ],
        "type": "object"
      },
      "requires_approval": true
    },
    {
      "name": "desktop.click",
      "description": "Click the mouse",
      "risk_level": "high",
      "input_schema": {
        "additionalProperties": false,
        "properties": {
          "button": {
            "enum": [
              "left",
              "right",
              "middle"
            ],
            "type": "string"
          },
          "count": {
            "maximum": 3,
            "minimum": 1,
            "type": "integer"
          },
          "display": {
            "minimum": 0,
            "type": "integer"
          },
          "x": {
            "type": "number"
          },
          "y": {
            "type": "number"
          }
        },
        "required": [
          "x",
          "y"
        ],
        "type": "object"
      },
      "requires_approval": true
    },
    {
      "name": "desktop.scroll",
      "description": "Scroll the mouse wheel",
      "risk_level": "high",
      "input_schema": {
        "additionalProperties": false,
        "properties": {
          "delta": {
            "type": "integer"
          },
          "display": {
            "minimum": 0,
            "type": "integer"
          },
          "dx": {
            "type": "integer"
          },
          "dy": {
            "type": "integer"
          },
          "x": {
            "type": "number"
          },
          "y": {
            "type": "number"
          }
        },
        "required": [
          "x",
          "y"
        ],
        "type": "object"
      },
      "requires_approval": true
    },
    {
      "name": "desktop.drag",
      "description": "Drag the mouse from one point to another",
      "risk_level": "high",
      "input_schema": {
        "additionalProperties": false,
        "properties": {
          "button": {
            "enum": [
              "left",
              "right",
              "middle"
            ],
            "type": "string"
          },
          "display": {
            "minimum": 0,
            "type": "integer"
          },
          "duration_ms": {
            "minimum": 0,
            "type": "integer"
          },
          "from": {
            "properties": {
              "x": {
                "type": "number"
              },
              "y": {
                "type": "number"
              }
            },
            "required": [
              "x",
              "y"
            ],
            "type": "object"
          },
          "to": {
            "properties": {
              "x": {
                "type": "number"
              },
              "y": {
                "type": "number"
              }
            },
            "required": [
              "x",
              "y"
            ],
            "type": "object"
          }
        },
        "required": [
          "from",
          "to"
        ],
        "type": "object"
      },
      "requires_approval": true
    },
    {
      "name": "desktop.type",
      "description": "Type Unicode text",
      "risk_level": "high",
      "input_schema": {
        "additionalProperties": false,
        "properties": {
          "delay_ms": {
            "minimum": 0,
            "type": "integer"
          },
          "text": {
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "text"
        ],
        "type": "object"
      },
      "requires_approval": true
    },
    {
      "name": "desktop.key",
      "description": "Press, release, or tap a key combo",
      "risk_level": "high",
      "input_schema": {
        "additionalProperties": false,
        "properties": {
          "action": {
            "enum": [
              "press",
              "release",
              "tap"
            ],
            "type": "string"
          },
          "key": {
            "minLength": 1,
            "type": "string"
          },
          "modifiers": {
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "key"
        ],
        "type": "object"
      },
      "requires_approval": true
    },
    {
      "name": "desktop.clipboard.get",
      "description": "Read clipboard text or image",
      "risk_level": "high",
      "input_schema": {
        "additionalProperties": false,
        "properties": {
          "format": {
            "enum": [
              "text",
              "image"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "requires_approval": true
    },
    {
      "name": "desktop.clipboard.set",
      "description": "Write clipboard text or image",
      "risk_level": "high",
      "input_schema": {
        "additionalProperties": false,
        "properties": {
          "artifact_id": {
            "format": "uuid",
            "type": "string"
          },
          "format": {
            "type": "string"
          },
          "sha256": {
            "type": "string"
          },
          "text": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "requires_approval": true
    },
    {
      "name": "desktop.session.open",
      "description": "Open a persistent desktop capture session",
      "risk_level": "high",
      "input_schema": {
        "additionalProperties": false,
        "properties": {
          "display": {
            "minimum": 0,
            "type": "integer"
          },
          "format": {
            "enum": [
              "png",
              "jpeg"
            ],
            "type": "string"
          },
          "fps": {
            "maximum": 10,
            "minimum": 1,
            "type": "integer"
          },
          "max_duration_secs": {
            "maximum": 3600,
            "minimum": 30,
            "type": "integer"
          },
          "session_id": {
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "requires_approval": true
    },
    {
      "name": "desktop.session.frame",
      "description": "Fetch the latest frame from a desktop session",
      "risk_level": "high",
      "input_schema": {
        "additionalProperties": false,
        "properties": {
          "session_id": {
            "format": "uuid",
            "type": "string"
          }
        },
        "required": [
          "session_id"
        ],
        "type": "object"
      },
      "requires_approval": true
    },
    {
      "name": "desktop.session.input",
      "description": "Send a batch of input events to a desktop session",
      "risk_level": "high",
      "input_schema": {
        "additionalProperties": false,
        "properties": {
          "events": {
            "items": {
              "type": "object"
            },
            "maxItems": 64,
            "minItems": 1,
            "type": "array"
          },
          "session_id": {
            "format": "uuid",
            "type": "string"
          }
        },
        "required": [
          "session_id",
          "events"
        ],
        "type": "object"
      },
      "requires_approval": true
    },
    {
      "name": "desktop.session.close",
      "description": "Close a desktop capture session",
      "risk_level": "high",
      "input_schema": {
        "additionalProperties": false,
        "properties": {
          "session_id": {
            "format": "uuid",
            "type": "string"
          }
        },
        "required": [
          "session_id"
        ],
        "type": "object"
      },
      "requires_approval": true
    },
    {
      "name": "desktop.app.launch",
      "description": "Launch an application in the GUI session",
      "risk_level": "high",
      "input_schema": {
        "additionalProperties": false,
        "properties": {
          "app": {
            "type": "string"
          },
          "args": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "cwd": {
            "type": "string"
          },
          "wait_window_ms": {
            "type": "integer"
          }
        },
        "required": [
          "app"
        ],
        "type": "object"
      },
      "requires_approval": true
    },
    {
      "name": "desktop.window.list",
      "description": "List visible windows in the GUI session",
      "risk_level": "low",
      "input_schema": {
        "additionalProperties": false,
        "properties": {
          "include_hidden": {
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "requires_approval": false
    },
    {
      "name": "desktop.window.focus",
      "description": "Focus a window by id, title, or app",
      "risk_level": "high",
      "input_schema": {
        "additionalProperties": false,
        "properties": {
          "app": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "title": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "requires_approval": true
    },
    {
      "name": "desktop.window.wait",
      "description": "Wait until a matching window appears or is focused",
      "risk_level": "low",
      "input_schema": {
        "additionalProperties": false,
        "properties": {
          "app": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "state": {
            "enum": [
              "visible",
              "focused"
            ],
            "type": "string"
          },
          "timeout_ms": {
            "type": "integer"
          },
          "title": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "requires_approval": false
    },
    {
      "name": "desktop.shell.run",
      "description": "Run an explicit argv process inside the GUI user session",
      "risk_level": "high",
      "input_schema": {
        "additionalProperties": false,
        "properties": {
          "argv": {
            "items": {
              "type": "string"
            },
            "minItems": 1,
            "type": "array"
          },
          "cwd": {
            "type": "string"
          },
          "env": {
            "additionalProperties": {
              "type": "string"
            },
            "type": "object"
          },
          "timeout_secs": {
            "type": "integer"
          }
        },
        "required": [
          "argv"
        ],
        "type": "object"
      },
      "requires_approval": true
    }
  ],
  "mcp": {
    "skills": [
      "desktop-commands"
    ],
    "rules": []
  },
  "artifacts": [
    {
      "filename": "hecate-lampad-desktop_1.0.6_amd64.deb",
      "os": "linux",
      "arch": "x86_64",
      "sha256": "3429299285534dde91a84e6aec66d5a5624d03bf5b2608a71fd232ad604f8ba3",
      "size": 1528582,
      "installer_type": "deb",
      "update_signature": "zqc0q/WnmF9c7QZPrgrWooDl9o0t3nEbuwC72rJSkukN3Yg8tNkUOJry3fB6F3/nxx+VJjpVbFy/j0X6UXZ9Cg=="
    },
    {
      "filename": "hecate-lampad-desktop_1.0.6_macos-aarch64.pkg",
      "os": "macos",
      "arch": "aarch64",
      "sha256": "1ea817d3ddf51a4de96a8d6ddcf13f807cd15a089d42d311a048dfae3f54f8b0",
      "size": 1780619,
      "installer_type": "pkg",
      "update_signature": "o1vvY18Z0Gransv5tbijKt8PttZphA1LGXvurMnukw1tFT//FOieFQ8BCuvWEXBsk7Z138G+sTQCt8iMN9pzAw=="
    },
    {
      "filename": "hecate-lampad-desktop_1.0.6_windows-amd64.msi",
      "os": "windows",
      "arch": "x86_64",
      "sha256": "0f510c46e9ae2f12cafc87c12582741aacce3b7020ae5d46760203f144029224",
      "size": 4939776,
      "installer_type": "msi",
      "update_signature": "RbNxm7gqGzgOXPhB+f6aj94RB+sxTzi9MOPHzeNS/iYICQ0qPdMf/Ze6F3NNyUFC3lrolqNHEPXXLlq7+YqVDw=="
    }
  ],
  "helper": {
    "binary": "hecate-lampad-desktop",
    "privilege": "user",
    "socket": "desktop.sock",
    "tags": [
      "desktop"
    ]
  },
  "depends_on": [
    {
      "id": "agent",
      "min_version": "1.0.0"
    }
  ]
}
