/** * @bytelyst/diagnostics-client * * Remote diagnostics and debug tracing client for the ByteLyst ecosystem. * Provides polling, logging, tracing, network capture, and breadcrumbs. * * @example * ```typescript * import { DiagnosticsClient } from '@bytelyst/diagnostics-client'; * * const client = DiagnosticsClient.getInstance({ * productId: 'myapp', * anonymousInstallId: 'install_123', * platform: 'web', * channel: 'web_app', * osFamily: 'macos', * appVersion: '1.0.0', * buildNumber: '100', * releaseChannel: 'stable', * serverUrl: 'https://api.bytelyst.com', * }); * * await client.start(); * * // Auto-instrumented trace * const result = await client.trace('fetchUser', async () => { * return await fetch('/api/user').then(r => r.json()); * }); * * // Manual breadcrumb * client.breadcrumb('user', 'Clicked submit button', { formId: 'signup' }); * * // Manual log * client.log('info', 'User signed up', { userId: '123' }); * ``` */ export { DiagnosticsClient, type DiagnosticsClientOptions } from './client.js'; export { createWebDiagnostics, type WebDiagnosticsConfig } from './web.js'; export { BreadcrumbTrail, type BreadcrumbTrailOptions } from './breadcrumbs.js'; export { NetworkInterceptor, type NetworkInterceptorOptions } from './network.js'; export { collectDeviceState, subscribeToConnectivity } from './device.js'; export type { LogLevel, SessionStatus, CollectionLevel, DiagnosticsSession, TraceSpan, LogEntry, Breadcrumb, NetworkRequest, DeviceState, DiagnosticsConfig, ClientState, IngestBatch, } from './types.js';