anything-llm/server/endpoints/experimental/imported-agent-plugins.js

51 lines
1.4 KiB
JavaScript
Raw Normal View History

const ImportedPlugin = require("../../utils/agents/imported");
const { reqBody } = require("../../utils/http");
const {
flexUserRoleValid,
ROLES,
} = require("../../utils/middleware/multiUserProtected");
const { validatedRequest } = require("../../utils/middleware/validatedRequest");
function importedAgentPluginEndpoints(app) {
if (!app) return;
app.post(
"/experimental/agent-plugins/:hubId/toggle",
[validatedRequest, flexUserRoleValid([ROLES.admin])],
(request, response) => {
try {
const { hubId } = request.params;
const { active } = reqBody(request);
const updatedConfig = ImportedPlugin.updateImportedPlugin(hubId, {
active: Boolean(active),
});
response.status(200).json(updatedConfig);
} catch (e) {
console.error(e);
response.status(500).end();
}
}
);
app.post(
"/experimental/agent-plugins/:hubId/config",
[validatedRequest, flexUserRoleValid([ROLES.admin])],
(request, response) => {
try {
const { hubId } = request.params;
const { updates } = reqBody(request);
const updatedConfig = ImportedPlugin.updateImportedPlugin(
hubId,
updates
);
response.status(200).json(updatedConfig);
} catch (e) {
console.error(e);
response.status(500).end();
}
}
);
}
module.exports = { importedAgentPluginEndpoints };