@spaik/mcp-server-roi
Version:
MCP server for AI ROI prediction and tracking with Monte Carlo simulations
217 lines • 6.94 kB
TypeScript
import { z } from 'zod';
/**
* Response Transformer Service
*
* Transforms raw tool outputs into semantic-rich, multi-layered responses
* optimized for AI agent consumption.
*/
export declare const TransformedResponseSchema: z.ZodObject<{
executive_summary: z.ZodObject<{
headline: z.ZodString;
confidence: z.ZodEnum<["low", "medium", "high"]>;
key_insight: z.ZodString;
primary_metric: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
headline: string;
confidence: "low" | "medium" | "high";
key_insight: string;
primary_metric?: string | undefined;
}, {
headline: string;
confidence: "low" | "medium" | "high";
key_insight: string;
primary_metric?: string | undefined;
}>;
insights: z.ZodObject<{
primary: z.ZodArray<z.ZodString, "many">;
risks: z.ZodArray<z.ZodString, "many">;
opportunities: z.ZodArray<z.ZodString, "many">;
patterns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, "strip", z.ZodTypeAny, {
primary: string[];
risks: string[];
opportunities: string[];
patterns?: string[] | undefined;
}, {
primary: string[];
risks: string[];
opportunities: string[];
patterns?: string[] | undefined;
}>;
recommendations: z.ZodObject<{
next_action: z.ZodString;
timeline: z.ZodString;
success_criteria: z.ZodString;
prerequisites: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
alternatives: z.ZodOptional<z.ZodArray<z.ZodObject<{
action: z.ZodString;
tradeoff: z.ZodString;
}, "strip", z.ZodTypeAny, {
action: string;
tradeoff: string;
}, {
action: string;
tradeoff: string;
}>, "many">>;
}, "strip", z.ZodTypeAny, {
next_action: string;
timeline: string;
success_criteria: string;
prerequisites?: string[] | undefined;
alternatives?: {
action: string;
tradeoff: string;
}[] | undefined;
}, {
next_action: string;
timeline: string;
success_criteria: string;
prerequisites?: string[] | undefined;
alternatives?: {
action: string;
tradeoff: string;
}[] | undefined;
}>;
narrative: z.ZodOptional<z.ZodObject<{
context: z.ZodString;
analysis: z.ZodString;
conclusion: z.ZodString;
}, "strip", z.ZodTypeAny, {
context: string;
analysis: string;
conclusion: string;
}, {
context: string;
analysis: string;
conclusion: string;
}>>;
detailed_analysis: z.ZodAny;
metadata: z.ZodObject<{
confidence_score: z.ZodNumber;
data_quality: z.ZodEnum<["low", "medium", "high"]>;
assumptions_impact: z.ZodEnum<["low", "medium", "high"]>;
generated_at: z.ZodString;
response_version: z.ZodDefault<z.ZodString>;
tool_name: z.ZodString;
processing_time_ms: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
confidence_score: number;
data_quality: "low" | "medium" | "high";
assumptions_impact: "low" | "medium" | "high";
generated_at: string;
response_version: string;
tool_name: string;
processing_time_ms?: number | undefined;
}, {
confidence_score: number;
data_quality: "low" | "medium" | "high";
assumptions_impact: "low" | "medium" | "high";
generated_at: string;
tool_name: string;
response_version?: string | undefined;
processing_time_ms?: number | undefined;
}>;
}, "strip", z.ZodTypeAny, {
executive_summary: {
headline: string;
confidence: "low" | "medium" | "high";
key_insight: string;
primary_metric?: string | undefined;
};
insights: {
primary: string[];
risks: string[];
opportunities: string[];
patterns?: string[] | undefined;
};
recommendations: {
next_action: string;
timeline: string;
success_criteria: string;
prerequisites?: string[] | undefined;
alternatives?: {
action: string;
tradeoff: string;
}[] | undefined;
};
metadata: {
confidence_score: number;
data_quality: "low" | "medium" | "high";
assumptions_impact: "low" | "medium" | "high";
generated_at: string;
response_version: string;
tool_name: string;
processing_time_ms?: number | undefined;
};
narrative?: {
context: string;
analysis: string;
conclusion: string;
} | undefined;
detailed_analysis?: any;
}, {
executive_summary: {
headline: string;
confidence: "low" | "medium" | "high";
key_insight: string;
primary_metric?: string | undefined;
};
insights: {
primary: string[];
risks: string[];
opportunities: string[];
patterns?: string[] | undefined;
};
recommendations: {
next_action: string;
timeline: string;
success_criteria: string;
prerequisites?: string[] | undefined;
alternatives?: {
action: string;
tradeoff: string;
}[] | undefined;
};
metadata: {
confidence_score: number;
data_quality: "low" | "medium" | "high";
assumptions_impact: "low" | "medium" | "high";
generated_at: string;
tool_name: string;
response_version?: string | undefined;
processing_time_ms?: number | undefined;
};
narrative?: {
context: string;
analysis: string;
conclusion: string;
} | undefined;
detailed_analysis?: any;
}>;
export type TransformedResponse = z.infer<typeof TransformedResponseSchema>;
export declare class ResponseTransformer {
private logger;
/**
* Transform predict_roi tool response
*/
transformPredictROI(response: any): Promise<TransformedResponse>;
/**
* Transform compare_projects tool response
*/
transformCompareProjects(response: any): Promise<TransformedResponse>;
private generateExecutiveSummary;
private generateKeyInsight;
private extractROIInsights;
private generateROIRecommendations;
private generateROINarrative;
private generateComparativeExecutiveSummary;
private enhanceComparativeInsights;
private structureComparativeRecommendations;
private generateComparativeNarrative;
private calculateMetadata;
private assessDataQuality;
private assessComparativeConfidence;
private extractTopComparativeInsight;
}
export declare const responseTransformer: ResponseTransformer;
//# sourceMappingURL=response-transformer.d.ts.map