@trops/dash-core 0.1.510 → 0.1.512

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -52,8 +52,8 @@ var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
52
52
  var jsxRuntime__namespace = /*#__PURE__*/_interopNamespaceDefault(jsxRuntime);
53
53
  var ReactDOM__namespace = /*#__PURE__*/_interopNamespaceDefault(ReactDOM);
54
54
 
55
- 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; }
56
- 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; }
55
+ function ownKeys$10(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; }
56
+ function _objectSpread$10(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$10(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$10(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
57
57
  var event = {
58
58
  list: new Map(),
59
59
  // Map(1) { '<widget-UUID>' => { 'CustomSearchbar[10].searchQueryChanged': [] } }
@@ -115,7 +115,7 @@ var event = {
115
115
  uuid: subscriber["uuid"]
116
116
  };
117
117
  if ("action" in subscriber && subscriber.action !== undefined) {
118
- subscriber["action"](_objectSpread$$({}, objectToSend));
118
+ subscriber["action"](_objectSpread$10({}, objectToSend));
119
119
  }
120
120
  });
121
121
  }
@@ -443,6 +443,7 @@ var WidgetApi = {
443
443
  if (eApi) {
444
444
  // remove the listeners (reset)
445
445
  if ("removeAllListeners" in eApi) {
446
+ var _this$params;
446
447
  eApi.removeAllListeners(eApi.events.DATA_SAVE_TO_FILE_COMPLETE);
447
448
  eApi.removeAllListeners(eApi.events.DATA_SAVE_TO_FILE_ERROR);
448
449
  if (callbackComplete !== null) {
@@ -455,8 +456,13 @@ var WidgetApi = {
455
456
  return callbackError(response);
456
457
  });
457
458
  }
458
- // request.
459
- eApi.data.saveData(data, toFilename, append, returnEmpty, widgetId);
459
+ // Auto-thread widgetId from the singleton's per-widget
460
+ // state when the caller didn't supply one explicitly. This
461
+ // is what makes the fs gate fire for ordinary widgets that
462
+ // call `widgetApi.storeData({data, filename})` without
463
+ // knowing about widgetId.
464
+ var effectiveWidgetId = widgetId || ((_this$params = this.params) === null || _this$params === void 0 ? void 0 : _this$params.name) || null;
465
+ eApi.data.saveData(data, toFilename, append, returnEmpty, effectiveWidgetId);
460
466
  }
461
467
  }
462
468
  } catch (e) {
@@ -491,6 +497,7 @@ var WidgetApi = {
491
497
  var toFilename = filename !== null ? filename : "".concat(uuid, ".json");
492
498
  var eApi = this.electronApi();
493
499
  if ("removeAllListeners" in eApi) {
500
+ var _this$params2;
494
501
  eApi.removeAllListeners(eApi.events.DATA_READ_FROM_FILE_COMPLETE);
495
502
  eApi.removeAllListeners(eApi.events.DATA_READ_FROM_FILE_ERROR);
496
503
  if (callbackComplete !== null) {
@@ -513,7 +520,9 @@ var WidgetApi = {
513
520
  return callbackError(response);
514
521
  });
515
522
  }
516
- eApi.data.readData(toFilename, [], widgetId);
523
+ // Auto-thread widgetId from the singleton — same as storeData.
524
+ var effectiveWidgetId = widgetId || ((_this$params2 = this.params) === null || _this$params2 === void 0 ? void 0 : _this$params2.name) || null;
525
+ eApi.data.readData(toFilename, [], effectiveWidgetId);
517
526
  }
518
527
  } catch (e) {
519
528
  }
@@ -1688,12 +1697,15 @@ var ElectronDashboardApi = /*#__PURE__*/function () {
1688
1697
  value: function mcpCallTool(serverName, toolName, args, allowedTools, onSuccess, onError) {
1689
1698
  var _this22 = this;
1690
1699
  var workspaceId = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : null;
1700
+ var widgetId = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : null;
1691
1701
  if (this.api !== null) {
1692
1702
  try {
1693
- // widgetId is not threaded here; mcpApi.callTool defaults it to
1694
- // null. Slice 3a: workspaceId scopes the MCP server process per
1695
- // workspace.
1696
- this.api.mcp.callTool(serverName, toolName, args, allowedTools, null, workspaceId).then(function (result) {
1703
+ // widgetId is the package-level identity for the MCP gate.
1704
+ // Callers (typically `useMcpProvider`) pass `widgetData.name`
1705
+ // so the gate's `getGrant(widgetId)` lookup matches the grant
1706
+ // written at install consent. workspaceId scopes the server
1707
+ // process per workspace (Slice 3a).
1708
+ this.api.mcp.callTool(serverName, toolName, args, allowedTools, widgetId, workspaceId).then(function (result) {
1697
1709
  onSuccess(_this22.events.MCP_CALL_TOOL_COMPLETE, result);
1698
1710
  })["catch"](function (error) {
1699
1711
  onError(_this22.events.MCP_CALL_TOOL_ERROR, error);
@@ -2868,8 +2880,27 @@ var AppWrapper = function AppWrapper(_ref2) {
2868
2880
  });
2869
2881
  };
2870
2882
 
2883
+ /**
2884
+ * WidgetContext
2885
+ *
2886
+ * Per-widget React context. WidgetFactory builds the value at mount
2887
+ * time and re-builds when the widget unmounts/remounts.
2888
+ *
2889
+ * Shape:
2890
+ * - widgetData: the widget's instance data (uuid, params, providers,
2891
+ * notifications, etc.) — read by hooks like useMcpProvider,
2892
+ * useScheduler, useNotifications.
2893
+ * - api: a per-mount proxy of `window.mainApi` produced by
2894
+ * `makeBoundApi(window.mainApi, mountToken)`. Every gated method
2895
+ * on this proxy auto-injects the mount token; widgets that use
2896
+ * `props.api.data.saveData(...)` get gated automatically. Null
2897
+ * during the brief window before the framework's mount-token IPC
2898
+ * resolves; consumers should fall back to `window.mainApi` only
2899
+ * for explicitly non-gated reads.
2900
+ */
2871
2901
  var WidgetContext = /*#__PURE__*/React.createContext({
2872
- widgetData: null
2902
+ widgetData: null,
2903
+ api: null
2873
2904
  });
2874
2905
 
2875
2906
  var EMPTY_PROVIDERS = {};
@@ -2933,8 +2964,8 @@ var DashboardWrapper = function DashboardWrapper(_ref) {
2933
2964
  });
2934
2965
  };
2935
2966
 
2936
- 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; }
2937
- 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; }
2967
+ 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; }
2968
+ 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; }
2938
2969
  function ThemeBroadcast(_ref) {
2939
2970
  var ctx = _ref.ctx;
2940
2971
  React.useEffect(function () {
@@ -2967,7 +2998,7 @@ var DashboardThemeProvider = function DashboardThemeProvider(_ref2) {
2967
2998
  var dashboardTheme = themes[themeKey];
2968
2999
  var themeValue = dashboardTheme ? dashboardTheme[themeVariant] || null : null;
2969
3000
  if (!themeValue) return null;
2970
- return _objectSpread$_(_objectSpread$_({}, parentContext), {}, {
3001
+ return _objectSpread$$(_objectSpread$$({}, parentContext), {}, {
2971
3002
  currentTheme: themeValue,
2972
3003
  currentThemeKey: themeKey,
2973
3004
  theme: themeValue,
@@ -2994,8 +3025,8 @@ var DashboardThemeProvider = function DashboardThemeProvider(_ref2) {
2994
3025
  });
2995
3026
  };
2996
3027
 
2997
- 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; }
2998
- 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; }
3028
+ 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; }
3029
+ 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; }
2999
3030
  var AppThemeScope = function AppThemeScope(_ref) {
3000
3031
  var children = _ref.children;
3001
3032
  var ctx = React.useContext(DashReact.ThemeContext);
@@ -3003,7 +3034,7 @@ var AppThemeScope = function AppThemeScope(_ref) {
3003
3034
  children: children
3004
3035
  });
3005
3036
  return /*#__PURE__*/jsxRuntime.jsx(DashReact.ThemeContext.Provider, {
3006
- value: _objectSpread$Z(_objectSpread$Z({}, ctx), {}, {
3037
+ value: _objectSpread$_(_objectSpread$_({}, ctx), {}, {
3007
3038
  currentTheme: ctx.appTheme,
3008
3039
  currentThemeKey: ctx.appThemeKey,
3009
3040
  theme: ctx.appTheme,
@@ -3115,8 +3146,8 @@ var LayoutContainer = function LayoutContainer(_ref) {
3115
3146
  });
3116
3147
  };
3117
3148
 
3118
- function ownKeys$Y(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; }
3119
- function _objectSpread$Y(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$Y(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$Y(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
3149
+ 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; }
3150
+ 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; }
3120
3151
  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; } } }; }
3121
3152
  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; } }
3122
3153
  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; }
@@ -3398,7 +3429,7 @@ function createLayoutFromTemplate(template) {
3398
3429
  try {
3399
3430
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
3400
3431
  var cell = _step.value;
3401
- grid[cell.key] = _objectSpread$Y({
3432
+ grid[cell.key] = _objectSpread$Z({
3402
3433
  component: null,
3403
3434
  hide: cell.hide || false
3404
3435
  }, cell.span ? {
@@ -4577,8 +4608,8 @@ var DashboardInstallOptionsModal = function DashboardInstallOptionsModal(_ref) {
4577
4608
  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; } } }; }
4578
4609
  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; } }
4579
4610
  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; }
4580
- 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; }
4581
- 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; }
4611
+ function ownKeys$Y(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
4612
+ function _objectSpread$Y(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$Y(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$Y(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4582
4613
  var RegistryDashboardDetail = function RegistryDashboardDetail(_ref) {
4583
4614
  var dashboardPackage = _ref.dashboardPackage,
4584
4615
  appId = _ref.appId,
@@ -4811,7 +4842,7 @@ var RegistryDashboardDetail = function RegistryDashboardDetail(_ref) {
4811
4842
  setProgressWidgets(function (prev) {
4812
4843
  var next = _toConsumableArray(prev);
4813
4844
  if (data.index >= 0 && data.index < next.length) {
4814
- next[data.index] = _objectSpread$X(_objectSpread$X({}, next[data.index]), {}, {
4845
+ next[data.index] = _objectSpread$Y(_objectSpread$Y({}, next[data.index]), {}, {
4815
4846
  status: data.status,
4816
4847
  error: data.error || null
4817
4848
  });
@@ -4907,7 +4938,7 @@ var RegistryDashboardDetail = function RegistryDashboardDetail(_ref) {
4907
4938
  var raw = preview === null || preview === void 0 ? void 0 : preview.compatibility;
4908
4939
  if (!raw) return raw;
4909
4940
  var cMap = ComponentManager.componentMap();
4910
- var augWidgets = _objectSpread$X({}, raw.widgets);
4941
+ var augWidgets = _objectSpread$Y({}, raw.widgets);
4911
4942
  var fixedCount = 0;
4912
4943
  var _loop = function _loop() {
4913
4944
  var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
@@ -8342,8 +8373,8 @@ var WizardCustomizeStep = function WizardCustomizeStep(_ref) {
8342
8373
  });
8343
8374
  };
8344
8375
 
8345
- function ownKeys$W(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
8346
- function _objectSpread$W(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$W(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$W(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
8376
+ 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; }
8377
+ 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; }
8347
8378
  var TOTAL_STEPS = 5; // Steps 0-4: Discover, Name, Folder, Theme, Review
8348
8379
 
8349
8380
  var initialState = {
@@ -8369,20 +8400,20 @@ var initialState = {
8369
8400
  function wizardReducer(state, action) {
8370
8401
  switch (action.type) {
8371
8402
  case "SET_STEP":
8372
- return _objectSpread$W(_objectSpread$W({}, state), {}, {
8403
+ return _objectSpread$X(_objectSpread$X({}, state), {}, {
8373
8404
  step: action.payload
8374
8405
  });
8375
8406
  case "SET_FILTERS":
8376
- return _objectSpread$W(_objectSpread$W({}, state), {}, {
8377
- filters: _objectSpread$W(_objectSpread$W({}, state.filters), action.payload)
8407
+ return _objectSpread$X(_objectSpread$X({}, state), {}, {
8408
+ filters: _objectSpread$X(_objectSpread$X({}, state.filters), action.payload)
8378
8409
  });
8379
8410
  case "TOGGLE_FILTER_CATEGORY":
8380
8411
  {
8381
8412
  var categories = state.filters.categories.includes(action.payload) ? state.filters.categories.filter(function (c) {
8382
8413
  return c !== action.payload;
8383
8414
  }) : [].concat(_toConsumableArray(state.filters.categories), [action.payload]);
8384
- return _objectSpread$W(_objectSpread$W({}, state), {}, {
8385
- filters: _objectSpread$W(_objectSpread$W({}, state.filters), {}, {
8415
+ return _objectSpread$X(_objectSpread$X({}, state), {}, {
8416
+ filters: _objectSpread$X(_objectSpread$X({}, state.filters), {}, {
8386
8417
  categories: categories
8387
8418
  })
8388
8419
  });
@@ -8392,15 +8423,15 @@ function wizardReducer(state, action) {
8392
8423
  var providers = state.filters.providers.includes(action.payload) ? state.filters.providers.filter(function (p) {
8393
8424
  return p !== action.payload;
8394
8425
  }) : [].concat(_toConsumableArray(state.filters.providers), [action.payload]);
8395
- return _objectSpread$W(_objectSpread$W({}, state), {}, {
8396
- filters: _objectSpread$W(_objectSpread$W({}, state.filters), {}, {
8426
+ return _objectSpread$X(_objectSpread$X({}, state), {}, {
8427
+ filters: _objectSpread$X(_objectSpread$X({}, state.filters), {}, {
8397
8428
  providers: providers
8398
8429
  })
8399
8430
  });
8400
8431
  }
8401
8432
  case "SET_SEARCH_QUERY":
8402
- return _objectSpread$W(_objectSpread$W({}, state), {}, {
8403
- filters: _objectSpread$W(_objectSpread$W({}, state.filters), {}, {
8433
+ return _objectSpread$X(_objectSpread$X({}, state), {}, {
8434
+ filters: _objectSpread$X(_objectSpread$X({}, state.filters), {}, {
8404
8435
  query: action.payload
8405
8436
  })
8406
8437
  });
@@ -8410,7 +8441,7 @@ function wizardReducer(state, action) {
8410
8441
  var widgetOrder = action.payload.map(function (w) {
8411
8442
  return w.name || w.key;
8412
8443
  });
8413
- return _objectSpread$W(_objectSpread$W({}, state), {}, {
8444
+ return _objectSpread$X(_objectSpread$X({}, state), {}, {
8414
8445
  selectedWidgets: action.payload,
8415
8446
  layout: {
8416
8447
  templateKey: templateKey,
@@ -8430,7 +8461,7 @@ function wizardReducer(state, action) {
8430
8461
  var toggleWidgetOrder = selectedWidgets.map(function (w) {
8431
8462
  return w.name || w.key;
8432
8463
  });
8433
- return _objectSpread$W(_objectSpread$W({}, state), {}, {
8464
+ return _objectSpread$X(_objectSpread$X({}, state), {}, {
8434
8465
  selectedWidgets: selectedWidgets,
8435
8466
  layout: {
8436
8467
  templateKey: toggleTemplateKey,
@@ -8439,29 +8470,29 @@ function wizardReducer(state, action) {
8439
8470
  });
8440
8471
  }
8441
8472
  case "SET_SELECTED_DASHBOARD":
8442
- return _objectSpread$W(_objectSpread$W({}, state), {}, {
8473
+ return _objectSpread$X(_objectSpread$X({}, state), {}, {
8443
8474
  selectedDashboard: action.payload
8444
8475
  });
8445
8476
  case "SET_PATH":
8446
- return _objectSpread$W(_objectSpread$W({}, state), {}, {
8477
+ return _objectSpread$X(_objectSpread$X({}, state), {}, {
8447
8478
  path: action.payload
8448
8479
  });
8449
8480
  case "SET_LAYOUT":
8450
- return _objectSpread$W(_objectSpread$W({}, state), {}, {
8481
+ return _objectSpread$X(_objectSpread$X({}, state), {}, {
8451
8482
  layout: action.payload
8452
8483
  });
8453
8484
  case "REORDER_WIDGETS":
8454
- return _objectSpread$W(_objectSpread$W({}, state), {}, {
8455
- layout: _objectSpread$W(_objectSpread$W({}, state.layout), {}, {
8485
+ return _objectSpread$X(_objectSpread$X({}, state), {}, {
8486
+ layout: _objectSpread$X(_objectSpread$X({}, state.layout), {}, {
8456
8487
  widgetOrder: action.payload
8457
8488
  })
8458
8489
  });
8459
8490
  case "SET_CUSTOMIZATION":
8460
- return _objectSpread$W(_objectSpread$W({}, state), {}, {
8461
- customization: _objectSpread$W(_objectSpread$W({}, state.customization), action.payload)
8491
+ return _objectSpread$X(_objectSpread$X({}, state), {}, {
8492
+ customization: _objectSpread$X(_objectSpread$X({}, state.customization), action.payload)
8462
8493
  });
8463
8494
  case "RESET":
8464
- return _objectSpread$W({}, initialState);
8495
+ return _objectSpread$X({}, initialState);
8465
8496
  default:
8466
8497
  return state;
8467
8498
  }
@@ -9241,8 +9272,8 @@ var _excluded$6 = ["rows", "cols"];
9241
9272
  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; } } }; }
9242
9273
  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; } }
9243
9274
  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; }
9244
- 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; }
9245
- 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; }
9275
+ function ownKeys$W(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
9276
+ function _objectSpread$W(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$W(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$W(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
9246
9277
  var defaultGrid = {
9247
9278
  rows: 1,
9248
9279
  cols: 1,
@@ -9263,7 +9294,7 @@ function GridEditor(_ref) {
9263
9294
  setGrid = _useState2[1];
9264
9295
  var addRow = function addRow() {
9265
9296
  var newRow = grid.rows;
9266
- var newGrid = _objectSpread$V(_objectSpread$V({}, grid), {}, {
9297
+ var newGrid = _objectSpread$W(_objectSpread$W({}, grid), {}, {
9267
9298
  rows: grid.rows + 1
9268
9299
  });
9269
9300
  for (var col = 0; col < grid.cols; col++) {
@@ -9278,7 +9309,7 @@ function GridEditor(_ref) {
9278
9309
  };
9279
9310
  var addColumn = function addColumn() {
9280
9311
  var newCol = grid.cols;
9281
- var newGrid = _objectSpread$V(_objectSpread$V({}, grid), {}, {
9312
+ var newGrid = _objectSpread$W(_objectSpread$W({}, grid), {}, {
9282
9313
  cols: grid.cols + 1
9283
9314
  });
9284
9315
  for (var row = 0; row < grid.rows; row++) {
@@ -9311,8 +9342,8 @@ function GridEditor(_ref) {
9311
9342
  });
9312
9343
  }
9313
9344
  if (grid[nextKey]) {
9314
- var newGrid = _objectSpread$V({}, grid);
9315
- newGrid[currentKey] = _objectSpread$V(_objectSpread$V({}, newGrid[currentKey]), {}, {
9345
+ var newGrid = _objectSpread$W({}, grid);
9346
+ newGrid[currentKey] = _objectSpread$W(_objectSpread$W({}, newGrid[currentKey]), {}, {
9316
9347
  colSpan: newGrid[currentKey].colSpan + 1
9317
9348
  });
9318
9349
  delete newGrid[nextKey];
@@ -9325,8 +9356,8 @@ function GridEditor(_ref) {
9325
9356
  var currentKey = "".concat(row, ".").concat(col);
9326
9357
  var belowKey = "".concat(row + 1, ".").concat(col);
9327
9358
  if (grid[belowKey]) {
9328
- var newGrid = _objectSpread$V({}, grid);
9329
- newGrid[currentKey] = _objectSpread$V(_objectSpread$V({}, newGrid[currentKey]), {}, {
9359
+ var newGrid = _objectSpread$W({}, grid);
9360
+ newGrid[currentKey] = _objectSpread$W(_objectSpread$W({}, newGrid[currentKey]), {}, {
9330
9361
  rowSpan: newGrid[currentKey].rowSpan + 1
9331
9362
  });
9332
9363
  delete newGrid[belowKey];
@@ -9343,7 +9374,7 @@ function GridEditor(_ref) {
9343
9374
  var splitCell = function splitCell(row, col) {
9344
9375
  var key = "".concat(row, ".").concat(col);
9345
9376
  var cell = grid[key];
9346
- var newGrid = _objectSpread$V({}, grid);
9377
+ var newGrid = _objectSpread$W({}, grid);
9347
9378
 
9348
9379
  // we have to check the colspan, and since the colspan is greater than 1
9349
9380
  // Only handle horizontal split if colSpan > 1
@@ -9359,13 +9390,13 @@ function GridEditor(_ref) {
9359
9390
  var oldKey = "".concat(row, ".").concat(c);
9360
9391
  var newKey = "".concat(row, ".").concat(c + 1);
9361
9392
  if (newGrid[oldKey]) {
9362
- newGrid[newKey] = _objectSpread$V({}, newGrid[oldKey]);
9393
+ newGrid[newKey] = _objectSpread$W({}, newGrid[oldKey]);
9363
9394
  delete newGrid[oldKey];
9364
9395
  }
9365
9396
  }
9366
9397
 
9367
9398
  // Update the original cell's colSpan
9368
- newGrid[key] = _objectSpread$V(_objectSpread$V({}, cell), {}, {
9399
+ newGrid[key] = _objectSpread$W(_objectSpread$W({}, cell), {}, {
9369
9400
  colSpan: cell.colSpan - 1
9370
9401
  });
9371
9402
 
@@ -9377,7 +9408,7 @@ function GridEditor(_ref) {
9377
9408
  };
9378
9409
  }
9379
9410
  if (cell.rowSpan > 1) {
9380
- newGrid[key] = _objectSpread$V(_objectSpread$V({}, newGrid[key]), {}, {
9411
+ newGrid[key] = _objectSpread$W(_objectSpread$W({}, newGrid[key]), {}, {
9381
9412
  rowSpan: cell.rowSpan - 1
9382
9413
  });
9383
9414
  newGrid["".concat(row + 1, ".").concat(col)] = {
@@ -9496,7 +9527,7 @@ function GridEditor(_ref) {
9496
9527
  var fromKey = "".concat(from.row, ".").concat(from.col);
9497
9528
  var toKey = "".concat(to.row, ".").concat(to.col);
9498
9529
  if (fromKey === toKey) return;
9499
- var newGrid = _objectSpread$V({}, grid);
9530
+ var newGrid = _objectSpread$W({}, grid);
9500
9531
 
9501
9532
  // Swap the cells
9502
9533
  var temp = newGrid[fromKey];
@@ -9522,7 +9553,7 @@ function GridEditor(_ref) {
9522
9553
  // console.log("Grid updated:", sequencedGrid);
9523
9554
  }
9524
9555
  function resetGridLayout() {
9525
- var newGrid = _objectSpread$V({}, defaultGrid);
9556
+ var newGrid = _objectSpread$W({}, defaultGrid);
9526
9557
  setGrid(newGrid);
9527
9558
  onUpdate(newGrid);
9528
9559
  }
@@ -9800,8 +9831,8 @@ var PanelEditItemGrid = function PanelEditItemGrid(_ref) {
9800
9831
  });
9801
9832
  };
9802
9833
 
9803
- function ownKeys$U(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
9804
- function _objectSpread$U(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$U(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$U(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
9834
+ 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; }
9835
+ 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; }
9805
9836
  var PanelEditItemNotifications = function PanelEditItemNotifications(_ref) {
9806
9837
  var item = _ref.item;
9807
9838
  _ref.workspace;
@@ -9824,7 +9855,7 @@ var PanelEditItemNotifications = function PanelEditItemNotifications(_ref) {
9824
9855
  }, [widgetUuid, notificationDefs.length]);
9825
9856
  function handleNotifToggle(typeKey, value) {
9826
9857
  var _window$mainApi2;
9827
- var updated = _objectSpread$U(_objectSpread$U({}, notifPrefs), {}, _defineProperty({}, typeKey, value));
9858
+ var updated = _objectSpread$V(_objectSpread$V({}, notifPrefs), {}, _defineProperty({}, typeKey, value));
9828
9859
  setNotifPrefs(updated);
9829
9860
  if ((_window$mainApi2 = window.mainApi) !== null && _window$mainApi2 !== void 0 && (_window$mainApi2 = _window$mainApi2.notifications) !== null && _window$mainApi2 !== void 0 && _window$mainApi2.setPreferences && widgetUuid) {
9830
9861
  window.mainApi.notifications.setPreferences(widgetUuid, _defineProperty({}, typeKey, value));
@@ -9869,8 +9900,8 @@ var PanelEditItemNotifications = function PanelEditItemNotifications(_ref) {
9869
9900
  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; } } }; }
9870
9901
  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; } }
9871
9902
  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; }
9872
- 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; }
9873
- 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; }
9903
+ function ownKeys$U(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
9904
+ function _objectSpread$U(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$U(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$U(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
9874
9905
  var DAYS = [{
9875
9906
  key: "mon",
9876
9907
  label: "Mon"
@@ -9971,7 +10002,7 @@ function TaskScheduleEditor(_ref) {
9971
10002
  var _window$mainApi;
9972
10003
  var overrides = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
9973
10004
  if (!((_window$mainApi = window.mainApi) !== null && _window$mainApi !== void 0 && (_window$mainApi = _window$mainApi.scheduler) !== null && _window$mainApi !== void 0 && _window$mainApi.registerTask)) return;
9974
- var payload = _objectSpread$T({
10005
+ var payload = _objectSpread$U({
9975
10006
  widgetId: widgetId,
9976
10007
  widgetName: widgetName,
9977
10008
  workspaceId: workspaceId || "",
@@ -10246,8 +10277,8 @@ var PanelEditItemSchedule = function PanelEditItemSchedule(_ref2) {
10246
10277
  });
10247
10278
  };
10248
10279
 
10249
- function ownKeys$S(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
10250
- function _objectSpread$S(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$S(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$S(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
10280
+ 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; }
10281
+ 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; }
10251
10282
  var DERIVED_FIELDS = ["widgetConfig",
10252
10283
  // biggest offender — full component definition blob
10253
10284
  "uuid", "dashboardId", "parentWorkspaceName", "componentName", "siblingCount", "hasChildren", "canHaveChildren", "events",
@@ -10311,7 +10342,7 @@ var PanelCode = function PanelCode(_ref) {
10311
10342
  // expects. LayoutModel re-derives these on reload, but losing
10312
10343
  // them between render cycles can cause flashes of "unknown
10313
10344
  // widget" state.
10314
- var merged = _objectSpread$S({}, itemSelected);
10345
+ var merged = _objectSpread$T({}, itemSelected);
10315
10346
  for (var _i2 = 0, _Object$keys = Object.keys(edited); _i2 < _Object$keys.length; _i2++) {
10316
10347
  var k = _Object$keys[_i2];
10317
10348
  merged[k] = edited[k];
@@ -10767,8 +10798,8 @@ function getAllProviderBindings(_ref3) {
10767
10798
  return bindings;
10768
10799
  }
10769
10800
 
10770
- function ownKeys$R(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; }
10771
- function _objectSpread$R(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$R(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$R(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
10801
+ function ownKeys$S(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
10802
+ function _objectSpread$S(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$S(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$S(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
10772
10803
  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; } } }; }
10773
10804
  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; } }
10774
10805
  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; }
@@ -11017,13 +11048,13 @@ function getOrphanedListeners(workspace, getWidgetConfig) {
11017
11048
  // missing. Preserves the user's ability to see whether a
11018
11049
  // rename happened vs. a delete.
11019
11050
  var fallback = byItemId.get(String(w.sourceItemId));
11020
- orphans.push(_objectSpread$R(_objectSpread$R({}, w), {}, {
11051
+ orphans.push(_objectSpread$S(_objectSpread$S({}, w), {}, {
11021
11052
  reason: fallback ? "source-component-mismatch" : "source-missing"
11022
11053
  }));
11023
11054
  continue;
11024
11055
  }
11025
11056
  if (!src.events.includes(w.eventName)) {
11026
- orphans.push(_objectSpread$R(_objectSpread$R({}, w), {}, {
11057
+ orphans.push(_objectSpread$S(_objectSpread$S({}, w), {}, {
11027
11058
  reason: "event-not-emitted"
11028
11059
  }));
11029
11060
  continue;
@@ -11031,7 +11062,7 @@ function getOrphanedListeners(workspace, getWidgetConfig) {
11031
11062
  var receiverKey = "".concat(w.receiverComponent, "|").concat(w.receiverItemId);
11032
11063
  var receiver = byCompositeKey.get(receiverKey);
11033
11064
  if (receiver && !receiver.eventHandlers.includes(w.handlerName)) {
11034
- orphans.push(_objectSpread$R(_objectSpread$R({}, w), {}, {
11065
+ orphans.push(_objectSpread$S(_objectSpread$S({}, w), {}, {
11035
11066
  reason: "handler-not-declared"
11036
11067
  }));
11037
11068
  }
@@ -11241,29 +11272,29 @@ function applyWiringChanges(workspace, _ref) {
11241
11272
  var change = id != null ? byReceiver.get(String(id)) : null;
11242
11273
  if (change) {
11243
11274
  var newListeners = applyToItem(item.listeners || {}, change);
11244
- next = _objectSpread$R(_objectSpread$R({}, next), {}, {
11275
+ next = _objectSpread$S(_objectSpread$S({}, next), {}, {
11245
11276
  listeners: newListeners
11246
11277
  });
11247
11278
  }
11248
11279
  if (Array.isArray(next.items)) {
11249
- next = _objectSpread$R(_objectSpread$R({}, next), {}, {
11280
+ next = _objectSpread$S(_objectSpread$S({}, next), {}, {
11250
11281
  items: cloneList(next.items)
11251
11282
  });
11252
11283
  }
11253
11284
  if (Array.isArray(next.layout)) {
11254
- next = _objectSpread$R(_objectSpread$R({}, next), {}, {
11285
+ next = _objectSpread$S(_objectSpread$S({}, next), {}, {
11255
11286
  layout: cloneList(next.layout)
11256
11287
  });
11257
11288
  }
11258
11289
  return next;
11259
11290
  };
11260
- var updatedWs = _objectSpread$R({}, workspace);
11291
+ var updatedWs = _objectSpread$S({}, workspace);
11261
11292
  if (Array.isArray(workspace.layout)) {
11262
11293
  updatedWs.layout = cloneList(workspace.layout);
11263
11294
  }
11264
11295
  if (Array.isArray(workspace.pages)) {
11265
11296
  updatedWs.pages = workspace.pages.map(function (page) {
11266
- return _objectSpread$R(_objectSpread$R({}, page), {}, {
11297
+ return _objectSpread$S(_objectSpread$S({}, page), {}, {
11267
11298
  layout: cloneList(page.layout)
11268
11299
  });
11269
11300
  });
@@ -11639,8 +11670,8 @@ var getUserConfigurableProviders = function getUserConfigurableProviders(provide
11639
11670
  });
11640
11671
  };
11641
11672
 
11642
- 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; }
11643
- 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; }
11673
+ function ownKeys$R(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; }
11674
+ function _objectSpread$R(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$R(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$R(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
11644
11675
  var PanelEditItemProviders = function PanelEditItemProviders(_ref) {
11645
11676
  var workspace = _ref.workspace,
11646
11677
  onUpdate = _ref.onUpdate,
@@ -11672,7 +11703,7 @@ var PanelEditItemProviders = function PanelEditItemProviders(_ref) {
11672
11703
  var selectedProviders = itemSelected.selectedProviders || {};
11673
11704
  function handleProviderChange(providerType, providerName) {
11674
11705
  var updatedItem = DashReact.deepCopy(itemSelected);
11675
- var nextProviders = _objectSpread$Q({}, updatedItem.selectedProviders || {});
11706
+ var nextProviders = _objectSpread$R({}, updatedItem.selectedProviders || {});
11676
11707
  if (providerName) {
11677
11708
  nextProviders[providerType] = providerName;
11678
11709
  } else {
@@ -11693,8 +11724,8 @@ var PanelEditItemProviders = function PanelEditItemProviders(_ref) {
11693
11724
  var widgetId = updatedItem.uuidString || updatedItem.uuid || updatedItem.id;
11694
11725
  if (widgetId != null) {
11695
11726
  var wsKey = String(widgetId);
11696
- var nextSelectedProviders = _objectSpread$Q({}, updatedWorkspace.selectedProviders || {});
11697
- var prevForWidget = nextSelectedProviders[wsKey] ? _objectSpread$Q({}, nextSelectedProviders[wsKey]) : {};
11727
+ var nextSelectedProviders = _objectSpread$R({}, updatedWorkspace.selectedProviders || {});
11728
+ var prevForWidget = nextSelectedProviders[wsKey] ? _objectSpread$R({}, nextSelectedProviders[wsKey]) : {};
11698
11729
  if (providerName) {
11699
11730
  prevForWidget[providerType] = providerName;
11700
11731
  } else {
@@ -11739,7 +11770,7 @@ var PanelEditItemProviders = function PanelEditItemProviders(_ref) {
11739
11770
  var _ref5 = _slicedToArray(_ref4, 2),
11740
11771
  name = _ref5[0],
11741
11772
  p = _ref5[1];
11742
- return _objectSpread$Q({
11773
+ return _objectSpread$R({
11743
11774
  name: name
11744
11775
  }, p);
11745
11776
  });
@@ -13490,8 +13521,8 @@ var WidgetIcon = function WidgetIcon(_ref) {
13490
13521
  });
13491
13522
  };
13492
13523
 
13493
- 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; }
13494
- 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; }
13524
+ 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; }
13525
+ 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; }
13495
13526
  var ProviderForm = function ProviderForm(_ref) {
13496
13527
  var credentialSchema = _ref.credentialSchema,
13497
13528
  _ref$initialValues = _ref.initialValues,
@@ -13536,14 +13567,14 @@ var ProviderForm = function ProviderForm(_ref) {
13536
13567
  var oldKey = f.key;
13537
13568
  if (oldKey && formData[oldKey] !== undefined) {
13538
13569
  setFormData(function (fd) {
13539
- var updated = _objectSpread$P({}, fd);
13570
+ var updated = _objectSpread$Q({}, fd);
13540
13571
  var val = updated[oldKey];
13541
13572
  delete updated[oldKey];
13542
13573
  if (newKey.trim()) updated[newKey] = val;
13543
13574
  return updated;
13544
13575
  });
13545
13576
  }
13546
- return _objectSpread$P(_objectSpread$P({}, f), {}, {
13577
+ return _objectSpread$Q(_objectSpread$Q({}, f), {}, {
13547
13578
  key: newKey
13548
13579
  });
13549
13580
  });
@@ -13555,14 +13586,14 @@ var ProviderForm = function ProviderForm(_ref) {
13555
13586
  });
13556
13587
  if (field !== null && field !== void 0 && field.key) {
13557
13588
  setFormData(function (prev) {
13558
- return _objectSpread$P(_objectSpread$P({}, prev), {}, _defineProperty({}, field.key, value));
13589
+ return _objectSpread$Q(_objectSpread$Q({}, prev), {}, _defineProperty({}, field.key, value));
13559
13590
  });
13560
13591
  }
13561
13592
  };
13562
13593
  var handleDynamicSecretToggle = function handleDynamicSecretToggle(id) {
13563
13594
  setDynamicFields(function (prev) {
13564
13595
  return prev.map(function (f) {
13565
- return f.id === id ? _objectSpread$P(_objectSpread$P({}, f), {}, {
13596
+ return f.id === id ? _objectSpread$Q(_objectSpread$Q({}, f), {}, {
13566
13597
  secret: !f.secret
13567
13598
  }) : f;
13568
13599
  });
@@ -13584,7 +13615,7 @@ var ProviderForm = function ProviderForm(_ref) {
13584
13615
  });
13585
13616
  if (field !== null && field !== void 0 && field.key) {
13586
13617
  setFormData(function (prev) {
13587
- var updated = _objectSpread$P({}, prev);
13618
+ var updated = _objectSpread$Q({}, prev);
13588
13619
  delete updated[field.key];
13589
13620
  return updated;
13590
13621
  });
@@ -13626,13 +13657,13 @@ var ProviderForm = function ProviderForm(_ref) {
13626
13657
  */
13627
13658
  var handleInputChange = function handleInputChange(fieldName, value) {
13628
13659
  setFormData(function (prev) {
13629
- return _objectSpread$P(_objectSpread$P({}, prev), {}, _defineProperty({}, fieldName, value));
13660
+ return _objectSpread$Q(_objectSpread$Q({}, prev), {}, _defineProperty({}, fieldName, value));
13630
13661
  });
13631
13662
 
13632
13663
  // Clear error for this field if it was filled
13633
13664
  if (errors[fieldName] && value !== null && value !== void 0 && value.trim()) {
13634
13665
  setErrors(function (prev) {
13635
- var newErrors = _objectSpread$P({}, prev);
13666
+ var newErrors = _objectSpread$Q({}, prev);
13636
13667
  delete newErrors[fieldName];
13637
13668
  return newErrors;
13638
13669
  });
@@ -13670,7 +13701,7 @@ var ProviderForm = function ProviderForm(_ref) {
13670
13701
  // Clear error if filled
13671
13702
  if (errors.providerName && value !== null && value !== void 0 && value.trim()) {
13672
13703
  setErrors(function (prev) {
13673
- var newErrors = _objectSpread$P({}, prev);
13704
+ var newErrors = _objectSpread$Q({}, prev);
13674
13705
  delete newErrors.providerName;
13675
13706
  return newErrors;
13676
13707
  });
@@ -13907,8 +13938,8 @@ var ToolSelector$1 = function ToolSelector(_ref) {
13907
13938
  });
13908
13939
  };
13909
13940
 
13910
- function ownKeys$O(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
13911
- function _objectSpread$O(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$O(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$O(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
13941
+ 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; }
13942
+ 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; }
13912
13943
  /**
13913
13944
  * Shared MCP utility functions.
13914
13945
  *
@@ -14036,7 +14067,7 @@ function buildMcpConfigFromOverrides(baseMcpConfig, envMappingRows, headerRows)
14036
14067
  headerTemplate[name] = value;
14037
14068
  }
14038
14069
  });
14039
- var config = _objectSpread$O({}, baseMcpConfig);
14070
+ var config = _objectSpread$P({}, baseMcpConfig);
14040
14071
  if (Object.keys(headerTemplate).length > 0) {
14041
14072
  config.headerTemplate = headerTemplate;
14042
14073
  } else {
@@ -14054,7 +14085,7 @@ function buildMcpConfigFromOverrides(baseMcpConfig, envMappingRows, headerRows)
14054
14085
  envMapping[env] = cred;
14055
14086
  }
14056
14087
  });
14057
- return _objectSpread$O(_objectSpread$O({}, baseMcpConfig), {}, {
14088
+ return _objectSpread$P(_objectSpread$P({}, baseMcpConfig), {}, {
14058
14089
  envMapping: envMapping
14059
14090
  });
14060
14091
  }
@@ -14291,8 +14322,8 @@ function mcpJsonToFormState(jsonString, nextRowId) {
14291
14322
  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; } } }; }
14292
14323
  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; } }
14293
14324
  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; }
14294
- function ownKeys$N(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; }
14295
- function _objectSpread$N(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$N(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$N(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
14325
+ function ownKeys$O(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
14326
+ function _objectSpread$O(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$O(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$O(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
14296
14327
  var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
14297
14328
  var isOpen = _ref.isOpen,
14298
14329
  onClose = _ref.onClose,
@@ -14487,7 +14518,7 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
14487
14518
  .map(function (entry) {
14488
14519
  var widget = allWidgets[entry.widgetKey];
14489
14520
  if (!widget) return null; // Widget no longer exists
14490
- return _objectSpread$N(_objectSpread$N({
14521
+ return _objectSpread$O(_objectSpread$O({
14491
14522
  key: entry.widgetKey
14492
14523
  }, widget), {}, {
14493
14524
  savedProviders: entry.providers || {},
@@ -14638,7 +14669,7 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
14638
14669
  // Get widgets from ComponentManager
14639
14670
  var allWidgets = ComponentManager.map();
14640
14671
  var widgetList = Object.keys(allWidgets).map(function (key) {
14641
- return _objectSpread$N({
14672
+ return _objectSpread$O({
14642
14673
  key: key
14643
14674
  }, allWidgets[key]);
14644
14675
  }).filter(function (widget) {
@@ -14864,7 +14895,7 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
14864
14895
  setInlineCreateType(null);
14865
14896
  setInlineCreateSchema({});
14866
14897
  setInlineCreateError(null);
14867
- setSelectedProviders(_objectSpread$N(_objectSpread$N({}, selectedProviders), {}, _defineProperty({}, providerType, providerName)));
14898
+ setSelectedProviders(_objectSpread$O(_objectSpread$O({}, selectedProviders), {}, _defineProperty({}, providerType, providerName)));
14868
14899
  }
14869
14900
  };
14870
14901
  var handleInlineProviderSubmit = function handleInlineProviderSubmit(formData) {
@@ -14885,7 +14916,7 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
14885
14916
 
14886
14917
  // Auto-select the newly created provider
14887
14918
  setSelectedProviders(function (prev) {
14888
- return _objectSpread$N(_objectSpread$N({}, prev), {}, _defineProperty({}, providerType, providerName));
14919
+ return _objectSpread$O(_objectSpread$O({}, prev), {}, _defineProperty({}, providerType, providerName));
14889
14920
  });
14890
14921
 
14891
14922
  // Collapse the inline form
@@ -14939,11 +14970,11 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
14939
14970
  };
14940
14971
  var inlineHandleCredentialChange = function inlineHandleCredentialChange(fieldName, value) {
14941
14972
  setInlineCredentialData(function (prev) {
14942
- return _objectSpread$N(_objectSpread$N({}, prev), {}, _defineProperty({}, fieldName, value));
14973
+ return _objectSpread$O(_objectSpread$O({}, prev), {}, _defineProperty({}, fieldName, value));
14943
14974
  });
14944
14975
  if (inlineFormErrors[fieldName] && value !== null && value !== void 0 && value.trim()) {
14945
14976
  setInlineFormErrors(function (prev) {
14946
- var next = _objectSpread$N({}, prev);
14977
+ var next = _objectSpread$O({}, prev);
14947
14978
  delete next[fieldName];
14948
14979
  return next;
14949
14980
  });
@@ -15036,7 +15067,7 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
15036
15067
  refreshProviders();
15037
15068
  }
15038
15069
  setSelectedProviders(function (prev) {
15039
- return _objectSpread$N(_objectSpread$N({}, prev), {}, _defineProperty({}, providerType, providerName));
15070
+ return _objectSpread$O(_objectSpread$O({}, prev), {}, _defineProperty({}, providerType, providerName));
15040
15071
  });
15041
15072
 
15042
15073
  // Reset stepper state
@@ -15057,7 +15088,7 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
15057
15088
  });
15058
15089
  };
15059
15090
  var handleConfigChange = function handleConfigChange(key, value) {
15060
- setUserConfigValues(_objectSpread$N(_objectSpread$N({}, userConfigValues), {}, _defineProperty({}, key, value)));
15091
+ setUserConfigValues(_objectSpread$O(_objectSpread$O({}, userConfigValues), {}, _defineProperty({}, key, value)));
15061
15092
  };
15062
15093
 
15063
15094
  // Install a package from the registry
@@ -15123,7 +15154,7 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
15123
15154
  // Mark items as installed
15124
15155
  setProgressWidgets(function (prev) {
15125
15156
  return prev.map(function (w) {
15126
- return _objectSpread$N(_objectSpread$N({}, w), {}, {
15157
+ return _objectSpread$O(_objectSpread$O({}, w), {}, {
15127
15158
  status: "installed"
15128
15159
  });
15129
15160
  });
@@ -15142,7 +15173,7 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
15142
15173
  setInstallError(msg);
15143
15174
  setProgressWidgets(function (prev) {
15144
15175
  return prev.map(function (w) {
15145
- return _objectSpread$N(_objectSpread$N({}, w), {}, {
15176
+ return _objectSpread$O(_objectSpread$O({}, w), {}, {
15146
15177
  status: "failed",
15147
15178
  error: msg
15148
15179
  });
@@ -15216,7 +15247,7 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
15216
15247
 
15217
15248
  // Phase 3: Save to recent widgets
15218
15249
  saveToRecent(selectedWidget, selectedProviders, userConfigValues);
15219
- onSelectWidget(_objectSpread$N(_objectSpread$N({}, selectedWidget), {}, {
15250
+ onSelectWidget(_objectSpread$O(_objectSpread$O({}, selectedWidget), {}, {
15220
15251
  selectedProviders: selectedProviders,
15221
15252
  // Pass to parent
15222
15253
  userConfigValues: userConfigValues // Pass to parent
@@ -15859,7 +15890,7 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
15859
15890
  setInlineProviderName(value);
15860
15891
  if (inlineFormErrors.providerName && value !== null && value !== void 0 && value.trim()) {
15861
15892
  setInlineFormErrors(function (prev) {
15862
- var next = _objectSpread$N({}, prev);
15893
+ var next = _objectSpread$O({}, prev);
15863
15894
  delete next.providerName;
15864
15895
  return next;
15865
15896
  });
@@ -17045,8 +17076,8 @@ var ProviderSelector = function ProviderSelector(_ref) {
17045
17076
  });
17046
17077
  };
17047
17078
 
17048
- function ownKeys$M(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
17049
- function _objectSpread$M(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$M(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$M(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
17079
+ function ownKeys$N(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; }
17080
+ function _objectSpread$N(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$N(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$N(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
17050
17081
  var AdvancedMcpConfig = function AdvancedMcpConfig(_ref) {
17051
17082
  var transport = _ref.transport,
17052
17083
  envMappingRows = _ref.envMappingRows,
@@ -17075,7 +17106,7 @@ var AdvancedMcpConfig = function AdvancedMcpConfig(_ref) {
17075
17106
  var updateEnvRow = function updateEnvRow(id, field, value) {
17076
17107
  onEnvMappingRowsChange(function (prev) {
17077
17108
  return prev.map(function (row) {
17078
- return row.id === id ? _objectSpread$M(_objectSpread$M({}, row), {}, _defineProperty({}, field, value)) : row;
17109
+ return row.id === id ? _objectSpread$N(_objectSpread$N({}, row), {}, _defineProperty({}, field, value)) : row;
17079
17110
  });
17080
17111
  });
17081
17112
  };
@@ -17100,7 +17131,7 @@ var AdvancedMcpConfig = function AdvancedMcpConfig(_ref) {
17100
17131
  var updateHeaderRow = function updateHeaderRow(id, field, value) {
17101
17132
  onHeaderRowsChange(function (prev) {
17102
17133
  return prev.map(function (row) {
17103
- return row.id === id ? _objectSpread$M(_objectSpread$M({}, row), {}, _defineProperty({}, field, value)) : row;
17134
+ return row.id === id ? _objectSpread$N(_objectSpread$N({}, row), {}, _defineProperty({}, field, value)) : row;
17104
17135
  });
17105
17136
  });
17106
17137
  };
@@ -17249,8 +17280,8 @@ var AdvancedMcpConfig = function AdvancedMcpConfig(_ref) {
17249
17280
  });
17250
17281
  };
17251
17282
 
17252
- function ownKeys$L(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
17253
- function _objectSpread$L(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$L(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$L(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
17283
+ function ownKeys$M(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
17284
+ function _objectSpread$M(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$M(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$M(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
17254
17285
  var McpServerPicker = function McpServerPicker(_ref) {
17255
17286
  var _testResult$tools;
17256
17287
  var isOpen = _ref.isOpen,
@@ -17429,11 +17460,11 @@ var McpServerPicker = function McpServerPicker(_ref) {
17429
17460
  // Handle credential field changes
17430
17461
  var handleCredentialChange = function handleCredentialChange(fieldName, value) {
17431
17462
  setCredentialData(function (prev) {
17432
- return _objectSpread$L(_objectSpread$L({}, prev), {}, _defineProperty({}, fieldName, value));
17463
+ return _objectSpread$M(_objectSpread$M({}, prev), {}, _defineProperty({}, fieldName, value));
17433
17464
  });
17434
17465
  if (formErrors[fieldName] && value !== null && value !== void 0 && value.trim()) {
17435
17466
  setFormErrors(function (prev) {
17436
- var next = _objectSpread$L({}, prev);
17467
+ var next = _objectSpread$M({}, prev);
17437
17468
  delete next[fieldName];
17438
17469
  return next;
17439
17470
  });
@@ -17771,7 +17802,7 @@ var McpServerPicker = function McpServerPicker(_ref) {
17771
17802
  setProviderName(value);
17772
17803
  if (formErrors.providerName && value !== null && value !== void 0 && value.trim()) {
17773
17804
  setFormErrors(function (prev) {
17774
- var next = _objectSpread$L({}, prev);
17805
+ var next = _objectSpread$M({}, prev);
17775
17806
  delete next.providerName;
17776
17807
  return next;
17777
17808
  });
@@ -17961,8 +17992,8 @@ var McpServerPicker = function McpServerPicker(_ref) {
17961
17992
  });
17962
17993
  };
17963
17994
 
17964
- 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; }
17965
- 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; }
17995
+ function ownKeys$L(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
17996
+ function _objectSpread$L(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$L(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$L(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
17966
17997
  var USE_ENHANCED_WIDGET_SELECTOR = true; // Set to false to use original modal
17967
17998
 
17968
17999
  /**
@@ -18008,7 +18039,7 @@ var LayoutBuilder = function LayoutBuilder(_ref) {
18008
18039
  var _ref3 = _slicedToArray(_ref2, 2),
18009
18040
  id = _ref3[0],
18010
18041
  p = _ref3[1];
18011
- return _objectSpread$K(_objectSpread$K({}, p), {}, {
18042
+ return _objectSpread$L(_objectSpread$L({}, p), {}, {
18012
18043
  id: id,
18013
18044
  name: p.name || id
18014
18045
  });
@@ -18095,7 +18126,7 @@ var LayoutBuilder = function LayoutBuilder(_ref) {
18095
18126
  // so we use its layout to replace any corrupted grid data.
18096
18127
  if (workspace && workspace["layout"]) {
18097
18128
  var model = new DashboardModel(workspace);
18098
- setCurrentWorkspace(_objectSpread$K(_objectSpread$K({}, workspace), {}, {
18129
+ setCurrentWorkspace(_objectSpread$L(_objectSpread$L({}, workspace), {}, {
18099
18130
  layout: model.layout
18100
18131
  }));
18101
18132
  } else {
@@ -18168,7 +18199,7 @@ var LayoutBuilder = function LayoutBuilder(_ref) {
18168
18199
  }
18169
18200
  try {
18170
18201
  var hasChildren = config.type === "workspace";
18171
- var newLayout = addItemToItemLayout(ws.layout, gridItem.id, _objectSpread$K(_objectSpread$K({}, config), {}, {
18202
+ var newLayout = addItemToItemLayout(ws.layout, gridItem.id, _objectSpread$L(_objectSpread$L({}, config), {}, {
18172
18203
  component: widgetComponentName,
18173
18204
  packageId: config._sourcePackage || config.packageId || null
18174
18205
  }), hasChildren);
@@ -18614,7 +18645,7 @@ var LayoutBuilder = function LayoutBuilder(_ref) {
18614
18645
  var uuid = widget.uuid || widget.uuidString;
18615
18646
  if (uuid) {
18616
18647
  newWorkspace.selectedProviders = newWorkspace.selectedProviders || {};
18617
- newWorkspace.selectedProviders[uuid] = _objectSpread$K(_objectSpread$K({}, newWorkspace.selectedProviders[uuid] || {}), {}, _defineProperty({}, providerType, providerId));
18648
+ newWorkspace.selectedProviders[uuid] = _objectSpread$L(_objectSpread$L({}, newWorkspace.selectedProviders[uuid] || {}), {}, _defineProperty({}, providerType, providerId));
18618
18649
  }
18619
18650
  setCurrentWorkspace(newWorkspace);
18620
18651
  // Propagate to the parent (DashboardStage) so workspaceSelected
@@ -18758,7 +18789,7 @@ var LayoutBuilder = function LayoutBuilder(_ref) {
18758
18789
  var _gridContainer$grid;
18759
18790
  var config = ComponentManager.config(widgetKey);
18760
18791
  if (!config) return;
18761
- var widgetItem = _objectSpread$K(_objectSpread$K({}, config), {}, {
18792
+ var widgetItem = _objectSpread$L(_objectSpread$L({}, config), {}, {
18762
18793
  component: widgetKey,
18763
18794
  key: widgetKey,
18764
18795
  packageId: config._sourcePackage || config.packageId || null
@@ -19019,7 +19050,7 @@ var LayoutBuilder = function LayoutBuilder(_ref) {
19019
19050
  onSelectWidget: function onSelectWidget(widget) {
19020
19051
 
19021
19052
  // Add component property from widget.key
19022
- var widgetWithComponent = _objectSpread$K(_objectSpread$K({}, widget), {}, {
19053
+ var widgetWithComponent = _objectSpread$L(_objectSpread$L({}, widget), {}, {
19023
19054
  component: widget.key
19024
19055
  });
19025
19056
  handleClickConfirmAdd(widgetWithComponent, dropdownTarget);
@@ -20648,8 +20679,8 @@ var MissingProviderPrompt = function MissingProviderPrompt(_ref) {
20648
20679
  });
20649
20680
  };
20650
20681
 
20651
- function ownKeys$J(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; }
20652
- function _objectSpread$J(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$J(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$J(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
20682
+ 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; }
20683
+ 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; }
20653
20684
  function _callSuper$4(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$4() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
20654
20685
  function _isNativeReflectConstruct$4() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct$4 = function _isNativeReflectConstruct() { return !!t; })(); }
20655
20686
  var ProviderErrorBoundary = /*#__PURE__*/function (_Component) {
@@ -20704,7 +20735,7 @@ var ProviderErrorBoundary = /*#__PURE__*/function (_Component) {
20704
20735
  _defineProperty(_this, "handleProviderSelect", function (providerType, providerName, credentials) {
20705
20736
 
20706
20737
  // Update local selected providers state
20707
- var updatedSelected = _objectSpread$J(_objectSpread$J({}, _this.state.selectedProviders), {}, _defineProperty({}, providerType, providerName));
20738
+ var updatedSelected = _objectSpread$K(_objectSpread$K({}, _this.state.selectedProviders), {}, _defineProperty({}, providerType, providerName));
20708
20739
  _this.setState({
20709
20740
  selectedProviders: updatedSelected
20710
20741
  }, function () {
@@ -20778,8 +20809,8 @@ var ProviderErrorBoundary = /*#__PURE__*/function (_Component) {
20778
20809
  }(React.Component);
20779
20810
  _defineProperty(ProviderErrorBoundary, "contextType", ProviderContext);
20780
20811
 
20781
- 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; }
20782
- 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; }
20812
+ function ownKeys$J(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; }
20813
+ function _objectSpread$J(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$J(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$J(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
20783
20814
  var withProviderDetection = function withProviderDetection(Component) {
20784
20815
  var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
20785
20816
  _ref$requiredProvider = _ref.requiredProviders,
@@ -20804,7 +20835,7 @@ var withProviderDetection = function withProviderDetection(Component) {
20804
20835
  onProviderSelect: onProviderSelect
20805
20836
  });
20806
20837
  }
20807
- return /*#__PURE__*/jsxRuntime.jsx(Component, _objectSpread$I({}, props));
20838
+ return /*#__PURE__*/jsxRuntime.jsx(Component, _objectSpread$J({}, props));
20808
20839
  };
20809
20840
  };
20810
20841
 
@@ -21480,6 +21511,193 @@ var WidgetNotFound = function WidgetNotFound(_ref) {
21480
21511
  });
21481
21512
  };
21482
21513
 
21514
+ 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; }
21515
+ 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; }
21516
+ /**
21517
+ * makeBoundApi.js
21518
+ *
21519
+ * Per-mount proxy of `window.mainApi` that auto-injects a mount
21520
+ * token on every gated call. WidgetFactory builds one of these
21521
+ * after `framework:register-widget-mount` returns a token, then
21522
+ * passes it via `WidgetContext.value.api` and as an `api` prop on
21523
+ * every widget render.
21524
+ *
21525
+ * The renderer receives a fresh proxy per mount; widgets that use
21526
+ * `props.api.data.saveData(data, file)` get gated automatically
21527
+ * without writing widgetId into their code.
21528
+ *
21529
+ * **Limit:** the proxy lives in the renderer's JS realm, same realm
21530
+ * as widgets. A malicious widget can still walk the React fiber
21531
+ * tree and call another widget's bound api function — the call
21532
+ * fires IPC with the *victim's* token. Closing that residual
21533
+ * requires per-widget BrowserView (multi-week refactor). The token
21534
+ * model raises the bar from "type a widgetId string" to "actively
21535
+ * walk fibers and call another widget's bound function," which is
21536
+ * a deliberate malicious step visible at install-time review.
21537
+ */
21538
+ // Total positional-argument count for each gated method, with the
21539
+ // `token` arg sitting in the final slot. The proxy pads any unused
21540
+ // intermediate slots with `null` and appends the token to position
21541
+ // `length - 1`. Mirrors the IPC handler signatures introduced in
21542
+ // slice 1 of the widget-mount-token campaign:
21543
+ //
21544
+ // data.saveData(data, filename, append, returnEmpty, widgetId, token) // 6
21545
+ // data.readData(filename, returnEmpty, widgetId, token) // 4
21546
+ // data.readDataFromURL(url, toFilepath, widgetId, token) // 4
21547
+ // mcp.callTool(serverName, toolName, args, allowedTools, widgetId,
21548
+ // workspaceId, token) // 7
21549
+ // webSocket.connect(providerName, config, widgetId, token) // 4
21550
+ //
21551
+ // Anything not in this map passes through unchanged.
21552
+ var GATED_LENGTHS = {
21553
+ "data.saveData": 6,
21554
+ "data.readData": 4,
21555
+ "data.readDataFromURL": 4,
21556
+ "mcp.callTool": 7,
21557
+ "webSocket.connect": 4
21558
+ };
21559
+ function _bindMethod(rawFn, signatureLength, token) {
21560
+ return function () {
21561
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
21562
+ args[_key] = arguments[_key];
21563
+ }
21564
+ var padded = [].concat(args);
21565
+ // Pad trailing slots up to (but not including) the token slot
21566
+ // with null. This is what gives callers a "you may pass any
21567
+ // prefix of the signature, the proxy fills the rest" UX.
21568
+ while (padded.length < signatureLength - 1) padded.push(null);
21569
+ padded.push(token);
21570
+ return rawFn.apply(void 0, _toConsumableArray(padded));
21571
+ };
21572
+ }
21573
+
21574
+ /**
21575
+ * @param {object} rawApi - typically `window.mainApi`
21576
+ * @param {string|null} token - the mount token; null briefly before
21577
+ * register-mount resolves. Pass-through
21578
+ * when null so callers can't accidentally
21579
+ * freeze on a placeholder.
21580
+ * @returns {object} per-mount proxy
21581
+ */
21582
+ function makeBoundApi(rawApi, token) {
21583
+ if (!rawApi || _typeof(rawApi) !== "object") return rawApi;
21584
+ if (!token) return rawApi;
21585
+ var out = _objectSpread$I({}, rawApi);
21586
+ // Two-pass: first collect which namespaces need cloning so we
21587
+ // don't repeatedly clobber sibling bindings within the same
21588
+ // namespace (e.g. `data.saveData` + `data.readData` both live
21589
+ // under `out.data`). Then write all rebindings.
21590
+ var nsToBindings = {};
21591
+ for (var _i = 0, _Object$entries = Object.entries(GATED_LENGTHS); _i < _Object$entries.length; _i++) {
21592
+ var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
21593
+ path = _Object$entries$_i[0],
21594
+ signatureLength = _Object$entries$_i[1];
21595
+ var _path$split = path.split("."),
21596
+ _path$split2 = _slicedToArray(_path$split, 2),
21597
+ ns = _path$split2[0],
21598
+ method = _path$split2[1];
21599
+ var subns = rawApi[ns];
21600
+ if (!subns || typeof subns[method] !== "function") continue;
21601
+ if (!nsToBindings[ns]) nsToBindings[ns] = _objectSpread$I({}, subns);
21602
+ nsToBindings[ns][method] = _bindMethod(subns[method], signatureLength, token);
21603
+ }
21604
+ for (var _i2 = 0, _Object$entries2 = Object.entries(nsToBindings); _i2 < _Object$entries2.length; _i2++) {
21605
+ var _Object$entries2$_i = _slicedToArray(_Object$entries2[_i2], 2),
21606
+ _ns = _Object$entries2$_i[0],
21607
+ cloned = _Object$entries2$_i[1];
21608
+ out[_ns] = cloned;
21609
+ }
21610
+ return out;
21611
+ }
21612
+
21613
+ var MountTokenWrapper = function MountTokenWrapper(_ref) {
21614
+ var widgetId = _ref.widgetId,
21615
+ widgetData = _ref.widgetData,
21616
+ children = _ref.children;
21617
+ var _useState = React.useState(null),
21618
+ _useState2 = _slicedToArray(_useState, 2),
21619
+ token = _useState2[0],
21620
+ setToken = _useState2[1];
21621
+ React.useEffect(function () {
21622
+ var _window;
21623
+ if (!widgetId || !((_window = window) !== null && _window !== void 0 && (_window = _window.mainApi) !== null && _window !== void 0 && (_window = _window.framework) !== null && _window !== void 0 && _window.registerMount)) {
21624
+ // Either no widget identity or the framework bridge isn't
21625
+ // exposed (e.g. running outside Electron). Skip registration —
21626
+ // the widget will render without a bound api and gated calls
21627
+ // will be denied by the runtime gate (correct behavior).
21628
+ return;
21629
+ }
21630
+ var cancelled = false;
21631
+ var myToken = null;
21632
+ _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
21633
+ var _window$mainApi;
21634
+ return _regeneratorRuntime.wrap(function (_context) {
21635
+ while (1) switch (_context.prev = _context.next) {
21636
+ case 0:
21637
+ _context.prev = 0;
21638
+ _context.next = 1;
21639
+ return window.mainApi.framework.registerMount(widgetId);
21640
+ case 1:
21641
+ myToken = _context.sent;
21642
+ _context.next = 3;
21643
+ break;
21644
+ case 2:
21645
+ _context.prev = 2;
21646
+ _context["catch"](0);
21647
+ return _context.abrupt("return");
21648
+ case 3:
21649
+ if (!cancelled) {
21650
+ _context.next = 4;
21651
+ break;
21652
+ }
21653
+ // The component unmounted before our async callback fired.
21654
+ // Clean up the token we just registered.
21655
+ if (myToken && (_window$mainApi = window.mainApi) !== null && _window$mainApi !== void 0 && (_window$mainApi = _window$mainApi.framework) !== null && _window$mainApi !== void 0 && _window$mainApi.unregisterMount) {
21656
+ try {
21657
+ window.mainApi.framework.unregisterMount(myToken);
21658
+ } catch (_) {
21659
+ /* ignore — best-effort */
21660
+ }
21661
+ }
21662
+ return _context.abrupt("return");
21663
+ case 4:
21664
+ setToken(myToken);
21665
+ case 5:
21666
+ case "end":
21667
+ return _context.stop();
21668
+ }
21669
+ }, _callee, null, [[0, 2]]);
21670
+ }))();
21671
+ return function () {
21672
+ var _window$mainApi2;
21673
+ cancelled = true;
21674
+ if (myToken && (_window$mainApi2 = window.mainApi) !== null && _window$mainApi2 !== void 0 && (_window$mainApi2 = _window$mainApi2.framework) !== null && _window$mainApi2 !== void 0 && _window$mainApi2.unregisterMount) {
21675
+ try {
21676
+ window.mainApi.framework.unregisterMount(myToken);
21677
+ } catch (_) {
21678
+ /* ignore — unmount cleanup is best-effort */
21679
+ }
21680
+ }
21681
+ };
21682
+ }, [widgetId]);
21683
+
21684
+ // Build the per-mount bound API only when we actually have a token.
21685
+ // Re-memoizing on token change keeps the proxy stable across renders.
21686
+ var api = React.useMemo(function () {
21687
+ return token ? makeBoundApi(window.mainApi, token) : null;
21688
+ }, [token]);
21689
+ var contextValue = React.useMemo(function () {
21690
+ return {
21691
+ widgetData: widgetData,
21692
+ api: api
21693
+ };
21694
+ }, [widgetData, api]);
21695
+ return /*#__PURE__*/jsxRuntime.jsx(WidgetContext.Provider, {
21696
+ value: contextValue,
21697
+ children: children
21698
+ });
21699
+ };
21700
+
21483
21701
  function ownKeys$H(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; }
21484
21702
  function _objectSpread$H(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$H(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$H(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
21485
21703
  function _callSuper$2(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$2() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
@@ -21691,11 +21909,6 @@ var WidgetRenderer = function WidgetRenderer(_ref) {
21691
21909
  // init the helpers — pass WidgetApi (which has publishEvent/registerListeners
21692
21910
  // that delegate to DashboardPublisher), not the raw Electron dashApi
21693
21911
  var helpers = new WidgetHelpers(params, w);
21694
-
21695
- // Memoize context value to prevent unnecessary re-renders
21696
- var widgetContextValue = {
21697
- widgetData: widgetData
21698
- };
21699
21912
  var hasScheduledTasks = ((config === null || config === void 0 ? void 0 : config.scheduledTasks) || []).length > 0;
21700
21913
  var widgetElement = children === null ? /*#__PURE__*/jsxRuntime.jsx(WidgetComponent, _objectSpread$H(_objectSpread$H(_objectSpread$H({
21701
21914
  id: "widget-nokids-".concat(widgetKey),
@@ -21726,9 +21939,16 @@ var WidgetRenderer = function WidgetRenderer(_ref) {
21726
21939
  children: children
21727
21940
  }), "widget-kids-".concat(widgetKey, "-v").concat(componentVersion));
21728
21941
 
21729
- // Wrap widget rendering with WidgetContext + error boundary
21730
- return /*#__PURE__*/jsxRuntime.jsx(WidgetContext.Provider, {
21731
- value: widgetContextValue,
21942
+ // MountTokenWrapper owns the per-widget mount-token IPC
21943
+ // (register at mount, unregister at unmount) and provides the
21944
+ // WidgetContext value (widgetData + bound api) to descendants.
21945
+ // The widgetId used for registration is the package name —
21946
+ // that's what grants are keyed by, so the gate's
21947
+ // token → widgetId resolution finds the right grant.
21948
+ var widgetIdForGate = (params === null || params === void 0 ? void 0 : params.name) || component;
21949
+ return /*#__PURE__*/jsxRuntime.jsx(MountTokenWrapper, {
21950
+ widgetId: widgetIdForGate,
21951
+ widgetData: widgetData,
21732
21952
  children: /*#__PURE__*/jsxRuntime.jsx(WidgetErrorBoundary, {
21733
21953
  widgetName: component,
21734
21954
  children: hasScheduledTasks ? /*#__PURE__*/jsxRuntime.jsxs("div", {
@@ -29711,6 +29931,7 @@ var useMcpProvider = function useMcpProvider(providerType) {
29711
29931
  widgetRequiredTools,
29712
29932
  isRequired,
29713
29933
  workspaceId,
29934
+ widgetIdForGate,
29714
29935
  _args3 = arguments;
29715
29936
  return _regeneratorRuntime.wrap(function (_context3) {
29716
29937
  while (1) switch (_context3.prev = _context3.next) {
@@ -29740,7 +29961,12 @@ var useMcpProvider = function useMcpProvider(providerType) {
29740
29961
  // Slice 3a: scope the MCP server process per workspace. The
29741
29962
  // workspace UUID is the canonical "current dashboard" identity
29742
29963
  // (see useNotifications, useScheduler for the same pattern).
29743
- workspaceId = (workspace === null || workspace === void 0 || (_workspace$workspaceD5 = workspace.workspaceData) === null || _workspace$workspaceD5 === void 0 ? void 0 : _workspace$workspaceD5.id) || null;
29964
+ workspaceId = (workspace === null || workspace === void 0 || (_workspace$workspaceD5 = workspace.workspaceData) === null || _workspace$workspaceD5 === void 0 ? void 0 : _workspace$workspaceD5.id) || null; // widgetData.name is the package-level identity the MCP gate's
29965
+ // grant store keys on. Without this, the gate's per-widget
29966
+ // permissioning is silent (the legacy widgetId-null bypass
29967
+ // skips the gate entirely). Threading it here makes JIT
29968
+ // consent fire for widgets without the user-grant cached.
29969
+ widgetIdForGate = (widgetData === null || widgetData === void 0 ? void 0 : widgetData.name) || null;
29744
29970
  return _context3.abrupt("return", new Promise(function (resolve, reject) {
29745
29971
  var timeout = setTimeout(function () {
29746
29972
  reject(new Error("Tool call \"".concat(toolName, "\" timed out after 30s")));
@@ -29755,7 +29981,7 @@ var useMcpProvider = function useMcpProvider(providerType) {
29755
29981
  }, function (event, err) {
29756
29982
  clearTimeout(timeout);
29757
29983
  reject(new Error((err === null || err === void 0 ? void 0 : err.message) || "Failed to call MCP tool"));
29758
- }, workspaceId);
29984
+ }, workspaceId, widgetIdForGate);
29759
29985
  }));
29760
29986
  case 3:
29761
29987
  case "end":