feat: Agent Activity Dashboard (Issue #18)#199
Open
om952 wants to merge 10 commits into
Open
Conversation
- Auto-create GitHub issues from Paperclip issues - Sync status changes bidirectionally (Paperclip ↔ GitHub) - Mirror comments with user attribution [GitHub @username] - Auto-create PRs when issues marked done (empty branch) - Webhook signature verification (HMAC-SHA256) - Timestamp-based conflict resolution (last-write-wins) - Rate limit handling with exponential backoff - State persistence for issue mappings across restarts Closes OpenScanAI#15
- Add README.md with setup, config, and manual testing instructions - Add comprehensive test suite (plugin.test.ts) covering: - Configuration validation - Event handling (issue.created, issue.updated, issue.comment.created) - Status mapping and reverse mapping - Conflict resolution (timestamp-based) - Webhook signature verification - State management - PR creation (branch naming) - Rate limiting - Error handling - Manifest capabilities - Add vitest config and test scripts to package.json
- Add plugins/* to pnpm-workspace.yaml - Fix @paperclipai/plugin-sdk dependency to use workspace:* - Fix rate limiting test to use future timestamp - All 30 tests passing - Typecheck and build passing
- Add integration tests with mocked Octokit (15 tests) - GitHub issue CRUD operations - Branch and PR creation - Webhook signature verification - Sync job batch processing - Rate limit handling - State persistence - Error handling (401, 404, network) - Add ARCHITECTURE.md with: - System overview diagram - Data flow diagrams (push/pull) - State storage schema - Conflict resolution logic - Security model - Rate limiting strategy - Component diagram - Troubleshooting guide - All 45 tests passing
- Add 4 new DB tables: agent_findings, agent_reports, notification_configs, agent_run_tags - Add backend services: findings, reports, notifications, agent-runs, pdf-generator, webhook-sender, daily-digest - Add REST API routes: findings, reports, notifications, agent-runs - Add 6 WebSocket live event types for real-time dashboard updates - Add frontend dashboard with 6 tabs: Overview, Runs, Findings, Reports, Notifications, Bulk Ops - Add PDF report generation via puppeteer-core (EOD, import summary) - Add Telegram and generic webhook notification sender - Add daily digest scheduler - Add bulk operations: GitHub import, enable/disable/terminate, comparison - Add 50 tests (7 test files) all passing - Add feature documentation
- Rename API fields: totalRuns→total, succeededRuns→succeeded, failedRuns→failed - Add running and stuck counts to stats response - Update successRate calculation to use renamed fields - Fix dashboard showing all zeros due to field name mismatch Closes OpenScanAI#18
- Replace non-functional 'Generate Report' button with dialog - Add form for title, type selection, and content - Wire create mutation to reportsApi.create() - Add toast notifications for success/error feedback - Fix type mismatches with ReportType union
- Change generatedBy type from string to string | null in API and UI - Update ReportsPanel to accept nullable generatedBy - Fix PostgreSQL UUID validation error when creating reports - Report creation now works with null generatedBy (system-generated reports) Closes OpenScanAI#18
- Add generatedBy: null to report creation body - Fix type error with explicit type annotation - Ensure frontend sends null instead of omitting field - Server defaults to null when generatedBy is not provided Closes OpenScanAI#18
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Implements the Agent Activity Dashboard for real-time monitoring of agent operations, security findings, reports, and notifications.
Changes
Testing
Typecheck
✅ pnpm -r typecheck passes (0 errors)
Test Results
✅ 50/50 tests passing
Closes #18