@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.js CHANGED
@@ -1645,9 +1645,10 @@ var ElectronDashboardApi = /*#__PURE__*/function () {
1645
1645
  value: function mcpStartServer(serverName, mcpConfig, credentials, onSuccess, onError) {
1646
1646
  var _this20 = this;
1647
1647
  var workspaceId = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : null;
1648
+ var pathScope = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : null;
1648
1649
  if (this.api !== null) {
1649
1650
  try {
1650
- this.api.mcp.startServer(serverName, mcpConfig, credentials, workspaceId).then(function (result) {
1651
+ this.api.mcp.startServer(serverName, mcpConfig, credentials, workspaceId, pathScope).then(function (result) {
1651
1652
  onSuccess(_this20.events.MCP_START_SERVER_COMPLETE, result);
1652
1653
  })["catch"](function (error) {
1653
1654
  onError(_this20.events.MCP_START_SERVER_ERROR, error);
@@ -3118,9 +3119,9 @@ var LayoutContainer = function LayoutContainer(_ref) {
3118
3119
 
3119
3120
  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; }
3120
3121
  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; }
3121
- 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; } } }; }
3122
- 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; } }
3123
- 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; }
3122
+ 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; } } }; }
3123
+ 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; } }
3124
+ 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; }
3124
3125
  /**
3125
3126
  * Layout template definitions for the dashboard template picker.
3126
3127
  *
@@ -3394,7 +3395,7 @@ function createLayoutFromTemplate(template) {
3394
3395
  cols: template.cols,
3395
3396
  gap: "gap-2"
3396
3397
  };
3397
- var _iterator = _createForOfIteratorHelper$z(template.cells),
3398
+ var _iterator = _createForOfIteratorHelper$A(template.cells),
3398
3399
  _step;
3399
3400
  try {
3400
3401
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -4575,9 +4576,9 @@ var DashboardInstallOptionsModal = function DashboardInstallOptionsModal(_ref) {
4575
4576
  });
4576
4577
  };
4577
4578
 
4578
- 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; } } }; }
4579
- 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; } }
4580
- 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; }
4579
+ 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; } } }; }
4580
+ 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; } }
4581
+ 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; }
4581
4582
  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; }
4582
4583
  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; }
4583
4584
  var RegistryDashboardDetail = function RegistryDashboardDetail(_ref) {
@@ -4935,7 +4936,7 @@ var RegistryDashboardDetail = function RegistryDashboardDetail(_ref) {
4935
4936
  toInstall = 0,
4936
4937
  unavailable = 0,
4937
4938
  hasUnavailableRequired = false;
4938
- var _iterator = _createForOfIteratorHelper$y(widgetDeps),
4939
+ var _iterator = _createForOfIteratorHelper$z(widgetDeps),
4939
4940
  _step;
4940
4941
  try {
4941
4942
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -6580,9 +6581,9 @@ function cleanIpcError(message) {
6580
6581
  return match ? match[1] : message;
6581
6582
  }
6582
6583
 
6583
- 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; } } }; }
6584
- 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; } }
6585
- 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; }
6584
+ 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; } } }; }
6585
+ 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; } }
6586
+ 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; }
6586
6587
 
6587
6588
  /**
6588
6589
  * useRegistrySearch — shared hook for browsing and installing registry packages.
@@ -6696,13 +6697,13 @@ var useRegistrySearch = function useRegistrySearch() {
6696
6697
  return c.toLowerCase();
6697
6698
  }));
6698
6699
  widgets = [];
6699
- _iterator = _createForOfIteratorHelper$x(pkgs);
6700
+ _iterator = _createForOfIteratorHelper$y(pkgs);
6700
6701
  try {
6701
6702
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
6702
6703
  pkg = _step.value;
6703
6704
  // Compute missing APIs for the entire package
6704
6705
  allApiProviders = [];
6705
- _iterator2 = _createForOfIteratorHelper$x(pkg.providers || []);
6706
+ _iterator2 = _createForOfIteratorHelper$y(pkg.providers || []);
6706
6707
  try {
6707
6708
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
6708
6709
  p = _step2.value;
@@ -6715,11 +6716,11 @@ var useRegistrySearch = function useRegistrySearch() {
6715
6716
  } finally {
6716
6717
  _iterator2.f();
6717
6718
  }
6718
- _iterator3 = _createForOfIteratorHelper$x(pkg.widgets || []);
6719
+ _iterator3 = _createForOfIteratorHelper$y(pkg.widgets || []);
6719
6720
  try {
6720
6721
  for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
6721
6722
  w = _step3.value;
6722
- _iterator5 = _createForOfIteratorHelper$x(w.providers || []);
6723
+ _iterator5 = _createForOfIteratorHelper$y(w.providers || []);
6723
6724
  try {
6724
6725
  for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
6725
6726
  _p = _step5.value;
@@ -6741,7 +6742,7 @@ var useRegistrySearch = function useRegistrySearch() {
6741
6742
  missingApis = _toConsumableArray(new Set(allApiProviders)).filter(function (api) {
6742
6743
  return !capSet.has(api.toLowerCase());
6743
6744
  });
6744
- _iterator4 = _createForOfIteratorHelper$x(pkg.widgets || []);
6745
+ _iterator4 = _createForOfIteratorHelper$y(pkg.widgets || []);
6745
6746
  try {
6746
6747
  for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
6747
6748
  widget = _step4.value;
@@ -7448,9 +7449,9 @@ function applyFilters(items, filters, mode) {
7448
7449
  });
7449
7450
  }
7450
7451
 
7451
- 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; } } }; }
7452
- 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; } }
7453
- 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; }
7452
+ 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; } } }; }
7453
+ 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; } }
7454
+ 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; }
7454
7455
  var WizardCustomizeStep = function WizardCustomizeStep(_ref) {
7455
7456
  var _state$selectedDashbo, _state$selectedDashbo2;
7456
7457
  var state = _ref.state,
@@ -7669,7 +7670,7 @@ var WizardCustomizeStep = function WizardCustomizeStep(_ref) {
7669
7670
  installedNames = new Set(installedList.map(function (w) {
7670
7671
  return w.name;
7671
7672
  }));
7672
- _iterator = _createForOfIteratorHelper$w(state.selectedWidgets);
7673
+ _iterator = _createForOfIteratorHelper$x(state.selectedWidgets);
7673
7674
  _context2.prev = 12;
7674
7675
  _iterator.s();
7675
7676
  case 13:
@@ -9239,9 +9240,9 @@ var PanelEditItem = function PanelEditItem(_ref) {
9239
9240
  };
9240
9241
 
9241
9242
  var _excluded$6 = ["rows", "cols"];
9242
- 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; } } }; }
9243
- 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; } }
9244
- 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; }
9243
+ 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; } } }; }
9244
+ 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; } }
9245
+ 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; }
9245
9246
  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; }
9246
9247
  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; }
9247
9248
  var defaultGrid = {
@@ -9394,7 +9395,7 @@ function GridEditor(_ref) {
9394
9395
  function sortObjectByKeys(obj) {
9395
9396
  var sortedKeys = Object.keys(obj).sort();
9396
9397
  var sortedObj = {};
9397
- var _iterator = _createForOfIteratorHelper$v(sortedKeys),
9398
+ var _iterator = _createForOfIteratorHelper$w(sortedKeys),
9398
9399
  _step;
9399
9400
  try {
9400
9401
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -9867,9 +9868,9 @@ var PanelEditItemNotifications = function PanelEditItemNotifications(_ref) {
9867
9868
  });
9868
9869
  };
9869
9870
 
9870
- 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; } } }; }
9871
- 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; } }
9872
- 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; }
9871
+ 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; } } }; }
9872
+ 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; } }
9873
+ 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; }
9873
9874
  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; }
9874
9875
  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; }
9875
9876
  var DAYS = [{
@@ -10198,7 +10199,7 @@ var PanelEditItemSchedule = function PanelEditItemSchedule(_ref2) {
10198
10199
  setIsLoading(true);
10199
10200
  window.mainApi.scheduler.getTasks(widgetUuid).then(function (tasks) {
10200
10201
  var stateMap = {};
10201
- var _iterator = _createForOfIteratorHelper$u(tasks || []),
10202
+ var _iterator = _createForOfIteratorHelper$v(tasks || []),
10202
10203
  _step;
10203
10204
  try {
10204
10205
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -10457,9 +10458,9 @@ function isUserWidget(item) {
10457
10458
  return true;
10458
10459
  }
10459
10460
 
10460
- 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; } } }; }
10461
- 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; } }
10462
- 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; }
10461
+ 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; } } }; }
10462
+ 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; } }
10463
+ 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; }
10463
10464
 
10464
10465
  /**
10465
10466
  * Resolve which provider name a given widget instance would bind to for
@@ -10491,7 +10492,7 @@ function resolveProviderName(_ref) {
10491
10492
  // array. Support both because different callers shape it either way.
10492
10493
  if (appProviders) {
10493
10494
  if (Array.isArray(appProviders)) {
10494
- var _iterator = _createForOfIteratorHelper$t(appProviders),
10495
+ var _iterator = _createForOfIteratorHelper$u(appProviders),
10495
10496
  _step;
10496
10497
  try {
10497
10498
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -10551,7 +10552,7 @@ function forEachWidget(workspace, visit) {
10551
10552
  };
10552
10553
  var _walk = function walk(items) {
10553
10554
  if (!Array.isArray(items)) return;
10554
- var _iterator2 = _createForOfIteratorHelper$t(items),
10555
+ var _iterator2 = _createForOfIteratorHelper$u(items),
10555
10556
  _step2;
10556
10557
  try {
10557
10558
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
@@ -10592,7 +10593,7 @@ function forEachWidget(workspace, visit) {
10592
10593
  // widgets that only live there (e.g. AI-place writes that bypass
10593
10594
  // the page handler).
10594
10595
  if (Array.isArray(workspace.pages)) {
10595
- var _iterator3 = _createForOfIteratorHelper$t(workspace.pages),
10596
+ var _iterator3 = _createForOfIteratorHelper$u(workspace.pages),
10596
10597
  _step3;
10597
10598
  try {
10598
10599
  for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
@@ -10643,7 +10644,7 @@ function getUnresolvedProviders(_ref2) {
10643
10644
  // the same `type` listed twice (a Claude code-gen quirk), which
10644
10645
  // would otherwise produce duplicate rows in the Providers tab.
10645
10646
  var seenTypes = new Set();
10646
- var _iterator4 = _createForOfIteratorHelper$t(requirements),
10647
+ var _iterator4 = _createForOfIteratorHelper$u(requirements),
10647
10648
  _step4;
10648
10649
  try {
10649
10650
  for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
@@ -10686,7 +10687,7 @@ function getUnresolvedProviders(_ref2) {
10686
10687
  */
10687
10688
  function groupByProviderType(unresolved) {
10688
10689
  var byType = new Map();
10689
- var _iterator5 = _createForOfIteratorHelper$t(unresolved || []),
10690
+ var _iterator5 = _createForOfIteratorHelper$u(unresolved || []),
10690
10691
  _step5;
10691
10692
  try {
10692
10693
  for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
@@ -10728,7 +10729,7 @@ function getAllProviderBindings(_ref3) {
10728
10729
  // quirk) which would otherwise duplicate the per-widget row in
10729
10730
  // the Providers tab.
10730
10731
  var seenTypes = new Set();
10731
- var _iterator6 = _createForOfIteratorHelper$t(requirements),
10732
+ var _iterator6 = _createForOfIteratorHelper$u(requirements),
10732
10733
  _step6;
10733
10734
  try {
10734
10735
  for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
@@ -10770,9 +10771,9 @@ function getAllProviderBindings(_ref3) {
10770
10771
 
10771
10772
  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; }
10772
10773
  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; }
10773
- 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; } } }; }
10774
- 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; } }
10775
- 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; }
10774
+ 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; } } }; }
10775
+ 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; } }
10776
+ 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; }
10776
10777
  var EVENT_STRING_RE = /^([^[]+)\[([^\]]+)\]\.(.+)$/;
10777
10778
 
10778
10779
  /** Parse "Component[itemId].event" → { component, itemId, event }. */
@@ -10942,7 +10943,7 @@ function getCurrentWiring(workspace) {
10942
10943
  // Live format is array; defensive guard for legacy object
10943
10944
  // form (a single source widget keyed under the handler).
10944
10945
  var events = Array.isArray(eventList) ? eventList : typeof eventList === "string" ? [eventList] : [];
10945
- var _iterator = _createForOfIteratorHelper$s(events),
10946
+ var _iterator = _createForOfIteratorHelper$t(events),
10946
10947
  _step;
10947
10948
  try {
10948
10949
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -11005,7 +11006,7 @@ function getOrphanedListeners(workspace, getWidgetConfig) {
11005
11006
  if (!byItemId.has(id)) byItemId.set(id, meta);
11006
11007
  });
11007
11008
  var orphans = [];
11008
- var _iterator2 = _createForOfIteratorHelper$s(wiring),
11009
+ var _iterator2 = _createForOfIteratorHelper$t(wiring),
11009
11010
  _step2;
11010
11011
  try {
11011
11012
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
@@ -11071,7 +11072,7 @@ function pruneDeadListenerReferences(workspace) {
11071
11072
  var liveKeys = new Set();
11072
11073
  var _walkForLive = function walkForLive(items) {
11073
11074
  if (!Array.isArray(items)) return;
11074
- var _iterator3 = _createForOfIteratorHelper$s(items),
11075
+ var _iterator3 = _createForOfIteratorHelper$t(items),
11075
11076
  _step3;
11076
11077
  try {
11077
11078
  for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
@@ -11092,7 +11093,7 @@ function pruneDeadListenerReferences(workspace) {
11092
11093
  };
11093
11094
  _walkForLive(workspace.layout);
11094
11095
  if (Array.isArray(workspace.pages)) {
11095
- var _iterator4 = _createForOfIteratorHelper$s(workspace.pages),
11096
+ var _iterator4 = _createForOfIteratorHelper$t(workspace.pages),
11096
11097
  _step4;
11097
11098
  try {
11098
11099
  for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
@@ -11109,7 +11110,7 @@ function pruneDeadListenerReferences(workspace) {
11109
11110
  var removed = 0;
11110
11111
  var _pruneListeners = function pruneListeners(items) {
11111
11112
  if (!Array.isArray(items)) return;
11112
- var _iterator5 = _createForOfIteratorHelper$s(items),
11113
+ var _iterator5 = _createForOfIteratorHelper$t(items),
11113
11114
  _step5;
11114
11115
  try {
11115
11116
  for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
@@ -11121,7 +11122,7 @@ function pruneDeadListenerReferences(workspace) {
11121
11122
  var events = item.listeners[handler];
11122
11123
  if (!Array.isArray(events)) continue;
11123
11124
  var kept = [];
11124
- var _iterator6 = _createForOfIteratorHelper$s(events),
11125
+ var _iterator6 = _createForOfIteratorHelper$t(events),
11125
11126
  _step6;
11126
11127
  try {
11127
11128
  for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
@@ -11156,7 +11157,7 @@ function pruneDeadListenerReferences(workspace) {
11156
11157
  };
11157
11158
  _pruneListeners(workspace.layout);
11158
11159
  if (Array.isArray(workspace.pages)) {
11159
- var _iterator7 = _createForOfIteratorHelper$s(workspace.pages),
11160
+ var _iterator7 = _createForOfIteratorHelper$t(workspace.pages),
11160
11161
  _step7;
11161
11162
  try {
11162
11163
  for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
@@ -11200,7 +11201,7 @@ function applyWiringChanges(workspace, _ref) {
11200
11201
  });
11201
11202
  return byReceiver.get(id);
11202
11203
  };
11203
- var _iterator8 = _createForOfIteratorHelper$s(adds),
11204
+ var _iterator8 = _createForOfIteratorHelper$t(adds),
11204
11205
  _step8;
11205
11206
  try {
11206
11207
  for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {
@@ -11213,7 +11214,7 @@ function applyWiringChanges(workspace, _ref) {
11213
11214
  } finally {
11214
11215
  _iterator8.f();
11215
11216
  }
11216
- var _iterator9 = _createForOfIteratorHelper$s(removes),
11217
+ var _iterator9 = _createForOfIteratorHelper$t(removes),
11217
11218
  _step9;
11218
11219
  try {
11219
11220
  for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {
@@ -11287,7 +11288,7 @@ function applyToItem(listeners, _ref2) {
11287
11288
  }
11288
11289
 
11289
11290
  // Removes first so a re-add (rare) lands.
11290
- var _iterator0 = _createForOfIteratorHelper$s(removes),
11291
+ var _iterator0 = _createForOfIteratorHelper$t(removes),
11291
11292
  _step0;
11292
11293
  try {
11293
11294
  var _loop = function _loop() {
@@ -11316,7 +11317,7 @@ function applyToItem(listeners, _ref2) {
11316
11317
  } finally {
11317
11318
  _iterator0.f();
11318
11319
  }
11319
- var _iterator1 = _createForOfIteratorHelper$s(adds),
11320
+ var _iterator1 = _createForOfIteratorHelper$t(adds),
11320
11321
  _step1;
11321
11322
  try {
11322
11323
  for (_iterator1.s(); !(_step1 = _iterator1.n()).done;) {
@@ -14289,9 +14290,9 @@ function mcpJsonToFormState(jsonString, nextRowId) {
14289
14290
  return result;
14290
14291
  }
14291
14292
 
14292
- 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; } } }; }
14293
- 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; } }
14294
- 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; }
14293
+ 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; } } }; }
14294
+ 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; } }
14295
+ 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; }
14295
14296
  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; }
14296
14297
  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; }
14297
14298
  var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
@@ -14576,11 +14577,11 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
14576
14577
 
14577
14578
  // Flatten all widgets from all packages for the widget list
14578
14579
  flatWidgets = [];
14579
- _iterator = _createForOfIteratorHelper$r(result.packages || []);
14580
+ _iterator = _createForOfIteratorHelper$s(result.packages || []);
14580
14581
  try {
14581
14582
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
14582
14583
  pkg = _step.value;
14583
- _iterator2 = _createForOfIteratorHelper$r(pkg.widgets || []);
14584
+ _iterator2 = _createForOfIteratorHelper$s(pkg.widgets || []);
14584
14585
  try {
14585
14586
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
14586
14587
  widget = _step2.value;
@@ -16474,9 +16475,9 @@ var useWidgetSchedulerStatus = function useWidgetSchedulerStatus(widgetId) {
16474
16475
  };
16475
16476
  };
16476
16477
 
16477
- 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; } } }; }
16478
- 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; } }
16479
- 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; }
16478
+ 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; } } }; }
16479
+ 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; } }
16480
+ 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; }
16480
16481
  function formatCountdown(ms) {
16481
16482
  if (ms == null || ms < 0) return "--";
16482
16483
  if (ms < 1000) return "< 1s";
@@ -16593,7 +16594,7 @@ var WidgetCardStatusBar = function WidgetCardStatusBar(_ref) {
16593
16594
 
16594
16595
  // Find soonest countdown among enabled tasks
16595
16596
  var soonestMs = null;
16596
- var _iterator = _createForOfIteratorHelper$q(enabledTasks),
16597
+ var _iterator = _createForOfIteratorHelper$r(enabledTasks),
16597
16598
  _step;
16598
16599
  try {
16599
16600
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -21912,9 +21913,9 @@ var ExternalWidget = function ExternalWidget(_ref) {
21912
21913
  var GRID_CELL_WIDGET_TYPE = "grid-cell-widget";
21913
21914
  var SIDEBAR_WIDGET_TYPE = "sidebar-widget";
21914
21915
 
21915
- 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; } } }; }
21916
- 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; } }
21917
- 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; }
21916
+ 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; } } }; }
21917
+ 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; } }
21918
+ 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; }
21918
21919
  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; }
21919
21920
  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; }
21920
21921
 
@@ -22537,7 +22538,7 @@ var LayoutGridContainer = /*#__PURE__*/React.memo(function (_ref3) {
22537
22538
  return selectable["delete"](cn);
22538
22539
  });
22539
22540
  var resolved = new Set();
22540
- var _iterator = _createForOfIteratorHelper$p(selectable),
22541
+ var _iterator = _createForOfIteratorHelper$q(selectable),
22541
22542
  _step;
22542
22543
  try {
22543
22544
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -24946,9 +24947,9 @@ function migrateBareComponentName(componentMap, component) {
24946
24947
 
24947
24948
  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; }
24948
24949
  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; }
24949
- 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; } } }; }
24950
- 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; } }
24951
- 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; }
24950
+ 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; } } }; }
24951
+ 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; } }
24952
+ 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; }
24952
24953
  /**
24953
24954
  * The model for all layout components used primarily in the renderLayout method
24954
24955
  * @param {Object} layoutItem an object containing various attributes of the layout item
@@ -24960,7 +24961,7 @@ function _arrayLikeToArray$o(r, a) { (null == a || a > r.length) && (a = r.lengt
24960
24961
  function sortObjectByKeys(obj) {
24961
24962
  var sortedKeys = Object.keys(obj).sort();
24962
24963
  var sortedObj = {};
24963
- var _iterator = _createForOfIteratorHelper$o(sortedKeys),
24964
+ var _iterator = _createForOfIteratorHelper$p(sortedKeys),
24964
24965
  _step;
24965
24966
  try {
24966
24967
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -25272,9 +25273,9 @@ var SettingsModel = function SettingsModel() {
25272
25273
  return obj;
25273
25274
  };
25274
25275
 
25275
- 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; } } }; }
25276
- 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; } }
25277
- 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; }
25276
+ 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; } } }; }
25277
+ 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; } }
25278
+ 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; }
25278
25279
 
25279
25280
  /**
25280
25281
  * Workspace-level pre-pass that migrates legacy bare component
@@ -25349,7 +25350,7 @@ function migrateScopedIdsInWorkspace(workspace, componentMap) {
25349
25350
  };
25350
25351
  var _walk = function walk(items) {
25351
25352
  if (!Array.isArray(items)) return;
25352
- var _iterator = _createForOfIteratorHelper$n(items),
25353
+ var _iterator = _createForOfIteratorHelper$o(items),
25353
25354
  _step;
25354
25355
  try {
25355
25356
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -25371,7 +25372,7 @@ function migrateScopedIdsInWorkspace(workspace, componentMap) {
25371
25372
  };
25372
25373
  _walk(workspace.layout);
25373
25374
  if (Array.isArray(workspace.pages)) {
25374
- var _iterator2 = _createForOfIteratorHelper$n(workspace.pages),
25375
+ var _iterator2 = _createForOfIteratorHelper$o(workspace.pages),
25375
25376
  _step2;
25376
25377
  try {
25377
25378
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
@@ -25388,9 +25389,9 @@ function migrateScopedIdsInWorkspace(workspace, componentMap) {
25388
25389
  return counts;
25389
25390
  }
25390
25391
 
25391
- 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; } } }; }
25392
- 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; } }
25393
- 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; }
25392
+ 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; } } }; }
25393
+ 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; } }
25394
+ 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; }
25394
25395
  /**
25395
25396
  * cleanForeignWidgetsFromWorkspace.js
25396
25397
  *
@@ -25431,7 +25432,7 @@ function cleanForeignWidgetsFromWorkspace(workspace) {
25431
25432
  var _cleanList = function cleanList(items) {
25432
25433
  if (!Array.isArray(items)) return items;
25433
25434
  var kept = [];
25434
- var _iterator = _createForOfIteratorHelper$m(items),
25435
+ var _iterator = _createForOfIteratorHelper$n(items),
25435
25436
  _step;
25436
25437
  try {
25437
25438
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -25468,7 +25469,7 @@ function cleanForeignWidgetsFromWorkspace(workspace) {
25468
25469
  workspace.sidebarLayout = _cleanList(workspace.sidebarLayout);
25469
25470
  }
25470
25471
  if (Array.isArray(workspace.pages)) {
25471
- var _iterator2 = _createForOfIteratorHelper$m(workspace.pages),
25472
+ var _iterator2 = _createForOfIteratorHelper$n(workspace.pages),
25472
25473
  _step2;
25473
25474
  try {
25474
25475
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
@@ -25486,9 +25487,9 @@ function cleanForeignWidgetsFromWorkspace(workspace) {
25486
25487
  return summary;
25487
25488
  }
25488
25489
 
25489
- 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; } } }; }
25490
- 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; } }
25491
- 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; }
25490
+ 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; } } }; }
25491
+ 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; } }
25492
+ 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; }
25492
25493
  /**
25493
25494
  * migrateLayoutItemTypes.js
25494
25495
  *
@@ -25550,7 +25551,7 @@ function migrateLayoutItemTypes(workspace) {
25550
25551
  };
25551
25552
  var _walk = function walk(items) {
25552
25553
  if (!Array.isArray(items)) return;
25553
- var _iterator = _createForOfIteratorHelper$l(items),
25554
+ var _iterator = _createForOfIteratorHelper$m(items),
25554
25555
  _step;
25555
25556
  try {
25556
25557
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -25568,7 +25569,7 @@ function migrateLayoutItemTypes(workspace) {
25568
25569
  };
25569
25570
  _walk(workspace.layout);
25570
25571
  if (Array.isArray(workspace.pages)) {
25571
- var _iterator2 = _createForOfIteratorHelper$l(workspace.pages),
25572
+ var _iterator2 = _createForOfIteratorHelper$m(workspace.pages),
25572
25573
  _step2;
25573
25574
  try {
25574
25575
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
@@ -25949,9 +25950,9 @@ var ThemeModel = function ThemeModel() {
25949
25950
  }
25950
25951
  };
25951
25952
 
25952
- 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; } } }; }
25953
- 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; } }
25954
- 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; }
25953
+ 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; } } }; }
25954
+ 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; } }
25955
+ 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; }
25955
25956
  /*
25956
25957
  "component": AnalyticsReportsWidget,
25957
25958
  "type":"widget",
@@ -26069,7 +26070,7 @@ var ComponentConfigModel = function ComponentConfigModel() {
26069
26070
  if ("providers" in obj && Array.isArray(obj.providers)) {
26070
26071
  var seen = new Set();
26071
26072
  var cleaned = [];
26072
- var _iterator = _createForOfIteratorHelper$k(obj.providers),
26073
+ var _iterator = _createForOfIteratorHelper$l(obj.providers),
26073
26074
  _step;
26074
26075
  try {
26075
26076
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -26117,9 +26118,9 @@ var MenuItemModel = function MenuItemModel() {
26117
26118
 
26118
26119
  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; }
26119
26120
  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; }
26120
- 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; } } }; }
26121
- 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; } }
26122
- 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; }
26121
+ 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; } } }; }
26122
+ 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; } }
26123
+ 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; }
26123
26124
  /**
26124
26125
  * A Model for a Workspace (Dashboard)
26125
26126
  * The Dashboard in this instance is the entire Layout inclusive of the workspaces and widgets
@@ -26191,7 +26192,7 @@ var DashboardModel = /*#__PURE__*/function () {
26191
26192
 
26192
26193
  // Also normalize grids within pages
26193
26194
  if (this.pages.length > 0) {
26194
- var _iterator = _createForOfIteratorHelper$j(this.pages),
26195
+ var _iterator = _createForOfIteratorHelper$k(this.pages),
26195
26196
  _step;
26196
26197
  try {
26197
26198
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -28167,7 +28168,7 @@ var DashboardModel = /*#__PURE__*/function () {
28167
28168
  try {
28168
28169
  // Collect all item IDs actively referenced by grid cells
28169
28170
  var activeItemIds = new Set();
28170
- var _iterator2 = _createForOfIteratorHelper$j(this.layout),
28171
+ var _iterator2 = _createForOfIteratorHelper$k(this.layout),
28171
28172
  _step2;
28172
28173
  try {
28173
28174
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
@@ -28207,7 +28208,7 @@ var DashboardModel = /*#__PURE__*/function () {
28207
28208
  });
28208
28209
 
28209
28210
  // Clean listener references on remaining items for each removed orphan
28210
- var _iterator3 = _createForOfIteratorHelper$j(orphanedIds),
28211
+ var _iterator3 = _createForOfIteratorHelper$k(orphanedIds),
28211
28212
  _step3;
28212
28213
  try {
28213
28214
  for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
@@ -29028,9 +29029,9 @@ var useDashboard = function useDashboard() {
29028
29029
  });
29029
29030
  };
29030
29031
 
29031
- 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; } } }; }
29032
- 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; } }
29033
- 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; }
29032
+ 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; } } }; }
29033
+ 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; } }
29034
+ 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; }
29034
29035
 
29035
29036
  /**
29036
29037
  * useWidgetProviders Hook
@@ -29086,7 +29087,7 @@ var useWidgetProviders = function useWidgetProviders() {
29086
29087
  // 1. Widget-level: stored directly on the layout item by handleSelectProvider
29087
29088
  // 2. Workspace-level: stored as workspace.selectedProviders[widgetId][providerType]
29088
29089
  var providers = {};
29089
- var _iterator = _createForOfIteratorHelper$i(providerDeclarations),
29090
+ var _iterator = _createForOfIteratorHelper$j(providerDeclarations),
29090
29091
  _step;
29091
29092
  try {
29092
29093
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -29128,6 +29129,10 @@ var useWidgetProviders = function useWidgetProviders() {
29128
29129
  };
29129
29130
  };
29130
29131
 
29132
+ 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; } } }; }
29133
+ 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; } }
29134
+ 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; }
29135
+
29131
29136
  /**
29132
29137
  * Module-level shared state for MCP server connections.
29133
29138
  * Prevents multiple hook instances (e.g., 4 widgets on the same dashboard
@@ -29152,6 +29157,77 @@ function rendererStateKey(workspaceId, serverName) {
29152
29157
  return wid + "::" + serverName;
29153
29158
  }
29154
29159
 
29160
+ /**
29161
+ * Slice 3b: compute the union of granted paths for a server across a
29162
+ * set of widgets. Mirrors electron/utils/mcpScopeResolver.unionPathScope
29163
+ * but inline here because the electron/ helper isn't reachable from the
29164
+ * renderer build. The mainline path-scope test runs against the
29165
+ * electron-side helper; this one is exercised at runtime when widgets
29166
+ * connect.
29167
+ */
29168
+ function unionPathScope(grants, serverName) {
29169
+ var reads = new Set();
29170
+ var writes = new Set();
29171
+ if (!Array.isArray(grants)) {
29172
+ return {
29173
+ readPaths: [],
29174
+ writePaths: [],
29175
+ allowedPaths: []
29176
+ };
29177
+ }
29178
+ var _iterator = _createForOfIteratorHelper$i(grants),
29179
+ _step;
29180
+ try {
29181
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
29182
+ var entry = _step.value;
29183
+ if (!entry || _typeof(entry) !== "object") continue;
29184
+ var granted = entry.granted;
29185
+ if (!granted || _typeof(granted) !== "object") continue;
29186
+ var servers = granted.servers;
29187
+ if (!servers || _typeof(servers) !== "object") continue;
29188
+ var serverPerms = servers[serverName];
29189
+ if (!serverPerms || _typeof(serverPerms) !== "object") continue;
29190
+ if (Array.isArray(serverPerms.readPaths)) {
29191
+ var _iterator2 = _createForOfIteratorHelper$i(serverPerms.readPaths),
29192
+ _step2;
29193
+ try {
29194
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
29195
+ var p = _step2.value;
29196
+ if (typeof p === "string" && p) reads.add(p);
29197
+ }
29198
+ } catch (err) {
29199
+ _iterator2.e(err);
29200
+ } finally {
29201
+ _iterator2.f();
29202
+ }
29203
+ }
29204
+ if (Array.isArray(serverPerms.writePaths)) {
29205
+ var _iterator3 = _createForOfIteratorHelper$i(serverPerms.writePaths),
29206
+ _step3;
29207
+ try {
29208
+ for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
29209
+ var _p = _step3.value;
29210
+ if (typeof _p === "string" && _p) writes.add(_p);
29211
+ }
29212
+ } catch (err) {
29213
+ _iterator3.e(err);
29214
+ } finally {
29215
+ _iterator3.f();
29216
+ }
29217
+ }
29218
+ }
29219
+ } catch (err) {
29220
+ _iterator.e(err);
29221
+ } finally {
29222
+ _iterator.f();
29223
+ }
29224
+ return {
29225
+ readPaths: _toConsumableArray(reads),
29226
+ writePaths: _toConsumableArray(writes),
29227
+ allowedPaths: _toConsumableArray(new Set([].concat(_toConsumableArray(reads), _toConsumableArray(writes))))
29228
+ };
29229
+ }
29230
+
29155
29231
  /**
29156
29232
  * useMcpProvider Hook
29157
29233
  *
@@ -29320,7 +29396,7 @@ var useMcpProvider = function useMcpProvider(providerType) {
29320
29396
  */
29321
29397
  var connect = React.useCallback(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
29322
29398
  var _workspace$workspaceD2;
29323
- var workspaceId, stateKey, cached, statusResult, result, state, connectPromise, _result, _t2, _t3;
29399
+ 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;
29324
29400
  return _regeneratorRuntime.wrap(function (_context) {
29325
29401
  while (1) switch (_context.prev = _context.next) {
29326
29402
  case 0:
@@ -29357,15 +29433,63 @@ var useMcpProvider = function useMcpProvider(providerType) {
29357
29433
  // dashboard's "connected" cache will short-circuit a second
29358
29434
  // dashboard's connect that needs its own backing process.
29359
29435
  workspaceId = (workspace === null || workspace === void 0 || (_workspace$workspaceD2 = workspace.workspaceData) === null || _workspace$workspaceD2 === void 0 ? void 0 : _workspace$workspaceD2.id) || null;
29360
- stateKey = rendererStateKey(workspaceId, selectedProviderName); // 1. Already connected at module level? Verify with main process before trusting cache.
29436
+ stateKey = rendererStateKey(workspaceId, selectedProviderName); // Slice 3b: compute the workspace's path-scope union from grants.
29437
+ // Enumerate widgets on this workspace that bind to this server,
29438
+ // look up their grants, union the read+write paths. Server spawns
29439
+ // with that union as its allowed-paths. Widget-level bindings on
29440
+ // layout items that aren't reflected in workspaceData.selectedProviders
29441
+ // are not enumerated — those widgets must rely on workspace-level
29442
+ // bindings to contribute to the union (known limitation).
29443
+ pathScope = null;
29444
+ _context.prev = 5;
29445
+ wsBindings = workspace === null || workspace === void 0 || (_workspace$workspaceD3 = workspace.workspaceData) === null || _workspace$workspaceD3 === void 0 ? void 0 : _workspace$workspaceD3.selectedProviders;
29446
+ widgetIdsOnServer = new Set(); // Always include the calling widget itself.
29447
+ if (widgetId) widgetIdsOnServer.add(widgetId);
29448
+ if (wsBindings && _typeof(wsBindings) === "object") {
29449
+ for (_i2 = 0, _Object$entries2 = Object.entries(wsBindings); _i2 < _Object$entries2.length; _i2++) {
29450
+ _Object$entries2$_i = _slicedToArray(_Object$entries2[_i2], 2), wId = _Object$entries2$_i[0], bindings = _Object$entries2$_i[1];
29451
+ if (bindings && _typeof(bindings) === "object" && bindings[providerType] === selectedProviderName) {
29452
+ widgetIdsOnServer.add(wId);
29453
+ }
29454
+ }
29455
+ }
29456
+ 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)) {
29457
+ _context.next = 8;
29458
+ break;
29459
+ }
29460
+ _context.next = 6;
29461
+ return window.mainApi.widgetMcp.listAll();
29462
+ case 6:
29463
+ _t = _context.sent;
29464
+ if (_t) {
29465
+ _context.next = 7;
29466
+ break;
29467
+ }
29468
+ _t = [];
29469
+ case 7:
29470
+ allGrants = _t;
29471
+ relevant = allGrants.filter(function (g) {
29472
+ return widgetIdsOnServer.has(g.widgetId);
29473
+ });
29474
+ if (relevant.length > 0) {
29475
+ pathScope = unionPathScope(relevant, selectedProviderName);
29476
+ }
29477
+ case 8:
29478
+ _context.next = 10;
29479
+ break;
29480
+ case 9:
29481
+ _context.prev = 9;
29482
+ _context["catch"](5);
29483
+ case 10:
29484
+ // 1. Already connected at module level? Verify with main process before trusting cache.
29361
29485
  // The server may have been stopped externally (e.g., Test Connection in settings).
29362
29486
  cached = serverStates.get(stateKey);
29363
29487
  if (!(cached && cached.status === "connected")) {
29364
- _context.next = 9;
29488
+ _context.next = 15;
29365
29489
  break;
29366
29490
  }
29367
- _context.prev = 5;
29368
- _context.next = 6;
29491
+ _context.prev = 11;
29492
+ _context.next = 12;
29369
29493
  return new Promise(function (resolve, reject) {
29370
29494
  dashApi.mcpGetServerStatus(selectedProviderName, function (event, result) {
29371
29495
  return resolve(result);
@@ -29373,74 +29497,74 @@ var useMcpProvider = function useMcpProvider(providerType) {
29373
29497
  return reject(err);
29374
29498
  }, workspaceId);
29375
29499
  });
29376
- case 6:
29500
+ case 12:
29377
29501
  statusResult = _context.sent;
29378
29502
  if (!((statusResult === null || statusResult === void 0 ? void 0 : statusResult.status) === "connected")) {
29379
- _context.next = 7;
29503
+ _context.next = 13;
29380
29504
  break;
29381
29505
  }
29382
29506
  cached.consumerCount++;
29383
29507
  applyResult(cached);
29384
29508
  return _context.abrupt("return");
29385
- case 7:
29509
+ case 13:
29386
29510
  // Server was stopped externally — clear stale cache and reconnect
29387
29511
  serverStates["delete"](stateKey);
29388
- _context.next = 9;
29512
+ _context.next = 15;
29389
29513
  break;
29390
- case 8:
29391
- _context.prev = 8;
29392
- _context["catch"](5);
29514
+ case 14:
29515
+ _context.prev = 14;
29516
+ _context["catch"](11);
29393
29517
  serverStates["delete"](stateKey);
29394
- case 9:
29518
+ case 15:
29395
29519
  setIsConnecting(true);
29396
29520
  setError(null);
29397
29521
 
29398
29522
  // 2. Another hook instance already connecting? Piggyback on its promise
29399
29523
  if (!pendingConnects$1.has(stateKey)) {
29400
- _context.next = 17;
29524
+ _context.next = 23;
29401
29525
  break;
29402
29526
  }
29403
- _context.prev = 10;
29404
- _context.next = 11;
29527
+ _context.prev = 16;
29528
+ _context.next = 17;
29405
29529
  return pendingConnects$1.get(stateKey);
29406
- case 11:
29530
+ case 17:
29407
29531
  result = _context.sent;
29408
29532
  if (mountedRef.current) {
29409
- _context.next = 12;
29533
+ _context.next = 18;
29410
29534
  break;
29411
29535
  }
29412
29536
  return _context.abrupt("return");
29413
- case 12:
29537
+ case 18:
29414
29538
  if (!result.error) {
29415
- _context.next = 13;
29539
+ _context.next = 19;
29416
29540
  break;
29417
29541
  }
29418
29542
  setError(result.message);
29419
29543
  setIsConnecting(false);
29420
29544
  setStatus("error");
29421
29545
  return _context.abrupt("return");
29422
- case 13:
29546
+ case 19:
29423
29547
  // Increment consumer count and apply
29424
29548
  state = serverStates.get(stateKey);
29425
29549
  if (state) state.consumerCount++;
29426
29550
  applyResult(result);
29427
- _context.next = 16;
29551
+ _context.next = 22;
29428
29552
  break;
29429
- case 14:
29430
- _context.prev = 14;
29431
- _t2 = _context["catch"](10);
29553
+ case 20:
29554
+ _context.prev = 20;
29555
+ _t4 = _context["catch"](16);
29432
29556
  if (mountedRef.current) {
29433
- _context.next = 15;
29557
+ _context.next = 21;
29434
29558
  break;
29435
29559
  }
29436
29560
  return _context.abrupt("return");
29437
- case 15:
29438
- setError((_t2 === null || _t2 === void 0 ? void 0 : _t2.message) || "Failed to connect to MCP server");
29561
+ case 21:
29562
+ setError((_t4 === null || _t4 === void 0 ? void 0 : _t4.message) || "Failed to connect to MCP server");
29439
29563
  setIsConnecting(false);
29440
29564
  setStatus("error");
29441
- case 16:
29565
+ case 22:
29442
29566
  return _context.abrupt("return");
29443
- case 17:
29567
+ case 23:
29444
29568
  // 3. First caller — fire the IPC call and share the promise
29445
29569
  connectPromise = new Promise(function (resolve, reject) {
29446
29570
  dashApi.mcpStartServer(selectedProviderName, provider.mcpConfig, provider.credentials, function (event, result) {
@@ -29473,49 +29597,49 @@ var useMcpProvider = function useMcpProvider(providerType) {
29473
29597
  consumerCount: 0
29474
29598
  });
29475
29599
  reject(err);
29476
- }, workspaceId);
29600
+ }, workspaceId, pathScope);
29477
29601
  });
29478
29602
  pendingConnects$1.set(stateKey, connectPromise);
29479
- _context.prev = 18;
29480
- _context.next = 19;
29603
+ _context.prev = 24;
29604
+ _context.next = 25;
29481
29605
  return connectPromise;
29482
- case 19:
29606
+ case 25:
29483
29607
  _result = _context.sent;
29484
29608
  if (mountedRef.current) {
29485
- _context.next = 20;
29609
+ _context.next = 26;
29486
29610
  break;
29487
29611
  }
29488
29612
  return _context.abrupt("return");
29489
- case 20:
29613
+ case 26:
29490
29614
  if (!_result.error) {
29491
- _context.next = 21;
29615
+ _context.next = 27;
29492
29616
  break;
29493
29617
  }
29494
29618
  setError(_result.message);
29495
29619
  setIsConnecting(false);
29496
29620
  setStatus("error");
29497
29621
  return _context.abrupt("return");
29498
- case 21:
29622
+ case 27:
29499
29623
  applyResult(_result);
29500
- _context.next = 24;
29624
+ _context.next = 30;
29501
29625
  break;
29502
- case 22:
29503
- _context.prev = 22;
29504
- _t3 = _context["catch"](18);
29626
+ case 28:
29627
+ _context.prev = 28;
29628
+ _t5 = _context["catch"](24);
29505
29629
  if (mountedRef.current) {
29506
- _context.next = 23;
29630
+ _context.next = 29;
29507
29631
  break;
29508
29632
  }
29509
29633
  return _context.abrupt("return");
29510
- case 23:
29511
- setError((_t3 === null || _t3 === void 0 ? void 0 : _t3.message) || "Failed to connect to MCP server");
29634
+ case 29:
29635
+ setError((_t5 === null || _t5 === void 0 ? void 0 : _t5.message) || "Failed to connect to MCP server");
29512
29636
  setIsConnecting(false);
29513
29637
  setStatus("error");
29514
- case 24:
29638
+ case 30:
29515
29639
  case "end":
29516
29640
  return _context.stop();
29517
29641
  }
29518
- }, _callee, null, [[5, 8], [10, 14], [18, 22]]);
29642
+ }, _callee, null, [[5, 9], [11, 14], [16, 20], [24, 28]]);
29519
29643
  })), [dashApi, provider, providerType, selectedProviderName, applyResult, workspace]);
29520
29644
 
29521
29645
  /**
@@ -29523,7 +29647,7 @@ var useMcpProvider = function useMcpProvider(providerType) {
29523
29647
  * Only sends the IPC stop call when this is the last consumer.
29524
29648
  */
29525
29649
  var disconnect = React.useCallback(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
29526
- var _workspace$workspaceD3;
29650
+ var _workspace$workspaceD4;
29527
29651
  var workspaceId, stateKey, state;
29528
29652
  return _regeneratorRuntime.wrap(function (_context2) {
29529
29653
  while (1) switch (_context2.prev = _context2.next) {
@@ -29534,7 +29658,7 @@ var useMcpProvider = function useMcpProvider(providerType) {
29534
29658
  }
29535
29659
  return _context2.abrupt("return");
29536
29660
  case 1:
29537
- workspaceId = (workspace === null || workspace === void 0 || (_workspace$workspaceD3 = workspace.workspaceData) === null || _workspace$workspaceD3 === void 0 ? void 0 : _workspace$workspaceD3.id) || null;
29661
+ workspaceId = (workspace === null || workspace === void 0 || (_workspace$workspaceD4 = workspace.workspaceData) === null || _workspace$workspaceD4 === void 0 ? void 0 : _workspace$workspaceD4.id) || null;
29538
29662
  stateKey = rendererStateKey(workspaceId, selectedProviderName);
29539
29663
  state = serverStates.get(stateKey);
29540
29664
  if (!state) {
@@ -29584,7 +29708,7 @@ var useMcpProvider = function useMcpProvider(providerType) {
29584
29708
  */
29585
29709
  var callTool = React.useCallback(/*#__PURE__*/function () {
29586
29710
  var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee3(toolName) {
29587
- var _workspace$workspaceD4;
29711
+ var _workspace$workspaceD5;
29588
29712
  var args,
29589
29713
  widgetRequiredTools,
29590
29714
  isRequired,
@@ -29618,7 +29742,7 @@ var useMcpProvider = function useMcpProvider(providerType) {
29618
29742
  // Slice 3a: scope the MCP server process per workspace. The
29619
29743
  // workspace UUID is the canonical "current dashboard" identity
29620
29744
  // (see useNotifications, useScheduler for the same pattern).
29621
- workspaceId = (workspace === null || workspace === void 0 || (_workspace$workspaceD4 = workspace.workspaceData) === null || _workspace$workspaceD4 === void 0 ? void 0 : _workspace$workspaceD4.id) || null;
29745
+ workspaceId = (workspace === null || workspace === void 0 || (_workspace$workspaceD5 = workspace.workspaceData) === null || _workspace$workspaceD5 === void 0 ? void 0 : _workspace$workspaceD5.id) || null;
29622
29746
  return _context3.abrupt("return", new Promise(function (resolve, reject) {
29623
29747
  var timeout = setTimeout(function () {
29624
29748
  reject(new Error("Tool call \"".concat(toolName, "\" timed out after 30s")));
@@ -29702,8 +29826,8 @@ var useMcpProvider = function useMcpProvider(providerType) {
29702
29826
 
29703
29827
  // Decrement consumer count; only stop server if last consumer
29704
29828
  if (connectedRef.current && dashApi && selectedProviderName) {
29705
- var _workspace$workspaceD5;
29706
- var workspaceId = (workspace === null || workspace === void 0 || (_workspace$workspaceD5 = workspace.workspaceData) === null || _workspace$workspaceD5 === void 0 ? void 0 : _workspace$workspaceD5.id) || null;
29829
+ var _workspace$workspaceD6;
29830
+ var workspaceId = (workspace === null || workspace === void 0 || (_workspace$workspaceD6 = workspace.workspaceData) === null || _workspace$workspaceD6 === void 0 ? void 0 : _workspace$workspaceD6.id) || null;
29707
29831
  var stateKey = rendererStateKey(workspaceId, selectedProviderName);
29708
29832
  var state = serverStates.get(stateKey);
29709
29833
  if (state) {