@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.
- package/CHANGELOG.md +847 -0
- package/lib/App.js +44 -19
- package/lib/components/atoms/ApprovalBox/ApprovalBox.spec.js +135 -0
- package/lib/components/atoms/Checkbox/Checkbox.spec.js +27 -0
- package/lib/components/atoms/Chip/Chip.spec.js +82 -0
- package/lib/components/atoms/ContextMentionChip/ContextMentionChip.spec.js +29 -0
- package/lib/components/atoms/Fade/Fade.spec.js +31 -0
- package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.js +3 -1
- package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.styles.js +19 -7
- package/lib/components/atoms/MAIAButton/MAIAButton.spec.js +42 -0
- package/lib/components/atoms/MAIAInput/MAIAInput.spec.js +303 -0
- package/lib/components/atoms/ReasoningBlock/ReasoningBlock.js +7 -2
- package/lib/components/atoms/ReasoningBlock/ReasoningBlock.spec.js +69 -0
- package/lib/components/atoms/ReasoningBlock/ReasoningBlock.styles.js +10 -14
- package/lib/components/atoms/ReasoningBlock/ReasoningSteps.js +1 -1
- package/lib/components/atoms/ReasoningBlock/ReasoningSteps.spec.js +59 -0
- package/lib/components/atoms/ReasoningBlock/ReasoningTimeline.js +57 -37
- package/lib/components/atoms/ReasoningBlock/ReasoningTimeline.spec.js +58 -0
- package/lib/components/atoms/ReasoningBlock/reasoningLiveNarration.js +18 -12
- package/lib/components/atoms/ReasoningBlock/reasoningLiveNarration.spec.js +68 -0
- package/lib/components/atoms/ReasoningBlock/useCollapsibleHeight.js +52 -0
- package/lib/components/atoms/ReasoningBlock/useCollapsibleHeight.spec.js +90 -0
- package/lib/components/atoms/SkillsDropdown/SkillsDropdown.spec.js +107 -0
- package/lib/components/atoms/SlashCommandDropdown/SlashCommandDropdown.spec.js +85 -0
- package/lib/components/atoms/Switch/Switch.spec.js +41 -0
- package/lib/components/index.js +2 -1
- package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.spec.js +77 -0
- package/lib/components/molecules/AgentInputBlock/AgentInputBlockMessage.js +83 -0
- package/lib/components/molecules/AgentInputBlock/AgentInputBlockMessage.styles.js +30 -0
- package/lib/components/molecules/AgentInputBlock/index.js +5 -0
- package/lib/components/molecules/AgentInputBlock/resolveAgentInputBlock.js +52 -0
- package/lib/components/molecules/AgentInputBlock/resolveAgentInputBlock.spec.js +76 -0
- package/lib/components/molecules/AgentInputBlock/resolveLegacyContextSession.js +20 -0
- package/lib/components/molecules/AgentInputBlock/resolveLegacyContextSession.spec.js +34 -0
- package/lib/components/molecules/AgentInputBlock/useAgentChangeModelAction.js +36 -0
- package/lib/components/molecules/ChatAIContent/ChatAIContent.js +7 -3
- package/lib/components/molecules/ChatAIHome/ChatAIHome.js +21 -6
- package/lib/components/molecules/ChatAIHome/ChatAIHome.spec.js +246 -0
- package/lib/components/molecules/ChatAIMessages/ChatAICreateAgentActions.spec.js +104 -0
- package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +9 -3
- package/lib/components/molecules/ChatAIMessages/ChatAIMessages.spec.js +291 -0
- package/lib/components/molecules/ChatAIMessages/ChatAISuggestions.spec.js +46 -0
- package/lib/components/molecules/ChatAIMessages/newStyles.js +29 -26
- package/lib/components/molecules/ChatAIModal/ChatAIModal.helpers.js +8 -1
- package/lib/components/molecules/ChatAIModal/ChatAIModal.helpers.spec.js +148 -0
- package/lib/components/molecules/ChatAIModal/ChatAIModal.js +25 -8
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.js +15 -153
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.styles.js +2 -26
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +65 -61
- package/lib/components/molecules/ChatAIModal/components/MaiaMinimizedPill/MaiaMinimizedPill.spec.js +37 -0
- package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.spec.js +128 -0
- package/lib/components/molecules/ChatFooter/ChatFooter.js +5 -3
- package/lib/components/molecules/ChatFooter/ChatFooter.spec.js +112 -0
- package/lib/components/molecules/ContextMentionInput/ContextMentionInput.spec.js +84 -0
- package/lib/components/molecules/MessageFeedback/MessageFeedback.spec.js +116 -0
- package/lib/components/molecules/Sidebar/Sidebar.js +41 -23
- package/lib/components/molecules/Sidebar/Sidebar.spec.js +234 -0
- package/lib/components/organisms/AbmAgentModal/AbmAgentModal.js +2 -2
- package/lib/components/organisms/AbmAgentModal/AbmAgentModal.spec.js +335 -0
- package/lib/components/organisms/AbmSkillModal/AbmSkillModal.spec.js +405 -0
- package/lib/components/organisms/ChatAI/ChatAI.spec.js +174 -0
- package/lib/components/organisms/ChatAIPage/ChatAIPage.js +525 -0
- package/lib/components/organisms/ChatAIPage/ChatAIPage.spec.js +231 -0
- package/lib/components/organisms/ChatAIPage/ChatAIPage.styles.js +16 -0
- package/lib/components/organisms/ChatAIPage/ChatAIPageHeader.js +253 -0
- package/lib/components/organisms/ChatAIPage/ChatAIPageHeader.spec.js +139 -0
- package/lib/components/organisms/ChatAIPage/ChatAIPageHeader.styles.js +13 -0
- package/lib/components/organisms/ChatAIPage/ChatAIPageHome.js +267 -0
- package/lib/components/organisms/ChatAIPage/ChatAIPageHome.spec.js +261 -0
- package/lib/components/organisms/ChatAIPage/ChatAIPageHome.styles.js +194 -0
- package/lib/components/organisms/ChatAIPage/ChatAIPageHomeActionCardSlot.js +105 -0
- package/lib/components/organisms/ChatAIPage/ChatAIPageHomeActionCardSlot.spec.js +73 -0
- package/lib/components/organisms/ChatAIPage/ChatAIPageHomeActionCards.skeleton.js +38 -0
- package/lib/components/organisms/ChatAIPage/getDaypart.js +9 -0
- package/lib/components/organisms/ChatAIPage/getDaypart.spec.js +19 -0
- package/lib/components/organisms/ChatAIPage/index.js +3 -0
- package/lib/components/organisms/DeleteAgentModal/DeleteAgentModal.spec.js +59 -0
- package/lib/components/organisms/DeleteQuestionModal/DeleteQuestionModal.spec.js +79 -0
- package/lib/components/organisms/EditQuestionModal/EditQuestionModal.spec.js +86 -0
- package/lib/constants/permissions/index.js +2 -2
- package/lib/constants/permissions/utils.js +4 -1
- package/lib/constants/permissions/utils.spec.js +34 -0
- package/lib/dev/DevMaiaPage.js +30 -0
- package/lib/dev/DevReasoningTimeline.js +11 -17
- package/lib/dev/Providers.js +5 -3
- package/lib/hooks/frequentlyUsedActionsCache.js +17 -0
- package/lib/hooks/frequentlyUsedActionsCache.spec.js +25 -0
- package/lib/hooks/useAgentModel/useCreateAgent.spec.js +95 -0
- package/lib/hooks/useAgentModel/useUpdateAgent.spec.js +96 -0
- package/lib/hooks/useCaretPosition.spec.js +58 -0
- package/lib/hooks/useChatManager/useChatManager.js +7 -7
- package/lib/hooks/useChatMessages/useChatMessages.spec.js +279 -0
- package/lib/hooks/useContinueLegacyContextInNewChat/index.js +2 -0
- package/lib/hooks/useContinueLegacyContextInNewChat/useContinueLegacyContextInNewChat.js +93 -0
- package/lib/hooks/useDebounce.spec.js +42 -0
- package/lib/hooks/useEvent.spec.js +40 -0
- package/lib/hooks/useFrequentlyUsedActions.js +63 -20
- package/lib/hooks/useIsMaiaPageRoute.js +26 -0
- package/lib/hooks/useIsMaiaPageRoute.spec.js +26 -0
- package/lib/hooks/useMaiaChatSessionMeta/index.js +2 -0
- package/lib/hooks/useMaiaChatSessionMeta/useMaiaChatSessionMeta.js +24 -0
- package/lib/hooks/useMentionAllowedTypes.spec.js +89 -0
- package/lib/hooks/useMinimizedPillNoveltyDot/useMinimizedPillNoveltyDot.spec.js +67 -0
- package/lib/hooks/useModal/useModal.spec.js +73 -0
- package/lib/hooks/useResize.spec.js +37 -0
- package/lib/hooks/useSkillsCatalog.spec.js +88 -0
- package/lib/hooks/useSnackBarManager/useSnackBarManager.spec.js +33 -0
- package/lib/hooks/useT.spec.js +20 -0
- package/lib/hooks/useToggle.spec.js +33 -0
- package/lib/index.js +5 -2
- package/lib/lang/br/index.js +26 -1
- package/lib/lang/en/index.js +26 -1
- package/lib/lang/es/index.js +26 -1
- package/lib/lang/fr/index.js +26 -1
- package/lib/services/maia/Access/updateAccess.spec.js +108 -0
- package/lib/services/maia/Actions/getFrequentlyUsedActions.js +1 -1
- package/lib/services/maia/Actions/getFrequentlyUsedActions.spec.js +56 -0
- package/lib/services/maia/Actions/getSlashCommands.spec.js +74 -0
- package/lib/services/maia/Agents/createAgent.spec.js +55 -0
- package/lib/services/maia/Agents/deleteAgent.spec.js +42 -0
- package/lib/services/maia/Agents/fetchAgentDetail.spec.js +108 -0
- package/lib/services/maia/Agents/getAgentById.spec.js +55 -0
- package/lib/services/maia/Agents/getAgentSuggestions.spec.js +82 -0
- package/lib/services/maia/Agents/setAgentToolGroups.spec.js +45 -0
- package/lib/services/maia/Agents/toggleFavorite.spec.js +47 -0
- package/lib/services/maia/Agents/updateAgent.spec.js +48 -0
- package/lib/services/maia/Chats/deleteChat.spec.js +31 -0
- package/lib/services/maia/Chats/getChatMessages.spec.js +150 -0
- package/lib/services/maia/Chats/getChatsByUserId.spec.js +149 -0
- package/lib/services/maia/Chats/markSessionAsRead.spec.js +30 -0
- package/lib/services/maia/Chats/patchChat.spec.js +41 -0
- package/lib/services/maia/Chats/wasHelpfulChat.spec.js +28 -0
- package/lib/services/maia/Faqs/getFrequentlyAskedQuestions.spec.js +58 -0
- package/lib/services/maia/Knowledge/delete.spec.js +45 -0
- package/lib/services/maia/Knowledge/download.spec.js +78 -0
- package/lib/services/maia/Knowledge/save.spec.js +58 -0
- package/lib/services/maia/Orchestrator/orchestrator.spec.js +72 -0
- package/lib/services/maia/RecentClients/getRecentClients.spec.js +52 -0
- package/lib/services/maia/RecentContexts/getRecentContexts.spec.js +83 -0
- package/lib/services/maia/RecentProjects/getRecentProjects.spec.js +82 -0
- package/lib/services/maia/RecentTasks/getRecentTasks.spec.js +63 -0
- package/lib/services/maia/RecentUsers/getRecentUsers.spec.js +82 -0
- package/lib/services/maia/Skills/createSkill.spec.js +68 -0
- package/lib/services/maia/Skills/deleteSkill.spec.js +42 -0
- package/lib/services/maia/Skills/generateSkill.spec.js +48 -0
- package/lib/services/maia/Skills/getSkills.spec.js +152 -0
- package/lib/services/maia/Skills/updateSkill.spec.js +62 -0
- package/lib/services/maia/client.spec.js +56 -0
- package/lib/services/utils/fetchCOR.spec.js +211 -0
- package/lib/services/utils/getCookie.spec.js +20 -0
- package/lib/store/chatsSidebarOptimistic.spec.js +120 -0
- package/lib/store/maiaLastChatPersistence.spec.js +22 -0
- package/lib/store/maiaPanelSessionPersistence.spec.js +62 -0
- package/lib/store/sessions/sessionStreamManager.js +40 -52
- package/lib/store/sessions/sessions.types.spec.js +16 -0
- package/lib/store/sessions/useSessionsStore.spec.js +135 -0
- package/lib/store/useChatsStore.spec.js +619 -0
- package/lib/store/useFaqsStore.spec.js +57 -0
- package/lib/styles/cascade.js +29 -3
- package/lib/styles/transitions.js +3 -1
- package/lib/types/global.d.js +1 -1
- package/lib/utils/agentDisplayName.spec.js +44 -0
- package/lib/utils/autoApproveStorage.spec.js +25 -0
- package/lib/utils/chatInputFiles.spec.js +39 -0
- package/lib/utils/contextMentionLabel.spec.js +13 -0
- package/lib/utils/contextMentionTriggers.spec.js +38 -0
- package/lib/utils/contextMentionTypeLabel.spec.js +14 -0
- package/lib/utils/corConnectorMentionTypes.spec.js +23 -0
- package/lib/utils/fileDownloadHelper.spec.js +67 -0
- package/lib/utils/formatQuickActionMessage.spec.js +27 -0
- package/lib/utils/formatUnreadCount.spec.js +12 -0
- package/lib/utils/getUnitFileSize.spec.js +18 -0
- package/lib/utils/hitlAnalytics.spec.js +100 -0
- package/lib/utils/hoursPlannerQuickActionType.js +74 -1
- package/lib/utils/hoursPlannerQuickActionType.spec.js +64 -0
- package/lib/utils/maiaPageRoute.js +24 -0
- package/lib/utils/maiaPageRoute.spec.js +23 -0
- package/lib/utils/mapBackendLang.spec.js +19 -0
- package/lib/utils/navigateContextEntity.spec.js +50 -0
- package/lib/utils/normalizeAgentConnectors.spec.js +89 -0
- package/lib/utils/orchestratorSubagents.spec.js +32 -0
- package/lib/utils/reasoningMappers.spec.js +103 -0
- package/lib/utils/retryCompletion.spec.js +99 -0
- package/lib/utils/skillContentSize.spec.js +13 -0
- package/lib/utils/slashCommandMarker.spec.js +43 -0
- package/lib/utils/sortManagerHoursHomeFuas.spec.js +51 -0
- package/lib/utils/sseStreamContent.spec.js +31 -0
- package/lib/utils/streamActivityMessages.js +32 -19
- package/lib/utils/streamActivityMessages.spec.js +131 -0
- package/lib/utils/validateTrimmedFields.spec.js +26 -0
- package/package.json +1 -1
- package/README.md +0 -2
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
+
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; }
|
|
3
|
+
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; }
|
|
4
|
+
import { CORUserRole } from '../../context/cor-user';
|
|
5
|
+
import { canAccessToSkills } from './utils';
|
|
6
|
+
describe('canAccessToSkills', function () {
|
|
7
|
+
var user = {
|
|
8
|
+
id: 1,
|
|
9
|
+
company_id: 10,
|
|
10
|
+
role_id: CORUserRole.PROJECT_MANAGER
|
|
11
|
+
};
|
|
12
|
+
var originalSkillsAccess = window.MAIA_SKILLS_ACCESS;
|
|
13
|
+
afterEach(function () {
|
|
14
|
+
window.MAIA_SKILLS_ACCESS = originalSkillsAccess;
|
|
15
|
+
});
|
|
16
|
+
it('returns true when MAIA_SKILLS_ACCESS is enabled and role is allowed', function () {
|
|
17
|
+
window.MAIA_SKILLS_ACCESS = true;
|
|
18
|
+
expect(canAccessToSkills(user)).toBe(true);
|
|
19
|
+
});
|
|
20
|
+
it('returns false when MAIA_SKILLS_ACCESS is disabled', function () {
|
|
21
|
+
window.MAIA_SKILLS_ACCESS = false;
|
|
22
|
+
expect(canAccessToSkills(user)).toBe(false);
|
|
23
|
+
});
|
|
24
|
+
it('returns false for client and freelancer roles', function () {
|
|
25
|
+
window.MAIA_SKILLS_ACCESS = true;
|
|
26
|
+
expect(canAccessToSkills(_objectSpread(_objectSpread({}, user), {}, {
|
|
27
|
+
role_id: CORUserRole.CLIENT
|
|
28
|
+
}))).toBe(false);
|
|
29
|
+
expect(canAccessToSkills(_objectSpread(_objectSpread({}, user), {}, {
|
|
30
|
+
role_id: CORUserRole.FREELANCER
|
|
31
|
+
}))).toBe(false);
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDT1JVc2VyUm9sZSIsImNhbkFjY2Vzc1RvU2tpbGxzIiwiZGVzY3JpYmUiLCJ1c2VyIiwiaWQiLCJjb21wYW55X2lkIiwicm9sZV9pZCIsIlBST0pFQ1RfTUFOQUdFUiIsIm9yaWdpbmFsU2tpbGxzQWNjZXNzIiwid2luZG93IiwiTUFJQV9TS0lMTFNfQUNDRVNTIiwiYWZ0ZXJFYWNoIiwiaXQiLCJleHBlY3QiLCJ0b0JlIiwiX29iamVjdFNwcmVhZCIsIkNMSUVOVCIsIkZSRUVMQU5DRVIiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29uc3RhbnRzL3Blcm1pc3Npb25zL3V0aWxzLnNwZWMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ09SVXNlclJvbGUgfSBmcm9tICcuLi8uLi9jb250ZXh0L2Nvci11c2VyJ1xuaW1wb3J0IHsgY2FuQWNjZXNzVG9Ta2lsbHMgfSBmcm9tICcuL3V0aWxzJ1xuXG5kZXNjcmliZSgnY2FuQWNjZXNzVG9Ta2lsbHMnLCAoKSA9PiB7XG4gIGNvbnN0IHVzZXIgPSB7IGlkOiAxLCBjb21wYW55X2lkOiAxMCwgcm9sZV9pZDogQ09SVXNlclJvbGUuUFJPSkVDVF9NQU5BR0VSIH1cbiAgY29uc3Qgb3JpZ2luYWxTa2lsbHNBY2Nlc3MgPSB3aW5kb3cuTUFJQV9TS0lMTFNfQUNDRVNTXG5cbiAgYWZ0ZXJFYWNoKCgpID0+IHtcbiAgICB3aW5kb3cuTUFJQV9TS0lMTFNfQUNDRVNTID0gb3JpZ2luYWxTa2lsbHNBY2Nlc3NcbiAgfSlcblxuICBpdCgncmV0dXJucyB0cnVlIHdoZW4gTUFJQV9TS0lMTFNfQUNDRVNTIGlzIGVuYWJsZWQgYW5kIHJvbGUgaXMgYWxsb3dlZCcsICgpID0+IHtcbiAgICB3aW5kb3cuTUFJQV9TS0lMTFNfQUNDRVNTID0gdHJ1ZVxuICAgIGV4cGVjdChjYW5BY2Nlc3NUb1NraWxscyh1c2VyKSkudG9CZSh0cnVlKVxuICB9KVxuXG4gIGl0KCdyZXR1cm5zIGZhbHNlIHdoZW4gTUFJQV9TS0lMTFNfQUNDRVNTIGlzIGRpc2FibGVkJywgKCkgPT4ge1xuICAgIHdpbmRvdy5NQUlBX1NLSUxMU19BQ0NFU1MgPSBmYWxzZVxuICAgIGV4cGVjdChjYW5BY2Nlc3NUb1NraWxscyh1c2VyKSkudG9CZShmYWxzZSlcbiAgfSlcblxuICBpdCgncmV0dXJucyBmYWxzZSBmb3IgY2xpZW50IGFuZCBmcmVlbGFuY2VyIHJvbGVzJywgKCkgPT4ge1xuICAgIHdpbmRvdy5NQUlBX1NLSUxMU19BQ0NFU1MgPSB0cnVlXG4gICAgZXhwZWN0KGNhbkFjY2Vzc1RvU2tpbGxzKHsgLi4udXNlciwgcm9sZV9pZDogQ09SVXNlclJvbGUuQ0xJRU5UIH0pKS50b0JlKGZhbHNlKVxuICAgIGV4cGVjdChjYW5BY2Nlc3NUb1NraWxscyh7IC4uLnVzZXIsIHJvbGVfaWQ6IENPUlVzZXJSb2xlLkZSRUVMQU5DRVIgfSkpLnRvQmUoZmFsc2UpXG4gIH0pXG59KVxuIl0sIm1hcHBpbmdzIjoiOzs7QUFBQSxTQUFTQSxXQUFXLFFBQVEsd0JBQXdCO0FBQ3BELFNBQVNDLGlCQUFpQixRQUFRLFNBQVM7QUFFM0NDLFFBQVEsQ0FBQyxtQkFBbUIsRUFBRSxZQUFNO0VBQ2xDLElBQU1DLElBQUksR0FBRztJQUFFQyxFQUFFLEVBQUUsQ0FBQztJQUFFQyxVQUFVLEVBQUUsRUFBRTtJQUFFQyxPQUFPLEVBQUVOLFdBQVcsQ0FBQ087RUFBZ0IsQ0FBQztFQUM1RSxJQUFNQyxvQkFBb0IsR0FBR0MsTUFBTSxDQUFDQyxrQkFBa0I7RUFFdERDLFNBQVMsQ0FBQyxZQUFNO0lBQ2RGLE1BQU0sQ0FBQ0Msa0JBQWtCLEdBQUdGLG9CQUFvQjtFQUNsRCxDQUFDLENBQUM7RUFFRkksRUFBRSxDQUFDLHFFQUFxRSxFQUFFLFlBQU07SUFDOUVILE1BQU0sQ0FBQ0Msa0JBQWtCLEdBQUcsSUFBSTtJQUNoQ0csTUFBTSxDQUFDWixpQkFBaUIsQ0FBQ0UsSUFBSSxDQUFDLENBQUMsQ0FBQ1csSUFBSSxDQUFDLElBQUksQ0FBQztFQUM1QyxDQUFDLENBQUM7RUFFRkYsRUFBRSxDQUFDLG1EQUFtRCxFQUFFLFlBQU07SUFDNURILE1BQU0sQ0FBQ0Msa0JBQWtCLEdBQUcsS0FBSztJQUNqQ0csTUFBTSxDQUFDWixpQkFBaUIsQ0FBQ0UsSUFBSSxDQUFDLENBQUMsQ0FBQ1csSUFBSSxDQUFDLEtBQUssQ0FBQztFQUM3QyxDQUFDLENBQUM7RUFFRkYsRUFBRSxDQUFDLCtDQUErQyxFQUFFLFlBQU07SUFDeERILE1BQU0sQ0FBQ0Msa0JBQWtCLEdBQUcsSUFBSTtJQUNoQ0csTUFBTSxDQUFDWixpQkFBaUIsQ0FBQWMsYUFBQSxDQUFBQSxhQUFBLEtBQU1aLElBQUk7TUFBRUcsT0FBTyxFQUFFTixXQUFXLENBQUNnQjtJQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUNGLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDL0VELE1BQU0sQ0FBQ1osaUJBQWlCLENBQUFjLGFBQUEsQ0FBQUEsYUFBQSxLQUFNWixJQUFJO01BQUVHLE9BQU8sRUFBRU4sV0FBVyxDQUFDaUI7SUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDSCxJQUFJLENBQUMsS0FBSyxDQUFDO0VBQ3JGLENBQUMsQ0FBQztBQUNKLENBQUMsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { ChatAIPage } from '../components/organisms/ChatAIPage';
|
|
2
|
+
import { SCPageHost } from '../components/organisms/ChatAIPage/ChatAIPage.styles';
|
|
3
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
4
|
+
export var DevMaiaPage = function DevMaiaPage() {
|
|
5
|
+
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
6
|
+
children: [/*#__PURE__*/_jsx("div", {
|
|
7
|
+
id: "abm-agent-modal"
|
|
8
|
+
}), /*#__PURE__*/_jsx("div", {
|
|
9
|
+
id: "snackbar-portal-maia-chat-agent"
|
|
10
|
+
}), /*#__PURE__*/_jsx("div", {
|
|
11
|
+
id: "emoji-picker-container"
|
|
12
|
+
}), /*#__PURE__*/_jsx("div", {
|
|
13
|
+
id: "emoji-picker-container-maia-chat-agent"
|
|
14
|
+
}), /*#__PURE__*/_jsx("div", {
|
|
15
|
+
id: "modal-portal-video-onboarding"
|
|
16
|
+
}), /*#__PURE__*/_jsx(SCPageHost, {
|
|
17
|
+
style: {
|
|
18
|
+
height: '100vh'
|
|
19
|
+
},
|
|
20
|
+
children: /*#__PURE__*/_jsx(ChatAIPage, {
|
|
21
|
+
section: "header",
|
|
22
|
+
entity: {
|
|
23
|
+
projectId: null,
|
|
24
|
+
clientId: null
|
|
25
|
+
}
|
|
26
|
+
})
|
|
27
|
+
})]
|
|
28
|
+
});
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDaGF0QUlQYWdlIiwiU0NQYWdlSG9zdCIsImpzeCIsIl9qc3giLCJGcmFnbWVudCIsIl9GcmFnbWVudCIsImpzeHMiLCJfanN4cyIsIkRldk1haWFQYWdlIiwiY2hpbGRyZW4iLCJpZCIsInN0eWxlIiwiaGVpZ2h0Iiwic2VjdGlvbiIsImVudGl0eSIsInByb2plY3RJZCIsImNsaWVudElkIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Rldi9EZXZNYWlhUGFnZS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhdEFJUGFnZSB9IGZyb20gJy4uL2NvbXBvbmVudHMvb3JnYW5pc21zL0NoYXRBSVBhZ2UnXG5pbXBvcnQgeyBTQ1BhZ2VIb3N0IH0gZnJvbSAnLi4vY29tcG9uZW50cy9vcmdhbmlzbXMvQ2hhdEFJUGFnZS9DaGF0QUlQYWdlLnN0eWxlcydcblxuZXhwb3J0IGNvbnN0IERldk1haWFQYWdlID0gKCkgPT4gKFxuICA8PlxuICAgIDxkaXYgaWQ9XCJhYm0tYWdlbnQtbW9kYWxcIiAvPlxuICAgIDxkaXYgaWQ9XCJzbmFja2Jhci1wb3J0YWwtbWFpYS1jaGF0LWFnZW50XCIgLz5cbiAgICA8ZGl2IGlkPVwiZW1vamktcGlja2VyLWNvbnRhaW5lclwiIC8+XG4gICAgPGRpdiBpZD1cImVtb2ppLXBpY2tlci1jb250YWluZXItbWFpYS1jaGF0LWFnZW50XCIgLz5cbiAgICA8ZGl2IGlkPVwibW9kYWwtcG9ydGFsLXZpZGVvLW9uYm9hcmRpbmdcIiAvPlxuICAgIDxTQ1BhZ2VIb3N0IHN0eWxlPXt7IGhlaWdodDogJzEwMHZoJyB9fT5cbiAgICAgIDxDaGF0QUlQYWdlIHNlY3Rpb249XCJoZWFkZXJcIiBlbnRpdHk9e3sgcHJvamVjdElkOiBudWxsLCBjbGllbnRJZDogbnVsbCB9fSAvPlxuICAgIDwvU0NQYWdlSG9zdD5cbiAgPC8+XG4pXG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLFVBQVUsUUFBUSxvQ0FBb0M7QUFDL0QsU0FBU0MsVUFBVSxRQUFRLHNEQUFzRDtBQUFBLFNBQUFDLEdBQUEsSUFBQUMsSUFBQSxFQUFBQyxRQUFBLElBQUFDLFNBQUEsRUFBQUMsSUFBQSxJQUFBQyxLQUFBO0FBRWpGLE9BQU8sSUFBTUMsV0FBVyxHQUFHLFNBQWRBLFdBQVdBLENBQUE7RUFBQSxvQkFDdEJELEtBQUEsQ0FBQUYsU0FBQTtJQUFBSSxRQUFBLGdCQUNFTixJQUFBO01BQUtPLEVBQUUsRUFBQztJQUFpQixDQUFFLENBQUMsZUFDNUJQLElBQUE7TUFBS08sRUFBRSxFQUFDO0lBQWlDLENBQUUsQ0FBQyxlQUM1Q1AsSUFBQTtNQUFLTyxFQUFFLEVBQUM7SUFBd0IsQ0FBRSxDQUFDLGVBQ25DUCxJQUFBO01BQUtPLEVBQUUsRUFBQztJQUF3QyxDQUFFLENBQUMsZUFDbkRQLElBQUE7TUFBS08sRUFBRSxFQUFDO0lBQStCLENBQUUsQ0FBQyxlQUMxQ1AsSUFBQSxDQUFDRixVQUFVO01BQUNVLEtBQUssRUFBRTtRQUFFQyxNQUFNLEVBQUU7TUFBUSxDQUFFO01BQUFILFFBQUEsZUFDckNOLElBQUEsQ0FBQ0gsVUFBVTtRQUFDYSxPQUFPLEVBQUMsUUFBUTtRQUFDQyxNQUFNLEVBQUU7VUFBRUMsU0FBUyxFQUFFLElBQUk7VUFBRUMsUUFBUSxFQUFFO1FBQUs7TUFBRSxDQUFFO0lBQUMsQ0FDbEUsQ0FBQztFQUFBLENBQ2IsQ0FBQztBQUFBLENBQ0oiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -14,7 +14,7 @@ import { shouldStreamNarrationInTimeline } from '../components/atoms/ReasoningBl
|
|
|
14
14
|
import { reasoningStore } from '../hooks/useReasoningTrace/reasoningStore';
|
|
15
15
|
import { useReasoningTrace } from '../hooks/useReasoningTrace';
|
|
16
16
|
import { useT } from '../hooks/useT';
|
|
17
|
-
import {
|
|
17
|
+
import { getInitialStreamActivity, getThinkingStreamActivity, getWritingStreamActivity } from '../utils/streamActivityMessages';
|
|
18
18
|
import { MOCK_EVENTS, MOCK_SUMMARY } from './reasoningTraceMock';
|
|
19
19
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
20
20
|
var MESSAGE_ID = 'answer-dev-reasoning-streaming';
|
|
@@ -59,10 +59,7 @@ export function DevReasoningTimeline() {
|
|
|
59
59
|
clearTimers();
|
|
60
60
|
reasoningStore.clear();
|
|
61
61
|
reasoningStore.start(MESSAGE_ID);
|
|
62
|
-
setActivity(
|
|
63
|
-
phase: 'thinking',
|
|
64
|
-
message: t('chat.activity.thinking.analyzing')
|
|
65
|
-
});
|
|
62
|
+
setActivity(getInitialStreamActivity(t));
|
|
66
63
|
setBody('');
|
|
67
64
|
setIsDone(false);
|
|
68
65
|
setRunId(function (current) {
|
|
@@ -78,13 +75,14 @@ export function DevReasoningTimeline() {
|
|
|
78
75
|
MOCK_EVENTS.forEach(function (event) {
|
|
79
76
|
if (event.kind === 'thinking') {
|
|
80
77
|
schedule(event.at, function () {
|
|
81
|
-
|
|
78
|
+
setActivity(getThinkingStreamActivity(t));
|
|
79
|
+
reasoningStore.appendThinking(MESSAGE_ID, event.i, event.text);
|
|
82
80
|
});
|
|
83
81
|
return;
|
|
84
82
|
}
|
|
85
83
|
if (event.kind === 'body') {
|
|
86
84
|
schedule(event.at, function () {
|
|
87
|
-
|
|
85
|
+
setActivity(getWritingStreamActivity(t));
|
|
88
86
|
});
|
|
89
87
|
// Tokens: el texto entra de a pedazos, como el stream real.
|
|
90
88
|
var size = Math.ceil(event.text.length / BODY_CHUNKS);
|
|
@@ -121,14 +119,8 @@ export function DevReasoningTimeline() {
|
|
|
121
119
|
setBody('');
|
|
122
120
|
reasoningStore.markAnswerReset(MESSAGE_ID);
|
|
123
121
|
}
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
if (payload.status === 'running' && payload.type === 'tool' && payload.tool) {
|
|
127
|
-
var label = resolveToolActionLabel(payload.tool, t, 'present');
|
|
128
|
-
if (label) setActivity({
|
|
129
|
-
phase: 'action',
|
|
130
|
-
message: label
|
|
131
|
-
});
|
|
122
|
+
if (payload.status === 'running' && payload.type === 'tool') {
|
|
123
|
+
setActivity(getThinkingStreamActivity(t));
|
|
132
124
|
}
|
|
133
125
|
});
|
|
134
126
|
});
|
|
@@ -138,7 +130,9 @@ export function DevReasoningTimeline() {
|
|
|
138
130
|
}, [clearTimers]);
|
|
139
131
|
var _useReasoningTrace = useReasoningTrace(isDone ? '' : MESSAGE_ID),
|
|
140
132
|
steps = _useReasoningTrace.steps;
|
|
141
|
-
var streamNarrationInTimeline = shouldStreamNarrationInTimeline(steps, activity, body,
|
|
133
|
+
var streamNarrationInTimeline = shouldStreamNarrationInTimeline(steps, activity, body, {
|
|
134
|
+
messageId: MESSAGE_ID
|
|
135
|
+
});
|
|
142
136
|
return /*#__PURE__*/_jsxs("div", {
|
|
143
137
|
style: {
|
|
144
138
|
padding: 24,
|
|
@@ -234,4 +228,4 @@ export function DevReasoningTimeline() {
|
|
|
234
228
|
})]
|
|
235
229
|
});
|
|
236
230
|
}
|
|
237
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZUVmZmVjdCIsInVzZVJlZiIsInVzZVN0YXRlIiwiQWdlbnRBY3Rpdml0eUluZGljYXRvciIsIk1haWFTdHJlYW1kb3duIiwiUmVhc29uaW5nQmxvY2siLCJTQ1RpbWVsaW5lSW5kaWNhdG9yIiwiU0NGaW5hbEFuc3dlckJvZHkiLCJSZWFzb25pbmdUaW1lbGluZSIsInNob3VsZFN0cmVhbU5hcnJhdGlvbkluVGltZWxpbmUiLCJyZWFzb25pbmdTdG9yZSIsInVzZVJlYXNvbmluZ1RyYWNlIiwidXNlVCIsInJlc29sdmVUb29sQWN0aW9uTGFiZWwiLCJnZXRXcml0aW5nU3RyZWFtQWN0aXZpdHkiLCJNT0NLX0VWRU5UUyIsIk1PQ0tfU1VNTUFSWSIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJNRVNTQUdFX0lEIiwiU1BFRURTIiwiQk9EWV9DSFVOS1MiLCJEZXZSZWFzb25pbmdUaW1lbGluZSIsIl91c2VUIiwidCIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImFjdGl2aXR5Iiwic2V0QWN0aXZpdHkiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImJvZHkiLCJzZXRCb2R5IiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJpc0RvbmUiLCJzZXRJc0RvbmUiLCJfdXNlU3RhdGU3IiwiX3VzZVN0YXRlOCIsInNob3dUaGlua2luZyIsInNldFNob3dUaGlua2luZyIsIl91c2VTdGF0ZTkiLCJfdXNlU3RhdGUwIiwic3BlZWQiLCJzZXRTcGVlZCIsIl91c2VTdGF0ZTEiLCJfdXNlU3RhdGUxMCIsInJ1bklkIiwic2V0UnVuSWQiLCJ0aW1lb3V0c1JlZiIsImNsZWFyVGltZXJzIiwiY3VycmVudCIsImZvckVhY2giLCJpZCIsIndpbmRvdyIsImNsZWFyVGltZW91dCIsInJ1biIsImNsZWFyIiwic3RhcnQiLCJwaGFzZSIsIm1lc3NhZ2UiLCJlbWl0dGVkIiwiTWFwIiwic2NoZWR1bGUiLCJhdCIsImZuIiwicHVzaCIsInNldFRpbWVvdXQiLCJldmVudCIsImtpbmQiLCJhcHBlbmRUaGlua2luZyIsImkiLCJ0ZXh0Iiwic2l6ZSIsIk1hdGgiLCJjZWlsIiwibGVuZ3RoIiwiX2xvb3AiLCJzbGljZSIsImNodW5rIiwiZmluaXNoIiwidiIsInN0ZXBzIiwiX3RvQ29uc3VtYWJsZUFycmF5IiwidmFsdWVzIiwic3VtbWFyeSIsInBheWxvYWQiLCJzZXQiLCJfb2JqZWN0U3ByZWFkIiwiZ2V0IiwiYXBwbHlTdGVwIiwidHlwZSIsIm1hcmtBbnN3ZXJSZXNldCIsInN0YXR1cyIsInRvb2wiLCJsYWJlbCIsIl91c2VSZWFzb25pbmdUcmFjZSIsInN0cmVhbU5hcnJhdGlvbkluVGltZWxpbmUiLCJzdHlsZSIsInBhZGRpbmciLCJkaXNwbGF5IiwiZmxleERpcmVjdGlvbiIsImdhcCIsImZvbnRGYW1pbHkiLCJjaGlsZHJlbiIsImFsaWduSXRlbXMiLCJmbGV4V3JhcCIsIm9uQ2xpY2siLCJmb250U2l6ZSIsIm1hcCIsIm9wdGlvbiIsImZvbnRXZWlnaHQiLCJodG1sRm9yIiwiY2hlY2tlZCIsIm9uQ2hhbmdlIiwiZSIsInRhcmdldCIsIm1hcmdpbiIsImNvbG9yIiwibWF4V2lkdGgiLCJtZXNzYWdlSWQiLCJjb25jYXQiLCJzdHJlYW1BY3Rpdml0eSIsInN0cmVhbWluZ1RleHQiLCJ2YXJpYW50IiwiY29tcGFjdCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kZXYvRGV2UmVhc29uaW5nVGltZWxpbmUudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIHJlYWN0L2J1dHRvbi1oYXMtdHlwZSAqL1xuaW1wb3J0IHsgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuXG5pbXBvcnQgeyBBZ2VudEFjdGl2aXR5SW5kaWNhdG9yIH0gZnJvbSAnLi4vY29tcG9uZW50cy9hdG9tcy9BZ2VudEFjdGl2aXR5SW5kaWNhdG9yL0FnZW50QWN0aXZpdHlJbmRpY2F0b3InXG5pbXBvcnQgeyBNYWlhU3RyZWFtZG93biB9IGZyb20gJy4uL2NvbXBvbmVudHMvYXRvbXMvTWFpYVN0cmVhbWRvd24vTWFpYVN0cmVhbWRvd24nXG5pbXBvcnQgeyBSZWFzb25pbmdCbG9jayB9IGZyb20gJy4uL2NvbXBvbmVudHMvYXRvbXMvUmVhc29uaW5nQmxvY2svUmVhc29uaW5nQmxvY2snXG5pbXBvcnQgeyBTQ1RpbWVsaW5lSW5kaWNhdG9yLCBTQ0ZpbmFsQW5zd2VyQm9keSB9IGZyb20gJy4uL2NvbXBvbmVudHMvYXRvbXMvUmVhc29uaW5nQmxvY2svUmVhc29uaW5nQmxvY2suc3R5bGVzJ1xuaW1wb3J0IHsgUmVhc29uaW5nVGltZWxpbmUgfSBmcm9tICcuLi9jb21wb25lbnRzL2F0b21zL1JlYXNvbmluZ0Jsb2NrL1JlYXNvbmluZ1RpbWVsaW5lJ1xuaW1wb3J0IHsgc2hvdWxkU3RyZWFtTmFycmF0aW9uSW5UaW1lbGluZSB9IGZyb20gJy4uL2NvbXBvbmVudHMvYXRvbXMvUmVhc29uaW5nQmxvY2svcmVhc29uaW5nTGl2ZU5hcnJhdGlvbidcbmltcG9ydCB7IHJlYXNvbmluZ1N0b3JlIH0gZnJvbSAnLi4vaG9va3MvdXNlUmVhc29uaW5nVHJhY2UvcmVhc29uaW5nU3RvcmUnXG5pbXBvcnQgeyB1c2VSZWFzb25pbmdUcmFjZSB9IGZyb20gJy4uL2hvb2tzL3VzZVJlYXNvbmluZ1RyYWNlJ1xuaW1wb3J0IHsgdXNlVCB9IGZyb20gJy4uL2hvb2tzL3VzZVQnXG5pbXBvcnQgeyByZXNvbHZlVG9vbEFjdGlvbkxhYmVsLCBnZXRXcml0aW5nU3RyZWFtQWN0aXZpdHkgfSBmcm9tICcuLi91dGlscy9zdHJlYW1BY3Rpdml0eU1lc3NhZ2VzJ1xuaW1wb3J0IHR5cGUgeyBSZWFzb25pbmdTdGVwUGF5bG9hZCB9IGZyb20gJy4uL3R5cGVzL3JlYXNvbmluZydcbmltcG9ydCB0eXBlIHsgU3RyZWFtQWN0aXZpdHkgfSBmcm9tICcuLi90eXBlcy9zdHJlYW1BY3Rpdml0eSdcbmltcG9ydCB7IE1PQ0tfRVZFTlRTLCBNT0NLX1NVTU1BUlkgfSBmcm9tICcuL3JlYXNvbmluZ1RyYWNlTW9jaydcblxuY29uc3QgTUVTU0FHRV9JRCA9ICdhbnN3ZXItZGV2LXJlYXNvbmluZy1zdHJlYW1pbmcnXG5jb25zdCBTUEVFRFMgPSBbMSwgMiwgNCwgOF0gYXMgY29uc3Rcbi8qKiBDaHVua3MgZW4gbG9zIHF1ZSBzZSBwYXJ0ZSBlbCB0ZXh0byBkZSBjYWRhIHR1cm5vIHBhcmEgc2ltdWxhciBsb3MgdG9rZW5zLiAqL1xuY29uc3QgQk9EWV9DSFVOS1MgPSA0XG5cbmV4cG9ydCBmdW5jdGlvbiBEZXZSZWFzb25pbmdUaW1lbGluZSgpIHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUKClcbiAgY29uc3QgW2FjdGl2aXR5LCBzZXRBY3Rpdml0eV0gPSB1c2VTdGF0ZTxTdHJlYW1BY3Rpdml0eSB8IG51bGw+KG51bGwpXG4gIGNvbnN0IFtib2R5LCBzZXRCb2R5XSA9IHVzZVN0YXRlKCcnKVxuICBjb25zdCBbaXNEb25lLCBzZXRJc0RvbmVdID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtzaG93VGhpbmtpbmcsIHNldFNob3dUaGlua2luZ10gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW3NwZWVkLCBzZXRTcGVlZF0gPSB1c2VTdGF0ZTwodHlwZW9mIFNQRUVEUylbbnVtYmVyXT4oNClcbiAgY29uc3QgW3J1bklkLCBzZXRSdW5JZF0gPSB1c2VTdGF0ZSgwKVxuICBjb25zdCB0aW1lb3V0c1JlZiA9IHVzZVJlZjxudW1iZXJbXT4oW10pXG5cbiAgY29uc3QgY2xlYXJUaW1lcnMgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgdGltZW91dHNSZWYuY3VycmVudC5mb3JFYWNoKGlkID0+IHdpbmRvdy5jbGVhclRpbWVvdXQoaWQpKVxuICAgIHRpbWVvdXRzUmVmLmN1cnJlbnQgPSBbXVxuICB9LCBbXSlcblxuICBjb25zdCBydW4gPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgY2xlYXJUaW1lcnMoKVxuICAgIHJlYXNvbmluZ1N0b3JlLmNsZWFyKClcbiAgICByZWFzb25pbmdTdG9yZS5zdGFydChNRVNTQUdFX0lEKVxuICAgIHNldEFjdGl2aXR5KHsgcGhhc2U6ICd0aGlua2luZycsIG1lc3NhZ2U6IHQoJ2NoYXQuYWN0aXZpdHkudGhpbmtpbmcuYW5hbHl6aW5nJykgfSlcbiAgICBzZXRCb2R5KCcnKVxuICAgIHNldElzRG9uZShmYWxzZSlcbiAgICBzZXRSdW5JZChjdXJyZW50ID0+IGN1cnJlbnQgKyAxKVxuXG4gICAgLy8gTGEgdHJhemEgYXV0b3JpdGF0aXZhIGRlbCBgY29tcGxldGVgIHNlIGFybWEgY29uIGxvcyBtaXNtb3Mgc3RlcHMgcXVlIHNlXG4gICAgLy8gZnVlcm9uIGVtaXRpZW5kbywgcGFyYSBubyBkdXBsaWNhciBlbCBwYXlsb2FkIGVuIGVsIG1vY2suXG4gICAgY29uc3QgZW1pdHRlZCA9IG5ldyBNYXA8bnVtYmVyLCBSZWFzb25pbmdTdGVwUGF5bG9hZD4oKVxuICAgIGNvbnN0IHNjaGVkdWxlID0gKGF0OiBudW1iZXIsIGZuOiAoKSA9PiB2b2lkKSA9PiB7XG4gICAgICB0aW1lb3V0c1JlZi5jdXJyZW50LnB1c2god2luZG93LnNldFRpbWVvdXQoZm4sIGF0IC8gc3BlZWQpKVxuICAgIH1cblxuICAgIE1PQ0tfRVZFTlRTLmZvckVhY2goZXZlbnQgPT4ge1xuICAgICAgaWYgKGV2ZW50LmtpbmQgPT09ICd0aGlua2luZycpIHtcbiAgICAgICAgc2NoZWR1bGUoZXZlbnQuYXQsICgpID0+IHJlYXNvbmluZ1N0b3JlLmFwcGVuZFRoaW5raW5nKE1FU1NBR0VfSUQsIGV2ZW50LmksIGV2ZW50LnRleHQpKVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgaWYgKGV2ZW50LmtpbmQgPT09ICdib2R5Jykge1xuICAgICAgICBzY2hlZHVsZShldmVudC5hdCwgKCkgPT4gc2V0QWN0aXZpdHkoZ2V0V3JpdGluZ1N0cmVhbUFjdGl2aXR5KHQpKSlcbiAgICAgICAgLy8gVG9rZW5zOiBlbCB0ZXh0byBlbnRyYSBkZSBhIHBlZGF6b3MsIGNvbW8gZWwgc3RyZWFtIHJlYWwuXG4gICAgICAgIGNvbnN0IHNpemUgPSBNYXRoLmNlaWwoZXZlbnQudGV4dC5sZW5ndGggLyBCT0RZX0NIVU5LUylcbiAgICAgICAgZm9yIChsZXQgY2h1bmsgPSAwOyBjaHVuayA8IEJPRFlfQ0hVTktTOyBjaHVuayArPSAxKSB7XG4gICAgICAgICAgY29uc3Qgc2xpY2UgPSBldmVudC50ZXh0LnNsaWNlKDAsIHNpemUgKiAoY2h1bmsgKyAxKSlcbiAgICAgICAgICBzY2hlZHVsZShldmVudC5hdCArIGNodW5rICogMjIwLCAoKSA9PiBzZXRCb2R5KHNsaWNlKSlcbiAgICAgICAgfVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgaWYgKGV2ZW50LmtpbmQgPT09ICdjb21wbGV0ZScpIHtcbiAgICAgICAgc2NoZWR1bGUoZXZlbnQuYXQsICgpID0+IHtcbiAgICAgICAgICByZWFzb25pbmdTdG9yZS5maW5pc2goTUVTU0FHRV9JRCwgeyB2OiAxLCBzdGVwczogWy4uLmVtaXR0ZWQudmFsdWVzKCldLCBzdW1tYXJ5OiBNT0NLX1NVTU1BUlkgfSlcbiAgICAgICAgICBzZXRBY3Rpdml0eShudWxsKVxuICAgICAgICAgIHNldElzRG9uZSh0cnVlKVxuICAgICAgICB9KVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgc2NoZWR1bGUoZXZlbnQuYXQsICgpID0+IHtcbiAgICAgICAgY29uc3QgeyBwYXlsb2FkIH0gPSBldmVudFxuICAgICAgICBlbWl0dGVkLnNldChwYXlsb2FkLmksIHsgLi4uZW1pdHRlZC5nZXQocGF5bG9hZC5pKSwgLi4ucGF5bG9hZCB9KVxuXG4gICAgICAgIC8vIElndWFsIHF1ZSBhbnN3ZXJfcmVzZXQgKyByZWFzb25pbmdfc3RlcDogY29tbWl0ZWFyIGZpbGEgeSBsaW1waWFyIGJvZHkuXG4gICAgICAgIHJlYXNvbmluZ1N0b3JlLmFwcGx5U3RlcChNRVNTQUdFX0lELCBwYXlsb2FkKVxuICAgICAgICBpZiAocGF5bG9hZC50eXBlID09PSAnbmFycmF0aW9uJykge1xuICAgICAgICAgIHNldEJvZHkoJycpXG4gICAgICAgICAgcmVhc29uaW5nU3RvcmUubWFya0Fuc3dlclJlc2V0KE1FU1NBR0VfSUQpXG4gICAgICAgIH1cblxuICAgICAgICAvLyBFbCBtYW5hZ2VyIHNhY2EgZWwgbGFiZWwgZGUgYWN0aXZpZGFkIGRlIGxhIHRvb2wgcXVlIGFycmFuY2EgYSBjb3JyZXIuXG4gICAgICAgIGlmIChwYXlsb2FkLnN0YXR1cyA9PT0gJ3J1bm5pbmcnICYmIHBheWxvYWQudHlwZSA9PT0gJ3Rvb2wnICYmIHBheWxvYWQudG9vbCkge1xuICAgICAgICAgIGNvbnN0IGxhYmVsID0gcmVzb2x2ZVRvb2xBY3Rpb25MYWJlbChwYXlsb2FkLnRvb2wsIHQsICdwcmVzZW50JylcbiAgICAgICAgICBpZiAobGFiZWwpIHNldEFjdGl2aXR5KHsgcGhhc2U6ICdhY3Rpb24nLCBtZXNzYWdlOiBsYWJlbCB9KVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH0pXG4gIH0sIFtjbGVhclRpbWVycywgc3BlZWQsIHRdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiBjbGVhclRpbWVycywgW2NsZWFyVGltZXJzXSlcblxuICBjb25zdCB7IHN0ZXBzIH0gPSB1c2VSZWFzb25pbmdUcmFjZShpc0RvbmUgPyAnJyA6IE1FU1NBR0VfSUQpXG4gIGNvbnN0IHN0cmVhbU5hcnJhdGlvbkluVGltZWxpbmUgPSBzaG91bGRTdHJlYW1OYXJyYXRpb25JblRpbWVsaW5lKHN0ZXBzLCBhY3Rpdml0eSwgYm9keSwgTUVTU0FHRV9JRClcblxuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIHN0eWxlPXt7IHBhZGRpbmc6IDI0LCBkaXNwbGF5OiAnZmxleCcsIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLCBnYXA6IDIwLCBmb250RmFtaWx5OiAnV29yayBTYW5zLCBzYW5zLXNlcmlmJyB9fVxuICAgID5cbiAgICAgIDxkaXYgc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnLCBnYXA6IDE2LCBhbGlnbkl0ZW1zOiAnY2VudGVyJywgZmxleFdyYXA6ICd3cmFwJyB9fT5cbiAgICAgICAgPGJ1dHRvbiBvbkNsaWNrPXtydW59IHN0eWxlPXt7IHBhZGRpbmc6ICc2cHggMTRweCcgfX0+XG4gICAgICAgICAgUmVwcm9kdWNpciB0dXJub1xuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPHNwYW4gc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnLCBnYXA6IDQsIGFsaWduSXRlbXM6ICdjZW50ZXInLCBmb250U2l6ZTogMTMgfX0+XG4gICAgICAgICAgVmVsb2NpZGFkOlxuICAgICAgICAgIHtTUEVFRFMubWFwKG9wdGlvbiA9PiAoXG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIGtleT17b3B0aW9ufVxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZXRTcGVlZChvcHRpb24pfVxuICAgICAgICAgICAgICBzdHlsZT17eyBwYWRkaW5nOiAnMnB4IDhweCcsIGZvbnRXZWlnaHQ6IHNwZWVkID09PSBvcHRpb24gPyA3MDAgOiA0MDAgfX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge29wdGlvbn14XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICApKX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8bGFiZWwgaHRtbEZvcj1cImRldi1zaG93LXRoaW5raW5nXCIgc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnLCBnYXA6IDYsIGFsaWduSXRlbXM6ICdjZW50ZXInLCBmb250U2l6ZTogMTMgfX0+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBpZD1cImRldi1zaG93LXRoaW5raW5nXCJcbiAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICBjaGVja2VkPXtzaG93VGhpbmtpbmd9XG4gICAgICAgICAgICBvbkNoYW5nZT17ZSA9PiBzZXRTaG93VGhpbmtpbmcoZS50YXJnZXQuY2hlY2tlZCl9XG4gICAgICAgICAgLz5cbiAgICAgICAgICBNb3N0cmFyIHRoaW5raW5nICh3aW5kb3cucmVhc29uaW5nVGhpbmtpbmcpXG4gICAgICAgIDwvbGFiZWw+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPHAgc3R5bGU9e3sgbWFyZ2luOiAwLCBmb250U2l6ZTogMTIsIGNvbG9yOiAnIzgwODA4MCcsIG1heFdpZHRoOiA2NDAgfX0+XG4gICAgICAgIFJlcGxheSBkZSB1biB0dXJubyByZWFsIGRlIDk0czogMzAgcGFzb3MsIDE4IHRvb2xzLCBkb3MgaGFuZG9mZnMgYW5pZGFkb3MgeSByw6FmYWdhcyBkZSB0b29scyBlbiBwYXJhbGVsby4gRWxcbiAgICAgICAgY3VlcnBvIGRlbCBtZW5zYWplIHNlIGxpbXBpYSBjb24gY2FkYSBuYXJyYWNpw7NuLCBpZ3VhbCBxdWUgZWwgPGNvZGU+YW5zd2VyX3Jlc2V0PC9jb2RlPiBkZWwgYmFja2VuZC5cbiAgICAgIDwvcD5cblxuICAgICAgPGRpdiBzdHlsZT17eyBtYXhXaWR0aDogNjQwLCBkaXNwbGF5OiAnZmxleCcsIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLCBnYXA6IDggfX0+XG4gICAgICAgIHtpc0RvbmUgPyAoXG4gICAgICAgICAgPFJlYXNvbmluZ0Jsb2NrIGtleT17YGJsb2NrLSR7cnVuSWR9YH0gbWVzc2FnZUlkPXtNRVNTQUdFX0lEfSAvPlxuICAgICAgICApIDogKFxuICAgICAgICAgIDxSZWFzb25pbmdUaW1lbGluZVxuICAgICAgICAgICAgbWVzc2FnZUlkPXtNRVNTQUdFX0lEfVxuICAgICAgICAgICAgc2hvd1RoaW5raW5nPXtzaG93VGhpbmtpbmd9XG4gICAgICAgICAgICBzdHJlYW1BY3Rpdml0eT17YWN0aXZpdHl9XG4gICAgICAgICAgICBzdHJlYW1pbmdUZXh0PXtib2R5fVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICAgIHshc3RyZWFtTmFycmF0aW9uSW5UaW1lbGluZSAmJiAhIWJvZHkgJiYgKFxuICAgICAgICAgIDxTQ0ZpbmFsQW5zd2VyQm9keT5cbiAgICAgICAgICAgIDxNYWlhU3RyZWFtZG93biB2YXJpYW50PVwiY2hhdFwiPntib2R5fTwvTWFpYVN0cmVhbWRvd24+XG4gICAgICAgICAgPC9TQ0ZpbmFsQW5zd2VyQm9keT5cbiAgICAgICAgKX1cbiAgICAgICAge2FjdGl2aXR5ICYmIChcbiAgICAgICAgICA8U0NUaW1lbGluZUluZGljYXRvcj5cbiAgICAgICAgICAgIDxBZ2VudEFjdGl2aXR5SW5kaWNhdG9yIGFjdGl2aXR5PXthY3Rpdml0eX0gY29tcGFjdCAvPlxuICAgICAgICAgIDwvU0NUaW1lbGluZUluZGljYXRvcj5cbiAgICAgICAgKX1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApXG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7QUFDQSxTQUFTQSxXQUFXLEVBQUVDLFNBQVMsRUFBRUMsTUFBTSxFQUFFQyxRQUFRLFFBQVEsT0FBTztBQUVoRSxTQUFTQyxzQkFBc0IsUUFBUSxtRUFBbUU7QUFDMUcsU0FBU0MsY0FBYyxRQUFRLG1EQUFtRDtBQUNsRixTQUFTQyxjQUFjLFFBQVEsbURBQW1EO0FBQ2xGLFNBQVNDLG1CQUFtQixFQUFFQyxpQkFBaUIsUUFBUSwwREFBMEQ7QUFDakgsU0FBU0MsaUJBQWlCLFFBQVEsc0RBQXNEO0FBQ3hGLFNBQVNDLCtCQUErQixRQUFRLDJEQUEyRDtBQUMzRyxTQUFTQyxjQUFjLFFBQVEsMkNBQTJDO0FBQzFFLFNBQVNDLGlCQUFpQixRQUFRLDRCQUE0QjtBQUM5RCxTQUFTQyxJQUFJLFFBQVEsZUFBZTtBQUNwQyxTQUFTQyxzQkFBc0IsRUFBRUMsd0JBQXdCLFFBQVEsaUNBQWlDO0FBR2xHLFNBQVNDLFdBQVcsRUFBRUMsWUFBWSxRQUFRLHNCQUFzQjtBQUFBLFNBQUFDLEdBQUEsSUFBQUMsSUFBQSxFQUFBQyxJQUFBLElBQUFDLEtBQUE7QUFFaEUsSUFBTUMsVUFBVSxH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
|
|
231
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZUVmZmVjdCIsInVzZVJlZiIsInVzZVN0YXRlIiwiQWdlbnRBY3Rpdml0eUluZGljYXRvciIsIk1haWFTdHJlYW1kb3duIiwiUmVhc29uaW5nQmxvY2siLCJTQ1RpbWVsaW5lSW5kaWNhdG9yIiwiU0NGaW5hbEFuc3dlckJvZHkiLCJSZWFzb25pbmdUaW1lbGluZSIsInNob3VsZFN0cmVhbU5hcnJhdGlvbkluVGltZWxpbmUiLCJyZWFzb25pbmdTdG9yZSIsInVzZVJlYXNvbmluZ1RyYWNlIiwidXNlVCIsImdldEluaXRpYWxTdHJlYW1BY3Rpdml0eSIsImdldFRoaW5raW5nU3RyZWFtQWN0aXZpdHkiLCJnZXRXcml0aW5nU3RyZWFtQWN0aXZpdHkiLCJNT0NLX0VWRU5UUyIsIk1PQ0tfU1VNTUFSWSIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJNRVNTQUdFX0lEIiwiU1BFRURTIiwiQk9EWV9DSFVOS1MiLCJEZXZSZWFzb25pbmdUaW1lbGluZSIsIl91c2VUIiwidCIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImFjdGl2aXR5Iiwic2V0QWN0aXZpdHkiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImJvZHkiLCJzZXRCb2R5IiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJpc0RvbmUiLCJzZXRJc0RvbmUiLCJfdXNlU3RhdGU3IiwiX3VzZVN0YXRlOCIsInNob3dUaGlua2luZyIsInNldFNob3dUaGlua2luZyIsIl91c2VTdGF0ZTkiLCJfdXNlU3RhdGUwIiwic3BlZWQiLCJzZXRTcGVlZCIsIl91c2VTdGF0ZTEiLCJfdXNlU3RhdGUxMCIsInJ1bklkIiwic2V0UnVuSWQiLCJ0aW1lb3V0c1JlZiIsImNsZWFyVGltZXJzIiwiY3VycmVudCIsImZvckVhY2giLCJpZCIsIndpbmRvdyIsImNsZWFyVGltZW91dCIsInJ1biIsImNsZWFyIiwic3RhcnQiLCJlbWl0dGVkIiwiTWFwIiwic2NoZWR1bGUiLCJhdCIsImZuIiwicHVzaCIsInNldFRpbWVvdXQiLCJldmVudCIsImtpbmQiLCJhcHBlbmRUaGlua2luZyIsImkiLCJ0ZXh0Iiwic2l6ZSIsIk1hdGgiLCJjZWlsIiwibGVuZ3RoIiwiX2xvb3AiLCJzbGljZSIsImNodW5rIiwiZmluaXNoIiwidiIsInN0ZXBzIiwiX3RvQ29uc3VtYWJsZUFycmF5IiwidmFsdWVzIiwic3VtbWFyeSIsInBheWxvYWQiLCJzZXQiLCJfb2JqZWN0U3ByZWFkIiwiZ2V0IiwiYXBwbHlTdGVwIiwidHlwZSIsIm1hcmtBbnN3ZXJSZXNldCIsInN0YXR1cyIsIl91c2VSZWFzb25pbmdUcmFjZSIsInN0cmVhbU5hcnJhdGlvbkluVGltZWxpbmUiLCJtZXNzYWdlSWQiLCJzdHlsZSIsInBhZGRpbmciLCJkaXNwbGF5IiwiZmxleERpcmVjdGlvbiIsImdhcCIsImZvbnRGYW1pbHkiLCJjaGlsZHJlbiIsImFsaWduSXRlbXMiLCJmbGV4V3JhcCIsIm9uQ2xpY2siLCJmb250U2l6ZSIsIm1hcCIsIm9wdGlvbiIsImZvbnRXZWlnaHQiLCJodG1sRm9yIiwiY2hlY2tlZCIsIm9uQ2hhbmdlIiwiZSIsInRhcmdldCIsIm1hcmdpbiIsImNvbG9yIiwibWF4V2lkdGgiLCJjb25jYXQiLCJzdHJlYW1BY3Rpdml0eSIsInN0cmVhbWluZ1RleHQiLCJ2YXJpYW50IiwiY29tcGFjdCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kZXYvRGV2UmVhc29uaW5nVGltZWxpbmUudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIHJlYWN0L2J1dHRvbi1oYXMtdHlwZSAqL1xuaW1wb3J0IHsgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuXG5pbXBvcnQgeyBBZ2VudEFjdGl2aXR5SW5kaWNhdG9yIH0gZnJvbSAnLi4vY29tcG9uZW50cy9hdG9tcy9BZ2VudEFjdGl2aXR5SW5kaWNhdG9yL0FnZW50QWN0aXZpdHlJbmRpY2F0b3InXG5pbXBvcnQgeyBNYWlhU3RyZWFtZG93biB9IGZyb20gJy4uL2NvbXBvbmVudHMvYXRvbXMvTWFpYVN0cmVhbWRvd24vTWFpYVN0cmVhbWRvd24nXG5pbXBvcnQgeyBSZWFzb25pbmdCbG9jayB9IGZyb20gJy4uL2NvbXBvbmVudHMvYXRvbXMvUmVhc29uaW5nQmxvY2svUmVhc29uaW5nQmxvY2snXG5pbXBvcnQgeyBTQ1RpbWVsaW5lSW5kaWNhdG9yLCBTQ0ZpbmFsQW5zd2VyQm9keSB9IGZyb20gJy4uL2NvbXBvbmVudHMvYXRvbXMvUmVhc29uaW5nQmxvY2svUmVhc29uaW5nQmxvY2suc3R5bGVzJ1xuaW1wb3J0IHsgUmVhc29uaW5nVGltZWxpbmUgfSBmcm9tICcuLi9jb21wb25lbnRzL2F0b21zL1JlYXNvbmluZ0Jsb2NrL1JlYXNvbmluZ1RpbWVsaW5lJ1xuaW1wb3J0IHsgc2hvdWxkU3RyZWFtTmFycmF0aW9uSW5UaW1lbGluZSB9IGZyb20gJy4uL2NvbXBvbmVudHMvYXRvbXMvUmVhc29uaW5nQmxvY2svcmVhc29uaW5nTGl2ZU5hcnJhdGlvbidcbmltcG9ydCB7IHJlYXNvbmluZ1N0b3JlIH0gZnJvbSAnLi4vaG9va3MvdXNlUmVhc29uaW5nVHJhY2UvcmVhc29uaW5nU3RvcmUnXG5pbXBvcnQgeyB1c2VSZWFzb25pbmdUcmFjZSB9IGZyb20gJy4uL2hvb2tzL3VzZVJlYXNvbmluZ1RyYWNlJ1xuaW1wb3J0IHsgdXNlVCB9IGZyb20gJy4uL2hvb2tzL3VzZVQnXG5pbXBvcnQge1xuICBnZXRJbml0aWFsU3RyZWFtQWN0aXZpdHksXG4gIGdldFRoaW5raW5nU3RyZWFtQWN0aXZpdHksXG4gIGdldFdyaXRpbmdTdHJlYW1BY3Rpdml0eSxcbn0gZnJvbSAnLi4vdXRpbHMvc3RyZWFtQWN0aXZpdHlNZXNzYWdlcydcbmltcG9ydCB0eXBlIHsgUmVhc29uaW5nU3RlcFBheWxvYWQgfSBmcm9tICcuLi90eXBlcy9yZWFzb25pbmcnXG5pbXBvcnQgdHlwZSB7IFN0cmVhbUFjdGl2aXR5IH0gZnJvbSAnLi4vdHlwZXMvc3RyZWFtQWN0aXZpdHknXG5pbXBvcnQgeyBNT0NLX0VWRU5UUywgTU9DS19TVU1NQVJZIH0gZnJvbSAnLi9yZWFzb25pbmdUcmFjZU1vY2snXG5cbmNvbnN0IE1FU1NBR0VfSUQgPSAnYW5zd2VyLWRldi1yZWFzb25pbmctc3RyZWFtaW5nJ1xuY29uc3QgU1BFRURTID0gWzEsIDIsIDQsIDhdIGFzIGNvbnN0XG4vKiogQ2h1bmtzIGVuIGxvcyBxdWUgc2UgcGFydGUgZWwgdGV4dG8gZGUgY2FkYSB0dXJubyBwYXJhIHNpbXVsYXIgbG9zIHRva2Vucy4gKi9cbmNvbnN0IEJPRFlfQ0hVTktTID0gNFxuXG5leHBvcnQgZnVuY3Rpb24gRGV2UmVhc29uaW5nVGltZWxpbmUoKSB7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVCgpXG4gIGNvbnN0IFthY3Rpdml0eSwgc2V0QWN0aXZpdHldID0gdXNlU3RhdGU8U3RyZWFtQWN0aXZpdHkgfCBudWxsPihudWxsKVxuICBjb25zdCBbYm9keSwgc2V0Qm9keV0gPSB1c2VTdGF0ZSgnJylcbiAgY29uc3QgW2lzRG9uZSwgc2V0SXNEb25lXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbc2hvd1RoaW5raW5nLCBzZXRTaG93VGhpbmtpbmddID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtzcGVlZCwgc2V0U3BlZWRdID0gdXNlU3RhdGU8KHR5cGVvZiBTUEVFRFMpW251bWJlcl0+KDQpXG4gIGNvbnN0IFtydW5JZCwgc2V0UnVuSWRdID0gdXNlU3RhdGUoMClcbiAgY29uc3QgdGltZW91dHNSZWYgPSB1c2VSZWY8bnVtYmVyW10+KFtdKVxuXG4gIGNvbnN0IGNsZWFyVGltZXJzID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHRpbWVvdXRzUmVmLmN1cnJlbnQuZm9yRWFjaChpZCA9PiB3aW5kb3cuY2xlYXJUaW1lb3V0KGlkKSlcbiAgICB0aW1lb3V0c1JlZi5jdXJyZW50ID0gW11cbiAgfSwgW10pXG5cbiAgY29uc3QgcnVuID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGNsZWFyVGltZXJzKClcbiAgICByZWFzb25pbmdTdG9yZS5jbGVhcigpXG4gICAgcmVhc29uaW5nU3RvcmUuc3RhcnQoTUVTU0FHRV9JRClcbiAgICBzZXRBY3Rpdml0eShnZXRJbml0aWFsU3RyZWFtQWN0aXZpdHkodCkpXG4gICAgc2V0Qm9keSgnJylcbiAgICBzZXRJc0RvbmUoZmFsc2UpXG4gICAgc2V0UnVuSWQoY3VycmVudCA9PiBjdXJyZW50ICsgMSlcblxuICAgIC8vIExhIHRyYXphIGF1dG9yaXRhdGl2YSBkZWwgYGNvbXBsZXRlYCBzZSBhcm1hIGNvbiBsb3MgbWlzbW9zIHN0ZXBzIHF1ZSBzZVxuICAgIC8vIGZ1ZXJvbiBlbWl0aWVuZG8sIHBhcmEgbm8gZHVwbGljYXIgZWwgcGF5bG9hZCBlbiBlbCBtb2NrLlxuICAgIGNvbnN0IGVtaXR0ZWQgPSBuZXcgTWFwPG51bWJlciwgUmVhc29uaW5nU3RlcFBheWxvYWQ+KClcbiAgICBjb25zdCBzY2hlZHVsZSA9IChhdDogbnVtYmVyLCBmbjogKCkgPT4gdm9pZCkgPT4ge1xuICAgICAgdGltZW91dHNSZWYuY3VycmVudC5wdXNoKHdpbmRvdy5zZXRUaW1lb3V0KGZuLCBhdCAvIHNwZWVkKSlcbiAgICB9XG5cbiAgICBNT0NLX0VWRU5UUy5mb3JFYWNoKGV2ZW50ID0+IHtcbiAgICAgIGlmIChldmVudC5raW5kID09PSAndGhpbmtpbmcnKSB7XG4gICAgICAgIHNjaGVkdWxlKGV2ZW50LmF0LCAoKSA9PiB7XG4gICAgICAgICAgc2V0QWN0aXZpdHkoZ2V0VGhpbmtpbmdTdHJlYW1BY3Rpdml0eSh0KSlcbiAgICAgICAgICByZWFzb25pbmdTdG9yZS5hcHBlbmRUaGlua2luZyhNRVNTQUdFX0lELCBldmVudC5pLCBldmVudC50ZXh0KVxuICAgICAgICB9KVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgaWYgKGV2ZW50LmtpbmQgPT09ICdib2R5Jykge1xuICAgICAgICBzY2hlZHVsZShldmVudC5hdCwgKCkgPT4ge1xuICAgICAgICAgIHNldEFjdGl2aXR5KGdldFdyaXRpbmdTdHJlYW1BY3Rpdml0eSh0KSlcbiAgICAgICAgfSlcbiAgICAgICAgLy8gVG9rZW5zOiBlbCB0ZXh0byBlbnRyYSBkZSBhIHBlZGF6b3MsIGNvbW8gZWwgc3RyZWFtIHJlYWwuXG4gICAgICAgIGNvbnN0IHNpemUgPSBNYXRoLmNlaWwoZXZlbnQudGV4dC5sZW5ndGggLyBCT0RZX0NIVU5LUylcbiAgICAgICAgZm9yIChsZXQgY2h1bmsgPSAwOyBjaHVuayA8IEJPRFlfQ0hVTktTOyBjaHVuayArPSAxKSB7XG4gICAgICAgICAgY29uc3Qgc2xpY2UgPSBldmVudC50ZXh0LnNsaWNlKDAsIHNpemUgKiAoY2h1bmsgKyAxKSlcbiAgICAgICAgICBzY2hlZHVsZShldmVudC5hdCArIGNodW5rICogMjIwLCAoKSA9PiBzZXRCb2R5KHNsaWNlKSlcbiAgICAgICAgfVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgaWYgKGV2ZW50LmtpbmQgPT09ICdjb21wbGV0ZScpIHtcbiAgICAgICAgc2NoZWR1bGUoZXZlbnQuYXQsICgpID0+IHtcbiAgICAgICAgICByZWFzb25pbmdTdG9yZS5maW5pc2goTUVTU0FHRV9JRCwgeyB2OiAxLCBzdGVwczogWy4uLmVtaXR0ZWQudmFsdWVzKCldLCBzdW1tYXJ5OiBNT0NLX1NVTU1BUlkgfSlcbiAgICAgICAgICBzZXRBY3Rpdml0eShudWxsKVxuICAgICAgICAgIHNldElzRG9uZSh0cnVlKVxuICAgICAgICB9KVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgc2NoZWR1bGUoZXZlbnQuYXQsICgpID0+IHtcbiAgICAgICAgY29uc3QgeyBwYXlsb2FkIH0gPSBldmVudFxuICAgICAgICBlbWl0dGVkLnNldChwYXlsb2FkLmksIHsgLi4uZW1pdHRlZC5nZXQocGF5bG9hZC5pKSwgLi4ucGF5bG9hZCB9KVxuXG4gICAgICAgIC8vIElndWFsIHF1ZSBhbnN3ZXJfcmVzZXQgKyByZWFzb25pbmdfc3RlcDogY29tbWl0ZWFyIGZpbGEgeSBsaW1waWFyIGJvZHkuXG4gICAgICAgIHJlYXNvbmluZ1N0b3JlLmFwcGx5U3RlcChNRVNTQUdFX0lELCBwYXlsb2FkKVxuICAgICAgICBpZiAocGF5bG9hZC50eXBlID09PSAnbmFycmF0aW9uJykge1xuICAgICAgICAgIHNldEJvZHkoJycpXG4gICAgICAgICAgcmVhc29uaW5nU3RvcmUubWFya0Fuc3dlclJlc2V0KE1FU1NBR0VfSUQpXG4gICAgICAgIH1cblxuICAgICAgICBpZiAocGF5bG9hZC5zdGF0dXMgPT09ICdydW5uaW5nJyAmJiBwYXlsb2FkLnR5cGUgPT09ICd0b29sJykge1xuICAgICAgICAgIHNldEFjdGl2aXR5KGdldFRoaW5raW5nU3RyZWFtQWN0aXZpdHkodCkpXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfSlcbiAgfSwgW2NsZWFyVGltZXJzLCBzcGVlZCwgdF0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IGNsZWFyVGltZXJzLCBbY2xlYXJUaW1lcnNdKVxuXG4gIGNvbnN0IHsgc3RlcHMgfSA9IHVzZVJlYXNvbmluZ1RyYWNlKGlzRG9uZSA/ICcnIDogTUVTU0FHRV9JRClcbiAgY29uc3Qgc3RyZWFtTmFycmF0aW9uSW5UaW1lbGluZSA9IHNob3VsZFN0cmVhbU5hcnJhdGlvbkluVGltZWxpbmUoc3RlcHMsIGFjdGl2aXR5LCBib2R5LCB7IG1lc3NhZ2VJZDogTUVTU0FHRV9JRCB9KVxuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgc3R5bGU9e3sgcGFkZGluZzogMjQsIGRpc3BsYXk6ICdmbGV4JywgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsIGdhcDogMjAsIGZvbnRGYW1pbHk6ICdXb3JrIFNhbnMsIHNhbnMtc2VyaWYnIH19XG4gICAgPlxuICAgICAgPGRpdiBzdHlsZT17eyBkaXNwbGF5OiAnZmxleCcsIGdhcDogMTYsIGFsaWduSXRlbXM6ICdjZW50ZXInLCBmbGV4V3JhcDogJ3dyYXAnIH19PlxuICAgICAgICA8YnV0dG9uIG9uQ2xpY2s9e3J1bn0gc3R5bGU9e3sgcGFkZGluZzogJzZweCAxNHB4JyB9fT5cbiAgICAgICAgICBSZXByb2R1Y2lyIHR1cm5vXG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8c3BhbiBzdHlsZT17eyBkaXNwbGF5OiAnZmxleCcsIGdhcDogNCwgYWxpZ25JdGVtczogJ2NlbnRlcicsIGZvbnRTaXplOiAxMyB9fT5cbiAgICAgICAgICBWZWxvY2lkYWQ6XG4gICAgICAgICAge1NQRUVEUy5tYXAob3B0aW9uID0+IChcbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAga2V5PXtvcHRpb259XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHNldFNwZWVkKG9wdGlvbil9XG4gICAgICAgICAgICAgIHN0eWxlPXt7IHBhZGRpbmc6ICcycHggOHB4JywgZm9udFdlaWdodDogc3BlZWQgPT09IG9wdGlvbiA/IDcwMCA6IDQwMCB9fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7b3B0aW9ufXhcbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICkpfVxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxsYWJlbCBodG1sRm9yPVwiZGV2LXNob3ctdGhpbmtpbmdcIiBzdHlsZT17eyBkaXNwbGF5OiAnZmxleCcsIGdhcDogNiwgYWxpZ25JdGVtczogJ2NlbnRlcicsIGZvbnRTaXplOiAxMyB9fT5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIGlkPVwiZGV2LXNob3ctdGhpbmtpbmdcIlxuICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgIGNoZWNrZWQ9e3Nob3dUaGlua2luZ31cbiAgICAgICAgICAgIG9uQ2hhbmdlPXtlID0+IHNldFNob3dUaGlua2luZyhlLnRhcmdldC5jaGVja2VkKX1cbiAgICAgICAgICAvPlxuICAgICAgICAgIE1vc3RyYXIgdGhpbmtpbmcgKHdpbmRvdy5yZWFzb25pbmdUaGlua2luZylcbiAgICAgICAgPC9sYWJlbD5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8cCBzdHlsZT17eyBtYXJnaW46IDAsIGZvbnRTaXplOiAxMiwgY29sb3I6ICcjODA4MDgwJywgbWF4V2lkdGg6IDY0MCB9fT5cbiAgICAgICAgUmVwbGF5IGRlIHVuIHR1cm5vIHJlYWwgZGUgOTRzOiAzMCBwYXNvcywgMTggdG9vbHMsIGRvcyBoYW5kb2ZmcyBhbmlkYWRvcyB5IHLDoWZhZ2FzIGRlIHRvb2xzIGVuIHBhcmFsZWxvLiBFbFxuICAgICAgICBjdWVycG8gZGVsIG1lbnNhamUgc2UgbGltcGlhIGNvbiBjYWRhIG5hcnJhY2nDs24sIGlndWFsIHF1ZSBlbCA8Y29kZT5hbnN3ZXJfcmVzZXQ8L2NvZGU+IGRlbCBiYWNrZW5kLlxuICAgICAgPC9wPlxuXG4gICAgICA8ZGl2IHN0eWxlPXt7IG1heFdpZHRoOiA2NDAsIGRpc3BsYXk6ICdmbGV4JywgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsIGdhcDogOCB9fT5cbiAgICAgICAge2lzRG9uZSA/IChcbiAgICAgICAgICA8UmVhc29uaW5nQmxvY2sga2V5PXtgYmxvY2stJHtydW5JZH1gfSBtZXNzYWdlSWQ9e01FU1NBR0VfSUR9IC8+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlYXNvbmluZ1RpbWVsaW5lXG4gICAgICAgICAgICBtZXNzYWdlSWQ9e01FU1NBR0VfSUR9XG4gICAgICAgICAgICBzaG93VGhpbmtpbmc9e3Nob3dUaGlua2luZ31cbiAgICAgICAgICAgIHN0cmVhbUFjdGl2aXR5PXthY3Rpdml0eX1cbiAgICAgICAgICAgIHN0cmVhbWluZ1RleHQ9e2JvZHl9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgICAgeyFzdHJlYW1OYXJyYXRpb25JblRpbWVsaW5lICYmICEhYm9keSAmJiAoXG4gICAgICAgICAgPFNDRmluYWxBbnN3ZXJCb2R5PlxuICAgICAgICAgICAgPE1haWFTdHJlYW1kb3duIHZhcmlhbnQ9XCJjaGF0XCI+e2JvZHl9PC9NYWlhU3RyZWFtZG93bj5cbiAgICAgICAgICA8L1NDRmluYWxBbnN3ZXJCb2R5PlxuICAgICAgICApfVxuICAgICAgICB7YWN0aXZpdHkgJiYgKFxuICAgICAgICAgIDxTQ1RpbWVsaW5lSW5kaWNhdG9yPlxuICAgICAgICAgICAgPEFnZW50QWN0aXZpdHlJbmRpY2F0b3IgYWN0aXZpdHk9e2FjdGl2aXR5fSBjb21wYWN0IC8+XG4gICAgICAgICAgPC9TQ1RpbWVsaW5lSW5kaWNhdG9yPlxuICAgICAgICApfVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTtBQUNBLFNBQVNBLFdBQVcsRUFBRUMsU0FBUyxFQUFFQyxNQUFNLEVBQUVDLFFBQVEsUUFBUSxPQUFPO0FBRWhFLFNBQVNDLHNCQUFzQixRQUFRLG1FQUFtRTtBQUMxRyxTQUFTQyxjQUFjLFFBQVEsbURBQW1EO0FBQ2xGLFNBQVNDLGNBQWMsUUFBUSxtREFBbUQ7QUFDbEYsU0FBU0MsbUJBQW1CLEVBQUVDLGlCQUFpQixRQUFRLDBEQUEwRDtBQUNqSCxTQUFTQyxpQkFBaUIsUUFBUSxzREFBc0Q7QUFDeEYsU0FBU0MsK0JBQStCLFFBQVEsMkRBQTJEO0FBQzNHLFNBQVNDLGNBQWMsUUFBUSwyQ0FBMkM7QUFDMUUsU0FBU0MsaUJBQWlCLFFBQVEsNEJBQTRCO0FBQzlELFNBQVNDLElBQUksUUFBUSxlQUFlO0FBQ3BDLFNBQ0VDLHdCQUF3QixFQUN4QkMseUJBQXlCLEVBQ3pCQyx3QkFBd0IsUUFDbkIsaUNBQWlDO0FBR3hDLFNBQVNDLFdBQVcsRUFBRUMsWUFBWSxRQUFRLHNCQUFzQjtBQUFBLFNBQUFDLEdBQUEsSUFBQUMsSUFBQSxFQUFBQyxJQUFBLElBQUFDLEtBQUE7QUFFaEUsSUFBTUMsVUFBVSxHQUFHLGdDQUFnQztBQUNuRCxJQUFNQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFB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
|
package/lib/dev/Providers.js
CHANGED
|
@@ -9,13 +9,15 @@ import client from '../constants/gqlClient';
|
|
|
9
9
|
import i18nCfg from '../lang';
|
|
10
10
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
11
|
export function Providers(_ref) {
|
|
12
|
-
var children = _ref.children
|
|
12
|
+
var children = _ref.children,
|
|
13
|
+
_ref$user = _ref.user,
|
|
14
|
+
user = _ref$user === void 0 ? mockedUserInfo : _ref$user;
|
|
13
15
|
return /*#__PURE__*/_jsx(ApolloProvider, {
|
|
14
16
|
client: client,
|
|
15
17
|
children: /*#__PURE__*/_jsx(I18nextProvider, {
|
|
16
18
|
i18n: i18nCfg,
|
|
17
19
|
children: /*#__PURE__*/_jsx(UserProvider, {
|
|
18
|
-
user:
|
|
20
|
+
user: user,
|
|
19
21
|
children: /*#__PURE__*/_jsxs(ThemeProvider, {
|
|
20
22
|
theme: theme,
|
|
21
23
|
children: [/*#__PURE__*/_jsx(CssBaseline, {}), children]
|
|
@@ -24,4 +26,4 @@ export function Providers(_ref) {
|
|
|
24
26
|
})
|
|
25
27
|
});
|
|
26
28
|
}
|
|
27
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJBcG9sbG9Qcm92aWRlciIsIkkxOG5leHRQcm92aWRlciIsIlVzZXJQcm92aWRlciIsInRoZW1lIiwiQ3NzQmFzZWxpbmUiLCJUaGVtZVByb3ZpZGVyIiwibW9ja2VkVXNlckluZm8iLCJjbGllbnQiLCJpMThuQ2ZnIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIlByb3ZpZGVycyIsIl9yZWYiLCJjaGlsZHJlbiIsIl9yZWYkdXNlciIsInVzZXIiLCJpMThuIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Rldi9Qcm92aWRlcnMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwb2xsb1Byb3ZpZGVyIH0gZnJvbSAnQGFwb2xsby9jbGllbnQnXG5pbXBvcnQgeyBJMThuZXh0UHJvdmlkZXIgfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuaW1wb3J0IHsgVXNlclByb3ZpZGVyIH0gZnJvbSAnQHByb2plY3Rjb3IvY29yLWNvbW1vbnMvbGliL3Byb3ZpZGVycy9Vc2VyUHJvdmlkZXInXG5cbmltcG9ydCB0aGVtZSBmcm9tICdAcHJvamVjdGNvci90aGVtZS9saWInXG5pbXBvcnQgQ3NzQmFzZWxpbmUgZnJvbSAnQG11aS9tYXRlcmlhbC9Dc3NCYXNlbGluZSdcbmltcG9ydCB7IFRoZW1lUHJvdmlkZXIgfSBmcm9tICdAbXVpL21hdGVyaWFsL3N0eWxlcydcbmltcG9ydCB7IG1vY2tlZFVzZXJJbmZvIH0gZnJvbSAnLi4vbW9ja3MvbW9ja2VkVXNlcidcbmltcG9ydCB0eXBlIHsgVXNlclByb3BzIH0gZnJvbSAnLi4vdHlwZXMvdXNlclR5cGUuZCdcblxuaW1wb3J0IGNsaWVudCBmcm9tICcuLi9jb25zdGFudHMvZ3FsQ2xpZW50J1xuaW1wb3J0IGkxOG5DZmcgZnJvbSAnLi4vbGFuZydcblxuZXhwb3J0IGZ1bmN0aW9uIFByb3ZpZGVycyh7IGNoaWxkcmVuLCB1c2VyID0gbW9ja2VkVXNlckluZm8gfTogeyBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlOyB1c2VyPzogVXNlclByb3BzIH0pIHtcbiAgcmV0dXJuIChcbiAgICA8QXBvbGxvUHJvdmlkZXIgY2xpZW50PXtjbGllbnR9PlxuICAgICAgPEkxOG5leHRQcm92aWRlciBpMThuPXtpMThuQ2ZnfT5cbiAgICAgICAgPFVzZXJQcm92aWRlciB1c2VyPXt1c2VyfT5cbiAgICAgICAgICA8VGhlbWVQcm92aWRlciB0aGVtZT17dGhlbWV9PlxuICAgICAgICAgICAgPENzc0Jhc2VsaW5lIC8+XG4gICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgPC9UaGVtZVByb3ZpZGVyPlxuICAgICAgICA8L1VzZXJQcm92aWRlcj5cbiAgICAgIDwvSTE4bmV4dFByb3ZpZGVyPlxuICAgIDwvQXBvbGxvUHJvdmlkZXI+XG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsY0FBYyxRQUFRLGdCQUFnQjtBQUMvQyxTQUFTQyxlQUFlLFFBQVEsZUFBZTtBQUMvQyxTQUFTQyxZQUFZLFFBQVEsb0RBQW9EO0FBRWpGLE9BQU9DLEtBQUssTUFBTSx1QkFBdUI7QUFDekMsT0FBT0MsV0FBVyxNQUFNLDJCQUEyQjtBQUNuRCxTQUFTQyxhQUFhLFFBQVEsc0JBQXNCO0FBQ3BELFNBQVNDLGNBQWMsUUFBUSxxQkFBcUI7QUFHcEQsT0FBT0MsTUFBTSxNQUFNLHdCQUF3QjtBQUMzQyxPQUFPQyxPQUFPLE1BQU0sU0FBUztBQUFBLFNBQUFDLEdBQUEsSUFBQUMsSUFBQSxFQUFBQyxJQUFBLElBQUFDLEtBQUE7QUFFN0IsT0FBTyxTQUFTQyxTQUFTQSxDQUFBQyxJQUFBLEVBQXVGO0VBQUEsSUFBcEZDLFFBQVEsR0FBQUQsSUFBQSxDQUFSQyxRQUFRO0lBQUFDLFNBQUEsR0FBQUYsSUFBQSxDQUFFRyxJQUFJO0lBQUpBLElBQUksR0FBQUQsU0FBQSxjQUFHVixjQUFjLEdBQUFVLFNBQUE7RUFDekQsb0JBQ0VOLElBQUEsQ0FBQ1YsY0FBYztJQUFDTyxNQUFNLEVBQUVBLE1BQU87SUFBQVEsUUFBQSxlQUM3QkwsSUFBQSxDQUFDVCxlQUFlO01BQUNpQixJQUFJLEVBQUVWLE9BQVE7TUFBQU8sUUFBQSxlQUM3QkwsSUFBQSxDQUFDUixZQUFZO1FBQUNlLElBQUksRUFBRUEsSUFBSztRQUFBRixRQUFBLGVBQ3ZCSCxLQUFBLENBQUNQLGFBQWE7VUFBQ0YsS0FBSyxFQUFFQSxLQUFNO1VBQUFZLFFBQUEsZ0JBQzFCTCxJQUFBLENBQUNOLFdBQVcsSUFBRSxDQUFDLEVBQ2RXLFFBQVE7UUFBQSxDQUNJO01BQUMsQ0FDSjtJQUFDLENBQ0E7RUFBQyxDQUNKLENBQUM7QUFFckIiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
var fuaCache = new Map();
|
|
2
|
+
export var buildFrequentlyUsedActionsCacheKey = function buildFrequentlyUsedActionsCacheKey(agentId, apiSection, entityType) {
|
|
3
|
+
return "".concat(agentId, ":").concat(apiSection, ":").concat(entityType !== null && entityType !== void 0 ? entityType : '');
|
|
4
|
+
};
|
|
5
|
+
export var getCachedFrequentlyUsedActions = function getCachedFrequentlyUsedActions(cacheKey) {
|
|
6
|
+
var cached = fuaCache.get(cacheKey);
|
|
7
|
+
return cached !== null && cached !== void 0 && cached.length ? cached : undefined;
|
|
8
|
+
};
|
|
9
|
+
export var setCachedFrequentlyUsedActions = function setCachedFrequentlyUsedActions(cacheKey, actions) {
|
|
10
|
+
if (actions.length > 0) {
|
|
11
|
+
fuaCache.set(cacheKey, actions);
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
export var clearFrequentlyUsedActionsCache = function clearFrequentlyUsedActionsCache() {
|
|
15
|
+
fuaCache.clear();
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmdWFDYWNoZSIsIk1hcCIsImJ1aWxkRnJlcXVlbnRseVVzZWRBY3Rpb25zQ2FjaGVLZXkiLCJhZ2VudElkIiwiYXBpU2VjdGlvbiIsImVudGl0eVR5cGUiLCJjb25jYXQiLCJnZXRDYWNoZWRGcmVxdWVudGx5VXNlZEFjdGlvbnMiLCJjYWNoZUtleSIsImNhY2hlZCIsImdldCIsImxlbmd0aCIsInVuZGVmaW5lZCIsInNldENhY2hlZEZyZXF1ZW50bHlVc2VkQWN0aW9ucyIsImFjdGlvbnMiLCJzZXQiLCJjbGVhckZyZXF1ZW50bHlVc2VkQWN0aW9uc0NhY2hlIiwiY2xlYXIiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvaG9va3MvZnJlcXVlbnRseVVzZWRBY3Rpb25zQ2FjaGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBBY3Rpb24gfSBmcm9tICcuLi90eXBlcy9BY3Rpb24nXG5cbmNvbnN0IGZ1YUNhY2hlID0gbmV3IE1hcDxzdHJpbmcsIEFjdGlvbltdPigpXG5cbmV4cG9ydCBjb25zdCBidWlsZEZyZXF1ZW50bHlVc2VkQWN0aW9uc0NhY2hlS2V5ID0gKGFnZW50SWQ6IHN0cmluZywgYXBpU2VjdGlvbjogc3RyaW5nLCBlbnRpdHlUeXBlPzogc3RyaW5nKTogc3RyaW5nID0+XG4gIGAke2FnZW50SWR9OiR7YXBpU2VjdGlvbn06JHtlbnRpdHlUeXBlID8/ICcnfWBcblxuZXhwb3J0IGNvbnN0IGdldENhY2hlZEZyZXF1ZW50bHlVc2VkQWN0aW9ucyA9IChjYWNoZUtleTogc3RyaW5nKTogQWN0aW9uW10gfCB1bmRlZmluZWQgPT4ge1xuICBjb25zdCBjYWNoZWQgPSBmdWFDYWNoZS5nZXQoY2FjaGVLZXkpXG4gIHJldHVybiBjYWNoZWQ/Lmxlbmd0aCA/IGNhY2hlZCA6IHVuZGVmaW5lZFxufVxuXG5leHBvcnQgY29uc3Qgc2V0Q2FjaGVkRnJlcXVlbnRseVVzZWRBY3Rpb25zID0gKGNhY2hlS2V5OiBzdHJpbmcsIGFjdGlvbnM6IEFjdGlvbltdKTogdm9pZCA9PiB7XG4gIGlmIChhY3Rpb25zLmxlbmd0aCA+IDApIHtcbiAgICBmdWFDYWNoZS5zZXQoY2FjaGVLZXksIGFjdGlvbnMpXG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGNsZWFyRnJlcXVlbnRseVVzZWRBY3Rpb25zQ2FjaGUgPSAoKTogdm9pZCA9PiB7XG4gIGZ1YUNhY2hlLmNsZWFyKClcbn1cbiJdLCJtYXBwaW5ncyI6IkFBRUEsSUFBTUEsUUFBUSxHQUFHLElBQUlDLEdBQUcsQ0FBbUIsQ0FBQztBQUU1QyxPQUFPLElBQU1DLGtDQUFrQyxHQUFHLFNBQXJDQSxrQ0FBa0NBLENBQUlDLE9BQWUsRUFBRUMsVUFBa0IsRUFBRUMsVUFBbUI7RUFBQSxVQUFBQyxNQUFBLENBQ3RHSCxPQUFPLE9BQUFHLE1BQUEsQ0FBSUYsVUFBVSxPQUFBRSxNQUFBLENBQUlELFVBQVUsYUFBVkEsVUFBVSxjQUFWQSxVQUFVLEdBQUksRUFBRTtBQUFBLENBQUU7QUFFaEQsT0FBTyxJQUFNRSw4QkFBOEIsR0FBRyxTQUFqQ0EsOEJBQThCQSxDQUFJQyxRQUFnQixFQUEyQjtFQUN4RixJQUFNQyxNQUFNLEdBQUdULFFBQVEsQ0FBQ1UsR0FBRyxDQUFDRixRQUFRLENBQUM7RUFDckMsT0FBT0MsTUFBTSxhQUFOQSxNQUFNLGVBQU5BLE1BQU0sQ0FBRUUsTUFBTSxHQUFHRixNQUFNLEdBQUdHLFNBQVM7QUFDNUMsQ0FBQztBQUVELE9BQU8sSUFBTUMsOEJBQThCLEdBQUcsU0FBakNBLDhCQUE4QkEsQ0FBSUwsUUFBZ0IsRUFBRU0sT0FBaUIsRUFBVztFQUMzRixJQUFJQSxPQUFPLENBQUNILE1BQU0sR0FBRyxDQUFDLEVBQUU7SUFDdEJYLFFBQVEsQ0FBQ2UsR0FBRyxDQUFDUCxRQUFRLEVBQUVNLE9BQU8sQ0FBQztFQUNqQztBQUNGLENBQUM7QUFFRCxPQUFPLElBQU1FLCtCQUErQixHQUFHLFNBQWxDQSwrQkFBK0JBLENBQUEsRUFBZTtFQUN6RGhCLFFBQVEsQ0FBQ2lCLEtBQUssQ0FBQyxDQUFDO0FBQ2xCLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { buildFrequentlyUsedActionsCacheKey, clearFrequentlyUsedActionsCache, getCachedFrequentlyUsedActions, setCachedFrequentlyUsedActions } from './frequentlyUsedActionsCache';
|
|
2
|
+
var sampleActions = [{
|
|
3
|
+
id: '1',
|
|
4
|
+
title: 'A',
|
|
5
|
+
subtitle: 'B',
|
|
6
|
+
icon: 'calendar',
|
|
7
|
+
category: 'tasks'
|
|
8
|
+
}];
|
|
9
|
+
describe('frequentlyUsedActionsCache', function () {
|
|
10
|
+
beforeEach(function () {
|
|
11
|
+
clearFrequentlyUsedActionsCache();
|
|
12
|
+
});
|
|
13
|
+
it('stores and reads actions by agent and section', function () {
|
|
14
|
+
var key = buildFrequentlyUsedActionsCacheKey('agent-1', 'home_collaborator');
|
|
15
|
+
expect(getCachedFrequentlyUsedActions(key)).toBeUndefined();
|
|
16
|
+
setCachedFrequentlyUsedActions(key, sampleActions);
|
|
17
|
+
expect(getCachedFrequentlyUsedActions(key)).toEqual(sampleActions);
|
|
18
|
+
});
|
|
19
|
+
it('ignores empty action lists', function () {
|
|
20
|
+
var key = buildFrequentlyUsedActionsCacheKey('agent-1', 'home');
|
|
21
|
+
setCachedFrequentlyUsedActions(key, []);
|
|
22
|
+
expect(getCachedFrequentlyUsedActions(key)).toBeUndefined();
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJidWlsZEZyZXF1ZW50bHlVc2VkQWN0aW9uc0NhY2hlS2V5IiwiY2xlYXJGcmVxdWVudGx5VXNlZEFjdGlvbnNDYWNoZSIsImdldENhY2hlZEZyZXF1ZW50bHlVc2VkQWN0aW9ucyIsInNldENhY2hlZEZyZXF1ZW50bHlVc2VkQWN0aW9ucyIsInNhbXBsZUFjdGlvbnMiLCJpZCIsInRpdGxlIiwic3VidGl0bGUiLCJpY29uIiwiY2F0ZWdvcnkiLCJkZXNjcmliZSIsImJlZm9yZUVhY2giLCJpdCIsImtleSIsImV4cGVjdCIsInRvQmVVbmRlZmluZWQiLCJ0b0VxdWFsIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hvb2tzL2ZyZXF1ZW50bHlVc2VkQWN0aW9uc0NhY2hlLnNwZWMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgYnVpbGRGcmVxdWVudGx5VXNlZEFjdGlvbnNDYWNoZUtleSxcbiAgY2xlYXJGcmVxdWVudGx5VXNlZEFjdGlvbnNDYWNoZSxcbiAgZ2V0Q2FjaGVkRnJlcXVlbnRseVVzZWRBY3Rpb25zLFxuICBzZXRDYWNoZWRGcmVxdWVudGx5VXNlZEFjdGlvbnMsXG59IGZyb20gJy4vZnJlcXVlbnRseVVzZWRBY3Rpb25zQ2FjaGUnXG5pbXBvcnQgdHlwZSB7IEFjdGlvbiB9IGZyb20gJy4uL3R5cGVzL0FjdGlvbidcblxuY29uc3Qgc2FtcGxlQWN0aW9uczogQWN0aW9uW10gPSBbeyBpZDogJzEnLCB0aXRsZTogJ0EnLCBzdWJ0aXRsZTogJ0InLCBpY29uOiAnY2FsZW5kYXInLCBjYXRlZ29yeTogJ3Rhc2tzJyB9XVxuXG5kZXNjcmliZSgnZnJlcXVlbnRseVVzZWRBY3Rpb25zQ2FjaGUnLCAoKSA9PiB7XG4gIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgIGNsZWFyRnJlcXVlbnRseVVzZWRBY3Rpb25zQ2FjaGUoKVxuICB9KVxuXG4gIGl0KCdzdG9yZXMgYW5kIHJlYWRzIGFjdGlvbnMgYnkgYWdlbnQgYW5kIHNlY3Rpb24nLCAoKSA9PiB7XG4gICAgY29uc3Qga2V5ID0gYnVpbGRGcmVxdWVudGx5VXNlZEFjdGlvbnNDYWNoZUtleSgnYWdlbnQtMScsICdob21lX2NvbGxhYm9yYXRvcicpXG4gICAgZXhwZWN0KGdldENhY2hlZEZyZXF1ZW50bHlVc2VkQWN0aW9ucyhrZXkpKS50b0JlVW5kZWZpbmVkKClcblxuICAgIHNldENhY2hlZEZyZXF1ZW50bHlVc2VkQWN0aW9ucyhrZXksIHNhbXBsZUFjdGlvbnMpXG4gICAgZXhwZWN0KGdldENhY2hlZEZyZXF1ZW50bHlVc2VkQWN0aW9ucyhrZXkpKS50b0VxdWFsKHNhbXBsZUFjdGlvbnMpXG4gIH0pXG5cbiAgaXQoJ2lnbm9yZXMgZW1wdHkgYWN0aW9uIGxpc3RzJywgKCkgPT4ge1xuICAgIGNvbnN0IGtleSA9IGJ1aWxkRnJlcXVlbnRseVVzZWRBY3Rpb25zQ2FjaGVLZXkoJ2FnZW50LTEnLCAnaG9tZScpXG4gICAgc2V0Q2FjaGVkRnJlcXVlbnRseVVzZWRBY3Rpb25zKGtleSwgW10pXG4gICAgZXhwZWN0KGdldENhY2hlZEZyZXF1ZW50bHlVc2VkQWN0aW9ucyhrZXkpKS50b0JlVW5kZWZpbmVkKClcbiAgfSlcbn0pXG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQ0VBLGtDQUFrQyxFQUNsQ0MsK0JBQStCLEVBQy9CQyw4QkFBOEIsRUFDOUJDLDhCQUE4QixRQUN6Qiw4QkFBOEI7QUFHckMsSUFBTUMsYUFBdUIsR0FBRyxDQUFDO0VBQUVDLEVBQUUsRUFBRSxHQUFHO0VBQUVDLEtBQUssRUFBRSxHQUFHO0VBQUVDLFFBQVEsRUFBRSxHQUFHO0VBQUVDLElBQUksRUFBRSxVQUFVO0VBQUVDLFFBQVEsRUFBRTtBQUFRLENBQUMsQ0FBQztBQUU3R0MsUUFBUSxDQUFDLDRCQUE0QixFQUFFLFlBQU07RUFDM0NDLFVBQVUsQ0FBQyxZQUFNO0lBQ2ZWLCtCQUErQixDQUFDLENBQUM7RUFDbkMsQ0FBQyxDQUFDO0VBRUZXLEVBQUUsQ0FBQywrQ0FBK0MsRUFBRSxZQUFNO0lBQ3hELElBQU1DLEdBQUcsR0FBR2Isa0NBQWtDLENBQUMsU0FBUyxFQUFFLG1CQUFtQixDQUFDO0lBQzlFYyxNQUFNLENBQUNaLDhCQUE4QixDQUFDVyxHQUFHLENBQUMsQ0FBQyxDQUFDRSxhQUFhLENBQUMsQ0FBQztJQUUzRFosOEJBQThCLENBQUNVLEdBQUcsRUFBRVQsYUFBYSxDQUFDO0lBQ2xEVSxNQUFNLENBQUNaLDhCQUE4QixDQUFDVyxHQUFHLENBQUMsQ0FBQyxDQUFDRyxPQUFPLENBQUNaLGFBQWEsQ0FBQztFQUNwRSxDQUFDLENBQUM7RUFFRlEsRUFBRSxDQUFDLDRCQUE0QixFQUFFLFlBQU07SUFDckMsSUFBTUMsR0FBRyxHQUFHYixrQ0FBa0MsQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDO0lBQ2pFRyw4QkFBOEIsQ0FBQ1UsR0FBRyxFQUFFLEVBQUUsQ0FBQztJQUN2Q0MsTUFBTSxDQUFDWiw4QkFBOEIsQ0FBQ1csR0FBRyxDQUFDLENBQUMsQ0FBQ0UsYUFBYSxDQUFDLENBQUM7RUFDN0QsQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
2
|
+
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
3
|
+
import { act, renderHook } from '@testing-library/react';
|
|
4
|
+
import { createAgent } from '../../services/maia/Agents/createAgent';
|
|
5
|
+
import { setAgentToolGroups } from '../../services/maia/Agents/setAgentToolGroups';
|
|
6
|
+
import { useCreateAgent } from './useCreateAgent';
|
|
7
|
+
jest.mock('../../services/maia/Agents/createAgent', function () {
|
|
8
|
+
return {
|
|
9
|
+
createAgent: jest.fn()
|
|
10
|
+
};
|
|
11
|
+
});
|
|
12
|
+
jest.mock('../../services/maia/Agents/setAgentToolGroups', function () {
|
|
13
|
+
return {
|
|
14
|
+
setAgentToolGroups: jest.fn()
|
|
15
|
+
};
|
|
16
|
+
});
|
|
17
|
+
jest.mock('../useSnackBarManager/useSnackBarManager', function () {
|
|
18
|
+
return {
|
|
19
|
+
useSnackBarManager: function useSnackBarManager() {
|
|
20
|
+
return {
|
|
21
|
+
handleSnackbarError: jest.fn()
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
});
|
|
26
|
+
var createAgentMock = createAgent;
|
|
27
|
+
var setAgentToolGroupsMock = setAgentToolGroups;
|
|
28
|
+
var values = {
|
|
29
|
+
general: {
|
|
30
|
+
name: 'Legal',
|
|
31
|
+
userPrompt: 'Sos legal',
|
|
32
|
+
aiModel: {
|
|
33
|
+
provider: 'openai',
|
|
34
|
+
model_name: 'gpt'
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
accessibility: {
|
|
38
|
+
corAccess: {
|
|
39
|
+
clientes: true,
|
|
40
|
+
proyectos: false,
|
|
41
|
+
tareas: true
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
describe('useCreateAgent', function () {
|
|
46
|
+
beforeEach(function () {
|
|
47
|
+
jest.clearAllMocks();
|
|
48
|
+
createAgentMock.mockResolvedValue({
|
|
49
|
+
id: 'a1'
|
|
50
|
+
});
|
|
51
|
+
setAgentToolGroupsMock.mockResolvedValue({
|
|
52
|
+
ok: true
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
it('creates the agent and posts the selected COR slugs', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
|
|
56
|
+
var _renderHook, result;
|
|
57
|
+
return _regeneratorRuntime.wrap(function (_context2) {
|
|
58
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
59
|
+
case 0:
|
|
60
|
+
_renderHook = renderHook(function () {
|
|
61
|
+
return useCreateAgent();
|
|
62
|
+
}), result = _renderHook.result;
|
|
63
|
+
_context2.next = 1;
|
|
64
|
+
return act(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
65
|
+
return _regeneratorRuntime.wrap(function (_context) {
|
|
66
|
+
while (1) switch (_context.prev = _context.next) {
|
|
67
|
+
case 0:
|
|
68
|
+
_context.next = 1;
|
|
69
|
+
return result.current.handleCreateAgent(values);
|
|
70
|
+
case 1:
|
|
71
|
+
case "end":
|
|
72
|
+
return _context.stop();
|
|
73
|
+
}
|
|
74
|
+
}, _callee);
|
|
75
|
+
})));
|
|
76
|
+
case 1:
|
|
77
|
+
expect(setAgentToolGroupsMock).toHaveBeenCalledWith('a1', ['clientes', 'tareas']);
|
|
78
|
+
expect(result.current.success).toEqual({
|
|
79
|
+
id: 'a1',
|
|
80
|
+
connectors: [{
|
|
81
|
+
group: 'COR',
|
|
82
|
+
slugs: ['clientes', 'tareas']
|
|
83
|
+
}, {
|
|
84
|
+
group: 'MCP',
|
|
85
|
+
slugs: []
|
|
86
|
+
}]
|
|
87
|
+
});
|
|
88
|
+
case 2:
|
|
89
|
+
case "end":
|
|
90
|
+
return _context2.stop();
|
|
91
|
+
}
|
|
92
|
+
}, _callee2);
|
|
93
|
+
})));
|
|
94
|
+
});
|
|
95
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJhY3QiLCJyZW5kZXJIb29rIiwiY3JlYXRlQWdlbnQiLCJzZXRBZ2VudFRvb2xHcm91cHMiLCJ1c2VDcmVhdGVBZ2VudCIsImplc3QiLCJtb2NrIiwiZm4iLCJ1c2VTbmFja0Jhck1hbmFnZXIiLCJoYW5kbGVTbmFja2JhckVycm9yIiwiY3JlYXRlQWdlbnRNb2NrIiwic2V0QWdlbnRUb29sR3JvdXBzTW9jayIsInZhbHVlcyIsImdlbmVyYWwiLCJuYW1lIiwidXNlclByb21wdCIsImFpTW9kZWwiLCJwcm92aWRlciIsIm1vZGVsX25hbWUiLCJhY2Nlc3NpYmlsaXR5IiwiY29yQWNjZXNzIiwiY2xpZW50ZXMiLCJwcm95ZWN0b3MiLCJ0YXJlYXMiLCJkZXNjcmliZSIsImJlZm9yZUVhY2giLCJjbGVhckFsbE1vY2tzIiwibW9ja1Jlc29sdmVkVmFsdWUiLCJpZCIsIm9rIiwiaXQiLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJtYXJrIiwiX2NhbGxlZTIiLCJfcmVuZGVySG9vayIsInJlc3VsdCIsIndyYXAiLCJfY29udGV4dDIiLCJwcmV2IiwibmV4dCIsIl9jYWxsZWUiLCJfY29udGV4dCIsImN1cnJlbnQiLCJoYW5kbGVDcmVhdGVBZ2VudCIsInN0b3AiLCJleHBlY3QiLCJ0b0hhdmVCZWVuQ2FsbGVkV2l0aCIsInN1Y2Nlc3MiLCJ0b0VxdWFsIiwiY29ubmVjdG9ycyIsImdyb3VwIiwic2x1Z3MiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaG9va3MvdXNlQWdlbnRNb2RlbC91c2VDcmVhdGVBZ2VudC5zcGVjLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFjdCwgcmVuZGVySG9vayB9IGZyb20gJ0B0ZXN0aW5nLWxpYnJhcnkvcmVhY3QnXG5pbXBvcnQgeyBjcmVhdGVBZ2VudCB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL21haWEvQWdlbnRzL2NyZWF0ZUFnZW50J1xuaW1wb3J0IHsgc2V0QWdlbnRUb29sR3JvdXBzIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbWFpYS9BZ2VudHMvc2V0QWdlbnRUb29sR3JvdXBzJ1xuaW1wb3J0IHsgdXNlQ3JlYXRlQWdlbnQgfSBmcm9tICcuL3VzZUNyZWF0ZUFnZW50J1xuXG5qZXN0Lm1vY2soJy4uLy4uL3NlcnZpY2VzL21haWEvQWdlbnRzL2NyZWF0ZUFnZW50JywgKCkgPT4gKHtcbiAgY3JlYXRlQWdlbnQ6IGplc3QuZm4oKSxcbn0pKVxuXG5qZXN0Lm1vY2soJy4uLy4uL3NlcnZpY2VzL21haWEvQWdlbnRzL3NldEFnZW50VG9vbEdyb3VwcycsICgpID0+ICh7XG4gIHNldEFnZW50VG9vbEdyb3VwczogamVzdC5mbigpLFxufSkpXG5cbmplc3QubW9jaygnLi4vdXNlU25hY2tCYXJNYW5hZ2VyL3VzZVNuYWNrQmFyTWFuYWdlcicsICgpID0+ICh7XG4gIHVzZVNuYWNrQmFyTWFuYWdlcjogKCkgPT4gKHsgaGFuZGxlU25hY2tiYXJFcnJvcjogamVzdC5mbigpIH0pLFxufSkpXG5cbmNvbnN0IGNyZWF0ZUFnZW50TW9jayA9IGNyZWF0ZUFnZW50IGFzIGplc3QuTW9ja2VkRnVuY3Rpb248dHlwZW9mIGNyZWF0ZUFnZW50PlxuY29uc3Qgc2V0QWdlbnRUb29sR3JvdXBzTW9jayA9IHNldEFnZW50VG9vbEdyb3VwcyBhcyBqZXN0Lk1vY2tlZEZ1bmN0aW9uPHR5cGVvZiBzZXRBZ2VudFRvb2xHcm91cHM+XG5cbmNvbnN0IHZhbHVlcyA9IHtcbiAgZ2VuZXJhbDoge1xuICAgIG5hbWU6ICdMZWdhbCcsXG4gICAgdXNlclByb21wdDogJ1NvcyBsZWdhbCcsXG4gICAgYWlNb2RlbDogeyBwcm92aWRlcjogJ29wZW5haScsIG1vZGVsX25hbWU6ICdncHQnIH0sXG4gIH0sXG4gIGFjY2Vzc2liaWxpdHk6IHtcbiAgICBjb3JBY2Nlc3M6IHsgY2xpZW50ZXM6IHRydWUsIHByb3llY3RvczogZmFsc2UsIHRhcmVhczogdHJ1ZSB9LFxuICB9LFxufVxuXG5kZXNjcmliZSgndXNlQ3JlYXRlQWdlbnQnLCAoKSA9PiB7XG4gIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgIGplc3QuY2xlYXJBbGxNb2NrcygpXG4gICAgY3JlYXRlQWdlbnRNb2NrLm1vY2tSZXNvbHZlZFZhbHVlKHsgaWQ6ICdhMScgfSBhcyBuZXZlcilcbiAgICBzZXRBZ2VudFRvb2xHcm91cHNNb2NrLm1vY2tSZXNvbHZlZFZhbHVlKHsgb2s6IHRydWUgfSBhcyBuZXZlcilcbiAgfSlcblxuICBpdCgnY3JlYXRlcyB0aGUgYWdlbnQgYW5kIHBvc3RzIHRoZSBzZWxlY3RlZCBDT1Igc2x1Z3MnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgeyByZXN1bHQgfSA9IHJlbmRlckhvb2soKCkgPT4gdXNlQ3JlYXRlQWdlbnQoKSlcblxuICAgIGF3YWl0IGFjdChhc3luYyAoKSA9PiB7XG4gICAgICBhd2FpdCByZXN1bHQuY3VycmVudC5oYW5kbGVDcmVhdGVBZ2VudCh2YWx1ZXMpXG4gICAgfSlcblxuICAgIGV4cGVjdChzZXRBZ2VudFRvb2xHcm91cHNNb2NrKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCgnYTEnLCBbJ2NsaWVudGVzJywgJ3RhcmVhcyddKVxuICAgIGV4cGVjdChyZXN1bHQuY3VycmVudC5zdWNjZXNzKS50b0VxdWFsKHtcbiAgICAgIGlkOiAnYTEnLFxuICAgICAgY29ubmVjdG9yczogW1xuICAgICAgICB7IGdyb3VwOiAnQ09SJywgc2x1Z3M6IFsnY2xpZW50ZXMnLCAndGFyZWFzJ10gfSxcbiAgICAgICAgeyBncm91cDogJ01DUCcsIHNsdWdzOiBbXSB9LFxuICAgICAgXSxcbiAgICB9KVxuICB9KVxufSlcbiJdLCJtYXBwaW5ncyI6Ijs7QUFBQSxTQUFTQSxHQUFHLEVBQUVDLFVBQVUsUUFBUSx3QkFBd0I7QUFDeEQsU0FBU0MsV0FBVyxRQUFRLHdDQUF3QztBQUNwRSxTQUFTQyxrQkFBa0IsUUFBUSwrQ0FBK0M7QUFDbEYsU0FBU0MsY0FBYyxRQUFRLGtCQUFrQjtBQUVqREMsSUFBSSxDQUFDQyxJQUFJLENBQUMsd0NBQXdDLEVBQUU7RUFBQSxPQUFPO0lBQ3pESixXQUFXLEVBQUVHLElBQUksQ0FBQ0UsRUFBRSxDQUFDO0VBQ3ZCLENBQUM7QUFBQSxDQUFDLENBQUM7QUFFSEYsSUFBSSxDQUFDQyxJQUFJLENBQUMsK0NBQStDLEVBQUU7RUFBQSxPQUFPO0lBQ2hFSCxrQkFBa0IsRUFBRUUsSUFBSSxDQUFDRSxFQUFFLENBQUM7RUFDOUIsQ0FBQztBQUFBLENBQUMsQ0FBQztBQUVIRixJQUFJLENBQUNDLElBQUksQ0FBQywwQ0FBMEMsRUFBRTtFQUFBLE9BQU87SUFDM0RFLGtCQUFrQixFQUFFLFNBQXBCQSxrQkFBa0JBLENBQUE7TUFBQSxPQUFTO1FBQUVDLG1CQUFtQixFQUFFSixJQUFJLENBQUNFLEVBQUUsQ0FBQztNQUFFLENBQUM7SUFBQTtFQUMvRCxDQUFDO0FBQUEsQ0FBQyxDQUFDO0FBRUgsSUFBTUcsZUFBZSxHQUFHUixXQUFzRDtBQUM5RSxJQUFNUyxzQkFBc0IsR0FBR1Isa0JBQW9FO0FBRW5HLElBQU1TLE1BQU0sR0FBRztFQUNiQyxPQUFPLEVBQUU7SUFDUEMsSUFBSSxFQUFFLE9BQU87SUFDYkMsVUFBVSxFQUFFLFdBQVc7SUFDdkJDLE9BQU8sRUFBRTtNQUFFQyxRQUFRLEVBQUUsUUFBUTtNQUFFQyxVQUFVLEVBQUU7SUFBTTtFQUNuRCxDQUFDO0VBQ0RDLGFBQWEsRUFBRTtJQUNiQyxTQUFTLEVBQUU7TUFBRUMsUUFBUSxFQUFFLElBQUk7TUFBRUMsU0FBUyxFQUFFLEtBQUs7TUFBRUMsTUFBTSxFQUFFO0lBQUs7RUFDOUQ7QUFDRixDQUFDO0FBRURDLFFBQVEsQ0FBQyxnQkFBZ0IsRUFBRSxZQUFNO0VBQy9CQyxVQUFVLENBQUMsWUFBTTtJQUNmcEIsSUFBSSxDQUFDcUIsYUFBYSxDQUFDLENBQUM7SUFDcEJoQixlQUFlLENBQUNpQixpQkFBaUIsQ0FBQztNQUFFQyxFQUFFLEVBQUU7SUFBSyxDQUFVLENBQUM7SUFDeERqQixzQkFBc0IsQ0FBQ2dCLGlCQUFpQixDQUFDO01BQUVFLEVBQUUsRUFBRTtJQUFLLENBQVUsQ0FBQztFQUNqRSxDQUFDLENBQUM7RUFFRkMsRUFBRSxDQUFDLG9EQUFvRCxlQUFBQyxpQkFBQSxjQUFBQyxtQkFBQSxDQUFBQyxJQUFBLENBQUUsU0FBQUMsU0FBQTtJQUFBLElBQUFDLFdBQUEsRUFBQUMsTUFBQTtJQUFBLE9BQUFKLG1CQUFBLENBQUFLLElBQUEsV0FBQUMsU0FBQTtNQUFBLGtCQUFBQSxTQUFBLENBQUFDLElBQUEsR0FBQUQsU0FBQSxDQUFBRSxJQUFBO1FBQUE7VUFBQUwsV0FBQSxHQUNwQ2xDLFVBQVUsQ0FBQztZQUFBLE9BQU1HLGNBQWMsQ0FBQyxDQUFDO1VBQUEsRUFBQyxFQUE3Q2dDLE1BQU0sR0FBQUQsV0FBQSxDQUFOQyxNQUFNO1VBQUFFLFNBQUEsQ0FBQUUsSUFBQTtVQUFBLE9BRVJ4QyxHQUFHLGNBQUErQixpQkFBQSxjQUFBQyxtQkFBQSxDQUFBQyxJQUFBLENBQUMsU0FBQVEsUUFBQTtZQUFBLE9BQUFULG1CQUFBLENBQUFLLElBQUEsV0FBQUssUUFBQTtjQUFBLGtCQUFBQSxRQUFBLENBQUFILElBQUEsR0FBQUcsUUFBQSxDQUFBRixJQUFBO2dCQUFBO2tCQUFBRSxRQUFBLENBQUFGLElBQUE7a0JBQUEsT0FDRkosTUFBTSxDQUFDTyxPQUFPLENBQUNDLGlCQUFpQixDQUFDaEMsTUFBTSxDQUFDO2dCQUFBO2dCQUFBO2tCQUFBLE9BQUE4QixRQUFBLENBQUFHLElBQUE7Y0FBQTtZQUFBLEdBQUFKLE9BQUE7VUFBQSxDQUMvQyxHQUFDO1FBQUE7VUFFRkssTUFBTSxDQUFDbkMsc0JBQXNCLENBQUMsQ0FBQ29DLG9CQUFvQixDQUFDLElBQUksRUFBRSxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztVQUNqRkQsTUFBTSxDQUFDVixNQUFNLENBQUNPLE9BQU8sQ0FBQ0ssT0FBTyxDQUFDLENBQUNDLE9BQU8sQ0FBQztZQUNyQ3JCLEVBQUUsRUFBRSxJQUFJO1lBQ1JzQixVQUFVLEVBQUUsQ0FDVjtjQUFFQyxLQUFLLEVBQUUsS0FBSztjQUFFQyxLQUFLLEVBQUUsQ0FBQyxVQUFVLEVBQUUsUUFBUTtZQUFFLENBQUMsRUFDL0M7Y0FBRUQsS0FBSyxFQUFFLEtBQUs7Y0FBRUMsS0FBSyxFQUFFO1lBQUcsQ0FBQztVQUUvQixDQUFDLENBQUM7UUFBQTtRQUFBO1VBQUEsT0FBQWQsU0FBQSxDQUFBTyxJQUFBO01BQUE7SUFBQSxHQUFBWCxRQUFBO0VBQUEsQ0FDSCxHQUFDO0FBQ0osQ0FBQyxDQUFDIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
2
|
+
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
3
|
+
import { act, renderHook } from '@testing-library/react';
|
|
4
|
+
import { updateAgent } from '../../services/maia/Agents/updateAgent';
|
|
5
|
+
import { setAgentToolGroups } from '../../services/maia/Agents/setAgentToolGroups';
|
|
6
|
+
import { useUpdateAgent } from './useUpdateAgent';
|
|
7
|
+
jest.mock('../../services/maia/Agents/updateAgent', function () {
|
|
8
|
+
return {
|
|
9
|
+
updateAgent: jest.fn()
|
|
10
|
+
};
|
|
11
|
+
});
|
|
12
|
+
jest.mock('../../services/maia/Agents/setAgentToolGroups', function () {
|
|
13
|
+
return {
|
|
14
|
+
setAgentToolGroups: jest.fn()
|
|
15
|
+
};
|
|
16
|
+
});
|
|
17
|
+
jest.mock('../useSnackBarManager/useSnackBarManager', function () {
|
|
18
|
+
return {
|
|
19
|
+
useSnackBarManager: function useSnackBarManager() {
|
|
20
|
+
return {
|
|
21
|
+
handleSnackbarError: jest.fn()
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
});
|
|
26
|
+
var updateAgentMock = updateAgent;
|
|
27
|
+
var setAgentToolGroupsMock = setAgentToolGroups;
|
|
28
|
+
var values = {
|
|
29
|
+
general: {
|
|
30
|
+
id: 'a1',
|
|
31
|
+
name: 'Legal',
|
|
32
|
+
userPrompt: 'Sos legal',
|
|
33
|
+
aiModel: {
|
|
34
|
+
provider: 'openai',
|
|
35
|
+
model_name: 'gpt'
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
accessibility: {
|
|
39
|
+
corAccess: {
|
|
40
|
+
clientes: false,
|
|
41
|
+
proyectos: true,
|
|
42
|
+
tareas: false
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
describe('useUpdateAgent', function () {
|
|
47
|
+
beforeEach(function () {
|
|
48
|
+
jest.clearAllMocks();
|
|
49
|
+
updateAgentMock.mockResolvedValue({
|
|
50
|
+
id: 'a1'
|
|
51
|
+
});
|
|
52
|
+
setAgentToolGroupsMock.mockResolvedValue({
|
|
53
|
+
ok: true
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
it('updates the agent and posts the selected COR slugs', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
|
|
57
|
+
var _renderHook, result;
|
|
58
|
+
return _regeneratorRuntime.wrap(function (_context2) {
|
|
59
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
60
|
+
case 0:
|
|
61
|
+
_renderHook = renderHook(function () {
|
|
62
|
+
return useUpdateAgent();
|
|
63
|
+
}), result = _renderHook.result;
|
|
64
|
+
_context2.next = 1;
|
|
65
|
+
return act(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
66
|
+
return _regeneratorRuntime.wrap(function (_context) {
|
|
67
|
+
while (1) switch (_context.prev = _context.next) {
|
|
68
|
+
case 0:
|
|
69
|
+
_context.next = 1;
|
|
70
|
+
return result.current.handleUpdateAgent(values);
|
|
71
|
+
case 1:
|
|
72
|
+
case "end":
|
|
73
|
+
return _context.stop();
|
|
74
|
+
}
|
|
75
|
+
}, _callee);
|
|
76
|
+
})));
|
|
77
|
+
case 1:
|
|
78
|
+
expect(setAgentToolGroupsMock).toHaveBeenCalledWith('a1', ['proyectos']);
|
|
79
|
+
expect(result.current.success).toMatchObject({
|
|
80
|
+
id: 'a1',
|
|
81
|
+
connectors: [{
|
|
82
|
+
group: 'COR',
|
|
83
|
+
slugs: ['proyectos']
|
|
84
|
+
}, {
|
|
85
|
+
group: 'MCP',
|
|
86
|
+
slugs: []
|
|
87
|
+
}]
|
|
88
|
+
});
|
|
89
|
+
case 2:
|
|
90
|
+
case "end":
|
|
91
|
+
return _context2.stop();
|
|
92
|
+
}
|
|
93
|
+
}, _callee2);
|
|
94
|
+
})));
|
|
95
|
+
});
|
|
96
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJhY3QiLCJyZW5kZXJIb29rIiwidXBkYXRlQWdlbnQiLCJzZXRBZ2VudFRvb2xHcm91cHMiLCJ1c2VVcGRhdGVBZ2VudCIsImplc3QiLCJtb2NrIiwiZm4iLCJ1c2VTbmFja0Jhck1hbmFnZXIiLCJoYW5kbGVTbmFja2JhckVycm9yIiwidXBkYXRlQWdlbnRNb2NrIiwic2V0QWdlbnRUb29sR3JvdXBzTW9jayIsInZhbHVlcyIsImdlbmVyYWwiLCJpZCIsIm5hbWUiLCJ1c2VyUHJvbXB0IiwiYWlNb2RlbCIsInByb3ZpZGVyIiwibW9kZWxfbmFtZSIsImFjY2Vzc2liaWxpdHkiLCJjb3JBY2Nlc3MiLCJjbGllbnRlcyIsInByb3llY3RvcyIsInRhcmVhcyIsImRlc2NyaWJlIiwiYmVmb3JlRWFjaCIsImNsZWFyQWxsTW9ja3MiLCJtb2NrUmVzb2x2ZWRWYWx1ZSIsIm9rIiwiaXQiLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJtYXJrIiwiX2NhbGxlZTIiLCJfcmVuZGVySG9vayIsInJlc3VsdCIsIndyYXAiLCJfY29udGV4dDIiLCJwcmV2IiwibmV4dCIsIl9jYWxsZWUiLCJfY29udGV4dCIsImN1cnJlbnQiLCJoYW5kbGVVcGRhdGVBZ2VudCIsInN0b3AiLCJleHBlY3QiLCJ0b0hhdmVCZWVuQ2FsbGVkV2l0aCIsInN1Y2Nlc3MiLCJ0b01hdGNoT2JqZWN0IiwiY29ubmVjdG9ycyIsImdyb3VwIiwic2x1Z3MiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaG9va3MvdXNlQWdlbnRNb2RlbC91c2VVcGRhdGVBZ2VudC5zcGVjLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFjdCwgcmVuZGVySG9vayB9IGZyb20gJ0B0ZXN0aW5nLWxpYnJhcnkvcmVhY3QnXG5pbXBvcnQgeyB1cGRhdGVBZ2VudCB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL21haWEvQWdlbnRzL3VwZGF0ZUFnZW50J1xuaW1wb3J0IHsgc2V0QWdlbnRUb29sR3JvdXBzIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbWFpYS9BZ2VudHMvc2V0QWdlbnRUb29sR3JvdXBzJ1xuaW1wb3J0IHsgdXNlVXBkYXRlQWdlbnQgfSBmcm9tICcuL3VzZVVwZGF0ZUFnZW50J1xuXG5qZXN0Lm1vY2soJy4uLy4uL3NlcnZpY2VzL21haWEvQWdlbnRzL3VwZGF0ZUFnZW50JywgKCkgPT4gKHtcbiAgdXBkYXRlQWdlbnQ6IGplc3QuZm4oKSxcbn0pKVxuXG5qZXN0Lm1vY2soJy4uLy4uL3NlcnZpY2VzL21haWEvQWdlbnRzL3NldEFnZW50VG9vbEdyb3VwcycsICgpID0+ICh7XG4gIHNldEFnZW50VG9vbEdyb3VwczogamVzdC5mbigpLFxufSkpXG5cbmplc3QubW9jaygnLi4vdXNlU25hY2tCYXJNYW5hZ2VyL3VzZVNuYWNrQmFyTWFuYWdlcicsICgpID0+ICh7XG4gIHVzZVNuYWNrQmFyTWFuYWdlcjogKCkgPT4gKHsgaGFuZGxlU25hY2tiYXJFcnJvcjogamVzdC5mbigpIH0pLFxufSkpXG5cbmNvbnN0IHVwZGF0ZUFnZW50TW9jayA9IHVwZGF0ZUFnZW50IGFzIGplc3QuTW9ja2VkRnVuY3Rpb248dHlwZW9mIHVwZGF0ZUFnZW50PlxuY29uc3Qgc2V0QWdlbnRUb29sR3JvdXBzTW9jayA9IHNldEFnZW50VG9vbEdyb3VwcyBhcyBqZXN0Lk1vY2tlZEZ1bmN0aW9uPHR5cGVvZiBzZXRBZ2VudFRvb2xHcm91cHM+XG5cbmNvbnN0IHZhbHVlcyA9IHtcbiAgZ2VuZXJhbDoge1xuICAgIGlkOiAnYTEnLFxuICAgIG5hbWU6ICdMZWdhbCcsXG4gICAgdXNlclByb21wdDogJ1NvcyBsZWdhbCcsXG4gICAgYWlNb2RlbDogeyBwcm92aWRlcjogJ29wZW5haScsIG1vZGVsX25hbWU6ICdncHQnIH0sXG4gIH0sXG4gIGFjY2Vzc2liaWxpdHk6IHtcbiAgICBjb3JBY2Nlc3M6IHsgY2xpZW50ZXM6IGZhbHNlLCBwcm95ZWN0b3M6IHRydWUsIHRhcmVhczogZmFsc2UgfSxcbiAgfSxcbn1cblxuZGVzY3JpYmUoJ3VzZVVwZGF0ZUFnZW50JywgKCkgPT4ge1xuICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICBqZXN0LmNsZWFyQWxsTW9ja3MoKVxuICAgIHVwZGF0ZUFnZW50TW9jay5tb2NrUmVzb2x2ZWRWYWx1ZSh7IGlkOiAnYTEnIH0gYXMgbmV2ZXIpXG4gICAgc2V0QWdlbnRUb29sR3JvdXBzTW9jay5tb2NrUmVzb2x2ZWRWYWx1ZSh7IG9rOiB0cnVlIH0gYXMgbmV2ZXIpXG4gIH0pXG5cbiAgaXQoJ3VwZGF0ZXMgdGhlIGFnZW50IGFuZCBwb3N0cyB0aGUgc2VsZWN0ZWQgQ09SIHNsdWdzJywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHsgcmVzdWx0IH0gPSByZW5kZXJIb29rKCgpID0+IHVzZVVwZGF0ZUFnZW50KCkpXG5cbiAgICBhd2FpdCBhY3QoYXN5bmMgKCkgPT4ge1xuICAgICAgYXdhaXQgcmVzdWx0LmN1cnJlbnQuaGFuZGxlVXBkYXRlQWdlbnQodmFsdWVzKVxuICAgIH0pXG5cbiAgICBleHBlY3Qoc2V0QWdlbnRUb29sR3JvdXBzTW9jaykudG9IYXZlQmVlbkNhbGxlZFdpdGgoJ2ExJywgWydwcm95ZWN0b3MnXSlcbiAgICBleHBlY3QocmVzdWx0LmN1cnJlbnQuc3VjY2VzcykudG9NYXRjaE9iamVjdCh7XG4gICAgICBpZDogJ2ExJyxcbiAgICAgIGNvbm5lY3RvcnM6IFtcbiAgICAgICAgeyBncm91cDogJ0NPUicsIHNsdWdzOiBbJ3Byb3llY3RvcyddIH0sXG4gICAgICAgIHsgZ3JvdXA6ICdNQ1AnLCBzbHVnczogW10gfSxcbiAgICAgIF0sXG4gICAgfSlcbiAgfSlcbn0pXG4iXSwibWFwcGluZ3MiOiI7O0FBQUEsU0FBU0EsR0FBRyxFQUFFQyxVQUFVLFFBQVEsd0JBQXdCO0FBQ3hELFNBQVNDLFdBQVcsUUFBUSx3Q0FBd0M7QUFDcEUsU0FBU0Msa0JBQWtCLFFBQVEsK0NBQStDO0FBQ2xGLFNBQVNDLGNBQWMsUUFBUSxrQkFBa0I7QUFFakRDLElBQUksQ0FBQ0MsSUFBSSxDQUFDLHdDQUF3QyxFQUFFO0VBQUEsT0FBTztJQUN6REosV0FBVyxFQUFFRyxJQUFJLENBQUNFLEVBQUUsQ0FBQztFQUN2QixDQUFDO0FBQUEsQ0FBQyxDQUFDO0FBRUhGLElBQUksQ0FBQ0MsSUFBSSxDQUFDLCtDQUErQyxFQUFFO0VBQUEsT0FBTztJQUNoRUgsa0JBQWtCLEVBQUVFLElBQUksQ0FBQ0UsRUFBRSxDQUFDO0VBQzlCLENBQUM7QUFBQSxDQUFDLENBQUM7QUFFSEYsSUFBSSxDQUFDQyxJQUFJLENBQUMsMENBQTBDLEVBQUU7RUFBQSxPQUFPO0lBQzNERSxrQkFBa0IsRUFBRSxTQUFwQkEsa0JBQWtCQSxDQUFBO01BQUEsT0FBUztRQUFFQyxtQkFBbUIsRUFBRUosSUFBSSxDQUFDRSxFQUFFLENBQUM7TUFBRSxDQUFDO0lBQUE7RUFDL0QsQ0FBQztBQUFBLENBQUMsQ0FBQztBQUVILElBQU1HLGVBQWUsR0FBR1IsV0FBc0Q7QUFDOUUsSUFBTVMsc0JBQXNCLEdBQUdSLGtCQUFvRTtBQUVuRyxJQUFNUyxNQUFNLEdBQUc7RUFDYkMsT0FBTyxFQUFFO0lBQ1BDLEVBQUUsRUFBRSxJQUFJO0lBQ1JDLElBQUksRUFBRSxPQUFPO0lBQ2JDLFVBQVUsRUFBRSxXQUFXO0lBQ3ZCQyxPQUFPLEVBQUU7TUFBRUMsUUFBUSxFQUFFLFFBQVE7TUFBRUMsVUFBVSxFQUFFO0lBQU07RUFDbkQsQ0FBQztFQUNEQyxhQUFhLEVBQUU7SUFDYkMsU0FBUyxFQUFFO01BQUVDLFFBQVEsRUFBRSxLQUFLO01BQUVDLFNBQVMsRUFBRSxJQUFJO01BQUVDLE1BQU0sRUFBRTtJQUFNO0VBQy9EO0FBQ0YsQ0FBQztBQUVEQyxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsWUFBTTtFQUMvQkMsVUFBVSxDQUFDLFlBQU07SUFDZnJCLElBQUksQ0FBQ3NCLGFBQWEsQ0FBQyxDQUFDO0lBQ3BCakIsZUFBZSxDQUFDa0IsaUJBQWlCLENBQUM7TUFBRWQsRUFBRSxFQUFFO0lBQUssQ0FBVSxDQUFDO0lBQ3hESCxzQkFBc0IsQ0FBQ2lCLGlCQUFpQixDQUFDO01BQUVDLEVBQUUsRUFBRTtJQUFLLENBQVUsQ0FBQztFQUNqRSxDQUFDLENBQUM7RUFFRkMsRUFBRSxDQUFDLG9EQUFvRCxlQUFBQyxpQkFBQSxjQUFBQyxtQkFBQSxDQUFBQyxJQUFBLENBQUUsU0FBQUMsU0FBQTtJQUFBLElBQUFDLFdBQUEsRUFBQUMsTUFBQTtJQUFBLE9BQUFKLG1CQUFBLENBQUFLLElBQUEsV0FBQUMsU0FBQTtNQUFBLGtCQUFBQSxTQUFBLENBQUFDLElBQUEsR0FBQUQsU0FBQSxDQUFBRSxJQUFBO1FBQUE7VUFBQUwsV0FBQSxHQUNwQ2xDLFVBQVUsQ0FBQztZQUFBLE9BQU1HLGNBQWMsQ0FBQyxDQUFDO1VBQUEsRUFBQyxFQUE3Q2dDLE1BQU0sR0FBQUQsV0FBQSxDQUFOQyxNQUFNO1VBQUFFLFNBQUEsQ0FBQUUsSUFBQTtVQUFBLE9BRVJ4QyxHQUFHLGNBQUErQixpQkFBQSxjQUFBQyxtQkFBQSxDQUFBQyxJQUFBLENBQUMsU0FBQVEsUUFBQTtZQUFBLE9BQUFULG1CQUFBLENBQUFLLElBQUEsV0FBQUssUUFBQTtjQUFBLGtCQUFBQSxRQUFBLENBQUFILElBQUEsR0FBQUcsUUFBQSxDQUFBRixJQUFBO2dCQUFBO2tCQUFBRSxRQUFBLENBQUFGLElBQUE7a0JBQUEsT0FDRkosTUFBTSxDQUFDTyxPQUFPLENBQUNDLGlCQUFpQixDQUFDaEMsTUFBTSxDQUFDO2dCQUFBO2dCQUFBO2tCQUFBLE9BQUE4QixRQUFBLENBQUFHLElBQUE7Y0FBQTtZQUFBLEdBQUFKLE9BQUE7VUFBQSxDQUMvQyxHQUFDO1FBQUE7VUFFRkssTUFBTSxDQUFDbkMsc0JBQXNCLENBQUMsQ0FBQ29DLG9CQUFvQixDQUFDLElBQUksRUFBRSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1VBQ3hFRCxNQUFNLENBQUNWLE1BQU0sQ0FBQ08sT0FBTyxDQUFDSyxPQUFPLENBQUMsQ0FBQ0MsYUFBYSxDQUFDO1lBQzNDbkMsRUFBRSxFQUFFLElBQUk7WUFDUm9DLFVBQVUsRUFBRSxDQUNWO2NBQUVDLEtBQUssRUFBRSxLQUFLO2NBQUVDLEtBQUssRUFBRSxDQUFDLFdBQVc7WUFBRSxDQUFDLEVBQ3RDO2NBQUVELEtBQUssRUFBRSxLQUFLO2NBQUVDLEtBQUssRUFBRTtZQUFHLENBQUM7VUFFL0IsQ0FBQyxDQUFDO1FBQUE7UUFBQTtVQUFBLE9BQUFkLFNBQUEsQ0FBQU8sSUFBQTtNQUFBO0lBQUEsR0FBQVgsUUFBQTtFQUFBLENBQ0gsR0FBQztBQUNKLENBQUMsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { renderHook } from '@testing-library/react';
|
|
2
|
+
import { useCaretPosition } from './useCaretPosition';
|
|
3
|
+
describe('useCaretPosition', function () {
|
|
4
|
+
afterEach(function () {
|
|
5
|
+
var _window$getSelection;
|
|
6
|
+
(_window$getSelection = window.getSelection()) === null || _window$getSelection === void 0 || _window$getSelection.removeAllRanges();
|
|
7
|
+
jest.restoreAllMocks();
|
|
8
|
+
});
|
|
9
|
+
it('returns null without a selection', function () {
|
|
10
|
+
var _renderHook = renderHook(function () {
|
|
11
|
+
return useCaretPosition();
|
|
12
|
+
}),
|
|
13
|
+
result = _renderHook.result;
|
|
14
|
+
expect(result.current('@')).toBeNull();
|
|
15
|
+
});
|
|
16
|
+
it('returns the rect of the opener character', function () {
|
|
17
|
+
var fakeRect = {
|
|
18
|
+
top: 10,
|
|
19
|
+
left: 20,
|
|
20
|
+
bottom: 26,
|
|
21
|
+
right: 28,
|
|
22
|
+
height: 16,
|
|
23
|
+
width: 8
|
|
24
|
+
};
|
|
25
|
+
Range.prototype.getClientRects = function () {
|
|
26
|
+
return {
|
|
27
|
+
length: 1,
|
|
28
|
+
item: function item() {
|
|
29
|
+
return fakeRect;
|
|
30
|
+
},
|
|
31
|
+
0: fakeRect
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
var node = document.createElement('div');
|
|
35
|
+
node.textContent = 'hola @maia';
|
|
36
|
+
document.body.appendChild(node);
|
|
37
|
+
var range = document.createRange();
|
|
38
|
+
range.setStart(node.firstChild, 10);
|
|
39
|
+
range.collapse(true);
|
|
40
|
+
var selection = window.getSelection();
|
|
41
|
+
selection === null || selection === void 0 || selection.removeAllRanges();
|
|
42
|
+
selection === null || selection === void 0 || selection.addRange(range);
|
|
43
|
+
var _renderHook2 = renderHook(function () {
|
|
44
|
+
return useCaretPosition();
|
|
45
|
+
}),
|
|
46
|
+
result = _renderHook2.result;
|
|
47
|
+
var rect = result.current('@');
|
|
48
|
+
expect(rect).toEqual({
|
|
49
|
+
top: 10,
|
|
50
|
+
left: 20,
|
|
51
|
+
bottom: 26,
|
|
52
|
+
right: 28,
|
|
53
|
+
height: 16
|
|
54
|
+
});
|
|
55
|
+
node.remove();
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJyZW5kZXJIb29rIiwidXNlQ2FyZXRQb3NpdGlvbiIsImRlc2NyaWJlIiwiYWZ0ZXJFYWNoIiwiX3dpbmRvdyRnZXRTZWxlY3Rpb24iLCJ3aW5kb3ciLCJnZXRTZWxlY3Rpb24iLCJyZW1vdmVBbGxSYW5nZXMiLCJqZXN0IiwicmVzdG9yZUFsbE1vY2tzIiwiaXQiLCJfcmVuZGVySG9vayIsInJlc3VsdCIsImV4cGVjdCIsImN1cnJlbnQiLCJ0b0JlTnVsbCIsImZha2VSZWN0IiwidG9wIiwibGVmdCIsImJvdHRvbSIsInJpZ2h0IiwiaGVpZ2h0Iiwid2lkdGgiLCJSYW5nZSIsInByb3RvdHlwZSIsImdldENsaWVudFJlY3RzIiwibGVuZ3RoIiwiaXRlbSIsIm5vZGUiLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJ0ZXh0Q29udGVudCIsImJvZHkiLCJhcHBlbmRDaGlsZCIsInJhbmdlIiwiY3JlYXRlUmFuZ2UiLCJzZXRTdGFydCIsImZpcnN0Q2hpbGQiLCJjb2xsYXBzZSIsInNlbGVjdGlvbiIsImFkZFJhbmdlIiwiX3JlbmRlckhvb2syIiwicmVjdCIsInRvRXF1YWwiLCJyZW1vdmUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvaG9va3MvdXNlQ2FyZXRQb3NpdGlvbi5zcGVjLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJlbmRlckhvb2sgfSBmcm9tICdAdGVzdGluZy1saWJyYXJ5L3JlYWN0J1xuaW1wb3J0IHsgdXNlQ2FyZXRQb3NpdGlvbiB9IGZyb20gJy4vdXNlQ2FyZXRQb3NpdGlvbidcblxuZGVzY3JpYmUoJ3VzZUNhcmV0UG9zaXRpb24nLCAoKSA9PiB7XG4gIGFmdGVyRWFjaCgoKSA9PiB7XG4gICAgd2luZG93LmdldFNlbGVjdGlvbigpPy5yZW1vdmVBbGxSYW5nZXMoKVxuICAgIGplc3QucmVzdG9yZUFsbE1vY2tzKClcbiAgfSlcblxuICBpdCgncmV0dXJucyBudWxsIHdpdGhvdXQgYSBzZWxlY3Rpb24nLCAoKSA9PiB7XG4gICAgY29uc3QgeyByZXN1bHQgfSA9IHJlbmRlckhvb2soKCkgPT4gdXNlQ2FyZXRQb3NpdGlvbigpKVxuICAgIGV4cGVjdChyZXN1bHQuY3VycmVudCgnQCcpKS50b0JlTnVsbCgpXG4gIH0pXG5cbiAgaXQoJ3JldHVybnMgdGhlIHJlY3Qgb2YgdGhlIG9wZW5lciBjaGFyYWN0ZXInLCAoKSA9PiB7XG4gICAgY29uc3QgZmFrZVJlY3QgPSB7IHRvcDogMTAsIGxlZnQ6IDIwLCBib3R0b206IDI2LCByaWdodDogMjgsIGhlaWdodDogMTYsIHdpZHRoOiA4IH0gYXMgRE9NUmVjdFxuICAgIFJhbmdlLnByb3RvdHlwZS5nZXRDbGllbnRSZWN0cyA9ICgpID0+XG4gICAgICAoe1xuICAgICAgICBsZW5ndGg6IDEsXG4gICAgICAgIGl0ZW06ICgpID0+IGZha2VSZWN0LFxuICAgICAgICAwOiBmYWtlUmVjdCxcbiAgICAgIH0pIGFzIHVua25vd24gYXMgRE9NUmVjdExpc3RcblxuICAgIGNvbnN0IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKVxuICAgIG5vZGUudGV4dENvbnRlbnQgPSAnaG9sYSBAbWFpYSdcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKG5vZGUpXG5cbiAgICBjb25zdCByYW5nZSA9IGRvY3VtZW50LmNyZWF0ZVJhbmdlKClcbiAgICByYW5nZS5zZXRTdGFydChub2RlLmZpcnN0Q2hpbGQgYXMgVGV4dCwgMTApXG4gICAgcmFuZ2UuY29sbGFwc2UodHJ1ZSlcbiAgICBjb25zdCBzZWxlY3Rpb24gPSB3aW5kb3cuZ2V0U2VsZWN0aW9uKClcbiAgICBzZWxlY3Rpb24/LnJlbW92ZUFsbFJhbmdlcygpXG4gICAgc2VsZWN0aW9uPy5hZGRSYW5nZShyYW5nZSlcblxuICAgIGNvbnN0IHsgcmVzdWx0IH0gPSByZW5kZXJIb29rKCgpID0+IHVzZUNhcmV0UG9zaXRpb24oKSlcbiAgICBjb25zdCByZWN0ID0gcmVzdWx0LmN1cnJlbnQoJ0AnKVxuXG4gICAgZXhwZWN0KHJlY3QpLnRvRXF1YWwoe1xuICAgICAgdG9wOiAxMCxcbiAgICAgIGxlZnQ6IDIwLFxuICAgICAgYm90dG9tOiAyNixcbiAgICAgIHJpZ2h0OiAyOCxcbiAgICAgIGhlaWdodDogMTYsXG4gICAgfSlcblxuICAgIG5vZGUucmVtb3ZlKClcbiAgfSlcbn0pXG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLFVBQVUsUUFBUSx3QkFBd0I7QUFDbkQsU0FBU0MsZ0JBQWdCLFFBQVEsb0JBQW9CO0FBRXJEQyxRQUFRLENBQUMsa0JBQWtCLEVBQUUsWUFBTTtFQUNqQ0MsU0FBUyxDQUFDLFlBQU07SUFBQSxJQUFBQyxvQkFBQTtJQUNkLENBQUFBLG9CQUFBLEdBQUFDLE1BQU0sQ0FBQ0MsWUFBWSxDQUFDLENBQUMsY0FBQUYsb0JBQUEsZUFBckJBLG9CQUFBLENBQXVCRyxlQUFlLENBQUMsQ0FBQztJQUN4Q0MsSUFBSSxDQUFDQyxlQUFlLENBQUMsQ0FBQztFQUN4QixDQUFDLENBQUM7RUFFRkMsRUFBRSxDQUFDLGtDQUFrQyxFQUFFLFlBQU07SUFDM0MsSUFBQUMsV0FBQSxHQUFtQlgsVUFBVSxDQUFDO1FBQUEsT0FBTUMsZ0JBQWdCLENBQUMsQ0FBQztNQUFBLEVBQUM7TUFBL0NXLE1BQU0sR0FBQUQsV0FBQSxDQUFOQyxNQUFNO0lBQ2RDLE1BQU0sQ0FBQ0QsTUFBTSxDQUFDRSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQ0MsUUFBUSxDQUFDLENBQUM7RUFDeEMsQ0FBQyxDQUFDO0VBRUZMLEVBQUUsQ0FBQywwQ0FBMEMsRUFBRSxZQUFNO0lBQ25ELElBQU1NLFFBQVEsR0FBRztNQUFFQyxHQUFHLEVBQUUsRUFBRTtNQUFFQyxJQUFJLEVBQUUsRUFBRTtNQUFFQyxNQUFNLEVBQUUsRUFBRTtNQUFFQyxLQUFLLEVBQUUsRUFBRTtNQUFFQyxNQUFNLEVBQUUsRUFBRTtNQUFFQyxLQUFLLEVBQUU7SUFBRSxDQUFZO0lBQzlGQyxLQUFLLENBQUNDLFNBQVMsQ0FBQ0MsY0FBYyxHQUFHO01BQUEsT0FDOUI7UUFDQ0MsTUFBTSxFQUFFLENBQUM7UUFDVEMsSUFBSSxFQUFFLFNBQU5BLElBQUlBLENBQUE7VUFBQSxPQUFRWCxRQUFRO1FBQUE7UUFDcEIsQ0FBQyxFQUFFQTtNQUNMLENBQUM7SUFBQSxDQUEyQjtJQUU5QixJQUFNWSxJQUFJLEdBQUdDLFFBQVEsQ0FBQ0MsYUFBYSxDQUFDLEtBQUssQ0FBQztJQUMxQ0YsSUFBSSxDQUFDRyxXQUFXLEdBQUcsWUFBWTtJQUMvQkYsUUFBUSxDQUFDRyxJQUFJLENBQUNDLFdBQVcsQ0FBQ0wsSUFBSSxDQUFDO0lBRS9CLElBQU1NLEtBQUssR0FBR0wsUUFBUSxDQUFDTSxXQUFXLENBQUMsQ0FBQztJQUNwQ0QsS0FBSyxDQUFDRSxRQUFRLENBQUNSLElBQUksQ0FBQ1MsVUFBVSxFQUFVLEVBQUUsQ0FBQztJQUMzQ0gsS0FBSyxDQUFDSSxRQUFRLENBQUMsSUFBSSxDQUFDO0lBQ3BCLElBQU1DLFNBQVMsR0FBR2xDLE1BQU0sQ0FBQ0MsWUFBWSxDQUFDLENBQUM7SUFDdkNpQyxTQUFTLGFBQVRBLFNBQVMsZUFBVEEsU0FBUyxDQUFFaEMsZUFBZSxDQUFDLENBQUM7SUFDNUJnQyxTQUFTLGFBQVRBLFNBQVMsZUFBVEEsU0FBUyxDQUFFQyxRQUFRLENBQUNOLEtBQUssQ0FBQztJQUUxQixJQUFBTyxZQUFBLEdBQW1CekMsVUFBVSxDQUFDO1FBQUEsT0FBTUMsZ0JBQWdCLENBQUMsQ0FBQztNQUFBLEVBQUM7TUFBL0NXLE1BQU0sR0FBQTZCLFlBQUEsQ0FBTjdCLE1BQU07SUFDZCxJQUFNOEIsSUFBSSxHQUFHOUIsTUFBTSxDQUFDRSxPQUFPLENBQUMsR0FBRyxDQUFDO0lBRWhDRCxNQUFNLENBQUM2QixJQUFJLENBQUMsQ0FBQ0MsT0FBTyxDQUFDO01BQ25CMUIsR0FBRyxFQUFFLEVBQUU7TUFDUEMsSUFBSSxFQUFFLEVBQUU7TUFDUkMsTUFBTSxFQUFFLEVBQUU7TUFDVkMsS0FBSyxFQUFFLEVBQUU7TUFDVEMsTUFBTSxFQUFFO0lBQ1YsQ0FBQyxDQUFDO0lBRUZPLElBQUksQ0FBQ2dCLE1BQU0sQ0FBQyxDQUFDO0VBQ2YsQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDIiwiaWdub3JlTGlzdCI6W119
|