@amplitude/session-replay-browser 1.2.1 → 1.2.3
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/lib/cjs/config.d.ts +0 -3
- package/lib/cjs/config.d.ts.map +1 -1
- package/lib/cjs/config.js +0 -9
- package/lib/cjs/config.js.map +1 -1
- package/lib/cjs/events-manager.d.ts +49 -0
- package/lib/cjs/events-manager.d.ts.map +1 -0
- package/lib/cjs/events-manager.js +157 -0
- package/lib/cjs/events-manager.js.map +1 -0
- package/lib/cjs/identifiers.d.ts +9 -0
- package/lib/cjs/identifiers.d.ts.map +1 -0
- package/lib/cjs/identifiers.js +18 -0
- package/lib/cjs/identifiers.js.map +1 -0
- package/lib/cjs/session-idb-store.d.ts +15 -0
- package/lib/cjs/session-idb-store.d.ts.map +1 -0
- package/lib/cjs/session-idb-store.js +107 -0
- package/lib/cjs/session-idb-store.js.map +1 -0
- package/lib/cjs/session-replay.d.ts +5 -41
- package/lib/cjs/session-replay.d.ts.map +1 -1
- package/lib/cjs/session-replay.js +55 -406
- package/lib/cjs/session-replay.js.map +1 -1
- package/lib/cjs/track-destination.d.ts +27 -0
- package/lib/cjs/track-destination.d.ts.map +1 -0
- package/lib/cjs/track-destination.js +201 -0
- package/lib/cjs/track-destination.js.map +1 -0
- package/lib/cjs/typings/session-replay.d.ts +45 -7
- package/lib/cjs/typings/session-replay.d.ts.map +1 -1
- package/lib/cjs/typings/session-replay.js.map +1 -1
- package/lib/esm/config.d.ts +0 -3
- package/lib/esm/config.d.ts.map +1 -1
- package/lib/esm/config.js +0 -9
- package/lib/esm/config.js.map +1 -1
- package/lib/esm/events-manager.d.ts +49 -0
- package/lib/esm/events-manager.d.ts.map +1 -0
- package/lib/esm/events-manager.js +155 -0
- package/lib/esm/events-manager.js.map +1 -0
- package/lib/esm/identifiers.d.ts +9 -0
- package/lib/esm/identifiers.d.ts.map +1 -0
- package/lib/esm/identifiers.js +16 -0
- package/lib/esm/identifiers.js.map +1 -0
- package/lib/esm/session-idb-store.d.ts +15 -0
- package/lib/esm/session-idb-store.d.ts.map +1 -0
- package/lib/esm/session-idb-store.js +105 -0
- package/lib/esm/session-idb-store.js.map +1 -0
- package/lib/esm/session-replay.d.ts +5 -41
- package/lib/esm/session-replay.d.ts.map +1 -1
- package/lib/esm/session-replay.js +59 -410
- package/lib/esm/session-replay.js.map +1 -1
- package/lib/esm/track-destination.d.ts +27 -0
- package/lib/esm/track-destination.d.ts.map +1 -0
- package/lib/esm/track-destination.js +199 -0
- package/lib/esm/track-destination.js.map +1 -0
- package/lib/esm/typings/session-replay.d.ts +45 -7
- package/lib/esm/typings/session-replay.d.ts.map +1 -1
- package/lib/esm/typings/session-replay.js.map +1 -1
- package/lib/scripts/amplitude-min.js +1 -1
- package/lib/scripts/amplitude-min.js.gz +0 -0
- package/lib/scripts/amplitude-min.umd.js +1 -1
- package/lib/scripts/amplitude-min.umd.js.gz +0 -0
- package/lib/scripts/config.d.ts +0 -3
- package/lib/scripts/config.d.ts.map +1 -1
- package/lib/scripts/events-manager.d.ts +49 -0
- package/lib/scripts/events-manager.d.ts.map +1 -0
- package/lib/scripts/identifiers.d.ts +9 -0
- package/lib/scripts/identifiers.d.ts.map +1 -0
- package/lib/scripts/session-idb-store.d.ts +15 -0
- package/lib/scripts/session-idb-store.d.ts.map +1 -0
- package/lib/scripts/session-replay.d.ts +5 -41
- package/lib/scripts/session-replay.d.ts.map +1 -1
- package/lib/scripts/track-destination.d.ts +27 -0
- package/lib/scripts/track-destination.d.ts.map +1 -0
- package/lib/scripts/typings/session-replay.d.ts +45 -7
- package/lib/scripts/typings/session-replay.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { SessionReplayEventsManager as AmplitudeSessionReplayEventsManager, SessionReplaySessionIDBStore as AmplitudeSessionReplayEventsStorage, SessionReplayTrackDestination as AmplitudeSessionReplayTrackDestination, Events, IDBStore, SessionReplayConfig } from './typings/session-replay';
|
|
2
|
+
export declare class SessionReplayEventsManager implements AmplitudeSessionReplayEventsManager {
|
|
3
|
+
events: Events;
|
|
4
|
+
currentSequenceId: number;
|
|
5
|
+
maxPersistedEventsSize: number;
|
|
6
|
+
interval: number;
|
|
7
|
+
timeAtLastSend: number | null;
|
|
8
|
+
sessionIDBStore: AmplitudeSessionReplayEventsStorage;
|
|
9
|
+
trackDestination: AmplitudeSessionReplayTrackDestination;
|
|
10
|
+
config: SessionReplayConfig;
|
|
11
|
+
constructor({ config }: {
|
|
12
|
+
config: SessionReplayConfig;
|
|
13
|
+
});
|
|
14
|
+
initialize({ sessionId, deviceId, shouldSendStoredEvents, }: {
|
|
15
|
+
sessionId: number;
|
|
16
|
+
deviceId: string;
|
|
17
|
+
shouldSendStoredEvents?: boolean;
|
|
18
|
+
}): Promise<void>;
|
|
19
|
+
sendStoredEvents({ storedReplaySessions, sessionId, deviceId, }: {
|
|
20
|
+
storedReplaySessions: IDBStore;
|
|
21
|
+
sessionId: number;
|
|
22
|
+
deviceId: string;
|
|
23
|
+
}): void;
|
|
24
|
+
resetSequence(): void;
|
|
25
|
+
addEvent({ event, sessionId, deviceId }: {
|
|
26
|
+
event: string;
|
|
27
|
+
sessionId: number;
|
|
28
|
+
deviceId: string;
|
|
29
|
+
}): void;
|
|
30
|
+
/**
|
|
31
|
+
* Determines whether to send the events list to the backend and start a new
|
|
32
|
+
* empty events list, based on the size of the list as well as the last time sent
|
|
33
|
+
* @param nextEventString
|
|
34
|
+
* @returns boolean
|
|
35
|
+
*/
|
|
36
|
+
shouldSplitEventsList: (nextEventString: string) => boolean;
|
|
37
|
+
sendEvents({ sessionId, deviceId }: {
|
|
38
|
+
sessionId: number;
|
|
39
|
+
deviceId: string;
|
|
40
|
+
}): void;
|
|
41
|
+
sendEventsList({ events, sequenceId, sessionId, deviceId, }: {
|
|
42
|
+
events: string[];
|
|
43
|
+
sequenceId: number;
|
|
44
|
+
sessionId: number;
|
|
45
|
+
deviceId: string;
|
|
46
|
+
}): void;
|
|
47
|
+
flush(useRetry?: boolean): Promise<void>;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=events-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events-manager.d.ts","sourceRoot":"","sources":["../../src/events-manager.ts"],"names":[],"mappings":"AACA,OAAO,EACL,0BAA0B,IAAI,mCAAmC,EACjE,4BAA4B,IAAI,mCAAmC,EACnE,6BAA6B,IAAI,sCAAsC,EACvE,MAAM,EACN,QAAQ,EAER,mBAAmB,EACpB,MAAM,0BAA0B,CAAC;AAKlC,qBAAa,0BAA2B,YAAW,mCAAmC;IACpF,MAAM,EAAE,MAAM,CAAM;IACpB,iBAAiB,SAAK;IACtB,sBAAsB,SAAgC;IACtD,QAAQ,SAAgB;IACxB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAQ;IACrC,eAAe,EAAE,mCAAmC,CAAC;IACrD,gBAAgB,EAAE,sCAAsC,CAAC;IACzD,MAAM,EAAE,mBAAmB,CAAC;gBAEhB,EAAE,MAAM,EAAE,EAAE;QAAE,MAAM,EAAE,mBAAmB,CAAA;KAAE;IASjD,UAAU,CAAC,EACf,SAAS,EACT,QAAQ,EACR,sBAA8B,GAC/B,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,sBAAsB,CAAC,EAAE,OAAO,CAAC;KAClC;IAsBD,gBAAgB,CAAC,EACf,oBAAoB,EACpB,SAAS,EACT,QAAQ,GACT,EAAE;QACD,oBAAoB,EAAE,QAAQ,CAAC;QAC/B,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;KAClB;IAuBD,aAAa;IAKb,QAAQ,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE;IAgB/F;;;;;OAKG;IACH,qBAAqB,oBAAqB,MAAM,KAAG,OAAO,CAYxD;IAEF,UAAU,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE;IAW3E,cAAc,CAAC,EACb,MAAM,EACN,UAAU,EACV,SAAS,EACT,QAAQ,GACT,EAAE;QACD,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;KAClB;IAcK,KAAK,CAAC,QAAQ,UAAQ;CAK7B"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Logger as ILogger } from '@amplitude/analytics-types';
|
|
2
|
+
import { SessionIdentifiers as ISessionIdentifiers, SessionReplayOptions } from './typings/session-replay';
|
|
3
|
+
export declare class SessionIdentifiers implements ISessionIdentifiers {
|
|
4
|
+
deviceId?: string | undefined;
|
|
5
|
+
sessionId?: number | undefined;
|
|
6
|
+
sessionReplayId?: string | undefined;
|
|
7
|
+
constructor(options: SessionReplayOptions, loggerProvider: ILogger);
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=identifiers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identifiers.d.ts","sourceRoot":"","sources":["../../src/identifiers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAE/D,OAAO,EAAE,kBAAkB,IAAI,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAE3G,qBAAa,kBAAmB,YAAW,mBAAmB;IAC5D,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;gBAEzB,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,OAAO;CAUnE"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Logger as ILogger } from '@amplitude/analytics-types';
|
|
2
|
+
import { SessionReplaySessionIDBStore as AmplitudeSessionReplaySessionIDBStore, Events, IDBStore } from './typings/session-replay';
|
|
3
|
+
export declare class SessionReplaySessionIDBStore implements AmplitudeSessionReplaySessionIDBStore {
|
|
4
|
+
apiKey: string | undefined;
|
|
5
|
+
storageKey: string;
|
|
6
|
+
loggerProvider: ILogger;
|
|
7
|
+
constructor({ apiKey, loggerProvider }: {
|
|
8
|
+
apiKey: string;
|
|
9
|
+
loggerProvider: ILogger;
|
|
10
|
+
});
|
|
11
|
+
getAllSessionDataFromStore: () => Promise<IDBStore | undefined>;
|
|
12
|
+
storeEventsForSession: (events: Events, sequenceId: number, sessionId: number) => Promise<void>;
|
|
13
|
+
cleanUpSessionEventsStore: (sessionId: number, sequenceId: number) => Promise<void>;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=session-idb-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-idb-store.d.ts","sourceRoot":"","sources":["../../src/session-idb-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAI/D,OAAO,EACL,4BAA4B,IAAI,qCAAqC,EACrE,MAAM,EACN,QAAQ,EAGT,MAAM,0BAA0B,CAAC;AAElC,qBAAa,4BAA6B,YAAW,qCAAqC;IACxF,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,UAAU,SAAM;IAChB,cAAc,EAAE,OAAO,CAAC;gBACZ,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,OAAO,CAAA;KAAE;IAKnF,0BAA0B,sCASxB;IAEF,qBAAqB,+BAAsC,MAAM,aAAa,MAAM,mBAyBlF;IAEF,yBAAyB,cAAqB,MAAM,cAAc,MAAM,mBAiCtE;CACH"}
|
|
@@ -1,27 +1,20 @@
|
|
|
1
1
|
import { Logger as ILogger } from '@amplitude/analytics-types';
|
|
2
2
|
import { record } from '@amplitude/rrweb';
|
|
3
|
-
import { AmplitudeSessionReplay,
|
|
3
|
+
import { AmplitudeSessionReplay, SessionReplayEventsManager as AmplitudeSessionReplayEventsManager, SessionIdentifiers as ISessionIdentifiers, SessionReplayConfig as ISessionReplayConfig, SessionReplayOptions } from './typings/session-replay';
|
|
4
4
|
export declare class SessionReplay implements AmplitudeSessionReplay {
|
|
5
5
|
name: string;
|
|
6
6
|
config: ISessionReplayConfig | undefined;
|
|
7
|
+
identifiers: ISessionIdentifiers | undefined;
|
|
8
|
+
eventsManager: AmplitudeSessionReplayEventsManager | undefined;
|
|
7
9
|
loggerProvider: ILogger;
|
|
8
|
-
storageKey: string;
|
|
9
|
-
retryTimeout: number;
|
|
10
|
-
events: Events;
|
|
11
|
-
currentSequenceId: number;
|
|
12
|
-
private scheduled;
|
|
13
|
-
queue: SessionReplayContext[];
|
|
14
10
|
stopRecordingEvents: ReturnType<typeof record> | null;
|
|
15
|
-
maxPersistedEventsSize: number;
|
|
16
|
-
interval: number;
|
|
17
|
-
timeAtLastSend: number | null;
|
|
18
11
|
constructor();
|
|
19
12
|
init(apiKey: string, options: SessionReplayOptions): import("@amplitude/analytics-types").AmplitudeReturn<void>;
|
|
20
13
|
protected _init(apiKey: string, options: SessionReplayOptions): Promise<void>;
|
|
21
14
|
setSessionId(sessionId: number, deviceId?: string): void;
|
|
22
15
|
getSessionReplayDebugPropertyValue(): string;
|
|
23
16
|
getSessionReplayProperties(): {
|
|
24
|
-
[
|
|
17
|
+
[key: string]: string | null;
|
|
25
18
|
};
|
|
26
19
|
blurListener: () => void;
|
|
27
20
|
focusListener: () => void;
|
|
@@ -30,39 +23,10 @@ export declare class SessionReplay implements AmplitudeSessionReplay {
|
|
|
30
23
|
shouldOptOut(): boolean | undefined;
|
|
31
24
|
getShouldRecord(ignoreFocus?: boolean): boolean;
|
|
32
25
|
getBlockSelectors(): string | string[] | undefined;
|
|
33
|
-
sendStoredEvents(storedReplaySessions: IDBStore): void;
|
|
34
26
|
recordEvents(): void;
|
|
35
|
-
/**
|
|
36
|
-
* Determines whether to send the events list to the backend and start a new
|
|
37
|
-
* empty events list, based on the size of the list as well as the last time sent
|
|
38
|
-
* @param nextEventString
|
|
39
|
-
* @returns boolean
|
|
40
|
-
*/
|
|
41
|
-
shouldSplitEventsList: (nextEventString: string) => boolean;
|
|
42
|
-
sendEventsList({ events, sequenceId, sessionId }: {
|
|
43
|
-
events: string[];
|
|
44
|
-
sequenceId: number;
|
|
45
|
-
sessionId: number;
|
|
46
|
-
}): void;
|
|
47
|
-
addToQueue(...list: SessionReplayContext[]): void;
|
|
48
|
-
schedule(timeout: number): void;
|
|
49
|
-
flush(useRetry?: boolean): Promise<void>;
|
|
50
|
-
getSampleRate(): number;
|
|
51
|
-
getServerUrl(): "https://api-sr.amplitude.com/sessions/v2/track" | "https://api-sr.eu.amplitude.com/sessions/v2/track" | "https://api-sr.stag2.amplitude.com//sessions/v2/track";
|
|
52
27
|
getDeviceId(): string | undefined;
|
|
53
28
|
getSessionId(): number | undefined;
|
|
54
|
-
|
|
55
|
-
handleReponse(status: number, context: SessionReplayContext): void;
|
|
56
|
-
handleSuccessResponse(context: SessionReplayContext): void;
|
|
57
|
-
handleOtherResponse(context: SessionReplayContext): void;
|
|
58
|
-
getAllSessionEventsFromStore(): Promise<IDBStore | undefined>;
|
|
59
|
-
storeEventsForSession(events: Events, sequenceId: number, sessionId: number): Promise<void>;
|
|
60
|
-
cleanUpSessionEventsStore(sessionId: number, sequenceId: number): Promise<void>;
|
|
61
|
-
completeRequest({ context, err, success }: {
|
|
62
|
-
context: SessionReplayContext;
|
|
63
|
-
err?: string;
|
|
64
|
-
success?: string;
|
|
65
|
-
}): void;
|
|
29
|
+
flush(useRetry?: boolean): Promise<void>;
|
|
66
30
|
shutdown(): void;
|
|
67
31
|
}
|
|
68
32
|
//# sourceMappingURL=session-replay.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-replay.d.ts","sourceRoot":"","sources":["../../src/session-replay.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,IAAI,OAAO,
|
|
1
|
+
{"version":3,"file":"session-replay.d.ts","sourceRoot":"","sources":["../../src/session-replay.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAQ,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAWhD,OAAO,EACL,sBAAsB,EACtB,0BAA0B,IAAI,mCAAmC,EACjE,kBAAkB,IAAI,mBAAmB,EACzC,mBAAmB,IAAI,oBAAoB,EAC3C,oBAAoB,EACrB,MAAM,0BAA0B,CAAC;AAElC,qBAAa,aAAc,YAAW,sBAAsB;IAC1D,IAAI,SAAuC;IAC3C,MAAM,EAAE,oBAAoB,GAAG,SAAS,CAAC;IACzC,WAAW,EAAE,mBAAmB,GAAG,SAAS,CAAC;IAC7C,aAAa,EAAE,mCAAmC,GAAG,SAAS,CAAC;IAC/D,cAAc,EAAE,OAAO,CAAC;IACxB,mBAAmB,EAAE,UAAU,CAAC,OAAO,MAAM,CAAC,GAAG,IAAI,CAAQ;;IAM7D,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB;cAIlC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB;IAsBnE,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;IAwBjD,kCAAkC;IAUlC,0BAA0B;;;IAwB1B,YAAY,aAEV;IAEF,aAAa,aAEX;IAEF,0BAA0B,CAAC,SAAS,CAAC,EAAE,MAAM;IAiBvC,UAAU,CAAC,sBAAsB,UAAQ;IAkB/C,YAAY;IAUZ,eAAe,CAAC,WAAW,UAAQ;IA8BnC,iBAAiB,IAAI,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS;IAIlD,YAAY;IAkCZ,WAAW;IAUX,YAAY;IAIN,KAAK,CAAC,QAAQ,UAAQ;IAM5B,QAAQ;CAST"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Logger as ILogger, ServerZone } from '@amplitude/analytics-types';
|
|
2
|
+
import { SessionReplayTrackDestination as AmplitudeSessionReplayTrackDestination, SessionReplayDestination, SessionReplayDestinationContext } from './typings/session-replay';
|
|
3
|
+
export declare class SessionReplayTrackDestination implements AmplitudeSessionReplayTrackDestination {
|
|
4
|
+
loggerProvider: ILogger;
|
|
5
|
+
storageKey: string;
|
|
6
|
+
retryTimeout: number;
|
|
7
|
+
private scheduled;
|
|
8
|
+
queue: SessionReplayDestinationContext[];
|
|
9
|
+
constructor({ loggerProvider }: {
|
|
10
|
+
loggerProvider: ILogger;
|
|
11
|
+
});
|
|
12
|
+
sendEventsList(destinationData: SessionReplayDestination): void;
|
|
13
|
+
getServerUrl(serverZone?: keyof typeof ServerZone): "https://api-sr.amplitude.com/sessions/v2/track" | "https://api-sr.eu.amplitude.com/sessions/v2/track" | "https://api-sr.stag2.amplitude.com//sessions/v2/track";
|
|
14
|
+
addToQueue(...list: SessionReplayDestinationContext[]): void;
|
|
15
|
+
schedule(timeout: number): void;
|
|
16
|
+
flush(useRetry?: boolean): Promise<void>;
|
|
17
|
+
send(context: SessionReplayDestinationContext, useRetry?: boolean): Promise<void>;
|
|
18
|
+
handleReponse(status: number, context: SessionReplayDestinationContext): void;
|
|
19
|
+
handleSuccessResponse(context: SessionReplayDestinationContext): void;
|
|
20
|
+
handleOtherResponse(context: SessionReplayDestinationContext): void;
|
|
21
|
+
completeRequest({ context, err, success, }: {
|
|
22
|
+
context: SessionReplayDestinationContext;
|
|
23
|
+
err?: string;
|
|
24
|
+
success?: string;
|
|
25
|
+
}): void;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=track-destination.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"track-destination.d.ts","sourceRoot":"","sources":["../../src/track-destination.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,UAAU,EAAU,MAAM,4BAA4B,CAAC;AAenF,OAAO,EACL,6BAA6B,IAAI,sCAAsC,EACvE,wBAAwB,EACxB,+BAA+B,EAChC,MAAM,0BAA0B,CAAC;AAGlC,qBAAa,6BAA8B,YAAW,sCAAsC;IAC1F,cAAc,EAAE,OAAO,CAAC;IACxB,UAAU,SAAM;IAChB,YAAY,SAAQ;IACpB,OAAO,CAAC,SAAS,CAA8C;IAC/D,KAAK,EAAE,+BAA+B,EAAE,CAAM;gBAElC,EAAE,cAAc,EAAE,EAAE;QAAE,cAAc,EAAE,OAAO,CAAA;KAAE;IAI3D,cAAc,CAAC,eAAe,EAAE,wBAAwB;IAQxD,YAAY,CAAC,UAAU,CAAC,EAAE,MAAM,OAAO,UAAU;IAYjD,UAAU,CAAC,GAAG,IAAI,EAAE,+BAA+B,EAAE;IA0BrD,QAAQ,CAAC,OAAO,EAAE,MAAM;IAWlB,KAAK,CAAC,QAAQ,UAAQ;IActB,IAAI,CAAC,OAAO,EAAE,+BAA+B,EAAE,QAAQ,UAAO;IA0DpE,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,+BAA+B;IActE,qBAAqB,CAAC,OAAO,EAAE,+BAA+B;IAI9D,mBAAmB,CAAC,OAAO,EAAE,+BAA+B;IAO5D,eAAe,CAAC,EACd,OAAO,EACP,GAAG,EACH,OAAO,GACR,EAAE;QACD,OAAO,EAAE,+BAA+B,CAAC;QACzC,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB;CAQF"}
|
|
@@ -1,11 +1,19 @@
|
|
|
1
|
-
import { AmplitudeReturn, Config, LogLevel, Logger } from '@amplitude/analytics-types';
|
|
1
|
+
import { AmplitudeReturn, Config, LogLevel, Logger, ServerZone } from '@amplitude/analytics-types';
|
|
2
2
|
export type Events = string[];
|
|
3
|
-
export interface
|
|
3
|
+
export interface SessionReplayDestination {
|
|
4
4
|
events: Events;
|
|
5
5
|
sequenceId: number;
|
|
6
|
+
sessionId: number;
|
|
7
|
+
flushMaxRetries?: number;
|
|
8
|
+
apiKey?: string;
|
|
9
|
+
deviceId?: string;
|
|
10
|
+
sampleRate: number;
|
|
11
|
+
serverZone?: keyof typeof ServerZone;
|
|
12
|
+
onComplete: (sessionId: number, sequenceId: number) => Promise<void>;
|
|
13
|
+
}
|
|
14
|
+
export interface SessionReplayDestinationContext extends SessionReplayDestination {
|
|
6
15
|
attempts: number;
|
|
7
16
|
timeout: number;
|
|
8
|
-
sessionId: number;
|
|
9
17
|
}
|
|
10
18
|
export declare enum RecordingStatus {
|
|
11
19
|
RECORDING = "recording",
|
|
@@ -24,22 +32,29 @@ export interface IDBStoreSession {
|
|
|
24
32
|
export interface IDBStore {
|
|
25
33
|
[sessionId: number]: IDBStoreSession;
|
|
26
34
|
}
|
|
35
|
+
export interface SessionReplaySessionIDBStore {
|
|
36
|
+
getAllSessionDataFromStore(): Promise<IDBStore | undefined>;
|
|
37
|
+
storeEventsForSession(events: Events, sequenceId: number, sessionId: number): Promise<void>;
|
|
38
|
+
cleanUpSessionEventsStore(sessionId: number, sequenceId: number): Promise<void>;
|
|
39
|
+
}
|
|
27
40
|
export interface SessionReplayPrivacyConfig {
|
|
28
41
|
blockSelector?: string | string[];
|
|
29
42
|
}
|
|
30
43
|
export interface SessionReplayConfig extends Config {
|
|
31
44
|
apiKey: string;
|
|
32
|
-
deviceId?: string;
|
|
33
|
-
sessionId?: number;
|
|
34
45
|
loggerProvider: Logger;
|
|
35
46
|
logLevel: LogLevel;
|
|
36
47
|
flushMaxRetries: number;
|
|
37
48
|
sampleRate: number;
|
|
38
|
-
sessionReplayId?: string;
|
|
39
49
|
privacyConfig?: SessionReplayPrivacyConfig;
|
|
40
50
|
debugMode?: boolean;
|
|
41
51
|
}
|
|
42
|
-
export
|
|
52
|
+
export interface SessionIdentifiers {
|
|
53
|
+
deviceId?: string;
|
|
54
|
+
sessionId?: number;
|
|
55
|
+
sessionReplayId?: string;
|
|
56
|
+
}
|
|
57
|
+
export type SessionReplayOptions = Omit<Partial<SessionReplayConfig & SessionIdentifiers>, 'apiKey'>;
|
|
43
58
|
export interface AmplitudeSessionReplay {
|
|
44
59
|
init: (apiKey: string, options: SessionReplayOptions) => AmplitudeReturn<void>;
|
|
45
60
|
setSessionId: (sessionId: number, deviceId?: string) => void;
|
|
@@ -50,4 +65,27 @@ export interface AmplitudeSessionReplay {
|
|
|
50
65
|
flush: (useRetry: boolean) => Promise<void>;
|
|
51
66
|
shutdown: () => void;
|
|
52
67
|
}
|
|
68
|
+
export interface SessionReplayTrackDestination {
|
|
69
|
+
sendEventsList: (destinationData: SessionReplayDestination) => void;
|
|
70
|
+
flush: (useRetry: boolean) => Promise<void>;
|
|
71
|
+
}
|
|
72
|
+
export interface SessionReplayEventsManager {
|
|
73
|
+
initialize({ sessionId, shouldSendStoredEvents, deviceId, }: {
|
|
74
|
+
sessionId: number;
|
|
75
|
+
shouldSendStoredEvents: boolean;
|
|
76
|
+
deviceId: string;
|
|
77
|
+
}): Promise<void>;
|
|
78
|
+
addEvent({ sessionId, event, deviceId }: {
|
|
79
|
+
sessionId: number;
|
|
80
|
+
event: string;
|
|
81
|
+
deviceId: string;
|
|
82
|
+
}): void;
|
|
83
|
+
sendEvents({ sessionId, deviceId }: {
|
|
84
|
+
sessionId: number;
|
|
85
|
+
deviceId: string;
|
|
86
|
+
}): void;
|
|
87
|
+
resetSequence(): void;
|
|
88
|
+
flush(useRetry?: boolean): Promise<void>;
|
|
89
|
+
events: Events;
|
|
90
|
+
}
|
|
53
91
|
//# sourceMappingURL=session-replay.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-replay.d.ts","sourceRoot":"","sources":["../../../src/typings/session-replay.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"session-replay.d.ts","sourceRoot":"","sources":["../../../src/typings/session-replay.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@amplitude/session-replay-browser",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.3",
|
|
4
4
|
"description": "",
|
|
5
5
|
"author": "Amplitude Inc",
|
|
6
6
|
"homepage": "https://github.com/amplitude/Amplitude-TypeScript",
|
|
@@ -57,5 +57,5 @@
|
|
|
57
57
|
"files": [
|
|
58
58
|
"lib"
|
|
59
59
|
],
|
|
60
|
-
"gitHead": "
|
|
60
|
+
"gitHead": "223e05b7591afe6ae2876f4b0b6dbcb1147d231d"
|
|
61
61
|
}
|