@trops/dash-core 0.1.47 → 0.1.49
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 +1011 -111
- package/dist/electron/index.js.map +1 -1
- package/dist/index.esm.js +142 -1
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +142 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -6999,6 +6999,84 @@ var ProviderForm = function ProviderForm(_ref) {
|
|
|
6999
6999
|
errors = _useState6[0],
|
|
7000
7000
|
setErrors = _useState6[1];
|
|
7001
7001
|
|
|
7002
|
+
// Dynamic fields for unknown provider types (empty schema)
|
|
7003
|
+
var hasSchema = Object.keys(credentialSchema).length > 0;
|
|
7004
|
+
var _useState7 = React.useState(hasSchema ? [] : [{
|
|
7005
|
+
id: "default_apiKey",
|
|
7006
|
+
key: "apiKey",
|
|
7007
|
+
secret: true
|
|
7008
|
+
}]),
|
|
7009
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
7010
|
+
dynamicFields = _useState8[0],
|
|
7011
|
+
setDynamicFields = _useState8[1];
|
|
7012
|
+
var fieldIdRef = React.useRef(0);
|
|
7013
|
+
var handleDynamicKeyChange = function handleDynamicKeyChange(id, newKey) {
|
|
7014
|
+
setDynamicFields(function (prev) {
|
|
7015
|
+
return prev.map(function (f) {
|
|
7016
|
+
if (f.id !== id) return f;
|
|
7017
|
+
var oldKey = f.key;
|
|
7018
|
+
if (oldKey && formData[oldKey] !== undefined) {
|
|
7019
|
+
setFormData(function (fd) {
|
|
7020
|
+
var updated = _objectSpread$s({}, fd);
|
|
7021
|
+
var val = updated[oldKey];
|
|
7022
|
+
delete updated[oldKey];
|
|
7023
|
+
if (newKey.trim()) updated[newKey] = val;
|
|
7024
|
+
return updated;
|
|
7025
|
+
});
|
|
7026
|
+
}
|
|
7027
|
+
return _objectSpread$s(_objectSpread$s({}, f), {}, {
|
|
7028
|
+
key: newKey
|
|
7029
|
+
});
|
|
7030
|
+
});
|
|
7031
|
+
});
|
|
7032
|
+
};
|
|
7033
|
+
var handleDynamicValueChange = function handleDynamicValueChange(id, value) {
|
|
7034
|
+
var field = dynamicFields.find(function (f) {
|
|
7035
|
+
return f.id === id;
|
|
7036
|
+
});
|
|
7037
|
+
if (field !== null && field !== void 0 && field.key) {
|
|
7038
|
+
setFormData(function (prev) {
|
|
7039
|
+
return _objectSpread$s(_objectSpread$s({}, prev), {}, _defineProperty({}, field.key, value));
|
|
7040
|
+
});
|
|
7041
|
+
}
|
|
7042
|
+
};
|
|
7043
|
+
var handleDynamicSecretToggle = function handleDynamicSecretToggle(id) {
|
|
7044
|
+
setDynamicFields(function (prev) {
|
|
7045
|
+
return prev.map(function (f) {
|
|
7046
|
+
return f.id === id ? _objectSpread$s(_objectSpread$s({}, f), {}, {
|
|
7047
|
+
secret: !f.secret
|
|
7048
|
+
}) : f;
|
|
7049
|
+
});
|
|
7050
|
+
});
|
|
7051
|
+
};
|
|
7052
|
+
var handleAddField = function handleAddField() {
|
|
7053
|
+
fieldIdRef.current += 1;
|
|
7054
|
+
setDynamicFields(function (prev) {
|
|
7055
|
+
return [].concat(_toConsumableArray(prev), [{
|
|
7056
|
+
id: "field_".concat(fieldIdRef.current),
|
|
7057
|
+
key: "",
|
|
7058
|
+
secret: false
|
|
7059
|
+
}]);
|
|
7060
|
+
});
|
|
7061
|
+
};
|
|
7062
|
+
var handleRemoveField = function handleRemoveField(id) {
|
|
7063
|
+
var field = dynamicFields.find(function (f) {
|
|
7064
|
+
return f.id === id;
|
|
7065
|
+
});
|
|
7066
|
+
if (field !== null && field !== void 0 && field.key) {
|
|
7067
|
+
setFormData(function (prev) {
|
|
7068
|
+
var updated = _objectSpread$s({}, prev);
|
|
7069
|
+
delete updated[field.key];
|
|
7070
|
+
return updated;
|
|
7071
|
+
});
|
|
7072
|
+
}
|
|
7073
|
+
setDynamicFields(function (prev) {
|
|
7074
|
+
return prev.filter(function (f) {
|
|
7075
|
+
return f.id !== id;
|
|
7076
|
+
});
|
|
7077
|
+
});
|
|
7078
|
+
};
|
|
7079
|
+
|
|
7002
7080
|
/**
|
|
7003
7081
|
* Validate form based on schema requirements
|
|
7004
7082
|
*/
|
|
@@ -7116,6 +7194,59 @@ var ProviderForm = function ProviderForm(_ref) {
|
|
|
7116
7194
|
children: errors[fieldName]
|
|
7117
7195
|
})]
|
|
7118
7196
|
}, fieldName);
|
|
7197
|
+
}), !hasSchema && /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
7198
|
+
children: [dynamicFields.map(function (field) {
|
|
7199
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
7200
|
+
className: "flex flex-col gap-2",
|
|
7201
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
7202
|
+
className: "flex items-center gap-2",
|
|
7203
|
+
children: [/*#__PURE__*/jsxRuntime.jsx("div", {
|
|
7204
|
+
className: "flex-1",
|
|
7205
|
+
children: /*#__PURE__*/jsxRuntime.jsx(DashReact.InputText, {
|
|
7206
|
+
value: field.key,
|
|
7207
|
+
onChange: function onChange(value) {
|
|
7208
|
+
return handleDynamicKeyChange(field.id, value);
|
|
7209
|
+
},
|
|
7210
|
+
placeholder: "Field name (e.g. apiKey)"
|
|
7211
|
+
})
|
|
7212
|
+
}), /*#__PURE__*/jsxRuntime.jsx("button", {
|
|
7213
|
+
onClick: function onClick() {
|
|
7214
|
+
return handleDynamicSecretToggle(field.id);
|
|
7215
|
+
},
|
|
7216
|
+
className: "p-2 rounded hover:bg-white/10 transition-colors opacity-50 hover:opacity-100",
|
|
7217
|
+
title: field.secret ? "Show as text" : "Mark as secret",
|
|
7218
|
+
children: /*#__PURE__*/jsxRuntime.jsx(DashReact.FontAwesomeIcon, {
|
|
7219
|
+
icon: field.secret ? "eye-slash" : "eye",
|
|
7220
|
+
className: "h-3.5 w-3.5"
|
|
7221
|
+
})
|
|
7222
|
+
}), /*#__PURE__*/jsxRuntime.jsx("button", {
|
|
7223
|
+
onClick: function onClick() {
|
|
7224
|
+
return handleRemoveField(field.id);
|
|
7225
|
+
},
|
|
7226
|
+
className: "p-2 rounded hover:bg-red-500/20 transition-colors opacity-50 hover:opacity-100 text-red-400",
|
|
7227
|
+
title: "Remove field",
|
|
7228
|
+
children: /*#__PURE__*/jsxRuntime.jsx(DashReact.FontAwesomeIcon, {
|
|
7229
|
+
icon: "trash",
|
|
7230
|
+
className: "h-3.5 w-3.5"
|
|
7231
|
+
})
|
|
7232
|
+
})]
|
|
7233
|
+
}), field.key.trim() && /*#__PURE__*/jsxRuntime.jsx(DashReact.InputText, {
|
|
7234
|
+
type: field.secret ? "password" : "text",
|
|
7235
|
+
value: formData[field.key] || "",
|
|
7236
|
+
onChange: function onChange(value) {
|
|
7237
|
+
return handleDynamicValueChange(field.id, value);
|
|
7238
|
+
},
|
|
7239
|
+
placeholder: "Enter ".concat(field.key)
|
|
7240
|
+
})]
|
|
7241
|
+
}, field.id);
|
|
7242
|
+
}), /*#__PURE__*/jsxRuntime.jsxs("button", {
|
|
7243
|
+
onClick: handleAddField,
|
|
7244
|
+
className: "flex items-center gap-2 text-sm text-blue-400 hover:text-blue-300 transition-colors",
|
|
7245
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(DashReact.FontAwesomeIcon, {
|
|
7246
|
+
icon: "plus",
|
|
7247
|
+
className: "h-3 w-3"
|
|
7248
|
+
}), "Add Credential Field"]
|
|
7249
|
+
})]
|
|
7119
7250
|
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
7120
7251
|
className: "flex gap-3 justify-end pt-4 border-t border-gray-300 dark:border-gray-700",
|
|
7121
7252
|
children: [/*#__PURE__*/jsxRuntime.jsx(DashReact.Button, {
|
|
@@ -10593,9 +10724,18 @@ var LayoutBuilder = function LayoutBuilder(_ref) {
|
|
|
10593
10724
|
required: true,
|
|
10594
10725
|
secret: true
|
|
10595
10726
|
}
|
|
10727
|
+
},
|
|
10728
|
+
anthropic: {
|
|
10729
|
+
apiKey: {
|
|
10730
|
+
type: "text",
|
|
10731
|
+
displayName: "API Key",
|
|
10732
|
+
instructions: "Your Anthropic API key (starts with sk-ant-)",
|
|
10733
|
+
required: true,
|
|
10734
|
+
secret: true
|
|
10735
|
+
}
|
|
10596
10736
|
}
|
|
10597
10737
|
};
|
|
10598
|
-
var schema = providerSchemas[providerType] || {};
|
|
10738
|
+
var schema = providerSchemas[providerType] || (matchingReq === null || matchingReq === void 0 ? void 0 : matchingReq.credentialSchema) || {};
|
|
10599
10739
|
setProviderModalConfig({
|
|
10600
10740
|
widgetId: widgetId,
|
|
10601
10741
|
providerType: providerType,
|
|
@@ -27341,6 +27481,7 @@ var ProvidersSection = function ProvidersSection(_ref) {
|
|
|
27341
27481
|
if (createRequested && !prevCreateRequested.current) {
|
|
27342
27482
|
resetForm();
|
|
27343
27483
|
setSelectedName(null);
|
|
27484
|
+
setIsAddingMcp(false);
|
|
27344
27485
|
setIsCreating(true);
|
|
27345
27486
|
}
|
|
27346
27487
|
prevCreateRequested.current = createRequested;
|