@athena-tracker/tracker 1.0.1 → 1.2.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.
@@ -0,0 +1,77 @@
1
+ /**
2
+ * React Native Event Capture
3
+ *
4
+ * Captures behavioral events from React Native apps
5
+ * - Touch events (Tap, Swipe, LongPress)
6
+ * - Navigation events (Screen changes)
7
+ * - App lifecycle events (Open, Background, Foreground, Close)
8
+ * - Form interactions
9
+ * - Network errors
10
+ */
11
+ import { Event } from '../types';
12
+ export interface CaptureConfig {
13
+ captureTouch?: boolean;
14
+ captureNavigation?: boolean;
15
+ captureLifecycle?: boolean;
16
+ captureNetworkErrors?: boolean;
17
+ batchSize?: number;
18
+ batchIntervalMs?: number;
19
+ }
20
+ export declare class ReactNativeEventCapture {
21
+ private events;
22
+ private config;
23
+ private appStateSubscription;
24
+ private panResponder;
25
+ private batchTimer;
26
+ private currentScreen;
27
+ private sessionStartTime;
28
+ constructor(config?: CaptureConfig);
29
+ /**
30
+ * Start capturing events
31
+ */
32
+ start(): void;
33
+ /**
34
+ * Stop capturing events
35
+ */
36
+ stop(): void;
37
+ /**
38
+ * Setup app lifecycle tracking (Open, Background, Foreground, Close)
39
+ */
40
+ private setupLifecycleTracking;
41
+ /**
42
+ * Setup touch event tracking
43
+ */
44
+ private setupTouchTracking;
45
+ /**
46
+ * Setup network error tracking
47
+ */
48
+ private setupNetworkErrorTracking;
49
+ /**
50
+ * Manually track screen navigation
51
+ * Should be called by navigation library (React Navigation, etc.)
52
+ */
53
+ trackScreenView(screenName: string, params?: Record<string, any>): void;
54
+ /**
55
+ * Manually track custom event
56
+ */
57
+ track(eventType: string, properties?: Record<string, any>): void;
58
+ /**
59
+ * Capture an event and add to batch
60
+ */
61
+ private captureEvent;
62
+ /**
63
+ * Flush accumulated events (to be sent to server)
64
+ */
65
+ private flushEvents;
66
+ /**
67
+ * Callback for batch events (set by tracker)
68
+ */
69
+ onEventBatch?: (events: Event[]) => void;
70
+ /**
71
+ * Get PanResponder for manual integration
72
+ * Usage: <View {...capture.getPanResponderProps()}>
73
+ */
74
+ getPanResponderProps(): any;
75
+ }
76
+ export default ReactNativeEventCapture;
77
+ //# sourceMappingURL=capture-react-native.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capture-react-native.d.ts","sourceRoot":"","sources":["../../src/events/capture-react-native.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,MAAM,WAAW,aAAa;IAC5B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,qBAAa,uBAAuB;IAClC,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,oBAAoB,CAAa;IACzC,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,gBAAgB,CAAsB;gBAElC,MAAM,GAAE,aAAkB;IAWtC;;OAEG;IACH,KAAK,IAAI,IAAI;IA+Bb;;OAEG;IACH,IAAI,IAAI,IAAI;IAeZ;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA+B9B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA6D1B;;OAEG;IACH,OAAO,CAAC,yBAAyB;IA2CjC;;;OAGG;IACH,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAcvE;;OAEG;IACH,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAWhE;;OAEG;IACH,OAAO,CAAC,YAAY;IASpB;;OAEG;IACH,OAAO,CAAC,WAAW;IAUnB;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,IAAI,CAAC;IAEzC;;;OAGG;IACH,oBAAoB,IAAI,GAAG;CAG5B;AAED,eAAe,uBAAuB,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,108 +1,15 @@
1
1
  /**
2
- * @athena-tracker/tracker
3
- * ATHENA Analytics tracker SDK wrapper
4
- */
5
- export interface AthenaTrackerConfig {
6
- projectId: string;
7
- apiKey: string;
8
- apiUrl?: string;
9
- sampleRate?: number;
10
- recording?: {
11
- enabled?: boolean;
12
- sampleRate?: number;
13
- maskAllInputs?: boolean;
14
- maskInputOptions?: {
15
- password?: boolean;
16
- email?: boolean;
17
- };
18
- compressionLevel?: number;
19
- maxChunkSize?: number;
20
- };
21
- edgeAI?: {
22
- enabled?: boolean;
23
- modelPath?: string;
24
- webhook?: {
25
- url?: string;
26
- enabled?: boolean;
27
- };
28
- };
29
- }
30
- export interface UserProperties {
31
- email?: string;
32
- name?: string;
33
- [key: string]: any;
34
- }
35
- export interface EventProperties {
36
- [key: string]: any;
37
- }
38
- declare class AthenaTrackerSDK {
39
- private config;
40
- private scriptLoaded;
41
- private loadPromise;
42
- constructor(config: AthenaTrackerConfig);
43
- /**
44
- * Load the ATHENA tracker script dynamically
45
- */
46
- load(): Promise<void>;
47
- /**
48
- * Initialize the tracker with configuration
49
- */
50
- private initialize;
51
- /**
52
- * Get the underlying tracker instance
53
- */
54
- private getTracker;
55
- /**
56
- * Identify a user
57
- */
58
- identify(userId: string, properties?: UserProperties): void;
59
- /**
60
- * Track a custom event
61
- */
62
- track(eventName: string, properties?: EventProperties): void;
63
- /**
64
- * Track a page view
65
- */
66
- page(pageName?: string, properties?: EventProperties): void;
67
- /**
68
- * Reset user identity (logout)
69
- */
70
- reset(): void;
71
- /**
72
- * Get current session ID
73
- */
74
- getSessionId(): string | null;
75
- /**
76
- * Get current user ID
77
- */
78
- getUserId(): string | null;
79
- }
80
- /**
81
- * Initialize ATHENA tracker
82
- */
83
- export declare function initTracker(config: AthenaTrackerConfig): AthenaTrackerSDK;
84
- /**
85
- * Get the tracker instance
86
- */
87
- export declare function getTracker(): AthenaTrackerSDK | null;
88
- /**
89
- * Convenience methods (use singleton instance)
90
- */
91
- export declare function identify(userId: string, properties?: UserProperties): void;
92
- export declare function track(eventName: string, properties?: EventProperties): void;
93
- export declare function page(pageName?: string, properties?: EventProperties): void;
94
- export declare function reset(): void;
95
- export declare function getSessionId(): string | null;
96
- export declare function getUserId(): string | null;
97
- declare const _default: {
98
- initTracker: typeof initTracker;
99
- getTracker: typeof getTracker;
100
- identify: typeof identify;
101
- track: typeof track;
102
- page: typeof page;
103
- reset: typeof reset;
104
- getSessionId: typeof getSessionId;
105
- getUserId: typeof getUserId;
106
- };
107
- export default _default;
2
+ * @athena/tracker
3
+ *
4
+ * Behavioral analytics tracker with edge AI
5
+ */
6
+ export { AthenaTracker as default } from './tracker';
7
+ export { AthenaTracker } from './tracker';
8
+ export * from './types';
9
+ export { detectInferenceMode, getPlatform, isReactNative, isBrowser } from './inference/auto-detect';
10
+ export { generateWebhookSignature, verifyWebhookSignature, deliverWebhook, createPredictionPayload, createSegmentUpdatePayload, createFrictionPayload, createConversionPayload, isValidWebhookPayload } from './utils/webhook';
11
+ export type { WebhookPayload, WebhookDeliveryResult } from './utils/webhook';
12
+ export { AthenaOTAWrapper } from './react-native/ForcedReloadWrapper';
13
+ export { ReactNativeEventCapture } from './events/capture-react-native';
14
+ export declare const VERSION = "1.0.0";
108
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE;QACV,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,gBAAgB,CAAC,EAAE;YACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;YACnB,KAAK,CAAC,EAAE,OAAO,CAAC;SACjB,CAAC;QACF,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,MAAM,CAAC,EAAE;QACP,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE;YACR,GAAG,CAAC,EAAE,MAAM,CAAC;YACb,OAAO,CAAC,EAAE,OAAO,CAAC;SACnB,CAAC;KACH,CAAC;CACH;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,cAAM,gBAAgB;IACpB,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,YAAY,CAAkB;IACtC,OAAO,CAAC,WAAW,CAA8B;gBAErC,MAAM,EAAE,mBAAmB;IAQvC;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAyB3B;;OAEG;IACH,OAAO,CAAC,UAAU;IAMlB;;OAEG;IACH,OAAO,CAAC,UAAU;IAclB;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,cAAc,GAAG,IAAI;IAU3D;;OAEG;IACH,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,eAAe,GAAG,IAAI;IAO5D;;OAEG;IACH,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,eAAe,GAAG,IAAI;IAO3D;;OAEG;IACH,KAAK,IAAI,IAAI;IAOb;;OAEG;IACH,YAAY,IAAI,MAAM,GAAG,IAAI;IAQ7B;;OAEG;IACH,SAAS,IAAI,MAAM,GAAG,IAAI;CAO3B;AAKD;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,mBAAmB,GAAG,gBAAgB,CAKzE;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,gBAAgB,GAAG,IAAI,CAKpD;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,cAAc,GAAG,IAAI,CAE1E;AAED,wBAAgB,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,eAAe,GAAG,IAAI,CAE3E;AAED,wBAAgB,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,eAAe,GAAG,IAAI,CAE1E;AAED,wBAAgB,KAAK,IAAI,IAAI,CAE5B;AAED,wBAAgB,YAAY,IAAI,MAAM,GAAG,IAAI,CAE5C;AAED,wBAAgB,SAAS,IAAI,MAAM,GAAG,IAAI,CAEzC;;;;;;;;;;;AAGD,wBASE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAG1C,cAAc,SAAS,CAAC;AAGxB,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAGrG,OAAO,EACL,wBAAwB,EACxB,sBAAsB,EACtB,cAAc,EACd,uBAAuB,EACvB,0BAA0B,EAC1B,qBAAqB,EACrB,uBAAuB,EACvB,qBAAqB,EACtB,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAG7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAGxE,eAAO,MAAM,OAAO,UAAU,CAAC"}