@spottoai/types-package 1.0.2-beta.421 → 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.
@@ -4,6 +4,7 @@ import type { TenantMfaEnforcementStatus } from './governance';
4
4
  import type { SecureScoreEvidence } from './secureScore';
5
5
  import type { ReportDailySpend } from './reportDailySpend';
6
6
  import type { ReportSavingsBasis, ReportSpendProjection } from './reportSpend';
7
+ import type { ChangeType } from './reports';
7
8
  export declare const REPORT_EVIDENCE_LIMITS: {
8
9
  readonly detailRows: 50;
9
10
  readonly currentRecommendations: 90;
@@ -23,6 +24,10 @@ export declare const REPORT_EVIDENCE_LIMITS: {
23
24
  readonly upcomingEvents: 20;
24
25
  readonly historyPeriods: 13;
25
26
  readonly historyRecommendations: 2000;
27
+ readonly historyComparisonIdentities: 2000;
28
+ readonly costChangePeriods: 13;
29
+ readonly costChangeDrivers: 50;
30
+ readonly costChangeReasons: 10;
26
31
  readonly tenantGlobalAdministrators: 50;
27
32
  };
28
33
  /** An additive report section whose stable field-level contract has not yet been promoted. */
@@ -163,6 +168,41 @@ export interface ReportCostSavingsProjection {
163
168
  categories: ReportBoundedRows<ReportCostSavingsCategory>;
164
169
  basis?: CostSavingsSummaryBasis;
165
170
  }
171
+ export type ReportCostChangeDriverLevel = 'service' | 'resource-group' | 'resource' | 'meter';
172
+ export type ReportCostChangeReasonType = 'new_resource' | 'removed_resource' | 'quantity_increase' | 'quantity_decrease' | 'rate_change' | 'sku_change' | 'new_meter' | 'removed_meter';
173
+ export interface ReportCostChangeReason {
174
+ type: ReportCostChangeReasonType;
175
+ impact: number;
176
+ impactPercent?: number;
177
+ description: string;
178
+ oldValue?: string | number;
179
+ newValue?: string | number;
180
+ }
181
+ export interface ReportCostChangeDriver {
182
+ /** Stable producer identity for comparisons and de-duplication. */
183
+ key: string;
184
+ level: ReportCostChangeDriverLevel;
185
+ label: string;
186
+ resourceId?: string;
187
+ currentCost: number;
188
+ previousCost: number;
189
+ change: number;
190
+ changePercent?: number;
191
+ changeType: ChangeType;
192
+ summary?: string;
193
+ reasons: ReportBoundedRows<ReportCostChangeReason>;
194
+ }
195
+ export interface ReportCostChangePeriod {
196
+ /** Current and comparison billing months in YYYY-MM form. */
197
+ period: string;
198
+ previousPeriod: string;
199
+ currency: string;
200
+ currentCost: number;
201
+ previousCost: number;
202
+ change: number;
203
+ changePercent?: number;
204
+ drivers: ReportBoundedRows<ReportCostChangeDriver>;
205
+ }
166
206
  export interface ReportRecommendationPortfolio {
167
207
  sourceRecommendationCount: number;
168
208
  activeRecommendationCount: number;
@@ -272,6 +312,8 @@ export interface ReportComplianceAssessment {
272
312
  export interface ReportCommitmentInventorySummary {
273
313
  totalCount: number;
274
314
  statusCounts: Record<string, number>;
315
+ /** Complete counts calculated from inventory before detail truncation. */
316
+ benefitTypeCounts?: Record<string, number>;
275
317
  }
276
318
  export interface ReportCommitmentInventoryRow {
277
319
  id?: string;
@@ -303,15 +345,46 @@ export interface ReportCommitmentsProjection extends ReportProjectionRecord {
303
345
  export interface ReportPatchManagementProjection extends ReportProjectionRecord {
304
346
  machines: ReportBoundedRows<ReportProjectionRecord>;
305
347
  }
348
+ export interface ReportDataProtectionCostTotals {
349
+ actualCostLast30Days?: number;
350
+ actualAmortizedCostLast30Days?: number;
351
+ allocatedCostLast30Days?: number;
352
+ estimatedMonthlyCostForUnprotected?: number;
353
+ }
354
+ export interface ReportDataProtectionCostSummary extends ReportProjectionRecord {
355
+ currencyCode?: string;
356
+ currencySymbol?: string;
357
+ billingWindow?: ReportProjectionRecord;
358
+ totals?: ReportDataProtectionCostTotals;
359
+ }
306
360
  export interface ReportDataProtectionProjection extends ReportProjectionRecord {
361
+ /** Native backup-cost totals; preferred over compatibility fields in summary. */
362
+ costSummary?: ReportDataProtectionCostSummary;
307
363
  items: ReportBoundedRows<ReportProjectionRecord>;
308
364
  issues: ReportBoundedRows<ReportProjectionRecord>;
309
365
  }
366
+ export interface ReportResourceHealthEvent extends ReportProjectionRecord {
367
+ id?: string;
368
+ trackingId?: string;
369
+ eventType?: string;
370
+ status?: string;
371
+ level?: string;
372
+ title?: string;
373
+ summary?: string;
374
+ impactStartTime?: string;
375
+ impactMitigationTime?: string;
376
+ lastUpdateTime?: string;
377
+ durationSeconds?: number;
378
+ priority?: number;
379
+ impactedServices?: string[];
380
+ impactedRegions?: string[];
381
+ impactedResourceCount?: number;
382
+ }
310
383
  export interface ReportResourceHealthProjection {
311
- eventCatalogue?: ReportBoundedRows<ReportProjectionRecord>;
384
+ eventCatalogue?: ReportBoundedRows<ReportResourceHealthEvent>;
312
385
  availabilityCatalogue?: ReportBoundedRows<ReportProjectionRecord>;
313
386
  events: ReportProjectionRecord & {
314
- events: ReportBoundedRows<ReportProjectionRecord>;
387
+ events: ReportBoundedRows<ReportResourceHealthEvent>;
315
388
  };
316
389
  availabilityStatuses: ReportProjectionRecord & {
317
390
  statuses: ReportBoundedRows<ReportProjectionRecord>;
@@ -354,6 +427,8 @@ export interface SubscriptionReportingProjection {
354
427
  /** Explicit cost bases and source components; preferred over unqualified legacy dashboard totals. */
355
428
  spend?: ReportSpendProjection;
356
429
  dashboard: ReportProjectionRecord;
430
+ /** Bounded billing-month explanations derived from the cost decomposition tree. */
431
+ costChangePeriods?: ReportBoundedRows<ReportCostChangePeriod>;
357
432
  /** Optional on older packs. Missing or incomplete coverage must not become zero spend. */
358
433
  dailySpend?: ReportDailySpend;
359
434
  recommendationPortfolio: ReportRecommendationPortfolio;
@@ -543,12 +618,22 @@ export interface SubscriptionReportHistoryMetrics {
543
618
  securityImpactedResourceCount: number;
544
619
  maximumMonthlySavings?: number;
545
620
  }
621
+ export interface ReportHistoryComparisonIdentities {
622
+ /** Stable recommendation IDs classified as cost-saving recommendations. */
623
+ costRecommendationIds: ReportBoundedRows<string>;
624
+ /** Full Azure resource IDs for VMs classified as undersized in this period. */
625
+ undersizedResourceIds: ReportBoundedRows<string>;
626
+ /** Semantic governance assessment keys, not presentation labels. */
627
+ regulatoryAssessmentKeys: ReportBoundedRows<string>;
628
+ }
546
629
  export interface SubscriptionReportHistoryPeriod {
547
630
  period: string;
548
631
  sourceRunId: string;
549
632
  sourceGeneratedAt: string;
550
633
  metrics: SubscriptionReportHistoryMetrics;
551
634
  recommendations: ReportBoundedRows<ReportRecommendationFingerprint>;
635
+ /** Optional on older history; enables category-specific 1/2/3-month deltas. */
636
+ comparisonIdentities?: ReportHistoryComparisonIdentities;
552
637
  }
553
638
  export interface SubscriptionReportHistory {
554
639
  subscriptionId: string;
@@ -594,6 +679,9 @@ export interface TenantReportGlobalAdministrator {
594
679
  isPimBacked: boolean;
595
680
  lastActivatedAt?: string;
596
681
  lastActivatedEvidence: string;
682
+ /** Most recent sign-in timestamp under the basis declared by lastSignInEvidence. */
683
+ lastSignInAt?: string;
684
+ lastSignInEvidence?: 'last-successful-sign-in' | 'last-interactive-sign-in' | 'unavailable';
597
685
  }
598
686
  export interface TenantReportEvidencePack {
599
687
  generatedAt: string;
@@ -1 +1 @@
1
- {"version":3,"file":"reportEvidence.d.ts","sourceRoot":"","sources":["../../src/azure/reportEvidence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reportEvidence.d.ts","sourceRoot":"","sources":["../../src/azure/reportEvidence.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,10 @@ exports.REPORT_EVIDENCE_LIMITS = {
20
20
  upcomingEvents: 20,
21
21
  historyPeriods: 13,
22
22
  historyRecommendations: 2000,
23
+ historyComparisonIdentities: 2000,
24
+ costChangePeriods: 13,
25
+ costChangeDrivers: 50,
26
+ costChangeReasons: 10,
23
27
  tenantGlobalAdministrators: 50,
24
28
  };
25
29
  //# sourceMappingURL=reportEvidence.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"reportEvidence.js","sourceRoot":"","sources":["../../src/azure/reportEvidence.ts"],"names":[],"mappings":";;;AAOa,QAAA,sBAAsB,GAAG;IACpC,UAAU,EAAE,EAAE;IACd,sBAAsB,EAAE,EAAE;IAC1B,uBAAuB,EAAE,IAAI;IAC7B,qBAAqB,EAAE,IAAI;IAC3B,YAAY,EAAE,GAAG;IACjB,cAAc,EAAE,EAAE;IAClB,uBAAuB,EAAE,CAAC;IAC1B,iBAAiB,EAAE,IAAI;IACvB,+BAA+B,EAAE,KAAK;IACtC,kBAAkB,EAAE,IAAI;IACxB,eAAe,EAAE,IAAI;IACrB,iBAAiB,EAAE,EAAE;IACrB,WAAW,EAAE,EAAE;IACf,oBAAoB,EAAE,EAAE;IACxB,6BAA6B,EAAE,CAAC;IAChC,cAAc,EAAE,EAAE;IAClB,cAAc,EAAE,EAAE;IAClB,sBAAsB,EAAE,IAAI;IAC5B,0BAA0B,EAAE,EAAE;CACtB,CAAC"}
1
+ {"version":3,"file":"reportEvidence.js","sourceRoot":"","sources":["../../src/azure/reportEvidence.ts"],"names":[],"mappings":";;;AAQa,QAAA,sBAAsB,GAAG;IACpC,UAAU,EAAE,EAAE;IACd,sBAAsB,EAAE,EAAE;IAC1B,uBAAuB,EAAE,IAAI;IAC7B,qBAAqB,EAAE,IAAI;IAC3B,YAAY,EAAE,GAAG;IACjB,cAAc,EAAE,EAAE;IAClB,uBAAuB,EAAE,CAAC;IAC1B,iBAAiB,EAAE,IAAI;IACvB,+BAA+B,EAAE,KAAK;IACtC,kBAAkB,EAAE,IAAI;IACxB,eAAe,EAAE,IAAI;IACrB,iBAAiB,EAAE,EAAE;IACrB,WAAW,EAAE,EAAE;IACf,oBAAoB,EAAE,EAAE;IACxB,6BAA6B,EAAE,CAAC;IAChC,cAAc,EAAE,EAAE;IAClB,cAAc,EAAE,EAAE;IAClB,sBAAsB,EAAE,IAAI;IAC5B,2BAA2B,EAAE,IAAI;IACjC,iBAAiB,EAAE,EAAE;IACrB,iBAAiB,EAAE,EAAE;IACrB,iBAAiB,EAAE,EAAE;IACrB,0BAA0B,EAAE,EAAE;CACtB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"reportEvidenceValidation.d.ts","sourceRoot":"","sources":["../../src/azure/reportEvidenceValidation.ts"],"names":[],"mappings":"AAGA,OAAO,EAKL,KAAK,8BAA8B,EAEnC,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAE9B,MAAM,kBAAkB,CAAC;AA4B1B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEzD,eAAO,MAAM,2BAA2B,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,mBAYrE,CAAC;AAgSF,eAAO,MAAM,gCAAgC,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,8BAyD1E,CAAC;AA4BF,eAAO,MAAM,2BAA2B,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,yBAmCrE,CAAC;AAoDF,eAAO,MAAM,0BAA0B,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,wBAmBpE,CAAC"}
1
+ {"version":3,"file":"reportEvidenceValidation.d.ts","sourceRoot":"","sources":["../../src/azure/reportEvidenceValidation.ts"],"names":[],"mappings":"AAGA,OAAO,EAKL,KAAK,8BAA8B,EAEnC,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAE9B,MAAM,kBAAkB,CAAC;AA4B1B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEzD,eAAO,MAAM,2BAA2B,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,mBAYrE,CAAC;AAoYF,eAAO,MAAM,gCAAgC,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,8BAyD1E,CAAC;AAsCF,eAAO,MAAM,2BAA2B,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,yBAoCrE,CAAC;AAwDF,eAAO,MAAM,0BAA0B,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,wBAmBpE,CAAC"}
@@ -26,6 +26,54 @@ const isCostSavingsCategory = (value) => (0, reportEvidenceValidationHelpers_1.i
26
26
  (0, reportEvidenceValidationHelpers_1.isCount)(value.recommendationCount) &&
27
27
  (0, reportEvidenceValidationHelpers_1.isCount)(value.resourceCount) &&
28
28
  ['currentMonthlyCost', 'potentialMonthlyCost', 'minimumMonthlySavings', 'maximumMonthlySavings'].every(key => (0, reportEvidenceValidationHelpers_1.isFiniteNumber)(value[key]));
29
+ const REPORT_COST_CHANGE_LEVELS = new Set(['service', 'resource-group', 'resource', 'meter']);
30
+ const REPORT_COST_CHANGE_TYPES = new Set(['increase', 'decrease', 'no_change', 'new_resource', 'removed_resource']);
31
+ const REPORT_COST_CHANGE_REASON_TYPES = new Set([
32
+ 'new_resource',
33
+ 'removed_resource',
34
+ 'quantity_increase',
35
+ 'quantity_decrease',
36
+ 'rate_change',
37
+ 'sku_change',
38
+ 'new_meter',
39
+ 'removed_meter',
40
+ ]);
41
+ const isStringOrFiniteNumber = (value) => (0, reportEvidenceValidationHelpers_1.isString)(value) || (0, reportEvidenceValidationHelpers_1.isFiniteNumber)(value);
42
+ const isCostChangeReason = (value) => (0, reportEvidenceValidationHelpers_1.isRecord)(value) &&
43
+ (0, reportEvidenceValidationHelpers_1.isString)(value.type) &&
44
+ REPORT_COST_CHANGE_REASON_TYPES.has(value.type) &&
45
+ (0, reportEvidenceValidationHelpers_1.isFiniteNumber)(value.impact) &&
46
+ (0, reportEvidenceValidationHelpers_1.isOptionalFiniteNumber)(value.impactPercent) &&
47
+ (0, reportEvidenceValidationHelpers_1.isString)(value.description) &&
48
+ (value.oldValue === undefined || isStringOrFiniteNumber(value.oldValue)) &&
49
+ (value.newValue === undefined || isStringOrFiniteNumber(value.newValue));
50
+ const isCostChangeDriver = (value) => (0, reportEvidenceValidationHelpers_1.isRecord)(value) &&
51
+ (0, reportEvidenceValidationHelpers_1.isString)(value.key) &&
52
+ (0, reportEvidenceValidationHelpers_1.isString)(value.level) &&
53
+ REPORT_COST_CHANGE_LEVELS.has(value.level) &&
54
+ (0, reportEvidenceValidationHelpers_1.isString)(value.label) &&
55
+ (0, reportEvidenceValidationHelpers_1.isOptionalString)(value.resourceId) &&
56
+ (0, reportEvidenceValidationHelpers_1.isFiniteNumber)(value.currentCost) &&
57
+ (0, reportEvidenceValidationHelpers_1.isFiniteNumber)(value.previousCost) &&
58
+ (0, reportEvidenceValidationHelpers_1.isFiniteNumber)(value.change) &&
59
+ (0, reportEvidenceValidationHelpers_1.isOptionalFiniteNumber)(value.changePercent) &&
60
+ (0, reportEvidenceValidationHelpers_1.isString)(value.changeType) &&
61
+ REPORT_COST_CHANGE_TYPES.has(value.changeType) &&
62
+ (0, reportEvidenceValidationHelpers_1.isOptionalString)(value.summary) &&
63
+ (0, reportEvidenceValidationHelpers_1.isBoundedRows)(value.reasons, reportEvidence_1.REPORT_EVIDENCE_LIMITS.costChangeReasons, isCostChangeReason);
64
+ const isCostChangePeriod = (value) => (0, reportEvidenceValidationHelpers_1.isRecord)(value) &&
65
+ (0, reportEvidenceValidationHelpers_1.isString)(value.period) &&
66
+ /^\d{4}-(0[1-9]|1[0-2])$/u.test(value.period) &&
67
+ (0, reportEvidenceValidationHelpers_1.isString)(value.previousPeriod) &&
68
+ /^\d{4}-(0[1-9]|1[0-2])$/u.test(value.previousPeriod) &&
69
+ value.previousPeriod < value.period &&
70
+ (0, reportEvidenceValidationHelpers_1.isString)(value.currency) &&
71
+ /^[A-Z]{3}$/u.test(value.currency) &&
72
+ (0, reportEvidenceValidationHelpers_1.isFiniteNumber)(value.currentCost) &&
73
+ (0, reportEvidenceValidationHelpers_1.isFiniteNumber)(value.previousCost) &&
74
+ (0, reportEvidenceValidationHelpers_1.isFiniteNumber)(value.change) &&
75
+ (0, reportEvidenceValidationHelpers_1.isOptionalFiniteNumber)(value.changePercent) &&
76
+ (0, reportEvidenceValidationHelpers_1.isBoundedRows)(value.drivers, reportEvidence_1.REPORT_EVIDENCE_LIMITS.costChangeDrivers, isCostChangeDriver);
29
77
  const hasRequiredCountKeys = (value, keys) => (0, reportEvidenceValidationHelpers_1.isCountRecord)(value) && keys.every(key => Object.prototype.hasOwnProperty.call(value, key));
30
78
  const isRecommendationPortfolio = (value) => {
31
79
  if (!(0, reportEvidenceValidationHelpers_1.isRecord)(value))
@@ -146,13 +194,45 @@ const isCommitments = (value) => {
146
194
  return false;
147
195
  }
148
196
  if (value.inventorySummary.totalCount !== value.inventory.totalCount ||
149
- (0, reportEvidenceValidationHelpers_1.countTotal)(value.inventorySummary.statusCounts) !== value.inventorySummary.totalCount) {
197
+ (0, reportEvidenceValidationHelpers_1.countTotal)(value.inventorySummary.statusCounts) !== value.inventorySummary.totalCount ||
198
+ (value.inventorySummary.benefitTypeCounts !== undefined &&
199
+ (!(0, reportEvidenceValidationHelpers_1.isCountRecord)(value.inventorySummary.benefitTypeCounts) ||
200
+ (0, reportEvidenceValidationHelpers_1.countTotal)(value.inventorySummary.benefitTypeCounts) !== value.inventorySummary.totalCount))) {
150
201
  return false;
151
202
  }
152
203
  if (value.resourceCoverage !== undefined && !(0, reportEvidenceValidationHelpers_1.isProjectionRows)(value.resourceCoverage))
153
204
  return false;
154
205
  return ['coverage', 'obsoleteCandidates', 'reallocationOpportunities', 'purchaseRecommendations', 'renewals'].every(key => (0, reportEvidenceValidationHelpers_1.isProjectionRows)(value[key]));
155
206
  };
207
+ const isDataProtectionCostSummary = (value) => (0, reportEvidenceValidationHelpers_1.isRecord)(value) &&
208
+ (0, reportEvidenceValidationHelpers_1.hasOptionalStrings)(value, ['currencyCode', 'currencySymbol']) &&
209
+ (value.billingWindow === undefined || (0, reportEvidenceValidationHelpers_1.isRecord)(value.billingWindow)) &&
210
+ (value.totals === undefined ||
211
+ ((0, reportEvidenceValidationHelpers_1.isRecord)(value.totals) &&
212
+ (0, reportEvidenceValidationHelpers_1.hasOptionalNumbers)(value.totals, [
213
+ 'actualCostLast30Days',
214
+ 'actualAmortizedCostLast30Days',
215
+ 'allocatedCostLast30Days',
216
+ 'estimatedMonthlyCostForUnprotected',
217
+ ])));
218
+ const isResourceHealthEvent = (value) => (0, reportEvidenceValidationHelpers_1.isRecord)(value) &&
219
+ (0, reportEvidenceValidationHelpers_1.hasOptionalStrings)(value, [
220
+ 'id',
221
+ 'trackingId',
222
+ 'eventType',
223
+ 'status',
224
+ 'level',
225
+ 'title',
226
+ 'summary',
227
+ 'impactStartTime',
228
+ 'impactMitigationTime',
229
+ 'lastUpdateTime',
230
+ ]) &&
231
+ (0, reportEvidenceValidationHelpers_1.isOptionalFiniteNumber)(value.priority) &&
232
+ (value.durationSeconds === undefined || ((0, reportEvidenceValidationHelpers_1.isFiniteNumber)(value.durationSeconds) && value.durationSeconds >= 0)) &&
233
+ (value.impactedResourceCount === undefined || (0, reportEvidenceValidationHelpers_1.isCount)(value.impactedResourceCount)) &&
234
+ (value.impactedServices === undefined || (0, reportEvidenceValidationHelpers_1.isStringArray)(value.impactedServices)) &&
235
+ (value.impactedRegions === undefined || (0, reportEvidenceValidationHelpers_1.isStringArray)(value.impactedRegions));
156
236
  function isCommitmentInventoryRow(value) {
157
237
  return ((0, reportEvidenceValidationHelpers_1.isRecord)(value) &&
158
238
  (0, reportEvidenceValidationHelpers_1.hasOptionalStrings)(value, [
@@ -179,6 +259,11 @@ const isReportingProjection = (value) => {
179
259
  return false;
180
260
  if (value.spend !== undefined && !(0, reportSpendValidation_1.isReportSpendProjection)(value.spend))
181
261
  return false;
262
+ if (value.costChangePeriods !== undefined &&
263
+ (!(0, reportEvidenceValidationHelpers_1.isBoundedRows)(value.costChangePeriods, reportEvidence_1.REPORT_EVIDENCE_LIMITS.costChangePeriods, isCostChangePeriod) ||
264
+ new Set(value.costChangePeriods.rows.map(period => period.period)).size !== value.costChangePeriods.rows.length)) {
265
+ return false;
266
+ }
182
267
  const subscription = (0, reportEvidenceValidationHelpers_1.isRecord)(value.dashboard.subscription) ? value.dashboard.subscription : undefined;
183
268
  const properties = subscription && (0, reportEvidenceValidationHelpers_1.isRecord)(subscription.properties) ? subscription.properties : undefined;
184
269
  if (properties?.secureScoreEvidence !== undefined && !(0, exports.isReportSecureScoreEvidence)(properties.secureScoreEvidence))
@@ -209,13 +294,14 @@ const isReportingProjection = (value) => {
209
294
  return ((0, reportEvidenceValidationHelpers_1.isRecord)(patch) &&
210
295
  (0, reportEvidenceValidationHelpers_1.isProjectionRows)(patch.machines) &&
211
296
  (0, reportEvidenceValidationHelpers_1.isRecord)(protection) &&
297
+ (protection.costSummary === undefined || isDataProtectionCostSummary(protection.costSummary)) &&
212
298
  (0, reportEvidenceValidationHelpers_1.isProjectionRows)(protection.items) &&
213
299
  (0, reportEvidenceValidationHelpers_1.isProjectionRows)(protection.issues) &&
214
300
  (0, reportEvidenceValidationHelpers_1.isRecord)(health) &&
215
- (health.eventCatalogue === undefined || (0, reportEvidenceValidationHelpers_1.isBoundedRows)(health.eventCatalogue, reportEvidence_1.REPORT_EVIDENCE_LIMITS.healthCatalogue, reportEvidenceValidationHelpers_1.isRecord)) &&
301
+ (health.eventCatalogue === undefined || (0, reportEvidenceValidationHelpers_1.isBoundedRows)(health.eventCatalogue, reportEvidence_1.REPORT_EVIDENCE_LIMITS.healthCatalogue, isResourceHealthEvent)) &&
216
302
  (health.availabilityCatalogue === undefined || (0, reportEvidenceValidationHelpers_1.isBoundedRows)(health.availabilityCatalogue, reportEvidence_1.REPORT_EVIDENCE_LIMITS.healthCatalogue, reportEvidenceValidationHelpers_1.isRecord)) &&
217
303
  (0, reportEvidenceValidationHelpers_1.isRecord)(health.events) &&
218
- (0, reportEvidenceValidationHelpers_1.isProjectionRows)(health.events.events) &&
304
+ (0, reportEvidenceValidationHelpers_1.isBoundedRows)(health.events.events, reportEvidence_1.REPORT_EVIDENCE_LIMITS.detailRows, isResourceHealthEvent) &&
219
305
  (health.eventCatalogue === undefined || health.eventCatalogue.totalCount === health.events.events.totalCount) &&
220
306
  (0, reportEvidenceValidationHelpers_1.isRecord)(health.availabilityStatuses) &&
221
307
  (0, reportEvidenceValidationHelpers_1.isProjectionRows)(health.availabilityStatuses.statuses) &&
@@ -329,6 +415,12 @@ const isHistoryMetrics = (value) => (0, reportEvidenceValidationHelpers_1.isReco
329
415
  value.securityRecommendationCount <= value.recommendationCount &&
330
416
  value.securityImpactedResourceCount <= value.impactedResourceCount &&
331
417
  (0, reportEvidenceValidationHelpers_1.isOptionalFiniteNumber)(value.maximumMonthlySavings);
418
+ const isUniqueIdentityRows = (value, itemValidator = reportEvidenceValidationHelpers_1.isString) => (0, reportEvidenceValidationHelpers_1.isBoundedRows)(value, reportEvidence_1.REPORT_EVIDENCE_LIMITS.historyComparisonIdentities, itemValidator) &&
419
+ new Set(value.rows).size === value.rows.length;
420
+ const isHistoryComparisonIdentities = (value) => (0, reportEvidenceValidationHelpers_1.isRecord)(value) &&
421
+ isUniqueIdentityRows(value.costRecommendationIds) &&
422
+ isUniqueIdentityRows(value.undersizedResourceIds) &&
423
+ isUniqueIdentityRows(value.regulatoryAssessmentKeys, (item) => (0, reportEvidenceValidationHelpers_1.isString)(item) && /^[a-f0-9]{64}$/u.test(item));
332
424
  const isSubscriptionReportHistory = (value) => {
333
425
  if (!(0, reportEvidenceValidationHelpers_1.isRecord)(value) ||
334
426
  !(0, reportEvidenceValidationHelpers_1.isString)(value.subscriptionId) ||
@@ -348,7 +440,8 @@ const isSubscriptionReportHistory = (value) => {
348
440
  !(0, reportEvidenceValidationHelpers_1.isString)(period.sourceRunId) ||
349
441
  !(0, reportEvidenceValidationHelpers_1.isDateTime)(period.sourceGeneratedAt) ||
350
442
  !isHistoryMetrics(period.metrics) ||
351
- !(0, reportEvidenceValidationHelpers_1.isBoundedRows)(period.recommendations, reportEvidence_1.REPORT_EVIDENCE_LIMITS.historyRecommendations, isRecommendationFingerprint)) {
443
+ !(0, reportEvidenceValidationHelpers_1.isBoundedRows)(period.recommendations, reportEvidence_1.REPORT_EVIDENCE_LIMITS.historyRecommendations, isRecommendationFingerprint) ||
444
+ (period.comparisonIdentities !== undefined && !isHistoryComparisonIdentities(period.comparisonIdentities))) {
352
445
  return false;
353
446
  }
354
447
  if (period.recommendations.omittedCount === 0 &&
@@ -398,7 +491,11 @@ const isTenantPrincipal = (value) => (0, reportEvidenceValidationHelpers_1.isRec
398
491
  typeof value.isPimBacked === 'boolean' &&
399
492
  (0, reportEvidenceValidationHelpers_1.isString)(value.lastActivatedEvidence) &&
400
493
  (0, reportEvidenceValidationHelpers_1.hasOptionalStrings)(value, ['displayName', 'userPrincipalName', 'mfaStatus', 'lastActivatedAt']) &&
401
- (0, reportEvidenceValidationHelpers_1.isOptionalBoolean)(value.accountEnabled);
494
+ (0, reportEvidenceValidationHelpers_1.isOptionalBoolean)(value.accountEnabled) &&
495
+ ((value.lastSignInAt === undefined && value.lastSignInEvidence === undefined) ||
496
+ (value.lastSignInAt === undefined && value.lastSignInEvidence === 'unavailable') ||
497
+ ((0, reportEvidenceValidationHelpers_1.isDateTime)(value.lastSignInAt) &&
498
+ (value.lastSignInEvidence === 'last-successful-sign-in' || value.lastSignInEvidence === 'last-interactive-sign-in')));
402
499
  const isTenantReportEvidencePack = (value) => {
403
500
  if (!(0, reportEvidenceValidationHelpers_1.isRecord)(value) ||
404
501
  !(0, reportEvidenceValidationHelpers_1.isDateTime)(value.generatedAt) ||
@@ -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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"}
@@ -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) ||
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spottoai/types-package",
3
- "version": "1.0.2-beta.421",
3
+ "version": "1.0.2-beta.422",
4
4
  "description": "Shared TypeScript interfaces for SpottoAI",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",