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