@projectcor/maia-components 2.11.100-8 → 2.11.100

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 (44) hide show
  1. package/lib/components/atoms/Chip/Chip.js +22 -5
  2. package/lib/components/atoms/Chip/styles.js +6 -6
  3. package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.js +121 -28
  4. package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.styles.js +6 -2
  5. package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.js +12 -5
  6. package/lib/components/atoms/MAIAInput/MAIAInput.js +398 -270
  7. package/lib/components/atoms/MAIAInput/MAIAInputEditor.js +5 -8
  8. package/lib/components/atoms/MAIAInput/maiaInputLayout.js +25 -0
  9. package/lib/components/atoms/MAIAInput/styles.js +102 -86
  10. package/lib/components/atoms/SlashCommandDropdown/SlashCommandDropdown.js +56 -41
  11. package/lib/components/atoms/SlashCommandDropdown/SlashCommandDropdown.styles.js +28 -12
  12. package/lib/components/atoms/icons/MaiaInputAddIcon.js +42 -0
  13. package/lib/components/atoms/icons/MaiaInputAttachIcon.js +29 -0
  14. package/lib/components/atoms/icons/MaiaInputAttachmentImageIcon.js +33 -0
  15. package/lib/components/atoms/icons/MaiaInputDeepSearchIcon.js +35 -0
  16. package/lib/components/atoms/icons/MaiaInputMentionIcon.js +44 -0
  17. package/lib/components/atoms/icons/MaiaInputRobotIcon.js +29 -0
  18. package/lib/components/atoms/icons/MaiaInputSendIcon.js +29 -0
  19. package/lib/components/atoms/icons/MaiaInputSlashIcon.js +29 -0
  20. package/lib/components/atoms/icons/MaiaInputWebSearchIcon.js +35 -0
  21. package/lib/components/atoms/icons/index.js +10 -1
  22. package/lib/components/molecules/ChatAIHome/ChatAIHome.js +18 -7
  23. package/lib/components/molecules/ChatAIHome/styles.js +54 -38
  24. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +11 -36
  25. package/lib/components/molecules/ChatAIMessages/newStyles.js +10 -26
  26. package/lib/components/molecules/ChatAIModal/ChatAIModal.js +1 -5
  27. package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.js +1 -4
  28. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +1 -8
  29. package/lib/components/molecules/ChatFooter/ChatFooter.js +23 -62
  30. package/lib/components/molecules/Sidebar/Sidebar.js +14 -3
  31. package/lib/hooks/useMentionPopover.js +4 -2
  32. package/lib/lang/br/index.js +6 -3
  33. package/lib/lang/en/index.js +6 -3
  34. package/lib/lang/es/index.js +6 -3
  35. package/lib/lang/fr/index.js +8 -2
  36. package/lib/services/maia/Agents/getAgents.js +30 -54
  37. package/lib/services/maia/RecentContexts/getRecentContexts.js +3 -32
  38. package/lib/styles/config.js +2 -2
  39. package/package.json +1 -1
  40. package/lib/services/maia/bootstrap/agentsPrefetchSession.js +0 -97
  41. package/lib/services/maia/bootstrap/fetchAgentsList.js +0 -267
  42. package/lib/services/maia/bootstrap/prefetchMaiaAgents.js +0 -96
  43. package/lib/services/maia/bootstrap/prefetchMaiaRecentContexts.js +0 -56
  44. package/lib/services/maia/bootstrap/recentContextsPrefetchSession.js +0 -88
@@ -1,97 +0,0 @@
1
- import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
- import _regeneratorRuntime from "@babel/runtime/regenerator";
3
- import { mapCORLang } from '../../../lang/utils';
4
- var session = null;
5
- export var buildAgentsPrefetchKey = function buildAgentsPrefetchKey(section, lang, isMultiAgents) {
6
- return "".concat(section, ":").concat(mapCORLang(lang), ":").concat(isMultiAgents ? '1' : '0');
7
- };
8
-
9
- /**
10
- * Guarda el resultado del hover hasta que se abre MAIA (takeAgentsPrefetch).
11
- * Si el usuario cierra el modal, resetAgentsPrefetchSession invalida la sesión.
12
- */
13
- export var registerAgentsPrefetch = function registerAgentsPrefetch(key, promise) {
14
- session = {
15
- key: key,
16
- promise: promise
17
- };
18
- return promise.then(function (result) {
19
- var _session;
20
- if (((_session = session) === null || _session === void 0 ? void 0 : _session.key) === key) {
21
- session = {
22
- key: key,
23
- result: result
24
- };
25
- }
26
- return result;
27
- })["catch"](function (error) {
28
- var _session2;
29
- if (((_session2 = session) === null || _session2 === void 0 ? void 0 : _session2.key) === key) {
30
- session = null;
31
- }
32
- throw error;
33
- });
34
- };
35
- export var hasAgentsPrefetchReady = function hasAgentsPrefetchReady(key) {
36
- var _session3;
37
- return ((_session3 = session) === null || _session3 === void 0 ? void 0 : _session3.key) === key && session.result != null;
38
- };
39
- export var hasAgentsPrefetchInFlight = function hasAgentsPrefetchInFlight(key) {
40
- var _session4;
41
- return ((_session4 = session) === null || _session4 === void 0 ? void 0 : _session4.key) === key && session.promise != null && session.result == null;
42
- };
43
-
44
- /**
45
- * Consumido al abrir MAIA: devuelve agents prefetched y limpia la sesión.
46
- * Si el prefetch sigue en vuelo, espera la misma Promise (una sola petición).
47
- */
48
- export var takeAgentsPrefetch = /*#__PURE__*/function () {
49
- var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(key) {
50
- var _session5, result, _t;
51
- return _regeneratorRuntime.wrap(function (_context) {
52
- while (1) switch (_context.prev = _context.next) {
53
- case 0:
54
- if (!(!session || session.key !== key)) {
55
- _context.next = 1;
56
- break;
57
- }
58
- return _context.abrupt("return", null);
59
- case 1:
60
- _context.prev = 1;
61
- if (!(session.promise && !session.result)) {
62
- _context.next = 2;
63
- break;
64
- }
65
- _context.next = 2;
66
- return session.promise;
67
- case 2:
68
- if (!(!session || session.key !== key || !session.result)) {
69
- _context.next = 3;
70
- break;
71
- }
72
- return _context.abrupt("return", null);
73
- case 3:
74
- _session5 = session, result = _session5.result;
75
- session = null;
76
- return _context.abrupt("return", result);
77
- case 4:
78
- _context.prev = 4;
79
- _t = _context["catch"](1);
80
- session = null;
81
- return _context.abrupt("return", null);
82
- case 5:
83
- case "end":
84
- return _context.stop();
85
- }
86
- }, _callee, null, [[1, 4]]);
87
- }));
88
- return function takeAgentsPrefetch(_x) {
89
- return _ref.apply(this, arguments);
90
- };
91
- }();
92
-
93
- /** Al cerrar MAIA: invalidar prefetch para que el próximo hover vuelva a pedir agents. */
94
- export var resetAgentsPrefetchSession = function resetAgentsPrefetchSession() {
95
- session = null;
96
- };
97
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJtYXBDT1JMYW5nIiwic2Vzc2lvbiIsImJ1aWxkQWdlbnRzUHJlZmV0Y2hLZXkiLCJzZWN0aW9uIiwibGFuZyIsImlzTXVsdGlBZ2VudHMiLCJjb25jYXQiLCJyZWdpc3RlckFnZW50c1ByZWZldGNoIiwia2V5IiwicHJvbWlzZSIsInRoZW4iLCJyZXN1bHQiLCJfc2Vzc2lvbiIsImVycm9yIiwiX3Nlc3Npb24yIiwiaGFzQWdlbnRzUHJlZmV0Y2hSZWFkeSIsIl9zZXNzaW9uMyIsImhhc0FnZW50c1ByZWZldGNoSW5GbGlnaHQiLCJfc2Vzc2lvbjQiLCJ0YWtlQWdlbnRzUHJlZmV0Y2giLCJfcmVmIiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwibWFyayIsIl9jYWxsZWUiLCJfc2Vzc2lvbjUiLCJfdCIsIndyYXAiLCJfY29udGV4dCIsInByZXYiLCJuZXh0IiwiYWJydXB0Iiwic3RvcCIsIl94IiwiYXBwbHkiLCJhcmd1bWVudHMiLCJyZXNldEFnZW50c1ByZWZldGNoU2Vzc2lvbiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9tYWlhL2Jvb3RzdHJhcC9hZ2VudHNQcmVmZXRjaFNlc3Npb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBTZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vY29udGV4dC9nbG9iYWwtY29udGV4dCdcbmltcG9ydCB7IG1hcENPUkxhbmcgfSBmcm9tICcuLi8uLi8uLi9sYW5nL3V0aWxzJ1xuaW1wb3J0IHR5cGUgeyBGZXRjaEFnZW50c0xpc3RSZXN1bHQgfSBmcm9tICcuL2ZldGNoQWdlbnRzTGlzdCdcblxudHlwZSBBZ2VudHNQcmVmZXRjaFNlc3Npb24gPSB7XG4gIGtleTogc3RyaW5nXG4gIHJlc3VsdD86IEZldGNoQWdlbnRzTGlzdFJlc3VsdFxuICBwcm9taXNlPzogUHJvbWlzZTxGZXRjaEFnZW50c0xpc3RSZXN1bHQ+XG59XG5cbmxldCBzZXNzaW9uOiBBZ2VudHNQcmVmZXRjaFNlc3Npb24gfCBudWxsID0gbnVsbFxuXG5leHBvcnQgY29uc3QgYnVpbGRBZ2VudHNQcmVmZXRjaEtleSA9IChzZWN0aW9uOiBTZWN0aW9uLCBsYW5nOiBzdHJpbmcsIGlzTXVsdGlBZ2VudHM6IGJvb2xlYW4pOiBzdHJpbmcgPT5cbiAgYCR7c2VjdGlvbn06JHttYXBDT1JMYW5nKGxhbmcpfToke2lzTXVsdGlBZ2VudHMgPyAnMScgOiAnMCd9YFxuXG4vKipcbiAqIEd1YXJkYSBlbCByZXN1bHRhZG8gZGVsIGhvdmVyIGhhc3RhIHF1ZSBzZSBhYnJlIE1BSUEgKHRha2VBZ2VudHNQcmVmZXRjaCkuXG4gKiBTaSBlbCB1c3VhcmlvIGNpZXJyYSBlbCBtb2RhbCwgcmVzZXRBZ2VudHNQcmVmZXRjaFNlc3Npb24gaW52YWxpZGEgbGEgc2VzacOzbi5cbiAqL1xuZXhwb3J0IGNvbnN0IHJlZ2lzdGVyQWdlbnRzUHJlZmV0Y2ggPSAoXG4gIGtleTogc3RyaW5nLFxuICBwcm9taXNlOiBQcm9taXNlPEZldGNoQWdlbnRzTGlzdFJlc3VsdD5cbik6IFByb21pc2U8RmV0Y2hBZ2VudHNMaXN0UmVzdWx0PiA9PiB7XG4gIHNlc3Npb24gPSB7IGtleSwgcHJvbWlzZSB9XG5cbiAgcmV0dXJuIHByb21pc2VcbiAgICAudGhlbihyZXN1bHQgPT4ge1xuICAgICAgaWYgKHNlc3Npb24/LmtleSA9PT0ga2V5KSB7XG4gICAgICAgIHNlc3Npb24gPSB7IGtleSwgcmVzdWx0IH1cbiAgICAgIH1cbiAgICAgIHJldHVybiByZXN1bHRcbiAgICB9KVxuICAgIC5jYXRjaChlcnJvciA9PiB7XG4gICAgICBpZiAoc2Vzc2lvbj8ua2V5ID09PSBrZXkpIHtcbiAgICAgICAgc2Vzc2lvbiA9IG51bGxcbiAgICAgIH1cbiAgICAgIHRocm93IGVycm9yXG4gICAgfSlcbn1cblxuZXhwb3J0IGNvbnN0IGhhc0FnZW50c1ByZWZldGNoUmVhZHkgPSAoa2V5OiBzdHJpbmcpOiBib29sZWFuID0+IHNlc3Npb24/LmtleSA9PT0ga2V5ICYmIHNlc3Npb24ucmVzdWx0ICE9IG51bGxcblxuZXhwb3J0IGNvbnN0IGhhc0FnZW50c1ByZWZldGNoSW5GbGlnaHQgPSAoa2V5OiBzdHJpbmcpOiBib29sZWFuID0+XG4gIHNlc3Npb24/LmtleSA9PT0ga2V5ICYmIHNlc3Npb24ucHJvbWlzZSAhPSBudWxsICYmIHNlc3Npb24ucmVzdWx0ID09IG51bGxcblxuLyoqXG4gKiBDb25zdW1pZG8gYWwgYWJyaXIgTUFJQTogZGV2dWVsdmUgYWdlbnRzIHByZWZldGNoZWQgeSBsaW1waWEgbGEgc2VzacOzbi5cbiAqIFNpIGVsIHByZWZldGNoIHNpZ3VlIGVuIHZ1ZWxvLCBlc3BlcmEgbGEgbWlzbWEgUHJvbWlzZSAodW5hIHNvbGEgcGV0aWNpw7NuKS5cbiAqL1xuZXhwb3J0IGNvbnN0IHRha2VBZ2VudHNQcmVmZXRjaCA9IGFzeW5jIChrZXk6IHN0cmluZyk6IFByb21pc2U8RmV0Y2hBZ2VudHNMaXN0UmVzdWx0IHwgbnVsbD4gPT4ge1xuICBpZiAoIXNlc3Npb24gfHwgc2Vzc2lvbi5rZXkgIT09IGtleSkge1xuICAgIHJldHVybiBudWxsXG4gIH1cblxuICB0cnkge1xuICAgIGlmIChzZXNzaW9uLnByb21pc2UgJiYgIXNlc3Npb24ucmVzdWx0KSB7XG4gICAgICBhd2FpdCBzZXNzaW9uLnByb21pc2VcbiAgICB9XG5cbiAgICBpZiAoIXNlc3Npb24gfHwgc2Vzc2lvbi5rZXkgIT09IGtleSB8fCAhc2Vzc2lvbi5yZXN1bHQpIHtcbiAgICAgIHJldHVybiBudWxsXG4gICAgfVxuXG4gICAgY29uc3QgeyByZXN1bHQgfSA9IHNlc3Npb25cbiAgICBzZXNzaW9uID0gbnVsbFxuICAgIHJldHVybiByZXN1bHRcbiAgfSBjYXRjaCB7XG4gICAgc2Vzc2lvbiA9IG51bGxcbiAgICByZXR1cm4gbnVsbFxuICB9XG59XG5cbi8qKiBBbCBjZXJyYXIgTUFJQTogaW52YWxpZGFyIHByZWZldGNoIHBhcmEgcXVlIGVsIHByw7N4aW1vIGhvdmVyIHZ1ZWx2YSBhIHBlZGlyIGFnZW50cy4gKi9cbmV4cG9ydCBjb25zdCByZXNldEFnZW50c1ByZWZldGNoU2Vzc2lvbiA9ICgpOiB2b2lkID0+IHtcbiAgc2Vzc2lvbiA9IG51bGxcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7QUFDQSxTQUFTQSxVQUFVLFFBQVEscUJBQXFCO0FBU2hELElBQUlDLE9BQXFDLEdBQUcsSUFBSTtBQUVoRCxPQUFPLElBQU1DLHNCQUFzQixHQUFHLFNBQXpCQSxzQkFBc0JBLENBQUlDLE9BQWdCLEVBQUVDLElBQVksRUFBRUMsYUFBc0I7RUFBQSxVQUFBQyxNQUFBLENBQ3hGSCxPQUFPLE9BQUFHLE1BQUEsQ0FBSU4sVUFBVSxDQUFDSSxJQUFJLENBQUMsT0FBQUUsTUFBQSxDQUFJRCxhQUFhLEdBQUcsR0FBRyxHQUFHLEdBQUc7QUFBQSxDQUFFOztBQUUvRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU8sSUFBTUUsc0JBQXNCLEdBQUcsU0FBekJBLHNCQUFzQkEsQ0FDakNDLEdBQVcsRUFDWEMsT0FBdUMsRUFDSjtFQUNuQ1IsT0FBTyxHQUFHO0lBQUVPLEdBQUcsRUFBSEEsR0FBRztJQUFFQyxPQUFPLEVBQVBBO0VBQVEsQ0FBQztFQUUxQixPQUFPQSxPQUFPLENBQ1hDLElBQUksQ0FBQyxVQUFBQyxNQUFNLEVBQUk7SUFBQSxJQUFBQyxRQUFBO0lBQ2QsSUFBSSxFQUFBQSxRQUFBLEdBQUFYLE9BQU8sY0FBQVcsUUFBQSx1QkFBUEEsUUFBQSxDQUFTSixHQUFHLE1BQUtBLEdBQUcsRUFBRTtNQUN4QlAsT0FBTyxHQUFHO1FBQUVPLEdBQUcsRUFBSEEsR0FBRztRQUFFRyxNQUFNLEVBQU5BO01BQU8sQ0FBQztJQUMzQjtJQUNBLE9BQU9BLE1BQU07RUFDZixDQUFDLENBQUMsU0FDSSxDQUFDLFVBQUFFLEtBQUssRUFBSTtJQUFBLElBQUFDLFNBQUE7SUFDZCxJQUFJLEVBQUFBLFNBQUEsR0FBQWIsT0FBTyxjQUFBYSxTQUFBLHVCQUFQQSxTQUFBLENBQVNOLEdBQUcsTUFBS0EsR0FBRyxFQUFFO01BQ3hCUCxPQUFPLEdBQUcsSUFBSTtJQUNoQjtJQUNBLE1BQU1ZLEtBQUs7RUFDYixDQUFDLENBQUM7QUFDTixDQUFDO0FBRUQsT0FBTyxJQUFNRSxzQkFBc0IsR0FBRyxTQUF6QkEsc0JBQXNCQSxDQUFJUCxHQUFXO0VBQUEsSUFBQVEsU0FBQTtFQUFBLE9BQWMsRUFBQUEsU0FBQSxHQUFBZixPQUFPLGNBQUFlLFNBQUEsdUJBQVBBLFNBQUEsQ0FBU1IsR0FBRyxNQUFLQSxHQUFHLElBQUlQLE9BQU8sQ0FBQ1UsTUFBTSxJQUFJLElBQUk7QUFBQTtBQUU5RyxPQUFPLElBQU1NLHlCQUF5QixHQUFHLFNBQTVCQSx5QkFBeUJBLENBQUlULEdBQVc7RUFBQSxJQUFBVSxTQUFBO0VBQUEsT0FDbkQsRUFBQUEsU0FBQSxHQUFBakIsT0FBTyxjQUFBaUIsU0FBQSx1QkFBUEEsU0FBQSxDQUFTVixHQUFHLE1BQUtBLEdBQUcsSUFBSVAsT0FBTyxDQUFDUSxPQUFPLElBQUksSUFBSSxJQUFJUixPQUFPLENBQUNVLE1BQU0sSUFBSSxJQUFJO0FBQUE7O0FBRTNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTyxJQUFNUSxrQkFBa0I7RUFBQSxJQUFBQyxJQUFBLEdBQUFDLGlCQUFBLGNBQUFDLG1CQUFBLENBQUFDLElBQUEsQ0FBRyxTQUFBQyxRQUFPaEIsR0FBVztJQUFBLElBQUFpQixTQUFBLEVBQUFkLE1BQUEsRUFBQWUsRUFBQTtJQUFBLE9BQUFKLG1CQUFBLENBQUFLLElBQUEsV0FBQUMsUUFBQTtNQUFBLGtCQUFBQSxRQUFBLENBQUFDLElBQUEsR0FBQUQsUUFBQSxDQUFBRSxJQUFBO1FBQUE7VUFBQSxNQUM5QyxDQUFDN0IsT0FBTyxJQUFJQSxPQUFPLENBQUNPLEdBQUcsS0FBS0EsR0FBRztZQUFBb0IsUUFBQSxDQUFBRSxJQUFBO1lBQUE7VUFBQTtVQUFBLE9BQUFGLFFBQUEsQ0FBQUcsTUFBQSxXQUMxQixJQUFJO1FBQUE7VUFBQUgsUUFBQSxDQUFBQyxJQUFBO1VBQUEsTUFJUDVCLE9BQU8sQ0FBQ1EsT0FBTyxJQUFJLENBQUNSLE9BQU8sQ0FBQ1UsTUFBTTtZQUFBaUIsUUFBQSxDQUFBRSxJQUFBO1lBQUE7VUFBQTtVQUFBRixRQUFBLENBQUFFLElBQUE7VUFBQSxPQUM5QjdCLE9BQU8sQ0FBQ1EsT0FBTztRQUFBO1VBQUEsTUFHbkIsQ0FBQ1IsT0FBTyxJQUFJQSxPQUFPLENBQUNPLEdBQUcsS0FBS0EsR0FBRyxJQUFJLENBQUNQLE9BQU8sQ0FBQ1UsTUFBTTtZQUFBaUIsUUFBQSxDQUFBRSxJQUFBO1lBQUE7VUFBQTtVQUFBLE9BQUFGLFFBQUEsQ0FBQUcsTUFBQSxXQUM3QyxJQUFJO1FBQUE7VUFBQU4sU0FBQSxHQUdNeEIsT0FBTyxFQUFsQlUsTUFBTSxHQUFBYyxTQUFBLENBQU5kLE1BQU07VUFDZFYsT0FBTyxHQUFHLElBQUk7VUFBQSxPQUFBMkIsUUFBQSxDQUFBRyxNQUFBLFdBQ1BwQixNQUFNO1FBQUE7VUFBQWlCLFFBQUEsQ0FBQUMsSUFBQTtVQUFBSCxFQUFBLEdBQUFFLFFBQUE7VUFFYjNCLE9BQU8sR0FBRyxJQUFJO1VBQUEsT0FBQTJCLFFBQUEsQ0FBQUcsTUFBQSxXQUNQLElBQUk7UUFBQTtRQUFBO1VBQUEsT0FBQUgsUUFBQSxDQUFBSSxJQUFBO01BQUE7SUFBQSxHQUFBUixPQUFBO0VBQUEsQ0FFZDtFQUFBLGdCQXJCWUwsa0JBQWtCQSxDQUFBYyxFQUFBO0lBQUEsT0FBQWIsSUFBQSxDQUFBYyxLQUFBLE9BQUFDLFNBQUE7RUFBQTtBQUFBLEdBcUI5Qjs7QUFFRDtBQUNBLE9BQU8sSUFBTUMsMEJBQTBCLEdBQUcsU0FBN0JBLDBCQUEwQkEsQ0FBQSxFQUFlO0VBQ3BEbkMsT0FBTyxHQUFHLElBQUk7QUFDaEIsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
@@ -1,267 +0,0 @@
1
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
- import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
3
- import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
4
- import _regeneratorRuntime from "@babel/runtime/regenerator";
5
- import { fetchMaia } from '../client';
6
- import { withNormalizedConnectors } from '../../../utils/normalizeAgentConnectors';
7
- import { mapCORLang } from '../../../lang/utils';
8
- var isMaiaAgent = function isMaiaAgent(agent) {
9
- return (agent === null || agent === void 0 ? void 0 : agent.type) === 'orchestrator';
10
- };
11
- export var is403AgentFetchError = function is403AgentFetchError(err) {
12
- var _error$response, _error$message, _error$message2;
13
- var error = err;
14
- return (error === null || error === void 0 || (_error$response = error.response) === null || _error$response === void 0 ? void 0 : _error$response.status) === 403 || (error === null || error === void 0 ? void 0 : error.status) === 403 || Boolean(error === null || error === void 0 || (_error$message = error.message) === null || _error$message === void 0 ? void 0 : _error$message.includes("You don't have permission to view agents")) || Boolean(error === null || error === void 0 || (_error$message2 = error.message) === null || _error$message2 === void 0 ? void 0 : _error$message2.includes('Failed fetching data'));
15
- };
16
- export var mergeAgentsWithoutDuplicates = function mergeAgentsWithoutDuplicates(base, extra) {
17
- var ids = new Set(base.map(function (agent) {
18
- return agent.id;
19
- }));
20
- var merged = _toConsumableArray(base);
21
- extra.forEach(function (agent) {
22
- if (!ids.has(agent.id)) merged.push(agent);
23
- });
24
- return merged;
25
- };
26
- export var sortAgentsList = function sortAgentsList(agents) {
27
- var maiaAgents = agents.filter(isMaiaAgent);
28
- var otherAgents = agents.filter(function (ag) {
29
- return !isMaiaAgent(ag);
30
- });
31
- var favorites = otherAgents.filter(function (ag) {
32
- return ag.is_favorite;
33
- }).sort(function (a, b) {
34
- return a.name.localeCompare(b.name);
35
- });
36
- var nonFavorites = otherAgents.filter(function (ag) {
37
- return !ag.is_favorite;
38
- }).sort(function (a, b) {
39
- return a.name.localeCompare(b.name);
40
- });
41
- return maiaAgents.length ? [].concat(_toConsumableArray(maiaAgents), _toConsumableArray(favorites), _toConsumableArray(nonFavorites)) : [].concat(_toConsumableArray(favorites), _toConsumableArray(nonFavorites));
42
- };
43
- var normalizeCustomAgentsFromApi = function normalizeCustomAgentsFromApi(agents) {
44
- return agents.map(function (agent) {
45
- return agent.type === 'custom' ? withNormalizedConnectors(agent) : agent;
46
- });
47
- };
48
- var fetchGlobalCloneAgents = /*#__PURE__*/function () {
49
- var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(lang, canFetchCloneAgents) {
50
- var cloneResponse, cloneData, _t;
51
- return _regeneratorRuntime.wrap(function (_context) {
52
- while (1) switch (_context.prev = _context.next) {
53
- case 0:
54
- if (!(!window.MAIA_CHAT_AI_FEATURE_ACCESS_MULTI_AGENTS || !canFetchCloneAgents)) {
55
- _context.next = 1;
56
- break;
57
- }
58
- return _context.abrupt("return", []);
59
- case 1:
60
- _context.prev = 1;
61
- _context.next = 2;
62
- return fetchMaia({
63
- path: "agents?agent_type=clone&entity=global&lang=".concat(mapCORLang(lang)),
64
- method: 'GET'
65
- });
66
- case 2:
67
- cloneResponse = _context.sent;
68
- _context.next = 3;
69
- return cloneResponse.json();
70
- case 3:
71
- cloneData = _context.sent;
72
- return _context.abrupt("return", (cloneData.data || []).filter(function (ag) {
73
- return ag.type === 'clone';
74
- }));
75
- case 4:
76
- _context.prev = 4;
77
- _t = _context["catch"](1);
78
- if (!is403AgentFetchError(_t)) {
79
- _context.next = 5;
80
- break;
81
- }
82
- return _context.abrupt("return", []);
83
- case 5:
84
- throw _t;
85
- case 6:
86
- case "end":
87
- return _context.stop();
88
- }
89
- }, _callee, null, [[1, 4]]);
90
- }));
91
- return function fetchGlobalCloneAgents(_x, _x2) {
92
- return _ref.apply(this, arguments);
93
- };
94
- }();
95
- export var fetchAgentsList = /*#__PURE__*/function () {
96
- var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee4(_ref2) {
97
- var section, lang, isMultiAgents, canFetchCloneAgents, mappedLang, customAgents, customHasMore, customNextOffset, maiaAgents, loadCloneAgents, loadCustomAgents, agentParsed, queryParams, queryString, path, _yield$Promise$all3, _yield$Promise$all4, response, globalCloneAgents, data, _agentParsed, _t4;
98
- return _regeneratorRuntime.wrap(function (_context4) {
99
- while (1) switch (_context4.prev = _context4.next) {
100
- case 0:
101
- section = _ref2.section, lang = _ref2.lang, isMultiAgents = _ref2.isMultiAgents, canFetchCloneAgents = _ref2.canFetchCloneAgents;
102
- mappedLang = mapCORLang(lang);
103
- if (!isMultiAgents) {
104
- _context4.next = 2;
105
- break;
106
- }
107
- customAgents = [];
108
- customHasMore = false;
109
- customNextOffset = null;
110
- maiaAgents = [];
111
- loadCloneAgents = /*#__PURE__*/function () {
112
- var _ref4 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
113
- var _maiaData$data, _yield$Promise$all, _yield$Promise$all2, maiaResponse, globalCloneAgents, maiaData, orchestrators, _t2;
114
- return _regeneratorRuntime.wrap(function (_context2) {
115
- while (1) switch (_context2.prev = _context2.next) {
116
- case 0:
117
- if (canFetchCloneAgents) {
118
- _context2.next = 1;
119
- break;
120
- }
121
- return _context2.abrupt("return");
122
- case 1:
123
- _context2.prev = 1;
124
- _context2.next = 2;
125
- return Promise.all([fetchMaia({
126
- path: "agents?agent_type=orchestrator&lang=".concat(mappedLang),
127
- method: 'GET'
128
- }), fetchGlobalCloneAgents(lang, canFetchCloneAgents)]);
129
- case 2:
130
- _yield$Promise$all = _context2.sent;
131
- _yield$Promise$all2 = _slicedToArray(_yield$Promise$all, 2);
132
- maiaResponse = _yield$Promise$all2[0];
133
- globalCloneAgents = _yield$Promise$all2[1];
134
- _context2.next = 3;
135
- return maiaResponse.json();
136
- case 3:
137
- maiaData = _context2.sent;
138
- orchestrators = ((_maiaData$data = maiaData.data) === null || _maiaData$data === void 0 ? void 0 : _maiaData$data.filter(isMaiaAgent)) || [];
139
- maiaAgents = mergeAgentsWithoutDuplicates(orchestrators, globalCloneAgents);
140
- _context2.next = 5;
141
- break;
142
- case 4:
143
- _context2.prev = 4;
144
- _t2 = _context2["catch"](1);
145
- if (is403AgentFetchError(_t2)) {
146
- _context2.next = 5;
147
- break;
148
- }
149
- throw _t2;
150
- case 5:
151
- case "end":
152
- return _context2.stop();
153
- }
154
- }, _callee2, null, [[1, 4]]);
155
- }));
156
- return function loadCloneAgents() {
157
- return _ref4.apply(this, arguments);
158
- };
159
- }();
160
- loadCustomAgents = /*#__PURE__*/function () {
161
- var _ref5 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {
162
- var customResponse, customData, _t3;
163
- return _regeneratorRuntime.wrap(function (_context3) {
164
- while (1) switch (_context3.prev = _context3.next) {
165
- case 0:
166
- _context3.prev = 0;
167
- _context3.next = 1;
168
- return fetchMaia({
169
- path: 'agents?agent_type=custom&limit=7&offset=0',
170
- method: 'GET'
171
- });
172
- case 1:
173
- customResponse = _context3.sent;
174
- _context3.next = 2;
175
- return customResponse.json();
176
- case 2:
177
- customData = _context3.sent;
178
- customAgents = normalizeCustomAgentsFromApi(customData.data || []);
179
- customHasMore = customData.has_more || false;
180
- customNextOffset = customData.next_offset || null;
181
- _context3.next = 4;
182
- break;
183
- case 3:
184
- _context3.prev = 3;
185
- _t3 = _context3["catch"](0);
186
- if (is403AgentFetchError(_t3)) {
187
- _context3.next = 4;
188
- break;
189
- }
190
- throw _t3;
191
- case 4:
192
- case "end":
193
- return _context3.stop();
194
- }
195
- }, _callee3, null, [[0, 3]]);
196
- }));
197
- return function loadCustomAgents() {
198
- return _ref5.apply(this, arguments);
199
- };
200
- }();
201
- _context4.next = 1;
202
- return Promise.all([loadCloneAgents(), loadCustomAgents()]);
203
- case 1:
204
- agentParsed = sortAgentsList(!canFetchCloneAgents ? customAgents : maiaAgents.length ? [].concat(_toConsumableArray(maiaAgents), _toConsumableArray(customAgents)) : customAgents);
205
- return _context4.abrupt("return", {
206
- data: agentParsed,
207
- has_more: customHasMore,
208
- next_offset: customNextOffset
209
- });
210
- case 2:
211
- queryParams = new URLSearchParams();
212
- if (section === 'project' || section === 'client' || section === 'header' || section === 'task' || section === 'planner') {
213
- queryParams.append('agent_type', 'orchestrator');
214
- queryParams.append('lang', mappedLang);
215
- if (section === 'header') {
216
- queryParams.append('limit', '7');
217
- queryParams.append('offset', '0');
218
- }
219
- }
220
- queryString = queryParams.toString();
221
- path = "agents".concat(queryString ? "?".concat(queryString) : '');
222
- _context4.prev = 3;
223
- _context4.next = 4;
224
- return Promise.all([fetchMaia({
225
- path: path,
226
- method: 'GET'
227
- }), fetchGlobalCloneAgents(lang, canFetchCloneAgents)]);
228
- case 4:
229
- _yield$Promise$all3 = _context4.sent;
230
- _yield$Promise$all4 = _slicedToArray(_yield$Promise$all3, 2);
231
- response = _yield$Promise$all4[0];
232
- globalCloneAgents = _yield$Promise$all4[1];
233
- _context4.next = 5;
234
- return response.json();
235
- case 5:
236
- data = _context4.sent;
237
- _agentParsed = sortAgentsList(mergeAgentsWithoutDuplicates(data.data || [], globalCloneAgents));
238
- return _context4.abrupt("return", {
239
- data: _agentParsed,
240
- has_more: data.has_more,
241
- next_offset: data.next_offset
242
- });
243
- case 6:
244
- _context4.prev = 6;
245
- _t4 = _context4["catch"](3);
246
- if (!is403AgentFetchError(_t4)) {
247
- _context4.next = 7;
248
- break;
249
- }
250
- return _context4.abrupt("return", {
251
- data: [],
252
- has_more: false,
253
- next_offset: null
254
- });
255
- case 7:
256
- throw _t4;
257
- case 8:
258
- case "end":
259
- return _context4.stop();
260
- }
261
- }, _callee4, null, [[3, 6]]);
262
- }));
263
- return function fetchAgentsList(_x3) {
264
- return _ref3.apply(this, arguments);
265
- };
266
- }();
267
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmZXRjaE1haWEiLCJ3aXRoTm9ybWFsaXplZENvbm5lY3RvcnMiLCJtYXBDT1JMYW5nIiwiaXNNYWlhQWdlbnQiLCJhZ2VudCIsInR5cGUiLCJpczQwM0FnZW50RmV0Y2hFcnJvciIsImVyciIsIl9lcnJvciRyZXNwb25zZSIsIl9lcnJvciRtZXNzYWdlIiwiX2Vycm9yJG1lc3NhZ2UyIiwiZXJyb3IiLCJyZXNwb25zZSIsInN0YXR1cyIsIkJvb2xlYW4iLCJtZXNzYWdlIiwiaW5jbHVkZXMiLCJtZXJnZUFnZW50c1dpdGhvdXREdXBsaWNhdGVzIiwiYmFzZSIsImV4dHJhIiwiaWRzIiwiU2V0IiwibWFwIiwiaWQiLCJtZXJnZWQiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJmb3JFYWNoIiwiaGFzIiwicHVzaCIsInNvcnRBZ2VudHNMaXN0IiwiYWdlbnRzIiwibWFpYUFnZW50cyIsImZpbHRlciIsIm90aGVyQWdlbnRzIiwiYWciLCJmYXZvcml0ZXMiLCJpc19mYXZvcml0ZSIsInNvcnQiLCJhIiwiYiIsIm5hbWUiLCJsb2NhbGVDb21wYXJlIiwibm9uRmF2b3JpdGVzIiwibGVuZ3RoIiwiY29uY2F0Iiwibm9ybWFsaXplQ3VzdG9tQWdlbnRzRnJvbUFwaSIsImZldGNoR2xvYmFsQ2xvbmVBZ2VudHMiLCJfcmVmIiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwibWFyayIsIl9jYWxsZWUiLCJsYW5nIiwiY2FuRmV0Y2hDbG9uZUFnZW50cyIsImNsb25lUmVzcG9uc2UiLCJjbG9uZURhdGEiLCJfdCIsIndyYXAiLCJfY29udGV4dCIsInByZXYiLCJuZXh0Iiwid2luZG93IiwiTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UUyIsImFicnVwdCIsInBhdGgiLCJtZXRob2QiLCJzZW50IiwianNvbiIsImRhdGEiLCJzdG9wIiwiX3giLCJfeDIiLCJhcHBseSIsImFyZ3VtZW50cyIsImZldGNoQWdlbnRzTGlzdCIsIl9yZWYzIiwiX2NhbGxlZTQiLCJfcmVmMiIsInNlY3Rpb24iLCJpc011bHRpQWdlbnRzIiwibWFwcGVkTGFuZyIsImN1c3RvbUFnZW50cyIsImN1c3RvbUhhc01vcmUiLCJjdXN0b21OZXh0T2Zmc2V0IiwibG9hZENsb25lQWdlbnRzIiwibG9hZEN1c3RvbUFnZW50cyIsImFnZW50UGFyc2VkIiwicXVlcnlQYXJhbXMiLCJxdWVyeVN0cmluZyIsIl95aWVsZCRQcm9taXNlJGFsbDMiLCJfeWllbGQkUHJvbWlzZSRhbGw0IiwiZ2xvYmFsQ2xvbmVBZ2VudHMiLCJfYWdlbnRQYXJzZWQiLCJfdDQiLCJfY29udGV4dDQiLCJfcmVmNCIsIl9jYWxsZWUyIiwiX21haWFEYXRhJGRhdGEiLCJfeWllbGQkUHJvbWlzZSRhbGwiLCJfeWllbGQkUHJvbWlzZSRhbGwyIiwibWFpYVJlc3BvbnNlIiwibWFpYURhdGEiLCJvcmNoZXN0cmF0b3JzIiwiX3QyIiwiX2NvbnRleHQyIiwiUHJvbWlzZSIsImFsbCIsIl9zbGljZWRUb0FycmF5IiwiX3JlZjUiLCJfY2FsbGVlMyIsImN1c3RvbVJlc3BvbnNlIiwiY3VzdG9tRGF0YSIsIl90MyIsIl9jb250ZXh0MyIsImhhc19tb3JlIiwibmV4dF9vZmZzZXQiLCJVUkxTZWFyY2hQYXJhbXMiLCJhcHBlbmQiLCJ0b1N0cmluZyIsIl94MyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9tYWlhL2Jvb3RzdHJhcC9mZXRjaEFnZW50c0xpc3QudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZmV0Y2hNYWlhIH0gZnJvbSAnLi4vY2xpZW50J1xuaW1wb3J0IHsgd2l0aE5vcm1hbGl6ZWRDb25uZWN0b3JzIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvbm9ybWFsaXplQWdlbnRDb25uZWN0b3JzJ1xuaW1wb3J0IHsgQWdlbnQgfSBmcm9tICcuLi8uLi8uLi90eXBlcy9hZ2VudCdcbmltcG9ydCB7IFNlY3Rpb24gfSBmcm9tICcuLi8uLi8uLi9jb250ZXh0L2dsb2JhbC1jb250ZXh0J1xuaW1wb3J0IHsgbWFwQ09STGFuZyB9IGZyb20gJy4uLy4uLy4uL2xhbmcvdXRpbHMnXG5cbmNvbnN0IGlzTWFpYUFnZW50ID0gKGFnZW50OiBBZ2VudCkgPT4gYWdlbnQ/LnR5cGUgPT09ICdvcmNoZXN0cmF0b3InXG5cbmV4cG9ydCBjb25zdCBpczQwM0FnZW50RmV0Y2hFcnJvciA9IChlcnI6IHVua25vd24pOiBib29sZWFuID0+IHtcbiAgY29uc3QgZXJyb3IgPSBlcnIgYXMgeyByZXNwb25zZT86IHsgc3RhdHVzPzogbnVtYmVyIH07IHN0YXR1cz86IG51bWJlcjsgbWVzc2FnZT86IHN0cmluZyB9XG4gIHJldHVybiAoXG4gICAgZXJyb3I/LnJlc3BvbnNlPy5zdGF0dXMgPT09IDQwMyB8fFxuICAgIGVycm9yPy5zdGF0dXMgPT09IDQwMyB8fFxuICAgIEJvb2xlYW4oZXJyb3I/Lm1lc3NhZ2U/LmluY2x1ZGVzKFwiWW91IGRvbid0IGhhdmUgcGVybWlzc2lvbiB0byB2aWV3IGFnZW50c1wiKSkgfHxcbiAgICBCb29sZWFuKGVycm9yPy5tZXNzYWdlPy5pbmNsdWRlcygnRmFpbGVkIGZldGNoaW5nIGRhdGEnKSlcbiAgKVxufVxuXG5leHBvcnQgY29uc3QgbWVyZ2VBZ2VudHNXaXRob3V0RHVwbGljYXRlcyA9IChiYXNlOiBBZ2VudFtdLCBleHRyYTogQWdlbnRbXSk6IEFnZW50W10gPT4ge1xuICBjb25zdCBpZHMgPSBuZXcgU2V0KGJhc2UubWFwKGFnZW50ID0+IGFnZW50LmlkKSlcbiAgY29uc3QgbWVyZ2VkID0gWy4uLmJhc2VdXG4gIGV4dHJhLmZvckVhY2goYWdlbnQgPT4ge1xuICAgIGlmICghaWRzLmhhcyhhZ2VudC5pZCkpIG1lcmdlZC5wdXNoKGFnZW50KVxuICB9KVxuICByZXR1cm4gbWVyZ2VkXG59XG5cbmV4cG9ydCBjb25zdCBzb3J0QWdlbnRzTGlzdCA9IChhZ2VudHM6IEFnZW50W10pOiBBZ2VudFtdID0+IHtcbiAgY29uc3QgbWFpYUFnZW50cyA9IGFnZW50cy5maWx0ZXIoaXNNYWlhQWdlbnQpXG4gIGNvbnN0IG90aGVyQWdlbnRzID0gYWdlbnRzLmZpbHRlcihhZyA9PiAhaXNNYWlhQWdlbnQoYWcpKVxuICBjb25zdCBmYXZvcml0ZXMgPSBvdGhlckFnZW50cy5maWx0ZXIoYWcgPT4gYWcuaXNfZmF2b3JpdGUpLnNvcnQoKGEsIGIpID0+IGEubmFtZS5sb2NhbGVDb21wYXJlKGIubmFtZSkpXG4gIGNvbnN0IG5vbkZhdm9yaXRlcyA9IG90aGVyQWdlbnRzLmZpbHRlcihhZyA9PiAhYWcuaXNfZmF2b3JpdGUpLnNvcnQoKGEsIGIpID0+IGEubmFtZS5sb2NhbGVDb21wYXJlKGIubmFtZSkpXG4gIHJldHVybiBtYWlhQWdlbnRzLmxlbmd0aCA/IFsuLi5tYWlhQWdlbnRzLCAuLi5mYXZvcml0ZXMsIC4uLm5vbkZhdm9yaXRlc10gOiBbLi4uZmF2b3JpdGVzLCAuLi5ub25GYXZvcml0ZXNdXG59XG5cbmNvbnN0IG5vcm1hbGl6ZUN1c3RvbUFnZW50c0Zyb21BcGkgPSAoYWdlbnRzOiBBZ2VudFtdKTogQWdlbnRbXSA9PlxuICBhZ2VudHMubWFwKGFnZW50ID0+IChhZ2VudC50eXBlID09PSAnY3VzdG9tJyA/IHdpdGhOb3JtYWxpemVkQ29ubmVjdG9ycyhhZ2VudCkgOiBhZ2VudCkpXG5cbmV4cG9ydCB0eXBlIEZldGNoQWdlbnRzTGlzdFBhcmFtcyA9IHtcbiAgc2VjdGlvbjogU2VjdGlvblxuICBsYW5nOiBzdHJpbmdcbiAgaXNNdWx0aUFnZW50czogYm9vbGVhblxuICBjYW5GZXRjaENsb25lQWdlbnRzOiBib29sZWFuXG59XG5cbmV4cG9ydCB0eXBlIEZldGNoQWdlbnRzTGlzdFJlc3VsdCA9IHtcbiAgZGF0YTogQWdlbnRbXVxuICBoYXNfbW9yZT86IGJvb2xlYW5cbiAgbmV4dF9vZmZzZXQ/OiBudW1iZXIgfCBudWxsXG59XG5cbmNvbnN0IGZldGNoR2xvYmFsQ2xvbmVBZ2VudHMgPSBhc3luYyAobGFuZzogc3RyaW5nLCBjYW5GZXRjaENsb25lQWdlbnRzOiBib29sZWFuKTogUHJvbWlzZTxBZ2VudFtdPiA9PiB7XG4gIGlmICghd2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFMgfHwgIWNhbkZldGNoQ2xvbmVBZ2VudHMpIHJldHVybiBbXVxuXG4gIHRyeSB7XG4gICAgY29uc3QgY2xvbmVSZXNwb25zZSA9IGF3YWl0IGZldGNoTWFpYSh7XG4gICAgICBwYXRoOiBgYWdlbnRzP2FnZW50X3R5cGU9Y2xvbmUmZW50aXR5PWdsb2JhbCZsYW5nPSR7bWFwQ09STGFuZyhsYW5nKX1gLFxuICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICB9KVxuICAgIGNvbnN0IGNsb25lRGF0YSA9IGF3YWl0IGNsb25lUmVzcG9uc2UuanNvbigpXG4gICAgcmV0dXJuIChjbG9uZURhdGEuZGF0YSB8fCBbXSkuZmlsdGVyKChhZzogQWdlbnQpID0+IGFnLnR5cGUgPT09ICdjbG9uZScpXG4gIH0gY2F0Y2ggKGNsb25lRXJyb3IpIHtcbiAgICBpZiAoaXM0MDNBZ2VudEZldGNoRXJyb3IoY2xvbmVFcnJvcikpIHJldHVybiBbXVxuICAgIHRocm93IGNsb25lRXJyb3JcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgZmV0Y2hBZ2VudHNMaXN0ID0gYXN5bmMgKHtcbiAgc2VjdGlvbixcbiAgbGFuZyxcbiAgaXNNdWx0aUFnZW50cyxcbiAgY2FuRmV0Y2hDbG9uZUFnZW50cyxcbn06IEZldGNoQWdlbnRzTGlzdFBhcmFtcyk6IFByb21pc2U8RmV0Y2hBZ2VudHNMaXN0UmVzdWx0PiA9PiB7XG4gIGNvbnN0IG1hcHBlZExhbmcgPSBtYXBDT1JMYW5nKGxhbmcpXG5cbiAgaWYgKGlzTXVsdGlBZ2VudHMpIHtcbiAgICBsZXQgY3VzdG9tQWdlbnRzOiBBZ2VudFtdID0gW11cbiAgICBsZXQgY3VzdG9tSGFzTW9yZSA9IGZhbHNlXG4gICAgbGV0IGN1c3RvbU5leHRPZmZzZXQ6IG51bWJlciB8IG51bGwgPSBudWxsXG4gICAgbGV0IG1haWFBZ2VudHM6IEFnZW50W10gPSBbXVxuXG4gICAgY29uc3QgbG9hZENsb25lQWdlbnRzID0gYXN5bmMgKCkgPT4ge1xuICAgICAgaWYgKCFjYW5GZXRjaENsb25lQWdlbnRzKSByZXR1cm5cblxuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgW21haWFSZXNwb25zZSwgZ2xvYmFsQ2xvbmVBZ2VudHNdID0gYXdhaXQgUHJvbWlzZS5hbGwoW1xuICAgICAgICAgIGZldGNoTWFpYSh7XG4gICAgICAgICAgICBwYXRoOiBgYWdlbnRzP2FnZW50X3R5cGU9b3JjaGVzdHJhdG9yJmxhbmc9JHttYXBwZWRMYW5nfWAsXG4gICAgICAgICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgICAgIH0pLFxuICAgICAgICAgIGZldGNoR2xvYmFsQ2xvbmVBZ2VudHMobGFuZywgY2FuRmV0Y2hDbG9uZUFnZW50cyksXG4gICAgICAgIF0pXG4gICAgICAgIGNvbnN0IG1haWFEYXRhID0gYXdhaXQgbWFpYVJlc3BvbnNlLmpzb24oKVxuICAgICAgICBjb25zdCBvcmNoZXN0cmF0b3JzID0gbWFpYURhdGEuZGF0YT8uZmlsdGVyKGlzTWFpYUFnZW50KSB8fCBbXVxuICAgICAgICBtYWlhQWdlbnRzID0gbWVyZ2VBZ2VudHNXaXRob3V0RHVwbGljYXRlcyhvcmNoZXN0cmF0b3JzLCBnbG9iYWxDbG9uZUFnZW50cylcbiAgICAgIH0gY2F0Y2ggKG1haWFFcnJvcjogdW5rbm93bikge1xuICAgICAgICBpZiAoIWlzNDAzQWdlbnRGZXRjaEVycm9yKG1haWFFcnJvcikpIHRocm93IG1haWFFcnJvclxuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGxvYWRDdXN0b21BZ2VudHMgPSBhc3luYyAoKSA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBjdXN0b21SZXNwb25zZSA9IGF3YWl0IGZldGNoTWFpYSh7XG4gICAgICAgICAgcGF0aDogJ2FnZW50cz9hZ2VudF90eXBlPWN1c3RvbSZsaW1pdD03Jm9mZnNldD0wJyxcbiAgICAgICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgICB9KVxuICAgICAgICBjb25zdCBjdXN0b21EYXRhID0gYXdhaXQgY3VzdG9tUmVzcG9uc2UuanNvbigpXG4gICAgICAgIGN1c3RvbUFnZW50cyA9IG5vcm1hbGl6ZUN1c3RvbUFnZW50c0Zyb21BcGkoY3VzdG9tRGF0YS5kYXRhIHx8IFtdKVxuICAgICAgICBjdXN0b21IYXNNb3JlID0gY3VzdG9tRGF0YS5oYXNfbW9yZSB8fCBmYWxzZVxuICAgICAgICBjdXN0b21OZXh0T2Zmc2V0ID0gY3VzdG9tRGF0YS5uZXh0X29mZnNldCB8fCBudWxsXG4gICAgICB9IGNhdGNoIChjdXN0b21FcnJvcjogdW5rbm93bikge1xuICAgICAgICBpZiAoIWlzNDAzQWdlbnRGZXRjaEVycm9yKGN1c3RvbUVycm9yKSkgdGhyb3cgY3VzdG9tRXJyb3JcbiAgICAgIH1cbiAgICB9XG5cbiAgICBhd2FpdCBQcm9taXNlLmFsbChbbG9hZENsb25lQWdlbnRzKCksIGxvYWRDdXN0b21BZ2VudHMoKV0pXG5cbiAgICBjb25zdCBhZ2VudFBhcnNlZCA9IHNvcnRBZ2VudHNMaXN0KFxuICAgICAgIWNhbkZldGNoQ2xvbmVBZ2VudHMgPyBjdXN0b21BZ2VudHMgOiBtYWlhQWdlbnRzLmxlbmd0aCA/IFsuLi5tYWlhQWdlbnRzLCAuLi5jdXN0b21BZ2VudHNdIDogY3VzdG9tQWdlbnRzXG4gICAgKVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGRhdGE6IGFnZW50UGFyc2VkLFxuICAgICAgaGFzX21vcmU6IGN1c3RvbUhhc01vcmUsXG4gICAgICBuZXh0X29mZnNldDogY3VzdG9tTmV4dE9mZnNldCxcbiAgICB9XG4gIH1cblxuICBjb25zdCBxdWVyeVBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoKVxuICBpZiAoXG4gICAgc2VjdGlvbiA9PT0gJ3Byb2plY3QnIHx8XG4gICAgc2VjdGlvbiA9PT0gJ2NsaWVudCcgfHxcbiAgICBzZWN0aW9uID09PSAnaGVhZGVyJyB8fFxuICAgIHNlY3Rpb24gPT09ICd0YXNrJyB8fFxuICAgIHNlY3Rpb24gPT09ICdwbGFubmVyJ1xuICApIHtcbiAgICBxdWVyeVBhcmFtcy5hcHBlbmQoJ2FnZW50X3R5cGUnLCAnb3JjaGVzdHJhdG9yJylcbiAgICBxdWVyeVBhcmFtcy5hcHBlbmQoJ2xhbmcnLCBtYXBwZWRMYW5nKVxuICAgIGlmIChzZWN0aW9uID09PSAnaGVhZGVyJykge1xuICAgICAgcXVlcnlQYXJhbXMuYXBwZW5kKCdsaW1pdCcsICc3JylcbiAgICAgIHF1ZXJ5UGFyYW1zLmFwcGVuZCgnb2Zmc2V0JywgJzAnKVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHF1ZXJ5U3RyaW5nID0gcXVlcnlQYXJhbXMudG9TdHJpbmcoKVxuICBjb25zdCBwYXRoID0gYGFnZW50cyR7cXVlcnlTdHJpbmcgPyBgPyR7cXVlcnlTdHJpbmd9YCA6ICcnfWBcblxuICB0cnkge1xuICAgIGNvbnN0IFtyZXNwb25zZSwgZ2xvYmFsQ2xvbmVBZ2VudHNdID0gYXdhaXQgUHJvbWlzZS5hbGwoW1xuICAgICAgZmV0Y2hNYWlhKHsgcGF0aCwgbWV0aG9kOiAnR0VUJyB9KSxcbiAgICAgIGZldGNoR2xvYmFsQ2xvbmVBZ2VudHMobGFuZywgY2FuRmV0Y2hDbG9uZUFnZW50cyksXG4gICAgXSlcbiAgICBjb25zdCBkYXRhID0gYXdhaXQgcmVzcG9uc2UuanNvbigpXG4gICAgY29uc3QgYWdlbnRQYXJzZWQgPSBzb3J0QWdlbnRzTGlzdChtZXJnZUFnZW50c1dpdGhvdXREdXBsaWNhdGVzKGRhdGEuZGF0YSB8fCBbXSwgZ2xvYmFsQ2xvbmVBZ2VudHMpKVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGRhdGE6IGFnZW50UGFyc2VkLFxuICAgICAgaGFzX21vcmU6IGRhdGEuaGFzX21vcmUsXG4gICAgICBuZXh0X29mZnNldDogZGF0YS5uZXh0X29mZnNldCxcbiAgICB9XG4gIH0gY2F0Y2ggKHJlc3BvbnNlRXJyb3I6IHVua25vd24pIHtcbiAgICBpZiAoaXM0MDNBZ2VudEZldGNoRXJyb3IocmVzcG9uc2VFcnJvcikpIHtcbiAgICAgIHJldHVybiB7IGRhdGE6IFtdLCBoYXNfbW9yZTogZmFsc2UsIG5leHRfb2Zmc2V0OiBudWxsIH1cbiAgICB9XG4gICAgdGhyb3cgcmVzcG9uc2VFcnJvclxuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxTQUFTQSxTQUFTLFFBQVEsV0FBVztBQUNyQyxTQUFTQyx3QkFBd0IsUUFBUSx5Q0FBeUM7QUFHbEYsU0FBU0MsVUFBVSxRQUFRLHFCQUFxQjtBQUVoRCxJQUFNQyxXQUFXLEdBQUcsU0FBZEEsV0FBV0EsQ0FBSUMsS0FBWTtFQUFBLE9BQUssQ0FBQUEsS0FBSyxhQUFMQSxLQUFLLHVCQUFMQSxLQUFLLENBQUVDLElBQUksTUFBSyxjQUFjO0FBQUE7QUFFcEUsT0FBTyxJQUFNQyxvQkFBb0IsR0FBRyxTQUF2QkEsb0JBQW9CQSxDQUFJQyxHQUFZLEVBQWM7RUFBQSxJQUFBQyxlQUFBLEVBQUFDLGNBQUEsRUFBQUMsZUFBQTtFQUM3RCxJQUFNQyxLQUFLLEdBQUdKLEdBQTRFO0VBQzFGLE9BQ0UsQ0FBQUksS0FBSyxhQUFMQSxLQUFLLGdCQUFBSCxlQUFBLEdBQUxHLEtBQUssQ0FBRUMsUUFBUSxjQUFBSixlQUFBLHVCQUFmQSxlQUFBLENBQWlCSyxNQUFNLE1BQUssR0FBRyxJQUMvQixDQUFBRixLQUFLLGFBQUxBLEtBQUssdUJBQUxBLEtBQUssQ0FBRUUsTUFBTSxNQUFLLEdBQUcsSUFDckJDLE9BQU8sQ0FBQ0gsS0FBSyxhQUFMQSxLQUFLLGdCQUFBRixjQUFBLEdBQUxFLEtBQUssQ0FBRUksT0FBTyxjQUFBTixjQUFBLHVCQUFkQSxjQUFBLENBQWdCTyxRQUFRLENBQUMsMENBQTBDLENBQUMsQ0FBQyxJQUM3RUYsT0FBTyxDQUFDSCxLQUFLLGFBQUxBLEtBQUssZ0JBQUFELGVBQUEsR0FBTEMsS0FBSyxDQUFFSSxPQUFPLGNBQUFMLGVBQUEsdUJBQWRBLGVBQUEsQ0FBZ0JNLFFBQVEsQ0FBQyxzQkFB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
@@ -1,96 +0,0 @@
1
- import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
- import _regeneratorRuntime from "@babel/runtime/regenerator";
3
- import { isMaiaCloneAgentsRoleBlocked } from '../../../constants/maiaTaskPanelAccess';
4
- import { mapCORLang } from '../../../lang/utils';
5
- import { resetAgentsPrefetchSession } from './agentsPrefetchSession';
6
- import { fetchAgentsList } from './fetchAgentsList';
7
- import { buildAgentsPrefetchKey, hasAgentsPrefetchInFlight, hasAgentsPrefetchReady, registerAgentsPrefetch } from './agentsPrefetchSession';
8
- import { prefetchMaiaRecentContexts } from './prefetchMaiaRecentContexts';
9
- import { resetRecentContextsPrefetchSession } from './recentContextsPrefetchSession';
10
- export { takeAgentsPrefetch, resetAgentsPrefetchSession, buildAgentsPrefetchKey } from './agentsPrefetchSession';
11
- export { prefetchMaiaRecentContexts } from './prefetchMaiaRecentContexts';
12
- export var resetMaiaPrefetchSession = function resetMaiaPrefetchSession() {
13
- resetAgentsPrefetchSession();
14
- resetRecentContextsPrefetchSession();
15
- };
16
- var resolveLang = function resolveLang(lang) {
17
- var _ref, _window$lang, _window$userInfo;
18
- if (lang) {
19
- return mapCORLang(lang);
20
- }
21
- if (typeof window === 'undefined') {
22
- return 'es';
23
- }
24
- var raw = (_ref = (_window$lang = window.lang) !== null && _window$lang !== void 0 ? _window$lang : (_window$userInfo = window.userInfo) === null || _window$userInfo === void 0 || (_window$userInfo = _window$userInfo.info) === null || _window$userInfo === void 0 ? void 0 : _window$userInfo.lang) !== null && _ref !== void 0 ? _ref : 'es';
25
- return mapCORLang(String(raw).trim().toLowerCase());
26
- };
27
- var prefetchAgentsList = /*#__PURE__*/function () {
28
- var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref2) {
29
- var _window$userInfo2;
30
- var section, resolvedLang, roleId, isMultiAgents, userLike, canFetchCloneAgents, prefetchKey, promise;
31
- return _regeneratorRuntime.wrap(function (_context) {
32
- while (1) switch (_context.prev = _context.next) {
33
- case 0:
34
- section = _ref2.section, resolvedLang = _ref2.resolvedLang, roleId = _ref2.roleId;
35
- isMultiAgents = !!window.MAIA_CHAT_AI_FEATURE_ACCESS && !!window.MAIA_CHAT_AI_FEATURE_ACCESS_MULTI_AGENTS;
36
- userLike = roleId != null ? {
37
- role_id: roleId
38
- } : (_window$userInfo2 = window.userInfo) === null || _window$userInfo2 === void 0 ? void 0 : _window$userInfo2.info;
39
- canFetchCloneAgents = !isMaiaCloneAgentsRoleBlocked(userLike, section);
40
- prefetchKey = buildAgentsPrefetchKey(section, resolvedLang, isMultiAgents);
41
- if (!(hasAgentsPrefetchReady(prefetchKey) || hasAgentsPrefetchInFlight(prefetchKey))) {
42
- _context.next = 1;
43
- break;
44
- }
45
- return _context.abrupt("return");
46
- case 1:
47
- promise = fetchAgentsList({
48
- section: section,
49
- lang: resolvedLang,
50
- isMultiAgents: isMultiAgents,
51
- canFetchCloneAgents: canFetchCloneAgents
52
- });
53
- _context.next = 2;
54
- return registerAgentsPrefetch(prefetchKey, promise)["catch"](function () {
55
- return undefined;
56
- });
57
- case 2:
58
- case "end":
59
- return _context.stop();
60
- }
61
- }, _callee);
62
- }));
63
- return function prefetchAgentsList(_x) {
64
- return _ref3.apply(this, arguments);
65
- };
66
- }();
67
-
68
- /**
69
- * Prefetch en hover/idle: agents + recent-contexts (si MAIA FA activo).
70
- * getAgents / getRecentContexts consumen la sesión al abrir; resetMaiaPrefetchSession al cerrar.
71
- */
72
- export var prefetchMaiaAgents = /*#__PURE__*/function () {
73
- var _ref5 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(_ref4) {
74
- var section, lang, roleId, resolvedLang;
75
- return _regeneratorRuntime.wrap(function (_context2) {
76
- while (1) switch (_context2.prev = _context2.next) {
77
- case 0:
78
- section = _ref4.section, lang = _ref4.lang, roleId = _ref4.roleId;
79
- resolvedLang = resolveLang(lang);
80
- _context2.next = 1;
81
- return Promise.allSettled([prefetchAgentsList({
82
- section: section,
83
- resolvedLang: resolvedLang,
84
- roleId: roleId
85
- }), prefetchMaiaRecentContexts()]);
86
- case 1:
87
- case "end":
88
- return _context2.stop();
89
- }
90
- }, _callee2);
91
- }));
92
- return function prefetchMaiaAgents(_x2) {
93
- return _ref5.apply(this, arguments);
94
- };
95
- }();
96
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJpc01haWFDbG9uZUFnZW50c1JvbGVCbG9ja2VkIiwibWFwQ09STGFuZyIsInJlc2V0QWdlbnRzUHJlZmV0Y2hTZXNzaW9uIiwiZmV0Y2hBZ2VudHNMaXN0IiwiYnVpbGRBZ2VudHNQcmVmZXRjaEtleSIsImhhc0FnZW50c1ByZWZldGNoSW5GbGlnaHQiLCJoYXNBZ2VudHNQcmVmZXRjaFJlYWR5IiwicmVnaXN0ZXJBZ2VudHNQcmVmZXRjaCIsInByZWZldGNoTWFpYVJlY2VudENvbnRleHRzIiwicmVzZXRSZWNlbnRDb250ZXh0c1ByZWZldGNoU2Vzc2lvbiIsInRha2VBZ2VudHNQcmVmZXRjaCIsInJlc2V0TWFpYVByZWZldGNoU2Vzc2lvbiIsInJlc29sdmVMYW5nIiwibGFuZyIsIl9yZWYiLCJfd2luZG93JGxhbmciLCJfd2luZG93JHVzZXJJbmZvIiwid2luZG93IiwicmF3IiwidXNlckluZm8iLCJpbmZvIiwiU3RyaW5nIiwidHJpbSIsInRvTG93ZXJDYXNlIiwicHJlZmV0Y2hBZ2VudHNMaXN0IiwiX3JlZjMiLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJtYXJrIiwiX2NhbGxlZSIsIl9yZWYyIiwiX3dpbmRvdyR1c2VySW5mbzIiLCJzZWN0aW9uIiwicmVzb2x2ZWRMYW5nIiwicm9sZUlkIiwiaXNNdWx0aUFnZW50cyIsInVzZXJMaWtlIiwiY2FuRmV0Y2hDbG9uZUFnZW50cyIsInByZWZldGNoS2V5IiwicHJvbWlzZSIsIndyYXAiLCJfY29udGV4dCIsInByZXYiLCJuZXh0IiwiTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTIiwiTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UUyIsInJvbGVfaWQiLCJhYnJ1cHQiLCJ1bmRlZmluZWQiLCJzdG9wIiwiX3giLCJhcHBseSIsImFyZ3VtZW50cyIsInByZWZldGNoTWFpYUFnZW50cyIsIl9yZWY1IiwiX2NhbGxlZTIiLCJfcmVmNCIsIl9jb250ZXh0MiIsIlByb21pc2UiLCJhbGxTZXR0bGVkIiwiX3gyIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NlcnZpY2VzL21haWEvYm9vdHN0cmFwL3ByZWZldGNoTWFpYUFnZW50cy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFNlY3Rpb24gfSBmcm9tICcuLi8uLi8uLi9jb250ZXh0L2dsb2JhbC1jb250ZXh0J1xuaW1wb3J0IHsgaXNNYWlhQ2xvbmVBZ2VudHNSb2xlQmxvY2tlZCB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy9tYWlhVGFza1BhbmVsQWNjZXNzJ1xuaW1wb3J0IHsgbWFwQ09STGFuZyB9IGZyb20gJy4uLy4uLy4uL2xhbmcvdXRpbHMnXG5pbXBvcnQgeyByZXNldEFnZW50c1ByZWZldGNoU2Vzc2lvbiB9IGZyb20gJy4vYWdlbnRzUHJlZmV0Y2hTZXNzaW9uJ1xuaW1wb3J0IHsgZmV0Y2hBZ2VudHNMaXN0IH0gZnJvbSAnLi9mZXRjaEFnZW50c0xpc3QnXG5pbXBvcnQge1xuICBidWlsZEFnZW50c1ByZWZldGNoS2V5LFxuICBoYXNBZ2VudHNQcmVmZXRjaEluRmxpZ2h0LFxuICBoYXNBZ2VudHNQcmVmZXRjaFJlYWR5LFxuICByZWdpc3RlckFnZW50c1ByZWZldGNoLFxufSBmcm9tICcuL2FnZW50c1ByZWZldGNoU2Vzc2lvbidcbmltcG9ydCB7IHByZWZldGNoTWFpYVJlY2VudENvbnRleHRzIH0gZnJvbSAnLi9wcmVmZXRjaE1haWFSZWNlbnRDb250ZXh0cydcbmltcG9ydCB7IHJlc2V0UmVjZW50Q29udGV4dHNQcmVmZXRjaFNlc3Npb24gfSBmcm9tICcuL3JlY2VudENvbnRleHRzUHJlZmV0Y2hTZXNzaW9uJ1xuXG5leHBvcnQgdHlwZSBQcmVmZXRjaE1haWFBZ2VudHNQYXJhbXMgPSB7XG4gIHNlY3Rpb246IFNlY3Rpb25cbiAgbGFuZz86IHN0cmluZ1xuICAvKiogUGFyYSByZXNvbHZlciBwZXJtaXNvcyBkZSBjbG9uZSBhZ2VudHMgY3VhbmRvIG5vIGhheSBVc2VyUHJvdmlkZXIgbW9udGFkbyAqL1xuICByb2xlSWQ/OiBudW1iZXJcbn1cblxuZXhwb3J0IHsgdGFrZUFnZW50c1ByZWZldGNoLCByZXNldEFnZW50c1ByZWZldGNoU2Vzc2lvbiwgYnVpbGRBZ2VudHNQcmVmZXRjaEtleSB9IGZyb20gJy4vYWdlbnRzUHJlZmV0Y2hTZXNzaW9uJ1xuZXhwb3J0IHsgcHJlZmV0Y2hNYWlhUmVjZW50Q29udGV4dHMgfSBmcm9tICcuL3ByZWZldGNoTWFpYVJlY2VudENvbnRleHRzJ1xuXG5leHBvcnQgY29uc3QgcmVzZXRNYWlhUHJlZmV0Y2hTZXNzaW9uID0gKCk6IHZvaWQgPT4ge1xuICByZXNldEFnZW50c1ByZWZldGNoU2Vzc2lvbigpXG4gIHJlc2V0UmVjZW50Q29udGV4dHNQcmVmZXRjaFNlc3Npb24oKVxufVxuXG5jb25zdCByZXNvbHZlTGFuZyA9IChsYW5nPzogc3RyaW5nKTogc3RyaW5nID0+IHtcbiAgaWYgKGxhbmcpIHtcbiAgICByZXR1cm4gbWFwQ09STGFuZyhsYW5nKVxuICB9XG4gIGlmICh0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJykge1xuICAgIHJldHVybiAnZXMnXG4gIH1cbiAgY29uc3QgcmF3ID0gd2luZG93LmxhbmcgPz8gd2luZG93LnVzZXJJbmZvPy5pbmZvPy5sYW5nID8/ICdlcydcbiAgcmV0dXJuIG1hcENPUkxhbmcoU3RyaW5nKHJhdykudHJpbSgpLnRvTG93ZXJDYXNlKCkpXG59XG5cbmNvbnN0IHByZWZldGNoQWdlbnRzTGlzdCA9IGFzeW5jICh7XG4gIHNlY3Rpb24sXG4gIHJlc29sdmVkTGFuZyxcbiAgcm9sZUlkLFxufToge1xuICBzZWN0aW9uOiBTZWN0aW9uXG4gIHJlc29sdmVkTGFuZzogc3RyaW5nXG4gIHJvbGVJZD86IG51bWJlclxufSk6IFByb21pc2U8dm9pZD4gPT4ge1xuICBjb25zdCBpc011bHRpQWdlbnRzID0gISF3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTICYmICEhd2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFNcbiAgY29uc3QgdXNlckxpa2UgPSByb2xlSWQgIT0gbnVsbCA/IHsgcm9sZV9pZDogcm9sZUlkIH0gOiB3aW5kb3cudXNlckluZm8/LmluZm9cbiAgY29uc3QgY2FuRmV0Y2hDbG9uZUFnZW50cyA9ICFpc01haWFDbG9uZUFnZW50c1JvbGVCbG9ja2VkKHVzZXJMaWtlLCBzZWN0aW9uKVxuICBjb25zdCBwcmVmZXRjaEtleSA9IGJ1aWxkQWdlbnRzUHJlZmV0Y2hLZXkoc2VjdGlvbiwgcmVzb2x2ZWRMYW5nLCBpc011bHRpQWdlbnRzKVxuXG4gIGlmIChoYXNBZ2VudHNQcmVmZXRjaFJlYWR5KHByZWZldGNoS2V5KSB8fCBoYXNBZ2VudHNQcmVmZXRjaEluRmxpZ2h0KHByZWZldGNoS2V5KSkge1xuICAgIHJldHVyblxuICB9XG5cbiAgY29uc3QgcHJvbWlzZSA9IGZldGNoQWdlbnRzTGlzdCh7XG4gICAgc2VjdGlvbixcbiAgICBsYW5nOiByZXNvbHZlZExhbmcsXG4gICAgaXNNdWx0aUFnZW50cyxcbiAgICBjYW5GZXRjaENsb25lQWdlbnRzLFxuICB9KVxuXG4gIGF3YWl0IHJlZ2lzdGVyQWdlbnRzUHJlZmV0Y2gocHJlZmV0Y2hLZXksIHByb21pc2UpLmNhdGNoKCgpID0+IHVuZGVmaW5lZClcbn1cblxuLyoqXG4gKiBQcmVmZXRjaCBlbiBob3Zlci9pZGxlOiBhZ2VudHMgKyByZWNlbnQtY29udGV4dHMgKHNpIE1BSUEgRkEgYWN0aXZvKS5cbiAqIGdldEFnZW50cyAvIGdldFJlY2VudENvbnRleHRzIGNvbnN1bWVuIGxhIHNlc2nDs24gYWwgYWJyaXI7IHJlc2V0TWFpYVByZWZldGNoU2Vzc2lvbiBhbCBjZXJyYXIuXG4gKi9cbmV4cG9ydCBjb25zdCBwcmVmZXRjaE1haWFBZ2VudHMgPSBhc3luYyAoeyBzZWN0aW9uLCBsYW5nLCByb2xlSWQgfTogUHJlZmV0Y2hNYWlhQWdlbnRzUGFyYW1zKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gIGNvbnN0IHJlc29sdmVkTGFuZyA9IHJlc29sdmVMYW5nKGxhbmcpXG5cbiAgYXdhaXQgUHJvbWlzZS5hbGxTZXR0bGVkKFtwcmVmZXRjaEFnZW50c0xpc3QoeyBzZWN0aW9uLCByZXNvbHZlZExhbmcsIHJvbGVJZCB9KSwgcHJlZmV0Y2hNYWlhUmVjZW50Q29udGV4dHMoKV0pXG59XG4iXSwibWFwcGluZ3MiOiI7O0FBQ0EsU0FBU0EsNEJBQTRCLFFBQVEsd0NBQXdDO0FBQ3JGLFNBQVNDLFVBQVUsUUFBUSxxQkFBcUI7QUFDaEQsU0FBU0MsMEJBQTBCLFFBQVEseUJBQXlCO0FBQ3BFLFNBQVNDLGVBQWUsUUFBUSxtQkFBbUI7QUFDbkQsU0FDRUMsc0JBQXNCLEVBQ3RCQyx5QkFBeUIsRUFDekJDLHNCQUFzQixFQUN0QkMsc0JBQXNCLFFBQ2pCLHlCQUF5QjtBQUNoQyxTQUFTQywwQkFBMEIsUUFBUSw4QkFBOEI7QUFDekUsU0FBU0Msa0NBQWtDLFFBQVEsaUNBQWlDO0FBU3BGLFNBQVNDLGtCQUFrQixFQUFFUiwwQkFBMEIsRUFBRUUsc0JBQXNCLFFBQVEseUJBQXlCO0FBQ2hILFNBQVNJLDBCQUEwQixRQUFRLDhCQUE4QjtBQUV6RSxPQUFPLElBQU1HLHdCQUF3QixHQUFHLFNBQTNCQSx3QkFBd0JBLENBQUEsRUFBZTtFQUNsRFQsMEJBQTBCLENBQUMsQ0FBQztFQUM1Qk8sa0NBQWtDLENBQUMsQ0FBQztBQUN0QyxDQUFDO0FBRUQsSUFBTUcsV0FBVyxHQUFHLFNBQWRBLFdBQVdBLENBQUlDLElBQWEsRUFBYTtFQUFBLElBQUFDLElBQUEsRUFBQUMsWUFBQSxFQUFBQyxnQkFBQTtFQUM3QyxJQUFJSCxJQUFJLEVBQUU7SUFDUixPQUFPWixVQUFVLENBQUNZLElBQUksQ0FBQztFQUN6QjtFQUNBLElBQUksT0FBT0ksTUFBTSxLQUFLLFdBQVcsRUFBRTtJQUNqQyxPQUFPLElBQUk7RUFDYjtFQUNBLElBQU1DLEdBQUcsSUFBQUosSUFBQSxJQUFBQyxZQUFBLEdBQUdFLE1BQU0sQ0FBQ0osSUFBSSxjQUFBRSxZQUFBLGNBQUFBLFlBQUEsSUFBQUMsZ0JBQUEsR0FBSUMsTUFBTSxDQUFDRSxRQUFRLGNBQUFILGdCQUFBLGdCQUFBQSxnQkFBQSxHQUFmQSxnQkFBQSxDQUFpQkksSUFBSSxjQUFBSixnQkFBQSx1QkFBckJBLGdCQUFBLENBQXVCSCxJQUFJLGNBQUFDLElBQUEsY0FBQUEsSUFBQSxHQUFJLElBQUk7RUFDOUQsT0FBT2IsVUFBVSxDQUFDb0IsTUFBTSxDQUFDSCxHQUFHLENBQUMsQ0FBQ0ksSUFBSSxDQUFDLENBQUMsQ0FBQ0MsV0FBVyxDQUFDLENBQUMsQ0FBQztBQUNyRCxDQUFDO0FBRUQsSUFBTUMsa0JBQWtCO0VBQUEsSUFBQUMsS0FBQSxHQUFBQyxpQkFBQSxjQUFBQyxtQkFBQSxDQUFBQyxJQUFBLENBQUcsU0FBQUMsUUFBQUMsS0FBQTtJQUFBLElBQUFDLGlCQUFBO0lBQUEsSUFBQUMsT0FBQSxFQUFBQyxZQUFBLEVBQUFDLE1BQUEsRUFBQUMsYUFBQSxFQUFBQyxRQUFBLEVBQUFDLG1CQUFBLEVBQUFDLFdBQUEsRUFBQUMsT0FBQTtJQUFBLE9BQUFaLG1CQUFBLENBQUFhLElBQUEsV0FBQUMsUUFBQTtNQUFBLGtCQUFBQSxRQUFBLENBQUFDLElBQUEsR0FBQUQsUUFBQSxDQUFBRSxJQUFBO1FBQUE7VUFDekJYLE9BQU8sR0FBQUYsS0FBQSxDQUFQRSxPQUFPLEVBQ1BDLFlBQVksR0FBQUgsS0FBQSxDQUFaRyxZQUFZLEVBQ1pDLE1BQU0sR0FBQUosS0FBQSxDQUFOSSxNQUFNO1VBTUFDLGFBQWEsR0FBRyxDQUFDLENBQUNsQixNQUFNLENBQUMyQiwyQkFBMkIsSUFBSSxDQUFDLENBQUMzQixNQUFNLENBQUM0Qix3Q0FBd0M7VUFDekdULFFBQVEsR0FBR0YsTUFBTSxJQUFJLElBQUksR0FBRztZQUFFWSxPQUFPLEVBQUVaO1VBQU8sQ0FBQyxJQUFBSCxpQkFBQSxHQUFHZCxNQUFNLENBQUNFLFFBQVEsY0FBQVksaUJBQUEsdUJBQWZBLGlCQUFBLENBQWlCWCxJQUFJO1VBQ3ZFaUIsbUJBQW1CLEdBQUcsQ0FBQ3JDLDRCQUE0QixDQUFDb0MsUUFBUSxFQUFFSixPQUFPLENBQUM7VUFDdEVNLFdBQVcsR0FBR2xDLHNCQUFzQixDQUFDNEIsT0FBTyxFQUFFQyxZQUFZLEVBQUVFLGFBQWEsQ0FBQztVQUFBLE1BRTVFN0Isc0JBQXNCLENBQUNnQyxXQUFXLENBQUMsSUFBSWpDLHlCQUF5QixDQUFDaUMsV0FBVyxDQUFDO1lBQUFHLFFBQUEsQ0FBQUUsSUFBQTtZQUFBO1VBQUE7VUFBQSxPQUFBRixRQUFBLENBQUFNLE1BQUE7UUFBQTtVQUkzRVIsT0FBTyxHQUFHcEMsZUFBZSxDQUFDO1lBQzlCNkIsT0FBTyxFQUFQQSxPQUFPO1lBQ1BuQixJQUFJLEVBQUVvQixZQUFZO1lBQ2xCRSxhQUFhLEVBQWJBLGFBQWE7WUFDYkUsbUJBQW1CLEVBQW5CQTtVQUNGLENBQUMsQ0FBQztVQUFBSSxRQUFBLENBQUFFLElBQUE7VUFBQSxPQUVJcEMsc0JBQXNCLENBQUMrQixXQUFXLEVBQUVDLE9BQU8sQ0FBQyxTQUFNLENBQUM7WUFBQSxPQUFNUyxTQUFTO1VBQUEsRUFBQztRQUFBO1FBQUE7VUFBQSxPQUFBUCxRQUFBLENBQUFRLElBQUE7TUFBQTtJQUFBLEdBQUFwQixPQUFBO0VBQUEsQ0FDMUU7RUFBQSxnQkExQktMLGtCQUFrQkEsQ0FBQTBCLEVBQUE7SUFBQSxPQUFBekIsS0FBQSxDQUFBMEIsS0FBQSxPQUFBQyxTQUFBO0VBQUE7QUFBQSxHQTBCdkI7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPLElBQU1DLGtCQUFrQjtFQUFBLElBQUFDLEtBQUEsR0FBQTVCLGlCQUFBLGNBQUFDLG1CQUFBLENBQUFDLElBQUEsQ0FBRyxTQUFBMkIsU0FBQUMsS0FBQTtJQUFBLElBQUF4QixPQUFBLEVBQUFuQixJQUFBLEVBQUFxQixNQUFBLEVBQUFELFlBQUE7SUFBQSxPQUFBTixtQkFBQSxDQUFBYSxJQUFBLFdBQUFpQixTQUFBO01BQUEsa0JBQUFBLFNBQUEsQ0FBQWYsSUFBQSxHQUFBZSxTQUFBLENBQUFkLElBQUE7UUFBQTtVQUFTWCxPQUFPLEdBQUF3QixLQUFBLENBQVB4QixPQUFPLEVBQUVuQixJQUFJLEdBQUEyQyxLQUFBLENBQUozQyxJQUFJLEVBQUVxQixNQUFNLEdBQUFzQixLQUFBLENBQU50QixNQUFNO1VBQ3hERCxZQUFZLEdBQUdyQixXQUFXLENBQUNDLElBQUksQ0FBQztVQUFBNEMsU0FBQSxDQUFBZCxJQUFBO1VBQUEsT0FFaENlLE9BQU8sQ0FBQ0MsVUFBVSxDQUFDLENBQUNuQyxrQkFBa0IsQ0FBQztZQUFFUSxPQUFPLEVBQVBBLE9BQU87WUFBRUMsWUFBWSxFQUFaQSxZQUFZO1lBQUVDLE1BQU0sRUFBTkE7VUFBTyxDQUFDLENBQUMsRUFBRTFCLDBCQUEwQixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQUE7UUFBQTtVQUFBLE9BQUFpRCxTQUFBLENBQUFSLElBQUE7TUFBQTtJQUFBLEdBQUFNLFFBQUE7RUFBQSxDQUNoSDtFQUFBLGdCQUpZRixrQkFBa0JBLENBQUFPLEdBQUE7SUFBQSxPQUFBTixLQUFBLENBQUFILEtBQUEsT0FBQUMsU0FBQTtFQUFBO0FBQUEsR0FJOUIiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -1,56 +0,0 @@
1
- import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
- import _regeneratorRuntime from "@babel/runtime/regenerator";
3
- import { fetchRecentContextsList } from '../RecentContexts/getRecentContexts';
4
- import { buildRecentContextsPrefetchKey, DEFAULT_RECENT_CONTEXTS_PREFETCH_LIMIT, hasRecentContextsPrefetchInFlight, hasRecentContextsPrefetchReady, registerRecentContextsPrefetch } from './recentContextsPrefetchSession';
5
- var hasMaiaChatFeatureAccess = function hasMaiaChatFeatureAccess() {
6
- return typeof window !== 'undefined' && Boolean(window.MAIA_CHAT_AI_FEATURE_ACCESS);
7
- };
8
- export { takeRecentContextsPrefetch, resetRecentContextsPrefetchSession, buildRecentContextsPrefetchKey } from './recentContextsPrefetchSession';
9
-
10
- /**
11
- * Prefetch en hover/idle cuando MAIA_CHAT_AI_FEATURE_ACCESS está activo.
12
- * getRecentContexts consume con takeRecentContextsPrefetch; al cerrar el modal se resetea.
13
- */
14
- export var prefetchMaiaRecentContexts = /*#__PURE__*/function () {
15
- var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
16
- var limit,
17
- prefetchKey,
18
- promise,
19
- _args = arguments;
20
- return _regeneratorRuntime.wrap(function (_context) {
21
- while (1) switch (_context.prev = _context.next) {
22
- case 0:
23
- limit = _args.length > 0 && _args[0] !== undefined ? _args[0] : DEFAULT_RECENT_CONTEXTS_PREFETCH_LIMIT;
24
- if (hasMaiaChatFeatureAccess()) {
25
- _context.next = 1;
26
- break;
27
- }
28
- return _context.abrupt("return");
29
- case 1:
30
- prefetchKey = buildRecentContextsPrefetchKey({
31
- limit: limit
32
- });
33
- if (!(hasRecentContextsPrefetchReady(prefetchKey) || hasRecentContextsPrefetchInFlight(prefetchKey))) {
34
- _context.next = 2;
35
- break;
36
- }
37
- return _context.abrupt("return");
38
- case 2:
39
- promise = fetchRecentContextsList({
40
- limit: limit
41
- });
42
- _context.next = 3;
43
- return registerRecentContextsPrefetch(prefetchKey, promise)["catch"](function () {
44
- return undefined;
45
- });
46
- case 3:
47
- case "end":
48
- return _context.stop();
49
- }
50
- }, _callee);
51
- }));
52
- return function prefetchMaiaRecentContexts() {
53
- return _ref.apply(this, arguments);
54
- };
55
- }();
56
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmZXRjaFJlY2VudENvbnRleHRzTGlzdCIsImJ1aWxkUmVjZW50Q29udGV4dHNQcmVmZXRjaEtleSIsIkRFRkFVTFRfUkVDRU5UX0NPTlRFWFRTX1BSRUZFVENIX0xJTUlUIiwiaGFzUmVjZW50Q29udGV4dHNQcmVmZXRjaEluRmxpZ2h0IiwiaGFzUmVjZW50Q29udGV4dHNQcmVmZXRjaFJlYWR5IiwicmVnaXN0ZXJSZWNlbnRDb250ZXh0c1ByZWZldGNoIiwiaGFzTWFpYUNoYXRGZWF0dXJlQWNjZXNzIiwid2luZG93IiwiQm9vbGVhbiIsIk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTUyIsInRha2VSZWNlbnRDb250ZXh0c1ByZWZldGNoIiwicmVzZXRSZWNlbnRDb250ZXh0c1ByZWZldGNoU2Vzc2lvbiIsInByZWZldGNoTWFpYVJlY2VudENvbnRleHRzIiwiX3JlZiIsIl9hc3luY1RvR2VuZXJhdG9yIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwibGltaXQiLCJwcmVmZXRjaEtleSIsInByb21pc2UiLCJfYXJncyIsImFyZ3VtZW50cyIsIndyYXAiLCJfY29udGV4dCIsInByZXYiLCJuZXh0IiwibGVuZ3RoIiwidW5kZWZpbmVkIiwiYWJydXB0Iiwic3RvcCIsImFwcGx5Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NlcnZpY2VzL21haWEvYm9vdHN0cmFwL3ByZWZldGNoTWFpYVJlY2VudENvbnRleHRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZldGNoUmVjZW50Q29udGV4dHNMaXN0IH0gZnJvbSAnLi4vUmVjZW50Q29udGV4dHMvZ2V0UmVjZW50Q29udGV4dHMnXG5pbXBvcnQge1xuICBidWlsZFJlY2VudENvbnRleHRzUHJlZmV0Y2hLZXksXG4gIERFRkFVTFRfUkVDRU5UX0NPTlRFWFRTX1BSRUZFVENIX0xJTUlULFxuICBoYXNSZWNlbnRDb250ZXh0c1ByZWZldGNoSW5GbGlnaHQsXG4gIGhhc1JlY2VudENvbnRleHRzUHJlZmV0Y2hSZWFkeSxcbiAgcmVnaXN0ZXJSZWNlbnRDb250ZXh0c1ByZWZldGNoLFxufSBmcm9tICcuL3JlY2VudENvbnRleHRzUHJlZmV0Y2hTZXNzaW9uJ1xuXG5jb25zdCBoYXNNYWlhQ2hhdEZlYXR1cmVBY2Nlc3MgPSAoKTogYm9vbGVhbiA9PlxuICB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyAmJiBCb29sZWFuKHdpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1MpXG5cbmV4cG9ydCB7XG4gIHRha2VSZWNlbnRDb250ZXh0c1ByZWZldGNoLFxuICByZXNldFJlY2VudENvbnRleHRzUHJlZmV0Y2hTZXNzaW9uLFxuICBidWlsZFJlY2VudENvbnRleHRzUHJlZmV0Y2hLZXksXG59IGZyb20gJy4vcmVjZW50Q29udGV4dHNQcmVmZXRjaFNlc3Npb24nXG5cbi8qKlxuICogUHJlZmV0Y2ggZW4gaG92ZXIvaWRsZSBjdWFuZG8gTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTIGVzdMOhIGFjdGl2by5cbiAqIGdldFJlY2VudENvbnRleHRzIGNvbnN1bWUgY29uIHRha2VSZWNlbnRDb250ZXh0c1ByZWZldGNoOyBhbCBjZXJyYXIgZWwgbW9kYWwgc2UgcmVzZXRlYS5cbiAqL1xuZXhwb3J0IGNvbnN0IHByZWZldGNoTWFpYVJlY2VudENvbnRleHRzID0gYXN5bmMgKFxuICBsaW1pdDogbnVtYmVyID0gREVGQVVMVF9SRUNFTlRfQ09OVEVYVFNfUFJFRkVUQ0hfTElNSVRcbik6IFByb21pc2U8dm9pZD4gPT4ge1xuICBpZiAoIWhhc01haWFDaGF0RmVhdHVyZUFjY2VzcygpKSB7XG4gICAgcmV0dXJuXG4gIH1cblxuICBjb25zdCBwcmVmZXRjaEtleSA9IGJ1aWxkUmVjZW50Q29udGV4dHNQcmVmZXRjaEtleSh7IGxpbWl0IH0pXG5cbiAgaWYgKGhhc1JlY2VudENvbnRleHRzUHJlZmV0Y2hSZWFkeShwcmVmZXRjaEtleSkgfHwgaGFzUmVjZW50Q29udGV4dHNQcmVmZXRjaEluRmxpZ2h0KHByZWZldGNoS2V5KSkge1xuICAgIHJldHVyblxuICB9XG5cbiAgY29uc3QgcHJvbWlzZSA9IGZldGNoUmVjZW50Q29udGV4dHNMaXN0KHsgbGltaXQgfSlcblxuICBhd2FpdCByZWdpc3RlclJlY2VudENvbnRleHRzUHJlZmV0Y2gocHJlZmV0Y2hLZXksIHByb21pc2UpLmNhdGNoKCgpID0+IHVuZGVmaW5lZClcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7QUFBQSxTQUFTQSx1QkFBdUIsUUFBUSxxQ0FBcUM7QUFDN0UsU0FDRUMsOEJBQThCLEVBQzlCQyxzQ0FBc0MsRUFDdENDLGlDQUFpQyxFQUNqQ0MsOEJBQThCLEVBQzlCQyw4QkFBOEIsUUFDekIsaUNBQWlDO0FBRXhDLElBQU1DLHdCQUF3QixHQUFHLFNBQTNCQSx3QkFBd0JBLENBQUE7RUFBQSxPQUM1QixPQUFPQyxNQUFNLEtBQUssV0FBVyxJQUFJQyxPQUFPLENBQUNELE1BQU0sQ0FBQ0UsMkJBQTJCLENBQUM7QUFBQTtBQUU5RSxTQUNFQywwQkFBMEIsRUFDMUJDLGtDQUFrQyxFQUNsQ1YsOEJBQThCLFFBQ3pCLGlDQUFpQzs7QUFFeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPLElBQU1XLDBCQUEwQjtFQUFBLElBQUFDLElBQUEsR0FBQUMsaUJBQUEsY0FBQUMsbUJBQUEsQ0FBQUMsSUFBQSxDQUFHLFNBQUFDLFFBQUE7SUFBQSxJQUFBQyxLQUFBO01BQUFDLFdBQUE7TUFBQUMsT0FBQTtNQUFBQyxLQUFBLEdBQUFDLFNBQUE7SUFBQSxPQUFBUCxtQkFBQSxDQUFBUSxJQUFBLFdBQUFDLFFBQUE7TUFBQSxrQkFBQUEsUUFBQSxDQUFBQyxJQUFBLEdBQUFELFFBQUEsQ0FBQUUsSUFBQTtRQUFBO1VBQ3hDUixLQUFhLEdBQUFHLEtBQUEsQ0FBQU0sTUFBQSxRQUFBTixLQUFBLFFBQUFPLFNBQUEsR0FBQVAsS0FBQSxNQUFHbkIsc0NBQXNDO1VBQUEsSUFFakRJLHdCQUF3QixDQUFDLENBQUM7WUFBQWtCLFFBQUEsQ0FBQUUsSUFBQTtZQUFBO1VBQUE7VUFBQSxPQUFBRixRQUFBLENBQUFLLE1BQUE7UUFBQTtVQUl6QlYsV0FBVyxHQUFHbEIsOEJBQThCLENBQUM7WUFBRWlCLEtBQUssRUFBTEE7VUFBTSxDQUFDLENBQUM7VUFBQSxNQUV6RGQsOEJBQThCLENBQUNlLFdBQVcsQ0FBQyxJQUFJaEIsaUNBQWlDLENBQUNnQixXQUFXLENBQUM7WUFBQUssUUFBQSxDQUFBRSxJQUFBO1lBQUE7VUFBQTtVQUFBLE9BQUFGLFFBQUEsQ0FBQUssTUFBQTtRQUFBO1VBSTNGVCxPQUFPLEdBQUdwQix1QkFBdUIsQ0FBQztZQUFFa0IsS0FBSyxFQUFMQTtVQUFNLENBQUMsQ0FBQztVQUFBTSxRQUFBLENBQUFFLElBQUE7VUFBQSxPQUU1Q3JCLDhCQUE4QixDQUFDYyxXQUFXLEVBQUVDLE9BQU8sQ0FBQyxTQUFNLENBQUM7WUFBQSxPQUFNUSxTQUFTO1VBQUEsRUFBQztRQUFBO1FBQUE7VUFBQSxPQUFBSixRQUFBLENBQUFNLElBQUE7TUFBQTtJQUFBLEdBQUFiLE9BQUE7RUFBQSxDQUNsRjtFQUFBLGdCQWhCWUwsMEJBQTBCQSxDQUFBO0lBQUEsT0FBQUMsSUFBQSxDQUFBa0IsS0FBQSxPQUFBVCxTQUFBO0VBQUE7QUFBQSxHQWdCdEMiLCJpZ25vcmVMaXN0IjpbXX0=