feat: register trash management capability

This commit is contained in:
mirivlad 2026-07-10 08:42:33 +08:00
parent 5ddf7f2020
commit ad2dd975e7
3 changed files with 8 additions and 0 deletions

View File

@ -56,6 +56,7 @@ entity.file
entity.note
note.registry
file.browser
trash.management
activity.log
activity.provider
activity.reconstruction

View File

@ -43,6 +43,7 @@
{ "name": "entity.note", "description": "Note entity type support", "status": "draft" },
{ "name": "note.registry", "description": "Note metadata registry", "status": "draft" },
{ "name": "file.browser", "description": "File browser tree/list UI", "status": "draft" },
{ "name": "trash.management", "description": "Global deleted-item management UI", "status": "draft" },
{ "name": "activity.log", "description": "Activity event logging", "status": "draft" },
{ "name": "activity.provider", "description": "Activity event provider", "status": "draft" },
{ "name": "activity.reconstruction", "description": "Activity reconstruction from events", "status": "draft" },

View File

@ -71,6 +71,12 @@ describe('VerstakPluginAPI contract', () => {
expect(permissionEnum).toEqual(expect.arrayContaining(['secrets.read', 'secrets.write']));
});
test('trash management capability is declared for global deleted-item surfaces', () => {
const capabilities = ((capabilitiesSchema as any).capabilities || []) as Array<{ name: string; status: string }>;
expect(capabilities).toContainEqual(expect.objectContaining({ name: 'trash.management', status: 'draft' }));
});
test('browser receiver token management is declared as a dangerous platform contract', () => {
const permissions = ((permissionsSchema as any).permissions || []) as Array<{ name: string; dangerous: boolean }>;
const permissionEnum = ((manifestSchema as any).properties.permissions.items.enum || []) as string[];