From ad2dd975e7f88746c8a677220e6500ca72287b20 Mon Sep 17 00:00:00 2001 From: mirivlad Date: Fri, 10 Jul 2026 08:42:33 +0800 Subject: [PATCH] feat: register trash management capability --- AGENTS.md | 1 + schemas/capabilities.json | 1 + src/plugin-api.test.ts | 6 ++++++ 3 files changed, 8 insertions(+) diff --git a/AGENTS.md b/AGENTS.md index 70bb648..3e4c7e3 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -56,6 +56,7 @@ entity.file entity.note note.registry file.browser +trash.management activity.log activity.provider activity.reconstruction diff --git a/schemas/capabilities.json b/schemas/capabilities.json index 12c4585..161643d 100644 --- a/schemas/capabilities.json +++ b/schemas/capabilities.json @@ -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" }, diff --git a/src/plugin-api.test.ts b/src/plugin-api.test.ts index a292ac2..ed08878 100644 --- a/src/plugin-api.test.ts +++ b/src/plugin-api.test.ts @@ -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[];