@trops/dash-core 0.1.609 → 0.1.611

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.esm.js CHANGED
@@ -936,6 +936,8 @@ var MCP_GET_CATALOG_COMPLETE = "mcp:get-catalog:complete";
936
936
  var MCP_GET_CATALOG_ERROR = "mcp:get-catalog:error";
937
937
  var MCP_RUN_AUTH_COMPLETE = "mcp:run-auth:complete";
938
938
  var MCP_RUN_AUTH_ERROR = "mcp:run-auth:error";
939
+ var MCP_AUTHORIZE_COMPLETE = "mcp:authorize:complete";
940
+ var MCP_AUTHORIZE_ERROR = "mcp:authorize:error";
939
941
 
940
942
  var DATA_JSON_TO_CSV_FILE = "data-json-to-csv-file";
941
943
  var DATA_JSON_TO_CSV_FILE_COMPLETE = "data-json-to-csv-file-complete";
@@ -1031,6 +1033,8 @@ var apiEvents = /*#__PURE__*/Object.freeze({
1031
1033
  LAYOUT_LIST: LAYOUT_LIST,
1032
1034
  LAYOUT_LIST_COMPLETE: LAYOUT_LIST_COMPLETE,
1033
1035
  LAYOUT_LIST_ERROR: LAYOUT_LIST_ERROR,
1036
+ MCP_AUTHORIZE_COMPLETE: MCP_AUTHORIZE_COMPLETE,
1037
+ MCP_AUTHORIZE_ERROR: MCP_AUTHORIZE_ERROR,
1034
1038
  MCP_CALL_TOOL_COMPLETE: MCP_CALL_TOOL_COMPLETE,
1035
1039
  MCP_CALL_TOOL_ERROR: MCP_CALL_TOOL_ERROR,
1036
1040
  MCP_GET_CATALOG_COMPLETE: MCP_GET_CATALOG_COMPLETE,
@@ -1635,9 +1639,10 @@ var ElectronDashboardApi = /*#__PURE__*/function () {
1635
1639
  var _this20 = this;
1636
1640
  var workspaceId = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : null;
1637
1641
  var pathScope = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : null;
1642
+ var appId = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : null;
1638
1643
  if (this.api !== null) {
1639
1644
  try {
1640
- this.api.mcp.startServer(serverName, mcpConfig, credentials, workspaceId, pathScope).then(function (result) {
1645
+ this.api.mcp.startServer(serverName, mcpConfig, credentials, workspaceId, pathScope, appId !== null && appId !== void 0 ? appId : this.appId).then(function (result) {
1641
1646
  onSuccess(_this20.events.MCP_START_SERVER_COMPLETE, result);
1642
1647
  })["catch"](function (error) {
1643
1648
  onError(_this20.events.MCP_START_SERVER_ERROR, error);
@@ -1863,6 +1868,28 @@ var ElectronDashboardApi = /*#__PURE__*/function () {
1863
1868
  return false;
1864
1869
  }
1865
1870
  }
1871
+ }, {
1872
+ key: "mcpAuthorize",
1873
+ value: function mcpAuthorize(serverName, mcpConfig, credentials, onSuccess, onError) {
1874
+ var _this30 = this;
1875
+ var appId = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : null;
1876
+ if (this.api !== null) {
1877
+ try {
1878
+ this.api.mcp.authorize(serverName, mcpConfig, credentials, appId !== null && appId !== void 0 ? appId : this.appId).then(function (result) {
1879
+ onSuccess(_this30.events.MCP_AUTHORIZE_COMPLETE, result);
1880
+ })["catch"](function (error) {
1881
+ onError(_this30.events.MCP_AUTHORIZE_ERROR, error);
1882
+ });
1883
+ return true;
1884
+ } catch (e) {
1885
+ onError(this.events.MCP_AUTHORIZE_ERROR, e);
1886
+ return false;
1887
+ }
1888
+ } else {
1889
+ onError(this.events.MCP_AUTHORIZE_ERROR, new Error("No Api found"));
1890
+ return false;
1891
+ }
1892
+ }
1866
1893
  }]);
1867
1894
  }();
1868
1895
 
@@ -2136,6 +2163,12 @@ var WebDashboardApi = /*#__PURE__*/function () {
2136
2163
  onError === null || onError === void 0 ? void 0 : onError("mcp:run-auth:error", new Error("MCP not available in web mode"));
2137
2164
  return false;
2138
2165
  }
2166
+ }, {
2167
+ key: "mcpAuthorize",
2168
+ value: function mcpAuthorize(serverName, mcpConfig, credentials, onSuccess, onError) {
2169
+ onError === null || onError === void 0 ? void 0 : onError("mcp:authorize:error", new Error("MCP not available in web mode"));
2170
+ return false;
2171
+ }
2139
2172
  }]);
2140
2173
  }();
2141
2174
 
@@ -2684,9 +2717,9 @@ function useWidgetRegistryVersion() {
2684
2717
  return version;
2685
2718
  }
2686
2719
 
2687
- 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; } } }; }
2688
- 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; } }
2689
- 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; }
2720
+ 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; } } }; }
2721
+ 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; } }
2722
+ 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; }
2690
2723
 
2691
2724
  /**
2692
2725
  * Walk a workspace layout and collect widget component keys that are
@@ -2700,7 +2733,7 @@ function collectComponentsFromLayout(layout) {
2700
2733
 
2701
2734
  // Collect IDs of layout items that are actively referenced by grid cells
2702
2735
  var activeItemIds = new Set();
2703
- var _iterator = _createForOfIteratorHelper$N(layout),
2736
+ var _iterator = _createForOfIteratorHelper$M(layout),
2704
2737
  _step;
2705
2738
  try {
2706
2739
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -2720,7 +2753,7 @@ function collectComponentsFromLayout(layout) {
2720
2753
  } finally {
2721
2754
  _iterator.f();
2722
2755
  }
2723
- var _iterator2 = _createForOfIteratorHelper$N(layout),
2756
+ var _iterator2 = _createForOfIteratorHelper$M(layout),
2724
2757
  _step2;
2725
2758
  try {
2726
2759
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
@@ -2754,7 +2787,7 @@ function findWidgetUsage(componentNames, workspaces) {
2754
2787
  if (!(componentNames !== null && componentNames !== void 0 && componentNames.length) || !(workspaces !== null && workspaces !== void 0 && workspaces.length)) return [];
2755
2788
  var nameSet = new Set(componentNames);
2756
2789
  var results = [];
2757
- var _iterator3 = _createForOfIteratorHelper$N(workspaces),
2790
+ var _iterator3 = _createForOfIteratorHelper$M(workspaces),
2758
2791
  _step3;
2759
2792
  try {
2760
2793
  for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
@@ -2895,7 +2928,7 @@ var useInstalledWidgets = function useInstalledWidgets() {
2895
2928
  _t = [];
2896
2929
  case 4:
2897
2930
  allDrafts = _t;
2898
- _iterator4 = _createForOfIteratorHelper$N(allDrafts);
2931
+ _iterator4 = _createForOfIteratorHelper$M(allDrafts);
2899
2932
  try {
2900
2933
  for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
2901
2934
  d = _step4.value;
@@ -3064,9 +3097,9 @@ var useInstalledWidgets = function useInstalledWidgets() {
3064
3097
  };
3065
3098
  };
3066
3099
 
3067
- 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; } } }; }
3068
- 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; } }
3069
- 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; }
3100
+ 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; } } }; }
3101
+ 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; } }
3102
+ 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; }
3070
3103
  function ownKeys$18(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; }
3071
3104
  function _objectSpread$18(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$18(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$18(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
3072
3105
 
@@ -3592,7 +3625,7 @@ function useWidgetUpdates() {
3592
3625
  // (install replaces the entire package, not just one widget)
3593
3626
  setUpdates(function (prev) {
3594
3627
  var next = new Map(prev);
3595
- var _iterator = _createForOfIteratorHelper$M(next),
3628
+ var _iterator = _createForOfIteratorHelper$L(next),
3596
3629
  _step;
3597
3630
  try {
3598
3631
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -3651,7 +3684,7 @@ function useWidgetUpdates() {
3651
3684
  var packagesWithUpdates = useMemo(function () {
3652
3685
  if (!updates || updates.size === 0) return [];
3653
3686
  var byPackage = new Map();
3654
- var _iterator2 = _createForOfIteratorHelper$M(updates),
3687
+ var _iterator2 = _createForOfIteratorHelper$L(updates),
3655
3688
  _step2;
3656
3689
  try {
3657
3690
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
@@ -3679,7 +3712,7 @@ function useWidgetUpdates() {
3679
3712
  } finally {
3680
3713
  _iterator2.f();
3681
3714
  }
3682
- var _iterator3 = _createForOfIteratorHelper$M(installedWidgets),
3715
+ var _iterator3 = _createForOfIteratorHelper$L(installedWidgets),
3683
3716
  _step3;
3684
3717
  try {
3685
3718
  for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
@@ -3810,7 +3843,7 @@ function useWidgetUpdates() {
3810
3843
  // packageId) → grant rows (which are keyed by widgetId like
3811
3844
  // `trops.slack.SlackChannels`).
3812
3845
  rowByComponentName = new Map();
3813
- _iterator4 = _createForOfIteratorHelper$M(allRows);
3846
+ _iterator4 = _createForOfIteratorHelper$L(allRows);
3814
3847
  try {
3815
3848
  for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
3816
3849
  r = _step4.value;
@@ -3823,7 +3856,7 @@ function useWidgetUpdates() {
3823
3856
  _iterator4.f();
3824
3857
  }
3825
3858
  widgetsWithMissing = [];
3826
- _iterator5 = _createForOfIteratorHelper$M(manifests);
3859
+ _iterator5 = _createForOfIteratorHelper$L(manifests);
3827
3860
  _context5.prev = 8;
3828
3861
  _loop = /*#__PURE__*/_regeneratorRuntime.mark(function _loop() {
3829
3862
  var _manifest$permissions;
@@ -3846,7 +3879,7 @@ function useWidgetUpdates() {
3846
3879
  pkgWidgets = installedWidgets.filter(function (w) {
3847
3880
  return (w.packageId || w.name) === packageId;
3848
3881
  });
3849
- _iterator6 = _createForOfIteratorHelper$M(pkgWidgets);
3882
+ _iterator6 = _createForOfIteratorHelper$L(pkgWidgets);
3850
3883
  _context4.prev = 2;
3851
3884
  _iterator6.s();
3852
3885
  case 3:
@@ -3958,7 +3991,7 @@ function useWidgetUpdates() {
3958
3991
  // Seed every selected package as pending so the modal renders
3959
3992
  // the full per-row state from the first paint.
3960
3993
  initial = new Map();
3961
- _iterator7 = _createForOfIteratorHelper$M(packageNames);
3994
+ _iterator7 = _createForOfIteratorHelper$L(packageNames);
3962
3995
  try {
3963
3996
  for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
3964
3997
  name = _step7.value;
@@ -4018,7 +4051,7 @@ function useWidgetUpdates() {
4018
4051
  // loop so the freshly-installed code can immediately use
4019
4052
  // what was approved (and is gated from what wasn't).
4020
4053
  accepted = decision.acceptedByWidgetId || {};
4021
- _iterator8 = _createForOfIteratorHelper$M(preflight.widgets);
4054
+ _iterator8 = _createForOfIteratorHelper$L(preflight.widgets);
4022
4055
  _context7.prev = 6;
4023
4056
  _iterator8.s();
4024
4057
  case 7:
@@ -4102,7 +4135,7 @@ function useWidgetUpdates() {
4102
4135
  // e.g. a stale registry zip or a verify mismatch).
4103
4136
  failedDetails = [];
4104
4137
  _context7.prev = 19;
4105
- _iterator9 = _createForOfIteratorHelper$M(packageNames);
4138
+ _iterator9 = _createForOfIteratorHelper$L(packageNames);
4106
4139
  _context7.prev = 20;
4107
4140
  _loop2 = /*#__PURE__*/_regeneratorRuntime.mark(function _loop2() {
4108
4141
  var pkgName, msg, _t0;
@@ -4209,7 +4242,7 @@ function useWidgetUpdates() {
4209
4242
  succeededSet = new Set(succeeded);
4210
4243
  setUpdates(function (prev) {
4211
4244
  var next = new Map(prev);
4212
- var _iterator0 = _createForOfIteratorHelper$M(next),
4245
+ var _iterator0 = _createForOfIteratorHelper$L(next),
4213
4246
  _step0;
4214
4247
  try {
4215
4248
  for (_iterator0.s(); !(_step0 = _iterator0.n()).done;) {
@@ -4603,9 +4636,9 @@ function useRegistryAuth() {
4603
4636
 
4604
4637
  function ownKeys$16(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; }
4605
4638
  function _objectSpread$16(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$16(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$16(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4606
- 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; } } }; }
4607
- 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; } }
4608
- 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; }
4639
+ 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; } } }; }
4640
+ 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; } }
4641
+ 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; }
4609
4642
  var secondaryBtnClass = "px-3 py-2 text-sm font-medium rounded bg-gray-700 hover:bg-gray-600 disabled:bg-gray-800 disabled:text-gray-500 disabled:cursor-not-allowed text-gray-100";
4610
4643
  var primaryBtnClass = "px-3 py-2 text-sm font-medium rounded bg-blue-600 hover:bg-blue-500 disabled:bg-gray-700 disabled:text-gray-500 disabled:cursor-not-allowed text-white";
4611
4644
 
@@ -4626,7 +4659,7 @@ function flattenPreflightLines(missing) {
4626
4659
  var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
4627
4660
  serverName = _Object$entries$_i[0],
4628
4661
  perms = _Object$entries$_i[1];
4629
- var _iterator = _createForOfIteratorHelper$L(perms.tools || []),
4662
+ var _iterator = _createForOfIteratorHelper$K(perms.tools || []),
4630
4663
  _step;
4631
4664
  try {
4632
4665
  var _loop2 = function _loop2() {
@@ -4653,7 +4686,7 @@ function flattenPreflightLines(missing) {
4653
4686
  } finally {
4654
4687
  _iterator.f();
4655
4688
  }
4656
- var _iterator2 = _createForOfIteratorHelper$L(perms.readPaths || []),
4689
+ var _iterator2 = _createForOfIteratorHelper$K(perms.readPaths || []),
4657
4690
  _step2;
4658
4691
  try {
4659
4692
  var _loop3 = function _loop3() {
@@ -4680,7 +4713,7 @@ function flattenPreflightLines(missing) {
4680
4713
  } finally {
4681
4714
  _iterator2.f();
4682
4715
  }
4683
- var _iterator3 = _createForOfIteratorHelper$L(perms.writePaths || []),
4716
+ var _iterator3 = _createForOfIteratorHelper$K(perms.writePaths || []),
4684
4717
  _step3;
4685
4718
  try {
4686
4719
  var _loop4 = function _loop4() {
@@ -4843,13 +4876,13 @@ var AppUpdatesModal = function AppUpdatesModal(_ref) {
4843
4876
  var _pendingPreflight$wid;
4844
4877
  if (!pendingPreflight || !((_pendingPreflight$wid = pendingPreflight.widgets) !== null && _pendingPreflight$wid !== void 0 && _pendingPreflight$wid.length)) return;
4845
4878
  var initial = {};
4846
- var _iterator4 = _createForOfIteratorHelper$L(pendingPreflight.widgets),
4879
+ var _iterator4 = _createForOfIteratorHelper$K(pendingPreflight.widgets),
4847
4880
  _step4;
4848
4881
  try {
4849
4882
  for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
4850
4883
  var w = _step4.value;
4851
4884
  initial[w.widgetId] = {};
4852
- var _iterator5 = _createForOfIteratorHelper$L(flattenPreflightLines(w.missing)),
4885
+ var _iterator5 = _createForOfIteratorHelper$K(flattenPreflightLines(w.missing)),
4853
4886
  _step5;
4854
4887
  try {
4855
4888
  for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
@@ -4955,7 +4988,7 @@ var AppUpdatesModal = function AppUpdatesModal(_ref) {
4955
4988
  // would no-op them anyway, but explicit is cheaper than
4956
4989
  // mysterious).
4957
4990
  var acceptedByWidgetId = {};
4958
- var _iterator6 = _createForOfIteratorHelper$L(pendingPreflight.widgets),
4991
+ var _iterator6 = _createForOfIteratorHelper$K(pendingPreflight.widgets),
4959
4992
  _step6;
4960
4993
  try {
4961
4994
  for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
@@ -4963,7 +4996,7 @@ var AppUpdatesModal = function AppUpdatesModal(_ref) {
4963
4996
  var lines = flattenPreflightLines(w.missing);
4964
4997
  var acc = {};
4965
4998
  var any = false;
4966
- var _iterator7 = _createForOfIteratorHelper$L(lines),
4999
+ var _iterator7 = _createForOfIteratorHelper$K(lines),
4967
5000
  _step7;
4968
5001
  try {
4969
5002
  for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
@@ -6040,9 +6073,9 @@ var LayoutContainer = function LayoutContainer(_ref) {
6040
6073
 
6041
6074
  function ownKeys$13(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; }
6042
6075
  function _objectSpread$13(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$13(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$13(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
6043
- 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; } } }; }
6044
- 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; } }
6045
- 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; }
6076
+ 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; } } }; }
6077
+ 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; } }
6078
+ 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; }
6046
6079
  /**
6047
6080
  * Layout template definitions for the dashboard template picker.
6048
6081
  *
@@ -6316,7 +6349,7 @@ function createLayoutFromTemplate(template) {
6316
6349
  cols: template.cols,
6317
6350
  gap: "gap-2"
6318
6351
  };
6319
- var _iterator = _createForOfIteratorHelper$K(template.cells),
6352
+ var _iterator = _createForOfIteratorHelper$J(template.cells),
6320
6353
  _step;
6321
6354
  try {
6322
6355
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -7338,9 +7371,9 @@ var DashboardInstallOptionsModal = function DashboardInstallOptionsModal(_ref) {
7338
7371
  });
7339
7372
  };
7340
7373
 
7341
- 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; } } }; }
7342
- 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; } }
7343
- 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; }
7374
+ 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; } } }; }
7375
+ 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; } }
7376
+ 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; }
7344
7377
  function ownKeys$12(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; }
7345
7378
  function _objectSpread$12(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$12(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$12(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
7346
7379
  var RegistryDashboardDetail = function RegistryDashboardDetail(_ref) {
@@ -7709,7 +7742,7 @@ var RegistryDashboardDetail = function RegistryDashboardDetail(_ref) {
7709
7742
  toInstall = 0,
7710
7743
  unavailable = 0,
7711
7744
  hasUnavailableRequired = false;
7712
- var _iterator = _createForOfIteratorHelper$J(widgetDeps),
7745
+ var _iterator = _createForOfIteratorHelper$I(widgetDeps),
7713
7746
  _step;
7714
7747
  try {
7715
7748
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -9410,9 +9443,9 @@ function cleanIpcError(message) {
9410
9443
  return match ? match[1] : message;
9411
9444
  }
9412
9445
 
9413
- 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; } } }; }
9414
- 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; } }
9415
- 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; }
9446
+ function _createForOfIteratorHelper$H(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$H(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
9447
+ function _unsupportedIterableToArray$H(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$H(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$H(r, a) : void 0; } }
9448
+ function _arrayLikeToArray$H(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
9416
9449
 
9417
9450
  /**
9418
9451
  * useRegistrySearch — shared hook for browsing and installing registry packages.
@@ -9526,13 +9559,13 @@ var useRegistrySearch = function useRegistrySearch() {
9526
9559
  return c.toLowerCase();
9527
9560
  }));
9528
9561
  widgets = [];
9529
- _iterator = _createForOfIteratorHelper$I(pkgs);
9562
+ _iterator = _createForOfIteratorHelper$H(pkgs);
9530
9563
  try {
9531
9564
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
9532
9565
  pkg = _step.value;
9533
9566
  // Compute missing APIs for the entire package
9534
9567
  allApiProviders = [];
9535
- _iterator2 = _createForOfIteratorHelper$I(pkg.providers || []);
9568
+ _iterator2 = _createForOfIteratorHelper$H(pkg.providers || []);
9536
9569
  try {
9537
9570
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
9538
9571
  p = _step2.value;
@@ -9545,11 +9578,11 @@ var useRegistrySearch = function useRegistrySearch() {
9545
9578
  } finally {
9546
9579
  _iterator2.f();
9547
9580
  }
9548
- _iterator3 = _createForOfIteratorHelper$I(pkg.widgets || []);
9581
+ _iterator3 = _createForOfIteratorHelper$H(pkg.widgets || []);
9549
9582
  try {
9550
9583
  for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
9551
9584
  w = _step3.value;
9552
- _iterator5 = _createForOfIteratorHelper$I(w.providers || []);
9585
+ _iterator5 = _createForOfIteratorHelper$H(w.providers || []);
9553
9586
  try {
9554
9587
  for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
9555
9588
  _p = _step5.value;
@@ -9571,7 +9604,7 @@ var useRegistrySearch = function useRegistrySearch() {
9571
9604
  missingApis = _toConsumableArray(new Set(allApiProviders)).filter(function (api) {
9572
9605
  return !capSet.has(api.toLowerCase());
9573
9606
  });
9574
- _iterator4 = _createForOfIteratorHelper$I(pkg.widgets || []);
9607
+ _iterator4 = _createForOfIteratorHelper$H(pkg.widgets || []);
9575
9608
  try {
9576
9609
  for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
9577
9610
  widget = _step4.value;
@@ -10358,9 +10391,9 @@ function WizardThemePreview(_ref) {
10358
10391
  });
10359
10392
  }
10360
10393
 
10361
- function _createForOfIteratorHelper$H(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$H(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
10362
- function _unsupportedIterableToArray$H(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$H(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$H(r, a) : void 0; } }
10363
- function _arrayLikeToArray$H(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
10394
+ function _createForOfIteratorHelper$G(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$G(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
10395
+ function _unsupportedIterableToArray$G(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$G(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$G(r, a) : void 0; } }
10396
+ function _arrayLikeToArray$G(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
10364
10397
  var WizardCustomizeStep = function WizardCustomizeStep(_ref) {
10365
10398
  var _state$selectedDashbo, _state$selectedDashbo2, _state$layout;
10366
10399
  var state = _ref.state,
@@ -10579,7 +10612,7 @@ var WizardCustomizeStep = function WizardCustomizeStep(_ref) {
10579
10612
  installedNames = new Set(installedList.map(function (w) {
10580
10613
  return w.name;
10581
10614
  }));
10582
- _iterator = _createForOfIteratorHelper$H(state.selectedWidgets);
10615
+ _iterator = _createForOfIteratorHelper$G(state.selectedWidgets);
10583
10616
  _context2.prev = 12;
10584
10617
  _iterator.s();
10585
10618
  case 13:
@@ -12267,9 +12300,9 @@ function mergeDownOp(grid, row, col) {
12267
12300
  }
12268
12301
 
12269
12302
  var _excluded$4 = ["rows", "cols"];
12270
- function _createForOfIteratorHelper$G(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$G(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
12271
- function _unsupportedIterableToArray$G(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$G(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$G(r, a) : void 0; } }
12272
- function _arrayLikeToArray$G(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
12303
+ function _createForOfIteratorHelper$F(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$F(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
12304
+ function _unsupportedIterableToArray$F(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$F(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$F(r, a) : void 0; } }
12305
+ function _arrayLikeToArray$F(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
12273
12306
  function ownKeys$$(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
12274
12307
  function _objectSpread$$(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$$(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$$(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
12275
12308
  var defaultGrid = {
@@ -12391,7 +12424,7 @@ function GridEditor(_ref) {
12391
12424
  function sortObjectByKeys(obj) {
12392
12425
  var sortedKeys = Object.keys(obj).sort();
12393
12426
  var sortedObj = {};
12394
- var _iterator = _createForOfIteratorHelper$G(sortedKeys),
12427
+ var _iterator = _createForOfIteratorHelper$F(sortedKeys),
12395
12428
  _step;
12396
12429
  try {
12397
12430
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -12864,9 +12897,9 @@ var PanelEditItemNotifications = function PanelEditItemNotifications(_ref) {
12864
12897
  });
12865
12898
  };
12866
12899
 
12867
- function _createForOfIteratorHelper$F(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$F(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
12868
- function _unsupportedIterableToArray$F(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$F(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$F(r, a) : void 0; } }
12869
- function _arrayLikeToArray$F(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
12900
+ function _createForOfIteratorHelper$E(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$E(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
12901
+ function _unsupportedIterableToArray$E(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$E(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$E(r, a) : void 0; } }
12902
+ function _arrayLikeToArray$E(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
12870
12903
  function ownKeys$Z(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
12871
12904
  function _objectSpread$Z(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$Z(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$Z(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
12872
12905
  var DAYS = [{
@@ -13195,7 +13228,7 @@ var PanelEditItemSchedule = function PanelEditItemSchedule(_ref2) {
13195
13228
  setIsLoading(true);
13196
13229
  window.mainApi.scheduler.getTasks(widgetUuid).then(function (tasks) {
13197
13230
  var stateMap = {};
13198
- var _iterator = _createForOfIteratorHelper$F(tasks || []),
13231
+ var _iterator = _createForOfIteratorHelper$E(tasks || []),
13199
13232
  _step;
13200
13233
  try {
13201
13234
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -13454,9 +13487,9 @@ function isUserWidget(item) {
13454
13487
  return true;
13455
13488
  }
13456
13489
 
13457
- function _createForOfIteratorHelper$E(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$E(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
13458
- function _unsupportedIterableToArray$E(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$E(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$E(r, a) : void 0; } }
13459
- function _arrayLikeToArray$E(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
13490
+ function _createForOfIteratorHelper$D(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$D(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
13491
+ function _unsupportedIterableToArray$D(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$D(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$D(r, a) : void 0; } }
13492
+ function _arrayLikeToArray$D(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
13460
13493
 
13461
13494
  /**
13462
13495
  * Resolve which provider name a given widget instance would bind to for
@@ -13488,7 +13521,7 @@ function resolveProviderName(_ref) {
13488
13521
  // array. Support both because different callers shape it either way.
13489
13522
  if (appProviders) {
13490
13523
  if (Array.isArray(appProviders)) {
13491
- var _iterator = _createForOfIteratorHelper$E(appProviders),
13524
+ var _iterator = _createForOfIteratorHelper$D(appProviders),
13492
13525
  _step;
13493
13526
  try {
13494
13527
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -13548,7 +13581,7 @@ function forEachWidget(workspace, visit) {
13548
13581
  };
13549
13582
  var _walk = function walk(items) {
13550
13583
  if (!Array.isArray(items)) return;
13551
- var _iterator2 = _createForOfIteratorHelper$E(items),
13584
+ var _iterator2 = _createForOfIteratorHelper$D(items),
13552
13585
  _step2;
13553
13586
  try {
13554
13587
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
@@ -13589,7 +13622,7 @@ function forEachWidget(workspace, visit) {
13589
13622
  // widgets that only live there (e.g. AI-place writes that bypass
13590
13623
  // the page handler).
13591
13624
  if (Array.isArray(workspace.pages)) {
13592
- var _iterator3 = _createForOfIteratorHelper$E(workspace.pages),
13625
+ var _iterator3 = _createForOfIteratorHelper$D(workspace.pages),
13593
13626
  _step3;
13594
13627
  try {
13595
13628
  for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
@@ -13640,7 +13673,7 @@ function getUnresolvedProviders(_ref2) {
13640
13673
  // the same `type` listed twice (a Claude code-gen quirk), which
13641
13674
  // would otherwise produce duplicate rows in the Providers tab.
13642
13675
  var seenTypes = new Set();
13643
- var _iterator4 = _createForOfIteratorHelper$E(requirements),
13676
+ var _iterator4 = _createForOfIteratorHelper$D(requirements),
13644
13677
  _step4;
13645
13678
  try {
13646
13679
  for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
@@ -13683,7 +13716,7 @@ function getUnresolvedProviders(_ref2) {
13683
13716
  */
13684
13717
  function groupByProviderType(unresolved) {
13685
13718
  var byType = new Map();
13686
- var _iterator5 = _createForOfIteratorHelper$E(unresolved || []),
13719
+ var _iterator5 = _createForOfIteratorHelper$D(unresolved || []),
13687
13720
  _step5;
13688
13721
  try {
13689
13722
  for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
@@ -13725,7 +13758,7 @@ function getAllProviderBindings(_ref3) {
13725
13758
  // quirk) which would otherwise duplicate the per-widget row in
13726
13759
  // the Providers tab.
13727
13760
  var seenTypes = new Set();
13728
- var _iterator6 = _createForOfIteratorHelper$E(requirements),
13761
+ var _iterator6 = _createForOfIteratorHelper$D(requirements),
13729
13762
  _step6;
13730
13763
  try {
13731
13764
  for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
@@ -13767,9 +13800,9 @@ function getAllProviderBindings(_ref3) {
13767
13800
 
13768
13801
  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; }
13769
13802
  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; }
13770
- function _createForOfIteratorHelper$D(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$D(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
13771
- function _unsupportedIterableToArray$D(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$D(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$D(r, a) : void 0; } }
13772
- function _arrayLikeToArray$D(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
13803
+ function _createForOfIteratorHelper$C(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$C(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
13804
+ function _unsupportedIterableToArray$C(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$C(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$C(r, a) : void 0; } }
13805
+ function _arrayLikeToArray$C(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
13773
13806
  var EVENT_STRING_RE = /^([^[]+)\[([^\]]+)\]\.(.+)$/;
13774
13807
 
13775
13808
  /** Parse "Component[itemId].event" → { component, itemId, event }. */
@@ -13939,7 +13972,7 @@ function getCurrentWiring(workspace) {
13939
13972
  // Live format is array; defensive guard for legacy object
13940
13973
  // form (a single source widget keyed under the handler).
13941
13974
  var events = Array.isArray(eventList) ? eventList : typeof eventList === "string" ? [eventList] : [];
13942
- var _iterator = _createForOfIteratorHelper$D(events),
13975
+ var _iterator = _createForOfIteratorHelper$C(events),
13943
13976
  _step;
13944
13977
  try {
13945
13978
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -14002,7 +14035,7 @@ function getOrphanedListeners(workspace, getWidgetConfig) {
14002
14035
  if (!byItemId.has(id)) byItemId.set(id, meta);
14003
14036
  });
14004
14037
  var orphans = [];
14005
- var _iterator2 = _createForOfIteratorHelper$D(wiring),
14038
+ var _iterator2 = _createForOfIteratorHelper$C(wiring),
14006
14039
  _step2;
14007
14040
  try {
14008
14041
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
@@ -14068,7 +14101,7 @@ function pruneDeadListenerReferences(workspace) {
14068
14101
  var liveKeys = new Set();
14069
14102
  var _walkForLive = function walkForLive(items) {
14070
14103
  if (!Array.isArray(items)) return;
14071
- var _iterator3 = _createForOfIteratorHelper$D(items),
14104
+ var _iterator3 = _createForOfIteratorHelper$C(items),
14072
14105
  _step3;
14073
14106
  try {
14074
14107
  for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
@@ -14089,7 +14122,7 @@ function pruneDeadListenerReferences(workspace) {
14089
14122
  };
14090
14123
  _walkForLive(workspace.layout);
14091
14124
  if (Array.isArray(workspace.pages)) {
14092
- var _iterator4 = _createForOfIteratorHelper$D(workspace.pages),
14125
+ var _iterator4 = _createForOfIteratorHelper$C(workspace.pages),
14093
14126
  _step4;
14094
14127
  try {
14095
14128
  for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
@@ -14106,7 +14139,7 @@ function pruneDeadListenerReferences(workspace) {
14106
14139
  var removed = 0;
14107
14140
  var _pruneListeners = function pruneListeners(items) {
14108
14141
  if (!Array.isArray(items)) return;
14109
- var _iterator5 = _createForOfIteratorHelper$D(items),
14142
+ var _iterator5 = _createForOfIteratorHelper$C(items),
14110
14143
  _step5;
14111
14144
  try {
14112
14145
  for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
@@ -14118,7 +14151,7 @@ function pruneDeadListenerReferences(workspace) {
14118
14151
  var events = item.listeners[handler];
14119
14152
  if (!Array.isArray(events)) continue;
14120
14153
  var kept = [];
14121
- var _iterator6 = _createForOfIteratorHelper$D(events),
14154
+ var _iterator6 = _createForOfIteratorHelper$C(events),
14122
14155
  _step6;
14123
14156
  try {
14124
14157
  for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
@@ -14153,7 +14186,7 @@ function pruneDeadListenerReferences(workspace) {
14153
14186
  };
14154
14187
  _pruneListeners(workspace.layout);
14155
14188
  if (Array.isArray(workspace.pages)) {
14156
- var _iterator7 = _createForOfIteratorHelper$D(workspace.pages),
14189
+ var _iterator7 = _createForOfIteratorHelper$C(workspace.pages),
14157
14190
  _step7;
14158
14191
  try {
14159
14192
  for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
@@ -14197,7 +14230,7 @@ function applyWiringChanges(workspace, _ref) {
14197
14230
  });
14198
14231
  return byReceiver.get(id);
14199
14232
  };
14200
- var _iterator8 = _createForOfIteratorHelper$D(adds),
14233
+ var _iterator8 = _createForOfIteratorHelper$C(adds),
14201
14234
  _step8;
14202
14235
  try {
14203
14236
  for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {
@@ -14210,7 +14243,7 @@ function applyWiringChanges(workspace, _ref) {
14210
14243
  } finally {
14211
14244
  _iterator8.f();
14212
14245
  }
14213
- var _iterator9 = _createForOfIteratorHelper$D(removes),
14246
+ var _iterator9 = _createForOfIteratorHelper$C(removes),
14214
14247
  _step9;
14215
14248
  try {
14216
14249
  for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {
@@ -14284,7 +14317,7 @@ function applyToItem(listeners, _ref2) {
14284
14317
  }
14285
14318
 
14286
14319
  // Removes first so a re-add (rare) lands.
14287
- var _iterator0 = _createForOfIteratorHelper$D(removes),
14320
+ var _iterator0 = _createForOfIteratorHelper$C(removes),
14288
14321
  _step0;
14289
14322
  try {
14290
14323
  var _loop = function _loop() {
@@ -14313,7 +14346,7 @@ function applyToItem(listeners, _ref2) {
14313
14346
  } finally {
14314
14347
  _iterator0.f();
14315
14348
  }
14316
- var _iterator1 = _createForOfIteratorHelper$D(adds),
14349
+ var _iterator1 = _createForOfIteratorHelper$C(adds),
14317
14350
  _step1;
14318
14351
  try {
14319
14352
  for (_iterator1.s(); !(_step1 = _iterator1.n()).done;) {
@@ -17357,9 +17390,9 @@ function mcpJsonToFormState(jsonString, nextRowId) {
17357
17390
  return result;
17358
17391
  }
17359
17392
 
17360
- function _createForOfIteratorHelper$C(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$C(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
17361
- function _unsupportedIterableToArray$C(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$C(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$C(r, a) : void 0; } }
17362
- function _arrayLikeToArray$C(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
17393
+ function _createForOfIteratorHelper$B(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$B(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
17394
+ function _unsupportedIterableToArray$B(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$B(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$B(r, a) : void 0; } }
17395
+ function _arrayLikeToArray$B(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
17363
17396
  function ownKeys$T(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
17364
17397
  function _objectSpread$T(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$T(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$T(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
17365
17398
  var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
@@ -17644,11 +17677,11 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
17644
17677
 
17645
17678
  // Flatten all widgets from all packages for the widget list
17646
17679
  flatWidgets = [];
17647
- _iterator = _createForOfIteratorHelper$C(result.packages || []);
17680
+ _iterator = _createForOfIteratorHelper$B(result.packages || []);
17648
17681
  try {
17649
17682
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
17650
17683
  pkg = _step.value;
17651
- _iterator2 = _createForOfIteratorHelper$C(pkg.widgets || []);
17684
+ _iterator2 = _createForOfIteratorHelper$B(pkg.widgets || []);
17652
17685
  try {
17653
17686
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
17654
17687
  widget = _step2.value;
@@ -19575,9 +19608,9 @@ var useWidgetSchedulerStatus = function useWidgetSchedulerStatus(widgetId) {
19575
19608
  };
19576
19609
  };
19577
19610
 
19578
- function _createForOfIteratorHelper$B(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$B(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
19579
- function _unsupportedIterableToArray$B(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$B(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$B(r, a) : void 0; } }
19580
- function _arrayLikeToArray$B(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
19611
+ 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; } } }; }
19612
+ 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; } }
19613
+ 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; }
19581
19614
  function formatCountdown(ms) {
19582
19615
  if (ms == null || ms < 0) return "--";
19583
19616
  if (ms < 1000) return "< 1s";
@@ -19694,7 +19727,7 @@ var WidgetCardStatusBar = function WidgetCardStatusBar(_ref) {
19694
19727
 
19695
19728
  // Find soonest countdown among enabled tasks
19696
19729
  var soonestMs = null;
19697
- var _iterator = _createForOfIteratorHelper$B(enabledTasks),
19730
+ var _iterator = _createForOfIteratorHelper$A(enabledTasks),
19698
19731
  _step;
19699
19732
  try {
19700
19733
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -25265,9 +25298,9 @@ var ExternalWidget = function ExternalWidget(_ref) {
25265
25298
  var GRID_CELL_WIDGET_TYPE = "grid-cell-widget";
25266
25299
  var SIDEBAR_WIDGET_TYPE = "sidebar-widget";
25267
25300
 
25268
- 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; } } }; }
25269
- 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; } }
25270
- 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; }
25301
+ 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; } } }; }
25302
+ 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; } }
25303
+ 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; }
25271
25304
  function ownKeys$K(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; }
25272
25305
  function _objectSpread$K(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$K(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$K(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
25273
25306
 
@@ -25890,7 +25923,7 @@ var LayoutGridContainer = /*#__PURE__*/memo(function (_ref3) {
25890
25923
  return selectable["delete"](cn);
25891
25924
  });
25892
25925
  var resolved = new Set();
25893
- var _iterator = _createForOfIteratorHelper$A(selectable),
25926
+ var _iterator = _createForOfIteratorHelper$z(selectable),
25894
25927
  _step;
25895
25928
  try {
25896
25929
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -28299,9 +28332,9 @@ function migrateBareComponentName(componentMap, component) {
28299
28332
 
28300
28333
  function ownKeys$I(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; }
28301
28334
  function _objectSpread$I(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$I(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$I(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
28302
- 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; } } }; }
28303
- 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; } }
28304
- 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; }
28335
+ 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; } } }; }
28336
+ 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; } }
28337
+ 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; }
28305
28338
  /**
28306
28339
  * The model for all layout components used primarily in the renderLayout method
28307
28340
  * @param {Object} layoutItem an object containing various attributes of the layout item
@@ -28313,7 +28346,7 @@ function _arrayLikeToArray$z(r, a) { (null == a || a > r.length) && (a = r.lengt
28313
28346
  function sortObjectByKeys(obj) {
28314
28347
  var sortedKeys = Object.keys(obj).sort();
28315
28348
  var sortedObj = {};
28316
- var _iterator = _createForOfIteratorHelper$z(sortedKeys),
28349
+ var _iterator = _createForOfIteratorHelper$y(sortedKeys),
28317
28350
  _step;
28318
28351
  try {
28319
28352
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -28631,9 +28664,9 @@ var SettingsModel = function SettingsModel() {
28631
28664
  return obj;
28632
28665
  };
28633
28666
 
28634
- 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; } } }; }
28635
- 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; } }
28636
- 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; }
28667
+ 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; } } }; }
28668
+ 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; } }
28669
+ 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; }
28637
28670
 
28638
28671
  /**
28639
28672
  * Workspace-level pre-pass that migrates legacy bare component
@@ -28708,7 +28741,7 @@ function migrateScopedIdsInWorkspace(workspace, componentMap) {
28708
28741
  };
28709
28742
  var _walk = function walk(items) {
28710
28743
  if (!Array.isArray(items)) return;
28711
- var _iterator = _createForOfIteratorHelper$y(items),
28744
+ var _iterator = _createForOfIteratorHelper$x(items),
28712
28745
  _step;
28713
28746
  try {
28714
28747
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -28730,7 +28763,7 @@ function migrateScopedIdsInWorkspace(workspace, componentMap) {
28730
28763
  };
28731
28764
  _walk(workspace.layout);
28732
28765
  if (Array.isArray(workspace.pages)) {
28733
- var _iterator2 = _createForOfIteratorHelper$y(workspace.pages),
28766
+ var _iterator2 = _createForOfIteratorHelper$x(workspace.pages),
28734
28767
  _step2;
28735
28768
  try {
28736
28769
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
@@ -28747,9 +28780,9 @@ function migrateScopedIdsInWorkspace(workspace, componentMap) {
28747
28780
  return counts;
28748
28781
  }
28749
28782
 
28750
- 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; } } }; }
28751
- 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; } }
28752
- 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; }
28783
+ 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; } } }; }
28784
+ 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; } }
28785
+ 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; }
28753
28786
  /**
28754
28787
  * cleanForeignWidgetsFromWorkspace.js
28755
28788
  *
@@ -28790,7 +28823,7 @@ function cleanForeignWidgetsFromWorkspace(workspace) {
28790
28823
  var _cleanList = function cleanList(items) {
28791
28824
  if (!Array.isArray(items)) return items;
28792
28825
  var kept = [];
28793
- var _iterator = _createForOfIteratorHelper$x(items),
28826
+ var _iterator = _createForOfIteratorHelper$w(items),
28794
28827
  _step;
28795
28828
  try {
28796
28829
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -28827,7 +28860,7 @@ function cleanForeignWidgetsFromWorkspace(workspace) {
28827
28860
  workspace.sidebarLayout = _cleanList(workspace.sidebarLayout);
28828
28861
  }
28829
28862
  if (Array.isArray(workspace.pages)) {
28830
- var _iterator2 = _createForOfIteratorHelper$x(workspace.pages),
28863
+ var _iterator2 = _createForOfIteratorHelper$w(workspace.pages),
28831
28864
  _step2;
28832
28865
  try {
28833
28866
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
@@ -28845,9 +28878,9 @@ function cleanForeignWidgetsFromWorkspace(workspace) {
28845
28878
  return summary;
28846
28879
  }
28847
28880
 
28848
- 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; } } }; }
28849
- 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; } }
28850
- 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; }
28881
+ 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; } } }; }
28882
+ 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; } }
28883
+ 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; }
28851
28884
  /**
28852
28885
  * migrateLayoutItemTypes.js
28853
28886
  *
@@ -28909,7 +28942,7 @@ function migrateLayoutItemTypes(workspace) {
28909
28942
  };
28910
28943
  var _walk = function walk(items) {
28911
28944
  if (!Array.isArray(items)) return;
28912
- var _iterator = _createForOfIteratorHelper$w(items),
28945
+ var _iterator = _createForOfIteratorHelper$v(items),
28913
28946
  _step;
28914
28947
  try {
28915
28948
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -28927,7 +28960,7 @@ function migrateLayoutItemTypes(workspace) {
28927
28960
  };
28928
28961
  _walk(workspace.layout);
28929
28962
  if (Array.isArray(workspace.pages)) {
28930
- var _iterator2 = _createForOfIteratorHelper$w(workspace.pages),
28963
+ var _iterator2 = _createForOfIteratorHelper$v(workspace.pages),
28931
28964
  _step2;
28932
28965
  try {
28933
28966
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
@@ -29484,9 +29517,9 @@ var ThemeModel = function ThemeModel() {
29484
29517
  }
29485
29518
  };
29486
29519
 
29487
- 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; } } }; }
29488
- 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; } }
29489
- 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; }
29520
+ 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; } } }; }
29521
+ 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; } }
29522
+ 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; }
29490
29523
  /*
29491
29524
  "component": AnalyticsReportsWidget,
29492
29525
  "type":"widget",
@@ -29604,7 +29637,7 @@ var ComponentConfigModel = function ComponentConfigModel() {
29604
29637
  if ("providers" in obj && Array.isArray(obj.providers)) {
29605
29638
  var seen = new Set();
29606
29639
  var cleaned = [];
29607
- var _iterator = _createForOfIteratorHelper$v(obj.providers),
29640
+ var _iterator = _createForOfIteratorHelper$u(obj.providers),
29608
29641
  _step;
29609
29642
  try {
29610
29643
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -29650,9 +29683,9 @@ var MenuItemModel = function MenuItemModel() {
29650
29683
  return m;
29651
29684
  };
29652
29685
 
29653
- 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; } } }; }
29654
- 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; } }
29655
- 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; }
29686
+ 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; } } }; }
29687
+ 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; } }
29688
+ 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; }
29656
29689
  function ownKeys$G(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
29657
29690
  function _objectSpread$G(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$G(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$G(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
29658
29691
  /**
@@ -29712,7 +29745,7 @@ function mergeGridCellsOp(grid, cellNumbers, keepComponentId) {
29712
29745
  maxRow = -Infinity;
29713
29746
  var minCol = Infinity,
29714
29747
  maxCol = -Infinity;
29715
- var _iterator = _createForOfIteratorHelper$u(cellNumbers),
29748
+ var _iterator = _createForOfIteratorHelper$t(cellNumbers),
29716
29749
  _step;
29717
29750
  try {
29718
29751
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -29736,7 +29769,7 @@ function mergeGridCellsOp(grid, cellNumbers, keepComponentId) {
29736
29769
  } finally {
29737
29770
  _iterator.f();
29738
29771
  }
29739
- var _iterator2 = _createForOfIteratorHelper$u(cellNumbers),
29772
+ var _iterator2 = _createForOfIteratorHelper$t(cellNumbers),
29740
29773
  _step2;
29741
29774
  try {
29742
29775
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
@@ -29778,7 +29811,7 @@ function mergeGridCellsOp(grid, cellNumbers, keepComponentId) {
29778
29811
  _iterator2.f();
29779
29812
  }
29780
29813
  var componentsInRange = [];
29781
- var _iterator3 = _createForOfIteratorHelper$u(cellNumbers),
29814
+ var _iterator3 = _createForOfIteratorHelper$t(cellNumbers),
29782
29815
  _step3;
29783
29816
  try {
29784
29817
  for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
@@ -29816,7 +29849,7 @@ function mergeGridCellsOp(grid, cellNumbers, keepComponentId) {
29816
29849
  // other selected cells get hidden and have their component refs
29817
29850
  // cleared (so a stale ref in a hidden cell never re-renders).
29818
29851
  var keepCell = cellNumbers[0];
29819
- var _iterator4 = _createForOfIteratorHelper$u(cellNumbers),
29852
+ var _iterator4 = _createForOfIteratorHelper$t(cellNumbers),
29820
29853
  _step4;
29821
29854
  try {
29822
29855
  for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
@@ -30346,9 +30379,9 @@ function deleteGridColumnOp(grid, colNumber) {
30346
30379
  };
30347
30380
  }
30348
30381
 
30349
- 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; } } }; }
30350
- 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; } }
30351
- 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; }
30382
+ 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; } } }; }
30383
+ 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; } }
30384
+ 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; }
30352
30385
  /**
30353
30386
  * A Model for a Workspace (Dashboard)
30354
30387
  * The Dashboard in this instance is the entire Layout inclusive of the workspaces and widgets
@@ -30420,7 +30453,7 @@ var DashboardModel = /*#__PURE__*/function () {
30420
30453
 
30421
30454
  // Also normalize grids within pages
30422
30455
  if (this.pages.length > 0) {
30423
- var _iterator = _createForOfIteratorHelper$t(this.pages),
30456
+ var _iterator = _createForOfIteratorHelper$s(this.pages),
30424
30457
  _step;
30425
30458
  try {
30426
30459
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -31820,7 +31853,7 @@ var DashboardModel = /*#__PURE__*/function () {
31820
31853
  // destructive-delete behavior.
31821
31854
  var result = deleteGridRowOp(gridContainer.grid, rowNumber);
31822
31855
  gridContainer.grid = result.grid;
31823
- var _iterator2 = _createForOfIteratorHelper$t(result.orphanedComponents),
31856
+ var _iterator2 = _createForOfIteratorHelper$s(result.orphanedComponents),
31824
31857
  _step2;
31825
31858
  try {
31826
31859
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
@@ -31919,7 +31952,7 @@ var DashboardModel = /*#__PURE__*/function () {
31919
31952
  // Slice 11: pure helper.
31920
31953
  var result = deleteGridColumnOp(gridContainer.grid, colNumber);
31921
31954
  gridContainer.grid = result.grid;
31922
- var _iterator3 = _createForOfIteratorHelper$t(result.orphanedComponents),
31955
+ var _iterator3 = _createForOfIteratorHelper$s(result.orphanedComponents),
31923
31956
  _step3;
31924
31957
  try {
31925
31958
  for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
@@ -32014,7 +32047,7 @@ var DashboardModel = /*#__PURE__*/function () {
32014
32047
  try {
32015
32048
  // Collect all item IDs actively referenced by grid cells
32016
32049
  var activeItemIds = new Set();
32017
- var _iterator4 = _createForOfIteratorHelper$t(this.layout),
32050
+ var _iterator4 = _createForOfIteratorHelper$s(this.layout),
32018
32051
  _step4;
32019
32052
  try {
32020
32053
  for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
@@ -32054,7 +32087,7 @@ var DashboardModel = /*#__PURE__*/function () {
32054
32087
  });
32055
32088
 
32056
32089
  // Clean listener references on remaining items for each removed orphan
32057
- var _iterator5 = _createForOfIteratorHelper$t(orphanedIds),
32090
+ var _iterator5 = _createForOfIteratorHelper$s(orphanedIds),
32058
32091
  _step5;
32059
32092
  try {
32060
32093
  for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
@@ -32875,9 +32908,9 @@ var useDashboard = function useDashboard() {
32875
32908
  });
32876
32909
  };
32877
32910
 
32878
- 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; } } }; }
32879
- 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; } }
32880
- 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; }
32911
+ 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; } } }; }
32912
+ 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; } }
32913
+ 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; }
32881
32914
 
32882
32915
  /**
32883
32916
  * useWidgetProviders Hook
@@ -32940,7 +32973,7 @@ var useWidgetProviders = function useWidgetProviders() {
32940
32973
  // 2. Workspace-level: stored as workspace.selectedProviders[widgetId][providerType]
32941
32974
  // 3. App-default: any provider in AppContext.providers flagged isDefaultForType
32942
32975
  var providers = {};
32943
- var _iterator = _createForOfIteratorHelper$s(providerDeclarations),
32976
+ var _iterator = _createForOfIteratorHelper$r(providerDeclarations),
32944
32977
  _step;
32945
32978
  try {
32946
32979
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -32999,9 +33032,9 @@ var useWidgetProviders = function useWidgetProviders() {
32999
33032
  };
33000
33033
  };
33001
33034
 
33002
- 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; } } }; }
33003
- 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; } }
33004
- 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; }
33035
+ 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; } } }; }
33036
+ 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; } }
33037
+ 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; }
33005
33038
 
33006
33039
  /**
33007
33040
  * Module-level shared state for MCP server connections.
@@ -33056,7 +33089,7 @@ function unionPathScope(grants, serverName) {
33056
33089
  allowedPaths: []
33057
33090
  };
33058
33091
  }
33059
- var _iterator = _createForOfIteratorHelper$r(grants),
33092
+ var _iterator = _createForOfIteratorHelper$q(grants),
33060
33093
  _step;
33061
33094
  try {
33062
33095
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -33069,7 +33102,7 @@ function unionPathScope(grants, serverName) {
33069
33102
  var serverPerms = servers[serverName];
33070
33103
  if (!serverPerms || _typeof(serverPerms) !== "object") continue;
33071
33104
  if (Array.isArray(serverPerms.readPaths)) {
33072
- var _iterator2 = _createForOfIteratorHelper$r(serverPerms.readPaths),
33105
+ var _iterator2 = _createForOfIteratorHelper$q(serverPerms.readPaths),
33073
33106
  _step2;
33074
33107
  try {
33075
33108
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
@@ -33083,7 +33116,7 @@ function unionPathScope(grants, serverName) {
33083
33116
  }
33084
33117
  }
33085
33118
  if (Array.isArray(serverPerms.writePaths)) {
33086
- var _iterator3 = _createForOfIteratorHelper$r(serverPerms.writePaths),
33119
+ var _iterator3 = _createForOfIteratorHelper$q(serverPerms.writePaths),
33087
33120
  _step3;
33088
33121
  try {
33089
33122
  for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
@@ -33478,7 +33511,7 @@ var useMcpProvider = function useMcpProvider(providerType) {
33478
33511
  consumerCount: 0
33479
33512
  });
33480
33513
  reject(err);
33481
- }, workspaceId, pathScope);
33514
+ }, workspaceId, pathScope, app === null || app === void 0 ? void 0 : app.appId);
33482
33515
  });
33483
33516
  pendingConnects$1.set(stateKey, connectPromise);
33484
33517
  _context.prev = 24;
@@ -33886,9 +33919,9 @@ var useNotifications = function useNotifications() {
33886
33919
  };
33887
33920
  };
33888
33921
 
33889
- 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; } } }; }
33890
- 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; } }
33891
- 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; }
33922
+ 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; } } }; }
33923
+ 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; } }
33924
+ 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; }
33892
33925
 
33893
33926
  /**
33894
33927
  * useScheduler Hook
@@ -33961,7 +33994,7 @@ var useScheduler = function useScheduler() {
33961
33994
  if (pending && pending.length > 0) {
33962
33995
  setPendingResults(pending);
33963
33996
  // Call handlers for each pending result
33964
- var _iterator = _createForOfIteratorHelper$q(pending),
33997
+ var _iterator = _createForOfIteratorHelper$p(pending),
33965
33998
  _step;
33966
33999
  try {
33967
34000
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -35200,9 +35233,9 @@ var CustomHexColorPane = function CustomHexColorPane(_ref) {
35200
35233
  });
35201
35234
  };
35202
35235
 
35203
- 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; } } }; }
35204
- 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; } }
35205
- 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; }
35236
+ 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; } } }; }
35237
+ 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; } }
35238
+ 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; }
35206
35239
  function rgbDistSq(a, b) {
35207
35240
  var dr = a.r - b.r;
35208
35241
  var dg = a.g - b.g;
@@ -35220,13 +35253,13 @@ function nearestSwatch(hex, families) {
35220
35253
  var target = hexToRgb$1(hex);
35221
35254
  if (!target) return null;
35222
35255
  var best = null;
35223
- var _iterator = _createForOfIteratorHelper$p(families),
35256
+ var _iterator = _createForOfIteratorHelper$o(families),
35224
35257
  _step;
35225
35258
  try {
35226
35259
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
35227
35260
  var family = _step.value;
35228
35261
  var grid = getCuratedColorGrid(family) || [];
35229
- var _iterator2 = _createForOfIteratorHelper$p(grid),
35262
+ var _iterator2 = _createForOfIteratorHelper$o(grid),
35230
35263
  _step2;
35231
35264
  try {
35232
35265
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
@@ -39849,9 +39882,9 @@ var ThemeManagerModal = function ThemeManagerModal(_ref) {
39849
39882
 
39850
39883
  function ownKeys$z(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
39851
39884
  function _objectSpread$z(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$z(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$z(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
39852
- 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; } } }; }
39853
- 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; } }
39854
- 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; }
39885
+ 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; } } }; }
39886
+ 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; } }
39887
+ 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; }
39855
39888
  var DASHBOARD_TAGS = ["productivity", "monitoring", "analytics", "communication", "developer", "sales", "marketing", "finance", "project-management", "social", "news", "utilities"];
39856
39889
  var BUMP_OPTIONS$1 = [{
39857
39890
  value: "patch",
@@ -39925,7 +39958,7 @@ function collectComponentConfigs() {
39925
39958
  // fixed "reference" entry.
39926
39959
  function seedSelections(plan, dashboardVisibility) {
39927
39960
  var selections = {};
39928
- var _iterator = _createForOfIteratorHelper$o(plan.widgets || []),
39961
+ var _iterator = _createForOfIteratorHelper$n(plan.widgets || []),
39929
39962
  _step;
39930
39963
  try {
39931
39964
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -40264,7 +40297,7 @@ var PublishDashboardModal = function PublishDashboardModal(_ref) {
40264
40297
  useEffect(function () {
40265
40298
  if (!isOpen || step !== 5 || !plan || defaultsLoading) return;
40266
40299
  var packagesToScan = [];
40267
- var _iterator2 = _createForOfIteratorHelper$o(plan.widgets || []),
40300
+ var _iterator2 = _createForOfIteratorHelper$n(plan.widgets || []),
40268
40301
  _step2;
40269
40302
  try {
40270
40303
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
@@ -40303,7 +40336,7 @@ var PublishDashboardModal = function PublishDashboardModal(_ref) {
40303
40336
  })).then(function (results) {
40304
40337
  setDefaultsByPackage(function (prev) {
40305
40338
  var next = _objectSpread$z({}, prev);
40306
- var _iterator3 = _createForOfIteratorHelper$o(results),
40339
+ var _iterator3 = _createForOfIteratorHelper$n(results),
40307
40340
  _step3;
40308
40341
  try {
40309
40342
  for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
@@ -40385,7 +40418,7 @@ var PublishDashboardModal = function PublishDashboardModal(_ref) {
40385
40418
  break;
40386
40419
  }
40387
40420
  seenPackages = new Set();
40388
- _iterator4 = _createForOfIteratorHelper$o(plan.widgets || []);
40421
+ _iterator4 = _createForOfIteratorHelper$n(plan.widgets || []);
40389
40422
  _context2.prev = 2;
40390
40423
  _iterator4.s();
40391
40424
  case 3:
@@ -41297,7 +41330,7 @@ function DependencyTable(_ref4) {
41297
41330
  // row. Each row shows the list of component widgets that live inside it
41298
41331
  // so the user knows what's getting published.
41299
41332
  var byKey = new Map();
41300
- var _iterator5 = _createForOfIteratorHelper$o(plan.widgets || []),
41333
+ var _iterator5 = _createForOfIteratorHelper$n(plan.widgets || []),
41301
41334
  _step6;
41302
41335
  try {
41303
41336
  for (_iterator5.s(); !(_step6 = _iterator5.n()).done;) {
@@ -41468,7 +41501,7 @@ function DefaultsReviewList(_ref6) {
41468
41501
  // stays aligned with Dependencies — no surprises about WHICH
41469
41502
  // package's defaults you're editing.
41470
41503
  var rows = [];
41471
- var _iterator6 = _createForOfIteratorHelper$o((plan === null || plan === void 0 ? void 0 : plan.widgets) || []),
41504
+ var _iterator6 = _createForOfIteratorHelper$n((plan === null || plan === void 0 ? void 0 : plan.widgets) || []),
41472
41505
  _step7;
41473
41506
  try {
41474
41507
  for (_iterator6.s(); !(_step7 = _iterator6.n()).done;) {
@@ -43333,7 +43366,7 @@ var ProviderDetail = function ProviderDetail(_ref) {
43333
43366
  });
43334
43367
  };
43335
43368
 
43336
- var _excluded$1 = ["transport", "command", "args", "envMapping", "url", "headerTemplate", "headers"];
43369
+ var _excluded$1 = ["transport", "command", "args", "envMapping", "url", "headerTemplate", "headers", "auth", "oauth"];
43337
43370
  function ownKeys$v(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
43338
43371
  function _objectSpread$v(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$v(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$v(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
43339
43372
  var DirectoryListField = function DirectoryListField(_ref) {
@@ -43461,9 +43494,20 @@ function buildMcpConfig(transport, _ref3) {
43461
43494
  args = _ref3.args,
43462
43495
  envMappingRows = _ref3.envMappingRows,
43463
43496
  url = _ref3.url,
43464
- headerRows = _ref3.headerRows;
43497
+ headerRows = _ref3.headerRows,
43498
+ _ref3$authType = _ref3.authType,
43499
+ authType = _ref3$authType === void 0 ? "apiKey" : _ref3$authType,
43500
+ _ref3$oauthScopes = _ref3.oauthScopes,
43501
+ oauthScopes = _ref3$oauthScopes === void 0 ? "" : _ref3$oauthScopes,
43502
+ _ref3$oauthClientId = _ref3.oauthClientId,
43503
+ oauthClientId = _ref3$oauthClientId === void 0 ? "" : _ref3$oauthClientId,
43504
+ _ref3$oauthClientSecr = _ref3.oauthClientSecret,
43505
+ oauthClientSecret = _ref3$oauthClientSecr === void 0 ? "" : _ref3$oauthClientSecr;
43465
43506
  var baseConfig = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
43466
43507
  // Everything on baseConfig that the form doesn't own gets preserved.
43508
+ // `auth`/`oauth` are owned by the form's auth-type selector, so they're
43509
+ // excluded here and re-emitted below based on the current selection
43510
+ // (this is how toggling away from OAuth clears them).
43467
43511
  baseConfig.transport;
43468
43512
  baseConfig.command;
43469
43513
  baseConfig.args;
@@ -43471,6 +43515,8 @@ function buildMcpConfig(transport, _ref3) {
43471
43515
  baseConfig.url;
43472
43516
  baseConfig.headerTemplate;
43473
43517
  baseConfig.headers;
43518
+ baseConfig.auth;
43519
+ baseConfig.oauth;
43474
43520
  var passThrough = _objectWithoutProperties(baseConfig, _excluded$1);
43475
43521
  if (transport === "stdio") {
43476
43522
  var envMapping = {};
@@ -43490,6 +43536,23 @@ function buildMcpConfig(transport, _ref3) {
43490
43536
  }
43491
43537
 
43492
43538
  // streamable_http
43539
+ var config = _objectSpread$v(_objectSpread$v({}, passThrough), {}, {
43540
+ transport: "streamable_http",
43541
+ url: url.trim()
43542
+ });
43543
+ if (authType === "oauth") {
43544
+ // Interactive OAuth 2.0 (SDK-native). Scopes optional; clientId/secret
43545
+ // only for servers without Dynamic Client Registration.
43546
+ config.auth = "oauth";
43547
+ var oauth = {};
43548
+ if (oauthScopes.trim()) oauth.scopes = oauthScopes.trim();
43549
+ if (oauthClientId.trim()) oauth.clientId = oauthClientId.trim();
43550
+ if (oauthClientSecret.trim()) oauth.clientSecret = oauthClientSecret.trim();
43551
+ config.oauth = oauth;
43552
+ return config;
43553
+ }
43554
+
43555
+ // apiKey (header template) — also the path for "none" (no headers added)
43493
43556
  var headerTemplate = {};
43494
43557
  headerRows.forEach(function (row) {
43495
43558
  var name = row.headerName.trim();
@@ -43498,11 +43561,7 @@ function buildMcpConfig(transport, _ref3) {
43498
43561
  headerTemplate[name] = value;
43499
43562
  }
43500
43563
  });
43501
- var config = _objectSpread$v(_objectSpread$v({}, passThrough), {}, {
43502
- transport: "streamable_http",
43503
- url: url.trim()
43504
- });
43505
- if (Object.keys(headerTemplate).length > 0) {
43564
+ if (authType === "apiKey" && Object.keys(headerTemplate).length > 0) {
43506
43565
  config.headerTemplate = headerTemplate;
43507
43566
  }
43508
43567
  return config;
@@ -43531,7 +43590,7 @@ function buildMcpConfig(transport, _ref3) {
43531
43590
  * preserved verbatim on save so editing never silently drops them.
43532
43591
  */
43533
43592
  var CustomMcpServerForm = function CustomMcpServerForm(_ref4) {
43534
- var _testResult$tools;
43593
+ var _initialMcpConfig$oau, _initialMcpConfig$oau2, _initialMcpConfig$oau3, _initialMcpConfig$oau4, _initialMcpConfig$oau5, _testResult$tools;
43535
43594
  var onSave = _ref4.onSave,
43536
43595
  onBack = _ref4.onBack,
43537
43596
  _ref4$isEditMode = _ref4.isEditMode,
@@ -43617,41 +43676,67 @@ var CustomMcpServerForm = function CustomMcpServerForm(_ref4) {
43617
43676
  headerRows = _useState22[0],
43618
43677
  setHeaderRows = _useState22[1];
43619
43678
 
43620
- // Tool selection state
43621
- var _useState23 = useState(initialAllowedTools),
43679
+ // HTTP auth type: "none" | "apiKey" | "oauth"
43680
+ var _useState23 = useState(function () {
43681
+ var cfg = initialMcpConfig || {};
43682
+ if (cfg.auth === "oauth" || cfg.oauth) return "oauth";
43683
+ return "apiKey";
43684
+ }),
43622
43685
  _useState24 = _slicedToArray(_useState23, 2),
43623
- selectedTools = _useState24[0],
43624
- setSelectedTools = _useState24[1];
43625
-
43626
- // Wizard step state
43627
- var _useState25 = useState(0),
43686
+ authType = _useState24[0],
43687
+ setAuthType = _useState24[1];
43688
+ var _useState25 = useState((initialMcpConfig === null || initialMcpConfig === void 0 || (_initialMcpConfig$oau = initialMcpConfig.oauth) === null || _initialMcpConfig$oau === void 0 ? void 0 : _initialMcpConfig$oau.scopes) || ""),
43628
43689
  _useState26 = _slicedToArray(_useState25, 2),
43629
- wizardStep = _useState26[0],
43630
- setWizardStep = _useState26[1];
43631
-
43632
- // Auth state
43633
- var _useState27 = useState(false),
43690
+ oauthScopes = _useState26[0],
43691
+ setOauthScopes = _useState26[1];
43692
+ var _useState27 = useState((initialMcpConfig === null || initialMcpConfig === void 0 || (_initialMcpConfig$oau2 = initialMcpConfig.oauth) === null || _initialMcpConfig$oau2 === void 0 ? void 0 : _initialMcpConfig$oau2.clientId) || ""),
43634
43693
  _useState28 = _slicedToArray(_useState27, 2),
43635
- isAuthorizing = _useState28[0],
43636
- setIsAuthorizing = _useState28[1];
43637
- var _useState29 = useState(null),
43694
+ oauthClientId = _useState28[0],
43695
+ setOauthClientId = _useState28[1];
43696
+ var _useState29 = useState((initialMcpConfig === null || initialMcpConfig === void 0 || (_initialMcpConfig$oau3 = initialMcpConfig.oauth) === null || _initialMcpConfig$oau3 === void 0 ? void 0 : _initialMcpConfig$oau3.clientSecret) || ""),
43638
43697
  _useState30 = _slicedToArray(_useState29, 2),
43639
- authResult = _useState30[0],
43640
- setAuthResult = _useState30[1];
43641
-
43642
- // JSON editor state
43643
- var _useState31 = useState("form"),
43698
+ oauthClientSecret = _useState30[0],
43699
+ setOauthClientSecret = _useState30[1];
43700
+ var _useState31 = useState(!!(initialMcpConfig !== null && initialMcpConfig !== void 0 && (_initialMcpConfig$oau4 = initialMcpConfig.oauth) !== null && _initialMcpConfig$oau4 !== void 0 && _initialMcpConfig$oau4.clientId || initialMcpConfig !== null && initialMcpConfig !== void 0 && (_initialMcpConfig$oau5 = initialMcpConfig.oauth) !== null && _initialMcpConfig$oau5 !== void 0 && _initialMcpConfig$oau5.clientSecret)),
43644
43701
  _useState32 = _slicedToArray(_useState31, 2),
43645
- viewMode = _useState32[0],
43646
- setViewMode = _useState32[1]; // "form" | "json"
43647
- var _useState33 = useState(""),
43702
+ showOauthAdvanced = _useState32[0],
43703
+ setShowOauthAdvanced = _useState32[1];
43704
+
43705
+ // Tool selection state
43706
+ var _useState33 = useState(initialAllowedTools),
43648
43707
  _useState34 = _slicedToArray(_useState33, 2),
43649
- jsonText = _useState34[0],
43650
- setJsonText = _useState34[1];
43651
- var _useState35 = useState(null),
43708
+ selectedTools = _useState34[0],
43709
+ setSelectedTools = _useState34[1];
43710
+
43711
+ // Wizard step state
43712
+ var _useState35 = useState(0),
43652
43713
  _useState36 = _slicedToArray(_useState35, 2),
43653
- jsonError = _useState36[0],
43654
- setJsonError = _useState36[1];
43714
+ wizardStep = _useState36[0],
43715
+ setWizardStep = _useState36[1];
43716
+
43717
+ // Auth state
43718
+ var _useState37 = useState(false),
43719
+ _useState38 = _slicedToArray(_useState37, 2),
43720
+ isAuthorizing = _useState38[0],
43721
+ setIsAuthorizing = _useState38[1];
43722
+ var _useState39 = useState(null),
43723
+ _useState40 = _slicedToArray(_useState39, 2),
43724
+ authResult = _useState40[0],
43725
+ setAuthResult = _useState40[1];
43726
+
43727
+ // JSON editor state
43728
+ var _useState41 = useState("form"),
43729
+ _useState42 = _slicedToArray(_useState41, 2),
43730
+ viewMode = _useState42[0],
43731
+ setViewMode = _useState42[1]; // "form" | "json"
43732
+ var _useState43 = useState(""),
43733
+ _useState44 = _slicedToArray(_useState43, 2),
43734
+ jsonText = _useState44[0],
43735
+ setJsonText = _useState44[1];
43736
+ var _useState45 = useState(null),
43737
+ _useState46 = _slicedToArray(_useState45, 2),
43738
+ jsonError = _useState46[0],
43739
+ setJsonError = _useState46[1];
43655
43740
 
43656
43741
  // Clear credential data when transport changes (derived fields change entirely)
43657
43742
  // Only in create mode — in edit mode the initial transport is set correctly
@@ -43663,8 +43748,11 @@ var CustomMcpServerForm = function CustomMcpServerForm(_ref4) {
43663
43748
  }
43664
43749
  }, [transport, isEditMode]);
43665
43750
 
43666
- // Dynamic wizard steps based on whether auth is needed
43667
- var hasAuth = !!initialAuthCommand;
43751
+ // Dynamic wizard steps based on whether auth is needed. Either a
43752
+ // catalog-provided subprocess authCommand (legacy) or an OAuth 2.0
43753
+ // custom server adds an "Authorize" step before Test & Tools.
43754
+ var isOAuth = transport === "streamable_http" && authType === "oauth";
43755
+ var hasAuth = !!initialAuthCommand || isOAuth;
43668
43756
  var wizardSteps = hasAuth ? ["configure", "authorize", "testTools"] : ["configure", "testTools"];
43669
43757
  var totalSteps = wizardSteps.length;
43670
43758
  var currentStepType = wizardSteps[wizardStep];
@@ -43693,9 +43781,13 @@ var CustomMcpServerForm = function CustomMcpServerForm(_ref4) {
43693
43781
  args: args,
43694
43782
  envMappingRows: envMappingRows,
43695
43783
  url: url,
43696
- headerRows: headerRows
43784
+ headerRows: headerRows,
43785
+ authType: authType,
43786
+ oauthScopes: oauthScopes,
43787
+ oauthClientId: oauthClientId,
43788
+ oauthClientSecret: oauthClientSecret
43697
43789
  }, initialMcpConfig || {});
43698
- }, [transport, command, args, envMappingRows, url, headerRows, initialMcpConfig]);
43790
+ }, [transport, command, args, envMappingRows, url, headerRows, authType, oauthScopes, oauthClientId, oauthClientSecret, initialMcpConfig]);
43699
43791
 
43700
43792
  // Invalidate test result when config changes after a test
43701
43793
  var mcpConfigRef = useRef(mcpConfig);
@@ -43893,10 +43985,10 @@ var CustomMcpServerForm = function CustomMcpServerForm(_ref4) {
43893
43985
 
43894
43986
  // --- authorize (OAuth browser flow) ---
43895
43987
  var handleAuthorize = function handleAuthorize() {
43896
- if (!dashApi || !initialAuthCommand) return;
43988
+ if (!dashApi) return;
43897
43989
  setIsAuthorizing(true);
43898
43990
  setAuthResult(null);
43899
- dashApi.mcpRunAuth(mcpConfig, credentialData, initialAuthCommand, function (event, result) {
43991
+ var onComplete = function onComplete(event, result) {
43900
43992
  if (result.error) {
43901
43993
  setAuthResult({
43902
43994
  success: false,
@@ -43909,13 +44001,22 @@ var CustomMcpServerForm = function CustomMcpServerForm(_ref4) {
43909
44001
  });
43910
44002
  }
43911
44003
  setIsAuthorizing(false);
43912
- }, function (event, err) {
44004
+ };
44005
+ var onFail = function onFail(event, err) {
43913
44006
  setAuthResult({
43914
44007
  success: false,
43915
44008
  message: (err === null || err === void 0 ? void 0 : err.message) || "Authorization failed"
43916
44009
  });
43917
44010
  setIsAuthorizing(false);
43918
- });
44011
+ };
44012
+ if (isOAuth) {
44013
+ // SDK-native OAuth 2.0: opens the system browser, persists tokens.
44014
+ dashApi.mcpAuthorize(providerName.trim() || "__test__custom", mcpConfig, credentialData, onComplete, onFail, appContext === null || appContext === void 0 ? void 0 : appContext.appId);
44015
+ return;
44016
+ }
44017
+ if (!initialAuthCommand) return;
44018
+ // Legacy catalog subprocess auth (e.g. bundled Google servers).
44019
+ dashApi.mcpRunAuth(mcpConfig, credentialData, initialAuthCommand, onComplete, onFail);
43919
44020
  };
43920
44021
 
43921
44022
  // --- save ---
@@ -44224,7 +44325,82 @@ var CustomMcpServerForm = function CustomMcpServerForm(_ref4) {
44224
44325
  className: "text-sm text-red-400",
44225
44326
  children: formErrors.url
44226
44327
  })]
44227
- }), /*#__PURE__*/jsxs("div", {
44328
+ }), /*#__PURE__*/jsx("div", {
44329
+ className: "flex flex-col gap-2",
44330
+ children: /*#__PURE__*/jsx(RadioGroup, {
44331
+ label: "Authentication",
44332
+ name: "mcp-http-auth-type",
44333
+ value: authType,
44334
+ onChange: function onChange(value) {
44335
+ setAuthType(value);
44336
+ setAuthResult(null);
44337
+ },
44338
+ options: [{
44339
+ value: "none",
44340
+ label: "None"
44341
+ }, {
44342
+ value: "apiKey",
44343
+ label: "API key (headers)"
44344
+ }, {
44345
+ value: "oauth",
44346
+ label: "OAuth 2.0 (browser sign-in)"
44347
+ }]
44348
+ })
44349
+ }), authType === "oauth" && /*#__PURE__*/jsxs("div", {
44350
+ className: "space-y-3",
44351
+ children: [/*#__PURE__*/jsxs("div", {
44352
+ className: "flex flex-col gap-2",
44353
+ children: [/*#__PURE__*/jsx(FormLabel, {
44354
+ label: "Scopes"
44355
+ }), /*#__PURE__*/jsx("p", {
44356
+ className: "text-sm opacity-50",
44357
+ children: "Space-separated OAuth scopes (optional \u2014 many servers grant defaults)."
44358
+ }), /*#__PURE__*/jsx(InputText, {
44359
+ value: oauthScopes,
44360
+ onChange: setOauthScopes,
44361
+ placeholder: "e.g., read write offline_access"
44362
+ })]
44363
+ }), /*#__PURE__*/jsxs("button", {
44364
+ type: "button",
44365
+ onClick: function onClick() {
44366
+ return setShowOauthAdvanced(function (v) {
44367
+ return !v;
44368
+ });
44369
+ },
44370
+ className: "text-sm text-blue-400 hover:text-blue-300 transition-colors flex items-center gap-1 self-start",
44371
+ children: [/*#__PURE__*/jsx(FontAwesomeIcon, {
44372
+ icon: showOauthAdvanced ? "chevron-down" : "chevron-right",
44373
+ className: "text-xs"
44374
+ }), /*#__PURE__*/jsx("span", {
44375
+ children: "Advanced: pre-registered client"
44376
+ })]
44377
+ }), showOauthAdvanced && /*#__PURE__*/jsxs("div", {
44378
+ className: "space-y-3 pl-1",
44379
+ children: [/*#__PURE__*/jsx("p", {
44380
+ className: "text-sm opacity-50",
44381
+ children: "Only needed for servers that don't support Dynamic Client Registration. Leave blank otherwise."
44382
+ }), /*#__PURE__*/jsxs("div", {
44383
+ className: "flex flex-col gap-2",
44384
+ children: [/*#__PURE__*/jsx(FormLabel, {
44385
+ label: "Client ID"
44386
+ }), /*#__PURE__*/jsx(InputText, {
44387
+ value: oauthClientId,
44388
+ onChange: setOauthClientId,
44389
+ placeholder: "Client ID"
44390
+ })]
44391
+ }), /*#__PURE__*/jsxs("div", {
44392
+ className: "flex flex-col gap-2",
44393
+ children: [/*#__PURE__*/jsx(FormLabel, {
44394
+ label: "Client secret"
44395
+ }), /*#__PURE__*/jsx(InputText, {
44396
+ type: "password",
44397
+ value: oauthClientSecret,
44398
+ onChange: setOauthClientSecret,
44399
+ placeholder: "Client secret (if required)"
44400
+ })]
44401
+ })]
44402
+ })]
44403
+ }), authType === "apiKey" && /*#__PURE__*/jsxs("div", {
44228
44404
  className: "space-y-3",
44229
44405
  children: [/*#__PURE__*/jsxs("div", {
44230
44406
  children: [/*#__PURE__*/jsx(FormLabel, {
@@ -44365,7 +44541,7 @@ var CustomMcpServerForm = function CustomMcpServerForm(_ref4) {
44365
44541
  className: "flex flex-col items-center justify-center py-8 space-y-4",
44366
44542
  children: [/*#__PURE__*/jsx("p", {
44367
44543
  className: "text-sm opacity-60 text-center max-w-md",
44368
- children: "This server requires OAuth authorization. Click the button below to open a browser window and complete the authentication flow."
44544
+ children: isOAuth ? "This server uses OAuth 2.0. Click below to open your browser, sign in, and approve access. Dash stores the resulting tokens securely and refreshes them automatically." : "This server requires OAuth authorization. Click the button below to open a browser window and complete the authentication flow."
44369
44545
  }), /*#__PURE__*/jsx(Button, {
44370
44546
  title: isAuthorizing ? "Authorizing..." : "Authorize",
44371
44547
  onClick: handleAuthorize,
@@ -44386,7 +44562,18 @@ var CustomMcpServerForm = function CustomMcpServerForm(_ref4) {
44386
44562
  children: [/*#__PURE__*/jsx("p", {
44387
44563
  className: "text-xs font-semibold opacity-40 uppercase tracking-wider",
44388
44564
  children: "Troubleshooting"
44389
- }), /*#__PURE__*/jsxs("ul", {
44565
+ }), isOAuth ? /*#__PURE__*/jsxs("ul", {
44566
+ className: "text-sm opacity-60 space-y-1 list-disc list-inside",
44567
+ children: [/*#__PURE__*/jsx("li", {
44568
+ children: "Make sure a browser window opened \u2014 check for a blocked pop-up or default-browser prompt"
44569
+ }), /*#__PURE__*/jsx("li", {
44570
+ children: "Allow Dash to accept the local sign-in redirect if your firewall prompts"
44571
+ }), /*#__PURE__*/jsx("li", {
44572
+ children: "Verify the server URL is correct and the scopes are valid for this server"
44573
+ }), /*#__PURE__*/jsx("li", {
44574
+ children: "For servers without dynamic registration, set a Client ID under \"Advanced\""
44575
+ })]
44576
+ }) : /*#__PURE__*/jsxs("ul", {
44390
44577
  className: "text-sm opacity-60 space-y-1 list-disc list-inside",
44391
44578
  children: [/*#__PURE__*/jsx("li", {
44392
44579
  children: "Ensure Node.js and npx are available in your PATH"
@@ -45249,9 +45436,9 @@ var McpCatalogDetail = function McpCatalogDetail(_ref) {
45249
45436
 
45250
45437
  function ownKeys$t(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
45251
45438
  function _objectSpread$t(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$t(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$t(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
45252
- 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; } } }; }
45253
- 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; } }
45254
- 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; }
45439
+ 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; } } }; }
45440
+ 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; } }
45441
+ 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; }
45255
45442
  function isValidWsUrl(url) {
45256
45443
  if (!url) return false;
45257
45444
  try {
@@ -45298,7 +45485,7 @@ function extractCredentialFields(url, headerRows) {
45298
45485
  fields.add(match[1]);
45299
45486
  }
45300
45487
  }
45301
- var _iterator = _createForOfIteratorHelper$n(headerRows),
45488
+ var _iterator = _createForOfIteratorHelper$m(headerRows),
45302
45489
  _step;
45303
45490
  try {
45304
45491
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -45403,7 +45590,7 @@ var WebSocketProviderForm = function WebSocketProviderForm(_ref) {
45403
45590
  if (!url.trim()) errs.url = "WebSocket URL is required";else if (!isValidWsUrl(url)) errs.url = "URL must start with ws:// or wss://";
45404
45591
 
45405
45592
  // Check required credential fields are filled
45406
- var _iterator2 = _createForOfIteratorHelper$n(credentialFields),
45593
+ var _iterator2 = _createForOfIteratorHelper$m(credentialFields),
45407
45594
  _step2;
45408
45595
  try {
45409
45596
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
@@ -45426,7 +45613,7 @@ var WebSocketProviderForm = function WebSocketProviderForm(_ref) {
45426
45613
 
45427
45614
  // Build headers object from rows
45428
45615
  var headers = {};
45429
- var _iterator3 = _createForOfIteratorHelper$n(headerRows),
45616
+ var _iterator3 = _createForOfIteratorHelper$m(headerRows),
45430
45617
  _step3;
45431
45618
  try {
45432
45619
  for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
@@ -45495,7 +45682,7 @@ var WebSocketProviderForm = function WebSocketProviderForm(_ref) {
45495
45682
 
45496
45683
  // Build config from current form state (same as handleSave)
45497
45684
  headers = {};
45498
- _iterator4 = _createForOfIteratorHelper$n(headerRows);
45685
+ _iterator4 = _createForOfIteratorHelper$m(headerRows);
45499
45686
  try {
45500
45687
  for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
45501
45688
  row = _step4.value;
@@ -48908,9 +49095,9 @@ var InstallWidgetPicker = function InstallWidgetPicker(_ref2) {
48908
49095
 
48909
49096
  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; }
48910
49097
  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; }
48911
- 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; } } }; }
48912
- 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; } }
48913
- 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; }
49098
+ 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; } } }; }
49099
+ 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; } }
49100
+ 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; }
48914
49101
  var DiscoverWidgetsDetail = function DiscoverWidgetsDetail(_ref) {
48915
49102
  var onBack = _ref.onBack;
48916
49103
  var _useContext = useContext(ThemeContext),
@@ -49017,7 +49204,7 @@ var DiscoverWidgetsDetail = function DiscoverWidgetsDetail(_ref) {
49017
49204
  case 1:
49018
49205
  widgets = _context2.sent;
49019
49206
  names = new Set();
49020
- _iterator = _createForOfIteratorHelper$m(widgets);
49207
+ _iterator = _createForOfIteratorHelper$l(widgets);
49021
49208
  try {
49022
49209
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
49023
49210
  w = _step.value;
@@ -49122,12 +49309,12 @@ var DiscoverWidgetsDetail = function DiscoverWidgetsDetail(_ref) {
49122
49309
  var checkToolConflicts = function checkToolConflicts(widget) {
49123
49310
  var conflicts = [];
49124
49311
  var packageWidgets = widget.packageWidgets || [];
49125
- var _iterator2 = _createForOfIteratorHelper$m(packageWidgets),
49312
+ var _iterator2 = _createForOfIteratorHelper$l(packageWidgets),
49126
49313
  _step2;
49127
49314
  try {
49128
49315
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
49129
49316
  var w = _step2.value;
49130
- var _iterator3 = _createForOfIteratorHelper$m(w.providers || []),
49317
+ var _iterator3 = _createForOfIteratorHelper$l(w.providers || []),
49131
49318
  _step3;
49132
49319
  try {
49133
49320
  var _loop = function _loop() {
@@ -49140,7 +49327,7 @@ var DiscoverWidgetsDetail = function DiscoverWidgetsDetail(_ref) {
49140
49327
  prov = _ref5[1];
49141
49328
  return prov.type === p.type && prov.providerClass === "mcp" && prov.allowedTools;
49142
49329
  });
49143
- var _iterator4 = _createForOfIteratorHelper$m(matchingProviders),
49330
+ var _iterator4 = _createForOfIteratorHelper$l(matchingProviders),
49144
49331
  _step4;
49145
49332
  try {
49146
49333
  var _loop2 = function _loop2() {
@@ -49463,9 +49650,9 @@ var DiscoverWidgetsDetail = function DiscoverWidgetsDetail(_ref) {
49463
49650
  });
49464
49651
  };
49465
49652
 
49466
- 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; } } }; }
49467
- 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; } }
49468
- 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; }
49653
+ 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; } } }; }
49654
+ 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; } }
49655
+ 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; }
49469
49656
  var UpdateAllWidgetsModal = function UpdateAllWidgetsModal(_ref) {
49470
49657
  var isOpen = _ref.isOpen,
49471
49658
  setIsOpen = _ref.setIsOpen,
@@ -49579,7 +49766,7 @@ var UpdateAllWidgetsModal = function UpdateAllWidgetsModal(_ref) {
49579
49766
  if (!hasRun || isBatchUpdating) return null;
49580
49767
  var done = 0;
49581
49768
  var failed = 0;
49582
- var _iterator = _createForOfIteratorHelper$l(batchStatus),
49769
+ var _iterator = _createForOfIteratorHelper$k(batchStatus),
49583
49770
  _step;
49584
49771
  try {
49585
49772
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -49736,9 +49923,6 @@ var UpdateAllWidgetsModal = function UpdateAllWidgetsModal(_ref) {
49736
49923
  });
49737
49924
  };
49738
49925
 
49739
- 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; } } }; }
49740
- 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; } }
49741
- 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; }
49742
49926
  function ownKeys$p(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
49743
49927
  function _objectSpread$p(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$p(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$p(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
49744
49928
  var WidgetsSection = function WidgetsSection(_ref) {
@@ -49810,38 +49994,47 @@ var WidgetsSection = function WidgetsSection(_ref) {
49810
49994
  _useState12 = _slicedToArray(_useState11, 2),
49811
49995
  bulkDraftsTarget = _useState12[0],
49812
49996
  setBulkDraftsTarget = _useState12[1];
49813
-
49814
- // Install progress modal state
49997
+ // Flips true between the moment Confirm is clicked and the moment
49998
+ // all deletes settle. Drives the in-modal spinner so the user
49999
+ // doesn't stare at a frozen "Delete N Drafts" button while the
50000
+ // sequential IPCs run, and guards the handler against re-entry if
50001
+ // the user clicks Confirm a second time.
49815
50002
  var _useState13 = useState(false),
49816
50003
  _useState14 = _slicedToArray(_useState13, 2),
49817
- showProgressModal = _useState14[0],
49818
- setShowProgressModal = _useState14[1];
49819
- var _useState15 = useState([]),
50004
+ isBulkDeleting = _useState14[0],
50005
+ setIsBulkDeleting = _useState14[1];
50006
+
50007
+ // Install progress modal state
50008
+ var _useState15 = useState(false),
49820
50009
  _useState16 = _slicedToArray(_useState15, 2),
49821
- progressWidgets = _useState16[0],
49822
- setProgressWidgets = _useState16[1];
49823
- var _useState17 = useState(false),
50010
+ showProgressModal = _useState16[0],
50011
+ setShowProgressModal = _useState16[1];
50012
+ var _useState17 = useState([]),
49824
50013
  _useState18 = _slicedToArray(_useState17, 2),
49825
- progressComplete = _useState18[0],
49826
- setProgressComplete = _useState18[1];
50014
+ progressWidgets = _useState18[0],
50015
+ setProgressWidgets = _useState18[1];
50016
+ var _useState19 = useState(false),
50017
+ _useState20 = _slicedToArray(_useState19, 2),
50018
+ progressComplete = _useState20[0],
50019
+ setProgressComplete = _useState20[1];
49827
50020
 
49828
50021
  // ── Filter state ────────────────────────────────────────────────────
49829
- var _useState19 = useState(""),
49830
- _useState20 = _slicedToArray(_useState19, 2),
49831
- searchQuery = _useState20[0],
49832
- setSearchQuery = _useState20[1];
49833
- var _useState21 = useState("all"),
50022
+ var _useState21 = useState(""),
49834
50023
  _useState22 = _slicedToArray(_useState21, 2),
49835
- filterSource = _useState22[0],
49836
- setFilterSource = _useState22[1]; // "all" | "builtin" | "installed"
50024
+ searchQuery = _useState22[0],
50025
+ setSearchQuery = _useState22[1];
49837
50026
  var _useState23 = useState("all"),
49838
50027
  _useState24 = _slicedToArray(_useState23, 2),
49839
- filterAuthor = _useState24[0],
49840
- setFilterAuthor = _useState24[1];
50028
+ filterSource = _useState24[0],
50029
+ setFilterSource = _useState24[1]; // "all" | "builtin" | "installed"
49841
50030
  var _useState25 = useState("all"),
49842
50031
  _useState26 = _slicedToArray(_useState25, 2),
49843
- filterProvider = _useState26[0],
49844
- setFilterProvider = _useState26[1];
50032
+ filterAuthor = _useState26[0],
50033
+ setFilterAuthor = _useState26[1];
50034
+ var _useState27 = useState("all"),
50035
+ _useState28 = _slicedToArray(_useState27, 2),
50036
+ filterProvider = _useState28[0],
50037
+ setFilterProvider = _useState28[1];
49845
50038
 
49846
50039
  // ── Derived filter options ──────────────────────────────────────────
49847
50040
  var uniqueAuthors = useMemo(function () {
@@ -49937,90 +50130,52 @@ var WidgetsSection = function WidgetsSection(_ref) {
49937
50130
  } // ── Uninstall with usage check ──────────────────────────────────────
49938
50131
  function _handleConfirmBulkDraftCleanup() {
49939
50132
  _handleConfirmBulkDraftCleanup = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
49940
- var _iterator, _step, draft, _window$mainApi, deletedNames, _t2;
50133
+ var deletedNames;
49941
50134
  return _regeneratorRuntime.wrap(function (_context) {
49942
50135
  while (1) switch (_context.prev = _context.next) {
49943
50136
  case 0:
49944
- if (!(!bulkDraftsTarget || bulkDraftsTarget.length === 0)) {
50137
+ if (!isBulkDeleting) {
49945
50138
  _context.next = 1;
49946
50139
  break;
49947
50140
  }
49948
50141
  return _context.abrupt("return");
49949
50142
  case 1:
49950
- _context.prev = 1;
49951
- // Two classes of "draft" sit in the list:
49952
- // 1. Canonical drafts: row in widget-drafts.json + on-disk
49953
- // package dir under @ai-built/*-draft-*. drafts:delete
49954
- // removes both halves in one IPC.
49955
- // 2. Orphan drafts: package dir exists and matches the
49956
- // `-draft-` naming, but no metadata row exists — leftovers
49957
- // from sessions before the drafts API, or partial deletes.
49958
- // classifyWidget() returns draftId=null for these, so the
49959
- // drafts:delete path is unavailable. Fall back to the
49960
- // regular widget uninstall path, which removes the dir
49961
- // by packageId.
49962
- // Deletes run sequentially; both IPCs are idempotent.
49963
- _iterator = _createForOfIteratorHelper$k(bulkDraftsTarget);
49964
- _context.prev = 2;
49965
- _iterator.s();
49966
- case 3:
49967
- if ((_step = _iterator.n()).done) {
49968
- _context.next = 10;
49969
- break;
49970
- }
49971
- draft = _step.value;
49972
- _context.prev = 4;
49973
- if (!(draft.draftId && (_window$mainApi = window.mainApi) !== null && _window$mainApi !== void 0 && (_window$mainApi = _window$mainApi.drafts) !== null && _window$mainApi !== void 0 && _window$mainApi["delete"])) {
49974
- _context.next = 6;
50143
+ if (!(!bulkDraftsTarget || bulkDraftsTarget.length === 0)) {
50144
+ _context.next = 2;
49975
50145
  break;
49976
50146
  }
50147
+ return _context.abrupt("return");
50148
+ case 2:
50149
+ setIsBulkDeleting(true);
50150
+ _context.prev = 3;
50151
+ _context.next = 4;
50152
+ return Promise.allSettled(bulkDraftsTarget.map(function (draft) {
50153
+ var _window$mainApi;
50154
+ if (draft.draftId && (_window$mainApi = window.mainApi) !== null && _window$mainApi !== void 0 && (_window$mainApi = _window$mainApi.drafts) !== null && _window$mainApi !== void 0 && _window$mainApi["delete"]) {
50155
+ return window.mainApi.drafts["delete"](draft.draftId);
50156
+ }
50157
+ return uninstallWidget(draft.name);
50158
+ }));
50159
+ case 4:
49977
50160
  _context.next = 5;
49978
- return window.mainApi.drafts["delete"](draft.draftId);
49979
- case 5:
49980
- _context.next = 7;
49981
- break;
49982
- case 6:
49983
- _context.next = 7;
49984
- return uninstallWidget(draft.name);
49985
- case 7:
49986
- _context.next = 9;
49987
- break;
49988
- case 8:
49989
- _context.prev = 8;
49990
- _context["catch"](4);
49991
- case 9:
49992
- _context.next = 3;
49993
- break;
49994
- case 10:
49995
- _context.next = 12;
49996
- break;
49997
- case 11:
49998
- _context.prev = 11;
49999
- _t2 = _context["catch"](2);
50000
- _iterator.e(_t2);
50001
- case 12:
50002
- _context.prev = 12;
50003
- _iterator.f();
50004
- return _context.finish(12);
50005
- case 13:
50006
- _context.next = 14;
50007
50161
  return refresh();
50008
- case 14:
50162
+ case 5:
50009
50163
  deletedNames = new Set(bulkDraftsTarget.map(function (d) {
50010
50164
  return d.name;
50011
50165
  }));
50012
50166
  if (deletedNames.has(selectedWidgetName)) {
50013
50167
  setSelectedWidgetName(null);
50014
50168
  }
50015
- case 15:
50016
- _context.prev = 15;
50169
+ case 6:
50170
+ _context.prev = 6;
50171
+ setIsBulkDeleting(false);
50017
50172
  setBulkDraftsTarget(null);
50018
- return _context.finish(15);
50019
- case 16:
50173
+ return _context.finish(6);
50174
+ case 7:
50020
50175
  case "end":
50021
50176
  return _context.stop();
50022
50177
  }
50023
- }, _callee, null, [[1,, 15, 16], [2, 11, 12, 13], [4, 8]]);
50178
+ }, _callee, null, [[3,, 6, 7]]);
50024
50179
  }));
50025
50180
  return _handleConfirmBulkDraftCleanup.apply(this, arguments);
50026
50181
  }
@@ -50099,7 +50254,7 @@ var WidgetsSection = function WidgetsSection(_ref) {
50099
50254
  function _handleInstallFromZip() {
50100
50255
  _handleInstallFromZip = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {
50101
50256
  var _window$mainApi3;
50102
- var filepath, filename, widgetName, _t4;
50257
+ var filepath, filename, widgetName, _t2;
50103
50258
  return _regeneratorRuntime.wrap(function (_context3) {
50104
50259
  while (1) switch (_context3.prev = _context3.next) {
50105
50260
  case 0:
@@ -50153,19 +50308,19 @@ var WidgetsSection = function WidgetsSection(_ref) {
50153
50308
  break;
50154
50309
  case 6:
50155
50310
  _context3.prev = 6;
50156
- _t4 = _context3["catch"](1);
50311
+ _t2 = _context3["catch"](1);
50157
50312
  setProgressWidgets(function (prev) {
50158
50313
  return prev.map(function (w) {
50159
50314
  return _objectSpread$p(_objectSpread$p({}, w), {}, {
50160
50315
  status: "failed",
50161
- error: _t4.message
50316
+ error: _t2.message
50162
50317
  });
50163
50318
  });
50164
50319
  });
50165
50320
  setProgressComplete(true);
50166
50321
  setInstallResult({
50167
50322
  status: "error",
50168
- message: _t4.message || "Failed to install widget from ZIP."
50323
+ message: _t2.message || "Failed to install widget from ZIP."
50169
50324
  });
50170
50325
  case 7:
50171
50326
  case "end":
@@ -50181,7 +50336,7 @@ var WidgetsSection = function WidgetsSection(_ref) {
50181
50336
  function _handleLoadFolder() {
50182
50337
  _handleLoadFolder = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee4() {
50183
50338
  var _window$mainApi4;
50184
- var _results$, folderPath, results, count, isSingle, skipped, message, _t5;
50339
+ var _results$, folderPath, results, count, isSingle, skipped, message, _t3;
50185
50340
  return _regeneratorRuntime.wrap(function (_context4) {
50186
50341
  while (1) switch (_context4.prev = _context4.next) {
50187
50342
  case 0:
@@ -50258,19 +50413,19 @@ var WidgetsSection = function WidgetsSection(_ref) {
50258
50413
  break;
50259
50414
  case 6:
50260
50415
  _context4.prev = 6;
50261
- _t5 = _context4["catch"](1);
50416
+ _t3 = _context4["catch"](1);
50262
50417
  setProgressWidgets(function (prev) {
50263
50418
  return prev.map(function (w) {
50264
50419
  return _objectSpread$p(_objectSpread$p({}, w), {}, {
50265
50420
  status: "failed",
50266
- error: _t5.message
50421
+ error: _t3.message
50267
50422
  });
50268
50423
  });
50269
50424
  });
50270
50425
  setProgressComplete(true);
50271
50426
  setInstallResult({
50272
50427
  status: "error",
50273
- message: _t5.message || "Failed to load widgets from folder."
50428
+ message: _t3.message || "Failed to load widgets from folder."
50274
50429
  });
50275
50430
  case 7:
50276
50431
  case "end":
@@ -50691,33 +50846,50 @@ var WidgetsSection = function WidgetsSection(_ref) {
50691
50846
  })), /*#__PURE__*/jsx(ConfirmationModal, {
50692
50847
  isOpen: !!bulkDraftsTarget,
50693
50848
  setIsOpen: function setIsOpen(open) {
50849
+ // While the IPCs are running, suppress the X / backdrop /
50850
+ // ESC close. Otherwise React tears down the modal mid-
50851
+ // operation, the user thinks it succeeded, and a partial
50852
+ // delete leaves the list in a confusing state.
50853
+ if (isBulkDeleting) return;
50694
50854
  if (!open) setBulkDraftsTarget(null);
50695
50855
  },
50696
50856
  title: "Clean Up Drafts",
50697
- confirmLabel: bulkDraftsTarget && bulkDraftsTarget.length > 0 ? "Delete ".concat(bulkDraftsTarget.length, " Draft").concat(bulkDraftsTarget.length !== 1 ? "s" : "") : "Delete",
50857
+ confirmLabel: isBulkDeleting ? "Deleting…" : bulkDraftsTarget && bulkDraftsTarget.length > 0 ? "Delete ".concat(bulkDraftsTarget.length, " Draft").concat(bulkDraftsTarget.length !== 1 ? "s" : "") : "Delete",
50698
50858
  variant: "danger",
50699
50859
  onConfirm: handleConfirmBulkDraftCleanup,
50700
50860
  onCancel: function onCancel() {
50701
- return setBulkDraftsTarget(null);
50861
+ if (isBulkDeleting) return;
50862
+ setBulkDraftsTarget(null);
50702
50863
  },
50703
- children: bulkDraftsTarget && bulkDraftsTarget.length > 0 && /*#__PURE__*/jsxs("div", {
50864
+ children: bulkDraftsTarget && bulkDraftsTarget.length > 0 && /*#__PURE__*/jsx("div", {
50704
50865
  className: paragraphStyles.textColor || "",
50705
- children: [/*#__PURE__*/jsxs("p", {
50706
- className: "text-sm leading-relaxed",
50707
- children: ["This will permanently delete the following in-progress widget", bulkDraftsTarget.length !== 1 ? "s" : "", " and their files on disk. This cannot be undone."]
50708
- }), /*#__PURE__*/jsx("div", {
50709
- className: "mt-2 mb-2 space-y-1 max-h-64 overflow-y-auto",
50710
- children: bulkDraftsTarget.map(function (w) {
50711
- return /*#__PURE__*/jsxs("div", {
50712
- className: "text-xs opacity-60 flex items-center gap-1.5 pl-2",
50713
- "data-testid": "bulk-draft-row-".concat(w.name),
50714
- children: [/*#__PURE__*/jsx(FontAwesomeIcon, {
50715
- icon: "puzzle-piece",
50716
- className: "h-3 w-3"
50717
- }), w.displayName || w.name]
50718
- }, w.name);
50719
- })
50720
- })]
50866
+ children: isBulkDeleting ? /*#__PURE__*/jsxs("div", {
50867
+ className: "flex items-center gap-3 py-4",
50868
+ children: [/*#__PURE__*/jsx(FontAwesomeIcon, {
50869
+ icon: "spinner",
50870
+ className: "text-blue-400 animate-spin"
50871
+ }), /*#__PURE__*/jsxs("span", {
50872
+ className: "text-sm",
50873
+ children: ["Deleting ", bulkDraftsTarget.length, " draft", bulkDraftsTarget.length !== 1 ? "s" : "", "\u2026"]
50874
+ })]
50875
+ }) : /*#__PURE__*/jsxs(Fragment, {
50876
+ children: [/*#__PURE__*/jsxs("p", {
50877
+ className: "text-sm leading-relaxed",
50878
+ children: ["This will permanently delete the following in-progress widget", bulkDraftsTarget.length !== 1 ? "s" : "", " and their files on disk. This cannot be undone."]
50879
+ }), /*#__PURE__*/jsx("div", {
50880
+ className: "mt-2 mb-2 space-y-1 max-h-64 overflow-y-auto",
50881
+ children: bulkDraftsTarget.map(function (w) {
50882
+ return /*#__PURE__*/jsxs("div", {
50883
+ className: "text-xs opacity-60 flex items-center gap-1.5 pl-2",
50884
+ "data-testid": "bulk-draft-row-".concat(w.name),
50885
+ children: [/*#__PURE__*/jsx(FontAwesomeIcon, {
50886
+ icon: "puzzle-piece",
50887
+ className: "h-3 w-3"
50888
+ }), w.displayName || w.name]
50889
+ }, w.name);
50890
+ })
50891
+ })]
50892
+ })
50721
50893
  })
50722
50894
  }), /*#__PURE__*/jsx(RegistryAuthModal, {
50723
50895
  isOpen: needsAuth,
@@ -68364,5 +68536,5 @@ function computeDashboardPreflight(_ref) {
68364
68536
 
68365
68537
  ComponentManager.registerContainerTypes(LayoutContainer, LayoutGridContainer);
68366
68538
 
68367
- export { ALGOLIA_ANALYTICS_FOR_QUERY, ALGOLIA_ANALYTICS_FOR_QUERY_COMPLETE, ALGOLIA_ANALYTICS_FOR_QUERY_ERROR, ALGOLIA_LIST_INDICES, ALGOLIA_LIST_INDICES_COMPLETE, ALGOLIA_LIST_INDICES_ERROR, AVAILABLE_COLORS, AddMenuItemModal, AdvancedMcpConfig, AppContext, AppSettingsModal, AppThemeScope, AppWrapper, CHOOSE_FILE, CHOOSE_FILE_COMPLETE, CHOOSE_FILE_ERROR, ChatCore, ChatInput, ChatMessages, ColorModel, ComponentConfigModel, ComponentManager, ContextModel, DATA_JSON_TO_CSV_FILE, DATA_JSON_TO_CSV_FILE_COMPLETE, DATA_JSON_TO_CSV_FILE_ERROR, DATA_JSON_TO_CSV_STRING, DATA_JSON_TO_CSV_STRING_COMPLETE, DATA_JSON_TO_CSV_STRING_ERROR, DATA_READ_FROM_FILE, DATA_READ_FROM_FILE_COMPLETE, DATA_READ_FROM_FILE_ERROR, DATA_SAVE_TO_FILE, DATA_SAVE_TO_FILE_COMPLETE, DATA_SAVE_TO_FILE_ERROR, DashCommandPalette, DashNavbar, DashSidebar, DashTabBar, DashboardStage as Dashboard, DashboardActionsApi, DashboardApi, DashboardContext, DashboardFooter, DashboardHeader, DashboardMenuItem, DashboardModel, DashboardMonitor, DashboardPublisher, DashboardStage, DashboardThemeProvider, DashboardWizardModal, DashboardWrapper, ElectronDashboardApi, ErrorBoundary, ExternalWidget, GRID_CELL_WIDGET_TYPE, HARMONY_STRATEGIES, LAYOUT_LIST, LAYOUT_LIST_COMPLETE, LAYOUT_LIST_ERROR, Layout, LayoutBuilder, LayoutBuilderAddItemModal, LayoutBuilderConfigContainerMenuItem, LayoutBuilderConfigMenuItem, LayoutBuilderConfigModal, LayoutBuilderEditItemModal, LayoutBuilderEventModal, LayoutBuilderGridItem, LayoutContainer, LayoutDragBuilder, LayoutDragBuilderEdit, LayoutGridContainer, LayoutManagerModal, LayoutModel, LayoutQuickAddMenu, MCP_CALL_TOOL_COMPLETE, MCP_CALL_TOOL_ERROR, MCP_GET_CATALOG_COMPLETE, MCP_GET_CATALOG_ERROR, MCP_LIST_RESOURCES_COMPLETE, MCP_LIST_RESOURCES_ERROR, MCP_LIST_TOOLS_COMPLETE, MCP_LIST_TOOLS_ERROR, MCP_READ_RESOURCE_COMPLETE, MCP_READ_RESOURCE_ERROR, MCP_RUN_AUTH_COMPLETE, MCP_RUN_AUTH_ERROR, MCP_SERVER_STATUS_COMPLETE, MCP_SERVER_STATUS_ERROR, MCP_START_SERVER_COMPLETE, MCP_START_SERVER_ERROR, MCP_STOP_SERVER_COMPLETE, MCP_STOP_SERVER_ERROR, MENU_ITEMS_DELETE, MENU_ITEMS_DELETE_COMPLETE, MENU_ITEMS_DELETE_ERROR, MENU_ITEMS_LIST, MENU_ITEMS_LIST_COMPLETE, MENU_ITEMS_LIST_ERROR, MENU_ITEMS_SAVE, MENU_ITEMS_SAVE_COMPLETE, MENU_ITEMS_SAVE_ERROR, MainMenu, MainMenuItem, MainMenuSection, MarkdownFormEditor, McpServerPicker, MenuItemModel, MenuSlideOverlay, MergeCellsModal, MessageBubble, MissingProviderPrompt, MockDashboardApi, PROVIDER_DELETE_COMPLETE, PROVIDER_DELETE_ERROR, PROVIDER_GET_COMPLETE, PROVIDER_GET_ERROR, PROVIDER_LIST_COMPLETE, PROVIDER_LIST_ERROR, PROVIDER_SAVE_COMPLETE, PROVIDER_SAVE_ERROR, PageTabBar, PanelCode, PanelEditItem, PanelEditItemHandlers, PanelEditItemNotifications, PanelEditItemProviders, PinnedSidebar, ProviderContext, ProviderErrorBoundary, ProviderForm, ProviderSelector, SECURE_STORAGE_ENCRYPT_STRING, SECURE_STORAGE_ENCRYPT_STRING_COMPLETE, SECURE_STORAGE_ENCRYPT_STRING_ERROR, SECURE_STORE_ENCRYPTION_CHECK, SECURE_STORE_ENCRYPTION_CHECK_COMPLETE, SECURE_STORE_ENCRYPTION_CHECK_ERROR, SECURE_STORE_GET_DATA, SECURE_STORE_GET_DATA_COMPLETE, SECURE_STORE_GET_DATA_ERROR, SECURE_STORE_SET_DATA, SECURE_STORE_SET_DATA_COMPLETE, SECURE_STORE_SET_DATA_ERROR, SETTINGS_GET, SETTINGS_GET_COMPLETE, SETTINGS_GET_ERROR, SETTINGS_SAVE, SETTINGS_SAVE_COMPLETE, SETTINGS_SAVE_ERROR, SIDEBAR_WIDGET_TYPE, SettingsModel, SideMenu, SplitCellModal, StreamingText, THEME_DELETE, THEME_DELETE_COMPLETE, THEME_DELETE_ERROR, THEME_EXTRACT_FROM_URL, THEME_EXTRACT_FROM_URL_COMPLETE, THEME_EXTRACT_FROM_URL_ERROR, THEME_LIST, THEME_LIST_COMPLETE, THEME_LIST_ERROR, THEME_MAP_PALETTE, THEME_MAP_PALETTE_COMPLETE, THEME_MAP_PALETTE_ERROR, THEME_SAVE, THEME_SAVE_COMPLETE, THEME_SAVE_ERROR, ThemeApi, ThemeColorDots, ThemeManagerModal, ThemeModel, ThemeWrapper, ToolCallBlock, ToolSelector, WELCOME_STORAGE_KEY, WORKSPACE_DELETE, WORKSPACE_DELETE_COMPLETE, WORKSPACE_DELETE_ERROR, WORKSPACE_LIST, WORKSPACE_LIST_COMPLETE, WORKSPACE_LIST_ERROR, WORKSPACE_SAVE, WORKSPACE_SAVE_COMPLETE, WORKSPACE_SAVE_ERROR, WebDashboardApi, WelcomePrompt, Widget, WidgetApi, WidgetConfigPanel, WidgetContext, WidgetFactory, WidgetNotFound, WidgetPopoutStage, WidgetProviderWrapper, WidgetSidebar, WizardCustomizeStep, WizardDiscoverStep, Workspace, WorkspaceContext, WorkspaceFooter, WorkspaceMenu, WorkspaceModel, WorkspaceScopeContext, addChildToLayoutItem, addItemToItemLayout, bareComponentName, buildMcpConfigFromOverrides, canHaveChildren, changeDirectionForLayoutItem, computeDashboardPreflight, createProviderRegistry, deriveFormFields, envMappingToRows, evaluateBundle, extractWidgetConfigs, formStateToMcpJson, formatFieldName, generateCustomTheme, generateHarmonyTheme, generateRandomHexTheme, generateRandomTheme, generateThemeName, getBorderStyle, getBrandPresets, getChildrenForLayoutItem, getComponentInLayout, getContainerBorderColor, getContainerColor, getIndexOfLayoutChildrenForItem, getIndexOfLayoutItem, getLayoutItemById, getLayoutItemForWorkspace, getNearestParentWorkspace, getNextHighestId, getNextHighestItemInLayout, getNextHighestOrder, getNextHighestParentId, getNextLowestItemInLayout, getParentForLayoutItem, getParentWorkspaceForItem, getThemePresets, getUserConfigurableProviders, getWidgetsForWorkspace, getWorkspacesForWorkspace, headerTemplateToRows, humanizeAction, isContainer, isLikelySecret, isMaxOrderForItem, isMinOrderForItem, isWidget, isWidgetResolvable, isWorkspace, layoutItemHasWorkspaceAsChild, loadWidgetBundle, makeScopedComponentId, mcpJsonToFormState, moveWidgetAcrossContainers, numChildrenForLayout, parse, parseScopedComponentId, removeItemFromLayout, renderComponent, renderGridLayout, renderGridLayoutFlow, _renderLayout as renderLayout, renderLayoutMenu, replaceItemInLayout, resolveIcon, serialize, setHostModules, traverseParentTree, updateLayoutItem, updateParentForItem, useDashboard, useMcpDashServer, useMcpProvider, useNotifications, useProvider, useProviderClient, useScheduler, useWebSocketProvider, useWidgetEvents, useWidgetProviders, useWidgetRegistryVersion, useWidgetSchedulerStatus, useWizardState, validateCellMerge, validateGridCell, validateGridPlacement, validateWidgetPlacement, widgetCountToTemplate, withProviderDetection };
68539
+ export { ALGOLIA_ANALYTICS_FOR_QUERY, ALGOLIA_ANALYTICS_FOR_QUERY_COMPLETE, ALGOLIA_ANALYTICS_FOR_QUERY_ERROR, ALGOLIA_LIST_INDICES, ALGOLIA_LIST_INDICES_COMPLETE, ALGOLIA_LIST_INDICES_ERROR, AVAILABLE_COLORS, AddMenuItemModal, AdvancedMcpConfig, AppContext, AppSettingsModal, AppThemeScope, AppWrapper, CHOOSE_FILE, CHOOSE_FILE_COMPLETE, CHOOSE_FILE_ERROR, ChatCore, ChatInput, ChatMessages, ColorModel, ComponentConfigModel, ComponentManager, ContextModel, DATA_JSON_TO_CSV_FILE, DATA_JSON_TO_CSV_FILE_COMPLETE, DATA_JSON_TO_CSV_FILE_ERROR, DATA_JSON_TO_CSV_STRING, DATA_JSON_TO_CSV_STRING_COMPLETE, DATA_JSON_TO_CSV_STRING_ERROR, DATA_READ_FROM_FILE, DATA_READ_FROM_FILE_COMPLETE, DATA_READ_FROM_FILE_ERROR, DATA_SAVE_TO_FILE, DATA_SAVE_TO_FILE_COMPLETE, DATA_SAVE_TO_FILE_ERROR, DashCommandPalette, DashNavbar, DashSidebar, DashTabBar, DashboardStage as Dashboard, DashboardActionsApi, DashboardApi, DashboardContext, DashboardFooter, DashboardHeader, DashboardMenuItem, DashboardModel, DashboardMonitor, DashboardPublisher, DashboardStage, DashboardThemeProvider, DashboardWizardModal, DashboardWrapper, ElectronDashboardApi, ErrorBoundary, ExternalWidget, GRID_CELL_WIDGET_TYPE, HARMONY_STRATEGIES, LAYOUT_LIST, LAYOUT_LIST_COMPLETE, LAYOUT_LIST_ERROR, Layout, LayoutBuilder, LayoutBuilderAddItemModal, LayoutBuilderConfigContainerMenuItem, LayoutBuilderConfigMenuItem, LayoutBuilderConfigModal, LayoutBuilderEditItemModal, LayoutBuilderEventModal, LayoutBuilderGridItem, LayoutContainer, LayoutDragBuilder, LayoutDragBuilderEdit, LayoutGridContainer, LayoutManagerModal, LayoutModel, LayoutQuickAddMenu, MCP_AUTHORIZE_COMPLETE, MCP_AUTHORIZE_ERROR, MCP_CALL_TOOL_COMPLETE, MCP_CALL_TOOL_ERROR, MCP_GET_CATALOG_COMPLETE, MCP_GET_CATALOG_ERROR, MCP_LIST_RESOURCES_COMPLETE, MCP_LIST_RESOURCES_ERROR, MCP_LIST_TOOLS_COMPLETE, MCP_LIST_TOOLS_ERROR, MCP_READ_RESOURCE_COMPLETE, MCP_READ_RESOURCE_ERROR, MCP_RUN_AUTH_COMPLETE, MCP_RUN_AUTH_ERROR, MCP_SERVER_STATUS_COMPLETE, MCP_SERVER_STATUS_ERROR, MCP_START_SERVER_COMPLETE, MCP_START_SERVER_ERROR, MCP_STOP_SERVER_COMPLETE, MCP_STOP_SERVER_ERROR, MENU_ITEMS_DELETE, MENU_ITEMS_DELETE_COMPLETE, MENU_ITEMS_DELETE_ERROR, MENU_ITEMS_LIST, MENU_ITEMS_LIST_COMPLETE, MENU_ITEMS_LIST_ERROR, MENU_ITEMS_SAVE, MENU_ITEMS_SAVE_COMPLETE, MENU_ITEMS_SAVE_ERROR, MainMenu, MainMenuItem, MainMenuSection, MarkdownFormEditor, McpServerPicker, MenuItemModel, MenuSlideOverlay, MergeCellsModal, MessageBubble, MissingProviderPrompt, MockDashboardApi, PROVIDER_DELETE_COMPLETE, PROVIDER_DELETE_ERROR, PROVIDER_GET_COMPLETE, PROVIDER_GET_ERROR, PROVIDER_LIST_COMPLETE, PROVIDER_LIST_ERROR, PROVIDER_SAVE_COMPLETE, PROVIDER_SAVE_ERROR, PageTabBar, PanelCode, PanelEditItem, PanelEditItemHandlers, PanelEditItemNotifications, PanelEditItemProviders, PinnedSidebar, ProviderContext, ProviderErrorBoundary, ProviderForm, ProviderSelector, SECURE_STORAGE_ENCRYPT_STRING, SECURE_STORAGE_ENCRYPT_STRING_COMPLETE, SECURE_STORAGE_ENCRYPT_STRING_ERROR, SECURE_STORE_ENCRYPTION_CHECK, SECURE_STORE_ENCRYPTION_CHECK_COMPLETE, SECURE_STORE_ENCRYPTION_CHECK_ERROR, SECURE_STORE_GET_DATA, SECURE_STORE_GET_DATA_COMPLETE, SECURE_STORE_GET_DATA_ERROR, SECURE_STORE_SET_DATA, SECURE_STORE_SET_DATA_COMPLETE, SECURE_STORE_SET_DATA_ERROR, SETTINGS_GET, SETTINGS_GET_COMPLETE, SETTINGS_GET_ERROR, SETTINGS_SAVE, SETTINGS_SAVE_COMPLETE, SETTINGS_SAVE_ERROR, SIDEBAR_WIDGET_TYPE, SettingsModel, SideMenu, SplitCellModal, StreamingText, THEME_DELETE, THEME_DELETE_COMPLETE, THEME_DELETE_ERROR, THEME_EXTRACT_FROM_URL, THEME_EXTRACT_FROM_URL_COMPLETE, THEME_EXTRACT_FROM_URL_ERROR, THEME_LIST, THEME_LIST_COMPLETE, THEME_LIST_ERROR, THEME_MAP_PALETTE, THEME_MAP_PALETTE_COMPLETE, THEME_MAP_PALETTE_ERROR, THEME_SAVE, THEME_SAVE_COMPLETE, THEME_SAVE_ERROR, ThemeApi, ThemeColorDots, ThemeManagerModal, ThemeModel, ThemeWrapper, ToolCallBlock, ToolSelector, WELCOME_STORAGE_KEY, WORKSPACE_DELETE, WORKSPACE_DELETE_COMPLETE, WORKSPACE_DELETE_ERROR, WORKSPACE_LIST, WORKSPACE_LIST_COMPLETE, WORKSPACE_LIST_ERROR, WORKSPACE_SAVE, WORKSPACE_SAVE_COMPLETE, WORKSPACE_SAVE_ERROR, WebDashboardApi, WelcomePrompt, Widget, WidgetApi, WidgetConfigPanel, WidgetContext, WidgetFactory, WidgetNotFound, WidgetPopoutStage, WidgetProviderWrapper, WidgetSidebar, WizardCustomizeStep, WizardDiscoverStep, Workspace, WorkspaceContext, WorkspaceFooter, WorkspaceMenu, WorkspaceModel, WorkspaceScopeContext, addChildToLayoutItem, addItemToItemLayout, bareComponentName, buildMcpConfigFromOverrides, canHaveChildren, changeDirectionForLayoutItem, computeDashboardPreflight, createProviderRegistry, deriveFormFields, envMappingToRows, evaluateBundle, extractWidgetConfigs, formStateToMcpJson, formatFieldName, generateCustomTheme, generateHarmonyTheme, generateRandomHexTheme, generateRandomTheme, generateThemeName, getBorderStyle, getBrandPresets, getChildrenForLayoutItem, getComponentInLayout, getContainerBorderColor, getContainerColor, getIndexOfLayoutChildrenForItem, getIndexOfLayoutItem, getLayoutItemById, getLayoutItemForWorkspace, getNearestParentWorkspace, getNextHighestId, getNextHighestItemInLayout, getNextHighestOrder, getNextHighestParentId, getNextLowestItemInLayout, getParentForLayoutItem, getParentWorkspaceForItem, getThemePresets, getUserConfigurableProviders, getWidgetsForWorkspace, getWorkspacesForWorkspace, headerTemplateToRows, humanizeAction, isContainer, isLikelySecret, isMaxOrderForItem, isMinOrderForItem, isWidget, isWidgetResolvable, isWorkspace, layoutItemHasWorkspaceAsChild, loadWidgetBundle, makeScopedComponentId, mcpJsonToFormState, moveWidgetAcrossContainers, numChildrenForLayout, parse, parseScopedComponentId, removeItemFromLayout, renderComponent, renderGridLayout, renderGridLayoutFlow, _renderLayout as renderLayout, renderLayoutMenu, replaceItemInLayout, resolveIcon, serialize, setHostModules, traverseParentTree, updateLayoutItem, updateParentForItem, useDashboard, useMcpDashServer, useMcpProvider, useNotifications, useProvider, useProviderClient, useScheduler, useWebSocketProvider, useWidgetEvents, useWidgetProviders, useWidgetRegistryVersion, useWidgetSchedulerStatus, useWizardState, validateCellMerge, validateGridCell, validateGridPlacement, validateWidgetPlacement, widgetCountToTemplate, withProviderDetection };
68368
68540
  //# sourceMappingURL=index.esm.js.map