@trops/dash-core 0.1.55 → 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 +230 -59
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +231 -58
- 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,46 +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
|
-
|
|
27816
|
+
selectedName = _useState6[0],
|
|
27817
|
+
setSelectedName = _useState6[1];
|
|
27656
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
|
-
|
|
27824
|
+
isEditing = _useState0[0],
|
|
27825
|
+
setIsEditing = _useState0[1];
|
|
27664
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];
|
|
27680
27842
|
var _useState17 = useState(false),
|
|
27681
27843
|
_useState18 = _slicedToArray(_useState17, 2),
|
|
27682
|
-
|
|
27683
|
-
|
|
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];
|
|
27684
27850
|
|
|
27685
27851
|
// Row ID counter for env/header rows in MCP edit mode
|
|
27686
27852
|
var nextRowIdRef = useRef(0);
|
|
@@ -27955,6 +28121,10 @@ var ProvidersSection = function ProvidersSection(_ref) {
|
|
|
27955
28121
|
}
|
|
27956
28122
|
});
|
|
27957
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
|
+
});
|
|
27958
28128
|
detailContent = /*#__PURE__*/jsx(ProviderDetail, {
|
|
27959
28129
|
providerName: selectedName,
|
|
27960
28130
|
provider: selectedProvider,
|
|
@@ -27970,7 +28140,8 @@ var ProvidersSection = function ProvidersSection(_ref) {
|
|
|
27970
28140
|
onStartEdit: handleStartEdit,
|
|
27971
28141
|
onDelete: function onDelete(name) {
|
|
27972
28142
|
return setDeleteTarget(name);
|
|
27973
|
-
}
|
|
28143
|
+
},
|
|
28144
|
+
catalogAuthCommand: (catalogEntry === null || catalogEntry === void 0 ? void 0 : catalogEntry.authCommand) || null
|
|
27974
28145
|
});
|
|
27975
28146
|
}
|
|
27976
28147
|
return /*#__PURE__*/jsxs(Fragment, {
|
|
@@ -33759,5 +33930,5 @@ var WorkspaceMenu = function WorkspaceMenu(_ref) {
|
|
|
33759
33930
|
|
|
33760
33931
|
ComponentManager.registerContainerTypes(LayoutContainer, LayoutGridContainer);
|
|
33761
33932
|
|
|
33762
|
-
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 };
|
|
33763
33934
|
//# sourceMappingURL=index.esm.js.map
|