@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,509 +0,0 @@
1
- import { validateAwsCommitmentsPlanningViewIdentity } from './commitmentsPlanningValidation.js';
2
- import { AWS_PORTAL_COMMITMENTS_PLANNING_LOGICAL_NAME, } from './portalCommitmentsPlanningPublicArtifacts.js';
3
- import { asRecord, assertExactKeys, assertPublicJson, assertValue, validatePortalEnvelope } from './portalPublicArtifactValidationCommon.js';
4
- const TOP_LEVEL_KEYS = [
5
- 'schemaVersion',
6
- 'portalSchemaVersion',
7
- 'provider',
8
- 'accountId',
9
- 'artifactType',
10
- 'artifactGeneration',
11
- 'logicalName',
12
- 'version',
13
- 'generatedAt',
14
- 'month',
15
- 'providerScope',
16
- 'utilizationSummary',
17
- 'expirySummary',
18
- 'inventory',
19
- 'resourceCoverage',
20
- 'obsoleteCandidates',
21
- 'reallocationOpportunities',
22
- 'pricingContext',
23
- 'termStrategy',
24
- 'freshness',
25
- 'vendorRecommendations',
26
- 'purchaseRecommendations',
27
- 'diagnostics',
28
- 'coverage',
29
- 'renewals',
30
- 'risk',
31
- 'retirementImpact',
32
- 'phasedOptions',
33
- ];
34
- /** Validates one untrusted immutable AWS Commitments Planning Portal artifact. */
35
- export function validateAwsPortalCommitmentsPlanningArtifact(value) {
36
- const artifact = asRecord(value, 'artifact');
37
- const { accountId } = validatePortalEnvelope(artifact, 'commitments-planning', TOP_LEVEL_KEYS);
38
- assertValue(artifact.logicalName, AWS_PORTAL_COMMITMENTS_PLANNING_LOGICAL_NAME, 'artifact.logicalName');
39
- validateAwsCommitmentsPlanningViewIdentity(artifact, accountId);
40
- validateBody(artifact);
41
- assertPublicJson(artifact, 'artifact');
42
- return value;
43
- }
44
- function validateBody(artifact) {
45
- exact(artifact.providerScope, ['providerName', 'providerScopeId'], 'artifact.providerScope');
46
- validateUtilizationSummary(artifact.utilizationSummary, 'artifact.utilizationSummary');
47
- exact(artifact.expirySummary, ['expired', 'expiring30d', 'expiring60d', 'expiring90d', 'expiring180d'], 'artifact.expirySummary');
48
- records(artifact.inventory, 'artifact.inventory', validateInventory);
49
- records(artifact.resourceCoverage, 'artifact.resourceCoverage', validateResourceCoverage);
50
- records(artifact.obsoleteCandidates, 'artifact.obsoleteCandidates', validateObsoleteCandidate);
51
- optionalRecords(artifact.reallocationOpportunities, 'artifact.reallocationOpportunities', validateReallocation);
52
- validatePricingContext(artifact.pricingContext, 'artifact.pricingContext');
53
- records(artifact.termStrategy, 'artifact.termStrategy', validateTermStrategy);
54
- optionalRecord(artifact.freshness, 'artifact.freshness', validateFreshness);
55
- optionalRecords(artifact.vendorRecommendations, 'artifact.vendorRecommendations', validateVendorRecommendation);
56
- optionalRecords(artifact.purchaseRecommendations, 'artifact.purchaseRecommendations', validatePurchaseRecommendation);
57
- optionalRecord(artifact.diagnostics, 'artifact.diagnostics', validateDiagnostics);
58
- optionalRecords(artifact.coverage, 'artifact.coverage', validateCoverage);
59
- optionalRecords(artifact.renewals, 'artifact.renewals', validateRenewal);
60
- optionalRecord(artifact.risk, 'artifact.risk', validateRisk);
61
- optionalRecords(artifact.retirementImpact, 'artifact.retirementImpact', validateRetirementImpact);
62
- optionalRecords(artifact.phasedOptions, 'artifact.phasedOptions', validatePhasedOption);
63
- }
64
- function validateUtilizationSummary(value, field) {
65
- const summary = exact(value, ['total', 'withData', 'sevenDayAverage', 'thirtyDayAverage', 'sevenDayAggregates', 'thirtyDayAggregates', 'byBenefitType'], field);
66
- optionalRecords(summary.sevenDayAggregates, `${field}.sevenDayAggregates`, validateWeightedAggregate);
67
- optionalRecords(summary.thirtyDayAggregates, `${field}.thirtyDayAggregates`, validateWeightedAggregate);
68
- records(summary.byBenefitType, `${field}.byBenefitType`, (entry, itemField) => {
69
- const item = exact(entry, ['benefitType', 'total', 'withData', 'sevenDayAverage', 'thirtyDayAverage', 'sevenDayAggregates', 'thirtyDayAggregates'], itemField);
70
- optionalRecords(item.sevenDayAggregates, `${itemField}.sevenDayAggregates`, validateWeightedAggregate);
71
- optionalRecords(item.thirtyDayAggregates, `${itemField}.thirtyDayAggregates`, validateWeightedAggregate);
72
- });
73
- }
74
- function validateWeightedAggregate(value, field) {
75
- exact(value, ['used', 'reserved', 'percentage', 'sampleCount', 'unit', 'currency'], field);
76
- }
77
- function validateInventory(value, field) {
78
- const item = exact(value, [
79
- 'id',
80
- 'benefitType',
81
- 'commitmentFamily',
82
- 'sourceKind',
83
- 'sourceId',
84
- 'provider',
85
- 'shape',
86
- 'scope',
87
- 'appliedScopeType',
88
- 'appliedScopeProperties',
89
- 'type',
90
- 'displayName',
91
- 'status',
92
- 'purchaseDate',
93
- 'expiryDate',
94
- 'daysToExpiry',
95
- 'reservedQuantity',
96
- 'commitmentAmount',
97
- 'commitmentCurrencyCode',
98
- 'commitmentGrain',
99
- 'commitmentUnit',
100
- 'skuName',
101
- 'skuDescription',
102
- 'location',
103
- 'term',
104
- 'termMonths',
105
- 'billingPlan',
106
- 'appliedScopeDisplayName',
107
- 'provisioningState',
108
- 'renew',
109
- 'purchasedQuantity',
110
- 'usedQuantity',
111
- 'remainingQuantity',
112
- 'totalReservedQuantity',
113
- 'reservedHours',
114
- 'usedHours',
115
- 'utilization',
116
- 'coveragePercent',
117
- 'annualCommittedCost',
118
- 'optimizationImpact',
119
- 'doNotRenewAnnualImpact',
120
- 'riskLevel',
121
- 'confidence',
122
- 'linkedRecommendationIds',
123
- 'renewalDecisionIds',
124
- 'retirementImpactIds',
125
- ], field);
126
- optionalRecord(item.shape, `${field}.shape`, validateShape);
127
- validateAppliedScope(item.appliedScopeProperties, `${field}.appliedScopeProperties`);
128
- optionalRecord(item.utilization, `${field}.utilization`, (entry, itemField) => exact(entry, ['trend', 'oneDay', 'sevenDay', 'thirtyDay', 'source'], itemField));
129
- optionalMoney(item.annualCommittedCost, `${field}.annualCommittedCost`);
130
- optionalMoney(item.optimizationImpact, `${field}.optimizationImpact`);
131
- optionalMoney(item.doNotRenewAnnualImpact, `${field}.doNotRenewAnnualImpact`);
132
- }
133
- function validateResourceCoverage(value, field) {
134
- const item = exact(value, [
135
- 'resourceId',
136
- 'resourceName',
137
- 'resourceType',
138
- 'month',
139
- 'windowStart',
140
- 'windowEnd',
141
- 'currency',
142
- 'benefitIds',
143
- 'benefitNames',
144
- 'basis',
145
- 'coveredQuantity',
146
- 'eligibleQuantity',
147
- 'coveredCost',
148
- 'eligibleCost',
149
- 'uncoveredCost',
150
- 'coveragePercent',
151
- 'recommendationIds',
152
- 'recommendationType',
153
- 'recommendedAction',
154
- 'eligibility',
155
- 'recommendationImpact',
156
- 'source',
157
- 'benefitBreakdown',
158
- ], field);
159
- optionalRecord(item.eligibility, `${field}.eligibility`, validateEligibility);
160
- optionalRecord(item.recommendationImpact, `${field}.recommendationImpact`, (entry, itemField) => exact(entry, ['amount', 'currency', 'source'], itemField));
161
- optionalRecord(item.source, `${field}.source`, validateSource);
162
- optionalRecords(item.benefitBreakdown, `${field}.benefitBreakdown`, (entry, itemField) => exact(entry, ['benefitId', 'benefitName', 'coveredQuantity', 'coveredCost'], itemField));
163
- }
164
- function validateObsoleteCandidate(value, field) {
165
- const item = exact(value, ['id', 'candidateType', 'reasonCodes', 'suggestedAction', 'confidence', 'impactEstimate', 'relatedBenefitIds'], field);
166
- optionalRecord(item.impactEstimate, `${field}.impactEstimate`, (entry, itemField) => exact(entry, ['amount', 'currency', 'currencySymbol', 'source', 'notes', 'windowStart', 'windowEnd', 'flags'], itemField));
167
- }
168
- function validateReallocation(value, field) {
169
- const item = exact(value, [
170
- 'id',
171
- 'fromResource',
172
- 'toResource',
173
- 'estimatedNetSavings',
174
- 'currency',
175
- 'source',
176
- 'confidence',
177
- 'assumptions',
178
- 'benefitIds',
179
- 'benefitNames',
180
- 'recommendationIds',
181
- 'obsoleteCandidateIds',
182
- ], field);
183
- validateReallocationResource(item.fromResource, `${field}.fromResource`);
184
- validateReallocationResource(item.toResource, `${field}.toResource`);
185
- }
186
- function validateReallocationResource(value, field) {
187
- exact(value, ['resourceId', 'resourceName', 'resourceType'], field);
188
- }
189
- function validatePurchaseRecommendation(value, field) {
190
- const item = exact(value, [
191
- 'id',
192
- 'groupKey',
193
- 'commitmentFamily',
194
- 'action',
195
- 'eligibility',
196
- 'currentShape',
197
- 'targetShape',
198
- 'blockers',
199
- 'unlockActions',
200
- 'purchaseScope',
201
- 'appliedScopeProperties',
202
- 'source',
203
- 'title',
204
- 'description',
205
- 'confidence',
206
- 'riskLevel',
207
- 'location',
208
- 'skuName',
209
- 'normalizedSkuName',
210
- 'resourceType',
211
- 'vmSizeFlexibilityGroup',
212
- 'termMonths',
213
- 'quantity',
214
- 'coverageState',
215
- 'estimatedAnnualSavings',
216
- 'estimatedAnnualCost',
217
- 'estimatedTermSavings',
218
- 'estimatedTermCost',
219
- 'termOptions',
220
- 'impactedResources',
221
- 'sourceRecommendationIds',
222
- 'linkedCommitmentIds',
223
- 'notes',
224
- ], field);
225
- optionalRecord(item.eligibility, `${field}.eligibility`, validateEligibility);
226
- optionalRecord(item.currentShape, `${field}.currentShape`, validateShape);
227
- validateShape(item.targetShape, `${field}.targetShape`);
228
- optionalRecords(item.blockers, `${field}.blockers`, validateBlocker);
229
- optionalRecords(item.unlockActions, `${field}.unlockActions`, validateUnlockAction);
230
- validateAppliedScope(item.appliedScopeProperties, `${field}.appliedScopeProperties`);
231
- validateSource(item.source, `${field}.source`);
232
- optionalMoney(item.estimatedAnnualSavings, `${field}.estimatedAnnualSavings`);
233
- optionalMoney(item.estimatedAnnualCost, `${field}.estimatedAnnualCost`);
234
- optionalMoney(item.estimatedTermSavings, `${field}.estimatedTermSavings`);
235
- optionalMoney(item.estimatedTermCost, `${field}.estimatedTermCost`);
236
- optionalRecords(item.termOptions, `${field}.termOptions`, validateTermOption);
237
- optionalRecords(item.impactedResources, `${field}.impactedResources`, validateResourceReference);
238
- }
239
- function validateEligibility(value, field) {
240
- const eligibility = exact(value, [
241
- 'status',
242
- 'action',
243
- 'currentShape',
244
- 'targetShape',
245
- 'targetSelectionStrategy',
246
- 'targetSelectionReason',
247
- 'blockers',
248
- 'unlockActions',
249
- 'source',
250
- 'confidence',
251
- ], field);
252
- optionalRecord(eligibility.currentShape, `${field}.currentShape`, validateShape);
253
- optionalRecord(eligibility.targetShape, `${field}.targetShape`, validateShape);
254
- optionalRecords(eligibility.blockers, `${field}.blockers`, validateBlocker);
255
- optionalRecords(eligibility.unlockActions, `${field}.unlockActions`, validateUnlockAction);
256
- optionalRecord(eligibility.source, `${field}.source`, validateSource);
257
- }
258
- function validateShape(value, field) {
259
- const shape = exact(value, [
260
- 'provider',
261
- 'resourceType',
262
- 'commitmentFamily',
263
- 'skuName',
264
- 'normalizedSkuName',
265
- 'location',
266
- 'region',
267
- 'availabilityZone',
268
- 'platform',
269
- 'reservationProductName',
270
- 'reservedResourceType',
271
- 'meterCategory',
272
- 'meterSubCategory',
273
- 'meterName',
274
- 'unit',
275
- 'attributes',
276
- ], field);
277
- if (shape.attributes !== undefined)
278
- asRecord(shape.attributes, `${field}.attributes`);
279
- }
280
- function validateAppliedScope(value, field) {
281
- exact(value, ['accountId', 'region', 'availabilityZone'], field);
282
- }
283
- function validateSource(value, field) {
284
- exact(value, ['sourceKind', 'sourceId', 'sourceName', 'generatedAt', 'observedAt', 'notes'], field);
285
- }
286
- function validateBlocker(value, field) {
287
- exact(value, ['code', 'message', 'source', 'sourceUrl', 'severity'], field);
288
- }
289
- function validateUnlockAction(value, field) {
290
- exact(value, ['id', 'label', 'description', 'actionType', 'order', 'source'], field);
291
- }
292
- function validateTermOption(value, field) {
293
- const option = exact(value, [
294
- 'termMonths',
295
- 'currentMonthly',
296
- 'targetMonthly',
297
- 'potentialMonthlySavings',
298
- 'estimatedAnnualSavings',
299
- 'estimatedAnnualCost',
300
- 'estimatedTermSavings',
301
- 'estimatedTermCost',
302
- ], field);
303
- optionalMoney(option.estimatedAnnualSavings, `${field}.estimatedAnnualSavings`);
304
- optionalMoney(option.estimatedAnnualCost, `${field}.estimatedAnnualCost`);
305
- optionalMoney(option.estimatedTermSavings, `${field}.estimatedTermSavings`);
306
- optionalMoney(option.estimatedTermCost, `${field}.estimatedTermCost`);
307
- }
308
- function validateVendorRecommendation(value, field) {
309
- const item = exact(value, [
310
- 'id',
311
- 'commitmentFamily',
312
- 'source',
313
- 'action',
314
- 'title',
315
- 'description',
316
- 'confidence',
317
- 'riskLevel',
318
- 'estimatedAnnualSavings',
319
- 'estimatedAnnualCost',
320
- 'impactedResources',
321
- 'linkedCommitmentIds',
322
- ], field);
323
- validateSource(item.source, `${field}.source`);
324
- optionalMoney(item.estimatedAnnualSavings, `${field}.estimatedAnnualSavings`);
325
- optionalMoney(item.estimatedAnnualCost, `${field}.estimatedAnnualCost`);
326
- optionalRecords(item.impactedResources, `${field}.impactedResources`, validateResourceReference);
327
- }
328
- function validateDiagnostics(value, field) {
329
- const diagnostics = exact(value, ['purchaseRecommendations'], field);
330
- optionalRecord(diagnostics.purchaseRecommendations, `${field}.purchaseRecommendations`, (entry, itemField) => {
331
- const recommendation = exact(entry, ['generatedAt', 'inputCounts', 'outputCounts', 'suppressedCounts', 'notes'], itemField);
332
- optionalOpenRecord(recommendation.inputCounts, `${itemField}.inputCounts`);
333
- optionalOpenRecord(recommendation.suppressedCounts, `${itemField}.suppressedCounts`);
334
- optionalRecord(recommendation.outputCounts, `${itemField}.outputCounts`, (output, outputField) => {
335
- const counts = exact(output, ['total', 'byAction', 'byStatus', 'bySourceKind', 'unattributed'], outputField);
336
- optionalOpenRecord(counts.byAction, `${outputField}.byAction`);
337
- optionalOpenRecord(counts.byStatus, `${outputField}.byStatus`);
338
- optionalOpenRecord(counts.bySourceKind, `${outputField}.bySourceKind`);
339
- });
340
- });
341
- }
342
- function validateCoverage(value, field) {
343
- const item = exact(value, [
344
- 'commitmentFamily',
345
- 'basis',
346
- 'windowStart',
347
- 'windowEnd',
348
- 'eligibleCost',
349
- 'coveredCost',
350
- 'uncoveredCost',
351
- 'coveragePercent',
352
- 'impactedResources',
353
- 'source',
354
- ], field);
355
- optionalMoney(item.eligibleCost, `${field}.eligibleCost`);
356
- optionalMoney(item.coveredCost, `${field}.coveredCost`);
357
- optionalMoney(item.uncoveredCost, `${field}.uncoveredCost`);
358
- optionalRecords(item.impactedResources, `${field}.impactedResources`, validateResourceReference);
359
- optionalRecord(item.source, `${field}.source`, validateSource);
360
- }
361
- function validateRenewal(value, field) {
362
- const item = exact(value, [
363
- 'id',
364
- 'commitmentId',
365
- 'commitmentFamily',
366
- 'action',
367
- 'title',
368
- 'expiryDate',
369
- 'daysToExpiry',
370
- 'confidence',
371
- 'riskLevel',
372
- 'estimatedAnnualSavings',
373
- 'estimatedAnnualCostDelta',
374
- 'modernizationTarget',
375
- 'impactedResources',
376
- 'recommendationsToReview',
377
- 'source',
378
- ], field);
379
- optionalMoney(item.estimatedAnnualSavings, `${field}.estimatedAnnualSavings`);
380
- optionalMoney(item.estimatedAnnualCostDelta, `${field}.estimatedAnnualCostDelta`);
381
- optionalRecord(item.modernizationTarget, `${field}.modernizationTarget`, (entry, itemField) => exact(entry, ['currentSku', 'targetSku', 'currentFamily', 'targetFamily', 'reasonCodes'], itemField));
382
- optionalRecords(item.impactedResources, `${field}.impactedResources`, validateResourceReference);
383
- optionalRecords(item.recommendationsToReview, `${field}.recommendationsToReview`, validateReviewSummary);
384
- optionalRecord(item.source, `${field}.source`, validateSource);
385
- }
386
- function validateReviewSummary(value, field) {
387
- const item = exact(value, [
388
- 'id',
389
- 'name',
390
- 'category',
391
- 'subCategory',
392
- 'impact',
393
- 'effort',
394
- 'risk',
395
- 'priorityTier',
396
- 'headline',
397
- 'plainSummary',
398
- 'normalizedScore',
399
- 'finalScore',
400
- 'estimatedSavings',
401
- 'resourceIds',
402
- 'reasons',
403
- ], field);
404
- optionalMoney(item.estimatedSavings, `${field}.estimatedSavings`);
405
- }
406
- function validateRisk(value, field) {
407
- exact(value, ['overallRisk', 'overcommitmentRisk', 'undercoverageRisk', 'staleDataRisk', 'currency', 'expectedWaste', 'expectedUncoveredCost', 'notes'], field);
408
- }
409
- function validateRetirementImpact(value, field) {
410
- const item = exact(value, [
411
- 'id',
412
- 'commitmentId',
413
- 'commitmentFamily',
414
- 'scenario',
415
- 'title',
416
- 'effectiveDate',
417
- 'incrementalMonthlyCost',
418
- 'incrementalAnnualCost',
419
- 'impactedResources',
420
- 'linkedRetirementIds',
421
- 'confidence',
422
- 'riskLevel',
423
- 'source',
424
- ], field);
425
- optionalMoney(item.incrementalMonthlyCost, `${field}.incrementalMonthlyCost`);
426
- optionalMoney(item.incrementalAnnualCost, `${field}.incrementalAnnualCost`);
427
- optionalRecords(item.impactedResources, `${field}.impactedResources`, validateResourceReference);
428
- optionalRecord(item.source, `${field}.source`, validateSource);
429
- }
430
- function validatePhasedOption(value, field) {
431
- const item = exact(value, [
432
- 'id',
433
- 'label',
434
- 'commitmentFamily',
435
- 'action',
436
- 'termMonths',
437
- 'quantity',
438
- 'hourlyCommitmentAmount',
439
- 'annualCommitmentCost',
440
- 'estimatedAnnualSavings',
441
- 'expectedCoveragePercent',
442
- 'expectedWastePercent',
443
- 'confidence',
444
- 'riskLevel',
445
- 'impactedResources',
446
- 'source',
447
- ], field);
448
- optionalMoney(item.hourlyCommitmentAmount, `${field}.hourlyCommitmentAmount`);
449
- optionalMoney(item.annualCommitmentCost, `${field}.annualCommitmentCost`);
450
- optionalMoney(item.estimatedAnnualSavings, `${field}.estimatedAnnualSavings`);
451
- optionalRecords(item.impactedResources, `${field}.impactedResources`, validateResourceReference);
452
- optionalRecord(item.source, `${field}.source`, validateSource);
453
- }
454
- function validateFreshness(value, field) {
455
- const freshness = exact(value, ['status', 'generatedAt', 'entries', 'warnings'], field);
456
- records(freshness.entries, `${field}.entries`, (entry, itemField) => exact(entry, ['section', 'status', 'generatedAt', 'observedAt', 'lastSuccessfulSyncAt', 'reason', 'sourceKind'], itemField));
457
- }
458
- function validatePricingContext(value, field) {
459
- exact(value, ['source', 'currency', 'assumptions', 'confidenceNotes', 'calculatorDeepLink'], field);
460
- }
461
- function validateTermStrategy(value, field) {
462
- const scenario = exact(value, [
463
- 'scenarioId',
464
- 'termMonths',
465
- 'breakMonth',
466
- 'policyInputs',
467
- 'projectedGrossSavings',
468
- 'projectedBreakCost',
469
- 'projectedNetSavings',
470
- 'annualizedProjectedNetSavings',
471
- 'breakEvenMonth',
472
- 'recommended',
473
- 'currency',
474
- 'notes',
475
- ], field);
476
- exact(scenario.policyInputs, ['earlyTerminationFeePercent', 'rollingCancellationCap', 'exchangeAllowed', 'policyVersion'], `${field}.policyInputs`);
477
- }
478
- function validateMoney(value, field) {
479
- exact(value, ['amount', 'currency', 'source', 'windowStart', 'windowEnd', 'flags'], field);
480
- }
481
- function validateResourceReference(value, field) {
482
- exact(value, ['resourceId', 'resourceName', 'resourceType', 'location'], field);
483
- }
484
- function exact(value, allowed, field) {
485
- const record = asRecord(value, field);
486
- assertExactKeys(record, allowed, field);
487
- return record;
488
- }
489
- function records(value, field, validate) {
490
- if (!Array.isArray(value))
491
- throw new Error(`${field} must be an array.`);
492
- value.forEach((entry, index) => validate(entry, `${field}[${index}]`));
493
- }
494
- function optionalRecords(value, field, validate) {
495
- if (value !== undefined)
496
- records(value, field, validate);
497
- }
498
- function optionalRecord(value, field, validate) {
499
- if (value !== undefined)
500
- validate(value, field);
501
- }
502
- function optionalOpenRecord(value, field) {
503
- if (value !== undefined)
504
- asRecord(value, field);
505
- }
506
- function optionalMoney(value, field) {
507
- if (value !== undefined)
508
- validateMoney(value, field);
509
- }
@@ -1 +0,0 @@
1
- export const AWS_PORTAL_COMMITMENTS_PLANNING_LOGICAL_NAME = 'commitments-planning.json.gz';