@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 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) => (vectorStores ?? []).find((v) => v.id === id)?.name ?? 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) => (mcpServers ?? []).find((s) => s.id === id)?.name ?? 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: vectorStores ?? [],
6775
- mcpServers: 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 {