@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.esm.js CHANGED
@@ -34,8 +34,8 @@ import { InstantSearch, Hits } from 'react-instantsearch-hooks-web';
34
34
  import { Link } from 'react-router-dom';
35
35
  import { marked } from 'marked';
36
36
 
37
- 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; }
38
- 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; }
37
+ 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; }
38
+ 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; }
39
39
  var event = {
40
40
  list: new Map(),
41
41
  // Map(1) { '<widget-UUID>' => { 'CustomSearchbar[10].searchQueryChanged': [] } }
@@ -97,7 +97,7 @@ var event = {
97
97
  uuid: subscriber["uuid"]
98
98
  };
99
99
  if ("action" in subscriber && subscriber.action !== undefined) {
100
- subscriber["action"](_objectSpread$$({}, objectToSend));
100
+ subscriber["action"](_objectSpread$10({}, objectToSend));
101
101
  }
102
102
  });
103
103
  }
@@ -425,6 +425,7 @@ var WidgetApi = {
425
425
  if (eApi) {
426
426
  // remove the listeners (reset)
427
427
  if ("removeAllListeners" in eApi) {
428
+ var _this$params;
428
429
  eApi.removeAllListeners(eApi.events.DATA_SAVE_TO_FILE_COMPLETE);
429
430
  eApi.removeAllListeners(eApi.events.DATA_SAVE_TO_FILE_ERROR);
430
431
  if (callbackComplete !== null) {
@@ -437,8 +438,13 @@ var WidgetApi = {
437
438
  return callbackError(response);
438
439
  });
439
440
  }
440
- // request.
441
- eApi.data.saveData(data, toFilename, append, returnEmpty, widgetId);
441
+ // Auto-thread widgetId from the singleton's per-widget
442
+ // state when the caller didn't supply one explicitly. This
443
+ // is what makes the fs gate fire for ordinary widgets that
444
+ // call `widgetApi.storeData({data, filename})` without
445
+ // knowing about widgetId.
446
+ var effectiveWidgetId = widgetId || ((_this$params = this.params) === null || _this$params === void 0 ? void 0 : _this$params.name) || null;
447
+ eApi.data.saveData(data, toFilename, append, returnEmpty, effectiveWidgetId);
442
448
  }
443
449
  }
444
450
  } catch (e) {
@@ -473,6 +479,7 @@ var WidgetApi = {
473
479
  var toFilename = filename !== null ? filename : "".concat(uuid, ".json");
474
480
  var eApi = this.electronApi();
475
481
  if ("removeAllListeners" in eApi) {
482
+ var _this$params2;
476
483
  eApi.removeAllListeners(eApi.events.DATA_READ_FROM_FILE_COMPLETE);
477
484
  eApi.removeAllListeners(eApi.events.DATA_READ_FROM_FILE_ERROR);
478
485
  if (callbackComplete !== null) {
@@ -495,7 +502,9 @@ var WidgetApi = {
495
502
  return callbackError(response);
496
503
  });
497
504
  }
498
- eApi.data.readData(toFilename, [], widgetId);
505
+ // Auto-thread widgetId from the singleton — same as storeData.
506
+ var effectiveWidgetId = widgetId || ((_this$params2 = this.params) === null || _this$params2 === void 0 ? void 0 : _this$params2.name) || null;
507
+ eApi.data.readData(toFilename, [], effectiveWidgetId);
499
508
  }
500
509
  } catch (e) {
501
510
  }
@@ -1670,12 +1679,15 @@ var ElectronDashboardApi = /*#__PURE__*/function () {
1670
1679
  value: function mcpCallTool(serverName, toolName, args, allowedTools, onSuccess, onError) {
1671
1680
  var _this22 = this;
1672
1681
  var workspaceId = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : null;
1682
+ var widgetId = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : null;
1673
1683
  if (this.api !== null) {
1674
1684
  try {
1675
- // widgetId is not threaded here; mcpApi.callTool defaults it to
1676
- // null. Slice 3a: workspaceId scopes the MCP server process per
1677
- // workspace.
1678
- this.api.mcp.callTool(serverName, toolName, args, allowedTools, null, workspaceId).then(function (result) {
1685
+ // widgetId is the package-level identity for the MCP gate.
1686
+ // Callers (typically `useMcpProvider`) pass `widgetData.name`
1687
+ // so the gate's `getGrant(widgetId)` lookup matches the grant
1688
+ // written at install consent. workspaceId scopes the server
1689
+ // process per workspace (Slice 3a).
1690
+ this.api.mcp.callTool(serverName, toolName, args, allowedTools, widgetId, workspaceId).then(function (result) {
1679
1691
  onSuccess(_this22.events.MCP_CALL_TOOL_COMPLETE, result);
1680
1692
  })["catch"](function (error) {
1681
1693
  onError(_this22.events.MCP_CALL_TOOL_ERROR, error);
@@ -2850,8 +2862,27 @@ var AppWrapper = function AppWrapper(_ref2) {
2850
2862
  });
2851
2863
  };
2852
2864
 
2865
+ /**
2866
+ * WidgetContext
2867
+ *
2868
+ * Per-widget React context. WidgetFactory builds the value at mount
2869
+ * time and re-builds when the widget unmounts/remounts.
2870
+ *
2871
+ * Shape:
2872
+ * - widgetData: the widget's instance data (uuid, params, providers,
2873
+ * notifications, etc.) — read by hooks like useMcpProvider,
2874
+ * useScheduler, useNotifications.
2875
+ * - api: a per-mount proxy of `window.mainApi` produced by
2876
+ * `makeBoundApi(window.mainApi, mountToken)`. Every gated method
2877
+ * on this proxy auto-injects the mount token; widgets that use
2878
+ * `props.api.data.saveData(...)` get gated automatically. Null
2879
+ * during the brief window before the framework's mount-token IPC
2880
+ * resolves; consumers should fall back to `window.mainApi` only
2881
+ * for explicitly non-gated reads.
2882
+ */
2853
2883
  var WidgetContext = /*#__PURE__*/createContext({
2854
- widgetData: null
2884
+ widgetData: null,
2885
+ api: null
2855
2886
  });
2856
2887
 
2857
2888
  var EMPTY_PROVIDERS = {};
@@ -2915,8 +2946,8 @@ var DashboardWrapper = function DashboardWrapper(_ref) {
2915
2946
  });
2916
2947
  };
2917
2948
 
2918
- 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; }
2919
- 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; }
2949
+ 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; }
2950
+ 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; }
2920
2951
  function ThemeBroadcast(_ref) {
2921
2952
  var ctx = _ref.ctx;
2922
2953
  useEffect(function () {
@@ -2949,7 +2980,7 @@ var DashboardThemeProvider = function DashboardThemeProvider(_ref2) {
2949
2980
  var dashboardTheme = themes[themeKey];
2950
2981
  var themeValue = dashboardTheme ? dashboardTheme[themeVariant] || null : null;
2951
2982
  if (!themeValue) return null;
2952
- return _objectSpread$_(_objectSpread$_({}, parentContext), {}, {
2983
+ return _objectSpread$$(_objectSpread$$({}, parentContext), {}, {
2953
2984
  currentTheme: themeValue,
2954
2985
  currentThemeKey: themeKey,
2955
2986
  theme: themeValue,
@@ -2976,8 +3007,8 @@ var DashboardThemeProvider = function DashboardThemeProvider(_ref2) {
2976
3007
  });
2977
3008
  };
2978
3009
 
2979
- 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; }
2980
- 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; }
3010
+ 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; }
3011
+ 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; }
2981
3012
  var AppThemeScope = function AppThemeScope(_ref) {
2982
3013
  var children = _ref.children;
2983
3014
  var ctx = useContext(ThemeContext);
@@ -2985,7 +3016,7 @@ var AppThemeScope = function AppThemeScope(_ref) {
2985
3016
  children: children
2986
3017
  });
2987
3018
  return /*#__PURE__*/jsx(ThemeContext.Provider, {
2988
- value: _objectSpread$Z(_objectSpread$Z({}, ctx), {}, {
3019
+ value: _objectSpread$_(_objectSpread$_({}, ctx), {}, {
2989
3020
  currentTheme: ctx.appTheme,
2990
3021
  currentThemeKey: ctx.appThemeKey,
2991
3022
  theme: ctx.appTheme,
@@ -3097,8 +3128,8 @@ var LayoutContainer = function LayoutContainer(_ref) {
3097
3128
  });
3098
3129
  };
3099
3130
 
3100
- 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; }
3101
- 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; }
3131
+ 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; }
3132
+ 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; }
3102
3133
  function _createForOfIteratorHelper$A(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$A(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
3103
3134
  function _unsupportedIterableToArray$A(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$A(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$A(r, a) : void 0; } }
3104
3135
  function _arrayLikeToArray$A(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
@@ -3380,7 +3411,7 @@ function createLayoutFromTemplate(template) {
3380
3411
  try {
3381
3412
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
3382
3413
  var cell = _step.value;
3383
- grid[cell.key] = _objectSpread$Y({
3414
+ grid[cell.key] = _objectSpread$Z({
3384
3415
  component: null,
3385
3416
  hide: cell.hide || false
3386
3417
  }, cell.span ? {
@@ -4559,8 +4590,8 @@ var DashboardInstallOptionsModal = function DashboardInstallOptionsModal(_ref) {
4559
4590
  function _createForOfIteratorHelper$z(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$z(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
4560
4591
  function _unsupportedIterableToArray$z(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$z(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$z(r, a) : void 0; } }
4561
4592
  function _arrayLikeToArray$z(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
4562
- 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; }
4563
- 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; }
4593
+ 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; }
4594
+ 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; }
4564
4595
  var RegistryDashboardDetail = function RegistryDashboardDetail(_ref) {
4565
4596
  var dashboardPackage = _ref.dashboardPackage,
4566
4597
  appId = _ref.appId,
@@ -4793,7 +4824,7 @@ var RegistryDashboardDetail = function RegistryDashboardDetail(_ref) {
4793
4824
  setProgressWidgets(function (prev) {
4794
4825
  var next = _toConsumableArray(prev);
4795
4826
  if (data.index >= 0 && data.index < next.length) {
4796
- next[data.index] = _objectSpread$X(_objectSpread$X({}, next[data.index]), {}, {
4827
+ next[data.index] = _objectSpread$Y(_objectSpread$Y({}, next[data.index]), {}, {
4797
4828
  status: data.status,
4798
4829
  error: data.error || null
4799
4830
  });
@@ -4889,7 +4920,7 @@ var RegistryDashboardDetail = function RegistryDashboardDetail(_ref) {
4889
4920
  var raw = preview === null || preview === void 0 ? void 0 : preview.compatibility;
4890
4921
  if (!raw) return raw;
4891
4922
  var cMap = ComponentManager.componentMap();
4892
- var augWidgets = _objectSpread$X({}, raw.widgets);
4923
+ var augWidgets = _objectSpread$Y({}, raw.widgets);
4893
4924
  var fixedCount = 0;
4894
4925
  var _loop = function _loop() {
4895
4926
  var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
@@ -8324,8 +8355,8 @@ var WizardCustomizeStep = function WizardCustomizeStep(_ref) {
8324
8355
  });
8325
8356
  };
8326
8357
 
8327
- 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; }
8328
- 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; }
8358
+ 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; }
8359
+ 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; }
8329
8360
  var TOTAL_STEPS = 5; // Steps 0-4: Discover, Name, Folder, Theme, Review
8330
8361
 
8331
8362
  var initialState = {
@@ -8351,20 +8382,20 @@ var initialState = {
8351
8382
  function wizardReducer(state, action) {
8352
8383
  switch (action.type) {
8353
8384
  case "SET_STEP":
8354
- return _objectSpread$W(_objectSpread$W({}, state), {}, {
8385
+ return _objectSpread$X(_objectSpread$X({}, state), {}, {
8355
8386
  step: action.payload
8356
8387
  });
8357
8388
  case "SET_FILTERS":
8358
- return _objectSpread$W(_objectSpread$W({}, state), {}, {
8359
- filters: _objectSpread$W(_objectSpread$W({}, state.filters), action.payload)
8389
+ return _objectSpread$X(_objectSpread$X({}, state), {}, {
8390
+ filters: _objectSpread$X(_objectSpread$X({}, state.filters), action.payload)
8360
8391
  });
8361
8392
  case "TOGGLE_FILTER_CATEGORY":
8362
8393
  {
8363
8394
  var categories = state.filters.categories.includes(action.payload) ? state.filters.categories.filter(function (c) {
8364
8395
  return c !== action.payload;
8365
8396
  }) : [].concat(_toConsumableArray(state.filters.categories), [action.payload]);
8366
- return _objectSpread$W(_objectSpread$W({}, state), {}, {
8367
- filters: _objectSpread$W(_objectSpread$W({}, state.filters), {}, {
8397
+ return _objectSpread$X(_objectSpread$X({}, state), {}, {
8398
+ filters: _objectSpread$X(_objectSpread$X({}, state.filters), {}, {
8368
8399
  categories: categories
8369
8400
  })
8370
8401
  });
@@ -8374,15 +8405,15 @@ function wizardReducer(state, action) {
8374
8405
  var providers = state.filters.providers.includes(action.payload) ? state.filters.providers.filter(function (p) {
8375
8406
  return p !== action.payload;
8376
8407
  }) : [].concat(_toConsumableArray(state.filters.providers), [action.payload]);
8377
- return _objectSpread$W(_objectSpread$W({}, state), {}, {
8378
- filters: _objectSpread$W(_objectSpread$W({}, state.filters), {}, {
8408
+ return _objectSpread$X(_objectSpread$X({}, state), {}, {
8409
+ filters: _objectSpread$X(_objectSpread$X({}, state.filters), {}, {
8379
8410
  providers: providers
8380
8411
  })
8381
8412
  });
8382
8413
  }
8383
8414
  case "SET_SEARCH_QUERY":
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
  query: action.payload
8387
8418
  })
8388
8419
  });
@@ -8392,7 +8423,7 @@ function wizardReducer(state, action) {
8392
8423
  var widgetOrder = action.payload.map(function (w) {
8393
8424
  return w.name || w.key;
8394
8425
  });
8395
- return _objectSpread$W(_objectSpread$W({}, state), {}, {
8426
+ return _objectSpread$X(_objectSpread$X({}, state), {}, {
8396
8427
  selectedWidgets: action.payload,
8397
8428
  layout: {
8398
8429
  templateKey: templateKey,
@@ -8412,7 +8443,7 @@ function wizardReducer(state, action) {
8412
8443
  var toggleWidgetOrder = selectedWidgets.map(function (w) {
8413
8444
  return w.name || w.key;
8414
8445
  });
8415
- return _objectSpread$W(_objectSpread$W({}, state), {}, {
8446
+ return _objectSpread$X(_objectSpread$X({}, state), {}, {
8416
8447
  selectedWidgets: selectedWidgets,
8417
8448
  layout: {
8418
8449
  templateKey: toggleTemplateKey,
@@ -8421,29 +8452,29 @@ function wizardReducer(state, action) {
8421
8452
  });
8422
8453
  }
8423
8454
  case "SET_SELECTED_DASHBOARD":
8424
- return _objectSpread$W(_objectSpread$W({}, state), {}, {
8455
+ return _objectSpread$X(_objectSpread$X({}, state), {}, {
8425
8456
  selectedDashboard: action.payload
8426
8457
  });
8427
8458
  case "SET_PATH":
8428
- return _objectSpread$W(_objectSpread$W({}, state), {}, {
8459
+ return _objectSpread$X(_objectSpread$X({}, state), {}, {
8429
8460
  path: action.payload
8430
8461
  });
8431
8462
  case "SET_LAYOUT":
8432
- return _objectSpread$W(_objectSpread$W({}, state), {}, {
8463
+ return _objectSpread$X(_objectSpread$X({}, state), {}, {
8433
8464
  layout: action.payload
8434
8465
  });
8435
8466
  case "REORDER_WIDGETS":
8436
- return _objectSpread$W(_objectSpread$W({}, state), {}, {
8437
- layout: _objectSpread$W(_objectSpread$W({}, state.layout), {}, {
8467
+ return _objectSpread$X(_objectSpread$X({}, state), {}, {
8468
+ layout: _objectSpread$X(_objectSpread$X({}, state.layout), {}, {
8438
8469
  widgetOrder: action.payload
8439
8470
  })
8440
8471
  });
8441
8472
  case "SET_CUSTOMIZATION":
8442
- return _objectSpread$W(_objectSpread$W({}, state), {}, {
8443
- customization: _objectSpread$W(_objectSpread$W({}, state.customization), action.payload)
8473
+ return _objectSpread$X(_objectSpread$X({}, state), {}, {
8474
+ customization: _objectSpread$X(_objectSpread$X({}, state.customization), action.payload)
8444
8475
  });
8445
8476
  case "RESET":
8446
- return _objectSpread$W({}, initialState);
8477
+ return _objectSpread$X({}, initialState);
8447
8478
  default:
8448
8479
  return state;
8449
8480
  }
@@ -9223,8 +9254,8 @@ var _excluded$6 = ["rows", "cols"];
9223
9254
  function _createForOfIteratorHelper$w(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$w(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
9224
9255
  function _unsupportedIterableToArray$w(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$w(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$w(r, a) : void 0; } }
9225
9256
  function _arrayLikeToArray$w(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
9226
- 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; }
9227
- 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; }
9257
+ 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; }
9258
+ 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; }
9228
9259
  var defaultGrid = {
9229
9260
  rows: 1,
9230
9261
  cols: 1,
@@ -9245,7 +9276,7 @@ function GridEditor(_ref) {
9245
9276
  setGrid = _useState2[1];
9246
9277
  var addRow = function addRow() {
9247
9278
  var newRow = grid.rows;
9248
- var newGrid = _objectSpread$V(_objectSpread$V({}, grid), {}, {
9279
+ var newGrid = _objectSpread$W(_objectSpread$W({}, grid), {}, {
9249
9280
  rows: grid.rows + 1
9250
9281
  });
9251
9282
  for (var col = 0; col < grid.cols; col++) {
@@ -9260,7 +9291,7 @@ function GridEditor(_ref) {
9260
9291
  };
9261
9292
  var addColumn = function addColumn() {
9262
9293
  var newCol = grid.cols;
9263
- var newGrid = _objectSpread$V(_objectSpread$V({}, grid), {}, {
9294
+ var newGrid = _objectSpread$W(_objectSpread$W({}, grid), {}, {
9264
9295
  cols: grid.cols + 1
9265
9296
  });
9266
9297
  for (var row = 0; row < grid.rows; row++) {
@@ -9293,8 +9324,8 @@ function GridEditor(_ref) {
9293
9324
  });
9294
9325
  }
9295
9326
  if (grid[nextKey]) {
9296
- var newGrid = _objectSpread$V({}, grid);
9297
- newGrid[currentKey] = _objectSpread$V(_objectSpread$V({}, newGrid[currentKey]), {}, {
9327
+ var newGrid = _objectSpread$W({}, grid);
9328
+ newGrid[currentKey] = _objectSpread$W(_objectSpread$W({}, newGrid[currentKey]), {}, {
9298
9329
  colSpan: newGrid[currentKey].colSpan + 1
9299
9330
  });
9300
9331
  delete newGrid[nextKey];
@@ -9307,8 +9338,8 @@ function GridEditor(_ref) {
9307
9338
  var currentKey = "".concat(row, ".").concat(col);
9308
9339
  var belowKey = "".concat(row + 1, ".").concat(col);
9309
9340
  if (grid[belowKey]) {
9310
- var newGrid = _objectSpread$V({}, grid);
9311
- newGrid[currentKey] = _objectSpread$V(_objectSpread$V({}, newGrid[currentKey]), {}, {
9341
+ var newGrid = _objectSpread$W({}, grid);
9342
+ newGrid[currentKey] = _objectSpread$W(_objectSpread$W({}, newGrid[currentKey]), {}, {
9312
9343
  rowSpan: newGrid[currentKey].rowSpan + 1
9313
9344
  });
9314
9345
  delete newGrid[belowKey];
@@ -9325,7 +9356,7 @@ function GridEditor(_ref) {
9325
9356
  var splitCell = function splitCell(row, col) {
9326
9357
  var key = "".concat(row, ".").concat(col);
9327
9358
  var cell = grid[key];
9328
- var newGrid = _objectSpread$V({}, grid);
9359
+ var newGrid = _objectSpread$W({}, grid);
9329
9360
 
9330
9361
  // we have to check the colspan, and since the colspan is greater than 1
9331
9362
  // Only handle horizontal split if colSpan > 1
@@ -9341,13 +9372,13 @@ function GridEditor(_ref) {
9341
9372
  var oldKey = "".concat(row, ".").concat(c);
9342
9373
  var newKey = "".concat(row, ".").concat(c + 1);
9343
9374
  if (newGrid[oldKey]) {
9344
- newGrid[newKey] = _objectSpread$V({}, newGrid[oldKey]);
9375
+ newGrid[newKey] = _objectSpread$W({}, newGrid[oldKey]);
9345
9376
  delete newGrid[oldKey];
9346
9377
  }
9347
9378
  }
9348
9379
 
9349
9380
  // Update the original cell's colSpan
9350
- newGrid[key] = _objectSpread$V(_objectSpread$V({}, cell), {}, {
9381
+ newGrid[key] = _objectSpread$W(_objectSpread$W({}, cell), {}, {
9351
9382
  colSpan: cell.colSpan - 1
9352
9383
  });
9353
9384
 
@@ -9359,7 +9390,7 @@ function GridEditor(_ref) {
9359
9390
  };
9360
9391
  }
9361
9392
  if (cell.rowSpan > 1) {
9362
- newGrid[key] = _objectSpread$V(_objectSpread$V({}, newGrid[key]), {}, {
9393
+ newGrid[key] = _objectSpread$W(_objectSpread$W({}, newGrid[key]), {}, {
9363
9394
  rowSpan: cell.rowSpan - 1
9364
9395
  });
9365
9396
  newGrid["".concat(row + 1, ".").concat(col)] = {
@@ -9478,7 +9509,7 @@ function GridEditor(_ref) {
9478
9509
  var fromKey = "".concat(from.row, ".").concat(from.col);
9479
9510
  var toKey = "".concat(to.row, ".").concat(to.col);
9480
9511
  if (fromKey === toKey) return;
9481
- var newGrid = _objectSpread$V({}, grid);
9512
+ var newGrid = _objectSpread$W({}, grid);
9482
9513
 
9483
9514
  // Swap the cells
9484
9515
  var temp = newGrid[fromKey];
@@ -9504,7 +9535,7 @@ function GridEditor(_ref) {
9504
9535
  // console.log("Grid updated:", sequencedGrid);
9505
9536
  }
9506
9537
  function resetGridLayout() {
9507
- var newGrid = _objectSpread$V({}, defaultGrid);
9538
+ var newGrid = _objectSpread$W({}, defaultGrid);
9508
9539
  setGrid(newGrid);
9509
9540
  onUpdate(newGrid);
9510
9541
  }
@@ -9782,8 +9813,8 @@ var PanelEditItemGrid = function PanelEditItemGrid(_ref) {
9782
9813
  });
9783
9814
  };
9784
9815
 
9785
- 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; }
9786
- 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; }
9816
+ 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; }
9817
+ 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; }
9787
9818
  var PanelEditItemNotifications = function PanelEditItemNotifications(_ref) {
9788
9819
  var item = _ref.item;
9789
9820
  _ref.workspace;
@@ -9806,7 +9837,7 @@ var PanelEditItemNotifications = function PanelEditItemNotifications(_ref) {
9806
9837
  }, [widgetUuid, notificationDefs.length]);
9807
9838
  function handleNotifToggle(typeKey, value) {
9808
9839
  var _window$mainApi2;
9809
- var updated = _objectSpread$U(_objectSpread$U({}, notifPrefs), {}, _defineProperty({}, typeKey, value));
9840
+ var updated = _objectSpread$V(_objectSpread$V({}, notifPrefs), {}, _defineProperty({}, typeKey, value));
9810
9841
  setNotifPrefs(updated);
9811
9842
  if ((_window$mainApi2 = window.mainApi) !== null && _window$mainApi2 !== void 0 && (_window$mainApi2 = _window$mainApi2.notifications) !== null && _window$mainApi2 !== void 0 && _window$mainApi2.setPreferences && widgetUuid) {
9812
9843
  window.mainApi.notifications.setPreferences(widgetUuid, _defineProperty({}, typeKey, value));
@@ -9851,8 +9882,8 @@ var PanelEditItemNotifications = function PanelEditItemNotifications(_ref) {
9851
9882
  function _createForOfIteratorHelper$v(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$v(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
9852
9883
  function _unsupportedIterableToArray$v(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$v(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$v(r, a) : void 0; } }
9853
9884
  function _arrayLikeToArray$v(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
9854
- 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; }
9855
- 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; }
9885
+ 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; }
9886
+ 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; }
9856
9887
  var DAYS = [{
9857
9888
  key: "mon",
9858
9889
  label: "Mon"
@@ -9953,7 +9984,7 @@ function TaskScheduleEditor(_ref) {
9953
9984
  var _window$mainApi;
9954
9985
  var overrides = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
9955
9986
  if (!((_window$mainApi = window.mainApi) !== null && _window$mainApi !== void 0 && (_window$mainApi = _window$mainApi.scheduler) !== null && _window$mainApi !== void 0 && _window$mainApi.registerTask)) return;
9956
- var payload = _objectSpread$T({
9987
+ var payload = _objectSpread$U({
9957
9988
  widgetId: widgetId,
9958
9989
  widgetName: widgetName,
9959
9990
  workspaceId: workspaceId || "",
@@ -10228,8 +10259,8 @@ var PanelEditItemSchedule = function PanelEditItemSchedule(_ref2) {
10228
10259
  });
10229
10260
  };
10230
10261
 
10231
- 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; }
10232
- 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; }
10262
+ 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; }
10263
+ 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; }
10233
10264
  var DERIVED_FIELDS = ["widgetConfig",
10234
10265
  // biggest offender — full component definition blob
10235
10266
  "uuid", "dashboardId", "parentWorkspaceName", "componentName", "siblingCount", "hasChildren", "canHaveChildren", "events",
@@ -10293,7 +10324,7 @@ var PanelCode = function PanelCode(_ref) {
10293
10324
  // expects. LayoutModel re-derives these on reload, but losing
10294
10325
  // them between render cycles can cause flashes of "unknown
10295
10326
  // widget" state.
10296
- var merged = _objectSpread$S({}, itemSelected);
10327
+ var merged = _objectSpread$T({}, itemSelected);
10297
10328
  for (var _i2 = 0, _Object$keys = Object.keys(edited); _i2 < _Object$keys.length; _i2++) {
10298
10329
  var k = _Object$keys[_i2];
10299
10330
  merged[k] = edited[k];
@@ -10749,8 +10780,8 @@ function getAllProviderBindings(_ref3) {
10749
10780
  return bindings;
10750
10781
  }
10751
10782
 
10752
- 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; }
10753
- 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; }
10783
+ 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; }
10784
+ 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; }
10754
10785
  function _createForOfIteratorHelper$t(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$t(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
10755
10786
  function _unsupportedIterableToArray$t(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$t(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$t(r, a) : void 0; } }
10756
10787
  function _arrayLikeToArray$t(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
@@ -10999,13 +11030,13 @@ function getOrphanedListeners(workspace, getWidgetConfig) {
10999
11030
  // missing. Preserves the user's ability to see whether a
11000
11031
  // rename happened vs. a delete.
11001
11032
  var fallback = byItemId.get(String(w.sourceItemId));
11002
- orphans.push(_objectSpread$R(_objectSpread$R({}, w), {}, {
11033
+ orphans.push(_objectSpread$S(_objectSpread$S({}, w), {}, {
11003
11034
  reason: fallback ? "source-component-mismatch" : "source-missing"
11004
11035
  }));
11005
11036
  continue;
11006
11037
  }
11007
11038
  if (!src.events.includes(w.eventName)) {
11008
- orphans.push(_objectSpread$R(_objectSpread$R({}, w), {}, {
11039
+ orphans.push(_objectSpread$S(_objectSpread$S({}, w), {}, {
11009
11040
  reason: "event-not-emitted"
11010
11041
  }));
11011
11042
  continue;
@@ -11013,7 +11044,7 @@ function getOrphanedListeners(workspace, getWidgetConfig) {
11013
11044
  var receiverKey = "".concat(w.receiverComponent, "|").concat(w.receiverItemId);
11014
11045
  var receiver = byCompositeKey.get(receiverKey);
11015
11046
  if (receiver && !receiver.eventHandlers.includes(w.handlerName)) {
11016
- orphans.push(_objectSpread$R(_objectSpread$R({}, w), {}, {
11047
+ orphans.push(_objectSpread$S(_objectSpread$S({}, w), {}, {
11017
11048
  reason: "handler-not-declared"
11018
11049
  }));
11019
11050
  }
@@ -11223,29 +11254,29 @@ function applyWiringChanges(workspace, _ref) {
11223
11254
  var change = id != null ? byReceiver.get(String(id)) : null;
11224
11255
  if (change) {
11225
11256
  var newListeners = applyToItem(item.listeners || {}, change);
11226
- next = _objectSpread$R(_objectSpread$R({}, next), {}, {
11257
+ next = _objectSpread$S(_objectSpread$S({}, next), {}, {
11227
11258
  listeners: newListeners
11228
11259
  });
11229
11260
  }
11230
11261
  if (Array.isArray(next.items)) {
11231
- next = _objectSpread$R(_objectSpread$R({}, next), {}, {
11262
+ next = _objectSpread$S(_objectSpread$S({}, next), {}, {
11232
11263
  items: cloneList(next.items)
11233
11264
  });
11234
11265
  }
11235
11266
  if (Array.isArray(next.layout)) {
11236
- next = _objectSpread$R(_objectSpread$R({}, next), {}, {
11267
+ next = _objectSpread$S(_objectSpread$S({}, next), {}, {
11237
11268
  layout: cloneList(next.layout)
11238
11269
  });
11239
11270
  }
11240
11271
  return next;
11241
11272
  };
11242
- var updatedWs = _objectSpread$R({}, workspace);
11273
+ var updatedWs = _objectSpread$S({}, workspace);
11243
11274
  if (Array.isArray(workspace.layout)) {
11244
11275
  updatedWs.layout = cloneList(workspace.layout);
11245
11276
  }
11246
11277
  if (Array.isArray(workspace.pages)) {
11247
11278
  updatedWs.pages = workspace.pages.map(function (page) {
11248
- return _objectSpread$R(_objectSpread$R({}, page), {}, {
11279
+ return _objectSpread$S(_objectSpread$S({}, page), {}, {
11249
11280
  layout: cloneList(page.layout)
11250
11281
  });
11251
11282
  });
@@ -11621,8 +11652,8 @@ var getUserConfigurableProviders = function getUserConfigurableProviders(provide
11621
11652
  });
11622
11653
  };
11623
11654
 
11624
- 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; }
11625
- 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; }
11655
+ 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; }
11656
+ 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; }
11626
11657
  var PanelEditItemProviders = function PanelEditItemProviders(_ref) {
11627
11658
  var workspace = _ref.workspace,
11628
11659
  onUpdate = _ref.onUpdate,
@@ -11654,7 +11685,7 @@ var PanelEditItemProviders = function PanelEditItemProviders(_ref) {
11654
11685
  var selectedProviders = itemSelected.selectedProviders || {};
11655
11686
  function handleProviderChange(providerType, providerName) {
11656
11687
  var updatedItem = deepCopy(itemSelected);
11657
- var nextProviders = _objectSpread$Q({}, updatedItem.selectedProviders || {});
11688
+ var nextProviders = _objectSpread$R({}, updatedItem.selectedProviders || {});
11658
11689
  if (providerName) {
11659
11690
  nextProviders[providerType] = providerName;
11660
11691
  } else {
@@ -11675,8 +11706,8 @@ var PanelEditItemProviders = function PanelEditItemProviders(_ref) {
11675
11706
  var widgetId = updatedItem.uuidString || updatedItem.uuid || updatedItem.id;
11676
11707
  if (widgetId != null) {
11677
11708
  var wsKey = String(widgetId);
11678
- var nextSelectedProviders = _objectSpread$Q({}, updatedWorkspace.selectedProviders || {});
11679
- var prevForWidget = nextSelectedProviders[wsKey] ? _objectSpread$Q({}, nextSelectedProviders[wsKey]) : {};
11709
+ var nextSelectedProviders = _objectSpread$R({}, updatedWorkspace.selectedProviders || {});
11710
+ var prevForWidget = nextSelectedProviders[wsKey] ? _objectSpread$R({}, nextSelectedProviders[wsKey]) : {};
11680
11711
  if (providerName) {
11681
11712
  prevForWidget[providerType] = providerName;
11682
11713
  } else {
@@ -11721,7 +11752,7 @@ var PanelEditItemProviders = function PanelEditItemProviders(_ref) {
11721
11752
  var _ref5 = _slicedToArray(_ref4, 2),
11722
11753
  name = _ref5[0],
11723
11754
  p = _ref5[1];
11724
- return _objectSpread$Q({
11755
+ return _objectSpread$R({
11725
11756
  name: name
11726
11757
  }, p);
11727
11758
  });
@@ -13472,8 +13503,8 @@ var WidgetIcon = function WidgetIcon(_ref) {
13472
13503
  });
13473
13504
  };
13474
13505
 
13475
- 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; }
13476
- 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; }
13506
+ 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; }
13507
+ 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; }
13477
13508
  var ProviderForm = function ProviderForm(_ref) {
13478
13509
  var credentialSchema = _ref.credentialSchema,
13479
13510
  _ref$initialValues = _ref.initialValues,
@@ -13518,14 +13549,14 @@ var ProviderForm = function ProviderForm(_ref) {
13518
13549
  var oldKey = f.key;
13519
13550
  if (oldKey && formData[oldKey] !== undefined) {
13520
13551
  setFormData(function (fd) {
13521
- var updated = _objectSpread$P({}, fd);
13552
+ var updated = _objectSpread$Q({}, fd);
13522
13553
  var val = updated[oldKey];
13523
13554
  delete updated[oldKey];
13524
13555
  if (newKey.trim()) updated[newKey] = val;
13525
13556
  return updated;
13526
13557
  });
13527
13558
  }
13528
- return _objectSpread$P(_objectSpread$P({}, f), {}, {
13559
+ return _objectSpread$Q(_objectSpread$Q({}, f), {}, {
13529
13560
  key: newKey
13530
13561
  });
13531
13562
  });
@@ -13537,14 +13568,14 @@ var ProviderForm = function ProviderForm(_ref) {
13537
13568
  });
13538
13569
  if (field !== null && field !== void 0 && field.key) {
13539
13570
  setFormData(function (prev) {
13540
- return _objectSpread$P(_objectSpread$P({}, prev), {}, _defineProperty({}, field.key, value));
13571
+ return _objectSpread$Q(_objectSpread$Q({}, prev), {}, _defineProperty({}, field.key, value));
13541
13572
  });
13542
13573
  }
13543
13574
  };
13544
13575
  var handleDynamicSecretToggle = function handleDynamicSecretToggle(id) {
13545
13576
  setDynamicFields(function (prev) {
13546
13577
  return prev.map(function (f) {
13547
- return f.id === id ? _objectSpread$P(_objectSpread$P({}, f), {}, {
13578
+ return f.id === id ? _objectSpread$Q(_objectSpread$Q({}, f), {}, {
13548
13579
  secret: !f.secret
13549
13580
  }) : f;
13550
13581
  });
@@ -13566,7 +13597,7 @@ var ProviderForm = function ProviderForm(_ref) {
13566
13597
  });
13567
13598
  if (field !== null && field !== void 0 && field.key) {
13568
13599
  setFormData(function (prev) {
13569
- var updated = _objectSpread$P({}, prev);
13600
+ var updated = _objectSpread$Q({}, prev);
13570
13601
  delete updated[field.key];
13571
13602
  return updated;
13572
13603
  });
@@ -13608,13 +13639,13 @@ var ProviderForm = function ProviderForm(_ref) {
13608
13639
  */
13609
13640
  var handleInputChange = function handleInputChange(fieldName, value) {
13610
13641
  setFormData(function (prev) {
13611
- return _objectSpread$P(_objectSpread$P({}, prev), {}, _defineProperty({}, fieldName, value));
13642
+ return _objectSpread$Q(_objectSpread$Q({}, prev), {}, _defineProperty({}, fieldName, value));
13612
13643
  });
13613
13644
 
13614
13645
  // Clear error for this field if it was filled
13615
13646
  if (errors[fieldName] && value !== null && value !== void 0 && value.trim()) {
13616
13647
  setErrors(function (prev) {
13617
- var newErrors = _objectSpread$P({}, prev);
13648
+ var newErrors = _objectSpread$Q({}, prev);
13618
13649
  delete newErrors[fieldName];
13619
13650
  return newErrors;
13620
13651
  });
@@ -13652,7 +13683,7 @@ var ProviderForm = function ProviderForm(_ref) {
13652
13683
  // Clear error if filled
13653
13684
  if (errors.providerName && value !== null && value !== void 0 && value.trim()) {
13654
13685
  setErrors(function (prev) {
13655
- var newErrors = _objectSpread$P({}, prev);
13686
+ var newErrors = _objectSpread$Q({}, prev);
13656
13687
  delete newErrors.providerName;
13657
13688
  return newErrors;
13658
13689
  });
@@ -13889,8 +13920,8 @@ var ToolSelector$1 = function ToolSelector(_ref) {
13889
13920
  });
13890
13921
  };
13891
13922
 
13892
- 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; }
13893
- 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; }
13923
+ 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; }
13924
+ 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; }
13894
13925
  /**
13895
13926
  * Shared MCP utility functions.
13896
13927
  *
@@ -14018,7 +14049,7 @@ function buildMcpConfigFromOverrides(baseMcpConfig, envMappingRows, headerRows)
14018
14049
  headerTemplate[name] = value;
14019
14050
  }
14020
14051
  });
14021
- var config = _objectSpread$O({}, baseMcpConfig);
14052
+ var config = _objectSpread$P({}, baseMcpConfig);
14022
14053
  if (Object.keys(headerTemplate).length > 0) {
14023
14054
  config.headerTemplate = headerTemplate;
14024
14055
  } else {
@@ -14036,7 +14067,7 @@ function buildMcpConfigFromOverrides(baseMcpConfig, envMappingRows, headerRows)
14036
14067
  envMapping[env] = cred;
14037
14068
  }
14038
14069
  });
14039
- return _objectSpread$O(_objectSpread$O({}, baseMcpConfig), {}, {
14070
+ return _objectSpread$P(_objectSpread$P({}, baseMcpConfig), {}, {
14040
14071
  envMapping: envMapping
14041
14072
  });
14042
14073
  }
@@ -14273,8 +14304,8 @@ function mcpJsonToFormState(jsonString, nextRowId) {
14273
14304
  function _createForOfIteratorHelper$s(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$s(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
14274
14305
  function _unsupportedIterableToArray$s(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$s(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$s(r, a) : void 0; } }
14275
14306
  function _arrayLikeToArray$s(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
14276
- 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; }
14277
- 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; }
14307
+ 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; }
14308
+ 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; }
14278
14309
  var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
14279
14310
  var isOpen = _ref.isOpen,
14280
14311
  onClose = _ref.onClose,
@@ -14469,7 +14500,7 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
14469
14500
  .map(function (entry) {
14470
14501
  var widget = allWidgets[entry.widgetKey];
14471
14502
  if (!widget) return null; // Widget no longer exists
14472
- return _objectSpread$N(_objectSpread$N({
14503
+ return _objectSpread$O(_objectSpread$O({
14473
14504
  key: entry.widgetKey
14474
14505
  }, widget), {}, {
14475
14506
  savedProviders: entry.providers || {},
@@ -14620,7 +14651,7 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
14620
14651
  // Get widgets from ComponentManager
14621
14652
  var allWidgets = ComponentManager.map();
14622
14653
  var widgetList = Object.keys(allWidgets).map(function (key) {
14623
- return _objectSpread$N({
14654
+ return _objectSpread$O({
14624
14655
  key: key
14625
14656
  }, allWidgets[key]);
14626
14657
  }).filter(function (widget) {
@@ -14846,7 +14877,7 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
14846
14877
  setInlineCreateType(null);
14847
14878
  setInlineCreateSchema({});
14848
14879
  setInlineCreateError(null);
14849
- setSelectedProviders(_objectSpread$N(_objectSpread$N({}, selectedProviders), {}, _defineProperty({}, providerType, providerName)));
14880
+ setSelectedProviders(_objectSpread$O(_objectSpread$O({}, selectedProviders), {}, _defineProperty({}, providerType, providerName)));
14850
14881
  }
14851
14882
  };
14852
14883
  var handleInlineProviderSubmit = function handleInlineProviderSubmit(formData) {
@@ -14867,7 +14898,7 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
14867
14898
 
14868
14899
  // Auto-select the newly created provider
14869
14900
  setSelectedProviders(function (prev) {
14870
- return _objectSpread$N(_objectSpread$N({}, prev), {}, _defineProperty({}, providerType, providerName));
14901
+ return _objectSpread$O(_objectSpread$O({}, prev), {}, _defineProperty({}, providerType, providerName));
14871
14902
  });
14872
14903
 
14873
14904
  // Collapse the inline form
@@ -14921,11 +14952,11 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
14921
14952
  };
14922
14953
  var inlineHandleCredentialChange = function inlineHandleCredentialChange(fieldName, value) {
14923
14954
  setInlineCredentialData(function (prev) {
14924
- return _objectSpread$N(_objectSpread$N({}, prev), {}, _defineProperty({}, fieldName, value));
14955
+ return _objectSpread$O(_objectSpread$O({}, prev), {}, _defineProperty({}, fieldName, value));
14925
14956
  });
14926
14957
  if (inlineFormErrors[fieldName] && value !== null && value !== void 0 && value.trim()) {
14927
14958
  setInlineFormErrors(function (prev) {
14928
- var next = _objectSpread$N({}, prev);
14959
+ var next = _objectSpread$O({}, prev);
14929
14960
  delete next[fieldName];
14930
14961
  return next;
14931
14962
  });
@@ -15018,7 +15049,7 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
15018
15049
  refreshProviders();
15019
15050
  }
15020
15051
  setSelectedProviders(function (prev) {
15021
- return _objectSpread$N(_objectSpread$N({}, prev), {}, _defineProperty({}, providerType, providerName));
15052
+ return _objectSpread$O(_objectSpread$O({}, prev), {}, _defineProperty({}, providerType, providerName));
15022
15053
  });
15023
15054
 
15024
15055
  // Reset stepper state
@@ -15039,7 +15070,7 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
15039
15070
  });
15040
15071
  };
15041
15072
  var handleConfigChange = function handleConfigChange(key, value) {
15042
- setUserConfigValues(_objectSpread$N(_objectSpread$N({}, userConfigValues), {}, _defineProperty({}, key, value)));
15073
+ setUserConfigValues(_objectSpread$O(_objectSpread$O({}, userConfigValues), {}, _defineProperty({}, key, value)));
15043
15074
  };
15044
15075
 
15045
15076
  // Install a package from the registry
@@ -15105,7 +15136,7 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
15105
15136
  // Mark items as installed
15106
15137
  setProgressWidgets(function (prev) {
15107
15138
  return prev.map(function (w) {
15108
- return _objectSpread$N(_objectSpread$N({}, w), {}, {
15139
+ return _objectSpread$O(_objectSpread$O({}, w), {}, {
15109
15140
  status: "installed"
15110
15141
  });
15111
15142
  });
@@ -15124,7 +15155,7 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
15124
15155
  setInstallError(msg);
15125
15156
  setProgressWidgets(function (prev) {
15126
15157
  return prev.map(function (w) {
15127
- return _objectSpread$N(_objectSpread$N({}, w), {}, {
15158
+ return _objectSpread$O(_objectSpread$O({}, w), {}, {
15128
15159
  status: "failed",
15129
15160
  error: msg
15130
15161
  });
@@ -15198,7 +15229,7 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
15198
15229
 
15199
15230
  // Phase 3: Save to recent widgets
15200
15231
  saveToRecent(selectedWidget, selectedProviders, userConfigValues);
15201
- onSelectWidget(_objectSpread$N(_objectSpread$N({}, selectedWidget), {}, {
15232
+ onSelectWidget(_objectSpread$O(_objectSpread$O({}, selectedWidget), {}, {
15202
15233
  selectedProviders: selectedProviders,
15203
15234
  // Pass to parent
15204
15235
  userConfigValues: userConfigValues // Pass to parent
@@ -15841,7 +15872,7 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
15841
15872
  setInlineProviderName(value);
15842
15873
  if (inlineFormErrors.providerName && value !== null && value !== void 0 && value.trim()) {
15843
15874
  setInlineFormErrors(function (prev) {
15844
- var next = _objectSpread$N({}, prev);
15875
+ var next = _objectSpread$O({}, prev);
15845
15876
  delete next.providerName;
15846
15877
  return next;
15847
15878
  });
@@ -17027,8 +17058,8 @@ var ProviderSelector = function ProviderSelector(_ref) {
17027
17058
  });
17028
17059
  };
17029
17060
 
17030
- 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; }
17031
- 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; }
17061
+ 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; }
17062
+ 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; }
17032
17063
  var AdvancedMcpConfig = function AdvancedMcpConfig(_ref) {
17033
17064
  var transport = _ref.transport,
17034
17065
  envMappingRows = _ref.envMappingRows,
@@ -17057,7 +17088,7 @@ var AdvancedMcpConfig = function AdvancedMcpConfig(_ref) {
17057
17088
  var updateEnvRow = function updateEnvRow(id, field, value) {
17058
17089
  onEnvMappingRowsChange(function (prev) {
17059
17090
  return prev.map(function (row) {
17060
- return row.id === id ? _objectSpread$M(_objectSpread$M({}, row), {}, _defineProperty({}, field, value)) : row;
17091
+ return row.id === id ? _objectSpread$N(_objectSpread$N({}, row), {}, _defineProperty({}, field, value)) : row;
17061
17092
  });
17062
17093
  });
17063
17094
  };
@@ -17082,7 +17113,7 @@ var AdvancedMcpConfig = function AdvancedMcpConfig(_ref) {
17082
17113
  var updateHeaderRow = function updateHeaderRow(id, field, value) {
17083
17114
  onHeaderRowsChange(function (prev) {
17084
17115
  return prev.map(function (row) {
17085
- return row.id === id ? _objectSpread$M(_objectSpread$M({}, row), {}, _defineProperty({}, field, value)) : row;
17116
+ return row.id === id ? _objectSpread$N(_objectSpread$N({}, row), {}, _defineProperty({}, field, value)) : row;
17086
17117
  });
17087
17118
  });
17088
17119
  };
@@ -17231,8 +17262,8 @@ var AdvancedMcpConfig = function AdvancedMcpConfig(_ref) {
17231
17262
  });
17232
17263
  };
17233
17264
 
17234
- 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; }
17235
- 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; }
17265
+ 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; }
17266
+ 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; }
17236
17267
  var McpServerPicker = function McpServerPicker(_ref) {
17237
17268
  var _testResult$tools;
17238
17269
  var isOpen = _ref.isOpen,
@@ -17411,11 +17442,11 @@ var McpServerPicker = function McpServerPicker(_ref) {
17411
17442
  // Handle credential field changes
17412
17443
  var handleCredentialChange = function handleCredentialChange(fieldName, value) {
17413
17444
  setCredentialData(function (prev) {
17414
- return _objectSpread$L(_objectSpread$L({}, prev), {}, _defineProperty({}, fieldName, value));
17445
+ return _objectSpread$M(_objectSpread$M({}, prev), {}, _defineProperty({}, fieldName, value));
17415
17446
  });
17416
17447
  if (formErrors[fieldName] && value !== null && value !== void 0 && value.trim()) {
17417
17448
  setFormErrors(function (prev) {
17418
- var next = _objectSpread$L({}, prev);
17449
+ var next = _objectSpread$M({}, prev);
17419
17450
  delete next[fieldName];
17420
17451
  return next;
17421
17452
  });
@@ -17753,7 +17784,7 @@ var McpServerPicker = function McpServerPicker(_ref) {
17753
17784
  setProviderName(value);
17754
17785
  if (formErrors.providerName && value !== null && value !== void 0 && value.trim()) {
17755
17786
  setFormErrors(function (prev) {
17756
- var next = _objectSpread$L({}, prev);
17787
+ var next = _objectSpread$M({}, prev);
17757
17788
  delete next.providerName;
17758
17789
  return next;
17759
17790
  });
@@ -17943,8 +17974,8 @@ var McpServerPicker = function McpServerPicker(_ref) {
17943
17974
  });
17944
17975
  };
17945
17976
 
17946
- 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; }
17947
- 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; }
17977
+ 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; }
17978
+ 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; }
17948
17979
  var USE_ENHANCED_WIDGET_SELECTOR = true; // Set to false to use original modal
17949
17980
 
17950
17981
  /**
@@ -17990,7 +18021,7 @@ var LayoutBuilder = function LayoutBuilder(_ref) {
17990
18021
  var _ref3 = _slicedToArray(_ref2, 2),
17991
18022
  id = _ref3[0],
17992
18023
  p = _ref3[1];
17993
- return _objectSpread$K(_objectSpread$K({}, p), {}, {
18024
+ return _objectSpread$L(_objectSpread$L({}, p), {}, {
17994
18025
  id: id,
17995
18026
  name: p.name || id
17996
18027
  });
@@ -18077,7 +18108,7 @@ var LayoutBuilder = function LayoutBuilder(_ref) {
18077
18108
  // so we use its layout to replace any corrupted grid data.
18078
18109
  if (workspace && workspace["layout"]) {
18079
18110
  var model = new DashboardModel(workspace);
18080
- setCurrentWorkspace(_objectSpread$K(_objectSpread$K({}, workspace), {}, {
18111
+ setCurrentWorkspace(_objectSpread$L(_objectSpread$L({}, workspace), {}, {
18081
18112
  layout: model.layout
18082
18113
  }));
18083
18114
  } else {
@@ -18150,7 +18181,7 @@ var LayoutBuilder = function LayoutBuilder(_ref) {
18150
18181
  }
18151
18182
  try {
18152
18183
  var hasChildren = config.type === "workspace";
18153
- var newLayout = addItemToItemLayout(ws.layout, gridItem.id, _objectSpread$K(_objectSpread$K({}, config), {}, {
18184
+ var newLayout = addItemToItemLayout(ws.layout, gridItem.id, _objectSpread$L(_objectSpread$L({}, config), {}, {
18154
18185
  component: widgetComponentName,
18155
18186
  packageId: config._sourcePackage || config.packageId || null
18156
18187
  }), hasChildren);
@@ -18596,7 +18627,7 @@ var LayoutBuilder = function LayoutBuilder(_ref) {
18596
18627
  var uuid = widget.uuid || widget.uuidString;
18597
18628
  if (uuid) {
18598
18629
  newWorkspace.selectedProviders = newWorkspace.selectedProviders || {};
18599
- newWorkspace.selectedProviders[uuid] = _objectSpread$K(_objectSpread$K({}, newWorkspace.selectedProviders[uuid] || {}), {}, _defineProperty({}, providerType, providerId));
18630
+ newWorkspace.selectedProviders[uuid] = _objectSpread$L(_objectSpread$L({}, newWorkspace.selectedProviders[uuid] || {}), {}, _defineProperty({}, providerType, providerId));
18600
18631
  }
18601
18632
  setCurrentWorkspace(newWorkspace);
18602
18633
  // Propagate to the parent (DashboardStage) so workspaceSelected
@@ -18740,7 +18771,7 @@ var LayoutBuilder = function LayoutBuilder(_ref) {
18740
18771
  var _gridContainer$grid;
18741
18772
  var config = ComponentManager.config(widgetKey);
18742
18773
  if (!config) return;
18743
- var widgetItem = _objectSpread$K(_objectSpread$K({}, config), {}, {
18774
+ var widgetItem = _objectSpread$L(_objectSpread$L({}, config), {}, {
18744
18775
  component: widgetKey,
18745
18776
  key: widgetKey,
18746
18777
  packageId: config._sourcePackage || config.packageId || null
@@ -19001,7 +19032,7 @@ var LayoutBuilder = function LayoutBuilder(_ref) {
19001
19032
  onSelectWidget: function onSelectWidget(widget) {
19002
19033
 
19003
19034
  // Add component property from widget.key
19004
- var widgetWithComponent = _objectSpread$K(_objectSpread$K({}, widget), {}, {
19035
+ var widgetWithComponent = _objectSpread$L(_objectSpread$L({}, widget), {}, {
19005
19036
  component: widget.key
19006
19037
  });
19007
19038
  handleClickConfirmAdd(widgetWithComponent, dropdownTarget);
@@ -20630,8 +20661,8 @@ var MissingProviderPrompt = function MissingProviderPrompt(_ref) {
20630
20661
  });
20631
20662
  };
20632
20663
 
20633
- 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; }
20634
- 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; }
20664
+ 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; }
20665
+ 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; }
20635
20666
  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)); }
20636
20667
  function _isNativeReflectConstruct$4() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct$4 = function _isNativeReflectConstruct() { return !!t; })(); }
20637
20668
  var ProviderErrorBoundary = /*#__PURE__*/function (_Component) {
@@ -20686,7 +20717,7 @@ var ProviderErrorBoundary = /*#__PURE__*/function (_Component) {
20686
20717
  _defineProperty(_this, "handleProviderSelect", function (providerType, providerName, credentials) {
20687
20718
 
20688
20719
  // Update local selected providers state
20689
- var updatedSelected = _objectSpread$J(_objectSpread$J({}, _this.state.selectedProviders), {}, _defineProperty({}, providerType, providerName));
20720
+ var updatedSelected = _objectSpread$K(_objectSpread$K({}, _this.state.selectedProviders), {}, _defineProperty({}, providerType, providerName));
20690
20721
  _this.setState({
20691
20722
  selectedProviders: updatedSelected
20692
20723
  }, function () {
@@ -20760,8 +20791,8 @@ var ProviderErrorBoundary = /*#__PURE__*/function (_Component) {
20760
20791
  }(Component);
20761
20792
  _defineProperty(ProviderErrorBoundary, "contextType", ProviderContext);
20762
20793
 
20763
- 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; }
20764
- 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; }
20794
+ 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; }
20795
+ 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; }
20765
20796
  var withProviderDetection = function withProviderDetection(Component) {
20766
20797
  var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
20767
20798
  _ref$requiredProvider = _ref.requiredProviders,
@@ -20786,7 +20817,7 @@ var withProviderDetection = function withProviderDetection(Component) {
20786
20817
  onProviderSelect: onProviderSelect
20787
20818
  });
20788
20819
  }
20789
- return /*#__PURE__*/jsx(Component, _objectSpread$I({}, props));
20820
+ return /*#__PURE__*/jsx(Component, _objectSpread$J({}, props));
20790
20821
  };
20791
20822
  };
20792
20823
 
@@ -21462,6 +21493,193 @@ var WidgetNotFound = function WidgetNotFound(_ref) {
21462
21493
  });
21463
21494
  };
21464
21495
 
21496
+ 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; }
21497
+ 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; }
21498
+ /**
21499
+ * makeBoundApi.js
21500
+ *
21501
+ * Per-mount proxy of `window.mainApi` that auto-injects a mount
21502
+ * token on every gated call. WidgetFactory builds one of these
21503
+ * after `framework:register-widget-mount` returns a token, then
21504
+ * passes it via `WidgetContext.value.api` and as an `api` prop on
21505
+ * every widget render.
21506
+ *
21507
+ * The renderer receives a fresh proxy per mount; widgets that use
21508
+ * `props.api.data.saveData(data, file)` get gated automatically
21509
+ * without writing widgetId into their code.
21510
+ *
21511
+ * **Limit:** the proxy lives in the renderer's JS realm, same realm
21512
+ * as widgets. A malicious widget can still walk the React fiber
21513
+ * tree and call another widget's bound api function — the call
21514
+ * fires IPC with the *victim's* token. Closing that residual
21515
+ * requires per-widget BrowserView (multi-week refactor). The token
21516
+ * model raises the bar from "type a widgetId string" to "actively
21517
+ * walk fibers and call another widget's bound function," which is
21518
+ * a deliberate malicious step visible at install-time review.
21519
+ */
21520
+ // Total positional-argument count for each gated method, with the
21521
+ // `token` arg sitting in the final slot. The proxy pads any unused
21522
+ // intermediate slots with `null` and appends the token to position
21523
+ // `length - 1`. Mirrors the IPC handler signatures introduced in
21524
+ // slice 1 of the widget-mount-token campaign:
21525
+ //
21526
+ // data.saveData(data, filename, append, returnEmpty, widgetId, token) // 6
21527
+ // data.readData(filename, returnEmpty, widgetId, token) // 4
21528
+ // data.readDataFromURL(url, toFilepath, widgetId, token) // 4
21529
+ // mcp.callTool(serverName, toolName, args, allowedTools, widgetId,
21530
+ // workspaceId, token) // 7
21531
+ // webSocket.connect(providerName, config, widgetId, token) // 4
21532
+ //
21533
+ // Anything not in this map passes through unchanged.
21534
+ var GATED_LENGTHS = {
21535
+ "data.saveData": 6,
21536
+ "data.readData": 4,
21537
+ "data.readDataFromURL": 4,
21538
+ "mcp.callTool": 7,
21539
+ "webSocket.connect": 4
21540
+ };
21541
+ function _bindMethod(rawFn, signatureLength, token) {
21542
+ return function () {
21543
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
21544
+ args[_key] = arguments[_key];
21545
+ }
21546
+ var padded = [].concat(args);
21547
+ // Pad trailing slots up to (but not including) the token slot
21548
+ // with null. This is what gives callers a "you may pass any
21549
+ // prefix of the signature, the proxy fills the rest" UX.
21550
+ while (padded.length < signatureLength - 1) padded.push(null);
21551
+ padded.push(token);
21552
+ return rawFn.apply(void 0, _toConsumableArray(padded));
21553
+ };
21554
+ }
21555
+
21556
+ /**
21557
+ * @param {object} rawApi - typically `window.mainApi`
21558
+ * @param {string|null} token - the mount token; null briefly before
21559
+ * register-mount resolves. Pass-through
21560
+ * when null so callers can't accidentally
21561
+ * freeze on a placeholder.
21562
+ * @returns {object} per-mount proxy
21563
+ */
21564
+ function makeBoundApi(rawApi, token) {
21565
+ if (!rawApi || _typeof(rawApi) !== "object") return rawApi;
21566
+ if (!token) return rawApi;
21567
+ var out = _objectSpread$I({}, rawApi);
21568
+ // Two-pass: first collect which namespaces need cloning so we
21569
+ // don't repeatedly clobber sibling bindings within the same
21570
+ // namespace (e.g. `data.saveData` + `data.readData` both live
21571
+ // under `out.data`). Then write all rebindings.
21572
+ var nsToBindings = {};
21573
+ for (var _i = 0, _Object$entries = Object.entries(GATED_LENGTHS); _i < _Object$entries.length; _i++) {
21574
+ var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
21575
+ path = _Object$entries$_i[0],
21576
+ signatureLength = _Object$entries$_i[1];
21577
+ var _path$split = path.split("."),
21578
+ _path$split2 = _slicedToArray(_path$split, 2),
21579
+ ns = _path$split2[0],
21580
+ method = _path$split2[1];
21581
+ var subns = rawApi[ns];
21582
+ if (!subns || typeof subns[method] !== "function") continue;
21583
+ if (!nsToBindings[ns]) nsToBindings[ns] = _objectSpread$I({}, subns);
21584
+ nsToBindings[ns][method] = _bindMethod(subns[method], signatureLength, token);
21585
+ }
21586
+ for (var _i2 = 0, _Object$entries2 = Object.entries(nsToBindings); _i2 < _Object$entries2.length; _i2++) {
21587
+ var _Object$entries2$_i = _slicedToArray(_Object$entries2[_i2], 2),
21588
+ _ns = _Object$entries2$_i[0],
21589
+ cloned = _Object$entries2$_i[1];
21590
+ out[_ns] = cloned;
21591
+ }
21592
+ return out;
21593
+ }
21594
+
21595
+ var MountTokenWrapper = function MountTokenWrapper(_ref) {
21596
+ var widgetId = _ref.widgetId,
21597
+ widgetData = _ref.widgetData,
21598
+ children = _ref.children;
21599
+ var _useState = useState(null),
21600
+ _useState2 = _slicedToArray(_useState, 2),
21601
+ token = _useState2[0],
21602
+ setToken = _useState2[1];
21603
+ useEffect(function () {
21604
+ var _window;
21605
+ if (!widgetId || !((_window = window) !== null && _window !== void 0 && (_window = _window.mainApi) !== null && _window !== void 0 && (_window = _window.framework) !== null && _window !== void 0 && _window.registerMount)) {
21606
+ // Either no widget identity or the framework bridge isn't
21607
+ // exposed (e.g. running outside Electron). Skip registration —
21608
+ // the widget will render without a bound api and gated calls
21609
+ // will be denied by the runtime gate (correct behavior).
21610
+ return;
21611
+ }
21612
+ var cancelled = false;
21613
+ var myToken = null;
21614
+ _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
21615
+ var _window$mainApi;
21616
+ return _regeneratorRuntime.wrap(function (_context) {
21617
+ while (1) switch (_context.prev = _context.next) {
21618
+ case 0:
21619
+ _context.prev = 0;
21620
+ _context.next = 1;
21621
+ return window.mainApi.framework.registerMount(widgetId);
21622
+ case 1:
21623
+ myToken = _context.sent;
21624
+ _context.next = 3;
21625
+ break;
21626
+ case 2:
21627
+ _context.prev = 2;
21628
+ _context["catch"](0);
21629
+ return _context.abrupt("return");
21630
+ case 3:
21631
+ if (!cancelled) {
21632
+ _context.next = 4;
21633
+ break;
21634
+ }
21635
+ // The component unmounted before our async callback fired.
21636
+ // Clean up the token we just registered.
21637
+ if (myToken && (_window$mainApi = window.mainApi) !== null && _window$mainApi !== void 0 && (_window$mainApi = _window$mainApi.framework) !== null && _window$mainApi !== void 0 && _window$mainApi.unregisterMount) {
21638
+ try {
21639
+ window.mainApi.framework.unregisterMount(myToken);
21640
+ } catch (_) {
21641
+ /* ignore — best-effort */
21642
+ }
21643
+ }
21644
+ return _context.abrupt("return");
21645
+ case 4:
21646
+ setToken(myToken);
21647
+ case 5:
21648
+ case "end":
21649
+ return _context.stop();
21650
+ }
21651
+ }, _callee, null, [[0, 2]]);
21652
+ }))();
21653
+ return function () {
21654
+ var _window$mainApi2;
21655
+ cancelled = true;
21656
+ if (myToken && (_window$mainApi2 = window.mainApi) !== null && _window$mainApi2 !== void 0 && (_window$mainApi2 = _window$mainApi2.framework) !== null && _window$mainApi2 !== void 0 && _window$mainApi2.unregisterMount) {
21657
+ try {
21658
+ window.mainApi.framework.unregisterMount(myToken);
21659
+ } catch (_) {
21660
+ /* ignore — unmount cleanup is best-effort */
21661
+ }
21662
+ }
21663
+ };
21664
+ }, [widgetId]);
21665
+
21666
+ // Build the per-mount bound API only when we actually have a token.
21667
+ // Re-memoizing on token change keeps the proxy stable across renders.
21668
+ var api = React__default.useMemo(function () {
21669
+ return token ? makeBoundApi(window.mainApi, token) : null;
21670
+ }, [token]);
21671
+ var contextValue = React__default.useMemo(function () {
21672
+ return {
21673
+ widgetData: widgetData,
21674
+ api: api
21675
+ };
21676
+ }, [widgetData, api]);
21677
+ return /*#__PURE__*/jsx(WidgetContext.Provider, {
21678
+ value: contextValue,
21679
+ children: children
21680
+ });
21681
+ };
21682
+
21465
21683
  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; }
21466
21684
  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; }
21467
21685
  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)); }
@@ -21673,11 +21891,6 @@ var WidgetRenderer = function WidgetRenderer(_ref) {
21673
21891
  // init the helpers — pass WidgetApi (which has publishEvent/registerListeners
21674
21892
  // that delegate to DashboardPublisher), not the raw Electron dashApi
21675
21893
  var helpers = new WidgetHelpers(params, w);
21676
-
21677
- // Memoize context value to prevent unnecessary re-renders
21678
- var widgetContextValue = {
21679
- widgetData: widgetData
21680
- };
21681
21894
  var hasScheduledTasks = ((config === null || config === void 0 ? void 0 : config.scheduledTasks) || []).length > 0;
21682
21895
  var widgetElement = children === null ? /*#__PURE__*/jsx(WidgetComponent, _objectSpread$H(_objectSpread$H(_objectSpread$H({
21683
21896
  id: "widget-nokids-".concat(widgetKey),
@@ -21708,9 +21921,16 @@ var WidgetRenderer = function WidgetRenderer(_ref) {
21708
21921
  children: children
21709
21922
  }), "widget-kids-".concat(widgetKey, "-v").concat(componentVersion));
21710
21923
 
21711
- // Wrap widget rendering with WidgetContext + error boundary
21712
- return /*#__PURE__*/jsx(WidgetContext.Provider, {
21713
- value: widgetContextValue,
21924
+ // MountTokenWrapper owns the per-widget mount-token IPC
21925
+ // (register at mount, unregister at unmount) and provides the
21926
+ // WidgetContext value (widgetData + bound api) to descendants.
21927
+ // The widgetId used for registration is the package name —
21928
+ // that's what grants are keyed by, so the gate's
21929
+ // token → widgetId resolution finds the right grant.
21930
+ var widgetIdForGate = (params === null || params === void 0 ? void 0 : params.name) || component;
21931
+ return /*#__PURE__*/jsx(MountTokenWrapper, {
21932
+ widgetId: widgetIdForGate,
21933
+ widgetData: widgetData,
21714
21934
  children: /*#__PURE__*/jsx(WidgetErrorBoundary, {
21715
21935
  widgetName: component,
21716
21936
  children: hasScheduledTasks ? /*#__PURE__*/jsxs("div", {
@@ -29693,6 +29913,7 @@ var useMcpProvider = function useMcpProvider(providerType) {
29693
29913
  widgetRequiredTools,
29694
29914
  isRequired,
29695
29915
  workspaceId,
29916
+ widgetIdForGate,
29696
29917
  _args3 = arguments;
29697
29918
  return _regeneratorRuntime.wrap(function (_context3) {
29698
29919
  while (1) switch (_context3.prev = _context3.next) {
@@ -29722,7 +29943,12 @@ var useMcpProvider = function useMcpProvider(providerType) {
29722
29943
  // Slice 3a: scope the MCP server process per workspace. The
29723
29944
  // workspace UUID is the canonical "current dashboard" identity
29724
29945
  // (see useNotifications, useScheduler for the same pattern).
29725
- workspaceId = (workspace === null || workspace === void 0 || (_workspace$workspaceD5 = workspace.workspaceData) === null || _workspace$workspaceD5 === void 0 ? void 0 : _workspace$workspaceD5.id) || null;
29946
+ 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
29947
+ // grant store keys on. Without this, the gate's per-widget
29948
+ // permissioning is silent (the legacy widgetId-null bypass
29949
+ // skips the gate entirely). Threading it here makes JIT
29950
+ // consent fire for widgets without the user-grant cached.
29951
+ widgetIdForGate = (widgetData === null || widgetData === void 0 ? void 0 : widgetData.name) || null;
29726
29952
  return _context3.abrupt("return", new Promise(function (resolve, reject) {
29727
29953
  var timeout = setTimeout(function () {
29728
29954
  reject(new Error("Tool call \"".concat(toolName, "\" timed out after 30s")));
@@ -29737,7 +29963,7 @@ var useMcpProvider = function useMcpProvider(providerType) {
29737
29963
  }, function (event, err) {
29738
29964
  clearTimeout(timeout);
29739
29965
  reject(new Error((err === null || err === void 0 ? void 0 : err.message) || "Failed to call MCP tool"));
29740
- }, workspaceId);
29966
+ }, workspaceId, widgetIdForGate);
29741
29967
  }));
29742
29968
  case 3:
29743
29969
  case "end":