@amplitude/session-replay-browser 1.22.6 → 1.22.7-prereleasenetworkcapture.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.
- package/lib/cjs/config/joined-config.d.ts +2 -2
- package/lib/cjs/config/joined-config.d.ts.map +1 -1
- package/lib/cjs/config/joined-config.js +2 -10
- package/lib/cjs/config/joined-config.js.map +1 -1
- package/lib/cjs/config/types.d.ts +1 -22
- package/lib/cjs/config/types.d.ts.map +1 -1
- package/lib/cjs/config/types.js.map +1 -1
- package/lib/cjs/constants.d.ts +1 -2
- package/lib/cjs/constants.d.ts.map +1 -1
- package/lib/cjs/constants.js +0 -1
- package/lib/cjs/constants.js.map +1 -1
- package/lib/cjs/session-replay.d.ts +1 -3
- package/lib/cjs/session-replay.d.ts.map +1 -1
- package/lib/cjs/session-replay.js +30 -50
- package/lib/cjs/session-replay.js.map +1 -1
- package/lib/cjs/version.d.ts +1 -1
- package/lib/cjs/version.js +1 -1
- package/lib/cjs/version.js.map +1 -1
- package/lib/scripts/amplitude-min.js +2 -0
- package/lib/scripts/amplitude-min.js.gz +0 -0
- package/lib/scripts/amplitude-min.js.map +1 -0
- package/lib/scripts/amplitude-min.umd.js +1 -0
- package/lib/scripts/amplitude-min.umd.js.gz +0 -0
- package/lib/scripts/beacon-transport.d.ts +28 -0
- package/lib/scripts/beacon-transport.d.ts.map +1 -0
- package/lib/scripts/config/joined-config.d.ts +13 -0
- package/lib/scripts/config/joined-config.d.ts.map +1 -0
- package/lib/scripts/config/local-config.d.ts +27 -0
- package/lib/scripts/config/local-config.d.ts.map +1 -0
- package/lib/scripts/config/types.d.ts +147 -0
- package/lib/scripts/config/types.d.ts.map +1 -0
- package/lib/scripts/console-plugin-min.js.gz +0 -0
- package/lib/scripts/constants.d.ts +29 -0
- package/lib/scripts/constants.d.ts.map +1 -0
- package/lib/scripts/events/base-events-store.d.ts +31 -0
- package/lib/scripts/events/base-events-store.d.ts.map +1 -0
- package/lib/scripts/events/event-compressor.d.ts +27 -0
- package/lib/scripts/events/event-compressor.d.ts.map +1 -0
- package/lib/scripts/events/events-idb-store.d.ts +52 -0
- package/lib/scripts/events/events-idb-store.d.ts.map +1 -0
- package/lib/scripts/events/events-manager.d.ts +13 -0
- package/lib/scripts/events/events-manager.d.ts.map +1 -0
- package/lib/scripts/events/events-memory-store.d.ts +15 -0
- package/lib/scripts/events/events-memory-store.d.ts.map +1 -0
- package/lib/scripts/events/legacy-idb-types.d.ts +26 -0
- package/lib/scripts/events/legacy-idb-types.d.ts.map +1 -0
- package/lib/scripts/events/multi-manager.d.ts +26 -0
- package/lib/scripts/events/multi-manager.d.ts.map +1 -0
- package/lib/scripts/helpers.d.ts +46 -0
- package/lib/scripts/helpers.d.ts.map +1 -0
- package/lib/scripts/hooks/click.d.ts +27 -0
- package/lib/scripts/hooks/click.d.ts.map +1 -0
- package/lib/scripts/hooks/scroll.d.ts +44 -0
- package/lib/scripts/hooks/scroll.d.ts.map +1 -0
- package/lib/scripts/identifiers.d.ts +11 -0
- package/lib/scripts/identifiers.d.ts.map +1 -0
- package/lib/scripts/index.d.ts +7 -0
- package/lib/scripts/index.d.ts.map +1 -0
- package/lib/scripts/libs/finder.d.ts +14 -0
- package/lib/scripts/libs/finder.d.ts.map +1 -0
- package/lib/scripts/logger.d.ts +13 -0
- package/lib/scripts/logger.d.ts.map +1 -0
- package/lib/scripts/messages.d.ts +7 -0
- package/lib/scripts/messages.d.ts.map +1 -0
- package/lib/scripts/observers.d.ts +24 -0
- package/lib/scripts/observers.d.ts.map +1 -0
- package/lib/scripts/session-replay-browser-esm.js +1 -1
- package/lib/scripts/session-replay-browser-esm.js.gz +0 -0
- package/lib/scripts/session-replay-browser-esm.js.map +1 -1
- package/lib/scripts/session-replay-browser-min.js +1 -1
- package/lib/scripts/session-replay-browser-min.js.gz +0 -0
- package/lib/scripts/session-replay-browser-min.js.map +1 -1
- package/lib/scripts/session-replay-factory.d.ts +7 -0
- package/lib/scripts/session-replay-factory.d.ts.map +1 -0
- package/lib/scripts/session-replay.d.ts +56 -0
- package/lib/scripts/session-replay.d.ts.map +1 -0
- package/lib/scripts/track-destination.d.ts +37 -0
- package/lib/scripts/track-destination.d.ts.map +1 -0
- package/lib/scripts/typings/session-replay.d.ts +129 -0
- package/lib/scripts/typings/session-replay.d.ts.map +1 -0
- package/lib/scripts/version.d.ts +2 -0
- package/lib/scripts/version.d.ts.map +1 -0
- package/lib/scripts/worker/compression.d.ts +2 -0
- package/lib/scripts/worker/compression.d.ts.map +1 -0
- package/package.json +3 -3
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { LogConfig } from '@amplitude/analytics-core';
|
|
2
|
+
import { SessionReplay } from './session-replay';
|
|
3
|
+
import { AmplitudeSessionReplay } from './typings/session-replay';
|
|
4
|
+
export declare const getLogConfig: (sessionReplay: SessionReplay) => () => LogConfig;
|
|
5
|
+
declare const _default: AmplitudeSessionReplay;
|
|
6
|
+
export default _default;
|
|
7
|
+
//# sourceMappingURL=session-replay-factory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-replay-factory.d.ts","sourceRoot":"","sources":["../../src/session-replay-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAEpE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,eAAO,MAAM,YAAY,kBAAmB,aAAa,WAAS,SAOjE,CAAC;;AA0BF,wBAAgC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { ILogger } from '@amplitude/analytics-core';
|
|
2
|
+
import { record } from '@amplitude/rrweb';
|
|
3
|
+
import { LoggingConfig, SessionReplayJoinedConfig, SessionReplayJoinedConfigGenerator } from './config/types';
|
|
4
|
+
import { CustomRRwebEvent } from './constants';
|
|
5
|
+
import { AmplitudeSessionReplay, SessionReplayEventsManager as AmplitudeSessionReplayEventsManager, SessionIdentifiers as ISessionIdentifiers, SessionReplayOptions } from './typings/session-replay';
|
|
6
|
+
import { EventCompressor } from './events/event-compressor';
|
|
7
|
+
type PageLeaveFn = (e: PageTransitionEvent | Event) => void;
|
|
8
|
+
export declare class SessionReplay implements AmplitudeSessionReplay {
|
|
9
|
+
name: string;
|
|
10
|
+
config: SessionReplayJoinedConfig | undefined;
|
|
11
|
+
joinedConfigGenerator: SessionReplayJoinedConfigGenerator | undefined;
|
|
12
|
+
identifiers: ISessionIdentifiers | undefined;
|
|
13
|
+
eventsManager?: AmplitudeSessionReplayEventsManager<'replay' | 'interaction', string>;
|
|
14
|
+
loggerProvider: ILogger;
|
|
15
|
+
recordCancelCallback: ReturnType<typeof record> | null;
|
|
16
|
+
eventCount: number;
|
|
17
|
+
eventCompressor: EventCompressor | undefined;
|
|
18
|
+
pageLeaveFns: PageLeaveFn[];
|
|
19
|
+
private scrollHook?;
|
|
20
|
+
private networkObservers?;
|
|
21
|
+
constructor();
|
|
22
|
+
init(apiKey: string, options: SessionReplayOptions): import("@amplitude/analytics-core").AmplitudeReturn<void>;
|
|
23
|
+
private teardownEventListeners;
|
|
24
|
+
protected _init(apiKey: string, options: SessionReplayOptions): Promise<void>;
|
|
25
|
+
setSessionId(sessionId: string | number, deviceId?: string): import("@amplitude/analytics-core").AmplitudeReturn<void>;
|
|
26
|
+
asyncSetSessionId(sessionId: string | number, deviceId?: string): Promise<void>;
|
|
27
|
+
getSessionReplayProperties(): {
|
|
28
|
+
[key: string]: string | null;
|
|
29
|
+
};
|
|
30
|
+
blurListener: () => void;
|
|
31
|
+
focusListener: () => void;
|
|
32
|
+
/**
|
|
33
|
+
* This is an instance member so that if init is called multiple times
|
|
34
|
+
* it doesn't add another listener to the page leave event. This is to
|
|
35
|
+
* prevent duplicate listener actions from firing.
|
|
36
|
+
*/
|
|
37
|
+
private pageLeaveListener;
|
|
38
|
+
sendEvents(sessionId?: string | number): void;
|
|
39
|
+
initialize(shouldSendStoredEvents?: boolean): void;
|
|
40
|
+
shouldOptOut(): boolean | undefined;
|
|
41
|
+
getShouldRecord(): boolean;
|
|
42
|
+
getBlockSelectors(): string | string[] | undefined;
|
|
43
|
+
getMaskTextSelectors(): string | undefined;
|
|
44
|
+
getRecordingPlugins(loggingConfig: LoggingConfig | undefined): import("@amplitude/rrweb-types").RecordPlugin<unknown>[] | undefined;
|
|
45
|
+
recordEvents(): void;
|
|
46
|
+
addCustomRRWebEvent: (eventName: CustomRRwebEvent, eventData?: {
|
|
47
|
+
[key: string]: any;
|
|
48
|
+
}, addStorageInfo?: boolean) => Promise<void>;
|
|
49
|
+
stopRecordingEvents: () => void;
|
|
50
|
+
getDeviceId(): string | undefined;
|
|
51
|
+
getSessionId(): string | number | undefined;
|
|
52
|
+
flush(useRetry?: boolean): Promise<void | undefined>;
|
|
53
|
+
shutdown(): void;
|
|
54
|
+
}
|
|
55
|
+
export {};
|
|
56
|
+
//# sourceMappingURL=session-replay.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-replay.d.ts","sourceRoot":"","sources":["../../src/session-replay.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,OAAO,EAER,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAG1C,OAAO,EAAE,aAAa,EAAE,yBAAyB,EAAE,kCAAkC,EAAE,MAAM,gBAAgB,CAAC;AAC9G,OAAO,EAEL,gBAAgB,EAMjB,MAAM,aAAa,CAAC;AAOrB,OAAO,EACL,sBAAsB,EACtB,0BAA0B,IAAI,mCAAmC,EAIjE,kBAAkB,IAAI,mBAAmB,EACzC,oBAAoB,EACrB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAK5D,KAAK,WAAW,GAAG,CAAC,CAAC,EAAE,mBAAmB,GAAG,KAAK,KAAK,IAAI,CAAC;AAE5D,qBAAa,aAAc,YAAW,sBAAsB;IAC1D,IAAI,SAAuC;IAC3C,MAAM,EAAE,yBAAyB,GAAG,SAAS,CAAC;IAC9C,qBAAqB,EAAE,kCAAkC,GAAG,SAAS,CAAC;IACtE,WAAW,EAAE,mBAAmB,GAAG,SAAS,CAAC;IAC7C,aAAa,CAAC,EAAE,mCAAmC,CAAC,QAAQ,GAAG,aAAa,EAAE,MAAM,CAAC,CAAC;IACtF,cAAc,EAAE,OAAO,CAAC;IACxB,oBAAoB,EAAE,UAAU,CAAC,OAAO,MAAM,CAAC,GAAG,IAAI,CAAQ;IAC9D,UAAU,SAAK;IACf,eAAe,EAAE,eAAe,GAAG,SAAS,CAAC;IAG7C,YAAY,EAAE,WAAW,EAAE,CAAM;IACjC,OAAO,CAAC,UAAU,CAAC,CAAiB;IACpC,OAAO,CAAC,gBAAgB,CAAC,CAAmB;;IAM5C,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB;IAIlD,OAAO,CAAC,sBAAsB,CAmB5B;cAEc,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB;IA8EnE,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;IAIpD,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;IAoBrE,0BAA0B;;;IAsC1B,YAAY,aAEV;IAEF,aAAa,aAIX;IAEF;;;;OAIG;IACH,OAAO,CAAC,iBAAiB,CAIvB;IAEF,UAAU,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM;IAStC,UAAU,CAAC,sBAAsB,UAAQ;IAgBzC,YAAY;IAUZ,eAAe;IAwBf,iBAAiB,IAAI,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS;IAWlD,oBAAoB,IAAI,MAAM,GAAG,SAAS;IAa1C,mBAAmB,CAAC,aAAa,EAAE,aAAa,GAAG,SAAS;IAqB5D,YAAY;IA8EZ,mBAAmB,cACN,gBAAgB;;kDAkC3B;IAEF,mBAAmB,aAUjB;IAEF,WAAW;IAIX,YAAY;IAIN,KAAK,CAAC,QAAQ,UAAQ;IAI5B,QAAQ;CAKT"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { ILogger } from '@amplitude/analytics-core';
|
|
2
|
+
import { SessionReplayTrackDestination as AmplitudeSessionReplayTrackDestination, SessionReplayDestination, SessionReplayDestinationContext } from './typings/session-replay';
|
|
3
|
+
export type PayloadBatcher = ({ version, events }: {
|
|
4
|
+
version: number;
|
|
5
|
+
events: string[];
|
|
6
|
+
}) => {
|
|
7
|
+
version: number;
|
|
8
|
+
events: unknown[];
|
|
9
|
+
};
|
|
10
|
+
export declare class SessionReplayTrackDestination implements AmplitudeSessionReplayTrackDestination {
|
|
11
|
+
loggerProvider: ILogger;
|
|
12
|
+
storageKey: string;
|
|
13
|
+
trackServerUrl?: string;
|
|
14
|
+
retryTimeout: number;
|
|
15
|
+
private scheduled;
|
|
16
|
+
payloadBatcher: PayloadBatcher;
|
|
17
|
+
queue: SessionReplayDestinationContext[];
|
|
18
|
+
constructor({ trackServerUrl, loggerProvider, payloadBatcher, }: {
|
|
19
|
+
trackServerUrl?: string;
|
|
20
|
+
loggerProvider: ILogger;
|
|
21
|
+
payloadBatcher?: PayloadBatcher;
|
|
22
|
+
});
|
|
23
|
+
sendEventsList(destinationData: SessionReplayDestination): void;
|
|
24
|
+
addToQueue(...list: SessionReplayDestinationContext[]): void;
|
|
25
|
+
schedule(timeout: number): void;
|
|
26
|
+
flush(useRetry?: boolean): Promise<void>;
|
|
27
|
+
send(context: SessionReplayDestinationContext, useRetry?: boolean): Promise<void>;
|
|
28
|
+
handleReponse(status: number, context: SessionReplayDestinationContext): void;
|
|
29
|
+
handleSuccessResponse(context: SessionReplayDestinationContext): void;
|
|
30
|
+
handleOtherResponse(context: SessionReplayDestinationContext): void;
|
|
31
|
+
completeRequest({ context, err, success, }: {
|
|
32
|
+
context: SessionReplayDestinationContext;
|
|
33
|
+
err?: string;
|
|
34
|
+
success?: string;
|
|
35
|
+
}): void;
|
|
36
|
+
}
|
|
37
|
+
//# 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":"AAAA,OAAO,EAAiB,OAAO,EAAU,MAAM,2BAA2B,CAAC;AAS3E,OAAO,EACL,6BAA6B,IAAI,sCAAsC,EACvE,wBAAwB,EACxB,+BAA+B,EAChC,MAAM,0BAA0B,CAAC;AAIlC,MAAM,MAAM,cAAc,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,KAAK;IAC3F,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,OAAO,EAAE,CAAC;CACnB,CAAC;AAEF,qBAAa,6BAA8B,YAAW,sCAAsC;IAC1F,cAAc,EAAE,OAAO,CAAC;IACxB,UAAU,SAAM;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,SAAQ;IACpB,OAAO,CAAC,SAAS,CAA8C;IAC/D,cAAc,EAAE,cAAc,CAAC;IAC/B,KAAK,EAAE,+BAA+B,EAAE,CAAM;gBAElC,EACV,cAAc,EACd,cAAc,EACd,cAAc,GACf,EAAE;QACD,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,cAAc,EAAE,OAAO,CAAC;QACxB,cAAc,CAAC,EAAE,cAAc,CAAC;KACjC;IAMD,cAAc,CAAC,eAAe,EAAE,wBAAwB;IAQxD,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;IAiEpE,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,+BAA+B;IActE,qBAAqB,CAAC,OAAO,EAAE,+BAA+B;IAQ9D,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"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { AmplitudeReturn, ServerZone } from '@amplitude/analytics-core';
|
|
2
|
+
import { SessionReplayJoinedConfig, SessionReplayLocalConfig, SessionReplayVersion } from '../config/types';
|
|
3
|
+
export type StorageData = {
|
|
4
|
+
totalStorageSize: number;
|
|
5
|
+
percentOfQuota: number;
|
|
6
|
+
usageDetails: string;
|
|
7
|
+
};
|
|
8
|
+
export interface DebugInfo extends Partial<StorageData> {
|
|
9
|
+
config: SessionReplayJoinedConfig;
|
|
10
|
+
version: string;
|
|
11
|
+
}
|
|
12
|
+
export type Events = string[];
|
|
13
|
+
export type StoreType = 'memory' | 'idb';
|
|
14
|
+
export type EventType = 'replay' | 'interaction';
|
|
15
|
+
export type ConsoleLogLevel = 'info' | 'log' | 'warn' | 'error';
|
|
16
|
+
export interface SessionReplayDestinationSessionMetadata {
|
|
17
|
+
type: EventType;
|
|
18
|
+
sessionId: string | number;
|
|
19
|
+
deviceId: string | undefined;
|
|
20
|
+
version?: SessionReplayVersion;
|
|
21
|
+
}
|
|
22
|
+
export type SessionReplayDestination = {
|
|
23
|
+
events: Events;
|
|
24
|
+
flushMaxRetries?: number;
|
|
25
|
+
apiKey?: string;
|
|
26
|
+
sampleRate: number;
|
|
27
|
+
serverZone?: keyof typeof ServerZone;
|
|
28
|
+
onComplete: () => Promise<void>;
|
|
29
|
+
} & SessionReplayDestinationSessionMetadata;
|
|
30
|
+
export interface SessionReplayDestinationContext extends SessionReplayDestination {
|
|
31
|
+
attempts: number;
|
|
32
|
+
timeout: number;
|
|
33
|
+
}
|
|
34
|
+
export interface SendingSequencesReturn<KeyType> {
|
|
35
|
+
sequenceId: KeyType;
|
|
36
|
+
sessionId: string | number;
|
|
37
|
+
events: Events;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* This interface is not guaranteed to be stable, yet.
|
|
41
|
+
*/
|
|
42
|
+
export interface EventsStore<KeyType> {
|
|
43
|
+
getSequencesToSend(): Promise<SendingSequencesReturn<KeyType>[] | undefined>;
|
|
44
|
+
/**
|
|
45
|
+
* Moves current sequence of events to long term storage and resets short term storage.
|
|
46
|
+
*/
|
|
47
|
+
storeCurrentSequence(sessionId: string | number): Promise<SendingSequencesReturn<KeyType> | undefined>;
|
|
48
|
+
/**
|
|
49
|
+
* Adds events to the current IDB sequence. Returns events that should be
|
|
50
|
+
* sent to the track destination right away if should split events is true.
|
|
51
|
+
*/
|
|
52
|
+
addEventToCurrentSequence(sessionId: string | number, event: string): Promise<SendingSequencesReturn<KeyType> | undefined>;
|
|
53
|
+
/**
|
|
54
|
+
* Returns the sequence id associated with the events batch.
|
|
55
|
+
* @returns the new sequence id or undefined if it cannot be determined or on any error.
|
|
56
|
+
*/
|
|
57
|
+
storeSendingEvents(sessionId: string | number, events: Events): Promise<KeyType | undefined>;
|
|
58
|
+
/**
|
|
59
|
+
* Permanently removes the events batch for the session/sequence pair.
|
|
60
|
+
*/
|
|
61
|
+
cleanUpSessionEventsStore(sessionId: string | number, sequenceId?: KeyType): Promise<void>;
|
|
62
|
+
}
|
|
63
|
+
export interface SessionIdentifiers {
|
|
64
|
+
/**
|
|
65
|
+
* Sets an identifier for the device running your application.
|
|
66
|
+
*/
|
|
67
|
+
deviceId?: string;
|
|
68
|
+
/**
|
|
69
|
+
* Sets an identifier for the users current session. The value must be in milliseconds since epoch (Unix Timestamp).
|
|
70
|
+
*/
|
|
71
|
+
sessionId?: string | number;
|
|
72
|
+
sessionReplayId?: string;
|
|
73
|
+
}
|
|
74
|
+
export type SessionReplayOptions = Omit<Partial<SessionReplayLocalConfig & SessionIdentifiers>, 'apiKey'>;
|
|
75
|
+
export interface AmplitudeSessionReplay {
|
|
76
|
+
init: (apiKey: string, options: SessionReplayOptions) => AmplitudeReturn<void>;
|
|
77
|
+
setSessionId: (sessionId: string | number, deviceId?: string) => AmplitudeReturn<void>;
|
|
78
|
+
getSessionId: () => string | number | undefined;
|
|
79
|
+
getSessionReplayProperties: () => {
|
|
80
|
+
[key: string]: boolean | string | null;
|
|
81
|
+
};
|
|
82
|
+
flush: (useRetry: boolean) => Promise<void>;
|
|
83
|
+
shutdown: () => void;
|
|
84
|
+
}
|
|
85
|
+
export interface SessionReplayTrackDestination {
|
|
86
|
+
/**
|
|
87
|
+
* Enqueues events to be sent.
|
|
88
|
+
*/
|
|
89
|
+
sendEventsList: (destinationData: SessionReplayDestination) => void;
|
|
90
|
+
/**
|
|
91
|
+
* Immediately sends queued events.
|
|
92
|
+
*/
|
|
93
|
+
flush: (useRetry: boolean) => Promise<void>;
|
|
94
|
+
}
|
|
95
|
+
export type EventsManagerWithType<EventType, EventDataType> = {
|
|
96
|
+
name: EventType;
|
|
97
|
+
manager: SessionReplayEventsManager<EventType, EventDataType>;
|
|
98
|
+
};
|
|
99
|
+
export interface SessionReplayEventsManager<Type, Event> {
|
|
100
|
+
/**
|
|
101
|
+
* For each sequence stored in the long term indexed DB send immediately to the track destination.
|
|
102
|
+
*/
|
|
103
|
+
sendStoredEvents({ deviceId }: {
|
|
104
|
+
deviceId: string;
|
|
105
|
+
}): Promise<void>;
|
|
106
|
+
/**
|
|
107
|
+
* Adds an event to the short term storage. If should split based on size or last sent, then send immediately.
|
|
108
|
+
*/
|
|
109
|
+
addEvent({ sessionId, event, deviceId, }: {
|
|
110
|
+
sessionId: string | number;
|
|
111
|
+
event: {
|
|
112
|
+
type: Type;
|
|
113
|
+
data: Event;
|
|
114
|
+
};
|
|
115
|
+
deviceId: string;
|
|
116
|
+
}): void;
|
|
117
|
+
/**
|
|
118
|
+
* Move events in short term storage to long term storage and send immediately to the track destination.
|
|
119
|
+
*/
|
|
120
|
+
sendCurrentSequenceEvents({ sessionId, deviceId }: {
|
|
121
|
+
sessionId: string | number;
|
|
122
|
+
deviceId: string;
|
|
123
|
+
}): void;
|
|
124
|
+
/**
|
|
125
|
+
* Flush the track destination queue immediately. This should invoke sends for all the events in the queue.
|
|
126
|
+
*/
|
|
127
|
+
flush(useRetry?: boolean): Promise<void>;
|
|
128
|
+
}
|
|
129
|
+
//# sourceMappingURL=session-replay.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-replay.d.ts","sourceRoot":"","sources":["../../../src/typings/session-replay.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,OAAO,WAAW,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compression.d.ts","sourceRoot":"","sources":["../../../src/worker/compression.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,oBAAoB,8CAAY,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@amplitude/session-replay-browser",
|
|
3
|
-
"version": "1.22.
|
|
3
|
+
"version": "1.22.7-prereleasenetworkcapture.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"author": "Amplitude Inc",
|
|
6
6
|
"homepage": "https://github.com/amplitude/Amplitude-TypeScript",
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"url": "https://github.com/amplitude/Amplitude-TypeScript/issues"
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
|
-
"@amplitude/analytics-core": "^2.
|
|
42
|
+
"@amplitude/analytics-core": "^2.13.0-prereleasenetworkcapture.0",
|
|
43
43
|
"@amplitude/analytics-remote-config": "^0.6.2",
|
|
44
44
|
"@amplitude/rrweb": "2.0.0-alpha.29",
|
|
45
45
|
"@amplitude/rrweb-packer": "2.0.0-alpha.29",
|
|
@@ -66,5 +66,5 @@
|
|
|
66
66
|
"files": [
|
|
67
67
|
"lib"
|
|
68
68
|
],
|
|
69
|
-
"gitHead": "
|
|
69
|
+
"gitHead": "bd3f0cbb9079182d6bbb15fe6b6ddaae5f894616"
|
|
70
70
|
}
|