- telemetry-client: createWebTelemetry() wraps createTelemetryClient() with web defaults - diagnostics-client: createWebDiagnostics() wraps DiagnosticsClient with install ID + web defaults - Eliminates ~70 lines of boilerplate per web app - 11/11 telemetry tests pass, 21/21 diagnostics tests pass
62 lines
1.6 KiB
TypeScript
62 lines
1.6 KiB
TypeScript
/**
|
|
* @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';
|