@acarmisc/backstage-plugin-litellm-backend 0.25.0 → 0.26.1
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/client.d.ts +3 -2
- package/dist/client.js +6 -5
- package/dist/index.cjs.js +23 -6
- package/dist/index.cjs.js.map +2 -2
- package/dist/routes/bridge.js +6 -1
- package/dist/routes/objectPermissions.js +16 -0
- package/package.json +1 -1
package/dist/routes/bridge.js
CHANGED
|
@@ -193,7 +193,12 @@ function registerBridgeRoutes(router, ctx, bridgeOpts) {
|
|
|
193
193
|
return;
|
|
194
194
|
}
|
|
195
195
|
const names = (0, mcpAccess_1.teamMcpServers)(await client.getTeamInfo(teamId));
|
|
196
|
-
|
|
196
|
+
// Display alias for each server; server_name stays the value sent back.
|
|
197
|
+
const catalogue = await client.listMcpServers().catch(() => []);
|
|
198
|
+
res.json(names.map(server_name => ({
|
|
199
|
+
server_name,
|
|
200
|
+
name: catalogue.find(s => s.id === server_name || s.name === server_name)?.name ?? server_name,
|
|
201
|
+
})));
|
|
197
202
|
}
|
|
198
203
|
catch (error) {
|
|
199
204
|
handleBridgeError(error, res);
|
|
@@ -4,8 +4,24 @@ exports.registerObjectPermissionsRoutes = registerObjectPermissionsRoutes;
|
|
|
4
4
|
const backstage_plugin_litellm_common_1 = require("@acarmisc/backstage-plugin-litellm-common");
|
|
5
5
|
const teamAdmin_1 = require("../teamAdmin");
|
|
6
6
|
const respondTeam_1 = require("../http/respondTeam");
|
|
7
|
+
const withUser_1 = require("./middleware/withUser");
|
|
7
8
|
function registerObjectPermissionsRoutes(router, ctx) {
|
|
8
9
|
const { client, catalogClient, auth, permissions, logger, teamAdminCfg, requireObjectPerms, sendTeamError, authorizeTeamSubresource, } = ctx;
|
|
10
|
+
// ── Display names ───────────────────────────────────────────────────────
|
|
11
|
+
//
|
|
12
|
+
// Read-only id → alias map so members can see names for the KBs and MCP
|
|
13
|
+
// servers on their teams. Not allowlist-filtered and not team-admin gated:
|
|
14
|
+
// only ids and names leave the server, never URLs.
|
|
15
|
+
router.get('/object-names', (0, withUser_1.createRequireUser)(ctx), async (_req, res) => {
|
|
16
|
+
const [vectorStores, mcpServers] = await Promise.all([
|
|
17
|
+
client.listVectorStores().catch(() => []),
|
|
18
|
+
client.listMcpServers().catch(() => []),
|
|
19
|
+
]);
|
|
20
|
+
res.json({
|
|
21
|
+
vector_stores: vectorStores.map(({ id, name }) => ({ id, name })),
|
|
22
|
+
mcp_servers: mcpServers.map(({ id, name }) => ({ id, name })),
|
|
23
|
+
});
|
|
24
|
+
});
|
|
9
25
|
// ── Knowledge-base (vector store) management ────────────────────────────
|
|
10
26
|
//
|
|
11
27
|
// Attaching a vector store to a team exposes its documents to every team
|