@projectcor/maia-components 2.35.6 → 2.36.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/README.md +2 -0
  2. package/lib/components/atoms/ActionableButton.js +1 -6
  3. package/lib/components/atoms/ContextMentionChip/buildChipElement.js +12 -1
  4. package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.js +127 -5
  5. package/lib/components/atoms/ContextMentionItem/ContextMentionItem.js +2 -29
  6. package/lib/components/atoms/ContextMentionItem/ContextMentionItem.styles.js +24 -33
  7. package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.js +2 -19
  8. package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.js +4 -20
  9. package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.styles.js +7 -18
  10. package/lib/components/atoms/MAIAInput/MAIAInput.js +243 -42
  11. package/lib/components/atoms/MAIAInput/styles.js +41 -44
  12. package/lib/components/atoms/SkillsDropdown/SkillsDropdown.js +208 -0
  13. package/lib/components/atoms/SkillsDropdown/SkillsDropdown.styles.js +77 -0
  14. package/lib/components/atoms/SkillsDropdown/index.js +2 -0
  15. package/lib/components/atoms/icons/PlusIcon.js +29 -0
  16. package/lib/components/atoms/icons/SkillCreatedByIcon.js +20 -0
  17. package/lib/components/atoms/icons/SkillVisibilityEveryoneIcon.js +23 -0
  18. package/lib/components/atoms/icons/SkillVisibilityOnlyMeIcon.js +23 -0
  19. package/lib/components/atoms/icons/SkillsNavIcon.js +4 -7
  20. package/lib/components/atoms/icons/index.js +5 -1
  21. package/lib/components/molecules/ChatAIContent/ChatAIContent.js +5 -3
  22. package/lib/components/molecules/ChatAIHome/ChatAIHome.js +5 -16
  23. package/lib/components/molecules/ChatAIHome/ChatAIHomeMaiaker.js +2 -23
  24. package/lib/components/molecules/ChatAIHome/ChatAIHomeMaiaker.styles.js +5 -33
  25. package/lib/components/molecules/ChatAIHome/styles.js +2 -11
  26. package/lib/components/molecules/ChatAIMessages/ChatAICreateAgentActions.js +20 -31
  27. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +2 -7
  28. package/lib/components/molecules/ChatAIModal/ChatAIModal.js +61 -21
  29. package/lib/components/molecules/ChatAIModal/ChatAIModal.styles.js +2 -2
  30. package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions.js +1 -8
  31. package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions.styles.js +9 -15
  32. package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.js +3 -14
  33. package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.styles.js +2 -2
  34. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +11 -17
  35. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.styles.js +5 -14
  36. package/lib/components/molecules/ChatAIModal/layout.js +2 -2
  37. package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.js +2 -12
  38. package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.styles.js +3 -3
  39. package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.js +334 -272
  40. package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.styles.js +132 -109
  41. package/lib/components/molecules/ChatFooter/ChatFooter.js +57 -63
  42. package/lib/components/molecules/ChatFooter/styles.js +6 -12
  43. package/lib/components/molecules/ContextMentionInput/ContextMentionInput.js +1 -3
  44. package/lib/components/molecules/MessageFeedback/MessageFeedback.js +5 -15
  45. package/lib/components/molecules/Sidebar/Sidebar.js +15 -7
  46. package/lib/components/molecules/Sidebar/Sidebar.layout.styles.js +3 -3
  47. package/lib/components/organisms/AbmAgentModal/AbmAgentModal.js +11 -36
  48. package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.js +26 -38
  49. package/lib/components/organisms/AbmSkillModal/AbmSkillModal.js +430 -209
  50. package/lib/components/organisms/AbmSkillModal/AbmSkillModal.styles.js +131 -74
  51. package/lib/components/organisms/ChatAI/ChatAI.js +1 -6
  52. package/lib/constants/config.js +1 -4
  53. package/lib/constants/permissions/utils.js +3 -3
  54. package/lib/hooks/useChatManager/useChatManager.js +34 -55
  55. package/lib/hooks/useContextMentions.js +96 -56
  56. package/lib/hooks/useEntitySearch.js +92 -278
  57. package/lib/hooks/useEvent.js +15 -2
  58. package/lib/hooks/useMentionAllowedTypes.js +9 -25
  59. package/lib/hooks/useMentionPopover.js +9 -33
  60. package/lib/hooks/useSkillsCatalog.js +66 -0
  61. package/lib/lang/br/index.js +35 -12
  62. package/lib/lang/en/index.js +35 -12
  63. package/lib/lang/es/index.js +36 -13
  64. package/lib/lang/fr/index.js +36 -13
  65. package/lib/services/maia/Chats/getChatsByUserId.js +1 -1
  66. package/lib/services/maia/Orchestrator/orchestrator.js +11 -5
  67. package/lib/services/maia/Skills/createSkill.js +1 -1
  68. package/lib/services/maia/Skills/getSkills.js +70 -40
  69. package/lib/services/maia/Skills/updateSkill.js +1 -1
  70. package/lib/services/maia/index.js +2 -4
  71. package/lib/services/utils/fetchCOR.js +57 -106
  72. package/lib/services/utils/index.js +1 -2
  73. package/lib/store/faqsStore.types.js +1 -1
  74. package/lib/store/index.js +1 -2
  75. package/lib/store/sessions/sessionStreamManager.js +35 -61
  76. package/lib/store/sessions/sessions.types.js +1 -1
  77. package/lib/store/useChatsStore.js +3 -3
  78. package/lib/test/buttonMock.js +22 -0
  79. package/lib/test/fetchPolyfill.js +160 -0
  80. package/lib/test/fileMock.js +2 -0
  81. package/lib/test/global-context.js +49 -0
  82. package/lib/test/iconMock.js +19 -0
  83. package/lib/test/mockFetch.js +49 -0
  84. package/lib/test/portalRoot.js +13 -0
  85. package/lib/test/styleMock.js +2 -0
  86. package/lib/test/test-utils.js +26 -0
  87. package/lib/test/tooltipMock.js +11 -0
  88. package/lib/types/Chat.js +1 -1
  89. package/lib/types/FrequentlyAskedQuestion.js +1 -1
  90. package/lib/types/skill.js +1 -1
  91. package/lib/utils/contextMentionTriggers.js +2 -5
  92. package/lib/utils/renderContextMentions.js +39 -18
  93. package/package.json +9 -6
  94. package/lib/components/molecules/UsageBlockedBanner/UsageBlockedBanner.js +0 -33
  95. package/lib/components/molecules/UsageBlockedBanner/UsageBlockedBanner.styles.js +0 -47
  96. package/lib/components/molecules/UsageBlockedBanner/index.js +0 -2
  97. package/lib/services/maia/Usage/getUsage.js +0 -45
  98. package/lib/services/maia/Usage/index.js +0 -6
  99. package/lib/services/utils/MaiaApiError.js +0 -34
  100. package/lib/store/useUsageStore.js +0 -108
  101. package/lib/types/usage.js +0 -9
@@ -1,108 +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 { USAGE_QUOTA_EXCEEDED_CODE } from '../types/usage';
10
- var initialState = {
11
- usage: null,
12
- blocked: false,
13
- quotaExceededMessage: null,
14
- loading: false,
15
- fetched: false
16
- };
17
-
18
- /** Evita que un GET usage en vuelo pise un 402 más reciente. */
19
- var fetchSeq = 0;
20
- export var useUsageStore = create(function (set, get) {
21
- return _objectSpread(_objectSpread({}, initialState), {}, {
22
- fetchUsage: function () {
23
- var _fetchUsage = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
24
- var seq, usage, _t;
25
- return _regeneratorRuntime.wrap(function (_context) {
26
- while (1) switch (_context.prev = _context.next) {
27
- case 0:
28
- fetchSeq += 1;
29
- seq = fetchSeq;
30
- set({
31
- loading: true
32
- });
33
- _context.prev = 1;
34
- _context.next = 2;
35
- return getUsage(i18n.language);
36
- case 2:
37
- usage = _context.sent;
38
- if (!(seq !== fetchSeq)) {
39
- _context.next = 3;
40
- break;
41
- }
42
- return _context.abrupt("return");
43
- case 3:
44
- set(_objectSpread({
45
- usage: usage,
46
- // Solo bloquear cuando el backend lo dice explícitamente (fail-open si falta).
47
- blocked: usage.blocked === true,
48
- loading: false,
49
- fetched: true
50
- }, usage.blocked !== true ? {
51
- quotaExceededMessage: null
52
- } : {}));
53
- _context.next = 6;
54
- break;
55
- case 4:
56
- _context.prev = 4;
57
- _t = _context["catch"](1);
58
- if (!(seq !== fetchSeq)) {
59
- _context.next = 5;
60
- break;
61
- }
62
- return _context.abrupt("return");
63
- case 5:
64
- // Fail-open: si usage no responde, no desbloquear un 402 ya aplicado.
65
- console.error('Failed to fetch MAIA usage', _t);
66
- set(function (state) {
67
- return {
68
- loading: false,
69
- fetched: true,
70
- blocked: state.blocked
71
- };
72
- });
73
- case 6:
74
- case "end":
75
- return _context.stop();
76
- }
77
- }, _callee, null, [[1, 4]]);
78
- }));
79
- function fetchUsage() {
80
- return _fetchUsage.apply(this, arguments);
81
- }
82
- return fetchUsage;
83
- }(),
84
- applyQuotaExceeded: function applyQuotaExceeded(message) {
85
- // Invalida fetches en vuelo para que no limpien el bloqueo del 402.
86
- fetchSeq += 1;
87
- set({
88
- blocked: true,
89
- quotaExceededMessage: message || null
90
- });
91
- // Alinear el resto de la UI con el backend (race del pool compartido).
92
- get().fetchUsage()["catch"](function () {
93
- return undefined;
94
- });
95
- },
96
- reset: function reset() {
97
- fetchSeq += 1;
98
- set(_objectSpread({}, initialState));
99
- }
100
- });
101
- });
102
- export var getUsageStoreState = function getUsageStoreState() {
103
- return useUsageStore.getState();
104
- };
105
- export var isUsageQuotaExceededError = function isUsageQuotaExceededError(code) {
106
- return code === USAGE_QUOTA_EXCEEDED_CODE;
107
- };
108
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGUiLCJpMThuIiwiZ2V0VXNhZ2UiLCJVU0FHRV9RVU9UQV9FWENFRURFRF9DT0RFIiwiaW5pdGlhbFN0YXRlIiwidXNhZ2UiLCJibG9ja2VkIiwicXVvdGFFeGNlZWRlZE1lc3NhZ2UiLCJsb2FkaW5nIiwiZmV0Y2hlZCIsImZldGNoU2VxIiwidXNlVXNhZ2VTdG9yZSIsInNldCIsImdldCIsIl9vYmplY3RTcHJlYWQiLCJmZXRjaFVzYWdlIiwiX2ZldGNoVXNhZ2UiLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJtYXJrIiwiX2NhbGxlZSIsInNlcSIsIl90Iiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJsYW5ndWFnZSIsInNlbnQiLCJhYnJ1cHQiLCJjb25zb2xlIiwiZXJyb3IiLCJzdGF0ZSIsInN0b3AiLCJhcHBseSIsImFyZ3VtZW50cyIsImFwcGx5UXVvdGFFeGNlZWRlZCIsIm1lc3NhZ2UiLCJ1bmRlZmluZWQiLCJyZXNldCIsImdldFVzYWdlU3RvcmVTdGF0ZSIsImdldFN0YXRlIiwiaXNVc2FnZVF1b3RhRXhjZWVkZWRFcnJvciIsImNvZGUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RvcmUvdXNlVXNhZ2VTdG9yZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGUgfSBmcm9tICd6dXN0YW5kJ1xuaW1wb3J0IGkxOG4gZnJvbSAnLi4vbGFuZydcbmltcG9ydCB7IGdldFVzYWdlIH0gZnJvbSAnLi4vc2VydmljZXMvbWFpYS9Vc2FnZSdcbmltcG9ydCB0eXBlIHsgTWFpYVVzYWdlIH0gZnJvbSAnLi4vdHlwZXMvdXNhZ2UnXG5pbXBvcnQgeyBVU0FHRV9RVU9UQV9FWENFRURFRF9DT0RFIH0gZnJvbSAnLi4vdHlwZXMvdXNhZ2UnXG5cbnR5cGUgVXNhZ2VTdGF0ZSA9IHtcbiAgdXNhZ2U6IE1haWFVc2FnZSB8IG51bGxcbiAgLyoqIEZ1ZW50ZSBkZSB2ZXJkYWQgVUk6IHRydWUgc2kgR0VUIHVzYWdlLmJsb2NrZWQgbyB0cmFzIDQwMiB1c2FnZV9xdW90YV9leGNlZWRlZC4gKi9cbiAgYmxvY2tlZDogYm9vbGVhblxuICAvKiogTWVuc2FqZSBkZWwgNDAyIChsb2NhbGl6YWRvIHBvciBBY2NlcHQtTGFuZ3VhZ2UpIHBhcmEgbW9zdHJhciBhcy1pcy4gKi9cbiAgcXVvdGFFeGNlZWRlZE1lc3NhZ2U6IHN0cmluZyB8IG51bGxcbiAgbG9hZGluZzogYm9vbGVhblxuICBmZXRjaGVkOiBib29sZWFuXG59XG5cbnR5cGUgVXNhZ2VBY3Rpb25zID0ge1xuICBmZXRjaFVzYWdlOiAoKSA9PiBQcm9taXNlPHZvaWQ+XG4gIC8qKiBNYXJjYSBibG9xdWVvIGlubWVkaWF0byBwb3IgNDAyOyByZWZyZXNjYSB1c2FnZSBlbiBwYXJhbGVsby4gKi9cbiAgYXBwbHlRdW90YUV4Y2VlZGVkOiAobWVzc2FnZTogc3RyaW5nKSA9PiB2b2lkXG4gIHJlc2V0OiAoKSA9PiB2b2lkXG59XG5cbmNvbnN0IGluaXRpYWxTdGF0ZTogVXNhZ2VTdGF0ZSA9IHtcbiAgdXNhZ2U6IG51bGwsXG4gIGJsb2NrZWQ6IGZhbHNlLFxuICBxdW90YUV4Y2VlZGVkTWVzc2FnZTogbnVsbCxcbiAgbG9hZGluZzogZmFsc2UsXG4gIGZldGNoZWQ6IGZhbHNlLFxufVxuXG4vKiogRXZpdGEgcXVlIHVuIEdFVCB1c2FnZSBlbiB2dWVsbyBwaXNlIHVuIDQwMiBtw6FzIHJlY2llbnRlLiAqL1xubGV0IGZldGNoU2VxID0gMFxuXG5leHBvcnQgY29uc3QgdXNlVXNhZ2VTdG9yZSA9IGNyZWF0ZTxVc2FnZVN0YXRlICYgVXNhZ2VBY3Rpb25zPigoc2V0LCBnZXQpID0+ICh7XG4gIC4uLmluaXRpYWxTdGF0ZSxcblxuICBmZXRjaFVzYWdlOiBhc3luYyAoKSA9PiB7XG4gICAgZmV0Y2hTZXEgKz0gMVxuICAgIGNvbnN0IHNlcSA9IGZldGNoU2VxXG4gICAgc2V0KHsgbG9hZGluZzogdHJ1ZSB9KVxuICAgIHRyeSB7XG4gICAgICBjb25zdCB1c2FnZSA9IGF3YWl0IGdldFVzYWdlKGkxOG4ubGFuZ3VhZ2UpXG4gICAgICBpZiAoc2VxICE9PSBmZXRjaFNlcSkgcmV0dXJuXG5cbiAgICAgIHNldCh7XG4gICAgICAgIHVzYWdlLFxuICAgICAgICAvLyBTb2xvIGJsb3F1ZWFyIGN1YW5kbyBlbCBiYWNrZW5kIGxvIGRpY2UgZXhwbMOtY2l0YW1lbnRlIChmYWlsLW9wZW4gc2kgZmFsdGEpLlxuICAgICAgICBibG9ja2VkOiB1c2FnZS5ibG9ja2VkID09PSB0cnVlLFxuICAgICAgICBsb2FkaW5nOiBmYWxzZSxcbiAgICAgICAgZmV0Y2hlZDogdHJ1ZSxcbiAgICAgICAgLy8gU2kgeWEgbm8gZXN0w6EgYmxvY2tlZCwgbGltcGlhciBtZW5zYWplIGRlIDQwMi5cbiAgICAgICAgLi4uKHVzYWdlLmJsb2NrZWQgIT09IHRydWUgPyB7IHF1b3RhRXhjZWVkZWRNZXNzYWdlOiBudWxsIH0gOiB7fSksXG4gICAgICB9KVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBpZiAoc2VxICE9PSBmZXRjaFNlcSkgcmV0dXJuXG4gICAgICAvLyBGYWlsLW9wZW46IHNpIHVzYWdlIG5vIHJlc3BvbmRlLCBubyBkZXNibG9xdWVhciB1biA0MDIgeWEgYXBsaWNhZG8uXG4gICAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gZmV0Y2ggTUFJQSB1c2FnZScsIGVycm9yKVxuICAgICAgc2V0KHN0YXRlID0+ICh7XG4gICAgICAgIGxvYWRpbmc6IGZhbHNlLFxuICAgICAgICBmZXRjaGVkOiB0cnVlLFxuICAgICAgICBibG9ja2VkOiBzdGF0ZS5ibG9ja2VkLFxuICAgICAgfSkpXG4gICAgfVxuICB9LFxuXG4gIGFwcGx5UXVvdGFFeGNlZWRlZDogbWVzc2FnZSA9PiB7XG4gICAgLy8gSW52YWxpZGEgZmV0Y2hlcyBlbiB2dWVsbyBwYXJhIHF1ZSBubyBsaW1waWVuIGVsIGJsb3F1ZW8gZGVsIDQwMi5cbiAgICBmZXRjaFNlcSArPSAxXG4gICAgc2V0KHtcbiAgICAgIGJsb2NrZWQ6IHRydWUsXG4gICAgICBxdW90YUV4Y2VlZGVkTWVzc2FnZTogbWVzc2FnZSB8fCBudWxsLFxuICAgIH0pXG4gICAgLy8gQWxpbmVhciBlbCByZXN0byBkZSBsYSBVSSBjb24gZWwgYmFja2VuZCAocmFjZSBkZWwgcG9vbCBjb21wYXJ0aWRvKS5cbiAgICBnZXQoKVxuICAgICAgLmZldGNoVXNhZ2UoKVxuICAgICAgLmNhdGNoKCgpID0+IHVuZGVmaW5lZClcbiAgfSxcblxuICByZXNldDogKCkgPT4ge1xuICAgIGZldGNoU2VxICs9IDFcbiAgICBzZXQoeyAuLi5pbml0aWFsU3RhdGUgfSlcbiAgfSxcbn0pKVxuXG5leHBvcnQgY29uc3QgZ2V0VXNhZ2VTdG9yZVN0YXRlID0gKCkgPT4gdXNlVXNhZ2VTdG9yZS5nZXRTdGF0ZSgpXG5cbmV4cG9ydCBjb25zdCBpc1VzYWdlUXVvdGFFeGNlZWRlZEVycm9yID0gKGNvZGU/OiBzdHJpbmcpOiBib29sZWFuID0+IGNvZGUgPT09IFVTQUdFX1FVT1RBX0VYQ0VFREVEX0NPREVcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxTQUFTQSxNQUFNLFFBQVEsU0FBUztBQUNoQyxPQUFPQyxJQUFJLE1BQU0sU0FBUztBQUMxQixTQUFTQyxRQUFRLFFBQVEsd0JBQXdCO0FBRWpELFNBQVNDLHlCQUF5QixRQUFRLGdCQUFnQjtBQW1CMUQsSUFBTUMsWUFBd0IsR0FBRztFQUMvQkMsS0FBSyxFQUFFLElBQUk7RUFDWEMsT0FBTyxFQUFFLEtBQUs7RUFDZEMsb0JBQW9CLEVBQUUsSUFBSTtFQUMxQkMsT0FBTyxFQUFFLEtBQUs7RUFDZEMsT0FBTyxFQUFFO0FBQ1gsQ0FBQzs7QUFFRDtBQUNBLElBQUlDLFFBQVEsR0FBRyxDQUFDO0FBRWhCLE9BQU8sSUFBTUMsYUFBYSxHQUFHWCxNQUFNLENBQTRCLFVBQUNZLEdBQUcsRUFBRUMsR0FBRztFQUFBLE9BQUFDLGFBQUEsQ0FBQUEsYUFBQSxLQUNuRVYsWUFBWTtJQUVmVyxVQUFVO01BQUEsSUFBQUMsV0FBQSxHQUFBQyxpQkFBQSxjQUFBQyxtQkFBQSxDQUFBQyxJQUFBLENBQUUsU0FBQUMsUUFBQTtRQUFBLElBQUFDLEdBQUEsRUFBQWhCLEtBQUEsRUFBQWlCLEVBQUE7UUFBQSxPQUFBSixtQkFBQSxDQUFBSyxJQUFBLFdBQUFDLFFBQUE7VUFBQSxrQkFBQUEsUUFBQSxDQUFBQyxJQUFBLEdBQUFELFFBQUEsQ0FBQUUsSUFBQTtZQUFBO2NBQ1ZoQixRQUFRLElBQUksQ0FBQztjQUNQVyxHQUFHLEdBQUdYLFFBQVE7Y0FDcEJFLEdBQUcsQ0FBQztnQkFBRUosT0FBTyxFQUFFO2NBQUssQ0FBQyxDQUFDO2NBQUFnQixRQUFBLENBQUFDLElBQUE7Y0FBQUQsUUFBQSxDQUFBRSxJQUFBO2NBQUEsT0FFQXhCLFFBQVEsQ0FBQ0QsSUFBSSxDQUFDMEIsUUFBUSxDQUFDO1lBQUE7Y0FBckN0QixLQUFLLEdBQUFtQixRQUFBLENBQUFJLElBQUE7Y0FBQSxNQUNQUCxHQUFHLEtBQUtYLFFBQVE7Z0JBQUFjLFFBQUEsQ0FBQUUsSUFBQTtnQkFBQTtjQUFBO2NBQUEsT0FBQUYsUUFBQSxDQUFBSyxNQUFBO1lBQUE7Y0FFcEJqQixHQUFHLENBQUFFLGFBQUE7Z0JBQ0RULEtBQUssRUFBTEEsS0FBSztnQkFDTDtnQkFDQUMsT0FBTyxFQUFFRCxLQUFLLENBQUNDLE9BQU8sS0FBSyxJQUFJO2dCQUMvQkUsT0FBTyxFQUFFLEtBQUs7Z0JBQ2RDLE9BQU8sRUFBRTtjQUFJLEdBRVRKLEtBQUssQ0FBQ0MsT0FBTyxLQUFLLElBQUksR0FBRztnQkFBRUMsb0JBQW9CLEVBQUU7Y0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQ2pFLENBQUM7Y0FBQWlCLFFBQUEsQ0FBQUUsSUFBQTtjQUFBO1lBQUE7Y0FBQUYsUUFBQSxDQUFBQyxJQUFBO2NBQUFILEVBQUEsR0FBQUUsUUFBQTtjQUFBLE1BRUVILEdBQUcsS0FBS1gsUUFBUTtnQkFBQWMsUUFBQSxDQUFBRSxJQUFBO2dCQUFBO2NBQUE7Y0FBQSxPQUFBRixRQUFBLENBQUFLLE1BQUE7WUFBQTtjQUNwQjtjQUNBQyxPQUFPLENBQUNDLEtBQUssQ0FBQyw0QkFBNEIsRUFBQVQsRUFBTyxDQUFDO2NBQ2xEVixHQUFHLENBQUMsVUFBQW9CLEtBQUs7Z0JBQUEsT0FBSztrQkFDWnhCLE9BQU8sRUFBRSxLQUFLO2tCQUNkQyxPQUFPLEVBQUUsSUFBSTtrQkFDYkgsT0FBTyxFQUFFMEIsS0FBSyxDQUFDMUI7Z0JBQ2pCLENBQUM7Y0FBQSxDQUFDLENBQUM7WUFBQTtZQUFBO2NBQUEsT0FBQWtCLFFBQUEsQ0FBQVMsSUFBQTtVQUFBO1FBQUEsR0FBQWIsT0FBQTtNQUFBLENBRU47TUFBQSxTQTNCREwsVUFBVUEsQ0FBQTtRQUFBLE9BQUFDLFdBQUEsQ0FBQWtCLEtBQUEsT0FBQUMsU0FBQTtNQUFBO01BQUEsT0FBVnBCLFVBQVU7SUFBQSxHQTJCVDtJQUVEcUIsa0JBQWtCLEVBQUUsU0FBcEJBLGtCQUFrQkEsQ0FBRUMsT0FBTyxFQUFJO01BQzdCO01BQ0EzQixRQUFRLElBQUksQ0FBQztNQUNiRSxHQUFHLENBQUM7UUFDRk4sT0FBTyxFQUFFLElBQUk7UUFDYkMsb0JBQW9CLEVBQUU4QixPQUFPLElBQUk7TUFDbkMsQ0FBQyxDQUFDO01BQ0Y7TUFDQXhCLEdBQUcsQ0FBQyxDQUFDLENBQ0ZFLFVBQVUsQ0FBQyxDQUFDLFNBQ1AsQ0FBQztRQUFBLE9BQU11QixTQUFTO01BQUEsRUFBQztJQUMzQixDQUFDO0lBRURDLEtBQUssRUFBRSxTQUFQQSxLQUFLQSxDQUFBLEVBQVE7TUFDWDdCLFFBQVEsSUFBSSxDQUFDO01BQ2JFLEdBQUcsQ0FBQUUsYUFBQSxLQUFNVixZQUFZLENBQUUsQ0FBQztJQUMxQjtFQUFDO0FBQUEsQ0FDRCxDQUFDO0FBRUgsT0FBTyxJQUFNb0Msa0JBQWtCLEdBQUcsU0FBckJBLGtCQUFrQkEsQ0FBQTtFQUFBLE9BQVM3QixhQUFhLENBQUM4QixRQUFRLENBQUMsQ0FBQztBQUFBO0FBRWhFLE9BQU8sSUFBTUMseUJBQXlCLEdBQUcsU0FBNUJBLHlCQUF5QkEsQ0FBSUMsSUFBYTtFQUFBLE9BQWNBLElBQUksS0FBS3hDLHlCQUF5QjtBQUFBIiwiaWdub3JlTGlzdCI6W119
@@ -1,9 +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
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJVU0FHRV9RVU9UQV9FWENFRURFRF9DT0RFIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL3VzYWdlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUmVzcHVlc3RhIGRlIEdFVCAvdjEvdXNhZ2UgKHBvb2wgZGUgdG9rZW5zIHBvciBjb21wYW55KS5cbiAqIGBibG9ja2VkYCBlcyBsYSBmdWVudGUgZGUgdmVyZGFkIGRlbCBGRSDigJQgbm8gcmVjb21wdXRhciBwb3IgY29uc3VtZWQgdnMgZ3JhbnRlZC5cbiAqL1xuZXhwb3J0IHR5cGUgTWFpYVVzYWdlID0ge1xuICBjb21wYW55X2lkOiBzdHJpbmdcbiAgcGVyaW9kX3N0YXJ0OiBzdHJpbmdcbiAgcGVyaW9kX2VuZDogc3RyaW5nXG4gIHNlYXRzOiBudW1iZXJcbiAgdXNkX3Blcl9zZWF0OiBudW1iZXJcbiAgZ3JhbnRlZF91c2Q6IG51bWJlclxuICBjb25zdW1lZF91c2Q6IG51bWJlclxuICByZW1haW5pbmdfdXNkOiBudW1iZXJcbiAgcGN0OiBudW1iZXJcbiAgYmxvY2tlZDogYm9vbGVhblxuICBjb25zdW1lZF90b2tlbnM6IG51bWJlclxuICBvbl9kZW1hbmRfZ3JhbnRlZF91c2Q6IG51bWJlclxuICBvbl9kZW1hbmRfY29uc3VtZWRfdXNkOiBudW1iZXJcbiAgc2VhdHNfa25vd246IGJvb2xlYW5cbiAgZW5mb3JjZW1lbnRfZW5hYmxlZDogYm9vbGVhblxufVxuXG4vKiogRGV0YWlsIGJvZHkgZGUgUE9TVCBvcmNoZXN0cmF0b3IgY3VhbmRvIEhUVFAgNDAyICsgY29kZSB1c2FnZV9xdW90YV9leGNlZWRlZC4gKi9cbmV4cG9ydCB0eXBlIFVzYWdlUXVvdGFFeGNlZWRlZERldGFpbCA9IHtcbiAgbWVzc2FnZTogc3RyaW5nXG4gIGNvZGU6ICd1c2FnZV9xdW90YV9leGNlZWRlZCdcbiAgZ3JhbnRlZF91c2Q/OiBudW1iZXJcbiAgY29uc3VtZWRfdXNkPzogbnVtYmVyXG4gIHBlcmlvZF9lbmQ/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGNvbnN0IFVTQUdFX1FVT1RBX0VYQ0VFREVEX0NPREUgPSAndXNhZ2VfcXVvdGFfZXhjZWVkZWQnIGFzIGNvbnN0XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBOztBQW1CQTs7QUFTQSxPQUFPLElBQU1BLHlCQUF5QixHQUFHLHNCQUErQiIsImlnbm9yZUxpc3QiOltdfQ==