Files
paperclip-plugins/plugin-agent-permissions/SUBTASKS.md
2026-03-15 20:08:10 -04:00

63 lines
2.1 KiB
Markdown

# Agent Permissions Plugin - Subtasks
## Proposed Issue Breakdown
The following subtasks should be created under FRE-339 "Scope a plugin":
### FRE-XXX: 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:**
- Plugin directory structure created
- `package.json` with dependencies
- `tsconfig.json` configured
- `esbuild.config.mjs` for bundling
- `src/manifest.ts` with plugin metadata and capabilities
- `src/worker.ts` entry point (stub)
- `src/ui/index.tsx` entry point (stub)
- `vitest.config.ts` for testing
---
### FRE-XXX: Implement worker data/action handlers
**Description:** Implement the worker logic for reading and writing agent permissions.
**Deliverables:**
- `agent-permissions` data handler - returns permissions for a single agent
- `toggle-agent-permission` action - enables/disables a permission for an agent
- `all-agents-permissions` data handler - returns all agents with their permissions
- Database queries against `principal_permission_grants` and `principals` tables
- Proper error handling and validation
---
### FRE-XXX: Build UI components
**Description:** Create React UI components for displaying and toggling agent permissions.
**Deliverables:**
- `AgentPermissionsTab.tsx` - Detail tab component shown on agent page
- Permission toggle controls with proper styling
- Loading states and error handling
- Integration with Paperclip UI design system
---
### FRE-XXX: Test plugin
**Description:** Write unit and integration tests for the plugin.
**Deliverables:**
- Unit tests for worker data handlers
- Unit tests for action handlers
- Integration tests for UI components
- Test coverage report
---
## 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