WASM Plugin Manager Page
Create an Angular page for uploading, managing, and monitoring WebAssembly plugins using the existing wasm_plugin infrastructure (feature-gated with wasm feature).
Backend Endpoints Needed
GET /admin/plugins — List installed plugins
POST /admin/plugins — Upload a new WASM plugin
GET /admin/plugins/{id} — Get plugin details & metadata
DELETE /admin/plugins/{id} — Uninstall a plugin
POST /admin/plugins/{id}/enable — Enable a plugin
POST /admin/plugins/{id}/disable — Disable a plugin
GET /admin/plugins/{id}/stats — Plugin execution stats
UI Requirements
Plugin Catalog
- Grid/Cards: Plugin cards with name, version, author, description
- Status Badge: Active / Inactive / Error
- Search: Filter by name or description
- Sort: By name, install date, or status
Plugin Upload
- File Upload: Drag-and-drop
.wasm file
- Metadata: Name, version, description, author fields
- Permissions: Display what permissions the plugin requests
- Validation: Client-side validation of WASM file size (max 10MB)
Plugin Details
- Info: Name, version, author, permissions
- Stats: Execution count, last execution, average execution time
- Logs: Plugin output/error logs
- Toggle: Enable/disable switch
- Uninstall: Button with confirmation
Integration with Existing
- Plugin is feature-gated behind
wasm feature flag
- Page should show disabled state when feature is not available
Acceptance Criteria
Parent Epic
#290
WASM Plugin Manager Page
Create an Angular page for uploading, managing, and monitoring WebAssembly plugins using the existing
wasm_plugininfrastructure (feature-gated withwasmfeature).Backend Endpoints Needed
UI Requirements
Plugin Catalog
Plugin Upload
.wasmfilePlugin Details
Integration with Existing
wasmfeature flagAcceptance Criteria
Parent Epic
#290