@cotofe/service-of-litellm
Version:
OpenAPI client for @cotofe/service-of-litellm
367 lines (366 loc) • 22.9 kB
JavaScript
"use strict";
/**
* Platform
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
*
* The version of the OpenAPI document: 1.0.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.LitellmOrganizationManagementApi = void 0;
const runtime = require("../runtime");
/**
*
*/
class LitellmOrganizationManagementApi extends runtime.BaseAPI {
/**
* Delete an organization # Parameters: - organization_ids: List[str] - The organization ids to delete.
* Delete Organization
*/
deleteOrganizationOrganizationDeleteDeleteRaw(requestParameters, initOverrides) {
return __awaiter(this, void 0, void 0, function* () {
const queryParameters = {};
const headerParameters = {};
headerParameters['Content-Type'] = 'application/json';
if (this.configuration && this.configuration.accessToken) {
const token = this.configuration.accessToken;
const tokenString = yield token('bearer', []);
if (tokenString) {
headerParameters.Authorization = `Bearer ${tokenString}`;
}
}
const response = yield this.request({
path: `/organization/delete`,
method: 'DELETE',
headers: headerParameters,
query: queryParameters,
body: requestParameters.deleteOrganizationRequest,
}, initOverrides);
return new runtime.JSONApiResponse(response);
});
}
/**
* Delete an organization # Parameters: - organization_ids: List[str] - The organization ids to delete.
* Delete Organization
*/
deleteOrganizationOrganizationDeleteDelete() {
return __awaiter(this, arguments, void 0, function* (requestParameters = {}, initOverrides) {
const response = yield this.deleteOrganizationOrganizationDeleteDeleteRaw(requestParameters, initOverrides);
return yield response.value();
});
}
/**
* DEPRECATED: Use GET /organization/info instead
* Deprecated Info Organization
*/
deprecatedInfoOrganizationOrganizationInfoPostRaw(requestParameters, initOverrides) {
return __awaiter(this, void 0, void 0, function* () {
const queryParameters = {};
const headerParameters = {};
headerParameters['Content-Type'] = 'application/json';
if (this.configuration && this.configuration.accessToken) {
const token = this.configuration.accessToken;
const tokenString = yield token('bearer', []);
if (tokenString) {
headerParameters.Authorization = `Bearer ${tokenString}`;
}
}
const response = yield this.request({
path: `/organization/info`,
method: 'POST',
headers: headerParameters,
query: queryParameters,
body: requestParameters.organizationRequest,
}, initOverrides);
if (this.isJsonMime(response.headers.get('content-type'))) {
return new runtime.JSONApiResponse(response);
}
else {
return new runtime.TextApiResponse(response);
}
});
}
/**
* DEPRECATED: Use GET /organization/info instead
* Deprecated Info Organization
*/
deprecatedInfoOrganizationOrganizationInfoPost() {
return __awaiter(this, arguments, void 0, function* (requestParameters = {}, initOverrides) {
const response = yield this.deprecatedInfoOrganizationOrganizationInfoPostRaw(requestParameters, initOverrides);
return yield response.value();
});
}
/**
* Get the org specific information
* Info Organization
*/
infoOrganizationOrganizationInfoGetRaw(requestParameters, initOverrides) {
return __awaiter(this, void 0, void 0, function* () {
if (requestParameters.organizationId == null) {
throw new runtime.RequiredError('organizationId', 'Required parameter "organizationId" was null or undefined when calling infoOrganizationOrganizationInfoGet().');
}
const queryParameters = {};
if (requestParameters.organizationId != null) {
queryParameters.organization_id = requestParameters.organizationId;
}
const headerParameters = {};
if (this.configuration && this.configuration.accessToken) {
const token = this.configuration.accessToken;
const tokenString = yield token('bearer', []);
if (tokenString) {
headerParameters.Authorization = `Bearer ${tokenString}`;
}
}
const response = yield this.request({
path: `/organization/info`,
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse(response);
});
}
/**
* Get the org specific information
* Info Organization
*/
infoOrganizationOrganizationInfoGet(requestParameters, initOverrides) {
return __awaiter(this, void 0, void 0, function* () {
const response = yield this.infoOrganizationOrganizationInfoGetRaw(requestParameters, initOverrides);
return yield response.value();
});
}
/**
* ``` curl --location --request GET \'http://0.0.0.0:4000/organization/list\' --header \'Authorization: Bearer sk-1234\' ```
* List Organization
*/
listOrganizationOrganizationListGetRaw(initOverrides) {
return __awaiter(this, void 0, void 0, function* () {
const queryParameters = {};
const headerParameters = {};
if (this.configuration && this.configuration.accessToken) {
const token = this.configuration.accessToken;
const tokenString = yield token('bearer', []);
if (tokenString) {
headerParameters.Authorization = `Bearer ${tokenString}`;
}
}
const response = yield this.request({
path: `/organization/list`,
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse(response);
});
}
/**
* ``` curl --location --request GET \'http://0.0.0.0:4000/organization/list\' --header \'Authorization: Bearer sk-1234\' ```
* List Organization
*/
listOrganizationOrganizationListGet(initOverrides) {
return __awaiter(this, void 0, void 0, function* () {
const response = yield this.listOrganizationOrganizationListGetRaw(initOverrides);
return yield response.value();
});
}
/**
* Allow orgs to own teams Set org level budgets + model access. Only admins can create orgs. # Parameters - organization_alias: *str* - The name of the organization. - models: *List* - The models the organization has access to. - budget_id: *Optional[str]* - The id for a budget (tpm/rpm/max budget) for the organization. ### IF NO BUDGET ID - CREATE ONE WITH THESE PARAMS ### - max_budget: *Optional[float]* - Max budget for org - tpm_limit: *Optional[int]* - Max tpm limit for org - rpm_limit: *Optional[int]* - Max rpm limit for org - max_parallel_requests: *Optional[int]* - [Not Implemented Yet] Max parallel requests for org - soft_budget: *Optional[float]* - [Not Implemented Yet] Get a slack alert when this soft budget is reached. Don\'t block requests. - model_max_budget: *Optional[dict]* - Max budget for a specific model - budget_duration: *Optional[str]* - Frequency of reseting org budget - metadata: *Optional[dict]* - Metadata for organization, store information for organization. Example metadata - {\"extra_info\": \"some info\"} - blocked: *bool* - Flag indicating if the org is blocked or not - will stop all calls from keys with this org_id. - tags: *Optional[List[str]]* - Tags for [tracking spend](https://litellm.vercel.app/docs/proxy/enterprise#tracking-spend-for-custom-tags) and/or doing [tag-based routing](https://litellm.vercel.app/docs/proxy/tag_routing). - organization_id: *Optional[str]* - The organization id of the team. Default is None. Create via `/organization/new`. - model_aliases: Optional[dict] - Model aliases for the team. [Docs](https://docs.litellm.ai/docs/proxy/team_based_routing#create-team-with-model-alias) Case 1: Create new org **without** a budget_id ```bash curl --location \'http://0.0.0.0:4000/organization/new\' --header \'Authorization: Bearer sk-1234\' --header \'Content-Type: application/json\' --data \'{ \"organization_alias\": \"my-secret-org\", \"models\": [\"model1\", \"model2\"], \"max_budget\": 100 }\' ``` Case 2: Create new org **with** a budget_id ```bash curl --location \'http://0.0.0.0:4000/organization/new\' --header \'Authorization: Bearer sk-1234\' --header \'Content-Type: application/json\' --data \'{ \"organization_alias\": \"my-secret-org\", \"models\": [\"model1\", \"model2\"], \"budget_id\": \"428eeaa8-f3ac-4e85-a8fb-7dc8d7aa8689\" }\' ```
* New Organization
*/
newOrganizationOrganizationNewPostRaw(requestParameters, initOverrides) {
return __awaiter(this, void 0, void 0, function* () {
const queryParameters = {};
const headerParameters = {};
headerParameters['Content-Type'] = 'application/json';
if (this.configuration && this.configuration.accessToken) {
const token = this.configuration.accessToken;
const tokenString = yield token('bearer', []);
if (tokenString) {
headerParameters.Authorization = `Bearer ${tokenString}`;
}
}
const response = yield this.request({
path: `/organization/new`,
method: 'POST',
headers: headerParameters,
query: queryParameters,
body: requestParameters.newOrganizationRequest,
}, initOverrides);
return new runtime.JSONApiResponse(response);
});
}
/**
* Allow orgs to own teams Set org level budgets + model access. Only admins can create orgs. # Parameters - organization_alias: *str* - The name of the organization. - models: *List* - The models the organization has access to. - budget_id: *Optional[str]* - The id for a budget (tpm/rpm/max budget) for the organization. ### IF NO BUDGET ID - CREATE ONE WITH THESE PARAMS ### - max_budget: *Optional[float]* - Max budget for org - tpm_limit: *Optional[int]* - Max tpm limit for org - rpm_limit: *Optional[int]* - Max rpm limit for org - max_parallel_requests: *Optional[int]* - [Not Implemented Yet] Max parallel requests for org - soft_budget: *Optional[float]* - [Not Implemented Yet] Get a slack alert when this soft budget is reached. Don\'t block requests. - model_max_budget: *Optional[dict]* - Max budget for a specific model - budget_duration: *Optional[str]* - Frequency of reseting org budget - metadata: *Optional[dict]* - Metadata for organization, store information for organization. Example metadata - {\"extra_info\": \"some info\"} - blocked: *bool* - Flag indicating if the org is blocked or not - will stop all calls from keys with this org_id. - tags: *Optional[List[str]]* - Tags for [tracking spend](https://litellm.vercel.app/docs/proxy/enterprise#tracking-spend-for-custom-tags) and/or doing [tag-based routing](https://litellm.vercel.app/docs/proxy/tag_routing). - organization_id: *Optional[str]* - The organization id of the team. Default is None. Create via `/organization/new`. - model_aliases: Optional[dict] - Model aliases for the team. [Docs](https://docs.litellm.ai/docs/proxy/team_based_routing#create-team-with-model-alias) Case 1: Create new org **without** a budget_id ```bash curl --location \'http://0.0.0.0:4000/organization/new\' --header \'Authorization: Bearer sk-1234\' --header \'Content-Type: application/json\' --data \'{ \"organization_alias\": \"my-secret-org\", \"models\": [\"model1\", \"model2\"], \"max_budget\": 100 }\' ``` Case 2: Create new org **with** a budget_id ```bash curl --location \'http://0.0.0.0:4000/organization/new\' --header \'Authorization: Bearer sk-1234\' --header \'Content-Type: application/json\' --data \'{ \"organization_alias\": \"my-secret-org\", \"models\": [\"model1\", \"model2\"], \"budget_id\": \"428eeaa8-f3ac-4e85-a8fb-7dc8d7aa8689\" }\' ```
* New Organization
*/
newOrganizationOrganizationNewPost() {
return __awaiter(this, arguments, void 0, function* (requestParameters = {}, initOverrides) {
const response = yield this.newOrganizationOrganizationNewPostRaw(requestParameters, initOverrides);
return yield response.value();
});
}
/**
* [BETA] Add new members (either via user_email or user_id) to an organization If user doesn\'t exist, new user row will also be added to User Table Only proxy_admin or org_admin of organization, allowed to access this endpoint. # Parameters: - organization_id: str (required) - member: Union[List[Member], Member] (required) - role: Literal[LitellmUserRoles] (required) - user_id: Optional[str] - user_email: Optional[str] Note: Either user_id or user_email must be provided for each member. Example: ``` curl -X POST \'http://0.0.0.0:4000/organization/member_add\' -H \'Authorization: Bearer sk-1234\' -H \'Content-Type: application/json\' -d \'{ \"organization_id\": \"45e3e396-ee08-4a61-a88e-16b3ce7e0849\", \"member\": { \"role\": \"internal_user\", \"user_id\": \"krrish247652@berri.ai\" }, \"max_budget_in_organization\": 100.0 }\' ``` The following is executed in this function: 1. Check if organization exists 2. Creates a new Internal User if the user_id or user_email is not found in LiteLLM_UserTable 3. Add Internal User to the `LiteLLM_OrganizationMembership` table
* Organization Member Add
*/
organizationMemberAddOrganizationMemberAddPostRaw(requestParameters, initOverrides) {
return __awaiter(this, void 0, void 0, function* () {
const queryParameters = {};
const headerParameters = {};
headerParameters['Content-Type'] = 'application/json';
if (this.configuration && this.configuration.accessToken) {
const token = this.configuration.accessToken;
const tokenString = yield token('bearer', []);
if (tokenString) {
headerParameters.Authorization = `Bearer ${tokenString}`;
}
}
const response = yield this.request({
path: `/organization/member_add`,
method: 'POST',
headers: headerParameters,
query: queryParameters,
body: requestParameters.organizationMemberAddRequest,
}, initOverrides);
return new runtime.JSONApiResponse(response);
});
}
/**
* [BETA] Add new members (either via user_email or user_id) to an organization If user doesn\'t exist, new user row will also be added to User Table Only proxy_admin or org_admin of organization, allowed to access this endpoint. # Parameters: - organization_id: str (required) - member: Union[List[Member], Member] (required) - role: Literal[LitellmUserRoles] (required) - user_id: Optional[str] - user_email: Optional[str] Note: Either user_id or user_email must be provided for each member. Example: ``` curl -X POST \'http://0.0.0.0:4000/organization/member_add\' -H \'Authorization: Bearer sk-1234\' -H \'Content-Type: application/json\' -d \'{ \"organization_id\": \"45e3e396-ee08-4a61-a88e-16b3ce7e0849\", \"member\": { \"role\": \"internal_user\", \"user_id\": \"krrish247652@berri.ai\" }, \"max_budget_in_organization\": 100.0 }\' ``` The following is executed in this function: 1. Check if organization exists 2. Creates a new Internal User if the user_id or user_email is not found in LiteLLM_UserTable 3. Add Internal User to the `LiteLLM_OrganizationMembership` table
* Organization Member Add
*/
organizationMemberAddOrganizationMemberAddPost() {
return __awaiter(this, arguments, void 0, function* (requestParameters = {}, initOverrides) {
const response = yield this.organizationMemberAddOrganizationMemberAddPostRaw(requestParameters, initOverrides);
return yield response.value();
});
}
/**
* Delete a member from an organization
* Organization Member Delete
*/
organizationMemberDeleteOrganizationMemberDeleteDeleteRaw(requestParameters, initOverrides) {
return __awaiter(this, void 0, void 0, function* () {
const queryParameters = {};
const headerParameters = {};
headerParameters['Content-Type'] = 'application/json';
if (this.configuration && this.configuration.accessToken) {
const token = this.configuration.accessToken;
const tokenString = yield token('bearer', []);
if (tokenString) {
headerParameters.Authorization = `Bearer ${tokenString}`;
}
}
const response = yield this.request({
path: `/organization/member_delete`,
method: 'DELETE',
headers: headerParameters,
query: queryParameters,
body: requestParameters.organizationMemberDeleteRequest,
}, initOverrides);
if (this.isJsonMime(response.headers.get('content-type'))) {
return new runtime.JSONApiResponse(response);
}
else {
return new runtime.TextApiResponse(response);
}
});
}
/**
* Delete a member from an organization
* Organization Member Delete
*/
organizationMemberDeleteOrganizationMemberDeleteDelete() {
return __awaiter(this, arguments, void 0, function* (requestParameters = {}, initOverrides) {
const response = yield this.organizationMemberDeleteOrganizationMemberDeleteDeleteRaw(requestParameters, initOverrides);
return yield response.value();
});
}
/**
* Update a member\'s role in an organization
* Organization Member Update
*/
organizationMemberUpdateOrganizationMemberUpdatePatchRaw(requestParameters, initOverrides) {
return __awaiter(this, void 0, void 0, function* () {
const queryParameters = {};
const headerParameters = {};
headerParameters['Content-Type'] = 'application/json';
if (this.configuration && this.configuration.accessToken) {
const token = this.configuration.accessToken;
const tokenString = yield token('bearer', []);
if (tokenString) {
headerParameters.Authorization = `Bearer ${tokenString}`;
}
}
const response = yield this.request({
path: `/organization/member_update`,
method: 'PATCH',
headers: headerParameters,
query: queryParameters,
body: requestParameters.organizationMemberUpdateRequest,
}, initOverrides);
return new runtime.JSONApiResponse(response);
});
}
/**
* Update a member\'s role in an organization
* Organization Member Update
*/
organizationMemberUpdateOrganizationMemberUpdatePatch() {
return __awaiter(this, arguments, void 0, function* (requestParameters = {}, initOverrides) {
const response = yield this.organizationMemberUpdateOrganizationMemberUpdatePatchRaw(requestParameters, initOverrides);
return yield response.value();
});
}
/**
* Update an organization
* Update Organization
*/
updateOrganizationOrganizationUpdatePatchRaw(requestParameters, initOverrides) {
return __awaiter(this, void 0, void 0, function* () {
const queryParameters = {};
const headerParameters = {};
headerParameters['Content-Type'] = 'application/json';
if (this.configuration && this.configuration.accessToken) {
const token = this.configuration.accessToken;
const tokenString = yield token('bearer', []);
if (tokenString) {
headerParameters.Authorization = `Bearer ${tokenString}`;
}
}
const response = yield this.request({
path: `/organization/update`,
method: 'PATCH',
headers: headerParameters,
query: queryParameters,
body: requestParameters.liteLlmOrganizationTableUpdate,
}, initOverrides);
return new runtime.JSONApiResponse(response);
});
}
/**
* Update an organization
* Update Organization
*/
updateOrganizationOrganizationUpdatePatch() {
return __awaiter(this, arguments, void 0, function* (requestParameters = {}, initOverrides) {
const response = yield this.updateOrganizationOrganizationUpdatePatchRaw(requestParameters, initOverrides);
return yield response.value();
});
}
}
exports.LitellmOrganizationManagementApi = LitellmOrganizationManagementApi;