@envive-ai/react-hooks 0.3.5 → 0.3.7

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 (132) hide show
  1. package/dist/application/models/api/userEvent.d.cts +4 -2
  2. package/dist/application/models/api/userEvent.d.ts +4 -2
  3. package/dist/application/models/graphql/queries/getColorsAndFrontendQuery.cjs +18 -0
  4. package/dist/application/models/graphql/queries/getColorsAndFrontendQuery.js +18 -0
  5. package/dist/application/models/guards/api/isApiQueryTypedEventAttributes.cjs +2 -2
  6. package/dist/application/models/guards/api/isApiQueryTypedEventAttributes.js +2 -2
  7. package/dist/atoms/app/index.d.ts +1 -1
  8. package/dist/atoms/app/variant.d.cts +6 -6
  9. package/dist/atoms/app/variant.d.ts +6 -6
  10. package/dist/atoms/chat/chatState.d.cts +17 -17
  11. package/dist/atoms/chat/chatState.d.ts +18 -18
  12. package/dist/atoms/chat/form.d.cts +2 -2
  13. package/dist/atoms/chat/form.d.ts +2 -2
  14. package/dist/atoms/chat/index.cjs +1 -3
  15. package/dist/atoms/chat/index.d.cts +4 -5
  16. package/dist/atoms/chat/index.d.ts +4 -5
  17. package/dist/atoms/chat/index.js +2 -3
  18. package/dist/atoms/chat/lastMessage.d.cts +2 -2
  19. package/dist/atoms/chat/lastMessage.d.ts +2 -2
  20. package/dist/atoms/chat/performanceMetrics.d.cts +6 -6
  21. package/dist/atoms/chat/performanceMetrics.d.ts +6 -6
  22. package/dist/atoms/chat/renderedWidgetRefs.d.cts +2 -2
  23. package/dist/atoms/chat/renderedWidgetRefs.d.ts +2 -2
  24. package/dist/atoms/chat/suggestions.d.cts +2 -2
  25. package/dist/atoms/chat/suggestions.d.ts +2 -2
  26. package/dist/atoms/globalSearch/globalSearch.d.cts +5 -5
  27. package/dist/atoms/globalSearch/globalSearch.d.ts +5 -5
  28. package/dist/atoms/org/customerService.d.cts +6 -6
  29. package/dist/atoms/org/customerService.d.ts +6 -6
  30. package/dist/atoms/org/graphqlConfig.d.cts +4 -4
  31. package/dist/atoms/org/graphqlConfig.d.ts +4 -4
  32. package/dist/atoms/org/newOrgConfigAtom.d.cts +2 -2
  33. package/dist/atoms/org/newOrgConfigAtom.d.ts +2 -2
  34. package/dist/atoms/org/orgAnalyticsConfig.d.cts +5 -5
  35. package/dist/atoms/org/orgAnalyticsConfig.d.ts +5 -5
  36. package/dist/atoms/search/chatSearch.d.ts +17 -17
  37. package/dist/atoms/search/searchAPI.d.ts +13 -13
  38. package/dist/atoms/search/types.d.ts +1 -1
  39. package/dist/atoms/search/utils.d.ts +1 -1
  40. package/dist/atoms/widget/chatPreviewLoading.d.cts +2 -2
  41. package/dist/atoms/widget/chatPreviewLoading.d.ts +2 -2
  42. package/dist/contexts/enviveContext/enviveContext.cjs +20 -17
  43. package/dist/contexts/enviveContext/enviveContext.d.cts +3 -1
  44. package/dist/contexts/enviveContext/enviveContext.d.ts +3 -1
  45. package/dist/contexts/enviveContext/enviveContext.js +20 -17
  46. package/dist/contexts/enviveContext/types.d.ts +1 -1
  47. package/dist/contexts/graphqlContext/graphqlContext.cjs +40 -26
  48. package/dist/contexts/graphqlContext/graphqlContext.js +41 -26
  49. package/dist/contexts/graphqlContext/mockV3Config.cjs +47 -45
  50. package/dist/contexts/graphqlContext/mockV3Config.js +5 -3
  51. package/dist/contexts/newOrgConfigContext/newOrgConfigContext.cjs +10 -9
  52. package/dist/contexts/newOrgConfigContext/newOrgConfigContext.d.cts +2 -1
  53. package/dist/contexts/newOrgConfigContext/newOrgConfigContext.d.ts +2 -1
  54. package/dist/contexts/newOrgConfigContext/newOrgConfigContext.js +10 -9
  55. package/dist/contexts/salesAgentContext/chatAPI.cjs +26 -5
  56. package/dist/contexts/salesAgentContext/chatAPI.d.cts +7 -3
  57. package/dist/contexts/salesAgentContext/chatAPI.d.ts +7 -3
  58. package/dist/contexts/salesAgentContext/chatAPI.js +26 -5
  59. package/dist/contexts/salesAgentContext/salesAgentContext.cjs +4 -7
  60. package/dist/contexts/salesAgentContext/salesAgentContext.js +4 -7
  61. package/dist/contexts/salesAgentContext/salesAgentService.cjs +42 -17
  62. package/dist/contexts/salesAgentContext/salesAgentService.js +42 -17
  63. package/dist/contexts/types.d.cts +1 -1
  64. package/dist/contexts/types.d.ts +1 -1
  65. package/dist/contexts/typesV3.cjs +1 -1
  66. package/dist/contexts/typesV3.d.cts +4 -4
  67. package/dist/contexts/typesV3.d.ts +4 -4
  68. package/dist/contexts/typesV3.js +1 -1
  69. package/dist/contexts/userIdentityContext/userIdentityContext.cjs +1 -2
  70. package/dist/contexts/userIdentityContext/userIdentityContext.js +1 -2
  71. package/dist/hooks/GrabAndScroll/useGrabAndScroll.d.cts +2 -2
  72. package/dist/hooks/GraphQLConfig/useGraphQLConfig.cjs +1 -2
  73. package/dist/hooks/GraphQLConfig/useGraphQLConfig.js +1 -2
  74. package/dist/hooks/Search/useSearch.cjs +1 -1
  75. package/dist/hooks/Search/useSearch.js +1 -1
  76. package/dist/hooks/Search/useSearchInput.cjs +1 -1
  77. package/dist/hooks/Search/useSearchInput.js +1 -1
  78. package/dist/hooks/utils.d.cts +1 -1
  79. package/dist/packages/components-v3/dist/ChatHeader/hooks/useGetCloseButtonProperties.cjs +1 -1
  80. package/dist/packages/components-v3/dist/ChatHeader/hooks/useGetCloseButtonProperties.js +1 -1
  81. package/dist/packages/components-v3/dist/Container/Container.cjs +1 -1
  82. package/dist/packages/components-v3/dist/Container/Container.js +1 -1
  83. package/dist/packages/components-v3/dist/FloatingButton/FloatingButton.cjs +2 -0
  84. package/dist/packages/components-v3/dist/FloatingButton/FloatingButton.js +4 -0
  85. package/dist/packages/components-v3/dist/FloatingButton/components/Button.cjs +9 -0
  86. package/dist/packages/components-v3/dist/FloatingButton/components/Button.js +10 -0
  87. package/dist/packages/components-v3/dist/FloatingButton/components/Container.cjs +9 -0
  88. package/dist/packages/components-v3/dist/FloatingButton/components/Container.js +10 -0
  89. package/dist/packages/components-v3/dist/FloatingButton/components/Icon.cjs +3 -0
  90. package/dist/packages/components-v3/dist/FloatingButton/components/Icon.js +5 -0
  91. package/dist/packages/components-v3/dist/FloatingButton/components/Wrapper.cjs +9 -0
  92. package/dist/packages/components-v3/dist/FloatingButton/components/Wrapper.js +10 -0
  93. package/dist/packages/components-v3/dist/FloatingButton/components/index.cjs +4 -0
  94. package/dist/packages/components-v3/dist/FloatingButton/components/index.js +6 -0
  95. package/dist/packages/components-v3/dist/FloatingButton/index.cjs +2 -0
  96. package/dist/packages/components-v3/dist/FloatingButton/index.js +4 -0
  97. package/dist/packages/components-v3/dist/FloatingButton/types/types.cjs +17 -0
  98. package/dist/packages/components-v3/dist/FloatingButton/types/types.js +16 -0
  99. package/dist/packages/components-v3/dist/ImageGallery/components/Layout.cjs +3 -3
  100. package/dist/packages/components-v3/dist/ImageGallery/components/Layout.js +3 -3
  101. package/dist/packages/components-v3/dist/WelcomeMessage/components/Container.cjs +1 -1
  102. package/dist/packages/components-v3/dist/WelcomeMessage/components/Container.js +1 -1
  103. package/dist/packages/components-v3/dist/WelcomeMessage/components/SparkleIcon.cjs +1 -1
  104. package/dist/packages/components-v3/dist/WelcomeMessage/components/SparkleIcon.js +1 -1
  105. package/dist/packages/components-v3/dist/utils/CustomIcon.cjs +2 -0
  106. package/dist/packages/components-v3/dist/utils/CustomIcon.js +4 -0
  107. package/dist/services/amplitudeService/amplitudeService.cjs +5 -2
  108. package/dist/services/amplitudeService/amplitudeService.js +5 -2
  109. package/package.json +1 -5
  110. package/src/application/models/api/userEvent.ts +3 -1
  111. package/src/application/models/graphql/queries/getColorsAndFrontendQuery.ts +13 -0
  112. package/src/application/models/guards/api/isApiQueryTypedEventAttributes.ts +6 -1
  113. package/src/atoms/chat/index.ts +0 -1
  114. package/src/contexts/enviveContext/enviveContext.tsx +4 -2
  115. package/src/contexts/graphqlContext/graphqlContext.tsx +32 -41
  116. package/src/contexts/graphqlContext/mockV3Config.ts +3 -2
  117. package/src/contexts/newOrgConfigContext/__tests__/newOrgConfigContext.test.tsx +234 -0
  118. package/src/contexts/newOrgConfigContext/newOrgConfigContext.tsx +14 -8
  119. package/src/contexts/salesAgentContext/chatAPI.ts +21 -4
  120. package/src/contexts/salesAgentContext/salesAgentContext.tsx +3 -7
  121. package/src/contexts/salesAgentContext/salesAgentService.ts +36 -11
  122. package/src/contexts/typesV3.ts +3 -4
  123. package/src/contexts/uiConfigContext/__tests__/uiConfigContext.test.tsx +3 -2
  124. package/src/contexts/userIdentityContext/userIdentityContext.tsx +0 -1
  125. package/src/hooks/GraphQLConfig/useGraphQLConfig.ts +0 -1
  126. package/src/services/amplitudeService/__tests__/amplitudeService.test.ts +0 -15
  127. package/src/services/amplitudeService/amplitudeService.ts +2 -1
  128. package/dist/atoms/chat/replies.cjs +0 -46
  129. package/dist/atoms/chat/replies.d.cts +0 -14
  130. package/dist/atoms/chat/replies.d.ts +0 -14
  131. package/dist/atoms/chat/replies.js +0 -45
  132. package/src/atoms/chat/replies.ts +0 -56
@@ -1,14 +0,0 @@
1
- import { Message } from "../../application/models/message.cjs";
2
- import * as jotai4 from "jotai";
3
-
4
- //#region src/atoms/chat/replies.d.ts
5
- type HandleReplyParams = {
6
- message: Message;
7
- userTyped: boolean;
8
- };
9
- declare const handleReplyAtom: jotai4.WritableAtom<null, [HandleReplyParams], void> & {
10
- init: null;
11
- };
12
- //#endregion
13
- export { handleReplyAtom };
14
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwbGllcy5kLmN0cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXRvbXMvY2hhdC9yZXBsaWVzLmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWVzc2FnZSB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMnO1xudHlwZSBIYW5kbGVSZXBseVBhcmFtcyA9IHtcbiAgICBtZXNzYWdlOiBNZXNzYWdlO1xuICAgIHVzZXJUeXBlZDogYm9vbGVhbjtcbn07XG5leHBvcnQgZGVjbGFyZSBjb25zdCBoYW5kbGVSZXBseUF0b206IGltcG9ydChcImpvdGFpXCIpLldyaXRhYmxlQXRvbTxudWxsLCBbSGFuZGxlUmVwbHlQYXJhbXNdLCB2b2lkPiAmIHtcbiAgICBpbml0OiBudWxsO1xufTtcbmV4cG9ydCB7fTtcbiJdLCJtYXBwaW5ncyI6Ijs7OztBQUVBLElBQUksb0JBQWdCLENBQUEsU0FBQSxRQUFBO0FBQ3BCLElBQVcsa0JBQVc7Q0FBQTtPQUFBO09BQUEsT0FBQTtDQUFBIn0=
@@ -1,14 +0,0 @@
1
- import { Message } from "../../application/models/message.js";
2
- import * as jotai4 from "jotai";
3
-
4
- //#region src/atoms/chat/replies.d.ts
5
- type HandleReplyParams = {
6
- message: Message;
7
- userTyped: boolean;
8
- };
9
- declare const handleReplyAtom: jotai4.WritableAtom<null, [HandleReplyParams], void> & {
10
- init: null;
11
- };
12
- //#endregion
13
- export { handleReplyAtom };
14
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwbGllcy5kLnRzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdG9tcy9jaGF0L3JlcGxpZXMuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNZXNzYWdlIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscyc7XG50eXBlIEhhbmRsZVJlcGx5UGFyYW1zID0ge1xuICAgIG1lc3NhZ2U6IE1lc3NhZ2U7XG4gICAgdXNlclR5cGVkOiBib29sZWFuO1xufTtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGhhbmRsZVJlcGx5QXRvbTogaW1wb3J0KFwiam90YWlcIikuV3JpdGFibGVBdG9tPG51bGwsIFtIYW5kbGVSZXBseVBhcmFtc10sIHZvaWQ+ICYge1xuICAgIGluaXQ6IG51bGw7XG59O1xuZXhwb3J0IHt9O1xuIl0sIm1hcHBpbmdzIjoiOzs7O0FBRUEsSUFBSSxvQkFBZ0IsQ0FBQSxVQUFBLFFBQUE7QUFDcEIsSUFBVyxrQkFBVztDQUFBO09BQUE7T0FBQSxPQUFBO0NBQUEifQ==
@@ -1,45 +0,0 @@
1
- import { MessageType } from "../../application/models/message.js";
2
- import "../../application/models/index.js";
3
- import { SpiffyMetricsEventName } from "../../services/amplitudeService/amplitudeService.js";
4
- import "../../contexts/amplitudeContext/amplitudeContext.js";
5
- import { messagesAtom, replyEventCategoryAtom, userHasRepliedAtom, userQueryAtom } from "./chatState.js";
6
- import { amplitudeTrackEventAtom } from "../amplitude/amplitudeTrackEventAtom.js";
7
- import { queueUserEventAtom } from "./messageQueue.js";
8
- import "./index.js";
9
- import { UserEventCategory } from "@spiffy-ai/commerce-api-client";
10
- import { atom } from "jotai";
11
-
12
- //#region src/atoms/chat/replies.ts
13
- const handleReplyAtom = atom(null, (get, set, { message, userTyped }) => {
14
- if (message.type !== MessageType.QueryTyped) return;
15
- const trackEvent = get(amplitudeTrackEventAtom);
16
- const queryTyped = message.metadata.content;
17
- set(replyEventCategoryAtom, UserEventCategory.QueryTyped);
18
- set(userQueryAtom, queryTyped);
19
- set(messagesAtom, [...get(messagesAtom), [message]]);
20
- set(userHasRepliedAtom, true);
21
- set(queueUserEventAtom, {
22
- eventId: message.id,
23
- createdAt: message.createdAt,
24
- category: UserEventCategory.QueryTyped,
25
- attributes: { query: queryTyped }
26
- });
27
- if (trackEvent) trackEvent({
28
- eventName: SpiffyMetricsEventName.ChatUserMessageInput,
29
- eventProps: {
30
- message_id: message.id,
31
- message_role: message.role,
32
- message_type: message.type,
33
- message_metadata: {
34
- content: message?.metadata?.content,
35
- created_at: message.createdAt,
36
- user_typed: userTyped
37
- }
38
- },
39
- alsoSendToGoogleAnalytics: true
40
- });
41
- });
42
-
43
- //#endregion
44
- export { handleReplyAtom };
45
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwbGllcy5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXRvbXMvY2hhdC9yZXBsaWVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGF0b20gfSBmcm9tICdqb3RhaSc7XG5pbXBvcnQgeyBNZXNzYWdlLCBNZXNzYWdlVHlwZSB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMnO1xuaW1wb3J0IHtcbiAgbWVzc2FnZXNBdG9tLFxuICByZXBseUV2ZW50Q2F0ZWdvcnlBdG9tLFxuICB1c2VySGFzUmVwbGllZEF0b20sXG4gIHVzZXJRdWVyeUF0b20sXG59IGZyb20gJ3NyYy9hdG9tcy9jaGF0JztcbmltcG9ydCB7IFVzZXJFdmVudENhdGVnb3J5IH0gZnJvbSAnQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50JztcbmltcG9ydCB7IFNwaWZmeU1ldHJpY3NFdmVudE5hbWUgfSBmcm9tICdzcmMvY29udGV4dHMvYW1wbGl0dWRlQ29udGV4dC9hbXBsaXR1ZGVDb250ZXh0JztcbmltcG9ydCB7IGFtcGxpdHVkZVRyYWNrRXZlbnRBdG9tIH0gZnJvbSAnc3JjL2F0b21zL2FtcGxpdHVkZS9hbXBsaXR1ZGVUcmFja0V2ZW50QXRvbSc7XG5pbXBvcnQgeyBxdWV1ZVVzZXJFdmVudEF0b20gfSBmcm9tICcuL21lc3NhZ2VRdWV1ZSc7XG5cbnR5cGUgSGFuZGxlUmVwbHlQYXJhbXMgPSB7XG4gIG1lc3NhZ2U6IE1lc3NhZ2U7XG4gIHVzZXJUeXBlZDogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCBjb25zdCBoYW5kbGVSZXBseUF0b20gPSBhdG9tKG51bGwsIChnZXQsIHNldCwgeyBtZXNzYWdlLCB1c2VyVHlwZWQgfTogSGFuZGxlUmVwbHlQYXJhbXMpID0+IHtcbiAgaWYgKG1lc3NhZ2UudHlwZSAhPT0gTWVzc2FnZVR5cGUuUXVlcnlUeXBlZCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IHRyYWNrRXZlbnQgPSBnZXQoYW1wbGl0dWRlVHJhY2tFdmVudEF0b20pO1xuICBjb25zdCBxdWVyeVR5cGVkID0gbWVzc2FnZS5tZXRhZGF0YS5jb250ZW50O1xuXG4gIHNldChyZXBseUV2ZW50Q2F0ZWdvcnlBdG9tLCBVc2VyRXZlbnRDYXRlZ29yeS5RdWVyeVR5cGVkKTtcbiAgc2V0KHVzZXJRdWVyeUF0b20sIHF1ZXJ5VHlwZWQpO1xuICBzZXQobWVzc2FnZXNBdG9tLCBbLi4uZ2V0KG1lc3NhZ2VzQXRvbSksIFttZXNzYWdlXV0pO1xuICBzZXQodXNlckhhc1JlcGxpZWRBdG9tLCB0cnVlKTtcbiAgc2V0KHF1ZXVlVXNlckV2ZW50QXRvbSwge1xuICAgIGV2ZW50SWQ6IG1lc3NhZ2UuaWQsXG4gICAgY3JlYXRlZEF0OiBtZXNzYWdlLmNyZWF0ZWRBdCxcbiAgICBjYXRlZ29yeTogVXNlckV2ZW50Q2F0ZWdvcnkuUXVlcnlUeXBlZCxcbiAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICBxdWVyeTogcXVlcnlUeXBlZCxcbiAgICB9LFxuICB9KTtcblxuICBpZiAodHJhY2tFdmVudCkge1xuICAgIHRyYWNrRXZlbnQoe1xuICAgICAgZXZlbnROYW1lOiBTcGlmZnlNZXRyaWNzRXZlbnROYW1lLkNoYXRVc2VyTWVzc2FnZUlucHV0LFxuICAgICAgZXZlbnRQcm9wczoge1xuICAgICAgICBtZXNzYWdlX2lkOiBtZXNzYWdlLmlkLFxuICAgICAgICBtZXNzYWdlX3JvbGU6IG1lc3NhZ2Uucm9sZSxcbiAgICAgICAgbWVzc2FnZV90eXBlOiBtZXNzYWdlLnR5cGUsXG4gICAgICAgIG1lc3NhZ2VfbWV0YWRhdGE6IHtcbiAgICAgICAgICBjb250ZW50OiBtZXNzYWdlPy5tZXRhZGF0YT8uY29udGVudCwgLy8gUmVtb3ZlZCBhbXBsaXR1ZGVTYWZlU3RyaW5nXG4gICAgICAgICAgY3JlYXRlZF9hdDogbWVzc2FnZS5jcmVhdGVkQXQsXG4gICAgICAgICAgdXNlcl90eXBlZDogdXNlclR5cGVkLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIGFsc29TZW5kVG9Hb29nbGVBbmFseXRpY3M6IHRydWUsXG4gICAgfSk7XG4gIH1cbn0pO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFrQkEsTUFBYSxrQkFBa0IsS0FBSyxPQUFPLEtBQUssS0FBSyxFQUFFLFNBQVMsZ0JBQW1DO0FBQ2pHLEtBQUksUUFBUSxTQUFTLFlBQVksV0FDL0I7Q0FHRixNQUFNLGFBQWEsSUFBSSx3QkFBd0I7Q0FDL0MsTUFBTSxhQUFhLFFBQVEsU0FBUztBQUVwQyxLQUFJLHdCQUF3QixrQkFBa0IsV0FBVztBQUN6RCxLQUFJLGVBQWUsV0FBVztBQUM5QixLQUFJLGNBQWMsQ0FBQyxHQUFHLElBQUksYUFBYSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDcEQsS0FBSSxvQkFBb0IsS0FBSztBQUM3QixLQUFJLG9CQUFvQjtFQUN0QixTQUFTLFFBQVE7RUFDakIsV0FBVyxRQUFRO0VBQ25CLFVBQVUsa0JBQWtCO0VBQzVCLFlBQVksRUFDVixPQUFPLFlBQ1I7RUFDRixDQUFDO0FBRUYsS0FBSSxXQUNGLFlBQVc7RUFDVCxXQUFXLHVCQUF1QjtFQUNsQyxZQUFZO0dBQ1YsWUFBWSxRQUFRO0dBQ3BCLGNBQWMsUUFBUTtHQUN0QixjQUFjLFFBQVE7R0FDdEIsa0JBQWtCO0lBQ2hCLFNBQVMsU0FBUyxVQUFVO0lBQzVCLFlBQVksUUFBUTtJQUNwQixZQUFZO0lBQ2I7R0FDRjtFQUNELDJCQUEyQjtFQUM1QixDQUFDO0VBRUoifQ==
@@ -1,56 +0,0 @@
1
- import { atom } from 'jotai';
2
- import { Message, MessageType } from 'src/application/models';
3
- import {
4
- messagesAtom,
5
- replyEventCategoryAtom,
6
- userHasRepliedAtom,
7
- userQueryAtom,
8
- } from 'src/atoms/chat';
9
- import { UserEventCategory } from '@spiffy-ai/commerce-api-client';
10
- import { SpiffyMetricsEventName } from 'src/contexts/amplitudeContext/amplitudeContext';
11
- import { amplitudeTrackEventAtom } from 'src/atoms/amplitude/amplitudeTrackEventAtom';
12
- import { queueUserEventAtom } from './messageQueue';
13
-
14
- type HandleReplyParams = {
15
- message: Message;
16
- userTyped: boolean;
17
- };
18
-
19
- export const handleReplyAtom = atom(null, (get, set, { message, userTyped }: HandleReplyParams) => {
20
- if (message.type !== MessageType.QueryTyped) {
21
- return;
22
- }
23
-
24
- const trackEvent = get(amplitudeTrackEventAtom);
25
- const queryTyped = message.metadata.content;
26
-
27
- set(replyEventCategoryAtom, UserEventCategory.QueryTyped);
28
- set(userQueryAtom, queryTyped);
29
- set(messagesAtom, [...get(messagesAtom), [message]]);
30
- set(userHasRepliedAtom, true);
31
- set(queueUserEventAtom, {
32
- eventId: message.id,
33
- createdAt: message.createdAt,
34
- category: UserEventCategory.QueryTyped,
35
- attributes: {
36
- query: queryTyped,
37
- },
38
- });
39
-
40
- if (trackEvent) {
41
- trackEvent({
42
- eventName: SpiffyMetricsEventName.ChatUserMessageInput,
43
- eventProps: {
44
- message_id: message.id,
45
- message_role: message.role,
46
- message_type: message.type,
47
- message_metadata: {
48
- content: message?.metadata?.content, // Removed amplitudeSafeString
49
- created_at: message.createdAt,
50
- user_typed: userTyped,
51
- },
52
- },
53
- alsoSendToGoogleAnalytics: true,
54
- });
55
- }
56
- });