@spottoai/types-package 1.0.2-beta.407 → 1.0.2-beta.408
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/azure/reportEvidence.d.ts +516 -0
- package/dist/azure/reportEvidence.d.ts.map +1 -0
- package/dist/azure/reportEvidence.js +17 -0
- package/dist/azure/reportEvidence.js.map +1 -0
- package/dist/azure/reportEvidenceValidation.d.ts +5 -0
- package/dist/azure/reportEvidenceValidation.d.ts.map +1 -0
- package/dist/azure/reportEvidenceValidation.js +385 -0
- package/dist/azure/reportEvidenceValidation.js.map +1 -0
- package/dist/azure/reportEvidenceValidationHelpers.d.ts +27 -0
- package/dist/azure/reportEvidenceValidationHelpers.d.ts.map +1 -0
- package/dist/azure/reportEvidenceValidationHelpers.js +134 -0
- package/dist/azure/reportEvidenceValidationHelpers.js.map +1 -0
- package/dist/environment/validation.d.ts.map +1 -1
- package/dist/environment/validation.js +28 -3
- package/dist/environment/validation.js.map +1 -1
- package/dist/esm/azure/reportEvidence.js +13 -0
- package/dist/esm/azure/reportEvidenceValidation.js +378 -0
- package/dist/esm/azure/reportEvidenceValidationHelpers.js +106 -0
- package/dist/esm/environment/validation.js +29 -4
- package/dist/esm/index.js +2 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { REPORT_EVIDENCE_LIMITS } from './reportEvidence.js';
|
|
2
|
+
export const isRecord = (value) => typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
3
|
+
export const isString = (value) => typeof value === 'string' && value.trim().length > 0;
|
|
4
|
+
export const isOptionalString = (value) => value === undefined || isString(value);
|
|
5
|
+
export const isFiniteNumber = (value) => typeof value === 'number' && Number.isFinite(value);
|
|
6
|
+
export const isOptionalFiniteNumber = (value) => value === undefined || isFiniteNumber(value);
|
|
7
|
+
export const isOptionalBoolean = (value) => value === undefined || typeof value === 'boolean';
|
|
8
|
+
export const isCount = (value) => isFiniteNumber(value) && Number.isInteger(value) && value >= 0;
|
|
9
|
+
export const isDateTime = (value) => isString(value) && Number.isFinite(Date.parse(value));
|
|
10
|
+
export const isStringArray = (value) => Array.isArray(value) && value.every(isString);
|
|
11
|
+
export const isCountRecord = (value) => isRecord(value) && Object.values(value).every(isCount);
|
|
12
|
+
export const countTotal = (value) => Object.values(value).reduce((total, count) => total + count, 0);
|
|
13
|
+
export const hasOptionalStrings = (value, keys) => keys.every(key => isOptionalString(value[key]));
|
|
14
|
+
export const hasOptionalNumbers = (value, keys) => keys.every(key => isOptionalFiniteNumber(value[key]));
|
|
15
|
+
export const isBoundedRows = (value, limit, isRow) => {
|
|
16
|
+
if (!isRecord(value) || !isCount(value.totalCount) || !isCount(value.omittedCount) || !Array.isArray(value.rows))
|
|
17
|
+
return false;
|
|
18
|
+
return value.rows.length <= limit && value.rows.every(isRow) && value.totalCount === value.rows.length + value.omittedCount;
|
|
19
|
+
};
|
|
20
|
+
export const isProjectionRows = (value, limit = REPORT_EVIDENCE_LIMITS.detailRows) => isBoundedRows(value, limit, isRecord);
|
|
21
|
+
export const hasRequiredRecords = (value, keys) => keys.every(key => isRecord(value[key]));
|
|
22
|
+
export const isSourceFileStatus = (value) => isRecord(value) &&
|
|
23
|
+
isString(value.path) &&
|
|
24
|
+
typeof value.available === 'boolean' &&
|
|
25
|
+
(value.recordCount === undefined || isCount(value.recordCount)) &&
|
|
26
|
+
isOptionalString(value.note);
|
|
27
|
+
export const isTagCoverage = (value) => isRecord(value) &&
|
|
28
|
+
isCount(value.withTags) &&
|
|
29
|
+
isCount(value.withoutTags) &&
|
|
30
|
+
isFiniteNumber(value.coveragePercentage) &&
|
|
31
|
+
Array.isArray(value.topTagKeys) &&
|
|
32
|
+
value.topTagKeys.every(row => isRecord(row) && isString(row.key) && isCount(row.count));
|
|
33
|
+
const isTopSpendResource = (value) => isRecord(value) &&
|
|
34
|
+
isString(value.id) &&
|
|
35
|
+
isString(value.name) &&
|
|
36
|
+
isString(value.type) &&
|
|
37
|
+
isOptionalString(value.location) &&
|
|
38
|
+
isFiniteNumber(value.spend30Days) &&
|
|
39
|
+
isOptionalFiniteNumber(value.spend30DaysAmortized);
|
|
40
|
+
export const isResourceSummary = (value) => isRecord(value) &&
|
|
41
|
+
isCount(value.total) &&
|
|
42
|
+
Array.isArray(value.byType) &&
|
|
43
|
+
value.byType.length <= REPORT_EVIDENCE_LIMITS.summaryDimensions &&
|
|
44
|
+
value.byType.every(row => isRecord(row) && isString(row.type) && isCount(row.count) && isOptionalFiniteNumber(row.spend30Days)) &&
|
|
45
|
+
Array.isArray(value.byLocation) &&
|
|
46
|
+
value.byLocation.length <= REPORT_EVIDENCE_LIMITS.summaryDimensions &&
|
|
47
|
+
value.byLocation.every(row => isRecord(row) && isString(row.location) && isCount(row.count) && isOptionalFiniteNumber(row.spend30Days)) &&
|
|
48
|
+
isRecord(value.tagCoverage) &&
|
|
49
|
+
isTagCoverage(value.tagCoverage) &&
|
|
50
|
+
Array.isArray(value.tagCoverage.topTagKeys) &&
|
|
51
|
+
value.tagCoverage.topTagKeys.length <= REPORT_EVIDENCE_LIMITS.summaryRows &&
|
|
52
|
+
Array.isArray(value.topSpendResources) &&
|
|
53
|
+
value.topSpendResources.length <= REPORT_EVIDENCE_LIMITS.summaryRows &&
|
|
54
|
+
value.topSpendResources.every(isTopSpendResource);
|
|
55
|
+
export const isCostSummary = (value) => {
|
|
56
|
+
if (!isRecord(value) || !isRecord(value.sourceMetadata) || !Array.isArray(value.topSpendResources))
|
|
57
|
+
return false;
|
|
58
|
+
if (!hasOptionalStrings(value, ['currency', 'currencySymbol']) ||
|
|
59
|
+
!hasOptionalNumbers(value, ['spend30Days', 'spend30DaysAmortized', 'totalRetailCost', 'miscCost', 'rollingCostRecordCount']) ||
|
|
60
|
+
(value.budget !== undefined && !isRecord(value.budget)) ||
|
|
61
|
+
!isString(value.sourceMetadata.spend30DaysSource) ||
|
|
62
|
+
!isString(value.sourceMetadata.spend30DaysAmortizedSource) ||
|
|
63
|
+
!isString(value.sourceMetadata.totalRetailCostSource) ||
|
|
64
|
+
!isString(value.sourceMetadata.rollingCostFile) ||
|
|
65
|
+
!isOptionalFiniteNumber(value.sourceMetadata.rollingCostRecordCount) ||
|
|
66
|
+
!value.topSpendResources.every(isTopSpendResource)) {
|
|
67
|
+
return false;
|
|
68
|
+
}
|
|
69
|
+
return (value.period === undefined ||
|
|
70
|
+
(isRecord(value.period) &&
|
|
71
|
+
value.period.type === 'rolling_30_days' &&
|
|
72
|
+
isString(value.period.source) &&
|
|
73
|
+
hasOptionalStrings(value.period, ['startDate', 'endDate'])));
|
|
74
|
+
};
|
|
75
|
+
export const isRecommendationSummary = (value) => isRecord(value) &&
|
|
76
|
+
isCount(value.total) &&
|
|
77
|
+
isCountRecord(value.byPillar) &&
|
|
78
|
+
isCountRecord(value.byImpact) &&
|
|
79
|
+
isCountRecord(value.byEffort) &&
|
|
80
|
+
isStringArray(value.topRecommendationIds) &&
|
|
81
|
+
value.topRecommendationIds.length <= REPORT_EVIDENCE_LIMITS.topRecommendationIds &&
|
|
82
|
+
isRecord(value.topRecommendationIdsByPillar) &&
|
|
83
|
+
Object.values(value.topRecommendationIdsByPillar).every(ids => isStringArray(ids) && ids.length <= REPORT_EVIDENCE_LIMITS.topRecommendationIdsPerPillar);
|
|
84
|
+
export const isRetirementSummary = (value) => isRecord(value) &&
|
|
85
|
+
isCount(value.total) &&
|
|
86
|
+
isCount(value.sourceRecordCount) &&
|
|
87
|
+
isCount(value.excludedUnlinked) &&
|
|
88
|
+
isCount(value.excludedCommitmentExpiries) &&
|
|
89
|
+
isCount(value.within180Days) &&
|
|
90
|
+
isCount(value.expiredOrPastDue) &&
|
|
91
|
+
Array.isArray(value.upcoming) &&
|
|
92
|
+
value.upcoming.length <= REPORT_EVIDENCE_LIMITS.upcomingEvents &&
|
|
93
|
+
value.upcoming.every(row => isRecord(row) && isOptionalString(row.id) && isOptionalString(row.title) && isOptionalString(row.retirementDate) && isCount(row.resourceCount));
|
|
94
|
+
export const isCommitmentExpirySummary = (value) => isRecord(value) &&
|
|
95
|
+
isCount(value.total) &&
|
|
96
|
+
isCount(value.sourceRecordCount) &&
|
|
97
|
+
isCount(value.within180Days) &&
|
|
98
|
+
isCount(value.expiredOrPastDue) &&
|
|
99
|
+
Array.isArray(value.upcoming) &&
|
|
100
|
+
value.upcoming.length <= REPORT_EVIDENCE_LIMITS.upcomingEvents &&
|
|
101
|
+
value.upcoming.every(row => isRecord(row) && isOptionalString(row.id) && isOptionalString(row.title) && isOptionalString(row.expiryDate) && isCount(row.resourceCount));
|
|
102
|
+
export const isEvidenceReference = (value) => isRecord(value) &&
|
|
103
|
+
isString(value.source) &&
|
|
104
|
+
isString(value.summary) &&
|
|
105
|
+
(value.value === undefined || ['string', 'number', 'boolean'].includes(typeof value.value)) &&
|
|
106
|
+
(typeof value.value !== 'number' || Number.isFinite(value.value));
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ENVIRONMENT_ARTIFACT_KINDS_V1, ENVIRONMENT_CONTRACT_LIMITS_V1, ENVIRONMENT_DOCUMENT_NAMES_V1, ENVIRONMENT_EFFORTS_V1, ENVIRONMENT_FINDING_KINDS_V1, ENVIRONMENT_IMPACTS_V1, ENVIRONMENT_PILLARS_V1, ENVIRONMENT_SEVERITIES_V1, } from './contracts.js';
|
|
2
|
-
import { CURRENCY_PATTERN, DECIMAL_PATTERN, ENVIRONMENT_RUN_ID_PATTERN, SHA256_PATTERN, hasExactKeys, hasSafeContainerShape, isBoundedString, isCanonicalUtcTimestamp, isCustomerString, isNonNegativeInteger, isRecord, isSafeLabel, isScopeIdentifier, isSourceIdentity, utf8ByteLength, } from './internal.js';
|
|
2
|
+
import { CURRENCY_PATTERN, DECIMAL_PATTERN, ENVIRONMENT_RUN_ID_PATTERN, SHA256_PATTERN, hasControlCharacter, hasExactKeys, hasSafeContainerShape, isBoundedString, isCanonicalUtcTimestamp, isCustomerString, isNonNegativeInteger, isRecord, isSafeLabel, isScopeIdentifier, isSourceIdentity, utf8ByteLength, } from './internal.js';
|
|
3
3
|
import { deriveEnvironmentAzureResourceTypeV1, isEnvironmentLogicalEvidenceReferenceV1, isEnvironmentLogicalResourceReferenceV1, parseEnvironmentLogicalResourceReferenceV1, } from './references.js';
|
|
4
4
|
const DOCUMENT_NAMES = new Set(ENVIRONMENT_DOCUMENT_NAMES_V1);
|
|
5
5
|
const SIGNED_DECIMAL_PATTERN = /^-?(?:0|[1-9]\d*)(?:\.\d+)?$/u;
|
|
@@ -24,16 +24,41 @@ const SAVINGS_PROJECTIONS = new Set(['projected-monthly', 'observed-period', 'un
|
|
|
24
24
|
const DATE_WINDOW_PATTERN = /^\d{4}-\d{2}-\d{2}\/\d{4}-\d{2}-\d{2}$/u;
|
|
25
25
|
const CHANGE_DIRECTIONS = new Set(['increase', 'decrease', 'unchanged', 'unknown']);
|
|
26
26
|
const scopesEqual = (left, right) => left.kind === right.kind && left.tenantId === right.tenantId && left.companyId === right.companyId && left.subscriptionId === right.subscriptionId;
|
|
27
|
+
const isScopedEnvironmentDetailRoute = (value) => {
|
|
28
|
+
const match = /^\/company\/([A-Za-z0-9_-]+)\/(dashboard|resources|recommendations|cost-analysis|commitments-planning|security|tags|backups|health|perimeter-insights|change-monitoring)(?:\/([^/?#]+))?(?:\?subscriptions=([A-Za-z0-9_-]+))?$/u.exec(value);
|
|
29
|
+
if (!match)
|
|
30
|
+
return false;
|
|
31
|
+
const [, , page, subject, subscriptionId] = match;
|
|
32
|
+
if (!subject)
|
|
33
|
+
return Boolean(subscriptionId);
|
|
34
|
+
try {
|
|
35
|
+
const decoded = decodeURIComponent(subject);
|
|
36
|
+
// Decode once only. Encoded separators are permitted solely inside an ARM ID,
|
|
37
|
+
// never in the company, page, subscription selection or recommendation ID.
|
|
38
|
+
if (encodeURIComponent(decoded) !== subject || /[%\\?#]/u.test(decoded) || hasControlCharacter(decoded))
|
|
39
|
+
return false;
|
|
40
|
+
if (decoded.split('/').some(segment => segment === '.' || segment === '..'))
|
|
41
|
+
return false;
|
|
42
|
+
if (page === 'recommendations')
|
|
43
|
+
return Boolean(subscriptionId) && /^[A-Za-z0-9_~.-]+$/u.test(decoded);
|
|
44
|
+
if (page !== 'resources')
|
|
45
|
+
return false;
|
|
46
|
+
const resource = /^\/subscriptions\/([A-Za-z0-9_-]+)\/resourcegroups\/[^/]+\/providers\/[^/]+\/.+/iu.exec(decoded);
|
|
47
|
+
return Boolean(resource && (!subscriptionId || resource[1].toLowerCase() === subscriptionId.toLowerCase()));
|
|
48
|
+
}
|
|
49
|
+
catch {
|
|
50
|
+
return false;
|
|
51
|
+
}
|
|
52
|
+
};
|
|
27
53
|
/** Validates a bounded, local Portal route suitable for client-visible evidence. */
|
|
28
54
|
export const isEnvironmentPortalRouteV1 = (value) => isBoundedString(value, ENVIRONMENT_CONTRACT_LIMITS_V1.customerStringScalars, { trimmed: true, controls: true }) &&
|
|
29
55
|
value.startsWith('/') &&
|
|
30
56
|
!value.startsWith('//') &&
|
|
31
57
|
!value.includes('\\') &&
|
|
32
58
|
!value.includes('://') &&
|
|
33
|
-
!value.includes('?') &&
|
|
34
59
|
!value.includes('#') &&
|
|
35
|
-
!value.includes('%') &&
|
|
36
|
-
|
|
60
|
+
((!value.includes('?') && !value.includes('%') && value.split('/').every(segment => segment !== '.' && segment !== '..')) ||
|
|
61
|
+
isScopedEnvironmentDetailRoute(value));
|
|
37
62
|
const isGeneralKey = (value) => isBoundedString(value, ENVIRONMENT_CONTRACT_LIMITS_V1.safeLabelScalars, { trimmed: true, controls: true });
|
|
38
63
|
const isReferenceArray = (value) => Array.isArray(value) &&
|
|
39
64
|
value.length <= ENVIRONMENT_CONTRACT_LIMITS_V1.boundedListItems &&
|
package/dist/esm/index.js
CHANGED
|
@@ -30,6 +30,8 @@ export * from './azure/recommendationState.js';
|
|
|
30
30
|
export * from './azure/regulatoryCompliance.js';
|
|
31
31
|
export * from './azure/resources.js';
|
|
32
32
|
export * from './azure/reports.js';
|
|
33
|
+
export * from './azure/reportEvidence.js';
|
|
34
|
+
export * from './azure/reportEvidenceValidation.js';
|
|
33
35
|
export * from './azure/reportingTemplates.js';
|
|
34
36
|
export * from './azure/reviewChecklist.js';
|
|
35
37
|
export * from './azure/advisorScore.js';
|
package/dist/index.d.ts
CHANGED
|
@@ -30,6 +30,8 @@ export * from './azure/recommendationState';
|
|
|
30
30
|
export * from './azure/regulatoryCompliance';
|
|
31
31
|
export * from './azure/resources';
|
|
32
32
|
export * from './azure/reports';
|
|
33
|
+
export * from './azure/reportEvidence';
|
|
34
|
+
export * from './azure/reportEvidenceValidation';
|
|
33
35
|
export * from './azure/reportingTemplates';
|
|
34
36
|
export * from './azure/reviewChecklist';
|
|
35
37
|
export * from './azure/advisorScore';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uCAAuC,CAAC;AACtD,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mCAAmC,CAAC;AAClD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yCAAyC,CAAC;AACxD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yCAAyC,CAAC;AACxD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,OAAO,CAAC;AACtB,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,2BAA2B,CAAC;AAC1C,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,MAAM,CAAC;AACrB,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uCAAuC,CAAC;AACtD,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mCAAmC,CAAC;AAClD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yCAAyC,CAAC;AACxD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kCAAkC,CAAC;AACjD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yCAAyC,CAAC;AACxD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,OAAO,CAAC;AACtB,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,2BAA2B,CAAC;AAC1C,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,MAAM,CAAC;AACrB,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -46,6 +46,8 @@ __exportStar(require("./azure/recommendationState"), exports);
|
|
|
46
46
|
__exportStar(require("./azure/regulatoryCompliance"), exports);
|
|
47
47
|
__exportStar(require("./azure/resources"), exports);
|
|
48
48
|
__exportStar(require("./azure/reports"), exports);
|
|
49
|
+
__exportStar(require("./azure/reportEvidence"), exports);
|
|
50
|
+
__exportStar(require("./azure/reportEvidenceValidation"), exports);
|
|
49
51
|
__exportStar(require("./azure/reportingTemplates"), exports);
|
|
50
52
|
__exportStar(require("./azure/reviewChecklist"), exports);
|
|
51
53
|
__exportStar(require("./azure/advisorScore"), exports);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iEAAiE;AACjE,iDAA+B;AAC/B,0DAAwC;AACxC,gEAA8C;AAC9C,uDAAqC;AACrC,8DAA4C;AAC5C,wEAAsD;AACtD,kDAAgC;AAChC,4DAA0C;AAC1C,oEAAkD;AAClD,gEAA8C;AAC9C,0EAAwD;AACxD,+DAA6C;AAC7C,uDAAqC;AACrC,mDAAiC;AACjC,8DAA4C;AAC5C,oDAAkC;AAClC,kDAAgC;AAChC,kDAAgC;AAChC,mDAAiC;AACjC,0DAAwC;AACxC,yDAAuC;AACvC,iDAA+B;AAC/B,wDAAsC;AACtC,0DAAwC;AACxC,+DAA6C;AAC7C,8DAA4C;AAC5C,iEAA+C;AAC/C,8DAA4C;AAC5C,+DAA6C;AAC7C,oDAAkC;AAClC,kDAAgC;AAChC,6DAA2C;AAC3C,0DAAwC;AACxC,uDAAqC;AACrC,yDAAuC;AACvC,wDAAsC;AACtC,gDAA8B;AAC9B,mDAAiC;AACjC,kDAAgC;AAChC,4DAA0C;AAC1C,iEAA+C;AAC/C,0EAAwD;AACxD,+DAA6C;AAC7C,4DAA0C;AAC1C,qDAAmC;AACnC,4DAA0C;AAC1C,yDAAuC;AACvC,4DAA0C;AAC1C,wCAAsB;AACtB,6CAA2B;AAC3B,gDAA8B;AAC9B,0CAAwB;AACxB,2CAAyB;AACzB,4DAA0C;AAC1C,4CAA0B;AAC1B,qDAAmC;AACnC,8CAA4B;AAC5B,uCAAqB;AACrB,gDAA8B;AAC9B,2CAAyB;AACzB,iDAA+B;AAC/B,6CAA2B;AAC3B,6DAA2C;AAC3C,yCAAuB;AACvB,8CAA4B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iEAAiE;AACjE,iDAA+B;AAC/B,0DAAwC;AACxC,gEAA8C;AAC9C,uDAAqC;AACrC,8DAA4C;AAC5C,wEAAsD;AACtD,kDAAgC;AAChC,4DAA0C;AAC1C,oEAAkD;AAClD,gEAA8C;AAC9C,0EAAwD;AACxD,+DAA6C;AAC7C,uDAAqC;AACrC,mDAAiC;AACjC,8DAA4C;AAC5C,oDAAkC;AAClC,kDAAgC;AAChC,kDAAgC;AAChC,mDAAiC;AACjC,0DAAwC;AACxC,yDAAuC;AACvC,iDAA+B;AAC/B,wDAAsC;AACtC,0DAAwC;AACxC,+DAA6C;AAC7C,8DAA4C;AAC5C,iEAA+C;AAC/C,8DAA4C;AAC5C,+DAA6C;AAC7C,oDAAkC;AAClC,kDAAgC;AAChC,yDAAuC;AACvC,mEAAiD;AACjD,6DAA2C;AAC3C,0DAAwC;AACxC,uDAAqC;AACrC,yDAAuC;AACvC,wDAAsC;AACtC,gDAA8B;AAC9B,mDAAiC;AACjC,kDAAgC;AAChC,4DAA0C;AAC1C,iEAA+C;AAC/C,0EAAwD;AACxD,+DAA6C;AAC7C,4DAA0C;AAC1C,qDAAmC;AACnC,4DAA0C;AAC1C,yDAAuC;AACvC,4DAA0C;AAC1C,wCAAsB;AACtB,6CAA2B;AAC3B,gDAA8B;AAC9B,0CAAwB;AACxB,2CAAyB;AACzB,4DAA0C;AAC1C,4CAA0B;AAC1B,qDAAmC;AACnC,8CAA4B;AAC5B,uCAAqB;AACrB,gDAA8B;AAC9B,2CAAyB;AACzB,iDAA+B;AAC/B,6CAA2B;AAC3B,6DAA2C;AAC3C,yCAAuB;AACvB,8CAA4B"}
|