@openreplay/tracker 16.4.10 → 17.0.0

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.
Files changed (69) hide show
  1. package/dist/cjs/common/messages.gen.d.ts +57 -7
  2. package/dist/cjs/entry.js +564 -1453
  3. package/dist/cjs/entry.js.map +1 -1
  4. package/dist/cjs/index.js +526 -1373
  5. package/dist/cjs/index.js.map +1 -1
  6. package/dist/cjs/main/app/guards.d.ts +1 -0
  7. package/dist/cjs/main/app/index.d.ts +5 -12
  8. package/dist/cjs/main/app/messages.gen.d.ts +7 -2
  9. package/dist/cjs/main/app/observer/observer.d.ts +4 -0
  10. package/dist/cjs/main/app/observer/top_observer.d.ts +3 -1
  11. package/dist/cjs/main/index.d.ts +9 -13
  12. package/dist/cjs/main/modules/conditionsManager.d.ts +6 -1
  13. package/dist/cjs/main/modules/longAnimationTask.d.ts +25 -0
  14. package/dist/cjs/main/modules/tagWatcher.d.ts +1 -1
  15. package/dist/cjs/main/modules/webAnimations.d.ts +9 -0
  16. package/dist/cjs/main/singleton.d.ts +0 -7
  17. package/dist/cjs/main/utils.d.ts +3 -0
  18. package/dist/lib/common/messages.gen.d.ts +57 -7
  19. package/dist/lib/entry.js +564 -1453
  20. package/dist/lib/entry.js.map +1 -1
  21. package/dist/lib/index.js +526 -1373
  22. package/dist/lib/index.js.map +1 -1
  23. package/dist/lib/main/app/guards.d.ts +1 -0
  24. package/dist/lib/main/app/index.d.ts +5 -12
  25. package/dist/lib/main/app/messages.gen.d.ts +7 -2
  26. package/dist/lib/main/app/observer/observer.d.ts +4 -0
  27. package/dist/lib/main/app/observer/top_observer.d.ts +3 -1
  28. package/dist/lib/main/index.d.ts +9 -13
  29. package/dist/lib/main/modules/conditionsManager.d.ts +6 -1
  30. package/dist/lib/main/modules/longAnimationTask.d.ts +25 -0
  31. package/dist/lib/main/modules/tagWatcher.d.ts +1 -1
  32. package/dist/lib/main/modules/webAnimations.d.ts +9 -0
  33. package/dist/lib/main/singleton.d.ts +0 -7
  34. package/dist/lib/main/utils.d.ts +3 -0
  35. package/dist/types/common/messages.gen.d.ts +57 -7
  36. package/dist/types/main/app/guards.d.ts +1 -0
  37. package/dist/types/main/app/index.d.ts +5 -12
  38. package/dist/types/main/app/messages.gen.d.ts +7 -2
  39. package/dist/types/main/app/observer/observer.d.ts +4 -0
  40. package/dist/types/main/app/observer/top_observer.d.ts +3 -1
  41. package/dist/types/main/index.d.ts +9 -13
  42. package/dist/types/main/modules/conditionsManager.d.ts +6 -1
  43. package/dist/types/main/modules/longAnimationTask.d.ts +25 -0
  44. package/dist/types/main/modules/tagWatcher.d.ts +1 -1
  45. package/dist/types/main/modules/webAnimations.d.ts +9 -0
  46. package/dist/types/main/singleton.d.ts +0 -7
  47. package/dist/types/main/utils.d.ts +3 -0
  48. package/package.json +13 -13
  49. package/dist/cjs/main/modules/featureFlags.d.ts +0 -25
  50. package/dist/cjs/main/modules/userTesting/SignalManager.d.ts +0 -29
  51. package/dist/cjs/main/modules/userTesting/dnd.d.ts +0 -1
  52. package/dist/cjs/main/modules/userTesting/index.d.ts +0 -45
  53. package/dist/cjs/main/modules/userTesting/recorder.d.ts +0 -24
  54. package/dist/cjs/main/modules/userTesting/styles.d.ts +0 -277
  55. package/dist/cjs/main/modules/userTesting/utils.d.ts +0 -9
  56. package/dist/lib/main/modules/featureFlags.d.ts +0 -25
  57. package/dist/lib/main/modules/userTesting/SignalManager.d.ts +0 -29
  58. package/dist/lib/main/modules/userTesting/dnd.d.ts +0 -1
  59. package/dist/lib/main/modules/userTesting/index.d.ts +0 -45
  60. package/dist/lib/main/modules/userTesting/recorder.d.ts +0 -24
  61. package/dist/lib/main/modules/userTesting/styles.d.ts +0 -277
  62. package/dist/lib/main/modules/userTesting/utils.d.ts +0 -9
  63. package/dist/types/main/modules/featureFlags.d.ts +0 -25
  64. package/dist/types/main/modules/userTesting/SignalManager.d.ts +0 -29
  65. package/dist/types/main/modules/userTesting/dnd.d.ts +0 -1
  66. package/dist/types/main/modules/userTesting/index.d.ts +0 -45
  67. package/dist/types/main/modules/userTesting/recorder.d.ts +0 -24
  68. package/dist/types/main/modules/userTesting/styles.d.ts +0 -277
  69. package/dist/types/main/modules/userTesting/utils.d.ts +0 -9
@@ -18,6 +18,7 @@ type TagTypeMap = {
18
18
  style: HTMLStyleElement | SVGStyleElement;
19
19
  link: HTMLLinkElement;
20
20
  canvas: HTMLCanvasElement;
21
+ slot: HTMLSlotElement;
21
22
  };
22
23
  export declare function hasTag<T extends keyof TagTypeMap>(el: Node, tagName: T): el is TagTypeMap[typeof tagName];
23
24
  export {};
@@ -1,6 +1,5 @@
1
1
  import type { Options as WebworkerOptions } from '../../common/interaction.js';
2
2
  import AttributeSender from '../modules/attributeSender.js';
3
- import FeatureFlags from '../modules/featureFlags.js';
4
3
  import type { Options as NetworkOptions } from '../modules/network.js';
5
4
  import Logger, { ILogLevel } from './logger.js';
6
5
  import Message from './messages.gen.js';
@@ -152,13 +151,11 @@ export default class App {
152
151
  private readonly version;
153
152
  private worker?;
154
153
  attributeSender: AttributeSender;
155
- featureFlags: FeatureFlags;
156
154
  socketMode: boolean;
157
155
  private compressionThreshold;
158
156
  private readonly bc;
159
157
  private readonly contextId;
160
158
  private canvasRecorder;
161
- private uxtManager;
162
159
  private conditionsManager;
163
160
  private readonly tagWatcher;
164
161
  private canStart;
@@ -166,7 +163,6 @@ export default class App {
166
163
  private pageFrames;
167
164
  private frameOderNumber;
168
165
  private frameLevel;
169
- private features;
170
166
  private emptyBatchCounter;
171
167
  constructor(projectKey: string, sessionToken: string | undefined, options: Partial<Options>, signalError: (error: string, apis: string[]) => void, insideIframe: boolean);
172
168
  /** used by child iframes for crossdomain only */
@@ -253,7 +249,7 @@ export default class App {
253
249
  * user 30 seconds to "activate" and record session by calling `start()` on conditional trigger,
254
250
  * and we will then send buffered batch, so it won't get lost
255
251
  * */
256
- coldStart: (startOpts?: StartOptions, conditional?: boolean) => Promise<void>;
252
+ coldStart(startOpts?: StartOptions, conditional?: boolean): Promise<void>;
257
253
  private setupConditionalStart;
258
254
  onSessionSent: () => void;
259
255
  /**
@@ -261,7 +257,7 @@ export default class App {
261
257
  * @param {Object} startOpts - options for session start, same as .start()
262
258
  * @param {Function} onSessionSent - callback that will be called once session is fully sent
263
259
  * */
264
- offlineRecording: (startOpts: StartOptions | undefined, onSessionSent: () => void) => {
260
+ offlineRecording(startOpts: StartOptions | undefined, onSessionSent: () => void): {
265
261
  saveBuffer: () => void;
266
262
  getBuffer: () => Message[];
267
263
  setBuffer: (buffer: Message[]) => void;
@@ -273,15 +269,15 @@ export default class App {
273
269
  *
274
270
  * Keeping the size of local storage reasonable is up to the end users of this library
275
271
  * */
276
- saveBuffer: () => void;
272
+ saveBuffer(): void;
277
273
  /**
278
274
  * @returns buffer with stored messages for offline recording
279
275
  * */
280
- getBuffer: () => Message[];
276
+ getBuffer(): Message[];
281
277
  /**
282
278
  * Used to set a buffer with messages array
283
279
  * */
284
- setBuffer: (buffer: Message[]) => void;
280
+ setBuffer(buffer: Message[]): void;
285
281
  /**
286
282
  * Uploads the stored session buffer to backend
287
283
  * @returns promise that resolves once messages are loaded, it has to be awaited
@@ -294,9 +290,6 @@ export default class App {
294
290
  private _start;
295
291
  restartCanvasTracking: () => void;
296
292
  flushBuffer: (buffer: Message[]) => Promise<unknown>;
297
- onUxtCb: never[];
298
- addOnUxtCb(cb: (id: number) => void): void;
299
- getUxtId(): number | null;
300
293
  waitStart(): Promise<unknown>;
301
294
  waitStarted(): Promise<unknown>;
302
295
  waitStatus(status: ActivityState): Promise<unknown>;
@@ -27,6 +27,7 @@ export declare function UserAnonymousID(id: string): Messages.UserAnonymousID;
27
27
  export declare function Metadata(key: string, value: string): Messages.Metadata;
28
28
  export declare function StringDictGlobal(key: number, value: string): Messages.StringDictGlobal;
29
29
  export declare function SetNodeAttributeDictGlobal(id: number, name: number, value: number): Messages.SetNodeAttributeDictGlobal;
30
+ export declare function NodeAnimationResult(id: number, styles: string): Messages.NodeAnimationResult;
30
31
  export declare function CSSInsertRule(id: number, rule: string, index: number): Messages.CSSInsertRule;
31
32
  export declare function CSSDeleteRule(id: number, index: number): Messages.CSSDeleteRule;
32
33
  export declare function Fetch(method: string, url: string, request: string, response: string, status: number, timestamp: number, duration: number): Messages.Fetch;
@@ -43,7 +44,7 @@ export declare function StringDictDeprecated(key: number, value: string): Messag
43
44
  export declare function SetNodeAttributeDictDeprecated(id: number, nameKey: number, valueKey: number): Messages.SetNodeAttributeDictDeprecated;
44
45
  export declare function StringDict(key: string, value: string): Messages.StringDict;
45
46
  export declare function SetNodeAttributeDict(id: number, name: string, value: string): Messages.SetNodeAttributeDict;
46
- export declare function ResourceTimingDeprecated(timestamp: number, duration: number, ttfb: number, headerSize: number, encodedBodySize: number, decodedBodySize: number, url: string, initiator: string): Messages.ResourceTimingDeprecated;
47
+ export declare function ResourceTimingDeprecatedDeprecated(timestamp: number, duration: number, ttfb: number, headerSize: number, encodedBodySize: number, decodedBodySize: number, url: string, initiator: string): Messages.ResourceTimingDeprecatedDeprecated;
47
48
  export declare function ConnectionInformation(downlink: number, type: string): Messages.ConnectionInformation;
48
49
  export declare function SetPageVisibility(hidden: boolean): Messages.SetPageVisibility;
49
50
  export declare function LoadFontFace(parentID: number, family: string, source: string, descriptors: string): Messages.LoadFontFace;
@@ -53,6 +54,7 @@ export declare function SetNodeAttributeURLBased(id: number, name: string, value
53
54
  export declare function SetCSSDataURLBased(id: number, data: string, baseURL: string): Messages.SetCSSDataURLBased;
54
55
  export declare function TechnicalInfo(type: string, value: string): Messages.TechnicalInfo;
55
56
  export declare function CustomIssue(name: string, payload: string): Messages.CustomIssue;
57
+ export declare function SetNodeSlot(id: number, slotID: number): Messages.SetNodeSlot;
56
58
  export declare function CSSInsertRuleURLBased(id: number, rule: string, index: number, baseURL: string): Messages.CSSInsertRuleURLBased;
57
59
  export declare function MouseClick(id: number, hesitationTime: number, label: string, selector: string, normalizedX: number, normalizedY: number): Messages.MouseClick;
58
60
  export declare function MouseClickDeprecated(id: number, hesitationTime: number, label: string, selector: string): Messages.MouseClickDeprecated;
@@ -68,11 +70,14 @@ export declare function BatchMetadata(version: number, pageNo: number, firstInde
68
70
  export declare function PartitionedMessage(partNo: number, partTotal: number): Messages.PartitionedMessage;
69
71
  export declare function NetworkRequest(type: string, method: string, url: string, request: string, response: string, status: number, timestamp: number, duration: number, transferredBodySize: number): Messages.NetworkRequest;
70
72
  export declare function WSChannel(chType: string, channelName: string, data: string, timestamp: number, dir: string, messageType: string): Messages.WSChannel;
73
+ export declare function ResourceTiming(timestamp: number, duration: number, ttfb: number, headerSize: number, encodedBodySize: number, decodedBodySize: number, url: string, initiator: string, transferredSize: number, cached: boolean, queueing: number, dnsLookup: number, initialConnection: number, ssl: number, contentDownload: number, total: number, stalled: number): Messages.ResourceTiming;
74
+ export declare function Incident(label: string, startTime: number, endTime: number): Messages.Incident;
75
+ export declare function LongAnimationTask(name: string, duration: number, blockingDuration: number, firstUIEventTimestamp: number, startTime: number, scripts: string): Messages.LongAnimationTask;
71
76
  export declare function InputChange(id: number, value: string, valueMasked: boolean, label: string, hesitationTime: number, inputDuration: number): Messages.InputChange;
72
77
  export declare function SelectionChange(selectionStart: number, selectionEnd: number, selection: string): Messages.SelectionChange;
73
78
  export declare function MouseThrashing(timestamp: number): Messages.MouseThrashing;
74
79
  export declare function UnbindNodes(totalRemovedPercent: number): Messages.UnbindNodes;
75
- export declare function ResourceTiming(timestamp: number, duration: number, ttfb: number, headerSize: number, encodedBodySize: number, decodedBodySize: number, url: string, initiator: string, transferredSize: number, cached: boolean): Messages.ResourceTiming;
80
+ export declare function ResourceTimingDeprecated(timestamp: number, duration: number, ttfb: number, headerSize: number, encodedBodySize: number, decodedBodySize: number, url: string, initiator: string, transferredSize: number, cached: boolean): Messages.ResourceTimingDeprecated;
76
81
  export declare function TabChange(tabId: string): Messages.TabChange;
77
82
  export declare function TabData(tabId: string): Messages.TabData;
78
83
  export declare function CanvasNode(nodeId: string, timestamp: number): Messages.CanvasNode;
@@ -2,6 +2,7 @@ import App from '../index.js';
2
2
  export declare function parseUseEl(useElement: SVGUseElement, mode: 'inline' | 'dataurl' | 'svgtext', domParser: DOMParser): Promise<any>;
3
3
  interface Options {
4
4
  disableSprites?: boolean;
5
+ disableThrottling?: boolean;
5
6
  inlineRemoteCss?: boolean;
6
7
  inlinerOptions?: {
7
8
  forceFetch?: boolean;
@@ -17,6 +18,7 @@ export default abstract class Observer {
17
18
  private readonly indexes;
18
19
  private readonly attributesMap;
19
20
  private readonly textSet;
21
+ private readonly slotMap;
20
22
  private readonly disableSprites;
21
23
  /**
22
24
  * this option means that, instead of using link element with href to load css,
@@ -35,6 +37,8 @@ export default abstract class Observer {
35
37
  */
36
38
  private handleIframeSrcChange;
37
39
  private sendNodeAttribute;
40
+ throttling: boolean;
41
+ private throttledSetNodeData;
38
42
  private sendNodeData;
39
43
  private bindNode;
40
44
  private bindTree;
@@ -2,11 +2,12 @@ import Observer from './observer.js';
2
2
  import { Offset } from './iframe_offsets.js';
3
3
  import App from '../index.js';
4
4
  export declare enum InlineCssMode {
5
+ Unset = -1,
5
6
  /** default behavior -- will parse and cache the css file on backend */
6
7
  Disabled = 0,
7
8
  /** will attempt to record the linked css file as AdoptedStyleSheet object */
8
9
  Inline = 1,
9
- /** will fetch the file, then simulated AdoptedStyleSheets behavior programmaticaly for the replay */
10
+ /** will fetch the file, then simulate AdoptedStyleSheets behavior programmaticaly for the replay */
10
11
  InlineFetched = 2,
11
12
  /** will fetch the file, then save it as plain css inside <style> node */
12
13
  PlainFetched = 3
@@ -22,6 +23,7 @@ export interface Options {
22
23
  * @default InlineCssMode.None = 0
23
24
  * */
24
25
  inlineCss: InlineCssMode;
26
+ disableThrottling?: boolean;
25
27
  }
26
28
  type Context = Window & typeof globalThis;
27
29
  type ContextCallback = (context: Context) => void;
@@ -3,7 +3,6 @@ export { default as App } from './app/index.js';
3
3
  import * as _Messages from './app/messages.gen.js';
4
4
  export declare const Messages: typeof _Messages;
5
5
  export { SanitizeLevel } from './app/sanitizer.js';
6
- import FeatureFlags, { IFeatureFlag } from './modules/featureFlags.js';
7
6
  import type { Options as AppOptions } from './app/index.js';
8
7
  import type { Options as ConsoleOptions } from './modules/console.js';
9
8
  import type { Options as ExceptionOptions } from './modules/exception.js';
@@ -14,10 +13,12 @@ import type { Options as NetworkOptions } from './modules/network.js';
14
13
  import type { MouseHandlerOptions } from './modules/mouse.js';
15
14
  import type { SessionInfo } from './app/session.js';
16
15
  import type { CssRulesOptions } from './modules/cssrules.js';
16
+ import type { LATOptions } from './modules/longAnimationTask.js';
17
+ import type { Options as WapOptions } from './modules/webAnimations.js';
17
18
  import type { Options as ViewportOptions } from './modules/viewport.js';
18
19
  import type { StartOptions } from './app/index.js';
19
20
  import type { StartPromiseReturn } from './app/index.js';
20
- export type Options = Partial<AppOptions & ConsoleOptions & ExceptionOptions & InputOptions & PerformanceOptions & TimingOptions> & {
21
+ export type Options = Partial<AppOptions & ConsoleOptions & ExceptionOptions & InputOptions & PerformanceOptions & TimingOptions & LATOptions> & {
21
22
  projectID?: number;
22
23
  projectKey: string;
23
24
  sessionToken?: string;
@@ -26,27 +27,18 @@ export type Options = Partial<AppOptions & ConsoleOptions & ExceptionOptions & I
26
27
  resetTabOnWindowOpen?: boolean;
27
28
  network?: Partial<NetworkOptions>;
28
29
  mouse?: Partial<MouseHandlerOptions>;
29
- flags?: {
30
- onFlagsLoad?: (flags: IFeatureFlag[]) => void;
31
- };
32
30
  __DISABLE_SECURE_MODE?: boolean;
33
31
  css: CssRulesOptions;
32
+ webAnimations?: WapOptions;
34
33
  urls?: Partial<ViewportOptions>;
35
34
  };
36
35
  export default class API {
37
36
  readonly options: Partial<Options>;
38
- featureFlags: FeatureFlags;
39
37
  private readonly app;
40
38
  private readonly crossdomainMode;
41
39
  constructor(options: Partial<Options>);
42
40
  checkDoNotTrack: () => boolean | undefined;
43
41
  signalStartIssue: (reason: string, missingApi: string[]) => void;
44
- isFlagEnabled(flagName: string): boolean;
45
- onFlagsLoad(callback: (flags: IFeatureFlag[]) => void): void;
46
- clearPersistFlags(): void;
47
- reloadFlags(): Promise<void> | undefined;
48
- getFeatureFlag(flagName: string): IFeatureFlag | undefined;
49
- getAllFeatureFlags(): IFeatureFlag[] | undefined;
50
42
  restartCanvasTracking: () => void;
51
43
  use<T>(fn: (app: App | null, options?: Partial<Options>) => T): T;
52
44
  isActive(): boolean;
@@ -98,7 +90,6 @@ export default class API {
98
90
  getSessionInfo(): SessionInfo | null;
99
91
  getSessionID(): string | null | undefined;
100
92
  getTabId(): string | null;
101
- getUxId(): number | null;
102
93
  sessionID(): string | null | undefined;
103
94
  getSessionURL(options?: {
104
95
  withCurrentTime?: boolean;
@@ -112,4 +103,9 @@ export default class API {
112
103
  event(key: string, payload?: any, issue?: boolean): void;
113
104
  issue(key: string, payload?: any): void;
114
105
  handleError: (e: Error | ErrorEvent | PromiseRejectionEvent, metadata?: Record<string, any>) => void;
106
+ incident: (options: {
107
+ label?: string;
108
+ startTime: number;
109
+ endTime?: number;
110
+ }) => void;
115
111
  }
@@ -1,6 +1,11 @@
1
1
  import Message, { CustomEvent, JSException, MouseClick, NetworkRequest, SetPageLocation } from '../../common/messages.gen.js';
2
2
  import App, { StartOptions } from '../app/index.js';
3
- import { IFeatureFlag } from './featureFlags.js';
3
+ export interface IFeatureFlag {
4
+ key: string;
5
+ is_persist: boolean;
6
+ value: string | boolean;
7
+ payload: string;
8
+ }
4
9
  interface Filter {
5
10
  filters: {
6
11
  operator: string;
@@ -0,0 +1,25 @@
1
+ import type App from '../app/index.js';
2
+ export interface LongAnimationTask extends PerformanceEntry {
3
+ name: string;
4
+ duration: number;
5
+ blockingDuration: number;
6
+ firstUIEventTimestamp: number;
7
+ startTime: number;
8
+ scripts: [
9
+ {
10
+ name: string;
11
+ duration: number;
12
+ invoker: string;
13
+ invokerType: string;
14
+ pauseDuration: number;
15
+ sourceURL: string;
16
+ sourceFunctionName: string;
17
+ sourceCharPosition: number;
18
+ forcedStyleAndLayoutDuration: number;
19
+ }
20
+ ];
21
+ }
22
+ export interface LATOptions {
23
+ longTasks: boolean;
24
+ }
25
+ export default function (app: App, opts: Partial<LATOptions>): void;
@@ -1,6 +1,6 @@
1
1
  export declare const WATCHED_TAGS_KEY = "__or__watched_tags__";
2
2
  declare class TagWatcher {
3
- intervals: Record<string, ReturnType<typeof setInterval>>;
3
+ interval: ReturnType<typeof setInterval> | null;
4
4
  tags: {
5
5
  id: number;
6
6
  selector: string;
@@ -0,0 +1,9 @@
1
+ import type App from '../app/index.js';
2
+ /**
3
+ * this will only work for custom elements by default (because of ionic)
4
+ */
5
+ export interface Options {
6
+ allElements?: boolean;
7
+ }
8
+ declare function webAnimations(app: App, options?: Options): void;
9
+ export default webAnimations;
@@ -36,12 +36,6 @@ declare class TrackerSingleton {
36
36
  event(key: string, payload?: any, issue?: boolean): void;
37
37
  issue(key: string, payload?: any): void;
38
38
  handleError(e: Error | ErrorEvent | PromiseRejectionEvent, metadata?: Record<string, any>): void;
39
- isFlagEnabled(flagName: string): boolean;
40
- onFlagsLoad(...args: Parameters<Tracker['onFlagsLoad']>): void;
41
- clearPersistFlags(): void;
42
- reloadFlags(): Promise<void> | undefined;
43
- getFeatureFlag(flagName: string): import("./modules/featureFlags.js").IFeatureFlag | undefined;
44
- getAllFeatureFlags(): import("./modules/featureFlags.js").IFeatureFlag[] | undefined;
45
39
  restartCanvasTracking(): void;
46
40
  /**
47
41
  * Set the anonymous user ID
@@ -102,7 +96,6 @@ declare class TrackerSingleton {
102
96
  forceFlushBatch(): void;
103
97
  getSessionInfo(): import("./app/session.js").SessionInfo | null;
104
98
  getTabId(): string | null;
105
- getUxId(): number | null;
106
99
  }
107
100
  declare const tracker: TrackerSingleton;
108
101
  export default tracker;
@@ -28,3 +28,6 @@ export declare function createEventListener(target: EventTarget, event: string,
28
28
  export declare function deleteEventListener(target: EventTarget, event: string, cb: EventListenerOrEventListenerObject, capture?: boolean, forceNgOff?: boolean): void;
29
29
  export declare function requestIdleCb(callback: () => void): void;
30
30
  export declare function simpleMerge<T>(defaultObj: T, givenObj: Partial<T>): T;
31
+ export declare function throttleWithTrailing<K, Args extends any[]>(fn: (key: K, ...args: Args) => void, interval: number): ((key: K, ...args: Args) => void) & {
32
+ clear: () => void;
33
+ };
@@ -26,6 +26,7 @@ export declare const enum Type {
26
26
  Metadata = 30,
27
27
  StringDictGlobal = 34,
28
28
  SetNodeAttributeDictGlobal = 35,
29
+ NodeAnimationResult = 36,
29
30
  CSSInsertRule = 37,
30
31
  CSSDeleteRule = 38,
31
32
  Fetch = 39,
@@ -42,7 +43,7 @@ export declare const enum Type {
42
43
  SetNodeAttributeDictDeprecated = 51,
43
44
  StringDict = 43,
44
45
  SetNodeAttributeDict = 52,
45
- ResourceTimingDeprecated = 53,
46
+ ResourceTimingDeprecatedDeprecated = 53,
46
47
  ConnectionInformation = 54,
47
48
  SetPageVisibility = 55,
48
49
  LoadFontFace = 57,
@@ -52,6 +53,7 @@ export declare const enum Type {
52
53
  SetCSSDataURLBased = 61,
53
54
  TechnicalInfo = 63,
54
55
  CustomIssue = 64,
56
+ SetNodeSlot = 65,
55
57
  CSSInsertRuleURLBased = 67,
56
58
  MouseClick = 68,
57
59
  MouseClickDeprecated = 69,
@@ -67,11 +69,14 @@ export declare const enum Type {
67
69
  PartitionedMessage = 82,
68
70
  NetworkRequest = 83,
69
71
  WSChannel = 84,
72
+ ResourceTiming = 85,
73
+ Incident = 87,
74
+ LongAnimationTask = 89,
70
75
  InputChange = 112,
71
76
  SelectionChange = 113,
72
77
  MouseThrashing = 114,
73
78
  UnbindNodes = 115,
74
- ResourceTiming = 116,
79
+ ResourceTimingDeprecated = 116,
75
80
  TabChange = 117,
76
81
  TabData = 118,
77
82
  CanvasNode = 119,
@@ -234,6 +239,11 @@ export type SetNodeAttributeDictGlobal = [
234
239
  number,
235
240
  number
236
241
  ];
242
+ export type NodeAnimationResult = [
243
+ Type.NodeAnimationResult,
244
+ number,
245
+ string
246
+ ];
237
247
  export type CSSInsertRule = [
238
248
  Type.CSSInsertRule,
239
249
  number,
@@ -330,8 +340,8 @@ export type SetNodeAttributeDict = [
330
340
  string,
331
341
  string
332
342
  ];
333
- export type ResourceTimingDeprecated = [
334
- Type.ResourceTimingDeprecated,
343
+ export type ResourceTimingDeprecatedDeprecated = [
344
+ Type.ResourceTimingDeprecatedDeprecated,
335
345
  number,
336
346
  number,
337
347
  number,
@@ -394,6 +404,11 @@ export type CustomIssue = [
394
404
  string,
395
405
  string
396
406
  ];
407
+ export type SetNodeSlot = [
408
+ Type.SetNodeSlot,
409
+ number,
410
+ number
411
+ ];
397
412
  export type CSSInsertRuleURLBased = [
398
413
  Type.CSSInsertRuleURLBased,
399
414
  number,
@@ -496,6 +511,41 @@ export type WSChannel = [
496
511
  string,
497
512
  string
498
513
  ];
514
+ export type ResourceTiming = [
515
+ Type.ResourceTiming,
516
+ number,
517
+ number,
518
+ number,
519
+ number,
520
+ number,
521
+ number,
522
+ string,
523
+ string,
524
+ number,
525
+ boolean,
526
+ number,
527
+ number,
528
+ number,
529
+ number,
530
+ number,
531
+ number,
532
+ number
533
+ ];
534
+ export type Incident = [
535
+ Type.Incident,
536
+ string,
537
+ number,
538
+ number
539
+ ];
540
+ export type LongAnimationTask = [
541
+ Type.LongAnimationTask,
542
+ string,
543
+ number,
544
+ number,
545
+ number,
546
+ number,
547
+ string
548
+ ];
499
549
  export type InputChange = [
500
550
  Type.InputChange,
501
551
  number,
@@ -519,8 +569,8 @@ export type UnbindNodes = [
519
569
  Type.UnbindNodes,
520
570
  number
521
571
  ];
522
- export type ResourceTiming = [
523
- Type.ResourceTiming,
572
+ export type ResourceTimingDeprecated = [
573
+ Type.ResourceTimingDeprecated,
524
574
  number,
525
575
  number,
526
576
  number,
@@ -576,5 +626,5 @@ export type WebVitals = [
576
626
  string,
577
627
  string
578
628
  ];
579
- type Message = Timestamp | SetPageLocationDeprecated | SetViewportSize | SetViewportScroll | CreateDocument | CreateElementNode | CreateTextNode | MoveNode | RemoveNode | SetNodeAttribute | RemoveNodeAttribute | SetNodeData | SetNodeScroll | SetInputTarget | SetInputValue | SetInputChecked | MouseMove | NetworkRequestDeprecated | ConsoleLog | PageLoadTiming | PageRenderTiming | CustomEvent | UserID | UserAnonymousID | Metadata | StringDictGlobal | SetNodeAttributeDictGlobal | CSSInsertRule | CSSDeleteRule | Fetch | Profiler | OTable | StateAction | ReduxDeprecated | Vuex | MobX | NgRx | GraphQLDeprecated | PerformanceTrack | StringDictDeprecated | SetNodeAttributeDictDeprecated | StringDict | SetNodeAttributeDict | ResourceTimingDeprecated | ConnectionInformation | SetPageVisibility | LoadFontFace | SetNodeFocus | LongTask | SetNodeAttributeURLBased | SetCSSDataURLBased | TechnicalInfo | CustomIssue | CSSInsertRuleURLBased | MouseClick | MouseClickDeprecated | CreateIFrameDocument | AdoptedSSReplaceURLBased | AdoptedSSInsertRuleURLBased | AdoptedSSDeleteRule | AdoptedSSAddOwner | AdoptedSSRemoveOwner | JSException | Zustand | BatchMetadata | PartitionedMessage | NetworkRequest | WSChannel | InputChange | SelectionChange | MouseThrashing | UnbindNodes | ResourceTiming | TabChange | TabData | CanvasNode | TagTrigger | Redux | SetPageLocation | GraphQL | WebVitals;
629
+ type Message = Timestamp | SetPageLocationDeprecated | SetViewportSize | SetViewportScroll | CreateDocument | CreateElementNode | CreateTextNode | MoveNode | RemoveNode | SetNodeAttribute | RemoveNodeAttribute | SetNodeData | SetNodeScroll | SetInputTarget | SetInputValue | SetInputChecked | MouseMove | NetworkRequestDeprecated | ConsoleLog | PageLoadTiming | PageRenderTiming | CustomEvent | UserID | UserAnonymousID | Metadata | StringDictGlobal | SetNodeAttributeDictGlobal | NodeAnimationResult | CSSInsertRule | CSSDeleteRule | Fetch | Profiler | OTable | StateAction | ReduxDeprecated | Vuex | MobX | NgRx | GraphQLDeprecated | PerformanceTrack | StringDictDeprecated | SetNodeAttributeDictDeprecated | StringDict | SetNodeAttributeDict | ResourceTimingDeprecatedDeprecated | ConnectionInformation | SetPageVisibility | LoadFontFace | SetNodeFocus | LongTask | SetNodeAttributeURLBased | SetCSSDataURLBased | TechnicalInfo | CustomIssue | SetNodeSlot | CSSInsertRuleURLBased | MouseClick | MouseClickDeprecated | CreateIFrameDocument | AdoptedSSReplaceURLBased | AdoptedSSInsertRuleURLBased | AdoptedSSDeleteRule | AdoptedSSAddOwner | AdoptedSSRemoveOwner | JSException | Zustand | BatchMetadata | PartitionedMessage | NetworkRequest | WSChannel | ResourceTiming | Incident | LongAnimationTask | InputChange | SelectionChange | MouseThrashing | UnbindNodes | ResourceTimingDeprecated | TabChange | TabData | CanvasNode | TagTrigger | Redux | SetPageLocation | GraphQL | WebVitals;
580
630
  export default Message;