/** * Common response interfaces for analysis tools. */ import { EsResponse } from "../../../types/elasticsearch.js"; export interface McpToolResponse { content: Array<{ type: "text" | "image" | "resource"; text?: string; data?: string; mimeType?: string; resource?: { text?: string; mimeType?: string; uri?: string; }; [key: string]: unknown; }>; [Symbol.iterator]?: unknown; [key: string]: unknown; } export interface Trend { value: string; beforeCount: number; afterCount: number; absoluteChange: number; percentageChange: number; trend: "increasing" | "decreasing" | "stable"; } export interface ErrorResponse extends McpToolResponse { isError: true; error: string; errorCode?: string; category?: string; troubleshooting?: { suggestions: string[]; related_commands?: string[]; }; diagnostics?: Record; [key: string]: unknown; } export interface SuccessResponse extends McpToolResponse { data: EsResponse; summary: Record; related_tools?: Record; }