47 lines
2.4 KiB
JSON
47 lines
2.4 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"$id": "https://git.mirv.top/verstak/verstak-sdk/schemas/permissions.json",
|
|
"title": "Verstak Permissions Registry",
|
|
"description": "Known runtime permissions and their safety levels",
|
|
"type": "object",
|
|
"properties": {
|
|
"permissions": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/$defs/PermissionEntry"
|
|
}
|
|
}
|
|
},
|
|
"$defs": {
|
|
"PermissionEntry": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": { "type": "string" },
|
|
"description": { "type": "string" },
|
|
"dangerous": {
|
|
"type": "boolean",
|
|
"description": "If true, user must explicitly approve before enabling plugin"
|
|
}
|
|
},
|
|
"required": ["name", "description", "dangerous"]
|
|
}
|
|
},
|
|
"permissions": [
|
|
{ "name": "vault.read", "description": "Read vault files and metadata", "dangerous": false },
|
|
{ "name": "vault.write", "description": "Write vault files and metadata", "dangerous": true },
|
|
{ "name": "vault.watch", "description": "Watch vault file changes", "dangerous": false },
|
|
{ "name": "storage.namespace", "description": "Read/write plugin's own storage namespace", "dangerous": false },
|
|
{ "name": "storage.migrations", "description": "Run database migrations in plugin namespace", "dangerous": false },
|
|
{ "name": "events.publish", "description": "Publish events to the event bus", "dangerous": false },
|
|
{ "name": "events.subscribe", "description": "Subscribe to events on the event bus", "dangerous": false },
|
|
{ "name": "ui.register", "description": "Register UI components and contributions", "dangerous": false },
|
|
{ "name": "commands.register", "description": "Register command palette commands", "dangerous": false },
|
|
{ "name": "network.local", "description": "Connect to localhost network services", "dangerous": false },
|
|
{ "name": "network.remote", "description": "Connect to remote network services", "dangerous": true },
|
|
{ "name": "process.spawn", "description": "Spawn external processes", "dangerous": true },
|
|
{ "name": "secrets.read", "description": "Read secrets from the secret store", "dangerous": true },
|
|
{ "name": "secrets.write", "description": "Write secrets to the secret store", "dangerous": true },
|
|
{ "name": "sync.participate", "description": "Participate in vault sync", "dangerous": true }
|
|
]
|
|
}
|