@projectcor/maia-components 2.11.36-7 → 2.11.37-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.
- package/lib/App.js +11 -24
- package/lib/components/atoms/Chip/Chip.js +35 -31
- package/lib/components/atoms/MAIAInput/MAIAInput.js +436 -126
- package/lib/components/atoms/MAIAInput/styles.js +61 -43
- package/lib/components/atoms/icons/index.js +1 -3
- package/lib/components/index.js +1 -2
- package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.styles.js +2 -2
- package/lib/components/molecules/AbmSection/AbmGeneralSection.styles.js +3 -3
- package/lib/components/molecules/AbmSection/AbmKnowledgeSection.styles.js +2 -2
- package/lib/components/molecules/AbmSection/index.js +1 -2
- package/lib/components/molecules/ChatAIContent/ChatAIContent.js +1 -13
- package/lib/components/molecules/ChatAIHistory/ChatAIHistory.js +4 -8
- package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +2 -21
- package/lib/components/molecules/ChatAIMessages/newStyles.js +2 -2
- package/lib/components/molecules/ChatAIModal/ChatAIModal.js +89 -91
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +2 -2
- package/lib/components/molecules/ChatAIModal/constants.js +2 -10
- package/lib/components/molecules/ChatFooter/ChatFooter.js +4 -6
- package/lib/components/molecules/Sidebar/Sidebar.js +31 -68
- package/lib/components/molecules/Sidebar/Sidebar.layout.styles.js +2 -6
- package/lib/components/organisms/AbmAgentModal/AbmAgentModal.js +50 -247
- package/lib/components/organisms/AbmAgentModal/AbmAgentModal.styles.js +4 -4
- package/lib/components/organisms/DeleteQuestionModal/DeleteQuestionModal.js +3 -13
- package/lib/components/organisms/EditQuestionModal/EditQuestionModal.js +3 -6
- package/lib/dev/Providers.js +6 -11
- package/lib/hooks/useAgentModel/useCreateAgent.js +10 -11
- package/lib/hooks/useAgentModel/useUpdateAgent.js +11 -12
- package/lib/hooks/useChatManager/useChatManager.interface.js +1 -1
- package/lib/hooks/useChatManager/useChatManager.js +11 -21
- package/lib/hooks/useChatMessages/useChatMessages.interface.js +1 -1
- package/lib/hooks/useChatMessages/useChatMessages.js +14 -30
- package/lib/hooks/useEvent.js +2 -5
- package/lib/hooks/useOrchestratorStream/useOrchestratorStream.js +4 -6
- package/lib/lang/br/index.js +5 -266
- package/lib/lang/en/index.js +5 -266
- package/lib/lang/es/index.js +5 -266
- package/lib/lang/fr/index.js +6 -268
- package/lib/services/maia/Agents/createAgent.js +1 -1
- package/lib/services/maia/Agents/getAgentById.js +2 -3
- package/lib/services/maia/Agents/updateAgent.js +1 -1
- package/lib/services/maia/Chats/getChatMessages.js +4 -29
- package/lib/services/maia/Orchestrator/orchestrator.js +9 -11
- package/lib/services/maia/RecentProjects/getRecentProjects.js +4 -12
- package/lib/services/utils/mapChatMessages.js +5 -12
- package/lib/types/Chat.js +1 -1
- package/lib/types/agent.js +1 -1
- package/lib/types/agentModal.js +1 -1
- package/lib/utils/hitlAnalytics.js +6 -1
- package/package.json +1 -1
- package/lib/components/atoms/ContextMentionChip/ContextMentionChip.js +0 -28
- package/lib/components/atoms/ContextMentionChip/ContextMentionChip.styles.js +0 -84
- package/lib/components/atoms/ContextMentionChip/buildChipElement.js +0 -123
- package/lib/components/atoms/ContextMentionChip/index.js +0 -4
- package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.js +0 -85
- package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.styles.js +0 -6
- package/lib/components/atoms/ContextMentionEditor/index.js +0 -2
- package/lib/components/atoms/ContextMentionItem/ContextMentionItem.js +0 -188
- package/lib/components/atoms/ContextMentionItem/ContextMentionItem.styles.js +0 -98
- package/lib/components/atoms/ContextMentionItem/index.js +0 -2
- package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.js +0 -131
- package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.styles.js +0 -63
- package/lib/components/atoms/ContextMentionPopover/index.js +0 -3
- package/lib/components/atoms/icons/NotionIcon.js +0 -36
- package/lib/components/atoms/icons/RocketIcon.js +0 -31
- package/lib/components/atoms/icons/WrenchIcon.js +0 -42
- package/lib/components/molecules/AbmSection/AbmActionsSectionV2/AbmActionsSectionV2.js +0 -510
- package/lib/components/molecules/AbmSection/AbmActionsSectionV2/AbmActionsSectionV2.styles.js +0 -234
- package/lib/components/molecules/AbmSection/AbmActionsSectionV2/catalog.js +0 -437
- package/lib/components/molecules/AbmSection/AbmActionsSectionV2/index.js +0 -3
- package/lib/components/molecules/AbmSection/AbmSkillsSection.styles.js +0 -80
- package/lib/components/molecules/AbmSection/AbmTriggersSection/AbmTriggersSection.interface.js +0 -2
- package/lib/components/molecules/AbmSection/AbmTriggersSection/AbmTriggersSection.js +0 -722
- package/lib/components/molecules/AbmSection/AbmTriggersSection/AbmTriggersSection.styles.js +0 -165
- package/lib/components/molecules/AbmSection/AbmTriggersSection/index.js +0 -2
- package/lib/components/molecules/ContextMentionInput/ContextMentionInput.js +0 -55
- package/lib/components/molecules/ContextMentionInput/ContextMentionInput.styles.js +0 -6
- package/lib/components/molecules/ContextMentionInput/index.js +0 -2
- package/lib/components/molecules/SchedulesPage/SchedulesPage.js +0 -610
- package/lib/components/molecules/SchedulesPage/index.js +0 -2
- package/lib/components/molecules/SkillsPage/SkillsPage.js +0 -708
- package/lib/components/molecules/SkillsPage/index.js +0 -2
- package/lib/components/molecules/maiaSectionModalStyles.js +0 -91
- package/lib/components/molecules/maiaSectionUiTokens.js +0 -31
- package/lib/constants/taskLinkIcon.js +0 -6
- package/lib/dev/DevAbmAgentModal.js +0 -114
- package/lib/dev/DevContextMentionInput.js +0 -65
- package/lib/dev/mocks/abmModalMocks.js +0 -193
- package/lib/hooks/useCaretPosition.js +0 -35
- package/lib/hooks/useContextMentions.js +0 -204
- package/lib/hooks/useEntitySearch.js +0 -405
- package/lib/hooks/useMentionAllowedTypes.js +0 -86
- package/lib/hooks/useMentionPopover.js +0 -284
- package/lib/services/maia/Agents/connectors.js +0 -110
- package/lib/services/maia/Agents/skills.js +0 -164
- package/lib/services/maia/Schedules/createSchedule.js +0 -39
- package/lib/services/maia/Schedules/deleteSchedule.js +0 -36
- package/lib/services/maia/Schedules/getMySchedules.js +0 -55
- package/lib/services/maia/Schedules/getSchedules.js +0 -58
- package/lib/services/maia/Schedules/index.js +0 -5
- package/lib/services/query/entitySearchQuery.js +0 -16
- package/lib/services/query/usersDirectoryQuery.js +0 -19
- package/lib/types/agentSkill.js +0 -2
- package/lib/types/attachment.js +0 -2
- package/lib/types/contextMention.js +0 -37
- package/lib/utils/contextMentionIcons.js +0 -115
- package/lib/utils/contextMentionLabel.js +0 -4
- package/lib/utils/contextMentionTypeLabel.js +0 -17
- package/lib/utils/renderContextMentions.js +0 -216
|
@@ -1,284 +0,0 @@
|
|
|
1
|
-
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
|
-
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
3
|
-
import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
4
|
-
import { ContextMentionPopover, SCMPAnchor } from '../components/atoms/ContextMentionPopover';
|
|
5
|
-
import { useGlobalContext } from '../context/global-context';
|
|
6
|
-
import { useT } from './useT';
|
|
7
|
-
// eslint-disable-next-line import/no-cycle
|
|
8
|
-
import { useEntitySearch } from './useEntitySearch';
|
|
9
|
-
import { useMentionAllowedTypes } from './useMentionAllowedTypes';
|
|
10
|
-
import { useCaretPosition } from './useCaretPosition';
|
|
11
|
-
import { EVENTS, useEvent } from './useEvent';
|
|
12
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
13
|
-
var POPOVER_WIDTH = 438;
|
|
14
|
-
/**
|
|
15
|
-
* Encapsula toda la lógica del popover de @-mentions para consumirla desde
|
|
16
|
-
* componentes que integren el `ContextMentionEditor`:
|
|
17
|
-
*
|
|
18
|
-
* - estado del popover (abierto, posición, activeIndex, activeType)
|
|
19
|
-
* - fetch de entidades por tab (clients / projects / tasks / users)
|
|
20
|
-
* - emisión de analytics (`aiChatMentionOpen/Select/TypeSwitch`)
|
|
21
|
-
* - reposicionamiento en scroll/resize
|
|
22
|
-
* - reseteo de activeIndex al cambiar items/tab
|
|
23
|
-
*
|
|
24
|
-
* El consumer sigue siendo dueño del `ContextMentionEditor`, del send, de los
|
|
25
|
-
* attachments y del resto del layout; este hook sólo resuelve la UX de mention.
|
|
26
|
-
*/
|
|
27
|
-
/**
|
|
28
|
-
* Deriva el scope (clientId/projectId) que debe aplicarse a recents y search,
|
|
29
|
-
* leyendo el contexto global (project/client seleccionado o entityValues por URL).
|
|
30
|
-
*
|
|
31
|
-
* Reglas:
|
|
32
|
-
* - Si en el contexto hay `projectId`, las tabs `task`/`user` se filtran por él.
|
|
33
|
-
* - Si hay `clientId` (con o sin projectId), las queries lo propagan.
|
|
34
|
-
* - El tab `project` sólo usa `clientId` (filtrar projects por projectId rompería la lista;
|
|
35
|
-
* el filtrado por type lo hace `useEntitySearch.buildFiltersForType`).
|
|
36
|
-
*
|
|
37
|
-
* Se respeta independientemente de `agent.entity` para cubrir casos donde el
|
|
38
|
-
* usuario navega dentro de un proyecto/cliente aunque el agente sea 'global'.
|
|
39
|
-
*/
|
|
40
|
-
var useDerivedScope = function useDerivedScope() {
|
|
41
|
-
var _ref, _ctx$client$id, _ctx$client, _ctx$entityValues, _ref2, _ctx$project$id, _ctx$project, _ctx$entityValues2, _ctx$agent$connectors, _ctx$agent;
|
|
42
|
-
var ctx = useGlobalContext();
|
|
43
|
-
var clientId = (_ref = (_ctx$client$id = (_ctx$client = ctx.client) === null || _ctx$client === void 0 ? void 0 : _ctx$client.id) !== null && _ctx$client$id !== void 0 ? _ctx$client$id : (_ctx$entityValues = ctx.entityValues) === null || _ctx$entityValues === void 0 ? void 0 : _ctx$entityValues.clientId) !== null && _ref !== void 0 ? _ref : null;
|
|
44
|
-
var projectId = (_ref2 = (_ctx$project$id = (_ctx$project = ctx.project) === null || _ctx$project === void 0 ? void 0 : _ctx$project.id) !== null && _ctx$project$id !== void 0 ? _ctx$project$id : (_ctx$entityValues2 = ctx.entityValues) === null || _ctx$entityValues2 === void 0 ? void 0 : _ctx$entityValues2.projectId) !== null && _ref2 !== void 0 ? _ref2 : null;
|
|
45
|
-
var mcpSlugsKey = ((_ctx$agent$connectors = (_ctx$agent = ctx.agent) === null || _ctx$agent === void 0 || (_ctx$agent = _ctx$agent.connectors) === null || _ctx$agent === void 0 || (_ctx$agent = _ctx$agent.find(function (c) {
|
|
46
|
-
return c.group === 'MCP';
|
|
47
|
-
})) === null || _ctx$agent === void 0 ? void 0 : _ctx$agent.slugs) !== null && _ctx$agent$connectors !== void 0 ? _ctx$agent$connectors : []).join('|');
|
|
48
|
-
var mcpSlugs = useMemo(function () {
|
|
49
|
-
var _ctx$agent$connectors2, _ctx$agent2;
|
|
50
|
-
var raw = (_ctx$agent$connectors2 = (_ctx$agent2 = ctx.agent) === null || _ctx$agent2 === void 0 || (_ctx$agent2 = _ctx$agent2.connectors) === null || _ctx$agent2 === void 0 || (_ctx$agent2 = _ctx$agent2.find(function (c) {
|
|
51
|
-
return c.group === 'MCP';
|
|
52
|
-
})) === null || _ctx$agent2 === void 0 ? void 0 : _ctx$agent2.slugs) !== null && _ctx$agent$connectors2 !== void 0 ? _ctx$agent$connectors2 : [];
|
|
53
|
-
return _toConsumableArray(new Set(raw.filter(function (s) {
|
|
54
|
-
return typeof s === 'string' && s.trim().length > 0;
|
|
55
|
-
}))).sort();
|
|
56
|
-
}, [mcpSlugsKey]);
|
|
57
|
-
return useMemo(function () {
|
|
58
|
-
return {
|
|
59
|
-
clientId: clientId,
|
|
60
|
-
projectId: projectId,
|
|
61
|
-
mcpSlugs: mcpSlugs
|
|
62
|
-
};
|
|
63
|
-
}, [clientId, projectId, mcpSlugs]);
|
|
64
|
-
};
|
|
65
|
-
export var useMentionPopover = function useMentionPopover(_ref3) {
|
|
66
|
-
var editorRef = _ref3.editorRef,
|
|
67
|
-
enabledTypes = _ref3.enabledTypes,
|
|
68
|
-
onMentionAdded = _ref3.onMentionAdded;
|
|
69
|
-
var _useT = useT(),
|
|
70
|
-
t = _useT.t;
|
|
71
|
-
var event = useEvent();
|
|
72
|
-
var _useMentionAllowedTyp = useMentionAllowedTypes(enabledTypes),
|
|
73
|
-
allowedTypes = _useMentionAllowedTyp.allowedTypes,
|
|
74
|
-
defaultType = _useMentionAllowedTyp.defaultType;
|
|
75
|
-
var _useState = useState(defaultType),
|
|
76
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
77
|
-
activeType = _useState2[0],
|
|
78
|
-
setActiveType = _useState2[1];
|
|
79
|
-
var _useState3 = useState(false),
|
|
80
|
-
_useState4 = _slicedToArray(_useState3, 2),
|
|
81
|
-
popoverOpen = _useState4[0],
|
|
82
|
-
setPopoverOpen = _useState4[1];
|
|
83
|
-
var _useState5 = useState({
|
|
84
|
-
left: 0
|
|
85
|
-
}),
|
|
86
|
-
_useState6 = _slicedToArray(_useState5, 2),
|
|
87
|
-
popoverPos = _useState6[0],
|
|
88
|
-
setPopoverPos = _useState6[1];
|
|
89
|
-
var _useState7 = useState(0),
|
|
90
|
-
_useState8 = _slicedToArray(_useState7, 2),
|
|
91
|
-
activeIndex = _useState8[0],
|
|
92
|
-
setActiveIndex = _useState8[1];
|
|
93
|
-
var hasEmittedOpen = useRef(false);
|
|
94
|
-
var popoverRef = useRef(null);
|
|
95
|
-
var getCaretRect = useCaretPosition();
|
|
96
|
-
var scope = useDerivedScope();
|
|
97
|
-
var _useEntitySearch = useEntitySearch(activeType, scope),
|
|
98
|
-
items = _useEntitySearch.items,
|
|
99
|
-
loading = _useEntitySearch.loading,
|
|
100
|
-
error = _useEntitySearch.error,
|
|
101
|
-
searchValue = _useEntitySearch.searchValue,
|
|
102
|
-
updateSearchValue = _useEntitySearch.updateSearchValue;
|
|
103
|
-
useEffect(function () {
|
|
104
|
-
if (!allowedTypes.includes(activeType)) {
|
|
105
|
-
setActiveType(defaultType);
|
|
106
|
-
}
|
|
107
|
-
}, [allowedTypes, activeType, defaultType]);
|
|
108
|
-
var positionPopover = useCallback(function () {
|
|
109
|
-
var rect = getCaretRect();
|
|
110
|
-
if (!rect) return;
|
|
111
|
-
var viewportH = window.innerHeight;
|
|
112
|
-
var viewportW = window.innerWidth;
|
|
113
|
-
var openUp = rect.top > viewportH - rect.bottom;
|
|
114
|
-
var left = Math.max(8, Math.min(viewportW - POPOVER_WIDTH - 8, rect.left));
|
|
115
|
-
if (openUp) {
|
|
116
|
-
setPopoverPos({
|
|
117
|
-
bottom: viewportH - rect.top + 4,
|
|
118
|
-
left: left
|
|
119
|
-
});
|
|
120
|
-
} else {
|
|
121
|
-
setPopoverPos({
|
|
122
|
-
top: rect.bottom + 4,
|
|
123
|
-
left: left
|
|
124
|
-
});
|
|
125
|
-
}
|
|
126
|
-
}, [getCaretRect]);
|
|
127
|
-
var close = useCallback(function () {
|
|
128
|
-
setPopoverOpen(false);
|
|
129
|
-
updateSearchValue('');
|
|
130
|
-
hasEmittedOpen.current = false;
|
|
131
|
-
}, [updateSearchValue]);
|
|
132
|
-
var handleTrigger = useCallback(function (trigger) {
|
|
133
|
-
if (allowedTypes.length === 0) {
|
|
134
|
-
if (popoverOpen) close();
|
|
135
|
-
return;
|
|
136
|
-
}
|
|
137
|
-
if (trigger.active) {
|
|
138
|
-
if (!popoverOpen) {
|
|
139
|
-
setPopoverOpen(true);
|
|
140
|
-
positionPopover();
|
|
141
|
-
if (!hasEmittedOpen.current) {
|
|
142
|
-
event(EVENTS.aiChatMentionOpen, {
|
|
143
|
-
default_type: activeType
|
|
144
|
-
});
|
|
145
|
-
hasEmittedOpen.current = true;
|
|
146
|
-
}
|
|
147
|
-
} else {
|
|
148
|
-
positionPopover();
|
|
149
|
-
}
|
|
150
|
-
updateSearchValue(trigger.query);
|
|
151
|
-
} else if (popoverOpen) {
|
|
152
|
-
close();
|
|
153
|
-
}
|
|
154
|
-
}, [allowedTypes.length, popoverOpen, positionPopover, updateSearchValue, activeType, event, close]);
|
|
155
|
-
var insertSelectedItem = useCallback(function (item) {
|
|
156
|
-
var _item$raw$clientId, _item$raw$clientName, _item$raw$projectName, _item$raw$feeId, _item$raw$totalProyec, _item$raw$picture, _item$raw$positionNam, _item$raw$email, _editorRef$current;
|
|
157
|
-
var mention = {
|
|
158
|
-
id: item.id,
|
|
159
|
-
type: item.type,
|
|
160
|
-
label: item.primary,
|
|
161
|
-
metadata: {
|
|
162
|
-
clientId: (_item$raw$clientId = item.raw.clientId) !== null && _item$raw$clientId !== void 0 ? _item$raw$clientId : null,
|
|
163
|
-
clientName: (_item$raw$clientName = item.raw.clientName) !== null && _item$raw$clientName !== void 0 ? _item$raw$clientName : null,
|
|
164
|
-
projectName: (_item$raw$projectName = item.raw.projectName) !== null && _item$raw$projectName !== void 0 ? _item$raw$projectName : null,
|
|
165
|
-
feeId: (_item$raw$feeId = item.raw.feeId) !== null && _item$raw$feeId !== void 0 ? _item$raw$feeId : null,
|
|
166
|
-
totalProyectos: (_item$raw$totalProyec = item.raw.totalProyectos) !== null && _item$raw$totalProyec !== void 0 ? _item$raw$totalProyec : null,
|
|
167
|
-
picture: (_item$raw$picture = item.raw.picture) !== null && _item$raw$picture !== void 0 ? _item$raw$picture : null,
|
|
168
|
-
positionName: (_item$raw$positionNam = item.raw.positionName) !== null && _item$raw$positionNam !== void 0 ? _item$raw$positionNam : null,
|
|
169
|
-
email: (_item$raw$email = item.raw.email) !== null && _item$raw$email !== void 0 ? _item$raw$email : null
|
|
170
|
-
}
|
|
171
|
-
};
|
|
172
|
-
(_editorRef$current = editorRef.current) === null || _editorRef$current === void 0 || _editorRef$current.insertMention(mention);
|
|
173
|
-
onMentionAdded === null || onMentionAdded === void 0 || onMentionAdded(mention);
|
|
174
|
-
event(EVENTS.aiChatMentionSelect, {
|
|
175
|
-
result_type: mention.type,
|
|
176
|
-
id: String(mention.id)
|
|
177
|
-
});
|
|
178
|
-
close();
|
|
179
|
-
}, [editorRef, onMentionAdded, event, close]);
|
|
180
|
-
var handleTypeChange = useCallback(function (type) {
|
|
181
|
-
setActiveType(type);
|
|
182
|
-
event(EVENTS.aiChatMentionTypeSwitch, {
|
|
183
|
-
result_type: type
|
|
184
|
-
});
|
|
185
|
-
}, [event]);
|
|
186
|
-
var handleKeyDown = useCallback(function (e) {
|
|
187
|
-
if (!popoverOpen || allowedTypes.length === 0) return false;
|
|
188
|
-
if (e.key === 'Escape') {
|
|
189
|
-
e.preventDefault();
|
|
190
|
-
close();
|
|
191
|
-
return true;
|
|
192
|
-
}
|
|
193
|
-
if ((e.key === 'ArrowRight' || e.key === 'ArrowLeft') && (e.metaKey || e.altKey || e.ctrlKey && !e.shiftKey)) {
|
|
194
|
-
e.preventDefault();
|
|
195
|
-
var idx = allowedTypes.indexOf(activeType);
|
|
196
|
-
var delta = e.key === 'ArrowRight' ? 1 : -1;
|
|
197
|
-
var nextIdx = (idx + delta + allowedTypes.length) % allowedTypes.length;
|
|
198
|
-
handleTypeChange(allowedTypes[nextIdx]);
|
|
199
|
-
return true;
|
|
200
|
-
}
|
|
201
|
-
if (items.length === 0) return false;
|
|
202
|
-
if (e.key === 'ArrowDown') {
|
|
203
|
-
e.preventDefault();
|
|
204
|
-
setActiveIndex(function (prev) {
|
|
205
|
-
return (prev + 1) % items.length;
|
|
206
|
-
});
|
|
207
|
-
return true;
|
|
208
|
-
}
|
|
209
|
-
if (e.key === 'ArrowUp') {
|
|
210
|
-
e.preventDefault();
|
|
211
|
-
setActiveIndex(function (prev) {
|
|
212
|
-
return (prev - 1 + items.length) % items.length;
|
|
213
|
-
});
|
|
214
|
-
return true;
|
|
215
|
-
}
|
|
216
|
-
if (e.key === 'Enter' || e.key === 'Tab') {
|
|
217
|
-
e.preventDefault();
|
|
218
|
-
insertSelectedItem(items[activeIndex]);
|
|
219
|
-
return true;
|
|
220
|
-
}
|
|
221
|
-
return false;
|
|
222
|
-
}, [popoverOpen, items, allowedTypes, activeType, activeIndex, insertSelectedItem, close, handleTypeChange]);
|
|
223
|
-
useEffect(function () {
|
|
224
|
-
if (!popoverOpen) return undefined;
|
|
225
|
-
var handler = function handler() {
|
|
226
|
-
return positionPopover();
|
|
227
|
-
};
|
|
228
|
-
window.addEventListener('scroll', handler, true);
|
|
229
|
-
window.addEventListener('resize', handler);
|
|
230
|
-
return function () {
|
|
231
|
-
window.removeEventListener('scroll', handler, true);
|
|
232
|
-
window.removeEventListener('resize', handler);
|
|
233
|
-
};
|
|
234
|
-
}, [popoverOpen, positionPopover]);
|
|
235
|
-
useEffect(function () {
|
|
236
|
-
if (!popoverOpen) return undefined;
|
|
237
|
-
var handlePointerDownOutside = function handlePointerDownOutside(mouseEvent) {
|
|
238
|
-
var _popoverRef$current;
|
|
239
|
-
var target = mouseEvent.target;
|
|
240
|
-
if (!target) return;
|
|
241
|
-
if ((_popoverRef$current = popoverRef.current) !== null && _popoverRef$current !== void 0 && _popoverRef$current.contains(target)) return;
|
|
242
|
-
close();
|
|
243
|
-
};
|
|
244
|
-
document.addEventListener('mousedown', handlePointerDownOutside);
|
|
245
|
-
return function () {
|
|
246
|
-
return document.removeEventListener('mousedown', handlePointerDownOutside);
|
|
247
|
-
};
|
|
248
|
-
}, [popoverOpen, close]);
|
|
249
|
-
useEffect(function () {
|
|
250
|
-
setActiveIndex(0);
|
|
251
|
-
}, [items.length, activeType]);
|
|
252
|
-
var popoverNode = useMemo(function () {
|
|
253
|
-
if (!popoverOpen) return null;
|
|
254
|
-
return /*#__PURE__*/_jsx(SCMPAnchor, {
|
|
255
|
-
$top: popoverPos.top,
|
|
256
|
-
$bottom: popoverPos.bottom,
|
|
257
|
-
$left: popoverPos.left,
|
|
258
|
-
children: /*#__PURE__*/_jsx(ContextMentionPopover, {
|
|
259
|
-
ref: popoverRef,
|
|
260
|
-
allowedTypes: allowedTypes,
|
|
261
|
-
activeType: activeType,
|
|
262
|
-
onTypeChange: handleTypeChange,
|
|
263
|
-
items: items,
|
|
264
|
-
loading: loading,
|
|
265
|
-
error: error,
|
|
266
|
-
searchValue: searchValue,
|
|
267
|
-
keyboardHint: t('contextMention.keyboardHint', {
|
|
268
|
-
defaultValue: "Alt/Ctrl/Cmd + \u2190/\u2192 cambia de tab"
|
|
269
|
-
}),
|
|
270
|
-
onItemSelected: insertSelectedItem,
|
|
271
|
-
activeIndex: activeIndex,
|
|
272
|
-
onActiveIndexChange: setActiveIndex
|
|
273
|
-
})
|
|
274
|
-
});
|
|
275
|
-
}, [popoverOpen, popoverPos, allowedTypes, activeType, handleTypeChange, items, loading, error, searchValue, insertSelectedItem, activeIndex]);
|
|
276
|
-
return {
|
|
277
|
-
popoverOpen: popoverOpen,
|
|
278
|
-
handleTrigger: handleTrigger,
|
|
279
|
-
handleKeyDown: handleKeyDown,
|
|
280
|
-
popoverNode: popoverNode,
|
|
281
|
-
close: close
|
|
282
|
-
};
|
|
283
|
-
};
|
|
284
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZUVmZmVjdCIsInVzZU1lbW8iLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsIkNvbnRleHRNZW50aW9uUG9wb3ZlciIsIlNDTVBBbmNob3IiLCJ1c2VHbG9iYWxDb250ZXh0IiwidXNlVCIsInVzZUVudGl0eVNlYXJjaCIsInVzZU1lbnRpb25BbGxvd2VkVHlwZXMiLCJ1c2VDYXJldFBvc2l0aW9uIiwiRVZFTlRTIiwidXNlRXZlbnQiLCJqc3giLCJfanN4IiwiUE9QT1ZFUl9XSURUSCIsInVzZURlcml2ZWRTY29wZSIsIl9yZWYiLCJfY3R4JGNsaWVudCRpZCIsIl9jdHgkY2xpZW50IiwiX2N0eCRlbnRpdHlWYWx1ZXMiLCJfcmVmMiIsIl9jdHgkcHJvamVjdCRpZCIsIl9jdHgkcHJvamVjdCIsIl9jdHgkZW50aXR5VmFsdWVzMiIsIl9jdHgkYWdlbnQkY29ubmVjdG9ycyIsIl9jdHgkYWdlbnQiLCJjdHgiLCJjbGllbnRJZCIsImNsaWVudCIsImlkIiwiZW50aXR5VmFsdWVzIiwicHJvamVjdElkIiwicHJvamVjdCIsIm1jcFNsdWdzS2V5IiwiYWdlbnQiLCJjb25uZWN0b3JzIiwiZmluZCIsImMiLCJncm91cCIsInNsdWdzIiwiam9pbiIsIm1jcFNsdWdzIiwiX2N0eCRhZ2VudCRjb25uZWN0b3JzMiIsIl9jdHgkYWdlbnQyIiwicmF3IiwiX3RvQ29uc3VtYWJsZUFycmF5IiwiU2V0IiwiZmlsdGVyIiwicyIsInRyaW0iLCJsZW5ndGgiLCJzb3J0IiwidXNlTWVudGlvblBvcG92ZXIiLCJfcmVmMyIsImVkaXRvclJlZiIsImVuYWJsZWRUeXBlcyIsIm9uTWVudGlvbkFkZGVkIiwiX3VzZVQiLCJ0IiwiZXZlbnQiLCJfdXNlTWVudGlvbkFsbG93ZWRUeXAiLCJhbGxvd2VkVHlwZXMiLCJkZWZhdWx0VHlwZSIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImFjdGl2ZVR5cGUiLCJzZXRBY3RpdmVUeXBlIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJwb3BvdmVyT3BlbiIsInNldFBvcG92ZXJPcGVuIiwiX3VzZVN0YXRlNSIsImxlZnQiLCJfdXNlU3RhdGU2IiwicG9wb3ZlclBvcyIsInNldFBvcG92ZXJQb3MiLCJfdXNlU3RhdGU3IiwiX3VzZVN0YXRlOCIsImFjdGl2ZUluZGV4Iiwic2V0QWN0aXZlSW5kZXgiLCJoYXNFbWl0dGVkT3BlbiIsInBvcG92ZXJSZWYiLCJnZXRDYXJldFJlY3QiLCJzY29wZSIsIl91c2VFbnRpdHlTZWFyY2giLCJpdGVtcyIsImxvYWRpbmciLCJlcnJvciIsInNlYXJjaFZhbHVlIiwidXBkYXRlU2VhcmNoVmFsdWUiLCJpbmNsdWRlcyIsInBvc2l0aW9uUG9wb3ZlciIsInJlY3QiLCJ2aWV3cG9ydEgiLCJ3aW5kb3ciLCJpbm5lckhlaWdodCIsInZpZXdwb3J0VyIsImlubmVyV2lkdGgiLCJvcGVuVXAiLCJ0b3AiLCJib3R0b20iLCJNYXRoIiwibWF4IiwibWluIiwiY2xvc2UiLCJjdXJyZW50IiwiaGFuZGxlVHJpZ2dlciIsInRyaWdnZXIiLCJhY3RpdmUiLCJhaUNoYXRNZW50aW9uT3BlbiIsImRlZmF1bHRfdHlwZSIsInF1ZXJ5IiwiaW5zZXJ0U2VsZWN0ZWRJdGVtIiwiaXRlbSIsIl9pdGVtJHJhdyRjbGllbnRJZCIsIl9pdGVtJHJhdyRjbGllbnROYW1lIiwiX2l0ZW0kcmF3JHByb2plY3ROYW1lIiwiX2l0ZW0kcmF3JGZlZUlkIiwiX2l0ZW0kcmF3JHRvdGFsUHJveWVjIiwiX2l0ZW0kcmF3JHBpY3R1cmUiLCJfaXRlbSRyYXckcG9zaXRpb25OYW0iLCJfaXRlbSRyYXckZW1haWwiLCJfZWRpdG9yUmVmJGN1cnJlbnQiLCJtZW50aW9uIiwidHlwZSIsImxhYmVsIiwicHJpbWFyeSIsIm1ldGFkYXRhIiwiY2xpZW50TmFtZSIsInByb2plY3ROYW1lIiwiZmVlSWQiLCJ0b3RhbFByb3llY3RvcyIsInBpY3R1cmUiLCJwb3NpdGlvbk5hbWUiLCJlbWFpbCIsImluc2VydE1lbnRpb24iLCJhaUNoYXRNZW50aW9uU2VsZWN0IiwicmVzdWx0X3R5cGUiLCJTdHJpbmciLCJoYW5kbGVUeXBlQ2hhbmdlIiwiYWlDaGF0TWVudGlvblR5cGVTd2l0Y2giLCJoYW5kbGVLZXlEb3duIiwiZSIsImtleSIsInByZXZlbnREZWZhdWx0IiwibWV0YUtleSIsImFsdEtleSIsImN0cmxLZXkiLCJzaGlmdEtleSIsImlkeCIsImluZGV4T2YiLCJkZWx0YSIsIm5leHRJZHgiLCJwcmV2IiwidW5kZWZpbmVkIiwiaGFuZGxlciIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiaGFuZGxlUG9pbnRlckRvd25PdXRzaWRlIiwibW91c2VFdmVudCIsIl9wb3BvdmVyUmVmJGN1cnJlbnQiLCJ0YXJnZXQiLCJjb250YWlucyIsImRvY3VtZW50IiwicG9wb3Zlck5vZGUiLCIkdG9wIiwiJGJvdHRvbSIsIiRsZWZ0IiwiY2hpbGRyZW4iLCJyZWYiLCJvblR5cGVDaGFuZ2UiLCJrZXlib2FyZEhpbnQiLCJkZWZhdWx0VmFsdWUiLCJvbkl0ZW1TZWxlY3RlZCIsIm9uQWN0aXZlSW5kZXhDaGFuZ2UiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvaG9va3MvdXNlTWVudGlvblBvcG92ZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEtleWJvYXJkRXZlbnQsIFJlYWN0Tm9kZSwgUmVmT2JqZWN0LCB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBDb250ZXh0TWVudGlvbkVkaXRvckhhbmRsZSB9IGZyb20gJy4uL2NvbXBvbmVudHMvYXRvbXMvQ29udGV4dE1lbnRpb25FZGl0b3InXG5pbXBvcnQgeyBDb250ZXh0TWVudGlvblBvcG92ZXIsIFNDTVBBbmNob3IgfSBmcm9tICcuLi9jb21wb25lbnRzL2F0b21zL0NvbnRleHRNZW50aW9uUG9wb3ZlcidcbmltcG9ydCB7IHVzZUdsb2JhbENvbnRleHQgfSBmcm9tICcuLi9jb250ZXh0L2dsb2JhbC1jb250ZXh0J1xuaW1wb3J0IHsgdXNlVCB9IGZyb20gJy4vdXNlVCdcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tY3ljbGVcbmltcG9ydCB7IEVudGl0eVNlYXJjaFNjb3BlLCB1c2VFbnRpdHlTZWFyY2ggfSBmcm9tICcuL3VzZUVudGl0eVNlYXJjaCdcbmltcG9ydCB7IHVzZU1lbnRpb25BbGxvd2VkVHlwZXMgfSBmcm9tICcuL3VzZU1lbnRpb25BbGxvd2VkVHlwZXMnXG5pbXBvcnQgeyB1c2VDYXJldFBvc2l0aW9uIH0gZnJvbSAnLi91c2VDYXJldFBvc2l0aW9uJ1xuaW1wb3J0IHsgRVZFTlRTLCB1c2VFdmVudCB9IGZyb20gJy4vdXNlRXZlbnQnXG5pbXBvcnQgeyBDb250ZXh0RW50aXR5VHlwZSwgQ29udGV4dE1lbnRpb24sIENvbnRleHRNZW50aW9uSXRlbSB9IGZyb20gJy4uL3R5cGVzL2NvbnRleHRNZW50aW9uJ1xuXG5jb25zdCBQT1BPVkVSX1dJRFRIID0gNDM4XG5cbmV4cG9ydCB0eXBlIFVzZU1lbnRpb25Qb3BvdmVyT3B0aW9ucyA9IHtcbiAgZWRpdG9yUmVmOiBSZWZPYmplY3Q8Q29udGV4dE1lbnRpb25FZGl0b3JIYW5kbGU+XG4gIC8qKiBPdmVycmlkZSBkZWwgc2V0IGRlIHRhYnMgcGVybWl0aWRhczsgc2kgbm8gc2UgcGFzYSBzZSBkZXJpdmEgZGVsIGFnZW50LiAqL1xuICBlbmFibGVkVHlwZXM/OiBDb250ZXh0RW50aXR5VHlwZVtdXG4gIC8qKiBDYWxsYmFjayBjdWFuZG8gZWwgdXN1YXJpbyBpbnNlcnRhIHVuYSBtZW50aW9uIHbDrWEgY2xpY2svdGVjbGFkby4gKi9cbiAgb25NZW50aW9uQWRkZWQ/OiAobWVudGlvbjogQ29udGV4dE1lbnRpb24pID0+IHZvaWRcbn1cblxuZXhwb3J0IHR5cGUgVXNlTWVudGlvblBvcG92ZXJSZXR1cm4gPSB7XG4gIHBvcG92ZXJPcGVuOiBib29sZWFuXG4gIC8qKiBQcm9jZXNhIGVsIHRyaWdnZXIgcHJvdmVuaWVudGUgZGVsIGBDb250ZXh0TWVudGlvbkVkaXRvci5vbklucHV0YC4gKi9cbiAgaGFuZGxlVHJpZ2dlcjogKHRyaWdnZXI6IHsgYWN0aXZlOiBib29sZWFuOyBxdWVyeTogc3RyaW5nIH0pID0+IHZvaWRcbiAgLyoqXG4gICAqIE1hbmVqbyBkZSB0ZWNsYXMgcmVsYXRpdmFzIGFsIHBvcG92ZXIgKG5hdmVnYWNpw7NuLCBzZWxlY2Npw7NuLCBjYW1iaW8gZGVcbiAgICogdGFiIHkgZXNjYXBlKS4gRGV2dWVsdmUgYHRydWVgIHNpIGNvbnN1bWnDsyBsYSBrZXksIHBhcmEgcXVlIGVsIGNvbnN1bWVyXG4gICAqIHB1ZWRhIGRlY2lkaXIgc2kgc2VndWlyIHByb2Nlc2FuZG8gb3RyYXMgdGVjbGFzIChwLmVqLiBFbnRlciBwYXJhIGVudmlhcikuXG4gICAqL1xuICBoYW5kbGVLZXlEb3duOiAoZTogS2V5Ym9hcmRFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+IGJvb2xlYW5cbiAgLyoqIE5vZG8gZGVsIHBvcG92ZXI7IGVsIGNvbnN1bWVyIGRlYmUgcG9ydGFybG8gY29uIGBjcmVhdGVQb3J0YWxgLiAqL1xuICBwb3BvdmVyTm9kZTogUmVhY3ROb2RlIHwgbnVsbFxuICAvKiogQ2llcnJhIGVsIHBvcG92ZXIgeSBsaW1waWEgZWwgcXVlcnkuICovXG4gIGNsb3NlOiAoKSA9PiB2b2lkXG59XG5cbi8qKlxuICogRW5jYXBzdWxhIHRvZGEgbGEgbMOzZ2ljYSBkZWwgcG9wb3ZlciBkZSBALW1lbnRpb25zIHBhcmEgY29uc3VtaXJsYSBkZXNkZVxuICogY29tcG9uZW50ZXMgcXVlIGludGVncmVuIGVsIGBDb250ZXh0TWVudGlvbkVkaXRvcmA6XG4gKlxuICogICAtIGVzdGFkbyBkZWwgcG9wb3ZlciAoYWJpZXJ0bywgcG9zaWNpw7NuLCBhY3RpdmVJbmRleCwgYWN0aXZlVHlwZSlcbiAqICAgLSBmZXRjaCBkZSBlbnRpZGFkZXMgcG9yIHRhYiAoY2xpZW50cyAvIHByb2plY3RzIC8gdGFza3MgLyB1c2VycylcbiAqICAgLSBlbWlzacOzbiBkZSBhbmFseXRpY3MgKGBhaUNoYXRNZW50aW9uT3Blbi9TZWxlY3QvVHlwZVN3aXRjaGApXG4gKiAgIC0gcmVwb3NpY2lvbmFtaWVudG8gZW4gc2Nyb2xsL3Jlc2l6ZVxuICogICAtIHJlc2V0ZW8gZGUgYWN0aXZlSW5kZXggYWwgY2FtYmlhciBpdGVtcy90YWJcbiAqXG4gKiBFbCBjb25zdW1lciBzaWd1ZSBzaWVuZG8gZHVlw7FvIGRlbCBgQ29udGV4dE1lbnRpb25FZGl0b3JgLCBkZWwgc2VuZCwgZGUgbG9zXG4gKiBhdHRhY2htZW50cyB5IGRlbCByZXN0byBkZWwgbGF5b3V0OyBlc3RlIGhvb2sgc8OzbG8gcmVzdWVsdmUgbGEgVVggZGUgbWVudGlvbi5cbiAqL1xuLyoqXG4gKiBEZXJpdmEgZWwgc2NvcGUgKGNsaWVudElkL3Byb2plY3RJZCkgcXVlIGRlYmUgYXBsaWNhcnNlIGEgcmVjZW50cyB5IHNlYXJjaCxcbiAqIGxleWVuZG8gZWwgY29udGV4dG8gZ2xvYmFsIChwcm9qZWN0L2NsaWVudCBzZWxlY2Npb25hZG8gbyBlbnRpdHlWYWx1ZXMgcG9yIFVSTCkuXG4gKlxuICogUmVnbGFzOlxuICogICAtIFNpIGVuIGVsIGNvbnRleHRvIGhheSBgcHJvamVjdElkYCwgbGFzIHRhYnMgYHRhc2tgL2B1c2VyYCBzZSBmaWx0cmFuIHBvciDDqWwuXG4gKiAgIC0gU2kgaGF5IGBjbGllbnRJZGAgKGNvbiBvIHNpbiBwcm9qZWN0SWQpLCBsYXMgcXVlcmllcyBsbyBwcm9wYWdhbi5cbiAqICAgLSBFbCB0YWIgYHByb2plY3RgIHPDs2xvIHVzYSBgY2xpZW50SWRgIChmaWx0cmFyIHByb2plY3RzIHBvciBwcm9qZWN0SWQgcm9tcGVyw61hIGxhIGxpc3RhO1xuICogICAgIGVsIGZpbHRyYWRvIHBvciB0eXBlIGxvIGhhY2UgYHVzZUVudGl0eVNlYXJjaC5idWlsZEZpbHRlcnNGb3JUeXBlYCkuXG4gKlxuICogU2UgcmVzcGV0YSBpbmRlcGVuZGllbnRlbWVudGUgZGUgYGFnZW50LmVudGl0eWAgcGFyYSBjdWJyaXIgY2Fzb3MgZG9uZGUgZWxcbiAqIHVzdWFyaW8gbmF2ZWdhIGRlbnRybyBkZSB1biBwcm95ZWN0by9jbGllbnRlIGF1bnF1ZSBlbCBhZ2VudGUgc2VhICdnbG9iYWwnLlxuICovXG5jb25zdCB1c2VEZXJpdmVkU2NvcGUgPSAoKTogRW50aXR5U2VhcmNoU2NvcGUgPT4ge1xuICBjb25zdCBjdHggPSB1c2VHbG9iYWxDb250ZXh0KClcbiAgY29uc3QgY2xpZW50SWQgPSBjdHguY2xpZW50Py5pZCA/PyBjdHguZW50aXR5VmFsdWVzPy5jbGllbnRJZCA/PyBudWxsXG4gIGNvbnN0IHByb2plY3RJZCA9IGN0eC5wcm9qZWN0Py5pZCA/PyBjdHguZW50aXR5VmFsdWVzPy5wcm9qZWN0SWQgPz8gbnVsbFxuICBjb25zdCBtY3BTbHVnc0tleSA9IChjdHguYWdlbnQ/LmNvbm5lY3RvcnM/LmZpbmQoYyA9PiBjLmdyb3VwID09PSAnTUNQJyk/LnNsdWdzID8/IFtdKS5qb2luKCd8JylcblxuICBjb25zdCBtY3BTbHVncyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGNvbnN0IHJhdyA9IGN0eC5hZ2VudD8uY29ubmVjdG9ycz8uZmluZChjID0+IGMuZ3JvdXAgPT09ICdNQ1AnKT8uc2x1Z3MgPz8gW11cbiAgICByZXR1cm4gWy4uLm5ldyBTZXQocmF3LmZpbHRlcigocyk6IHMgaXMgc3RyaW5nID0+IHR5cGVvZiBzID09PSAnc3RyaW5nJyAmJiBzLnRyaW0oKS5sZW5ndGggPiAwKSldLnNvcnQoKVxuICB9LCBbbWNwU2x1Z3NLZXldKVxuXG4gIHJldHVybiB1c2VNZW1vPEVudGl0eVNlYXJjaFNjb3BlPigoKSA9PiAoeyBjbGllbnRJZCwgcHJvamVjdElkLCBtY3BTbHVncyB9KSwgW2NsaWVudElkLCBwcm9qZWN0SWQsIG1jcFNsdWdzXSlcbn1cblxuZXhwb3J0IGNvbnN0IHVzZU1lbnRpb25Qb3BvdmVyID0gKHtcbiAgZWRpdG9yUmVmLFxuICBlbmFibGVkVHlwZXMsXG4gIG9uTWVudGlvbkFkZGVkLFxufTogVXNlTWVudGlvblBvcG92ZXJPcHRpb25zKTogVXNlTWVudGlvblBvcG92ZXJSZXR1cm4gPT4ge1xuICBjb25zdCB7IHQgfSA9IHVzZVQoKVxuICBjb25zdCBldmVudCA9IHVzZUV2ZW50KClcbiAgY29uc3QgeyBhbGxvd2VkVHlwZXMsIGRlZmF1bHRUeXBlIH0gPSB1c2VNZW50aW9uQWxsb3dlZFR5cGVzKGVuYWJsZWRUeXBlcylcbiAgY29uc3QgW2FjdGl2ZVR5cGUsIHNldEFjdGl2ZVR5cGVdID0gdXNlU3RhdGU8Q29udGV4dEVudGl0eVR5cGU+KGRlZmF1bHRUeXBlKVxuICBjb25zdCBbcG9wb3Zlck9wZW4sIHNldFBvcG92ZXJPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbcG9wb3ZlclBvcywgc2V0UG9wb3ZlclBvc10gPSB1c2VTdGF0ZTx7IHRvcD86IG51bWJlcjsgYm90dG9tPzogbnVtYmVyOyBsZWZ0OiBudW1iZXIgfT4oeyBsZWZ0OiAwIH0pXG4gIGNvbnN0IFthY3RpdmVJbmRleCwgc2V0QWN0aXZlSW5kZXhdID0gdXNlU3RhdGUoMClcbiAgY29uc3QgaGFzRW1pdHRlZE9wZW4gPSB1c2VSZWYoZmFsc2UpXG4gIGNvbnN0IHBvcG92ZXJSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQgfCBudWxsPihudWxsKVxuICBjb25zdCBnZXRDYXJldFJlY3QgPSB1c2VDYXJldFBvc2l0aW9uKClcblxuICBjb25zdCBzY29wZSA9IHVzZURlcml2ZWRTY29wZSgpXG4gIGNvbnN0IHsgaXRlbXMsIGxvYWRpbmcsIGVycm9yLCBzZWFyY2hWYWx1ZSwgdXBkYXRlU2VhcmNoVmFsdWUgfSA9IHVzZUVudGl0eVNlYXJjaChhY3RpdmVUeXBlLCBzY29wZSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghYWxsb3dlZFR5cGVzLmluY2x1ZGVzKGFjdGl2ZVR5cGUpKSB7XG4gICAgICBzZXRBY3RpdmVUeXBlKGRlZmF1bHRUeXBlKVxuICAgIH1cbiAgfSwgW2FsbG93ZWRUeXBlcywgYWN0aXZlVHlwZSwgZGVmYXVsdFR5cGVdKVxuXG4gIGNvbnN0IHBvc2l0aW9uUG9wb3ZlciA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCByZWN0ID0gZ2V0Q2FyZXRSZWN0KClcbiAgICBpZiAoIXJlY3QpIHJldHVyblxuICAgIGNvbnN0IHZpZXdwb3J0SCA9IHdpbmRvdy5pbm5lckhlaWdodFxuICAgIGNvbnN0IHZpZXdwb3J0VyA9IHdpbmRvdy5pbm5lcldpZHRoXG4gICAgY29uc3Qgb3BlblVwID0gcmVjdC50b3AgPiB2aWV3cG9ydEggLSByZWN0LmJvdHRvbVxuICAgIGNvbnN0IGxlZnQgPSBNYXRoLm1heCg4LCBNYXRoLm1pbih2aWV3cG9ydFcgLSBQT1BPVkVSX1dJRFRIIC0gOCwgcmVjdC5sZWZ0KSlcbiAgICBpZiAob3BlblVwKSB7XG4gICAgICBzZXRQb3BvdmVyUG9zKHsgYm90dG9tOiB2aWV3cG9ydEggLSByZWN0LnRvcCArIDQsIGxlZnQgfSlcbiAgICB9IGVsc2Uge1xuICAgICAgc2V0UG9wb3ZlclBvcyh7IHRvcDogcmVjdC5ib3R0b20gKyA0LCBsZWZ0IH0pXG4gICAgfVxuICB9LCBbZ2V0Q2FyZXRSZWN0XSlcblxuICBjb25zdCBjbG9zZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRQb3BvdmVyT3BlbihmYWxzZSlcbiAgICB1cGRhdGVTZWFyY2hWYWx1ZSgnJylcbiAgICBoYXNFbWl0dGVkT3Blbi5jdXJyZW50ID0gZmFsc2VcbiAgfSwgW3VwZGF0ZVNlYXJjaFZhbHVlXSlcblxuICBjb25zdCBoYW5kbGVUcmlnZ2VyID0gdXNlQ2FsbGJhY2soXG4gICAgKHRyaWdnZXI6IHsgYWN0aXZlOiBib29sZWFuOyBxdWVyeTogc3RyaW5nIH0pID0+IHtcbiAgICAgIGlmIChhbGxvd2VkVHlwZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIGlmIChwb3BvdmVyT3BlbikgY2xvc2UoKVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgaWYgKHRyaWdnZXIuYWN0aXZlKSB7XG4gICAgICAgIGlmICghcG9wb3Zlck9wZW4pIHtcbiAgICAgICAgICBzZXRQb3BvdmVyT3Blbih0cnVlKVxuICAgICAgICAgIHBvc2l0aW9uUG9wb3ZlcigpXG4gICAgICAgICAgaWYgKCFoYXNFbWl0dGVkT3Blbi5jdXJyZW50KSB7XG4gICAgICAgICAgICBldmVudChFVkVOVFMuYWlDaGF0TWVudGlvbk9wZW4sIHsgZGVmYXVsdF90eXBlOiBhY3RpdmVUeXBlIH0pXG4gICAgICAgICAgICBoYXNFbWl0dGVkT3Blbi5jdXJyZW50ID0gdHJ1ZVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBwb3NpdGlvblBvcG92ZXIoKVxuICAgICAgICB9XG4gICAgICAgIHVwZGF0ZVNlYXJjaFZhbHVlKHRyaWdnZXIucXVlcnkpXG4gICAgICB9IGVsc2UgaWYgKHBvcG92ZXJPcGVuKSB7XG4gICAgICAgIGNsb3NlKClcbiAgICAgIH1cbiAgICB9LFxuICAgIFthbGxvd2VkVHlwZXMubGVuZ3RoLCBwb3BvdmVyT3BlbiwgcG9zaXRpb25Qb3BvdmVyLCB1cGRhdGVTZWFyY2hWYWx1ZSwgYWN0aXZlVHlwZSwgZXZlbnQsIGNsb3NlXVxuICApXG5cbiAgY29uc3QgaW5zZXJ0U2VsZWN0ZWRJdGVtID0gdXNlQ2FsbGJhY2soXG4gICAgKGl0ZW06IENvbnRleHRNZW50aW9uSXRlbSkgPT4ge1xuICAgICAgY29uc3QgbWVudGlvbjogQ29udGV4dE1lbnRpb24gPSB7XG4gICAgICAgIGlkOiBpdGVtLmlkLFxuICAgICAgICB0eXBlOiBpdGVtLnR5cGUsXG4gICAgICAgIGxhYmVsOiBpdGVtLnByaW1hcnksXG4gICAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgICAgY2xpZW50SWQ6IGl0ZW0ucmF3LmNsaWVudElkID8/IG51bGwsXG4gICAgICAgICAgY2xpZW50TmFtZTogaXRlbS5yYXcuY2xpZW50TmFtZSA/PyBudWxsLFxuICAgICAgICAgIHByb2plY3ROYW1lOiBpdGVtLnJhdy5wcm9qZWN0TmFtZSA/PyBudWxsLFxuICAgICAgICAgIGZlZUlkOiBpdGVtLnJhdy5mZWVJZCA/PyBudWxsLFxuICAgICAgICAgIHRvdGFsUHJveWVjdG9zOiBpdGVtLnJhdy50b3RhbFByb3llY3RvcyA/PyBudWxsLFxuICAgICAgICAgIHBpY3R1cmU6IGl0ZW0ucmF3LnBpY3R1cmUgPz8gbnVsbCxcbiAgICAgICAgICBwb3NpdGlvbk5hbWU6IGl0ZW0ucmF3LnBvc2l0aW9uTmFtZSA/PyBudWxsLFxuICAgICAgICAgIGVtYWlsOiBpdGVtLnJhdy5lbWFpbCA/PyBudWxsLFxuICAgICAgICB9LFxuICAgICAgfVxuICAgICAgZWRpdG9yUmVmLmN1cnJlbnQ/Lmluc2VydE1lbnRpb24obWVudGlvbilcbiAgICAgIG9uTWVudGlvbkFkZGVkPy4obWVudGlvbilcbiAgICAgIGV2ZW50KEVWRU5UUy5haUNoYXRNZW50aW9uU2VsZWN0LCB7IHJlc3VsdF90eXBlOiBtZW50aW9uLnR5cGUsIGlkOiBTdHJpbmcobWVudGlvbi5pZCkgfSlcbiAgICAgIGNsb3NlKClcbiAgICB9LFxuICAgIFtlZGl0b3JSZWYsIG9uTWVudGlvbkFkZGVkLCBldmVudCwgY2xvc2VdXG4gIClcblxuICBjb25zdCBoYW5kbGVUeXBlQ2hhbmdlID0gdXNlQ2FsbGJhY2soXG4gICAgKHR5cGU6IENvbnRleHRFbnRpdHlUeXBlKSA9PiB7XG4gICAgICBzZXRBY3RpdmVUeXBlKHR5cGUpXG4gICAgICBldmVudChFVkVOVFMuYWlDaGF0TWVudGlvblR5cGVTd2l0Y2gsIHsgcmVzdWx0X3R5cGU6IHR5cGUgfSlcbiAgICB9LFxuICAgIFtldmVudF1cbiAgKVxuXG4gIGNvbnN0IGhhbmRsZUtleURvd24gPSB1c2VDYWxsYmFjayhcbiAgICAoZTogS2V5Ym9hcmRFdmVudDxIVE1MRGl2RWxlbWVudD4pOiBib29sZWFuID0+IHtcbiAgICAgIGlmICghcG9wb3Zlck9wZW4gfHwgYWxsb3dlZFR5cGVzLmxlbmd0aCA9PT0gMCkgcmV0dXJuIGZhbHNlXG5cbiAgICAgIGlmIChlLmtleSA9PT0gJ0VzY2FwZScpIHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgIGNsb3NlKClcbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgIH1cblxuICAgICAgaWYgKChlLmtleSA9PT0gJ0Fycm93UmlnaHQnIHx8IGUua2V5ID09PSAnQXJyb3dMZWZ0JykgJiYgKGUubWV0YUtleSB8fCBlLmFsdEtleSB8fCAoZS5jdHJsS2V5ICYmICFlLnNoaWZ0S2V5KSkpIHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgIGNvbnN0IGlkeCA9IGFsbG93ZWRUeXBlcy5pbmRleE9mKGFjdGl2ZVR5cGUpXG4gICAgICAgIGNvbnN0IGRlbHRhID0gZS5rZXkgPT09ICdBcnJvd1JpZ2h0JyA/IDEgOiAtMVxuICAgICAgICBjb25zdCBuZXh0SWR4ID0gKGlkeCArIGRlbHRhICsgYWxsb3dlZFR5cGVzLmxlbmd0aCkgJSBhbGxvd2VkVHlwZXMubGVuZ3RoXG4gICAgICAgIGhhbmRsZVR5cGVDaGFuZ2UoYWxsb3dlZFR5cGVzW25leHRJZHhdKVxuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgfVxuXG4gICAgICBpZiAoaXRlbXMubGVuZ3RoID09PSAwKSByZXR1cm4gZmFsc2VcblxuICAgICAgaWYgKGUua2V5ID09PSAnQXJyb3dEb3duJykge1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgc2V0QWN0aXZlSW5kZXgocHJldiA9PiAocHJldiArIDEpICUgaXRlbXMubGVuZ3RoKVxuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgfVxuICAgICAgaWYgKGUua2V5ID09PSAnQXJyb3dVcCcpIHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgIHNldEFjdGl2ZUluZGV4KHByZXYgPT4gKHByZXYgLSAxICsgaXRlbXMubGVuZ3RoKSAlIGl0ZW1zLmxlbmd0aClcbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgIH1cbiAgICAgIGlmIChlLmtleSA9PT0gJ0VudGVyJyB8fCBlLmtleSA9PT0gJ1RhYicpIHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgIGluc2VydFNlbGVjdGVkSXRlbShpdGVtc1thY3RpdmVJbmRleF0pXG4gICAgICAgIHJldHVybiB0cnVlXG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9LFxuICAgIFtwb3BvdmVyT3BlbiwgaXRlbXMsIGFsbG93ZWRUeXBlcywgYWN0aXZlVHlwZSwgYWN0aXZlSW5kZXgsIGluc2VydFNlbGVjdGVkSXRlbSwgY2xvc2UsIGhhbmRsZVR5cGVDaGFuZ2VdXG4gIClcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghcG9wb3Zlck9wZW4pIHJldHVybiB1bmRlZmluZWRcbiAgICBjb25zdCBoYW5kbGVyID0gKCkgPT4gcG9zaXRpb25Qb3BvdmVyKClcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgaGFuZGxlciwgdHJ1ZSlcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgaGFuZGxlcilcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIGhhbmRsZXIsIHRydWUpXG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVzaXplJywgaGFuZGxlcilcbiAgICB9XG4gIH0sIFtwb3BvdmVyT3BlbiwgcG9zaXRpb25Qb3BvdmVyXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghcG9wb3Zlck9wZW4pIHJldHVybiB1bmRlZmluZWRcblxuICAgIGNvbnN0IGhhbmRsZVBvaW50ZXJEb3duT3V0c2lkZSA9IChtb3VzZUV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICBjb25zdCB0YXJnZXQgPSBtb3VzZUV2ZW50LnRhcmdldCBhcyBOb2RlIHwgbnVsbFxuICAgICAgaWYgKCF0YXJnZXQpIHJldHVyblxuICAgICAgaWYgKHBvcG92ZXJSZWYuY3VycmVudD8uY29udGFpbnModGFyZ2V0KSkgcmV0dXJuXG4gICAgICBjbG9zZSgpXG4gICAgfVxuXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgaGFuZGxlUG9pbnRlckRvd25PdXRzaWRlKVxuICAgIHJldHVybiAoKSA9PiBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBoYW5kbGVQb2ludGVyRG93bk91dHNpZGUpXG4gIH0sIFtwb3BvdmVyT3BlbiwgY2xvc2VdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc2V0QWN0aXZlSW5kZXgoMClcbiAgfSwgW2l0ZW1zLmxlbmd0aCwgYWN0aXZlVHlwZV0pXG5cbiAgY29uc3QgcG9wb3Zlck5vZGUgPSB1c2VNZW1vPFJlYWN0Tm9kZSB8IG51bGw+KCgpID0+IHtcbiAgICBpZiAoIXBvcG92ZXJPcGVuKSByZXR1cm4gbnVsbFxuICAgIHJldHVybiAoXG4gICAgICA8U0NNUEFuY2hvciAkdG9wPXtwb3BvdmVyUG9zLnRvcH0gJGJvdHRvbT17cG9wb3ZlclBvcy5ib3R0b219ICRsZWZ0PXtwb3BvdmVyUG9zLmxlZnR9PlxuICAgICAgICA8Q29udGV4dE1lbnRpb25Qb3BvdmVyXG4gICAgICAgICAgcmVmPXtwb3BvdmVyUmVmfVxuICAgICAgICAgIGFsbG93ZWRUeXBlcz17YWxsb3dlZFR5cGVzfVxuICAgICAgICAgIGFjdGl2ZVR5cGU9e2FjdGl2ZVR5cGV9XG4gICAgICAgICAgb25UeXBlQ2hhbmdlPXtoYW5kbGVUeXBlQ2hhbmdlfVxuICAgICAgICAgIGl0ZW1zPXtpdGVtc31cbiAgICAgICAgICBsb2FkaW5nPXtsb2FkaW5nfVxuICAgICAgICAgIGVycm9yPXtlcnJvcn1cbiAgICAgICAgICBzZWFyY2hWYWx1ZT17c2VhcmNoVmFsdWV9XG4gICAgICAgICAga2V5Ym9hcmRIaW50PXt0KCdjb250ZXh0TWVudGlvbi5rZXlib2FyZEhpbnQnLCB7XG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU6ICdBbHQvQ3RybC9DbWQgKyBcXHUyMTkwL1xcdTIxOTIgY2FtYmlhIGRlIHRhYicsXG4gICAgICAgICAgfSl9XG4gICAgICAgICAgb25JdGVtU2VsZWN0ZWQ9e2luc2VydFNlbGVjdGVkSXRlbX1cbiAgICAgICAgICBhY3RpdmVJbmRleD17YWN0aXZlSW5kZXh9XG4gICAgICAgICAgb25BY3RpdmVJbmRleENoYW5nZT17c2V0QWN0aXZlSW5kZXh9XG4gICAgICAgIC8+XG4gICAgICA8L1NDTVBBbmNob3I+XG4gICAgKVxuICB9LCBbXG4gICAgcG9wb3Zlck9wZW4sXG4gICAgcG9wb3ZlclBvcyxcbiAgICBhbGxvd2VkVHlwZXMsXG4gICAgYWN0aXZlVHlwZSxcbiAgICBoYW5kbGVUeXBlQ2hhbmdlLFxuICAgIGl0ZW1zLFxuICAgIGxvYWRpbmcsXG4gICAgZXJyb3IsXG4gICAgc2VhcmNoVmFsdWUsXG4gICAgaW5zZXJ0U2VsZWN0ZWRJdGVtLFxuICAgIGFjdGl2ZUluZGV4LFxuICBdKVxuXG4gIHJldHVybiB7IHBvcG92ZXJPcGVuLCBoYW5kbGVUcmlnZ2VyLCBoYW5kbGVLZXlEb3duLCBwb3BvdmVyTm9kZSwgY2xvc2UgfVxufVxuIl0sIm1hcHBpbmdzIjoiOztBQUFBLFNBQThDQSxXQUFXLEVBQUVDLFNBQVMsRUFBRUMsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLFFBQVEsUUFBUSxPQUFPO0FBRTlHLFNBQVNDLHFCQUFxQixFQUFFQyxVQUFVLFFBQVEsMkNBQTJDO0FBQzdGLFNBQVNDLGdCQUFnQixRQUFRLDJCQUEyQjtBQUM1RCxTQUFTQyxJQUFJLFFBQVEsUUFBUTtBQUM3QjtBQUNBLFNBQTRCQyxlQUFlLFFBQVEsbUJBQW1CO0FBQ3RFLFNBQVNDLHNCQUFzQixRQUFRLDBCQUEwQjtBQUNqRSxTQUFTQyxnQkFBZ0IsUUFB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QUFPO01BQUEsT0FBTUssUUFBUSxDQUFDTixtQkFBbUIsQ0FBQyxXQUFXLEVBQUVDLHdCQUF3QixDQUFDO0lBQUE7RUFDbEYsQ0FBQyxFQUFFLENBQUN6RixXQUFXLEVBQUVtQyxLQUFLLENBQUMsQ0FBQztFQUV4QjFHLFNBQVMsQ0FBQyxZQUFNO0lBQ2RpRixjQUFjLENBQUMsQ0FBQyxDQUFDO0VBQ25CLENBQUMsRUFBRSxDQUFDTSxLQUFLLENBQUNwQyxNQUFNLEVBQUVnQixVQUFVLENBQUMsQ0FBQztFQUU5QixJQUFNbUcsV0FBVyxHQUFHckssT0FBTyxDQUFtQixZQUFNO0lBQ2xELElBQUksQ0FBQ3NFLFdBQVcsRUFBRSxPQUFPLElBQUk7SUFDN0Isb0JBQ0V6RCxJQUFBLENBQUNULFVBQVU7TUFBQ2tLLElBQUksRUFBRTNGLFVBQVUsQ0FBQ3lCLEdBQUk7TUFBQ21FLE9BQU8sRUFBRTVGLFVBQVUsQ0FBQzBCLE1BQU87TUFBQ21FLEtBQUssRUFBRTdGLFVBQVUsQ0FBQ0YsSUFBSztNQUFBZ0csUUFBQSxlQUNuRjVKLElBQUEsQ0FBQ1YscUJBQXFCO1FBQ3BCdUssR0FBRyxFQUFFeEYsVUFBVztRQUNoQnJCLFlBQVksRUFBRUEsWUFBYTtRQUMzQkssVUFBVSxFQUFFQSxVQUFXO1FBQ3ZCeUcsWUFBWSxFQUFFL0IsZ0JBQWlCO1FBQy9CdEQsS0FBSyxFQUFFQSxLQUFNO1FBQ2JDLE9BQU8sRUFBRUEsT0FBUTtRQUNqQkMsS0FBSyxFQUFFQSxLQUFNO1FBQ2JDLFdBQVcsRUFBRUEsV0FBWTtRQUN6Qm1GLFlBQVksRUFBRWxILENBQUMsQ0FBQyw2QkFBNkIsRUFBRTtVQUM3Q21ILFlBQVksRUFBRTtRQUNoQixDQUFDLENBQUU7UUFDSEMsY0FBYyxFQUFFN0Qsa0JBQW1CO1FBQ25DbEMsV0FBVyxFQUFFQSxXQUFZO1FBQ3pCZ0csbUJBQW1CLEVBQUUvRjtNQUFlLENBQ3JDO0lBQUMsQ0FDUSxDQUFDO0VBRWpCLENBQUMsRUFBRSxDQUNEVixXQUFXLEVBQ1hLLFVBQVUsRUFDVmQsWUFBWSxFQUNaSyxVQUFVLEVBQ1YwRSxnQkFBZ0IsRUFDaEJ0RCxLQUFLLEVBQ0xDLE9BQU8sRUFDUEMsS0FBSyxFQUNMQyxXQUFXLEVBQ1h3QixrQkFBa0IsRUFDbEJsQyxXQUFXLENBQ1osQ0FBQztFQUVGLE9BQU87SUFBRVQsV0FBVyxFQUFYQSxXQUFXO0lBQUVxQyxhQUFhLEVBQWJBLGFBQWE7SUFBRW1DLGFBQWEsRUFBYkEsYUFBYTtJQUFFdUIsV0FBVyxFQUFYQSxXQUFXO0lBQUU1RCxLQUFLLEVBQUxBO0VBQU0sQ0FBQztBQUMxRSxDQUFDIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
import _toArray from "@babel/runtime/helpers/toArray";
|
|
2
|
-
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
3
|
-
import _typeof from "@babel/runtime/helpers/typeof";
|
|
4
|
-
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
5
|
-
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
6
|
-
import { fetchMaia } from '../client';
|
|
7
|
-
var normalizeConnectorsPayload = function normalizeConnectorsPayload(body) {
|
|
8
|
-
if (Array.isArray(body)) {
|
|
9
|
-
return body;
|
|
10
|
-
}
|
|
11
|
-
if (body && _typeof(body) === 'object' && 'data' in body && Array.isArray(body.data)) {
|
|
12
|
-
return body.data;
|
|
13
|
-
}
|
|
14
|
-
return [];
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* GET `agents/:id/connectors`.
|
|
19
|
-
* Cuerpo esperado: array de conectores, p. ej.
|
|
20
|
-
* `[{ "slug": "notion", "requires_auth": true, "enabled_for_agent": true, "user_authorized": true, ... }]`
|
|
21
|
-
* o en algunos entornos `{ data: AgentConnector[] }`.
|
|
22
|
-
*/
|
|
23
|
-
export var getAgentConnectors = /*#__PURE__*/function () {
|
|
24
|
-
var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(agentId) {
|
|
25
|
-
var response, _t;
|
|
26
|
-
return _regeneratorRuntime.wrap(function (_context) {
|
|
27
|
-
while (1) switch (_context.prev = _context.next) {
|
|
28
|
-
case 0:
|
|
29
|
-
_context.next = 1;
|
|
30
|
-
return fetchMaia({
|
|
31
|
-
path: "agents/".concat(agentId, "/connectors"),
|
|
32
|
-
method: 'GET'
|
|
33
|
-
});
|
|
34
|
-
case 1:
|
|
35
|
-
response = _context.sent;
|
|
36
|
-
if (response.ok) {
|
|
37
|
-
_context.next = 2;
|
|
38
|
-
break;
|
|
39
|
-
}
|
|
40
|
-
throw new Error('Failed to fetch agent connectors');
|
|
41
|
-
case 2:
|
|
42
|
-
_t = normalizeConnectorsPayload;
|
|
43
|
-
_context.next = 3;
|
|
44
|
-
return response.json();
|
|
45
|
-
case 3:
|
|
46
|
-
return _context.abrupt("return", _t(_context.sent));
|
|
47
|
-
case 4:
|
|
48
|
-
case "end":
|
|
49
|
-
return _context.stop();
|
|
50
|
-
}
|
|
51
|
-
}, _callee);
|
|
52
|
-
}));
|
|
53
|
-
return function getAgentConnectors(_x) {
|
|
54
|
-
return _ref.apply(this, arguments);
|
|
55
|
-
};
|
|
56
|
-
}();
|
|
57
|
-
export var saveAgentConnectors = /*#__PURE__*/function () {
|
|
58
|
-
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(agentId, connectorSlugs) {
|
|
59
|
-
var response;
|
|
60
|
-
return _regeneratorRuntime.wrap(function (_context2) {
|
|
61
|
-
while (1) switch (_context2.prev = _context2.next) {
|
|
62
|
-
case 0:
|
|
63
|
-
_context2.next = 1;
|
|
64
|
-
return fetchMaia({
|
|
65
|
-
path: "agents/".concat(agentId, "/connectors"),
|
|
66
|
-
method: 'POST',
|
|
67
|
-
body: {
|
|
68
|
-
connector_slugs: connectorSlugs
|
|
69
|
-
}
|
|
70
|
-
});
|
|
71
|
-
case 1:
|
|
72
|
-
response = _context2.sent;
|
|
73
|
-
if (response.ok) {
|
|
74
|
-
_context2.next = 2;
|
|
75
|
-
break;
|
|
76
|
-
}
|
|
77
|
-
throw new Error('Failed to save agent connectors');
|
|
78
|
-
case 2:
|
|
79
|
-
return _context2.abrupt("return", response.json());
|
|
80
|
-
case 3:
|
|
81
|
-
case "end":
|
|
82
|
-
return _context2.stop();
|
|
83
|
-
}
|
|
84
|
-
}, _callee2);
|
|
85
|
-
}));
|
|
86
|
-
return function saveAgentConnectors(_x2, _x3) {
|
|
87
|
-
return _ref2.apply(this, arguments);
|
|
88
|
-
};
|
|
89
|
-
}();
|
|
90
|
-
export var openConnectorAuthorizationWindows = function openConnectorAuthorizationWindows(authorizations, popupWindow) {
|
|
91
|
-
if (!authorizations.length) {
|
|
92
|
-
if (popupWindow && !popupWindow.closed) {
|
|
93
|
-
popupWindow.close();
|
|
94
|
-
}
|
|
95
|
-
return;
|
|
96
|
-
}
|
|
97
|
-
var _authorizations = _toArray(authorizations),
|
|
98
|
-
firstAuthorization = _authorizations[0],
|
|
99
|
-
remainingAuthorizations = _arrayLikeToArray(_authorizations).slice(1);
|
|
100
|
-
var win = popupWindow;
|
|
101
|
-
if (win && !win.closed) {
|
|
102
|
-
win.location.href = firstAuthorization.auth_url;
|
|
103
|
-
} else {
|
|
104
|
-
window.open(firstAuthorization.auth_url, '_blank', 'popup=yes,width=560,height=760');
|
|
105
|
-
}
|
|
106
|
-
remainingAuthorizations.forEach(function (authorization) {
|
|
107
|
-
window.open(authorization.auth_url, '_blank', 'popup=yes,width=560,height=760');
|
|
108
|
-
});
|
|
109
|
-
};
|
|
110
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmZXRjaE1haWEiLCJub3JtYWxpemVDb25uZWN0b3JzUGF5bG9hZCIsImJvZHkiLCJBcnJheSIsImlzQXJyYXkiLCJfdHlwZW9mIiwiZGF0YSIsImdldEFnZW50Q29ubmVjdG9ycyIsIl9yZWYiLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJtYXJrIiwiX2NhbGxlZSIsImFnZW50SWQiLCJyZXNwb25zZSIsIl90Iiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJwYXRoIiwiY29uY2F0IiwibWV0aG9kIiwic2VudCIsIm9rIiwiRXJyb3IiLCJqc29uIiwiYWJydXB0Iiwic3RvcCIsIl94IiwiYXBwbHkiLCJhcmd1bWVudHMiLCJzYXZlQWdlbnRDb25uZWN0b3JzIiwiX3JlZjIiLCJfY2FsbGVlMiIsImNvbm5lY3RvclNsdWdzIiwiX2NvbnRleHQyIiwiY29ubmVjdG9yX3NsdWdzIiwiX3gyIiwiX3gzIiwib3BlbkNvbm5lY3RvckF1dGhvcml6YXRpb25XaW5kb3dzIiwiYXV0aG9yaXphdGlvbnMiLCJwb3B1cFdpbmRvdyIsImxlbmd0aCIsImNsb3NlZCIsImNsb3NlIiwiX2F1dGhvcml6YXRpb25zIiwiX3RvQXJyYXkiLCJmaXJzdEF1dGhvcml6YXRpb24iLCJyZW1haW5pbmdBdXRob3JpemF0aW9ucyIsIl9hcnJheUxpa2VUb0FycmF5Iiwic2xpY2UiLCJ3aW4iLCJsb2NhdGlvbiIsImhyZWYiLCJhdXRoX3VybCIsIndpbmRvdyIsIm9wZW4iLCJmb3JFYWNoIiwiYXV0aG9yaXphdGlvbiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9tYWlhL0FnZW50cy9jb25uZWN0b3JzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZldGNoTWFpYSB9IGZyb20gJy4uL2NsaWVudCdcblxuZXhwb3J0IHR5cGUgQWdlbnRDb25uZWN0b3IgPSB7XG4gIGlkOiBudW1iZXJcbiAgc2x1Zzogc3RyaW5nXG4gIG5hbWU6IHN0cmluZ1xuICBkZXNjcmlwdGlvbj86IHN0cmluZ1xuICBpY29uX3VybD86IHN0cmluZ1xuICByZXF1aXJlc19hdXRoOiBib29sZWFuXG4gIGlzX2FjdGl2ZTogYm9vbGVhblxuICBlbmFibGVkX2Zvcl9hZ2VudDogYm9vbGVhblxuICB1c2VyX2F1dGhvcml6ZWQ6IGJvb2xlYW5cbn1cblxuZXhwb3J0IHR5cGUgUGVuZGluZ0Nvbm5lY3RvckF1dGhvcml6YXRpb24gPSB7XG4gIHNsdWc6IHN0cmluZ1xuICBuYW1lOiBzdHJpbmdcbiAgYXV0aF91cmw6IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBTYXZlQWdlbnRDb25uZWN0b3JzUmVzcG9uc2UgPSB7XG4gIGFnZW50X2lkOiBzdHJpbmdcbiAgY29ubmVjdG9yX3NsdWdzOiBzdHJpbmdbXVxuICByZXF1aXJlc19hdXRoPzogUGVuZGluZ0Nvbm5lY3RvckF1dGhvcml6YXRpb25bXVxufVxuXG5jb25zdCBub3JtYWxpemVDb25uZWN0b3JzUGF5bG9hZCA9IChib2R5OiB1bmtub3duKTogQWdlbnRDb25uZWN0b3JbXSA9PiB7XG4gIGlmIChBcnJheS5pc0FycmF5KGJvZHkpKSB7XG4gICAgcmV0dXJuIGJvZHkgYXMgQWdlbnRDb25uZWN0b3JbXVxuICB9XG4gIGlmIChib2R5ICYmIHR5cGVvZiBib2R5ID09PSAnb2JqZWN0JyAmJiAnZGF0YScgaW4gYm9keSAmJiBBcnJheS5pc0FycmF5KChib2R5IGFzIHsgZGF0YTogdW5rbm93biB9KS5kYXRhKSkge1xuICAgIHJldHVybiAoYm9keSBhcyB7IGRhdGE6IEFnZW50Q29ubmVjdG9yW10gfSkuZGF0YVxuICB9XG4gIHJldHVybiBbXVxufVxuXG4vKipcbiAqIEdFVCBgYWdlbnRzLzppZC9jb25uZWN0b3JzYC5cbiAqIEN1ZXJwbyBlc3BlcmFkbzogYXJyYXkgZGUgY29uZWN0b3JlcywgcC4gZWouXG4gKiBgW3sgXCJzbHVnXCI6IFwibm90aW9uXCIsIFwicmVxdWlyZXNfYXV0aFwiOiB0cnVlLCBcImVuYWJsZWRfZm9yX2FnZW50XCI6IHRydWUsIFwidXNlcl9hdXRob3JpemVkXCI6IHRydWUsIC4uLiB9XWBcbiAqIG8gZW4gYWxndW5vcyBlbnRvcm5vcyBgeyBkYXRhOiBBZ2VudENvbm5lY3RvcltdIH1gLlxuICovXG5leHBvcnQgY29uc3QgZ2V0QWdlbnRDb25uZWN0b3JzID0gYXN5bmMgKGFnZW50SWQ6IHN0cmluZyk6IFByb21pc2U8QWdlbnRDb25uZWN0b3JbXT4gPT4ge1xuICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoTWFpYSh7XG4gICAgcGF0aDogYGFnZW50cy8ke2FnZW50SWR9L2Nvbm5lY3RvcnNgLFxuICAgIG1ldGhvZDogJ0dFVCcsXG4gIH0pXG5cbiAgaWYgKCFyZXNwb25zZS5vaykge1xuICAgIHRocm93IG5ldyBFcnJvcignRmFpbGVkIHRvIGZldGNoIGFnZW50IGNvbm5lY3RvcnMnKVxuICB9XG5cbiAgcmV0dXJuIG5vcm1hbGl6ZUNvbm5lY3RvcnNQYXlsb2FkKGF3YWl0IHJlc3BvbnNlLmpzb24oKSlcbn1cblxuZXhwb3J0IGNvbnN0IHNhdmVBZ2VudENvbm5lY3RvcnMgPSBhc3luYyAoXG4gIGFnZW50SWQ6IHN0cmluZyxcbiAgY29ubmVjdG9yU2x1Z3M6IHN0cmluZ1tdXG4pOiBQcm9taXNlPFNhdmVBZ2VudENvbm5lY3RvcnNSZXNwb25zZT4gPT4ge1xuICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoTWFpYSh7XG4gICAgcGF0aDogYGFnZW50cy8ke2FnZW50SWR9L2Nvbm5lY3RvcnNgLFxuICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgIGJvZHk6IHtcbiAgICAgIGNvbm5lY3Rvcl9zbHVnczogY29ubmVjdG9yU2x1Z3MsXG4gICAgfSxcbiAgfSlcblxuICBpZiAoIXJlc3BvbnNlLm9rKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdGYWlsZWQgdG8gc2F2ZSBhZ2VudCBjb25uZWN0b3JzJylcbiAgfVxuXG4gIHJldHVybiByZXNwb25zZS5qc29uKClcbn1cblxuZXhwb3J0IGNvbnN0IG9wZW5Db25uZWN0b3JBdXRob3JpemF0aW9uV2luZG93cyA9IChcbiAgYXV0aG9yaXphdGlvbnM6IFBlbmRpbmdDb25uZWN0b3JBdXRob3JpemF0aW9uW10sXG4gIHBvcHVwV2luZG93PzogV2luZG93IHwgbnVsbFxuKSA9PiB7XG4gIGlmICghYXV0aG9yaXphdGlvbnMubGVuZ3RoKSB7XG4gICAgaWYgKHBvcHVwV2luZG93ICYmICFwb3B1cFdpbmRvdy5jbG9zZWQpIHtcbiAgICAgIHBvcHVwV2luZG93LmNsb3NlKClcbiAgICB9XG4gICAgcmV0dXJuXG4gIH1cblxuICBjb25zdCBbZmlyc3RBdXRob3JpemF0aW9uLCAuLi5yZW1haW5pbmdBdXRob3JpemF0aW9uc10gPSBhdXRob3JpemF0aW9uc1xuXG4gIGNvbnN0IHdpbiA9IHBvcHVwV2luZG93XG4gIGlmICh3aW4gJiYgIXdpbi5jbG9zZWQpIHtcbiAgICB3aW4ubG9jYXRpb24uaHJlZiA9IGZpcnN0QXV0aG9yaXphdGlvbi5hdXRoX3VybFxuICB9IGVsc2Uge1xuICAgIHdpbmRvdy5vcGVuKGZpcnN0QXV0aG9yaXphdGlvbi5hdXRoX3VybCwgJ19ibGFuaycsICdwb3B1cD15ZXMsd2lkdGg9NTYwLGhlaWdodD03NjAnKVxuICB9XG5cbiAgcmVtYWluaW5nQXV0aG9yaXphdGlvbnMuZm9yRWFjaChhdXRob3JpemF0aW9uID0+IHtcbiAgICB3aW5kb3cub3BlbihhdXRob3JpemF0aW9uLmF1dGhfdXJsLCAnX2JsYW5rJywgJ3BvcHVwPXllcyx3aWR0aD01NjAsaGVpZ2h0PTc2MCcpXG4gIH0pXG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsU0FBU0EsU0FBUyxRQUFRLFdBQVc7QUEwQnJDLElBQU1DLDBCQUEwQixHQUFHLFNBQTdCQSwwQkFBMEJBLENBQUlDLElBQWEsRUFBdUI7RUFDdEUsSUFBSUMsS0FBSyxDQUFDQyxPQUFPLENBQUNGLElBQUksQ0FBQyxFQUFFO0lBQ3ZCLE9BQU9BLElBQUk7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
|
|
@@ -1,164 +0,0 @@
|
|
|
1
|
-
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
2
|
-
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
3
|
-
import { fetchMaia } from '../client';
|
|
4
|
-
var parseAgentSkill = function parseAgentSkill(skill) {
|
|
5
|
-
return {
|
|
6
|
-
id: skill.id,
|
|
7
|
-
agentId: skill.agent_id,
|
|
8
|
-
userId: skill.user_id,
|
|
9
|
-
name: skill.name,
|
|
10
|
-
description: skill.description,
|
|
11
|
-
content: skill.content,
|
|
12
|
-
userPreferences: skill.user_preferences,
|
|
13
|
-
structuredResponse: skill.structured_response,
|
|
14
|
-
isActive: skill.is_active,
|
|
15
|
-
createdAt: skill.created_at,
|
|
16
|
-
updatedAt: skill.updated_at
|
|
17
|
-
};
|
|
18
|
-
};
|
|
19
|
-
var toApiPayload = function toApiPayload(payload) {
|
|
20
|
-
var _payload$isActive;
|
|
21
|
-
return {
|
|
22
|
-
name: payload.name,
|
|
23
|
-
description: payload.description,
|
|
24
|
-
content: payload.content,
|
|
25
|
-
user_preferences: payload.userPreferences || null,
|
|
26
|
-
structured_response: payload.structuredResponse || null,
|
|
27
|
-
is_active: (_payload$isActive = payload.isActive) !== null && _payload$isActive !== void 0 ? _payload$isActive : true
|
|
28
|
-
};
|
|
29
|
-
};
|
|
30
|
-
export var getAllSkills = /*#__PURE__*/function () {
|
|
31
|
-
var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
32
|
-
var response, data;
|
|
33
|
-
return _regeneratorRuntime.wrap(function (_context) {
|
|
34
|
-
while (1) switch (_context.prev = _context.next) {
|
|
35
|
-
case 0:
|
|
36
|
-
_context.next = 1;
|
|
37
|
-
return fetchMaia({
|
|
38
|
-
path: 'skills',
|
|
39
|
-
method: 'GET'
|
|
40
|
-
});
|
|
41
|
-
case 1:
|
|
42
|
-
response = _context.sent;
|
|
43
|
-
_context.next = 2;
|
|
44
|
-
return response.json();
|
|
45
|
-
case 2:
|
|
46
|
-
data = _context.sent;
|
|
47
|
-
return _context.abrupt("return", data.data.map(parseAgentSkill));
|
|
48
|
-
case 3:
|
|
49
|
-
case "end":
|
|
50
|
-
return _context.stop();
|
|
51
|
-
}
|
|
52
|
-
}, _callee);
|
|
53
|
-
}));
|
|
54
|
-
return function getAllSkills() {
|
|
55
|
-
return _ref.apply(this, arguments);
|
|
56
|
-
};
|
|
57
|
-
}();
|
|
58
|
-
export var getAgentSkills = /*#__PURE__*/function () {
|
|
59
|
-
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(agentId) {
|
|
60
|
-
var response, data;
|
|
61
|
-
return _regeneratorRuntime.wrap(function (_context2) {
|
|
62
|
-
while (1) switch (_context2.prev = _context2.next) {
|
|
63
|
-
case 0:
|
|
64
|
-
_context2.next = 1;
|
|
65
|
-
return fetchMaia({
|
|
66
|
-
path: "agents/".concat(agentId, "/skills"),
|
|
67
|
-
method: 'GET'
|
|
68
|
-
});
|
|
69
|
-
case 1:
|
|
70
|
-
response = _context2.sent;
|
|
71
|
-
_context2.next = 2;
|
|
72
|
-
return response.json();
|
|
73
|
-
case 2:
|
|
74
|
-
data = _context2.sent;
|
|
75
|
-
return _context2.abrupt("return", data.data.map(parseAgentSkill));
|
|
76
|
-
case 3:
|
|
77
|
-
case "end":
|
|
78
|
-
return _context2.stop();
|
|
79
|
-
}
|
|
80
|
-
}, _callee2);
|
|
81
|
-
}));
|
|
82
|
-
return function getAgentSkills(_x) {
|
|
83
|
-
return _ref2.apply(this, arguments);
|
|
84
|
-
};
|
|
85
|
-
}();
|
|
86
|
-
export var createAgentSkill = /*#__PURE__*/function () {
|
|
87
|
-
var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee3(agentId, payload) {
|
|
88
|
-
var response, _t;
|
|
89
|
-
return _regeneratorRuntime.wrap(function (_context3) {
|
|
90
|
-
while (1) switch (_context3.prev = _context3.next) {
|
|
91
|
-
case 0:
|
|
92
|
-
_context3.next = 1;
|
|
93
|
-
return fetchMaia({
|
|
94
|
-
path: "agents/".concat(agentId, "/skills"),
|
|
95
|
-
method: 'POST',
|
|
96
|
-
body: toApiPayload(payload)
|
|
97
|
-
});
|
|
98
|
-
case 1:
|
|
99
|
-
response = _context3.sent;
|
|
100
|
-
_t = parseAgentSkill;
|
|
101
|
-
_context3.next = 2;
|
|
102
|
-
return response.json();
|
|
103
|
-
case 2:
|
|
104
|
-
return _context3.abrupt("return", _t(_context3.sent));
|
|
105
|
-
case 3:
|
|
106
|
-
case "end":
|
|
107
|
-
return _context3.stop();
|
|
108
|
-
}
|
|
109
|
-
}, _callee3);
|
|
110
|
-
}));
|
|
111
|
-
return function createAgentSkill(_x2, _x3) {
|
|
112
|
-
return _ref3.apply(this, arguments);
|
|
113
|
-
};
|
|
114
|
-
}();
|
|
115
|
-
export var updateAgentSkill = /*#__PURE__*/function () {
|
|
116
|
-
var _ref4 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee4(agentId, skillId, payload) {
|
|
117
|
-
var response, _t2;
|
|
118
|
-
return _regeneratorRuntime.wrap(function (_context4) {
|
|
119
|
-
while (1) switch (_context4.prev = _context4.next) {
|
|
120
|
-
case 0:
|
|
121
|
-
_context4.next = 1;
|
|
122
|
-
return fetchMaia({
|
|
123
|
-
path: "agents/".concat(agentId, "/skills/").concat(skillId),
|
|
124
|
-
method: 'PUT',
|
|
125
|
-
body: toApiPayload(payload)
|
|
126
|
-
});
|
|
127
|
-
case 1:
|
|
128
|
-
response = _context4.sent;
|
|
129
|
-
_t2 = parseAgentSkill;
|
|
130
|
-
_context4.next = 2;
|
|
131
|
-
return response.json();
|
|
132
|
-
case 2:
|
|
133
|
-
return _context4.abrupt("return", _t2(_context4.sent));
|
|
134
|
-
case 3:
|
|
135
|
-
case "end":
|
|
136
|
-
return _context4.stop();
|
|
137
|
-
}
|
|
138
|
-
}, _callee4);
|
|
139
|
-
}));
|
|
140
|
-
return function updateAgentSkill(_x4, _x5, _x6) {
|
|
141
|
-
return _ref4.apply(this, arguments);
|
|
142
|
-
};
|
|
143
|
-
}();
|
|
144
|
-
export var deleteAgentSkill = /*#__PURE__*/function () {
|
|
145
|
-
var _ref5 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee5(agentId, skillId) {
|
|
146
|
-
return _regeneratorRuntime.wrap(function (_context5) {
|
|
147
|
-
while (1) switch (_context5.prev = _context5.next) {
|
|
148
|
-
case 0:
|
|
149
|
-
_context5.next = 1;
|
|
150
|
-
return fetchMaia({
|
|
151
|
-
path: "agents/".concat(agentId, "/skills/").concat(skillId),
|
|
152
|
-
method: 'DELETE'
|
|
153
|
-
});
|
|
154
|
-
case 1:
|
|
155
|
-
case "end":
|
|
156
|
-
return _context5.stop();
|
|
157
|
-
}
|
|
158
|
-
}, _callee5);
|
|
159
|
-
}));
|
|
160
|
-
return function deleteAgentSkill(_x7, _x8) {
|
|
161
|
-
return _ref5.apply(this, arguments);
|
|
162
|
-
};
|
|
163
|
-
}();
|
|
164
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmZXRjaE1haWEiLCJwYXJzZUFnZW50U2tpbGwiLCJza2lsbCIsImlkIiwiYWdlbnRJZCIsImFnZW50X2lkIiwidXNlcklkIiwidXNlcl9pZCIsIm5hbWUiLCJkZXNjcmlwdGlvbiIsImNvbnRlbnQiLCJ1c2VyUHJlZmVyZW5jZXMiLCJ1c2VyX3ByZWZlcmVuY2VzIiwic3RydWN0dXJlZFJlc3BvbnNlIiwic3RydWN0dXJlZF9yZXNwb25zZSIsImlzQWN0aXZlIiwiaXNfYWN0aXZlIiwiY3JlYXRlZEF0IiwiY3JlYXRlZF9hdCIsInVwZGF0ZWRBdCIsInVwZGF0ZWRfYXQiLCJ0b0FwaVBheWxvYWQiLCJwYXlsb2FkIiwiX3BheWxvYWQkaXNBY3RpdmUiLCJnZXRBbGxTa2lsbHMiLCJfcmVmIiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwibWFyayIsIl9jYWxsZWUiLCJyZXNwb25zZSIsImRhdGEiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsInBhdGgiLCJtZXRob2QiLCJzZW50IiwianNvbiIsImFicnVwdCIsIm1hcCIsInN0b3AiLCJhcHBseSIsImFyZ3VtZW50cyIsImdldEFnZW50U2tpbGxzIiwiX3JlZjIiLCJfY2FsbGVlMiIsIl9jb250ZXh0MiIsImNvbmNhdCIsIl94IiwiY3JlYXRlQWdlbnRTa2lsbCIsIl9yZWYzIiwiX2NhbGxlZTMiLCJfdCIsIl9jb250ZXh0MyIsImJvZHkiLCJfeDIiLCJfeDMiLCJ1cGRhdGVBZ2VudFNraWxsIiwiX3JlZjQiLCJfY2FsbGVlNCIsInNraWxsSWQiLCJfdDIiLCJfY29udGV4dDQiLCJfeDQiLCJfeDUiLCJfeDYiLCJkZWxldGVBZ2VudFNraWxsIiwiX3JlZjUiLCJfY2FsbGVlNSIsIl9jb250ZXh0NSIsIl94NyIsIl94OCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9tYWlhL0FnZW50cy9za2lsbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBBZ2VudFNraWxsLCBBZ2VudFNraWxsUGF5bG9hZCB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL2FnZW50U2tpbGwnXG5pbXBvcnQgeyBmZXRjaE1haWEgfSBmcm9tICcuLi9jbGllbnQnXG5cbnR5cGUgQWdlbnRTa2lsbEFwaSA9IHtcbiAgaWQ6IHN0cmluZ1xuICBhZ2VudF9pZDogc3RyaW5nXG4gIHVzZXJfaWQ6IHN0cmluZ1xuICBuYW1lOiBzdHJpbmdcbiAgZGVzY3JpcHRpb246IHN0cmluZ1xuICBjb250ZW50OiBzdHJpbmdcbiAgdXNlcl9wcmVmZXJlbmNlcz86IHN0cmluZyB8IG51bGxcbiAgc3RydWN0dXJlZF9yZXNwb25zZT86IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgbnVsbFxuICBpc19hY3RpdmU6IGJvb2xlYW5cbiAgY3JlYXRlZF9hdDogc3RyaW5nXG4gIHVwZGF0ZWRfYXQ6IHN0cmluZ1xufVxuXG50eXBlIEFnZW50U2tpbGxMaXN0QXBpID0ge1xuICBkYXRhOiBBZ2VudFNraWxsQXBpW11cbiAgdG90YWw6IG51bWJlclxufVxuXG5jb25zdCBwYXJzZUFnZW50U2tpbGwgPSAoc2tpbGw6IEFnZW50U2tpbGxBcGkpOiBBZ2VudFNraWxsID0+ICh7XG4gIGlkOiBza2lsbC5pZCxcbiAgYWdlbnRJZDogc2tpbGwuYWdlbnRfaWQsXG4gIHVzZXJJZDogc2tpbGwudXNlcl9pZCxcbiAgbmFtZTogc2tpbGwubmFtZSxcbiAgZGVzY3JpcHRpb246IHNraWxsLmRlc2NyaXB0aW9uLFxuICBjb250ZW50OiBza2lsbC5jb250ZW50LFxuICB1c2VyUHJlZmVyZW5jZXM6IHNraWxsLnVzZXJfcHJlZmVyZW5jZXMsXG4gIHN0cnVjdHVyZWRSZXNwb25zZTogc2tpbGwuc3RydWN0dXJlZF9yZXNwb25zZSxcbiAgaXNBY3RpdmU6IHNraWxsLmlzX2FjdGl2ZSxcbiAgY3JlYXRlZEF0OiBza2lsbC5jcmVhdGVkX2F0LFxuICB1cGRhdGVkQXQ6IHNraWxsLnVwZGF0ZWRfYXQsXG59KVxuXG5jb25zdCB0b0FwaVBheWxvYWQgPSAocGF5bG9hZDogQWdlbnRTa2lsbFBheWxvYWQpID0+ICh7XG4gIG5hbWU6IHBheWxvYWQubmFtZSxcbiAgZGVzY3JpcHRpb246IHBheWxvYWQuZGVzY3JpcHRpb24sXG4gIGNvbnRlbnQ6IHBheWxvYWQuY29udGVudCxcbiAgdXNlcl9wcmVmZXJlbmNlczogcGF5bG9hZC51c2VyUHJlZmVyZW5jZXMgfHwgbnVsbCxcbiAgc3RydWN0dXJlZF9yZXNwb25zZTogcGF5bG9hZC5zdHJ1Y3R1cmVkUmVzcG9uc2UgfHwgbnVsbCxcbiAgaXNfYWN0aXZlOiBwYXlsb2FkLmlzQWN0aXZlID8/IHRydWUsXG59KVxuXG5leHBvcnQgY29uc3QgZ2V0QWxsU2tpbGxzID0gYXN5bmMgKCk6IFByb21pc2U8QWdlbnRTa2lsbFtdPiA9PiB7XG4gIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2hNYWlhKHtcbiAgICBwYXRoOiAnc2tpbGxzJyxcbiAgICBtZXRob2Q6ICdHRVQnLFxuICB9KVxuXG4gIGNvbnN0IGRhdGEgPSAoYXdhaXQgcmVzcG9uc2UuanNvbigpKSBhcyBBZ2VudFNraWxsTGlzdEFwaVxuICByZXR1cm4gZGF0YS5kYXRhLm1hcChwYXJzZUFnZW50U2tpbGwpXG59XG5cbmV4cG9ydCBjb25zdCBnZXRBZ2VudFNraWxscyA9IGFzeW5jIChhZ2VudElkOiBzdHJpbmcpOiBQcm9taXNlPEFnZW50U2tpbGxbXT4gPT4ge1xuICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoTWFpYSh7XG4gICAgcGF0aDogYGFnZW50cy8ke2FnZW50SWR9L3NraWxsc2AsXG4gICAgbWV0aG9kOiAnR0VUJyxcbiAgfSlcblxuICBjb25zdCBkYXRhID0gKGF3YWl0IHJlc3BvbnNlLmpzb24oKSkgYXMgQWdlbnRTa2lsbExpc3RBcGlcbiAgcmV0dXJuIGRhdGEuZGF0YS5tYXAocGFyc2VBZ2VudFNraWxsKVxufVxuXG5leHBvcnQgY29uc3QgY3JlYXRlQWdlbnRTa2lsbCA9IGFzeW5jIChhZ2VudElkOiBzdHJpbmcsIHBheWxvYWQ6IEFnZW50U2tpbGxQYXlsb2FkKTogUHJvbWlzZTxBZ2VudFNraWxsPiA9PiB7XG4gIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2hNYWlhKHtcbiAgICBwYXRoOiBgYWdlbnRzLyR7YWdlbnRJZH0vc2tpbGxzYCxcbiAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICBib2R5OiB0b0FwaVBheWxvYWQocGF5bG9hZCksXG4gIH0pXG5cbiAgcmV0dXJuIHBhcnNlQWdlbnRTa2lsbCgoYXdhaXQgcmVzcG9uc2UuanNvbigpKSBhcyBBZ2VudFNraWxsQXBpKVxufVxuXG5leHBvcnQgY29uc3QgdXBkYXRlQWdlbnRTa2lsbCA9IGFzeW5jIChcbiAgYWdlbnRJZDogc3RyaW5nLFxuICBza2lsbElkOiBzdHJpbmcsXG4gIHBheWxvYWQ6IEFnZW50U2tpbGxQYXlsb2FkXG4pOiBQcm9taXNlPEFnZW50U2tpbGw+ID0+IHtcbiAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaE1haWEoe1xuICAgIHBhdGg6IGBhZ2VudHMvJHthZ2VudElkfS9za2lsbHMvJHtza2lsbElkfWAsXG4gICAgbWV0aG9kOiAnUFVUJyxcbiAgICBib2R5OiB0b0FwaVBheWxvYWQocGF5bG9hZCksXG4gIH0pXG5cbiAgcmV0dXJuIHBhcnNlQWdlbnRTa2lsbCgoYXdhaXQgcmVzcG9uc2UuanNvbigpKSBhcyBBZ2VudFNraWxsQXBpKVxufVxuXG5leHBvcnQgY29uc3QgZGVsZXRlQWdlbnRTa2lsbCA9IGFzeW5jIChhZ2VudElkOiBzdHJpbmcsIHNraWxsSWQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4gPT4ge1xuICBhd2FpdCBmZXRjaE1haWEoe1xuICAgIHBhdGg6IGBhZ2VudHMvJHthZ2VudElkfS9za2lsbHMvJHtza2lsbElkfWAsXG4gICAgbWV0aG9kOiAnREVMRVRFJyxcbiAgfSlcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7QUFDQSxTQUFTQSxTQUFTLFFBQVEsV0FBVztBQXFC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
|