@projectcor/maia-components 2.41.1-0 → 2.42.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 (175) hide show
  1. package/README.md +2 -0
  2. package/lib/App.js +19 -44
  3. package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.js +1 -3
  4. package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.styles.js +7 -19
  5. package/lib/components/atoms/MAIAInput/MAIAInput.js +3 -3
  6. package/lib/components/atoms/ReasoningBlock/ReasoningBlock.js +2 -7
  7. package/lib/components/atoms/ReasoningBlock/ReasoningBlock.styles.js +14 -10
  8. package/lib/components/atoms/ReasoningBlock/ReasoningSteps.js +1 -1
  9. package/lib/components/atoms/ReasoningBlock/ReasoningTimeline.js +37 -57
  10. package/lib/components/atoms/ReasoningBlock/reasoningLiveNarration.js +12 -18
  11. package/lib/components/index.js +1 -2
  12. package/lib/components/molecules/ChatAIContent/ChatAIContent.js +3 -7
  13. package/lib/components/molecules/ChatAIHome/ChatAIHome.js +6 -21
  14. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +3 -9
  15. package/lib/components/molecules/ChatAIMessages/newStyles.js +26 -29
  16. package/lib/components/molecules/ChatAIModal/ChatAIModal.helpers.js +1 -8
  17. package/lib/components/molecules/ChatAIModal/ChatAIModal.js +8 -25
  18. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +61 -65
  19. package/lib/components/molecules/ChatFooter/ChatFooter.js +3 -5
  20. package/lib/components/molecules/Sidebar/Sidebar.js +25 -30
  21. package/lib/components/organisms/AbmAgentModal/AbmAgentModal.js +2 -2
  22. package/lib/constants/permissions/clientRoleAccess.js +33 -0
  23. package/lib/constants/permissions/index.js +2 -2
  24. package/lib/constants/permissions/utils.js +12 -3
  25. package/lib/dev/DevReasoningTimeline.js +17 -11
  26. package/lib/hooks/useChatManager/useChatManager.js +7 -7
  27. package/lib/hooks/useFrequentlyUsedActions.js +12 -31
  28. package/lib/index.js +2 -5
  29. package/lib/lang/br/index.js +1 -26
  30. package/lib/lang/en/index.js +1 -26
  31. package/lib/lang/es/index.js +1 -26
  32. package/lib/lang/fr/index.js +1 -26
  33. package/lib/services/maia/Actions/getFrequentlyUsedActions.js +1 -1
  34. package/lib/store/sessions/sessionStreamManager.js +52 -40
  35. package/lib/styles/cascade.js +3 -29
  36. package/lib/styles/transitions.js +1 -3
  37. package/lib/types/global.d.js +1 -1
  38. package/lib/utils/hoursPlannerQuickActionType.js +1 -74
  39. package/lib/utils/streamActivityMessages.js +19 -32
  40. package/package.json +1 -1
  41. package/CHANGELOG.md +0 -840
  42. package/lib/components/atoms/ApprovalBox/ApprovalBox.spec.js +0 -135
  43. package/lib/components/atoms/Checkbox/Checkbox.spec.js +0 -27
  44. package/lib/components/atoms/Chip/Chip.spec.js +0 -82
  45. package/lib/components/atoms/ContextMentionChip/ContextMentionChip.spec.js +0 -29
  46. package/lib/components/atoms/Fade/Fade.spec.js +0 -31
  47. package/lib/components/atoms/MAIAButton/MAIAButton.spec.js +0 -42
  48. package/lib/components/atoms/MAIAInput/MAIAInput.spec.js +0 -300
  49. package/lib/components/atoms/ReasoningBlock/ReasoningBlock.spec.js +0 -69
  50. package/lib/components/atoms/ReasoningBlock/ReasoningSteps.spec.js +0 -59
  51. package/lib/components/atoms/ReasoningBlock/ReasoningTimeline.spec.js +0 -58
  52. package/lib/components/atoms/ReasoningBlock/reasoningLiveNarration.spec.js +0 -68
  53. package/lib/components/atoms/ReasoningBlock/useCollapsibleHeight.js +0 -52
  54. package/lib/components/atoms/ReasoningBlock/useCollapsibleHeight.spec.js +0 -90
  55. package/lib/components/atoms/SkillsDropdown/SkillsDropdown.spec.js +0 -107
  56. package/lib/components/atoms/SlashCommandDropdown/SlashCommandDropdown.spec.js +0 -85
  57. package/lib/components/atoms/Switch/Switch.spec.js +0 -41
  58. package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.spec.js +0 -77
  59. package/lib/components/molecules/ChatAIHome/ChatAIHome.spec.js +0 -246
  60. package/lib/components/molecules/ChatAIMessages/ChatAICreateAgentActions.spec.js +0 -104
  61. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.spec.js +0 -291
  62. package/lib/components/molecules/ChatAIMessages/ChatAISuggestions.spec.js +0 -46
  63. package/lib/components/molecules/ChatAIModal/ChatAIModal.helpers.spec.js +0 -148
  64. package/lib/components/molecules/ChatAIModal/components/MaiaMinimizedPill/MaiaMinimizedPill.spec.js +0 -37
  65. package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.spec.js +0 -128
  66. package/lib/components/molecules/ChatFooter/ChatFooter.spec.js +0 -112
  67. package/lib/components/molecules/ContextMentionInput/ContextMentionInput.spec.js +0 -84
  68. package/lib/components/molecules/MessageFeedback/MessageFeedback.spec.js +0 -116
  69. package/lib/components/molecules/Sidebar/Sidebar.spec.js +0 -234
  70. package/lib/components/organisms/AbmAgentModal/AbmAgentModal.spec.js +0 -335
  71. package/lib/components/organisms/AbmSkillModal/AbmSkillModal.spec.js +0 -405
  72. package/lib/components/organisms/ChatAI/ChatAI.spec.js +0 -174
  73. package/lib/components/organisms/ChatAIPage/ChatAIPage.js +0 -486
  74. package/lib/components/organisms/ChatAIPage/ChatAIPage.spec.js +0 -231
  75. package/lib/components/organisms/ChatAIPage/ChatAIPage.styles.js +0 -16
  76. package/lib/components/organisms/ChatAIPage/ChatAIPageHeader.js +0 -253
  77. package/lib/components/organisms/ChatAIPage/ChatAIPageHeader.spec.js +0 -139
  78. package/lib/components/organisms/ChatAIPage/ChatAIPageHeader.styles.js +0 -13
  79. package/lib/components/organisms/ChatAIPage/ChatAIPageHome.js +0 -250
  80. package/lib/components/organisms/ChatAIPage/ChatAIPageHome.spec.js +0 -224
  81. package/lib/components/organisms/ChatAIPage/ChatAIPageHome.styles.js +0 -144
  82. package/lib/components/organisms/ChatAIPage/getDaypart.js +0 -9
  83. package/lib/components/organisms/ChatAIPage/getDaypart.spec.js +0 -19
  84. package/lib/components/organisms/ChatAIPage/index.js +0 -3
  85. package/lib/components/organisms/DeleteAgentModal/DeleteAgentModal.spec.js +0 -59
  86. package/lib/components/organisms/DeleteQuestionModal/DeleteQuestionModal.spec.js +0 -79
  87. package/lib/components/organisms/EditQuestionModal/EditQuestionModal.spec.js +0 -86
  88. package/lib/constants/permissions/utils.spec.js +0 -34
  89. package/lib/dev/DevMaiaPage.js +0 -30
  90. package/lib/hooks/useAgentModel/useCreateAgent.spec.js +0 -95
  91. package/lib/hooks/useAgentModel/useUpdateAgent.spec.js +0 -96
  92. package/lib/hooks/useCaretPosition.spec.js +0 -58
  93. package/lib/hooks/useChatMessages/useChatMessages.spec.js +0 -279
  94. package/lib/hooks/useDebounce.spec.js +0 -42
  95. package/lib/hooks/useEvent.spec.js +0 -40
  96. package/lib/hooks/useIsMaiaPageRoute.js +0 -26
  97. package/lib/hooks/useIsMaiaPageRoute.spec.js +0 -26
  98. package/lib/hooks/useMentionAllowedTypes.spec.js +0 -89
  99. package/lib/hooks/useMinimizedPillNoveltyDot/useMinimizedPillNoveltyDot.spec.js +0 -67
  100. package/lib/hooks/useModal/useModal.spec.js +0 -73
  101. package/lib/hooks/useResize.spec.js +0 -37
  102. package/lib/hooks/useSkillsCatalog.spec.js +0 -88
  103. package/lib/hooks/useSnackBarManager/useSnackBarManager.spec.js +0 -33
  104. package/lib/hooks/useT.spec.js +0 -20
  105. package/lib/hooks/useToggle.spec.js +0 -33
  106. package/lib/lib/utils.js +0 -9
  107. package/lib/services/maia/Access/updateAccess.spec.js +0 -108
  108. package/lib/services/maia/Actions/getFrequentlyUsedActions.spec.js +0 -69
  109. package/lib/services/maia/Actions/getSlashCommands.spec.js +0 -74
  110. package/lib/services/maia/Agents/createAgent.spec.js +0 -55
  111. package/lib/services/maia/Agents/deleteAgent.spec.js +0 -42
  112. package/lib/services/maia/Agents/fetchAgentDetail.spec.js +0 -108
  113. package/lib/services/maia/Agents/getAgentById.spec.js +0 -55
  114. package/lib/services/maia/Agents/getAgentSuggestions.spec.js +0 -82
  115. package/lib/services/maia/Agents/setAgentToolGroups.spec.js +0 -45
  116. package/lib/services/maia/Agents/toggleFavorite.spec.js +0 -47
  117. package/lib/services/maia/Agents/updateAgent.spec.js +0 -48
  118. package/lib/services/maia/Chats/deleteChat.spec.js +0 -31
  119. package/lib/services/maia/Chats/getChatMessages.spec.js +0 -150
  120. package/lib/services/maia/Chats/getChatsByUserId.spec.js +0 -149
  121. package/lib/services/maia/Chats/markSessionAsRead.spec.js +0 -30
  122. package/lib/services/maia/Chats/patchChat.spec.js +0 -41
  123. package/lib/services/maia/Chats/wasHelpfulChat.spec.js +0 -28
  124. package/lib/services/maia/Faqs/getFrequentlyAskedQuestions.spec.js +0 -58
  125. package/lib/services/maia/Knowledge/delete.spec.js +0 -45
  126. package/lib/services/maia/Knowledge/download.spec.js +0 -78
  127. package/lib/services/maia/Knowledge/save.spec.js +0 -58
  128. package/lib/services/maia/Orchestrator/orchestrator.spec.js +0 -72
  129. package/lib/services/maia/RecentClients/getRecentClients.spec.js +0 -52
  130. package/lib/services/maia/RecentContexts/getRecentContexts.spec.js +0 -83
  131. package/lib/services/maia/RecentProjects/getRecentProjects.spec.js +0 -82
  132. package/lib/services/maia/RecentTasks/getRecentTasks.spec.js +0 -63
  133. package/lib/services/maia/RecentUsers/getRecentUsers.spec.js +0 -82
  134. package/lib/services/maia/Skills/createSkill.spec.js +0 -68
  135. package/lib/services/maia/Skills/deleteSkill.spec.js +0 -42
  136. package/lib/services/maia/Skills/generateSkill.spec.js +0 -48
  137. package/lib/services/maia/Skills/getSkills.spec.js +0 -152
  138. package/lib/services/maia/Skills/updateSkill.spec.js +0 -62
  139. package/lib/services/maia/client.spec.js +0 -56
  140. package/lib/services/utils/fetchCOR.spec.js +0 -211
  141. package/lib/services/utils/getCookie.spec.js +0 -20
  142. package/lib/store/chatsSidebarOptimistic.spec.js +0 -120
  143. package/lib/store/maiaLastChatPersistence.spec.js +0 -22
  144. package/lib/store/maiaPanelSessionPersistence.spec.js +0 -62
  145. package/lib/store/sessions/sessions.types.spec.js +0 -16
  146. package/lib/store/sessions/useSessionsStore.spec.js +0 -135
  147. package/lib/store/useChatsStore.spec.js +0 -619
  148. package/lib/store/useFaqsStore.spec.js +0 -57
  149. package/lib/utils/agentDisplayName.spec.js +0 -44
  150. package/lib/utils/autoApproveStorage.spec.js +0 -25
  151. package/lib/utils/chatInputFiles.spec.js +0 -39
  152. package/lib/utils/contextMentionLabel.spec.js +0 -13
  153. package/lib/utils/contextMentionTriggers.spec.js +0 -38
  154. package/lib/utils/contextMentionTypeLabel.spec.js +0 -14
  155. package/lib/utils/corConnectorMentionTypes.spec.js +0 -23
  156. package/lib/utils/fileDownloadHelper.spec.js +0 -67
  157. package/lib/utils/formatQuickActionMessage.spec.js +0 -27
  158. package/lib/utils/formatUnreadCount.spec.js +0 -12
  159. package/lib/utils/getUnitFileSize.spec.js +0 -18
  160. package/lib/utils/hitlAnalytics.spec.js +0 -100
  161. package/lib/utils/hoursPlannerQuickActionType.spec.js +0 -64
  162. package/lib/utils/maiaPageRoute.js +0 -24
  163. package/lib/utils/maiaPageRoute.spec.js +0 -23
  164. package/lib/utils/mapBackendLang.spec.js +0 -19
  165. package/lib/utils/navigateContextEntity.spec.js +0 -50
  166. package/lib/utils/normalizeAgentConnectors.spec.js +0 -89
  167. package/lib/utils/orchestratorSubagents.spec.js +0 -32
  168. package/lib/utils/reasoningMappers.spec.js +0 -103
  169. package/lib/utils/retryCompletion.spec.js +0 -99
  170. package/lib/utils/skillContentSize.spec.js +0 -13
  171. package/lib/utils/slashCommandMarker.spec.js +0 -43
  172. package/lib/utils/sortManagerHoursHomeFuas.spec.js +0 -51
  173. package/lib/utils/sseStreamContent.spec.js +0 -31
  174. package/lib/utils/streamActivityMessages.spec.js +0 -131
  175. package/lib/utils/validateTrimmedFields.spec.js +0 -26
@@ -1,78 +0,0 @@
1
- import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
- import _regeneratorRuntime from "@babel/runtime/regenerator";
3
- import { lastFetch, mockFetch, mockJsonError } from '../../../test/mockFetch';
4
- import { downloadKnowledge } from './download';
5
- describe('downloadKnowledge', function () {
6
- it('returns the blob and filename from content-disposition', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
7
- var result;
8
- return _regeneratorRuntime.wrap(function (_context) {
9
- while (1) switch (_context.prev = _context.next) {
10
- case 0:
11
- mockFetch.mockResolvedValueOnce(new Response('file-bytes', {
12
- status: 200,
13
- headers: {
14
- 'content-type': 'application/pdf',
15
- 'content-disposition': 'attachment; filename="brief.pdf"'
16
- }
17
- }));
18
- _context.next = 1;
19
- return downloadKnowledge({
20
- agentId: 'a1',
21
- knowledgeId: 'k1'
22
- });
23
- case 1:
24
- result = _context.sent;
25
- expect(lastFetch().url).toBe('https://maia.test/agents/a1/knowledge-base/k1/download');
26
- expect(result.filename).toBe('brief.pdf');
27
- expect(result.contentType).toBe('application/pdf');
28
- expect(result.size).toBeGreaterThan(0);
29
- expect(result.blob).toBeInstanceOf(Blob);
30
- case 2:
31
- case "end":
32
- return _context.stop();
33
- }
34
- }, _callee);
35
- })));
36
- it('falls back to a default filename', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
37
- var result;
38
- return _regeneratorRuntime.wrap(function (_context2) {
39
- while (1) switch (_context2.prev = _context2.next) {
40
- case 0:
41
- mockFetch.mockResolvedValueOnce(new Response('x', {
42
- status: 200,
43
- headers: {
44
- 'content-type': 'application/octet-stream'
45
- }
46
- }));
47
- _context2.next = 1;
48
- return downloadKnowledge({
49
- agentId: 'a1',
50
- knowledgeId: 'k1'
51
- });
52
- case 1:
53
- result = _context2.sent;
54
- expect(result.filename).toBe('archivo-descargado');
55
- case 2:
56
- case "end":
57
- return _context2.stop();
58
- }
59
- }, _callee2);
60
- })));
61
- it('throws when the response is not ok', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {
62
- return _regeneratorRuntime.wrap(function (_context3) {
63
- while (1) switch (_context3.prev = _context3.next) {
64
- case 0:
65
- mockJsonError(404);
66
- _context3.next = 1;
67
- return expect(downloadKnowledge({
68
- agentId: 'a1',
69
- knowledgeId: 'k1'
70
- })).rejects.toThrow('Failed fetching data');
71
- case 1:
72
- case "end":
73
- return _context3.stop();
74
- }
75
- }, _callee3);
76
- })));
77
- });
78
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsYXN0RmV0Y2giLCJtb2NrRmV0Y2giLCJtb2NrSnNvbkVycm9yIiwiZG93bmxvYWRLbm93bGVkZ2UiLCJkZXNjcmliZSIsIml0IiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwibWFyayIsIl9jYWxsZWUiLCJyZXN1bHQiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsIm1vY2tSZXNvbHZlZFZhbHVlT25jZSIsIlJlc3BvbnNlIiwic3RhdHVzIiwiaGVhZGVycyIsImFnZW50SWQiLCJrbm93bGVkZ2VJZCIsInNlbnQiLCJleHBlY3QiLCJ1cmwiLCJ0b0JlIiwiZmlsZW5hbWUiLCJjb250ZW50VHlwZSIsInNpemUiLCJ0b0JlR3JlYXRlclRoYW4iLCJibG9iIiwidG9CZUluc3RhbmNlT2YiLCJCbG9iIiwic3RvcCIsIl9jYWxsZWUyIiwiX2NvbnRleHQyIiwiX2NhbGxlZTMiLCJfY29udGV4dDMiLCJyZWplY3RzIiwidG9UaHJvdyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9tYWlhL0tub3dsZWRnZS9kb3dubG9hZC5zcGVjLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGxhc3RGZXRjaCwgbW9ja0ZldGNoLCBtb2NrSnNvbkVycm9yIH0gZnJvbSAnLi4vLi4vLi4vdGVzdC9tb2NrRmV0Y2gnXG5pbXBvcnQgeyBkb3dubG9hZEtub3dsZWRnZSB9IGZyb20gJy4vZG93bmxvYWQnXG5cbmRlc2NyaWJlKCdkb3dubG9hZEtub3dsZWRnZScsICgpID0+IHtcbiAgaXQoJ3JldHVybnMgdGhlIGJsb2IgYW5kIGZpbGVuYW1lIGZyb20gY29udGVudC1kaXNwb3NpdGlvbicsIGFzeW5jICgpID0+IHtcbiAgICBtb2NrRmV0Y2gubW9ja1Jlc29sdmVkVmFsdWVPbmNlKFxuICAgICAgbmV3IFJlc3BvbnNlKCdmaWxlLWJ5dGVzJywge1xuICAgICAgICBzdGF0dXM6IDIwMCxcbiAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICdjb250ZW50LXR5cGUnOiAnYXBwbGljYXRpb24vcGRmJyxcbiAgICAgICAgICAnY29udGVudC1kaXNwb3NpdGlvbic6ICdhdHRhY2htZW50OyBmaWxlbmFtZT1cImJyaWVmLnBkZlwiJyxcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgKVxuXG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZG93bmxvYWRLbm93bGVkZ2UoeyBhZ2VudElkOiAnYTEnLCBrbm93bGVkZ2VJZDogJ2sxJyB9KVxuXG4gICAgZXhwZWN0KGxhc3RGZXRjaCgpLnVybCkudG9CZSgnaHR0cHM6Ly9tYWlhLnRlc3QvYWdlbnRzL2ExL2tub3dsZWRnZS1iYXNlL2sxL2Rvd25sb2FkJylcbiAgICBleHBlY3QocmVzdWx0LmZpbGVuYW1lKS50b0JlKCdicmllZi5wZGYnKVxuICAgIGV4cGVjdChyZXN1bHQuY29udGVudFR5cGUpLnRvQmUoJ2FwcGxpY2F0aW9uL3BkZicpXG4gICAgZXhwZWN0KHJlc3VsdC5zaXplKS50b0JlR3JlYXRlclRoYW4oMClcbiAgICBleHBlY3QocmVzdWx0LmJsb2IpLnRvQmVJbnN0YW5jZU9mKEJsb2IpXG4gIH0pXG5cbiAgaXQoJ2ZhbGxzIGJhY2sgdG8gYSBkZWZhdWx0IGZpbGVuYW1lJywgYXN5bmMgKCkgPT4ge1xuICAgIG1vY2tGZXRjaC5tb2NrUmVzb2x2ZWRWYWx1ZU9uY2UoXG4gICAgICBuZXcgUmVzcG9uc2UoJ3gnLCB7XG4gICAgICAgIHN0YXR1czogMjAwLFxuICAgICAgICBoZWFkZXJzOiB7ICdjb250ZW50LXR5cGUnOiAnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJyB9LFxuICAgICAgfSlcbiAgICApXG5cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBkb3dubG9hZEtub3dsZWRnZSh7IGFnZW50SWQ6ICdhMScsIGtub3dsZWRnZUlkOiAnazEnIH0pXG5cbiAgICBleHBlY3QocmVzdWx0LmZpbGVuYW1lKS50b0JlKCdhcmNoaXZvLWRlc2NhcmdhZG8nKVxuICB9KVxuXG4gIGl0KCd0aHJvd3Mgd2hlbiB0aGUgcmVzcG9uc2UgaXMgbm90IG9rJywgYXN5bmMgKCkgPT4ge1xuICAgIG1vY2tKc29uRXJyb3IoNDA0KVxuXG4gICAgYXdhaXQgZXhwZWN0KGRvd25sb2FkS25vd2xlZGdlKHsgYWdlbnRJZDogJ2ExJywga25vd2xlZGdlSWQ6ICdrMScgfSkpLnJlamVjdHMudG9UaHJvdygnRmFpbGVkIGZldGNoaW5nIGRhdGEnKVxuICB9KVxufSlcbiJdLCJtYXBwaW5ncyI6Ijs7QUFBQSxTQUFTQSxTQUFTLEVBQUVDLFNBQVMsRUFBRUMsYUFBYSxRQUFRLHlCQUF5QjtBQUM3RSxTQUFTQyxpQkFBaUIsUUFBUSxZQUFZO0FBRTlDQyxRQUFRLENBQUMsbUJBQW1CLEVBQUUsWUFBTTtFQUNsQ0MsRUFBRSxDQUFDLHdEQUF3RCxlQUFBQyxpQkFBQSxjQUFBQyxtQkFBQSxDQUFBQyxJQUFBLENBQUUsU0FBQUMsUUFBQTtJQUFBLElBQUFDLE1BQUE7SUFBQSxPQUFBSCxtQkFBQSxDQUFBSSxJQUFBLFdBQUFDLFFBQUE7TUFBQSxrQkFBQUEsUUFBQSxDQUFBQyxJQUFBLEdBQUFELFFBQUEsQ0FBQUUsSUFBQTtRQUFBO1VBQzNEYixTQUFTLENBQUNjLHFCQUFxQixDQUM3QixJQUFJQyxRQUFRLENBQUMsWUFBWSxFQUFFO1lBQ3pCQyxNQUFNLEVBQUUsR0FBRztZQUNYQyxPQUFPLEVBQUU7Y0FDUCxjQUFjLEVBQUUsaUJBQWlCO2NBQ2pDLHFCQUFxQixFQUFFO1lBQ3pCO1VBQ0YsQ0FBQyxDQUNILENBQUM7VUFBQU4sUUFBQSxDQUFBRSxJQUFBO1VBQUEsT0FFb0JYLGlCQUFpQixDQUFDO1lBQUVnQixPQUFPLEVBQUUsSUFBSTtZQUFFQyxXQUFXLEVBQUU7VUFBSyxDQUFDLENBQUM7UUFBQTtVQUF0RVYsTUFBTSxHQUFBRSxRQUFBLENBQUFTLElBQUE7VUFFWkMsTUFBTSxDQUFDdEIsU0FBUyxDQUFDLENBQUMsQ0FBQ3VCLEdBQUcsQ0FBQyxDQUFDQyxJQUFJLENBQUMsd0RBQXdELENBQUM7VUFDdEZGLE1BQU0sQ0FBQ1osTUFBTSxDQUFDZSxRQUFRLENBQUMsQ0FBQ0QsSUFBSSxDQUFDLFdBQVcsQ0FBQztVQUN6Q0YsTUFBTSxDQUFDWixNQUFNLENBQUNnQixXQUFXLENBQUMsQ0FBQ0YsSUFBSSxDQUFDLGlCQUFpQixDQUFDO1VBQ2xERixNQUFNLENBQUNaLE1BQU0sQ0FBQ2lCLElBQUksQ0FBQyxDQUFDQyxlQUFlLENBQUMsQ0FBQyxDQUFDO1VBQ3RDTixNQUFNLENBQUNaLE1BQU0sQ0FBQ21CLElBQUksQ0FBQyxDQUFDQyxjQUFjLENBQUNDLElBQUksQ0FBQztRQUFBO1FBQUE7VUFBQSxPQUFBbkIsUUFBQSxDQUFBb0IsSUFBQTtNQUFBO0lBQUEsR0FBQXZCLE9BQUE7RUFBQSxDQUN6QyxHQUFDO0VBRUZKLEVBQUUsQ0FBQyxrQ0FBa0MsZUFBQUMsaUJBQUEsY0FBQUMsbUJBQUEsQ0FBQUMsSUFBQSxDQUFFLFNBQUF5QixTQUFBO0lBQUEsSUFBQXZCLE1BQUE7SUFBQSxPQUFBSCxtQkFBQSxDQUFBSSxJQUFBLFdBQUF1QixTQUFBO01BQUEsa0JBQUFBLFNBQUEsQ0FBQXJCLElBQUEsR0FBQXFCLFNBQUEsQ0FBQXBCLElBQUE7UUFBQTtVQUNyQ2IsU0FBUyxDQUFDYyxxQkFBcUIsQ0FDN0IsSUFBSUMsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUNoQkMsTUFBTSxFQUFFLEdBQUc7WUFDWEMsT0FBTyxFQUFFO2NBQUUsY0FBYyxFQUFFO1lBQTJCO1VBQ3hELENBQUMsQ0FDSCxDQUFDO1VBQUFnQixTQUFBLENBQUFwQixJQUFBO1VBQUEsT0FFb0JYLGlCQUFpQixDQUFDO1lBQUVnQixPQUFPLEVBQUUsSUFBSTtZQUFFQyxXQUFXLEVBQUU7VUFBSyxDQUFDLENBQUM7UUFBQTtVQUF0RVYsTUFBTSxHQUFBd0IsU0FBQSxDQUFBYixJQUFBO1VBRVpDLE1BQU0sQ0FBQ1osTUFBTSxDQUFDZSxRQUFRLENBQUMsQ0FBQ0QsSUFBSSxDQUFDLG9CQUFvQixDQUFDO1FBQUE7UUFBQTtVQUFBLE9BQUFVLFNBQUEsQ0FBQUYsSUFBQTtNQUFBO0lBQUEsR0FBQUMsUUFBQTtFQUFBLENBQ25ELEdBQUM7RUFFRjVCLEVBQUUsQ0FBQyxvQ0FBb0MsZUFBQUMsaUJBQUEsY0FBQUMsbUJBQUEsQ0FBQUMsSUFBQSxDQUFFLFNBQUEyQixTQUFBO0lBQUEsT0FBQTVCLG1CQUFBLENBQUFJLElBQUEsV0FBQXlCLFNBQUE7TUFBQSxrQkFBQUEsU0FBQSxDQUFBdkIsSUFBQSxHQUFBdUIsU0FBQSxDQUFBdEIsSUFBQTtRQUFBO1VBQ3ZDWixhQUFhLENBQUMsR0FBRyxDQUFDO1VBQUFrQyxTQUFBLENBQUF0QixJQUFBO1VBQUEsT0FFWlEsTUFBTSxDQUFDbkIsaUJBQWlCLENBQUM7WUFBRWdCLE9BQU8sRUFBRSxJQUFJO1lBQUVDLFdBQVcsRUFBRTtVQUFLLENBQUMsQ0FBQyxDQUFDLENBQUNpQixPQUFPLENBQUNDLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQztRQUFBO1FBQUE7VUFBQSxPQUFBRixTQUFBLENBQUFKLElBQUE7TUFBQTtJQUFBLEdBQUFHLFFBQUE7RUFBQSxDQUM5RyxHQUFDO0FBQ0osQ0FBQyxDQUFDIiwiaWdub3JlTGlzdCI6W119
@@ -1,58 +0,0 @@
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 { saveKnowledge } from './save';
5
- var file = function file(name) {
6
- return {
7
- id: 1,
8
- filename: name,
9
- original_file_type: 'txt',
10
- status: 'ready',
11
- error_message: '',
12
- file_size_bytes: 3,
13
- created_at: '',
14
- processing_completed_at: '',
15
- file: new File(['abc'], name)
16
- };
17
- };
18
- describe('saveKnowledge', function () {
19
- it('posts FormData without forcing JSON Content-Type', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
20
- var request;
21
- return _regeneratorRuntime.wrap(function (_context) {
22
- while (1) switch (_context.prev = _context.next) {
23
- case 0:
24
- mockJsonOk({
25
- saved: true
26
- });
27
- _context.next = 1;
28
- return expect(saveKnowledge([file('a.txt'), file('b.txt')], 'a1')).resolves.toEqual({
29
- saved: true
30
- });
31
- case 1:
32
- request = lastFetch();
33
- expect(request.url).toBe('https://maia.test/agents/a1/knowledge-base');
34
- expect(request.method).toBe('POST');
35
- expect(request.headers.get('Content-Type')).toBeNull();
36
- expect(request.body).toBeInstanceOf(FormData);
37
- expect(request.body.getAll('files')).toHaveLength(2);
38
- case 2:
39
- case "end":
40
- return _context.stop();
41
- }
42
- }, _callee);
43
- })));
44
- it('throws when the response is not ok', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
45
- return _regeneratorRuntime.wrap(function (_context2) {
46
- while (1) switch (_context2.prev = _context2.next) {
47
- case 0:
48
- mockJsonError(500);
49
- _context2.next = 1;
50
- return expect(saveKnowledge([file('a.txt')], 'a1')).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,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsYXN0RmV0Y2giLCJtb2NrSnNvbkVycm9yIiwibW9ja0pzb25PayIsInNhdmVLbm93bGVkZ2UiLCJmaWxlIiwibmFtZSIsImlkIiwiZmlsZW5hbWUiLCJvcmlnaW5hbF9maWxlX3R5cGUiLCJzdGF0dXMiLCJlcnJvcl9tZXNzYWdlIiwiZmlsZV9zaXplX2J5dGVzIiwiY3JlYXRlZF9hdCIsInByb2Nlc3NpbmdfY29tcGxldGVkX2F0IiwiRmlsZSIsImRlc2NyaWJlIiwiaXQiLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJtYXJrIiwiX2NhbGxlZSIsInJlcXVlc3QiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsInNhdmVkIiwiZXhwZWN0IiwicmVzb2x2ZXMiLCJ0b0VxdWFsIiwidXJsIiwidG9CZSIsIm1ldGhvZCIsImhlYWRlcnMiLCJnZXQiLCJ0b0JlTnVsbCIsImJvZHkiLCJ0b0JlSW5zdGFuY2VPZiIsIkZvcm1EYXRhIiwiZ2V0QWxsIiwidG9IYXZlTGVuZ3RoIiwic3RvcCIsIl9jYWxsZWUyIiwiX2NvbnRleHQyIiwicmVqZWN0cyIsInRvVGhyb3ciXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2VydmljZXMvbWFpYS9Lbm93bGVkZ2Uvc2F2ZS5zcGVjLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGxhc3RGZXRjaCwgbW9ja0pzb25FcnJvciwgbW9ja0pzb25PayB9IGZyb20gJy4uLy4uLy4uL3Rlc3QvbW9ja0ZldGNoJ1xuaW1wb3J0IHsgS25vd2xlZGdlQWdlbnQgfSBmcm9tICcuLi8uLi8uLi90eXBlcy9hZ2VudCdcbmltcG9ydCB7IHNhdmVLbm93bGVkZ2UgfSBmcm9tICcuL3NhdmUnXG5cbmNvbnN0IGZpbGUgPSAobmFtZTogc3RyaW5nKTogS25vd2xlZGdlQWdlbnQgPT4gKHtcbiAgaWQ6IDEsXG4gIGZpbGVuYW1lOiBuYW1lLFxuICBvcmlnaW5hbF9maWxlX3R5cGU6ICd0eHQnLFxuICBzdGF0dXM6ICdyZWFkeScsXG4gIGVycm9yX21lc3NhZ2U6ICcnLFxuICBmaWxlX3NpemVfYnl0ZXM6IDMsXG4gIGNyZWF0ZWRfYXQ6ICcnLFxuICBwcm9jZXNzaW5nX2NvbXBsZXRlZF9hdDogJycsXG4gIGZpbGU6IG5ldyBGaWxlKFsnYWJjJ10sIG5hbWUpLFxufSlcblxuZGVzY3JpYmUoJ3NhdmVLbm93bGVkZ2UnLCAoKSA9PiB7XG4gIGl0KCdwb3N0cyBGb3JtRGF0YSB3aXRob3V0IGZvcmNpbmcgSlNPTiBDb250ZW50LVR5cGUnLCBhc3luYyAoKSA9PiB7XG4gICAgbW9ja0pzb25Payh7IHNhdmVkOiB0cnVlIH0pXG5cbiAgICBhd2FpdCBleHBlY3Qoc2F2ZUtub3dsZWRnZShbZmlsZSgnYS50eHQnKSwgZmlsZSgnYi50eHQnKV0sICdhMScpKS5yZXNvbHZlcy50b0VxdWFsKHsgc2F2ZWQ6IHRydWUgfSlcblxuICAgIGNvbnN0IHJlcXVlc3QgPSBsYXN0RmV0Y2goKVxuICAgIGV4cGVjdChyZXF1ZXN0LnVybCkudG9CZSgnaHR0cHM6Ly9tYWlhLnRlc3QvYWdlbnRzL2ExL2tub3dsZWRnZS1iYXNlJylcbiAgICBleHBlY3QocmVxdWVzdC5tZXRob2QpLnRvQmUoJ1BPU1QnKVxuICAgIGV4cGVjdChyZXF1ZXN0LmhlYWRlcnMuZ2V0KCdDb250ZW50LVR5cGUnKSkudG9CZU51bGwoKVxuICAgIGV4cGVjdChyZXF1ZXN0LmJvZHkpLnRvQmVJbnN0YW5jZU9mKEZvcm1EYXRhKVxuICAgIGV4cGVjdCgocmVxdWVzdC5ib2R5IGFzIEZvcm1EYXRhKS5nZXRBbGwoJ2ZpbGVzJykpLnRvSGF2ZUxlbmd0aCgyKVxuICB9KVxuXG4gIGl0KCd0aHJvd3Mgd2hlbiB0aGUgcmVzcG9uc2UgaXMgbm90IG9rJywgYXN5bmMgKCkgPT4ge1xuICAgIG1vY2tKc29uRXJyb3IoNTAwKVxuXG4gICAgYXdhaXQgZXhwZWN0KHNhdmVLbm93bGVkZ2UoW2ZpbGUoJ2EudHh0JyldLCAnYTEnKSkucmVqZWN0cy50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
@@ -1,72 +0,0 @@
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
- import { lastFetch, mockJsonOk } from '../../../test/mockFetch';
7
- import { continueThread } from './orchestrator';
8
- jest.mock('../../../lang/utils', function () {
9
- return {
10
- mapCORLang: function mapCORLang(lang) {
11
- return lang;
12
- }
13
- };
14
- });
15
- var baseBody = {
16
- threadIds: ['t1'],
17
- sessionId: 's1',
18
- decision: 'approve',
19
- agentId: 'a1',
20
- lang: 'es',
21
- isAutoApproveActive: false
22
- };
23
- describe('continueThread', function () {
24
- it('posts the approval without metadata', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
25
- return _regeneratorRuntime.wrap(function (_context) {
26
- while (1) switch (_context.prev = _context.next) {
27
- case 0:
28
- mockJsonOk({});
29
- _context.next = 1;
30
- return continueThread(baseBody);
31
- case 1:
32
- expect(lastFetch()).toMatchObject({
33
- url: 'https://maia.test/orchestrator/continue-thread?mode=stream',
34
- method: 'POST',
35
- parsedBody: {
36
- thread_ids: ['t1'],
37
- session_id: 's1',
38
- decision: 'approve'
39
- }
40
- });
41
- expect(lastFetch().parsedBody).not.toHaveProperty('metadata');
42
- case 2:
43
- case "end":
44
- return _context.stop();
45
- }
46
- }, _callee);
47
- })));
48
- it('forwards tool_group_slugs metadata when approving create_agent', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
49
- return _regeneratorRuntime.wrap(function (_context2) {
50
- while (1) switch (_context2.prev = _context2.next) {
51
- case 0:
52
- mockJsonOk({});
53
- _context2.next = 1;
54
- return continueThread(_objectSpread(_objectSpread({}, baseBody), {}, {
55
- metadata: {
56
- tool_group_slugs: ['clientes', 'proyectos']
57
- }
58
- }));
59
- case 1:
60
- expect(lastFetch().parsedBody).toMatchObject({
61
- metadata: {
62
- tool_group_slugs: ['clientes', 'proyectos']
63
- }
64
- });
65
- case 2:
66
- case "end":
67
- return _context2.stop();
68
- }
69
- }, _callee2);
70
- })));
71
- });
72
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsYXN0RmV0Y2giLCJtb2NrSnNvbk9rIiwiY29udGludWVUaHJlYWQiLCJqZXN0IiwibW9jayIsIm1hcENPUkxhbmciLCJsYW5nIiwiYmFzZUJvZHkiLCJ0aHJlYWRJZHMiLCJzZXNzaW9uSWQiLCJkZWNpc2lvbiIsImFnZW50SWQiLCJpc0F1dG9BcHByb3ZlQWN0aXZlIiwiZGVzY3JpYmUiLCJpdCIsIl9hc3luY1RvR2VuZXJhdG9yIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJleHBlY3QiLCJ0b01hdGNoT2JqZWN0IiwidXJsIiwibWV0aG9kIiwicGFyc2VkQm9keSIsInRocmVhZF9pZHMiLCJzZXNzaW9uX2lkIiwibm90IiwidG9IYXZlUHJvcGVydHkiLCJzdG9wIiwiX2NhbGxlZTIiLCJfY29udGV4dDIiLCJfb2JqZWN0U3ByZWFkIiwibWV0YWRhdGEiLCJ0b29sX2dyb3VwX3NsdWdzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NlcnZpY2VzL21haWEvT3JjaGVzdHJhdG9yL29yY2hlc3RyYXRvci5zcGVjLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGxhc3RGZXRjaCwgbW9ja0pzb25PayB9IGZyb20gJy4uLy4uLy4uL3Rlc3QvbW9ja0ZldGNoJ1xuaW1wb3J0IHsgY29udGludWVUaHJlYWQgfSBmcm9tICcuL29yY2hlc3RyYXRvcidcblxuamVzdC5tb2NrKCcuLi8uLi8uLi9sYW5nL3V0aWxzJywgKCkgPT4gKHtcbiAgbWFwQ09STGFuZzogKGxhbmc6IHN0cmluZykgPT4gbGFuZyxcbn0pKVxuXG5jb25zdCBiYXNlQm9keSA9IHtcbiAgdGhyZWFkSWRzOiBbJ3QxJ10sXG4gIHNlc3Npb25JZDogJ3MxJyxcbiAgZGVjaXNpb246ICdhcHByb3ZlJyBhcyBjb25zdCxcbiAgYWdlbnRJZDogJ2ExJyxcbiAgbGFuZzogJ2VzJyxcbiAgaXNBdXRvQXBwcm92ZUFjdGl2ZTogZmFsc2UsXG59XG5cbmRlc2NyaWJlKCdjb250aW51ZVRocmVhZCcsICgpID0+IHtcbiAgaXQoJ3Bvc3RzIHRoZSBhcHByb3ZhbCB3aXRob3V0IG1ldGFkYXRhJywgYXN5bmMgKCkgPT4ge1xuICAgIG1vY2tKc29uT2soe30pXG5cbiAgICBhd2FpdCBjb250aW51ZVRocmVhZChiYXNlQm9keSlcblxuICAgIGV4cGVjdChsYXN0RmV0Y2goKSkudG9NYXRjaE9iamVjdCh7XG4gICAgICB1cmw6ICdodHRwczovL21haWEudGVzdC9vcmNoZXN0cmF0b3IvY29udGludWUtdGhyZWFkP21vZGU9c3RyZWFtJyxcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgcGFyc2VkQm9keToge1xuICAgICAgICB0aHJlYWRfaWRzOiBbJ3QxJ10sXG4gICAgICAgIHNlc3Npb25faWQ6ICdzMScsXG4gICAgICAgIGRlY2lzaW9uOiAnYXBwcm92ZScsXG4gICAgICB9LFxuICAgIH0pXG4gICAgZXhwZWN0KGxhc3RGZXRjaCgpLnBhcnNlZEJvZHkpLm5vdC50b0hhdmVQcm9wZXJ0eSgnbWV0YWRhdGEnKVxuICB9KVxuXG4gIGl0KCdmb3J3YXJkcyB0b29sX2dyb3VwX3NsdWdzIG1ldGFkYXRhIHdoZW4gYXBwcm92aW5nIGNyZWF0ZV9hZ2VudCcsIGFzeW5jICgpID0+IHtcbiAgICBtb2NrSnNvbk9rKHt9KVxuXG4gICAgYXdhaXQgY29udGludWVUaHJlYWQoe1xuICAgICAgLi4uYmFzZUJvZHksXG4gICAgICBtZXRhZGF0YTogeyB0b29sX2dyb3VwX3NsdWdzOiBbJ2NsaWVudGVzJywgJ3Byb3llY3RvcyddIH0sXG4gICAgfSlcblxuICAgIGV4cGVjdChsYXN0RmV0Y2goKS5wYXJzZWRCb2R5KS50b01hdGNoT2JqZWN0KHtcbiAgICAgIG1ldGFkYXRhOiB7IHRvb2xfZ3JvdXBfc2x1Z3M6IFsnY2xpZW50ZXMnLCAncHJveWVjdG9zJ10gfSxcbiAgICB9KVxuICB9KVxufSlcbiJdLCJtYXBwaW5n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
@@ -1,52 +0,0 @@
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 { getRecentClients } from './getRecentClients';
5
- describe('getRecentClients', function () {
6
- it('unwraps data or a bare array', /*#__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
- data: [{
12
- id: 1,
13
- name: 'ACME'
14
- }]
15
- });
16
- _context.next = 1;
17
- return expect(getRecentClients()).resolves.toEqual([{
18
- id: 1,
19
- name: 'ACME'
20
- }]);
21
- case 1:
22
- expect(lastFetch().url).toBe('https://maia.test/recent-clients');
23
- mockJsonOk([{
24
- id: 2,
25
- name: 'Beta'
26
- }]);
27
- _context.next = 2;
28
- return expect(getRecentClients()).resolves.toEqual([{
29
- id: 2,
30
- name: 'Beta'
31
- }]);
32
- case 2:
33
- case "end":
34
- return _context.stop();
35
- }
36
- }, _callee);
37
- })));
38
- it('throws when the response is not ok', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
39
- return _regeneratorRuntime.wrap(function (_context2) {
40
- while (1) switch (_context2.prev = _context2.next) {
41
- case 0:
42
- mockJsonError(500);
43
- _context2.next = 1;
44
- return expect(getRecentClients()).rejects.toThrow('Failed fetching data');
45
- case 1:
46
- case "end":
47
- return _context2.stop();
48
- }
49
- }, _callee2);
50
- })));
51
- });
52
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsYXN0RmV0Y2giLCJtb2NrSnNvbkVycm9yIiwibW9ja0pzb25PayIsImdldFJlY2VudENsaWVudHMiLCJkZXNjcmliZSIsIml0IiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwibWFyayIsIl9jYWxsZWUiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsImRhdGEiLCJpZCIsIm5hbWUiLCJleHBlY3QiLCJyZXNvbHZlcyIsInRvRXF1YWwiLCJ1cmwiLCJ0b0JlIiwic3RvcCIsIl9jYWxsZWUyIiwiX2NvbnRleHQyIiwicmVqZWN0cyIsInRvVGhyb3ciXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2VydmljZXMvbWFpYS9SZWNlbnRDbGllbnRzL2dldFJlY2VudENsaWVudHMuc3BlYy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBsYXN0RmV0Y2gsIG1vY2tKc29uRXJyb3IsIG1vY2tKc29uT2sgfSBmcm9tICcuLi8uLi8uLi90ZXN0L21vY2tGZXRjaCdcbmltcG9ydCB7IGdldFJlY2VudENsaWVudHMgfSBmcm9tICcuL2dldFJlY2VudENsaWVudHMnXG5cbmRlc2NyaWJlKCdnZXRSZWNlbnRDbGllbnRzJywgKCkgPT4ge1xuICBpdCgndW53cmFwcyBkYXRhIG9yIGEgYmFyZSBhcnJheScsIGFzeW5jICgpID0+IHtcbiAgICBtb2NrSnNvbk9rKHsgZGF0YTogW3sgaWQ6IDEsIG5hbWU6ICdBQ01FJyB9XSB9KVxuICAgIGF3YWl0IGV4cGVjdChnZXRSZWNlbnRDbGllbnRzKCkpLnJlc29sdmVzLnRvRXF1YWwoW3sgaWQ6IDEsIG5hbWU6ICdBQ01FJyB9XSlcbiAgICBleHBlY3QobGFzdEZldGNoKCkudXJsKS50b0JlKCdodHRwczovL21haWEudGVzdC9yZWNlbnQtY2xpZW50cycpXG5cbiAgICBtb2NrSnNvbk9rKFt7IGlkOiAyLCBuYW1lOiAnQmV0YScgfV0pXG4gICAgYXdhaXQgZXhwZWN0KGdldFJlY2VudENsaWVudHMoKSkucmVzb2x2ZXMudG9FcXVhbChbeyBpZDogMiwgbmFtZTogJ0JldGEnIH1dKVxuICB9KVxuXG4gIGl0KCd0aHJvd3Mgd2hlbiB0aGUgcmVzcG9uc2UgaXMgbm90IG9rJywgYXN5bmMgKCkgPT4ge1xuICAgIG1vY2tKc29uRXJyb3IoNTAwKVxuXG4gICAgYXdhaXQgZXhwZWN0KGdldFJlY2VudENsaWVudHMoKSkucmVqZWN0cy50b1Rocm93KCdGYWlsZWQgZmV0Y2hpbmcgZGF0YScpXG4gIH0pXG59KVxuIl0sIm1hcHBpbmdzIjoiOztBQUFBLFNBQVNBLFNBQVMsRUFBRUMsYUFBYSxFQUFFQyxVQUFVLFFBQVEseUJBQXlCO0FBQzlFLFNBQVNDLGdCQUFnQixRQUFRLG9CQUFvQjtBQUVyREMsUUFBUSxDQUFDLGtCQUFrQixFQUFFLFlBQU07RUFDakNDLEVBQUUsQ0FBQyw4QkFBOEIsZUFBQUMsaUJBQUEsY0FBQUMsbUJBQUEsQ0FBQUMsSUFBQSxDQUFFLFNBQUFDLFFBQUE7SUFBQSxPQUFBRixtQkFBQSxDQUFBRyxJQUFBLFdBQUFDLFFBQUE7TUFBQSxrQkFBQUEsUUFBQSxDQUFBQyxJQUFBLEdBQUFELFFBQUEsQ0FBQUUsSUFBQTtRQUFBO1VBQ2pDWCxVQUFVLENBQUM7WUFBRVksSUFBSSxFQUFFLENBQUM7Y0FBRUMsRUFBRSxFQUFFLENBQUM7Y0FBRUMsSUFBSSxFQUFFO1lBQU8sQ0FBQztVQUFFLENBQUMsQ0FBQztVQUFBTCxRQUFBLENBQUFFLElBQUE7VUFBQSxPQUN6Q0ksTUFBTSxDQUFDZCxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQ2UsUUFBUSxDQUFDQyxPQUFPLENBQUMsQ0FBQztZQUFFSixFQUFFLEVBQUUsQ0FBQztZQUFFQyxJQUFJLEVBQUU7VUFBTyxDQUFDLENBQUMsQ0FBQztRQUFBO1VBQzVFQyxNQUFNLENBQUNqQixTQUFTLENBQUMsQ0FBQyxDQUFDb0IsR0FBRyxDQUFDLENBQUNDLElBQUksQ0FBQyxrQ0FBa0MsQ0FBQztVQUVoRW5CLFVBQVUsQ0FBQyxDQUFDO1lBQUVhLEVBQUUsRUFBRSxDQUFDO1lBQUVDLElBQUksRUFBRTtVQUFPLENBQUMsQ0FBQyxDQUFDO1VBQUFMLFFBQUEsQ0FBQUUsSUFBQTtVQUFBLE9BQy9CSSxNQUFNLENBQUNkLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDZSxRQUFRLENBQUNDLE9BQU8sQ0FBQyxDQUFDO1lBQUVKLEVBQUUsRUFBRSxDQUFDO1lBQUVDLElBQUksRUFBRTtVQUFPLENBQUMsQ0FBQyxDQUFDO1FBQUE7UUFBQTtVQUFBLE9BQUFMLFFBQUEsQ0FBQVcsSUFBQTtNQUFBO0lBQUEsR0FBQWIsT0FBQTtFQUFBLENBQzdFLEdBQUM7RUFFRkosRUFBRSxDQUFDLG9DQUFvQyxlQUFBQyxpQkFBQSxjQUFBQyxtQkFBQSxDQUFBQyxJQUFBLENBQUUsU0FBQWUsU0FBQTtJQUFBLE9BQUFoQixtQkFBQSxDQUFBRyxJQUFBLFdBQUFjLFNBQUE7TUFBQSxrQkFBQUEsU0FBQSxDQUFBWixJQUFBLEdBQUFZLFNBQUEsQ0FBQVgsSUFBQTtRQUFBO1VBQ3ZDWixhQUFhLENBQUMsR0FBRyxDQUFDO1VBQUF1QixTQUFBLENBQUFYLElBQUE7VUFBQSxPQUVaSSxNQUFNLENBQUNkLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDc0IsT0FBTyxDQUFDQyxPQUFPLENBQUMsc0JBQXNCLENBQUM7UUFBQTtRQUFBO1VBQUEsT0FBQUYsU0FBQSxDQUFBRixJQUFBO01BQUE7SUFBQSxHQUFBQyxRQUFBO0VBQUEsQ0FDekUsR0FBQztBQUNKLENBQUMsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
@@ -1,83 +0,0 @@
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 { getRecentContexts } from './getRecentContexts';
5
- describe('getRecentContexts', function () {
6
- it('filters invalid items and sends the agent header', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
7
- var result;
8
- return _regeneratorRuntime.wrap(function (_context) {
9
- while (1) switch (_context.prev = _context.next) {
10
- case 0:
11
- mockJsonOk({
12
- data: [{
13
- type: 'project',
14
- id: 1,
15
- name: 'Alpha'
16
- }, {
17
- type: 'unknown',
18
- id: 2,
19
- name: 'Skip'
20
- }, {
21
- type: 'task',
22
- id: 3
23
- }, {
24
- type: 'client',
25
- id: 4,
26
- name: 'ACME'
27
- }]
28
- });
29
- _context.next = 1;
30
- return getRecentContexts({
31
- agentId: 9,
32
- limit: 5
33
- });
34
- case 1:
35
- result = _context.sent;
36
- expect(lastFetch().url).toBe('https://maia.test/recent-contexts?limit=5');
37
- expect(lastFetch().headers.get('X-Agent-Id')).toBe('9');
38
- expect(result).toEqual([{
39
- type: 'project',
40
- id: 1,
41
- name: 'Alpha'
42
- }, {
43
- type: 'client',
44
- id: 4,
45
- name: 'ACME'
46
- }]);
47
- case 2:
48
- case "end":
49
- return _context.stop();
50
- }
51
- }, _callee);
52
- })));
53
- it('omits optional params', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
54
- return _regeneratorRuntime.wrap(function (_context2) {
55
- while (1) switch (_context2.prev = _context2.next) {
56
- case 0:
57
- mockJsonOk([]);
58
- _context2.next = 1;
59
- return expect(getRecentContexts()).resolves.toEqual([]);
60
- case 1:
61
- expect(lastFetch().url).toBe('https://maia.test/recent-contexts');
62
- expect(lastFetch().headers.get('X-Agent-Id')).toBeNull();
63
- case 2:
64
- case "end":
65
- return _context2.stop();
66
- }
67
- }, _callee2);
68
- })));
69
- it('throws when the response is not ok', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {
70
- return _regeneratorRuntime.wrap(function (_context3) {
71
- while (1) switch (_context3.prev = _context3.next) {
72
- case 0:
73
- mockJsonError(500);
74
- _context3.next = 1;
75
- return expect(getRecentContexts()).rejects.toThrow('Failed fetching data');
76
- case 1:
77
- case "end":
78
- return _context3.stop();
79
- }
80
- }, _callee3);
81
- })));
82
- });
83
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsYXN0RmV0Y2giLCJtb2NrSnNvbkVycm9yIiwibW9ja0pzb25PayIsImdldFJlY2VudENvbnRleHRzIiwiZGVzY3JpYmUiLCJpdCIsIl9hc3luY1RvR2VuZXJhdG9yIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwicmVzdWx0Iiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJkYXRhIiwidHlwZSIsImlkIiwibmFtZSIsImFnZW50SWQiLCJsaW1pdCIsInNlbnQiLCJleHBlY3QiLCJ1cmwiLCJ0b0JlIiwiaGVhZGVycyIsImdldCIsInRvRXF1YWwiLCJzdG9wIiwiX2NhbGxlZTIiLCJfY29udGV4dDIiLCJyZXNvbHZlcyIsInRvQmVOdWxsIiwiX2NhbGxlZTMiLCJfY29udGV4dDMiLCJyZWplY3RzIiwidG9UaHJvdyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9tYWlhL1JlY2VudENvbnRleHRzL2dldFJlY2VudENvbnRleHRzLnNwZWMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbGFzdEZldGNoLCBtb2NrSnNvbkVycm9yLCBtb2NrSnNvbk9rIH0gZnJvbSAnLi4vLi4vLi4vdGVzdC9tb2NrRmV0Y2gnXG5pbXBvcnQgeyBnZXRSZWNlbnRDb250ZXh0cyB9IGZyb20gJy4vZ2V0UmVjZW50Q29udGV4dHMnXG5cbmRlc2NyaWJlKCdnZXRSZWNlbnRDb250ZXh0cycsICgpID0+IHtcbiAgaXQoJ2ZpbHRlcnMgaW52YWxpZCBpdGVtcyBhbmQgc2VuZHMgdGhlIGFnZW50IGhlYWRlcicsIGFzeW5jICgpID0+IHtcbiAgICBtb2NrSnNvbk9rKHtcbiAgICAgIGRhdGE6IFtcbiAgICAgICAgeyB0eXBlOiAncHJvamVjdCcsIGlkOiAxLCBuYW1lOiAnQWxwaGEnIH0sXG4gICAgICAgIHsgdHlwZTogJ3Vua25vd24nLCBpZDogMiwgbmFtZTogJ1NraXAnIH0sXG4gICAgICAgIHsgdHlwZTogJ3Rhc2snLCBpZDogMyB9LFxuICAgICAgICB7IHR5cGU6ICdjbGllbnQnLCBpZDogNCwgbmFtZTogJ0FDTUUnIH0sXG4gICAgICBdLFxuICAgIH0pXG5cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBnZXRSZWNlbnRDb250ZXh0cyh7IGFnZW50SWQ6IDksIGxpbWl0OiA1IH0pXG5cbiAgICBleHBlY3QobGFzdEZldGNoKCkudXJsKS50b0JlKCdodHRwczovL21haWEudGVzdC9yZWNlbnQtY29udGV4dHM/bGltaXQ9NScpXG4gICAgZXhwZWN0KGxhc3RGZXRjaCgpLmhlYWRlcnMuZ2V0KCdYLUFnZW50LUlkJykpLnRvQmUoJzknKVxuICAgIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoW1xuICAgICAgeyB0eXBlOiAncHJvamVjdCcsIGlkOiAxLCBuYW1lOiAnQWxwaGEnIH0sXG4gICAgICB7IHR5cGU6ICdjbGllbnQnLCBpZDogNCwgbmFtZTogJ0FDTUUnIH0sXG4gICAgXSlcbiAgfSlcblxuICBpdCgnb21pdHMgb3B0aW9uYWwgcGFyYW1zJywgYXN5bmMgKCkgPT4ge1xuICAgIG1vY2tKc29uT2soW10pXG5cbiAgICBhd2FpdCBleHBlY3QoZ2V0UmVjZW50Q29udGV4dHMoKSkucmVzb2x2ZXMudG9FcXVhbChbXSlcbiAgICBleHBlY3QobGFzdEZldGNoKCkudXJsKS50b0JlKCdodHRwczovL21haWEudGVzdC9yZWNlbnQtY29udGV4dHMnKVxuICAgIGV4cGVjdChsYXN0RmV0Y2goKS5oZWFkZXJzLmdldCgnWC1BZ2VudC1JZCcpKS50b0JlTnVsbCgpXG4gIH0pXG5cbiAgaXQoJ3Rocm93cyB3aGVuIHRoZSByZXNwb25zZSBpcyBub3Qgb2snLCBhc3luYyAoKSA9PiB7XG4gICAgbW9ja0pzb25FcnJvcig1MDApXG5cbiAgICBhd2FpdCBleHBlY3QoZ2V0UmVjZW50Q29udGV4dHMoKSkucmVqZWN0cy50b1Rocm93KCdGYWlsZWQgZmV0Y2hpbmcgZGF0YScpXG4gIH0pXG59KVxuIl0sIm1hcHBpbmdzIjoi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
@@ -1,82 +0,0 @@
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 { getRecentProjects } from './getRecentProjects';
5
- var project = {
6
- id: 1,
7
- title: 'Alpha',
8
- clientId: 2,
9
- clientName: 'ACME'
10
- };
11
- describe('getRecentProjects', function () {
12
- it('unwraps data from the API envelope', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
13
- return _regeneratorRuntime.wrap(function (_context) {
14
- while (1) switch (_context.prev = _context.next) {
15
- case 0:
16
- mockJsonOk({
17
- data: [project]
18
- });
19
- _context.next = 1;
20
- return expect(getRecentProjects()).resolves.toEqual([project]);
21
- case 1:
22
- expect(lastFetch().url).toBe('https://maia.test/recent-projects');
23
- case 2:
24
- case "end":
25
- return _context.stop();
26
- }
27
- }, _callee);
28
- })));
29
- it('accepts a bare array or a projects key', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
30
- return _regeneratorRuntime.wrap(function (_context2) {
31
- while (1) switch (_context2.prev = _context2.next) {
32
- case 0:
33
- mockJsonOk([project]);
34
- _context2.next = 1;
35
- return expect(getRecentProjects()).resolves.toEqual([project]);
36
- case 1:
37
- mockJsonOk({
38
- projects: [project]
39
- });
40
- _context2.next = 2;
41
- return expect(getRecentProjects()).resolves.toEqual([project]);
42
- case 2:
43
- case "end":
44
- return _context2.stop();
45
- }
46
- }, _callee2);
47
- })));
48
- it('adds clientId and cor-events filters', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {
49
- return _regeneratorRuntime.wrap(function (_context3) {
50
- while (1) switch (_context3.prev = _context3.next) {
51
- case 0:
52
- mockJsonOk({
53
- data: []
54
- });
55
- _context3.next = 1;
56
- return getRecentProjects({
57
- clientId: 9,
58
- corEvents: true
59
- });
60
- case 1:
61
- expect(lastFetch().url).toBe('https://maia.test/recent-projects?clientId=9&cor-events=true');
62
- case 2:
63
- case "end":
64
- return _context3.stop();
65
- }
66
- }, _callee3);
67
- })));
68
- it('throws when the response is not ok', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee4() {
69
- return _regeneratorRuntime.wrap(function (_context4) {
70
- while (1) switch (_context4.prev = _context4.next) {
71
- case 0:
72
- mockJsonError(500);
73
- _context4.next = 1;
74
- return expect(getRecentProjects()).rejects.toThrow('Failed fetching data');
75
- case 1:
76
- case "end":
77
- return _context4.stop();
78
- }
79
- }, _callee4);
80
- })));
81
- });
82
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsYXN0RmV0Y2giLCJtb2NrSnNvbkVycm9yIiwibW9ja0pzb25PayIsImdldFJlY2VudFByb2plY3RzIiwicHJvamVjdCIsImlkIiwidGl0bGUiLCJjbGllbnRJZCIsImNsaWVudE5hbWUiLCJkZXNjcmliZSIsIml0IiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwibWFyayIsIl9jYWxsZWUiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsImRhdGEiLCJleHBlY3QiLCJyZXNvbHZlcyIsInRvRXF1YWwiLCJ1cmwiLCJ0b0JlIiwic3RvcCIsIl9jYWxsZWUyIiwiX2NvbnRleHQyIiwicHJvamVjdHMiLCJfY2FsbGVlMyIsIl9jb250ZXh0MyIsImNvckV2ZW50cyIsIl9jYWxsZWU0IiwiX2NvbnRleHQ0IiwicmVqZWN0cyIsInRvVGhyb3ciXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2VydmljZXMvbWFpYS9SZWNlbnRQcm9qZWN0cy9nZXRSZWNlbnRQcm9qZWN0cy5zcGVjLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGxhc3RGZXRjaCwgbW9ja0pzb25FcnJvciwgbW9ja0pzb25PayB9IGZyb20gJy4uLy4uLy4uL3Rlc3QvbW9ja0ZldGNoJ1xuaW1wb3J0IHsgZ2V0UmVjZW50UHJvamVjdHMgfSBmcm9tICcuL2dldFJlY2VudFByb2plY3RzJ1xuXG5jb25zdCBwcm9qZWN0ID0geyBpZDogMSwgdGl0bGU6ICdBbHBoYScsIGNsaWVudElkOiAyLCBjbGllbnROYW1lOiAnQUNNRScgfVxuXG5kZXNjcmliZSgnZ2V0UmVjZW50UHJvamVjdHMnLCAoKSA9PiB7XG4gIGl0KCd1bndyYXBzIGRhdGEgZnJvbSB0aGUgQVBJIGVudmVsb3BlJywgYXN5bmMgKCkgPT4ge1xuICAgIG1vY2tKc29uT2soeyBkYXRhOiBbcHJvamVjdF0gfSlcblxuICAgIGF3YWl0IGV4cGVjdChnZXRSZWNlbnRQcm9qZWN0cygpKS5yZXNvbHZlcy50b0VxdWFsKFtwcm9qZWN0XSlcbiAgICBleHBlY3QobGFzdEZldGNoKCkudXJsKS50b0JlKCdodHRwczovL21haWEudGVzdC9yZWNlbnQtcHJvamVjdHMnKVxuICB9KVxuXG4gIGl0KCdhY2NlcHRzIGEgYmFyZSBhcnJheSBvciBhIHByb2plY3RzIGtleScsIGFzeW5jICgpID0+IHtcbiAgICBtb2NrSnNvbk9rKFtwcm9qZWN0XSlcbiAgICBhd2FpdCBleHBlY3QoZ2V0UmVjZW50UHJvamVjdHMoKSkucmVzb2x2ZXMudG9FcXVhbChbcHJvamVjdF0pXG5cbiAgICBtb2NrSnNvbk9rKHsgcHJvamVjdHM6IFtwcm9qZWN0XSB9KVxuICAgIGF3YWl0IGV4cGVjdChnZXRSZWNlbnRQcm9qZWN0cygpKS5yZXNvbHZlcy50b0VxdWFsKFtwcm9qZWN0XSlcbiAgfSlcblxuICBpdCgnYWRkcyBjbGllbnRJZCBhbmQgY29yLWV2ZW50cyBmaWx0ZXJzJywgYXN5bmMgKCkgPT4ge1xuICAgIG1vY2tKc29uT2soeyBkYXRhOiBbXSB9KVxuXG4gICAgYXdhaXQgZ2V0UmVjZW50UHJvamVjdHMoeyBjbGllbnRJZDogOSwgY29yRXZlbnRzOiB0cnVlIH0pXG5cbiAgICBleHBlY3QobGFzdEZldGNoKCkudXJsKS50b0JlKCdodHRwczovL21haWEudGVzdC9yZWNlbnQtcHJvamVjdHM/Y2xpZW50SWQ9OSZjb3ItZXZlbnRzPXRydWUnKVxuICB9KVxuXG4gIGl0KCd0aHJvd3Mgd2hlbiB0aGUgcmVzcG9uc2UgaXMgbm90IG9rJywgYXN5bmMgKCkgPT4ge1xuICAgIG1vY2tKc29uRXJyb3IoNTAwKVxuXG4gICAgYXdhaXQgZXhwZWN0KGdldFJlY2VudFByb2plY3RzKCkpLnJlamVjdHMudG9UaHJvdygnRmFpbGVkIGZldGNoaW5nIGRhdGEnKVxuICB9KVxufSlcbiJdLCJtYXBwaW5ncyI6Ijs7QUFBQSxTQUFTQSxTQUFTLEVBQUVDLGFBQWEsRUFBRUMsVUFBVSxRQUFRLHlCQUF5QjtBQUM5RSxTQUFTQyxp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
@@ -1,63 +0,0 @@
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 { getRecentTasks } from './getRecentTasks';
5
- describe('getRecentTasks', function () {
6
- it('requests recent tasks without filters', /*#__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
- data: [{
12
- id: 1,
13
- title: 'Tarea'
14
- }]
15
- });
16
- _context.next = 1;
17
- return expect(getRecentTasks()).resolves.toEqual([{
18
- id: 1,
19
- title: 'Tarea'
20
- }]);
21
- case 1:
22
- expect(lastFetch().url).toBe('https://maia.test/recent-tasks');
23
- case 2:
24
- case "end":
25
- return _context.stop();
26
- }
27
- }, _callee);
28
- })));
29
- it('adds project and client filters', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
30
- return _regeneratorRuntime.wrap(function (_context2) {
31
- while (1) switch (_context2.prev = _context2.next) {
32
- case 0:
33
- mockJsonOk({
34
- data: []
35
- });
36
- _context2.next = 1;
37
- return getRecentTasks({
38
- projectId: 3,
39
- clientId: 8
40
- });
41
- case 1:
42
- expect(lastFetch().url).toBe('https://maia.test/recent-tasks?projectId=3&clientId=8');
43
- case 2:
44
- case "end":
45
- return _context2.stop();
46
- }
47
- }, _callee2);
48
- })));
49
- it('throws when the response is not ok', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {
50
- return _regeneratorRuntime.wrap(function (_context3) {
51
- while (1) switch (_context3.prev = _context3.next) {
52
- case 0:
53
- mockJsonError(500);
54
- _context3.next = 1;
55
- return expect(getRecentTasks()).rejects.toThrow('Failed fetching data');
56
- case 1:
57
- case "end":
58
- return _context3.stop();
59
- }
60
- }, _callee3);
61
- })));
62
- });
63
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsYXN0RmV0Y2giLCJtb2NrSnNvbkVycm9yIiwibW9ja0pzb25PayIsImdldFJlY2VudFRhc2tzIiwiZGVzY3JpYmUiLCJpdCIsIl9hc3luY1RvR2VuZXJhdG9yIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJkYXRhIiwiaWQiLCJ0aXRsZSIsImV4cGVjdCIsInJlc29sdmVzIiwidG9FcXVhbCIsInVybCIsInRvQmUiLCJzdG9wIiwiX2NhbGxlZTIiLCJfY29udGV4dDIiLCJwcm9qZWN0SWQiLCJjbGllbnRJZCIsIl9jYWxsZWUzIiwiX2NvbnRleHQzIiwicmVqZWN0cyIsInRvVGhyb3ciXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2VydmljZXMvbWFpYS9SZWNlbnRUYXNrcy9nZXRSZWNlbnRUYXNrcy5zcGVjLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGxhc3RGZXRjaCwgbW9ja0pzb25FcnJvciwgbW9ja0pzb25PayB9IGZyb20gJy4uLy4uLy4uL3Rlc3QvbW9ja0ZldGNoJ1xuaW1wb3J0IHsgZ2V0UmVjZW50VGFza3MgfSBmcm9tICcuL2dldFJlY2VudFRhc2tzJ1xuXG5kZXNjcmliZSgnZ2V0UmVjZW50VGFza3MnLCAoKSA9PiB7XG4gIGl0KCdyZXF1ZXN0cyByZWNlbnQgdGFza3Mgd2l0aG91dCBmaWx0ZXJzJywgYXN5bmMgKCkgPT4ge1xuICAgIG1vY2tKc29uT2soeyBkYXRhOiBbeyBpZDogMSwgdGl0bGU6ICdUYXJlYScgfV0gfSlcblxuICAgIGF3YWl0IGV4cGVjdChnZXRSZWNlbnRUYXNrcygpKS5yZXNvbHZlcy50b0VxdWFsKFt7IGlkOiAxLCB0aXRsZTogJ1RhcmVhJyB9XSlcbiAgICBleHBlY3QobGFzdEZldGNoKCkudXJsKS50b0JlKCdodHRwczovL21haWEudGVzdC9yZWNlbnQtdGFza3MnKVxuICB9KVxuXG4gIGl0KCdhZGRzIHByb2plY3QgYW5kIGNsaWVudCBmaWx0ZXJzJywgYXN5bmMgKCkgPT4ge1xuICAgIG1vY2tKc29uT2soeyBkYXRhOiBbXSB9KVxuXG4gICAgYXdhaXQgZ2V0UmVjZW50VGFza3MoeyBwcm9qZWN0SWQ6IDMsIGNsaWVudElkOiA4IH0pXG5cbiAgICBleHBlY3QobGFzdEZldGNoKCkudXJsKS50b0JlKCdodHRwczovL21haWEudGVzdC9yZWNlbnQtdGFza3M/cHJvamVjdElkPTMmY2xpZW50SWQ9OCcpXG4gIH0pXG5cbiAgaXQoJ3Rocm93cyB3aGVuIHRoZSByZXNwb25zZSBpcyBub3Qgb2snLCBhc3luYyAoKSA9PiB7XG4gICAgbW9ja0pzb25FcnJvcig1MDApXG5cbiAgICBhd2FpdCBleHBlY3QoZ2V0UmVjZW50VGFza3MoKSkucmVqZWN0cy50b1Rocm93KCdGYWlsZWQgZmV0Y2hpbmcgZGF0YScpXG4gIH0pXG59KVxuIl0sIm1hcHBpbmdzIjoiOztBQUFBLFNBQVNBLFNBQVMsRUFBRUMsYUFBYSxFQUFFQyxVQUFVLFFBQVEseUJBQXlCO0FBQzlFLFNBQVNDLGNBQWMsUUFBUSxrQkFBa0I7QUFFakRDLFFBQVEsQ0FBQyxnQkFBZ0IsRUFBRSxZQUFNO0VBQy9CQyxFQUFFLENBQUMsdUNBQXVDLGVBQUFDLGlCQUFBLGNBQUFDLG1CQUFBLENBQUFDLElBQUEsQ0FBRSxTQUFBQyxRQUFBO0lBQUEsT0FBQUYsbUJBQUEsQ0FBQUcsSUFBQSxXQUFBQyxRQUFBO01BQUEsa0JBQUFBLFFBQUEsQ0FBQUMsSUFBQSxHQUFBRCxRQUFBLENBQUFFLElBQUE7UUFBQTtVQUMxQ1gsVUFBVSxDQUFDO1lBQUVZLElBQUksRUFBRSxDQUFDO2NBQUVDLEVBQUUsRUFBRSxDQUFDO2NBQUVDLEtBQUssRUFBRTtZQUFRLENBQUM7VUFBRSxDQUFDLENBQUM7VUFBQUwsUUFBQSxDQUFBRSxJQUFBO1VBQUEsT0FFM0NJLE1BQU0sQ0FBQ2QsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDZSxRQUFRLENBQUNDLE9BQU8sQ0FBQyxDQUFDO1lBQUVKLEVBQUUsRUFBRSxDQUFDO1lBQUVDLEtBQUssRUFBRTtVQUFRLENBQUMsQ0FBQyxDQUFDO1FBQUE7VUFDNUVDLE1BQU0sQ0FBQ2pCLFNBQVMsQ0FBQyxDQUFDLENBQUNvQixHQUFHLENBQUMsQ0FBQ0MsSUFBSSxDQUFDLGdDQUFnQyxDQUFDO1FBQUE7UUFBQTtVQUFBLE9BQUFWLFFBQUEsQ0FBQVcsSUFBQTtNQUFBO0lBQUEsR0FBQWIsT0FBQTtFQUFBLENBQy9ELEdBQUM7RUFFRkosRUFBRSxDQUFDLGlDQUFpQyxlQUFBQyxpQkFBQSxjQUFBQyxtQkFBQSxDQUFBQyxJQUFBLENBQUUsU0FBQWUsU0FBQTtJQUFBLE9BQUFoQixtQkFBQSxDQUFBRyxJQUFBLFdBQUFjLFNBQUE7TUFBQSxrQkFBQUEsU0FBQSxDQUFBWixJQUFBLEdBQUFZLFNBQUEsQ0FBQVgsSUFBQTtRQUFBO1VBQ3BDWCxVQUFVLENBQUM7WUFBRVksSUFBSSxFQUFFO1VBQUcsQ0FBQyxDQUFDO1VBQUFVLFNBQUEsQ0FBQVgsSUFBQTtVQUFBLE9BRWxCVixjQUFjLENBQUM7WUFBRXNCLFNBQVMsRUFBRSxDQUFDO1lBQUVDLFFBQVEsRUFBRTtVQUFFLENBQUMsQ0FBQztRQUFBO1VBRW5EVCxNQUFNLENBQUNqQixTQUFTLENBQUMsQ0FBQyxDQUFDb0IsR0FBRyxDQUFDLENBQUNDLElBQUksQ0FBQyx1REFBdUQsQ0FBQztRQUFBO1FBQUE7VUFBQSxPQUFBRyxTQUFBLENBQUFGLElBQUE7TUFBQTtJQUFBLEdBQUFDLFFBQUE7RUFBQSxDQUN0RixHQUFDO0VBRUZsQixFQUFFLENBQUMsb0NBQW9DLGVBQUFDLGlCQUFBLGNBQUFDLG1CQUFBLENBQUFDLElBQUEsQ0FBRSxTQUFBbUIsU0FBQTtJQUFBLE9BQUFwQixtQkFBQSxDQUFBRyxJQUFBLFdBQUFrQixTQUFBO01BQUEsa0JBQUFBLFNBQUEsQ0FBQWhCLElBQUEsR0FBQWdCLFNBQUEsQ0FBQWYsSUFBQTtRQUFBO1VBQ3ZDWixhQUFhLENBQUMsR0FBRyxDQUFDO1VBQUEyQixTQUFBLENBQUFmLElBQUE7VUFBQSxPQUVaSSxNQUFNLENBQUNkLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQzBCLE9BQU8sQ0FBQ0MsT0FBTyxDQUFDLHNCQUFzQixDQUFDO1FBQUE7UUFBQTtVQUFBLE9BQUFGLFNBQUEsQ0FBQU4sSUFBQTtNQUFBO0lBQUEsR0FBQUssUUFBQTtFQUFBLENBQ3ZFLEdBQUM7QUFDSixDQUFDLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -1,82 +0,0 @@
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 { getRecentUsers } from './getRecentUsers';
5
- jest.mock('../../../lang/utils', function () {
6
- return {
7
- mapCORLang: function mapCORLang(lang) {
8
- return lang === 'br' ? 'pt' : lang;
9
- }
10
- };
11
- });
12
- describe('getRecentUsers', function () {
13
- it('maps br to pt', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
14
- return _regeneratorRuntime.wrap(function (_context) {
15
- while (1) switch (_context.prev = _context.next) {
16
- case 0:
17
- mockJsonOk({
18
- data: [{
19
- id: 1,
20
- firstName: 'Ana'
21
- }]
22
- });
23
- _context.next = 1;
24
- return expect(getRecentUsers({
25
- lang: 'br'
26
- })).resolves.toEqual([{
27
- id: 1,
28
- firstName: 'Ana'
29
- }]);
30
- case 1:
31
- expect(lastFetch().url).toBe('https://maia.test/recent-users?lang=pt');
32
- case 2:
33
- case "end":
34
- return _context.stop();
35
- }
36
- }, _callee);
37
- })));
38
- it('keeps es and falls back unknown langs to en', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
39
- return _regeneratorRuntime.wrap(function (_context2) {
40
- while (1) switch (_context2.prev = _context2.next) {
41
- case 0:
42
- mockJsonOk({
43
- data: []
44
- });
45
- _context2.next = 1;
46
- return getRecentUsers({
47
- lang: 'es'
48
- });
49
- case 1:
50
- expect(lastFetch().url).toBe('https://maia.test/recent-users?lang=es');
51
- mockJsonOk({
52
- data: []
53
- });
54
- _context2.next = 2;
55
- return getRecentUsers({
56
- lang: 'fr'
57
- });
58
- case 2:
59
- expect(lastFetch().url).toBe('https://maia.test/recent-users?lang=en');
60
- case 3:
61
- case "end":
62
- return _context2.stop();
63
- }
64
- }, _callee2);
65
- })));
66
- it('throws when the response is not ok', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {
67
- return _regeneratorRuntime.wrap(function (_context3) {
68
- while (1) switch (_context3.prev = _context3.next) {
69
- case 0:
70
- mockJsonError(500);
71
- _context3.next = 1;
72
- return expect(getRecentUsers({
73
- lang: 'es'
74
- })).rejects.toThrow('Failed fetching data');
75
- case 1:
76
- case "end":
77
- return _context3.stop();
78
- }
79
- }, _callee3);
80
- })));
81
- });
82
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsYXN0RmV0Y2giLCJtb2NrSnNvbkVycm9yIiwibW9ja0pzb25PayIsImdldFJlY2VudFVzZXJzIiwiamVzdCIsIm1vY2siLCJtYXBDT1JMYW5nIiwibGFuZyIsImRlc2NyaWJlIiwiaXQiLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJtYXJrIiwiX2NhbGxlZSIsIndyYXAiLCJfY29udGV4dCIsInByZXYiLCJuZXh0IiwiZGF0YSIsImlkIiwiZmlyc3ROYW1lIiwiZXhwZWN0IiwicmVzb2x2ZXMiLCJ0b0VxdWFsIiwidXJsIiwidG9CZSIsInN0b3AiLCJfY2FsbGVlMiIsIl9jb250ZXh0MiIsIl9jYWxsZWUzIiwiX2NvbnRleHQzIiwicmVqZWN0cyIsInRvVGhyb3ciXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2VydmljZXMvbWFpYS9SZWNlbnRVc2Vycy9nZXRSZWNlbnRVc2Vycy5zcGVjLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGxhc3RGZXRjaCwgbW9ja0pzb25FcnJvciwgbW9ja0pzb25PayB9IGZyb20gJy4uLy4uLy4uL3Rlc3QvbW9ja0ZldGNoJ1xuaW1wb3J0IHsgZ2V0UmVjZW50VXNlcnMgfSBmcm9tICcuL2dldFJlY2VudFVzZXJzJ1xuXG5qZXN0Lm1vY2soJy4uLy4uLy4uL2xhbmcvdXRpbHMnLCAoKSA9PiAoe1xuICBtYXBDT1JMYW5nOiAobGFuZzogc3RyaW5nKSA9PiAobGFuZyA9PT0gJ2JyJyA/ICdwdCcgOiBsYW5nKSxcbn0pKVxuXG5kZXNjcmliZSgnZ2V0UmVjZW50VXNlcnMnLCAoKSA9PiB7XG4gIGl0KCdtYXBzIGJyIHRvIHB0JywgYXN5bmMgKCkgPT4ge1xuICAgIG1vY2tKc29uT2soeyBkYXRhOiBbeyBpZDogMSwgZmlyc3ROYW1lOiAnQW5hJyB9XSB9KVxuXG4gICAgYXdhaXQgZXhwZWN0KGdldFJlY2VudFVzZXJzKHsgbGFuZzogJ2JyJyB9KSkucmVzb2x2ZXMudG9FcXVhbChbeyBpZDogMSwgZmlyc3ROYW1lOiAnQW5hJyB9XSlcbiAgICBleHBlY3QobGFzdEZldGNoKCkudXJsKS50b0JlKCdodHRwczovL21haWEudGVzdC9yZWNlbnQtdXNlcnM/bGFuZz1wdCcpXG4gIH0pXG5cbiAgaXQoJ2tlZXBzIGVzIGFuZCBmYWxscyBiYWNrIHVua25vd24gbGFuZ3MgdG8gZW4nLCBhc3luYyAoKSA9PiB7XG4gICAgbW9ja0pzb25Payh7IGRhdGE6IFtdIH0pXG4gICAgYXdhaXQgZ2V0UmVjZW50VXNlcnMoeyBsYW5nOiAnZXMnIH0pXG4gICAgZXhwZWN0KGxhc3RGZXRjaCgpLnVybCkudG9CZSgnaHR0cHM6Ly9tYWlhLnRlc3QvcmVjZW50LXVzZXJzP2xhbmc9ZXMnKVxuXG4gICAgbW9ja0pzb25Payh7IGRhdGE6IFtdIH0pXG4gICAgYXdhaXQgZ2V0UmVjZW50VXNlcnMoeyBsYW5nOiAnZnInIH0pXG4gICAgZXhwZWN0KGxhc3RGZXRjaCgpLnVybCkudG9CZSgnaHR0cHM6Ly9tYWlhLnRlc3QvcmVjZW50LXVzZXJzP2xhbmc9ZW4nKVxuICB9KVxuXG4gIGl0KCd0aHJvd3Mgd2hlbiB0aGUgcmVzcG9uc2UgaXMgbm90IG9rJywgYXN5bmMgKCkgPT4ge1xuICAgIG1vY2tKc29uRXJyb3IoNTAwKVxuXG4gICAgYXdhaXQgZXhwZWN0KGdldFJlY2VudFVzZXJzKHsgbGFuZzogJ2VzJyB9KSkucmVqZWN0cy50b1Rocm93KCdGYWlsZWQgZmV0Y2hpbmcgZGF0YScpXG4gIH0pXG59KVxuIl0sIm1hcHBpbmdzIjoiOztBQUFBLFNBQVNBLFNBQVMsRUFBRUMsYUFBYSxFQUFFQyxVQUFVLFFBQVEseUJBQXlCO0FBQzlFLFNBQVNDLGNBQWMsUUFBUSxrQkFBa0I7QUFFakRDLElBQUksQ0FBQ0MsSUFBSSxDQUFDLHFCQUFxQixFQUFFO0VBQUEsT0FBTztJQUN0Q0MsVUFBVSxFQUFFLFNBQVpBLFVBQVVBLENBQUdDLElBQVk7TUFBQSxPQUFNQSxJQUFJLEtBQUssSUFBSSxHQUFHLElBQUksR0FBR0EsSUFBSTtJQUFBO0VBQzVELENBQUM7QUFBQSxDQUFDLENBQUM7QUFFSEMsUUFBUSxDQUFDLGdCQUFnQixFQUFFLFlBQU07RUFDL0JDLEVBQUUsQ0FBQyxlQUFlLGVBQUFDLGlCQUFBLGNBQUFDLG1CQUFBLENBQUFDLElBQUEsQ0FBRSxTQUFBQyxRQUFBO0lBQUEsT0FBQUYsbUJBQUEsQ0FBQUcsSUFBQSxXQUFBQyxRQUFBO01BQUEsa0JBQUFBLFFBQUEsQ0FBQUMsSUFBQSxHQUFBRCxRQUFBLENBQUFFLElBQUE7UUFBQTtVQUNsQmYsVUFBVSxDQUFDO1lBQUVnQixJQUFJLEVBQUUsQ0FBQztjQUFFQyxFQUFFLEVBQUUsQ0FBQztjQUFFQyxTQUFTLEVBQUU7WUFBTSxDQUFDO1VBQUUsQ0FBQyxDQUFDO1VBQUFMLFFBQUEsQ0FBQUUsSUFBQTtVQUFBLE9BRTdDSSxNQUFNLENBQUNsQixjQUFjLENBQUM7WUFBRUksSUFBSSxFQUFFO1VBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQ2UsUUFBUSxDQUFDQyxPQUFPLENBQUMsQ0FBQztZQUFFSixFQUFFLEVBQUUsQ0FBQztZQUFFQyxTQUFTLEVBQUU7VUFBTSxDQUFDLENBQUMsQ0FBQztRQUFBO1VBQzVGQyxNQUFNLENBQUNyQixTQUFTLENBQUMsQ0FBQyxDQUFDd0IsR0FBRyxDQUFDLENBQUNDLElBQUksQ0FBQyx3Q0FBd0MsQ0FBQztRQUFBO1FBQUE7VUFBQSxPQUFBVixRQUFBLENBQUFXLElBQUE7TUFBQTtJQUFBLEdBQUFiLE9BQUE7RUFBQSxDQUN2RSxHQUFDO0VBRUZKLEVBQUUsQ0FBQyw2Q0FBNkMsZUFBQUMsaUJBQUEsY0FBQUMsbUJBQUEsQ0FBQUMsSUFBQSxDQUFFLFNBQUFlLFNBQUE7SUFBQSxPQUFBaEIsbUJBQUEsQ0FBQUcsSUFBQSxXQUFBYyxTQUFBO01BQUEsa0JBQUFBLFNBQUEsQ0FBQVosSUFBQSxHQUFBWSxTQUFBLENBQUFYLElBQUE7UUFBQTtVQUNoRGYsVUFBVSxDQUFDO1lBQUVnQixJQUFJLEVBQUU7VUFBRyxDQUFDLENBQUM7VUFBQVUsU0FBQSxDQUFBWCxJQUFBO1VBQUEsT0FDbEJkLGNBQWMsQ0FBQztZQUFFSSxJQUFJLEVBQUU7VUFBSyxDQUFDLENBQUM7UUFBQTtVQUNwQ2MsTUFBTSxDQUFDckIsU0FBUyxDQUFDLENBQUMsQ0FBQ3dCLEdBQUcsQ0FBQyxDQUFDQyxJQUFJLENBQUMsd0NBQXdDLENBQUM7VUFFdEV2QixVQUFVLENBQUM7WUFBRWdCLElBQUksRUFBRTtVQUFHLENBQUMsQ0FBQztVQUFBVSxTQUFBLENBQUFYLElBQUE7VUFBQSxPQUNsQmQsY0FBYyxDQUFDO1lBQUVJLElBQUksRUFBRTtVQUFLLENBQUMsQ0FBQztRQUFBO1VBQ3BDYyxNQUFNLENBQUNyQixTQUFTLENBQUMsQ0FBQyxDQUFDd0IsR0FBRyxDQUFDLENBQUNDLElBQUksQ0FBQyx3Q0FBd0MsQ0FBQztRQUFBO1FBQUE7VUFBQSxPQUFBRyxTQUFBLENBQUFGLElBQUE7TUFBQTtJQUFBLEdBQUFDLFFBQUE7RUFBQSxDQUN2RSxHQUFDO0VBRUZsQixFQUFFLENBQUMsb0NBQW9DLGVBQUFDLGlCQUFBLGNBQUFDLG1CQUFBLENBQUFDLElBQUEsQ0FBRSxTQUFBaUIsU0FBQTtJQUFBLE9BQUFsQixtQkFBQSxDQUFBRyxJQUFBLFdBQUFnQixTQUFBO01BQUEsa0JBQUFBLFNBQUEsQ0FBQWQsSUFBQSxHQUFBYyxTQUFBLENBQUFiLElBQUE7UUFBQTtVQUN2Q2hCLGFBQWEsQ0FBQyxHQUFHLENBQUM7VUFBQTZCLFNBQUEsQ0FBQWIsSUFBQTtVQUFBLE9BRVpJLE1BQU0sQ0FBQ2xCLGNBQWMsQ0FBQztZQUFFSSxJQUFJLEVBQUU7VUFBSyxDQUFDLENBQUMsQ0FBQyxDQUFDd0IsT0FBTyxDQUFDQyxPQUFPLENBQUMsc0JBQXNCLENBQUM7UUFBQTtRQUFBO1VBQUEsT0FBQUYsU0FBQSxDQUFBSixJQUFBO01BQUE7SUFBQSxHQUFBRyxRQUFBO0VBQUEsQ0FDckYsR0FBQztBQUNKLENBQUMsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==