@projectcor/maia-components 2.35.4-0 → 2.35.4-1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. package/lib/App.js +44 -19
  2. package/lib/components/atoms/ApprovalBox/ApprovalBox.js +4 -63
  3. package/lib/components/atoms/ApprovalBox/ApprovalBox.spec.js +3 -31
  4. package/lib/components/atoms/ApprovalBox/ApprovalBox.styles.js +4 -16
  5. package/lib/components/atoms/ContextMentionChip/buildChipElement.js +1 -12
  6. package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.js +5 -127
  7. package/lib/components/atoms/ContextMentionItem/ContextMentionItem.js +29 -2
  8. package/lib/components/atoms/ContextMentionItem/ContextMentionItem.styles.js +33 -24
  9. package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.js +19 -2
  10. package/lib/components/atoms/MAIAInput/MAIAInput.js +17 -234
  11. package/lib/components/atoms/MAIAInput/MAIAInput.spec.js +2 -84
  12. package/lib/components/atoms/MAIAInput/styles.js +11 -15
  13. package/lib/components/atoms/icons/SkillsNavIcon.js +7 -4
  14. package/lib/components/atoms/icons/index.js +1 -5
  15. package/lib/components/index.js +2 -1
  16. package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.js +11 -34
  17. package/lib/components/molecules/ChatAIContent/ChatAIContent.js +9 -7
  18. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +8 -4
  19. package/lib/components/molecules/ChatAIMessages/newStyles.js +29 -26
  20. package/lib/components/molecules/ChatAIModal/ChatAIModal.js +23 -60
  21. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +69 -70
  22. package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.js +242 -333
  23. package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.styles.js +104 -131
  24. package/lib/components/molecules/ChatFooter/ChatFooter.js +5 -15
  25. package/lib/components/molecules/ChatFooter/ChatFooter.spec.js +8 -1
  26. package/lib/components/molecules/ContextMentionInput/ContextMentionInput.js +3 -1
  27. package/lib/components/molecules/Sidebar/Sidebar.js +32 -34
  28. package/lib/components/molecules/Sidebar/Sidebar.layout.styles.js +2 -2
  29. package/lib/components/molecules/Sidebar/Sidebar.spec.js +22 -2
  30. package/lib/components/organisms/AbmAgentModal/AbmAgentModal.js +12 -21
  31. package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.js +1 -8
  32. package/lib/components/organisms/AbmSkillModal/AbmSkillModal.js +184 -430
  33. package/lib/components/organisms/AbmSkillModal/AbmSkillModal.spec.js +22 -78
  34. package/lib/components/organisms/AbmSkillModal/AbmSkillModal.styles.js +72 -132
  35. package/lib/components/organisms/ChatAIPage/ChatAIPage.js +484 -0
  36. package/lib/components/organisms/ChatAIPage/ChatAIPage.spec.js +231 -0
  37. package/lib/components/organisms/ChatAIPage/ChatAIPage.styles.js +16 -0
  38. package/lib/components/organisms/ChatAIPage/ChatAIPageHeader.js +253 -0
  39. package/lib/components/organisms/ChatAIPage/ChatAIPageHeader.spec.js +139 -0
  40. package/lib/components/organisms/ChatAIPage/ChatAIPageHeader.styles.js +13 -0
  41. package/lib/components/organisms/ChatAIPage/ChatAIPageHome.js +217 -0
  42. package/lib/components/organisms/ChatAIPage/ChatAIPageHome.spec.js +102 -0
  43. package/lib/components/organisms/ChatAIPage/ChatAIPageHome.styles.js +147 -0
  44. package/lib/components/organisms/ChatAIPage/getDaypart.js +9 -0
  45. package/lib/components/organisms/ChatAIPage/getDaypart.spec.js +19 -0
  46. package/lib/components/organisms/ChatAIPage/index.js +3 -0
  47. package/lib/components/organisms/ChatAIPage/pageHomeMockCards.js +17 -0
  48. package/lib/constants/config.js +4 -1
  49. package/lib/constants/permissions/index.js +2 -2
  50. package/lib/constants/permissions/utils.js +6 -3
  51. package/lib/dev/DevMaiaPage.js +30 -0
  52. package/lib/hooks/useAgentModel/useCreateAgent.js +6 -6
  53. package/lib/hooks/useAgentModel/useUpdateAgent.js +6 -6
  54. package/lib/hooks/useChatManager/useChatManager.js +4 -5
  55. package/lib/hooks/useContextMentions.js +56 -96
  56. package/lib/hooks/useEntitySearch.js +278 -92
  57. package/lib/hooks/useEvent.js +2 -15
  58. package/lib/hooks/useEvent.spec.js +2 -7
  59. package/lib/hooks/useIsMaiaPageRoute.js +26 -0
  60. package/lib/hooks/useIsMaiaPageRoute.spec.js +26 -0
  61. package/lib/hooks/useMentionAllowedTypes.js +25 -9
  62. package/lib/hooks/useMentionAllowedTypes.spec.js +15 -4
  63. package/lib/hooks/useMentionPopover.js +33 -9
  64. package/lib/index.js +5 -2
  65. package/lib/lang/br/index.js +32 -39
  66. package/lib/lang/en/index.js +32 -39
  67. package/lib/lang/es/index.js +33 -40
  68. package/lib/lang/fr/index.js +32 -39
  69. package/lib/services/maia/Agents/setAgentToolGroups.js +2 -2
  70. package/lib/services/maia/Agents/setAgentToolGroups.spec.js +3 -3
  71. package/lib/services/maia/Orchestrator/orchestrator.js +3 -6
  72. package/lib/services/maia/Skills/createSkill.js +1 -1
  73. package/lib/services/maia/Skills/createSkill.spec.js +5 -14
  74. package/lib/services/maia/Skills/getSkills.js +40 -70
  75. package/lib/services/maia/Skills/updateSkill.js +1 -1
  76. package/lib/services/maia/Skills/updateSkill.spec.js +4 -11
  77. package/lib/styles/cascade.js +29 -3
  78. package/lib/styles/transitions.js +3 -1
  79. package/lib/types/agentModal.js +1 -1
  80. package/lib/types/global.d.js +1 -1
  81. package/lib/types/skill.js +1 -1
  82. package/lib/utils/contextMentionTriggers.js +5 -2
  83. package/lib/utils/contextMentionTriggers.spec.js +6 -8
  84. package/lib/utils/maiaPageRoute.js +24 -0
  85. package/lib/utils/maiaPageRoute.spec.js +23 -0
  86. package/lib/utils/normalizeAgentConnectors.js +16 -44
  87. package/lib/utils/normalizeAgentConnectors.spec.js +13 -43
  88. package/lib/utils/renderContextMentions.js +18 -39
  89. package/package.json +1 -1
  90. package/lib/components/atoms/SkillsDropdown/SkillsDropdown.js +0 -208
  91. package/lib/components/atoms/SkillsDropdown/SkillsDropdown.spec.js +0 -107
  92. package/lib/components/atoms/SkillsDropdown/SkillsDropdown.styles.js +0 -77
  93. package/lib/components/atoms/SkillsDropdown/index.js +0 -2
  94. package/lib/components/atoms/icons/PlusIcon.js +0 -29
  95. package/lib/components/atoms/icons/SkillCreatedByIcon.js +0 -20
  96. package/lib/components/atoms/icons/SkillVisibilityEveryoneIcon.js +0 -23
  97. package/lib/components/atoms/icons/SkillVisibilityOnlyMeIcon.js +0 -23
  98. package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.spec.js +0 -77
  99. package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.spec.js +0 -128
  100. package/lib/hooks/useAgentModel/useCreateAgent.spec.js +0 -95
  101. package/lib/hooks/useAgentModel/useUpdateAgent.spec.js +0 -96
  102. package/lib/hooks/useSkillsCatalog.js +0 -66
  103. package/lib/hooks/useSkillsCatalog.spec.js +0 -88
  104. package/lib/services/maia/Orchestrator/orchestrator.spec.js +0 -72
  105. package/lib/services/maia/Skills/getSkills.spec.js +0 -152
@@ -0,0 +1,139 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
+ import { fireEvent, renderWithProviders, screen } from '../../../test/test-utils';
5
+ import { GlobalContextTestProvider, testAgent } from '../../../test/global-context';
6
+ import { ChatAIPageHeader } from './ChatAIPageHeader';
7
+ import { jsx as _jsx } from "react/jsx-runtime";
8
+ var triggerEvent = jest.fn();
9
+ jest.mock('../../../hooks/useEvent', function () {
10
+ return {
11
+ EVENTS: {
12
+ aiChatOpenAgentSelect: 'AI_CHAT_OPEN_AGENT_SELECT',
13
+ aiChatAgentSelect: 'AI_CHAT_AGENT_SELECT',
14
+ openModal: 'AI_CHAT_ABM_ACCESS'
15
+ },
16
+ useEvent: function useEvent() {
17
+ return triggerEvent;
18
+ }
19
+ };
20
+ });
21
+ jest.mock('../../../context/cor-user', function () {
22
+ return {
23
+ CORUserRole: {
24
+ CLEVEL: 1,
25
+ DIRECTOR: 2,
26
+ PROJECT_MANAGER: 3,
27
+ COLLABORATOR: 4,
28
+ FREELANCER: 5,
29
+ CLIENT: 6
30
+ },
31
+ useUser: function useUser() {
32
+ return {
33
+ id: 99,
34
+ company: 'COR',
35
+ role_id: 3,
36
+ permissions: {
37
+ ai_agents: {
38
+ create: true
39
+ }
40
+ }
41
+ };
42
+ }
43
+ };
44
+ });
45
+ jest.mock('../../../constants/maiaTaskPanelAccess', function () {
46
+ return {
47
+ isMaiaCloneAgentsRoleBlocked: function isMaiaCloneAgentsRoleBlocked() {
48
+ return false;
49
+ }
50
+ };
51
+ });
52
+ jest.mock('../../../hooks/useResize', function () {
53
+ return {
54
+ useResizeListener: function useResizeListener() {
55
+ return {
56
+ showTooltip: false
57
+ };
58
+ }
59
+ };
60
+ });
61
+ jest.mock('../../molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions', function () {
62
+ return {
63
+ ChatAIAgentOption: function ChatAIAgentOption(_ref) {
64
+ var agent = _ref.agent,
65
+ handleSelectAgent = _ref.handleSelectAgent;
66
+ return /*#__PURE__*/_jsx("button", {
67
+ type: "button",
68
+ onClick: function onClick() {
69
+ return handleSelectAgent(agent);
70
+ },
71
+ children: agent.name
72
+ });
73
+ }
74
+ };
75
+ });
76
+ var agents = [_objectSpread(_objectSpread({}, testAgent), {}, {
77
+ id: '1',
78
+ name: 'MAIA',
79
+ type: 'orchestrator'
80
+ }), _objectSpread(_objectSpread({}, testAgent), {}, {
81
+ id: '2',
82
+ name: 'Legal',
83
+ type: 'custom',
84
+ entity: 'project'
85
+ })];
86
+ describe('ChatAIPageHeader', function () {
87
+ var handleResetChat = jest.fn();
88
+ beforeEach(function () {
89
+ handleResetChat.mockClear();
90
+ triggerEvent.mockClear();
91
+ Object.assign(window, {
92
+ MAIA_CHAT_AI_FEATURE_ACCESS: true,
93
+ MAIA_CHAT_AI_FEATURE_ACCESS_MULTI_AGENTS: true
94
+ });
95
+ });
96
+ afterEach(function () {
97
+ delete window.MAIA_CHAT_AI_FEATURE_ACCESS;
98
+ delete window.MAIA_CHAT_AI_FEATURE_ACCESS_MULTI_AGENTS;
99
+ });
100
+ it('shows the selected agent', function () {
101
+ renderWithProviders(/*#__PURE__*/_jsx(GlobalContextTestProvider, {
102
+ children: /*#__PURE__*/_jsx(ChatAIPageHeader, {
103
+ agents: agents,
104
+ handleResetChat: handleResetChat
105
+ })
106
+ }));
107
+ expect(screen.getByText('MAIA')).toBeInTheDocument();
108
+ expect(screen.queryByText('back')).not.toBeInTheDocument();
109
+ });
110
+ it('shows the back button in chat and returns home', function () {
111
+ renderWithProviders(/*#__PURE__*/_jsx(GlobalContextTestProvider, {
112
+ children: /*#__PURE__*/_jsx(ChatAIPageHeader, {
113
+ showBack: true,
114
+ agents: agents,
115
+ handleResetChat: handleResetChat
116
+ })
117
+ }));
118
+ fireEvent.click(screen.getByText('back'));
119
+ expect(handleResetChat).toHaveBeenCalledTimes(1);
120
+ });
121
+ it('opens the create-agent modal from the selector', function () {
122
+ var onOpen = jest.fn();
123
+ document.addEventListener('abm-agent-modal-set-values', onOpen);
124
+ renderWithProviders(/*#__PURE__*/_jsx(GlobalContextTestProvider, {
125
+ children: /*#__PURE__*/_jsx(ChatAIPageHeader, {
126
+ agents: agents,
127
+ handleResetChat: handleResetChat
128
+ })
129
+ }));
130
+ fireEvent.click(screen.getByText('MAIA'));
131
+ fireEvent.click(screen.getByText('createAgent'));
132
+ expect(onOpen).toHaveBeenCalled();
133
+ var event = onOpen.mock.calls[0][0];
134
+ expect(event.detail.agentValues.isOpen).toBe(true);
135
+ expect(event.detail.agentValues.values.isEditing).toBe(false);
136
+ document.removeEventListener('abm-agent-modal-set-values', onOpen);
137
+ });
138
+ });
139
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmaXJlRXZlbnQiLCJyZW5kZXJXaXRoUHJvdmlkZXJzIiwic2NyZWVuIiwiR2xvYmFsQ29udGV4dFRlc3RQcm92aWRlciIsInRlc3RBZ2VudCIsIkNoYXRBSVBhZ2VIZWFkZXIiLCJqc3giLCJfanN4IiwidHJpZ2dlckV2ZW50IiwiamVzdCIsImZuIiwibW9jayIsIkVWRU5UUyIsImFpQ2hhdE9wZW5BZ2VudFNlbGVjdCIsImFpQ2hhdEFnZW50U2VsZWN0Iiwib3Blbk1vZGFsIiwidXNlRXZlbnQiLCJDT1JVc2VyUm9sZSIsIkNMRVZFTCIsIkRJUkVDVE9SIiwiUFJPSkVDVF9NQU5BR0VSIiwiQ09MTEFCT1JBVE9SIiwiRlJFRUxBTkNFUiIsIkNMSUVOVCIsInVzZVVzZXIiLCJpZCIsImNvbXBhbnkiLCJyb2xlX2lkIiwicGVybWlzc2lvbnMiLCJhaV9hZ2VudHMiLCJjcmVhdGUiLCJpc01haWFDbG9uZUFnZW50c1JvbGVCbG9ja2VkIiwidXNlUmVzaXplTGlzdGVuZXIiLCJzaG93VG9vbHRpcCIsIkNoYXRBSUFnZW50T3B0aW9uIiwiX3JlZiIsImFnZW50IiwiaGFuZGxlU2VsZWN0QWdlbnQiLCJ0eXBlIiwib25DbGljayIsImNoaWxkcmVuIiwibmFtZSIsImFnZW50cyIsIl9vYmplY3RTcHJlYWQiLCJlbnRpdHkiLCJkZXNjcmliZSIsImhhbmRsZVJlc2V0Q2hhdCIsImJlZm9yZUVhY2giLCJtb2NrQ2xlYXIiLCJPYmplY3QiLCJhc3NpZ24iLCJ3aW5kb3ciLCJNQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1MiLCJNQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTIiwiYWZ0ZXJFYWNoIiwiaXQiLCJleHBlY3QiLCJnZXRCeVRleHQiLCJ0b0JlSW5UaGVEb2N1bWVudCIsInF1ZXJ5QnlUZXh0Iiwibm90Iiwic2hvd0JhY2siLCJjbGljayIsInRvSGF2ZUJlZW5DYWxsZWRUaW1lcyIsIm9uT3BlbiIsImRvY3VtZW50IiwiYWRkRXZlbnRMaXN0ZW5lciIsInRvSGF2ZUJlZW5DYWxsZWQiLCJldmVudCIsImNhbGxzIiwiZGV0YWlsIiwiYWdlbnRWYWx1ZXMiLCJpc09wZW4iLCJ0b0JlIiwidmFsdWVzIiwiaXNFZGl0aW5nIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL29yZ2FuaXNtcy9DaGF0QUlQYWdlL0NoYXRBSVBhZ2VIZWFkZXIuc3BlYy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZmlyZUV2ZW50LCByZW5kZXJXaXRoUHJvdmlkZXJzLCBzY3JlZW4gfSBmcm9tICcuLi8uLi8uLi90ZXN0L3Rlc3QtdXRpbHMnXG5pbXBvcnQgeyBHbG9iYWxDb250ZXh0VGVzdFByb3ZpZGVyLCB0ZXN0QWdlbnQgfSBmcm9tICcuLi8uLi8uLi90ZXN0L2dsb2JhbC1jb250ZXh0J1xuaW1wb3J0IHR5cGUgeyBBZ2VudCB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL2FnZW50J1xuaW1wb3J0IHsgQ2hhdEFJUGFnZUhlYWRlciB9IGZyb20gJy4vQ2hhdEFJUGFnZUhlYWRlcidcblxuY29uc3QgdHJpZ2dlckV2ZW50ID0gamVzdC5mbigpXG5cbmplc3QubW9jaygnLi4vLi4vLi4vaG9va3MvdXNlRXZlbnQnLCAoKSA9PiAoe1xuICBFVkVOVFM6IHtcbiAgICBhaUNoYXRPcGVuQWdlbnRTZWxlY3Q6ICdBSV9DSEFUX09QRU5fQUdFTlRfU0VMRUNUJyxcbiAgICBhaUNoYXRBZ2VudFNlbGVjdDogJ0FJX0NIQVRfQUdFTlRfU0VMRUNUJyxcbiAgICBvcGVuTW9kYWw6ICdBSV9DSEFUX0FCTV9BQ0NFU1MnLFxuICB9LFxuICB1c2VFdmVudDogKCkgPT4gdHJpZ2dlckV2ZW50LFxufSkpXG5cbmplc3QubW9jaygnLi4vLi4vLi4vY29udGV4dC9jb3ItdXNlcicsICgpID0+ICh7XG4gIENPUlVzZXJSb2xlOiB7XG4gICAgQ0xFVkVMOiAxLFxuICAgIERJUkVDVE9SOiAyLFxuICAgIFBST0pFQ1RfTUFOQUdFUjogMyxcbiAgICBDT0xMQUJPUkFUT1I6IDQsXG4gICAgRlJFRUxBTkNFUjogNSxcbiAgICBDTElFTlQ6IDYsXG4gIH0sXG4gIHVzZVVzZXI6ICgpID0+ICh7XG4gICAgaWQ6IDk5LFxuICAgIGNvbXBhbnk6ICdDT1InLFxuICAgIHJvbGVfaWQ6IDMsXG4gICAgcGVybWlzc2lvbnM6IHsgYWlfYWdlbnRzOiB7IGNyZWF0ZTogdHJ1ZSB9IH0sXG4gIH0pLFxufSkpXG5cbmplc3QubW9jaygnLi4vLi4vLi4vY29uc3RhbnRzL21haWFUYXNrUGFuZWxBY2Nlc3MnLCAoKSA9PiAoe1xuICBpc01haWFDbG9uZUFnZW50c1JvbGVCbG9ja2VkOiAoKSA9PiBmYWxzZSxcbn0pKVxuXG5qZXN0Lm1vY2soJy4uLy4uLy4uL2hvb2tzL3VzZVJlc2l6ZScsICgpID0+ICh7XG4gIHVzZVJlc2l6ZUxpc3RlbmVyOiAoKSA9PiAoeyBzaG93VG9vbHRpcDogZmFsc2UgfSksXG59KSlcblxuamVzdC5tb2NrKCcuLi8uLi9tb2xlY3VsZXMvQ2hhdEFJTW9kYWwvY29tcG9uZW50cy9DaGF0QWlBZ2VudE9wdGlvbnMvQ2hhdEFpQWdlbnRPcHRpb25zJywgKCkgPT4gKHtcbiAgQ2hhdEFJQWdlbnRPcHRpb246ICh7IGFnZW50LCBoYW5kbGVTZWxlY3RBZ2VudCB9OiB7IGFnZW50OiBBZ2VudDsgaGFuZGxlU2VsZWN0QWdlbnQ6IChuZXh0OiBBZ2VudCkgPT4gdm9pZCB9KSA9PiAoXG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgb25DbGljaz17KCkgPT4gaGFuZGxlU2VsZWN0QWdlbnQoYWdlbnQpfT5cbiAgICAgIHthZ2VudC5uYW1lfVxuICAgIDwvYnV0dG9uPlxuICApLFxufSkpXG5cbmNvbnN0IGFnZW50czogQWdlbnRbXSA9IFtcbiAgeyAuLi50ZXN0QWdlbnQsIGlkOiAnMScsIG5hbWU6ICdNQUlBJywgdHlwZTogJ29yY2hlc3RyYXRvcicgfSxcbiAgeyAuLi50ZXN0QWdlbnQsIGlkOiAnMicsIG5hbWU6ICdMZWdhbCcsIHR5cGU6ICdjdXN0b20nLCBlbnRpdHk6ICdwcm9qZWN0JyB9LFxuXVxuXG5kZXNjcmliZSgnQ2hhdEFJUGFnZUhlYWRlcicsICgpID0+IHtcbiAgY29uc3QgaGFuZGxlUmVzZXRDaGF0ID0gamVzdC5mbigpXG5cbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgaGFuZGxlUmVzZXRDaGF0Lm1vY2tDbGVhcigpXG4gICAgdHJpZ2dlckV2ZW50Lm1vY2tDbGVhcigpXG4gICAgT2JqZWN0LmFzc2lnbih3aW5kb3csIHtcbiAgICAgIE1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTUzogdHJ1ZSxcbiAgICAgIE1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFM6IHRydWUsXG4gICAgfSlcbiAgfSlcblxuICBhZnRlckVhY2goKCkgPT4ge1xuICAgIGRlbGV0ZSAod2luZG93IGFzIFdpbmRvdyAmIHsgTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTPzogYm9vbGVhbiB9KS5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NcbiAgICBkZWxldGUgKHdpbmRvdyBhcyBXaW5kb3cgJiB7IE1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFM/OiBib29sZWFuIH0pXG4gICAgICAuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UU1xuICB9KVxuXG4gIGl0KCdzaG93cyB0aGUgc2VsZWN0ZWQgYWdlbnQnLCAoKSA9PiB7XG4gICAgcmVuZGVyV2l0aFByb3ZpZGVycyhcbiAgICAgIDxHbG9iYWxDb250ZXh0VGVzdFByb3ZpZGVyPlxuICAgICAgICA8Q2hhdEFJUGFnZUhlYWRlciBhZ2VudHM9e2FnZW50c30gaGFuZGxlUmVzZXRDaGF0PXtoYW5kbGVSZXNldENoYXR9IC8+XG4gICAgICA8L0dsb2JhbENvbnRleHRUZXN0UHJvdmlkZXI+XG4gICAgKVxuXG4gICAgZXhwZWN0KHNjcmVlbi5nZXRCeVRleHQoJ01BSUEnKSkudG9CZUluVGhlRG9jdW1lbnQoKVxuICAgIGV4cGVjdChzY3JlZW4ucXVlcnlCeVRleHQoJ2JhY2snKSkubm90LnRvQmVJblRoZURvY3VtZW50KClcbiAgfSlcblxuICBpdCgnc2hvd3MgdGhlIGJhY2sgYnV0dG9uIGluIGNoYXQgYW5kIHJldHVybnMgaG9tZScsICgpID0+IHtcbiAgICByZW5kZXJXaXRoUHJvdmlkZXJzKFxuICAgICAgPEdsb2JhbENvbnRleHRUZXN0UHJvdmlkZXI+XG4gICAgICAgIDxDaGF0QUlQYWdlSGVhZGVyIHNob3dCYWNrIGFnZW50cz17YWdlbnRzfSBoYW5kbGVSZXNldENoYXQ9e2hhbmRsZVJlc2V0Q2hhdH0gLz5cbiAgICAgIDwvR2xvYmFsQ29udGV4dFRlc3RQcm92aWRlcj5cbiAgICApXG5cbiAgICBmaXJlRXZlbnQuY2xpY2soc2NyZWVuLmdldEJ5VGV4dCgnYmFjaycpKVxuICAgIGV4cGVjdChoYW5kbGVSZXNldENoYXQpLnRvSGF2ZUJlZW5DYWxsZWRUaW1lcygxKVxuICB9KVxuXG4gIGl0KCdvcGVucyB0aGUgY3JlYXRlLWFnZW50IG1vZGFsIGZyb20gdGhlIHNlbGVjdG9yJywgKCkgPT4ge1xuICAgIGNvbnN0IG9uT3BlbiA9IGplc3QuZm4oKVxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2FibS1hZ2VudC1tb2RhbC1zZXQtdmFsdWVzJywgb25PcGVuKVxuXG4gICAgcmVuZGVyV2l0aFByb3ZpZGVycyhcbiAgICAgIDxHbG9iYWxDb250ZXh0VGVzdFByb3ZpZGVyPlxuICAgICAgICA8Q2hhdEFJUGFnZUhlYWRlciBhZ2VudHM9e2FnZW50c30gaGFuZGxlUmVzZXRDaGF0PXtoYW5kbGVSZXNldENoYXR9IC8+XG4gICAgICA8L0dsb2JhbENvbnRleHRUZXN0UHJvdmlkZXI+XG4gICAgKVxuXG4gICAgZmlyZUV2ZW50LmNsaWNrKHNjcmVlbi5nZXRCeVRleHQoJ01BSUEnKSlcbiAgICBmaXJlRXZlbnQuY2xpY2soc2NyZWVuLmdldEJ5VGV4dCgnY3JlYXRlQWdlbnQnKSlcblxuICAgIGV4cGVjdChvbk9wZW4pLnRvSGF2ZUJlZW5DYWxsZWQoKVxuICAgIGNvbnN0IGV2ZW50ID0gb25PcGVuLm1vY2suY2FsbHNbMF1bMF0gYXMgQ3VzdG9tRXZlbnRcbiAgICBleHBlY3QoZXZlbnQuZGV0YWlsLmFnZW50VmFsdWVzLmlzT3BlbikudG9CZSh0cnVlKVxuICAgIGV4cGVjdChldmVudC5kZXRhaWwuYWdlbnRWYWx1ZXMudmFsdWVzLmlzRWRpdGluZykudG9CZShmYWxzZSlcblxuICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2FibS1hZ2VudC1tb2RhbC1zZXQtdmFsdWVzJywgb25PcGVuKVxuICB9KVxufSlcbiJdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsU0FBU0EsU0FBUyxFQUFFQyxtQkFBbUIsRUFBRUMsTUFBTSxRQUFRLDBCQUEwQjtBQUNqRixTQUFTQyx5QkFBeUIsRUFBRUMsU0FBUyxRQUFRLDhCQUE4QjtBQUVuRixTQUFTQyxnQkFBZ0IsUUFBUSxvQkFBb0I7QUFBQSxTQUFBQyxHQUFBLElBQUFDLElBQUE7QUFFckQsSUFBTUMsWUFBWSxHQUFHQyxJQUFJLENBQUNDLEVBQUUsQ0FBQyxDQUFDO0FBRTlCRCxJQUFJLENBQUNFLElBQUksQ0FBQyx5QkFBeUIsRUFBRTtFQUFBLE9BQU87SUFDMUNDLE1BQU0sRUFBRTtNQUNOQyxxQkFBcUIsRUFBRSwyQkFBMkI7TUFDbERDLGlCQUFpQixFQUFFLHNCQUFzQjtNQUN6Q0MsU0FBUyxFQUFFO0lBQ2IsQ0FBQztJQUNEQyxRQUFRLEVBQUUsU0FBVkEsUUFBUUEsQ0FBQTtNQUFBLE9BQVFSLFlBQVk7SUFBQTtFQUM5QixDQUFDO0FBQUEsQ0FBQyxDQUFDO0FBRUhDLElBQUksQ0FBQ0UsSUFBSSxDQUFDLDJCQUEyQixFQUFFO0VBQUEsT0FBTztJQUM1Q00sV0FBVyxFQUFFO01BQ1hDLE1BQU0sRUFBRSxDQUFDO01BQ1RDLFFBQVEsRUFBRSxDQUFDO01BQ1hDLGVBQWUsRUFBRSxDQUFDO01BQ2xCQyxZQUFZ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
@@ -0,0 +1,13 @@
1
+ import styled from 'styled-components';
2
+ export var SCPageHeader = styled.header.withConfig({
3
+ displayName: "ChatAIPageHeaderstyles__SCPageHeader",
4
+ componentId: "sc-11cr9wi-0"
5
+ })(["display:flex;padding:8px 16px;justify-content:space-between;align-items:center;align-self:stretch;flex-shrink:0;background:transparent;", ""], function (_ref) {
6
+ var $overlay = _ref.$overlay;
7
+ return $overlay ? "\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n z-index: 2;\n " : '';
8
+ });
9
+ export var SCPageHeaderStart = styled.div.withConfig({
10
+ displayName: "ChatAIPageHeaderstyles__SCPageHeaderStart",
11
+ componentId: "sc-11cr9wi-1"
12
+ })(["display:flex;align-items:center;gap:8px;min-width:0;"]);
13
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJTQ1BhZ2VIZWFkZXIiLCJoZWFkZXIiLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsIl9yZWYiLCIkb3ZlcmxheSIsIlNDUGFnZUhlYWRlclN0YXJ0IiwiZGl2Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvb3JnYW5pc21zL0NoYXRBSVBhZ2UvQ2hhdEFJUGFnZUhlYWRlci5zdHlsZXMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnXG5cbmV4cG9ydCBjb25zdCBTQ1BhZ2VIZWFkZXIgPSBzdHlsZWQuaGVhZGVyPHsgJG92ZXJsYXk/OiBib29sZWFuIH0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiA4cHggMTZweDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICBmbGV4LXNocmluazogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICR7KHsgJG92ZXJsYXkgfSkgPT5cbiAgICAkb3ZlcmxheVxuICAgICAgPyBgXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6IDI7XG4gIGBcbiAgICAgIDogJyd9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ1BhZ2VIZWFkZXJTdGFydCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuICBtaW4td2lkdGg6IDA7XG5gXG4iXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLE1BQU0sTUFBTSxtQkFBbUI7QUFFdEMsT0FBTyxJQUFNQyxZQUFZLEdBQUdELE1BQU0sQ0FBQ0UsTUFBTSxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLG9KQVFyQyxVQUFBQyxJQUFBO0VBQUEsSUFBR0MsUUFBUSxHQUFBRCxJQUFBLENBQVJDLFFBQVE7RUFBQSxPQUNYQSxRQUFRLGdHQVFKLEVBQUU7QUFBQSxFQUNUO0FBRUQsT0FBTyxJQUFNQyxpQkFBaUIsR0FBR1IsTUFBTSxDQUFDUyxHQUFHLENBQUFOLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsNERBSzFDIiwiaWdub3JlTGlzdCI6W119
@@ -0,0 +1,217 @@
1
+ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
2
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
+ import { useLayoutEffect, useMemo, useRef, useState } from 'react';
4
+ import { Tooltip } from '@projectcor/tooltipv2/lib/components/Tooltip';
5
+ import { ChatDisclaimerMessage } from '../../atoms/ChatDisclaimerMessage';
6
+ import { ChatFooter } from '../../molecules/ChatFooter/ChatFooter';
7
+ import { useGlobalContext } from '../../../context/global-context';
8
+ import { useT } from '../../../hooks/useT';
9
+ import { useUser } from '../../../context/cor-user';
10
+ import { validateIsMaia } from '../../../services/utils/validateIsMaia';
11
+ import { renderActionIcon } from '../../../utils/actionIconMap';
12
+ import { getDaypart } from './getDaypart';
13
+ import { PAGE_HOME_MOCK_CARDS } from './pageHomeMockCards';
14
+ import { SCPageHomeActions, SCPageHomeActionsReveal, SCPageHomeAgentAuthor, SCPageHomeAgentIntro, SCPageHomeCard, SCPageHomeCardCopy, SCPageHomeCardIcon, SCPageHomeCardSubtitle, SCPageHomeCardTitle, SCPageHomeCenter, SCPageHomeComposer, SCPageHomeDisclaimer, SCPageHomeGlowBlueInner, SCPageHomeGlowBlueOuter, SCPageHomeGlowLayer, SCPageHomeGlowViolet, SCPageHomeGreeting, SCPageHomeInput, SCPageHomeLeaveBubble, SCPageHomeLeaveFooter, SCPageHomeLeaveMessage, SCPageHomeRoot, SCPageHomeSubtitle, SCPageHomeWelcome, SCPageHomeWelcomeReveal } from './ChatAIPageHome.styles';
15
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
16
+ var getAgentIntroduction = function getAgentIntroduction(introduction) {
17
+ if (Array.isArray(introduction)) {
18
+ return introduction.filter(function (item) {
19
+ return typeof item === 'string' && item.trim().length > 0;
20
+ }).join(' ');
21
+ }
22
+ return typeof introduction === 'string' ? introduction : '';
23
+ };
24
+ var LEAVE_MS = 600;
25
+ export var ChatAIPageHome = function ChatAIPageHome(_ref) {
26
+ var onSendMessage = _ref.onSendMessage,
27
+ onLeaveStart = _ref.onLeaveStart;
28
+ var _useT = useT(),
29
+ t = _useT.t;
30
+ var user = useUser();
31
+ var _useGlobalContext = useGlobalContext(),
32
+ agent = _useGlobalContext.agent;
33
+ var isMAIA = validateIsMaia(agent);
34
+ var showActionCards = isMAIA;
35
+ var daypart = useMemo(function () {
36
+ return getDaypart();
37
+ }, []);
38
+ var greeting = t("pageHome.greeting.".concat(daypart), {
39
+ name: user.firstName
40
+ });
41
+ var introduction = useMemo(function () {
42
+ return getAgentIntroduction(agent === null || agent === void 0 ? void 0 : agent.introduction);
43
+ }, [agent === null || agent === void 0 ? void 0 : agent.introduction]);
44
+ var disclaimerMessage = isMAIA ? t('chat.footer.disclaimer', {
45
+ agentName: t('globals.brandName')
46
+ }) : t('chat.footer.disclaimerAgent');
47
+ var _useState = useState(false),
48
+ _useState2 = _slicedToArray(_useState, 2),
49
+ leaving = _useState2[0],
50
+ setLeaving = _useState2[1];
51
+ var _useState3 = useState(''),
52
+ _useState4 = _slicedToArray(_useState3, 2),
53
+ leaveText = _useState4[0],
54
+ setLeaveText = _useState4[1];
55
+ var inputRef = useRef(null);
56
+ var messageRef = useRef(null);
57
+ var firstInputTopRef = useRef(0);
58
+ var pendingSendRef = useRef(null);
59
+ var onSendMessageRef = useRef(onSendMessage);
60
+ onSendMessageRef.current = onSendMessage;
61
+ var handleSend = function handleSend() {
62
+ var _inputRef$current$get, _inputRef$current;
63
+ if (leaving) return;
64
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
65
+ args[_key] = arguments[_key];
66
+ }
67
+ var message = args[0];
68
+ pendingSendRef.current = args;
69
+ firstInputTopRef.current = (_inputRef$current$get = (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.getBoundingClientRect().top) !== null && _inputRef$current$get !== void 0 ? _inputRef$current$get : 0;
70
+ setLeaveText(message);
71
+ onLeaveStart === null || onLeaveStart === void 0 || onLeaveStart();
72
+ setLeaving(true);
73
+ };
74
+ var renderActionCards = function renderActionCards() {
75
+ var isLeaving = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
76
+ if (!showActionCards) return null;
77
+ return /*#__PURE__*/_jsx(SCPageHomeActionsReveal, {
78
+ $leaving: isLeaving,
79
+ children: /*#__PURE__*/_jsx(SCPageHomeActions, {
80
+ children: PAGE_HOME_MOCK_CARDS.map(function (card) {
81
+ return /*#__PURE__*/_jsxs(SCPageHomeCard, {
82
+ type: "button",
83
+ onClick: function onClick() {
84
+ return handleSend(t(card.titleKey));
85
+ },
86
+ children: [/*#__PURE__*/_jsx(SCPageHomeCardIcon, {
87
+ "aria-hidden": true,
88
+ children: renderActionIcon(card.icon, {
89
+ width: 18,
90
+ height: 18
91
+ })
92
+ }), /*#__PURE__*/_jsxs(SCPageHomeCardCopy, {
93
+ children: [/*#__PURE__*/_jsx(SCPageHomeCardTitle, {
94
+ children: t(card.titleKey)
95
+ }), /*#__PURE__*/_jsx(SCPageHomeCardSubtitle, {
96
+ children: t(card.subtitleKey)
97
+ })]
98
+ })]
99
+ }, card.id);
100
+ })
101
+ })
102
+ });
103
+ };
104
+ useLayoutEffect(function () {
105
+ if (!leaving) return undefined;
106
+ var inputEl = inputRef.current;
107
+ var messageEl = messageRef.current;
108
+ var firstTop = firstInputTopRef.current;
109
+ if (inputEl) {
110
+ var dy = firstTop - inputEl.getBoundingClientRect().top;
111
+ inputEl.style.transform = "translateY(".concat(dy, "px)");
112
+ inputEl.style.transition = 'none';
113
+ }
114
+ if (messageEl) {
115
+ var startY = firstTop - messageEl.getBoundingClientRect().top;
116
+ messageEl.style.transform = "translateY(".concat(startY, "px)");
117
+ messageEl.style.opacity = '0';
118
+ messageEl.style.transition = 'none';
119
+ }
120
+ var innerPlay = 0;
121
+ var play = window.requestAnimationFrame(function () {
122
+ innerPlay = window.requestAnimationFrame(function () {
123
+ if (inputEl) {
124
+ inputEl.style.transition = "transform ".concat(LEAVE_MS, "ms cubic-bezier(0.32, 0.72, 0, 1)");
125
+ inputEl.style.transform = 'translateY(0)';
126
+ }
127
+ if (messageEl) {
128
+ messageEl.style.transition = "transform ".concat(LEAVE_MS, "ms cubic-bezier(0.32, 0.72, 0, 1), opacity 160ms ease-out");
129
+ messageEl.style.transform = 'translateY(0)';
130
+ messageEl.style.opacity = '1';
131
+ }
132
+ });
133
+ });
134
+ var done = window.setTimeout(function () {
135
+ var pending = pendingSendRef.current;
136
+ pendingSendRef.current = null;
137
+ if (pending) {
138
+ onSendMessageRef.current.apply(onSendMessageRef, _toConsumableArray(pending));
139
+ }
140
+ }, LEAVE_MS + 40);
141
+ return function () {
142
+ window.cancelAnimationFrame(play);
143
+ window.cancelAnimationFrame(innerPlay);
144
+ window.clearTimeout(done);
145
+ };
146
+ }, [leaving]);
147
+ return /*#__PURE__*/_jsxs(SCPageHomeRoot, {
148
+ children: [/*#__PURE__*/_jsxs(SCPageHomeGlowLayer, {
149
+ $leaving: leaving,
150
+ "aria-hidden": true,
151
+ children: [/*#__PURE__*/_jsx(SCPageHomeGlowBlueOuter, {}), /*#__PURE__*/_jsx(SCPageHomeGlowBlueInner, {}), /*#__PURE__*/_jsx(SCPageHomeGlowViolet, {})]
152
+ }), /*#__PURE__*/_jsxs(SCPageHomeCenter, {
153
+ $leaving: leaving,
154
+ children: [leaving ? /*#__PURE__*/_jsx(SCPageHomeLeaveMessage, {
155
+ ref: messageRef,
156
+ children: /*#__PURE__*/_jsx(SCPageHomeLeaveBubble, {
157
+ children: leaveText
158
+ })
159
+ }) : null, /*#__PURE__*/_jsx(SCPageHomeWelcomeReveal, {
160
+ $leaving: leaving,
161
+ children: /*#__PURE__*/_jsx(SCPageHomeWelcome, {
162
+ $agent: !isMAIA,
163
+ children: isMAIA ? /*#__PURE__*/_jsxs(_Fragment, {
164
+ children: [/*#__PURE__*/_jsx(SCPageHomeGreeting, {
165
+ children: greeting
166
+ }), /*#__PURE__*/_jsx(SCPageHomeSubtitle, {
167
+ children: t('pageHome.subtitle')
168
+ })]
169
+ }) : /*#__PURE__*/_jsxs(_Fragment, {
170
+ children: [/*#__PURE__*/_jsx(SCPageHomeSubtitle, {
171
+ children: agent === null || agent === void 0 ? void 0 : agent.name
172
+ }), agent !== null && agent !== void 0 && agent.created_by ? /*#__PURE__*/_jsx(Tooltip, {
173
+ title: agent.created_by.is_deleted ? t('homeMenu.createdByTooltipDeleted') : t('homeMenu.createdByTooltip'),
174
+ children: /*#__PURE__*/_jsx(SCPageHomeAgentAuthor, {
175
+ children: t('pageHome.createdBy', {
176
+ name: agent.created_by.name
177
+ })
178
+ })
179
+ }) : null, introduction ? /*#__PURE__*/_jsx(SCPageHomeAgentIntro, {
180
+ children: introduction
181
+ }) : null]
182
+ })
183
+ })
184
+ }), leaving ? renderActionCards(true) : /*#__PURE__*/_jsxs(SCPageHomeComposer, {
185
+ children: [/*#__PURE__*/_jsx(SCPageHomeInput, {
186
+ ref: inputRef,
187
+ children: /*#__PURE__*/_jsx(ChatFooter, {
188
+ onSendMessage: handleSend,
189
+ hideDisclaimer: true
190
+ })
191
+ }), renderActionCards()]
192
+ })]
193
+ }), leaving ? /*#__PURE__*/_jsxs(SCPageHomeLeaveFooter, {
194
+ children: [/*#__PURE__*/_jsx(SCPageHomeComposer, {
195
+ $leaving: true,
196
+ children: /*#__PURE__*/_jsx(SCPageHomeInput, {
197
+ ref: inputRef,
198
+ children: /*#__PURE__*/_jsx(ChatFooter, {
199
+ onSendMessage: handleSend,
200
+ hideDisclaimer: true,
201
+ disabled: true
202
+ })
203
+ })
204
+ }), /*#__PURE__*/_jsx(SCPageHomeDisclaimer, {
205
+ $compact: true,
206
+ children: /*#__PURE__*/_jsx(ChatDisclaimerMessage, {
207
+ message: disclaimerMessage
208
+ })
209
+ })]
210
+ }) : /*#__PURE__*/_jsx(SCPageHomeDisclaimer, {
211
+ children: /*#__PURE__*/_jsx(ChatDisclaimerMessage, {
212
+ message: disclaimerMessage
213
+ })
214
+ })]
215
+ });
216
+ };
217
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VMYXlvdXRFZmZlY3QiLCJ1c2VNZW1vIiwidXNlUmVmIiwidXNlU3RhdGUiLCJUb29sdGlwIiwiQ2hhdERpc2NsYWltZXJNZXNzYWdlIiwiQ2hhdEZvb3RlciIsInVzZUdsb2JhbENvbnRleHQiLCJ1c2VUIiwidXNlVXNlciIsInZhbGlkYXRlSXNNYWlhIiwicmVuZGVyQWN0aW9uSWNvbiIsImdldERheXBhcnQiLCJQQUdFX0hPTUVfTU9DS19DQVJEUyIsIlNDUGFnZUhvbWVBY3Rpb25zIiwiU0NQYWdlSG9tZUFjdGlvbnNSZXZlYWwiLCJTQ1BhZ2VIb21lQWdlbnRBdXRob3IiLCJTQ1BhZ2VIb21lQWdlbnRJbnRybyIsIlNDUGFnZUhvbWVDYXJkIiwiU0NQYWdlSG9tZUNhcmRDb3B5IiwiU0NQYWdlSG9tZUNhcmRJY29uIiwiU0NQYWdlSG9tZUNhcmRTdWJ0aXRsZSIsIlNDUGFnZUhvbWVDYXJkVGl0bGUiLCJTQ1BhZ2VIb21lQ2VudGVyIiwiU0NQYWdlSG9tZUNvbXBvc2VyIiwiU0NQYWdlSG9tZURpc2NsYWltZXIiLCJTQ1BhZ2VIb21lR2xvd0JsdWVJbm5lciIsIlNDUGFnZUhvbWVHbG93Qmx1ZU91dGVyIiwiU0NQYWdlSG9tZUdsb3dMYXllciIsIlNDUGFnZUhvbWVHbG93VmlvbGV0IiwiU0NQYWdlSG9tZUdyZWV0aW5nIiwiU0NQYWdlSG9tZUlucHV0IiwiU0NQYWdlSG9tZUxlYXZlQnViYmxlIiwiU0NQYWdlSG9tZUxlYXZlRm9vdGVyIiwiU0NQYWdlSG9tZUxlYXZlTWVzc2FnZSIsIlNDUGFnZUhvbWVSb290IiwiU0NQYWdlSG9tZVN1YnRpdGxlIiwiU0NQYWdlSG9tZVdlbGNvbWUiLCJTQ1BhZ2VIb21lV2VsY29tZVJldmVhbCIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJGcmFnbWVudCIsIl9GcmFnbWVudCIsImdldEFnZW50SW50cm9kdWN0aW9uIiwiaW50cm9kdWN0aW9uIiwiQXJyYXkiLCJpc0FycmF5IiwiZmlsdGVyIiwiaXRlbSIsInRyaW0iLCJsZW5ndGgiLCJqb2luIiwiTEVBVkVfTVMiLCJDaGF0QUlQYWdlSG9tZSIsIl9yZWYiLCJvblNlbmRNZXNzYWdlIiwib25MZWF2ZVN0YXJ0IiwiX3VzZVQiLCJ0IiwidXNlciIsIl91c2VHbG9iYWxDb250ZXh0IiwiYWdlbnQiLCJpc01BSUEiLCJzaG93QWN0aW9uQ2FyZHMiLCJkYXlwYXJ0IiwiZ3JlZXRpbmciLCJjb25jYXQiLCJuYW1lIiwiZmlyc3ROYW1lIiwiZGlzY2xhaW1lck1lc3NhZ2UiLCJhZ2VudE5hbWUiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJsZWF2aW5nIiwic2V0TGVhdmluZyIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwibGVhdmVUZXh0Iiwic2V0TGVhdmVUZXh0IiwiaW5wdXRSZWYiLCJtZXNzYWdlUmVmIiwiZmlyc3RJbnB1dFRvcFJlZiIsInBlbmRpbmdTZW5kUmVmIiwib25TZW5kTWVzc2FnZVJlZiIsImN1cnJlbnQiLCJoYW5kbGVTZW5kIiwiX2lucHV0UmVmJGN1cnJlbnQkZ2V0IiwiX2lucHV0UmVmJGN1cnJlbnQiLCJfbGVuIiwiYXJndW1lbnRzIiwiYXJncyIsIl9rZXkiLCJtZXNzYWdlIiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwidG9wIiwicmVuZGVyQWN0aW9uQ2FyZHMiLCJpc0xlYXZpbmciLCJ1bmRlZmluZWQiLCIkbGVhdmluZyIsImNoaWxkcmVuIiwibWFwIiwiY2FyZCIsInR5cGUiLCJvbkNsaWNrIiwidGl0bGVLZXkiLCJpY29uIiwid2lkdGgiLCJoZWlnaHQiLCJzdWJ0aXRsZUtleSIsImlkIiwiaW5wdXRFbCIsIm1lc3NhZ2VFbCIsImZpcnN0VG9wIiwiZHkiLCJzdHlsZSIsInRyYW5zZm9ybSIsInRyYW5zaXRpb24iLCJzdGFydFkiLCJvcGFjaXR5IiwiaW5uZXJQbGF5IiwicGxheSIsIndpbmRvdyIsInJlcXVlc3RBbmltYXRpb25GcmFtZSIsImRvbmUiLCJzZXRUaW1lb3V0IiwicGVuZGluZyIsImFwcGx5IiwiX3RvQ29uc3VtYWJsZUFycmF5IiwiY2FuY2VsQW5pbWF0aW9uRnJhbWUiLCJjbGVhclRpbWVvdXQiLCJyZWYiLCIkYWdlbnQiLCJjcmVhdGVkX2J5IiwidGl0bGUiLCJpc19kZWxldGVkIiwiaGlkZURpc2NsYWltZXIiLCJkaXNhYmxlZCIsIiRjb21wYWN0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvb3JnYW5pc21zL0NoYXRBSVBhZ2UvQ2hhdEFJUGFnZUhvbWUudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZUxheW91dEVmZmVjdCwgdXNlTWVtbywgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgVG9vbHRpcCB9IGZyb20gJ0Bwcm9qZWN0Y29yL3Rvb2x0aXB2Mi9saWIvY29tcG9uZW50cy9Ub29sdGlwJ1xuaW1wb3J0IHsgQ2hhdERpc2NsYWltZXJNZXNzYWdlIH0gZnJvbSAnLi4vLi4vYXRvbXMvQ2hhdERpc2NsYWltZXJNZXNzYWdlJ1xuaW1wb3J0IHsgQ2hhdEZvb3RlciB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9DaGF0Rm9vdGVyL0NoYXRGb290ZXInXG5pbXBvcnQgeyB1c2VHbG9iYWxDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vY29udGV4dC9nbG9iYWwtY29udGV4dCdcbmltcG9ydCB7IHVzZVQgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VUJ1xuaW1wb3J0IHsgdXNlVXNlciB9IGZyb20gJy4uLy4uLy4uL2NvbnRleHQvY29yLXVzZXInXG5pbXBvcnQgeyB2YWxpZGF0ZUlzTWFpYSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3V0aWxzL3ZhbGlkYXRlSXNNYWlhJ1xuaW1wb3J0IHsgcmVuZGVyQWN0aW9uSWNvbiB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2FjdGlvbkljb25NYXAnXG5pbXBvcnQgdHlwZSB7IEFnZW50IH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvYWdlbnQnXG5pbXBvcnQgeyBnZXREYXlwYXJ0IH0gZnJvbSAnLi9nZXREYXlwYXJ0J1xuaW1wb3J0IHsgUEFHRV9IT01FX01PQ0tfQ0FSRFMgfSBmcm9tICcuL3BhZ2VIb21lTW9ja0NhcmRzJ1xuaW1wb3J0IHtcbiAgU0NQYWdlSG9tZUFjdGlvbnMsXG4gIFNDUGFnZUhvbWVBY3Rpb25zUmV2ZWFsLFxuICBTQ1BhZ2VIb21lQWdlbnRBdXRob3IsXG4gIFNDUGFnZUhvbWVBZ2VudEludHJvLFxuICBTQ1BhZ2VIb21lQ2FyZCxcbiAgU0NQYWdlSG9tZUNhcmRDb3B5LFxuICBTQ1BhZ2VIb21lQ2FyZEljb24sXG4gIFNDUGFnZUhvbWVDYXJkU3VidGl0bGUsXG4gIFNDUGFnZUhvbWVDYXJkVGl0bGUsXG4gIFNDUGFnZUhvbWVDZW50ZXIsXG4gIFNDUGFnZUhvbWVDb21wb3NlcixcbiAgU0NQYWdlSG9tZURpc2NsYWltZXIsXG4gIFNDUGFnZUhvbWVHbG93Qmx1ZUlubmVyLFxuICBTQ1BhZ2VIb21lR2xvd0JsdWVPdXRlcixcbiAgU0NQYWdlSG9tZUdsb3dMYXllcixcbiAgU0NQYWdlSG9tZUdsb3dWaW9sZXQsXG4gIFNDUGFnZUhvbWVHcmVldGluZyxcbiAgU0NQYWdlSG9tZUlucHV0LFxuICBTQ1BhZ2VIb21lTGVhdmVCdWJibGUsXG4gIFNDUGFnZUhvbWVMZWF2ZUZvb3RlcixcbiAgU0NQYWdlSG9tZUxlYXZlTWVzc2FnZSxcbiAgU0NQYWdlSG9tZVJvb3QsXG4gIFNDUGFnZUhvbWVTdWJ0aXRsZSxcbiAgU0NQYWdlSG9tZVdlbGNvbWUsXG4gIFNDUGFnZUhvbWVXZWxjb21lUmV2ZWFsLFxufSBmcm9tICcuL0NoYXRBSVBhZ2VIb21lLnN0eWxlcydcblxuY29uc3QgZ2V0QWdlbnRJbnRyb2R1Y3Rpb24gPSAoaW50cm9kdWN0aW9uOiBBZ2VudFsnaW50cm9kdWN0aW9uJ10pOiBzdHJpbmcgPT4ge1xuICBpZiAoQXJyYXkuaXNBcnJheShpbnRyb2R1Y3Rpb24pKSB7XG4gICAgcmV0dXJuIGludHJvZHVjdGlvbi5maWx0ZXIoKGl0ZW0pOiBpdGVtIGlzIHN0cmluZyA9PiB0eXBlb2YgaXRlbSA9PT0gJ3N0cmluZycgJiYgaXRlbS50cmltKCkubGVuZ3RoID4gMCkuam9pbignICcpXG4gIH1cbiAgcmV0dXJuIHR5cGVvZiBpbnRyb2R1Y3Rpb24gPT09ICdzdHJpbmcnID8gaW50cm9kdWN0aW9uIDogJydcbn1cblxuY29uc3QgTEVBVkVfTVMgPSA2MDBcblxudHlwZSBTZW5kTWVzc2FnZSA9IFBhcmFtZXRlcnM8dHlwZW9mIENoYXRGb290ZXI+WzBdWydvblNlbmRNZXNzYWdlJ11cblxuaW50ZXJmYWNlIENoYXRBSVBhZ2VIb21lUHJvcHMge1xuICBvblNlbmRNZXNzYWdlOiBTZW5kTWVzc2FnZVxuICBvbkxlYXZlU3RhcnQ/OiAoKSA9PiB2b2lkXG59XG5cbmV4cG9ydCBjb25zdCBDaGF0QUlQYWdlSG9tZSA9ICh7IG9uU2VuZE1lc3NhZ2UsIG9uTGVhdmVTdGFydCB9OiBDaGF0QUlQYWdlSG9tZVByb3BzKSA9PiB7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVCgpXG4gIGNvbnN0IHVzZXIgPSB1c2VVc2VyKClcbiAgY29uc3QgeyBhZ2VudCB9ID0gdXNlR2xvYmFsQ29udGV4dCgpXG4gIGNvbnN0IGlzTUFJQSA9IHZhbGlkYXRlSXNNYWlhKGFnZW50IGFzIEFnZW50KVxuICBjb25zdCBzaG93QWN0aW9uQ2FyZHMgPSBpc01BSUFcbiAgY29uc3QgZGF5cGFydCA9IHVzZU1lbW8oKCkgPT4gZ2V0RGF5cGFydCgpLCBbXSlcbiAgY29uc3QgZ3JlZXRpbmcgPSB0KGBwYWdlSG9tZS5ncmVldGluZy4ke2RheXBhcnR9YCwgeyBuYW1lOiB1c2VyLmZpcnN0TmFtZSB9KVxuICBjb25zdCBpbnRyb2R1Y3Rpb24gPSB1c2VNZW1vKCgpID0+IGdldEFnZW50SW50cm9kdWN0aW9uKGFnZW50Py5pbnRyb2R1Y3Rpb24pLCBbYWdlbnQ/LmludHJvZHVjdGlvbl0pXG5cbiAgY29uc3QgZGlzY2xhaW1lck1lc3NhZ2UgPSBpc01BSUFcbiAgICA/IHQoJ2NoYXQuZm9vdGVyLmRpc2NsYWltZXInLCB7IGFnZW50TmFtZTogdCgnZ2xvYmFscy5icmFuZE5hbWUnKSB9KVxuICAgIDogdCgnY2hhdC5mb290ZXIuZGlzY2xhaW1lckFnZW50JylcblxuICBjb25zdCBbbGVhdmluZywgc2V0TGVhdmluZ10gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW2xlYXZlVGV4dCwgc2V0TGVhdmVUZXh0XSA9IHVzZVN0YXRlKCcnKVxuICBjb25zdCBpbnB1dFJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbClcbiAgY29uc3QgbWVzc2FnZVJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbClcbiAgY29uc3QgZmlyc3RJbnB1dFRvcFJlZiA9IHVzZVJlZigwKVxuICBjb25zdCBwZW5kaW5nU2VuZFJlZiA9IHVzZVJlZjxQYXJhbWV0ZXJzPFNlbmRNZXNzYWdlPiB8IG51bGw+KG51bGwpXG4gIGNvbnN0IG9uU2VuZE1lc3NhZ2VSZWYgPSB1c2VSZWYob25TZW5kTWVzc2FnZSlcbiAgb25TZW5kTWVzc2FnZVJlZi5jdXJyZW50ID0gb25TZW5kTWVzc2FnZVxuXG4gIGNvbnN0IGhhbmRsZVNlbmQ6IFNlbmRNZXNzYWdlID0gKC4uLmFyZ3MpID0+IHtcbiAgICBpZiAobGVhdmluZykgcmV0dXJuXG4gICAgY29uc3QgW21lc3NhZ2VdID0gYXJnc1xuICAgIHBlbmRpbmdTZW5kUmVmLmN1cnJlbnQgPSBhcmdzXG4gICAgZmlyc3RJbnB1dFRvcFJlZi5jdXJyZW50ID0gaW5wdXRSZWYuY3VycmVudD8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wID8/IDBcbiAgICBzZXRMZWF2ZVRleHQobWVzc2FnZSlcbiAgICBvbkxlYXZlU3RhcnQ/LigpXG4gICAgc2V0TGVhdmluZyh0cnVlKVxuICB9XG5cbiAgY29uc3QgcmVuZGVyQWN0aW9uQ2FyZHMgPSAoaXNMZWF2aW5nID0gZmFsc2UpID0+IHtcbiAgICBpZiAoIXNob3dBY3Rpb25DYXJkcykgcmV0dXJuIG51bGxcbiAgICByZXR1cm4gKFxuICAgICAgPFNDUGFnZUhvbWVBY3Rpb25zUmV2ZWFsICRsZWF2aW5nPXtpc0xlYXZpbmd9PlxuICAgICAgICA8U0NQYWdlSG9tZUFjdGlvbnM+XG4gICAgICAgICAge1BBR0VfSE9NRV9NT0NLX0NBUkRTLm1hcChjYXJkID0+IChcbiAgICAgICAgICAgIDxTQ1BhZ2VIb21lQ2FyZCBrZXk9e2NhcmQuaWR9IHR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXsoKSA9PiBoYW5kbGVTZW5kKHQoY2FyZC50aXRsZUtleSkpfT5cbiAgICAgICAgICAgICAgPFNDUGFnZUhvbWVDYXJkSWNvbiBhcmlhLWhpZGRlbj5cbiAgICAgICAgICAgICAgICB7cmVuZGVyQWN0aW9uSWNvbihjYXJkLmljb24sIHsgd2lkdGg6IDE4LCBoZWlnaHQ6IDE4IH0pfVxuICAgICAgICAgICAgICA8L1NDUGFnZUhvbWVDYXJkSWNvbj5cbiAgICAgICAgICAgICAgPFNDUGFnZUhvbWVDYXJkQ29weT5cbiAgICAgICAgICAgICAgICA8U0NQYWdlSG9tZUNhcmRUaXRsZT57dChjYXJkLnRpdGxlS2V5KX08L1NDUGFnZUhvbWVDYXJkVGl0bGU+XG4gICAgICAgICAgICAgICAgPFNDUGFnZUhvbWVDYXJkU3VidGl0bGU+e3QoY2FyZC5zdWJ0aXRsZUtleSl9PC9TQ1BhZ2VIb21lQ2FyZFN1YnRpdGxlPlxuICAgICAgICAgICAgICA8L1NDUGFnZUhvbWVDYXJkQ29weT5cbiAgICAgICAgICAgIDwvU0NQYWdlSG9tZUNhcmQ+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvU0NQYWdlSG9tZUFjdGlvbnM+XG4gICAgICA8L1NDUGFnZUhvbWVBY3Rpb25zUmV2ZWFsPlxuICAgIClcbiAgfVxuXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFsZWF2aW5nKSByZXR1cm4gdW5kZWZpbmVkXG5cbiAgICBjb25zdCBpbnB1dEVsID0gaW5wdXRSZWYuY3VycmVudFxuICAgIGNvbnN0IG1lc3NhZ2VFbCA9IG1lc3NhZ2VSZWYuY3VycmVudFxuICAgIGNvbnN0IGZpcnN0VG9wID0gZmlyc3RJbnB1dFRvcFJlZi5jdXJyZW50XG5cbiAgICBpZiAoaW5wdXRFbCkge1xuICAgICAgY29uc3QgZHkgPSBmaXJzdFRvcCAtIGlucHV0RWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wXG4gICAgICBpbnB1dEVsLnN0eWxlLnRyYW5zZm9ybSA9IGB0cmFuc2xhdGVZKCR7ZHl9cHgpYFxuICAgICAgaW5wdXRFbC5zdHlsZS50cmFuc2l0aW9uID0gJ25vbmUnXG4gICAgfVxuXG4gICAgaWYgKG1lc3NhZ2VFbCkge1xuICAgICAgY29uc3Qgc3RhcnRZID0gZmlyc3RUb3AgLSBtZXNzYWdlRWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wXG4gICAgICBtZXNzYWdlRWwuc3R5bGUudHJhbnNmb3JtID0gYHRyYW5zbGF0ZVkoJHtzdGFydFl9cHgpYFxuICAgICAgbWVzc2FnZUVsLnN0eWxlLm9wYWNpdHkgPSAnMCdcbiAgICAgIG1lc3NhZ2VFbC5zdHlsZS50cmFuc2l0aW9uID0gJ25vbmUnXG4gICAgfVxuXG4gICAgbGV0IGlubmVyUGxheSA9IDBcbiAgICBjb25zdCBwbGF5ID0gd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICBpbm5lclBsYXkgPSB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgaWYgKGlucHV0RWwpIHtcbiAgICAgICAgICBpbnB1dEVsLnN0eWxlLnRyYW5zaXRpb24gPSBgdHJhbnNmb3JtICR7TEVBVkVfTVN9bXMgY3ViaWMtYmV6aWVyKDAuMzIsIDAuNzIsIDAsIDEpYFxuICAgICAgICAgIGlucHV0RWwuc3R5bGUudHJhbnNmb3JtID0gJ3RyYW5zbGF0ZVkoMCknXG4gICAgICAgIH1cbiAgICAgICAgaWYgKG1lc3NhZ2VFbCkge1xuICAgICAgICAgIG1lc3NhZ2VFbC5zdHlsZS50cmFuc2l0aW9uID0gYHRyYW5zZm9ybSAke0xFQVZFX01TfW1zIGN1YmljLWJlemllcigwLjMyLCAwLjcyLCAwLCAxKSwgb3BhY2l0eSAxNjBtcyBlYXNlLW91dGBcbiAgICAgICAgICBtZXNzYWdlRWwuc3R5bGUudHJhbnNmb3JtID0gJ3RyYW5zbGF0ZVkoMCknXG4gICAgICAgICAgbWVzc2FnZUVsLnN0eWxlLm9wYWNpdHkgPSAnMSdcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9KVxuXG4gICAgY29uc3QgZG9uZSA9IHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGNvbnN0IHBlbmRpbmcgPSBwZW5kaW5nU2VuZFJlZi5jdXJyZW50XG4gICAgICBwZW5kaW5nU2VuZFJlZi5jdXJyZW50ID0gbnVsbFxuICAgICAgaWYgKHBlbmRpbmcpIHtcbiAgICAgICAgb25TZW5kTWVzc2FnZVJlZi5jdXJyZW50KC4uLnBlbmRpbmcpXG4gICAgICB9XG4gICAgfSwgTEVBVkVfTVMgKyA0MClcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICB3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUocGxheSlcbiAgICAgIHdpbmRvdy5jYW5jZWxBbmltYXRpb25GcmFtZShpbm5lclBsYXkpXG4gICAgICB3aW5kb3cuY2xlYXJUaW1lb3V0KGRvbmUpXG4gICAgfVxuICB9LCBbbGVhdmluZ10pXG5cbiAgcmV0dXJuIChcbiAgICA8U0NQYWdlSG9tZVJvb3Q+XG4gICAgICA8U0NQYWdlSG9tZUdsb3dMYXllciAkbGVhdmluZz17bGVhdmluZ30gYXJpYS1oaWRkZW4+XG4gICAgICAgIDxTQ1BhZ2VIb21lR2xvd0JsdWVPdXRlciAvPlxuICAgICAgICA8U0NQYWdlSG9tZUdsb3dCbHVlSW5uZXIgLz5cbiAgICAgICAgPFNDUGFnZUhvbWVHbG93VmlvbGV0IC8+XG4gICAgICA8L1NDUGFnZUhvbWVHbG93TGF5ZXI+XG4gICAgICA8U0NQYWdlSG9tZUNlbnRlciAkbGVhdmluZz17bGVhdmluZ30+XG4gICAgICAgIHtsZWF2aW5nID8gKFxuICAgICAgICAgIDxTQ1BhZ2VIb21lTGVhdmVNZXNzYWdlIHJlZj17bWVzc2FnZVJlZn0+XG4gICAgICAgICAgICA8U0NQYWdlSG9tZUxlYXZlQnViYmxlPntsZWF2ZVRleHR9PC9TQ1BhZ2VIb21lTGVhdmVCdWJibGU+XG4gICAgICAgICAgPC9TQ1BhZ2VIb21lTGVhdmVNZXNzYWdlPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPFNDUGFnZUhvbWVXZWxjb21lUmV2ZWFsICRsZWF2aW5nPXtsZWF2aW5nfT5cbiAgICAgICAgICA8U0NQYWdlSG9tZVdlbGNvbWUgJGFnZW50PXshaXNNQUlBfT5cbiAgICAgICAgICAgIHtpc01BSUEgPyAoXG4gICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgPFNDUGFnZUhvbWVHcmVldGluZz57Z3JlZXRpbmd9PC9TQ1BhZ2VIb21lR3JlZXRpbmc+XG4gICAgICAgICAgICAgICAgPFNDUGFnZUhvbWVTdWJ0aXRsZT57dCgncGFnZUhvbWUuc3VidGl0bGUnKX08L1NDUGFnZUhvbWVTdWJ0aXRsZT5cbiAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgIDxTQ1BhZ2VIb21lU3VidGl0bGU+e2FnZW50Py5uYW1lfTwvU0NQYWdlSG9tZVN1YnRpdGxlPlxuICAgICAgICAgICAgICAgIHthZ2VudD8uY3JlYXRlZF9ieSA/IChcbiAgICAgICAgICAgICAgICAgIDxUb29sdGlwXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlPXtcbiAgICAgICAgICAgICAgICAgICAgICBhZ2VudC5jcmVhdGVkX2J5LmlzX2RlbGV0ZWRcbiAgICAgICAgICAgICAgICAgICAgICAgID8gdCgnaG9tZU1lbnUuY3JlYXRlZEJ5VG9vbHRpcERlbGV0ZWQnKVxuICAgICAgICAgICAgICAgICAgICAgICAgOiB0KCdob21lTWVudS5jcmVhdGVkQnlUb29sdGlwJylcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8U0NQYWdlSG9tZUFnZW50QXV0aG9yPlxuICAgICAgICAgICAgICAgICAgICAgIHt0KCdwYWdlSG9tZS5jcmVhdGVkQnknLCB7IG5hbWU6IGFnZW50LmNyZWF0ZWRfYnkubmFtZSB9KX1cbiAgICAgICAgICAgICAgICAgICAgPC9TQ1BhZ2VIb21lQWdlbnRBdXRob3I+XG4gICAgICAgICAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgICAge2ludHJvZHVjdGlvbiA/IDxTQ1BhZ2VIb21lQWdlbnRJbnRybz57aW50cm9kdWN0aW9ufTwvU0NQYWdlSG9tZUFnZW50SW50cm8+IDogbnVsbH1cbiAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvU0NQYWdlSG9tZVdlbGNvbWU+XG4gICAgICAgIDwvU0NQYWdlSG9tZVdlbGNvbWVSZXZlYWw+XG4gICAgICAgIHtsZWF2aW5nID8gKFxuICAgICAgICAgIHJlbmRlckFjdGlvbkNhcmRzKHRydWUpXG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFNDUGFnZUhvbWVDb21wb3Nlcj5cbiAgICAgICAgICAgIDxTQ1BhZ2VIb21lSW5wdXQgcmVmPXtpbnB1dFJlZn0+XG4gICAgICAgICAgICAgIDxDaGF0Rm9vdGVyIG9uU2VuZE1lc3NhZ2U9e2hhbmRsZVNlbmR9IGhpZGVEaXNjbGFpbWVyIC8+XG4gICAgICAgICAgICA8L1NDUGFnZUhvbWVJbnB1dD5cbiAgICAgICAgICAgIHtyZW5kZXJBY3Rpb25DYXJkcygpfVxuICAgICAgICAgIDwvU0NQYWdlSG9tZUNvbXBvc2VyPlxuICAgICAgICApfVxuICAgICAgPC9TQ1BhZ2VIb21lQ2VudGVyPlxuICAgICAge2xlYXZpbmcgPyAoXG4gICAgICAgIDxTQ1BhZ2VIb21lTGVhdmVGb290ZXI+XG4gICAgICAgICAgPFNDUGFnZUhvbWVDb21wb3NlciAkbGVhdmluZz5cbiAgICAgICAgICAgIDxTQ1BhZ2VIb21lSW5wdXQgcmVmPXtpbnB1dFJlZn0+XG4gICAgICAgICAgICAgIDxDaGF0Rm9vdGVyIG9uU2VuZE1lc3NhZ2U9e2hhbmRsZVNlbmR9IGhpZGVEaXNjbGFpbWVyIGRpc2FibGVkIC8+XG4gICAgICAgICAgICA8L1NDUGFnZUhvbWVJbnB1dD5cbiAgICAgICAgICA8L1NDUGFnZUhvbWVDb21wb3Nlcj5cbiAgICAgICAgICA8U0NQYWdlSG9tZURpc2NsYWltZXIgJGNvbXBhY3Q+XG4gICAgICAgICAgICA8Q2hhdERpc2NsYWltZXJNZXNzYWdlIG1lc3NhZ2U9e2Rpc2NsYWltZXJNZXNzYWdlfSAvPlxuICAgICAgICAgIDwvU0NQYWdlSG9tZURpc2NsYWltZXI+XG4gICAgICAgIDwvU0NQYWdlSG9tZUxlYXZlRm9vdGVyPlxuICAgICAgKSA6IChcbiAgICAgICAgPFNDUGFnZUhvbWVEaXNjbGFpbWVyPlxuICAgICAgICAgIDxDaGF0RGlzY2xhaW1lck1lc3NhZ2UgbWVzc2FnZT17ZGlzY2xhaW1lck1lc3NhZ2V9IC8+XG4gICAgICAgIDwvU0NQYWdlSG9tZURpc2NsYWltZXI+XG4gICAgICApfVxuICAgIDwvU0NQYWdlSG9tZVJvb3Q+XG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7QUFBQSxTQUFTQSxlQUFlLEVBQUVDLE9BQU8sRUFBRUMsTUFBTSxFQUFFQyxRQUFRLFFBQVEsT0FBTztBQUNsRSxTQUFTQyxPQUFPLFFBQVEsOENBQThDO0FBQ3RFLFNBQVNDLHFCQUFxQixRQUFRLG1DQUFtQztBQUN6RSxTQUFTQyxVQUFVLFFBQVEsdUNBQXVDO0FBQ2xFLFNBQVNDLGdCQUFnQixRQUFRLGlDQUFpQztBQUNsRSxTQUFTQyxJQUFJLFFBQVEscUJBQXFCO0FBQzFDLFNBQVNDLE9BQU8sUUFBUSwyQkFBMkI7QUFDbkQsU0FBU0MsY0FBYyxRQUFRLHdDQUF3QztBQUN2RSxTQUFTQyxnQkFBZ0IsUUFBUSw4QkFBOEI7QUFFL0QsU0FBU0MsVUFBVSxRQUFRLGNBQWM7QUFD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
@@ -0,0 +1,102 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
+ import { act, fireEvent, renderWithProviders, screen } from '../../../test/test-utils';
5
+ import { GlobalContextTestProvider, testAgent } from '../../../test/global-context';
6
+ import { ChatAIPageHome } from './ChatAIPageHome';
7
+ import { jsx as _jsx } from "react/jsx-runtime";
8
+ jest.mock('./getDaypart', function () {
9
+ return {
10
+ getDaypart: function getDaypart() {
11
+ return 'morning';
12
+ }
13
+ };
14
+ });
15
+ jest.mock('../../../utils/actionIconMap', function () {
16
+ return {
17
+ renderActionIcon: function renderActionIcon() {
18
+ return null;
19
+ }
20
+ };
21
+ });
22
+ jest.mock('../../molecules/ChatFooter/ChatFooter', function () {
23
+ return {
24
+ ChatFooter: function ChatFooter(_ref) {
25
+ var onSendMessage = _ref.onSendMessage,
26
+ disabled = _ref.disabled;
27
+ return /*#__PURE__*/_jsx("button", {
28
+ type: "button",
29
+ disabled: disabled,
30
+ onClick: function onClick() {
31
+ return onSendMessage('hola');
32
+ },
33
+ children: "send"
34
+ });
35
+ }
36
+ };
37
+ });
38
+ jest.mock('../../../context/cor-user', function () {
39
+ return {
40
+ useUser: function useUser() {
41
+ return {
42
+ id: 99,
43
+ firstName: 'Ada',
44
+ role_id: 3
45
+ };
46
+ }
47
+ };
48
+ });
49
+ describe('ChatAIPageHome', function () {
50
+ beforeEach(function () {
51
+ jest.useFakeTimers();
52
+ });
53
+ afterEach(function () {
54
+ jest.useRealTimers();
55
+ });
56
+ it('greets MAIA users and shows the action cards', function () {
57
+ renderWithProviders(/*#__PURE__*/_jsx(GlobalContextTestProvider, {
58
+ children: /*#__PURE__*/_jsx(ChatAIPageHome, {
59
+ onSendMessage: jest.fn()
60
+ })
61
+ }));
62
+ expect(screen.getByText('pageHome.greeting.morning')).toBeInTheDocument();
63
+ expect(screen.getByText('pageHome.subtitle')).toBeInTheDocument();
64
+ expect(screen.getByText('pageHome.cards.hours.title')).toBeInTheDocument();
65
+ });
66
+ it('shows a custom agent without action cards', function () {
67
+ renderWithProviders(/*#__PURE__*/_jsx(GlobalContextTestProvider, {
68
+ value: {
69
+ agent: _objectSpread(_objectSpread({}, testAgent), {}, {
70
+ type: 'custom',
71
+ name: 'Legal'
72
+ })
73
+ },
74
+ children: /*#__PURE__*/_jsx(ChatAIPageHome, {
75
+ onSendMessage: jest.fn()
76
+ })
77
+ }));
78
+ expect(screen.getByText('Legal')).toBeInTheDocument();
79
+ expect(screen.queryByText('pageHome.cards.hours.title')).not.toBeInTheDocument();
80
+ });
81
+ it('starts the leave animation and then sends the message', function () {
82
+ var onSendMessage = jest.fn();
83
+ var onLeaveStart = jest.fn();
84
+ renderWithProviders(/*#__PURE__*/_jsx(GlobalContextTestProvider, {
85
+ children: /*#__PURE__*/_jsx(ChatAIPageHome, {
86
+ onSendMessage: onSendMessage,
87
+ onLeaveStart: onLeaveStart
88
+ })
89
+ }));
90
+ fireEvent.click(screen.getByRole('button', {
91
+ name: 'send'
92
+ }));
93
+ expect(onLeaveStart).toHaveBeenCalled();
94
+ expect(onSendMessage).not.toHaveBeenCalled();
95
+ expect(screen.getByText('hola')).toBeInTheDocument();
96
+ act(function () {
97
+ jest.advanceTimersByTime(700);
98
+ });
99
+ expect(onSendMessage).toHaveBeenCalledWith('hola');
100
+ });
101
+ });
102
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJhY3QiLCJmaXJlRXZlbnQiLCJyZW5kZXJXaXRoUHJvdmlkZXJzIiwic2NyZWVuIiwiR2xvYmFsQ29udGV4dFRlc3RQcm92aWRlciIsInRlc3RBZ2VudCIsIkNoYXRBSVBhZ2VIb21lIiwianN4IiwiX2pzeCIsImplc3QiLCJtb2NrIiwiZ2V0RGF5cGFydCIsInJlbmRlckFjdGlvbkljb24iLCJDaGF0Rm9vdGVyIiwiX3JlZiIsIm9uU2VuZE1lc3NhZ2UiLCJkaXNhYmxlZCIsInR5cGUiLCJvbkNsaWNrIiwiY2hpbGRyZW4iLCJ1c2VVc2VyIiwiaWQiLCJmaXJzdE5hbWUiLCJyb2xlX2lkIiwiZGVzY3JpYmUiLCJiZWZvcmVFYWNoIiwidXNlRmFrZVRpbWVycyIsImFmdGVyRWFjaCIsInVzZVJlYWxUaW1lcnMiLCJpdCIsImZuIiwiZXhwZWN0IiwiZ2V0QnlUZXh0IiwidG9CZUluVGhlRG9jdW1lbnQiLCJ2YWx1ZSIsImFnZW50IiwiX29iamVjdFNwcmVhZCIsIm5hbWUiLCJxdWVyeUJ5VGV4dCIsIm5vdCIsIm9uTGVhdmVTdGFydCIsImNsaWNrIiwiZ2V0QnlSb2xlIiwidG9IYXZlQmVlbkNhbGxlZCIsImFkdmFuY2VUaW1lcnNCeVRpbWUiLCJ0b0hhdmVCZWVuQ2FsbGVkV2l0aCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL29yZ2FuaXNtcy9DaGF0QUlQYWdlL0NoYXRBSVBhZ2VIb21lLnNwZWMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFjdCwgZmlyZUV2ZW50LCByZW5kZXJXaXRoUHJvdmlkZXJzLCBzY3JlZW4gfSBmcm9tICcuLi8uLi8uLi90ZXN0L3Rlc3QtdXRpbHMnXG5pbXBvcnQgeyBHbG9iYWxDb250ZXh0VGVzdFByb3ZpZGVyLCB0ZXN0QWdlbnQgfSBmcm9tICcuLi8uLi8uLi90ZXN0L2dsb2JhbC1jb250ZXh0J1xuaW1wb3J0IHsgQ2hhdEFJUGFnZUhvbWUgfSBmcm9tICcuL0NoYXRBSVBhZ2VIb21lJ1xuXG5qZXN0Lm1vY2soJy4vZ2V0RGF5cGFydCcsICgpID0+ICh7XG4gIGdldERheXBhcnQ6ICgpID0+ICdtb3JuaW5nJyxcbn0pKVxuXG5qZXN0Lm1vY2soJy4uLy4uLy4uL3V0aWxzL2FjdGlvbkljb25NYXAnLCAoKSA9PiAoe1xuICByZW5kZXJBY3Rpb25JY29uOiAoKSA9PiBudWxsLFxufSkpXG5cbmplc3QubW9jaygnLi4vLi4vbW9sZWN1bGVzL0NoYXRGb290ZXIvQ2hhdEZvb3RlcicsICgpID0+ICh7XG4gIENoYXRGb290ZXI6ICh7IG9uU2VuZE1lc3NhZ2UsIGRpc2FibGVkIH06IHsgb25TZW5kTWVzc2FnZTogKG1lc3NhZ2U6IHN0cmluZykgPT4gdm9pZDsgZGlzYWJsZWQ/OiBib29sZWFuIH0pID0+IChcbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBkaXNhYmxlZD17ZGlzYWJsZWR9IG9uQ2xpY2s9eygpID0+IG9uU2VuZE1lc3NhZ2UoJ2hvbGEnKX0+XG4gICAgICBzZW5kXG4gICAgPC9idXR0b24+XG4gICksXG59KSlcblxuamVzdC5tb2NrKCcuLi8uLi8uLi9jb250ZXh0L2Nvci11c2VyJywgKCkgPT4gKHtcbiAgdXNlVXNlcjogKCkgPT4gKHsgaWQ6IDk5LCBmaXJzdE5hbWU6ICdBZGEnLCByb2xlX2lkOiAzIH0pLFxufSkpXG5cbmRlc2NyaWJlKCdDaGF0QUlQYWdlSG9tZScsICgpID0+IHtcbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgamVzdC51c2VGYWtlVGltZXJzKClcbiAgfSlcblxuICBhZnRlckVhY2goKCkgPT4ge1xuICAgIGplc3QudXNlUmVhbFRpbWVycygpXG4gIH0pXG5cbiAgaXQoJ2dyZWV0cyBNQUlBIHVzZXJzIGFuZCBzaG93cyB0aGUgYWN0aW9uIGNhcmRzJywgKCkgPT4ge1xuICAgIHJlbmRlcldpdGhQcm92aWRlcnMoXG4gICAgICA8R2xvYmFsQ29udGV4dFRlc3RQcm92aWRlcj5cbiAgICAgICAgPENoYXRBSVBhZ2VIb21lIG9uU2VuZE1lc3NhZ2U9e2plc3QuZm4oKX0gLz5cbiAgICAgIDwvR2xvYmFsQ29udGV4dFRlc3RQcm92aWRlcj5cbiAgICApXG5cbiAgICBleHBlY3Qoc2NyZWVuLmdldEJ5VGV4dCgncGFnZUhvbWUuZ3JlZXRpbmcubW9ybmluZycpKS50b0JlSW5UaGVEb2N1bWVudCgpXG4gICAgZXhwZWN0KHNjcmVlbi5nZXRCeVRleHQoJ3BhZ2VIb21lLnN1YnRpdGxlJykpLnRvQmVJblRoZURvY3VtZW50KClcbiAgICBleHBlY3Qoc2NyZWVuLmdldEJ5VGV4dCgncGFnZUhvbWUuY2FyZHMuaG91cnMudGl0bGUnKSkudG9CZUluVGhlRG9jdW1lbnQoKVxuICB9KVxuXG4gIGl0KCdzaG93cyBhIGN1c3RvbSBhZ2VudCB3aXRob3V0IGFjdGlvbiBjYXJkcycsICgpID0+IHtcbiAgICByZW5kZXJXaXRoUHJvdmlkZXJzKFxuICAgICAgPEdsb2JhbENvbnRleHRUZXN0UHJvdmlkZXIgdmFsdWU9e3sgYWdlbnQ6IHsgLi4udGVzdEFnZW50LCB0eXBlOiAnY3VzdG9tJywgbmFtZTogJ0xlZ2FsJyB9IH19PlxuICAgICAgICA8Q2hhdEFJUGFnZUhvbWUgb25TZW5kTWVzc2FnZT17amVzdC5mbigpfSAvPlxuICAgICAgPC9HbG9iYWxDb250ZXh0VGVzdFByb3ZpZGVyPlxuICAgIClcblxuICAgIGV4cGVjdChzY3JlZW4uZ2V0QnlUZXh0KCdMZWdhbCcpKS50b0JlSW5UaGVEb2N1bWVudCgpXG4gICAgZXhwZWN0KHNjcmVlbi5xdWVyeUJ5VGV4dCgncGFnZUhvbWUuY2FyZHMuaG91cnMudGl0bGUnKSkubm90LnRvQmVJblRoZURvY3VtZW50KClcbiAgfSlcblxuICBpdCgnc3RhcnRzIHRoZSBsZWF2ZSBhbmltYXRpb24gYW5kIHRoZW4gc2VuZHMgdGhlIG1lc3NhZ2UnLCAoKSA9PiB7XG4gICAgY29uc3Qgb25TZW5kTWVzc2FnZSA9IGplc3QuZm4oKVxuICAgIGNvbnN0IG9uTGVhdmVTdGFydCA9IGplc3QuZm4oKVxuICAgIHJlbmRlcldpdGhQcm92aWRlcnMoXG4gICAgICA8R2xvYmFsQ29udGV4dFRlc3RQcm92aWRlcj5cbiAgICAgICAgPENoYXRBSVBhZ2VIb21lIG9uU2VuZE1lc3NhZ2U9e29uU2VuZE1lc3NhZ2V9IG9uTGVhdmVTdGFydD17b25MZWF2ZVN0YXJ0fSAvPlxuICAgICAgPC9HbG9iYWxDb250ZXh0VGVzdFByb3ZpZGVyPlxuICAgIClcblxuICAgIGZpcmVFdmVudC5jbGljayhzY3JlZW4uZ2V0QnlSb2xlKCdidXR0b24nLCB7IG5hbWU6ICdzZW5kJyB9KSlcblxuICAgIGV4cGVjdChvbkxlYXZlU3RhcnQpLnRvSGF2ZUJlZW5DYWxsZWQoKVxuICAgIGV4cGVjdChvblNlbmRNZXNzYWdlKS5ub3QudG9IYXZlQmVlbkNhbGxlZCgpXG4gICAgZXhwZWN0KHNjcmVlbi5nZXRCeVRleHQoJ2hvbGEnKSkudG9CZUluVGhlRG9jdW1lbnQoKVxuXG4gICAgYWN0KCgpID0+IHtcbiAgICAgIGplc3QuYWR2YW5jZVRpbWVyc0J5VGltZSg3MDApXG4gICAgfSlcblxuICAgIGV4cGVjdChvblNlbmRNZXNzYWdlKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCgnaG9sYScpXG4gIH0pXG59KVxuIl0sIm1hcHBpbmdzIjoiOzs7QUFBQSxTQUFTQSxHQUFHLEVBQUVDLFNBQVMsRUFBRUMsbUJBQW1CLEVBQUVDLE1BQU0sUUFBUSwwQkFBMEI7QUFDdEYsU0FBU0MseUJBQXlCLEVBQUVDLFNBQVMsUUFBUSw4QkFBOEI7QUFDbkYsU0FBU0MsY0FBYyxRQUFRLGtCQUFrQjtBQUFBLFNBQUFDLEdBQUEsSUFBQUMsSUFBQTtBQUVqREMsSUFBSSxDQUFDQyxJQUFJLENBQUMsY0FBYyxFQUFFO0VBQUEsT0FBTztJQUMvQkMsVUFBVSxFQUFFLFNBQVpBLFVBQVVBLENBQUE7TUFBQSxPQUFRLFNBQVM7SUFBQTtFQUM3QixDQUFDO0FBQUEsQ0FBQyxDQUFDO0FBRUhGLElBQUksQ0FBQ0MsSUFBSSxDQUFDLDhCQUE4QixFQUFFO0VBQUEsT0FBTztJQUMvQ0UsZ0JB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