@spottoai/types-package 1.0.2-beta.310 → 1.0.2-beta.312

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/README.md +14 -4
  2. package/dist/aws/index.d.ts +8 -0
  3. package/dist/aws/index.d.ts.map +1 -1
  4. package/dist/aws/index.js +8 -0
  5. package/dist/aws/index.js.map +1 -1
  6. package/dist/aws/pluginPublicArtifactBodyValidation.d.ts +10 -0
  7. package/dist/aws/pluginPublicArtifactBodyValidation.d.ts.map +1 -0
  8. package/dist/aws/pluginPublicArtifactBodyValidation.js +225 -0
  9. package/dist/aws/pluginPublicArtifactBodyValidation.js.map +1 -0
  10. package/dist/aws/pluginPublicArtifactEvidence.d.ts +161 -0
  11. package/dist/aws/pluginPublicArtifactEvidence.d.ts.map +1 -0
  12. package/dist/aws/pluginPublicArtifactEvidence.js +3 -0
  13. package/dist/aws/pluginPublicArtifactEvidence.js.map +1 -0
  14. package/dist/aws/pluginPublicArtifactManifestValidation.d.ts +4 -0
  15. package/dist/aws/pluginPublicArtifactManifestValidation.d.ts.map +1 -0
  16. package/dist/aws/pluginPublicArtifactManifestValidation.js +259 -0
  17. package/dist/aws/pluginPublicArtifactManifestValidation.js.map +1 -0
  18. package/dist/aws/pluginPublicArtifactSectionValidation.d.ts +6 -0
  19. package/dist/aws/pluginPublicArtifactSectionValidation.d.ts.map +1 -0
  20. package/dist/aws/pluginPublicArtifactSectionValidation.js +471 -0
  21. package/dist/aws/pluginPublicArtifactSectionValidation.js.map +1 -0
  22. package/dist/aws/pluginPublicArtifactValidation.d.ts +3 -0
  23. package/dist/aws/pluginPublicArtifactValidation.d.ts.map +1 -0
  24. package/dist/aws/pluginPublicArtifactValidation.js +9 -0
  25. package/dist/aws/pluginPublicArtifactValidation.js.map +1 -0
  26. package/dist/aws/pluginPublicArtifactValidationHelpers.d.ts +23 -0
  27. package/dist/aws/pluginPublicArtifactValidationHelpers.d.ts.map +1 -0
  28. package/dist/aws/pluginPublicArtifactValidationHelpers.js +241 -0
  29. package/dist/aws/pluginPublicArtifactValidationHelpers.js.map +1 -0
  30. package/dist/aws/pluginPublicArtifacts.d.ts +253 -0
  31. package/dist/aws/pluginPublicArtifacts.d.ts.map +1 -0
  32. package/dist/aws/pluginPublicArtifacts.js +116 -0
  33. package/dist/aws/pluginPublicArtifacts.js.map +1 -0
  34. package/dist/aws/portalPublicArtifactCurrentValidation.d.ts +4 -0
  35. package/dist/aws/portalPublicArtifactCurrentValidation.d.ts.map +1 -0
  36. package/dist/aws/portalPublicArtifactCurrentValidation.js +333 -0
  37. package/dist/aws/portalPublicArtifactCurrentValidation.js.map +1 -0
  38. package/dist/aws/portalPublicArtifactEvidenceValidation.d.ts +6 -0
  39. package/dist/aws/portalPublicArtifactEvidenceValidation.d.ts.map +1 -0
  40. package/dist/aws/portalPublicArtifactEvidenceValidation.js +227 -0
  41. package/dist/aws/portalPublicArtifactEvidenceValidation.js.map +1 -0
  42. package/dist/aws/portalPublicArtifactHistoryAiValidation.d.ts +8 -0
  43. package/dist/aws/portalPublicArtifactHistoryAiValidation.d.ts.map +1 -0
  44. package/dist/aws/portalPublicArtifactHistoryAiValidation.js +377 -0
  45. package/dist/aws/portalPublicArtifactHistoryAiValidation.js.map +1 -0
  46. package/dist/aws/portalPublicArtifactHistoryTypes.d.ts +168 -0
  47. package/dist/aws/portalPublicArtifactHistoryTypes.d.ts.map +1 -0
  48. package/dist/aws/portalPublicArtifactHistoryTypes.js +32 -0
  49. package/dist/aws/portalPublicArtifactHistoryTypes.js.map +1 -0
  50. package/dist/aws/portalPublicArtifactNestedEvidence.d.ts +127 -0
  51. package/dist/aws/portalPublicArtifactNestedEvidence.d.ts.map +1 -0
  52. package/dist/aws/portalPublicArtifactNestedEvidence.js +3 -0
  53. package/dist/aws/portalPublicArtifactNestedEvidence.js.map +1 -0
  54. package/dist/aws/portalPublicArtifactNestedEvidenceValidation.d.ts +6 -0
  55. package/dist/aws/portalPublicArtifactNestedEvidenceValidation.d.ts.map +1 -0
  56. package/dist/aws/portalPublicArtifactNestedEvidenceValidation.js +405 -0
  57. package/dist/aws/portalPublicArtifactNestedEvidenceValidation.js.map +1 -0
  58. package/dist/aws/portalPublicArtifactValidation.d.ts +3 -0
  59. package/dist/aws/portalPublicArtifactValidation.d.ts.map +1 -0
  60. package/dist/aws/portalPublicArtifactValidation.js +14 -0
  61. package/dist/aws/portalPublicArtifactValidation.js.map +1 -0
  62. package/dist/aws/portalPublicArtifactValidationCommon.d.ts +30 -0
  63. package/dist/aws/portalPublicArtifactValidationCommon.d.ts.map +1 -0
  64. package/dist/aws/portalPublicArtifactValidationCommon.js +167 -0
  65. package/dist/aws/portalPublicArtifactValidationCommon.js.map +1 -0
  66. package/dist/aws/portalPublicArtifacts.d.ts +371 -0
  67. package/dist/aws/portalPublicArtifacts.d.ts.map +1 -0
  68. package/dist/aws/portalPublicArtifacts.js +85 -0
  69. package/dist/aws/portalPublicArtifacts.js.map +1 -0
  70. package/dist/aws/publicArtifacts.d.ts +3 -2
  71. package/dist/aws/publicArtifacts.d.ts.map +1 -1
  72. package/dist/aws/publicArtifacts.js +3 -0
  73. package/dist/aws/publicArtifacts.js.map +1 -1
  74. package/dist/integrations/autotask.d.ts +21 -3
  75. package/dist/integrations/autotask.d.ts.map +1 -1
  76. package/package.json +5 -3
@@ -0,0 +1,227 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateAwsPortalBillingBlock = validateAwsPortalBillingBlock;
4
+ exports.validateAwsPortalRecommendationCoverage = validateAwsPortalRecommendationCoverage;
5
+ exports.validateRecommendationSourceEvidence = validateRecommendationSourceEvidence;
6
+ exports.validateRecommendationActionHealth = validateRecommendationActionHealth;
7
+ const portalPublicArtifactValidationCommon_1 = require("./portalPublicArtifactValidationCommon");
8
+ function validateAwsPortalBillingBlock(value, field, outerBilling, accountId, accountBody) {
9
+ const billing = (0, portalPublicArtifactValidationCommon_1.asRecord)(value, field);
10
+ const accountFields = [
11
+ 'costViewByCurrency',
12
+ 'groupedCosts',
13
+ 'commitmentSpend',
14
+ 'resourceAttribution',
15
+ 'calendarSummary',
16
+ 'periodSummary',
17
+ 'spendTrend',
18
+ 'comparison',
19
+ ];
20
+ const resourceFields = ['pricingReferenceEstimation', 'estimatedBillingAuthority'];
21
+ (0, portalPublicArtifactValidationCommon_1.assertExactKeys)(billing, ['scope', 'freshness', 'summary', 'totalsByCurrency', ...(accountBody ? accountFields : resourceFields)], field);
22
+ validateBillingEvidenceScope(billing.scope, outerBilling, accountId, `${field}.scope`);
23
+ (0, portalPublicArtifactValidationCommon_1.validateFreshness)(billing.freshness, `${field}.freshness`, 'lastSuccessfulImportAt');
24
+ validateBillingSummary(billing.summary, `${field}.summary`);
25
+ validateBillingGroupedResult(billing.totalsByCurrency, `${field}.totalsByCurrency`);
26
+ if (!accountBody) {
27
+ if (billing.pricingReferenceEstimation !== undefined)
28
+ (0, portalPublicArtifactValidationCommon_1.validateJsonObject)(billing.pricingReferenceEstimation, `${field}.pricingReferenceEstimation`);
29
+ if (billing.estimatedBillingAuthority !== undefined)
30
+ (0, portalPublicArtifactValidationCommon_1.validateJsonObject)(billing.estimatedBillingAuthority, `${field}.estimatedBillingAuthority`);
31
+ return;
32
+ }
33
+ (0, portalPublicArtifactValidationCommon_1.validateJsonArray)(billing.costViewByCurrency, `${field}.costViewByCurrency`);
34
+ const grouped = (0, portalPublicArtifactValidationCommon_1.asRecord)(billing.groupedCosts, `${field}.groupedCosts`);
35
+ (0, portalPublicArtifactValidationCommon_1.assertExactKeys)(grouped, ['byChargeCategory', 'byServiceCode', 'byServiceCategory'], `${field}.groupedCosts`);
36
+ validateBillingGroupedResult(grouped.byChargeCategory, `${field}.groupedCosts.byChargeCategory`, 'chargeCategory');
37
+ validateBillingGroupedResult(grouped.byServiceCode, `${field}.groupedCosts.byServiceCode`, 'serviceCode');
38
+ if (grouped.byServiceCategory !== undefined)
39
+ validateBillingGroupedResult(grouped.byServiceCategory, `${field}.groupedCosts.byServiceCategory`, 'serviceCategory');
40
+ ['commitmentSpend', 'resourceAttribution', 'calendarSummary', 'periodSummary', 'spendTrend', 'comparison'].forEach(key => {
41
+ if (billing[key] !== undefined)
42
+ (0, portalPublicArtifactValidationCommon_1.validateJsonObject)(billing[key], `${field}.${key}`);
43
+ });
44
+ }
45
+ function validateAwsPortalRecommendationCoverage(value, accountId, regions, field, sources, includeTrust) {
46
+ const recommendations = (0, portalPublicArtifactValidationCommon_1.asRecord)(value, field);
47
+ (0, portalPublicArtifactValidationCommon_1.assertExactKeys)(recommendations, ['sources'], field);
48
+ if (!Array.isArray(recommendations.sources))
49
+ throw new Error(`${field}.sources must be an array.`);
50
+ const seenSources = [];
51
+ recommendations.sources.forEach((entry, index) => {
52
+ const itemField = `${field}.sources[${index}]`;
53
+ const source = (0, portalPublicArtifactValidationCommon_1.asRecord)(entry, itemField);
54
+ (0, portalPublicArtifactValidationCommon_1.assertExactKeys)(source, includeTrust
55
+ ? ['source', 'scope', 'summary', 'counts', 'savings', 'sourceEvidence', 'actionHealth']
56
+ : ['source', 'scope', 'summary', 'counts', 'savings'], itemField);
57
+ const sourceName = (0, portalPublicArtifactValidationCommon_1.requiredString)(source.source, `${itemField}.source`);
58
+ if (!sources.includes(sourceName))
59
+ throw new Error(`${itemField}.source is not declared.`);
60
+ seenSources.push(sourceName);
61
+ const scope = (0, portalPublicArtifactValidationCommon_1.asRecord)(source.scope, `${itemField}.scope`);
62
+ (0, portalPublicArtifactValidationCommon_1.assertExactKeys)(scope, ['provider', 'source', 'scope', 'accountId', 'resourceRegions'], `${itemField}.scope`);
63
+ (0, portalPublicArtifactValidationCommon_1.assertValue)(scope.provider, 'aws', `${itemField}.scope.provider`);
64
+ (0, portalPublicArtifactValidationCommon_1.assertValue)(scope.source, sourceName, `${itemField}.scope.source`);
65
+ (0, portalPublicArtifactValidationCommon_1.assertValue)(scope.scope, 'account', `${itemField}.scope.scope`);
66
+ (0, portalPublicArtifactValidationCommon_1.assertValue)(scope.accountId, accountId, `${itemField}.scope.accountId`);
67
+ const nestedRegions = (0, portalPublicArtifactValidationCommon_1.stringArray)(scope.resourceRegions, `${itemField}.scope.resourceRegions`);
68
+ if (JSON.stringify(nestedRegions) !== JSON.stringify(regions))
69
+ throw new Error(`${itemField}.scope.resourceRegions must match artifact scope exactly.`);
70
+ validateRecommendationSummary(source.summary, `${itemField}.summary`);
71
+ validateRecommendationCounts(source.counts, `${itemField}.counts`);
72
+ validateRecommendationSavings(source.savings, `${itemField}.savings`);
73
+ if (source.sourceEvidence !== undefined)
74
+ validateRecommendationSourceEvidence(source.sourceEvidence, `${itemField}.sourceEvidence`);
75
+ if (source.actionHealth !== undefined)
76
+ validateRecommendationActionHealth(source.actionHealth, `${itemField}.actionHealth`);
77
+ });
78
+ (0, portalPublicArtifactValidationCommon_1.assertUnique)(seenSources, `${field}.sources`);
79
+ }
80
+ function validateBillingEvidenceScope(value, outerBilling, accountId, field) {
81
+ const scope = (0, portalPublicArtifactValidationCommon_1.asRecord)(value, field);
82
+ (0, portalPublicArtifactValidationCommon_1.assertExactKeys)(scope, ['provider', 'source', 'scope', 'accountId', 'reportName', 'billingPeriod'], field);
83
+ (0, portalPublicArtifactValidationCommon_1.assertValue)(scope.provider, 'aws', `${field}.provider`);
84
+ (0, portalPublicArtifactValidationCommon_1.assertValue)(scope.source, outerBilling.source, `${field}.source`);
85
+ (0, portalPublicArtifactValidationCommon_1.assertValue)(scope.scope, 'account', `${field}.scope`);
86
+ (0, portalPublicArtifactValidationCommon_1.assertValue)(scope.accountId, accountId, `${field}.accountId`);
87
+ (0, portalPublicArtifactValidationCommon_1.assertValue)(scope.reportName, outerBilling.source === 'cur' ? outerBilling.reportName : outerBilling.exportName, `${field}.reportName`);
88
+ if (JSON.stringify(scope.billingPeriod) !== JSON.stringify(outerBilling.billingPeriod))
89
+ throw new Error(`${field}.billingPeriod must match artifact scope exactly.`);
90
+ }
91
+ function validateBillingSummary(value, field) {
92
+ const summary = (0, portalPublicArtifactValidationCommon_1.asRecord)(value, field);
93
+ (0, portalPublicArtifactValidationCommon_1.assertExactKeys)(summary, ['totalPersistedExpenseCount', 'emptyScope', 'metadataFound', 'metadataMatchesRequestedBillingPeriod'], field);
94
+ (0, portalPublicArtifactValidationCommon_1.nonNegativeInteger)(summary.totalPersistedExpenseCount, `${field}.totalPersistedExpenseCount`);
95
+ (0, portalPublicArtifactValidationCommon_1.requiredBoolean)(summary.emptyScope, `${field}.emptyScope`);
96
+ (0, portalPublicArtifactValidationCommon_1.requiredBoolean)(summary.metadataFound, `${field}.metadataFound`);
97
+ (0, portalPublicArtifactValidationCommon_1.requiredBoolean)(summary.metadataMatchesRequestedBillingPeriod, `${field}.metadataMatchesRequestedBillingPeriod`);
98
+ }
99
+ function validateBillingGroupedResult(value, field, label) {
100
+ const result = (0, portalPublicArtifactValidationCommon_1.asRecord)(value, field);
101
+ (0, portalPublicArtifactValidationCommon_1.assertExactKeys)(result, ['totalGroupCount', 'returnedGroupCount', 'truncated', 'items'], field);
102
+ const total = (0, portalPublicArtifactValidationCommon_1.nonNegativeInteger)(result.totalGroupCount, `${field}.totalGroupCount`);
103
+ const returned = (0, portalPublicArtifactValidationCommon_1.nonNegativeInteger)(result.returnedGroupCount, `${field}.returnedGroupCount`);
104
+ (0, portalPublicArtifactValidationCommon_1.requiredBoolean)(result.truncated, `${field}.truncated`);
105
+ if (returned > total)
106
+ throw new Error(`${field}.returnedGroupCount must not exceed totalGroupCount.`);
107
+ if (!Array.isArray(result.items) || result.items.length !== returned)
108
+ throw new Error(`${field}.items length must equal returnedGroupCount.`);
109
+ const identities = [];
110
+ result.items.forEach((entry, index) => {
111
+ const itemField = `${field}.items[${index}]`;
112
+ const item = (0, portalPublicArtifactValidationCommon_1.asRecord)(entry, itemField);
113
+ (0, portalPublicArtifactValidationCommon_1.assertExactKeys)(item, [...(label ? [label] : []), 'currency', 'expenseCount', 'baseCostAmount', 'amortizedCostAmount', 'amortizedExpenseCount'], itemField);
114
+ if (label)
115
+ (0, portalPublicArtifactValidationCommon_1.requiredString)(item[label], `${itemField}.${label}`);
116
+ const currency = (0, portalPublicArtifactValidationCommon_1.requiredString)(item.currency, `${itemField}.currency`);
117
+ (0, portalPublicArtifactValidationCommon_1.nonNegativeInteger)(item.expenseCount, `${itemField}.expenseCount`);
118
+ (0, portalPublicArtifactValidationCommon_1.finiteNumber)(item.baseCostAmount, `${itemField}.baseCostAmount`);
119
+ if (item.amortizedCostAmount !== undefined)
120
+ (0, portalPublicArtifactValidationCommon_1.finiteNumber)(item.amortizedCostAmount, `${itemField}.amortizedCostAmount`);
121
+ if (item.amortizedExpenseCount !== undefined)
122
+ (0, portalPublicArtifactValidationCommon_1.nonNegativeInteger)(item.amortizedExpenseCount, `${itemField}.amortizedExpenseCount`);
123
+ identities.push(`${label ? String(item[label]) : ''}|${currency}`);
124
+ });
125
+ (0, portalPublicArtifactValidationCommon_1.assertUnique)(identities, `${field}.items`);
126
+ }
127
+ function validateRecommendationSummary(value, field) {
128
+ const summary = (0, portalPublicArtifactValidationCommon_1.asRecord)(value, field);
129
+ const counts = [
130
+ 'totalStateCount',
131
+ 'currentStateCount',
132
+ 'missingStateCount',
133
+ 'snapshotBackedCount',
134
+ 'orphanSnapshotCount',
135
+ 'matchedStateCount',
136
+ 'filteredOutStateCount',
137
+ ];
138
+ (0, portalPublicArtifactValidationCommon_1.assertExactKeys)(summary, [...counts, 'emptyScope', 'emptyResult'], field);
139
+ counts.forEach(key => (0, portalPublicArtifactValidationCommon_1.nonNegativeInteger)(summary[key], `${field}.${key}`));
140
+ (0, portalPublicArtifactValidationCommon_1.requiredBoolean)(summary.emptyScope, `${field}.emptyScope`);
141
+ (0, portalPublicArtifactValidationCommon_1.requiredBoolean)(summary.emptyResult, `${field}.emptyResult`);
142
+ }
143
+ function validateRecommendationCounts(value, field) {
144
+ const counts = (0, portalPublicArtifactValidationCommon_1.asRecord)(value, field);
145
+ const groups = [
146
+ ['byLifecycleStatus', 'lifecycleStatus'],
147
+ ['bySourcePresence', 'sourcePresence'],
148
+ ['byCategory', 'category'],
149
+ ['byRegion', 'region'],
150
+ ['bySourceService', 'sourceService'],
151
+ ['byResourceType', 'resourceType'],
152
+ ['byActionType', 'actionType'],
153
+ ['byImplementationEffort', 'implementationEffort'],
154
+ ];
155
+ (0, portalPublicArtifactValidationCommon_1.assertExactKeys)(counts, groups.map(([group]) => group), field);
156
+ groups.forEach(([group, label]) => validateCountGroup(counts[group], `${field}.${group}`, label));
157
+ }
158
+ function validateCountGroup(value, field, label) {
159
+ if (!Array.isArray(value))
160
+ throw new Error(`${field} must be an array.`);
161
+ const identities = [];
162
+ value.forEach((entry, index) => {
163
+ const item = (0, portalPublicArtifactValidationCommon_1.asRecord)(entry, `${field}[${index}]`);
164
+ (0, portalPublicArtifactValidationCommon_1.assertExactKeys)(item, [label, 'count'], `${field}[${index}]`);
165
+ identities.push((0, portalPublicArtifactValidationCommon_1.requiredString)(item[label], `${field}[${index}].${label}`));
166
+ (0, portalPublicArtifactValidationCommon_1.nonNegativeInteger)(item.count, `${field}[${index}].count`);
167
+ });
168
+ (0, portalPublicArtifactValidationCommon_1.assertUnique)(identities, field);
169
+ }
170
+ function validateRecommendationSavings(value, field) {
171
+ const savings = (0, portalPublicArtifactValidationCommon_1.asRecord)(value, field);
172
+ const counts = [
173
+ 'snapshotBackedMatchedCount',
174
+ 'positiveEstimatedSavingsRecommendationCount',
175
+ 'nonPositiveEstimatedSavingsCount',
176
+ 'missingEstimatedSavingsCount',
177
+ 'missingCurrencyCodeCount',
178
+ ];
179
+ (0, portalPublicArtifactValidationCommon_1.assertExactKeys)(savings, [...counts, 'emptySavings', 'mixedCurrencies', 'byCurrency'], field);
180
+ counts.forEach(key => (0, portalPublicArtifactValidationCommon_1.nonNegativeInteger)(savings[key], `${field}.${key}`));
181
+ (0, portalPublicArtifactValidationCommon_1.requiredBoolean)(savings.emptySavings, `${field}.emptySavings`);
182
+ (0, portalPublicArtifactValidationCommon_1.requiredBoolean)(savings.mixedCurrencies, `${field}.mixedCurrencies`);
183
+ if (!Array.isArray(savings.byCurrency))
184
+ throw new Error(`${field}.byCurrency must be an array.`);
185
+ const currencies = [];
186
+ savings.byCurrency.forEach((entry, index) => {
187
+ const itemField = `${field}.byCurrency[${index}]`;
188
+ const item = (0, portalPublicArtifactValidationCommon_1.asRecord)(entry, itemField);
189
+ (0, portalPublicArtifactValidationCommon_1.assertExactKeys)(item, ['currencyCode', 'recommendationCount', 'totalEstimatedMonthlySavings'], itemField);
190
+ currencies.push((0, portalPublicArtifactValidationCommon_1.requiredString)(item.currencyCode, `${itemField}.currencyCode`));
191
+ (0, portalPublicArtifactValidationCommon_1.nonNegativeInteger)(item.recommendationCount, `${itemField}.recommendationCount`);
192
+ (0, portalPublicArtifactValidationCommon_1.finiteNumber)(item.totalEstimatedMonthlySavings, `${itemField}.totalEstimatedMonthlySavings`);
193
+ });
194
+ (0, portalPublicArtifactValidationCommon_1.assertUnique)(currencies, `${field}.byCurrency`);
195
+ }
196
+ function validateRecommendationSourceEvidence(value, field) {
197
+ const evidence = (0, portalPublicArtifactValidationCommon_1.asRecord)(value, field);
198
+ const baseKeys = [
199
+ 'totalStateCount',
200
+ 'currentStateCount',
201
+ 'missingStateCount',
202
+ 'snapshotBackedCount',
203
+ 'orphanSnapshotCount',
204
+ 'matchedStateCount',
205
+ 'filteredOutStateCount',
206
+ 'emptyScope',
207
+ 'emptyResult',
208
+ ];
209
+ (0, portalPublicArtifactValidationCommon_1.assertExactKeys)(evidence, [...baseKeys, 'partialSourceEvidence', 'oldestRecommendationSynchronizedAt', 'latestRecommendationSynchronizedAt', 'exactScopeCoverage'], field);
210
+ baseKeys.filter(key => !['emptyScope', 'emptyResult'].includes(key)).forEach(key => (0, portalPublicArtifactValidationCommon_1.nonNegativeInteger)(evidence[key], `${field}.${key}`));
211
+ (0, portalPublicArtifactValidationCommon_1.requiredBoolean)(evidence.emptyScope, `${field}.emptyScope`);
212
+ (0, portalPublicArtifactValidationCommon_1.requiredBoolean)(evidence.emptyResult, `${field}.emptyResult`);
213
+ (0, portalPublicArtifactValidationCommon_1.requiredBoolean)(evidence.partialSourceEvidence, `${field}.partialSourceEvidence`);
214
+ if (evidence.oldestRecommendationSynchronizedAt !== undefined)
215
+ (0, portalPublicArtifactValidationCommon_1.isoTimestamp)(evidence.oldestRecommendationSynchronizedAt, `${field}.oldestRecommendationSynchronizedAt`);
216
+ if (evidence.latestRecommendationSynchronizedAt !== undefined)
217
+ (0, portalPublicArtifactValidationCommon_1.isoTimestamp)(evidence.latestRecommendationSynchronizedAt, `${field}.latestRecommendationSynchronizedAt`);
218
+ if (evidence.exactScopeCoverage !== undefined)
219
+ (0, portalPublicArtifactValidationCommon_1.validateJsonObject)(evidence.exactScopeCoverage, `${field}.exactScopeCoverage`);
220
+ }
221
+ function validateRecommendationActionHealth(value, field) {
222
+ const health = (0, portalPublicArtifactValidationCommon_1.asRecord)(value, field);
223
+ (0, portalPublicArtifactValidationCommon_1.assertExactKeys)(health, ['latestActionCount', 'byLatestActionStatus'], field);
224
+ (0, portalPublicArtifactValidationCommon_1.nonNegativeInteger)(health.latestActionCount, `${field}.latestActionCount`);
225
+ validateCountGroup(health.byLatestActionStatus, `${field}.byLatestActionStatus`, 'status');
226
+ }
227
+ //# sourceMappingURL=portalPublicArtifactEvidenceValidation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"portalPublicArtifactEvidenceValidation.js","sourceRoot":"","sources":["../../src/aws/portalPublicArtifactEvidenceValidation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { type AwsPortalAccountSummaryAiCostSummaryArtifact, type AwsPortalAccountSummaryHistoryArtifact, type AwsPortalResourceCollectionHistoryArtifact, type AwsPortalRetainedHistoryBodyReference } from './portalPublicArtifactHistoryTypes';
2
+ export declare function validateAwsPortalResourceCollectionHistoryArtifact(value: unknown): AwsPortalResourceCollectionHistoryArtifact;
3
+ export declare function validateAwsPortalAccountSummaryHistoryArtifact(value: unknown): AwsPortalAccountSummaryHistoryArtifact;
4
+ export declare function validateAwsPortalRetainedHistoryBodyReference(value: unknown): AwsPortalRetainedHistoryBodyReference;
5
+ export declare function validateAwsPortalRetainedHistoryBodyBinding(referenceValue: unknown, artifactValue: unknown): AwsPortalRetainedHistoryBodyReference;
6
+ export declare function validateAwsPortalAccountSummaryAiCostSummaryArtifact(value: unknown): AwsPortalAccountSummaryAiCostSummaryArtifact;
7
+ export declare function validateAwsPortalAccountSummaryAiCostSummarySiblingBinding(aiValue: unknown, siblingValue: unknown, siblingBodyDescriptorValue: unknown): AwsPortalAccountSummaryAiCostSummaryArtifact;
8
+ //# sourceMappingURL=portalPublicArtifactHistoryAiValidation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"portalPublicArtifactHistoryAiValidation.d.ts","sourceRoot":"","sources":["../../src/aws/portalPublicArtifactHistoryAiValidation.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,KAAK,4CAA4C,EACjD,KAAK,sCAAsC,EAC3C,KAAK,0CAA0C,EAC/C,KAAK,qCAAqC,EAC3C,MAAM,oCAAoC,CAAC;AA+E5C,wBAAgB,kDAAkD,CAAC,KAAK,EAAE,OAAO,GAAG,0CAA0C,CAgB7H;AAED,wBAAgB,8CAA8C,CAAC,KAAK,EAAE,OAAO,GAAG,sCAAsC,CAgBrH;AAED,wBAAgB,6CAA6C,CAAC,KAAK,EAAE,OAAO,GAAG,qCAAqC,CAiBnH;AAED,wBAAgB,2CAA2C,CAAC,cAAc,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,GAAG,qCAAqC,CAWlJ;AAED,wBAAgB,oDAAoD,CAAC,KAAK,EAAE,OAAO,GAAG,4CAA4C,CA6BjI;AAED,wBAAgB,0DAA0D,CACxE,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,OAAO,EACrB,0BAA0B,EAAE,OAAO,GAClC,4CAA4C,CAe9C"}