@acarmisc/backstage-plugin-litellm-backend 0.9.0 → 0.11.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/config.d.ts +100 -0
- package/dist/client.d.ts +61 -1
- package/dist/client.js +138 -1
- package/dist/index.cjs.js +928 -11
- package/dist/index.cjs.js.map +4 -4
- package/dist/index.d.ts +3 -1
- package/dist/index.js +13 -1
- package/dist/permissions.d.ts +6 -0
- package/dist/permissions.js +32 -1
- package/dist/router.d.ts +3 -0
- package/dist/router.js +594 -1
- package/dist/teamAdmin.d.ts +157 -0
- package/dist/teamAdmin.js +241 -0
- package/dist/types.cjs.js.map +1 -1
- package/dist/types.d.ts +36 -0
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -5,6 +5,8 @@ export * from './types';
|
|
|
5
5
|
export { LiteLLMClient } from './client';
|
|
6
6
|
export { resolveUserId, resolveUserProfile, toLiteLLMUserId, getOrProvisionUser, provisionUser, readProvisioningDefaults, readRoleConfigs, applyRoleOverrides, resolveUserRole, ProvisioningError, } from './provisioning';
|
|
7
7
|
export type { BackstageUserProfile } from './provisioning';
|
|
8
|
+
export { readTeamAdminConfig, isTeamManagementEnabled, assertTeamAdmin, validateTeamWriteInput, validateTeamPatchInput, } from './teamAdmin';
|
|
9
|
+
export type { TeamAdminConfig, TeamAdminCheck, TeamWriteInput, TeamWriteValidation, TeamPatchValidation } from './teamAdmin';
|
|
8
10
|
export { KeycloakJWTVerifier, newDefaultVerifier, readBridgeConfig, resolveBridgeUserId, getOrProvisionUserFromClaims, bridgeListKeys, bridgeGenerateKey, } from './bridge';
|
|
9
11
|
export type { BridgeClaims, TokenVerifier, BridgeConfig, KeycloakJWTVerifierOptions, } from './bridge';
|
|
10
|
-
export { litellmPermissions, litellmKeyCreatePermission, litellmKeyRevokePermission, litellmKeyManagePermission, litellmAuditReadPermission, } from './permissions';
|
|
12
|
+
export { litellmPermissions, litellmKeyCreatePermission, litellmKeyRevokePermission, litellmKeyManagePermission, litellmAuditReadPermission, litellmTeamCreatePermission, litellmTeamManagePermission, litellmTeamMembersManagePermission, litellmTeamKnowledgebaseManagePermission, litellmTeamMcpManagePermission, litellmTeamDeletePermission, } from './permissions';
|
package/dist/index.js
CHANGED
|
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.litellmAuditReadPermission = exports.litellmKeyManagePermission = exports.litellmKeyRevokePermission = exports.litellmKeyCreatePermission = exports.litellmPermissions = exports.bridgeGenerateKey = exports.bridgeListKeys = exports.getOrProvisionUserFromClaims = exports.resolveBridgeUserId = exports.readBridgeConfig = exports.newDefaultVerifier = exports.KeycloakJWTVerifier = exports.ProvisioningError = exports.resolveUserRole = exports.applyRoleOverrides = exports.readRoleConfigs = exports.readProvisioningDefaults = exports.provisionUser = exports.getOrProvisionUser = exports.toLiteLLMUserId = exports.resolveUserProfile = exports.resolveUserId = exports.LiteLLMClient = exports.createRouter = exports.default = exports.litellmPlugin = void 0;
|
|
17
|
+
exports.litellmTeamDeletePermission = exports.litellmTeamMcpManagePermission = exports.litellmTeamKnowledgebaseManagePermission = exports.litellmTeamMembersManagePermission = exports.litellmTeamManagePermission = exports.litellmTeamCreatePermission = exports.litellmAuditReadPermission = exports.litellmKeyManagePermission = exports.litellmKeyRevokePermission = exports.litellmKeyCreatePermission = exports.litellmPermissions = exports.bridgeGenerateKey = exports.bridgeListKeys = exports.getOrProvisionUserFromClaims = exports.resolveBridgeUserId = exports.readBridgeConfig = exports.newDefaultVerifier = exports.KeycloakJWTVerifier = exports.validateTeamPatchInput = exports.validateTeamWriteInput = exports.assertTeamAdmin = exports.isTeamManagementEnabled = exports.readTeamAdminConfig = exports.ProvisioningError = exports.resolveUserRole = exports.applyRoleOverrides = exports.readRoleConfigs = exports.readProvisioningDefaults = exports.provisionUser = exports.getOrProvisionUser = exports.toLiteLLMUserId = exports.resolveUserProfile = exports.resolveUserId = exports.LiteLLMClient = exports.createRouter = exports.default = exports.litellmPlugin = void 0;
|
|
18
18
|
var plugin_1 = require("./plugin");
|
|
19
19
|
Object.defineProperty(exports, "litellmPlugin", { enumerable: true, get: function () { return plugin_1.litellmPlugin; } });
|
|
20
20
|
var plugin_2 = require("./plugin");
|
|
@@ -35,6 +35,12 @@ Object.defineProperty(exports, "readRoleConfigs", { enumerable: true, get: funct
|
|
|
35
35
|
Object.defineProperty(exports, "applyRoleOverrides", { enumerable: true, get: function () { return provisioning_1.applyRoleOverrides; } });
|
|
36
36
|
Object.defineProperty(exports, "resolveUserRole", { enumerable: true, get: function () { return provisioning_1.resolveUserRole; } });
|
|
37
37
|
Object.defineProperty(exports, "ProvisioningError", { enumerable: true, get: function () { return provisioning_1.ProvisioningError; } });
|
|
38
|
+
var teamAdmin_1 = require("./teamAdmin");
|
|
39
|
+
Object.defineProperty(exports, "readTeamAdminConfig", { enumerable: true, get: function () { return teamAdmin_1.readTeamAdminConfig; } });
|
|
40
|
+
Object.defineProperty(exports, "isTeamManagementEnabled", { enumerable: true, get: function () { return teamAdmin_1.isTeamManagementEnabled; } });
|
|
41
|
+
Object.defineProperty(exports, "assertTeamAdmin", { enumerable: true, get: function () { return teamAdmin_1.assertTeamAdmin; } });
|
|
42
|
+
Object.defineProperty(exports, "validateTeamWriteInput", { enumerable: true, get: function () { return teamAdmin_1.validateTeamWriteInput; } });
|
|
43
|
+
Object.defineProperty(exports, "validateTeamPatchInput", { enumerable: true, get: function () { return teamAdmin_1.validateTeamPatchInput; } });
|
|
38
44
|
var bridge_1 = require("./bridge");
|
|
39
45
|
Object.defineProperty(exports, "KeycloakJWTVerifier", { enumerable: true, get: function () { return bridge_1.KeycloakJWTVerifier; } });
|
|
40
46
|
Object.defineProperty(exports, "newDefaultVerifier", { enumerable: true, get: function () { return bridge_1.newDefaultVerifier; } });
|
|
@@ -49,3 +55,9 @@ Object.defineProperty(exports, "litellmKeyCreatePermission", { enumerable: true,
|
|
|
49
55
|
Object.defineProperty(exports, "litellmKeyRevokePermission", { enumerable: true, get: function () { return permissions_1.litellmKeyRevokePermission; } });
|
|
50
56
|
Object.defineProperty(exports, "litellmKeyManagePermission", { enumerable: true, get: function () { return permissions_1.litellmKeyManagePermission; } });
|
|
51
57
|
Object.defineProperty(exports, "litellmAuditReadPermission", { enumerable: true, get: function () { return permissions_1.litellmAuditReadPermission; } });
|
|
58
|
+
Object.defineProperty(exports, "litellmTeamCreatePermission", { enumerable: true, get: function () { return permissions_1.litellmTeamCreatePermission; } });
|
|
59
|
+
Object.defineProperty(exports, "litellmTeamManagePermission", { enumerable: true, get: function () { return permissions_1.litellmTeamManagePermission; } });
|
|
60
|
+
Object.defineProperty(exports, "litellmTeamMembersManagePermission", { enumerable: true, get: function () { return permissions_1.litellmTeamMembersManagePermission; } });
|
|
61
|
+
Object.defineProperty(exports, "litellmTeamKnowledgebaseManagePermission", { enumerable: true, get: function () { return permissions_1.litellmTeamKnowledgebaseManagePermission; } });
|
|
62
|
+
Object.defineProperty(exports, "litellmTeamMcpManagePermission", { enumerable: true, get: function () { return permissions_1.litellmTeamMcpManagePermission; } });
|
|
63
|
+
Object.defineProperty(exports, "litellmTeamDeletePermission", { enumerable: true, get: function () { return permissions_1.litellmTeamDeletePermission; } });
|
package/dist/permissions.d.ts
CHANGED
|
@@ -2,4 +2,10 @@ export declare const litellmKeyCreatePermission: import("@backstage/plugin-permi
|
|
|
2
2
|
export declare const litellmKeyRevokePermission: import("@backstage/plugin-permission-common").BasicPermission;
|
|
3
3
|
export declare const litellmKeyManagePermission: import("@backstage/plugin-permission-common").BasicPermission;
|
|
4
4
|
export declare const litellmAuditReadPermission: import("@backstage/plugin-permission-common").BasicPermission;
|
|
5
|
+
export declare const litellmTeamCreatePermission: import("@backstage/plugin-permission-common").BasicPermission;
|
|
6
|
+
export declare const litellmTeamManagePermission: import("@backstage/plugin-permission-common").BasicPermission;
|
|
7
|
+
export declare const litellmTeamMembersManagePermission: import("@backstage/plugin-permission-common").BasicPermission;
|
|
8
|
+
export declare const litellmTeamKnowledgebaseManagePermission: import("@backstage/plugin-permission-common").BasicPermission;
|
|
9
|
+
export declare const litellmTeamMcpManagePermission: import("@backstage/plugin-permission-common").BasicPermission;
|
|
10
|
+
export declare const litellmTeamDeletePermission: import("@backstage/plugin-permission-common").BasicPermission;
|
|
5
11
|
export declare const litellmPermissions: import("@backstage/plugin-permission-common").BasicPermission[];
|
package/dist/permissions.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.litellmPermissions = exports.litellmAuditReadPermission = exports.litellmKeyManagePermission = exports.litellmKeyRevokePermission = exports.litellmKeyCreatePermission = void 0;
|
|
3
|
+
exports.litellmPermissions = exports.litellmTeamDeletePermission = exports.litellmTeamMcpManagePermission = exports.litellmTeamKnowledgebaseManagePermission = exports.litellmTeamMembersManagePermission = exports.litellmTeamManagePermission = exports.litellmTeamCreatePermission = exports.litellmAuditReadPermission = exports.litellmKeyManagePermission = exports.litellmKeyRevokePermission = exports.litellmKeyCreatePermission = void 0;
|
|
4
4
|
const plugin_permission_common_1 = require("@backstage/plugin-permission-common");
|
|
5
5
|
exports.litellmKeyCreatePermission = (0, plugin_permission_common_1.createPermission)({
|
|
6
6
|
name: 'litellm.key.create',
|
|
@@ -18,9 +18,40 @@ exports.litellmAuditReadPermission = (0, plugin_permission_common_1.createPermis
|
|
|
18
18
|
name: 'litellm.audit.read',
|
|
19
19
|
attributes: { action: 'read' },
|
|
20
20
|
});
|
|
21
|
+
// Team-management permissions — delegated to litellm-team-admins group
|
|
22
|
+
exports.litellmTeamCreatePermission = (0, plugin_permission_common_1.createPermission)({
|
|
23
|
+
name: 'litellm.team.create',
|
|
24
|
+
attributes: { action: 'create' },
|
|
25
|
+
});
|
|
26
|
+
exports.litellmTeamManagePermission = (0, plugin_permission_common_1.createPermission)({
|
|
27
|
+
name: 'litellm.team.manage',
|
|
28
|
+
attributes: { action: 'update' },
|
|
29
|
+
});
|
|
30
|
+
exports.litellmTeamMembersManagePermission = (0, plugin_permission_common_1.createPermission)({
|
|
31
|
+
name: 'litellm.team.members.manage',
|
|
32
|
+
attributes: { action: 'update' },
|
|
33
|
+
});
|
|
34
|
+
exports.litellmTeamKnowledgebaseManagePermission = (0, plugin_permission_common_1.createPermission)({
|
|
35
|
+
name: 'litellm.team.knowledgebase.manage',
|
|
36
|
+
attributes: { action: 'update' },
|
|
37
|
+
});
|
|
38
|
+
exports.litellmTeamMcpManagePermission = (0, plugin_permission_common_1.createPermission)({
|
|
39
|
+
name: 'litellm.team.mcp.manage',
|
|
40
|
+
attributes: { action: 'update' },
|
|
41
|
+
});
|
|
42
|
+
exports.litellmTeamDeletePermission = (0, plugin_permission_common_1.createPermission)({
|
|
43
|
+
name: 'litellm.team.delete',
|
|
44
|
+
attributes: { action: 'delete' },
|
|
45
|
+
});
|
|
21
46
|
exports.litellmPermissions = [
|
|
22
47
|
exports.litellmKeyCreatePermission,
|
|
23
48
|
exports.litellmKeyRevokePermission,
|
|
24
49
|
exports.litellmKeyManagePermission,
|
|
25
50
|
exports.litellmAuditReadPermission,
|
|
51
|
+
exports.litellmTeamCreatePermission,
|
|
52
|
+
exports.litellmTeamManagePermission,
|
|
53
|
+
exports.litellmTeamMembersManagePermission,
|
|
54
|
+
exports.litellmTeamKnowledgebaseManagePermission,
|
|
55
|
+
exports.litellmTeamMcpManagePermission,
|
|
56
|
+
exports.litellmTeamDeletePermission,
|
|
26
57
|
];
|
package/dist/router.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Router } from 'express';
|
|
2
2
|
import { Config } from '@backstage/config';
|
|
3
3
|
import { AuthService, DiscoveryService, PermissionsService } from '@backstage/backend-plugin-api';
|
|
4
|
+
import { CatalogClient } from '@backstage/catalog-client';
|
|
4
5
|
import { LiteLLMClient } from './client';
|
|
5
6
|
import { ProvisioningError } from './provisioning';
|
|
6
7
|
import { TokenVerifier } from './bridge';
|
|
@@ -13,6 +14,8 @@ export interface RouterOptions {
|
|
|
13
14
|
permissions: PermissionsService;
|
|
14
15
|
/** Override the LiteLLM client (tests). Defaults to one built from config. */
|
|
15
16
|
client?: LiteLLMClient;
|
|
17
|
+
/** Override the catalog client (tests). Defaults to one built from discovery. */
|
|
18
|
+
catalogClient?: CatalogClient;
|
|
16
19
|
/** Override the bridge token verifier (tests). Defaults to a Keycloak JWKS verifier. */
|
|
17
20
|
tokenVerifier?: TokenVerifier;
|
|
18
21
|
}
|