react-native-chatbot-ai 0.1.12 → 0.1.15

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 (136) hide show
  1. package/lib/module/components/Drawer/DrawerContent.js +85 -0
  2. package/lib/module/components/Drawer/DrawerContent.js.map +1 -0
  3. package/lib/module/components/Drawer/EmptyState.js +28 -0
  4. package/lib/module/components/Drawer/EmptyState.js.map +1 -0
  5. package/lib/module/components/Drawer/LoadingState.js +28 -0
  6. package/lib/module/components/Drawer/LoadingState.js.map +1 -0
  7. package/lib/module/components/Drawer/NewChatButton.js +24 -0
  8. package/lib/module/components/Drawer/NewChatButton.js.map +1 -0
  9. package/lib/module/components/Drawer/SearchInput.js +34 -0
  10. package/lib/module/components/Drawer/SearchInput.js.map +1 -0
  11. package/lib/module/components/Drawer/SessionItem.js +53 -0
  12. package/lib/module/components/Drawer/SessionItem.js.map +1 -0
  13. package/lib/module/components/Drawer/SessionList.js +55 -0
  14. package/lib/module/components/Drawer/SessionList.js.map +1 -0
  15. package/lib/module/components/Drawer/index.js +51 -0
  16. package/lib/module/components/Drawer/index.js.map +1 -0
  17. package/lib/module/components/chat/ChatEmpty.js +5 -4
  18. package/lib/module/components/chat/ChatEmpty.js.map +1 -1
  19. package/lib/module/components/chat/ChatHeader.js +10 -4
  20. package/lib/module/components/chat/ChatHeader.js.map +1 -1
  21. package/lib/module/components/chat/ChatMessageList.js +8 -7
  22. package/lib/module/components/chat/ChatMessageList.js.map +1 -1
  23. package/lib/module/components/chat/footer/index.js +51 -6
  24. package/lib/module/components/chat/footer/index.js.map +1 -1
  25. package/lib/module/components/chat/index.js +13 -2
  26. package/lib/module/components/chat/index.js.map +1 -1
  27. package/lib/module/components/chat/item/ChatAIAnswerMessageItem.js +3 -2
  28. package/lib/module/components/chat/item/ChatAIAnswerMessageItem.js.map +1 -1
  29. package/lib/module/components/chat/item/ChatUserMessageItem.js +13 -4
  30. package/lib/module/components/chat/item/ChatUserMessageItem.js.map +1 -1
  31. package/lib/module/components/chat/item/index.js +4 -2
  32. package/lib/module/components/chat/item/index.js.map +1 -1
  33. package/lib/module/components/product/CardHorizontal.js +5 -0
  34. package/lib/module/components/product/CardHorizontal.js.map +1 -1
  35. package/lib/module/constants/events.js +2 -1
  36. package/lib/module/constants/events.js.map +1 -1
  37. package/lib/module/constants/query.js +2 -1
  38. package/lib/module/constants/query.js.map +1 -1
  39. package/lib/module/context/ChatContext.js +23 -6
  40. package/lib/module/context/ChatContext.js.map +1 -1
  41. package/lib/module/hooks/message/useMessage.js +36 -4
  42. package/lib/module/hooks/message/useMessage.js.map +1 -1
  43. package/lib/module/hooks/message/useSendMessage.js +19 -6
  44. package/lib/module/hooks/message/useSendMessage.js.map +1 -1
  45. package/lib/module/hooks/message/useStreamMessage.js +39 -10
  46. package/lib/module/hooks/message/useStreamMessage.js.map +1 -1
  47. package/lib/module/hooks/session/useSearchSessions.js +51 -0
  48. package/lib/module/hooks/session/useSearchSessions.js.map +1 -0
  49. package/lib/module/services/endpoints.js +2 -1
  50. package/lib/module/services/endpoints.js.map +1 -1
  51. package/lib/module/translation/index.js +28 -0
  52. package/lib/module/translation/index.js.map +1 -0
  53. package/lib/module/translation/resources/vi.js +12 -0
  54. package/lib/module/translation/resources/vi.js.map +1 -0
  55. package/lib/module/utils/device.js +2 -2
  56. package/lib/module/utils/device.js.map +1 -1
  57. package/lib/typescript/src/components/Drawer/DrawerContent.d.ts +3 -0
  58. package/lib/typescript/src/components/Drawer/DrawerContent.d.ts.map +1 -0
  59. package/lib/typescript/src/components/Drawer/EmptyState.d.ts +3 -0
  60. package/lib/typescript/src/components/Drawer/EmptyState.d.ts.map +1 -0
  61. package/lib/typescript/src/components/Drawer/LoadingState.d.ts +3 -0
  62. package/lib/typescript/src/components/Drawer/LoadingState.d.ts.map +1 -0
  63. package/lib/typescript/src/components/Drawer/NewChatButton.d.ts +6 -0
  64. package/lib/typescript/src/components/Drawer/NewChatButton.d.ts.map +1 -0
  65. package/lib/typescript/src/components/Drawer/SearchInput.d.ts +7 -0
  66. package/lib/typescript/src/components/Drawer/SearchInput.d.ts.map +1 -0
  67. package/lib/typescript/src/components/Drawer/SessionItem.d.ts +9 -0
  68. package/lib/typescript/src/components/Drawer/SessionItem.d.ts.map +1 -0
  69. package/lib/typescript/src/components/Drawer/SessionList.d.ts +15 -0
  70. package/lib/typescript/src/components/Drawer/SessionList.d.ts.map +1 -0
  71. package/lib/typescript/src/components/Drawer/index.d.ts +7 -0
  72. package/lib/typescript/src/components/Drawer/index.d.ts.map +1 -0
  73. package/lib/typescript/src/components/chat/ChatEmpty.d.ts.map +1 -1
  74. package/lib/typescript/src/components/chat/ChatHeader.d.ts.map +1 -1
  75. package/lib/typescript/src/components/chat/ChatMessageList.d.ts +5 -1
  76. package/lib/typescript/src/components/chat/ChatMessageList.d.ts.map +1 -1
  77. package/lib/typescript/src/components/chat/footer/index.d.ts +5 -1
  78. package/lib/typescript/src/components/chat/footer/index.d.ts.map +1 -1
  79. package/lib/typescript/src/components/chat/index.d.ts.map +1 -1
  80. package/lib/typescript/src/components/chat/item/ChatAIAnswerMessageItem.d.ts.map +1 -1
  81. package/lib/typescript/src/components/chat/item/ChatUserMessageItem.d.ts +2 -1
  82. package/lib/typescript/src/components/chat/item/ChatUserMessageItem.d.ts.map +1 -1
  83. package/lib/typescript/src/constants/events.d.ts +1 -0
  84. package/lib/typescript/src/constants/events.d.ts.map +1 -1
  85. package/lib/typescript/src/constants/query.d.ts +1 -0
  86. package/lib/typescript/src/constants/query.d.ts.map +1 -1
  87. package/lib/typescript/src/context/ChatContext.d.ts.map +1 -1
  88. package/lib/typescript/src/hooks/message/useMessage.d.ts.map +1 -1
  89. package/lib/typescript/src/hooks/message/useSendMessage.d.ts +2 -1
  90. package/lib/typescript/src/hooks/message/useSendMessage.d.ts.map +1 -1
  91. package/lib/typescript/src/hooks/message/useStreamMessage.d.ts +3 -2
  92. package/lib/typescript/src/hooks/message/useStreamMessage.d.ts.map +1 -1
  93. package/lib/typescript/src/hooks/session/useSearchSessions.d.ts +2 -0
  94. package/lib/typescript/src/hooks/session/useSearchSessions.d.ts.map +1 -0
  95. package/lib/typescript/src/services/endpoints.d.ts +1 -0
  96. package/lib/typescript/src/services/endpoints.d.ts.map +1 -1
  97. package/lib/typescript/src/translation/index.d.ts +5 -0
  98. package/lib/typescript/src/translation/index.d.ts.map +1 -0
  99. package/lib/typescript/src/translation/resources/vi.d.ts +11 -0
  100. package/lib/typescript/src/translation/resources/vi.d.ts.map +1 -0
  101. package/lib/typescript/src/types/chat.d.ts +2 -0
  102. package/lib/typescript/src/types/chat.d.ts.map +1 -1
  103. package/lib/typescript/src/types/dto.d.ts +16 -0
  104. package/lib/typescript/src/types/dto.d.ts.map +1 -1
  105. package/lib/typescript/src/utils/device.d.ts.map +1 -1
  106. package/package.json +5 -1
  107. package/src/components/Drawer/DrawerContent.tsx +94 -0
  108. package/src/components/Drawer/EmptyState.tsx +26 -0
  109. package/src/components/Drawer/LoadingState.tsx +26 -0
  110. package/src/components/Drawer/NewChatButton.tsx +25 -0
  111. package/src/components/Drawer/SearchInput.tsx +37 -0
  112. package/src/components/Drawer/SessionItem.tsx +68 -0
  113. package/src/components/Drawer/SessionList.tsx +71 -0
  114. package/src/components/Drawer/index.tsx +57 -0
  115. package/src/components/chat/ChatEmpty.tsx +5 -6
  116. package/src/components/chat/ChatHeader.tsx +14 -6
  117. package/src/components/chat/ChatMessageList.tsx +9 -5
  118. package/src/components/chat/footer/index.tsx +69 -7
  119. package/src/components/chat/index.tsx +14 -4
  120. package/src/components/chat/item/ChatAIAnswerMessageItem.tsx +3 -4
  121. package/src/components/chat/item/ChatUserMessageItem.tsx +13 -5
  122. package/src/components/chat/item/index.tsx +2 -2
  123. package/src/components/product/CardHorizontal.tsx +5 -0
  124. package/src/constants/events.ts +1 -0
  125. package/src/constants/query.ts +1 -0
  126. package/src/context/ChatContext.tsx +21 -3
  127. package/src/hooks/message/useMessage.ts +54 -4
  128. package/src/hooks/message/useSendMessage.ts +22 -5
  129. package/src/hooks/message/useStreamMessage.ts +59 -12
  130. package/src/hooks/session/useSearchSessions.ts +62 -0
  131. package/src/services/endpoints.ts +1 -0
  132. package/src/translation/index.ts +22 -0
  133. package/src/translation/resources/vi.ts +10 -0
  134. package/src/types/chat.ts +2 -0
  135. package/src/types/dto.ts +19 -0
  136. package/src/utils/device.ts +9 -8
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
 
3
- import { createContext, useContext } from 'react';
3
+ import { createContext, useContext, useRef } from 'react';
4
4
  import ChatBotAI from "../components/chat/index.js";
5
5
  import Portal from "../components/portal/index.js";
6
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
6
+ import ReanimatedDrawerExample from "../components/Drawer/index.js";
7
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
7
8
  export const ChatContext = /*#__PURE__*/createContext({
8
9
  apiAddress: '',
9
10
  userId: '',
@@ -12,10 +13,19 @@ export const ChatContext = /*#__PURE__*/createContext({
12
13
  onBuyNow: () => {},
13
14
  onNavigateToProduct: () => {},
14
15
  csTeamId: '',
15
- pushLinkTo: () => {}
16
+ pushLinkTo: () => {},
17
+ openDrawer: () => {},
18
+ closeDrawer: () => {}
16
19
  });
17
20
  export const useChatContext = () => useContext(ChatContext);
18
21
  export const ChatProvider = props => {
22
+ const ref = useRef(null);
23
+ const openDrawer = () => {
24
+ ref.current?.openDrawer();
25
+ };
26
+ const closeDrawer = () => {
27
+ ref.current?.closeDrawer();
28
+ };
19
29
  const {
20
30
  apiAddress,
21
31
  userId,
@@ -27,7 +37,7 @@ export const ChatProvider = props => {
27
37
  csTeamId,
28
38
  pushLinkTo
29
39
  } = props;
30
- return /*#__PURE__*/_jsxs(ChatContext.Provider, {
40
+ return /*#__PURE__*/_jsx(ChatContext.Provider, {
31
41
  value: {
32
42
  apiAddress,
33
43
  userId,
@@ -37,9 +47,16 @@ export const ChatProvider = props => {
37
47
  onBuyNow,
38
48
  onNavigateToProduct,
39
49
  csTeamId,
40
- pushLinkTo
50
+ pushLinkTo,
51
+ openDrawer,
52
+ closeDrawer
41
53
  },
42
- children: [/*#__PURE__*/_jsx(ChatBotAI, {}), /*#__PURE__*/_jsx(Portal, {})]
54
+ children: /*#__PURE__*/_jsx(ReanimatedDrawerExample, {
55
+ ref: ref,
56
+ children: /*#__PURE__*/_jsxs(_Fragment, {
57
+ children: [/*#__PURE__*/_jsx(ChatBotAI, {}), /*#__PURE__*/_jsx(Portal, {})]
58
+ })
59
+ })
43
60
  });
44
61
  };
45
62
  //# sourceMappingURL=ChatContext.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createContext","useContext","ChatBotAI","Portal","jsx","_jsx","jsxs","_jsxs","ChatContext","apiAddress","userId","cartButton","undefined","onAddToCart","onBuyNow","onNavigateToProduct","csTeamId","pushLinkTo","useChatContext","ChatProvider","props","openImageViewer","Provider","value","children"],"sourceRoot":"../../../src","sources":["context/ChatContext.tsx"],"mappings":";;AAAA,SAASA,aAAa,EAAEC,UAAU,QAAQ,OAAO;AAEjD,OAAOC,SAAS,MAAM,6BAAoB;AAC1C,OAAOC,MAAM,MAAM,+BAAsB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAE1C,OAAO,MAAMC,WAAW,gBAAGR,aAAa,CAAkB;EACxDS,UAAU,EAAE,EAAE;EACdC,MAAM,EAAE,EAAE;EACVC,UAAU,EAAEC,SAAS;EACrBC,WAAW,EAAEA,CAAA,KAAM,CAAC,CAAC;EACrBC,QAAQ,EAAEA,CAAA,KAAM,CAAC,CAAC;EAClBC,mBAAmB,EAAEA,CAAA,KAAM,CAAC,CAAC;EAC7BC,QAAQ,EAAE,EAAE;EACZC,UAAU,EAAEA,CAAA,KAAM,CAAC;AACrB,CAAC,CAAC;AAEF,OAAO,MAAMC,cAAc,GAAGA,CAAA,KAAMjB,UAAU,CAACO,WAAW,CAAC;AAE3D,OAAO,MAAMW,YAAY,GAAIC,KAAwB,IAAK;EACxD,MAAM;IACJX,UAAU;IACVC,MAAM;IACNC,UAAU;IACVU,eAAe;IACfR,WAAW;IACXC,QAAQ;IACRC,mBAAmB;IACnBC,QAAQ;IACRC;EACF,CAAC,GAAGG,KAAK;EACT,oBACEb,KAAA,CAACC,WAAW,CAACc,QAAQ;IACnBC,KAAK,EAAE;MACLd,UAAU;MACVC,MAAM;MACNC,UAAU;MACVU,eAAe;MACfR,WAAW;MACXC,QAAQ;MACRC,mBAAmB;MACnBC,QAAQ;MACRC;IACF,CAAE;IAAAO,QAAA,gBAEFnB,IAAA,CAACH,SAAS,IAAE,CAAC,eACbG,IAAA,CAACF,MAAM,IAAE,CAAC;EAAA,CACU,CAAC;AAE3B,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createContext","useContext","useRef","ChatBotAI","Portal","ReanimatedDrawerExample","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","ChatContext","apiAddress","userId","cartButton","undefined","onAddToCart","onBuyNow","onNavigateToProduct","csTeamId","pushLinkTo","openDrawer","closeDrawer","useChatContext","ChatProvider","props","ref","current","openImageViewer","Provider","value","children"],"sourceRoot":"../../../src","sources":["context/ChatContext.tsx"],"mappings":";;AAAA,SAASA,aAAa,EAAEC,UAAU,EAAEC,MAAM,QAAQ,OAAO;AAEzD,OAAOC,SAAS,MAAM,6BAAoB;AAC1C,OAAOC,MAAM,MAAM,+BAAsB;AACzC,OAAOC,uBAAuB,MAAM,+BAAsB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA,EAAAC,IAAA,IAAAC,KAAA;AAE3D,OAAO,MAAMC,WAAW,gBAAGZ,aAAa,CAAkB;EACxDa,UAAU,EAAE,EAAE;EACdC,MAAM,EAAE,EAAE;EACVC,UAAU,EAAEC,SAAS;EACrBC,WAAW,EAAEA,CAAA,KAAM,CAAC,CAAC;EACrBC,QAAQ,EAAEA,CAAA,KAAM,CAAC,CAAC;EAClBC,mBAAmB,EAAEA,CAAA,KAAM,CAAC,CAAC;EAC7BC,QAAQ,EAAE,EAAE;EACZC,UAAU,EAAEA,CAAA,KAAM,CAAC,CAAC;EACpBC,UAAU,EAAEA,CAAA,KAAM,CAAC,CAAC;EACpBC,WAAW,EAAEA,CAAA,KAAM,CAAC;AACtB,CAAC,CAAC;AAEF,OAAO,MAAMC,cAAc,GAAGA,CAAA,KAAMvB,UAAU,CAACW,WAAW,CAAC;AAE3D,OAAO,MAAMa,YAAY,GAAIC,KAAwB,IAAK;EACxD,MAAMC,GAAG,GAAGzB,MAAM,CAAM,IAAI,CAAC;EAC7B,MAAMoB,UAAU,GAAGA,CAAA,KAAM;IACvBK,GAAG,CAACC,OAAO,EAAEN,UAAU,CAAC,CAAC;EAC3B,CAAC;EAED,MAAMC,WAAW,GAAGA,CAAA,KAAM;IACxBI,GAAG,CAACC,OAAO,EAAEL,WAAW,CAAC,CAAC;EAC5B,CAAC;EACD,MAAM;IACJV,UAAU;IACVC,MAAM;IACNC,UAAU;IACVc,eAAe;IACfZ,WAAW;IACXC,QAAQ;IACRC,mBAAmB;IACnBC,QAAQ;IACRC;EACF,CAAC,GAAGK,KAAK;EAET,oBACEnB,IAAA,CAACK,WAAW,CAACkB,QAAQ;IACnBC,KAAK,EAAE;MACLlB,UAAU;MACVC,MAAM;MACNC,UAAU;MACVc,eAAe;MACfZ,WAAW;MACXC,QAAQ;MACRC,mBAAmB;MACnBC,QAAQ;MACRC,UAAU;MACVC,UAAU;MACVC;IACF,CAAE;IAAAS,QAAA,eAEFzB,IAAA,CAACF,uBAAuB;MAACsB,GAAG,EAAEA,GAAI;MAAAK,QAAA,eAChCrB,KAAA,CAAAF,SAAA;QAAAuB,QAAA,gBACEzB,IAAA,CAACJ,SAAS,IAAE,CAAC,eACbI,IAAA,CAACH,MAAM,IAAE,CAAC;MAAA,CACV;IAAC,CACoB;EAAC,CACN,CAAC;AAE3B,CAAC","ignoreList":[]}
@@ -40,10 +40,24 @@ export const useMessage = () => {
40
40
  }, [sessionId, onGetSessionById]);
41
41
  useEffect(() => {
42
42
  const subOneMessage = DeviceEventEmitter.addListener(events.updateOneMessage, messageItem => {
43
- setLoadState(prev => ({
44
- ...prev,
45
- messages: [messageItem, ...prev.messages]
46
- }));
43
+ setLoadState(prev => {
44
+ const messageIndex = prev.messages.findIndex(m => m.id === messageItem.id);
45
+ if (messageIndex !== -1) {
46
+ const updatedMessages = [...prev.messages];
47
+ updatedMessages[messageIndex] = {
48
+ ...updatedMessages[messageIndex],
49
+ ...messageItem
50
+ };
51
+ return {
52
+ ...prev,
53
+ messages: updatedMessages
54
+ };
55
+ }
56
+ return {
57
+ ...prev,
58
+ messages: [messageItem, ...prev.messages]
59
+ };
60
+ });
47
61
  });
48
62
  const subMultipleMessage = DeviceEventEmitter.addListener(events.updateMultipleMessage, messageItems => {
49
63
  setLoadState(prev => {
@@ -72,10 +86,28 @@ export const useMessage = () => {
72
86
  };
73
87
  });
74
88
  });
89
+ const subUpdateMessageError = DeviceEventEmitter.addListener(events.updateMessageError, (messageId, metadata) => {
90
+ setLoadState(prev => {
91
+ const messageIndex = prev.messages.findIndex(m => m.id === messageId);
92
+ if (messageIndex === -1) return prev;
93
+ const updatedMessages = prev.messages.slice(messageIndex).map((m, i) => i === 0 ? {
94
+ ...m,
95
+ metadata: {
96
+ ...m.metadata,
97
+ ...metadata
98
+ }
99
+ } : m);
100
+ return {
101
+ ...prev,
102
+ messages: updatedMessages
103
+ };
104
+ });
105
+ });
75
106
  return () => {
76
107
  subOneMessage.remove();
77
108
  subMultipleMessage.remove();
78
109
  subForceUpdateMessages.remove();
110
+ subUpdateMessageError.remove();
79
111
  };
80
112
  }, []);
81
113
  return {
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useEffect","useState","useSessionStore","useFetchSessionById","DeviceEventEmitter","events","initialState","id","title","created_at","updated_at","metadata","source","shared","messages","useMessage","sessionId","state","mutateAsync","getSessionById","loadState","setLoadState","onGetSessionById","res","prev","length","reverse","subOneMessage","addListener","updateOneMessage","messageItem","subMultipleMessage","updateMultipleMessage","messageItems","existingIds","Set","map","m","filtered","filter","has","subForceUpdateMessages","forceUpdateMessages","merged","msg","update","find","u","newItems","remove","messageState"],"sourceRoot":"../../../../src","sources":["hooks/message/useMessage.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useEffect","useState","useSessionStore","useFetchSessionById","DeviceEventEmitter","events","initialState","id","title","created_at","updated_at","metadata","source","shared","messages","useMessage","sessionId","state","mutateAsync","getSessionById","loadState","setLoadState","onGetSessionById","res","prev","length","reverse","subOneMessage","addListener","updateOneMessage","messageItem","messageIndex","findIndex","m","updatedMessages","subMultipleMessage","updateMultipleMessage","messageItems","existingIds","Set","map","filtered","filter","has","subForceUpdateMessages","forceUpdateMessages","merged","msg","update","find","u","newItems","subUpdateMessageError","updateMessageError","messageId","slice","i","remove","messageState"],"sourceRoot":"../../../../src","sources":["hooks/message/useMessage.ts"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  import { useCallback } from 'react';
4
+ import { useQueryClient } from '@tanstack/react-query';
4
5
  import useSessionStore from "../../store/session.js";
5
6
  import { useStreamMessage } from "./useStreamMessage.js";
6
7
  import { events } from "../../constants/events.js";
@@ -8,17 +9,21 @@ import { DeviceEventEmitter } from 'react-native';
8
9
  import { MessageType, RoleType } from "../../types/index.js";
9
10
  import dayjs from 'dayjs';
10
11
  import { useCreateSession } from "../session/useCreateSession.js";
12
+ import { QUERY_KEYS } from "../../constants/query.js";
11
13
  export const useSendMessage = () => {
12
14
  const {
13
15
  startStream,
14
- stopStream
16
+ stopStream,
17
+ retryStream
15
18
  } = useStreamMessage();
16
19
  const {
17
20
  mutateAsync: createSession
18
21
  } = useCreateSession();
22
+ const queryClient = useQueryClient();
19
23
  const onSendMessage = useCallback(async (message, attachments) => {
24
+ const messageId = dayjs().valueOf().toString();
20
25
  const messageItem = {
21
- id: dayjs().valueOf().toString(),
26
+ id: messageId,
22
27
  attachments: attachments || [],
23
28
  type: MessageType.user_message,
24
29
  created_at: dayjs().toISOString(),
@@ -28,7 +33,9 @@ export const useSendMessage = () => {
28
33
  response_metadata: {},
29
34
  name: null,
30
35
  role: RoleType.user,
31
- metadata: {}
36
+ metadata: {},
37
+ manual_retry_attempts: 0,
38
+ group_suggestion_id: null
32
39
  };
33
40
  DeviceEventEmitter.emit(events.updateOneMessage, messageItem);
34
41
  let latestSessionId;
@@ -39,6 +46,11 @@ export const useSendMessage = () => {
39
46
  if (!resSession) return;
40
47
  useSessionStore.getState().setSessionId(resSession.id);
41
48
  latestSessionId = resSession.id;
49
+ // Only refetch page 1 of search sessions
50
+ queryClient.refetchQueries({
51
+ queryKey: [QUERY_KEYS.SEARCH_SESSIONS],
52
+ refetchPage: (_page, index) => index === 0
53
+ });
42
54
  }
43
55
  startStream({
44
56
  content: message,
@@ -48,11 +60,12 @@ export const useSendMessage = () => {
48
60
  source: 'user'
49
61
  },
50
62
  manual_retry_attempts: 0
51
- }, latestSessionId);
52
- }, [startStream, createSession]);
63
+ }, latestSessionId, messageId);
64
+ }, [startStream, createSession, queryClient]);
53
65
  return {
54
66
  onSendMessage,
55
- stopStream
67
+ stopStream,
68
+ retryStream
56
69
  };
57
70
  };
58
71
  //# sourceMappingURL=useSendMessage.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useSessionStore","useStreamMessage","events","DeviceEventEmitter","MessageType","RoleType","dayjs","useCreateSession","useSendMessage","startStream","stopStream","mutateAsync","createSession","onSendMessage","message","attachments","messageItem","id","valueOf","toString","type","user_message","created_at","toISOString","modified_at","content","additional_kwargs","response_metadata","name","role","user","metadata","emit","updateOneMessage","latestSessionId","getState","sessionId","resSession","title","setSessionId","stream","source","manual_retry_attempts"],"sourceRoot":"../../../../src","sources":["hooks/message/useSendMessage.ts"],"mappings":";;AAAA,SAASA,WAAW,QAAQ,OAAO;AACnC,OAAOC,eAAe,MAAM,wBAAqB;AACjD,SAASC,gBAAgB,QAAQ,uBAAoB;AACrD,SAASC,MAAM,QAAQ,2BAAwB;AAC/C,SAASC,kBAAkB,QAAQ,cAAc;AACjD,SAAoCC,WAAW,EAAEC,QAAQ,QAAQ,sBAAa;AAC9E,OAAOC,KAAK,MAAM,OAAO;AACzB,SAASC,gBAAgB,QAAQ,gCAA6B;AAE9D,OAAO,MAAMC,cAAc,GAAGA,CAAA,KAAM;EAClC,MAAM;IAAEC,WAAW;IAAEC;EAAW,CAAC,GAAGT,gBAAgB,CAAC,CAAC;EACtD,MAAM;IAAEU,WAAW,EAAEC;EAAc,CAAC,GAAGL,gBAAgB,CAAC,CAAC;EAEzD,MAAMM,aAAa,GAAGd,WAAW,CAC/B,OAAOe,OAAe,EAAEC,WAA2B,KAAK;IACtD,MAAMC,WAAyB,GAAG;MAChCC,EAAE,EAAEX,KAAK,CAAC,CAAC,CAACY,OAAO,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;MAChCJ,WAAW,EAAEA,WAAW,IAAI,EAAE;MAC9BK,IAAI,EAAEhB,WAAW,CAACiB,YAAY;MAC9BC,UAAU,EAAEhB,KAAK,CAAC,CAAC,CAACiB,WAAW,CAAC,CAAC;MACjCC,WAAW,EAAElB,KAAK,CAAC,CAAC,CAACiB,WAAW,CAAC,CAAC;MAClCE,OAAO,EAAEX,OAAO;MAChBY,iBAAiB,EAAE,CAAC,CAAC;MACrBC,iBAAiB,EAAE,CAAC,CAAC;MACrBC,IAAI,EAAE,IAAI;MACVC,IAAI,EAAExB,QAAQ,CAACyB,IAAI;MACnBC,QAAQ,EAAE,CAAC;IACb,CAAC;IACD5B,kBAAkB,CAAC6B,IAAI,CAAC9B,MAAM,CAAC+B,gBAAgB,EAAEjB,WAAW,CAAC;IAE7D,IAAIkB,eAAe;IACnB,IAAI,CAAClC,eAAe,CAACmC,QAAQ,CAAC,CAAC,CAACC,SAAS,EAAE;MACzC,MAAMC,UAAU,GAAG,MAAMzB,aAAa,CAAC;QAAE0B,KAAK,EAAExB;MAAQ,CAAC,CAAC;MAC1D,IAAI,CAACuB,UAAU,EAAE;MACjBrC,eAAe,CAACmC,QAAQ,CAAC,CAAC,CAACI,YAAY,CAACF,UAAU,CAACpB,EAAE,CAAC;MACtDiB,eAAe,GAAGG,UAAU,CAACpB,EAAE;IACjC;IACAR,WAAW,CACT;MACEgB,OAAO,EAAEX,OAAO;MAChB0B,MAAM,EAAE,IAAI;MACZzB,WAAW,EAAEA,WAAW,IAAI,EAAE;MAC9BgB,QAAQ,EAAE;QACRU,MAAM,EAAE;MACV,CAAC;MACDC,qBAAqB,EAAE;IACzB,CAAC,EACDR,eACF,CAAC;EACH,CAAC,EACD,CAACzB,WAAW,EAAEG,aAAa,CAC7B,CAAC;EAED,OAAO;IACLC,aAAa;IACbH;EACF,CAAC;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useQueryClient","useSessionStore","useStreamMessage","events","DeviceEventEmitter","MessageType","RoleType","dayjs","useCreateSession","QUERY_KEYS","useSendMessage","startStream","stopStream","retryStream","mutateAsync","createSession","queryClient","onSendMessage","message","attachments","messageId","valueOf","toString","messageItem","id","type","user_message","created_at","toISOString","modified_at","content","additional_kwargs","response_metadata","name","role","user","metadata","manual_retry_attempts","group_suggestion_id","emit","updateOneMessage","latestSessionId","getState","sessionId","resSession","title","setSessionId","refetchQueries","queryKey","SEARCH_SESSIONS","refetchPage","_page","index","stream","source"],"sourceRoot":"../../../../src","sources":["hooks/message/useSendMessage.ts"],"mappings":";;AAAA,SAASA,WAAW,QAAQ,OAAO;AACnC,SAASC,cAAc,QAAQ,uBAAuB;AACtD,OAAOC,eAAe,MAAM,wBAAqB;AACjD,SAASC,gBAAgB,QAAQ,uBAAoB;AACrD,SAASC,MAAM,QAAQ,2BAAwB;AAC/C,SAASC,kBAAkB,QAAQ,cAAc;AACjD,SAAoCC,WAAW,EAAEC,QAAQ,QAAQ,sBAAa;AAC9E,OAAOC,KAAK,MAAM,OAAO;AACzB,SAASC,gBAAgB,QAAQ,gCAA6B;AAC9D,SAASC,UAAU,QAAQ,0BAAuB;AAIlD,OAAO,MAAMC,cAAc,GAAGA,CAAA,KAAM;EAClC,MAAM;IAAEC,WAAW;IAAEC,UAAU;IAAEC;EAAY,CAAC,GAAGX,gBAAgB,CAAC,CAAC;EACnE,MAAM;IAAEY,WAAW,EAAEC;EAAc,CAAC,GAAGP,gBAAgB,CAAC,CAAC;EACzD,MAAMQ,WAAW,GAAGhB,cAAc,CAAC,CAAC;EACpC,MAAMiB,aAAa,GAAGlB,WAAW,CAC/B,OAAOmB,OAAe,EAAEC,WAA2B,KAAK;IACtD,MAAMC,SAAS,GAAGb,KAAK,CAAC,CAAC,CAACc,OAAO,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;IAC9C,MAAMC,WAAyB,GAAG;MAChCC,EAAE,EAAEJ,SAAS;MACbD,WAAW,EAAEA,WAAW,IAAI,EAAE;MAC9BM,IAAI,EAAEpB,WAAW,CAACqB,YAAY;MAC9BC,UAAU,EAAEpB,KAAK,CAAC,CAAC,CAACqB,WAAW,CAAC,CAAC;MACjCC,WAAW,EAAEtB,KAAK,CAAC,CAAC,CAACqB,WAAW,CAAC,CAAC;MAClCE,OAAO,EAAEZ,OAAO;MAChBa,iBAAiB,EAAE,CAAC,CAAC;MACrBC,iBAAiB,EAAE,CAAC,CAAC;MACrBC,IAAI,EAAE,IAAI;MACVC,IAAI,EAAE5B,QAAQ,CAAC6B,IAAI;MACnBC,QAAQ,EAAE,CAAC,CAAC;MACZC,qBAAqB,EAAE,CAAC;MACxBC,mBAAmB,EAAE;IACvB,CAAC;IACDlC,kBAAkB,CAACmC,IAAI,CAACpC,MAAM,CAACqC,gBAAgB,EAAEjB,WAAW,CAAC;IAE7D,IAAIkB,eAAe;IACnB,IAAI,CAACxC,eAAe,CAACyC,QAAQ,CAAC,CAAC,CAACC,SAAS,EAAE;MACzC,MAAMC,UAAU,GAAG,MAAM7B,aAAa,CAAC;QAAE8B,KAAK,EAAE3B;MAAQ,CAAC,CAAC;MAC1D,IAAI,CAAC0B,UAAU,EAAE;MACjB3C,eAAe,CAACyC,QAAQ,CAAC,CAAC,CAACI,YAAY,CAACF,UAAU,CAACpB,EAAE,CAAC;MACtDiB,eAAe,GAAGG,UAAU,CAACpB,EAAE;MAC/B;MACAR,WAAW,CAAC+B,cAAc,CAAC;QACzBC,QAAQ,EAAE,CAACvC,UAAU,CAACwC,eAAe,CAAC;QACtCC,WAAW,EAAEA,CACXC,KAA2C,EAC3CC,KAAa,KACVA,KAAK,KAAK;MACjB,CAAC,CAAC;IACJ;IACAzC,WAAW,CACT;MACEmB,OAAO,EAAEZ,OAAO;MAChBmC,MAAM,EAAE,IAAI;MACZlC,WAAW,EAAEA,WAAW,IAAI,EAAE;MAC9BiB,QAAQ,EAAE;QACRkB,MAAM,EAAE;MACV,CAAC;MACDjB,qBAAqB,EAAE;IACzB,CAAC,EACDI,eAAe,EACfrB,SACF,CAAC;EACH,CAAC,EACD,CAACT,WAAW,EAAEI,aAAa,EAAEC,WAAW,CAC1C,CAAC;EAED,OAAO;IACLC,aAAa;IACbL,UAAU;IACVC;EACF,CAAC;AACH,CAAC","ignoreList":[]}
@@ -21,7 +21,7 @@ export const useStreamMessage = () => {
21
21
  useEffect(() => {
22
22
  sessionIdRef.current = sessionId;
23
23
  }, [sessionId]);
24
- const startStream = useCallback((payload, latestSessionId) => {
24
+ const startStream = useCallback((payload, latestSessionId, localMessageId) => {
25
25
  const token = global?.accessToken;
26
26
  const currentSessionId = latestSessionId || sessionIdRef.current;
27
27
  if (!currentSessionId || !token) return;
@@ -54,14 +54,30 @@ export const useStreamMessage = () => {
54
54
  leading: true,
55
55
  trailing: true
56
56
  });
57
+ const onStreamMessageEnd = async (isError, messageId) => {
58
+ await new Promise(resolve => setTimeout(resolve, 600));
59
+ if (isError) {
60
+ DeviceEventEmitter.emit(events.updateMessageError, [{
61
+ id: messageId,
62
+ metadata: {
63
+ needs_retry: true,
64
+ original_message_id: localMessageId || messageId,
65
+ status: 'error'
66
+ }
67
+ }]);
68
+ } else {
69
+ DeviceEventEmitter.emit(events.forceUpdateMessages, Object.values(buffers));
70
+ }
71
+ es.close();
72
+ buffers = {};
73
+ setIsStreaming(false);
74
+ };
57
75
  es.addEventListener('message', event => {
58
76
  console.log('📩 Stream message:', typeof event.data, JSON?.parse?.(event?.data || '{}'));
59
77
  try {
60
78
  const data = JSON?.parse?.(event?.data || '{}');
61
79
  if (data?.is_done) {
62
- console.log('✅ Stream done');
63
- es.close();
64
- setIsStreaming(false);
80
+ onStreamMessageEnd(data?.is_error, data?.message_id);
65
81
  } else {
66
82
  const message = data?.messages;
67
83
  if (!message?.id) return;
@@ -82,13 +98,10 @@ export const useStreamMessage = () => {
82
98
  });
83
99
  es.addEventListener('error', err => {
84
100
  console.log('❌ Stream error:', err);
85
- setIsStreaming(false);
101
+ onStreamMessageEnd(true);
86
102
  });
87
103
  es.addEventListener('close', async () => {
88
- await new Promise(resolve => setTimeout(resolve, 500));
89
- DeviceEventEmitter.emit(events.forceUpdateMessages, Object.values(buffers));
90
- buffers = {};
91
- setIsStreaming(false);
104
+ console.log('✅ Stream closed');
92
105
  });
93
106
  esRef.current = es;
94
107
  }, [apiAddress, setIsStreaming, setStreamMessage]);
@@ -100,6 +113,21 @@ export const useStreamMessage = () => {
100
113
  setIsStreaming(false);
101
114
  }
102
115
  }, [setIsStreaming]);
116
+ const retryStream = useCallback(messageItem => {
117
+ DeviceEventEmitter.emit(events.updateOneMessage, {
118
+ ...messageItem,
119
+ metadata: {}
120
+ });
121
+ startStream({
122
+ content: messageItem.content,
123
+ stream: true,
124
+ attachments: messageItem.attachments,
125
+ metadata: {
126
+ source: 'user'
127
+ },
128
+ manual_retry_attempts: 0
129
+ }, undefined, messageItem.id);
130
+ }, [startStream]);
103
131
  useEffect(() => {
104
132
  return () => {
105
133
  stopStream();
@@ -107,7 +135,8 @@ export const useStreamMessage = () => {
107
135
  }, [stopStream]);
108
136
  return {
109
137
  startStream,
110
- stopStream
138
+ stopStream,
139
+ retryStream
111
140
  };
112
141
  };
113
142
  //# sourceMappingURL=useStreamMessage.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useRef","useCallback","useChatContext","ENDPOINTS","EventSource","useStreamMessageStore","throttle","DeviceEventEmitter","events","useSessionStore","useStreamMessage","sessionId","state","esRef","sessionIdRef","apiAddress","setStreamMessage","setIsStreaming","current","startStream","payload","latestSessionId","token","global","accessToken","currentSessionId","close","url","assistantService","getStreamMessage","es","method","headers","body","JSON","stringify","addEventListener","console","log","buffers","throttledFlush","emit","updateMultipleMessage","Object","values","map","m","content","leading","trailing","event","data","parse","is_done","message","messages","id","join","error","err","Promise","resolve","setTimeout","forceUpdateMessages","stopStream"],"sourceRoot":"../../../../src","sources":["hooks/message/useStreamMessage.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useEffect","useRef","useCallback","useChatContext","ENDPOINTS","EventSource","useStreamMessageStore","throttle","DeviceEventEmitter","events","useSessionStore","useStreamMessage","sessionId","state","esRef","sessionIdRef","apiAddress","setStreamMessage","setIsStreaming","current","startStream","payload","latestSessionId","localMessageId","token","global","accessToken","currentSessionId","close","url","assistantService","getStreamMessage","es","method","headers","body","JSON","stringify","addEventListener","console","log","buffers","throttledFlush","emit","updateMultipleMessage","Object","values","map","m","content","leading","trailing","onStreamMessageEnd","isError","messageId","Promise","resolve","setTimeout","updateMessageError","id","metadata","needs_retry","original_message_id","status","forceUpdateMessages","event","data","parse","is_done","is_error","message_id","message","messages","join","error","err","stopStream","retryStream","messageItem","updateOneMessage","stream","attachments","source","manual_retry_attempts","undefined"],"sourceRoot":"../../../../src","sources":["hooks/message/useStreamMessage.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+
3
+ import { useInfiniteQuery } from '@tanstack/react-query';
4
+ import { useCallback } from 'react';
5
+ import { QUERY_KEYS } from "../../constants/query.js";
6
+ import { apiInstance } from "../../services/apis.js";
7
+ import { ENDPOINTS } from "../../services/endpoints.js";
8
+ const LIMIT = 20;
9
+ export const useSearchSessions = (enabled = true, searchTerm) => {
10
+ const queryKey = [QUERY_KEYS.SEARCH_SESSIONS, searchTerm];
11
+ const query = useInfiniteQuery({
12
+ queryKey,
13
+ queryFn: async ({
14
+ pageParam = 0
15
+ }) => {
16
+ const res = await apiInstance?.post(ENDPOINTS.assistantService.searchSessions, {
17
+ limit: LIMIT,
18
+ offset: pageParam,
19
+ ...(searchTerm?.trim() && {
20
+ search_term: searchTerm.trim()
21
+ })
22
+ });
23
+ return res?.data;
24
+ },
25
+ getNextPageParam: (lastPage, allPages) => {
26
+ const currentData = lastPage?.data || [];
27
+ if (currentData.length < LIMIT) {
28
+ return undefined;
29
+ }
30
+ return allPages.length * LIMIT;
31
+ },
32
+ initialPageParam: 0,
33
+ enabled: !!apiInstance && enabled,
34
+ staleTime: 5 * 60 * 1000 // 5 minutes
35
+ });
36
+
37
+ // Custom refetch that only refetches page 1
38
+ const refetchPageOne = useCallback(async () => {
39
+ // Reset the query to clear all pages and start fresh with page 1
40
+ // await queryClient.resetQueries({ queryKey });
41
+ // Refetch only the first page
42
+ return query.refetch({
43
+ refetchPage: (_page, index) => index === 0
44
+ });
45
+ }, [query]);
46
+ return {
47
+ ...query,
48
+ refetch: refetchPageOne
49
+ };
50
+ };
51
+ //# sourceMappingURL=useSearchSessions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useInfiniteQuery","useCallback","QUERY_KEYS","apiInstance","ENDPOINTS","LIMIT","useSearchSessions","enabled","searchTerm","queryKey","SEARCH_SESSIONS","query","queryFn","pageParam","res","post","assistantService","searchSessions","limit","offset","trim","search_term","data","getNextPageParam","lastPage","allPages","currentData","length","undefined","initialPageParam","staleTime","refetchPageOne","refetch","refetchPage","_page","index"],"sourceRoot":"../../../../src","sources":["hooks/session/useSearchSessions.ts"],"mappings":";;AAAA,SAASA,gBAAgB,QAAQ,uBAAuB;AACxD,SAASC,WAAW,QAAQ,OAAO;AACnC,SAASC,UAAU,QAAQ,0BAAuB;AAClD,SAASC,WAAW,QAAQ,wBAAqB;AACjD,SAASC,SAAS,QAAQ,6BAA0B;AAIpD,MAAMC,KAAK,GAAG,EAAE;AAEhB,OAAO,MAAMC,iBAAiB,GAAGA,CAC/BC,OAAgB,GAAG,IAAI,EACvBC,UAAmB,KAChB;EACH,MAAMC,QAAQ,GAAG,CAACP,UAAU,CAACQ,eAAe,EAAEF,UAAU,CAAC;EAEzD,MAAMG,KAAK,GAAGX,gBAAgB,CAAC;IAC7BS,QAAQ;IACRG,OAAO,EAAE,MAAAA,CAAO;MAAEC,SAAS,GAAG;IAAyB,CAAC,KAAK;MAC3D,MAAMC,GAAG,GAAG,MAAMX,WAAW,EAAEY,IAAI,CACjCX,SAAS,CAACY,gBAAgB,CAACC,cAAc,EACzC;QACEC,KAAK,EAAEb,KAAK;QACZc,MAAM,EAAEN,SAAS;QACjB,IAAIL,UAAU,EAAEY,IAAI,CAAC,CAAC,IAAI;UAAEC,WAAW,EAAEb,UAAU,CAACY,IAAI,CAAC;QAAE,CAAC;MAC9D,CACF,CAAC;MACD,OAAON,GAAG,EAAEQ,IAAI;IAClB,CAAC;IACDC,gBAAgB,EAAEA,CAChBC,QAA8C,EAC9CC,QAAgD,KAC7C;MACH,MAAMC,WAAW,GAAGF,QAAQ,EAAEF,IAAI,IAAI,EAAE;MACxC,IAAII,WAAW,CAACC,MAAM,GAAGtB,KAAK,EAAE;QAC9B,OAAOuB,SAAS;MAClB;MACA,OAAOH,QAAQ,CAACE,MAAM,GAAGtB,KAAK;IAChC,CAAC;IACDwB,gBAAgB,EAAE,CAAC;IACnBtB,OAAO,EAAE,CAAC,CAACJ,WAAW,IAAII,OAAO;IACjCuB,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,CAAE;EAC5B,CAAC,CAAC;;EAEF;EACA,MAAMC,cAAc,GAAG9B,WAAW,CAAC,YAAY;IAC7C;IACA;IACA;IACA,OAAOU,KAAK,CAACqB,OAAO,CAAC;MACnBC,WAAW,EAAEA,CACXC,KAA2C,EAC3CC,KAAa,KACVA,KAAK,KAAK;IACjB,CAAC,CAAC;EACJ,CAAC,EAAE,CAACxB,KAAK,CAAC,CAAC;EAEX,OAAO;IACL,GAAGA,KAAK;IACRqB,OAAO,EAAED;EACX,CAAC;AACH,CAAC","ignoreList":[]}
@@ -5,7 +5,8 @@ export const ENDPOINTS = {
5
5
  getSuggestions: '/assistant-service/v1/app/chat/prompt-suggestions',
6
6
  getSessionById: sessionId => `/assistant-service/v1/app/chat/sessions/${sessionId}`,
7
7
  getStreamMessage: sessionId => `/assistant-service/v1/app/chat/sessions/${sessionId}/stream`,
8
- createSession: '/assistant-service/v1/app/chat/sessions'
8
+ createSession: '/assistant-service/v1/app/chat/sessions',
9
+ searchSessions: '/assistant-service/v1/app/chat/sessions/search'
9
10
  },
10
11
  uploaderService: {
11
12
  upload: '/uploader-service/v1/uploader/permanently'
@@ -1 +1 @@
1
- {"version":3,"names":["ENDPOINTS","assistantService","getSuggestions","getSessionById","sessionId","getStreamMessage","createSession","uploaderService","upload","productService","search"],"sourceRoot":"../../../src","sources":["services/endpoints.ts"],"mappings":";;AAAA,OAAO,MAAMA,SAAS,GAAG;EACvBC,gBAAgB,EAAE;IAChBC,cAAc,EAAE,mDAAmD;IACnEC,cAAc,EAAGC,SAAiB,IAChC,2CAA2CA,SAAS,EAAE;IACxDC,gBAAgB,EAAGD,SAAiB,IAClC,2CAA2CA,SAAS,SAAS;IAC/DE,aAAa,EAAE;EACjB,CAAC;EACDC,eAAe,EAAE;IACfC,MAAM,EAAE;EACV,CAAC;EACDC,cAAc,EAAE;IACdC,MAAM,EAAE;EACV;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["ENDPOINTS","assistantService","getSuggestions","getSessionById","sessionId","getStreamMessage","createSession","searchSessions","uploaderService","upload","productService","search"],"sourceRoot":"../../../src","sources":["services/endpoints.ts"],"mappings":";;AAAA,OAAO,MAAMA,SAAS,GAAG;EACvBC,gBAAgB,EAAE;IAChBC,cAAc,EAAE,mDAAmD;IACnEC,cAAc,EAAGC,SAAiB,IAChC,2CAA2CA,SAAS,EAAE;IACxDC,gBAAgB,EAAGD,SAAiB,IAClC,2CAA2CA,SAAS,SAAS;IAC/DE,aAAa,EAAE,yCAAyC;IACxDC,cAAc,EAAE;EAClB,CAAC;EACDC,eAAe,EAAE;IACfC,MAAM,EAAE;EACV,CAAC;EACDC,cAAc,EAAE;IACdC,MAAM,EAAE;EACV;AACF,CAAC","ignoreList":[]}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ import i18n from 'i18next';
4
+ import { initReactI18next } from 'react-i18next';
5
+ import vi from "./resources/vi.js";
6
+ if (!i18n.isInitialized) {
7
+ i18n.use(initReactI18next).init({
8
+ resources: {
9
+ vi: {
10
+ chatbot: vi
11
+ }
12
+ },
13
+ lng: 'vi',
14
+ // default
15
+ fallbackLng: 'vi',
16
+ interpolation: {
17
+ escapeValue: false
18
+ },
19
+ ns: ['chatbot'],
20
+ defaultNS: 'chatbot'
21
+ });
22
+ }
23
+
24
+ //@ts-ignore
25
+ const trans = (...args) => i18n.t(...args);
26
+ export { i18n };
27
+ export default trans;
28
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["i18n","initReactI18next","vi","isInitialized","use","init","resources","chatbot","lng","fallbackLng","interpolation","escapeValue","ns","defaultNS","trans","args","t"],"sourceRoot":"../../../src","sources":["translation/index.ts"],"mappings":";;AAAA,OAAOA,IAAI,MAAM,SAAS;AAC1B,SAASC,gBAAgB,QAAQ,eAAe;AAChD,OAAOC,EAAE,MAAM,mBAAgB;AAE/B,IAAI,CAACF,IAAI,CAACG,aAAa,EAAE;EACvBH,IAAI,CAACI,GAAG,CAACH,gBAAgB,CAAC,CAACI,IAAI,CAAC;IAC9BC,SAAS,EAAE;MACTJ,EAAE,EAAE;QAAEK,OAAO,EAAEL;MAAG;IACpB,CAAC;IACDM,GAAG,EAAE,IAAI;IAAE;IACXC,WAAW,EAAE,IAAI;IACjBC,aAAa,EAAE;MAAEC,WAAW,EAAE;IAAM,CAAC;IACrCC,EAAE,EAAE,CAAC,SAAS,CAAC;IACfC,SAAS,EAAE;EACb,CAAC,CAAC;AACJ;;AAEA;AACA,MAAMC,KAAK,GAAGA,CAAC,GAAGC,IAAI,KAAKf,IAAI,CAACgB,CAAC,CAAC,GAAGD,IAAI,CAAQ;AAEjD,SAASf,IAAI;AACb,eAAec,KAAK","ignoreList":[]}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ export default {
4
+ input_placeholder: 'Bạn muốn hỏi gì hôm nay?',
5
+ ai_answer_note: 'Lưu ý: Thông tin từ AI chỉ mang tính tham khảo, cần xác minh với chuyên gia hoặc nguồn uy tín.',
6
+ chat_empty_title: 'Bạn cần hỗ trợ gì hôm nay?',
7
+ chat_empty_description_1: 'Hãy đặt câu hỏi hoặc chia sẻ vấn đề của bạn!',
8
+ chat_empty_description_2: 'Những gợi ý dành cho bạn:',
9
+ photo_library: 'Thư viện ảnh',
10
+ camera: 'Chụp ảnh'
11
+ };
12
+ //# sourceMappingURL=vi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["input_placeholder","ai_answer_note","chat_empty_title","chat_empty_description_1","chat_empty_description_2","photo_library","camera"],"sourceRoot":"../../../../src","sources":["translation/resources/vi.ts"],"mappings":";;AAAA,eAAe;EACbA,iBAAiB,EAAE,0BAA0B;EAC7CC,cAAc,EACZ,gGAAgG;EAClGC,gBAAgB,EAAE,4BAA4B;EAC9CC,wBAAwB,EAAE,8CAA8C;EACxEC,wBAAwB,EAAE,2BAA2B;EACrDC,aAAa,EAAE,cAAc;EAC7BC,MAAM,EAAE;AACV,CAAC","ignoreList":[]}
@@ -58,9 +58,9 @@ const requestPermission = async (perm, requestMessage, disableToast = false) =>
58
58
  const requestReadPhotoPermission = async (disableToast = false) => {
59
59
  const perm = Platform.select({
60
60
  ios: PERMISSIONS.IOS.PHOTO_LIBRARY,
61
- default: PermissionsAndroid.PERMISSIONS.READ_EXTERNAL_STORAGE
61
+ default: Platform.Version >= 33 ? PermissionsAndroid.PERMISSIONS.READ_MEDIA_IMAGES : PermissionsAndroid.PERMISSIONS.READ_EXTERNAL_STORAGE
62
62
  });
63
- return Platform.Version >= 33 ? true : requestPermission(perm, 'Vui lòng cấp quyền truy cập vào "Thư viện ảnh" của bạn trước khi sử dụng tính năng này', disableToast);
63
+ return requestPermission(perm, 'Vui lòng cấp quyền truy cập vào "Thư viện ảnh" của bạn trước khi sử dụng tính năng này', disableToast);
64
64
  };
65
65
  const requestCameraPermission = async () => {
66
66
  const perm = Platform.select({
@@ -1 +1 @@
1
- {"version":3,"names":["pick","UIUtils","Platform","PermissionsAndroid","openCamera","openPicker","check","PERMISSIONS","request","pickerOptions","writeTempFile","mediaType","compressImageQuality","width","height","compressImageMaxHeight","compressImageMaxWidth","cropping","cropperCircleOverlay","waitAnimationEnd","includeExif","forceJpg","cropperChooseText","cropperCancelText","requestPermission","perm","requestMessage","disableToast","granted","OS","toast","open","title","result","err","requestReadPhotoPermission","select","ios","IOS","PHOTO_LIBRARY","default","READ_EXTERNAL_STORAGE","Version","requestCameraPermission","CAMERA","ANDROID","openImagePicker","options","Promise","resolve","isGranted","Error","value","error","undefined","openImageMultiplePicker","multiple","openCameraPicker","openDocumentPicker","mode"],"sourceRoot":"../../../src","sources":["utils/device.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["pick","UIUtils","Platform","PermissionsAndroid","openCamera","openPicker","check","PERMISSIONS","request","pickerOptions","writeTempFile","mediaType","compressImageQuality","width","height","compressImageMaxHeight","compressImageMaxWidth","cropping","cropperCircleOverlay","waitAnimationEnd","includeExif","forceJpg","cropperChooseText","cropperCancelText","requestPermission","perm","requestMessage","disableToast","granted","OS","toast","open","title","result","err","requestReadPhotoPermission","select","ios","IOS","PHOTO_LIBRARY","default","Version","READ_MEDIA_IMAGES","READ_EXTERNAL_STORAGE","requestCameraPermission","CAMERA","ANDROID","openImagePicker","options","Promise","resolve","isGranted","Error","value","error","undefined","openImageMultiplePicker","multiple","openCameraPicker","openDocumentPicker","mode"],"sourceRoot":"../../../src","sources":["utils/device.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ declare const DrawerContent: () => import("react/jsx-runtime").JSX.Element;
2
+ export default DrawerContent;
3
+ //# sourceMappingURL=DrawerContent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DrawerContent.d.ts","sourceRoot":"","sources":["../../../../../src/components/Drawer/DrawerContent.tsx"],"names":[],"mappings":"AAYA,QAAA,MAAM,aAAa,+CAwElB,CAAC;AASF,eAAe,aAAa,CAAC"}
@@ -0,0 +1,3 @@
1
+ declare const EmptyState: import("react").MemoExoticComponent<() => import("react/jsx-runtime").JSX.Element>;
2
+ export default EmptyState;
3
+ //# sourceMappingURL=EmptyState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmptyState.d.ts","sourceRoot":"","sources":["../../../../../src/components/Drawer/EmptyState.tsx"],"names":[],"mappings":"AAIA,QAAA,MAAM,UAAU,oFAQd,CAAC;AAaH,eAAe,UAAU,CAAC"}
@@ -0,0 +1,3 @@
1
+ declare const LoadingState: import("react").MemoExoticComponent<() => import("react/jsx-runtime").JSX.Element>;
2
+ export default LoadingState;
3
+ //# sourceMappingURL=LoadingState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoadingState.d.ts","sourceRoot":"","sources":["../../../../../src/components/Drawer/LoadingState.tsx"],"names":[],"mappings":"AAIA,QAAA,MAAM,YAAY,oFAQhB,CAAC;AAaH,eAAe,YAAY,CAAC"}
@@ -0,0 +1,6 @@
1
+ interface NewChatButtonProps {
2
+ onPress: () => void;
3
+ }
4
+ declare const NewChatButton: import("react").NamedExoticComponent<NewChatButtonProps>;
5
+ export default NewChatButton;
6
+ //# sourceMappingURL=NewChatButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NewChatButton.d.ts","sourceRoot":"","sources":["../../../../../src/components/Drawer/NewChatButton.tsx"],"names":[],"mappings":"AAGA,UAAU,kBAAkB;IAC1B,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,QAAA,MAAM,aAAa,0DAajB,CAAC;AAIH,eAAe,aAAa,CAAC"}
@@ -0,0 +1,7 @@
1
+ interface SearchInputProps {
2
+ value: string;
3
+ onChangeText: (text: string) => void;
4
+ }
5
+ declare const SearchInput: import("react").NamedExoticComponent<SearchInputProps>;
6
+ export default SearchInput;
7
+ //# sourceMappingURL=SearchInput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchInput.d.ts","sourceRoot":"","sources":["../../../../../src/components/Drawer/SearchInput.tsx"],"names":[],"mappings":"AAIA,UAAU,gBAAgB;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACtC;AAED,QAAA,MAAM,WAAW,wDAgBf,CAAC;AAWH,eAAe,WAAW,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { SessionSearchItem } from '../../types/dto';
2
+ interface SessionItemProps {
3
+ item: SessionSearchItem;
4
+ isActive: boolean;
5
+ onPress: (item: SessionSearchItem) => void;
6
+ }
7
+ declare const SessionItem: import("react").NamedExoticComponent<SessionItemProps>;
8
+ export default SessionItem;
9
+ //# sourceMappingURL=SessionItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SessionItem.d.ts","sourceRoot":"","sources":["../../../../../src/components/Drawer/SessionItem.tsx"],"names":[],"mappings":"AASA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,UAAU,gBAAgB;IACxB,IAAI,EAAE,iBAAiB,CAAC;IACxB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,CAAC;CAC5C;AAED,QAAA,MAAM,WAAW,wDAyBf,CAAC;AAyBH,eAAe,WAAW,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { SessionSearchItem } from '../../types/dto';
2
+ interface SessionListProps {
3
+ sessions: SessionSearchItem[];
4
+ activeSessionId?: string;
5
+ isLoading: boolean;
6
+ isRefetching: boolean;
7
+ hasNextPage: boolean;
8
+ isFetchingNextPage: boolean;
9
+ onPressSession: (item: SessionSearchItem) => void;
10
+ onRefresh: () => void;
11
+ onEndReached: () => void;
12
+ }
13
+ declare const SessionList: import("react").NamedExoticComponent<SessionListProps>;
14
+ export default SessionList;
15
+ //# sourceMappingURL=SessionList.d.ts.map