import { NodeTelemetryHandle, NodeTelemetryOptions, ResolvedNodeTelemetryEndpoints } from "@agimon-ai/log-sink-mcp/telemetry/node"; //#region src/types/telemetry.d.ts export type DoomTelemetryEventLevel = 'debug' | 'info' | 'warn' | 'error' | 'fatal'; export type DoomTelemetryAttributes = Record; export interface DoomTelemetryRecord { event: string; level: DoomTelemetryEventLevel; attributes: DoomTelemetryAttributes; } export interface DoomTelemetryStatus { serviceName: string; packageName?: string; backend: NodeTelemetryHandle['backend'] | 'disabled'; enabled: boolean; endpoint?: string; endpointSource: NodeTelemetryHandle['endpointSource']; traces: boolean; fileFallback: boolean; } export interface DoomTelemetryOptions { serviceName: string; packageName?: string; cwd?: string; workspaceRoot?: string; env?: NodeJS.ProcessEnv; enableTraces?: boolean; enableLogs?: boolean; allowFileFallback?: boolean; retryDelayMs?: number; telemetryFactory?: TelemetryFactory; endpointResolver?: EndpointResolver; warn?: (message: string) => void; onRecord?: (record: DoomTelemetryRecord) => void; onStatus?: (status: DoomTelemetryStatus) => void; } export interface DoomTelemetryErrorOptions { /** Export the error as an OTEL exception. Callers must opt in because exception details can contain sensitive data. */ includeException?: boolean; } export interface DoomTraceContext { traceparent: string; } export interface DoomTelemetry { recordDebug(event: string, attributes?: Record): Promise; recordEvent(event: string, attributes?: Record): Promise; recordWarning(event: string, error?: unknown, attributes?: Record): Promise; recordError(event: string, error?: unknown, attributes?: Record, options?: DoomTelemetryErrorOptions): Promise; runInSpan(name: string, attributes: Record, callback: (context?: DoomTraceContext) => Promise | T, parent?: DoomTraceContext): Promise; flush(): Promise; shutdown(): Promise; status(): DoomTelemetryStatus; } export type TelemetryFactory = (options: NodeTelemetryOptions) => Promise; export type EndpointResolver = (options: { cwd?: string; env?: NodeJS.ProcessEnv; packageName?: string; serviceName?: string; workspaceRoot?: string; discoverEndpoint?: boolean; healthCheck?: boolean; }) => Promise; //#endregion //# sourceMappingURL=telemetry.d.cts.map