@trops/dash-core 0.1.516 → 0.1.518

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