@projectcor/maia-components 2.38.4 → 2.39.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 (171) hide show
  1. package/CHANGELOG.md +798 -0
  2. package/lib/components/atoms/ActionableButton.js +1 -6
  3. package/lib/components/atoms/ApprovalBox/ApprovalBox.spec.js +135 -0
  4. package/lib/components/atoms/Checkbox/Checkbox.spec.js +27 -0
  5. package/lib/components/atoms/Chip/Chip.spec.js +32 -0
  6. package/lib/components/atoms/ContextMentionChip/ContextMentionChip.spec.js +29 -0
  7. package/lib/components/atoms/Fade/Fade.spec.js +31 -0
  8. package/lib/components/atoms/FrequentlyAskedQuestions/FrequentlyAskedQuestions.js +4 -14
  9. package/lib/components/atoms/FrequentlyAskedQuestions/FrequentlyAskedQuestions.styles.js +3 -12
  10. package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.js +4 -20
  11. package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.styles.js +7 -18
  12. package/lib/components/atoms/MAIAButton/MAIAButton.spec.js +42 -0
  13. package/lib/components/atoms/MAIAInput/MAIAInput.js +14 -29
  14. package/lib/components/atoms/MAIAInput/MAIAInput.spec.js +300 -0
  15. package/lib/components/atoms/MAIAInput/styles.js +29 -36
  16. package/lib/components/atoms/ReasoningBlock/ReasoningBlock.js +3 -3
  17. package/lib/components/atoms/ReasoningBlock/ReasoningBlock.spec.js +68 -0
  18. package/lib/components/atoms/ReasoningBlock/ReasoningBlock.styles.js +2 -2
  19. package/lib/components/atoms/SkillsDropdown/SkillsDropdown.spec.js +107 -0
  20. package/lib/components/atoms/SlashCommandDropdown/SlashCommandDropdown.spec.js +85 -0
  21. package/lib/components/atoms/Switch/Switch.spec.js +41 -0
  22. package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.spec.js +77 -0
  23. package/lib/components/molecules/ChatAIHome/ChatAIHome.js +5 -16
  24. package/lib/components/molecules/ChatAIHome/ChatAIHome.spec.js +246 -0
  25. package/lib/components/molecules/ChatAIHome/ChatAIHomeMaiaker.js +2 -23
  26. package/lib/components/molecules/ChatAIHome/ChatAIHomeMaiaker.styles.js +5 -33
  27. package/lib/components/molecules/ChatAIHome/styles.js +2 -11
  28. package/lib/components/molecules/ChatAIMessages/ChatAICreateAgentActions.js +20 -31
  29. package/lib/components/molecules/ChatAIMessages/ChatAICreateAgentActions.spec.js +104 -0
  30. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +2 -7
  31. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.spec.js +291 -0
  32. package/lib/components/molecules/ChatAIMessages/ChatAISuggestions.spec.js +46 -0
  33. package/lib/components/molecules/ChatAIModal/ChatAIModal.helpers.js +56 -0
  34. package/lib/components/molecules/ChatAIModal/ChatAIModal.helpers.spec.js +124 -0
  35. package/lib/components/molecules/ChatAIModal/ChatAIModal.js +202 -134
  36. package/lib/components/molecules/ChatAIModal/ChatAIModal.styles.js +2 -2
  37. package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions.js +1 -8
  38. package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions.styles.js +9 -15
  39. package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.js +3 -18
  40. package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.styles.js +2 -2
  41. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +2 -13
  42. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.styles.js +5 -14
  43. package/lib/components/molecules/ChatAIModal/layout.js +2 -2
  44. package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.js +2 -12
  45. package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.styles.js +3 -3
  46. package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.js +10 -34
  47. package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.spec.js +128 -0
  48. package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.styles.js +6 -14
  49. package/lib/components/molecules/ChatFooter/ChatFooter.js +45 -66
  50. package/lib/components/molecules/ChatFooter/ChatFooter.spec.js +105 -0
  51. package/lib/components/molecules/ChatFooter/styles.js +6 -12
  52. package/lib/components/molecules/ContextMentionInput/ContextMentionInput.spec.js +84 -0
  53. package/lib/components/molecules/MessageFeedback/MessageFeedback.js +5 -15
  54. package/lib/components/molecules/MessageFeedback/MessageFeedback.spec.js +116 -0
  55. package/lib/components/molecules/Sidebar/Sidebar.layout.styles.js +2 -2
  56. package/lib/components/molecules/Sidebar/Sidebar.spec.js +208 -0
  57. package/lib/components/organisms/AbmAgentModal/AbmAgentModal.js +11 -30
  58. package/lib/components/organisms/AbmAgentModal/AbmAgentModal.spec.js +335 -0
  59. package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.js +18 -31
  60. package/lib/components/organisms/AbmSkillModal/AbmSkillModal.js +23 -43
  61. package/lib/components/organisms/AbmSkillModal/AbmSkillModal.spec.js +405 -0
  62. package/lib/components/organisms/AbmSkillModal/AbmSkillModal.styles.js +2 -2
  63. package/lib/components/organisms/ChatAI/ChatAI.js +1 -6
  64. package/lib/components/organisms/ChatAI/ChatAI.spec.js +174 -0
  65. package/lib/components/organisms/DeleteAgentModal/DeleteAgentModal.spec.js +59 -0
  66. package/lib/components/organisms/DeleteQuestionModal/DeleteQuestionModal.spec.js +79 -0
  67. package/lib/components/organisms/EditQuestionModal/EditQuestionModal.spec.js +86 -0
  68. package/lib/constants/formatExtensions.js +7 -8
  69. package/lib/constants/permissions/utils.spec.js +34 -0
  70. package/lib/hooks/useAgentModel/useCreateAgent.spec.js +95 -0
  71. package/lib/hooks/useAgentModel/useUpdateAgent.spec.js +96 -0
  72. package/lib/hooks/useCaretPosition.spec.js +58 -0
  73. package/lib/hooks/useChatManager/useChatManager.js +34 -55
  74. package/lib/hooks/useDebounce.spec.js +42 -0
  75. package/lib/hooks/useEvent.spec.js +40 -0
  76. package/lib/hooks/useMentionAllowedTypes.spec.js +89 -0
  77. package/lib/hooks/useModal/useModal.spec.js +73 -0
  78. package/lib/hooks/useResize.spec.js +37 -0
  79. package/lib/hooks/useSkillsCatalog.spec.js +88 -0
  80. package/lib/hooks/useSnackBarManager/useSnackBarManager.spec.js +33 -0
  81. package/lib/hooks/useT.spec.js +20 -0
  82. package/lib/hooks/useToggle.spec.js +33 -0
  83. package/lib/lang/br/index.js +2 -6
  84. package/lib/lang/en/index.js +2 -6
  85. package/lib/lang/es/index.js +2 -6
  86. package/lib/lang/fr/index.js +3 -7
  87. package/lib/lib/utils.js +9 -0
  88. package/lib/services/maia/Access/updateAccess.spec.js +108 -0
  89. package/lib/services/maia/Actions/getFrequentlyUsedActions.spec.js +69 -0
  90. package/lib/services/maia/Actions/getSlashCommands.spec.js +74 -0
  91. package/lib/services/maia/Agents/createAgent.spec.js +55 -0
  92. package/lib/services/maia/Agents/deleteAgent.spec.js +42 -0
  93. package/lib/services/maia/Agents/fetchAgentDetail.spec.js +108 -0
  94. package/lib/services/maia/Agents/getAgentById.spec.js +55 -0
  95. package/lib/services/maia/Agents/getAgentSuggestions.spec.js +82 -0
  96. package/lib/services/maia/Agents/getAgents.js +5 -5
  97. package/lib/services/maia/Agents/setAgentToolGroups.spec.js +45 -0
  98. package/lib/services/maia/Agents/toggleFavorite.spec.js +47 -0
  99. package/lib/services/maia/Agents/updateAgent.spec.js +48 -0
  100. package/lib/services/maia/Chats/deleteChat.spec.js +31 -0
  101. package/lib/services/maia/Chats/getChatMessages.spec.js +150 -0
  102. package/lib/services/maia/Chats/getChatsByUserId.spec.js +149 -0
  103. package/lib/services/maia/Chats/markSessionAsRead.spec.js +30 -0
  104. package/lib/services/maia/Chats/patchChat.spec.js +41 -0
  105. package/lib/services/maia/Chats/wasHelpfulChat.spec.js +28 -0
  106. package/lib/services/maia/Faqs/getFrequentlyAskedQuestions.spec.js +58 -0
  107. package/lib/services/maia/Knowledge/delete.spec.js +45 -0
  108. package/lib/services/maia/Knowledge/download.spec.js +78 -0
  109. package/lib/services/maia/Knowledge/save.spec.js +58 -0
  110. package/lib/services/maia/Orchestrator/orchestrator.spec.js +72 -0
  111. package/lib/services/maia/RecentClients/getRecentClients.spec.js +52 -0
  112. package/lib/services/maia/RecentContexts/getRecentContexts.spec.js +83 -0
  113. package/lib/services/maia/RecentProjects/getRecentProjects.spec.js +82 -0
  114. package/lib/services/maia/RecentTasks/getRecentTasks.spec.js +63 -0
  115. package/lib/services/maia/RecentUsers/getRecentUsers.spec.js +82 -0
  116. package/lib/services/maia/Skills/createSkill.spec.js +68 -0
  117. package/lib/services/maia/Skills/deleteSkill.spec.js +42 -0
  118. package/lib/services/maia/Skills/generateSkill.spec.js +48 -0
  119. package/lib/services/maia/Skills/getSkills.spec.js +152 -0
  120. package/lib/services/maia/Skills/updateSkill.spec.js +62 -0
  121. package/lib/services/maia/client.spec.js +56 -0
  122. package/lib/services/maia/index.js +2 -4
  123. package/lib/services/utils/fetchCOR.js +57 -106
  124. package/lib/services/utils/fetchCOR.spec.js +211 -0
  125. package/lib/services/utils/getCookie.spec.js +20 -0
  126. package/lib/services/utils/index.js +1 -2
  127. package/lib/store/chatsSidebarOptimistic.spec.js +120 -0
  128. package/lib/store/index.js +1 -2
  129. package/lib/store/maiaLastChatPersistence.spec.js +22 -0
  130. package/lib/store/maiaPanelSessionPersistence.spec.js +62 -0
  131. package/lib/store/sessions/sessionStreamManager.js +35 -70
  132. package/lib/store/sessions/sessions.types.js +1 -1
  133. package/lib/store/sessions/sessions.types.spec.js +16 -0
  134. package/lib/store/sessions/useSessionsStore.spec.js +135 -0
  135. package/lib/store/useChatsStore.spec.js +619 -0
  136. package/lib/store/useFaqsStore.spec.js +57 -0
  137. package/lib/utils/agentDisplayName.spec.js +44 -0
  138. package/lib/utils/autoApproveStorage.spec.js +25 -0
  139. package/lib/utils/chatInputFiles.spec.js +39 -0
  140. package/lib/utils/contextMentionLabel.spec.js +13 -0
  141. package/lib/utils/contextMentionTriggers.spec.js +38 -0
  142. package/lib/utils/contextMentionTypeLabel.spec.js +14 -0
  143. package/lib/utils/corConnectorMentionTypes.spec.js +23 -0
  144. package/lib/utils/fileDownloadHelper.spec.js +67 -0
  145. package/lib/utils/formatQuickActionMessage.spec.js +27 -0
  146. package/lib/utils/formatUnreadCount.spec.js +12 -0
  147. package/lib/utils/getUnitFileSize.spec.js +18 -0
  148. package/lib/utils/hitlAnalytics.spec.js +100 -0
  149. package/lib/utils/hoursPlannerQuickActionType.spec.js +64 -0
  150. package/lib/utils/mapBackendLang.spec.js +19 -0
  151. package/lib/utils/normalizeAgentConnectors.spec.js +89 -0
  152. package/lib/utils/orchestratorSubagents.spec.js +32 -0
  153. package/lib/utils/reasoningMappers.spec.js +103 -0
  154. package/lib/utils/retryCompletion.spec.js +99 -0
  155. package/lib/utils/skillContentSize.spec.js +13 -0
  156. package/lib/utils/slashCommandMarker.spec.js +43 -0
  157. package/lib/utils/sortManagerHoursHomeFuas.spec.js +51 -0
  158. package/lib/utils/sseStreamContent.spec.js +31 -0
  159. package/lib/utils/streamActivityMessages.spec.js +98 -0
  160. package/lib/utils/validateTrimmedFields.spec.js +26 -0
  161. package/package.json +2 -2
  162. package/lib/components/molecules/UsageBlockedBanner/UsageBlockedBanner.js +0 -30
  163. package/lib/components/molecules/UsageBlockedBanner/UsageBlockedBanner.styles.js +0 -47
  164. package/lib/components/molecules/UsageBlockedBanner/index.js +0 -2
  165. package/lib/lang/__mocks__/index.js +0 -9
  166. package/lib/services/maia/Usage/getUsage.js +0 -45
  167. package/lib/services/maia/Usage/index.js +0 -6
  168. package/lib/services/utils/MaiaApiError.js +0 -34
  169. package/lib/store/useUsageStore.js +0 -115
  170. package/lib/types/usage.js +0 -16
  171. package/lib/utils/usageBlockedMessage.js +0 -11
@@ -0,0 +1,98 @@
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 { canAdvanceStreamActivityMessage, getInitialStreamActivity, getStreamActivityMessageAtIndex, isStreamingPlaceholderMessageId, mapHitlToolNameToStreamActivity, mapNodeMessageToStreamActivity, resolveStreamLoadingDisplay, resolveToolActionLabel, streamingPlaceholderMessageId } from './streamActivityMessages';
5
+ var t = function t(key) {
6
+ return key;
7
+ };
8
+ describe('streamActivityMessages', function () {
9
+ describe('resolveToolActionLabel', function () {
10
+ it('maps known tools and returns null for unknown ones', function () {
11
+ expect(resolveToolActionLabel('create_task', t, 'present')).toBe('chat.activity.actions.createTask.present');
12
+ expect(resolveToolActionLabel('assign', t, 'past')).toBe('chat.activity.actions.assignUser.past');
13
+ expect(resolveToolActionLabel('unknown_tool', t, 'present')).toBeNull();
14
+ });
15
+ });
16
+ describe('mapHitlToolNameToStreamActivity', function () {
17
+ it('uses the dictionary or a fallback', function () {
18
+ expect(mapHitlToolNameToStreamActivity('edit_task', t)).toEqual({
19
+ phase: 'action',
20
+ message: 'chat.activity.actions.editTask.present'
21
+ });
22
+ expect(mapHitlToolNameToStreamActivity('unknown_tool', t, {
23
+ useResumingFallback: true
24
+ })).toEqual({
25
+ phase: 'action',
26
+ message: 'chat.activity.resumingAction'
27
+ });
28
+ });
29
+ });
30
+ describe('mapNodeMessageToStreamActivity', function () {
31
+ it('maps file generation and web search phrases', function () {
32
+ expect(mapNodeMessageToStreamActivity('Generating file now', t).message).toBe('chat.activity.generatingFile');
33
+ expect(mapNodeMessageToStreamActivity('searching the web', t)).toEqual({
34
+ phase: 'search',
35
+ message: 'chat.activity.search.scanning'
36
+ });
37
+ });
38
+ it('keeps a readable node message and hides raw tool names', function () {
39
+ expect(mapNodeMessageToStreamActivity('Revisando el proyecto', t)).toEqual({
40
+ phase: 'action',
41
+ message: 'Revisando el proyecto'
42
+ });
43
+ expect(mapNodeMessageToStreamActivity('foo_bar_unknown', t).message).toBe('chat.executingAction');
44
+ });
45
+ });
46
+ describe('activity rotation and placeholders', function () {
47
+ it('returns the message for a phase index and knows when it can advance', function () {
48
+ expect(getStreamActivityMessageAtIndex('thinking', 0, t)).toBe('chat.activity.thinking.analyzing');
49
+ expect(canAdvanceStreamActivityMessage('thinking', 0)).toBe(true);
50
+ expect(canAdvanceStreamActivityMessage('thinking', 2)).toBe(false);
51
+ });
52
+ it('picks the initial phase from search, attachments or generating', function () {
53
+ expect(getInitialStreamActivity(t, {
54
+ isWebSearchActive: true
55
+ }).phase).toBe('search');
56
+ expect(getInitialStreamActivity(t, {
57
+ hasAttachments: true,
58
+ attachmentsCount: 2
59
+ }).phase).toBe('attachment');
60
+ expect(getInitialStreamActivity(t, {}).phase).toBe('generating');
61
+ });
62
+ it('builds and detects streaming placeholder ids', function () {
63
+ expect(streamingPlaceholderMessageId('abc')).toBe('answer-abc-streaming');
64
+ expect(isStreamingPlaceholderMessageId('answer-abc-streaming')).toBe(true);
65
+ expect(isStreamingPlaceholderMessageId('answer-abc')).toBe(false);
66
+ });
67
+ });
68
+ describe('resolveStreamLoadingDisplay', function () {
69
+ var base = {
70
+ streamActivity: null,
71
+ loadingMessage: null,
72
+ activeLoadings: {},
73
+ waitingResponse: false,
74
+ isWebSearchActive: false,
75
+ isDeepSearchActive: false,
76
+ hasAttachments: false,
77
+ t: t
78
+ };
79
+ it('prefers an explicit stream activity', function () {
80
+ var streamActivity = {
81
+ phase: 'writing',
82
+ message: 'escribiendo'
83
+ };
84
+ expect(resolveStreamLoadingDisplay(_objectSpread(_objectSpread({}, base), {}, {
85
+ streamActivity: streamActivity
86
+ }))).toEqual(streamActivity);
87
+ });
88
+ it('returns the initial generating activity while waiting', function () {
89
+ expect(resolveStreamLoadingDisplay(_objectSpread(_objectSpread({}, base), {}, {
90
+ waitingResponse: true
91
+ }))).toEqual({
92
+ phase: 'generating',
93
+ message: 'chat.activity.generating.considering'
94
+ });
95
+ });
96
+ });
97
+ });
98
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjYW5BZHZhbmNlU3RyZWFtQWN0aXZpdHlNZXNzYWdlIiwiZ2V0SW5pdGlhbFN0cmVhbUFjdGl2aXR5IiwiZ2V0U3RyZWFtQWN0aXZpdHlNZXNzYWdlQXRJbmRleCIsImlzU3RyZWFtaW5nUGxhY2Vob2xkZXJNZXNzYWdlSWQiLCJtYXBIaXRsVG9vbE5hbWVUb1N0cmVhbUFjdGl2aXR5IiwibWFwTm9kZU1lc3NhZ2VUb1N0cmVhbUFjdGl2aXR5IiwicmVzb2x2ZVN0cmVhbUxvYWRpbmdEaXNwbGF5IiwicmVzb2x2ZVRvb2xBY3Rpb25MYWJlbCIsInN0cmVhbWluZ1BsYWNlaG9sZGVyTWVzc2FnZUlkIiwidCIsImtleSIsImRlc2NyaWJlIiwiaXQiLCJleHBlY3QiLCJ0b0JlIiwidG9CZU51bGwiLCJ0b0VxdWFsIiwicGhhc2UiLCJtZXNzYWdlIiwidXNlUmVzdW1pbmdGYWxsYmFjayIsImlzV2ViU2VhcmNoQWN0aXZlIiwiaGFzQXR0YWNobWVudHMiLCJhdHRhY2htZW50c0NvdW50IiwiYmFzZSIsInN0cmVhbUFjdGl2aXR5IiwibG9hZGluZ01lc3NhZ2UiLCJhY3RpdmVMb2FkaW5ncyIsIndhaXRpbmdSZXNwb25zZSIsImlzRGVlcFNlYXJjaEFjdGl2ZSIsIl9vYmplY3RTcHJlYWQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvc3RyZWFtQWN0aXZpdHlNZXNzYWdlcy5zcGVjLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGNhbkFkdmFuY2VTdHJlYW1BY3Rpdml0eU1lc3NhZ2UsXG4gIGdldEluaXRpYWxTdHJlYW1BY3Rpdml0eSxcbiAgZ2V0U3RyZWFtQWN0aXZpdHlNZXNzYWdlQXRJbmRleCxcbiAgaXNTdHJlYW1pbmdQbGFjZWhvbGRlck1lc3NhZ2VJZCxcbiAgbWFwSGl0bFRvb2xOYW1lVG9TdHJlYW1BY3Rpdml0eSxcbiAgbWFwTm9kZU1lc3NhZ2VUb1N0cmVhbUFjdGl2aXR5LFxuICByZXNvbHZlU3RyZWFtTG9hZGluZ0Rpc3BsYXksXG4gIHJlc29sdmVUb29sQWN0aW9uTGFiZWwsXG4gIHN0cmVhbWluZ1BsYWNlaG9sZGVyTWVzc2FnZUlkLFxufSBmcm9tICcuL3N0cmVhbUFjdGl2aXR5TWVzc2FnZXMnXG5cbmNvbnN0IHQgPSAoa2V5OiBzdHJpbmcpID0+IGtleVxuXG5kZXNjcmliZSgnc3RyZWFtQWN0aXZpdHlNZXNzYWdlcycsICgpID0+IHtcbiAgZGVzY3JpYmUoJ3Jlc29sdmVUb29sQWN0aW9uTGFiZWwnLCAoKSA9PiB7XG4gICAgaXQoJ21hcHMga25vd24gdG9vbHMgYW5kIHJldHVybnMgbnVsbCBmb3IgdW5rbm93biBvbmVzJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHJlc29sdmVUb29sQWN0aW9uTGFiZWwoJ2NyZWF0ZV90YXNrJywgdCwgJ3ByZXNlbnQnKSkudG9CZSgnY2hhdC5hY3Rpdml0eS5hY3Rpb25zLmNyZWF0ZVRhc2sucHJlc2VudCcpXG4gICAgICBleHBlY3QocmVzb2x2ZVRvb2xBY3Rpb25MYWJlbCgnYXNzaWduJywgdCwgJ3Bhc3QnKSkudG9CZSgnY2hhdC5hY3Rpdml0eS5hY3Rpb25zLmFzc2lnblVzZXIucGFzdCcpXG4gICAgICBleHBlY3QocmVzb2x2ZVRvb2xBY3Rpb25MYWJlbCgndW5rbm93bl90b29sJywgdCwgJ3ByZXNlbnQnKSkudG9CZU51bGwoKVxuICAgIH0pXG4gIH0pXG5cbiAgZGVzY3JpYmUoJ21hcEhpdGxUb29sTmFtZVRvU3RyZWFtQWN0aXZpdHknLCAoKSA9PiB7XG4gICAgaXQoJ3VzZXMgdGhlIGRpY3Rpb25hcnkgb3IgYSBmYWxsYmFjaycsICgpID0+IHtcbiAgICAgIGV4cGVjdChtYXBIaXRsVG9vbE5hbWVUb1N0cmVhbUFjdGl2aXR5KCdlZGl0X3Rhc2snLCB0KSkudG9FcXVhbCh7XG4gICAgICAgIHBoYXNlOiAnYWN0aW9uJyxcbiAgICAgICAgbWVzc2FnZTogJ2NoYXQuYWN0aXZpdHkuYWN0aW9ucy5lZGl0VGFzay5wcmVzZW50JyxcbiAgICAgIH0pXG4gICAgICBleHBlY3QobWFwSGl0bFRvb2xOYW1lVG9TdHJlYW1BY3Rpdml0eSgndW5rbm93bl90b29sJywgdCwgeyB1c2VSZXN1bWluZ0ZhbGxiYWNrOiB0cnVlIH0pKS50b0VxdWFsKHtcbiAgICAgICAgcGhhc2U6ICdhY3Rpb24nLFxuICAgICAgICBtZXNzYWdlOiAnY2hhdC5hY3Rpdml0eS5yZXN1bWluZ0FjdGlvbicsXG4gICAgICB9KVxuICAgIH0pXG4gIH0pXG5cbiAgZGVzY3JpYmUoJ21hcE5vZGVNZXNzYWdlVG9TdHJlYW1BY3Rpdml0eScsICgpID0+IHtcbiAgICBpdCgnbWFwcyBmaWxlIGdlbmVyYXRpb24gYW5kIHdlYiBzZWFyY2ggcGhyYXNlcycsICgpID0+IHtcbiAgICAgIGV4cGVjdChtYXBOb2RlTWVzc2FnZVRvU3RyZWFtQWN0aXZpdHkoJ0dlbmVyYXRpbmcgZmlsZSBub3cnLCB0KS5tZXNzYWdlKS50b0JlKCdjaGF0LmFjdGl2aXR5LmdlbmVyYXRpbmdGaWxlJylcbiAgICAgIGV4cGVjdChtYXBOb2RlTWVzc2FnZVRvU3RyZWFtQWN0aXZpdHkoJ3NlYXJjaGluZyB0aGUgd2ViJywgdCkpLnRvRXF1YWwoe1xuICAgICAgICBwaGFzZTogJ3NlYXJjaCcsXG4gICAgICAgIG1lc3NhZ2U6ICdjaGF0LmFjdGl2aXR5LnNlYXJjaC5zY2FubmluZycsXG4gICAgICB9KVxuICAgIH0pXG5cbiAgICBpdCgna2VlcHMgYSByZWFkYWJsZSBub2RlIG1lc3NhZ2UgYW5kIGhpZGVzIHJhdyB0b29sIG5hbWVzJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KG1hcE5vZGVNZXNzYWdlVG9TdHJlYW1BY3Rpdml0eSgnUmV2aXNhbmRvIGVsIHByb3llY3RvJywgdCkpLnRvRXF1YWwoe1xuICAgICAgICBwaGFzZTogJ2FjdGlvbicsXG4gICAgICAgIG1lc3NhZ2U6ICdSZXZpc2FuZG8gZWwgcHJveWVjdG8nLFxuICAgICAgfSlcbiAgICAgIGV4cGVjdChtYXBOb2RlTWVzc2FnZVRvU3RyZWFtQWN0aXZpdHkoJ2Zvb19iYXJfdW5rbm93bicsIHQpLm1lc3NhZ2UpLnRvQmUoJ2NoYXQuZXhlY3V0aW5nQWN0aW9uJylcbiAgICB9KVxuICB9KVxuXG4gIGRlc2NyaWJlKCdhY3Rpdml0eSByb3RhdGlvbiBhbmQgcGxhY2Vob2xkZXJzJywgKCkgPT4ge1xuICAgIGl0KCdyZXR1cm5zIHRoZSBtZXNzYWdlIGZvciBhIHBoYXNlIGluZGV4IGFuZCBrbm93cyB3aGVuIGl0IGNhbiBhZHZhbmNlJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KGdldFN0cmVhbUFjdGl2aXR5TWVzc2FnZUF0SW5kZXgoJ3RoaW5raW5nJywgMCwgdCkpLnRvQmUoJ2NoYXQuYWN0aXZpdHkudGhpbmtpbmcuYW5hbHl6aW5nJylcbiAgICAgIGV4cGVjdChjYW5BZHZhbmNlU3RyZWFtQWN0aXZpdHlNZXNzYWdlKCd0aGlua2luZycsIDApKS50b0JlKHRydWUpXG4gICAgICBleHBlY3QoY2FuQWR2YW5jZVN0cmVhbUFjdGl2aXR5TWVzc2FnZSgndGhpbmtpbmcnLCAyKSkudG9CZShmYWxzZSlcbiAgICB9KVxuXG4gICAgaXQoJ3BpY2tzIHRoZSBpbml0aWFsIHBoYXNlIGZyb20gc2VhcmNoLCBhdHRhY2htZW50cyBvciBnZW5lcmF0aW5nJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KGdldEluaXRpYWxTdHJlYW1BY3Rpdml0eSh0LCB7IGlzV2ViU2VhcmNoQWN0aXZlOiB0cnVlIH0pLnBoYXNlKS50b0JlKCdzZWFyY2gnKVxuICAgICAgZXhwZWN0KGdldEluaXRpYWxTdHJlYW1BY3Rpdml0eSh0LCB7IGhhc0F0dGFjaG1lbnRzOiB0cnVlLCBhdHRhY2htZW50c0NvdW50OiAyIH0pLnBoYXNlKS50b0JlKCdhdHRhY2htZW50JylcbiAgICAgIGV4cGVjdChnZXRJbml0aWFsU3RyZWFtQWN0aXZpdHkodCwge30pLnBoYXNlKS50b0JlKCdnZW5lcmF0aW5nJylcbiAgICB9KVxuXG4gICAgaXQoJ2J1aWxkcyBhbmQgZGV0ZWN0cyBzdHJlYW1pbmcgcGxhY2Vob2xkZXIgaWRzJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHN0cmVhbWluZ1BsYWNlaG9sZGVyTWVzc2FnZUlkKCdhYmMnKSkudG9CZSgnYW5zd2VyLWFiYy1zdHJlYW1pbmcnKVxuICAgICAgZXhwZWN0KGlzU3RyZWFtaW5nUGxhY2Vob2xkZXJNZXNzYWdlSWQoJ2Fuc3dlci1hYmMtc3RyZWFtaW5nJykpLnRvQmUodHJ1ZSlcbiAgICAgIGV4cGVjdChpc1N0cmVhbWluZ1BsYWNlaG9sZGVyTWVzc2FnZUlkKCdhbnN3ZXItYWJjJykpLnRvQmUoZmFsc2UpXG4gICAgfSlcbiAgfSlcblxuICBkZXNjcmliZSgncmVzb2x2ZVN0cmVhbUxvYWRpbmdEaXNwbGF5JywgKCkgPT4ge1xuICAgIGNvbnN0IGJhc2UgPSB7XG4gICAgICBzdHJlYW1BY3Rpdml0eTogbnVsbCxcbiAgICAgIGxvYWRpbmdNZXNzYWdlOiBudWxsLFxuICAgICAgYWN0aXZlTG9hZGluZ3M6IHt9LFxuICAgICAgd2FpdGluZ1Jlc3BvbnNlOiBmYWxzZSxcbiAgICAgIGlzV2ViU2VhcmNoQWN0aXZlOiBmYWxzZSxcbiAgICAgIGlzRGVlcFNlYXJjaEFjdGl2ZTogZmFsc2UsXG4gICAgICBoYXNBdHRhY2htZW50czogZmFsc2UsXG4gICAgICB0LFxuICAgIH1cblxuICAgIGl0KCdwcmVmZXJzIGFuIGV4cGxpY2l0IHN0cmVhbSBhY3Rpdml0eScsICgpID0+IHtcbiAgICAgIGNvbnN0IHN0cmVhbUFjdGl2aXR5ID0geyBwaGFzZTogJ3dyaXRpbmcnIGFzIGNvbnN0LCBtZXNzYWdlOiAnZXNjcmliaWVuZG8nIH1cbiAgICAgIGV4cGVjdChyZXNvbHZlU3RyZWFtTG9hZGluZ0Rpc3BsYXkoeyAuLi5iYXNlLCBzdHJlYW1BY3Rpdml0eSB9KSkudG9FcXVhbChzdHJlYW1BY3Rpdml0eSlcbiAgICB9KVxuXG4gICAgaXQoJ3JldHVybnMgdGhlIGluaXRpYWwgZ2VuZXJhdGluZyBhY3Rpdml0eSB3aGlsZSB3YWl0aW5nJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHJlc29sdmVTdHJlYW1Mb2FkaW5nRGlzcGxheSh7IC4uLmJhc2UsIHdhaXRpbmdSZXNwb25zZTogdHJ1ZSB9KSkudG9FcXVhbCh7XG4gICAgICAgIHBoYXNlOiAnZ2VuZXJhdGluZycsXG4gICAgICAgIG1lc3NhZ2U6ICdjaGF0LmFjdGl2aXR5LmdlbmVyYXRpbmcuY29uc2lkZXJpbmcnLFxuICAgICAgfSlcbiAgICB9KVxuICB9KVxufSlcbiJdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsU0FDRUEsK0JBQStCLEVBQy9CQyx3QkFBd0IsRUFDeEJDLCtCQUErQixFQUMvQkMsK0JBQStCLEVBQy9CQywrQkFBK0IsRUFDL0JDLDhCQUE4QixFQUM5QkMsMkJBQTJCLEVBQzNCQyxzQkFBc0IsRUFDdEJDLDZCQUE2QixRQUN4QiwwQkFBMEI7QUFFakMsSUFBTUMsQ0FBQyxHQUFHLFNBQUpBLENBQUNBLENBQUlDLEdBQVc7RUFBQSxPQUFLQSxHQUFHO0FBQUE7QUFFOUJDLFFBQVEsQ0FBQyx3QkFBd0IsRUFBRSxZQUFNO0VBQ3ZDQSxRQUFRLENBQUMsd0JBQXdCLEVBQUUsWUFBTTtJQUN2Q0MsRUFBRSxDQUFDLG9EQUFvRCxFQUFFLFlBQU07TUFDN0RDLE1BQU0sQ0FBQ04sc0JBQXNCLENBQUMsYUFBYSxFQUFFRSxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQ0ssSUFBSSxDQUFDLDBDQUEwQyxDQUFDO01BQzVHRCxNQUFNLENBQUNOLHNCQUFzQixDQUFDLFFBQVEsRUFBRUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUNLLElBQUksQ0FBQyx1Q0FBdUMsQ0FBQztNQUNqR0QsTUFBTSxDQUFDTixzQkFBc0IsQ0FBQyxjQUFjLEVBQUVFLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDTSxRQUFRLENBQUMsQ0FBQztJQUN6RSxDQUFDLENBQUM7RUFDSixDQUFDLENBQUM7RUFFRkosUUFBUSxDQUFDLGlDQUFpQyxFQUFFLFlBQU07SUFDaERDLEVBQUUsQ0FBQyxtQ0FBbUMsRUFBRSxZQUFNO01BQzVD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
@@ -0,0 +1,26 @@
1
+ import { validateTrimmedFields } from './validateTrimmedFields';
2
+ describe('validateTrimmedFields', function () {
3
+ it('returns true when fields have no leading or trailing spaces', function () {
4
+ expect(validateTrimmedFields({
5
+ name: 'Maia',
6
+ title: 'Agent'
7
+ }, ['name', 'title'])).toBe(true);
8
+ });
9
+ it('returns false when a field has leading spaces', function () {
10
+ expect(validateTrimmedFields({
11
+ name: ' Maia'
12
+ }, ['name'])).toBe(false);
13
+ });
14
+ it('returns false when a field has trailing spaces', function () {
15
+ expect(validateTrimmedFields({
16
+ name: 'Maia '
17
+ }, ['name'])).toBe(false);
18
+ });
19
+ it('treats empty and missing values as valid', function () {
20
+ expect(validateTrimmedFields({
21
+ name: '',
22
+ title: undefined
23
+ }, ['name', 'title'])).toBe(true);
24
+ });
25
+ });
26
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ2YWxpZGF0ZVRyaW1tZWRGaWVsZHMiLCJkZXNjcmliZSIsIml0IiwiZXhwZWN0IiwibmFtZSIsInRpdGxlIiwidG9CZSIsInVuZGVmaW5lZCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy92YWxpZGF0ZVRyaW1tZWRGaWVsZHMuc3BlYy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB2YWxpZGF0ZVRyaW1tZWRGaWVsZHMgfSBmcm9tICcuL3ZhbGlkYXRlVHJpbW1lZEZpZWxkcydcblxuZGVzY3JpYmUoJ3ZhbGlkYXRlVHJpbW1lZEZpZWxkcycsICgpID0+IHtcbiAgaXQoJ3JldHVybnMgdHJ1ZSB3aGVuIGZpZWxkcyBoYXZlIG5vIGxlYWRpbmcgb3IgdHJhaWxpbmcgc3BhY2VzJywgKCkgPT4ge1xuICAgIGV4cGVjdCh2YWxpZGF0ZVRyaW1tZWRGaWVsZHMoeyBuYW1lOiAnTWFpYScsIHRpdGxlOiAnQWdlbnQnIH0sIFsnbmFtZScsICd0aXRsZSddKSkudG9CZSh0cnVlKVxuICB9KVxuXG4gIGl0KCdyZXR1cm5zIGZhbHNlIHdoZW4gYSBmaWVsZCBoYXMgbGVhZGluZyBzcGFjZXMnLCAoKSA9PiB7XG4gICAgZXhwZWN0KHZhbGlkYXRlVHJpbW1lZEZpZWxkcyh7IG5hbWU6ICcgTWFpYScgfSwgWyduYW1lJ10pKS50b0JlKGZhbHNlKVxuICB9KVxuXG4gIGl0KCdyZXR1cm5zIGZhbHNlIHdoZW4gYSBmaWVsZCBoYXMgdHJhaWxpbmcgc3BhY2VzJywgKCkgPT4ge1xuICAgIGV4cGVjdCh2YWxpZGF0ZVRyaW1tZWRGaWVsZHMoeyBuYW1lOiAnTWFpYSAnIH0sIFsnbmFtZSddKSkudG9CZShmYWxzZSlcbiAgfSlcblxuICBpdCgndHJlYXRzIGVtcHR5IGFuZCBtaXNzaW5nIHZhbHVlcyBhcyB2YWxpZCcsICgpID0+IHtcbiAgICBleHBlY3QodmFsaWRhdGVUcmltbWVkRmllbGRzKHsgbmFtZTogJycsIHRpdGxlOiB1bmRlZmluZWQgfSwgWyduYW1lJywgJ3RpdGxlJ10pKS50b0JlKHRydWUpXG4gIH0pXG59KVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxxQkFBcUIsUUFBUSx5QkFBeUI7QUFFL0RDLFFBQVEsQ0FBQyx1QkFBdUIsRUFBRSxZQUFNO0VBQ3RDQyxFQUFFLENBQUMsNkRBQTZELEVBQUUsWUFBTTtJQUN0RUMsTUFBTSxDQUFDSCxxQkFBcUIsQ0FBQztNQUFFSSxJQUFJLEVBQUUsTUFBTTtNQUFFQyxLQUFLLEVBQUU7SUFBUSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDQyxJQUFJLENBQUMsSUFBSSxDQUFDO0VBQy9GLENBQUMsQ0FBQztFQUVGSixFQUFFLENBQUMsK0NBQStDLEVBQUUsWUFBTTtJQUN4REMsTUFBTSxDQUFDSCxxQkFBcUIsQ0FBQztNQUFFSSxJQUFJLEVBQUU7SUFBUSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUNFLElBQUksQ0FBQyxLQUFLLENBQUM7RUFDeEUsQ0FBQyxDQUFDO0VBRUZKLEVBQUUsQ0FBQyxnREFBZ0QsRUFBRSxZQUFNO0lBQ3pEQyxNQUFNLENBQUNILHFCQUFxQixDQUFDO01BQUVJLElBQUksRUFBRTtJQUFRLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQ0UsSUFBSSxDQUFDLEtBQUssQ0FBQztFQUN4RSxDQUFDLENBQUM7RUFFRkosRUFBRSxDQUFDLDBDQUEwQyxFQUFFLFlBQU07SUFDbkRDLE1BQU0sQ0FBQ0gscUJBQXFCLENBQUM7TUFBRUksSUFBSSxFQUFFLEVBQUU7TUFBRUMsS0FBSyxFQUFFRTtJQUFVLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUNELElBQUksQ0FBQyxJQUFJLENBQUM7RUFDN0YsQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDIiwiaWdub3JlTGlzdCI6W119
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@projectcor/maia-components",
3
- "version": "2.38.4",
3
+ "version": "2.39.1",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "repository": {
7
7
  "type": "git",
8
- "url": "git+https://github.com/ProjectCORTeam/maia-components"
8
+ "url": "git+https://github.com/ProjectCORTeam/maia-components.git"
9
9
  },
10
10
  "license": "ISC",
11
11
  "author": "",
@@ -1,30 +0,0 @@
1
- import { useTranslation } from 'react-i18next';
2
- import { SECTIONS } from '../../../constants/config';
3
- import { MaiaSparkleIcon } from '../../atoms/icons/MaiaSparkleIcon';
4
- import { SCUsageBlockedBanner, SCUsageBlockedContent, SCUsageBlockedIcon, SCUsageBlockedText } from './UsageBlockedBanner.styles';
5
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
6
- export var UsageBlockedBanner = function UsageBlockedBanner(_ref) {
7
- var _ref$attachedToCompos = _ref.attachedToComposer,
8
- attachedToComposer = _ref$attachedToCompos === void 0 ? true : _ref$attachedToCompos,
9
- _ref$variant = _ref.variant,
10
- variant = _ref$variant === void 0 ? 'blocked' : _ref$variant;
11
- var _useTranslation = useTranslation([SECTIONS.chatAI]),
12
- t = _useTranslation.t;
13
- var text = t(variant === 'warning' ? 'chat.usage.warningBanner' : 'chat.usage.blockedBanner');
14
- return /*#__PURE__*/_jsx(SCUsageBlockedBanner, {
15
- role: "status",
16
- "aria-live": "polite",
17
- $attachedToComposer: attachedToComposer,
18
- children: /*#__PURE__*/_jsxs(SCUsageBlockedContent, {
19
- children: [/*#__PURE__*/_jsx(SCUsageBlockedIcon, {
20
- children: /*#__PURE__*/_jsx(MaiaSparkleIcon, {
21
- width: 14,
22
- height: 14
23
- })
24
- }), /*#__PURE__*/_jsx(SCUsageBlockedText, {
25
- children: text
26
- })]
27
- })
28
- });
29
- };
30
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VUcmFuc2xhdGlvbiIsIlNFQ1RJT05TIiwiTWFpYVNwYXJrbGVJY29uIiwiU0NVc2FnZUJsb2NrZWRCYW5uZXIiLCJTQ1VzYWdlQmxvY2tlZENvbnRlbnQiLCJTQ1VzYWdlQmxvY2tlZEljb24iLCJTQ1VzYWdlQmxvY2tlZFRleHQiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiVXNhZ2VCbG9ja2VkQmFubmVyIiwiX3JlZiIsIl9yZWYkYXR0YWNoZWRUb0NvbXBvcyIsImF0dGFjaGVkVG9Db21wb3NlciIsIl9yZWYkdmFyaWFudCIsInZhcmlhbnQiLCJfdXNlVHJhbnNsYXRpb24iLCJjaGF0QUkiLCJ0IiwidGV4dCIsInJvbGUiLCIkYXR0YWNoZWRUb0NvbXBvc2VyIiwiY2hpbGRyZW4iLCJ3aWR0aCIsImhlaWdodCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vbGVjdWxlcy9Vc2FnZUJsb2NrZWRCYW5uZXIvVXNhZ2VCbG9ja2VkQmFubmVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5pbXBvcnQgeyBTRUNUSU9OUyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy9jb25maWcnXG5pbXBvcnQgeyBNYWlhU3BhcmtsZUljb24gfSBmcm9tICcuLi8uLi9hdG9tcy9pY29ucy9NYWlhU3BhcmtsZUljb24nXG5pbXBvcnQge1xuICBTQ1VzYWdlQmxvY2tlZEJhbm5lcixcbiAgU0NVc2FnZUJsb2NrZWRDb250ZW50LFxuICBTQ1VzYWdlQmxvY2tlZEljb24sXG4gIFNDVXNhZ2VCbG9ja2VkVGV4dCxcbn0gZnJvbSAnLi9Vc2FnZUJsb2NrZWRCYW5uZXIuc3R5bGVzJ1xuXG5pbnRlcmZhY2UgVXNhZ2VCbG9ja2VkQmFubmVyUHJvcHMge1xuICAvKiogQGRlcHJlY2F0ZWQgSWdub3JhZG86IGVsIHRleHRvIHNhbGUgc2llbXByZSBkZSBpMThuIHNlZ8O6biBlbCBpZGlvbWEgZGUgbGEgYXBwLiAqL1xuICBtZXNzYWdlPzogc3RyaW5nIHwgbnVsbFxuICAvKiogU2kgZmFsc2UsIGJhbm5lciBhdXTDs25vbW8gKHAuIGVqLiBkZWJham8gZGUgY2FyZHMgTWFpYWtlciksIG5vIHBlZ2FkbyBhbCBjb21wb3Nlci4gKi9cbiAgYXR0YWNoZWRUb0NvbXBvc2VyPzogYm9vbGVhblxuICAvKiogYHdhcm5pbmdgID0g4omlODAlIGRlbCBwb29sIChjaGF0IGhhYmlsaXRhZG8pLiBgYmxvY2tlZGAgPSBwb29sIGFnb3RhZG8uICovXG4gIHZhcmlhbnQ/OiAnYmxvY2tlZCcgfCAnd2FybmluZydcbn1cblxuZXhwb3J0IGNvbnN0IFVzYWdlQmxvY2tlZEJhbm5lciA9ICh7XG4gIGF0dGFjaGVkVG9Db21wb3NlciA9IHRydWUsXG4gIHZhcmlhbnQgPSAnYmxvY2tlZCcsXG59OiBVc2FnZUJsb2NrZWRCYW5uZXJQcm9wcykgPT4ge1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKFtTRUNUSU9OUy5jaGF0QUldKVxuICBjb25zdCB0ZXh0ID0gdCh2YXJpYW50ID09PSAnd2FybmluZycgPyAnY2hhdC51c2FnZS53YXJuaW5nQmFubmVyJyA6ICdjaGF0LnVzYWdlLmJsb2NrZWRCYW5uZXInKVxuXG4gIHJldHVybiAoXG4gICAgPFNDVXNhZ2VCbG9ja2VkQmFubmVyIHJvbGU9XCJzdGF0dXNcIiBhcmlhLWxpdmU9XCJwb2xpdGVcIiAkYXR0YWNoZWRUb0NvbXBvc2VyPXthdHRhY2hlZFRvQ29tcG9zZXJ9PlxuICAgICAgPFNDVXNhZ2VCbG9ja2VkQ29udGVudD5cbiAgICAgICAgPFNDVXNhZ2VCbG9ja2VkSWNvbj5cbiAgICAgICAgICA8TWFpYVNwYXJrbGVJY29uIHdpZHRoPXsxNH0gaGVpZ2h0PXsxNH0gLz5cbiAgICAgICAgPC9TQ1VzYWdlQmxvY2tlZEljb24+XG4gICAgICAgIDxTQ1VzYWdlQmxvY2tlZFRleHQ+e3RleHR9PC9TQ1VzYWdlQmxvY2tlZFRleHQ+XG4gICAgICA8L1NDVXNhZ2VCbG9ja2VkQ29udGVudD5cbiAgICA8L1NDVXNhZ2VCbG9ja2VkQmFubmVyPlxuICApXG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLGNBQWMsUUFBUSxlQUFlO0FBQzlDLFNBQVNDLFFBQVEsUUFBUSwyQkFBMkI7QUFDcEQsU0FBU0MsZUFBZSxRQUFRLG1DQUFtQztBQUNuRSxTQUNFQyxvQkFBb0IsRUFDcEJDLHFCQUFxQixFQUNyQkMsa0JBQWtCLEVBQ2xCQyxrQkFBa0IsUUFDYiw2QkFBNkI7QUFBQSxTQUFBQyxHQUFBLElBQUFDLElBQUEsRUFBQUMsSUFBQSxJQUFBQyxLQUFBO0FBV3BDLE9BQU8sSUFBTUMsa0JBQWtCLEdBQUcsU0FBckJBLGtCQUFrQkEsQ0FBQUMsSUFBQSxFQUdBO0VBQUEsSUFBQUMscUJBQUEsR0FBQUQsSUFBQSxDQUY3QkUsa0JBQWtCO0lBQWxCQSxrQkFBa0IsR0FBQUQscUJBQUEsY0FBRyxJQUFJLEdBQUFBLHFCQUFBO0lBQUFFLFlBQUEsR0FBQUgsSUFBQSxDQUN6QkksT0FBTztJQUFQQSxPQUFPLEdBQUFELFlBQUEsY0FBRyxTQUFTLEdBQUFBLFlBQUE7RUFFbkIsSUFBQUUsZUFBQSxHQUFjakIsY0FBYyxDQUFDLENBQUNDLFFBQVEsQ0FBQ2lCLE1BQU0sQ0FBQyxDQUFDO0lBQXZDQyxDQUFDLEdBQUFGLGVBQUEsQ0FBREUsQ0FBQztFQUNULElBQU1DLElBQUksR0FBR0QsQ0FBQyxDQUFDSCxPQUFPLEtBQUssU0FBUyxHQUFHLDBCQUEwQixHQUFHLDBCQUEwQixDQUFDO0VBRS9GLG9CQUNFUixJQUFBLENBQUNMLG9CQUFvQjtJQUFDa0IsSUFBSSxFQUFDLFFBQVE7SUFBQyxhQUFVLFFBQVE7SUFBQ0MsbUJBQW1CLEVBQUVSLGtCQUFtQjtJQUFBUyxRQUFBLGVBQzdGYixLQUFBLENBQUNOLHFCQUFxQjtNQUFBbUIsUUFBQSxnQkFDcEJmLElBQUEsQ0FBQ0gsa0JBQWtCO1FBQUFrQixRQUFBLGVBQ2pCZixJQUFBLENBQUNOLGVBQWU7VUFBQ3NCLEtBQUssRUFBRSxFQUFHO1VBQUNDLE1BQU0sRUFBRTtRQUFHLENBQUU7TUFBQyxDQUN4QixDQUFDLGVBQ3JCakIsSUFBQSxDQUFDRixrQkFBa0I7UUFBQWlCLFFBQUEsRUFBRUg7TUFBSSxDQUFxQixDQUFDO0lBQUEsQ0FDMUI7RUFBQyxDQUNKLENBQUM7QUFFM0IsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
@@ -1,47 +0,0 @@
1
- import styled from 'styled-components';
2
-
3
- /**
4
- * Figma Bloqueo (Home AI — collapsed): franja sobre el composer.
5
- *
6
- * Fluye en `SCComposerBlockedStack` en vez de posicionarse absoluto, y el solape con el
7
- * input lo da el margen negativo. Con `position: absolute` el banner no empujaba nada y
8
- * el stack le reservaba 36px fijos: alcanzaba para el mensaje en una línea, pero en el
9
- * chat lateral el texto ocupa dos y el input se dibujaba encima, cortándolo. El alto lo
10
- * decide el contenido, que es lo único que sobrevive a un ancho variable.
11
- *
12
- * `min-height` en vez de alto fijo, para que la franja de una línea siga midiendo lo que
13
- * dice el Figma.
14
- */
15
- export var SCUsageBlockedBanner = styled.div.withConfig({
16
- displayName: "UsageBlockedBannerstyles__SCUsageBlockedBanner",
17
- componentId: "sc-mji2o9-0"
18
- })(["position:relative;z-index:0;width:100%;box-sizing:border-box;display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:10px;min-height:47px;margin-bottom:", ";padding:", ";border:1px solid #d9d9d9;border-bottom:", ";border-radius:", ";background-color:#f9f9f9;"], function (_ref) {
19
- var _ref$$attachedToCompo = _ref.$attachedToComposer,
20
- $attachedToComposer = _ref$$attachedToCompo === void 0 ? true : _ref$$attachedToCompo;
21
- return $attachedToComposer ? '-8px' : '0';
22
- }, function (_ref2) {
23
- var _ref2$$attachedToComp = _ref2.$attachedToComposer,
24
- $attachedToComposer = _ref2$$attachedToComp === void 0 ? true : _ref2$$attachedToComp;
25
- return $attachedToComposer ? '10px 12px 18px' : '10px 12px';
26
- }, function (_ref3) {
27
- var _ref3$$attachedToComp = _ref3.$attachedToComposer,
28
- $attachedToComposer = _ref3$$attachedToComp === void 0 ? true : _ref3$$attachedToComp;
29
- return $attachedToComposer ? 'none' : '1px solid #d9d9d9';
30
- }, function (_ref4) {
31
- var _ref4$$attachedToComp = _ref4.$attachedToComposer,
32
- $attachedToComposer = _ref4$$attachedToComp === void 0 ? true : _ref4$$attachedToComp;
33
- return $attachedToComposer ? '8px 8px 0 0' : '8px';
34
- });
35
- export var SCUsageBlockedContent = styled.div.withConfig({
36
- displayName: "UsageBlockedBannerstyles__SCUsageBlockedContent",
37
- componentId: "sc-mji2o9-1"
38
- })(["display:flex;flex-direction:row;align-items:center;gap:10px;min-width:0;flex:1;"]);
39
- export var SCUsageBlockedIcon = styled.div.withConfig({
40
- displayName: "UsageBlockedBannerstyles__SCUsageBlockedIcon",
41
- componentId: "sc-mji2o9-2"
42
- })(["flex-shrink:0;display:flex;align-items:center;justify-content:center;width:14px;height:14px;"]);
43
- export var SCUsageBlockedText = styled.p.withConfig({
44
- displayName: "UsageBlockedBannerstyles__SCUsageBlockedText",
45
- componentId: "sc-mji2o9-3"
46
- })(["margin:0;padding:0;color:#000000;font-family:'Work Sans',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:12px;font-weight:400;line-height:140%;letter-spacing:-0.015em;"]);
47
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJTQ1VzYWdlQmxvY2tlZEJhbm5lciIsImRpdiIsIndpdGhDb25maWciLCJkaXNwbGF5TmFtZSIsImNvbXBvbmVudElkIiwiX3JlZiIsIl9yZWYkJGF0dGFjaGVkVG9Db21wbyIsIiRhdHRhY2hlZFRvQ29tcG9zZXIiLCJfcmVmMiIsIl9yZWYyJCRhdHRhY2hlZFRvQ29tcCIsIl9yZWYzIiwiX3JlZjMkJGF0dGFjaGVkVG9Db21wIiwiX3JlZjQiLCJfcmVmNCQkYXR0YWNoZWRUb0NvbXAiLCJTQ1VzYWdlQmxvY2tlZENvbnRlbnQiLCJTQ1VzYWdlQmxvY2tlZEljb24iLCJTQ1VzYWdlQmxvY2tlZFRleHQiLCJwIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL1VzYWdlQmxvY2tlZEJhbm5lci9Vc2FnZUJsb2NrZWRCYW5uZXIuc3R5bGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnXG5cbi8qKlxuICogRmlnbWEgQmxvcXVlbyAoSG9tZSBBSSDigJQgY29sbGFwc2VkKTogZnJhbmphIHNvYnJlIGVsIGNvbXBvc2VyLlxuICpcbiAqIEZsdXllIGVuIGBTQ0NvbXBvc2VyQmxvY2tlZFN0YWNrYCBlbiB2ZXogZGUgcG9zaWNpb25hcnNlIGFic29sdXRvLCB5IGVsIHNvbGFwZSBjb24gZWxcbiAqIGlucHV0IGxvIGRhIGVsIG1hcmdlbiBuZWdhdGl2by4gQ29uIGBwb3NpdGlvbjogYWJzb2x1dGVgIGVsIGJhbm5lciBubyBlbXB1amFiYSBuYWRhIHlcbiAqIGVsIHN0YWNrIGxlIHJlc2VydmFiYSAzNnB4IGZpam9zOiBhbGNhbnphYmEgcGFyYSBlbCBtZW5zYWplIGVuIHVuYSBsw61uZWEsIHBlcm8gZW4gZWxcbiAqIGNoYXQgbGF0ZXJhbCBlbCB0ZXh0byBvY3VwYSBkb3MgeSBlbCBpbnB1dCBzZSBkaWJ1amFiYSBlbmNpbWEsIGNvcnTDoW5kb2xvLiBFbCBhbHRvIGxvXG4gKiBkZWNpZGUgZWwgY29udGVuaWRvLCBxdWUgZXMgbG8gw7puaWNvIHF1ZSBzb2JyZXZpdmUgYSB1biBhbmNobyB2YXJpYWJsZS5cbiAqXG4gKiBgbWluLWhlaWdodGAgZW4gdmV6IGRlIGFsdG8gZmlqbywgcGFyYSBxdWUgbGEgZnJhbmphIGRlIHVuYSBsw61uZWEgc2lnYSBtaWRpZW5kbyBsbyBxdWVcbiAqIGRpY2UgZWwgRmlnbWEuXG4gKi9cbmV4cG9ydCBjb25zdCBTQ1VzYWdlQmxvY2tlZEJhbm5lciA9IHN0eWxlZC5kaXY8eyAkYXR0YWNoZWRUb0NvbXBvc2VyPzogYm9vbGVhbiB9PmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDEwcHg7XG4gIG1pbi1oZWlnaHQ6IDQ3cHg7XG4gIC8qIDE4cHggYWJham8gKyBtYXJnZW4gbmVnYXRpdm8gPSBlbCBzb2xhcGUgY29uIGVsIGlucHV0LCBzaW4gb2N1bHRhciB0ZXh0by4gKi9cbiAgbWFyZ2luLWJvdHRvbTogJHsoeyAkYXR0YWNoZWRUb0NvbXBvc2VyID0gdHJ1ZSB9KSA9PiAoJGF0dGFjaGVkVG9Db21wb3NlciA/ICctOHB4JyA6ICcwJyl9O1xuICBwYWRkaW5nOiAkeyh7ICRhdHRhY2hlZFRvQ29tcG9zZXIgPSB0cnVlIH0pID0+ICgkYXR0YWNoZWRUb0NvbXBvc2VyID8gJzEwcHggMTJweCAxOHB4JyA6ICcxMHB4IDEycHgnKX07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkOWQ5ZDk7XG4gIGJvcmRlci1ib3R0b206ICR7KHsgJGF0dGFjaGVkVG9Db21wb3NlciA9IHRydWUgfSkgPT4gKCRhdHRhY2hlZFRvQ29tcG9zZXIgPyAnbm9uZScgOiAnMXB4IHNvbGlkICNkOWQ5ZDknKX07XG4gIGJvcmRlci1yYWRpdXM6ICR7KHsgJGF0dGFjaGVkVG9Db21wb3NlciA9IHRydWUgfSkgPT4gKCRhdHRhY2hlZFRvQ29tcG9zZXIgPyAnOHB4IDhweCAwIDAnIDogJzhweCcpfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTtcbmBcblxuZXhwb3J0IGNvbnN0IFNDVXNhZ2VCbG9ja2VkQ29udGVudCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMTBweDtcbiAgbWluLXdpZHRoOiAwO1xuICBmbGV4OiAxO1xuYFxuXG5leHBvcnQgY29uc3QgU0NVc2FnZUJsb2NrZWRJY29uID0gc3R5bGVkLmRpdmBcbiAgZmxleC1zaHJpbms6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMTRweDtcbiAgaGVpZ2h0OiAxNHB4O1xuYFxuXG5leHBvcnQgY29uc3QgU0NVc2FnZUJsb2NrZWRUZXh0ID0gc3R5bGVkLnBgXG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtZmFtaWx5OlxuICAgICdXb3JrIFNhbnMnLFxuICAgIHN5c3RlbS11aSxcbiAgICAtYXBwbGUtc3lzdGVtLFxuICAgIEJsaW5rTWFjU3lzdGVtRm9udCxcbiAgICAnU2Vnb2UgVUknLFxuICAgIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMTVlbTtcbmBcbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsTUFBTSxNQUFNLG1CQUFtQjs7QUFFdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTyxJQUFNQyxvQkFBb0IsR0FBR0QsTUFBTSxDQUFDRSxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsd1NBWTNCLFVBQUFDLElBQUE7RUFBQSxJQUFBQyxxQkFBQSxHQUFBRCxJQUFBLENBQUdFLG1CQUFtQjtJQUFuQkEsbUJBQW1CLEdBQUFELHFCQUFBLGNBQUcsSUFBSSxHQUFBQSxxQkFBQTtFQUFBLE9BQVFDLG1CQUFtQixHQUFHLE1BQU0sR0FBRyxHQUFHO0FBQUEsQ0FBQyxFQUM5RSxVQUFBQyxLQUFBO0VBQUEsSUFBQUMscUJBQUEsR0FBQUQsS0FBQSxDQUFHRCxtQkFBbUI7SUFBbkJBLG1CQUFtQixHQUFBRSxxQkFBQSxjQUFHLElBQUksR0FBQUEscUJBQUE7RUFBQSxPQUFRRixtQkFBbUIsR0FBRyxnQkFBZ0IsR0FBRyxXQUFXO0FBQUEsQ0FBQyxFQUVwRixVQUFBRyxLQUFBO0VBQUEsSUFBQUMscUJBQUEsR0FBQUQsS0FBQSxDQUFHSCxtQkFBbUI7SUFBbkJBLG1CQUFtQixHQUFBSSxxQkFBQSxjQUFHLElBQUksR0FBQUEscUJBQUE7RUFBQSxPQUFRSixtQkFBbUIsR0FBRyxNQUFNLEdBQUcsbUJBQW1CO0FBQUEsQ0FBQyxFQUN4RixVQUFBSyxLQUFBO0VBQUEsSUFBQUMscUJBQUEsR0FBQUQsS0FBQSxDQUFHTCxtQkFBbUI7SUFBbkJBLG1CQUFtQixHQUFBTSxxQkFBQSxjQUFHLElBQUksR0FBQUEscUJBQUE7RUFBQSxPQUFRTixtQkFBbUIsR0FBRyxhQUFhLEdBQUcsS0FBSztBQUFBLENBQUMsQ0FFbkc7QUFFRCxPQUFPLElBQU1PLHFCQUFxQixHQUFHZixNQUFNLENBQUNFLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSx1RkFPOUM7QUFFRCxPQUFPLElBQU1XLGtCQUFrQixHQUFHaEIsTUFBTSxDQUFDRSxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsb0dBTzNDO0FBRUQsT0FBTyxJQUFNWSxrQkFBa0IsR0FBR2pCLE1BQU0sQ0FBQ2tCLENBQUMsQ0FBQWYsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSwwTUFlekMiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -1,2 +0,0 @@
1
- export { UsageBlockedBanner } from './UsageBlockedBanner';
2
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJVc2FnZUJsb2NrZWRCYW5uZXIiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvVXNhZ2VCbG9ja2VkQmFubmVyL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IFVzYWdlQmxvY2tlZEJhbm5lciB9IGZyb20gJy4vVXNhZ2VCbG9ja2VkQmFubmVyJ1xuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxrQkFBa0IsUUFBUSxzQkFBc0IiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -1,9 +0,0 @@
1
- var i18n = {
2
- language: 'es',
3
- t: function t(key, options) {
4
- var _options$defaultValue;
5
- return (_options$defaultValue = options === null || options === void 0 ? void 0 : options.defaultValue) !== null && _options$defaultValue !== void 0 ? _options$defaultValue : key;
6
- }
7
- };
8
- export default i18n;
9
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJpMThuIiwibGFuZ3VhZ2UiLCJ0Iiwia2V5Iiwib3B0aW9ucyIsIl9vcHRpb25zJGRlZmF1bHRWYWx1ZSIsImRlZmF1bHRWYWx1ZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9sYW5nL19fbW9ja3NfXy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBpMThuID0ge1xuICBsYW5ndWFnZTogJ2VzJyxcbiAgdDogKGtleTogc3RyaW5nLCBvcHRpb25zPzogeyBkZWZhdWx0VmFsdWU/OiBzdHJpbmcgfSkgPT4gb3B0aW9ucz8uZGVmYXVsdFZhbHVlID8/IGtleSxcbn1cblxuZXhwb3J0IGRlZmF1bHQgaTE4blxuIl0sIm1hcHBpbmdzIjoiQUFBQSxJQUFNQSxJQUFJLEdBQUc7RUFDWEMsUUFBUSxFQUFFLElBQUk7RUFDZEMsQ0FBQyxFQUFFLFNBQUhBLENBQUNBLENBQUdDLEdBQVcsRUFBRUMsT0FBbUM7SUFBQSxJQUFBQyxxQkFBQTtJQUFBLFFBQUFBLHFCQUFBLEdBQUtELE9BQU8sYUFBUEEsT0FBTyx1QkFBUEEsT0FBTyxDQUFFRSxZQUFZLGNBQUFELHFCQUFBLGNBQUFBLHFCQUFBLEdBQUlGLEdBQUc7RUFBQTtBQUN2RixDQUFDO0FBRUQsZUFBZUgsSUFBSSIsImlnbm9yZUxpc3QiOltdfQ==
@@ -1,45 +0,0 @@
1
- import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
- import _regeneratorRuntime from "@babel/runtime/regenerator";
3
- import { fetchMaia } from '../client';
4
- import { mapCORLang } from '../../../lang/utils';
5
- /**
6
- * GET usage — pool de créditos/usos de IA de la company.
7
- * Path relativo a MAIA_URL (que ya incluye /v1 cuando aplica).
8
- */
9
- export var getUsage = /*#__PURE__*/function () {
10
- var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(lang) {
11
- var response;
12
- return _regeneratorRuntime.wrap(function (_context) {
13
- while (1) switch (_context.prev = _context.next) {
14
- case 0:
15
- _context.next = 1;
16
- return fetchMaia({
17
- path: 'usage',
18
- method: 'GET',
19
- headers: {
20
- 'Accept-Language': mapCORLang(lang)
21
- }
22
- });
23
- case 1:
24
- response = _context.sent;
25
- if (response.ok) {
26
- _context.next = 2;
27
- break;
28
- }
29
- throw new Error("HTTP error! status: ".concat(response.status));
30
- case 2:
31
- _context.next = 3;
32
- return response.json();
33
- case 3:
34
- return _context.abrupt("return", _context.sent);
35
- case 4:
36
- case "end":
37
- return _context.stop();
38
- }
39
- }, _callee);
40
- }));
41
- return function getUsage(_x) {
42
- return _ref.apply(this, arguments);
43
- };
44
- }();
45
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmZXRjaE1haWEiLCJtYXBDT1JMYW5nIiwiZ2V0VXNhZ2UiLCJfcmVmIiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwibWFyayIsIl9jYWxsZWUiLCJsYW5nIiwicmVzcG9uc2UiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsInBhdGgiLCJtZXRob2QiLCJoZWFkZXJzIiwic2VudCIsIm9rIiwiRXJyb3IiLCJjb25jYXQiLCJzdGF0dXMiLCJqc29uIiwiYWJydXB0Iiwic3RvcCIsIl94IiwiYXBwbHkiLCJhcmd1bWVudHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2VydmljZXMvbWFpYS9Vc2FnZS9nZXRVc2FnZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmZXRjaE1haWEgfSBmcm9tICcuLi9jbGllbnQnXG5pbXBvcnQgeyBtYXBDT1JMYW5nIH0gZnJvbSAnLi4vLi4vLi4vbGFuZy91dGlscydcbmltcG9ydCB0eXBlIHsgTWFpYVVzYWdlIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvdXNhZ2UnXG5cbi8qKlxuICogR0VUIHVzYWdlIOKAlCBwb29sIGRlIGNyw6lkaXRvcy91c29zIGRlIElBIGRlIGxhIGNvbXBhbnkuXG4gKiBQYXRoIHJlbGF0aXZvIGEgTUFJQV9VUkwgKHF1ZSB5YSBpbmNsdXllIC92MSBjdWFuZG8gYXBsaWNhKS5cbiAqL1xuZXhwb3J0IGNvbnN0IGdldFVzYWdlID0gYXN5bmMgKGxhbmc6IHN0cmluZyk6IFByb21pc2U8TWFpYVVzYWdlPiA9PiB7XG4gIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2hNYWlhKHtcbiAgICBwYXRoOiAndXNhZ2UnLFxuICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgaGVhZGVyczoge1xuICAgICAgJ0FjY2VwdC1MYW5ndWFnZSc6IG1hcENPUkxhbmcobGFuZyksXG4gICAgfSxcbiAgfSlcblxuICBpZiAoIXJlc3BvbnNlLm9rKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBIVFRQIGVycm9yISBzdGF0dXM6ICR7cmVzcG9uc2Uuc3RhdHVzfWApXG4gIH1cblxuICByZXR1cm4gKGF3YWl0IHJlc3BvbnNlLmpzb24oKSkgYXMgTWFpYVVzYWdlXG59XG4iXSwibWFwcGluZ3MiOiI7O0FBQUEsU0FBU0EsU0FBUyxRQUFRLFdBQVc7QUFDckMsU0FBU0MsVUFBVSxRQUFRLHFCQUFxQjtBQUdoRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU8sSUFBTUMsUUFBUTtFQUFBLElBQUFDLElBQUEsR0FBQUMsaUJBQUEsY0FBQUMsbUJBQUEsQ0FBQUMsSUFBQSxDQUFHLFNBQUFDLFFBQU9DLElBQVk7SUFBQSxJQUFBQyxRQUFBO0lBQUEsT0FBQUosbUJBQUEsQ0FBQUssSUFBQSxXQUFBQyxRQUFBO01BQUEsa0JBQUFBLFFBQUEsQ0FBQUMsSUFBQSxHQUFBRCxRQUFBLENBQUFFLElBQUE7UUFBQTtVQUFBRixRQUFBLENBQUFFLElBQUE7VUFBQSxPQUNsQmIsU0FBUyxDQUFDO1lBQy9CYyxJQUFJLEVBQUUsT0FBTztZQUNiQyxNQUFNLEVBQUUsS0FBSztZQUNiQyxPQUFPLEVBQUU7Y0FDUCxpQkFBaUIsRUFBRWYsVUFBVSxDQUFDTyxJQUFJO1lBQ3BDO1VBQ0YsQ0FBQyxDQUFDO1FBQUE7VUFOSUMsUUFBUSxHQUFBRSxRQUFBLENBQUFNLElBQUE7VUFBQSxJQVFUUixRQUFRLENBQUNTLEVBQUU7WUFBQVAsUUFBQSxDQUFBRSxJQUFBO1lBQUE7VUFBQTtVQUFBLE1BQ1IsSUFBSU0sS0FBSyx3QkFBQUMsTUFBQSxDQUF3QlgsUUFBUSxDQUFDWSxNQUFNLENBQUUsQ0FBQztRQUFBO1VBQUFWLFFBQUEsQ0FBQUUsSUFBQTtVQUFBLE9BRzdDSixRQUFRLENBQUNhLElBQUksQ0FBQyxDQUFDO1FBQUE7VUFBQSxPQUFBWCxRQUFBLENBQUFZLE1BQUEsV0FBQVosUUFBQSxDQUFBTSxJQUFBO1FBQUE7UUFBQTtVQUFBLE9BQUFOLFFBQUEsQ0FBQWEsSUFBQTtNQUFBO0lBQUEsR0FBQWpCLE9BQUE7RUFBQSxDQUM5QjtFQUFBLGdCQWRZTCxRQUFRQSxDQUFBdUIsRUFBQTtJQUFBLE9BQUF0QixJQUFBLENBQUF1QixLQUFBLE9BQUFDLFNBQUE7RUFBQTtBQUFBLEdBY3BCIiwiaWdub3JlTGlzdCI6W119
@@ -1,6 +0,0 @@
1
- import { getUsage } from './getUsage';
2
- export default {
3
- getUsage: getUsage
4
- };
5
- export { getUsage };
6
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJnZXRVc2FnZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9tYWlhL1VzYWdlL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldFVzYWdlIH0gZnJvbSAnLi9nZXRVc2FnZSdcblxuZXhwb3J0IGRlZmF1bHQge1xuICBnZXRVc2FnZSxcbn1cblxuZXhwb3J0IHsgZ2V0VXNhZ2UgfVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxRQUFRLFFBQVEsWUFBWTtBQUVyQyxlQUFlO0VBQ2JBLFFBQVEsRUFBUkE7QUFDRixDQUFDO0FBRUQsU0FBU0EsUUFBUSIsImlnbm9yZUxpc3QiOltdfQ==
@@ -1,34 +0,0 @@
1
- import _createClass from "@babel/runtime/helpers/createClass";
2
- import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
3
- import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
4
- import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
5
- import _inherits from "@babel/runtime/helpers/inherits";
6
- import _wrapNativeSuper from "@babel/runtime/helpers/wrapNativeSuper";
7
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
8
- function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
9
- function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
10
- /**
11
- * Error HTTP tipado de ms-maia (p. ej. 402 usage_quota_exceeded).
12
- * Permite preservar status + code + message cuando fetchCOR falla.
13
- */
14
- export var MaiaApiError = /*#__PURE__*/function (_Error) {
15
- function MaiaApiError(message, status, options) {
16
- var _this;
17
- _classCallCheck(this, MaiaApiError);
18
- _this = _callSuper(this, MaiaApiError, [message]);
19
- _defineProperty(_this, "status", void 0);
20
- _defineProperty(_this, "code", void 0);
21
- _defineProperty(_this, "detail", void 0);
22
- _this.name = 'MaiaApiError';
23
- _this.status = status;
24
- _this.code = options === null || options === void 0 ? void 0 : options.code;
25
- _this.detail = options === null || options === void 0 ? void 0 : options.detail;
26
- return _this;
27
- }
28
- _inherits(MaiaApiError, _Error);
29
- return _createClass(MaiaApiError);
30
- }(/*#__PURE__*/_wrapNativeSuper(Error));
31
- export var isMaiaApiError = function isMaiaApiError(error) {
32
- return error instanceof MaiaApiError;
33
- };
34
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJNYWlhQXBpRXJyb3IiLCJfRXJyb3IiLCJtZXNzYWdlIiwic3RhdHVzIiwib3B0aW9ucyIsIl90aGlzIiwiX2NsYXNzQ2FsbENoZWNrIiwiX2NhbGxTdXBlciIsIl9kZWZpbmVQcm9wZXJ0eSIsIm5hbWUiLCJjb2RlIiwiZGV0YWlsIiwiX2luaGVyaXRzIiwiX2NyZWF0ZUNsYXNzIiwiX3dyYXBOYXRpdmVTdXBlciIsIkVycm9yIiwiaXNNYWlhQXBpRXJyb3IiLCJlcnJvciJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy91dGlscy9NYWlhQXBpRXJyb3IudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBFcnJvciBIVFRQIHRpcGFkbyBkZSBtcy1tYWlhIChwLiBlai4gNDAyIHVzYWdlX3F1b3RhX2V4Y2VlZGVkKS5cbiAqIFBlcm1pdGUgcHJlc2VydmFyIHN0YXR1cyArIGNvZGUgKyBtZXNzYWdlIGN1YW5kbyBmZXRjaENPUiBmYWxsYS5cbiAqL1xuZXhwb3J0IGNsYXNzIE1haWFBcGlFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgcmVhZG9ubHkgc3RhdHVzOiBudW1iZXJcblxuICByZWFkb25seSBjb2RlPzogc3RyaW5nXG5cbiAgcmVhZG9ubHkgZGV0YWlsPzogdW5rbm93blxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIG1lc3NhZ2U6IHN0cmluZyxcbiAgICBzdGF0dXM6IG51bWJlcixcbiAgICBvcHRpb25zPzoge1xuICAgICAgY29kZT86IHN0cmluZ1xuICAgICAgZGV0YWlsPzogdW5rbm93blxuICAgIH1cbiAgKSB7XG4gICAgc3VwZXIobWVzc2FnZSlcbiAgICB0aGlzLm5hbWUgPSAnTWFpYUFwaUVycm9yJ1xuICAgIHRoaXMuc3RhdHVzID0gc3RhdHVzXG4gICAgdGhpcy5jb2RlID0gb3B0aW9ucz8uY29kZVxuICAgIHRoaXMuZGV0YWlsID0gb3B0aW9ucz8uZGV0YWlsXG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGlzTWFpYUFwaUVycm9yID0gKGVycm9yOiB1bmtub3duKTogZXJyb3IgaXMgTWFpYUFwaUVycm9yID0+IGVycm9yIGluc3RhbmNlb2YgTWFpYUFwaUVycm9yXG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBYUEsWUFBWSwwQkFBQUMsTUFBQTtFQU92QixTQUFBRCxhQUNFRSxPQUFlLEVBQ2ZDLE1BQWMsRUFDZEMsT0FHQyxFQUNEO0lBQUEsSUFBQUMsS0FBQTtJQUFBQyxlQUFBLE9BQUFOLFlBQUE7SUFDQUssS0FBQSxHQUFBRSxVQUFBLE9BQUFQLFlBQUEsR0FBTUUsT0FBTztJQUFDTSxlQUFBLENBQUFILEtBQUE7SUFBQUcsZUFBQSxDQUFBSCxLQUFBO0lBQUFHLGVBQUEsQ0FBQUgsS0FBQTtJQUNkQSxLQUFBLENBQUtJLElBQUksR0FBRyxjQUFjO0lBQzFCSixLQUFBLENBQUtGLE1BQU0sR0FBR0EsTUFBTTtJQUNwQkUsS0FBQSxDQUFLSyxJQUFJLEdBQUdOLE9BQU8sYUFBUEEsT0FBTyx1QkFBUEEsT0FBTyxDQUFFTSxJQUFJO0lBQ3pCTCxLQUFBLENBQUtNLE1BQU0sR0FBR1AsT0FBTyxhQUFQQSxPQUFPLHVCQUFQQSxPQUFPLENBQUVPLE1BQU07SUFBQSxPQUFBTixLQUFBO0VBQy9CO0VBQUNPLFNBQUEsQ0FBQVosWUFBQSxFQUFBQyxNQUFBO0VBQUEsT0FBQVksWUFBQSxDQUFBYixZQUFBO0FBQUEsZUFBQWMsZ0JBQUEsQ0FwQitCQyxLQUFLO0FBdUJ2QyxPQUFPLElBQU1DLGNBQWMsR0FBRyxTQUFqQkEsY0FBY0EsQ0FBSUMsS0FBYztFQUFBLE9BQTRCQSxLQUFLLFlBQVlqQixZQUFZO0FBQUEiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -1,115 +0,0 @@
1
- import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
- import _regeneratorRuntime from "@babel/runtime/regenerator";
4
- 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; }
5
- 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; }
6
- import { create } from 'zustand';
7
- import i18n from '../lang';
8
- import { getUsage } from '../services/maia/Usage';
9
- import { isUsageNearLimit, USAGE_QUOTA_EXCEEDED_CODE } from '../types/usage';
10
- import { getUsageBlockedBannerText } from '../utils/usageBlockedMessage';
11
- var initialState = {
12
- usage: null,
13
- blocked: false,
14
- nearLimit: false,
15
- quotaExceededMessage: null,
16
- loading: false,
17
- fetched: false
18
- };
19
-
20
- /** Evita que un GET usage en vuelo pise un 402 más reciente. */
21
- var fetchSeq = 0;
22
- export var useUsageStore = create(function (set, get) {
23
- return _objectSpread(_objectSpread({}, initialState), {}, {
24
- fetchUsage: function () {
25
- var _fetchUsage = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
26
- var seq, usage, blocked, _t;
27
- return _regeneratorRuntime.wrap(function (_context) {
28
- while (1) switch (_context.prev = _context.next) {
29
- case 0:
30
- fetchSeq += 1;
31
- seq = fetchSeq;
32
- set({
33
- loading: true
34
- });
35
- _context.prev = 1;
36
- _context.next = 2;
37
- return getUsage(i18n.language);
38
- case 2:
39
- usage = _context.sent;
40
- if (!(seq !== fetchSeq)) {
41
- _context.next = 3;
42
- break;
43
- }
44
- return _context.abrupt("return");
45
- case 3:
46
- blocked = usage.blocked === true;
47
- set(_objectSpread({
48
- usage: usage,
49
- // Solo bloquear cuando el backend lo dice explícitamente (fail-open si falta).
50
- blocked: blocked,
51
- nearLimit: isUsageNearLimit(usage, blocked),
52
- loading: false,
53
- fetched: true
54
- }, blocked ? {
55
- quotaExceededMessage: getUsageBlockedBannerText()
56
- } : {
57
- quotaExceededMessage: null
58
- }));
59
- _context.next = 6;
60
- break;
61
- case 4:
62
- _context.prev = 4;
63
- _t = _context["catch"](1);
64
- if (!(seq !== fetchSeq)) {
65
- _context.next = 5;
66
- break;
67
- }
68
- return _context.abrupt("return");
69
- case 5:
70
- // Fail-open: si usage no responde, no desbloquear un 402 ya aplicado.
71
- console.error('Failed to fetch MAIA usage', _t);
72
- set(function (state) {
73
- return {
74
- loading: false,
75
- fetched: true,
76
- blocked: state.blocked
77
- };
78
- });
79
- case 6:
80
- case "end":
81
- return _context.stop();
82
- }
83
- }, _callee, null, [[1, 4]]);
84
- }));
85
- function fetchUsage() {
86
- return _fetchUsage.apply(this, arguments);
87
- }
88
- return fetchUsage;
89
- }(),
90
- applyQuotaExceeded: function applyQuotaExceeded() {
91
- // Invalida fetches en vuelo para que no limpien el bloqueo del 402.
92
- fetchSeq += 1;
93
- set({
94
- blocked: true,
95
- nearLimit: false,
96
- quotaExceededMessage: getUsageBlockedBannerText()
97
- });
98
- // Alinear el resto de la UI con el backend (race del pool compartido).
99
- get().fetchUsage()["catch"](function () {
100
- return undefined;
101
- });
102
- },
103
- reset: function reset() {
104
- fetchSeq += 1;
105
- set(_objectSpread({}, initialState));
106
- }
107
- });
108
- });
109
- export var getUsageStoreState = function getUsageStoreState() {
110
- return useUsageStore.getState();
111
- };
112
- export var isUsageQuotaExceededError = function isUsageQuotaExceededError(code) {
113
- return code === USAGE_QUOTA_EXCEEDED_CODE;
114
- };
115
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGUiLCJpMThuIiwiZ2V0VXNhZ2UiLCJpc1VzYWdlTmVhckxpbWl0IiwiVVNBR0VfUVVPVEFfRVhDRUVERURfQ09ERSIsImdldFVzYWdlQmxvY2tlZEJhbm5lclRleHQiLCJpbml0aWFsU3RhdGUiLCJ1c2FnZSIsImJsb2NrZWQiLCJuZWFyTGltaXQiLCJxdW90YUV4Y2VlZGVkTWVzc2FnZSIsImxvYWRpbmciLCJmZXRjaGVkIiwiZmV0Y2hTZXEiLCJ1c2VVc2FnZVN0b3JlIiwic2V0IiwiZ2V0IiwiX29iamVjdFNwcmVhZCIsImZldGNoVXNhZ2UiLCJfZmV0Y2hVc2FnZSIsIl9hc3luY1RvR2VuZXJhdG9yIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwic2VxIiwiX3QiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsImxhbmd1YWdlIiwic2VudCIsImFicnVwdCIsImNvbnNvbGUiLCJlcnJvciIsInN0YXRlIiwic3RvcCIsImFwcGx5IiwiYXJndW1lbnRzIiwiYXBwbHlRdW90YUV4Y2VlZGVkIiwidW5kZWZpbmVkIiwicmVzZXQiLCJnZXRVc2FnZVN0b3JlU3RhdGUiLCJnZXRTdGF0ZSIsImlzVXNhZ2VRdW90YUV4Y2VlZGVkRXJyb3IiLCJjb2RlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0b3JlL3VzZVVzYWdlU3RvcmUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlIH0gZnJvbSAnenVzdGFuZCdcbmltcG9ydCBpMThuIGZyb20gJy4uL2xhbmcnXG5pbXBvcnQgeyBnZXRVc2FnZSB9IGZyb20gJy4uL3NlcnZpY2VzL21haWEvVXNhZ2UnXG5pbXBvcnQgdHlwZSB7IE1haWFVc2FnZSB9IGZyb20gJy4uL3R5cGVzL3VzYWdlJ1xuaW1wb3J0IHsgaXNVc2FnZU5lYXJMaW1pdCwgVVNBR0VfUVVPVEFfRVhDRUVERURfQ09ERSB9IGZyb20gJy4uL3R5cGVzL3VzYWdlJ1xuaW1wb3J0IHsgZ2V0VXNhZ2VCbG9ja2VkQmFubmVyVGV4dCB9IGZyb20gJy4uL3V0aWxzL3VzYWdlQmxvY2tlZE1lc3NhZ2UnXG5cbnR5cGUgVXNhZ2VTdGF0ZSA9IHtcbiAgdXNhZ2U6IE1haWFVc2FnZSB8IG51bGxcbiAgLyoqIEZ1ZW50ZSBkZSB2ZXJkYWQgVUk6IHRydWUgc2kgR0VUIHVzYWdlLmJsb2NrZWQgbyB0cmFzIDQwMiB1c2FnZV9xdW90YV9leGNlZWRlZC4gKi9cbiAgYmxvY2tlZDogYm9vbGVhblxuICAvKiogQXZpc28gYWwg4omlODAlIGRlbCBwb29sOyBlbCBjaGF0IHNpZ3VlIGhhYmlsaXRhZG8uICovXG4gIG5lYXJMaW1pdDogYm9vbGVhblxuICAvKiogVGV4dG8gZGVsIGNhcnRlbCwgc2llbXByZSBlbiBlbCBpZGlvbWEgZGUgbGEgYXBwIChubyBlbCBtZW5zYWplIGNydWRvIGRlbCA0MDIpLiAqL1xuICBxdW90YUV4Y2VlZGVkTWVzc2FnZTogc3RyaW5nIHwgbnVsbFxuICBsb2FkaW5nOiBib29sZWFuXG4gIGZldGNoZWQ6IGJvb2xlYW5cbn1cblxudHlwZSBVc2FnZUFjdGlvbnMgPSB7XG4gIGZldGNoVXNhZ2U6ICgpID0+IFByb21pc2U8dm9pZD5cbiAgLyoqIE1hcmNhIGJsb3F1ZW8gaW5tZWRpYXRvIHBvciA0MDI7IHJlZnJlc2NhIHVzYWdlIGVuIHBhcmFsZWxvLiAqL1xuICBhcHBseVF1b3RhRXhjZWVkZWQ6ICgpID0+IHZvaWRcbiAgcmVzZXQ6ICgpID0+IHZvaWRcbn1cblxuY29uc3QgaW5pdGlhbFN0YXRlOiBVc2FnZVN0YXRlID0ge1xuICB1c2FnZTogbnVsbCxcbiAgYmxvY2tlZDogZmFsc2UsXG4gIG5lYXJMaW1pdDogZmFsc2UsXG4gIHF1b3RhRXhjZWVkZWRNZXNzYWdlOiBudWxsLFxuICBsb2FkaW5nOiBmYWxzZSxcbiAgZmV0Y2hlZDogZmFsc2UsXG59XG5cbi8qKiBFdml0YSBxdWUgdW4gR0VUIHVzYWdlIGVuIHZ1ZWxvIHBpc2UgdW4gNDAyIG3DoXMgcmVjaWVudGUuICovXG5sZXQgZmV0Y2hTZXEgPSAwXG5cbmV4cG9ydCBjb25zdCB1c2VVc2FnZVN0b3JlID0gY3JlYXRlPFVzYWdlU3RhdGUgJiBVc2FnZUFjdGlvbnM+KChzZXQsIGdldCkgPT4gKHtcbiAgLi4uaW5pdGlhbFN0YXRlLFxuXG4gIGZldGNoVXNhZ2U6IGFzeW5jICgpID0+IHtcbiAgICBmZXRjaFNlcSArPSAxXG4gICAgY29uc3Qgc2VxID0gZmV0Y2hTZXFcbiAgICBzZXQoeyBsb2FkaW5nOiB0cnVlIH0pXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHVzYWdlID0gYXdhaXQgZ2V0VXNhZ2UoaTE4bi5sYW5ndWFnZSlcbiAgICAgIGlmIChzZXEgIT09IGZldGNoU2VxKSByZXR1cm5cblxuICAgICAgY29uc3QgYmxvY2tlZCA9IHVzYWdlLmJsb2NrZWQgPT09IHRydWVcbiAgICAgIHNldCh7XG4gICAgICAgIHVzYWdlLFxuICAgICAgICAvLyBTb2xvIGJsb3F1ZWFyIGN1YW5kbyBlbCBiYWNrZW5kIGxvIGRpY2UgZXhwbMOtY2l0YW1lbnRlIChmYWlsLW9wZW4gc2kgZmFsdGEpLlxuICAgICAgICBibG9ja2VkLFxuICAgICAgICBuZWFyTGltaXQ6IGlzVXNhZ2VOZWFyTGltaXQodXNhZ2UsIGJsb2NrZWQpLFxuICAgICAgICBsb2FkaW5nOiBmYWxzZSxcbiAgICAgICAgZmV0Y2hlZDogdHJ1ZSxcbiAgICAgICAgLi4uKGJsb2NrZWRcbiAgICAgICAgICA/IHsgcXVvdGFFeGNlZWRlZE1lc3NhZ2U6IGdldFVzYWdlQmxvY2tlZEJhbm5lclRleHQoKSB9XG4gICAgICAgICAgOiB7IHF1b3RhRXhjZWVkZWRNZXNzYWdlOiBudWxsIH0pLFxuICAgICAgfSlcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgaWYgKHNlcSAhPT0gZmV0Y2hTZXEpIHJldHVyblxuICAgICAgLy8gRmFpbC1vcGVuOiBzaSB1c2FnZSBubyByZXNwb25kZSwgbm8gZGVzYmxvcXVlYXIgdW4gNDAyIHlhIGFwbGljYWRvLlxuICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIGZldGNoIE1BSUEgdXNhZ2UnLCBlcnJvcilcbiAgICAgIHNldChzdGF0ZSA9PiAoe1xuICAgICAgICBsb2FkaW5nOiBmYWxzZSxcbiAgICAgICAgZmV0Y2hlZDogdHJ1ZSxcbiAgICAgICAgYmxvY2tlZDogc3RhdGUuYmxvY2tlZCxcbiAgICAgIH0pKVxuICAgIH1cbiAgfSxcblxuICBhcHBseVF1b3RhRXhjZWVkZWQ6ICgpID0+IHtcbiAgICAvLyBJbnZhbGlkYSBmZXRjaGVzIGVuIHZ1ZWxvIHBhcmEgcXVlIG5vIGxpbXBpZW4gZWwgYmxvcXVlbyBkZWwgNDAyLlxuICAgIGZldGNoU2VxICs9IDFcbiAgICBzZXQoe1xuICAgICAgYmxvY2tlZDogdHJ1ZSxcbiAgICAgIG5lYXJMaW1pdDogZmFsc2UsXG4gICAgICBxdW90YUV4Y2VlZGVkTWVzc2FnZTogZ2V0VXNhZ2VCbG9ja2VkQmFubmVyVGV4dCgpLFxuICAgIH0pXG4gICAgLy8gQWxpbmVhciBlbCByZXN0byBkZSBsYSBVSSBjb24gZWwgYmFja2VuZCAocmFjZSBkZWwgcG9vbCBjb21wYXJ0aWRvKS5cbiAgICBnZXQoKVxuICAgICAgLmZldGNoVXNhZ2UoKVxuICAgICAgLmNhdGNoKCgpID0+IHVuZGVmaW5lZClcbiAgfSxcblxuICByZXNldDogKCkgPT4ge1xuICAgIGZldGNoU2VxICs9IDFcbiAgICBzZXQoeyAuLi5pbml0aWFsU3RhdGUgfSlcbiAgfSxcbn0pKVxuXG5leHBvcnQgY29uc3QgZ2V0VXNhZ2VTdG9yZVN0YXRlID0gKCkgPT4gdXNlVXNhZ2VTdG9yZS5nZXRTdGF0ZSgpXG5cbmV4cG9ydCBjb25zdCBpc1VzYWdlUXVvdGFFeGNlZWRlZEVycm9yID0gKGNvZGU/OiBzdHJpbmcpOiBib29sZWFuID0+IGNvZGUgPT09IFVTQUdFX1FVT1RBX0VYQ0VFREVEX0NPREVcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxTQUFTQSxNQUFNLFFBQVEsU0FBUztBQUNoQyxPQUFPQyxJQUFJLE1B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
@@ -1,16 +0,0 @@
1
- /**
2
- * Respuesta de GET /v1/usage (pool de tokens por company).
3
- * `blocked` es la fuente de verdad del FE — no recomputar por consumed vs granted.
4
- */
5
-
6
- /** Detail body de POST orchestrator cuando HTTP 402 + code usage_quota_exceeded. */
7
-
8
- export var USAGE_QUOTA_EXCEEDED_CODE = 'usage_quota_exceeded';
9
-
10
- /** Umbral del aviso previo al corte (GET /usage.pct). */
11
- export var USAGE_WARNING_PCT = 80;
12
- export var isUsageNearLimit = function isUsageNearLimit(usage, blocked) {
13
- if (blocked || usage == null) return false;
14
- return Number(usage.pct) >= USAGE_WARNING_PCT;
15
- };
16
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJVU0FHRV9RVU9UQV9FWENFRURFRF9DT0RFIiwiVVNBR0VfV0FSTklOR19QQ1QiLCJpc1VzYWdlTmVhckxpbWl0IiwidXNhZ2UiLCJibG9ja2VkIiwiTnVtYmVyIiwicGN0Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL3VzYWdlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUmVzcHVlc3RhIGRlIEdFVCAvdjEvdXNhZ2UgKHBvb2wgZGUgdG9rZW5zIHBvciBjb21wYW55KS5cbiAqIGBibG9ja2VkYCBlcyBsYSBmdWVudGUgZGUgdmVyZGFkIGRlbCBGRSDigJQgbm8gcmVjb21wdXRhciBwb3IgY29uc3VtZWQgdnMgZ3JhbnRlZC5cbiAqL1xuZXhwb3J0IHR5cGUgTWFpYVVzYWdlID0ge1xuICBjb21wYW55X2lkOiBzdHJpbmdcbiAgcGVyaW9kX3N0YXJ0OiBzdHJpbmdcbiAgcGVyaW9kX2VuZDogc3RyaW5nXG4gIHNlYXRzOiBudW1iZXJcbiAgdXNkX3Blcl9zZWF0OiBudW1iZXJcbiAgZ3JhbnRlZF91c2Q6IG51bWJlclxuICBjb25zdW1lZF91c2Q6IG51bWJlclxuICByZW1haW5pbmdfdXNkOiBudW1iZXJcbiAgcGN0OiBudW1iZXJcbiAgYmxvY2tlZDogYm9vbGVhblxuICBjb25zdW1lZF90b2tlbnM6IG51bWJlclxuICBvbl9kZW1hbmRfZ3JhbnRlZF91c2Q6IG51bWJlclxuICBvbl9kZW1hbmRfY29uc3VtZWRfdXNkOiBudW1iZXJcbiAgc2VhdHNfa25vd246IGJvb2xlYW5cbiAgZW5mb3JjZW1lbnRfZW5hYmxlZDogYm9vbGVhblxufVxuXG4vKiogRGV0YWlsIGJvZHkgZGUgUE9TVCBvcmNoZXN0cmF0b3IgY3VhbmRvIEhUVFAgNDAyICsgY29kZSB1c2FnZV9xdW90YV9leGNlZWRlZC4gKi9cbmV4cG9ydCB0eXBlIFVzYWdlUXVvdGFFeGNlZWRlZERldGFpbCA9IHtcbiAgbWVzc2FnZTogc3RyaW5nXG4gIGNvZGU6ICd1c2FnZV9xdW90YV9leGNlZWRlZCdcbiAgZ3JhbnRlZF91c2Q/OiBudW1iZXJcbiAgY29uc3VtZWRfdXNkPzogbnVtYmVyXG4gIHBlcmlvZF9lbmQ/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGNvbnN0IFVTQUdFX1FVT1RBX0VYQ0VFREVEX0NPREUgPSAndXNhZ2VfcXVvdGFfZXhjZWVkZWQnIGFzIGNvbnN0XG5cbi8qKiBVbWJyYWwgZGVsIGF2aXNvIHByZXZpbyBhbCBjb3J0ZSAoR0VUIC91c2FnZS5wY3QpLiAqL1xuZXhwb3J0IGNvbnN0IFVTQUdFX1dBUk5JTkdfUENUID0gODBcblxuZXhwb3J0IGNvbnN0IGlzVXNhZ2VOZWFyTGltaXQgPSAodXNhZ2U6IFBpY2s8TWFpYVVzYWdlLCAncGN0Jz4gfCBudWxsIHwgdW5kZWZpbmVkLCBibG9ja2VkOiBib29sZWFuKTogYm9vbGVhbiA9PiB7XG4gIGlmIChibG9ja2VkIHx8IHVzYWdlID09IG51bGwpIHJldHVybiBmYWxzZVxuICByZXR1cm4gTnVtYmVyKHVzYWdlLnBjdCkgPj0gVVNBR0VfV0FSTklOR19QQ1Rcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7O0FBbUJBOztBQVNBLE9BQU8sSUFBTUEseUJBQXlCLEdBQUcsc0JBQStCOztBQUV4RTtBQUNBLE9BQU8sSUFBTUMsaUJBQWlCLEdBQUcsRUFBRTtBQUVuQyxPQUFPLElBQU1DLGdCQUFnQixHQUFHLFNBQW5CQSxnQkFBZ0JBLENBQUlDLEtBQWdELEVBQUVDLE9BQWdCLEVBQWM7RUFDL0csSUFBSUEsT0FBTyxJQUFJRCxLQUFLLElBQUksSUFBSSxFQUFFLE9BQU8sS0FBSztFQUMxQyxPQUFPRSxNQUFNLENBQUNGLEtBQUssQ0FBQ0csR0FBRyxDQUFDLElBQUlMLGlCQUFpQjtBQUMvQyxDQUFDIiwiaWdub3JlTGlzdCI6W119
@@ -1,11 +0,0 @@
1
- import i18n from '../lang';
2
- import { SECTIONS } from '../constants/config';
3
-
4
- /** Texto del cartel de pool agotado según el idioma activo de la app (no el del 402). */
5
- export var getUsageBlockedBannerText = function getUsageBlockedBannerText() {
6
- return i18n.t('chat.usage.blockedBanner', {
7
- ns: SECTIONS.chatAI,
8
- defaultValue: 'Te quedaste sin usos de IA. Contacta con tu administrador.'
9
- });
10
- };
11
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJpMThuIiwiU0VDVElPTlMiLCJnZXRVc2FnZUJsb2NrZWRCYW5uZXJUZXh0IiwidCIsIm5zIiwiY2hhdEFJIiwiZGVmYXVsdFZhbHVlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL3VzYWdlQmxvY2tlZE1lc3NhZ2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGkxOG4gZnJvbSAnLi4vbGFuZydcbmltcG9ydCB7IFNFQ1RJT05TIH0gZnJvbSAnLi4vY29uc3RhbnRzL2NvbmZpZydcblxuLyoqIFRleHRvIGRlbCBjYXJ0ZWwgZGUgcG9vbCBhZ290YWRvIHNlZ8O6biBlbCBpZGlvbWEgYWN0aXZvIGRlIGxhIGFwcCAobm8gZWwgZGVsIDQwMikuICovXG5leHBvcnQgY29uc3QgZ2V0VXNhZ2VCbG9ja2VkQmFubmVyVGV4dCA9ICgpOiBzdHJpbmcgPT5cbiAgaTE4bi50KCdjaGF0LnVzYWdlLmJsb2NrZWRCYW5uZXInLCB7XG4gICAgbnM6IFNFQ1RJT05TLmNoYXRBSSxcbiAgICBkZWZhdWx0VmFsdWU6ICdUZSBxdWVkYXN0ZSBzaW4gdXNvcyBkZSBJQS4gQ29udGFjdGEgY29uIHR1IGFkbWluaXN0cmFkb3IuJyxcbiAgfSlcbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsSUFBSSxNQUFNLFNBQVM7QUFDMUIsU0FBU0MsUUFBUSxRQUFRLHFCQUFxQjs7QUFFOUM7QUFDQSxPQUFPLElBQU1DLHlCQUF5QixHQUFHLFNBQTVCQSx5QkFBeUJBLENBQUE7RUFBQSxPQUNwQ0YsSUFBSSxDQUFDRyxDQUFDLENBQUMsMEJBQTBCLEVBQUU7SUFDakNDLEVBQUUsRUFBRUgsUUFBUSxDQUFDSSxNQUFNO0lBQ25CQyxZQUFZLEVBQUU7RUFDaEIsQ0FBQyxDQUFDO0FBQUEiLCJpZ25vcmVMaXN0IjpbXX0=