@launchdarkly/browser-telemetry 0.0.9 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +44 -0
- package/README.md +1 -5
- package/dist/index.cjs +16 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +746 -0
- package/dist/index.d.ts +746 -0
- package/dist/index.js +16 -0
- package/dist/index.js.map +1 -0
- package/package.json +22 -32
- package/dist/cjs/bundle.cjs.js +0 -21
- package/dist/cjs/bundle.cjs.js.map +0 -1
- package/dist/cjs/package.json +0 -5
- package/dist/cjs/src/BrowserTelemetryImpl.d.ts +0 -31
- package/dist/cjs/src/BrowserTelemetryImpl.d.ts.map +0 -1
- package/dist/cjs/src/api/Breadcrumb.d.ts +0 -105
- package/dist/cjs/src/api/Breadcrumb.d.ts.map +0 -1
- package/dist/cjs/src/api/BrowserTelemetry.d.ts +0 -13
- package/dist/cjs/src/api/BrowserTelemetry.d.ts.map +0 -1
- package/dist/cjs/src/api/Collector.d.ts +0 -10
- package/dist/cjs/src/api/Collector.d.ts.map +0 -1
- package/dist/cjs/src/api/ErrorData.d.ts +0 -10
- package/dist/cjs/src/api/ErrorData.d.ts.map +0 -1
- package/dist/cjs/src/api/EventData.d.ts +0 -4
- package/dist/cjs/src/api/EventData.d.ts.map +0 -1
- package/dist/cjs/src/api/Options.d.ts +0 -133
- package/dist/cjs/src/api/Options.d.ts.map +0 -1
- package/dist/cjs/src/collectors/dom/ClickCollector.d.ts +0 -12
- package/dist/cjs/src/collectors/dom/ClickCollector.d.ts.map +0 -1
- package/dist/cjs/src/collectors/dom/KeypressCollector.d.ts +0 -14
- package/dist/cjs/src/collectors/dom/KeypressCollector.d.ts.map +0 -1
- package/dist/cjs/src/collectors/dom/getTarget.d.ts +0 -11
- package/dist/cjs/src/collectors/dom/getTarget.d.ts.map +0 -1
- package/dist/cjs/src/collectors/dom/toSelector.d.ts +0 -59
- package/dist/cjs/src/collectors/dom/toSelector.d.ts.map +0 -1
- package/dist/cjs/src/collectors/error.d.ts +0 -9
- package/dist/cjs/src/collectors/error.d.ts.map +0 -1
- package/dist/cjs/src/collectors/http/HttpCollectorOptions.d.ts +0 -13
- package/dist/cjs/src/collectors/http/HttpCollectorOptions.d.ts.map +0 -1
- package/dist/cjs/src/collectors/http/fetch.d.ts +0 -13
- package/dist/cjs/src/collectors/http/fetch.d.ts.map +0 -1
- package/dist/cjs/src/collectors/http/fetchDecorator.d.ts +0 -22
- package/dist/cjs/src/collectors/http/fetchDecorator.d.ts.map +0 -1
- package/dist/cjs/src/collectors/http/xhr.d.ts +0 -14
- package/dist/cjs/src/collectors/http/xhr.d.ts.map +0 -1
- package/dist/cjs/src/collectors/http/xhrDecorator.d.ts +0 -8
- package/dist/cjs/src/collectors/http/xhrDecorator.d.ts.map +0 -1
- package/dist/cjs/src/collectors/rrweb/ContinuousReplay.d.ts +0 -20
- package/dist/cjs/src/collectors/rrweb/ContinuousReplay.d.ts.map +0 -1
- package/dist/cjs/src/collectors/rrweb/EventBuffer.d.ts +0 -10
- package/dist/cjs/src/collectors/rrweb/EventBuffer.d.ts.map +0 -1
- package/dist/cjs/src/collectors/rrweb/RollingBuffer.d.ts +0 -19
- package/dist/cjs/src/collectors/rrweb/RollingBuffer.d.ts.map +0 -1
- package/dist/cjs/src/collectors/rrweb/RollingReplay.d.ts +0 -18
- package/dist/cjs/src/collectors/rrweb/RollingReplay.d.ts.map +0 -1
- package/dist/cjs/src/collectors/rrweb/SessionReplay.d.ts +0 -17
- package/dist/cjs/src/collectors/rrweb/SessionReplay.d.ts.map +0 -1
- package/dist/cjs/src/collectors/rrweb/SessionReplayOptions.d.ts +0 -13
- package/dist/cjs/src/collectors/rrweb/SessionReplayOptions.d.ts.map +0 -1
- package/dist/cjs/src/filters/defaultUrlFilter.d.ts +0 -8
- package/dist/cjs/src/filters/defaultUrlFilter.d.ts.map +0 -1
- package/dist/cjs/src/filters/filterHttpBreadcrumb.d.ts +0 -9
- package/dist/cjs/src/filters/filterHttpBreadcrumb.d.ts.map +0 -1
- package/dist/cjs/src/filters/filterUrl.d.ts +0 -3
- package/dist/cjs/src/filters/filterUrl.d.ts.map +0 -1
- package/dist/cjs/src/index.d.ts +0 -9
- package/dist/cjs/src/index.d.ts.map +0 -1
- package/dist/cjs/src/inspectors.d.ts +0 -5
- package/dist/cjs/src/inspectors.d.ts.map +0 -1
- package/dist/cjs/src/options.d.ts +0 -81
- package/dist/cjs/src/options.d.ts.map +0 -1
- package/dist/cjs/src/randomUuidV4.d.ts +0 -12
- package/dist/cjs/src/randomUuidV4.d.ts.map +0 -1
- package/dist/cjs/src/stack/StackFrame.d.ts +0 -37
- package/dist/cjs/src/stack/StackFrame.d.ts.map +0 -1
- package/dist/cjs/src/stack/StackParser.d.ts +0 -56
- package/dist/cjs/src/stack/StackParser.d.ts.map +0 -1
- package/dist/cjs/src/stack/StackTrace.d.ts +0 -5
- package/dist/cjs/src/stack/StackTrace.d.ts.map +0 -1
- package/dist/esm/bundle.es.js +0 -21
- package/dist/esm/bundle.es.js.map +0 -1
- package/dist/esm/package.json +0 -5
- package/dist/esm/src/BrowserTelemetryImpl.d.ts +0 -31
- package/dist/esm/src/BrowserTelemetryImpl.d.ts.map +0 -1
- package/dist/esm/src/api/Breadcrumb.d.ts +0 -105
- package/dist/esm/src/api/Breadcrumb.d.ts.map +0 -1
- package/dist/esm/src/api/BrowserTelemetry.d.ts +0 -13
- package/dist/esm/src/api/BrowserTelemetry.d.ts.map +0 -1
- package/dist/esm/src/api/Collector.d.ts +0 -10
- package/dist/esm/src/api/Collector.d.ts.map +0 -1
- package/dist/esm/src/api/ErrorData.d.ts +0 -10
- package/dist/esm/src/api/ErrorData.d.ts.map +0 -1
- package/dist/esm/src/api/EventData.d.ts +0 -4
- package/dist/esm/src/api/EventData.d.ts.map +0 -1
- package/dist/esm/src/api/Options.d.ts +0 -133
- package/dist/esm/src/api/Options.d.ts.map +0 -1
- package/dist/esm/src/collectors/dom/ClickCollector.d.ts +0 -12
- package/dist/esm/src/collectors/dom/ClickCollector.d.ts.map +0 -1
- package/dist/esm/src/collectors/dom/KeypressCollector.d.ts +0 -14
- package/dist/esm/src/collectors/dom/KeypressCollector.d.ts.map +0 -1
- package/dist/esm/src/collectors/dom/getTarget.d.ts +0 -11
- package/dist/esm/src/collectors/dom/getTarget.d.ts.map +0 -1
- package/dist/esm/src/collectors/dom/toSelector.d.ts +0 -59
- package/dist/esm/src/collectors/dom/toSelector.d.ts.map +0 -1
- package/dist/esm/src/collectors/error.d.ts +0 -9
- package/dist/esm/src/collectors/error.d.ts.map +0 -1
- package/dist/esm/src/collectors/http/HttpCollectorOptions.d.ts +0 -13
- package/dist/esm/src/collectors/http/HttpCollectorOptions.d.ts.map +0 -1
- package/dist/esm/src/collectors/http/fetch.d.ts +0 -13
- package/dist/esm/src/collectors/http/fetch.d.ts.map +0 -1
- package/dist/esm/src/collectors/http/fetchDecorator.d.ts +0 -22
- package/dist/esm/src/collectors/http/fetchDecorator.d.ts.map +0 -1
- package/dist/esm/src/collectors/http/xhr.d.ts +0 -14
- package/dist/esm/src/collectors/http/xhr.d.ts.map +0 -1
- package/dist/esm/src/collectors/http/xhrDecorator.d.ts +0 -8
- package/dist/esm/src/collectors/http/xhrDecorator.d.ts.map +0 -1
- package/dist/esm/src/collectors/rrweb/ContinuousReplay.d.ts +0 -20
- package/dist/esm/src/collectors/rrweb/ContinuousReplay.d.ts.map +0 -1
- package/dist/esm/src/collectors/rrweb/EventBuffer.d.ts +0 -10
- package/dist/esm/src/collectors/rrweb/EventBuffer.d.ts.map +0 -1
- package/dist/esm/src/collectors/rrweb/RollingBuffer.d.ts +0 -19
- package/dist/esm/src/collectors/rrweb/RollingBuffer.d.ts.map +0 -1
- package/dist/esm/src/collectors/rrweb/RollingReplay.d.ts +0 -18
- package/dist/esm/src/collectors/rrweb/RollingReplay.d.ts.map +0 -1
- package/dist/esm/src/collectors/rrweb/SessionReplay.d.ts +0 -17
- package/dist/esm/src/collectors/rrweb/SessionReplay.d.ts.map +0 -1
- package/dist/esm/src/collectors/rrweb/SessionReplayOptions.d.ts +0 -13
- package/dist/esm/src/collectors/rrweb/SessionReplayOptions.d.ts.map +0 -1
- package/dist/esm/src/filters/defaultUrlFilter.d.ts +0 -8
- package/dist/esm/src/filters/defaultUrlFilter.d.ts.map +0 -1
- package/dist/esm/src/filters/filterHttpBreadcrumb.d.ts +0 -9
- package/dist/esm/src/filters/filterHttpBreadcrumb.d.ts.map +0 -1
- package/dist/esm/src/filters/filterUrl.d.ts +0 -3
- package/dist/esm/src/filters/filterUrl.d.ts.map +0 -1
- package/dist/esm/src/index.d.ts +0 -9
- package/dist/esm/src/index.d.ts.map +0 -1
- package/dist/esm/src/inspectors.d.ts +0 -5
- package/dist/esm/src/inspectors.d.ts.map +0 -1
- package/dist/esm/src/options.d.ts +0 -81
- package/dist/esm/src/options.d.ts.map +0 -1
- package/dist/esm/src/randomUuidV4.d.ts +0 -12
- package/dist/esm/src/randomUuidV4.d.ts.map +0 -1
- package/dist/esm/src/stack/StackFrame.d.ts +0 -37
- package/dist/esm/src/stack/StackFrame.d.ts.map +0 -1
- package/dist/esm/src/stack/StackParser.d.ts +0 -56
- package/dist/esm/src/stack/StackParser.d.ts.map +0 -1
- package/dist/esm/src/stack/StackTrace.d.ts +0 -5
- package/dist/esm/src/stack/StackTrace.d.ts.map +0 -1
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,746 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Defines the 'class' of the breadcrumb.
|
|
3
|
+
*/
|
|
4
|
+
type BreadcrumbClass = 'custom' | 'log' | 'navigation' | 'feature-management' | 'ui' | 'http';
|
|
5
|
+
/**
|
|
6
|
+
* Indicates the severity of the breadcrumb.
|
|
7
|
+
*/
|
|
8
|
+
type BreadcrumbLevel = 'error' | 'warning' | 'info' | 'debug';
|
|
9
|
+
/**
|
|
10
|
+
* Types of data support with breadcrumbs.
|
|
11
|
+
*/
|
|
12
|
+
type BreadcrumbDataValue = boolean | number | string;
|
|
13
|
+
/**
|
|
14
|
+
* Defines arbitrary data that may be associated with a breadcrumb.
|
|
15
|
+
*/
|
|
16
|
+
type BreadcrumbData = Record<string, BreadcrumbDataValue>;
|
|
17
|
+
/**
|
|
18
|
+
* Interface which defines a breadcrumb.
|
|
19
|
+
*/
|
|
20
|
+
interface Breadcrumb {
|
|
21
|
+
/**
|
|
22
|
+
* The class of the breadcrumb. This is the top level categorization of breadcrumbs.
|
|
23
|
+
*/
|
|
24
|
+
class: BreadcrumbClass;
|
|
25
|
+
/**
|
|
26
|
+
* When the event associated with the breadcrumb happened. The timestamp is in milliseconds since January 1, 1970
|
|
27
|
+
* Universal Coordinated Time (UTC)
|
|
28
|
+
*
|
|
29
|
+
* For most breadcrumbs this will not be different than the time of breadcrumb creation, but if there is a delay
|
|
30
|
+
* between the event and breadcrumb capture, then the time of the event should be used instead.
|
|
31
|
+
*/
|
|
32
|
+
timestamp: number;
|
|
33
|
+
/**
|
|
34
|
+
* The level of severity of the breadcrumb. The default choice of level should be `info` if there isn't a clear
|
|
35
|
+
* reason to use a different level.
|
|
36
|
+
*/
|
|
37
|
+
level: BreadcrumbLevel;
|
|
38
|
+
/**
|
|
39
|
+
* The type of the breadcrumb. Each class may be split into multiple types with the type more specifically
|
|
40
|
+
* categorizing the type of event.
|
|
41
|
+
*/
|
|
42
|
+
type?: string;
|
|
43
|
+
/**
|
|
44
|
+
* A message associated with the breadcrumb.
|
|
45
|
+
*/
|
|
46
|
+
message?: string;
|
|
47
|
+
/**
|
|
48
|
+
* Any data associated with the breadcrumb.
|
|
49
|
+
*/
|
|
50
|
+
data?: BreadcrumbData;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Utility type which allows for easy extension of base breadcrumb type.
|
|
54
|
+
*/
|
|
55
|
+
type ImplementsCrumb<U extends Breadcrumb> = U;
|
|
56
|
+
/**
|
|
57
|
+
* Type for custom breadcrumbs.
|
|
58
|
+
*/
|
|
59
|
+
type CustomBreadcrumb = ImplementsCrumb<{
|
|
60
|
+
class: 'custom';
|
|
61
|
+
timestamp: number;
|
|
62
|
+
level: BreadcrumbLevel;
|
|
63
|
+
type?: string;
|
|
64
|
+
message?: string;
|
|
65
|
+
data?: BreadcrumbData;
|
|
66
|
+
}>;
|
|
67
|
+
/**
|
|
68
|
+
* Type for log breadcrumbs.
|
|
69
|
+
*/
|
|
70
|
+
type LogBreadcrumb = ImplementsCrumb<{
|
|
71
|
+
class: 'log';
|
|
72
|
+
timestamp: number;
|
|
73
|
+
level: BreadcrumbLevel;
|
|
74
|
+
message: string;
|
|
75
|
+
data?: BreadcrumbData;
|
|
76
|
+
}>;
|
|
77
|
+
/**
|
|
78
|
+
* Type for navigation breadcrumbs.
|
|
79
|
+
*/
|
|
80
|
+
type NavigationBreadcrumb = ImplementsCrumb<{
|
|
81
|
+
class: 'navigation';
|
|
82
|
+
timestamp: number;
|
|
83
|
+
level: 'info';
|
|
84
|
+
type?: string;
|
|
85
|
+
data?: {
|
|
86
|
+
/**
|
|
87
|
+
* The location being navigated from. In a web application this would typically be a URL.
|
|
88
|
+
*/
|
|
89
|
+
from?: string;
|
|
90
|
+
/**
|
|
91
|
+
* The location being navigated to. In a web application this would typically be a URL.
|
|
92
|
+
*/
|
|
93
|
+
to?: string;
|
|
94
|
+
};
|
|
95
|
+
}>;
|
|
96
|
+
/**
|
|
97
|
+
* Type for feature management breadcrumbs.
|
|
98
|
+
*/
|
|
99
|
+
type FeatureManagementBreadcrumb = ImplementsCrumb<{
|
|
100
|
+
class: 'feature-management';
|
|
101
|
+
timestamp: number;
|
|
102
|
+
level: 'info';
|
|
103
|
+
type: 'flag-evaluated' | 'flag-detail-changed';
|
|
104
|
+
data?: {
|
|
105
|
+
/**
|
|
106
|
+
* The flag key.
|
|
107
|
+
*/
|
|
108
|
+
key?: string;
|
|
109
|
+
/**
|
|
110
|
+
* The evaluated value for simple types.
|
|
111
|
+
*/
|
|
112
|
+
value?: boolean | string | number;
|
|
113
|
+
};
|
|
114
|
+
}>;
|
|
115
|
+
/**
|
|
116
|
+
* Type for UI breadcrumbs.
|
|
117
|
+
*/
|
|
118
|
+
type UiBreadcrumb = ImplementsCrumb<{
|
|
119
|
+
class: 'ui';
|
|
120
|
+
timestamp: number;
|
|
121
|
+
level: 'info';
|
|
122
|
+
type: 'click' | 'input';
|
|
123
|
+
message: string;
|
|
124
|
+
}>;
|
|
125
|
+
/**
|
|
126
|
+
* Type for HTTP breadcrumbs.
|
|
127
|
+
*/
|
|
128
|
+
type HttpBreadcrumb = ImplementsCrumb<{
|
|
129
|
+
class: 'http';
|
|
130
|
+
timestamp: number;
|
|
131
|
+
level: 'error' | 'info';
|
|
132
|
+
type: 'xhr' | 'fetch';
|
|
133
|
+
data?: {
|
|
134
|
+
url?: string;
|
|
135
|
+
method?: string;
|
|
136
|
+
statusCode: number;
|
|
137
|
+
statusText: string;
|
|
138
|
+
};
|
|
139
|
+
}>;
|
|
140
|
+
|
|
141
|
+
/**
|
|
142
|
+
* A less constrained version of the LDInspection interface in order to allow for greater compatibility between
|
|
143
|
+
* SDK versions.
|
|
144
|
+
*
|
|
145
|
+
* This interface is not intended for use by application developers and is instead intended as a compatibility bridge
|
|
146
|
+
* to support multiple SDK versions.
|
|
147
|
+
*/
|
|
148
|
+
interface BrowserTelemetryInspector {
|
|
149
|
+
/**
|
|
150
|
+
* The telemetry package only requires flag-detail-changed inspectors and flag-used inspectors.
|
|
151
|
+
*/
|
|
152
|
+
type: 'flag-used' | 'flag-detail-changed';
|
|
153
|
+
/**
|
|
154
|
+
* The name of the inspector, used for debugging purposes.
|
|
155
|
+
*/
|
|
156
|
+
name: string;
|
|
157
|
+
/**
|
|
158
|
+
* Whether the inspector is synchronous.
|
|
159
|
+
*/
|
|
160
|
+
synchronous: boolean;
|
|
161
|
+
/**
|
|
162
|
+
* The method to call when the inspector is triggered.
|
|
163
|
+
*
|
|
164
|
+
* The typing here is intentionally loose to allow for greater compatibility between SDK versions.
|
|
165
|
+
* This function should ONLY be called by an SDK instance and not by an application developer.
|
|
166
|
+
*/
|
|
167
|
+
method: (...args: any[]) => void;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
/**
|
|
171
|
+
* Minimal client interface which allows for tracking. Should work with all client-side
|
|
172
|
+
* JavaScript packages.
|
|
173
|
+
*/
|
|
174
|
+
interface LDClientTracking {
|
|
175
|
+
track(key: string, data?: any, metricValue?: number): void;
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
/**
|
|
179
|
+
* Interface for browser-based telemetry collection in LaunchDarkly SDKs.
|
|
180
|
+
*
|
|
181
|
+
* This interface provides methods for collecting diagnostic information, error
|
|
182
|
+
* tracking, and SDK usage data in browser environments. It is designed to work
|
|
183
|
+
* with LaunchDarkly's JavaScript client-side SDKs for browser environments.
|
|
184
|
+
*/
|
|
185
|
+
interface BrowserTelemetry {
|
|
186
|
+
/**
|
|
187
|
+
* Returns an array of active SDK inspectors to use with SDK versions that do
|
|
188
|
+
* not support hooks.
|
|
189
|
+
*
|
|
190
|
+
* @returns An array of {@link BrowserTelemetryInspector} objects.
|
|
191
|
+
*/
|
|
192
|
+
inspectors(): BrowserTelemetryInspector[];
|
|
193
|
+
/**
|
|
194
|
+
* Captures an Error object for telemetry purposes.
|
|
195
|
+
*
|
|
196
|
+
* Use this method to manually capture errors during application operation.
|
|
197
|
+
* Unhandled errors are automatically captured, but this method can be used
|
|
198
|
+
* to capture errors which were handled, but are still useful for telemetry.
|
|
199
|
+
*
|
|
200
|
+
* @param exception The Error object to capture
|
|
201
|
+
*/
|
|
202
|
+
captureError(exception: Error): void;
|
|
203
|
+
/**
|
|
204
|
+
* Captures a browser ErrorEvent for telemetry purposes.
|
|
205
|
+
*
|
|
206
|
+
* This method can be used to capture a manually created error event. Use this
|
|
207
|
+
* function to represent application specific errors which cannot be captured
|
|
208
|
+
* automatically or are not `Error` types.
|
|
209
|
+
*
|
|
210
|
+
* For most errors {@link captureError} should be used.
|
|
211
|
+
*
|
|
212
|
+
* @param errorEvent The ErrorEvent to capture
|
|
213
|
+
*/
|
|
214
|
+
captureErrorEvent(errorEvent: ErrorEvent): void;
|
|
215
|
+
/**
|
|
216
|
+
* Add a breadcrumb which will be included with telemetry events.
|
|
217
|
+
*
|
|
218
|
+
* Many breadcrumbs can be automatically captured, but this method can be
|
|
219
|
+
* used for capturing manual breadcrumbs. For application specific breadcrumbs
|
|
220
|
+
* the {@link CustomBreadcrumb} type can be used.
|
|
221
|
+
*
|
|
222
|
+
* @param breadcrumb The breadcrumb to add.
|
|
223
|
+
*/
|
|
224
|
+
addBreadcrumb(breadcrumb: Breadcrumb): void;
|
|
225
|
+
/**
|
|
226
|
+
* Registers a LaunchDarkly client instance for telemetry tracking.
|
|
227
|
+
*
|
|
228
|
+
* This method connects the telemetry system to the specific LaunchDarkly
|
|
229
|
+
* client instance. The client instance will be used to report telemetry
|
|
230
|
+
* to LaunchDarkly and also for collecting flag and context data.
|
|
231
|
+
*
|
|
232
|
+
* @param client The {@link LDClientTracking} instance to register for
|
|
233
|
+
* telemetry
|
|
234
|
+
*/
|
|
235
|
+
register(client: LDClientTracking): void;
|
|
236
|
+
/**
|
|
237
|
+
* Closes the telemetry system and stops data collection.
|
|
238
|
+
*
|
|
239
|
+
* In general usage this method is not required, but it can be used in cases
|
|
240
|
+
* where collection needs to be stopped independent of application
|
|
241
|
+
* lifecycle.
|
|
242
|
+
*/
|
|
243
|
+
close(): void;
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
/**
|
|
247
|
+
* Interface for capturing telemetry data.
|
|
248
|
+
*/
|
|
249
|
+
interface Recorder {
|
|
250
|
+
/**
|
|
251
|
+
* Capture an error.
|
|
252
|
+
*
|
|
253
|
+
* @param exception The exception to capture.
|
|
254
|
+
*/
|
|
255
|
+
captureError(exception: Error): void;
|
|
256
|
+
/**
|
|
257
|
+
* Capture an error event.
|
|
258
|
+
*
|
|
259
|
+
* @param errorEvent The error event to capture.
|
|
260
|
+
*/
|
|
261
|
+
captureErrorEvent(errorEvent: ErrorEvent): void;
|
|
262
|
+
/**
|
|
263
|
+
* Add a breadcrumb. When a capture is performed breadcrumb data can be
|
|
264
|
+
* included with it.
|
|
265
|
+
*
|
|
266
|
+
* @param breadcrumb The breadcrumb to add.
|
|
267
|
+
*/
|
|
268
|
+
addBreadcrumb(breadcrumb: Breadcrumb): void;
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
/**
|
|
272
|
+
* Interface to be implemented by collectors.
|
|
273
|
+
*
|
|
274
|
+
* Collectors collect data and inform the client of events.
|
|
275
|
+
*
|
|
276
|
+
* For instance a collector may notify the telemetry instance of HTTP navigation
|
|
277
|
+
* or of UI events. A collector can be created independently of a {@link Recorder}
|
|
278
|
+
* and can begin collecting immediately. It may queue information until it can
|
|
279
|
+
* be registered with a recorder.
|
|
280
|
+
*/
|
|
281
|
+
interface Collector {
|
|
282
|
+
/**
|
|
283
|
+
* Register the collector with a recorder.
|
|
284
|
+
* @param recorder Recorder to report events or breadcrumbs to.
|
|
285
|
+
* @param sessionId The current session ID.
|
|
286
|
+
*/
|
|
287
|
+
register(recorder: Recorder, sessionId: string): void;
|
|
288
|
+
/**
|
|
289
|
+
* Unregister the collector. It will stop sending events to the recorder.
|
|
290
|
+
*/
|
|
291
|
+
unregister(): void;
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
/**
|
|
295
|
+
* Represents a frame in a stack.
|
|
296
|
+
*/
|
|
297
|
+
interface StackFrame {
|
|
298
|
+
/**
|
|
299
|
+
* The fileName, relative to the project root, of the stack frame.
|
|
300
|
+
*/
|
|
301
|
+
fileName?: string;
|
|
302
|
+
/**
|
|
303
|
+
* The name of the function the frame occurs in.
|
|
304
|
+
*/
|
|
305
|
+
function?: string;
|
|
306
|
+
/**
|
|
307
|
+
* The line number in the file where the frame originates.
|
|
308
|
+
*/
|
|
309
|
+
line?: number;
|
|
310
|
+
/**
|
|
311
|
+
* The column in the file where the frame originates.
|
|
312
|
+
*/
|
|
313
|
+
col?: number;
|
|
314
|
+
/**
|
|
315
|
+
* A number of source code lines before the line the frame originates from.
|
|
316
|
+
*
|
|
317
|
+
* The number of lines is configurable.
|
|
318
|
+
*/
|
|
319
|
+
srcBefore?: string[];
|
|
320
|
+
/**
|
|
321
|
+
* The line of source code the frame originates from.
|
|
322
|
+
*
|
|
323
|
+
* This line may be partial if the line is too large.
|
|
324
|
+
*/
|
|
325
|
+
srcLine?: string;
|
|
326
|
+
/**
|
|
327
|
+
* A number of source code lines after the line the frame originates from.
|
|
328
|
+
*
|
|
329
|
+
* The number of lines is configurable.
|
|
330
|
+
*/
|
|
331
|
+
srcAfter?: string[];
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
/**
|
|
335
|
+
* Represents a stack trace.
|
|
336
|
+
*/
|
|
337
|
+
interface StackTrace {
|
|
338
|
+
/**
|
|
339
|
+
* Frames associated with the stack. If no frames can be collected, then this
|
|
340
|
+
* will be an empty array.
|
|
341
|
+
*/
|
|
342
|
+
frames: StackFrame[];
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
/**
|
|
346
|
+
* Interface representing error data.
|
|
347
|
+
*/
|
|
348
|
+
interface ErrorData {
|
|
349
|
+
/**
|
|
350
|
+
* The type of the error.
|
|
351
|
+
*/
|
|
352
|
+
type: string;
|
|
353
|
+
/**
|
|
354
|
+
* A message associated with the error.
|
|
355
|
+
*/
|
|
356
|
+
message: string;
|
|
357
|
+
/**
|
|
358
|
+
* The stack trace for the error.
|
|
359
|
+
*/
|
|
360
|
+
stack: StackTrace;
|
|
361
|
+
/**
|
|
362
|
+
* Breadcrumbs leading up to the error.
|
|
363
|
+
*/
|
|
364
|
+
breadcrumbs: Breadcrumb[];
|
|
365
|
+
/**
|
|
366
|
+
* The ID of the session during which the error occurred.
|
|
367
|
+
*/
|
|
368
|
+
sessionId: string;
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
/**
|
|
372
|
+
* Minimal logging implementation. Compatible with an LDLogger.
|
|
373
|
+
*
|
|
374
|
+
* implementation node: Does not use a logging implementation exported by the SDK.
|
|
375
|
+
* This allows usage with multiple SDK versions.
|
|
376
|
+
*/
|
|
377
|
+
interface MinLogger {
|
|
378
|
+
/**
|
|
379
|
+
* The warning logger.
|
|
380
|
+
*
|
|
381
|
+
* @param args
|
|
382
|
+
* A sequence of any JavaScript values.
|
|
383
|
+
*/
|
|
384
|
+
warn(...args: any[]): void;
|
|
385
|
+
}
|
|
386
|
+
|
|
387
|
+
/**
|
|
388
|
+
* Interface for URL filters.
|
|
389
|
+
*
|
|
390
|
+
* Given a URL the filter may return a different string to represent that URL.
|
|
391
|
+
* This string will be included in the telemetry events instead of the original.
|
|
392
|
+
*
|
|
393
|
+
* The URL will be filtered by SDK internal filters before this function is called.
|
|
394
|
+
*
|
|
395
|
+
* To redact a URL entirely return an empty string.
|
|
396
|
+
*
|
|
397
|
+
* Example:
|
|
398
|
+
* customUrlFilter: (url) => {
|
|
399
|
+
* if (url.includes('secret')) {
|
|
400
|
+
* return ''
|
|
401
|
+
* }
|
|
402
|
+
* return url;
|
|
403
|
+
* }
|
|
404
|
+
*/
|
|
405
|
+
interface UrlFilter {
|
|
406
|
+
(url: string): string;
|
|
407
|
+
}
|
|
408
|
+
/**
|
|
409
|
+
* Interface for breadcrumb filters.
|
|
410
|
+
*
|
|
411
|
+
* Given a breadcrumb the filter may return a modified breadcrumb or undefined to exclude the breadcrumb.
|
|
412
|
+
*/
|
|
413
|
+
interface BreadcrumbFilter {
|
|
414
|
+
(breadcrumb: Breadcrumb): Breadcrumb | undefined;
|
|
415
|
+
}
|
|
416
|
+
/**
|
|
417
|
+
* Interface for filtering error data before it is sent to LaunchDarkly.
|
|
418
|
+
*
|
|
419
|
+
* Given {@link ErrorData} the filter may return modified data or undefined to exclude the breadcrumb.
|
|
420
|
+
*/
|
|
421
|
+
interface ErrorDataFilter {
|
|
422
|
+
(event: ErrorData): ErrorData | undefined;
|
|
423
|
+
}
|
|
424
|
+
interface HttpBreadcrumbOptions {
|
|
425
|
+
/**
|
|
426
|
+
* If fetch should be instrumented and breadcrumbs included for fetch requests.
|
|
427
|
+
*
|
|
428
|
+
* Defaults to true.
|
|
429
|
+
*/
|
|
430
|
+
instrumentFetch?: boolean;
|
|
431
|
+
/**
|
|
432
|
+
* If XMLHttpRequests should be instrumented and breadcrumbs included for XMLHttpRequests.
|
|
433
|
+
*
|
|
434
|
+
* Defaults to true.
|
|
435
|
+
*/
|
|
436
|
+
instrumentXhr?: boolean;
|
|
437
|
+
/**
|
|
438
|
+
* Customize URL filtering. This will be applied in addition to some baseline filtering included
|
|
439
|
+
* which redacts components of LaunchDarkly URLs.
|
|
440
|
+
*/
|
|
441
|
+
customUrlFilter?: UrlFilter;
|
|
442
|
+
}
|
|
443
|
+
interface StackOptions {
|
|
444
|
+
/**
|
|
445
|
+
* Configuration that controls how source is captured.
|
|
446
|
+
*/
|
|
447
|
+
source?: {
|
|
448
|
+
/**
|
|
449
|
+
* The number of lines captured before the originating line.
|
|
450
|
+
*
|
|
451
|
+
* Defaults to 3.
|
|
452
|
+
*/
|
|
453
|
+
beforeLines?: number;
|
|
454
|
+
/**
|
|
455
|
+
* The number of lines captured after the originating line.
|
|
456
|
+
*
|
|
457
|
+
* Defaults to 3.
|
|
458
|
+
*/
|
|
459
|
+
afterLines?: number;
|
|
460
|
+
/**
|
|
461
|
+
* The maximum length of source line to include. Lines longer than this will be
|
|
462
|
+
* trimmed.
|
|
463
|
+
*
|
|
464
|
+
* Defaults to 280.
|
|
465
|
+
*/
|
|
466
|
+
maxLineLength?: number;
|
|
467
|
+
};
|
|
468
|
+
}
|
|
469
|
+
/**
|
|
470
|
+
* Options for configuring browser telemetry.
|
|
471
|
+
*/
|
|
472
|
+
interface Options {
|
|
473
|
+
/**
|
|
474
|
+
* The maximum number of pending events. Events may be captured before the LaunchDarkly
|
|
475
|
+
* SDK is initialized and these are stored until they can be sent. This only affects the
|
|
476
|
+
* events captured during initialization.
|
|
477
|
+
*/
|
|
478
|
+
maxPendingEvents?: number;
|
|
479
|
+
/**
|
|
480
|
+
* Properties related to automatic breadcrumb collection.
|
|
481
|
+
*/
|
|
482
|
+
breadcrumbs?: {
|
|
483
|
+
/**
|
|
484
|
+
* Set the maximum number of breadcrumbs. Defaults to 50.
|
|
485
|
+
*/
|
|
486
|
+
maxBreadcrumbs?: number;
|
|
487
|
+
/**
|
|
488
|
+
* True to enable automatic evaluation breadcrumbs. Defaults to true.
|
|
489
|
+
*/
|
|
490
|
+
evaluations?: boolean;
|
|
491
|
+
/**
|
|
492
|
+
* True to enable flag change breadcrumbs. Defaults to true.
|
|
493
|
+
*/
|
|
494
|
+
flagChange?: boolean;
|
|
495
|
+
/**
|
|
496
|
+
* True to enable click breadcrumbs. Defaults to true.
|
|
497
|
+
*/
|
|
498
|
+
click?: boolean;
|
|
499
|
+
/**
|
|
500
|
+
* True to enable input breadcrumbs for keypresses. Defaults to true.
|
|
501
|
+
*
|
|
502
|
+
* Input breadcrumbs do not include entered text, just that text was entered.
|
|
503
|
+
*/
|
|
504
|
+
keyboardInput?: boolean;
|
|
505
|
+
/**
|
|
506
|
+
* Controls instrumentation and breadcrumbs for HTTP requests.
|
|
507
|
+
* The default is to instrument XMLHttpRequests and fetch requests.
|
|
508
|
+
*
|
|
509
|
+
* `false` to disable all HTTP breadcrumbs and instrumentation.
|
|
510
|
+
*
|
|
511
|
+
* Example:
|
|
512
|
+
* ```
|
|
513
|
+
* // This would instrument only XmlHttpRequests
|
|
514
|
+
* http: {
|
|
515
|
+
* instrumentFetch: false
|
|
516
|
+
* instrumentXhr: true
|
|
517
|
+
* }
|
|
518
|
+
*
|
|
519
|
+
* // Disable all HTTP instrumentation:
|
|
520
|
+
* http: false
|
|
521
|
+
* ```
|
|
522
|
+
*/
|
|
523
|
+
http?: HttpBreadcrumbOptions | false;
|
|
524
|
+
/**
|
|
525
|
+
* Custom breadcrumb filters.
|
|
526
|
+
*
|
|
527
|
+
* Can be used to redact or modify breadcrumbs.
|
|
528
|
+
*
|
|
529
|
+
* Example:
|
|
530
|
+
* ```
|
|
531
|
+
* // We want to redact any click events that include the message 'sneaky-button'
|
|
532
|
+
* filters: [
|
|
533
|
+
* (breadcrumb) => {
|
|
534
|
+
* if(
|
|
535
|
+
* breadcrumb.class === 'ui' &&
|
|
536
|
+
* breadcrumb.type === 'click' &&
|
|
537
|
+
* breadcrumb.message?.includes('sneaky-button')
|
|
538
|
+
* ) {
|
|
539
|
+
* return;
|
|
540
|
+
* }
|
|
541
|
+
* return breadcrumb;
|
|
542
|
+
* }
|
|
543
|
+
* ]
|
|
544
|
+
* ```
|
|
545
|
+
*
|
|
546
|
+
* If you want to redact or modify URLs in breadcrumbs, then a urlFilter should be used.
|
|
547
|
+
*
|
|
548
|
+
* If any breadcrumb filters throw an exception while processing a breadcrumb, then that breadcrumb will be excluded.
|
|
549
|
+
*
|
|
550
|
+
* If any breadcrumbFilter cannot be executed, for example because it is not a function, then all breadcrumbs will
|
|
551
|
+
* be excluded.
|
|
552
|
+
*/
|
|
553
|
+
filters?: BreadcrumbFilter[];
|
|
554
|
+
};
|
|
555
|
+
/**
|
|
556
|
+
* Additional, or custom, collectors.
|
|
557
|
+
*/
|
|
558
|
+
collectors?: Collector[];
|
|
559
|
+
/**
|
|
560
|
+
* Configuration that controls the capture of the stack trace.
|
|
561
|
+
*/
|
|
562
|
+
stack?: StackOptions;
|
|
563
|
+
/**
|
|
564
|
+
* Logger to use for warnings.
|
|
565
|
+
*
|
|
566
|
+
* This option is compatible with the `LDLogger` interface used by the LaunchDarkly SDK.
|
|
567
|
+
*
|
|
568
|
+
* If this option is not provided, the logs will be written to console.log unless the LaunchDarkly SDK is registered,
|
|
569
|
+
* and the registered SDK instance exposes its logger. In which case, the logs will be written to the registered SDK's
|
|
570
|
+
* logger. The 3.x SDKs do not expose their logger.
|
|
571
|
+
*/
|
|
572
|
+
logger?: MinLogger;
|
|
573
|
+
/**
|
|
574
|
+
* Custom error data filters.
|
|
575
|
+
*
|
|
576
|
+
* Can be used to redact or modify error data.
|
|
577
|
+
*
|
|
578
|
+
* If any filter throws an exception, then the error data will be discarded.
|
|
579
|
+
*
|
|
580
|
+
* For filtering breadcrumbs or URLs in error data, refer to the `breadcrumbs.filters` option in {@link breadcrumbs} and
|
|
581
|
+
* `breadcrumbs.http.customUrlFilter` - {@link HttpBreadcrumbOptions.customUrlFilter}.
|
|
582
|
+
*/
|
|
583
|
+
errorFilters?: ErrorDataFilter[];
|
|
584
|
+
}
|
|
585
|
+
|
|
586
|
+
/**
|
|
587
|
+
* Minimal client interface which allows for loggng. Works with 4.x and higher versions of the javascript client.
|
|
588
|
+
*/
|
|
589
|
+
interface LDClientLogging {
|
|
590
|
+
readonly logger: MinLogger;
|
|
591
|
+
}
|
|
592
|
+
|
|
593
|
+
/**
|
|
594
|
+
* Minimal client interface which allows waiting for initialization.
|
|
595
|
+
*/
|
|
596
|
+
interface LDClientInitialization {
|
|
597
|
+
waitForInitialization(timeout?: number): Promise<void>;
|
|
598
|
+
}
|
|
599
|
+
|
|
600
|
+
/**
|
|
601
|
+
* Initialize the LaunchDarkly telemetry client
|
|
602
|
+
*
|
|
603
|
+
* This method should be called one time as early as possible in the application lifecycle.
|
|
604
|
+
*
|
|
605
|
+
* @example
|
|
606
|
+
* ```
|
|
607
|
+
* import { initTelemetry } from '@launchdarkly/browser-telemetry';
|
|
608
|
+
*
|
|
609
|
+
* initTelemetry();
|
|
610
|
+
* ```
|
|
611
|
+
*
|
|
612
|
+
* After initialization the telemetry client must be registered with the LaunchDarkly SDK client.
|
|
613
|
+
*
|
|
614
|
+
* @example
|
|
615
|
+
* ```
|
|
616
|
+
* import { initTelemetry, register } from '@launchdarkly/browser-telemetry';
|
|
617
|
+
*
|
|
618
|
+
* initTelemetry();
|
|
619
|
+
*
|
|
620
|
+
* // Create your LaunchDarkly client following the LaunchDarkly SDK documentation.
|
|
621
|
+
*
|
|
622
|
+
* register(ldClient);
|
|
623
|
+
* ```
|
|
624
|
+
*
|
|
625
|
+
* If using the 3.x version of the LaunchDarkly SDK, then you must also add inspectors when initializing your LaunchDarkly client.
|
|
626
|
+
* This allows for integration with feature flag data.
|
|
627
|
+
*
|
|
628
|
+
* @example
|
|
629
|
+
* ```
|
|
630
|
+
* import { initTelemetry, register, inspectors } from '@launchdarkly/browser-telemetry';
|
|
631
|
+
* import { init } from 'launchdarkly-js-client-sdk';
|
|
632
|
+
*
|
|
633
|
+
* initTelemetry();
|
|
634
|
+
*
|
|
635
|
+
* const ldClient = init('YOUR_CLIENT_SIDE_ID', {
|
|
636
|
+
* inspectors: inspectors()
|
|
637
|
+
* });
|
|
638
|
+
*
|
|
639
|
+
* register(ldClient);
|
|
640
|
+
* ```
|
|
641
|
+
*
|
|
642
|
+
* @param options The options to use for the telemetry instance. Refer to {@link Options} for more information.
|
|
643
|
+
*/
|
|
644
|
+
declare function initTelemetry(options?: Options): void;
|
|
645
|
+
/**
|
|
646
|
+
* Get the telemetry instance.
|
|
647
|
+
*
|
|
648
|
+
* In typical operation this method doesn't need to be called. Instead the functions exported by this package directly
|
|
649
|
+
* use the telemetry instance.
|
|
650
|
+
*
|
|
651
|
+
* This function can be used when the telemetry instance needs to be injected into code instead of accessed globally.
|
|
652
|
+
*
|
|
653
|
+
* @returns The telemetry instance, or undefined if it has not been initialized.
|
|
654
|
+
*/
|
|
655
|
+
declare function getTelemetryInstance(): BrowserTelemetry | undefined;
|
|
656
|
+
|
|
657
|
+
/**
|
|
658
|
+
* Returns an array of active SDK inspectors to use with SDK versions that do
|
|
659
|
+
* not support hooks.
|
|
660
|
+
*
|
|
661
|
+
* Telemetry must be initialized, using {@link initTelemetry} before calling this method.
|
|
662
|
+
* If telemetry is not initialized, this method will return an empty array.
|
|
663
|
+
*
|
|
664
|
+
* @returns An array of {@link BrowserTelemetryInspector} objects.
|
|
665
|
+
*/
|
|
666
|
+
declare function inspectors(): BrowserTelemetryInspector[];
|
|
667
|
+
/**
|
|
668
|
+
* Captures an Error object for telemetry purposes.
|
|
669
|
+
*
|
|
670
|
+
* Use this method to manually capture errors during application operation.
|
|
671
|
+
* Unhandled errors are automatically captured, but this method can be used
|
|
672
|
+
* to capture errors which were handled, but are still useful for telemetry.
|
|
673
|
+
*
|
|
674
|
+
* Telemetry must be initialized, using {@link initTelemetry} before calling this method.
|
|
675
|
+
* If telemetry is not initialized, then the exception will be discarded.
|
|
676
|
+
*
|
|
677
|
+
* @param exception The Error object to capture
|
|
678
|
+
*/
|
|
679
|
+
declare function captureError(exception: Error): void;
|
|
680
|
+
/**
|
|
681
|
+
* Captures a browser ErrorEvent for telemetry purposes.
|
|
682
|
+
*
|
|
683
|
+
* This method can be used to capture a manually created error event. Use this
|
|
684
|
+
* function to represent application specific errors which cannot be captured
|
|
685
|
+
* automatically or are not `Error` types.
|
|
686
|
+
*
|
|
687
|
+
* For most errors {@link captureError} should be used.
|
|
688
|
+
*
|
|
689
|
+
* Telemetry must be initialized, using {@link initTelemetry} before calling this method.
|
|
690
|
+
* If telemetry is not initialized, then the error event will be discarded.
|
|
691
|
+
*
|
|
692
|
+
* @param errorEvent The ErrorEvent to capture
|
|
693
|
+
*/
|
|
694
|
+
declare function captureErrorEvent(errorEvent: ErrorEvent): void;
|
|
695
|
+
/**
|
|
696
|
+
* Add a breadcrumb which will be included with telemetry events.
|
|
697
|
+
*
|
|
698
|
+
* Many breadcrumbs can be automatically captured, but this method can be
|
|
699
|
+
* used for capturing manual breadcrumbs. For application specific breadcrumbs
|
|
700
|
+
* the {@link CustomBreadcrumb} type can be used.
|
|
701
|
+
*
|
|
702
|
+
* Telemetry must be initialized, using {@link initTelemetry} before calling this method.
|
|
703
|
+
* If telemetry is not initialized, then the breadcrumb will be discarded.
|
|
704
|
+
*
|
|
705
|
+
* @param breadcrumb The breadcrumb to add.
|
|
706
|
+
*/
|
|
707
|
+
declare function addBreadcrumb(breadcrumb: Breadcrumb): void;
|
|
708
|
+
/**
|
|
709
|
+
* Registers a LaunchDarkly client instance for telemetry tracking.
|
|
710
|
+
*
|
|
711
|
+
* This method connects the telemetry system to the specific LaunchDarkly
|
|
712
|
+
* client instance. The client instance will be used to report telemetry
|
|
713
|
+
* to LaunchDarkly and also for collecting flag and context data.
|
|
714
|
+
*
|
|
715
|
+
* Telemetry must be initialized, using {@link initTelemetry} before calling this method.
|
|
716
|
+
* If telemetry is not initialized, then the client will not be registered, and no events will be sent to LaunchDarkly.
|
|
717
|
+
*
|
|
718
|
+
* @param client The {@link LDClientTracking} instance to register for
|
|
719
|
+
* telemetry.
|
|
720
|
+
*/
|
|
721
|
+
declare function register(client: LDClientTracking): void;
|
|
722
|
+
/**
|
|
723
|
+
* Closes the telemetry system and stops data collection.
|
|
724
|
+
*
|
|
725
|
+
* In general usage this method is not required, but it can be used in cases
|
|
726
|
+
* where collection needs to be stopped independent of application
|
|
727
|
+
* lifecycle.
|
|
728
|
+
*
|
|
729
|
+
* If telemetry is not initialized, using {@link initTelemetry}, then this method will do nothing.
|
|
730
|
+
*/
|
|
731
|
+
declare function close(): void;
|
|
732
|
+
|
|
733
|
+
/**
|
|
734
|
+
* Initialize a new telemetry instance.
|
|
735
|
+
*
|
|
736
|
+
* This instance is not global. Generally developers should use {@link initTelemetry} instead.
|
|
737
|
+
*
|
|
738
|
+
* If for some reason multiple telemetry instances are needed, this method can be used to create a new instance.
|
|
739
|
+
* Instances are not aware of each other and may send duplicate data from automatically captured events.
|
|
740
|
+
*
|
|
741
|
+
* @param options The options to use for the telemetry instance.
|
|
742
|
+
* @returns A telemetry instance.
|
|
743
|
+
*/
|
|
744
|
+
declare function initTelemetryInstance(options?: Options): BrowserTelemetry;
|
|
745
|
+
|
|
746
|
+
export { type Breadcrumb, type BreadcrumbClass, type BreadcrumbData, type BreadcrumbDataValue, type BreadcrumbFilter, type BreadcrumbLevel, type BrowserTelemetry, type BrowserTelemetryInspector, type Collector, type CustomBreadcrumb, type ErrorData, type ErrorDataFilter, type FeatureManagementBreadcrumb, type HttpBreadcrumb, type HttpBreadcrumbOptions, type ImplementsCrumb, type LDClientInitialization, type LDClientLogging, type LDClientTracking, type LogBreadcrumb, type MinLogger, type NavigationBreadcrumb, type Options, type Recorder, type StackFrame, type StackOptions, type StackTrace, type UiBreadcrumb, type UrlFilter, addBreadcrumb, captureError, captureErrorEvent, close, getTelemetryInstance, initTelemetry, initTelemetryInstance, inspectors, register };
|