UNPKG

@spaik/mcp-server-roi

Version:

MCP server for AI ROI prediction and tracking with Monte Carlo simulations

138 lines 3.42 kB
import { z } from 'zod'; import { BenchmarkRequest } from './sonar-benchmark-service.js'; export declare const AggregatedBenchmarkSchema: z.ZodObject<{ metric: z.ZodString; value: z.ZodNumber; unit: z.ZodString; confidence: z.ZodNumber; sources: z.ZodArray<z.ZodObject<{ name: z.ZodString; value: z.ZodNumber; date: z.ZodString; weight: z.ZodNumber; }, "strip", z.ZodTypeAny, { name: string; value: number; date: string; weight: number; }, { name: string; value: number; date: string; weight: number; }>, "many">; consensus: z.ZodEnum<["strong", "moderate", "weak"]>; recommendedValue: z.ZodNumber; range: z.ZodObject<{ min: z.ZodNumber; max: z.ZodNumber; p25: z.ZodNumber; p75: z.ZodNumber; }, "strip", z.ZodTypeAny, { min: number; max: number; p25: number; p75: number; }, { min: number; max: number; p25: number; p75: number; }>; }, "strip", z.ZodTypeAny, { value: number; metric: string; unit: string; confidence: number; sources: { name: string; value: number; date: string; weight: number; }[]; consensus: "strong" | "moderate" | "weak"; recommendedValue: number; range: { min: number; max: number; p25: number; p75: number; }; }, { value: number; metric: string; unit: string; confidence: number; sources: { name: string; value: number; date: string; weight: number; }[]; consensus: "strong" | "moderate" | "weak"; recommendedValue: number; range: { min: number; max: number; p25: number; p75: number; }; }>; export type AggregatedBenchmark = z.infer<typeof AggregatedBenchmarkSchema>; export declare class BenchmarkAggregator { private logger; private sonarService?; private sources; private fmpApiKey?; constructor(config?: { sonarApiKey?: string; fmpApiKey?: string; enableSonar?: boolean; enableFMP?: boolean; }); /** * Aggregate benchmarks from all available sources */ aggregateBenchmarks(request: BenchmarkRequest): Promise<AggregatedBenchmark[]>; /** * Fetch benchmarks from Financial Modeling Prep API */ private fetchFMPBenchmarks; /** * Fetch static benchmarks from local data */ private fetchStaticBenchmarks; /** * Group benchmarks by metric name */ private groupByMetric; /** * Normalize metric names for grouping */ private normalizeMetricName; /** * Aggregate multiple sources for a single metric */ private aggregateMetric; /** * Calculate percentile */ private percentile; /** * Calculate variance */ private calculateVariance; /** * Calculate average confidence across all benchmarks */ private calculateAverageConfidence; /** * Get industry-specific adjustment factors */ getIndustryAdjustments(industry: string, companySize?: string): Promise<{ sizeMultiplier: number; complexityFactor: number; riskAdjustment: number; }>; } //# sourceMappingURL=benchmark-aggregator.d.ts.map