@projectcor/maia-components 2.11.78-0 → 2.11.78-10
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/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.js +4 -2
- package/lib/components/atoms/icons/ActionCalendarIcon.js +112 -0
- package/lib/components/atoms/icons/ActionChatIcon.js +71 -0
- package/lib/components/atoms/icons/ActionTimeBackIcon.js +112 -0
- package/lib/components/molecules/ChatAIContent/ChatAIContent.skeleton.js +3 -3
- package/lib/components/molecules/ChatAIHome/ChatAIHome.js +42 -18
- package/lib/components/molecules/ChatAIHome/styles.js +67 -35
- package/lib/components/molecules/ChatAIModal/ChatAIModal.js +20 -14
- package/lib/components/molecules/Sidebar/Sidebar.js +8 -23
- package/lib/components/molecules/Sidebar/Sidebar.styles.js +6 -10
- package/lib/components/organisms/ChatAI/ChatAI.js +2 -10
- package/lib/constants/maiaTaskPanelAccess.js +2 -2
- package/lib/constants/plannerSyncEvents.js +16 -0
- package/lib/context/global-context.js +1 -1
- package/lib/dev/DevChatAI.js +2 -2
- package/lib/hooks/useChatManager/useChatManager.js +465 -445
- package/lib/hooks/useChatMessages/useChatMessages.js +3 -20
- package/lib/hooks/useFrequentlyUsedActions.js +4 -2
- package/lib/hooks/useOrchestratorStream/useOrchestratorStream.interface.js +1 -1
- package/lib/hooks/useOrchestratorStream/useOrchestratorStream.js +496 -139
- package/lib/hooks/useProjectSummaryConfig.js +1 -1
- package/lib/hooks/useStreamingMessage/index.js +3 -2
- package/lib/hooks/useStreamingMessage/streamingStore.js +69 -0
- package/lib/hooks/useStreamingMessage/useStreamingMessage.js +17 -13
- package/lib/lang/br/index.js +8 -7
- package/lib/lang/en/index.js +8 -7
- package/lib/lang/es/index.js +8 -7
- package/lib/lang/fr/index.js +9 -9
- package/lib/services/maia/Actions/getFrequentlyUsedActions.js +1 -1
- package/lib/services/maia/Agents/getAgents.js +2 -2
- package/lib/services/maia/Chats/getChatsByUserId.js +1 -1
- package/lib/store/chatsStore.types.js +1 -1
- package/lib/store/useChatsStore.js +1 -3
- package/lib/types/Action.js +1 -1
- package/lib/utils/actionIconMap.js +8 -2
- package/lib/utils/streamActivityMessages.js +2 -1
- package/package.json +1 -1
- package/lib/components/atoms/SessionGeneratingDot/SessionGeneratingDot.js +0 -17
- package/lib/components/atoms/SessionGeneratingDot/SessionGeneratingDot.styles.js +0 -15
- package/lib/components/atoms/SessionGeneratingDot/index.js +0 -2
- package/lib/components/atoms/SessionUnreadDot/SessionUnreadDot.js +0 -12
- package/lib/components/atoms/SessionUnreadDot/SessionUnreadDot.styles.js +0 -8
- package/lib/components/atoms/SessionUnreadDot/index.js +0 -2
- package/lib/store/sessions/activeView.js +0 -22
- package/lib/store/sessions/index.js +0 -10
- package/lib/store/sessions/sessionHitlContext.js +0 -15
- package/lib/store/sessions/sessionNotificationSound.js +0 -57
- package/lib/store/sessions/sessionNotifications.js +0 -111
- package/lib/store/sessions/sessionNotifications.types.js +0 -2
- package/lib/store/sessions/sessionStreamManager.js +0 -576
- package/lib/store/sessions/sessionStreamingText.js +0 -80
- package/lib/store/sessions/sessionUnreadPersistence.js +0 -49
- package/lib/store/sessions/sessions.types.js +0 -29
- package/lib/store/sessions/useSessionMeta.js +0 -39
- package/lib/store/sessions/useSessionStreamingText.js +0 -18
- package/lib/store/sessions/useSessionsStore.js +0 -195
|
@@ -215,4 +215,4 @@ export var useProjectSummaryConfig = function useProjectSummaryConfig(_ref) {
|
|
|
215
215
|
restoreConfigureSettings: restoreConfigureSettings
|
|
216
216
|
};
|
|
217
217
|
};
|
|
218
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZVJlZiIsInVzZU1lbW8iLCJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsIlNFQ1RJT05TIiwiYnVpbGRDb25maWd1cmVTZXR0aW5nc0l0ZW1zIiwidXNlVXNlciIsInVzZVRXaXRoU2VjdGlvbiIsInVzZVByb2plY3RTdW1tYXJ5Q29uZmlnIiwiX3JlZiIsIl9wcm9qZWN0JGNsaWVudDMiLCJzZWN0aW9uIiwiZW50aXR5IiwicHJvamVjdCIsInNldFByb2plY3QiLCJfcmVmJGNsaWVudCIsImNsaWVudCIsImluaXRpYWxDbGllbnQiLCJzZXRDbGllbnRQcm9wIiwic2V0Q2xpZW50IiwiX3JlZiR0YXNrIiwidGFzayIsImluaXRpYWxUYXNrIiwiaGFzTXVsdGlBZ2VudHMiLCJ1c2VyIiwidCIsImNoYXRBSSIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImFnZW50Iiwic2V0QWdlbnQiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsIm9wZW5TZWN0aW9uIiwic2V0T3BlblNlY3Rpb24iLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsImlzV2ViU2VhcmNoQWN0aXZlIiwic2V0SXNXZWJTZWFyY2hBY3RpdmUiLCJfdXNlU3RhdGU3IiwiX3VzZVN0YXRlOCIsImlzRGVlcFNlYXJjaEFjdGl2ZSIsInNldElzRGVlcFNlYXJjaEFjdGl2ZSIsIl91c2VTdGF0ZTkiLCJwcm9qZWN0SWQiLCJjbGllbnRJZCIsIl91c2VTdGF0ZTAiLCJlbnRpdHlWYWx1ZXMiLCJzZXRFbnRpdHlWYWx1ZXMiLCJfdXNlU3RhdGUxIiwiX3VzZVN0YXRlMTAiLCJzZXRDbGllbnRTdGF0ZSIsIl91c2VTdGF0ZTExIiwiX3VzZVN0YXRlMTIiLCJzZXRUYXNrU3RhdGUiLCJzZXRUYXNrIiwibmV3VGFzayIsImNvbmZpZ3VyZVNldHRpbmdzSXRlbXMiLCJfdXNlU3RhdGUxMyIsImlkIiwiX3Byb2plY3QkY2xpZW50JG5hbWUiLCJfcHJvamVjdCRjbGllbnQiLCJTdHJpbmciLCJwcm9qZWN0TmFtZSIsIm5hbWUiLCJjbGllbnROYW1lIiwiX3VzZVN0YXRlMTQiLCJjaGlwc1Byb2plY3QiLCJzZXRDaGlwc1Byb2plY3RTdGF0ZSIsInByZXYiLCJfcHJvamVjdCRjbGllbnQkbmFtZTIiLCJfcHJvamVjdCRjbGllbnQyIiwiX2VudGl0eSRwcm9qZWN0SWQiLCJfZW50aXR5JGNsaWVudElkIiwicmVzdG9yZUNvbmZpZ3VyZVNldHRpbmdzIiwiX2NvbmZpZ3VyZVNldHRpbmdzSXRlIiwiY3VycmVudCIsIm1hcCIsIml0ZW0iLCJfb2JqZWN0U3ByZWFkIiwiY2hlY2tlZCIsImhpZGRlbiIsInNlbGVjdEFnZW50IiwibmV3QWdlbnQiLCJjbGVhckFnZW50IiwidG9nZ2xlV2ViU2VhcmNoIiwidG9nZ2xlRGVlcFNlYXJjaCIsInNldENoaXBzUHJvamVjdCIsIm5ld0NoaXBzUHJvamVjdCIsInBpbm5lZENvbnRleHQiLCJ0eXBlIiwicGFyZW50cyIsImNvbnRleHQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvaG9va3MvdXNlUHJvamVjdFN1bW1hcnlDb25maWcudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlQ2FsbGJhY2ssIHVzZVJlZiwgdXNlTWVtbywgdXNlU3RhdGUsIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0J1xuXG5pbXBvcnQgeyBDaGlwc1Byb2plY3QsIFBpbm5lZENvbnRleHQgfSBmcm9tICcuLi9jb250ZXh0L2dsb2JhbC1jb250ZXh0J1xuaW1wb3J0IHsgU0VDVElPTlMgfSBmcm9tICcuLi9jb25zdGFudHMvY29uZmlnJ1xuaW1wb3J0IHsgYnVpbGRDb25maWd1cmVTZXR0aW5nc0l0ZW1zIH0gZnJvbSAnLi4vY29uc3RhbnRzL3Blcm1pc3Npb25zJ1xuaW1wb3J0IHsgdXNlVXNlciB9IGZyb20gJy4uL2NvbnRleHQvY29yLXVzZXInXG5pbXBvcnQgeyBBZ2VudCB9IGZyb20gJy4uL3R5cGVzL2FnZW50J1xuXG5pbXBvcnQgeyB1c2VUV2l0aFNlY3Rpb24gfSBmcm9tICcuL3VzZVQnXG5pbXBvcnQgeyBQcm9qZWN0IH0gZnJvbSAnLi4vdHlwZXMvUHJvamVjdCdcbmltcG9ydCB7IENsaWVudCB9IGZyb20gJy4uL3R5cGVzL0NsaWVudCdcbmltcG9ydCB7IFRhc2sgfSBmcm9tICcuLi90eXBlcy9UYXNrJ1xuXG50eXBlIFByb2plY3RTdW1tYXJ5Q29uZmlnUHJvcHMgPSB7XG4gIHNlY3Rpb246ICdwcm9qZWN0JyB8ICdoZWFkZXInIHwgJ2NsaWVudCcgfCAndGFzaydcbiAgZW50aXR5Pzoge1xuICAgIHByb2plY3RJZDogc3RyaW5nIHwgbnVsbFxuICAgIGNsaWVudElkOiBzdHJpbmcgfCBudWxsXG4gIH0gfCBudWxsXG4gIHByb2plY3Q6IFByb2plY3QgfCBudWxsXG4gIHNldFByb2plY3Q6IChwcm9qZWN0OiBQcm9qZWN0IHwgbnVsbCkgPT4gdm9pZFxuICBjbGllbnQ/OiBDbGllbnQgfCBudWxsXG4gIHNldENsaWVudD86IChjbGllbnQ6IENsaWVudCB8IG51bGwpID0+IHZvaWRcbiAgdGFzaz86IFRhc2sgfCBudWxsXG4gIGhhc011bHRpQWdlbnRzPzogYm9vbGVhblxufVxuXG5leHBvcnQgY29uc3QgdXNlUHJvamVjdFN1bW1hcnlDb25maWcgPSAoe1xuICBzZWN0aW9uLFxuICBlbnRpdHksXG4gIHByb2plY3QsXG4gIHNldFByb2plY3QsXG4gIGNsaWVudDogaW5pdGlhbENsaWVudCA9IG51bGwsXG4gIHNldENsaWVudDogc2V0Q2xpZW50UHJvcCxcbiAgdGFzazogaW5pdGlhbFRhc2sgPSBudWxsLFxuICBoYXNNdWx0aUFnZW50cyxcbn06IFByb2plY3RTdW1tYXJ5Q29uZmlnUHJvcHMpID0+IHtcbiAgY29uc3QgdXNlciA9IHVzZVVzZXIoKVxuICBjb25zdCB0ID0gdXNlVFdpdGhTZWN0aW9uKFNFQ1RJT05TLmNoYXRBSSlcbiAgY29uc3QgW2FnZW50LCBzZXRBZ2VudF0gPSB1c2VTdGF0ZTxBZ2VudCB8IG51bGw+KG51bGwpXG4gIGNvbnN0IFtvcGVuU2VjdGlvbiwgc2V0T3BlblNlY3Rpb25dID0gdXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4obnVsbClcbiAgY29uc3QgW2lzV2ViU2VhcmNoQWN0aXZlLCBzZXRJc1dlYlNlYXJjaEFjdGl2ZV0gPSB1c2VTdGF0ZTxib29sZWFuPihmYWxzZSlcbiAgY29uc3QgW2lzRGVlcFNlYXJjaEFjdGl2ZSwgc2V0SXNEZWVwU2VhcmNoQWN0aXZlXSA9IHVzZVN0YXRlPGJvb2xlYW4+KGZhbHNlKVxuICBjb25zdCBbZW50aXR5VmFsdWVzLCBzZXRFbnRpdHlWYWx1ZXNdID0gdXNlU3RhdGU8e1xuICAgIHByb2plY3RJZDogc3RyaW5nIHwgbnVsbFxuICAgIGNsaWVudElkOiBzdHJpbmcgfCBudWxsXG4gIH0+KGVudGl0eSB8fCB7IHByb2plY3RJZDogbnVsbCwgY2xpZW50SWQ6IG51bGwgfSlcbiAgY29uc3QgW2NsaWVudCwgc2V0Q2xpZW50U3RhdGVdID0gdXNlU3RhdGU8Q2xpZW50IHwgbnVsbD4oaW5pdGlhbENsaWVudCA/PyBudWxsKVxuXG4gIGNvbnN0IHNldENsaWVudCA9IHNldENsaWVudFByb3AgPz8gc2V0Q2xpZW50U3RhdGVcblxuICBjb25zdCBbdGFzaywgc2V0VGFza1N0YXRlXSA9IHVzZVN0YXRlPFRhc2sgfCBudWxsPihpbml0aWFsVGFzayA/PyBudWxsKVxuICBjb25zdCBzZXRUYXNrID0gdXNlQ2FsbGJhY2soKG5ld1Rhc2s6IFRhc2sgfCBudWxsKSA9PiBzZXRUYXNrU3RhdGUobmV3VGFzayksIFtdKVxuXG4gIGNvbnN0IGNvbmZpZ3VyZVNldHRpbmdzSXRlbXMgPSB1c2VSZWYoYnVpbGRDb25maWd1cmVTZXR0aW5nc0l0ZW1zKHVzZXIsIHQpKVxuICBjb25zdCBbY2hpcHNQcm9qZWN0LCBzZXRDaGlwc1Byb2plY3RTdGF0ZV0gPSB1c2VTdGF0ZTxDaGlwc1Byb2plY3QgfCBudWxsPigoKSA9PiB7XG4gICAgaWYgKChzZWN0aW9uID09PSAncHJvamVjdCcgfHwgc2VjdGlvbiA9PT0gJ3Rhc2snKSAmJiBwcm9qZWN0Py5pZCAhPSBudWxsKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBwcm9qZWN0SWQ6IFN0cmluZyhwcm9qZWN0LmlkKSxcbiAgICAgICAgcHJvamVjdE5hbWU6IHByb2plY3QubmFtZSxcbiAgICAgICAgY2xpZW50TmFtZTogcHJvamVjdC5jbGllbnQ/Lm5hbWUgPz8gJycsXG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudWxsXG4gIH0pXG5cbiAgLy8gU2luY3Jvbml6YXIgY2hpcHNQcm9qZWN0IGN1YW5kbyBlbCBwcm9qZWN0IHByb3AgY2FtYmlhIChlai4gbmF2ZWdhY2nDs24gZW50cmUgcHJveWVjdG9zIG8gdGFyZWFzKVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICgoc2VjdGlvbiA9PT0gJ3Byb2plY3QnIHx8IHNlY3Rpb24gPT09ICd0YXNrJykgJiYgcHJvamVjdD8uaWQgIT0gbnVsbCkge1xuICAgICAgc2V0Q2hpcHNQcm9qZWN0U3RhdGUocHJldiA9PiB7XG4gICAgICAgIGlmIChwcmV2Py5wcm9qZWN0SWQgPT09IFN0cmluZyhwcm9qZWN0LmlkKSkgcmV0dXJuIHByZXZcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBwcm9qZWN0SWQ6IFN0cmluZyhwcm9qZWN0LmlkKSxcbiAgICAgICAgICBwcm9qZWN0TmFtZTogcHJvamVjdC5uYW1lLFxuICAgICAgICAgIGNsaWVudE5hbWU6IHByb2plY3QuY2xpZW50Py5uYW1lID8/ICcnLFxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH1cbiAgfSwgW3NlY3Rpb24sIHByb2plY3Q/LmlkLCBwcm9qZWN0Py5uYW1lLCBwcm9qZWN0Py5jbGllbnQ/Lm5hbWVdKVxuXG4gIC8vIFNpbmNyb25pemFyIGNsaWVudCBjdWFuZG8gbGEgcHJvcCBsbGVndWUgZGVzcHXDqXMgZGVsIHByaW1lciByZW5kZXIgKGVqLiBzZWN0aW9uIGNsaWVudCwgZGF0b3MgYXN5bmMpXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHNlY3Rpb24gPT09ICdjbGllbnQnKSB7XG4gICAgICBzZXRDbGllbnRTdGF0ZShpbml0aWFsQ2xpZW50ID8/IG51bGwpXG4gICAgfVxuICB9LCBbc2VjdGlvbiwgaW5pdGlhbENsaWVudF0pXG5cbiAgLy8gU2luY3Jvbml6YXIgdGFzayBjdWFuZG8gbGEgcHJvcCBsbGVndWUgZGVzcHXDqXMgZGVsIHByaW1lciByZW5kZXJcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoc2VjdGlvbiA9PT0gJ3Rhc2snKSB7XG4gICAgICBzZXRUYXNrU3RhdGUoaW5pdGlhbFRhc2sgPz8gbnVsbClcbiAgICB9XG4gIH0sIFtzZWN0aW9uLCBpbml0aWFsVGFza10pXG5cbiAgLy8gU2luY3Jvbml6YXIgZW50aXR5VmFsdWVzIGN1YW5kbyBlbnRpdHkgY2FtYmllIChlai4gbGxlZ3VlIGRlc3B1w6lzIGRlbCBwcmltZXIgcmVuZGVyKVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChlbnRpdHkgIT0gbnVsbCkge1xuICAgICAgc2V0RW50aXR5VmFsdWVzKHtcbiAgICAgICAgcHJvamVjdElkOiBlbnRpdHkucHJvamVjdElkID8/IG51bGwsXG4gICAgICAgIGNsaWVudElkOiBlbnRpdHkuY2xpZW50SWQgPz8gbnVsbCxcbiAgICAgIH0pXG4gICAgfVxuICB9LCBbZW50aXR5Py5wcm9qZWN0SWQsIGVudGl0eT8uY2xpZW50SWRdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHNlY3Rpb24gPT09ICdwcm9qZWN0Jykgc2V0T3BlblNlY3Rpb24oJ3Byb2plY3QnKVxuICAgIGVsc2UgaWYgKHNlY3Rpb24gPT09ICdjbGllbnQnKSBzZXRPcGVuU2VjdGlvbignY2xpZW50JylcbiAgICBlbHNlIHNldE9wZW5TZWN0aW9uKCdoZWFkZXInKVxuICB9LCBbc2VjdGlvbl0pXG5cbiAgY29uc3QgcmVzdG9yZUNvbmZpZ3VyZVNldHRpbmdzID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGNvbmZpZ3VyZVNldHRpbmdzSXRlbXMuY3VycmVudCA9IGNvbmZpZ3VyZVNldHRpbmdzSXRlbXMuY3VycmVudD8ubWFwKGl0ZW0gPT4gKHtcbiAgICAgIC4uLml0ZW0sXG4gICAgICBjaGVja2VkOiAhaXRlbS5oaWRkZW4sXG4gICAgfSkpXG4gIH0sIFtdKVxuXG4gIGNvbnN0IHNlbGVjdEFnZW50ID0gdXNlQ2FsbGJhY2soKG5ld0FnZW50OiBBZ2VudCkgPT4ge1xuICAgIHNldEFnZW50KG5ld0FnZW50KVxuICB9LCBbXSlcblxuICBjb25zdCBjbGVhckFnZW50ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNldEFnZW50KG51bGwpXG4gIH0sIFtdKVxuXG4gIGNvbnN0IHRvZ2dsZVdlYlNlYXJjaCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRJc1dlYlNlYXJjaEFjdGl2ZShwcmV2ID0+ICFwcmV2KVxuICB9LCBbXSlcblxuICBjb25zdCB0b2dnbGVEZWVwU2VhcmNoID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNldElzRGVlcFNlYXJjaEFjdGl2ZShwcmV2ID0+ICFwcmV2KVxuICB9LCBbXSlcblxuICBjb25zdCBzZXRDaGlwc1Byb2plY3QgPSB1c2VDYWxsYmFjaygobmV3Q2hpcHNQcm9qZWN0OiBDaGlwc1Byb2plY3QgfCBudWxsKSA9PiB7XG4gICAgc2V0Q2hpcHNQcm9qZWN0U3RhdGUobmV3Q2hpcHNQcm9qZWN0KVxuICB9LCBbXSlcblxuICAvLyBQaW4gZGVyaXZhZG8gKFJGQyDCpzEyLjIpOiBsYSBlbnRpZGFkIG3DoXMgZXNwZWPDrWZpY2EgYWN0aXZhICh0YXJlYSA+IHByb3llY3RvID4gY2xpZW50ZSksXG4gIC8vIGNvbiBzdSBzY29wZSBoYWNpYSBhcnJpYmEgZW4gYHBhcmVudHNgLiBNb25vIGhveTsgYXJyYXktcmVhZHkgcGFyYSBjcm9zcy1lbnRpdHkuXG4gIGNvbnN0IHBpbm5lZENvbnRleHQgPSB1c2VNZW1vPFBpbm5lZENvbnRleHQgfCBudWxsPigoKSA9PiB7XG4gICAgaWYgKHRhc2s/LmlkICE9IG51bGwpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHR5cGU6ICd0YXNrJyxcbiAgICAgICAgaWQ6IHRhc2suaWQsXG4gICAgICAgIG5hbWU6IHRhc2submFtZSxcbiAgICAgICAgcGFyZW50czoge1xuICAgICAgICAgIC4uLih0YXNrLmNsaWVudElkICE9IG51bGwgPyB7IGNsaWVudElkOiB0YXNrLmNsaWVudElkIH0gOiB7fSksXG4gICAgICAgICAgLi4uKHRhc2sucHJvamVjdElkICE9IG51bGwgPyB7IHByb2plY3RJZDogdGFzay5wcm9qZWN0SWQgfSA6IHt9KSxcbiAgICAgICAgfSxcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGNoaXBzUHJvamVjdD8ucHJvamVjdElkKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB0eXBlOiAncHJvamVjdCcsXG4gICAgICAgIGlkOiBjaGlwc1Byb2plY3QucHJvamVjdElkLFxuICAgICAgICBuYW1lOiBjaGlwc1Byb2plY3QucHJvamVjdE5hbWUsXG4gICAgICB9XG4gICAgfVxuICAgIGlmIChwcm9qZWN0Py5pZCAhPSBudWxsKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB0eXBlOiAncHJvamVjdCcsXG4gICAgICAgIGlkOiBwcm9qZWN0LmlkLFxuICAgICAgICBuYW1lOiBwcm9qZWN0Lm5hbWUsXG4gICAgICAgIC4uLihwcm9qZWN0LmNsaWVudElkICE9IG51bGwgPyB7IHBhcmVudHM6IHsgY2xpZW50SWQ6IHByb2plY3QuY2xpZW50SWQgfSB9IDoge30pLFxuICAgICAgfVxuICAgIH1cbiAgICBpZiAoY2xpZW50Py5pZCAhPSBudWxsKSB7XG4gICAgICByZXR1cm4geyB0eXBlOiAnY2xpZW50JywgaWQ6IGNsaWVudC5pZCwgbmFtZTogY2xpZW50Lm5hbWUgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbFxuICB9LCBbXG4gICAgdGFzaz8uaWQsXG4gICAgdGFzaz8ubmFtZSxcbiAgICB0YXNrPy5jbGllbnRJZCxcbiAgICB0YXNrPy5wcm9qZWN0SWQsXG4gICAgY2hpcHNQcm9qZWN0LFxuICAgIHByb2plY3Q/LmlkLFxuICAgIHByb2plY3Q/Lm5hbWUsXG4gICAgcHJvamVjdD8uY2xpZW50SWQsXG4gICAgY2xpZW50Py5pZCxcbiAgICBjbGllbnQ/Lm5hbWUsXG4gIF0pXG5cbiAgY29uc3QgY29udGV4dCA9IHVzZU1lbW8oXG4gICAgKCkgPT4gKHtcbiAgICAgIGVudGl0eVZhbHVlcyxcbiAgICAgIHNlY3Rpb246IG9wZW5TZWN0aW9uLFxuICAgICAgYWdlbnQsXG4gICAgICBzZWxlY3RBZ2VudCxcbiAgICAgIGNsZWFyQWdlbnQsXG4gICAgICBjb25maWd1cmVTZXR0aW5nc0l0ZW1zLFxuICAgICAgcmVzdG9yZUNvbmZpZ3VyZVNldHRpbmdzLFxuICAgICAgc2V0RW50aXR5VmFsdWVzLFxuICAgICAgcHJvamVjdCxcbiAgICAgIHNldFByb2plY3QsXG4gICAgICBjbGllbnQsXG4gICAgICBzZXRDbGllbnQsXG4gICAgICB0YXNrLFxuICAgICAgc2V0VGFzayxcbiAgICAgIGlzV2ViU2VhcmNoQWN0aXZlLFxuICAgICAgdG9nZ2xlV2ViU2VhcmNoLFxuICAgICAgaXNEZWVwU2VhcmNoQWN0aXZlLFxuICAgICAgdG9nZ2xlRGVlcFNlYXJjaCxcbiAgICAgIGhhc011bHRpQWdlbnRzLFxuICAgICAgY2hpcHNQcm9qZWN0LFxuICAgICAgc2V0Q2hpcHNQcm9qZWN0LFxuICAgICAgcGlubmVkQ29udGV4dCxcbiAgICB9KSxcbiAgICBbXG4gICAgICBvcGVuU2VjdGlvbixcbiAgICAgIGVudGl0eVZhbHVlcz8ucHJvamVjdElkLFxuICAgICAgZW50aXR5VmFsdWVzPy5jbGllbnRJZCxcbiAgICAgIGFnZW50LFxuICAgICAgc2VsZWN0QWdlbnQsXG4gICAgICBjbGVhckFnZW50LFxuICAgICAgc2V0RW50aXR5VmFsdWVzLFxuICAgICAgcmVzdG9yZUNvbmZpZ3VyZVNldHRpbmdzLFxuICAgICAgcHJvamVjdD8uaWQsXG4gICAgICBzZXRQcm9qZWN0LFxuICAgICAgY2xpZW50Py5pZCxcbiAgICAgIHNldENsaWVudCxcbiAgICAgIHRhc2s/LmlkLFxuICAgICAgc2V0VGFzayxcbiAgICAgIGlzV2ViU2VhcmNoQWN0aXZlLFxuICAgICAgdG9nZ2xlV2ViU2VhcmNoLFxuICAgICAgaXNEZWVwU2VhcmNoQWN0aXZlLFxuICAgICAgdG9nZ2xlRGVlcFNlYXJjaCxcbiAgICAgIGhhc011bHRpQWdlbnRzLFxuICAgICAgY2hpcHNQcm9qZWN0LFxuICAgICAgc2V0Q2hpcHNQcm9qZWN0LFxuICAgICAgcGlubmVkQ29udGV4dCxcbiAgICBdXG4gIClcblxuICByZXR1cm4ge1xuICAgIGNvbnRleHQsXG4gICAgcmVzdG9yZUNvbmZpZ3VyZVNldHRpbmdzLFxuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxTQUFTQSxXQUFXLEVBQUVDLE1BQU0sRUFBRUMsT0FBTyxFQUFFQyxRQUFRLEVBQUVDLFNBQVMsUUFBUSxPQUFPO0FBR3pFLFNBQVNDLFFBQVEsUUFBUSxxQkFBcUI7QUFDOUMsU0FBU0MsMkJBQTJCLFFBQVEsMEJBQTBCO0FBQ3RFLFNBQVNDLE9BQU8sUUFBUSxxQkFBcUI7QUFHN0MsU0FBU0MsZUFBZSxRQUFRLFFBQVE7QUFtQnhDLE9BQU8sSUFBTUMsdUJBQXVCLEdBQUcsU0FBMUJBLHVCQUF1QkEsQ0FBQUMsSUFBQSxFQVNIO0VBQUEsSUFBQUMsZ0JBQUE7RUFBQSxJQVIvQkMsT0FBTyxHQUFBRixJQUFBLENBQVBFLE9BQU87SUFDUEMsTUFBTSxHQUFBSCxJQUFBLENBQU5HLE1BQU07SUFDTkMsT0FBTyxHQUFBSixJQUFBLENBQVBJLE9BQU87SUFDUEMsVUFBVSxHQUFBTCxJQUFBLENBQVZLLFVBQVU7SUFBQUMsV0FBQSxHQUFBTixJQUFBLENBQ1ZPLE1BQU07SUFBRUMsYUFBYSxHQUFBRixXQUFBLGNBQUcsSUFBSSxHQUFBQSxXQUFBO0lBQ2pCRyxhQUFhLEdBQUFULElBQUEs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WTtNQUNackMsT0FBTyxFQUFFdUIsV0FBVztNQUNwQkosS0FBSyxFQUFMQSxLQUFLO01BQ0xxRCxXQUFXLEVBQVhBLFdBQVc7TUFDWEUsVUFBVSxFQUFWQSxVQUFVO01BQ1YzQixzQkFBc0IsRUFBdEJBLHNCQUFzQjtNQUN0QmlCLHdCQUF3QixFQUF4QkEsd0JBQXdCO01BQ3hCMUIsZUFBZSxFQUFmQSxlQUFlO01BQ2ZwQyxPQUFPLEVBQVBBLE9BQU87TUFDUEMsVUFBVSxFQUFWQSxVQUFVO01BQ1ZFLE1BQU0sRUFBTkEsTUFBTTtNQUNORyxTQUFTLEVBQVRBLFNBQVM7TUFDVEUsSUFBSSxFQUFKQSxJQUFJO01BQ0ptQyxPQUFPLEVBQVBBLE9BQU87TUFDUGxCLGlCQUFpQixFQUFqQkEsaUJBQWlCO01BQ2pCZ0QsZUFBZSxFQUFmQSxlQUFlO01BQ2Y1QyxrQkFBa0IsRUFBbEJBLGtCQUFrQjtNQUNsQjZDLGdCQUFnQixFQUFoQkEsZ0JBQWdCO01BQ2hCaEUsY0FBYyxFQUFkQSxjQUFjO01BQ2Q2QyxZQUFZLEVBQVpBLFlBQVk7TUFDWm9CLGVBQWUsRUFBZkEsZUFBZTtNQUNmRSxhQUFhLEVBQWJBO0lBQ0YsQ0FBQztFQUFBLENBQUMsRUFDRixDQUNFeEQsV0FBVyxFQUNYYyxZQUFZLGFBQVpBLFlBQVksdUJBQVpBLFlBQVksQ0FBRUgsU0FBUyxFQUN2QkcsWUFBWSxhQUFaQSxZQUFZLHVCQUFaQSxZQUFZLENBQUVGLFFBQVEsRUFDdEJoQixLQUFLLEVBQ0xxRCxXQUFXLEVBQ1hFLFVBQVUsRUFDVnBDLGVBQWUsRUFDZjBCLHdCQUF3QixFQUN4QjlELE9BQU8sYUFBUEEsT0FBTyx1QkFBUEEsT0FBTyxDQUFFK0MsRUFBRSxFQUNYOUMsVUFBVSxFQUNWRSxNQUFNLGFBQU5BLE1BQU0sdUJBQU5BLE1BQU0sQ0FBRTRDLEVBQUUsRUFDVnpDLFNBQVMsRUFDVEUsSUFBSSxhQUFKQSxJQUFJLHVCQUFKQSxJQUFJLENBQUV1QyxFQUFFLEVBQ1JKLE9BQU8sRUFDUGxCLGlCQUFpQixFQUNqQmdELGVBQWUsRUFDZjVDLGtCQUFrQixFQUNsQjZDLGdCQUFnQixFQUNoQmhFLGNBQWMsRUFDZDZDLFlBQVksRUFDWm9CLGVBQWUsRUFDZkUsYUFBYSxDQUVqQixDQUFDO0VBRUQsT0FBTztJQUNMRyxPQUFPLEVBQVBBLE9BQU87SUFDUGxCLHdCQUF3QixFQUF4QkE7RUFDRixDQUFDO0FBQ0gsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
|
|
218
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZVJlZiIsInVzZU1lbW8iLCJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsIlNFQ1RJT05TIiwiYnVpbGRDb25maWd1cmVTZXR0aW5nc0l0ZW1zIiwidXNlVXNlciIsInVzZVRXaXRoU2VjdGlvbiIsInVzZVByb2plY3RTdW1tYXJ5Q29uZmlnIiwiX3JlZiIsIl9wcm9qZWN0JGNsaWVudDMiLCJzZWN0aW9uIiwiZW50aXR5IiwicHJvamVjdCIsInNldFByb2plY3QiLCJfcmVmJGNsaWVudCIsImNsaWVudCIsImluaXRpYWxDbGllbnQiLCJzZXRDbGllbnRQcm9wIiwic2V0Q2xpZW50IiwiX3JlZiR0YXNrIiwidGFzayIsImluaXRpYWxUYXNrIiwiaGFzTXVsdGlBZ2VudHMiLCJ1c2VyIiwidCIsImNoYXRBSSIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImFnZW50Iiwic2V0QWdlbnQiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsIm9wZW5TZWN0aW9uIiwic2V0T3BlblNlY3Rpb24iLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsImlzV2ViU2VhcmNoQWN0aXZlIiwic2V0SXNXZWJTZWFyY2hBY3RpdmUiLCJfdXNlU3RhdGU3IiwiX3VzZVN0YXRlOCIsImlzRGVlcFNlYXJjaEFjdGl2ZSIsInNldElzRGVlcFNlYXJjaEFjdGl2ZSIsIl91c2VTdGF0ZTkiLCJwcm9qZWN0SWQiLCJjbGllbnRJZCIsIl91c2VTdGF0ZTAiLCJlbnRpdHlWYWx1ZXMiLCJzZXRFbnRpdHlWYWx1ZXMiLCJfdXNlU3RhdGUxIiwiX3VzZVN0YXRlMTAiLCJzZXRDbGllbnRTdGF0ZSIsIl91c2VTdGF0ZTExIiwiX3VzZVN0YXRlMTIiLCJzZXRUYXNrU3RhdGUiLCJzZXRUYXNrIiwibmV3VGFzayIsImNvbmZpZ3VyZVNldHRpbmdzSXRlbXMiLCJfdXNlU3RhdGUxMyIsImlkIiwiX3Byb2plY3QkY2xpZW50JG5hbWUiLCJfcHJvamVjdCRjbGllbnQiLCJTdHJpbmciLCJwcm9qZWN0TmFtZSIsIm5hbWUiLCJjbGllbnROYW1lIiwiX3VzZVN0YXRlMTQiLCJjaGlwc1Byb2plY3QiLCJzZXRDaGlwc1Byb2plY3RTdGF0ZSIsInByZXYiLCJfcHJvamVjdCRjbGllbnQkbmFtZTIiLCJfcHJvamVjdCRjbGllbnQyIiwiX2VudGl0eSRwcm9qZWN0SWQiLCJfZW50aXR5JGNsaWVudElkIiwicmVzdG9yZUNvbmZpZ3VyZVNldHRpbmdzIiwiX2NvbmZpZ3VyZVNldHRpbmdzSXRlIiwiY3VycmVudCIsIm1hcCIsIml0ZW0iLCJfb2JqZWN0U3ByZWFkIiwiY2hlY2tlZCIsImhpZGRlbiIsInNlbGVjdEFnZW50IiwibmV3QWdlbnQiLCJjbGVhckFnZW50IiwidG9nZ2xlV2ViU2VhcmNoIiwidG9nZ2xlRGVlcFNlYXJjaCIsInNldENoaXBzUHJvamVjdCIsIm5ld0NoaXBzUHJvamVjdCIsInBpbm5lZENvbnRleHQiLCJ0eXBlIiwicGFyZW50cyIsImNvbnRleHQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvaG9va3MvdXNlUHJvamVjdFN1bW1hcnlDb25maWcudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlQ2FsbGJhY2ssIHVzZVJlZiwgdXNlTWVtbywgdXNlU3RhdGUsIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0J1xuXG5pbXBvcnQgeyBDaGlwc1Byb2plY3QsIFBpbm5lZENvbnRleHQgfSBmcm9tICcuLi9jb250ZXh0L2dsb2JhbC1jb250ZXh0J1xuaW1wb3J0IHsgU0VDVElPTlMgfSBmcm9tICcuLi9jb25zdGFudHMvY29uZmlnJ1xuaW1wb3J0IHsgYnVpbGRDb25maWd1cmVTZXR0aW5nc0l0ZW1zIH0gZnJvbSAnLi4vY29uc3RhbnRzL3Blcm1pc3Npb25zJ1xuaW1wb3J0IHsgdXNlVXNlciB9IGZyb20gJy4uL2NvbnRleHQvY29yLXVzZXInXG5pbXBvcnQgeyBBZ2VudCB9IGZyb20gJy4uL3R5cGVzL2FnZW50J1xuXG5pbXBvcnQgeyB1c2VUV2l0aFNlY3Rpb24gfSBmcm9tICcuL3VzZVQnXG5pbXBvcnQgeyBQcm9qZWN0IH0gZnJvbSAnLi4vdHlwZXMvUHJvamVjdCdcbmltcG9ydCB7IENsaWVudCB9IGZyb20gJy4uL3R5cGVzL0NsaWVudCdcbmltcG9ydCB7IFRhc2sgfSBmcm9tICcuLi90eXBlcy9UYXNrJ1xuXG50eXBlIFByb2plY3RTdW1tYXJ5Q29uZmlnUHJvcHMgPSB7XG4gIHNlY3Rpb246ICdwcm9qZWN0JyB8ICdoZWFkZXInIHwgJ2NsaWVudCcgfCAndGFzaycgfCAncGxhbm5lcidcbiAgZW50aXR5Pzoge1xuICAgIHByb2plY3RJZDogc3RyaW5nIHwgbnVsbFxuICAgIGNsaWVudElkOiBzdHJpbmcgfCBudWxsXG4gIH0gfCBudWxsXG4gIHByb2plY3Q6IFByb2plY3QgfCBudWxsXG4gIHNldFByb2plY3Q6IChwcm9qZWN0OiBQcm9qZWN0IHwgbnVsbCkgPT4gdm9pZFxuICBjbGllbnQ/OiBDbGllbnQgfCBudWxsXG4gIHNldENsaWVudD86IChjbGllbnQ6IENsaWVudCB8IG51bGwpID0+IHZvaWRcbiAgdGFzaz86IFRhc2sgfCBudWxsXG4gIGhhc011bHRpQWdlbnRzPzogYm9vbGVhblxufVxuXG5leHBvcnQgY29uc3QgdXNlUHJvamVjdFN1bW1hcnlDb25maWcgPSAoe1xuICBzZWN0aW9uLFxuICBlbnRpdHksXG4gIHByb2plY3QsXG4gIHNldFByb2plY3QsXG4gIGNsaWVudDogaW5pdGlhbENsaWVudCA9IG51bGwsXG4gIHNldENsaWVudDogc2V0Q2xpZW50UHJvcCxcbiAgdGFzazogaW5pdGlhbFRhc2sgPSBudWxsLFxuICBoYXNNdWx0aUFnZW50cyxcbn06IFByb2plY3RTdW1tYXJ5Q29uZmlnUHJvcHMpID0+IHtcbiAgY29uc3QgdXNlciA9IHVzZVVzZXIoKVxuICBjb25zdCB0ID0gdXNlVFdpdGhTZWN0aW9uKFNFQ1RJT05TLmNoYXRBSSlcbiAgY29uc3QgW2FnZW50LCBzZXRBZ2VudF0gPSB1c2VTdGF0ZTxBZ2VudCB8IG51bGw+KG51bGwpXG4gIGNvbnN0IFtvcGVuU2VjdGlvbiwgc2V0T3BlblNlY3Rpb25dID0gdXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4obnVsbClcbiAgY29uc3QgW2lzV2ViU2VhcmNoQWN0aXZlLCBzZXRJc1dlYlNlYXJjaEFjdGl2ZV0gPSB1c2VTdGF0ZTxib29sZWFuPihmYWxzZSlcbiAgY29uc3QgW2lzRGVlcFNlYXJjaEFjdGl2ZSwgc2V0SXNEZWVwU2VhcmNoQWN0aXZlXSA9IHVzZVN0YXRlPGJvb2xlYW4+KGZhbHNlKVxuICBjb25zdCBbZW50aXR5VmFsdWVzLCBzZXRFbnRpdHlWYWx1ZXNdID0gdXNlU3RhdGU8e1xuICAgIHByb2plY3RJZDogc3RyaW5nIHwgbnVsbFxuICAgIGNsaWVudElkOiBzdHJpbmcgfCBudWxsXG4gIH0+KGVudGl0eSB8fCB7IHByb2plY3RJZDogbnVsbCwgY2xpZW50SWQ6IG51bGwgfSlcbiAgY29uc3QgW2NsaWVudCwgc2V0Q2xpZW50U3RhdGVdID0gdXNlU3RhdGU8Q2xpZW50IHwgbnVsbD4oaW5pdGlhbENsaWVudCA/PyBudWxsKVxuXG4gIGNvbnN0IHNldENsaWVudCA9IHNldENsaWVudFByb3AgPz8gc2V0Q2xpZW50U3RhdGVcblxuICBjb25zdCBbdGFzaywgc2V0VGFza1N0YXRlXSA9IHVzZVN0YXRlPFRhc2sgfCBudWxsPihpbml0aWFsVGFzayA/PyBudWxsKVxuICBjb25zdCBzZXRUYXNrID0gdXNlQ2FsbGJhY2soKG5ld1Rhc2s6IFRhc2sgfCBudWxsKSA9PiBzZXRUYXNrU3RhdGUobmV3VGFzayksIFtdKVxuXG4gIGNvbnN0IGNvbmZpZ3VyZVNldHRpbmdzSXRlbXMgPSB1c2VSZWYoYnVpbGRDb25maWd1cmVTZXR0aW5nc0l0ZW1zKHVzZXIsIHQpKVxuICBjb25zdCBbY2hpcHNQcm9qZWN0LCBzZXRDaGlwc1Byb2plY3RTdGF0ZV0gPSB1c2VTdGF0ZTxDaGlwc1Byb2plY3QgfCBudWxsPigoKSA9PiB7XG4gICAgaWYgKChzZWN0aW9uID09PSAncHJvamVjdCcgfHwgc2VjdGlvbiA9PT0gJ3Rhc2snKSAmJiBwcm9qZWN0Py5pZCAhPSBudWxsKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBwcm9qZWN0SWQ6IFN0cmluZyhwcm9qZWN0LmlkKSxcbiAgICAgICAgcHJvamVjdE5hbWU6IHByb2plY3QubmFtZSxcbiAgICAgICAgY2xpZW50TmFtZTogcHJvamVjdC5jbGllbnQ/Lm5hbWUgPz8gJycsXG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudWxsXG4gIH0pXG5cbiAgLy8gU2luY3Jvbml6YXIgY2hpcHNQcm9qZWN0IGN1YW5kbyBlbCBwcm9qZWN0IHByb3AgY2FtYmlhIChlai4gbmF2ZWdhY2nDs24gZW50cmUgcHJveWVjdG9zIG8gdGFyZWFzKVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICgoc2VjdGlvbiA9PT0gJ3Byb2plY3QnIHx8IHNlY3Rpb24gPT09ICd0YXNrJykgJiYgcHJvamVjdD8uaWQgIT0gbnVsbCkge1xuICAgICAgc2V0Q2hpcHNQcm9qZWN0U3RhdGUocHJldiA9PiB7XG4gICAgICAgIGlmIChwcmV2Py5wcm9qZWN0SWQgPT09IFN0cmluZyhwcm9qZWN0LmlkKSkgcmV0dXJuIHByZXZcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBwcm9qZWN0SWQ6IFN0cmluZyhwcm9qZWN0LmlkKSxcbiAgICAgICAgICBwcm9qZWN0TmFtZTogcHJvamVjdC5uYW1lLFxuICAgICAgICAgIGNsaWVudE5hbWU6IHByb2plY3QuY2xpZW50Py5uYW1lID8/ICcnLFxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH1cbiAgfSwgW3NlY3Rpb24sIHByb2plY3Q/LmlkLCBwcm9qZWN0Py5uYW1lLCBwcm9qZWN0Py5jbGllbnQ/Lm5hbWVdKVxuXG4gIC8vIFNpbmNyb25pemFyIGNsaWVudCBjdWFuZG8gbGEgcHJvcCBsbGVndWUgZGVzcHXDqXMgZGVsIHByaW1lciByZW5kZXIgKGVqLiBzZWN0aW9uIGNsaWVudCwgZGF0b3MgYXN5bmMpXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHNlY3Rpb24gPT09ICdjbGllbnQnKSB7XG4gICAgICBzZXRDbGllbnRTdGF0ZShpbml0aWFsQ2xpZW50ID8/IG51bGwpXG4gICAgfVxuICB9LCBbc2VjdGlvbiwgaW5pdGlhbENsaWVudF0pXG5cbiAgLy8gU2luY3Jvbml6YXIgdGFzayBjdWFuZG8gbGEgcHJvcCBsbGVndWUgZGVzcHXDqXMgZGVsIHByaW1lciByZW5kZXJcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoc2VjdGlvbiA9PT0gJ3Rhc2snKSB7XG4gICAgICBzZXRUYXNrU3RhdGUoaW5pdGlhbFRhc2sgPz8gbnVsbClcbiAgICB9XG4gIH0sIFtzZWN0aW9uLCBpbml0aWFsVGFza10pXG5cbiAgLy8gU2luY3Jvbml6YXIgZW50aXR5VmFsdWVzIGN1YW5kbyBlbnRpdHkgY2FtYmllIChlai4gbGxlZ3VlIGRlc3B1w6lzIGRlbCBwcmltZXIgcmVuZGVyKVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChlbnRpdHkgIT0gbnVsbCkge1xuICAgICAgc2V0RW50aXR5VmFsdWVzKHtcbiAgICAgICAgcHJvamVjdElkOiBlbnRpdHkucHJvamVjdElkID8/IG51bGwsXG4gICAgICAgIGNsaWVudElkOiBlbnRpdHkuY2xpZW50SWQgPz8gbnVsbCxcbiAgICAgIH0pXG4gICAgfVxuICB9LCBbZW50aXR5Py5wcm9qZWN0SWQsIGVudGl0eT8uY2xpZW50SWRdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHNlY3Rpb24gPT09ICdwcm9qZWN0Jykgc2V0T3BlblNlY3Rpb24oJ3Byb2plY3QnKVxuICAgIGVsc2UgaWYgKHNlY3Rpb24gPT09ICdjbGllbnQnKSBzZXRPcGVuU2VjdGlvbignY2xpZW50JylcbiAgICBlbHNlIHNldE9wZW5TZWN0aW9uKCdoZWFkZXInKVxuICB9LCBbc2VjdGlvbl0pXG5cbiAgY29uc3QgcmVzdG9yZUNvbmZpZ3VyZVNldHRpbmdzID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGNvbmZpZ3VyZVNldHRpbmdzSXRlbXMuY3VycmVudCA9IGNvbmZpZ3VyZVNldHRpbmdzSXRlbXMuY3VycmVudD8ubWFwKGl0ZW0gPT4gKHtcbiAgICAgIC4uLml0ZW0sXG4gICAgICBjaGVja2VkOiAhaXRlbS5oaWRkZW4sXG4gICAgfSkpXG4gIH0sIFtdKVxuXG4gIGNvbnN0IHNlbGVjdEFnZW50ID0gdXNlQ2FsbGJhY2soKG5ld0FnZW50OiBBZ2VudCkgPT4ge1xuICAgIHNldEFnZW50KG5ld0FnZW50KVxuICB9LCBbXSlcblxuICBjb25zdCBjbGVhckFnZW50ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNldEFnZW50KG51bGwpXG4gIH0sIFtdKVxuXG4gIGNvbnN0IHRvZ2dsZVdlYlNlYXJjaCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRJc1dlYlNlYXJjaEFjdGl2ZShwcmV2ID0+ICFwcmV2KVxuICB9LCBbXSlcblxuICBjb25zdCB0b2dnbGVEZWVwU2VhcmNoID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNldElzRGVlcFNlYXJjaEFjdGl2ZShwcmV2ID0+ICFwcmV2KVxuICB9LCBbXSlcblxuICBjb25zdCBzZXRDaGlwc1Byb2plY3QgPSB1c2VDYWxsYmFjaygobmV3Q2hpcHNQcm9qZWN0OiBDaGlwc1Byb2plY3QgfCBudWxsKSA9PiB7XG4gICAgc2V0Q2hpcHNQcm9qZWN0U3RhdGUobmV3Q2hpcHNQcm9qZWN0KVxuICB9LCBbXSlcblxuICAvLyBQaW4gZGVyaXZhZG8gKFJGQyDCpzEyLjIpOiBsYSBlbnRpZGFkIG3DoXMgZXNwZWPDrWZpY2EgYWN0aXZhICh0YXJlYSA+IHByb3llY3RvID4gY2xpZW50ZSksXG4gIC8vIGNvbiBzdSBzY29wZSBoYWNpYSBhcnJpYmEgZW4gYHBhcmVudHNgLiBNb25vIGhveTsgYXJyYXktcmVhZHkgcGFyYSBjcm9zcy1lbnRpdHkuXG4gIGNvbnN0IHBpbm5lZENvbnRleHQgPSB1c2VNZW1vPFBpbm5lZENvbnRleHQgfCBudWxsPigoKSA9PiB7XG4gICAgaWYgKHRhc2s/LmlkICE9IG51bGwpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHR5cGU6ICd0YXNrJyxcbiAgICAgICAgaWQ6IHRhc2suaWQsXG4gICAgICAgIG5hbWU6IHRhc2submFtZSxcbiAgICAgICAgcGFyZW50czoge1xuICAgICAgICAgIC4uLih0YXNrLmNsaWVudElkICE9IG51bGwgPyB7IGNsaWVudElkOiB0YXNrLmNsaWVudElkIH0gOiB7fSksXG4gICAgICAgICAgLi4uKHRhc2sucHJvamVjdElkICE9IG51bGwgPyB7IHByb2plY3RJZDogdGFzay5wcm9qZWN0SWQgfSA6IHt9KSxcbiAgICAgICAgfSxcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGNoaXBzUHJvamVjdD8ucHJvamVjdElkKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB0eXBlOiAncHJvamVjdCcsXG4gICAgICAgIGlkOiBjaGlwc1Byb2plY3QucHJvamVjdElkLFxuICAgICAgICBuYW1lOiBjaGlwc1Byb2plY3QucHJvamVjdE5hbWUsXG4gICAgICB9XG4gICAgfVxuICAgIGlmIChwcm9qZWN0Py5pZCAhPSBudWxsKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB0eXBlOiAncHJvamVjdCcsXG4gICAgICAgIGlkOiBwcm9qZWN0LmlkLFxuICAgICAgICBuYW1lOiBwcm9qZWN0Lm5hbWUsXG4gICAgICAgIC4uLihwcm9qZWN0LmNsaWVudElkICE9IG51bGwgPyB7IHBhcmVudHM6IHsgY2xpZW50SWQ6IHByb2plY3QuY2xpZW50SWQgfSB9IDoge30pLFxuICAgICAgfVxuICAgIH1cbiAgICBpZiAoY2xpZW50Py5pZCAhPSBudWxsKSB7XG4gICAgICByZXR1cm4geyB0eXBlOiAnY2xpZW50JywgaWQ6IGNsaWVudC5pZCwgbmFtZTogY2xpZW50Lm5hbWUgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbFxuICB9LCBbXG4gICAgdGFzaz8uaWQsXG4gICAgdGFzaz8ubmFtZSxcbiAgICB0YXNrPy5jbGllbnRJZCxcbiAgICB0YXNrPy5wcm9qZWN0SWQsXG4gICAgY2hpcHNQcm9qZWN0LFxuICAgIHByb2plY3Q/LmlkLFxuICAgIHByb2plY3Q/Lm5hbWUsXG4gICAgcHJvamVjdD8uY2xpZW50SWQsXG4gICAgY2xpZW50Py5pZCxcbiAgICBjbGllbnQ/Lm5hbWUsXG4gIF0pXG5cbiAgY29uc3QgY29udGV4dCA9IHVzZU1lbW8oXG4gICAgKCkgPT4gKHtcbiAgICAgIGVudGl0eVZhbHVlcyxcbiAgICAgIHNlY3Rpb246IG9wZW5TZWN0aW9uLFxuICAgICAgYWdlbnQsXG4gICAgICBzZWxlY3RBZ2VudCxcbiAgICAgIGNsZWFyQWdlbnQsXG4gICAgICBjb25maWd1cmVTZXR0aW5nc0l0ZW1zLFxuICAgICAgcmVzdG9yZUNvbmZpZ3VyZVNldHRpbmdzLFxuICAgICAgc2V0RW50aXR5VmFsdWVzLFxuICAgICAgcHJvamVjdCxcbiAgICAgIHNldFByb2plY3QsXG4gICAgICBjbGllbnQsXG4gICAgICBzZXRDbGllbnQsXG4gICAgICB0YXNrLFxuICAgICAgc2V0VGFzayxcbiAgICAgIGlzV2ViU2VhcmNoQWN0aXZlLFxuICAgICAgdG9nZ2xlV2ViU2VhcmNoLFxuICAgICAgaXNEZWVwU2VhcmNoQWN0aXZlLFxuICAgICAgdG9nZ2xlRGVlcFNlYXJjaCxcbiAgICAgIGhhc011bHRpQWdlbnRzLFxuICAgICAgY2hpcHNQcm9qZWN0LFxuICAgICAgc2V0Q2hpcHNQcm9qZWN0LFxuICAgICAgcGlubmVkQ29udGV4dCxcbiAgICB9KSxcbiAgICBbXG4gICAgICBvcGVuU2VjdGlvbixcbiAgICAgIGVudGl0eVZhbHVlcz8ucHJvamVjdElkLFxuICAgICAgZW50aXR5VmFsdWVzPy5jbGllbnRJZCxcbiAgICAgIGFnZW50LFxuICAgICAgc2VsZWN0QWdlbnQsXG4gICAgICBjbGVhckFnZW50LFxuICAgICAgc2V0RW50aXR5VmFsdWVzLFxuICAgICAgcmVzdG9yZUNvbmZpZ3VyZVNldHRpbmdzLFxuICAgICAgcHJvamVjdD8uaWQsXG4gICAgICBzZXRQcm9qZWN0LFxuICAgICAgY2xpZW50Py5pZCxcbiAgICAgIHNldENsaWVudCxcbiAgICAgIHRhc2s/LmlkLFxuICAgICAgc2V0VGFzayxcbiAgICAgIGlzV2ViU2VhcmNoQWN0aXZlLFxuICAgICAgdG9nZ2xlV2ViU2VhcmNoLFxuICAgICAgaXNEZWVwU2VhcmNoQWN0aXZlLFxuICAgICAgdG9nZ2xlRGVlcFNlYXJjaCxcbiAgICAgIGhhc011bHRpQWdlbnRzLFxuICAgICAgY2hpcHNQcm9qZWN0LFxuICAgICAgc2V0Q2hpcHNQcm9qZWN0LFxuICAgICAgcGlubmVkQ29udGV4dCxcbiAgICBdXG4gIClcblxuICByZXR1cm4ge1xuICAgIGNvbnRleHQsXG4gICAgcmVzdG9yZUNvbmZpZ3VyZVNldHRpbmdzLFxuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxTQUFTQSxXQUFXLEVBQUVDLE1BQU0sRUFBRUMsT0FBTyxFQUFFQyxRQUFRLEVBQUVDLFNBQVMsUUFBUSxPQUFPO0FBR3pFLFNBQVNDLFFBQVEsUUFBUSxxQkFBcUI7QUFDOUMsU0FBU0MsMkJBQTJCLFFBQVEsMEJBQTBCO0FBQ3RFLFNBQVNDLE9BQU8sUUFBUSxxQkFBcUI7QUFHN0MsU0FBU0MsZUFBZSxRQUFRLFFBQVE7QUFtQnhDLE9BQU8sSUFBTUMsdUJBQXVCLEdBQUcsU0FBMUJBLHVCQUF1QkEsQ0FBQUMsSUFBQSxFQVNIO0VBQUEsSUFBQUMsZ0JBQUE7RUFBQSxJQVIvQkMsT0FBTyxHQUFBRixJQUFBLENBQVBFLE9BQU87SUFDUEMsTUFBTSxHQUFBSCxJQUFBLENBQU5HLE1BQU07SUFDTkMsT0FBTyxHQUFBSixJQUFBLENBQVBJLE9BQU87SUFDUEMsVUFBVSxHQUFBTCxJQUFBLENBQVZLLFVBQVU7SUFBQUMsV0FBQSxHQUFBTixJQUFBLENBQ1ZPLE1BQU07SUFBRUMsYUFBYSxHQUFBRixXQUFBLGNBQUcsSUFBSSxHQUFBQSxXQUFBO0lBQ2pCRyxhQUFh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QVksRUFBWkEsWUFBWTtNQUNackMsT0FBTyxFQUFFdUIsV0FBVztNQUNwQkosS0FBSyxFQUFMQSxLQUFLO01BQ0xxRCxXQUFXLEVBQVhBLFdBQVc7TUFDWEUsVUFBVSxFQUFWQSxVQUFVO01BQ1YzQixzQkFBc0IsRUFBdEJBLHNCQUFzQjtNQUN0QmlCLHdCQUF3QixFQUF4QkEsd0JBQXdCO01BQ3hCMUIsZUFBZSxFQUFmQSxlQUFlO01BQ2ZwQyxPQUFPLEVBQVBBLE9BQU87TUFDUEMsVUFBVSxFQUFWQSxVQUFVO01BQ1ZFLE1BQU0sRUFBTkEsTUFBTTtNQUNORyxTQUFTLEVBQVRBLFNBQVM7TUFDVEUsSUFBSSxFQUFKQSxJQUFJO01BQ0ptQyxPQUFPLEVBQVBBLE9BQU87TUFDUGxCLGlCQUFpQixFQUFqQkEsaUJBQWlCO01BQ2pCZ0QsZUFBZSxFQUFmQSxlQUFlO01BQ2Y1QyxrQkFBa0IsRUFBbEJBLGtCQUFrQjtNQUNsQjZDLGdCQUFnQixFQUFoQkEsZ0JBQWdCO01BQ2hCaEUsY0FBYyxFQUFkQSxjQUFjO01BQ2Q2QyxZQUFZLEVBQVpBLFlBQVk7TUFDWm9CLGVBQWUsRUFBZkEsZUFBZTtNQUNmRSxhQUFhLEVBQWJBO0lBQ0YsQ0FBQztFQUFBLENBQUMsRUFDRixDQUNFeEQsV0FBVyxFQUNYYyxZQUFZLGFBQVpBLFlBQVksdUJBQVpBLFlBQVksQ0FBRUgsU0FBUyxFQUN2QkcsWUFBWSxhQUFaQSxZQUFZLHVCQUFaQSxZQUFZLENBQUVGLFFBQVEsRUFDdEJoQixLQUFLLEVBQ0xxRCxXQUFXLEVBQ1hFLFVBQVUsRUFDVnBDLGVBQWUsRUFDZjBCLHdCQUF3QixFQUN4QjlELE9BQU8sYUFBUEEsT0FBTyx1QkFBUEEsT0FBTyxDQUFFK0MsRUFBRSxFQUNYOUMsVUFBVSxFQUNWRSxNQUFNLGFBQU5BLE1BQU0sdUJBQU5BLE1BQU0sQ0FBRTRDLEVBQUUsRUFDVnpDLFNBQVMsRUFDVEUsSUFBSSxhQUFKQSxJQUFJLHVCQUFKQSxJQUFJLENBQUV1QyxFQUFFLEVBQ1JKLE9BQU8sRUFDUGxCLGlCQUFpQixFQUNqQmdELGVBQWUsRUFDZjVDLGtCQUFrQixFQUNsQjZDLGdCQUFnQixFQUNoQmhFLGNBQWMsRUFDZDZDLFlBQVksRUFDWm9CLGVBQWUsRUFDZkUsYUFBYSxDQUVqQixDQUFDO0VBRUQsT0FBTztJQUNMRyxPQUFPLEVBQVBBLE9BQU87SUFDUGxCLHdCQUF3QixFQUF4QkE7RUFDRixDQUFDO0FBQ0gsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
export { useStreamingMessage } from './useStreamingMessage';
|
|
2
|
-
|
|
1
|
+
export { useStreamingMessage, useStreamingMessageId } from './useStreamingMessage';
|
|
2
|
+
export { streamingStore } from './streamingStore';
|
|
3
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTdHJlYW1pbmdNZXNzYWdlIiwidXNlU3RyZWFtaW5nTWVzc2FnZUlkIiwic3RyZWFtaW5nU3RvcmUiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaG9va3MvdXNlU3RyZWFtaW5nTWVzc2FnZS9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyB1c2VTdHJlYW1pbmdNZXNzYWdlLCB1c2VTdHJlYW1pbmdNZXNzYWdlSWQgfSBmcm9tICcuL3VzZVN0cmVhbWluZ01lc3NhZ2UnXG5leHBvcnQgeyBzdHJlYW1pbmdTdG9yZSB9IGZyb20gJy4vc3RyZWFtaW5nU3RvcmUnXG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLG1CQUFtQixFQUFFQyxxQkFBcUIsUUFBUSx1QkFBdUI7QUFDbEYsU0FBU0MsY0FBYyxRQUFRLGtCQUFrQiIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Store externo (module-level) para el mensaje actualmente en streaming.
|
|
3
|
+
*
|
|
4
|
+
* Desacopla el texto del stream del array de `messages` de React: durante
|
|
5
|
+
* el streaming, el texto se mantiene acá y solo los componentes suscritos
|
|
6
|
+
* (vía `useStreamingMessage` / `useSyncExternalStore`) re-renderizan cuando
|
|
7
|
+
* cambia. El array `messages` no se muta en cada token, evitando ráfagas
|
|
8
|
+
* de re-renders del padre y ejecuciones innecesarias de useEffects.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
var snapshot = {
|
|
12
|
+
id: null,
|
|
13
|
+
text: ''
|
|
14
|
+
};
|
|
15
|
+
var listeners = new Set();
|
|
16
|
+
var emitChange = function emitChange() {
|
|
17
|
+
listeners.forEach(function (listener) {
|
|
18
|
+
listener();
|
|
19
|
+
});
|
|
20
|
+
};
|
|
21
|
+
export var streamingStore = {
|
|
22
|
+
/** Inicia una nueva sesión de streaming para el mensaje con este id. */start: function start(id) {
|
|
23
|
+
snapshot = {
|
|
24
|
+
id: id,
|
|
25
|
+
text: ''
|
|
26
|
+
};
|
|
27
|
+
emitChange();
|
|
28
|
+
},
|
|
29
|
+
/** Setea el texto del mensaje en streaming. Solo aplica si el id coincide. */setText: function setText(id, text) {
|
|
30
|
+
if (snapshot.id !== id) {
|
|
31
|
+
snapshot = {
|
|
32
|
+
id: id,
|
|
33
|
+
text: text
|
|
34
|
+
};
|
|
35
|
+
} else if (snapshot.text !== text) {
|
|
36
|
+
snapshot = {
|
|
37
|
+
id: id,
|
|
38
|
+
text: text
|
|
39
|
+
};
|
|
40
|
+
} else {
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
emitChange();
|
|
44
|
+
},
|
|
45
|
+
/** Limpia el estado de streaming (fin de stream, error o aprobación). */clear: function clear() {
|
|
46
|
+
if (snapshot.id == null && snapshot.text === '') return;
|
|
47
|
+
snapshot = {
|
|
48
|
+
id: null,
|
|
49
|
+
text: ''
|
|
50
|
+
};
|
|
51
|
+
emitChange();
|
|
52
|
+
},
|
|
53
|
+
/** API para useSyncExternalStore. */subscribe: function subscribe(listener) {
|
|
54
|
+
listeners.add(listener);
|
|
55
|
+
return function () {
|
|
56
|
+
listeners["delete"](listener);
|
|
57
|
+
};
|
|
58
|
+
},
|
|
59
|
+
/** Snapshot referencialmente estable mientras no haya cambios. */getSnapshot: function getSnapshot() {
|
|
60
|
+
return snapshot;
|
|
61
|
+
},
|
|
62
|
+
/** Server snapshot (SSR): siempre vacío. */getServerSnapshot: function getServerSnapshot() {
|
|
63
|
+
return {
|
|
64
|
+
id: null,
|
|
65
|
+
text: ''
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzbmFwc2hvdCIsImlkIiwidGV4dCIsImxpc3RlbmVycyIsIlNldCIsImVtaXRDaGFuZ2UiLCJmb3JFYWNoIiwibGlzdGVuZXIiLCJzdHJlYW1pbmdTdG9yZSIsInN0YXJ0Iiwic2V0VGV4dCIsImNsZWFyIiwic3Vic2NyaWJlIiwiYWRkIiwiZ2V0U25hcHNob3QiLCJnZXRTZXJ2ZXJTbmFwc2hvdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy91c2VTdHJlYW1pbmdNZXNzYWdlL3N0cmVhbWluZ1N0b3JlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogU3RvcmUgZXh0ZXJubyAobW9kdWxlLWxldmVsKSBwYXJhIGVsIG1lbnNhamUgYWN0dWFsbWVudGUgZW4gc3RyZWFtaW5nLlxuICpcbiAqIERlc2Fjb3BsYSBlbCB0ZXh0byBkZWwgc3RyZWFtIGRlbCBhcnJheSBkZSBgbWVzc2FnZXNgIGRlIFJlYWN0OiBkdXJhbnRlXG4gKiBlbCBzdHJlYW1pbmcsIGVsIHRleHRvIHNlIG1hbnRpZW5lIGFjw6EgeSBzb2xvIGxvcyBjb21wb25lbnRlcyBzdXNjcml0b3NcbiAqICh2w61hIGB1c2VTdHJlYW1pbmdNZXNzYWdlYCAvIGB1c2VTeW5jRXh0ZXJuYWxTdG9yZWApIHJlLXJlbmRlcml6YW4gY3VhbmRvXG4gKiBjYW1iaWEuIEVsIGFycmF5IGBtZXNzYWdlc2Agbm8gc2UgbXV0YSBlbiBjYWRhIHRva2VuLCBldml0YW5kbyByw6FmYWdhc1xuICogZGUgcmUtcmVuZGVycyBkZWwgcGFkcmUgeSBlamVjdWNpb25lcyBpbm5lY2VzYXJpYXMgZGUgdXNlRWZmZWN0cy5cbiAqL1xuXG50eXBlIFN0cmVhbWluZ1NuYXBzaG90ID0ge1xuICBpZDogc3RyaW5nIHwgbnVsbFxuICB0ZXh0OiBzdHJpbmdcbn1cblxubGV0IHNuYXBzaG90OiBTdHJlYW1pbmdTbmFwc2hvdCA9IHsgaWQ6IG51bGwsIHRleHQ6ICcnIH1cbmNvbnN0IGxpc3RlbmVycyA9IG5ldyBTZXQ8KCkgPT4gdm9pZD4oKVxuXG5jb25zdCBlbWl0Q2hhbmdlID0gKCkgPT4ge1xuICBsaXN0ZW5lcnMuZm9yRWFjaChsaXN0ZW5lciA9PiB7XG4gICAgbGlzdGVuZXIoKVxuICB9KVxufVxuXG5leHBvcnQgY29uc3Qgc3RyZWFtaW5nU3RvcmUgPSB7XG4gIC8qKiBJbmljaWEgdW5hIG51ZXZhIHNlc2nDs24gZGUgc3RyZWFtaW5nIHBhcmEgZWwgbWVuc2FqZSBjb24gZXN0ZSBpZC4gKi9cbiAgc3RhcnQoaWQ6IHN0cmluZykge1xuICAgIHNuYXBzaG90ID0geyBpZCwgdGV4dDogJycgfVxuICAgIGVtaXRDaGFuZ2UoKVxuICB9LFxuICAvKiogU2V0ZWEgZWwgdGV4dG8gZGVsIG1lbnNhamUgZW4gc3RyZWFtaW5nLiBTb2xvIGFwbGljYSBzaSBlbCBpZCBjb2luY2lkZS4gKi9cbiAgc2V0VGV4dChpZDogc3RyaW5nLCB0ZXh0OiBzdHJpbmcpIHtcbiAgICBpZiAoc25hcHNob3QuaWQgIT09IGlkKSB7XG4gICAgICBzbmFwc2hvdCA9IHsgaWQsIHRleHQgfVxuICAgIH0gZWxzZSBpZiAoc25hcHNob3QudGV4dCAhPT0gdGV4dCkge1xuICAgICAgc25hcHNob3QgPSB7IGlkLCB0ZXh0IH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGVtaXRDaGFuZ2UoKVxuICB9LFxuICAvKiogTGltcGlhIGVsIGVzdGFkbyBkZSBzdHJlYW1pbmcgKGZpbiBkZSBzdHJlYW0sIGVycm9yIG8gYXByb2JhY2nDs24pLiAqL1xuICBjbGVhcigpIHtcbiAgICBpZiAoc25hcHNob3QuaWQgPT0gbnVsbCAmJiBzbmFwc2hvdC50ZXh0ID09PSAnJykgcmV0dXJuXG4gICAgc25hcHNob3QgPSB7IGlkOiBudWxsLCB0ZXh0OiAnJyB9XG4gICAgZW1pdENoYW5nZSgpXG4gIH0sXG4gIC8qKiBBUEkgcGFyYSB1c2VTeW5jRXh0ZXJuYWxTdG9yZS4gKi9cbiAgc3Vic2NyaWJlKGxpc3RlbmVyOiAoKSA9PiB2b2lkKSB7XG4gICAgbGlzdGVuZXJzLmFkZChsaXN0ZW5lcilcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgbGlzdGVuZXJzLmRlbGV0ZShsaXN0ZW5lcilcbiAgICB9XG4gIH0sXG4gIC8qKiBTbmFwc2hvdCByZWZlcmVuY2lhbG1lbnRlIGVzdGFibGUgbWllbnRyYXMgbm8gaGF5YSBjYW1iaW9zLiAqL1xuICBnZXRTbmFwc2hvdCgpOiBTdHJlYW1pbmdTbmFwc2hvdCB7XG4gICAgcmV0dXJuIHNuYXBzaG90XG4gIH0sXG4gIC8qKiBTZXJ2ZXIgc25hcHNob3QgKFNTUik6IHNpZW1wcmUgdmFjw61vLiAqL1xuICBnZXRTZXJ2ZXJTbmFwc2hvdCgpOiBTdHJlYW1pbmdTbmFwc2hvdCB7XG4gICAgcmV0dXJuIHsgaWQ6IG51bGwsIHRleHQ6ICcnIH1cbiAgfSxcbn1cblxuZXhwb3J0IHR5cGUgeyBTdHJlYW1pbmdTbmFwc2hvdCB9XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFPQSxJQUFJQSxRQUEyQixHQUFHO0VBQUVDLEVBQUUsRUFBRSxJQUFJO0VBQUVDLElBQUksRUFBRTtBQUFHLENBQUM7QUFDeEQsSUFBTUMsU0FBUyxHQUFHLElBQUlDLEdBQUcsQ0FBYSxDQUFDO0FBRXZDLElBQU1DLFVBQVUsR0FBRyxTQUFiQSxVQUFVQSxDQUFBLEVBQVM7RUFDdkJGLFNBQVMsQ0FBQ0csT0FBTyxDQUFDLFVBQUFDLFFBQVEsRUFBSTtJQUM1QkEsUUFBUSxDQUFDLENBQUM7RUFDWixDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQsT0FBTyxJQUFNQyxjQUFjLEdBQUc7RUFDNUIsd0VBQ0FDLEtBQUssV0FBTEEsS0FBS0EsQ0FBQ1IsRUFBVSxFQUFFO0lBQ2hCRCxRQUFRLEdBQUc7TUFBRUMsRUFBRSxFQUFGQSxFQUFFO01BQUVDLElBQUksRUFBRTtJQUFHLENBQUM7SUFDM0JHLFVBQVUsQ0FBQyxDQUFDO0VBQ2QsQ0FBQztFQUNELDhFQUNBSyxPQUFPLFdBQVBBLE9BQU9BLENBQUNULEVBQVUsRUFBRUMsSUFBWSxFQUFFO0lBQ2hDLElBQUlGLFFBQVEsQ0FBQ0MsRUFBRSxLQUFLQSxFQUFFLEVBQUU7TUFDdEJELFFBQVEsR0FBRztRQUFFQyxFQUFFLEVBQUZBLEVBQUU7UUFBRUMsSUFBSSxFQUFKQTtNQUFLLENBQUM7SUFDekIsQ0FBQyxNQUFNLElBQUlGLFFBQVEsQ0FBQ0UsSUFBSSxLQUFLQSxJQUFJLEVBQUU7TUFDakNGLFFBQVEsR0FBRztRQUFFQyxFQUFFLEVBQUZBLEVBQUU7UUFBRUMsSUFBSSxFQUFKQTtNQUFLLENBQUM7SUFDekIsQ0FBQyxNQUFNO01BQ0w7SUFDRjtJQUNBRyxVQUFVLENBQUMsQ0FBQztFQUNkLENBQUM7RUFDRCx5RUFDQU0sS0FBSyxXQUFMQSxLQUFLQSxDQUFBLEVBQUc7SUFDTixJQUFJWCxRQUFRLENBQUNDLEVBQUUsSUFBSSxJQUFJLElBQUlELFFBQVEsQ0FBQ0UsSUFBSSxLQUFLLEVBQUUsRUFBRTtJQUNqREYsUUFBUSxHQUFHO01BQUVDLEVBQUUsRUFBRSxJQUFJO01BQUVDLElBQUksRUFBRTtJQUFHLENBQUM7SUFDakNHLFVBQVUsQ0FBQyxDQUFDO0VBQ2QsQ0FBQztFQUNELHFDQUNBTyxTQUFTLFdBQVRBLFNBQVNBLENBQUNMLFFBQW9CLEVBQUU7SUFDOUJKLFNBQVMsQ0FBQ1UsR0FBRyxDQUFDTixRQUFRLENBQUM7SUFDdkIsT0FBTyxZQUFNO01BQ1hKLFNBQVMsVUFBTyxDQUFDSSxRQUFRLENBQUM7SUFDNUIsQ0FBQztFQUNILENBQUM7RUFDRCxrRUFDQU8sV0FBVyxXQUFYQSxXQUFXQSxDQUFBLEVBQXNCO0lBQy9CLE9BQU9kLFFBQVE7RUFDakIsQ0FBQztFQUNELDRDQUNBZSxpQkFBaUIsV0FBakJBLGlCQUFpQkEsQ0FBQSxFQUFzQjtJQUNyQyxPQUFPO01BQUVkLEVBQUUsRUFBRSxJQUFJO01BQUVDLElBQUksRUFBRTtJQUFHLENBQUM7RUFDL0I7QUFDRixDQUFDIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -1,18 +1,22 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { useSyncExternalStore } from 'react';
|
|
2
|
+
import { streamingStore } from './streamingStore';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
|
-
* Devuelve el texto en streaming
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
5
|
+
* Devuelve el texto actual del mensaje en streaming si el `id` coincide con
|
|
6
|
+
* el mensaje activo. Si no hay streaming activo o el id no coincide, devuelve
|
|
7
|
+
* una cadena vacía. Esto permite que solo el componente del mensaje en
|
|
8
|
+
* streaming se re-renderice, sin afectar al resto del árbol.
|
|
9
9
|
*/
|
|
10
10
|
export var useStreamingMessage = function useStreamingMessage(messageId) {
|
|
11
|
-
var
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
return
|
|
15
|
-
return '';
|
|
16
|
-
});
|
|
11
|
+
var snapshot = useSyncExternalStore(streamingStore.subscribe, streamingStore.getSnapshot, streamingStore.getServerSnapshot);
|
|
12
|
+
if (!messageId) return '';
|
|
13
|
+
if (snapshot.id !== messageId) return '';
|
|
14
|
+
return snapshot.text;
|
|
17
15
|
};
|
|
18
|
-
|
|
16
|
+
|
|
17
|
+
/** Devuelve el id del mensaje que está actualmente en streaming (o null). */
|
|
18
|
+
export var useStreamingMessageId = function useStreamingMessageId() {
|
|
19
|
+
var snapshot = useSyncExternalStore(streamingStore.subscribe, streamingStore.getSnapshot, streamingStore.getServerSnapshot);
|
|
20
|
+
return snapshot.id;
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTeW5jRXh0ZXJuYWxTdG9yZSIsInN0cmVhbWluZ1N0b3JlIiwidXNlU3RyZWFtaW5nTWVzc2FnZSIsIm1lc3NhZ2VJZCIsInNuYXBzaG90Iiwic3Vic2NyaWJlIiwiZ2V0U25hcHNob3QiLCJnZXRTZXJ2ZXJTbmFwc2hvdCIsImlkIiwidGV4dCIsInVzZVN0cmVhbWluZ01lc3NhZ2VJZCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy91c2VTdHJlYW1pbmdNZXNzYWdlL3VzZVN0cmVhbWluZ01lc3NhZ2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlU3luY0V4dGVybmFsU3RvcmUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IHN0cmVhbWluZ1N0b3JlIH0gZnJvbSAnLi9zdHJlYW1pbmdTdG9yZSdcblxuLyoqXG4gKiBEZXZ1ZWx2ZSBlbCB0ZXh0byBhY3R1YWwgZGVsIG1lbnNhamUgZW4gc3RyZWFtaW5nIHNpIGVsIGBpZGAgY29pbmNpZGUgY29uXG4gKiBlbCBtZW5zYWplIGFjdGl2by4gU2kgbm8gaGF5IHN0cmVhbWluZyBhY3Rpdm8gbyBlbCBpZCBubyBjb2luY2lkZSwgZGV2dWVsdmVcbiAqIHVuYSBjYWRlbmEgdmFjw61hLiBFc3RvIHBlcm1pdGUgcXVlIHNvbG8gZWwgY29tcG9uZW50ZSBkZWwgbWVuc2FqZSBlblxuICogc3RyZWFtaW5nIHNlIHJlLXJlbmRlcmljZSwgc2luIGFmZWN0YXIgYWwgcmVzdG8gZGVsIMOhcmJvbC5cbiAqL1xuZXhwb3J0IGNvbnN0IHVzZVN0cmVhbWluZ01lc3NhZ2UgPSAobWVzc2FnZUlkOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKTogc3RyaW5nID0+IHtcbiAgY29uc3Qgc25hcHNob3QgPSB1c2VTeW5jRXh0ZXJuYWxTdG9yZShcbiAgICBzdHJlYW1pbmdTdG9yZS5zdWJzY3JpYmUsXG4gICAgc3RyZWFtaW5nU3RvcmUuZ2V0U25hcHNob3QsXG4gICAgc3RyZWFtaW5nU3RvcmUuZ2V0U2VydmVyU25hcHNob3RcbiAgKVxuICBpZiAoIW1lc3NhZ2VJZCkgcmV0dXJuICcnXG4gIGlmIChzbmFwc2hvdC5pZCAhPT0gbWVzc2FnZUlkKSByZXR1cm4gJydcbiAgcmV0dXJuIHNuYXBzaG90LnRleHRcbn1cblxuLyoqIERldnVlbHZlIGVsIGlkIGRlbCBtZW5zYWplIHF1ZSBlc3TDoSBhY3R1YWxtZW50ZSBlbiBzdHJlYW1pbmcgKG8gbnVsbCkuICovXG5leHBvcnQgY29uc3QgdXNlU3RyZWFtaW5nTWVzc2FnZUlkID0gKCk6IHN0cmluZyB8IG51bGwgPT4ge1xuICBjb25zdCBzbmFwc2hvdCA9IHVzZVN5bmNFeHRlcm5hbFN0b3JlKFxuICAgIHN0cmVhbWluZ1N0b3JlLnN1YnNjcmliZSxcbiAgICBzdHJlYW1pbmdTdG9yZS5nZXRTbmFwc2hvdCxcbiAgICBzdHJlYW1pbmdTdG9yZS5nZXRTZXJ2ZXJTbmFwc2hvdFxuICApXG4gIHJldHVybiBzbmFwc2hvdC5pZFxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxvQkFBb0IsUUFBUSxPQUFPO0FBQzVDLFNBQVNDLGNBQWMsUUFBUSxrQkFBa0I7O0FBRWpEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU8sSUFBTUMsbUJBQW1CLEdBQUcsU0FBdEJBLG1CQUFtQkEsQ0FBSUMsU0FBb0MsRUFBYTtFQUNuRixJQUFNQyxRQUFRLEdBQUdKLG9CQUFvQixDQUNuQ0MsY0FBYyxDQUFDSSxTQUFTLEVBQ3hCSixjQUFjLENBQUNLLFdBQVcsRUFDMUJMLGNBQWMsQ0FBQ00saUJBQ2pCLENBQUM7RUFDRCxJQUFJLENBQUNKLFNBQVMsRUFBRSxPQUFPLEVBQUU7RUFDekIsSUFBSUMsUUFBUSxDQUFDSSxFQUFFLEtBQUtMLFNBQVMsRUFBRSxPQUFPLEVBQUU7RUFDeEMsT0FBT0MsUUFBUSxDQUFDSyxJQUFJO0FBQ3RCLENBQUM7O0FBRUQ7QUFDQSxPQUFPLElBQU1DLHFCQUFxQixHQUFHLFNBQXhCQSxxQkFBcUJBLENBQUEsRUFBd0I7RUFDeEQsSUFBTU4sUUFBUSxHQUFHSixvQkFBb0IsQ0FDbkNDLGNBQWMsQ0FBQ0ksU0FBUyxFQUN4QkosY0FBYyxDQUFDSyxXQUFXLEVBQzFCTCxjQUFjLENBQUNNLGlCQUNqQixDQUFDO0VBQ0QsT0FBT0gsUUFBUSxDQUFDSSxFQUFFO0FBQ3BCLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
|