@spaik/mcp-server-roi
Version:
MCP server for AI ROI prediction and tracking with Monte Carlo simulations
184 lines • 5.21 kB
TypeScript
import { z } from 'zod';
import { SonarBenchmarkService } from './sonar-benchmark-service.js';
import type { UseCaseCreate } from '../schemas/use-case.js';
export declare const ValidationResultSchema: z.ZodObject<{
isValid: z.ZodBoolean;
adjustedInput: z.ZodAny;
validationIssues: z.ZodArray<z.ZodObject<{
field: z.ZodString;
originalValue: z.ZodNumber;
adjustedValue: z.ZodNumber;
reason: z.ZodString;
severity: z.ZodEnum<["warning", "error", "info"]>;
industryBenchmark: z.ZodOptional<z.ZodObject<{
average: z.ZodNumber;
p25: z.ZodNumber;
p75: z.ZodNumber;
source: z.ZodString;
}, "strip", z.ZodTypeAny, {
average: number;
p25: number;
p75: number;
source: string;
}, {
average: number;
p25: number;
p75: number;
source: string;
}>>;
}, "strip", z.ZodTypeAny, {
field: string;
originalValue: number;
adjustedValue: number;
reason: string;
severity: "warning" | "error" | "info";
industryBenchmark?: {
average: number;
p25: number;
p75: number;
source: string;
} | undefined;
}, {
field: string;
originalValue: number;
adjustedValue: number;
reason: string;
severity: "warning" | "error" | "info";
industryBenchmark?: {
average: number;
p25: number;
p75: number;
source: string;
} | undefined;
}>, "many">;
marketInsights: z.ZodArray<z.ZodObject<{
metric: z.ZodString;
dutchMarketValue: z.ZodNumber;
globalValue: z.ZodNumber;
trend: z.ZodString;
source: z.ZodString;
}, "strip", z.ZodTypeAny, {
source: string;
metric: string;
dutchMarketValue: number;
globalValue: number;
trend: string;
}, {
source: string;
metric: string;
dutchMarketValue: number;
globalValue: number;
trend: string;
}>, "many">;
recommendations: z.ZodArray<z.ZodString, "many">;
citations: z.ZodArray<z.ZodObject<{
url: z.ZodString;
title: z.ZodString;
}, "strip", z.ZodTypeAny, {
url: string;
title: string;
}, {
url: string;
title: string;
}>, "many">;
}, "strip", z.ZodTypeAny, {
isValid: boolean;
validationIssues: {
field: string;
originalValue: number;
adjustedValue: number;
reason: string;
severity: "warning" | "error" | "info";
industryBenchmark?: {
average: number;
p25: number;
p75: number;
source: string;
} | undefined;
}[];
marketInsights: {
source: string;
metric: string;
dutchMarketValue: number;
globalValue: number;
trend: string;
}[];
recommendations: string[];
citations: {
url: string;
title: string;
}[];
adjustedInput?: any;
}, {
isValid: boolean;
validationIssues: {
field: string;
originalValue: number;
adjustedValue: number;
reason: string;
severity: "warning" | "error" | "info";
industryBenchmark?: {
average: number;
p25: number;
p75: number;
source: string;
} | undefined;
}[];
marketInsights: {
source: string;
metric: string;
dutchMarketValue: number;
globalValue: number;
trend: string;
}[];
recommendations: string[];
citations: {
url: string;
title: string;
}[];
adjustedInput?: any;
}>;
export type ValidationResult = z.infer<typeof ValidationResultSchema>;
/**
* Enhanced Dutch Benchmark Validator with parallel API calls
*/
export declare class DutchBenchmarkValidatorParallel extends SonarBenchmarkService {
private dutchLogger;
constructor(apiKey: string);
/**
* Validate project inputs against Dutch market benchmarks with parallel API calls
*/
validateProjectInputs(params: {
industry: string;
useCases: UseCaseCreate[];
implementationCosts: {
software_licenses: number;
development_hours: number;
training_costs: number;
infrastructure: number;
ongoing_monthly: number;
};
timelineMonths: number;
}, correlationId?: string): Promise<ValidationResult>;
/**
* Fetch Dutch regulatory requirements
*/
private fetchDutchRegulatoryRequirements;
/**
* Fetch competitor analysis
*/
private fetchCompetitorAnalysis;
/**
* Fetch industry-specific data
*/
private fetchIndustrySpecificData;
/**
* Generate enhanced recommendations with all data sources
*/
private generateEnhancedRecommendations;
/**
* Default benchmarks for fallback
*/
private getDefaultBenchmarks;
}
//# sourceMappingURL=dutch-benchmark-validator-parallel.d.ts.map