UNPKG

@cotofe/service-of-litellm

Version:

OpenAPI client for @cotofe/service-of-litellm

367 lines (366 loc) 22.9 kB
"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;