feat: add issue discovery view for managing discovery sessions and findings

- Implemented main render function for the issue discovery view.
- Added data loading functions to fetch discoveries, details, findings, and progress.
- Created rendering functions for discovery list and detail sections.
- Introduced filtering and searching capabilities for findings.
- Implemented actions for exporting and dismissing findings.
- Added polling mechanism to track discovery progress.
- Included utility functions for HTML escaping and cleanup.
This commit is contained in:
catlog22
2025-12-28 17:21:07 +08:00
parent a2c88ba885
commit 7aa1cda367
28 changed files with 7730 additions and 2 deletions

View File

@@ -18,6 +18,7 @@ import { handleSystemRoutes } from './routes/system-routes.js';
import { handleFilesRoutes } from './routes/files-routes.js';
import { handleSkillsRoutes } from './routes/skills-routes.js';
import { handleIssueRoutes } from './routes/issue-routes.js';
import { handleDiscoveryRoutes } from './routes/discovery-routes.js';
import { handleRulesRoutes } from './routes/rules-routes.js';
import { handleSessionRoutes } from './routes/session-routes.js';
import { handleCcwRoutes } from './routes/ccw-routes.js';
@@ -89,7 +90,8 @@ const MODULE_CSS_FILES = [
'30-core-memory.css',
'31-api-settings.css',
'32-issue-manager.css',
'33-cli-stream-viewer.css'
'33-cli-stream-viewer.css',
'34-discovery.css'
];
// Modular JS files in dependency order
@@ -147,6 +149,7 @@ const MODULE_FILES = [
'views/api-settings.js',
'views/help.js',
'views/issue-manager.js',
'views/issue-discovery.js',
'main.js'
];
@@ -355,6 +358,11 @@ export async function startServer(options: ServerOptions = {}): Promise<http.Ser
if (await handleIssueRoutes(routeContext)) return;
}
// Discovery routes (/api/discoveries*)
if (pathname.startsWith('/api/discoveries')) {
if (await handleDiscoveryRoutes(routeContext)) return;
}
// Rules routes (/api/rules*)
if (pathname.startsWith('/api/rules')) {
if (await handleRulesRoutes(routeContext)) return;