27 lines
700 B
TypeScript
27 lines
700 B
TypeScript
// Risk Monitor Service - Tracks active deals for LTV/exposure monitoring
|
|
// Stub: real-time risk checks when risk pipeline is defined; see RECOMMENDATIONS.md.
|
|
|
|
import type { DealState } from '../types';
|
|
|
|
class RiskMonitorService {
|
|
private activeDeals = new Map<string, DealState>();
|
|
|
|
registerDeal(state: DealState): void {
|
|
this.activeDeals.set(state.dealId, state);
|
|
}
|
|
|
|
unregisterDeal(dealId: string): void {
|
|
this.activeDeals.delete(dealId);
|
|
}
|
|
|
|
getActiveDeal(dealId: string): DealState | undefined {
|
|
return this.activeDeals.get(dealId);
|
|
}
|
|
|
|
getActiveDealCount(): number {
|
|
return this.activeDeals.size;
|
|
}
|
|
}
|
|
|
|
export const riskMonitorService = new RiskMonitorService();
|