@trops/dash-core 0.1.516 → 0.1.517
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/dist/index.esm.js +783 -411
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +783 -411
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.esm.js
CHANGED
|
@@ -3130,9 +3130,9 @@ var LayoutContainer = function LayoutContainer(_ref) {
|
|
|
3130
3130
|
|
|
3131
3131
|
function ownKeys$_(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3132
3132
|
function _objectSpread$_(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$_(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$_(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
3133
|
-
function _createForOfIteratorHelper$
|
|
3134
|
-
function _unsupportedIterableToArray$
|
|
3135
|
-
function _arrayLikeToArray$
|
|
3133
|
+
function _createForOfIteratorHelper$C(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$C(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
3134
|
+
function _unsupportedIterableToArray$C(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$C(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$C(r, a) : void 0; } }
|
|
3135
|
+
function _arrayLikeToArray$C(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; }
|
|
3136
3136
|
/**
|
|
3137
3137
|
* Layout template definitions for the dashboard template picker.
|
|
3138
3138
|
*
|
|
@@ -3406,7 +3406,7 @@ function createLayoutFromTemplate(template) {
|
|
|
3406
3406
|
cols: template.cols,
|
|
3407
3407
|
gap: "gap-2"
|
|
3408
3408
|
};
|
|
3409
|
-
var _iterator = _createForOfIteratorHelper$
|
|
3409
|
+
var _iterator = _createForOfIteratorHelper$C(template.cells),
|
|
3410
3410
|
_step;
|
|
3411
3411
|
try {
|
|
3412
3412
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -4587,9 +4587,9 @@ var DashboardInstallOptionsModal = function DashboardInstallOptionsModal(_ref) {
|
|
|
4587
4587
|
});
|
|
4588
4588
|
};
|
|
4589
4589
|
|
|
4590
|
-
function _createForOfIteratorHelper$
|
|
4591
|
-
function _unsupportedIterableToArray$
|
|
4592
|
-
function _arrayLikeToArray$
|
|
4590
|
+
function _createForOfIteratorHelper$B(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$B(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
4591
|
+
function _unsupportedIterableToArray$B(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$B(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$B(r, a) : void 0; } }
|
|
4592
|
+
function _arrayLikeToArray$B(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; }
|
|
4593
4593
|
function ownKeys$Z(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
4594
4594
|
function _objectSpread$Z(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$Z(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$Z(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4595
4595
|
var RegistryDashboardDetail = function RegistryDashboardDetail(_ref) {
|
|
@@ -4947,7 +4947,7 @@ var RegistryDashboardDetail = function RegistryDashboardDetail(_ref) {
|
|
|
4947
4947
|
toInstall = 0,
|
|
4948
4948
|
unavailable = 0,
|
|
4949
4949
|
hasUnavailableRequired = false;
|
|
4950
|
-
var _iterator = _createForOfIteratorHelper$
|
|
4950
|
+
var _iterator = _createForOfIteratorHelper$B(widgetDeps),
|
|
4951
4951
|
_step;
|
|
4952
4952
|
try {
|
|
4953
4953
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -6592,9 +6592,9 @@ function cleanIpcError(message) {
|
|
|
6592
6592
|
return match ? match[1] : message;
|
|
6593
6593
|
}
|
|
6594
6594
|
|
|
6595
|
-
function _createForOfIteratorHelper$
|
|
6596
|
-
function _unsupportedIterableToArray$
|
|
6597
|
-
function _arrayLikeToArray$
|
|
6595
|
+
function _createForOfIteratorHelper$A(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$A(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
6596
|
+
function _unsupportedIterableToArray$A(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$A(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$A(r, a) : void 0; } }
|
|
6597
|
+
function _arrayLikeToArray$A(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; }
|
|
6598
6598
|
|
|
6599
6599
|
/**
|
|
6600
6600
|
* useRegistrySearch — shared hook for browsing and installing registry packages.
|
|
@@ -6708,13 +6708,13 @@ var useRegistrySearch = function useRegistrySearch() {
|
|
|
6708
6708
|
return c.toLowerCase();
|
|
6709
6709
|
}));
|
|
6710
6710
|
widgets = [];
|
|
6711
|
-
_iterator = _createForOfIteratorHelper$
|
|
6711
|
+
_iterator = _createForOfIteratorHelper$A(pkgs);
|
|
6712
6712
|
try {
|
|
6713
6713
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
6714
6714
|
pkg = _step.value;
|
|
6715
6715
|
// Compute missing APIs for the entire package
|
|
6716
6716
|
allApiProviders = [];
|
|
6717
|
-
_iterator2 = _createForOfIteratorHelper$
|
|
6717
|
+
_iterator2 = _createForOfIteratorHelper$A(pkg.providers || []);
|
|
6718
6718
|
try {
|
|
6719
6719
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
6720
6720
|
p = _step2.value;
|
|
@@ -6727,11 +6727,11 @@ var useRegistrySearch = function useRegistrySearch() {
|
|
|
6727
6727
|
} finally {
|
|
6728
6728
|
_iterator2.f();
|
|
6729
6729
|
}
|
|
6730
|
-
_iterator3 = _createForOfIteratorHelper$
|
|
6730
|
+
_iterator3 = _createForOfIteratorHelper$A(pkg.widgets || []);
|
|
6731
6731
|
try {
|
|
6732
6732
|
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
6733
6733
|
w = _step3.value;
|
|
6734
|
-
_iterator5 = _createForOfIteratorHelper$
|
|
6734
|
+
_iterator5 = _createForOfIteratorHelper$A(w.providers || []);
|
|
6735
6735
|
try {
|
|
6736
6736
|
for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
|
|
6737
6737
|
_p = _step5.value;
|
|
@@ -6753,7 +6753,7 @@ var useRegistrySearch = function useRegistrySearch() {
|
|
|
6753
6753
|
missingApis = _toConsumableArray(new Set(allApiProviders)).filter(function (api) {
|
|
6754
6754
|
return !capSet.has(api.toLowerCase());
|
|
6755
6755
|
});
|
|
6756
|
-
_iterator4 = _createForOfIteratorHelper$
|
|
6756
|
+
_iterator4 = _createForOfIteratorHelper$A(pkg.widgets || []);
|
|
6757
6757
|
try {
|
|
6758
6758
|
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
6759
6759
|
widget = _step4.value;
|
|
@@ -7460,9 +7460,9 @@ function applyFilters(items, filters, mode) {
|
|
|
7460
7460
|
});
|
|
7461
7461
|
}
|
|
7462
7462
|
|
|
7463
|
-
function _createForOfIteratorHelper$
|
|
7464
|
-
function _unsupportedIterableToArray$
|
|
7465
|
-
function _arrayLikeToArray$
|
|
7463
|
+
function _createForOfIteratorHelper$z(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$z(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
7464
|
+
function _unsupportedIterableToArray$z(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$z(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$z(r, a) : void 0; } }
|
|
7465
|
+
function _arrayLikeToArray$z(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; }
|
|
7466
7466
|
var WizardCustomizeStep = function WizardCustomizeStep(_ref) {
|
|
7467
7467
|
var _state$selectedDashbo, _state$selectedDashbo2;
|
|
7468
7468
|
var state = _ref.state,
|
|
@@ -7681,7 +7681,7 @@ var WizardCustomizeStep = function WizardCustomizeStep(_ref) {
|
|
|
7681
7681
|
installedNames = new Set(installedList.map(function (w) {
|
|
7682
7682
|
return w.name;
|
|
7683
7683
|
}));
|
|
7684
|
-
_iterator = _createForOfIteratorHelper$
|
|
7684
|
+
_iterator = _createForOfIteratorHelper$z(state.selectedWidgets);
|
|
7685
7685
|
_context2.prev = 12;
|
|
7686
7686
|
_iterator.s();
|
|
7687
7687
|
case 13:
|
|
@@ -9251,9 +9251,9 @@ var PanelEditItem = function PanelEditItem(_ref) {
|
|
|
9251
9251
|
};
|
|
9252
9252
|
|
|
9253
9253
|
var _excluded$6 = ["rows", "cols"];
|
|
9254
|
-
function _createForOfIteratorHelper$
|
|
9255
|
-
function _unsupportedIterableToArray$
|
|
9256
|
-
function _arrayLikeToArray$
|
|
9254
|
+
function _createForOfIteratorHelper$y(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$y(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
9255
|
+
function _unsupportedIterableToArray$y(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$y(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$y(r, a) : void 0; } }
|
|
9256
|
+
function _arrayLikeToArray$y(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; }
|
|
9257
9257
|
function ownKeys$X(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
9258
9258
|
function _objectSpread$X(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$X(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$X(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
9259
9259
|
var defaultGrid = {
|
|
@@ -9406,7 +9406,7 @@ function GridEditor(_ref) {
|
|
|
9406
9406
|
function sortObjectByKeys(obj) {
|
|
9407
9407
|
var sortedKeys = Object.keys(obj).sort();
|
|
9408
9408
|
var sortedObj = {};
|
|
9409
|
-
var _iterator = _createForOfIteratorHelper$
|
|
9409
|
+
var _iterator = _createForOfIteratorHelper$y(sortedKeys),
|
|
9410
9410
|
_step;
|
|
9411
9411
|
try {
|
|
9412
9412
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -9879,9 +9879,9 @@ var PanelEditItemNotifications = function PanelEditItemNotifications(_ref) {
|
|
|
9879
9879
|
});
|
|
9880
9880
|
};
|
|
9881
9881
|
|
|
9882
|
-
function _createForOfIteratorHelper$
|
|
9883
|
-
function _unsupportedIterableToArray$
|
|
9884
|
-
function _arrayLikeToArray$
|
|
9882
|
+
function _createForOfIteratorHelper$x(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$x(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
9883
|
+
function _unsupportedIterableToArray$x(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$x(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$x(r, a) : void 0; } }
|
|
9884
|
+
function _arrayLikeToArray$x(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; }
|
|
9885
9885
|
function ownKeys$V(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
9886
9886
|
function _objectSpread$V(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$V(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$V(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
9887
9887
|
var DAYS = [{
|
|
@@ -10210,7 +10210,7 @@ var PanelEditItemSchedule = function PanelEditItemSchedule(_ref2) {
|
|
|
10210
10210
|
setIsLoading(true);
|
|
10211
10211
|
window.mainApi.scheduler.getTasks(widgetUuid).then(function (tasks) {
|
|
10212
10212
|
var stateMap = {};
|
|
10213
|
-
var _iterator = _createForOfIteratorHelper$
|
|
10213
|
+
var _iterator = _createForOfIteratorHelper$x(tasks || []),
|
|
10214
10214
|
_step;
|
|
10215
10215
|
try {
|
|
10216
10216
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -10469,9 +10469,9 @@ function isUserWidget(item) {
|
|
|
10469
10469
|
return true;
|
|
10470
10470
|
}
|
|
10471
10471
|
|
|
10472
|
-
function _createForOfIteratorHelper$
|
|
10473
|
-
function _unsupportedIterableToArray$
|
|
10474
|
-
function _arrayLikeToArray$
|
|
10472
|
+
function _createForOfIteratorHelper$w(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$w(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
10473
|
+
function _unsupportedIterableToArray$w(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$w(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$w(r, a) : void 0; } }
|
|
10474
|
+
function _arrayLikeToArray$w(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; }
|
|
10475
10475
|
|
|
10476
10476
|
/**
|
|
10477
10477
|
* Resolve which provider name a given widget instance would bind to for
|
|
@@ -10503,7 +10503,7 @@ function resolveProviderName(_ref) {
|
|
|
10503
10503
|
// array. Support both because different callers shape it either way.
|
|
10504
10504
|
if (appProviders) {
|
|
10505
10505
|
if (Array.isArray(appProviders)) {
|
|
10506
|
-
var _iterator = _createForOfIteratorHelper$
|
|
10506
|
+
var _iterator = _createForOfIteratorHelper$w(appProviders),
|
|
10507
10507
|
_step;
|
|
10508
10508
|
try {
|
|
10509
10509
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -10563,7 +10563,7 @@ function forEachWidget(workspace, visit) {
|
|
|
10563
10563
|
};
|
|
10564
10564
|
var _walk = function walk(items) {
|
|
10565
10565
|
if (!Array.isArray(items)) return;
|
|
10566
|
-
var _iterator2 = _createForOfIteratorHelper$
|
|
10566
|
+
var _iterator2 = _createForOfIteratorHelper$w(items),
|
|
10567
10567
|
_step2;
|
|
10568
10568
|
try {
|
|
10569
10569
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
@@ -10604,7 +10604,7 @@ function forEachWidget(workspace, visit) {
|
|
|
10604
10604
|
// widgets that only live there (e.g. AI-place writes that bypass
|
|
10605
10605
|
// the page handler).
|
|
10606
10606
|
if (Array.isArray(workspace.pages)) {
|
|
10607
|
-
var _iterator3 = _createForOfIteratorHelper$
|
|
10607
|
+
var _iterator3 = _createForOfIteratorHelper$w(workspace.pages),
|
|
10608
10608
|
_step3;
|
|
10609
10609
|
try {
|
|
10610
10610
|
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
@@ -10655,7 +10655,7 @@ function getUnresolvedProviders(_ref2) {
|
|
|
10655
10655
|
// the same `type` listed twice (a Claude code-gen quirk), which
|
|
10656
10656
|
// would otherwise produce duplicate rows in the Providers tab.
|
|
10657
10657
|
var seenTypes = new Set();
|
|
10658
|
-
var _iterator4 = _createForOfIteratorHelper$
|
|
10658
|
+
var _iterator4 = _createForOfIteratorHelper$w(requirements),
|
|
10659
10659
|
_step4;
|
|
10660
10660
|
try {
|
|
10661
10661
|
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
@@ -10698,7 +10698,7 @@ function getUnresolvedProviders(_ref2) {
|
|
|
10698
10698
|
*/
|
|
10699
10699
|
function groupByProviderType(unresolved) {
|
|
10700
10700
|
var byType = new Map();
|
|
10701
|
-
var _iterator5 = _createForOfIteratorHelper$
|
|
10701
|
+
var _iterator5 = _createForOfIteratorHelper$w(unresolved || []),
|
|
10702
10702
|
_step5;
|
|
10703
10703
|
try {
|
|
10704
10704
|
for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
|
|
@@ -10740,7 +10740,7 @@ function getAllProviderBindings(_ref3) {
|
|
|
10740
10740
|
// quirk) which would otherwise duplicate the per-widget row in
|
|
10741
10741
|
// the Providers tab.
|
|
10742
10742
|
var seenTypes = new Set();
|
|
10743
|
-
var _iterator6 = _createForOfIteratorHelper$
|
|
10743
|
+
var _iterator6 = _createForOfIteratorHelper$w(requirements),
|
|
10744
10744
|
_step6;
|
|
10745
10745
|
try {
|
|
10746
10746
|
for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
|
|
@@ -10782,9 +10782,9 @@ function getAllProviderBindings(_ref3) {
|
|
|
10782
10782
|
|
|
10783
10783
|
function ownKeys$T(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
10784
10784
|
function _objectSpread$T(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$T(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$T(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
10785
|
-
function _createForOfIteratorHelper$
|
|
10786
|
-
function _unsupportedIterableToArray$
|
|
10787
|
-
function _arrayLikeToArray$
|
|
10785
|
+
function _createForOfIteratorHelper$v(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$v(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
10786
|
+
function _unsupportedIterableToArray$v(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$v(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$v(r, a) : void 0; } }
|
|
10787
|
+
function _arrayLikeToArray$v(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; }
|
|
10788
10788
|
var EVENT_STRING_RE = /^([^[]+)\[([^\]]+)\]\.(.+)$/;
|
|
10789
10789
|
|
|
10790
10790
|
/** Parse "Component[itemId].event" → { component, itemId, event }. */
|
|
@@ -10954,7 +10954,7 @@ function getCurrentWiring(workspace) {
|
|
|
10954
10954
|
// Live format is array; defensive guard for legacy object
|
|
10955
10955
|
// form (a single source widget keyed under the handler).
|
|
10956
10956
|
var events = Array.isArray(eventList) ? eventList : typeof eventList === "string" ? [eventList] : [];
|
|
10957
|
-
var _iterator = _createForOfIteratorHelper$
|
|
10957
|
+
var _iterator = _createForOfIteratorHelper$v(events),
|
|
10958
10958
|
_step;
|
|
10959
10959
|
try {
|
|
10960
10960
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -11017,7 +11017,7 @@ function getOrphanedListeners(workspace, getWidgetConfig) {
|
|
|
11017
11017
|
if (!byItemId.has(id)) byItemId.set(id, meta);
|
|
11018
11018
|
});
|
|
11019
11019
|
var orphans = [];
|
|
11020
|
-
var _iterator2 = _createForOfIteratorHelper$
|
|
11020
|
+
var _iterator2 = _createForOfIteratorHelper$v(wiring),
|
|
11021
11021
|
_step2;
|
|
11022
11022
|
try {
|
|
11023
11023
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
@@ -11083,7 +11083,7 @@ function pruneDeadListenerReferences(workspace) {
|
|
|
11083
11083
|
var liveKeys = new Set();
|
|
11084
11084
|
var _walkForLive = function walkForLive(items) {
|
|
11085
11085
|
if (!Array.isArray(items)) return;
|
|
11086
|
-
var _iterator3 = _createForOfIteratorHelper$
|
|
11086
|
+
var _iterator3 = _createForOfIteratorHelper$v(items),
|
|
11087
11087
|
_step3;
|
|
11088
11088
|
try {
|
|
11089
11089
|
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
@@ -11104,7 +11104,7 @@ function pruneDeadListenerReferences(workspace) {
|
|
|
11104
11104
|
};
|
|
11105
11105
|
_walkForLive(workspace.layout);
|
|
11106
11106
|
if (Array.isArray(workspace.pages)) {
|
|
11107
|
-
var _iterator4 = _createForOfIteratorHelper$
|
|
11107
|
+
var _iterator4 = _createForOfIteratorHelper$v(workspace.pages),
|
|
11108
11108
|
_step4;
|
|
11109
11109
|
try {
|
|
11110
11110
|
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
@@ -11121,7 +11121,7 @@ function pruneDeadListenerReferences(workspace) {
|
|
|
11121
11121
|
var removed = 0;
|
|
11122
11122
|
var _pruneListeners = function pruneListeners(items) {
|
|
11123
11123
|
if (!Array.isArray(items)) return;
|
|
11124
|
-
var _iterator5 = _createForOfIteratorHelper$
|
|
11124
|
+
var _iterator5 = _createForOfIteratorHelper$v(items),
|
|
11125
11125
|
_step5;
|
|
11126
11126
|
try {
|
|
11127
11127
|
for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
|
|
@@ -11133,7 +11133,7 @@ function pruneDeadListenerReferences(workspace) {
|
|
|
11133
11133
|
var events = item.listeners[handler];
|
|
11134
11134
|
if (!Array.isArray(events)) continue;
|
|
11135
11135
|
var kept = [];
|
|
11136
|
-
var _iterator6 = _createForOfIteratorHelper$
|
|
11136
|
+
var _iterator6 = _createForOfIteratorHelper$v(events),
|
|
11137
11137
|
_step6;
|
|
11138
11138
|
try {
|
|
11139
11139
|
for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
|
|
@@ -11168,7 +11168,7 @@ function pruneDeadListenerReferences(workspace) {
|
|
|
11168
11168
|
};
|
|
11169
11169
|
_pruneListeners(workspace.layout);
|
|
11170
11170
|
if (Array.isArray(workspace.pages)) {
|
|
11171
|
-
var _iterator7 = _createForOfIteratorHelper$
|
|
11171
|
+
var _iterator7 = _createForOfIteratorHelper$v(workspace.pages),
|
|
11172
11172
|
_step7;
|
|
11173
11173
|
try {
|
|
11174
11174
|
for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
|
|
@@ -11212,7 +11212,7 @@ function applyWiringChanges(workspace, _ref) {
|
|
|
11212
11212
|
});
|
|
11213
11213
|
return byReceiver.get(id);
|
|
11214
11214
|
};
|
|
11215
|
-
var _iterator8 = _createForOfIteratorHelper$
|
|
11215
|
+
var _iterator8 = _createForOfIteratorHelper$v(adds),
|
|
11216
11216
|
_step8;
|
|
11217
11217
|
try {
|
|
11218
11218
|
for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {
|
|
@@ -11225,7 +11225,7 @@ function applyWiringChanges(workspace, _ref) {
|
|
|
11225
11225
|
} finally {
|
|
11226
11226
|
_iterator8.f();
|
|
11227
11227
|
}
|
|
11228
|
-
var _iterator9 = _createForOfIteratorHelper$
|
|
11228
|
+
var _iterator9 = _createForOfIteratorHelper$v(removes),
|
|
11229
11229
|
_step9;
|
|
11230
11230
|
try {
|
|
11231
11231
|
for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {
|
|
@@ -11299,7 +11299,7 @@ function applyToItem(listeners, _ref2) {
|
|
|
11299
11299
|
}
|
|
11300
11300
|
|
|
11301
11301
|
// Removes first so a re-add (rare) lands.
|
|
11302
|
-
var _iterator0 = _createForOfIteratorHelper$
|
|
11302
|
+
var _iterator0 = _createForOfIteratorHelper$v(removes),
|
|
11303
11303
|
_step0;
|
|
11304
11304
|
try {
|
|
11305
11305
|
var _loop = function _loop() {
|
|
@@ -11328,7 +11328,7 @@ function applyToItem(listeners, _ref2) {
|
|
|
11328
11328
|
} finally {
|
|
11329
11329
|
_iterator0.f();
|
|
11330
11330
|
}
|
|
11331
|
-
var _iterator1 = _createForOfIteratorHelper$
|
|
11331
|
+
var _iterator1 = _createForOfIteratorHelper$v(adds),
|
|
11332
11332
|
_step1;
|
|
11333
11333
|
try {
|
|
11334
11334
|
for (_iterator1.s(); !(_step1 = _iterator1.n()).done;) {
|
|
@@ -14301,9 +14301,9 @@ function mcpJsonToFormState(jsonString, nextRowId) {
|
|
|
14301
14301
|
return result;
|
|
14302
14302
|
}
|
|
14303
14303
|
|
|
14304
|
-
function _createForOfIteratorHelper$
|
|
14305
|
-
function _unsupportedIterableToArray$
|
|
14306
|
-
function _arrayLikeToArray$
|
|
14304
|
+
function _createForOfIteratorHelper$u(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$u(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
14305
|
+
function _unsupportedIterableToArray$u(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$u(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$u(r, a) : void 0; } }
|
|
14306
|
+
function _arrayLikeToArray$u(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; }
|
|
14307
14307
|
function ownKeys$P(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
14308
14308
|
function _objectSpread$P(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$P(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$P(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
14309
14309
|
var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
|
|
@@ -14588,11 +14588,11 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
|
|
|
14588
14588
|
|
|
14589
14589
|
// Flatten all widgets from all packages for the widget list
|
|
14590
14590
|
flatWidgets = [];
|
|
14591
|
-
_iterator = _createForOfIteratorHelper$
|
|
14591
|
+
_iterator = _createForOfIteratorHelper$u(result.packages || []);
|
|
14592
14592
|
try {
|
|
14593
14593
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
14594
14594
|
pkg = _step.value;
|
|
14595
|
-
_iterator2 = _createForOfIteratorHelper$
|
|
14595
|
+
_iterator2 = _createForOfIteratorHelper$u(pkg.widgets || []);
|
|
14596
14596
|
try {
|
|
14597
14597
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
14598
14598
|
widget = _step2.value;
|
|
@@ -16486,9 +16486,9 @@ var useWidgetSchedulerStatus = function useWidgetSchedulerStatus(widgetId) {
|
|
|
16486
16486
|
};
|
|
16487
16487
|
};
|
|
16488
16488
|
|
|
16489
|
-
function _createForOfIteratorHelper$
|
|
16490
|
-
function _unsupportedIterableToArray$
|
|
16491
|
-
function _arrayLikeToArray$
|
|
16489
|
+
function _createForOfIteratorHelper$t(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$t(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
16490
|
+
function _unsupportedIterableToArray$t(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$t(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$t(r, a) : void 0; } }
|
|
16491
|
+
function _arrayLikeToArray$t(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; }
|
|
16492
16492
|
function formatCountdown(ms) {
|
|
16493
16493
|
if (ms == null || ms < 0) return "--";
|
|
16494
16494
|
if (ms < 1000) return "< 1s";
|
|
@@ -16605,7 +16605,7 @@ var WidgetCardStatusBar = function WidgetCardStatusBar(_ref) {
|
|
|
16605
16605
|
|
|
16606
16606
|
// Find soonest countdown among enabled tasks
|
|
16607
16607
|
var soonestMs = null;
|
|
16608
|
-
var _iterator = _createForOfIteratorHelper$
|
|
16608
|
+
var _iterator = _createForOfIteratorHelper$t(enabledTasks),
|
|
16609
16609
|
_step;
|
|
16610
16610
|
try {
|
|
16611
16611
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -22147,9 +22147,9 @@ var ExternalWidget = function ExternalWidget(_ref) {
|
|
|
22147
22147
|
var GRID_CELL_WIDGET_TYPE = "grid-cell-widget";
|
|
22148
22148
|
var SIDEBAR_WIDGET_TYPE = "sidebar-widget";
|
|
22149
22149
|
|
|
22150
|
-
function _createForOfIteratorHelper$
|
|
22151
|
-
function _unsupportedIterableToArray$
|
|
22152
|
-
function _arrayLikeToArray$
|
|
22150
|
+
function _createForOfIteratorHelper$s(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$s(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
22151
|
+
function _unsupportedIterableToArray$s(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$s(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$s(r, a) : void 0; } }
|
|
22152
|
+
function _arrayLikeToArray$s(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; }
|
|
22153
22153
|
function ownKeys$G(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
22154
22154
|
function _objectSpread$G(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$G(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$G(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
22155
22155
|
|
|
@@ -22772,7 +22772,7 @@ var LayoutGridContainer = /*#__PURE__*/memo(function (_ref3) {
|
|
|
22772
22772
|
return selectable["delete"](cn);
|
|
22773
22773
|
});
|
|
22774
22774
|
var resolved = new Set();
|
|
22775
|
-
var _iterator = _createForOfIteratorHelper$
|
|
22775
|
+
var _iterator = _createForOfIteratorHelper$s(selectable),
|
|
22776
22776
|
_step;
|
|
22777
22777
|
try {
|
|
22778
22778
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -25181,9 +25181,9 @@ function migrateBareComponentName(componentMap, component) {
|
|
|
25181
25181
|
|
|
25182
25182
|
function ownKeys$E(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
25183
25183
|
function _objectSpread$E(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$E(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$E(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
25184
|
-
function _createForOfIteratorHelper$
|
|
25185
|
-
function _unsupportedIterableToArray$
|
|
25186
|
-
function _arrayLikeToArray$
|
|
25184
|
+
function _createForOfIteratorHelper$r(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$r(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
25185
|
+
function _unsupportedIterableToArray$r(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$r(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$r(r, a) : void 0; } }
|
|
25186
|
+
function _arrayLikeToArray$r(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; }
|
|
25187
25187
|
/**
|
|
25188
25188
|
* The model for all layout components used primarily in the renderLayout method
|
|
25189
25189
|
* @param {Object} layoutItem an object containing various attributes of the layout item
|
|
@@ -25195,7 +25195,7 @@ function _arrayLikeToArray$p(r, a) { (null == a || a > r.length) && (a = r.lengt
|
|
|
25195
25195
|
function sortObjectByKeys(obj) {
|
|
25196
25196
|
var sortedKeys = Object.keys(obj).sort();
|
|
25197
25197
|
var sortedObj = {};
|
|
25198
|
-
var _iterator = _createForOfIteratorHelper$
|
|
25198
|
+
var _iterator = _createForOfIteratorHelper$r(sortedKeys),
|
|
25199
25199
|
_step;
|
|
25200
25200
|
try {
|
|
25201
25201
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -25507,9 +25507,9 @@ var SettingsModel = function SettingsModel() {
|
|
|
25507
25507
|
return obj;
|
|
25508
25508
|
};
|
|
25509
25509
|
|
|
25510
|
-
function _createForOfIteratorHelper$
|
|
25511
|
-
function _unsupportedIterableToArray$
|
|
25512
|
-
function _arrayLikeToArray$
|
|
25510
|
+
function _createForOfIteratorHelper$q(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$q(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
25511
|
+
function _unsupportedIterableToArray$q(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$q(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$q(r, a) : void 0; } }
|
|
25512
|
+
function _arrayLikeToArray$q(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; }
|
|
25513
25513
|
|
|
25514
25514
|
/**
|
|
25515
25515
|
* Workspace-level pre-pass that migrates legacy bare component
|
|
@@ -25584,7 +25584,7 @@ function migrateScopedIdsInWorkspace(workspace, componentMap) {
|
|
|
25584
25584
|
};
|
|
25585
25585
|
var _walk = function walk(items) {
|
|
25586
25586
|
if (!Array.isArray(items)) return;
|
|
25587
|
-
var _iterator = _createForOfIteratorHelper$
|
|
25587
|
+
var _iterator = _createForOfIteratorHelper$q(items),
|
|
25588
25588
|
_step;
|
|
25589
25589
|
try {
|
|
25590
25590
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -25606,7 +25606,7 @@ function migrateScopedIdsInWorkspace(workspace, componentMap) {
|
|
|
25606
25606
|
};
|
|
25607
25607
|
_walk(workspace.layout);
|
|
25608
25608
|
if (Array.isArray(workspace.pages)) {
|
|
25609
|
-
var _iterator2 = _createForOfIteratorHelper$
|
|
25609
|
+
var _iterator2 = _createForOfIteratorHelper$q(workspace.pages),
|
|
25610
25610
|
_step2;
|
|
25611
25611
|
try {
|
|
25612
25612
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
@@ -25623,9 +25623,9 @@ function migrateScopedIdsInWorkspace(workspace, componentMap) {
|
|
|
25623
25623
|
return counts;
|
|
25624
25624
|
}
|
|
25625
25625
|
|
|
25626
|
-
function _createForOfIteratorHelper$
|
|
25627
|
-
function _unsupportedIterableToArray$
|
|
25628
|
-
function _arrayLikeToArray$
|
|
25626
|
+
function _createForOfIteratorHelper$p(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$p(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
25627
|
+
function _unsupportedIterableToArray$p(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$p(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$p(r, a) : void 0; } }
|
|
25628
|
+
function _arrayLikeToArray$p(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; }
|
|
25629
25629
|
/**
|
|
25630
25630
|
* cleanForeignWidgetsFromWorkspace.js
|
|
25631
25631
|
*
|
|
@@ -25666,7 +25666,7 @@ function cleanForeignWidgetsFromWorkspace(workspace) {
|
|
|
25666
25666
|
var _cleanList = function cleanList(items) {
|
|
25667
25667
|
if (!Array.isArray(items)) return items;
|
|
25668
25668
|
var kept = [];
|
|
25669
|
-
var _iterator = _createForOfIteratorHelper$
|
|
25669
|
+
var _iterator = _createForOfIteratorHelper$p(items),
|
|
25670
25670
|
_step;
|
|
25671
25671
|
try {
|
|
25672
25672
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -25703,7 +25703,7 @@ function cleanForeignWidgetsFromWorkspace(workspace) {
|
|
|
25703
25703
|
workspace.sidebarLayout = _cleanList(workspace.sidebarLayout);
|
|
25704
25704
|
}
|
|
25705
25705
|
if (Array.isArray(workspace.pages)) {
|
|
25706
|
-
var _iterator2 = _createForOfIteratorHelper$
|
|
25706
|
+
var _iterator2 = _createForOfIteratorHelper$p(workspace.pages),
|
|
25707
25707
|
_step2;
|
|
25708
25708
|
try {
|
|
25709
25709
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
@@ -25721,9 +25721,9 @@ function cleanForeignWidgetsFromWorkspace(workspace) {
|
|
|
25721
25721
|
return summary;
|
|
25722
25722
|
}
|
|
25723
25723
|
|
|
25724
|
-
function _createForOfIteratorHelper$
|
|
25725
|
-
function _unsupportedIterableToArray$
|
|
25726
|
-
function _arrayLikeToArray$
|
|
25724
|
+
function _createForOfIteratorHelper$o(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$o(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
25725
|
+
function _unsupportedIterableToArray$o(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$o(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$o(r, a) : void 0; } }
|
|
25726
|
+
function _arrayLikeToArray$o(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; }
|
|
25727
25727
|
/**
|
|
25728
25728
|
* migrateLayoutItemTypes.js
|
|
25729
25729
|
*
|
|
@@ -25785,7 +25785,7 @@ function migrateLayoutItemTypes(workspace) {
|
|
|
25785
25785
|
};
|
|
25786
25786
|
var _walk = function walk(items) {
|
|
25787
25787
|
if (!Array.isArray(items)) return;
|
|
25788
|
-
var _iterator = _createForOfIteratorHelper$
|
|
25788
|
+
var _iterator = _createForOfIteratorHelper$o(items),
|
|
25789
25789
|
_step;
|
|
25790
25790
|
try {
|
|
25791
25791
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -25803,7 +25803,7 @@ function migrateLayoutItemTypes(workspace) {
|
|
|
25803
25803
|
};
|
|
25804
25804
|
_walk(workspace.layout);
|
|
25805
25805
|
if (Array.isArray(workspace.pages)) {
|
|
25806
|
-
var _iterator2 = _createForOfIteratorHelper$
|
|
25806
|
+
var _iterator2 = _createForOfIteratorHelper$o(workspace.pages),
|
|
25807
25807
|
_step2;
|
|
25808
25808
|
try {
|
|
25809
25809
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
@@ -26184,9 +26184,9 @@ var ThemeModel = function ThemeModel() {
|
|
|
26184
26184
|
}
|
|
26185
26185
|
};
|
|
26186
26186
|
|
|
26187
|
-
function _createForOfIteratorHelper$
|
|
26188
|
-
function _unsupportedIterableToArray$
|
|
26189
|
-
function _arrayLikeToArray$
|
|
26187
|
+
function _createForOfIteratorHelper$n(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$n(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
26188
|
+
function _unsupportedIterableToArray$n(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$n(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$n(r, a) : void 0; } }
|
|
26189
|
+
function _arrayLikeToArray$n(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; }
|
|
26190
26190
|
/*
|
|
26191
26191
|
"component": AnalyticsReportsWidget,
|
|
26192
26192
|
"type":"widget",
|
|
@@ -26304,7 +26304,7 @@ var ComponentConfigModel = function ComponentConfigModel() {
|
|
|
26304
26304
|
if ("providers" in obj && Array.isArray(obj.providers)) {
|
|
26305
26305
|
var seen = new Set();
|
|
26306
26306
|
var cleaned = [];
|
|
26307
|
-
var _iterator = _createForOfIteratorHelper$
|
|
26307
|
+
var _iterator = _createForOfIteratorHelper$n(obj.providers),
|
|
26308
26308
|
_step;
|
|
26309
26309
|
try {
|
|
26310
26310
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -26352,9 +26352,9 @@ var MenuItemModel = function MenuItemModel() {
|
|
|
26352
26352
|
|
|
26353
26353
|
function ownKeys$D(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
26354
26354
|
function _objectSpread$D(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$D(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$D(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
26355
|
-
function _createForOfIteratorHelper$
|
|
26356
|
-
function _unsupportedIterableToArray$
|
|
26357
|
-
function _arrayLikeToArray$
|
|
26355
|
+
function _createForOfIteratorHelper$m(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$m(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
26356
|
+
function _unsupportedIterableToArray$m(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$m(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$m(r, a) : void 0; } }
|
|
26357
|
+
function _arrayLikeToArray$m(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; }
|
|
26358
26358
|
/**
|
|
26359
26359
|
* A Model for a Workspace (Dashboard)
|
|
26360
26360
|
* The Dashboard in this instance is the entire Layout inclusive of the workspaces and widgets
|
|
@@ -26426,7 +26426,7 @@ var DashboardModel = /*#__PURE__*/function () {
|
|
|
26426
26426
|
|
|
26427
26427
|
// Also normalize grids within pages
|
|
26428
26428
|
if (this.pages.length > 0) {
|
|
26429
|
-
var _iterator = _createForOfIteratorHelper$
|
|
26429
|
+
var _iterator = _createForOfIteratorHelper$m(this.pages),
|
|
26430
26430
|
_step;
|
|
26431
26431
|
try {
|
|
26432
26432
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -28402,7 +28402,7 @@ var DashboardModel = /*#__PURE__*/function () {
|
|
|
28402
28402
|
try {
|
|
28403
28403
|
// Collect all item IDs actively referenced by grid cells
|
|
28404
28404
|
var activeItemIds = new Set();
|
|
28405
|
-
var _iterator2 = _createForOfIteratorHelper$
|
|
28405
|
+
var _iterator2 = _createForOfIteratorHelper$m(this.layout),
|
|
28406
28406
|
_step2;
|
|
28407
28407
|
try {
|
|
28408
28408
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
@@ -28442,7 +28442,7 @@ var DashboardModel = /*#__PURE__*/function () {
|
|
|
28442
28442
|
});
|
|
28443
28443
|
|
|
28444
28444
|
// Clean listener references on remaining items for each removed orphan
|
|
28445
|
-
var _iterator3 = _createForOfIteratorHelper$
|
|
28445
|
+
var _iterator3 = _createForOfIteratorHelper$m(orphanedIds),
|
|
28446
28446
|
_step3;
|
|
28447
28447
|
try {
|
|
28448
28448
|
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
@@ -29263,9 +29263,9 @@ var useDashboard = function useDashboard() {
|
|
|
29263
29263
|
});
|
|
29264
29264
|
};
|
|
29265
29265
|
|
|
29266
|
-
function _createForOfIteratorHelper$
|
|
29267
|
-
function _unsupportedIterableToArray$
|
|
29268
|
-
function _arrayLikeToArray$
|
|
29266
|
+
function _createForOfIteratorHelper$l(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$l(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
29267
|
+
function _unsupportedIterableToArray$l(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$l(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$l(r, a) : void 0; } }
|
|
29268
|
+
function _arrayLikeToArray$l(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; }
|
|
29269
29269
|
|
|
29270
29270
|
/**
|
|
29271
29271
|
* useWidgetProviders Hook
|
|
@@ -29321,7 +29321,7 @@ var useWidgetProviders = function useWidgetProviders() {
|
|
|
29321
29321
|
// 1. Widget-level: stored directly on the layout item by handleSelectProvider
|
|
29322
29322
|
// 2. Workspace-level: stored as workspace.selectedProviders[widgetId][providerType]
|
|
29323
29323
|
var providers = {};
|
|
29324
|
-
var _iterator = _createForOfIteratorHelper$
|
|
29324
|
+
var _iterator = _createForOfIteratorHelper$l(providerDeclarations),
|
|
29325
29325
|
_step;
|
|
29326
29326
|
try {
|
|
29327
29327
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -29363,9 +29363,9 @@ var useWidgetProviders = function useWidgetProviders() {
|
|
|
29363
29363
|
};
|
|
29364
29364
|
};
|
|
29365
29365
|
|
|
29366
|
-
function _createForOfIteratorHelper$
|
|
29367
|
-
function _unsupportedIterableToArray$
|
|
29368
|
-
function _arrayLikeToArray$
|
|
29366
|
+
function _createForOfIteratorHelper$k(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$k(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
29367
|
+
function _unsupportedIterableToArray$k(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$k(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$k(r, a) : void 0; } }
|
|
29368
|
+
function _arrayLikeToArray$k(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; }
|
|
29369
29369
|
|
|
29370
29370
|
/**
|
|
29371
29371
|
* Module-level shared state for MCP server connections.
|
|
@@ -29420,7 +29420,7 @@ function unionPathScope(grants, serverName) {
|
|
|
29420
29420
|
allowedPaths: []
|
|
29421
29421
|
};
|
|
29422
29422
|
}
|
|
29423
|
-
var _iterator = _createForOfIteratorHelper$
|
|
29423
|
+
var _iterator = _createForOfIteratorHelper$k(grants),
|
|
29424
29424
|
_step;
|
|
29425
29425
|
try {
|
|
29426
29426
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -29433,7 +29433,7 @@ function unionPathScope(grants, serverName) {
|
|
|
29433
29433
|
var serverPerms = servers[serverName];
|
|
29434
29434
|
if (!serverPerms || _typeof(serverPerms) !== "object") continue;
|
|
29435
29435
|
if (Array.isArray(serverPerms.readPaths)) {
|
|
29436
|
-
var _iterator2 = _createForOfIteratorHelper$
|
|
29436
|
+
var _iterator2 = _createForOfIteratorHelper$k(serverPerms.readPaths),
|
|
29437
29437
|
_step2;
|
|
29438
29438
|
try {
|
|
29439
29439
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
@@ -29447,7 +29447,7 @@ function unionPathScope(grants, serverName) {
|
|
|
29447
29447
|
}
|
|
29448
29448
|
}
|
|
29449
29449
|
if (Array.isArray(serverPerms.writePaths)) {
|
|
29450
|
-
var _iterator3 = _createForOfIteratorHelper$
|
|
29450
|
+
var _iterator3 = _createForOfIteratorHelper$k(serverPerms.writePaths),
|
|
29451
29451
|
_step3;
|
|
29452
29452
|
try {
|
|
29453
29453
|
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
@@ -30250,9 +30250,9 @@ var useNotifications = function useNotifications() {
|
|
|
30250
30250
|
};
|
|
30251
30251
|
};
|
|
30252
30252
|
|
|
30253
|
-
function _createForOfIteratorHelper$
|
|
30254
|
-
function _unsupportedIterableToArray$
|
|
30255
|
-
function _arrayLikeToArray$
|
|
30253
|
+
function _createForOfIteratorHelper$j(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$j(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
30254
|
+
function _unsupportedIterableToArray$j(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$j(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$j(r, a) : void 0; } }
|
|
30255
|
+
function _arrayLikeToArray$j(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; }
|
|
30256
30256
|
|
|
30257
30257
|
/**
|
|
30258
30258
|
* useScheduler Hook
|
|
@@ -30325,7 +30325,7 @@ var useScheduler = function useScheduler() {
|
|
|
30325
30325
|
if (pending && pending.length > 0) {
|
|
30326
30326
|
setPendingResults(pending);
|
|
30327
30327
|
// Call handlers for each pending result
|
|
30328
|
-
var _iterator = _createForOfIteratorHelper$
|
|
30328
|
+
var _iterator = _createForOfIteratorHelper$j(pending),
|
|
30329
30329
|
_step;
|
|
30330
30330
|
try {
|
|
30331
30331
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -32185,9 +32185,9 @@ function loadWidgetBundle(source, widgetName) {
|
|
|
32185
32185
|
};
|
|
32186
32186
|
}
|
|
32187
32187
|
|
|
32188
|
-
function _createForOfIteratorHelper$
|
|
32189
|
-
function _unsupportedIterableToArray$
|
|
32190
|
-
function _arrayLikeToArray$
|
|
32188
|
+
function _createForOfIteratorHelper$i(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$i(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
32189
|
+
function _unsupportedIterableToArray$i(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$i(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$i(r, a) : void 0; } }
|
|
32190
|
+
function _arrayLikeToArray$i(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; }
|
|
32191
32191
|
/**
|
|
32192
32192
|
* Validation utilities for grid-first dashboard architecture
|
|
32193
32193
|
*
|
|
@@ -32426,7 +32426,7 @@ var validateCellMerge = function validateCellMerge(cellNumbers, grid) {
|
|
|
32426
32426
|
|
|
32427
32427
|
// Validate each cell
|
|
32428
32428
|
var cells = [];
|
|
32429
|
-
var _iterator = _createForOfIteratorHelper$
|
|
32429
|
+
var _iterator = _createForOfIteratorHelper$i(cellNumbers),
|
|
32430
32430
|
_step;
|
|
32431
32431
|
try {
|
|
32432
32432
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -32774,9 +32774,9 @@ var HARMONY_STRATEGIES = [{
|
|
|
32774
32774
|
label: "Custom"
|
|
32775
32775
|
}];
|
|
32776
32776
|
|
|
32777
|
-
function _createForOfIteratorHelper$
|
|
32778
|
-
function _unsupportedIterableToArray$
|
|
32779
|
-
function _arrayLikeToArray$
|
|
32777
|
+
function _createForOfIteratorHelper$h(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$h(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
32778
|
+
function _unsupportedIterableToArray$h(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$h(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$h(r, a) : void 0; } }
|
|
32779
|
+
function _arrayLikeToArray$h(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; }
|
|
32780
32780
|
/**
|
|
32781
32781
|
* markdownFormParser.js
|
|
32782
32782
|
*
|
|
@@ -32823,7 +32823,7 @@ function detectColumnType(header, cellValues) {
|
|
|
32823
32823
|
}
|
|
32824
32824
|
|
|
32825
32825
|
// Check if any cell has an enum pattern (template placeholders)
|
|
32826
|
-
var _iterator = _createForOfIteratorHelper$
|
|
32826
|
+
var _iterator = _createForOfIteratorHelper$h(cellValues),
|
|
32827
32827
|
_step;
|
|
32828
32828
|
try {
|
|
32829
32829
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -32832,7 +32832,7 @@ function detectColumnType(header, cellValues) {
|
|
|
32832
32832
|
if (options) {
|
|
32833
32833
|
// Include all unique existing cell values as valid options
|
|
32834
32834
|
var allOptions = new Set(options);
|
|
32835
|
-
var _iterator2 = _createForOfIteratorHelper$
|
|
32835
|
+
var _iterator2 = _createForOfIteratorHelper$h(cellValues),
|
|
32836
32836
|
_step2;
|
|
32837
32837
|
try {
|
|
32838
32838
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
@@ -33042,7 +33042,7 @@ function parse(markdown) {
|
|
|
33042
33042
|
*/
|
|
33043
33043
|
function serialize(blocks) {
|
|
33044
33044
|
var parts = [];
|
|
33045
|
-
var _iterator3 = _createForOfIteratorHelper$
|
|
33045
|
+
var _iterator3 = _createForOfIteratorHelper$h(blocks),
|
|
33046
33046
|
_step3;
|
|
33047
33047
|
try {
|
|
33048
33048
|
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
@@ -33057,7 +33057,7 @@ function serialize(blocks) {
|
|
|
33057
33057
|
parts.push("| " + block.columns.map(function () {
|
|
33058
33058
|
return "------";
|
|
33059
33059
|
}).join(" | ") + " |");
|
|
33060
|
-
var _iterator4 = _createForOfIteratorHelper$
|
|
33060
|
+
var _iterator4 = _createForOfIteratorHelper$h(block.rows),
|
|
33061
33061
|
_step4;
|
|
33062
33062
|
try {
|
|
33063
33063
|
var _loop2 = function _loop2() {
|
|
@@ -33078,7 +33078,7 @@ function serialize(blocks) {
|
|
|
33078
33078
|
break;
|
|
33079
33079
|
}
|
|
33080
33080
|
case "list":
|
|
33081
|
-
var _iterator5 = _createForOfIteratorHelper$
|
|
33081
|
+
var _iterator5 = _createForOfIteratorHelper$h(block.items),
|
|
33082
33082
|
_step5;
|
|
33083
33083
|
try {
|
|
33084
33084
|
for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
|
|
@@ -33092,7 +33092,7 @@ function serialize(blocks) {
|
|
|
33092
33092
|
}
|
|
33093
33093
|
break;
|
|
33094
33094
|
case "blockquote":
|
|
33095
|
-
var _iterator6 = _createForOfIteratorHelper$
|
|
33095
|
+
var _iterator6 = _createForOfIteratorHelper$h(block.text.split("\n")),
|
|
33096
33096
|
_step6;
|
|
33097
33097
|
try {
|
|
33098
33098
|
for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
|
|
@@ -36593,9 +36593,9 @@ var ThemeManagerModal = function ThemeManagerModal(_ref) {
|
|
|
36593
36593
|
|
|
36594
36594
|
function ownKeys$u(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
36595
36595
|
function _objectSpread$u(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$u(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$u(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
36596
|
-
function _createForOfIteratorHelper$
|
|
36597
|
-
function _unsupportedIterableToArray$
|
|
36598
|
-
function _arrayLikeToArray$
|
|
36596
|
+
function _createForOfIteratorHelper$g(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$g(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
36597
|
+
function _unsupportedIterableToArray$g(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$g(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$g(r, a) : void 0; } }
|
|
36598
|
+
function _arrayLikeToArray$g(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; }
|
|
36599
36599
|
var DASHBOARD_TAGS = ["productivity", "monitoring", "analytics", "communication", "developer", "sales", "marketing", "finance", "project-management", "social", "news", "utilities"];
|
|
36600
36600
|
var BUMP_OPTIONS$1 = [{
|
|
36601
36601
|
value: "patch",
|
|
@@ -36669,7 +36669,7 @@ function collectComponentConfigs() {
|
|
|
36669
36669
|
// fixed "reference" entry.
|
|
36670
36670
|
function seedSelections(plan, dashboardVisibility) {
|
|
36671
36671
|
var selections = {};
|
|
36672
|
-
var _iterator = _createForOfIteratorHelper$
|
|
36672
|
+
var _iterator = _createForOfIteratorHelper$g(plan.widgets || []),
|
|
36673
36673
|
_step;
|
|
36674
36674
|
try {
|
|
36675
36675
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -37008,7 +37008,7 @@ var PublishDashboardModal = function PublishDashboardModal(_ref) {
|
|
|
37008
37008
|
useEffect(function () {
|
|
37009
37009
|
if (!isOpen || step !== 5 || !plan || defaultsLoading) return;
|
|
37010
37010
|
var packagesToScan = [];
|
|
37011
|
-
var _iterator2 = _createForOfIteratorHelper$
|
|
37011
|
+
var _iterator2 = _createForOfIteratorHelper$g(plan.widgets || []),
|
|
37012
37012
|
_step2;
|
|
37013
37013
|
try {
|
|
37014
37014
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
@@ -37047,7 +37047,7 @@ var PublishDashboardModal = function PublishDashboardModal(_ref) {
|
|
|
37047
37047
|
})).then(function (results) {
|
|
37048
37048
|
setDefaultsByPackage(function (prev) {
|
|
37049
37049
|
var next = _objectSpread$u({}, prev);
|
|
37050
|
-
var _iterator3 = _createForOfIteratorHelper$
|
|
37050
|
+
var _iterator3 = _createForOfIteratorHelper$g(results),
|
|
37051
37051
|
_step3;
|
|
37052
37052
|
try {
|
|
37053
37053
|
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
@@ -37129,7 +37129,7 @@ var PublishDashboardModal = function PublishDashboardModal(_ref) {
|
|
|
37129
37129
|
break;
|
|
37130
37130
|
}
|
|
37131
37131
|
seenPackages = new Set();
|
|
37132
|
-
_iterator4 = _createForOfIteratorHelper$
|
|
37132
|
+
_iterator4 = _createForOfIteratorHelper$g(plan.widgets || []);
|
|
37133
37133
|
_context2.prev = 2;
|
|
37134
37134
|
_iterator4.s();
|
|
37135
37135
|
case 3:
|
|
@@ -38041,7 +38041,7 @@ function DependencyTable(_ref4) {
|
|
|
38041
38041
|
// row. Each row shows the list of component widgets that live inside it
|
|
38042
38042
|
// so the user knows what's getting published.
|
|
38043
38043
|
var byKey = new Map();
|
|
38044
|
-
var _iterator5 = _createForOfIteratorHelper$
|
|
38044
|
+
var _iterator5 = _createForOfIteratorHelper$g(plan.widgets || []),
|
|
38045
38045
|
_step6;
|
|
38046
38046
|
try {
|
|
38047
38047
|
for (_iterator5.s(); !(_step6 = _iterator5.n()).done;) {
|
|
@@ -38212,7 +38212,7 @@ function DefaultsReviewList(_ref6) {
|
|
|
38212
38212
|
// stays aligned with Dependencies — no surprises about WHICH
|
|
38213
38213
|
// package's defaults you're editing.
|
|
38214
38214
|
var rows = [];
|
|
38215
|
-
var _iterator6 = _createForOfIteratorHelper$
|
|
38215
|
+
var _iterator6 = _createForOfIteratorHelper$g((plan === null || plan === void 0 ? void 0 : plan.widgets) || []),
|
|
38216
38216
|
_step7;
|
|
38217
38217
|
try {
|
|
38218
38218
|
for (_iterator6.s(); !(_step7 = _iterator6.n()).done;) {
|
|
@@ -41885,9 +41885,9 @@ var McpCatalogDetail = function McpCatalogDetail(_ref) {
|
|
|
41885
41885
|
|
|
41886
41886
|
function ownKeys$o(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
41887
41887
|
function _objectSpread$o(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$o(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$o(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
41888
|
-
function _createForOfIteratorHelper$
|
|
41889
|
-
function _unsupportedIterableToArray$
|
|
41890
|
-
function _arrayLikeToArray$
|
|
41888
|
+
function _createForOfIteratorHelper$f(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$f(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
41889
|
+
function _unsupportedIterableToArray$f(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$f(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$f(r, a) : void 0; } }
|
|
41890
|
+
function _arrayLikeToArray$f(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; }
|
|
41891
41891
|
function isValidWsUrl(url) {
|
|
41892
41892
|
if (!url) return false;
|
|
41893
41893
|
try {
|
|
@@ -41934,7 +41934,7 @@ function extractCredentialFields(url, headerRows) {
|
|
|
41934
41934
|
fields.add(match[1]);
|
|
41935
41935
|
}
|
|
41936
41936
|
}
|
|
41937
|
-
var _iterator = _createForOfIteratorHelper$
|
|
41937
|
+
var _iterator = _createForOfIteratorHelper$f(headerRows),
|
|
41938
41938
|
_step;
|
|
41939
41939
|
try {
|
|
41940
41940
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -42039,7 +42039,7 @@ var WebSocketProviderForm = function WebSocketProviderForm(_ref) {
|
|
|
42039
42039
|
if (!url.trim()) errs.url = "WebSocket URL is required";else if (!isValidWsUrl(url)) errs.url = "URL must start with ws:// or wss://";
|
|
42040
42040
|
|
|
42041
42041
|
// Check required credential fields are filled
|
|
42042
|
-
var _iterator2 = _createForOfIteratorHelper$
|
|
42042
|
+
var _iterator2 = _createForOfIteratorHelper$f(credentialFields),
|
|
42043
42043
|
_step2;
|
|
42044
42044
|
try {
|
|
42045
42045
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
@@ -42062,7 +42062,7 @@ var WebSocketProviderForm = function WebSocketProviderForm(_ref) {
|
|
|
42062
42062
|
|
|
42063
42063
|
// Build headers object from rows
|
|
42064
42064
|
var headers = {};
|
|
42065
|
-
var _iterator3 = _createForOfIteratorHelper$
|
|
42065
|
+
var _iterator3 = _createForOfIteratorHelper$f(headerRows),
|
|
42066
42066
|
_step3;
|
|
42067
42067
|
try {
|
|
42068
42068
|
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
@@ -42131,7 +42131,7 @@ var WebSocketProviderForm = function WebSocketProviderForm(_ref) {
|
|
|
42131
42131
|
|
|
42132
42132
|
// Build config from current form state (same as handleSave)
|
|
42133
42133
|
headers = {};
|
|
42134
|
-
_iterator4 = _createForOfIteratorHelper$
|
|
42134
|
+
_iterator4 = _createForOfIteratorHelper$f(headerRows);
|
|
42135
42135
|
try {
|
|
42136
42136
|
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
42137
42137
|
row = _step4.value;
|
|
@@ -45590,9 +45590,9 @@ var InstallWidgetPicker = function InstallWidgetPicker(_ref2) {
|
|
|
45590
45590
|
|
|
45591
45591
|
function ownKeys$l(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
45592
45592
|
function _objectSpread$l(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$l(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$l(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
45593
|
-
function _createForOfIteratorHelper$
|
|
45594
|
-
function _unsupportedIterableToArray$
|
|
45595
|
-
function _arrayLikeToArray$
|
|
45593
|
+
function _createForOfIteratorHelper$e(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$e(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
45594
|
+
function _unsupportedIterableToArray$e(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$e(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$e(r, a) : void 0; } }
|
|
45595
|
+
function _arrayLikeToArray$e(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; }
|
|
45596
45596
|
var DiscoverWidgetsDetail = function DiscoverWidgetsDetail(_ref) {
|
|
45597
45597
|
var onBack = _ref.onBack;
|
|
45598
45598
|
var _useContext = useContext(ThemeContext),
|
|
@@ -45699,7 +45699,7 @@ var DiscoverWidgetsDetail = function DiscoverWidgetsDetail(_ref) {
|
|
|
45699
45699
|
case 1:
|
|
45700
45700
|
widgets = _context2.sent;
|
|
45701
45701
|
names = new Set();
|
|
45702
|
-
_iterator = _createForOfIteratorHelper$
|
|
45702
|
+
_iterator = _createForOfIteratorHelper$e(widgets);
|
|
45703
45703
|
try {
|
|
45704
45704
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
45705
45705
|
w = _step.value;
|
|
@@ -45804,12 +45804,12 @@ var DiscoverWidgetsDetail = function DiscoverWidgetsDetail(_ref) {
|
|
|
45804
45804
|
var checkToolConflicts = function checkToolConflicts(widget) {
|
|
45805
45805
|
var conflicts = [];
|
|
45806
45806
|
var packageWidgets = widget.packageWidgets || [];
|
|
45807
|
-
var _iterator2 = _createForOfIteratorHelper$
|
|
45807
|
+
var _iterator2 = _createForOfIteratorHelper$e(packageWidgets),
|
|
45808
45808
|
_step2;
|
|
45809
45809
|
try {
|
|
45810
45810
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
45811
45811
|
var w = _step2.value;
|
|
45812
|
-
var _iterator3 = _createForOfIteratorHelper$
|
|
45812
|
+
var _iterator3 = _createForOfIteratorHelper$e(w.providers || []),
|
|
45813
45813
|
_step3;
|
|
45814
45814
|
try {
|
|
45815
45815
|
var _loop = function _loop() {
|
|
@@ -45822,7 +45822,7 @@ var DiscoverWidgetsDetail = function DiscoverWidgetsDetail(_ref) {
|
|
|
45822
45822
|
prov = _ref5[1];
|
|
45823
45823
|
return prov.type === p.type && prov.providerClass === "mcp" && prov.allowedTools;
|
|
45824
45824
|
});
|
|
45825
|
-
var _iterator4 = _createForOfIteratorHelper$
|
|
45825
|
+
var _iterator4 = _createForOfIteratorHelper$e(matchingProviders),
|
|
45826
45826
|
_step4;
|
|
45827
45827
|
try {
|
|
45828
45828
|
var _loop2 = function _loop2() {
|
|
@@ -46145,9 +46145,9 @@ var DiscoverWidgetsDetail = function DiscoverWidgetsDetail(_ref) {
|
|
|
46145
46145
|
});
|
|
46146
46146
|
};
|
|
46147
46147
|
|
|
46148
|
-
function _createForOfIteratorHelper$
|
|
46149
|
-
function _unsupportedIterableToArray$
|
|
46150
|
-
function _arrayLikeToArray$
|
|
46148
|
+
function _createForOfIteratorHelper$d(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$d(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
46149
|
+
function _unsupportedIterableToArray$d(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$d(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$d(r, a) : void 0; } }
|
|
46150
|
+
function _arrayLikeToArray$d(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; }
|
|
46151
46151
|
|
|
46152
46152
|
/**
|
|
46153
46153
|
* Walk a workspace layout and collect widget component keys that are
|
|
@@ -46161,7 +46161,7 @@ function collectComponentsFromLayout(layout) {
|
|
|
46161
46161
|
|
|
46162
46162
|
// Collect IDs of layout items that are actively referenced by grid cells
|
|
46163
46163
|
var activeItemIds = new Set();
|
|
46164
|
-
var _iterator = _createForOfIteratorHelper$
|
|
46164
|
+
var _iterator = _createForOfIteratorHelper$d(layout),
|
|
46165
46165
|
_step;
|
|
46166
46166
|
try {
|
|
46167
46167
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -46181,7 +46181,7 @@ function collectComponentsFromLayout(layout) {
|
|
|
46181
46181
|
} finally {
|
|
46182
46182
|
_iterator.f();
|
|
46183
46183
|
}
|
|
46184
|
-
var _iterator2 = _createForOfIteratorHelper$
|
|
46184
|
+
var _iterator2 = _createForOfIteratorHelper$d(layout),
|
|
46185
46185
|
_step2;
|
|
46186
46186
|
try {
|
|
46187
46187
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
@@ -46215,7 +46215,7 @@ function findWidgetUsage(componentNames, workspaces) {
|
|
|
46215
46215
|
if (!(componentNames !== null && componentNames !== void 0 && componentNames.length) || !(workspaces !== null && workspaces !== void 0 && workspaces.length)) return [];
|
|
46216
46216
|
var nameSet = new Set(componentNames);
|
|
46217
46217
|
var results = [];
|
|
46218
|
-
var _iterator3 = _createForOfIteratorHelper$
|
|
46218
|
+
var _iterator3 = _createForOfIteratorHelper$d(workspaces),
|
|
46219
46219
|
_step3;
|
|
46220
46220
|
try {
|
|
46221
46221
|
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
@@ -46444,9 +46444,9 @@ var useInstalledWidgets = function useInstalledWidgets() {
|
|
|
46444
46444
|
};
|
|
46445
46445
|
};
|
|
46446
46446
|
|
|
46447
|
-
function _createForOfIteratorHelper$
|
|
46448
|
-
function _unsupportedIterableToArray$
|
|
46449
|
-
function _arrayLikeToArray$
|
|
46447
|
+
function _createForOfIteratorHelper$c(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$c(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
46448
|
+
function _unsupportedIterableToArray$c(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$c(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$c(r, a) : void 0; } }
|
|
46449
|
+
function _arrayLikeToArray$c(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; }
|
|
46450
46450
|
|
|
46451
46451
|
/**
|
|
46452
46452
|
* useWidgetUpdates — checks the registry for newer versions of installed widgets
|
|
@@ -46576,7 +46576,7 @@ function useWidgetUpdates() {
|
|
|
46576
46576
|
// (install replaces the entire package, not just one widget)
|
|
46577
46577
|
setUpdates(function (prev) {
|
|
46578
46578
|
var next = new Map(prev);
|
|
46579
|
-
var _iterator = _createForOfIteratorHelper$
|
|
46579
|
+
var _iterator = _createForOfIteratorHelper$c(next),
|
|
46580
46580
|
_step;
|
|
46581
46581
|
try {
|
|
46582
46582
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -49193,8 +49193,503 @@ var GrantManuallyModal = function GrantManuallyModal(_ref) {
|
|
|
49193
49193
|
});
|
|
49194
49194
|
};
|
|
49195
49195
|
|
|
49196
|
+
function _createForOfIteratorHelper$b(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$b(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
49197
|
+
function _unsupportedIterableToArray$b(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$b(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$b(r, a) : void 0; } }
|
|
49198
|
+
function _arrayLikeToArray$b(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; }
|
|
49199
|
+
/**
|
|
49200
|
+
* groupRowsByPackage
|
|
49201
|
+
*
|
|
49202
|
+
* Renderer-side grouping of `widgetMcp.listAll` rows into packages.
|
|
49203
|
+
* Each row is per-widget (e.g. `trops.google-drive.GDriveFileList`);
|
|
49204
|
+
* this helper reconstructs the owning packageId (`@trops/google-drive`)
|
|
49205
|
+
* by parsing the dotted form back to scoped npm-id form.
|
|
49206
|
+
*
|
|
49207
|
+
* Mirrors the parsing semantics in
|
|
49208
|
+
* `electron/security/resolveSiblings.js` so the two layers agree on
|
|
49209
|
+
* what counts as "the same package".
|
|
49210
|
+
*
|
|
49211
|
+
* Output is sorted alphabetically by packageId so the sidebar list is
|
|
49212
|
+
* stable across reloads. Rows that don't parse to a recognized
|
|
49213
|
+
* scope+name shape are bucketed under `packageId: null` (rendered as
|
|
49214
|
+
* "Ungrouped" in the UI) — covers the test probe (`@test/jit-probe`)
|
|
49215
|
+
* and any future ids that don't follow the dotted convention.
|
|
49216
|
+
*/
|
|
49217
|
+
|
|
49218
|
+
function _parsePackageId(widgetId) {
|
|
49219
|
+
if (typeof widgetId !== "string" || !widgetId) return null;
|
|
49220
|
+
// Expected shape: "<scope>.<name>.<componentName>" — at least two dots.
|
|
49221
|
+
// Bail on anything else (e.g. "@test/jit-probe" goes to ungrouped).
|
|
49222
|
+
var parts = widgetId.split(".");
|
|
49223
|
+
if (parts.length < 3) return null;
|
|
49224
|
+
if (widgetId.startsWith("@")) return null;
|
|
49225
|
+
var scope = parts[0];
|
|
49226
|
+
var name = parts.slice(1, -1).join(".");
|
|
49227
|
+
if (!scope || !name) return null;
|
|
49228
|
+
return "@" + scope + "/" + name;
|
|
49229
|
+
}
|
|
49230
|
+
function _hasGrant(granted) {
|
|
49231
|
+
if (!granted || _typeof(granted) !== "object") return false;
|
|
49232
|
+
var servers = granted.servers || {};
|
|
49233
|
+
if (Object.keys(servers).some(function (k) {
|
|
49234
|
+
return servers[k];
|
|
49235
|
+
})) return true;
|
|
49236
|
+
var domains = granted.domains || {};
|
|
49237
|
+
if (domains.fs) {
|
|
49238
|
+
if ((domains.fs.readPaths || []).length > 0 || (domains.fs.writePaths || []).length > 0) {
|
|
49239
|
+
return true;
|
|
49240
|
+
}
|
|
49241
|
+
}
|
|
49242
|
+
if (domains.network) {
|
|
49243
|
+
if ((domains.network.hosts || []).length > 0) return true;
|
|
49244
|
+
}
|
|
49245
|
+
return false;
|
|
49246
|
+
}
|
|
49247
|
+
function groupRowsByPackage(rows) {
|
|
49248
|
+
if (!Array.isArray(rows)) return [];
|
|
49249
|
+
var byPackage = new Map();
|
|
49250
|
+
var _iterator = _createForOfIteratorHelper$b(rows),
|
|
49251
|
+
_step;
|
|
49252
|
+
try {
|
|
49253
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
49254
|
+
var row = _step.value;
|
|
49255
|
+
var packageId = _parsePackageId(row.widgetId);
|
|
49256
|
+
var key = packageId || "__ungrouped__";
|
|
49257
|
+
if (!byPackage.has(key)) {
|
|
49258
|
+
byPackage.set(key, {
|
|
49259
|
+
packageId: packageId,
|
|
49260
|
+
displayName: packageId || "Ungrouped",
|
|
49261
|
+
widgets: [],
|
|
49262
|
+
grantCount: 0,
|
|
49263
|
+
hasAnyGrant: false
|
|
49264
|
+
});
|
|
49265
|
+
}
|
|
49266
|
+
var group = byPackage.get(key);
|
|
49267
|
+
group.widgets.push(row);
|
|
49268
|
+
if (_hasGrant(row.granted)) {
|
|
49269
|
+
group.grantCount += 1;
|
|
49270
|
+
group.hasAnyGrant = true;
|
|
49271
|
+
}
|
|
49272
|
+
}
|
|
49273
|
+
} catch (err) {
|
|
49274
|
+
_iterator.e(err);
|
|
49275
|
+
} finally {
|
|
49276
|
+
_iterator.f();
|
|
49277
|
+
}
|
|
49278
|
+
return Array.from(byPackage.values()).sort(function (a, b) {
|
|
49279
|
+
return a.displayName.localeCompare(b.displayName);
|
|
49280
|
+
});
|
|
49281
|
+
}
|
|
49282
|
+
|
|
49283
|
+
/**
|
|
49284
|
+
* PrivacySecurityList
|
|
49285
|
+
*
|
|
49286
|
+
* Left column of the redesigned Privacy & Security section. Mirrors
|
|
49287
|
+
* the DashboardsSection list style (search + Tabs3 toggle + grouped
|
|
49288
|
+
* Sidebar items with badge counts).
|
|
49289
|
+
*
|
|
49290
|
+
* Search matches against packageId AND component names within each
|
|
49291
|
+
* package, so typing "search" finds the package containing
|
|
49292
|
+
* GDriveFileSearch.
|
|
49293
|
+
*/
|
|
49294
|
+
function _matchesQuery(group, query) {
|
|
49295
|
+
if (!query) return true;
|
|
49296
|
+
var lower = query.toLowerCase();
|
|
49297
|
+
if (group.displayName.toLowerCase().includes(lower)) return true;
|
|
49298
|
+
// Match against component names within the package — typing
|
|
49299
|
+
// "search" surfaces the package containing GDriveFileSearch.
|
|
49300
|
+
return group.widgets.some(function (w) {
|
|
49301
|
+
return (w.widgetId || "").toLowerCase().includes(lower);
|
|
49302
|
+
});
|
|
49303
|
+
}
|
|
49304
|
+
var PrivacySecurityList = function PrivacySecurityList(_ref) {
|
|
49305
|
+
var packageGroups = _ref.packageGroups,
|
|
49306
|
+
selectedPackageKey = _ref.selectedPackageKey,
|
|
49307
|
+
onSelectPackage = _ref.onSelectPackage,
|
|
49308
|
+
searchQuery = _ref.searchQuery,
|
|
49309
|
+
onSearchChange = _ref.onSearchChange,
|
|
49310
|
+
viewMode = _ref.viewMode,
|
|
49311
|
+
onViewModeChange = _ref.onViewModeChange;
|
|
49312
|
+
var _useContext = useContext(ThemeContext),
|
|
49313
|
+
currentTheme = _useContext.currentTheme;
|
|
49314
|
+
var headerStyles = getStylesForItem(themeObjects.PANEL_HEADER, currentTheme, {
|
|
49315
|
+
grow: false
|
|
49316
|
+
});
|
|
49317
|
+
var filtered = packageGroups.filter(function (g) {
|
|
49318
|
+
return _matchesQuery(g, searchQuery);
|
|
49319
|
+
});
|
|
49320
|
+
var withGrants = filtered.filter(function (g) {
|
|
49321
|
+
return g.hasAnyGrant;
|
|
49322
|
+
});
|
|
49323
|
+
var withoutGrants = filtered.filter(function (g) {
|
|
49324
|
+
return !g.hasAnyGrant;
|
|
49325
|
+
});
|
|
49326
|
+
|
|
49327
|
+
// packageId can be null (Ungrouped). Use displayName as a stable
|
|
49328
|
+
// selection key so null packageIds still differentiate.
|
|
49329
|
+
var keyFor = function keyFor(group) {
|
|
49330
|
+
return group.packageId == null ? "__ungrouped__" : group.packageId;
|
|
49331
|
+
};
|
|
49332
|
+
function renderPackageItem(group) {
|
|
49333
|
+
var key = keyFor(group);
|
|
49334
|
+
var isSelected = selectedPackageKey === key;
|
|
49335
|
+
return /*#__PURE__*/jsx(Sidebar.Item, {
|
|
49336
|
+
icon: /*#__PURE__*/jsx(FontAwesomeIcon, {
|
|
49337
|
+
icon: group.hasAnyGrant ? "shield-halved" : "shield",
|
|
49338
|
+
className: "h-3.5 w-3.5"
|
|
49339
|
+
}),
|
|
49340
|
+
active: isSelected,
|
|
49341
|
+
onClick: function onClick() {
|
|
49342
|
+
return onSelectPackage(key);
|
|
49343
|
+
},
|
|
49344
|
+
badge: String(group.grantCount),
|
|
49345
|
+
className: isSelected ? "bg-white/10 opacity-100" : "",
|
|
49346
|
+
children: group.displayName
|
|
49347
|
+
}, key);
|
|
49348
|
+
}
|
|
49349
|
+
return /*#__PURE__*/jsxs("div", {
|
|
49350
|
+
className: "flex flex-col h-full",
|
|
49351
|
+
children: [/*#__PURE__*/jsxs("div", {
|
|
49352
|
+
className: "flex-shrink-0 flex flex-col gap-2 px-3 py-2 ".concat(headerStyles.backgroundColor || ""),
|
|
49353
|
+
children: [/*#__PURE__*/jsx(SearchInput, {
|
|
49354
|
+
value: searchQuery,
|
|
49355
|
+
onChange: onSearchChange,
|
|
49356
|
+
placeholder: "Search packages...",
|
|
49357
|
+
inputClassName: "py-1.5 text-xs"
|
|
49358
|
+
}), /*#__PURE__*/jsx(Tabs3, {
|
|
49359
|
+
value: viewMode,
|
|
49360
|
+
onValueChange: onViewModeChange,
|
|
49361
|
+
backgroundColor: "bg-transparent",
|
|
49362
|
+
spacing: "p-0",
|
|
49363
|
+
children: /*#__PURE__*/jsxs(Tabs3.List, {
|
|
49364
|
+
className: "w-full flex",
|
|
49365
|
+
spacing: "p-0.5",
|
|
49366
|
+
children: [/*#__PURE__*/jsx(Tabs3.Trigger, {
|
|
49367
|
+
value: "grouped",
|
|
49368
|
+
className: "flex-1",
|
|
49369
|
+
children: "Grouped"
|
|
49370
|
+
}), /*#__PURE__*/jsx(Tabs3.Trigger, {
|
|
49371
|
+
value: "alphabetical",
|
|
49372
|
+
className: "flex-1",
|
|
49373
|
+
children: "A-Z"
|
|
49374
|
+
})]
|
|
49375
|
+
})
|
|
49376
|
+
})]
|
|
49377
|
+
}), /*#__PURE__*/jsx("div", {
|
|
49378
|
+
className: "flex-1 overflow-y-auto min-h-0",
|
|
49379
|
+
children: /*#__PURE__*/jsxs(Sidebar.Content, {
|
|
49380
|
+
children: [viewMode === "grouped" ? /*#__PURE__*/jsxs(Fragment, {
|
|
49381
|
+
children: [withGrants.length > 0 && /*#__PURE__*/jsx(Sidebar.Group, {
|
|
49382
|
+
label: "Has grants",
|
|
49383
|
+
children: withGrants.map(renderPackageItem)
|
|
49384
|
+
}), withoutGrants.length > 0 && /*#__PURE__*/jsx(Sidebar.Group, {
|
|
49385
|
+
label: "No grants",
|
|
49386
|
+
children: withoutGrants.map(renderPackageItem)
|
|
49387
|
+
})]
|
|
49388
|
+
}) : filtered.map(renderPackageItem), filtered.length === 0 && /*#__PURE__*/jsx("span", {
|
|
49389
|
+
className: "text-sm opacity-40 py-8 text-center block",
|
|
49390
|
+
children: searchQuery ? "No packages match your search" : "No widgets installed"
|
|
49391
|
+
})]
|
|
49392
|
+
})
|
|
49393
|
+
})]
|
|
49394
|
+
});
|
|
49395
|
+
};
|
|
49396
|
+
|
|
49397
|
+
var GrantOriginBadge = function GrantOriginBadge(_ref) {
|
|
49398
|
+
var origin = _ref.origin;
|
|
49399
|
+
var styles = {
|
|
49400
|
+
declared: {
|
|
49401
|
+
label: "declared",
|
|
49402
|
+
color: "text-green-400"
|
|
49403
|
+
},
|
|
49404
|
+
discovered: {
|
|
49405
|
+
label: "discovered",
|
|
49406
|
+
color: "text-amber-400"
|
|
49407
|
+
},
|
|
49408
|
+
manual: {
|
|
49409
|
+
label: "manual",
|
|
49410
|
+
color: "text-blue-400"
|
|
49411
|
+
},
|
|
49412
|
+
live: {
|
|
49413
|
+
label: "live",
|
|
49414
|
+
color: "text-purple-400"
|
|
49415
|
+
}
|
|
49416
|
+
};
|
|
49417
|
+
var style = styles[origin];
|
|
49418
|
+
if (!style) return null;
|
|
49419
|
+
return /*#__PURE__*/jsx("span", {
|
|
49420
|
+
className: "text-xs uppercase tracking-wider ".concat(style.color),
|
|
49421
|
+
title: "Origin: ".concat(origin),
|
|
49422
|
+
children: style.label
|
|
49423
|
+
});
|
|
49424
|
+
};
|
|
49425
|
+
var PermsList = function PermsList(_ref2) {
|
|
49426
|
+
var label = _ref2.label,
|
|
49427
|
+
declaredItems = _ref2.declaredItems,
|
|
49428
|
+
grantedItems = _ref2.grantedItems;
|
|
49429
|
+
if (declaredItems.length === 0 && grantedItems.length === 0) return null;
|
|
49430
|
+
var grantedSet = new Set(grantedItems);
|
|
49431
|
+
var declaredSet = new Set(declaredItems);
|
|
49432
|
+
var all = Array.from(new Set([].concat(_toConsumableArray(declaredItems), _toConsumableArray(grantedItems))));
|
|
49433
|
+
return /*#__PURE__*/jsxs("div", {
|
|
49434
|
+
className: "flex flex-col space-y-1",
|
|
49435
|
+
children: [/*#__PURE__*/jsx("span", {
|
|
49436
|
+
className: "text-xs opacity-50",
|
|
49437
|
+
children: label
|
|
49438
|
+
}), all.map(function (item) {
|
|
49439
|
+
var isGranted = grantedSet.has(item);
|
|
49440
|
+
var isDeclared = declaredSet.has(item);
|
|
49441
|
+
var isStale = isGranted && !isDeclared;
|
|
49442
|
+
return /*#__PURE__*/jsxs("span", {
|
|
49443
|
+
className: "text-xs font-mono break-all ".concat(isStale ? "text-amber-400" : isGranted ? "opacity-100" : "opacity-50 line-through"),
|
|
49444
|
+
children: [item, isStale && /*#__PURE__*/jsx("span", {
|
|
49445
|
+
className: "ml-2 not-italic font-sans normal-case tracking-normal text-amber-400",
|
|
49446
|
+
children: "(stale \u2014 widget no longer requests this; consider revoking)"
|
|
49447
|
+
})]
|
|
49448
|
+
}, item);
|
|
49449
|
+
})]
|
|
49450
|
+
});
|
|
49451
|
+
};
|
|
49452
|
+
|
|
49453
|
+
/**
|
|
49454
|
+
* True when the granted entry has at least one item AND every granted
|
|
49455
|
+
* item is missing from the current declared block. Used to surface a
|
|
49456
|
+
* "this whole server's grant looks unused" suggestion at the row level.
|
|
49457
|
+
*/
|
|
49458
|
+
function isServerEntirelyStale(decl, grant) {
|
|
49459
|
+
if (!grant) return false;
|
|
49460
|
+
var declTools = new Set(decl.tools || []);
|
|
49461
|
+
var declRead = new Set(decl.readPaths || []);
|
|
49462
|
+
var declWrite = new Set(decl.writePaths || []);
|
|
49463
|
+
var grantedTools = grant.tools || [];
|
|
49464
|
+
var grantedRead = grant.readPaths || [];
|
|
49465
|
+
var grantedWrite = grant.writePaths || [];
|
|
49466
|
+
var total = grantedTools.length + grantedRead.length + grantedWrite.length;
|
|
49467
|
+
if (total === 0) return false;
|
|
49468
|
+
var stale = grantedTools.every(function (t) {
|
|
49469
|
+
return !declTools.has(t);
|
|
49470
|
+
}) && grantedRead.every(function (p) {
|
|
49471
|
+
return !declRead.has(p);
|
|
49472
|
+
}) && grantedWrite.every(function (p) {
|
|
49473
|
+
return !declWrite.has(p);
|
|
49474
|
+
});
|
|
49475
|
+
return stale;
|
|
49476
|
+
}
|
|
49477
|
+
var WidgetGrantRow = function WidgetGrantRow(_ref3) {
|
|
49478
|
+
var _granted$domains, _granted$domains2;
|
|
49479
|
+
var widgetId = _ref3.widgetId,
|
|
49480
|
+
declared = _ref3.declared,
|
|
49481
|
+
granted = _ref3.granted,
|
|
49482
|
+
hasManifest = _ref3.hasManifest,
|
|
49483
|
+
grantOrigin = _ref3.grantOrigin,
|
|
49484
|
+
onRevokeWidget = _ref3.onRevokeWidget,
|
|
49485
|
+
onRevokeServer = _ref3.onRevokeServer,
|
|
49486
|
+
onGrantManually = _ref3.onGrantManually;
|
|
49487
|
+
var declaredServers = declared && declared.servers || {};
|
|
49488
|
+
var grantedServers = granted && granted.servers || {};
|
|
49489
|
+
var allServerNames = Array.from(new Set([].concat(_toConsumableArray(Object.keys(declaredServers)), _toConsumableArray(Object.keys(grantedServers)))));
|
|
49490
|
+
return /*#__PURE__*/jsxs("div", {
|
|
49491
|
+
className: "flex flex-col space-y-3 border border-gray-700 rounded p-3",
|
|
49492
|
+
children: [/*#__PURE__*/jsxs("div", {
|
|
49493
|
+
className: "flex flex-row items-center justify-between gap-2",
|
|
49494
|
+
children: [/*#__PURE__*/jsxs("div", {
|
|
49495
|
+
className: "flex flex-row items-center gap-2 min-w-0",
|
|
49496
|
+
children: [/*#__PURE__*/jsx("span", {
|
|
49497
|
+
className: "text-sm font-mono break-all",
|
|
49498
|
+
children: widgetId
|
|
49499
|
+
}), grantOrigin && /*#__PURE__*/jsx(GrantOriginBadge, {
|
|
49500
|
+
origin: grantOrigin
|
|
49501
|
+
}), !hasManifest && !granted && /*#__PURE__*/jsx("span", {
|
|
49502
|
+
className: "text-xs uppercase tracking-wider text-amber-400",
|
|
49503
|
+
children: "no manifest"
|
|
49504
|
+
})]
|
|
49505
|
+
}), /*#__PURE__*/jsxs("div", {
|
|
49506
|
+
className: "flex flex-row gap-2",
|
|
49507
|
+
children: [!hasManifest && !granted && /*#__PURE__*/jsx(Button, {
|
|
49508
|
+
title: "Grant manually",
|
|
49509
|
+
onClick: onGrantManually
|
|
49510
|
+
}), Object.keys(grantedServers).length > 0 && /*#__PURE__*/jsx(Button, {
|
|
49511
|
+
title: "Revoke all",
|
|
49512
|
+
onClick: onRevokeWidget
|
|
49513
|
+
})]
|
|
49514
|
+
})]
|
|
49515
|
+
}), !declared && !granted && /*#__PURE__*/jsx("span", {
|
|
49516
|
+
className: "text-xs opacity-50",
|
|
49517
|
+
children: "This widget did not declare MCP permissions and the install-time scanner found nothing. Use Grant manually if you trust it."
|
|
49518
|
+
}), allServerNames.map(function (serverName) {
|
|
49519
|
+
var decl = declaredServers[serverName] || {};
|
|
49520
|
+
var grant = grantedServers[serverName];
|
|
49521
|
+
var allStale = isServerEntirelyStale(decl, grant);
|
|
49522
|
+
return /*#__PURE__*/jsxs("div", {
|
|
49523
|
+
className: "flex flex-col space-y-2 border-t border-gray-800 pt-2",
|
|
49524
|
+
children: [/*#__PURE__*/jsxs("div", {
|
|
49525
|
+
className: "flex flex-row items-center justify-between",
|
|
49526
|
+
children: [/*#__PURE__*/jsxs("span", {
|
|
49527
|
+
className: "text-xs uppercase tracking-wider opacity-70",
|
|
49528
|
+
children: [serverName, !grant && /*#__PURE__*/jsx("span", {
|
|
49529
|
+
className: "ml-2 text-amber-400 normal-case tracking-normal",
|
|
49530
|
+
children: "(declared, not granted)"
|
|
49531
|
+
})]
|
|
49532
|
+
}), grant && /*#__PURE__*/jsx(Button, {
|
|
49533
|
+
title: "Revoke server",
|
|
49534
|
+
onClick: function onClick() {
|
|
49535
|
+
return onRevokeServer(serverName);
|
|
49536
|
+
}
|
|
49537
|
+
})]
|
|
49538
|
+
}), allStale && /*#__PURE__*/jsx("div", {
|
|
49539
|
+
className: "text-xs text-amber-400 bg-amber-900 bg-opacity-20 border border-amber-700 rounded px-2 py-1.5",
|
|
49540
|
+
children: "All grants on this server are no longer in the manifest \u2014 the widget likely no longer uses this server. Consider revoking."
|
|
49541
|
+
}), /*#__PURE__*/jsx(PermsList, {
|
|
49542
|
+
label: "Tools",
|
|
49543
|
+
declaredItems: decl.tools || [],
|
|
49544
|
+
grantedItems: (grant === null || grant === void 0 ? void 0 : grant.tools) || []
|
|
49545
|
+
}), /*#__PURE__*/jsx(PermsList, {
|
|
49546
|
+
label: "Read paths",
|
|
49547
|
+
declaredItems: decl.readPaths || [],
|
|
49548
|
+
grantedItems: (grant === null || grant === void 0 ? void 0 : grant.readPaths) || []
|
|
49549
|
+
}), /*#__PURE__*/jsx(PermsList, {
|
|
49550
|
+
label: "Write paths",
|
|
49551
|
+
declaredItems: decl.writePaths || [],
|
|
49552
|
+
grantedItems: (grant === null || grant === void 0 ? void 0 : grant.writePaths) || []
|
|
49553
|
+
})]
|
|
49554
|
+
}, serverName);
|
|
49555
|
+
}), (granted === null || granted === void 0 || (_granted$domains = granted.domains) === null || _granted$domains === void 0 ? void 0 : _granted$domains.fs) && ((granted.domains.fs.readPaths || []).length > 0 || (granted.domains.fs.writePaths || []).length > 0) && /*#__PURE__*/jsxs("div", {
|
|
49556
|
+
className: "flex flex-col space-y-2 border-t border-gray-800 pt-2",
|
|
49557
|
+
children: [/*#__PURE__*/jsx("span", {
|
|
49558
|
+
className: "text-xs uppercase tracking-wider opacity-70",
|
|
49559
|
+
children: "filesystem"
|
|
49560
|
+
}), Array.isArray(granted.domains.fs.actions) && granted.domains.fs.actions.length > 0 && /*#__PURE__*/jsx(PermsList, {
|
|
49561
|
+
label: "Actions",
|
|
49562
|
+
declaredItems: [],
|
|
49563
|
+
grantedItems: granted.domains.fs.actions
|
|
49564
|
+
}), /*#__PURE__*/jsx(PermsList, {
|
|
49565
|
+
label: "Read filenames",
|
|
49566
|
+
declaredItems: [],
|
|
49567
|
+
grantedItems: granted.domains.fs.readPaths || []
|
|
49568
|
+
}), /*#__PURE__*/jsx(PermsList, {
|
|
49569
|
+
label: "Write filenames",
|
|
49570
|
+
declaredItems: [],
|
|
49571
|
+
grantedItems: granted.domains.fs.writePaths || []
|
|
49572
|
+
})]
|
|
49573
|
+
}), (granted === null || granted === void 0 || (_granted$domains2 = granted.domains) === null || _granted$domains2 === void 0 ? void 0 : _granted$domains2.network) && (granted.domains.network.hosts || []).length > 0 && /*#__PURE__*/jsxs("div", {
|
|
49574
|
+
className: "flex flex-col space-y-2 border-t border-gray-800 pt-2",
|
|
49575
|
+
children: [/*#__PURE__*/jsx("span", {
|
|
49576
|
+
className: "text-xs uppercase tracking-wider opacity-70",
|
|
49577
|
+
children: "network"
|
|
49578
|
+
}), Array.isArray(granted.domains.network.actions) && granted.domains.network.actions.length > 0 && /*#__PURE__*/jsx(PermsList, {
|
|
49579
|
+
label: "Actions",
|
|
49580
|
+
declaredItems: [],
|
|
49581
|
+
grantedItems: granted.domains.network.actions
|
|
49582
|
+
}), /*#__PURE__*/jsx(PermsList, {
|
|
49583
|
+
label: "Allowed hosts",
|
|
49584
|
+
declaredItems: [],
|
|
49585
|
+
grantedItems: granted.domains.network.hosts || []
|
|
49586
|
+
})]
|
|
49587
|
+
})]
|
|
49588
|
+
});
|
|
49589
|
+
};
|
|
49590
|
+
|
|
49591
|
+
var WidgetPackageDetail = function WidgetPackageDetail(_ref) {
|
|
49592
|
+
var packageGroup = _ref.packageGroup,
|
|
49593
|
+
_onRevokeWidget = _ref.onRevokeWidget,
|
|
49594
|
+
_onRevokeServer = _ref.onRevokeServer,
|
|
49595
|
+
_onGrantManually = _ref.onGrantManually,
|
|
49596
|
+
onRevokePackage = _ref.onRevokePackage;
|
|
49597
|
+
var _useState = useState(false),
|
|
49598
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
49599
|
+
confirmRevokeAll = _useState2[0],
|
|
49600
|
+
setConfirmRevokeAll = _useState2[1];
|
|
49601
|
+
if (!packageGroup) return null;
|
|
49602
|
+
var packageId = packageGroup.packageId,
|
|
49603
|
+
displayName = packageGroup.displayName,
|
|
49604
|
+
widgets = packageGroup.widgets,
|
|
49605
|
+
grantCount = packageGroup.grantCount,
|
|
49606
|
+
hasAnyGrant = packageGroup.hasAnyGrant;
|
|
49607
|
+
return /*#__PURE__*/jsx("div", {
|
|
49608
|
+
className: "flex flex-col flex-1 min-h-0 overflow-y-auto",
|
|
49609
|
+
children: /*#__PURE__*/jsxs("div", {
|
|
49610
|
+
className: "flex flex-col space-y-4 p-6",
|
|
49611
|
+
children: [/*#__PURE__*/jsxs("div", {
|
|
49612
|
+
className: "flex flex-row items-start justify-between gap-4",
|
|
49613
|
+
children: [/*#__PURE__*/jsxs("div", {
|
|
49614
|
+
className: "flex flex-col min-w-0",
|
|
49615
|
+
children: [/*#__PURE__*/jsxs("div", {
|
|
49616
|
+
className: "flex flex-row items-center gap-2 min-w-0",
|
|
49617
|
+
children: [/*#__PURE__*/jsx(FontAwesomeIcon, {
|
|
49618
|
+
icon: packageId ? "box" : "circle-question",
|
|
49619
|
+
className: "h-4 w-4 opacity-70"
|
|
49620
|
+
}), /*#__PURE__*/jsx("span", {
|
|
49621
|
+
className: "text-base font-semibold text-gray-100 break-all",
|
|
49622
|
+
children: displayName
|
|
49623
|
+
})]
|
|
49624
|
+
}), /*#__PURE__*/jsxs("span", {
|
|
49625
|
+
className: "text-xs opacity-60 mt-1",
|
|
49626
|
+
children: [widgets.length, " widget", widgets.length === 1 ? "" : "s", " installed", hasAnyGrant ? " \xB7 ".concat(grantCount, " with grants") : " · no grants"]
|
|
49627
|
+
})]
|
|
49628
|
+
}), hasAnyGrant && /*#__PURE__*/jsx(Button, {
|
|
49629
|
+
title: "Revoke all in package",
|
|
49630
|
+
onClick: function onClick() {
|
|
49631
|
+
return setConfirmRevokeAll(true);
|
|
49632
|
+
},
|
|
49633
|
+
backgroundColor: "bg-red-700",
|
|
49634
|
+
textColor: "text-white",
|
|
49635
|
+
hoverBackgroundColor: "hover:bg-red-600"
|
|
49636
|
+
})]
|
|
49637
|
+
}), confirmRevokeAll && /*#__PURE__*/jsxs("div", {
|
|
49638
|
+
className: "flex flex-col gap-2 border border-amber-700 bg-amber-900 bg-opacity-20 rounded p-3",
|
|
49639
|
+
children: [/*#__PURE__*/jsxs("span", {
|
|
49640
|
+
className: "text-xs text-amber-300",
|
|
49641
|
+
children: ["Revoke grants for all ", grantCount, " widget", grantCount === 1 ? "" : "s", " in", " ", /*#__PURE__*/jsx("span", {
|
|
49642
|
+
className: "font-mono",
|
|
49643
|
+
children: displayName
|
|
49644
|
+
}), "? This cannot be undone \u2014 affected widgets will re-prompt next time they call a gated API."]
|
|
49645
|
+
}), /*#__PURE__*/jsxs("div", {
|
|
49646
|
+
className: "flex flex-row gap-2 justify-end",
|
|
49647
|
+
children: [/*#__PURE__*/jsx(Button, {
|
|
49648
|
+
title: "Cancel",
|
|
49649
|
+
onClick: function onClick() {
|
|
49650
|
+
return setConfirmRevokeAll(false);
|
|
49651
|
+
}
|
|
49652
|
+
}), /*#__PURE__*/jsx(Button, {
|
|
49653
|
+
title: "Revoke all",
|
|
49654
|
+
backgroundColor: "bg-red-700",
|
|
49655
|
+
textColor: "text-white",
|
|
49656
|
+
hoverBackgroundColor: "hover:bg-red-600",
|
|
49657
|
+
onClick: function onClick() {
|
|
49658
|
+
setConfirmRevokeAll(false);
|
|
49659
|
+
onRevokePackage && onRevokePackage(packageGroup);
|
|
49660
|
+
}
|
|
49661
|
+
})]
|
|
49662
|
+
})]
|
|
49663
|
+
}), /*#__PURE__*/jsx("div", {
|
|
49664
|
+
className: "flex flex-col space-y-3",
|
|
49665
|
+
children: widgets.map(function (row) {
|
|
49666
|
+
return /*#__PURE__*/jsx(WidgetGrantRow, {
|
|
49667
|
+
widgetId: row.widgetId,
|
|
49668
|
+
declared: row.declared,
|
|
49669
|
+
granted: row.granted,
|
|
49670
|
+
hasManifest: row.hasManifest,
|
|
49671
|
+
grantOrigin: row.grantOrigin,
|
|
49672
|
+
onRevokeWidget: function onRevokeWidget() {
|
|
49673
|
+
return _onRevokeWidget(row.widgetId);
|
|
49674
|
+
},
|
|
49675
|
+
onRevokeServer: function onRevokeServer(serverName) {
|
|
49676
|
+
return _onRevokeServer(row.widgetId, serverName);
|
|
49677
|
+
},
|
|
49678
|
+
onGrantManually: function onGrantManually() {
|
|
49679
|
+
return _onGrantManually(row.widgetId);
|
|
49680
|
+
}
|
|
49681
|
+
}, row.widgetId);
|
|
49682
|
+
})
|
|
49683
|
+
})]
|
|
49684
|
+
})
|
|
49685
|
+
});
|
|
49686
|
+
};
|
|
49687
|
+
|
|
49196
49688
|
function ownKeys$g(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
49197
49689
|
function _objectSpread$g(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$g(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$g(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
49690
|
+
function _createForOfIteratorHelper$a(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$a(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
49691
|
+
function _unsupportedIterableToArray$a(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$a(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$a(r, a) : void 0; } }
|
|
49692
|
+
function _arrayLikeToArray$a(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; }
|
|
49198
49693
|
var PrivacySecuritySection = function PrivacySecuritySection() {
|
|
49199
49694
|
var _useState = useState([]),
|
|
49200
49695
|
_useState2 = _slicedToArray(_useState, 2),
|
|
@@ -49216,6 +49711,18 @@ var PrivacySecuritySection = function PrivacySecuritySection() {
|
|
|
49216
49711
|
_useState0 = _slicedToArray(_useState9, 2),
|
|
49217
49712
|
knownServerNames = _useState0[0],
|
|
49218
49713
|
setKnownServerNames = _useState0[1];
|
|
49714
|
+
var _useState1 = useState(""),
|
|
49715
|
+
_useState10 = _slicedToArray(_useState1, 2),
|
|
49716
|
+
searchQuery = _useState10[0],
|
|
49717
|
+
setSearchQuery = _useState10[1];
|
|
49718
|
+
var _useState11 = useState("grouped"),
|
|
49719
|
+
_useState12 = _slicedToArray(_useState11, 2),
|
|
49720
|
+
viewMode = _useState12[0],
|
|
49721
|
+
setViewMode = _useState12[1];
|
|
49722
|
+
var _useState13 = useState(null),
|
|
49723
|
+
_useState14 = _slicedToArray(_useState13, 2),
|
|
49724
|
+
selectedPackageKey = _useState14[0],
|
|
49725
|
+
setSelectedPackageKey = _useState14[1];
|
|
49219
49726
|
var reload = useCallback(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
49220
49727
|
var _api$widgetMcp, api, result, _t;
|
|
49221
49728
|
return _regeneratorRuntime.wrap(function (_context) {
|
|
@@ -49256,10 +49763,6 @@ var PrivacySecuritySection = function PrivacySecuritySection() {
|
|
|
49256
49763
|
useEffect(function () {
|
|
49257
49764
|
reload();
|
|
49258
49765
|
}, [reload]);
|
|
49259
|
-
|
|
49260
|
-
// Pull catalog server names once, used as a datalist hint in the
|
|
49261
|
-
// manual-grant modal. Best-effort — if the API isn't there, the
|
|
49262
|
-
// datalist is just empty.
|
|
49263
49766
|
useEffect(function () {
|
|
49264
49767
|
var cancelled = false;
|
|
49265
49768
|
_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
|
|
@@ -49350,6 +49853,63 @@ var PrivacySecuritySection = function PrivacySecuritySection() {
|
|
|
49350
49853
|
return _ref4.apply(this, arguments);
|
|
49351
49854
|
};
|
|
49352
49855
|
}();
|
|
49856
|
+
var revokePackage = /*#__PURE__*/function () {
|
|
49857
|
+
var _ref5 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee5(packageGroup) {
|
|
49858
|
+
var _iterator, _step, _window$mainApi3, _window$mainApi3$revo, w, _t5, _t6;
|
|
49859
|
+
return _regeneratorRuntime.wrap(function (_context5) {
|
|
49860
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
49861
|
+
case 0:
|
|
49862
|
+
_context5.prev = 0;
|
|
49863
|
+
_iterator = _createForOfIteratorHelper$a(packageGroup.widgets);
|
|
49864
|
+
_context5.prev = 1;
|
|
49865
|
+
_iterator.s();
|
|
49866
|
+
case 2:
|
|
49867
|
+
if ((_step = _iterator.n()).done) {
|
|
49868
|
+
_context5.next = 5;
|
|
49869
|
+
break;
|
|
49870
|
+
}
|
|
49871
|
+
w = _step.value;
|
|
49872
|
+
if (w.granted) {
|
|
49873
|
+
_context5.next = 3;
|
|
49874
|
+
break;
|
|
49875
|
+
}
|
|
49876
|
+
return _context5.abrupt("continue", 4);
|
|
49877
|
+
case 3:
|
|
49878
|
+
_context5.next = 4;
|
|
49879
|
+
return (_window$mainApi3 = window.mainApi) === null || _window$mainApi3 === void 0 || (_window$mainApi3 = _window$mainApi3.widgetMcp) === null || _window$mainApi3 === void 0 || (_window$mainApi3$revo = _window$mainApi3.revoke) === null || _window$mainApi3$revo === void 0 ? void 0 : _window$mainApi3$revo.call(_window$mainApi3, w.widgetId);
|
|
49880
|
+
case 4:
|
|
49881
|
+
_context5.next = 2;
|
|
49882
|
+
break;
|
|
49883
|
+
case 5:
|
|
49884
|
+
_context5.next = 7;
|
|
49885
|
+
break;
|
|
49886
|
+
case 6:
|
|
49887
|
+
_context5.prev = 6;
|
|
49888
|
+
_t5 = _context5["catch"](1);
|
|
49889
|
+
_iterator.e(_t5);
|
|
49890
|
+
case 7:
|
|
49891
|
+
_context5.prev = 7;
|
|
49892
|
+
_iterator.f();
|
|
49893
|
+
return _context5.finish(7);
|
|
49894
|
+
case 8:
|
|
49895
|
+
reload();
|
|
49896
|
+
_context5.next = 10;
|
|
49897
|
+
break;
|
|
49898
|
+
case 9:
|
|
49899
|
+
_context5.prev = 9;
|
|
49900
|
+
_t6 = _context5["catch"](0);
|
|
49901
|
+
setError((_t6 === null || _t6 === void 0 ? void 0 : _t6.message) || String(_t6));
|
|
49902
|
+
reload();
|
|
49903
|
+
case 10:
|
|
49904
|
+
case "end":
|
|
49905
|
+
return _context5.stop();
|
|
49906
|
+
}
|
|
49907
|
+
}, _callee5, null, [[0, 9], [1, 6, 7, 8]]);
|
|
49908
|
+
}));
|
|
49909
|
+
return function revokePackage(_x4) {
|
|
49910
|
+
return _ref5.apply(this, arguments);
|
|
49911
|
+
};
|
|
49912
|
+
}();
|
|
49353
49913
|
if (loading) {
|
|
49354
49914
|
return /*#__PURE__*/jsx("div", {
|
|
49355
49915
|
className: "flex flex-col p-6",
|
|
@@ -49359,45 +49919,49 @@ var PrivacySecuritySection = function PrivacySecuritySection() {
|
|
|
49359
49919
|
})
|
|
49360
49920
|
});
|
|
49361
49921
|
}
|
|
49922
|
+
var packageGroups = groupRowsByPackage(rows);
|
|
49923
|
+
var selectedGroup = selectedPackageKey == null ? null : packageGroups.find(function (g) {
|
|
49924
|
+
return g.packageId == null ? selectedPackageKey === "__ungrouped__" : g.packageId === selectedPackageKey;
|
|
49925
|
+
}) || null;
|
|
49926
|
+
var listContent = /*#__PURE__*/jsx(PrivacySecurityList, {
|
|
49927
|
+
packageGroups: packageGroups,
|
|
49928
|
+
selectedPackageKey: selectedPackageKey,
|
|
49929
|
+
onSelectPackage: setSelectedPackageKey,
|
|
49930
|
+
searchQuery: searchQuery,
|
|
49931
|
+
onSearchChange: setSearchQuery,
|
|
49932
|
+
viewMode: viewMode,
|
|
49933
|
+
onViewModeChange: setViewMode
|
|
49934
|
+
});
|
|
49935
|
+
var detailContent = selectedGroup ? /*#__PURE__*/jsx(WidgetPackageDetail, {
|
|
49936
|
+
packageGroup: selectedGroup,
|
|
49937
|
+
onRevokeWidget: revokeWidget,
|
|
49938
|
+
onRevokeServer: revokeServer,
|
|
49939
|
+
onGrantManually: function onGrantManually(widgetId) {
|
|
49940
|
+
return setManualGrantWidgetId(widgetId);
|
|
49941
|
+
},
|
|
49942
|
+
onRevokePackage: revokePackage
|
|
49943
|
+
}) : null;
|
|
49362
49944
|
return /*#__PURE__*/jsxs("div", {
|
|
49363
|
-
className: "flex flex-col
|
|
49945
|
+
className: "flex flex-col flex-1 min-h-0",
|
|
49364
49946
|
children: [/*#__PURE__*/jsxs("div", {
|
|
49365
|
-
className: "flex flex-col space-y-
|
|
49366
|
-
children: [/*#__PURE__*/
|
|
49367
|
-
|
|
49368
|
-
|
|
49369
|
-
|
|
49370
|
-
|
|
49371
|
-
|
|
49947
|
+
className: "flex-shrink-0 flex flex-col space-y-4 p-6 border-b border-gray-800",
|
|
49948
|
+
children: [/*#__PURE__*/jsxs("div", {
|
|
49949
|
+
className: "flex flex-col space-y-2",
|
|
49950
|
+
children: [/*#__PURE__*/jsx(SubHeading3, {
|
|
49951
|
+
title: "Widget MCP permissions",
|
|
49952
|
+
padding: false
|
|
49953
|
+
}), /*#__PURE__*/jsx("span", {
|
|
49954
|
+
className: "text-xs opacity-60",
|
|
49955
|
+
children: "Granting access here is a trust signal about the widget \u2014 not a per-dashboard switch."
|
|
49956
|
+
})]
|
|
49957
|
+
}), /*#__PURE__*/jsx(EnforcementToggles, {}), /*#__PURE__*/jsx(HowThisWorksPanel, {}), error && /*#__PURE__*/jsx("div", {
|
|
49958
|
+
className: "text-xs text-red-400 bg-red-900 bg-opacity-20 border border-red-700 rounded p-3",
|
|
49959
|
+
children: error
|
|
49372
49960
|
})]
|
|
49373
|
-
}), /*#__PURE__*/jsx(
|
|
49374
|
-
|
|
49375
|
-
|
|
49376
|
-
|
|
49377
|
-
className: "text-sm opacity-60",
|
|
49378
|
-
children: "No widgets installed."
|
|
49379
|
-
}), rows.map(function (_ref5) {
|
|
49380
|
-
var widgetId = _ref5.widgetId,
|
|
49381
|
-
declared = _ref5.declared,
|
|
49382
|
-
granted = _ref5.granted,
|
|
49383
|
-
hasManifest = _ref5.hasManifest,
|
|
49384
|
-
grantOrigin = _ref5.grantOrigin;
|
|
49385
|
-
return /*#__PURE__*/jsx(WidgetGrantRow, {
|
|
49386
|
-
widgetId: widgetId,
|
|
49387
|
-
declared: declared,
|
|
49388
|
-
granted: granted,
|
|
49389
|
-
hasManifest: hasManifest,
|
|
49390
|
-
grantOrigin: grantOrigin,
|
|
49391
|
-
onRevokeWidget: function onRevokeWidget() {
|
|
49392
|
-
return revokeWidget(widgetId);
|
|
49393
|
-
},
|
|
49394
|
-
onRevokeServer: function onRevokeServer(serverName) {
|
|
49395
|
-
return revokeServer(widgetId, serverName);
|
|
49396
|
-
},
|
|
49397
|
-
onGrantManually: function onGrantManually() {
|
|
49398
|
-
return setManualGrantWidgetId(widgetId);
|
|
49399
|
-
}
|
|
49400
|
-
}, widgetId);
|
|
49961
|
+
}), /*#__PURE__*/jsx(SectionLayout, {
|
|
49962
|
+
listContent: listContent,
|
|
49963
|
+
detailContent: detailContent,
|
|
49964
|
+
emptyDetailMessage: "Select a package to view its grants"
|
|
49401
49965
|
}), /*#__PURE__*/jsx(GrantManuallyModal, {
|
|
49402
49966
|
isOpen: !!manualGrantWidgetId,
|
|
49403
49967
|
setIsOpen: function setIsOpen(open) {
|
|
@@ -49434,19 +49998,19 @@ var EnforcementToggles = function EnforcementToggles() {
|
|
|
49434
49998
|
// pendingDisable: { flag: 'enforce' | 'jit' } | null
|
|
49435
49999
|
// When the user toggles a flag from ON → OFF, we open a confirm modal
|
|
49436
50000
|
// before persisting. ON → ON or OFF → ON go through immediately.
|
|
49437
|
-
var
|
|
49438
|
-
|
|
49439
|
-
pendingDisable =
|
|
49440
|
-
setPendingDisable =
|
|
50001
|
+
var _useState15 = useState(null),
|
|
50002
|
+
_useState16 = _slicedToArray(_useState15, 2),
|
|
50003
|
+
pendingDisable = _useState16[0],
|
|
50004
|
+
setPendingDisable = _useState16[1];
|
|
49441
50005
|
|
|
49442
50006
|
// lastTestResult: feedback for the "Test prompt" button. Tells the
|
|
49443
50007
|
// user whether their JIT response was actually persisted, so they
|
|
49444
50008
|
// don't have to interpret the post-grant "server not connected"
|
|
49445
50009
|
// error as failure.
|
|
49446
|
-
var
|
|
49447
|
-
|
|
49448
|
-
lastTestResult =
|
|
49449
|
-
setLastTestResult =
|
|
50010
|
+
var _useState17 = useState(null),
|
|
50011
|
+
_useState18 = _slicedToArray(_useState17, 2),
|
|
50012
|
+
lastTestResult = _useState18[0],
|
|
50013
|
+
setLastTestResult = _useState18[1];
|
|
49450
50014
|
|
|
49451
50015
|
// Auto-clear the test result after 30 seconds so it doesn't linger
|
|
49452
50016
|
// forever after a successful test.
|
|
@@ -49516,22 +50080,22 @@ var EnforcementToggles = function EnforcementToggles() {
|
|
|
49516
50080
|
// message includes "JIT consent timed out" → timeout
|
|
49517
50081
|
// anything else → unknown error
|
|
49518
50082
|
var triggerTestJitPrompt = /*#__PURE__*/function () {
|
|
49519
|
-
var _ref6 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function
|
|
49520
|
-
var _window$
|
|
49521
|
-
return _regeneratorRuntime.wrap(function (
|
|
49522
|
-
while (1) switch (
|
|
50083
|
+
var _ref6 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee6() {
|
|
50084
|
+
var _window$mainApi4, _window$mainApi4$call, result, msg, _t7;
|
|
50085
|
+
return _regeneratorRuntime.wrap(function (_context6) {
|
|
50086
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
49523
50087
|
case 0:
|
|
49524
50088
|
setLastTestResult({
|
|
49525
50089
|
status: "pending",
|
|
49526
50090
|
message: "Waiting for response…"
|
|
49527
50091
|
});
|
|
49528
|
-
|
|
49529
|
-
|
|
49530
|
-
return (_window$
|
|
50092
|
+
_context6.prev = 1;
|
|
50093
|
+
_context6.next = 2;
|
|
50094
|
+
return (_window$mainApi4 = window.mainApi) === null || _window$mainApi4 === void 0 || (_window$mainApi4 = _window$mainApi4.mcp) === null || _window$mainApi4 === void 0 || (_window$mainApi4$call = _window$mainApi4.callTool) === null || _window$mainApi4$call === void 0 ? void 0 : _window$mainApi4$call.call(_window$mainApi4, "test-server", "test_tool", {
|
|
49531
50095
|
path: "/tmp/jit-probe.txt"
|
|
49532
50096
|
}, null, "@test/jit-probe");
|
|
49533
50097
|
case 2:
|
|
49534
|
-
result =
|
|
50098
|
+
result = _context6.sent;
|
|
49535
50099
|
// callTool resolves to { error, message } on the main side; classify.
|
|
49536
50100
|
msg = (result === null || result === void 0 ? void 0 : result.message) || JSON.stringify(result || {});
|
|
49537
50101
|
if (/server not connected/i.test(msg)) {
|
|
@@ -49555,20 +50119,20 @@ var EnforcementToggles = function EnforcementToggles() {
|
|
|
49555
50119
|
message: "Unexpected: " + msg
|
|
49556
50120
|
});
|
|
49557
50121
|
}
|
|
49558
|
-
|
|
50122
|
+
_context6.next = 4;
|
|
49559
50123
|
break;
|
|
49560
50124
|
case 3:
|
|
49561
|
-
|
|
49562
|
-
|
|
50125
|
+
_context6.prev = 3;
|
|
50126
|
+
_t7 = _context6["catch"](1);
|
|
49563
50127
|
setLastTestResult({
|
|
49564
50128
|
status: "error",
|
|
49565
|
-
message: "Test threw: " + ((
|
|
50129
|
+
message: "Test threw: " + ((_t7 === null || _t7 === void 0 ? void 0 : _t7.message) || String(_t7))
|
|
49566
50130
|
});
|
|
49567
50131
|
case 4:
|
|
49568
50132
|
case "end":
|
|
49569
|
-
return
|
|
50133
|
+
return _context6.stop();
|
|
49570
50134
|
}
|
|
49571
|
-
},
|
|
50135
|
+
}, _callee6, null, [[1, 3]]);
|
|
49572
50136
|
}));
|
|
49573
50137
|
return function triggerTestJitPrompt() {
|
|
49574
50138
|
return _ref6.apply(this, arguments);
|
|
@@ -49705,198 +50269,6 @@ var ConfirmDisableInline = function ConfirmDisableInline(_ref7) {
|
|
|
49705
50269
|
})]
|
|
49706
50270
|
});
|
|
49707
50271
|
};
|
|
49708
|
-
var WidgetGrantRow = function WidgetGrantRow(_ref8) {
|
|
49709
|
-
var _granted$domains, _granted$domains2;
|
|
49710
|
-
var widgetId = _ref8.widgetId,
|
|
49711
|
-
declared = _ref8.declared,
|
|
49712
|
-
granted = _ref8.granted,
|
|
49713
|
-
hasManifest = _ref8.hasManifest,
|
|
49714
|
-
grantOrigin = _ref8.grantOrigin,
|
|
49715
|
-
onRevokeWidget = _ref8.onRevokeWidget,
|
|
49716
|
-
onRevokeServer = _ref8.onRevokeServer,
|
|
49717
|
-
onGrantManually = _ref8.onGrantManually;
|
|
49718
|
-
var declaredServers = declared && declared.servers || {};
|
|
49719
|
-
var grantedServers = granted && granted.servers || {};
|
|
49720
|
-
var allServerNames = Array.from(new Set([].concat(_toConsumableArray(Object.keys(declaredServers)), _toConsumableArray(Object.keys(grantedServers)))));
|
|
49721
|
-
return /*#__PURE__*/jsxs("div", {
|
|
49722
|
-
className: "flex flex-col space-y-3 border border-gray-700 rounded p-3",
|
|
49723
|
-
children: [/*#__PURE__*/jsxs("div", {
|
|
49724
|
-
className: "flex flex-row items-center justify-between gap-2",
|
|
49725
|
-
children: [/*#__PURE__*/jsxs("div", {
|
|
49726
|
-
className: "flex flex-row items-center gap-2 min-w-0",
|
|
49727
|
-
children: [/*#__PURE__*/jsx("span", {
|
|
49728
|
-
className: "text-sm font-mono break-all",
|
|
49729
|
-
children: widgetId
|
|
49730
|
-
}), grantOrigin && /*#__PURE__*/jsx(GrantOriginBadge, {
|
|
49731
|
-
origin: grantOrigin
|
|
49732
|
-
}), !hasManifest && !granted && /*#__PURE__*/jsx("span", {
|
|
49733
|
-
className: "text-xs uppercase tracking-wider text-amber-400",
|
|
49734
|
-
children: "no manifest"
|
|
49735
|
-
})]
|
|
49736
|
-
}), /*#__PURE__*/jsxs("div", {
|
|
49737
|
-
className: "flex flex-row gap-2",
|
|
49738
|
-
children: [!hasManifest && !granted && /*#__PURE__*/jsx(Button, {
|
|
49739
|
-
title: "Grant manually",
|
|
49740
|
-
onClick: onGrantManually
|
|
49741
|
-
}), Object.keys(grantedServers).length > 0 && /*#__PURE__*/jsx(Button, {
|
|
49742
|
-
title: "Revoke all",
|
|
49743
|
-
onClick: onRevokeWidget
|
|
49744
|
-
})]
|
|
49745
|
-
})]
|
|
49746
|
-
}), !declared && !granted && /*#__PURE__*/jsx("span", {
|
|
49747
|
-
className: "text-xs opacity-50",
|
|
49748
|
-
children: "This widget did not declare MCP permissions and the install-time scanner found nothing. Use Grant manually if you trust it."
|
|
49749
|
-
}), allServerNames.map(function (serverName) {
|
|
49750
|
-
var decl = declaredServers[serverName] || {};
|
|
49751
|
-
var grant = grantedServers[serverName];
|
|
49752
|
-
var allStale = isServerEntirelyStale(decl, grant);
|
|
49753
|
-
return /*#__PURE__*/jsxs("div", {
|
|
49754
|
-
className: "flex flex-col space-y-2 border-t border-gray-800 pt-2",
|
|
49755
|
-
children: [/*#__PURE__*/jsxs("div", {
|
|
49756
|
-
className: "flex flex-row items-center justify-between",
|
|
49757
|
-
children: [/*#__PURE__*/jsxs("span", {
|
|
49758
|
-
className: "text-xs uppercase tracking-wider opacity-70",
|
|
49759
|
-
children: [serverName, !grant && /*#__PURE__*/jsx("span", {
|
|
49760
|
-
className: "ml-2 text-amber-400 normal-case tracking-normal",
|
|
49761
|
-
children: "(declared, not granted)"
|
|
49762
|
-
})]
|
|
49763
|
-
}), grant && /*#__PURE__*/jsx(Button, {
|
|
49764
|
-
title: "Revoke server",
|
|
49765
|
-
onClick: function onClick() {
|
|
49766
|
-
return onRevokeServer(serverName);
|
|
49767
|
-
}
|
|
49768
|
-
})]
|
|
49769
|
-
}), allStale && /*#__PURE__*/jsx("div", {
|
|
49770
|
-
className: "text-xs text-amber-400 bg-amber-900 bg-opacity-20 border border-amber-700 rounded px-2 py-1.5",
|
|
49771
|
-
children: "All grants on this server are no longer in the manifest \u2014 the widget likely no longer uses this server. Consider revoking."
|
|
49772
|
-
}), /*#__PURE__*/jsx(PermsList, {
|
|
49773
|
-
label: "Tools",
|
|
49774
|
-
declaredItems: decl.tools || [],
|
|
49775
|
-
grantedItems: (grant === null || grant === void 0 ? void 0 : grant.tools) || []
|
|
49776
|
-
}), /*#__PURE__*/jsx(PermsList, {
|
|
49777
|
-
label: "Read paths",
|
|
49778
|
-
declaredItems: decl.readPaths || [],
|
|
49779
|
-
grantedItems: (grant === null || grant === void 0 ? void 0 : grant.readPaths) || []
|
|
49780
|
-
}), /*#__PURE__*/jsx(PermsList, {
|
|
49781
|
-
label: "Write paths",
|
|
49782
|
-
declaredItems: decl.writePaths || [],
|
|
49783
|
-
grantedItems: (grant === null || grant === void 0 ? void 0 : grant.writePaths) || []
|
|
49784
|
-
})]
|
|
49785
|
-
}, serverName);
|
|
49786
|
-
}), (granted === null || granted === void 0 || (_granted$domains = granted.domains) === null || _granted$domains === void 0 ? void 0 : _granted$domains.fs) && ((granted.domains.fs.readPaths || []).length > 0 || (granted.domains.fs.writePaths || []).length > 0) && /*#__PURE__*/jsxs("div", {
|
|
49787
|
-
className: "flex flex-col space-y-2 border-t border-gray-800 pt-2",
|
|
49788
|
-
children: [/*#__PURE__*/jsx("span", {
|
|
49789
|
-
className: "text-xs uppercase tracking-wider opacity-70",
|
|
49790
|
-
children: "filesystem"
|
|
49791
|
-
}), /*#__PURE__*/jsx(PermsList, {
|
|
49792
|
-
label: "Read filenames",
|
|
49793
|
-
declaredItems: [],
|
|
49794
|
-
grantedItems: granted.domains.fs.readPaths || []
|
|
49795
|
-
}), /*#__PURE__*/jsx(PermsList, {
|
|
49796
|
-
label: "Write filenames",
|
|
49797
|
-
declaredItems: [],
|
|
49798
|
-
grantedItems: granted.domains.fs.writePaths || []
|
|
49799
|
-
})]
|
|
49800
|
-
}), (granted === null || granted === void 0 || (_granted$domains2 = granted.domains) === null || _granted$domains2 === void 0 ? void 0 : _granted$domains2.network) && (granted.domains.network.hosts || []).length > 0 && /*#__PURE__*/jsxs("div", {
|
|
49801
|
-
className: "flex flex-col space-y-2 border-t border-gray-800 pt-2",
|
|
49802
|
-
children: [/*#__PURE__*/jsx("span", {
|
|
49803
|
-
className: "text-xs uppercase tracking-wider opacity-70",
|
|
49804
|
-
children: "network"
|
|
49805
|
-
}), /*#__PURE__*/jsx(PermsList, {
|
|
49806
|
-
label: "Allowed hosts",
|
|
49807
|
-
declaredItems: [],
|
|
49808
|
-
grantedItems: granted.domains.network.hosts || []
|
|
49809
|
-
})]
|
|
49810
|
-
})]
|
|
49811
|
-
});
|
|
49812
|
-
};
|
|
49813
|
-
var PermsList = function PermsList(_ref9) {
|
|
49814
|
-
var label = _ref9.label,
|
|
49815
|
-
declaredItems = _ref9.declaredItems,
|
|
49816
|
-
grantedItems = _ref9.grantedItems;
|
|
49817
|
-
if (declaredItems.length === 0 && grantedItems.length === 0) return null;
|
|
49818
|
-
var grantedSet = new Set(grantedItems);
|
|
49819
|
-
var declaredSet = new Set(declaredItems);
|
|
49820
|
-
var all = Array.from(new Set([].concat(_toConsumableArray(declaredItems), _toConsumableArray(grantedItems))));
|
|
49821
|
-
return /*#__PURE__*/jsxs("div", {
|
|
49822
|
-
className: "flex flex-col space-y-1",
|
|
49823
|
-
children: [/*#__PURE__*/jsx("span", {
|
|
49824
|
-
className: "text-xs opacity-50",
|
|
49825
|
-
children: label
|
|
49826
|
-
}), all.map(function (item) {
|
|
49827
|
-
var isGranted = grantedSet.has(item);
|
|
49828
|
-
var isDeclared = declaredSet.has(item);
|
|
49829
|
-
var isStale = isGranted && !isDeclared;
|
|
49830
|
-
return /*#__PURE__*/jsxs("span", {
|
|
49831
|
-
className: "text-xs font-mono break-all ".concat(isStale ? "text-amber-400" : isGranted ? "opacity-100" : "opacity-50 line-through"),
|
|
49832
|
-
children: [item, isStale && /*#__PURE__*/jsx("span", {
|
|
49833
|
-
className: "ml-2 not-italic font-sans normal-case tracking-normal text-amber-400",
|
|
49834
|
-
children: "(stale \u2014 widget no longer requests this; consider revoking)"
|
|
49835
|
-
})]
|
|
49836
|
-
}, item);
|
|
49837
|
-
})]
|
|
49838
|
-
});
|
|
49839
|
-
};
|
|
49840
|
-
|
|
49841
|
-
/**
|
|
49842
|
-
* True when the granted entry has at least one item AND every granted
|
|
49843
|
-
* item is missing from the current declared block (i.e. all of this
|
|
49844
|
-
* server's grants are unused by the current manifest). Used to surface
|
|
49845
|
-
* a "this whole server's grant looks unused" suggestion at the row level.
|
|
49846
|
-
*/
|
|
49847
|
-
function isServerEntirelyStale(decl, grant) {
|
|
49848
|
-
if (!grant) return false;
|
|
49849
|
-
var declTools = new Set(decl.tools || []);
|
|
49850
|
-
var declRead = new Set(decl.readPaths || []);
|
|
49851
|
-
var declWrite = new Set(decl.writePaths || []);
|
|
49852
|
-
var grantedTools = grant.tools || [];
|
|
49853
|
-
var grantedRead = grant.readPaths || [];
|
|
49854
|
-
var grantedWrite = grant.writePaths || [];
|
|
49855
|
-
var total = grantedTools.length + grantedRead.length + grantedWrite.length;
|
|
49856
|
-
if (total === 0) return false;
|
|
49857
|
-
var stale = grantedTools.every(function (t) {
|
|
49858
|
-
return !declTools.has(t);
|
|
49859
|
-
}) && grantedRead.every(function (p) {
|
|
49860
|
-
return !declRead.has(p);
|
|
49861
|
-
}) && grantedWrite.every(function (p) {
|
|
49862
|
-
return !declWrite.has(p);
|
|
49863
|
-
});
|
|
49864
|
-
return stale;
|
|
49865
|
-
}
|
|
49866
|
-
|
|
49867
|
-
/**
|
|
49868
|
-
* Renders a small badge showing how the user got to this grant. Helps
|
|
49869
|
-
* the user audit grants that were approved against a scanner guess
|
|
49870
|
-
* rather than the developer's explicit declaration.
|
|
49871
|
-
*/
|
|
49872
|
-
var GrantOriginBadge = function GrantOriginBadge(_ref0) {
|
|
49873
|
-
var origin = _ref0.origin;
|
|
49874
|
-
var styles = {
|
|
49875
|
-
declared: {
|
|
49876
|
-
label: "declared",
|
|
49877
|
-
color: "text-green-400"
|
|
49878
|
-
},
|
|
49879
|
-
discovered: {
|
|
49880
|
-
label: "discovered",
|
|
49881
|
-
color: "text-amber-400"
|
|
49882
|
-
},
|
|
49883
|
-
manual: {
|
|
49884
|
-
label: "manual",
|
|
49885
|
-
color: "text-blue-400"
|
|
49886
|
-
},
|
|
49887
|
-
live: {
|
|
49888
|
-
label: "live",
|
|
49889
|
-
color: "text-purple-400"
|
|
49890
|
-
}
|
|
49891
|
-
};
|
|
49892
|
-
var style = styles[origin];
|
|
49893
|
-
if (!style) return null;
|
|
49894
|
-
return /*#__PURE__*/jsx("span", {
|
|
49895
|
-
className: "text-xs uppercase tracking-wider ".concat(style.color),
|
|
49896
|
-
title: "Origin: ".concat(origin),
|
|
49897
|
-
children: style.label
|
|
49898
|
-
});
|
|
49899
|
-
};
|
|
49900
50272
|
|
|
49901
50273
|
// Mock fixtures for the "Example rows" section. These use the same
|
|
49902
50274
|
// WidgetGrantRow component the real rows use, so the preview always
|
|
@@ -50039,10 +50411,10 @@ var noop = function noop() {};
|
|
|
50039
50411
|
* users who don't want the wall of text collapse manually.
|
|
50040
50412
|
*/
|
|
50041
50413
|
var HowThisWorksPanel = function HowThisWorksPanel() {
|
|
50042
|
-
var
|
|
50043
|
-
|
|
50044
|
-
open =
|
|
50045
|
-
setOpen =
|
|
50414
|
+
var _useState19 = useState(true),
|
|
50415
|
+
_useState20 = _slicedToArray(_useState19, 2),
|
|
50416
|
+
open = _useState20[0],
|
|
50417
|
+
setOpen = _useState20[1];
|
|
50046
50418
|
return /*#__PURE__*/jsxs("div", {
|
|
50047
50419
|
className: "border border-gray-700 rounded",
|
|
50048
50420
|
children: [/*#__PURE__*/jsxs("button", {
|