@camunda/ccma-shared-types 1.2.0 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_tests/permissions/session-permissions.spec.d.ts +1 -0
- package/dist/approvals/policy.d.ts +94 -5
- package/dist/approvals/policy.js +64 -14
- package/dist/approvals/policy.js.map +2 -2
- package/dist/approvals/use-cases.const.d.ts +41 -0
- package/dist/approvals/use-cases.const.js +12 -0
- package/dist/approvals/use-cases.const.js.map +7 -0
- package/dist/config/camundi-permission-rules.js +7 -1
- package/dist/config/camundi-permission-rules.js.map +2 -2
- package/dist/constants/version-gates.const.d.ts +9 -2
- package/dist/constants/version-gates.const.js +1 -1
- package/dist/constants/version-gates.const.js.map +2 -2
- package/dist/dtos/AlertSubscription.dto.d.ts +6 -0
- package/dist/dtos/AlertSubscription.dto.js.map +2 -2
- package/dist/dtos/ApprovalJob.dto.d.ts +258 -4
- package/dist/dtos/ApprovalJob.dto.js +42 -1
- package/dist/dtos/ApprovalJob.dto.js.map +2 -2
- package/dist/dtos/ClusterCreationDefaults.dto.d.ts +96 -0
- package/dist/dtos/ClusterCreationDefaults.dto.js +93 -0
- package/dist/dtos/ClusterCreationDefaults.dto.js.map +7 -0
- package/dist/dtos/ClusterOwnerMove.dto.d.ts +81 -0
- package/dist/dtos/ClusterOwnerMove.dto.js +1 -0
- package/dist/dtos/ClusterOwnerMove.dto.js.map +7 -0
- package/dist/dtos/CommonCluster.dto.d.ts +1 -0
- package/dist/dtos/ControlV2.dto.d.ts +25 -0
- package/dist/dtos/FeatureFlags.dto.d.ts +3 -3
- package/dist/dtos/Generations.dto.d.ts +17 -0
- package/dist/dtos/Generations.dto.js +7 -0
- package/dist/dtos/Generations.dto.js.map +2 -2
- package/dist/dtos/Generations.dto.spec.d.ts +1 -0
- package/dist/dtos/Organization.dto.d.ts +9 -0
- package/dist/dtos/Organization.dto.js.map +2 -2
- package/dist/dtos/ReleaseTrainSanity.dto.d.ts +6 -0
- package/dist/enums/AuditEntity.enum.d.ts +2 -0
- package/dist/enums/AuditEntity.enum.js +2 -0
- package/dist/enums/AuditEntity.enum.js.map +2 -2
- package/dist/enums/SystemAuditEntity.enum.d.ts +1 -0
- package/dist/enums/SystemAuditEntity.enum.js +1 -0
- package/dist/enums/SystemAuditEntity.enum.js.map +2 -2
- package/dist/index.d.ts +12 -7
- package/dist/index.js +53 -3
- package/dist/index.js.map +2 -2
- package/dist/permissions/combo.d.ts +9 -0
- package/dist/permissions/combo.js +57 -1
- package/dist/permissions/combo.js.map +2 -2
- package/dist/permissions/combo.optionalTelemetry.spec.d.ts +1 -0
- package/dist/permissions/console.permissions.d.ts +2 -0
- package/dist/permissions/console.permissions.js +13 -1
- package/dist/permissions/console.permissions.js.map +2 -2
- package/dist/types/ClusterBulkOperation.type.d.ts +10 -2
- package/dist/types/ClusterPlanTypeAvailabilityClass.type.d.ts +11 -0
- package/dist/types/ClusterPlanTypeAvailabilityClass.type.js +4 -0
- package/dist/types/ClusterPlanTypeAvailabilityClass.type.js.map +2 -2
- package/dist/types/Roles.d.ts +1 -1
- package/dist/types/Roles.js.map +2 -2
- package/dist/utils/versionCheck.utils.d.ts +48 -0
- package/dist/utils/versionCheck.utils.js +50 -4
- package/dist/utils/versionCheck.utils.js.map +2 -2
- package/package.json +1 -1
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What a move of a cluster to another organization did not repair. The move
|
|
3
|
+
* keeps going when a warning occurs. A Camundi reads the warnings and decides.
|
|
4
|
+
*/
|
|
5
|
+
export interface MoveClusterWarnings {
|
|
6
|
+
/**
|
|
7
|
+
* The plan type of the cluster, when the sales plan of the target
|
|
8
|
+
* organization does not configure it. The cluster keeps running and stays
|
|
9
|
+
* manageable. That organization cannot create another cluster of this plan
|
|
10
|
+
* type and cannot duplicate this one, because only a POST route mounts
|
|
11
|
+
* `validPlanTypeValidator`. `id` supports a search of a support case.
|
|
12
|
+
* `name` is what the dialog shows.
|
|
13
|
+
*/
|
|
14
|
+
planTypeNotConfigured?: {
|
|
15
|
+
id: string;
|
|
16
|
+
name: string;
|
|
17
|
+
};
|
|
18
|
+
/** True when the cluster holds an external IdP configuration. */
|
|
19
|
+
externalIdp: boolean;
|
|
20
|
+
/**
|
|
21
|
+
* The k8s objects of the cluster that carry the organization in a label:
|
|
22
|
+
* Backup, BackupSchedule, ExternalMonitoring, and PrivateConnectivity
|
|
23
|
+
* custom resources. The move patches each one's `orgId` label before it
|
|
24
|
+
* writes the database row for a backup. `failed` lists each object whose
|
|
25
|
+
* label patch failed, with its kind and name. For a failed Backup, a watch
|
|
26
|
+
* reconnect can write the old organization into its database row again. A
|
|
27
|
+
* Camundi must patch a failed label by hand.
|
|
28
|
+
*
|
|
29
|
+
* A cluster does not always have every kind of object. A cluster with no
|
|
30
|
+
* monitoring, or no private connectivity, counts as nothing for that kind,
|
|
31
|
+
* the same way a cluster with no backup counts as nothing.
|
|
32
|
+
*/
|
|
33
|
+
orgLabels: {
|
|
34
|
+
patched: number;
|
|
35
|
+
failed: {
|
|
36
|
+
kind: string;
|
|
37
|
+
name: string;
|
|
38
|
+
error: string;
|
|
39
|
+
}[];
|
|
40
|
+
};
|
|
41
|
+
alertSubscriptions: {
|
|
42
|
+
kept: {
|
|
43
|
+
report: string;
|
|
44
|
+
target: string;
|
|
45
|
+
}[];
|
|
46
|
+
deleted: {
|
|
47
|
+
target: string;
|
|
48
|
+
}[];
|
|
49
|
+
failed: {
|
|
50
|
+
target: string;
|
|
51
|
+
error: string;
|
|
52
|
+
}[];
|
|
53
|
+
/**
|
|
54
|
+
* True when console could not read the subscriptions of the cluster. The
|
|
55
|
+
* three lists are then empty, and empty is not proof that the cluster holds
|
|
56
|
+
* no subscription. A Camundi must look at the subscriptions by hand.
|
|
57
|
+
*/
|
|
58
|
+
readFailed: boolean;
|
|
59
|
+
/**
|
|
60
|
+
* True when console read the subscriptions but could not read the members
|
|
61
|
+
* of the target organization, thus it could not check who still belongs to
|
|
62
|
+
* it. Every subscription is then kept. A person outside the target
|
|
63
|
+
* organization can still get alerts for this cluster. A Camundi must check
|
|
64
|
+
* the membership by hand.
|
|
65
|
+
*/
|
|
66
|
+
membershipCheckFailed: boolean;
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
export interface MoveClusterOwnerResult {
|
|
70
|
+
clusterId: string;
|
|
71
|
+
fromOrgId: string;
|
|
72
|
+
toOrgId: string;
|
|
73
|
+
warnings: MoveClusterWarnings;
|
|
74
|
+
/**
|
|
75
|
+
* True when the cluster already belonged to `toOrgId` before this request.
|
|
76
|
+
* The request repaired the k8s org labels and the `Backup.orgId` rows, and
|
|
77
|
+
* it moved nothing else. It ran no guard, no owner write, no audit entry,
|
|
78
|
+
* and no alert-subscription prune.
|
|
79
|
+
*/
|
|
80
|
+
ownerUnchanged: boolean;
|
|
81
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=ClusterOwnerMove.dto.js.map
|
|
@@ -162,6 +162,7 @@ export interface CommonClusterDto {
|
|
|
162
162
|
optimizeEnabled?: boolean;
|
|
163
163
|
optimizeFiltering?: OptimizeFilteringConfig;
|
|
164
164
|
secretsFilterMode?: SecretsFilterMode;
|
|
165
|
+
nonSpotNodesEnabled?: boolean;
|
|
165
166
|
};
|
|
166
167
|
rba?: boolean;
|
|
167
168
|
identityBackendChecksEnabled?: boolean;
|
|
@@ -143,6 +143,12 @@ export interface ClusterListItemV2Dto {
|
|
|
143
143
|
channel?: string;
|
|
144
144
|
/** ISO-8601; part of the cursor key. */
|
|
145
145
|
created: string;
|
|
146
|
+
/**
|
|
147
|
+
* ISO-8601 instant of the last suspend. Absent when the cluster is awake:
|
|
148
|
+
* `Cluster.wakeUp()` clears the column, thus this is the time since the last
|
|
149
|
+
* suspend and not the total time that the cluster was asleep.
|
|
150
|
+
*/
|
|
151
|
+
suspendedAt?: string;
|
|
146
152
|
}
|
|
147
153
|
/** Detail extends the list shape; richer fields are added in Phase 3. */
|
|
148
154
|
export type ClusterDetailV2Dto = ClusterListItemV2Dto;
|
|
@@ -280,6 +286,25 @@ export interface ListClustersV2Params extends CursorParams {
|
|
|
280
286
|
* age axis. Exclusive: a cluster created at this instant does not match.
|
|
281
287
|
*/
|
|
282
288
|
createdBefore?: string;
|
|
289
|
+
/**
|
|
290
|
+
* ISO-8601 upper bound on `suspendedAt`, thus "asleep since at least N
|
|
291
|
+
* days". Exclusive, as `createdBefore` is. A cluster that is awake never
|
|
292
|
+
* matches: `Cluster.wakeUp()` clears the column.
|
|
293
|
+
*
|
|
294
|
+
* The bound is the time since the last suspend. A cluster that woke up for
|
|
295
|
+
* one minute and then slept again starts from zero, thus this filter finds
|
|
296
|
+
* the clusters that nobody touched, not the clusters that did no work.
|
|
297
|
+
*/
|
|
298
|
+
suspendedBefore?: string;
|
|
299
|
+
/**
|
|
300
|
+
* ISO-8601 lower bound on `suspendedAt`, thus "asleep for not more than N
|
|
301
|
+
* days". Inclusive, as `createdAfter` is. It makes the suspension-age
|
|
302
|
+
* range together with `suspendedBefore`.
|
|
303
|
+
*
|
|
304
|
+
* A cluster that is awake never matches, for the same reason as
|
|
305
|
+
* `suspendedBefore`.
|
|
306
|
+
*/
|
|
307
|
+
suspendedAfter?: string;
|
|
283
308
|
/**
|
|
284
309
|
* Restrict to these activity buckets. The controller resolves the buckets
|
|
285
310
|
* to a cluster id set from the cached HDP activity map, the same way
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* from there. `@camunda-cloud/featureflags` re-exports `Features` from here.
|
|
10
10
|
* Thus the type has one definition, and every existing import path still works.
|
|
11
11
|
*
|
|
12
|
-
* A c4 host reads one flag with `useC4FeatureFlag('console.
|
|
12
|
+
* A c4 host reads one flag with `useC4FeatureFlag('console.appIntegrations')`
|
|
13
13
|
* — a dot path into this object.
|
|
14
14
|
*/
|
|
15
15
|
export interface Features {
|
|
@@ -25,7 +25,7 @@ export interface Features {
|
|
|
25
25
|
byoidp: boolean;
|
|
26
26
|
optimizeUnsetOnDisable: boolean;
|
|
27
27
|
appIntegrations: boolean;
|
|
28
|
-
|
|
28
|
+
orgClusterDefaults: boolean;
|
|
29
29
|
releaseTrainSanityFix: boolean;
|
|
30
30
|
hubHelpCenterLinks: boolean;
|
|
31
31
|
legacyModelerApiNaming: boolean;
|
|
@@ -36,7 +36,7 @@ export interface Features {
|
|
|
36
36
|
};
|
|
37
37
|
control: {
|
|
38
38
|
frontendTelemetry: boolean;
|
|
39
|
-
|
|
39
|
+
approvals: boolean;
|
|
40
40
|
};
|
|
41
41
|
accounts: {
|
|
42
42
|
moveClusterOrg: boolean;
|
|
@@ -10,8 +10,25 @@ export interface GenerationDto {
|
|
|
10
10
|
updatedBy: string;
|
|
11
11
|
updated: Date;
|
|
12
12
|
isUnsupportedStarting?: Date;
|
|
13
|
+
/**
|
|
14
|
+
* Archived generations stay in the database for the cluster audit history,
|
|
15
|
+
* but nothing offers them: pickers, filter facets, cluster creation and the
|
|
16
|
+
* upgrade readers all leave them out. Do not treat an archived generation
|
|
17
|
+
* as a normal upgrade option. The stored upgrade edges are unchanged, so an
|
|
18
|
+
* explicit upgrade by uuid over an existing edge still runs.
|
|
19
|
+
*/
|
|
20
|
+
isArchived?: boolean;
|
|
13
21
|
isBespoke?: boolean;
|
|
14
22
|
}
|
|
23
|
+
/**
|
|
24
|
+
* Drop archived generations from a picker list. Uuids in `keep` stay in the
|
|
25
|
+
* result even when archived, so a selection made before archiving does not
|
|
26
|
+
* vanish from the control that shows it.
|
|
27
|
+
*/
|
|
28
|
+
export declare function activeGenerations<T extends {
|
|
29
|
+
uuid: string;
|
|
30
|
+
isArchived?: boolean;
|
|
31
|
+
}>(generations: T[], keep?: Iterable<string>): T[];
|
|
15
32
|
export interface GenerationWithClusterCountDto extends GenerationDto {
|
|
16
33
|
clusterCount: number;
|
|
17
34
|
}
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
import semver from "semver";
|
|
2
2
|
import { stripSecfixPostfix } from "../utils/versionCheck.utils.js";
|
|
3
|
+
function activeGenerations(generations, keep = []) {
|
|
4
|
+
const keepSet = new Set(keep);
|
|
5
|
+
return generations.filter(
|
|
6
|
+
(generation) => generation.isArchived !== true || keepSet.has(generation.uuid)
|
|
7
|
+
);
|
|
8
|
+
}
|
|
3
9
|
const secfixRank = (version) => version === stripSecfixPostfix(version) ? 0 : 1;
|
|
4
10
|
function sortGenerationBySemverOfZeebe(generationA, generationB) {
|
|
5
11
|
const versionAvalid = generationA.versions?.zeebe !== void 0 && semver.valid(generationA.versions.zeebe.split(":")[1]) !== null;
|
|
@@ -57,6 +63,7 @@ const compareGenerationNamesNewestFirst = (nameA, nameB) => {
|
|
|
57
63
|
return suffixB.localeCompare(suffixA, void 0, collation);
|
|
58
64
|
};
|
|
59
65
|
export {
|
|
66
|
+
activeGenerations,
|
|
60
67
|
compareGenerationNamesNewestFirst,
|
|
61
68
|
sortGenerationBySemverOfZeebe
|
|
62
69
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/dtos/Generations.dto.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 semver from 'semver'\nimport type { ZeebeClusterVersionsDto } from '../types/C8ClusterComponentVersions.type.js'\nimport { stripSecfixPostfix } from '../utils/versionCheck.utils.js'\n\nexport interface GenerationDto {\n name: string\n uuid: string\n versions: ZeebeClusterVersionsDto\n upgradeableFrom: GenerationDto[]\n createdBy: string\n createdByName?: string\n created: Date\n updatedBy: string\n updated: Date\n isUnsupportedStarting?: Date\n isBespoke?: boolean\n}\n\nexport interface GenerationWithClusterCountDto extends GenerationDto {\n clusterCount: number\n}\n\nexport interface UpgradableGenerationsDto {\n preferred: GenerationDto | null\n options: GenerationDto[]\n}\n\nconst secfixRank = (version: string): number =>\n version === stripSecfixPostfix(version) ? 0 : 1\n\nexport function sortGenerationBySemverOfZeebe(\n generationA: { name: string; versions?: { zeebe: string } },\n generationB: { name: string; versions?: { zeebe: string } },\n) {\n // magic sorting algorithm\n // uses the generation version of zeebe for comparison\n // if version invalid: use localeCompare\n\n const versionAvalid: boolean =\n generationA.versions?.zeebe !== undefined &&\n semver.valid(generationA.versions.zeebe.split(':')[1]) !== null\n const versionBvalid: boolean =\n generationB.versions?.zeebe !== undefined &&\n semver.valid(generationB.versions.zeebe.split(':')[1]) !== null\n\n if (versionAvalid && versionBvalid) {\n const zeebeA = generationA.versions!.zeebe.split(':')[1]\n const zeebeB = generationB.versions!.zeebe.split(':')[1]\n const byVersion = semver.compare(\n stripSecfixPostfix(zeebeB),\n stripSecfixPostfix(zeebeA),\n )\n if (byVersion !== 0) {\n return byVersion\n }\n // Both builds carry the same Camunda version here, so only the postfix\n // separates them. A secfix build holds that version plus a security patch,\n // thus it is the newer of the two and takes the higher rank.\n const bySecfix = secfixRank(zeebeB) - secfixRank(zeebeA)\n if (bySecfix !== 0) {\n return bySecfix\n }\n // Same image on both (8.9+gen5 and 8.9+gen6 both run 8.9.5). The name is\n // the only order left, so a picker does not show them in input order.\n return compareGenerationNamesNewestFirst(generationA.name, generationB.name)\n } else if (versionAvalid) {\n return -1\n } else if (versionBvalid) {\n return 1\n } else {\n return compareGenerationNamesNewestFirst(generationA.name, generationB.name)\n }\n}\n\n/** The text before the first digit: \"Camunda \" for \"Camunda 8.9+gen20\". */\nconst productPrefix = (name: string): string => {\n const firstDigit = name.search(/\\d/)\n return firstDigit === -1 ? name : name.slice(0, firstDigit)\n}\n\n/**\n * Splits a name at the first dash after the version: \"Camunda 8.10.0-alpha1\"\n * gives [\"Camunda 8.10.0\", \"alpha1\"]. A name without a dash gives an empty\n * suffix.\n */\nconst splitPrerelease = (name: string): [base: string, suffix: string] => {\n const dash = name.indexOf('-', name.search(/\\d/))\n return dash === -1 ? [name, ''] : [name.slice(0, dash), name.slice(dash + 1)]\n}\n\n/**\n * Orders generation names by product, then newest first within a product, by\n * numeric collation: `8.10` comes before `8.9`, and `gen10` before `gen9`.\n * Products stay in alphabetic order, so the Camunda generations come before\n * the older Zeebe ones. A release comes before its prereleases, so\n * `8.10.0` is above `8.10.0-alpha1`. For a list that has no zeebe image to\n * compare, such as a filter facet. When the image is known, use\n * `sortGenerationBySemverOfZeebe`.\n */\nexport const compareGenerationNamesNewestFirst = (\n nameA: string,\n nameB: string,\n): number => {\n const collation = { numeric: true, sensitivity: 'base' } as const\n const byProduct = productPrefix(nameA).localeCompare(\n productPrefix(nameB),\n undefined,\n collation,\n )\n if (byProduct !== 0) {\n return byProduct\n }\n const [baseA, suffixA] = splitPrerelease(nameA)\n const [baseB, suffixB] = splitPrerelease(nameB)\n const byBase = baseB.localeCompare(baseA, undefined, collation)\n if (byBase !== 0) {\n return byBase\n }\n if (suffixA === '' || suffixB === '') {\n return suffixA === suffixB ? 0 : suffixA === '' ? -1 : 1\n }\n return suffixB.localeCompare(suffixA, undefined, collation)\n}\n"],
|
|
5
|
-
"mappings": "AAMA,OAAO,YAAY;AAEnB,SAAS,0BAA0B;
|
|
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 semver from 'semver'\nimport type { ZeebeClusterVersionsDto } from '../types/C8ClusterComponentVersions.type.js'\nimport { stripSecfixPostfix } from '../utils/versionCheck.utils.js'\n\nexport interface GenerationDto {\n name: string\n uuid: string\n versions: ZeebeClusterVersionsDto\n upgradeableFrom: GenerationDto[]\n createdBy: string\n createdByName?: string\n created: Date\n updatedBy: string\n updated: Date\n isUnsupportedStarting?: Date\n /**\n * Archived generations stay in the database for the cluster audit history,\n * but nothing offers them: pickers, filter facets, cluster creation and the\n * upgrade readers all leave them out. Do not treat an archived generation\n * as a normal upgrade option. The stored upgrade edges are unchanged, so an\n * explicit upgrade by uuid over an existing edge still runs.\n */\n isArchived?: boolean\n isBespoke?: boolean\n}\n\n/**\n * Drop archived generations from a picker list. Uuids in `keep` stay in the\n * result even when archived, so a selection made before archiving does not\n * vanish from the control that shows it.\n */\nexport function activeGenerations<\n T extends { uuid: string; isArchived?: boolean },\n>(generations: T[], keep: Iterable<string> = []): T[] {\n const keepSet = new Set(keep)\n return generations.filter(\n (generation) =>\n generation.isArchived !== true || keepSet.has(generation.uuid),\n )\n}\n\nexport interface GenerationWithClusterCountDto extends GenerationDto {\n clusterCount: number\n}\n\nexport interface UpgradableGenerationsDto {\n preferred: GenerationDto | null\n options: GenerationDto[]\n}\n\nconst secfixRank = (version: string): number =>\n version === stripSecfixPostfix(version) ? 0 : 1\n\nexport function sortGenerationBySemverOfZeebe(\n generationA: { name: string; versions?: { zeebe: string } },\n generationB: { name: string; versions?: { zeebe: string } },\n) {\n // magic sorting algorithm\n // uses the generation version of zeebe for comparison\n // if version invalid: use localeCompare\n\n const versionAvalid: boolean =\n generationA.versions?.zeebe !== undefined &&\n semver.valid(generationA.versions.zeebe.split(':')[1]) !== null\n const versionBvalid: boolean =\n generationB.versions?.zeebe !== undefined &&\n semver.valid(generationB.versions.zeebe.split(':')[1]) !== null\n\n if (versionAvalid && versionBvalid) {\n const zeebeA = generationA.versions!.zeebe.split(':')[1]\n const zeebeB = generationB.versions!.zeebe.split(':')[1]\n const byVersion = semver.compare(\n stripSecfixPostfix(zeebeB),\n stripSecfixPostfix(zeebeA),\n )\n if (byVersion !== 0) {\n return byVersion\n }\n // Both builds carry the same Camunda version here, so only the postfix\n // separates them. A secfix build holds that version plus a security patch,\n // thus it is the newer of the two and takes the higher rank.\n const bySecfix = secfixRank(zeebeB) - secfixRank(zeebeA)\n if (bySecfix !== 0) {\n return bySecfix\n }\n // Same image on both (8.9+gen5 and 8.9+gen6 both run 8.9.5). The name is\n // the only order left, so a picker does not show them in input order.\n return compareGenerationNamesNewestFirst(generationA.name, generationB.name)\n } else if (versionAvalid) {\n return -1\n } else if (versionBvalid) {\n return 1\n } else {\n return compareGenerationNamesNewestFirst(generationA.name, generationB.name)\n }\n}\n\n/** The text before the first digit: \"Camunda \" for \"Camunda 8.9+gen20\". */\nconst productPrefix = (name: string): string => {\n const firstDigit = name.search(/\\d/)\n return firstDigit === -1 ? name : name.slice(0, firstDigit)\n}\n\n/**\n * Splits a name at the first dash after the version: \"Camunda 8.10.0-alpha1\"\n * gives [\"Camunda 8.10.0\", \"alpha1\"]. A name without a dash gives an empty\n * suffix.\n */\nconst splitPrerelease = (name: string): [base: string, suffix: string] => {\n const dash = name.indexOf('-', name.search(/\\d/))\n return dash === -1 ? [name, ''] : [name.slice(0, dash), name.slice(dash + 1)]\n}\n\n/**\n * Orders generation names by product, then newest first within a product, by\n * numeric collation: `8.10` comes before `8.9`, and `gen10` before `gen9`.\n * Products stay in alphabetic order, so the Camunda generations come before\n * the older Zeebe ones. A release comes before its prereleases, so\n * `8.10.0` is above `8.10.0-alpha1`. For a list that has no zeebe image to\n * compare, such as a filter facet. When the image is known, use\n * `sortGenerationBySemverOfZeebe`.\n */\nexport const compareGenerationNamesNewestFirst = (\n nameA: string,\n nameB: string,\n): number => {\n const collation = { numeric: true, sensitivity: 'base' } as const\n const byProduct = productPrefix(nameA).localeCompare(\n productPrefix(nameB),\n undefined,\n collation,\n )\n if (byProduct !== 0) {\n return byProduct\n }\n const [baseA, suffixA] = splitPrerelease(nameA)\n const [baseB, suffixB] = splitPrerelease(nameB)\n const byBase = baseB.localeCompare(baseA, undefined, collation)\n if (byBase !== 0) {\n return byBase\n }\n if (suffixA === '' || suffixB === '') {\n return suffixA === suffixB ? 0 : suffixA === '' ? -1 : 1\n }\n return suffixB.localeCompare(suffixA, undefined, collation)\n}\n"],
|
|
5
|
+
"mappings": "AAMA,OAAO,YAAY;AAEnB,SAAS,0BAA0B;AA6B5B,SAAS,kBAEd,aAAkB,OAAyB,CAAC,GAAQ;AACpD,QAAM,UAAU,IAAI,IAAI,IAAI;AAC5B,SAAO,YAAY;AAAA,IACjB,CAAC,eACC,WAAW,eAAe,QAAQ,QAAQ,IAAI,WAAW,IAAI;AAAA,EACjE;AACF;AAWA,MAAM,aAAa,CAAC,YAClB,YAAY,mBAAmB,OAAO,IAAI,IAAI;AAEzC,SAAS,8BACd,aACA,aACA;AAKA,QAAM,gBACJ,YAAY,UAAU,UAAU,UAChC,OAAO,MAAM,YAAY,SAAS,MAAM,MAAM,GAAG,EAAE,CAAC,CAAC,MAAM;AAC7D,QAAM,gBACJ,YAAY,UAAU,UAAU,UAChC,OAAO,MAAM,YAAY,SAAS,MAAM,MAAM,GAAG,EAAE,CAAC,CAAC,MAAM;AAE7D,MAAI,iBAAiB,eAAe;AAClC,UAAM,SAAS,YAAY,SAAU,MAAM,MAAM,GAAG,EAAE,CAAC;AACvD,UAAM,SAAS,YAAY,SAAU,MAAM,MAAM,GAAG,EAAE,CAAC;AACvD,UAAM,YAAY,OAAO;AAAA,MACvB,mBAAmB,MAAM;AAAA,MACzB,mBAAmB,MAAM;AAAA,IAC3B;AACA,QAAI,cAAc,GAAG;AACnB,aAAO;AAAA,IACT;AAIA,UAAM,WAAW,WAAW,MAAM,IAAI,WAAW,MAAM;AACvD,QAAI,aAAa,GAAG;AAClB,aAAO;AAAA,IACT;AAGA,WAAO,kCAAkC,YAAY,MAAM,YAAY,IAAI;AAAA,EAC7E,WAAW,eAAe;AACxB,WAAO;AAAA,EACT,WAAW,eAAe;AACxB,WAAO;AAAA,EACT,OAAO;AACL,WAAO,kCAAkC,YAAY,MAAM,YAAY,IAAI;AAAA,EAC7E;AACF;AAGA,MAAM,gBAAgB,CAAC,SAAyB;AAC9C,QAAM,aAAa,KAAK,OAAO,IAAI;AACnC,SAAO,eAAe,KAAK,OAAO,KAAK,MAAM,GAAG,UAAU;AAC5D;AAOA,MAAM,kBAAkB,CAAC,SAAiD;AACxE,QAAM,OAAO,KAAK,QAAQ,KAAK,KAAK,OAAO,IAAI,CAAC;AAChD,SAAO,SAAS,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,MAAM,GAAG,IAAI,GAAG,KAAK,MAAM,OAAO,CAAC,CAAC;AAC9E;AAWO,MAAM,oCAAoC,CAC/C,OACA,UACW;AACX,QAAM,YAAY,EAAE,SAAS,MAAM,aAAa,OAAO;AACvD,QAAM,YAAY,cAAc,KAAK,EAAE;AAAA,IACrC,cAAc,KAAK;AAAA,IACnB;AAAA,IACA;AAAA,EACF;AACA,MAAI,cAAc,GAAG;AACnB,WAAO;AAAA,EACT;AACA,QAAM,CAAC,OAAO,OAAO,IAAI,gBAAgB,KAAK;AAC9C,QAAM,CAAC,OAAO,OAAO,IAAI,gBAAgB,KAAK;AAC9C,QAAM,SAAS,MAAM,cAAc,OAAO,QAAW,SAAS;AAC9D,MAAI,WAAW,GAAG;AAChB,WAAO;AAAA,EACT;AACA,MAAI,YAAY,MAAM,YAAY,IAAI;AACpC,WAAO,YAAY,UAAU,IAAI,YAAY,KAAK,KAAK;AAAA,EACzD;AACA,SAAO,QAAQ,cAAc,SAAS,QAAW,SAAS;AAC5D;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { OrganizationPermissions } from '../types/OrganizationPermission.type.js';
|
|
2
2
|
import type { SalesPlanType } from '../types/SalesPlanType.type.js';
|
|
3
|
+
import type { ClusterCreationDefaults } from './ClusterCreationDefaults.dto.js';
|
|
3
4
|
import type { OrganizationToSalesPlanDto } from './OrganizationToSalesPlan.dto.js';
|
|
4
5
|
export type LicensingModelType = 'legacy' | '2025';
|
|
5
6
|
export declare const VALID_LICENSING_MODELS: readonly LicensingModelType[];
|
|
@@ -14,6 +15,14 @@ export declare const LICENSING_MODEL_DISPLAY_NAMES: Record<LicensingModelType, s
|
|
|
14
15
|
export type LlmProviderName = 'litellm' | 'openrouter';
|
|
15
16
|
export interface OrganizationMetadata {
|
|
16
17
|
clickedRequestPaidPlan?: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Default values for the settings of a new cluster of this organization
|
|
20
|
+
* (#9732). They seed a cluster at creation and are never applied again.
|
|
21
|
+
*
|
|
22
|
+
* A field that is absent takes the value that the console backend writes.
|
|
23
|
+
* The whole key is absent for almost every organization.
|
|
24
|
+
*/
|
|
25
|
+
clusterDefaults?: ClusterCreationDefaults;
|
|
17
26
|
salesForceId?: string;
|
|
18
27
|
enterpriseDevOnly?: boolean;
|
|
19
28
|
awsOnly?: boolean;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/dtos/Organization.dto.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 { OrganizationPermissions } from '../types/OrganizationPermission.type.js'\nimport type { SalesPlanType } from '../types/SalesPlanType.type.js'\nimport type { OrganizationToSalesPlanDto } from './OrganizationToSalesPlan.dto.js'\n\nexport type LicensingModelType = 'legacy' | '2025'\n\nexport const VALID_LICENSING_MODELS: readonly LicensingModelType[] = [\n 'legacy',\n '2025',\n] as const\n\nexport const LICENSING_MODEL_DISPLAY_NAMES: Record<LicensingModelType, string> =\n {\n legacy: 'Legacy (PI, DI, TU)',\n '2025': '2025 (PI+Tenant)',\n } as const\n\n/**\n * Upstream that holds a managed LLM key.\n *\n * `@camunda-cloud/featureflags` owns the `LlmProvider` type and its rollout\n * rules. This package must not depend on that one, so the union is repeated\n * here. Keep the two in step.\n */\nexport type LlmProviderName = 'litellm' | 'openrouter'\n\nexport interface OrganizationMetadata {\n clickedRequestPaidPlan?: boolean\n salesForceId?: string\n enterpriseDevOnly?: boolean\n awsOnly?: boolean\n licensingModel?: LicensingModelType\n autoJoin?: AutoJoinAssignment\n llm?: {\n tenantKey: string\n /**\n * Team that holds the key on LiteLLM.\n *\n * Optional, and every call site already treats it as such. Old LiteLLM\n * orgs got a key without a team. OpenRouter has no teams at all.\n */\n teamId?: string\n created: number\n /** Epoch ms of the last key rotation \u2014 set when the tenant key is regenerated. */\n updated?: number\n /**\n * Upstream that holds this key. Absent means `litellm`, because every key\n * from before the OpenRouter rollout is on LiteLLM.\n *\n * This value, and not the OpenRouter feature flag, decides where the\n * read, block, top-up and delete paths look for the key. A flag change\n * must never move a live key to a provider that does not hold it.\n */\n provider?: LlmProviderName\n /**\n * Handle for the key on OpenRouter, which addresses a key by hash and not\n * by its value. Absent for a LiteLLM key.\n *\n * Without it, an OpenRouter key can be found again only by a list request\n * that matches on the name of the key.\n */\n keyHash?: string\n /**\n * The key that a provider migration replaced, kept until the delete of\n * that key is confirmed.\n *\n * The migration to OpenRouter writes the new key over `tenantKey` before\n * it deletes the old one. Without this record the old key stays alive on\n * the old upstream and nothing points at it. The migration removes this\n * field when the old upstream confirms the delete, and it uses the field\n * to find the orgs that a re-run must finish.\n *\n * Absent for every org that never moved upstream.\n */\n migratedFrom?: {\n /** Upstream that holds the replaced key. */\n provider: LlmProviderName\n /** The replaced key itself. It is a credential. Never log it. */\n tenantKey: string\n /** Team that held the replaced key on LiteLLM. */\n teamId?: string\n }\n }\n}\n\nexport interface AutoJoinAssignment {\n departments: Array<{ hibobId: string; roles: string[] }>\n divisions: Array<{ hibobId: string; roles: string[] }>\n subdivisions: Array<{ hibobId: string; roles: string[] }>\n}\nexport interface OrganizationDto {\n uuid: string\n name: string\n organizationToSalesPlan?: OrganizationToSalesPlanDto\n permissions?: OrganizationPermissions\n metadata?: OrganizationMetadata\n created: Date\n internal: boolean\n}\n\nexport interface OrgOwner {\n owner: string\n email: string\n first: string\n last: string\n}\n\nexport interface OrgWithNameAndSalesPlan {\n uuid: string\n name: string | undefined\n salesPlanName: string | undefined\n salesPlanUuid: string | undefined\n salesPlanType: SalesPlanType | undefined\n}\n"],
|
|
5
|
-
"mappings": "
|
|
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 { OrganizationPermissions } from '../types/OrganizationPermission.type.js'\nimport type { SalesPlanType } from '../types/SalesPlanType.type.js'\nimport type { ClusterCreationDefaults } from './ClusterCreationDefaults.dto.js'\nimport type { OrganizationToSalesPlanDto } from './OrganizationToSalesPlan.dto.js'\n\nexport type LicensingModelType = 'legacy' | '2025'\n\nexport const VALID_LICENSING_MODELS: readonly LicensingModelType[] = [\n 'legacy',\n '2025',\n] as const\n\nexport const LICENSING_MODEL_DISPLAY_NAMES: Record<LicensingModelType, string> =\n {\n legacy: 'Legacy (PI, DI, TU)',\n '2025': '2025 (PI+Tenant)',\n } as const\n\n/**\n * Upstream that holds a managed LLM key.\n *\n * `@camunda-cloud/featureflags` owns the `LlmProvider` type and its rollout\n * rules. This package must not depend on that one, so the union is repeated\n * here. Keep the two in step.\n */\nexport type LlmProviderName = 'litellm' | 'openrouter'\n\nexport interface OrganizationMetadata {\n clickedRequestPaidPlan?: boolean\n /**\n * Default values for the settings of a new cluster of this organization\n * (#9732). They seed a cluster at creation and are never applied again.\n *\n * A field that is absent takes the value that the console backend writes.\n * The whole key is absent for almost every organization.\n */\n clusterDefaults?: ClusterCreationDefaults\n salesForceId?: string\n enterpriseDevOnly?: boolean\n awsOnly?: boolean\n licensingModel?: LicensingModelType\n autoJoin?: AutoJoinAssignment\n llm?: {\n tenantKey: string\n /**\n * Team that holds the key on LiteLLM.\n *\n * Optional, and every call site already treats it as such. Old LiteLLM\n * orgs got a key without a team. OpenRouter has no teams at all.\n */\n teamId?: string\n created: number\n /** Epoch ms of the last key rotation \u2014 set when the tenant key is regenerated. */\n updated?: number\n /**\n * Upstream that holds this key. Absent means `litellm`, because every key\n * from before the OpenRouter rollout is on LiteLLM.\n *\n * This value, and not the OpenRouter feature flag, decides where the\n * read, block, top-up and delete paths look for the key. A flag change\n * must never move a live key to a provider that does not hold it.\n */\n provider?: LlmProviderName\n /**\n * Handle for the key on OpenRouter, which addresses a key by hash and not\n * by its value. Absent for a LiteLLM key.\n *\n * Without it, an OpenRouter key can be found again only by a list request\n * that matches on the name of the key.\n */\n keyHash?: string\n /**\n * The key that a provider migration replaced, kept until the delete of\n * that key is confirmed.\n *\n * The migration to OpenRouter writes the new key over `tenantKey` before\n * it deletes the old one. Without this record the old key stays alive on\n * the old upstream and nothing points at it. The migration removes this\n * field when the old upstream confirms the delete, and it uses the field\n * to find the orgs that a re-run must finish.\n *\n * Absent for every org that never moved upstream.\n */\n migratedFrom?: {\n /** Upstream that holds the replaced key. */\n provider: LlmProviderName\n /** The replaced key itself. It is a credential. Never log it. */\n tenantKey: string\n /** Team that held the replaced key on LiteLLM. */\n teamId?: string\n }\n }\n}\n\nexport interface AutoJoinAssignment {\n departments: Array<{ hibobId: string; roles: string[] }>\n divisions: Array<{ hibobId: string; roles: string[] }>\n subdivisions: Array<{ hibobId: string; roles: string[] }>\n}\nexport interface OrganizationDto {\n uuid: string\n name: string\n organizationToSalesPlan?: OrganizationToSalesPlanDto\n permissions?: OrganizationPermissions\n metadata?: OrganizationMetadata\n created: Date\n internal: boolean\n}\n\nexport interface OrgOwner {\n owner: string\n email: string\n first: string\n last: string\n}\n\nexport interface OrgWithNameAndSalesPlan {\n uuid: string\n name: string | undefined\n salesPlanName: string | undefined\n salesPlanUuid: string | undefined\n salesPlanType: SalesPlanType | undefined\n}\n"],
|
|
5
|
+
"mappings": "AAaO,MAAM,yBAAwD;AAAA,EACnE;AAAA,EACA;AACF;AAEO,MAAM,gCACX;AAAA,EACE,QAAQ;AAAA,EACR,QAAQ;AACV;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -22,6 +22,12 @@ export type SanityFix = {
|
|
|
22
22
|
generationName: string;
|
|
23
23
|
/** When set, the delete must not be offered as selectable (e.g. clusters still run it). */
|
|
24
24
|
blockedReason?: string;
|
|
25
|
+
} | {
|
|
26
|
+
type: 'archive-generation';
|
|
27
|
+
generationUuid: string;
|
|
28
|
+
generationName: string;
|
|
29
|
+
/** When set, the archive must not be offered as selectable (e.g. it is still an upgrade target). */
|
|
30
|
+
blockedReason?: string;
|
|
25
31
|
};
|
|
26
32
|
export interface SanityViolation {
|
|
27
33
|
ruleId: string;
|
|
@@ -31,6 +31,7 @@ export declare enum AuditEntityAttribute {
|
|
|
31
31
|
CLUSTER_SECRETS_FILTER_MODE = "Secrets Filter Mode",
|
|
32
32
|
CLUSTER_BUSINESS_ID_UNIQUENESS = "Business ID Uniqueness",
|
|
33
33
|
CLUSTER_OPTIONAL_TELEMETRY = "Optional telemetry",
|
|
34
|
+
CLUSTER_NON_SPOT_NODES = "Non-spot nodes",
|
|
34
35
|
CLUSTER_MULTI_TENANCY = "Multi-tenancy",
|
|
35
36
|
CLUSTER_SESSION_MAX_INACTIVE_INTERVAL = "Session idle timeout",
|
|
36
37
|
CLUSTER_SESSION_HEARTBEAT = "Session heartbeat",
|
|
@@ -53,6 +54,7 @@ export declare enum AuditEntityAttribute {
|
|
|
53
54
|
LLM_BUDGET = "LLM Budget",
|
|
54
55
|
LLM_KEY_BLOCKED = "LLM Key Blocked",
|
|
55
56
|
ORGANIZATION_LIMIT = "Limit",
|
|
57
|
+
ORGANIZATION_CLUSTER_DEFAULT = "Cluster creation default",
|
|
56
58
|
CLUSTER_MODIFICATION = "Modification",
|
|
57
59
|
ORGANIZATION_TRIAL_EXPIRES_AT = "Trial Expiration Date"
|
|
58
60
|
}
|
|
@@ -32,6 +32,7 @@ var AuditEntityAttribute = /* @__PURE__ */ ((AuditEntityAttribute2) => {
|
|
|
32
32
|
AuditEntityAttribute2["CLUSTER_SECRETS_FILTER_MODE"] = "Secrets Filter Mode";
|
|
33
33
|
AuditEntityAttribute2["CLUSTER_BUSINESS_ID_UNIQUENESS"] = "Business ID Uniqueness";
|
|
34
34
|
AuditEntityAttribute2["CLUSTER_OPTIONAL_TELEMETRY"] = "Optional telemetry";
|
|
35
|
+
AuditEntityAttribute2["CLUSTER_NON_SPOT_NODES"] = "Non-spot nodes";
|
|
35
36
|
AuditEntityAttribute2["CLUSTER_MULTI_TENANCY"] = "Multi-tenancy";
|
|
36
37
|
AuditEntityAttribute2["CLUSTER_SESSION_MAX_INACTIVE_INTERVAL"] = "Session idle timeout";
|
|
37
38
|
AuditEntityAttribute2["CLUSTER_SESSION_HEARTBEAT"] = "Session heartbeat";
|
|
@@ -54,6 +55,7 @@ var AuditEntityAttribute = /* @__PURE__ */ ((AuditEntityAttribute2) => {
|
|
|
54
55
|
AuditEntityAttribute2["LLM_BUDGET"] = "LLM Budget";
|
|
55
56
|
AuditEntityAttribute2["LLM_KEY_BLOCKED"] = "LLM Key Blocked";
|
|
56
57
|
AuditEntityAttribute2["ORGANIZATION_LIMIT"] = "Limit";
|
|
58
|
+
AuditEntityAttribute2["ORGANIZATION_CLUSTER_DEFAULT"] = "Cluster creation default";
|
|
57
59
|
AuditEntityAttribute2["CLUSTER_MODIFICATION"] = "Modification";
|
|
58
60
|
AuditEntityAttribute2["ORGANIZATION_TRIAL_EXPIRES_AT"] = "Trial Expiration Date";
|
|
59
61
|
return AuditEntityAttribute2;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/enums/AuditEntity.enum.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\n/* eslint-disable no-shadow */\nexport enum AuditEntity {\n CLUSTER = 'Cluster',\n CLIENT = 'Client',\n ALERT_SUBSCRIPTION = 'Alert Subscription',\n API_CLIENT = 'API Client',\n SECURE_CONNECTIVITY_CRD = 'Private networking',\n BYOM_CLIENT = 'External Monitoring Client',\n BYOM_CRD = 'External Monitoring',\n INVITATION = 'Invitation',\n MEMBER = 'Member',\n ORGANIZATION = 'Organization',\n SALES_PLAN = 'SalesPlan',\n CLUSTER_PLAN = 'ClusterPlan',\n GENERATION = 'Generation',\n BILLING = 'Billing',\n USAGE_ALERT = 'Usage Alert',\n ACCEPT_BETA_TERMS = 'Accept Alpha terms',\n TOGGLE_BETA_FEATURE = 'Toggle Alpha feature',\n CONNECTOR_SECRET = 'Connector Secret',\n CLUSTER_MODIFICATION = 'Cluster Modification',\n}\n\nexport enum AuditEntityAttribute {\n CLUSTER_CLUSTER_PLAN = 'ClusterPlan',\n CLUSTER_GENERATION = 'Generation',\n CLUSTER_NAME = 'Name',\n CLUSTER_RBA = 'Resource Based Authorizations',\n CLUSTER_ENFORCE_GROUPS = 'Enforce Group Management',\n CLUSTER_PLAYMODE = 'Cluster Play Mode',\n CLUSTER_MCP_ENABLED = 'MCP Support',\n CLUSTER_SWAGGER = 'Cluster Swagger',\n CLUSTER_SECRETS_FILTER_MODE = 'Secrets Filter Mode',\n CLUSTER_BUSINESS_ID_UNIQUENESS = 'Business ID Uniqueness',\n CLUSTER_OPTIONAL_TELEMETRY = 'Optional telemetry',\n CLUSTER_MULTI_TENANCY = 'Multi-tenancy',\n CLUSTER_SESSION_MAX_INACTIVE_INTERVAL = 'Session idle timeout',\n CLUSTER_SESSION_HEARTBEAT = 'Session heartbeat',\n CLUSTER_EXTERNAL_IDP = 'External identity provider',\n CLUSTER_ENABLE_LOW_LATENCY = 'Enable low latency',\n CLUSTER_AUTOUPDATE = 'Auto Update',\n CLUSTER_OWNER = 'Owner',\n CLUSTER_STATUS = 'Status',\n CLUSTER_TASKLIST_V2_ENABLED = 'Taklist V2 Enabled',\n CLUSTER_AUDIT_LOG = 'Audit Log',\n INVITATION_ROLE = 'Role',\n ORGANIZATION_NAME = 'Name',\n SALES_PLAN = 'Plan',\n BILLING_RESERVATION = 'Reservation',\n BILLING_GENERAL_USERS = 'GeneralUsers', // paid cc legaly - only kept for audit logs compatibility\n MEMBER_ROLE = 'Role',\n USAGE_ALERT_THRESHOLD = 'Threshold',\n USAGE_ALERT_STATUS = 'Status',\n CLUSTER_AUDIT_LOGS = 'Audit Logging',\n LLM_BUDGET = 'LLM Budget',\n LLM_KEY_BLOCKED = 'LLM Key Blocked',\n ORGANIZATION_LIMIT = 'Limit',\n CLUSTER_MODIFICATION = 'Modification',\n ORGANIZATION_TRIAL_EXPIRES_AT = 'Trial Expiration Date',\n}\n"],
|
|
5
|
-
"mappings": "AAOO,IAAK,cAAL,kBAAKA,iBAAL;AACL,EAAAA,aAAA,aAAU;AACV,EAAAA,aAAA,YAAS;AACT,EAAAA,aAAA,wBAAqB;AACrB,EAAAA,aAAA,gBAAa;AACb,EAAAA,aAAA,6BAA0B;AAC1B,EAAAA,aAAA,iBAAc;AACd,EAAAA,aAAA,cAAW;AACX,EAAAA,aAAA,gBAAa;AACb,EAAAA,aAAA,YAAS;AACT,EAAAA,aAAA,kBAAe;AACf,EAAAA,aAAA,gBAAa;AACb,EAAAA,aAAA,kBAAe;AACf,EAAAA,aAAA,gBAAa;AACb,EAAAA,aAAA,aAAU;AACV,EAAAA,aAAA,iBAAc;AACd,EAAAA,aAAA,uBAAoB;AACpB,EAAAA,aAAA,yBAAsB;AACtB,EAAAA,aAAA,sBAAmB;AACnB,EAAAA,aAAA,0BAAuB;AAnBb,SAAAA;AAAA,GAAA;AAsBL,IAAK,uBAAL,kBAAKC,0BAAL;AACL,EAAAA,sBAAA,0BAAuB;AACvB,EAAAA,sBAAA,wBAAqB;AACrB,EAAAA,sBAAA,kBAAe;AACf,EAAAA,sBAAA,iBAAc;AACd,EAAAA,sBAAA,4BAAyB;AACzB,EAAAA,sBAAA,sBAAmB;AACnB,EAAAA,sBAAA,yBAAsB;AACtB,EAAAA,sBAAA,qBAAkB;AAClB,EAAAA,sBAAA,iCAA8B;AAC9B,EAAAA,sBAAA,oCAAiC;AACjC,EAAAA,sBAAA,gCAA6B;AAC7B,EAAAA,sBAAA,2BAAwB;AACxB,EAAAA,sBAAA,2CAAwC;AACxC,EAAAA,sBAAA,+BAA4B;AAC5B,EAAAA,sBAAA,0BAAuB;AACvB,EAAAA,sBAAA,gCAA6B;AAC7B,EAAAA,sBAAA,wBAAqB;AACrB,EAAAA,sBAAA,mBAAgB;AAChB,EAAAA,sBAAA,oBAAiB;AACjB,EAAAA,sBAAA,iCAA8B;AAC9B,EAAAA,sBAAA,uBAAoB;AACpB,EAAAA,sBAAA,qBAAkB;AAClB,EAAAA,sBAAA,uBAAoB;AACpB,EAAAA,sBAAA,gBAAa;AACb,EAAAA,sBAAA,yBAAsB;AACtB,EAAAA,sBAAA,2BAAwB;AACxB,EAAAA,sBAAA,iBAAc;AACd,EAAAA,sBAAA,2BAAwB;AACxB,EAAAA,sBAAA,wBAAqB;AACrB,EAAAA,sBAAA,wBAAqB;AACrB,EAAAA,sBAAA,gBAAa;AACb,EAAAA,sBAAA,qBAAkB;AAClB,EAAAA,sBAAA,wBAAqB;AACrB,EAAAA,sBAAA,0BAAuB;AACvB,EAAAA,sBAAA,mCAAgC;
|
|
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\n/* eslint-disable no-shadow */\nexport enum AuditEntity {\n CLUSTER = 'Cluster',\n CLIENT = 'Client',\n ALERT_SUBSCRIPTION = 'Alert Subscription',\n API_CLIENT = 'API Client',\n SECURE_CONNECTIVITY_CRD = 'Private networking',\n BYOM_CLIENT = 'External Monitoring Client',\n BYOM_CRD = 'External Monitoring',\n INVITATION = 'Invitation',\n MEMBER = 'Member',\n ORGANIZATION = 'Organization',\n SALES_PLAN = 'SalesPlan',\n CLUSTER_PLAN = 'ClusterPlan',\n GENERATION = 'Generation',\n BILLING = 'Billing',\n USAGE_ALERT = 'Usage Alert',\n ACCEPT_BETA_TERMS = 'Accept Alpha terms',\n TOGGLE_BETA_FEATURE = 'Toggle Alpha feature',\n CONNECTOR_SECRET = 'Connector Secret',\n CLUSTER_MODIFICATION = 'Cluster Modification',\n}\n\nexport enum AuditEntityAttribute {\n CLUSTER_CLUSTER_PLAN = 'ClusterPlan',\n CLUSTER_GENERATION = 'Generation',\n CLUSTER_NAME = 'Name',\n CLUSTER_RBA = 'Resource Based Authorizations',\n CLUSTER_ENFORCE_GROUPS = 'Enforce Group Management',\n CLUSTER_PLAYMODE = 'Cluster Play Mode',\n CLUSTER_MCP_ENABLED = 'MCP Support',\n CLUSTER_SWAGGER = 'Cluster Swagger',\n CLUSTER_SECRETS_FILTER_MODE = 'Secrets Filter Mode',\n CLUSTER_BUSINESS_ID_UNIQUENESS = 'Business ID Uniqueness',\n CLUSTER_OPTIONAL_TELEMETRY = 'Optional telemetry',\n CLUSTER_NON_SPOT_NODES = 'Non-spot nodes',\n CLUSTER_MULTI_TENANCY = 'Multi-tenancy',\n CLUSTER_SESSION_MAX_INACTIVE_INTERVAL = 'Session idle timeout',\n CLUSTER_SESSION_HEARTBEAT = 'Session heartbeat',\n CLUSTER_EXTERNAL_IDP = 'External identity provider',\n CLUSTER_ENABLE_LOW_LATENCY = 'Enable low latency',\n CLUSTER_AUTOUPDATE = 'Auto Update',\n CLUSTER_OWNER = 'Owner',\n CLUSTER_STATUS = 'Status',\n CLUSTER_TASKLIST_V2_ENABLED = 'Taklist V2 Enabled',\n CLUSTER_AUDIT_LOG = 'Audit Log',\n INVITATION_ROLE = 'Role',\n ORGANIZATION_NAME = 'Name',\n SALES_PLAN = 'Plan',\n BILLING_RESERVATION = 'Reservation',\n BILLING_GENERAL_USERS = 'GeneralUsers', // paid cc legaly - only kept for audit logs compatibility\n MEMBER_ROLE = 'Role',\n USAGE_ALERT_THRESHOLD = 'Threshold',\n USAGE_ALERT_STATUS = 'Status',\n CLUSTER_AUDIT_LOGS = 'Audit Logging',\n LLM_BUDGET = 'LLM Budget',\n LLM_KEY_BLOCKED = 'LLM Key Blocked',\n ORGANIZATION_LIMIT = 'Limit',\n ORGANIZATION_CLUSTER_DEFAULT = 'Cluster creation default',\n CLUSTER_MODIFICATION = 'Modification',\n ORGANIZATION_TRIAL_EXPIRES_AT = 'Trial Expiration Date',\n}\n"],
|
|
5
|
+
"mappings": "AAOO,IAAK,cAAL,kBAAKA,iBAAL;AACL,EAAAA,aAAA,aAAU;AACV,EAAAA,aAAA,YAAS;AACT,EAAAA,aAAA,wBAAqB;AACrB,EAAAA,aAAA,gBAAa;AACb,EAAAA,aAAA,6BAA0B;AAC1B,EAAAA,aAAA,iBAAc;AACd,EAAAA,aAAA,cAAW;AACX,EAAAA,aAAA,gBAAa;AACb,EAAAA,aAAA,YAAS;AACT,EAAAA,aAAA,kBAAe;AACf,EAAAA,aAAA,gBAAa;AACb,EAAAA,aAAA,kBAAe;AACf,EAAAA,aAAA,gBAAa;AACb,EAAAA,aAAA,aAAU;AACV,EAAAA,aAAA,iBAAc;AACd,EAAAA,aAAA,uBAAoB;AACpB,EAAAA,aAAA,yBAAsB;AACtB,EAAAA,aAAA,sBAAmB;AACnB,EAAAA,aAAA,0BAAuB;AAnBb,SAAAA;AAAA,GAAA;AAsBL,IAAK,uBAAL,kBAAKC,0BAAL;AACL,EAAAA,sBAAA,0BAAuB;AACvB,EAAAA,sBAAA,wBAAqB;AACrB,EAAAA,sBAAA,kBAAe;AACf,EAAAA,sBAAA,iBAAc;AACd,EAAAA,sBAAA,4BAAyB;AACzB,EAAAA,sBAAA,sBAAmB;AACnB,EAAAA,sBAAA,yBAAsB;AACtB,EAAAA,sBAAA,qBAAkB;AAClB,EAAAA,sBAAA,iCAA8B;AAC9B,EAAAA,sBAAA,oCAAiC;AACjC,EAAAA,sBAAA,gCAA6B;AAC7B,EAAAA,sBAAA,4BAAyB;AACzB,EAAAA,sBAAA,2BAAwB;AACxB,EAAAA,sBAAA,2CAAwC;AACxC,EAAAA,sBAAA,+BAA4B;AAC5B,EAAAA,sBAAA,0BAAuB;AACvB,EAAAA,sBAAA,gCAA6B;AAC7B,EAAAA,sBAAA,wBAAqB;AACrB,EAAAA,sBAAA,mBAAgB;AAChB,EAAAA,sBAAA,oBAAiB;AACjB,EAAAA,sBAAA,iCAA8B;AAC9B,EAAAA,sBAAA,uBAAoB;AACpB,EAAAA,sBAAA,qBAAkB;AAClB,EAAAA,sBAAA,uBAAoB;AACpB,EAAAA,sBAAA,gBAAa;AACb,EAAAA,sBAAA,yBAAsB;AACtB,EAAAA,sBAAA,2BAAwB;AACxB,EAAAA,sBAAA,iBAAc;AACd,EAAAA,sBAAA,2BAAwB;AACxB,EAAAA,sBAAA,wBAAqB;AACrB,EAAAA,sBAAA,wBAAqB;AACrB,EAAAA,sBAAA,gBAAa;AACb,EAAAA,sBAAA,qBAAkB;AAClB,EAAAA,sBAAA,wBAAqB;AACrB,EAAAA,sBAAA,kCAA+B;AAC/B,EAAAA,sBAAA,0BAAuB;AACvB,EAAAA,sBAAA,mCAAgC;AArCtB,SAAAA;AAAA,GAAA;",
|
|
6
6
|
"names": ["AuditEntity", "AuditEntityAttribute"]
|
|
7
7
|
}
|
|
@@ -27,6 +27,7 @@ export declare enum SystemAuditEntityAttribute {
|
|
|
27
27
|
GENERATION_UPGRADEABLE_TO = "Upgradeable To",
|
|
28
28
|
GENERATION_SUPPORTED_UNTIL = "Supported Until",
|
|
29
29
|
GENERATION_BESPOKE = "Bespoke",
|
|
30
|
+
GENERATION_ARCHIVED = "Archived",
|
|
30
31
|
CHANNEL_NAME = "Name",
|
|
31
32
|
CHANNEL_DESCRIPTION = "Description",
|
|
32
33
|
CHANNEL_DEFAULT_GENERATION = "Default Generation",
|
|
@@ -21,6 +21,7 @@ var SystemAuditEntityAttribute = /* @__PURE__ */ ((SystemAuditEntityAttribute2)
|
|
|
21
21
|
SystemAuditEntityAttribute2["GENERATION_UPGRADEABLE_TO"] = "Upgradeable To";
|
|
22
22
|
SystemAuditEntityAttribute2["GENERATION_SUPPORTED_UNTIL"] = "Supported Until";
|
|
23
23
|
SystemAuditEntityAttribute2["GENERATION_BESPOKE"] = "Bespoke";
|
|
24
|
+
SystemAuditEntityAttribute2["GENERATION_ARCHIVED"] = "Archived";
|
|
24
25
|
SystemAuditEntityAttribute2["CHANNEL_NAME"] = "Name";
|
|
25
26
|
SystemAuditEntityAttribute2["CHANNEL_DESCRIPTION"] = "Description";
|
|
26
27
|
SystemAuditEntityAttribute2["CHANNEL_DEFAULT_GENERATION"] = "Default Generation";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/enums/SystemAuditEntity.enum.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\n/* eslint-disable no-shadow */\nexport enum SystemAuditEntity {\n GENERATION = 'Generation',\n CHANNEL = 'Channel',\n CLUSTER_PLAN = 'Cluster Plan',\n CLUSTER_PLAN_TYPE = 'Cluster Plan Type',\n ALPHA_FEATURE = 'Alpha Feature',\n SALES_PLAN = 'Sales Plan',\n CLUSTER_PLAN_MODIFICATION = 'Cluster Plan Modification',\n CLUSTER_BULK_OPERATION = 'Cluster Bulk Operation',\n CLUSTER_MODIFICATION = 'Cluster Modification',\n CONNECTION = 'Connection',\n RELEASE_TRAIN = 'Release Train',\n CLUSTER = 'Cluster',\n APPROVAL_JOB = 'Approval Request',\n}\n\n/**\n * Display strings for audited attributes. The `entity` + `entityAttribute` pair\n * is always the key, so duplicate display values across entities (e.g. several\n * `*_NAME = 'Name'`) are intentional and safe. `*_STATUS = 'Status'` is the\n * lifecycle attribute for the modification/operation entities; its from/to carry\n * the raw lifecycle state.\n */\nexport enum SystemAuditEntityAttribute {\n // Generation\n GENERATION_NAME = 'Name',\n GENERATION_VERSIONS = 'Versions',\n GENERATION_UPGRADEABLE_FROM = 'Upgradeable From',\n GENERATION_UPGRADEABLE_TO = 'Upgradeable To',\n GENERATION_SUPPORTED_UNTIL = 'Supported Until',\n GENERATION_BESPOKE = 'Bespoke',\n // Channel\n CHANNEL_NAME = 'Name',\n CHANNEL_DESCRIPTION = 'Description',\n CHANNEL_DEFAULT_GENERATION = 'Default Generation',\n CHANNEL_ALLOWED_GENERATIONS = 'Allowed Generations',\n CHANNEL_IS_DEFAULT = 'Is Default',\n // ClusterPlan\n CLUSTER_PLAN_MIGRATABLE_FROM = 'Migratable From',\n CLUSTER_PLAN_PERFORMANCE_EXPECTATIONS = 'Performance Expectations',\n // ClusterPlanType\n CLUSTER_PLAN_TYPE_NAME = 'Name',\n CLUSTER_PLAN_TYPE_DESCRIPTION = 'Description',\n CLUSTER_PLAN_TYPE_DEVELOPMENT = 'Development',\n CLUSTER_PLAN_TYPE_CATEGORY = 'Category',\n CLUSTER_PLAN_TYPE_AVAILABILITY_CLASS = 'Availability Class',\n CLUSTER_PLAN_TYPE_ACTIVE_PLAN = 'Active Plan',\n CLUSTER_PLAN_TYPE_LIMITS = 'Limits',\n // AlphaFeature (EarlyAccessFeature)\n ALPHA_FEATURE_NAME = 'Name',\n ALPHA_FEATURE_AVAILABLE_IN = 'Available In',\n ALPHA_FEATURE_DOCUMENTATION_LINK = 'Documentation Link',\n ALPHA_FEATURE_DESCRIPTION = 'Description',\n ALPHA_FEATURE_ACTION_LABEL = 'Action Label',\n ALPHA_FEATURE_ACTION_URL = 'Action Url',\n ALPHA_FEATURE_CLICKWRAP = 'Clickwrap',\n ALPHA_FEATURE_SALES_PLAN_TYPE_VISIBILITIES = 'Sales Plan Type Visibilities',\n // SalesPlan\n SALES_PLAN_NAME = 'Name',\n SALES_PLAN_METADATA = 'Metadata',\n SALES_PLAN_CLUSTER_PLAN_CONFIGURATION = 'Cluster Plan Configuration',\n SALES_PLAN_VERSION = 'Version',\n // ClusterPlanModification\n CLUSTER_PLAN_MODIFICATION_NAME = 'Name',\n CLUSTER_PLAN_MODIFICATION_DESCRIPTION = 'Description',\n CLUSTER_PLAN_MODIFICATION_CONFIG = 'Config',\n CLUSTER_PLAN_MODIFICATION_CLUSTER_PLANS = 'Cluster Plans',\n CLUSTER_PLAN_MODIFICATION_URL = 'Url',\n CLUSTER_PLAN_MODIFICATION_STATUS = 'Status',\n // ClusterBulkOperation\n CLUSTER_BULK_OPERATION_CLUSTERS = 'Clusters',\n CLUSTER_BULK_OPERATION_STATUS = 'Status',\n // ClusterModification (parent + config)\n CLUSTER_MODIFICATION_DESCRIPTION = 'Description',\n CLUSTER_MODIFICATION_URL = 'Url',\n CLUSTER_MODIFICATION_PLAN_MODIFICATIONS = 'Plan Modifications',\n CLUSTER_MODIFICATION_EXPIRES_AT = 'Expires At',\n CLUSTER_MODIFICATION_STATUS = 'Status',\n // Connection\n CONNECTION_NAME = 'Name',\n CONNECTION_STRATEGY = 'Strategy',\n CONNECTION_CONFIGURATION = 'Configuration',\n // Cluster (internal-only lifecycle actions with no customer-facing audit)\n CLUSTER_IP_ALLOWLIST = 'IP Allowlist',\n CLUSTER_ENV_VAR_OVERRIDE = 'Environment Variable Override',\n // A cluster plan modification that was applied to (and updated) this cluster.\n CLUSTER_APPLIED_PLAN_MODIFICATION = 'Plan Modification',\n // ApprovalJob. Every change of state of a four-eyes request is audited, not\n // only the run: the value of the trail is the answer to \"who decided what,\n // and when\", and a record of the outcome alone cannot give it.\n APPROVAL_JOB_STATUS = 'Status',\n APPROVAL_JOB_ACKS = 'Approvals',\n APPROVAL_JOB_CLOSED_REASON = 'Closure Reason',\n}\n"],
|
|
5
|
-
"mappings": "AAOO,IAAK,oBAAL,kBAAKA,uBAAL;AACL,EAAAA,mBAAA,gBAAa;AACb,EAAAA,mBAAA,aAAU;AACV,EAAAA,mBAAA,kBAAe;AACf,EAAAA,mBAAA,uBAAoB;AACpB,EAAAA,mBAAA,mBAAgB;AAChB,EAAAA,mBAAA,gBAAa;AACb,EAAAA,mBAAA,+BAA4B;AAC5B,EAAAA,mBAAA,4BAAyB;AACzB,EAAAA,mBAAA,0BAAuB;AACvB,EAAAA,mBAAA,gBAAa;AACb,EAAAA,mBAAA,mBAAgB;AAChB,EAAAA,mBAAA,aAAU;AACV,EAAAA,mBAAA,kBAAe;AAbL,SAAAA;AAAA,GAAA;AAuBL,IAAK,6BAAL,kBAAKC,gCAAL;AAEL,EAAAA,4BAAA,qBAAkB;AAClB,EAAAA,4BAAA,yBAAsB;AACtB,EAAAA,4BAAA,iCAA8B;AAC9B,EAAAA,4BAAA,+BAA4B;AAC5B,EAAAA,4BAAA,gCAA6B;AAC7B,EAAAA,4BAAA,wBAAqB;
|
|
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\n/* eslint-disable no-shadow */\nexport enum SystemAuditEntity {\n GENERATION = 'Generation',\n CHANNEL = 'Channel',\n CLUSTER_PLAN = 'Cluster Plan',\n CLUSTER_PLAN_TYPE = 'Cluster Plan Type',\n ALPHA_FEATURE = 'Alpha Feature',\n SALES_PLAN = 'Sales Plan',\n CLUSTER_PLAN_MODIFICATION = 'Cluster Plan Modification',\n CLUSTER_BULK_OPERATION = 'Cluster Bulk Operation',\n CLUSTER_MODIFICATION = 'Cluster Modification',\n CONNECTION = 'Connection',\n RELEASE_TRAIN = 'Release Train',\n CLUSTER = 'Cluster',\n APPROVAL_JOB = 'Approval Request',\n}\n\n/**\n * Display strings for audited attributes. The `entity` + `entityAttribute` pair\n * is always the key, so duplicate display values across entities (e.g. several\n * `*_NAME = 'Name'`) are intentional and safe. `*_STATUS = 'Status'` is the\n * lifecycle attribute for the modification/operation entities; its from/to carry\n * the raw lifecycle state.\n */\nexport enum SystemAuditEntityAttribute {\n // Generation\n GENERATION_NAME = 'Name',\n GENERATION_VERSIONS = 'Versions',\n GENERATION_UPGRADEABLE_FROM = 'Upgradeable From',\n GENERATION_UPGRADEABLE_TO = 'Upgradeable To',\n GENERATION_SUPPORTED_UNTIL = 'Supported Until',\n GENERATION_BESPOKE = 'Bespoke',\n GENERATION_ARCHIVED = 'Archived',\n // Channel\n CHANNEL_NAME = 'Name',\n CHANNEL_DESCRIPTION = 'Description',\n CHANNEL_DEFAULT_GENERATION = 'Default Generation',\n CHANNEL_ALLOWED_GENERATIONS = 'Allowed Generations',\n CHANNEL_IS_DEFAULT = 'Is Default',\n // ClusterPlan\n CLUSTER_PLAN_MIGRATABLE_FROM = 'Migratable From',\n CLUSTER_PLAN_PERFORMANCE_EXPECTATIONS = 'Performance Expectations',\n // ClusterPlanType\n CLUSTER_PLAN_TYPE_NAME = 'Name',\n CLUSTER_PLAN_TYPE_DESCRIPTION = 'Description',\n CLUSTER_PLAN_TYPE_DEVELOPMENT = 'Development',\n CLUSTER_PLAN_TYPE_CATEGORY = 'Category',\n CLUSTER_PLAN_TYPE_AVAILABILITY_CLASS = 'Availability Class',\n CLUSTER_PLAN_TYPE_ACTIVE_PLAN = 'Active Plan',\n CLUSTER_PLAN_TYPE_LIMITS = 'Limits',\n // AlphaFeature (EarlyAccessFeature)\n ALPHA_FEATURE_NAME = 'Name',\n ALPHA_FEATURE_AVAILABLE_IN = 'Available In',\n ALPHA_FEATURE_DOCUMENTATION_LINK = 'Documentation Link',\n ALPHA_FEATURE_DESCRIPTION = 'Description',\n ALPHA_FEATURE_ACTION_LABEL = 'Action Label',\n ALPHA_FEATURE_ACTION_URL = 'Action Url',\n ALPHA_FEATURE_CLICKWRAP = 'Clickwrap',\n ALPHA_FEATURE_SALES_PLAN_TYPE_VISIBILITIES = 'Sales Plan Type Visibilities',\n // SalesPlan\n SALES_PLAN_NAME = 'Name',\n SALES_PLAN_METADATA = 'Metadata',\n SALES_PLAN_CLUSTER_PLAN_CONFIGURATION = 'Cluster Plan Configuration',\n SALES_PLAN_VERSION = 'Version',\n // ClusterPlanModification\n CLUSTER_PLAN_MODIFICATION_NAME = 'Name',\n CLUSTER_PLAN_MODIFICATION_DESCRIPTION = 'Description',\n CLUSTER_PLAN_MODIFICATION_CONFIG = 'Config',\n CLUSTER_PLAN_MODIFICATION_CLUSTER_PLANS = 'Cluster Plans',\n CLUSTER_PLAN_MODIFICATION_URL = 'Url',\n CLUSTER_PLAN_MODIFICATION_STATUS = 'Status',\n // ClusterBulkOperation\n CLUSTER_BULK_OPERATION_CLUSTERS = 'Clusters',\n CLUSTER_BULK_OPERATION_STATUS = 'Status',\n // ClusterModification (parent + config)\n CLUSTER_MODIFICATION_DESCRIPTION = 'Description',\n CLUSTER_MODIFICATION_URL = 'Url',\n CLUSTER_MODIFICATION_PLAN_MODIFICATIONS = 'Plan Modifications',\n CLUSTER_MODIFICATION_EXPIRES_AT = 'Expires At',\n CLUSTER_MODIFICATION_STATUS = 'Status',\n // Connection\n CONNECTION_NAME = 'Name',\n CONNECTION_STRATEGY = 'Strategy',\n CONNECTION_CONFIGURATION = 'Configuration',\n // Cluster (internal-only lifecycle actions with no customer-facing audit)\n CLUSTER_IP_ALLOWLIST = 'IP Allowlist',\n CLUSTER_ENV_VAR_OVERRIDE = 'Environment Variable Override',\n // A cluster plan modification that was applied to (and updated) this cluster.\n CLUSTER_APPLIED_PLAN_MODIFICATION = 'Plan Modification',\n // ApprovalJob. Every change of state of a four-eyes request is audited, not\n // only the run: the value of the trail is the answer to \"who decided what,\n // and when\", and a record of the outcome alone cannot give it.\n APPROVAL_JOB_STATUS = 'Status',\n APPROVAL_JOB_ACKS = 'Approvals',\n APPROVAL_JOB_CLOSED_REASON = 'Closure Reason',\n}\n"],
|
|
5
|
+
"mappings": "AAOO,IAAK,oBAAL,kBAAKA,uBAAL;AACL,EAAAA,mBAAA,gBAAa;AACb,EAAAA,mBAAA,aAAU;AACV,EAAAA,mBAAA,kBAAe;AACf,EAAAA,mBAAA,uBAAoB;AACpB,EAAAA,mBAAA,mBAAgB;AAChB,EAAAA,mBAAA,gBAAa;AACb,EAAAA,mBAAA,+BAA4B;AAC5B,EAAAA,mBAAA,4BAAyB;AACzB,EAAAA,mBAAA,0BAAuB;AACvB,EAAAA,mBAAA,gBAAa;AACb,EAAAA,mBAAA,mBAAgB;AAChB,EAAAA,mBAAA,aAAU;AACV,EAAAA,mBAAA,kBAAe;AAbL,SAAAA;AAAA,GAAA;AAuBL,IAAK,6BAAL,kBAAKC,gCAAL;AAEL,EAAAA,4BAAA,qBAAkB;AAClB,EAAAA,4BAAA,yBAAsB;AACtB,EAAAA,4BAAA,iCAA8B;AAC9B,EAAAA,4BAAA,+BAA4B;AAC5B,EAAAA,4BAAA,gCAA6B;AAC7B,EAAAA,4BAAA,wBAAqB;AACrB,EAAAA,4BAAA,yBAAsB;AAEtB,EAAAA,4BAAA,kBAAe;AACf,EAAAA,4BAAA,yBAAsB;AACtB,EAAAA,4BAAA,gCAA6B;AAC7B,EAAAA,4BAAA,iCAA8B;AAC9B,EAAAA,4BAAA,wBAAqB;AAErB,EAAAA,4BAAA,kCAA+B;AAC/B,EAAAA,4BAAA,2CAAwC;AAExC,EAAAA,4BAAA,4BAAyB;AACzB,EAAAA,4BAAA,mCAAgC;AAChC,EAAAA,4BAAA,mCAAgC;AAChC,EAAAA,4BAAA,gCAA6B;AAC7B,EAAAA,4BAAA,0CAAuC;AACvC,EAAAA,4BAAA,mCAAgC;AAChC,EAAAA,4BAAA,8BAA2B;AAE3B,EAAAA,4BAAA,wBAAqB;AACrB,EAAAA,4BAAA,gCAA6B;AAC7B,EAAAA,4BAAA,sCAAmC;AACnC,EAAAA,4BAAA,+BAA4B;AAC5B,EAAAA,4BAAA,gCAA6B;AAC7B,EAAAA,4BAAA,8BAA2B;AAC3B,EAAAA,4BAAA,6BAA0B;AAC1B,EAAAA,4BAAA,gDAA6C;AAE7C,EAAAA,4BAAA,qBAAkB;AAClB,EAAAA,4BAAA,yBAAsB;AACtB,EAAAA,4BAAA,2CAAwC;AACxC,EAAAA,4BAAA,wBAAqB;AAErB,EAAAA,4BAAA,oCAAiC;AACjC,EAAAA,4BAAA,2CAAwC;AACxC,EAAAA,4BAAA,sCAAmC;AACnC,EAAAA,4BAAA,6CAA0C;AAC1C,EAAAA,4BAAA,mCAAgC;AAChC,EAAAA,4BAAA,sCAAmC;AAEnC,EAAAA,4BAAA,qCAAkC;AAClC,EAAAA,4BAAA,mCAAgC;AAEhC,EAAAA,4BAAA,sCAAmC;AACnC,EAAAA,4BAAA,8BAA2B;AAC3B,EAAAA,4BAAA,6CAA0C;AAC1C,EAAAA,4BAAA,qCAAkC;AAClC,EAAAA,4BAAA,iCAA8B;AAE9B,EAAAA,4BAAA,qBAAkB;AAClB,EAAAA,4BAAA,yBAAsB;AACtB,EAAAA,4BAAA,8BAA2B;AAE3B,EAAAA,4BAAA,0BAAuB;AACvB,EAAAA,4BAAA,8BAA2B;AAE3B,EAAAA,4BAAA,uCAAoC;AAIpC,EAAAA,4BAAA,yBAAsB;AACtB,EAAAA,4BAAA,uBAAoB;AACpB,EAAAA,4BAAA,gCAA6B;AAtEnB,SAAAA;AAAA,GAAA;",
|
|
6
6
|
"names": ["SystemAuditEntity", "SystemAuditEntityAttribute"]
|
|
7
7
|
}
|
package/dist/index.d.ts
CHANGED
|
@@ -10,18 +10,23 @@ export { TRIAL_EXTENSION_SURVEY_QUESTIONS } from './constants/trialExtensionSurv
|
|
|
10
10
|
export { V2_BODY_IDS_MAX, V2_FILTER_IDS_MAX, V2_MAX_PAGE_LIMIT, } from './constants/v2-list.const.js';
|
|
11
11
|
export { ADMIN_APP_RENAME_MIN_VERSION, APP_INTEGRATIONS_89_STREAM_CONNECTOR_BRIDGE_MIN_VERSION, APP_INTEGRATIONS_89_STREAM_MINOR, APP_INTEGRATIONS_89_STREAM_ZEEBE_MIN_VERSION, APP_INTEGRATIONS_MIN_VERSION, AUDIT_LOG_TAB_MIN_VERSION, AUTHORIZATION_TOGGLE_MIN_VERSION, AWS_ONLY_GENERATION_MIN_VERSION, BUSINESS_ID_UNIQUENESS_MIN_VERSION, BYOIDP_MIN_VERSION, CLUSTER_SECRETS_LABEL_MIN_VERSION, CLUSTER_STATISTICS_CONFIG_MIN_VERSION, CONNECTOR_MANAGEMENT_METRICS_MIN_VERSION, CONNECTOR_SECRET_SYNC_MIN_VERSION, CONNECTORS_MANAGEMENT_LINK_MIN_VERSION, ENFORCE_GROUPS_TASKLIST_V2_HIDDEN_MIN_VERSION, ENFORCE_GROUPS_TOGGLE_MIN_VERSION, GATEWAY_SPEC_8_9_MIN_VERSION, HOT_BACKUP_MIN_VERSION, IDENTITY_AUTHORIZATION_MIN_VERSION, IDENTITY_AUTHORIZATION_NOTICE_MAX_VERSION, IDENTITY_MANAGEMENT_MIN_VERSION, INTERNAL_CONNECTORS_MANAGEMENT_MIN_VERSION, JOB_DASHBOARD_MIN_VERSION, LINE_8_9_MIN_VERSION, LINE_8_10_MIN_VERSION, MCP_MIN_VERSION, MULTI_TENANCY_TOGGLE_MIN_VERSION, NEW_CLUSTER_ROLES_MIN_VERSION, OPTIMIZE_DEFAULT_ON_MIN_VERSION, OPTIMIZE_FILTERING_MIN_VERSION, OPTIONAL_TELEMETRY_MIN_VERSION, RESOURCE_BASED_AUTHORIZATIONS_MIN_VERSION, REST_API_URL_TRANSFORM_MIN_VERSION, REST_API_V2_MIN_VERSION, RESUME_ALPHA_MIN_VERSION, SECRET_SOURCE_MIN_VERSION, SECRETS_FILTER_MODE_8_6_MIN_VERSION, SECRETS_FILTER_MODE_8_7_MIN_VERSION, SECRETS_FILTER_MODE_8_8_MIN_VERSION, SECRETS_FILTER_MODE_8_9_MIN_VERSION, SECRETS_FILTER_MODE_8_10_MIN_VERSION, SESSION_CONFIG_MIN_VERSION, SWAGGER_MIN_VERSION, SWAGGER_URL_8_9_MIN_VERSION, TASKLIST_MODE_TOGGLE_MIN_VERSION, TASKLIST_UPGRADE_BANNER_MIN_VERSION, TASKLIST_V2_AUTO_ENABLE_FROM_MINOR, TASKLIST_V2_AUTO_ENABLE_TO_MINOR, TASKLIST_V2_DEFAULT_ON_MIN_VERSION, TASKLIST_V2_SETTING_MAX_VERSION, TASKLIST_V2_UPGRADE_MIN_VERSION, TASKLIST_V2_UPGRADE_TARGET_MIN_VERSION, ZEEBE_REST_URL_MIN_VERSION, } from './constants/version-gates.const.js';
|
|
12
12
|
export type { ApprovalActorView, ApprovalDecision, ApprovalDenialCode, } from './approvals/policy.js';
|
|
13
|
-
export { canAcknowledge, canCreate, canExecute, canReject, canWithdraw, effectiveStatus, isExpired, isSameActorEmail, remainingAcks, } from './approvals/policy.js';
|
|
13
|
+
export { canAcknowledge, canCreate, canExecute, canReject, canView, canWithdraw, effectiveStatus, hasActorEmail, hasEveryPermission, isExpired, isSameActorEmail, remainingAcks, requiredPermissionsOf, resolveRequiredAcks, } from './approvals/policy.js';
|
|
14
|
+
export type { ApprovalUseCaseType } from './approvals/use-cases.const.js';
|
|
15
|
+
export { APPROVAL_USE_CASE_TYPES, EXTEND_TRIAL_MAX_DAYS, EXTEND_TRIAL_MIN_DAYS, } from './approvals/use-cases.const.js';
|
|
14
16
|
export type { ALERT_SUBSCRIPTION_REPORT_TYPES, ALERT_SUBSCRIPTION_TYPES, AlertSubscriptionDto, AlertSubscriptionEntryDto, AlertSubscriptionWebhookAuth, CheckFailedReason, } from './dtos/AlertSubscription.dto.js';
|
|
15
17
|
export { FORBIDDEN_HOSTNAMES_FOR_WEBHOOK_ALERTS, HMAC_HEADER_POSITION, HMAC_SUPPORTED_ALGORITHM, } from './dtos/AlertSubscription.dto.js';
|
|
16
|
-
export type { ApprovalAck, ApprovalActor, ApprovalExecutionMode, ApprovalJobDto, ApprovalJobStatus, ApprovalUseCaseDto, } from './dtos/ApprovalJob.dto.js';
|
|
17
|
-
export { APPROVAL_JOB_STATUSES } from './dtos/ApprovalJob.dto.js';
|
|
18
|
+
export type { ApprovalAck, ApprovalActionMode, ApprovalActor, ApprovalExecutionMode, ApprovalJobDto, ApprovalJobStatus, ApprovalProgress, ApprovalSummaryField, ApprovalSummaryFieldKind, ApprovalSummaryValue, ApprovalUseCaseDto, } from './dtos/ApprovalJob.dto.js';
|
|
19
|
+
export { APPROVAL_JOB_STATUSES, APPROVAL_LIVE_STATUSES, APPROVAL_PAGE_SIZE_DEFAULT, APPROVAL_PAGE_SIZE_MAX, APPROVAL_RUN_STALE_MS, APPROVAL_SUMMARY_FIELD_KINDS, isRunStalled, progressFraction, } from './dtos/ApprovalJob.dto.js';
|
|
18
20
|
export type { AuditDto } from './dtos/Audit.dto.js';
|
|
19
21
|
export type { Auth0ResourceServerDto } from './dtos/Auth0ResourceServer.dto.js';
|
|
20
22
|
export type { BackupDto } from './dtos/Backup.dto.js';
|
|
21
23
|
export type { BackupScheduleDto } from './dtos/BackupSchedule.dto.js';
|
|
22
24
|
export type { ByomClientDto, ByomStatus } from './dtos/ByomClient.dto.js';
|
|
25
|
+
export type { ClusterCreationDefaultField, ClusterCreationDefaultKey, ClusterCreationDefaults, } from './dtos/ClusterCreationDefaults.dto.js';
|
|
26
|
+
export { CLUSTER_CREATION_DEFAULT_FIELDS } from './dtos/ClusterCreationDefaults.dto.js';
|
|
23
27
|
export type { ClusterDeferredSpecChange, DeferredSpecChangeType, } from './dtos/ClusterDeferredSpecChange.dto.js';
|
|
24
28
|
export type { ClusterIpWhitelistDto } from './dtos/ClusterIpWhitelist.dto.js';
|
|
29
|
+
export type { MoveClusterOwnerResult, MoveClusterWarnings, } from './dtos/ClusterOwnerMove.dto.js';
|
|
25
30
|
export type { ClusterPlanDto } from './dtos/ClusterPlan.dto.js';
|
|
26
31
|
export type { ClusterPlanTypeDto } from './dtos/ClusterPlanType.dto.js';
|
|
27
32
|
export type { ClusterSpecChange, ClusterSpecChangeActor, ClusterSpecHistory, } from './dtos/ClusterSpecHistory.dto.js';
|
|
@@ -31,7 +36,7 @@ export type { ClusterActivityBucket, ClusterActivityTile, ClusterActivityV2Dto,
|
|
|
31
36
|
export type { EarlyAccessFeatureDto } from './dtos/EarlyAccessFeature.dto.js';
|
|
32
37
|
export type { CamundaWebApp, CamundaWebAppWithZeebe, ExternalClusterDto, ExternalOrganizationDto, } from './dtos/ExternalWebapp.dto.js';
|
|
33
38
|
export type { Features } from './dtos/FeatureFlags.dto.js';
|
|
34
|
-
export { compareGenerationNamesNewestFirst, type GenerationDto, type GenerationWithClusterCountDto, sortGenerationBySemverOfZeebe, type UpgradableGenerationsDto, } from './dtos/Generations.dto.js';
|
|
39
|
+
export { activeGenerations, compareGenerationNamesNewestFirst, type GenerationDto, type GenerationWithClusterCountDto, sortGenerationBySemverOfZeebe, type UpgradableGenerationsDto, } from './dtos/Generations.dto.js';
|
|
35
40
|
export type { Hdp } from './dtos/Hdp.dto.js';
|
|
36
41
|
export type { K8sConfig, K8sConfigLegacyFormat, K8sContext, K8sContextDto, } from './dtos/K8sContext.dto.js';
|
|
37
42
|
export type { MetaDto } from './dtos/Meta.dto.js';
|
|
@@ -68,7 +73,7 @@ export { SystemAuditEntity, SystemAuditEntityAttribute, } from './enums/SystemAu
|
|
|
68
73
|
export { AccountsPermissions } from './permissions/accounts.permissions.js';
|
|
69
74
|
export { AlertDistributorPermissions } from './permissions/alert-distributor.permissions.js';
|
|
70
75
|
export { AuditLoggerPermissions } from './permissions/auditlogger.permissions.js';
|
|
71
|
-
export { accountsUserFeaturesFromPermissions, consoleUserFeaturesFromPermissions, } from './permissions/combo.js';
|
|
76
|
+
export { accountsUserFeaturesFromPermissions, consoleUserFeaturesFromPermissions, sessionHasPermission, sessionPermissionKeysFor, } from './permissions/combo.js';
|
|
72
77
|
export { ConsolePermissions } from './permissions/console.permissions.js';
|
|
73
78
|
export { NotificationPermissions } from './permissions/notification.permissions.js';
|
|
74
79
|
export type { OnboardConfig } from './permissions/profile.permissions.js';
|
|
@@ -90,7 +95,7 @@ export type { ClusterBulkOperationAck, ClusterBulkOperationClusterDto, ClusterBu
|
|
|
90
95
|
export type { ClusterModificationConfigDto, ClusterModificationDto, } from './types/ClusterModification.type.js';
|
|
91
96
|
export { CLUSTER_PLAN_FIELDS, type ClusterPlanFieldSpec, type ClusterPlanFieldTree, isClusterPlanFieldSpec, } from './types/ClusterPlanFields.type.js';
|
|
92
97
|
export type { ClusterPlanModificationAck, ClusterPlanModificationConfig, ClusterPlanModificationDto, } from './types/ClusterPlanModification.type.js';
|
|
93
|
-
export { ClusterPlanTypeAvailabilityClass, sortByAvailabilityClasses, } from './types/ClusterPlanTypeAvailabilityClass.type.js';
|
|
98
|
+
export { ClusterPlanTypeAvailabilityClass, hasNoAvailabilityClass, sortByAvailabilityClasses, } from './types/ClusterPlanTypeAvailabilityClass.type.js';
|
|
94
99
|
export { ClusterPlanTypeCategory, hasAvailabilityClass, sortByClusterPlanTypeCategory, } from './types/ClusterPlanTypeCategory.type.js';
|
|
95
100
|
export type { ClusterPlanTypesToConfig } from './types/ClusterPlanTypesToConfig.type.js';
|
|
96
101
|
export type { ClusterPlanTypesToReserved } from './types/ClusterPlanTypesToReserved.type.js';
|
|
@@ -147,7 +152,7 @@ export { deriveSecondaryStorageStatus, type SecondaryStorageStatus, } from './ut
|
|
|
147
152
|
export { allSettledResultsCounts, getFulfilledPromises, getRejectedPromises, getSettledSummary, } from './utils/settledPromises.util.js';
|
|
148
153
|
export { isValidAwsArn, isValidCIDR, isValidCIDRList, isValidClientName, isValidHostname, isValidPrivateLinkRegion, normalizeCIDRList, } from './utils/string-validation.utils.js';
|
|
149
154
|
export { extractCamundaUserEmail, guessName, isCamundaUserId, } from './utils/user.utils.js';
|
|
150
|
-
export { checkVersion, isAppIntegrationsVersionSupported, isGenerationResumable, isSecretsFilterModeConfigurable, stripSecfixPostfix, VersionCheckOperator, } from './utils/versionCheck.utils.js';
|
|
155
|
+
export { checkVersion, generationImageErrorMessage, isAppIntegrationsVersionSupported, isGenerationResumable, isSecretsFilterModeConfigurable, isValidGenerationImage, normalizeGenerationVersion, stripSecfixPostfix, VersionCheckOperator, } from './utils/versionCheck.utils.js';
|
|
151
156
|
export { default as CAMUNDI_PERMISSION_RULES } from './config/camundi-permission-rules.js';
|
|
152
157
|
export type { CamundiPermissionRules } from './config/camundi-permission-rules.types.js';
|
|
153
158
|
export { augmentCamundiPermissions, getApplicableRolesForEmployee, HIBOB_CACHE_KEY, HIBOB_CACHE_NAMESPACE, isManager, } from './utils/camundiPermissionAugmenter.utils.js';
|