@camunda/ccma-shared-types 0.7.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/dist/_tests/types/alertSubscription.enum.spec.d.ts +1 -0
  2. package/dist/_tests/utils/connectivityStatus.utils.spec.d.ts +1 -0
  3. package/dist/_tests/utils/secondaryStorageStatus.utils.spec.d.ts +1 -0
  4. package/dist/constants/failoverRegionPairs.const.d.ts +21 -3
  5. package/dist/constants/failoverRegionPairs.const.js +13 -1
  6. package/dist/constants/failoverRegionPairs.const.js.map +2 -2
  7. package/dist/constants/version-gates.const.d.ts +58 -17
  8. package/dist/constants/version-gates.const.js +13 -1
  9. package/dist/constants/version-gates.const.js.map +2 -2
  10. package/dist/dtos/AlertSubscription.dto.d.ts +1 -1
  11. package/dist/dtos/AlertSubscription.dto.js.map +1 -1
  12. package/dist/dtos/CommonCluster.dto.d.ts +21 -1
  13. package/dist/dtos/ControlV2.dto.d.ts +1 -1
  14. package/dist/dtos/K8sContext.dto.d.ts +7 -0
  15. package/dist/enums/AlertSubscription.enum.d.ts +1 -3
  16. package/dist/enums/AlertSubscription.enum.js +0 -2
  17. package/dist/enums/AlertSubscription.enum.js.map +2 -2
  18. package/dist/enums/AuditEntity.enum.d.ts +2 -0
  19. package/dist/enums/AuditEntity.enum.js +2 -0
  20. package/dist/enums/AuditEntity.enum.js.map +2 -2
  21. package/dist/index.d.ts +5 -3
  22. package/dist/index.js +24 -0
  23. package/dist/index.js.map +2 -2
  24. package/dist/types/hdp.types.d.ts +1 -3
  25. package/dist/types/hdp.types.js +0 -2
  26. package/dist/types/hdp.types.js.map +2 -2
  27. package/dist/utils/connectivityStatus.utils.d.ts +28 -0
  28. package/dist/utils/connectivityStatus.utils.js +32 -0
  29. package/dist/utils/connectivityStatus.utils.js.map +7 -0
  30. package/dist/utils/failoverKeyPolicy.utils.d.ts +6 -9
  31. package/dist/utils/failoverKeyPolicy.utils.js +1 -2
  32. package/dist/utils/failoverKeyPolicy.utils.js.map +2 -2
  33. package/dist/utils/secondaryStorageStatus.utils.d.ts +25 -0
  34. package/dist/utils/secondaryStorageStatus.utils.js +13 -0
  35. package/dist/utils/secondaryStorageStatus.utils.js.map +7 -0
  36. package/dist/utils/versionCheck.utils.d.ts +22 -0
  37. package/dist/utils/versionCheck.utils.js +41 -2
  38. package/dist/utils/versionCheck.utils.js.map +2 -2
  39. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -60,10 +60,16 @@ import {
60
60
  NEW_CLUSTER_ROLES_MIN_VERSION,
61
61
  OPTIMIZE_DEFAULT_ON_MIN_VERSION,
62
62
  OPTIMIZE_FILTERING_MIN_VERSION,
63
+ OPTIONAL_TELEMETRY_MIN_VERSION,
63
64
  RESOURCE_BASED_AUTHORIZATIONS_MIN_VERSION,
64
65
  REST_API_URL_TRANSFORM_MIN_VERSION,
65
66
  REST_API_V2_MIN_VERSION,
66
67
  SECRET_SOURCE_MIN_VERSION,
68
+ SECRETS_FILTER_MODE_8_6_MIN_VERSION,
69
+ SECRETS_FILTER_MODE_8_7_MIN_VERSION,
70
+ SECRETS_FILTER_MODE_8_8_MIN_VERSION,
71
+ SECRETS_FILTER_MODE_8_9_MIN_VERSION,
72
+ SECRETS_FILTER_MODE_8_10_MIN_VERSION,
67
73
  SESSION_CONFIG_MIN_VERSION,
68
74
  SWAGGER_MIN_VERSION,
69
75
  SWAGGER_URL_8_9_MIN_VERSION,
@@ -227,6 +233,10 @@ import {
227
233
  getCloudProviderLabel,
228
234
  getCloudProviderRank
229
235
  } from "./utils/cloudProvider.utils.js";
236
+ import {
237
+ deriveConnectivityMessage,
238
+ deriveConnectivityStatus
239
+ } from "./utils/connectivityStatus.utils.js";
230
240
  import { ConsoleSelfManagedUtils } from "./utils/console-sm.utils.js";
231
241
  import {
232
242
  BACKUP_SCHEDULE_MIN_INTERVAL_MINUTES,
@@ -269,6 +279,9 @@ import {
269
279
  MINLENGTH,
270
280
  passwordPolicyCheck
271
281
  } from "./utils/PasswordPolicy.js";
282
+ import {
283
+ deriveSecondaryStorageStatus
284
+ } from "./utils/secondaryStorageStatus.utils.js";
272
285
  import {
273
286
  allSettledResultsCounts,
274
287
  getFulfilledPromises,
@@ -292,6 +305,7 @@ import {
292
305
  import {
293
306
  checkVersion,
294
307
  isAppIntegrationsVersionSupported,
308
+ isSecretsFilterModeConfigurable,
295
309
  VersionCheckOperator
296
310
  } from "./utils/versionCheck.utils.js";
297
311
  import { default as default2 } from "./config/camundi-permission-rules.js";
@@ -398,6 +412,7 @@ export {
398
412
  OPTIMIZE_DEFAULT_ON_MIN_VERSION,
399
413
  OPTIMIZE_DISABLED_PLAN_TYPES,
400
414
  OPTIMIZE_FILTERING_MIN_VERSION,
415
+ OPTIONAL_TELEMETRY_MIN_VERSION,
401
416
  ORGANIZATION_SEARCH_FIELDS,
402
417
  ORG_DEFAULT_SEARCH_FIELDS,
403
418
  ObjectMergeUtils,
@@ -420,6 +435,11 @@ export {
420
435
  RETENTION_LIMIT_MINIMUM,
421
436
  SAFE_ROLES,
422
437
  SECOND,
438
+ SECRETS_FILTER_MODE_8_10_MIN_VERSION,
439
+ SECRETS_FILTER_MODE_8_6_MIN_VERSION,
440
+ SECRETS_FILTER_MODE_8_7_MIN_VERSION,
441
+ SECRETS_FILTER_MODE_8_8_MIN_VERSION,
442
+ SECRETS_FILTER_MODE_8_9_MIN_VERSION,
423
443
  SECRETS_MAX_LENGTH,
424
444
  SECRET_SOURCE_MIN_VERSION,
425
445
  SECURE_CONNECTIVITY_ALLOWED_ENTRIES_LIMIT,
@@ -466,8 +486,11 @@ export {
466
486
  compileQuery,
467
487
  consoleUserFeaturesFromPermissions,
468
488
  deprecatedLimit,
489
+ deriveConnectivityMessage,
490
+ deriveConnectivityStatus,
469
491
  deriveEncryptionStatus,
470
492
  deriveFailoverKeyPolicyPrincipals,
493
+ deriveSecondaryStorageStatus,
471
494
  diffInWholeMonths,
472
495
  enterpriseConnectionMetadataToOrganizationAssignments,
473
496
  expandRolesToPermissions,
@@ -505,6 +528,7 @@ export {
505
528
  isManager,
506
529
  isPre89AffectedPath,
507
530
  isSalesPlanEligibleForSleepCron,
531
+ isSecretsFilterModeConfigurable,
508
532
  isSleepCronEligible,
509
533
  isSupportedFailoverRegionPair,
510
534
  isValidAwsArn,
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 { DAY, HOUR, MINUTE, SECOND, WEEK } from './constants/duration.const.js'\nexport {\n isSupportedFailoverRegionPair,\n SUPPORTED_FAILOVER_REGION_PAIRS,\n} from './constants/failoverRegionPairs.const.js'\nexport type { Stage } from './constants/misc.const.js'\nexport {\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} 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 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 RESOURCE_BASED_AUTHORIZATIONS_MIN_VERSION,\n REST_API_URL_TRANSFORM_MIN_VERSION,\n REST_API_V2_MIN_VERSION,\n SECRET_SOURCE_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 ZEEBE_REST_URL_MIN_VERSION,\n} from './constants/version-gates.const.js'\n\n// ============================================================================\n// DTOs - Types (interfaces and type aliases)\n// ============================================================================\n\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\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'\n\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 { ClusterIpWhitelistDto } from './dtos/ClusterIpWhitelist.dto.js'\nexport type { ClusterPlanDto } from './dtos/ClusterPlan.dto.js'\nexport type { ClusterPlanTypeDto } from './dtos/ClusterPlanType.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} from './dtos/CommonCluster.dto.js'\nexport type { ConsoleClusterDto } from './dtos/ConsoleCluster.dto.js'\nexport type {\n ClusterByClientV2Dto,\n ClusterDatacenterOptionV2Dto,\n ClusterDetailV2Dto,\n ClusterFacetsV2Dto,\n ClusterListItemV2Dto,\n ClusterParameterOptionV2Dto,\n ClusterParametersV2Dto,\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 { EarlyAccessFeatureDto } from './dtos/EarlyAccessFeature.dto.js'\nexport type {\n CamundaWebApp,\n CamundaWebAppWithZeebe,\n ExternalClusterDto,\n ExternalOrganizationDto,\n} from './dtos/ExternalWebapp.dto.js'\n// Functions\nexport {\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 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 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 deprecatedLimit,\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'\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 type CompileContext,\n type CompiledQuery,\n compileQuery,\n type FieldBinding,\n findSearchField,\n isLuceneQueryError,\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 TermNode,\n} from './search/index.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} 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 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 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 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} 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'\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 { 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 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 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'\n\nexport {\n allSettledResultsCounts,\n getFulfilledPromises,\n getRejectedPromises,\n getSettledSummary,\n} from './utils/settledPromises.util.js'\n\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 isAppIntegrationsVersionSupported,\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 isManager,\n} from './utils/camundiPermissionAugmenter.utils.js'\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/*\n * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH\n * under one or more contributor license agreements. Licensed under a commercial license.\n * You may not use this file except in compliance with the commercial license.\n */\n\n// ============================================================================\n// Constants (runtime values)\n// ============================================================================\n\nexport { DAY, HOUR, MINUTE, SECOND, WEEK } from './constants/duration.const.js'\nexport {\n isSupportedFailoverRegionPair,\n SUPPORTED_FAILOVER_REGION_PAIRS,\n} from './constants/failoverRegionPairs.const.js'\nexport type { Stage } from './constants/misc.const.js'\nexport {\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} 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 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 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 ZEEBE_REST_URL_MIN_VERSION,\n} from './constants/version-gates.const.js'\n\n// ============================================================================\n// DTOs - Types (interfaces and type aliases)\n// ============================================================================\n\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\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'\n\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 { ClusterIpWhitelistDto } from './dtos/ClusterIpWhitelist.dto.js'\nexport type { ClusterPlanDto } from './dtos/ClusterPlan.dto.js'\nexport type { ClusterPlanTypeDto } from './dtos/ClusterPlanType.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 ClusterByClientV2Dto,\n ClusterDatacenterOptionV2Dto,\n ClusterDetailV2Dto,\n ClusterFacetsV2Dto,\n ClusterListItemV2Dto,\n ClusterParameterOptionV2Dto,\n ClusterParametersV2Dto,\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 { EarlyAccessFeatureDto } from './dtos/EarlyAccessFeature.dto.js'\nexport type {\n CamundaWebApp,\n CamundaWebAppWithZeebe,\n ExternalClusterDto,\n ExternalOrganizationDto,\n} from './dtos/ExternalWebapp.dto.js'\n// Functions\nexport {\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 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 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 deprecatedLimit,\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'\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 type CompileContext,\n type CompiledQuery,\n compileQuery,\n type FieldBinding,\n findSearchField,\n isLuceneQueryError,\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 TermNode,\n} from './search/index.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} 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 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 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 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} 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'\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 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 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'\n\nexport {\n deriveSecondaryStorageStatus,\n type SecondaryStorageStatus,\n} from './utils/secondaryStorageStatus.utils.js'\n\nexport {\n allSettledResultsCounts,\n getFulfilledPromises,\n getRejectedPromises,\n getSettledSummary,\n} from './utils/settledPromises.util.js'\n\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 isAppIntegrationsVersionSupported,\n isSecretsFilterModeConfigurable,\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 isManager,\n} from './utils/camundiPermissionAugmenter.utils.js'\n"],
5
+ "mappings": "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",
6
6
  "names": ["AlertSubscriptionReportType", "AlertSubscriptionType", "default"]
7
7
  }
@@ -102,9 +102,7 @@ export interface Channel {
102
102
  name: string;
103
103
  }
104
104
  export declare enum AlertSubscriptionType {
105
- ClusterAlert = "ClusterAlert",
106
- ProcessAlert = "ProcessAlert",
107
- AllAlerts = "AllAlerts"
105
+ ProcessAlert = "ProcessAlert"
108
106
  }
109
107
  export declare enum AlertSubscriptionReportType {
110
108
  Email = "Email",
@@ -1,7 +1,5 @@
1
1
  var AlertSubscriptionType = /* @__PURE__ */ ((AlertSubscriptionType2) => {
2
- AlertSubscriptionType2["ClusterAlert"] = "ClusterAlert";
3
2
  AlertSubscriptionType2["ProcessAlert"] = "ProcessAlert";
4
- AlertSubscriptionType2["AllAlerts"] = "AllAlerts";
5
3
  return AlertSubscriptionType2;
6
4
  })(AlertSubscriptionType || {});
7
5
  var AlertSubscriptionReportType = /* @__PURE__ */ ((AlertSubscriptionReportType2) => {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/types/hdp.types.ts"],
4
- "sourcesContent": ["/*\n * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH\n * under one or more contributor license agreements. Licensed under a commercial license.\n * You may not use this file except in compliance with the commercial license.\n */\n\nimport type { Limits } from '../dtos/SalesPlan.dto.js'\nimport type { UsageAlertMetric } from '../dtos/UsageAlert.dto.js'\nimport type { ClusterClientPermission } from '../enums/ClusterClientPermissions.enum.js'\nimport type { ConsoleAPIClientPermission } from '../enums/ConsoleApiClientPermission.enum.js'\nimport type { OrganizationRole } from '../enums/OrganizationRole.enum.js'\nimport type { DisplayedSalesPlan, SalesPlanType } from './SalesPlanType.type.js'\n\nexport interface Cluster {\n uuid: string\n name: string\n clusterPlanType: ClusterPlanType\n clusterPlan: ClusterPlan\n generation: Generation\n channel: Channel\n datacenter?: Datacenter // is not fetched eagerly, if we do not have it we just gonna omit it\n amountOfIpWhitelistRules: number\n ownerUuid: string\n created: Date\n autoUpdate: boolean\n mcpEnabled?: boolean\n businessIdUniquenessEnabled?: boolean\n optimizeEnabled?: boolean\n tags?: string[]\n sleeping?: boolean\n activeModifications: boolean\n encryptionKeysSet?: {\n primaryConfigured: boolean\n secondaryConfigured: boolean\n }\n}\nexport interface ClusterBackup {\n clusterId: string\n backupId?: string\n}\n\nexport interface ClusterModification {\n uuid: string\n clusterUuid: string\n owner: string\n createdAt?: Date\n archivedAt?: Date\n}\n\nexport interface ClusterModificationConfig {\n uuid: string\n clusterUuid: string\n modificationUuid: string\n creator: string\n description: string\n url?: string\n createdAt?: Date\n sealedAt?: Date\n activatedAt?: Date\n replacedBy?: string\n deactivatedAt?: Date\n deactivatedBy?: string | null\n expiresAt?: Date | null\n expiredNotifiedAt?: Date | null\n yoloJustification?: string\n}\n\n/**\n * HDP-specific interface for ClusterModificationConfig.\n * Used for Holy Data Platform integration - keeps Date objects for timestamp fields.\n */\nexport interface HdpClusterModificationConfig {\n uuid: string\n clusterUuid: string\n modificationUuid: string\n creator: string\n description: string\n url?: string\n createdAt?: Date\n sealedAt?: Date\n activatedAt?: Date\n replacedBy?: string\n deactivatedAt?: Date\n deactivatedBy?: string | null\n expiresAt?: Date | null\n expiredNotifiedAt?: Date | null\n}\n\nexport interface ClusterBackupSchedule {\n clusterId: string\n schedule?: string\n}\n\nexport interface ClusterPlanType {\n uuid: string\n name: string\n availabilityClass: string\n isDevelopment: boolean\n}\n\nexport interface ClusterPlan {\n uuid: string\n name: string\n}\n\nexport interface Datacenter {\n uuid: string\n name: string\n}\nexport interface Generation {\n uuid: string\n name: string\n}\nexport interface Channel {\n uuid: string\n name: string\n}\n\n// eslint-disable-next-line no-shadow\nexport enum AlertSubscriptionType {\n ClusterAlert = 'ClusterAlert',\n ProcessAlert = 'ProcessAlert',\n AllAlerts = 'AllAlerts',\n}\n\n// eslint-disable-next-line no-shadow\nexport enum AlertSubscriptionReportType {\n Email = 'Email',\n Webhook = 'Webhook',\n}\nexport interface AlertSubscription {\n uuid: string\n clusterUuid?: string\n target: string // userIdOrWebhook\n reportType: AlertSubscriptionReportType\n type: AlertSubscriptionType\n}\n\nexport interface ConsoleApiClient {\n uuid: string\n name: string\n organizationUuid: string\n permissions: ConsoleAPIClientPermission[]\n}\n\nexport interface ConnectorSecret {\n clusterUuid: string\n amountOfSecrets: number\n}\n\nexport interface ByomClient {\n uuid: string\n clusterUuid?: string\n username: string\n}\n\nexport interface SecureConnectivity {\n clusterUuid: string\n allowedRegions: string[]\n allowedPrincipals: string[]\n}\n\nexport interface ClusterClient {\n uuid: string\n name: string\n clusterUuid?: string\n clientId: string\n permissions: ClusterClientPermission[]\n}\n\nexport interface Organization {\n uuid: string\n name: string\n salesplan?: {\n type: SalesPlanType // might be undefined when in limbo\n displayedType?: DisplayedSalesPlan // might be undefined when in limbo\n uuid: string // might be undefined when in limbo\n name: string // might be undefined when in limbo\n expireDate?: Date\n }\n reservations?: {\n [key: string]: number\n }\n earlyAccessFeatures?: string[]\n justOptedForTheBetaTerms?: boolean\n salesForceProjectId?: string\n awsOnly?: boolean\n limits?: Limits\n}\n\nexport interface User {\n name: string\n email: string\n userId: string\n orgMemberships?: Array<{ orgUuid: string; roles: OrganizationRole[] }> // can be undefined which means: no new info ;)\n}\n\nexport interface UserLogin {\n userId: string\n}\n\nexport interface Invite {\n email: string\n orgUuid: string\n roles: OrganizationRole[]\n}\n\nexport interface UsageAlert {\n orgId: string\n metric: UsageAlertMetric\n threshold: number\n enabled: boolean\n triggered: boolean\n}\n\nexport interface Audit {\n service: string\n orgId: string\n timestamp: number\n audit: string\n auditType: 'c' | 'r' | 'u' | 'd'\n entity: string\n entityId: string\n userId: string\n entityAttribute?: string\n entityAttributeValueFrom?: string\n entityAttributeValueTo?: string\n parentEntity?: string\n parentEntityId?: string\n}\n\nexport interface SystemAudit {\n service: string\n timestamp: number\n audit: string\n auditType: 'c' | 'r' | 'u' | 'd'\n entity: string\n entityId: string\n userId: string\n entityAttribute?: string | null\n entityAttributeValueFrom?: string | null\n entityAttributeValueTo?: string | null\n orgId?: string | null\n clusterId?: string | null\n}\n\nexport interface TelemetryData {\n customerId: string\n installationId: string\n entities: Array<{ id: string; type: string }>\n key: string\n value: string | number | boolean\n tags?: Record<string, string>\n timestampFrom: number\n timestampTo?: number\n}\n\nexport interface ClusterBulkOperation {\n uuid: string\n name: string\n reason: string\n eyes: number\n clusterUuids: string[]\n type: string\n created: Date\n updated?: Date\n executedAt?: Date\n createdBy: string\n}\n\nexport interface LlmSpend {\n orgId: string\n salesPlanType: SalesPlanType\n spend: number\n maxBudget: number\n}\n\nexport type HdpEntity =\n | 'cluster'\n | 'clusterBackup'\n | 'clusterBackupSchedule'\n | 'clusterRestore'\n | 'datacenter'\n | 'generation'\n | 'channel'\n | 'clusterPlan'\n | 'clusterPlanType'\n | 'alertSubscription'\n | 'consoleApiClient'\n | 'connectorSecret'\n | 'byomClient'\n | 'secureConnectivity'\n | 'clusterClient'\n | 'organization'\n | 'user'\n | 'invite'\n | 'usageAlert'\n | 'audit'\n | 'systemAudit'\n | 'telemetry'\n | 'userlogin'\n | 'clusterBulkOperation'\n | 'clusterModification'\n | 'clusterModificationConfig'\n | 'llmSpend'\n\nexport interface HdpPrometheusDataCapacityDataPoint {\n clusterId?: string\n ts: number\n avg: number\n min: number\n max: number\n}\n\nexport interface HdpBackendChangeEvent {\n ts: number\n data: {\n stage: string\n entity: string\n operation: string\n data: any\n }\n}\n"],
5
- "mappings": "AAuHO,IAAK,wBAAL,kBAAKA,2BAAL;AACL,EAAAA,uBAAA,kBAAe;AACf,EAAAA,uBAAA,kBAAe;AACf,EAAAA,uBAAA,eAAY;AAHF,SAAAA;AAAA,GAAA;AAOL,IAAK,8BAAL,kBAAKC,iCAAL;AACL,EAAAA,6BAAA,WAAQ;AACR,EAAAA,6BAAA,aAAU;AAFA,SAAAA;AAAA,GAAA;",
4
+ "sourcesContent": ["/*\n * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH\n * under one or more contributor license agreements. Licensed under a commercial license.\n * You may not use this file except in compliance with the commercial license.\n */\n\nimport type { Limits } from '../dtos/SalesPlan.dto.js'\nimport type { UsageAlertMetric } from '../dtos/UsageAlert.dto.js'\nimport type { ClusterClientPermission } from '../enums/ClusterClientPermissions.enum.js'\nimport type { ConsoleAPIClientPermission } from '../enums/ConsoleApiClientPermission.enum.js'\nimport type { OrganizationRole } from '../enums/OrganizationRole.enum.js'\nimport type { DisplayedSalesPlan, SalesPlanType } from './SalesPlanType.type.js'\n\nexport interface Cluster {\n uuid: string\n name: string\n clusterPlanType: ClusterPlanType\n clusterPlan: ClusterPlan\n generation: Generation\n channel: Channel\n datacenter?: Datacenter // is not fetched eagerly, if we do not have it we just gonna omit it\n amountOfIpWhitelistRules: number\n ownerUuid: string\n created: Date\n autoUpdate: boolean\n mcpEnabled?: boolean\n businessIdUniquenessEnabled?: boolean\n optimizeEnabled?: boolean\n tags?: string[]\n sleeping?: boolean\n activeModifications: boolean\n encryptionKeysSet?: {\n primaryConfigured: boolean\n secondaryConfigured: boolean\n }\n}\nexport interface ClusterBackup {\n clusterId: string\n backupId?: string\n}\n\nexport interface ClusterModification {\n uuid: string\n clusterUuid: string\n owner: string\n createdAt?: Date\n archivedAt?: Date\n}\n\nexport interface ClusterModificationConfig {\n uuid: string\n clusterUuid: string\n modificationUuid: string\n creator: string\n description: string\n url?: string\n createdAt?: Date\n sealedAt?: Date\n activatedAt?: Date\n replacedBy?: string\n deactivatedAt?: Date\n deactivatedBy?: string | null\n expiresAt?: Date | null\n expiredNotifiedAt?: Date | null\n yoloJustification?: string\n}\n\n/**\n * HDP-specific interface for ClusterModificationConfig.\n * Used for Holy Data Platform integration - keeps Date objects for timestamp fields.\n */\nexport interface HdpClusterModificationConfig {\n uuid: string\n clusterUuid: string\n modificationUuid: string\n creator: string\n description: string\n url?: string\n createdAt?: Date\n sealedAt?: Date\n activatedAt?: Date\n replacedBy?: string\n deactivatedAt?: Date\n deactivatedBy?: string | null\n expiresAt?: Date | null\n expiredNotifiedAt?: Date | null\n}\n\nexport interface ClusterBackupSchedule {\n clusterId: string\n schedule?: string\n}\n\nexport interface ClusterPlanType {\n uuid: string\n name: string\n availabilityClass: string\n isDevelopment: boolean\n}\n\nexport interface ClusterPlan {\n uuid: string\n name: string\n}\n\nexport interface Datacenter {\n uuid: string\n name: string\n}\nexport interface Generation {\n uuid: string\n name: string\n}\nexport interface Channel {\n uuid: string\n name: string\n}\n\n// eslint-disable-next-line no-shadow\nexport enum AlertSubscriptionType {\n ProcessAlert = 'ProcessAlert',\n}\n\n// eslint-disable-next-line no-shadow\nexport enum AlertSubscriptionReportType {\n Email = 'Email',\n Webhook = 'Webhook',\n}\nexport interface AlertSubscription {\n uuid: string\n clusterUuid?: string\n target: string // userIdOrWebhook\n reportType: AlertSubscriptionReportType\n type: AlertSubscriptionType\n}\n\nexport interface ConsoleApiClient {\n uuid: string\n name: string\n organizationUuid: string\n permissions: ConsoleAPIClientPermission[]\n}\n\nexport interface ConnectorSecret {\n clusterUuid: string\n amountOfSecrets: number\n}\n\nexport interface ByomClient {\n uuid: string\n clusterUuid?: string\n username: string\n}\n\nexport interface SecureConnectivity {\n clusterUuid: string\n allowedRegions: string[]\n allowedPrincipals: string[]\n}\n\nexport interface ClusterClient {\n uuid: string\n name: string\n clusterUuid?: string\n clientId: string\n permissions: ClusterClientPermission[]\n}\n\nexport interface Organization {\n uuid: string\n name: string\n salesplan?: {\n type: SalesPlanType // might be undefined when in limbo\n displayedType?: DisplayedSalesPlan // might be undefined when in limbo\n uuid: string // might be undefined when in limbo\n name: string // might be undefined when in limbo\n expireDate?: Date\n }\n reservations?: {\n [key: string]: number\n }\n earlyAccessFeatures?: string[]\n justOptedForTheBetaTerms?: boolean\n salesForceProjectId?: string\n awsOnly?: boolean\n limits?: Limits\n}\n\nexport interface User {\n name: string\n email: string\n userId: string\n orgMemberships?: Array<{ orgUuid: string; roles: OrganizationRole[] }> // can be undefined which means: no new info ;)\n}\n\nexport interface UserLogin {\n userId: string\n}\n\nexport interface Invite {\n email: string\n orgUuid: string\n roles: OrganizationRole[]\n}\n\nexport interface UsageAlert {\n orgId: string\n metric: UsageAlertMetric\n threshold: number\n enabled: boolean\n triggered: boolean\n}\n\nexport interface Audit {\n service: string\n orgId: string\n timestamp: number\n audit: string\n auditType: 'c' | 'r' | 'u' | 'd'\n entity: string\n entityId: string\n userId: string\n entityAttribute?: string\n entityAttributeValueFrom?: string\n entityAttributeValueTo?: string\n parentEntity?: string\n parentEntityId?: string\n}\n\nexport interface SystemAudit {\n service: string\n timestamp: number\n audit: string\n auditType: 'c' | 'r' | 'u' | 'd'\n entity: string\n entityId: string\n userId: string\n entityAttribute?: string | null\n entityAttributeValueFrom?: string | null\n entityAttributeValueTo?: string | null\n orgId?: string | null\n clusterId?: string | null\n}\n\nexport interface TelemetryData {\n customerId: string\n installationId: string\n entities: Array<{ id: string; type: string }>\n key: string\n value: string | number | boolean\n tags?: Record<string, string>\n timestampFrom: number\n timestampTo?: number\n}\n\nexport interface ClusterBulkOperation {\n uuid: string\n name: string\n reason: string\n eyes: number\n clusterUuids: string[]\n type: string\n created: Date\n updated?: Date\n executedAt?: Date\n createdBy: string\n}\n\nexport interface LlmSpend {\n orgId: string\n salesPlanType: SalesPlanType\n spend: number\n maxBudget: number\n}\n\nexport type HdpEntity =\n | 'cluster'\n | 'clusterBackup'\n | 'clusterBackupSchedule'\n | 'clusterRestore'\n | 'datacenter'\n | 'generation'\n | 'channel'\n | 'clusterPlan'\n | 'clusterPlanType'\n | 'alertSubscription'\n | 'consoleApiClient'\n | 'connectorSecret'\n | 'byomClient'\n | 'secureConnectivity'\n | 'clusterClient'\n | 'organization'\n | 'user'\n | 'invite'\n | 'usageAlert'\n | 'audit'\n | 'systemAudit'\n | 'telemetry'\n | 'userlogin'\n | 'clusterBulkOperation'\n | 'clusterModification'\n | 'clusterModificationConfig'\n | 'llmSpend'\n\nexport interface HdpPrometheusDataCapacityDataPoint {\n clusterId?: string\n ts: number\n avg: number\n min: number\n max: number\n}\n\nexport interface HdpBackendChangeEvent {\n ts: number\n data: {\n stage: string\n entity: string\n operation: string\n data: any\n }\n}\n"],
5
+ "mappings": "AAuHO,IAAK,wBAAL,kBAAKA,2BAAL;AACL,EAAAA,uBAAA,kBAAe;AADL,SAAAA;AAAA,GAAA;AAKL,IAAK,8BAAL,kBAAKC,iCAAL;AACL,EAAAA,6BAAA,WAAQ;AACR,EAAAA,6BAAA,aAAU;AAFA,SAAAA;AAAA,GAAA;",
6
6
  "names": ["AlertSubscriptionType", "AlertSubscriptionReportType"]
7
7
  }
@@ -0,0 +1,28 @@
1
+ export type ConnectivityStatus = 'Healthy' | 'Creating' | 'Updating' | 'Unhealthy';
2
+ interface ConnectivityStatusCondition {
3
+ type?: string;
4
+ reason?: string;
5
+ message?: string;
6
+ lastTransitionTime?: string | Date;
7
+ }
8
+ /**
9
+ * Pick the most recent `PublicConnectivityReady` condition from the
10
+ * operator-reported status conditions list and map its `reason` to a
11
+ * `ConnectivityStatus`.
12
+ *
13
+ * Returns `undefined` when the condition is absent. The operator omits it
14
+ * when the public connectivity controller is disabled, so absence means
15
+ * "unknown", not "unhealthy" — every consumer must show nothing instead of
16
+ * an error state.
17
+ */
18
+ export declare function deriveConnectivityStatus(conditions: ConnectivityStatusCondition[] | undefined): ConnectivityStatus | undefined;
19
+ /**
20
+ * Get the condition message that names the routes which are not ready, for
21
+ * example `resources are not ready: operate, tasklist`.
22
+ *
23
+ * Only `Updating` and `Unhealthy` carry a message the customer can act on.
24
+ * `Healthy` and `Creating` get `undefined`, because there are no broken
25
+ * routes to name.
26
+ */
27
+ export declare function deriveConnectivityMessage(conditions: ConnectivityStatusCondition[] | undefined): string | undefined;
28
+ export {};
@@ -0,0 +1,32 @@
1
+ const CONNECTIVITY_CONDITION_TYPE = "PublicConnectivityReady";
2
+ const KNOWN_CONNECTIVITY_STATUSES = /* @__PURE__ */ new Set([
3
+ "Healthy",
4
+ "Creating",
5
+ "Updating",
6
+ "Unhealthy"
7
+ ]);
8
+ function latestConnectivityCondition(conditions) {
9
+ return (conditions ?? []).filter((c) => c.type === CONNECTIVITY_CONDITION_TYPE).slice().sort((a, b) => {
10
+ const aTime = new Date(a.lastTransitionTime ?? 0).getTime();
11
+ const bTime = new Date(b.lastTransitionTime ?? 0).getTime();
12
+ return (Number.isFinite(bTime) ? bTime : 0) - (Number.isFinite(aTime) ? aTime : 0);
13
+ })[0];
14
+ }
15
+ function toConnectivityStatus(reason) {
16
+ if (!reason || !KNOWN_CONNECTIVITY_STATUSES.has(reason)) return void 0;
17
+ return reason;
18
+ }
19
+ function deriveConnectivityStatus(conditions) {
20
+ return toConnectivityStatus(latestConnectivityCondition(conditions)?.reason);
21
+ }
22
+ function deriveConnectivityMessage(conditions) {
23
+ const condition = latestConnectivityCondition(conditions);
24
+ const status = toConnectivityStatus(condition?.reason);
25
+ if (status !== "Updating" && status !== "Unhealthy") return void 0;
26
+ return condition?.message;
27
+ }
28
+ export {
29
+ deriveConnectivityMessage,
30
+ deriveConnectivityStatus
31
+ };
32
+ //# sourceMappingURL=connectivityStatus.utils.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/utils/connectivityStatus.utils.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// Reason values the operator emits on the PublicConnectivityReady condition\n// (camunda-operator#5926). `Unhealthy` is the only reason that demotes the\n// cluster's overall `status.ready`; `Updating` is the same breakage inside the\n// grace period, and `Creating` means the routes were never healthy yet.\nexport type ConnectivityStatus =\n | 'Healthy'\n | 'Creating'\n | 'Updating'\n | 'Unhealthy'\n\ninterface ConnectivityStatusCondition {\n type?: string\n reason?: string\n message?: string\n lastTransitionTime?: string | Date\n}\n\nconst CONNECTIVITY_CONDITION_TYPE = 'PublicConnectivityReady'\n\nconst KNOWN_CONNECTIVITY_STATUSES = new Set<string>([\n 'Healthy',\n 'Creating',\n 'Updating',\n 'Unhealthy',\n])\n\nfunction latestConnectivityCondition(\n conditions: ConnectivityStatusCondition[] | undefined,\n): ConnectivityStatusCondition | undefined {\n return (conditions ?? [])\n .filter((c) => c.type === CONNECTIVITY_CONDITION_TYPE)\n .slice()\n .sort((a, b) => {\n const aTime = new Date(a.lastTransitionTime ?? 0).getTime()\n const bTime = new Date(b.lastTransitionTime ?? 0).getTime()\n return (\n (Number.isFinite(bTime) ? bTime : 0) -\n (Number.isFinite(aTime) ? aTime : 0)\n )\n })[0]\n}\n\n/**\n * Map the `reason` of a condition to a `ConnectivityStatus`.\n *\n * Gives `undefined` for a reason this function does not know, because a\n * reason it cannot map is a status the UI cannot show truthfully.\n */\nfunction toConnectivityStatus(\n reason: string | undefined,\n): ConnectivityStatus | undefined {\n if (!reason || !KNOWN_CONNECTIVITY_STATUSES.has(reason)) return undefined\n return reason as ConnectivityStatus\n}\n\n/**\n * Pick the most recent `PublicConnectivityReady` condition from the\n * operator-reported status conditions list and map its `reason` to a\n * `ConnectivityStatus`.\n *\n * Returns `undefined` when the condition is absent. The operator omits it\n * when the public connectivity controller is disabled, so absence means\n * \"unknown\", not \"unhealthy\" \u2014 every consumer must show nothing instead of\n * an error state.\n */\nexport function deriveConnectivityStatus(\n conditions: ConnectivityStatusCondition[] | undefined,\n): ConnectivityStatus | undefined {\n return toConnectivityStatus(latestConnectivityCondition(conditions)?.reason)\n}\n\n/**\n * Get the condition message that names the routes which are not ready, for\n * example `resources are not ready: operate, tasklist`.\n *\n * Only `Updating` and `Unhealthy` carry a message the customer can act on.\n * `Healthy` and `Creating` get `undefined`, because there are no broken\n * routes to name.\n */\nexport function deriveConnectivityMessage(\n conditions: ConnectivityStatusCondition[] | undefined,\n): string | undefined {\n // Read the condition once: the status and the message must come from the\n // same condition, and a second read sorts the list again.\n const condition = latestConnectivityCondition(conditions)\n const status = toConnectivityStatus(condition?.reason)\n if (status !== 'Updating' && status !== 'Unhealthy') return undefined\n return condition?.message\n}\n"],
5
+ "mappings": "AAuBA,MAAM,8BAA8B;AAEpC,MAAM,8BAA8B,oBAAI,IAAY;AAAA,EAClD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAED,SAAS,4BACP,YACyC;AACzC,UAAQ,cAAc,CAAC,GACpB,OAAO,CAAC,MAAM,EAAE,SAAS,2BAA2B,EACpD,MAAM,EACN,KAAK,CAAC,GAAG,MAAM;AACd,UAAM,QAAQ,IAAI,KAAK,EAAE,sBAAsB,CAAC,EAAE,QAAQ;AAC1D,UAAM,QAAQ,IAAI,KAAK,EAAE,sBAAsB,CAAC,EAAE,QAAQ;AAC1D,YACG,OAAO,SAAS,KAAK,IAAI,QAAQ,MACjC,OAAO,SAAS,KAAK,IAAI,QAAQ;AAAA,EAEtC,CAAC,EAAE,CAAC;AACR;AAQA,SAAS,qBACP,QACgC;AAChC,MAAI,CAAC,UAAU,CAAC,4BAA4B,IAAI,MAAM,EAAG,QAAO;AAChE,SAAO;AACT;AAYO,SAAS,yBACd,YACgC;AAChC,SAAO,qBAAqB,4BAA4B,UAAU,GAAG,MAAM;AAC7E;AAUO,SAAS,0BACd,YACoB;AAGpB,QAAM,YAAY,4BAA4B,UAAU;AACxD,QAAM,SAAS,qBAAqB,WAAW,MAAM;AACrD,MAAI,WAAW,cAAc,WAAW,YAAa,QAAO;AAC5D,SAAO,WAAW;AACpB;",
6
+ "names": []
7
+ }
@@ -1,24 +1,21 @@
1
1
  /**
2
- * The three IAM principals that need access to a BYOK cluster's KMS keys after
3
- * a failover. All three live in the failover region's account — the same
4
- * account as the failover cluster's own role.
2
+ * The two IAM principals that need access to a BYOK cluster's KMS keys after
3
+ * a failover. Both live in the failover region's account — the same account
4
+ * as the failover cluster's own role.
5
5
  */
6
6
  export interface FailoverKeyPolicyPrincipals {
7
7
  /** Reads the source cluster's secondary bucket during the BucketClone. */
8
8
  cloneRole: string;
9
9
  /** The failover cluster's own access to its new primary bucket. */
10
10
  clusterRole: string;
11
- /** Replicates the new primary bucket back out to its secondary. */
12
- replicationRole: string;
13
11
  }
14
12
  /**
15
- * Derive the three principals a customer must add to both KMS key policies
13
+ * Derive the two principals a customer must add to their KMS key policies
16
14
  * after a failover, from the failover cluster's own role ARN and the stableId
17
15
  * carried over from its source.
18
16
  *
19
- * The clone role is pre-staged as `clone-backup-<stableId>`, and the
20
- * replication role is the cluster role with a `-replication` suffix — so the
21
- * account parsed out of the cluster role ARN is all that is needed.
17
+ * The clone role is pre-staged as `clone-backup-<stableId>`, so the account
18
+ * parsed out of the cluster role ARN is all that is needed.
22
19
  *
23
20
  * Returns `undefined` when either input is missing or the role ARN is not in
24
21
  * the expected shape, so callers render nothing rather than a wrong ARN.
@@ -5,8 +5,7 @@ function deriveFailoverKeyPolicyPrincipals(clusterRoleArn, stableId) {
5
5
  if (!account) return void 0;
6
6
  return {
7
7
  cloneRole: `arn:aws:iam::${account}:role/c8-cluster/clone-backup-${stableId}`,
8
- clusterRole: clusterRoleArn,
9
- replicationRole: `${clusterRoleArn}-replication`
8
+ clusterRole: clusterRoleArn
10
9
  };
11
10
  }
12
11
  export {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/utils/failoverKeyPolicy.utils.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 * The cluster's own IAM role ARN, surfaced by the operator on the ZeebeCluster\n * `status.accountId` field (the name is historical \u2014 the value is a role ARN,\n * not a bare account id):\n *\n * arn:aws:iam::<account>:role/c8-cluster/c8-apps-<clusterUuid>\n */\nconst CLUSTER_ROLE_ARN =\n /^arn:aws:iam::(?<account>\\d{12}):role\\/c8-cluster\\/c8-apps-(?<uuid>[0-9a-f-]{36})$/u\n\n/**\n * The three IAM principals that need access to a BYOK cluster's KMS keys after\n * a failover. All three live in the failover region's account \u2014 the same\n * account as the failover cluster's own role.\n */\nexport interface FailoverKeyPolicyPrincipals {\n /** Reads the source cluster's secondary bucket during the BucketClone. */\n cloneRole: string\n /** The failover cluster's own access to its new primary bucket. */\n clusterRole: string\n /** Replicates the new primary bucket back out to its secondary. */\n replicationRole: string\n}\n\n/**\n * Derive the three principals a customer must add to both KMS key policies\n * after a failover, from the failover cluster's own role ARN and the stableId\n * carried over from its source.\n *\n * The clone role is pre-staged as `clone-backup-<stableId>`, and the\n * replication role is the cluster role with a `-replication` suffix \u2014 so the\n * account parsed out of the cluster role ARN is all that is needed.\n *\n * Returns `undefined` when either input is missing or the role ARN is not in\n * the expected shape, so callers render nothing rather than a wrong ARN.\n */\nexport function deriveFailoverKeyPolicyPrincipals(\n clusterRoleArn: string | undefined,\n stableId: string | undefined,\n): FailoverKeyPolicyPrincipals | undefined {\n if (!clusterRoleArn || !stableId) return undefined\n\n const account = CLUSTER_ROLE_ARN.exec(clusterRoleArn)?.groups?.account\n if (!account) return undefined\n\n return {\n cloneRole: `arn:aws:iam::${account}:role/c8-cluster/clone-backup-${stableId}`,\n clusterRole: clusterRoleArn,\n replicationRole: `${clusterRoleArn}-replication`,\n }\n}\n"],
5
- "mappings": "AAaA,MAAM,mBACJ;AA4BK,SAAS,kCACd,gBACA,UACyC;AACzC,MAAI,CAAC,kBAAkB,CAAC,SAAU,QAAO;AAEzC,QAAM,UAAU,iBAAiB,KAAK,cAAc,GAAG,QAAQ;AAC/D,MAAI,CAAC,QAAS,QAAO;AAErB,SAAO;AAAA,IACL,WAAW,gBAAgB,OAAO,iCAAiC,QAAQ;AAAA,IAC3E,aAAa;AAAA,IACb,iBAAiB,GAAG,cAAc;AAAA,EACpC;AACF;",
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 * The cluster's own IAM role ARN, surfaced by the operator on the ZeebeCluster\n * `status.accountId` field (the name is historical \u2014 the value is a role ARN,\n * not a bare account id):\n *\n * arn:aws:iam::<account>:role/c8-cluster/c8-apps-<clusterUuid>\n */\nconst CLUSTER_ROLE_ARN =\n /^arn:aws:iam::(?<account>\\d{12}):role\\/c8-cluster\\/c8-apps-(?<uuid>[0-9a-f-]{36})$/u\n\n/**\n * The two IAM principals that need access to a BYOK cluster's KMS keys after\n * a failover. Both live in the failover region's account \u2014 the same account\n * as the failover cluster's own role.\n */\nexport interface FailoverKeyPolicyPrincipals {\n /** Reads the source cluster's secondary bucket during the BucketClone. */\n cloneRole: string\n /** The failover cluster's own access to its new primary bucket. */\n clusterRole: string\n}\n\n/**\n * Derive the two principals a customer must add to their KMS key policies\n * after a failover, from the failover cluster's own role ARN and the stableId\n * carried over from its source.\n *\n * The clone role is pre-staged as `clone-backup-<stableId>`, so the account\n * parsed out of the cluster role ARN is all that is needed.\n *\n * Returns `undefined` when either input is missing or the role ARN is not in\n * the expected shape, so callers render nothing rather than a wrong ARN.\n */\nexport function deriveFailoverKeyPolicyPrincipals(\n clusterRoleArn: string | undefined,\n stableId: string | undefined,\n): FailoverKeyPolicyPrincipals | undefined {\n if (!clusterRoleArn || !stableId) return undefined\n\n const account = CLUSTER_ROLE_ARN.exec(clusterRoleArn)?.groups?.account\n if (!account) return undefined\n\n return {\n cloneRole: `arn:aws:iam::${account}:role/c8-cluster/clone-backup-${stableId}`,\n clusterRole: clusterRoleArn,\n }\n}\n"],
5
+ "mappings": "AAaA,MAAM,mBACJ;AAyBK,SAAS,kCACd,gBACA,UACyC;AACzC,MAAI,CAAC,kBAAkB,CAAC,SAAU,QAAO;AAEzC,QAAM,UAAU,iBAAiB,KAAK,cAAc,GAAG,QAAQ;AAC/D,MAAI,CAAC,QAAS,QAAO;AAErB,SAAO;AAAA,IACL,WAAW,gBAAgB,OAAO,iCAAiC,QAAQ;AAAA,IAC3E,aAAa;AAAA,EACf;AACF;",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,25 @@
1
+ export type SecondaryStorageStatus = 'SecondaryBucketReady' | 'SecondaryEncryptionNotReady';
2
+ interface SecondaryStorageStatusCondition {
3
+ type?: string;
4
+ reason?: string;
5
+ lastTransitionTime?: string | Date;
6
+ }
7
+ /**
8
+ * Pick the most recent `SecondaryStorageReady` condition from the
9
+ * operator-reported status conditions list and map its `reason` to a
10
+ * `SecondaryStorageStatus`.
11
+ *
12
+ * Replication to the secondary region can fail silently: the secondary key
13
+ * is not accessible, but nothing blocks cluster creation on it. This lets
14
+ * the encryption tab warn the customer instead of staying quiet about it.
15
+ *
16
+ * Falls back to `SecondaryBucketReady` only when no condition exists at
17
+ * all — a cluster the operator has not reported on yet is not a known
18
+ * problem. Once a `SecondaryStorageReady` condition exists, only its exact
19
+ * known-good reason counts as ready; any other reason (including one this
20
+ * function does not recognise yet) is treated as not ready. Defaulting an
21
+ * unrecognised reason to "ready" would hide a new operator failure reason
22
+ * behind the same silent failure this function exists to catch.
23
+ */
24
+ export declare function deriveSecondaryStorageStatus(conditions: SecondaryStorageStatusCondition[] | undefined): SecondaryStorageStatus;
25
+ export {};
@@ -0,0 +1,13 @@
1
+ function deriveSecondaryStorageStatus(conditions) {
2
+ const secondaryStorageReady = (conditions ?? []).filter((c) => c.type === "SecondaryStorageReady").slice().sort((a, b) => {
3
+ const aTime = new Date(a.lastTransitionTime ?? 0).getTime();
4
+ const bTime = new Date(b.lastTransitionTime ?? 0).getTime();
5
+ return (Number.isFinite(bTime) ? bTime : 0) - (Number.isFinite(aTime) ? aTime : 0);
6
+ })[0];
7
+ if (!secondaryStorageReady) return "SecondaryBucketReady";
8
+ return secondaryStorageReady.reason === "SecondaryBucketReady" ? "SecondaryBucketReady" : "SecondaryEncryptionNotReady";
9
+ }
10
+ export {
11
+ deriveSecondaryStorageStatus
12
+ };
13
+ //# sourceMappingURL=secondaryStorageStatus.utils.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/utils/secondaryStorageStatus.utils.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// Reason values the operator emits on the SecondaryStorageReady condition.\n// Unlike EncryptionReady, most clusters never emit this condition at all\n// (single-region clusters have no secondary to replicate to), so the default\n// below is \"ready\" rather than \"not ready\".\nexport type SecondaryStorageStatus =\n | 'SecondaryBucketReady'\n | 'SecondaryEncryptionNotReady'\n\ninterface SecondaryStorageStatusCondition {\n type?: string\n reason?: string\n lastTransitionTime?: string | Date\n}\n\n/**\n * Pick the most recent `SecondaryStorageReady` condition from the\n * operator-reported status conditions list and map its `reason` to a\n * `SecondaryStorageStatus`.\n *\n * Replication to the secondary region can fail silently: the secondary key\n * is not accessible, but nothing blocks cluster creation on it. This lets\n * the encryption tab warn the customer instead of staying quiet about it.\n *\n * Falls back to `SecondaryBucketReady` only when no condition exists at\n * all \u2014 a cluster the operator has not reported on yet is not a known\n * problem. Once a `SecondaryStorageReady` condition exists, only its exact\n * known-good reason counts as ready; any other reason (including one this\n * function does not recognise yet) is treated as not ready. Defaulting an\n * unrecognised reason to \"ready\" would hide a new operator failure reason\n * behind the same silent failure this function exists to catch.\n */\nexport function deriveSecondaryStorageStatus(\n conditions: SecondaryStorageStatusCondition[] | undefined,\n): SecondaryStorageStatus {\n const secondaryStorageReady = (conditions ?? [])\n .filter((c) => c.type === 'SecondaryStorageReady')\n .slice()\n .sort((a, b) => {\n const aTime = new Date(a.lastTransitionTime ?? 0).getTime()\n const bTime = new Date(b.lastTransitionTime ?? 0).getTime()\n return (\n (Number.isFinite(bTime) ? bTime : 0) -\n (Number.isFinite(aTime) ? aTime : 0)\n )\n })[0]\n\n if (!secondaryStorageReady) return 'SecondaryBucketReady'\n return secondaryStorageReady.reason === 'SecondaryBucketReady'\n ? 'SecondaryBucketReady'\n : 'SecondaryEncryptionNotReady'\n}\n"],
5
+ "mappings": "AAqCO,SAAS,6BACd,YACwB;AACxB,QAAM,yBAAyB,cAAc,CAAC,GAC3C,OAAO,CAAC,MAAM,EAAE,SAAS,uBAAuB,EAChD,MAAM,EACN,KAAK,CAAC,GAAG,MAAM;AACd,UAAM,QAAQ,IAAI,KAAK,EAAE,sBAAsB,CAAC,EAAE,QAAQ;AAC1D,UAAM,QAAQ,IAAI,KAAK,EAAE,sBAAsB,CAAC,EAAE,QAAQ;AAC1D,YACG,OAAO,SAAS,KAAK,IAAI,QAAQ,MACjC,OAAO,SAAS,KAAK,IAAI,QAAQ;AAAA,EAEtC,CAAC,EAAE,CAAC;AAEN,MAAI,CAAC,sBAAuB,QAAO;AACnC,SAAO,sBAAsB,WAAW,yBACpC,yBACA;AACN;",
6
+ "names": []
7
+ }
@@ -25,3 +25,25 @@ export declare const isAppIntegrationsVersionSupported: (versions: {
25
25
  zeebe?: string;
26
26
  connectorBridge?: string;
27
27
  }) => boolean;
28
+ /**
29
+ * Version gate for the secrets filter mode setting on Connectors
30
+ * (`CAMUNDA_CONNECTOR_SECRETRESOLVER_SECRETFILTER_MODE`). Each 8.x line got the
31
+ * fix on a different patch, so a single floor across all lines is wrong: it
32
+ * would open the setting on an early patch of a newer line, or close it on a
33
+ * late patch of an older line. This picks the zeebe minor line first, then
34
+ * applies that line's own floor.
35
+ *
36
+ * On the 8.6 to 8.9 lines, each floor is the patch where the shipped default
37
+ * became STRICT. Below its floor a line either has no setting at all, or has it
38
+ * with the DISABLED default, so the toggle stays hidden and never shows a mode
39
+ * the cluster does not use.
40
+ *
41
+ * Above the 8.9 line, one floor covers everything: 8.10.0-alpha6 and all later
42
+ * versions, 8.11 included. That floor has a second reason, which
43
+ * SECRETS_FILTER_MODE_8_10_MIN_VERSION gives: on 8.10.0-alpha5 a mode other
44
+ * than STRICT crashes the Connectors runtime at startup.
45
+ *
46
+ * Shared by the c4 settings tile and the console-backend update guard so
47
+ * both stay in lockstep.
48
+ */
49
+ export declare const isSecretsFilterModeConfigurable: (zeebeVersion: string | undefined) => boolean;
@@ -3,7 +3,12 @@ import {
3
3
  APP_INTEGRATIONS_89_STREAM_CONNECTOR_BRIDGE_MIN_VERSION,
4
4
  APP_INTEGRATIONS_89_STREAM_MINOR,
5
5
  APP_INTEGRATIONS_89_STREAM_ZEEBE_MIN_VERSION,
6
- APP_INTEGRATIONS_MIN_VERSION
6
+ APP_INTEGRATIONS_MIN_VERSION,
7
+ SECRETS_FILTER_MODE_8_6_MIN_VERSION,
8
+ SECRETS_FILTER_MODE_8_7_MIN_VERSION,
9
+ SECRETS_FILTER_MODE_8_8_MIN_VERSION,
10
+ SECRETS_FILTER_MODE_8_9_MIN_VERSION,
11
+ SECRETS_FILTER_MODE_8_10_MIN_VERSION
7
12
  } from "../constants/version-gates.const.js";
8
13
  var VersionCheckOperator = /* @__PURE__ */ ((VersionCheckOperator2) => {
9
14
  VersionCheckOperator2[VersionCheckOperator2["LessThan"] = 0] = "LessThan";
@@ -124,9 +129,43 @@ const isAppIntegrationsVersionSupported = (versions) => {
124
129
  versionToCompareTo: APP_INTEGRATIONS_89_STREAM_CONNECTOR_BRIDGE_MIN_VERSION
125
130
  });
126
131
  };
132
+ const isSecretsFilterModeConfigurable = (zeebeVersion) => {
133
+ if (!zeebeVersion) {
134
+ return false;
135
+ }
136
+ const lineFloors = [
137
+ SECRETS_FILTER_MODE_8_6_MIN_VERSION,
138
+ SECRETS_FILTER_MODE_8_7_MIN_VERSION,
139
+ SECRETS_FILTER_MODE_8_8_MIN_VERSION,
140
+ SECRETS_FILTER_MODE_8_9_MIN_VERSION
141
+ ];
142
+ for (const floor of lineFloors) {
143
+ const isOnThisLine = checkVersion({
144
+ possiblyVersionOrDockerPath: zeebeVersion,
145
+ trueForSnapshot: "compare",
146
+ operator: 5 /* SameMinor */,
147
+ versionToCompareTo: floor
148
+ });
149
+ if (isOnThisLine) {
150
+ return checkVersion({
151
+ possiblyVersionOrDockerPath: zeebeVersion,
152
+ trueForSnapshot: true,
153
+ operator: 3 /* GreaterThanOrEqual */,
154
+ versionToCompareTo: floor
155
+ });
156
+ }
157
+ }
158
+ return checkVersion({
159
+ possiblyVersionOrDockerPath: zeebeVersion,
160
+ trueForSnapshot: true,
161
+ operator: 3 /* GreaterThanOrEqual */,
162
+ versionToCompareTo: SECRETS_FILTER_MODE_8_10_MIN_VERSION
163
+ });
164
+ };
127
165
  export {
128
166
  VersionCheckOperator,
129
167
  checkVersion,
130
- isAppIntegrationsVersionSupported
168
+ isAppIntegrationsVersionSupported,
169
+ isSecretsFilterModeConfigurable
131
170
  };
132
171
  //# sourceMappingURL=versionCheck.utils.js.map