UNPKG

@chaseleto/sessions-sdk

Version:

Privacy-conscious session recording SDK for self-hosted session tracking

75 lines 1.68 kB
import { SessionSDKOptions } from './types'; export declare class SessionSDK { private apiKey; private options; private sessionId; private isRecording; private startTime; private events; private consoleLogger; private networkLogger; private uploadQueue; private stopRecording?; constructor(apiKey: string, options?: SessionSDKOptions); /** * Initialize and start session recording */ init(): void; /** * Start recording the session */ private startRecording; /** * Start the actual rrweb recording */ private startRrwebRecording; /** * Stop recording and upload final data */ stop(): void; /** * Add custom attributes to the session */ setAttributes(attributes: Record<string, any>): void; /** * Set user ID for the session */ setUserId(userId: string): void; /** * Get current session ID */ getSessionId(): string; /** * Get current session duration */ getSessionDuration(): number; /** * Check if recording is active */ isActive(): boolean; /** * Merge default options with user options */ private mergeOptions; /** * Schedule periodic uploads */ private scheduleUpload; /** * Clean up old data to prevent memory leaks */ private cleanupOldData; /** * Set up page unload handler */ private setupUnloadHandler; /** * Upload current session data */ private uploadSessionData; /** * Destroy the SDK instance */ destroy(): void; } //# sourceMappingURL=session-sdk.d.ts.map