import type { LTTelemetryAdapter } from '../../types/telemetry'; export interface HoneycombOptions { /** Honeycomb API key (defaults to HONEYCOMB_API_KEY env var) */ apiKey?: string; /** Service name reported to Honeycomb (defaults to 'long-tail') */ serviceName?: string; /** Honeycomb OTLP endpoint (defaults to https://api.honeycomb.io) */ endpoint?: string; /** * URL template for deep-linking to traces in Honeycomb UI. * Use `{traceId}` as a placeholder, e.g.: * `https://ui.honeycomb.io/my-team/environments/prod/trace?trace_id={traceId}` */ traceUrl?: string; } /** * Honeycomb telemetry adapter. * * Configures the OpenTelemetry Node.js SDK with an OTLP exporter * pointed at Honeycomb. Once connected, all spans created by HotMesh * (workflow executions, activity calls, stream routing) are * automatically exported to Honeycomb. * * HotMesh uses `@opentelemetry/api` internally to create spans. This * adapter provides the TracerProvider + exporter that captures them. * * Usage: * ```typescript * import { telemetryRegistry } from './lib/telemetry'; * import { HoneycombTelemetryAdapter } from './lib/telemetry/honeycomb'; * * telemetryRegistry.register(new HoneycombTelemetryAdapter({ * apiKey: process.env.HONEYCOMB_API_KEY, * serviceName: 'my-app', * })); * await telemetryRegistry.connect(); // before starting workers * ``` */ export declare class HoneycombTelemetryAdapter implements LTTelemetryAdapter { private sdk; private readonly apiKey; private readonly serviceName; private readonly endpoint; readonly traceUrl?: string; constructor(options?: HoneycombOptions); /** * Auto-derive the Honeycomb trace URL from standard env vars. * Returns undefined if HONEYCOMB_TEAM or HONEYCOMB_ENVIRONMENT are not set. */ private static deriveTraceUrl; connect(): Promise; disconnect(): Promise; }