crexperium-sdk 1.1.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.
Files changed (49) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +482 -0
  3. package/dist/browser.js +2 -0
  4. package/dist/browser.js.map +1 -0
  5. package/dist/client.d.ts +55 -0
  6. package/dist/client.d.ts.map +1 -0
  7. package/dist/config.d.ts +30 -0
  8. package/dist/config.d.ts.map +1 -0
  9. package/dist/errors.d.ts +47 -0
  10. package/dist/errors.d.ts.map +1 -0
  11. package/dist/index.d.ts +18 -0
  12. package/dist/index.d.ts.map +1 -0
  13. package/dist/index.js +13850 -0
  14. package/dist/index.js.map +1 -0
  15. package/dist/index.mjs +13823 -0
  16. package/dist/index.mjs.map +1 -0
  17. package/dist/plugins/auto-page-view.d.ts +21 -0
  18. package/dist/plugins/auto-page-view.d.ts.map +1 -0
  19. package/dist/plugins/device-info.d.ts +30 -0
  20. package/dist/plugins/device-info.d.ts.map +1 -0
  21. package/dist/plugins/session-replay.d.ts +106 -0
  22. package/dist/plugins/visitor-id.d.ts +29 -0
  23. package/dist/plugins/visitor-id.d.ts.map +1 -0
  24. package/dist/resources/base.d.ts +20 -0
  25. package/dist/resources/base.d.ts.map +1 -0
  26. package/dist/resources/contacts.d.ts +31 -0
  27. package/dist/resources/contacts.d.ts.map +1 -0
  28. package/dist/resources/deals.d.ts +31 -0
  29. package/dist/resources/deals.d.ts.map +1 -0
  30. package/dist/resources/events.d.ts +27 -0
  31. package/dist/resources/events.d.ts.map +1 -0
  32. package/dist/types/common.d.ts +20 -0
  33. package/dist/types/common.d.ts.map +1 -0
  34. package/dist/types/contacts.d.ts +78 -0
  35. package/dist/types/contacts.d.ts.map +1 -0
  36. package/dist/types/deals.d.ts +71 -0
  37. package/dist/types/deals.d.ts.map +1 -0
  38. package/dist/types/events.d.ts +76 -0
  39. package/dist/types/events.d.ts.map +1 -0
  40. package/dist/types/index.d.ts +8 -0
  41. package/dist/types/index.d.ts.map +1 -0
  42. package/dist/types/session-replay.d.ts +213 -0
  43. package/dist/utils/device.d.ts +25 -0
  44. package/dist/utils/device.d.ts.map +1 -0
  45. package/dist/utils/http.d.ts +53 -0
  46. package/dist/utils/http.d.ts.map +1 -0
  47. package/dist/utils/storage.d.ts +23 -0
  48. package/dist/utils/storage.d.ts.map +1 -0
  49. package/package.json +73 -0
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Main CRM Client class - Entry point for the SDK
3
+ */
4
+ import { SDKConfig } from './config';
5
+ import { EventsResource } from './resources/events';
6
+ import { ContactsResource } from './resources/contacts';
7
+ import { DealsResource } from './resources/deals';
8
+ import { VisitorIdPlugin } from './plugins/visitor-id';
9
+ import { DeviceInfoPlugin } from './plugins/device-info';
10
+ import { SessionReplayPlugin } from './plugins/session-replay';
11
+ export declare class CRMClient {
12
+ private config;
13
+ private http;
14
+ private _events;
15
+ private _contacts;
16
+ private _deals;
17
+ private plugins;
18
+ private _visitorId?;
19
+ private _deviceInfo?;
20
+ private _autoPageView?;
21
+ private _sessionReplay?;
22
+ constructor(options: SDKConfig);
23
+ /**
24
+ * Events resource for tracking events
25
+ */
26
+ get events(): EventsResource;
27
+ /**
28
+ * Contacts resource for managing contacts
29
+ */
30
+ get contacts(): ContactsResource;
31
+ /**
32
+ * Deals resource for managing deals
33
+ */
34
+ get deals(): DealsResource;
35
+ /**
36
+ * Visitor ID plugin (browser only)
37
+ */
38
+ get visitorId(): VisitorIdPlugin | undefined;
39
+ /**
40
+ * Device Info plugin (browser only)
41
+ */
42
+ get deviceInfo(): DeviceInfoPlugin | undefined;
43
+ /**
44
+ * Session Replay plugin (browser only)
45
+ */
46
+ get sessionReplay(): SessionReplayPlugin | undefined;
47
+ /**
48
+ * Initialize browser-specific plugins
49
+ */
50
+ private initBrowserPlugins;
51
+ /**
52
+ * Cleanup and destroy the client
53
+ */
54
+ destroy(): void;
55
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAU,SAAS,EAAE,MAAM,UAAU,CAAC;AAE7C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAU,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAMzD,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,IAAI,CAAa;IAGzB,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,SAAS,CAAmB;IACpC,OAAO,CAAC,MAAM,CAAgB;IAG9B,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,UAAU,CAAC,CAAkB;IACrC,OAAO,CAAC,WAAW,CAAC,CAAmB;IACvC,OAAO,CAAC,aAAa,CAAC,CAAqB;gBAE/B,OAAO,EAAE,SAAS;IAe9B;;OAEG;IACH,IAAI,MAAM,IAAI,cAAc,CAE3B;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,gBAAgB,CAE/B;IAED;;OAEG;IACH,IAAI,KAAK,IAAI,aAAa,CAEzB;IAED;;OAEG;IACH,IAAI,SAAS,IAAI,eAAe,GAAG,SAAS,CAE3C;IAED;;OAEG;IACH,IAAI,UAAU,IAAI,gBAAgB,GAAG,SAAS,CAE7C;IAED;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAoB1B;;OAEG;IACH,OAAO,IAAI,IAAI;CAShB"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Configuration management for the SDK
3
+ */
4
+ import { SessionReplayConfig } from './types/session-replay';
5
+ export interface SDKConfig {
6
+ apiToken: string;
7
+ baseUrl?: string;
8
+ timeout?: number;
9
+ maxRetries?: number;
10
+ retryDelay?: number;
11
+ autoPageView?: boolean;
12
+ autoDeviceInfo?: boolean;
13
+ persistVisitorId?: boolean;
14
+ visitorIdKey?: string;
15
+ sessionReplay?: SessionReplayConfig;
16
+ }
17
+ export declare class Config {
18
+ readonly apiToken: string;
19
+ readonly baseUrl: string;
20
+ readonly timeout: number;
21
+ readonly maxRetries: number;
22
+ readonly retryDelay: number;
23
+ readonly autoPageView: boolean;
24
+ readonly autoDeviceInfo: boolean;
25
+ readonly persistVisitorId: boolean;
26
+ readonly visitorIdKey: string;
27
+ readonly sessionReplay?: SessionReplayConfig;
28
+ constructor(options: SDKConfig);
29
+ private validate;
30
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IAGpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,MAAM;IACjB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;IACnC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;gBAElB,OAAO,EAAE,SAAS;IAkC9B,OAAO,CAAC,QAAQ;CAkBjB"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Base error class for all Crexperium SDK errors
3
+ */
4
+ export declare class CRMError extends Error {
5
+ response?: Response | undefined;
6
+ statusCode?: number | undefined;
7
+ constructor(message: string, response?: Response | undefined, statusCode?: number | undefined);
8
+ }
9
+ /**
10
+ * Thrown when authentication fails (401)
11
+ */
12
+ export declare class AuthenticationError extends CRMError {
13
+ constructor(message?: string, response?: Response);
14
+ }
15
+ /**
16
+ * Thrown when a resource is not found (404)
17
+ */
18
+ export declare class ResourceNotFoundError extends CRMError {
19
+ constructor(message?: string, response?: Response);
20
+ }
21
+ /**
22
+ * Thrown when validation fails (400)
23
+ */
24
+ export declare class ValidationError extends CRMError {
25
+ errors?: Record<string, any> | undefined;
26
+ constructor(message?: string, errors?: Record<string, any> | undefined, response?: Response);
27
+ }
28
+ /**
29
+ * Thrown when rate limit is exceeded (429)
30
+ */
31
+ export declare class RateLimitError extends CRMError {
32
+ retryAfter?: string | undefined;
33
+ constructor(message?: string, retryAfter?: string | undefined, response?: Response);
34
+ }
35
+ /**
36
+ * Thrown when a server error occurs (5xx)
37
+ */
38
+ export declare class ServerError extends CRMError {
39
+ constructor(message?: string, statusCode?: number, response?: Response);
40
+ }
41
+ /**
42
+ * Thrown when a network error occurs
43
+ */
44
+ export declare class NetworkError extends CRMError {
45
+ originalError?: Error | undefined;
46
+ constructor(message?: string, originalError?: Error | undefined);
47
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,QAAS,SAAQ,KAAK;IAGxB,QAAQ,CAAC,EAAE,QAAQ;IACnB,UAAU,CAAC,EAAE,MAAM;gBAF1B,OAAO,EAAE,MAAM,EACR,QAAQ,CAAC,EAAE,QAAQ,YAAA,EACnB,UAAU,CAAC,EAAE,MAAM,YAAA;CAM7B;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,QAAQ;gBACnC,OAAO,GAAE,MAAgC,EAAE,QAAQ,CAAC,EAAE,QAAQ;CAK3E;AAED;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,QAAQ;gBACrC,OAAO,GAAE,MAA6B,EAAE,QAAQ,CAAC,EAAE,QAAQ;CAKxE;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,QAAQ;IAGlC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;gBADnC,OAAO,GAAE,MAA4B,EAC9B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,YAAA,EACnC,QAAQ,CAAC,EAAE,QAAQ;CAMtB;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,QAAQ;IAGjC,UAAU,CAAC,EAAE,MAAM;gBAD1B,OAAO,GAAE,MAA8B,EAChC,UAAU,CAAC,EAAE,MAAM,YAAA,EAC1B,QAAQ,CAAC,EAAE,QAAQ;CAMtB;AAED;;GAEG;AACH,qBAAa,WAAY,SAAQ,QAAQ;gBAC3B,OAAO,GAAE,MAAuB,EAAE,UAAU,GAAE,MAAY,EAAE,QAAQ,CAAC,EAAE,QAAQ;CAK5F;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,QAAQ;IACc,aAAa,CAAC,EAAE,KAAK;gBAA/D,OAAO,GAAE,MAAwB,EAAS,aAAa,CAAC,EAAE,KAAK,YAAA;CAK5E"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Crexperium CRM SDK
3
+ * Official TypeScript/JavaScript SDK for Crexperium CRM
4
+ */
5
+ export { CRMClient } from './client';
6
+ export { Config, SDKConfig } from './config';
7
+ export { EventsResource } from './resources/events';
8
+ export { ContactsResource } from './resources/contacts';
9
+ export { DealsResource } from './resources/deals';
10
+ export * from './types';
11
+ export * from './errors';
12
+ export { VisitorIdPlugin, Plugin } from './plugins/visitor-id';
13
+ export { DeviceInfoPlugin } from './plugins/device-info';
14
+ export { AutoPageViewPlugin } from './plugins/auto-page-view';
15
+ export { SessionReplayPlugin } from './plugins/session-replay';
16
+ export { DeviceInfo, getDeviceInfo, detectDeviceType, detectBrowser, detectOS } from './utils/device';
17
+ export { isLocalStorageAvailable, getLocalStorageItem, setLocalStorageItem, removeLocalStorageItem, generateUUID, } from './utils/storage';
18
+ export declare const VERSION = "1.1.0";
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAGrC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAG7C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGlD,cAAc,SAAS,CAAC;AAGxB,cAAc,UAAU,CAAC;AAGzB,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAG9D,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,gBAAgB,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACtG,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,EACtB,YAAY,GACb,MAAM,iBAAiB,CAAC;AAGzB,eAAO,MAAM,OAAO,UAAU,CAAC"}