@trops/dash-core 0.1.54 → 0.1.56
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 +78 -8
- package/dist/electron/index.js.map +1 -1
- package/dist/index.esm.js +279 -109
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +280 -108
- package/dist/index.js.map +1 -1
- package/dist/mcp/mcpServerCatalog.json +329 -345
- package/package.json +1 -1
package/dist/index.esm.js
CHANGED
|
@@ -672,6 +672,8 @@ var MCP_SERVER_STATUS_COMPLETE = "mcp:server-status:complete";
|
|
|
672
672
|
var MCP_SERVER_STATUS_ERROR = "mcp:server-status:error";
|
|
673
673
|
var MCP_GET_CATALOG_COMPLETE = "mcp:get-catalog:complete";
|
|
674
674
|
var MCP_GET_CATALOG_ERROR = "mcp:get-catalog:error";
|
|
675
|
+
var MCP_RUN_AUTH_COMPLETE = "mcp:run-auth:complete";
|
|
676
|
+
var MCP_RUN_AUTH_ERROR = "mcp:run-auth:error";
|
|
675
677
|
|
|
676
678
|
var DATA_JSON_TO_CSV_FILE = "data-json-to-csv-file";
|
|
677
679
|
var DATA_JSON_TO_CSV_FILE_COMPLETE = "data-json-to-csv-file-complete";
|
|
@@ -780,6 +782,8 @@ var apiEvents = /*#__PURE__*/Object.freeze({
|
|
|
780
782
|
MCP_LIST_TOOLS_ERROR: MCP_LIST_TOOLS_ERROR,
|
|
781
783
|
MCP_READ_RESOURCE_COMPLETE: MCP_READ_RESOURCE_COMPLETE,
|
|
782
784
|
MCP_READ_RESOURCE_ERROR: MCP_READ_RESOURCE_ERROR,
|
|
785
|
+
MCP_RUN_AUTH_COMPLETE: MCP_RUN_AUTH_COMPLETE,
|
|
786
|
+
MCP_RUN_AUTH_ERROR: MCP_RUN_AUTH_ERROR,
|
|
783
787
|
MCP_SERVER_STATUS_COMPLETE: MCP_SERVER_STATUS_COMPLETE,
|
|
784
788
|
MCP_SERVER_STATUS_ERROR: MCP_SERVER_STATUS_ERROR,
|
|
785
789
|
MCP_START_SERVER_COMPLETE: MCP_START_SERVER_COMPLETE,
|
|
@@ -1478,6 +1482,27 @@ var ElectronDashboardApi = /*#__PURE__*/function () {
|
|
|
1478
1482
|
return false;
|
|
1479
1483
|
}
|
|
1480
1484
|
}
|
|
1485
|
+
}, {
|
|
1486
|
+
key: "mcpRunAuth",
|
|
1487
|
+
value: function mcpRunAuth(mcpConfig, credentials, authCommand, onSuccess, onError) {
|
|
1488
|
+
var _this26 = this;
|
|
1489
|
+
if (this.api !== null) {
|
|
1490
|
+
try {
|
|
1491
|
+
this.api.mcp.runAuth(mcpConfig, credentials, authCommand).then(function (result) {
|
|
1492
|
+
onSuccess(_this26.events.MCP_RUN_AUTH_COMPLETE, result);
|
|
1493
|
+
})["catch"](function (error) {
|
|
1494
|
+
onError(_this26.events.MCP_RUN_AUTH_ERROR, error);
|
|
1495
|
+
});
|
|
1496
|
+
return true;
|
|
1497
|
+
} catch (e) {
|
|
1498
|
+
onError(this.events.MCP_RUN_AUTH_ERROR, e);
|
|
1499
|
+
return false;
|
|
1500
|
+
}
|
|
1501
|
+
} else {
|
|
1502
|
+
onError(this.events.MCP_RUN_AUTH_ERROR, new Error("No Api found"));
|
|
1503
|
+
return false;
|
|
1504
|
+
}
|
|
1505
|
+
}
|
|
1481
1506
|
}]);
|
|
1482
1507
|
}();
|
|
1483
1508
|
|
|
@@ -25849,7 +25874,7 @@ var FoldersSection = function FoldersSection(_ref) {
|
|
|
25849
25874
|
function ownKeys$6(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; }
|
|
25850
25875
|
function _objectSpread$6(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$6(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$6(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
25851
25876
|
var ProviderDetail = function ProviderDetail(_ref) {
|
|
25852
|
-
var _testResult$tools;
|
|
25877
|
+
var _provider$mcpConfig, _testResult$tools;
|
|
25853
25878
|
var _ref$providerName = _ref.providerName,
|
|
25854
25879
|
providerName = _ref$providerName === void 0 ? null : _ref$providerName,
|
|
25855
25880
|
_ref$provider = _ref.provider,
|
|
@@ -25871,7 +25896,9 @@ var ProviderDetail = function ProviderDetail(_ref) {
|
|
|
25871
25896
|
onCancelEdit = _ref.onCancelEdit,
|
|
25872
25897
|
onStartEdit = _ref.onStartEdit,
|
|
25873
25898
|
onCreate = _ref.onCreate,
|
|
25874
|
-
onDelete = _ref.onDelete
|
|
25899
|
+
onDelete = _ref.onDelete,
|
|
25900
|
+
_ref$catalogAuthComma = _ref.catalogAuthCommand,
|
|
25901
|
+
catalogAuthCommand = _ref$catalogAuthComma === void 0 ? null : _ref$catalogAuthComma;
|
|
25875
25902
|
var appContext = useContext(AppContext);
|
|
25876
25903
|
var dashApi = appContext === null || appContext === void 0 ? void 0 : appContext.dashApi;
|
|
25877
25904
|
var isMcp = (provider === null || provider === void 0 ? void 0 : provider.providerClass) === "mcp";
|
|
@@ -25886,6 +25913,19 @@ var ProviderDetail = function ProviderDetail(_ref) {
|
|
|
25886
25913
|
testResult = _useState4[0],
|
|
25887
25914
|
setTestResult = _useState4[1];
|
|
25888
25915
|
|
|
25916
|
+
// MCP auth state
|
|
25917
|
+
var _useState5 = useState(false),
|
|
25918
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
25919
|
+
isAuthorizing = _useState6[0],
|
|
25920
|
+
setIsAuthorizing = _useState6[1];
|
|
25921
|
+
var _useState7 = useState(null),
|
|
25922
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
25923
|
+
authResult = _useState8[0],
|
|
25924
|
+
setAuthResult = _useState8[1];
|
|
25925
|
+
|
|
25926
|
+
// Resolve authCommand: provider.mcpConfig.authCommand > catalogAuthCommand prop
|
|
25927
|
+
var resolvedAuthCommand = (provider === null || provider === void 0 || (_provider$mcpConfig = provider.mcpConfig) === null || _provider$mcpConfig === void 0 ? void 0 : _provider$mcpConfig.authCommand) || catalogAuthCommand || null;
|
|
25928
|
+
|
|
25889
25929
|
// Derive credential fields for MCP providers in edit mode
|
|
25890
25930
|
var mcpFormFields = useMemo(function () {
|
|
25891
25931
|
if (!isMcp || !(provider !== null && provider !== void 0 && provider.mcpConfig)) return [];
|
|
@@ -25899,14 +25939,14 @@ var ProviderDetail = function ProviderDetail(_ref) {
|
|
|
25899
25939
|
}, [isMcp, provider]);
|
|
25900
25940
|
|
|
25901
25941
|
// Dynamic credential fields for create mode
|
|
25902
|
-
var
|
|
25942
|
+
var _useState9 = useState(isCreating ? [{
|
|
25903
25943
|
id: "default_apiKey",
|
|
25904
25944
|
key: "apiKey",
|
|
25905
25945
|
secret: true
|
|
25906
25946
|
}] : []),
|
|
25907
|
-
|
|
25908
|
-
credentialFields =
|
|
25909
|
-
setCredentialFields =
|
|
25947
|
+
_useState0 = _slicedToArray(_useState9, 2),
|
|
25948
|
+
credentialFields = _useState0[0],
|
|
25949
|
+
setCredentialFields = _useState0[1];
|
|
25910
25950
|
var fieldIdRef = useRef(0);
|
|
25911
25951
|
var handleFieldKeyChange = function handleFieldKeyChange(id, newKey) {
|
|
25912
25952
|
setCredentialFields(function (prev) {
|
|
@@ -26009,6 +26049,31 @@ var ProviderDetail = function ProviderDetail(_ref) {
|
|
|
26009
26049
|
setIsTesting(false);
|
|
26010
26050
|
});
|
|
26011
26051
|
};
|
|
26052
|
+
var handleAuthorize = function handleAuthorize() {
|
|
26053
|
+
if (!dashApi || !(provider !== null && provider !== void 0 && provider.mcpConfig) || !resolvedAuthCommand) return;
|
|
26054
|
+
setIsAuthorizing(true);
|
|
26055
|
+
setAuthResult(null);
|
|
26056
|
+
dashApi.mcpRunAuth(provider.mcpConfig, provider.credentials, resolvedAuthCommand, function (event, result) {
|
|
26057
|
+
if (result.error) {
|
|
26058
|
+
setAuthResult({
|
|
26059
|
+
success: false,
|
|
26060
|
+
message: result.message
|
|
26061
|
+
});
|
|
26062
|
+
} else {
|
|
26063
|
+
setAuthResult({
|
|
26064
|
+
success: true,
|
|
26065
|
+
message: "Authorized!"
|
|
26066
|
+
});
|
|
26067
|
+
}
|
|
26068
|
+
setIsAuthorizing(false);
|
|
26069
|
+
}, function (event, err) {
|
|
26070
|
+
setAuthResult({
|
|
26071
|
+
success: false,
|
|
26072
|
+
message: (err === null || err === void 0 ? void 0 : err.message) || "Authorization failed"
|
|
26073
|
+
});
|
|
26074
|
+
setIsAuthorizing(false);
|
|
26075
|
+
});
|
|
26076
|
+
};
|
|
26012
26077
|
var isFormMode = isEditing || isCreating;
|
|
26013
26078
|
|
|
26014
26079
|
// ── MCP config info block (shared between read-only view and edit form) ──
|
|
@@ -26062,7 +26127,7 @@ var ProviderDetail = function ProviderDetail(_ref) {
|
|
|
26062
26127
|
|
|
26063
26128
|
// ── Edit / Create form ──
|
|
26064
26129
|
if (isFormMode) {
|
|
26065
|
-
var _provider$
|
|
26130
|
+
var _provider$mcpConfig2;
|
|
26066
26131
|
return /*#__PURE__*/jsxs("div", {
|
|
26067
26132
|
className: "flex flex-col flex-1 min-h-0",
|
|
26068
26133
|
children: [/*#__PURE__*/jsxs("div", {
|
|
@@ -26159,7 +26224,7 @@ var ProviderDetail = function ProviderDetail(_ref) {
|
|
|
26159
26224
|
className: "border-t border-white/10 pt-4",
|
|
26160
26225
|
children: /*#__PURE__*/jsx("p", {
|
|
26161
26226
|
className: "text-xs font-semibold opacity-40 uppercase tracking-wider",
|
|
26162
|
-
children: ((_provider$
|
|
26227
|
+
children: ((_provider$mcpConfig2 = provider.mcpConfig) === null || _provider$mcpConfig2 === void 0 ? void 0 : _provider$mcpConfig2.transport) === "streamable_http" ? "Server Configuration" : "Authentication"
|
|
26163
26228
|
})
|
|
26164
26229
|
}), mcpFormFields.map(function (field) {
|
|
26165
26230
|
return /*#__PURE__*/jsxs("div", {
|
|
@@ -26170,13 +26235,38 @@ var ProviderDetail = function ProviderDetail(_ref) {
|
|
|
26170
26235
|
}), field.instructions && /*#__PURE__*/jsx("p", {
|
|
26171
26236
|
className: "text-sm opacity-50",
|
|
26172
26237
|
children: field.instructions
|
|
26173
|
-
}), /*#__PURE__*/
|
|
26174
|
-
|
|
26175
|
-
|
|
26176
|
-
|
|
26177
|
-
|
|
26178
|
-
|
|
26179
|
-
|
|
26238
|
+
}), /*#__PURE__*/jsxs("div", {
|
|
26239
|
+
className: "flex gap-2",
|
|
26240
|
+
children: [/*#__PURE__*/jsx("div", {
|
|
26241
|
+
className: "flex-1",
|
|
26242
|
+
children: /*#__PURE__*/jsx(InputText, {
|
|
26243
|
+
type: field.secret ? "password" : "text",
|
|
26244
|
+
value: formCredentials[field.key] || "",
|
|
26245
|
+
onChange: function onChange(value) {
|
|
26246
|
+
return handleCredentialChange(field.key, value);
|
|
26247
|
+
},
|
|
26248
|
+
placeholder: field.type === "file" ? "Select a file..." : "Enter ".concat(field.displayName.toLowerCase())
|
|
26249
|
+
})
|
|
26250
|
+
}), field.type === "file" && /*#__PURE__*/jsx("button", {
|
|
26251
|
+
onClick: /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
26252
|
+
var filepath;
|
|
26253
|
+
return _regeneratorRuntime.wrap(function (_context) {
|
|
26254
|
+
while (1) switch (_context.prev = _context.next) {
|
|
26255
|
+
case 0:
|
|
26256
|
+
_context.next = 1;
|
|
26257
|
+
return window.mainApi.dialog.chooseFile(true, ["json"]);
|
|
26258
|
+
case 1:
|
|
26259
|
+
filepath = _context.sent;
|
|
26260
|
+
if (filepath) handleCredentialChange(field.key, filepath);
|
|
26261
|
+
case 2:
|
|
26262
|
+
case "end":
|
|
26263
|
+
return _context.stop();
|
|
26264
|
+
}
|
|
26265
|
+
}, _callee);
|
|
26266
|
+
})),
|
|
26267
|
+
className: "px-3 py-1.5 text-sm rounded bg-white/10 hover:bg-white/20 transition-colors",
|
|
26268
|
+
children: "Browse"
|
|
26269
|
+
})]
|
|
26180
26270
|
})]
|
|
26181
26271
|
}, field.key);
|
|
26182
26272
|
})]
|
|
@@ -26296,6 +26386,16 @@ var ProviderDetail = function ProviderDetail(_ref) {
|
|
|
26296
26386
|
})]
|
|
26297
26387
|
})]
|
|
26298
26388
|
})]
|
|
26389
|
+
}), authResult && /*#__PURE__*/jsx("div", {
|
|
26390
|
+
className: "p-3 rounded-lg text-sm ".concat(authResult.success ? "bg-green-900/30 border border-green-700 text-green-300" : "bg-red-900/30 border border-red-700 text-red-300"),
|
|
26391
|
+
children: /*#__PURE__*/jsxs("div", {
|
|
26392
|
+
className: "flex items-center gap-2",
|
|
26393
|
+
children: [/*#__PURE__*/jsx(FontAwesomeIcon, {
|
|
26394
|
+
icon: authResult.success ? "circle-check" : "circle-exclamation"
|
|
26395
|
+
}), /*#__PURE__*/jsx("span", {
|
|
26396
|
+
children: authResult.message
|
|
26397
|
+
})]
|
|
26398
|
+
})
|
|
26299
26399
|
}), testResult && /*#__PURE__*/jsxs("div", {
|
|
26300
26400
|
className: "p-3 rounded-lg text-sm ".concat(testResult.success ? "bg-green-900/30 border border-green-700 text-green-300" : "bg-red-900/30 border border-red-700 text-red-300"),
|
|
26301
26401
|
children: [/*#__PURE__*/jsxs("div", {
|
|
@@ -26324,7 +26424,11 @@ var ProviderDetail = function ProviderDetail(_ref) {
|
|
|
26324
26424
|
})]
|
|
26325
26425
|
}), /*#__PURE__*/jsxs("div", {
|
|
26326
26426
|
className: "flex-shrink-0 flex flex-row justify-end gap-2 px-6 py-4 border-t border-white/10",
|
|
26327
|
-
children: [isMcp && /*#__PURE__*/jsx(Button, {
|
|
26427
|
+
children: [isMcp && resolvedAuthCommand && /*#__PURE__*/jsx(Button, {
|
|
26428
|
+
title: isAuthorizing ? "Authorizing..." : "Authorize",
|
|
26429
|
+
onClick: handleAuthorize,
|
|
26430
|
+
size: "sm"
|
|
26431
|
+
}), isMcp && /*#__PURE__*/jsx(Button, {
|
|
26328
26432
|
title: isTesting ? "Testing..." : "Test Connection",
|
|
26329
26433
|
onClick: handleTestConnection,
|
|
26330
26434
|
size: "sm"
|
|
@@ -27055,13 +27159,38 @@ var CustomMcpServerForm = function CustomMcpServerForm(_ref2) {
|
|
|
27055
27159
|
children: [/*#__PURE__*/jsx(FormLabel, {
|
|
27056
27160
|
label: field.displayName,
|
|
27057
27161
|
required: field.required
|
|
27058
|
-
}), /*#__PURE__*/
|
|
27059
|
-
|
|
27060
|
-
|
|
27061
|
-
|
|
27062
|
-
|
|
27063
|
-
|
|
27064
|
-
|
|
27162
|
+
}), /*#__PURE__*/jsxs("div", {
|
|
27163
|
+
className: "flex gap-2",
|
|
27164
|
+
children: [/*#__PURE__*/jsx("div", {
|
|
27165
|
+
className: "flex-1",
|
|
27166
|
+
children: /*#__PURE__*/jsx(InputText, {
|
|
27167
|
+
type: field.secret ? "password" : "text",
|
|
27168
|
+
value: credentialData[field.key] || "",
|
|
27169
|
+
onChange: function onChange(value) {
|
|
27170
|
+
return handleCredentialChange(field.key, value);
|
|
27171
|
+
},
|
|
27172
|
+
placeholder: field.type === "file" ? "Select a file..." : "Enter ".concat(field.displayName.toLowerCase())
|
|
27173
|
+
})
|
|
27174
|
+
}), field.type === "file" && /*#__PURE__*/jsx("button", {
|
|
27175
|
+
onClick: /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
27176
|
+
var filepath;
|
|
27177
|
+
return _regeneratorRuntime.wrap(function (_context) {
|
|
27178
|
+
while (1) switch (_context.prev = _context.next) {
|
|
27179
|
+
case 0:
|
|
27180
|
+
_context.next = 1;
|
|
27181
|
+
return window.mainApi.dialog.chooseFile(true, ["json"]);
|
|
27182
|
+
case 1:
|
|
27183
|
+
filepath = _context.sent;
|
|
27184
|
+
if (filepath) handleCredentialChange(field.key, filepath);
|
|
27185
|
+
case 2:
|
|
27186
|
+
case "end":
|
|
27187
|
+
return _context.stop();
|
|
27188
|
+
}
|
|
27189
|
+
}, _callee);
|
|
27190
|
+
})),
|
|
27191
|
+
className: "px-3 py-1.5 text-sm rounded bg-white/10 hover:bg-white/20 transition-colors",
|
|
27192
|
+
children: "Browse"
|
|
27193
|
+
})]
|
|
27065
27194
|
}), formErrors[field.key] && /*#__PURE__*/jsx("p", {
|
|
27066
27195
|
className: "text-sm text-red-400",
|
|
27067
27196
|
children: formErrors[field.key]
|
|
@@ -27496,13 +27625,38 @@ var McpCatalogDetail = function McpCatalogDetail(_ref) {
|
|
|
27496
27625
|
}), field.instructions && /*#__PURE__*/jsx("p", {
|
|
27497
27626
|
className: "text-sm opacity-50",
|
|
27498
27627
|
children: field.instructions
|
|
27499
|
-
}), /*#__PURE__*/
|
|
27500
|
-
|
|
27501
|
-
|
|
27502
|
-
|
|
27503
|
-
|
|
27504
|
-
|
|
27505
|
-
|
|
27628
|
+
}), /*#__PURE__*/jsxs("div", {
|
|
27629
|
+
className: "flex gap-2",
|
|
27630
|
+
children: [/*#__PURE__*/jsx("div", {
|
|
27631
|
+
className: "flex-1",
|
|
27632
|
+
children: /*#__PURE__*/jsx(InputText, {
|
|
27633
|
+
type: field.secret ? "password" : "text",
|
|
27634
|
+
value: credentialData[field.key] || "",
|
|
27635
|
+
onChange: function onChange(value) {
|
|
27636
|
+
return handleCredentialChange(field.key, value);
|
|
27637
|
+
},
|
|
27638
|
+
placeholder: field.type === "file" ? "Select a file..." : "Enter ".concat(field.displayName.toLowerCase())
|
|
27639
|
+
})
|
|
27640
|
+
}), field.type === "file" && /*#__PURE__*/jsx("button", {
|
|
27641
|
+
onClick: /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
27642
|
+
var filepath;
|
|
27643
|
+
return _regeneratorRuntime.wrap(function (_context) {
|
|
27644
|
+
while (1) switch (_context.prev = _context.next) {
|
|
27645
|
+
case 0:
|
|
27646
|
+
_context.next = 1;
|
|
27647
|
+
return window.mainApi.dialog.chooseFile(true, ["json"]);
|
|
27648
|
+
case 1:
|
|
27649
|
+
filepath = _context.sent;
|
|
27650
|
+
if (filepath) handleCredentialChange(field.key, filepath);
|
|
27651
|
+
case 2:
|
|
27652
|
+
case "end":
|
|
27653
|
+
return _context.stop();
|
|
27654
|
+
}
|
|
27655
|
+
}, _callee);
|
|
27656
|
+
})),
|
|
27657
|
+
className: "px-3 py-1.5 text-sm rounded bg-white/10 hover:bg-white/20 transition-colors",
|
|
27658
|
+
children: "Browse"
|
|
27659
|
+
})]
|
|
27506
27660
|
}), formErrors[field.key] && /*#__PURE__*/jsx("p", {
|
|
27507
27661
|
className: "text-sm text-red-400",
|
|
27508
27662
|
children: formErrors[field.key]
|
|
@@ -27641,42 +27795,58 @@ var ProvidersSection = function ProvidersSection(_ref) {
|
|
|
27641
27795
|
var appContext = useContext(AppContext);
|
|
27642
27796
|
var providers = (appContext === null || appContext === void 0 ? void 0 : appContext.providers) || {};
|
|
27643
27797
|
var refreshProviders = appContext === null || appContext === void 0 ? void 0 : appContext.refreshProviders;
|
|
27644
|
-
|
|
27798
|
+
|
|
27799
|
+
// Load MCP catalog for authCommand lookups
|
|
27800
|
+
var _useState = useState([]),
|
|
27645
27801
|
_useState2 = _slicedToArray(_useState, 2),
|
|
27646
|
-
|
|
27647
|
-
|
|
27648
|
-
|
|
27802
|
+
catalog = _useState2[0],
|
|
27803
|
+
setCatalog = _useState2[1];
|
|
27804
|
+
useEffect(function () {
|
|
27805
|
+
if (!dashApi) return;
|
|
27806
|
+
dashApi.mcpGetCatalog(function (event, result) {
|
|
27807
|
+
if (result !== null && result !== void 0 && result.catalog) setCatalog(result.catalog);
|
|
27808
|
+
}, function () {});
|
|
27809
|
+
}, [dashApi]);
|
|
27810
|
+
var _useState3 = useState("credentials"),
|
|
27649
27811
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
27650
|
-
|
|
27651
|
-
|
|
27652
|
-
var _useState5 = useState(
|
|
27812
|
+
providerTab = _useState4[0],
|
|
27813
|
+
setProviderTab = _useState4[1];
|
|
27814
|
+
var _useState5 = useState(null),
|
|
27653
27815
|
_useState6 = _slicedToArray(_useState5, 2),
|
|
27654
|
-
|
|
27655
|
-
|
|
27656
|
-
var _useState7 = useState(
|
|
27816
|
+
selectedName = _useState6[0],
|
|
27817
|
+
setSelectedName = _useState6[1];
|
|
27818
|
+
var _useState7 = useState(false),
|
|
27657
27819
|
_useState8 = _slicedToArray(_useState7, 2),
|
|
27658
|
-
|
|
27659
|
-
|
|
27660
|
-
var _useState9 = useState(
|
|
27820
|
+
isCreating = _useState8[0],
|
|
27821
|
+
setIsCreating = _useState8[1];
|
|
27822
|
+
var _useState9 = useState(false),
|
|
27661
27823
|
_useState0 = _slicedToArray(_useState9, 2),
|
|
27662
|
-
|
|
27663
|
-
|
|
27664
|
-
var _useState1 = useState(
|
|
27824
|
+
isEditing = _useState0[0],
|
|
27825
|
+
setIsEditing = _useState0[1];
|
|
27826
|
+
var _useState1 = useState(""),
|
|
27665
27827
|
_useState10 = _slicedToArray(_useState1, 2),
|
|
27666
|
-
|
|
27667
|
-
|
|
27668
|
-
var _useState11 = useState(
|
|
27828
|
+
formName = _useState10[0],
|
|
27829
|
+
setFormName = _useState10[1];
|
|
27830
|
+
var _useState11 = useState(""),
|
|
27669
27831
|
_useState12 = _slicedToArray(_useState11, 2),
|
|
27670
|
-
|
|
27671
|
-
|
|
27672
|
-
var _useState13 = useState(
|
|
27832
|
+
formType = _useState12[0],
|
|
27833
|
+
setFormType = _useState12[1];
|
|
27834
|
+
var _useState13 = useState({}),
|
|
27673
27835
|
_useState14 = _slicedToArray(_useState13, 2),
|
|
27674
|
-
|
|
27675
|
-
|
|
27676
|
-
var _useState15 = useState(
|
|
27836
|
+
formCredentials = _useState14[0],
|
|
27837
|
+
setFormCredentials = _useState14[1];
|
|
27838
|
+
var _useState15 = useState(null),
|
|
27677
27839
|
_useState16 = _slicedToArray(_useState15, 2),
|
|
27678
|
-
|
|
27679
|
-
|
|
27840
|
+
deleteTarget = _useState16[0],
|
|
27841
|
+
setDeleteTarget = _useState16[1];
|
|
27842
|
+
var _useState17 = useState(false),
|
|
27843
|
+
_useState18 = _slicedToArray(_useState17, 2),
|
|
27844
|
+
isAddingMcp = _useState18[0],
|
|
27845
|
+
setIsAddingMcp = _useState18[1];
|
|
27846
|
+
var _useState19 = useState(false),
|
|
27847
|
+
_useState20 = _slicedToArray(_useState19, 2),
|
|
27848
|
+
isEditingMcp = _useState20[0],
|
|
27849
|
+
setIsEditingMcp = _useState20[1];
|
|
27680
27850
|
|
|
27681
27851
|
// Row ID counter for env/header rows in MCP edit mode
|
|
27682
27852
|
var nextRowIdRef = useRef(0);
|
|
@@ -27719,6 +27889,7 @@ var ProvidersSection = function ProvidersSection(_ref) {
|
|
|
27719
27889
|
credentials: credentials
|
|
27720
27890
|
}, function () {
|
|
27721
27891
|
resetForm();
|
|
27892
|
+
setProviderTab("credentials");
|
|
27722
27893
|
refreshProviders && refreshProviders();
|
|
27723
27894
|
}, function (e, err) {
|
|
27724
27895
|
return (void 0);
|
|
@@ -27727,6 +27898,7 @@ var ProvidersSection = function ProvidersSection(_ref) {
|
|
|
27727
27898
|
function handleStartEdit(name, provider) {
|
|
27728
27899
|
setSelectedName(name);
|
|
27729
27900
|
setIsCreating(false);
|
|
27901
|
+
setProviderTab(provider.providerClass === "mcp" ? "mcp" : "credentials");
|
|
27730
27902
|
if (provider.providerClass === "mcp") {
|
|
27731
27903
|
setIsEditingMcp(true);
|
|
27732
27904
|
setIsEditing(false);
|
|
@@ -27791,6 +27963,7 @@ var ProvidersSection = function ProvidersSection(_ref) {
|
|
|
27791
27963
|
setIsAddingMcp(false);
|
|
27792
27964
|
refreshProviders && refreshProviders();
|
|
27793
27965
|
setSelectedName(providerName);
|
|
27966
|
+
setProviderTab("mcp");
|
|
27794
27967
|
}, function (e, err) {
|
|
27795
27968
|
return (void 0);
|
|
27796
27969
|
});
|
|
@@ -27812,6 +27985,7 @@ var ProvidersSection = function ProvidersSection(_ref) {
|
|
|
27812
27985
|
mcpConfig: mcpConfig
|
|
27813
27986
|
}, function () {
|
|
27814
27987
|
setSelectedName(providerName);
|
|
27988
|
+
setProviderTab("mcp");
|
|
27815
27989
|
setIsEditingMcp(false);
|
|
27816
27990
|
resetForm();
|
|
27817
27991
|
refreshProviders && refreshProviders();
|
|
@@ -27836,19 +28010,39 @@ var ProvidersSection = function ProvidersSection(_ref) {
|
|
|
27836
28010
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
27837
28011
|
}, [createRequested]);
|
|
27838
28012
|
var selectedProvider = selectedName && providers[selectedName] ? providers[selectedName] : null;
|
|
27839
|
-
var
|
|
27840
|
-
|
|
27841
|
-
|
|
27842
|
-
|
|
27843
|
-
|
|
27844
|
-
|
|
28013
|
+
var activeProviders = providerTab === "credentials" ? credentialProviders : mcpProviders;
|
|
28014
|
+
var activeIcon = providerTab === "credentials" ? "key" : "server";
|
|
28015
|
+
var listContent = /*#__PURE__*/jsxs(Fragment, {
|
|
28016
|
+
children: [/*#__PURE__*/jsx("div", {
|
|
28017
|
+
className: "px-2 pt-2",
|
|
28018
|
+
children: /*#__PURE__*/jsx(Tabs3, {
|
|
28019
|
+
value: providerTab,
|
|
28020
|
+
onValueChange: setProviderTab,
|
|
28021
|
+
backgroundColor: "bg-transparent",
|
|
28022
|
+
spacing: "p-0",
|
|
28023
|
+
children: /*#__PURE__*/jsxs(Tabs3.List, {
|
|
28024
|
+
className: "w-full flex",
|
|
28025
|
+
spacing: "p-0.5",
|
|
28026
|
+
children: [/*#__PURE__*/jsx(Tabs3.Trigger, {
|
|
28027
|
+
value: "credentials",
|
|
28028
|
+
className: "flex-1",
|
|
28029
|
+
children: "API Credentials"
|
|
28030
|
+
}), /*#__PURE__*/jsx(Tabs3.Trigger, {
|
|
28031
|
+
value: "mcp",
|
|
28032
|
+
className: "flex-1",
|
|
28033
|
+
children: "MCP Servers"
|
|
28034
|
+
})]
|
|
28035
|
+
})
|
|
28036
|
+
})
|
|
28037
|
+
}), /*#__PURE__*/jsxs(Sidebar.Content, {
|
|
28038
|
+
children: [activeProviders.map(function (_ref8) {
|
|
27845
28039
|
var _ref9 = _slicedToArray(_ref8, 2),
|
|
27846
28040
|
name = _ref9[0],
|
|
27847
28041
|
provider = _ref9[1];
|
|
27848
28042
|
var isSelected = selectedName === name && !isCreating;
|
|
27849
28043
|
return /*#__PURE__*/jsx(Sidebar.Item, {
|
|
27850
28044
|
icon: /*#__PURE__*/jsx(FontAwesomeIcon, {
|
|
27851
|
-
icon:
|
|
28045
|
+
icon: activeIcon,
|
|
27852
28046
|
className: "h-3.5 w-3.5"
|
|
27853
28047
|
}),
|
|
27854
28048
|
active: isSelected,
|
|
@@ -27865,54 +28059,25 @@ var ProvidersSection = function ProvidersSection(_ref) {
|
|
|
27865
28059
|
className: isSelected ? "bg-white/10 opacity-100" : "",
|
|
27866
28060
|
children: name
|
|
27867
28061
|
}, name);
|
|
27868
|
-
})
|
|
27869
|
-
|
|
27870
|
-
|
|
27871
|
-
|
|
27872
|
-
|
|
27873
|
-
|
|
27874
|
-
var _ref1 = _slicedToArray(_ref0, 2),
|
|
27875
|
-
name = _ref1[0],
|
|
27876
|
-
provider = _ref1[1];
|
|
27877
|
-
var isSelected = selectedName === name && !isCreating;
|
|
27878
|
-
return /*#__PURE__*/jsx(Sidebar.Item, {
|
|
27879
|
-
icon: /*#__PURE__*/jsx(FontAwesomeIcon, {
|
|
27880
|
-
icon: "server",
|
|
27881
|
-
className: "h-3.5 w-3.5"
|
|
27882
|
-
}),
|
|
27883
|
-
active: isSelected,
|
|
28062
|
+
}), activeProviders.length === 0 && /*#__PURE__*/jsx("span", {
|
|
28063
|
+
className: "text-sm opacity-40 py-8 text-center",
|
|
28064
|
+
children: providerTab === "credentials" ? "No API credentials configured" : "No MCP servers configured"
|
|
28065
|
+
}), providerTab === "mcp" && /*#__PURE__*/jsx("div", {
|
|
28066
|
+
className: "px-3 py-3 mt-2 border-t border-white/10",
|
|
28067
|
+
children: /*#__PURE__*/jsxs("button", {
|
|
27884
28068
|
onClick: function onClick() {
|
|
27885
|
-
|
|
28069
|
+
setIsAddingMcp(true);
|
|
28070
|
+
setSelectedName(null);
|
|
27886
28071
|
setIsCreating(false);
|
|
27887
28072
|
setIsEditing(false);
|
|
27888
|
-
setIsAddingMcp(false);
|
|
27889
|
-
resetForm();
|
|
27890
28073
|
},
|
|
27891
|
-
|
|
27892
|
-
|
|
27893
|
-
|
|
27894
|
-
|
|
27895
|
-
|
|
27896
|
-
}
|
|
28074
|
+
className: "flex items-center gap-2 text-sm text-blue-400 hover:text-blue-300 transition-colors w-full",
|
|
28075
|
+
children: [/*#__PURE__*/jsx(FontAwesomeIcon, {
|
|
28076
|
+
icon: "plus",
|
|
28077
|
+
className: "h-3 w-3"
|
|
28078
|
+
}), "Add MCP Server"]
|
|
28079
|
+
})
|
|
27897
28080
|
})]
|
|
27898
|
-
}), providerEntries.length === 0 && /*#__PURE__*/jsx("span", {
|
|
27899
|
-
className: "text-sm opacity-40 py-8 text-center",
|
|
27900
|
-
children: "No providers configured"
|
|
27901
|
-
}), /*#__PURE__*/jsx("div", {
|
|
27902
|
-
className: "px-3 py-3 mt-2 border-t border-white/10",
|
|
27903
|
-
children: /*#__PURE__*/jsxs("button", {
|
|
27904
|
-
onClick: function onClick() {
|
|
27905
|
-
setIsAddingMcp(true);
|
|
27906
|
-
setSelectedName(null);
|
|
27907
|
-
setIsCreating(false);
|
|
27908
|
-
setIsEditing(false);
|
|
27909
|
-
},
|
|
27910
|
-
className: "flex items-center gap-2 text-sm text-blue-400 hover:text-blue-300 transition-colors w-full",
|
|
27911
|
-
children: [/*#__PURE__*/jsx(FontAwesomeIcon, {
|
|
27912
|
-
icon: "plus",
|
|
27913
|
-
className: "h-3 w-3"
|
|
27914
|
-
}), "Add MCP Server"]
|
|
27915
|
-
})
|
|
27916
28081
|
})]
|
|
27917
28082
|
});
|
|
27918
28083
|
var detailContent = null;
|
|
@@ -27956,6 +28121,10 @@ var ProvidersSection = function ProvidersSection(_ref) {
|
|
|
27956
28121
|
}
|
|
27957
28122
|
});
|
|
27958
28123
|
} else if (selectedName && selectedProvider) {
|
|
28124
|
+
// Look up authCommand from the catalog for this provider type
|
|
28125
|
+
var catalogEntry = catalog.find(function (entry) {
|
|
28126
|
+
return entry.id === selectedProvider.type;
|
|
28127
|
+
});
|
|
27959
28128
|
detailContent = /*#__PURE__*/jsx(ProviderDetail, {
|
|
27960
28129
|
providerName: selectedName,
|
|
27961
28130
|
provider: selectedProvider,
|
|
@@ -27971,7 +28140,8 @@ var ProvidersSection = function ProvidersSection(_ref) {
|
|
|
27971
28140
|
onStartEdit: handleStartEdit,
|
|
27972
28141
|
onDelete: function onDelete(name) {
|
|
27973
28142
|
return setDeleteTarget(name);
|
|
27974
|
-
}
|
|
28143
|
+
},
|
|
28144
|
+
catalogAuthCommand: (catalogEntry === null || catalogEntry === void 0 ? void 0 : catalogEntry.authCommand) || null
|
|
27975
28145
|
});
|
|
27976
28146
|
}
|
|
27977
28147
|
return /*#__PURE__*/jsxs(Fragment, {
|
|
@@ -33760,5 +33930,5 @@ var WorkspaceMenu = function WorkspaceMenu(_ref) {
|
|
|
33760
33930
|
|
|
33761
33931
|
ComponentManager.registerContainerTypes(LayoutContainer, LayoutGridContainer);
|
|
33762
33932
|
|
|
33763
|
-
export { ALGOLIA_ANALYTICS_FOR_QUERY, ALGOLIA_ANALYTICS_FOR_QUERY_COMPLETE, ALGOLIA_ANALYTICS_FOR_QUERY_ERROR, ALGOLIA_LIST_INDICES, ALGOLIA_LIST_INDICES_COMPLETE, ALGOLIA_LIST_INDICES_ERROR, AVAILABLE_COLORS, AddMenuItemModal, AdvancedMcpConfig, AppContext, AppSettingsModal, AppThemeScope, AppWrapper, CHOOSE_FILE, CHOOSE_FILE_COMPLETE, CHOOSE_FILE_ERROR, ColorModel, ComponentConfigModel, ComponentManager, ContextModel, DATA_JSON_TO_CSV_FILE, DATA_JSON_TO_CSV_FILE_COMPLETE, DATA_JSON_TO_CSV_FILE_ERROR, DATA_JSON_TO_CSV_STRING, DATA_JSON_TO_CSV_STRING_COMPLETE, DATA_JSON_TO_CSV_STRING_ERROR, DATA_READ_FROM_FILE, DATA_READ_FROM_FILE_COMPLETE, DATA_READ_FROM_FILE_ERROR, DATA_SAVE_TO_FILE, DATA_SAVE_TO_FILE_COMPLETE, DATA_SAVE_TO_FILE_ERROR, DashCommandPalette, DashNavbar, DashSidebar, DashTabBar, DashboardStage as Dashboard, DashboardApi, DashboardContext, DashboardFooter, DashboardHeader, DashboardMenuItem, DashboardModel, DashboardMonitor, DashboardPublisher, DashboardStage, DashboardThemeProvider, DashboardWrapper, ElectronDashboardApi, ErrorBoundary, ExternalWidget, GRID_CELL_WIDGET_TYPE, HARMONY_STRATEGIES, LAYOUT_LIST, LAYOUT_LIST_COMPLETE, LAYOUT_LIST_ERROR, LAYOUT_SAVE, LAYOUT_SAVE_COMPLETE, LAYOUT_SAVE_ERROR, Layout, LayoutBuilder, LayoutBuilderAddItemModal, LayoutBuilderConfigContainerMenuItem, LayoutBuilderConfigMenuItem, LayoutBuilderConfigModal, LayoutBuilderEditItemModal, LayoutBuilderEventModal, LayoutBuilderGridItem, LayoutContainer, LayoutDragBuilder, LayoutDragBuilderEdit, LayoutGridContainer, LayoutManagerModal, LayoutModel, LayoutQuickAddMenu, MCP_CALL_TOOL_COMPLETE, MCP_CALL_TOOL_ERROR, MCP_GET_CATALOG_COMPLETE, MCP_GET_CATALOG_ERROR, MCP_LIST_RESOURCES_COMPLETE, MCP_LIST_RESOURCES_ERROR, MCP_LIST_TOOLS_COMPLETE, MCP_LIST_TOOLS_ERROR, MCP_READ_RESOURCE_COMPLETE, MCP_READ_RESOURCE_ERROR, MCP_SERVER_STATUS_COMPLETE, MCP_SERVER_STATUS_ERROR, MCP_START_SERVER_COMPLETE, MCP_START_SERVER_ERROR, MCP_STOP_SERVER_COMPLETE, MCP_STOP_SERVER_ERROR, MENU_ITEMS_DELETE, MENU_ITEMS_DELETE_COMPLETE, MENU_ITEMS_DELETE_ERROR, MENU_ITEMS_LIST, MENU_ITEMS_LIST_COMPLETE, MENU_ITEMS_LIST_ERROR, MENU_ITEMS_SAVE, MENU_ITEMS_SAVE_COMPLETE, MENU_ITEMS_SAVE_ERROR, MainMenu, MainMenuItem, MainMenuSection, McpServerPicker, MenuItemModel, MenuSlideOverlay, MergeCellsModal, MissingProviderPrompt, MockDashboardApi, PROVIDER_DELETE_COMPLETE, PROVIDER_DELETE_ERROR, PROVIDER_GET_COMPLETE, PROVIDER_GET_ERROR, PROVIDER_LIST_COMPLETE, PROVIDER_LIST_ERROR, PROVIDER_SAVE_COMPLETE, PROVIDER_SAVE_ERROR, PanelCode, PanelEditItem, PanelEditItemHandlers, ProviderContext, ProviderErrorBoundary, ProviderForm, ProviderSelector, SECURE_STORAGE_ENCRYPT_STRING, SECURE_STORAGE_ENCRYPT_STRING_COMPLETE, SECURE_STORAGE_ENCRYPT_STRING_ERROR, SECURE_STORE_ENCRYPTION_CHECK, SECURE_STORE_ENCRYPTION_CHECK_COMPLETE, SECURE_STORE_ENCRYPTION_CHECK_ERROR, SECURE_STORE_GET_DATA, SECURE_STORE_GET_DATA_COMPLETE, SECURE_STORE_GET_DATA_ERROR, SECURE_STORE_SET_DATA, SECURE_STORE_SET_DATA_COMPLETE, SECURE_STORE_SET_DATA_ERROR, SETTINGS_GET, SETTINGS_GET_COMPLETE, SETTINGS_GET_ERROR, SETTINGS_SAVE, SETTINGS_SAVE_COMPLETE, SETTINGS_SAVE_ERROR, SIDEBAR_WIDGET_TYPE, SettingsModel, SideMenu, SplitCellModal, THEME_DELETE, THEME_DELETE_COMPLETE, THEME_DELETE_ERROR, THEME_LIST, THEME_LIST_COMPLETE, THEME_LIST_ERROR, THEME_SAVE, THEME_SAVE_COMPLETE, THEME_SAVE_ERROR, ThemeApi, ThemeManagerModal, ThemeModel, ThemeWrapper, WORKSPACE_DELETE, WORKSPACE_DELETE_COMPLETE, WORKSPACE_DELETE_ERROR, WORKSPACE_LIST, WORKSPACE_LIST_COMPLETE, WORKSPACE_LIST_ERROR, WORKSPACE_SAVE, WORKSPACE_SAVE_COMPLETE, WORKSPACE_SAVE_ERROR, WebDashboardApi, Widget, WidgetApi, WidgetConfigPanel, WidgetContext, WidgetFactory, WidgetPopoutStage, WidgetProviderWrapper, WidgetSidebar, Workspace, WorkspaceContext, WorkspaceFooter, WorkspaceMenu, WorkspaceModel, addChildToLayoutItem, addItemToItemLayout, buildMcpConfigFromOverrides, canHaveChildren, changeDirectionForLayoutItem, createProviderRegistry, deriveFormFields, envMappingToRows, evaluateBundle, extractWidgetConfigs, formStateToMcpJson, formatFieldName, generateCustomTheme, generateHarmonyTheme, generateRandomTheme, generateThemeName, getBorderStyle, getChildrenForLayoutItem, getComponentInLayout, getContainerBorderColor, getContainerColor, getIndexOfLayoutChildrenForItem, getIndexOfLayoutItem, getLayoutItemById, getLayoutItemForWorkspace, getNearestParentWorkspace, getNextHighestId, getNextHighestItemInLayout, getNextHighestOrder, getNextHighestParentId, getNextLowestItemInLayout, getParentForLayoutItem, getParentWorkspaceForItem, getThemePresets, getWidgetsForWorkspace, getWorkspacesForWorkspace, headerTemplateToRows, isContainer, isLikelySecret, isMaxOrderForItem, isMinOrderForItem, isWidget, isWidgetResolvable, isWorkspace, layoutItemHasWorkspaceAsChild, loadWidgetBundle, mcpJsonToFormState, numChildrenForLayout, removeItemFromLayout, renderComponent, renderGridLayout, renderGridLayoutFlow, _renderLayout as renderLayout, renderLayoutMenu, replaceItemInLayout, resolveIcon, setHostModules, traverseParentTree, updateLayoutItem, updateParentForItem, useDashboard, useMcpProvider, useProvider, useProviderClient, useWidgetEvents, useWidgetProviders, validateCellMerge, validateGridCell, validateGridPlacement, validateWidgetPlacement, withProviderDetection };
|
|
33933
|
+
export { ALGOLIA_ANALYTICS_FOR_QUERY, ALGOLIA_ANALYTICS_FOR_QUERY_COMPLETE, ALGOLIA_ANALYTICS_FOR_QUERY_ERROR, ALGOLIA_LIST_INDICES, ALGOLIA_LIST_INDICES_COMPLETE, ALGOLIA_LIST_INDICES_ERROR, AVAILABLE_COLORS, AddMenuItemModal, AdvancedMcpConfig, AppContext, AppSettingsModal, AppThemeScope, AppWrapper, CHOOSE_FILE, CHOOSE_FILE_COMPLETE, CHOOSE_FILE_ERROR, ColorModel, ComponentConfigModel, ComponentManager, ContextModel, DATA_JSON_TO_CSV_FILE, DATA_JSON_TO_CSV_FILE_COMPLETE, DATA_JSON_TO_CSV_FILE_ERROR, DATA_JSON_TO_CSV_STRING, DATA_JSON_TO_CSV_STRING_COMPLETE, DATA_JSON_TO_CSV_STRING_ERROR, DATA_READ_FROM_FILE, DATA_READ_FROM_FILE_COMPLETE, DATA_READ_FROM_FILE_ERROR, DATA_SAVE_TO_FILE, DATA_SAVE_TO_FILE_COMPLETE, DATA_SAVE_TO_FILE_ERROR, DashCommandPalette, DashNavbar, DashSidebar, DashTabBar, DashboardStage as Dashboard, DashboardApi, DashboardContext, DashboardFooter, DashboardHeader, DashboardMenuItem, DashboardModel, DashboardMonitor, DashboardPublisher, DashboardStage, DashboardThemeProvider, DashboardWrapper, ElectronDashboardApi, ErrorBoundary, ExternalWidget, GRID_CELL_WIDGET_TYPE, HARMONY_STRATEGIES, LAYOUT_LIST, LAYOUT_LIST_COMPLETE, LAYOUT_LIST_ERROR, LAYOUT_SAVE, LAYOUT_SAVE_COMPLETE, LAYOUT_SAVE_ERROR, Layout, LayoutBuilder, LayoutBuilderAddItemModal, LayoutBuilderConfigContainerMenuItem, LayoutBuilderConfigMenuItem, LayoutBuilderConfigModal, LayoutBuilderEditItemModal, LayoutBuilderEventModal, LayoutBuilderGridItem, LayoutContainer, LayoutDragBuilder, LayoutDragBuilderEdit, LayoutGridContainer, LayoutManagerModal, LayoutModel, LayoutQuickAddMenu, MCP_CALL_TOOL_COMPLETE, MCP_CALL_TOOL_ERROR, MCP_GET_CATALOG_COMPLETE, MCP_GET_CATALOG_ERROR, MCP_LIST_RESOURCES_COMPLETE, MCP_LIST_RESOURCES_ERROR, MCP_LIST_TOOLS_COMPLETE, MCP_LIST_TOOLS_ERROR, MCP_READ_RESOURCE_COMPLETE, MCP_READ_RESOURCE_ERROR, MCP_RUN_AUTH_COMPLETE, MCP_RUN_AUTH_ERROR, MCP_SERVER_STATUS_COMPLETE, MCP_SERVER_STATUS_ERROR, MCP_START_SERVER_COMPLETE, MCP_START_SERVER_ERROR, MCP_STOP_SERVER_COMPLETE, MCP_STOP_SERVER_ERROR, MENU_ITEMS_DELETE, MENU_ITEMS_DELETE_COMPLETE, MENU_ITEMS_DELETE_ERROR, MENU_ITEMS_LIST, MENU_ITEMS_LIST_COMPLETE, MENU_ITEMS_LIST_ERROR, MENU_ITEMS_SAVE, MENU_ITEMS_SAVE_COMPLETE, MENU_ITEMS_SAVE_ERROR, MainMenu, MainMenuItem, MainMenuSection, McpServerPicker, MenuItemModel, MenuSlideOverlay, MergeCellsModal, MissingProviderPrompt, MockDashboardApi, PROVIDER_DELETE_COMPLETE, PROVIDER_DELETE_ERROR, PROVIDER_GET_COMPLETE, PROVIDER_GET_ERROR, PROVIDER_LIST_COMPLETE, PROVIDER_LIST_ERROR, PROVIDER_SAVE_COMPLETE, PROVIDER_SAVE_ERROR, PanelCode, PanelEditItem, PanelEditItemHandlers, ProviderContext, ProviderErrorBoundary, ProviderForm, ProviderSelector, SECURE_STORAGE_ENCRYPT_STRING, SECURE_STORAGE_ENCRYPT_STRING_COMPLETE, SECURE_STORAGE_ENCRYPT_STRING_ERROR, SECURE_STORE_ENCRYPTION_CHECK, SECURE_STORE_ENCRYPTION_CHECK_COMPLETE, SECURE_STORE_ENCRYPTION_CHECK_ERROR, SECURE_STORE_GET_DATA, SECURE_STORE_GET_DATA_COMPLETE, SECURE_STORE_GET_DATA_ERROR, SECURE_STORE_SET_DATA, SECURE_STORE_SET_DATA_COMPLETE, SECURE_STORE_SET_DATA_ERROR, SETTINGS_GET, SETTINGS_GET_COMPLETE, SETTINGS_GET_ERROR, SETTINGS_SAVE, SETTINGS_SAVE_COMPLETE, SETTINGS_SAVE_ERROR, SIDEBAR_WIDGET_TYPE, SettingsModel, SideMenu, SplitCellModal, THEME_DELETE, THEME_DELETE_COMPLETE, THEME_DELETE_ERROR, THEME_LIST, THEME_LIST_COMPLETE, THEME_LIST_ERROR, THEME_SAVE, THEME_SAVE_COMPLETE, THEME_SAVE_ERROR, ThemeApi, ThemeManagerModal, ThemeModel, ThemeWrapper, WORKSPACE_DELETE, WORKSPACE_DELETE_COMPLETE, WORKSPACE_DELETE_ERROR, WORKSPACE_LIST, WORKSPACE_LIST_COMPLETE, WORKSPACE_LIST_ERROR, WORKSPACE_SAVE, WORKSPACE_SAVE_COMPLETE, WORKSPACE_SAVE_ERROR, WebDashboardApi, Widget, WidgetApi, WidgetConfigPanel, WidgetContext, WidgetFactory, WidgetPopoutStage, WidgetProviderWrapper, WidgetSidebar, Workspace, WorkspaceContext, WorkspaceFooter, WorkspaceMenu, WorkspaceModel, addChildToLayoutItem, addItemToItemLayout, buildMcpConfigFromOverrides, canHaveChildren, changeDirectionForLayoutItem, createProviderRegistry, deriveFormFields, envMappingToRows, evaluateBundle, extractWidgetConfigs, formStateToMcpJson, formatFieldName, generateCustomTheme, generateHarmonyTheme, generateRandomTheme, generateThemeName, getBorderStyle, getChildrenForLayoutItem, getComponentInLayout, getContainerBorderColor, getContainerColor, getIndexOfLayoutChildrenForItem, getIndexOfLayoutItem, getLayoutItemById, getLayoutItemForWorkspace, getNearestParentWorkspace, getNextHighestId, getNextHighestItemInLayout, getNextHighestOrder, getNextHighestParentId, getNextLowestItemInLayout, getParentForLayoutItem, getParentWorkspaceForItem, getThemePresets, getWidgetsForWorkspace, getWorkspacesForWorkspace, headerTemplateToRows, isContainer, isLikelySecret, isMaxOrderForItem, isMinOrderForItem, isWidget, isWidgetResolvable, isWorkspace, layoutItemHasWorkspaceAsChild, loadWidgetBundle, mcpJsonToFormState, numChildrenForLayout, removeItemFromLayout, renderComponent, renderGridLayout, renderGridLayoutFlow, _renderLayout as renderLayout, renderLayoutMenu, replaceItemInLayout, resolveIcon, setHostModules, traverseParentTree, updateLayoutItem, updateParentForItem, useDashboard, useMcpProvider, useProvider, useProviderClient, useWidgetEvents, useWidgetProviders, validateCellMerge, validateGridCell, validateGridPlacement, validateWidgetPlacement, withProviderDetection };
|
|
33764
33934
|
//# sourceMappingURL=index.esm.js.map
|