mirror of
https://github.com/KeygraphHQ/shannon.git
synced 2026-05-24 01:24:08 +02:00
b208949345
- Move error-handling, git-manager, prompt-manager, queue-validation, and reporting into src/services/ - Delete src/constants.ts — relocate AGENT_VALIDATORS and MCP_AGENT_MAPPING into session-manager.ts alongside agent definitions - Delete src/utils/output-formatter.ts — absorb filterJsonToolCalls and getAgentPrefix into ai/output-formatters.ts - Extract ActivityLogger interface into src/types/activity-logger.ts to break temporal/ → services circular dependency - Consolidate VulnType, ExploitationDecision into types/agents.ts and SessionMetadata into types/audit.ts - Remove dead timingResults/costResults globals from utils/metrics.ts and all consumers
29 lines
627 B
TypeScript
29 lines
627 B
TypeScript
// Copyright (C) 2025 Keygraph, Inc.
|
|
//
|
|
// This program is free software: you can redistribute it and/or modify
|
|
// it under the terms of the GNU Affero General Public License version 3
|
|
// as published by the Free Software Foundation.
|
|
|
|
// Timing utilities
|
|
|
|
export class Timer {
|
|
name: string;
|
|
startTime: number;
|
|
endTime: number | null = null;
|
|
|
|
constructor(name: string) {
|
|
this.name = name;
|
|
this.startTime = Date.now();
|
|
}
|
|
|
|
stop(): number {
|
|
this.endTime = Date.now();
|
|
return this.duration();
|
|
}
|
|
|
|
duration(): number {
|
|
const end = this.endTime || Date.now();
|
|
return end - this.startTime;
|
|
}
|
|
}
|