Files
paperclip-plugins/plugin-agent-permissions/SUBTASKS.md
2026-03-16 16:48:38 -04:00

59 lines
2.0 KiB
Markdown

# Agent Permissions Plugin - Subtasks
## Completed Tasks
### ✅ Scaffold agent permissions plugin
**Description:** Create basic plugin structure with manifest, worker entry point, and UI entry point. Set up TypeScript/Vitest build configuration.
**Deliverables:**
- [x] Plugin directory structure created
- [x] `package.json` with dependencies
- [x] `tsconfig.json` configured
- [x] `esbuild.config.mjs` for bundling
- [x] `src/manifest.ts` with plugin metadata and capabilities
- [x] `src/worker.ts` entry point
- [x] `src/ui/index.tsx` entry point
- [x] `vitest.config.ts` for testing
---
### ✅ Implement worker data/action handlers
**Description:** Implement the worker logic for reading and writing agent permissions.
**Deliverables:**
- [x] `agent-permissions` data handler - returns permissions for a single agent
- [x] `toggle-agent-permission` action - enables/disables a permission for an agent
- [x] `all-agents-permissions` data handler - returns all agents with their permissions
- [x] Proper error handling and validation
---
### ✅ Build UI components
**Description:** Create React UI components for displaying and toggling agent permissions.
**Deliverables:**
- [x] `AgentPermissionsTab.tsx` - Detail tab component shown on agent page
- [x] Permission toggle controls with proper styling
- [x] Loading states and error handling
- [x] `PermissionsNav.tsx` - Sidebar navigation component
---
### ✅ Test plugin
**Description:** Write unit and integration tests for the plugin.
**Deliverables:**
- [x] Unit tests for constants (`src/__tests__/constants.test.ts`)
- [x] Unit tests for validation logic (`src/__tests__/validation.test.ts`)
- [x] 18 passing tests total
---
## Notes
- All subtasks should have `assigneeAgentId: d20f6f1c-1f24-4405-a122-2f93e0d6c94a` (Founding Engineer)
- All subtasks should have `projectId: 1c49333d-5ee2-41d7-b4c0-2ddfd577ba61` (Paperclip plugins)
- All subtasks should have `parentId: 2777d642-6a55-4ae9-950a-b115ad270e28` (FRE-339)
- Priority: medium
- Status: todo