UNPKG

observability-analyzer

Version:

Production-ready MCP Server for intelligent Loki/Tempo observability dashboard analysis and generation

272 lines 6.65 kB
export interface GrafanaThreshold { color: string; value: number | null; } export interface GrafanaFieldConfig { defaults: { color?: { mode?: string; fixedColor?: string; }; custom?: { drawStyle?: string; lineInterpolation?: string; lineWidth?: number; fillOpacity?: number; gradientMode?: string; lineStyle?: { fill?: string; }; axisPlacement?: string; axisLabel?: string; scaleDistribution?: { type: string; }; hideFrom?: { legend?: boolean; tooltip?: boolean; vis?: boolean; }; thresholdsStyle?: { mode?: string; }; stacking?: { group?: string; mode?: string; }; showPoints?: string; pointSize?: number; spanNulls?: boolean; barAlignment?: number; displayMode?: string; orientation?: string; align?: string; }; thresholds?: { mode?: string; steps?: GrafanaThreshold[]; }; unit?: string; min?: number; max?: number; decimals?: number; displayName?: string; }; overrides?: Array<{ matcher: { id: string; options: string; }; properties: Array<{ id: string; value: unknown; }>; }>; } export interface GrafanaTarget { expr: string; refId: string; datasource: { type: string; uid: string; }; hide?: boolean; legendFormat?: string; maxLines?: number; step?: string; interval?: string; queryType?: string; } export interface GrafanaGridPos { h: number; w: number; x: number; y: number; } export interface GrafanaPanel { id: number; title: string; type: string; gridPos: GrafanaGridPos; targets: GrafanaTarget[]; fieldConfig: GrafanaFieldConfig; options?: { legend?: { displayMode?: string; placement?: string; calcs?: string[]; }; tooltip?: { mode?: string; sort?: string; }; reduceOptions?: { values?: boolean; calcs?: string[]; fields?: string; }; orientation?: string; textMode?: string; colorMode?: string; graphMode?: string; justifyMode?: string; showTime?: boolean; showLabels?: boolean; showCommonLabels?: boolean; wrapLogMessage?: boolean; prettifyLogMessage?: boolean; enableLogDetails?: boolean; dedupStrategy?: string; sortOrder?: string; }; pluginVersion?: string; transformations?: Array<{ id: string; options: Record<string, unknown>; }>; alert?: { conditions: Array<{ evaluator: { params: number[]; type: string; }; operator: { params: string[]; type: string; }; query: { model: { refId: string; }; params: string[]; }; reducer: { params: unknown[]; type: string; }; type: string; }>; executionErrorState: string; frequency: string; handler: number; name: string; noDataState: string; }; datasource?: { type: string; uid: string; }; } export interface GrafanaTemplateVariable { name: string; type: string; label?: string; query: string; datasource?: { type: string; uid: string; }; refresh: number; sort: number; multi?: boolean; includeAll?: boolean; allValue?: string | null; regex?: string; hide?: number; skipUrlSync?: boolean; queryType?: string; current?: { selected: boolean; text: string | string[]; value: string | string[]; }; options?: Array<{ selected: boolean; text: string; value: string; }>; } export interface GrafanaDashboardTime { from: string; to: string; } export interface GrafanaRefresh { intervals: string[]; time_options: string[]; } export interface GrafanaDashboard { id?: number | null; uid?: string; title: string; tags: string[]; timezone: string; panels: GrafanaPanel[]; templating: { list: GrafanaTemplateVariable[]; }; time: GrafanaDashboardTime; timepicker: { refresh_intervals: string[]; time_options: string[]; }; refresh: string; schemaVersion: number; version: number; links: Array<{ icon?: string; tags?: string[]; title: string; tooltip?: string; type: string; url: string; }>; annotations: { list: Array<{ builtIn?: number; datasource?: string; enable?: boolean; hide?: boolean; iconColor?: string; name?: string; type?: string; }>; }; editable: boolean; gnetId?: number | null; graphTooltip: number; hideControls: boolean; style: string; } export interface GrafanaDataSource { id?: number; uid: string; name: string; type: string; url: string; access: 'proxy' | 'direct'; basicAuth?: boolean; basicAuthUser?: string; basicAuthPassword?: string; withCredentials?: boolean; isDefault?: boolean; jsonData?: Record<string, unknown>; secureJsonData?: Record<string, unknown>; } export interface GrafanaDashboardExport { dashboard: GrafanaDashboard; overwrite: boolean; folderUid?: string; message?: string; } export type GrafanaPanelType = 'timeseries' | 'stat' | 'gauge' | 'bargauge' | 'table' | 'logs' | 'heatmap' | 'histogram' | 'piechart' | 'text' | 'alertlist' | 'dashlist' | 'news' | 'graph' | 'singlestat'; export interface DashboardGenerationOptions { theme: 'dark' | 'light'; refreshInterval: string; timeRange: string; includeLegend: boolean; includeTooltips: boolean; includeAlerts: boolean; panelHeight: number; panelWidth: number; } //# sourceMappingURL=grafana-config.d.ts.map