@qiaolei81/copilot-session-viewer 0.3.4 ā 0.3.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/bin/copilot-session-viewer +2 -2
- package/dist/server.min.js +99 -0
- package/package.json +5 -17
- package/public/js/homepage.min.js +9 -9
- package/public/js/session-detail.min.js +36 -7
- package/public/vendor/marked.umd.min.js +8 -0
- package/public/vendor/purify.min.js +3 -0
- package/public/vendor/vue-virtual-scroller.css +1 -0
- package/public/vendor/vue-virtual-scroller.min.js +2 -0
- package/public/vendor/vue.global.prod.min.js +19 -0
- package/views/session-vue.ejs +31 -6
- package/views/time-analyze.ejs +2 -2
- package/lib/parsers/README.md +0 -239
- package/lib/parsers/base-parser.js +0 -53
- package/lib/parsers/claude-parser.js +0 -181
- package/lib/parsers/copilot-parser.js +0 -143
- package/lib/parsers/index.js +0 -15
- package/lib/parsers/parser-factory.js +0 -77
- package/lib/parsers/pi-mono-parser.js +0 -119
- package/lib/parsers/vscode-parser.js +0 -591
- package/server.js +0 -29
- package/src/app.js +0 -129
- package/src/config/index.js +0 -27
- package/src/controllers/insightController.js +0 -136
- package/src/controllers/sessionController.js +0 -449
- package/src/controllers/tagController.js +0 -113
- package/src/controllers/uploadController.js +0 -648
- package/src/middleware/common.js +0 -67
- package/src/middleware/rateLimiting.js +0 -62
- package/src/models/Session.js +0 -146
- package/src/routes/api.js +0 -11
- package/src/routes/insights.js +0 -12
- package/src/routes/pages.js +0 -12
- package/src/routes/uploads.js +0 -14
- package/src/schemas/event.schema.js +0 -73
- package/src/services/eventNormalizer.js +0 -291
- package/src/services/insightService.js +0 -535
- package/src/services/sessionRepository.js +0 -1092
- package/src/services/sessionService.js +0 -1919
- package/src/services/tagService.js +0 -205
- package/src/telemetry.js +0 -152
- package/src/utils/fileUtils.js +0 -305
- package/src/utils/helpers.js +0 -45
- package/src/utils/processManager.js +0 -85
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Process Manager - Track and cleanup spawned processes
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
class ProcessManager {
|
|
6
|
-
constructor() {
|
|
7
|
-
this.activeProcesses = new Set();
|
|
8
|
-
this.isShuttingDown = false;
|
|
9
|
-
this._setupCleanupHandlers();
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Register a new process for tracking
|
|
14
|
-
* @param {ChildProcess} process - The spawned process
|
|
15
|
-
* @param {Object} metadata - Optional metadata for logging
|
|
16
|
-
*/
|
|
17
|
-
register(process, metadata = {}) {
|
|
18
|
-
const processInfo = { process, metadata, startTime: Date.now() };
|
|
19
|
-
this.activeProcesses.add(processInfo);
|
|
20
|
-
|
|
21
|
-
process.on('exit', () => {
|
|
22
|
-
this.activeProcesses.delete(processInfo);
|
|
23
|
-
const duration = Date.now() - processInfo.startTime;
|
|
24
|
-
console.log(`š Process exited (${metadata.name || 'unknown'}): ${duration}ms`);
|
|
25
|
-
});
|
|
26
|
-
|
|
27
|
-
return processInfo;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* Kill all active processes
|
|
32
|
-
*/
|
|
33
|
-
killAll() {
|
|
34
|
-
console.log(`š Killing ${this.activeProcesses.size} active processes...`);
|
|
35
|
-
|
|
36
|
-
for (const { process, metadata } of this.activeProcesses) {
|
|
37
|
-
try {
|
|
38
|
-
if (!process.killed) {
|
|
39
|
-
process.kill('SIGTERM');
|
|
40
|
-
console.log(` ā Killed ${metadata.name || process.pid}`);
|
|
41
|
-
}
|
|
42
|
-
} catch (err) {
|
|
43
|
-
console.error(` ā Failed to kill ${metadata.name || process.pid}:`, err.message);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
this.activeProcesses.clear();
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
/**
|
|
51
|
-
* Get count of active processes
|
|
52
|
-
*/
|
|
53
|
-
getActiveCount() {
|
|
54
|
-
return this.activeProcesses.size;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
/**
|
|
58
|
-
* Setup cleanup handlers for graceful shutdown
|
|
59
|
-
*/
|
|
60
|
-
_setupCleanupHandlers() {
|
|
61
|
-
const cleanup = (signal, exitCode = 0) => {
|
|
62
|
-
if (this.isShuttingDown) return;
|
|
63
|
-
this.isShuttingDown = true;
|
|
64
|
-
|
|
65
|
-
console.log(`\nš Received ${signal}, shutting down gracefully...`);
|
|
66
|
-
this.killAll();
|
|
67
|
-
|
|
68
|
-
// Give processes time to exit
|
|
69
|
-
setTimeout(() => {
|
|
70
|
-
process.exit(exitCode);
|
|
71
|
-
}, 1000);
|
|
72
|
-
};
|
|
73
|
-
|
|
74
|
-
process.on('SIGTERM', () => cleanup('SIGTERM', 0));
|
|
75
|
-
process.on('SIGINT', () => cleanup('SIGINT', 0));
|
|
76
|
-
|
|
77
|
-
// Handle uncaught errors with error exit code
|
|
78
|
-
process.on('uncaughtException', (err) => {
|
|
79
|
-
console.error('š„ Uncaught exception:', err);
|
|
80
|
-
cleanup('uncaughtException', 1);
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
module.exports = new ProcessManager();
|