zipyai
Version:
SDK for zipy
528 lines (527 loc) • 13.2 kB
TypeScript
import { EventType, MouseInteractions } from "zipy-rrweb";
export type listenerHandler = () => void;
export declare enum zipyEventTypes {
Mutation = 0,
MouseMove = 1,
MouseInteraction = 2,
Scroll = 3,
ViewportResize = 4,
Input = 5,
TouchMove = 6,
MediaInteraction = 7,
StyleSheetRule = 8,
CanvasMutation = 9,
Font = 10,
ReplayerEvent = 11,
ConsoleInfo = 50,
ConsoleError = 51,
ConsoleWarning = 52,
ConsoleDebug = 53,
Error = 70,
RangeError = 71,
ReferenceError = 72,
TypeError = 73,
SyntaxError = 74,
URIError = 75,
EvalError = 76,
UnhandledRejection = 77,
BROWSERDATA = 100,
NAVIGATION = 101,
Online = 102,
Offline = 103,
XHR = 104,
WSOPEN = 105,
WSCLOSE = 106,
WSMESSAGE = 107,
WSERROR = 108,
Fonts = 109,
Link = 110,
Css = 111,
Image = 112,
Js = 113,
Media = 114,
ZipyLogMessage = 115,
ZipyLogException = 116,
ZipyLogFrontendError = 117,
ZipyLogNetworkError = 118,
Performance = 119,
PerfNavigation = 120,
OtherNetworkCall = 121,
WebVitals = 122,
NavigationStart = 123,
DEBUG_INFO = 124,
CustomEvent = 125,
CpuUsage = 126,
MemoryUsage = 127
}
export type browserData = {
browser: string;
browserVersion: string;
location: string;
os: any;
timeZone: string;
userAgent: string;
ip: string;
lat: number;
lon: number;
deviceName: string;
screenWidth: number;
screenHeight: number;
};
export type errorData = {
message: string;
filename: string;
lineno: number;
colno: number;
error: any;
};
export type exceptionData = {
message: string;
error: any;
};
export type consoleData = {
arguments: string;
argumentsObj: Array<string | object>;
};
export type xhrCallData = {
requestUrl: string;
requestMethod: string;
request: any;
headers: any;
response: any;
responseHeaders: any;
status: number;
sourceLibrary: string;
requestStartTime?: number;
xhrDuration?: number;
requestByteSize?: number;
responseByteSize?: number;
nextHopProtocol?: string;
renderBlockingStatus?: string;
startTime?: number;
duration?: number;
workerStart?: number;
redirectStart?: number;
redirectEnd?: number;
fetchStart?: number;
domainLookupStart?: number;
domainLookupEnd?: number;
connectStart?: number;
secureConnectionStart?: number;
connectEnd?: number;
requestStart?: number;
responseStart?: number;
responseEnd?: number;
transferSize?: number;
encodedBodySize?: number;
decodedBodySize?: number;
apiIdentifier?: string;
uncompressedResponseByteSize?: number;
};
export type navigationData = {
navigatedUrl: string;
loadTime: number;
navigationType: string;
isRouteChange: boolean;
tabId: string;
ttfb?: number;
domComplete?: number;
};
export type networkConnectionData = {
status: string;
type: string;
};
export type WebSocketData = {
requestUrl: string;
responseData?: WebSocketMessage | WebSocketError | WebSocketClose | {};
status: string;
protocols: string;
extension: any;
readyState: number;
requestData?: string;
timestamp: number;
wsMsgType: WSMsgType;
};
export declare enum WSMsgType {
MESSAGESEND = 0,
MESSAGERECEIVED = 1,
SOCKETCLOSE = 2,
SOCKETERROR = 3,
SOCKETOPEN = 4
}
export type WebSocketMessage = {
data: string;
type: string;
wsTimestamp: number;
};
export type WebSocketError = {
code: number;
reason: string;
wsTimestamp: number;
type: string;
};
export type WebSocketClose = {
code: number;
reason: string;
type: string;
wsTimestamp: number;
};
export type httpRequestRespData = {
requestUrl: string;
initiatorType: string;
duration: number;
startTime: number;
};
export type ZipyPerformanceResourceTiming = {
initiatorType: string;
nextHopProtocol: string;
workerStart: string;
redirectStart: string;
redirectEnd: string;
fetchStart: string;
domainLookupStart: string;
domainLookupEnd: string;
connectStart: string;
connectEnd: string;
secureConnectionStart: string;
requestStart: string;
responseStart: string;
responseEnd: string;
transferSize: string;
encodedBodySize: string;
decodedBodySize: string;
responseStatus: number;
renderBlockingStatus: ZipyRenderBlockingStatusType;
duration: number;
entryType: ZipyEntryType;
name: string;
startTime: number;
apiIdentifier: string;
};
export type ZipyPerformanceEntry = {
duration: number;
entryType: ZipyEntryType;
name: string;
startTime: number;
};
declare enum ZipyEntryType {
ELEMENT = 0,
EVENT = 1,
FIRST_INPUT = 2,
LARGEST_CONTENTFUL_PAINT = 3,
LAYOUT_SHIFT = 4,
LONGTASK = 5,
MARK = 6,
MEASURE = 7,
NAVIGATION = 8,
PAINT = 9,
RESOURCE = 10
}
export type eventData = browserData | errorData | exceptionData | consoleData | xhrCallData | navigationData | networkConnectionData | WebSocketData | httpRequestRespData | zipyLogMessageData | zipyLogExceptionData | zipyLogErrorData | ZipyPerformanceResourceTiming | any;
export type zipyEvent = {
eventType: zipyEventTypes;
data: eventData;
isError: boolean;
};
export declare const ZIPYLOGIDENTIFIER = "zipy";
export declare const RRWEBIDENTIFIER = "rrweb";
export type zipyEventWithTime = zipyEvent & {
timestamp: number;
};
export type zipyEventFormat = {
data: string;
type: zipyEventTypes;
rrwebEvent?: EventType;
time: number;
isError: boolean;
navigatedUrl: string;
isCheckout?: boolean;
};
export type zipyPerfEventFormat = {
data: ZipyPerformanceResourceTiming;
type: zipyEventTypes;
time: number;
};
export type zipyPagePerfEventData = {
data: any;
type: zipyEventTypes;
time?: number;
};
export type zipyDataJson = {
key: string;
sdk_ver: string;
src: string;
s_id: string;
euz_id: string;
eue_id: string;
rel_ver: string;
eu_info_id: number;
events: zipyEventFormat[];
handshake_status: boolean;
ip: string;
deviceName: string;
screenWidth: number;
screenHeight: number;
userAgent: string;
timeZone: string;
pack?: boolean;
isNPM: boolean;
};
export type zipyClickEventFormat = {
data: any;
time: number;
type: number;
isError: boolean;
};
export type zipyPagePerfData = {
key: string;
sdk_ver: string;
src: string;
s_id: string;
euz_id: string;
eue_id: string;
events: any;
eu_info_id: number;
rel_ver: string;
handshake_status: boolean;
ip: string;
deviceName: string;
userAgent: string;
timeZone: string;
pack: boolean;
eventType: number;
};
export type zipyClickData = {
key: string;
sdk_ver: string;
src: string;
s_id: string;
euz_id: string;
eue_id: string;
events: zipyClickEventFormat[];
eu_info_id: number;
rel_ver: string;
handshake_status: boolean;
ip: string;
deviceName: string;
userAgent: string;
timeZone: string;
pack: boolean;
eventType: number;
};
export type customData = {
eventData: string;
};
export type divolteDataFormat = {
session_id: string;
event_id: string;
is_new_party: boolean;
is_new_session: boolean;
client_timestamp_iso: string;
event_type: string;
parameters: customData;
};
export type options = {
releaseVer: string;
rootDomain: string;
recordOnlyIframe: boolean;
proxyURL: string;
};
export type UserInfo = {
firstName: string;
lastName: string;
email: string;
customerName: string;
avatar: string;
phone: string;
age: number;
};
export type storeEndUserInfo = {
euId: number;
euZName: string;
userType: UserType;
zExternalUserInfo: any;
zAnonymsUserInfo: any;
isBlocked: boolean;
};
export declare enum Operations {
POSTENDUSERINFOANDGETUSERCONFIG = 0,
POSTENDUSERINFO = 1,
GETUSERCONFIG = 2
}
export declare enum UserType {
ANONYMS = 0,
IDENTIFIED = 1
}
export declare enum RRwebRecorderStatus {
NORECORDING = 0,
RECORDINGPENDING = 1,
RECORDINGSUCCESSFUL = 2
}
export type SessionBlockInfo = {
isBlocked: boolean;
blockedEndTime: number;
apiKey: string;
};
export type sessionRegisterInformation = {
enduser_session_id: string;
user_agent: string;
ip_address: string;
location: string;
enduser_zipy_id: string;
project_release_version: string;
sdk_version: string;
device_name: string;
screen_width: number;
screen_height: number;
};
export type sessionData = {
dSession: string;
isNewSession: boolean;
sdkKey: string;
sessionId: string;
};
export declare const NOT_FOUND = 404;
export type zipyEventOptions = {
[key: string]: any;
};
export type zipyLogMessageData = {
message: string;
options: zipyEventOptions;
};
export type zipyLogExceptionData = {
message: string;
filename: string;
lineno: number;
colno: number;
cause: any;
stack: string;
name: string;
};
export type zipyLogErrorData = {
name: string;
message: string;
category: string;
options: zipyEventOptions;
};
export type hasErrorArgument = {
hasErrorObj: boolean;
errObj?: any;
};
export declare const LOG_EVENT = "logEvent";
export declare const EXCEPTION_EVENT = "exceptionEvent";
export declare const ERROR_EVENT = "errorEvent";
export declare const LOG_MESSAGE_LIMIT = 1024;
export declare const START_IFRAME_RECORDING = "startIframeRecording";
export declare const STOP_IFRAME_RECORDING = "stopIframeRecording";
export declare const IFRAME_LOADED = "iframeContentLoaded";
export declare enum consoleLogLevel {
DEBUG = "1",
WARNING = "2",
ERROR = "3",
LOG = "4"
}
declare enum ZipyRenderBlockingStatusType {
BLOCKING = 0,
NON_BLOCKING = 1
}
export declare enum cookieVariables {
session_data = "_zsession-data",
total_data_sent = "_ztotal-data-sent",
enduser_last_activity_time = "_zenduser-last-activity-time",
last_activity_time = "_zlast-activity-time",
utms = "_utms"
}
export type mouseInteractionParam = {
type: MouseInteractions;
id: number;
x: number;
y: number;
nodePath?: string;
deadClick?: boolean;
rageClick: boolean;
innerText?: string;
offsetX: number;
offsetY: number;
screenHeight: number | null;
screenWidth: number | null;
navigationUrl: string;
elementHeight: number;
elementWidth: number;
selector: string | null;
};
export declare type mouseInteractionData = {
source: zipyEventTypes.MouseInteraction;
} & mouseInteractionParam;
export declare const rootDomainRegex: RegExp;
export declare const proxyURLRegex: RegExp;
export declare const cancelledRequestStatusCode = 499;
export declare enum WEB_VITALS {
FCP = 0,
FP = 1,
FID = 2,
CLS = 3,
LCP = 4
}
export declare const STREAM_HEADERS: {
'Content-Type': string;
'Content-Encoding': string;
};
export declare enum DEBUG_INFO {
INIT = "init",
REINIT = "reinit",
PAGE_OUT = "pageout"
}
export declare enum InitalizorInitReInit {
PAGELOAD = "pageload",
VISIBLE = "visibility visible",
VISIBLEFOCUSED = "visible and focused",
HIDDEN = "visibility hidden",
IDENTIFY = "identify",
ANONYMIZE = "anonymize",
STREAMDATARECORDINGPAUSE = "streamdata recording paused",
STREAMDATAEXPIRE = "streamdata session expired",
FOCUS = "focus",
BLUR = "blur",
NA = ""
}
export type SupportedProperties = string | boolean | number | string[] | number[] | boolean[];
export type CustomEventProperties = {
[key: string]: SupportedProperties;
};
type CustomEvent = {
eventName: string;
properties: CustomEventProperties;
};
export type zipyCustomEvent = {
data: CustomEvent;
type: zipyEventTypes;
time: number;
};
export type zipyCustomEventData = {
key: string;
s_id: string;
events: zipyCustomEvent[];
eventType: number;
};
export type getFilteredZipyCustomEventType = {
eventName: string;
properties: CustomEventProperties;
maxLength: number;
maxPayloadSize: number;
};
export declare enum dataSyncStates {
IDLE = 0,
PENDING = 1,
SUCCESS = 2,
FAILED = 3
}
export declare const utmsParams: string[];
export declare enum sdkTimerState {
STOP = 0,
START = 1
}
export interface recordTypes {
stop: () => void;
}
export {};