UNPKG

@embrace-io/web-sdk

Version:
1 lines 3.03 kB
{"version":3,"file":"constants.cjs","names":[],"sources":["../../../src/managers/EmbraceUserSessionManager/constants.ts"],"sourcesContent":["import type { SessionPartEndReason } from '../../api-sessions/manager/types.ts';\n\nexport const EMBRACE_USER_SESSION_STATE_KEY = 'embrace_user_session_state';\n/**\n * Bump when UserSessionState's shape changes incompatibly. Persisted blobs\n * whose schemaVersion doesn't match are discarded on read.\n */\nexport const USER_SESSION_STATE_SCHEMA_VERSION = 1;\nexport const EMBRACE_USER_SESSION_NUMBER_KEY = 'embrace_user_session_number';\nexport const EMBRACE_SESSION_PART_NUMBER_KEY = 'embrace_session_part_number';\nexport const EMBRACE_PERMANENT_PROPERTIES_KEY = 'embrace_permanent_properties';\nexport const EMBRACE_LAST_END_USER_SESSION_TS_KEY =\n 'embrace_last_end_user_session_ts';\n\nexport const SESSION_PART_SPAN_NAME = 'emb-session-part';\n\n/**\n * Part end reasons that also terminate the enclosing user session, so the\n * part is stamped as the final one (`emb.is_final_session_part`).\n */\nexport const FINAL_SESSION_PART_END_REASONS: ReadonlySet<SessionPartEndReason> =\n new Set(['user_session_ended', 'web_foreground_inactivity']);\n\nexport const DEFAULT_USER_SESSION_MAX_DURATION_SECONDS = 12 * 60 * 60;\nexport const MIN_USER_SESSION_MAX_DURATION_SECONDS = 1 * 60 * 60;\nexport const MAX_USER_SESSION_MAX_DURATION_SECONDS = 24 * 60 * 60;\n\nexport const DEFAULT_USER_SESSION_INACTIVITY_TIMEOUT_SECONDS = 30 * 60;\nexport const MIN_USER_SESSION_INACTIVITY_TIMEOUT_SECONDS = 30;\nexport const MAX_USER_SESSION_INACTIVITY_TIMEOUT_SECONDS = 24 * 60 * 60;\n\nexport const DEFAULT_USER_SESSION_FOREGROUND_INACTIVITY_TIMEOUT_SECONDS =\n 30 * 60;\nexport const MIN_USER_SESSION_FOREGROUND_INACTIVITY_TIMEOUT_SECONDS = 30;\nexport const MAX_USER_SESSION_FOREGROUND_INACTIVITY_TIMEOUT_SECONDS =\n 24 * 60 * 60;\n\n// Anti-spam guard: minimum interval between successful endUserSession calls.\n// Persists across page refreshes so a refresh-and-call loop can't manufacture\n// session boundaries faster than this.\nexport const END_USER_SESSION_COOLDOWN_MS = 5 * 1000;\n\n/**\n * Default upper bound on how often the activity handler runs; prevents\n * mousemove from re-arming the inactivity timer for every sub-second event.\n */\nexport const DEFAULT_ACTIVITY_THROTTLE_MS = 30 * 1000;\n\n/** Default input events that count as user interaction with a foreground tab. */\nexport const DEFAULT_ACTIVITY_EVENTS: ReadonlyArray<string> = [\n 'keydown',\n 'mousedown',\n 'mousemove',\n 'scroll',\n];\n"],"mappings":";;AAEA,MAAa,iCAAiC;;;;;AAK9C,MAAa,oCAAoC;AACjD,MAAa,kCAAkC;AAC/C,MAAa,kCAAkC;AAC/C,MAAa,mCAAmC;AAChD,MAAa,uCACX;AAEF,MAAa,yBAAyB;;;;;AAMtC,MAAa,iDACX,IAAI,IAAI,CAAC,sBAAsB,2BAA2B,CAAC;AAE7D,MAAa,4CAA4C,MAAU;AACnE,MAAa,wCAAwC;AACrD,MAAa,wCAAwC,OAAU;AAE/D,MAAa,kDAAkD;AAC/D,MAAa,8CAA8C;AAC3D,MAAa,8CAA8C,OAAU;AAErE,MAAa,6DACX;AACF,MAAa,yDAAyD;AACtE,MAAa,yDACX,OAAU;AAKZ,MAAa,+BAA+B,IAAI;;;;;AAMhD,MAAa,+BAA+B,KAAK;;AAGjD,MAAa,0BAAiD;CAC5D;CACA;CACA;CACA;AACF"}