@spottoai/types-package 1.0.2-beta.396 → 1.0.2-beta.398
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ai/index.d.ts +83 -2
- package/dist/ai/index.d.ts.map +1 -1
- package/dist/ai/index.js +8 -0
- package/dist/ai/index.js.map +1 -1
- package/dist/ai/workspaceArtifacts.d.ts +119 -8
- package/dist/ai/workspaceArtifacts.d.ts.map +1 -1
- package/dist/ai/workspaceArtifacts.js +35 -1
- package/dist/ai/workspaceArtifacts.js.map +1 -1
- package/dist/environment/contracts.d.ts +166 -1
- package/dist/environment/contracts.d.ts.map +1 -1
- package/dist/environment/contracts.js +9 -0
- package/dist/environment/contracts.js.map +1 -1
- package/dist/environment/validation.d.ts +3 -1
- package/dist/environment/validation.d.ts.map +1 -1
- package/dist/environment/validation.js +164 -5
- package/dist/environment/validation.js.map +1 -1
- package/dist/esm/ai/index.js +7 -0
- package/dist/esm/ai/workspaceArtifacts.js +34 -0
- package/dist/esm/environment/contracts.js +9 -0
- package/dist/esm/environment/validation.js +162 -4
- package/package.json +1 -1
|
@@ -5,6 +5,12 @@ export declare const ENVIRONMENT_CONTRACT_LIMITS_V1: Readonly<{
|
|
|
5
5
|
readonly environmentIndexBytes: number;
|
|
6
6
|
readonly pillarDocumentBytes: number;
|
|
7
7
|
readonly boundedListItems: 50;
|
|
8
|
+
/**
|
|
9
|
+
* Row cap for the optional structured detail sections. Deliberately far below
|
|
10
|
+
* `boundedListItems`: the core lists already consume most of the projection byte budget,
|
|
11
|
+
* and a detail section is a summary, not an inventory.
|
|
12
|
+
*/
|
|
13
|
+
readonly sectionListItems: 10;
|
|
8
14
|
readonly customerStringScalars: 4096;
|
|
9
15
|
readonly safeLabelScalars: 512;
|
|
10
16
|
readonly scopeIdentifierScalars: 2048;
|
|
@@ -15,7 +21,7 @@ export declare const ENVIRONMENT_CONTRACT_LIMITS_V1: Readonly<{
|
|
|
15
21
|
}>;
|
|
16
22
|
export declare const ENVIRONMENT_PILLARS_V1: readonly ["cost", "security", "governance", "reliability", "performance", "operations"];
|
|
17
23
|
export declare const ENVIRONMENT_DOCUMENT_NAMES_V1: readonly ["projection.json", "environment-index.md", "pillars/cost.md", "pillars/security.md", "pillars/governance.md", "pillars/reliability.md", "pillars/performance.md", "pillars/operations.md"];
|
|
18
|
-
export declare const ENVIRONMENT_ARTIFACT_KINDS_V1: readonly ["subscription-summary", "subscription-resources", "subscription-recommendations", "subscription-service-retirements", "subscription-monitor-alerts", "subscription-system-tracks", "subscription-metrics", "tenant-governance", "tenant-governance-access", "tenant-reservations", "tenant-savings-plans", "tenant-applications", "tenant-service-principals"];
|
|
24
|
+
export declare const ENVIRONMENT_ARTIFACT_KINDS_V1: readonly ["subscription-summary", "subscription-resources", "subscription-recommendations", "subscription-service-retirements", "subscription-monitor-alerts", "subscription-system-tracks", "subscription-metrics", "subscription-projection", "tenant-governance", "tenant-governance-access", "tenant-reservations", "tenant-savings-plans", "tenant-applications", "tenant-service-principals"];
|
|
19
25
|
export declare const ENVIRONMENT_FINDING_KINDS_V1: readonly ["recommendation", "security-posture", "public-exposure", "governance", "compliance", "service-retirement", "data-protection", "health", "performance", "scaling", "operations", "monitoring", "topology"];
|
|
20
26
|
export declare const ENVIRONMENT_SEVERITIES_V1: readonly ["critical", "high", "medium", "low", "informational", "unknown"];
|
|
21
27
|
export declare const ENVIRONMENT_IMPACTS_V1: readonly ["high", "medium", "low", "unknown"];
|
|
@@ -63,6 +69,30 @@ export interface ParsedEnvironmentLogicalResourceReferenceV1 {
|
|
|
63
69
|
resourceId: string;
|
|
64
70
|
}
|
|
65
71
|
export type ParsedEnvironmentLogicalEvidenceReferenceV1 = ParsedEnvironmentLogicalArtifactReferenceV1 | ParsedEnvironmentLogicalResourceReferenceV1;
|
|
72
|
+
/** Whether an observed amount is billing-backed, estimated, or a blend of both. */
|
|
73
|
+
export type EnvironmentSpendSourceV1 = 'billing' | 'estimated' | 'blended';
|
|
74
|
+
export type EnvironmentSpendSourceConfidenceV1 = 'high' | 'medium' | 'low' | 'unknown';
|
|
75
|
+
/** Producer projection rule behind a savings amount. */
|
|
76
|
+
export type EnvironmentSavingsProjectionV1 = 'projected-monthly' | 'observed-period' | 'unknown';
|
|
77
|
+
/**
|
|
78
|
+
* Split of one observed amount into its billing-backed and estimated parts. Minor units
|
|
79
|
+
* keep the split exact: `billingBacked / 10 ** minorUnitScale` is the major-unit amount.
|
|
80
|
+
*/
|
|
81
|
+
export interface EnvironmentMoneyCompositionV1 {
|
|
82
|
+
billingBacked: number;
|
|
83
|
+
estimated: number;
|
|
84
|
+
minorUnitScale: number;
|
|
85
|
+
currencyCode: string;
|
|
86
|
+
}
|
|
87
|
+
/** Canonical basis a savings amount was computed on, as published by the producer. */
|
|
88
|
+
export interface EnvironmentSavingsBasisV1 {
|
|
89
|
+
projection: EnvironmentSavingsProjectionV1;
|
|
90
|
+
/** Producer observation-period label, for example `mixed_stable_and_legacy`. */
|
|
91
|
+
observedPeriod?: string;
|
|
92
|
+
/** Stable billing window the savings were computed over, `YYYY-MM-DD/YYYY-MM-DD`. */
|
|
93
|
+
stableWindow?: string;
|
|
94
|
+
containsLegacySavings?: boolean;
|
|
95
|
+
}
|
|
66
96
|
export interface EnvironmentMoneyValueV1 {
|
|
67
97
|
amount: string;
|
|
68
98
|
currencyCode: string;
|
|
@@ -70,6 +100,12 @@ export interface EnvironmentMoneyValueV1 {
|
|
|
70
100
|
period: string;
|
|
71
101
|
provenance: EnvironmentMoneyProvenanceV1;
|
|
72
102
|
savingsAdditivity?: EnvironmentSavingsAdditivityV1;
|
|
103
|
+
/** Observed money only: how the producer sourced the amount. */
|
|
104
|
+
spendSource?: EnvironmentSpendSourceV1;
|
|
105
|
+
spendSourceConfidence?: EnvironmentSpendSourceConfidenceV1;
|
|
106
|
+
composition?: EnvironmentMoneyCompositionV1;
|
|
107
|
+
/** Savings money only: the producer projection rule and window behind the amount. */
|
|
108
|
+
savingsBasis?: EnvironmentSavingsBasisV1;
|
|
73
109
|
}
|
|
74
110
|
interface EnvironmentCoverageBaseV1 {
|
|
75
111
|
observedAt?: string;
|
|
@@ -233,6 +269,122 @@ export interface EnvironmentProjectionWarningV1 {
|
|
|
233
269
|
detail?: string;
|
|
234
270
|
sourceReferences: EnvironmentLogicalEvidenceReferenceV1[];
|
|
235
271
|
}
|
|
272
|
+
/** One labelled tally used by the optional detail sections. */
|
|
273
|
+
export interface EnvironmentLabeledCountV1 {
|
|
274
|
+
key: string;
|
|
275
|
+
safeLabel: string;
|
|
276
|
+
count: number;
|
|
277
|
+
}
|
|
278
|
+
/** One named subject a detail section points at, with an optional canonical reference. */
|
|
279
|
+
export interface EnvironmentSubjectReferenceV1 {
|
|
280
|
+
key: string;
|
|
281
|
+
safeLabel: string;
|
|
282
|
+
detail?: string;
|
|
283
|
+
resourceReference?: EnvironmentLogicalResourceReferenceV1;
|
|
284
|
+
}
|
|
285
|
+
export interface EnvironmentCommitmentPurchaseOptionV1 {
|
|
286
|
+
key: string;
|
|
287
|
+
safeLabel: string;
|
|
288
|
+
termMonths?: number;
|
|
289
|
+
estimatedMonthlySavings?: EnvironmentMoneyValueV1;
|
|
290
|
+
}
|
|
291
|
+
export interface EnvironmentCommitmentCoverageRowV1 {
|
|
292
|
+
key: string;
|
|
293
|
+
safeLabel: string;
|
|
294
|
+
detail?: string;
|
|
295
|
+
benefitLabels: string[];
|
|
296
|
+
resourceReference?: EnvironmentLogicalResourceReferenceV1;
|
|
297
|
+
}
|
|
298
|
+
/** Reservation and savings-plan utilisation, expiry, purchase and coverage evidence. */
|
|
299
|
+
export interface EnvironmentCommitmentsSectionV1 {
|
|
300
|
+
coverage: EnvironmentCoverageStateV1;
|
|
301
|
+
benefitCount?: number;
|
|
302
|
+
utilizationPercent30Day?: string;
|
|
303
|
+
utilizationPercent7Day?: string;
|
|
304
|
+
expiredCount?: number;
|
|
305
|
+
expiring90DayCount?: number;
|
|
306
|
+
expiring180DayCount?: number;
|
|
307
|
+
purchaseOptions: EnvironmentBoundedListV1<EnvironmentCommitmentPurchaseOptionV1>;
|
|
308
|
+
benefitCoverage: EnvironmentBoundedListV1<EnvironmentCommitmentCoverageRowV1>;
|
|
309
|
+
sourceReferences: EnvironmentLogicalEvidenceReferenceV1[];
|
|
310
|
+
}
|
|
311
|
+
export interface EnvironmentBudgetV1 {
|
|
312
|
+
key: string;
|
|
313
|
+
safeLabel: string;
|
|
314
|
+
period?: string;
|
|
315
|
+
amount?: EnvironmentMoneyValueV1;
|
|
316
|
+
currentSpend?: EnvironmentMoneyValueV1;
|
|
317
|
+
forecastSpend?: EnvironmentMoneyValueV1;
|
|
318
|
+
consumedPercent?: string;
|
|
319
|
+
}
|
|
320
|
+
export interface EnvironmentBudgetSectionV1 {
|
|
321
|
+
coverage: EnvironmentCoverageStateV1;
|
|
322
|
+
budgets: EnvironmentBoundedListV1<EnvironmentBudgetV1>;
|
|
323
|
+
sourceReferences: EnvironmentLogicalEvidenceReferenceV1[];
|
|
324
|
+
}
|
|
325
|
+
/** Orphaned or idle resources named as their own finding class. */
|
|
326
|
+
export interface EnvironmentIdleResourceSectionV1 {
|
|
327
|
+
coverage: EnvironmentCoverageStateV1;
|
|
328
|
+
recommendationCount: number;
|
|
329
|
+
resourceCount: number;
|
|
330
|
+
monthlyWaste?: EnvironmentMoneyValueV1;
|
|
331
|
+
subjects: EnvironmentBoundedListV1<EnvironmentSubjectReferenceV1>;
|
|
332
|
+
sourceReferences: EnvironmentLogicalEvidenceReferenceV1[];
|
|
333
|
+
}
|
|
334
|
+
export interface EnvironmentPublicIpExposureSectionV1 {
|
|
335
|
+
coverage: EnvironmentCoverageStateV1;
|
|
336
|
+
totalCount: number;
|
|
337
|
+
assignedCount?: number;
|
|
338
|
+
unassignedCount?: number;
|
|
339
|
+
basicSkuCount?: number;
|
|
340
|
+
httpsExposedCount?: number;
|
|
341
|
+
rdpExposedCount?: number;
|
|
342
|
+
sshExposedCount?: number;
|
|
343
|
+
exposedSubjects: EnvironmentBoundedListV1<EnvironmentSubjectReferenceV1>;
|
|
344
|
+
remediationOptions: EnvironmentBoundedListV1<EnvironmentLabeledCountV1>;
|
|
345
|
+
sourceReferences: EnvironmentLogicalEvidenceReferenceV1[];
|
|
346
|
+
}
|
|
347
|
+
/** Key Vault metadata inspection coverage, including an authorization gap. */
|
|
348
|
+
export interface EnvironmentSecretStoreCoverageSectionV1 {
|
|
349
|
+
coverage: EnvironmentCoverageStateV1;
|
|
350
|
+
vaultCount: number;
|
|
351
|
+
inspectedVaultCount: number;
|
|
352
|
+
reasons: EnvironmentBoundedListV1<EnvironmentLabeledCountV1>;
|
|
353
|
+
sourceReferences: EnvironmentLogicalEvidenceReferenceV1[];
|
|
354
|
+
}
|
|
355
|
+
export interface EnvironmentTagCoverageSectionV1 {
|
|
356
|
+
coverage: EnvironmentCoverageStateV1;
|
|
357
|
+
resourceCount: number;
|
|
358
|
+
taggedResourceCount: number;
|
|
359
|
+
untaggedResourceCount: number;
|
|
360
|
+
distinctTagKeyCount: number;
|
|
361
|
+
topTagKeys: EnvironmentBoundedListV1<EnvironmentLabeledCountV1>;
|
|
362
|
+
sourceReferences: EnvironmentLogicalEvidenceReferenceV1[];
|
|
363
|
+
}
|
|
364
|
+
export interface EnvironmentChangeSignalSectionV1 {
|
|
365
|
+
coverage: EnvironmentCoverageStateV1;
|
|
366
|
+
windowDays: number;
|
|
367
|
+
changeCount: number;
|
|
368
|
+
materialChangeCount?: number;
|
|
369
|
+
securityRelevantCount?: number;
|
|
370
|
+
topOperations: EnvironmentBoundedListV1<EnvironmentLabeledCountV1>;
|
|
371
|
+
sourceReferences: EnvironmentLogicalEvidenceReferenceV1[];
|
|
372
|
+
}
|
|
373
|
+
export interface EnvironmentHealthEventV1 {
|
|
374
|
+
key: string;
|
|
375
|
+
safeLabel: string;
|
|
376
|
+
severity: EnvironmentSeverityV1;
|
|
377
|
+
eventType?: string;
|
|
378
|
+
startedAt?: string;
|
|
379
|
+
}
|
|
380
|
+
export interface EnvironmentHealthEventSectionV1 {
|
|
381
|
+
coverage: EnvironmentCoverageStateV1;
|
|
382
|
+
totalCount: number;
|
|
383
|
+
activeCount: number;
|
|
384
|
+
resolvedCount: number;
|
|
385
|
+
activeEvents: EnvironmentBoundedListV1<EnvironmentHealthEventV1>;
|
|
386
|
+
sourceReferences: EnvironmentLogicalEvidenceReferenceV1[];
|
|
387
|
+
}
|
|
236
388
|
export interface EnvironmentSubscriptionProjectionV1 {
|
|
237
389
|
schemaVersion: 1;
|
|
238
390
|
scope: EnvironmentScopeV1;
|
|
@@ -250,6 +402,19 @@ export interface EnvironmentSubscriptionProjectionV1 {
|
|
|
250
402
|
recommendations: EnvironmentBoundedListV1<EnvironmentRecommendationV1>;
|
|
251
403
|
changes: EnvironmentBoundedListV1<EnvironmentChangeV1>;
|
|
252
404
|
warnings: EnvironmentBoundedListV1<EnvironmentProjectionWarningV1>;
|
|
405
|
+
/**
|
|
406
|
+
* Optional structured detail sections. Each is present only when the compiler admitted
|
|
407
|
+
* the source that carries it, and each states its own coverage so a consumer never reads
|
|
408
|
+
* an absent section as an empty estate.
|
|
409
|
+
*/
|
|
410
|
+
commitments?: EnvironmentCommitmentsSectionV1;
|
|
411
|
+
budgets?: EnvironmentBudgetSectionV1;
|
|
412
|
+
idleResources?: EnvironmentIdleResourceSectionV1;
|
|
413
|
+
publicIpExposure?: EnvironmentPublicIpExposureSectionV1;
|
|
414
|
+
secretStoreCoverage?: EnvironmentSecretStoreCoverageSectionV1;
|
|
415
|
+
tagCoverage?: EnvironmentTagCoverageSectionV1;
|
|
416
|
+
changeSignals?: EnvironmentChangeSignalSectionV1;
|
|
417
|
+
healthEvents?: EnvironmentHealthEventSectionV1;
|
|
253
418
|
sourceReferences: EnvironmentLogicalEvidenceReferenceV1[];
|
|
254
419
|
}
|
|
255
420
|
export type EnvironmentDocumentDescriptorV1 = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/environment/contracts.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/environment/contracts.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,12 @@ exports.ENVIRONMENT_CONTRACT_LIMITS_V1 = Object.freeze({
|
|
|
8
8
|
environmentIndexBytes: 8 * 1024,
|
|
9
9
|
pillarDocumentBytes: 8 * 1024,
|
|
10
10
|
boundedListItems: 50,
|
|
11
|
+
/**
|
|
12
|
+
* Row cap for the optional structured detail sections. Deliberately far below
|
|
13
|
+
* `boundedListItems`: the core lists already consume most of the projection byte budget,
|
|
14
|
+
* and a detail section is a summary, not an inventory.
|
|
15
|
+
*/
|
|
16
|
+
sectionListItems: 10,
|
|
11
17
|
customerStringScalars: 4096,
|
|
12
18
|
safeLabelScalars: 512,
|
|
13
19
|
scopeIdentifierScalars: 2048,
|
|
@@ -35,6 +41,9 @@ exports.ENVIRONMENT_ARTIFACT_KINDS_V1 = [
|
|
|
35
41
|
'subscription-monitor-alerts',
|
|
36
42
|
'subscription-system-tracks',
|
|
37
43
|
'subscription-metrics',
|
|
44
|
+
// API-issued evidence kind: a bounded projection of one compiled `projection.json` detail section
|
|
45
|
+
// (commitments, budgets, idle resources, ...). Never emitted by the compiler as a source reference.
|
|
46
|
+
'subscription-projection',
|
|
38
47
|
'tenant-governance',
|
|
39
48
|
'tenant-governance-access',
|
|
40
49
|
'tenant-reservations',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../src/environment/contracts.ts"],"names":[],"mappings":";;;AAAA,8FAA8F;AACjF,QAAA,8BAA8B,GAAG,MAAM,CAAC,MAAM,CAAC;IAC1D,qBAAqB,EAAE,EAAE,GAAG,IAAI;IAChC,eAAe,EAAE,GAAG,GAAG,IAAI;IAC3B,qBAAqB,EAAE,CAAC,GAAG,IAAI;IAC/B,mBAAmB,EAAE,CAAC,GAAG,IAAI;IAC7B,gBAAgB,EAAE,EAAE;IACpB,qBAAqB,EAAE,IAAI;IAC3B,gBAAgB,EAAE,GAAG;IACrB,sBAAsB,EAAE,IAAI;IAC5B,+BAA+B,EAAE,GAAG;IACpC,qBAAqB,EAAE,GAAG;IAC1B,4BAA4B,EAAE,CAAC,GAAG,IAAI;IACtC,uBAAuB,EAAE,EAAE;CACnB,CAAC,CAAC;AAEC,QAAA,sBAAsB,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,CAAU,CAAC;AAEjH,QAAA,6BAA6B,GAAG;IAC3C,iBAAiB;IACjB,sBAAsB;IACtB,iBAAiB;IACjB,qBAAqB;IACrB,uBAAuB;IACvB,wBAAwB;IACxB,wBAAwB;IACxB,uBAAuB;CACf,CAAC;AAEE,QAAA,6BAA6B,GAAG;IAC3C,sBAAsB;IACtB,wBAAwB;IACxB,8BAA8B;IAC9B,kCAAkC;IAClC,6BAA6B;IAC7B,4BAA4B;IAC5B,sBAAsB;IACtB,mBAAmB;IACnB,0BAA0B;IAC1B,qBAAqB;IACrB,sBAAsB;IACtB,qBAAqB;IACrB,2BAA2B;CACnB,CAAC;AAEE,QAAA,4BAA4B,GAAG;IAC1C,gBAAgB;IAChB,kBAAkB;IAClB,iBAAiB;IACjB,YAAY;IACZ,YAAY;IACZ,oBAAoB;IACpB,iBAAiB;IACjB,QAAQ;IACR,aAAa;IACb,SAAS;IACT,YAAY;IACZ,YAAY;IACZ,UAAU;CACF,CAAC;AAEE,QAAA,yBAAyB,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAe,EAAE,SAAS,CAAU,CAAC;AACvG,QAAA,sBAAsB,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAU,CAAC;AACvE,QAAA,sBAAsB,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../src/environment/contracts.ts"],"names":[],"mappings":";;;AAAA,8FAA8F;AACjF,QAAA,8BAA8B,GAAG,MAAM,CAAC,MAAM,CAAC;IAC1D,qBAAqB,EAAE,EAAE,GAAG,IAAI;IAChC,eAAe,EAAE,GAAG,GAAG,IAAI;IAC3B,qBAAqB,EAAE,CAAC,GAAG,IAAI;IAC/B,mBAAmB,EAAE,CAAC,GAAG,IAAI;IAC7B,gBAAgB,EAAE,EAAE;IACpB;;;;OAIG;IACH,gBAAgB,EAAE,EAAE;IACpB,qBAAqB,EAAE,IAAI;IAC3B,gBAAgB,EAAE,GAAG;IACrB,sBAAsB,EAAE,IAAI;IAC5B,+BAA+B,EAAE,GAAG;IACpC,qBAAqB,EAAE,GAAG;IAC1B,4BAA4B,EAAE,CAAC,GAAG,IAAI;IACtC,uBAAuB,EAAE,EAAE;CACnB,CAAC,CAAC;AAEC,QAAA,sBAAsB,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,CAAU,CAAC;AAEjH,QAAA,6BAA6B,GAAG;IAC3C,iBAAiB;IACjB,sBAAsB;IACtB,iBAAiB;IACjB,qBAAqB;IACrB,uBAAuB;IACvB,wBAAwB;IACxB,wBAAwB;IACxB,uBAAuB;CACf,CAAC;AAEE,QAAA,6BAA6B,GAAG;IAC3C,sBAAsB;IACtB,wBAAwB;IACxB,8BAA8B;IAC9B,kCAAkC;IAClC,6BAA6B;IAC7B,4BAA4B;IAC5B,sBAAsB;IACtB,kGAAkG;IAClG,oGAAoG;IACpG,yBAAyB;IACzB,mBAAmB;IACnB,0BAA0B;IAC1B,qBAAqB;IACrB,sBAAsB;IACtB,qBAAqB;IACrB,2BAA2B;CACnB,CAAC;AAEE,QAAA,4BAA4B,GAAG;IAC1C,gBAAgB;IAChB,kBAAkB;IAClB,iBAAiB;IACjB,YAAY;IACZ,YAAY;IACZ,oBAAoB;IACpB,iBAAiB;IACjB,QAAQ;IACR,aAAa;IACb,SAAS;IACT,YAAY;IACZ,YAAY;IACZ,UAAU;CACF,CAAC;AAEE,QAAA,yBAAyB,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAe,EAAE,SAAS,CAAU,CAAC;AACvG,QAAA,sBAAsB,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAU,CAAC;AACvE,QAAA,sBAAsB,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAU,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type EnvironmentArtifactKindV1, type EnvironmentCardinalityV1, type EnvironmentCompiledGenerationPointerV1, type EnvironmentCoverageStateV1, type EnvironmentDocumentDescriptorV1, type EnvironmentMoneyValueV1, type EnvironmentPillarV1, type EnvironmentScopeV1, type EnvironmentSourceBindingV1, type EnvironmentSourceGenerationV1, type EnvironmentSubscriptionProjectionV1 } from './contracts.js';
|
|
1
|
+
import { type EnvironmentArtifactKindV1, type EnvironmentCardinalityV1, type EnvironmentCompiledGenerationPointerV1, type EnvironmentCoverageStateV1, type EnvironmentDocumentDescriptorV1, type EnvironmentMoneyValueV1, type EnvironmentSavingsBasisV1, type EnvironmentPillarV1, type EnvironmentScopeV1, type EnvironmentSourceBindingV1, type EnvironmentSourceGenerationV1, type EnvironmentSubscriptionProjectionV1 } from './contracts.js';
|
|
2
2
|
/** Validates a bounded, local Portal route suitable for client-visible evidence. */
|
|
3
3
|
export declare const isEnvironmentPortalRouteV1: (value: unknown) => value is string;
|
|
4
4
|
/** Validates one admitted environment pillar. */
|
|
@@ -11,6 +11,8 @@ export declare const isEnvironmentSourceGenerationV1: (value: unknown) => value
|
|
|
11
11
|
export declare const isEnvironmentSourceBindingV1: (value: unknown) => value is EnvironmentSourceBindingV1;
|
|
12
12
|
/** Validates a storage-safe environment run identity independently from source identities. */
|
|
13
13
|
export declare const isEnvironmentRunIdV1: (value: unknown) => value is string;
|
|
14
|
+
/** Validates the producer projection rule and window behind a savings amount. */
|
|
15
|
+
export declare const isEnvironmentSavingsBasisV1: (value: unknown) => value is EnvironmentSavingsBasisV1;
|
|
14
16
|
/** Validates canonical decimal money with explicit currency, basis, period, and provenance. */
|
|
15
17
|
export declare const isEnvironmentMoneyValueV1: (value: unknown) => value is EnvironmentMoneyValueV1;
|
|
16
18
|
/** Validates the closed coverage-state union and state-specific freshness rules. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/environment/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EASL,KAAK,yBAAyB,
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/environment/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EASL,KAAK,yBAAyB,EAI9B,KAAK,wBAAwB,EAM7B,KAAK,sCAAsC,EAG3C,KAAK,0BAA0B,EAC/B,KAAK,+BAA+B,EAOpC,KAAK,uBAAuB,EAE5B,KAAK,yBAAyB,EAM9B,KAAK,mBAAmB,EAGxB,KAAK,kBAAkB,EACvB,KAAK,0BAA0B,EAC/B,KAAK,6BAA6B,EAClC,KAAK,mCAAmC,EACzC,MAAM,gBAAgB,CAAC;AAkDxB,oFAAoF;AACpF,eAAO,MAAM,0BAA0B,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,MASG,CAAC;AA8CzE,iDAAiD;AACjD,eAAO,MAAM,qBAAqB,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,mBAAsE,CAAC;AAEvI,+DAA+D;AAC/D,eAAO,MAAM,oBAAoB,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,kBAMtB,CAAC;AAE1C,iFAAiF;AACjF,eAAO,MAAM,+BAA+B,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,6BAiB9B,CAAC;AAE7C,uFAAuF;AACvF,eAAO,MAAM,4BAA4B,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,0BAwBnE,CAAC;AAEL,8FAA8F;AAC9F,eAAO,MAAM,oBAAoB,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,MAMvB,CAAC;AAazC,iFAAiF;AACjF,eAAO,MAAM,2BAA2B,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,yBAO2B,CAAC;AAElG,+FAA+F;AAC/F,eAAO,MAAM,yBAAyB,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,uBAqByE,CAAC;AAW9I,oFAAoF;AACpF,eAAO,MAAM,4BAA4B,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,0BA+BtE,CAAC;AAyCF,6FAA6F;AAC7F,eAAO,MAAM,0BAA0B,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,wBAYpE,CAAC;AA8RF,sFAAsF;AACtF,eAAO,MAAM,qCAAqC,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,mCA4D/E,CAAC;AAQF,kFAAkF;AAClF,eAAO,MAAM,iCAAiC,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,+BAa3E,CAAC;AAEF,qFAAqF;AACrF,eAAO,MAAM,oCAAoC,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,+BAA+B,EAKb,CAAC;AAElG,gFAAgF;AAChF,eAAO,MAAM,wCAAwC,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,sCA6BlF,CAAC;AAEF,uEAAuE;AACvE,eAAO,MAAM,2BAA2B,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,yBACd,CAAC;AAEzD,oFAAoF;AACpF,eAAO,MAAM,wBAAwB,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,MAA4B,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isEnvironmentSafeLabelV1 = exports.isEnvironmentArtifactKindV1 = exports.isEnvironmentCompiledGenerationPointerV1 = exports.isEnvironmentDocumentDescriptorSetV1 = exports.isEnvironmentDocumentDescriptorV1 = exports.isEnvironmentSubscriptionProjectionV1 = exports.isEnvironmentCardinalityV1 = exports.isEnvironmentCoverageStateV1 = exports.isEnvironmentMoneyValueV1 = exports.isEnvironmentRunIdV1 = exports.isEnvironmentSourceBindingV1 = exports.isEnvironmentSourceGenerationV1 = exports.isEnvironmentScopeV1 = exports.isEnvironmentPillarV1 = exports.isEnvironmentPortalRouteV1 = void 0;
|
|
3
|
+
exports.isEnvironmentSafeLabelV1 = exports.isEnvironmentArtifactKindV1 = exports.isEnvironmentCompiledGenerationPointerV1 = exports.isEnvironmentDocumentDescriptorSetV1 = exports.isEnvironmentDocumentDescriptorV1 = exports.isEnvironmentSubscriptionProjectionV1 = exports.isEnvironmentCardinalityV1 = exports.isEnvironmentCoverageStateV1 = exports.isEnvironmentMoneyValueV1 = exports.isEnvironmentSavingsBasisV1 = exports.isEnvironmentRunIdV1 = exports.isEnvironmentSourceBindingV1 = exports.isEnvironmentSourceGenerationV1 = exports.isEnvironmentScopeV1 = exports.isEnvironmentPillarV1 = exports.isEnvironmentPortalRouteV1 = void 0;
|
|
4
4
|
const contracts_js_1 = require("./contracts.js");
|
|
5
5
|
const internal_js_1 = require("./internal.js");
|
|
6
6
|
const references_js_1 = require("./references.js");
|
|
@@ -20,6 +20,10 @@ const MONEY_PROVENANCE = new Set([
|
|
|
20
20
|
'recommendation',
|
|
21
21
|
]);
|
|
22
22
|
const SAVINGS_ADDITIVITY = new Set(['additive', 'scenario-non-additive']);
|
|
23
|
+
const SPEND_SOURCES = new Set(['billing', 'estimated', 'blended']);
|
|
24
|
+
const SPEND_SOURCE_CONFIDENCES = new Set(['high', 'medium', 'low', 'unknown']);
|
|
25
|
+
const SAVINGS_PROJECTIONS = new Set(['projected-monthly', 'observed-period', 'unknown']);
|
|
26
|
+
const DATE_WINDOW_PATTERN = /^\d{4}-\d{2}-\d{2}\/\d{4}-\d{2}-\d{2}$/u;
|
|
23
27
|
const CHANGE_DIRECTIONS = new Set(['increase', 'decrease', 'unchanged', 'unknown']);
|
|
24
28
|
const scopesEqual = (left, right) => left.kind === right.kind && left.tenantId === right.tenantId && left.companyId === right.companyId && left.subscriptionId === right.subscriptionId;
|
|
25
29
|
/** Validates a bounded, local Portal route suitable for client-visible evidence. */
|
|
@@ -124,9 +128,32 @@ const isEnvironmentRunIdV1 = (value) => typeof value === 'string' &&
|
|
|
124
128
|
value !== '..' &&
|
|
125
129
|
internal_js_1.ENVIRONMENT_RUN_ID_PATTERN.test(value);
|
|
126
130
|
exports.isEnvironmentRunIdV1 = isEnvironmentRunIdV1;
|
|
131
|
+
const isMoneyComposition = (value, currencyCode) => (0, internal_js_1.isRecord)(value) &&
|
|
132
|
+
(0, internal_js_1.hasExactKeys)(value, ['billingBacked', 'estimated', 'minorUnitScale', 'currencyCode']) &&
|
|
133
|
+
(0, internal_js_1.isNonNegativeInteger)(value.billingBacked) &&
|
|
134
|
+
(0, internal_js_1.isNonNegativeInteger)(value.estimated) &&
|
|
135
|
+
(0, internal_js_1.isNonNegativeInteger)(value.minorUnitScale) &&
|
|
136
|
+
value.minorUnitScale <= 6 &&
|
|
137
|
+
typeof value.currencyCode === 'string' &&
|
|
138
|
+
(value.currencyCode === 'unknown' || internal_js_1.CURRENCY_PATTERN.test(value.currencyCode)) &&
|
|
139
|
+
value.currencyCode === currencyCode;
|
|
140
|
+
/** Validates the producer projection rule and window behind a savings amount. */
|
|
141
|
+
const isEnvironmentSavingsBasisV1 = (value) => (0, internal_js_1.isRecord)(value) &&
|
|
142
|
+
(0, internal_js_1.hasExactKeys)(value, ['projection'], ['observedPeriod', 'stableWindow', 'containsLegacySavings']) &&
|
|
143
|
+
typeof value.projection === 'string' &&
|
|
144
|
+
SAVINGS_PROJECTIONS.has(value.projection) &&
|
|
145
|
+
(value.observedPeriod === undefined || (0, internal_js_1.isSafeLabel)(value.observedPeriod)) &&
|
|
146
|
+
(value.stableWindow === undefined || (typeof value.stableWindow === 'string' && DATE_WINDOW_PATTERN.test(value.stableWindow))) &&
|
|
147
|
+
(value.containsLegacySavings === undefined || typeof value.containsLegacySavings === 'boolean');
|
|
148
|
+
exports.isEnvironmentSavingsBasisV1 = isEnvironmentSavingsBasisV1;
|
|
127
149
|
/** Validates canonical decimal money with explicit currency, basis, period, and provenance. */
|
|
128
150
|
const isEnvironmentMoneyValueV1 = (value) => (0, internal_js_1.isRecord)(value) &&
|
|
129
|
-
(0, internal_js_1.hasExactKeys)(value, ['amount', 'currencyCode', 'basis', 'period', 'provenance'], ['savingsAdditivity']) &&
|
|
151
|
+
(0, internal_js_1.hasExactKeys)(value, ['amount', 'currencyCode', 'basis', 'period', 'provenance'], ['savingsAdditivity', 'spendSource', 'spendSourceConfidence', 'composition', 'savingsBasis']) &&
|
|
152
|
+
(value.spendSource === undefined || (typeof value.spendSource === 'string' && SPEND_SOURCES.has(value.spendSource))) &&
|
|
153
|
+
(value.spendSourceConfidence === undefined ||
|
|
154
|
+
(typeof value.spendSourceConfidence === 'string' && SPEND_SOURCE_CONFIDENCES.has(value.spendSourceConfidence))) &&
|
|
155
|
+
(value.composition === undefined || isMoneyComposition(value.composition, value.currencyCode)) &&
|
|
156
|
+
(value.savingsBasis === undefined || (0, exports.isEnvironmentSavingsBasisV1)(value.savingsBasis)) &&
|
|
130
157
|
typeof value.amount === 'string' &&
|
|
131
158
|
internal_js_1.DECIMAL_PATTERN.test(value.amount) &&
|
|
132
159
|
typeof value.currencyCode === 'string' &&
|
|
@@ -138,8 +165,11 @@ const isEnvironmentMoneyValueV1 = (value) => (0, internal_js_1.isRecord)(value)
|
|
|
138
165
|
MONEY_PROVENANCE.has(value.provenance) &&
|
|
139
166
|
(value.savingsAdditivity === undefined || (typeof value.savingsAdditivity === 'string' && SAVINGS_ADDITIVITY.has(value.savingsAdditivity)));
|
|
140
167
|
exports.isEnvironmentMoneyValueV1 = isEnvironmentMoneyValueV1;
|
|
141
|
-
const isObservedMoney = (value) => (0, exports.isEnvironmentMoneyValueV1)(value) && value.savingsAdditivity === undefined;
|
|
142
|
-
const isSavingsMoney = (value) => (0, exports.isEnvironmentMoneyValueV1)(value) &&
|
|
168
|
+
const isObservedMoney = (value) => (0, exports.isEnvironmentMoneyValueV1)(value) && value.savingsAdditivity === undefined && value.savingsBasis === undefined;
|
|
169
|
+
const isSavingsMoney = (value) => (0, exports.isEnvironmentMoneyValueV1)(value) &&
|
|
170
|
+
value.savingsAdditivity !== undefined &&
|
|
171
|
+
value.spendSource === undefined &&
|
|
172
|
+
value.composition === undefined;
|
|
143
173
|
/** Validates the closed coverage-state union and state-specific freshness rules. */
|
|
144
174
|
const isEnvironmentCoverageStateV1 = (value) => {
|
|
145
175
|
if (!(0, internal_js_1.isRecord)(value) || typeof value.status !== 'string')
|
|
@@ -310,6 +340,127 @@ const isCostSummary = (value) => (0, internal_js_1.isRecord)(value) &&
|
|
|
310
340
|
(value.observedCost === undefined || isObservedMoney(value.observedCost)) &&
|
|
311
341
|
(value.potentialSavings === undefined || isSavingsMoney(value.potentialSavings)) &&
|
|
312
342
|
(value.costRecommendationCount === undefined || (0, internal_js_1.isNonNegativeInteger)(value.costRecommendationCount));
|
|
343
|
+
const SECTION_ITEMS = contracts_js_1.ENVIRONMENT_CONTRACT_LIMITS_V1.sectionListItems;
|
|
344
|
+
const isSectionList = (value, itemValidator) => isBoundedList(value, itemValidator) && value.items.length <= SECTION_ITEMS;
|
|
345
|
+
const isSectionCount = (value) => value === undefined || (0, internal_js_1.isNonNegativeInteger)(value);
|
|
346
|
+
const isLabeledCount = (value) => (0, internal_js_1.isRecord)(value) &&
|
|
347
|
+
(0, internal_js_1.hasExactKeys)(value, ['key', 'safeLabel', 'count']) &&
|
|
348
|
+
isGeneralKey(value.key) &&
|
|
349
|
+
(0, internal_js_1.isSafeLabel)(value.safeLabel) &&
|
|
350
|
+
(0, internal_js_1.isNonNegativeInteger)(value.count);
|
|
351
|
+
const isSubjectReference = (value) => (0, internal_js_1.isRecord)(value) &&
|
|
352
|
+
(0, internal_js_1.hasExactKeys)(value, ['key', 'safeLabel'], ['detail', 'resourceReference']) &&
|
|
353
|
+
isGeneralKey(value.key) &&
|
|
354
|
+
(0, internal_js_1.isSafeLabel)(value.safeLabel) &&
|
|
355
|
+
(value.detail === undefined || (0, internal_js_1.isCustomerString)(value.detail)) &&
|
|
356
|
+
(value.resourceReference === undefined || (0, references_js_1.isEnvironmentLogicalResourceReferenceV1)(value.resourceReference));
|
|
357
|
+
const isCommitmentPurchaseOption = (value) => (0, internal_js_1.isRecord)(value) &&
|
|
358
|
+
(0, internal_js_1.hasExactKeys)(value, ['key', 'safeLabel'], ['termMonths', 'estimatedMonthlySavings']) &&
|
|
359
|
+
isGeneralKey(value.key) &&
|
|
360
|
+
(0, internal_js_1.isSafeLabel)(value.safeLabel) &&
|
|
361
|
+
isSectionCount(value.termMonths) &&
|
|
362
|
+
(value.estimatedMonthlySavings === undefined || isSavingsMoney(value.estimatedMonthlySavings));
|
|
363
|
+
const isCommitmentCoverageRow = (value) => (0, internal_js_1.isRecord)(value) &&
|
|
364
|
+
(0, internal_js_1.hasExactKeys)(value, ['key', 'safeLabel', 'benefitLabels'], ['detail', 'resourceReference']) &&
|
|
365
|
+
isGeneralKey(value.key) &&
|
|
366
|
+
(0, internal_js_1.isSafeLabel)(value.safeLabel) &&
|
|
367
|
+
Array.isArray(value.benefitLabels) &&
|
|
368
|
+
value.benefitLabels.length <= SECTION_ITEMS &&
|
|
369
|
+
value.benefitLabels.every(internal_js_1.isSafeLabel) &&
|
|
370
|
+
(value.detail === undefined || (0, internal_js_1.isCustomerString)(value.detail)) &&
|
|
371
|
+
(value.resourceReference === undefined || (0, references_js_1.isEnvironmentLogicalResourceReferenceV1)(value.resourceReference));
|
|
372
|
+
const isCommitmentsSection = (value) => (0, internal_js_1.isRecord)(value) &&
|
|
373
|
+
(0, internal_js_1.hasExactKeys)(value, ['coverage', 'purchaseOptions', 'benefitCoverage', 'sourceReferences'], ['benefitCount', 'utilizationPercent30Day', 'utilizationPercent7Day', 'expiredCount', 'expiring90DayCount', 'expiring180DayCount']) &&
|
|
374
|
+
(0, exports.isEnvironmentCoverageStateV1)(value.coverage) &&
|
|
375
|
+
isSectionCount(value.benefitCount) &&
|
|
376
|
+
(value.utilizationPercent30Day === undefined || isPercentage(value.utilizationPercent30Day)) &&
|
|
377
|
+
(value.utilizationPercent7Day === undefined || isPercentage(value.utilizationPercent7Day)) &&
|
|
378
|
+
isSectionCount(value.expiredCount) &&
|
|
379
|
+
isSectionCount(value.expiring90DayCount) &&
|
|
380
|
+
isSectionCount(value.expiring180DayCount) &&
|
|
381
|
+
isSectionList(value.purchaseOptions, isCommitmentPurchaseOption) &&
|
|
382
|
+
isSectionList(value.benefitCoverage, isCommitmentCoverageRow) &&
|
|
383
|
+
isReferenceArray(value.sourceReferences);
|
|
384
|
+
const isBudget = (value) => (0, internal_js_1.isRecord)(value) &&
|
|
385
|
+
(0, internal_js_1.hasExactKeys)(value, ['key', 'safeLabel'], ['period', 'amount', 'currentSpend', 'forecastSpend', 'consumedPercent']) &&
|
|
386
|
+
isGeneralKey(value.key) &&
|
|
387
|
+
(0, internal_js_1.isSafeLabel)(value.safeLabel) &&
|
|
388
|
+
(value.period === undefined || (0, internal_js_1.isSafeLabel)(value.period)) &&
|
|
389
|
+
(value.amount === undefined || isObservedMoney(value.amount)) &&
|
|
390
|
+
(value.currentSpend === undefined || isObservedMoney(value.currentSpend)) &&
|
|
391
|
+
(value.forecastSpend === undefined || isObservedMoney(value.forecastSpend)) &&
|
|
392
|
+
(value.consumedPercent === undefined || (typeof value.consumedPercent === 'string' && internal_js_1.DECIMAL_PATTERN.test(value.consumedPercent)));
|
|
393
|
+
const isBudgetSection = (value) => (0, internal_js_1.isRecord)(value) &&
|
|
394
|
+
(0, internal_js_1.hasExactKeys)(value, ['coverage', 'budgets', 'sourceReferences']) &&
|
|
395
|
+
(0, exports.isEnvironmentCoverageStateV1)(value.coverage) &&
|
|
396
|
+
isSectionList(value.budgets, isBudget) &&
|
|
397
|
+
isReferenceArray(value.sourceReferences);
|
|
398
|
+
const isIdleResourceSection = (value) => (0, internal_js_1.isRecord)(value) &&
|
|
399
|
+
(0, internal_js_1.hasExactKeys)(value, ['coverage', 'recommendationCount', 'resourceCount', 'subjects', 'sourceReferences'], ['monthlyWaste']) &&
|
|
400
|
+
(0, exports.isEnvironmentCoverageStateV1)(value.coverage) &&
|
|
401
|
+
(0, internal_js_1.isNonNegativeInteger)(value.recommendationCount) &&
|
|
402
|
+
(0, internal_js_1.isNonNegativeInteger)(value.resourceCount) &&
|
|
403
|
+
(value.monthlyWaste === undefined || isSavingsMoney(value.monthlyWaste)) &&
|
|
404
|
+
isSectionList(value.subjects, isSubjectReference) &&
|
|
405
|
+
isReferenceArray(value.sourceReferences);
|
|
406
|
+
const isPublicIpExposureSection = (value) => (0, internal_js_1.isRecord)(value) &&
|
|
407
|
+
(0, internal_js_1.hasExactKeys)(value, ['coverage', 'totalCount', 'exposedSubjects', 'remediationOptions', 'sourceReferences'], ['assignedCount', 'unassignedCount', 'basicSkuCount', 'httpsExposedCount', 'rdpExposedCount', 'sshExposedCount']) &&
|
|
408
|
+
(0, exports.isEnvironmentCoverageStateV1)(value.coverage) &&
|
|
409
|
+
(0, internal_js_1.isNonNegativeInteger)(value.totalCount) &&
|
|
410
|
+
[value.assignedCount, value.unassignedCount, value.basicSkuCount, value.httpsExposedCount, value.rdpExposedCount, value.sshExposedCount].every(isSectionCount) &&
|
|
411
|
+
isSectionList(value.exposedSubjects, isSubjectReference) &&
|
|
412
|
+
isSectionList(value.remediationOptions, isLabeledCount) &&
|
|
413
|
+
isReferenceArray(value.sourceReferences);
|
|
414
|
+
const isSecretStoreCoverageSection = (value) => (0, internal_js_1.isRecord)(value) &&
|
|
415
|
+
(0, internal_js_1.hasExactKeys)(value, ['coverage', 'vaultCount', 'inspectedVaultCount', 'reasons', 'sourceReferences']) &&
|
|
416
|
+
(0, exports.isEnvironmentCoverageStateV1)(value.coverage) &&
|
|
417
|
+
(0, internal_js_1.isNonNegativeInteger)(value.vaultCount) &&
|
|
418
|
+
(0, internal_js_1.isNonNegativeInteger)(value.inspectedVaultCount) &&
|
|
419
|
+
isSectionList(value.reasons, isLabeledCount) &&
|
|
420
|
+
isReferenceArray(value.sourceReferences);
|
|
421
|
+
const isTagCoverageSection = (value) => (0, internal_js_1.isRecord)(value) &&
|
|
422
|
+
(0, internal_js_1.hasExactKeys)(value, [
|
|
423
|
+
'coverage',
|
|
424
|
+
'resourceCount',
|
|
425
|
+
'taggedResourceCount',
|
|
426
|
+
'untaggedResourceCount',
|
|
427
|
+
'distinctTagKeyCount',
|
|
428
|
+
'topTagKeys',
|
|
429
|
+
'sourceReferences',
|
|
430
|
+
]) &&
|
|
431
|
+
(0, exports.isEnvironmentCoverageStateV1)(value.coverage) &&
|
|
432
|
+
(0, internal_js_1.isNonNegativeInteger)(value.resourceCount) &&
|
|
433
|
+
(0, internal_js_1.isNonNegativeInteger)(value.taggedResourceCount) &&
|
|
434
|
+
(0, internal_js_1.isNonNegativeInteger)(value.untaggedResourceCount) &&
|
|
435
|
+
(0, internal_js_1.isNonNegativeInteger)(value.distinctTagKeyCount) &&
|
|
436
|
+
value.taggedResourceCount + value.untaggedResourceCount === value.resourceCount &&
|
|
437
|
+
isSectionList(value.topTagKeys, isLabeledCount) &&
|
|
438
|
+
isReferenceArray(value.sourceReferences);
|
|
439
|
+
const isChangeSignalSection = (value) => (0, internal_js_1.isRecord)(value) &&
|
|
440
|
+
(0, internal_js_1.hasExactKeys)(value, ['coverage', 'windowDays', 'changeCount', 'topOperations', 'sourceReferences'], ['materialChangeCount', 'securityRelevantCount']) &&
|
|
441
|
+
(0, exports.isEnvironmentCoverageStateV1)(value.coverage) &&
|
|
442
|
+
(0, internal_js_1.isNonNegativeInteger)(value.windowDays) &&
|
|
443
|
+
(0, internal_js_1.isNonNegativeInteger)(value.changeCount) &&
|
|
444
|
+
isSectionCount(value.materialChangeCount) &&
|
|
445
|
+
isSectionCount(value.securityRelevantCount) &&
|
|
446
|
+
isSectionList(value.topOperations, isLabeledCount) &&
|
|
447
|
+
isReferenceArray(value.sourceReferences);
|
|
448
|
+
const isHealthEvent = (value) => (0, internal_js_1.isRecord)(value) &&
|
|
449
|
+
(0, internal_js_1.hasExactKeys)(value, ['key', 'safeLabel', 'severity'], ['eventType', 'startedAt']) &&
|
|
450
|
+
isGeneralKey(value.key) &&
|
|
451
|
+
(0, internal_js_1.isSafeLabel)(value.safeLabel) &&
|
|
452
|
+
typeof value.severity === 'string' &&
|
|
453
|
+
SEVERITIES.has(value.severity) &&
|
|
454
|
+
(value.eventType === undefined || (0, internal_js_1.isSafeLabel)(value.eventType)) &&
|
|
455
|
+
(value.startedAt === undefined || (0, internal_js_1.isCanonicalUtcTimestamp)(value.startedAt));
|
|
456
|
+
const isHealthEventSection = (value) => (0, internal_js_1.isRecord)(value) &&
|
|
457
|
+
(0, internal_js_1.hasExactKeys)(value, ['coverage', 'totalCount', 'activeCount', 'resolvedCount', 'activeEvents', 'sourceReferences']) &&
|
|
458
|
+
(0, exports.isEnvironmentCoverageStateV1)(value.coverage) &&
|
|
459
|
+
(0, internal_js_1.isNonNegativeInteger)(value.totalCount) &&
|
|
460
|
+
(0, internal_js_1.isNonNegativeInteger)(value.activeCount) &&
|
|
461
|
+
(0, internal_js_1.isNonNegativeInteger)(value.resolvedCount) &&
|
|
462
|
+
isSectionList(value.activeEvents, isHealthEvent) &&
|
|
463
|
+
isReferenceArray(value.sourceReferences);
|
|
313
464
|
/** Validates the strict, bounded multi-pillar subscription environment projection. */
|
|
314
465
|
const isEnvironmentSubscriptionProjectionV1 = (value) => {
|
|
315
466
|
if (!(0, internal_js_1.hasSafeContainerShape)(value) || !(0, internal_js_1.isRecord)(value))
|
|
@@ -332,7 +483,7 @@ const isEnvironmentSubscriptionProjectionV1 = (value) => {
|
|
|
332
483
|
'changes',
|
|
333
484
|
'warnings',
|
|
334
485
|
'sourceReferences',
|
|
335
|
-
]) ||
|
|
486
|
+
], ['commitments', 'budgets', 'idleResources', 'publicIpExposure', 'secretStoreCoverage', 'tagCoverage', 'changeSignals', 'healthEvents']) ||
|
|
336
487
|
value.schemaVersion !== 1 ||
|
|
337
488
|
!(0, exports.isEnvironmentScopeV1)(value.scope) ||
|
|
338
489
|
!(0, exports.isEnvironmentSourceBindingV1)(value.sourceBinding) ||
|
|
@@ -354,6 +505,14 @@ const isEnvironmentSubscriptionProjectionV1 = (value) => {
|
|
|
354
505
|
!isBoundedList(value.recommendations, isRecommendation) ||
|
|
355
506
|
!isBoundedList(value.changes, isChange) ||
|
|
356
507
|
!isBoundedList(value.warnings, isWarning) ||
|
|
508
|
+
(value.commitments !== undefined && !isCommitmentsSection(value.commitments)) ||
|
|
509
|
+
(value.budgets !== undefined && !isBudgetSection(value.budgets)) ||
|
|
510
|
+
(value.idleResources !== undefined && !isIdleResourceSection(value.idleResources)) ||
|
|
511
|
+
(value.publicIpExposure !== undefined && !isPublicIpExposureSection(value.publicIpExposure)) ||
|
|
512
|
+
(value.secretStoreCoverage !== undefined && !isSecretStoreCoverageSection(value.secretStoreCoverage)) ||
|
|
513
|
+
(value.tagCoverage !== undefined && !isTagCoverageSection(value.tagCoverage)) ||
|
|
514
|
+
(value.changeSignals !== undefined && !isChangeSignalSection(value.changeSignals)) ||
|
|
515
|
+
(value.healthEvents !== undefined && !isHealthEventSection(value.healthEvents)) ||
|
|
357
516
|
!isReferenceArray(value.sourceReferences)) {
|
|
358
517
|
return false;
|
|
359
518
|
}
|