@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.js
CHANGED
|
@@ -3148,9 +3148,9 @@ var LayoutContainer = function LayoutContainer(_ref) {
|
|
|
3148
3148
|
|
|
3149
3149
|
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; }
|
|
3150
3150
|
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; }
|
|
3151
|
-
function _createForOfIteratorHelper$
|
|
3152
|
-
function _unsupportedIterableToArray$
|
|
3153
|
-
function _arrayLikeToArray$
|
|
3151
|
+
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; } } }; }
|
|
3152
|
+
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; } }
|
|
3153
|
+
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; }
|
|
3154
3154
|
/**
|
|
3155
3155
|
* Layout template definitions for the dashboard template picker.
|
|
3156
3156
|
*
|
|
@@ -3424,7 +3424,7 @@ function createLayoutFromTemplate(template) {
|
|
|
3424
3424
|
cols: template.cols,
|
|
3425
3425
|
gap: "gap-2"
|
|
3426
3426
|
};
|
|
3427
|
-
var _iterator = _createForOfIteratorHelper$
|
|
3427
|
+
var _iterator = _createForOfIteratorHelper$C(template.cells),
|
|
3428
3428
|
_step;
|
|
3429
3429
|
try {
|
|
3430
3430
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -4605,9 +4605,9 @@ var DashboardInstallOptionsModal = function DashboardInstallOptionsModal(_ref) {
|
|
|
4605
4605
|
});
|
|
4606
4606
|
};
|
|
4607
4607
|
|
|
4608
|
-
function _createForOfIteratorHelper$
|
|
4609
|
-
function _unsupportedIterableToArray$
|
|
4610
|
-
function _arrayLikeToArray$
|
|
4608
|
+
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; } } }; }
|
|
4609
|
+
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; } }
|
|
4610
|
+
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; }
|
|
4611
4611
|
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; }
|
|
4612
4612
|
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; }
|
|
4613
4613
|
var RegistryDashboardDetail = function RegistryDashboardDetail(_ref) {
|
|
@@ -4965,7 +4965,7 @@ var RegistryDashboardDetail = function RegistryDashboardDetail(_ref) {
|
|
|
4965
4965
|
toInstall = 0,
|
|
4966
4966
|
unavailable = 0,
|
|
4967
4967
|
hasUnavailableRequired = false;
|
|
4968
|
-
var _iterator = _createForOfIteratorHelper$
|
|
4968
|
+
var _iterator = _createForOfIteratorHelper$B(widgetDeps),
|
|
4969
4969
|
_step;
|
|
4970
4970
|
try {
|
|
4971
4971
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -6610,9 +6610,9 @@ function cleanIpcError(message) {
|
|
|
6610
6610
|
return match ? match[1] : message;
|
|
6611
6611
|
}
|
|
6612
6612
|
|
|
6613
|
-
function _createForOfIteratorHelper$
|
|
6614
|
-
function _unsupportedIterableToArray$
|
|
6615
|
-
function _arrayLikeToArray$
|
|
6613
|
+
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; } } }; }
|
|
6614
|
+
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; } }
|
|
6615
|
+
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; }
|
|
6616
6616
|
|
|
6617
6617
|
/**
|
|
6618
6618
|
* useRegistrySearch — shared hook for browsing and installing registry packages.
|
|
@@ -6726,13 +6726,13 @@ var useRegistrySearch = function useRegistrySearch() {
|
|
|
6726
6726
|
return c.toLowerCase();
|
|
6727
6727
|
}));
|
|
6728
6728
|
widgets = [];
|
|
6729
|
-
_iterator = _createForOfIteratorHelper$
|
|
6729
|
+
_iterator = _createForOfIteratorHelper$A(pkgs);
|
|
6730
6730
|
try {
|
|
6731
6731
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
6732
6732
|
pkg = _step.value;
|
|
6733
6733
|
// Compute missing APIs for the entire package
|
|
6734
6734
|
allApiProviders = [];
|
|
6735
|
-
_iterator2 = _createForOfIteratorHelper$
|
|
6735
|
+
_iterator2 = _createForOfIteratorHelper$A(pkg.providers || []);
|
|
6736
6736
|
try {
|
|
6737
6737
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
6738
6738
|
p = _step2.value;
|
|
@@ -6745,11 +6745,11 @@ var useRegistrySearch = function useRegistrySearch() {
|
|
|
6745
6745
|
} finally {
|
|
6746
6746
|
_iterator2.f();
|
|
6747
6747
|
}
|
|
6748
|
-
_iterator3 = _createForOfIteratorHelper$
|
|
6748
|
+
_iterator3 = _createForOfIteratorHelper$A(pkg.widgets || []);
|
|
6749
6749
|
try {
|
|
6750
6750
|
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
6751
6751
|
w = _step3.value;
|
|
6752
|
-
_iterator5 = _createForOfIteratorHelper$
|
|
6752
|
+
_iterator5 = _createForOfIteratorHelper$A(w.providers || []);
|
|
6753
6753
|
try {
|
|
6754
6754
|
for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
|
|
6755
6755
|
_p = _step5.value;
|
|
@@ -6771,7 +6771,7 @@ var useRegistrySearch = function useRegistrySearch() {
|
|
|
6771
6771
|
missingApis = _toConsumableArray(new Set(allApiProviders)).filter(function (api) {
|
|
6772
6772
|
return !capSet.has(api.toLowerCase());
|
|
6773
6773
|
});
|
|
6774
|
-
_iterator4 = _createForOfIteratorHelper$
|
|
6774
|
+
_iterator4 = _createForOfIteratorHelper$A(pkg.widgets || []);
|
|
6775
6775
|
try {
|
|
6776
6776
|
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
6777
6777
|
widget = _step4.value;
|
|
@@ -7478,9 +7478,9 @@ function applyFilters(items, filters, mode) {
|
|
|
7478
7478
|
});
|
|
7479
7479
|
}
|
|
7480
7480
|
|
|
7481
|
-
function _createForOfIteratorHelper$
|
|
7482
|
-
function _unsupportedIterableToArray$
|
|
7483
|
-
function _arrayLikeToArray$
|
|
7481
|
+
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; } } }; }
|
|
7482
|
+
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; } }
|
|
7483
|
+
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; }
|
|
7484
7484
|
var WizardCustomizeStep = function WizardCustomizeStep(_ref) {
|
|
7485
7485
|
var _state$selectedDashbo, _state$selectedDashbo2;
|
|
7486
7486
|
var state = _ref.state,
|
|
@@ -7699,7 +7699,7 @@ var WizardCustomizeStep = function WizardCustomizeStep(_ref) {
|
|
|
7699
7699
|
installedNames = new Set(installedList.map(function (w) {
|
|
7700
7700
|
return w.name;
|
|
7701
7701
|
}));
|
|
7702
|
-
_iterator = _createForOfIteratorHelper$
|
|
7702
|
+
_iterator = _createForOfIteratorHelper$z(state.selectedWidgets);
|
|
7703
7703
|
_context2.prev = 12;
|
|
7704
7704
|
_iterator.s();
|
|
7705
7705
|
case 13:
|
|
@@ -9269,9 +9269,9 @@ var PanelEditItem = function PanelEditItem(_ref) {
|
|
|
9269
9269
|
};
|
|
9270
9270
|
|
|
9271
9271
|
var _excluded$6 = ["rows", "cols"];
|
|
9272
|
-
function _createForOfIteratorHelper$
|
|
9273
|
-
function _unsupportedIterableToArray$
|
|
9274
|
-
function _arrayLikeToArray$
|
|
9272
|
+
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; } } }; }
|
|
9273
|
+
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; } }
|
|
9274
|
+
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; }
|
|
9275
9275
|
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; }
|
|
9276
9276
|
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; }
|
|
9277
9277
|
var defaultGrid = {
|
|
@@ -9424,7 +9424,7 @@ function GridEditor(_ref) {
|
|
|
9424
9424
|
function sortObjectByKeys(obj) {
|
|
9425
9425
|
var sortedKeys = Object.keys(obj).sort();
|
|
9426
9426
|
var sortedObj = {};
|
|
9427
|
-
var _iterator = _createForOfIteratorHelper$
|
|
9427
|
+
var _iterator = _createForOfIteratorHelper$y(sortedKeys),
|
|
9428
9428
|
_step;
|
|
9429
9429
|
try {
|
|
9430
9430
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -9897,9 +9897,9 @@ var PanelEditItemNotifications = function PanelEditItemNotifications(_ref) {
|
|
|
9897
9897
|
});
|
|
9898
9898
|
};
|
|
9899
9899
|
|
|
9900
|
-
function _createForOfIteratorHelper$
|
|
9901
|
-
function _unsupportedIterableToArray$
|
|
9902
|
-
function _arrayLikeToArray$
|
|
9900
|
+
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; } } }; }
|
|
9901
|
+
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; } }
|
|
9902
|
+
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; }
|
|
9903
9903
|
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; }
|
|
9904
9904
|
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; }
|
|
9905
9905
|
var DAYS = [{
|
|
@@ -10228,7 +10228,7 @@ var PanelEditItemSchedule = function PanelEditItemSchedule(_ref2) {
|
|
|
10228
10228
|
setIsLoading(true);
|
|
10229
10229
|
window.mainApi.scheduler.getTasks(widgetUuid).then(function (tasks) {
|
|
10230
10230
|
var stateMap = {};
|
|
10231
|
-
var _iterator = _createForOfIteratorHelper$
|
|
10231
|
+
var _iterator = _createForOfIteratorHelper$x(tasks || []),
|
|
10232
10232
|
_step;
|
|
10233
10233
|
try {
|
|
10234
10234
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -10487,9 +10487,9 @@ function isUserWidget(item) {
|
|
|
10487
10487
|
return true;
|
|
10488
10488
|
}
|
|
10489
10489
|
|
|
10490
|
-
function _createForOfIteratorHelper$
|
|
10491
|
-
function _unsupportedIterableToArray$
|
|
10492
|
-
function _arrayLikeToArray$
|
|
10490
|
+
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; } } }; }
|
|
10491
|
+
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; } }
|
|
10492
|
+
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; }
|
|
10493
10493
|
|
|
10494
10494
|
/**
|
|
10495
10495
|
* Resolve which provider name a given widget instance would bind to for
|
|
@@ -10521,7 +10521,7 @@ function resolveProviderName(_ref) {
|
|
|
10521
10521
|
// array. Support both because different callers shape it either way.
|
|
10522
10522
|
if (appProviders) {
|
|
10523
10523
|
if (Array.isArray(appProviders)) {
|
|
10524
|
-
var _iterator = _createForOfIteratorHelper$
|
|
10524
|
+
var _iterator = _createForOfIteratorHelper$w(appProviders),
|
|
10525
10525
|
_step;
|
|
10526
10526
|
try {
|
|
10527
10527
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -10581,7 +10581,7 @@ function forEachWidget(workspace, visit) {
|
|
|
10581
10581
|
};
|
|
10582
10582
|
var _walk = function walk(items) {
|
|
10583
10583
|
if (!Array.isArray(items)) return;
|
|
10584
|
-
var _iterator2 = _createForOfIteratorHelper$
|
|
10584
|
+
var _iterator2 = _createForOfIteratorHelper$w(items),
|
|
10585
10585
|
_step2;
|
|
10586
10586
|
try {
|
|
10587
10587
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
@@ -10622,7 +10622,7 @@ function forEachWidget(workspace, visit) {
|
|
|
10622
10622
|
// widgets that only live there (e.g. AI-place writes that bypass
|
|
10623
10623
|
// the page handler).
|
|
10624
10624
|
if (Array.isArray(workspace.pages)) {
|
|
10625
|
-
var _iterator3 = _createForOfIteratorHelper$
|
|
10625
|
+
var _iterator3 = _createForOfIteratorHelper$w(workspace.pages),
|
|
10626
10626
|
_step3;
|
|
10627
10627
|
try {
|
|
10628
10628
|
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
@@ -10673,7 +10673,7 @@ function getUnresolvedProviders(_ref2) {
|
|
|
10673
10673
|
// the same `type` listed twice (a Claude code-gen quirk), which
|
|
10674
10674
|
// would otherwise produce duplicate rows in the Providers tab.
|
|
10675
10675
|
var seenTypes = new Set();
|
|
10676
|
-
var _iterator4 = _createForOfIteratorHelper$
|
|
10676
|
+
var _iterator4 = _createForOfIteratorHelper$w(requirements),
|
|
10677
10677
|
_step4;
|
|
10678
10678
|
try {
|
|
10679
10679
|
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
@@ -10716,7 +10716,7 @@ function getUnresolvedProviders(_ref2) {
|
|
|
10716
10716
|
*/
|
|
10717
10717
|
function groupByProviderType(unresolved) {
|
|
10718
10718
|
var byType = new Map();
|
|
10719
|
-
var _iterator5 = _createForOfIteratorHelper$
|
|
10719
|
+
var _iterator5 = _createForOfIteratorHelper$w(unresolved || []),
|
|
10720
10720
|
_step5;
|
|
10721
10721
|
try {
|
|
10722
10722
|
for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
|
|
@@ -10758,7 +10758,7 @@ function getAllProviderBindings(_ref3) {
|
|
|
10758
10758
|
// quirk) which would otherwise duplicate the per-widget row in
|
|
10759
10759
|
// the Providers tab.
|
|
10760
10760
|
var seenTypes = new Set();
|
|
10761
|
-
var _iterator6 = _createForOfIteratorHelper$
|
|
10761
|
+
var _iterator6 = _createForOfIteratorHelper$w(requirements),
|
|
10762
10762
|
_step6;
|
|
10763
10763
|
try {
|
|
10764
10764
|
for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
|
|
@@ -10800,9 +10800,9 @@ function getAllProviderBindings(_ref3) {
|
|
|
10800
10800
|
|
|
10801
10801
|
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; }
|
|
10802
10802
|
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; }
|
|
10803
|
-
function _createForOfIteratorHelper$
|
|
10804
|
-
function _unsupportedIterableToArray$
|
|
10805
|
-
function _arrayLikeToArray$
|
|
10803
|
+
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; } } }; }
|
|
10804
|
+
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; } }
|
|
10805
|
+
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; }
|
|
10806
10806
|
var EVENT_STRING_RE = /^([^[]+)\[([^\]]+)\]\.(.+)$/;
|
|
10807
10807
|
|
|
10808
10808
|
/** Parse "Component[itemId].event" → { component, itemId, event }. */
|
|
@@ -10972,7 +10972,7 @@ function getCurrentWiring(workspace) {
|
|
|
10972
10972
|
// Live format is array; defensive guard for legacy object
|
|
10973
10973
|
// form (a single source widget keyed under the handler).
|
|
10974
10974
|
var events = Array.isArray(eventList) ? eventList : typeof eventList === "string" ? [eventList] : [];
|
|
10975
|
-
var _iterator = _createForOfIteratorHelper$
|
|
10975
|
+
var _iterator = _createForOfIteratorHelper$v(events),
|
|
10976
10976
|
_step;
|
|
10977
10977
|
try {
|
|
10978
10978
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -11035,7 +11035,7 @@ function getOrphanedListeners(workspace, getWidgetConfig) {
|
|
|
11035
11035
|
if (!byItemId.has(id)) byItemId.set(id, meta);
|
|
11036
11036
|
});
|
|
11037
11037
|
var orphans = [];
|
|
11038
|
-
var _iterator2 = _createForOfIteratorHelper$
|
|
11038
|
+
var _iterator2 = _createForOfIteratorHelper$v(wiring),
|
|
11039
11039
|
_step2;
|
|
11040
11040
|
try {
|
|
11041
11041
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
@@ -11101,7 +11101,7 @@ function pruneDeadListenerReferences(workspace) {
|
|
|
11101
11101
|
var liveKeys = new Set();
|
|
11102
11102
|
var _walkForLive = function walkForLive(items) {
|
|
11103
11103
|
if (!Array.isArray(items)) return;
|
|
11104
|
-
var _iterator3 = _createForOfIteratorHelper$
|
|
11104
|
+
var _iterator3 = _createForOfIteratorHelper$v(items),
|
|
11105
11105
|
_step3;
|
|
11106
11106
|
try {
|
|
11107
11107
|
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
@@ -11122,7 +11122,7 @@ function pruneDeadListenerReferences(workspace) {
|
|
|
11122
11122
|
};
|
|
11123
11123
|
_walkForLive(workspace.layout);
|
|
11124
11124
|
if (Array.isArray(workspace.pages)) {
|
|
11125
|
-
var _iterator4 = _createForOfIteratorHelper$
|
|
11125
|
+
var _iterator4 = _createForOfIteratorHelper$v(workspace.pages),
|
|
11126
11126
|
_step4;
|
|
11127
11127
|
try {
|
|
11128
11128
|
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
@@ -11139,7 +11139,7 @@ function pruneDeadListenerReferences(workspace) {
|
|
|
11139
11139
|
var removed = 0;
|
|
11140
11140
|
var _pruneListeners = function pruneListeners(items) {
|
|
11141
11141
|
if (!Array.isArray(items)) return;
|
|
11142
|
-
var _iterator5 = _createForOfIteratorHelper$
|
|
11142
|
+
var _iterator5 = _createForOfIteratorHelper$v(items),
|
|
11143
11143
|
_step5;
|
|
11144
11144
|
try {
|
|
11145
11145
|
for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
|
|
@@ -11151,7 +11151,7 @@ function pruneDeadListenerReferences(workspace) {
|
|
|
11151
11151
|
var events = item.listeners[handler];
|
|
11152
11152
|
if (!Array.isArray(events)) continue;
|
|
11153
11153
|
var kept = [];
|
|
11154
|
-
var _iterator6 = _createForOfIteratorHelper$
|
|
11154
|
+
var _iterator6 = _createForOfIteratorHelper$v(events),
|
|
11155
11155
|
_step6;
|
|
11156
11156
|
try {
|
|
11157
11157
|
for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
|
|
@@ -11186,7 +11186,7 @@ function pruneDeadListenerReferences(workspace) {
|
|
|
11186
11186
|
};
|
|
11187
11187
|
_pruneListeners(workspace.layout);
|
|
11188
11188
|
if (Array.isArray(workspace.pages)) {
|
|
11189
|
-
var _iterator7 = _createForOfIteratorHelper$
|
|
11189
|
+
var _iterator7 = _createForOfIteratorHelper$v(workspace.pages),
|
|
11190
11190
|
_step7;
|
|
11191
11191
|
try {
|
|
11192
11192
|
for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
|
|
@@ -11230,7 +11230,7 @@ function applyWiringChanges(workspace, _ref) {
|
|
|
11230
11230
|
});
|
|
11231
11231
|
return byReceiver.get(id);
|
|
11232
11232
|
};
|
|
11233
|
-
var _iterator8 = _createForOfIteratorHelper$
|
|
11233
|
+
var _iterator8 = _createForOfIteratorHelper$v(adds),
|
|
11234
11234
|
_step8;
|
|
11235
11235
|
try {
|
|
11236
11236
|
for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {
|
|
@@ -11243,7 +11243,7 @@ function applyWiringChanges(workspace, _ref) {
|
|
|
11243
11243
|
} finally {
|
|
11244
11244
|
_iterator8.f();
|
|
11245
11245
|
}
|
|
11246
|
-
var _iterator9 = _createForOfIteratorHelper$
|
|
11246
|
+
var _iterator9 = _createForOfIteratorHelper$v(removes),
|
|
11247
11247
|
_step9;
|
|
11248
11248
|
try {
|
|
11249
11249
|
for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {
|
|
@@ -11317,7 +11317,7 @@ function applyToItem(listeners, _ref2) {
|
|
|
11317
11317
|
}
|
|
11318
11318
|
|
|
11319
11319
|
// Removes first so a re-add (rare) lands.
|
|
11320
|
-
var _iterator0 = _createForOfIteratorHelper$
|
|
11320
|
+
var _iterator0 = _createForOfIteratorHelper$v(removes),
|
|
11321
11321
|
_step0;
|
|
11322
11322
|
try {
|
|
11323
11323
|
var _loop = function _loop() {
|
|
@@ -11346,7 +11346,7 @@ function applyToItem(listeners, _ref2) {
|
|
|
11346
11346
|
} finally {
|
|
11347
11347
|
_iterator0.f();
|
|
11348
11348
|
}
|
|
11349
|
-
var _iterator1 = _createForOfIteratorHelper$
|
|
11349
|
+
var _iterator1 = _createForOfIteratorHelper$v(adds),
|
|
11350
11350
|
_step1;
|
|
11351
11351
|
try {
|
|
11352
11352
|
for (_iterator1.s(); !(_step1 = _iterator1.n()).done;) {
|
|
@@ -14319,9 +14319,9 @@ function mcpJsonToFormState(jsonString, nextRowId) {
|
|
|
14319
14319
|
return result;
|
|
14320
14320
|
}
|
|
14321
14321
|
|
|
14322
|
-
function _createForOfIteratorHelper$
|
|
14323
|
-
function _unsupportedIterableToArray$
|
|
14324
|
-
function _arrayLikeToArray$
|
|
14322
|
+
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; } } }; }
|
|
14323
|
+
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; } }
|
|
14324
|
+
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; }
|
|
14325
14325
|
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; }
|
|
14326
14326
|
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; }
|
|
14327
14327
|
var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
|
|
@@ -14606,11 +14606,11 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
|
|
|
14606
14606
|
|
|
14607
14607
|
// Flatten all widgets from all packages for the widget list
|
|
14608
14608
|
flatWidgets = [];
|
|
14609
|
-
_iterator = _createForOfIteratorHelper$
|
|
14609
|
+
_iterator = _createForOfIteratorHelper$u(result.packages || []);
|
|
14610
14610
|
try {
|
|
14611
14611
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
14612
14612
|
pkg = _step.value;
|
|
14613
|
-
_iterator2 = _createForOfIteratorHelper$
|
|
14613
|
+
_iterator2 = _createForOfIteratorHelper$u(pkg.widgets || []);
|
|
14614
14614
|
try {
|
|
14615
14615
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
14616
14616
|
widget = _step2.value;
|
|
@@ -16504,9 +16504,9 @@ var useWidgetSchedulerStatus = function useWidgetSchedulerStatus(widgetId) {
|
|
|
16504
16504
|
};
|
|
16505
16505
|
};
|
|
16506
16506
|
|
|
16507
|
-
function _createForOfIteratorHelper$
|
|
16508
|
-
function _unsupportedIterableToArray$
|
|
16509
|
-
function _arrayLikeToArray$
|
|
16507
|
+
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; } } }; }
|
|
16508
|
+
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; } }
|
|
16509
|
+
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; }
|
|
16510
16510
|
function formatCountdown(ms) {
|
|
16511
16511
|
if (ms == null || ms < 0) return "--";
|
|
16512
16512
|
if (ms < 1000) return "< 1s";
|
|
@@ -16623,7 +16623,7 @@ var WidgetCardStatusBar = function WidgetCardStatusBar(_ref) {
|
|
|
16623
16623
|
|
|
16624
16624
|
// Find soonest countdown among enabled tasks
|
|
16625
16625
|
var soonestMs = null;
|
|
16626
|
-
var _iterator = _createForOfIteratorHelper$
|
|
16626
|
+
var _iterator = _createForOfIteratorHelper$t(enabledTasks),
|
|
16627
16627
|
_step;
|
|
16628
16628
|
try {
|
|
16629
16629
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -22165,9 +22165,9 @@ var ExternalWidget = function ExternalWidget(_ref) {
|
|
|
22165
22165
|
var GRID_CELL_WIDGET_TYPE = "grid-cell-widget";
|
|
22166
22166
|
var SIDEBAR_WIDGET_TYPE = "sidebar-widget";
|
|
22167
22167
|
|
|
22168
|
-
function _createForOfIteratorHelper$
|
|
22169
|
-
function _unsupportedIterableToArray$
|
|
22170
|
-
function _arrayLikeToArray$
|
|
22168
|
+
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; } } }; }
|
|
22169
|
+
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; } }
|
|
22170
|
+
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; }
|
|
22171
22171
|
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; }
|
|
22172
22172
|
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; }
|
|
22173
22173
|
|
|
@@ -22790,7 +22790,7 @@ var LayoutGridContainer = /*#__PURE__*/React.memo(function (_ref3) {
|
|
|
22790
22790
|
return selectable["delete"](cn);
|
|
22791
22791
|
});
|
|
22792
22792
|
var resolved = new Set();
|
|
22793
|
-
var _iterator = _createForOfIteratorHelper$
|
|
22793
|
+
var _iterator = _createForOfIteratorHelper$s(selectable),
|
|
22794
22794
|
_step;
|
|
22795
22795
|
try {
|
|
22796
22796
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -25199,9 +25199,9 @@ function migrateBareComponentName(componentMap, component) {
|
|
|
25199
25199
|
|
|
25200
25200
|
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; }
|
|
25201
25201
|
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; }
|
|
25202
|
-
function _createForOfIteratorHelper$
|
|
25203
|
-
function _unsupportedIterableToArray$
|
|
25204
|
-
function _arrayLikeToArray$
|
|
25202
|
+
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; } } }; }
|
|
25203
|
+
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; } }
|
|
25204
|
+
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; }
|
|
25205
25205
|
/**
|
|
25206
25206
|
* The model for all layout components used primarily in the renderLayout method
|
|
25207
25207
|
* @param {Object} layoutItem an object containing various attributes of the layout item
|
|
@@ -25213,7 +25213,7 @@ function _arrayLikeToArray$p(r, a) { (null == a || a > r.length) && (a = r.lengt
|
|
|
25213
25213
|
function sortObjectByKeys(obj) {
|
|
25214
25214
|
var sortedKeys = Object.keys(obj).sort();
|
|
25215
25215
|
var sortedObj = {};
|
|
25216
|
-
var _iterator = _createForOfIteratorHelper$
|
|
25216
|
+
var _iterator = _createForOfIteratorHelper$r(sortedKeys),
|
|
25217
25217
|
_step;
|
|
25218
25218
|
try {
|
|
25219
25219
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -25525,9 +25525,9 @@ var SettingsModel = function SettingsModel() {
|
|
|
25525
25525
|
return obj;
|
|
25526
25526
|
};
|
|
25527
25527
|
|
|
25528
|
-
function _createForOfIteratorHelper$
|
|
25529
|
-
function _unsupportedIterableToArray$
|
|
25530
|
-
function _arrayLikeToArray$
|
|
25528
|
+
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; } } }; }
|
|
25529
|
+
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; } }
|
|
25530
|
+
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; }
|
|
25531
25531
|
|
|
25532
25532
|
/**
|
|
25533
25533
|
* Workspace-level pre-pass that migrates legacy bare component
|
|
@@ -25602,7 +25602,7 @@ function migrateScopedIdsInWorkspace(workspace, componentMap) {
|
|
|
25602
25602
|
};
|
|
25603
25603
|
var _walk = function walk(items) {
|
|
25604
25604
|
if (!Array.isArray(items)) return;
|
|
25605
|
-
var _iterator = _createForOfIteratorHelper$
|
|
25605
|
+
var _iterator = _createForOfIteratorHelper$q(items),
|
|
25606
25606
|
_step;
|
|
25607
25607
|
try {
|
|
25608
25608
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -25624,7 +25624,7 @@ function migrateScopedIdsInWorkspace(workspace, componentMap) {
|
|
|
25624
25624
|
};
|
|
25625
25625
|
_walk(workspace.layout);
|
|
25626
25626
|
if (Array.isArray(workspace.pages)) {
|
|
25627
|
-
var _iterator2 = _createForOfIteratorHelper$
|
|
25627
|
+
var _iterator2 = _createForOfIteratorHelper$q(workspace.pages),
|
|
25628
25628
|
_step2;
|
|
25629
25629
|
try {
|
|
25630
25630
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
@@ -25641,9 +25641,9 @@ function migrateScopedIdsInWorkspace(workspace, componentMap) {
|
|
|
25641
25641
|
return counts;
|
|
25642
25642
|
}
|
|
25643
25643
|
|
|
25644
|
-
function _createForOfIteratorHelper$
|
|
25645
|
-
function _unsupportedIterableToArray$
|
|
25646
|
-
function _arrayLikeToArray$
|
|
25644
|
+
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; } } }; }
|
|
25645
|
+
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; } }
|
|
25646
|
+
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; }
|
|
25647
25647
|
/**
|
|
25648
25648
|
* cleanForeignWidgetsFromWorkspace.js
|
|
25649
25649
|
*
|
|
@@ -25684,7 +25684,7 @@ function cleanForeignWidgetsFromWorkspace(workspace) {
|
|
|
25684
25684
|
var _cleanList = function cleanList(items) {
|
|
25685
25685
|
if (!Array.isArray(items)) return items;
|
|
25686
25686
|
var kept = [];
|
|
25687
|
-
var _iterator = _createForOfIteratorHelper$
|
|
25687
|
+
var _iterator = _createForOfIteratorHelper$p(items),
|
|
25688
25688
|
_step;
|
|
25689
25689
|
try {
|
|
25690
25690
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -25721,7 +25721,7 @@ function cleanForeignWidgetsFromWorkspace(workspace) {
|
|
|
25721
25721
|
workspace.sidebarLayout = _cleanList(workspace.sidebarLayout);
|
|
25722
25722
|
}
|
|
25723
25723
|
if (Array.isArray(workspace.pages)) {
|
|
25724
|
-
var _iterator2 = _createForOfIteratorHelper$
|
|
25724
|
+
var _iterator2 = _createForOfIteratorHelper$p(workspace.pages),
|
|
25725
25725
|
_step2;
|
|
25726
25726
|
try {
|
|
25727
25727
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
@@ -25739,9 +25739,9 @@ function cleanForeignWidgetsFromWorkspace(workspace) {
|
|
|
25739
25739
|
return summary;
|
|
25740
25740
|
}
|
|
25741
25741
|
|
|
25742
|
-
function _createForOfIteratorHelper$
|
|
25743
|
-
function _unsupportedIterableToArray$
|
|
25744
|
-
function _arrayLikeToArray$
|
|
25742
|
+
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; } } }; }
|
|
25743
|
+
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; } }
|
|
25744
|
+
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; }
|
|
25745
25745
|
/**
|
|
25746
25746
|
* migrateLayoutItemTypes.js
|
|
25747
25747
|
*
|
|
@@ -25803,7 +25803,7 @@ function migrateLayoutItemTypes(workspace) {
|
|
|
25803
25803
|
};
|
|
25804
25804
|
var _walk = function walk(items) {
|
|
25805
25805
|
if (!Array.isArray(items)) return;
|
|
25806
|
-
var _iterator = _createForOfIteratorHelper$
|
|
25806
|
+
var _iterator = _createForOfIteratorHelper$o(items),
|
|
25807
25807
|
_step;
|
|
25808
25808
|
try {
|
|
25809
25809
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -25821,7 +25821,7 @@ function migrateLayoutItemTypes(workspace) {
|
|
|
25821
25821
|
};
|
|
25822
25822
|
_walk(workspace.layout);
|
|
25823
25823
|
if (Array.isArray(workspace.pages)) {
|
|
25824
|
-
var _iterator2 = _createForOfIteratorHelper$
|
|
25824
|
+
var _iterator2 = _createForOfIteratorHelper$o(workspace.pages),
|
|
25825
25825
|
_step2;
|
|
25826
25826
|
try {
|
|
25827
25827
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
@@ -26202,9 +26202,9 @@ var ThemeModel = function ThemeModel() {
|
|
|
26202
26202
|
}
|
|
26203
26203
|
};
|
|
26204
26204
|
|
|
26205
|
-
function _createForOfIteratorHelper$
|
|
26206
|
-
function _unsupportedIterableToArray$
|
|
26207
|
-
function _arrayLikeToArray$
|
|
26205
|
+
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; } } }; }
|
|
26206
|
+
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; } }
|
|
26207
|
+
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; }
|
|
26208
26208
|
/*
|
|
26209
26209
|
"component": AnalyticsReportsWidget,
|
|
26210
26210
|
"type":"widget",
|
|
@@ -26322,7 +26322,7 @@ var ComponentConfigModel = function ComponentConfigModel() {
|
|
|
26322
26322
|
if ("providers" in obj && Array.isArray(obj.providers)) {
|
|
26323
26323
|
var seen = new Set();
|
|
26324
26324
|
var cleaned = [];
|
|
26325
|
-
var _iterator = _createForOfIteratorHelper$
|
|
26325
|
+
var _iterator = _createForOfIteratorHelper$n(obj.providers),
|
|
26326
26326
|
_step;
|
|
26327
26327
|
try {
|
|
26328
26328
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -26370,9 +26370,9 @@ var MenuItemModel = function MenuItemModel() {
|
|
|
26370
26370
|
|
|
26371
26371
|
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; }
|
|
26372
26372
|
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; }
|
|
26373
|
-
function _createForOfIteratorHelper$
|
|
26374
|
-
function _unsupportedIterableToArray$
|
|
26375
|
-
function _arrayLikeToArray$
|
|
26373
|
+
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; } } }; }
|
|
26374
|
+
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; } }
|
|
26375
|
+
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; }
|
|
26376
26376
|
/**
|
|
26377
26377
|
* A Model for a Workspace (Dashboard)
|
|
26378
26378
|
* The Dashboard in this instance is the entire Layout inclusive of the workspaces and widgets
|
|
@@ -26444,7 +26444,7 @@ var DashboardModel = /*#__PURE__*/function () {
|
|
|
26444
26444
|
|
|
26445
26445
|
// Also normalize grids within pages
|
|
26446
26446
|
if (this.pages.length > 0) {
|
|
26447
|
-
var _iterator = _createForOfIteratorHelper$
|
|
26447
|
+
var _iterator = _createForOfIteratorHelper$m(this.pages),
|
|
26448
26448
|
_step;
|
|
26449
26449
|
try {
|
|
26450
26450
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -28420,7 +28420,7 @@ var DashboardModel = /*#__PURE__*/function () {
|
|
|
28420
28420
|
try {
|
|
28421
28421
|
// Collect all item IDs actively referenced by grid cells
|
|
28422
28422
|
var activeItemIds = new Set();
|
|
28423
|
-
var _iterator2 = _createForOfIteratorHelper$
|
|
28423
|
+
var _iterator2 = _createForOfIteratorHelper$m(this.layout),
|
|
28424
28424
|
_step2;
|
|
28425
28425
|
try {
|
|
28426
28426
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
@@ -28460,7 +28460,7 @@ var DashboardModel = /*#__PURE__*/function () {
|
|
|
28460
28460
|
});
|
|
28461
28461
|
|
|
28462
28462
|
// Clean listener references on remaining items for each removed orphan
|
|
28463
|
-
var _iterator3 = _createForOfIteratorHelper$
|
|
28463
|
+
var _iterator3 = _createForOfIteratorHelper$m(orphanedIds),
|
|
28464
28464
|
_step3;
|
|
28465
28465
|
try {
|
|
28466
28466
|
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
@@ -29281,9 +29281,9 @@ var useDashboard = function useDashboard() {
|
|
|
29281
29281
|
});
|
|
29282
29282
|
};
|
|
29283
29283
|
|
|
29284
|
-
function _createForOfIteratorHelper$
|
|
29285
|
-
function _unsupportedIterableToArray$
|
|
29286
|
-
function _arrayLikeToArray$
|
|
29284
|
+
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; } } }; }
|
|
29285
|
+
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; } }
|
|
29286
|
+
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; }
|
|
29287
29287
|
|
|
29288
29288
|
/**
|
|
29289
29289
|
* useWidgetProviders Hook
|
|
@@ -29339,7 +29339,7 @@ var useWidgetProviders = function useWidgetProviders() {
|
|
|
29339
29339
|
// 1. Widget-level: stored directly on the layout item by handleSelectProvider
|
|
29340
29340
|
// 2. Workspace-level: stored as workspace.selectedProviders[widgetId][providerType]
|
|
29341
29341
|
var providers = {};
|
|
29342
|
-
var _iterator = _createForOfIteratorHelper$
|
|
29342
|
+
var _iterator = _createForOfIteratorHelper$l(providerDeclarations),
|
|
29343
29343
|
_step;
|
|
29344
29344
|
try {
|
|
29345
29345
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -29381,9 +29381,9 @@ var useWidgetProviders = function useWidgetProviders() {
|
|
|
29381
29381
|
};
|
|
29382
29382
|
};
|
|
29383
29383
|
|
|
29384
|
-
function _createForOfIteratorHelper$
|
|
29385
|
-
function _unsupportedIterableToArray$
|
|
29386
|
-
function _arrayLikeToArray$
|
|
29384
|
+
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; } } }; }
|
|
29385
|
+
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; } }
|
|
29386
|
+
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; }
|
|
29387
29387
|
|
|
29388
29388
|
/**
|
|
29389
29389
|
* Module-level shared state for MCP server connections.
|
|
@@ -29438,7 +29438,7 @@ function unionPathScope(grants, serverName) {
|
|
|
29438
29438
|
allowedPaths: []
|
|
29439
29439
|
};
|
|
29440
29440
|
}
|
|
29441
|
-
var _iterator = _createForOfIteratorHelper$
|
|
29441
|
+
var _iterator = _createForOfIteratorHelper$k(grants),
|
|
29442
29442
|
_step;
|
|
29443
29443
|
try {
|
|
29444
29444
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -29451,7 +29451,7 @@ function unionPathScope(grants, serverName) {
|
|
|
29451
29451
|
var serverPerms = servers[serverName];
|
|
29452
29452
|
if (!serverPerms || _typeof(serverPerms) !== "object") continue;
|
|
29453
29453
|
if (Array.isArray(serverPerms.readPaths)) {
|
|
29454
|
-
var _iterator2 = _createForOfIteratorHelper$
|
|
29454
|
+
var _iterator2 = _createForOfIteratorHelper$k(serverPerms.readPaths),
|
|
29455
29455
|
_step2;
|
|
29456
29456
|
try {
|
|
29457
29457
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
@@ -29465,7 +29465,7 @@ function unionPathScope(grants, serverName) {
|
|
|
29465
29465
|
}
|
|
29466
29466
|
}
|
|
29467
29467
|
if (Array.isArray(serverPerms.writePaths)) {
|
|
29468
|
-
var _iterator3 = _createForOfIteratorHelper$
|
|
29468
|
+
var _iterator3 = _createForOfIteratorHelper$k(serverPerms.writePaths),
|
|
29469
29469
|
_step3;
|
|
29470
29470
|
try {
|
|
29471
29471
|
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
@@ -30268,9 +30268,9 @@ var useNotifications = function useNotifications() {
|
|
|
30268
30268
|
};
|
|
30269
30269
|
};
|
|
30270
30270
|
|
|
30271
|
-
function _createForOfIteratorHelper$
|
|
30272
|
-
function _unsupportedIterableToArray$
|
|
30273
|
-
function _arrayLikeToArray$
|
|
30271
|
+
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; } } }; }
|
|
30272
|
+
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; } }
|
|
30273
|
+
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; }
|
|
30274
30274
|
|
|
30275
30275
|
/**
|
|
30276
30276
|
* useScheduler Hook
|
|
@@ -30343,7 +30343,7 @@ var useScheduler = function useScheduler() {
|
|
|
30343
30343
|
if (pending && pending.length > 0) {
|
|
30344
30344
|
setPendingResults(pending);
|
|
30345
30345
|
// Call handlers for each pending result
|
|
30346
|
-
var _iterator = _createForOfIteratorHelper$
|
|
30346
|
+
var _iterator = _createForOfIteratorHelper$j(pending),
|
|
30347
30347
|
_step;
|
|
30348
30348
|
try {
|
|
30349
30349
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -32203,9 +32203,9 @@ function loadWidgetBundle(source, widgetName) {
|
|
|
32203
32203
|
};
|
|
32204
32204
|
}
|
|
32205
32205
|
|
|
32206
|
-
function _createForOfIteratorHelper$
|
|
32207
|
-
function _unsupportedIterableToArray$
|
|
32208
|
-
function _arrayLikeToArray$
|
|
32206
|
+
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; } } }; }
|
|
32207
|
+
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; } }
|
|
32208
|
+
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; }
|
|
32209
32209
|
/**
|
|
32210
32210
|
* Validation utilities for grid-first dashboard architecture
|
|
32211
32211
|
*
|
|
@@ -32444,7 +32444,7 @@ var validateCellMerge = function validateCellMerge(cellNumbers, grid) {
|
|
|
32444
32444
|
|
|
32445
32445
|
// Validate each cell
|
|
32446
32446
|
var cells = [];
|
|
32447
|
-
var _iterator = _createForOfIteratorHelper$
|
|
32447
|
+
var _iterator = _createForOfIteratorHelper$i(cellNumbers),
|
|
32448
32448
|
_step;
|
|
32449
32449
|
try {
|
|
32450
32450
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -32792,9 +32792,9 @@ var HARMONY_STRATEGIES = [{
|
|
|
32792
32792
|
label: "Custom"
|
|
32793
32793
|
}];
|
|
32794
32794
|
|
|
32795
|
-
function _createForOfIteratorHelper$
|
|
32796
|
-
function _unsupportedIterableToArray$
|
|
32797
|
-
function _arrayLikeToArray$
|
|
32795
|
+
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; } } }; }
|
|
32796
|
+
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; } }
|
|
32797
|
+
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; }
|
|
32798
32798
|
/**
|
|
32799
32799
|
* markdownFormParser.js
|
|
32800
32800
|
*
|
|
@@ -32841,7 +32841,7 @@ function detectColumnType(header, cellValues) {
|
|
|
32841
32841
|
}
|
|
32842
32842
|
|
|
32843
32843
|
// Check if any cell has an enum pattern (template placeholders)
|
|
32844
|
-
var _iterator = _createForOfIteratorHelper$
|
|
32844
|
+
var _iterator = _createForOfIteratorHelper$h(cellValues),
|
|
32845
32845
|
_step;
|
|
32846
32846
|
try {
|
|
32847
32847
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -32850,7 +32850,7 @@ function detectColumnType(header, cellValues) {
|
|
|
32850
32850
|
if (options) {
|
|
32851
32851
|
// Include all unique existing cell values as valid options
|
|
32852
32852
|
var allOptions = new Set(options);
|
|
32853
|
-
var _iterator2 = _createForOfIteratorHelper$
|
|
32853
|
+
var _iterator2 = _createForOfIteratorHelper$h(cellValues),
|
|
32854
32854
|
_step2;
|
|
32855
32855
|
try {
|
|
32856
32856
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
@@ -33060,7 +33060,7 @@ function parse(markdown) {
|
|
|
33060
33060
|
*/
|
|
33061
33061
|
function serialize(blocks) {
|
|
33062
33062
|
var parts = [];
|
|
33063
|
-
var _iterator3 = _createForOfIteratorHelper$
|
|
33063
|
+
var _iterator3 = _createForOfIteratorHelper$h(blocks),
|
|
33064
33064
|
_step3;
|
|
33065
33065
|
try {
|
|
33066
33066
|
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
@@ -33075,7 +33075,7 @@ function serialize(blocks) {
|
|
|
33075
33075
|
parts.push("| " + block.columns.map(function () {
|
|
33076
33076
|
return "------";
|
|
33077
33077
|
}).join(" | ") + " |");
|
|
33078
|
-
var _iterator4 = _createForOfIteratorHelper$
|
|
33078
|
+
var _iterator4 = _createForOfIteratorHelper$h(block.rows),
|
|
33079
33079
|
_step4;
|
|
33080
33080
|
try {
|
|
33081
33081
|
var _loop2 = function _loop2() {
|
|
@@ -33096,7 +33096,7 @@ function serialize(blocks) {
|
|
|
33096
33096
|
break;
|
|
33097
33097
|
}
|
|
33098
33098
|
case "list":
|
|
33099
|
-
var _iterator5 = _createForOfIteratorHelper$
|
|
33099
|
+
var _iterator5 = _createForOfIteratorHelper$h(block.items),
|
|
33100
33100
|
_step5;
|
|
33101
33101
|
try {
|
|
33102
33102
|
for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
|
|
@@ -33110,7 +33110,7 @@ function serialize(blocks) {
|
|
|
33110
33110
|
}
|
|
33111
33111
|
break;
|
|
33112
33112
|
case "blockquote":
|
|
33113
|
-
var _iterator6 = _createForOfIteratorHelper$
|
|
33113
|
+
var _iterator6 = _createForOfIteratorHelper$h(block.text.split("\n")),
|
|
33114
33114
|
_step6;
|
|
33115
33115
|
try {
|
|
33116
33116
|
for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
|
|
@@ -36611,9 +36611,9 @@ var ThemeManagerModal = function ThemeManagerModal(_ref) {
|
|
|
36611
36611
|
|
|
36612
36612
|
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; }
|
|
36613
36613
|
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; }
|
|
36614
|
-
function _createForOfIteratorHelper$
|
|
36615
|
-
function _unsupportedIterableToArray$
|
|
36616
|
-
function _arrayLikeToArray$
|
|
36614
|
+
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; } } }; }
|
|
36615
|
+
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; } }
|
|
36616
|
+
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; }
|
|
36617
36617
|
var DASHBOARD_TAGS = ["productivity", "monitoring", "analytics", "communication", "developer", "sales", "marketing", "finance", "project-management", "social", "news", "utilities"];
|
|
36618
36618
|
var BUMP_OPTIONS$1 = [{
|
|
36619
36619
|
value: "patch",
|
|
@@ -36687,7 +36687,7 @@ function collectComponentConfigs() {
|
|
|
36687
36687
|
// fixed "reference" entry.
|
|
36688
36688
|
function seedSelections(plan, dashboardVisibility) {
|
|
36689
36689
|
var selections = {};
|
|
36690
|
-
var _iterator = _createForOfIteratorHelper$
|
|
36690
|
+
var _iterator = _createForOfIteratorHelper$g(plan.widgets || []),
|
|
36691
36691
|
_step;
|
|
36692
36692
|
try {
|
|
36693
36693
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -37026,7 +37026,7 @@ var PublishDashboardModal = function PublishDashboardModal(_ref) {
|
|
|
37026
37026
|
React.useEffect(function () {
|
|
37027
37027
|
if (!isOpen || step !== 5 || !plan || defaultsLoading) return;
|
|
37028
37028
|
var packagesToScan = [];
|
|
37029
|
-
var _iterator2 = _createForOfIteratorHelper$
|
|
37029
|
+
var _iterator2 = _createForOfIteratorHelper$g(plan.widgets || []),
|
|
37030
37030
|
_step2;
|
|
37031
37031
|
try {
|
|
37032
37032
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
@@ -37065,7 +37065,7 @@ var PublishDashboardModal = function PublishDashboardModal(_ref) {
|
|
|
37065
37065
|
})).then(function (results) {
|
|
37066
37066
|
setDefaultsByPackage(function (prev) {
|
|
37067
37067
|
var next = _objectSpread$u({}, prev);
|
|
37068
|
-
var _iterator3 = _createForOfIteratorHelper$
|
|
37068
|
+
var _iterator3 = _createForOfIteratorHelper$g(results),
|
|
37069
37069
|
_step3;
|
|
37070
37070
|
try {
|
|
37071
37071
|
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
@@ -37147,7 +37147,7 @@ var PublishDashboardModal = function PublishDashboardModal(_ref) {
|
|
|
37147
37147
|
break;
|
|
37148
37148
|
}
|
|
37149
37149
|
seenPackages = new Set();
|
|
37150
|
-
_iterator4 = _createForOfIteratorHelper$
|
|
37150
|
+
_iterator4 = _createForOfIteratorHelper$g(plan.widgets || []);
|
|
37151
37151
|
_context2.prev = 2;
|
|
37152
37152
|
_iterator4.s();
|
|
37153
37153
|
case 3:
|
|
@@ -38059,7 +38059,7 @@ function DependencyTable(_ref4) {
|
|
|
38059
38059
|
// row. Each row shows the list of component widgets that live inside it
|
|
38060
38060
|
// so the user knows what's getting published.
|
|
38061
38061
|
var byKey = new Map();
|
|
38062
|
-
var _iterator5 = _createForOfIteratorHelper$
|
|
38062
|
+
var _iterator5 = _createForOfIteratorHelper$g(plan.widgets || []),
|
|
38063
38063
|
_step6;
|
|
38064
38064
|
try {
|
|
38065
38065
|
for (_iterator5.s(); !(_step6 = _iterator5.n()).done;) {
|
|
@@ -38230,7 +38230,7 @@ function DefaultsReviewList(_ref6) {
|
|
|
38230
38230
|
// stays aligned with Dependencies — no surprises about WHICH
|
|
38231
38231
|
// package's defaults you're editing.
|
|
38232
38232
|
var rows = [];
|
|
38233
|
-
var _iterator6 = _createForOfIteratorHelper$
|
|
38233
|
+
var _iterator6 = _createForOfIteratorHelper$g((plan === null || plan === void 0 ? void 0 : plan.widgets) || []),
|
|
38234
38234
|
_step7;
|
|
38235
38235
|
try {
|
|
38236
38236
|
for (_iterator6.s(); !(_step7 = _iterator6.n()).done;) {
|
|
@@ -41903,9 +41903,9 @@ var McpCatalogDetail = function McpCatalogDetail(_ref) {
|
|
|
41903
41903
|
|
|
41904
41904
|
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; }
|
|
41905
41905
|
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; }
|
|
41906
|
-
function _createForOfIteratorHelper$
|
|
41907
|
-
function _unsupportedIterableToArray$
|
|
41908
|
-
function _arrayLikeToArray$
|
|
41906
|
+
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; } } }; }
|
|
41907
|
+
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; } }
|
|
41908
|
+
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; }
|
|
41909
41909
|
function isValidWsUrl(url) {
|
|
41910
41910
|
if (!url) return false;
|
|
41911
41911
|
try {
|
|
@@ -41952,7 +41952,7 @@ function extractCredentialFields(url, headerRows) {
|
|
|
41952
41952
|
fields.add(match[1]);
|
|
41953
41953
|
}
|
|
41954
41954
|
}
|
|
41955
|
-
var _iterator = _createForOfIteratorHelper$
|
|
41955
|
+
var _iterator = _createForOfIteratorHelper$f(headerRows),
|
|
41956
41956
|
_step;
|
|
41957
41957
|
try {
|
|
41958
41958
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -42057,7 +42057,7 @@ var WebSocketProviderForm = function WebSocketProviderForm(_ref) {
|
|
|
42057
42057
|
if (!url.trim()) errs.url = "WebSocket URL is required";else if (!isValidWsUrl(url)) errs.url = "URL must start with ws:// or wss://";
|
|
42058
42058
|
|
|
42059
42059
|
// Check required credential fields are filled
|
|
42060
|
-
var _iterator2 = _createForOfIteratorHelper$
|
|
42060
|
+
var _iterator2 = _createForOfIteratorHelper$f(credentialFields),
|
|
42061
42061
|
_step2;
|
|
42062
42062
|
try {
|
|
42063
42063
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
@@ -42080,7 +42080,7 @@ var WebSocketProviderForm = function WebSocketProviderForm(_ref) {
|
|
|
42080
42080
|
|
|
42081
42081
|
// Build headers object from rows
|
|
42082
42082
|
var headers = {};
|
|
42083
|
-
var _iterator3 = _createForOfIteratorHelper$
|
|
42083
|
+
var _iterator3 = _createForOfIteratorHelper$f(headerRows),
|
|
42084
42084
|
_step3;
|
|
42085
42085
|
try {
|
|
42086
42086
|
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
@@ -42149,7 +42149,7 @@ var WebSocketProviderForm = function WebSocketProviderForm(_ref) {
|
|
|
42149
42149
|
|
|
42150
42150
|
// Build config from current form state (same as handleSave)
|
|
42151
42151
|
headers = {};
|
|
42152
|
-
_iterator4 = _createForOfIteratorHelper$
|
|
42152
|
+
_iterator4 = _createForOfIteratorHelper$f(headerRows);
|
|
42153
42153
|
try {
|
|
42154
42154
|
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
42155
42155
|
row = _step4.value;
|
|
@@ -45608,9 +45608,9 @@ var InstallWidgetPicker = function InstallWidgetPicker(_ref2) {
|
|
|
45608
45608
|
|
|
45609
45609
|
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; }
|
|
45610
45610
|
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; }
|
|
45611
|
-
function _createForOfIteratorHelper$
|
|
45612
|
-
function _unsupportedIterableToArray$
|
|
45613
|
-
function _arrayLikeToArray$
|
|
45611
|
+
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; } } }; }
|
|
45612
|
+
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; } }
|
|
45613
|
+
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; }
|
|
45614
45614
|
var DiscoverWidgetsDetail = function DiscoverWidgetsDetail(_ref) {
|
|
45615
45615
|
var onBack = _ref.onBack;
|
|
45616
45616
|
var _useContext = React.useContext(DashReact.ThemeContext),
|
|
@@ -45717,7 +45717,7 @@ var DiscoverWidgetsDetail = function DiscoverWidgetsDetail(_ref) {
|
|
|
45717
45717
|
case 1:
|
|
45718
45718
|
widgets = _context2.sent;
|
|
45719
45719
|
names = new Set();
|
|
45720
|
-
_iterator = _createForOfIteratorHelper$
|
|
45720
|
+
_iterator = _createForOfIteratorHelper$e(widgets);
|
|
45721
45721
|
try {
|
|
45722
45722
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
45723
45723
|
w = _step.value;
|
|
@@ -45822,12 +45822,12 @@ var DiscoverWidgetsDetail = function DiscoverWidgetsDetail(_ref) {
|
|
|
45822
45822
|
var checkToolConflicts = function checkToolConflicts(widget) {
|
|
45823
45823
|
var conflicts = [];
|
|
45824
45824
|
var packageWidgets = widget.packageWidgets || [];
|
|
45825
|
-
var _iterator2 = _createForOfIteratorHelper$
|
|
45825
|
+
var _iterator2 = _createForOfIteratorHelper$e(packageWidgets),
|
|
45826
45826
|
_step2;
|
|
45827
45827
|
try {
|
|
45828
45828
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
45829
45829
|
var w = _step2.value;
|
|
45830
|
-
var _iterator3 = _createForOfIteratorHelper$
|
|
45830
|
+
var _iterator3 = _createForOfIteratorHelper$e(w.providers || []),
|
|
45831
45831
|
_step3;
|
|
45832
45832
|
try {
|
|
45833
45833
|
var _loop = function _loop() {
|
|
@@ -45840,7 +45840,7 @@ var DiscoverWidgetsDetail = function DiscoverWidgetsDetail(_ref) {
|
|
|
45840
45840
|
prov = _ref5[1];
|
|
45841
45841
|
return prov.type === p.type && prov.providerClass === "mcp" && prov.allowedTools;
|
|
45842
45842
|
});
|
|
45843
|
-
var _iterator4 = _createForOfIteratorHelper$
|
|
45843
|
+
var _iterator4 = _createForOfIteratorHelper$e(matchingProviders),
|
|
45844
45844
|
_step4;
|
|
45845
45845
|
try {
|
|
45846
45846
|
var _loop2 = function _loop2() {
|
|
@@ -46163,9 +46163,9 @@ var DiscoverWidgetsDetail = function DiscoverWidgetsDetail(_ref) {
|
|
|
46163
46163
|
});
|
|
46164
46164
|
};
|
|
46165
46165
|
|
|
46166
|
-
function _createForOfIteratorHelper$
|
|
46167
|
-
function _unsupportedIterableToArray$
|
|
46168
|
-
function _arrayLikeToArray$
|
|
46166
|
+
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; } } }; }
|
|
46167
|
+
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; } }
|
|
46168
|
+
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; }
|
|
46169
46169
|
|
|
46170
46170
|
/**
|
|
46171
46171
|
* Walk a workspace layout and collect widget component keys that are
|
|
@@ -46179,7 +46179,7 @@ function collectComponentsFromLayout(layout) {
|
|
|
46179
46179
|
|
|
46180
46180
|
// Collect IDs of layout items that are actively referenced by grid cells
|
|
46181
46181
|
var activeItemIds = new Set();
|
|
46182
|
-
var _iterator = _createForOfIteratorHelper$
|
|
46182
|
+
var _iterator = _createForOfIteratorHelper$d(layout),
|
|
46183
46183
|
_step;
|
|
46184
46184
|
try {
|
|
46185
46185
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -46199,7 +46199,7 @@ function collectComponentsFromLayout(layout) {
|
|
|
46199
46199
|
} finally {
|
|
46200
46200
|
_iterator.f();
|
|
46201
46201
|
}
|
|
46202
|
-
var _iterator2 = _createForOfIteratorHelper$
|
|
46202
|
+
var _iterator2 = _createForOfIteratorHelper$d(layout),
|
|
46203
46203
|
_step2;
|
|
46204
46204
|
try {
|
|
46205
46205
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
@@ -46233,7 +46233,7 @@ function findWidgetUsage(componentNames, workspaces) {
|
|
|
46233
46233
|
if (!(componentNames !== null && componentNames !== void 0 && componentNames.length) || !(workspaces !== null && workspaces !== void 0 && workspaces.length)) return [];
|
|
46234
46234
|
var nameSet = new Set(componentNames);
|
|
46235
46235
|
var results = [];
|
|
46236
|
-
var _iterator3 = _createForOfIteratorHelper$
|
|
46236
|
+
var _iterator3 = _createForOfIteratorHelper$d(workspaces),
|
|
46237
46237
|
_step3;
|
|
46238
46238
|
try {
|
|
46239
46239
|
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
@@ -46462,9 +46462,9 @@ var useInstalledWidgets = function useInstalledWidgets() {
|
|
|
46462
46462
|
};
|
|
46463
46463
|
};
|
|
46464
46464
|
|
|
46465
|
-
function _createForOfIteratorHelper$
|
|
46466
|
-
function _unsupportedIterableToArray$
|
|
46467
|
-
function _arrayLikeToArray$
|
|
46465
|
+
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; } } }; }
|
|
46466
|
+
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; } }
|
|
46467
|
+
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; }
|
|
46468
46468
|
|
|
46469
46469
|
/**
|
|
46470
46470
|
* useWidgetUpdates — checks the registry for newer versions of installed widgets
|
|
@@ -46594,7 +46594,7 @@ function useWidgetUpdates() {
|
|
|
46594
46594
|
// (install replaces the entire package, not just one widget)
|
|
46595
46595
|
setUpdates(function (prev) {
|
|
46596
46596
|
var next = new Map(prev);
|
|
46597
|
-
var _iterator = _createForOfIteratorHelper$
|
|
46597
|
+
var _iterator = _createForOfIteratorHelper$c(next),
|
|
46598
46598
|
_step;
|
|
46599
46599
|
try {
|
|
46600
46600
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -49211,8 +49211,503 @@ var GrantManuallyModal = function GrantManuallyModal(_ref) {
|
|
|
49211
49211
|
});
|
|
49212
49212
|
};
|
|
49213
49213
|
|
|
49214
|
+
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; } } }; }
|
|
49215
|
+
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; } }
|
|
49216
|
+
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; }
|
|
49217
|
+
/**
|
|
49218
|
+
* groupRowsByPackage
|
|
49219
|
+
*
|
|
49220
|
+
* Renderer-side grouping of `widgetMcp.listAll` rows into packages.
|
|
49221
|
+
* Each row is per-widget (e.g. `trops.google-drive.GDriveFileList`);
|
|
49222
|
+
* this helper reconstructs the owning packageId (`@trops/google-drive`)
|
|
49223
|
+
* by parsing the dotted form back to scoped npm-id form.
|
|
49224
|
+
*
|
|
49225
|
+
* Mirrors the parsing semantics in
|
|
49226
|
+
* `electron/security/resolveSiblings.js` so the two layers agree on
|
|
49227
|
+
* what counts as "the same package".
|
|
49228
|
+
*
|
|
49229
|
+
* Output is sorted alphabetically by packageId so the sidebar list is
|
|
49230
|
+
* stable across reloads. Rows that don't parse to a recognized
|
|
49231
|
+
* scope+name shape are bucketed under `packageId: null` (rendered as
|
|
49232
|
+
* "Ungrouped" in the UI) — covers the test probe (`@test/jit-probe`)
|
|
49233
|
+
* and any future ids that don't follow the dotted convention.
|
|
49234
|
+
*/
|
|
49235
|
+
|
|
49236
|
+
function _parsePackageId(widgetId) {
|
|
49237
|
+
if (typeof widgetId !== "string" || !widgetId) return null;
|
|
49238
|
+
// Expected shape: "<scope>.<name>.<componentName>" — at least two dots.
|
|
49239
|
+
// Bail on anything else (e.g. "@test/jit-probe" goes to ungrouped).
|
|
49240
|
+
var parts = widgetId.split(".");
|
|
49241
|
+
if (parts.length < 3) return null;
|
|
49242
|
+
if (widgetId.startsWith("@")) return null;
|
|
49243
|
+
var scope = parts[0];
|
|
49244
|
+
var name = parts.slice(1, -1).join(".");
|
|
49245
|
+
if (!scope || !name) return null;
|
|
49246
|
+
return "@" + scope + "/" + name;
|
|
49247
|
+
}
|
|
49248
|
+
function _hasGrant(granted) {
|
|
49249
|
+
if (!granted || _typeof(granted) !== "object") return false;
|
|
49250
|
+
var servers = granted.servers || {};
|
|
49251
|
+
if (Object.keys(servers).some(function (k) {
|
|
49252
|
+
return servers[k];
|
|
49253
|
+
})) return true;
|
|
49254
|
+
var domains = granted.domains || {};
|
|
49255
|
+
if (domains.fs) {
|
|
49256
|
+
if ((domains.fs.readPaths || []).length > 0 || (domains.fs.writePaths || []).length > 0) {
|
|
49257
|
+
return true;
|
|
49258
|
+
}
|
|
49259
|
+
}
|
|
49260
|
+
if (domains.network) {
|
|
49261
|
+
if ((domains.network.hosts || []).length > 0) return true;
|
|
49262
|
+
}
|
|
49263
|
+
return false;
|
|
49264
|
+
}
|
|
49265
|
+
function groupRowsByPackage(rows) {
|
|
49266
|
+
if (!Array.isArray(rows)) return [];
|
|
49267
|
+
var byPackage = new Map();
|
|
49268
|
+
var _iterator = _createForOfIteratorHelper$b(rows),
|
|
49269
|
+
_step;
|
|
49270
|
+
try {
|
|
49271
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
49272
|
+
var row = _step.value;
|
|
49273
|
+
var packageId = _parsePackageId(row.widgetId);
|
|
49274
|
+
var key = packageId || "__ungrouped__";
|
|
49275
|
+
if (!byPackage.has(key)) {
|
|
49276
|
+
byPackage.set(key, {
|
|
49277
|
+
packageId: packageId,
|
|
49278
|
+
displayName: packageId || "Ungrouped",
|
|
49279
|
+
widgets: [],
|
|
49280
|
+
grantCount: 0,
|
|
49281
|
+
hasAnyGrant: false
|
|
49282
|
+
});
|
|
49283
|
+
}
|
|
49284
|
+
var group = byPackage.get(key);
|
|
49285
|
+
group.widgets.push(row);
|
|
49286
|
+
if (_hasGrant(row.granted)) {
|
|
49287
|
+
group.grantCount += 1;
|
|
49288
|
+
group.hasAnyGrant = true;
|
|
49289
|
+
}
|
|
49290
|
+
}
|
|
49291
|
+
} catch (err) {
|
|
49292
|
+
_iterator.e(err);
|
|
49293
|
+
} finally {
|
|
49294
|
+
_iterator.f();
|
|
49295
|
+
}
|
|
49296
|
+
return Array.from(byPackage.values()).sort(function (a, b) {
|
|
49297
|
+
return a.displayName.localeCompare(b.displayName);
|
|
49298
|
+
});
|
|
49299
|
+
}
|
|
49300
|
+
|
|
49301
|
+
/**
|
|
49302
|
+
* PrivacySecurityList
|
|
49303
|
+
*
|
|
49304
|
+
* Left column of the redesigned Privacy & Security section. Mirrors
|
|
49305
|
+
* the DashboardsSection list style (search + Tabs3 toggle + grouped
|
|
49306
|
+
* Sidebar items with badge counts).
|
|
49307
|
+
*
|
|
49308
|
+
* Search matches against packageId AND component names within each
|
|
49309
|
+
* package, so typing "search" finds the package containing
|
|
49310
|
+
* GDriveFileSearch.
|
|
49311
|
+
*/
|
|
49312
|
+
function _matchesQuery(group, query) {
|
|
49313
|
+
if (!query) return true;
|
|
49314
|
+
var lower = query.toLowerCase();
|
|
49315
|
+
if (group.displayName.toLowerCase().includes(lower)) return true;
|
|
49316
|
+
// Match against component names within the package — typing
|
|
49317
|
+
// "search" surfaces the package containing GDriveFileSearch.
|
|
49318
|
+
return group.widgets.some(function (w) {
|
|
49319
|
+
return (w.widgetId || "").toLowerCase().includes(lower);
|
|
49320
|
+
});
|
|
49321
|
+
}
|
|
49322
|
+
var PrivacySecurityList = function PrivacySecurityList(_ref) {
|
|
49323
|
+
var packageGroups = _ref.packageGroups,
|
|
49324
|
+
selectedPackageKey = _ref.selectedPackageKey,
|
|
49325
|
+
onSelectPackage = _ref.onSelectPackage,
|
|
49326
|
+
searchQuery = _ref.searchQuery,
|
|
49327
|
+
onSearchChange = _ref.onSearchChange,
|
|
49328
|
+
viewMode = _ref.viewMode,
|
|
49329
|
+
onViewModeChange = _ref.onViewModeChange;
|
|
49330
|
+
var _useContext = React.useContext(DashReact.ThemeContext),
|
|
49331
|
+
currentTheme = _useContext.currentTheme;
|
|
49332
|
+
var headerStyles = DashReact.getStylesForItem(DashReact.themeObjects.PANEL_HEADER, currentTheme, {
|
|
49333
|
+
grow: false
|
|
49334
|
+
});
|
|
49335
|
+
var filtered = packageGroups.filter(function (g) {
|
|
49336
|
+
return _matchesQuery(g, searchQuery);
|
|
49337
|
+
});
|
|
49338
|
+
var withGrants = filtered.filter(function (g) {
|
|
49339
|
+
return g.hasAnyGrant;
|
|
49340
|
+
});
|
|
49341
|
+
var withoutGrants = filtered.filter(function (g) {
|
|
49342
|
+
return !g.hasAnyGrant;
|
|
49343
|
+
});
|
|
49344
|
+
|
|
49345
|
+
// packageId can be null (Ungrouped). Use displayName as a stable
|
|
49346
|
+
// selection key so null packageIds still differentiate.
|
|
49347
|
+
var keyFor = function keyFor(group) {
|
|
49348
|
+
return group.packageId == null ? "__ungrouped__" : group.packageId;
|
|
49349
|
+
};
|
|
49350
|
+
function renderPackageItem(group) {
|
|
49351
|
+
var key = keyFor(group);
|
|
49352
|
+
var isSelected = selectedPackageKey === key;
|
|
49353
|
+
return /*#__PURE__*/jsxRuntime.jsx(DashReact.Sidebar.Item, {
|
|
49354
|
+
icon: /*#__PURE__*/jsxRuntime.jsx(DashReact.FontAwesomeIcon, {
|
|
49355
|
+
icon: group.hasAnyGrant ? "shield-halved" : "shield",
|
|
49356
|
+
className: "h-3.5 w-3.5"
|
|
49357
|
+
}),
|
|
49358
|
+
active: isSelected,
|
|
49359
|
+
onClick: function onClick() {
|
|
49360
|
+
return onSelectPackage(key);
|
|
49361
|
+
},
|
|
49362
|
+
badge: String(group.grantCount),
|
|
49363
|
+
className: isSelected ? "bg-white/10 opacity-100" : "",
|
|
49364
|
+
children: group.displayName
|
|
49365
|
+
}, key);
|
|
49366
|
+
}
|
|
49367
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
49368
|
+
className: "flex flex-col h-full",
|
|
49369
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
49370
|
+
className: "flex-shrink-0 flex flex-col gap-2 px-3 py-2 ".concat(headerStyles.backgroundColor || ""),
|
|
49371
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(DashReact.SearchInput, {
|
|
49372
|
+
value: searchQuery,
|
|
49373
|
+
onChange: onSearchChange,
|
|
49374
|
+
placeholder: "Search packages...",
|
|
49375
|
+
inputClassName: "py-1.5 text-xs"
|
|
49376
|
+
}), /*#__PURE__*/jsxRuntime.jsx(DashReact.Tabs3, {
|
|
49377
|
+
value: viewMode,
|
|
49378
|
+
onValueChange: onViewModeChange,
|
|
49379
|
+
backgroundColor: "bg-transparent",
|
|
49380
|
+
spacing: "p-0",
|
|
49381
|
+
children: /*#__PURE__*/jsxRuntime.jsxs(DashReact.Tabs3.List, {
|
|
49382
|
+
className: "w-full flex",
|
|
49383
|
+
spacing: "p-0.5",
|
|
49384
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(DashReact.Tabs3.Trigger, {
|
|
49385
|
+
value: "grouped",
|
|
49386
|
+
className: "flex-1",
|
|
49387
|
+
children: "Grouped"
|
|
49388
|
+
}), /*#__PURE__*/jsxRuntime.jsx(DashReact.Tabs3.Trigger, {
|
|
49389
|
+
value: "alphabetical",
|
|
49390
|
+
className: "flex-1",
|
|
49391
|
+
children: "A-Z"
|
|
49392
|
+
})]
|
|
49393
|
+
})
|
|
49394
|
+
})]
|
|
49395
|
+
}), /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
49396
|
+
className: "flex-1 overflow-y-auto min-h-0",
|
|
49397
|
+
children: /*#__PURE__*/jsxRuntime.jsxs(DashReact.Sidebar.Content, {
|
|
49398
|
+
children: [viewMode === "grouped" ? /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
49399
|
+
children: [withGrants.length > 0 && /*#__PURE__*/jsxRuntime.jsx(DashReact.Sidebar.Group, {
|
|
49400
|
+
label: "Has grants",
|
|
49401
|
+
children: withGrants.map(renderPackageItem)
|
|
49402
|
+
}), withoutGrants.length > 0 && /*#__PURE__*/jsxRuntime.jsx(DashReact.Sidebar.Group, {
|
|
49403
|
+
label: "No grants",
|
|
49404
|
+
children: withoutGrants.map(renderPackageItem)
|
|
49405
|
+
})]
|
|
49406
|
+
}) : filtered.map(renderPackageItem), filtered.length === 0 && /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
49407
|
+
className: "text-sm opacity-40 py-8 text-center block",
|
|
49408
|
+
children: searchQuery ? "No packages match your search" : "No widgets installed"
|
|
49409
|
+
})]
|
|
49410
|
+
})
|
|
49411
|
+
})]
|
|
49412
|
+
});
|
|
49413
|
+
};
|
|
49414
|
+
|
|
49415
|
+
var GrantOriginBadge = function GrantOriginBadge(_ref) {
|
|
49416
|
+
var origin = _ref.origin;
|
|
49417
|
+
var styles = {
|
|
49418
|
+
declared: {
|
|
49419
|
+
label: "declared",
|
|
49420
|
+
color: "text-green-400"
|
|
49421
|
+
},
|
|
49422
|
+
discovered: {
|
|
49423
|
+
label: "discovered",
|
|
49424
|
+
color: "text-amber-400"
|
|
49425
|
+
},
|
|
49426
|
+
manual: {
|
|
49427
|
+
label: "manual",
|
|
49428
|
+
color: "text-blue-400"
|
|
49429
|
+
},
|
|
49430
|
+
live: {
|
|
49431
|
+
label: "live",
|
|
49432
|
+
color: "text-purple-400"
|
|
49433
|
+
}
|
|
49434
|
+
};
|
|
49435
|
+
var style = styles[origin];
|
|
49436
|
+
if (!style) return null;
|
|
49437
|
+
return /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
49438
|
+
className: "text-xs uppercase tracking-wider ".concat(style.color),
|
|
49439
|
+
title: "Origin: ".concat(origin),
|
|
49440
|
+
children: style.label
|
|
49441
|
+
});
|
|
49442
|
+
};
|
|
49443
|
+
var PermsList = function PermsList(_ref2) {
|
|
49444
|
+
var label = _ref2.label,
|
|
49445
|
+
declaredItems = _ref2.declaredItems,
|
|
49446
|
+
grantedItems = _ref2.grantedItems;
|
|
49447
|
+
if (declaredItems.length === 0 && grantedItems.length === 0) return null;
|
|
49448
|
+
var grantedSet = new Set(grantedItems);
|
|
49449
|
+
var declaredSet = new Set(declaredItems);
|
|
49450
|
+
var all = Array.from(new Set([].concat(_toConsumableArray(declaredItems), _toConsumableArray(grantedItems))));
|
|
49451
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
49452
|
+
className: "flex flex-col space-y-1",
|
|
49453
|
+
children: [/*#__PURE__*/jsxRuntime.jsx("span", {
|
|
49454
|
+
className: "text-xs opacity-50",
|
|
49455
|
+
children: label
|
|
49456
|
+
}), all.map(function (item) {
|
|
49457
|
+
var isGranted = grantedSet.has(item);
|
|
49458
|
+
var isDeclared = declaredSet.has(item);
|
|
49459
|
+
var isStale = isGranted && !isDeclared;
|
|
49460
|
+
return /*#__PURE__*/jsxRuntime.jsxs("span", {
|
|
49461
|
+
className: "text-xs font-mono break-all ".concat(isStale ? "text-amber-400" : isGranted ? "opacity-100" : "opacity-50 line-through"),
|
|
49462
|
+
children: [item, isStale && /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
49463
|
+
className: "ml-2 not-italic font-sans normal-case tracking-normal text-amber-400",
|
|
49464
|
+
children: "(stale \u2014 widget no longer requests this; consider revoking)"
|
|
49465
|
+
})]
|
|
49466
|
+
}, item);
|
|
49467
|
+
})]
|
|
49468
|
+
});
|
|
49469
|
+
};
|
|
49470
|
+
|
|
49471
|
+
/**
|
|
49472
|
+
* True when the granted entry has at least one item AND every granted
|
|
49473
|
+
* item is missing from the current declared block. Used to surface a
|
|
49474
|
+
* "this whole server's grant looks unused" suggestion at the row level.
|
|
49475
|
+
*/
|
|
49476
|
+
function isServerEntirelyStale(decl, grant) {
|
|
49477
|
+
if (!grant) return false;
|
|
49478
|
+
var declTools = new Set(decl.tools || []);
|
|
49479
|
+
var declRead = new Set(decl.readPaths || []);
|
|
49480
|
+
var declWrite = new Set(decl.writePaths || []);
|
|
49481
|
+
var grantedTools = grant.tools || [];
|
|
49482
|
+
var grantedRead = grant.readPaths || [];
|
|
49483
|
+
var grantedWrite = grant.writePaths || [];
|
|
49484
|
+
var total = grantedTools.length + grantedRead.length + grantedWrite.length;
|
|
49485
|
+
if (total === 0) return false;
|
|
49486
|
+
var stale = grantedTools.every(function (t) {
|
|
49487
|
+
return !declTools.has(t);
|
|
49488
|
+
}) && grantedRead.every(function (p) {
|
|
49489
|
+
return !declRead.has(p);
|
|
49490
|
+
}) && grantedWrite.every(function (p) {
|
|
49491
|
+
return !declWrite.has(p);
|
|
49492
|
+
});
|
|
49493
|
+
return stale;
|
|
49494
|
+
}
|
|
49495
|
+
var WidgetGrantRow = function WidgetGrantRow(_ref3) {
|
|
49496
|
+
var _granted$domains, _granted$domains2;
|
|
49497
|
+
var widgetId = _ref3.widgetId,
|
|
49498
|
+
declared = _ref3.declared,
|
|
49499
|
+
granted = _ref3.granted,
|
|
49500
|
+
hasManifest = _ref3.hasManifest,
|
|
49501
|
+
grantOrigin = _ref3.grantOrigin,
|
|
49502
|
+
onRevokeWidget = _ref3.onRevokeWidget,
|
|
49503
|
+
onRevokeServer = _ref3.onRevokeServer,
|
|
49504
|
+
onGrantManually = _ref3.onGrantManually;
|
|
49505
|
+
var declaredServers = declared && declared.servers || {};
|
|
49506
|
+
var grantedServers = granted && granted.servers || {};
|
|
49507
|
+
var allServerNames = Array.from(new Set([].concat(_toConsumableArray(Object.keys(declaredServers)), _toConsumableArray(Object.keys(grantedServers)))));
|
|
49508
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
49509
|
+
className: "flex flex-col space-y-3 border border-gray-700 rounded p-3",
|
|
49510
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
49511
|
+
className: "flex flex-row items-center justify-between gap-2",
|
|
49512
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
49513
|
+
className: "flex flex-row items-center gap-2 min-w-0",
|
|
49514
|
+
children: [/*#__PURE__*/jsxRuntime.jsx("span", {
|
|
49515
|
+
className: "text-sm font-mono break-all",
|
|
49516
|
+
children: widgetId
|
|
49517
|
+
}), grantOrigin && /*#__PURE__*/jsxRuntime.jsx(GrantOriginBadge, {
|
|
49518
|
+
origin: grantOrigin
|
|
49519
|
+
}), !hasManifest && !granted && /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
49520
|
+
className: "text-xs uppercase tracking-wider text-amber-400",
|
|
49521
|
+
children: "no manifest"
|
|
49522
|
+
})]
|
|
49523
|
+
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
49524
|
+
className: "flex flex-row gap-2",
|
|
49525
|
+
children: [!hasManifest && !granted && /*#__PURE__*/jsxRuntime.jsx(DashReact.Button, {
|
|
49526
|
+
title: "Grant manually",
|
|
49527
|
+
onClick: onGrantManually
|
|
49528
|
+
}), Object.keys(grantedServers).length > 0 && /*#__PURE__*/jsxRuntime.jsx(DashReact.Button, {
|
|
49529
|
+
title: "Revoke all",
|
|
49530
|
+
onClick: onRevokeWidget
|
|
49531
|
+
})]
|
|
49532
|
+
})]
|
|
49533
|
+
}), !declared && !granted && /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
49534
|
+
className: "text-xs opacity-50",
|
|
49535
|
+
children: "This widget did not declare MCP permissions and the install-time scanner found nothing. Use Grant manually if you trust it."
|
|
49536
|
+
}), allServerNames.map(function (serverName) {
|
|
49537
|
+
var decl = declaredServers[serverName] || {};
|
|
49538
|
+
var grant = grantedServers[serverName];
|
|
49539
|
+
var allStale = isServerEntirelyStale(decl, grant);
|
|
49540
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
49541
|
+
className: "flex flex-col space-y-2 border-t border-gray-800 pt-2",
|
|
49542
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
49543
|
+
className: "flex flex-row items-center justify-between",
|
|
49544
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs("span", {
|
|
49545
|
+
className: "text-xs uppercase tracking-wider opacity-70",
|
|
49546
|
+
children: [serverName, !grant && /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
49547
|
+
className: "ml-2 text-amber-400 normal-case tracking-normal",
|
|
49548
|
+
children: "(declared, not granted)"
|
|
49549
|
+
})]
|
|
49550
|
+
}), grant && /*#__PURE__*/jsxRuntime.jsx(DashReact.Button, {
|
|
49551
|
+
title: "Revoke server",
|
|
49552
|
+
onClick: function onClick() {
|
|
49553
|
+
return onRevokeServer(serverName);
|
|
49554
|
+
}
|
|
49555
|
+
})]
|
|
49556
|
+
}), allStale && /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
49557
|
+
className: "text-xs text-amber-400 bg-amber-900 bg-opacity-20 border border-amber-700 rounded px-2 py-1.5",
|
|
49558
|
+
children: "All grants on this server are no longer in the manifest \u2014 the widget likely no longer uses this server. Consider revoking."
|
|
49559
|
+
}), /*#__PURE__*/jsxRuntime.jsx(PermsList, {
|
|
49560
|
+
label: "Tools",
|
|
49561
|
+
declaredItems: decl.tools || [],
|
|
49562
|
+
grantedItems: (grant === null || grant === void 0 ? void 0 : grant.tools) || []
|
|
49563
|
+
}), /*#__PURE__*/jsxRuntime.jsx(PermsList, {
|
|
49564
|
+
label: "Read paths",
|
|
49565
|
+
declaredItems: decl.readPaths || [],
|
|
49566
|
+
grantedItems: (grant === null || grant === void 0 ? void 0 : grant.readPaths) || []
|
|
49567
|
+
}), /*#__PURE__*/jsxRuntime.jsx(PermsList, {
|
|
49568
|
+
label: "Write paths",
|
|
49569
|
+
declaredItems: decl.writePaths || [],
|
|
49570
|
+
grantedItems: (grant === null || grant === void 0 ? void 0 : grant.writePaths) || []
|
|
49571
|
+
})]
|
|
49572
|
+
}, serverName);
|
|
49573
|
+
}), (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__*/jsxRuntime.jsxs("div", {
|
|
49574
|
+
className: "flex flex-col space-y-2 border-t border-gray-800 pt-2",
|
|
49575
|
+
children: [/*#__PURE__*/jsxRuntime.jsx("span", {
|
|
49576
|
+
className: "text-xs uppercase tracking-wider opacity-70",
|
|
49577
|
+
children: "filesystem"
|
|
49578
|
+
}), Array.isArray(granted.domains.fs.actions) && granted.domains.fs.actions.length > 0 && /*#__PURE__*/jsxRuntime.jsx(PermsList, {
|
|
49579
|
+
label: "Actions",
|
|
49580
|
+
declaredItems: [],
|
|
49581
|
+
grantedItems: granted.domains.fs.actions
|
|
49582
|
+
}), /*#__PURE__*/jsxRuntime.jsx(PermsList, {
|
|
49583
|
+
label: "Read filenames",
|
|
49584
|
+
declaredItems: [],
|
|
49585
|
+
grantedItems: granted.domains.fs.readPaths || []
|
|
49586
|
+
}), /*#__PURE__*/jsxRuntime.jsx(PermsList, {
|
|
49587
|
+
label: "Write filenames",
|
|
49588
|
+
declaredItems: [],
|
|
49589
|
+
grantedItems: granted.domains.fs.writePaths || []
|
|
49590
|
+
})]
|
|
49591
|
+
}), (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__*/jsxRuntime.jsxs("div", {
|
|
49592
|
+
className: "flex flex-col space-y-2 border-t border-gray-800 pt-2",
|
|
49593
|
+
children: [/*#__PURE__*/jsxRuntime.jsx("span", {
|
|
49594
|
+
className: "text-xs uppercase tracking-wider opacity-70",
|
|
49595
|
+
children: "network"
|
|
49596
|
+
}), Array.isArray(granted.domains.network.actions) && granted.domains.network.actions.length > 0 && /*#__PURE__*/jsxRuntime.jsx(PermsList, {
|
|
49597
|
+
label: "Actions",
|
|
49598
|
+
declaredItems: [],
|
|
49599
|
+
grantedItems: granted.domains.network.actions
|
|
49600
|
+
}), /*#__PURE__*/jsxRuntime.jsx(PermsList, {
|
|
49601
|
+
label: "Allowed hosts",
|
|
49602
|
+
declaredItems: [],
|
|
49603
|
+
grantedItems: granted.domains.network.hosts || []
|
|
49604
|
+
})]
|
|
49605
|
+
})]
|
|
49606
|
+
});
|
|
49607
|
+
};
|
|
49608
|
+
|
|
49609
|
+
var WidgetPackageDetail = function WidgetPackageDetail(_ref) {
|
|
49610
|
+
var packageGroup = _ref.packageGroup,
|
|
49611
|
+
_onRevokeWidget = _ref.onRevokeWidget,
|
|
49612
|
+
_onRevokeServer = _ref.onRevokeServer,
|
|
49613
|
+
_onGrantManually = _ref.onGrantManually,
|
|
49614
|
+
onRevokePackage = _ref.onRevokePackage;
|
|
49615
|
+
var _useState = React.useState(false),
|
|
49616
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
49617
|
+
confirmRevokeAll = _useState2[0],
|
|
49618
|
+
setConfirmRevokeAll = _useState2[1];
|
|
49619
|
+
if (!packageGroup) return null;
|
|
49620
|
+
var packageId = packageGroup.packageId,
|
|
49621
|
+
displayName = packageGroup.displayName,
|
|
49622
|
+
widgets = packageGroup.widgets,
|
|
49623
|
+
grantCount = packageGroup.grantCount,
|
|
49624
|
+
hasAnyGrant = packageGroup.hasAnyGrant;
|
|
49625
|
+
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
49626
|
+
className: "flex flex-col flex-1 min-h-0 overflow-y-auto",
|
|
49627
|
+
children: /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
49628
|
+
className: "flex flex-col space-y-4 p-6",
|
|
49629
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
49630
|
+
className: "flex flex-row items-start justify-between gap-4",
|
|
49631
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
49632
|
+
className: "flex flex-col min-w-0",
|
|
49633
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
49634
|
+
className: "flex flex-row items-center gap-2 min-w-0",
|
|
49635
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(DashReact.FontAwesomeIcon, {
|
|
49636
|
+
icon: packageId ? "box" : "circle-question",
|
|
49637
|
+
className: "h-4 w-4 opacity-70"
|
|
49638
|
+
}), /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
49639
|
+
className: "text-base font-semibold text-gray-100 break-all",
|
|
49640
|
+
children: displayName
|
|
49641
|
+
})]
|
|
49642
|
+
}), /*#__PURE__*/jsxRuntime.jsxs("span", {
|
|
49643
|
+
className: "text-xs opacity-60 mt-1",
|
|
49644
|
+
children: [widgets.length, " widget", widgets.length === 1 ? "" : "s", " installed", hasAnyGrant ? " \xB7 ".concat(grantCount, " with grants") : " · no grants"]
|
|
49645
|
+
})]
|
|
49646
|
+
}), hasAnyGrant && /*#__PURE__*/jsxRuntime.jsx(DashReact.Button, {
|
|
49647
|
+
title: "Revoke all in package",
|
|
49648
|
+
onClick: function onClick() {
|
|
49649
|
+
return setConfirmRevokeAll(true);
|
|
49650
|
+
},
|
|
49651
|
+
backgroundColor: "bg-red-700",
|
|
49652
|
+
textColor: "text-white",
|
|
49653
|
+
hoverBackgroundColor: "hover:bg-red-600"
|
|
49654
|
+
})]
|
|
49655
|
+
}), confirmRevokeAll && /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
49656
|
+
className: "flex flex-col gap-2 border border-amber-700 bg-amber-900 bg-opacity-20 rounded p-3",
|
|
49657
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs("span", {
|
|
49658
|
+
className: "text-xs text-amber-300",
|
|
49659
|
+
children: ["Revoke grants for all ", grantCount, " widget", grantCount === 1 ? "" : "s", " in", " ", /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
49660
|
+
className: "font-mono",
|
|
49661
|
+
children: displayName
|
|
49662
|
+
}), "? This cannot be undone \u2014 affected widgets will re-prompt next time they call a gated API."]
|
|
49663
|
+
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
49664
|
+
className: "flex flex-row gap-2 justify-end",
|
|
49665
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(DashReact.Button, {
|
|
49666
|
+
title: "Cancel",
|
|
49667
|
+
onClick: function onClick() {
|
|
49668
|
+
return setConfirmRevokeAll(false);
|
|
49669
|
+
}
|
|
49670
|
+
}), /*#__PURE__*/jsxRuntime.jsx(DashReact.Button, {
|
|
49671
|
+
title: "Revoke all",
|
|
49672
|
+
backgroundColor: "bg-red-700",
|
|
49673
|
+
textColor: "text-white",
|
|
49674
|
+
hoverBackgroundColor: "hover:bg-red-600",
|
|
49675
|
+
onClick: function onClick() {
|
|
49676
|
+
setConfirmRevokeAll(false);
|
|
49677
|
+
onRevokePackage && onRevokePackage(packageGroup);
|
|
49678
|
+
}
|
|
49679
|
+
})]
|
|
49680
|
+
})]
|
|
49681
|
+
}), /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
49682
|
+
className: "flex flex-col space-y-3",
|
|
49683
|
+
children: widgets.map(function (row) {
|
|
49684
|
+
return /*#__PURE__*/jsxRuntime.jsx(WidgetGrantRow, {
|
|
49685
|
+
widgetId: row.widgetId,
|
|
49686
|
+
declared: row.declared,
|
|
49687
|
+
granted: row.granted,
|
|
49688
|
+
hasManifest: row.hasManifest,
|
|
49689
|
+
grantOrigin: row.grantOrigin,
|
|
49690
|
+
onRevokeWidget: function onRevokeWidget() {
|
|
49691
|
+
return _onRevokeWidget(row.widgetId);
|
|
49692
|
+
},
|
|
49693
|
+
onRevokeServer: function onRevokeServer(serverName) {
|
|
49694
|
+
return _onRevokeServer(row.widgetId, serverName);
|
|
49695
|
+
},
|
|
49696
|
+
onGrantManually: function onGrantManually() {
|
|
49697
|
+
return _onGrantManually(row.widgetId);
|
|
49698
|
+
}
|
|
49699
|
+
}, row.widgetId);
|
|
49700
|
+
})
|
|
49701
|
+
})]
|
|
49702
|
+
})
|
|
49703
|
+
});
|
|
49704
|
+
};
|
|
49705
|
+
|
|
49214
49706
|
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; }
|
|
49215
49707
|
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; }
|
|
49708
|
+
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; } } }; }
|
|
49709
|
+
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; } }
|
|
49710
|
+
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; }
|
|
49216
49711
|
var PrivacySecuritySection = function PrivacySecuritySection() {
|
|
49217
49712
|
var _useState = React.useState([]),
|
|
49218
49713
|
_useState2 = _slicedToArray(_useState, 2),
|
|
@@ -49234,6 +49729,18 @@ var PrivacySecuritySection = function PrivacySecuritySection() {
|
|
|
49234
49729
|
_useState0 = _slicedToArray(_useState9, 2),
|
|
49235
49730
|
knownServerNames = _useState0[0],
|
|
49236
49731
|
setKnownServerNames = _useState0[1];
|
|
49732
|
+
var _useState1 = React.useState(""),
|
|
49733
|
+
_useState10 = _slicedToArray(_useState1, 2),
|
|
49734
|
+
searchQuery = _useState10[0],
|
|
49735
|
+
setSearchQuery = _useState10[1];
|
|
49736
|
+
var _useState11 = React.useState("grouped"),
|
|
49737
|
+
_useState12 = _slicedToArray(_useState11, 2),
|
|
49738
|
+
viewMode = _useState12[0],
|
|
49739
|
+
setViewMode = _useState12[1];
|
|
49740
|
+
var _useState13 = React.useState(null),
|
|
49741
|
+
_useState14 = _slicedToArray(_useState13, 2),
|
|
49742
|
+
selectedPackageKey = _useState14[0],
|
|
49743
|
+
setSelectedPackageKey = _useState14[1];
|
|
49237
49744
|
var reload = React.useCallback(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
49238
49745
|
var _api$widgetMcp, api, result, _t;
|
|
49239
49746
|
return _regeneratorRuntime.wrap(function (_context) {
|
|
@@ -49274,10 +49781,6 @@ var PrivacySecuritySection = function PrivacySecuritySection() {
|
|
|
49274
49781
|
React.useEffect(function () {
|
|
49275
49782
|
reload();
|
|
49276
49783
|
}, [reload]);
|
|
49277
|
-
|
|
49278
|
-
// Pull catalog server names once, used as a datalist hint in the
|
|
49279
|
-
// manual-grant modal. Best-effort — if the API isn't there, the
|
|
49280
|
-
// datalist is just empty.
|
|
49281
49784
|
React.useEffect(function () {
|
|
49282
49785
|
var cancelled = false;
|
|
49283
49786
|
_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
|
|
@@ -49368,6 +49871,63 @@ var PrivacySecuritySection = function PrivacySecuritySection() {
|
|
|
49368
49871
|
return _ref4.apply(this, arguments);
|
|
49369
49872
|
};
|
|
49370
49873
|
}();
|
|
49874
|
+
var revokePackage = /*#__PURE__*/function () {
|
|
49875
|
+
var _ref5 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee5(packageGroup) {
|
|
49876
|
+
var _iterator, _step, _window$mainApi3, _window$mainApi3$revo, w, _t5, _t6;
|
|
49877
|
+
return _regeneratorRuntime.wrap(function (_context5) {
|
|
49878
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
49879
|
+
case 0:
|
|
49880
|
+
_context5.prev = 0;
|
|
49881
|
+
_iterator = _createForOfIteratorHelper$a(packageGroup.widgets);
|
|
49882
|
+
_context5.prev = 1;
|
|
49883
|
+
_iterator.s();
|
|
49884
|
+
case 2:
|
|
49885
|
+
if ((_step = _iterator.n()).done) {
|
|
49886
|
+
_context5.next = 5;
|
|
49887
|
+
break;
|
|
49888
|
+
}
|
|
49889
|
+
w = _step.value;
|
|
49890
|
+
if (w.granted) {
|
|
49891
|
+
_context5.next = 3;
|
|
49892
|
+
break;
|
|
49893
|
+
}
|
|
49894
|
+
return _context5.abrupt("continue", 4);
|
|
49895
|
+
case 3:
|
|
49896
|
+
_context5.next = 4;
|
|
49897
|
+
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);
|
|
49898
|
+
case 4:
|
|
49899
|
+
_context5.next = 2;
|
|
49900
|
+
break;
|
|
49901
|
+
case 5:
|
|
49902
|
+
_context5.next = 7;
|
|
49903
|
+
break;
|
|
49904
|
+
case 6:
|
|
49905
|
+
_context5.prev = 6;
|
|
49906
|
+
_t5 = _context5["catch"](1);
|
|
49907
|
+
_iterator.e(_t5);
|
|
49908
|
+
case 7:
|
|
49909
|
+
_context5.prev = 7;
|
|
49910
|
+
_iterator.f();
|
|
49911
|
+
return _context5.finish(7);
|
|
49912
|
+
case 8:
|
|
49913
|
+
reload();
|
|
49914
|
+
_context5.next = 10;
|
|
49915
|
+
break;
|
|
49916
|
+
case 9:
|
|
49917
|
+
_context5.prev = 9;
|
|
49918
|
+
_t6 = _context5["catch"](0);
|
|
49919
|
+
setError((_t6 === null || _t6 === void 0 ? void 0 : _t6.message) || String(_t6));
|
|
49920
|
+
reload();
|
|
49921
|
+
case 10:
|
|
49922
|
+
case "end":
|
|
49923
|
+
return _context5.stop();
|
|
49924
|
+
}
|
|
49925
|
+
}, _callee5, null, [[0, 9], [1, 6, 7, 8]]);
|
|
49926
|
+
}));
|
|
49927
|
+
return function revokePackage(_x4) {
|
|
49928
|
+
return _ref5.apply(this, arguments);
|
|
49929
|
+
};
|
|
49930
|
+
}();
|
|
49371
49931
|
if (loading) {
|
|
49372
49932
|
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
49373
49933
|
className: "flex flex-col p-6",
|
|
@@ -49377,45 +49937,49 @@ var PrivacySecuritySection = function PrivacySecuritySection() {
|
|
|
49377
49937
|
})
|
|
49378
49938
|
});
|
|
49379
49939
|
}
|
|
49940
|
+
var packageGroups = groupRowsByPackage(rows);
|
|
49941
|
+
var selectedGroup = selectedPackageKey == null ? null : packageGroups.find(function (g) {
|
|
49942
|
+
return g.packageId == null ? selectedPackageKey === "__ungrouped__" : g.packageId === selectedPackageKey;
|
|
49943
|
+
}) || null;
|
|
49944
|
+
var listContent = /*#__PURE__*/jsxRuntime.jsx(PrivacySecurityList, {
|
|
49945
|
+
packageGroups: packageGroups,
|
|
49946
|
+
selectedPackageKey: selectedPackageKey,
|
|
49947
|
+
onSelectPackage: setSelectedPackageKey,
|
|
49948
|
+
searchQuery: searchQuery,
|
|
49949
|
+
onSearchChange: setSearchQuery,
|
|
49950
|
+
viewMode: viewMode,
|
|
49951
|
+
onViewModeChange: setViewMode
|
|
49952
|
+
});
|
|
49953
|
+
var detailContent = selectedGroup ? /*#__PURE__*/jsxRuntime.jsx(WidgetPackageDetail, {
|
|
49954
|
+
packageGroup: selectedGroup,
|
|
49955
|
+
onRevokeWidget: revokeWidget,
|
|
49956
|
+
onRevokeServer: revokeServer,
|
|
49957
|
+
onGrantManually: function onGrantManually(widgetId) {
|
|
49958
|
+
return setManualGrantWidgetId(widgetId);
|
|
49959
|
+
},
|
|
49960
|
+
onRevokePackage: revokePackage
|
|
49961
|
+
}) : null;
|
|
49380
49962
|
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
49381
|
-
className: "flex flex-col
|
|
49963
|
+
className: "flex flex-col flex-1 min-h-0",
|
|
49382
49964
|
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
49383
|
-
className: "flex flex-col space-y-
|
|
49384
|
-
children: [/*#__PURE__*/jsxRuntime.
|
|
49385
|
-
|
|
49386
|
-
|
|
49387
|
-
|
|
49388
|
-
|
|
49389
|
-
|
|
49965
|
+
className: "flex-shrink-0 flex flex-col space-y-4 p-6 border-b border-gray-800",
|
|
49966
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
49967
|
+
className: "flex flex-col space-y-2",
|
|
49968
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(DashReact.SubHeading3, {
|
|
49969
|
+
title: "Widget MCP permissions",
|
|
49970
|
+
padding: false
|
|
49971
|
+
}), /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
49972
|
+
className: "text-xs opacity-60",
|
|
49973
|
+
children: "Granting access here is a trust signal about the widget \u2014 not a per-dashboard switch."
|
|
49974
|
+
})]
|
|
49975
|
+
}), /*#__PURE__*/jsxRuntime.jsx(EnforcementToggles, {}), /*#__PURE__*/jsxRuntime.jsx(HowThisWorksPanel, {}), error && /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
49976
|
+
className: "text-xs text-red-400 bg-red-900 bg-opacity-20 border border-red-700 rounded p-3",
|
|
49977
|
+
children: error
|
|
49390
49978
|
})]
|
|
49391
|
-
}), /*#__PURE__*/jsxRuntime.jsx(
|
|
49392
|
-
|
|
49393
|
-
|
|
49394
|
-
|
|
49395
|
-
className: "text-sm opacity-60",
|
|
49396
|
-
children: "No widgets installed."
|
|
49397
|
-
}), rows.map(function (_ref5) {
|
|
49398
|
-
var widgetId = _ref5.widgetId,
|
|
49399
|
-
declared = _ref5.declared,
|
|
49400
|
-
granted = _ref5.granted,
|
|
49401
|
-
hasManifest = _ref5.hasManifest,
|
|
49402
|
-
grantOrigin = _ref5.grantOrigin;
|
|
49403
|
-
return /*#__PURE__*/jsxRuntime.jsx(WidgetGrantRow, {
|
|
49404
|
-
widgetId: widgetId,
|
|
49405
|
-
declared: declared,
|
|
49406
|
-
granted: granted,
|
|
49407
|
-
hasManifest: hasManifest,
|
|
49408
|
-
grantOrigin: grantOrigin,
|
|
49409
|
-
onRevokeWidget: function onRevokeWidget() {
|
|
49410
|
-
return revokeWidget(widgetId);
|
|
49411
|
-
},
|
|
49412
|
-
onRevokeServer: function onRevokeServer(serverName) {
|
|
49413
|
-
return revokeServer(widgetId, serverName);
|
|
49414
|
-
},
|
|
49415
|
-
onGrantManually: function onGrantManually() {
|
|
49416
|
-
return setManualGrantWidgetId(widgetId);
|
|
49417
|
-
}
|
|
49418
|
-
}, widgetId);
|
|
49979
|
+
}), /*#__PURE__*/jsxRuntime.jsx(SectionLayout, {
|
|
49980
|
+
listContent: listContent,
|
|
49981
|
+
detailContent: detailContent,
|
|
49982
|
+
emptyDetailMessage: "Select a package to view its grants"
|
|
49419
49983
|
}), /*#__PURE__*/jsxRuntime.jsx(GrantManuallyModal, {
|
|
49420
49984
|
isOpen: !!manualGrantWidgetId,
|
|
49421
49985
|
setIsOpen: function setIsOpen(open) {
|
|
@@ -49452,19 +50016,19 @@ var EnforcementToggles = function EnforcementToggles() {
|
|
|
49452
50016
|
// pendingDisable: { flag: 'enforce' | 'jit' } | null
|
|
49453
50017
|
// When the user toggles a flag from ON → OFF, we open a confirm modal
|
|
49454
50018
|
// before persisting. ON → ON or OFF → ON go through immediately.
|
|
49455
|
-
var
|
|
49456
|
-
|
|
49457
|
-
pendingDisable =
|
|
49458
|
-
setPendingDisable =
|
|
50019
|
+
var _useState15 = React.useState(null),
|
|
50020
|
+
_useState16 = _slicedToArray(_useState15, 2),
|
|
50021
|
+
pendingDisable = _useState16[0],
|
|
50022
|
+
setPendingDisable = _useState16[1];
|
|
49459
50023
|
|
|
49460
50024
|
// lastTestResult: feedback for the "Test prompt" button. Tells the
|
|
49461
50025
|
// user whether their JIT response was actually persisted, so they
|
|
49462
50026
|
// don't have to interpret the post-grant "server not connected"
|
|
49463
50027
|
// error as failure.
|
|
49464
|
-
var
|
|
49465
|
-
|
|
49466
|
-
lastTestResult =
|
|
49467
|
-
setLastTestResult =
|
|
50028
|
+
var _useState17 = React.useState(null),
|
|
50029
|
+
_useState18 = _slicedToArray(_useState17, 2),
|
|
50030
|
+
lastTestResult = _useState18[0],
|
|
50031
|
+
setLastTestResult = _useState18[1];
|
|
49468
50032
|
|
|
49469
50033
|
// Auto-clear the test result after 30 seconds so it doesn't linger
|
|
49470
50034
|
// forever after a successful test.
|
|
@@ -49534,22 +50098,22 @@ var EnforcementToggles = function EnforcementToggles() {
|
|
|
49534
50098
|
// message includes "JIT consent timed out" → timeout
|
|
49535
50099
|
// anything else → unknown error
|
|
49536
50100
|
var triggerTestJitPrompt = /*#__PURE__*/function () {
|
|
49537
|
-
var _ref6 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function
|
|
49538
|
-
var _window$
|
|
49539
|
-
return _regeneratorRuntime.wrap(function (
|
|
49540
|
-
while (1) switch (
|
|
50101
|
+
var _ref6 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee6() {
|
|
50102
|
+
var _window$mainApi4, _window$mainApi4$call, result, msg, _t7;
|
|
50103
|
+
return _regeneratorRuntime.wrap(function (_context6) {
|
|
50104
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
49541
50105
|
case 0:
|
|
49542
50106
|
setLastTestResult({
|
|
49543
50107
|
status: "pending",
|
|
49544
50108
|
message: "Waiting for response…"
|
|
49545
50109
|
});
|
|
49546
|
-
|
|
49547
|
-
|
|
49548
|
-
return (_window$
|
|
50110
|
+
_context6.prev = 1;
|
|
50111
|
+
_context6.next = 2;
|
|
50112
|
+
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", {
|
|
49549
50113
|
path: "/tmp/jit-probe.txt"
|
|
49550
50114
|
}, null, "@test/jit-probe");
|
|
49551
50115
|
case 2:
|
|
49552
|
-
result =
|
|
50116
|
+
result = _context6.sent;
|
|
49553
50117
|
// callTool resolves to { error, message } on the main side; classify.
|
|
49554
50118
|
msg = (result === null || result === void 0 ? void 0 : result.message) || JSON.stringify(result || {});
|
|
49555
50119
|
if (/server not connected/i.test(msg)) {
|
|
@@ -49573,20 +50137,20 @@ var EnforcementToggles = function EnforcementToggles() {
|
|
|
49573
50137
|
message: "Unexpected: " + msg
|
|
49574
50138
|
});
|
|
49575
50139
|
}
|
|
49576
|
-
|
|
50140
|
+
_context6.next = 4;
|
|
49577
50141
|
break;
|
|
49578
50142
|
case 3:
|
|
49579
|
-
|
|
49580
|
-
|
|
50143
|
+
_context6.prev = 3;
|
|
50144
|
+
_t7 = _context6["catch"](1);
|
|
49581
50145
|
setLastTestResult({
|
|
49582
50146
|
status: "error",
|
|
49583
|
-
message: "Test threw: " + ((
|
|
50147
|
+
message: "Test threw: " + ((_t7 === null || _t7 === void 0 ? void 0 : _t7.message) || String(_t7))
|
|
49584
50148
|
});
|
|
49585
50149
|
case 4:
|
|
49586
50150
|
case "end":
|
|
49587
|
-
return
|
|
50151
|
+
return _context6.stop();
|
|
49588
50152
|
}
|
|
49589
|
-
},
|
|
50153
|
+
}, _callee6, null, [[1, 3]]);
|
|
49590
50154
|
}));
|
|
49591
50155
|
return function triggerTestJitPrompt() {
|
|
49592
50156
|
return _ref6.apply(this, arguments);
|
|
@@ -49723,198 +50287,6 @@ var ConfirmDisableInline = function ConfirmDisableInline(_ref7) {
|
|
|
49723
50287
|
})]
|
|
49724
50288
|
});
|
|
49725
50289
|
};
|
|
49726
|
-
var WidgetGrantRow = function WidgetGrantRow(_ref8) {
|
|
49727
|
-
var _granted$domains, _granted$domains2;
|
|
49728
|
-
var widgetId = _ref8.widgetId,
|
|
49729
|
-
declared = _ref8.declared,
|
|
49730
|
-
granted = _ref8.granted,
|
|
49731
|
-
hasManifest = _ref8.hasManifest,
|
|
49732
|
-
grantOrigin = _ref8.grantOrigin,
|
|
49733
|
-
onRevokeWidget = _ref8.onRevokeWidget,
|
|
49734
|
-
onRevokeServer = _ref8.onRevokeServer,
|
|
49735
|
-
onGrantManually = _ref8.onGrantManually;
|
|
49736
|
-
var declaredServers = declared && declared.servers || {};
|
|
49737
|
-
var grantedServers = granted && granted.servers || {};
|
|
49738
|
-
var allServerNames = Array.from(new Set([].concat(_toConsumableArray(Object.keys(declaredServers)), _toConsumableArray(Object.keys(grantedServers)))));
|
|
49739
|
-
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
49740
|
-
className: "flex flex-col space-y-3 border border-gray-700 rounded p-3",
|
|
49741
|
-
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
49742
|
-
className: "flex flex-row items-center justify-between gap-2",
|
|
49743
|
-
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
49744
|
-
className: "flex flex-row items-center gap-2 min-w-0",
|
|
49745
|
-
children: [/*#__PURE__*/jsxRuntime.jsx("span", {
|
|
49746
|
-
className: "text-sm font-mono break-all",
|
|
49747
|
-
children: widgetId
|
|
49748
|
-
}), grantOrigin && /*#__PURE__*/jsxRuntime.jsx(GrantOriginBadge, {
|
|
49749
|
-
origin: grantOrigin
|
|
49750
|
-
}), !hasManifest && !granted && /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
49751
|
-
className: "text-xs uppercase tracking-wider text-amber-400",
|
|
49752
|
-
children: "no manifest"
|
|
49753
|
-
})]
|
|
49754
|
-
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
49755
|
-
className: "flex flex-row gap-2",
|
|
49756
|
-
children: [!hasManifest && !granted && /*#__PURE__*/jsxRuntime.jsx(DashReact.Button, {
|
|
49757
|
-
title: "Grant manually",
|
|
49758
|
-
onClick: onGrantManually
|
|
49759
|
-
}), Object.keys(grantedServers).length > 0 && /*#__PURE__*/jsxRuntime.jsx(DashReact.Button, {
|
|
49760
|
-
title: "Revoke all",
|
|
49761
|
-
onClick: onRevokeWidget
|
|
49762
|
-
})]
|
|
49763
|
-
})]
|
|
49764
|
-
}), !declared && !granted && /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
49765
|
-
className: "text-xs opacity-50",
|
|
49766
|
-
children: "This widget did not declare MCP permissions and the install-time scanner found nothing. Use Grant manually if you trust it."
|
|
49767
|
-
}), allServerNames.map(function (serverName) {
|
|
49768
|
-
var decl = declaredServers[serverName] || {};
|
|
49769
|
-
var grant = grantedServers[serverName];
|
|
49770
|
-
var allStale = isServerEntirelyStale(decl, grant);
|
|
49771
|
-
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
49772
|
-
className: "flex flex-col space-y-2 border-t border-gray-800 pt-2",
|
|
49773
|
-
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
49774
|
-
className: "flex flex-row items-center justify-between",
|
|
49775
|
-
children: [/*#__PURE__*/jsxRuntime.jsxs("span", {
|
|
49776
|
-
className: "text-xs uppercase tracking-wider opacity-70",
|
|
49777
|
-
children: [serverName, !grant && /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
49778
|
-
className: "ml-2 text-amber-400 normal-case tracking-normal",
|
|
49779
|
-
children: "(declared, not granted)"
|
|
49780
|
-
})]
|
|
49781
|
-
}), grant && /*#__PURE__*/jsxRuntime.jsx(DashReact.Button, {
|
|
49782
|
-
title: "Revoke server",
|
|
49783
|
-
onClick: function onClick() {
|
|
49784
|
-
return onRevokeServer(serverName);
|
|
49785
|
-
}
|
|
49786
|
-
})]
|
|
49787
|
-
}), allStale && /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
49788
|
-
className: "text-xs text-amber-400 bg-amber-900 bg-opacity-20 border border-amber-700 rounded px-2 py-1.5",
|
|
49789
|
-
children: "All grants on this server are no longer in the manifest \u2014 the widget likely no longer uses this server. Consider revoking."
|
|
49790
|
-
}), /*#__PURE__*/jsxRuntime.jsx(PermsList, {
|
|
49791
|
-
label: "Tools",
|
|
49792
|
-
declaredItems: decl.tools || [],
|
|
49793
|
-
grantedItems: (grant === null || grant === void 0 ? void 0 : grant.tools) || []
|
|
49794
|
-
}), /*#__PURE__*/jsxRuntime.jsx(PermsList, {
|
|
49795
|
-
label: "Read paths",
|
|
49796
|
-
declaredItems: decl.readPaths || [],
|
|
49797
|
-
grantedItems: (grant === null || grant === void 0 ? void 0 : grant.readPaths) || []
|
|
49798
|
-
}), /*#__PURE__*/jsxRuntime.jsx(PermsList, {
|
|
49799
|
-
label: "Write paths",
|
|
49800
|
-
declaredItems: decl.writePaths || [],
|
|
49801
|
-
grantedItems: (grant === null || grant === void 0 ? void 0 : grant.writePaths) || []
|
|
49802
|
-
})]
|
|
49803
|
-
}, serverName);
|
|
49804
|
-
}), (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__*/jsxRuntime.jsxs("div", {
|
|
49805
|
-
className: "flex flex-col space-y-2 border-t border-gray-800 pt-2",
|
|
49806
|
-
children: [/*#__PURE__*/jsxRuntime.jsx("span", {
|
|
49807
|
-
className: "text-xs uppercase tracking-wider opacity-70",
|
|
49808
|
-
children: "filesystem"
|
|
49809
|
-
}), /*#__PURE__*/jsxRuntime.jsx(PermsList, {
|
|
49810
|
-
label: "Read filenames",
|
|
49811
|
-
declaredItems: [],
|
|
49812
|
-
grantedItems: granted.domains.fs.readPaths || []
|
|
49813
|
-
}), /*#__PURE__*/jsxRuntime.jsx(PermsList, {
|
|
49814
|
-
label: "Write filenames",
|
|
49815
|
-
declaredItems: [],
|
|
49816
|
-
grantedItems: granted.domains.fs.writePaths || []
|
|
49817
|
-
})]
|
|
49818
|
-
}), (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__*/jsxRuntime.jsxs("div", {
|
|
49819
|
-
className: "flex flex-col space-y-2 border-t border-gray-800 pt-2",
|
|
49820
|
-
children: [/*#__PURE__*/jsxRuntime.jsx("span", {
|
|
49821
|
-
className: "text-xs uppercase tracking-wider opacity-70",
|
|
49822
|
-
children: "network"
|
|
49823
|
-
}), /*#__PURE__*/jsxRuntime.jsx(PermsList, {
|
|
49824
|
-
label: "Allowed hosts",
|
|
49825
|
-
declaredItems: [],
|
|
49826
|
-
grantedItems: granted.domains.network.hosts || []
|
|
49827
|
-
})]
|
|
49828
|
-
})]
|
|
49829
|
-
});
|
|
49830
|
-
};
|
|
49831
|
-
var PermsList = function PermsList(_ref9) {
|
|
49832
|
-
var label = _ref9.label,
|
|
49833
|
-
declaredItems = _ref9.declaredItems,
|
|
49834
|
-
grantedItems = _ref9.grantedItems;
|
|
49835
|
-
if (declaredItems.length === 0 && grantedItems.length === 0) return null;
|
|
49836
|
-
var grantedSet = new Set(grantedItems);
|
|
49837
|
-
var declaredSet = new Set(declaredItems);
|
|
49838
|
-
var all = Array.from(new Set([].concat(_toConsumableArray(declaredItems), _toConsumableArray(grantedItems))));
|
|
49839
|
-
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
49840
|
-
className: "flex flex-col space-y-1",
|
|
49841
|
-
children: [/*#__PURE__*/jsxRuntime.jsx("span", {
|
|
49842
|
-
className: "text-xs opacity-50",
|
|
49843
|
-
children: label
|
|
49844
|
-
}), all.map(function (item) {
|
|
49845
|
-
var isGranted = grantedSet.has(item);
|
|
49846
|
-
var isDeclared = declaredSet.has(item);
|
|
49847
|
-
var isStale = isGranted && !isDeclared;
|
|
49848
|
-
return /*#__PURE__*/jsxRuntime.jsxs("span", {
|
|
49849
|
-
className: "text-xs font-mono break-all ".concat(isStale ? "text-amber-400" : isGranted ? "opacity-100" : "opacity-50 line-through"),
|
|
49850
|
-
children: [item, isStale && /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
49851
|
-
className: "ml-2 not-italic font-sans normal-case tracking-normal text-amber-400",
|
|
49852
|
-
children: "(stale \u2014 widget no longer requests this; consider revoking)"
|
|
49853
|
-
})]
|
|
49854
|
-
}, item);
|
|
49855
|
-
})]
|
|
49856
|
-
});
|
|
49857
|
-
};
|
|
49858
|
-
|
|
49859
|
-
/**
|
|
49860
|
-
* True when the granted entry has at least one item AND every granted
|
|
49861
|
-
* item is missing from the current declared block (i.e. all of this
|
|
49862
|
-
* server's grants are unused by the current manifest). Used to surface
|
|
49863
|
-
* a "this whole server's grant looks unused" suggestion at the row level.
|
|
49864
|
-
*/
|
|
49865
|
-
function isServerEntirelyStale(decl, grant) {
|
|
49866
|
-
if (!grant) return false;
|
|
49867
|
-
var declTools = new Set(decl.tools || []);
|
|
49868
|
-
var declRead = new Set(decl.readPaths || []);
|
|
49869
|
-
var declWrite = new Set(decl.writePaths || []);
|
|
49870
|
-
var grantedTools = grant.tools || [];
|
|
49871
|
-
var grantedRead = grant.readPaths || [];
|
|
49872
|
-
var grantedWrite = grant.writePaths || [];
|
|
49873
|
-
var total = grantedTools.length + grantedRead.length + grantedWrite.length;
|
|
49874
|
-
if (total === 0) return false;
|
|
49875
|
-
var stale = grantedTools.every(function (t) {
|
|
49876
|
-
return !declTools.has(t);
|
|
49877
|
-
}) && grantedRead.every(function (p) {
|
|
49878
|
-
return !declRead.has(p);
|
|
49879
|
-
}) && grantedWrite.every(function (p) {
|
|
49880
|
-
return !declWrite.has(p);
|
|
49881
|
-
});
|
|
49882
|
-
return stale;
|
|
49883
|
-
}
|
|
49884
|
-
|
|
49885
|
-
/**
|
|
49886
|
-
* Renders a small badge showing how the user got to this grant. Helps
|
|
49887
|
-
* the user audit grants that were approved against a scanner guess
|
|
49888
|
-
* rather than the developer's explicit declaration.
|
|
49889
|
-
*/
|
|
49890
|
-
var GrantOriginBadge = function GrantOriginBadge(_ref0) {
|
|
49891
|
-
var origin = _ref0.origin;
|
|
49892
|
-
var styles = {
|
|
49893
|
-
declared: {
|
|
49894
|
-
label: "declared",
|
|
49895
|
-
color: "text-green-400"
|
|
49896
|
-
},
|
|
49897
|
-
discovered: {
|
|
49898
|
-
label: "discovered",
|
|
49899
|
-
color: "text-amber-400"
|
|
49900
|
-
},
|
|
49901
|
-
manual: {
|
|
49902
|
-
label: "manual",
|
|
49903
|
-
color: "text-blue-400"
|
|
49904
|
-
},
|
|
49905
|
-
live: {
|
|
49906
|
-
label: "live",
|
|
49907
|
-
color: "text-purple-400"
|
|
49908
|
-
}
|
|
49909
|
-
};
|
|
49910
|
-
var style = styles[origin];
|
|
49911
|
-
if (!style) return null;
|
|
49912
|
-
return /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
49913
|
-
className: "text-xs uppercase tracking-wider ".concat(style.color),
|
|
49914
|
-
title: "Origin: ".concat(origin),
|
|
49915
|
-
children: style.label
|
|
49916
|
-
});
|
|
49917
|
-
};
|
|
49918
50290
|
|
|
49919
50291
|
// Mock fixtures for the "Example rows" section. These use the same
|
|
49920
50292
|
// WidgetGrantRow component the real rows use, so the preview always
|
|
@@ -50057,10 +50429,10 @@ var noop = function noop() {};
|
|
|
50057
50429
|
* users who don't want the wall of text collapse manually.
|
|
50058
50430
|
*/
|
|
50059
50431
|
var HowThisWorksPanel = function HowThisWorksPanel() {
|
|
50060
|
-
var
|
|
50061
|
-
|
|
50062
|
-
open =
|
|
50063
|
-
setOpen =
|
|
50432
|
+
var _useState19 = React.useState(true),
|
|
50433
|
+
_useState20 = _slicedToArray(_useState19, 2),
|
|
50434
|
+
open = _useState20[0],
|
|
50435
|
+
setOpen = _useState20[1];
|
|
50064
50436
|
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
50065
50437
|
className: "border border-gray-700 rounded",
|
|
50066
50438
|
children: [/*#__PURE__*/jsxRuntime.jsxs("button", {
|