mirror of
https://github.com/KeygraphHQ/shannon.git
synced 2026-05-19 23:44:46 +02:00
8e4fafba99
- Delete unused src/cli/ui.ts, remove zod dependency, drop 4 dead functions (logError, handleToolError, getRetryDelay, displayTimingSummary) - Remove 8 unused types/interfaces and 3 duplicate formatting utils from audit/utils.ts - Narrow export surface: make 7 message-handler functions private, remove unused audit re-exports, unexport AgentDefinition and path constants - Remove unused runClaudePrompt params (sessionMetadata, attemptNumber) and update caller - Enable tsconfig noUnusedLocals, noUnusedParameters, noImplicitReturns, noImplicitOverride, noFallthroughCasesInSwitch
59 lines
1.1 KiB
TypeScript
59 lines
1.1 KiB
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;
|
|
}
|
|
}
|
|
|
|
interface TimingResultsAgents {
|
|
[key: string]: number;
|
|
}
|
|
|
|
interface TimingResults {
|
|
total: Timer | null;
|
|
agents: TimingResultsAgents;
|
|
}
|
|
|
|
interface CostResultsAgents {
|
|
[key: string]: number;
|
|
}
|
|
|
|
interface CostResults {
|
|
agents: CostResultsAgents;
|
|
total: number;
|
|
}
|
|
|
|
// Global timing and cost tracker
|
|
export const timingResults: TimingResults = {
|
|
total: null,
|
|
agents: {},
|
|
};
|
|
|
|
export const costResults: CostResults = {
|
|
agents: {},
|
|
total: 0,
|
|
};
|
|
|