UNPKG

watchtower-node-sdk

Version:

A TypeScript Node.js SDK for the Watchtower API, providing API key management, connection string generation, and more

154 lines (150 loc) 4.04 kB
export interface GetLatestRequest { organization_apikey: string; app_apikey: string; tenant_apikey?: string; // Optional, required for multi-tenant apps item_id: string; } export interface AnalyzeLogsRequest { organization_apikey: string; app_apikey: string; tenant_apikey?: string; // Optional, required for multi-tenant apps item_id: string; after?: string; // Optional, ISO 8601 timestamp before?: string; // Optional, ISO 8601 timestamp } export interface AnalyzeCurrentRequest { organization_apikey: string; app_apikey: string; tenant_apikey?: string; // Optional, required for multi-tenant apps item_id: string; } export interface AnalyzeCurrentResponse { timestamp: string; // ISO 8601 timestamp overview: string; status: 'normal' | 'warning' | 'critical'; description: string; metrics: Record<string, { status: 'normal' | 'warning' | 'critical'; value: any; unit?: string; description: string; }>; recommendations: Array<{ priority: 'high' | 'medium' | 'low'; title: string; description: string; action: string; }>; } export interface AnalysisResult { summary: { total_logs: number; item_id: string; first_log_time: string; // ISO 8601 timestamp last_log_time: string; // ISO 8601 timestamp time_range: string; average_interval?: string; }; metrics: Record<string, { min: number; max: number; average: number; std_dev: number; }>; time_series: Array<{ timestamp: string; // ISO 8601 timestamp metrics: Record<string, any>; }>; ai_analysis?: { timestamp: string; // ISO 8601 timestamp overview: string; status_summary: string; current_status: { status: string; description: string; alerts: Array<{ level: string; title: string; description: string; metric?: string; value?: string; threshold?: string; }>; metrics: Record<string, { status: string; value: string; unit?: string; description: string; }>; contexts: Array<{ context: string; count: number; first_seen: string; // ISO 8601 timestamp last_seen: string; // ISO 8601 timestamp relevance: string; description: string; impact: string; }>; }; historical_analysis: { patterns: Array<{ type: string; title: string; description: string; confidence: number; }>; anomalies: Array<{ type: string; title: string; description: string; metric?: string; value?: string; expected?: string; severity: string; }>; insights: Array<{ category: string; title: string; description: string; impact: string; }>; recommendations: Array<{ priority: string; title: string; description: string; action: string; impact: string; }>; metrics: Record<string, { status: string; trend: string; summary: string; anomalies: Array<{ type: string; title: string; description: string; metric?: string; value?: string; expected?: string; severity: string; }>; recommendations: Array<{ priority: string; title: string; description: string; action: string; impact: string; }>; }>; contexts: Array<{ context: string; count: number; first_seen: string; // ISO 8601 timestamp last_seen: string; // ISO 8601 timestamp relevance: string; description: string; impact: string; }>; }; }; }