@camunda/ccma-api 0.0.5 → 0.0.6
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/services/console/console.admin.service.d.ts +1 -0
- package/dist/services/console/console.admin.service.js +2 -1
- package/dist/services/console/console.admin.service.js.map +2 -2
- package/dist/services/console/console.clusterplan.modification.service.d.ts +3 -1
- package/dist/services/console/console.clusterplan.modification.service.js +1 -0
- package/dist/services/console/console.clusterplan.modification.service.js.map +2 -2
- package/dist/services/litellm/litellm.service.d.ts +5 -1
- package/dist/services/litellm/litellm.service.js +6 -0
- package/dist/services/litellm/litellm.service.js.map +2 -2
- package/package.json +2 -2
|
@@ -325,6 +325,7 @@ export declare class ConsoleAdminService {
|
|
|
325
325
|
static deactivateModificationConfig(params: RequestBaseParams & {
|
|
326
326
|
uuid: string;
|
|
327
327
|
configId: string;
|
|
328
|
+
skipK8sUpdate?: boolean;
|
|
328
329
|
}): Promise<ClusterModificationConfigDto | undefined>;
|
|
329
330
|
static updateModificationConfigExpiration(params: RequestBaseParams & {
|
|
330
331
|
uuid: string;
|
|
@@ -1184,7 +1184,7 @@ class ConsoleAdminService {
|
|
|
1184
1184
|
return response.body;
|
|
1185
1185
|
}
|
|
1186
1186
|
static async deactivateModificationConfig(params) {
|
|
1187
|
-
const { uuid, configId } = params;
|
|
1187
|
+
const { uuid, configId, skipK8sUpdate } = params;
|
|
1188
1188
|
const serviceContext = {
|
|
1189
1189
|
method: {
|
|
1190
1190
|
name: `ConsoleAdminService.deactivateModificationConfig`,
|
|
@@ -1203,6 +1203,7 @@ class ConsoleAdminService {
|
|
|
1203
1203
|
responseType: "json",
|
|
1204
1204
|
url: serviceContext.method.url,
|
|
1205
1205
|
method: serviceContext.method.type,
|
|
1206
|
+
body: { skipK8sUpdate },
|
|
1206
1207
|
metricsDetails: serviceContext
|
|
1207
1208
|
});
|
|
1208
1209
|
if (!response.ok) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/services/console/console.admin.service.ts"],
|
|
4
|
-
"sourcesContent": ["/*\n * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH\n * under one or more contributor license agreements. Licensed under a commercial license.\n * You may not use this file except in compliance with the commercial license.\n */\n\nimport type {\n ClusterBulkOperationAck,\n ClusterBulkOperationDto,\n ClusterBulkOperationPostContent,\n ClusterModificationConfigDto,\n ClusterModificationDto,\n ClusterPlanTypeDto,\n ClusterUsageMetricsData,\n CommonClusterDto,\n UniqueTaskUser,\n ValueMetrics,\n} from '@camunda/ccma-shared-types'\nimport type {\n RequestBaseParams,\n RequestBaseServiceContext,\n} from '../../types/general.types.js'\nimport { request } from '../../utils/api.js'\nimport { HttpError } from '../../utils/errors.js'\nimport type { OpenIncident } from '../incident-io/incident-io.service.js'\n\nexport interface UpdateClusterToNewPlanTypeRequest extends RequestBaseParams {\n params: {\n orgId: string\n clusterId: string\n targetPlanTypeId: string\n attemptClusterPlanUpdate?: boolean\n numberOfAllocatedHwPackages?: number\n keepModification?: boolean\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport interface SignalSignupRequest extends RequestBaseParams {\n params: {\n orgId: string\n targetPlanTypeId: string\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport interface UpdateClusterRequest extends RequestBaseParams {\n params: {\n orgId: string\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport interface GetClustersOfOrgRequest extends RequestBaseParams {\n params: {\n orgId: string\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport interface CreateLiteLLMSecretsForOrgRequest extends RequestBaseParams {\n params: {\n orgId: string\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport type SpecExplainerFieldSource =\n | 'plan'\n | 'generation'\n | 'planType'\n | 'override'\n | 'modification'\n | 'infra'\n | 'computed'\n | 'featureFlag'\n | 'org'\n | 'cluster'\n\nexport interface SpecExplainerFieldAnnotation {\n source: SpecExplainerFieldSource\n sourcePath?: string\n sourceValue?: unknown\n finalValue: unknown\n transforms?: string[]\n overrides?: Array<{\n by: SpecExplainerFieldSource\n originalValue: unknown\n }>\n fallbackChain?: Array<{\n source: SpecExplainerFieldSource\n value: unknown\n used: boolean\n }>\n}\n\nexport interface SpecExplainerResponse {\n spec: Record<string, unknown>\n annotations: Record<string, SpecExplainerFieldAnnotation>\n sources: {\n plan: Record<string, unknown>\n generation: Record<string, unknown>\n planType: Record<string, unknown>\n overrideEnvVars?: Record<string, unknown>\n activeModification?: {\n planModifications: Array<{ key: string; value: unknown }>\n }\n featureFlags: Record<string, boolean>\n }\n}\n\nexport interface GetSpecExplainerRequest extends RequestBaseParams {\n params: {\n clusterId: string\n }\n}\n\nexport interface GetAllClustersRequest extends RequestBaseParams {\n params: {\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport interface GetClusterRequest extends RequestBaseParams {\n params: {\n clusterId: string\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport interface GetCreatedClusterInstancesRequest extends RequestBaseParams {\n params: {\n range: string\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport interface GetClusterPlanTypeRequest extends RequestBaseParams {\n params: {\n clusterPlanTypeId: string\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport interface GetAllClusterPlanTypesRequest extends RequestBaseParams {\n params: {\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport interface GetValueMetricsUsageDataRequest extends RequestBaseParams {\n params: {\n orgId: string\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport interface GetValueMetricsRequest extends RequestBaseParams {\n params: {\n orgId: string\n lastAvailableTimestamp: number\n timeframe: string\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport interface GetValueMetricsForAllRequest extends RequestBaseParams {\n params: {\n lastAvailableTimestamp: number\n timeframe: string\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport interface GetTaskUsersRequest extends RequestBaseParams {\n params: {\n orgId: string\n lastAvailableTimestamp: number\n timeframe: string\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport interface GetTaskUsersForAllRequest extends RequestBaseParams {\n params: {\n lastAvailableTimestamp: number\n timeframe: string\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport interface DeleteClustersOfOrgRequest extends RequestBaseParams {\n params: {\n orgId: string\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport interface GetUpgradableClusterPlanTypesRequest\n extends RequestBaseParams {\n params: {\n sourceClusterPlanTypeId: string\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport interface UpdateClustersOfOrgToNewPlanTypeRequest\n extends RequestBaseParams {\n params: {\n orgId: string\n sourceClusterPlanTypeId: string\n targetClusterPlanTypeId: string\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport interface UpdateClusterMetricsStartDateRequest\n extends RequestBaseParams {\n params: {\n orgId: string\n startDate: number\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport class ConsoleAdminService {\n public static async updateClusterToNewPlanType(\n params: UpdateClusterToNewPlanTypeRequest,\n ): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.updateClusterToNewPlanType`,\n url: `api/admin/clusters/${params.params.clusterId}/org/${params.params.orgId}/clusterplantype`,\n normalizedUrl: `api/admin/clusters/:clusterId/org/:orgId/clusterplantype`,\n type: 'patch',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request({\n config: params.config,\n base: {\n id: 'console',\n },\n body: {\n toPlanTypeUuid: params.params.targetPlanTypeId,\n numberOfAllocatedHwPackages: params.params.numberOfAllocatedHwPackages,\n attemptClusterPlanUpdate: params.params.attemptClusterPlanUpdate,\n keepModification: params.params.keepModification,\n },\n headers: params.params.headers,\n responseType: 'none',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n }\n\n public static async updateClusterMetricsStartDate(\n params: UpdateClusterMetricsStartDateRequest,\n ) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.updateClusterMetricsStartDate`,\n url: `api/admin/metrics/clusters/org/${params.params.orgId}/start-date`,\n normalizedUrl: `api/admin/metrics/clusters/org/:orgId/start-date`,\n type: 'patch',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<{ success: boolean }>({\n config: params.config,\n base: {\n id: 'console',\n },\n body: {\n startDate: params.params.startDate,\n },\n headers: params.params.headers,\n responseType: 'none',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n }\n\n public static async signalSignup(params: SignalSignupRequest): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.signalSignup`,\n url: `api/admin/clusters/org/${params.params.orgId}/signup`,\n normalizedUrl: `api/admin/clusters/org/:orgId/signup`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request({\n config: params.config,\n base: {\n id: 'console',\n },\n body: {\n planTypeUuid: params.params.targetPlanTypeId,\n },\n headers: params.params.headers,\n responseType: 'none',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n }\n\n public static async unlinkClusterFromModification(\n params: {\n uuid: string\n } & RequestBaseParams,\n ): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.unlinkClusterFromModification`,\n url: `api/admin/clusters/modifications/clusterUnlink/${params.uuid}`,\n normalizedUrl: `api/admin/clusters/modifications/clusterUnlink/:clusterId`,\n type: 'put',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<void>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'none',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n }\n\n public static async repairClustersActiveModification(\n params: {\n uuid: string\n } & RequestBaseParams,\n ): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.repairClustersActiveModification`,\n\n url: `api/admin/clusters/modifications/clusterRepair/${params.uuid}`,\n normalizedUrl: `api/clusters/modifications/clusterRepair/:clusterId`,\n type: 'put',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<void>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'none',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n }\n\n public static async updateClusters(\n params: UpdateClusterRequest,\n ): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.updateClusters`,\n url: `api/admin/clusters/org/${params.params.orgId}`,\n normalizedUrl: `api/admin/clusters/org/:orgId`,\n type: 'patch',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request({\n config: params.config,\n base: {\n id: 'console',\n },\n body: {},\n headers: params.params.headers,\n responseType: 'none',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n }\n\n public static async getClustersOfOrg(\n params: GetClustersOfOrgRequest,\n ): Promise<any[]> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getClustersOfOrg`,\n url: `api/orgs/${params.params.orgId}/clusters`,\n normalizedUrl: `api/orgs/:orgId/clusters`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<any[]>({\n ...params,\n base: {\n id: 'console',\n },\n headers: params.params.headers,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body!\n }\n\n public static async getAllClusters(\n params: GetAllClustersRequest,\n ): Promise<any[]> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getAllClusters`,\n url: `api/admin/clusters`,\n normalizedUrl: `api/admin/clusters`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<any[]>({\n ...params,\n base: {\n id: 'console',\n },\n headers: params.params.headers,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body!\n }\n\n public static async getCluster(params: GetClusterRequest): Promise<any> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getCluster`,\n url: `api/admin/clusters/${params.params.clusterId}`,\n normalizedUrl: `api/admin/clusters/:clusterId`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<any>({\n ...params,\n base: {\n id: 'console',\n },\n headers: params.params.headers,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n\n public static async getCreatedClusterInstances(\n params: GetCreatedClusterInstancesRequest,\n ): Promise<{ clusters: Array<{ uuid: string; count: number }> }> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getCreatedClusterInstances`,\n url: `api/admin/clusters/instances/created?range=${params.params.range}`,\n normalizedUrl: `api/admin/clusters/instances/created?range=:range`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<{\n clusters: Array<{ uuid: string; count: number }>\n }>({\n ...params,\n base: {\n id: 'console',\n },\n headers: params.params.headers,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body!\n }\n\n public static async getClusterPlanType(\n params: GetClusterPlanTypeRequest,\n ): Promise<ClusterPlanTypeDto> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getClusterPlanType`,\n url: `api/plans/type/${params.params.clusterPlanTypeId}`,\n normalizedUrl: `api/plans/type/:clusterPlanTypeId`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<ClusterPlanTypeDto>({\n ...params,\n base: {\n id: 'console',\n },\n headers: params.params.headers,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body!\n }\n\n public static async getAllClusterPlanTypes(\n params: GetAllClusterPlanTypesRequest,\n ): Promise<ClusterPlanTypeDto[]> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getAllClusterPlanTypes`,\n url: `api/plans/type`,\n normalizedUrl: `api/plans/type`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<ClusterPlanTypeDto[]>({\n ...params,\n base: {\n id: 'console',\n },\n headers: params.params.headers,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body!\n }\n\n public static async getValueMetricsUsageData(\n params: GetValueMetricsUsageDataRequest,\n ): Promise<ClusterUsageMetricsData[]> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getValueMetricsUsageData`,\n url: `api/orgs/${params.params.orgId}/clusters/usage/value-metrics`,\n normalizedUrl: `api/orgs/:orgId/clusters/usage/value-metrics`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<ClusterUsageMetricsData[]>({\n ...params,\n base: {\n id: 'console',\n },\n headers: params.params.headers,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body!\n }\n\n public static async getValueMetrics(\n params: GetValueMetricsRequest,\n ): Promise<ValueMetrics | undefined> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getValueMetrics`,\n url: `api/admin/clusters/org/${params.params.orgId}/valuemetrics/${params.params.lastAvailableTimestamp}/${params.params.timeframe}`,\n normalizedUrl: `api/admin/clusters/org/:orgId/valuemetrics/:lastAvailableTimestamp/:timeframe`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<{ valueMetrics: ValueMetrics }>({\n ...params,\n base: {\n id: 'console',\n },\n headers: params.params.headers,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body?.valueMetrics\n }\n\n public static async getValueMetricsForAll(\n params: GetValueMetricsForAllRequest,\n ): Promise<ValueMetrics[]> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getValueMetricsForAll`,\n url: `api/admin/clusters/valuemetrics/${params.params.lastAvailableTimestamp}/${params.params.timeframe}`,\n normalizedUrl: `api/admin/clusters/valuemetrics/:lastAvailableTimestamp/:timeframe`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<{ valueMetrics: ValueMetrics[] }>({\n ...params,\n base: {\n id: 'console',\n },\n headers: params.params.headers,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body?.valueMetrics ?? []\n }\n\n public static async getTaskUsers(\n params: GetTaskUsersRequest,\n ): Promise<UniqueTaskUser[]> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getTaskUsers`,\n url: `api/admin/clusters/org/${params.params.orgId}/valuemetrics/taskusers/${params.params.lastAvailableTimestamp}/${params.params.timeframe}`,\n normalizedUrl: `api/admin/clusters/org/:orgId/valuemetrics/taskusers/:lastAvailableTimestamp/:timeframe`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<{ taskUsers: UniqueTaskUser[] }>({\n ...params,\n base: {\n id: 'console',\n },\n headers: params.params.headers,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body?.taskUsers ?? []\n }\n\n public static async getTaskUsersForAll(\n params: GetTaskUsersForAllRequest,\n ): Promise<UniqueTaskUser[]> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getTaskUsersForAll`,\n url: `api/admin/clusters/valuemetrics/taskusers/${params.params.lastAvailableTimestamp}/${params.params.timeframe}`,\n normalizedUrl: `api/admin/clusters/valuemetrics/taskusers/:lastAvailableTimestamp/:timeframe`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<{ taskUsers: UniqueTaskUser[] }>({\n ...params,\n base: {\n id: 'console',\n },\n headers: params.params.headers,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body?.taskUsers ?? []\n }\n\n public static async deleteClustersOfOrg(\n params: DeleteClustersOfOrgRequest,\n ): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.deleteClustersOfOrg`,\n url: `api/admin/clusters/org/${params.params.orgId}`,\n normalizedUrl: `api/admin/clusters/org/:orgId`,\n type: 'delete',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<void>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'none',\n headers: params.params.headers,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n }\n\n public static async getUpgradableClusterPlanTypes(\n params: GetUpgradableClusterPlanTypesRequest,\n ): Promise<ClusterPlanTypeDto[]> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getUpgradableClusterPlanTypes`,\n url: `api/admin/clusters/clusterplantype/${params.params.sourceClusterPlanTypeId}/upgradable`,\n normalizedUrl: `api/admin/clusters/clusterplantype/:sourceClusterPlanTypeId/upgradable`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<ClusterPlanTypeDto[]>({\n ...params,\n base: {\n id: 'console',\n },\n headers: params.params.headers,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body!\n }\n\n public static async updateClustersOfOrgToNewPlanType(\n params: UpdateClustersOfOrgToNewPlanTypeRequest,\n ): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.updateClustersOfOrgToNewPlanType`,\n url: `api/admin/clusters/org/${params.params.orgId}/clusterplantype`,\n normalizedUrl: `api/admin/clusters/org/:orgId/clusterplantype`,\n type: 'patch',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<void>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'none',\n headers: params.params.headers,\n body: {\n fromPlanTypeUuid: params.params.sourceClusterPlanTypeId,\n toPlanTypeUuid: params.params.targetClusterPlanTypeId,\n },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n }\n\n public static async getApiClients(\n params: { orgId: string } & RequestBaseParams,\n ) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getBulkClusterPlanUpdate`,\n url: `api/admin/apiClients/${params.orgId}`,\n normalizedUrl: `api/apiClients/:orgId`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<any[]>({\n ...params,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n public static async deleteApiClient(\n params: { orgId: string; clientId: string } & RequestBaseParams,\n ) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getBulkClusterPlanUpdate`,\n url: `api/admin/apiClients/${params.orgId}/clientId/${params.clientId}`,\n normalizedUrl: `api/apiClients/:orgId/clientId/:clientId`,\n type: 'delete',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<void>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n\n public static async wakeCluster(\n params: { clusterId: string } & RequestBaseParams,\n ) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getBulkClusterPlanUpdate`,\n url: `api/admin/clusters/${params.clusterId}/wake`,\n normalizedUrl: `api/clusters/:clusterId/wake`,\n type: 'patch',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<void>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n\n public static async getAllModifications(\n params: RequestBaseParams & {\n headers?: {\n 'x-camunda-email'?: string\n }\n },\n ) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getAllModifications`,\n url: `api/admin/clusters/modifications`,\n normalizedUrl: `api/clusters/modifications`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<{\n clusters: CommonClusterDto[]\n modifications: ClusterModificationDto[]\n }>({\n ...params,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n headers: params.headers,\n })\n\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n\n public static async createModification(\n params: RequestBaseParams & {\n clusterUuid: string\n headers?: {\n 'x-camunda-email'?: string\n }\n },\n ) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.createModification`,\n url: `api/admin/clusters/modifications`,\n normalizedUrl: `api/clusters/modifications`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterModificationDto>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n body: {\n clusterUuid: params.clusterUuid,\n },\n headers: params.headers,\n })\n\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n public static async createModificationConfig(\n params: RequestBaseParams & {\n uuid: string\n description?: string\n url?: string\n planModifications?: Array<{ key: string; value: string | number }>\n expiresAt?: Date | null\n headers?: {\n 'x-camunda-email'?: string\n }\n },\n ) {\n const { uuid, description, url, planModifications, expiresAt } = params\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.createModificationConfig`,\n url: `api/admin/clusters/modifications/${uuid}`,\n normalizedUrl: `api/clusters/modifications/:uuid`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterModificationConfigDto>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n body: {\n description,\n url,\n planModifications,\n expiresAt,\n },\n headers: params.headers,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n public static async claimModification(\n params: RequestBaseParams & { uuid: string },\n ) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.claimModificationConfig`,\n url: `api/admin/clusters/modifications/${params.uuid}/claim`,\n normalizedUrl: `api/clusters/modifications/:uuid/claim`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterModificationDto>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n\n public static async dropModification(\n params: RequestBaseParams & { uuid: string },\n ) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.dropModificationConfig`,\n url: `api/admin/clusters/modifications/${params.uuid}/drop`,\n normalizedUrl: `api/clusters/modifications/:uuid/drop`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<void>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n }\n public static async archiveModification(\n params: RequestBaseParams & { uuid: string },\n ) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.archiveModificationConfig`,\n url: `api/admin/clusters/modifications/${params.uuid}/archive`,\n normalizedUrl: `api/clusters/modifications/:uuid/archive`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterModificationConfigDto>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n public static async refineModificationConfig(\n params: RequestBaseParams & {\n uuid: string\n configId: string\n description?: string\n url?: string\n planModifications?: Array<{\n key: string\n value: string | number | boolean\n }>\n expiresAt?: Date | null\n },\n ) {\n const { uuid, configId, description, url, planModifications, expiresAt } =\n params\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.refineModificationConfig`,\n url: `api/admin/clusters/modifications/${uuid}/${configId}`,\n normalizedUrl: `api/clusters/modifications/:uuid/:configId`,\n type: 'patch',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterModificationConfigDto>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n body: {\n description,\n url,\n planModifications,\n expiresAt,\n },\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n public static async cloneModificationConfig(\n params: RequestBaseParams & {\n uuid: string\n configId: string\n description: string\n url?: string\n expiresAt?: Date | null\n },\n ) {\n const { uuid, configId } = params\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.cloneModificationConfig`,\n url: `api/admin/clusters/modifications/${uuid}/${configId}/clone`,\n normalizedUrl: `api/clusters/modifications/:uuid/:configId/clone`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterModificationConfigDto>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n body: {\n description: params.description,\n url: params.url,\n expiresAt: params.expiresAt,\n },\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n public static async sealModificationConfig(\n params: RequestBaseParams & {\n uuid: string\n configId: string\n },\n ) {\n const { uuid, configId } = params\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.sealModificationConfig`,\n url: `api/admin/clusters/modifications/${uuid}/${configId}/seal`,\n normalizedUrl: `api/clusters/modifications/:uuid/:configId/seal`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterModificationConfigDto>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n public static async unsealModificationConfig(\n params: RequestBaseParams & {\n uuid: string\n configId: string\n },\n ) {\n const { uuid, configId } = params\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.unsealModificationConfig`,\n url: `api/admin/clusters/modifications/${uuid}/${configId}/unseal`,\n normalizedUrl: `api/clusters/modifications/:uuid/:configId/unseal`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterModificationConfigDto>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n public static async ackModificationConfig(\n params: RequestBaseParams & {\n uuid: string\n configId: string\n },\n ) {\n const { uuid, configId } = params\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.ackModificationConfig`,\n url: `api/admin/clusters/modifications/${uuid}/${configId}/ack`,\n normalizedUrl: `api/clusters/modifications/:uuid/:configId/ack`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterModificationConfigDto>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n public static async deleteModificationConfig(\n params: RequestBaseParams & {\n uuid: string\n configId: string\n },\n ) {\n const { uuid, configId } = params\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.deleteModificationConfig`,\n url: `api/admin/clusters/modifications/${uuid}/${configId}`,\n normalizedUrl: `api/clusters/modifications/:uuid/:configId`,\n type: 'delete',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<void>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n }\n public static async activateModificationConfig(\n params: RequestBaseParams & {\n uuid: string\n configId: string\n body?: { yoloJustification?: string }\n },\n ) {\n const { uuid, configId, body } = params\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.activateModificationConfig`,\n url: `api/admin/clusters/modifications/${uuid}/${configId}/activate`,\n normalizedUrl: `api/clusters/modifications/:uuid/:configId/activate`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterModificationConfigDto>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n body,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n public static async deactivateModificationConfig(\n params: RequestBaseParams & {\n uuid: string\n configId: string\n },\n ) {\n const { uuid, configId } = params\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.deactivateModificationConfig`,\n url: `api/admin/clusters/modifications/${uuid}/${configId}/deactivate`,\n normalizedUrl: `api/clusters/modifications/:uuid/:configId/deactivate`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterModificationConfigDto>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n\n public static async updateModificationConfigExpiration(\n params: RequestBaseParams & {\n uuid: string\n configId: string\n expiresAt: Date | null\n description?: string\n },\n ) {\n const { uuid, configId, expiresAt, description } = params\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.updateModificationConfigExpiration`,\n url: `api/admin/clusters/modifications/${uuid}/${configId}/expiration`,\n normalizedUrl: `api/clusters/modifications/:uuid/:configId/expiration`,\n type: 'patch',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterModificationConfigDto>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n body: {\n expiresAt,\n ...(description !== undefined && { description }),\n },\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n\n public static async getAllClusterBulkOperations(params: RequestBaseParams) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getAllClusterBulkOperations`,\n url: `api/admin/clusters/bulkoperation`,\n normalizedUrl: `api/clusters/bulkoperation`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterBulkOperationDto[]>({\n ...params,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n\n public static async getClusterBulkOperation(\n params: { uuid: string } & RequestBaseParams,\n ) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getClusterBulkOperation`,\n url: `api/admin/clusters/bulkoperation/${params.uuid}`,\n normalizedUrl: `api/clusters/bulkoperation/:uuid`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterBulkOperationDto>({\n ...params,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n\n public static async createClusterBulkOperation(\n params: {\n body: ClusterBulkOperationPostContent\n } & RequestBaseParams,\n ) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.createClusterBulkOperation`,\n url: `api/admin/clusters/bulkoperation`,\n normalizedUrl: `api/clusters/bulkoperation`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterBulkOperationDto>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n\n public static async ackClusterBulkOperation(\n params: {\n uuid: string\n ack: ClusterBulkOperationAck\n } & RequestBaseParams,\n ) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.ackClusterBulkOperation`,\n url: `api/admin/clusters/bulkoperation/${params.uuid}/ack`,\n normalizedUrl: `api/clusters/bulkoperation/${params.uuid}/ack`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterBulkOperationDto>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n\n public static async executeClusterBulkOperation(\n params: {\n uuid: string\n } & RequestBaseParams,\n ) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.executeClusterBulkOperation`,\n url: `api/admin/clusters/bulkoperation/${params.uuid}/execute`,\n normalizedUrl: `api/clusters/bulkoperation/${params.uuid}/execute`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterBulkOperationDto>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n\n public static async deleteClusterBulkOperation(\n params: {\n uuid: string\n } & RequestBaseParams,\n ) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.executeClusterBulkOperation`,\n url: `api/admin/clusters/bulkoperation/${params.uuid}`,\n normalizedUrl: `api/clusters/bulkoperation/${params.uuid}`,\n type: 'delete',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<void>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'none',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n }\n\n public static async getDbCorpses(params: RequestBaseParams): Promise<{\n corpses: Array<{\n clusterId: string\n orgId: string\n name: string\n created: string\n k8sContextUuid?: string\n k8sContext?: string\n }>\n }> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getDbCorpses`,\n url: `api/admin/clusters/db-corpses`,\n normalizedUrl: `api/admin/clusters/db-corpses`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<{\n corpses: Array<{\n clusterId: string\n orgId: string\n name: string\n created: string\n k8sContextUuid?: string\n k8sContext?: string\n }>\n }>({\n ...params,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body!\n }\n\n public static async getK8sCorpses(params: RequestBaseParams): Promise<{\n corpses: Array<{\n clusterId: string\n orgId: string\n status: string\n k8sContextUuid: string\n k8sContext?: string\n }>\n }> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getK8sCorpses`,\n url: `api/admin/clusters/corpses`,\n normalizedUrl: `api/admin/clusters/corpses`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<{\n corpses: Array<{\n clusterId: string\n orgId: string\n status: string\n k8sContextUuid: string\n k8sContext?: string\n }>\n }>({\n ...params,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body!\n }\n\n public static async deleteDbCorpses(params: RequestBaseParams): Promise<{\n deleted: number\n corpses: Array<{\n clusterId: string\n orgId: string\n }>\n }> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.deleteDbCorpses`,\n url: `api/admin/clusters/db-corpses`,\n normalizedUrl: `api/admin/clusters/db-corpses`,\n type: 'delete',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<{\n deleted: number\n corpses: Array<{\n clusterId: string\n orgId: string\n }>\n }>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body!\n }\n\n public static async deleteK8sCorpses(params: RequestBaseParams): Promise<{\n deleted: number\n corpses: Array<{\n clusterId: string\n orgId: string\n }>\n }> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.deleteK8sCorpses`,\n url: `api/admin/clusters/corpses`,\n normalizedUrl: `api/admin/clusters/corpses`,\n type: 'delete',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<{\n deleted: number\n corpses: Array<{\n clusterId: string\n orgId: string\n }>\n }>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body!\n }\n\n public static async createLiteLLMSecretsForOrg(\n params: CreateLiteLLMSecretsForOrgRequest,\n ): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.createLiteLLMSecretsForOrg`,\n url: `api/admin/clusters/org/${params.params.orgId}/litellm-secrets`,\n normalizedUrl: `api/admin/clusters/org/:orgId/litellm-secrets`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request({\n config: params.config,\n base: {\n id: 'console',\n },\n headers: params.params.headers,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n }\n\n public static async getSpecExplainer(\n params: GetSpecExplainerRequest,\n ): Promise<SpecExplainerResponse> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getSpecExplainer`,\n url: `api/admin/clusters/${params.params.clusterId}/spec-explainer`,\n normalizedUrl: `api/admin/clusters/:clusterId/spec-explainer`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<SpecExplainerResponse>({\n ...params,\n base: {\n id: 'console',\n },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body!\n }\n\n public static async getOpenIncidents(\n params: RequestBaseParams,\n ): Promise<{ incidents: OpenIncident[] }> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'ConsoleAdminService.getOpenIncidents',\n url: 'api/admin/clusters/incidents',\n normalizedUrl: 'api/admin/clusters/incidents',\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<{ incidents: OpenIncident[] }>({\n ...params,\n base: { id: 'console' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body!\n }\n\n public static async getClusterIncidents(\n params: RequestBaseParams & { clusterId: string },\n ): Promise<OpenIncident[]> {\n const url = `api/admin/clusters/${params.clusterId}/incidents`\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'ConsoleAdminService.getClusterIncidents',\n url,\n normalizedUrl: 'api/admin/clusters/:clusterId/incidents',\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<{ incidents: OpenIncident[] }>({\n ...params,\n base: { id: 'console' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body!.incidents\n }\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
4
|
+
"sourcesContent": ["/*\n * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH\n * under one or more contributor license agreements. Licensed under a commercial license.\n * You may not use this file except in compliance with the commercial license.\n */\n\nimport type {\n ClusterBulkOperationAck,\n ClusterBulkOperationDto,\n ClusterBulkOperationPostContent,\n ClusterModificationConfigDto,\n ClusterModificationDto,\n ClusterPlanTypeDto,\n ClusterUsageMetricsData,\n CommonClusterDto,\n UniqueTaskUser,\n ValueMetrics,\n} from '@camunda/ccma-shared-types'\nimport type {\n RequestBaseParams,\n RequestBaseServiceContext,\n} from '../../types/general.types.js'\nimport { request } from '../../utils/api.js'\nimport { HttpError } from '../../utils/errors.js'\nimport type { OpenIncident } from '../incident-io/incident-io.service.js'\n\nexport interface UpdateClusterToNewPlanTypeRequest extends RequestBaseParams {\n params: {\n orgId: string\n clusterId: string\n targetPlanTypeId: string\n attemptClusterPlanUpdate?: boolean\n numberOfAllocatedHwPackages?: number\n keepModification?: boolean\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport interface SignalSignupRequest extends RequestBaseParams {\n params: {\n orgId: string\n targetPlanTypeId: string\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport interface UpdateClusterRequest extends RequestBaseParams {\n params: {\n orgId: string\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport interface GetClustersOfOrgRequest extends RequestBaseParams {\n params: {\n orgId: string\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport interface CreateLiteLLMSecretsForOrgRequest extends RequestBaseParams {\n params: {\n orgId: string\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport type SpecExplainerFieldSource =\n | 'plan'\n | 'generation'\n | 'planType'\n | 'override'\n | 'modification'\n | 'infra'\n | 'computed'\n | 'featureFlag'\n | 'org'\n | 'cluster'\n\nexport interface SpecExplainerFieldAnnotation {\n source: SpecExplainerFieldSource\n sourcePath?: string\n sourceValue?: unknown\n finalValue: unknown\n transforms?: string[]\n overrides?: Array<{\n by: SpecExplainerFieldSource\n originalValue: unknown\n }>\n fallbackChain?: Array<{\n source: SpecExplainerFieldSource\n value: unknown\n used: boolean\n }>\n}\n\nexport interface SpecExplainerResponse {\n spec: Record<string, unknown>\n annotations: Record<string, SpecExplainerFieldAnnotation>\n sources: {\n plan: Record<string, unknown>\n generation: Record<string, unknown>\n planType: Record<string, unknown>\n overrideEnvVars?: Record<string, unknown>\n activeModification?: {\n planModifications: Array<{ key: string; value: unknown }>\n }\n featureFlags: Record<string, boolean>\n }\n}\n\nexport interface GetSpecExplainerRequest extends RequestBaseParams {\n params: {\n clusterId: string\n }\n}\n\nexport interface GetAllClustersRequest extends RequestBaseParams {\n params: {\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport interface GetClusterRequest extends RequestBaseParams {\n params: {\n clusterId: string\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport interface GetCreatedClusterInstancesRequest extends RequestBaseParams {\n params: {\n range: string\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport interface GetClusterPlanTypeRequest extends RequestBaseParams {\n params: {\n clusterPlanTypeId: string\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport interface GetAllClusterPlanTypesRequest extends RequestBaseParams {\n params: {\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport interface GetValueMetricsUsageDataRequest extends RequestBaseParams {\n params: {\n orgId: string\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport interface GetValueMetricsRequest extends RequestBaseParams {\n params: {\n orgId: string\n lastAvailableTimestamp: number\n timeframe: string\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport interface GetValueMetricsForAllRequest extends RequestBaseParams {\n params: {\n lastAvailableTimestamp: number\n timeframe: string\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport interface GetTaskUsersRequest extends RequestBaseParams {\n params: {\n orgId: string\n lastAvailableTimestamp: number\n timeframe: string\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport interface GetTaskUsersForAllRequest extends RequestBaseParams {\n params: {\n lastAvailableTimestamp: number\n timeframe: string\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport interface DeleteClustersOfOrgRequest extends RequestBaseParams {\n params: {\n orgId: string\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport interface GetUpgradableClusterPlanTypesRequest\n extends RequestBaseParams {\n params: {\n sourceClusterPlanTypeId: string\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport interface UpdateClustersOfOrgToNewPlanTypeRequest\n extends RequestBaseParams {\n params: {\n orgId: string\n sourceClusterPlanTypeId: string\n targetClusterPlanTypeId: string\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport interface UpdateClusterMetricsStartDateRequest\n extends RequestBaseParams {\n params: {\n orgId: string\n startDate: number\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport class ConsoleAdminService {\n public static async updateClusterToNewPlanType(\n params: UpdateClusterToNewPlanTypeRequest,\n ): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.updateClusterToNewPlanType`,\n url: `api/admin/clusters/${params.params.clusterId}/org/${params.params.orgId}/clusterplantype`,\n normalizedUrl: `api/admin/clusters/:clusterId/org/:orgId/clusterplantype`,\n type: 'patch',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request({\n config: params.config,\n base: {\n id: 'console',\n },\n body: {\n toPlanTypeUuid: params.params.targetPlanTypeId,\n numberOfAllocatedHwPackages: params.params.numberOfAllocatedHwPackages,\n attemptClusterPlanUpdate: params.params.attemptClusterPlanUpdate,\n keepModification: params.params.keepModification,\n },\n headers: params.params.headers,\n responseType: 'none',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n }\n\n public static async updateClusterMetricsStartDate(\n params: UpdateClusterMetricsStartDateRequest,\n ) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.updateClusterMetricsStartDate`,\n url: `api/admin/metrics/clusters/org/${params.params.orgId}/start-date`,\n normalizedUrl: `api/admin/metrics/clusters/org/:orgId/start-date`,\n type: 'patch',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<{ success: boolean }>({\n config: params.config,\n base: {\n id: 'console',\n },\n body: {\n startDate: params.params.startDate,\n },\n headers: params.params.headers,\n responseType: 'none',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n }\n\n public static async signalSignup(params: SignalSignupRequest): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.signalSignup`,\n url: `api/admin/clusters/org/${params.params.orgId}/signup`,\n normalizedUrl: `api/admin/clusters/org/:orgId/signup`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request({\n config: params.config,\n base: {\n id: 'console',\n },\n body: {\n planTypeUuid: params.params.targetPlanTypeId,\n },\n headers: params.params.headers,\n responseType: 'none',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n }\n\n public static async unlinkClusterFromModification(\n params: {\n uuid: string\n } & RequestBaseParams,\n ): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.unlinkClusterFromModification`,\n url: `api/admin/clusters/modifications/clusterUnlink/${params.uuid}`,\n normalizedUrl: `api/admin/clusters/modifications/clusterUnlink/:clusterId`,\n type: 'put',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<void>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'none',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n }\n\n public static async repairClustersActiveModification(\n params: {\n uuid: string\n } & RequestBaseParams,\n ): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.repairClustersActiveModification`,\n\n url: `api/admin/clusters/modifications/clusterRepair/${params.uuid}`,\n normalizedUrl: `api/clusters/modifications/clusterRepair/:clusterId`,\n type: 'put',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<void>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'none',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n }\n\n public static async updateClusters(\n params: UpdateClusterRequest,\n ): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.updateClusters`,\n url: `api/admin/clusters/org/${params.params.orgId}`,\n normalizedUrl: `api/admin/clusters/org/:orgId`,\n type: 'patch',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request({\n config: params.config,\n base: {\n id: 'console',\n },\n body: {},\n headers: params.params.headers,\n responseType: 'none',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n }\n\n public static async getClustersOfOrg(\n params: GetClustersOfOrgRequest,\n ): Promise<any[]> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getClustersOfOrg`,\n url: `api/orgs/${params.params.orgId}/clusters`,\n normalizedUrl: `api/orgs/:orgId/clusters`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<any[]>({\n ...params,\n base: {\n id: 'console',\n },\n headers: params.params.headers,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body!\n }\n\n public static async getAllClusters(\n params: GetAllClustersRequest,\n ): Promise<any[]> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getAllClusters`,\n url: `api/admin/clusters`,\n normalizedUrl: `api/admin/clusters`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<any[]>({\n ...params,\n base: {\n id: 'console',\n },\n headers: params.params.headers,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body!\n }\n\n public static async getCluster(params: GetClusterRequest): Promise<any> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getCluster`,\n url: `api/admin/clusters/${params.params.clusterId}`,\n normalizedUrl: `api/admin/clusters/:clusterId`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<any>({\n ...params,\n base: {\n id: 'console',\n },\n headers: params.params.headers,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n\n public static async getCreatedClusterInstances(\n params: GetCreatedClusterInstancesRequest,\n ): Promise<{ clusters: Array<{ uuid: string; count: number }> }> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getCreatedClusterInstances`,\n url: `api/admin/clusters/instances/created?range=${params.params.range}`,\n normalizedUrl: `api/admin/clusters/instances/created?range=:range`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<{\n clusters: Array<{ uuid: string; count: number }>\n }>({\n ...params,\n base: {\n id: 'console',\n },\n headers: params.params.headers,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body!\n }\n\n public static async getClusterPlanType(\n params: GetClusterPlanTypeRequest,\n ): Promise<ClusterPlanTypeDto> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getClusterPlanType`,\n url: `api/plans/type/${params.params.clusterPlanTypeId}`,\n normalizedUrl: `api/plans/type/:clusterPlanTypeId`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<ClusterPlanTypeDto>({\n ...params,\n base: {\n id: 'console',\n },\n headers: params.params.headers,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body!\n }\n\n public static async getAllClusterPlanTypes(\n params: GetAllClusterPlanTypesRequest,\n ): Promise<ClusterPlanTypeDto[]> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getAllClusterPlanTypes`,\n url: `api/plans/type`,\n normalizedUrl: `api/plans/type`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<ClusterPlanTypeDto[]>({\n ...params,\n base: {\n id: 'console',\n },\n headers: params.params.headers,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body!\n }\n\n public static async getValueMetricsUsageData(\n params: GetValueMetricsUsageDataRequest,\n ): Promise<ClusterUsageMetricsData[]> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getValueMetricsUsageData`,\n url: `api/orgs/${params.params.orgId}/clusters/usage/value-metrics`,\n normalizedUrl: `api/orgs/:orgId/clusters/usage/value-metrics`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<ClusterUsageMetricsData[]>({\n ...params,\n base: {\n id: 'console',\n },\n headers: params.params.headers,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body!\n }\n\n public static async getValueMetrics(\n params: GetValueMetricsRequest,\n ): Promise<ValueMetrics | undefined> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getValueMetrics`,\n url: `api/admin/clusters/org/${params.params.orgId}/valuemetrics/${params.params.lastAvailableTimestamp}/${params.params.timeframe}`,\n normalizedUrl: `api/admin/clusters/org/:orgId/valuemetrics/:lastAvailableTimestamp/:timeframe`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<{ valueMetrics: ValueMetrics }>({\n ...params,\n base: {\n id: 'console',\n },\n headers: params.params.headers,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body?.valueMetrics\n }\n\n public static async getValueMetricsForAll(\n params: GetValueMetricsForAllRequest,\n ): Promise<ValueMetrics[]> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getValueMetricsForAll`,\n url: `api/admin/clusters/valuemetrics/${params.params.lastAvailableTimestamp}/${params.params.timeframe}`,\n normalizedUrl: `api/admin/clusters/valuemetrics/:lastAvailableTimestamp/:timeframe`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<{ valueMetrics: ValueMetrics[] }>({\n ...params,\n base: {\n id: 'console',\n },\n headers: params.params.headers,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body?.valueMetrics ?? []\n }\n\n public static async getTaskUsers(\n params: GetTaskUsersRequest,\n ): Promise<UniqueTaskUser[]> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getTaskUsers`,\n url: `api/admin/clusters/org/${params.params.orgId}/valuemetrics/taskusers/${params.params.lastAvailableTimestamp}/${params.params.timeframe}`,\n normalizedUrl: `api/admin/clusters/org/:orgId/valuemetrics/taskusers/:lastAvailableTimestamp/:timeframe`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<{ taskUsers: UniqueTaskUser[] }>({\n ...params,\n base: {\n id: 'console',\n },\n headers: params.params.headers,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body?.taskUsers ?? []\n }\n\n public static async getTaskUsersForAll(\n params: GetTaskUsersForAllRequest,\n ): Promise<UniqueTaskUser[]> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getTaskUsersForAll`,\n url: `api/admin/clusters/valuemetrics/taskusers/${params.params.lastAvailableTimestamp}/${params.params.timeframe}`,\n normalizedUrl: `api/admin/clusters/valuemetrics/taskusers/:lastAvailableTimestamp/:timeframe`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<{ taskUsers: UniqueTaskUser[] }>({\n ...params,\n base: {\n id: 'console',\n },\n headers: params.params.headers,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body?.taskUsers ?? []\n }\n\n public static async deleteClustersOfOrg(\n params: DeleteClustersOfOrgRequest,\n ): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.deleteClustersOfOrg`,\n url: `api/admin/clusters/org/${params.params.orgId}`,\n normalizedUrl: `api/admin/clusters/org/:orgId`,\n type: 'delete',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<void>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'none',\n headers: params.params.headers,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n }\n\n public static async getUpgradableClusterPlanTypes(\n params: GetUpgradableClusterPlanTypesRequest,\n ): Promise<ClusterPlanTypeDto[]> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getUpgradableClusterPlanTypes`,\n url: `api/admin/clusters/clusterplantype/${params.params.sourceClusterPlanTypeId}/upgradable`,\n normalizedUrl: `api/admin/clusters/clusterplantype/:sourceClusterPlanTypeId/upgradable`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<ClusterPlanTypeDto[]>({\n ...params,\n base: {\n id: 'console',\n },\n headers: params.params.headers,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body!\n }\n\n public static async updateClustersOfOrgToNewPlanType(\n params: UpdateClustersOfOrgToNewPlanTypeRequest,\n ): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.updateClustersOfOrgToNewPlanType`,\n url: `api/admin/clusters/org/${params.params.orgId}/clusterplantype`,\n normalizedUrl: `api/admin/clusters/org/:orgId/clusterplantype`,\n type: 'patch',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<void>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'none',\n headers: params.params.headers,\n body: {\n fromPlanTypeUuid: params.params.sourceClusterPlanTypeId,\n toPlanTypeUuid: params.params.targetClusterPlanTypeId,\n },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n }\n\n public static async getApiClients(\n params: { orgId: string } & RequestBaseParams,\n ) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getBulkClusterPlanUpdate`,\n url: `api/admin/apiClients/${params.orgId}`,\n normalizedUrl: `api/apiClients/:orgId`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<any[]>({\n ...params,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n public static async deleteApiClient(\n params: { orgId: string; clientId: string } & RequestBaseParams,\n ) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getBulkClusterPlanUpdate`,\n url: `api/admin/apiClients/${params.orgId}/clientId/${params.clientId}`,\n normalizedUrl: `api/apiClients/:orgId/clientId/:clientId`,\n type: 'delete',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<void>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n\n public static async wakeCluster(\n params: { clusterId: string } & RequestBaseParams,\n ) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getBulkClusterPlanUpdate`,\n url: `api/admin/clusters/${params.clusterId}/wake`,\n normalizedUrl: `api/clusters/:clusterId/wake`,\n type: 'patch',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<void>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n\n public static async getAllModifications(\n params: RequestBaseParams & {\n headers?: {\n 'x-camunda-email'?: string\n }\n },\n ) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getAllModifications`,\n url: `api/admin/clusters/modifications`,\n normalizedUrl: `api/clusters/modifications`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<{\n clusters: CommonClusterDto[]\n modifications: ClusterModificationDto[]\n }>({\n ...params,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n headers: params.headers,\n })\n\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n\n public static async createModification(\n params: RequestBaseParams & {\n clusterUuid: string\n headers?: {\n 'x-camunda-email'?: string\n }\n },\n ) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.createModification`,\n url: `api/admin/clusters/modifications`,\n normalizedUrl: `api/clusters/modifications`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterModificationDto>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n body: {\n clusterUuid: params.clusterUuid,\n },\n headers: params.headers,\n })\n\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n public static async createModificationConfig(\n params: RequestBaseParams & {\n uuid: string\n description?: string\n url?: string\n planModifications?: Array<{ key: string; value: string | number }>\n expiresAt?: Date | null\n headers?: {\n 'x-camunda-email'?: string\n }\n },\n ) {\n const { uuid, description, url, planModifications, expiresAt } = params\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.createModificationConfig`,\n url: `api/admin/clusters/modifications/${uuid}`,\n normalizedUrl: `api/clusters/modifications/:uuid`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterModificationConfigDto>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n body: {\n description,\n url,\n planModifications,\n expiresAt,\n },\n headers: params.headers,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n public static async claimModification(\n params: RequestBaseParams & { uuid: string },\n ) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.claimModificationConfig`,\n url: `api/admin/clusters/modifications/${params.uuid}/claim`,\n normalizedUrl: `api/clusters/modifications/:uuid/claim`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterModificationDto>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n\n public static async dropModification(\n params: RequestBaseParams & { uuid: string },\n ) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.dropModificationConfig`,\n url: `api/admin/clusters/modifications/${params.uuid}/drop`,\n normalizedUrl: `api/clusters/modifications/:uuid/drop`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<void>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n }\n public static async archiveModification(\n params: RequestBaseParams & { uuid: string },\n ) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.archiveModificationConfig`,\n url: `api/admin/clusters/modifications/${params.uuid}/archive`,\n normalizedUrl: `api/clusters/modifications/:uuid/archive`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterModificationConfigDto>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n public static async refineModificationConfig(\n params: RequestBaseParams & {\n uuid: string\n configId: string\n description?: string\n url?: string\n planModifications?: Array<{\n key: string\n value: string | number | boolean\n }>\n expiresAt?: Date | null\n },\n ) {\n const { uuid, configId, description, url, planModifications, expiresAt } =\n params\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.refineModificationConfig`,\n url: `api/admin/clusters/modifications/${uuid}/${configId}`,\n normalizedUrl: `api/clusters/modifications/:uuid/:configId`,\n type: 'patch',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterModificationConfigDto>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n body: {\n description,\n url,\n planModifications,\n expiresAt,\n },\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n public static async cloneModificationConfig(\n params: RequestBaseParams & {\n uuid: string\n configId: string\n description: string\n url?: string\n expiresAt?: Date | null\n },\n ) {\n const { uuid, configId } = params\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.cloneModificationConfig`,\n url: `api/admin/clusters/modifications/${uuid}/${configId}/clone`,\n normalizedUrl: `api/clusters/modifications/:uuid/:configId/clone`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterModificationConfigDto>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n body: {\n description: params.description,\n url: params.url,\n expiresAt: params.expiresAt,\n },\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n public static async sealModificationConfig(\n params: RequestBaseParams & {\n uuid: string\n configId: string\n },\n ) {\n const { uuid, configId } = params\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.sealModificationConfig`,\n url: `api/admin/clusters/modifications/${uuid}/${configId}/seal`,\n normalizedUrl: `api/clusters/modifications/:uuid/:configId/seal`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterModificationConfigDto>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n public static async unsealModificationConfig(\n params: RequestBaseParams & {\n uuid: string\n configId: string\n },\n ) {\n const { uuid, configId } = params\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.unsealModificationConfig`,\n url: `api/admin/clusters/modifications/${uuid}/${configId}/unseal`,\n normalizedUrl: `api/clusters/modifications/:uuid/:configId/unseal`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterModificationConfigDto>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n public static async ackModificationConfig(\n params: RequestBaseParams & {\n uuid: string\n configId: string\n },\n ) {\n const { uuid, configId } = params\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.ackModificationConfig`,\n url: `api/admin/clusters/modifications/${uuid}/${configId}/ack`,\n normalizedUrl: `api/clusters/modifications/:uuid/:configId/ack`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterModificationConfigDto>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n public static async deleteModificationConfig(\n params: RequestBaseParams & {\n uuid: string\n configId: string\n },\n ) {\n const { uuid, configId } = params\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.deleteModificationConfig`,\n url: `api/admin/clusters/modifications/${uuid}/${configId}`,\n normalizedUrl: `api/clusters/modifications/:uuid/:configId`,\n type: 'delete',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<void>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n }\n public static async activateModificationConfig(\n params: RequestBaseParams & {\n uuid: string\n configId: string\n body?: { yoloJustification?: string }\n },\n ) {\n const { uuid, configId, body } = params\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.activateModificationConfig`,\n url: `api/admin/clusters/modifications/${uuid}/${configId}/activate`,\n normalizedUrl: `api/clusters/modifications/:uuid/:configId/activate`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterModificationConfigDto>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n body,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n public static async deactivateModificationConfig(\n params: RequestBaseParams & {\n uuid: string\n configId: string\n skipK8sUpdate?: boolean\n },\n ) {\n const { uuid, configId, skipK8sUpdate } = params\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.deactivateModificationConfig`,\n url: `api/admin/clusters/modifications/${uuid}/${configId}/deactivate`,\n normalizedUrl: `api/clusters/modifications/:uuid/:configId/deactivate`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterModificationConfigDto>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n body: { skipK8sUpdate },\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n\n public static async updateModificationConfigExpiration(\n params: RequestBaseParams & {\n uuid: string\n configId: string\n expiresAt: Date | null\n description?: string\n },\n ) {\n const { uuid, configId, expiresAt, description } = params\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.updateModificationConfigExpiration`,\n url: `api/admin/clusters/modifications/${uuid}/${configId}/expiration`,\n normalizedUrl: `api/clusters/modifications/:uuid/:configId/expiration`,\n type: 'patch',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterModificationConfigDto>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n body: {\n expiresAt,\n ...(description !== undefined && { description }),\n },\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n\n public static async getAllClusterBulkOperations(params: RequestBaseParams) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getAllClusterBulkOperations`,\n url: `api/admin/clusters/bulkoperation`,\n normalizedUrl: `api/clusters/bulkoperation`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterBulkOperationDto[]>({\n ...params,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n\n public static async getClusterBulkOperation(\n params: { uuid: string } & RequestBaseParams,\n ) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getClusterBulkOperation`,\n url: `api/admin/clusters/bulkoperation/${params.uuid}`,\n normalizedUrl: `api/clusters/bulkoperation/:uuid`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterBulkOperationDto>({\n ...params,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n\n public static async createClusterBulkOperation(\n params: {\n body: ClusterBulkOperationPostContent\n } & RequestBaseParams,\n ) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.createClusterBulkOperation`,\n url: `api/admin/clusters/bulkoperation`,\n normalizedUrl: `api/clusters/bulkoperation`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterBulkOperationDto>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n\n public static async ackClusterBulkOperation(\n params: {\n uuid: string\n ack: ClusterBulkOperationAck\n } & RequestBaseParams,\n ) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.ackClusterBulkOperation`,\n url: `api/admin/clusters/bulkoperation/${params.uuid}/ack`,\n normalizedUrl: `api/clusters/bulkoperation/${params.uuid}/ack`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterBulkOperationDto>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n\n public static async executeClusterBulkOperation(\n params: {\n uuid: string\n } & RequestBaseParams,\n ) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.executeClusterBulkOperation`,\n url: `api/admin/clusters/bulkoperation/${params.uuid}/execute`,\n normalizedUrl: `api/clusters/bulkoperation/${params.uuid}/execute`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterBulkOperationDto>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n\n public static async deleteClusterBulkOperation(\n params: {\n uuid: string\n } & RequestBaseParams,\n ) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.executeClusterBulkOperation`,\n url: `api/admin/clusters/bulkoperation/${params.uuid}`,\n normalizedUrl: `api/clusters/bulkoperation/${params.uuid}`,\n type: 'delete',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<void>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'none',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n }\n\n public static async getDbCorpses(params: RequestBaseParams): Promise<{\n corpses: Array<{\n clusterId: string\n orgId: string\n name: string\n created: string\n k8sContextUuid?: string\n k8sContext?: string\n }>\n }> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getDbCorpses`,\n url: `api/admin/clusters/db-corpses`,\n normalizedUrl: `api/admin/clusters/db-corpses`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<{\n corpses: Array<{\n clusterId: string\n orgId: string\n name: string\n created: string\n k8sContextUuid?: string\n k8sContext?: string\n }>\n }>({\n ...params,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body!\n }\n\n public static async getK8sCorpses(params: RequestBaseParams): Promise<{\n corpses: Array<{\n clusterId: string\n orgId: string\n status: string\n k8sContextUuid: string\n k8sContext?: string\n }>\n }> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getK8sCorpses`,\n url: `api/admin/clusters/corpses`,\n normalizedUrl: `api/admin/clusters/corpses`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<{\n corpses: Array<{\n clusterId: string\n orgId: string\n status: string\n k8sContextUuid: string\n k8sContext?: string\n }>\n }>({\n ...params,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body!\n }\n\n public static async deleteDbCorpses(params: RequestBaseParams): Promise<{\n deleted: number\n corpses: Array<{\n clusterId: string\n orgId: string\n }>\n }> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.deleteDbCorpses`,\n url: `api/admin/clusters/db-corpses`,\n normalizedUrl: `api/admin/clusters/db-corpses`,\n type: 'delete',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<{\n deleted: number\n corpses: Array<{\n clusterId: string\n orgId: string\n }>\n }>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body!\n }\n\n public static async deleteK8sCorpses(params: RequestBaseParams): Promise<{\n deleted: number\n corpses: Array<{\n clusterId: string\n orgId: string\n }>\n }> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.deleteK8sCorpses`,\n url: `api/admin/clusters/corpses`,\n normalizedUrl: `api/admin/clusters/corpses`,\n type: 'delete',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<{\n deleted: number\n corpses: Array<{\n clusterId: string\n orgId: string\n }>\n }>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body!\n }\n\n public static async createLiteLLMSecretsForOrg(\n params: CreateLiteLLMSecretsForOrgRequest,\n ): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.createLiteLLMSecretsForOrg`,\n url: `api/admin/clusters/org/${params.params.orgId}/litellm-secrets`,\n normalizedUrl: `api/admin/clusters/org/:orgId/litellm-secrets`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request({\n config: params.config,\n base: {\n id: 'console',\n },\n headers: params.params.headers,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n }\n\n public static async getSpecExplainer(\n params: GetSpecExplainerRequest,\n ): Promise<SpecExplainerResponse> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getSpecExplainer`,\n url: `api/admin/clusters/${params.params.clusterId}/spec-explainer`,\n normalizedUrl: `api/admin/clusters/:clusterId/spec-explainer`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<SpecExplainerResponse>({\n ...params,\n base: {\n id: 'console',\n },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body!\n }\n\n public static async getOpenIncidents(\n params: RequestBaseParams,\n ): Promise<{ incidents: OpenIncident[] }> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'ConsoleAdminService.getOpenIncidents',\n url: 'api/admin/clusters/incidents',\n normalizedUrl: 'api/admin/clusters/incidents',\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<{ incidents: OpenIncident[] }>({\n ...params,\n base: { id: 'console' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body!\n }\n\n public static async getClusterIncidents(\n params: RequestBaseParams & { clusterId: string },\n ): Promise<OpenIncident[]> {\n const url = `api/admin/clusters/${params.clusterId}/incidents`\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'ConsoleAdminService.getClusterIncidents',\n url,\n normalizedUrl: 'api/admin/clusters/:clusterId/incidents',\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<{ incidents: OpenIncident[] }>({\n ...params,\n base: { id: 'console' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body!.incidents\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -27,7 +27,9 @@ export declare class ClusterPlanModificationService {
|
|
|
27
27
|
static seal(params: ClusterPlanModificationRequest): Promise<ClusterPlanModificationDto | undefined>;
|
|
28
28
|
static unseal(params: ClusterPlanModificationRequest): Promise<ClusterPlanModificationDto | undefined>;
|
|
29
29
|
static ack(params: ClusterPlanModificationRequest): Promise<ClusterPlanModificationDto | undefined>;
|
|
30
|
-
static execute(params: ClusterPlanModificationRequest
|
|
30
|
+
static execute(params: ClusterPlanModificationRequest & {
|
|
31
|
+
skipK8sUpdate?: boolean;
|
|
32
|
+
}): Promise<void>;
|
|
31
33
|
static restart(params: ClusterPlanModificationRequest): Promise<void>;
|
|
32
34
|
static delete(params: ClusterPlanModificationRequest): Promise<void>;
|
|
33
35
|
}
|
|
@@ -188,6 +188,7 @@ class ClusterPlanModificationService {
|
|
|
188
188
|
responseType: "json",
|
|
189
189
|
url: serviceContext.method.url,
|
|
190
190
|
method: serviceContext.method.type,
|
|
191
|
+
body: { skipK8sUpdate: params.skipK8sUpdate },
|
|
191
192
|
metricsDetails: serviceContext
|
|
192
193
|
});
|
|
193
194
|
if (!response.ok) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/services/console/console.clusterplan.modification.service.ts"],
|
|
4
|
-
"sourcesContent": ["/*\n * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH\n * under one or more contributor license agreements. Licensed under a commercial license.\n * You may not use this file except in compliance with the commercial license.\n */\n\nimport type {\n ClusterPlanModificationConfig,\n ClusterPlanModificationDto,\n} from '@camunda/ccma-shared-types'\nimport type {\n RequestBaseParams,\n RequestBaseServiceContext,\n} from '../../types/general.types.js'\nimport { request } from '../../utils/api.js'\nimport { HttpError } from '../../utils/errors.js'\n\ninterface Settings {\n config?: Array<ClusterPlanModificationConfig>\n clusterplans?: Array<string>\n description?: string\n name?: string\n url?: string\n}\n\nexport interface CreateClusterPlanModificationRequest\n extends RequestBaseParams {\n settings: Settings & { description: string; name: string }\n}\n\nexport interface RefineClusterPlanModificationRequest\n extends RequestBaseParams {\n uuid: string\n settings: Settings\n}\n\nexport interface ClusterPlanModificationRequest extends RequestBaseParams {\n uuid: string\n}\n\nexport class ClusterPlanModificationService {\n public static async getAll(params: RequestBaseParams) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'ClusterPlanModificationService.getAll',\n url: 'api/plans/modify',\n normalizedUrl: 'api/plans/modify',\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterPlanModificationDto[]>({\n ...params,\n base: { id: 'console' },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n\n public static async create(params: CreateClusterPlanModificationRequest) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'ClusterPlanModificationService.create',\n url: 'api/plans/modify',\n normalizedUrl: 'api/plans/modify',\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterPlanModificationDto>({\n config: params.config,\n base: { id: 'console' },\n body: params.settings,\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n\n public static async refine(params: RefineClusterPlanModificationRequest) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'ClusterPlanModificationService.refine',\n url: `api/plans/modify/${params.uuid}`,\n normalizedUrl: `api/plans/modify/:uuid`,\n type: 'patch',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterPlanModificationDto>({\n config: params.config,\n base: { id: 'console' },\n body: params.settings,\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n\n public static async seal(params: ClusterPlanModificationRequest) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'ClusterPlanModificationService.seal',\n url: `api/plans/modify/${params.uuid}/seal`,\n normalizedUrl: `api/plans/modify/:uuid/seal`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterPlanModificationDto>({\n config: params.config,\n base: { id: 'console' },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n\n public static async unseal(params: ClusterPlanModificationRequest) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'ClusterPlanModificationService.unseal',\n url: `api/plans/modify/${params.uuid}/unseal`,\n normalizedUrl: `api/plans/modify/:uuid/unseal`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterPlanModificationDto>({\n config: params.config,\n base: { id: 'console' },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n\n public static async ack(params: ClusterPlanModificationRequest) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'ClusterPlanModificationService.ack',\n url: `api/plans/modify/${params.uuid}/ack`,\n normalizedUrl: `api/plans/modify/:uuid/ack`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterPlanModificationDto>({\n config: params.config,\n base: { id: 'console' },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n\n public static async execute(params: ClusterPlanModificationRequest) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'ClusterPlanModificationService.execute',\n url: `api/plans/modify/${params.uuid}/execute`,\n normalizedUrl: `api/plans/modify/:uuid/execute`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<void>({\n config: params.config,\n base: { id: 'console' },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n }\n\n public static async restart(params: ClusterPlanModificationRequest) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'ClusterPlanModificationService.restart',\n url: `api/plans/modify/${params.uuid}/restart`,\n normalizedUrl: `api/plans/modify/:uuid/restart`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<void>({\n config: params.config,\n base: { id: 'console' },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n }\n\n public static async delete(params: ClusterPlanModificationRequest) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'ClusterPlanModificationService.delete',\n url: `api/plans/modify/${params.uuid}`,\n normalizedUrl: `api/plans/modify/:uuid`,\n type: 'delete',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterPlanModificationDto>({\n config: params.config,\n base: { id: 'console' },\n responseType: 'none',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n }\n}\n"],
|
|
5
|
-
"mappings": "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
|
|
4
|
+
"sourcesContent": ["/*\n * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH\n * under one or more contributor license agreements. Licensed under a commercial license.\n * You may not use this file except in compliance with the commercial license.\n */\n\nimport type {\n ClusterPlanModificationConfig,\n ClusterPlanModificationDto,\n} from '@camunda/ccma-shared-types'\nimport type {\n RequestBaseParams,\n RequestBaseServiceContext,\n} from '../../types/general.types.js'\nimport { request } from '../../utils/api.js'\nimport { HttpError } from '../../utils/errors.js'\n\ninterface Settings {\n config?: Array<ClusterPlanModificationConfig>\n clusterplans?: Array<string>\n description?: string\n name?: string\n url?: string\n}\n\nexport interface CreateClusterPlanModificationRequest\n extends RequestBaseParams {\n settings: Settings & { description: string; name: string }\n}\n\nexport interface RefineClusterPlanModificationRequest\n extends RequestBaseParams {\n uuid: string\n settings: Settings\n}\n\nexport interface ClusterPlanModificationRequest extends RequestBaseParams {\n uuid: string\n}\n\nexport class ClusterPlanModificationService {\n public static async getAll(params: RequestBaseParams) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'ClusterPlanModificationService.getAll',\n url: 'api/plans/modify',\n normalizedUrl: 'api/plans/modify',\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterPlanModificationDto[]>({\n ...params,\n base: { id: 'console' },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n\n public static async create(params: CreateClusterPlanModificationRequest) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'ClusterPlanModificationService.create',\n url: 'api/plans/modify',\n normalizedUrl: 'api/plans/modify',\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterPlanModificationDto>({\n config: params.config,\n base: { id: 'console' },\n body: params.settings,\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n\n public static async refine(params: RefineClusterPlanModificationRequest) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'ClusterPlanModificationService.refine',\n url: `api/plans/modify/${params.uuid}`,\n normalizedUrl: `api/plans/modify/:uuid`,\n type: 'patch',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterPlanModificationDto>({\n config: params.config,\n base: { id: 'console' },\n body: params.settings,\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n\n public static async seal(params: ClusterPlanModificationRequest) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'ClusterPlanModificationService.seal',\n url: `api/plans/modify/${params.uuid}/seal`,\n normalizedUrl: `api/plans/modify/:uuid/seal`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterPlanModificationDto>({\n config: params.config,\n base: { id: 'console' },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n\n public static async unseal(params: ClusterPlanModificationRequest) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'ClusterPlanModificationService.unseal',\n url: `api/plans/modify/${params.uuid}/unseal`,\n normalizedUrl: `api/plans/modify/:uuid/unseal`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterPlanModificationDto>({\n config: params.config,\n base: { id: 'console' },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n\n public static async ack(params: ClusterPlanModificationRequest) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'ClusterPlanModificationService.ack',\n url: `api/plans/modify/${params.uuid}/ack`,\n normalizedUrl: `api/plans/modify/:uuid/ack`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterPlanModificationDto>({\n config: params.config,\n base: { id: 'console' },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n\n public static async execute(\n params: ClusterPlanModificationRequest & { skipK8sUpdate?: boolean },\n ) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'ClusterPlanModificationService.execute',\n url: `api/plans/modify/${params.uuid}/execute`,\n normalizedUrl: `api/plans/modify/:uuid/execute`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<void>({\n config: params.config,\n base: { id: 'console' },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n body: { skipK8sUpdate: params.skipK8sUpdate },\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n }\n\n public static async restart(params: ClusterPlanModificationRequest) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'ClusterPlanModificationService.restart',\n url: `api/plans/modify/${params.uuid}/restart`,\n normalizedUrl: `api/plans/modify/:uuid/restart`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<void>({\n config: params.config,\n base: { id: 'console' },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n }\n\n public static async delete(params: ClusterPlanModificationRequest) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'ClusterPlanModificationService.delete',\n url: `api/plans/modify/${params.uuid}`,\n normalizedUrl: `api/plans/modify/:uuid`,\n type: 'delete',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterPlanModificationDto>({\n config: params.config,\n base: { id: 'console' },\n responseType: 'none',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -15,6 +15,8 @@ export interface CreateTeamRequest extends RequestBaseParams {
|
|
|
15
15
|
max_budget?: number;
|
|
16
16
|
/** Budget duration (e.g., '30d', '1mo') */
|
|
17
17
|
budget_duration?: string;
|
|
18
|
+
/** Organization ID to associate the team with */
|
|
19
|
+
organization_id?: string;
|
|
18
20
|
};
|
|
19
21
|
}
|
|
20
22
|
/**
|
|
@@ -123,6 +125,8 @@ export interface GenerateKeyRequest extends RequestBaseParams {
|
|
|
123
125
|
max_budget?: number;
|
|
124
126
|
/** Budget duration */
|
|
125
127
|
budget_duration?: string;
|
|
128
|
+
/** Organization ID to associate the key with */
|
|
129
|
+
organization_id?: string;
|
|
126
130
|
};
|
|
127
131
|
}
|
|
128
132
|
/**
|
|
@@ -239,7 +243,7 @@ export interface GetKeyInfoResponse {
|
|
|
239
243
|
}
|
|
240
244
|
/**
|
|
241
245
|
* Service for interacting with LiteLLM API
|
|
242
|
-
* API Documentation: https://camunda.litellm-
|
|
246
|
+
* API Documentation: https://camunda.litellm-prod.ai
|
|
243
247
|
*/
|
|
244
248
|
export declare class LiteLLMService {
|
|
245
249
|
/**
|
|
@@ -26,6 +26,9 @@ class LiteLLMService {
|
|
|
26
26
|
},
|
|
27
27
|
...params.options.budget_duration && {
|
|
28
28
|
budget_duration: params.options.budget_duration
|
|
29
|
+
},
|
|
30
|
+
...params.options.organization_id && {
|
|
31
|
+
organization_id: params.options.organization_id
|
|
29
32
|
}
|
|
30
33
|
};
|
|
31
34
|
const response = await request({
|
|
@@ -163,6 +166,9 @@ class LiteLLMService {
|
|
|
163
166
|
},
|
|
164
167
|
...params.options.budget_duration && {
|
|
165
168
|
budget_duration: params.options.budget_duration
|
|
169
|
+
},
|
|
170
|
+
...params.options.organization_id && {
|
|
171
|
+
organization_id: params.options.organization_id
|
|
166
172
|
}
|
|
167
173
|
};
|
|
168
174
|
const response = await request({
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/services/litellm/litellm.service.ts"],
|
|
4
|
-
"sourcesContent": ["/*\n * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH\n * under one or more contributor license agreements. Licensed under a commercial license.\n * You may not use this file except in compliance with the commercial license.\n */\n\nimport type {\n RequestBaseParams,\n RequestBaseServiceContext,\n} from '../../types/general.types.js'\nimport { request } from '../../utils/api.js'\nimport { HttpError } from '../../utils/errors.js'\n\n/**\n * Request to create a new team in LiteLLM\n * POST /team/new\n */\nexport interface CreateTeamRequest extends RequestBaseParams {\n options: {\n /** Base URL for LiteLLM API */\n litellmApiBaseUrl: string\n /** API token for authentication */\n apiToken: string\n /** Team alias/name */\n team_alias: string\n /** Maximum budget for the team */\n max_budget?: number\n /** Budget duration (e.g., '30d', '1mo') */\n budget_duration?: string\n }\n}\n\n/**\n * Response from creating a new team\n */\nexport interface CreateTeamResponse {\n team_id: string\n team_alias: string\n max_budget?: number\n budget_duration?: string\n created_at?: string\n [key: string]: any\n}\n\n/**\n * Request to update a team's budget in LiteLLM\n * POST /team/update\n */\nexport interface UpdateTeamBudgetRequest extends RequestBaseParams {\n options: {\n /** Base URL for LiteLLM API */\n litellmApiBaseUrl: string\n /** API token for authentication */\n apiToken: string\n /** Team ID to update */\n team_id: string\n /** New maximum budget for the team */\n max_budget: number\n }\n}\n\n/**\n * Response from updating a team's budget\n */\nexport interface UpdateTeamBudgetResponse {\n team_id: string\n team_alias?: string\n max_budget: number\n budget_duration?: string\n [key: string]: any\n}\n\n/**\n * Request to update a key's budget in LiteLLM\n * POST /key/update\n */\nexport interface UpdateKeyBudgetRequest extends RequestBaseParams {\n options: {\n /** Base URL for LiteLLM API */\n litellmApiBaseUrl: string\n /** API token for authentication */\n apiToken: string\n /** Key to update */\n key: string\n /** New maximum budget for the key */\n max_budget: number\n }\n}\n\n/**\n * Response from updating a key's budget\n */\nexport interface UpdateKeyBudgetResponse {\n key: string\n max_budget: number\n [key: string]: any\n}\n\n/**\n * Request to delete a team\n * POST /team/delete\n */\nexport interface DeleteTeamRequest extends RequestBaseParams {\n options: {\n /** Base URL for LiteLLM API */\n litellmApiBaseUrl: string\n /** API token for authentication */\n apiToken: string\n /** Team ID to delete */\n team_id: string\n }\n}\n\n/**\n * Response from deleting a team\n */\nexport interface DeleteTeamResponse {\n deleted_teams: string[]\n [key: string]: any\n}\n\n/**\n * Request to generate a key for a team\n * POST /key/generate\n */\nexport interface GenerateKeyRequest extends RequestBaseParams {\n options: {\n /** Base URL for LiteLLM API */\n litellmApiBaseUrl: string\n /** API token for authentication */\n apiToken: string\n /** Team ID to generate key for */\n team_id: string\n /** Models the key can access */\n models?: string[]\n /** Optional key alias */\n key_alias?: string\n /** Duration for the key */\n duration?: string\n /** Additional metadata */\n metadata?: Record<string, any>\n /** Maximum budget for this key */\n max_budget?: number\n /** Budget duration */\n budget_duration?: string\n }\n}\n\n/**\n * Response from generating a key\n */\nexport interface GenerateKeyResponse {\n key: string\n key_name?: string\n expires?: string\n team_id: string\n metadata?: Record<string, any>\n [key: string]: any\n}\n\n/**\n * Request to block a key\n * POST /key/block\n */\nexport interface BlockKeyRequest extends RequestBaseParams {\n options: {\n /** Base URL for LiteLLM API */\n litellmApiBaseUrl: string\n /** API token for authentication */\n apiToken: string\n /** Key to block */\n key: string\n }\n}\n\n/**\n * Response from blocking a key\n */\nexport interface BlockKeyResponse {\n status: string\n message?: string\n [key: string]: any\n}\n\n/**\n * Request to unblock a key\n * POST /key/unblock\n */\nexport interface UnblockKeyRequest extends RequestBaseParams {\n options: {\n /** Base URL for LiteLLM API */\n litellmApiBaseUrl: string\n /** API token for authentication */\n apiToken: string\n /** Key to unblock */\n key: string\n }\n}\n\n/**\n * Response from unblocking a key\n */\nexport interface UnblockKeyResponse {\n status: string\n message?: string\n [key: string]: any\n}\n\n/**\n * Request to get key info\n * GET /key/info\n */\nexport interface GetKeyInfoRequest extends RequestBaseParams {\n options: {\n /** Base URL for LiteLLM API */\n litellmApiBaseUrl: string\n /** API token for authentication */\n apiToken: string\n /** Key to get info for */\n key: string\n }\n}\n\n/**\n * Request to delete a key\n * POST /key/delete\n */\nexport interface DeleteKeyRequest extends RequestBaseParams {\n options: {\n /** Base URL for LiteLLM API */\n litellmApiBaseUrl: string\n /** API token for authentication */\n apiToken: string\n /** Key to delete */\n key: string\n }\n}\n\n/**\n * Response from deleting a key\n */\nexport interface DeleteKeyResponse {\n deleted_keys: string[]\n [key: string]: any\n}\n\n/**\n * Response from getting key info including usage and spend\n */\nexport interface GetKeyInfoResponse {\n info: {\n key: string\n team_id: string\n spend?: number\n usage?: {\n total_tokens?: number\n prompt_tokens?: number\n completion_tokens?: number\n }\n max_budget?: number\n budget_duration?: string\n blocked?: boolean\n created_at?: string\n expires_at?: string\n metadata?: Record<string, any>\n [key: string]: any\n }\n}\n\n/**\n * Service for interacting with LiteLLM API\n * API Documentation: https://camunda.litellm-sandbox.ai\n */\nexport class LiteLLMService {\n /**\n * Create a new team in LiteLLM\n * POST /team/new\n */\n public static async createTeam(\n params: CreateTeamRequest,\n ): Promise<CreateTeamResponse> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'LiteLLMService.createTeam',\n url: `${params.options.litellmApiBaseUrl}/team/new`,\n normalizedUrl: '/team/new',\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'litellm',\n type: 'external',\n },\n }\n\n const body = {\n team_alias: params.options.team_alias,\n ...(params.options.max_budget !== undefined && {\n max_budget: params.options.max_budget,\n }),\n ...(params.options.budget_duration && {\n budget_duration: params.options.budget_duration,\n }),\n }\n\n const response = await request<CreateTeamResponse>({\n config: params.config,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n type: 'json',\n headers: {\n Authorization: `Bearer ${params.options.apiToken}`,\n },\n body,\n })\n\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n\n return response.body!\n }\n\n /**\n * Update a team's budget in LiteLLM\n * POST /team/update\n */\n public static async updateTeamBudget(\n params: UpdateTeamBudgetRequest,\n ): Promise<UpdateTeamBudgetResponse> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'LiteLLMService.updateTeamBudget',\n url: `${params.options.litellmApiBaseUrl}/team/update`,\n normalizedUrl: '/team/update',\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'litellm',\n type: 'external',\n },\n }\n\n const body = {\n team_id: params.options.team_id,\n max_budget: params.options.max_budget,\n }\n\n const response = await request<UpdateTeamBudgetResponse>({\n config: params.config,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n type: 'json',\n headers: {\n Authorization: `Bearer ${params.options.apiToken}`,\n },\n body,\n })\n\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n\n return response.body!\n }\n\n /**\n * Update a key's budget in LiteLLM\n * POST /key/update\n */\n public static async updateKeyBudget(\n params: UpdateKeyBudgetRequest,\n ): Promise<UpdateKeyBudgetResponse> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'LiteLLMService.updateKeyBudget',\n url: `${params.options.litellmApiBaseUrl}/key/update`,\n normalizedUrl: '/key/update',\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'litellm',\n type: 'external',\n },\n }\n\n const body = {\n key: params.options.key,\n max_budget: params.options.max_budget,\n }\n\n const response = await request<UpdateKeyBudgetResponse>({\n config: params.config,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n type: 'json',\n headers: {\n Authorization: `Bearer ${params.options.apiToken}`,\n },\n body,\n })\n\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n\n return response.body!\n }\n\n /**\n * Generate a key for a team\n * POST /key/generate\n */\n public static async generateKey(\n params: GenerateKeyRequest,\n ): Promise<GenerateKeyResponse> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'LiteLLMService.generateKey',\n url: `${params.options.litellmApiBaseUrl}/key/generate`,\n normalizedUrl: '/key/generate',\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'litellm',\n type: 'external',\n },\n }\n\n const body = {\n team_id: params.options.team_id,\n key_type: 'llm_api',\n allowed_routes: ['/chat/completions'],\n ...(params.options.models && { models: params.options.models }),\n ...(params.options.key_alias && { key_alias: params.options.key_alias }),\n ...(params.options.duration && { duration: params.options.duration }),\n ...(params.options.metadata && { metadata: params.options.metadata }),\n ...(params.options.max_budget !== undefined && {\n max_budget: params.options.max_budget,\n }),\n ...(params.options.budget_duration && {\n budget_duration: params.options.budget_duration,\n }),\n }\n\n const response = await request<GenerateKeyResponse>({\n config: params.config,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n type: 'json',\n headers: {\n Authorization: `Bearer ${params.options.apiToken}`,\n },\n body,\n })\n\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n\n return response.body!\n }\n\n /**\n * Block a key to quickly disable it\n * POST /key/block\n */\n public static async blockKey(\n params: BlockKeyRequest,\n ): Promise<BlockKeyResponse> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'LiteLLMService.blockKey',\n url: `${params.options.litellmApiBaseUrl}/key/block`,\n normalizedUrl: '/key/block',\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'litellm',\n type: 'external',\n },\n }\n\n const body = {\n key: params.options.key,\n }\n\n const response = await request<BlockKeyResponse>({\n config: params.config,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n type: 'json',\n headers: {\n Authorization: `Bearer ${params.options.apiToken}`,\n },\n body,\n })\n\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n\n return response.body!\n }\n\n /**\n * Unblock a key to re-enable it\n * POST /key/unblock\n */\n public static async unblockKey(\n params: UnblockKeyRequest,\n ): Promise<UnblockKeyResponse> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'LiteLLMService.unblockKey',\n url: `${params.options.litellmApiBaseUrl}/key/unblock`,\n normalizedUrl: '/key/unblock',\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'litellm',\n type: 'external',\n },\n }\n\n const body = {\n key: params.options.key,\n }\n\n const response = await request<UnblockKeyResponse>({\n config: params.config,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n type: 'json',\n headers: {\n Authorization: `Bearer ${params.options.apiToken}`,\n },\n body,\n })\n\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n\n return response.body!\n }\n\n /**\n * Get information about a key including usage and spend\n * GET /key/info\n */\n public static async getKeyInfo(\n params: GetKeyInfoRequest,\n ): Promise<GetKeyInfoResponse> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'LiteLLMService.getKeyInfo',\n url: `${params.options.litellmApiBaseUrl}/key/info?key=${encodeURIComponent(params.options.key)}`,\n normalizedUrl: '/key/info',\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'litellm',\n type: 'external',\n },\n }\n\n const response = await request<GetKeyInfoResponse>({\n config: params.config,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n headers: {\n Authorization: `Bearer ${params.options.apiToken}`,\n },\n })\n\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n\n return response.body!\n }\n\n /**\n * Delete a key\n * POST /key/delete\n */\n public static async deleteKey(\n params: DeleteKeyRequest,\n ): Promise<DeleteKeyResponse> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'LiteLLMService.deleteKey',\n url: `${params.options.litellmApiBaseUrl}/key/delete`,\n normalizedUrl: '/key/delete',\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'litellm',\n type: 'external',\n },\n }\n\n const body = {\n keys: [params.options.key],\n }\n\n const response = await request<DeleteKeyResponse>({\n config: params.config,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n type: 'json',\n headers: {\n Authorization: `Bearer ${params.options.apiToken}`,\n },\n body,\n })\n\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n\n return response.body!\n }\n\n /**\n * Delete a team\n * POST /team/delete\n */\n public static async deleteTeam(\n params: DeleteTeamRequest,\n ): Promise<DeleteTeamResponse> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'LiteLLMService.deleteTeam',\n url: `${params.options.litellmApiBaseUrl}/team/delete`,\n normalizedUrl: '/team/delete',\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'litellm',\n type: 'external',\n },\n }\n\n const body = {\n team_ids: [params.options.team_id],\n }\n\n const response = await request<DeleteTeamResponse>({\n config: params.config,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n type: 'json',\n headers: {\n Authorization: `Bearer ${params.options.apiToken}`,\n },\n body,\n })\n\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n\n return response.body!\n }\n}\n"],
|
|
5
|
-
"mappings": "AAUA,SAAS,eAAe;AACxB,SAAS,iBAAiB;
|
|
4
|
+
"sourcesContent": ["/*\n * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH\n * under one or more contributor license agreements. Licensed under a commercial license.\n * You may not use this file except in compliance with the commercial license.\n */\n\nimport type {\n RequestBaseParams,\n RequestBaseServiceContext,\n} from '../../types/general.types.js'\nimport { request } from '../../utils/api.js'\nimport { HttpError } from '../../utils/errors.js'\n\n/**\n * Request to create a new team in LiteLLM\n * POST /team/new\n */\nexport interface CreateTeamRequest extends RequestBaseParams {\n options: {\n /** Base URL for LiteLLM API */\n litellmApiBaseUrl: string\n /** API token for authentication */\n apiToken: string\n /** Team alias/name */\n team_alias: string\n /** Maximum budget for the team */\n max_budget?: number\n /** Budget duration (e.g., '30d', '1mo') */\n budget_duration?: string\n /** Organization ID to associate the team with */\n organization_id?: string\n }\n}\n\n/**\n * Response from creating a new team\n */\nexport interface CreateTeamResponse {\n team_id: string\n team_alias: string\n max_budget?: number\n budget_duration?: string\n created_at?: string\n [key: string]: any\n}\n\n/**\n * Request to update a team's budget in LiteLLM\n * POST /team/update\n */\nexport interface UpdateTeamBudgetRequest extends RequestBaseParams {\n options: {\n /** Base URL for LiteLLM API */\n litellmApiBaseUrl: string\n /** API token for authentication */\n apiToken: string\n /** Team ID to update */\n team_id: string\n /** New maximum budget for the team */\n max_budget: number\n }\n}\n\n/**\n * Response from updating a team's budget\n */\nexport interface UpdateTeamBudgetResponse {\n team_id: string\n team_alias?: string\n max_budget: number\n budget_duration?: string\n [key: string]: any\n}\n\n/**\n * Request to update a key's budget in LiteLLM\n * POST /key/update\n */\nexport interface UpdateKeyBudgetRequest extends RequestBaseParams {\n options: {\n /** Base URL for LiteLLM API */\n litellmApiBaseUrl: string\n /** API token for authentication */\n apiToken: string\n /** Key to update */\n key: string\n /** New maximum budget for the key */\n max_budget: number\n }\n}\n\n/**\n * Response from updating a key's budget\n */\nexport interface UpdateKeyBudgetResponse {\n key: string\n max_budget: number\n [key: string]: any\n}\n\n/**\n * Request to delete a team\n * POST /team/delete\n */\nexport interface DeleteTeamRequest extends RequestBaseParams {\n options: {\n /** Base URL for LiteLLM API */\n litellmApiBaseUrl: string\n /** API token for authentication */\n apiToken: string\n /** Team ID to delete */\n team_id: string\n }\n}\n\n/**\n * Response from deleting a team\n */\nexport interface DeleteTeamResponse {\n deleted_teams: string[]\n [key: string]: any\n}\n\n/**\n * Request to generate a key for a team\n * POST /key/generate\n */\nexport interface GenerateKeyRequest extends RequestBaseParams {\n options: {\n /** Base URL for LiteLLM API */\n litellmApiBaseUrl: string\n /** API token for authentication */\n apiToken: string\n /** Team ID to generate key for */\n team_id: string\n /** Models the key can access */\n models?: string[]\n /** Optional key alias */\n key_alias?: string\n /** Duration for the key */\n duration?: string\n /** Additional metadata */\n metadata?: Record<string, any>\n /** Maximum budget for this key */\n max_budget?: number\n /** Budget duration */\n budget_duration?: string\n /** Organization ID to associate the key with */\n organization_id?: string\n }\n}\n\n/**\n * Response from generating a key\n */\nexport interface GenerateKeyResponse {\n key: string\n key_name?: string\n expires?: string\n team_id: string\n metadata?: Record<string, any>\n [key: string]: any\n}\n\n/**\n * Request to block a key\n * POST /key/block\n */\nexport interface BlockKeyRequest extends RequestBaseParams {\n options: {\n /** Base URL for LiteLLM API */\n litellmApiBaseUrl: string\n /** API token for authentication */\n apiToken: string\n /** Key to block */\n key: string\n }\n}\n\n/**\n * Response from blocking a key\n */\nexport interface BlockKeyResponse {\n status: string\n message?: string\n [key: string]: any\n}\n\n/**\n * Request to unblock a key\n * POST /key/unblock\n */\nexport interface UnblockKeyRequest extends RequestBaseParams {\n options: {\n /** Base URL for LiteLLM API */\n litellmApiBaseUrl: string\n /** API token for authentication */\n apiToken: string\n /** Key to unblock */\n key: string\n }\n}\n\n/**\n * Response from unblocking a key\n */\nexport interface UnblockKeyResponse {\n status: string\n message?: string\n [key: string]: any\n}\n\n/**\n * Request to get key info\n * GET /key/info\n */\nexport interface GetKeyInfoRequest extends RequestBaseParams {\n options: {\n /** Base URL for LiteLLM API */\n litellmApiBaseUrl: string\n /** API token for authentication */\n apiToken: string\n /** Key to get info for */\n key: string\n }\n}\n\n/**\n * Request to delete a key\n * POST /key/delete\n */\nexport interface DeleteKeyRequest extends RequestBaseParams {\n options: {\n /** Base URL for LiteLLM API */\n litellmApiBaseUrl: string\n /** API token for authentication */\n apiToken: string\n /** Key to delete */\n key: string\n }\n}\n\n/**\n * Response from deleting a key\n */\nexport interface DeleteKeyResponse {\n deleted_keys: string[]\n [key: string]: any\n}\n\n/**\n * Response from getting key info including usage and spend\n */\nexport interface GetKeyInfoResponse {\n info: {\n key: string\n team_id: string\n spend?: number\n usage?: {\n total_tokens?: number\n prompt_tokens?: number\n completion_tokens?: number\n }\n max_budget?: number\n budget_duration?: string\n blocked?: boolean\n created_at?: string\n expires_at?: string\n metadata?: Record<string, any>\n [key: string]: any\n }\n}\n\n/**\n * Service for interacting with LiteLLM API\n * API Documentation: https://camunda.litellm-prod.ai\n */\nexport class LiteLLMService {\n /**\n * Create a new team in LiteLLM\n * POST /team/new\n */\n public static async createTeam(\n params: CreateTeamRequest,\n ): Promise<CreateTeamResponse> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'LiteLLMService.createTeam',\n url: `${params.options.litellmApiBaseUrl}/team/new`,\n normalizedUrl: '/team/new',\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'litellm',\n type: 'external',\n },\n }\n\n const body = {\n team_alias: params.options.team_alias,\n ...(params.options.max_budget !== undefined && {\n max_budget: params.options.max_budget,\n }),\n ...(params.options.budget_duration && {\n budget_duration: params.options.budget_duration,\n }),\n ...(params.options.organization_id && {\n organization_id: params.options.organization_id,\n }),\n }\n\n const response = await request<CreateTeamResponse>({\n config: params.config,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n type: 'json',\n headers: {\n Authorization: `Bearer ${params.options.apiToken}`,\n },\n body,\n })\n\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n\n return response.body!\n }\n\n /**\n * Update a team's budget in LiteLLM\n * POST /team/update\n */\n public static async updateTeamBudget(\n params: UpdateTeamBudgetRequest,\n ): Promise<UpdateTeamBudgetResponse> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'LiteLLMService.updateTeamBudget',\n url: `${params.options.litellmApiBaseUrl}/team/update`,\n normalizedUrl: '/team/update',\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'litellm',\n type: 'external',\n },\n }\n\n const body = {\n team_id: params.options.team_id,\n max_budget: params.options.max_budget,\n }\n\n const response = await request<UpdateTeamBudgetResponse>({\n config: params.config,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n type: 'json',\n headers: {\n Authorization: `Bearer ${params.options.apiToken}`,\n },\n body,\n })\n\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n\n return response.body!\n }\n\n /**\n * Update a key's budget in LiteLLM\n * POST /key/update\n */\n public static async updateKeyBudget(\n params: UpdateKeyBudgetRequest,\n ): Promise<UpdateKeyBudgetResponse> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'LiteLLMService.updateKeyBudget',\n url: `${params.options.litellmApiBaseUrl}/key/update`,\n normalizedUrl: '/key/update',\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'litellm',\n type: 'external',\n },\n }\n\n const body = {\n key: params.options.key,\n max_budget: params.options.max_budget,\n }\n\n const response = await request<UpdateKeyBudgetResponse>({\n config: params.config,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n type: 'json',\n headers: {\n Authorization: `Bearer ${params.options.apiToken}`,\n },\n body,\n })\n\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n\n return response.body!\n }\n\n /**\n * Generate a key for a team\n * POST /key/generate\n */\n public static async generateKey(\n params: GenerateKeyRequest,\n ): Promise<GenerateKeyResponse> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'LiteLLMService.generateKey',\n url: `${params.options.litellmApiBaseUrl}/key/generate`,\n normalizedUrl: '/key/generate',\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'litellm',\n type: 'external',\n },\n }\n\n const body = {\n team_id: params.options.team_id,\n key_type: 'llm_api',\n allowed_routes: ['/chat/completions'],\n ...(params.options.models && { models: params.options.models }),\n ...(params.options.key_alias && { key_alias: params.options.key_alias }),\n ...(params.options.duration && { duration: params.options.duration }),\n ...(params.options.metadata && { metadata: params.options.metadata }),\n ...(params.options.max_budget !== undefined && {\n max_budget: params.options.max_budget,\n }),\n ...(params.options.budget_duration && {\n budget_duration: params.options.budget_duration,\n }),\n ...(params.options.organization_id && {\n organization_id: params.options.organization_id,\n }),\n }\n\n const response = await request<GenerateKeyResponse>({\n config: params.config,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n type: 'json',\n headers: {\n Authorization: `Bearer ${params.options.apiToken}`,\n },\n body,\n })\n\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n\n return response.body!\n }\n\n /**\n * Block a key to quickly disable it\n * POST /key/block\n */\n public static async blockKey(\n params: BlockKeyRequest,\n ): Promise<BlockKeyResponse> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'LiteLLMService.blockKey',\n url: `${params.options.litellmApiBaseUrl}/key/block`,\n normalizedUrl: '/key/block',\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'litellm',\n type: 'external',\n },\n }\n\n const body = {\n key: params.options.key,\n }\n\n const response = await request<BlockKeyResponse>({\n config: params.config,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n type: 'json',\n headers: {\n Authorization: `Bearer ${params.options.apiToken}`,\n },\n body,\n })\n\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n\n return response.body!\n }\n\n /**\n * Unblock a key to re-enable it\n * POST /key/unblock\n */\n public static async unblockKey(\n params: UnblockKeyRequest,\n ): Promise<UnblockKeyResponse> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'LiteLLMService.unblockKey',\n url: `${params.options.litellmApiBaseUrl}/key/unblock`,\n normalizedUrl: '/key/unblock',\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'litellm',\n type: 'external',\n },\n }\n\n const body = {\n key: params.options.key,\n }\n\n const response = await request<UnblockKeyResponse>({\n config: params.config,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n type: 'json',\n headers: {\n Authorization: `Bearer ${params.options.apiToken}`,\n },\n body,\n })\n\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n\n return response.body!\n }\n\n /**\n * Get information about a key including usage and spend\n * GET /key/info\n */\n public static async getKeyInfo(\n params: GetKeyInfoRequest,\n ): Promise<GetKeyInfoResponse> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'LiteLLMService.getKeyInfo',\n url: `${params.options.litellmApiBaseUrl}/key/info?key=${encodeURIComponent(params.options.key)}`,\n normalizedUrl: '/key/info',\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'litellm',\n type: 'external',\n },\n }\n\n const response = await request<GetKeyInfoResponse>({\n config: params.config,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n headers: {\n Authorization: `Bearer ${params.options.apiToken}`,\n },\n })\n\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n\n return response.body!\n }\n\n /**\n * Delete a key\n * POST /key/delete\n */\n public static async deleteKey(\n params: DeleteKeyRequest,\n ): Promise<DeleteKeyResponse> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'LiteLLMService.deleteKey',\n url: `${params.options.litellmApiBaseUrl}/key/delete`,\n normalizedUrl: '/key/delete',\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'litellm',\n type: 'external',\n },\n }\n\n const body = {\n keys: [params.options.key],\n }\n\n const response = await request<DeleteKeyResponse>({\n config: params.config,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n type: 'json',\n headers: {\n Authorization: `Bearer ${params.options.apiToken}`,\n },\n body,\n })\n\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n\n return response.body!\n }\n\n /**\n * Delete a team\n * POST /team/delete\n */\n public static async deleteTeam(\n params: DeleteTeamRequest,\n ): Promise<DeleteTeamResponse> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'LiteLLMService.deleteTeam',\n url: `${params.options.litellmApiBaseUrl}/team/delete`,\n normalizedUrl: '/team/delete',\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'litellm',\n type: 'external',\n },\n }\n\n const body = {\n team_ids: [params.options.team_id],\n }\n\n const response = await request<DeleteTeamResponse>({\n config: params.config,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n type: 'json',\n headers: {\n Authorization: `Bearer ${params.options.apiToken}`,\n },\n body,\n })\n\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n\n return response.body!\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camunda/ccma-api",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.6",
|
|
4
4
|
"description": "Centralized API service layer for Camunda Cloud Management Apps",
|
|
5
5
|
"bugs": {
|
|
6
6
|
"url": "https://github.com/camunda/camunda-cloud-management-apps/issues"
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
}
|
|
42
42
|
},
|
|
43
43
|
"dependencies": {
|
|
44
|
-
"@camunda/ccma-shared-types": "0.0.
|
|
44
|
+
"@camunda/ccma-shared-types": "0.0.6"
|
|
45
45
|
},
|
|
46
46
|
"scripts": {
|
|
47
47
|
"build": "node esbuild.mjs && tsc --emitDeclarationOnly --outDir dist",
|