@spottoai/types-package 1.0.2-beta.420 → 1.0.2-beta.422

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 (86) hide show
  1. package/README.md +3 -0
  2. package/dist/accounts/azureSpSetup.d.ts +5 -0
  3. package/dist/accounts/azureSpSetup.d.ts.map +1 -1
  4. package/dist/accounts/azureSpSetup.js.map +1 -1
  5. package/dist/accounts/writePermissions.d.ts +5 -1
  6. package/dist/accounts/writePermissions.d.ts.map +1 -1
  7. package/dist/accounts/writePermissions.js +9 -0
  8. package/dist/accounts/writePermissions.js.map +1 -1
  9. package/dist/azure/reportEvidence.d.ts +90 -2
  10. package/dist/azure/reportEvidence.d.ts.map +1 -1
  11. package/dist/azure/reportEvidence.js +4 -0
  12. package/dist/azure/reportEvidence.js.map +1 -1
  13. package/dist/azure/reportEvidenceValidation.d.ts.map +1 -1
  14. package/dist/azure/reportEvidenceValidation.js +102 -5
  15. package/dist/azure/reportEvidenceValidation.js.map +1 -1
  16. package/dist/esm/accounts/writePermissions.js +9 -0
  17. package/dist/esm/azure/reportEvidence.js +4 -0
  18. package/dist/esm/azure/reportEvidenceValidation.js +102 -5
  19. package/dist/esm/scheduler/index.js +2 -3
  20. package/dist/esm/scheduler/resourceStrategy.js +2 -0
  21. package/dist/esm/scheduler/resourceStrategyCapabilityValidation.js +241 -0
  22. package/dist/esm/scheduler/resourceStrategyContracts.js +14 -0
  23. package/dist/esm/scheduler/resourceStrategyFinancialValidation.js +145 -0
  24. package/dist/esm/scheduler/resourceStrategyPermissionValidation.js +190 -0
  25. package/dist/esm/scheduler/resourceStrategyScheduleValidation.js +332 -0
  26. package/dist/esm/scheduler/resourceStrategyValidation.js +4 -0
  27. package/dist/esm/scheduler/resourceStrategyValidationShared.js +261 -0
  28. package/dist/esm/scheduler/weeklyAvailabilityFixtures.js +140 -0
  29. package/dist/scheduler/index.d.ts +2 -3
  30. package/dist/scheduler/index.d.ts.map +1 -1
  31. package/dist/scheduler/index.js +2 -3
  32. package/dist/scheduler/index.js.map +1 -1
  33. package/dist/scheduler/resourceStrategy.d.ts +3 -0
  34. package/dist/scheduler/resourceStrategy.d.ts.map +1 -0
  35. package/dist/scheduler/resourceStrategy.js +19 -0
  36. package/dist/scheduler/resourceStrategy.js.map +1 -0
  37. package/dist/scheduler/resourceStrategyCapabilityValidation.d.ts +4 -0
  38. package/dist/scheduler/resourceStrategyCapabilityValidation.d.ts.map +1 -0
  39. package/dist/scheduler/resourceStrategyCapabilityValidation.js +246 -0
  40. package/dist/scheduler/resourceStrategyCapabilityValidation.js.map +1 -0
  41. package/dist/scheduler/resourceStrategyContracts.d.ts +412 -0
  42. package/dist/scheduler/resourceStrategyContracts.d.ts.map +1 -0
  43. package/dist/scheduler/resourceStrategyContracts.js +18 -0
  44. package/dist/scheduler/resourceStrategyContracts.js.map +1 -0
  45. package/dist/scheduler/resourceStrategyFinancialValidation.d.ts +5 -0
  46. package/dist/scheduler/resourceStrategyFinancialValidation.d.ts.map +1 -0
  47. package/dist/scheduler/resourceStrategyFinancialValidation.js +151 -0
  48. package/dist/scheduler/resourceStrategyFinancialValidation.js.map +1 -0
  49. package/dist/scheduler/resourceStrategyPermissionValidation.d.ts +4 -0
  50. package/dist/scheduler/resourceStrategyPermissionValidation.d.ts.map +1 -0
  51. package/dist/scheduler/resourceStrategyPermissionValidation.js +195 -0
  52. package/dist/scheduler/resourceStrategyPermissionValidation.js.map +1 -0
  53. package/dist/scheduler/resourceStrategyScheduleValidation.d.ts +10 -0
  54. package/dist/scheduler/resourceStrategyScheduleValidation.d.ts.map +1 -0
  55. package/dist/scheduler/resourceStrategyScheduleValidation.js +343 -0
  56. package/dist/scheduler/resourceStrategyScheduleValidation.js.map +1 -0
  57. package/dist/scheduler/resourceStrategyValidation.d.ts +5 -0
  58. package/dist/scheduler/resourceStrategyValidation.d.ts.map +1 -0
  59. package/dist/scheduler/resourceStrategyValidation.js +21 -0
  60. package/dist/scheduler/resourceStrategyValidation.js.map +1 -0
  61. package/dist/scheduler/resourceStrategyValidationShared.d.ts +19 -0
  62. package/dist/scheduler/resourceStrategyValidationShared.d.ts.map +1 -0
  63. package/dist/scheduler/resourceStrategyValidationShared.js +281 -0
  64. package/dist/scheduler/resourceStrategyValidationShared.js.map +1 -0
  65. package/dist/scheduler/scheduler.d.ts +6 -159
  66. package/dist/scheduler/scheduler.d.ts.map +1 -1
  67. package/dist/scheduler/weeklyAvailabilityFixtures.d.ts +26 -0
  68. package/dist/scheduler/weeklyAvailabilityFixtures.d.ts.map +1 -0
  69. package/dist/scheduler/weeklyAvailabilityFixtures.js +144 -0
  70. package/dist/scheduler/weeklyAvailabilityFixtures.js.map +1 -0
  71. package/package.json +11 -3
  72. package/dist/esm/scheduler/bastionSchedule.js +0 -1
  73. package/dist/esm/scheduler/bastionScheduleProfile.js +0 -206
  74. package/dist/esm/scheduler/bastionScheduleValidation.js +0 -401
  75. package/dist/scheduler/bastionSchedule.d.ts +0 -113
  76. package/dist/scheduler/bastionSchedule.d.ts.map +0 -1
  77. package/dist/scheduler/bastionSchedule.js +0 -3
  78. package/dist/scheduler/bastionSchedule.js.map +0 -1
  79. package/dist/scheduler/bastionScheduleProfile.d.ts +0 -24
  80. package/dist/scheduler/bastionScheduleProfile.d.ts.map +0 -1
  81. package/dist/scheduler/bastionScheduleProfile.js +0 -210
  82. package/dist/scheduler/bastionScheduleProfile.js.map +0 -1
  83. package/dist/scheduler/bastionScheduleValidation.d.ts +0 -10
  84. package/dist/scheduler/bastionScheduleValidation.d.ts.map +0 -1
  85. package/dist/scheduler/bastionScheduleValidation.js +0 -412
  86. package/dist/scheduler/bastionScheduleValidation.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"reportEvidenceValidation.js","sourceRoot":"","sources":["../../src/azure/reportEvidenceValidation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reportEvidenceValidation.js","sourceRoot":"","sources":["../../src/azure/reportEvidenceValidation.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,8 @@ export var WritePermission;
10
10
  WritePermission[WritePermission["StorageInventory"] = 2] = "StorageInventory";
11
11
  /** Permission to create scoped Azure Policy exemptions */
12
12
  WritePermission[WritePermission["PolicyExemptions"] = 4] = "PolicyExemptions";
13
+ /** Permission to run approved resource scheduling capabilities */
14
+ WritePermission[WritePermission["ResourceScheduling"] = 8] = "ResourceScheduling";
13
15
  })(WritePermission || (WritePermission = {}));
14
16
  /**
15
17
  * Permission metadata array
@@ -40,4 +42,11 @@ export const WRITE_PERMISSIONS_METADATA = [
40
42
  documentationUrl: 'https://docs.spotto.ai/docs/portal/write-permissions/policy-exemptions',
41
43
  scriptGeneratorUrl: '/scripts/policy-exemptions-role',
42
44
  },
45
+ {
46
+ id: WritePermission.ResourceScheduling,
47
+ displayName: 'Resource Scheduling',
48
+ description: 'Allows Spotto to run explicitly approved resource scheduling capabilities at their exact Azure scopes.',
49
+ requiredRoles: [],
50
+ permissionManifestKind: 'resource-scheduling',
51
+ },
43
52
  ];
@@ -17,5 +17,9 @@ export const REPORT_EVIDENCE_LIMITS = {
17
17
  upcomingEvents: 20,
18
18
  historyPeriods: 13,
19
19
  historyRecommendations: 2000,
20
+ historyComparisonIdentities: 2000,
21
+ costChangePeriods: 13,
22
+ costChangeDrivers: 50,
23
+ costChangeReasons: 10,
20
24
  tenantGlobalAdministrators: 50,
21
25
  };
@@ -22,6 +22,54 @@ const isCostSavingsCategory = (value) => isRecord(value) &&
22
22
  isCount(value.recommendationCount) &&
23
23
  isCount(value.resourceCount) &&
24
24
  ['currentMonthlyCost', 'potentialMonthlyCost', 'minimumMonthlySavings', 'maximumMonthlySavings'].every(key => isFiniteNumber(value[key]));
25
+ const REPORT_COST_CHANGE_LEVELS = new Set(['service', 'resource-group', 'resource', 'meter']);
26
+ const REPORT_COST_CHANGE_TYPES = new Set(['increase', 'decrease', 'no_change', 'new_resource', 'removed_resource']);
27
+ const REPORT_COST_CHANGE_REASON_TYPES = new Set([
28
+ 'new_resource',
29
+ 'removed_resource',
30
+ 'quantity_increase',
31
+ 'quantity_decrease',
32
+ 'rate_change',
33
+ 'sku_change',
34
+ 'new_meter',
35
+ 'removed_meter',
36
+ ]);
37
+ const isStringOrFiniteNumber = (value) => isString(value) || isFiniteNumber(value);
38
+ const isCostChangeReason = (value) => isRecord(value) &&
39
+ isString(value.type) &&
40
+ REPORT_COST_CHANGE_REASON_TYPES.has(value.type) &&
41
+ isFiniteNumber(value.impact) &&
42
+ isOptionalFiniteNumber(value.impactPercent) &&
43
+ isString(value.description) &&
44
+ (value.oldValue === undefined || isStringOrFiniteNumber(value.oldValue)) &&
45
+ (value.newValue === undefined || isStringOrFiniteNumber(value.newValue));
46
+ const isCostChangeDriver = (value) => isRecord(value) &&
47
+ isString(value.key) &&
48
+ isString(value.level) &&
49
+ REPORT_COST_CHANGE_LEVELS.has(value.level) &&
50
+ isString(value.label) &&
51
+ isOptionalString(value.resourceId) &&
52
+ isFiniteNumber(value.currentCost) &&
53
+ isFiniteNumber(value.previousCost) &&
54
+ isFiniteNumber(value.change) &&
55
+ isOptionalFiniteNumber(value.changePercent) &&
56
+ isString(value.changeType) &&
57
+ REPORT_COST_CHANGE_TYPES.has(value.changeType) &&
58
+ isOptionalString(value.summary) &&
59
+ isBoundedRows(value.reasons, REPORT_EVIDENCE_LIMITS.costChangeReasons, isCostChangeReason);
60
+ const isCostChangePeriod = (value) => isRecord(value) &&
61
+ isString(value.period) &&
62
+ /^\d{4}-(0[1-9]|1[0-2])$/u.test(value.period) &&
63
+ isString(value.previousPeriod) &&
64
+ /^\d{4}-(0[1-9]|1[0-2])$/u.test(value.previousPeriod) &&
65
+ value.previousPeriod < value.period &&
66
+ isString(value.currency) &&
67
+ /^[A-Z]{3}$/u.test(value.currency) &&
68
+ isFiniteNumber(value.currentCost) &&
69
+ isFiniteNumber(value.previousCost) &&
70
+ isFiniteNumber(value.change) &&
71
+ isOptionalFiniteNumber(value.changePercent) &&
72
+ isBoundedRows(value.drivers, REPORT_EVIDENCE_LIMITS.costChangeDrivers, isCostChangeDriver);
25
73
  const hasRequiredCountKeys = (value, keys) => isCountRecord(value) && keys.every(key => Object.prototype.hasOwnProperty.call(value, key));
26
74
  const isRecommendationPortfolio = (value) => {
27
75
  if (!isRecord(value))
@@ -142,13 +190,45 @@ const isCommitments = (value) => {
142
190
  return false;
143
191
  }
144
192
  if (value.inventorySummary.totalCount !== value.inventory.totalCount ||
145
- countTotal(value.inventorySummary.statusCounts) !== value.inventorySummary.totalCount) {
193
+ countTotal(value.inventorySummary.statusCounts) !== value.inventorySummary.totalCount ||
194
+ (value.inventorySummary.benefitTypeCounts !== undefined &&
195
+ (!isCountRecord(value.inventorySummary.benefitTypeCounts) ||
196
+ countTotal(value.inventorySummary.benefitTypeCounts) !== value.inventorySummary.totalCount))) {
146
197
  return false;
147
198
  }
148
199
  if (value.resourceCoverage !== undefined && !isProjectionRows(value.resourceCoverage))
149
200
  return false;
150
201
  return ['coverage', 'obsoleteCandidates', 'reallocationOpportunities', 'purchaseRecommendations', 'renewals'].every(key => isProjectionRows(value[key]));
151
202
  };
203
+ const isDataProtectionCostSummary = (value) => isRecord(value) &&
204
+ hasOptionalStrings(value, ['currencyCode', 'currencySymbol']) &&
205
+ (value.billingWindow === undefined || isRecord(value.billingWindow)) &&
206
+ (value.totals === undefined ||
207
+ (isRecord(value.totals) &&
208
+ hasOptionalNumbers(value.totals, [
209
+ 'actualCostLast30Days',
210
+ 'actualAmortizedCostLast30Days',
211
+ 'allocatedCostLast30Days',
212
+ 'estimatedMonthlyCostForUnprotected',
213
+ ])));
214
+ const isResourceHealthEvent = (value) => isRecord(value) &&
215
+ hasOptionalStrings(value, [
216
+ 'id',
217
+ 'trackingId',
218
+ 'eventType',
219
+ 'status',
220
+ 'level',
221
+ 'title',
222
+ 'summary',
223
+ 'impactStartTime',
224
+ 'impactMitigationTime',
225
+ 'lastUpdateTime',
226
+ ]) &&
227
+ isOptionalFiniteNumber(value.priority) &&
228
+ (value.durationSeconds === undefined || (isFiniteNumber(value.durationSeconds) && value.durationSeconds >= 0)) &&
229
+ (value.impactedResourceCount === undefined || isCount(value.impactedResourceCount)) &&
230
+ (value.impactedServices === undefined || isStringArray(value.impactedServices)) &&
231
+ (value.impactedRegions === undefined || isStringArray(value.impactedRegions));
152
232
  function isCommitmentInventoryRow(value) {
153
233
  return (isRecord(value) &&
154
234
  hasOptionalStrings(value, [
@@ -175,6 +255,11 @@ const isReportingProjection = (value) => {
175
255
  return false;
176
256
  if (value.spend !== undefined && !isReportSpendProjection(value.spend))
177
257
  return false;
258
+ if (value.costChangePeriods !== undefined &&
259
+ (!isBoundedRows(value.costChangePeriods, REPORT_EVIDENCE_LIMITS.costChangePeriods, isCostChangePeriod) ||
260
+ new Set(value.costChangePeriods.rows.map(period => period.period)).size !== value.costChangePeriods.rows.length)) {
261
+ return false;
262
+ }
178
263
  const subscription = isRecord(value.dashboard.subscription) ? value.dashboard.subscription : undefined;
179
264
  const properties = subscription && isRecord(subscription.properties) ? subscription.properties : undefined;
180
265
  if (properties?.secureScoreEvidence !== undefined && !isReportSecureScoreEvidence(properties.secureScoreEvidence))
@@ -205,13 +290,14 @@ const isReportingProjection = (value) => {
205
290
  return (isRecord(patch) &&
206
291
  isProjectionRows(patch.machines) &&
207
292
  isRecord(protection) &&
293
+ (protection.costSummary === undefined || isDataProtectionCostSummary(protection.costSummary)) &&
208
294
  isProjectionRows(protection.items) &&
209
295
  isProjectionRows(protection.issues) &&
210
296
  isRecord(health) &&
211
- (health.eventCatalogue === undefined || isBoundedRows(health.eventCatalogue, REPORT_EVIDENCE_LIMITS.healthCatalogue, isRecord)) &&
297
+ (health.eventCatalogue === undefined || isBoundedRows(health.eventCatalogue, REPORT_EVIDENCE_LIMITS.healthCatalogue, isResourceHealthEvent)) &&
212
298
  (health.availabilityCatalogue === undefined || isBoundedRows(health.availabilityCatalogue, REPORT_EVIDENCE_LIMITS.healthCatalogue, isRecord)) &&
213
299
  isRecord(health.events) &&
214
- isProjectionRows(health.events.events) &&
300
+ isBoundedRows(health.events.events, REPORT_EVIDENCE_LIMITS.detailRows, isResourceHealthEvent) &&
215
301
  (health.eventCatalogue === undefined || health.eventCatalogue.totalCount === health.events.events.totalCount) &&
216
302
  isRecord(health.availabilityStatuses) &&
217
303
  isProjectionRows(health.availabilityStatuses.statuses) &&
@@ -324,6 +410,12 @@ const isHistoryMetrics = (value) => isRecord(value) &&
324
410
  value.securityRecommendationCount <= value.recommendationCount &&
325
411
  value.securityImpactedResourceCount <= value.impactedResourceCount &&
326
412
  isOptionalFiniteNumber(value.maximumMonthlySavings);
413
+ const isUniqueIdentityRows = (value, itemValidator = isString) => isBoundedRows(value, REPORT_EVIDENCE_LIMITS.historyComparisonIdentities, itemValidator) &&
414
+ new Set(value.rows).size === value.rows.length;
415
+ const isHistoryComparisonIdentities = (value) => isRecord(value) &&
416
+ isUniqueIdentityRows(value.costRecommendationIds) &&
417
+ isUniqueIdentityRows(value.undersizedResourceIds) &&
418
+ isUniqueIdentityRows(value.regulatoryAssessmentKeys, (item) => isString(item) && /^[a-f0-9]{64}$/u.test(item));
327
419
  export const isSubscriptionReportHistory = (value) => {
328
420
  if (!isRecord(value) ||
329
421
  !isString(value.subscriptionId) ||
@@ -343,7 +435,8 @@ export const isSubscriptionReportHistory = (value) => {
343
435
  !isString(period.sourceRunId) ||
344
436
  !isDateTime(period.sourceGeneratedAt) ||
345
437
  !isHistoryMetrics(period.metrics) ||
346
- !isBoundedRows(period.recommendations, REPORT_EVIDENCE_LIMITS.historyRecommendations, isRecommendationFingerprint)) {
438
+ !isBoundedRows(period.recommendations, REPORT_EVIDENCE_LIMITS.historyRecommendations, isRecommendationFingerprint) ||
439
+ (period.comparisonIdentities !== undefined && !isHistoryComparisonIdentities(period.comparisonIdentities))) {
347
440
  return false;
348
441
  }
349
442
  if (period.recommendations.omittedCount === 0 &&
@@ -392,7 +485,11 @@ const isTenantPrincipal = (value) => isRecord(value) &&
392
485
  typeof value.isPimBacked === 'boolean' &&
393
486
  isString(value.lastActivatedEvidence) &&
394
487
  hasOptionalStrings(value, ['displayName', 'userPrincipalName', 'mfaStatus', 'lastActivatedAt']) &&
395
- isOptionalBoolean(value.accountEnabled);
488
+ isOptionalBoolean(value.accountEnabled) &&
489
+ ((value.lastSignInAt === undefined && value.lastSignInEvidence === undefined) ||
490
+ (value.lastSignInAt === undefined && value.lastSignInEvidence === 'unavailable') ||
491
+ (isDateTime(value.lastSignInAt) &&
492
+ (value.lastSignInEvidence === 'last-successful-sign-in' || value.lastSignInEvidence === 'last-interactive-sign-in')));
396
493
  export const isTenantReportEvidencePack = (value) => {
397
494
  if (!isRecord(value) ||
398
495
  !isDateTime(value.generatedAt) ||
@@ -1,4 +1,3 @@
1
- export * from './bastionSchedule.js';
2
- export * from './bastionScheduleProfile.js';
3
- export * from './bastionScheduleValidation.js';
4
1
  export * from './scheduler.js';
2
+ export * from './resourceStrategy.js';
3
+ export * from './weeklyAvailabilityFixtures.js';
@@ -0,0 +1,2 @@
1
+ export * from './resourceStrategyContracts.js';
2
+ export * from './resourceStrategyValidation.js';
@@ -0,0 +1,241 @@
1
+ import { RESOURCE_STRATEGY_CONTRACT_LIMITS, } from './resourceStrategyContracts.js';
2
+ import { hasOnlyKeys, isBoundedParameters, isBoundedString, isBoundedStringArray, isCapabilityRef, isIsoTimestamp, isNonNegativeInteger, isOptionalBoundedString, isPositiveInteger, isRecord, isWithinJsonByteLimit, } from './resourceStrategyValidationShared.js';
3
+ export function isResourceSchedulingCapabilityProjection(value) {
4
+ if (!isWithinJsonByteLimit(value, RESOURCE_STRATEGY_CONTRACT_LIMITS.publicDtoBytes) || !isRecord(value))
5
+ return false;
6
+ const allowed = [
7
+ 'capability',
8
+ 'contentHash',
9
+ 'publishedAtUtc',
10
+ 'provider',
11
+ 'resourceTypes',
12
+ 'strategy',
13
+ 'displayName',
14
+ 'description',
15
+ 'configurationSchemaKind',
16
+ 'configurationSchema',
17
+ 'recommendationMaturity',
18
+ 'lifecycleStatus',
19
+ 'executionPolicy',
20
+ 'baseline',
21
+ 'cost',
22
+ 'cadence',
23
+ 'disruption',
24
+ 'restore',
25
+ 'automation',
26
+ 'dependencies',
27
+ 'acknowledgement',
28
+ 'evidence',
29
+ ];
30
+ if (!hasOnlyKeys(value, allowed))
31
+ return false;
32
+ const executionPolicy = value.executionPolicy;
33
+ const baseline = value.baseline;
34
+ const cost = value.cost;
35
+ const cadence = value.cadence;
36
+ const disruption = value.disruption;
37
+ const restore = value.restore;
38
+ const automation = value.automation;
39
+ const dependencies = value.dependencies;
40
+ const evidence = value.evidence;
41
+ if (!isCapabilityRef(value.capability) ||
42
+ !isBoundedString(value.contentHash, 200) ||
43
+ !isIsoTimestamp(value.publishedAtUtc) ||
44
+ !isBoundedString(value.provider, 100) ||
45
+ !isBoundedStringArray(value.resourceTypes, RESOURCE_STRATEGY_CONTRACT_LIMITS.resourceTypes) ||
46
+ value.resourceTypes.length === 0 ||
47
+ !['on-off', 'sku-change', 'dial', 'recreate'].includes(String(value.strategy)) ||
48
+ !isBoundedString(value.displayName) ||
49
+ !isBoundedString(value.description, 2000) ||
50
+ !isBoundedString(value.configurationSchemaKind, 200) ||
51
+ !isBoundedParameters(value.configurationSchema) ||
52
+ !['unsupported', 'candidate', 'supported'].includes(String(value.recommendationMaturity)) ||
53
+ !['published', 'deprecated', 'withdrawn'].includes(String(value.lifecycleStatus)) ||
54
+ !isRecord(executionPolicy) ||
55
+ !isRecord(baseline) ||
56
+ !isRecord(cost) ||
57
+ !isRecord(cadence) ||
58
+ !isRecord(disruption) ||
59
+ !isRecord(restore) ||
60
+ !isRecord(automation) ||
61
+ !isRecord(dependencies) ||
62
+ !isRecord(evidence) ||
63
+ !hasOnlyKeys(executionPolicy, ['authoring', 'reduce', 'restore', 'disableReason', 'supersededBy']) ||
64
+ !hasOnlyKeys(baseline, ['policy', 'mutationDomains', 'coupledValueLabels', 'driftPolicy']) ||
65
+ !hasOnlyKeys(cost, [
66
+ 'billingClass',
67
+ 'reducedMeters',
68
+ 'retainedMeters',
69
+ 'billingGranularityMinutes',
70
+ 'minimumUsefulReducedMinutes',
71
+ 'commitmentInteraction',
72
+ ]) ||
73
+ !hasOnlyKeys(cadence, [
74
+ 'minimumTransitionIntervalMinutes',
75
+ 'maximumChangesPerRollingWindow',
76
+ 'maximumReducedDurationMinutes',
77
+ 'preferredBillingBoundary',
78
+ 'reduceFlexMinutes',
79
+ ]) ||
80
+ !hasOnlyKeys(disruption, ['reversibility', 'risk', 'affectedScopeLabel', 'expectedDowntimeMinutes', 'supportedBusyPolicies']) ||
81
+ !hasOnlyKeys(restore, ['restoreLeadMinutes', 'capacityReturnRisk', 'retryPolicyLabel', 'escalationClass']) ||
82
+ !hasOnlyKeys(automation, ['ownership', 'conflictingControllerLabels']) ||
83
+ !hasOnlyKeys(dependencies, ['hasDependencies', 'summary', 'mutableIdentityRisk']) ||
84
+ !hasOnlyKeys(evidence, ['sourceUrls', 'labResult', 'verifiedAtUtc', 'expiresAtUtc'])) {
85
+ return false;
86
+ }
87
+ if (!['allowed', 'blocked'].includes(String(executionPolicy.authoring)) ||
88
+ !['allowed', 'blocked'].includes(String(executionPolicy.reduce)) ||
89
+ !['allowed', 'blocked'].includes(String(executionPolicy.restore)) ||
90
+ (executionPolicy.disableReason !== undefined && !isBoundedString(executionPolicy.disableReason, 500)) ||
91
+ (executionPolicy.supersededBy !== undefined && !isCapabilityRef(executionPolicy.supersededBy))) {
92
+ return false;
93
+ }
94
+ if (!['none', 'capture-selected-state', 'capture-resource-snapshot'].includes(String(baseline.policy)) ||
95
+ !isBoundedStringArray(baseline.mutationDomains) ||
96
+ (baseline.coupledValueLabels !== undefined && !isBoundedStringArray(baseline.coupledValueLabels)) ||
97
+ !['block', 'adopt-before-reduce', 'restore-captured', 'capability-defined'].includes(String(baseline.driftPolicy))) {
98
+ return false;
99
+ }
100
+ if (!['A-meter-stops', 'B-meter-reduces', 'C-no-material-saving'].includes(String(cost.billingClass)) ||
101
+ !isBoundedStringArray(cost.reducedMeters) ||
102
+ !isBoundedStringArray(cost.retainedMeters) ||
103
+ (cost.billingGranularityMinutes !== undefined && !isPositiveInteger(cost.billingGranularityMinutes)) ||
104
+ (cost.minimumUsefulReducedMinutes !== undefined && !isPositiveInteger(cost.minimumUsefulReducedMinutes)) ||
105
+ !['none', 'may-reduce-invoice-saving', 'unknown'].includes(String(cost.commitmentInteraction))) {
106
+ return false;
107
+ }
108
+ if (!isPositiveInteger(cadence.minimumTransitionIntervalMinutes) ||
109
+ (cadence.maximumReducedDurationMinutes !== undefined && !isPositiveInteger(cadence.maximumReducedDurationMinutes)) ||
110
+ (cadence.reduceFlexMinutes !== undefined && !isNonNegativeInteger(cadence.reduceFlexMinutes)) ||
111
+ (cadence.preferredBillingBoundary !== undefined && !['none', 'start-of-hour'].includes(String(cadence.preferredBillingBoundary)))) {
112
+ return false;
113
+ }
114
+ if (cadence.maximumChangesPerRollingWindow !== undefined) {
115
+ const window = cadence.maximumChangesPerRollingWindow;
116
+ if (!isRecord(window) ||
117
+ !hasOnlyKeys(window, ['changes', 'windowMinutes']) ||
118
+ !isPositiveInteger(window.changes) ||
119
+ !isPositiveInteger(window.windowMinutes)) {
120
+ return false;
121
+ }
122
+ }
123
+ if (!['reversible', 'conditional', 'destructive'].includes(String(disruption.reversibility)) ||
124
+ !['low', 'medium', 'high'].includes(String(disruption.risk)) ||
125
+ !isBoundedString(disruption.affectedScopeLabel) ||
126
+ !Array.isArray(disruption.supportedBusyPolicies) ||
127
+ disruption.supportedBusyPolicies.length > 3 ||
128
+ new Set(disruption.supportedBusyPolicies).size !== disruption.supportedBusyPolicies.length ||
129
+ !disruption.supportedBusyPolicies.every(mode => ['skip', 'wait-until-deadline', 'force'].includes(String(mode)))) {
130
+ return false;
131
+ }
132
+ if (disruption.expectedDowntimeMinutes !== undefined) {
133
+ const downtime = disruption.expectedDowntimeMinutes;
134
+ if (!isRecord(downtime) ||
135
+ !hasOnlyKeys(downtime, ['minimum', 'maximum']) ||
136
+ !isNonNegativeInteger(downtime.minimum) ||
137
+ !isNonNegativeInteger(downtime.maximum) ||
138
+ Number(downtime.minimum) > Number(downtime.maximum)) {
139
+ return false;
140
+ }
141
+ }
142
+ if (!isNonNegativeInteger(restore.restoreLeadMinutes) ||
143
+ !['none-known', 'possible', 'high', 'unknown'].includes(String(restore.capacityReturnRisk)) ||
144
+ !isBoundedString(restore.retryPolicyLabel) ||
145
+ !isBoundedString(restore.escalationClass) ||
146
+ !['spotto', 'native', 'coexistence-proven', 'unsupported-conflict'].includes(String(automation.ownership)) ||
147
+ !isBoundedStringArray(automation.conflictingControllerLabels) ||
148
+ typeof dependencies.hasDependencies !== 'boolean' ||
149
+ (dependencies.summary !== undefined && !isBoundedString(dependencies.summary, 2000)) ||
150
+ (dependencies.mutableIdentityRisk !== undefined && typeof dependencies.mutableIdentityRisk !== 'boolean')) {
151
+ return false;
152
+ }
153
+ if (value.acknowledgement !== undefined) {
154
+ const acknowledgement = value.acknowledgement;
155
+ if (!isRecord(acknowledgement) ||
156
+ !hasOnlyKeys(acknowledgement, ['version', 'severity', 'message']) ||
157
+ !isBoundedString(acknowledgement.version, 200) ||
158
+ !['info', 'warning', 'destructive'].includes(String(acknowledgement.severity)) ||
159
+ !isBoundedString(acknowledgement.message, 2000)) {
160
+ return false;
161
+ }
162
+ }
163
+ const requiresDisableReason = value.lifecycleStatus === 'withdrawn' ||
164
+ executionPolicy.authoring === 'blocked' ||
165
+ executionPolicy.reduce === 'blocked' ||
166
+ executionPolicy.restore === 'blocked';
167
+ if (requiresDisableReason && !isBoundedString(executionPolicy.disableReason, 500))
168
+ return false;
169
+ if (cost.billingClass === 'C-no-material-saving' && (executionPolicy.authoring !== 'blocked' || executionPolicy.reduce !== 'blocked'))
170
+ return false;
171
+ if (value.strategy === 'recreate') {
172
+ if (!isRecord(value.acknowledgement) || value.acknowledgement.severity !== 'destructive')
173
+ return false;
174
+ }
175
+ if (!isBoundedStringArray(evidence.sourceUrls, RESOURCE_STRATEGY_CONTRACT_LIMITS.evidenceReferences) ||
176
+ !['not-run', 'failed', 'passed'].includes(String(evidence.labResult)) ||
177
+ !(evidence.verifiedAtUtc === null || isIsoTimestamp(evidence.verifiedAtUtc)) ||
178
+ !(evidence.expiresAtUtc === null || isIsoTimestamp(evidence.expiresAtUtc))) {
179
+ return false;
180
+ }
181
+ if (evidence.labResult === 'passed' && evidence.verifiedAtUtc === null)
182
+ return false;
183
+ const allowsAuthoringOrReduce = executionPolicy.authoring === 'allowed' || executionPolicy.reduce === 'allowed';
184
+ if (allowsAuthoringOrReduce && (evidence.labResult !== 'passed' || evidence.verifiedAtUtc === null || evidence.sourceUrls.length === 0)) {
185
+ return false;
186
+ }
187
+ return !(typeof evidence.verifiedAtUtc === 'string' &&
188
+ typeof evidence.expiresAtUtc === 'string' &&
189
+ Date.parse(evidence.expiresAtUtc) < Date.parse(evidence.verifiedAtUtc));
190
+ }
191
+ const readinessStates = new Set([
192
+ 'ready',
193
+ 'blocked',
194
+ 'pending-permission-propagation',
195
+ 'missing-permission',
196
+ 'scope-mismatch',
197
+ 'manifest-outdated',
198
+ 'credential-unavailable',
199
+ 'permission-check-unavailable',
200
+ 'blocked-by-lock',
201
+ 'blocked-by-deny-assignment',
202
+ 'blocked-by-policy',
203
+ 'target-missing',
204
+ 'dependency-unready',
205
+ 'conflicting-automation',
206
+ 'unsupported-resource-state',
207
+ ]);
208
+ export function isResourceSchedulingReadinessProjection(value) {
209
+ return (isWithinJsonByteLimit(value, RESOURCE_STRATEGY_CONTRACT_LIMITS.publicDtoBytes) &&
210
+ isRecord(value) &&
211
+ hasOnlyKeys(value, [
212
+ 'companyId',
213
+ 'cloudAccountId',
214
+ 'providerScopeId',
215
+ 'resourceId',
216
+ 'capability',
217
+ 'state',
218
+ 'checkedAtUtc',
219
+ 'expiresAtUtc',
220
+ 'reasonCodes',
221
+ 'missingActions',
222
+ 'requiredScopes',
223
+ 'offendingScopes',
224
+ 'repairLink',
225
+ ]) &&
226
+ isBoundedString(value.companyId, 200) &&
227
+ isBoundedString(value.cloudAccountId, 200) &&
228
+ isBoundedString(value.providerScopeId, 300) &&
229
+ isBoundedString(value.resourceId, 2000) &&
230
+ isCapabilityRef(value.capability) &&
231
+ typeof value.state === 'string' &&
232
+ readinessStates.has(value.state) &&
233
+ isIsoTimestamp(value.checkedAtUtc) &&
234
+ isIsoTimestamp(value.expiresAtUtc) &&
235
+ Date.parse(value.expiresAtUtc) >= Date.parse(value.checkedAtUtc) &&
236
+ isBoundedStringArray(value.reasonCodes) &&
237
+ (value.missingActions === undefined || isBoundedStringArray(value.missingActions)) &&
238
+ (value.requiredScopes === undefined || isBoundedStringArray(value.requiredScopes)) &&
239
+ (value.offendingScopes === undefined || isBoundedStringArray(value.offendingScopes)) &&
240
+ isOptionalBoundedString(value.repairLink, 2000));
241
+ }
@@ -0,0 +1,14 @@
1
+ export const RESOURCE_STRATEGY_CONTRACT_LIMITS = {
2
+ textLength: 500,
3
+ rules: 64,
4
+ ruleDays: 7,
5
+ resourceTypes: 64,
6
+ metadataItems: 64,
7
+ evidenceReferences: 32,
8
+ draftPeriodKeys: 64,
9
+ grantGroups: 128,
10
+ permissionOperations: 8192,
11
+ listResults: 100,
12
+ parameterBytes: 32768,
13
+ publicDtoBytes: 262144,
14
+ };