@projectcor/maia-components 2.11.15 → 2.11.16
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/components/atoms/ApprovalBox/ApprovalBox.js +16 -96
- package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +24 -26
- package/lib/hooks/useChatManager/useChatManager.js +37 -15
- package/lib/hooks/useOrchestratorStream/useOrchestratorStream.js +14 -7
- package/lib/lang/br/index.js +18 -3
- package/lib/lang/en/index.js +18 -3
- package/lib/lang/es/index.js +16 -1
- package/lib/lang/fr/index.js +3 -1
- package/lib/services/maia/Orchestrator/orchestrator.js +11 -5
- package/lib/types/global.d.js +1 -1
- package/package.json +1 -1
|
@@ -1,15 +1,14 @@
|
|
|
1
|
-
import _typeof from "@babel/runtime/helpers/typeof";
|
|
2
1
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
3
2
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
4
3
|
import { useState, useEffect } from 'react';
|
|
5
4
|
import { CheckCircle } from '@projectcor/icons/lib/components/CheckCircle';
|
|
6
5
|
import { CrossCircle } from '@projectcor/icons/lib/components/CrossCircle';
|
|
7
6
|
import { useTranslation } from 'react-i18next';
|
|
8
|
-
import { SCApprovalBox, SCABHeader, SCABTitle, SCABDescription, SCABActionsList, SCABActionItem, SCABActionName,
|
|
7
|
+
import { SCApprovalBox, SCABHeader, SCABTitle, SCABDescription, SCABActionsList, SCABActionItem, SCABActionName, SCABButtonsContainer, SCABButton, SCABStatusBadge } from './ApprovalBox.styles';
|
|
9
8
|
import { SECTIONS } from '../../../constants/config';
|
|
10
9
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
11
10
|
export var ApprovalBox = function ApprovalBox(_ref) {
|
|
12
|
-
var
|
|
11
|
+
var actions = _ref.actions,
|
|
13
12
|
onApprove = _ref.onApprove,
|
|
14
13
|
onReject = _ref.onReject,
|
|
15
14
|
_ref$status = _ref.status,
|
|
@@ -36,101 +35,16 @@ export var ApprovalBox = function ApprovalBox(_ref) {
|
|
|
36
35
|
var handleApprove = function handleApprove() {
|
|
37
36
|
if (isLoading || localStatus !== 'pending') return;
|
|
38
37
|
setLocalStatus('approved');
|
|
39
|
-
onApprove(
|
|
38
|
+
onApprove(actions.map(function (a) {
|
|
39
|
+
return a.thread_id;
|
|
40
|
+
}));
|
|
40
41
|
};
|
|
41
42
|
var handleReject = function handleReject() {
|
|
42
43
|
if (isLoading || localStatus !== 'pending') return;
|
|
43
44
|
setLocalStatus('rejected');
|
|
44
|
-
onReject(
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
// Manejar tool_args cuando contiene arrays dentro de sus propiedades
|
|
48
|
-
var argsToDisplay = [];
|
|
49
|
-
if (_typeof(action.tool_args) === 'object' && action.tool_args !== null && !Array.isArray(action.tool_args)) {
|
|
50
|
-
// Iterar sobre las propiedades de tool_args
|
|
51
|
-
Object.entries(action.tool_args).forEach(function (_ref2) {
|
|
52
|
-
var _ref3 = _slicedToArray(_ref2, 2),
|
|
53
|
-
key = _ref3[0],
|
|
54
|
-
value = _ref3[1];
|
|
55
|
-
// Filtrar project_id
|
|
56
|
-
if (key === 'project_id') return;
|
|
57
|
-
|
|
58
|
-
// Si el valor es un array, mapear cada elemento
|
|
59
|
-
if (Array.isArray(value)) {
|
|
60
|
-
value.forEach(function (item, itemIndex) {
|
|
61
|
-
if (_typeof(item) === 'object' && item !== null) {
|
|
62
|
-
// Si el item es un objeto, buscar propiedades comunes como 'title', 'name', etc.
|
|
63
|
-
var title = item.title || item.name || item.label;
|
|
64
|
-
if (title) {
|
|
65
|
-
// Si tiene título, mostrarlo directamente
|
|
66
|
-
argsToDisplay.push({
|
|
67
|
-
key: key,
|
|
68
|
-
value: title
|
|
69
|
-
});
|
|
70
|
-
} else {
|
|
71
|
-
// Si no tiene título, mostrar el primer valor del objeto
|
|
72
|
-
var itemEntries = Object.entries(item);
|
|
73
|
-
if (itemEntries.length > 0) {
|
|
74
|
-
var firstEntry = itemEntries[0];
|
|
75
|
-
argsToDisplay.push({
|
|
76
|
-
key: "".concat(key, "[").concat(itemIndex, "]"),
|
|
77
|
-
value: firstEntry[1]
|
|
78
|
-
});
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
} else {
|
|
82
|
-
// Si el item es un valor simple
|
|
83
|
-
argsToDisplay.push({
|
|
84
|
-
key: "".concat(key, "[").concat(itemIndex, "]"),
|
|
85
|
-
value: item
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
|
-
});
|
|
89
|
-
} else {
|
|
90
|
-
// Si no es un array, agregarlo normalmente
|
|
91
|
-
argsToDisplay.push({
|
|
92
|
-
key: key,
|
|
93
|
-
value: value
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
});
|
|
97
|
-
} else if (Array.isArray(action.tool_args)) {
|
|
98
|
-
// Si tool_args es directamente un array (caso menos común)
|
|
99
|
-
action.tool_args.forEach(function (item, idx) {
|
|
100
|
-
if (_typeof(item) === 'object' && item !== null) {
|
|
101
|
-
Object.entries(item).forEach(function (_ref4) {
|
|
102
|
-
var _ref5 = _slicedToArray(_ref4, 2),
|
|
103
|
-
itemKey = _ref5[0],
|
|
104
|
-
itemValue = _ref5[1];
|
|
105
|
-
argsToDisplay.push({
|
|
106
|
-
key: "item_".concat(idx, "_").concat(itemKey),
|
|
107
|
-
value: itemValue
|
|
108
|
-
});
|
|
109
|
-
});
|
|
110
|
-
} else {
|
|
111
|
-
argsToDisplay.push({
|
|
112
|
-
key: "item_".concat(idx),
|
|
113
|
-
value: item
|
|
114
|
-
});
|
|
115
|
-
}
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
|
-
var actionName = t("approvalBox.actions.".concat(action.tool_name.toLowerCase()));
|
|
119
|
-
return /*#__PURE__*/_jsxs(SCABActionItem, {
|
|
120
|
-
children: [/*#__PURE__*/_jsx(SCABActionName, {
|
|
121
|
-
children: actionName
|
|
122
|
-
}), /*#__PURE__*/_jsx(SCABActionArgs, {
|
|
123
|
-
children: argsToDisplay.map(function (_ref6) {
|
|
124
|
-
var key = _ref6.key,
|
|
125
|
-
value = _ref6.value;
|
|
126
|
-
return /*#__PURE__*/_jsx(SCABArgItem, {
|
|
127
|
-
children: /*#__PURE__*/_jsx(SCABArgValue, {
|
|
128
|
-
children: value
|
|
129
|
-
})
|
|
130
|
-
}, "".concat(action.tool_call_id, "-").concat(key, "-").concat(JSON.stringify(value).slice(0, 20)));
|
|
131
|
-
})
|
|
132
|
-
})]
|
|
133
|
-
});
|
|
45
|
+
onReject(actions.map(function (a) {
|
|
46
|
+
return a.thread_id;
|
|
47
|
+
}));
|
|
134
48
|
};
|
|
135
49
|
return /*#__PURE__*/_jsxs(SCApprovalBox, {
|
|
136
50
|
children: [/*#__PURE__*/_jsx(SCABHeader, {
|
|
@@ -141,7 +55,13 @@ export var ApprovalBox = function ApprovalBox(_ref) {
|
|
|
141
55
|
children: t('approvalBox.description')
|
|
142
56
|
}), /*#__PURE__*/_jsx(SCABActionsList, {
|
|
143
57
|
$expanded: isExpanded,
|
|
144
|
-
children:
|
|
58
|
+
children: actions.map(function (action) {
|
|
59
|
+
return /*#__PURE__*/_jsx(SCABActionItem, {
|
|
60
|
+
children: /*#__PURE__*/_jsx(SCABActionName, {
|
|
61
|
+
children: action.display_name || t("approvalBox.actions.".concat(action.tool_name.toLowerCase()))
|
|
62
|
+
})
|
|
63
|
+
}, action.thread_id);
|
|
64
|
+
})
|
|
145
65
|
}), localStatus === 'pending' && !isProjectDeleted && /*#__PURE__*/_jsxs(SCABButtonsContainer, {
|
|
146
66
|
children: [/*#__PURE__*/_jsx(SCABButton, {
|
|
147
67
|
$variant: "reject",
|
|
@@ -172,4 +92,4 @@ export var ApprovalBox = function ApprovalBox(_ref) {
|
|
|
172
92
|
})]
|
|
173
93
|
});
|
|
174
94
|
};
|
|
175
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsIkNoZWNrQ2lyY2xlIiwiQ3Jvc3NDaXJjbGUiLCJ1c2VUcmFuc2xhdGlvbiIsIlNDQXBwcm92YWxCb3giLCJTQ0FCSGVhZGVyIiwiU0NBQlRpdGxlIiwiU0NBQkRlc2NyaXB0aW9uIiwiU0NBQkFjdGlvbnNMaXN0IiwiU0NBQkFjdGlvbkl0ZW0iLCJTQ0FCQWN0aW9uTmFtZSIsIlNDQUJBY3Rpb25BcmdzIiwiU0NBQkFyZ0l0ZW0iLCJTQ0FCQXJnVmFsdWUiLCJTQ0FCQnV0dG9uc0NvbnRhaW5lciIsIlNDQUJCdXR0b24iLCJTQ0FCU3RhdHVzQmFkZ2UiLCJTRUNUSU9OUyIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJGcmFnbWVudCIsIl9GcmFnbWVudCIsIkFwcHJvdmFsQm94IiwiX3JlZiIsImFjdGlvbiIsIm9uQXBwcm92ZSIsIm9uUmVqZWN0IiwiX3JlZiRzdGF0dXMiLCJzdGF0dXMiLCJfcmVmJGlzTG9hZGluZyIsImlzTG9hZGluZyIsIl9yZWYkaXNQcm9qZWN0RGVsZXRlZCIsImlzUHJvamVjdERlbGV0ZWQiLCJfcmVmJGlzRXhwYW5kZWQiLCJpc0V4cGFuZGVkIiwiX3VzZVRyYW5zbGF0aW9uIiwiY2hhdEFJIiwidCIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImxvY2FsU3RhdHVzIiwic2V0TG9jYWxTdGF0dXMiLCJwcmV2IiwiaGFuZGxlQXBwcm92ZSIsInRocmVhZF9pZCIsImhhbmRsZVJlamVjdCIsInJlbmRlckFjdGlvbkl0ZW0iLCJhcmdzVG9EaXNwbGF5IiwiX3R5cGVvZiIsInRvb2xfYXJncyIsIkFycmF5IiwiaXNBcnJheSIsIk9iamVjdCIsImVudHJpZXMiLCJmb3JFYWNoIiwiX3JlZjIiLCJfcmVmMyIsImtleSIsInZhbHVlIiwiaXRlbSIsIml0ZW1JbmRleCIsInRpdGxlIiwibmFtZSIsImxhYmVsIiwicHVzaCIsIml0ZW1FbnRyaWVzIiwibGVuZ3RoIiwiZmlyc3RFbnRyeSIsImNvbmNhdCIsImlkeCIsIl9yZWY0IiwiX3JlZjUiLCJpdGVtS2V5IiwiaXRlbVZhbHVlIiwiYWN0aW9uTmFtZSIsInRvb2xfbmFtZSIsInRvTG93ZXJDYXNlIiwiY2hpbGRyZW4iLCJtYXAiLCJfcmVmNiIsInRvb2xfY2FsbF9pZCIsIkpTT04iLCJzdHJpbmdpZnkiLCJzbGljZSIsIiRleHBhbmRlZCIsIiR2YXJpYW50Iiwib25DbGljayIsIiRkaXNhYmxlZCIsIiRzdGF0dXMiLCJ3aWR0aCIsImhlaWdodCIsImNvbG9yIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYXRvbXMvQXBwcm92YWxCb3gvQXBwcm92YWxCb3gudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbmltcG9ydCB7IHVzZVN0YXRlLCB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IENoZWNrQ2lyY2xlIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvQ2hlY2tDaXJjbGUnXG5pbXBvcnQgeyBDcm9zc0NpcmNsZSB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0Nyb3NzQ2lyY2xlJ1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuaW1wb3J0IHsgUGVuZGluZ0FjdGlvbiB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL0NoYXQnXG5pbXBvcnQge1xuICBTQ0FwcHJvdmFsQm94LFxuICBTQ0FCSGVhZGVyLFxuICBTQ0FCVGl0bGUsXG4gIFNDQUJEZXNjcmlwdGlvbixcbiAgU0NBQkFjdGlvbnNMaXN0LFxuICBTQ0FCQWN0aW9uSXRlbSxcbiAgU0NBQkFjdGlvbk5hbWUsXG4gIFNDQUJBY3Rpb25BcmdzLFxuICBTQ0FCQXJnSXRlbSxcbiAgU0NBQkFyZ1ZhbHVlLFxuICBTQ0FCQnV0dG9uc0NvbnRhaW5lcixcbiAgU0NBQkJ1dHRvbixcbiAgU0NBQlN0YXR1c0JhZGdlLFxufSBmcm9tICcuL0FwcHJvdmFsQm94LnN0eWxlcydcbmltcG9ydCB7IFNFQ1RJT05TIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RhbnRzL2NvbmZpZydcblxuaW50ZXJmYWNlIEFwcHJvdmFsQm94UHJvcHMge1xuICBhY3Rpb246IFBlbmRpbmdBY3Rpb24gLy8gU2luZ2xlIGFjdGlvbiBpbnN0ZWFkIG9mIGZ1bGwgYXBwcm92YWxcbiAgb25BcHByb3ZlOiAodGhyZWFkSWQ6IHN0cmluZykgPT4gdm9pZFxuICBvblJlamVjdDogKHRocmVhZElkOiBzdHJpbmcpID0+IHZvaWRcbiAgc3RhdHVzPzogJ3BlbmRpbmcnIHwgJ2FwcHJvdmVkJyB8ICdyZWplY3RlZCdcbiAgaXNMb2FkaW5nPzogYm9vbGVhblxuICAvKiogU2kgZWwgY2hhdC9wcm95ZWN0byBlc3TDoSBlbGltaW5hZG8sIHNlIG9jdWx0YW4gbG9zIGJvdG9uZXMgZGUgYXByb2Jhci9yZWNoYXphciAqL1xuICBpc1Byb2plY3REZWxldGVkPzogYm9vbGVhblxuICAvKiogU2kgZWwgY2hhdCBlc3TDoSBleHBhbmRpZG8gKHRydWUpIG8gY29sYXBzYWRvIChmYWxzZSkuIEFmZWN0YSBlbCBhbmNobyBkZWwgY29udGVuZWRvci4gKi9cbiAgaXNFeHBhbmRlZD86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGNvbnN0IEFwcHJvdmFsQm94ID0gKHtcbiAgYWN0aW9uLFxuICBvbkFwcHJvdmUsXG4gIG9uUmVqZWN0LFxuICBzdGF0dXMgPSAncGVuZGluZycsXG4gIGlzTG9hZGluZyA9IGZhbHNlLFxuICBpc1Byb2plY3REZWxldGVkID0gZmFsc2UsXG4gIGlzRXhwYW5kZWQgPSBmYWxzZSxcbn06IEFwcHJvdmFsQm94UHJvcHMpID0+IHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbihbU0VDVElPTlMuY2hhdEFJXSlcbiAgY29uc3QgW2xvY2FsU3RhdHVzLCBzZXRMb2NhbFN0YXR1c10gPSB1c2VTdGF0ZTwncGVuZGluZycgfCAnYXBwcm92ZWQnIHwgJ3JlamVjdGVkJz4oc3RhdHVzKVxuXG4gIC8vIFNpbmNyb25pemFyIGxvY2FsU3RhdHVzIGNvbiBlbCBwcm9wIHN0YXR1cyBjdWFuZG8gY2FtYmlhIGRlc2RlIGVsIHBhZHJlIChzb2xvIHBvciB2YWx1ZSwgZXZpdGEgYnVjbGVzKVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHNldExvY2FsU3RhdHVzKHByZXYgPT4gKHByZXYgIT09IHN0YXR1cyA/IHN0YXR1cyA6IHByZXYpKVxuICB9LCBbc3RhdHVzXSlcblxuICBjb25zdCBoYW5kbGVBcHByb3ZlID0gKCkgPT4ge1xuICAgIGlmIChpc0xvYWRpbmcgfHwgbG9jYWxTdGF0dXMgIT09ICdwZW5kaW5nJykgcmV0dXJuXG4gICAgc2V0TG9jYWxTdGF0dXMoJ2FwcHJvdmVkJylcbiAgICBvbkFwcHJvdmUoYWN0aW9uLnRocmVhZF9pZClcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZVJlamVjdCA9ICgpID0+IHtcbiAgICBpZiAoaXNMb2FkaW5nIHx8IGxvY2FsU3RhdHVzICE9PSAncGVuZGluZycpIHJldHVyblxuICAgIHNldExvY2FsU3RhdHVzKCdyZWplY3RlZCcpXG4gICAgb25SZWplY3QoYWN0aW9uLnRocmVhZF9pZClcbiAgfVxuXG4gIGNvbnN0IHJlbmRlckFjdGlvbkl0ZW0gPSAoKSA9PiB7XG4gICAgLy8gTWFuZWphciB0b29sX2FyZ3MgY3VhbmRvIGNvbnRpZW5lIGFycmF5cyBkZW50cm8gZGUgc3VzIHByb3BpZWRhZGVzXG4gICAgY29uc3QgYXJnc1RvRGlzcGxheTogQXJyYXk8eyBrZXk6IHN0cmluZzsgdmFsdWU6IGFueSB9PiA9IFtdXG5cbiAgICBpZiAodHlwZW9mIGFjdGlvbi50b29sX2FyZ3MgPT09ICdvYmplY3QnICYmIGFjdGlvbi50b29sX2FyZ3MgIT09IG51bGwgJiYgIUFycmF5LmlzQXJyYXkoYWN0aW9uLnRvb2xfYXJncykpIHtcbiAgICAgIC8vIEl0ZXJhciBzb2JyZSBsYXMgcHJvcGllZGFkZXMgZGUgdG9vbF9hcmdzXG4gICAgICBPYmplY3QuZW50cmllcyhhY3Rpb24udG9vbF9hcmdzKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgICAgLy8gRmlsdHJhciBwcm9qZWN0X2lkXG4gICAgICAgIGlmIChrZXkgPT09ICdwcm9qZWN0X2lkJykgcmV0dXJuXG5cbiAgICAgICAgLy8gU2kgZWwgdmFsb3IgZXMgdW4gYXJyYXksIG1hcGVhciBjYWRhIGVsZW1lbnRvXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgIHZhbHVlLmZvckVhY2goKGl0ZW0sIGl0ZW1JbmRleCkgPT4ge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBpdGVtID09PSAnb2JqZWN0JyAmJiBpdGVtICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgIC8vIFNpIGVsIGl0ZW0gZXMgdW4gb2JqZXRvLCBidXNjYXIgcHJvcGllZGFkZXMgY29tdW5lcyBjb21vICd0aXRsZScsICduYW1lJywgZXRjLlxuICAgICAgICAgICAgICBjb25zdCB0aXRsZSA9IGl0ZW0udGl0bGUgfHwgaXRlbS5uYW1lIHx8IGl0ZW0ubGFiZWxcbiAgICAgICAgICAgICAgaWYgKHRpdGxlKSB7XG4gICAgICAgICAgICAgICAgLy8gU2kgdGllbmUgdMOtdHVsbywgbW9zdHJhcmxvIGRpcmVjdGFtZW50ZVxuICAgICAgICAgICAgICAgIGFyZ3NUb0Rpc3BsYXkucHVzaCh7XG4gICAgICAgICAgICAgICAgICBrZXksXG4gICAgICAgICAgICAgICAgICB2YWx1ZTogdGl0bGUsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBTaSBubyB0aWVuZSB0w610dWxvLCBtb3N0cmFyIGVsIHByaW1lciB2YWxvciBkZWwgb2JqZXRvXG4gICAgICAgICAgICAgICAgY29uc3QgaXRlbUVudHJpZXMgPSBPYmplY3QuZW50cmllcyhpdGVtKVxuICAgICAgICAgICAgICAgIGlmIChpdGVtRW50cmllcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICBjb25zdCBmaXJzdEVudHJ5ID0gaXRlbUVudHJpZXNbMF1cbiAgICAgICAgICAgICAgICAgIGFyZ3NUb0Rpc3BsYXkucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIGtleTogYCR7a2V5fVske2l0ZW1JbmRleH1dYCxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGZpcnN0RW50cnlbMV0sXG4gICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgLy8gU2kgZWwgaXRlbSBlcyB1biB2YWxvciBzaW1wbGVcbiAgICAgICAgICAgICAgYXJnc1RvRGlzcGxheS5wdXNoKHtcbiAgICAgICAgICAgICAgICBrZXk6IGAke2tleX1bJHtpdGVtSW5kZXh9XWAsXG4gICAgICAgICAgICAgICAgdmFsdWU6IGl0ZW0sXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBTaSBubyBlcyB1biBhcnJheSwgYWdyZWdhcmxvIG5vcm1hbG1lbnRlXG4gICAgICAgICAgYXJnc1RvRGlzcGxheS5wdXNoKHsga2V5LCB2YWx1ZSB9KVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShhY3Rpb24udG9vbF9hcmdzKSkge1xuICAgICAgLy8gU2kgdG9vbF9hcmdzIGVzIGRpcmVjdGFtZW50ZSB1biBhcnJheSAoY2FzbyBtZW5vcyBjb23Dum4pXG4gICAgICBhY3Rpb24udG9vbF9hcmdzLmZvckVhY2goKGl0ZW0sIGlkeCkgPT4ge1xuICAgICAgICBpZiAodHlwZW9mIGl0ZW0gPT09ICdvYmplY3QnICYmIGl0ZW0gIT09IG51bGwpIHtcbiAgICAgICAgICBPYmplY3QuZW50cmllcyhpdGVtKS5mb3JFYWNoKChbaXRlbUtleSwgaXRlbVZhbHVlXSkgPT4ge1xuICAgICAgICAgICAgYXJnc1RvRGlzcGxheS5wdXNoKHtcbiAgICAgICAgICAgICAga2V5OiBgaXRlbV8ke2lkeH1fJHtpdGVtS2V5fWAsXG4gICAgICAgICAgICAgIHZhbHVlOiBpdGVtVmFsdWUsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH0pXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYXJnc1RvRGlzcGxheS5wdXNoKHtcbiAgICAgICAgICAgIGtleTogYGl0ZW1fJHtpZHh9YCxcbiAgICAgICAgICAgIHZhbHVlOiBpdGVtLFxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfVxuICAgIGNvbnN0IGFjdGlvbk5hbWUgPSB0KGBhcHByb3ZhbEJveC5hY3Rpb25zLiR7YWN0aW9uLnRvb2xfbmFtZS50b0xvd2VyQ2FzZSgpfWApXG5cbiAgICByZXR1cm4gKFxuICAgICAgPFNDQUJBY3Rpb25JdGVtPlxuICAgICAgICA8U0NBQkFjdGlvbk5hbWU+e2FjdGlvbk5hbWV9PC9TQ0FCQWN0aW9uTmFtZT5cbiAgICAgICAgPFNDQUJBY3Rpb25BcmdzPlxuICAgICAgICAgIHthcmdzVG9EaXNwbGF5Lm1hcCgoeyBrZXksIHZhbHVlIH0pID0+IChcbiAgICAgICAgICAgIDxTQ0FCQXJnSXRlbSBrZXk9e2Ake2FjdGlvbi50b29sX2NhbGxfaWR9LSR7a2V5fS0ke0pTT04uc3RyaW5naWZ5KHZhbHVlKS5zbGljZSgwLCAyMCl9YH0+XG4gICAgICAgICAgICAgIDxTQ0FCQXJnVmFsdWU+e3ZhbHVlfTwvU0NBQkFyZ1ZhbHVlPlxuICAgICAgICAgICAgPC9TQ0FCQXJnSXRlbT5cbiAgICAgICAgICApKX1cbiAgICAgICAgPC9TQ0FCQWN0aW9uQXJncz5cbiAgICAgIDwvU0NBQkFjdGlvbkl0ZW0+XG4gICAgKVxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8U0NBcHByb3ZhbEJveD5cbiAgICAgIDxTQ0FCSGVhZGVyPlxuICAgICAgICA8U0NBQlRpdGxlPnt0KCdhcHByb3ZhbEJveC50aXRsZScpfTwvU0NBQlRpdGxlPlxuICAgICAgPC9TQ0FCSGVhZGVyPlxuXG4gICAgICA8U0NBQkRlc2NyaXB0aW9uPnt0KCdhcHByb3ZhbEJveC5kZXNjcmlwdGlvbicpfTwvU0NBQkRlc2NyaXB0aW9uPlxuXG4gICAgICA8U0NBQkFjdGlvbnNMaXN0ICRleHBhbmRlZD17aXNFeHBhbmRlZH0+e3JlbmRlckFjdGlvbkl0ZW0oKX08L1NDQUJBY3Rpb25zTGlzdD5cblxuICAgICAge2xvY2FsU3RhdHVzID09PSAncGVuZGluZycgJiYgIWlzUHJvamVjdERlbGV0ZWQgJiYgKFxuICAgICAgICA8U0NBQkJ1dHRvbnNDb250YWluZXI+XG4gICAgICAgICAgPFNDQUJCdXR0b24gJHZhcmlhbnQ9XCJyZWplY3RcIiBvbkNsaWNrPXtoYW5kbGVSZWplY3R9ICRkaXNhYmxlZD17aXNMb2FkaW5nfT5cbiAgICAgICAgICAgIHt0KCdhcHByb3ZhbEJveC5kZW55Jyl9XG4gICAgICAgICAgPC9TQ0FCQnV0dG9uPlxuICAgICAgICAgIDxTQ0FCQnV0dG9uICR2YXJpYW50PVwiYXBwcm92ZVwiIG9uQ2xpY2s9e2hhbmRsZUFwcHJvdmV9ICRkaXNhYmxlZD17aXNMb2FkaW5nfT5cbiAgICAgICAgICAgIHt0KCdhcHByb3ZhbEJveC5hcHByb3ZlJyl9XG4gICAgICAgICAgPC9TQ0FCQnV0dG9uPlxuICAgICAgICA8L1NDQUJCdXR0b25zQ29udGFpbmVyPlxuICAgICAgKX1cbiAgICAgIHtsb2NhbFN0YXR1cyAhPT0gJ3BlbmRpbmcnICYmIChcbiAgICAgICAgPFNDQUJTdGF0dXNCYWRnZSAkc3RhdHVzPXtsb2NhbFN0YXR1c30+XG4gICAgICAgICAge2xvY2FsU3RhdHVzID09PSAnYXBwcm92ZWQnID8gKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPENoZWNrQ2lyY2xlIHdpZHRoPXsyMn0gaGVpZ2h0PXsyMn0gY29sb3I9XCIjMDA4NDAwXCIgLz5cbiAgICAgICAgICAgICAge3QoJ2FwcHJvdmFsQm94LnN0YXR1cy5hcHByb3ZlZCcpfVxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxDcm9zc0NpcmNsZSB3aWR0aD17MjJ9IGhlaWdodD17MjJ9IGNvbG9yPVwiI0M3MDUwNVwiIC8+XG4gICAgICAgICAgICAgIHt0KCdhcHByb3ZhbEJveC5zdGF0dXMuZGVuaWVkJyl9XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1NDQUJTdGF0dXNCYWRnZT5cbiAgICAgICl9XG4gICAgPC9TQ0FwcHJvdmFsQm94PlxuICApXG59XG4iXSwibWFwcGluZ3MiOiI7O0FBQUE7QUFDQSxTQUFTQSxRQUFRLEVBQUVDLFNBQVMsUUFBUSxPQUFPO0FBQzNDLFNBQVNDLFdBQVcsUUFBUSw4Q0FBOEM7QUFDMUUsU0FBU0MsV0FBVyxRQUFRLDhDQUE4QztBQUMxRSxTQUFTQyxjQUFjLFFBQVEsZUFBZTtBQUU5QyxTQUNFQyxhQUFhLEVBQ2JDLFVBQVUsRUFDVkMsU0FBUyxFQUNUQyxlQUFlLEVBQ2ZDLGVBQWUsRUFDZkMsY0FBYyxFQUNkQyxjQUFjLEVBQ2RDLGNBQWMsRUFDZEMsV0FBVyxFQUNYQyxZQUFZLEVBQ1pDLG9CQUFvQixFQUNwQkMsVUFBVSxFQUNWQyxlQUFlLFFBQ1Ysc0JBQXNCO0FBQzdCLFNBQVNDLFFBQVEsUUFBUSwyQkFBMkI7QUFBQSxTQUFBQyxHQUFBLElBQUFDLElBQUEsRUFBQUMsSUFBQSxJQUFBQyxLQUFBLEVBQUFDLFFBQUEsSUFBQUMsU0FBQTtBQWNwRCxPQUFPLElBQU1DLFdBQVcsR0FBRyxTQUFkQSxXQUFXQSxDQUFBQyxJQUFBLEVBUUE7RUFBQSxJQVB0QkMsTUFBTSxHQUFBRCxJQUFBLENBQU5DLE1BQU07SUFDTkMsU0FBUyxHQUFBRixJQUFBLENBQVRFLFNB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
|
|
95
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsIkNoZWNrQ2lyY2xlIiwiQ3Jvc3NDaXJjbGUiLCJ1c2VUcmFuc2xhdGlvbiIsIlNDQXBwcm92YWxCb3giLCJTQ0FCSGVhZGVyIiwiU0NBQlRpdGxlIiwiU0NBQkRlc2NyaXB0aW9uIiwiU0NBQkFjdGlvbnNMaXN0IiwiU0NBQkFjdGlvbkl0ZW0iLCJTQ0FCQWN0aW9uTmFtZSIsIlNDQUJCdXR0b25zQ29udGFpbmVyIiwiU0NBQkJ1dHRvbiIsIlNDQUJTdGF0dXNCYWRnZSIsIlNFQ1RJT05TIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIkZyYWdtZW50IiwiX0ZyYWdtZW50IiwiQXBwcm92YWxCb3giLCJfcmVmIiwiYWN0aW9ucyIsIm9uQXBwcm92ZSIsIm9uUmVqZWN0IiwiX3JlZiRzdGF0dXMiLCJzdGF0dXMiLCJfcmVmJGlzTG9hZGluZyIsImlzTG9hZGluZyIsIl9yZWYkaXNQcm9qZWN0RGVsZXRlZCIsImlzUHJvamVjdERlbGV0ZWQiLCJfcmVmJGlzRXhwYW5kZWQiLCJpc0V4cGFuZGVkIiwiX3VzZVRyYW5zbGF0aW9uIiwiY2hhdEFJIiwidCIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImxvY2FsU3RhdHVzIiwic2V0TG9jYWxTdGF0dXMiLCJwcmV2IiwiaGFuZGxlQXBwcm92ZSIsIm1hcCIsImEiLCJ0aHJlYWRfaWQiLCJoYW5kbGVSZWplY3QiLCJjaGlsZHJlbiIsIiRleHBhbmRlZCIsImFjdGlvbiIsImRpc3BsYXlfbmFtZSIsImNvbmNhdCIsInRvb2xfbmFtZSIsInRvTG93ZXJDYXNlIiwiJHZhcmlhbnQiLCJvbkNsaWNrIiwiJGRpc2FibGVkIiwiJHN0YXR1cyIsIndpZHRoIiwiaGVpZ2h0IiwiY29sb3IiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9hdG9tcy9BcHByb3ZhbEJveC9BcHByb3ZhbEJveC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHsgdXNlU3RhdGUsIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgQ2hlY2tDaXJjbGUgfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9DaGVja0NpcmNsZSdcbmltcG9ydCB7IENyb3NzQ2lyY2xlIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvQ3Jvc3NDaXJjbGUnXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5pbXBvcnQgeyBQZW5kaW5nQWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvQ2hhdCdcbmltcG9ydCB7XG4gIFNDQXBwcm92YWxCb3gsXG4gIFNDQUJIZWFkZXIsXG4gIFNDQUJUaXRsZSxcbiAgU0NBQkRlc2NyaXB0aW9uLFxuICBTQ0FCQWN0aW9uc0xpc3QsXG4gIFNDQUJBY3Rpb25JdGVtLFxuICBTQ0FCQWN0aW9uTmFtZSxcbiAgU0NBQkJ1dHRvbnNDb250YWluZXIsXG4gIFNDQUJCdXR0b24sXG4gIFNDQUJTdGF0dXNCYWRnZSxcbn0gZnJvbSAnLi9BcHByb3ZhbEJveC5zdHlsZXMnXG5pbXBvcnQgeyBTRUNUSU9OUyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy9jb25maWcnXG5cbmludGVyZmFjZSBBcHByb3ZhbEJveFByb3BzIHtcbiAgYWN0aW9uczogUGVuZGluZ0FjdGlvbltdXG4gIG9uQXBwcm92ZTogKHRocmVhZElkczogc3RyaW5nW10pID0+IHZvaWRcbiAgb25SZWplY3Q6ICh0aHJlYWRJZHM6IHN0cmluZ1tdKSA9PiB2b2lkXG4gIHN0YXR1cz86ICdwZW5kaW5nJyB8ICdhcHByb3ZlZCcgfCAncmVqZWN0ZWQnXG4gIGlzTG9hZGluZz86IGJvb2xlYW5cbiAgLyoqIFNpIGVsIGNoYXQvcHJveWVjdG8gZXN0w6EgZWxpbWluYWRvLCBzZSBvY3VsdGFuIGxvcyBib3RvbmVzIGRlIGFwcm9iYXIvcmVjaGF6YXIgKi9cbiAgaXNQcm9qZWN0RGVsZXRlZD86IGJvb2xlYW5cbiAgLyoqIFNpIGVsIGNoYXQgZXN0w6EgZXhwYW5kaWRvICh0cnVlKSBvIGNvbGFwc2FkbyAoZmFsc2UpLiBBZmVjdGEgZWwgYW5jaG8gZGVsIGNvbnRlbmVkb3IuICovXG4gIGlzRXhwYW5kZWQ/OiBib29sZWFuXG59XG5cbmV4cG9ydCBjb25zdCBBcHByb3ZhbEJveCA9ICh7XG4gIGFjdGlvbnMsXG4gIG9uQXBwcm92ZSxcbiAgb25SZWplY3QsXG4gIHN0YXR1cyA9ICdwZW5kaW5nJyxcbiAgaXNMb2FkaW5nID0gZmFsc2UsXG4gIGlzUHJvamVjdERlbGV0ZWQgPSBmYWxzZSxcbiAgaXNFeHBhbmRlZCA9IGZhbHNlLFxufTogQXBwcm92YWxCb3hQcm9wcykgPT4ge1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKFtTRUNUSU9OUy5jaGF0QUldKVxuICBjb25zdCBbbG9jYWxTdGF0dXMsIHNldExvY2FsU3RhdHVzXSA9IHVzZVN0YXRlPCdwZW5kaW5nJyB8ICdhcHByb3ZlZCcgfCAncmVqZWN0ZWQnPihzdGF0dXMpXG5cbiAgLy8gU2luY3Jvbml6YXIgbG9jYWxTdGF0dXMgY29uIGVsIHByb3Agc3RhdHVzIGN1YW5kbyBjYW1iaWEgZGVzZGUgZWwgcGFkcmUgKHNvbG8gcG9yIHZhbHVlLCBldml0YSBidWNsZXMpXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc2V0TG9jYWxTdGF0dXMocHJldiA9PiAocHJldiAhPT0gc3RhdHVzID8gc3RhdHVzIDogcHJldikpXG4gIH0sIFtzdGF0dXNdKVxuXG4gIGNvbnN0IGhhbmRsZUFwcHJvdmUgPSAoKSA9PiB7XG4gICAgaWYgKGlzTG9hZGluZyB8fCBsb2NhbFN0YXR1cyAhPT0gJ3BlbmRpbmcnKSByZXR1cm5cbiAgICBzZXRMb2NhbFN0YXR1cygnYXBwcm92ZWQnKVxuICAgIG9uQXBwcm92ZShhY3Rpb25zLm1hcChhID0+IGEudGhyZWFkX2lkKSlcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZVJlamVjdCA9ICgpID0+IHtcbiAgICBpZiAoaXNMb2FkaW5nIHx8IGxvY2FsU3RhdHVzICE9PSAncGVuZGluZycpIHJldHVyblxuICAgIHNldExvY2FsU3RhdHVzKCdyZWplY3RlZCcpXG4gICAgb25SZWplY3QoYWN0aW9ucy5tYXAoYSA9PiBhLnRocmVhZF9pZCkpXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxTQ0FwcHJvdmFsQm94PlxuICAgICAgPFNDQUJIZWFkZXI+XG4gICAgICAgIDxTQ0FCVGl0bGU+e3QoJ2FwcHJvdmFsQm94LnRpdGxlJyl9PC9TQ0FCVGl0bGU+XG4gICAgICA8L1NDQUJIZWFkZXI+XG5cbiAgICAgIDxTQ0FCRGVzY3JpcHRpb24+e3QoJ2FwcHJvdmFsQm94LmRlc2NyaXB0aW9uJyl9PC9TQ0FCRGVzY3JpcHRpb24+XG5cbiAgICAgIDxTQ0FCQWN0aW9uc0xpc3QgJGV4cGFuZGVkPXtpc0V4cGFuZGVkfT5cbiAgICAgICAge2FjdGlvbnMubWFwKGFjdGlvbiA9PiAoXG4gICAgICAgICAgPFNDQUJBY3Rpb25JdGVtIGtleT17YWN0aW9uLnRocmVhZF9pZH0+XG4gICAgICAgICAgICA8U0NBQkFjdGlvbk5hbWU+XG4gICAgICAgICAgICAgIHsoYWN0aW9uIGFzIGFueSkuZGlzcGxheV9uYW1lIHx8IHQoYGFwcHJvdmFsQm94LmFjdGlvbnMuJHthY3Rpb24udG9vbF9uYW1lLnRvTG93ZXJDYXNlKCl9YCl9XG4gICAgICAgICAgICA8L1NDQUJBY3Rpb25OYW1lPlxuICAgICAgICAgIDwvU0NBQkFjdGlvbkl0ZW0+XG4gICAgICAgICkpfVxuICAgICAgPC9TQ0FCQWN0aW9uc0xpc3Q+XG5cbiAgICAgIHtsb2NhbFN0YXR1cyA9PT0gJ3BlbmRpbmcnICYmICFpc1Byb2plY3REZWxldGVkICYmIChcbiAgICAgICAgPFNDQUJCdXR0b25zQ29udGFpbmVyPlxuICAgICAgICAgIDxTQ0FCQnV0dG9uICR2YXJpYW50PVwicmVqZWN0XCIgb25DbGljaz17aGFuZGxlUmVqZWN0fSAkZGlzYWJsZWQ9e2lzTG9hZGluZ30+XG4gICAgICAgICAgICB7dCgnYXBwcm92YWxCb3guZGVueScpfVxuICAgICAgICAgIDwvU0NBQkJ1dHRvbj5cbiAgICAgICAgICA8U0NBQkJ1dHRvbiAkdmFyaWFudD1cImFwcHJvdmVcIiBvbkNsaWNrPXtoYW5kbGVBcHByb3ZlfSAkZGlzYWJsZWQ9e2lzTG9hZGluZ30+XG4gICAgICAgICAgICB7dCgnYXBwcm92YWxCb3guYXBwcm92ZScpfVxuICAgICAgICAgIDwvU0NBQkJ1dHRvbj5cbiAgICAgICAgPC9TQ0FCQnV0dG9uc0NvbnRhaW5lcj5cbiAgICAgICl9XG4gICAgICB7bG9jYWxTdGF0dXMgIT09ICdwZW5kaW5nJyAmJiAoXG4gICAgICAgIDxTQ0FCU3RhdHVzQmFkZ2UgJHN0YXR1cz17bG9jYWxTdGF0dXN9PlxuICAgICAgICAgIHtsb2NhbFN0YXR1cyA9PT0gJ2FwcHJvdmVkJyA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxDaGVja0NpcmNsZSB3aWR0aD17MjJ9IGhlaWdodD17MjJ9IGNvbG9yPVwiIzAwODQwMFwiIC8+XG4gICAgICAgICAgICAgIHt0KCdhcHByb3ZhbEJveC5zdGF0dXMuYXBwcm92ZWQnKX1cbiAgICAgICAgICAgIDwvPlxuICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICA8PlxuICAgICAgICAgICAgICA8Q3Jvc3NDaXJjbGUgd2lkdGg9ezIyfSBoZWlnaHQ9ezIyfSBjb2xvcj1cIiNDNzA1MDVcIiAvPlxuICAgICAgICAgICAgICB7dCgnYXBwcm92YWxCb3guc3RhdHVzLmRlbmllZCcpfVxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9TQ0FCU3RhdHVzQmFkZ2U+XG4gICAgICApfVxuICAgIDwvU0NBcHByb3ZhbEJveD5cbiAgKVxufVxuIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFDQSxTQUFTQSxRQUFR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
|