@camunda/ccma-shared-types 7.5.0 → 7.6.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/utils/jvmOptions.spec.d.ts +1 -0
- package/dist/dtos/ControlV2.dto.d.ts +8 -0
- package/dist/index.d.ts +3 -1
- package/dist/index.js +30 -0
- package/dist/index.js.map +2 -2
- package/dist/types/ClusterUsageMetrics.type.d.ts +22 -0
- package/dist/utils/jvmOptions.d.ts +80 -0
- package/dist/utils/jvmOptions.js +120 -0
- package/dist/utils/jvmOptions.js.map +7 -0
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { CamundaClusterStage } from '../types/CamundaClusterLabels.type.js';
|
|
2
|
+
import type { ClusterPlanTypesToReserved } from '../types/ClusterPlanTypesToReserved.type.js';
|
|
2
3
|
import type { ClusterTtlDto } from '../types/ClusterTtl.type.js';
|
|
3
4
|
import type { SalesPlanType } from '../types/SalesPlanType.type.js';
|
|
4
5
|
import type { LicensingModelType } from './Organization.dto.js';
|
|
@@ -58,6 +59,13 @@ export interface OrgListItemV2Dto {
|
|
|
58
59
|
enterpriseDevOnly?: boolean;
|
|
59
60
|
/** Org metadata: which licensing model prices the org. */
|
|
60
61
|
licensingModel?: LicensingModelType;
|
|
62
|
+
/**
|
|
63
|
+
* The cluster plan types the org reserved, by plan type uuid, with the
|
|
64
|
+
* count. Absent when the org has no sales plan, and also when it has one
|
|
65
|
+
* that holds no reserved map (the column is nullable). The export of
|
|
66
|
+
* reservations and clusters of the Organizations page reads it.
|
|
67
|
+
*/
|
|
68
|
+
clusterPlanTypesToReserved?: ClusterPlanTypesToReserved;
|
|
61
69
|
}
|
|
62
70
|
export interface ListOrganizationsV2Params extends CursorParams {
|
|
63
71
|
q?: string;
|
package/dist/index.d.ts
CHANGED
|
@@ -118,7 +118,7 @@ export type { ClusterPlanTypesToConfig } from './types/ClusterPlanTypesToConfig.
|
|
|
118
118
|
export type { ClusterPlanTypesToReserved } from './types/ClusterPlanTypesToReserved.type.js';
|
|
119
119
|
export type { ClusterTtlDeletionPayload, ClusterTtlDeletionResult, ClusterTtlDto, ClusterTtlDuration, ClusterTtlOption, ClusterTtlUnlimited, UpdateClusterTtlBody, } from './types/ClusterTtl.type.js';
|
|
120
120
|
export { CLUSTER_TTL_BACKFILL_REASON, CLUSTER_TTL_DURATION_MS, CLUSTER_TTL_DURATIONS, CLUSTER_TTL_FEATURE_FLAG, CLUSTER_TTL_OPTIONS, CLUSTER_TTL_UNLIMITED_LINK_MAX_LENGTH, CLUSTER_TTL_UNLIMITED_REASON_MAX_LENGTH, clusterTtlExpiresAt, DEFAULT_CLUSTER_TTL_OPTION, extendClusterTtl, isClusterTtlDuration, isClusterTtlOption, isClusterTtlStage, isHttpUrl, isPastClusterTtl, validateClusterTtlUnlimited, } from './types/ClusterTtl.type.js';
|
|
121
|
-
export type { ClusterUsageDataRequest, ClusterUsageMetricsAddRequestByMetricHeap, ClusterUsageMetricsData, ClusterUsageMetricsFilter, ClusterUsageOrgStartDate, } from './types/ClusterUsageMetrics.type.js';
|
|
121
|
+
export type { ClusterUsageDataRequest, ClusterUsageMetadataDto, ClusterUsageMetricsAddRequestByMetricHeap, ClusterUsageMetricsData, ClusterUsageMetricsFilter, ClusterUsageOrgStartDate, } from './types/ClusterUsageMetrics.type.js';
|
|
122
122
|
export { ConsoleSM } from './types/ConsoleSelfManaged.type.js';
|
|
123
123
|
export type { ConsoleSMAdminApi } from './types/ConsoleSelfManagedAdminApi.type.js';
|
|
124
124
|
export type { DashboardConfig, DashboardMappingItem, DashboardMappingTarget, DashboardResultPrimitive, DashboardResultRow, EngineeringOperationsDashboardResponse, } from './types/Dashboard.types.js';
|
|
@@ -162,6 +162,8 @@ export { addMonthsClamped, DEFAULT_ENTERPRISE_DURATION_IN_MONTHS, diffInWholeMon
|
|
|
162
162
|
export type { EnvVarEntry } from './utils/envVars.js';
|
|
163
163
|
export { parseEnvVars, serializeEnvVars } from './utils/envVars.js';
|
|
164
164
|
export { deriveFailoverKeyPolicyPrincipals, type FailoverKeyPolicyPrincipals, } from './utils/failoverKeyPolicy.utils.js';
|
|
165
|
+
export type { JvmOptionsModificationKey, ParsedJvmOption, } from './utils/jvmOptions.js';
|
|
166
|
+
export { addsEnvVarsOverrideValue, isJvmOptionsModificationKey, isUnderJvmSpec, JVM_OPTION_MAX_LENGTH, JVM_OPTION_PATTERN, JVM_OPTIONS_MAX_ITEMS, JVM_OPTIONS_MODIFICATION_KEYS, JVM_OPTIONS_TARGETS, joinJvmOptions, parseJvmOption, requiresEnvVarsOverride, splitJvmOptions, validateJvmOptions, validateJvmOptionsValue, } from './utils/jvmOptions.js';
|
|
165
167
|
export { KMS_ARN, KMS_MRK_ARN, type KmsArnValidationError, type ParsedKmsArn, parseKmsArn, validateKmsArnForRegion, } from './utils/kmsArn.utils.js';
|
|
166
168
|
export { validateLabels } from './utils/labelValidator.utils.js';
|
|
167
169
|
export { ObjectMergeUtils } from './utils/objectMerge.utils.js';
|
package/dist/index.js
CHANGED
|
@@ -491,6 +491,22 @@ import { parseEnvVars, serializeEnvVars } from "./utils/envVars.js";
|
|
|
491
491
|
import {
|
|
492
492
|
deriveFailoverKeyPolicyPrincipals
|
|
493
493
|
} from "./utils/failoverKeyPolicy.utils.js";
|
|
494
|
+
import {
|
|
495
|
+
addsEnvVarsOverrideValue,
|
|
496
|
+
isJvmOptionsModificationKey,
|
|
497
|
+
isUnderJvmSpec,
|
|
498
|
+
JVM_OPTION_MAX_LENGTH,
|
|
499
|
+
JVM_OPTION_PATTERN,
|
|
500
|
+
JVM_OPTIONS_MAX_ITEMS,
|
|
501
|
+
JVM_OPTIONS_MODIFICATION_KEYS,
|
|
502
|
+
JVM_OPTIONS_TARGETS,
|
|
503
|
+
joinJvmOptions,
|
|
504
|
+
parseJvmOption,
|
|
505
|
+
requiresEnvVarsOverride,
|
|
506
|
+
splitJvmOptions,
|
|
507
|
+
validateJvmOptions,
|
|
508
|
+
validateJvmOptionsValue
|
|
509
|
+
} from "./utils/jvmOptions.js";
|
|
494
510
|
import {
|
|
495
511
|
KMS_ARN,
|
|
496
512
|
KMS_MRK_ARN,
|
|
@@ -727,6 +743,11 @@ export {
|
|
|
727
743
|
INTERNAL_LOW_HARDWARE_PLAN_NAME,
|
|
728
744
|
ImmutableThings,
|
|
729
745
|
JOB_DASHBOARD_MIN_VERSION,
|
|
746
|
+
JVM_OPTIONS_MAX_ITEMS,
|
|
747
|
+
JVM_OPTIONS_MODIFICATION_KEYS,
|
|
748
|
+
JVM_OPTIONS_TARGETS,
|
|
749
|
+
JVM_OPTION_MAX_LENGTH,
|
|
750
|
+
JVM_OPTION_PATTERN,
|
|
730
751
|
KMS_ARN,
|
|
731
752
|
KMS_MRK_ARN,
|
|
732
753
|
LICENSING_MODEL_DISPLAY_NAMES,
|
|
@@ -834,6 +855,7 @@ export {
|
|
|
834
855
|
accountsUserFeaturesFromPermissions,
|
|
835
856
|
activeGenerations,
|
|
836
857
|
addMonthsClamped,
|
|
858
|
+
addsEnvVarsOverrideValue,
|
|
837
859
|
allClusterBasedLimits,
|
|
838
860
|
allSalesPlanLimits,
|
|
839
861
|
allSettledResultsCounts,
|
|
@@ -935,6 +957,7 @@ export {
|
|
|
935
957
|
isGenerationResumable,
|
|
936
958
|
isHttpUrl,
|
|
937
959
|
isIsBulkClusterGenerationUpdateIten,
|
|
960
|
+
isJvmOptionsModificationKey,
|
|
938
961
|
isLimitKeyEnabled,
|
|
939
962
|
isLimitOfferedOnStage,
|
|
940
963
|
isLuceneQueryError,
|
|
@@ -952,6 +975,7 @@ export {
|
|
|
952
975
|
isSameApprovalValue,
|
|
953
976
|
isSecretsFilterModeConfigurable,
|
|
954
977
|
isSleepCronEligible,
|
|
978
|
+
isUnderJvmSpec,
|
|
955
979
|
isUnlockedClusterPlansStage,
|
|
956
980
|
isValidAwsArn,
|
|
957
981
|
isValidCIDR,
|
|
@@ -961,6 +985,7 @@ export {
|
|
|
961
985
|
isValidHostname,
|
|
962
986
|
isValidPrivateLinkRegion,
|
|
963
987
|
joinIdSet,
|
|
988
|
+
joinJvmOptions,
|
|
964
989
|
likeArgument,
|
|
965
990
|
normalizeCIDRList,
|
|
966
991
|
normalizeGenerationVersion,
|
|
@@ -968,6 +993,7 @@ export {
|
|
|
968
993
|
organizationAssignmentsToEnterpriseConnectionMetadata,
|
|
969
994
|
parseChartQuery,
|
|
970
995
|
parseEnvVars,
|
|
996
|
+
parseJvmOption,
|
|
971
997
|
parseKmsArn,
|
|
972
998
|
parseKubernetesQuantity,
|
|
973
999
|
parseLuceneQuery,
|
|
@@ -981,6 +1007,7 @@ export {
|
|
|
981
1007
|
readChartSpec,
|
|
982
1008
|
remainingAcks,
|
|
983
1009
|
requiredPermissionsOf,
|
|
1010
|
+
requiresEnvVarsOverride,
|
|
984
1011
|
resolveRequiredAcks,
|
|
985
1012
|
serializeEnvVars,
|
|
986
1013
|
sessionHasPermission,
|
|
@@ -988,6 +1015,7 @@ export {
|
|
|
988
1015
|
sortByAvailabilityClasses,
|
|
989
1016
|
sortByClusterPlanTypeCategory,
|
|
990
1017
|
sortGenerationBySemverOfZeebe,
|
|
1018
|
+
splitJvmOptions,
|
|
991
1019
|
staleApprovalKeys,
|
|
992
1020
|
stripSecfixPostfix,
|
|
993
1021
|
tilesOverlap,
|
|
@@ -1000,6 +1028,8 @@ export {
|
|
|
1000
1028
|
validateChartSpec,
|
|
1001
1029
|
validateClusterTtlUnlimited,
|
|
1002
1030
|
validateCronSchedule,
|
|
1031
|
+
validateJvmOptions,
|
|
1032
|
+
validateJvmOptionsValue,
|
|
1003
1033
|
validateKmsArnForRegion,
|
|
1004
1034
|
validateLabels
|
|
1005
1035
|
};
|
package/dist/index.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/index.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// ============================================================================\n// Constants (runtime values)\n// ============================================================================\n\nexport {\n CUSTOM_GENERATION_MAX_PER_REQUESTER,\n CUSTOM_GENERATION_MAX_UPGRADEABLE_FROM,\n CUSTOM_GENERATION_NAME_MAX_LENGTH,\n CUSTOM_GENERATION_NAME_MIN_LENGTH,\n checkNewGenerationVersions,\n isCustomGenerationStage,\n} from './constants/custom-generation.const.js'\nexport {\n CUSTOM_HARDWARE_SIZING_BROKER_TOTAL_CAPS,\n CUSTOM_HARDWARE_SIZING_COUNT_CAPS,\n CUSTOM_HARDWARE_SIZING_ELASTICSEARCH_TOTAL_CAPS,\n CUSTOM_HARDWARE_SIZING_MAX_AUTO_RESIZE_INCREASE_GI,\n CUSTOM_HARDWARE_SIZING_MAX_PLAN_JSON_LENGTH,\n CUSTOM_HARDWARE_SIZING_MAX_PLANS_PER_REQUESTER,\n CUSTOM_HARDWARE_SIZING_NAME_MAX_LENGTH,\n CUSTOM_HARDWARE_SIZING_NAME_MIN_LENGTH,\n CUSTOM_HARDWARE_SIZING_REPLICA_SET_TOTAL_CAPS,\n CUSTOM_HARDWARE_SIZING_RESOURCE_CAPS,\n checkCustomHardwareSizing,\n isCustomHardwareSizingStage,\n parseKubernetesQuantity,\n} from './constants/custom-hardware-sizing.const.js'\nexport { DAY, HOUR, MINUTE, SECOND, WEEK } from './constants/duration.const.js'\nexport type { Stage } from './constants/misc.const.js'\nexport {\n CAMUNDA_CLAIMS_NAMESPACE,\n CONSOLE_API_USER_ID,\n FIRSTNAME_LASTNAME_MAX_LENGTH,\n HOTBACKUP_MIN_CREATE_PERIOD,\n MAX_HARDWARE_PACKAGE_COUNT,\n MAX_LENGTH_CLUSTER_NAME,\n MINIMUM_EYEPAIRS,\n NAMES_OF_ENTERPRISE_SALESPLANS_WITH_SLEEPING_CLUSTERS,\n SECRETS_MAX_LENGTH,\n STARTING_PRICE_PER_MONTH_IN_EURO,\n TEMPORARY_CLUSTER_NAME,\n UNKNOWN_ACTOR_EMAIL,\n} from './constants/misc.const.js'\nexport {\n getGatewayPropertyHint,\n getGatewayPropertyPath,\n isAffectedByStreamlinedDeployment,\n isPre89AffectedPath,\n PRE89_AFFECTED_PATHS,\n PRE89_AFFECTED_PROPERTY_PREFIXES,\n PRE89_GATEWAY_PROPERTY_PATHS,\n PRE89_GATEWAY_RESOURCE_PREFIXES,\n} from './constants/pre89EnvVarMapping.const.js'\nexport { PRIVATE_LINK_REGIONS } from './constants/privateLinkRegions.const.js'\nexport { SECURE_CONNECTIVITY_ALLOWED_ENTRIES_LIMIT } from './constants/secureConnectivity.const.js'\nexport type {\n TrialExtensionSurveyAnswer,\n TrialExtensionSurveyQuestion,\n} from './constants/trialExtensionSurvey.const.js'\nexport { TRIAL_EXTENSION_SURVEY_QUESTIONS } from './constants/trialExtensionSurvey.const.js'\nexport {\n V2_BODY_IDS_MAX,\n V2_FILTER_IDS_MAX,\n V2_MAX_PAGE_LIMIT,\n} from './constants/v2-list.const.js'\nexport {\n ADMIN_APP_RENAME_MIN_VERSION,\n APP_INTEGRATIONS_89_STREAM_CONNECTOR_BRIDGE_MIN_VERSION,\n APP_INTEGRATIONS_89_STREAM_MINOR,\n APP_INTEGRATIONS_89_STREAM_ZEEBE_MIN_VERSION,\n APP_INTEGRATIONS_MIN_VERSION,\n AUDIT_LOG_TAB_MIN_VERSION,\n AUTHORIZATION_TOGGLE_MIN_VERSION,\n AWS_ONLY_GENERATION_MIN_VERSION,\n BUSINESS_ID_UNIQUENESS_MIN_VERSION,\n BYOIDP_MIN_VERSION,\n CLUSTER_SECRETS_LABEL_MIN_VERSION,\n CLUSTER_STATISTICS_CONFIG_MIN_VERSION,\n CONNECTOR_MANAGEMENT_METRICS_MIN_VERSION,\n CONNECTOR_SECRET_SYNC_MIN_VERSION,\n CONNECTORS_MANAGEMENT_LINK_MIN_VERSION,\n ENFORCE_GROUPS_TASKLIST_V2_HIDDEN_MIN_VERSION,\n ENFORCE_GROUPS_TOGGLE_MIN_VERSION,\n GATEWAY_SPEC_8_9_MIN_VERSION,\n HOT_BACKUP_MIN_VERSION,\n IDENTITY_AUTHORIZATION_MIN_VERSION,\n IDENTITY_AUTHORIZATION_NOTICE_MAX_VERSION,\n IDENTITY_MANAGEMENT_MIN_VERSION,\n INTERNAL_CONNECTORS_MANAGEMENT_MIN_VERSION,\n JOB_DASHBOARD_MIN_VERSION,\n LINE_8_9_MIN_VERSION,\n LINE_8_10_MIN_VERSION,\n MCP_MIN_VERSION,\n MULTI_TENANCY_TOGGLE_MIN_VERSION,\n NEW_CLUSTER_ROLES_MIN_VERSION,\n OPTIMIZE_DEFAULT_ON_MIN_VERSION,\n OPTIMIZE_FILTERING_MIN_VERSION,\n OPTIONAL_TELEMETRY_MIN_VERSION,\n RESOURCE_BASED_AUTHORIZATIONS_MIN_VERSION,\n REST_API_URL_TRANSFORM_MIN_VERSION,\n REST_API_V2_MIN_VERSION,\n RESUME_ALPHA_MIN_VERSION,\n SECRET_SOURCE_MIN_VERSION,\n SECRETS_FILTER_MODE_8_6_MIN_VERSION,\n SECRETS_FILTER_MODE_8_7_MIN_VERSION,\n SECRETS_FILTER_MODE_8_8_MIN_VERSION,\n SECRETS_FILTER_MODE_8_9_MIN_VERSION,\n SECRETS_FILTER_MODE_8_10_MIN_VERSION,\n SESSION_CONFIG_MIN_VERSION,\n SWAGGER_MIN_VERSION,\n SWAGGER_URL_8_9_MIN_VERSION,\n TASKLIST_MODE_TOGGLE_MIN_VERSION,\n TASKLIST_UPGRADE_BANNER_MIN_VERSION,\n TASKLIST_V2_AUTO_ENABLE_FROM_MINOR,\n TASKLIST_V2_AUTO_ENABLE_TO_MINOR,\n TASKLIST_V2_DEFAULT_ON_MIN_VERSION,\n TASKLIST_V2_SETTING_MAX_VERSION,\n TASKLIST_V2_UPGRADE_MIN_VERSION,\n TASKLIST_V2_UPGRADE_TARGET_MIN_VERSION,\n UPGRADE_READINESS_MIN_VERSION,\n ZEEBE_REST_URL_MIN_VERSION,\n} from './constants/version-gates.const.js'\n\n// ============================================================================\n// DTOs - Types (interfaces and type aliases)\n// ============================================================================\n\n// Annotations - the notes and the tags that a Camundi attaches to a fleet\n// entity. The wire types and the rules are pure and browser-safe, so\n// control-backend and control-frontend run the same code.\nexport type {\n AnnotationActorView,\n AnnotationDecision,\n AnnotationDenialCode,\n} from './annotations/policy.js'\nexport {\n ANNOTATION_DENIAL_MESSAGES,\n canEditNote,\n canRemove,\n checkNoteBody,\n checkTagName,\n isAuthor,\n} from './annotations/policy.js'\nexport type {\n ClusterBulkClusterResultDto,\n ClusterBulkFinalStatus,\n ClusterBulkGenerationUpdateSettings,\n ClusterBulkOperationPayloadDto,\n ClusterBulkOperationRule,\n ClusterBulkPlanTypeUpdateSettings,\n ClusterBulkPlanUpdateSettings,\n ClusterBulkSettingsByType,\n ClusterBulkSleepWakeupSettings,\n ClusterBulkStepRequestDto,\n ClusterBulkStepResultDto,\n ClusterBulkTargetDto,\n} from './approvals/cluster-bulk-operation.js'\nexport {\n CLUSTER_BULK_OPERATION_CLUSTER_NAME_MAX_LENGTH,\n CLUSTER_BULK_OPERATION_MAX_CLUSTERS,\n CLUSTER_BULK_OPERATION_MIN_ACKS,\n CLUSTER_BULK_OPERATION_NAME_MAX_LENGTH,\n CLUSTER_BULK_OPERATION_RULES,\n CLUSTER_BULK_OPERATION_TEST_STAGE_MIN_ACKS,\n CLUSTER_BULK_OPERATION_TYPES,\n CLUSTER_BULK_SLEEPING_CLUSTER_DELAY_MS,\n clusterBulkOperationTypeOf,\n clusterBulkParameterOf,\n clusterBulkRequiredPermissions,\n clusterBulkResultOf,\n isClusterBulkYolo,\n} from './approvals/cluster-bulk-operation.js'\nexport {\n DNS_SUBDOMAIN_MAX_LENGTH,\n isDnsSubdomain,\n} from './approvals/dns-subdomain.js'\nexport type { ApprovalExpectedChange } from './approvals/expected-value.js'\nexport {\n isSameApprovalValue,\n staleApprovalKeys,\n} from './approvals/expected-value.js'\nexport type {\n ApprovalActorView,\n ApprovalDecision,\n ApprovalDenialCode,\n} from './approvals/policy.js'\nexport {\n approvalPermissionCheck,\n canAcknowledge,\n canCreate,\n canExecute,\n canReject,\n canView,\n canWithdraw,\n effectiveStatus,\n hasActorEmail,\n hasEveryPermission,\n isExpired,\n isSameActor,\n isSameActorEmail,\n remainingAcks,\n requiredPermissionsOf,\n resolveRequiredAcks,\n} from './approvals/policy.js'\nexport type { ApprovalUseCaseType } from './approvals/use-cases.const.js'\nexport {\n APPROVAL_EMAIL_MAX_LENGTH,\n APPROVAL_EMAIL_PATTERN,\n APPROVAL_USE_CASE_TYPES,\n EXTEND_TRIAL_MAX_DAYS,\n EXTEND_TRIAL_MIN_DAYS,\n FEATURE_FLAG_MIN_ACKS_PROD,\n ORG_LIMIT_TEXT_MAX_LENGTH,\n PERSONAL_ORGANIZATION_MAX_PER_REQUESTER,\n PERSONAL_ORGANIZATION_NAME_MAX_LENGTH,\n PERSONAL_ORGANIZATION_NAME_MIN_LENGTH,\n PLATFORM_ROLE_CHANGE_MAX_ROLES,\n PURGE_USERS_MAX_USERS,\n PURGE_USERS_REQUIRED_PERMISSIONS,\n USER_METADATA_EXPECTED_MAX_LENGTH,\n USER_METADATA_MAX_LENGTH,\n} from './approvals/use-cases.const.js'\n// The chart query of a dashboard tile (catalogue, language, result).\nexport {\n CHART_DAY_GRAIN_MAX_DAYS,\n CHART_FILTER_MAX_LENGTH,\n CHART_GRAIN_DEFAULT,\n CHART_GRAINS,\n CHART_ID_MAX_LENGTH,\n CHART_METRICS,\n CHART_OTHER_SERIES_KEY,\n CHART_QUERY_MAX_LENGTH,\n CHART_TOP_DEFAULT,\n CHART_TOP_MAX,\n CHART_UNKNOWN_SERIES_KEY,\n CHART_WINDOW_AMOUNT_MAX,\n CHART_WINDOW_DEFAULT,\n CHART_WINDOW_UNITS,\n type ChartDimensionSpec,\n type ChartGrain,\n type ChartMetricSpec,\n type ChartPoint,\n type ChartQueryCheck,\n ChartQueryError,\n type ChartQueryErrorKind,\n type ChartQueryOptions,\n type ChartResult,\n type ChartSeries,\n type ChartSpec,\n type ChartUnit,\n type ChartWindow,\n type ChartWindowUnit,\n chartBucketStart,\n chartToday,\n chartWindowRange,\n findChartDimension,\n findChartMetric,\n formatChartSpec,\n isChartQueryError,\n parseChartQuery,\n readChartSpec,\n validateChartSpec,\n} from './charts/index.js'\n// Dashboards - the tiles of a dashboard hold filters and never data. The\n// wire types and the placement rules are pure, so control-backend and\n// control-frontend run the same code.\nexport {\n DASHBOARD_TILE_DEFAULT_SIZE,\n dashboardDefinitionBytes,\n dashboardDefinitionFits,\n dashboardTileDefaultSize,\n emptyDashboardDefinition,\n isSafeDashboardLink,\n placeNewTile,\n placeNewTiles,\n tilesOverlap,\n toStoredDashboardDefinition,\n upgradeDashboardDefinition,\n} from './dashboards/definition.js'\nexport type {\n ALERT_SUBSCRIPTION_REPORT_TYPES,\n ALERT_SUBSCRIPTION_TYPES,\n AlertSubscriptionDto,\n AlertSubscriptionEntryDto,\n AlertSubscriptionWebhookAuth,\n CheckFailedReason,\n} from './dtos/AlertSubscription.dto.js'\n// DTOs - Values (constants)\nexport {\n FORBIDDEN_HOSTNAMES_FOR_WEBHOOK_ALERTS,\n HMAC_HEADER_POSITION,\n HMAC_SUPPORTED_ALGORITHM,\n} from './dtos/AlertSubscription.dto.js'\nexport type {\n AnnotationActor,\n AnnotationDto,\n AnnotationEntityKind,\n AnnotationKind,\n AnnotationLookupDto,\n AnnotationLookupEntryDto,\n AnnotationTagDto,\n EntityAnnotationsDto,\n} from './dtos/Annotation.dto.js'\nexport {\n ANNOTATION_BODY_MAX,\n ANNOTATION_ENTITY_KIND_LABELS,\n ANNOTATION_ENTITY_KINDS,\n ANNOTATION_ENTITY_MAX,\n ANNOTATION_KINDS,\n ANNOTATION_LOOKUP_MAX_ENTITIES,\n ANNOTATION_LOOKUP_TAGS_MAX,\n ANNOTATION_PAGE_SIZE_DEFAULT,\n ANNOTATION_PAGE_SIZE_MAX,\n ANNOTATION_SEARCH_MAX_LENGTH,\n ANNOTATION_TAG_NAME_MAX,\n normalizeTagName,\n} from './dtos/Annotation.dto.js'\n// Approvals - the wire types, and the rules that read them. Both are pure and\n// browser-safe, so control-backend, control-frontend and cloudbot run the same\n// code and cannot disagree.\nexport type {\n ApprovalAck,\n ApprovalActionMode,\n ApprovalActor,\n ApprovalEntityRef,\n ApprovalEntityType,\n ApprovalExecutionMode,\n ApprovalJobDto,\n ApprovalJobStatus,\n ApprovalM2mActor,\n ApprovalProgress,\n ApprovalSortField,\n ApprovalSortOrder,\n ApprovalStatusCountsDto,\n ApprovalSummaryField,\n ApprovalSummaryFieldKind,\n ApprovalSummaryValue,\n ApprovalUseCaseDto,\n} from './dtos/ApprovalJob.dto.js'\nexport {\n APPROVAL_ACKS_MAX,\n APPROVAL_ENTITY_TYPES,\n APPROVAL_JOB_STATUSES,\n APPROVAL_LIST_SUMMARY_VALUES_MAX,\n APPROVAL_LIVE_STATUSES,\n APPROVAL_PAGE_SIZE_DEFAULT,\n APPROVAL_PAGE_SIZE_MAX,\n APPROVAL_PAYLOAD_ORG_FIELD,\n APPROVAL_REASON_MAX_LENGTH,\n APPROVAL_RUN_STALE_MS,\n APPROVAL_SEARCH_MAX_LENGTH,\n APPROVAL_SORT_DEFAULT,\n APPROVAL_SORT_FIELDS,\n APPROVAL_SUMMARY_FIELD_KINDS,\n isRunStalled,\n progressFraction,\n} from './dtos/ApprovalJob.dto.js'\nexport type { AuditDto } from './dtos/Audit.dto.js'\nexport type { Auth0ResourceServerDto } from './dtos/Auth0ResourceServer.dto.js'\nexport type { BackupDto } from './dtos/Backup.dto.js'\nexport type { BackupScheduleDto } from './dtos/BackupSchedule.dto.js'\nexport type { ByomClientDto, ByomStatus } from './dtos/ByomClient.dto.js'\nexport type {\n ClusterCreationDefaultField,\n ClusterCreationDefaultKey,\n ClusterCreationDefaults,\n} from './dtos/ClusterCreationDefaults.dto.js'\nexport { CLUSTER_CREATION_DEFAULT_FIELDS } from './dtos/ClusterCreationDefaults.dto.js'\nexport type {\n ClusterDeferredSpecChange,\n DeferredSpecChangeType,\n} from './dtos/ClusterDeferredSpecChange.dto.js'\nexport type { ClusterIpWhitelistDto } from './dtos/ClusterIpWhitelist.dto.js'\nexport type {\n MoveClusterOwnerResult,\n MoveClusterWarnings,\n} from './dtos/ClusterOwnerMove.dto.js'\nexport type { ClusterPlanDto } from './dtos/ClusterPlan.dto.js'\nexport type { ClusterPlanTypeDto } from './dtos/ClusterPlanType.dto.js'\nexport type { ChangeClusterPlanTypeResult } from './dtos/ClusterPlanTypeChange.dto.js'\nexport type {\n ClusterSpecChange,\n ClusterSpecChangeActor,\n ClusterSpecHistory,\n} from './dtos/ClusterSpecHistory.dto.js'\nexport type {\n CommonClusterDto,\n ExternalIdpConfig,\n OptimizeFilteringConfig,\n OptimizeFilteringIncludeExclude,\n OptimizeFilteringPatch,\n SecretsFilterMode,\n} from './dtos/CommonCluster.dto.js'\nexport type { ConsoleClusterDto } from './dtos/ConsoleCluster.dto.js'\nexport type {\n ClusterActivityBucket,\n ClusterActivityTile,\n ClusterActivityV2Dto,\n ClusterActivityV2Response,\n ClusterByClientV2Dto,\n ClusterDatacenterOptionV2Dto,\n ClusterDetailV2Dto,\n ClusterFacetsV2Dto,\n ClusterListItemV2Dto,\n ClusterLiveStateV2Dto,\n ClusterLiveStateV2Entry,\n ClusterParameterOptionV2Dto,\n ClusterParametersV2Dto,\n ClusterTtlFilter,\n ControlResolvedPermissions,\n ControlSessionDto,\n ControlSessionUser,\n CursorPage,\n CursorParams,\n ListClustersV2Params,\n ListOrganizationsV2Params,\n ListOrgMembersV2Params,\n OrgDetailV2Dto,\n OrgListItemV2Dto,\n OrgMemberV2Dto,\n OrgSummaryV2Dto,\n} from './dtos/ControlV2.dto.js'\nexport type {\n DashboardActor,\n DashboardAnnotationsQuery,\n DashboardAnnotationsTile,\n DashboardAnnotationsTileV1,\n DashboardCatalogue,\n DashboardCatalogueChartMetric,\n DashboardCatalogueSearchField,\n DashboardChartQuery,\n DashboardChartRender,\n DashboardChartTile,\n DashboardChartTileV3,\n DashboardClusterCard,\n DashboardClusterDetailQuery,\n DashboardClusterDetailTile,\n DashboardClusterDetailTileV2,\n DashboardDefinition,\n DashboardDefinitionV1,\n DashboardDefinitionV2,\n DashboardDefinitionV3,\n DashboardDto,\n DashboardFleetQuery,\n DashboardFleetQueryTile,\n DashboardFleetQueryTileV1,\n DashboardHeadingTile,\n DashboardHeadingTileV2,\n DashboardLinkTile,\n DashboardLinkTileV2,\n DashboardListDto,\n DashboardNewTile,\n DashboardNoteTile,\n DashboardNoteTileV2,\n DashboardOrgCard,\n DashboardOrgDetailQuery,\n DashboardOrgDetailTile,\n DashboardOrgDetailTileV2,\n DashboardSummaryDto,\n DashboardTile,\n DashboardTileKind,\n DashboardTileLayout,\n DashboardTileV1,\n DashboardTileV2,\n DashboardTileV3,\n StoredDashboardDefinition,\n} from './dtos/Dashboard.dto.js'\nexport {\n DASHBOARD_CHART_RENDERS,\n DASHBOARD_CLUSTER_CARDS,\n DASHBOARD_DEFINITION_BYTES_MAX,\n DASHBOARD_DEFINITION_VERSION,\n DASHBOARD_ENTITY_ID_MAX,\n DASHBOARD_GRID_COLUMNS,\n DASHBOARD_GRID_ROWS_MAX,\n DASHBOARD_LINK_URL_MAX,\n DASHBOARD_NOTE_MAX,\n DASHBOARD_ORG_CARDS,\n DASHBOARD_PAGE_SIZE_DEFAULT,\n DASHBOARD_PAGE_SIZE_MAX,\n DASHBOARD_TILE_KINDS,\n DASHBOARD_TILE_ROWS_MAX,\n DASHBOARD_TILES_MAX,\n DASHBOARD_TITLE_MAX,\n} from './dtos/Dashboard.dto.js'\nexport type { EarlyAccessFeatureDto } from './dtos/EarlyAccessFeature.dto.js'\nexport type {\n CamundaWebApp,\n CamundaWebAppWithZeebe,\n ExternalClickwrapConfigDto,\n ExternalClusterDto,\n ExternalOrganizationDto,\n} from './dtos/ExternalWebapp.dto.js'\nexport type {\n CreateFeatureFlagDto,\n FeatureFlagAnswer,\n FeatureFlagDto,\n FeatureFlagListDto,\n UpdateFeatureFlagDto,\n} from './dtos/FeatureFlags.dto.js'\n// Functions\nexport {\n activeGenerations,\n compareGenerationNamesNewestFirst,\n type GenerationDto,\n type GenerationWithClusterCountDto,\n sortGenerationBySemverOfZeebe,\n type UpgradableGenerationsDto,\n} from './dtos/Generations.dto.js'\n// Namespace (type-only - contains only interfaces)\nexport type { Hdp } from './dtos/Hdp.dto.js'\nexport type {\n K8sBackupConfig,\n K8sConfig,\n K8sConfigLegacyFormat,\n K8sContext,\n K8sContextDto,\n} from './dtos/K8sContext.dto.js'\nexport type { MetaDto } from './dtos/Meta.dto.js'\nexport type {\n AutoJoinAssignment,\n LicensingModelType,\n LlmProviderName,\n OrganizationDto,\n OrganizationMetadata,\n OrgOwner,\n OrgWithNameAndSalesPlan,\n} from './dtos/Organization.dto.js'\nexport {\n LICENSING_MODEL_DISPLAY_NAMES,\n VALID_LICENSING_MODELS,\n} from './dtos/Organization.dto.js'\nexport type { OrganizationMemberDto } from './dtos/OrganizationMember.dto.js'\nexport type { OrganizationToSalesPlanDto } from './dtos/OrganizationToSalesPlan.dto.js'\nexport type {\n ReleaseTrainSanityReport,\n SanityFix,\n SanityRuleInfo,\n SanitySeverity,\n SanityViolation,\n} from './dtos/ReleaseTrainSanity.dto.js'\nexport type { RestoreDto, RestoreState } from './dtos/Restore.dto.js'\n// SalesPlan.dto - Types\nexport type {\n ClusterLimits,\n ConsumptionDataItem,\n Limits,\n SalesPlanDto,\n SalesPlanMetadata,\n} from './dtos/SalesPlan.dto.js'\n// SalesPlan.dto - Values (constants and functions)\nexport {\n allClusterBasedLimits,\n allSalesPlanLimits,\n clusterPlanWhiteListIds,\n deprecatedLimit,\n generationWhiteListIds,\n isLimitKeyEnabled,\n isLimitOfferedOnStage,\n isUnlockedClusterPlansStage,\n MAX_CLUSTER_CLIENTS_DEFAULT,\n MAX_CLUSTER_CLIENTS_DEV,\n RETENTION_LIMIT_DEFAULT,\n RETENTION_LIMIT_MAXIMUM,\n RETENTION_LIMIT_MINIMUM,\n unusedClusterBasedLimits,\n unusedSalesPlanLimits,\n} from './dtos/SalesPlan.dto.js'\nexport type { SecureConnectivityDto } from './dtos/SecureConnectivity.dto.js'\nexport type { SignupDto } from './dtos/Signup.dto.js'\nexport type {\n StorybookConfig,\n StorybookConfigBackup,\n StorybookConfigChannel,\n StorybookConfigDatacenter,\n StorybookConfigGeneration,\n} from './dtos/StorybookConfig.dto.js'\nexport type { SystemAuditDto } from './dtos/SystemAudit.dto.js'\nexport type {\n UpgradeReadinessDto,\n UpgradeReadinessSource,\n UpgradeReadinessState,\n} from './dtos/UpgradeReadiness.dto.js'\n// UsageAlert.dto - Types\nexport type { UsageAlertDto } from './dtos/UsageAlert.dto.js'\n// UsageAlert.dto - Values (enum and constants)\nexport {\n UsageAlertInitValues,\n UsageAlertMetric,\n UsageAlertThresholdLimits,\n} from './dtos/UsageAlert.dto.js'\nexport type { UserMetaDataDto } from './dtos/UserMetaData.dto.js'\n// Lucene-style table search (parser + AST \u2192 SQL compiler + field registries).\nexport {\n type AndNode,\n CLUSTER_DEFAULT_SEARCH_FIELDS,\n CLUSTER_SEARCH_FIELDS,\n CLUSTER_TTL_SEARCH_FIELDS,\n type CompileContext,\n type CompiledQuery,\n clusterSearchFieldsForStage,\n compileQuery,\n type FieldBinding,\n findSearchField,\n idSetPredicate,\n isLuceneQueryError,\n joinIdSet,\n LuceneQueryError,\n likeArgument,\n type NotNode,\n ORG_DEFAULT_SEARCH_FIELDS,\n ORGANIZATION_SEARCH_FIELDS,\n type OrNode,\n parseLuceneQuery,\n type QueryNode,\n type RangeNode,\n type SearchFieldCapability,\n type SearchFieldSpec,\n type SearchFieldType,\n type SearchTermOperator,\n type SqlDialect,\n type TermNode,\n} from './search/index.js'\nexport { upgradeGateReason } from './utils/upgradeGateReason.utils.js'\n\n// ============================================================================\n// Enums (runtime values)\n// ============================================================================\n\nexport {\n AlertSubscriptionReportType,\n AlertSubscriptionType,\n} from './enums/AlertSubscription.enum.js'\nexport { AuditEntity, AuditEntityAttribute } from './enums/AuditEntity.enum.js'\nexport { AuditService } from './enums/AuditService.enum.js'\nexport { BackupStatus } from './enums/BackupStatus.enum.js'\nexport {\n ClusterBulkOperationStatus,\n ClusterBulkOperationType,\n} from './enums/ClusterBulkOperation.enum.js'\nexport { ClusterClientPermission } from './enums/ClusterClientPermissions.enum.js'\nexport { ClusterEncryptionKey } from './enums/ClusterEncryptionKey.enum.js'\nexport { ClusterStatus } from './enums/ClusterStatus.enum.js'\nexport { ConsoleAPIClientPermission } from './enums/ConsoleApiClientPermission.enum.js'\nexport { ErrorType } from './enums/ErrorType.enum.js'\nexport type {\n AssignableOrganizationRoleType,\n OrganizationRoleType,\n UnassignableOrganizationRoleType,\n} from './enums/OrganizationRole.enum.js'\nexport {\n AssignableOrganizationRole,\n LegacyHeldOrganizationRole,\n OrganizationRole,\n UnassignableOrganizationRole,\n} from './enums/OrganizationRole.enum.js'\nexport { SseEntity, SseType } from './enums/Sse.enum.js'\nexport {\n SystemAuditEntity,\n SystemAuditEntityAttribute,\n} from './enums/SystemAuditEntity.enum.js'\n\n// ============================================================================\n// Permissions - Namespaces (runtime values)\n// ============================================================================\n\nexport { AccountsPermissions } from './permissions/accounts.permissions.js'\nexport { AlertDistributorPermissions } from './permissions/alert-distributor.permissions.js'\nexport { AuditLoggerPermissions } from './permissions/auditlogger.permissions.js'\nexport {\n accountsUserFeaturesFromPermissions,\n consoleUserFeaturesFromPermissions,\n sessionHasPermission,\n sessionPermissionKeysFor,\n} from './permissions/combo.js'\nexport { ConsolePermissions } from './permissions/console.permissions.js'\nexport { NotificationPermissions } from './permissions/notification.permissions.js'\n// profile.permissions - Types\nexport type { OnboardConfig } from './permissions/profile.permissions.js'\n// profile.permissions - Values (constants)\n// NOTE: the `allowed` email lists (CLOUD_TEAM_EMAILS, SRE_TEAM_EMAILS, etc.)\n// intentionally live in the private `@camunda-cloud/shared-backend` package\n// instead of here, since this package is published publicly to npm.\nexport { PROFILES } from './permissions/profile.permissions.js'\nexport { expandRolesToPermissions } from './permissions/roleExpansion.utils.js'\n\n// ============================================================================\n// Types - Type-only exports (interfaces and type aliases)\n// ============================================================================\n\nexport type { AuditData } from './types/AuditData.type.js'\n// AutoSleep.type - Types\nexport type {\n ActivitySleepEligibilityOptions,\n SleepCronEligibilityOptions,\n} from './types/AutoSleep.type.js'\n// AutoSleep.type - Values (constants and functions)\nexport {\n INTERNAL_LOW_HARDWARE_PLAN_NAME,\n isActivitySleepEligible,\n isClusterTagEligibleForSleepCron,\n isSalesPlanEligibleForSleepCron,\n isSleepCronEligible,\n SLEEP_CRON_ELIGIBLE_TAGS,\n} from './types/AutoSleep.type.js'\nexport type {\n BotContext,\n BotOptions,\n BotRequest,\n GetUserDetailsResponse,\n ListRolesForUserResponse,\n UpdateUserRolesRequest,\n UpdateUserRolesResponse,\n UserContext,\n UserDetails,\n} from './types/Bot.types.js'\n// BulkOperation.type - Types\nexport type {\n BulkClusterDeletionContent,\n BulkClusterDeletionItem,\n BulkClusterGenerationUpdateItem,\n BulkClusterPlanTypeUpdateContent,\n BulkClusterPlanTypeUpdateItem,\n BulkClusterPlanUpdateContent,\n BulkClusterPlanUpdateItem,\n BulkGenerationUpdateContent,\n GenericBulkClusterOperationContent,\n GenericBulkOperationContent,\n GenericClusterBulkOperationItem,\n} from './types/BulkOperation.type.js'\n// BulkOperation.type - Functions (type guards)\nexport {\n isBulkClusterDeletionItem,\n isBulkClusterPlanTypeUpdateItem,\n isBulkClusterPlanUpdateItem,\n isIsBulkClusterGenerationUpdateIten,\n} from './types/BulkOperation.type.js'\n// C8ClusterComponentVersions.type - Types\nexport type {\n ImmutableZeebeClusterVersionsDto,\n MutableZeebeClusterVersionsDto,\n ZeebeClusterVersionsDto,\n} from './types/C8ClusterComponentVersions.type.js'\n// C8ClusterComponentVersions.type - Values (constants)\nexport {\n AllThings,\n ImmutableThings,\n MutableThings,\n} from './types/C8ClusterComponentVersions.type.js'\n// CamundaClusterLabels.type - Types\nexport type {\n CamundaClusterStage,\n CamundaClusterStageLabel,\n ClusterLabels,\n} from './types/CamundaClusterLabels.type.js'\n// CamundaClusterLabels.type - Values (constants)\nexport {\n ALLOWED_CAMUNDA_LABELS,\n StageClusterLabels,\n} from './types/CamundaClusterLabels.type.js'\n// Chargebee.type - Types\nexport type { SubscriptionItem } from './types/Chargebee.type.js'\n// Chargebee.type - Values (enums)\nexport { ConsumptionData, ConsumptionDataType } from './types/Chargebee.type.js'\n// ClusterBulkOperation.type - Types\nexport type {\n ClusterBulkOperationAck,\n ClusterBulkOperationClusterDto,\n ClusterBulkOperationContent,\n ClusterBulkOperationDto,\n ClusterBulkOperationGenerationUpdateParameter,\n ClusterBulkOperationParameter,\n ClusterBulkOperationPlanTypeUpdateParameter,\n ClusterBulkOperationPlanUpdateParameter,\n ClusterBulkOperationPostContent,\n ClusterSleepWakeupParameter,\n} from './types/ClusterBulkOperation.type.js'\nexport type {\n ClusterModificationConfigDto,\n ClusterModificationDto,\n} from './types/ClusterModification.type.js'\n// ClusterPlanFields.type - Values (field spec and type guard)\nexport {\n CLUSTER_PLAN_FIELDS,\n type ClusterPlanFieldSpec,\n type ClusterPlanFieldTree,\n isClusterPlanFieldSpec,\n} from './types/ClusterPlanFields.type.js'\nexport type {\n ClusterPlanModificationAck,\n ClusterPlanModificationConfig,\n ClusterPlanModificationDto,\n} from './types/ClusterPlanModification.type.js'\n// ClusterPlanTypeAvailabilityClass.type - Values (enum and function)\nexport {\n ClusterPlanTypeAvailabilityClass,\n hasNoAvailabilityClass,\n sortByAvailabilityClasses,\n} from './types/ClusterPlanTypeAvailabilityClass.type.js'\n// ClusterPlanTypeCategory.type - Values (enum and functions)\nexport {\n ClusterPlanTypeCategory,\n hasAvailabilityClass,\n sortByClusterPlanTypeCategory,\n} from './types/ClusterPlanTypeCategory.type.js'\nexport type { ClusterPlanTypesToConfig } from './types/ClusterPlanTypesToConfig.type.js'\nexport type { ClusterPlanTypesToReserved } from './types/ClusterPlanTypesToReserved.type.js'\nexport type {\n ClusterTtlDeletionPayload,\n ClusterTtlDeletionResult,\n ClusterTtlDto,\n ClusterTtlDuration,\n ClusterTtlOption,\n ClusterTtlUnlimited,\n UpdateClusterTtlBody,\n} from './types/ClusterTtl.type.js'\nexport {\n CLUSTER_TTL_BACKFILL_REASON,\n CLUSTER_TTL_DURATION_MS,\n CLUSTER_TTL_DURATIONS,\n CLUSTER_TTL_FEATURE_FLAG,\n CLUSTER_TTL_OPTIONS,\n CLUSTER_TTL_UNLIMITED_LINK_MAX_LENGTH,\n CLUSTER_TTL_UNLIMITED_REASON_MAX_LENGTH,\n clusterTtlExpiresAt,\n DEFAULT_CLUSTER_TTL_OPTION,\n extendClusterTtl,\n isClusterTtlDuration,\n isClusterTtlOption,\n isClusterTtlStage,\n isHttpUrl,\n isPastClusterTtl,\n validateClusterTtlUnlimited,\n} from './types/ClusterTtl.type.js'\nexport type {\n ClusterUsageDataRequest,\n ClusterUsageMetricsAddRequestByMetricHeap,\n ClusterUsageMetricsData,\n ClusterUsageMetricsFilter,\n ClusterUsageOrgStartDate,\n} from './types/ClusterUsageMetrics.type.js'\n// Namespace with runtime values (consts, functions, enums)\nexport { ConsoleSM } from './types/ConsoleSelfManaged.type.js'\n// Namespace (type-only - contains only interfaces)\nexport type { ConsoleSMAdminApi } from './types/ConsoleSelfManagedAdminApi.type.js'\n// Dashboard.types - Types\nexport type {\n DashboardConfig,\n DashboardMappingItem,\n DashboardMappingTarget,\n DashboardResultPrimitive,\n DashboardResultRow,\n EngineeringOperationsDashboardResponse,\n} from './types/Dashboard.types.js'\nexport type { EnterpriseIncludingValueMetrics } from './types/EnterpriseIncludingValueMetrics.type.js'\nexport type {\n HdpTenantUsageBreakdown,\n HdpTenantUsagePerClusterPoint,\n HdpTenantUsagePoint,\n} from './types/HdpTenantUsage.type.js'\n// hdp.types - Types (interfaces)\nexport type {\n AlertSubscription as HdpAlertSubscription,\n Audit as HdpAudit,\n ByomClient as HdpByomClient,\n Channel as HdpChannel,\n Cluster as HdpCluster,\n ClusterBackup as HdpClusterBackup,\n ClusterBackupSchedule as HdpClusterBackupSchedule,\n ClusterBulkOperation as HdpClusterBulkOperation,\n ClusterClient as HdpClusterClient,\n ClusterModification as HdpClusterModification,\n ClusterPlan as HdpClusterPlan,\n ClusterPlanType as HdpClusterPlanType,\n ConnectorSecret as HdpConnectorSecret,\n ConsoleApiClient as HdpConsoleApiClient,\n Datacenter as HdpDatacenter,\n Generation as HdpGeneration,\n HdpBackendChangeEvent,\n HdpClusterModificationConfig,\n HdpDisk,\n HdpEntity,\n HdpPrometheusDataCapacityDataPoint,\n Invite as HdpInvite,\n LlmSpend as HdpLlmSpend,\n Organization as HdpOrganization,\n SecureConnectivity as HdpSecureConnectivity,\n SystemAudit as HdpSystemAudit,\n TelemetryData as HdpTelemetryData,\n UsageAlert as HdpUsageAlert,\n User as HdpUser,\n UserLogin as HdpUserLogin,\n} from './types/hdp.types.js'\n// hdp.types - Values (enums)\nexport {\n AlertSubscriptionReportType as HdpAlertSubscriptionReportType,\n AlertSubscriptionType as HdpAlertSubscriptionType,\n HDP_DISKS,\n} from './types/hdp.types.js'\n// notification.type - Types\nexport type {\n GlobalNotification,\n NotificationDto,\n NotificationMeta,\n NotificationOptions,\n NotificationPermission,\n NotificationSource,\n NotificationState,\n NotificationType,\n OrgNotification,\n UserNotification,\n UserOrgNotification,\n} from './types/notification.type.js'\n// notification.type - Values (enums and constants)\nexport {\n NotificationPermissionValues,\n NotificationSourceEnum,\n NotificationStateEnum,\n NotificationTypeEnum,\n} from './types/notification.type.js'\n// OrganizationPermission.type - Types\nexport type {\n CreateReadUpdateDelete,\n OrganizationPermissions,\n} from './types/OrganizationPermission.type.js'\n// OrganizationPermission.type - Values (constants)\nexport {\n OrganizationPermissionsDescriptions,\n PermissionsForOrganizationRole,\n} from './types/OrganizationPermission.type.js'\nexport {\n getPreprodClusterTtlHours,\n isPastPreprodClusterTtl,\n isPreprodClusterTtlStage,\n parseNumericLimit,\n} from './types/PreprodClusterTtl.type.js'\n// Roles.js - Types\nexport type {\n AccountRoles,\n ConsoleRoles,\n ModelerRoles,\n Roles,\n} from './types/Roles.js'\n// Roles.js - Values (constants)\nexport { SAFE_ROLES } from './types/Roles.js'\n// SalesPlanType.type - Types\nexport type {\n DisplayedSalesPlan,\n RevisitedSalesPlanName,\n} from './types/SalesPlanType.type.js'\n// SalesPlanType.type - Values (enums and functions)\nexport {\n AnalyticsSalesPlanType,\n getAnalyticsSalesPlanFromOrgSalesPlan,\n getDisplayedSalesPlan,\n getRevisitedSalesPlanName,\n OPTIMIZE_DISABLED_PLAN_TYPES,\n SalesPlanType,\n} from './types/SalesPlanType.type.js'\n// SpamDetection.type - Types\nexport type { SpamDetectionPatterns } from './types/SpamDetection.type.js'\n// SpamDetection.type - Values (constants)\nexport { TEERGRUBE_PATTERNS } from './types/SpamDetection.type.js'\nexport type {\n AlertSubscriptionSseEvent,\n BackupSseEvent,\n ClusterClientSseEvent,\n ClusterSseEvent,\n ConnectorSecretsSseEvent,\n ConsoleApiClientSseEvent,\n ConsoleSseEvent,\n MonitoringSseEvent,\n SecureConnectivitySseEvent,\n SseClusterPayload,\n SseMonitoringPayload,\n SseSecureConnectivityPayload,\n} from './types/SseEvent.type.js'\n// Namespace (type-only - contains only interfaces)\nexport type { AccountsStats } from './types/Stats.types.js'\n// Survey.type - Types\nexport type { Persona, SurveyDto } from './types/Survey.type.js'\n// Survey.type - Values (enum)\nexport { FeedbackType } from './types/Survey.type.js'\n// SuspendStrategy.type - Types\nexport type {\n GetSuspendStrategyOptions,\n SuspendStrategy,\n} from './types/SuspendStrategy.type.js'\n// SuspendStrategy.type - Values (function)\nexport { getSuspendStrategy } from './types/SuspendStrategy.type.js'\nexport type { SystemAuditData } from './types/SystemAuditData.type.js'\n\n// Namespace (runtime value)\nexport { Telemetry } from './types/Telemetry.type.js'\n\n// TrialManagement.types - Types\nexport type {\n ExtensionListItem,\n ExtensionListResponse,\n OrgTrialDetail,\n TrialExtensionSource,\n TrialManagementStats,\n} from './types/TrialManagement.types.js'\n\n// User.type - Types\nexport type {\n AccountsData,\n AppMetadata,\n BasicUser,\n BlockedFor,\n Identity,\n OrgMembership,\n User,\n UserMetadata,\n UserRequest,\n} from './types/User.type.js'\n\n// User.type - Values (enum)\nexport { UserMetadataEvent } from './types/User.type.js'\n\nexport type {\n UniqueTaskUser,\n ValueMetrics,\n ValueMetricsPerYearMonth,\n} from './types/ValueMetrics.type.js'\n\n// ============================================================================\n// Utils - Classes (runtime values)\n// ============================================================================\n\nexport {\n CLOUD_PROVIDER_ORDER,\n getCloudProviderLabel,\n getCloudProviderRank,\n} from './utils/cloudProvider.utils.js'\nexport {\n type ConnectivityStatus,\n deriveConnectivityMessage,\n deriveConnectivityStatus,\n} from './utils/connectivityStatus.utils.js'\nexport { ConsoleSelfManagedUtils } from './utils/console-sm.utils.js'\nexport type {\n CronScheduleValidationFailure,\n CronScheduleValidationResult,\n CronScheduleValidationSuccess,\n} from './utils/cronSchedule.utils.js'\nexport {\n BACKUP_SCHEDULE_MIN_INTERVAL_MINUTES,\n validateCronSchedule,\n} from './utils/cronSchedule.utils.js'\nexport {\n canonicalPlan,\n canonicalPlanKey,\n} from './utils/elasticsearchPlanPath.utils.js'\nexport {\n deriveEncryptionStatus,\n type EncryptionStatus,\n isEncryptionStatus,\n} from './utils/encryptionStatus.utils.js'\n// enterprise-connection.utils - Types\nexport type { EnterpriseConnectionOrganizationAssignment } from './utils/enterprise-connection.utils.js'\n// enterprise-connection.utils - Values (functions)\nexport {\n enterpriseConnectionMetadataToOrganizationAssignments,\n organizationAssignmentsToEnterpriseConnectionMetadata,\n} from './utils/enterprise-connection.utils.js'\nexport {\n addMonthsClamped,\n DEFAULT_ENTERPRISE_DURATION_IN_MONTHS,\n diffInWholeMonths,\n type EnterpriseTermWindow,\n getCurrentEnterpriseTerm,\n peakWithinTerm,\n toUtcDayStartMs,\n} from './utils/enterpriseTerm.utils.js'\nexport type { EnvVarEntry } from './utils/envVars.js'\nexport { parseEnvVars, serializeEnvVars } from './utils/envVars.js'\nexport {\n deriveFailoverKeyPolicyPrincipals,\n type FailoverKeyPolicyPrincipals,\n} from './utils/failoverKeyPolicy.utils.js'\nexport {\n KMS_ARN,\n KMS_MRK_ARN,\n type KmsArnValidationError,\n type ParsedKmsArn,\n parseKmsArn,\n validateKmsArnForRegion,\n} from './utils/kmsArn.utils.js'\nexport { validateLabels } from './utils/labelValidator.utils.js'\nexport { ObjectMergeUtils } from './utils/objectMerge.utils.js'\nexport {\n computeOrgStartDate,\n type OrgStartDateInput,\n} from './utils/orgStartDate.utils.js'\nexport {\n getPermissionsByRoles,\n getUserPermissionsForOrg,\n} from './utils/orgs/OrgHelper.js'\n\n// PasswordPolicy - Types\nexport type {\n PasswordPolicyRequest,\n PasswordPolicyResult,\n} from './utils/PasswordPolicy.js'\n\n// PasswordPolicy - Values (constants and function)\nexport {\n MAXLENGTH as PASSWORD_POLICY_MAXLENGTH,\n MINLENGTH as PASSWORD_POLICY_MINLENGTH,\n passwordPolicyCheck,\n} from './utils/PasswordPolicy.js'\nexport { isQaUserEmail, qaUserEmail } from './utils/qa-user.utils.js'\nexport {\n deriveSecondaryStorageStatus,\n type SecondaryStorageStatus,\n} from './utils/secondaryStorageStatus.utils.js'\nexport {\n allSettledResultsCounts,\n getFulfilledPromises,\n getRejectedPromises,\n getSettledSummary,\n} from './utils/settledPromises.util.js'\nexport {\n isValidAwsArn,\n isValidCIDR,\n isValidCIDRList,\n isValidClientName,\n isValidHostname,\n isValidPrivateLinkRegion,\n normalizeCIDRList,\n} from './utils/string-validation.utils.js'\nexport {\n extractCamundaUserEmail,\n guessName,\n isCamundaUserId,\n} from './utils/user.utils.js'\n\n// versionCheck.utils - Values (enum and function)\nexport {\n checkVersion,\n generationImageErrorMessage,\n isAppIntegrationsVersionSupported,\n isGenerationResumable,\n isSecretsFilterModeConfigurable,\n isValidGenerationImage,\n normalizeGenerationVersion,\n stripSecfixPostfix,\n VersionCheckOperator,\n} from './utils/versionCheck.utils.js'\n\n// ============================================================================\n// Config - Configuration files and types\n// ============================================================================\n\nexport { default as CAMUNDI_PERMISSION_RULES } from './config/camundi-permission-rules.js'\nexport type { CamundiPermissionRules } from './config/camundi-permission-rules.types.js'\n\nexport {\n augmentCamundiPermissions,\n getApplicableRolesForEmployee,\n HIBOB_CACHE_KEY,\n HIBOB_CACHE_NAMESPACE,\n isManager,\n} from './utils/camundiPermissionAugmenter.utils.js'\n"],
|
|
5
|
-
"mappings": "AAUA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,KAAK,MAAM,QAAQ,QAAQ,YAAY;AAEhD;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,4BAA4B;AACrC,SAAS,iDAAiD;AAK1D,SAAS,wCAAwC;AACjD;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAcP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAeP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP;AAAA,EACE;AAAA,EACA;AAAA,OACK;AAEP;AAAA,EACE;AAAA,EACA;AAAA,OACK;AAMP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAMA;AAAA,EASA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAIP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAUP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAWP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAuBP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAWP,SAAS,uCAAuC;AAoGhD;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAiBP;AAAA,EACE;AAAA,EACA;AAAA,EAGA;AAAA,OAEK;AAoBP;AAAA,EACE;AAAA,EACA;AAAA,OACK;AAoBP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAmBP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAGP;AAAA,EAEE;AAAA,EACA;AAAA,EACA;AAAA,EAGA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,EAEA;AAAA,OASK;AACP,SAAS,yBAAyB;AAMlC;AAAA,EACE;AAAA,EACA;AAAA,OACK;AACP,SAAS,aAAa,4BAA4B;AAClD,SAAS,oBAAoB;AAC7B,SAAS,oBAAoB;AAC7B;AAAA,EACE;AAAA,EACA;AAAA,OACK;AACP,SAAS,+BAA+B;AACxC,SAAS,4BAA4B;AACrC,SAAS,qBAAqB;AAC9B,SAAS,kCAAkC;AAC3C,SAAS,iBAAiB;AAM1B;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,WAAW,eAAe;AACnC;AAAA,EACE;AAAA,EACA;AAAA,OACK;AAMP,SAAS,2BAA2B;AACpC,SAAS,mCAAmC;AAC5C,SAAS,8BAA8B;AACvC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,0BAA0B;AACnC,SAAS,+BAA+B;AAOxC,SAAS,gBAAgB;AACzB,SAAS,gCAAgC;AAazC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AA2BP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAQP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAQP;AAAA,EACE;AAAA,EACA;AAAA,OACK;AAIP,SAAS,iBAAiB,2BAA2B;AAmBrD;AAAA,EACE;AAAA,EAGA;AAAA,OACK;AAOP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAYP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;
|
|
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// ============================================================================\n// Constants (runtime values)\n// ============================================================================\n\nexport {\n CUSTOM_GENERATION_MAX_PER_REQUESTER,\n CUSTOM_GENERATION_MAX_UPGRADEABLE_FROM,\n CUSTOM_GENERATION_NAME_MAX_LENGTH,\n CUSTOM_GENERATION_NAME_MIN_LENGTH,\n checkNewGenerationVersions,\n isCustomGenerationStage,\n} from './constants/custom-generation.const.js'\nexport {\n CUSTOM_HARDWARE_SIZING_BROKER_TOTAL_CAPS,\n CUSTOM_HARDWARE_SIZING_COUNT_CAPS,\n CUSTOM_HARDWARE_SIZING_ELASTICSEARCH_TOTAL_CAPS,\n CUSTOM_HARDWARE_SIZING_MAX_AUTO_RESIZE_INCREASE_GI,\n CUSTOM_HARDWARE_SIZING_MAX_PLAN_JSON_LENGTH,\n CUSTOM_HARDWARE_SIZING_MAX_PLANS_PER_REQUESTER,\n CUSTOM_HARDWARE_SIZING_NAME_MAX_LENGTH,\n CUSTOM_HARDWARE_SIZING_NAME_MIN_LENGTH,\n CUSTOM_HARDWARE_SIZING_REPLICA_SET_TOTAL_CAPS,\n CUSTOM_HARDWARE_SIZING_RESOURCE_CAPS,\n checkCustomHardwareSizing,\n isCustomHardwareSizingStage,\n parseKubernetesQuantity,\n} from './constants/custom-hardware-sizing.const.js'\nexport { DAY, HOUR, MINUTE, SECOND, WEEK } from './constants/duration.const.js'\nexport type { Stage } from './constants/misc.const.js'\nexport {\n CAMUNDA_CLAIMS_NAMESPACE,\n CONSOLE_API_USER_ID,\n FIRSTNAME_LASTNAME_MAX_LENGTH,\n HOTBACKUP_MIN_CREATE_PERIOD,\n MAX_HARDWARE_PACKAGE_COUNT,\n MAX_LENGTH_CLUSTER_NAME,\n MINIMUM_EYEPAIRS,\n NAMES_OF_ENTERPRISE_SALESPLANS_WITH_SLEEPING_CLUSTERS,\n SECRETS_MAX_LENGTH,\n STARTING_PRICE_PER_MONTH_IN_EURO,\n TEMPORARY_CLUSTER_NAME,\n UNKNOWN_ACTOR_EMAIL,\n} from './constants/misc.const.js'\nexport {\n getGatewayPropertyHint,\n getGatewayPropertyPath,\n isAffectedByStreamlinedDeployment,\n isPre89AffectedPath,\n PRE89_AFFECTED_PATHS,\n PRE89_AFFECTED_PROPERTY_PREFIXES,\n PRE89_GATEWAY_PROPERTY_PATHS,\n PRE89_GATEWAY_RESOURCE_PREFIXES,\n} from './constants/pre89EnvVarMapping.const.js'\nexport { PRIVATE_LINK_REGIONS } from './constants/privateLinkRegions.const.js'\nexport { SECURE_CONNECTIVITY_ALLOWED_ENTRIES_LIMIT } from './constants/secureConnectivity.const.js'\nexport type {\n TrialExtensionSurveyAnswer,\n TrialExtensionSurveyQuestion,\n} from './constants/trialExtensionSurvey.const.js'\nexport { TRIAL_EXTENSION_SURVEY_QUESTIONS } from './constants/trialExtensionSurvey.const.js'\nexport {\n V2_BODY_IDS_MAX,\n V2_FILTER_IDS_MAX,\n V2_MAX_PAGE_LIMIT,\n} from './constants/v2-list.const.js'\nexport {\n ADMIN_APP_RENAME_MIN_VERSION,\n APP_INTEGRATIONS_89_STREAM_CONNECTOR_BRIDGE_MIN_VERSION,\n APP_INTEGRATIONS_89_STREAM_MINOR,\n APP_INTEGRATIONS_89_STREAM_ZEEBE_MIN_VERSION,\n APP_INTEGRATIONS_MIN_VERSION,\n AUDIT_LOG_TAB_MIN_VERSION,\n AUTHORIZATION_TOGGLE_MIN_VERSION,\n AWS_ONLY_GENERATION_MIN_VERSION,\n BUSINESS_ID_UNIQUENESS_MIN_VERSION,\n BYOIDP_MIN_VERSION,\n CLUSTER_SECRETS_LABEL_MIN_VERSION,\n CLUSTER_STATISTICS_CONFIG_MIN_VERSION,\n CONNECTOR_MANAGEMENT_METRICS_MIN_VERSION,\n CONNECTOR_SECRET_SYNC_MIN_VERSION,\n CONNECTORS_MANAGEMENT_LINK_MIN_VERSION,\n ENFORCE_GROUPS_TASKLIST_V2_HIDDEN_MIN_VERSION,\n ENFORCE_GROUPS_TOGGLE_MIN_VERSION,\n GATEWAY_SPEC_8_9_MIN_VERSION,\n HOT_BACKUP_MIN_VERSION,\n IDENTITY_AUTHORIZATION_MIN_VERSION,\n IDENTITY_AUTHORIZATION_NOTICE_MAX_VERSION,\n IDENTITY_MANAGEMENT_MIN_VERSION,\n INTERNAL_CONNECTORS_MANAGEMENT_MIN_VERSION,\n JOB_DASHBOARD_MIN_VERSION,\n LINE_8_9_MIN_VERSION,\n LINE_8_10_MIN_VERSION,\n MCP_MIN_VERSION,\n MULTI_TENANCY_TOGGLE_MIN_VERSION,\n NEW_CLUSTER_ROLES_MIN_VERSION,\n OPTIMIZE_DEFAULT_ON_MIN_VERSION,\n OPTIMIZE_FILTERING_MIN_VERSION,\n OPTIONAL_TELEMETRY_MIN_VERSION,\n RESOURCE_BASED_AUTHORIZATIONS_MIN_VERSION,\n REST_API_URL_TRANSFORM_MIN_VERSION,\n REST_API_V2_MIN_VERSION,\n RESUME_ALPHA_MIN_VERSION,\n SECRET_SOURCE_MIN_VERSION,\n SECRETS_FILTER_MODE_8_6_MIN_VERSION,\n SECRETS_FILTER_MODE_8_7_MIN_VERSION,\n SECRETS_FILTER_MODE_8_8_MIN_VERSION,\n SECRETS_FILTER_MODE_8_9_MIN_VERSION,\n SECRETS_FILTER_MODE_8_10_MIN_VERSION,\n SESSION_CONFIG_MIN_VERSION,\n SWAGGER_MIN_VERSION,\n SWAGGER_URL_8_9_MIN_VERSION,\n TASKLIST_MODE_TOGGLE_MIN_VERSION,\n TASKLIST_UPGRADE_BANNER_MIN_VERSION,\n TASKLIST_V2_AUTO_ENABLE_FROM_MINOR,\n TASKLIST_V2_AUTO_ENABLE_TO_MINOR,\n TASKLIST_V2_DEFAULT_ON_MIN_VERSION,\n TASKLIST_V2_SETTING_MAX_VERSION,\n TASKLIST_V2_UPGRADE_MIN_VERSION,\n TASKLIST_V2_UPGRADE_TARGET_MIN_VERSION,\n UPGRADE_READINESS_MIN_VERSION,\n ZEEBE_REST_URL_MIN_VERSION,\n} from './constants/version-gates.const.js'\n\n// ============================================================================\n// DTOs - Types (interfaces and type aliases)\n// ============================================================================\n\n// Annotations - the notes and the tags that a Camundi attaches to a fleet\n// entity. The wire types and the rules are pure and browser-safe, so\n// control-backend and control-frontend run the same code.\nexport type {\n AnnotationActorView,\n AnnotationDecision,\n AnnotationDenialCode,\n} from './annotations/policy.js'\nexport {\n ANNOTATION_DENIAL_MESSAGES,\n canEditNote,\n canRemove,\n checkNoteBody,\n checkTagName,\n isAuthor,\n} from './annotations/policy.js'\nexport type {\n ClusterBulkClusterResultDto,\n ClusterBulkFinalStatus,\n ClusterBulkGenerationUpdateSettings,\n ClusterBulkOperationPayloadDto,\n ClusterBulkOperationRule,\n ClusterBulkPlanTypeUpdateSettings,\n ClusterBulkPlanUpdateSettings,\n ClusterBulkSettingsByType,\n ClusterBulkSleepWakeupSettings,\n ClusterBulkStepRequestDto,\n ClusterBulkStepResultDto,\n ClusterBulkTargetDto,\n} from './approvals/cluster-bulk-operation.js'\nexport {\n CLUSTER_BULK_OPERATION_CLUSTER_NAME_MAX_LENGTH,\n CLUSTER_BULK_OPERATION_MAX_CLUSTERS,\n CLUSTER_BULK_OPERATION_MIN_ACKS,\n CLUSTER_BULK_OPERATION_NAME_MAX_LENGTH,\n CLUSTER_BULK_OPERATION_RULES,\n CLUSTER_BULK_OPERATION_TEST_STAGE_MIN_ACKS,\n CLUSTER_BULK_OPERATION_TYPES,\n CLUSTER_BULK_SLEEPING_CLUSTER_DELAY_MS,\n clusterBulkOperationTypeOf,\n clusterBulkParameterOf,\n clusterBulkRequiredPermissions,\n clusterBulkResultOf,\n isClusterBulkYolo,\n} from './approvals/cluster-bulk-operation.js'\nexport {\n DNS_SUBDOMAIN_MAX_LENGTH,\n isDnsSubdomain,\n} from './approvals/dns-subdomain.js'\nexport type { ApprovalExpectedChange } from './approvals/expected-value.js'\nexport {\n isSameApprovalValue,\n staleApprovalKeys,\n} from './approvals/expected-value.js'\nexport type {\n ApprovalActorView,\n ApprovalDecision,\n ApprovalDenialCode,\n} from './approvals/policy.js'\nexport {\n approvalPermissionCheck,\n canAcknowledge,\n canCreate,\n canExecute,\n canReject,\n canView,\n canWithdraw,\n effectiveStatus,\n hasActorEmail,\n hasEveryPermission,\n isExpired,\n isSameActor,\n isSameActorEmail,\n remainingAcks,\n requiredPermissionsOf,\n resolveRequiredAcks,\n} from './approvals/policy.js'\nexport type { ApprovalUseCaseType } from './approvals/use-cases.const.js'\nexport {\n APPROVAL_EMAIL_MAX_LENGTH,\n APPROVAL_EMAIL_PATTERN,\n APPROVAL_USE_CASE_TYPES,\n EXTEND_TRIAL_MAX_DAYS,\n EXTEND_TRIAL_MIN_DAYS,\n FEATURE_FLAG_MIN_ACKS_PROD,\n ORG_LIMIT_TEXT_MAX_LENGTH,\n PERSONAL_ORGANIZATION_MAX_PER_REQUESTER,\n PERSONAL_ORGANIZATION_NAME_MAX_LENGTH,\n PERSONAL_ORGANIZATION_NAME_MIN_LENGTH,\n PLATFORM_ROLE_CHANGE_MAX_ROLES,\n PURGE_USERS_MAX_USERS,\n PURGE_USERS_REQUIRED_PERMISSIONS,\n USER_METADATA_EXPECTED_MAX_LENGTH,\n USER_METADATA_MAX_LENGTH,\n} from './approvals/use-cases.const.js'\n// The chart query of a dashboard tile (catalogue, language, result).\nexport {\n CHART_DAY_GRAIN_MAX_DAYS,\n CHART_FILTER_MAX_LENGTH,\n CHART_GRAIN_DEFAULT,\n CHART_GRAINS,\n CHART_ID_MAX_LENGTH,\n CHART_METRICS,\n CHART_OTHER_SERIES_KEY,\n CHART_QUERY_MAX_LENGTH,\n CHART_TOP_DEFAULT,\n CHART_TOP_MAX,\n CHART_UNKNOWN_SERIES_KEY,\n CHART_WINDOW_AMOUNT_MAX,\n CHART_WINDOW_DEFAULT,\n CHART_WINDOW_UNITS,\n type ChartDimensionSpec,\n type ChartGrain,\n type ChartMetricSpec,\n type ChartPoint,\n type ChartQueryCheck,\n ChartQueryError,\n type ChartQueryErrorKind,\n type ChartQueryOptions,\n type ChartResult,\n type ChartSeries,\n type ChartSpec,\n type ChartUnit,\n type ChartWindow,\n type ChartWindowUnit,\n chartBucketStart,\n chartToday,\n chartWindowRange,\n findChartDimension,\n findChartMetric,\n formatChartSpec,\n isChartQueryError,\n parseChartQuery,\n readChartSpec,\n validateChartSpec,\n} from './charts/index.js'\n// Dashboards - the tiles of a dashboard hold filters and never data. The\n// wire types and the placement rules are pure, so control-backend and\n// control-frontend run the same code.\nexport {\n DASHBOARD_TILE_DEFAULT_SIZE,\n dashboardDefinitionBytes,\n dashboardDefinitionFits,\n dashboardTileDefaultSize,\n emptyDashboardDefinition,\n isSafeDashboardLink,\n placeNewTile,\n placeNewTiles,\n tilesOverlap,\n toStoredDashboardDefinition,\n upgradeDashboardDefinition,\n} from './dashboards/definition.js'\nexport type {\n ALERT_SUBSCRIPTION_REPORT_TYPES,\n ALERT_SUBSCRIPTION_TYPES,\n AlertSubscriptionDto,\n AlertSubscriptionEntryDto,\n AlertSubscriptionWebhookAuth,\n CheckFailedReason,\n} from './dtos/AlertSubscription.dto.js'\n// DTOs - Values (constants)\nexport {\n FORBIDDEN_HOSTNAMES_FOR_WEBHOOK_ALERTS,\n HMAC_HEADER_POSITION,\n HMAC_SUPPORTED_ALGORITHM,\n} from './dtos/AlertSubscription.dto.js'\nexport type {\n AnnotationActor,\n AnnotationDto,\n AnnotationEntityKind,\n AnnotationKind,\n AnnotationLookupDto,\n AnnotationLookupEntryDto,\n AnnotationTagDto,\n EntityAnnotationsDto,\n} from './dtos/Annotation.dto.js'\nexport {\n ANNOTATION_BODY_MAX,\n ANNOTATION_ENTITY_KIND_LABELS,\n ANNOTATION_ENTITY_KINDS,\n ANNOTATION_ENTITY_MAX,\n ANNOTATION_KINDS,\n ANNOTATION_LOOKUP_MAX_ENTITIES,\n ANNOTATION_LOOKUP_TAGS_MAX,\n ANNOTATION_PAGE_SIZE_DEFAULT,\n ANNOTATION_PAGE_SIZE_MAX,\n ANNOTATION_SEARCH_MAX_LENGTH,\n ANNOTATION_TAG_NAME_MAX,\n normalizeTagName,\n} from './dtos/Annotation.dto.js'\n// Approvals - the wire types, and the rules that read them. Both are pure and\n// browser-safe, so control-backend, control-frontend and cloudbot run the same\n// code and cannot disagree.\nexport type {\n ApprovalAck,\n ApprovalActionMode,\n ApprovalActor,\n ApprovalEntityRef,\n ApprovalEntityType,\n ApprovalExecutionMode,\n ApprovalJobDto,\n ApprovalJobStatus,\n ApprovalM2mActor,\n ApprovalProgress,\n ApprovalSortField,\n ApprovalSortOrder,\n ApprovalStatusCountsDto,\n ApprovalSummaryField,\n ApprovalSummaryFieldKind,\n ApprovalSummaryValue,\n ApprovalUseCaseDto,\n} from './dtos/ApprovalJob.dto.js'\nexport {\n APPROVAL_ACKS_MAX,\n APPROVAL_ENTITY_TYPES,\n APPROVAL_JOB_STATUSES,\n APPROVAL_LIST_SUMMARY_VALUES_MAX,\n APPROVAL_LIVE_STATUSES,\n APPROVAL_PAGE_SIZE_DEFAULT,\n APPROVAL_PAGE_SIZE_MAX,\n APPROVAL_PAYLOAD_ORG_FIELD,\n APPROVAL_REASON_MAX_LENGTH,\n APPROVAL_RUN_STALE_MS,\n APPROVAL_SEARCH_MAX_LENGTH,\n APPROVAL_SORT_DEFAULT,\n APPROVAL_SORT_FIELDS,\n APPROVAL_SUMMARY_FIELD_KINDS,\n isRunStalled,\n progressFraction,\n} from './dtos/ApprovalJob.dto.js'\nexport type { AuditDto } from './dtos/Audit.dto.js'\nexport type { Auth0ResourceServerDto } from './dtos/Auth0ResourceServer.dto.js'\nexport type { BackupDto } from './dtos/Backup.dto.js'\nexport type { BackupScheduleDto } from './dtos/BackupSchedule.dto.js'\nexport type { ByomClientDto, ByomStatus } from './dtos/ByomClient.dto.js'\nexport type {\n ClusterCreationDefaultField,\n ClusterCreationDefaultKey,\n ClusterCreationDefaults,\n} from './dtos/ClusterCreationDefaults.dto.js'\nexport { CLUSTER_CREATION_DEFAULT_FIELDS } from './dtos/ClusterCreationDefaults.dto.js'\nexport type {\n ClusterDeferredSpecChange,\n DeferredSpecChangeType,\n} from './dtos/ClusterDeferredSpecChange.dto.js'\nexport type { ClusterIpWhitelistDto } from './dtos/ClusterIpWhitelist.dto.js'\nexport type {\n MoveClusterOwnerResult,\n MoveClusterWarnings,\n} from './dtos/ClusterOwnerMove.dto.js'\nexport type { ClusterPlanDto } from './dtos/ClusterPlan.dto.js'\nexport type { ClusterPlanTypeDto } from './dtos/ClusterPlanType.dto.js'\nexport type { ChangeClusterPlanTypeResult } from './dtos/ClusterPlanTypeChange.dto.js'\nexport type {\n ClusterSpecChange,\n ClusterSpecChangeActor,\n ClusterSpecHistory,\n} from './dtos/ClusterSpecHistory.dto.js'\nexport type {\n CommonClusterDto,\n ExternalIdpConfig,\n OptimizeFilteringConfig,\n OptimizeFilteringIncludeExclude,\n OptimizeFilteringPatch,\n SecretsFilterMode,\n} from './dtos/CommonCluster.dto.js'\nexport type { ConsoleClusterDto } from './dtos/ConsoleCluster.dto.js'\nexport type {\n ClusterActivityBucket,\n ClusterActivityTile,\n ClusterActivityV2Dto,\n ClusterActivityV2Response,\n ClusterByClientV2Dto,\n ClusterDatacenterOptionV2Dto,\n ClusterDetailV2Dto,\n ClusterFacetsV2Dto,\n ClusterListItemV2Dto,\n ClusterLiveStateV2Dto,\n ClusterLiveStateV2Entry,\n ClusterParameterOptionV2Dto,\n ClusterParametersV2Dto,\n ClusterTtlFilter,\n ControlResolvedPermissions,\n ControlSessionDto,\n ControlSessionUser,\n CursorPage,\n CursorParams,\n ListClustersV2Params,\n ListOrganizationsV2Params,\n ListOrgMembersV2Params,\n OrgDetailV2Dto,\n OrgListItemV2Dto,\n OrgMemberV2Dto,\n OrgSummaryV2Dto,\n} from './dtos/ControlV2.dto.js'\nexport type {\n DashboardActor,\n DashboardAnnotationsQuery,\n DashboardAnnotationsTile,\n DashboardAnnotationsTileV1,\n DashboardCatalogue,\n DashboardCatalogueChartMetric,\n DashboardCatalogueSearchField,\n DashboardChartQuery,\n DashboardChartRender,\n DashboardChartTile,\n DashboardChartTileV3,\n DashboardClusterCard,\n DashboardClusterDetailQuery,\n DashboardClusterDetailTile,\n DashboardClusterDetailTileV2,\n DashboardDefinition,\n DashboardDefinitionV1,\n DashboardDefinitionV2,\n DashboardDefinitionV3,\n DashboardDto,\n DashboardFleetQuery,\n DashboardFleetQueryTile,\n DashboardFleetQueryTileV1,\n DashboardHeadingTile,\n DashboardHeadingTileV2,\n DashboardLinkTile,\n DashboardLinkTileV2,\n DashboardListDto,\n DashboardNewTile,\n DashboardNoteTile,\n DashboardNoteTileV2,\n DashboardOrgCard,\n DashboardOrgDetailQuery,\n DashboardOrgDetailTile,\n DashboardOrgDetailTileV2,\n DashboardSummaryDto,\n DashboardTile,\n DashboardTileKind,\n DashboardTileLayout,\n DashboardTileV1,\n DashboardTileV2,\n DashboardTileV3,\n StoredDashboardDefinition,\n} from './dtos/Dashboard.dto.js'\nexport {\n DASHBOARD_CHART_RENDERS,\n DASHBOARD_CLUSTER_CARDS,\n DASHBOARD_DEFINITION_BYTES_MAX,\n DASHBOARD_DEFINITION_VERSION,\n DASHBOARD_ENTITY_ID_MAX,\n DASHBOARD_GRID_COLUMNS,\n DASHBOARD_GRID_ROWS_MAX,\n DASHBOARD_LINK_URL_MAX,\n DASHBOARD_NOTE_MAX,\n DASHBOARD_ORG_CARDS,\n DASHBOARD_PAGE_SIZE_DEFAULT,\n DASHBOARD_PAGE_SIZE_MAX,\n DASHBOARD_TILE_KINDS,\n DASHBOARD_TILE_ROWS_MAX,\n DASHBOARD_TILES_MAX,\n DASHBOARD_TITLE_MAX,\n} from './dtos/Dashboard.dto.js'\nexport type { EarlyAccessFeatureDto } from './dtos/EarlyAccessFeature.dto.js'\nexport type {\n CamundaWebApp,\n CamundaWebAppWithZeebe,\n ExternalClickwrapConfigDto,\n ExternalClusterDto,\n ExternalOrganizationDto,\n} from './dtos/ExternalWebapp.dto.js'\nexport type {\n CreateFeatureFlagDto,\n FeatureFlagAnswer,\n FeatureFlagDto,\n FeatureFlagListDto,\n UpdateFeatureFlagDto,\n} from './dtos/FeatureFlags.dto.js'\n// Functions\nexport {\n activeGenerations,\n compareGenerationNamesNewestFirst,\n type GenerationDto,\n type GenerationWithClusterCountDto,\n sortGenerationBySemverOfZeebe,\n type UpgradableGenerationsDto,\n} from './dtos/Generations.dto.js'\n// Namespace (type-only - contains only interfaces)\nexport type { Hdp } from './dtos/Hdp.dto.js'\nexport type {\n K8sBackupConfig,\n K8sConfig,\n K8sConfigLegacyFormat,\n K8sContext,\n K8sContextDto,\n} from './dtos/K8sContext.dto.js'\nexport type { MetaDto } from './dtos/Meta.dto.js'\nexport type {\n AutoJoinAssignment,\n LicensingModelType,\n LlmProviderName,\n OrganizationDto,\n OrganizationMetadata,\n OrgOwner,\n OrgWithNameAndSalesPlan,\n} from './dtos/Organization.dto.js'\nexport {\n LICENSING_MODEL_DISPLAY_NAMES,\n VALID_LICENSING_MODELS,\n} from './dtos/Organization.dto.js'\nexport type { OrganizationMemberDto } from './dtos/OrganizationMember.dto.js'\nexport type { OrganizationToSalesPlanDto } from './dtos/OrganizationToSalesPlan.dto.js'\nexport type {\n ReleaseTrainSanityReport,\n SanityFix,\n SanityRuleInfo,\n SanitySeverity,\n SanityViolation,\n} from './dtos/ReleaseTrainSanity.dto.js'\nexport type { RestoreDto, RestoreState } from './dtos/Restore.dto.js'\n// SalesPlan.dto - Types\nexport type {\n ClusterLimits,\n ConsumptionDataItem,\n Limits,\n SalesPlanDto,\n SalesPlanMetadata,\n} from './dtos/SalesPlan.dto.js'\n// SalesPlan.dto - Values (constants and functions)\nexport {\n allClusterBasedLimits,\n allSalesPlanLimits,\n clusterPlanWhiteListIds,\n deprecatedLimit,\n generationWhiteListIds,\n isLimitKeyEnabled,\n isLimitOfferedOnStage,\n isUnlockedClusterPlansStage,\n MAX_CLUSTER_CLIENTS_DEFAULT,\n MAX_CLUSTER_CLIENTS_DEV,\n RETENTION_LIMIT_DEFAULT,\n RETENTION_LIMIT_MAXIMUM,\n RETENTION_LIMIT_MINIMUM,\n unusedClusterBasedLimits,\n unusedSalesPlanLimits,\n} from './dtos/SalesPlan.dto.js'\nexport type { SecureConnectivityDto } from './dtos/SecureConnectivity.dto.js'\nexport type { SignupDto } from './dtos/Signup.dto.js'\nexport type {\n StorybookConfig,\n StorybookConfigBackup,\n StorybookConfigChannel,\n StorybookConfigDatacenter,\n StorybookConfigGeneration,\n} from './dtos/StorybookConfig.dto.js'\nexport type { SystemAuditDto } from './dtos/SystemAudit.dto.js'\nexport type {\n UpgradeReadinessDto,\n UpgradeReadinessSource,\n UpgradeReadinessState,\n} from './dtos/UpgradeReadiness.dto.js'\n// UsageAlert.dto - Types\nexport type { UsageAlertDto } from './dtos/UsageAlert.dto.js'\n// UsageAlert.dto - Values (enum and constants)\nexport {\n UsageAlertInitValues,\n UsageAlertMetric,\n UsageAlertThresholdLimits,\n} from './dtos/UsageAlert.dto.js'\nexport type { UserMetaDataDto } from './dtos/UserMetaData.dto.js'\n// Lucene-style table search (parser + AST \u2192 SQL compiler + field registries).\nexport {\n type AndNode,\n CLUSTER_DEFAULT_SEARCH_FIELDS,\n CLUSTER_SEARCH_FIELDS,\n CLUSTER_TTL_SEARCH_FIELDS,\n type CompileContext,\n type CompiledQuery,\n clusterSearchFieldsForStage,\n compileQuery,\n type FieldBinding,\n findSearchField,\n idSetPredicate,\n isLuceneQueryError,\n joinIdSet,\n LuceneQueryError,\n likeArgument,\n type NotNode,\n ORG_DEFAULT_SEARCH_FIELDS,\n ORGANIZATION_SEARCH_FIELDS,\n type OrNode,\n parseLuceneQuery,\n type QueryNode,\n type RangeNode,\n type SearchFieldCapability,\n type SearchFieldSpec,\n type SearchFieldType,\n type SearchTermOperator,\n type SqlDialect,\n type TermNode,\n} from './search/index.js'\nexport { upgradeGateReason } from './utils/upgradeGateReason.utils.js'\n\n// ============================================================================\n// Enums (runtime values)\n// ============================================================================\n\nexport {\n AlertSubscriptionReportType,\n AlertSubscriptionType,\n} from './enums/AlertSubscription.enum.js'\nexport { AuditEntity, AuditEntityAttribute } from './enums/AuditEntity.enum.js'\nexport { AuditService } from './enums/AuditService.enum.js'\nexport { BackupStatus } from './enums/BackupStatus.enum.js'\nexport {\n ClusterBulkOperationStatus,\n ClusterBulkOperationType,\n} from './enums/ClusterBulkOperation.enum.js'\nexport { ClusterClientPermission } from './enums/ClusterClientPermissions.enum.js'\nexport { ClusterEncryptionKey } from './enums/ClusterEncryptionKey.enum.js'\nexport { ClusterStatus } from './enums/ClusterStatus.enum.js'\nexport { ConsoleAPIClientPermission } from './enums/ConsoleApiClientPermission.enum.js'\nexport { ErrorType } from './enums/ErrorType.enum.js'\nexport type {\n AssignableOrganizationRoleType,\n OrganizationRoleType,\n UnassignableOrganizationRoleType,\n} from './enums/OrganizationRole.enum.js'\nexport {\n AssignableOrganizationRole,\n LegacyHeldOrganizationRole,\n OrganizationRole,\n UnassignableOrganizationRole,\n} from './enums/OrganizationRole.enum.js'\nexport { SseEntity, SseType } from './enums/Sse.enum.js'\nexport {\n SystemAuditEntity,\n SystemAuditEntityAttribute,\n} from './enums/SystemAuditEntity.enum.js'\n\n// ============================================================================\n// Permissions - Namespaces (runtime values)\n// ============================================================================\n\nexport { AccountsPermissions } from './permissions/accounts.permissions.js'\nexport { AlertDistributorPermissions } from './permissions/alert-distributor.permissions.js'\nexport { AuditLoggerPermissions } from './permissions/auditlogger.permissions.js'\nexport {\n accountsUserFeaturesFromPermissions,\n consoleUserFeaturesFromPermissions,\n sessionHasPermission,\n sessionPermissionKeysFor,\n} from './permissions/combo.js'\nexport { ConsolePermissions } from './permissions/console.permissions.js'\nexport { NotificationPermissions } from './permissions/notification.permissions.js'\n// profile.permissions - Types\nexport type { OnboardConfig } from './permissions/profile.permissions.js'\n// profile.permissions - Values (constants)\n// NOTE: the `allowed` email lists (CLOUD_TEAM_EMAILS, SRE_TEAM_EMAILS, etc.)\n// intentionally live in the private `@camunda-cloud/shared-backend` package\n// instead of here, since this package is published publicly to npm.\nexport { PROFILES } from './permissions/profile.permissions.js'\nexport { expandRolesToPermissions } from './permissions/roleExpansion.utils.js'\n\n// ============================================================================\n// Types - Type-only exports (interfaces and type aliases)\n// ============================================================================\n\nexport type { AuditData } from './types/AuditData.type.js'\n// AutoSleep.type - Types\nexport type {\n ActivitySleepEligibilityOptions,\n SleepCronEligibilityOptions,\n} from './types/AutoSleep.type.js'\n// AutoSleep.type - Values (constants and functions)\nexport {\n INTERNAL_LOW_HARDWARE_PLAN_NAME,\n isActivitySleepEligible,\n isClusterTagEligibleForSleepCron,\n isSalesPlanEligibleForSleepCron,\n isSleepCronEligible,\n SLEEP_CRON_ELIGIBLE_TAGS,\n} from './types/AutoSleep.type.js'\nexport type {\n BotContext,\n BotOptions,\n BotRequest,\n GetUserDetailsResponse,\n ListRolesForUserResponse,\n UpdateUserRolesRequest,\n UpdateUserRolesResponse,\n UserContext,\n UserDetails,\n} from './types/Bot.types.js'\n// BulkOperation.type - Types\nexport type {\n BulkClusterDeletionContent,\n BulkClusterDeletionItem,\n BulkClusterGenerationUpdateItem,\n BulkClusterPlanTypeUpdateContent,\n BulkClusterPlanTypeUpdateItem,\n BulkClusterPlanUpdateContent,\n BulkClusterPlanUpdateItem,\n BulkGenerationUpdateContent,\n GenericBulkClusterOperationContent,\n GenericBulkOperationContent,\n GenericClusterBulkOperationItem,\n} from './types/BulkOperation.type.js'\n// BulkOperation.type - Functions (type guards)\nexport {\n isBulkClusterDeletionItem,\n isBulkClusterPlanTypeUpdateItem,\n isBulkClusterPlanUpdateItem,\n isIsBulkClusterGenerationUpdateIten,\n} from './types/BulkOperation.type.js'\n// C8ClusterComponentVersions.type - Types\nexport type {\n ImmutableZeebeClusterVersionsDto,\n MutableZeebeClusterVersionsDto,\n ZeebeClusterVersionsDto,\n} from './types/C8ClusterComponentVersions.type.js'\n// C8ClusterComponentVersions.type - Values (constants)\nexport {\n AllThings,\n ImmutableThings,\n MutableThings,\n} from './types/C8ClusterComponentVersions.type.js'\n// CamundaClusterLabels.type - Types\nexport type {\n CamundaClusterStage,\n CamundaClusterStageLabel,\n ClusterLabels,\n} from './types/CamundaClusterLabels.type.js'\n// CamundaClusterLabels.type - Values (constants)\nexport {\n ALLOWED_CAMUNDA_LABELS,\n StageClusterLabels,\n} from './types/CamundaClusterLabels.type.js'\n// Chargebee.type - Types\nexport type { SubscriptionItem } from './types/Chargebee.type.js'\n// Chargebee.type - Values (enums)\nexport { ConsumptionData, ConsumptionDataType } from './types/Chargebee.type.js'\n// ClusterBulkOperation.type - Types\nexport type {\n ClusterBulkOperationAck,\n ClusterBulkOperationClusterDto,\n ClusterBulkOperationContent,\n ClusterBulkOperationDto,\n ClusterBulkOperationGenerationUpdateParameter,\n ClusterBulkOperationParameter,\n ClusterBulkOperationPlanTypeUpdateParameter,\n ClusterBulkOperationPlanUpdateParameter,\n ClusterBulkOperationPostContent,\n ClusterSleepWakeupParameter,\n} from './types/ClusterBulkOperation.type.js'\nexport type {\n ClusterModificationConfigDto,\n ClusterModificationDto,\n} from './types/ClusterModification.type.js'\n// ClusterPlanFields.type - Values (field spec and type guard)\nexport {\n CLUSTER_PLAN_FIELDS,\n type ClusterPlanFieldSpec,\n type ClusterPlanFieldTree,\n isClusterPlanFieldSpec,\n} from './types/ClusterPlanFields.type.js'\nexport type {\n ClusterPlanModificationAck,\n ClusterPlanModificationConfig,\n ClusterPlanModificationDto,\n} from './types/ClusterPlanModification.type.js'\n// ClusterPlanTypeAvailabilityClass.type - Values (enum and function)\nexport {\n ClusterPlanTypeAvailabilityClass,\n hasNoAvailabilityClass,\n sortByAvailabilityClasses,\n} from './types/ClusterPlanTypeAvailabilityClass.type.js'\n// ClusterPlanTypeCategory.type - Values (enum and functions)\nexport {\n ClusterPlanTypeCategory,\n hasAvailabilityClass,\n sortByClusterPlanTypeCategory,\n} from './types/ClusterPlanTypeCategory.type.js'\nexport type { ClusterPlanTypesToConfig } from './types/ClusterPlanTypesToConfig.type.js'\nexport type { ClusterPlanTypesToReserved } from './types/ClusterPlanTypesToReserved.type.js'\nexport type {\n ClusterTtlDeletionPayload,\n ClusterTtlDeletionResult,\n ClusterTtlDto,\n ClusterTtlDuration,\n ClusterTtlOption,\n ClusterTtlUnlimited,\n UpdateClusterTtlBody,\n} from './types/ClusterTtl.type.js'\nexport {\n CLUSTER_TTL_BACKFILL_REASON,\n CLUSTER_TTL_DURATION_MS,\n CLUSTER_TTL_DURATIONS,\n CLUSTER_TTL_FEATURE_FLAG,\n CLUSTER_TTL_OPTIONS,\n CLUSTER_TTL_UNLIMITED_LINK_MAX_LENGTH,\n CLUSTER_TTL_UNLIMITED_REASON_MAX_LENGTH,\n clusterTtlExpiresAt,\n DEFAULT_CLUSTER_TTL_OPTION,\n extendClusterTtl,\n isClusterTtlDuration,\n isClusterTtlOption,\n isClusterTtlStage,\n isHttpUrl,\n isPastClusterTtl,\n validateClusterTtlUnlimited,\n} from './types/ClusterTtl.type.js'\nexport type {\n ClusterUsageDataRequest,\n ClusterUsageMetadataDto,\n ClusterUsageMetricsAddRequestByMetricHeap,\n ClusterUsageMetricsData,\n ClusterUsageMetricsFilter,\n ClusterUsageOrgStartDate,\n} from './types/ClusterUsageMetrics.type.js'\n// Namespace with runtime values (consts, functions, enums)\nexport { ConsoleSM } from './types/ConsoleSelfManaged.type.js'\n// Namespace (type-only - contains only interfaces)\nexport type { ConsoleSMAdminApi } from './types/ConsoleSelfManagedAdminApi.type.js'\n// Dashboard.types - Types\nexport type {\n DashboardConfig,\n DashboardMappingItem,\n DashboardMappingTarget,\n DashboardResultPrimitive,\n DashboardResultRow,\n EngineeringOperationsDashboardResponse,\n} from './types/Dashboard.types.js'\nexport type { EnterpriseIncludingValueMetrics } from './types/EnterpriseIncludingValueMetrics.type.js'\nexport type {\n HdpTenantUsageBreakdown,\n HdpTenantUsagePerClusterPoint,\n HdpTenantUsagePoint,\n} from './types/HdpTenantUsage.type.js'\n// hdp.types - Types (interfaces)\nexport type {\n AlertSubscription as HdpAlertSubscription,\n Audit as HdpAudit,\n ByomClient as HdpByomClient,\n Channel as HdpChannel,\n Cluster as HdpCluster,\n ClusterBackup as HdpClusterBackup,\n ClusterBackupSchedule as HdpClusterBackupSchedule,\n ClusterBulkOperation as HdpClusterBulkOperation,\n ClusterClient as HdpClusterClient,\n ClusterModification as HdpClusterModification,\n ClusterPlan as HdpClusterPlan,\n ClusterPlanType as HdpClusterPlanType,\n ConnectorSecret as HdpConnectorSecret,\n ConsoleApiClient as HdpConsoleApiClient,\n Datacenter as HdpDatacenter,\n Generation as HdpGeneration,\n HdpBackendChangeEvent,\n HdpClusterModificationConfig,\n HdpDisk,\n HdpEntity,\n HdpPrometheusDataCapacityDataPoint,\n Invite as HdpInvite,\n LlmSpend as HdpLlmSpend,\n Organization as HdpOrganization,\n SecureConnectivity as HdpSecureConnectivity,\n SystemAudit as HdpSystemAudit,\n TelemetryData as HdpTelemetryData,\n UsageAlert as HdpUsageAlert,\n User as HdpUser,\n UserLogin as HdpUserLogin,\n} from './types/hdp.types.js'\n// hdp.types - Values (enums)\nexport {\n AlertSubscriptionReportType as HdpAlertSubscriptionReportType,\n AlertSubscriptionType as HdpAlertSubscriptionType,\n HDP_DISKS,\n} from './types/hdp.types.js'\n// notification.type - Types\nexport type {\n GlobalNotification,\n NotificationDto,\n NotificationMeta,\n NotificationOptions,\n NotificationPermission,\n NotificationSource,\n NotificationState,\n NotificationType,\n OrgNotification,\n UserNotification,\n UserOrgNotification,\n} from './types/notification.type.js'\n// notification.type - Values (enums and constants)\nexport {\n NotificationPermissionValues,\n NotificationSourceEnum,\n NotificationStateEnum,\n NotificationTypeEnum,\n} from './types/notification.type.js'\n// OrganizationPermission.type - Types\nexport type {\n CreateReadUpdateDelete,\n OrganizationPermissions,\n} from './types/OrganizationPermission.type.js'\n// OrganizationPermission.type - Values (constants)\nexport {\n OrganizationPermissionsDescriptions,\n PermissionsForOrganizationRole,\n} from './types/OrganizationPermission.type.js'\nexport {\n getPreprodClusterTtlHours,\n isPastPreprodClusterTtl,\n isPreprodClusterTtlStage,\n parseNumericLimit,\n} from './types/PreprodClusterTtl.type.js'\n// Roles.js - Types\nexport type {\n AccountRoles,\n ConsoleRoles,\n ModelerRoles,\n Roles,\n} from './types/Roles.js'\n// Roles.js - Values (constants)\nexport { SAFE_ROLES } from './types/Roles.js'\n// SalesPlanType.type - Types\nexport type {\n DisplayedSalesPlan,\n RevisitedSalesPlanName,\n} from './types/SalesPlanType.type.js'\n// SalesPlanType.type - Values (enums and functions)\nexport {\n AnalyticsSalesPlanType,\n getAnalyticsSalesPlanFromOrgSalesPlan,\n getDisplayedSalesPlan,\n getRevisitedSalesPlanName,\n OPTIMIZE_DISABLED_PLAN_TYPES,\n SalesPlanType,\n} from './types/SalesPlanType.type.js'\n// SpamDetection.type - Types\nexport type { SpamDetectionPatterns } from './types/SpamDetection.type.js'\n// SpamDetection.type - Values (constants)\nexport { TEERGRUBE_PATTERNS } from './types/SpamDetection.type.js'\nexport type {\n AlertSubscriptionSseEvent,\n BackupSseEvent,\n ClusterClientSseEvent,\n ClusterSseEvent,\n ConnectorSecretsSseEvent,\n ConsoleApiClientSseEvent,\n ConsoleSseEvent,\n MonitoringSseEvent,\n SecureConnectivitySseEvent,\n SseClusterPayload,\n SseMonitoringPayload,\n SseSecureConnectivityPayload,\n} from './types/SseEvent.type.js'\n// Namespace (type-only - contains only interfaces)\nexport type { AccountsStats } from './types/Stats.types.js'\n// Survey.type - Types\nexport type { Persona, SurveyDto } from './types/Survey.type.js'\n// Survey.type - Values (enum)\nexport { FeedbackType } from './types/Survey.type.js'\n// SuspendStrategy.type - Types\nexport type {\n GetSuspendStrategyOptions,\n SuspendStrategy,\n} from './types/SuspendStrategy.type.js'\n// SuspendStrategy.type - Values (function)\nexport { getSuspendStrategy } from './types/SuspendStrategy.type.js'\nexport type { SystemAuditData } from './types/SystemAuditData.type.js'\n\n// Namespace (runtime value)\nexport { Telemetry } from './types/Telemetry.type.js'\n\n// TrialManagement.types - Types\nexport type {\n ExtensionListItem,\n ExtensionListResponse,\n OrgTrialDetail,\n TrialExtensionSource,\n TrialManagementStats,\n} from './types/TrialManagement.types.js'\n\n// User.type - Types\nexport type {\n AccountsData,\n AppMetadata,\n BasicUser,\n BlockedFor,\n Identity,\n OrgMembership,\n User,\n UserMetadata,\n UserRequest,\n} from './types/User.type.js'\n\n// User.type - Values (enum)\nexport { UserMetadataEvent } from './types/User.type.js'\n\nexport type {\n UniqueTaskUser,\n ValueMetrics,\n ValueMetricsPerYearMonth,\n} from './types/ValueMetrics.type.js'\n\n// ============================================================================\n// Utils - Classes (runtime values)\n// ============================================================================\n\nexport {\n CLOUD_PROVIDER_ORDER,\n getCloudProviderLabel,\n getCloudProviderRank,\n} from './utils/cloudProvider.utils.js'\nexport {\n type ConnectivityStatus,\n deriveConnectivityMessage,\n deriveConnectivityStatus,\n} from './utils/connectivityStatus.utils.js'\nexport { ConsoleSelfManagedUtils } from './utils/console-sm.utils.js'\nexport type {\n CronScheduleValidationFailure,\n CronScheduleValidationResult,\n CronScheduleValidationSuccess,\n} from './utils/cronSchedule.utils.js'\nexport {\n BACKUP_SCHEDULE_MIN_INTERVAL_MINUTES,\n validateCronSchedule,\n} from './utils/cronSchedule.utils.js'\nexport {\n canonicalPlan,\n canonicalPlanKey,\n} from './utils/elasticsearchPlanPath.utils.js'\nexport {\n deriveEncryptionStatus,\n type EncryptionStatus,\n isEncryptionStatus,\n} from './utils/encryptionStatus.utils.js'\n// enterprise-connection.utils - Types\nexport type { EnterpriseConnectionOrganizationAssignment } from './utils/enterprise-connection.utils.js'\n// enterprise-connection.utils - Values (functions)\nexport {\n enterpriseConnectionMetadataToOrganizationAssignments,\n organizationAssignmentsToEnterpriseConnectionMetadata,\n} from './utils/enterprise-connection.utils.js'\nexport {\n addMonthsClamped,\n DEFAULT_ENTERPRISE_DURATION_IN_MONTHS,\n diffInWholeMonths,\n type EnterpriseTermWindow,\n getCurrentEnterpriseTerm,\n peakWithinTerm,\n toUtcDayStartMs,\n} from './utils/enterpriseTerm.utils.js'\nexport type { EnvVarEntry } from './utils/envVars.js'\nexport { parseEnvVars, serializeEnvVars } from './utils/envVars.js'\nexport {\n deriveFailoverKeyPolicyPrincipals,\n type FailoverKeyPolicyPrincipals,\n} from './utils/failoverKeyPolicy.utils.js'\nexport type {\n JvmOptionsModificationKey,\n ParsedJvmOption,\n} from './utils/jvmOptions.js'\nexport {\n addsEnvVarsOverrideValue,\n isJvmOptionsModificationKey,\n isUnderJvmSpec,\n JVM_OPTION_MAX_LENGTH,\n JVM_OPTION_PATTERN,\n JVM_OPTIONS_MAX_ITEMS,\n JVM_OPTIONS_MODIFICATION_KEYS,\n JVM_OPTIONS_TARGETS,\n joinJvmOptions,\n parseJvmOption,\n requiresEnvVarsOverride,\n splitJvmOptions,\n validateJvmOptions,\n validateJvmOptionsValue,\n} from './utils/jvmOptions.js'\nexport {\n KMS_ARN,\n KMS_MRK_ARN,\n type KmsArnValidationError,\n type ParsedKmsArn,\n parseKmsArn,\n validateKmsArnForRegion,\n} from './utils/kmsArn.utils.js'\nexport { validateLabels } from './utils/labelValidator.utils.js'\nexport { ObjectMergeUtils } from './utils/objectMerge.utils.js'\nexport {\n computeOrgStartDate,\n type OrgStartDateInput,\n} from './utils/orgStartDate.utils.js'\nexport {\n getPermissionsByRoles,\n getUserPermissionsForOrg,\n} from './utils/orgs/OrgHelper.js'\n\n// PasswordPolicy - Types\nexport type {\n PasswordPolicyRequest,\n PasswordPolicyResult,\n} from './utils/PasswordPolicy.js'\n\n// PasswordPolicy - Values (constants and function)\nexport {\n MAXLENGTH as PASSWORD_POLICY_MAXLENGTH,\n MINLENGTH as PASSWORD_POLICY_MINLENGTH,\n passwordPolicyCheck,\n} from './utils/PasswordPolicy.js'\nexport { isQaUserEmail, qaUserEmail } from './utils/qa-user.utils.js'\nexport {\n deriveSecondaryStorageStatus,\n type SecondaryStorageStatus,\n} from './utils/secondaryStorageStatus.utils.js'\nexport {\n allSettledResultsCounts,\n getFulfilledPromises,\n getRejectedPromises,\n getSettledSummary,\n} from './utils/settledPromises.util.js'\nexport {\n isValidAwsArn,\n isValidCIDR,\n isValidCIDRList,\n isValidClientName,\n isValidHostname,\n isValidPrivateLinkRegion,\n normalizeCIDRList,\n} from './utils/string-validation.utils.js'\nexport {\n extractCamundaUserEmail,\n guessName,\n isCamundaUserId,\n} from './utils/user.utils.js'\n\n// versionCheck.utils - Values (enum and function)\nexport {\n checkVersion,\n generationImageErrorMessage,\n isAppIntegrationsVersionSupported,\n isGenerationResumable,\n isSecretsFilterModeConfigurable,\n isValidGenerationImage,\n normalizeGenerationVersion,\n stripSecfixPostfix,\n VersionCheckOperator,\n} from './utils/versionCheck.utils.js'\n\n// ============================================================================\n// Config - Configuration files and types\n// ============================================================================\n\nexport { default as CAMUNDI_PERMISSION_RULES } from './config/camundi-permission-rules.js'\nexport type { CamundiPermissionRules } from './config/camundi-permission-rules.types.js'\n\nexport {\n augmentCamundiPermissions,\n getApplicableRolesForEmployee,\n HIBOB_CACHE_KEY,\n HIBOB_CACHE_NAMESPACE,\n isManager,\n} from './utils/camundiPermissionAugmenter.utils.js'\n"],
|
|
5
|
+
"mappings": "AAUA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,KAAK,MAAM,QAAQ,QAAQ,YAAY;AAEhD;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,4BAA4B;AACrC,SAAS,iDAAiD;AAK1D,SAAS,wCAAwC;AACjD;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAcP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAeP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP;AAAA,EACE;AAAA,EACA;AAAA,OACK;AAEP;AAAA,EACE;AAAA,EACA;AAAA,OACK;AAMP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAMA;AAAA,EASA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAIP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAUP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAWP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAuBP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA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",
|
|
6
6
|
"names": ["AlertSubscriptionReportType", "AlertSubscriptionType", "default"]
|
|
7
7
|
}
|
|
@@ -28,6 +28,28 @@ export interface ClusterUsageMetricsData {
|
|
|
28
28
|
generalUsers?: number;
|
|
29
29
|
deployedModels?: number;
|
|
30
30
|
}
|
|
31
|
+
/**
|
|
32
|
+
* One row of the usage metadata of an organization: the unique task users
|
|
33
|
+
* and the deployed models that console counted for one billing period
|
|
34
|
+
* (`GET api/orgs/:orgId/clusters/usage/value-metrics-metadata`).
|
|
35
|
+
*
|
|
36
|
+
* `startTimestamp` is the start of the contract period that the row belongs
|
|
37
|
+
* to. A row is the whole period, so the list of an organization holds one
|
|
38
|
+
* row for each period that console counted.
|
|
39
|
+
*/
|
|
40
|
+
export interface ClusterUsageMetadataDto {
|
|
41
|
+
id: number;
|
|
42
|
+
orgId: string;
|
|
43
|
+
startTimestamp: string | Date;
|
|
44
|
+
taskUsers: {
|
|
45
|
+
clusterId: string;
|
|
46
|
+
identifier: string;
|
|
47
|
+
}[];
|
|
48
|
+
deployedModels: {
|
|
49
|
+
clusterId: string;
|
|
50
|
+
count: number;
|
|
51
|
+
}[];
|
|
52
|
+
}
|
|
31
53
|
export interface ClusterUsageDataRequest {
|
|
32
54
|
orgStartDateMap: Map<string, {
|
|
33
55
|
startDate: Date;
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* JVM_OPTION_PATTERN is the syntax of one flag that the CRD accepts. It is not
|
|
3
|
+
* the full check: parseJvmOption also refuses a flag that the Camunda launcher
|
|
4
|
+
* sets, for example `-XX:+ExitOnOutOfMemoryError`.
|
|
5
|
+
*/
|
|
6
|
+
export declare const JVM_OPTION_PATTERN: RegExp;
|
|
7
|
+
/** JVM_OPTION_MAX_LENGTH is the `items:MaxLength` of `jvm.options` in the CRD. */
|
|
8
|
+
export declare const JVM_OPTION_MAX_LENGTH = 256;
|
|
9
|
+
/** JVM_OPTIONS_MAX_ITEMS is the `MaxItems` of `jvm.options` in the CRD. */
|
|
10
|
+
export declare const JVM_OPTIONS_MAX_ITEMS = 64;
|
|
11
|
+
/** JVM_OPTIONS_MODIFICATION_KEYS are the cluster modification keys that hold a list of JVM flags. */
|
|
12
|
+
export declare const JVM_OPTIONS_MODIFICATION_KEYS: readonly ["zeebe.broker.jvm.options", "gateway.jvm.options"];
|
|
13
|
+
/** JvmOptionsModificationKey is one of JVM_OPTIONS_MODIFICATION_KEYS. */
|
|
14
|
+
export type JvmOptionsModificationKey = (typeof JVM_OPTIONS_MODIFICATION_KEYS)[number];
|
|
15
|
+
/** JVM_OPTIONS_TARGETS names the ZeebeCluster spec component whose `jvm.options` each key sets. */
|
|
16
|
+
export declare const JVM_OPTIONS_TARGETS: {
|
|
17
|
+
readonly 'zeebe.broker.jvm.options': "zeebeBroker";
|
|
18
|
+
readonly 'gateway.jvm.options': "gateway";
|
|
19
|
+
};
|
|
20
|
+
/** ParsedJvmOption is a valid flag with the key that names its setting. */
|
|
21
|
+
export type ParsedJvmOption = {
|
|
22
|
+
key: string;
|
|
23
|
+
arg: string;
|
|
24
|
+
};
|
|
25
|
+
/** isJvmOptionsModificationKey tells if `key` is in JVM_OPTIONS_MODIFICATION_KEYS. */
|
|
26
|
+
export declare function isJvmOptionsModificationKey(key: string): key is JvmOptionsModificationKey;
|
|
27
|
+
/**
|
|
28
|
+
* isUnderJvmSpec tells if `key` names a `jvm` object of the spec, or a path in
|
|
29
|
+
* it, for example `zeebe.broker.jvm.options.0`. Only the keys of
|
|
30
|
+
* JVM_OPTIONS_MODIFICATION_KEYS may set it: the plan overlay turns any other
|
|
31
|
+
* such key into a list or an object in the spec.
|
|
32
|
+
*/
|
|
33
|
+
export declare function isUnderJvmSpec(key: string): boolean;
|
|
34
|
+
/**
|
|
35
|
+
* requiresEnvVarsOverride tells if only a caller with `canOverrideEnvVars` can
|
|
36
|
+
* set the modification key `key`: an `envVars` key, the JVM options keys, and
|
|
37
|
+
* every key under them, because the plan overlay turns a key such as
|
|
38
|
+
* `zeebe.broker.envVars.0` into the same field. The operator merges the JVM
|
|
39
|
+
* options into `JAVA_TOOL_OPTIONS`, and replaces matching flags in
|
|
40
|
+
* `JAVA_OPTS`, so they act like the env vars.
|
|
41
|
+
*/
|
|
42
|
+
export declare function requiresEnvVarsOverride(key: string): boolean;
|
|
43
|
+
type PlanModificationEntry = {
|
|
44
|
+
key: string;
|
|
45
|
+
value?: unknown;
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* addsEnvVarsOverrideValue tells if `after` holds an entry with a key that
|
|
49
|
+
* needs `canOverrideEnvVars`, whose key and value are not in `allowed`. A
|
|
50
|
+
* caller without the permission can keep or remove such an entry, but cannot
|
|
51
|
+
* add one or change its value. A removal needs no check, because the
|
|
52
|
+
* activation of a config without the entry removes it too.
|
|
53
|
+
*/
|
|
54
|
+
export declare function addsEnvVarsOverrideValue(allowed: ReadonlyArray<PlanModificationEntry> | undefined, after: ReadonlyArray<PlanModificationEntry> | undefined): boolean;
|
|
55
|
+
/**
|
|
56
|
+
* parseJvmOption returns the key and the flag, or an error message when `arg`
|
|
57
|
+
* is too long, does not match JVM_OPTION_PATTERN, or names a flag that the
|
|
58
|
+
* Camunda launcher sets. Two flags with the same key set the same setting.
|
|
59
|
+
*/
|
|
60
|
+
export declare function parseJvmOption(arg: string): ParsedJvmOption | {
|
|
61
|
+
error: string;
|
|
62
|
+
};
|
|
63
|
+
/** splitJvmOptions splits a stored value on any white space and drops empty tokens. */
|
|
64
|
+
export declare function splitJvmOptions(value: string | undefined): string[];
|
|
65
|
+
/** joinJvmOptions returns the stored form of a list: the flags joined by a space. */
|
|
66
|
+
export declare function joinJvmOptions(options: string[]): string;
|
|
67
|
+
/**
|
|
68
|
+
* validateJvmOptions returns one message per problem of `options`, or an empty
|
|
69
|
+
* array when `options` is valid. `existing` holds the flags that come before
|
|
70
|
+
* `options` in the list. They count for duplicates and for the maximum number
|
|
71
|
+
* of flags, but their own problems are not reported.
|
|
72
|
+
*/
|
|
73
|
+
export declare function validateJvmOptions(options: string[], existing?: string[]): string[];
|
|
74
|
+
/**
|
|
75
|
+
* validateJvmOptionsValue returns one message per problem of the stored value
|
|
76
|
+
* of a JVM options key, or an empty array when the value is valid. The stored
|
|
77
|
+
* value is a string of flags separated by white space.
|
|
78
|
+
*/
|
|
79
|
+
export declare function validateJvmOptionsValue(value: unknown): string[];
|
|
80
|
+
export {};
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
const JVM_OPTION_PATTERN = /^(-XX:([+-][A-Za-z][A-Za-z0-9_]*|[A-Za-z][A-Za-z0-9_]*=[\x21\x23\x25\x26\x28-\x5b\x5d-\x7e]+)|-X(mx|ms|ss)[0-9]+[kKmMgGtT]?)$/;
|
|
2
|
+
const JVM_OPTION_MAX_LENGTH = 256;
|
|
3
|
+
const JVM_OPTIONS_MAX_ITEMS = 64;
|
|
4
|
+
const JVM_OPTIONS_MODIFICATION_KEYS = [
|
|
5
|
+
"zeebe.broker.jvm.options",
|
|
6
|
+
"gateway.jvm.options"
|
|
7
|
+
];
|
|
8
|
+
const JVM_OPTIONS_TARGETS = {
|
|
9
|
+
"zeebe.broker.jvm.options": "zeebeBroker",
|
|
10
|
+
"gateway.jvm.options": "gateway"
|
|
11
|
+
};
|
|
12
|
+
const SIZE_FLAG_KEYS = {
|
|
13
|
+
"-Xmx": "XX:MaxHeapSize",
|
|
14
|
+
"-Xms": "XX:InitialHeapSize",
|
|
15
|
+
"-Xss": "XX:ThreadStackSize"
|
|
16
|
+
};
|
|
17
|
+
const LAUNCHER_KEYS = ["XX:ExitOnOutOfMemoryError"];
|
|
18
|
+
function isJvmOptionsModificationKey(key) {
|
|
19
|
+
return JVM_OPTIONS_MODIFICATION_KEYS.includes(key);
|
|
20
|
+
}
|
|
21
|
+
const JVM_SPEC_PATHS = JVM_OPTIONS_MODIFICATION_KEYS.map(
|
|
22
|
+
(key) => key.slice(0, -".options".length)
|
|
23
|
+
);
|
|
24
|
+
function isUnderJvmSpec(key) {
|
|
25
|
+
return JVM_SPEC_PATHS.some(
|
|
26
|
+
(path) => key === path || key.startsWith(`${path}.`)
|
|
27
|
+
);
|
|
28
|
+
}
|
|
29
|
+
function requiresEnvVarsOverride(key) {
|
|
30
|
+
return key.split(".").includes("envVars") || isUnderJvmSpec(key);
|
|
31
|
+
}
|
|
32
|
+
function envVarsOverrideEntries(modifications) {
|
|
33
|
+
return (modifications ?? []).filter(({ key }) => requiresEnvVarsOverride(key)).map(({ key, value }) => JSON.stringify([key, String(value)]));
|
|
34
|
+
}
|
|
35
|
+
function addsEnvVarsOverrideValue(allowed, after) {
|
|
36
|
+
const known = new Set(envVarsOverrideEntries(allowed));
|
|
37
|
+
return envVarsOverrideEntries(after).some((entry) => !known.has(entry));
|
|
38
|
+
}
|
|
39
|
+
function keyOf(arg) {
|
|
40
|
+
if (arg.startsWith("-XX:")) {
|
|
41
|
+
const name = arg.slice("-XX:".length).replace(/^[+-]+/, "").split("=")[0];
|
|
42
|
+
return name === "" ? "" : `XX:${name}`;
|
|
43
|
+
}
|
|
44
|
+
return SIZE_FLAG_KEYS[arg.slice(0, 4)] ?? "";
|
|
45
|
+
}
|
|
46
|
+
function parseJvmOption(arg) {
|
|
47
|
+
if (arg.length > JVM_OPTION_MAX_LENGTH) {
|
|
48
|
+
return {
|
|
49
|
+
error: `"${arg}" is longer than ${JVM_OPTION_MAX_LENGTH} characters`
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
if (!JVM_OPTION_PATTERN.test(arg)) {
|
|
53
|
+
return {
|
|
54
|
+
error: `"${arg}" is not a JVM flag of the form -XX:+Name, -XX:-Name, -XX:Name=value or -Xmx, -Xms, -Xss with a size, where a value is printable ASCII without spaces, quotes, $ or backslashes`
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
const key = keyOf(arg);
|
|
58
|
+
if (LAUNCHER_KEYS.includes(key)) {
|
|
59
|
+
return {
|
|
60
|
+
error: `"${arg}" cannot be changed, because the Camunda launcher sets it on the command line`
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
return { key, arg };
|
|
64
|
+
}
|
|
65
|
+
function splitJvmOptions(value) {
|
|
66
|
+
return value?.split(/\s+/).filter(Boolean) ?? [];
|
|
67
|
+
}
|
|
68
|
+
function joinJvmOptions(options) {
|
|
69
|
+
return options.join(" ");
|
|
70
|
+
}
|
|
71
|
+
function validateJvmOptions(options, existing = []) {
|
|
72
|
+
const errors = [];
|
|
73
|
+
const firstByKey = /* @__PURE__ */ new Map();
|
|
74
|
+
for (const arg of existing) {
|
|
75
|
+
const parsed = parseJvmOption(arg);
|
|
76
|
+
if (!("error" in parsed) && !firstByKey.has(parsed.key)) {
|
|
77
|
+
firstByKey.set(parsed.key, arg);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
for (const arg of options) {
|
|
81
|
+
const parsed = parseJvmOption(arg);
|
|
82
|
+
if ("error" in parsed) {
|
|
83
|
+
errors.push(parsed.error);
|
|
84
|
+
continue;
|
|
85
|
+
}
|
|
86
|
+
const first = firstByKey.get(parsed.key);
|
|
87
|
+
if (first === void 0) {
|
|
88
|
+
firstByKey.set(parsed.key, arg);
|
|
89
|
+
} else {
|
|
90
|
+
errors.push(`"${arg}" sets the same flag as "${first}"`);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
if (existing.length + options.length > JVM_OPTIONS_MAX_ITEMS) {
|
|
94
|
+
errors.push(`Use at most ${JVM_OPTIONS_MAX_ITEMS} JVM flags`);
|
|
95
|
+
}
|
|
96
|
+
return errors;
|
|
97
|
+
}
|
|
98
|
+
function validateJvmOptionsValue(value) {
|
|
99
|
+
if (typeof value !== "string") {
|
|
100
|
+
return ["JVM options must be a string of flags"];
|
|
101
|
+
}
|
|
102
|
+
return validateJvmOptions(splitJvmOptions(value));
|
|
103
|
+
}
|
|
104
|
+
export {
|
|
105
|
+
JVM_OPTIONS_MAX_ITEMS,
|
|
106
|
+
JVM_OPTIONS_MODIFICATION_KEYS,
|
|
107
|
+
JVM_OPTIONS_TARGETS,
|
|
108
|
+
JVM_OPTION_MAX_LENGTH,
|
|
109
|
+
JVM_OPTION_PATTERN,
|
|
110
|
+
addsEnvVarsOverrideValue,
|
|
111
|
+
isJvmOptionsModificationKey,
|
|
112
|
+
isUnderJvmSpec,
|
|
113
|
+
joinJvmOptions,
|
|
114
|
+
parseJvmOption,
|
|
115
|
+
requiresEnvVarsOverride,
|
|
116
|
+
splitJvmOptions,
|
|
117
|
+
validateJvmOptions,
|
|
118
|
+
validateJvmOptionsValue
|
|
119
|
+
};
|
|
120
|
+
//# sourceMappingURL=jvmOptions.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/utils/jvmOptions.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// Port of the parsing rules in pkg/jvm/options.go and of the limits in the\n// JVMSpec kubebuilder markers in api/cloud/v1alpha1/zeebecluster_types.go, both\n// in camunda/camunda-operator. The operator rejects flags that do not match, so\n// change both files together.\n\n/**\n * JVM_OPTION_PATTERN is the syntax of one flag that the CRD accepts. It is not\n * the full check: parseJvmOption also refuses a flag that the Camunda launcher\n * sets, for example `-XX:+ExitOnOutOfMemoryError`.\n */\nexport const JVM_OPTION_PATTERN =\n /^(-XX:([+-][A-Za-z][A-Za-z0-9_]*|[A-Za-z][A-Za-z0-9_]*=[\\x21\\x23\\x25\\x26\\x28-\\x5b\\x5d-\\x7e]+)|-X(mx|ms|ss)[0-9]+[kKmMgGtT]?)$/\n\n/** JVM_OPTION_MAX_LENGTH is the `items:MaxLength` of `jvm.options` in the CRD. */\nexport const JVM_OPTION_MAX_LENGTH = 256\n\n/** JVM_OPTIONS_MAX_ITEMS is the `MaxItems` of `jvm.options` in the CRD. */\nexport const JVM_OPTIONS_MAX_ITEMS = 64\n\n/** JVM_OPTIONS_MODIFICATION_KEYS are the cluster modification keys that hold a list of JVM flags. */\nexport const JVM_OPTIONS_MODIFICATION_KEYS = [\n 'zeebe.broker.jvm.options',\n 'gateway.jvm.options',\n] as const\n\n/** JvmOptionsModificationKey is one of JVM_OPTIONS_MODIFICATION_KEYS. */\nexport type JvmOptionsModificationKey =\n (typeof JVM_OPTIONS_MODIFICATION_KEYS)[number]\n\n/** JVM_OPTIONS_TARGETS names the ZeebeCluster spec component whose `jvm.options` each key sets. */\nexport const JVM_OPTIONS_TARGETS = {\n 'zeebe.broker.jvm.options': 'zeebeBroker',\n 'gateway.jvm.options': 'gateway',\n} as const satisfies Record<\n JvmOptionsModificationKey,\n 'zeebeBroker' | 'gateway'\n>\n\n// -Xmx, -Xms and -Xss set the same setting as their -XX spelling\nconst SIZE_FLAG_KEYS: Record<string, string> = {\n '-Xmx': 'XX:MaxHeapSize',\n '-Xms': 'XX:InitialHeapSize',\n '-Xss': 'XX:ThreadStackSize',\n}\n\n// the Camunda launcher passes these after JAVA_OPTS, so no option can change them\nconst LAUNCHER_KEYS = ['XX:ExitOnOutOfMemoryError']\n\n/** ParsedJvmOption is a valid flag with the key that names its setting. */\nexport type ParsedJvmOption = { key: string; arg: string }\n\n/** isJvmOptionsModificationKey tells if `key` is in JVM_OPTIONS_MODIFICATION_KEYS. */\nexport function isJvmOptionsModificationKey(\n key: string,\n): key is JvmOptionsModificationKey {\n return (JVM_OPTIONS_MODIFICATION_KEYS as readonly string[]).includes(key)\n}\n\n// The `jvm` objects of the spec that JVM_OPTIONS_MODIFICATION_KEYS set a list in.\nconst JVM_SPEC_PATHS = JVM_OPTIONS_MODIFICATION_KEYS.map((key) =>\n key.slice(0, -'.options'.length),\n)\n\n/**\n * isUnderJvmSpec tells if `key` names a `jvm` object of the spec, or a path in\n * it, for example `zeebe.broker.jvm.options.0`. Only the keys of\n * JVM_OPTIONS_MODIFICATION_KEYS may set it: the plan overlay turns any other\n * such key into a list or an object in the spec.\n */\nexport function isUnderJvmSpec(key: string): boolean {\n return JVM_SPEC_PATHS.some(\n (path) => key === path || key.startsWith(`${path}.`),\n )\n}\n\n/**\n * requiresEnvVarsOverride tells if only a caller with `canOverrideEnvVars` can\n * set the modification key `key`: an `envVars` key, the JVM options keys, and\n * every key under them, because the plan overlay turns a key such as\n * `zeebe.broker.envVars.0` into the same field. The operator merges the JVM\n * options into `JAVA_TOOL_OPTIONS`, and replaces matching flags in\n * `JAVA_OPTS`, so they act like the env vars.\n */\nexport function requiresEnvVarsOverride(key: string): boolean {\n return key.split('.').includes('envVars') || isUnderJvmSpec(key)\n}\n\ntype PlanModificationEntry = { key: string; value?: unknown }\n\n// One string for each entry with a key that requiresEnvVarsOverride names, so\n// that a Set compares the key and the value together.\nfunction envVarsOverrideEntries(\n modifications: ReadonlyArray<PlanModificationEntry> | undefined,\n): string[] {\n return (modifications ?? [])\n .filter(({ key }) => requiresEnvVarsOverride(key))\n .map(({ key, value }) => JSON.stringify([key, String(value)]))\n}\n\n/**\n * addsEnvVarsOverrideValue tells if `after` holds an entry with a key that\n * needs `canOverrideEnvVars`, whose key and value are not in `allowed`. A\n * caller without the permission can keep or remove such an entry, but cannot\n * add one or change its value. A removal needs no check, because the\n * activation of a config without the entry removes it too.\n */\nexport function addsEnvVarsOverrideValue(\n allowed: ReadonlyArray<PlanModificationEntry> | undefined,\n after: ReadonlyArray<PlanModificationEntry> | undefined,\n): boolean {\n const known = new Set(envVarsOverrideEntries(allowed))\n return envVarsOverrideEntries(after).some((entry) => !known.has(entry))\n}\n\nfunction keyOf(arg: string): string {\n if (arg.startsWith('-XX:')) {\n const name = arg\n .slice('-XX:'.length)\n .replace(/^[+-]+/, '')\n .split('=')[0]\n return name === '' ? '' : `XX:${name}`\n }\n return SIZE_FLAG_KEYS[arg.slice(0, 4)] ?? ''\n}\n\n/**\n * parseJvmOption returns the key and the flag, or an error message when `arg`\n * is too long, does not match JVM_OPTION_PATTERN, or names a flag that the\n * Camunda launcher sets. Two flags with the same key set the same setting.\n */\nexport function parseJvmOption(\n arg: string,\n): ParsedJvmOption | { error: string } {\n if (arg.length > JVM_OPTION_MAX_LENGTH) {\n return {\n error: `\"${arg}\" is longer than ${JVM_OPTION_MAX_LENGTH} characters`,\n }\n }\n\n if (!JVM_OPTION_PATTERN.test(arg)) {\n return {\n error: `\"${arg}\" is not a JVM flag of the form -XX:+Name, -XX:-Name, -XX:Name=value or -Xmx, -Xms, -Xss with a size, where a value is printable ASCII without spaces, quotes, $ or backslashes`,\n }\n }\n\n const key = keyOf(arg)\n if (LAUNCHER_KEYS.includes(key)) {\n return {\n error: `\"${arg}\" cannot be changed, because the Camunda launcher sets it on the command line`,\n }\n }\n\n return { key, arg }\n}\n\n/** splitJvmOptions splits a stored value on any white space and drops empty tokens. */\nexport function splitJvmOptions(value: string | undefined): string[] {\n return value?.split(/\\s+/).filter(Boolean) ?? []\n}\n\n/** joinJvmOptions returns the stored form of a list: the flags joined by a space. */\nexport function joinJvmOptions(options: string[]): string {\n return options.join(' ')\n}\n\n/**\n * validateJvmOptions returns one message per problem of `options`, or an empty\n * array when `options` is valid. `existing` holds the flags that come before\n * `options` in the list. They count for duplicates and for the maximum number\n * of flags, but their own problems are not reported.\n */\nexport function validateJvmOptions(\n options: string[],\n existing: string[] = [],\n): string[] {\n const errors: string[] = []\n const firstByKey = new Map<string, string>()\n\n for (const arg of existing) {\n const parsed = parseJvmOption(arg)\n if (!('error' in parsed) && !firstByKey.has(parsed.key)) {\n firstByKey.set(parsed.key, arg)\n }\n }\n\n for (const arg of options) {\n const parsed = parseJvmOption(arg)\n if ('error' in parsed) {\n errors.push(parsed.error)\n continue\n }\n\n const first = firstByKey.get(parsed.key)\n if (first === undefined) {\n firstByKey.set(parsed.key, arg)\n } else {\n errors.push(`\"${arg}\" sets the same flag as \"${first}\"`)\n }\n }\n\n if (existing.length + options.length > JVM_OPTIONS_MAX_ITEMS) {\n errors.push(`Use at most ${JVM_OPTIONS_MAX_ITEMS} JVM flags`)\n }\n\n return errors\n}\n\n/**\n * validateJvmOptionsValue returns one message per problem of the stored value\n * of a JVM options key, or an empty array when the value is valid. The stored\n * value is a string of flags separated by white space.\n */\nexport function validateJvmOptionsValue(value: unknown): string[] {\n if (typeof value !== 'string') {\n return ['JVM options must be a string of flags']\n }\n return validateJvmOptions(splitJvmOptions(value))\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
package/package.json
CHANGED