@trops/dash-core 0.1.6 → 0.1.8
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/electron/index.js +6961 -7168
- package/dist/electron/index.js.map +1 -1
- package/dist/index.esm.js +623 -235
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +645 -253
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -29,20 +29,20 @@ var reactInstantsearchHooksWeb = require('react-instantsearch-hooks-web');
|
|
|
29
29
|
var reactRouterDom = require('react-router-dom');
|
|
30
30
|
|
|
31
31
|
function _interopNamespaceDefault(e) {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
});
|
|
41
|
-
}
|
|
32
|
+
var n = Object.create(null);
|
|
33
|
+
if (e) {
|
|
34
|
+
Object.keys(e).forEach(function (k) {
|
|
35
|
+
if (k !== 'default') {
|
|
36
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
37
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
38
|
+
enumerable: true,
|
|
39
|
+
get: function () { return e[k]; }
|
|
42
40
|
});
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
n.default = e;
|
|
45
|
+
return Object.freeze(n);
|
|
46
46
|
}
|
|
47
47
|
|
|
48
48
|
var DashReact__namespace = /*#__PURE__*/_interopNamespaceDefault(DashReact);
|
|
@@ -50,8 +50,8 @@ var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
|
|
|
50
50
|
var jsxRuntime__namespace = /*#__PURE__*/_interopNamespaceDefault(jsxRuntime);
|
|
51
51
|
var ReactDOM__namespace = /*#__PURE__*/_interopNamespaceDefault(ReactDOM);
|
|
52
52
|
|
|
53
|
-
function ownKeys$
|
|
54
|
-
function _objectSpread$
|
|
53
|
+
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; }
|
|
54
|
+
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; }
|
|
55
55
|
var event = {
|
|
56
56
|
list: new Map(),
|
|
57
57
|
// Map(1) { '<widget-UUID>' => { 'CustomSearchbar[10].searchQueryChanged': [] } }
|
|
@@ -113,7 +113,7 @@ var event = {
|
|
|
113
113
|
uuid: subscriber["uuid"]
|
|
114
114
|
};
|
|
115
115
|
if ("action" in subscriber && subscriber.action !== undefined) {
|
|
116
|
-
subscriber["action"](_objectSpread$
|
|
116
|
+
subscriber["action"](_objectSpread$w({}, objectToSend));
|
|
117
117
|
}
|
|
118
118
|
});
|
|
119
119
|
}
|
|
@@ -739,103 +739,103 @@ var CHOOSE_FILE_ERROR = "choose-file-error";
|
|
|
739
739
|
// };
|
|
740
740
|
|
|
741
741
|
var apiEvents = /*#__PURE__*/Object.freeze({
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
742
|
+
__proto__: null,
|
|
743
|
+
ALGOLIA_ANALYTICS_FOR_QUERY: ALGOLIA_ANALYTICS_FOR_QUERY,
|
|
744
|
+
ALGOLIA_ANALYTICS_FOR_QUERY_COMPLETE: ALGOLIA_ANALYTICS_FOR_QUERY_COMPLETE,
|
|
745
|
+
ALGOLIA_ANALYTICS_FOR_QUERY_ERROR: ALGOLIA_ANALYTICS_FOR_QUERY_ERROR,
|
|
746
|
+
ALGOLIA_LIST_INDICES: ALGOLIA_LIST_INDICES,
|
|
747
|
+
ALGOLIA_LIST_INDICES_COMPLETE: ALGOLIA_LIST_INDICES_COMPLETE,
|
|
748
|
+
ALGOLIA_LIST_INDICES_ERROR: ALGOLIA_LIST_INDICES_ERROR,
|
|
749
|
+
CHOOSE_FILE: CHOOSE_FILE,
|
|
750
|
+
CHOOSE_FILE_COMPLETE: CHOOSE_FILE_COMPLETE,
|
|
751
|
+
CHOOSE_FILE_ERROR: CHOOSE_FILE_ERROR,
|
|
752
|
+
DATA_JSON_TO_CSV_FILE: DATA_JSON_TO_CSV_FILE,
|
|
753
|
+
DATA_JSON_TO_CSV_FILE_COMPLETE: DATA_JSON_TO_CSV_FILE_COMPLETE,
|
|
754
|
+
DATA_JSON_TO_CSV_FILE_ERROR: DATA_JSON_TO_CSV_FILE_ERROR,
|
|
755
|
+
DATA_JSON_TO_CSV_STRING: DATA_JSON_TO_CSV_STRING,
|
|
756
|
+
DATA_JSON_TO_CSV_STRING_COMPLETE: DATA_JSON_TO_CSV_STRING_COMPLETE,
|
|
757
|
+
DATA_JSON_TO_CSV_STRING_ERROR: DATA_JSON_TO_CSV_STRING_ERROR,
|
|
758
|
+
DATA_READ_FROM_FILE: DATA_READ_FROM_FILE,
|
|
759
|
+
DATA_READ_FROM_FILE_COMPLETE: DATA_READ_FROM_FILE_COMPLETE,
|
|
760
|
+
DATA_READ_FROM_FILE_ERROR: DATA_READ_FROM_FILE_ERROR,
|
|
761
|
+
DATA_SAVE_TO_FILE: DATA_SAVE_TO_FILE,
|
|
762
|
+
DATA_SAVE_TO_FILE_COMPLETE: DATA_SAVE_TO_FILE_COMPLETE,
|
|
763
|
+
DATA_SAVE_TO_FILE_ERROR: DATA_SAVE_TO_FILE_ERROR,
|
|
764
|
+
LAYOUT_LIST: LAYOUT_LIST,
|
|
765
|
+
LAYOUT_LIST_COMPLETE: LAYOUT_LIST_COMPLETE,
|
|
766
|
+
LAYOUT_LIST_ERROR: LAYOUT_LIST_ERROR,
|
|
767
|
+
LAYOUT_SAVE: LAYOUT_SAVE,
|
|
768
|
+
LAYOUT_SAVE_COMPLETE: LAYOUT_SAVE_COMPLETE,
|
|
769
|
+
LAYOUT_SAVE_ERROR: LAYOUT_SAVE_ERROR,
|
|
770
|
+
MCP_CALL_TOOL_COMPLETE: MCP_CALL_TOOL_COMPLETE,
|
|
771
|
+
MCP_CALL_TOOL_ERROR: MCP_CALL_TOOL_ERROR,
|
|
772
|
+
MCP_GET_CATALOG_COMPLETE: MCP_GET_CATALOG_COMPLETE,
|
|
773
|
+
MCP_GET_CATALOG_ERROR: MCP_GET_CATALOG_ERROR,
|
|
774
|
+
MCP_LIST_RESOURCES_COMPLETE: MCP_LIST_RESOURCES_COMPLETE,
|
|
775
|
+
MCP_LIST_RESOURCES_ERROR: MCP_LIST_RESOURCES_ERROR,
|
|
776
|
+
MCP_LIST_TOOLS_COMPLETE: MCP_LIST_TOOLS_COMPLETE,
|
|
777
|
+
MCP_LIST_TOOLS_ERROR: MCP_LIST_TOOLS_ERROR,
|
|
778
|
+
MCP_READ_RESOURCE_COMPLETE: MCP_READ_RESOURCE_COMPLETE,
|
|
779
|
+
MCP_READ_RESOURCE_ERROR: MCP_READ_RESOURCE_ERROR,
|
|
780
|
+
MCP_SERVER_STATUS_COMPLETE: MCP_SERVER_STATUS_COMPLETE,
|
|
781
|
+
MCP_SERVER_STATUS_ERROR: MCP_SERVER_STATUS_ERROR,
|
|
782
|
+
MCP_START_SERVER_COMPLETE: MCP_START_SERVER_COMPLETE,
|
|
783
|
+
MCP_START_SERVER_ERROR: MCP_START_SERVER_ERROR,
|
|
784
|
+
MCP_STOP_SERVER_COMPLETE: MCP_STOP_SERVER_COMPLETE,
|
|
785
|
+
MCP_STOP_SERVER_ERROR: MCP_STOP_SERVER_ERROR,
|
|
786
|
+
MENU_ITEMS_DELETE: MENU_ITEMS_DELETE,
|
|
787
|
+
MENU_ITEMS_DELETE_COMPLETE: MENU_ITEMS_DELETE_COMPLETE,
|
|
788
|
+
MENU_ITEMS_DELETE_ERROR: MENU_ITEMS_DELETE_ERROR,
|
|
789
|
+
MENU_ITEMS_LIST: MENU_ITEMS_LIST,
|
|
790
|
+
MENU_ITEMS_LIST_COMPLETE: MENU_ITEMS_LIST_COMPLETE,
|
|
791
|
+
MENU_ITEMS_LIST_ERROR: MENU_ITEMS_LIST_ERROR,
|
|
792
|
+
MENU_ITEMS_SAVE: MENU_ITEMS_SAVE,
|
|
793
|
+
MENU_ITEMS_SAVE_COMPLETE: MENU_ITEMS_SAVE_COMPLETE,
|
|
794
|
+
MENU_ITEMS_SAVE_ERROR: MENU_ITEMS_SAVE_ERROR,
|
|
795
|
+
PROVIDER_DELETE_COMPLETE: PROVIDER_DELETE_COMPLETE,
|
|
796
|
+
PROVIDER_DELETE_ERROR: PROVIDER_DELETE_ERROR,
|
|
797
|
+
PROVIDER_GET_COMPLETE: PROVIDER_GET_COMPLETE,
|
|
798
|
+
PROVIDER_GET_ERROR: PROVIDER_GET_ERROR,
|
|
799
|
+
PROVIDER_LIST_COMPLETE: PROVIDER_LIST_COMPLETE,
|
|
800
|
+
PROVIDER_LIST_ERROR: PROVIDER_LIST_ERROR,
|
|
801
|
+
PROVIDER_SAVE_COMPLETE: PROVIDER_SAVE_COMPLETE,
|
|
802
|
+
PROVIDER_SAVE_ERROR: PROVIDER_SAVE_ERROR,
|
|
803
|
+
SECURE_STORAGE_ENCRYPT_STRING: SECURE_STORAGE_ENCRYPT_STRING,
|
|
804
|
+
SECURE_STORAGE_ENCRYPT_STRING_COMPLETE: SECURE_STORAGE_ENCRYPT_STRING_COMPLETE,
|
|
805
|
+
SECURE_STORAGE_ENCRYPT_STRING_ERROR: SECURE_STORAGE_ENCRYPT_STRING_ERROR,
|
|
806
|
+
SECURE_STORE_ENCRYPTION_CHECK: SECURE_STORE_ENCRYPTION_CHECK,
|
|
807
|
+
SECURE_STORE_ENCRYPTION_CHECK_COMPLETE: SECURE_STORE_ENCRYPTION_CHECK_COMPLETE,
|
|
808
|
+
SECURE_STORE_ENCRYPTION_CHECK_ERROR: SECURE_STORE_ENCRYPTION_CHECK_ERROR,
|
|
809
|
+
SECURE_STORE_GET_DATA: SECURE_STORE_GET_DATA,
|
|
810
|
+
SECURE_STORE_GET_DATA_COMPLETE: SECURE_STORE_GET_DATA_COMPLETE,
|
|
811
|
+
SECURE_STORE_GET_DATA_ERROR: SECURE_STORE_GET_DATA_ERROR,
|
|
812
|
+
SECURE_STORE_SET_DATA: SECURE_STORE_SET_DATA,
|
|
813
|
+
SECURE_STORE_SET_DATA_COMPLETE: SECURE_STORE_SET_DATA_COMPLETE,
|
|
814
|
+
SECURE_STORE_SET_DATA_ERROR: SECURE_STORE_SET_DATA_ERROR,
|
|
815
|
+
SETTINGS_GET: SETTINGS_GET,
|
|
816
|
+
SETTINGS_GET_COMPLETE: SETTINGS_GET_COMPLETE,
|
|
817
|
+
SETTINGS_GET_ERROR: SETTINGS_GET_ERROR,
|
|
818
|
+
SETTINGS_SAVE: SETTINGS_SAVE,
|
|
819
|
+
SETTINGS_SAVE_COMPLETE: SETTINGS_SAVE_COMPLETE,
|
|
820
|
+
SETTINGS_SAVE_ERROR: SETTINGS_SAVE_ERROR,
|
|
821
|
+
THEME_DELETE: THEME_DELETE,
|
|
822
|
+
THEME_DELETE_COMPLETE: THEME_DELETE_COMPLETE,
|
|
823
|
+
THEME_DELETE_ERROR: THEME_DELETE_ERROR,
|
|
824
|
+
THEME_LIST: THEME_LIST,
|
|
825
|
+
THEME_LIST_COMPLETE: THEME_LIST_COMPLETE,
|
|
826
|
+
THEME_LIST_ERROR: THEME_LIST_ERROR,
|
|
827
|
+
THEME_SAVE: THEME_SAVE,
|
|
828
|
+
THEME_SAVE_COMPLETE: THEME_SAVE_COMPLETE,
|
|
829
|
+
THEME_SAVE_ERROR: THEME_SAVE_ERROR,
|
|
830
|
+
WORKSPACE_DELETE: WORKSPACE_DELETE,
|
|
831
|
+
WORKSPACE_DELETE_COMPLETE: WORKSPACE_DELETE_COMPLETE,
|
|
832
|
+
WORKSPACE_DELETE_ERROR: WORKSPACE_DELETE_ERROR,
|
|
833
|
+
WORKSPACE_LIST: WORKSPACE_LIST,
|
|
834
|
+
WORKSPACE_LIST_COMPLETE: WORKSPACE_LIST_COMPLETE,
|
|
835
|
+
WORKSPACE_LIST_ERROR: WORKSPACE_LIST_ERROR,
|
|
836
|
+
WORKSPACE_SAVE: WORKSPACE_SAVE,
|
|
837
|
+
WORKSPACE_SAVE_COMPLETE: WORKSPACE_SAVE_COMPLETE,
|
|
838
|
+
WORKSPACE_SAVE_ERROR: WORKSPACE_SAVE_ERROR
|
|
839
839
|
});
|
|
840
840
|
|
|
841
841
|
var ElectronDashboardApi = /*#__PURE__*/function () {
|
|
@@ -2501,8 +2501,8 @@ var DashboardWrapper = function DashboardWrapper(_ref) {
|
|
|
2501
2501
|
});
|
|
2502
2502
|
};
|
|
2503
2503
|
|
|
2504
|
-
function ownKeys$
|
|
2505
|
-
function _objectSpread$
|
|
2504
|
+
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; }
|
|
2505
|
+
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; }
|
|
2506
2506
|
var DashboardThemeProvider = function DashboardThemeProvider(_ref) {
|
|
2507
2507
|
var themeKey = _ref.themeKey,
|
|
2508
2508
|
children = _ref.children;
|
|
@@ -2514,7 +2514,7 @@ var DashboardThemeProvider = function DashboardThemeProvider(_ref) {
|
|
|
2514
2514
|
var dashboardTheme = themes[themeKey];
|
|
2515
2515
|
var themeValue = dashboardTheme ? dashboardTheme[themeVariant] || null : null;
|
|
2516
2516
|
if (!themeValue) return null;
|
|
2517
|
-
return _objectSpread$
|
|
2517
|
+
return _objectSpread$v(_objectSpread$v({}, parentContext), {}, {
|
|
2518
2518
|
currentTheme: themeValue,
|
|
2519
2519
|
currentThemeKey: themeKey,
|
|
2520
2520
|
theme: themeValue,
|
|
@@ -2532,8 +2532,8 @@ var DashboardThemeProvider = function DashboardThemeProvider(_ref) {
|
|
|
2532
2532
|
});
|
|
2533
2533
|
};
|
|
2534
2534
|
|
|
2535
|
-
function ownKeys$
|
|
2536
|
-
function _objectSpread$
|
|
2535
|
+
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; }
|
|
2536
|
+
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; }
|
|
2537
2537
|
var AppThemeScope = function AppThemeScope(_ref) {
|
|
2538
2538
|
var children = _ref.children;
|
|
2539
2539
|
var ctx = React.useContext(DashReact.ThemeContext);
|
|
@@ -2541,7 +2541,7 @@ var AppThemeScope = function AppThemeScope(_ref) {
|
|
|
2541
2541
|
children: children
|
|
2542
2542
|
});
|
|
2543
2543
|
return /*#__PURE__*/jsxRuntime.jsx(DashReact.ThemeContext.Provider, {
|
|
2544
|
-
value: _objectSpread$
|
|
2544
|
+
value: _objectSpread$u(_objectSpread$u({}, ctx), {}, {
|
|
2545
2545
|
currentTheme: ctx.appTheme,
|
|
2546
2546
|
currentThemeKey: ctx.appThemeKey,
|
|
2547
2547
|
theme: ctx.appTheme,
|
|
@@ -2653,8 +2653,8 @@ var LayoutContainer = function LayoutContainer(_ref) {
|
|
|
2653
2653
|
});
|
|
2654
2654
|
};
|
|
2655
2655
|
|
|
2656
|
-
function ownKeys$
|
|
2657
|
-
function _objectSpread$
|
|
2656
|
+
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; }
|
|
2657
|
+
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; }
|
|
2658
2658
|
function _createForOfIteratorHelper$7(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$7(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; } } }; }
|
|
2659
2659
|
function _unsupportedIterableToArray$7(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$7(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$7(r, a) : void 0; } }
|
|
2660
2660
|
function _arrayLikeToArray$7(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; }
|
|
@@ -2898,7 +2898,7 @@ function createLayoutFromTemplate(template) {
|
|
|
2898
2898
|
try {
|
|
2899
2899
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
2900
2900
|
var cell = _step.value;
|
|
2901
|
-
grid[cell.key] = _objectSpread$
|
|
2901
|
+
grid[cell.key] = _objectSpread$t({
|
|
2902
2902
|
component: null,
|
|
2903
2903
|
hide: cell.hide || false
|
|
2904
2904
|
}, cell.span ? {
|
|
@@ -3000,7 +3000,7 @@ var LayoutManagerPicker = function LayoutManagerPicker(_ref2) {
|
|
|
3000
3000
|
children: selectedTemplate.description
|
|
3001
3001
|
}), /*#__PURE__*/jsxRuntime.jsxs("p", {
|
|
3002
3002
|
className: "text-sm text-gray-600 mt-4",
|
|
3003
|
-
children: [selectedTemplate.rows, " row", selectedTemplate.rows !== 1 ? "s" : "", " x
|
|
3003
|
+
children: [selectedTemplate.rows, " row", selectedTemplate.rows !== 1 ? "s" : "", " x ", selectedTemplate.cols, " ", "column", selectedTemplate.cols !== 1 ? "s" : ""]
|
|
3004
3004
|
})]
|
|
3005
3005
|
}) : /*#__PURE__*/jsxRuntime.jsx("p", {
|
|
3006
3006
|
className: "text-base font-normal text-gray-400",
|
|
@@ -4173,8 +4173,8 @@ var LayoutBuilderAddItemModal = function LayoutBuilderAddItemModal(_ref) {
|
|
|
4173
4173
|
});
|
|
4174
4174
|
};
|
|
4175
4175
|
|
|
4176
|
-
function ownKeys$
|
|
4177
|
-
function _objectSpread$
|
|
4176
|
+
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; }
|
|
4177
|
+
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; }
|
|
4178
4178
|
var PanelEditItem = function PanelEditItem(_ref) {
|
|
4179
4179
|
var _ComponentManager$get;
|
|
4180
4180
|
var workspace = _ref.workspace,
|
|
@@ -4234,7 +4234,7 @@ var PanelEditItem = function PanelEditItem(_ref) {
|
|
|
4234
4234
|
var uuid = newItem.uuid || newItem.uuidString;
|
|
4235
4235
|
if (uuid) {
|
|
4236
4236
|
workspaceTemp.selectedProviders = workspaceTemp.selectedProviders || {};
|
|
4237
|
-
workspaceTemp.selectedProviders[uuid] = _objectSpread$
|
|
4237
|
+
workspaceTemp.selectedProviders[uuid] = _objectSpread$s(_objectSpread$s({}, workspaceTemp.selectedProviders[uuid] || {}), {}, _defineProperty({}, providerType, providerId));
|
|
4238
4238
|
}
|
|
4239
4239
|
onUpdate(newItem, workspaceTemp);
|
|
4240
4240
|
forceUpdate();
|
|
@@ -4344,7 +4344,7 @@ var PanelEditItem = function PanelEditItem(_ref) {
|
|
|
4344
4344
|
var _ref5 = _slicedToArray(_ref4, 2),
|
|
4345
4345
|
name = _ref5[0],
|
|
4346
4346
|
p = _ref5[1];
|
|
4347
|
-
return _objectSpread$
|
|
4347
|
+
return _objectSpread$s({
|
|
4348
4348
|
name: name
|
|
4349
4349
|
}, p);
|
|
4350
4350
|
});
|
|
@@ -4352,9 +4352,9 @@ var PanelEditItem = function PanelEditItem(_ref) {
|
|
|
4352
4352
|
className: "flex flex-col space-y-1",
|
|
4353
4353
|
children: [/*#__PURE__*/jsxRuntime.jsxs("span", {
|
|
4354
4354
|
className: "text-sm font-medium opacity-70",
|
|
4355
|
-
children: [providerType, req.required && /*#__PURE__*/jsxRuntime.
|
|
4355
|
+
children: [providerType, req.required && /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
4356
4356
|
className: "text-red-500",
|
|
4357
|
-
children:
|
|
4357
|
+
children: " *"
|
|
4358
4358
|
})]
|
|
4359
4359
|
}), /*#__PURE__*/jsxRuntime.jsxs(DashReact.SelectMenu, {
|
|
4360
4360
|
name: "provider-".concat(providerType),
|
|
@@ -4386,8 +4386,8 @@ var _excluded$5 = ["rows", "cols"];
|
|
|
4386
4386
|
function _createForOfIteratorHelper$6(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$6(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; } } }; }
|
|
4387
4387
|
function _unsupportedIterableToArray$6(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$6(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$6(r, a) : void 0; } }
|
|
4388
4388
|
function _arrayLikeToArray$6(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; }
|
|
4389
|
-
function ownKeys$
|
|
4390
|
-
function _objectSpread$
|
|
4389
|
+
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; }
|
|
4390
|
+
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; }
|
|
4391
4391
|
var defaultGrid = {
|
|
4392
4392
|
rows: 1,
|
|
4393
4393
|
cols: 1,
|
|
@@ -4408,7 +4408,7 @@ function GridEditor(_ref) {
|
|
|
4408
4408
|
setGrid = _useState2[1];
|
|
4409
4409
|
var addRow = function addRow() {
|
|
4410
4410
|
var newRow = grid.rows;
|
|
4411
|
-
var newGrid = _objectSpread$
|
|
4411
|
+
var newGrid = _objectSpread$r(_objectSpread$r({}, grid), {}, {
|
|
4412
4412
|
rows: grid.rows + 1
|
|
4413
4413
|
});
|
|
4414
4414
|
for (var col = 0; col < grid.cols; col++) {
|
|
@@ -4423,7 +4423,7 @@ function GridEditor(_ref) {
|
|
|
4423
4423
|
};
|
|
4424
4424
|
var addColumn = function addColumn() {
|
|
4425
4425
|
var newCol = grid.cols;
|
|
4426
|
-
var newGrid = _objectSpread$
|
|
4426
|
+
var newGrid = _objectSpread$r(_objectSpread$r({}, grid), {}, {
|
|
4427
4427
|
cols: grid.cols + 1
|
|
4428
4428
|
});
|
|
4429
4429
|
for (var row = 0; row < grid.rows; row++) {
|
|
@@ -4456,8 +4456,8 @@ function GridEditor(_ref) {
|
|
|
4456
4456
|
});
|
|
4457
4457
|
}
|
|
4458
4458
|
if (grid[nextKey]) {
|
|
4459
|
-
var newGrid = _objectSpread$
|
|
4460
|
-
newGrid[currentKey] = _objectSpread$
|
|
4459
|
+
var newGrid = _objectSpread$r({}, grid);
|
|
4460
|
+
newGrid[currentKey] = _objectSpread$r(_objectSpread$r({}, newGrid[currentKey]), {}, {
|
|
4461
4461
|
colSpan: newGrid[currentKey].colSpan + 1
|
|
4462
4462
|
});
|
|
4463
4463
|
delete newGrid[nextKey];
|
|
@@ -4470,8 +4470,8 @@ function GridEditor(_ref) {
|
|
|
4470
4470
|
var currentKey = "".concat(row, ".").concat(col);
|
|
4471
4471
|
var belowKey = "".concat(row + 1, ".").concat(col);
|
|
4472
4472
|
if (grid[belowKey]) {
|
|
4473
|
-
var newGrid = _objectSpread$
|
|
4474
|
-
newGrid[currentKey] = _objectSpread$
|
|
4473
|
+
var newGrid = _objectSpread$r({}, grid);
|
|
4474
|
+
newGrid[currentKey] = _objectSpread$r(_objectSpread$r({}, newGrid[currentKey]), {}, {
|
|
4475
4475
|
rowSpan: newGrid[currentKey].rowSpan + 1
|
|
4476
4476
|
});
|
|
4477
4477
|
delete newGrid[belowKey];
|
|
@@ -4488,7 +4488,7 @@ function GridEditor(_ref) {
|
|
|
4488
4488
|
var splitCell = function splitCell(row, col) {
|
|
4489
4489
|
var key = "".concat(row, ".").concat(col);
|
|
4490
4490
|
var cell = grid[key];
|
|
4491
|
-
var newGrid = _objectSpread$
|
|
4491
|
+
var newGrid = _objectSpread$r({}, grid);
|
|
4492
4492
|
|
|
4493
4493
|
// we have to check the colspan, and since the colspan is greater than 1
|
|
4494
4494
|
// Only handle horizontal split if colSpan > 1
|
|
@@ -4504,13 +4504,13 @@ function GridEditor(_ref) {
|
|
|
4504
4504
|
var oldKey = "".concat(row, ".").concat(c);
|
|
4505
4505
|
var newKey = "".concat(row, ".").concat(c + 1);
|
|
4506
4506
|
if (newGrid[oldKey]) {
|
|
4507
|
-
newGrid[newKey] = _objectSpread$
|
|
4507
|
+
newGrid[newKey] = _objectSpread$r({}, newGrid[oldKey]);
|
|
4508
4508
|
delete newGrid[oldKey];
|
|
4509
4509
|
}
|
|
4510
4510
|
}
|
|
4511
4511
|
|
|
4512
4512
|
// Update the original cell's colSpan
|
|
4513
|
-
newGrid[key] = _objectSpread$
|
|
4513
|
+
newGrid[key] = _objectSpread$r(_objectSpread$r({}, cell), {}, {
|
|
4514
4514
|
colSpan: cell.colSpan - 1
|
|
4515
4515
|
});
|
|
4516
4516
|
|
|
@@ -4522,7 +4522,7 @@ function GridEditor(_ref) {
|
|
|
4522
4522
|
};
|
|
4523
4523
|
}
|
|
4524
4524
|
if (cell.rowSpan > 1) {
|
|
4525
|
-
newGrid[key] = _objectSpread$
|
|
4525
|
+
newGrid[key] = _objectSpread$r(_objectSpread$r({}, newGrid[key]), {}, {
|
|
4526
4526
|
rowSpan: cell.rowSpan - 1
|
|
4527
4527
|
});
|
|
4528
4528
|
newGrid["".concat(row + 1, ".").concat(col)] = {
|
|
@@ -4641,7 +4641,7 @@ function GridEditor(_ref) {
|
|
|
4641
4641
|
var fromKey = "".concat(from.row, ".").concat(from.col);
|
|
4642
4642
|
var toKey = "".concat(to.row, ".").concat(to.col);
|
|
4643
4643
|
if (fromKey === toKey) return;
|
|
4644
|
-
var newGrid = _objectSpread$
|
|
4644
|
+
var newGrid = _objectSpread$r({}, grid);
|
|
4645
4645
|
|
|
4646
4646
|
// Swap the cells
|
|
4647
4647
|
var temp = newGrid[fromKey];
|
|
@@ -4667,7 +4667,7 @@ function GridEditor(_ref) {
|
|
|
4667
4667
|
// console.log("Grid updated:", sequencedGrid);
|
|
4668
4668
|
}
|
|
4669
4669
|
function resetGridLayout() {
|
|
4670
|
-
var newGrid = _objectSpread$
|
|
4670
|
+
var newGrid = _objectSpread$r({}, defaultGrid);
|
|
4671
4671
|
setGrid(newGrid);
|
|
4672
4672
|
onUpdate(newGrid);
|
|
4673
4673
|
}
|
|
@@ -6712,7 +6712,7 @@ var MergeCellsModal = function MergeCellsModal(_ref) {
|
|
|
6712
6712
|
children: "Merged Cell"
|
|
6713
6713
|
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
6714
6714
|
className: "text-gray-500 text-xs mt-1",
|
|
6715
|
-
children: [rowSpan, " row", rowSpan > 1 ? "s" : "", " \xD7 ", colSpan, "
|
|
6715
|
+
children: [rowSpan, " row", rowSpan > 1 ? "s" : "", " \xD7 ", colSpan, " column", colSpan > 1 ? "s" : ""]
|
|
6716
6716
|
})]
|
|
6717
6717
|
})
|
|
6718
6718
|
}), /*#__PURE__*/jsxRuntime.jsxs(DashReact.Paragraph, {
|
|
@@ -6793,7 +6793,7 @@ var MergeCellsModal = function MergeCellsModal(_ref) {
|
|
|
6793
6793
|
children: "Keep first widget"
|
|
6794
6794
|
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
6795
6795
|
className: "text-xs text-gray-400",
|
|
6796
|
-
children: ["Widget from cell
|
|
6796
|
+
children: ["Widget from cell ", cellNumbers[0]]
|
|
6797
6797
|
})]
|
|
6798
6798
|
})]
|
|
6799
6799
|
}), /*#__PURE__*/jsxRuntime.jsxs("button", {
|
|
@@ -6813,7 +6813,7 @@ var MergeCellsModal = function MergeCellsModal(_ref) {
|
|
|
6813
6813
|
children: "Keep last widget"
|
|
6814
6814
|
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
6815
6815
|
className: "text-xs text-gray-400",
|
|
6816
|
-
children: ["Widget from cell
|
|
6816
|
+
children: ["Widget from cell ", cellNumbers[cellNumbers.length - 1]]
|
|
6817
6817
|
})]
|
|
6818
6818
|
})]
|
|
6819
6819
|
}), /*#__PURE__*/jsxRuntime.jsxs("button", {
|
|
@@ -6899,8 +6899,8 @@ var WidgetIcon = function WidgetIcon(_ref) {
|
|
|
6899
6899
|
});
|
|
6900
6900
|
};
|
|
6901
6901
|
|
|
6902
|
-
function ownKeys$
|
|
6903
|
-
function _objectSpread$
|
|
6902
|
+
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; }
|
|
6903
|
+
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; }
|
|
6904
6904
|
var ProviderForm = function ProviderForm(_ref) {
|
|
6905
6905
|
var credentialSchema = _ref.credentialSchema,
|
|
6906
6906
|
_ref$initialValues = _ref.initialValues,
|
|
@@ -6957,13 +6957,13 @@ var ProviderForm = function ProviderForm(_ref) {
|
|
|
6957
6957
|
*/
|
|
6958
6958
|
var handleInputChange = function handleInputChange(fieldName, value) {
|
|
6959
6959
|
setFormData(function (prev) {
|
|
6960
|
-
return _objectSpread$
|
|
6960
|
+
return _objectSpread$q(_objectSpread$q({}, prev), {}, _defineProperty({}, fieldName, value));
|
|
6961
6961
|
});
|
|
6962
6962
|
|
|
6963
6963
|
// Clear error for this field if it was filled
|
|
6964
6964
|
if (errors[fieldName] && value !== null && value !== void 0 && value.trim()) {
|
|
6965
6965
|
setErrors(function (prev) {
|
|
6966
|
-
var newErrors = _objectSpread$
|
|
6966
|
+
var newErrors = _objectSpread$q({}, prev);
|
|
6967
6967
|
delete newErrors[fieldName];
|
|
6968
6968
|
return newErrors;
|
|
6969
6969
|
});
|
|
@@ -7001,7 +7001,7 @@ var ProviderForm = function ProviderForm(_ref) {
|
|
|
7001
7001
|
// Clear error if filled
|
|
7002
7002
|
if (errors.providerName && value !== null && value !== void 0 && value.trim()) {
|
|
7003
7003
|
setErrors(function (prev) {
|
|
7004
|
-
var newErrors = _objectSpread$
|
|
7004
|
+
var newErrors = _objectSpread$q({}, prev);
|
|
7005
7005
|
delete newErrors.providerName;
|
|
7006
7006
|
return newErrors;
|
|
7007
7007
|
});
|
|
@@ -7080,8 +7080,8 @@ var ProviderForm = function ProviderForm(_ref) {
|
|
|
7080
7080
|
function _createForOfIteratorHelper$5(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$5(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; } } }; }
|
|
7081
7081
|
function _unsupportedIterableToArray$5(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$5(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$5(r, a) : void 0; } }
|
|
7082
7082
|
function _arrayLikeToArray$5(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; }
|
|
7083
|
-
function ownKeys$
|
|
7084
|
-
function _objectSpread$
|
|
7083
|
+
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; }
|
|
7084
|
+
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; }
|
|
7085
7085
|
var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
|
|
7086
7086
|
var isOpen = _ref.isOpen,
|
|
7087
7087
|
onClose = _ref.onClose,
|
|
@@ -7204,7 +7204,7 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
|
|
|
7204
7204
|
.map(function (entry) {
|
|
7205
7205
|
var widget = allWidgets[entry.widgetKey];
|
|
7206
7206
|
if (!widget) return null; // Widget no longer exists
|
|
7207
|
-
return _objectSpread$
|
|
7207
|
+
return _objectSpread$p(_objectSpread$p({
|
|
7208
7208
|
key: entry.widgetKey
|
|
7209
7209
|
}, widget), {}, {
|
|
7210
7210
|
savedProviders: entry.providers || {},
|
|
@@ -7344,7 +7344,7 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
|
|
|
7344
7344
|
// Get widgets from ComponentManager
|
|
7345
7345
|
var allWidgets = ComponentManager.map();
|
|
7346
7346
|
var widgetList = Object.keys(allWidgets).map(function (key) {
|
|
7347
|
-
return _objectSpread$
|
|
7347
|
+
return _objectSpread$p({
|
|
7348
7348
|
key: key
|
|
7349
7349
|
}, allWidgets[key]);
|
|
7350
7350
|
}).filter(function (widget) {
|
|
@@ -7522,7 +7522,7 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
|
|
|
7522
7522
|
setInlineCreateType(null);
|
|
7523
7523
|
setInlineCreateSchema({});
|
|
7524
7524
|
setInlineCreateError(null);
|
|
7525
|
-
setSelectedProviders(_objectSpread$
|
|
7525
|
+
setSelectedProviders(_objectSpread$p(_objectSpread$p({}, selectedProviders), {}, _defineProperty({}, providerType, providerName)));
|
|
7526
7526
|
}
|
|
7527
7527
|
};
|
|
7528
7528
|
var handleInlineProviderSubmit = function handleInlineProviderSubmit(formData) {
|
|
@@ -7543,7 +7543,7 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
|
|
|
7543
7543
|
|
|
7544
7544
|
// Auto-select the newly created provider
|
|
7545
7545
|
setSelectedProviders(function (prev) {
|
|
7546
|
-
return _objectSpread$
|
|
7546
|
+
return _objectSpread$p(_objectSpread$p({}, prev), {}, _defineProperty({}, providerType, providerName));
|
|
7547
7547
|
});
|
|
7548
7548
|
|
|
7549
7549
|
// Collapse the inline form
|
|
@@ -7561,7 +7561,7 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
|
|
|
7561
7561
|
setInlineCreateError(null);
|
|
7562
7562
|
};
|
|
7563
7563
|
var handleConfigChange = function handleConfigChange(key, value) {
|
|
7564
|
-
setUserConfigValues(_objectSpread$
|
|
7564
|
+
setUserConfigValues(_objectSpread$p(_objectSpread$p({}, userConfigValues), {}, _defineProperty({}, key, value)));
|
|
7565
7565
|
};
|
|
7566
7566
|
|
|
7567
7567
|
// Install a package from the registry
|
|
@@ -7649,7 +7649,7 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
|
|
|
7649
7649
|
|
|
7650
7650
|
// Phase 3: Save to recent widgets
|
|
7651
7651
|
saveToRecent(selectedWidget, selectedProviders, userConfigValues);
|
|
7652
|
-
onSelectWidget(_objectSpread$
|
|
7652
|
+
onSelectWidget(_objectSpread$p(_objectSpread$p({}, selectedWidget), {}, {
|
|
7653
7653
|
selectedProviders: selectedProviders,
|
|
7654
7654
|
// Pass to parent
|
|
7655
7655
|
userConfigValues: userConfigValues // Pass to parent
|
|
@@ -7732,7 +7732,7 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
|
|
|
7732
7732
|
children: group.displayName
|
|
7733
7733
|
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
7734
7734
|
className: "text-xs text-gray-500",
|
|
7735
|
-
children: [group.widgets.length, " widget", group.widgets.length !== 1 ? "s" : "", "
|
|
7735
|
+
children: [group.widgets.length, " widget", group.widgets.length !== 1 ? "s" : "", " \xB7 v", group.version]
|
|
7736
7736
|
})]
|
|
7737
7737
|
})]
|
|
7738
7738
|
})
|
|
@@ -8102,7 +8102,7 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
|
|
|
8102
8102
|
}, p.name);
|
|
8103
8103
|
}), /*#__PURE__*/jsxRuntime.jsxs("option", {
|
|
8104
8104
|
value: "__create_new__",
|
|
8105
|
-
children: ["+ Create New
|
|
8105
|
+
children: ["+ Create New ", providerReq.type]
|
|
8106
8106
|
})]
|
|
8107
8107
|
}), providerReq.required && !selectedProviders[providerReq.type] && inlineCreateType !== providerReq.type && /*#__PURE__*/jsxRuntime.jsx("p", {
|
|
8108
8108
|
className: "text-xs text-red-400",
|
|
@@ -8883,7 +8883,7 @@ var ProviderSelector = function ProviderSelector(_ref) {
|
|
|
8883
8883
|
children: [/*#__PURE__*/jsxRuntime.jsx("h2", {
|
|
8884
8884
|
className: "text-2xl font-bold text-gray-100",
|
|
8885
8885
|
children: providerType ? /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
8886
|
-
children: ["Manage
|
|
8886
|
+
children: ["Manage ", /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
8887
8887
|
className: "capitalize",
|
|
8888
8888
|
children: providerType
|
|
8889
8889
|
}), " ", "Providers"]
|
|
@@ -8984,6 +8984,8 @@ var ProviderSelector = function ProviderSelector(_ref) {
|
|
|
8984
8984
|
});
|
|
8985
8985
|
};
|
|
8986
8986
|
|
|
8987
|
+
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; }
|
|
8988
|
+
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; }
|
|
8987
8989
|
/**
|
|
8988
8990
|
* Shared MCP utility functions.
|
|
8989
8991
|
*
|
|
@@ -9090,6 +9092,296 @@ function isLikelySecret(name) {
|
|
|
9090
9092
|
return /key|token|secret|password|credential|auth/.test(lower);
|
|
9091
9093
|
}
|
|
9092
9094
|
|
|
9095
|
+
/**
|
|
9096
|
+
* Build an mcpConfig by overlaying advanced-section rows onto a catalog base config.
|
|
9097
|
+
*
|
|
9098
|
+
* For stdio: replaces `envMapping` with the rows from the advanced section.
|
|
9099
|
+
* For streamable_http: replaces `headerTemplate` with the rows from the advanced section.
|
|
9100
|
+
*
|
|
9101
|
+
* @param {object} baseMcpConfig - The catalog's original mcpConfig
|
|
9102
|
+
* @param {Array<{ envVar: string, credField: string }>} envMappingRows - Current env var rows
|
|
9103
|
+
* @param {Array<{ headerName: string, headerValue: string }>} headerRows - Current header rows
|
|
9104
|
+
* @returns {object} A new mcpConfig with overridden envMapping or headerTemplate
|
|
9105
|
+
*/
|
|
9106
|
+
function buildMcpConfigFromOverrides(baseMcpConfig, envMappingRows, headerRows) {
|
|
9107
|
+
if (baseMcpConfig.transport === "streamable_http") {
|
|
9108
|
+
var headerTemplate = {};
|
|
9109
|
+
headerRows.forEach(function (row) {
|
|
9110
|
+
var name = row.headerName.trim();
|
|
9111
|
+
var value = row.headerValue.trim();
|
|
9112
|
+
if (name && value) {
|
|
9113
|
+
headerTemplate[name] = value;
|
|
9114
|
+
}
|
|
9115
|
+
});
|
|
9116
|
+
var config = _objectSpread$o({}, baseMcpConfig);
|
|
9117
|
+
if (Object.keys(headerTemplate).length > 0) {
|
|
9118
|
+
config.headerTemplate = headerTemplate;
|
|
9119
|
+
} else {
|
|
9120
|
+
delete config.headerTemplate;
|
|
9121
|
+
}
|
|
9122
|
+
return config;
|
|
9123
|
+
}
|
|
9124
|
+
|
|
9125
|
+
// stdio
|
|
9126
|
+
var envMapping = {};
|
|
9127
|
+
envMappingRows.forEach(function (row) {
|
|
9128
|
+
var env = row.envVar.trim();
|
|
9129
|
+
var cred = row.credField.trim();
|
|
9130
|
+
if (env && cred) {
|
|
9131
|
+
envMapping[env] = cred;
|
|
9132
|
+
}
|
|
9133
|
+
});
|
|
9134
|
+
return _objectSpread$o(_objectSpread$o({}, baseMcpConfig), {}, {
|
|
9135
|
+
envMapping: envMapping
|
|
9136
|
+
});
|
|
9137
|
+
}
|
|
9138
|
+
|
|
9139
|
+
/**
|
|
9140
|
+
* Convert an envMapping object into row state for the advanced config UI.
|
|
9141
|
+
*
|
|
9142
|
+
* @param {object} envMapping - e.g. { SLACK_BOT_TOKEN: "botToken" }
|
|
9143
|
+
* @param {Function} nextRowId - Function that returns a unique row ID
|
|
9144
|
+
* @returns {Array<{ id: string, envVar: string, credField: string }>}
|
|
9145
|
+
*/
|
|
9146
|
+
function envMappingToRows(envMapping, nextRowId) {
|
|
9147
|
+
if (!envMapping) return [];
|
|
9148
|
+
return Object.entries(envMapping).map(function (_ref) {
|
|
9149
|
+
var _ref2 = _slicedToArray(_ref, 2),
|
|
9150
|
+
envVar = _ref2[0],
|
|
9151
|
+
credField = _ref2[1];
|
|
9152
|
+
return {
|
|
9153
|
+
id: nextRowId(),
|
|
9154
|
+
envVar: envVar,
|
|
9155
|
+
credField: credField
|
|
9156
|
+
};
|
|
9157
|
+
});
|
|
9158
|
+
}
|
|
9159
|
+
|
|
9160
|
+
/**
|
|
9161
|
+
* Convert a headerTemplate object into row state for the advanced config UI.
|
|
9162
|
+
*
|
|
9163
|
+
* @param {object} headerTemplate - e.g. { "Authorization": "Bearer {{apiKey}}" }
|
|
9164
|
+
* @param {Function} nextRowId - Function that returns a unique row ID
|
|
9165
|
+
* @returns {Array<{ id: string, headerName: string, headerValue: string }>}
|
|
9166
|
+
*/
|
|
9167
|
+
function headerTemplateToRows(headerTemplate, nextRowId) {
|
|
9168
|
+
if (!headerTemplate) return [];
|
|
9169
|
+
return Object.entries(headerTemplate).map(function (_ref3) {
|
|
9170
|
+
var _ref4 = _slicedToArray(_ref3, 2),
|
|
9171
|
+
headerName = _ref4[0],
|
|
9172
|
+
headerValue = _ref4[1];
|
|
9173
|
+
return {
|
|
9174
|
+
id: nextRowId(),
|
|
9175
|
+
headerName: headerName,
|
|
9176
|
+
headerValue: headerValue
|
|
9177
|
+
};
|
|
9178
|
+
});
|
|
9179
|
+
}
|
|
9180
|
+
|
|
9181
|
+
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; }
|
|
9182
|
+
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; }
|
|
9183
|
+
var AdvancedMcpConfig = function AdvancedMcpConfig(_ref) {
|
|
9184
|
+
var transport = _ref.transport,
|
|
9185
|
+
envMappingRows = _ref.envMappingRows,
|
|
9186
|
+
onEnvMappingRowsChange = _ref.onEnvMappingRowsChange,
|
|
9187
|
+
headerRows = _ref.headerRows,
|
|
9188
|
+
onHeaderRowsChange = _ref.onHeaderRowsChange;
|
|
9189
|
+
var _useState = React.useState(false),
|
|
9190
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
9191
|
+
isExpanded = _useState2[0],
|
|
9192
|
+
setIsExpanded = _useState2[1];
|
|
9193
|
+
var rowIdRef = React.useRef(0);
|
|
9194
|
+
var nextRowId = function nextRowId() {
|
|
9195
|
+
return "adv_".concat(++rowIdRef.current);
|
|
9196
|
+
};
|
|
9197
|
+
|
|
9198
|
+
// --- env mapping row handlers ---
|
|
9199
|
+
var addEnvRow = function addEnvRow() {
|
|
9200
|
+
onEnvMappingRowsChange(function (prev) {
|
|
9201
|
+
return [].concat(_toConsumableArray(prev), [{
|
|
9202
|
+
id: nextRowId(),
|
|
9203
|
+
envVar: "",
|
|
9204
|
+
credField: ""
|
|
9205
|
+
}]);
|
|
9206
|
+
});
|
|
9207
|
+
};
|
|
9208
|
+
var updateEnvRow = function updateEnvRow(id, field, value) {
|
|
9209
|
+
onEnvMappingRowsChange(function (prev) {
|
|
9210
|
+
return prev.map(function (row) {
|
|
9211
|
+
return row.id === id ? _objectSpread$n(_objectSpread$n({}, row), {}, _defineProperty({}, field, value)) : row;
|
|
9212
|
+
});
|
|
9213
|
+
});
|
|
9214
|
+
};
|
|
9215
|
+
var removeEnvRow = function removeEnvRow(id) {
|
|
9216
|
+
onEnvMappingRowsChange(function (prev) {
|
|
9217
|
+
return prev.filter(function (row) {
|
|
9218
|
+
return row.id !== id;
|
|
9219
|
+
});
|
|
9220
|
+
});
|
|
9221
|
+
};
|
|
9222
|
+
|
|
9223
|
+
// --- header row handlers ---
|
|
9224
|
+
var addHeaderRow = function addHeaderRow() {
|
|
9225
|
+
onHeaderRowsChange(function (prev) {
|
|
9226
|
+
return [].concat(_toConsumableArray(prev), [{
|
|
9227
|
+
id: nextRowId(),
|
|
9228
|
+
headerName: "",
|
|
9229
|
+
headerValue: ""
|
|
9230
|
+
}]);
|
|
9231
|
+
});
|
|
9232
|
+
};
|
|
9233
|
+
var updateHeaderRow = function updateHeaderRow(id, field, value) {
|
|
9234
|
+
onHeaderRowsChange(function (prev) {
|
|
9235
|
+
return prev.map(function (row) {
|
|
9236
|
+
return row.id === id ? _objectSpread$n(_objectSpread$n({}, row), {}, _defineProperty({}, field, value)) : row;
|
|
9237
|
+
});
|
|
9238
|
+
});
|
|
9239
|
+
};
|
|
9240
|
+
var removeHeaderRow = function removeHeaderRow(id) {
|
|
9241
|
+
onHeaderRowsChange(function (prev) {
|
|
9242
|
+
return prev.filter(function (row) {
|
|
9243
|
+
return row.id !== id;
|
|
9244
|
+
});
|
|
9245
|
+
});
|
|
9246
|
+
};
|
|
9247
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
9248
|
+
className: "border border-white/10 rounded-lg overflow-hidden",
|
|
9249
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs("button", {
|
|
9250
|
+
onClick: function onClick() {
|
|
9251
|
+
return setIsExpanded(function (prev) {
|
|
9252
|
+
return !prev;
|
|
9253
|
+
});
|
|
9254
|
+
},
|
|
9255
|
+
className: "flex items-center gap-2 w-full px-4 py-3 text-left text-sm hover:bg-white/5 transition-colors",
|
|
9256
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(DashReact.FontAwesomeIcon, {
|
|
9257
|
+
icon: isExpanded ? "chevron-down" : "chevron-right",
|
|
9258
|
+
className: "text-xs opacity-50"
|
|
9259
|
+
}), /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
9260
|
+
className: "font-semibold opacity-70",
|
|
9261
|
+
children: "Advanced Configuration"
|
|
9262
|
+
})]
|
|
9263
|
+
}), isExpanded && /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
9264
|
+
className: "px-4 pb-4 space-y-3",
|
|
9265
|
+
children: transport === "streamable_http" ?
|
|
9266
|
+
/*#__PURE__*/
|
|
9267
|
+
// HTTP headers
|
|
9268
|
+
jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
9269
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
9270
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(DashReact.FormLabel, {
|
|
9271
|
+
label: "Request Headers"
|
|
9272
|
+
}), /*#__PURE__*/jsxRuntime.jsxs("p", {
|
|
9273
|
+
className: "text-sm opacity-50 mt-1",
|
|
9274
|
+
children: ["Use", " ", /*#__PURE__*/jsxRuntime.jsx("code", {
|
|
9275
|
+
className: "text-xs bg-white/10 px-1 py-0.5 rounded",
|
|
9276
|
+
children: "{{fieldName}}"
|
|
9277
|
+
}), " ", "in values for credential placeholders"]
|
|
9278
|
+
})]
|
|
9279
|
+
}), headerRows.map(function (row) {
|
|
9280
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
9281
|
+
className: "flex items-center gap-2",
|
|
9282
|
+
children: [/*#__PURE__*/jsxRuntime.jsx("div", {
|
|
9283
|
+
className: "flex-1",
|
|
9284
|
+
children: /*#__PURE__*/jsxRuntime.jsx(DashReact.InputText, {
|
|
9285
|
+
value: row.headerName,
|
|
9286
|
+
onChange: function onChange(value) {
|
|
9287
|
+
return updateHeaderRow(row.id, "headerName", value);
|
|
9288
|
+
},
|
|
9289
|
+
placeholder: "Header-Name"
|
|
9290
|
+
})
|
|
9291
|
+
}), /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
9292
|
+
className: "opacity-30 text-sm shrink-0",
|
|
9293
|
+
children: ":"
|
|
9294
|
+
}), /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
9295
|
+
className: "flex-1",
|
|
9296
|
+
children: /*#__PURE__*/jsxRuntime.jsx(DashReact.InputText, {
|
|
9297
|
+
value: row.headerValue,
|
|
9298
|
+
onChange: function onChange(value) {
|
|
9299
|
+
return updateHeaderRow(row.id, "headerValue", value);
|
|
9300
|
+
},
|
|
9301
|
+
placeholder: "Bearer {{apiKey}}"
|
|
9302
|
+
})
|
|
9303
|
+
}), /*#__PURE__*/jsxRuntime.jsx("button", {
|
|
9304
|
+
onClick: function onClick() {
|
|
9305
|
+
return removeHeaderRow(row.id);
|
|
9306
|
+
},
|
|
9307
|
+
className: "text-gray-500 hover:text-red-400 transition-colors shrink-0",
|
|
9308
|
+
children: /*#__PURE__*/jsxRuntime.jsx(DashReact.FontAwesomeIcon, {
|
|
9309
|
+
icon: "times",
|
|
9310
|
+
className: "text-sm"
|
|
9311
|
+
})
|
|
9312
|
+
})]
|
|
9313
|
+
}, row.id);
|
|
9314
|
+
}), /*#__PURE__*/jsxRuntime.jsxs("button", {
|
|
9315
|
+
onClick: addHeaderRow,
|
|
9316
|
+
className: "text-sm text-blue-400 hover:text-blue-300 transition-colors flex items-center gap-1",
|
|
9317
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(DashReact.FontAwesomeIcon, {
|
|
9318
|
+
icon: "plus",
|
|
9319
|
+
className: "text-xs"
|
|
9320
|
+
}), /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
9321
|
+
children: "Add Header"
|
|
9322
|
+
})]
|
|
9323
|
+
})]
|
|
9324
|
+
}) :
|
|
9325
|
+
/*#__PURE__*/
|
|
9326
|
+
// stdio env var mapping
|
|
9327
|
+
jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
9328
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
9329
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(DashReact.FormLabel, {
|
|
9330
|
+
label: "Environment Variable Mapping"
|
|
9331
|
+
}), /*#__PURE__*/jsxRuntime.jsx("p", {
|
|
9332
|
+
className: "text-sm opacity-50 mt-1",
|
|
9333
|
+
children: "Map environment variables to credential fields"
|
|
9334
|
+
})]
|
|
9335
|
+
}), envMappingRows.map(function (row) {
|
|
9336
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
9337
|
+
className: "flex items-center gap-2",
|
|
9338
|
+
children: [/*#__PURE__*/jsxRuntime.jsx("div", {
|
|
9339
|
+
className: "flex-1",
|
|
9340
|
+
children: /*#__PURE__*/jsxRuntime.jsx(DashReact.InputText, {
|
|
9341
|
+
value: row.envVar,
|
|
9342
|
+
onChange: function onChange(value) {
|
|
9343
|
+
return updateEnvRow(row.id, "envVar", value);
|
|
9344
|
+
},
|
|
9345
|
+
placeholder: "ENV_VAR_NAME"
|
|
9346
|
+
})
|
|
9347
|
+
}), /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
9348
|
+
className: "opacity-30 text-sm shrink-0",
|
|
9349
|
+
children: "\u2192"
|
|
9350
|
+
}), /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
9351
|
+
className: "flex-1",
|
|
9352
|
+
children: /*#__PURE__*/jsxRuntime.jsx(DashReact.InputText, {
|
|
9353
|
+
value: row.credField,
|
|
9354
|
+
onChange: function onChange(value) {
|
|
9355
|
+
return updateEnvRow(row.id, "credField", value);
|
|
9356
|
+
},
|
|
9357
|
+
placeholder: "credentialField"
|
|
9358
|
+
})
|
|
9359
|
+
}), /*#__PURE__*/jsxRuntime.jsx("button", {
|
|
9360
|
+
onClick: function onClick() {
|
|
9361
|
+
return removeEnvRow(row.id);
|
|
9362
|
+
},
|
|
9363
|
+
className: "text-gray-500 hover:text-red-400 transition-colors shrink-0",
|
|
9364
|
+
children: /*#__PURE__*/jsxRuntime.jsx(DashReact.FontAwesomeIcon, {
|
|
9365
|
+
icon: "times",
|
|
9366
|
+
className: "text-sm"
|
|
9367
|
+
})
|
|
9368
|
+
})]
|
|
9369
|
+
}, row.id);
|
|
9370
|
+
}), /*#__PURE__*/jsxRuntime.jsxs("button", {
|
|
9371
|
+
onClick: addEnvRow,
|
|
9372
|
+
className: "text-sm text-blue-400 hover:text-blue-300 transition-colors flex items-center gap-1",
|
|
9373
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(DashReact.FontAwesomeIcon, {
|
|
9374
|
+
icon: "plus",
|
|
9375
|
+
className: "text-xs"
|
|
9376
|
+
}), /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
9377
|
+
children: "Add Environment Variable"
|
|
9378
|
+
})]
|
|
9379
|
+
})]
|
|
9380
|
+
})
|
|
9381
|
+
})]
|
|
9382
|
+
});
|
|
9383
|
+
};
|
|
9384
|
+
|
|
9093
9385
|
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; }
|
|
9094
9386
|
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; }
|
|
9095
9387
|
var McpServerPicker = function McpServerPicker(_ref) {
|
|
@@ -9142,11 +9434,31 @@ var McpServerPicker = function McpServerPicker(_ref) {
|
|
|
9142
9434
|
formErrors = _useState18[0],
|
|
9143
9435
|
setFormErrors = _useState18[1];
|
|
9144
9436
|
|
|
9145
|
-
//
|
|
9437
|
+
// Advanced config row state
|
|
9438
|
+
var _useState19 = React.useState([]),
|
|
9439
|
+
_useState20 = _slicedToArray(_useState19, 2),
|
|
9440
|
+
envMappingRows = _useState20[0],
|
|
9441
|
+
setEnvMappingRows = _useState20[1];
|
|
9442
|
+
var _useState21 = React.useState([]),
|
|
9443
|
+
_useState22 = _slicedToArray(_useState21, 2),
|
|
9444
|
+
headerRows = _useState22[0],
|
|
9445
|
+
setHeaderRows = _useState22[1];
|
|
9446
|
+
var rowIdRef = React.useRef(0);
|
|
9447
|
+
var nextRowId = function nextRowId() {
|
|
9448
|
+
return "pick_".concat(++rowIdRef.current);
|
|
9449
|
+
};
|
|
9450
|
+
|
|
9451
|
+
// Compute effective mcpConfig from catalog base + advanced overrides
|
|
9452
|
+
var effectiveMcpConfig = React.useMemo(function () {
|
|
9453
|
+
if (!(selectedServer !== null && selectedServer !== void 0 && selectedServer.mcpConfig)) return {};
|
|
9454
|
+
return buildMcpConfigFromOverrides(selectedServer.mcpConfig, envMappingRows, headerRows);
|
|
9455
|
+
}, [selectedServer, envMappingRows, headerRows]);
|
|
9456
|
+
|
|
9457
|
+
// Derive form fields from effectiveMcpConfig + credentialSchema
|
|
9146
9458
|
var formFields = React.useMemo(function () {
|
|
9147
9459
|
if (!selectedServer) return [];
|
|
9148
|
-
return deriveFormFields(
|
|
9149
|
-
}, [selectedServer]);
|
|
9460
|
+
return deriveFormFields(effectiveMcpConfig, selectedServer.credentialSchema || {});
|
|
9461
|
+
}, [selectedServer, effectiveMcpConfig]);
|
|
9150
9462
|
|
|
9151
9463
|
// Load catalog on open
|
|
9152
9464
|
React.useEffect(function () {
|
|
@@ -9173,12 +9485,15 @@ var McpServerPicker = function McpServerPicker(_ref) {
|
|
|
9173
9485
|
|
|
9174
9486
|
// Handle server selection -> show configuration form
|
|
9175
9487
|
var handleSelectServer = function handleSelectServer(server) {
|
|
9488
|
+
var _server$mcpConfig, _server$mcpConfig2;
|
|
9176
9489
|
setSelectedServer(server);
|
|
9177
9490
|
setIsConfiguring(true);
|
|
9178
9491
|
setTestResult(null);
|
|
9179
9492
|
setProviderName(server.name);
|
|
9180
9493
|
setCredentialData({});
|
|
9181
9494
|
setFormErrors({});
|
|
9495
|
+
setEnvMappingRows(envMappingToRows((_server$mcpConfig = server.mcpConfig) === null || _server$mcpConfig === void 0 ? void 0 : _server$mcpConfig.envMapping, nextRowId));
|
|
9496
|
+
setHeaderRows(headerTemplateToRows((_server$mcpConfig2 = server.mcpConfig) === null || _server$mcpConfig2 === void 0 ? void 0 : _server$mcpConfig2.headerTemplate, nextRowId));
|
|
9182
9497
|
};
|
|
9183
9498
|
|
|
9184
9499
|
// Handle credential field changes
|
|
@@ -9217,7 +9532,7 @@ var McpServerPicker = function McpServerPicker(_ref) {
|
|
|
9217
9532
|
setIsTesting(true);
|
|
9218
9533
|
setTestResult(null);
|
|
9219
9534
|
var testName = "__test__".concat(selectedServer.id);
|
|
9220
|
-
dashApi.mcpStartServer(testName,
|
|
9535
|
+
dashApi.mcpStartServer(testName, effectiveMcpConfig, credentialData, function (event, result) {
|
|
9221
9536
|
if (result.error) {
|
|
9222
9537
|
setTestResult({
|
|
9223
9538
|
success: false,
|
|
@@ -9248,7 +9563,7 @@ var McpServerPicker = function McpServerPicker(_ref) {
|
|
|
9248
9563
|
// Handle save - create the MCP provider
|
|
9249
9564
|
var handleSaveProvider = function handleSaveProvider() {
|
|
9250
9565
|
if (!selectedServer || !validateForm()) return;
|
|
9251
|
-
onSave(providerName.trim(), selectedServer.id, credentialData,
|
|
9566
|
+
onSave(providerName.trim(), selectedServer.id, credentialData, effectiveMcpConfig);
|
|
9252
9567
|
handleClose();
|
|
9253
9568
|
};
|
|
9254
9569
|
var handleClose = function handleClose() {
|
|
@@ -9259,6 +9574,8 @@ var McpServerPicker = function McpServerPicker(_ref) {
|
|
|
9259
9574
|
setProviderName("");
|
|
9260
9575
|
setCredentialData({});
|
|
9261
9576
|
setFormErrors({});
|
|
9577
|
+
setEnvMappingRows([]);
|
|
9578
|
+
setHeaderRows([]);
|
|
9262
9579
|
setIsOpen(false);
|
|
9263
9580
|
};
|
|
9264
9581
|
var handleBack = function handleBack() {
|
|
@@ -9268,8 +9585,27 @@ var McpServerPicker = function McpServerPicker(_ref) {
|
|
|
9268
9585
|
setProviderName("");
|
|
9269
9586
|
setCredentialData({});
|
|
9270
9587
|
setFormErrors({});
|
|
9588
|
+
setEnvMappingRows([]);
|
|
9589
|
+
setHeaderRows([]);
|
|
9271
9590
|
};
|
|
9272
9591
|
|
|
9592
|
+
// Prune credential data when form fields change (advanced config removed a field)
|
|
9593
|
+
React.useEffect(function () {
|
|
9594
|
+
var validKeys = new Set(formFields.map(function (f) {
|
|
9595
|
+
return f.key;
|
|
9596
|
+
}));
|
|
9597
|
+
setCredentialData(function (prev) {
|
|
9598
|
+
var pruned = {};
|
|
9599
|
+
for (var _i = 0, _Object$keys = Object.keys(prev); _i < _Object$keys.length; _i++) {
|
|
9600
|
+
var key = _Object$keys[_i];
|
|
9601
|
+
if (validKeys.has(key)) {
|
|
9602
|
+
pruned[key] = prev[key];
|
|
9603
|
+
}
|
|
9604
|
+
}
|
|
9605
|
+
return pruned;
|
|
9606
|
+
});
|
|
9607
|
+
}, [formFields]);
|
|
9608
|
+
|
|
9273
9609
|
// Icon mapping for catalog entries
|
|
9274
9610
|
var getIconForServer = function getIconForServer(server) {
|
|
9275
9611
|
var iconMap = {
|
|
@@ -9288,7 +9624,6 @@ var McpServerPicker = function McpServerPicker(_ref) {
|
|
|
9288
9624
|
};
|
|
9289
9625
|
return iconMap[server.id] || server.icon || "server";
|
|
9290
9626
|
};
|
|
9291
|
-
var mcpConfig = (selectedServer === null || selectedServer === void 0 ? void 0 : selectedServer.mcpConfig) || {};
|
|
9292
9627
|
return /*#__PURE__*/jsxRuntime.jsx(DashReact.Modal, {
|
|
9293
9628
|
isOpen: isOpen,
|
|
9294
9629
|
setIsOpen: handleClose,
|
|
@@ -9403,9 +9738,9 @@ var McpServerPicker = function McpServerPicker(_ref) {
|
|
|
9403
9738
|
className: "opacity-50 w-24 shrink-0",
|
|
9404
9739
|
children: "Transport:"
|
|
9405
9740
|
}), /*#__PURE__*/jsxRuntime.jsx(DashReact.Tag, {
|
|
9406
|
-
text:
|
|
9741
|
+
text: effectiveMcpConfig.transport === "streamable_http" ? "Streamable HTTP" : "stdio"
|
|
9407
9742
|
})]
|
|
9408
|
-
}),
|
|
9743
|
+
}), effectiveMcpConfig.transport === "streamable_http" ? /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
9409
9744
|
className: "flex gap-2",
|
|
9410
9745
|
children: [/*#__PURE__*/jsxRuntime.jsx("span", {
|
|
9411
9746
|
className: "opacity-50 w-24 shrink-0",
|
|
@@ -9422,20 +9757,26 @@ var McpServerPicker = function McpServerPicker(_ref) {
|
|
|
9422
9757
|
children: "Command:"
|
|
9423
9758
|
}), /*#__PURE__*/jsxRuntime.jsxs("code", {
|
|
9424
9759
|
className: "text-xs bg-white/5 px-2 py-0.5 rounded",
|
|
9425
|
-
children: [
|
|
9760
|
+
children: [effectiveMcpConfig.command, " ", (effectiveMcpConfig.args || []).join(" ")]
|
|
9426
9761
|
})]
|
|
9427
|
-
}),
|
|
9762
|
+
}), effectiveMcpConfig.envMapping && Object.keys(effectiveMcpConfig.envMapping).length > 0 && /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
9428
9763
|
className: "flex gap-2",
|
|
9429
9764
|
children: [/*#__PURE__*/jsxRuntime.jsx("span", {
|
|
9430
9765
|
className: "opacity-50 w-24 shrink-0",
|
|
9431
9766
|
children: "Env Vars:"
|
|
9432
9767
|
}), /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
9433
9768
|
className: "text-xs opacity-70",
|
|
9434
|
-
children: Object.keys(
|
|
9769
|
+
children: Object.keys(effectiveMcpConfig.envMapping).join(", ")
|
|
9435
9770
|
})]
|
|
9436
9771
|
})]
|
|
9437
9772
|
})]
|
|
9438
9773
|
})]
|
|
9774
|
+
}), /*#__PURE__*/jsxRuntime.jsx(AdvancedMcpConfig, {
|
|
9775
|
+
transport: effectiveMcpConfig.transport || "stdio",
|
|
9776
|
+
envMappingRows: envMappingRows,
|
|
9777
|
+
onEnvMappingRowsChange: setEnvMappingRows,
|
|
9778
|
+
headerRows: headerRows,
|
|
9779
|
+
onHeaderRowsChange: setHeaderRows
|
|
9439
9780
|
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
9440
9781
|
className: "flex flex-col gap-2",
|
|
9441
9782
|
children: [/*#__PURE__*/jsxRuntime.jsx(DashReact.FormLabel, {
|
|
@@ -9466,7 +9807,7 @@ var McpServerPicker = function McpServerPicker(_ref) {
|
|
|
9466
9807
|
className: "border-t border-white/10 pt-4",
|
|
9467
9808
|
children: /*#__PURE__*/jsxRuntime.jsx("p", {
|
|
9468
9809
|
className: "text-xs font-semibold opacity-40 uppercase tracking-wider",
|
|
9469
|
-
children:
|
|
9810
|
+
children: effectiveMcpConfig.transport === "streamable_http" ? "Server Configuration" : "Authentication"
|
|
9470
9811
|
})
|
|
9471
9812
|
}), formFields.map(function (field) {
|
|
9472
9813
|
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
@@ -9509,7 +9850,7 @@ var McpServerPicker = function McpServerPicker(_ref) {
|
|
|
9509
9850
|
children: tool.name
|
|
9510
9851
|
}), tool.description && /*#__PURE__*/jsxRuntime.jsxs("span", {
|
|
9511
9852
|
className: "opacity-60 ml-2",
|
|
9512
|
-
children: ["-
|
|
9853
|
+
children: ["- ", tool.description]
|
|
9513
9854
|
})]
|
|
9514
9855
|
}, tool.name);
|
|
9515
9856
|
})
|
|
@@ -11936,7 +12277,7 @@ var MissingProviderPrompt = function MissingProviderPrompt(_ref) {
|
|
|
11936
12277
|
children: provider.type
|
|
11937
12278
|
}), /*#__PURE__*/jsxRuntime.jsxs("p", {
|
|
11938
12279
|
className: "text-xs text-gray-500",
|
|
11939
|
-
children: [Object.keys(provider.credentialSchema || {}).length, "
|
|
12280
|
+
children: [Object.keys(provider.credentialSchema || {}).length, " field", Object.keys(provider.credentialSchema || {}).length !== 1 ? "s" : ""]
|
|
11940
12281
|
})]
|
|
11941
12282
|
}), /*#__PURE__*/jsxRuntime.jsx("button", {
|
|
11942
12283
|
onClick: function onClick() {
|
|
@@ -12389,9 +12730,9 @@ var WidgetErrorBoundary = /*#__PURE__*/function (_Component) {
|
|
|
12389
12730
|
className: "text-sm bg-red-800 border border-red-700 rounded p-3 mt-2",
|
|
12390
12731
|
children: [/*#__PURE__*/jsxRuntime.jsx("strong", {
|
|
12391
12732
|
children: "Fix:"
|
|
12392
|
-
}), " This widget uses
|
|
12733
|
+
}), " This widget uses ", /*#__PURE__*/jsxRuntime.jsx("code", {
|
|
12393
12734
|
children: "WidgetContext"
|
|
12394
|
-
}), " but is missing the
|
|
12735
|
+
}), " ", "but is missing the ", /*#__PURE__*/jsxRuntime.jsx("code", {
|
|
12395
12736
|
children: "<Widget>"
|
|
12396
12737
|
}), " wrapper.", /*#__PURE__*/jsxRuntime.jsx("br", {}), /*#__PURE__*/jsxRuntime.jsx("br", {}), "Add the wrapper in your widget component:", /*#__PURE__*/jsxRuntime.jsx("pre", {
|
|
12397
12738
|
className: "bg-gray-900 p-2 rounded mt-2 text-xs overflow-auto",
|
|
@@ -15847,62 +16188,62 @@ var DashboardModel = /*#__PURE__*/function () {
|
|
|
15847
16188
|
|
|
15848
16189
|
// this.updateLayoutItem(childComponent);
|
|
15849
16190
|
/*
|
|
15850
|
-
|
|
15851
|
-
|
|
15852
|
-
|
|
15853
|
-
|
|
15854
|
-
|
|
15855
|
-
|
|
15856
|
-
|
|
15857
|
-
|
|
15858
|
-
|
|
15859
|
-
|
|
15860
|
-
|
|
15861
|
-
|
|
15862
|
-
|
|
15863
|
-
|
|
15864
|
-
|
|
15865
|
-
|
|
15866
|
-
|
|
15867
|
-
|
|
15868
|
-
|
|
15869
|
-
|
|
15870
|
-
|
|
15871
|
-
|
|
15872
|
-
|
|
15873
|
-
|
|
15874
|
-
|
|
15875
|
-
|
|
15876
|
-
|
|
15877
|
-
|
|
15878
|
-
|
|
15879
|
-
|
|
15880
|
-
|
|
15881
|
-
|
|
15882
|
-
|
|
15883
|
-
|
|
15884
|
-
|
|
15885
|
-
|
|
15886
|
-
|
|
15887
|
-
|
|
15888
|
-
|
|
15889
|
-
|
|
15890
|
-
|
|
15891
|
-
|
|
15892
|
-
|
|
15893
|
-
|
|
15894
|
-
|
|
15895
|
-
|
|
15896
|
-
|
|
15897
|
-
|
|
15898
|
-
|
|
15899
|
-
|
|
15900
|
-
|
|
15901
|
-
|
|
15902
|
-
|
|
15903
|
-
|
|
15904
|
-
|
|
15905
|
-
|
|
16191
|
+
if (childComponent.parent !== itemId) {
|
|
16192
|
+
console.log("parent component ", parentComponent);
|
|
16193
|
+
if (parentComponent) {
|
|
16194
|
+
if (childComponent.type === "widget") {
|
|
16195
|
+
console.log("item being added is a widget", childComponent);
|
|
16196
|
+
// add the workspace component to the layout
|
|
16197
|
+
const workspaceIdAdded = this.addWorkspaceForWidget(parentComponent, childComponent);
|
|
16198
|
+
console.log("workspace added ", workspaceIdAdded, this.layout);
|
|
16199
|
+
// get this component as the parent of the widget now?
|
|
16200
|
+
const workspaceParent = this.getComponentById(workspaceIdAdded);
|
|
16201
|
+
// now we can add the widget to the new workspace.
|
|
16202
|
+
const nextId = getNextHighestId(this.layout);
|
|
16203
|
+
// then get the next highest ORDER based on the children
|
|
16204
|
+
// of the parent
|
|
16205
|
+
const nextOrderData = getNextHighestOrder(this.layout, workspaceParent.id);
|
|
16206
|
+
const nextOrder = nextOrderData["highest"];
|
|
16207
|
+
// 2. Add the element back into the layout
|
|
16208
|
+
this.layout.push(childComponent);
|
|
16209
|
+
// set the new id and order for the item
|
|
16210
|
+
childComponent['id'] = nextId;
|
|
16211
|
+
childComponent["order"] = nextOrder;
|
|
16212
|
+
this.updateLayoutItem(childComponent);
|
|
16213
|
+
const testParent = this.setParentForLayoutItem(workspaceParent.id, childComponent);
|
|
16214
|
+
// now we have to update the parent
|
|
16215
|
+
workspaceParent.hasChildren = 1;
|
|
16216
|
+
this.updateLayoutItem(workspaceParent);
|
|
16217
|
+
return childComponent.id;
|
|
16218
|
+
|
|
16219
|
+
// return this.addChildToLayoutItem(childComponent, workspaceIdAdded);
|
|
16220
|
+
} else {
|
|
16221
|
+
console.log("in lower IF");
|
|
16222
|
+
// set an id for the new child component
|
|
16223
|
+
// to avoid collisions
|
|
16224
|
+
const nextId = getNextHighestId(this.layout);
|
|
16225
|
+
// then get the next highest ORDER based on the children
|
|
16226
|
+
// of the parent
|
|
16227
|
+
const nextOrderData = getNextHighestOrder(this.layout, parentComponent.id);
|
|
16228
|
+
const nextOrder = nextOrderData["highest"];
|
|
16229
|
+
// set the new id and order for the item
|
|
16230
|
+
childComponent['id'] = nextId;
|
|
16231
|
+
childComponent["order"] = nextOrder;
|
|
16232
|
+
// 1. Add the layoutItem as the parentWorkspace of the childComponent
|
|
16233
|
+
childComponent["parentWorkspace"] = parentComponent;
|
|
16234
|
+
childComponent["parent"] = parentComponent["id"];
|
|
16235
|
+
// 2. Add the element back into the layout
|
|
16236
|
+
this.layout.push(childComponent);
|
|
16237
|
+
// now we have to update the parent
|
|
16238
|
+
parentComponent.hasChildren = 1;
|
|
16239
|
+
this.replaceItemInLayoutById(parentComponent["id"], parentComponent);
|
|
16240
|
+
return childComponent.id;
|
|
16241
|
+
}
|
|
16242
|
+
} else {
|
|
16243
|
+
return null;
|
|
16244
|
+
}
|
|
16245
|
+
}
|
|
16246
|
+
*/
|
|
15906
16247
|
} catch (e) {
|
|
15907
16248
|
return this.layout;
|
|
15908
16249
|
}
|
|
@@ -25656,11 +25997,31 @@ var McpCatalogDetail = function McpCatalogDetail(_ref) {
|
|
|
25656
25997
|
formErrors = _useState20[0],
|
|
25657
25998
|
setFormErrors = _useState20[1];
|
|
25658
25999
|
|
|
25659
|
-
//
|
|
26000
|
+
// Advanced config row state
|
|
26001
|
+
var _useState21 = React.useState([]),
|
|
26002
|
+
_useState22 = _slicedToArray(_useState21, 2),
|
|
26003
|
+
envMappingRows = _useState22[0],
|
|
26004
|
+
setEnvMappingRows = _useState22[1];
|
|
26005
|
+
var _useState23 = React.useState([]),
|
|
26006
|
+
_useState24 = _slicedToArray(_useState23, 2),
|
|
26007
|
+
headerRows = _useState24[0],
|
|
26008
|
+
setHeaderRows = _useState24[1];
|
|
26009
|
+
var rowIdRef = React.useRef(0);
|
|
26010
|
+
var nextRowId = function nextRowId() {
|
|
26011
|
+
return "cat_".concat(++rowIdRef.current);
|
|
26012
|
+
};
|
|
26013
|
+
|
|
26014
|
+
// Compute effective mcpConfig from catalog base + advanced overrides
|
|
26015
|
+
var effectiveMcpConfig = React.useMemo(function () {
|
|
26016
|
+
if (!(selectedServer !== null && selectedServer !== void 0 && selectedServer.mcpConfig)) return {};
|
|
26017
|
+
return buildMcpConfigFromOverrides(selectedServer.mcpConfig, envMappingRows, headerRows);
|
|
26018
|
+
}, [selectedServer, envMappingRows, headerRows]);
|
|
26019
|
+
|
|
26020
|
+
// Derive form fields from effectiveMcpConfig + credentialSchema
|
|
25660
26021
|
var formFields = React.useMemo(function () {
|
|
25661
26022
|
if (!selectedServer) return [];
|
|
25662
|
-
return deriveFormFields(
|
|
25663
|
-
}, [selectedServer]);
|
|
26023
|
+
return deriveFormFields(effectiveMcpConfig, selectedServer.credentialSchema || {});
|
|
26024
|
+
}, [selectedServer, effectiveMcpConfig]);
|
|
25664
26025
|
|
|
25665
26026
|
// Load catalog on mount
|
|
25666
26027
|
React.useEffect(function () {
|
|
@@ -25687,12 +26048,15 @@ var McpCatalogDetail = function McpCatalogDetail(_ref) {
|
|
|
25687
26048
|
|
|
25688
26049
|
// Handle server selection -> show configuration form
|
|
25689
26050
|
var handleSelectServer = function handleSelectServer(server) {
|
|
26051
|
+
var _server$mcpConfig, _server$mcpConfig2;
|
|
25690
26052
|
setSelectedServer(server);
|
|
25691
26053
|
setIsConfiguring(true);
|
|
25692
26054
|
setTestResult(null);
|
|
25693
26055
|
setProviderName(server.name);
|
|
25694
26056
|
setCredentialData({});
|
|
25695
26057
|
setFormErrors({});
|
|
26058
|
+
setEnvMappingRows(envMappingToRows((_server$mcpConfig = server.mcpConfig) === null || _server$mcpConfig === void 0 ? void 0 : _server$mcpConfig.envMapping, nextRowId));
|
|
26059
|
+
setHeaderRows(headerTemplateToRows((_server$mcpConfig2 = server.mcpConfig) === null || _server$mcpConfig2 === void 0 ? void 0 : _server$mcpConfig2.headerTemplate, nextRowId));
|
|
25696
26060
|
};
|
|
25697
26061
|
|
|
25698
26062
|
// Handle credential field changes
|
|
@@ -25731,7 +26095,7 @@ var McpCatalogDetail = function McpCatalogDetail(_ref) {
|
|
|
25731
26095
|
setIsTesting(true);
|
|
25732
26096
|
setTestResult(null);
|
|
25733
26097
|
var testName = "__test__".concat(selectedServer.id);
|
|
25734
|
-
dashApi.mcpStartServer(testName,
|
|
26098
|
+
dashApi.mcpStartServer(testName, effectiveMcpConfig, credentialData, function (event, result) {
|
|
25735
26099
|
if (result.error) {
|
|
25736
26100
|
setTestResult({
|
|
25737
26101
|
success: false,
|
|
@@ -25762,7 +26126,7 @@ var McpCatalogDetail = function McpCatalogDetail(_ref) {
|
|
|
25762
26126
|
// Handle save
|
|
25763
26127
|
var handleSaveProvider = function handleSaveProvider() {
|
|
25764
26128
|
if (!selectedServer || !validateForm()) return;
|
|
25765
|
-
onSave(providerName.trim(), selectedServer.id, credentialData,
|
|
26129
|
+
onSave(providerName.trim(), selectedServer.id, credentialData, effectiveMcpConfig);
|
|
25766
26130
|
};
|
|
25767
26131
|
|
|
25768
26132
|
// Select custom server option
|
|
@@ -25785,8 +26149,26 @@ var McpCatalogDetail = function McpCatalogDetail(_ref) {
|
|
|
25785
26149
|
setProviderName("");
|
|
25786
26150
|
setCredentialData({});
|
|
25787
26151
|
setFormErrors({});
|
|
26152
|
+
setEnvMappingRows([]);
|
|
26153
|
+
setHeaderRows([]);
|
|
25788
26154
|
};
|
|
25789
|
-
|
|
26155
|
+
|
|
26156
|
+
// Prune credential data when form fields change (advanced config removed a field)
|
|
26157
|
+
React.useEffect(function () {
|
|
26158
|
+
var validKeys = new Set(formFields.map(function (f) {
|
|
26159
|
+
return f.key;
|
|
26160
|
+
}));
|
|
26161
|
+
setCredentialData(function (prev) {
|
|
26162
|
+
var pruned = {};
|
|
26163
|
+
for (var _i = 0, _Object$keys = Object.keys(prev); _i < _Object$keys.length; _i++) {
|
|
26164
|
+
var key = _Object$keys[_i];
|
|
26165
|
+
if (validKeys.has(key)) {
|
|
26166
|
+
pruned[key] = prev[key];
|
|
26167
|
+
}
|
|
26168
|
+
}
|
|
26169
|
+
return pruned;
|
|
26170
|
+
});
|
|
26171
|
+
}, [formFields]);
|
|
25790
26172
|
|
|
25791
26173
|
// ── Custom Server Form ──
|
|
25792
26174
|
if (isCustom) {
|
|
@@ -25834,9 +26216,9 @@ var McpCatalogDetail = function McpCatalogDetail(_ref) {
|
|
|
25834
26216
|
className: "opacity-50 w-24 shrink-0",
|
|
25835
26217
|
children: "Transport:"
|
|
25836
26218
|
}), /*#__PURE__*/jsxRuntime.jsx(DashReact.Tag, {
|
|
25837
|
-
text:
|
|
26219
|
+
text: effectiveMcpConfig.transport === "streamable_http" ? "Streamable HTTP" : "stdio"
|
|
25838
26220
|
})]
|
|
25839
|
-
}),
|
|
26221
|
+
}), effectiveMcpConfig.transport === "streamable_http" ? /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
25840
26222
|
className: "flex gap-2",
|
|
25841
26223
|
children: [/*#__PURE__*/jsxRuntime.jsx("span", {
|
|
25842
26224
|
className: "opacity-50 w-24 shrink-0",
|
|
@@ -25853,20 +26235,26 @@ var McpCatalogDetail = function McpCatalogDetail(_ref) {
|
|
|
25853
26235
|
children: "Command:"
|
|
25854
26236
|
}), /*#__PURE__*/jsxRuntime.jsxs("code", {
|
|
25855
26237
|
className: "text-xs bg-white/5 px-2 py-0.5 rounded",
|
|
25856
|
-
children: [
|
|
26238
|
+
children: [effectiveMcpConfig.command, " ", (effectiveMcpConfig.args || []).join(" ")]
|
|
25857
26239
|
})]
|
|
25858
|
-
}),
|
|
26240
|
+
}), effectiveMcpConfig.envMapping && Object.keys(effectiveMcpConfig.envMapping).length > 0 && /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
25859
26241
|
className: "flex gap-2",
|
|
25860
26242
|
children: [/*#__PURE__*/jsxRuntime.jsx("span", {
|
|
25861
26243
|
className: "opacity-50 w-24 shrink-0",
|
|
25862
26244
|
children: "Env Vars:"
|
|
25863
26245
|
}), /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
25864
26246
|
className: "text-xs opacity-70",
|
|
25865
|
-
children: Object.keys(
|
|
26247
|
+
children: Object.keys(effectiveMcpConfig.envMapping).join(", ")
|
|
25866
26248
|
})]
|
|
25867
26249
|
})]
|
|
25868
26250
|
})]
|
|
25869
26251
|
})]
|
|
26252
|
+
}), /*#__PURE__*/jsxRuntime.jsx(AdvancedMcpConfig, {
|
|
26253
|
+
transport: effectiveMcpConfig.transport || "stdio",
|
|
26254
|
+
envMappingRows: envMappingRows,
|
|
26255
|
+
onEnvMappingRowsChange: setEnvMappingRows,
|
|
26256
|
+
headerRows: headerRows,
|
|
26257
|
+
onHeaderRowsChange: setHeaderRows
|
|
25870
26258
|
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
25871
26259
|
className: "flex flex-col gap-2",
|
|
25872
26260
|
children: [/*#__PURE__*/jsxRuntime.jsx(DashReact.FormLabel, {
|
|
@@ -25897,7 +26285,7 @@ var McpCatalogDetail = function McpCatalogDetail(_ref) {
|
|
|
25897
26285
|
className: "border-t border-white/10 pt-4",
|
|
25898
26286
|
children: /*#__PURE__*/jsxRuntime.jsx("p", {
|
|
25899
26287
|
className: "text-xs font-semibold opacity-40 uppercase tracking-wider",
|
|
25900
|
-
children:
|
|
26288
|
+
children: effectiveMcpConfig.transport === "streamable_http" ? "Server Configuration" : "Authentication"
|
|
25901
26289
|
})
|
|
25902
26290
|
}), formFields.map(function (field) {
|
|
25903
26291
|
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
@@ -31444,7 +31832,7 @@ var AddMenuItemModal = function AddMenuItemModal(_ref) {
|
|
|
31444
31832
|
className: "flex flex-row justify-between bg-gray-900 p-4 rounded-br rounded-bl border-t border-gray-800",
|
|
31445
31833
|
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
31446
31834
|
className: "flex flex-row text-lg text-gray-600 items-center font-bold px-4",
|
|
31447
|
-
children: ["Click the
|
|
31835
|
+
children: ["Click the ", /*#__PURE__*/jsxRuntime.jsx(DashReact.FontAwesomeIcon, {
|
|
31448
31836
|
icon: "plus",
|
|
31449
31837
|
className: "px-2"
|
|
31450
31838
|
}), " ", "button to open this window."]
|
|
@@ -31586,8 +31974,8 @@ var WorkspaceMenu = function WorkspaceMenu(_ref) {
|
|
|
31586
31974
|
ComponentManager.registerContainerTypes(LayoutContainer, LayoutGridContainer);
|
|
31587
31975
|
|
|
31588
31976
|
Object.defineProperty(exports, 'ThemeContext', {
|
|
31589
|
-
|
|
31590
|
-
|
|
31977
|
+
enumerable: true,
|
|
31978
|
+
get: function () { return DashReact.ThemeContext; }
|
|
31591
31979
|
});
|
|
31592
31980
|
exports.ALGOLIA_ANALYTICS_FOR_QUERY = ALGOLIA_ANALYTICS_FOR_QUERY;
|
|
31593
31981
|
exports.ALGOLIA_ANALYTICS_FOR_QUERY_COMPLETE = ALGOLIA_ANALYTICS_FOR_QUERY_COMPLETE;
|
|
@@ -31597,6 +31985,7 @@ exports.ALGOLIA_LIST_INDICES_COMPLETE = ALGOLIA_LIST_INDICES_COMPLETE;
|
|
|
31597
31985
|
exports.ALGOLIA_LIST_INDICES_ERROR = ALGOLIA_LIST_INDICES_ERROR;
|
|
31598
31986
|
exports.AVAILABLE_COLORS = AVAILABLE_COLORS;
|
|
31599
31987
|
exports.AddMenuItemModal = AddMenuItemModal;
|
|
31988
|
+
exports.AdvancedMcpConfig = AdvancedMcpConfig;
|
|
31600
31989
|
exports.AppContext = AppContext;
|
|
31601
31990
|
exports.AppSettingsModal = AppSettingsModal;
|
|
31602
31991
|
exports.AppThemeScope = AppThemeScope;
|
|
@@ -31771,10 +32160,12 @@ exports.WorkspaceMenu = WorkspaceMenu;
|
|
|
31771
32160
|
exports.WorkspaceModel = WorkspaceModel;
|
|
31772
32161
|
exports.addChildToLayoutItem = addChildToLayoutItem;
|
|
31773
32162
|
exports.addItemToItemLayout = addItemToItemLayout;
|
|
32163
|
+
exports.buildMcpConfigFromOverrides = buildMcpConfigFromOverrides;
|
|
31774
32164
|
exports.canHaveChildren = canHaveChildren;
|
|
31775
32165
|
exports.changeDirectionForLayoutItem = changeDirectionForLayoutItem;
|
|
31776
32166
|
exports.createProviderRegistry = createProviderRegistry;
|
|
31777
32167
|
exports.deriveFormFields = deriveFormFields;
|
|
32168
|
+
exports.envMappingToRows = envMappingToRows;
|
|
31778
32169
|
exports.evaluateBundle = evaluateBundle;
|
|
31779
32170
|
exports.extractWidgetConfigs = extractWidgetConfigs;
|
|
31780
32171
|
exports.formatFieldName = formatFieldName;
|
|
@@ -31802,6 +32193,7 @@ exports.getParentWorkspaceForItem = getParentWorkspaceForItem;
|
|
|
31802
32193
|
exports.getThemePresets = getThemePresets;
|
|
31803
32194
|
exports.getWidgetsForWorkspace = getWidgetsForWorkspace;
|
|
31804
32195
|
exports.getWorkspacesForWorkspace = getWorkspacesForWorkspace;
|
|
32196
|
+
exports.headerTemplateToRows = headerTemplateToRows;
|
|
31805
32197
|
exports.isContainer = isContainer;
|
|
31806
32198
|
exports.isLikelySecret = isLikelySecret;
|
|
31807
32199
|
exports.isMaxOrderForItem = isMaxOrderForItem;
|
|
@@ -31834,9 +32226,9 @@ exports.validateGridPlacement = validateGridPlacement;
|
|
|
31834
32226
|
exports.validateWidgetPlacement = validateWidgetPlacement;
|
|
31835
32227
|
exports.withProviderDetection = withProviderDetection;
|
|
31836
32228
|
Object.keys(DashReact).forEach(function (k) {
|
|
31837
|
-
|
|
31838
|
-
|
|
31839
|
-
|
|
31840
|
-
|
|
32229
|
+
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
|
|
32230
|
+
enumerable: true,
|
|
32231
|
+
get: function () { return DashReact[k]; }
|
|
32232
|
+
});
|
|
31841
32233
|
});
|
|
31842
32234
|
//# sourceMappingURL=index.js.map
|