guideai-app 0.3.5 → 0.4.2-1

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/API_DATA_CONTRACTS.md +516 -0
  2. package/API_SESSIONID_TESTING.md +215 -0
  3. package/GuideAI.js +1 -1
  4. package/GuideAI.js.map +1 -1
  5. package/PII_HASHING_EPIC.md +886 -0
  6. package/PII_HASHING_STORIES_SUMMARY.md +275 -0
  7. package/README.md +129 -0
  8. package/SESSION_ID_VERIFICATION.md +122 -0
  9. package/VISIT_COUNT_TESTING.md +453 -0
  10. package/dist/GuideAI.d.ts +1 -2
  11. package/dist/GuideAI.js +1 -1
  12. package/dist/GuideAI.js.LICENSE.txt +20 -0
  13. package/dist/GuideAI.js.map +1 -1
  14. package/dist/components/Onboarding.d.ts +2 -2
  15. package/dist/components/TranscriptBox.d.ts +10 -3
  16. package/dist/components/WelcomeBubble.d.ts +2 -2
  17. package/dist/index.d.ts +3 -0
  18. package/dist/metric/index.d.ts +0 -2
  19. package/dist/metric/metadata-tracker.d.ts +8 -2
  20. package/dist/styles/GuideAI.styles.d.ts +1 -1
  21. package/dist/types/GuideAI.types.d.ts +12 -6
  22. package/dist/types/metadata.types.d.ts +2 -0
  23. package/dist/utils/api.d.ts +18 -2
  24. package/dist/utils/constants.d.ts +1 -0
  25. package/dist/utils/elementInteractions.d.ts +92 -0
  26. package/dist/utils/gemini.d.ts +3 -0
  27. package/dist/utils/goToAElmLink.d.ts +1 -0
  28. package/dist/utils/highlightThenClick.d.ts +1 -0
  29. package/dist/utils/hoverThenClick.d.ts +1 -0
  30. package/dist/utils/logger.d.ts +37 -0
  31. package/dist/utils/session.d.ts +23 -0
  32. package/dist/utils/ui.d.ts +1 -1
  33. package/dist/utils/workflow.d.ts +62 -0
  34. package/dist/visualContext/VisualContextScheduler.d.ts +43 -0
  35. package/dist/visualContext/VisualContextStore.d.ts +11 -0
  36. package/dist/visualContext/debug-overlay.d.ts +10 -0
  37. package/dist/visualContext/defaultProvider.d.ts +15 -0
  38. package/dist/visualContext/index.d.ts +5 -0
  39. package/dist/visualContext/types.d.ts +45 -0
  40. package/index.d.ts +5 -1
  41. package/jest.config.js +26 -0
  42. package/jest.setup.js +21 -0
  43. package/metadata-tracking-example.md +11 -11
  44. package/package.json +15 -3
  45. package/structure.md +1 -1
  46. package/webpack.config.js +4 -15
  47. package/workflow-trigger-usage.md +398 -0
  48. package/dist/metric/event-listner.d.ts +0 -132
  49. package/dist/utils/highlight.d.ts +0 -2
@@ -1,132 +0,0 @@
1
- interface EventData {
2
- type: 'click' | 'focus' | 'change' | 'submit' | 'route_change';
3
- element?: Element;
4
- tagName?: string;
5
- className?: string;
6
- id?: string;
7
- textContent?: string;
8
- value?: string;
9
- formData?: FormData;
10
- timestamp: number;
11
- url: string;
12
- previousUrl?: string;
13
- event?: Event;
14
- customerId?: string;
15
- customerType?: string;
16
- customerSegment?: string;
17
- sessionId?: string;
18
- deviceType?: 'desktop' | 'mobile' | 'tablet';
19
- userAgent?: string;
20
- screenResolution?: string;
21
- currentPage?: string;
22
- userRole?: string;
23
- organizationId?: string;
24
- timezone?: string;
25
- locale?: string;
26
- }
27
- declare class EventTracker {
28
- private isTracking;
29
- private eventData;
30
- private batchSize;
31
- private batchTimeout;
32
- private batchTimer;
33
- private pendingEvents;
34
- private currentUrl;
35
- private organizationKey?;
36
- private lastEventTime;
37
- private eventThrottleInterval;
38
- private lastEventsByType;
39
- private duplicateEventBuffer;
40
- private maxDuplicateBuffer;
41
- private isInitialized;
42
- private customerMetadata;
43
- constructor(options?: {
44
- customerId?: string;
45
- customerType?: string;
46
- organizationId?: string;
47
- organizationKey?: string;
48
- batchSize?: number;
49
- batchTimeout?: number;
50
- eventThrottleInterval?: number;
51
- });
52
- private init;
53
- private loadEventsFromStorage;
54
- private saveEventsToStorage;
55
- setCustomerMetadata(metadata: Partial<typeof this.customerMetadata>): void;
56
- getCustomerMetadata(): typeof this.customerMetadata;
57
- clearCustomerMetadata(): void;
58
- initialize(): void;
59
- private enrichEventData;
60
- private sanitizeEventData;
61
- private getSessionId;
62
- private getDeviceType;
63
- startTracking(): void;
64
- stopTracking(): void;
65
- private trackClickEvents;
66
- private trackFocusEvents;
67
- private trackChangeEvents;
68
- private trackSubmitEvents;
69
- private trackRouteChanges;
70
- private handleClick;
71
- private handleFocus;
72
- private handleChange;
73
- private handleSubmit;
74
- private handlePopstate;
75
- private handleHashChange;
76
- private interceptHistoryAPI;
77
- private getPreviousUrl;
78
- private getSafeValue;
79
- private isFocusable;
80
- private isFormElement;
81
- private generateEventKey;
82
- private shouldThrottleEvent;
83
- private isDuplicateEvent;
84
- private isSignificantClickTarget;
85
- private isSignificantFocusTarget;
86
- private isSignificantRouteChange;
87
- private logEvent;
88
- private startBatchTimer;
89
- private emitBatch;
90
- getEventData(): EventData[];
91
- clearEventData(): void;
92
- getEventDataByType(type: EventData['type']): EventData[];
93
- getEventDataByElement(tagName: string): EventData[];
94
- getEventDataByUrl(url: string): EventData[];
95
- emitPendingEvents(): void;
96
- setBatchConfig(batchSize: number, batchTimeout: number): void;
97
- getPendingEventsCount(): number;
98
- getCustomerAnalytics(): {
99
- totalEvents: number;
100
- eventsByCustomer: Record<string, number>;
101
- eventsByType: Record<string, number>;
102
- eventsByPage: Record<string, number>;
103
- eventsByDevice: Record<string, number>;
104
- sessionDuration: number;
105
- lastActivity: number;
106
- };
107
- private getSessionStartTime;
108
- identifyCustomerFromContext(): void;
109
- setCustomerFromAuth(authData: {
110
- id?: string;
111
- role?: string;
112
- customerType?: 'individual' | 'business' | 'agent' | 'admin';
113
- customerSegment?: string;
114
- }): void;
115
- }
116
- export default EventTracker;
117
- export type { EventData };
118
- export interface CustomerMetadata {
119
- customerId?: string;
120
- customerType?: 'individual' | 'business' | 'agent' | 'admin';
121
- customerSegment?: string;
122
- userRole?: string;
123
- }
124
- export interface CustomerAnalytics {
125
- totalEvents: number;
126
- eventsByCustomer: Record<string, number>;
127
- eventsByType: Record<string, number>;
128
- eventsByPage: Record<string, number>;
129
- eventsByDevice: Record<string, number>;
130
- sessionDuration: number;
131
- lastActivity: number;
132
- }
@@ -1,2 +0,0 @@
1
- export declare const clickElement: (element: Element, rect: DOMRect) => Promise<void>;
2
- export declare const highlightElement: (selector: string | string[], isHighlighting: boolean, setIsHighlighting: (highlighting: boolean) => void, logMessage: (content: string, sender: "GUIDEAI" | "HUMAN") => void) => Promise<boolean>;