@gengage/assistant-fe 0.3.37 → 0.3.39

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 (36) hide show
  1. package/dist/assistant-fe.css +1 -1
  2. package/dist/chat/catalog.d.ts +2 -0
  3. package/dist/chat/components/ChatDrawer.d.ts +7 -2
  4. package/dist/chat/components/ConsultingStylePicker.d.ts +8 -0
  5. package/dist/chat/features/beauty-consulting/consulting-grid.d.ts +10 -7
  6. package/dist/chat/index.d.ts +33 -3
  7. package/dist/{chat-BJu5cvMq.js → chat-BdYYhBg0.js} +2374 -2188
  8. package/dist/chat.iife.js +21 -21
  9. package/dist/chat.js +1 -1
  10. package/dist/common/ga-datalayer.d.ts +29 -1
  11. package/dist/common/native-webview.d.ts +1 -1
  12. package/dist/common/types.d.ts +13 -1
  13. package/dist/{common-DxR7wUEx.js → common-DmixzWHZ.js} +2 -2
  14. package/dist/common.js +44 -44
  15. package/dist/{connection-warning-nm_yulO-.js → connection-warning-n88bjkqL.js} +5 -5
  16. package/dist/index.js +38 -38
  17. package/dist/{ga-datalayer-BUM5z5Pq.js → locale-MM0U5eeR.js} +361 -304
  18. package/dist/{native-webview-BFWh8f-u.js → native-webview-DkvOte_j.js} +132 -127
  19. package/dist/native.iife.js +23 -23
  20. package/dist/native.js +1 -1
  21. package/dist/{qna-6_XrdLG_.js → qna-DrlYm1d8.js} +15 -15
  22. package/dist/qna.iife.js +7 -7
  23. package/dist/qna.js +1 -1
  24. package/dist/{schemas-ZYhTx11k.js → schemas-DnAo0x7A.js} +491 -470
  25. package/dist/{simbut--wBhTxId.js → simbut-Cb5RfaAp.js} +17 -17
  26. package/dist/simbut.css +1 -1
  27. package/dist/simbut.iife.js +3 -3
  28. package/dist/simbut.js +1 -1
  29. package/dist/simrel/components/GroupTabs.d.ts +5 -0
  30. package/dist/simrel/index.d.ts +1 -0
  31. package/dist/simrel/types.d.ts +5 -0
  32. package/dist/simrel-BjNqBbmw.js +736 -0
  33. package/dist/simrel.iife.js +17 -17
  34. package/dist/simrel.js +1 -1
  35. package/package.json +1 -1
  36. package/dist/simrel-jN_YPfC7.js +0 -710
package/dist/chat.js CHANGED
@@ -1,4 +1,4 @@
1
- import { c as e, f as t, i as r, l as s, m as n, n as i, o as l, p as C, r as c, s as h, t as o } from "./chat-BJu5cvMq.js";
1
+ import { c as e, f as t, i as r, l as s, m as n, n as i, o as l, p as C, r as c, s as h, t as o } from "./chat-BdYYhBg0.js";
2
2
  export {
3
3
  t as CHAT_SCROLL_ELEMENT_ID,
4
4
  l as ChatPresentationState,
@@ -2,7 +2,7 @@
2
2
  * Google Analytics dataLayer integration.
3
3
  *
4
4
  * Pushes chat activity events to `window.dataLayer` when GA is available.
5
- * Falls back to `console.debug` when GA is not detected (useful for debugging).
5
+ * Silently skips pushes when GA is not detected.
6
6
  *
7
7
  * Event naming follows the GA4 recommended event pattern:
8
8
  * - All lowercase, hyphen-separated
@@ -45,6 +45,34 @@ export declare function trackLikeList(): void;
45
45
  export declare function trackSearch(query?: string, resultCount?: number): void;
46
46
  /** User clicked on a product to view details. */
47
47
  export declare function trackProductDetail(sku: string, name?: string): void;
48
+ /** SimRel (or chat-routed similar) product card click — distinct from generic PDP detail views. */
49
+ export declare function trackSimilarProductClick(sku: string, extras?: {
50
+ url?: string;
51
+ name?: string;
52
+ session_id?: string | null;
53
+ }): void;
54
+ /** SimRel grouping / filter tab selected. */
55
+ export declare function trackSimilarGroupingClick(groupingLabel: string, groupingIndex: number): void;
56
+ /** SimRel grid rendered and shown (successful fetch + inject). */
57
+ export declare function trackSimilarProductsImpression(params: {
58
+ source_sku: string;
59
+ product_count: number;
60
+ grouped: boolean;
61
+ session_id?: string | null;
62
+ }): void;
63
+ /** User clicked the floating comparison dock primary action (popup bar). */
64
+ export declare function trackCompareProduct(skus: string[]): void;
65
+ /** Chat MainPane (assistant left panel) expanded into split view. */
66
+ export declare function trackChatbotMaximized(): void;
67
+ /**
68
+ * SDK / bridge could not become ready after bounded retries (e.g. chat not initialized).
69
+ * Also used when overlay bootstrap fails fatally.
70
+ */
71
+ export declare function trackInterfaceNotReady(params?: {
72
+ reason?: string;
73
+ attempts?: number;
74
+ message?: string;
75
+ }): void;
48
76
  /** User added a product to cart from the widget. */
49
77
  export declare function trackCartAdd(sku: string, quantity: number): void;
50
78
  /** User sent a chat message. */
@@ -1,5 +1,5 @@
1
1
  import { OverlayWidgetsController, OverlayWidgetsOptions } from './overlay.js';
2
- export declare const DEFAULT_NATIVE_TRACKED_EVENTS: readonly ["gengage:chat:open", "gengage:chat:close", "gengage:chat:ready", "gengage:chat:add-to-cart", "gengage:qna:action", "gengage:qna:open-chat", "gengage:similar:product-click", "gengage:similar:add-to-cart", "gengage:global:error", "gengage:context:update"];
2
+ export declare const DEFAULT_NATIVE_TRACKED_EVENTS: readonly ["gengage:chat:open", "gengage:chat:close", "gengage:chat:ready", "gengage:chat:add-to-cart", "gengage:qna:action", "gengage:qna:open-chat", "gengage:similar:product-click", "gengage:similar:grouping-click", "gengage:similar:products-impression", "gengage:similar:add-to-cart", "gengage:global:error", "gengage:context:update"];
3
3
  export type NativeTrackedEvent = (typeof DEFAULT_NATIVE_TRACKED_EVENTS)[number];
4
4
  export type NativeInboundMessage = 'openChat' | 'closeChat' | 'updateContext' | 'updatePageContext' | 'setPageContext' | 'updateSku' | 'setSession' | 'destroy';
5
5
  export type NativeBridgeEnvironment = 'ios' | 'android' | 'react-native' | 'browser';
@@ -280,7 +280,7 @@ export interface ActionPayload {
280
280
  *
281
281
  * Widgets dispatch these; host pages and other widgets listen.
282
282
  */
283
- export type GengageEventName = 'gengage:chat:open' | 'gengage:chat:close' | 'gengage:chat:ready' | 'gengage:chat:metadata' | 'gengage:chat:voice' | 'gengage:chat:redirect' | 'gengage:chat:script-call' | 'gengage:chat:add-to-cart' | 'gengage:chat:product-favorite' | 'gengage:qna:action' | 'gengage:qna:open-chat' | 'gengage:similar:product-click' | 'gengage:similar:add-to-cart' | 'gengage:global:error' | 'gengage:checkout:start' | 'gengage:checkout:complete' | 'gengage:context:update';
283
+ export type GengageEventName = 'gengage:chat:open' | 'gengage:chat:close' | 'gengage:chat:ready' | 'gengage:chat:metadata' | 'gengage:chat:voice' | 'gengage:chat:redirect' | 'gengage:chat:script-call' | 'gengage:chat:add-to-cart' | 'gengage:chat:product-favorite' | 'gengage:qna:action' | 'gengage:qna:open-chat' | 'gengage:similar:product-click' | 'gengage:similar:grouping-click' | 'gengage:similar:products-impression' | 'gengage:similar:add-to-cart' | 'gengage:global:error' | 'gengage:checkout:start' | 'gengage:checkout:complete' | 'gengage:context:update';
284
284
  export type GengageEventDetailMap = {
285
285
  'gengage:chat:open': {
286
286
  state?: 'full' | 'half';
@@ -319,6 +319,18 @@ export type GengageEventDetailMap = {
319
319
  sku: string;
320
320
  url: string;
321
321
  sessionId: string | null;
322
+ productName?: string;
323
+ };
324
+ 'gengage:similar:grouping-click': {
325
+ grouping_label: string;
326
+ grouping_index: number;
327
+ sessionId: string | null;
328
+ };
329
+ 'gengage:similar:products-impression': {
330
+ source_sku: string;
331
+ product_count: number;
332
+ grouped: boolean;
333
+ sessionId: string | null;
322
334
  };
323
335
  'gengage:similar:add-to-cart': {
324
336
  sku: string;
@@ -1,5 +1,5 @@
1
- import { f as u } from "./schemas-ZYhTx11k.js";
2
- import { h, l as f } from "./native-webview-BFWh8f-u.js";
1
+ import { f as u } from "./schemas-DnAo0x7A.js";
2
+ import { h, l as f } from "./native-webview-DkvOte_j.js";
3
3
  var m = {
4
4
  enabled: !0,
5
5
  endpoint: "/analytics",
package/dist/common.js CHANGED
@@ -1,29 +1,29 @@
1
- import { C as a, S as t, b as s, d as r, f as n, g as i, h as o, m as c, p as m, v as l, w as g, x as d, y as u } from "./schemas-ZYhTx11k.js";
2
- import { $ as E, A as S, C as h, D as v, E as C, F as y, G as f, H as A, I as T, J as w, K as U, L as W, M as I, N as P, O as D, P as R, Q as b, R as k, S as G, T as O, U as N, W as L, X as x, Y as M, Z as _, b as H, et as z, j as B, k as F, q as K, tt as Q, v as V } from "./ga-datalayer-BUM5z5Pq.js";
3
- import { a as Z, d as j, h as J, u as X } from "./chat-BJu5cvMq.js";
4
- import { n as $, t as ee } from "./connection-warning-nm_yulO-.js";
5
- import { a as te, c as se, d as re, f as ne, h as ie, i as oe, l as ce, m as me, n as le, o as ge, p as de, r as ue, s as pe, u as Ee } from "./native-webview-BFWh8f-u.js";
6
- import { a as he, c as ve, d as Ce, f as ye, i as fe, l as Ae, n as Te, o as we, p as Ue, r as We, s as Ie, t as Pe, u as De } from "./common-DxR7wUEx.js";
1
+ import { C as a, S as t, b as s, d as r, f as n, g as i, h as o, m as c, p as m, v as l, w as g, x as d, y as u } from "./schemas-DnAo0x7A.js";
2
+ import { $ as E, G as S, J as h, K as v, Q as y, V as f, X as C, Y as A, Z as T, _ as w, a as U, b as W, c as I, d as P, et as b, f as D, g as R, h as k, i as G, it as O, l as N, m as _, n as x, nt as L, p as M, q as z, rt as B, s as H, tt as K, u as F, v as V, y as Q } from "./locale-MM0U5eeR.js";
3
+ import { a as Z, d as J, h as X, u as Y } from "./chat-BdYYhBg0.js";
4
+ import { n as j, t as ee } from "./connection-warning-n88bjkqL.js";
5
+ import { a as te, c as se, d as re, f as ne, h as ie, i as oe, l as ce, m as me, n as le, o as ge, p as de, r as ue, s as pe, u as Ee } from "./native-webview-DkvOte_j.js";
6
+ import { a as he, c as ve, d as ye, f as fe, i as Ce, l as Ae, n as Te, o as we, p as Ue, r as We, s as Ie, t as Pe, u as be } from "./common-DmixzWHZ.js";
7
7
  export {
8
8
  Ee as AccountRuntimeConfigSchema,
9
9
  re as AnalyticsAuthModeSchema,
10
- ye as AnalyticsClient,
11
- v as BASE_WIDGET_THEME,
12
- H as BaseWidget,
10
+ fe as AnalyticsClient,
11
+ N as BASE_WIDGET_THEME,
12
+ x as BaseWidget,
13
13
  we as DEFAULT_CUSTOMIZATION_LOCALE,
14
- F as DEFAULT_WIDGET_THEME_TOKENS,
14
+ P as DEFAULT_WIDGET_THEME_TOKENS,
15
15
  ne as UnknownActionPolicySchema,
16
- X as VoiceInput,
16
+ Y as VoiceInput,
17
17
  m as adaptBackendEvent,
18
18
  le as applyNativeSession,
19
19
  Pe as autoDetectPageContext,
20
- N as basketAddEvent,
21
- B as bootstrapSession,
20
+ v as basketAddEvent,
21
+ M as bootstrapSession,
22
22
  r as buildChatEndpointUrl,
23
23
  ge as buildOverlayIdempotencyKey,
24
- L as chatHistorySnapshotEvent,
25
- f as checkoutCompleteEvent,
26
- U as checkoutStartEvent,
24
+ z as chatHistorySnapshotEvent,
25
+ h as checkoutCompleteEvent,
26
+ A as checkoutStartEvent,
27
27
  ee as configureConnectionWarning,
28
28
  s as consumeStream,
29
29
  Ie as createAccountIdentity,
@@ -32,55 +32,55 @@ export {
32
32
  ve as createDefaultAnalyticsConfig,
33
33
  Ae as createFloatingChatConfig,
34
34
  ue as createNativeWebViewBridge,
35
- De as createPdpQnaConfig,
36
- Ce as createPdpSimRelConfig,
35
+ be as createPdpQnaConfig,
36
+ ye as createPdpSimRelConfig,
37
37
  a as defaultUnknownUISpecRenderer,
38
38
  pe as destroyOverlayWidgets,
39
39
  oe as detectNativeEnvironment,
40
40
  Te as detectPageType,
41
41
  G as dismissGlobalErrorToast,
42
- y as dispatch,
42
+ w as dispatch,
43
43
  We as extractSkuFromUrl,
44
- h as getGlobalErrorMessage,
44
+ U as getGlobalErrorMessage,
45
45
  se as getOverlayWidgets,
46
46
  l as getSuggestedSearchKeywords,
47
47
  u as getSuggestedSearchKeywordsText,
48
- I as getWindowPageContext,
49
- fe as initGengageClient,
48
+ _ as getWindowPageContext,
49
+ Ce as initGengageClient,
50
50
  te as initNativeOverlayWidgets,
51
51
  ce as initOverlayWidgets,
52
- j as isVoiceInputSupported,
53
- T as listen,
54
- K as llmUsageEvent,
52
+ J as isVoiceInputSupported,
53
+ V as listen,
54
+ C as llmUsageEvent,
55
55
  Z as makePillLauncher,
56
56
  t as mergeUISpecRegistry,
57
- w as meteringIncrementEvent,
58
- M as meteringSummaryEvent,
57
+ T as meteringIncrementEvent,
58
+ y as meteringSummaryEvent,
59
59
  n as normalizeMiddlewareUrl,
60
60
  c as normalizeProductGroupingsResponse,
61
61
  o as normalizeSimilarProductsResponse,
62
62
  me as parseAccountRuntimeConfig,
63
63
  he as preflightDiagnostics,
64
64
  i as productToNormalized,
65
- O as registerGlobalErrorToastListener,
65
+ H as registerGlobalErrorToastListener,
66
66
  g as renderUISpecWithRegistry,
67
- P as resolveSession,
68
- J as routeStreamAction,
67
+ k as resolveSession,
68
+ X as routeStreamAction,
69
69
  ie as safeParseAccountRuntimeConfig,
70
- A as sanitizeHtml,
71
- C as showGlobalErrorToast,
72
- x as streamChunkEvent,
73
- _ as streamDoneEvent,
74
- b as streamErrorEvent,
70
+ S as sanitizeHtml,
71
+ I as showGlobalErrorToast,
72
+ E as streamChunkEvent,
73
+ b as streamDoneEvent,
74
+ K as streamErrorEvent,
75
75
  d as streamPost,
76
- E as streamStartEvent,
77
- z as streamUiSpecEvent,
78
- $ as trackConnectionWarningRequest,
76
+ L as streamStartEvent,
77
+ B as streamUiSpecEvent,
78
+ j as trackConnectionWarningRequest,
79
79
  R as updatePageContext,
80
- Q as widgetHistorySnapshotEvent,
81
- V as wireGADataLayer,
82
- W as wireQNAToChat,
83
- k as wireSimilarToChat,
84
- D as withBaseTheme,
85
- S as withDefaultWidgetTheme
80
+ O as widgetHistorySnapshotEvent,
81
+ f as wireGADataLayer,
82
+ Q as wireQNAToChat,
83
+ W as wireSimilarToChat,
84
+ F as withBaseTheme,
85
+ D as withDefaultWidgetTheme
86
86
  };
@@ -1,6 +1,6 @@
1
- import { E as d, S as y } from "./ga-datalayer-BUM5z5Pq.js";
1
+ import { c as d, i as y } from "./locale-MM0U5eeR.js";
2
2
  var h = 8e3, m = 5e3, g = "https://www.google.com/favicon.ico";
3
- function E(e) {
3
+ function b(e) {
4
4
  e.probeUrl && (g = e.probeUrl);
5
5
  }
6
6
  var n = /* @__PURE__ */ new Map(), u = !1, i = null, a = null, t = !1;
@@ -74,7 +74,7 @@ function k() {
74
74
  }));
75
75
  }));
76
76
  }
77
- function b(e) {
77
+ function E(e) {
78
78
  k();
79
79
  const r = Symbol(e.source);
80
80
  n.set(r, e.locale), c();
@@ -90,6 +90,6 @@ function b(e) {
90
90
  };
91
91
  }
92
92
  export {
93
- b as n,
94
- E as t
93
+ E as n,
94
+ b as t
95
95
  };
package/dist/index.js CHANGED
@@ -1,22 +1,22 @@
1
- import { C as a, b as t, d as s, f as i, w as n, x as r } from "./schemas-ZYhTx11k.js";
2
- import { A as c, D as m, F as l, I as d, L as g, O as p, P as u, R as S, j as f, k as C, v as h } from "./ga-datalayer-BUM5z5Pq.js";
3
- import { a as A, c as I, d as y, h as R, l as D, n as T, s as W, t as w, u as E } from "./chat-BJu5cvMq.js";
4
- import { t as O } from "./connection-warning-nm_yulO-.js";
5
- import { a as N, i as k, n as G, o as L, t as Q } from "./qna-6_XrdLG_.js";
6
- import { a as b, i as x, n as B, o as F, t as M } from "./simrel-jN_YPfC7.js";
7
- import { n as H, t as K } from "./simbut--wBhTxId.js";
8
- import { a as z, c as Z, d as q, f as J, h as X, i as Y, l as $, m as ee, n as ae, o as te, p as se, r as ie, s as ne, u as re } from "./native-webview-BFWh8f-u.js";
9
- import { a as ce, c as me, d as le, i as de, l as ge, n as pe, o as ue, p as Se, r as fe, s as Ce, t as he, u as Ue } from "./common-DxR7wUEx.js";
1
+ import { C as a, b as t, d as s, f as i, w as n, x as r } from "./schemas-DnAo0x7A.js";
2
+ import { V as c, _ as m, b as l, d, f as g, g as p, l as u, p as f, u as S, v as C, y as h } from "./locale-MM0U5eeR.js";
3
+ import { a as y, c as A, d as I, h as R, l as T, n as W, s as w, t as D, u as E } from "./chat-BdYYhBg0.js";
4
+ import { t as N } from "./connection-warning-n88bjkqL.js";
5
+ import { a as P, i as G, n as _, o as k, t as Q } from "./qna-DrlYm1d8.js";
6
+ import { a as L, i as x, n as B, o as M, t as F } from "./simrel-BjNqBbmw.js";
7
+ import { n as H, t as K } from "./simbut-Cb5RfaAp.js";
8
+ import { a as Z, c as j, d as q, f as J, h as X, i as Y, l as $, m as ee, n as ae, o as te, p as se, r as ie, s as ne, u as re } from "./native-webview-DkvOte_j.js";
9
+ import { a as ce, c as me, d as le, i as de, l as ge, n as pe, o as ue, p as fe, r as Se, s as Ce, t as he, u as Ue } from "./common-DmixzWHZ.js";
10
10
  export {
11
11
  re as AccountRuntimeConfigSchema,
12
12
  q as AnalyticsAuthModeSchema,
13
- m as BASE_WIDGET_THEME,
13
+ u as BASE_WIDGET_THEME,
14
14
  ue as DEFAULT_CUSTOMIZATION_LOCALE,
15
- C as DEFAULT_WIDGET_THEME_TOKENS,
16
- w as GengageChat,
15
+ d as DEFAULT_WIDGET_THEME_TOKENS,
16
+ D as GengageChat,
17
17
  Q as GengageQNA,
18
18
  K as GengageSimBut,
19
- M as GengageSimRel,
19
+ F as GengageSimRel,
20
20
  J as UnknownActionPolicySchema,
21
21
  E as VoiceInput,
22
22
  ae as applyNativeSession,
@@ -24,53 +24,53 @@ export {
24
24
  f as bootstrapSession,
25
25
  s as buildChatEndpointUrl,
26
26
  te as buildOverlayIdempotencyKey,
27
- O as configureConnectionWarning,
27
+ N as configureConnectionWarning,
28
28
  t as consumeStream,
29
29
  Ce as createAccountIdentity,
30
- Se as createAnalyticsClient,
31
- T as createChatWidget,
30
+ fe as createAnalyticsClient,
31
+ W as createChatWidget,
32
32
  se as createDefaultAccountRuntimeConfig,
33
33
  me as createDefaultAnalyticsConfig,
34
- W as createDefaultChatUISpecRegistry,
35
- k as createDefaultQnaUISpecRegistry,
34
+ w as createDefaultChatUISpecRegistry,
35
+ G as createDefaultQnaUISpecRegistry,
36
36
  x as createDefaultSimRelUISpecRegistry,
37
37
  ge as createFloatingChatConfig,
38
38
  ie as createNativeWebViewBridge,
39
39
  Ue as createPdpQnaConfig,
40
40
  le as createPdpSimRelConfig,
41
- G as createQNAWidget,
41
+ _ as createQNAWidget,
42
42
  H as createSimButWidget,
43
43
  B as createSimRelWidget,
44
- I as defaultChatUnknownUISpecRenderer,
45
- N as defaultQnaUnknownUISpecRenderer,
46
- b as defaultSimRelUnknownUISpecRenderer,
44
+ A as defaultChatUnknownUISpecRenderer,
45
+ P as defaultQnaUnknownUISpecRenderer,
46
+ L as defaultSimRelUnknownUISpecRenderer,
47
47
  a as defaultUnknownUISpecRenderer,
48
48
  ne as destroyOverlayWidgets,
49
49
  Y as detectNativeEnvironment,
50
50
  pe as detectPageType,
51
- l as dispatch,
52
- fe as extractSkuFromUrl,
53
- Z as getOverlayWidgets,
51
+ m as dispatch,
52
+ Se as extractSkuFromUrl,
53
+ j as getOverlayWidgets,
54
54
  de as initGengageClient,
55
- z as initNativeOverlayWidgets,
55
+ Z as initNativeOverlayWidgets,
56
56
  $ as initOverlayWidgets,
57
- y as isVoiceInputSupported,
58
- d as listen,
59
- A as makePillLauncher,
57
+ I as isVoiceInputSupported,
58
+ C as listen,
59
+ y as makePillLauncher,
60
60
  i as normalizeMiddlewareUrl,
61
61
  ee as parseAccountRuntimeConfig,
62
62
  ce as preflightDiagnostics,
63
- D as renderChatUISpec,
64
- L as renderQnaUISpec,
65
- F as renderSimRelUISpec,
63
+ T as renderChatUISpec,
64
+ k as renderQnaUISpec,
65
+ M as renderSimRelUISpec,
66
66
  n as renderUISpecWithRegistry,
67
67
  R as routeStreamAction,
68
68
  X as safeParseAccountRuntimeConfig,
69
69
  r as streamPost,
70
- u as updatePageContext,
71
- h as wireGADataLayer,
72
- g as wireQNAToChat,
73
- S as wireSimilarToChat,
74
- p as withBaseTheme,
75
- c as withDefaultWidgetTheme
70
+ p as updatePageContext,
71
+ c as wireGADataLayer,
72
+ h as wireQNAToChat,
73
+ l as wireSimilarToChat,
74
+ S as withBaseTheme,
75
+ g as withDefaultWidgetTheme
76
76
  };