@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.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
|
|
38
|
-
function _objectSpread
|
|
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
|
|
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
|
-
//
|
|
441
|
-
|
|
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
|
-
|
|
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
|
|
1676
|
-
//
|
|
1677
|
-
//
|
|
1678
|
-
|
|
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
|
|
2919
|
-
function _objectSpread
|
|
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
|
|
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$
|
|
2980
|
-
function _objectSpread$
|
|
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$
|
|
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$
|
|
3101
|
-
function _objectSpread$
|
|
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$
|
|
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$
|
|
4563
|
-
function _objectSpread$
|
|
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$
|
|
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$
|
|
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$
|
|
8328
|
-
function _objectSpread$
|
|
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$
|
|
8385
|
+
return _objectSpread$X(_objectSpread$X({}, state), {}, {
|
|
8355
8386
|
step: action.payload
|
|
8356
8387
|
});
|
|
8357
8388
|
case "SET_FILTERS":
|
|
8358
|
-
return _objectSpread$
|
|
8359
|
-
filters: _objectSpread$
|
|
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$
|
|
8367
|
-
filters: _objectSpread$
|
|
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$
|
|
8378
|
-
filters: _objectSpread$
|
|
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$
|
|
8385
|
-
filters: _objectSpread$
|
|
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$
|
|
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$
|
|
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$
|
|
8455
|
+
return _objectSpread$X(_objectSpread$X({}, state), {}, {
|
|
8425
8456
|
selectedDashboard: action.payload
|
|
8426
8457
|
});
|
|
8427
8458
|
case "SET_PATH":
|
|
8428
|
-
return _objectSpread$
|
|
8459
|
+
return _objectSpread$X(_objectSpread$X({}, state), {}, {
|
|
8429
8460
|
path: action.payload
|
|
8430
8461
|
});
|
|
8431
8462
|
case "SET_LAYOUT":
|
|
8432
|
-
return _objectSpread$
|
|
8463
|
+
return _objectSpread$X(_objectSpread$X({}, state), {}, {
|
|
8433
8464
|
layout: action.payload
|
|
8434
8465
|
});
|
|
8435
8466
|
case "REORDER_WIDGETS":
|
|
8436
|
-
return _objectSpread$
|
|
8437
|
-
layout: _objectSpread$
|
|
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$
|
|
8443
|
-
customization: _objectSpread$
|
|
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$
|
|
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$
|
|
9227
|
-
function _objectSpread$
|
|
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$
|
|
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$
|
|
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$
|
|
9297
|
-
newGrid[currentKey] = _objectSpread$
|
|
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$
|
|
9311
|
-
newGrid[currentKey] = _objectSpread$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
9786
|
-
function _objectSpread$
|
|
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$
|
|
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$
|
|
9855
|
-
function _objectSpread$
|
|
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$
|
|
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$
|
|
10232
|
-
function _objectSpread$
|
|
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$
|
|
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$
|
|
10753
|
-
function _objectSpread$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
11625
|
-
function _objectSpread$
|
|
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$
|
|
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$
|
|
11679
|
-
var prevForWidget = nextSelectedProviders[wsKey] ? _objectSpread$
|
|
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$
|
|
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$
|
|
13476
|
-
function _objectSpread$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
13893
|
-
function _objectSpread$
|
|
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$
|
|
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$
|
|
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$
|
|
14277
|
-
function _objectSpread$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
17031
|
-
function _objectSpread$
|
|
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$
|
|
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$
|
|
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$
|
|
17235
|
-
function _objectSpread$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
17947
|
-
function _objectSpread$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
20634
|
-
function _objectSpread$
|
|
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$
|
|
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$
|
|
20764
|
-
function _objectSpread$
|
|
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$
|
|
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
|
-
//
|
|
21712
|
-
|
|
21713
|
-
|
|
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":
|