Skip to main content
Glama
audit.ts4.42 kB
// Mock implementation for audit trail components export class MockTestOutcomeAuditor { private testOutcomes: any[] = []; private activeTests: Map<string, any> = new Map(); public startTest(testExecution: any): string { const testId = testExecution.testId; this.activeTests.set(testId, testExecution); return `mock-event-${Date.now()}`; } public completeTest(testId: string, status: string, summary?: string): string { const testExecution = this.activeTests.get(testId); if (testExecution) { this.testOutcomes.push({ testId, testName: testExecution.testName, testSuite: testExecution.testSuite, status, startTime: testExecution.startTime, endTime: Date.now(), duration: Date.now() - testExecution.startTime, summary, correlationId: testExecution.correlationId }); this.activeTests.delete(testId); } return `mock-event-${Date.now()}`; } public logTestDecision(decision: any): string { return `mock-event-${Date.now()}`; } public logTestOutcome(outcome: any): string { return `mock-event-${Date.now()}`; } public logTestMetrics(metrics: any): string { return `mock-event-${Date.now()}`; } public logTestFailure(testId: string, error: Error, context?: any, correlationId?: string): string { return `mock-event-${Date.now()}`; } public getTestEvents(testId: string): any[] { return []; } public getTestEventsByCorrelation(correlationId: string): any[] { return []; } public getActiveTests(): any[] { return Array.from(this.activeTests.values()); } public getTestSummary(testId: string): any { return { testId, totalEvents: 0 }; } public getTestOutcomes(): any[] { return this.testOutcomes; } public async exportTestOutcomes(filters?: any): Promise<any[]> { return this.testOutcomes; } } export class MockAuditTrailService { private static instance: MockAuditTrailService; private events: any[] = []; public static getInstance(): MockAuditTrailService { if (!MockAuditTrailService.instance) { MockAuditTrailService.instance = new MockAuditTrailService(); } return MockAuditTrailService.instance; } public logEvent(type: string, message: string, severity: string, context: any, data: any): string { const eventId = `mock-event-${Date.now()}`; this.events.push({ id: eventId, type, message, severity, context, data, timestamp: Date.now() }); return eventId; } public getAllEvents(): any[] { return this.events; } public getEventsByCorrelationId(correlationId: string): any[] { return this.events.filter(event => event.context.correlationId === correlationId); } public generateCorrelationId(): string { return `mock-correlation-${Date.now()}`; } public queryAuditTrail(filters: any): any[] { return this.events; } public async exportAuditTrail(filters?: any): Promise<any[]> { return this.events; } public generateAuditReport(filters?: any): any { return { totalEvents: this.events.length, events: this.events }; } } export class MockAgentDecisionLogger { public logDecision(decision: any): string { return `mock-event-${Date.now()}`; } public getDecisions(agentId?: string): any[] { return []; } public async exportDecisions(filters?: any): Promise<any[]> { return []; } } export class MockTransactionTraceLogger { public logTransactionStart(transaction: any): string { return `mock-event-${Date.now()}`; } public logTransactionStep(transactionId: string, step: any): string { return `mock-event-${Date.now()}`; } public logTransactionComplete(transactionId: string, result: any): string { return `mock-event-${Date.now()}`; } public logTransactionError(transactionId: string, error: Error): string { return `mock-event-${Date.now()}`; } public getTraces(transactionId?: string): any[] { return []; } public async exportTraces(filters?: any): Promise<any[]> { return []; } } // Export the mock classes export const TestOutcomeAuditor = MockTestOutcomeAuditor; export const AuditTrailService = MockAuditTrailService; export const AgentDecisionLogger = MockAgentDecisionLogger; export const TransactionTraceLogger = MockTransactionTraceLogger;

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/evilpixi/pixi-midnight-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server