@acarmisc/backstage-plugin-litellm 0.37.0 → 0.39.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
@@ -1,5 +1,5 @@
1
1
  import { type FetchApi, type DiscoveryApi } from '@backstage/frontend-plugin-api';
2
- import { UserInfo, VirtualKey, ModelInfo, UsageMetrics, TeamMemberUsage, TeamInfo, GenerateKeyRequest, GenerateKeyResponse, UpdateKeyRequest, AuditLogsParams, PaginatedAuditLogs, LiteLlmConfig, VectorStoreInfo, McpServerInfo, CreateTeamRequest, CreateTeamResponse, UpdateTeamRequest } from './types';
2
+ import { UserInfo, VirtualKey, ModelInfo, UsageMetrics, TeamMemberUsage, TeamInfo, GenerateKeyRequest, GenerateKeyResponse, UpdateKeyRequest, AuditLogsParams, PaginatedAuditLogs, SpendLogsParams, PaginatedSpendLogs, LiteLlmConfig, QualityResponse, VectorStoreInfo, McpServerInfo, CreateTeamRequest, CreateTeamResponse, UpdateTeamRequest } from './types';
3
3
  export declare class ApiError extends Error {
4
4
  body: unknown;
5
5
  status: number;
@@ -45,6 +45,9 @@ export interface LiteLlmApiInterface {
45
45
  /** Per-member breakdown; rejects (403/404) when the caller may not see it. */
46
46
  getTeamMemberUsage(teamId: string, startDate: string, endDate: string): Promise<TeamMemberUsage>;
47
47
  getAuditLogs(params: AuditLogsParams): Promise<PaginatedAuditLogs>;
48
+ getSpendLogs(params: SpendLogsParams): Promise<PaginatedSpendLogs>;
49
+ /** Langfuse quality summary; `{configured:false}` when Langfuse is off. */
50
+ getQuality(params: SpendLogsParams): Promise<QualityResponse>;
48
51
  getConfig(): Promise<LiteLlmConfig>;
49
52
  createTeam(request: CreateTeamRequest): Promise<CreateTeamResponse>;
50
53
  updateTeam(teamId: string, request: UpdateTeamRequest): Promise<TeamInfo>;
@@ -108,6 +111,8 @@ export declare class LiteLlmApi implements LiteLlmApiInterface {
108
111
  getUsage(startDate: string, endDate: string): Promise<UsageMetrics>;
109
112
  getTeamUsage(teamId: string, startDate: string, endDate: string): Promise<UsageMetrics>;
110
113
  getTeamMemberUsage(teamId: string, startDate: string, endDate: string): Promise<TeamMemberUsage>;
114
+ getSpendLogs(params: SpendLogsParams): Promise<PaginatedSpendLogs>;
115
+ getQuality(params: SpendLogsParams): Promise<QualityResponse>;
111
116
  getConfig(): Promise<LiteLlmConfig>;
112
117
  createTeam(request: CreateTeamRequest): Promise<CreateTeamResponse>;
113
118
  updateTeam(teamId: string, request: UpdateTeamRequest): Promise<TeamInfo>;
@@ -0,0 +1,12 @@
1
+ import { FC } from 'react';
2
+ import type { LiteLlmApiInterface } from '../api';
3
+ import type { DateRange, ModelInfo, UsageMetrics, VirtualKey } from '../types';
4
+ export interface InsightsTabProps {
5
+ api: LiteLlmApiInterface;
6
+ usage: UsageMetrics | null;
7
+ models: ModelInfo[];
8
+ keys: VirtualKey[];
9
+ dateRange: DateRange;
10
+ loading: boolean;
11
+ }
12
+ export declare const InsightsTab: FC<InsightsTabProps>;
@@ -5,6 +5,8 @@ import { type Tone } from './tokens';
5
5
  export declare const SectionCard: FC<{
6
6
  title?: ReactNode;
7
7
  subtitle?: ReactNode;
8
+ /** One-line explainer under the title row. */
9
+ description?: ReactNode;
8
10
  actions?: ReactNode;
9
11
  /** Set when the body renders its own edge-to-edge content (e.g. a table). */
10
12
  flush?: boolean;