@spottoai/types-package 1.0.2-beta.392 → 1.0.2-beta.394
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/grounding.d.ts +41 -0
- package/dist/ai/grounding.d.ts.map +1 -0
- package/dist/ai/grounding.js +86 -0
- package/dist/ai/grounding.js.map +1 -0
- package/dist/ai/index.d.ts +30 -14
- package/dist/ai/index.d.ts.map +1 -1
- package/dist/ai/index.js +16 -12
- package/dist/ai/index.js.map +1 -1
- package/dist/ai/workspaceArtifacts.d.ts +374 -0
- package/dist/ai/workspaceArtifacts.d.ts.map +1 -0
- package/dist/ai/workspaceArtifacts.js +41 -0
- package/dist/ai/workspaceArtifacts.js.map +1 -0
- package/dist/environment/contracts.d.ts +22 -7
- package/dist/environment/contracts.d.ts.map +1 -1
- package/dist/environment/contracts.js +6 -0
- package/dist/environment/contracts.js.map +1 -1
- package/dist/environment/index.d.ts +1 -0
- package/dist/environment/index.d.ts.map +1 -1
- package/dist/environment/index.js +1 -0
- package/dist/environment/index.js.map +1 -1
- package/dist/environment/references.d.ts.map +1 -1
- package/dist/environment/references.js +1 -2
- package/dist/environment/references.js.map +1 -1
- package/dist/environment/tenant.d.ts +128 -0
- package/dist/environment/tenant.d.ts.map +1 -0
- package/dist/environment/tenant.js +203 -0
- package/dist/environment/tenant.js.map +1 -0
- package/dist/environment/validation.d.ts +3 -1
- package/dist/environment/validation.d.ts.map +1 -1
- package/dist/environment/validation.js +25 -11
- package/dist/environment/validation.js.map +1 -1
- package/dist/esm/ai/grounding.js +80 -0
- package/dist/esm/ai/index.js +2 -10
- package/dist/esm/ai/workspaceArtifacts.js +37 -0
- package/dist/esm/environment/contracts.js +6 -0
- package/dist/esm/environment/index.js +1 -0
- package/dist/esm/environment/references.js +1 -2
- package/dist/esm/environment/tenant.js +190 -0
- package/dist/esm/environment/validation.js +23 -10
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/environment/validation.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/environment/validation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { hasExactKeys, isBoundedString, isCanonicalUtcTimestamp, isNonNegativeInteger, isRecord } from '../environment/internal.js';
|
|
2
|
+
import { isEnvironmentArtifactKindV1, isEnvironmentPortalRouteV1, isEnvironmentSafeLabelV1 } from '../environment/validation.js';
|
|
3
|
+
export const AI_CHAT_GROUNDING_LIMITS_V1 = Object.freeze({
|
|
4
|
+
claims: 128,
|
|
5
|
+
citationsPerClaim: 32,
|
|
6
|
+
identifierScalars: 128,
|
|
7
|
+
});
|
|
8
|
+
export const AI_CHAT_GROUNDING_REASON_CODES_V1 = [
|
|
9
|
+
'grounding.not-required',
|
|
10
|
+
'grounding.claim-extraction-failed',
|
|
11
|
+
'grounding.missing-citation',
|
|
12
|
+
'grounding.source-unavailable',
|
|
13
|
+
'grounding.source-stale',
|
|
14
|
+
'grounding.generation-mismatch',
|
|
15
|
+
'grounding.value-mismatch',
|
|
16
|
+
'grounding.unsupported-claim',
|
|
17
|
+
];
|
|
18
|
+
const COVERAGE_STATUSES = new Set(['complete', 'partial', 'unavailable', 'stale', 'not-collected']);
|
|
19
|
+
const GROUNDING_REASON_CODES = new Set(AI_CHAT_GROUNDING_REASON_CODES_V1);
|
|
20
|
+
const FAILURE_REASON_CODES = new Set(AI_CHAT_GROUNDING_REASON_CODES_V1.filter(code => code !== 'grounding.not-required'));
|
|
21
|
+
const isIdentifier = (value) => isBoundedString(value, AI_CHAT_GROUNDING_LIMITS_V1.identifierScalars, { trimmed: true, controls: true });
|
|
22
|
+
const isCitationIds = (value, requireOne) => Array.isArray(value) &&
|
|
23
|
+
value.length <= AI_CHAT_GROUNDING_LIMITS_V1.citationsPerClaim &&
|
|
24
|
+
(!requireOne || value.length > 0) &&
|
|
25
|
+
value.every(isIdentifier) &&
|
|
26
|
+
new Set(value).size === value.length;
|
|
27
|
+
/** Strictly validates client-safe environment evidence metadata. */
|
|
28
|
+
export const isAIEnvironmentEvidenceMatch = (value) => isRecord(value) &&
|
|
29
|
+
hasExactKeys(value, ['safeLabel', 'portalRoute', 'artifactKind', 'sourceCompletedAt', 'coverageStatus', 'truncated', 'citationIds']) &&
|
|
30
|
+
isEnvironmentSafeLabelV1(value.safeLabel) &&
|
|
31
|
+
isEnvironmentPortalRouteV1(value.portalRoute) &&
|
|
32
|
+
isEnvironmentArtifactKindV1(value.artifactKind) &&
|
|
33
|
+
isCanonicalUtcTimestamp(value.sourceCompletedAt) &&
|
|
34
|
+
typeof value.coverageStatus === 'string' &&
|
|
35
|
+
COVERAGE_STATUSES.has(value.coverageStatus) &&
|
|
36
|
+
typeof value.truncated === 'boolean' &&
|
|
37
|
+
isCitationIds(value.citationIds, true);
|
|
38
|
+
const isAIChatClaimVerificationV1 = (value) => {
|
|
39
|
+
if (!isRecord(value) ||
|
|
40
|
+
!hasExactKeys(value, ['claimId', 'status', 'citationIds'], ['reasonCode']) ||
|
|
41
|
+
!isIdentifier(value.claimId) ||
|
|
42
|
+
(value.status !== 'verified' && value.status !== 'unverified')) {
|
|
43
|
+
return false;
|
|
44
|
+
}
|
|
45
|
+
if (value.status === 'verified') {
|
|
46
|
+
return value.reasonCode === undefined && isCitationIds(value.citationIds, true);
|
|
47
|
+
}
|
|
48
|
+
return typeof value.reasonCode === 'string' && FAILURE_REASON_CODES.has(value.reasonCode) && isCitationIds(value.citationIds, false);
|
|
49
|
+
};
|
|
50
|
+
/** Strictly validates deterministic summary and claim-level citation invariants. */
|
|
51
|
+
export const isAIChatGroundingSummary = (value) => {
|
|
52
|
+
if (!isRecord(value) ||
|
|
53
|
+
!hasExactKeys(value, ['status', 'method', 'totalClaimCount', 'verifiedClaimCount', 'claims'], ['reasonCode']) ||
|
|
54
|
+
value.method !== 'deterministic-citation-and-value' ||
|
|
55
|
+
(value.status !== 'verified' && value.status !== 'unverified' && value.status !== 'not-required') ||
|
|
56
|
+
!isNonNegativeInteger(value.totalClaimCount) ||
|
|
57
|
+
!isNonNegativeInteger(value.verifiedClaimCount) ||
|
|
58
|
+
!Array.isArray(value.claims) ||
|
|
59
|
+
value.claims.length > AI_CHAT_GROUNDING_LIMITS_V1.claims ||
|
|
60
|
+
!value.claims.every(isAIChatClaimVerificationV1) ||
|
|
61
|
+
new Set(value.claims.map(claim => claim.claimId)).size !== value.claims.length ||
|
|
62
|
+
value.totalClaimCount !== value.claims.length) {
|
|
63
|
+
return false;
|
|
64
|
+
}
|
|
65
|
+
const verifiedClaimCount = value.claims.filter(claim => claim.status === 'verified').length;
|
|
66
|
+
if (value.verifiedClaimCount !== verifiedClaimCount)
|
|
67
|
+
return false;
|
|
68
|
+
if (value.status === 'verified') {
|
|
69
|
+
return value.totalClaimCount > 0 && value.verifiedClaimCount === value.totalClaimCount && value.reasonCode === undefined;
|
|
70
|
+
}
|
|
71
|
+
if (value.status === 'not-required') {
|
|
72
|
+
return value.totalClaimCount === 0 && value.verifiedClaimCount === 0 && value.reasonCode === 'grounding.not-required';
|
|
73
|
+
}
|
|
74
|
+
if (typeof value.reasonCode !== 'string' || !GROUNDING_REASON_CODES.has(value.reasonCode) || value.reasonCode === 'grounding.not-required') {
|
|
75
|
+
return false;
|
|
76
|
+
}
|
|
77
|
+
if (value.totalClaimCount === 0)
|
|
78
|
+
return value.reasonCode === 'grounding.claim-extraction-failed';
|
|
79
|
+
return value.verifiedClaimCount < value.totalClaimCount;
|
|
80
|
+
};
|
package/dist/esm/ai/index.js
CHANGED
|
@@ -1,11 +1,3 @@
|
|
|
1
1
|
/** Common AI interfaces shared between frontend and backend */
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
/** Strictly validates the client-safe environment evidence shape. */
|
|
5
|
-
export const isAIEnvironmentEvidenceMatch = (value) => isRecord(value) &&
|
|
6
|
-
hasExactKeys(value, ['safeLabel', 'portalRoute', 'scope', 'artifactKind', 'sourceGeneration']) &&
|
|
7
|
-
isEnvironmentSafeLabelV1(value.safeLabel) &&
|
|
8
|
-
isEnvironmentPortalRouteV1(value.portalRoute) &&
|
|
9
|
-
isEnvironmentScopeV1(value.scope) &&
|
|
10
|
-
isEnvironmentArtifactKindV1(value.artifactKind) &&
|
|
11
|
-
isEnvironmentSourceGenerationV1(value.sourceGeneration);
|
|
2
|
+
export * from './grounding.js';
|
|
3
|
+
export * from './workspaceArtifacts.js';
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export const AI_CHAT_WORKSPACE_CAPABILITIES = [
|
|
2
|
+
{
|
|
3
|
+
viewId: 'azure.security.secureScoreTrend',
|
|
4
|
+
version: 1,
|
|
5
|
+
artifactKind: 'chart',
|
|
6
|
+
presentations: ['line'],
|
|
7
|
+
dataModes: ['snapshot', 'snapshotWithLiveRefresh'],
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
viewId: 'azure.cost.subscriptionSpendTrend',
|
|
11
|
+
version: 1,
|
|
12
|
+
artifactKind: 'chart',
|
|
13
|
+
presentations: ['area', 'line'],
|
|
14
|
+
dataModes: ['snapshot', 'snapshotWithLiveRefresh'],
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
viewId: 'azure.serviceRetirement.upcoming',
|
|
18
|
+
version: 1,
|
|
19
|
+
artifactKind: 'table',
|
|
20
|
+
presentations: ['table'],
|
|
21
|
+
dataModes: ['snapshot', 'snapshotWithLiveRefresh'],
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
viewId: 'azure.governance.complianceSummary',
|
|
25
|
+
version: 1,
|
|
26
|
+
artifactKind: 'metricGroup',
|
|
27
|
+
presentations: ['metricGroup'],
|
|
28
|
+
dataModes: ['snapshot', 'snapshotWithLiveRefresh'],
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
viewId: 'azure.resource.metrics',
|
|
32
|
+
version: 1,
|
|
33
|
+
artifactKind: 'chart',
|
|
34
|
+
presentations: ['line', 'area', 'bar'],
|
|
35
|
+
dataModes: ['liveView', 'snapshotWithLiveRefresh'],
|
|
36
|
+
},
|
|
37
|
+
];
|
|
@@ -32,6 +32,12 @@ export const ENVIRONMENT_ARTIFACT_KINDS_V1 = [
|
|
|
32
32
|
'subscription-monitor-alerts',
|
|
33
33
|
'subscription-system-tracks',
|
|
34
34
|
'subscription-metrics',
|
|
35
|
+
'tenant-governance',
|
|
36
|
+
'tenant-governance-access',
|
|
37
|
+
'tenant-reservations',
|
|
38
|
+
'tenant-savings-plans',
|
|
39
|
+
'tenant-applications',
|
|
40
|
+
'tenant-service-principals',
|
|
35
41
|
];
|
|
36
42
|
export const ENVIRONMENT_FINDING_KINDS_V1 = [
|
|
37
43
|
'recommendation',
|
|
@@ -8,8 +8,7 @@ const isCanonicalScopeQualifiedSubject = (value) => {
|
|
|
8
8
|
try {
|
|
9
9
|
const parsed = JSON.parse(value);
|
|
10
10
|
return (Array.isArray(parsed) &&
|
|
11
|
-
parsed.length === 4 &&
|
|
12
|
-
parsed[0] === 'azure-subscription' &&
|
|
11
|
+
((parsed.length === 4 && parsed[0] === 'azure-subscription') || (parsed.length === 2 && parsed[0] === 'azure-tenant')) &&
|
|
13
12
|
parsed
|
|
14
13
|
.slice(1)
|
|
15
14
|
.every(item => isBoundedString(item, ENVIRONMENT_CONTRACT_LIMITS_V1.scopeIdentifierScalars, { trimmed: true, controls: true })) &&
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
import { ENVIRONMENT_CONTRACT_LIMITS_V1 } from './contracts.js';
|
|
2
|
+
import { ENVIRONMENT_RUN_ID_PATTERN, SHA256_PATTERN, hasExactKeys, hasSafeContainerShape, isBoundedString, isCanonicalUtcTimestamp, isNonNegativeInteger, isRecord, isSafeLabel, isScopeIdentifier, isSourceIdentity, utf8ByteLength, } from './internal.js';
|
|
3
|
+
import { isEnvironmentLogicalEvidenceReferenceV1 } from './references.js';
|
|
4
|
+
import { isEnvironmentCoverageStateV1 } from './validation.js';
|
|
5
|
+
export const ENVIRONMENT_TENANT_DOCUMENT_NAMES_V1 = [
|
|
6
|
+
'projection.json',
|
|
7
|
+
'environment-index.md',
|
|
8
|
+
'identity.md',
|
|
9
|
+
'governance.md',
|
|
10
|
+
'commitments.md',
|
|
11
|
+
];
|
|
12
|
+
const REFERENCE_PATTERN = /^spotto:\/\/(?:artifact|resource)\/v1\//u;
|
|
13
|
+
const SEVERITIES = new Set(['critical', 'high', 'medium', 'low', 'informational', 'unknown']);
|
|
14
|
+
const PRINCIPAL_TYPES = new Set(['user', 'group', 'servicePrincipal', 'unknown']);
|
|
15
|
+
const ASSIGNMENT_MODES = new Set(['permanent', 'eligible', 'active', 'unknown']);
|
|
16
|
+
/** Builds the canonical logical subject for a tenant environment artifact. */
|
|
17
|
+
export const buildEnvironmentTenantScopeQualifiedSubjectV1 = (scope) => {
|
|
18
|
+
if (!isEnvironmentTenantScopeV1(scope))
|
|
19
|
+
throw new TypeError('Invalid tenant environment scope.');
|
|
20
|
+
return JSON.stringify([scope.kind, scope.tenantId]);
|
|
21
|
+
};
|
|
22
|
+
/** Validates a tenant environment scope. */
|
|
23
|
+
export const isEnvironmentTenantScopeV1 = (value) => isRecord(value) && hasExactKeys(value, ['kind', 'tenantId']) && value.kind === 'azure-tenant' && isScopeIdentifier(value.tenantId);
|
|
24
|
+
/** Validates the completed tenant-sync generation bound to a tenant environment generation. */
|
|
25
|
+
export const isEnvironmentTenantSourceBindingV1 = (value) => isRecord(value) &&
|
|
26
|
+
hasExactKeys(value, ['kind', 'scope', 'tenantSyncRunId', 'completedAt']) &&
|
|
27
|
+
value.kind === 'azure-tenant-sync' &&
|
|
28
|
+
isEnvironmentTenantScopeV1(value.scope) &&
|
|
29
|
+
isSourceIdentity(value.tenantSyncRunId) &&
|
|
30
|
+
isCanonicalUtcTimestamp(value.completedAt);
|
|
31
|
+
const scopesEqual = (left, right) => left.tenantId === right.tenantId;
|
|
32
|
+
const isReferenceArray = (value) => Array.isArray(value) && value.length <= ENVIRONMENT_CONTRACT_LIMITS_V1.boundedListItems && value.every(isEnvironmentLogicalEvidenceReferenceV1);
|
|
33
|
+
const isBoundedList = (value, itemGuard) => isRecord(value) &&
|
|
34
|
+
hasExactKeys(value, ['items', 'totalCount', 'includedCount', 'truncated'], ['continuationReference']) &&
|
|
35
|
+
Array.isArray(value.items) &&
|
|
36
|
+
value.items.length <= ENVIRONMENT_CONTRACT_LIMITS_V1.boundedListItems &&
|
|
37
|
+
value.items.every(itemGuard) &&
|
|
38
|
+
isNonNegativeInteger(value.totalCount) &&
|
|
39
|
+
value.includedCount === value.items.length &&
|
|
40
|
+
value.totalCount >= value.includedCount &&
|
|
41
|
+
value.truncated === value.totalCount > value.includedCount &&
|
|
42
|
+
(value.continuationReference === undefined || isEnvironmentLogicalEvidenceReferenceV1(value.continuationReference)) &&
|
|
43
|
+
(!value.truncated || value.continuationReference !== undefined);
|
|
44
|
+
const isCountRecord = (value, keys) => isRecord(value) && hasExactKeys(value, keys) && keys.every(key => isNonNegativeInteger(value[key]));
|
|
45
|
+
const isGlobalAdministrator = (value) => isRecord(value) &&
|
|
46
|
+
hasExactKeys(value, ['principalId', 'safeLabel', 'principalType', 'assignmentModes', 'mfaStatus', 'sourceReferences']) &&
|
|
47
|
+
isScopeIdentifier(value.principalId) &&
|
|
48
|
+
isSafeLabel(value.safeLabel) &&
|
|
49
|
+
typeof value.principalType === 'string' &&
|
|
50
|
+
PRINCIPAL_TYPES.has(value.principalType) &&
|
|
51
|
+
Array.isArray(value.assignmentModes) &&
|
|
52
|
+
value.assignmentModes.length <= 4 &&
|
|
53
|
+
value.assignmentModes.every(mode => typeof mode === 'string' && ASSIGNMENT_MODES.has(mode)) &&
|
|
54
|
+
new Set(value.assignmentModes).size === value.assignmentModes.length &&
|
|
55
|
+
(value.mfaStatus === 'mfa' || value.mfaStatus === 'unknown') &&
|
|
56
|
+
isReferenceArray(value.sourceReferences);
|
|
57
|
+
const isGovernanceFinding = (value) => isRecord(value) &&
|
|
58
|
+
hasExactKeys(value, ['findingId', 'safeLabel', 'severity', 'sourceReferences'], ['category', 'scopeType']) &&
|
|
59
|
+
isScopeIdentifier(value.findingId) &&
|
|
60
|
+
isSafeLabel(value.safeLabel) &&
|
|
61
|
+
typeof value.severity === 'string' &&
|
|
62
|
+
SEVERITIES.has(value.severity) &&
|
|
63
|
+
(value.category === undefined || isSafeLabel(value.category)) &&
|
|
64
|
+
(value.scopeType === undefined || isSafeLabel(value.scopeType)) &&
|
|
65
|
+
isReferenceArray(value.sourceReferences);
|
|
66
|
+
const isCommitment = (value) => isRecord(value) &&
|
|
67
|
+
hasExactKeys(value, ['commitmentId', 'kind', 'safeLabel', 'sourceReferences'], ['status', 'expiry', 'quantity']) &&
|
|
68
|
+
isScopeIdentifier(value.commitmentId) &&
|
|
69
|
+
(value.kind === 'reservation' || value.kind === 'savings-plan') &&
|
|
70
|
+
isSafeLabel(value.safeLabel) &&
|
|
71
|
+
(value.status === undefined || isSafeLabel(value.status)) &&
|
|
72
|
+
(value.expiry === undefined || isCanonicalUtcTimestamp(value.expiry)) &&
|
|
73
|
+
(value.quantity === undefined || isNonNegativeInteger(value.quantity)) &&
|
|
74
|
+
isReferenceArray(value.sourceReferences);
|
|
75
|
+
const isWarning = (value) => isRecord(value) &&
|
|
76
|
+
hasExactKeys(value, ['code', 'safeLabel', 'sourceReferences'], ['pillar', 'detail']) &&
|
|
77
|
+
isScopeIdentifier(value.code) &&
|
|
78
|
+
isSafeLabel(value.safeLabel) &&
|
|
79
|
+
value.pillar === undefined &&
|
|
80
|
+
(value.detail === undefined || isBoundedString(value.detail, ENVIRONMENT_CONTRACT_LIMITS_V1.customerStringScalars, { controls: true })) &&
|
|
81
|
+
isReferenceArray(value.sourceReferences);
|
|
82
|
+
/** Validates the strict tenant environment projection. */
|
|
83
|
+
export const isEnvironmentTenantProjectionV1 = (value) => {
|
|
84
|
+
if (!hasSafeContainerShape(value) || !isRecord(value))
|
|
85
|
+
return false;
|
|
86
|
+
if (!hasExactKeys(value, [
|
|
87
|
+
'schemaVersion',
|
|
88
|
+
'scope',
|
|
89
|
+
'sourceBinding',
|
|
90
|
+
'generatedAt',
|
|
91
|
+
'tenant',
|
|
92
|
+
'sourceCoverage',
|
|
93
|
+
'identitySummary',
|
|
94
|
+
'governanceSummary',
|
|
95
|
+
'commitmentSummary',
|
|
96
|
+
'globalAdministrators',
|
|
97
|
+
'governanceFindings',
|
|
98
|
+
'commitments',
|
|
99
|
+
'warnings',
|
|
100
|
+
'sourceReferences',
|
|
101
|
+
]) ||
|
|
102
|
+
value.schemaVersion !== 1 ||
|
|
103
|
+
!isEnvironmentTenantScopeV1(value.scope) ||
|
|
104
|
+
!isEnvironmentTenantSourceBindingV1(value.sourceBinding) ||
|
|
105
|
+
!scopesEqual(value.scope, value.sourceBinding.scope) ||
|
|
106
|
+
!isCanonicalUtcTimestamp(value.generatedAt) ||
|
|
107
|
+
Date.parse(value.generatedAt) < Date.parse(value.sourceBinding.completedAt) ||
|
|
108
|
+
!isRecord(value.tenant) ||
|
|
109
|
+
!hasExactKeys(value.tenant, ['safeLabel']) ||
|
|
110
|
+
!isSafeLabel(value.tenant.safeLabel) ||
|
|
111
|
+
!isRecord(value.sourceCoverage) ||
|
|
112
|
+
!hasExactKeys(value.sourceCoverage, ['tenantSync', 'governance', 'identity', 'commitments']) ||
|
|
113
|
+
!Object.values(value.sourceCoverage).every(isEnvironmentCoverageStateV1) ||
|
|
114
|
+
!isCountRecord(value.identitySummary, [
|
|
115
|
+
'applicationCount',
|
|
116
|
+
'servicePrincipalCount',
|
|
117
|
+
'globalAdministratorCount',
|
|
118
|
+
'permanentGlobalAdministratorCount',
|
|
119
|
+
'eligibleGlobalAdministratorCount',
|
|
120
|
+
'mfaKnownGlobalAdministratorCount',
|
|
121
|
+
]) ||
|
|
122
|
+
!isCountRecord(value.governanceSummary, [
|
|
123
|
+
'managementGroupCount',
|
|
124
|
+
'subscriptionCount',
|
|
125
|
+
'policyAssignmentCount',
|
|
126
|
+
'policyExemptionCount',
|
|
127
|
+
'roleAssignmentCount',
|
|
128
|
+
'privilegedAssignmentCount',
|
|
129
|
+
'customRoleCount',
|
|
130
|
+
'findingCount',
|
|
131
|
+
]) ||
|
|
132
|
+
!isCountRecord(value.commitmentSummary, ['reservationCount', 'savingsPlanCount', 'expiringWithin90DaysCount']) ||
|
|
133
|
+
!isBoundedList(value.globalAdministrators, isGlobalAdministrator) ||
|
|
134
|
+
!isBoundedList(value.governanceFindings, isGovernanceFinding) ||
|
|
135
|
+
!isBoundedList(value.commitments, isCommitment) ||
|
|
136
|
+
!isBoundedList(value.warnings, isWarning) ||
|
|
137
|
+
!isReferenceArray(value.sourceReferences)) {
|
|
138
|
+
return false;
|
|
139
|
+
}
|
|
140
|
+
return utf8ByteLength(JSON.stringify(value)) <= ENVIRONMENT_CONTRACT_LIMITS_V1.projectionBytes;
|
|
141
|
+
};
|
|
142
|
+
const descriptorLimit = (name) => name === 'projection.json' ? ENVIRONMENT_CONTRACT_LIMITS_V1.projectionBytes : ENVIRONMENT_CONTRACT_LIMITS_V1.environmentIndexBytes;
|
|
143
|
+
/** Validates one tenant environment document descriptor. */
|
|
144
|
+
export const isEnvironmentTenantDocumentDescriptorV1 = (value) => isRecord(value) &&
|
|
145
|
+
hasExactKeys(value, ['name', 'mediaType', 'byteCount', 'contentSha256', 'approximateTokenCount']) &&
|
|
146
|
+
typeof value.name === 'string' &&
|
|
147
|
+
ENVIRONMENT_TENANT_DOCUMENT_NAMES_V1.includes(value.name) &&
|
|
148
|
+
value.mediaType === (value.name === 'projection.json' ? 'application/json' : 'text/markdown; charset=utf-8') &&
|
|
149
|
+
isNonNegativeInteger(value.byteCount) &&
|
|
150
|
+
value.byteCount > 0 &&
|
|
151
|
+
value.byteCount <= descriptorLimit(value.name) &&
|
|
152
|
+
typeof value.contentSha256 === 'string' &&
|
|
153
|
+
SHA256_PATTERN.test(value.contentSha256) &&
|
|
154
|
+
isNonNegativeInteger(value.approximateTokenCount);
|
|
155
|
+
/** Validates the exact five-file tenant environment descriptor set. */
|
|
156
|
+
export const isEnvironmentTenantDocumentDescriptorSetV1 = (value) => Array.isArray(value) &&
|
|
157
|
+
value.length === ENVIRONMENT_TENANT_DOCUMENT_NAMES_V1.length &&
|
|
158
|
+
value.every(isEnvironmentTenantDocumentDescriptorV1) &&
|
|
159
|
+
new Set(value.map(item => item.name)).size === ENVIRONMENT_TENANT_DOCUMENT_NAMES_V1.length;
|
|
160
|
+
/** Builds the canonical tenant tree-digest preimage. */
|
|
161
|
+
export const buildEnvironmentTenantTreeDigestPreimageV1 = (descriptors) => {
|
|
162
|
+
if (!isEnvironmentTenantDocumentDescriptorSetV1(descriptors))
|
|
163
|
+
throw new TypeError('Invalid tenant environment descriptor set.');
|
|
164
|
+
return JSON.stringify(descriptors
|
|
165
|
+
.map(descriptor => [descriptor.name, descriptor.contentSha256])
|
|
166
|
+
.sort((left, right) => (left[0] < right[0] ? -1 : left[0] > right[0] ? 1 : 0)));
|
|
167
|
+
};
|
|
168
|
+
/** Validates the atomically visible tenant environment completion pointer. */
|
|
169
|
+
export const isEnvironmentTenantCompiledGenerationPointerV1 = (value) => hasSafeContainerShape(value) &&
|
|
170
|
+
isRecord(value) &&
|
|
171
|
+
hasExactKeys(value, ['schemaVersion', 'status', 'environmentRunId', 'scope', 'sourceBinding', 'treeDigestSha256', 'fileCount', 'generatedAt']) &&
|
|
172
|
+
value.schemaVersion === 1 &&
|
|
173
|
+
value.status === 'completed' &&
|
|
174
|
+
typeof value.environmentRunId === 'string' &&
|
|
175
|
+
value.environmentRunId.length <= ENVIRONMENT_CONTRACT_LIMITS_V1.environmentRunIdAsciiCharacters &&
|
|
176
|
+
ENVIRONMENT_RUN_ID_PATTERN.test(value.environmentRunId) &&
|
|
177
|
+
value.environmentRunId !== '.' &&
|
|
178
|
+
value.environmentRunId !== '..' &&
|
|
179
|
+
isEnvironmentTenantScopeV1(value.scope) &&
|
|
180
|
+
isEnvironmentTenantSourceBindingV1(value.sourceBinding) &&
|
|
181
|
+
scopesEqual(value.scope, value.sourceBinding.scope) &&
|
|
182
|
+
value.environmentRunId !== value.sourceBinding.tenantSyncRunId &&
|
|
183
|
+
typeof value.treeDigestSha256 === 'string' &&
|
|
184
|
+
SHA256_PATTERN.test(value.treeDigestSha256) &&
|
|
185
|
+
value.fileCount === ENVIRONMENT_TENANT_DOCUMENT_NAMES_V1.length &&
|
|
186
|
+
isCanonicalUtcTimestamp(value.generatedAt) &&
|
|
187
|
+
Date.parse(value.generatedAt) >= Date.parse(value.sourceBinding.completedAt) &&
|
|
188
|
+
utf8ByteLength(JSON.stringify(value)) <= ENVIRONMENT_CONTRACT_LIMITS_V1.completedPointerBytes;
|
|
189
|
+
/** Narrow syntax guard used before tenant references are passed to the common parser. */
|
|
190
|
+
export const isEnvironmentTenantLogicalReferenceV1 = (value) => typeof value === 'string' && REFERENCE_PATTERN.test(value) && isEnvironmentLogicalEvidenceReferenceV1(value);
|
|
@@ -8,7 +8,7 @@ const FINDING_KINDS = new Set(ENVIRONMENT_FINDING_KINDS_V1);
|
|
|
8
8
|
const SEVERITIES = new Set(ENVIRONMENT_SEVERITIES_V1);
|
|
9
9
|
const IMPACTS = new Set(ENVIRONMENT_IMPACTS_V1);
|
|
10
10
|
const EFFORTS = new Set(ENVIRONMENT_EFFORTS_V1);
|
|
11
|
-
const MONEY_BASES = new Set(['billed', 'amortized']);
|
|
11
|
+
const MONEY_BASES = new Set(['billed', 'amortized', 'unknown']);
|
|
12
12
|
const MONEY_PROVENANCE = new Set([
|
|
13
13
|
'subscription-summary',
|
|
14
14
|
'subscription-resources',
|
|
@@ -104,7 +104,7 @@ export const isEnvironmentMoneyValueV1 = (value) => isRecord(value) &&
|
|
|
104
104
|
typeof value.amount === 'string' &&
|
|
105
105
|
DECIMAL_PATTERN.test(value.amount) &&
|
|
106
106
|
typeof value.currencyCode === 'string' &&
|
|
107
|
-
CURRENCY_PATTERN.test(value.currencyCode) &&
|
|
107
|
+
(value.currencyCode === 'unknown' || CURRENCY_PATTERN.test(value.currencyCode)) &&
|
|
108
108
|
typeof value.basis === 'string' &&
|
|
109
109
|
MONEY_BASES.has(value.basis) &&
|
|
110
110
|
isBoundedString(value.period, ENVIRONMENT_CONTRACT_LIMITS_V1.safeLabelScalars, { trimmed: true, controls: true }) &&
|
|
@@ -179,13 +179,28 @@ const isPillarScore = (value) => isRecord(value) &&
|
|
|
179
179
|
isPercentage(value.value) &&
|
|
180
180
|
value.maximum === '100' &&
|
|
181
181
|
isSafeLabel(value.safeLabel);
|
|
182
|
+
/** Validates exact, lower-bound, and unavailable count evidence without ambiguous totals. */
|
|
183
|
+
export const isEnvironmentCardinalityV1 = (value) => {
|
|
184
|
+
if (!isRecord(value) || typeof value.basis !== 'string')
|
|
185
|
+
return false;
|
|
186
|
+
if (value.basis === 'exact') {
|
|
187
|
+
return hasExactKeys(value, ['basis', 'value']) && isNonNegativeInteger(value.value);
|
|
188
|
+
}
|
|
189
|
+
if (value.basis === 'lower-bound') {
|
|
190
|
+
return hasExactKeys(value, ['basis', 'value', 'reason']) && isNonNegativeInteger(value.value) && isSafeLabel(value.reason);
|
|
191
|
+
}
|
|
192
|
+
if (value.basis === 'unavailable') {
|
|
193
|
+
return hasExactKeys(value, ['basis', 'reason']) && isSafeLabel(value.reason);
|
|
194
|
+
}
|
|
195
|
+
return false;
|
|
196
|
+
};
|
|
182
197
|
const isPillarSummary = (value) => isRecord(value) &&
|
|
183
|
-
hasExactKeys(value, ['pillar', 'coverage', 'findingCount', 'recommendationCount', '
|
|
198
|
+
hasExactKeys(value, ['pillar', 'coverage', 'findingCount', 'recommendationCount', 'affectedResources', 'portalRoute', 'sourceReferences'], ['score']) &&
|
|
184
199
|
isEnvironmentPillarV1(value.pillar) &&
|
|
185
200
|
isEnvironmentCoverageStateV1(value.coverage) &&
|
|
186
201
|
isNonNegativeInteger(value.findingCount) &&
|
|
187
202
|
isNonNegativeInteger(value.recommendationCount) &&
|
|
188
|
-
|
|
203
|
+
isEnvironmentCardinalityV1(value.affectedResources) &&
|
|
189
204
|
isEnvironmentPortalRouteV1(value.portalRoute) &&
|
|
190
205
|
(value.score === undefined || isPillarScore(value.score)) &&
|
|
191
206
|
isReferenceArray(value.sourceReferences);
|
|
@@ -193,7 +208,7 @@ const isPillarSummaries = (value) => isRecord(value) &&
|
|
|
193
208
|
hasExactKeys(value, ENVIRONMENT_PILLARS_V1) &&
|
|
194
209
|
ENVIRONMENT_PILLARS_V1.every(pillar => isPillarSummary(value[pillar]) && value[pillar]?.pillar === pillar);
|
|
195
210
|
const isFinding = (value) => isRecord(value) &&
|
|
196
|
-
hasExactKeys(value, ['findingId', 'pillar', 'kind', 'safeLabel', 'severity', 'resourceReferences', 'sourceReferences'], ['description', 'impact', 'effort', '
|
|
211
|
+
hasExactKeys(value, ['findingId', 'pillar', 'kind', 'safeLabel', 'severity', 'resourceReferences', 'sourceReferences'], ['description', 'impact', 'effort', 'affectedResources', 'portalRoute']) &&
|
|
197
212
|
isScopeIdentifier(value.findingId) &&
|
|
198
213
|
isEnvironmentPillarV1(value.pillar) &&
|
|
199
214
|
typeof value.kind === 'string' &&
|
|
@@ -204,13 +219,12 @@ const isFinding = (value) => isRecord(value) &&
|
|
|
204
219
|
(value.description === undefined || isCustomerString(value.description)) &&
|
|
205
220
|
(value.impact === undefined || (typeof value.impact === 'string' && IMPACTS.has(value.impact))) &&
|
|
206
221
|
(value.effort === undefined || (typeof value.effort === 'string' && EFFORTS.has(value.effort))) &&
|
|
207
|
-
(value.
|
|
208
|
-
(value.affectedResourceCount === undefined || isNonNegativeInteger(value.affectedResourceCount)) &&
|
|
222
|
+
(value.affectedResources === undefined || isEnvironmentCardinalityV1(value.affectedResources)) &&
|
|
209
223
|
(value.portalRoute === undefined || isEnvironmentPortalRouteV1(value.portalRoute)) &&
|
|
210
224
|
isResourceReferenceArray(value.resourceReferences) &&
|
|
211
225
|
isReferenceArray(value.sourceReferences);
|
|
212
226
|
const isRecommendation = (value) => isRecord(value) &&
|
|
213
|
-
hasExactKeys(value, ['recommendationId', 'pillar', 'safeLabel', 'portalRoute', 'resourceReferences', 'sourceReferences'], ['description', 'impact', 'effort', '
|
|
227
|
+
hasExactKeys(value, ['recommendationId', 'pillar', 'safeLabel', 'portalRoute', 'resourceReferences', 'sourceReferences'], ['description', 'impact', 'effort', 'affectedResources', 'potentialSavings']) &&
|
|
214
228
|
isScopeIdentifier(value.recommendationId) &&
|
|
215
229
|
isEnvironmentPillarV1(value.pillar) &&
|
|
216
230
|
isSafeLabel(value.safeLabel) &&
|
|
@@ -218,8 +232,7 @@ const isRecommendation = (value) => isRecord(value) &&
|
|
|
218
232
|
(value.description === undefined || isCustomerString(value.description)) &&
|
|
219
233
|
(value.impact === undefined || (typeof value.impact === 'string' && IMPACTS.has(value.impact))) &&
|
|
220
234
|
(value.effort === undefined || (typeof value.effort === 'string' && EFFORTS.has(value.effort))) &&
|
|
221
|
-
(value.
|
|
222
|
-
(value.affectedResourceCount === undefined || isNonNegativeInteger(value.affectedResourceCount)) &&
|
|
235
|
+
(value.affectedResources === undefined || isEnvironmentCardinalityV1(value.affectedResources)) &&
|
|
223
236
|
(value.potentialSavings === undefined || isSavingsMoney(value.potentialSavings)) &&
|
|
224
237
|
isResourceReferenceArray(value.resourceReferences) &&
|
|
225
238
|
isReferenceArray(value.sourceReferences);
|