import { StartupCheckpoint } from './startup-checkpoints'; export interface TelemetryEvent { user_id: string; event: string; properties: Record; created_at?: string; } export interface StartupErrorEvent extends TelemetryEvent { event: 'startup_error'; properties: { checkpoint: StartupCheckpoint; errorMessage: string; errorType: string; checkpointsPassed: StartupCheckpoint[]; checkpointsPassedCount: number; startupDuration: number; platform: string; arch: string; nodeVersion: string; isDocker: boolean; }; } export interface StartupCompletedEvent extends TelemetryEvent { event: 'startup_completed'; properties: { version: string; }; } export interface SessionStartProperties { version: string; platform: string; arch: string; nodeVersion: string; isDocker: boolean; cloudPlatform: string | null; startupDurationMs?: number; checkpointsPassed?: StartupCheckpoint[]; startupErrorCount?: number; } export interface WorkflowTelemetry { user_id: string; workflow_hash: string; node_count: number; node_types: string[]; has_trigger: boolean; has_webhook: boolean; complexity: 'simple' | 'medium' | 'complex'; sanitized_workflow: any; created_at?: string; } export interface SanitizedWorkflow { nodes: any[]; connections: any; nodeCount: number; nodeTypes: string[]; hasTrigger: boolean; hasWebhook: boolean; complexity: 'simple' | 'medium' | 'complex'; workflowHash: string; } export declare const TELEMETRY_CONFIG: { readonly BATCH_FLUSH_INTERVAL: 5000; readonly EVENT_QUEUE_THRESHOLD: 10; readonly WORKFLOW_QUEUE_THRESHOLD: 5; readonly MAX_RETRIES: 3; readonly RETRY_DELAY: 1000; readonly OPERATION_TIMEOUT: 5000; readonly RATE_LIMIT_WINDOW: 60000; readonly RATE_LIMIT_MAX_EVENTS: 100; readonly MAX_QUEUE_SIZE: 1000; readonly MAX_BATCH_SIZE: 50; }; export declare const TELEMETRY_BACKEND: { readonly URL: "https://ydyufsohxdfpopqbubwk.supabase.co"; readonly ANON_KEY: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InlkeXVmc29oeGRmcG9wcWJ1YndrIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NTg3OTYyMDAsImV4cCI6MjA3NDM3MjIwMH0.xESphg6h5ozaDsm4Vla3QnDJGc6Nc_cpfoqTHRynkCk"; }; export interface TelemetryMetrics { eventsTracked: number; eventsDropped: number; eventsFailed: number; batchesSent: number; batchesFailed: number; averageFlushTime: number; lastFlushTime?: number; rateLimitHits: number; } export declare enum TelemetryErrorType { VALIDATION_ERROR = "VALIDATION_ERROR", NETWORK_ERROR = "NETWORK_ERROR", RATE_LIMIT_ERROR = "RATE_LIMIT_ERROR", QUEUE_OVERFLOW_ERROR = "QUEUE_OVERFLOW_ERROR", INITIALIZATION_ERROR = "INITIALIZATION_ERROR", UNKNOWN_ERROR = "UNKNOWN_ERROR" } export interface TelemetryErrorContext { type: TelemetryErrorType; message: string; context?: Record; timestamp: number; retryable: boolean; } export type { WorkflowMutationRecord, WorkflowMutationData } from './mutation-types.js'; //# sourceMappingURL=telemetry-types.d.ts.map