@projectcor/maia-components 2.42.1-3 → 2.43.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/README.md +2 -0
- package/lib/App.js +19 -44
- package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.js +1 -3
- package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.styles.js +7 -19
- package/lib/components/atoms/ReasoningBlock/ReasoningBlock.js +2 -7
- package/lib/components/atoms/ReasoningBlock/ReasoningBlock.styles.js +14 -10
- package/lib/components/atoms/ReasoningBlock/ReasoningSteps.js +1 -1
- package/lib/components/atoms/ReasoningBlock/ReasoningTimeline.js +37 -57
- package/lib/components/atoms/ReasoningBlock/reasoningLiveNarration.js +12 -18
- package/lib/components/index.js +1 -2
- package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.js +93 -6
- package/lib/components/molecules/ChatAIContent/ChatAIContent.js +3 -7
- package/lib/components/molecules/ChatAIHome/ChatAIHome.js +6 -21
- package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +3 -9
- package/lib/components/molecules/ChatAIMessages/newStyles.js +26 -29
- package/lib/components/molecules/ChatAIModal/ChatAIModal.helpers.js +1 -8
- package/lib/components/molecules/ChatAIModal/ChatAIModal.js +8 -25
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.js +153 -15
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.styles.js +26 -2
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +61 -65
- package/lib/components/molecules/ChatFooter/ChatFooter.js +3 -5
- package/lib/components/molecules/Sidebar/Sidebar.js +23 -41
- package/lib/components/organisms/AbmAgentModal/AbmAgentModal.js +38 -6
- package/lib/constants/maiaExternalConnectorsAccess.js +10 -0
- package/lib/constants/permissions/index.js +2 -2
- package/lib/constants/permissions/utils.js +1 -4
- package/lib/dev/DevReasoningTimeline.js +17 -11
- package/lib/dev/Providers.js +3 -5
- package/lib/hooks/useAgentModel/useCreateAgent.js +70 -15
- package/lib/hooks/useAgentModel/useUpdateAgent.js +67 -12
- package/lib/hooks/useChatManager/useChatManager.js +7 -7
- package/lib/hooks/useEvent.js +2 -1
- package/lib/hooks/useFrequentlyUsedActions.js +20 -63
- package/lib/index.js +2 -5
- package/lib/lang/br/index.js +9 -26
- package/lib/lang/en/index.js +9 -26
- package/lib/lang/es/index.js +9 -26
- package/lib/lang/fr/index.js +9 -26
- package/lib/services/maia/Actions/getFrequentlyUsedActions.js +1 -1
- package/lib/services/maia/Agents/connectors.js +258 -0
- package/lib/store/sessions/sessionStreamManager.js +52 -40
- package/lib/styles/cascade.js +3 -29
- package/lib/styles/transitions.js +1 -3
- package/lib/types/agentModal.js +1 -1
- package/lib/types/global.d.js +1 -1
- package/lib/utils/hoursPlannerQuickActionType.js +1 -74
- package/lib/utils/normalizeAgentConnectors.js +28 -3
- package/lib/utils/streamActivityMessages.js +19 -32
- package/package.json +14 -18
- package/lib/components/atoms/ApprovalBox/ApprovalBox.spec.js +0 -135
- package/lib/components/atoms/Checkbox/Checkbox.spec.js +0 -27
- package/lib/components/atoms/Chip/Chip.spec.js +0 -82
- package/lib/components/atoms/ContextMentionChip/ContextMentionChip.spec.js +0 -29
- package/lib/components/atoms/Fade/Fade.spec.js +0 -31
- package/lib/components/atoms/MAIAButton/MAIAButton.spec.js +0 -42
- package/lib/components/atoms/MAIAInput/MAIAInput.spec.js +0 -303
- package/lib/components/atoms/ReasoningBlock/ReasoningBlock.spec.js +0 -69
- package/lib/components/atoms/ReasoningBlock/ReasoningSteps.spec.js +0 -59
- package/lib/components/atoms/ReasoningBlock/ReasoningTimeline.spec.js +0 -58
- package/lib/components/atoms/ReasoningBlock/reasoningLiveNarration.spec.js +0 -68
- package/lib/components/atoms/ReasoningBlock/useCollapsibleHeight.js +0 -52
- package/lib/components/atoms/ReasoningBlock/useCollapsibleHeight.spec.js +0 -90
- package/lib/components/atoms/SkillsDropdown/SkillsDropdown.spec.js +0 -107
- package/lib/components/atoms/SlashCommandDropdown/SlashCommandDropdown.spec.js +0 -85
- package/lib/components/atoms/Switch/Switch.spec.js +0 -41
- package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.spec.js +0 -77
- package/lib/components/molecules/AgentInputBlock/AgentInputBlockMessage.js +0 -83
- package/lib/components/molecules/AgentInputBlock/AgentInputBlockMessage.styles.js +0 -30
- package/lib/components/molecules/AgentInputBlock/index.js +0 -5
- package/lib/components/molecules/AgentInputBlock/resolveAgentInputBlock.js +0 -52
- package/lib/components/molecules/AgentInputBlock/resolveAgentInputBlock.spec.js +0 -76
- package/lib/components/molecules/AgentInputBlock/resolveLegacyContextSession.js +0 -20
- package/lib/components/molecules/AgentInputBlock/resolveLegacyContextSession.spec.js +0 -34
- package/lib/components/molecules/AgentInputBlock/useAgentChangeModelAction.js +0 -36
- package/lib/components/molecules/ChatAIHome/ChatAIHome.spec.js +0 -246
- package/lib/components/molecules/ChatAIMessages/ChatAICreateAgentActions.spec.js +0 -104
- package/lib/components/molecules/ChatAIMessages/ChatAIMessages.spec.js +0 -291
- package/lib/components/molecules/ChatAIMessages/ChatAISuggestions.spec.js +0 -46
- package/lib/components/molecules/ChatAIModal/ChatAIModal.helpers.spec.js +0 -148
- package/lib/components/molecules/ChatAIModal/components/MaiaMinimizedPill/MaiaMinimizedPill.spec.js +0 -37
- package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.spec.js +0 -128
- package/lib/components/molecules/ChatFooter/ChatFooter.spec.js +0 -112
- package/lib/components/molecules/ContextMentionInput/ContextMentionInput.spec.js +0 -84
- package/lib/components/molecules/MessageFeedback/MessageFeedback.spec.js +0 -116
- package/lib/components/molecules/Sidebar/Sidebar.spec.js +0 -234
- package/lib/components/organisms/AbmAgentModal/AbmAgentModal.spec.js +0 -335
- package/lib/components/organisms/AbmSkillModal/AbmSkillModal.spec.js +0 -405
- package/lib/components/organisms/ChatAI/ChatAI.spec.js +0 -174
- package/lib/components/organisms/ChatAIPage/ChatAIPage.js +0 -525
- package/lib/components/organisms/ChatAIPage/ChatAIPage.spec.js +0 -231
- package/lib/components/organisms/ChatAIPage/ChatAIPage.styles.js +0 -16
- package/lib/components/organisms/ChatAIPage/ChatAIPageHeader.js +0 -253
- package/lib/components/organisms/ChatAIPage/ChatAIPageHeader.spec.js +0 -139
- package/lib/components/organisms/ChatAIPage/ChatAIPageHeader.styles.js +0 -13
- package/lib/components/organisms/ChatAIPage/ChatAIPageHome.js +0 -267
- package/lib/components/organisms/ChatAIPage/ChatAIPageHome.spec.js +0 -261
- package/lib/components/organisms/ChatAIPage/ChatAIPageHome.styles.js +0 -194
- package/lib/components/organisms/ChatAIPage/ChatAIPageHomeActionCardSlot.js +0 -105
- package/lib/components/organisms/ChatAIPage/ChatAIPageHomeActionCardSlot.spec.js +0 -73
- package/lib/components/organisms/ChatAIPage/ChatAIPageHomeActionCards.skeleton.js +0 -38
- package/lib/components/organisms/ChatAIPage/getDaypart.js +0 -9
- package/lib/components/organisms/ChatAIPage/getDaypart.spec.js +0 -19
- package/lib/components/organisms/ChatAIPage/index.js +0 -3
- package/lib/components/organisms/DeleteAgentModal/DeleteAgentModal.spec.js +0 -59
- package/lib/components/organisms/DeleteQuestionModal/DeleteQuestionModal.spec.js +0 -79
- package/lib/components/organisms/EditQuestionModal/EditQuestionModal.spec.js +0 -86
- package/lib/constants/permissions/utils.spec.js +0 -34
- package/lib/dev/DevMaiaPage.js +0 -30
- package/lib/hooks/frequentlyUsedActionsCache.js +0 -17
- package/lib/hooks/frequentlyUsedActionsCache.spec.js +0 -25
- package/lib/hooks/useAgentModel/useCreateAgent.spec.js +0 -95
- package/lib/hooks/useAgentModel/useUpdateAgent.spec.js +0 -96
- package/lib/hooks/useCaretPosition.spec.js +0 -58
- package/lib/hooks/useChatMessages/useChatMessages.spec.js +0 -279
- package/lib/hooks/useContinueLegacyContextInNewChat/index.js +0 -2
- package/lib/hooks/useContinueLegacyContextInNewChat/useContinueLegacyContextInNewChat.js +0 -93
- package/lib/hooks/useDebounce.spec.js +0 -42
- package/lib/hooks/useEvent.spec.js +0 -40
- package/lib/hooks/useIsMaiaPageRoute.js +0 -26
- package/lib/hooks/useIsMaiaPageRoute.spec.js +0 -26
- package/lib/hooks/useMaiaChatSessionMeta/index.js +0 -2
- package/lib/hooks/useMaiaChatSessionMeta/useMaiaChatSessionMeta.js +0 -24
- package/lib/hooks/useMentionAllowedTypes.spec.js +0 -89
- package/lib/hooks/useMinimizedPillNoveltyDot/useMinimizedPillNoveltyDot.spec.js +0 -67
- package/lib/hooks/useModal/useModal.spec.js +0 -73
- package/lib/hooks/useResize.spec.js +0 -37
- package/lib/hooks/useSkillsCatalog.spec.js +0 -88
- package/lib/hooks/useSnackBarManager/useSnackBarManager.spec.js +0 -33
- package/lib/hooks/useT.spec.js +0 -20
- package/lib/hooks/useToggle.spec.js +0 -33
- package/lib/services/maia/Access/updateAccess.spec.js +0 -108
- package/lib/services/maia/Actions/getFrequentlyUsedActions.spec.js +0 -56
- package/lib/services/maia/Actions/getSlashCommands.spec.js +0 -74
- package/lib/services/maia/Agents/createAgent.spec.js +0 -55
- package/lib/services/maia/Agents/deleteAgent.spec.js +0 -42
- package/lib/services/maia/Agents/fetchAgentDetail.spec.js +0 -108
- package/lib/services/maia/Agents/getAgentById.spec.js +0 -55
- package/lib/services/maia/Agents/getAgentSuggestions.spec.js +0 -82
- package/lib/services/maia/Agents/setAgentToolGroups.spec.js +0 -45
- package/lib/services/maia/Agents/toggleFavorite.spec.js +0 -47
- package/lib/services/maia/Agents/updateAgent.spec.js +0 -48
- package/lib/services/maia/Chats/deleteChat.spec.js +0 -31
- package/lib/services/maia/Chats/getChatMessages.spec.js +0 -150
- package/lib/services/maia/Chats/getChatsByUserId.spec.js +0 -149
- package/lib/services/maia/Chats/markSessionAsRead.spec.js +0 -30
- package/lib/services/maia/Chats/patchChat.spec.js +0 -41
- package/lib/services/maia/Chats/wasHelpfulChat.spec.js +0 -28
- package/lib/services/maia/Faqs/getFrequentlyAskedQuestions.spec.js +0 -58
- package/lib/services/maia/Knowledge/delete.spec.js +0 -45
- package/lib/services/maia/Knowledge/download.spec.js +0 -78
- package/lib/services/maia/Knowledge/save.spec.js +0 -58
- package/lib/services/maia/Orchestrator/orchestrator.spec.js +0 -72
- package/lib/services/maia/RecentClients/getRecentClients.spec.js +0 -52
- package/lib/services/maia/RecentContexts/getRecentContexts.spec.js +0 -83
- package/lib/services/maia/RecentProjects/getRecentProjects.spec.js +0 -82
- package/lib/services/maia/RecentTasks/getRecentTasks.spec.js +0 -63
- package/lib/services/maia/RecentUsers/getRecentUsers.spec.js +0 -82
- package/lib/services/maia/Skills/createSkill.spec.js +0 -68
- package/lib/services/maia/Skills/deleteSkill.spec.js +0 -42
- package/lib/services/maia/Skills/generateSkill.spec.js +0 -48
- package/lib/services/maia/Skills/getSkills.spec.js +0 -152
- package/lib/services/maia/Skills/updateSkill.spec.js +0 -62
- package/lib/services/maia/client.spec.js +0 -56
- package/lib/services/utils/fetchCOR.spec.js +0 -211
- package/lib/services/utils/getCookie.spec.js +0 -20
- package/lib/store/chatsSidebarOptimistic.spec.js +0 -120
- package/lib/store/maiaLastChatPersistence.spec.js +0 -22
- package/lib/store/maiaPanelSessionPersistence.spec.js +0 -62
- package/lib/store/sessions/sessions.types.spec.js +0 -16
- package/lib/store/sessions/useSessionsStore.spec.js +0 -135
- package/lib/store/useChatsStore.spec.js +0 -619
- package/lib/store/useFaqsStore.spec.js +0 -57
- package/lib/utils/agentDisplayName.spec.js +0 -44
- package/lib/utils/autoApproveStorage.spec.js +0 -25
- package/lib/utils/chatInputFiles.spec.js +0 -39
- package/lib/utils/contextMentionLabel.spec.js +0 -13
- package/lib/utils/contextMentionTriggers.spec.js +0 -38
- package/lib/utils/contextMentionTypeLabel.spec.js +0 -14
- package/lib/utils/corConnectorMentionTypes.spec.js +0 -23
- package/lib/utils/fileDownloadHelper.spec.js +0 -67
- package/lib/utils/formatQuickActionMessage.spec.js +0 -27
- package/lib/utils/formatUnreadCount.spec.js +0 -12
- package/lib/utils/getUnitFileSize.spec.js +0 -18
- package/lib/utils/hitlAnalytics.spec.js +0 -100
- package/lib/utils/hoursPlannerQuickActionType.spec.js +0 -64
- package/lib/utils/maiaPageRoute.js +0 -24
- package/lib/utils/maiaPageRoute.spec.js +0 -23
- package/lib/utils/mapBackendLang.spec.js +0 -19
- package/lib/utils/navigateContextEntity.spec.js +0 -50
- package/lib/utils/normalizeAgentConnectors.spec.js +0 -89
- package/lib/utils/orchestratorSubagents.spec.js +0 -32
- package/lib/utils/reasoningMappers.spec.js +0 -103
- package/lib/utils/retryCompletion.spec.js +0 -99
- package/lib/utils/skillContentSize.spec.js +0 -13
- package/lib/utils/slashCommandMarker.spec.js +0 -43
- package/lib/utils/sortManagerHoursHomeFuas.spec.js +0 -51
- package/lib/utils/sseStreamContent.spec.js +0 -31
- package/lib/utils/streamActivityMessages.spec.js +0 -131
- package/lib/utils/validateTrimmedFields.spec.js +0 -26
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Feature access de conectores externos (MCP), p. ej. NetSuite.
|
|
3
|
+
*
|
|
4
|
+
* Sin el flag el ABM ignora los conectores por completo: no pide el catálogo,
|
|
5
|
+
* no muestra la sección y no toca los que el agente ya tenga asignados.
|
|
6
|
+
*/
|
|
7
|
+
export var hasMaiaExternalConnectorsAccess = function hasMaiaExternalConnectorsAccess() {
|
|
8
|
+
return typeof window !== 'undefined' && Boolean(window.MAIA_EXTERNAL_CONNECTORS);
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJoYXNNYWlhRXh0ZXJuYWxDb25uZWN0b3JzQWNjZXNzIiwid2luZG93IiwiQm9vbGVhbiIsIk1BSUFfRVhURVJOQUxfQ09OTkVDVE9SUyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25zdGFudHMvbWFpYUV4dGVybmFsQ29ubmVjdG9yc0FjY2Vzcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEZlYXR1cmUgYWNjZXNzIGRlIGNvbmVjdG9yZXMgZXh0ZXJub3MgKE1DUCksIHAuIGVqLiBOZXRTdWl0ZS5cbiAqXG4gKiBTaW4gZWwgZmxhZyBlbCBBQk0gaWdub3JhIGxvcyBjb25lY3RvcmVzIHBvciBjb21wbGV0bzogbm8gcGlkZSBlbCBjYXTDoWxvZ28sXG4gKiBubyBtdWVzdHJhIGxhIHNlY2Npw7NuIHkgbm8gdG9jYSBsb3MgcXVlIGVsIGFnZW50ZSB5YSB0ZW5nYSBhc2lnbmFkb3MuXG4gKi9cbmV4cG9ydCBjb25zdCBoYXNNYWlhRXh0ZXJuYWxDb25uZWN0b3JzQWNjZXNzID0gKCk6IGJvb2xlYW4gPT5cbiAgdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgQm9vbGVhbih3aW5kb3cuTUFJQV9FWFRFUk5BTF9DT05ORUNUT1JTKVxuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPLElBQU1BLCtCQUErQixHQUFHLFNBQWxDQSwrQkFBK0JBLENBQUE7RUFBQSxPQUMxQyxPQUFPQyxNQUFNLEtBQUssV0FBVyxJQUFJQyxPQUFPLENBQUNELE1BQU0sQ0FBQ0Usd0JBQXdCLENBQUM7QUFBQSIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export { buildConfigureSettingsItems } from './config';
|
|
2
|
-
export { canAccessToProjectSummary, canAccessToChatAI, canAccessToSkills,
|
|
3
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
2
|
+
export { canAccessToProjectSummary, canAccessToChatAI, canAccessToSkills, isSkillsPilotCompany } from './utils';
|
|
3
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJidWlsZENvbmZpZ3VyZVNldHRpbmdzSXRlbXMiLCJjYW5BY2Nlc3NUb1Byb2plY3RTdW1tYXJ5IiwiY2FuQWNjZXNzVG9DaGF0QUkiLCJjYW5BY2Nlc3NUb1NraWxscyIsImlzU2tpbGxzUGlsb3RDb21wYW55Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnN0YW50cy9wZXJtaXNzaW9ucy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBidWlsZENvbmZpZ3VyZVNldHRpbmdzSXRlbXMgfSBmcm9tICcuL2NvbmZpZydcbmV4cG9ydCB7IGNhbkFjY2Vzc1RvUHJvamVjdFN1bW1hcnksIGNhbkFjY2Vzc1RvQ2hhdEFJLCBjYW5BY2Nlc3NUb1NraWxscywgaXNTa2lsbHNQaWxvdENvbXBhbnkgfSBmcm9tICcuL3V0aWxzJ1xuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSwyQkFBMkIsUUFBUSxVQUFVO0FBQ3RELFNBQVNDLHlCQUF5QixFQUFFQyxpQkFBaUIsRUFBRUMsaUJBQWlCLEVBQUVDLG9CQUFvQixRQUFRLFNBQVMiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -15,9 +15,6 @@ export var canAccessToChatAI = function canAccessToChatAI(user) {
|
|
|
15
15
|
export var canAccessToSkills = function canAccessToSkills(user) {
|
|
16
16
|
return canAccessToFeature('MAIA_SKILLS_ACCESS') && !!user.role_id && !DISABLED_ROLES.includes(user.role_id);
|
|
17
17
|
};
|
|
18
|
-
export var canAccessToMaiaSidebar = function canAccessToMaiaSidebar(user) {
|
|
19
|
-
return canAccessToFeature('MAIA_SIDEBAR_FEATURE_ACCESS') && canAccessToFeature('MAIA_CHAT_AI_FEATURE_ACCESS') && user.role_id === CORUserRole.COLLABORATOR;
|
|
20
|
-
};
|
|
21
18
|
var SKILLS_PILOT_COMPANY_IDS = [2336, 13303, 2808];
|
|
22
19
|
var SKILLS_BETA_ONLY_COMPANY_ID = 60;
|
|
23
20
|
var isCorBetaHost = function isCorBetaHost() {
|
|
@@ -30,4 +27,4 @@ export var isSkillsPilotCompany = function isSkillsPilotCompany(companyId) {
|
|
|
30
27
|
if (SKILLS_PILOT_COMPANY_IDS.includes(companyId)) return true;
|
|
31
28
|
return companyId === SKILLS_BETA_ONLY_COMPANY_ID && isCorBetaHost();
|
|
32
29
|
};
|
|
33
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDT1JVc2VyUm9sZSIsIkRJU0FCTEVEX1JPTEVTIiwiQ0xJRU5UIiwiRlJFRUxBTkNFUiIsImNhbkFjY2Vzc1RvRmVhdHVyZSIsImZlYXR1cmUiLCJGRUFUVVJFX0FDQ0VTUyIsIndpbmRvdyIsIkJvb2xlYW4iLCJjYW5BY2Nlc3NUb1Byb2plY3RTdW1tYXJ5IiwidXNlciIsIk1BSUFfUFJPSkVDVF9TVU1NQVJZX0VOQUJMRUQiLCJyb2xlX2lkIiwiaW5jbHVkZXMiLCJjYW5BY2Nlc3NUb0NoYXRBSSIsIk1BSUFfQ0hBVF9BSV9FTkFCTEVEIiwiY2FuQWNjZXNzVG9Ta2lsbHMiLCJTS0lMTFNfUElMT1RfQ09NUEFOWV9JRFMiLCJTS0lMTFNfQkVUQV9PTkxZX0NPTVBBTllfSUQiLCJpc0NvckJldGFIb3N0IiwibG9jYXRpb24iLCJob3N0bmFtZSIsImVuZHNXaXRoIiwiaXNTa2lsbHNQaWxvdENvbXBhbnkiLCJjb21wYW55SWQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29uc3RhbnRzL3Blcm1pc3Npb25zL3V0aWxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENPUlVzZXIsIENPUlVzZXJSb2xlIH0gZnJvbSAnLi4vLi4vY29udGV4dC9jb3ItdXNlcidcblxuY29uc3QgRElTQUJMRURfUk9MRVMgPSBbQ09SVXNlclJvbGUuQ0xJRU5ULCBDT1JVc2VyUm9sZS5GUkVFTEFOQ0VSXVxuXG5jb25zdCBjYW5BY2Nlc3NUb0ZlYXR1cmUgPSAoZmVhdHVyZTogc3RyaW5nKSA9PiB7XG4gIGNvbnN0IEZFQVRVUkVfQUNDRVNTID0gZmVhdHVyZSBpbiB3aW5kb3cgJiYgQm9vbGVhbih3aW5kb3dbZmVhdHVyZV0pXG5cbiAgcmV0dXJuIEZFQVRVUkVfQUNDRVNTXG59XG5cbmV4cG9ydCBjb25zdCBjYW5BY2Nlc3NUb1Byb2plY3RTdW1tYXJ5ID0gKHVzZXI6IENPUlVzZXIpID0+IHtcbiAgY29uc3QgTUFJQV9QUk9KRUNUX1NVTU1BUllfRU5BQkxFRCA9XG4gICAgY2FuQWNjZXNzVG9GZWF0dXJlKCdNQUlBX1BST0pFQ1RfU1VNTUFSWV9GRUFUVVJFX0FDQ0VTUycpIHx8XG4gICAgY2FuQWNjZXNzVG9GZWF0dXJlKCdNQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTJykgfHxcbiAgICBjYW5BY2Nlc3NUb0ZlYXR1cmUoJ01BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTUycpXG5cbiAgcmV0dXJuIE1BSUFfUFJPSkVDVF9TVU1NQVJZX0VOQUJMRUQgJiYgdXNlci5yb2xlX2lkICYmICFESVNBQkxFRF9ST0xFUy5pbmNsdWRlcyh1c2VyLnJvbGVfaWQpXG59XG5cbmV4cG9ydCBjb25zdCBjYW5BY2Nlc3NUb0NoYXRBSSA9ICh1c2VyOiBDT1JVc2VyKSA9PiB7XG4gIGNvbnN0IE1BSUFfQ0hBVF9BSV9FTkFCTEVEID1cbiAgICBjYW5BY2Nlc3NUb0ZlYXR1cmUoJ01BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTUycpIHx8XG4gICAgY2FuQWNjZXNzVG9GZWF0dXJlKCdNQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTJykgfHxcbiAgICBjYW5BY2Nlc3NUb0ZlYXR1cmUoJ01BSUFfUFJPSkVDVF9TVU1NQVJZX0ZFQVRVUkVfQUNDRVNTJylcblxuICByZXR1cm4gTUFJQV9DSEFUX0FJX0VOQUJMRUQgJiYgdXNlci5yb2xlX2lkICYmICFESVNBQkxFRF9ST0xFUy5pbmNsdWRlcyh1c2VyLnJvbGVfaWQpXG59XG5cbmV4cG9ydCBjb25zdCBjYW5BY2Nlc3NUb1NraWxscyA9ICh1c2VyOiBDT1JVc2VyKSA9PlxuICBjYW5BY2Nlc3NUb0ZlYXR1cmUoJ01BSUFfU0tJTExTX0FDQ0VTUycpICYmICEhdXNlci5yb2xlX2lkICYmICFESVNBQkxFRF9ST0xFUy5pbmNsdWRlcyh1c2VyLnJvbGVfaWQpXG5cbmNvbnN0IFNLSUxMU19QSUxPVF9DT01QQU5ZX0lEUyA9IFsyMzM2LCAxMzMwMywgMjgwOF1cbmNvbnN0IFNLSUxMU19CRVRBX09OTFlfQ09NUEFOWV9JRCA9IDYwXG5cbmNvbnN0IGlzQ29yQmV0YUhvc3QgPSAoKTogYm9vbGVhbiA9PiB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyAmJiB3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUuZW5kc1dpdGgoJ2Nvci1iZXRhLmNvbScpXG5cbi8qKiBTaWRlYmFyIE1pcyBza2lsbHMgeSBjcmVhciBza2lsbCBlbiBpbnB1dDogcGlsb3QgcG9yIGNvbXBhbnkgKDYwIHNvbG8gZW4gY29yLWJldGEuY29tKS4gKi9cbmV4cG9ydCBjb25zdCBpc1NraWxsc1BpbG90Q29tcGFueSA9IChjb21wYW55SWQ/OiBudW1iZXIpOiBib29sZWFuID0+IHtcbiAgaWYgKGNvbXBhbnlJZCA9PSBudWxsKSByZXR1cm4gZmFsc2VcbiAgaWYgKFNLSUxMU19QSUxPVF9DT01QQU5ZX0lEUy5pbmNsdWRlcyhjb21wYW55SWQpKSByZXR1cm4gdHJ1ZVxuICByZXR1cm4gY29tcGFueUlkID09PSBTS0lMTFNfQkVUQV9PTkxZX0NPTVBBTllfSUQgJiYgaXNDb3JCZXRhSG9zdCgpXG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQWtCQSxXQUFXLFFBQVEsd0JBQXdCO0FBRTdELElBQU1DLGNBQWMsR0FBRyxDQUFDRCxXQUFXLENBQUNFLE1BQU0sRUFBRUYsV0FBVyxDQUFDRyxVQUFVLENBQUM7QUFFbkUsSUFBTUMsa0JBQWtCLEdBQUcsU0FBckJBLGtCQUFrQkEsQ0FBSUMsT0FBZSxFQUFLO0VBQzlDLElBQU1DLGNBQWMsR0FBR0QsT0FBTyxJQUFJRSxNQUFNLElBQUlDLE9BQU8sQ0FBQ0QsTUFBTSxDQUFDRixPQUFPLENBQUMsQ0FBQztFQUVwRSxPQUFPQyxjQUFjO0FBQ3ZCLENBQUM7QUFFRCxPQUFPLElBQU1HLHlCQUF5QixHQUFHLFNBQTVCQSx5QkFBeUJBLENBQUlDLElBQWEsRUFBSztFQUMxRCxJQUFNQyw0QkFBNEIsR0FDaENQLGtCQUFrQixDQUFDLHFDQUFxQyxDQUFDLElBQ3pEQSxrQkFBa0IsQ0FBQywwQ0FBMEMsQ0FBQyxJQUM5REEsa0JBQWtCLENBQUMsNkJBQTZCLENBQUM7RUFFbkQsT0FBT08sNEJBQTRCLElBQUlELElBQUksQ0FBQ0UsT0FBTyxJQUFJLENBQUNYLGNBQWMsQ0FBQ1ksUUFBUSxDQUFDSCxJQUFJLENBQUNFLE9BQU8sQ0FBQztBQUMvRixDQUFDO0FBRUQsT0FBTyxJQUFNRSxpQkFBaUIsR0FBRyxTQUFwQkEsaUJBQWlCQSxDQUFJSixJQUFhLEVBQUs7RUFDbEQsSUFBTUssb0JBQW9CLEdBQ3hCWCxrQkFBa0IsQ0FBQyw2QkFBNkIsQ0FBQyxJQUNqREEsa0JBQWtCLENBQUMsMENBQTBDLENBQUMsSUFDOURBLGtCQUFrQixDQUFDLHFDQUFxQyxDQUFDO0VBRTNELE9BQU9XLG9CQUFvQixJQUFJTCxJQUFJLENBQUNFLE9BQU8sSUFBSSxDQUFDWCxjQUFjLENBQUNZLFFBQVEsQ0FBQ0gsSUFBSSxDQUFDRSxPQUFPLENBQUM7QUFDdkYsQ0FBQztBQUVELE9BQU8sSUFBTUksaUJBQWlCLEdBQUcsU0FBcEJBLGlCQUFpQkEsQ0FBSU4sSUFBYTtFQUFBLE9BQzdDTixrQkFBa0IsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQ00sSUFBSSxDQUFDRSxPQUFPLElBQUksQ0FBQ1gsY0FBYyxDQUFDWSxRQUFRLENBQUNILElBQUksQ0FBQ0UsT0FBTyxDQUFDO0FBQUE7QUFFdEcsSUFBTUssd0JBQXdCLEdBQUcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQztBQUNwRCxJQUFNQywyQkFBMkIsR0FBRyxFQUFFO0FBRXRDLElBQU1DLGFBQWEsR0FBRyxTQUFoQkEsYUFBYUEsQ0FBQTtFQUFBLE9BQWtCLE9BQU9aLE1BQU0sS0FBSyxXQUFXLElBQUlBLE1BQU0sQ0FBQ2EsUUFBUSxDQUFDQyxRQUFRLENBQUNDLFFBQVEsQ0FBQyxjQUFjLENBQUM7QUFBQTs7QUFFdkg7QUFDQSxPQUFPLElBQU1DLG9CQUFvQixHQUFHLFNBQXZCQSxvQkFBb0JBLENBQUlDLFNBQWtCLEVBQWM7RUFDbkUsSUFBSUEsU0FBUyxJQUFJLElBQUksRUFBRSxPQUFPLEtBQUs7RUFDbkMsSUFBSVAsd0JBQXdCLENBQUNKLFFBQVEsQ0FBQ1csU0FBUyxDQUFDLEVBQUUsT0FBTyxJQUFJO0VBQzdELE9BQU9BLFNBQVMsS0FBS04sMkJBQTJCLElBQUlDLGFBQWEsQ0FBQyxDQUFDO0FBQ3JFLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -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 { resolveToolActionLabel, 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,7 +59,10 @@ export function DevReasoningTimeline() {
|
|
|
59
59
|
clearTimers();
|
|
60
60
|
reasoningStore.clear();
|
|
61
61
|
reasoningStore.start(MESSAGE_ID);
|
|
62
|
-
setActivity(
|
|
62
|
+
setActivity({
|
|
63
|
+
phase: 'thinking',
|
|
64
|
+
message: t('chat.activity.thinking.analyzing')
|
|
65
|
+
});
|
|
63
66
|
setBody('');
|
|
64
67
|
setIsDone(false);
|
|
65
68
|
setRunId(function (current) {
|
|
@@ -75,14 +78,13 @@ export function DevReasoningTimeline() {
|
|
|
75
78
|
MOCK_EVENTS.forEach(function (event) {
|
|
76
79
|
if (event.kind === 'thinking') {
|
|
77
80
|
schedule(event.at, function () {
|
|
78
|
-
|
|
79
|
-
reasoningStore.appendThinking(MESSAGE_ID, event.i, event.text);
|
|
81
|
+
return reasoningStore.appendThinking(MESSAGE_ID, event.i, event.text);
|
|
80
82
|
});
|
|
81
83
|
return;
|
|
82
84
|
}
|
|
83
85
|
if (event.kind === 'body') {
|
|
84
86
|
schedule(event.at, function () {
|
|
85
|
-
setActivity(getWritingStreamActivity(t));
|
|
87
|
+
return setActivity(getWritingStreamActivity(t));
|
|
86
88
|
});
|
|
87
89
|
// Tokens: el texto entra de a pedazos, como el stream real.
|
|
88
90
|
var size = Math.ceil(event.text.length / BODY_CHUNKS);
|
|
@@ -119,8 +121,14 @@ export function DevReasoningTimeline() {
|
|
|
119
121
|
setBody('');
|
|
120
122
|
reasoningStore.markAnswerReset(MESSAGE_ID);
|
|
121
123
|
}
|
|
122
|
-
|
|
123
|
-
|
|
124
|
+
|
|
125
|
+
// El manager saca el label de actividad de la tool que arranca a correr.
|
|
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
|
+
});
|
|
124
132
|
}
|
|
125
133
|
});
|
|
126
134
|
});
|
|
@@ -130,9 +138,7 @@ export function DevReasoningTimeline() {
|
|
|
130
138
|
}, [clearTimers]);
|
|
131
139
|
var _useReasoningTrace = useReasoningTrace(isDone ? '' : MESSAGE_ID),
|
|
132
140
|
steps = _useReasoningTrace.steps;
|
|
133
|
-
var streamNarrationInTimeline = shouldStreamNarrationInTimeline(steps, activity, body,
|
|
134
|
-
messageId: MESSAGE_ID
|
|
135
|
-
});
|
|
141
|
+
var streamNarrationInTimeline = shouldStreamNarrationInTimeline(steps, activity, body, MESSAGE_ID);
|
|
136
142
|
return /*#__PURE__*/_jsxs("div", {
|
|
137
143
|
style: {
|
|
138
144
|
padding: 24,
|
|
@@ -228,4 +234,4 @@ export function DevReasoningTimeline() {
|
|
|
228
234
|
})]
|
|
229
235
|
});
|
|
230
236
|
}
|
|
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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
|
|
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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
|
package/lib/dev/Providers.js
CHANGED
|
@@ -9,15 +9,13 @@ 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
|
|
13
|
-
_ref$user = _ref.user,
|
|
14
|
-
user = _ref$user === void 0 ? mockedUserInfo : _ref$user;
|
|
12
|
+
var children = _ref.children;
|
|
15
13
|
return /*#__PURE__*/_jsx(ApolloProvider, {
|
|
16
14
|
client: client,
|
|
17
15
|
children: /*#__PURE__*/_jsx(I18nextProvider, {
|
|
18
16
|
i18n: i18nCfg,
|
|
19
17
|
children: /*#__PURE__*/_jsx(UserProvider, {
|
|
20
|
-
user:
|
|
18
|
+
user: mockedUserInfo,
|
|
21
19
|
children: /*#__PURE__*/_jsxs(ThemeProvider, {
|
|
22
20
|
theme: theme,
|
|
23
21
|
children: [/*#__PURE__*/_jsx(CssBaseline, {}), children]
|
|
@@ -26,4 +24,4 @@ export function Providers(_ref) {
|
|
|
26
24
|
})
|
|
27
25
|
});
|
|
28
26
|
}
|
|
29
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJBcG9sbG9Qcm92aWRlciIsIkkxOG5leHRQcm92aWRlciIsIlVzZXJQcm92aWRlciIsInRoZW1lIiwiQ3NzQmFzZWxpbmUiLCJUaGVtZVByb3ZpZGVyIiwibW9ja2VkVXNlckluZm8iLCJjbGllbnQiLCJpMThuQ2ZnIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIlByb3ZpZGVycyIsIl9yZWYiLCJjaGlsZHJlbiIsImkxOG4iLCJ1c2VyIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Rldi9Qcm92aWRlcnMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwb2xsb1Byb3ZpZGVyIH0gZnJvbSAnQGFwb2xsby9jbGllbnQnXG5pbXBvcnQgeyBJMThuZXh0UHJvdmlkZXIgfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuaW1wb3J0IHsgVXNlclByb3ZpZGVyIH0gZnJvbSAnQHByb2plY3Rjb3IvY29yLWNvbW1vbnMvbGliL3Byb3ZpZGVycy9Vc2VyUHJvdmlkZXInXG5cbmltcG9ydCB0aGVtZSBmcm9tICdAcHJvamVjdGNvci90aGVtZS9saWInXG5pbXBvcnQgQ3NzQmFzZWxpbmUgZnJvbSAnQG11aS9tYXRlcmlhbC9Dc3NCYXNlbGluZSdcbmltcG9ydCB7IFRoZW1lUHJvdmlkZXIgfSBmcm9tICdAbXVpL21hdGVyaWFsL3N0eWxlcydcbmltcG9ydCB7IG1vY2tlZFVzZXJJbmZvIH0gZnJvbSAnLi4vbW9ja3MvbW9ja2VkVXNlcidcblxuaW1wb3J0IGNsaWVudCBmcm9tICcuLi9jb25zdGFudHMvZ3FsQ2xpZW50J1xuaW1wb3J0IGkxOG5DZmcgZnJvbSAnLi4vbGFuZydcblxuZXhwb3J0IGZ1bmN0aW9uIFByb3ZpZGVycyh7IGNoaWxkcmVuIH0pIHtcbiAgcmV0dXJuIChcbiAgICA8QXBvbGxvUHJvdmlkZXIgY2xpZW50PXtjbGllbnR9PlxuICAgICAgPEkxOG5leHRQcm92aWRlciBpMThuPXtpMThuQ2ZnfT5cbiAgICAgICAgPFVzZXJQcm92aWRlciB1c2VyPXttb2NrZWRVc2VySW5mb30+XG4gICAgICAgICAgPFRoZW1lUHJvdmlkZXIgdGhlbWU9e3RoZW1lfT5cbiAgICAgICAgICAgIDxDc3NCYXNlbGluZSAvPlxuICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgIDwvVGhlbWVQcm92aWRlcj5cbiAgICAgICAgPC9Vc2VyUHJvdmlkZXI+XG4gICAgICA8L0kxOG5leHRQcm92aWRlcj5cbiAgICA8L0Fwb2xsb1Byb3ZpZGVyPlxuICApXG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLGNBQWMsUUFBUSxnQkFBZ0I7QUFDL0MsU0FBU0MsZUFBZSxRQUFRLGVBQWU7QUFDL0MsU0FBU0MsWUFBWSxRQUFRLG9EQUFvRDtBQUVqRixPQUFPQyxLQUFLLE1BQU0sdUJBQXVCO0FBQ3pDLE9BQU9DLFdBQVcsTUFBTSwyQkFBMkI7QUFDbkQsU0FBU0MsYUFBYSxRQUFRLHNCQUFzQjtBQUNwRCxTQUFTQyxjQUFjLFFBQVEscUJBQXFCO0FBRXBELE9BQU9DLE1BQU0sTUFBTSx3QkFBd0I7QUFDM0MsT0FBT0MsT0FBTyxNQUFNLFNBQVM7QUFBQSxTQUFBQyxHQUFBLElBQUFDLElBQUEsRUFBQUMsSUFBQSxJQUFBQyxLQUFBO0FBRTdCLE9BQU8sU0FBU0MsU0FBU0EsQ0FBQUMsSUFBQSxFQUFlO0VBQUEsSUFBWkMsUUFBUSxHQUFBRCxJQUFBLENBQVJDLFFBQVE7RUFDbEMsb0JBQ0VMLElBQUEsQ0FBQ1YsY0FBYztJQUFDTyxNQUFNLEVBQUVBLE1BQU87SUFBQVEsUUFBQSxlQUM3QkwsSUFBQSxDQUFDVCxlQUFlO01BQUNlLElBQUksRUFBRVIsT0FBUTtNQUFBTyxRQUFBLGVBQzdCTCxJQUFBLENBQUNSLFlBQVk7UUFBQ2UsSUFBSSxFQUFFWCxjQUFlO1FBQUFTLFFBQUEsZUFDakNILEtBQUEsQ0FBQ1AsYUFBYTtVQUFDRixLQUFLLEVBQUVBLEtBQU07VUFBQVksUUFBQSxnQkFDMUJMLElBQUEsQ0FBQ04sV0FBVyxJQUFFLENBQUMsRUFDZFcsUUFBUTtRQUFBLENBQ0k7TUFBQyxDQUNKO0lBQUMsQ0FDQTtFQUFDLENBQ0osQ0FBQztBQUVyQiIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -9,8 +9,10 @@ import { useState, useRef } from 'react';
|
|
|
9
9
|
import { useTranslation } from 'react-i18next';
|
|
10
10
|
import { createAgent } from '../../services/maia/Agents/createAgent';
|
|
11
11
|
import { setAgentToolGroups } from '../../services/maia/Agents/setAgentToolGroups';
|
|
12
|
+
import { connectorAuthErrorMessage, openConnectorAuthorizationWindows, saveAgentConnectors, waitForConnectorAuthorization } from '../../services/maia/Agents/connectors';
|
|
12
13
|
import { useSnackBarManager } from '../useSnackBarManager/useSnackBarManager';
|
|
13
14
|
import { buildAgentToolGroupsRequest, buildAgentConnectorsFromCorAccess, DEFAULT_COR_ACCESS } from '../../utils/normalizeAgentConnectors';
|
|
15
|
+
import { hasMaiaExternalConnectorsAccess } from '../../constants/maiaExternalConnectorsAccess';
|
|
14
16
|
export var parsedValuesByReq = function parsedValuesByReq(agentValues) {
|
|
15
17
|
var _agentValues$aiModel, _agentValues$aiModel2;
|
|
16
18
|
return {
|
|
@@ -46,7 +48,7 @@ export var useCreateAgent = function useCreateAgent() {
|
|
|
46
48
|
};
|
|
47
49
|
var handleCreateAgent = /*#__PURE__*/function () {
|
|
48
50
|
var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(values) {
|
|
49
|
-
var parsedValue, _values$accessibility, _values$accessibility2, response, corAccess, _t, _t2;
|
|
51
|
+
var parsedValue, _values$accessibility, _values$accessibility2, _values$accessibility3, response, corAccess, externalConnectorsEnabled, selectedConnectors, authPopup, connectorsResponse, pendingAuth, authPopupWindow, authErrors, _yield$waitForConnect, authorized, authError, _t, _t2, _t3;
|
|
50
52
|
return _regeneratorRuntime.wrap(function (_context) {
|
|
51
53
|
while (1) switch (_context.prev = _context.next) {
|
|
52
54
|
case 0:
|
|
@@ -71,9 +73,14 @@ export var useCreateAgent = function useCreateAgent() {
|
|
|
71
73
|
}
|
|
72
74
|
throw new Error(response.error);
|
|
73
75
|
case 4:
|
|
74
|
-
corAccess = (_values$accessibility = (_values$accessibility2 = values.accessibility) === null || _values$accessibility2 === void 0 ? void 0 : _values$accessibility2.corAccess) !== null && _values$accessibility !== void 0 ? _values$accessibility : DEFAULT_COR_ACCESS;
|
|
76
|
+
corAccess = (_values$accessibility = (_values$accessibility2 = values.accessibility) === null || _values$accessibility2 === void 0 ? void 0 : _values$accessibility2.corAccess) !== null && _values$accessibility !== void 0 ? _values$accessibility : DEFAULT_COR_ACCESS; // Sin el feature el ABM no administra conectores externos: no abrimos popup
|
|
77
|
+
// y más abajo ni siquiera llamamos a saveAgentConnectors, para no desasignar
|
|
78
|
+
// los que el agente pueda tener.
|
|
79
|
+
externalConnectorsEnabled = hasMaiaExternalConnectorsAccess();
|
|
80
|
+
selectedConnectors = externalConnectorsEnabled ? ((_values$accessibility3 = values.accessibility) === null || _values$accessibility3 === void 0 ? void 0 : _values$accessibility3.selectedConnectors) || [] : [];
|
|
81
|
+
authPopup = externalConnectorsEnabled && selectedConnectors.length > 0 ? window.open('', '_blank', 'popup=yes,width=560,height=760') : null;
|
|
75
82
|
if (!(response !== null && response !== void 0 && response.id)) {
|
|
76
|
-
_context.next =
|
|
83
|
+
_context.next = 14;
|
|
77
84
|
break;
|
|
78
85
|
}
|
|
79
86
|
_context.prev = 5;
|
|
@@ -87,27 +94,75 @@ export var useCreateAgent = function useCreateAgent() {
|
|
|
87
94
|
_t = _context["catch"](5);
|
|
88
95
|
console.error('Error setting agent tool groups:', _t);
|
|
89
96
|
case 8:
|
|
97
|
+
if (!externalConnectorsEnabled) {
|
|
98
|
+
_context.next = 14;
|
|
99
|
+
break;
|
|
100
|
+
}
|
|
101
|
+
_context.prev = 9;
|
|
102
|
+
_context.next = 10;
|
|
103
|
+
return saveAgentConnectors(response.id.toString(), selectedConnectors);
|
|
104
|
+
case 10:
|
|
105
|
+
connectorsResponse = _context.sent;
|
|
106
|
+
pendingAuth = connectorsResponse.requires_auth || [];
|
|
107
|
+
authPopupWindow = openConnectorAuthorizationWindows(pendingAuth, authPopup);
|
|
108
|
+
authErrors = connectorsResponse.auth_errors || [];
|
|
109
|
+
if (authErrors.length) {
|
|
110
|
+
handleSnackbarError(authErrors.map(function (connectorError) {
|
|
111
|
+
return connectorError.slug === 'netsuite' ? t('accessibilitySection.netsuiteAuthSetupRequired') : connectorAuthErrorMessage(connectorError);
|
|
112
|
+
}).join(' '));
|
|
113
|
+
}
|
|
114
|
+
if (!pendingAuth.length) {
|
|
115
|
+
_context.next = 12;
|
|
116
|
+
break;
|
|
117
|
+
}
|
|
118
|
+
_context.next = 11;
|
|
119
|
+
return waitForConnectorAuthorization({
|
|
120
|
+
agentId: response.id.toString(),
|
|
121
|
+
slugs: pendingAuth.map(function (item) {
|
|
122
|
+
return item.slug;
|
|
123
|
+
}),
|
|
124
|
+
popup: authPopupWindow
|
|
125
|
+
});
|
|
126
|
+
case 11:
|
|
127
|
+
_yield$waitForConnect = _context.sent;
|
|
128
|
+
authorized = _yield$waitForConnect.authorized;
|
|
129
|
+
authError = _yield$waitForConnect.error;
|
|
130
|
+
if (!authorized.length) {
|
|
131
|
+
handleSnackbarError(authError && authError !== 'timeout' ? authError : t('accessibilitySection.connectorAuthIncomplete'));
|
|
132
|
+
}
|
|
133
|
+
case 12:
|
|
134
|
+
_context.next = 14;
|
|
135
|
+
break;
|
|
136
|
+
case 13:
|
|
137
|
+
_context.prev = 13;
|
|
138
|
+
_t2 = _context["catch"](9);
|
|
139
|
+
console.error('Error setting agent connectors:', _t2);
|
|
140
|
+
if (authPopup && !authPopup.closed) {
|
|
141
|
+
authPopup.close();
|
|
142
|
+
}
|
|
143
|
+
handleSnackbarError(t('accessibilitySection.connectorAuthFailed'));
|
|
144
|
+
case 14:
|
|
90
145
|
setError(null);
|
|
91
146
|
setSuccess(_objectSpread(_objectSpread({}, response), {}, {
|
|
92
|
-
connectors: buildAgentConnectorsFromCorAccess(corAccess)
|
|
147
|
+
connectors: buildAgentConnectorsFromCorAccess(corAccess, selectedConnectors)
|
|
93
148
|
}));
|
|
94
|
-
_context.next =
|
|
149
|
+
_context.next = 16;
|
|
95
150
|
break;
|
|
96
|
-
case
|
|
97
|
-
_context.prev =
|
|
98
|
-
|
|
99
|
-
setError(
|
|
151
|
+
case 15:
|
|
152
|
+
_context.prev = 15;
|
|
153
|
+
_t3 = _context["catch"](2);
|
|
154
|
+
setError(_t3 instanceof Error ? _t3.message : t('errorAgentCreated'));
|
|
100
155
|
handleSnackbarError(t('errorAgentCreated'));
|
|
101
|
-
case
|
|
102
|
-
_context.prev =
|
|
156
|
+
case 16:
|
|
157
|
+
_context.prev = 16;
|
|
103
158
|
setIsLoading(false);
|
|
104
159
|
isProcessingRef.current = false;
|
|
105
|
-
return _context.finish(
|
|
106
|
-
case
|
|
160
|
+
return _context.finish(16);
|
|
161
|
+
case 17:
|
|
107
162
|
case "end":
|
|
108
163
|
return _context.stop();
|
|
109
164
|
}
|
|
110
|
-
}, _callee, null, [[2,
|
|
165
|
+
}, _callee, null, [[2, 15, 16, 17], [5, 7], [9, 13]]);
|
|
111
166
|
}));
|
|
112
167
|
return function handleCreateAgent(_x) {
|
|
113
168
|
return _ref.apply(this, arguments);
|
|
@@ -125,4 +180,4 @@ export var useCreateAgent = function useCreateAgent() {
|
|
|
125
180
|
resetSuccess: resetSuccess
|
|
126
181
|
};
|
|
127
182
|
};
|
|
128
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZVJlZiIsInVzZVRyYW5zbGF0aW9uIiwiY3JlYXRlQWdlbnQiLCJzZXRBZ2VudFRvb2xHcm91cHMiLCJ1c2VTbmFja0Jhck1hbmFnZXIiLCJidWlsZEFnZW50VG9vbEdyb3Vwc1JlcXVlc3QiLCJidWlsZEFnZW50Q29ubmVjdG9yc0Zyb21Db3JBY2Nlc3MiLCJERUZBVUxUX0NPUl9BQ0NFU1MiLCJwYXJzZWRWYWx1ZXNCeVJlcSIsImFnZW50VmFsdWVzIiwiX2FnZW50VmFsdWVzJGFpTW9kZWwiLCJfYWdlbnRWYWx1ZXMkYWlNb2RlbDIiLCJuYW1lIiwiZW1vamkiLCJpbnRyb2R1Y3Rpb24iLCJpbnB1dF9wbGFjZWhvbGRlciIsImlucHV0UGxhY2Vob2xkZXIiLCJ1c2VyX3Byb21wdCIsInVzZXJQcm9tcHQiLCJwcm92aWRlciIsImFpTW9kZWwiLCJtb2RlbF9uYW1lIiwidXNlQ3JlYXRlQWdlbnQiLCJfdXNlVHJhbnNsYXRpb24iLCJ0IiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwiaXNMb2FkaW5nIiwic2V0SXNMb2FkaW5nIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJlcnJvciIsInNldEVycm9yIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJzdWNjZXNzIiwic2V0U3VjY2VzcyIsIl91c2VTbmFja0Jhck1hbmFnZXIiLCJoYW5kbGVTbmFja2JhckVycm9yIiwiaXNQcm9jZXNzaW5nUmVmIiwiaGFuZGxlU2V0U3VjY2VzcyIsInZhbHVlIiwiaGFuZGxlQ3JlYXRlQWdlbnQiLCJfcmVmIiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwibWFyayIsIl9jYWxsZWUiLCJ2YWx1ZXMiLCJwYXJzZWRWYWx1ZSIsIl92YWx1ZXMkYWNjZXNzaWJpbGl0eSIsIl92YWx1ZXMkYWNjZXNzaWJpbGl0eTIiLCJyZXNwb25zZSIsImNvckFjY2VzcyIsIl90IiwiX3QyIiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJjdXJyZW50IiwiYWJydXB0IiwiZ2VuZXJhbCIsInNlbnQiLCJFcnJvciIsImFjY2Vzc2liaWxpdHkiLCJpZCIsInRvU3RyaW5nIiwiY29uc29sZSIsIl9vYmplY3RTcHJlYWQiLCJjb25uZWN0b3JzIiwibWVzc2FnZSIsImZpbmlzaCIsInN0b3AiLCJfeCIsImFwcGx5IiwiYXJndW1lbnRzIiwicmVzZXRTdWNjZXNzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hvb2tzL3VzZUFnZW50TW9kZWwvdXNlQ3JlYXRlQWdlbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHsgdXNlU3RhdGUsIHVzZVJlZiB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuaW1wb3J0IHsgQWdlbnRDcmVhdGVSZXF1ZXN0LCBjcmVhdGVBZ2VudCB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL21haWEvQWdlbnRzL2NyZWF0ZUFnZW50J1xuaW1wb3J0IHsgc2V0QWdlbnRUb29sR3JvdXBzIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbWFpYS9BZ2VudHMvc2V0QWdlbnRUb29sR3JvdXBzJ1xuaW1wb3J0IHsgdXNlU25hY2tCYXJNYW5hZ2VyIH0gZnJvbSAnLi4vdXNlU25hY2tCYXJNYW5hZ2VyL3VzZVNuYWNrQmFyTWFuYWdlcidcbmltcG9ydCB7XG4gIGJ1aWxkQWdlbnRUb29sR3JvdXBzUmVxdWVzdCxcbiAgYnVpbGRBZ2VudENvbm5lY3RvcnNGcm9tQ29yQWNjZXNzLFxuICBERUZBVUxUX0NPUl9BQ0NFU1MsXG59IGZyb20gJy4uLy4uL3V0aWxzL25vcm1hbGl6ZUFnZW50Q29ubmVjdG9ycydcblxuZXhwb3J0IGNvbnN0IHBhcnNlZFZhbHVlc0J5UmVxID0gKGFnZW50VmFsdWVzOiBhbnkpOiBBZ2VudENyZWF0ZVJlcXVlc3QgPT4ge1xuICByZXR1cm4ge1xuICAgIG5hbWU6IGFnZW50VmFsdWVzLm5hbWUsXG4gICAgZW1vamk6IGFnZW50VmFsdWVzLmVtb2ppIHx8ICfinKgnLFxuICAgIGludHJvZHVjdGlvbjogYWdlbnRWYWx1ZXMuaW50cm9kdWN0aW9uIHx8ICcnLFxuICAgIGlucHV0X3BsYWNlaG9sZGVyOiBhZ2VudFZhbHVlcy5pbnB1dFBsYWNlaG9sZGVyIHx8ICcnLFxuICAgIHVzZXJfcHJvbXB0OiBhZ2VudFZhbHVlcy51c2VyUHJvbXB0LFxuICAgIHByb3ZpZGVyOiBhZ2VudFZhbHVlcy5haU1vZGVsPy5wcm92aWRlcixcbiAgICBtb2RlbF9uYW1lOiBhZ2VudFZhbHVlcy5haU1vZGVsPy5tb2RlbF9uYW1lLFxuICB9XG59XG5cbmV4cG9ydCBjb25zdCB1c2VDcmVhdGVBZ2VudCA9ICgpID0+IHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbignYWJtX2FnZW50X3NlY3Rpb24nKVxuICBjb25zdCBbaXNMb2FkaW5nLCBzZXRJc0xvYWRpbmddID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtlcnJvciwgc2V0RXJyb3JdID0gdXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4obnVsbClcbiAgY29uc3QgW3N1Y2Nlc3MsIHNldFN1Y2Nlc3NdID0gdXNlU3RhdGU8YW55PihmYWxzZSlcbiAgY29uc3QgeyBoYW5kbGVTbmFja2JhckVycm9yIH0gPSB1c2VTbmFja0Jhck1hbmFnZXIoKVxuICBjb25zdCBpc1Byb2Nlc3NpbmdSZWYgPSB1c2VSZWYoZmFsc2UpXG5cbiAgY29uc3QgaGFuZGxlU2V0U3VjY2VzcyA9ICh2YWx1ZTogYm9vbGVhbikgPT4ge1xuICAgIHNldFN1Y2Nlc3ModmFsdWUpXG4gIH1cblxuICBjb25zdCBoYW5kbGVDcmVhdGVBZ2VudCA9IGFzeW5jICh2YWx1ZXM6IGFueSkgPT4ge1xuICAgIGlmIChpc1Byb2Nlc3NpbmdSZWYuY3VycmVudCkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgY29uc3QgcGFyc2VkVmFsdWU6IEFnZW50Q3JlYXRlUmVxdWVzdCA9IHBhcnNlZFZhbHVlc0J5UmVxKHZhbHVlcy5nZW5lcmFsKVxuXG4gICAgaXNQcm9jZXNzaW5nUmVmLmN1cnJlbnQgPSB0cnVlXG4gICAgc2V0SXNMb2FkaW5nKHRydWUpXG4gICAgc2V0U3VjY2VzcyhmYWxzZSlcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGNyZWF0ZUFnZW50KHBhcnNlZFZhbHVlKVxuXG4gICAgICBpZiAocmVzcG9uc2UuZXJyb3IpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKHJlc3BvbnNlLmVycm9yKVxuICAgICAgfVxuXG4gICAgICBjb25zdCBjb3JBY2Nlc3MgPSB2YWx1ZXMuYWNjZXNzaWJpbGl0eT8uY29yQWNjZXNzID8/IERFRkFVTFRfQ09SX0FDQ0VTU1xuXG4gICAgICBpZiAocmVzcG9uc2U/LmlkKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgYXdhaXQgc2V0QWdlbnRUb29sR3JvdXBzKHJlc3BvbnNlLmlkLnRvU3RyaW5nKCksIGJ1aWxkQWdlbnRUb29sR3JvdXBzUmVxdWVzdChjb3JBY2Nlc3MpKVxuICAgICAgICB9IGNhdGNoICh0b29sR3JvdXBzRXJyb3IpIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBzZXR0aW5nIGFnZW50IHRvb2wgZ3JvdXBzOicsIHRvb2xHcm91cHNFcnJvcilcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBzZXRFcnJvcihudWxsKVxuICAgICAgc2V0U3VjY2Vzcyh7IC4uLnJlc3BvbnNlLCBjb25uZWN0b3JzOiBidWlsZEFnZW50Q29ubmVjdG9yc0Zyb21Db3JBY2Nlc3MoY29yQWNjZXNzKSB9KVxuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgc2V0RXJyb3IoZXJyIGluc3RhbmNlb2YgRXJyb3IgPyBlcnIubWVzc2FnZSA6IHQoJ2Vycm9yQWdlbnRDcmVhdGVkJykpXG4gICAgICBoYW5kbGVTbmFja2JhckVycm9yKHQoJ2Vycm9yQWdlbnRDcmVhdGVkJykpXG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHNldElzTG9hZGluZyhmYWxzZSlcbiAgICAgIGlzUHJvY2Vzc2luZ1JlZi5jdXJyZW50ID0gZmFsc2VcbiAgICB9XG4gIH1cblxuICBjb25zdCByZXNldFN1Y2Nlc3MgPSAoKSA9PiB7XG4gICAgc2V0U3VjY2VzcyhmYWxzZSlcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgaGFuZGxlQ3JlYXRlQWdlbnQsXG4gICAgaXNMb2FkaW5nLFxuICAgIGVycm9yLFxuICAgIHN1Y2Nlc3MsXG4gICAgaGFuZGxlU2V0U3VjY2VzcyxcbiAgICByZXNldFN1Y2Nlc3MsXG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDQSxTQUFTQSxRQUFRLEVBQUVDLE1BQU0sUUFBUSxPQUFPO0FBQ3hDLFNBQVNDLGNBQWMsUUFBUSxlQUFlO0FBQzlDLFNBQTZCQyxXQUFXLFFBQVEsd0NBQXdDO0FBQ3hGLFNBQVNDLGtCQUFrQixRQUFRLCtDQUErQztBQUNsRixTQUFTQyxrQkFBa0IsUUFBUSwwQ0FBMEM7QUFDN0UsU0FDRUMsMkJBQTJCLEVBQzNCQyxpQ0FBaUMsRUFDakNDLGtCQUFrQixRQUNiLHNDQUFzQztBQUU3QyxPQUFPLElBQU1DLGlCQUFpQixHQUFHLFNBQXBCQSxpQkFBaUJBLENBQUlDLFdBQWdCLEVBQXlCO0VBQUEsSUFBQUMsb0JBQUEsRUFBQUMscUJBQUE7RUFDekUsT0FBTztJQUNMQyxJQUFJLEVBQUVILFdBQVcsQ0FBQ0csSUFBSTtJQUN0QkMsS0FBSyxFQUFFSixXQUFXLENBQUNJLEtBQUssSUFBSSxHQUFHO0lBQy9CQyxZQUFZLEVBQUVMLFdBQVcsQ0FBQ0ssWUFBWSxJQUFJLEVBQUU7SUFDNUNDLGlCQUFpQixFQUFFTixXQUFXLENBQUNPLGdCQUFnQixJQUFJLEVBQUU7SUFDckRDLFdBQVcsRUFBRVIsV0FBVyxDQUFDUyxVQUFVO0lBQ25DQyxRQUFRLEdB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
|
|
183
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZVJlZiIsInVzZVRyYW5zbGF0aW9uIiwiY3JlYXRlQWdlbnQiLCJzZXRBZ2VudFRvb2xHcm91cHMiLCJjb25uZWN0b3JBdXRoRXJyb3JNZXNzYWdlIiwib3BlbkNvbm5lY3RvckF1dGhvcml6YXRpb25XaW5kb3dzIiwic2F2ZUFnZW50Q29ubmVjdG9ycyIsIndhaXRGb3JDb25uZWN0b3JBdXRob3JpemF0aW9uIiwidXNlU25hY2tCYXJNYW5hZ2VyIiwiYnVpbGRBZ2VudFRvb2xHcm91cHNSZXF1ZXN0IiwiYnVpbGRBZ2VudENvbm5lY3RvcnNGcm9tQ29yQWNjZXNzIiwiREVGQVVMVF9DT1JfQUNDRVNTIiwiaGFzTWFpYUV4dGVybmFsQ29ubmVjdG9yc0FjY2VzcyIsInBhcnNlZFZhbHVlc0J5UmVxIiwiYWdlbnRWYWx1ZXMiLCJfYWdlbnRWYWx1ZXMkYWlNb2RlbCIsIl9hZ2VudFZhbHVlcyRhaU1vZGVsMiIsIm5hbWUiLCJlbW9qaSIsImludHJvZHVjdGlvbiIsImlucHV0X3BsYWNlaG9sZGVyIiwiaW5wdXRQbGFjZWhvbGRlciIsInVzZXJfcHJvbXB0IiwidXNlclByb21wdCIsInByb3ZpZGVyIiwiYWlNb2RlbCIsIm1vZGVsX25hbWUiLCJ1c2VDcmVhdGVBZ2VudCIsIl91c2VUcmFuc2xhdGlvbiIsInQiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJpc0xvYWRpbmciLCJzZXRJc0xvYWRpbmciLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImVycm9yIiwic2V0RXJyb3IiLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsInN1Y2Nlc3MiLCJzZXRTdWNjZXNzIiwiX3VzZVNuYWNrQmFyTWFuYWdlciIsImhhbmRsZVNuYWNrYmFyRXJyb3IiLCJpc1Byb2Nlc3NpbmdSZWYiLCJoYW5kbGVTZXRTdWNjZXNzIiwidmFsdWUiLCJoYW5kbGVDcmVhdGVBZ2VudCIsIl9yZWYiLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJtYXJrIiwiX2NhbGxlZSIsInZhbHVlcyIsInBhcnNlZFZhbHVlIiwiX3ZhbHVlcyRhY2Nlc3NpYmlsaXR5IiwiX3ZhbHVlcyRhY2Nlc3NpYmlsaXR5MiIsIl92YWx1ZXMkYWNjZXNzaWJpbGl0eTMiLCJyZXNwb25zZSIsImNvckFjY2VzcyIsImV4dGVybmFsQ29ubmVjdG9yc0VuYWJsZWQiLCJzZWxlY3RlZENvbm5lY3RvcnMiLCJhdXRoUG9wdXAiLCJjb25uZWN0b3JzUmVzcG9uc2UiLCJwZW5kaW5nQXV0aCIsImF1dGhQb3B1cFdpbmRvdyIsImF1dGhFcnJvcnMiLCJfeWllbGQkd2FpdEZvckNvbm5lY3QiLCJhdXRob3JpemVkIiwiYXV0aEVycm9yIiwiX3QiLCJfdDIiLCJfdDMiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsImN1cnJlbnQiLCJhYnJ1cHQiLCJnZW5lcmFsIiwic2VudCIsIkVycm9yIiwiYWNjZXNzaWJpbGl0eSIsImxlbmd0aCIsIndpbmRvdyIsIm9wZW4iLCJpZCIsInRvU3RyaW5nIiwiY29uc29sZSIsInJlcXVpcmVzX2F1dGgiLCJhdXRoX2Vycm9ycyIsIm1hcCIsImNvbm5lY3RvckVycm9yIiwic2x1ZyIsImpvaW4iLCJhZ2VudElkIiwic2x1Z3MiLCJpdGVtIiwicG9wdXAiLCJjbG9zZWQiLCJjbG9zZSIsIl9vYmplY3RTcHJlYWQiLCJjb25uZWN0b3JzIiwibWVzc2FnZSIsImZpbmlzaCIsInN0b3AiLCJfeCIsImFwcGx5IiwiYXJndW1lbnRzIiwicmVzZXRTdWNjZXNzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hvb2tzL3VzZUFnZW50TW9kZWwvdXNlQ3JlYXRlQWdlbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHsgdXNlU3RhdGUsIHVzZVJlZiB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuaW1wb3J0IHsgQWdlbnRDcmVhdGVSZXF1ZXN0LCBjcmVhdGVBZ2VudCB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL21haWEvQWdlbnRzL2NyZWF0ZUFnZW50J1xuaW1wb3J0IHsgc2V0QWdlbnRUb29sR3JvdXBzIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbWFpYS9BZ2VudHMvc2V0QWdlbnRUb29sR3JvdXBzJ1xuaW1wb3J0IHtcbiAgY29ubmVjdG9yQXV0aEVycm9yTWVzc2FnZSxcbiAgb3BlbkNvbm5lY3RvckF1dGhvcml6YXRpb25XaW5kb3dzLFxuICBzYXZlQWdlbnRDb25uZWN0b3JzLFxuICB3YWl0Rm9yQ29ubmVjdG9yQXV0aG9yaXphdGlvbixcbn0gZnJvbSAnLi4vLi4vc2VydmljZXMvbWFpYS9BZ2VudHMvY29ubmVjdG9ycydcbmltcG9ydCB7IHVzZVNuYWNrQmFyTWFuYWdlciB9IGZyb20gJy4uL3VzZVNuYWNrQmFyTWFuYWdlci91c2VTbmFja0Jhck1hbmFnZXInXG5pbXBvcnQge1xuICBidWlsZEFnZW50VG9vbEdyb3Vwc1JlcXVlc3QsXG4gIGJ1aWxkQWdlbnRDb25uZWN0b3JzRnJvbUNvckFjY2VzcyxcbiAgREVGQVVMVF9DT1JfQUNDRVNTLFxufSBmcm9tICcuLi8uLi91dGlscy9ub3JtYWxpemVBZ2VudENvbm5lY3RvcnMnXG5pbXBvcnQgeyBoYXNNYWlhRXh0ZXJuYWxDb25uZWN0b3JzQWNjZXNzIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL21haWFFeHRlcm5hbENvbm5lY3RvcnNBY2Nlc3MnXG5cbmV4cG9ydCBjb25zdCBwYXJzZWRWYWx1ZXNCeVJlcSA9IChhZ2VudFZhbHVlczogYW55KTogQWdlbnRDcmVhdGVSZXF1ZXN0ID0+IHtcbiAgcmV0dXJuIHtcbiAgICBuYW1lOiBhZ2VudFZhbHVlcy5uYW1lLFxuICAgIGVtb2ppOiBhZ2VudFZhbHVlcy5lbW9qaSB8fCAn4pyoJyxcbiAgICBpbnRyb2R1Y3Rpb246IGFnZW50VmFsdWVzLmludHJvZHVjdGlvbiB8fCAnJyxcbiAgICBpbnB1dF9wbGFjZWhvbGRlcjogYWdlbnRWYWx1ZXMuaW5wdXRQbGFjZWhvbGRlciB8fCAnJyxcbiAgICB1c2VyX3Byb21wdDogYWdlbnRWYWx1ZXMudXNlclByb21wdCxcbiAgICBwcm92aWRlcjogYWdlbnRWYWx1ZXMuYWlNb2RlbD8ucHJvdmlkZXIsXG4gICAgbW9kZWxfbmFtZTogYWdlbnRWYWx1ZXMuYWlNb2RlbD8ubW9kZWxfbmFtZSxcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgdXNlQ3JlYXRlQWdlbnQgPSAoKSA9PiB7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oJ2FibV9hZ2VudF9zZWN0aW9uJylcbiAgY29uc3QgW2lzTG9hZGluZywgc2V0SXNMb2FkaW5nXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbZXJyb3IsIHNldEVycm9yXSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bGw+KG51bGwpXG4gIGNvbnN0IFtzdWNjZXNzLCBzZXRTdWNjZXNzXSA9IHVzZVN0YXRlPGFueT4oZmFsc2UpXG4gIGNvbnN0IHsgaGFuZGxlU25hY2tiYXJFcnJvciB9ID0gdXNlU25hY2tCYXJNYW5hZ2VyKClcbiAgY29uc3QgaXNQcm9jZXNzaW5nUmVmID0gdXNlUmVmKGZhbHNlKVxuXG4gIGNvbnN0IGhhbmRsZVNldFN1Y2Nlc3MgPSAodmFsdWU6IGJvb2xlYW4pID0+IHtcbiAgICBzZXRTdWNjZXNzKHZhbHVlKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlQ3JlYXRlQWdlbnQgPSBhc3luYyAodmFsdWVzOiBhbnkpID0+IHtcbiAgICBpZiAoaXNQcm9jZXNzaW5nUmVmLmN1cnJlbnQpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGNvbnN0IHBhcnNlZFZhbHVlOiBBZ2VudENyZWF0ZVJlcXVlc3QgPSBwYXJzZWRWYWx1ZXNCeVJlcSh2YWx1ZXMuZ2VuZXJhbClcblxuICAgIGlzUHJvY2Vzc2luZ1JlZi5jdXJyZW50ID0gdHJ1ZVxuICAgIHNldElzTG9hZGluZyh0cnVlKVxuICAgIHNldFN1Y2Nlc3MoZmFsc2UpXG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBjcmVhdGVBZ2VudChwYXJzZWRWYWx1ZSlcblxuICAgICAgaWYgKHJlc3BvbnNlLmVycm9yKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihyZXNwb25zZS5lcnJvcilcbiAgICAgIH1cblxuICAgICAgY29uc3QgY29yQWNjZXNzID0gdmFsdWVzLmFjY2Vzc2liaWxpdHk/LmNvckFjY2VzcyA/PyBERUZBVUxUX0NPUl9BQ0NFU1NcbiAgICAgIC8vIFNpbiBlbCBmZWF0dXJlIGVsIEFCTSBubyBhZG1pbmlzdHJhIGNvbmVjdG9yZXMgZXh0ZXJub3M6IG5vIGFicmltb3MgcG9wdXBcbiAgICAgIC8vIHkgbcOhcyBhYmFqbyBuaSBzaXF1aWVyYSBsbGFtYW1vcyBhIHNhdmVBZ2VudENvbm5lY3RvcnMsIHBhcmEgbm8gZGVzYXNpZ25hclxuICAgICAgLy8gbG9zIHF1ZSBlbCBhZ2VudGUgcHVlZGEgdGVuZXIuXG4gICAgICBjb25zdCBleHRlcm5hbENvbm5lY3RvcnNFbmFibGVkID0gaGFzTWFpYUV4dGVybmFsQ29ubmVjdG9yc0FjY2VzcygpXG4gICAgICBjb25zdCBzZWxlY3RlZENvbm5lY3RvcnM6IHN0cmluZ1tdID0gZXh0ZXJuYWxDb25uZWN0b3JzRW5hYmxlZFxuICAgICAgICA/IHZhbHVlcy5hY2Nlc3NpYmlsaXR5Py5zZWxlY3RlZENvbm5lY3RvcnMgfHwgW11cbiAgICAgICAgOiBbXVxuICAgICAgY29uc3QgYXV0aFBvcHVwID1cbiAgICAgICAgZXh0ZXJuYWxDb25uZWN0b3JzRW5hYmxlZCAmJiBzZWxlY3RlZENvbm5lY3RvcnMubGVuZ3RoID4gMFxuICAgICAgICAgID8gd2luZG93Lm9wZW4oJycsICdfYmxhbmsnLCAncG9wdXA9eWVzLHdpZHRoPTU2MCxoZWlnaHQ9NzYwJylcbiAgICAgICAgICA6IG51bGxcblxuICAgICAgaWYgKHJlc3BvbnNlPy5pZCkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGF3YWl0IHNldEFnZW50VG9vbEdyb3VwcyhyZXNwb25zZS5pZC50b1N0cmluZygpLCBidWlsZEFnZW50VG9vbEdyb3Vwc1JlcXVlc3QoY29yQWNjZXNzKSlcbiAgICAgICAgfSBjYXRjaCAodG9vbEdyb3Vwc0Vycm9yKSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3Igc2V0dGluZyBhZ2VudCB0b29sIGdyb3VwczonLCB0b29sR3JvdXBzRXJyb3IpXG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZXh0ZXJuYWxDb25uZWN0b3JzRW5hYmxlZCkge1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBjb25uZWN0b3JzUmVzcG9uc2UgPSBhd2FpdCBzYXZlQWdlbnRDb25uZWN0b3JzKHJlc3BvbnNlLmlkLnRvU3RyaW5nKCksIHNlbGVjdGVkQ29ubmVjdG9ycylcbiAgICAgICAgICAgIGNvbnN0IHBlbmRpbmdBdXRoID0gY29ubmVjdG9yc1Jlc3BvbnNlLnJlcXVpcmVzX2F1dGggfHwgW11cbiAgICAgICAgICAgIGNvbnN0IGF1dGhQb3B1cFdpbmRvdyA9IG9wZW5Db25uZWN0b3JBdXRob3JpemF0aW9uV2luZG93cyhwZW5kaW5nQXV0aCwgYXV0aFBvcHVwKVxuICAgICAgICAgICAgY29uc3QgYXV0aEVycm9ycyA9IGNvbm5lY3RvcnNSZXNwb25zZS5hdXRoX2Vycm9ycyB8fCBbXVxuICAgICAgICAgICAgaWYgKGF1dGhFcnJvcnMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgIGhhbmRsZVNuYWNrYmFyRXJyb3IoXG4gICAgICAgICAgICAgICAgYXV0aEVycm9yc1xuICAgICAgICAgICAgICAgICAgLm1hcChjb25uZWN0b3JFcnJvciA9PlxuICAgICAgICAgICAgICAgICAgICBjb25uZWN0b3JFcnJvci5zbHVnID09PSAnbmV0c3VpdGUnXG4gICAgICAgICAgICAgICAgICAgICAgPyB0KCdhY2Nlc3NpYmlsaXR5U2VjdGlvbi5uZXRzdWl0ZUF1dGhTZXR1cFJlcXVpcmVkJylcbiAgICAgICAgICAgICAgICAgICAgICA6IGNvbm5lY3RvckF1dGhFcnJvck1lc3NhZ2UoY29ubmVjdG9yRXJyb3IpXG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAuam9pbignICcpXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChwZW5kaW5nQXV0aC5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgY29uc3QgeyBhdXRob3JpemVkLCBlcnJvcjogYXV0aEVycm9yIH0gPSBhd2FpdCB3YWl0Rm9yQ29ubmVjdG9yQXV0aG9yaXphdGlvbih7XG4gICAgICAgICAgICAgICAgYWdlbnRJZDogcmVzcG9uc2UuaWQudG9TdHJpbmcoKSxcbiAgICAgICAgICAgICAgICBzbHVnczogcGVuZGluZ0F1dGgubWFwKGl0ZW0gPT4gaXRlbS5zbHVnKSxcbiAgICAgICAgICAgICAgICBwb3B1cDogYXV0aFBvcHVwV2luZG93LFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICBpZiAoIWF1dGhvcml6ZWQubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgaGFuZGxlU25hY2tiYXJFcnJvcihcbiAgICAgICAgICAgICAgICAgIGF1dGhFcnJvciAmJiBhdXRoRXJyb3IgIT09ICd0aW1lb3V0JyA/IGF1dGhFcnJvciA6IHQoJ2FjY2Vzc2liaWxpdHlTZWN0aW9uLmNvbm5lY3RvckF1dGhJbmNvbXBsZXRlJylcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGNhdGNoIChjb25uZWN0b3JzRXJyb3IpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHNldHRpbmcgYWdlbnQgY29ubmVjdG9yczonLCBjb25uZWN0b3JzRXJyb3IpXG4gICAgICAgICAgICBpZiAoYXV0aFBvcHVwICYmICFhdXRoUG9wdXAuY2xvc2VkKSB7XG4gICAgICAgICAgICAgIGF1dGhQb3B1cC5jbG9zZSgpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBoYW5kbGVTbmFja2JhckVycm9yKHQoJ2FjY2Vzc2liaWxpdHlTZWN0aW9uLmNvbm5lY3RvckF1dGhGYWlsZWQnKSlcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgc2V0RXJyb3IobnVsbClcbiAgICAgIHNldFN1Y2Nlc3MoeyAuLi5yZXNwb25zZSwgY29ubmVjdG9yczogYnVpbGRBZ2VudENvbm5lY3RvcnNGcm9tQ29yQWNjZXNzKGNvckFjY2Vzcywgc2VsZWN0ZWRDb25uZWN0b3JzKSB9KVxuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgc2V0RXJyb3IoZXJyIGluc3RhbmNlb2YgRXJyb3IgPyBlcnIubWVzc2FnZSA6IHQoJ2Vycm9yQWdlbnRDcmVhdGVkJykpXG4gICAgICBoYW5kbGVTbmFja2JhckVycm9yKHQoJ2Vycm9yQWdlbnRDcmVhdGVkJykpXG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHNldElzTG9hZGluZyhmYWxzZSlcbiAgICAgIGlzUHJvY2Vzc2luZ1JlZi5jdXJyZW50ID0gZmFsc2VcbiAgICB9XG4gIH1cblxuICBjb25zdCByZXNldFN1Y2Nlc3MgPSAoKSA9PiB7XG4gICAgc2V0U3VjY2VzcyhmYWxzZSlcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgaGFuZGxlQ3JlYXRlQWdlbnQsXG4gICAgaXNMb2FkaW5nLFxuICAgIGVycm9yLFxuICAgIHN1Y2Nlc3MsXG4gICAgaGFuZGxlU2V0U3VjY2VzcyxcbiAgICByZXNldFN1Y2Nlc3MsXG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDQSxTQUFTQSxRQUFRLEVBQUVDLE1BQU0sUUFBUSxPQUFPO0FBQ3hDLFNBQVNDLGNBQWMsUUFBUSxlQUFlO0FBQzlDLFNBQTZCQyxXQUFXLFFBQVEsd0NBQXdDO0FBQ3hGLFNBQVNDLGtCQUFrQixR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
|