{ "$schema": "http://json-schema.org/draft-07/schema#", "definitions": { "AbsolutePathBuf": { "description": "A path that is guaranteed to be absolute and normalized (though it is not guaranteed to be canonicalized or exist on the filesystem).\n\nIMPORTANT: When deserializing an `AbsolutePathBuf`, a base path must be set using [AbsolutePathBufGuard::new]. If no base path is set, the deserialization will fail unless the path being deserialized is already absolute.", "type": "string" }, "AppSummary": { "description": "EXPERIMENTAL - app metadata summary for plugin responses.", "properties": { "description": { "type": [ "string", "null" ] }, "id": { "type": "string" }, "installUrl": { "type": [ "string", "null" ] }, "name": { "type": "string" } }, "required": [ "id", "name" ], "type": "object" }, "PluginAuthPolicy": { "enum": [ "ON_INSTALL", "ON_USE" ], "type": "string" }, "PluginDetail": { "properties": { "apps": { "items": { "$ref": "#/definitions/AppSummary" }, "type": "array" }, "description": { "type": [ "string", "null" ] }, "marketplaceName": { "type": "string" }, "marketplacePath": { "$ref": "#/definitions/AbsolutePathBuf" }, "mcpServers": { "items": { "type": "string" }, "type": "array" }, "skills": { "items": { "$ref": "#/definitions/SkillSummary" }, "type": "array" }, "summary": { "$ref": "#/definitions/PluginSummary" } }, "required": [ "apps", "marketplaceName", "marketplacePath", "mcpServers", "skills", "summary" ], "type": "object" }, "PluginInstallPolicy": { "enum": [ "NOT_AVAILABLE", "AVAILABLE", "INSTALLED_BY_DEFAULT" ], "type": "string" }, "PluginInterface": { "properties": { "brandColor": { "type": [ "string", "null" ] }, "capabilities": { "items": { "type": "string" }, "type": "array" }, "category": { "type": [ "string", "null" ] }, "composerIcon": { "anyOf": [ { "$ref": "#/definitions/AbsolutePathBuf" }, { "type": "null" } ] }, "defaultPrompt": { "type": [ "string", "null" ] }, "developerName": { "type": [ "string", "null" ] }, "displayName": { "type": [ "string", "null" ] }, "logo": { "anyOf": [ { "$ref": "#/definitions/AbsolutePathBuf" }, { "type": "null" } ] }, "longDescription": { "type": [ "string", "null" ] }, "privacyPolicyUrl": { "type": [ "string", "null" ] }, "screenshots": { "items": { "$ref": "#/definitions/AbsolutePathBuf" }, "type": "array" }, "shortDescription": { "type": [ "string", "null" ] }, "termsOfServiceUrl": { "type": [ "string", "null" ] }, "websiteUrl": { "type": [ "string", "null" ] } }, "required": [ "capabilities", "screenshots" ], "type": "object" }, "PluginSource": { "oneOf": [ { "properties": { "path": { "$ref": "#/definitions/AbsolutePathBuf" }, "type": { "enum": [ "local" ], "title": "LocalPluginSourceType", "type": "string" } }, "required": [ "path", "type" ], "title": "LocalPluginSource", "type": "object" } ] }, "PluginSummary": { "properties": { "authPolicy": { "$ref": "#/definitions/PluginAuthPolicy" }, "enabled": { "type": "boolean" }, "id": { "type": "string" }, "installPolicy": { "$ref": "#/definitions/PluginInstallPolicy" }, "installed": { "type": "boolean" }, "interface": { "anyOf": [ { "$ref": "#/definitions/PluginInterface" }, { "type": "null" } ] }, "name": { "type": "string" }, "source": { "$ref": "#/definitions/PluginSource" } }, "required": [ "authPolicy", "enabled", "id", "installPolicy", "installed", "name", "source" ], "type": "object" }, "SkillInterface": { "properties": { "brandColor": { "type": [ "string", "null" ] }, "defaultPrompt": { "type": [ "string", "null" ] }, "displayName": { "type": [ "string", "null" ] }, "iconLarge": { "type": [ "string", "null" ] }, "iconSmall": { "type": [ "string", "null" ] }, "shortDescription": { "type": [ "string", "null" ] } }, "type": "object" }, "SkillSummary": { "properties": { "description": { "type": "string" }, "interface": { "anyOf": [ { "$ref": "#/definitions/SkillInterface" }, { "type": "null" } ] }, "name": { "type": "string" }, "path": { "type": "string" }, "shortDescription": { "type": [ "string", "null" ] } }, "required": [ "description", "name", "path" ], "type": "object" } }, "properties": { "plugin": { "$ref": "#/definitions/PluginDetail" } }, "required": [ "plugin" ], "title": "PluginReadResponse", "type": "object" }