@spottoai/types-package 1.0.2-dev1138.12 → 1.0.2-dev1138.14

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 (453) hide show
  1. package/README.md +3 -0
  2. package/dist/accounts/accounts.d.ts +13 -0
  3. package/dist/accounts/accounts.d.ts.map +1 -1
  4. package/dist/accounts/azureSpSetup.d.ts +5 -0
  5. package/dist/accounts/azureSpSetup.d.ts.map +1 -1
  6. package/dist/accounts/azureSpSetup.js.map +1 -1
  7. package/dist/accounts/index.d.ts +1 -0
  8. package/dist/accounts/index.d.ts.map +1 -1
  9. package/dist/accounts/index.js +1 -0
  10. package/dist/accounts/index.js.map +1 -1
  11. package/dist/accounts/subscriptionWriteAccess.d.ts +76 -0
  12. package/dist/accounts/subscriptionWriteAccess.d.ts.map +1 -0
  13. package/dist/accounts/subscriptionWriteAccess.js +119 -0
  14. package/dist/accounts/subscriptionWriteAccess.js.map +1 -0
  15. package/dist/accounts/writePermissions.d.ts +17 -1
  16. package/dist/accounts/writePermissions.d.ts.map +1 -1
  17. package/dist/accounts/writePermissions.js +47 -1
  18. package/dist/accounts/writePermissions.js.map +1 -1
  19. package/dist/ai/followUps.d.ts +16 -0
  20. package/dist/ai/followUps.d.ts.map +1 -0
  21. package/dist/ai/followUps.js +21 -0
  22. package/dist/ai/followUps.js.map +1 -0
  23. package/dist/ai/grounding.d.ts +42 -5
  24. package/dist/ai/grounding.d.ts.map +1 -1
  25. package/dist/ai/grounding.js +76 -8
  26. package/dist/ai/grounding.js.map +1 -1
  27. package/dist/ai/index.d.ts +4 -0
  28. package/dist/ai/index.d.ts.map +1 -1
  29. package/dist/ai/index.js +1 -0
  30. package/dist/ai/index.js.map +1 -1
  31. package/dist/aws/commitments-planning.d.ts +1 -1
  32. package/dist/aws/commitments-planning.d.ts.map +1 -1
  33. package/dist/aws/commitments-planning.js +1 -0
  34. package/dist/aws/commitments-planning.js.map +1 -1
  35. package/dist/aws/commitmentsPlanningValidation.d.ts +1 -1
  36. package/dist/aws/commitmentsPlanningValidation.d.ts.map +1 -1
  37. package/dist/aws/commitmentsPlanningValidation.js +26 -25
  38. package/dist/aws/commitmentsPlanningValidation.js.map +1 -1
  39. package/dist/aws/commitmentsPlanningView.d.ts +49 -0
  40. package/dist/aws/commitmentsPlanningView.d.ts.map +1 -0
  41. package/dist/aws/{pluginPublicArtifactEvidence.js → commitmentsPlanningView.js} +1 -1
  42. package/dist/aws/commitmentsPlanningView.js.map +1 -0
  43. package/dist/aws/index.d.ts +2 -14
  44. package/dist/aws/index.d.ts.map +1 -1
  45. package/dist/aws/index.js +2 -13
  46. package/dist/aws/index.js.map +1 -1
  47. package/dist/aws/organizationCommitments.d.ts +2 -1
  48. package/dist/aws/organizationCommitments.d.ts.map +1 -1
  49. package/dist/aws/organizationCommitments.js +2 -2
  50. package/dist/aws/organizationCommitments.js.map +1 -1
  51. package/dist/aws/organizationCommitmentsApiValidation.d.ts.map +1 -1
  52. package/dist/aws/organizationCommitmentsApiValidation.js +64 -64
  53. package/dist/aws/organizationCommitmentsApiValidation.js.map +1 -1
  54. package/dist/aws/organizationCommitmentsValidation.d.ts.map +1 -1
  55. package/dist/aws/organizationCommitmentsValidation.js +45 -44
  56. package/dist/aws/organizationCommitmentsValidation.js.map +1 -1
  57. package/dist/aws/portalOrganizationCommitmentsPlanningPublicArtifactValidation.d.ts.map +1 -1
  58. package/dist/aws/portalOrganizationCommitmentsPlanningPublicArtifactValidation.js +79 -76
  59. package/dist/aws/portalOrganizationCommitmentsPlanningPublicArtifactValidation.js.map +1 -1
  60. package/dist/aws/portalOrganizationCommitmentsPlanningPublicArtifacts.d.ts +1 -2
  61. package/dist/aws/portalOrganizationCommitmentsPlanningPublicArtifacts.d.ts.map +1 -1
  62. package/dist/aws/portalOrganizationCommitmentsPlanningPublicArtifacts.js.map +1 -1
  63. package/dist/aws/publicArtifacts.d.ts +2 -37
  64. package/dist/aws/publicArtifacts.d.ts.map +1 -1
  65. package/dist/aws/publicArtifacts.js +3 -1
  66. package/dist/aws/publicArtifacts.js.map +1 -1
  67. package/dist/aws/relationships.d.ts +5 -3
  68. package/dist/aws/relationships.d.ts.map +1 -1
  69. package/dist/aws/relationships.js +18 -3
  70. package/dist/aws/relationships.js.map +1 -1
  71. package/dist/aws/requests.d.ts +35 -3
  72. package/dist/aws/requests.d.ts.map +1 -1
  73. package/dist/aws/requests.js +5 -3
  74. package/dist/aws/requests.js.map +1 -1
  75. package/dist/aws/resourceGraph.d.ts +14 -0
  76. package/dist/aws/resourceGraph.d.ts.map +1 -0
  77. package/dist/aws/resourceGraph.js +68 -0
  78. package/dist/aws/resourceGraph.js.map +1 -0
  79. package/dist/aws/validationHelpers.d.ts +8 -0
  80. package/dist/aws/validationHelpers.d.ts.map +1 -0
  81. package/dist/aws/validationHelpers.js +54 -0
  82. package/dist/aws/validationHelpers.js.map +1 -0
  83. package/dist/azure/commitmentsPlanning.d.ts +15 -46
  84. package/dist/azure/commitmentsPlanning.d.ts.map +1 -1
  85. package/dist/azure/commitmentsPlanning.js +9 -0
  86. package/dist/azure/commitmentsPlanning.js.map +1 -1
  87. package/dist/azure/commitmentsPlanningValidation.d.ts +18 -0
  88. package/dist/azure/commitmentsPlanningValidation.d.ts.map +1 -0
  89. package/dist/azure/commitmentsPlanningValidation.js +50 -0
  90. package/dist/azure/commitmentsPlanningValidation.js.map +1 -0
  91. package/dist/azure/dataProtection.d.ts +40 -0
  92. package/dist/azure/dataProtection.d.ts.map +1 -1
  93. package/dist/azure/governance.d.ts +5 -0
  94. package/dist/azure/governance.d.ts.map +1 -1
  95. package/dist/azure/metrics.d.ts +2 -27
  96. package/dist/azure/metrics.d.ts.map +1 -1
  97. package/dist/azure/payloads.d.ts +24 -0
  98. package/dist/azure/payloads.d.ts.map +1 -1
  99. package/dist/azure/payloads.js +87 -0
  100. package/dist/azure/payloads.js.map +1 -1
  101. package/dist/azure/recommendationTracks.d.ts +1 -1
  102. package/dist/azure/recommendationTracks.d.ts.map +1 -1
  103. package/dist/azure/reportEvidence.d.ts +192 -11
  104. package/dist/azure/reportEvidence.d.ts.map +1 -1
  105. package/dist/azure/reportEvidence.js +9 -1
  106. package/dist/azure/reportEvidence.js.map +1 -1
  107. package/dist/azure/reportEvidenceValidation.d.ts.map +1 -1
  108. package/dist/azure/reportEvidenceValidation.js +201 -5
  109. package/dist/azure/reportEvidenceValidation.js.map +1 -1
  110. package/dist/azure/reportEvidenceValidationHelpers.d.ts +3 -16
  111. package/dist/azure/reportEvidenceValidationHelpers.d.ts.map +1 -1
  112. package/dist/azure/reportEvidenceValidationHelpers.js +80 -92
  113. package/dist/azure/reportEvidenceValidationHelpers.js.map +1 -1
  114. package/dist/azure/resilienceFacts.d.ts +100 -0
  115. package/dist/azure/resilienceFacts.d.ts.map +1 -0
  116. package/dist/azure/resilienceFacts.js +20 -0
  117. package/dist/azure/resilienceFacts.js.map +1 -0
  118. package/dist/azure/resilienceFactsValidation.d.ts +4 -0
  119. package/dist/azure/resilienceFactsValidation.d.ts.map +1 -0
  120. package/dist/azure/resilienceFactsValidation.js +70 -0
  121. package/dist/azure/resilienceFactsValidation.js.map +1 -0
  122. package/dist/azure/savings.d.ts +4 -2
  123. package/dist/azure/savings.d.ts.map +1 -1
  124. package/dist/azure/serviceRetirement.d.ts +21 -2
  125. package/dist/azure/serviceRetirement.d.ts.map +1 -1
  126. package/dist/azure/views.d.ts +24 -1
  127. package/dist/azure/views.d.ts.map +1 -1
  128. package/dist/azure/views.js.map +1 -1
  129. package/dist/common/boundedRows.d.ts +7 -0
  130. package/dist/common/boundedRows.d.ts.map +1 -0
  131. package/dist/{scheduler/scheduler.js → common/boundedRows.js} +1 -1
  132. package/dist/common/boundedRows.js.map +1 -0
  133. package/dist/common/index.d.ts +3 -0
  134. package/dist/common/index.d.ts.map +1 -1
  135. package/dist/common/index.js +3 -0
  136. package/dist/common/index.js.map +1 -1
  137. package/dist/common/metricStats.d.ts +29 -0
  138. package/dist/common/metricStats.d.ts.map +1 -0
  139. package/dist/{scheduler/bastionSchedule.js → common/metricStats.js} +1 -1
  140. package/dist/common/metricStats.js.map +1 -0
  141. package/dist/common/provider.d.ts +2 -0
  142. package/dist/common/provider.d.ts.map +1 -1
  143. package/dist/common/relationships.d.ts +3 -3
  144. package/dist/common/relationships.d.ts.map +1 -1
  145. package/dist/common/resourceGraph.d.ts +137 -0
  146. package/dist/common/resourceGraph.d.ts.map +1 -0
  147. package/dist/common/resourceGraph.js +17 -0
  148. package/dist/common/resourceGraph.js.map +1 -0
  149. package/dist/common/resourceGraphValidation.d.ts +30 -0
  150. package/dist/common/resourceGraphValidation.d.ts.map +1 -0
  151. package/dist/common/resourceGraphValidation.js +369 -0
  152. package/dist/common/resourceGraphValidation.js.map +1 -0
  153. package/dist/common/resourceIdentity.d.ts +28 -0
  154. package/dist/common/resourceIdentity.d.ts.map +1 -0
  155. package/dist/common/resourceIdentity.js +35 -0
  156. package/dist/common/resourceIdentity.js.map +1 -0
  157. package/dist/common/sha256.d.ts +2 -0
  158. package/dist/common/sha256.d.ts.map +1 -1
  159. package/dist/common/sha256.js +3 -0
  160. package/dist/common/sha256.js.map +1 -1
  161. package/dist/common/utilizationStories.d.ts +695 -0
  162. package/dist/common/utilizationStories.d.ts.map +1 -0
  163. package/dist/common/utilizationStories.js +21 -0
  164. package/dist/common/utilizationStories.js.map +1 -0
  165. package/dist/common/utilizationStoriesValidation.d.ts +60 -0
  166. package/dist/common/utilizationStoriesValidation.d.ts.map +1 -0
  167. package/dist/common/utilizationStoriesValidation.js +762 -0
  168. package/dist/common/utilizationStoriesValidation.js.map +1 -0
  169. package/dist/common/validationHelpers.d.ts +37 -0
  170. package/dist/common/validationHelpers.d.ts.map +1 -0
  171. package/dist/common/validationHelpers.js +147 -0
  172. package/dist/common/validationHelpers.js.map +1 -0
  173. package/dist/esm/accounts/index.js +1 -0
  174. package/dist/esm/accounts/subscriptionWriteAccess.js +112 -0
  175. package/dist/esm/accounts/writePermissions.js +46 -0
  176. package/dist/esm/ai/followUps.js +16 -0
  177. package/dist/esm/ai/grounding.js +74 -7
  178. package/dist/esm/ai/index.js +1 -0
  179. package/dist/esm/aws/commitments-planning.js +1 -0
  180. package/dist/esm/aws/commitmentsPlanningValidation.js +2 -1
  181. package/dist/esm/aws/index.js +2 -13
  182. package/dist/esm/aws/organizationCommitments.js +2 -2
  183. package/dist/esm/aws/organizationCommitmentsApiValidation.js +5 -5
  184. package/dist/esm/aws/organizationCommitmentsValidation.js +2 -1
  185. package/dist/esm/aws/portalOrganizationCommitmentsPlanningPublicArtifactValidation.js +8 -5
  186. package/dist/esm/aws/publicArtifacts.js +2 -0
  187. package/dist/esm/aws/relationships.js +4 -1
  188. package/dist/esm/aws/requests.js +4 -2
  189. package/dist/esm/aws/resourceGraph.js +63 -0
  190. package/dist/esm/aws/validationHelpers.js +46 -0
  191. package/dist/esm/azure/commitmentsPlanning.js +8 -1
  192. package/dist/esm/azure/commitmentsPlanningValidation.js +39 -0
  193. package/dist/esm/azure/payloads.js +84 -1
  194. package/dist/esm/azure/reportEvidence.js +8 -0
  195. package/dist/esm/azure/reportEvidenceValidation.js +202 -6
  196. package/dist/esm/azure/reportEvidenceValidationHelpers.js +7 -19
  197. package/dist/esm/azure/resilienceFacts.js +16 -0
  198. package/dist/esm/azure/resilienceFactsValidation.js +64 -0
  199. package/dist/esm/common/index.js +3 -0
  200. package/dist/esm/common/resourceGraph.js +13 -0
  201. package/dist/esm/common/resourceGraphValidation.js +365 -0
  202. package/dist/esm/common/resourceIdentity.js +24 -0
  203. package/dist/esm/common/sha256.js +2 -0
  204. package/dist/esm/common/utilizationStories.js +17 -0
  205. package/dist/esm/common/utilizationStoriesValidation.js +718 -0
  206. package/dist/esm/common/validationHelpers.js +115 -0
  207. package/dist/esm/entries/relationships.js +2 -2
  208. package/dist/esm/index.js +5 -0
  209. package/dist/esm/index.vite.js +1 -0
  210. package/dist/esm/reporting/jobs/index.js +13 -0
  211. package/dist/esm/reporting/jobs/reportJobIdentity.js +76 -0
  212. package/dist/esm/reporting/jobs/reportJobMessages.js +47 -0
  213. package/dist/esm/reporting/jobs/reportJobRow.js +264 -0
  214. package/dist/esm/reporting/jobs/reportJobSpec.js +295 -0
  215. package/dist/esm/reporting/jobs/reportJobStatus.js +87 -0
  216. package/dist/esm/reporting/shared/reportTableEntities.js +41 -0
  217. package/dist/esm/reporting/shared/reportingDigest.js +57 -0
  218. package/dist/esm/reporting/shared/reportingIds.js +88 -0
  219. package/dist/esm/reporting/shared/reportingPaths.js +23 -0
  220. package/dist/esm/scheduler/index.js +4 -4
  221. package/dist/esm/scheduler/resourceStrategy.js +2 -0
  222. package/dist/esm/scheduler/resourceStrategyCapabilityValidation.js +265 -0
  223. package/dist/esm/scheduler/resourceStrategyContracts.js +20 -0
  224. package/dist/esm/scheduler/resourceStrategyFinancialValidation.js +145 -0
  225. package/dist/esm/scheduler/resourceStrategyPermissionValidation.js +190 -0
  226. package/dist/esm/scheduler/resourceStrategyScheduleValidation.js +506 -0
  227. package/dist/esm/scheduler/resourceStrategyValidation.js +4 -0
  228. package/dist/esm/scheduler/resourceStrategyValidationShared.js +261 -0
  229. package/dist/esm/scheduler/schedulerValidation.js +372 -0
  230. package/dist/esm/scheduler/weeklyAvailabilityFixtures.js +140 -0
  231. package/dist/index.d.ts +5 -0
  232. package/dist/index.d.ts.map +1 -1
  233. package/dist/index.js +5 -0
  234. package/dist/index.js.map +1 -1
  235. package/dist/index.vite.d.ts +1 -0
  236. package/dist/index.vite.d.ts.map +1 -1
  237. package/dist/index.vite.js +1 -0
  238. package/dist/index.vite.js.map +1 -1
  239. package/dist/reporting/jobs/index.d.ts +14 -0
  240. package/dist/reporting/jobs/index.d.ts.map +1 -0
  241. package/dist/reporting/jobs/index.js +45 -0
  242. package/dist/reporting/jobs/index.js.map +1 -0
  243. package/dist/reporting/jobs/reportJobIdentity.d.ts +44 -0
  244. package/dist/reporting/jobs/reportJobIdentity.d.ts.map +1 -0
  245. package/dist/reporting/jobs/reportJobIdentity.js +88 -0
  246. package/dist/reporting/jobs/reportJobIdentity.js.map +1 -0
  247. package/dist/reporting/jobs/reportJobMessages.d.ts +30 -0
  248. package/dist/reporting/jobs/reportJobMessages.d.ts.map +1 -0
  249. package/dist/reporting/jobs/reportJobMessages.js +54 -0
  250. package/dist/reporting/jobs/reportJobMessages.js.map +1 -0
  251. package/dist/reporting/jobs/reportJobRow.d.ts +98 -0
  252. package/dist/reporting/jobs/reportJobRow.d.ts.map +1 -0
  253. package/dist/reporting/jobs/reportJobRow.js +270 -0
  254. package/dist/reporting/jobs/reportJobRow.js.map +1 -0
  255. package/dist/reporting/jobs/reportJobSpec.d.ts +92 -0
  256. package/dist/reporting/jobs/reportJobSpec.d.ts.map +1 -0
  257. package/dist/reporting/jobs/reportJobSpec.js +304 -0
  258. package/dist/reporting/jobs/reportJobSpec.js.map +1 -0
  259. package/dist/reporting/jobs/reportJobStatus.d.ts +60 -0
  260. package/dist/reporting/jobs/reportJobStatus.d.ts.map +1 -0
  261. package/dist/reporting/jobs/reportJobStatus.js +98 -0
  262. package/dist/reporting/jobs/reportJobStatus.js.map +1 -0
  263. package/dist/reporting/shared/reportTableEntities.d.ts +23 -0
  264. package/dist/reporting/shared/reportTableEntities.d.ts.map +1 -0
  265. package/dist/reporting/shared/reportTableEntities.js +47 -0
  266. package/dist/reporting/shared/reportTableEntities.js.map +1 -0
  267. package/dist/reporting/shared/reportingDigest.d.ts +6 -0
  268. package/dist/reporting/shared/reportingDigest.d.ts.map +1 -0
  269. package/dist/reporting/shared/reportingDigest.js +63 -0
  270. package/dist/reporting/shared/reportingDigest.js.map +1 -0
  271. package/dist/reporting/shared/reportingIds.d.ts +34 -0
  272. package/dist/reporting/shared/reportingIds.d.ts.map +1 -0
  273. package/dist/reporting/shared/reportingIds.js +102 -0
  274. package/dist/reporting/shared/reportingIds.js.map +1 -0
  275. package/dist/reporting/shared/reportingPaths.d.ts +14 -0
  276. package/dist/reporting/shared/reportingPaths.d.ts.map +1 -0
  277. package/dist/reporting/shared/reportingPaths.js +29 -0
  278. package/dist/reporting/shared/reportingPaths.js.map +1 -0
  279. package/dist/scheduler/index.d.ts +4 -4
  280. package/dist/scheduler/index.d.ts.map +1 -1
  281. package/dist/scheduler/index.js +4 -4
  282. package/dist/scheduler/index.js.map +1 -1
  283. package/dist/scheduler/resourceStrategy.d.ts +3 -0
  284. package/dist/scheduler/resourceStrategy.d.ts.map +1 -0
  285. package/dist/scheduler/resourceStrategy.js +19 -0
  286. package/dist/scheduler/resourceStrategy.js.map +1 -0
  287. package/dist/scheduler/resourceStrategyCapabilityValidation.d.ts +4 -0
  288. package/dist/scheduler/resourceStrategyCapabilityValidation.d.ts.map +1 -0
  289. package/dist/scheduler/resourceStrategyCapabilityValidation.js +270 -0
  290. package/dist/scheduler/resourceStrategyCapabilityValidation.js.map +1 -0
  291. package/dist/scheduler/resourceStrategyContracts.d.ts +466 -0
  292. package/dist/scheduler/resourceStrategyContracts.d.ts.map +1 -0
  293. package/dist/scheduler/resourceStrategyContracts.js +24 -0
  294. package/dist/scheduler/resourceStrategyContracts.js.map +1 -0
  295. package/dist/scheduler/resourceStrategyFinancialValidation.d.ts +5 -0
  296. package/dist/scheduler/resourceStrategyFinancialValidation.d.ts.map +1 -0
  297. package/dist/scheduler/resourceStrategyFinancialValidation.js +151 -0
  298. package/dist/scheduler/resourceStrategyFinancialValidation.js.map +1 -0
  299. package/dist/scheduler/resourceStrategyPermissionValidation.d.ts +4 -0
  300. package/dist/scheduler/resourceStrategyPermissionValidation.d.ts.map +1 -0
  301. package/dist/scheduler/resourceStrategyPermissionValidation.js +195 -0
  302. package/dist/scheduler/resourceStrategyPermissionValidation.js.map +1 -0
  303. package/dist/scheduler/resourceStrategyScheduleValidation.d.ts +14 -0
  304. package/dist/scheduler/resourceStrategyScheduleValidation.d.ts.map +1 -0
  305. package/dist/scheduler/resourceStrategyScheduleValidation.js +519 -0
  306. package/dist/scheduler/resourceStrategyScheduleValidation.js.map +1 -0
  307. package/dist/scheduler/resourceStrategyValidation.d.ts +5 -0
  308. package/dist/scheduler/resourceStrategyValidation.d.ts.map +1 -0
  309. package/dist/scheduler/resourceStrategyValidation.js +21 -0
  310. package/dist/scheduler/resourceStrategyValidation.js.map +1 -0
  311. package/dist/scheduler/resourceStrategyValidationShared.d.ts +19 -0
  312. package/dist/scheduler/resourceStrategyValidationShared.d.ts.map +1 -0
  313. package/dist/scheduler/resourceStrategyValidationShared.js +281 -0
  314. package/dist/scheduler/resourceStrategyValidationShared.js.map +1 -0
  315. package/dist/scheduler/schedulerContracts.d.ts +184 -0
  316. package/dist/scheduler/schedulerContracts.d.ts.map +1 -0
  317. package/dist/{aws/portalPublicArtifactNestedEvidence.js → scheduler/schedulerContracts.js} +1 -1
  318. package/dist/scheduler/schedulerContracts.js.map +1 -0
  319. package/dist/scheduler/schedulerValidation.d.ts +15 -0
  320. package/dist/scheduler/schedulerValidation.d.ts.map +1 -0
  321. package/dist/scheduler/schedulerValidation.js +388 -0
  322. package/dist/scheduler/schedulerValidation.js.map +1 -0
  323. package/dist/scheduler/weeklyAvailabilityFixtures.d.ts +26 -0
  324. package/dist/scheduler/weeklyAvailabilityFixtures.d.ts.map +1 -0
  325. package/dist/scheduler/weeklyAvailabilityFixtures.js +144 -0
  326. package/dist/scheduler/weeklyAvailabilityFixtures.js.map +1 -0
  327. package/package.json +26 -7
  328. package/dist/aws/pluginPublicArtifactBodyValidation.d.ts +0 -10
  329. package/dist/aws/pluginPublicArtifactBodyValidation.d.ts.map +0 -1
  330. package/dist/aws/pluginPublicArtifactBodyValidation.js +0 -225
  331. package/dist/aws/pluginPublicArtifactBodyValidation.js.map +0 -1
  332. package/dist/aws/pluginPublicArtifactEvidence.d.ts +0 -161
  333. package/dist/aws/pluginPublicArtifactEvidence.d.ts.map +0 -1
  334. package/dist/aws/pluginPublicArtifactEvidence.js.map +0 -1
  335. package/dist/aws/pluginPublicArtifactManifestValidation.d.ts +0 -4
  336. package/dist/aws/pluginPublicArtifactManifestValidation.d.ts.map +0 -1
  337. package/dist/aws/pluginPublicArtifactManifestValidation.js +0 -259
  338. package/dist/aws/pluginPublicArtifactManifestValidation.js.map +0 -1
  339. package/dist/aws/pluginPublicArtifactSectionValidation.d.ts +0 -6
  340. package/dist/aws/pluginPublicArtifactSectionValidation.d.ts.map +0 -1
  341. package/dist/aws/pluginPublicArtifactSectionValidation.js +0 -471
  342. package/dist/aws/pluginPublicArtifactSectionValidation.js.map +0 -1
  343. package/dist/aws/pluginPublicArtifactValidation.d.ts +0 -3
  344. package/dist/aws/pluginPublicArtifactValidation.d.ts.map +0 -1
  345. package/dist/aws/pluginPublicArtifactValidation.js +0 -9
  346. package/dist/aws/pluginPublicArtifactValidation.js.map +0 -1
  347. package/dist/aws/pluginPublicArtifactValidationHelpers.d.ts +0 -23
  348. package/dist/aws/pluginPublicArtifactValidationHelpers.d.ts.map +0 -1
  349. package/dist/aws/pluginPublicArtifactValidationHelpers.js +0 -240
  350. package/dist/aws/pluginPublicArtifactValidationHelpers.js.map +0 -1
  351. package/dist/aws/pluginPublicArtifacts.d.ts +0 -253
  352. package/dist/aws/pluginPublicArtifacts.d.ts.map +0 -1
  353. package/dist/aws/pluginPublicArtifacts.js +0 -51
  354. package/dist/aws/pluginPublicArtifacts.js.map +0 -1
  355. package/dist/aws/portalCommitmentsPlanningPublicArtifactValidation.d.ts +0 -4
  356. package/dist/aws/portalCommitmentsPlanningPublicArtifactValidation.d.ts.map +0 -1
  357. package/dist/aws/portalCommitmentsPlanningPublicArtifactValidation.js +0 -513
  358. package/dist/aws/portalCommitmentsPlanningPublicArtifactValidation.js.map +0 -1
  359. package/dist/aws/portalCommitmentsPlanningPublicArtifacts.d.ts +0 -13
  360. package/dist/aws/portalCommitmentsPlanningPublicArtifacts.d.ts.map +0 -1
  361. package/dist/aws/portalCommitmentsPlanningPublicArtifacts.js +0 -5
  362. package/dist/aws/portalCommitmentsPlanningPublicArtifacts.js.map +0 -1
  363. package/dist/aws/portalPublicArtifactCurrentValidation.d.ts +0 -4
  364. package/dist/aws/portalPublicArtifactCurrentValidation.d.ts.map +0 -1
  365. package/dist/aws/portalPublicArtifactCurrentValidation.js +0 -333
  366. package/dist/aws/portalPublicArtifactCurrentValidation.js.map +0 -1
  367. package/dist/aws/portalPublicArtifactEvidenceValidation.d.ts +0 -6
  368. package/dist/aws/portalPublicArtifactEvidenceValidation.d.ts.map +0 -1
  369. package/dist/aws/portalPublicArtifactEvidenceValidation.js +0 -301
  370. package/dist/aws/portalPublicArtifactEvidenceValidation.js.map +0 -1
  371. package/dist/aws/portalPublicArtifactHistoryAiValidation.d.ts +0 -8
  372. package/dist/aws/portalPublicArtifactHistoryAiValidation.d.ts.map +0 -1
  373. package/dist/aws/portalPublicArtifactHistoryAiValidation.js +0 -377
  374. package/dist/aws/portalPublicArtifactHistoryAiValidation.js.map +0 -1
  375. package/dist/aws/portalPublicArtifactHistoryTypes.d.ts +0 -178
  376. package/dist/aws/portalPublicArtifactHistoryTypes.d.ts.map +0 -1
  377. package/dist/aws/portalPublicArtifactHistoryTypes.js +0 -44
  378. package/dist/aws/portalPublicArtifactHistoryTypes.js.map +0 -1
  379. package/dist/aws/portalPublicArtifactNestedEvidence.d.ts +0 -127
  380. package/dist/aws/portalPublicArtifactNestedEvidence.d.ts.map +0 -1
  381. package/dist/aws/portalPublicArtifactNestedEvidence.js.map +0 -1
  382. package/dist/aws/portalPublicArtifactNestedEvidenceValidation.d.ts +0 -6
  383. package/dist/aws/portalPublicArtifactNestedEvidenceValidation.d.ts.map +0 -1
  384. package/dist/aws/portalPublicArtifactNestedEvidenceValidation.js +0 -405
  385. package/dist/aws/portalPublicArtifactNestedEvidenceValidation.js.map +0 -1
  386. package/dist/aws/portalPublicArtifactValidation.d.ts +0 -3
  387. package/dist/aws/portalPublicArtifactValidation.d.ts.map +0 -1
  388. package/dist/aws/portalPublicArtifactValidation.js +0 -14
  389. package/dist/aws/portalPublicArtifactValidation.js.map +0 -1
  390. package/dist/aws/portalPublicArtifactValidationCommon.d.ts +0 -30
  391. package/dist/aws/portalPublicArtifactValidationCommon.d.ts.map +0 -1
  392. package/dist/aws/portalPublicArtifactValidationCommon.js +0 -167
  393. package/dist/aws/portalPublicArtifactValidationCommon.js.map +0 -1
  394. package/dist/aws/portalPublicArtifacts.d.ts +0 -400
  395. package/dist/aws/portalPublicArtifacts.d.ts.map +0 -1
  396. package/dist/aws/portalPublicArtifacts.js +0 -85
  397. package/dist/aws/portalPublicArtifacts.js.map +0 -1
  398. package/dist/aws/portalRelationshipPublicArtifactValidation.d.ts +0 -4
  399. package/dist/aws/portalRelationshipPublicArtifactValidation.d.ts.map +0 -1
  400. package/dist/aws/portalRelationshipPublicArtifactValidation.js +0 -338
  401. package/dist/aws/portalRelationshipPublicArtifactValidation.js.map +0 -1
  402. package/dist/aws/portalRelationshipPublicArtifacts.d.ts +0 -196
  403. package/dist/aws/portalRelationshipPublicArtifacts.d.ts.map +0 -1
  404. package/dist/aws/portalRelationshipPublicArtifacts.js +0 -63
  405. package/dist/aws/portalRelationshipPublicArtifacts.js.map +0 -1
  406. package/dist/aws/portalRelationshipResourceNodeTypes.d.ts +0 -269
  407. package/dist/aws/portalRelationshipResourceNodeTypes.d.ts.map +0 -1
  408. package/dist/aws/portalRelationshipResourceNodeTypes.js +0 -3
  409. package/dist/aws/portalRelationshipResourceNodeTypes.js.map +0 -1
  410. package/dist/aws/portalRelationshipResourceNodeValidation.d.ts +0 -2
  411. package/dist/aws/portalRelationshipResourceNodeValidation.d.ts.map +0 -1
  412. package/dist/aws/portalRelationshipResourceNodeValidation.js +0 -372
  413. package/dist/aws/portalRelationshipResourceNodeValidation.js.map +0 -1
  414. package/dist/esm/aws/pluginPublicArtifactBodyValidation.js +0 -217
  415. package/dist/esm/aws/pluginPublicArtifactManifestValidation.js +0 -255
  416. package/dist/esm/aws/pluginPublicArtifactSectionValidation.js +0 -464
  417. package/dist/esm/aws/pluginPublicArtifactValidation.js +0 -2
  418. package/dist/esm/aws/pluginPublicArtifactValidationHelpers.js +0 -216
  419. package/dist/esm/aws/pluginPublicArtifacts.js +0 -44
  420. package/dist/esm/aws/portalCommitmentsPlanningPublicArtifactValidation.js +0 -509
  421. package/dist/esm/aws/portalCommitmentsPlanningPublicArtifacts.js +0 -1
  422. package/dist/esm/aws/portalPublicArtifactCurrentValidation.js +0 -328
  423. package/dist/esm/aws/portalPublicArtifactEvidenceValidation.js +0 -294
  424. package/dist/esm/aws/portalPublicArtifactHistoryAiValidation.js +0 -368
  425. package/dist/esm/aws/portalPublicArtifactHistoryTypes.js +0 -40
  426. package/dist/esm/aws/portalPublicArtifactNestedEvidenceValidation.js +0 -397
  427. package/dist/esm/aws/portalPublicArtifactValidation.js +0 -2
  428. package/dist/esm/aws/portalPublicArtifactValidationCommon.js +0 -139
  429. package/dist/esm/aws/portalPublicArtifacts.js +0 -73
  430. package/dist/esm/aws/portalRelationshipPublicArtifactValidation.js +0 -334
  431. package/dist/esm/aws/portalRelationshipPublicArtifacts.js +0 -59
  432. package/dist/esm/aws/portalRelationshipResourceNodeValidation.js +0 -368
  433. package/dist/esm/scheduler/bastionScheduleProfile.js +0 -206
  434. package/dist/esm/scheduler/bastionScheduleValidation.js +0 -401
  435. package/dist/esm/scheduler/scheduler.js +0 -1
  436. package/dist/scheduler/bastionSchedule.d.ts +0 -113
  437. package/dist/scheduler/bastionSchedule.d.ts.map +0 -1
  438. package/dist/scheduler/bastionSchedule.js.map +0 -1
  439. package/dist/scheduler/bastionScheduleProfile.d.ts +0 -24
  440. package/dist/scheduler/bastionScheduleProfile.d.ts.map +0 -1
  441. package/dist/scheduler/bastionScheduleProfile.js +0 -210
  442. package/dist/scheduler/bastionScheduleProfile.js.map +0 -1
  443. package/dist/scheduler/bastionScheduleValidation.d.ts +0 -10
  444. package/dist/scheduler/bastionScheduleValidation.d.ts.map +0 -1
  445. package/dist/scheduler/bastionScheduleValidation.js +0 -412
  446. package/dist/scheduler/bastionScheduleValidation.js.map +0 -1
  447. package/dist/scheduler/scheduler.d.ts +0 -267
  448. package/dist/scheduler/scheduler.d.ts.map +0 -1
  449. package/dist/scheduler/scheduler.js.map +0 -1
  450. /package/dist/esm/aws/{pluginPublicArtifactEvidence.js → commitmentsPlanningView.js} +0 -0
  451. /package/dist/esm/{aws/portalPublicArtifactNestedEvidence.js → common/boundedRows.js} +0 -0
  452. /package/dist/esm/{aws/portalRelationshipResourceNodeTypes.js → common/metricStats.js} +0 -0
  453. /package/dist/esm/scheduler/{bastionSchedule.js → schedulerContracts.js} +0 -0
@@ -1,44 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AWS_PORTAL_PUBLIC_ARTIFACT_RELATIONSHIPS = void 0;
4
- const portalPublicArtifacts_1 = require("./portalPublicArtifacts");
5
- const portalCommitmentsPlanningPublicArtifacts_1 = require("./portalCommitmentsPlanningPublicArtifacts");
6
- const portalRelationshipPublicArtifacts_1 = require("./portalRelationshipPublicArtifacts");
7
- exports.AWS_PORTAL_PUBLIC_ARTIFACT_RELATIONSHIPS = {
8
- 'resource-collection': {
9
- logicalName: portalPublicArtifacts_1.AWS_PORTAL_RESOURCE_COLLECTION_LOGICAL_NAME,
10
- required: [],
11
- optional: ['resource-collection-history'],
12
- },
13
- 'account-summary': {
14
- logicalName: portalPublicArtifacts_1.AWS_PORTAL_ACCOUNT_SUMMARY_LOGICAL_NAME,
15
- required: [],
16
- optional: ['account-summary-history', 'account-summary-ai-cost-summary'],
17
- },
18
- 'resource-collection-history': {
19
- logicalNamePattern: 'resources-history--{scope-generation-sha256}.json.gz',
20
- required: [],
21
- optional: [],
22
- },
23
- 'account-summary-history': {
24
- logicalNamePattern: 'account-summary-history--{scope-sha256}.json.gz',
25
- required: [],
26
- optional: [],
27
- },
28
- 'account-summary-ai-cost-summary': {
29
- logicalName: portalPublicArtifacts_1.AWS_PORTAL_ACCOUNT_SUMMARY_AI_COST_SUMMARY_LOGICAL_NAME,
30
- required: ['account-summary'],
31
- optional: [],
32
- },
33
- 'commitments-planning': {
34
- logicalName: portalCommitmentsPlanningPublicArtifacts_1.AWS_PORTAL_COMMITMENTS_PLANNING_LOGICAL_NAME,
35
- required: [],
36
- optional: [],
37
- },
38
- relationships: {
39
- logicalName: portalRelationshipPublicArtifacts_1.AWS_PORTAL_RELATIONSHIP_LOGICAL_NAME,
40
- required: [],
41
- optional: [],
42
- },
43
- };
44
- //# sourceMappingURL=portalPublicArtifactHistoryTypes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"portalPublicArtifactHistoryTypes.js","sourceRoot":"","sources":["../../src/aws/portalPublicArtifactHistoryTypes.ts"],"names":[],"mappings":";;;AAEA,mEAYiC;AAEjC,yGAA0G;AAC1G,2FAA2F;AAE9E,QAAA,wCAAwC,GAAG;IACtD,qBAAqB,EAAE;QACrB,WAAW,EAAE,mEAA2C;QACxD,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,CAAC,6BAA6B,CAAC;KAC1C;IACD,iBAAiB,EAAE;QACjB,WAAW,EAAE,+DAAuC;QACpD,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,CAAC,yBAAyB,EAAE,iCAAiC,CAAC;KACzE;IACD,6BAA6B,EAAE;QAC7B,kBAAkB,EAAE,sDAAsD;QAC1E,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,EAAE;KACb;IACD,yBAAyB,EAAE;QACzB,kBAAkB,EAAE,iDAAiD;QACrE,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,EAAE;KACb;IACD,iCAAiC,EAAE;QACjC,WAAW,EAAE,+EAAuD;QACpE,QAAQ,EAAE,CAAC,iBAAiB,CAAC;QAC7B,QAAQ,EAAE,EAAE;KACb;IACD,sBAAsB,EAAE;QACtB,WAAW,EAAE,uFAA4C;QACzD,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,EAAE;KACb;IACD,aAAa,EAAE;QACb,WAAW,EAAE,wEAAoC;QACjD,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,EAAE;KACb;CACO,CAAC"}
@@ -1,127 +0,0 @@
1
- import type { AwsPortalBillingCostAggregate, AwsPortalRecommendationActionHealth, AwsPortalRecommendationSource, AwsPortalRecommendationSourceEvidence } from './portalPublicArtifacts';
2
- export interface AwsPortalBillingCostView {
3
- currency: string;
4
- actualCostAmount: number;
5
- amortizedCostAmount?: number;
6
- amortizedExpenseCount?: number;
7
- amortizationCoverageState?: 'complete' | 'partial' | 'none' | 'unavailable';
8
- actualVsAmortizedDeltaAmount?: number;
9
- commitmentCoverageState: 'discounted' | 'no-amortized-cost' | 'no-delta' | 'amortized-exceeds-base' | 'partial-amortized-cost' | 'amortization-coverage-unavailable';
10
- showAmortizedCosts: boolean;
11
- }
12
- export interface AwsPortalBillingCommitmentSpend {
13
- expenseCountWithCommitmentEvidence: number;
14
- expenseCountWithoutCommitmentEvidence: number;
15
- totalsByCurrency: AwsPortalBillingCostAggregate[];
16
- costViewByCurrency: AwsPortalBillingCostView[];
17
- groupedByAmortizationSource: Array<{
18
- amortizationSource: 'reservation-effective-cost' | 'savings-plan-effective-cost';
19
- expenseCount: number;
20
- totalsByCurrency: AwsPortalBillingCostAggregate[];
21
- costViewByCurrency: AwsPortalBillingCostView[];
22
- }>;
23
- }
24
- export interface AwsPortalBillingBenefitCoverage {
25
- authority: 'persisted-billing-expense-amortization';
26
- status: 'available' | 'partial-persisted-evidence' | 'missing-persisted-evidence';
27
- matchedExpenseCount: number;
28
- coveredExpenseCount: number;
29
- unclassifiedExpenseCount: number;
30
- byBenefitType: Array<{
31
- benefitType: 'reserved-instance' | 'savings-plan';
32
- amortizationSource: 'reservation-effective-cost' | 'savings-plan-effective-cost';
33
- expenseCount: number;
34
- totalsByCurrency: AwsPortalBillingCostAggregate[];
35
- costViewByCurrency: AwsPortalBillingCostView[];
36
- }>;
37
- }
38
- export interface AwsPortalBillingBenefitCoverageWarning {
39
- code: 'ri-sp-coverage-evidence-missing' | 'ri-sp-coverage-evidence-partial';
40
- severity: 'warning';
41
- matchedExpenseCount: number;
42
- unclassifiedExpenseCount: number;
43
- message: string;
44
- }
45
- export interface AwsPortalRecommendationLatestActionExecution {
46
- status: 'accepted' | 'completed' | 'failed' | 'retryable-failure' | 'skipped';
47
- recordedAt: string;
48
- requestId: string;
49
- requestedAt: string;
50
- requestedBy: 'manual';
51
- actionType: 'DeleteDBInstance' | 'DeleteNatGateway' | 'ModifyVolume' | 'ModifyStorage' | 'Rightsize';
52
- providerAction: 'rds-modify-db-cluster-storage-type' | 'autoscaling-update-group-instance-refresh' | 'ec2-modify-volume' | 'ec2-stop-modify-start-instance-type' | 'ecs-register-task-definition-update-service' | 'ec2-delete-nat-gateway' | 'lambda-update-function-configuration' | 'rds-delete-db-instance' | 'rds-modify-db-instance';
53
- completionMode: 'provider-poll';
54
- acceptedAt?: string;
55
- completedAt?: string;
56
- failedAt?: string;
57
- providerRequestId?: string;
58
- currentResourceSummary?: string;
59
- recommendedResourceSummary?: string;
60
- sourceTitle?: string;
61
- estimatedMonthlySavings?: number;
62
- estimatedSavingsPercentage?: number;
63
- currencyCode?: string;
64
- message?: string;
65
- skipReason?: 'recommendation-state-not-found' | 'source-recommendation-missing' | 'source-recommendation-not-found' | 'published-version-immutable' | 'provider-preflight-conflict' | 'provider-preflight-unsupported' | 'unsupported-recommendation-shape' | 'no-effective-provider-change';
66
- implementationChanged?: boolean;
67
- implementationImplemented?: boolean;
68
- implementationPreviouslyImplemented?: boolean;
69
- }
70
- export interface AwsPortalRecommendationRefreshAttemptSummary {
71
- attemptedArtifactCount: number;
72
- failedAttemptCount: number;
73
- supersededAttemptCount: number;
74
- attemptReasons: string[];
75
- oldestAttemptedAt?: string;
76
- newestAttemptedAt?: string;
77
- }
78
- export interface AwsPortalRecommendationPendingRefreshSummary {
79
- pendingArtifactCount: number;
80
- pendingArtifactTypes: Array<'recommendations' | 'resource-recommendations' | 'resource-type-recommendations'>;
81
- oldestPendingRefreshUpdatedAt?: string;
82
- newestPendingRefreshUpdatedAt?: string;
83
- executionAttemptSummary?: AwsPortalRecommendationRefreshAttemptSummary;
84
- }
85
- export interface AwsPortalRecommendationSavingsVerification {
86
- verificationStatus: 'pending-post-action-refresh' | 'recommendation-absent-after-refresh' | 'recommendation-still-present-after-refresh' | 'post-action-evidence-truncated';
87
- artifactType: 'recommendations';
88
- actionRequestId: string;
89
- actionCompletedAt: string;
90
- postActionEvidenceStatus: 'qualified' | 'refresh-pending' | 'missing' | 'stale' | 'unqualified';
91
- postActionEvidenceReason: 'qualified-post-action-artifact' | 'canonical-refresh-row-pending' | 'canonical-refresh-row-missing' | 'artifact-generated-before-action-completion' | 'artifact-refresh-request-mismatch' | 'artifact-refresh-trigger-mismatch' | 'artifact-changed-key-missing' | 'artifact-type-mismatch';
92
- postActionArtifactGeneratedAt?: string;
93
- postActionRefreshRequestId?: string;
94
- postActionPendingRefreshRequestedAt?: string;
95
- postActionPendingRefreshUpdatedAt?: string;
96
- postActionPendingRefreshSummary?: AwsPortalRecommendationPendingRefreshSummary;
97
- postActionRetainedRefreshAttemptSummary?: AwsPortalRecommendationRefreshAttemptSummary;
98
- postActionSourcePresence?: 'current' | 'missing';
99
- actionEstimatedMonthlySavings?: number;
100
- actionEstimatedSavingsPercentage?: number;
101
- actionCurrencyCode?: string;
102
- currentEstimatedMonthlySavings?: number;
103
- currentEstimatedSavingsPercentage?: number;
104
- currentCurrencyCode?: string;
105
- currencyCodesMatch?: boolean;
106
- }
107
- export interface AwsPortalRecommendationTemplateProvenanceSource {
108
- recommendationCode: string;
109
- templateId: string;
110
- relativePath: string;
111
- source: 'internal' | 'external';
112
- format: 'canonical-v1' | 'external-catalog-v1';
113
- confidencePercentage?: number;
114
- confidenceReason?: string;
115
- primarySourceUrl?: string;
116
- firstPartyValidationSourceCount: number;
117
- communitySourceCount: number;
118
- }
119
- export interface AwsPortalAccountSummaryAiRecommendationPosture {
120
- sourceCount: number;
121
- sources: Array<{
122
- source: AwsPortalRecommendationSource;
123
- sourceEvidence?: AwsPortalRecommendationSourceEvidence;
124
- actionHealth?: AwsPortalRecommendationActionHealth;
125
- }>;
126
- }
127
- //# sourceMappingURL=portalPublicArtifactNestedEvidence.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"portalPublicArtifactNestedEvidence.d.ts","sourceRoot":"","sources":["../../src/aws/portalPublicArtifactNestedEvidence.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"portalPublicArtifactNestedEvidence.js","sourceRoot":"","sources":["../../src/aws/portalPublicArtifactNestedEvidence.ts"],"names":[],"mappings":""}
@@ -1,6 +0,0 @@
1
- export declare function validateResourceBillingEvidence(value: unknown, field: string): void;
2
- export declare function validateRecommendationActionability(value: unknown, field: string): void;
3
- export declare function validateTemplateProvenanceSources(value: unknown, field: string): void;
4
- export declare function validateRecommendationPosture(value: unknown, field: string): void;
5
- export declare function validateSavingsByCurrency(value: unknown, field: string): void;
6
- //# sourceMappingURL=portalPublicArtifactNestedEvidenceValidation.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"portalPublicArtifactNestedEvidenceValidation.d.ts","sourceRoot":"","sources":["../../src/aws/portalPublicArtifactNestedEvidenceValidation.ts"],"names":[],"mappings":"AAgDA,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAiBnF;AAED,wBAAgB,mCAAmC,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAMvF;AAED,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAmCrF;AAED,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAejF;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAY7E"}
@@ -1,405 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validateResourceBillingEvidence = validateResourceBillingEvidence;
4
- exports.validateRecommendationActionability = validateRecommendationActionability;
5
- exports.validateTemplateProvenanceSources = validateTemplateProvenanceSources;
6
- exports.validateRecommendationPosture = validateRecommendationPosture;
7
- exports.validateSavingsByCurrency = validateSavingsByCurrency;
8
- const portalPublicArtifactValidationCommon_1 = require("./portalPublicArtifactValidationCommon");
9
- const portalPublicArtifactEvidenceValidation_1 = require("./portalPublicArtifactEvidenceValidation");
10
- const ACTION_STATUSES = ['accepted', 'completed', 'failed', 'retryable-failure', 'skipped'];
11
- const ACTION_TYPES = ['DeleteDBInstance', 'DeleteNatGateway', 'ModifyVolume', 'ModifyStorage', 'Rightsize'];
12
- const PROVIDER_ACTIONS = [
13
- 'rds-modify-db-cluster-storage-type',
14
- 'autoscaling-update-group-instance-refresh',
15
- 'ec2-modify-volume',
16
- 'ec2-stop-modify-start-instance-type',
17
- 'ecs-register-task-definition-update-service',
18
- 'ec2-delete-nat-gateway',
19
- 'lambda-update-function-configuration',
20
- 'rds-delete-db-instance',
21
- 'rds-modify-db-instance',
22
- ];
23
- const SKIP_REASONS = [
24
- 'recommendation-state-not-found',
25
- 'source-recommendation-missing',
26
- 'source-recommendation-not-found',
27
- 'published-version-immutable',
28
- 'provider-preflight-conflict',
29
- 'provider-preflight-unsupported',
30
- 'unsupported-recommendation-shape',
31
- 'no-effective-provider-change',
32
- ];
33
- const RECOMMENDATION_SOURCES = [
34
- 'custom',
35
- 'compute-optimizer',
36
- 'cost-optimization-hub',
37
- 'resilience-hub',
38
- 'security-hub',
39
- 'trusted-advisor',
40
- 'well-architected',
41
- ];
42
- function validateResourceBillingEvidence(value, field) {
43
- const billing = (0, portalPublicArtifactValidationCommon_1.asRecord)(value, field);
44
- (0, portalPublicArtifactValidationCommon_1.assertExactKeys)(billing, ['costProvenance', 'matchedExpenseCount', 'totalsByCurrency', 'costViewByCurrency', 'commitmentSpend', 'benefitsCoverage', 'coverageWarning'], field);
45
- const provenance = (0, portalPublicArtifactValidationCommon_1.asRecord)(billing.costProvenance, `${field}.costProvenance`);
46
- (0, portalPublicArtifactValidationCommon_1.assertExactKeys)(provenance, ['costSource', 'costSourceConfidence'], `${field}.costProvenance`);
47
- (0, portalPublicArtifactValidationCommon_1.assertValue)(provenance.costSource, 'billing', `${field}.costProvenance.costSource`);
48
- (0, portalPublicArtifactValidationCommon_1.assertValue)(provenance.costSourceConfidence, 'high', `${field}.costProvenance.costSourceConfidence`);
49
- (0, portalPublicArtifactValidationCommon_1.nonNegativeInteger)(billing.matchedExpenseCount, `${field}.matchedExpenseCount`);
50
- validateCostTotals(billing.totalsByCurrency, `${field}.totalsByCurrency`);
51
- validateCostViews(billing.costViewByCurrency, `${field}.costViewByCurrency`);
52
- validateCommitmentSpend(billing.commitmentSpend, `${field}.commitmentSpend`);
53
- if (billing.benefitsCoverage !== undefined)
54
- validateBenefitCoverage(billing.benefitsCoverage, `${field}.benefitsCoverage`);
55
- if (billing.coverageWarning !== undefined)
56
- validateBenefitWarning(billing.coverageWarning, `${field}.coverageWarning`);
57
- }
58
- function validateRecommendationActionability(value, field) {
59
- const actionability = (0, portalPublicArtifactValidationCommon_1.asRecord)(value, field);
60
- (0, portalPublicArtifactValidationCommon_1.assertExactKeys)(actionability, ['latestActionStableMaterializationKey', 'latestActionExecution', 'savingsVerification'], field);
61
- (0, portalPublicArtifactValidationCommon_1.requiredString)(actionability.latestActionStableMaterializationKey, `${field}.latestActionStableMaterializationKey`);
62
- validateLatestAction(actionability.latestActionExecution, `${field}.latestActionExecution`);
63
- if (actionability.savingsVerification !== undefined)
64
- validateSavingsVerification(actionability.savingsVerification, `${field}.savingsVerification`);
65
- }
66
- function validateTemplateProvenanceSources(value, field) {
67
- if (!Array.isArray(value))
68
- throw new Error(`${field} must be an array.`);
69
- const identities = [];
70
- value.forEach((entry, index) => {
71
- const itemField = `${field}[${index}]`;
72
- const source = (0, portalPublicArtifactValidationCommon_1.asRecord)(entry, itemField);
73
- (0, portalPublicArtifactValidationCommon_1.assertExactKeys)(source, [
74
- 'recommendationCode',
75
- 'templateId',
76
- 'relativePath',
77
- 'source',
78
- 'format',
79
- 'confidencePercentage',
80
- 'confidenceReason',
81
- 'primarySourceUrl',
82
- 'firstPartyValidationSourceCount',
83
- 'communitySourceCount',
84
- ], itemField);
85
- const recommendationCode = (0, portalPublicArtifactValidationCommon_1.requiredString)(source.recommendationCode, `${itemField}.recommendationCode`);
86
- const relativePath = (0, portalPublicArtifactValidationCommon_1.requiredString)(source.relativePath, `${itemField}.relativePath`);
87
- identities.push(`${recommendationCode}|${relativePath}`);
88
- (0, portalPublicArtifactValidationCommon_1.requiredString)(source.templateId, `${itemField}.templateId`);
89
- (0, portalPublicArtifactValidationCommon_1.requiredEnum)(source.source, ['internal', 'external'], `${itemField}.source`);
90
- (0, portalPublicArtifactValidationCommon_1.requiredEnum)(source.format, ['canonical-v1', 'external-catalog-v1'], `${itemField}.format`);
91
- if (source.confidencePercentage !== undefined)
92
- percentage(source.confidencePercentage, `${itemField}.confidencePercentage`);
93
- if (source.confidenceReason !== undefined)
94
- (0, portalPublicArtifactValidationCommon_1.requiredString)(source.confidenceReason, `${itemField}.confidenceReason`);
95
- if (source.primarySourceUrl !== undefined)
96
- httpsUrl(source.primarySourceUrl, `${itemField}.primarySourceUrl`);
97
- (0, portalPublicArtifactValidationCommon_1.nonNegativeInteger)(source.firstPartyValidationSourceCount, `${itemField}.firstPartyValidationSourceCount`);
98
- (0, portalPublicArtifactValidationCommon_1.nonNegativeInteger)(source.communitySourceCount, `${itemField}.communitySourceCount`);
99
- });
100
- (0, portalPublicArtifactValidationCommon_1.assertUnique)(identities, field);
101
- }
102
- function validateRecommendationPosture(value, field) {
103
- const posture = (0, portalPublicArtifactValidationCommon_1.asRecord)(value, field);
104
- (0, portalPublicArtifactValidationCommon_1.assertExactKeys)(posture, ['sourceCount', 'sources'], field);
105
- const sourceCount = (0, portalPublicArtifactValidationCommon_1.nonNegativeInteger)(posture.sourceCount, `${field}.sourceCount`);
106
- if (!Array.isArray(posture.sources) || posture.sources.length !== sourceCount)
107
- throw new Error(`${field}.sources length must equal sourceCount.`);
108
- const sources = [];
109
- posture.sources.forEach((entry, index) => {
110
- const itemField = `${field}.sources[${index}]`;
111
- const source = (0, portalPublicArtifactValidationCommon_1.asRecord)(entry, itemField);
112
- (0, portalPublicArtifactValidationCommon_1.assertExactKeys)(source, ['source', 'sourceEvidence', 'actionHealth'], itemField);
113
- sources.push((0, portalPublicArtifactValidationCommon_1.requiredEnum)(source.source, RECOMMENDATION_SOURCES, `${itemField}.source`));
114
- if (source.sourceEvidence !== undefined)
115
- (0, portalPublicArtifactEvidenceValidation_1.validateRecommendationSourceEvidence)(source.sourceEvidence, `${itemField}.sourceEvidence`);
116
- if (source.actionHealth !== undefined)
117
- (0, portalPublicArtifactEvidenceValidation_1.validateRecommendationActionHealth)(source.actionHealth, `${itemField}.actionHealth`);
118
- });
119
- (0, portalPublicArtifactValidationCommon_1.assertUnique)(sources, `${field}.sources`);
120
- }
121
- function validateSavingsByCurrency(value, field) {
122
- if (!Array.isArray(value))
123
- throw new Error(`${field} must be an array.`);
124
- const currencies = [];
125
- value.forEach((entry, index) => {
126
- const itemField = `${field}[${index}]`;
127
- const item = (0, portalPublicArtifactValidationCommon_1.asRecord)(entry, itemField);
128
- (0, portalPublicArtifactValidationCommon_1.assertExactKeys)(item, ['currencyCode', 'recommendationCount', 'totalEstimatedMonthlySavings'], itemField);
129
- currencies.push((0, portalPublicArtifactValidationCommon_1.requiredString)(item.currencyCode, `${itemField}.currencyCode`));
130
- (0, portalPublicArtifactValidationCommon_1.nonNegativeInteger)(item.recommendationCount, `${itemField}.recommendationCount`);
131
- (0, portalPublicArtifactValidationCommon_1.finiteNumber)(item.totalEstimatedMonthlySavings, `${itemField}.totalEstimatedMonthlySavings`);
132
- });
133
- (0, portalPublicArtifactValidationCommon_1.assertUnique)(currencies, field);
134
- }
135
- function validateLatestAction(value, field) {
136
- const action = (0, portalPublicArtifactValidationCommon_1.asRecord)(value, field);
137
- const keys = [
138
- 'status',
139
- 'recordedAt',
140
- 'requestId',
141
- 'requestedAt',
142
- 'requestedBy',
143
- 'actionType',
144
- 'providerAction',
145
- 'completionMode',
146
- 'acceptedAt',
147
- 'completedAt',
148
- 'failedAt',
149
- 'providerRequestId',
150
- 'currentResourceSummary',
151
- 'recommendedResourceSummary',
152
- 'sourceTitle',
153
- 'estimatedMonthlySavings',
154
- 'estimatedSavingsPercentage',
155
- 'currencyCode',
156
- 'message',
157
- 'skipReason',
158
- 'implementationChanged',
159
- 'implementationImplemented',
160
- 'implementationPreviouslyImplemented',
161
- ];
162
- (0, portalPublicArtifactValidationCommon_1.assertExactKeys)(action, keys, field);
163
- (0, portalPublicArtifactValidationCommon_1.requiredEnum)(action.status, ACTION_STATUSES, `${field}.status`);
164
- const recordedAt = (0, portalPublicArtifactValidationCommon_1.isoTimestamp)(action.recordedAt, `${field}.recordedAt`);
165
- const requestedAt = (0, portalPublicArtifactValidationCommon_1.isoTimestamp)(action.requestedAt, `${field}.requestedAt`);
166
- if (Date.parse(requestedAt) > Date.parse(recordedAt))
167
- throw new Error(`${field}.requestedAt must not exceed recordedAt.`);
168
- (0, portalPublicArtifactValidationCommon_1.requiredString)(action.requestId, `${field}.requestId`);
169
- (0, portalPublicArtifactValidationCommon_1.assertValue)(action.requestedBy, 'manual', `${field}.requestedBy`);
170
- (0, portalPublicArtifactValidationCommon_1.requiredEnum)(action.actionType, ACTION_TYPES, `${field}.actionType`);
171
- (0, portalPublicArtifactValidationCommon_1.requiredEnum)(action.providerAction, PROVIDER_ACTIONS, `${field}.providerAction`);
172
- (0, portalPublicArtifactValidationCommon_1.assertValue)(action.completionMode, 'provider-poll', `${field}.completionMode`);
173
- ['acceptedAt', 'completedAt', 'failedAt'].forEach(key => {
174
- if (action[key] !== undefined)
175
- (0, portalPublicArtifactValidationCommon_1.isoTimestamp)(action[key], `${field}.${key}`);
176
- });
177
- ['providerRequestId', 'currentResourceSummary', 'recommendedResourceSummary', 'sourceTitle', 'currencyCode', 'message'].forEach(key => {
178
- if (action[key] !== undefined)
179
- (0, portalPublicArtifactValidationCommon_1.requiredString)(action[key], `${field}.${key}`);
180
- });
181
- ['estimatedMonthlySavings', 'estimatedSavingsPercentage'].forEach(key => {
182
- if (action[key] !== undefined)
183
- (0, portalPublicArtifactValidationCommon_1.finiteNumber)(action[key], `${field}.${key}`);
184
- });
185
- if (action.skipReason !== undefined)
186
- (0, portalPublicArtifactValidationCommon_1.requiredEnum)(action.skipReason, SKIP_REASONS, `${field}.skipReason`);
187
- ['implementationChanged', 'implementationImplemented', 'implementationPreviouslyImplemented'].forEach(key => {
188
- if (action[key] !== undefined)
189
- (0, portalPublicArtifactValidationCommon_1.requiredBoolean)(action[key], `${field}.${key}`);
190
- });
191
- }
192
- function validateSavingsVerification(value, field) {
193
- const verification = (0, portalPublicArtifactValidationCommon_1.asRecord)(value, field);
194
- const required = [
195
- 'verificationStatus',
196
- 'artifactType',
197
- 'actionRequestId',
198
- 'actionCompletedAt',
199
- 'postActionEvidenceStatus',
200
- 'postActionEvidenceReason',
201
- ];
202
- const optional = [
203
- 'postActionArtifactGeneratedAt',
204
- 'postActionRefreshRequestId',
205
- 'postActionPendingRefreshRequestedAt',
206
- 'postActionPendingRefreshUpdatedAt',
207
- 'postActionPendingRefreshSummary',
208
- 'postActionRetainedRefreshAttemptSummary',
209
- 'postActionSourcePresence',
210
- 'actionEstimatedMonthlySavings',
211
- 'actionEstimatedSavingsPercentage',
212
- 'actionCurrencyCode',
213
- 'currentEstimatedMonthlySavings',
214
- 'currentEstimatedSavingsPercentage',
215
- 'currentCurrencyCode',
216
- 'currencyCodesMatch',
217
- ];
218
- (0, portalPublicArtifactValidationCommon_1.assertExactKeys)(verification, [...required, ...optional], field);
219
- (0, portalPublicArtifactValidationCommon_1.requiredEnum)(verification.verificationStatus, [
220
- 'pending-post-action-refresh',
221
- 'recommendation-absent-after-refresh',
222
- 'recommendation-still-present-after-refresh',
223
- 'post-action-evidence-truncated',
224
- ], `${field}.verificationStatus`);
225
- (0, portalPublicArtifactValidationCommon_1.assertValue)(verification.artifactType, 'recommendations', `${field}.artifactType`);
226
- (0, portalPublicArtifactValidationCommon_1.requiredString)(verification.actionRequestId, `${field}.actionRequestId`);
227
- (0, portalPublicArtifactValidationCommon_1.isoTimestamp)(verification.actionCompletedAt, `${field}.actionCompletedAt`);
228
- (0, portalPublicArtifactValidationCommon_1.requiredEnum)(verification.postActionEvidenceStatus, ['qualified', 'refresh-pending', 'missing', 'stale', 'unqualified'], `${field}.postActionEvidenceStatus`);
229
- (0, portalPublicArtifactValidationCommon_1.requiredEnum)(verification.postActionEvidenceReason, [
230
- 'qualified-post-action-artifact',
231
- 'canonical-refresh-row-pending',
232
- 'canonical-refresh-row-missing',
233
- 'artifact-generated-before-action-completion',
234
- 'artifact-refresh-request-mismatch',
235
- 'artifact-refresh-trigger-mismatch',
236
- 'artifact-changed-key-missing',
237
- 'artifact-type-mismatch',
238
- ], `${field}.postActionEvidenceReason`);
239
- ['postActionArtifactGeneratedAt', 'postActionPendingRefreshRequestedAt', 'postActionPendingRefreshUpdatedAt'].forEach(key => {
240
- if (verification[key] !== undefined)
241
- (0, portalPublicArtifactValidationCommon_1.isoTimestamp)(verification[key], `${field}.${key}`);
242
- });
243
- if (verification.postActionRefreshRequestId !== undefined)
244
- (0, portalPublicArtifactValidationCommon_1.requiredString)(verification.postActionRefreshRequestId, `${field}.postActionRefreshRequestId`);
245
- if (verification.postActionPendingRefreshSummary !== undefined)
246
- validatePendingRefresh(verification.postActionPendingRefreshSummary, `${field}.postActionPendingRefreshSummary`);
247
- if (verification.postActionRetainedRefreshAttemptSummary !== undefined)
248
- validateRefreshAttempts(verification.postActionRetainedRefreshAttemptSummary, `${field}.postActionRetainedRefreshAttemptSummary`);
249
- if (verification.postActionSourcePresence !== undefined)
250
- (0, portalPublicArtifactValidationCommon_1.requiredEnum)(verification.postActionSourcePresence, ['current', 'missing'], `${field}.postActionSourcePresence`);
251
- optional
252
- .filter(key => key.includes('Estimated'))
253
- .forEach(key => {
254
- if (verification[key] !== undefined)
255
- (0, portalPublicArtifactValidationCommon_1.finiteNumber)(verification[key], `${field}.${key}`);
256
- });
257
- ['actionCurrencyCode', 'currentCurrencyCode'].forEach(key => {
258
- if (verification[key] !== undefined)
259
- (0, portalPublicArtifactValidationCommon_1.requiredString)(verification[key], `${field}.${key}`);
260
- });
261
- if (verification.currencyCodesMatch !== undefined)
262
- (0, portalPublicArtifactValidationCommon_1.requiredBoolean)(verification.currencyCodesMatch, `${field}.currencyCodesMatch`);
263
- }
264
- function validatePendingRefresh(value, field) {
265
- const summary = (0, portalPublicArtifactValidationCommon_1.asRecord)(value, field);
266
- (0, portalPublicArtifactValidationCommon_1.assertExactKeys)(summary, ['pendingArtifactCount', 'pendingArtifactTypes', 'oldestPendingRefreshUpdatedAt', 'newestPendingRefreshUpdatedAt', 'executionAttemptSummary'], field);
267
- (0, portalPublicArtifactValidationCommon_1.nonNegativeInteger)(summary.pendingArtifactCount, `${field}.pendingArtifactCount`);
268
- (0, portalPublicArtifactValidationCommon_1.stringArray)(summary.pendingArtifactTypes, `${field}.pendingArtifactTypes`).forEach(type => (0, portalPublicArtifactValidationCommon_1.requiredEnum)(type, ['recommendations', 'resource-recommendations', 'resource-type-recommendations'], `${field}.pendingArtifactTypes`));
269
- ['oldestPendingRefreshUpdatedAt', 'newestPendingRefreshUpdatedAt'].forEach(key => {
270
- if (summary[key] !== undefined)
271
- (0, portalPublicArtifactValidationCommon_1.isoTimestamp)(summary[key], `${field}.${key}`);
272
- });
273
- if (summary.executionAttemptSummary !== undefined)
274
- validateRefreshAttempts(summary.executionAttemptSummary, `${field}.executionAttemptSummary`);
275
- }
276
- function validateRefreshAttempts(value, field) {
277
- const summary = (0, portalPublicArtifactValidationCommon_1.asRecord)(value, field);
278
- (0, portalPublicArtifactValidationCommon_1.assertExactKeys)(summary, ['attemptedArtifactCount', 'failedAttemptCount', 'supersededAttemptCount', 'attemptReasons', 'oldestAttemptedAt', 'newestAttemptedAt'], field);
279
- ['attemptedArtifactCount', 'failedAttemptCount', 'supersededAttemptCount'].forEach(key => (0, portalPublicArtifactValidationCommon_1.nonNegativeInteger)(summary[key], `${field}.${key}`));
280
- (0, portalPublicArtifactValidationCommon_1.stringArray)(summary.attemptReasons, `${field}.attemptReasons`);
281
- ['oldestAttemptedAt', 'newestAttemptedAt'].forEach(key => {
282
- if (summary[key] !== undefined)
283
- (0, portalPublicArtifactValidationCommon_1.isoTimestamp)(summary[key], `${field}.${key}`);
284
- });
285
- }
286
- function validateCommitmentSpend(value, field) {
287
- const spend = (0, portalPublicArtifactValidationCommon_1.asRecord)(value, field);
288
- (0, portalPublicArtifactValidationCommon_1.assertExactKeys)(spend, [
289
- 'expenseCountWithCommitmentEvidence',
290
- 'expenseCountWithoutCommitmentEvidence',
291
- 'totalsByCurrency',
292
- 'costViewByCurrency',
293
- 'groupedByAmortizationSource',
294
- ], field);
295
- (0, portalPublicArtifactValidationCommon_1.nonNegativeInteger)(spend.expenseCountWithCommitmentEvidence, `${field}.expenseCountWithCommitmentEvidence`);
296
- (0, portalPublicArtifactValidationCommon_1.nonNegativeInteger)(spend.expenseCountWithoutCommitmentEvidence, `${field}.expenseCountWithoutCommitmentEvidence`);
297
- validateCostTotals(spend.totalsByCurrency, `${field}.totalsByCurrency`);
298
- validateCostViews(spend.costViewByCurrency, `${field}.costViewByCurrency`);
299
- if (!Array.isArray(spend.groupedByAmortizationSource))
300
- throw new Error(`${field}.groupedByAmortizationSource must be an array.`);
301
- const sources = [];
302
- spend.groupedByAmortizationSource.forEach((entry, index) => {
303
- const itemField = `${field}.groupedByAmortizationSource[${index}]`;
304
- const source = (0, portalPublicArtifactValidationCommon_1.asRecord)(entry, itemField);
305
- (0, portalPublicArtifactValidationCommon_1.assertExactKeys)(source, ['amortizationSource', 'expenseCount', 'totalsByCurrency', 'costViewByCurrency'], itemField);
306
- sources.push((0, portalPublicArtifactValidationCommon_1.requiredEnum)(source.amortizationSource, ['reservation-effective-cost', 'savings-plan-effective-cost'], `${itemField}.amortizationSource`));
307
- (0, portalPublicArtifactValidationCommon_1.nonNegativeInteger)(source.expenseCount, `${itemField}.expenseCount`);
308
- validateCostTotals(source.totalsByCurrency, `${itemField}.totalsByCurrency`);
309
- validateCostViews(source.costViewByCurrency, `${itemField}.costViewByCurrency`);
310
- });
311
- (0, portalPublicArtifactValidationCommon_1.assertUnique)(sources, `${field}.groupedByAmortizationSource`);
312
- }
313
- function validateBenefitCoverage(value, field) {
314
- const coverage = (0, portalPublicArtifactValidationCommon_1.asRecord)(value, field);
315
- (0, portalPublicArtifactValidationCommon_1.assertExactKeys)(coverage, ['authority', 'status', 'matchedExpenseCount', 'coveredExpenseCount', 'unclassifiedExpenseCount', 'byBenefitType'], field);
316
- (0, portalPublicArtifactValidationCommon_1.assertValue)(coverage.authority, 'persisted-billing-expense-amortization', `${field}.authority`);
317
- (0, portalPublicArtifactValidationCommon_1.requiredEnum)(coverage.status, ['available', 'partial-persisted-evidence', 'missing-persisted-evidence'], `${field}.status`);
318
- ['matchedExpenseCount', 'coveredExpenseCount', 'unclassifiedExpenseCount'].forEach(key => (0, portalPublicArtifactValidationCommon_1.nonNegativeInteger)(coverage[key], `${field}.${key}`));
319
- if (!Array.isArray(coverage.byBenefitType))
320
- throw new Error(`${field}.byBenefitType must be an array.`);
321
- const types = [];
322
- coverage.byBenefitType.forEach((entry, index) => {
323
- const itemField = `${field}.byBenefitType[${index}]`;
324
- const benefit = (0, portalPublicArtifactValidationCommon_1.asRecord)(entry, itemField);
325
- (0, portalPublicArtifactValidationCommon_1.assertExactKeys)(benefit, ['benefitType', 'amortizationSource', 'expenseCount', 'totalsByCurrency', 'costViewByCurrency'], itemField);
326
- types.push((0, portalPublicArtifactValidationCommon_1.requiredEnum)(benefit.benefitType, ['reserved-instance', 'savings-plan'], `${itemField}.benefitType`));
327
- (0, portalPublicArtifactValidationCommon_1.requiredEnum)(benefit.amortizationSource, ['reservation-effective-cost', 'savings-plan-effective-cost'], `${itemField}.amortizationSource`);
328
- (0, portalPublicArtifactValidationCommon_1.nonNegativeInteger)(benefit.expenseCount, `${itemField}.expenseCount`);
329
- validateCostTotals(benefit.totalsByCurrency, `${itemField}.totalsByCurrency`);
330
- validateCostViews(benefit.costViewByCurrency, `${itemField}.costViewByCurrency`);
331
- });
332
- (0, portalPublicArtifactValidationCommon_1.assertUnique)(types, `${field}.byBenefitType`);
333
- }
334
- function validateBenefitWarning(value, field) {
335
- const warning = (0, portalPublicArtifactValidationCommon_1.asRecord)(value, field);
336
- (0, portalPublicArtifactValidationCommon_1.assertExactKeys)(warning, ['code', 'severity', 'matchedExpenseCount', 'unclassifiedExpenseCount', 'message'], field);
337
- (0, portalPublicArtifactValidationCommon_1.requiredEnum)(warning.code, ['ri-sp-coverage-evidence-missing', 'ri-sp-coverage-evidence-partial'], `${field}.code`);
338
- (0, portalPublicArtifactValidationCommon_1.assertValue)(warning.severity, 'warning', `${field}.severity`);
339
- (0, portalPublicArtifactValidationCommon_1.nonNegativeInteger)(warning.matchedExpenseCount, `${field}.matchedExpenseCount`);
340
- (0, portalPublicArtifactValidationCommon_1.nonNegativeInteger)(warning.unclassifiedExpenseCount, `${field}.unclassifiedExpenseCount`);
341
- (0, portalPublicArtifactValidationCommon_1.requiredString)(warning.message, `${field}.message`);
342
- }
343
- function validateCostTotals(value, field) {
344
- if (!Array.isArray(value))
345
- throw new Error(`${field} must be an array.`);
346
- const currencies = [];
347
- value.forEach((entry, index) => {
348
- const itemField = `${field}[${index}]`;
349
- const total = (0, portalPublicArtifactValidationCommon_1.asRecord)(entry, itemField);
350
- (0, portalPublicArtifactValidationCommon_1.assertExactKeys)(total, ['currency', 'expenseCount', 'baseCostAmount', 'amortizedCostAmount', 'amortizedExpenseCount'], itemField);
351
- currencies.push((0, portalPublicArtifactValidationCommon_1.requiredString)(total.currency, `${itemField}.currency`));
352
- (0, portalPublicArtifactValidationCommon_1.nonNegativeInteger)(total.expenseCount, `${itemField}.expenseCount`);
353
- (0, portalPublicArtifactValidationCommon_1.finiteNumber)(total.baseCostAmount, `${itemField}.baseCostAmount`);
354
- if (total.amortizedCostAmount !== undefined)
355
- (0, portalPublicArtifactValidationCommon_1.finiteNumber)(total.amortizedCostAmount, `${itemField}.amortizedCostAmount`);
356
- if (total.amortizedExpenseCount !== undefined)
357
- (0, portalPublicArtifactValidationCommon_1.nonNegativeInteger)(total.amortizedExpenseCount, `${itemField}.amortizedExpenseCount`);
358
- });
359
- (0, portalPublicArtifactValidationCommon_1.assertUnique)(currencies, field);
360
- }
361
- function validateCostViews(value, field) {
362
- if (!Array.isArray(value))
363
- throw new Error(`${field} must be an array.`);
364
- const currencies = [];
365
- value.forEach((entry, index) => {
366
- const itemField = `${field}[${index}]`;
367
- const view = (0, portalPublicArtifactValidationCommon_1.asRecord)(entry, itemField);
368
- (0, portalPublicArtifactValidationCommon_1.assertExactKeys)(view, [
369
- 'currency',
370
- 'actualCostAmount',
371
- 'amortizedCostAmount',
372
- 'amortizedExpenseCount',
373
- 'amortizationCoverageState',
374
- 'actualVsAmortizedDeltaAmount',
375
- 'commitmentCoverageState',
376
- 'showAmortizedCosts',
377
- ], itemField);
378
- currencies.push((0, portalPublicArtifactValidationCommon_1.requiredString)(view.currency, `${itemField}.currency`));
379
- (0, portalPublicArtifactValidationCommon_1.finiteNumber)(view.actualCostAmount, `${itemField}.actualCostAmount`);
380
- ['amortizedCostAmount', 'actualVsAmortizedDeltaAmount'].forEach(key => {
381
- if (view[key] !== undefined)
382
- (0, portalPublicArtifactValidationCommon_1.finiteNumber)(view[key], `${itemField}.${key}`);
383
- });
384
- if (view.amortizedExpenseCount !== undefined)
385
- (0, portalPublicArtifactValidationCommon_1.nonNegativeInteger)(view.amortizedExpenseCount, `${itemField}.amortizedExpenseCount`);
386
- if (view.amortizationCoverageState !== undefined)
387
- (0, portalPublicArtifactValidationCommon_1.requiredEnum)(view.amortizationCoverageState, ['complete', 'partial', 'none', 'unavailable'], `${itemField}.amortizationCoverageState`);
388
- (0, portalPublicArtifactValidationCommon_1.requiredEnum)(view.commitmentCoverageState, ['discounted', 'no-amortized-cost', 'no-delta', 'amortized-exceeds-base', 'partial-amortized-cost', 'amortization-coverage-unavailable'], `${itemField}.commitmentCoverageState`);
389
- (0, portalPublicArtifactValidationCommon_1.requiredBoolean)(view.showAmortizedCosts, `${itemField}.showAmortizedCosts`);
390
- });
391
- (0, portalPublicArtifactValidationCommon_1.assertUnique)(currencies, field);
392
- }
393
- function percentage(value, field) {
394
- const result = (0, portalPublicArtifactValidationCommon_1.finiteNumber)(value, field);
395
- if (result < 0 || result > 100)
396
- throw new Error(`${field} must be between 0 and 100.`);
397
- return result;
398
- }
399
- function httpsUrl(value, field) {
400
- const result = (0, portalPublicArtifactValidationCommon_1.requiredString)(value, field);
401
- if (!result.startsWith('https://'))
402
- throw new Error(`${field} must be an HTTPS URL.`);
403
- return result;
404
- }
405
- //# sourceMappingURL=portalPublicArtifactNestedEvidenceValidation.js.map