@trops/dash-core 0.1.14 → 0.1.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.esm.js +154 -9
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +154 -9
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.esm.js
CHANGED
|
@@ -24996,6 +24996,83 @@ var ProviderDetail = function ProviderDetail(_ref) {
|
|
|
24996
24996
|
if (isMcp || !(provider !== null && provider !== void 0 && provider.credentials)) return [];
|
|
24997
24997
|
return Object.keys(provider.credentials);
|
|
24998
24998
|
}, [isMcp, provider]);
|
|
24999
|
+
|
|
25000
|
+
// Dynamic credential fields for create mode
|
|
25001
|
+
var _useState5 = useState(isCreating ? [{
|
|
25002
|
+
id: "default_apiKey",
|
|
25003
|
+
key: "apiKey",
|
|
25004
|
+
secret: true
|
|
25005
|
+
}] : []),
|
|
25006
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
25007
|
+
credentialFields = _useState6[0],
|
|
25008
|
+
setCredentialFields = _useState6[1];
|
|
25009
|
+
var fieldIdRef = useRef(0);
|
|
25010
|
+
var handleFieldKeyChange = function handleFieldKeyChange(id, newKey) {
|
|
25011
|
+
setCredentialFields(function (prev) {
|
|
25012
|
+
return prev.map(function (f) {
|
|
25013
|
+
if (f.id !== id) return f;
|
|
25014
|
+
var oldKey = f.key;
|
|
25015
|
+
if (oldKey && formCredentials[oldKey] !== undefined) {
|
|
25016
|
+
setFormCredentials(function (creds) {
|
|
25017
|
+
var updated = _objectSpread$4({}, creds);
|
|
25018
|
+
var val = updated[oldKey];
|
|
25019
|
+
delete updated[oldKey];
|
|
25020
|
+
if (newKey.trim()) updated[newKey] = val;
|
|
25021
|
+
return updated;
|
|
25022
|
+
});
|
|
25023
|
+
}
|
|
25024
|
+
return _objectSpread$4(_objectSpread$4({}, f), {}, {
|
|
25025
|
+
key: newKey
|
|
25026
|
+
});
|
|
25027
|
+
});
|
|
25028
|
+
});
|
|
25029
|
+
};
|
|
25030
|
+
var handleFieldValueChange = function handleFieldValueChange(id, value) {
|
|
25031
|
+
var field = credentialFields.find(function (f) {
|
|
25032
|
+
return f.id === id;
|
|
25033
|
+
});
|
|
25034
|
+
if (field !== null && field !== void 0 && field.key) {
|
|
25035
|
+
setFormCredentials(function (prev) {
|
|
25036
|
+
return _objectSpread$4(_objectSpread$4({}, prev), {}, _defineProperty({}, field.key, value));
|
|
25037
|
+
});
|
|
25038
|
+
}
|
|
25039
|
+
};
|
|
25040
|
+
var handleFieldSecretToggle = function handleFieldSecretToggle(id) {
|
|
25041
|
+
setCredentialFields(function (prev) {
|
|
25042
|
+
return prev.map(function (f) {
|
|
25043
|
+
return f.id === id ? _objectSpread$4(_objectSpread$4({}, f), {}, {
|
|
25044
|
+
secret: !f.secret
|
|
25045
|
+
}) : f;
|
|
25046
|
+
});
|
|
25047
|
+
});
|
|
25048
|
+
};
|
|
25049
|
+
var handleAddField = function handleAddField() {
|
|
25050
|
+
fieldIdRef.current += 1;
|
|
25051
|
+
setCredentialFields(function (prev) {
|
|
25052
|
+
return [].concat(_toConsumableArray(prev), [{
|
|
25053
|
+
id: "field_".concat(fieldIdRef.current),
|
|
25054
|
+
key: "",
|
|
25055
|
+
secret: false
|
|
25056
|
+
}]);
|
|
25057
|
+
});
|
|
25058
|
+
};
|
|
25059
|
+
var handleRemoveField = function handleRemoveField(id) {
|
|
25060
|
+
var field = credentialFields.find(function (f) {
|
|
25061
|
+
return f.id === id;
|
|
25062
|
+
});
|
|
25063
|
+
if (field !== null && field !== void 0 && field.key) {
|
|
25064
|
+
setFormCredentials(function (prev) {
|
|
25065
|
+
var updated = _objectSpread$4({}, prev);
|
|
25066
|
+
delete updated[field.key];
|
|
25067
|
+
return updated;
|
|
25068
|
+
});
|
|
25069
|
+
}
|
|
25070
|
+
setCredentialFields(function (prev) {
|
|
25071
|
+
return prev.filter(function (f) {
|
|
25072
|
+
return f.id !== id;
|
|
25073
|
+
});
|
|
25074
|
+
});
|
|
25075
|
+
};
|
|
24999
25076
|
var handleCredentialChange = function handleCredentialChange(key, value) {
|
|
25000
25077
|
setFormCredentials(function (prev) {
|
|
25001
25078
|
return _objectSpread$4(_objectSpread$4({}, prev), {}, _defineProperty({}, key, value));
|
|
@@ -25116,6 +25193,65 @@ var ProviderDetail = function ProviderDetail(_ref) {
|
|
|
25116
25193
|
},
|
|
25117
25194
|
placeholder: "Provider type (e.g. algolia, openai)"
|
|
25118
25195
|
})]
|
|
25196
|
+
}), isCreating && /*#__PURE__*/jsxs(Fragment, {
|
|
25197
|
+
children: [/*#__PURE__*/jsx("div", {
|
|
25198
|
+
className: "border-t border-white/10 pt-4",
|
|
25199
|
+
children: /*#__PURE__*/jsx("p", {
|
|
25200
|
+
className: "text-xs font-semibold opacity-40 uppercase tracking-wider",
|
|
25201
|
+
children: "Credentials"
|
|
25202
|
+
})
|
|
25203
|
+
}), credentialFields.map(function (field) {
|
|
25204
|
+
return /*#__PURE__*/jsxs("div", {
|
|
25205
|
+
className: "flex flex-col gap-2",
|
|
25206
|
+
children: [/*#__PURE__*/jsxs("div", {
|
|
25207
|
+
className: "flex items-center gap-2",
|
|
25208
|
+
children: [/*#__PURE__*/jsx("div", {
|
|
25209
|
+
className: "flex-1",
|
|
25210
|
+
children: /*#__PURE__*/jsx(InputText, {
|
|
25211
|
+
value: field.key,
|
|
25212
|
+
onChange: function onChange(value) {
|
|
25213
|
+
return handleFieldKeyChange(field.id, value);
|
|
25214
|
+
},
|
|
25215
|
+
placeholder: "Field name (e.g. apiKey)"
|
|
25216
|
+
})
|
|
25217
|
+
}), /*#__PURE__*/jsx("button", {
|
|
25218
|
+
onClick: function onClick() {
|
|
25219
|
+
return handleFieldSecretToggle(field.id);
|
|
25220
|
+
},
|
|
25221
|
+
className: "p-2 rounded hover:bg-white/10 transition-colors opacity-50 hover:opacity-100",
|
|
25222
|
+
title: field.secret ? "Show as text" : "Mark as secret",
|
|
25223
|
+
children: /*#__PURE__*/jsx(FontAwesomeIcon, {
|
|
25224
|
+
icon: field.secret ? "eye-slash" : "eye",
|
|
25225
|
+
className: "h-3.5 w-3.5"
|
|
25226
|
+
})
|
|
25227
|
+
}), /*#__PURE__*/jsx("button", {
|
|
25228
|
+
onClick: function onClick() {
|
|
25229
|
+
return handleRemoveField(field.id);
|
|
25230
|
+
},
|
|
25231
|
+
className: "p-2 rounded hover:bg-red-500/20 transition-colors opacity-50 hover:opacity-100 text-red-400",
|
|
25232
|
+
title: "Remove field",
|
|
25233
|
+
children: /*#__PURE__*/jsx(FontAwesomeIcon, {
|
|
25234
|
+
icon: "trash",
|
|
25235
|
+
className: "h-3.5 w-3.5"
|
|
25236
|
+
})
|
|
25237
|
+
})]
|
|
25238
|
+
}), field.key.trim() && /*#__PURE__*/jsx(InputText, {
|
|
25239
|
+
type: field.secret ? "password" : "text",
|
|
25240
|
+
value: formCredentials[field.key] || "",
|
|
25241
|
+
onChange: function onChange(value) {
|
|
25242
|
+
return handleFieldValueChange(field.id, value);
|
|
25243
|
+
},
|
|
25244
|
+
placeholder: "Enter ".concat(field.key)
|
|
25245
|
+
})]
|
|
25246
|
+
}, field.id);
|
|
25247
|
+
}), /*#__PURE__*/jsxs("button", {
|
|
25248
|
+
onClick: handleAddField,
|
|
25249
|
+
className: "flex items-center gap-2 text-sm text-blue-400 hover:text-blue-300 transition-colors",
|
|
25250
|
+
children: [/*#__PURE__*/jsx(FontAwesomeIcon, {
|
|
25251
|
+
icon: "plus",
|
|
25252
|
+
className: "h-3 w-3"
|
|
25253
|
+
}), "Add Credential Field"]
|
|
25254
|
+
})]
|
|
25119
25255
|
}), isEditing && isMcp && /*#__PURE__*/jsxs(Fragment, {
|
|
25120
25256
|
children: [mcpConfigBlock, mcpFormFields.length > 0 && /*#__PURE__*/jsxs(Fragment, {
|
|
25121
25257
|
children: [/*#__PURE__*/jsx("div", {
|
|
@@ -26523,9 +26659,16 @@ var ProvidersSection = function ProvidersSection(_ref) {
|
|
|
26523
26659
|
}
|
|
26524
26660
|
function handleSave() {
|
|
26525
26661
|
if (!formName.trim() || !dashApi || !appId) return;
|
|
26662
|
+
var credentials = {};
|
|
26663
|
+
Object.entries(formCredentials).forEach(function (_ref6) {
|
|
26664
|
+
var _ref7 = _slicedToArray(_ref6, 2),
|
|
26665
|
+
key = _ref7[0],
|
|
26666
|
+
value = _ref7[1];
|
|
26667
|
+
if (key.trim()) credentials[key.trim()] = value;
|
|
26668
|
+
});
|
|
26526
26669
|
dashApi.saveProvider(appId, formName.trim(), {
|
|
26527
26670
|
providerType: formType.trim(),
|
|
26528
|
-
credentials:
|
|
26671
|
+
credentials: credentials
|
|
26529
26672
|
}, function () {
|
|
26530
26673
|
resetForm();
|
|
26531
26674
|
refreshProviders && refreshProviders();
|
|
@@ -26619,10 +26762,10 @@ var ProvidersSection = function ProvidersSection(_ref) {
|
|
|
26619
26762
|
children: [/*#__PURE__*/jsx("div", {
|
|
26620
26763
|
className: "px-3 py-2 text-xs font-semibold opacity-40 uppercase tracking-wider",
|
|
26621
26764
|
children: "API Credentials"
|
|
26622
|
-
}), credentialProviders.map(function (
|
|
26623
|
-
var
|
|
26624
|
-
name =
|
|
26625
|
-
provider =
|
|
26765
|
+
}), credentialProviders.map(function (_ref8) {
|
|
26766
|
+
var _ref9 = _slicedToArray(_ref8, 2),
|
|
26767
|
+
name = _ref9[0],
|
|
26768
|
+
provider = _ref9[1];
|
|
26626
26769
|
var isSelected = selectedName === name && !isCreating;
|
|
26627
26770
|
return /*#__PURE__*/jsx(Sidebar.Item, {
|
|
26628
26771
|
icon: /*#__PURE__*/jsx(FontAwesomeIcon, {
|
|
@@ -26648,10 +26791,10 @@ var ProvidersSection = function ProvidersSection(_ref) {
|
|
|
26648
26791
|
children: [/*#__PURE__*/jsx("div", {
|
|
26649
26792
|
className: "px-3 py-2 text-xs font-semibold opacity-40 uppercase tracking-wider mt-2",
|
|
26650
26793
|
children: "MCP Servers"
|
|
26651
|
-
}), mcpProviders.map(function (
|
|
26652
|
-
var
|
|
26653
|
-
name =
|
|
26654
|
-
provider =
|
|
26794
|
+
}), mcpProviders.map(function (_ref0) {
|
|
26795
|
+
var _ref1 = _slicedToArray(_ref0, 2),
|
|
26796
|
+
name = _ref1[0],
|
|
26797
|
+
provider = _ref1[1];
|
|
26655
26798
|
var isSelected = selectedName === name && !isCreating;
|
|
26656
26799
|
return /*#__PURE__*/jsx(Sidebar.Item, {
|
|
26657
26800
|
icon: /*#__PURE__*/jsx(FontAwesomeIcon, {
|
|
@@ -26708,6 +26851,8 @@ var ProvidersSection = function ProvidersSection(_ref) {
|
|
|
26708
26851
|
setFormName: setFormName,
|
|
26709
26852
|
formType: formType,
|
|
26710
26853
|
setFormType: setFormType,
|
|
26854
|
+
formCredentials: formCredentials,
|
|
26855
|
+
setFormCredentials: setFormCredentials,
|
|
26711
26856
|
onCreate: handleSave,
|
|
26712
26857
|
onCancelEdit: function onCancelEdit() {
|
|
26713
26858
|
resetForm();
|