@trops/dash-core 0.1.491 → 0.1.492

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
@@ -1627,9 +1627,10 @@ var ElectronDashboardApi = /*#__PURE__*/function () {
1627
1627
  value: function mcpStartServer(serverName, mcpConfig, credentials, onSuccess, onError) {
1628
1628
  var _this20 = this;
1629
1629
  var workspaceId = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : null;
1630
+ var pathScope = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : null;
1630
1631
  if (this.api !== null) {
1631
1632
  try {
1632
- this.api.mcp.startServer(serverName, mcpConfig, credentials, workspaceId).then(function (result) {
1633
+ this.api.mcp.startServer(serverName, mcpConfig, credentials, workspaceId, pathScope).then(function (result) {
1633
1634
  onSuccess(_this20.events.MCP_START_SERVER_COMPLETE, result);
1634
1635
  })["catch"](function (error) {
1635
1636
  onError(_this20.events.MCP_START_SERVER_ERROR, error);
@@ -3100,9 +3101,9 @@ var LayoutContainer = function LayoutContainer(_ref) {
3100
3101
 
3101
3102
  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; }
3102
3103
  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; }
3103
- 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; } } }; }
3104
- 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; } }
3105
- 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; }
3104
+ 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; } } }; }
3105
+ 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; } }
3106
+ 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; }
3106
3107
  /**
3107
3108
  * Layout template definitions for the dashboard template picker.
3108
3109
  *
@@ -3376,7 +3377,7 @@ function createLayoutFromTemplate(template) {
3376
3377
  cols: template.cols,
3377
3378
  gap: "gap-2"
3378
3379
  };
3379
- var _iterator = _createForOfIteratorHelper$z(template.cells),
3380
+ var _iterator = _createForOfIteratorHelper$A(template.cells),
3380
3381
  _step;
3381
3382
  try {
3382
3383
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -4557,9 +4558,9 @@ var DashboardInstallOptionsModal = function DashboardInstallOptionsModal(_ref) {
4557
4558
  });
4558
4559
  };
4559
4560
 
4560
- 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; } } }; }
4561
- 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; } }
4562
- 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; }
4561
+ 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; } } }; }
4562
+ 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; } }
4563
+ 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; }
4563
4564
  function ownKeys$W(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; }
4564
4565
  function _objectSpread$W(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$W(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$W(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4565
4566
  var RegistryDashboardDetail = function RegistryDashboardDetail(_ref) {
@@ -4917,7 +4918,7 @@ var RegistryDashboardDetail = function RegistryDashboardDetail(_ref) {
4917
4918
  toInstall = 0,
4918
4919
  unavailable = 0,
4919
4920
  hasUnavailableRequired = false;
4920
- var _iterator = _createForOfIteratorHelper$y(widgetDeps),
4921
+ var _iterator = _createForOfIteratorHelper$z(widgetDeps),
4921
4922
  _step;
4922
4923
  try {
4923
4924
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -6562,9 +6563,9 @@ function cleanIpcError(message) {
6562
6563
  return match ? match[1] : message;
6563
6564
  }
6564
6565
 
6565
- 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; } } }; }
6566
- 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; } }
6567
- 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; }
6566
+ 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; } } }; }
6567
+ 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; } }
6568
+ 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; }
6568
6569
 
6569
6570
  /**
6570
6571
  * useRegistrySearch — shared hook for browsing and installing registry packages.
@@ -6678,13 +6679,13 @@ var useRegistrySearch = function useRegistrySearch() {
6678
6679
  return c.toLowerCase();
6679
6680
  }));
6680
6681
  widgets = [];
6681
- _iterator = _createForOfIteratorHelper$x(pkgs);
6682
+ _iterator = _createForOfIteratorHelper$y(pkgs);
6682
6683
  try {
6683
6684
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
6684
6685
  pkg = _step.value;
6685
6686
  // Compute missing APIs for the entire package
6686
6687
  allApiProviders = [];
6687
- _iterator2 = _createForOfIteratorHelper$x(pkg.providers || []);
6688
+ _iterator2 = _createForOfIteratorHelper$y(pkg.providers || []);
6688
6689
  try {
6689
6690
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
6690
6691
  p = _step2.value;
@@ -6697,11 +6698,11 @@ var useRegistrySearch = function useRegistrySearch() {
6697
6698
  } finally {
6698
6699
  _iterator2.f();
6699
6700
  }
6700
- _iterator3 = _createForOfIteratorHelper$x(pkg.widgets || []);
6701
+ _iterator3 = _createForOfIteratorHelper$y(pkg.widgets || []);
6701
6702
  try {
6702
6703
  for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
6703
6704
  w = _step3.value;
6704
- _iterator5 = _createForOfIteratorHelper$x(w.providers || []);
6705
+ _iterator5 = _createForOfIteratorHelper$y(w.providers || []);
6705
6706
  try {
6706
6707
  for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
6707
6708
  _p = _step5.value;
@@ -6723,7 +6724,7 @@ var useRegistrySearch = function useRegistrySearch() {
6723
6724
  missingApis = _toConsumableArray(new Set(allApiProviders)).filter(function (api) {
6724
6725
  return !capSet.has(api.toLowerCase());
6725
6726
  });
6726
- _iterator4 = _createForOfIteratorHelper$x(pkg.widgets || []);
6727
+ _iterator4 = _createForOfIteratorHelper$y(pkg.widgets || []);
6727
6728
  try {
6728
6729
  for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
6729
6730
  widget = _step4.value;
@@ -7430,9 +7431,9 @@ function applyFilters(items, filters, mode) {
7430
7431
  });
7431
7432
  }
7432
7433
 
7433
- 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; } } }; }
7434
- 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; } }
7435
- 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; }
7434
+ 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; } } }; }
7435
+ 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; } }
7436
+ 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; }
7436
7437
  var WizardCustomizeStep = function WizardCustomizeStep(_ref) {
7437
7438
  var _state$selectedDashbo, _state$selectedDashbo2;
7438
7439
  var state = _ref.state,
@@ -7651,7 +7652,7 @@ var WizardCustomizeStep = function WizardCustomizeStep(_ref) {
7651
7652
  installedNames = new Set(installedList.map(function (w) {
7652
7653
  return w.name;
7653
7654
  }));
7654
- _iterator = _createForOfIteratorHelper$w(state.selectedWidgets);
7655
+ _iterator = _createForOfIteratorHelper$x(state.selectedWidgets);
7655
7656
  _context2.prev = 12;
7656
7657
  _iterator.s();
7657
7658
  case 13:
@@ -9221,9 +9222,9 @@ var PanelEditItem = function PanelEditItem(_ref) {
9221
9222
  };
9222
9223
 
9223
9224
  var _excluded$6 = ["rows", "cols"];
9224
- 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; } } }; }
9225
- 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; } }
9226
- 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; }
9225
+ 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; } } }; }
9226
+ 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; } }
9227
+ 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; }
9227
9228
  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; }
9228
9229
  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; }
9229
9230
  var defaultGrid = {
@@ -9376,7 +9377,7 @@ function GridEditor(_ref) {
9376
9377
  function sortObjectByKeys(obj) {
9377
9378
  var sortedKeys = Object.keys(obj).sort();
9378
9379
  var sortedObj = {};
9379
- var _iterator = _createForOfIteratorHelper$v(sortedKeys),
9380
+ var _iterator = _createForOfIteratorHelper$w(sortedKeys),
9380
9381
  _step;
9381
9382
  try {
9382
9383
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -9849,9 +9850,9 @@ var PanelEditItemNotifications = function PanelEditItemNotifications(_ref) {
9849
9850
  });
9850
9851
  };
9851
9852
 
9852
- 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; } } }; }
9853
- 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; } }
9854
- 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; }
9853
+ 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; } } }; }
9854
+ 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; } }
9855
+ 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; }
9855
9856
  function ownKeys$S(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; }
9856
9857
  function _objectSpread$S(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$S(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$S(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
9857
9858
  var DAYS = [{
@@ -10180,7 +10181,7 @@ var PanelEditItemSchedule = function PanelEditItemSchedule(_ref2) {
10180
10181
  setIsLoading(true);
10181
10182
  window.mainApi.scheduler.getTasks(widgetUuid).then(function (tasks) {
10182
10183
  var stateMap = {};
10183
- var _iterator = _createForOfIteratorHelper$u(tasks || []),
10184
+ var _iterator = _createForOfIteratorHelper$v(tasks || []),
10184
10185
  _step;
10185
10186
  try {
10186
10187
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -10439,9 +10440,9 @@ function isUserWidget(item) {
10439
10440
  return true;
10440
10441
  }
10441
10442
 
10442
- 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; } } }; }
10443
- 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; } }
10444
- 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; }
10443
+ 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; } } }; }
10444
+ 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; } }
10445
+ 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; }
10445
10446
 
10446
10447
  /**
10447
10448
  * Resolve which provider name a given widget instance would bind to for
@@ -10473,7 +10474,7 @@ function resolveProviderName(_ref) {
10473
10474
  // array. Support both because different callers shape it either way.
10474
10475
  if (appProviders) {
10475
10476
  if (Array.isArray(appProviders)) {
10476
- var _iterator = _createForOfIteratorHelper$t(appProviders),
10477
+ var _iterator = _createForOfIteratorHelper$u(appProviders),
10477
10478
  _step;
10478
10479
  try {
10479
10480
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -10533,7 +10534,7 @@ function forEachWidget(workspace, visit) {
10533
10534
  };
10534
10535
  var _walk = function walk(items) {
10535
10536
  if (!Array.isArray(items)) return;
10536
- var _iterator2 = _createForOfIteratorHelper$t(items),
10537
+ var _iterator2 = _createForOfIteratorHelper$u(items),
10537
10538
  _step2;
10538
10539
  try {
10539
10540
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
@@ -10574,7 +10575,7 @@ function forEachWidget(workspace, visit) {
10574
10575
  // widgets that only live there (e.g. AI-place writes that bypass
10575
10576
  // the page handler).
10576
10577
  if (Array.isArray(workspace.pages)) {
10577
- var _iterator3 = _createForOfIteratorHelper$t(workspace.pages),
10578
+ var _iterator3 = _createForOfIteratorHelper$u(workspace.pages),
10578
10579
  _step3;
10579
10580
  try {
10580
10581
  for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
@@ -10625,7 +10626,7 @@ function getUnresolvedProviders(_ref2) {
10625
10626
  // the same `type` listed twice (a Claude code-gen quirk), which
10626
10627
  // would otherwise produce duplicate rows in the Providers tab.
10627
10628
  var seenTypes = new Set();
10628
- var _iterator4 = _createForOfIteratorHelper$t(requirements),
10629
+ var _iterator4 = _createForOfIteratorHelper$u(requirements),
10629
10630
  _step4;
10630
10631
  try {
10631
10632
  for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
@@ -10668,7 +10669,7 @@ function getUnresolvedProviders(_ref2) {
10668
10669
  */
10669
10670
  function groupByProviderType(unresolved) {
10670
10671
  var byType = new Map();
10671
- var _iterator5 = _createForOfIteratorHelper$t(unresolved || []),
10672
+ var _iterator5 = _createForOfIteratorHelper$u(unresolved || []),
10672
10673
  _step5;
10673
10674
  try {
10674
10675
  for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
@@ -10710,7 +10711,7 @@ function getAllProviderBindings(_ref3) {
10710
10711
  // quirk) which would otherwise duplicate the per-widget row in
10711
10712
  // the Providers tab.
10712
10713
  var seenTypes = new Set();
10713
- var _iterator6 = _createForOfIteratorHelper$t(requirements),
10714
+ var _iterator6 = _createForOfIteratorHelper$u(requirements),
10714
10715
  _step6;
10715
10716
  try {
10716
10717
  for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
@@ -10752,9 +10753,9 @@ function getAllProviderBindings(_ref3) {
10752
10753
 
10753
10754
  function ownKeys$Q(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; }
10754
10755
  function _objectSpread$Q(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$Q(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$Q(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
10755
- 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; } } }; }
10756
- 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; } }
10757
- 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; }
10756
+ 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; } } }; }
10757
+ 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; } }
10758
+ 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; }
10758
10759
  var EVENT_STRING_RE = /^([^[]+)\[([^\]]+)\]\.(.+)$/;
10759
10760
 
10760
10761
  /** Parse "Component[itemId].event" → { component, itemId, event }. */
@@ -10924,7 +10925,7 @@ function getCurrentWiring(workspace) {
10924
10925
  // Live format is array; defensive guard for legacy object
10925
10926
  // form (a single source widget keyed under the handler).
10926
10927
  var events = Array.isArray(eventList) ? eventList : typeof eventList === "string" ? [eventList] : [];
10927
- var _iterator = _createForOfIteratorHelper$s(events),
10928
+ var _iterator = _createForOfIteratorHelper$t(events),
10928
10929
  _step;
10929
10930
  try {
10930
10931
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -10987,7 +10988,7 @@ function getOrphanedListeners(workspace, getWidgetConfig) {
10987
10988
  if (!byItemId.has(id)) byItemId.set(id, meta);
10988
10989
  });
10989
10990
  var orphans = [];
10990
- var _iterator2 = _createForOfIteratorHelper$s(wiring),
10991
+ var _iterator2 = _createForOfIteratorHelper$t(wiring),
10991
10992
  _step2;
10992
10993
  try {
10993
10994
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
@@ -11053,7 +11054,7 @@ function pruneDeadListenerReferences(workspace) {
11053
11054
  var liveKeys = new Set();
11054
11055
  var _walkForLive = function walkForLive(items) {
11055
11056
  if (!Array.isArray(items)) return;
11056
- var _iterator3 = _createForOfIteratorHelper$s(items),
11057
+ var _iterator3 = _createForOfIteratorHelper$t(items),
11057
11058
  _step3;
11058
11059
  try {
11059
11060
  for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
@@ -11074,7 +11075,7 @@ function pruneDeadListenerReferences(workspace) {
11074
11075
  };
11075
11076
  _walkForLive(workspace.layout);
11076
11077
  if (Array.isArray(workspace.pages)) {
11077
- var _iterator4 = _createForOfIteratorHelper$s(workspace.pages),
11078
+ var _iterator4 = _createForOfIteratorHelper$t(workspace.pages),
11078
11079
  _step4;
11079
11080
  try {
11080
11081
  for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
@@ -11091,7 +11092,7 @@ function pruneDeadListenerReferences(workspace) {
11091
11092
  var removed = 0;
11092
11093
  var _pruneListeners = function pruneListeners(items) {
11093
11094
  if (!Array.isArray(items)) return;
11094
- var _iterator5 = _createForOfIteratorHelper$s(items),
11095
+ var _iterator5 = _createForOfIteratorHelper$t(items),
11095
11096
  _step5;
11096
11097
  try {
11097
11098
  for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
@@ -11103,7 +11104,7 @@ function pruneDeadListenerReferences(workspace) {
11103
11104
  var events = item.listeners[handler];
11104
11105
  if (!Array.isArray(events)) continue;
11105
11106
  var kept = [];
11106
- var _iterator6 = _createForOfIteratorHelper$s(events),
11107
+ var _iterator6 = _createForOfIteratorHelper$t(events),
11107
11108
  _step6;
11108
11109
  try {
11109
11110
  for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
@@ -11138,7 +11139,7 @@ function pruneDeadListenerReferences(workspace) {
11138
11139
  };
11139
11140
  _pruneListeners(workspace.layout);
11140
11141
  if (Array.isArray(workspace.pages)) {
11141
- var _iterator7 = _createForOfIteratorHelper$s(workspace.pages),
11142
+ var _iterator7 = _createForOfIteratorHelper$t(workspace.pages),
11142
11143
  _step7;
11143
11144
  try {
11144
11145
  for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
@@ -11182,7 +11183,7 @@ function applyWiringChanges(workspace, _ref) {
11182
11183
  });
11183
11184
  return byReceiver.get(id);
11184
11185
  };
11185
- var _iterator8 = _createForOfIteratorHelper$s(adds),
11186
+ var _iterator8 = _createForOfIteratorHelper$t(adds),
11186
11187
  _step8;
11187
11188
  try {
11188
11189
  for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {
@@ -11195,7 +11196,7 @@ function applyWiringChanges(workspace, _ref) {
11195
11196
  } finally {
11196
11197
  _iterator8.f();
11197
11198
  }
11198
- var _iterator9 = _createForOfIteratorHelper$s(removes),
11199
+ var _iterator9 = _createForOfIteratorHelper$t(removes),
11199
11200
  _step9;
11200
11201
  try {
11201
11202
  for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {
@@ -11269,7 +11270,7 @@ function applyToItem(listeners, _ref2) {
11269
11270
  }
11270
11271
 
11271
11272
  // Removes first so a re-add (rare) lands.
11272
- var _iterator0 = _createForOfIteratorHelper$s(removes),
11273
+ var _iterator0 = _createForOfIteratorHelper$t(removes),
11273
11274
  _step0;
11274
11275
  try {
11275
11276
  var _loop = function _loop() {
@@ -11298,7 +11299,7 @@ function applyToItem(listeners, _ref2) {
11298
11299
  } finally {
11299
11300
  _iterator0.f();
11300
11301
  }
11301
- var _iterator1 = _createForOfIteratorHelper$s(adds),
11302
+ var _iterator1 = _createForOfIteratorHelper$t(adds),
11302
11303
  _step1;
11303
11304
  try {
11304
11305
  for (_iterator1.s(); !(_step1 = _iterator1.n()).done;) {
@@ -14271,9 +14272,9 @@ function mcpJsonToFormState(jsonString, nextRowId) {
14271
14272
  return result;
14272
14273
  }
14273
14274
 
14274
- 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; } } }; }
14275
- 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; } }
14276
- 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; }
14275
+ 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; } } }; }
14276
+ 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; } }
14277
+ 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; }
14277
14278
  function ownKeys$M(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; }
14278
14279
  function _objectSpread$M(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$M(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$M(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
14279
14280
  var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
@@ -14558,11 +14559,11 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
14558
14559
 
14559
14560
  // Flatten all widgets from all packages for the widget list
14560
14561
  flatWidgets = [];
14561
- _iterator = _createForOfIteratorHelper$r(result.packages || []);
14562
+ _iterator = _createForOfIteratorHelper$s(result.packages || []);
14562
14563
  try {
14563
14564
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
14564
14565
  pkg = _step.value;
14565
- _iterator2 = _createForOfIteratorHelper$r(pkg.widgets || []);
14566
+ _iterator2 = _createForOfIteratorHelper$s(pkg.widgets || []);
14566
14567
  try {
14567
14568
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
14568
14569
  widget = _step2.value;
@@ -16456,9 +16457,9 @@ var useWidgetSchedulerStatus = function useWidgetSchedulerStatus(widgetId) {
16456
16457
  };
16457
16458
  };
16458
16459
 
16459
- 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; } } }; }
16460
- 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; } }
16461
- 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; }
16460
+ 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; } } }; }
16461
+ 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; } }
16462
+ 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; }
16462
16463
  function formatCountdown(ms) {
16463
16464
  if (ms == null || ms < 0) return "--";
16464
16465
  if (ms < 1000) return "< 1s";
@@ -16575,7 +16576,7 @@ var WidgetCardStatusBar = function WidgetCardStatusBar(_ref) {
16575
16576
 
16576
16577
  // Find soonest countdown among enabled tasks
16577
16578
  var soonestMs = null;
16578
- var _iterator = _createForOfIteratorHelper$q(enabledTasks),
16579
+ var _iterator = _createForOfIteratorHelper$r(enabledTasks),
16579
16580
  _step;
16580
16581
  try {
16581
16582
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -21894,9 +21895,9 @@ var ExternalWidget = function ExternalWidget(_ref) {
21894
21895
  var GRID_CELL_WIDGET_TYPE = "grid-cell-widget";
21895
21896
  var SIDEBAR_WIDGET_TYPE = "sidebar-widget";
21896
21897
 
21897
- 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; } } }; }
21898
- 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; } }
21899
- 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; }
21898
+ 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; } } }; }
21899
+ 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; } }
21900
+ 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; }
21900
21901
  function ownKeys$F(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; }
21901
21902
  function _objectSpread$F(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$F(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$F(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
21902
21903
 
@@ -22519,7 +22520,7 @@ var LayoutGridContainer = /*#__PURE__*/memo(function (_ref3) {
22519
22520
  return selectable["delete"](cn);
22520
22521
  });
22521
22522
  var resolved = new Set();
22522
- var _iterator = _createForOfIteratorHelper$p(selectable),
22523
+ var _iterator = _createForOfIteratorHelper$q(selectable),
22523
22524
  _step;
22524
22525
  try {
22525
22526
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -24928,9 +24929,9 @@ function migrateBareComponentName(componentMap, component) {
24928
24929
 
24929
24930
  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; }
24930
24931
  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; }
24931
- 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; } } }; }
24932
- 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; } }
24933
- 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; }
24932
+ 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; } } }; }
24933
+ 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; } }
24934
+ 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; }
24934
24935
  /**
24935
24936
  * The model for all layout components used primarily in the renderLayout method
24936
24937
  * @param {Object} layoutItem an object containing various attributes of the layout item
@@ -24942,7 +24943,7 @@ function _arrayLikeToArray$o(r, a) { (null == a || a > r.length) && (a = r.lengt
24942
24943
  function sortObjectByKeys(obj) {
24943
24944
  var sortedKeys = Object.keys(obj).sort();
24944
24945
  var sortedObj = {};
24945
- var _iterator = _createForOfIteratorHelper$o(sortedKeys),
24946
+ var _iterator = _createForOfIteratorHelper$p(sortedKeys),
24946
24947
  _step;
24947
24948
  try {
24948
24949
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -25254,9 +25255,9 @@ var SettingsModel = function SettingsModel() {
25254
25255
  return obj;
25255
25256
  };
25256
25257
 
25257
- 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; } } }; }
25258
- 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; } }
25259
- 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; }
25258
+ 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; } } }; }
25259
+ 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; } }
25260
+ 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; }
25260
25261
 
25261
25262
  /**
25262
25263
  * Workspace-level pre-pass that migrates legacy bare component
@@ -25331,7 +25332,7 @@ function migrateScopedIdsInWorkspace(workspace, componentMap) {
25331
25332
  };
25332
25333
  var _walk = function walk(items) {
25333
25334
  if (!Array.isArray(items)) return;
25334
- var _iterator = _createForOfIteratorHelper$n(items),
25335
+ var _iterator = _createForOfIteratorHelper$o(items),
25335
25336
  _step;
25336
25337
  try {
25337
25338
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -25353,7 +25354,7 @@ function migrateScopedIdsInWorkspace(workspace, componentMap) {
25353
25354
  };
25354
25355
  _walk(workspace.layout);
25355
25356
  if (Array.isArray(workspace.pages)) {
25356
- var _iterator2 = _createForOfIteratorHelper$n(workspace.pages),
25357
+ var _iterator2 = _createForOfIteratorHelper$o(workspace.pages),
25357
25358
  _step2;
25358
25359
  try {
25359
25360
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
@@ -25370,9 +25371,9 @@ function migrateScopedIdsInWorkspace(workspace, componentMap) {
25370
25371
  return counts;
25371
25372
  }
25372
25373
 
25373
- 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; } } }; }
25374
- 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; } }
25375
- 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; }
25374
+ 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; } } }; }
25375
+ 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; } }
25376
+ 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; }
25376
25377
  /**
25377
25378
  * cleanForeignWidgetsFromWorkspace.js
25378
25379
  *
@@ -25413,7 +25414,7 @@ function cleanForeignWidgetsFromWorkspace(workspace) {
25413
25414
  var _cleanList = function cleanList(items) {
25414
25415
  if (!Array.isArray(items)) return items;
25415
25416
  var kept = [];
25416
- var _iterator = _createForOfIteratorHelper$m(items),
25417
+ var _iterator = _createForOfIteratorHelper$n(items),
25417
25418
  _step;
25418
25419
  try {
25419
25420
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -25450,7 +25451,7 @@ function cleanForeignWidgetsFromWorkspace(workspace) {
25450
25451
  workspace.sidebarLayout = _cleanList(workspace.sidebarLayout);
25451
25452
  }
25452
25453
  if (Array.isArray(workspace.pages)) {
25453
- var _iterator2 = _createForOfIteratorHelper$m(workspace.pages),
25454
+ var _iterator2 = _createForOfIteratorHelper$n(workspace.pages),
25454
25455
  _step2;
25455
25456
  try {
25456
25457
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
@@ -25468,9 +25469,9 @@ function cleanForeignWidgetsFromWorkspace(workspace) {
25468
25469
  return summary;
25469
25470
  }
25470
25471
 
25471
- 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; } } }; }
25472
- 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; } }
25473
- 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; }
25472
+ 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; } } }; }
25473
+ 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; } }
25474
+ 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; }
25474
25475
  /**
25475
25476
  * migrateLayoutItemTypes.js
25476
25477
  *
@@ -25532,7 +25533,7 @@ function migrateLayoutItemTypes(workspace) {
25532
25533
  };
25533
25534
  var _walk = function walk(items) {
25534
25535
  if (!Array.isArray(items)) return;
25535
- var _iterator = _createForOfIteratorHelper$l(items),
25536
+ var _iterator = _createForOfIteratorHelper$m(items),
25536
25537
  _step;
25537
25538
  try {
25538
25539
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -25550,7 +25551,7 @@ function migrateLayoutItemTypes(workspace) {
25550
25551
  };
25551
25552
  _walk(workspace.layout);
25552
25553
  if (Array.isArray(workspace.pages)) {
25553
- var _iterator2 = _createForOfIteratorHelper$l(workspace.pages),
25554
+ var _iterator2 = _createForOfIteratorHelper$m(workspace.pages),
25554
25555
  _step2;
25555
25556
  try {
25556
25557
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
@@ -25931,9 +25932,9 @@ var ThemeModel = function ThemeModel() {
25931
25932
  }
25932
25933
  };
25933
25934
 
25934
- 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; } } }; }
25935
- 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; } }
25936
- 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; }
25935
+ 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; } } }; }
25936
+ 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; } }
25937
+ 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; }
25937
25938
  /*
25938
25939
  "component": AnalyticsReportsWidget,
25939
25940
  "type":"widget",
@@ -26051,7 +26052,7 @@ var ComponentConfigModel = function ComponentConfigModel() {
26051
26052
  if ("providers" in obj && Array.isArray(obj.providers)) {
26052
26053
  var seen = new Set();
26053
26054
  var cleaned = [];
26054
- var _iterator = _createForOfIteratorHelper$k(obj.providers),
26055
+ var _iterator = _createForOfIteratorHelper$l(obj.providers),
26055
26056
  _step;
26056
26057
  try {
26057
26058
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -26099,9 +26100,9 @@ var MenuItemModel = function MenuItemModel() {
26099
26100
 
26100
26101
  function ownKeys$C(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; }
26101
26102
  function _objectSpread$C(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$C(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$C(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
26102
- 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; } } }; }
26103
- 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; } }
26104
- 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; }
26103
+ 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; } } }; }
26104
+ 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; } }
26105
+ 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; }
26105
26106
  /**
26106
26107
  * A Model for a Workspace (Dashboard)
26107
26108
  * The Dashboard in this instance is the entire Layout inclusive of the workspaces and widgets
@@ -26173,7 +26174,7 @@ var DashboardModel = /*#__PURE__*/function () {
26173
26174
 
26174
26175
  // Also normalize grids within pages
26175
26176
  if (this.pages.length > 0) {
26176
- var _iterator = _createForOfIteratorHelper$j(this.pages),
26177
+ var _iterator = _createForOfIteratorHelper$k(this.pages),
26177
26178
  _step;
26178
26179
  try {
26179
26180
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -28149,7 +28150,7 @@ var DashboardModel = /*#__PURE__*/function () {
28149
28150
  try {
28150
28151
  // Collect all item IDs actively referenced by grid cells
28151
28152
  var activeItemIds = new Set();
28152
- var _iterator2 = _createForOfIteratorHelper$j(this.layout),
28153
+ var _iterator2 = _createForOfIteratorHelper$k(this.layout),
28153
28154
  _step2;
28154
28155
  try {
28155
28156
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
@@ -28189,7 +28190,7 @@ var DashboardModel = /*#__PURE__*/function () {
28189
28190
  });
28190
28191
 
28191
28192
  // Clean listener references on remaining items for each removed orphan
28192
- var _iterator3 = _createForOfIteratorHelper$j(orphanedIds),
28193
+ var _iterator3 = _createForOfIteratorHelper$k(orphanedIds),
28193
28194
  _step3;
28194
28195
  try {
28195
28196
  for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
@@ -29010,9 +29011,9 @@ var useDashboard = function useDashboard() {
29010
29011
  });
29011
29012
  };
29012
29013
 
29013
- 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; } } }; }
29014
- 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; } }
29015
- 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; }
29014
+ 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; } } }; }
29015
+ 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; } }
29016
+ 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; }
29016
29017
 
29017
29018
  /**
29018
29019
  * useWidgetProviders Hook
@@ -29068,7 +29069,7 @@ var useWidgetProviders = function useWidgetProviders() {
29068
29069
  // 1. Widget-level: stored directly on the layout item by handleSelectProvider
29069
29070
  // 2. Workspace-level: stored as workspace.selectedProviders[widgetId][providerType]
29070
29071
  var providers = {};
29071
- var _iterator = _createForOfIteratorHelper$i(providerDeclarations),
29072
+ var _iterator = _createForOfIteratorHelper$j(providerDeclarations),
29072
29073
  _step;
29073
29074
  try {
29074
29075
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -29110,6 +29111,10 @@ var useWidgetProviders = function useWidgetProviders() {
29110
29111
  };
29111
29112
  };
29112
29113
 
29114
+ 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; } } }; }
29115
+ 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; } }
29116
+ 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; }
29117
+
29113
29118
  /**
29114
29119
  * Module-level shared state for MCP server connections.
29115
29120
  * Prevents multiple hook instances (e.g., 4 widgets on the same dashboard
@@ -29134,6 +29139,77 @@ function rendererStateKey(workspaceId, serverName) {
29134
29139
  return wid + "::" + serverName;
29135
29140
  }
29136
29141
 
29142
+ /**
29143
+ * Slice 3b: compute the union of granted paths for a server across a
29144
+ * set of widgets. Mirrors electron/utils/mcpScopeResolver.unionPathScope
29145
+ * but inline here because the electron/ helper isn't reachable from the
29146
+ * renderer build. The mainline path-scope test runs against the
29147
+ * electron-side helper; this one is exercised at runtime when widgets
29148
+ * connect.
29149
+ */
29150
+ function unionPathScope(grants, serverName) {
29151
+ var reads = new Set();
29152
+ var writes = new Set();
29153
+ if (!Array.isArray(grants)) {
29154
+ return {
29155
+ readPaths: [],
29156
+ writePaths: [],
29157
+ allowedPaths: []
29158
+ };
29159
+ }
29160
+ var _iterator = _createForOfIteratorHelper$i(grants),
29161
+ _step;
29162
+ try {
29163
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
29164
+ var entry = _step.value;
29165
+ if (!entry || _typeof(entry) !== "object") continue;
29166
+ var granted = entry.granted;
29167
+ if (!granted || _typeof(granted) !== "object") continue;
29168
+ var servers = granted.servers;
29169
+ if (!servers || _typeof(servers) !== "object") continue;
29170
+ var serverPerms = servers[serverName];
29171
+ if (!serverPerms || _typeof(serverPerms) !== "object") continue;
29172
+ if (Array.isArray(serverPerms.readPaths)) {
29173
+ var _iterator2 = _createForOfIteratorHelper$i(serverPerms.readPaths),
29174
+ _step2;
29175
+ try {
29176
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
29177
+ var p = _step2.value;
29178
+ if (typeof p === "string" && p) reads.add(p);
29179
+ }
29180
+ } catch (err) {
29181
+ _iterator2.e(err);
29182
+ } finally {
29183
+ _iterator2.f();
29184
+ }
29185
+ }
29186
+ if (Array.isArray(serverPerms.writePaths)) {
29187
+ var _iterator3 = _createForOfIteratorHelper$i(serverPerms.writePaths),
29188
+ _step3;
29189
+ try {
29190
+ for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
29191
+ var _p = _step3.value;
29192
+ if (typeof _p === "string" && _p) writes.add(_p);
29193
+ }
29194
+ } catch (err) {
29195
+ _iterator3.e(err);
29196
+ } finally {
29197
+ _iterator3.f();
29198
+ }
29199
+ }
29200
+ }
29201
+ } catch (err) {
29202
+ _iterator.e(err);
29203
+ } finally {
29204
+ _iterator.f();
29205
+ }
29206
+ return {
29207
+ readPaths: _toConsumableArray(reads),
29208
+ writePaths: _toConsumableArray(writes),
29209
+ allowedPaths: _toConsumableArray(new Set([].concat(_toConsumableArray(reads), _toConsumableArray(writes))))
29210
+ };
29211
+ }
29212
+
29137
29213
  /**
29138
29214
  * useMcpProvider Hook
29139
29215
  *
@@ -29302,7 +29378,7 @@ var useMcpProvider = function useMcpProvider(providerType) {
29302
29378
  */
29303
29379
  var connect = useCallback(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
29304
29380
  var _workspace$workspaceD2;
29305
- var workspaceId, stateKey, cached, statusResult, result, state, connectPromise, _result, _t2, _t3;
29381
+ var workspaceId, stateKey, pathScope, _workspace$workspaceD3, _window$mainApi, wsBindings, widgetIdsOnServer, _i2, _Object$entries2, _Object$entries2$_i, wId, bindings, allGrants, relevant, cached, statusResult, result, state, connectPromise, _result, _t, _t4, _t5;
29306
29382
  return _regeneratorRuntime.wrap(function (_context) {
29307
29383
  while (1) switch (_context.prev = _context.next) {
29308
29384
  case 0:
@@ -29339,15 +29415,63 @@ var useMcpProvider = function useMcpProvider(providerType) {
29339
29415
  // dashboard's "connected" cache will short-circuit a second
29340
29416
  // dashboard's connect that needs its own backing process.
29341
29417
  workspaceId = (workspace === null || workspace === void 0 || (_workspace$workspaceD2 = workspace.workspaceData) === null || _workspace$workspaceD2 === void 0 ? void 0 : _workspace$workspaceD2.id) || null;
29342
- stateKey = rendererStateKey(workspaceId, selectedProviderName); // 1. Already connected at module level? Verify with main process before trusting cache.
29418
+ stateKey = rendererStateKey(workspaceId, selectedProviderName); // Slice 3b: compute the workspace's path-scope union from grants.
29419
+ // Enumerate widgets on this workspace that bind to this server,
29420
+ // look up their grants, union the read+write paths. Server spawns
29421
+ // with that union as its allowed-paths. Widget-level bindings on
29422
+ // layout items that aren't reflected in workspaceData.selectedProviders
29423
+ // are not enumerated — those widgets must rely on workspace-level
29424
+ // bindings to contribute to the union (known limitation).
29425
+ pathScope = null;
29426
+ _context.prev = 5;
29427
+ wsBindings = workspace === null || workspace === void 0 || (_workspace$workspaceD3 = workspace.workspaceData) === null || _workspace$workspaceD3 === void 0 ? void 0 : _workspace$workspaceD3.selectedProviders;
29428
+ widgetIdsOnServer = new Set(); // Always include the calling widget itself.
29429
+ if (widgetId) widgetIdsOnServer.add(widgetId);
29430
+ if (wsBindings && _typeof(wsBindings) === "object") {
29431
+ for (_i2 = 0, _Object$entries2 = Object.entries(wsBindings); _i2 < _Object$entries2.length; _i2++) {
29432
+ _Object$entries2$_i = _slicedToArray(_Object$entries2[_i2], 2), wId = _Object$entries2$_i[0], bindings = _Object$entries2$_i[1];
29433
+ if (bindings && _typeof(bindings) === "object" && bindings[providerType] === selectedProviderName) {
29434
+ widgetIdsOnServer.add(wId);
29435
+ }
29436
+ }
29437
+ }
29438
+ if (!(widgetIdsOnServer.size > 0 && (_window$mainApi = window.mainApi) !== null && _window$mainApi !== void 0 && (_window$mainApi = _window$mainApi.widgetMcp) !== null && _window$mainApi !== void 0 && _window$mainApi.listAll)) {
29439
+ _context.next = 8;
29440
+ break;
29441
+ }
29442
+ _context.next = 6;
29443
+ return window.mainApi.widgetMcp.listAll();
29444
+ case 6:
29445
+ _t = _context.sent;
29446
+ if (_t) {
29447
+ _context.next = 7;
29448
+ break;
29449
+ }
29450
+ _t = [];
29451
+ case 7:
29452
+ allGrants = _t;
29453
+ relevant = allGrants.filter(function (g) {
29454
+ return widgetIdsOnServer.has(g.widgetId);
29455
+ });
29456
+ if (relevant.length > 0) {
29457
+ pathScope = unionPathScope(relevant, selectedProviderName);
29458
+ }
29459
+ case 8:
29460
+ _context.next = 10;
29461
+ break;
29462
+ case 9:
29463
+ _context.prev = 9;
29464
+ _context["catch"](5);
29465
+ case 10:
29466
+ // 1. Already connected at module level? Verify with main process before trusting cache.
29343
29467
  // The server may have been stopped externally (e.g., Test Connection in settings).
29344
29468
  cached = serverStates.get(stateKey);
29345
29469
  if (!(cached && cached.status === "connected")) {
29346
- _context.next = 9;
29470
+ _context.next = 15;
29347
29471
  break;
29348
29472
  }
29349
- _context.prev = 5;
29350
- _context.next = 6;
29473
+ _context.prev = 11;
29474
+ _context.next = 12;
29351
29475
  return new Promise(function (resolve, reject) {
29352
29476
  dashApi.mcpGetServerStatus(selectedProviderName, function (event, result) {
29353
29477
  return resolve(result);
@@ -29355,74 +29479,74 @@ var useMcpProvider = function useMcpProvider(providerType) {
29355
29479
  return reject(err);
29356
29480
  }, workspaceId);
29357
29481
  });
29358
- case 6:
29482
+ case 12:
29359
29483
  statusResult = _context.sent;
29360
29484
  if (!((statusResult === null || statusResult === void 0 ? void 0 : statusResult.status) === "connected")) {
29361
- _context.next = 7;
29485
+ _context.next = 13;
29362
29486
  break;
29363
29487
  }
29364
29488
  cached.consumerCount++;
29365
29489
  applyResult(cached);
29366
29490
  return _context.abrupt("return");
29367
- case 7:
29491
+ case 13:
29368
29492
  // Server was stopped externally — clear stale cache and reconnect
29369
29493
  serverStates["delete"](stateKey);
29370
- _context.next = 9;
29494
+ _context.next = 15;
29371
29495
  break;
29372
- case 8:
29373
- _context.prev = 8;
29374
- _context["catch"](5);
29496
+ case 14:
29497
+ _context.prev = 14;
29498
+ _context["catch"](11);
29375
29499
  serverStates["delete"](stateKey);
29376
- case 9:
29500
+ case 15:
29377
29501
  setIsConnecting(true);
29378
29502
  setError(null);
29379
29503
 
29380
29504
  // 2. Another hook instance already connecting? Piggyback on its promise
29381
29505
  if (!pendingConnects$1.has(stateKey)) {
29382
- _context.next = 17;
29506
+ _context.next = 23;
29383
29507
  break;
29384
29508
  }
29385
- _context.prev = 10;
29386
- _context.next = 11;
29509
+ _context.prev = 16;
29510
+ _context.next = 17;
29387
29511
  return pendingConnects$1.get(stateKey);
29388
- case 11:
29512
+ case 17:
29389
29513
  result = _context.sent;
29390
29514
  if (mountedRef.current) {
29391
- _context.next = 12;
29515
+ _context.next = 18;
29392
29516
  break;
29393
29517
  }
29394
29518
  return _context.abrupt("return");
29395
- case 12:
29519
+ case 18:
29396
29520
  if (!result.error) {
29397
- _context.next = 13;
29521
+ _context.next = 19;
29398
29522
  break;
29399
29523
  }
29400
29524
  setError(result.message);
29401
29525
  setIsConnecting(false);
29402
29526
  setStatus("error");
29403
29527
  return _context.abrupt("return");
29404
- case 13:
29528
+ case 19:
29405
29529
  // Increment consumer count and apply
29406
29530
  state = serverStates.get(stateKey);
29407
29531
  if (state) state.consumerCount++;
29408
29532
  applyResult(result);
29409
- _context.next = 16;
29533
+ _context.next = 22;
29410
29534
  break;
29411
- case 14:
29412
- _context.prev = 14;
29413
- _t2 = _context["catch"](10);
29535
+ case 20:
29536
+ _context.prev = 20;
29537
+ _t4 = _context["catch"](16);
29414
29538
  if (mountedRef.current) {
29415
- _context.next = 15;
29539
+ _context.next = 21;
29416
29540
  break;
29417
29541
  }
29418
29542
  return _context.abrupt("return");
29419
- case 15:
29420
- setError((_t2 === null || _t2 === void 0 ? void 0 : _t2.message) || "Failed to connect to MCP server");
29543
+ case 21:
29544
+ setError((_t4 === null || _t4 === void 0 ? void 0 : _t4.message) || "Failed to connect to MCP server");
29421
29545
  setIsConnecting(false);
29422
29546
  setStatus("error");
29423
- case 16:
29547
+ case 22:
29424
29548
  return _context.abrupt("return");
29425
- case 17:
29549
+ case 23:
29426
29550
  // 3. First caller — fire the IPC call and share the promise
29427
29551
  connectPromise = new Promise(function (resolve, reject) {
29428
29552
  dashApi.mcpStartServer(selectedProviderName, provider.mcpConfig, provider.credentials, function (event, result) {
@@ -29455,49 +29579,49 @@ var useMcpProvider = function useMcpProvider(providerType) {
29455
29579
  consumerCount: 0
29456
29580
  });
29457
29581
  reject(err);
29458
- }, workspaceId);
29582
+ }, workspaceId, pathScope);
29459
29583
  });
29460
29584
  pendingConnects$1.set(stateKey, connectPromise);
29461
- _context.prev = 18;
29462
- _context.next = 19;
29585
+ _context.prev = 24;
29586
+ _context.next = 25;
29463
29587
  return connectPromise;
29464
- case 19:
29588
+ case 25:
29465
29589
  _result = _context.sent;
29466
29590
  if (mountedRef.current) {
29467
- _context.next = 20;
29591
+ _context.next = 26;
29468
29592
  break;
29469
29593
  }
29470
29594
  return _context.abrupt("return");
29471
- case 20:
29595
+ case 26:
29472
29596
  if (!_result.error) {
29473
- _context.next = 21;
29597
+ _context.next = 27;
29474
29598
  break;
29475
29599
  }
29476
29600
  setError(_result.message);
29477
29601
  setIsConnecting(false);
29478
29602
  setStatus("error");
29479
29603
  return _context.abrupt("return");
29480
- case 21:
29604
+ case 27:
29481
29605
  applyResult(_result);
29482
- _context.next = 24;
29606
+ _context.next = 30;
29483
29607
  break;
29484
- case 22:
29485
- _context.prev = 22;
29486
- _t3 = _context["catch"](18);
29608
+ case 28:
29609
+ _context.prev = 28;
29610
+ _t5 = _context["catch"](24);
29487
29611
  if (mountedRef.current) {
29488
- _context.next = 23;
29612
+ _context.next = 29;
29489
29613
  break;
29490
29614
  }
29491
29615
  return _context.abrupt("return");
29492
- case 23:
29493
- setError((_t3 === null || _t3 === void 0 ? void 0 : _t3.message) || "Failed to connect to MCP server");
29616
+ case 29:
29617
+ setError((_t5 === null || _t5 === void 0 ? void 0 : _t5.message) || "Failed to connect to MCP server");
29494
29618
  setIsConnecting(false);
29495
29619
  setStatus("error");
29496
- case 24:
29620
+ case 30:
29497
29621
  case "end":
29498
29622
  return _context.stop();
29499
29623
  }
29500
- }, _callee, null, [[5, 8], [10, 14], [18, 22]]);
29624
+ }, _callee, null, [[5, 9], [11, 14], [16, 20], [24, 28]]);
29501
29625
  })), [dashApi, provider, providerType, selectedProviderName, applyResult, workspace]);
29502
29626
 
29503
29627
  /**
@@ -29505,7 +29629,7 @@ var useMcpProvider = function useMcpProvider(providerType) {
29505
29629
  * Only sends the IPC stop call when this is the last consumer.
29506
29630
  */
29507
29631
  var disconnect = useCallback(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
29508
- var _workspace$workspaceD3;
29632
+ var _workspace$workspaceD4;
29509
29633
  var workspaceId, stateKey, state;
29510
29634
  return _regeneratorRuntime.wrap(function (_context2) {
29511
29635
  while (1) switch (_context2.prev = _context2.next) {
@@ -29516,7 +29640,7 @@ var useMcpProvider = function useMcpProvider(providerType) {
29516
29640
  }
29517
29641
  return _context2.abrupt("return");
29518
29642
  case 1:
29519
- workspaceId = (workspace === null || workspace === void 0 || (_workspace$workspaceD3 = workspace.workspaceData) === null || _workspace$workspaceD3 === void 0 ? void 0 : _workspace$workspaceD3.id) || null;
29643
+ workspaceId = (workspace === null || workspace === void 0 || (_workspace$workspaceD4 = workspace.workspaceData) === null || _workspace$workspaceD4 === void 0 ? void 0 : _workspace$workspaceD4.id) || null;
29520
29644
  stateKey = rendererStateKey(workspaceId, selectedProviderName);
29521
29645
  state = serverStates.get(stateKey);
29522
29646
  if (!state) {
@@ -29566,7 +29690,7 @@ var useMcpProvider = function useMcpProvider(providerType) {
29566
29690
  */
29567
29691
  var callTool = useCallback(/*#__PURE__*/function () {
29568
29692
  var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee3(toolName) {
29569
- var _workspace$workspaceD4;
29693
+ var _workspace$workspaceD5;
29570
29694
  var args,
29571
29695
  widgetRequiredTools,
29572
29696
  isRequired,
@@ -29600,7 +29724,7 @@ var useMcpProvider = function useMcpProvider(providerType) {
29600
29724
  // Slice 3a: scope the MCP server process per workspace. The
29601
29725
  // workspace UUID is the canonical "current dashboard" identity
29602
29726
  // (see useNotifications, useScheduler for the same pattern).
29603
- workspaceId = (workspace === null || workspace === void 0 || (_workspace$workspaceD4 = workspace.workspaceData) === null || _workspace$workspaceD4 === void 0 ? void 0 : _workspace$workspaceD4.id) || null;
29727
+ workspaceId = (workspace === null || workspace === void 0 || (_workspace$workspaceD5 = workspace.workspaceData) === null || _workspace$workspaceD5 === void 0 ? void 0 : _workspace$workspaceD5.id) || null;
29604
29728
  return _context3.abrupt("return", new Promise(function (resolve, reject) {
29605
29729
  var timeout = setTimeout(function () {
29606
29730
  reject(new Error("Tool call \"".concat(toolName, "\" timed out after 30s")));
@@ -29684,8 +29808,8 @@ var useMcpProvider = function useMcpProvider(providerType) {
29684
29808
 
29685
29809
  // Decrement consumer count; only stop server if last consumer
29686
29810
  if (connectedRef.current && dashApi && selectedProviderName) {
29687
- var _workspace$workspaceD5;
29688
- var workspaceId = (workspace === null || workspace === void 0 || (_workspace$workspaceD5 = workspace.workspaceData) === null || _workspace$workspaceD5 === void 0 ? void 0 : _workspace$workspaceD5.id) || null;
29811
+ var _workspace$workspaceD6;
29812
+ var workspaceId = (workspace === null || workspace === void 0 || (_workspace$workspaceD6 = workspace.workspaceData) === null || _workspace$workspaceD6 === void 0 ? void 0 : _workspace$workspaceD6.id) || null;
29689
29813
  var stateKey = rendererStateKey(workspaceId, selectedProviderName);
29690
29814
  var state = serverStates.get(stateKey);
29691
29815
  if (state) {