@projectcor/maia-components 2.42.0 → 2.42.1-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.
Files changed (192) hide show
  1. package/CHANGELOG.md +847 -0
  2. package/lib/App.js +44 -19
  3. package/lib/components/atoms/ApprovalBox/ApprovalBox.spec.js +135 -0
  4. package/lib/components/atoms/Checkbox/Checkbox.spec.js +27 -0
  5. package/lib/components/atoms/Chip/Chip.spec.js +82 -0
  6. package/lib/components/atoms/ContextMentionChip/ContextMentionChip.spec.js +29 -0
  7. package/lib/components/atoms/Fade/Fade.spec.js +31 -0
  8. package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.js +3 -1
  9. package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.styles.js +19 -7
  10. package/lib/components/atoms/MAIAButton/MAIAButton.spec.js +42 -0
  11. package/lib/components/atoms/MAIAInput/MAIAInput.spec.js +303 -0
  12. package/lib/components/atoms/ReasoningBlock/ReasoningBlock.js +7 -2
  13. package/lib/components/atoms/ReasoningBlock/ReasoningBlock.spec.js +69 -0
  14. package/lib/components/atoms/ReasoningBlock/ReasoningBlock.styles.js +10 -14
  15. package/lib/components/atoms/ReasoningBlock/ReasoningSteps.js +1 -1
  16. package/lib/components/atoms/ReasoningBlock/ReasoningSteps.spec.js +59 -0
  17. package/lib/components/atoms/ReasoningBlock/ReasoningTimeline.js +57 -37
  18. package/lib/components/atoms/ReasoningBlock/ReasoningTimeline.spec.js +58 -0
  19. package/lib/components/atoms/ReasoningBlock/reasoningLiveNarration.js +18 -12
  20. package/lib/components/atoms/ReasoningBlock/reasoningLiveNarration.spec.js +68 -0
  21. package/lib/components/atoms/ReasoningBlock/useCollapsibleHeight.js +52 -0
  22. package/lib/components/atoms/ReasoningBlock/useCollapsibleHeight.spec.js +90 -0
  23. package/lib/components/atoms/SkillsDropdown/SkillsDropdown.spec.js +107 -0
  24. package/lib/components/atoms/SlashCommandDropdown/SlashCommandDropdown.spec.js +85 -0
  25. package/lib/components/atoms/Switch/Switch.spec.js +41 -0
  26. package/lib/components/index.js +2 -1
  27. package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.spec.js +77 -0
  28. package/lib/components/molecules/AgentInputBlock/AgentInputBlockMessage.js +83 -0
  29. package/lib/components/molecules/AgentInputBlock/AgentInputBlockMessage.styles.js +30 -0
  30. package/lib/components/molecules/AgentInputBlock/index.js +5 -0
  31. package/lib/components/molecules/AgentInputBlock/resolveAgentInputBlock.js +52 -0
  32. package/lib/components/molecules/AgentInputBlock/resolveAgentInputBlock.spec.js +76 -0
  33. package/lib/components/molecules/AgentInputBlock/resolveLegacyContextSession.js +20 -0
  34. package/lib/components/molecules/AgentInputBlock/resolveLegacyContextSession.spec.js +34 -0
  35. package/lib/components/molecules/AgentInputBlock/useAgentChangeModelAction.js +36 -0
  36. package/lib/components/molecules/ChatAIContent/ChatAIContent.js +7 -3
  37. package/lib/components/molecules/ChatAIHome/ChatAIHome.js +21 -6
  38. package/lib/components/molecules/ChatAIHome/ChatAIHome.spec.js +246 -0
  39. package/lib/components/molecules/ChatAIMessages/ChatAICreateAgentActions.spec.js +104 -0
  40. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +9 -3
  41. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.spec.js +291 -0
  42. package/lib/components/molecules/ChatAIMessages/ChatAISuggestions.spec.js +46 -0
  43. package/lib/components/molecules/ChatAIMessages/newStyles.js +29 -26
  44. package/lib/components/molecules/ChatAIModal/ChatAIModal.helpers.js +8 -1
  45. package/lib/components/molecules/ChatAIModal/ChatAIModal.helpers.spec.js +148 -0
  46. package/lib/components/molecules/ChatAIModal/ChatAIModal.js +25 -8
  47. package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.js +15 -153
  48. package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.styles.js +2 -26
  49. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +65 -61
  50. package/lib/components/molecules/ChatAIModal/components/MaiaMinimizedPill/MaiaMinimizedPill.spec.js +37 -0
  51. package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.spec.js +128 -0
  52. package/lib/components/molecules/ChatFooter/ChatFooter.js +5 -3
  53. package/lib/components/molecules/ChatFooter/ChatFooter.spec.js +112 -0
  54. package/lib/components/molecules/ContextMentionInput/ContextMentionInput.spec.js +84 -0
  55. package/lib/components/molecules/MessageFeedback/MessageFeedback.spec.js +116 -0
  56. package/lib/components/molecules/Sidebar/Sidebar.js +41 -23
  57. package/lib/components/molecules/Sidebar/Sidebar.spec.js +234 -0
  58. package/lib/components/organisms/AbmAgentModal/AbmAgentModal.js +2 -2
  59. package/lib/components/organisms/AbmAgentModal/AbmAgentModal.spec.js +335 -0
  60. package/lib/components/organisms/AbmSkillModal/AbmSkillModal.spec.js +405 -0
  61. package/lib/components/organisms/ChatAI/ChatAI.spec.js +174 -0
  62. package/lib/components/organisms/ChatAIPage/ChatAIPage.js +525 -0
  63. package/lib/components/organisms/ChatAIPage/ChatAIPage.spec.js +231 -0
  64. package/lib/components/organisms/ChatAIPage/ChatAIPage.styles.js +16 -0
  65. package/lib/components/organisms/ChatAIPage/ChatAIPageHeader.js +253 -0
  66. package/lib/components/organisms/ChatAIPage/ChatAIPageHeader.spec.js +139 -0
  67. package/lib/components/organisms/ChatAIPage/ChatAIPageHeader.styles.js +13 -0
  68. package/lib/components/organisms/ChatAIPage/ChatAIPageHome.js +267 -0
  69. package/lib/components/organisms/ChatAIPage/ChatAIPageHome.spec.js +261 -0
  70. package/lib/components/organisms/ChatAIPage/ChatAIPageHome.styles.js +194 -0
  71. package/lib/components/organisms/ChatAIPage/ChatAIPageHomeActionCardSlot.js +105 -0
  72. package/lib/components/organisms/ChatAIPage/ChatAIPageHomeActionCardSlot.spec.js +73 -0
  73. package/lib/components/organisms/ChatAIPage/ChatAIPageHomeActionCards.skeleton.js +38 -0
  74. package/lib/components/organisms/ChatAIPage/getDaypart.js +9 -0
  75. package/lib/components/organisms/ChatAIPage/getDaypart.spec.js +19 -0
  76. package/lib/components/organisms/ChatAIPage/index.js +3 -0
  77. package/lib/components/organisms/DeleteAgentModal/DeleteAgentModal.spec.js +59 -0
  78. package/lib/components/organisms/DeleteQuestionModal/DeleteQuestionModal.spec.js +79 -0
  79. package/lib/components/organisms/EditQuestionModal/EditQuestionModal.spec.js +86 -0
  80. package/lib/constants/permissions/index.js +2 -2
  81. package/lib/constants/permissions/utils.js +4 -1
  82. package/lib/constants/permissions/utils.spec.js +34 -0
  83. package/lib/dev/DevMaiaPage.js +30 -0
  84. package/lib/dev/DevReasoningTimeline.js +11 -17
  85. package/lib/dev/Providers.js +5 -3
  86. package/lib/hooks/frequentlyUsedActionsCache.js +17 -0
  87. package/lib/hooks/frequentlyUsedActionsCache.spec.js +25 -0
  88. package/lib/hooks/useAgentModel/useCreateAgent.spec.js +95 -0
  89. package/lib/hooks/useAgentModel/useUpdateAgent.spec.js +96 -0
  90. package/lib/hooks/useCaretPosition.spec.js +58 -0
  91. package/lib/hooks/useChatManager/useChatManager.js +7 -7
  92. package/lib/hooks/useChatMessages/useChatMessages.spec.js +279 -0
  93. package/lib/hooks/useContinueLegacyContextInNewChat/index.js +2 -0
  94. package/lib/hooks/useContinueLegacyContextInNewChat/useContinueLegacyContextInNewChat.js +93 -0
  95. package/lib/hooks/useDebounce.spec.js +42 -0
  96. package/lib/hooks/useEvent.spec.js +40 -0
  97. package/lib/hooks/useFrequentlyUsedActions.js +63 -20
  98. package/lib/hooks/useIsMaiaPageRoute.js +26 -0
  99. package/lib/hooks/useIsMaiaPageRoute.spec.js +26 -0
  100. package/lib/hooks/useMaiaChatSessionMeta/index.js +2 -0
  101. package/lib/hooks/useMaiaChatSessionMeta/useMaiaChatSessionMeta.js +24 -0
  102. package/lib/hooks/useMentionAllowedTypes.spec.js +89 -0
  103. package/lib/hooks/useMinimizedPillNoveltyDot/useMinimizedPillNoveltyDot.spec.js +67 -0
  104. package/lib/hooks/useModal/useModal.spec.js +73 -0
  105. package/lib/hooks/useResize.spec.js +37 -0
  106. package/lib/hooks/useSkillsCatalog.spec.js +88 -0
  107. package/lib/hooks/useSnackBarManager/useSnackBarManager.spec.js +33 -0
  108. package/lib/hooks/useT.spec.js +20 -0
  109. package/lib/hooks/useToggle.spec.js +33 -0
  110. package/lib/index.js +5 -2
  111. package/lib/lang/br/index.js +26 -1
  112. package/lib/lang/en/index.js +26 -1
  113. package/lib/lang/es/index.js +26 -1
  114. package/lib/lang/fr/index.js +26 -1
  115. package/lib/services/maia/Access/updateAccess.spec.js +108 -0
  116. package/lib/services/maia/Actions/getFrequentlyUsedActions.js +1 -1
  117. package/lib/services/maia/Actions/getFrequentlyUsedActions.spec.js +56 -0
  118. package/lib/services/maia/Actions/getSlashCommands.spec.js +74 -0
  119. package/lib/services/maia/Agents/createAgent.spec.js +55 -0
  120. package/lib/services/maia/Agents/deleteAgent.spec.js +42 -0
  121. package/lib/services/maia/Agents/fetchAgentDetail.spec.js +108 -0
  122. package/lib/services/maia/Agents/getAgentById.spec.js +55 -0
  123. package/lib/services/maia/Agents/getAgentSuggestions.spec.js +82 -0
  124. package/lib/services/maia/Agents/setAgentToolGroups.spec.js +45 -0
  125. package/lib/services/maia/Agents/toggleFavorite.spec.js +47 -0
  126. package/lib/services/maia/Agents/updateAgent.spec.js +48 -0
  127. package/lib/services/maia/Chats/deleteChat.spec.js +31 -0
  128. package/lib/services/maia/Chats/getChatMessages.spec.js +150 -0
  129. package/lib/services/maia/Chats/getChatsByUserId.spec.js +149 -0
  130. package/lib/services/maia/Chats/markSessionAsRead.spec.js +30 -0
  131. package/lib/services/maia/Chats/patchChat.spec.js +41 -0
  132. package/lib/services/maia/Chats/wasHelpfulChat.spec.js +28 -0
  133. package/lib/services/maia/Faqs/getFrequentlyAskedQuestions.spec.js +58 -0
  134. package/lib/services/maia/Knowledge/delete.spec.js +45 -0
  135. package/lib/services/maia/Knowledge/download.spec.js +78 -0
  136. package/lib/services/maia/Knowledge/save.spec.js +58 -0
  137. package/lib/services/maia/Orchestrator/orchestrator.spec.js +72 -0
  138. package/lib/services/maia/RecentClients/getRecentClients.spec.js +52 -0
  139. package/lib/services/maia/RecentContexts/getRecentContexts.spec.js +83 -0
  140. package/lib/services/maia/RecentProjects/getRecentProjects.spec.js +82 -0
  141. package/lib/services/maia/RecentTasks/getRecentTasks.spec.js +63 -0
  142. package/lib/services/maia/RecentUsers/getRecentUsers.spec.js +82 -0
  143. package/lib/services/maia/Skills/createSkill.spec.js +68 -0
  144. package/lib/services/maia/Skills/deleteSkill.spec.js +42 -0
  145. package/lib/services/maia/Skills/generateSkill.spec.js +48 -0
  146. package/lib/services/maia/Skills/getSkills.spec.js +152 -0
  147. package/lib/services/maia/Skills/updateSkill.spec.js +62 -0
  148. package/lib/services/maia/client.spec.js +56 -0
  149. package/lib/services/utils/fetchCOR.spec.js +211 -0
  150. package/lib/services/utils/getCookie.spec.js +20 -0
  151. package/lib/store/chatsSidebarOptimistic.spec.js +120 -0
  152. package/lib/store/maiaLastChatPersistence.spec.js +22 -0
  153. package/lib/store/maiaPanelSessionPersistence.spec.js +62 -0
  154. package/lib/store/sessions/sessionStreamManager.js +40 -52
  155. package/lib/store/sessions/sessions.types.spec.js +16 -0
  156. package/lib/store/sessions/useSessionsStore.spec.js +135 -0
  157. package/lib/store/useChatsStore.spec.js +619 -0
  158. package/lib/store/useFaqsStore.spec.js +57 -0
  159. package/lib/styles/cascade.js +29 -3
  160. package/lib/styles/transitions.js +3 -1
  161. package/lib/types/global.d.js +1 -1
  162. package/lib/utils/agentDisplayName.spec.js +44 -0
  163. package/lib/utils/autoApproveStorage.spec.js +25 -0
  164. package/lib/utils/chatInputFiles.spec.js +39 -0
  165. package/lib/utils/contextMentionLabel.spec.js +13 -0
  166. package/lib/utils/contextMentionTriggers.spec.js +38 -0
  167. package/lib/utils/contextMentionTypeLabel.spec.js +14 -0
  168. package/lib/utils/corConnectorMentionTypes.spec.js +23 -0
  169. package/lib/utils/fileDownloadHelper.spec.js +67 -0
  170. package/lib/utils/formatQuickActionMessage.spec.js +27 -0
  171. package/lib/utils/formatUnreadCount.spec.js +12 -0
  172. package/lib/utils/getUnitFileSize.spec.js +18 -0
  173. package/lib/utils/hitlAnalytics.spec.js +100 -0
  174. package/lib/utils/hoursPlannerQuickActionType.js +74 -1
  175. package/lib/utils/hoursPlannerQuickActionType.spec.js +64 -0
  176. package/lib/utils/maiaPageRoute.js +24 -0
  177. package/lib/utils/maiaPageRoute.spec.js +23 -0
  178. package/lib/utils/mapBackendLang.spec.js +19 -0
  179. package/lib/utils/navigateContextEntity.spec.js +50 -0
  180. package/lib/utils/normalizeAgentConnectors.spec.js +89 -0
  181. package/lib/utils/orchestratorSubagents.spec.js +32 -0
  182. package/lib/utils/reasoningMappers.spec.js +103 -0
  183. package/lib/utils/retryCompletion.spec.js +99 -0
  184. package/lib/utils/skillContentSize.spec.js +13 -0
  185. package/lib/utils/slashCommandMarker.spec.js +43 -0
  186. package/lib/utils/sortManagerHoursHomeFuas.spec.js +51 -0
  187. package/lib/utils/sseStreamContent.spec.js +31 -0
  188. package/lib/utils/streamActivityMessages.js +32 -19
  189. package/lib/utils/streamActivityMessages.spec.js +131 -0
  190. package/lib/utils/validateTrimmedFields.spec.js +26 -0
  191. package/package.json +1 -1
  192. package/README.md +0 -2
@@ -0,0 +1,31 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
3
+ import { lastFetch, mockJsonOk } from '../../../test/mockFetch';
4
+ import { deleteChat } from './deleteChat';
5
+ describe('deleteChat', function () {
6
+ it('deletes the session and returns ok', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
7
+ var request;
8
+ return _regeneratorRuntime.wrap(function (_context) {
9
+ while (1) switch (_context.prev = _context.next) {
10
+ case 0:
11
+ mockJsonOk({});
12
+ _context.next = 1;
13
+ return expect(deleteChat({
14
+ chatId: 's1',
15
+ userId: 'u1'
16
+ })).resolves.toBe(true);
17
+ case 1:
18
+ request = lastFetch();
19
+ expect(request.url).toBe('https://maia.test/sessions/s1');
20
+ expect(request.method).toBe('DELETE');
21
+ expect(request.parsedBody).toEqual({
22
+ user_id: 'u1'
23
+ });
24
+ case 2:
25
+ case "end":
26
+ return _context.stop();
27
+ }
28
+ }, _callee);
29
+ })));
30
+ });
31
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsYXN0RmV0Y2giLCJtb2NrSnNvbk9rIiwiZGVsZXRlQ2hhdCIsImRlc2NyaWJlIiwiaXQiLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJtYXJrIiwiX2NhbGxlZSIsInJlcXVlc3QiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsImV4cGVjdCIsImNoYXRJZCIsInVzZXJJZCIsInJlc29sdmVzIiwidG9CZSIsInVybCIsIm1ldGhvZCIsInBhcnNlZEJvZHkiLCJ0b0VxdWFsIiwidXNlcl9pZCIsInN0b3AiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2VydmljZXMvbWFpYS9DaGF0cy9kZWxldGVDaGF0LnNwZWMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbGFzdEZldGNoLCBtb2NrSnNvbk9rIH0gZnJvbSAnLi4vLi4vLi4vdGVzdC9tb2NrRmV0Y2gnXG5pbXBvcnQgeyBkZWxldGVDaGF0IH0gZnJvbSAnLi9kZWxldGVDaGF0J1xuXG5kZXNjcmliZSgnZGVsZXRlQ2hhdCcsICgpID0+IHtcbiAgaXQoJ2RlbGV0ZXMgdGhlIHNlc3Npb24gYW5kIHJldHVybnMgb2snLCBhc3luYyAoKSA9PiB7XG4gICAgbW9ja0pzb25Payh7fSlcblxuICAgIGF3YWl0IGV4cGVjdChkZWxldGVDaGF0KHsgY2hhdElkOiAnczEnLCB1c2VySWQ6ICd1MScgfSkpLnJlc29sdmVzLnRvQmUodHJ1ZSlcblxuICAgIGNvbnN0IHJlcXVlc3QgPSBsYXN0RmV0Y2goKVxuICAgIGV4cGVjdChyZXF1ZXN0LnVybCkudG9CZSgnaHR0cHM6Ly9tYWlhLnRlc3Qvc2Vzc2lvbnMvczEnKVxuICAgIGV4cGVjdChyZXF1ZXN0Lm1ldGhvZCkudG9CZSgnREVMRVRFJylcbiAgICBleHBlY3QocmVxdWVzdC5wYXJzZWRCb2R5KS50b0VxdWFsKHsgdXNlcl9pZDogJ3UxJyB9KVxuICB9KVxufSlcbiJdLCJtYXBwaW5ncyI6Ijs7QUFBQSxTQUFTQSxTQUFTLEVBQUVDLFVBQVUsUUFBUSx5QkFBeUI7QUFDL0QsU0FBU0MsVUFBVSxRQUFRLGNBQWM7QUFFekNDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsWUFBTTtFQUMzQkMsRUFBRSxDQUFDLG9DQUFvQyxlQUFBQyxpQkFBQSxjQUFBQyxtQkFBQSxDQUFBQyxJQUFBLENBQUUsU0FBQUMsUUFBQTtJQUFBLElBQUFDLE9BQUE7SUFBQSxPQUFBSCxtQkFBQSxDQUFBSSxJQUFBLFdBQUFDLFFBQUE7TUFBQSxrQkFBQUEsUUFBQSxDQUFBQyxJQUFBLEdBQUFELFFBQUEsQ0FBQUUsSUFBQTtRQUFBO1VBQ3ZDWixVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7VUFBQVUsUUFBQSxDQUFBRSxJQUFBO1VBQUEsT0FFUkMsTUFBTSxDQUFDWixVQUFVLENBQUM7WUFBRWEsTUFBTSxFQUFFLElBQUk7WUFBRUMsTUFBTSxFQUFFO1VBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQ0MsUUFBUSxDQUFDQyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQUE7VUFFdEVULE9BQU8sR0FBR1QsU0FBUyxDQUFDLENBQUM7VUFDM0JjLE1BQU0sQ0FBQ0wsT0FBTyxDQUFDVSxHQUFHLENBQUMsQ0FBQ0QsSUFBSSxDQUFDLCtCQUErQixDQUFDO1VBQ3pESixNQUFNLENBQUNMLE9BQU8sQ0FBQ1csTUFBTSxDQUFDLENBQUNGLElBQUksQ0FBQyxRQUFRLENBQUM7VUFDckNKLE1BQU0sQ0FBQ0wsT0FBTyxDQUFDWSxVQUFVLENBQUMsQ0FBQ0MsT0FBTyxDQUFDO1lBQUVDLE9BQU8sRUFBRTtVQUFLLENBQUMsQ0FBQztRQUFBO1FBQUE7VUFBQSxPQUFBWixRQUFBLENBQUFhLElBQUE7TUFBQTtJQUFBLEdBQUFoQixPQUFBO0VBQUEsQ0FDdEQsR0FBQztBQUNKLENBQUMsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
@@ -0,0 +1,150 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
3
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
4
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
5
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
6
+ /* eslint-disable camelcase */
7
+ import { lastFetch, mockJsonOk } from '../../../test/mockFetch';
8
+ import { getChatMessages } from './getChatMessages';
9
+ var currentUser = {
10
+ id: 'u1',
11
+ name: 'Lau'
12
+ };
13
+ var message = {
14
+ agent_id: '10',
15
+ agent_name: 'MAIA',
16
+ agent_type: 'orchestrator',
17
+ emoji: '🤖',
18
+ user_id: 'u1',
19
+ answer: 'Hola',
20
+ date: '2026-01-01',
21
+ timestamp: '2026-01-01T12:00:00.000Z',
22
+ question: 'Qué hay?',
23
+ was_helpful: null,
24
+ message_id: 'm1',
25
+ memory_session_id: 'mem1',
26
+ project_metadata: {
27
+ id: '42',
28
+ name: 'Proyecto',
29
+ is_deleted: true
30
+ },
31
+ task_metadata: {
32
+ id: 7,
33
+ name: 'Tarea'
34
+ }
35
+ };
36
+ describe('getChatMessages', function () {
37
+ it('maps messages and extracts project/task metadata', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
38
+ var result;
39
+ return _regeneratorRuntime.wrap(function (_context) {
40
+ while (1) switch (_context.prev = _context.next) {
41
+ case 0:
42
+ mockJsonOk({
43
+ data: [message],
44
+ next_offset: 20,
45
+ has_more: true,
46
+ has_agent_access: true,
47
+ has_agent_permission: true,
48
+ agent_type: 'orchestrator',
49
+ agent_entity: 'project'
50
+ });
51
+ _context.next = 1;
52
+ return getChatMessages({
53
+ chatId: 's1',
54
+ offset: 20,
55
+ lang: 'es',
56
+ currentUser: currentUser,
57
+ cancelledText: 'Cancelado'
58
+ });
59
+ case 1:
60
+ result = _context.sent;
61
+ expect(lastFetch().url).toBe('https://maia.test/sessions/s1?limit=20&offset=20&lang=es');
62
+ expect(result.hasMore).toBe(true);
63
+ expect(result.nextItem).toBe(20);
64
+ expect(result.projectId).toBe(42);
65
+ expect(result.projectName).toBe('Proyecto');
66
+ expect(result.projectDeleted).toEqual({
67
+ name: 'Proyecto'
68
+ });
69
+ expect(result.taskId).toBe(7);
70
+ expect(result.taskName).toBe('Tarea');
71
+ expect(result.agentType).toBe('orchestrator');
72
+ expect(result.items).toHaveLength(2);
73
+ expect(result.items[0].message).toBe('Qué hay?');
74
+ expect(result.items[1].message).toBe('Hola');
75
+ case 2:
76
+ case "end":
77
+ return _context.stop();
78
+ }
79
+ }, _callee);
80
+ })));
81
+ it('exposes a deleted agent when a message marks it', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
82
+ var result;
83
+ return _regeneratorRuntime.wrap(function (_context2) {
84
+ while (1) switch (_context2.prev = _context2.next) {
85
+ case 0:
86
+ mockJsonOk({
87
+ data: [_objectSpread(_objectSpread({}, message), {}, {
88
+ agent_is_deleted: true,
89
+ agent_deleted_at: '2026-02-01'
90
+ })],
91
+ next_offset: 0,
92
+ has_more: false
93
+ });
94
+ _context2.next = 1;
95
+ return getChatMessages({
96
+ chatId: 's1',
97
+ currentUser: currentUser
98
+ });
99
+ case 1:
100
+ result = _context2.sent;
101
+ expect(result.agentDeleted).toEqual({
102
+ id: '10',
103
+ name: 'MAIA',
104
+ emoji: '🤖',
105
+ deletedAt: '2026-02-01'
106
+ });
107
+ case 2:
108
+ case "end":
109
+ return _context2.stop();
110
+ }
111
+ }, _callee2);
112
+ })));
113
+ it('builds agentNoPermission from the first message', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {
114
+ var result;
115
+ return _regeneratorRuntime.wrap(function (_context3) {
116
+ while (1) switch (_context3.prev = _context3.next) {
117
+ case 0:
118
+ mockJsonOk({
119
+ data: [message],
120
+ next_offset: 0,
121
+ has_more: false,
122
+ connectors: [{
123
+ group: 'cor',
124
+ slugs: ['tasks']
125
+ }]
126
+ });
127
+ _context3.next = 1;
128
+ return getChatMessages({
129
+ chatId: 's1',
130
+ currentUser: currentUser
131
+ });
132
+ case 1:
133
+ result = _context3.sent;
134
+ expect(result.agentNoPermission).toMatchObject({
135
+ id: '10',
136
+ name: 'MAIA',
137
+ type: 'orchestrator',
138
+ connectors: [{
139
+ group: 'cor',
140
+ slugs: ['tasks']
141
+ }]
142
+ });
143
+ case 2:
144
+ case "end":
145
+ return _context3.stop();
146
+ }
147
+ }, _callee3);
148
+ })));
149
+ });
150
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsYXN0RmV0Y2giLCJtb2NrSnNvbk9rIiwiZ2V0Q2hhdE1lc3NhZ2VzIiwiY3VycmVudFVzZXIiLCJpZCIsIm5hbWUiLCJtZXNzYWdlIiwiYWdlbnRfaWQiLCJhZ2VudF9uYW1lIiwiYWdlbnRfdHlwZSIsImVtb2ppIiwidXNlcl9pZCIsImFuc3dlciIsImRhdGUiLCJ0aW1lc3RhbXAiLCJxdWVzdGlvbiIsIndhc19oZWxwZnVsIiwibWVzc2FnZV9pZCIsIm1lbW9yeV9zZXNzaW9uX2lkIiwicHJvamVjdF9tZXRhZGF0YSIsImlzX2RlbGV0ZWQiLCJ0YXNrX21ldGFkYXRhIiwiZGVzY3JpYmUiLCJpdCIsIl9hc3luY1RvR2VuZXJhdG9yIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwicmVzdWx0Iiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJkYXRhIiwibmV4dF9vZmZzZXQiLCJoYXNfbW9yZSIsImhhc19hZ2VudF9hY2Nlc3MiLCJoYXNfYWdlbnRfcGVybWlzc2lvbiIsImFnZW50X2VudGl0eSIsImNoYXRJZCIsIm9mZnNldCIsImxhbmciLCJjYW5jZWxsZWRUZXh0Iiwic2VudCIsImV4cGVjdCIsInVybCIsInRvQmUiLCJoYXNNb3JlIiwibmV4dEl0ZW0iLCJwcm9qZWN0SWQiLCJwcm9qZWN0TmFtZSIsInByb2plY3REZWxldGVkIiwidG9FcXVhbCIsInRhc2tJZCIsInRhc2tOYW1lIiwiYWdlbnRUeXBlIiwiaXRlbXMiLCJ0b0hhdmVMZW5ndGgiLCJzdG9wIiwiX2NhbGxlZTIiLCJfY29udGV4dDIiLCJfb2JqZWN0U3ByZWFkIiwiYWdlbnRfaXNfZGVsZXRlZCIsImFnZW50X2RlbGV0ZWRfYXQiLCJhZ2VudERlbGV0ZWQiLCJkZWxldGVkQXQiLCJfY2FsbGVlMyIsIl9jb250ZXh0MyIsImNvbm5lY3RvcnMiLCJncm91cCIsInNsdWdzIiwiYWdlbnROb1Blcm1pc3Npb24iLCJ0b01hdGNoT2JqZWN0IiwidHlwZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9tYWlhL0NoYXRzL2dldENoYXRNZXNzYWdlcy5zcGVjLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGNhbWVsY2FzZSAqL1xuaW1wb3J0IHsgbGFzdEZldGNoLCBtb2NrSnNvbk9rIH0gZnJvbSAnLi4vLi4vLi4vdGVzdC9tb2NrRmV0Y2gnXG5pbXBvcnQgeyBnZXRDaGF0TWVzc2FnZXMgfSBmcm9tICcuL2dldENoYXRNZXNzYWdlcydcblxuY29uc3QgY3VycmVudFVzZXIgPSB7IGlkOiAndTEnLCBuYW1lOiAnTGF1JyB9XG5cbmNvbnN0IG1lc3NhZ2UgPSB7XG4gIGFnZW50X2lkOiAnMTAnLFxuICBhZ2VudF9uYW1lOiAnTUFJQScsXG4gIGFnZW50X3R5cGU6ICdvcmNoZXN0cmF0b3InLFxuICBlbW9qaTogJ/CfpJYnLFxuICB1c2VyX2lkOiAndTEnLFxuICBhbnN3ZXI6ICdIb2xhJyxcbiAgZGF0ZTogJzIwMjYtMDEtMDEnLFxuICB0aW1lc3RhbXA6ICcyMDI2LTAxLTAxVDEyOjAwOjAwLjAwMFonLFxuICBxdWVzdGlvbjogJ1F1w6kgaGF5PycsXG4gIHdhc19oZWxwZnVsOiBudWxsLFxuICBtZXNzYWdlX2lkOiAnbTEnLFxuICBtZW1vcnlfc2Vzc2lvbl9pZDogJ21lbTEnLFxuICBwcm9qZWN0X21ldGFkYXRhOiB7IGlkOiAnNDInLCBuYW1lOiAnUHJveWVjdG8nLCBpc19kZWxldGVkOiB0cnVlIH0sXG4gIHRhc2tfbWV0YWRhdGE6IHsgaWQ6IDcsIG5hbWU6ICdUYXJlYScgfSxcbn1cblxuZGVzY3JpYmUoJ2dldENoYXRNZXNzYWdlcycsICgpID0+IHtcbiAgaXQoJ21hcHMgbWVzc2FnZXMgYW5kIGV4dHJhY3RzIHByb2plY3QvdGFzayBtZXRhZGF0YScsIGFzeW5jICgpID0+IHtcbiAgICBtb2NrSnNvbk9rKHtcbiAgICAgIGRhdGE6IFttZXNzYWdlXSxcbiAgICAgIG5leHRfb2Zmc2V0OiAyMCxcbiAgICAgIGhhc19tb3JlOiB0cnVlLFxuICAgICAgaGFzX2FnZW50X2FjY2VzczogdHJ1ZSxcbiAgICAgIGhhc19hZ2VudF9wZXJtaXNzaW9uOiB0cnVlLFxuICAgICAgYWdlbnRfdHlwZTogJ29yY2hlc3RyYXRvcicsXG4gICAgICBhZ2VudF9lbnRpdHk6ICdwcm9qZWN0JyxcbiAgICB9KVxuXG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZ2V0Q2hhdE1lc3NhZ2VzKHtcbiAgICAgIGNoYXRJZDogJ3MxJyxcbiAgICAgIG9mZnNldDogMjAsXG4gICAgICBsYW5nOiAnZXMnLFxuICAgICAgY3VycmVudFVzZXIsXG4gICAgICBjYW5jZWxsZWRUZXh0OiAnQ2FuY2VsYWRvJyxcbiAgICB9KVxuXG4gICAgZXhwZWN0KGxhc3RGZXRjaCgpLnVybCkudG9CZSgnaHR0cHM6Ly9tYWlhLnRlc3Qvc2Vzc2lvbnMvczE/bGltaXQ9MjAmb2Zmc2V0PTIwJmxhbmc9ZXMnKVxuICAgIGV4cGVjdChyZXN1bHQuaGFzTW9yZSkudG9CZSh0cnVlKVxuICAgIGV4cGVjdChyZXN1bHQubmV4dEl0ZW0pLnRvQmUoMjApXG4gICAgZXhwZWN0KHJlc3VsdC5wcm9qZWN0SWQpLnRvQmUoNDIpXG4gICAgZXhwZWN0KHJlc3VsdC5wcm9qZWN0TmFtZSkudG9CZSgnUHJveWVjdG8nKVxuICAgIGV4cGVjdChyZXN1bHQucHJvamVjdERlbGV0ZWQpLnRvRXF1YWwoeyBuYW1lOiAnUHJveWVjdG8nIH0pXG4gICAgZXhwZWN0KHJlc3VsdC50YXNrSWQpLnRvQmUoNylcbiAgICBleHBlY3QocmVzdWx0LnRhc2tOYW1lKS50b0JlKCdUYXJlYScpXG4gICAgZXhwZWN0KHJlc3VsdC5hZ2VudFR5cGUpLnRvQmUoJ29yY2hlc3RyYXRvcicpXG4gICAgZXhwZWN0KHJlc3VsdC5pdGVtcykudG9IYXZlTGVuZ3RoKDIpXG4gICAgZXhwZWN0KHJlc3VsdC5pdGVtc1swXS5tZXNzYWdlKS50b0JlKCdRdcOpIGhheT8nKVxuICAgIGV4cGVjdChyZXN1bHQuaXRlbXNbMV0ubWVzc2FnZSkudG9CZSgnSG9sYScpXG4gIH0pXG5cbiAgaXQoJ2V4cG9zZXMgYSBkZWxldGVkIGFnZW50IHdoZW4gYSBtZXNzYWdlIG1hcmtzIGl0JywgYXN5bmMgKCkgPT4ge1xuICAgIG1vY2tKc29uT2soe1xuICAgICAgZGF0YTogW1xuICAgICAgICB7XG4gICAgICAgICAgLi4ubWVzc2FnZSxcbiAgICAgICAgICBhZ2VudF9pc19kZWxldGVkOiB0cnVlLFxuICAgICAgICAgIGFnZW50X2RlbGV0ZWRfYXQ6ICcyMDI2LTAyLTAxJyxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBuZXh0X29mZnNldDogMCxcbiAgICAgIGhhc19tb3JlOiBmYWxzZSxcbiAgICB9KVxuXG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZ2V0Q2hhdE1lc3NhZ2VzKHsgY2hhdElkOiAnczEnLCBjdXJyZW50VXNlciB9KVxuXG4gICAgZXhwZWN0KHJlc3VsdC5hZ2VudERlbGV0ZWQpLnRvRXF1YWwoe1xuICAgICAgaWQ6ICcxMCcsXG4gICAgICBuYW1lOiAnTUFJQScsXG4gICAgICBlbW9qaTogJ/CfpJYnLFxuICAgICAgZGVsZXRlZEF0OiAnMjAyNi0wMi0wMScsXG4gICAgfSlcbiAgfSlcblxuICBpdCgnYnVpbGRzIGFnZW50Tm9QZXJtaXNzaW9uIGZyb20gdGhlIGZpcnN0IG1lc3NhZ2UnLCBhc3luYyAoKSA9PiB7XG4gICAgbW9ja0pzb25Payh7XG4gICAgICBkYXRhOiBbbWVzc2FnZV0sXG4gICAgICBuZXh0X29mZnNldDogMCxcbiAgICAgIGhhc19tb3JlOiBmYWxzZSxcbiAgICAgIGNvbm5lY3RvcnM6IFt7IGdyb3VwOiAnY29yJywgc2x1Z3M6IFsndGFza3MnXSB9XSxcbiAgICB9KVxuXG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZ2V0Q2hhdE1lc3NhZ2VzKHsgY2hhdElkOiAnczEnLCBjdXJyZW50VXNlciB9KVxuXG4gICAgZXhwZWN0KHJlc3VsdC5hZ2VudE5vUGVybWlzc2lvbikudG9NYXRjaE9iamVjdCh7XG4gICAgICBpZDogJzEwJyxcbiAgICAgIG5hbWU6ICdNQUlBJyxcbiAgICAgIHR5cGU6ICdvcmNoZXN0cmF0b3InLFxuICAgICAgY29ubmVjdG9yczogW3sgZ3JvdXA6ICdjb3InLCBzbHVnczogWyd0YXNrcyddIH1dLFxuICAgIH0pXG4gIH0pXG59KVxuIl0sIm1hcHBpbmdzIjoiOzs7OztBQUFBO0FBQ0EsU0FBU0EsU0FBUyxFQUFFQyxVQUFVLFFBQVEseUJBQXlCO0FBQy9ELFNBQVNDLGVBQWUsUUFBUSxtQkFBbUI7QUFFbkQsSUFBTUMsV0FBVyxHQUFHO0VBQUVDLEVBQUUsRUFBRSxJQUFJO0VBQUVDLElBQUksRUFBRTtBQUFNLENBQUM7QUFFN0MsSUFBTUMsT0FBTyxHQUFHO0VBQ2RDLFFBQVEsRUFBRSxJQUFJO0VBQ2RDLFVBQVUsRUFBRSxNQUFNO0VBQ2xCQyxVQUFVLEVBQUUsY0FBYztFQUMxQkMsS0FBSyxFQUFFLElBQUk7RUFDWEMsT0FBTyxFQUFFLElBQUk7RUFDYkMsTUFBTSxFQUFFLE1BQU07RUFDZEMsSUFBSSxFQUFFLFlBQVk7RUFDbEJDLFNBQVMsRUFBRSwwQkFBMEI7RUFDckNDLFFBQVEsRUFBRSxVQUFVO0VBQ3BCQyxXQUFXLEVBQUUsSUFBSTtFQUNqQkMsVUFBVSxFQUFFLElBQUk7RUFDaEJDLGlCQUFpQixFQUFFLE1BQU07RUFDekJDLGdCQUFnQixFQUFFO0lBQUVmLEVBQUUsRUFBRSxJQUFJO0lBQUVDLElBQUksRUFBRSxVQUFVO0lBQUVlLFVBQVUsRUFBRTtFQUFLLENBQUM7RUFDbEVDLGFBQWEsRUFBRTtJQUFFakIsRUFBRSxFQUFFLENBQUM7SUFBRUMsSUFBSSxFQUFFO0VBQVE7QUFDeEMsQ0FBQztBQUVEaUIsUUFBUSxDQUFDLGlCQUFpQixFQUFFLFlBQU07RUFDaENDLEVBQUUsQ0FBQyxrREFBa0QsZUFBQUMsaUJBQUEsY0FBQUMsbUJBQUEsQ0FBQUMsSUFBQSxDQUFFLFNBQUFDLFFBQUE7SUFBQSxJQUFBQyxNQUFBO0lBQUEsT0FB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
@@ -0,0 +1,149 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
3
+ /* eslint-disable camelcase */
4
+ import { lastFetch, mockJsonOk } from '../../../test/mockFetch';
5
+ import { getChatsByUserId } from './getChatsByUserId';
6
+ var flags = window;
7
+ var resetFlags = function resetFlags() {
8
+ delete flags.MAIA_CHAT_AI_FEATURE_ACCESS;
9
+ delete flags.MAIA_CHAT_AI_FEATURE_ACCESS_MULTI_AGENTS;
10
+ };
11
+ describe('getChatsByUserId', function () {
12
+ afterEach(resetFlags);
13
+ var session = {
14
+ session_external_id: 's1',
15
+ title: null,
16
+ last_question: 'Hola',
17
+ last_question_date: '2026-01-02T10:00:00.000Z',
18
+ agent_name: 'MAIA',
19
+ agent_id: 9,
20
+ agent_type: 'orchestrator',
21
+ emoji: '🤖',
22
+ id: 1,
23
+ is_read: false,
24
+ attachments: [],
25
+ project_metadata: {
26
+ id: 3,
27
+ name: 'Proyecto'
28
+ },
29
+ client_metadata: {
30
+ id: 8,
31
+ name: 'Cliente'
32
+ }
33
+ };
34
+ it('maps sessions and unread count', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
35
+ var result;
36
+ return _regeneratorRuntime.wrap(function (_context) {
37
+ while (1) switch (_context.prev = _context.next) {
38
+ case 0:
39
+ mockJsonOk({
40
+ data: [session],
41
+ has_more: true,
42
+ next_offset: 20,
43
+ unread_count: 4
44
+ });
45
+ _context.next = 1;
46
+ return getChatsByUserId({
47
+ limit: 10,
48
+ offset: 5,
49
+ lang: 'es',
50
+ agent: {
51
+ id: '42',
52
+ name: 'Custom',
53
+ emoji: '✨',
54
+ type: 'custom'
55
+ }
56
+ });
57
+ case 1:
58
+ result = _context.sent;
59
+ expect(lastFetch().url).toBe('https://maia.test/sessions?limit=10&offset=5&lang=es');
60
+ expect(lastFetch().headers.get('X-Agent-Id')).toBe('42');
61
+ expect(result.hasMore).toBe(true);
62
+ expect(result.nextItem).toBe(20);
63
+ expect(result.unreadCount).toBe(4);
64
+ expect(result.items[0]).toMatchObject({
65
+ id: 's1',
66
+ title: 'Hola',
67
+ agent: 'MAIA',
68
+ agentId: 9,
69
+ isRead: false,
70
+ projectId: 3,
71
+ clientName: 'Cliente'
72
+ });
73
+ expect(result.items[0].date).toEqual(new Date('2026-01-02T10:00:00.000Z'));
74
+ case 2:
75
+ case "end":
76
+ return _context.stop();
77
+ }
78
+ }, _callee);
79
+ })));
80
+ it('adds agent_type=orchestrator when only the clone flag is on', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
81
+ return _regeneratorRuntime.wrap(function (_context2) {
82
+ while (1) switch (_context2.prev = _context2.next) {
83
+ case 0:
84
+ flags.MAIA_CHAT_AI_FEATURE_ACCESS = true;
85
+ mockJsonOk({
86
+ data: [],
87
+ has_more: false,
88
+ next_offset: null
89
+ });
90
+ _context2.next = 1;
91
+ return getChatsByUserId({
92
+ limit: 7
93
+ });
94
+ case 1:
95
+ expect(lastFetch().url).toContain('agent_type=orchestrator');
96
+ case 2:
97
+ case "end":
98
+ return _context2.stop();
99
+ }
100
+ }, _callee2);
101
+ })));
102
+ it('adds agent_type=custom when only the multi-agents flag is on', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {
103
+ return _regeneratorRuntime.wrap(function (_context3) {
104
+ while (1) switch (_context3.prev = _context3.next) {
105
+ case 0:
106
+ flags.MAIA_CHAT_AI_FEATURE_ACCESS_MULTI_AGENTS = true;
107
+ mockJsonOk({
108
+ data: [],
109
+ has_more: false,
110
+ next_offset: null
111
+ });
112
+ _context3.next = 1;
113
+ return getChatsByUserId({
114
+ limit: 7
115
+ });
116
+ case 1:
117
+ expect(lastFetch().url).toContain('agent_type=custom');
118
+ case 2:
119
+ case "end":
120
+ return _context3.stop();
121
+ }
122
+ }, _callee3);
123
+ })));
124
+ it('omits agent_type when both flags are on', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee4() {
125
+ return _regeneratorRuntime.wrap(function (_context4) {
126
+ while (1) switch (_context4.prev = _context4.next) {
127
+ case 0:
128
+ flags.MAIA_CHAT_AI_FEATURE_ACCESS = true;
129
+ flags.MAIA_CHAT_AI_FEATURE_ACCESS_MULTI_AGENTS = true;
130
+ mockJsonOk({
131
+ data: [],
132
+ has_more: false,
133
+ next_offset: null
134
+ });
135
+ _context4.next = 1;
136
+ return getChatsByUserId({
137
+ limit: 7
138
+ });
139
+ case 1:
140
+ expect(lastFetch().url).not.toContain('agent_type=');
141
+ expect(lastFetch().headers.get('X-Agent-Id')).toBe('1');
142
+ case 2:
143
+ case "end":
144
+ return _context4.stop();
145
+ }
146
+ }, _callee4);
147
+ })));
148
+ });
149
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsYXN0RmV0Y2giLCJtb2NrSnNvbk9rIiwiZ2V0Q2hhdHNCeVVzZXJJZCIsImZsYWdzIiwid2luZG93IiwicmVzZXRGbGFncyIsIk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTUyIsIk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFMiLCJkZXNjcmliZSIsImFmdGVyRWFjaCIsInNlc3Npb24iLCJzZXNzaW9uX2V4dGVybmFsX2lkIiwidGl0bGUiLCJsYXN0X3F1ZXN0aW9uIiwibGFzdF9xdWVzdGlvbl9kYXRlIiwiYWdlbnRfbmFtZSIsImFnZW50X2lkIiwiYWdlbnRfdHlwZSIsImVtb2ppIiwiaWQiLCJpc19yZWFkIiwiYXR0YWNobWVudHMiLCJwcm9qZWN0X21ldGFkYXRhIiwibmFtZSIsImNsaWVudF9tZXRhZGF0YSIsIml0IiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwibWFyayIsIl9jYWxsZWUiLCJyZXN1bHQiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsImRhdGEiLCJoYXNfbW9yZSIsIm5leHRfb2Zmc2V0IiwidW5yZWFkX2NvdW50IiwibGltaXQiLCJvZmZzZXQiLCJsYW5nIiwiYWdlbnQiLCJ0eXBlIiwic2VudCIsImV4cGVjdCIsInVybCIsInRvQmUiLCJoZWFkZXJzIiwiZ2V0IiwiaGFzTW9yZSIsIm5leHRJdGVtIiwidW5yZWFkQ291bnQiLCJpdGVtcyIsInRvTWF0Y2hPYmplY3QiLCJhZ2VudElkIiwiaXNSZWFkIiwicHJvamVjdElkIiwiY2xpZW50TmFtZSIsImRhdGUiLCJ0b0VxdWFsIiwiRGF0ZSIsInN0b3AiLCJfY2FsbGVlMiIsIl9jb250ZXh0MiIsInRvQ29udGFpbiIsIl9jYWxsZWUzIiwiX2NvbnRleHQzIiwiX2NhbGxlZTQiLCJfY29udGV4dDQiLCJub3QiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2VydmljZXMvbWFpYS9DaGF0cy9nZXRDaGF0c0J5VXNlcklkLnNwZWMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgY2FtZWxjYXNlICovXG5pbXBvcnQgeyBsYXN0RmV0Y2gsIG1vY2tKc29uT2sgfSBmcm9tICcuLi8uLi8uLi90ZXN0L21vY2tGZXRjaCdcbmltcG9ydCB7IGdldENoYXRzQnlVc2VySWQgfSBmcm9tICcuL2dldENoYXRzQnlVc2VySWQnXG5cbnR5cGUgQ2hhdEZsYWdzID0ge1xuICBNQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1M/OiBib29sZWFuXG4gIE1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFM/OiBib29sZWFuXG59XG5cbmNvbnN0IGZsYWdzID0gd2luZG93IGFzIHR5cGVvZiB3aW5kb3cgJiBDaGF0RmxhZ3NcblxuY29uc3QgcmVzZXRGbGFncyA9ICgpID0+IHtcbiAgZGVsZXRlIGZsYWdzLk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU1xuICBkZWxldGUgZmxhZ3MuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UU1xufVxuXG5kZXNjcmliZSgnZ2V0Q2hhdHNCeVVzZXJJZCcsICgpID0+IHtcbiAgYWZ0ZXJFYWNoKHJlc2V0RmxhZ3MpXG5cbiAgY29uc3Qgc2Vzc2lvbiA9IHtcbiAgICBzZXNzaW9uX2V4dGVybmFsX2lkOiAnczEnLFxuICAgIHRpdGxlOiBudWxsLFxuICAgIGxhc3RfcXVlc3Rpb246ICdIb2xhJyxcbiAgICBsYXN0X3F1ZXN0aW9uX2RhdGU6ICcyMDI2LTAxLTAyVDEwOjAwOjAwLjAwMFonLFxuICAgIGFnZW50X25hbWU6ICdNQUlBJyxcbiAgICBhZ2VudF9pZDogOSxcbiAgICBhZ2VudF90eXBlOiAnb3JjaGVzdHJhdG9yJyxcbiAgICBlbW9qaTogJ/CfpJYnLFxuICAgIGlkOiAxLFxuICAgIGlzX3JlYWQ6IGZhbHNlLFxuICAgIGF0dGFjaG1lbnRzOiBbXSxcbiAgICBwcm9qZWN0X21ldGFkYXRhOiB7IGlkOiAzLCBuYW1lOiAnUHJveWVjdG8nIH0sXG4gICAgY2xpZW50X21ldGFkYXRhOiB7IGlkOiA4LCBuYW1lOiAnQ2xpZW50ZScgfSxcbiAgfVxuXG4gIGl0KCdtYXBzIHNlc3Npb25zIGFuZCB1bnJlYWQgY291bnQnLCBhc3luYyAoKSA9PiB7XG4gICAgbW9ja0pzb25Payh7XG4gICAgICBkYXRhOiBbc2Vzc2lvbl0sXG4gICAgICBoYXNfbW9yZTogdHJ1ZSxcbiAgICAgIG5leHRfb2Zmc2V0OiAyMCxcbiAgICAgIHVucmVhZF9jb3VudDogNCxcbiAgICB9KVxuXG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZ2V0Q2hhdHNCeVVzZXJJZCh7XG4gICAgICBsaW1pdDogMTAsXG4gICAgICBvZmZzZXQ6IDUsXG4gICAgICBsYW5nOiAnZXMnLFxuICAgICAgYWdlbnQ6IHsgaWQ6ICc0MicsIG5hbWU6ICdDdXN0b20nLCBlbW9qaTogJ+KcqCcsIHR5cGU6ICdjdXN0b20nIH0sXG4gICAgfSlcblxuICAgIGV4cGVjdChsYXN0RmV0Y2goKS51cmwpLnRvQmUoJ2h0dHBzOi8vbWFpYS50ZXN0L3Nlc3Npb25zP2xpbWl0PTEwJm9mZnNldD01Jmxhbmc9ZXMnKVxuICAgIGV4cGVjdChsYXN0RmV0Y2goKS5oZWFkZXJzLmdldCgnWC1BZ2VudC1JZCcpKS50b0JlKCc0MicpXG4gICAgZXhwZWN0KHJlc3VsdC5oYXNNb3JlKS50b0JlKHRydWUpXG4gICAgZXhwZWN0KHJlc3VsdC5uZXh0SXRlbSkudG9CZSgyMClcbiAgICBleHBlY3QocmVzdWx0LnVucmVhZENvdW50KS50b0JlKDQpXG4gICAgZXhwZWN0KHJlc3VsdC5pdGVtc1swXSkudG9NYXRjaE9iamVjdCh7XG4gICAgICBpZDogJ3MxJyxcbiAgICAgIHRpdGxlOiAnSG9sYScsXG4gICAgICBhZ2VudDogJ01BSUEnLFxuICAgICAgYWdlbnRJZDogOSxcbiAgICAgIGlzUmVhZDogZmFsc2UsXG4gICAgICBwcm9qZWN0SWQ6IDMsXG4gICAgICBjbGllbnROYW1lOiAnQ2xpZW50ZScsXG4gICAgfSlcbiAgICBleHBlY3QocmVzdWx0Lml0ZW1zWzBdLmRhdGUpLnRvRXF1YWwobmV3IERhdGUoJzIwMjYtMDEtMDJUMTA6MDA6MDAuMDAwWicpKVxuICB9KVxuXG4gIGl0KCdhZGRzIGFnZW50X3R5cGU9b3JjaGVzdHJhdG9yIHdoZW4gb25seSB0aGUgY2xvbmUgZmxhZyBpcyBvbicsIGFzeW5jICgpID0+IHtcbiAgICBmbGFncy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1MgPSB0cnVlXG4gICAgbW9ja0pzb25Payh7IGRhdGE6IFtdLCBoYXNfbW9yZTogZmFsc2UsIG5leHRfb2Zmc2V0OiBudWxsIH0pXG5cbiAgICBhd2FpdCBnZXRDaGF0c0J5VXNlcklkKHsgbGltaXQ6IDcgfSlcblxuICAgIGV4cGVjdChsYXN0RmV0Y2goKS51cmwpLnRvQ29udGFpbignYWdlbnRfdHlwZT1vcmNoZXN0cmF0b3InKVxuICB9KVxuXG4gIGl0KCdhZGRzIGFnZW50X3R5cGU9Y3VzdG9tIHdoZW4gb25seSB0aGUgbXVsdGktYWdlbnRzIGZsYWcgaXMgb24nLCBhc3luYyAoKSA9PiB7XG4gICAgZmxhZ3MuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UUyA9IHRydWVcbiAgICBtb2NrSnNvbk9rKHsgZGF0YTogW10sIGhhc19tb3JlOiBmYWxzZSwgbmV4dF9vZmZzZXQ6IG51bGwgfSlcblxuICAgIGF3YWl0IGdldENoYXRzQnlVc2VySWQoeyBsaW1pdDogNyB9KVxuXG4gICAgZXhwZWN0KGxhc3RGZXRjaCgpLnVybCkudG9Db250YWluKCdhZ2VudF90eXBlPWN1c3RvbScpXG4gIH0pXG5cbiAgaXQoJ29taXRzIGFnZW50X3R5cGUgd2hlbiBib3RoIGZsYWdzIGFyZSBvbicsIGFzeW5jICgpID0+IHtcbiAgICBmbGFncy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1MgPSB0cnVlXG4gICAgZmxhZ3MuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UUyA9IHRydWVcbiAgICBtb2NrSnNvbk9rKHsgZGF0YTogW10sIGhhc19tb3JlOiBmYWxzZSwgbmV4dF9vZmZzZXQ6IG51bGwgfSlcblxuICAgIGF3YWl0IGdldENoYXRzQnlVc2VySWQoeyBsaW1pdDogNyB9KVxuXG4gICAgZXhwZWN0KGxhc3RGZXRjaCgpLnVybCkubm90LnRvQ29udGFpbignYWdlbnRfdHlwZT0nKVxuICAgIGV4cGVjdChsYXN0RmV0Y2goKS5oZWFkZXJzLmdldCgnWC1BZ2VudC1JZCcpKS50b0JlKCcxJylcbiAgfSlcbn0pXG4iXSwibWFwcGluZ3MiOiI7O0FBQUE7QUFDQSxTQUFTQSxTQUFTLEVBQUVDLFVBQVUsUUFBUSx5QkFBeUI7QUFDL0QsU0FBU0MsZ0JBQWdCLFFBQVEsb0JBQW9CO0FBT3JELElBQU1DLEtBQUssR0FBR0MsTUFBbUM7QUFFakQsSUFBTUMsVUFBVSxHQUFHLFNBQWJBLFVBQVVBLENBQUEsRUFBUztFQUN2QixPQUFPRixLQUFLLENBQUNHLDJCQUEyQjtFQUN4QyxPQUFPSCxLQUFLLENBQUNJLHdDQUF3QztBQUN2RCxDQUFDO0FBRURDLFFBQVEsQ0FBQyxrQkFBa0IsRUFBRSxZQUFNO0VBQ2pDQyxTQUFTLENBQUNKLFVBQVUsQ0FBQztFQUVyQixJQUFNSyxPQUFPLEdBQUc7SUFDZEMsbUJBQW1CLEVBQUUsSUFBSTtJQUN6QkMsS0FBSyxFQUFFLElBQUk7SUFDWEMsYUFBYSxFQUFFLE1BQU07SUFDckJDLGtCQUFrQixFQUFFLDBCQUEwQjtJQUM5Q0MsVUFBVSxFQUFFLE1BQU07SUFDbEJDLFFBQVEsRUFBRSxDQUFDO0lBQ1hDLFVBQVUsRUFBRSxjQUFjO0lBQzFCQyxLQUFLLEVBQUUsSUFBSTtJQUNYQyxFQUFFLEVBQUUsQ0FBQztJQUNMQyxPQUFPLEVBQUUsS0FBSztJQUNkQyxXQUFXLEVBQUUsRUFBRTtJQUNmQyxnQkFBZ0IsRUFBRTtNQUFFSCxFQUFFLEVBQUUsQ0FBQztNQUFFSSxJQUFJLEVBQUU7SUFBVyxDQUFDO0lBQzdDQyxlQUFlLEVBQUU7TUFBRUwsRUFB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
@@ -0,0 +1,30 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
3
+ import { lastFetch, mockJsonOk } from '../../../test/mockFetch';
4
+ import { markSessionAsRead } from './markSessionAsRead';
5
+ describe('markSessionAsRead', function () {
6
+ it('patches is_read and returns ok', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
7
+ var request;
8
+ return _regeneratorRuntime.wrap(function (_context) {
9
+ while (1) switch (_context.prev = _context.next) {
10
+ case 0:
11
+ mockJsonOk({});
12
+ _context.next = 1;
13
+ return expect(markSessionAsRead({
14
+ chatId: 's1'
15
+ })).resolves.toBe(true);
16
+ case 1:
17
+ request = lastFetch();
18
+ expect(request.url).toBe('https://maia.test/sessions/s1');
19
+ expect(request.method).toBe('PATCH');
20
+ expect(request.parsedBody).toEqual({
21
+ is_read: true
22
+ });
23
+ case 2:
24
+ case "end":
25
+ return _context.stop();
26
+ }
27
+ }, _callee);
28
+ })));
29
+ });
30
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsYXN0RmV0Y2giLCJtb2NrSnNvbk9rIiwibWFya1Nlc3Npb25Bc1JlYWQiLCJkZXNjcmliZSIsIml0IiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwibWFyayIsIl9jYWxsZWUiLCJyZXF1ZXN0Iiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJleHBlY3QiLCJjaGF0SWQiLCJyZXNvbHZlcyIsInRvQmUiLCJ1cmwiLCJtZXRob2QiLCJwYXJzZWRCb2R5IiwidG9FcXVhbCIsImlzX3JlYWQiLCJzdG9wIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NlcnZpY2VzL21haWEvQ2hhdHMvbWFya1Nlc3Npb25Bc1JlYWQuc3BlYy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBsYXN0RmV0Y2gsIG1vY2tKc29uT2sgfSBmcm9tICcuLi8uLi8uLi90ZXN0L21vY2tGZXRjaCdcbmltcG9ydCB7IG1hcmtTZXNzaW9uQXNSZWFkIH0gZnJvbSAnLi9tYXJrU2Vzc2lvbkFzUmVhZCdcblxuZGVzY3JpYmUoJ21hcmtTZXNzaW9uQXNSZWFkJywgKCkgPT4ge1xuICBpdCgncGF0Y2hlcyBpc19yZWFkIGFuZCByZXR1cm5zIG9rJywgYXN5bmMgKCkgPT4ge1xuICAgIG1vY2tKc29uT2soe30pXG5cbiAgICBhd2FpdCBleHBlY3QobWFya1Nlc3Npb25Bc1JlYWQoeyBjaGF0SWQ6ICdzMScgfSkpLnJlc29sdmVzLnRvQmUodHJ1ZSlcblxuICAgIGNvbnN0IHJlcXVlc3QgPSBsYXN0RmV0Y2goKVxuICAgIGV4cGVjdChyZXF1ZXN0LnVybCkudG9CZSgnaHR0cHM6Ly9tYWlhLnRlc3Qvc2Vzc2lvbnMvczEnKVxuICAgIGV4cGVjdChyZXF1ZXN0Lm1ldGhvZCkudG9CZSgnUEFUQ0gnKVxuICAgIGV4cGVjdChyZXF1ZXN0LnBhcnNlZEJvZHkpLnRvRXF1YWwoeyBpc19yZWFkOiB0cnVlIH0pXG4gIH0pXG59KVxuIl0sIm1hcHBpbmdzIjoiOztBQUFBLFNBQVNBLFNBQVMsRUFBRUMsVUFBVSxRQUFRLHlCQUF5QjtBQUMvRCxTQUFTQyxpQkFBaUIsUUFBUSxxQkFBcUI7QUFFdkRDLFFBQVEsQ0FBQyxtQkFBbUIsRUFBRSxZQUFNO0VBQ2xDQyxFQUFFLENBQUMsZ0NBQWdDLGVBQUFDLGlCQUFBLGNBQUFDLG1CQUFBLENBQUFDLElBQUEsQ0FBRSxTQUFBQyxRQUFBO0lBQUEsSUFBQUMsT0FBQTtJQUFBLE9BQUFILG1CQUFBLENBQUFJLElBQUEsV0FBQUMsUUFBQTtNQUFBLGtCQUFBQSxRQUFBLENBQUFDLElBQUEsR0FBQUQsUUFBQSxDQUFBRSxJQUFBO1FBQUE7VUFDbkNaLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztVQUFBVSxRQUFBLENBQUFFLElBQUE7VUFBQSxPQUVSQyxNQUFNLENBQUNaLGlCQUFpQixDQUFDO1lBQUVhLE1BQU0sRUFBRTtVQUFLLENBQUMsQ0FBQyxDQUFDLENBQUNDLFFBQVEsQ0FBQ0MsSUFBSSxDQUFDLElBQUksQ0FBQztRQUFBO1VBRS9EUixPQUFPLEdBQUdULFNBQVMsQ0FBQyxDQUFDO1VBQzNCYyxNQUFNLENBQUNMLE9BQU8sQ0FBQ1MsR0FBRyxDQUFDLENBQUNELElBQUksQ0FBQywrQkFBK0IsQ0FBQztVQUN6REgsTUFBTSxDQUFDTCxPQUFPLENBQUNVLE1BQU0sQ0FBQyxDQUFDRixJQUFJLENBQUMsT0FBTyxDQUFDO1VBQ3BDSCxNQUFNLENBQUNMLE9BQU8sQ0FBQ1csVUFBVSxDQUFDLENBQUNDLE9BQU8sQ0FBQztZQUFFQyxPQUFPLEVBQUU7VUFBSyxDQUFDLENBQUM7UUFBQTtRQUFBO1VBQUEsT0FBQVgsUUFBQSxDQUFBWSxJQUFBO01BQUE7SUFBQSxHQUFBZixPQUFBO0VBQUEsQ0FDdEQsR0FBQztBQUNKLENBQUMsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
@@ -0,0 +1,41 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
3
+ import { lastFetch, mockJsonOk } from '../../../test/mockFetch';
4
+ import { patchChat } from './patchChat';
5
+ describe('patchChat', function () {
6
+ it('sends the session update payload', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
7
+ var request;
8
+ return _regeneratorRuntime.wrap(function (_context) {
9
+ while (1) switch (_context.prev = _context.next) {
10
+ case 0:
11
+ mockJsonOk({});
12
+ _context.next = 1;
13
+ return expect(patchChat({
14
+ chatId: 's1',
15
+ lastQuestion: 'Hola',
16
+ lastQuestionDate: '2026-01-01',
17
+ title: 'Chat',
18
+ agentName: 'MAIA',
19
+ companyId: 'c1',
20
+ memorySessionId: 'm1',
21
+ chatStatus: 'active'
22
+ })).resolves.toBe(true);
23
+ case 1:
24
+ request = lastFetch();
25
+ expect(request.url).toBe('https://maia.test/sessions/s1');
26
+ expect(request.method).toBe('PUT');
27
+ expect(request.parsedBody).toMatchObject({
28
+ session_external_id: 's1',
29
+ title: 'Chat',
30
+ last_question: 'Hola',
31
+ agent_name: 'MAIA',
32
+ general_rating: 0
33
+ });
34
+ case 2:
35
+ case "end":
36
+ return _context.stop();
37
+ }
38
+ }, _callee);
39
+ })));
40
+ });
41
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsYXN0RmV0Y2giLCJtb2NrSnNvbk9rIiwicGF0Y2hDaGF0IiwiZGVzY3JpYmUiLCJpdCIsIl9hc3luY1RvR2VuZXJhdG9yIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwicmVxdWVzdCIsIndyYXAiLCJfY29udGV4dCIsInByZXYiLCJuZXh0IiwiZXhwZWN0IiwiY2hhdElkIiwibGFzdFF1ZXN0aW9uIiwibGFzdFF1ZXN0aW9uRGF0ZSIsInRpdGxlIiwiYWdlbnROYW1lIiwiY29tcGFueUlkIiwibWVtb3J5U2Vzc2lvbklkIiwiY2hhdFN0YXR1cyIsInJlc29sdmVzIiwidG9CZSIsInVybCIsIm1ldGhvZCIsInBhcnNlZEJvZHkiLCJ0b01hdGNoT2JqZWN0Iiwic2Vzc2lvbl9leHRlcm5hbF9pZCIsImxhc3RfcXVlc3Rpb24iLCJhZ2VudF9uYW1lIiwiZ2VuZXJhbF9yYXRpbmciLCJzdG9wIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NlcnZpY2VzL21haWEvQ2hhdHMvcGF0Y2hDaGF0LnNwZWMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbGFzdEZldGNoLCBtb2NrSnNvbk9rIH0gZnJvbSAnLi4vLi4vLi4vdGVzdC9tb2NrRmV0Y2gnXG5pbXBvcnQgeyBwYXRjaENoYXQgfSBmcm9tICcuL3BhdGNoQ2hhdCdcblxuZGVzY3JpYmUoJ3BhdGNoQ2hhdCcsICgpID0+IHtcbiAgaXQoJ3NlbmRzIHRoZSBzZXNzaW9uIHVwZGF0ZSBwYXlsb2FkJywgYXN5bmMgKCkgPT4ge1xuICAgIG1vY2tKc29uT2soe30pXG5cbiAgICBhd2FpdCBleHBlY3QoXG4gICAgICBwYXRjaENoYXQoe1xuICAgICAgICBjaGF0SWQ6ICdzMScsXG4gICAgICAgIGxhc3RRdWVzdGlvbjogJ0hvbGEnLFxuICAgICAgICBsYXN0UXVlc3Rpb25EYXRlOiAnMjAyNi0wMS0wMScsXG4gICAgICAgIHRpdGxlOiAnQ2hhdCcsXG4gICAgICAgIGFnZW50TmFtZTogJ01BSUEnLFxuICAgICAgICBjb21wYW55SWQ6ICdjMScsXG4gICAgICAgIG1lbW9yeVNlc3Npb25JZDogJ20xJyxcbiAgICAgICAgY2hhdFN0YXR1czogJ2FjdGl2ZScsXG4gICAgICB9KVxuICAgICkucmVzb2x2ZXMudG9CZSh0cnVlKVxuXG4gICAgY29uc3QgcmVxdWVzdCA9IGxhc3RGZXRjaCgpXG4gICAgZXhwZWN0KHJlcXVlc3QudXJsKS50b0JlKCdodHRwczovL21haWEudGVzdC9zZXNzaW9ucy9zMScpXG4gICAgZXhwZWN0KHJlcXVlc3QubWV0aG9kKS50b0JlKCdQVVQnKVxuICAgIGV4cGVjdChyZXF1ZXN0LnBhcnNlZEJvZHkpLnRvTWF0Y2hPYmplY3Qoe1xuICAgICAgc2Vzc2lvbl9leHRlcm5hbF9pZDogJ3MxJyxcbiAgICAgIHRpdGxlOiAnQ2hhdCcsXG4gICAgICBsYXN0X3F1ZXN0aW9uOiAnSG9sYScsXG4gICAgICBhZ2VudF9uYW1lOiAnTUFJQScsXG4gICAgICBnZW5lcmFsX3JhdGluZzogMCxcbiAgICB9KVxuICB9KVxufSlcbiJdLCJtYXBwaW5ncyI6Ijs7QUFBQSxTQUFTQSxTQUFTLEVBQUVDLFVBQVUsUUFBUSx5QkFBeUI7QUFDL0QsU0FBU0MsU0FBUyxRQUFRLGFBQWE7QUFFdkNDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsWUFBTTtFQUMxQkMsRUFBRSxDQUFDLGtDQUFrQyxlQUFBQyxpQkFBQSxjQUFBQyxtQkFBQSxDQUFBQyxJQUFBLENBQUUsU0FBQUMsUUFBQTtJQUFBLElBQUFDLE9BQUE7SUFBQSxPQUFBSCxtQkFBQSxDQUFBSSxJQUFBLFdBQUFDLFFBQUE7TUFBQSxrQkFBQUEsUUFBQSxDQUFBQyxJQUFBLEdBQUFELFFBQUEsQ0FBQUUsSUFBQTtRQUFBO1VBQ3JDWixVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7VUFBQVUsUUFBQSxDQUFBRSxJQUFBO1VBQUEsT0FFUkMsTUFBTSxDQUNWWixTQUFTLENBQUM7WUFDUmEsTUFBTSxFQUFFLElBQUk7WUFDWkMsWUFBWSxFQUFFLE1BQU07WUFDcEJDLGdCQUFnQixFQUFFLFlBQVk7WUFDOUJDLEtBQUssRUFBRSxNQUFNO1lBQ2JDLFNBQVMsRUFBRSxNQUFNO1lBQ2pCQyxTQUFTLEVBQUUsSUFBSTtZQUNmQyxlQUFlLEVBQUUsSUFBSTtZQUNyQkMsVUFBVSxFQUFFO1VBQ2QsQ0FBQyxDQUNILENBQUMsQ0FBQ0MsUUFBUSxDQUFDQyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQUE7VUFFZmYsT0FBTyxHQUFHVCxTQUFTLENBQUMsQ0FBQztVQUMzQmMsTUFBTSxDQUFDTCxPQUFPLENBQUNnQixHQUFHLENBQUMsQ0FBQ0QsSUFBSSxDQUFDLCtCQUErQixDQUFDO1VBQ3pEVixNQUFNLENBQUNMLE9BQU8sQ0FBQ2lCLE1BQU0sQ0FBQyxDQUFDRixJQUFJLENBQUMsS0FBSyxDQUFDO1VBQ2xDVixNQUFNLENBQUNMLE9BQU8sQ0FBQ2tCLFVBQVUsQ0FBQyxDQUFDQyxhQUFhLENBQUM7WUFDdkNDLG1CQUFtQixFQUFFLElBQUk7WUFDekJYLEtBQUssRUFBRSxNQUFNO1lBQ2JZLGFBQWEsRUFBRSxNQUFNO1lBQ3JCQyxVQUFVLEVBQUUsTUFBTTtZQUNsQkMsY0FBYyxFQUFFO1VBQ2xCLENBQUMsQ0FBQztRQUFBO1FBQUE7VUFBQSxPQUFBckIsUUFBQSxDQUFBc0IsSUFBQTtNQUFBO0lBQUEsR0FBQXpCLE9BQUE7RUFBQSxDQUNILEdBQUM7QUFDSixDQUFDLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -0,0 +1,28 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
3
+ import { lastFetch, mockJsonOk } from '../../../test/mockFetch';
4
+ import { wasHelpfulChat } from './wasHelpfulChat';
5
+ describe('wasHelpfulChat', function () {
6
+ it('rates the message', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
7
+ var request;
8
+ return _regeneratorRuntime.wrap(function (_context) {
9
+ while (1) switch (_context.prev = _context.next) {
10
+ case 0:
11
+ mockJsonOk({});
12
+ _context.next = 1;
13
+ return expect(wasHelpfulChat('m1', true)).resolves.toBe(true);
14
+ case 1:
15
+ request = lastFetch();
16
+ expect(request.url).toBe('https://maia.test/messages/m1/rating');
17
+ expect(request.method).toBe('PUT');
18
+ expect(request.parsedBody).toEqual({
19
+ was_helpful: true
20
+ });
21
+ case 2:
22
+ case "end":
23
+ return _context.stop();
24
+ }
25
+ }, _callee);
26
+ })));
27
+ });
28
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsYXN0RmV0Y2giLCJtb2NrSnNvbk9rIiwid2FzSGVscGZ1bENoYXQiLCJkZXNjcmliZSIsIml0IiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwibWFyayIsIl9jYWxsZWUiLCJyZXF1ZXN0Iiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJleHBlY3QiLCJyZXNvbHZlcyIsInRvQmUiLCJ1cmwiLCJtZXRob2QiLCJwYXJzZWRCb2R5IiwidG9FcXVhbCIsIndhc19oZWxwZnVsIiwic3RvcCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9tYWlhL0NoYXRzL3dhc0hlbHBmdWxDaGF0LnNwZWMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbGFzdEZldGNoLCBtb2NrSnNvbk9rIH0gZnJvbSAnLi4vLi4vLi4vdGVzdC9tb2NrRmV0Y2gnXG5pbXBvcnQgeyB3YXNIZWxwZnVsQ2hhdCB9IGZyb20gJy4vd2FzSGVscGZ1bENoYXQnXG5cbmRlc2NyaWJlKCd3YXNIZWxwZnVsQ2hhdCcsICgpID0+IHtcbiAgaXQoJ3JhdGVzIHRoZSBtZXNzYWdlJywgYXN5bmMgKCkgPT4ge1xuICAgIG1vY2tKc29uT2soe30pXG5cbiAgICBhd2FpdCBleHBlY3Qod2FzSGVscGZ1bENoYXQoJ20xJywgdHJ1ZSkpLnJlc29sdmVzLnRvQmUodHJ1ZSlcblxuICAgIGNvbnN0IHJlcXVlc3QgPSBsYXN0RmV0Y2goKVxuICAgIGV4cGVjdChyZXF1ZXN0LnVybCkudG9CZSgnaHR0cHM6Ly9tYWlhLnRlc3QvbWVzc2FnZXMvbTEvcmF0aW5nJylcbiAgICBleHBlY3QocmVxdWVzdC5tZXRob2QpLnRvQmUoJ1BVVCcpXG4gICAgZXhwZWN0KHJlcXVlc3QucGFyc2VkQm9keSkudG9FcXVhbCh7IHdhc19oZWxwZnVsOiB0cnVlIH0pXG4gIH0pXG59KVxuIl0sIm1hcHBpbmdzIjoiOztBQUFBLFNBQVNBLFNBQVMsRUFBRUMsVUFBVSxRQUFRLHlCQUF5QjtBQUMvRCxTQUFTQyxjQUFjLFFBQVEsa0JBQWtCO0FBRWpEQyxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsWUFBTTtFQUMvQkMsRUFBRSxDQUFDLG1CQUFtQixlQUFBQyxpQkFBQSxjQUFBQyxtQkFBQSxDQUFBQyxJQUFBLENBQUUsU0FBQUMsUUFBQTtJQUFBLElBQUFDLE9BQUE7SUFBQSxPQUFBSCxtQkFBQSxDQUFBSSxJQUFBLFdBQUFDLFFBQUE7TUFBQSxrQkFBQUEsUUFBQSxDQUFBQyxJQUFBLEdBQUFELFFBQUEsQ0FBQUUsSUFBQTtRQUFBO1VBQ3RCWixVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7VUFBQVUsUUFBQSxDQUFBRSxJQUFBO1VBQUEsT0FFUkMsTUFBTSxDQUFDWixjQUFjLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUNhLFFBQVEsQ0FBQ0MsSUFBSSxDQUFDLElBQUksQ0FBQztRQUFBO1VBRXREUCxPQUFPLEdBQUdULFNBQVMsQ0FBQyxDQUFDO1VBQzNCYyxNQUFNLENBQUNMLE9BQU8sQ0FBQ1EsR0FBRyxDQUFDLENBQUNELElBQUksQ0FBQyxzQ0FBc0MsQ0FBQztVQUNoRUYsTUFBTSxDQUFDTCxPQUFPLENBQUNTLE1BQU0sQ0FBQyxDQUFDRixJQUFJLENBQUMsS0FBSyxDQUFDO1VBQ2xDRixNQUFNLENBQUNMLE9BQU8sQ0FBQ1UsVUFBVSxDQUFDLENBQUNDLE9BQU8sQ0FBQztZQUFFQyxXQUFXLEVBQUU7VUFBSyxDQUFDLENBQUM7UUFBQTtRQUFBO1VBQUEsT0FBQVYsUUFBQSxDQUFBVyxJQUFBO01BQUE7SUFBQSxHQUFBZCxPQUFBO0VBQUEsQ0FDMUQsR0FBQztBQUNKLENBQUMsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
@@ -0,0 +1,58 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
3
+ import { lastFetch, mockJsonError, mockJsonOk } from '../../../test/mockFetch';
4
+ import { getFrequentlyAskedQuestions } from './getFrequentlyAskedQuestions';
5
+ describe('getFrequentlyAskedQuestions', function () {
6
+ it('builds the query string', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
7
+ var _lastFetch, url;
8
+ return _regeneratorRuntime.wrap(function (_context) {
9
+ while (1) switch (_context.prev = _context.next) {
10
+ case 0:
11
+ mockJsonOk({
12
+ data: [],
13
+ has_more: false,
14
+ next_offset: null
15
+ });
16
+ _context.next = 1;
17
+ return getFrequentlyAskedQuestions({
18
+ agentId: 'a1',
19
+ lang: 'es',
20
+ limit: 8,
21
+ offset: 2,
22
+ category: 'banner',
23
+ entityId: '9',
24
+ entityType: 'project'
25
+ });
26
+ case 1:
27
+ _lastFetch = lastFetch(), url = _lastFetch.url;
28
+ expect(url).toContain('https://maia.test/agents/a1/frequently-asked-questions?');
29
+ expect(url).toContain('lang=es');
30
+ expect(url).toContain('limit=8');
31
+ expect(url).toContain('offset=2');
32
+ expect(url).toContain('category=banner');
33
+ expect(url).toContain('entity_id=9');
34
+ expect(url).toContain('entity_type=project');
35
+ case 2:
36
+ case "end":
37
+ return _context.stop();
38
+ }
39
+ }, _callee);
40
+ })));
41
+ it('throws when the response is not ok', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
42
+ return _regeneratorRuntime.wrap(function (_context2) {
43
+ while (1) switch (_context2.prev = _context2.next) {
44
+ case 0:
45
+ mockJsonError(500);
46
+ _context2.next = 1;
47
+ return expect(getFrequentlyAskedQuestions({
48
+ agentId: 'a1',
49
+ lang: 'es'
50
+ })).rejects.toThrow('Failed fetching data');
51
+ case 1:
52
+ case "end":
53
+ return _context2.stop();
54
+ }
55
+ }, _callee2);
56
+ })));
57
+ });
58
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsYXN0RmV0Y2giLCJtb2NrSnNvbkVycm9yIiwibW9ja0pzb25PayIsImdldEZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9ucyIsImRlc2NyaWJlIiwiaXQiLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJtYXJrIiwiX2NhbGxlZSIsIl9sYXN0RmV0Y2giLCJ1cmwiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsImRhdGEiLCJoYXNfbW9yZSIsIm5leHRfb2Zmc2V0IiwiYWdlbnRJZCIsImxhbmciLCJsaW1pdCIsIm9mZnNldCIsImNhdGVnb3J5IiwiZW50aXR5SWQiLCJlbnRpdHlUeXBlIiwiZXhwZWN0IiwidG9Db250YWluIiwic3RvcCIsIl9jYWxsZWUyIiwiX2NvbnRleHQyIiwicmVqZWN0cyIsInRvVGhyb3ciXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2VydmljZXMvbWFpYS9GYXFzL2dldEZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9ucy5zcGVjLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGxhc3RGZXRjaCwgbW9ja0pzb25FcnJvciwgbW9ja0pzb25PayB9IGZyb20gJy4uLy4uLy4uL3Rlc3QvbW9ja0ZldGNoJ1xuaW1wb3J0IHsgZ2V0RnJlcXVlbnRseUFza2VkUXVlc3Rpb25zIH0gZnJvbSAnLi9nZXRGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnMnXG5cbmRlc2NyaWJlKCdnZXRGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnMnLCAoKSA9PiB7XG4gIGl0KCdidWlsZHMgdGhlIHF1ZXJ5IHN0cmluZycsIGFzeW5jICgpID0+IHtcbiAgICBtb2NrSnNvbk9rKHsgZGF0YTogW10sIGhhc19tb3JlOiBmYWxzZSwgbmV4dF9vZmZzZXQ6IG51bGwgfSlcblxuICAgIGF3YWl0IGdldEZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9ucyh7XG4gICAgICBhZ2VudElkOiAnYTEnLFxuICAgICAgbGFuZzogJ2VzJyxcbiAgICAgIGxpbWl0OiA4LFxuICAgICAgb2Zmc2V0OiAyLFxuICAgICAgY2F0ZWdvcnk6ICdiYW5uZXInLFxuICAgICAgZW50aXR5SWQ6ICc5JyxcbiAgICAgIGVudGl0eVR5cGU6ICdwcm9qZWN0JyxcbiAgICB9KVxuXG4gICAgY29uc3QgeyB1cmwgfSA9IGxhc3RGZXRjaCgpXG4gICAgZXhwZWN0KHVybCkudG9Db250YWluKCdodHRwczovL21haWEudGVzdC9hZ2VudHMvYTEvZnJlcXVlbnRseS1hc2tlZC1xdWVzdGlvbnM/JylcbiAgICBleHBlY3QodXJsKS50b0NvbnRhaW4oJ2xhbmc9ZXMnKVxuICAgIGV4cGVjdCh1cmwpLnRvQ29udGFpbignbGltaXQ9OCcpXG4gICAgZXhwZWN0KHVybCkudG9Db250YWluKCdvZmZzZXQ9MicpXG4gICAgZXhwZWN0KHVybCkudG9Db250YWluKCdjYXRlZ29yeT1iYW5uZXInKVxuICAgIGV4cGVjdCh1cmwpLnRvQ29udGFpbignZW50aXR5X2lkPTknKVxuICAgIGV4cGVjdCh1cmwpLnRvQ29udGFpbignZW50aXR5X3R5cGU9cHJvamVjdCcpXG4gIH0pXG5cbiAgaXQoJ3Rocm93cyB3aGVuIHRoZSByZXNwb25zZSBpcyBub3Qgb2snLCBhc3luYyAoKSA9PiB7XG4gICAgbW9ja0pzb25FcnJvcig1MDApXG5cbiAgICBhd2FpdCBleHBlY3QoZ2V0RnJlcXVlbnRseUFza2VkUXVlc3Rpb25zKHsgYWdlbnRJZDogJ2ExJywgbGFuZzogJ2VzJyB9KSkucmVqZWN0cy50b1Rocm93KCdGYWlsZWQgZmV0Y2hpbmcgZGF0YScpXG4gIH0pXG59KVxuIl0sIm1hcHBpbmdzIjoiOztBQUFBLFNBQVNBLFNBQVMsRUFBRUMsYUFBYSxFQUFFQyxVQUFVLFFBQVEseUJBQXlCO0FBQzlFLFNBQVNDLDJCQUEyQixRQUFRLCtCQUErQjtBQUUzRUMsUUFBUSxDQUFDLDZCQUE2QixFQUFFLFlBQU07RUFDNUNDLEVBQUUsQ0FBQyx5QkFBeUIsZUFBQUMsaUJBQUEsY0FBQUMsbUJBQUEsQ0FBQUMsSUFBQSxDQUFFLFNBQUFDLFFBQUE7SUFBQSxJQUFBQyxVQUFBLEVBQUFDLEdBQUE7SUFBQSxPQUFBSixtQkFBQSxDQUFBSyxJQUFBLFdBQUFDLFFBQUE7TUFBQSxrQkFBQUEsUUFBQSxDQUFBQyxJQUFBLEdBQUFELFFBQUEsQ0FBQUUsSUFBQTtRQUFBO1VBQzVCYixVQUFVLENBQUM7WUFBRWMsSUFBSSxFQUFFLEVBQUU7WUFBRUMsUUFBUSxFQUFFLEtBQUs7WUFBRUMsV0FBVyxFQUFFO1VBQUssQ0FBQyxDQUFDO1VBQUFMLFFBQUEsQ0FBQUUsSUFBQTtVQUFBLE9BRXREWiwyQkFBMkIsQ0FBQztZQUNoQ2dCLE9BQU8sRUFBRSxJQUFJO1lBQ2JDLElBQUksRUFBRSxJQUFJO1lBQ1ZDLEtBQUssRUFBRSxDQUFDO1lBQ1JDLE1BQU0sRUFBRSxDQUFDO1lBQ1RDLFFBQVEsRUFBRSxRQUFRO1lBQ2xCQyxRQUFRLEVBQUUsR0FBRztZQUNiQyxVQUFVLEVBQUU7VUFDZCxDQUFDLENBQUM7UUFBQTtVQUFBZixVQUFBLEdBRWNWLFNBQVMsQ0FBQyxDQUFDLEVBQW5CVyxHQUFHLEdBQUFELFVBQUEsQ0FBSEMsR0FBRztVQUNYZSxNQUFNLENBQUNmLEdBQUcsQ0FBQyxDQUFDZ0IsU0FBUyxDQUFDLHlEQUF5RCxDQUFDO1VBQ2hGRCxNQUFNLENBQUNmLEdBQUcsQ0FBQyxDQUFDZ0IsU0FBUyxDQUFDLFNBQVMsQ0FBQztVQUNoQ0QsTUFBTSxDQUFDZixHQUFHLENBQUMsQ0FBQ2dCLFNBQVMsQ0FBQyxTQUFTLENBQUM7VUFDaENELE1BQU0sQ0FBQ2YsR0FBRyxDQUFDLENBQUNnQixTQUFTLENBQUMsVUFBVSxDQUFDO1VBQ2pDRCxNQUFNLENBQUNmLEdBQUcsQ0FBQyxDQUFDZ0IsU0FBUyxDQUFDLGlCQUFpQixDQUFDO1VBQ3hDRCxNQUFNLENBQUNmLEdBQUcsQ0FBQyxDQUFDZ0IsU0FBUyxDQUFDLGFBQWEsQ0FBQztVQUNwQ0QsTUFBTSxDQUFDZixHQUFHLENBQUMsQ0FBQ2dCLFNBQVMsQ0FBQyxxQkFBcUIsQ0FBQztRQUFBO1FBQUE7VUFBQSxPQUFBZCxRQUFBLENBQUFlLElBQUE7TUFBQTtJQUFBLEdBQUFuQixPQUFBO0VBQUEsQ0FDN0MsR0FBQztFQUVGSixFQUFFLENBQUMsb0NBQW9DLGVBQUFDLGlCQUFBLGNBQUFDLG1CQUFBLENBQUFDLElBQUEsQ0FBRSxTQUFBcUIsU0FBQTtJQUFBLE9BQUF0QixtQkFBQSxDQUFBSyxJQUFBLFdBQUFrQixTQUFBO01BQUEsa0JBQUFBLFNBQUEsQ0FBQWhCLElBQUEsR0FBQWdCLFNBQUEsQ0FBQWYsSUFBQTtRQUFBO1VBQ3ZDZCxhQUFhLENBQUMsR0FBRyxDQUFDO1VBQUE2QixTQUFBLENBQUFmLElBQUE7VUFBQSxPQUVaVyxNQUFNLENBQUN2QiwyQkFBMkIsQ0FBQztZQUFFZ0IsT0FBTyxFQUFFLElBQUk7WUFBRUMsSUFBSSxFQUFFO1VBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQ1csT0FBTyxDQUFDQyxPQUFPLENBQUMsc0JBQXNCLENBQUM7UUFBQTtRQUFBO1VBQUEsT0FBQUYsU0FBQSxDQUFBRixJQUFBO01BQUE7SUFBQSxHQUFBQyxRQUFBO0VBQUEsQ0FDakgsR0FBQztBQUNKLENBQUMsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
@@ -0,0 +1,45 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
3
+ import { lastFetch, mockJsonError, mockJsonOk } from '../../../test/mockFetch';
4
+ import { deleteKnowledge } from './delete';
5
+ describe('deleteKnowledge', function () {
6
+ it('deletes knowledge ids', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
7
+ return _regeneratorRuntime.wrap(function (_context) {
8
+ while (1) switch (_context.prev = _context.next) {
9
+ case 0:
10
+ mockJsonOk({
11
+ deleted: true
12
+ });
13
+ _context.next = 1;
14
+ return expect(deleteKnowledge(['1', '2'], 'a1')).resolves.toEqual({
15
+ deleted: true
16
+ });
17
+ case 1:
18
+ expect(lastFetch()).toMatchObject({
19
+ url: 'https://maia.test/agents/a1/knowledge-base',
20
+ method: 'DELETE',
21
+ parsedBody: {
22
+ knowledge_base_ids: ['1', '2']
23
+ }
24
+ });
25
+ case 2:
26
+ case "end":
27
+ return _context.stop();
28
+ }
29
+ }, _callee);
30
+ })));
31
+ it('throws when the response is not ok', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
32
+ return _regeneratorRuntime.wrap(function (_context2) {
33
+ while (1) switch (_context2.prev = _context2.next) {
34
+ case 0:
35
+ mockJsonError(500);
36
+ _context2.next = 1;
37
+ return expect(deleteKnowledge(['1'], 'a1')).rejects.toThrow('Failed fetching data');
38
+ case 1:
39
+ case "end":
40
+ return _context2.stop();
41
+ }
42
+ }, _callee2);
43
+ })));
44
+ });
45
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsYXN0RmV0Y2giLCJtb2NrSnNvbkVycm9yIiwibW9ja0pzb25PayIsImRlbGV0ZUtub3dsZWRnZSIsImRlc2NyaWJlIiwiaXQiLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJtYXJrIiwiX2NhbGxlZSIsIndyYXAiLCJfY29udGV4dCIsInByZXYiLCJuZXh0IiwiZGVsZXRlZCIsImV4cGVjdCIsInJlc29sdmVzIiwidG9FcXVhbCIsInRvTWF0Y2hPYmplY3QiLCJ1cmwiLCJtZXRob2QiLCJwYXJzZWRCb2R5Iiwia25vd2xlZGdlX2Jhc2VfaWRzIiwic3RvcCIsIl9jYWxsZWUyIiwiX2NvbnRleHQyIiwicmVqZWN0cyIsInRvVGhyb3ciXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2VydmljZXMvbWFpYS9Lbm93bGVkZ2UvZGVsZXRlLnNwZWMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbGFzdEZldGNoLCBtb2NrSnNvbkVycm9yLCBtb2NrSnNvbk9rIH0gZnJvbSAnLi4vLi4vLi4vdGVzdC9tb2NrRmV0Y2gnXG5pbXBvcnQgeyBkZWxldGVLbm93bGVkZ2UgfSBmcm9tICcuL2RlbGV0ZSdcblxuZGVzY3JpYmUoJ2RlbGV0ZUtub3dsZWRnZScsICgpID0+IHtcbiAgaXQoJ2RlbGV0ZXMga25vd2xlZGdlIGlkcycsIGFzeW5jICgpID0+IHtcbiAgICBtb2NrSnNvbk9rKHsgZGVsZXRlZDogdHJ1ZSB9KVxuXG4gICAgYXdhaXQgZXhwZWN0KGRlbGV0ZUtub3dsZWRnZShbJzEnLCAnMiddLCAnYTEnKSkucmVzb2x2ZXMudG9FcXVhbCh7IGRlbGV0ZWQ6IHRydWUgfSlcbiAgICBleHBlY3QobGFzdEZldGNoKCkpLnRvTWF0Y2hPYmplY3Qoe1xuICAgICAgdXJsOiAnaHR0cHM6Ly9tYWlhLnRlc3QvYWdlbnRzL2ExL2tub3dsZWRnZS1iYXNlJyxcbiAgICAgIG1ldGhvZDogJ0RFTEVURScsXG4gICAgICBwYXJzZWRCb2R5OiB7IGtub3dsZWRnZV9iYXNlX2lkczogWycxJywgJzInXSB9LFxuICAgIH0pXG4gIH0pXG5cbiAgaXQoJ3Rocm93cyB3aGVuIHRoZSByZXNwb25zZSBpcyBub3Qgb2snLCBhc3luYyAoKSA9PiB7XG4gICAgbW9ja0pzb25FcnJvcig1MDApXG5cbiAgICBhd2FpdCBleHBlY3QoZGVsZXRlS25vd2xlZGdlKFsnMSddLCAnYTEnKSkucmVqZWN0cy50b1Rocm93KCdGYWlsZWQgZmV0Y2hpbmcgZGF0YScpXG4gIH0pXG59KVxuIl0sIm1hcHBpbmdzIjoiOztBQUFBLFNBQVNBLFNBQVMsRUFBRUMsYUFBYSxFQUFFQyxVQUFVLFFBQVEseUJBQXlCO0FBQzlFLFNBQVNDLGVBQWUsUUFBUSxVQUFVO0FBRTFDQyxRQUFRLENBQUMsaUJBQWlCLEVBQUUsWUFBTTtFQUNoQ0MsRUFBRSxDQUFDLHVCQUF1QixlQUFBQyxpQkFBQSxjQUFBQyxtQkFBQSxDQUFBQyxJQUFBLENBQUUsU0FBQUMsUUFBQTtJQUFBLE9BQUFGLG1CQUFBLENBQUFHLElBQUEsV0FBQUMsUUFBQTtNQUFBLGtCQUFBQSxRQUFBLENBQUFDLElBQUEsR0FBQUQsUUFBQSxDQUFBRSxJQUFBO1FBQUE7VUFDMUJYLFVBQVUsQ0FBQztZQUFFWSxPQUFPLEVBQUU7VUFBSyxDQUFDLENBQUM7VUFBQUgsUUFBQSxDQUFBRSxJQUFBO1VBQUEsT0FFdkJFLE1BQU0sQ0FBQ1osZUFBZSxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUNhLFFBQVEsQ0FBQ0MsT0FBTyxDQUFDO1lBQUVILE9BQU8sRUFBRTtVQUFLLENBQUMsQ0FBQztRQUFBO1VBQ25GQyxNQUFNLENBQUNmLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQ2tCLGFBQWEsQ0FBQztZQUNoQ0MsR0FBRyxFQUFFLDRDQUE0QztZQUNqREMsTUFBTSxFQUFFLFFBQVE7WUFDaEJDLFVBQVUsRUFBRTtjQUFFQyxrQkFBa0IsRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHO1lBQUU7VUFDL0MsQ0FBQyxDQUFDO1FBQUE7UUFBQTtVQUFBLE9BQUFYLFFBQUEsQ0FBQVksSUFBQTtNQUFBO0lBQUEsR0FBQWQsT0FBQTtFQUFBLENBQ0gsR0FBQztFQUVGSixFQUFFLENBQUMsb0NBQW9DLGVBQUFDLGlCQUFBLGNBQUFDLG1CQUFBLENBQUFDLElBQUEsQ0FBRSxTQUFBZ0IsU0FBQTtJQUFBLE9BQUFqQixtQkFBQSxDQUFBRyxJQUFBLFdBQUFlLFNBQUE7TUFBQSxrQkFBQUEsU0FBQSxDQUFBYixJQUFBLEdBQUFhLFNBQUEsQ0FBQVosSUFBQTtRQUFBO1VBQ3ZDWixhQUFhLENBQUMsR0FBRyxDQUFDO1VBQUF3QixTQUFBLENBQUFaLElBQUE7VUFBQSxPQUVaRSxNQUFNLENBQUNaLGVBQWUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUN1QixPQUFPLENBQUNDLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQztRQUFBO1FBQUE7VUFBQSxPQUFBRixTQUFBLENBQUFGLElBQUE7TUFBQTtJQUFBLEdBQUFDLFFBQUE7RUFBQSxDQUNuRixHQUFDO0FBQ0osQ0FBQyxDQUFDIiwiaWdub3JlTGlzdCI6W119