{
"title": "filesystem.plugins.ViewerRoute",
"description": "One HTTP route a plugin's viewer registers on the host viewer's\nembedded axum server. The full path served is\n`/plugin/<repository>/<self.path>`; on a hit, the body is\nJSON-decoded and forwarded as a `PluginRequest { type: self.type,\nvalue: body }` event to the frontend.",
"type": "object",
"properties": {
"method": {
"description": "HTTP method this route handles. Methods other than the listed\nfive aren't supported (and don't appear in plugin practice).",
"$ref": "filesystem.plugins.HttpMethod"
},
"path": {
"description": "Path relative to the plugin's namespace. Must start with `/`;\nthe host prepends `/plugin/<repository>` before registering.",
"type": "string"
},
"type": {
"description": "String tag forwarded to the plugin's iframe as the `type`\nfield of the resulting `PluginRequest`. Plugin authors pick\nany value they want; the host doesn't interpret it.",
"type": "string"
}
}
}