@acarmisc/backstage-plugin-litellm 0.42.0 → 0.43.0
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/api.d.ts +9 -0
- package/dist/components/ManageTeamDialog.d.ts +4 -0
- package/dist/index.cjs.js +16 -4
- package/dist/index.cjs.js.map +2 -2
- package/dist/index.esm.js +16 -4
- package/dist/index.esm.js.map +2 -2
- package/package.json +1 -1
package/dist/api.d.ts
CHANGED
|
@@ -37,6 +37,11 @@ export interface LiteLlmApiInterface {
|
|
|
37
37
|
}): Promise<TeamInfo>;
|
|
38
38
|
removeTeamMember(teamId: string, userEntityRef: string): Promise<TeamInfo>;
|
|
39
39
|
getVectorStores(): Promise<VectorStoreInfo[]>;
|
|
40
|
+
/** Id → name for every KB and MCP server, for labels only (not allowlist-filtered). */
|
|
41
|
+
getObjectNames(): Promise<{
|
|
42
|
+
vector_stores: VectorStoreInfo[];
|
|
43
|
+
mcp_servers: McpServerInfo[];
|
|
44
|
+
}>;
|
|
40
45
|
setTeamKnowledgeBases(teamId: string, vectorStores: string[]): Promise<TeamInfo>;
|
|
41
46
|
getMcpServers(): Promise<McpServerInfo[]>;
|
|
42
47
|
setTeamMcpServers(teamId: string, mcpServers: string[]): Promise<TeamInfo>;
|
|
@@ -105,6 +110,10 @@ export declare class LiteLlmApi implements LiteLlmApiInterface {
|
|
|
105
110
|
}): Promise<TeamInfo>;
|
|
106
111
|
removeTeamMember(teamId: string, userEntityRef: string): Promise<TeamInfo>;
|
|
107
112
|
getVectorStores(): Promise<VectorStoreInfo[]>;
|
|
113
|
+
getObjectNames(): Promise<{
|
|
114
|
+
vector_stores: VectorStoreInfo[];
|
|
115
|
+
mcp_servers: McpServerInfo[];
|
|
116
|
+
}>;
|
|
108
117
|
setTeamKnowledgeBases(teamId: string, vectorStores: string[]): Promise<TeamInfo>;
|
|
109
118
|
getMcpServers(): Promise<McpServerInfo[]>;
|
|
110
119
|
setTeamMcpServers(teamId: string, mcpServers: string[]): Promise<TeamInfo>;
|
|
@@ -27,12 +27,16 @@ interface ManageTeamDialogProps {
|
|
|
27
27
|
canManageKnowledgeBases?: boolean;
|
|
28
28
|
/** Vector stores the caller may attach (already allowlist-filtered server-side). */
|
|
29
29
|
vectorStores?: VectorStoreInfo[];
|
|
30
|
+
/** Names for labelling attached stores; may include stores not offered in the picker. */
|
|
31
|
+
vectorStoreNames?: VectorStoreInfo[];
|
|
30
32
|
/** Called to replace the team's attached knowledge bases; parent refreshes `team`. */
|
|
31
33
|
onSaveKnowledgeBases?: (vectorStoreIds: string[]) => Promise<void>;
|
|
32
34
|
/** When true, the MCP Servers section (edit mode only) is shown. */
|
|
33
35
|
canManageMcpServers?: boolean;
|
|
34
36
|
/** MCP servers the caller may attach (already allowlist-filtered server-side). */
|
|
35
37
|
mcpServers?: McpServerInfo[];
|
|
38
|
+
/** Names for labelling attached servers; may include servers not offered in the picker. */
|
|
39
|
+
mcpServerNames?: McpServerInfo[];
|
|
36
40
|
/** Called to replace the team's attached MCP servers; parent refreshes `team`. */
|
|
37
41
|
onSaveMcpServers?: (mcpServerIds: string[]) => Promise<void>;
|
|
38
42
|
/** When true, only members section is shown (not budget/models/KB/MCP); title changes; Save becomes Done. */
|
package/dist/index.cjs.js
CHANGED
|
@@ -287,6 +287,10 @@ var init_api = __esm({
|
|
|
287
287
|
async getVectorStores() {
|
|
288
288
|
return this.get("/vector-stores");
|
|
289
289
|
}
|
|
290
|
+
// Names only, readable by any signed-in user; never used for the picker.
|
|
291
|
+
async getObjectNames() {
|
|
292
|
+
return this.get("/object-names");
|
|
293
|
+
}
|
|
290
294
|
async setTeamKnowledgeBases(teamId, vectorStores) {
|
|
291
295
|
return this.put(
|
|
292
296
|
`/teams/${encodeURIComponent(teamId)}/knowledge-bases`,
|
|
@@ -3245,9 +3249,11 @@ var init_ManageTeamDialog = __esm({
|
|
|
3245
3249
|
onRemoveMember,
|
|
3246
3250
|
canManageKnowledgeBases,
|
|
3247
3251
|
vectorStores,
|
|
3252
|
+
vectorStoreNames,
|
|
3248
3253
|
onSaveKnowledgeBases,
|
|
3249
3254
|
canManageMcpServers,
|
|
3250
3255
|
mcpServers,
|
|
3256
|
+
mcpServerNames,
|
|
3251
3257
|
onSaveMcpServers,
|
|
3252
3258
|
membersOnly,
|
|
3253
3259
|
currentUserId,
|
|
@@ -3516,10 +3522,10 @@ var init_ManageTeamDialog = __esm({
|
|
|
3516
3522
|
const durationOptions = BUDGET_DURATION_OPTIONS.some((o) => o.value === budgetDuration) ? BUDGET_DURATION_OPTIONS : [...BUDGET_DURATION_OPTIONS, { value: budgetDuration, label: budgetDuration }];
|
|
3517
3523
|
const showKnowledgeBases = mode === "edit" && !!canManageKnowledgeBases;
|
|
3518
3524
|
const kbOptions = (vectorStores ?? []).map((v) => v.id);
|
|
3519
|
-
const kbLabel = (id) => (
|
|
3525
|
+
const kbLabel = (id) => (vectorStoreNames ?? []).find((v) => v.id === id)?.name ?? id;
|
|
3520
3526
|
const showMcpServers = mode === "edit" && !!canManageMcpServers;
|
|
3521
3527
|
const mcpOptions = (mcpServers ?? []).map((s) => s.id);
|
|
3522
|
-
const mcpLabel = (id) => (
|
|
3528
|
+
const mcpLabel = (id) => (mcpServerNames ?? []).find((s) => s.id === id)?.name ?? id;
|
|
3523
3529
|
const isRemovalDisabled = (memberUserId, memberRole) => {
|
|
3524
3530
|
if (!membersOnly) return { disabled: false };
|
|
3525
3531
|
if (memberUserId === currentUserId) {
|
|
@@ -6415,6 +6421,10 @@ var init_LiteLLMPage = __esm({
|
|
|
6415
6421
|
() => api.getMcpServers().catch(() => []),
|
|
6416
6422
|
[api]
|
|
6417
6423
|
);
|
|
6424
|
+
const { value: objectNames } = (0, import_react_use2.useAsync)(
|
|
6425
|
+
() => api.getObjectNames().catch(() => ({ vector_stores: [], mcp_servers: [] })),
|
|
6426
|
+
[api]
|
|
6427
|
+
);
|
|
6418
6428
|
const teams = (0, import_react13.useMemo)(() => {
|
|
6419
6429
|
if (!allTeams?.length) return [];
|
|
6420
6430
|
if (!userInfo) return allTeams;
|
|
@@ -6771,8 +6781,8 @@ var init_LiteLLMPage = __esm({
|
|
|
6771
6781
|
onEditTeam: (t) => setManageTeam({ mode: "edit", team: t }),
|
|
6772
6782
|
canCreate: teamMgmtEnabled && canCreateTeam && !readOnly,
|
|
6773
6783
|
onCreateTeam: () => setManageTeam({ mode: "create" }),
|
|
6774
|
-
vectorStores:
|
|
6775
|
-
mcpServers:
|
|
6784
|
+
vectorStores: objectNames?.vector_stores ?? [],
|
|
6785
|
+
mcpServers: objectNames?.mcp_servers ?? [],
|
|
6776
6786
|
canManageMembers: (t) => teamMgmtEnabled && canManageMembers && isTeamMemberManager(t, userInfo?.user_id, memberManagerRoles, readOnly),
|
|
6777
6787
|
onManageMembers: (t) => setManageTeam({ mode: "members", team: t }),
|
|
6778
6788
|
readOnly,
|
|
@@ -6904,6 +6914,7 @@ var init_LiteLLMPage = __esm({
|
|
|
6904
6914
|
},
|
|
6905
6915
|
canManageKnowledgeBases: teamMgmtEnabled && objectPermsEnabled && canManageKnowledgeBases,
|
|
6906
6916
|
vectorStores: vectorStores ?? [],
|
|
6917
|
+
vectorStoreNames: objectNames?.vector_stores ?? [],
|
|
6907
6918
|
onSaveKnowledgeBases: async (vectorStoreIds) => {
|
|
6908
6919
|
if (!manageTeam?.team) return;
|
|
6909
6920
|
try {
|
|
@@ -6922,6 +6933,7 @@ var init_LiteLLMPage = __esm({
|
|
|
6922
6933
|
},
|
|
6923
6934
|
canManageMcpServers: teamMgmtEnabled && objectPermsEnabled && canManageMcpServers,
|
|
6924
6935
|
mcpServers: mcpServers ?? [],
|
|
6936
|
+
mcpServerNames: objectNames?.mcp_servers ?? [],
|
|
6925
6937
|
onSaveMcpServers: async (mcpServerIds) => {
|
|
6926
6938
|
if (!manageTeam?.team) return;
|
|
6927
6939
|
try {
|