@spottoai/types-package 1.0.2-dev1138.13 → 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 (841) hide show
  1. package/README.md +12 -0
  2. package/dist/accounts/accounts.d.ts +97 -5
  3. package/dist/accounts/accounts.d.ts.map +1 -1
  4. package/dist/accounts/accounts.js +2 -1
  5. package/dist/accounts/accounts.js.map +1 -1
  6. package/dist/accounts/azureManualOnboarding.d.ts +114 -0
  7. package/dist/accounts/azureManualOnboarding.d.ts.map +1 -0
  8. package/dist/accounts/azureManualOnboarding.js +12 -0
  9. package/dist/accounts/azureManualOnboarding.js.map +1 -0
  10. package/dist/accounts/azureSpSetup.d.ts +147 -31
  11. package/dist/accounts/azureSpSetup.d.ts.map +1 -1
  12. package/dist/accounts/azureSpSetup.js +15 -0
  13. package/dist/accounts/azureSpSetup.js.map +1 -1
  14. package/dist/accounts/azureSpSetupDurable.d.ts +8 -0
  15. package/dist/accounts/azureSpSetupDurable.d.ts.map +1 -1
  16. package/dist/accounts/azureSpSetupDurable.js +28 -0
  17. package/dist/accounts/azureSpSetupDurable.js.map +1 -1
  18. package/dist/accounts/index.d.ts +2 -0
  19. package/dist/accounts/index.d.ts.map +1 -1
  20. package/dist/accounts/index.js +2 -0
  21. package/dist/accounts/index.js.map +1 -1
  22. package/dist/accounts/readPermissions.d.ts +1 -1
  23. package/dist/accounts/readPermissions.d.ts.map +1 -1
  24. package/dist/accounts/readPermissions.js.map +1 -1
  25. package/dist/accounts/subscriptionWriteAccess.d.ts +76 -0
  26. package/dist/accounts/subscriptionWriteAccess.d.ts.map +1 -0
  27. package/dist/accounts/subscriptionWriteAccess.js +119 -0
  28. package/dist/accounts/subscriptionWriteAccess.js.map +1 -0
  29. package/dist/accounts/validation.d.ts +24 -0
  30. package/dist/accounts/validation.d.ts.map +1 -1
  31. package/dist/accounts/writePermissions.d.ts +17 -1
  32. package/dist/accounts/writePermissions.d.ts.map +1 -1
  33. package/dist/accounts/writePermissions.js +47 -1
  34. package/dist/accounts/writePermissions.js.map +1 -1
  35. package/dist/ai/conversationHistory.d.ts +52 -0
  36. package/dist/ai/conversationHistory.d.ts.map +1 -0
  37. package/dist/ai/conversationHistory.js +10 -0
  38. package/dist/ai/conversationHistory.js.map +1 -0
  39. package/dist/ai/followUps.d.ts +16 -0
  40. package/dist/ai/followUps.d.ts.map +1 -0
  41. package/dist/ai/followUps.js +21 -0
  42. package/dist/ai/followUps.js.map +1 -0
  43. package/dist/ai/grounding.d.ts +78 -0
  44. package/dist/ai/grounding.d.ts.map +1 -0
  45. package/dist/ai/grounding.js +154 -0
  46. package/dist/ai/grounding.js.map +1 -0
  47. package/dist/ai/index.d.ts +306 -6
  48. package/dist/ai/index.d.ts.map +1 -1
  49. package/dist/ai/index.js +26 -0
  50. package/dist/ai/index.js.map +1 -1
  51. package/dist/ai/workspaceArtifacts.d.ts +587 -0
  52. package/dist/ai/workspaceArtifacts.d.ts.map +1 -0
  53. package/dist/ai/workspaceArtifacts.js +162 -0
  54. package/dist/ai/workspaceArtifacts.js.map +1 -0
  55. package/dist/aws/commitments-planning.d.ts +6 -1
  56. package/dist/aws/commitments-planning.d.ts.map +1 -1
  57. package/dist/aws/commitments-planning.js +20 -0
  58. package/dist/aws/commitments-planning.js.map +1 -1
  59. package/dist/aws/commitmentsPlanningValidation.d.ts +1 -1
  60. package/dist/aws/commitmentsPlanningValidation.d.ts.map +1 -1
  61. package/dist/aws/commitmentsPlanningValidation.js +26 -25
  62. package/dist/aws/commitmentsPlanningValidation.js.map +1 -1
  63. package/dist/aws/commitmentsPlanningView.d.ts +49 -0
  64. package/dist/aws/commitmentsPlanningView.d.ts.map +1 -0
  65. package/dist/aws/{pluginPublicArtifactEvidence.js → commitmentsPlanningView.js} +1 -1
  66. package/dist/aws/commitmentsPlanningView.js.map +1 -0
  67. package/dist/aws/estates.d.ts +1 -1
  68. package/dist/aws/estates.d.ts.map +1 -1
  69. package/dist/aws/estates.js +7 -1
  70. package/dist/aws/estates.js.map +1 -1
  71. package/dist/aws/index.d.ts +7 -14
  72. package/dist/aws/index.d.ts.map +1 -1
  73. package/dist/aws/index.js +7 -13
  74. package/dist/aws/index.js.map +1 -1
  75. package/dist/aws/onboarding.d.ts +3 -0
  76. package/dist/aws/onboarding.d.ts.map +1 -1
  77. package/dist/aws/organizationCommitments.d.ts +261 -0
  78. package/dist/aws/organizationCommitments.d.ts.map +1 -0
  79. package/dist/aws/organizationCommitments.js +53 -0
  80. package/dist/aws/organizationCommitments.js.map +1 -0
  81. package/dist/aws/organizationCommitmentsApiValidation.d.ts +21 -0
  82. package/dist/aws/organizationCommitmentsApiValidation.d.ts.map +1 -0
  83. package/dist/aws/organizationCommitmentsApiValidation.js +226 -0
  84. package/dist/aws/organizationCommitmentsApiValidation.js.map +1 -0
  85. package/dist/aws/organizationCommitmentsValidation.d.ts +12 -0
  86. package/dist/aws/organizationCommitmentsValidation.d.ts.map +1 -0
  87. package/dist/aws/organizationCommitmentsValidation.js +229 -0
  88. package/dist/aws/organizationCommitmentsValidation.js.map +1 -0
  89. package/dist/aws/portalOrganizationCommitmentsPlanningPublicArtifactValidation.d.ts +9 -0
  90. package/dist/aws/portalOrganizationCommitmentsPlanningPublicArtifactValidation.d.ts.map +1 -0
  91. package/dist/aws/portalOrganizationCommitmentsPlanningPublicArtifactValidation.js +410 -0
  92. package/dist/aws/portalOrganizationCommitmentsPlanningPublicArtifactValidation.js.map +1 -0
  93. package/dist/aws/portalOrganizationCommitmentsPlanningPublicArtifacts.d.ts +16 -0
  94. package/dist/aws/portalOrganizationCommitmentsPlanningPublicArtifacts.d.ts.map +1 -0
  95. package/dist/aws/portalOrganizationCommitmentsPlanningPublicArtifacts.js +6 -0
  96. package/dist/aws/portalOrganizationCommitmentsPlanningPublicArtifacts.js.map +1 -0
  97. package/dist/aws/publicArtifacts.d.ts +2 -37
  98. package/dist/aws/publicArtifacts.d.ts.map +1 -1
  99. package/dist/aws/publicArtifacts.js +3 -1
  100. package/dist/aws/publicArtifacts.js.map +1 -1
  101. package/dist/aws/relationships.d.ts +5 -3
  102. package/dist/aws/relationships.d.ts.map +1 -1
  103. package/dist/aws/relationships.js +18 -3
  104. package/dist/aws/relationships.js.map +1 -1
  105. package/dist/aws/requests.d.ts +46 -3
  106. package/dist/aws/requests.d.ts.map +1 -1
  107. package/dist/aws/requests.js +5 -3
  108. package/dist/aws/requests.js.map +1 -1
  109. package/dist/aws/resourceGraph.d.ts +14 -0
  110. package/dist/aws/resourceGraph.d.ts.map +1 -0
  111. package/dist/aws/resourceGraph.js +68 -0
  112. package/dist/aws/resourceGraph.js.map +1 -0
  113. package/dist/aws/validationHelpers.d.ts +8 -0
  114. package/dist/aws/validationHelpers.d.ts.map +1 -0
  115. package/dist/aws/validationHelpers.js +54 -0
  116. package/dist/aws/validationHelpers.js.map +1 -0
  117. package/dist/azure/activityLogAnalysis.d.ts +320 -0
  118. package/dist/azure/activityLogAnalysis.d.ts.map +1 -0
  119. package/dist/azure/activityLogAnalysis.js +70 -0
  120. package/dist/azure/activityLogAnalysis.js.map +1 -0
  121. package/dist/azure/activityLogAnalysisPublicValidation.d.ts +8 -0
  122. package/dist/azure/activityLogAnalysisPublicValidation.d.ts.map +1 -0
  123. package/dist/azure/activityLogAnalysisPublicValidation.js +368 -0
  124. package/dist/azure/activityLogAnalysisPublicValidation.js.map +1 -0
  125. package/dist/azure/activityLogAnalysisPublicValidationHelpers.d.ts +33 -0
  126. package/dist/azure/activityLogAnalysisPublicValidationHelpers.d.ts.map +1 -0
  127. package/dist/azure/activityLogAnalysisPublicValidationHelpers.js +197 -0
  128. package/dist/azure/activityLogAnalysisPublicValidationHelpers.js.map +1 -0
  129. package/dist/azure/activityLogAnalysisValidation.d.ts +5 -0
  130. package/dist/azure/activityLogAnalysisValidation.d.ts.map +1 -0
  131. package/dist/azure/activityLogAnalysisValidation.js +376 -0
  132. package/dist/azure/activityLogAnalysisValidation.js.map +1 -0
  133. package/dist/azure/activityLogs.d.ts +8 -0
  134. package/dist/azure/activityLogs.d.ts.map +1 -1
  135. package/dist/azure/activityLogs.js.map +1 -1
  136. package/dist/azure/benefits.d.ts +1 -1
  137. package/dist/azure/benefits.d.ts.map +1 -1
  138. package/dist/azure/billingPlots.d.ts +7 -1
  139. package/dist/azure/billingPlots.d.ts.map +1 -1
  140. package/dist/azure/billingPlots.js +45 -4
  141. package/dist/azure/billingPlots.js.map +1 -1
  142. package/dist/azure/commitmentsPlanning.d.ts +23 -48
  143. package/dist/azure/commitmentsPlanning.d.ts.map +1 -1
  144. package/dist/azure/commitmentsPlanning.js +9 -0
  145. package/dist/azure/commitmentsPlanning.js.map +1 -1
  146. package/dist/azure/commitmentsPlanningValidation.d.ts +18 -0
  147. package/dist/azure/commitmentsPlanningValidation.d.ts.map +1 -0
  148. package/dist/azure/commitmentsPlanningValidation.js +50 -0
  149. package/dist/azure/commitmentsPlanningValidation.js.map +1 -0
  150. package/dist/azure/common.d.ts +26 -5
  151. package/dist/azure/common.d.ts.map +1 -1
  152. package/dist/azure/common.js +30 -0
  153. package/dist/azure/common.js.map +1 -1
  154. package/dist/azure/costComposition.d.ts +11 -1
  155. package/dist/azure/costComposition.d.ts.map +1 -1
  156. package/dist/azure/costComposition.js +84 -1
  157. package/dist/azure/costComposition.js.map +1 -1
  158. package/dist/azure/dataProtection.d.ts +44 -4
  159. package/dist/azure/dataProtection.d.ts.map +1 -1
  160. package/dist/azure/financialAnalytics.d.ts +80 -8
  161. package/dist/azure/financialAnalytics.d.ts.map +1 -1
  162. package/dist/azure/financialAnalyticsDelivery.d.ts +72 -3
  163. package/dist/azure/financialAnalyticsDelivery.d.ts.map +1 -1
  164. package/dist/azure/financialAnalyticsDelivery.js +7 -1
  165. package/dist/azure/financialAnalyticsDelivery.js.map +1 -1
  166. package/dist/azure/financialAnalyticsDeliveryValidation.d.ts +9 -1
  167. package/dist/azure/financialAnalyticsDeliveryValidation.d.ts.map +1 -1
  168. package/dist/azure/financialAnalyticsDeliveryValidation.js +190 -10
  169. package/dist/azure/financialAnalyticsDeliveryValidation.js.map +1 -1
  170. package/dist/azure/financialAnalyticsDisplayKernel.d.ts +12 -0
  171. package/dist/azure/financialAnalyticsDisplayKernel.d.ts.map +1 -0
  172. package/dist/azure/financialAnalyticsDisplayKernel.js +144 -0
  173. package/dist/azure/financialAnalyticsDisplayKernel.js.map +1 -0
  174. package/dist/azure/financialAnalyticsValidation.d.ts.map +1 -1
  175. package/dist/azure/financialAnalyticsValidation.js +101 -19
  176. package/dist/azure/financialAnalyticsValidation.js.map +1 -1
  177. package/dist/azure/financialAuthorityProjectionKernel.d.ts +8 -0
  178. package/dist/azure/financialAuthorityProjectionKernel.d.ts.map +1 -0
  179. package/dist/azure/financialAuthorityProjectionKernel.js +269 -0
  180. package/dist/azure/financialAuthorityProjectionKernel.js.map +1 -0
  181. package/dist/azure/financialAuthorityView.d.ts +13 -0
  182. package/dist/azure/financialAuthorityView.d.ts.map +1 -1
  183. package/dist/azure/financialAuthorityView.js.map +1 -1
  184. package/dist/azure/financialAuthorityViewValidation.d.ts +3 -1
  185. package/dist/azure/financialAuthorityViewValidation.d.ts.map +1 -1
  186. package/dist/azure/financialAuthorityViewValidation.js +273 -2
  187. package/dist/azure/financialAuthorityViewValidation.js.map +1 -1
  188. package/dist/azure/financialChargeComposition.d.ts +81 -0
  189. package/dist/azure/financialChargeComposition.d.ts.map +1 -0
  190. package/dist/azure/financialChargeComposition.js +41 -0
  191. package/dist/azure/financialChargeComposition.js.map +1 -0
  192. package/dist/azure/financialChargeCompositionKernel.d.ts +3 -0
  193. package/dist/azure/financialChargeCompositionKernel.d.ts.map +1 -0
  194. package/dist/azure/financialChargeCompositionKernel.js +53 -0
  195. package/dist/azure/financialChargeCompositionKernel.js.map +1 -0
  196. package/dist/azure/financialChargeCompositionValidation.d.ts +8 -0
  197. package/dist/azure/financialChargeCompositionValidation.d.ts.map +1 -0
  198. package/dist/azure/financialChargeCompositionValidation.js +164 -0
  199. package/dist/azure/financialChargeCompositionValidation.js.map +1 -0
  200. package/dist/azure/financialChargePolicy.d.ts +215 -0
  201. package/dist/azure/financialChargePolicy.d.ts.map +1 -0
  202. package/dist/azure/financialChargePolicy.js +488 -0
  203. package/dist/azure/financialChargePolicy.js.map +1 -0
  204. package/dist/azure/financialCurrentSpendSurfaceProjection.d.ts +76 -0
  205. package/dist/azure/financialCurrentSpendSurfaceProjection.d.ts.map +1 -0
  206. package/dist/azure/financialCurrentSpendSurfaceProjection.js +6 -0
  207. package/dist/azure/financialCurrentSpendSurfaceProjection.js.map +1 -0
  208. package/dist/azure/financialCurrentSpendSurfaceProjectionValidation.d.ts +10 -0
  209. package/dist/azure/financialCurrentSpendSurfaceProjectionValidation.d.ts.map +1 -0
  210. package/dist/azure/financialCurrentSpendSurfaceProjectionValidation.js +196 -0
  211. package/dist/azure/financialCurrentSpendSurfaceProjectionValidation.js.map +1 -0
  212. package/dist/azure/financialDataflow.d.ts +45 -2
  213. package/dist/azure/financialDataflow.d.ts.map +1 -1
  214. package/dist/azure/financialDataflow.js.map +1 -1
  215. package/dist/azure/financialDataflowKernel.d.ts +31 -0
  216. package/dist/azure/financialDataflowKernel.d.ts.map +1 -0
  217. package/dist/azure/financialDataflowKernel.js +170 -0
  218. package/dist/azure/financialDataflowKernel.js.map +1 -0
  219. package/dist/azure/financialDataflowValidation.d.ts +5 -2
  220. package/dist/azure/financialDataflowValidation.d.ts.map +1 -1
  221. package/dist/azure/financialDataflowValidation.js +203 -30
  222. package/dist/azure/financialDataflowValidation.js.map +1 -1
  223. package/dist/azure/financialEvidenceAssessmentValidation.d.ts.map +1 -1
  224. package/dist/azure/financialEvidenceAssessmentValidation.js +7 -0
  225. package/dist/azure/financialEvidenceAssessmentValidation.js.map +1 -1
  226. package/dist/azure/financialEvidenceCoverage.d.ts +36 -0
  227. package/dist/azure/financialEvidenceCoverage.d.ts.map +1 -0
  228. package/dist/azure/financialEvidenceCoverage.js +111 -0
  229. package/dist/azure/financialEvidenceCoverage.js.map +1 -0
  230. package/dist/azure/financialPolicy.d.ts +19 -3
  231. package/dist/azure/financialPolicy.d.ts.map +1 -1
  232. package/dist/azure/financialPolicy.js.map +1 -1
  233. package/dist/azure/financialPolicyDelivery.d.ts +75 -1
  234. package/dist/azure/financialPolicyDelivery.d.ts.map +1 -1
  235. package/dist/azure/financialPolicyDelivery.js +5 -1
  236. package/dist/azure/financialPolicyDelivery.js.map +1 -1
  237. package/dist/azure/financialPolicyDeliveryValidation.d.ts +16 -2
  238. package/dist/azure/financialPolicyDeliveryValidation.d.ts.map +1 -1
  239. package/dist/azure/financialPolicyDeliveryValidation.js +238 -5
  240. package/dist/azure/financialPolicyDeliveryValidation.js.map +1 -1
  241. package/dist/azure/financialPolicyKernel.d.ts +38 -0
  242. package/dist/azure/financialPolicyKernel.d.ts.map +1 -0
  243. package/dist/azure/financialPolicyKernel.js +232 -0
  244. package/dist/azure/financialPolicyKernel.js.map +1 -0
  245. package/dist/azure/financialPolicyValidation.d.ts +1 -0
  246. package/dist/azure/financialPolicyValidation.d.ts.map +1 -1
  247. package/dist/azure/financialPolicyValidation.js +111 -16
  248. package/dist/azure/financialPolicyValidation.js.map +1 -1
  249. package/dist/azure/financialProjection.d.ts +11 -1
  250. package/dist/azure/financialProjection.d.ts.map +1 -1
  251. package/dist/azure/financialProjection.js.map +1 -1
  252. package/dist/azure/financialProjectionValidation.d.ts.map +1 -1
  253. package/dist/azure/financialProjectionValidation.js +43 -3
  254. package/dist/azure/financialProjectionValidation.js.map +1 -1
  255. package/dist/azure/financialResourceSurfaceProjection.d.ts +66 -0
  256. package/dist/azure/financialResourceSurfaceProjection.d.ts.map +1 -0
  257. package/dist/azure/financialResourceSurfaceProjection.js +6 -0
  258. package/dist/azure/financialResourceSurfaceProjection.js.map +1 -0
  259. package/dist/azure/financialResourceSurfaceProjectionValidation.d.ts +16 -0
  260. package/dist/azure/financialResourceSurfaceProjectionValidation.d.ts.map +1 -0
  261. package/dist/azure/financialResourceSurfaceProjectionValidation.js +252 -0
  262. package/dist/azure/financialResourceSurfaceProjectionValidation.js.map +1 -0
  263. package/dist/azure/financialSavingsAuthority.d.ts +68 -4
  264. package/dist/azure/financialSavingsAuthority.d.ts.map +1 -1
  265. package/dist/azure/financialSavingsAuthority.js +2 -1
  266. package/dist/azure/financialSavingsAuthority.js.map +1 -1
  267. package/dist/azure/financialSavingsAuthorityValidation.d.ts +6 -2
  268. package/dist/azure/financialSavingsAuthorityValidation.d.ts.map +1 -1
  269. package/dist/azure/financialSavingsAuthorityValidation.js +188 -2
  270. package/dist/azure/financialSavingsAuthorityValidation.js.map +1 -1
  271. package/dist/azure/financialSavingsChargePolicyKernel.d.ts +12 -0
  272. package/dist/azure/financialSavingsChargePolicyKernel.d.ts.map +1 -0
  273. package/dist/azure/financialSavingsChargePolicyKernel.js +34 -0
  274. package/dist/azure/financialSavingsChargePolicyKernel.js.map +1 -0
  275. package/dist/azure/financialSavingsCoordinateValidation.d.ts.map +1 -1
  276. package/dist/azure/financialSavingsCoordinateValidation.js +98 -19
  277. package/dist/azure/financialSavingsCoordinateValidation.js.map +1 -1
  278. package/dist/azure/financialSavingsPercentageKernel.d.ts +20 -0
  279. package/dist/azure/financialSavingsPercentageKernel.d.ts.map +1 -0
  280. package/dist/azure/financialSavingsPercentageKernel.js +49 -0
  281. package/dist/azure/financialSavingsPercentageKernel.js.map +1 -0
  282. package/dist/azure/financialSavingsSurfaceProjection.d.ts +82 -3
  283. package/dist/azure/financialSavingsSurfaceProjection.d.ts.map +1 -1
  284. package/dist/azure/financialSavingsSurfaceProjection.js +3 -1
  285. package/dist/azure/financialSavingsSurfaceProjection.js.map +1 -1
  286. package/dist/azure/financialSavingsSurfaceProjectionKernel.d.ts +26 -0
  287. package/dist/azure/financialSavingsSurfaceProjectionKernel.d.ts.map +1 -0
  288. package/dist/azure/financialSavingsSurfaceProjectionKernel.js +435 -0
  289. package/dist/azure/financialSavingsSurfaceProjectionKernel.js.map +1 -0
  290. package/dist/azure/financialSavingsSurfaceProjectionValidation.d.ts.map +1 -1
  291. package/dist/azure/financialSavingsSurfaceProjectionValidation.js +199 -13
  292. package/dist/azure/financialSavingsSurfaceProjectionValidation.js.map +1 -1
  293. package/dist/azure/financialScope.d.ts +14 -0
  294. package/dist/azure/financialScope.d.ts.map +1 -1
  295. package/dist/azure/financialScope.js +14 -0
  296. package/dist/azure/financialScope.js.map +1 -1
  297. package/dist/azure/financialScopeBaseline.d.ts +11 -3
  298. package/dist/azure/financialScopeBaseline.d.ts.map +1 -1
  299. package/dist/azure/financialScopeBaseline.js +14 -1
  300. package/dist/azure/financialScopeBaseline.js.map +1 -1
  301. package/dist/azure/financialScopeBaselineIdentity.d.ts.map +1 -1
  302. package/dist/azure/financialScopeBaselineIdentity.js +24 -4
  303. package/dist/azure/financialScopeBaselineIdentity.js.map +1 -1
  304. package/dist/azure/financialScopeBaselineValidation.d.ts.map +1 -1
  305. package/dist/azure/financialScopeBaselineValidation.js +21 -4
  306. package/dist/azure/financialScopeBaselineValidation.js.map +1 -1
  307. package/dist/azure/financialScopeEvidence.d.ts +1 -1
  308. package/dist/azure/financialScopeEvidence.d.ts.map +1 -1
  309. package/dist/azure/governance.d.ts +150 -0
  310. package/dist/azure/governance.d.ts.map +1 -1
  311. package/dist/azure/governance.js +2 -1
  312. package/dist/azure/governance.js.map +1 -1
  313. package/dist/azure/metrics.d.ts +4 -29
  314. package/dist/azure/metrics.d.ts.map +1 -1
  315. package/dist/azure/payloads.d.ts +79 -1
  316. package/dist/azure/payloads.d.ts.map +1 -1
  317. package/dist/azure/payloads.js +87 -0
  318. package/dist/azure/payloads.js.map +1 -1
  319. package/dist/azure/prices.d.ts +41 -12
  320. package/dist/azure/prices.d.ts.map +1 -1
  321. package/dist/azure/recommendationLifecycleOverlayValidation.d.ts +5 -0
  322. package/dist/azure/recommendationLifecycleOverlayValidation.d.ts.map +1 -0
  323. package/dist/azure/recommendationLifecycleOverlayValidation.js +82 -0
  324. package/dist/azure/recommendationLifecycleOverlayValidation.js.map +1 -0
  325. package/dist/azure/recommendationState.d.ts +1 -1
  326. package/dist/azure/recommendationState.d.ts.map +1 -1
  327. package/dist/azure/recommendationTracks.d.ts +1 -1
  328. package/dist/azure/recommendationTracks.d.ts.map +1 -1
  329. package/dist/azure/recommendations.d.ts +141 -5
  330. package/dist/azure/recommendations.d.ts.map +1 -1
  331. package/dist/azure/recommendations.js +3 -1
  332. package/dist/azure/recommendations.js.map +1 -1
  333. package/dist/azure/relationships.d.ts +1 -1
  334. package/dist/azure/relationships.d.ts.map +1 -1
  335. package/dist/azure/reportDailySpend.d.ts +48 -0
  336. package/dist/azure/reportDailySpend.d.ts.map +1 -0
  337. package/dist/azure/reportDailySpend.js +6 -0
  338. package/dist/azure/reportDailySpend.js.map +1 -0
  339. package/dist/azure/reportDailySpendValidation.d.ts +3 -0
  340. package/dist/azure/reportDailySpendValidation.d.ts.map +1 -0
  341. package/dist/azure/reportDailySpendValidation.js +72 -0
  342. package/dist/azure/reportDailySpendValidation.js.map +1 -0
  343. package/dist/azure/reportEvidence.d.ts +796 -0
  344. package/dist/azure/reportEvidence.d.ts.map +1 -0
  345. package/dist/azure/reportEvidence.js +33 -0
  346. package/dist/azure/reportEvidence.js.map +1 -0
  347. package/dist/azure/reportEvidenceCatalogueValidation.d.ts +5 -0
  348. package/dist/azure/reportEvidenceCatalogueValidation.d.ts.map +1 -0
  349. package/dist/azure/reportEvidenceCatalogueValidation.js +109 -0
  350. package/dist/azure/reportEvidenceCatalogueValidation.js.map +1 -0
  351. package/dist/azure/reportEvidenceValidation.d.ts +7 -0
  352. package/dist/azure/reportEvidenceValidation.d.ts.map +1 -0
  353. package/dist/azure/reportEvidenceValidation.js +617 -0
  354. package/dist/azure/reportEvidenceValidation.js.map +1 -0
  355. package/dist/azure/reportEvidenceValidationHelpers.d.ts +14 -0
  356. package/dist/azure/reportEvidenceValidationHelpers.d.ts.map +1 -0
  357. package/dist/azure/reportEvidenceValidationHelpers.js +122 -0
  358. package/dist/azure/reportEvidenceValidationHelpers.js.map +1 -0
  359. package/dist/azure/reportSavingsContributionValidation.d.ts +5 -0
  360. package/dist/azure/reportSavingsContributionValidation.d.ts.map +1 -0
  361. package/dist/azure/reportSavingsContributionValidation.js +37 -0
  362. package/dist/azure/reportSavingsContributionValidation.js.map +1 -0
  363. package/dist/azure/reportSpend.d.ts +87 -0
  364. package/dist/azure/reportSpend.d.ts.map +1 -0
  365. package/dist/azure/reportSpend.js +5 -0
  366. package/dist/azure/reportSpend.js.map +1 -0
  367. package/dist/azure/reportSpendValidation.d.ts +7 -0
  368. package/dist/azure/reportSpendValidation.d.ts.map +1 -0
  369. package/dist/azure/reportSpendValidation.js +197 -0
  370. package/dist/azure/reportSpendValidation.js.map +1 -0
  371. package/dist/azure/reportSpendValidationHelpers.d.ts +7 -0
  372. package/dist/azure/reportSpendValidationHelpers.d.ts.map +1 -0
  373. package/dist/azure/reportSpendValidationHelpers.js +31 -0
  374. package/dist/azure/reportSpendValidationHelpers.js.map +1 -0
  375. package/dist/azure/reports.d.ts +32 -10
  376. package/dist/azure/reports.d.ts.map +1 -1
  377. package/dist/azure/reports.js.map +1 -1
  378. package/dist/azure/resilienceFacts.d.ts +100 -0
  379. package/dist/azure/resilienceFacts.d.ts.map +1 -0
  380. package/dist/azure/resilienceFacts.js +20 -0
  381. package/dist/azure/resilienceFacts.js.map +1 -0
  382. package/dist/azure/resilienceFactsValidation.d.ts +4 -0
  383. package/dist/azure/resilienceFactsValidation.d.ts.map +1 -0
  384. package/dist/azure/resilienceFactsValidation.js +70 -0
  385. package/dist/azure/resilienceFactsValidation.js.map +1 -0
  386. package/dist/azure/resources.d.ts +24 -12
  387. package/dist/azure/resources.d.ts.map +1 -1
  388. package/dist/azure/savings.d.ts +4 -2
  389. package/dist/azure/savings.d.ts.map +1 -1
  390. package/dist/azure/serviceRetirement.d.ts +52 -2
  391. package/dist/azure/serviceRetirement.d.ts.map +1 -1
  392. package/dist/azure/storage-inventory.d.ts +44 -0
  393. package/dist/azure/storage-inventory.d.ts.map +1 -1
  394. package/dist/azure/subscriptions.d.ts +57 -11
  395. package/dist/azure/subscriptions.d.ts.map +1 -1
  396. package/dist/azure/subscriptions.js +35 -0
  397. package/dist/azure/subscriptions.js.map +1 -1
  398. package/dist/azure/views.d.ts +110 -23
  399. package/dist/azure/views.d.ts.map +1 -1
  400. package/dist/azure/views.js +8 -1
  401. package/dist/azure/views.js.map +1 -1
  402. package/dist/azure/vmPatchManagement.d.ts +109 -0
  403. package/dist/azure/vmPatchManagement.d.ts.map +1 -0
  404. package/dist/azure/vmPatchManagement.js +7 -0
  405. package/dist/azure/vmPatchManagement.js.map +1 -0
  406. package/dist/common/boundedRows.d.ts +7 -0
  407. package/dist/common/boundedRows.d.ts.map +1 -0
  408. package/dist/{scheduler/scheduler.js → common/boundedRows.js} +1 -1
  409. package/dist/common/boundedRows.js.map +1 -0
  410. package/dist/common/index.d.ts +3 -0
  411. package/dist/common/index.d.ts.map +1 -1
  412. package/dist/common/index.js +3 -0
  413. package/dist/common/index.js.map +1 -1
  414. package/dist/common/metricStats.d.ts +29 -0
  415. package/dist/common/metricStats.d.ts.map +1 -0
  416. package/dist/{aws/portalPublicArtifactNestedEvidence.js → common/metricStats.js} +1 -1
  417. package/dist/common/metricStats.js.map +1 -0
  418. package/dist/common/provider.d.ts +55 -0
  419. package/dist/common/provider.d.ts.map +1 -1
  420. package/dist/common/provider.js.map +1 -1
  421. package/dist/common/relationships.d.ts +3 -3
  422. package/dist/common/relationships.d.ts.map +1 -1
  423. package/dist/common/resourceGraph.d.ts +137 -0
  424. package/dist/common/resourceGraph.d.ts.map +1 -0
  425. package/dist/common/resourceGraph.js +17 -0
  426. package/dist/common/resourceGraph.js.map +1 -0
  427. package/dist/common/resourceGraphValidation.d.ts +30 -0
  428. package/dist/common/resourceGraphValidation.d.ts.map +1 -0
  429. package/dist/common/resourceGraphValidation.js +369 -0
  430. package/dist/common/resourceGraphValidation.js.map +1 -0
  431. package/dist/common/resourceIdentity.d.ts +28 -0
  432. package/dist/common/resourceIdentity.d.ts.map +1 -0
  433. package/dist/common/resourceIdentity.js +35 -0
  434. package/dist/common/resourceIdentity.js.map +1 -0
  435. package/dist/common/sha256.d.ts +2 -0
  436. package/dist/common/sha256.d.ts.map +1 -1
  437. package/dist/common/sha256.js +3 -0
  438. package/dist/common/sha256.js.map +1 -1
  439. package/dist/common/utilizationStories.d.ts +695 -0
  440. package/dist/common/utilizationStories.d.ts.map +1 -0
  441. package/dist/common/utilizationStories.js +21 -0
  442. package/dist/common/utilizationStories.js.map +1 -0
  443. package/dist/common/utilizationStoriesValidation.d.ts +60 -0
  444. package/dist/common/utilizationStoriesValidation.d.ts.map +1 -0
  445. package/dist/common/utilizationStoriesValidation.js +762 -0
  446. package/dist/common/utilizationStoriesValidation.js.map +1 -0
  447. package/dist/common/validationHelpers.d.ts +37 -0
  448. package/dist/common/validationHelpers.d.ts.map +1 -0
  449. package/dist/common/validationHelpers.js +147 -0
  450. package/dist/common/validationHelpers.js.map +1 -0
  451. package/dist/company/company.d.ts +1 -0
  452. package/dist/company/company.d.ts.map +1 -1
  453. package/dist/environment/canonicalization.d.ts +12 -0
  454. package/dist/environment/canonicalization.d.ts.map +1 -0
  455. package/dist/environment/canonicalization.js +40 -0
  456. package/dist/environment/canonicalization.js.map +1 -0
  457. package/dist/environment/contracts.d.ts +472 -0
  458. package/dist/environment/contracts.d.ts.map +1 -0
  459. package/dist/environment/contracts.js +73 -0
  460. package/dist/environment/contracts.js.map +1 -0
  461. package/dist/environment/index.d.ts +6 -0
  462. package/dist/environment/index.d.ts.map +1 -0
  463. package/dist/environment/index.js +22 -0
  464. package/dist/environment/index.js.map +1 -0
  465. package/dist/environment/internal.d.ts +21 -0
  466. package/dist/environment/internal.d.ts.map +1 -0
  467. package/dist/environment/internal.js +113 -0
  468. package/dist/environment/internal.js.map +1 -0
  469. package/dist/environment/references.d.ts +24 -0
  470. package/dist/environment/references.d.ts.map +1 -0
  471. package/dist/environment/references.js +243 -0
  472. package/dist/environment/references.js.map +1 -0
  473. package/dist/environment/tenant.d.ts +128 -0
  474. package/dist/environment/tenant.d.ts.map +1 -0
  475. package/dist/environment/tenant.js +203 -0
  476. package/dist/environment/tenant.js.map +1 -0
  477. package/dist/environment/validation.d.ts +34 -0
  478. package/dist/environment/validation.d.ts.map +1 -0
  479. package/dist/environment/validation.js +655 -0
  480. package/dist/environment/validation.js.map +1 -0
  481. package/dist/esm/accounts/accounts.js +1 -0
  482. package/dist/esm/accounts/azureManualOnboarding.js +8 -0
  483. package/dist/esm/accounts/azureSpSetup.js +14 -1
  484. package/dist/esm/accounts/azureSpSetupDurable.js +27 -1
  485. package/dist/esm/accounts/index.js +2 -0
  486. package/dist/esm/accounts/subscriptionWriteAccess.js +112 -0
  487. package/dist/esm/accounts/writePermissions.js +46 -0
  488. package/dist/esm/ai/conversationHistory.js +6 -0
  489. package/dist/esm/ai/followUps.js +16 -0
  490. package/dist/esm/ai/grounding.js +147 -0
  491. package/dist/esm/ai/index.js +11 -1
  492. package/dist/esm/ai/workspaceArtifacts.js +158 -0
  493. package/dist/esm/aws/commitments-planning.js +6 -0
  494. package/dist/esm/aws/commitmentsPlanningValidation.js +2 -1
  495. package/dist/esm/aws/estates.js +7 -1
  496. package/dist/esm/aws/index.js +7 -13
  497. package/dist/esm/aws/organizationCommitments.js +48 -0
  498. package/dist/esm/aws/organizationCommitmentsApiValidation.js +220 -0
  499. package/dist/esm/aws/organizationCommitmentsValidation.js +225 -0
  500. package/dist/esm/aws/portalOrganizationCommitmentsPlanningPublicArtifactValidation.js +405 -0
  501. package/dist/esm/aws/portalOrganizationCommitmentsPlanningPublicArtifacts.js +2 -0
  502. package/dist/esm/aws/publicArtifacts.js +2 -0
  503. package/dist/esm/aws/relationships.js +4 -1
  504. package/dist/esm/aws/requests.js +4 -2
  505. package/dist/esm/aws/resourceGraph.js +63 -0
  506. package/dist/esm/aws/validationHelpers.js +46 -0
  507. package/dist/esm/azure/activityLogAnalysis.js +64 -0
  508. package/dist/esm/azure/activityLogAnalysisPublicValidation.js +360 -0
  509. package/dist/esm/azure/activityLogAnalysisPublicValidationHelpers.js +172 -0
  510. package/dist/esm/azure/activityLogAnalysisValidation.js +365 -0
  511. package/dist/esm/azure/billingPlots.js +45 -4
  512. package/dist/esm/azure/commitmentsPlanning.js +8 -1
  513. package/dist/esm/azure/commitmentsPlanningValidation.js +39 -0
  514. package/dist/esm/azure/common.js +28 -1
  515. package/dist/esm/azure/costComposition.js +80 -0
  516. package/dist/esm/azure/financialAnalyticsDelivery.js +5 -0
  517. package/dist/esm/azure/financialAnalyticsDeliveryValidation.js +184 -11
  518. package/dist/esm/azure/financialAnalyticsDisplayKernel.js +139 -0
  519. package/dist/esm/azure/financialAnalyticsValidation.js +101 -19
  520. package/dist/esm/azure/financialAuthorityProjectionKernel.js +263 -0
  521. package/dist/esm/azure/financialAuthorityViewValidation.js +271 -1
  522. package/dist/esm/azure/financialChargeComposition.js +36 -0
  523. package/dist/esm/azure/financialChargeCompositionKernel.js +48 -0
  524. package/dist/esm/azure/financialChargeCompositionValidation.js +155 -0
  525. package/dist/esm/azure/financialChargePolicy.js +473 -0
  526. package/dist/esm/azure/financialCurrentSpendSurfaceProjection.js +2 -0
  527. package/dist/esm/azure/financialCurrentSpendSurfaceProjectionValidation.js +184 -0
  528. package/dist/esm/azure/financialDataflowKernel.js +164 -0
  529. package/dist/esm/azure/financialDataflowValidation.js +199 -29
  530. package/dist/esm/azure/financialEvidenceAssessmentValidation.js +7 -0
  531. package/dist/esm/azure/financialEvidenceCoverage.js +106 -0
  532. package/dist/esm/azure/financialPolicyDelivery.js +4 -0
  533. package/dist/esm/azure/financialPolicyDeliveryValidation.js +227 -7
  534. package/dist/esm/azure/financialPolicyKernel.js +225 -0
  535. package/dist/esm/azure/financialPolicyValidation.js +110 -16
  536. package/dist/esm/azure/financialProjectionValidation.js +43 -3
  537. package/dist/esm/azure/financialResourceSurfaceProjection.js +2 -0
  538. package/dist/esm/azure/financialResourceSurfaceProjectionValidation.js +243 -0
  539. package/dist/esm/azure/financialSavingsAuthority.js +1 -0
  540. package/dist/esm/azure/financialSavingsAuthorityValidation.js +186 -2
  541. package/dist/esm/azure/financialSavingsChargePolicyKernel.js +29 -0
  542. package/dist/esm/azure/financialSavingsCoordinateValidation.js +98 -19
  543. package/dist/esm/azure/financialSavingsPercentageKernel.js +44 -0
  544. package/dist/esm/azure/financialSavingsSurfaceProjection.js +2 -0
  545. package/dist/esm/azure/financialSavingsSurfaceProjectionKernel.js +427 -0
  546. package/dist/esm/azure/financialSavingsSurfaceProjectionValidation.js +199 -13
  547. package/dist/esm/azure/financialScope.js +14 -0
  548. package/dist/esm/azure/financialScopeBaseline.js +12 -0
  549. package/dist/esm/azure/financialScopeBaselineIdentity.js +24 -4
  550. package/dist/esm/azure/financialScopeBaselineValidation.js +21 -4
  551. package/dist/esm/azure/governance.js +1 -0
  552. package/dist/esm/azure/payloads.js +84 -1
  553. package/dist/esm/azure/recommendationLifecycleOverlayValidation.js +75 -0
  554. package/dist/esm/azure/recommendations.js +2 -0
  555. package/dist/esm/azure/reportDailySpend.js +2 -0
  556. package/dist/esm/azure/reportDailySpendValidation.js +67 -0
  557. package/dist/esm/azure/reportEvidence.js +29 -0
  558. package/dist/esm/azure/reportEvidenceCatalogueValidation.js +103 -0
  559. package/dist/esm/azure/reportEvidenceValidation.js +609 -0
  560. package/dist/esm/azure/reportEvidenceValidationHelpers.js +94 -0
  561. package/dist/esm/azure/reportSavingsContributionValidation.js +30 -0
  562. package/dist/esm/azure/reportSpend.js +1 -0
  563. package/dist/esm/azure/reportSpendValidation.js +189 -0
  564. package/dist/esm/azure/reportSpendValidationHelpers.js +22 -0
  565. package/dist/esm/azure/resilienceFacts.js +16 -0
  566. package/dist/esm/azure/resilienceFactsValidation.js +64 -0
  567. package/dist/esm/azure/subscriptions.js +33 -1
  568. package/dist/esm/azure/views.js +8 -1
  569. package/dist/esm/azure/vmPatchManagement.js +3 -0
  570. package/dist/esm/common/index.js +3 -0
  571. package/dist/esm/common/resourceGraph.js +13 -0
  572. package/dist/esm/common/resourceGraphValidation.js +365 -0
  573. package/dist/esm/common/resourceIdentity.js +24 -0
  574. package/dist/esm/common/sha256.js +2 -0
  575. package/dist/esm/common/utilizationStories.js +17 -0
  576. package/dist/esm/common/utilizationStoriesValidation.js +718 -0
  577. package/dist/esm/common/validationHelpers.js +115 -0
  578. package/dist/esm/entries/commitments-planning.js +2 -2
  579. package/dist/esm/entries/environment.js +3 -0
  580. package/dist/esm/entries/relationships.js +2 -2
  581. package/dist/esm/environment/canonicalization.js +34 -0
  582. package/dist/esm/environment/contracts.js +69 -0
  583. package/dist/esm/environment/index.js +5 -0
  584. package/dist/esm/environment/internal.js +97 -0
  585. package/dist/esm/environment/references.js +230 -0
  586. package/dist/esm/environment/tenant.js +190 -0
  587. package/dist/esm/environment/validation.js +635 -0
  588. package/dist/esm/identity/index.js +1 -0
  589. package/dist/esm/index.js +18 -0
  590. package/dist/esm/index.vite.js +12 -0
  591. package/dist/esm/reporting/jobs/index.js +13 -0
  592. package/dist/esm/reporting/jobs/reportJobIdentity.js +76 -0
  593. package/dist/esm/reporting/jobs/reportJobMessages.js +47 -0
  594. package/dist/esm/reporting/jobs/reportJobRow.js +264 -0
  595. package/dist/esm/reporting/jobs/reportJobSpec.js +295 -0
  596. package/dist/esm/reporting/jobs/reportJobStatus.js +87 -0
  597. package/dist/esm/reporting/shared/reportTableEntities.js +41 -0
  598. package/dist/esm/reporting/shared/reportingDigest.js +57 -0
  599. package/dist/esm/reporting/shared/reportingIds.js +88 -0
  600. package/dist/esm/reporting/shared/reportingPaths.js +23 -0
  601. package/dist/esm/scheduler/index.js +4 -1
  602. package/dist/esm/scheduler/resourceStrategy.js +2 -0
  603. package/dist/esm/scheduler/resourceStrategyCapabilityValidation.js +265 -0
  604. package/dist/esm/scheduler/resourceStrategyContracts.js +20 -0
  605. package/dist/esm/scheduler/resourceStrategyFinancialValidation.js +145 -0
  606. package/dist/esm/scheduler/resourceStrategyPermissionValidation.js +190 -0
  607. package/dist/esm/scheduler/resourceStrategyScheduleValidation.js +506 -0
  608. package/dist/esm/scheduler/resourceStrategyValidation.js +4 -0
  609. package/dist/esm/scheduler/resourceStrategyValidationShared.js +261 -0
  610. package/dist/esm/scheduler/schedulerContracts.js +1 -0
  611. package/dist/esm/scheduler/schedulerValidation.js +372 -0
  612. package/dist/esm/scheduler/weeklyAvailabilityFixtures.js +140 -0
  613. package/dist/events/alertDefinitionRun.d.ts +4 -0
  614. package/dist/events/alertDefinitionRun.d.ts.map +1 -1
  615. package/dist/events/baseAlert.d.ts +1 -0
  616. package/dist/events/baseAlert.d.ts.map +1 -1
  617. package/dist/events/cost.d.ts +4 -0
  618. package/dist/events/cost.d.ts.map +1 -1
  619. package/dist/events/quickAlerts.d.ts +13 -4
  620. package/dist/events/quickAlerts.d.ts.map +1 -1
  621. package/dist/events/quickAlerts.js.map +1 -1
  622. package/dist/features-and-permissions/access.d.ts +79 -0
  623. package/dist/features-and-permissions/access.d.ts.map +1 -1
  624. package/dist/identity/index.d.ts +1 -0
  625. package/dist/identity/index.d.ts.map +1 -1
  626. package/dist/identity/index.js +1 -0
  627. package/dist/identity/index.js.map +1 -1
  628. package/dist/identity/microsoftSignInAdminConsent.d.ts +59 -0
  629. package/dist/identity/microsoftSignInAdminConsent.d.ts.map +1 -0
  630. package/dist/{aws/portalRelationshipResourceNodeTypes.js → identity/microsoftSignInAdminConsent.js} +1 -1
  631. package/dist/identity/microsoftSignInAdminConsent.js.map +1 -0
  632. package/dist/index.d.ts +18 -0
  633. package/dist/index.d.ts.map +1 -1
  634. package/dist/index.js +24 -0
  635. package/dist/index.js.map +1 -1
  636. package/dist/index.vite.d.ts +12 -0
  637. package/dist/index.vite.d.ts.map +1 -1
  638. package/dist/index.vite.js +16 -0
  639. package/dist/index.vite.js.map +1 -1
  640. package/dist/portfolio/portfolioOperations.d.ts +1 -1
  641. package/dist/portfolio/portfolioOperations.d.ts.map +1 -1
  642. package/dist/reporting/jobs/index.d.ts +14 -0
  643. package/dist/reporting/jobs/index.d.ts.map +1 -0
  644. package/dist/reporting/jobs/index.js +45 -0
  645. package/dist/reporting/jobs/index.js.map +1 -0
  646. package/dist/reporting/jobs/reportJobIdentity.d.ts +44 -0
  647. package/dist/reporting/jobs/reportJobIdentity.d.ts.map +1 -0
  648. package/dist/reporting/jobs/reportJobIdentity.js +88 -0
  649. package/dist/reporting/jobs/reportJobIdentity.js.map +1 -0
  650. package/dist/reporting/jobs/reportJobMessages.d.ts +30 -0
  651. package/dist/reporting/jobs/reportJobMessages.d.ts.map +1 -0
  652. package/dist/reporting/jobs/reportJobMessages.js +54 -0
  653. package/dist/reporting/jobs/reportJobMessages.js.map +1 -0
  654. package/dist/reporting/jobs/reportJobRow.d.ts +98 -0
  655. package/dist/reporting/jobs/reportJobRow.d.ts.map +1 -0
  656. package/dist/reporting/jobs/reportJobRow.js +270 -0
  657. package/dist/reporting/jobs/reportJobRow.js.map +1 -0
  658. package/dist/reporting/jobs/reportJobSpec.d.ts +92 -0
  659. package/dist/reporting/jobs/reportJobSpec.d.ts.map +1 -0
  660. package/dist/reporting/jobs/reportJobSpec.js +304 -0
  661. package/dist/reporting/jobs/reportJobSpec.js.map +1 -0
  662. package/dist/reporting/jobs/reportJobStatus.d.ts +60 -0
  663. package/dist/reporting/jobs/reportJobStatus.d.ts.map +1 -0
  664. package/dist/reporting/jobs/reportJobStatus.js +98 -0
  665. package/dist/reporting/jobs/reportJobStatus.js.map +1 -0
  666. package/dist/reporting/shared/reportTableEntities.d.ts +23 -0
  667. package/dist/reporting/shared/reportTableEntities.d.ts.map +1 -0
  668. package/dist/reporting/shared/reportTableEntities.js +47 -0
  669. package/dist/reporting/shared/reportTableEntities.js.map +1 -0
  670. package/dist/reporting/shared/reportingDigest.d.ts +6 -0
  671. package/dist/reporting/shared/reportingDigest.d.ts.map +1 -0
  672. package/dist/reporting/shared/reportingDigest.js +63 -0
  673. package/dist/reporting/shared/reportingDigest.js.map +1 -0
  674. package/dist/reporting/shared/reportingIds.d.ts +34 -0
  675. package/dist/reporting/shared/reportingIds.d.ts.map +1 -0
  676. package/dist/reporting/shared/reportingIds.js +102 -0
  677. package/dist/reporting/shared/reportingIds.js.map +1 -0
  678. package/dist/reporting/shared/reportingPaths.d.ts +14 -0
  679. package/dist/reporting/shared/reportingPaths.d.ts.map +1 -0
  680. package/dist/reporting/shared/reportingPaths.js +29 -0
  681. package/dist/reporting/shared/reportingPaths.js.map +1 -0
  682. package/dist/scheduler/index.d.ts +4 -1
  683. package/dist/scheduler/index.d.ts.map +1 -1
  684. package/dist/scheduler/index.js +4 -1
  685. package/dist/scheduler/index.js.map +1 -1
  686. package/dist/scheduler/resourceStrategy.d.ts +3 -0
  687. package/dist/scheduler/resourceStrategy.d.ts.map +1 -0
  688. package/dist/scheduler/resourceStrategy.js +19 -0
  689. package/dist/scheduler/resourceStrategy.js.map +1 -0
  690. package/dist/scheduler/resourceStrategyCapabilityValidation.d.ts +4 -0
  691. package/dist/scheduler/resourceStrategyCapabilityValidation.d.ts.map +1 -0
  692. package/dist/scheduler/resourceStrategyCapabilityValidation.js +270 -0
  693. package/dist/scheduler/resourceStrategyCapabilityValidation.js.map +1 -0
  694. package/dist/scheduler/resourceStrategyContracts.d.ts +466 -0
  695. package/dist/scheduler/resourceStrategyContracts.d.ts.map +1 -0
  696. package/dist/scheduler/resourceStrategyContracts.js +24 -0
  697. package/dist/scheduler/resourceStrategyContracts.js.map +1 -0
  698. package/dist/scheduler/resourceStrategyFinancialValidation.d.ts +5 -0
  699. package/dist/scheduler/resourceStrategyFinancialValidation.d.ts.map +1 -0
  700. package/dist/scheduler/resourceStrategyFinancialValidation.js +151 -0
  701. package/dist/scheduler/resourceStrategyFinancialValidation.js.map +1 -0
  702. package/dist/scheduler/resourceStrategyPermissionValidation.d.ts +4 -0
  703. package/dist/scheduler/resourceStrategyPermissionValidation.d.ts.map +1 -0
  704. package/dist/scheduler/resourceStrategyPermissionValidation.js +195 -0
  705. package/dist/scheduler/resourceStrategyPermissionValidation.js.map +1 -0
  706. package/dist/scheduler/resourceStrategyScheduleValidation.d.ts +14 -0
  707. package/dist/scheduler/resourceStrategyScheduleValidation.d.ts.map +1 -0
  708. package/dist/scheduler/resourceStrategyScheduleValidation.js +519 -0
  709. package/dist/scheduler/resourceStrategyScheduleValidation.js.map +1 -0
  710. package/dist/scheduler/resourceStrategyValidation.d.ts +5 -0
  711. package/dist/scheduler/resourceStrategyValidation.d.ts.map +1 -0
  712. package/dist/scheduler/resourceStrategyValidation.js +21 -0
  713. package/dist/scheduler/resourceStrategyValidation.js.map +1 -0
  714. package/dist/scheduler/resourceStrategyValidationShared.d.ts +19 -0
  715. package/dist/scheduler/resourceStrategyValidationShared.d.ts.map +1 -0
  716. package/dist/scheduler/resourceStrategyValidationShared.js +281 -0
  717. package/dist/scheduler/resourceStrategyValidationShared.js.map +1 -0
  718. package/dist/scheduler/schedulerContracts.d.ts +184 -0
  719. package/dist/scheduler/schedulerContracts.d.ts.map +1 -0
  720. package/dist/scheduler/schedulerContracts.js +3 -0
  721. package/dist/scheduler/schedulerContracts.js.map +1 -0
  722. package/dist/scheduler/schedulerValidation.d.ts +15 -0
  723. package/dist/scheduler/schedulerValidation.d.ts.map +1 -0
  724. package/dist/scheduler/schedulerValidation.js +388 -0
  725. package/dist/scheduler/schedulerValidation.js.map +1 -0
  726. package/dist/scheduler/weeklyAvailabilityFixtures.d.ts +26 -0
  727. package/dist/scheduler/weeklyAvailabilityFixtures.d.ts.map +1 -0
  728. package/dist/scheduler/weeklyAvailabilityFixtures.js +144 -0
  729. package/dist/scheduler/weeklyAvailabilityFixtures.js.map +1 -0
  730. package/package.json +43 -7
  731. package/dist/aws/pluginPublicArtifactBodyValidation.d.ts +0 -10
  732. package/dist/aws/pluginPublicArtifactBodyValidation.d.ts.map +0 -1
  733. package/dist/aws/pluginPublicArtifactBodyValidation.js +0 -225
  734. package/dist/aws/pluginPublicArtifactBodyValidation.js.map +0 -1
  735. package/dist/aws/pluginPublicArtifactEvidence.d.ts +0 -161
  736. package/dist/aws/pluginPublicArtifactEvidence.d.ts.map +0 -1
  737. package/dist/aws/pluginPublicArtifactEvidence.js.map +0 -1
  738. package/dist/aws/pluginPublicArtifactManifestValidation.d.ts +0 -4
  739. package/dist/aws/pluginPublicArtifactManifestValidation.d.ts.map +0 -1
  740. package/dist/aws/pluginPublicArtifactManifestValidation.js +0 -259
  741. package/dist/aws/pluginPublicArtifactManifestValidation.js.map +0 -1
  742. package/dist/aws/pluginPublicArtifactSectionValidation.d.ts +0 -6
  743. package/dist/aws/pluginPublicArtifactSectionValidation.d.ts.map +0 -1
  744. package/dist/aws/pluginPublicArtifactSectionValidation.js +0 -471
  745. package/dist/aws/pluginPublicArtifactSectionValidation.js.map +0 -1
  746. package/dist/aws/pluginPublicArtifactValidation.d.ts +0 -3
  747. package/dist/aws/pluginPublicArtifactValidation.d.ts.map +0 -1
  748. package/dist/aws/pluginPublicArtifactValidation.js +0 -9
  749. package/dist/aws/pluginPublicArtifactValidation.js.map +0 -1
  750. package/dist/aws/pluginPublicArtifactValidationHelpers.d.ts +0 -23
  751. package/dist/aws/pluginPublicArtifactValidationHelpers.d.ts.map +0 -1
  752. package/dist/aws/pluginPublicArtifactValidationHelpers.js +0 -240
  753. package/dist/aws/pluginPublicArtifactValidationHelpers.js.map +0 -1
  754. package/dist/aws/pluginPublicArtifacts.d.ts +0 -253
  755. package/dist/aws/pluginPublicArtifacts.d.ts.map +0 -1
  756. package/dist/aws/pluginPublicArtifacts.js +0 -51
  757. package/dist/aws/pluginPublicArtifacts.js.map +0 -1
  758. package/dist/aws/portalCommitmentsPlanningPublicArtifactValidation.d.ts +0 -4
  759. package/dist/aws/portalCommitmentsPlanningPublicArtifactValidation.d.ts.map +0 -1
  760. package/dist/aws/portalCommitmentsPlanningPublicArtifactValidation.js +0 -513
  761. package/dist/aws/portalCommitmentsPlanningPublicArtifactValidation.js.map +0 -1
  762. package/dist/aws/portalCommitmentsPlanningPublicArtifacts.d.ts +0 -13
  763. package/dist/aws/portalCommitmentsPlanningPublicArtifacts.d.ts.map +0 -1
  764. package/dist/aws/portalCommitmentsPlanningPublicArtifacts.js +0 -5
  765. package/dist/aws/portalCommitmentsPlanningPublicArtifacts.js.map +0 -1
  766. package/dist/aws/portalPublicArtifactCurrentValidation.d.ts +0 -4
  767. package/dist/aws/portalPublicArtifactCurrentValidation.d.ts.map +0 -1
  768. package/dist/aws/portalPublicArtifactCurrentValidation.js +0 -333
  769. package/dist/aws/portalPublicArtifactCurrentValidation.js.map +0 -1
  770. package/dist/aws/portalPublicArtifactEvidenceValidation.d.ts +0 -6
  771. package/dist/aws/portalPublicArtifactEvidenceValidation.d.ts.map +0 -1
  772. package/dist/aws/portalPublicArtifactEvidenceValidation.js +0 -301
  773. package/dist/aws/portalPublicArtifactEvidenceValidation.js.map +0 -1
  774. package/dist/aws/portalPublicArtifactHistoryAiValidation.d.ts +0 -8
  775. package/dist/aws/portalPublicArtifactHistoryAiValidation.d.ts.map +0 -1
  776. package/dist/aws/portalPublicArtifactHistoryAiValidation.js +0 -377
  777. package/dist/aws/portalPublicArtifactHistoryAiValidation.js.map +0 -1
  778. package/dist/aws/portalPublicArtifactHistoryTypes.d.ts +0 -178
  779. package/dist/aws/portalPublicArtifactHistoryTypes.d.ts.map +0 -1
  780. package/dist/aws/portalPublicArtifactHistoryTypes.js +0 -44
  781. package/dist/aws/portalPublicArtifactHistoryTypes.js.map +0 -1
  782. package/dist/aws/portalPublicArtifactNestedEvidence.d.ts +0 -127
  783. package/dist/aws/portalPublicArtifactNestedEvidence.d.ts.map +0 -1
  784. package/dist/aws/portalPublicArtifactNestedEvidence.js.map +0 -1
  785. package/dist/aws/portalPublicArtifactNestedEvidenceValidation.d.ts +0 -6
  786. package/dist/aws/portalPublicArtifactNestedEvidenceValidation.d.ts.map +0 -1
  787. package/dist/aws/portalPublicArtifactNestedEvidenceValidation.js +0 -405
  788. package/dist/aws/portalPublicArtifactNestedEvidenceValidation.js.map +0 -1
  789. package/dist/aws/portalPublicArtifactValidation.d.ts +0 -3
  790. package/dist/aws/portalPublicArtifactValidation.d.ts.map +0 -1
  791. package/dist/aws/portalPublicArtifactValidation.js +0 -14
  792. package/dist/aws/portalPublicArtifactValidation.js.map +0 -1
  793. package/dist/aws/portalPublicArtifactValidationCommon.d.ts +0 -30
  794. package/dist/aws/portalPublicArtifactValidationCommon.d.ts.map +0 -1
  795. package/dist/aws/portalPublicArtifactValidationCommon.js +0 -167
  796. package/dist/aws/portalPublicArtifactValidationCommon.js.map +0 -1
  797. package/dist/aws/portalPublicArtifacts.d.ts +0 -400
  798. package/dist/aws/portalPublicArtifacts.d.ts.map +0 -1
  799. package/dist/aws/portalPublicArtifacts.js +0 -85
  800. package/dist/aws/portalPublicArtifacts.js.map +0 -1
  801. package/dist/aws/portalRelationshipPublicArtifactValidation.d.ts +0 -4
  802. package/dist/aws/portalRelationshipPublicArtifactValidation.d.ts.map +0 -1
  803. package/dist/aws/portalRelationshipPublicArtifactValidation.js +0 -338
  804. package/dist/aws/portalRelationshipPublicArtifactValidation.js.map +0 -1
  805. package/dist/aws/portalRelationshipPublicArtifacts.d.ts +0 -196
  806. package/dist/aws/portalRelationshipPublicArtifacts.d.ts.map +0 -1
  807. package/dist/aws/portalRelationshipPublicArtifacts.js +0 -63
  808. package/dist/aws/portalRelationshipPublicArtifacts.js.map +0 -1
  809. package/dist/aws/portalRelationshipResourceNodeTypes.d.ts +0 -269
  810. package/dist/aws/portalRelationshipResourceNodeTypes.d.ts.map +0 -1
  811. package/dist/aws/portalRelationshipResourceNodeTypes.js.map +0 -1
  812. package/dist/aws/portalRelationshipResourceNodeValidation.d.ts +0 -2
  813. package/dist/aws/portalRelationshipResourceNodeValidation.d.ts.map +0 -1
  814. package/dist/aws/portalRelationshipResourceNodeValidation.js +0 -372
  815. package/dist/aws/portalRelationshipResourceNodeValidation.js.map +0 -1
  816. package/dist/esm/aws/pluginPublicArtifactBodyValidation.js +0 -217
  817. package/dist/esm/aws/pluginPublicArtifactManifestValidation.js +0 -255
  818. package/dist/esm/aws/pluginPublicArtifactSectionValidation.js +0 -464
  819. package/dist/esm/aws/pluginPublicArtifactValidation.js +0 -2
  820. package/dist/esm/aws/pluginPublicArtifactValidationHelpers.js +0 -216
  821. package/dist/esm/aws/pluginPublicArtifacts.js +0 -44
  822. package/dist/esm/aws/portalCommitmentsPlanningPublicArtifactValidation.js +0 -509
  823. package/dist/esm/aws/portalCommitmentsPlanningPublicArtifacts.js +0 -1
  824. package/dist/esm/aws/portalPublicArtifactCurrentValidation.js +0 -328
  825. package/dist/esm/aws/portalPublicArtifactEvidenceValidation.js +0 -294
  826. package/dist/esm/aws/portalPublicArtifactHistoryAiValidation.js +0 -368
  827. package/dist/esm/aws/portalPublicArtifactHistoryTypes.js +0 -40
  828. package/dist/esm/aws/portalPublicArtifactNestedEvidenceValidation.js +0 -397
  829. package/dist/esm/aws/portalPublicArtifactValidation.js +0 -2
  830. package/dist/esm/aws/portalPublicArtifactValidationCommon.js +0 -139
  831. package/dist/esm/aws/portalPublicArtifacts.js +0 -73
  832. package/dist/esm/aws/portalRelationshipPublicArtifactValidation.js +0 -334
  833. package/dist/esm/aws/portalRelationshipPublicArtifacts.js +0 -59
  834. package/dist/esm/aws/portalRelationshipResourceNodeValidation.js +0 -368
  835. package/dist/scheduler/scheduler.d.ts +0 -263
  836. package/dist/scheduler/scheduler.d.ts.map +0 -1
  837. package/dist/scheduler/scheduler.js.map +0 -1
  838. /package/dist/esm/aws/{pluginPublicArtifactEvidence.js → commitmentsPlanningView.js} +0 -0
  839. /package/dist/esm/{aws/portalPublicArtifactNestedEvidence.js → common/boundedRows.js} +0 -0
  840. /package/dist/esm/{aws/portalRelationshipResourceNodeTypes.js → common/metricStats.js} +0 -0
  841. /package/dist/esm/{scheduler/scheduler.js → identity/microsoftSignInAdminConsent.js} +0 -0
@@ -0,0 +1,617 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isTenantReportEvidencePack = exports.isSubscriptionReportHistory = exports.isSubscriptionReportEvidencePack = exports.isReportSecureScoreEvidence = void 0;
4
+ const reportEvidenceCatalogueValidation_1 = require("./reportEvidenceCatalogueValidation");
5
+ const reportDailySpendValidation_1 = require("./reportDailySpendValidation");
6
+ const reportSpendValidation_1 = require("./reportSpendValidation");
7
+ const commitmentsPlanningValidation_1 = require("./commitmentsPlanningValidation");
8
+ const reportEvidence_1 = require("./reportEvidence");
9
+ const reportEvidenceValidationHelpers_1 = require("./reportEvidenceValidationHelpers");
10
+ const utilizationStoriesValidation_1 = require("../common/utilizationStoriesValidation");
11
+ const isReportSecureScoreEvidence = (value) => {
12
+ if (!(0, reportEvidenceValidationHelpers_1.isRecord)(value) || !['available', 'unavailable', 'stale'].includes(value.status))
13
+ return false;
14
+ if (!(0, reportEvidenceValidationHelpers_1.hasOptionalNumbers)(value, ['percentage', 'currentScore', 'maxScore', 'weight']) ||
15
+ (value.percentage !== undefined && (value.percentage < 0 || value.percentage > 100)) ||
16
+ ['currentScore', 'maxScore', 'weight'].some(key => value[key] !== undefined && value[key] < 0) ||
17
+ ((0, reportEvidenceValidationHelpers_1.isFiniteNumber)(value.currentScore) && (0, reportEvidenceValidationHelpers_1.isFiniteNumber)(value.maxScore) && value.currentScore > value.maxScore) ||
18
+ (value.assessedResourceCount !== undefined && !(0, reportEvidenceValidationHelpers_1.isCount)(value.assessedResourceCount)) ||
19
+ (value.observedAt !== undefined && !(0, reportEvidenceValidationHelpers_1.isDateTime)(value.observedAt)))
20
+ return false;
21
+ return true;
22
+ };
23
+ exports.isReportSecureScoreEvidence = isReportSecureScoreEvidence;
24
+ const isCostSavingsCategory = (value) => (0, reportEvidenceValidationHelpers_1.isRecord)(value) &&
25
+ (value.savingsBasis === undefined || (0, reportSpendValidation_1.isReportSavingsBasis)(value.savingsBasis)) &&
26
+ (0, reportEvidenceValidationHelpers_1.isString)(value.key) &&
27
+ (0, reportEvidenceValidationHelpers_1.isString)(value.label) &&
28
+ (0, reportEvidenceValidationHelpers_1.isCount)(value.recommendationCount) &&
29
+ (0, reportEvidenceValidationHelpers_1.isCount)(value.resourceCount) &&
30
+ ['currentMonthlyCost', 'potentialMonthlyCost', 'minimumMonthlySavings', 'maximumMonthlySavings'].every(key => (0, reportEvidenceValidationHelpers_1.isFiniteNumber)(value[key]));
31
+ const REPORT_COST_CHANGE_LEVELS = new Set(['service', 'resource-group', 'resource', 'meter']);
32
+ const REPORT_COST_CHANGE_TYPES = new Set(['increase', 'decrease', 'no_change', 'new_resource', 'removed_resource']);
33
+ const REPORT_COST_CHANGE_REASON_TYPES = new Set([
34
+ 'new_resource',
35
+ 'removed_resource',
36
+ 'quantity_increase',
37
+ 'quantity_decrease',
38
+ 'rate_change',
39
+ 'sku_change',
40
+ 'new_meter',
41
+ 'removed_meter',
42
+ ]);
43
+ const isStringOrFiniteNumber = (value) => (0, reportEvidenceValidationHelpers_1.isString)(value) || (0, reportEvidenceValidationHelpers_1.isFiniteNumber)(value);
44
+ const isCostChangeReason = (value) => (0, reportEvidenceValidationHelpers_1.isRecord)(value) &&
45
+ (0, reportEvidenceValidationHelpers_1.isString)(value.type) &&
46
+ REPORT_COST_CHANGE_REASON_TYPES.has(value.type) &&
47
+ (0, reportEvidenceValidationHelpers_1.isFiniteNumber)(value.impact) &&
48
+ (0, reportEvidenceValidationHelpers_1.isOptionalFiniteNumber)(value.impactPercent) &&
49
+ (0, reportEvidenceValidationHelpers_1.isString)(value.description) &&
50
+ (value.oldValue === undefined || isStringOrFiniteNumber(value.oldValue)) &&
51
+ (value.newValue === undefined || isStringOrFiniteNumber(value.newValue));
52
+ const isCostChangeDriver = (value) => (0, reportEvidenceValidationHelpers_1.isRecord)(value) &&
53
+ (0, reportEvidenceValidationHelpers_1.isString)(value.key) &&
54
+ (0, reportEvidenceValidationHelpers_1.isString)(value.level) &&
55
+ REPORT_COST_CHANGE_LEVELS.has(value.level) &&
56
+ (0, reportEvidenceValidationHelpers_1.isString)(value.label) &&
57
+ (0, reportEvidenceValidationHelpers_1.isOptionalString)(value.resourceId) &&
58
+ (0, reportEvidenceValidationHelpers_1.isFiniteNumber)(value.currentCost) &&
59
+ (0, reportEvidenceValidationHelpers_1.isFiniteNumber)(value.previousCost) &&
60
+ (0, reportEvidenceValidationHelpers_1.isFiniteNumber)(value.change) &&
61
+ (0, reportEvidenceValidationHelpers_1.isOptionalFiniteNumber)(value.changePercent) &&
62
+ (0, reportEvidenceValidationHelpers_1.isString)(value.changeType) &&
63
+ REPORT_COST_CHANGE_TYPES.has(value.changeType) &&
64
+ (0, reportEvidenceValidationHelpers_1.isOptionalString)(value.summary) &&
65
+ (0, reportEvidenceValidationHelpers_1.isBoundedRows)(value.reasons, reportEvidence_1.REPORT_EVIDENCE_LIMITS.costChangeReasons, isCostChangeReason);
66
+ const isCostChangePeriod = (value) => (0, reportEvidenceValidationHelpers_1.isRecord)(value) &&
67
+ (0, reportEvidenceValidationHelpers_1.isString)(value.period) &&
68
+ /^\d{4}-(0[1-9]|1[0-2])$/u.test(value.period) &&
69
+ (0, reportEvidenceValidationHelpers_1.isString)(value.previousPeriod) &&
70
+ /^\d{4}-(0[1-9]|1[0-2])$/u.test(value.previousPeriod) &&
71
+ value.previousPeriod < value.period &&
72
+ (0, reportEvidenceValidationHelpers_1.isString)(value.currency) &&
73
+ /^[A-Z]{3}$/u.test(value.currency) &&
74
+ (0, reportEvidenceValidationHelpers_1.isFiniteNumber)(value.currentCost) &&
75
+ (0, reportEvidenceValidationHelpers_1.isFiniteNumber)(value.previousCost) &&
76
+ (0, reportEvidenceValidationHelpers_1.isFiniteNumber)(value.change) &&
77
+ (0, reportEvidenceValidationHelpers_1.isOptionalFiniteNumber)(value.changePercent) &&
78
+ (0, reportEvidenceValidationHelpers_1.isBoundedRows)(value.drivers, reportEvidence_1.REPORT_EVIDENCE_LIMITS.costChangeDrivers, isCostChangeDriver);
79
+ const hasRequiredCountKeys = (value, keys) => (0, reportEvidenceValidationHelpers_1.isCountRecord)(value) && keys.every(key => Object.prototype.hasOwnProperty.call(value, key));
80
+ const isRecommendationPortfolio = (value) => {
81
+ if (!(0, reportEvidenceValidationHelpers_1.isRecord)(value))
82
+ return false;
83
+ const impactBands = new Set(['High', 'Medium', 'Low', 'Unknown']);
84
+ const effortBands = new Set(['Low', 'Medium', 'High', 'Unknown']);
85
+ if (!(0, reportEvidenceValidationHelpers_1.isCount)(value.sourceRecommendationCount) ||
86
+ !(0, reportEvidenceValidationHelpers_1.isCount)(value.activeRecommendationCount) ||
87
+ !(0, reportEvidenceValidationHelpers_1.isCount)(value.resolvedRecommendationCount) ||
88
+ !(0, reportEvidenceValidationHelpers_1.isCount)(value.highImpactCount) ||
89
+ !(0, reportEvidenceValidationHelpers_1.isCount)(value.quickWinCount) ||
90
+ value.sourceRecommendationCount !== value.activeRecommendationCount + value.resolvedRecommendationCount ||
91
+ value.highImpactCount > value.activeRecommendationCount ||
92
+ value.quickWinCount > value.activeRecommendationCount ||
93
+ !(0, reportEvidenceValidationHelpers_1.isCountRecord)(value.byCategory) ||
94
+ !hasRequiredCountKeys(value.byImpact, ['High', 'Medium', 'Low', 'Unknown']) ||
95
+ !hasRequiredCountKeys(value.byEffort, ['Low', 'Medium', 'High', 'Unknown']) ||
96
+ (0, reportEvidenceValidationHelpers_1.countTotal)(value.byCategory) !== value.activeRecommendationCount ||
97
+ (0, reportEvidenceValidationHelpers_1.countTotal)(value.byImpact) !== value.activeRecommendationCount ||
98
+ (0, reportEvidenceValidationHelpers_1.countTotal)(value.byEffort) !== value.activeRecommendationCount ||
99
+ !Array.isArray(value.impactEffortMatrix) ||
100
+ value.impactEffortMatrix.length !== 16 ||
101
+ !value.impactEffortMatrix.every(row => (0, reportEvidenceValidationHelpers_1.isRecord)(row) &&
102
+ (0, reportEvidenceValidationHelpers_1.isString)(row.impact) &&
103
+ impactBands.has(row.impact) &&
104
+ (0, reportEvidenceValidationHelpers_1.isString)(row.effort) &&
105
+ effortBands.has(row.effort) &&
106
+ (0, reportEvidenceValidationHelpers_1.isCount)(row.count)) ||
107
+ new Set(value.impactEffortMatrix.map(row => `${row.impact}|${row.effort}`)).size !== 16 ||
108
+ value.impactEffortMatrix.reduce((total, row) => total + row.count, 0) !== value.activeRecommendationCount ||
109
+ !(0, reportEvidenceValidationHelpers_1.isRecord)(value.affectedResources) ||
110
+ !(0, reportEvidenceValidationHelpers_1.isCount)(value.affectedResources.count) ||
111
+ !(0, reportEvidenceValidationHelpers_1.isCount)(value.affectedResources.identifiedCount) ||
112
+ !(0, reportEvidenceValidationHelpers_1.isCount)(value.affectedResources.largestReportedRecommendationCount) ||
113
+ (value.affectedResources.basis !== 'exact' && value.affectedResources.basis !== 'lower-bound')) {
114
+ return false;
115
+ }
116
+ if (value.affectedResources.count < value.affectedResources.identifiedCount ||
117
+ value.affectedResources.count < value.affectedResources.largestReportedRecommendationCount ||
118
+ (value.affectedResources.basis === 'exact' && value.affectedResources.count !== value.affectedResources.identifiedCount)) {
119
+ return false;
120
+ }
121
+ if (value.costSavings === undefined)
122
+ return true;
123
+ if (!(0, reportEvidenceValidationHelpers_1.isRecord)(value.costSavings) ||
124
+ !(0, reportEvidenceValidationHelpers_1.isString)(value.costSavings.currency) ||
125
+ !(0, reportEvidenceValidationHelpers_1.isCount)(value.costSavings.contributingRecommendationCount) ||
126
+ (value.costSavings.savingsBasis !== undefined && !(0, reportSpendValidation_1.isReportSavingsBasis)(value.costSavings.savingsBasis))) {
127
+ return false;
128
+ }
129
+ const monthly = value.costSavings.monthly;
130
+ const annual = value.costSavings.annual;
131
+ return ((0, reportEvidenceValidationHelpers_1.isRecord)(monthly) &&
132
+ ['currentCost', 'potentialCost', 'minimumSavings', 'maximumSavings'].every(key => (0, reportEvidenceValidationHelpers_1.isFiniteNumber)(monthly[key])) &&
133
+ (0, reportEvidenceValidationHelpers_1.isRecord)(annual) &&
134
+ (0, reportEvidenceValidationHelpers_1.isFiniteNumber)(annual.minimumSavings) &&
135
+ (0, reportEvidenceValidationHelpers_1.isFiniteNumber)(annual.maximumSavings) &&
136
+ (0, reportEvidenceValidationHelpers_1.isBoundedRows)(value.costSavings.categories, reportEvidence_1.REPORT_EVIDENCE_LIMITS.detailRows, isCostSavingsCategory) &&
137
+ (0, reportEvidenceValidationHelpers_1.isOptionalString)(value.costSavings.currencySymbol) &&
138
+ (0, reportEvidenceValidationHelpers_1.isOptionalFiniteNumber)(monthly.minimumSavingsPercent) &&
139
+ (0, reportEvidenceValidationHelpers_1.isOptionalFiniteNumber)(monthly.maximumSavingsPercent) &&
140
+ (value.costSavings.basis === undefined ||
141
+ ((0, reportEvidenceValidationHelpers_1.isRecord)(value.costSavings.basis) &&
142
+ (0, reportEvidenceValidationHelpers_1.isString)(value.costSavings.basis.categoryScope) &&
143
+ (0, reportEvidenceValidationHelpers_1.isString)(value.costSavings.basis.projection) &&
144
+ (0, reportEvidenceValidationHelpers_1.isString)(value.costSavings.basis.observedPeriod) &&
145
+ typeof value.costSavings.basis.excludesEstimatedRows === 'boolean' &&
146
+ (0, reportEvidenceValidationHelpers_1.isString)(value.costSavings.basis.appliesTo) &&
147
+ typeof value.costSavings.basis.containsLegacySavings === 'boolean')));
148
+ };
149
+ const isResourceExample = (value) => (0, reportEvidenceValidationHelpers_1.isRecord)(value) && (0, reportEvidenceValidationHelpers_1.isString)(value.name) && (0, reportEvidenceValidationHelpers_1.hasOptionalStrings)(value, ['type', 'resourceGroup', 'location']);
150
+ const isSnapshot = (value) => (0, reportEvidenceValidationHelpers_1.isRecord)(value) && (0, reportEvidenceValidationHelpers_1.isString)(value.name) && (0, reportEvidenceValidationHelpers_1.isOptionalString)(value.resourceGroup) && (0, reportEvidenceValidationHelpers_1.isOptionalFiniteNumber)(value.createdTime);
151
+ const isAppliedTagCost = (value) => (0, reportEvidenceValidationHelpers_1.isRecord)(value) && (0, reportEvidenceValidationHelpers_1.isString)(value.tagKey) && (0, reportEvidenceValidationHelpers_1.isString)(value.tagValue) && (0, reportEvidenceValidationHelpers_1.isCount)(value.resourceCount) && (0, reportEvidenceValidationHelpers_1.isFiniteNumber)(value.spend30Days);
152
+ const isInventoryResource = (value) => (0, reportEvidenceValidationHelpers_1.isRecord)(value) &&
153
+ (0, reportEvidenceValidationHelpers_1.isString)(value.id) &&
154
+ (0, reportEvidenceValidationHelpers_1.hasOptionalStrings)(value, ['name', 'type', 'resourceGroup', 'location']) &&
155
+ (0, reportEvidenceValidationHelpers_1.hasOptionalNumbers)(value, ['spend30Days', 'spend30DaysAmortized', 'createdTime']);
156
+ const isInventory = (value) => (0, reportEvidenceValidationHelpers_1.isRecord)(value) &&
157
+ (0, reportEvidenceValidationHelpers_1.isCount)(value.totalResources) &&
158
+ (0, reportEvidenceValidationHelpers_1.isCount)(value.untaggedResourceCount) &&
159
+ value.untaggedResourceCount <= value.totalResources &&
160
+ (value.resourceCatalogue === undefined ||
161
+ ((0, reportEvidenceValidationHelpers_1.isBoundedRows)(value.resourceCatalogue, reportEvidence_1.REPORT_EVIDENCE_LIMITS.inventoryCatalogue, reportEvidenceCatalogueValidation_1.isInventoryCatalogueResource) &&
162
+ value.resourceCatalogue.totalCount === value.totalResources)) &&
163
+ (0, reportEvidenceValidationHelpers_1.isBoundedRows)(value.untaggedExamples, reportEvidence_1.REPORT_EVIDENCE_LIMITS.detailRows, isResourceExample) &&
164
+ (0, reportEvidenceValidationHelpers_1.isBoundedRows)(value.snapshots, reportEvidence_1.REPORT_EVIDENCE_LIMITS.detailRows, isSnapshot) &&
165
+ (0, reportEvidenceValidationHelpers_1.isBoundedRows)(value.appliedTagCosts, reportEvidence_1.REPORT_EVIDENCE_LIMITS.detailRows, isAppliedTagCost) &&
166
+ (0, reportEvidenceValidationHelpers_1.isBoundedRows)(value.topSpendResources, reportEvidence_1.REPORT_EVIDENCE_LIMITS.detailRows, isInventoryResource);
167
+ const isPrivilegedAccess = (value) => (0, reportEvidenceValidationHelpers_1.isRecord)(value) &&
168
+ (0, reportEvidenceValidationHelpers_1.isString)(value.principalId) &&
169
+ (0, reportEvidenceValidationHelpers_1.isString)(value.displayName) &&
170
+ (0, reportEvidenceValidationHelpers_1.isString)(value.roleName) &&
171
+ (value.principalType === undefined ||
172
+ (typeof value.principalType === 'string' && reportEvidence_1.REPORT_PRINCIPAL_TYPES.includes(value.principalType))) &&
173
+ (0, reportEvidenceValidationHelpers_1.hasOptionalStrings)(value, ['userPrincipalName', 'scope', 'scopeType', 'lastLogonDate', 'mfaStatus']);
174
+ const isGovernance = (value) => (0, reportEvidenceValidationHelpers_1.isRecord)(value) &&
175
+ (0, reportEvidenceValidationHelpers_1.isOptionalString)(value.generatedAt) &&
176
+ (value.coverage === undefined || (0, reportEvidenceValidationHelpers_1.isRecord)(value.coverage)) &&
177
+ (0, reportEvidenceValidationHelpers_1.hasRequiredRecords)(value, ['policySummary', 'rbacSummary', 'globalAdministratorSummary']) &&
178
+ (0, reportEvidenceValidationHelpers_1.isProjectionRows)(value.complianceRows) &&
179
+ (value.complianceAssessments === undefined ||
180
+ (0, reportEvidenceValidationHelpers_1.isBoundedRows)(value.complianceAssessments, reportEvidence_1.REPORT_EVIDENCE_LIMITS.complianceAssessments, (row) => (0, reportEvidenceValidationHelpers_1.isRecord)(row) &&
181
+ (0, reportEvidenceValidationHelpers_1.isCount)(row.nonCompliantResourceCount) &&
182
+ (row.assessmentKey === undefined || (typeof row.assessmentKey === 'string' && /^[a-f0-9]{64}$/.test(row.assessmentKey))) &&
183
+ (0, reportEvidenceValidationHelpers_1.hasOptionalStrings)(row, [
184
+ 'policySetDisplayName',
185
+ 'policyAssignmentDisplayName',
186
+ 'policyDefinitionReferenceId',
187
+ 'policyDefinitionDisplayName',
188
+ 'resourceType',
189
+ 'effect',
190
+ ]))) &&
191
+ (0, reportEvidenceValidationHelpers_1.isBoundedRows)(value.privilegedAccessRows, reportEvidence_1.REPORT_EVIDENCE_LIMITS.detailRows, isPrivilegedAccess) &&
192
+ (0, reportEvidenceValidationHelpers_1.isProjectionRows)(value.findings) &&
193
+ (0, reportEvidenceValidationHelpers_1.isProjectionRows)(value.limitations);
194
+ const isCommitments = (value) => {
195
+ if (!(0, reportEvidenceValidationHelpers_1.isRecord)(value) || !(0, reportEvidenceValidationHelpers_1.isRecord)(value.inventorySummary) || !(0, reportEvidenceValidationHelpers_1.isCountRecord)(value.inventorySummary.statusCounts))
196
+ return false;
197
+ if (!(0, reportEvidenceValidationHelpers_1.isCount)(value.inventorySummary.totalCount) || !(0, reportEvidenceValidationHelpers_1.isBoundedRows)(value.inventory, reportEvidence_1.REPORT_EVIDENCE_LIMITS.detailRows, isCommitmentInventoryRow)) {
198
+ return false;
199
+ }
200
+ if (value.inventorySummary.totalCount !== value.inventory.totalCount ||
201
+ (0, reportEvidenceValidationHelpers_1.countTotal)(value.inventorySummary.statusCounts) !== value.inventorySummary.totalCount ||
202
+ (value.inventorySummary.benefitTypeCounts !== undefined &&
203
+ (!(0, reportEvidenceValidationHelpers_1.isCountRecord)(value.inventorySummary.benefitTypeCounts) ||
204
+ (0, reportEvidenceValidationHelpers_1.countTotal)(value.inventorySummary.benefitTypeCounts) !== value.inventorySummary.totalCount))) {
205
+ return false;
206
+ }
207
+ if (value.resourceCoverage !== undefined && !(0, reportEvidenceValidationHelpers_1.isProjectionRows)(value.resourceCoverage))
208
+ return false;
209
+ if (value.freshness !== undefined && !isReportCommitmentsFreshness(value.freshness))
210
+ return false;
211
+ return ['coverage', 'obsoleteCandidates', 'reallocationOpportunities', 'purchaseRecommendations', 'renewals'].every(key => (0, reportEvidenceValidationHelpers_1.isProjectionRows)(value[key]));
212
+ };
213
+ /** Status and generatedAt appear together; without them the projection carries no entries. Older packs omit entries. */
214
+ const isReportCommitmentsFreshness = (value) => (0, reportEvidenceValidationHelpers_1.isRecord)(value) &&
215
+ (value.status === undefined) === (value.generatedAt === undefined) &&
216
+ (value.status === undefined || ((0, commitmentsPlanningValidation_1.isCommitmentsFreshnessStatus)(value.status) && (0, reportEvidenceValidationHelpers_1.isDateTime)(value.generatedAt))) &&
217
+ (value.entries === undefined ||
218
+ (Array.isArray(value.entries) &&
219
+ value.entries.length <= reportEvidence_1.REPORT_EVIDENCE_LIMITS.commitmentsFreshnessEntries &&
220
+ (value.status !== undefined || value.entries.length === 0) &&
221
+ value.entries.every(commitmentsPlanningValidation_1.isCommitmentsFreshnessEntry))) &&
222
+ (value.warnings === undefined || ((0, reportEvidenceValidationHelpers_1.isStringArray)(value.warnings) && value.warnings.length <= reportEvidence_1.REPORT_EVIDENCE_LIMITS.commitmentsFreshnessWarnings));
223
+ const isDataProtectionCostSummary = (value) => (0, reportEvidenceValidationHelpers_1.isRecord)(value) &&
224
+ (0, reportEvidenceValidationHelpers_1.hasOptionalStrings)(value, ['currencyCode', 'currencySymbol']) &&
225
+ (value.billingWindow === undefined || (0, reportEvidenceValidationHelpers_1.isRecord)(value.billingWindow)) &&
226
+ (value.totals === undefined ||
227
+ ((0, reportEvidenceValidationHelpers_1.isRecord)(value.totals) &&
228
+ (0, reportEvidenceValidationHelpers_1.hasOptionalNumbers)(value.totals, [
229
+ 'actualCostLast30Days',
230
+ 'actualAmortizedCostLast30Days',
231
+ 'allocatedCostLast30Days',
232
+ 'estimatedMonthlyCostForUnprotected',
233
+ ])));
234
+ const isResourceHealthEvent = (value) => (0, reportEvidenceValidationHelpers_1.isRecord)(value) &&
235
+ (0, reportEvidenceValidationHelpers_1.hasOptionalStrings)(value, [
236
+ 'id',
237
+ 'trackingId',
238
+ 'eventType',
239
+ 'status',
240
+ 'level',
241
+ 'title',
242
+ 'summary',
243
+ 'impactStartTime',
244
+ 'impactMitigationTime',
245
+ 'lastUpdateTime',
246
+ ]) &&
247
+ (0, reportEvidenceValidationHelpers_1.isOptionalFiniteNumber)(value.priority) &&
248
+ (value.durationSeconds === undefined || ((0, reportEvidenceValidationHelpers_1.isFiniteNumber)(value.durationSeconds) && value.durationSeconds >= 0)) &&
249
+ (value.impactedResourceCount === undefined || (0, reportEvidenceValidationHelpers_1.isCount)(value.impactedResourceCount)) &&
250
+ (value.impactedServices === undefined || (0, reportEvidenceValidationHelpers_1.isStringArray)(value.impactedServices)) &&
251
+ (value.impactedRegions === undefined || (0, reportEvidenceValidationHelpers_1.isStringArray)(value.impactedRegions));
252
+ const isCommitmentUtilization = (value) => (0, reportEvidenceValidationHelpers_1.isRecord)(value) &&
253
+ (value.sevenDay !== undefined || value.thirtyDay !== undefined) &&
254
+ ['sevenDay', 'thirtyDay'].every(key => value[key] === undefined || ((0, reportEvidenceValidationHelpers_1.isFiniteNumber)(value[key]) && value[key] >= 0)) &&
255
+ (value.source === undefined || ['aggregate', 'usage', 'reservation-summary'].includes(value.source));
256
+ function isCommitmentInventoryRow(value) {
257
+ return ((0, reportEvidenceValidationHelpers_1.isRecord)(value) &&
258
+ (0, reportEvidenceValidationHelpers_1.hasOptionalStrings)(value, [
259
+ 'id',
260
+ 'benefitType',
261
+ 'type',
262
+ 'displayName',
263
+ 'status',
264
+ 'expiryDate',
265
+ 'skuName',
266
+ 'skuDescription',
267
+ 'location',
268
+ 'term',
269
+ ]) &&
270
+ (0, reportEvidenceValidationHelpers_1.hasOptionalNumbers)(value, ['daysToExpiry', 'reservedQuantity']) &&
271
+ (0, reportEvidenceValidationHelpers_1.isOptionalBoolean)(value.renew) &&
272
+ (value.utilization === undefined || isCommitmentUtilization(value.utilization)) &&
273
+ (value.annualCommittedCost === undefined || (0, reportEvidenceValidationHelpers_1.isRecord)(value.annualCommittedCost)) &&
274
+ (value.doNotRenewAnnualImpact === undefined || (0, reportEvidenceValidationHelpers_1.isRecord)(value.doNotRenewAnnualImpact)));
275
+ }
276
+ const isReportingProjection = (value) => {
277
+ if (!(0, reportEvidenceValidationHelpers_1.isRecord)(value) || !(0, reportEvidenceValidationHelpers_1.isRecord)(value.dashboard) || !isRecommendationPortfolio(value.recommendationPortfolio))
278
+ return false;
279
+ if (value.dailySpend !== undefined && !(0, reportDailySpendValidation_1.isReportDailySpend)(value.dailySpend))
280
+ return false;
281
+ if (value.spend !== undefined && !(0, reportSpendValidation_1.isReportSpendProjection)(value.spend))
282
+ return false;
283
+ if (value.stories !== undefined && !(0, utilizationStoriesValidation_1.isReportingStories)(value.stories))
284
+ return false;
285
+ if (value.costChangePeriods !== undefined &&
286
+ (!(0, reportEvidenceValidationHelpers_1.isBoundedRows)(value.costChangePeriods, reportEvidence_1.REPORT_EVIDENCE_LIMITS.costChangePeriods, isCostChangePeriod) ||
287
+ new Set(value.costChangePeriods.rows.map(period => period.period)).size !== value.costChangePeriods.rows.length)) {
288
+ return false;
289
+ }
290
+ const subscription = (0, reportEvidenceValidationHelpers_1.isRecord)(value.dashboard.subscription) ? value.dashboard.subscription : undefined;
291
+ const properties = subscription && (0, reportEvidenceValidationHelpers_1.isRecord)(subscription.properties) ? subscription.properties : undefined;
292
+ if (properties?.secureScoreEvidence !== undefined && !(0, exports.isReportSecureScoreEvidence)(properties.secureScoreEvidence))
293
+ return false;
294
+ if (!(0, reportEvidenceValidationHelpers_1.isBoundedRows)(value.recommendations, reportEvidence_1.REPORT_EVIDENCE_LIMITS.currentRecommendations, reportEvidenceCatalogueValidation_1.isCompactRecommendation) ||
295
+ value.recommendations.totalCount !==
296
+ value.recommendationPortfolio.activeRecommendationCount ||
297
+ (value.recommendationCatalogue !== undefined &&
298
+ (!(0, reportEvidenceValidationHelpers_1.isBoundedRows)(value.recommendationCatalogue, reportEvidence_1.REPORT_EVIDENCE_LIMITS.recommendationCatalogue, reportEvidenceCatalogueValidation_1.isCompactRecommendation) ||
299
+ value.recommendationCatalogue.totalCount !== value.recommendationPortfolio.activeRecommendationCount)) ||
300
+ !(0, reportEvidenceValidationHelpers_1.isProjectionRows)(value.serviceRetirements) ||
301
+ (value.credentialDeadlines !== undefined &&
302
+ (!(0, reportEvidenceValidationHelpers_1.isRecord)(value.credentialDeadlines) ||
303
+ !(0, reportEvidenceValidationHelpers_1.isDateTime)(value.credentialDeadlines.asOf) ||
304
+ !(0, reportEvidenceValidationHelpers_1.isCount)(value.credentialDeadlines.overdueCount) ||
305
+ !(0, reportEvidenceValidationHelpers_1.isCount)(value.credentialDeadlines.upcomingSixMonthsCount))) ||
306
+ !isInventory(value.inventory) ||
307
+ !isGovernance(value.governance) ||
308
+ !isCommitments(value.commitmentsPlanning)) {
309
+ return false;
310
+ }
311
+ const patch = value.patchManagement;
312
+ const resourceRows = [value.recommendations, value.recommendationCatalogue]
313
+ .flatMap(collection => collection?.rows ?? [])
314
+ .reduce((total, row) => total + (row.resourceCatalogue?.rows.length ?? 0), 0);
315
+ if (resourceRows > reportEvidence_1.REPORT_EVIDENCE_LIMITS.totalRecommendationResourceRows)
316
+ return false;
317
+ const protection = value.dataProtection;
318
+ const health = value.resourceHealth;
319
+ const uptime = value.serverUptime;
320
+ const publicIps = value.publicIpAddresses;
321
+ const activity = value.activity;
322
+ return ((0, reportEvidenceValidationHelpers_1.isRecord)(patch) &&
323
+ (0, reportEvidenceValidationHelpers_1.isProjectionRows)(patch.machines) &&
324
+ (0, reportEvidenceValidationHelpers_1.isRecord)(protection) &&
325
+ (protection.costSummary === undefined || isDataProtectionCostSummary(protection.costSummary)) &&
326
+ (0, reportEvidenceValidationHelpers_1.isProjectionRows)(protection.items) &&
327
+ (0, reportEvidenceValidationHelpers_1.isProjectionRows)(protection.issues) &&
328
+ (0, reportEvidenceValidationHelpers_1.isRecord)(health) &&
329
+ (health.eventCatalogue === undefined || (0, reportEvidenceValidationHelpers_1.isBoundedRows)(health.eventCatalogue, reportEvidence_1.REPORT_EVIDENCE_LIMITS.healthCatalogue, isResourceHealthEvent)) &&
330
+ (health.availabilityCatalogue === undefined || (0, reportEvidenceValidationHelpers_1.isBoundedRows)(health.availabilityCatalogue, reportEvidence_1.REPORT_EVIDENCE_LIMITS.healthCatalogue, reportEvidenceValidationHelpers_1.isRecord)) &&
331
+ (0, reportEvidenceValidationHelpers_1.isRecord)(health.events) &&
332
+ (0, reportEvidenceValidationHelpers_1.isBoundedRows)(health.events.events, reportEvidence_1.REPORT_EVIDENCE_LIMITS.detailRows, isResourceHealthEvent) &&
333
+ (health.eventCatalogue === undefined || health.eventCatalogue.totalCount === health.events.events.totalCount) &&
334
+ (0, reportEvidenceValidationHelpers_1.isRecord)(health.availabilityStatuses) &&
335
+ (0, reportEvidenceValidationHelpers_1.isProjectionRows)(health.availabilityStatuses.statuses) &&
336
+ (health.availabilityCatalogue === undefined ||
337
+ health.availabilityCatalogue.totalCount === health.availabilityStatuses.statuses.totalCount) &&
338
+ (0, reportEvidenceValidationHelpers_1.isRecord)(uptime) &&
339
+ ['workspaces', 'gaps', 'servers'].every(key => (0, reportEvidenceValidationHelpers_1.isProjectionRows)(uptime[key])) &&
340
+ (0, reportEvidenceValidationHelpers_1.isRecord)(publicIps) &&
341
+ (0, reportEvidenceValidationHelpers_1.isProjectionRows)(publicIps.items) &&
342
+ (0, reportEvidenceValidationHelpers_1.isRecord)(activity) &&
343
+ (activity.monthlyFindings === undefined ||
344
+ ((0, reportEvidenceValidationHelpers_1.isBoundedRows)(activity.monthlyFindings, reportEvidence_1.REPORT_EVIDENCE_LIMITS.activityMonths, isActivityMonthlyFindings) &&
345
+ new Set(activity.monthlyFindings.rows.map(row => row.month)).size === activity.monthlyFindings.rows.length)) &&
346
+ (activity.dailySummary === undefined ||
347
+ ((0, reportEvidenceValidationHelpers_1.isBoundedRows)(activity.dailySummary, reportEvidence_1.REPORT_EVIDENCE_LIMITS.activityDays, isActivityDailySummary) &&
348
+ new Set(activity.dailySummary.rows.map(row => row.date)).size === activity.dailySummary.rows.length)) &&
349
+ (activity.undatedSummary === undefined || isActivityCounts(activity.undatedSummary)) &&
350
+ isActivityMonthEvidence(activity.verifiedMonths, activity.monthCoverage) &&
351
+ ['changes', 'security', 'health', 'suppressed'].every(key => (0, reportEvidenceValidationHelpers_1.isProjectionRows)(activity[key])));
352
+ };
353
+ const isActivityCounts = (value) => (0, reportEvidenceValidationHelpers_1.isRecord)(value) &&
354
+ ['visibleEvents', 'materialChanges', 'securitySensitive', 'healthEvents', 'failedEvents', 'highFindingCount'].every(key => (0, reportEvidenceValidationHelpers_1.isCount)(value[key])) &&
355
+ (value.automatedSnapshotEvents === undefined ||
356
+ ((0, reportEvidenceValidationHelpers_1.isCount)(value.automatedSnapshotEvents) && value.automatedSnapshotEvents <= value.materialChanges)) &&
357
+ ['materialChanges', 'securitySensitive', 'healthEvents', 'failedEvents'].every(key => value[key] <= value.visibleEvents);
358
+ const isActivityMonthlyFindings = (value) => (0, reportEvidenceValidationHelpers_1.isRecord)(value) &&
359
+ (0, reportEvidenceValidationHelpers_1.isString)(value.month) &&
360
+ /^\d{4}-(0[1-9]|1[0-2])$/.test(value.month) &&
361
+ (0, reportEvidenceValidationHelpers_1.isBoundedRows)(value.findings, reportEvidence_1.REPORT_EVIDENCE_LIMITS.detailRows, (row) => (0, reportEvidenceValidationHelpers_1.isRecord)(row) &&
362
+ (0, reportEvidenceValidationHelpers_1.isDateTime)(row.eventTimestamp) &&
363
+ new Date(row.eventTimestamp).toISOString().slice(0, 7) === value.month &&
364
+ (row.importance === undefined || (0, reportEvidenceValidationHelpers_1.isString)(row.importance)) &&
365
+ (row.status === undefined || (0, reportEvidenceValidationHelpers_1.isString)(row.status)) &&
366
+ ((typeof row.importance === 'string' && row.importance.toLowerCase() === 'high') ||
367
+ row.isSecuritySensitive === true ||
368
+ (typeof row.status === 'string' && row.status.toLowerCase() === 'failed')));
369
+ const MONTH_PATTERN = /^\d{4}-(0[1-9]|1[0-2])$/;
370
+ const DATE_PATTERN = /^\d{4}-\d{2}-\d{2}$/;
371
+ const DAY_MS = 86400000;
372
+ const daysInMonth = (month) => new Date(Date.UTC(Number(month.slice(0, 4)), Number(month.slice(5, 7)), 0)).getUTCDate();
373
+ const isCalendarDateInMonth = (value, month) => typeof value === 'string' &&
374
+ DATE_PATTERN.test(value) &&
375
+ value.slice(0, 7) === month &&
376
+ Number.isFinite(Date.parse(value)) &&
377
+ new Date(value).toISOString().slice(0, 10) === value;
378
+ const isActivityMonthCoverage = (value) => {
379
+ if (!(0, reportEvidenceValidationHelpers_1.isRecord)(value) ||
380
+ typeof value.month !== 'string' ||
381
+ !MONTH_PATTERN.test(value.month) ||
382
+ !['complete', 'partial', 'unavailable'].includes(value.status) ||
383
+ !['monthly-archive', 'rolling-feed'].includes(value.source) ||
384
+ !(0, reportEvidenceValidationHelpers_1.isCount)(value.coveredDayCount) ||
385
+ !(0, reportEvidenceValidationHelpers_1.isCount)(value.expectedDayCount) ||
386
+ value.expectedDayCount !== daysInMonth(value.month) ||
387
+ value.coveredDayCount > value.expectedDayCount) {
388
+ return false;
389
+ }
390
+ const covered = value.coveredDayCount;
391
+ const statusMatches = value.status === 'complete'
392
+ ? covered === value.expectedDayCount
393
+ : value.status === 'unavailable'
394
+ ? covered === 0
395
+ : covered > 0 && covered < value.expectedDayCount;
396
+ if (!statusMatches)
397
+ return false;
398
+ if (value.coveredFrom === undefined && value.coveredTo === undefined)
399
+ return true;
400
+ return (covered > 0 &&
401
+ isCalendarDateInMonth(value.coveredFrom, value.month) &&
402
+ isCalendarDateInMonth(value.coveredTo, value.month) &&
403
+ value.coveredFrom <= value.coveredTo &&
404
+ (Date.parse(value.coveredTo) - Date.parse(value.coveredFrom)) / DAY_MS + 1 >= covered);
405
+ };
406
+ /** Verified months are unique YYYY-MM values; any verified month listed in coverage is complete, and untruncated coverage lists every verified month. */
407
+ const isActivityMonthEvidence = (verifiedMonths, monthCoverage) => {
408
+ if (verifiedMonths !== undefined &&
409
+ (!Array.isArray(verifiedMonths) ||
410
+ verifiedMonths.length > reportEvidence_1.REPORT_EVIDENCE_LIMITS.activityMonths ||
411
+ !verifiedMonths.every(month => typeof month === 'string' && MONTH_PATTERN.test(month)) ||
412
+ new Set(verifiedMonths).size !== verifiedMonths.length)) {
413
+ return false;
414
+ }
415
+ if (monthCoverage === undefined)
416
+ return true;
417
+ if (!(0, reportEvidenceValidationHelpers_1.isBoundedRows)(monthCoverage, reportEvidence_1.REPORT_EVIDENCE_LIMITS.activityMonths, isActivityMonthCoverage) ||
418
+ new Set(monthCoverage.rows.map(row => row.month)).size !== monthCoverage.rows.length) {
419
+ return false;
420
+ }
421
+ const coverageByMonth = new Map(monthCoverage.rows.map(row => [row.month, row.status]));
422
+ return (verifiedMonths ?? []).every(month => {
423
+ const status = coverageByMonth.get(month);
424
+ return status === undefined ? monthCoverage.omittedCount > 0 : status === 'complete';
425
+ });
426
+ };
427
+ const isActivityDailySummary = (value) => isActivityCounts(value) &&
428
+ (0, reportEvidenceValidationHelpers_1.isRecord)(value) &&
429
+ (0, reportEvidenceValidationHelpers_1.isString)(value.date) &&
430
+ /^\d{4}-\d{2}-\d{2}$/.test(value.date) &&
431
+ Number.isFinite(Date.parse(value.date)) &&
432
+ new Date(value.date).toISOString().slice(0, 10) === value.date;
433
+ const isSubscriptionReportEvidencePack = (value) => {
434
+ if (!(0, reportEvidenceValidationHelpers_1.isRecord)(value) || !(0, reportEvidenceValidationHelpers_1.isDateTime)(value.generatedAt)) {
435
+ return false;
436
+ }
437
+ if (!(0, reportEvidenceValidationHelpers_1.isRecord)(value.generation) ||
438
+ !(0, reportEvidenceValidationHelpers_1.isRecord)(value.scope) ||
439
+ !(0, reportEvidenceValidationHelpers_1.isString)(value.scope.subscriptionId) ||
440
+ !(0, reportEvidenceValidationHelpers_1.isRecord)(value.coverage) ||
441
+ !(0, reportEvidenceValidationHelpers_1.isRecord)(value.coverage.sourceFiles) ||
442
+ !(0, reportEvidenceValidationHelpers_1.isStringArray)(value.coverage.gaps) ||
443
+ !Object.values(value.coverage.sourceFiles).every(reportEvidenceValidationHelpers_1.isSourceFileStatus) ||
444
+ !(0, reportEvidenceValidationHelpers_1.isResourceSummary)(value.estate) ||
445
+ !(0, reportEvidenceValidationHelpers_1.isCostSummary)(value.cost) ||
446
+ !(0, reportEvidenceValidationHelpers_1.isRecommendationSummary)(value.recommendations) ||
447
+ !(0, reportEvidenceValidationHelpers_1.isRecord)(value.security) ||
448
+ !(0, reportEvidenceValidationHelpers_1.isOptionalFiniteNumber)(value.security.secureScore) ||
449
+ (value.security.governance !== undefined &&
450
+ (!(0, reportEvidenceValidationHelpers_1.isRecord)(value.security.governance) || !(0, reportEvidenceValidationHelpers_1.isOptionalFiniteNumber)(value.security.governance.findingCount))) ||
451
+ !(0, reportEvidenceValidationHelpers_1.isRecord)(value.reliability) ||
452
+ !(0, reportEvidenceValidationHelpers_1.isRetirementSummary)(value.reliability.serviceRetirements) ||
453
+ !(0, reportEvidenceValidationHelpers_1.isCount)(value.reliability.recommendationCount) ||
454
+ !(0, reportEvidenceValidationHelpers_1.isRecord)(value.commitments) ||
455
+ !(0, reportEvidenceValidationHelpers_1.isCommitmentExpirySummary)(value.commitments.expiries) ||
456
+ !(0, reportEvidenceValidationHelpers_1.isRecord)(value.performance) ||
457
+ !(0, reportEvidenceValidationHelpers_1.isCount)(value.performance.recommendationCount) ||
458
+ !(0, reportEvidenceValidationHelpers_1.isStringArray)(value.performance.topRecommendationIds) ||
459
+ !(0, reportEvidenceValidationHelpers_1.isRecord)(value.operationalExcellence) ||
460
+ !(0, reportEvidenceValidationHelpers_1.isCount)(value.operationalExcellence.recommendationCount) ||
461
+ !(0, reportEvidenceValidationHelpers_1.isTagCoverage)(value.operationalExcellence.tagCoverage) ||
462
+ !isReportingProjection(value.reporting) ||
463
+ !Array.isArray(value.evidence) ||
464
+ !value.evidence.every(reportEvidenceValidationHelpers_1.isEvidenceReference)) {
465
+ return false;
466
+ }
467
+ if (!(0, reportEvidenceValidationHelpers_1.hasOptionalStrings)(value.generation, ['sourceRunId', 'sourceGeneratedAt']) ||
468
+ !(0, reportEvidenceValidationHelpers_1.hasOptionalStrings)(value.scope, ['companyId', 'tenantId', 'displayName', 'currency', 'currencySymbol'])) {
469
+ return false;
470
+ }
471
+ const dailySpend = value.reporting.dailySpend;
472
+ if (dailySpend && value.scope.currency !== undefined && dailySpend.currency !== value.scope.currency)
473
+ return false;
474
+ const spend = value.reporting.spend;
475
+ if (spend &&
476
+ ((value.scope.currency !== undefined && spend.currency !== value.scope.currency) ||
477
+ (dailySpend && spend.currency !== dailySpend.currency) ||
478
+ Date.parse(spend.generatedAt) > Date.parse(value.generatedAt)))
479
+ return false;
480
+ return (value.reliability.relationshipGraph === undefined ||
481
+ ((0, reportEvidenceValidationHelpers_1.isRecord)(value.reliability.relationshipGraph) &&
482
+ (0, reportEvidenceValidationHelpers_1.hasOptionalNumbers)(value.reliability.relationshipGraph, ['totalNodes', 'totalEdges', 'unresolvedCount', 'buildMs'])));
483
+ };
484
+ exports.isSubscriptionReportEvidencePack = isSubscriptionReportEvidencePack;
485
+ const isRecommendationFingerprint = (value) => (0, reportEvidenceValidationHelpers_1.isRecord)(value) &&
486
+ (value.savingsBasis === undefined || (0, reportSpendValidation_1.isReportSavingsBasis)(value.savingsBasis)) &&
487
+ (0, reportEvidenceValidationHelpers_1.isString)(value.id) &&
488
+ (0, reportEvidenceValidationHelpers_1.isString)(value.title) &&
489
+ (0, reportEvidenceValidationHelpers_1.hasOptionalStrings)(value, ['category', 'impact', 'severity', 'currency']) &&
490
+ (0, reportEvidenceValidationHelpers_1.isOptionalBoolean)(value.resolved) &&
491
+ (0, reportEvidenceValidationHelpers_1.isCount)(value.affectedResourceCount) &&
492
+ (0, reportEvidenceValidationHelpers_1.isOptionalFiniteNumber)(value.potentialMonthlySavings) &&
493
+ (0, reportEvidenceValidationHelpers_1.isOptionalFiniteNumber)(value.maximumMonthlySavings) &&
494
+ (0, reportEvidenceValidationHelpers_1.isOptionalFiniteNumber)(value.costImpact);
495
+ const isHistoryMetrics = (value) => (0, reportEvidenceValidationHelpers_1.isRecord)(value) &&
496
+ (0, reportEvidenceValidationHelpers_1.hasOptionalStrings)(value, ['subscriptionName', 'currency', 'currencySymbol']) &&
497
+ (0, reportEvidenceValidationHelpers_1.hasOptionalNumbers)(value, ['secureScore', 'advisorScore', 'spend30Days', 'spend30DaysAmortized']) &&
498
+ (value.secureScoreEvidence === undefined || (0, exports.isReportSecureScoreEvidence)(value.secureScoreEvidence)) &&
499
+ (0, reportEvidenceValidationHelpers_1.isCount)(value.resourceCount) &&
500
+ (0, reportEvidenceValidationHelpers_1.isCount)(value.recommendationCount) &&
501
+ (0, reportEvidenceValidationHelpers_1.isCount)(value.impactedResourceCount) &&
502
+ (0, reportEvidenceValidationHelpers_1.isCount)(value.securityRecommendationCount) &&
503
+ (0, reportEvidenceValidationHelpers_1.isCount)(value.securityImpactedResourceCount) &&
504
+ value.securityRecommendationCount <= value.recommendationCount &&
505
+ value.securityImpactedResourceCount <= value.impactedResourceCount &&
506
+ (0, reportEvidenceValidationHelpers_1.isOptionalFiniteNumber)(value.maximumMonthlySavings);
507
+ const isUniqueIdentityRows = (value, itemValidator = reportEvidenceValidationHelpers_1.isString) => (0, reportEvidenceValidationHelpers_1.isBoundedRows)(value, reportEvidence_1.REPORT_EVIDENCE_LIMITS.historyComparisonIdentities, itemValidator) &&
508
+ new Set(value.rows).size === value.rows.length;
509
+ const isHistoryComparisonIdentities = (value) => (0, reportEvidenceValidationHelpers_1.isRecord)(value) &&
510
+ isUniqueIdentityRows(value.costRecommendationIds) &&
511
+ isUniqueIdentityRows(value.undersizedResourceIds) &&
512
+ isUniqueIdentityRows(value.regulatoryAssessmentKeys, (item) => (0, reportEvidenceValidationHelpers_1.isString)(item) && /^[a-f0-9]{64}$/u.test(item));
513
+ const isSubscriptionReportHistory = (value) => {
514
+ if (!(0, reportEvidenceValidationHelpers_1.isRecord)(value) ||
515
+ !(0, reportEvidenceValidationHelpers_1.isString)(value.subscriptionId) ||
516
+ !(0, reportEvidenceValidationHelpers_1.isDateTime)(value.generatedAt) ||
517
+ !(0, reportEvidenceValidationHelpers_1.isRecord)(value.retention) ||
518
+ value.retention.maxPeriods !== reportEvidence_1.REPORT_EVIDENCE_LIMITS.historyPeriods ||
519
+ !Array.isArray(value.periods) ||
520
+ value.periods.length > reportEvidence_1.REPORT_EVIDENCE_LIMITS.historyPeriods) {
521
+ return false;
522
+ }
523
+ const periods = new Set();
524
+ for (const period of value.periods) {
525
+ if (!(0, reportEvidenceValidationHelpers_1.isRecord)(period) ||
526
+ !(0, reportEvidenceValidationHelpers_1.isString)(period.period) ||
527
+ !/^\d{4}-(0[1-9]|1[0-2])$/u.test(period.period) ||
528
+ periods.has(period.period) ||
529
+ !(0, reportEvidenceValidationHelpers_1.isString)(period.sourceRunId) ||
530
+ !(0, reportEvidenceValidationHelpers_1.isDateTime)(period.sourceGeneratedAt) ||
531
+ !isHistoryMetrics(period.metrics) ||
532
+ !(0, reportEvidenceValidationHelpers_1.isBoundedRows)(period.recommendations, reportEvidence_1.REPORT_EVIDENCE_LIMITS.historyRecommendations, isRecommendationFingerprint) ||
533
+ (period.comparisonIdentities !== undefined && !isHistoryComparisonIdentities(period.comparisonIdentities)) ||
534
+ (period.stories !== undefined && !(0, utilizationStoriesValidation_1.isStoryFingerprintRows)(period.stories))) {
535
+ return false;
536
+ }
537
+ if (period.recommendations.omittedCount === 0 &&
538
+ period.metrics.recommendationCount !== period.recommendations.rows.filter(row => row.resolved !== true).length) {
539
+ return false;
540
+ }
541
+ periods.add(period.period);
542
+ }
543
+ return true;
544
+ };
545
+ exports.isSubscriptionReportHistory = isSubscriptionReportHistory;
546
+ const isTenantMfaSummary = (value) => {
547
+ if (!(0, reportEvidenceValidationHelpers_1.isRecord)(value) || typeof value.countsAreLowerBounds !== 'boolean' || !(0, reportEvidenceValidationHelpers_1.isRecord)(value.enforcement))
548
+ return false;
549
+ const enforcement = value.enforcement;
550
+ const enforcementKeys = ['enforced', 'conditionallyEnforced', 'notEnforced', 'unknown'];
551
+ if (!(0, reportEvidenceValidationHelpers_1.isCount)(value.enumeratedUsers) ||
552
+ !(0, reportEvidenceValidationHelpers_1.isCount)(value.activeUsers) ||
553
+ !(0, reportEvidenceValidationHelpers_1.isCount)(value.disabledUsers) ||
554
+ !(0, reportEvidenceValidationHelpers_1.isCount)(value.assessedActiveUsers) ||
555
+ !(0, reportEvidenceValidationHelpers_1.isCount)(value.enforcementKnownUsers) ||
556
+ !(0, reportEvidenceValidationHelpers_1.isCount)(value.enforcementUnknownUsers) ||
557
+ !(0, reportEvidenceValidationHelpers_1.isOptionalString)(value.assessmentState) ||
558
+ !['mfaCapableUsers', 'notMfaCapableUsers', 'unknownRegistrationUsers'].every(key => value[key] === undefined || (0, reportEvidenceValidationHelpers_1.isCount)(value[key])) ||
559
+ Object.keys(enforcement).some(key => !enforcementKeys.includes(key)) ||
560
+ !enforcementKeys.every(key => (0, reportEvidenceValidationHelpers_1.isCount)(enforcement[key]))) {
561
+ return false;
562
+ }
563
+ return (value.enumeratedUsers === value.assessedActiveUsers + value.disabledUsers &&
564
+ value.activeUsers === value.enforcementKnownUsers + value.enforcementUnknownUsers &&
565
+ value.activeUsers === (0, reportEvidenceValidationHelpers_1.countTotal)(enforcement) &&
566
+ value.enforcementUnknownUsers === enforcement.unknown &&
567
+ (value.countsAreLowerBounds || value.assessedActiveUsers === value.activeUsers));
568
+ };
569
+ const isTenantCoverage = (value) => (0, reportEvidenceValidationHelpers_1.isRecord)(value) &&
570
+ Object.values(value).every(section => (0, reportEvidenceValidationHelpers_1.isRecord)(section) &&
571
+ (0, reportEvidenceValidationHelpers_1.hasOptionalStrings)(section, ['state', 'source', 'reason', 'message', 'lastAttemptedAt', 'lastSuccessfulAt']) &&
572
+ (section.requiredPermissions === undefined || (0, reportEvidenceValidationHelpers_1.isStringArray)(section.requiredPermissions)) &&
573
+ (!Array.isArray(section.requiredPermissions) || section.requiredPermissions.length <= 10) &&
574
+ (0, reportEvidenceValidationHelpers_1.isOptionalFiniteNumber)(section.maximumSourceLagHours));
575
+ const isTenantSignInCoverage = (value) => (0, reportEvidenceValidationHelpers_1.isRecord)(value) && ['complete', 'partial', 'unavailable', 'skipped'].includes(value.state);
576
+ const isTenantPrincipal = (value) => (0, reportEvidenceValidationHelpers_1.isRecord)(value) &&
577
+ (0, reportEvidenceValidationHelpers_1.isString)(value.principalId) &&
578
+ (0, reportEvidenceValidationHelpers_1.isString)(value.principalType) &&
579
+ (0, reportEvidenceValidationHelpers_1.isString)(value.assignmentSource) &&
580
+ (0, reportEvidenceValidationHelpers_1.isStringArray)(value.assignmentModes) &&
581
+ value.assignmentModes.length <= 4 &&
582
+ typeof value.isPimBacked === 'boolean' &&
583
+ (0, reportEvidenceValidationHelpers_1.isString)(value.lastActivatedEvidence) &&
584
+ (0, reportEvidenceValidationHelpers_1.hasOptionalStrings)(value, ['displayName', 'userPrincipalName', 'mfaStatus', 'lastActivatedAt']) &&
585
+ (0, reportEvidenceValidationHelpers_1.isOptionalBoolean)(value.accountEnabled) &&
586
+ ((value.lastSignInAt === undefined && value.lastSignInEvidence === undefined) ||
587
+ (value.lastSignInAt === undefined && value.lastSignInEvidence === 'unavailable') ||
588
+ ((0, reportEvidenceValidationHelpers_1.isDateTime)(value.lastSignInAt) &&
589
+ (value.lastSignInEvidence === 'last-successful-sign-in' || value.lastSignInEvidence === 'last-interactive-sign-in')));
590
+ const isTenantReportEvidencePack = (value) => {
591
+ if (!(0, reportEvidenceValidationHelpers_1.isRecord)(value) ||
592
+ !(0, reportEvidenceValidationHelpers_1.isDateTime)(value.generatedAt) ||
593
+ !(0, reportEvidenceValidationHelpers_1.isRecord)(value.scope) ||
594
+ !(0, reportEvidenceValidationHelpers_1.isString)(value.scope.tenantId) ||
595
+ !(0, reportEvidenceValidationHelpers_1.isRecord)(value.mfa) ||
596
+ (value.mfa.summary !== undefined && !isTenantMfaSummary(value.mfa.summary)) ||
597
+ (value.mfa.tenantPolicy !== undefined && !(0, reportEvidenceValidationHelpers_1.isRecord)(value.mfa.tenantPolicy)) ||
598
+ (value.mfa.coverage !== undefined && !isTenantCoverage(value.mfa.coverage)) ||
599
+ !(0, reportEvidenceValidationHelpers_1.isRecord)(value.globalAdmins) ||
600
+ !(0, reportEvidenceValidationHelpers_1.isRecord)(value.globalAdmins.summary) ||
601
+ !isTenantCoverage(value.globalAdmins.coverage) ||
602
+ !(0, reportEvidenceValidationHelpers_1.isBoundedRows)(value.globalAdmins.warnings, reportEvidence_1.REPORT_EVIDENCE_LIMITS.tenantGlobalAdministrators, reportEvidenceValidationHelpers_1.isRecord) ||
603
+ !(0, reportEvidenceValidationHelpers_1.isBoundedRows)(value.globalAdmins.principals, reportEvidence_1.REPORT_EVIDENCE_LIMITS.tenantGlobalAdministrators, isTenantPrincipal)) {
604
+ return false;
605
+ }
606
+ const signInCoverage = value.globalAdmins.coverage.userSignInActivity;
607
+ if (signInCoverage !== undefined && !isTenantSignInCoverage(signInCoverage))
608
+ return false;
609
+ if ((0, reportEvidenceValidationHelpers_1.isRecord)(signInCoverage) &&
610
+ (signInCoverage.state === 'unavailable' || signInCoverage.state === 'skipped') &&
611
+ value.globalAdmins.principals.rows.some(principal => principal.lastSignInAt !== undefined)) {
612
+ return false;
613
+ }
614
+ return true;
615
+ };
616
+ exports.isTenantReportEvidencePack = isTenantReportEvidencePack;
617
+ //# sourceMappingURL=reportEvidenceValidation.js.map