@spottoai/types-package 1.0.2-dev1138.2 → 1.0.2-dev1138.5

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 (261) hide show
  1. package/README.md +9 -0
  2. package/dist/accounts/accounts.d.ts +77 -4
  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 +128 -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 +1 -0
  19. package/dist/accounts/index.d.ts.map +1 -1
  20. package/dist/accounts/index.js +1 -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/validation.d.ts +24 -0
  26. package/dist/accounts/validation.d.ts.map +1 -1
  27. package/dist/ai/index.d.ts +14 -1
  28. package/dist/ai/index.d.ts.map +1 -1
  29. package/dist/ai/index.js +12 -0
  30. package/dist/ai/index.js.map +1 -1
  31. package/dist/aws/commitments-planning.d.ts +5 -0
  32. package/dist/aws/commitments-planning.d.ts.map +1 -1
  33. package/dist/aws/commitments-planning.js +19 -0
  34. package/dist/aws/commitments-planning.js.map +1 -1
  35. package/dist/aws/estates.d.ts +1 -1
  36. package/dist/aws/estates.d.ts.map +1 -1
  37. package/dist/aws/estates.js +7 -1
  38. package/dist/aws/estates.js.map +1 -1
  39. package/dist/aws/index.d.ts +5 -0
  40. package/dist/aws/index.d.ts.map +1 -1
  41. package/dist/aws/index.js +5 -0
  42. package/dist/aws/index.js.map +1 -1
  43. package/dist/aws/onboarding.d.ts +3 -0
  44. package/dist/aws/onboarding.d.ts.map +1 -1
  45. package/dist/aws/organizationCommitments.d.ts +260 -0
  46. package/dist/aws/organizationCommitments.d.ts.map +1 -0
  47. package/dist/aws/organizationCommitments.js +53 -0
  48. package/dist/aws/organizationCommitments.js.map +1 -0
  49. package/dist/aws/organizationCommitmentsApiValidation.d.ts +21 -0
  50. package/dist/aws/organizationCommitmentsApiValidation.d.ts.map +1 -0
  51. package/dist/aws/organizationCommitmentsApiValidation.js +226 -0
  52. package/dist/aws/organizationCommitmentsApiValidation.js.map +1 -0
  53. package/dist/aws/organizationCommitmentsValidation.d.ts +12 -0
  54. package/dist/aws/organizationCommitmentsValidation.d.ts.map +1 -0
  55. package/dist/aws/organizationCommitmentsValidation.js +228 -0
  56. package/dist/aws/organizationCommitmentsValidation.js.map +1 -0
  57. package/dist/aws/portalOrganizationCommitmentsPlanningPublicArtifactValidation.d.ts +9 -0
  58. package/dist/aws/portalOrganizationCommitmentsPlanningPublicArtifactValidation.d.ts.map +1 -0
  59. package/dist/aws/portalOrganizationCommitmentsPlanningPublicArtifactValidation.js +407 -0
  60. package/dist/aws/portalOrganizationCommitmentsPlanningPublicArtifactValidation.js.map +1 -0
  61. package/dist/aws/portalOrganizationCommitmentsPlanningPublicArtifacts.d.ts +17 -0
  62. package/dist/aws/portalOrganizationCommitmentsPlanningPublicArtifacts.d.ts.map +1 -0
  63. package/dist/aws/portalOrganizationCommitmentsPlanningPublicArtifacts.js +6 -0
  64. package/dist/aws/portalOrganizationCommitmentsPlanningPublicArtifacts.js.map +1 -0
  65. package/dist/aws/requests.d.ts +13 -2
  66. package/dist/aws/requests.d.ts.map +1 -1
  67. package/dist/aws/requests.js +1 -1
  68. package/dist/aws/requests.js.map +1 -1
  69. package/dist/azure/commitmentsPlanning.d.ts +2 -2
  70. package/dist/azure/commitmentsPlanning.d.ts.map +1 -1
  71. package/dist/azure/financialAnalytics.d.ts +68 -2
  72. package/dist/azure/financialAnalytics.d.ts.map +1 -1
  73. package/dist/azure/financialAnalyticsDelivery.d.ts +2 -0
  74. package/dist/azure/financialAnalyticsDelivery.d.ts.map +1 -1
  75. package/dist/azure/financialAnalyticsDelivery.js +4 -1
  76. package/dist/azure/financialAnalyticsDelivery.js.map +1 -1
  77. package/dist/azure/financialAnalyticsDisplayKernel.d.ts +12 -0
  78. package/dist/azure/financialAnalyticsDisplayKernel.d.ts.map +1 -0
  79. package/dist/azure/financialAnalyticsDisplayKernel.js +144 -0
  80. package/dist/azure/financialAnalyticsDisplayKernel.js.map +1 -0
  81. package/dist/azure/financialAnalyticsValidation.d.ts.map +1 -1
  82. package/dist/azure/financialAnalyticsValidation.js +61 -7
  83. package/dist/azure/financialAnalyticsValidation.js.map +1 -1
  84. package/dist/azure/financialAuthorityProjectionKernel.d.ts +7 -0
  85. package/dist/azure/financialAuthorityProjectionKernel.d.ts.map +1 -0
  86. package/dist/azure/financialAuthorityProjectionKernel.js +165 -0
  87. package/dist/azure/financialAuthorityProjectionKernel.js.map +1 -0
  88. package/dist/azure/financialAuthorityView.d.ts +4 -0
  89. package/dist/azure/financialAuthorityView.d.ts.map +1 -1
  90. package/dist/azure/financialAuthorityView.js.map +1 -1
  91. package/dist/azure/financialAuthorityViewValidation.d.ts +3 -1
  92. package/dist/azure/financialAuthorityViewValidation.d.ts.map +1 -1
  93. package/dist/azure/financialAuthorityViewValidation.js +206 -2
  94. package/dist/azure/financialAuthorityViewValidation.js.map +1 -1
  95. package/dist/azure/financialChargeComposition.d.ts +81 -0
  96. package/dist/azure/financialChargeComposition.d.ts.map +1 -0
  97. package/dist/azure/financialChargeComposition.js +41 -0
  98. package/dist/azure/financialChargeComposition.js.map +1 -0
  99. package/dist/azure/financialChargeCompositionKernel.d.ts +3 -0
  100. package/dist/azure/financialChargeCompositionKernel.d.ts.map +1 -0
  101. package/dist/azure/financialChargeCompositionKernel.js +53 -0
  102. package/dist/azure/financialChargeCompositionKernel.js.map +1 -0
  103. package/dist/azure/financialChargeCompositionValidation.d.ts +8 -0
  104. package/dist/azure/financialChargeCompositionValidation.d.ts.map +1 -0
  105. package/dist/azure/financialChargeCompositionValidation.js +164 -0
  106. package/dist/azure/financialChargeCompositionValidation.js.map +1 -0
  107. package/dist/azure/financialDataflow.d.ts +8 -1
  108. package/dist/azure/financialDataflow.d.ts.map +1 -1
  109. package/dist/azure/financialDataflow.js.map +1 -1
  110. package/dist/azure/financialDataflowKernel.d.ts +2 -0
  111. package/dist/azure/financialDataflowKernel.d.ts.map +1 -1
  112. package/dist/azure/financialDataflowKernel.js +60 -7
  113. package/dist/azure/financialDataflowKernel.js.map +1 -1
  114. package/dist/azure/financialDataflowValidation.d.ts +1 -1
  115. package/dist/azure/financialDataflowValidation.d.ts.map +1 -1
  116. package/dist/azure/financialDataflowValidation.js +146 -28
  117. package/dist/azure/financialDataflowValidation.js.map +1 -1
  118. package/dist/azure/financialPolicy.d.ts +3 -0
  119. package/dist/azure/financialPolicy.d.ts.map +1 -1
  120. package/dist/azure/financialPolicy.js.map +1 -1
  121. package/dist/azure/financialPolicyValidation.d.ts.map +1 -1
  122. package/dist/azure/financialPolicyValidation.js +5 -0
  123. package/dist/azure/financialPolicyValidation.js.map +1 -1
  124. package/dist/azure/financialProjection.d.ts +11 -1
  125. package/dist/azure/financialProjection.d.ts.map +1 -1
  126. package/dist/azure/financialProjection.js.map +1 -1
  127. package/dist/azure/financialProjectionValidation.d.ts.map +1 -1
  128. package/dist/azure/financialProjectionValidation.js +43 -3
  129. package/dist/azure/financialProjectionValidation.js.map +1 -1
  130. package/dist/azure/financialSavingsAuthority.d.ts +25 -4
  131. package/dist/azure/financialSavingsAuthority.d.ts.map +1 -1
  132. package/dist/azure/financialSavingsAuthorityValidation.d.ts +6 -2
  133. package/dist/azure/financialSavingsAuthorityValidation.d.ts.map +1 -1
  134. package/dist/azure/financialSavingsAuthorityValidation.js +126 -2
  135. package/dist/azure/financialSavingsAuthorityValidation.js.map +1 -1
  136. package/dist/azure/financialSavingsCoordinateValidation.d.ts.map +1 -1
  137. package/dist/azure/financialSavingsCoordinateValidation.js +62 -19
  138. package/dist/azure/financialSavingsCoordinateValidation.js.map +1 -1
  139. package/dist/azure/financialSavingsSurfaceProjection.d.ts +58 -3
  140. package/dist/azure/financialSavingsSurfaceProjection.d.ts.map +1 -1
  141. package/dist/azure/financialSavingsSurfaceProjection.js +3 -1
  142. package/dist/azure/financialSavingsSurfaceProjection.js.map +1 -1
  143. package/dist/azure/financialSavingsSurfaceProjectionKernel.d.ts +14 -0
  144. package/dist/azure/financialSavingsSurfaceProjectionKernel.d.ts.map +1 -0
  145. package/dist/azure/financialSavingsSurfaceProjectionKernel.js +326 -0
  146. package/dist/azure/financialSavingsSurfaceProjectionKernel.js.map +1 -0
  147. package/dist/azure/financialSavingsSurfaceProjectionValidation.d.ts.map +1 -1
  148. package/dist/azure/financialSavingsSurfaceProjectionValidation.js +126 -12
  149. package/dist/azure/financialSavingsSurfaceProjectionValidation.js.map +1 -1
  150. package/dist/azure/financialScope.d.ts +6 -0
  151. package/dist/azure/financialScope.d.ts.map +1 -1
  152. package/dist/azure/financialScope.js +6 -0
  153. package/dist/azure/financialScope.js.map +1 -1
  154. package/dist/azure/governance.d.ts +145 -0
  155. package/dist/azure/governance.d.ts.map +1 -1
  156. package/dist/azure/governance.js +2 -1
  157. package/dist/azure/governance.js.map +1 -1
  158. package/dist/azure/metrics.d.ts +2 -2
  159. package/dist/azure/metrics.d.ts.map +1 -1
  160. package/dist/azure/payloads.d.ts +19 -0
  161. package/dist/azure/payloads.d.ts.map +1 -1
  162. package/dist/azure/prices.d.ts +16 -3
  163. package/dist/azure/prices.d.ts.map +1 -1
  164. package/dist/azure/recommendationState.d.ts +1 -1
  165. package/dist/azure/recommendationState.d.ts.map +1 -1
  166. package/dist/azure/recommendations.d.ts +15 -5
  167. package/dist/azure/recommendations.d.ts.map +1 -1
  168. package/dist/azure/reports.d.ts +3 -2
  169. package/dist/azure/reports.d.ts.map +1 -1
  170. package/dist/azure/reports.js.map +1 -1
  171. package/dist/azure/resources.d.ts +12 -0
  172. package/dist/azure/resources.d.ts.map +1 -1
  173. package/dist/azure/serviceRetirement.d.ts +33 -2
  174. package/dist/azure/serviceRetirement.d.ts.map +1 -1
  175. package/dist/azure/subscriptions.d.ts +13 -2
  176. package/dist/azure/subscriptions.d.ts.map +1 -1
  177. package/dist/azure/views.d.ts +26 -3
  178. package/dist/azure/views.d.ts.map +1 -1
  179. package/dist/azure/views.js.map +1 -1
  180. package/dist/azure/vmPatchManagement.d.ts +109 -0
  181. package/dist/azure/vmPatchManagement.d.ts.map +1 -0
  182. package/dist/azure/vmPatchManagement.js +7 -0
  183. package/dist/azure/vmPatchManagement.js.map +1 -0
  184. package/dist/common/provider.d.ts +53 -0
  185. package/dist/common/provider.d.ts.map +1 -1
  186. package/dist/common/provider.js.map +1 -1
  187. package/dist/environment/canonicalization.d.ts +12 -0
  188. package/dist/environment/canonicalization.d.ts.map +1 -0
  189. package/dist/environment/canonicalization.js +40 -0
  190. package/dist/environment/canonicalization.js.map +1 -0
  191. package/dist/environment/contracts.d.ts +196 -0
  192. package/dist/environment/contracts.d.ts.map +1 -0
  193. package/dist/environment/contracts.js +21 -0
  194. package/dist/environment/contracts.js.map +1 -0
  195. package/dist/environment/index.d.ts +5 -0
  196. package/dist/environment/index.d.ts.map +1 -0
  197. package/dist/environment/index.js +21 -0
  198. package/dist/environment/index.js.map +1 -0
  199. package/dist/environment/internal.d.ts +21 -0
  200. package/dist/environment/internal.d.ts.map +1 -0
  201. package/dist/environment/internal.js +113 -0
  202. package/dist/environment/internal.js.map +1 -0
  203. package/dist/environment/references.d.ts +18 -0
  204. package/dist/environment/references.d.ts.map +1 -0
  205. package/dist/environment/references.js +206 -0
  206. package/dist/environment/references.js.map +1 -0
  207. package/dist/environment/validation.d.ts +28 -0
  208. package/dist/environment/validation.d.ts.map +1 -0
  209. package/dist/environment/validation.js +320 -0
  210. package/dist/environment/validation.js.map +1 -0
  211. package/dist/esm/accounts/accounts.js +1 -0
  212. package/dist/esm/accounts/azureManualOnboarding.js +8 -0
  213. package/dist/esm/accounts/azureSpSetup.js +14 -1
  214. package/dist/esm/accounts/azureSpSetupDurable.js +27 -1
  215. package/dist/esm/accounts/index.js +1 -0
  216. package/dist/esm/ai/index.js +10 -1
  217. package/dist/esm/aws/commitments-planning.js +5 -0
  218. package/dist/esm/aws/estates.js +7 -1
  219. package/dist/esm/aws/index.js +5 -0
  220. package/dist/esm/aws/organizationCommitments.js +48 -0
  221. package/dist/esm/aws/organizationCommitmentsApiValidation.js +220 -0
  222. package/dist/esm/aws/organizationCommitmentsValidation.js +224 -0
  223. package/dist/esm/aws/portalOrganizationCommitmentsPlanningPublicArtifactValidation.js +402 -0
  224. package/dist/esm/aws/portalOrganizationCommitmentsPlanningPublicArtifacts.js +2 -0
  225. package/dist/esm/aws/requests.js +1 -1
  226. package/dist/esm/azure/financialAnalyticsDelivery.js +2 -0
  227. package/dist/esm/azure/financialAnalyticsDisplayKernel.js +139 -0
  228. package/dist/esm/azure/financialAnalyticsValidation.js +61 -7
  229. package/dist/esm/azure/financialAuthorityProjectionKernel.js +159 -0
  230. package/dist/esm/azure/financialAuthorityViewValidation.js +204 -1
  231. package/dist/esm/azure/financialChargeComposition.js +36 -0
  232. package/dist/esm/azure/financialChargeCompositionKernel.js +48 -0
  233. package/dist/esm/azure/financialChargeCompositionValidation.js +155 -0
  234. package/dist/esm/azure/financialDataflowKernel.js +60 -7
  235. package/dist/esm/azure/financialDataflowValidation.js +146 -28
  236. package/dist/esm/azure/financialPolicyValidation.js +5 -0
  237. package/dist/esm/azure/financialProjectionValidation.js +43 -3
  238. package/dist/esm/azure/financialSavingsAuthorityValidation.js +124 -2
  239. package/dist/esm/azure/financialSavingsCoordinateValidation.js +62 -19
  240. package/dist/esm/azure/financialSavingsSurfaceProjection.js +2 -0
  241. package/dist/esm/azure/financialSavingsSurfaceProjectionKernel.js +318 -0
  242. package/dist/esm/azure/financialSavingsSurfaceProjectionValidation.js +126 -12
  243. package/dist/esm/azure/financialScope.js +6 -0
  244. package/dist/esm/azure/governance.js +1 -0
  245. package/dist/esm/azure/vmPatchManagement.js +3 -0
  246. package/dist/esm/entries/commitments-planning.js +2 -2
  247. package/dist/esm/entries/environment.js +3 -0
  248. package/dist/esm/environment/canonicalization.js +34 -0
  249. package/dist/esm/environment/contracts.js +17 -0
  250. package/dist/esm/environment/index.js +4 -0
  251. package/dist/esm/environment/internal.js +97 -0
  252. package/dist/esm/environment/references.js +194 -0
  253. package/dist/esm/environment/validation.js +303 -0
  254. package/dist/esm/index.js +2 -0
  255. package/dist/index.d.ts +2 -0
  256. package/dist/index.d.ts.map +1 -1
  257. package/dist/index.js +2 -0
  258. package/dist/index.js.map +1 -1
  259. package/dist/portfolio/portfolioOperations.d.ts +1 -1
  260. package/dist/portfolio/portfolioOperations.d.ts.map +1 -1
  261. package/package.json +15 -3
@@ -5,6 +5,7 @@ const sha256_1 = require("../common/sha256");
5
5
  const financialSavingsAuthorityValidationPrimitives_1 = require("./financialSavingsAuthorityValidationPrimitives");
6
6
  const financialSavingsSurfaceProjection_1 = require("./financialSavingsSurfaceProjection");
7
7
  const financialScopeBaselineValidation_1 = require("./financialScopeBaselineValidation");
8
+ const financialChargeCompositionValidation_1 = require("./financialChargeCompositionValidation");
8
9
  const financialValidationPrimitives_1 = require("./financialValidationPrimitives");
9
10
  const COST_BASES = new Set(['billed', 'amortized']);
10
11
  const ESTIMATE_LENSES = new Set(['actual-only', 'actual-plus-estimated', 'estimates-only']);
@@ -21,7 +22,22 @@ const MAX_ALLOCATIONS = 20000;
21
22
  const canonicalizeFinancialSavingsSurfaceProjectionIdentityV1 = (value) => JSON.stringify((0, financialSavingsAuthorityValidationPrimitives_1.canonicalizeFinancialSavingsJsonValue)({
22
23
  ...value,
23
24
  providerAccountRefs: [...value.providerAccountRefs].sort(),
24
- scope: value.scope.kind === 'subscription-full' ? value.scope : { ...value.scope, recommendationIds: [...value.scope.recommendationIds].sort() },
25
+ ...(value.lifecycleBindings === undefined
26
+ ? {}
27
+ : {
28
+ lifecycleBindings: [...value.lifecycleBindings]
29
+ .sort((left, right) => left.resourceId.localeCompare(right.resourceId) || left.recommendationId.localeCompare(right.recommendationId))
30
+ .map(binding => ({ ...binding, allocationIds: [...binding.allocationIds].sort() })),
31
+ }),
32
+ scope: value.scope.kind === 'subscription-full'
33
+ ? value.scope
34
+ : value.scope.kind === 'recommendation-query'
35
+ ? { ...value.scope, recommendationIds: [...value.scope.recommendationIds].sort() }
36
+ : {
37
+ ...value.scope,
38
+ allocationIds: [...value.scope.allocationIds].sort(),
39
+ recommendationIds: [...value.scope.recommendationIds].sort(),
40
+ },
25
41
  coordinates: [...value.coordinates]
26
42
  .sort((left, right) => left.coordinateId.localeCompare(right.coordinateId))
27
43
  .map(coordinate => coordinate.status === 'unavailable'
@@ -30,7 +46,15 @@ const canonicalizeFinancialSavingsSurfaceProjectionIdentityV1 = (value) => JSON.
30
46
  ...coordinate,
31
47
  recommendationContributions: [...coordinate.recommendationContributions]
32
48
  .sort((left, right) => left.recommendationId.localeCompare(right.recommendationId))
33
- .map(contribution => ({ ...contribution, allocationIds: [...contribution.allocationIds].sort() })),
49
+ .map(contribution => ({
50
+ ...contribution,
51
+ allocationIds: [...contribution.allocationIds].sort(),
52
+ ...(contribution.allocations === undefined
53
+ ? {}
54
+ : {
55
+ allocations: [...contribution.allocations].sort((left, right) => left.allocationId.localeCompare(right.allocationId)),
56
+ }),
57
+ })),
34
58
  aggregate: { ...coordinate.aggregate, allocationIds: [...coordinate.aggregate.allocationIds].sort() },
35
59
  }),
36
60
  }));
@@ -43,12 +67,24 @@ const isScope = (value) => {
43
67
  return false;
44
68
  if (value.kind === 'subscription-full')
45
69
  return (0, financialSavingsAuthorityValidationPrimitives_1.hasExactFinancialSavingsFields)(value, ['kind']);
46
- return (value.kind === 'recommendation-query' &&
70
+ if (value.kind === 'recommendation-query' &&
47
71
  (0, financialSavingsAuthorityValidationPrimitives_1.hasExactFinancialSavingsFields)(value, ['kind', 'filterFingerprint', 'recommendationIds']) &&
48
72
  (0, financialSavingsAuthorityValidationPrimitives_1.isFinancialSavingsHash)(value.filterFingerprint) &&
49
73
  Array.isArray(value.recommendationIds) &&
50
74
  value.recommendationIds.length <= MAX_ALLOCATIONS &&
51
75
  value.recommendationIds.every(financialSavingsAuthorityValidationPrimitives_1.isFinancialSavingsIdentity) &&
76
+ new Set(value.recommendationIds).size === value.recommendationIds.length)
77
+ return true;
78
+ return (value.kind === 'resource-query' &&
79
+ (0, financialSavingsAuthorityValidationPrimitives_1.hasExactFinancialSavingsFields)(value, ['kind', 'filterFingerprint', 'allocationIds', 'recommendationIds']) &&
80
+ (0, financialSavingsAuthorityValidationPrimitives_1.isFinancialSavingsHash)(value.filterFingerprint) &&
81
+ Array.isArray(value.allocationIds) &&
82
+ value.allocationIds.length <= MAX_ALLOCATIONS &&
83
+ value.allocationIds.every(financialSavingsAuthorityValidationPrimitives_1.isFinancialSavingsHash) &&
84
+ new Set(value.allocationIds).size === value.allocationIds.length &&
85
+ Array.isArray(value.recommendationIds) &&
86
+ value.recommendationIds.length <= MAX_ALLOCATIONS &&
87
+ value.recommendationIds.every(financialSavingsAuthorityValidationPrimitives_1.isFinancialSavingsIdentity) &&
52
88
  new Set(value.recommendationIds).size === value.recommendationIds.length);
53
89
  };
54
90
  const isCoordinateCommon = (value) => (0, financialSavingsAuthorityValidationPrimitives_1.isFinancialSavingsHash)(value.coordinateId) &&
@@ -58,9 +94,20 @@ const isCoordinateCommon = (value) => (0, financialSavingsAuthorityValidationPri
58
94
  COST_BASES.has(value.costBasis) &&
59
95
  typeof value.estimateLens === 'string' &&
60
96
  ESTIMATE_LENSES.has(value.estimateLens) &&
97
+ (0, financialChargeCompositionValidation_1.isFinancialChargeInclusionPolicyRefV1)(value.chargeInclusionPolicyRef) &&
61
98
  (value.requestedCurrencyCode === undefined || isCurrency(value.requestedCurrencyCode)) &&
62
99
  (value.currentAggregateBaselineId === undefined || (0, financialSavingsAuthorityValidationPrimitives_1.isFinancialSavingsHash)(value.currentAggregateBaselineId));
63
- const isAvailableCoordinate = (value, queryRecommendationIds) => {
100
+ const isLifecycleBinding = (value) => (0, financialSavingsAuthorityValidationPrimitives_1.isFinancialSavingsRecord)(value) &&
101
+ (0, financialSavingsAuthorityValidationPrimitives_1.hasExactFinancialSavingsFields)(value, ['resourceId', 'recommendationId', 'allocationIds']) &&
102
+ (0, financialSavingsAuthorityValidationPrimitives_1.isFinancialSavingsIdentity)(value.resourceId) &&
103
+ (0, financialSavingsAuthorityValidationPrimitives_1.isFinancialSavingsIdentity)(value.recommendationId) &&
104
+ Array.isArray(value.allocationIds) &&
105
+ value.allocationIds.length > 0 &&
106
+ value.allocationIds.length <= MAX_ALLOCATIONS &&
107
+ value.allocationIds.every(financialSavingsAuthorityValidationPrimitives_1.isFinancialSavingsHash) &&
108
+ new Set(value.allocationIds).size === value.allocationIds.length;
109
+ const isComposedCoordinate = (value, queryRecommendationIds, queryAllocationIds) => {
110
+ const partial = value.status === 'partial';
64
111
  if (!(0, financialSavingsAuthorityValidationPrimitives_1.hasExactFinancialSavingsFields)(value, [
65
112
  'status',
66
113
  'coordinateId',
@@ -68,6 +115,7 @@ const isAvailableCoordinate = (value, queryRecommendationIds) => {
68
115
  'period',
69
116
  'costBasis',
70
117
  'estimateLens',
118
+ 'chargeInclusionPolicyRef',
71
119
  'currentAggregateBaselineId',
72
120
  'currentAggregate',
73
121
  'accountingCurrencyCode',
@@ -75,6 +123,7 @@ const isAvailableCoordinate = (value, queryRecommendationIds) => {
75
123
  'roundingMode',
76
124
  'recommendationContributions',
77
125
  'aggregate',
126
+ ...(partial ? ['unavailableRecommendationIds'] : []),
78
127
  ], ['requestedCurrencyCode']) ||
79
128
  !isCoordinateCommon(value) ||
80
129
  !(0, financialSavingsAuthorityValidationPrimitives_1.isFinancialSavingsHash)(value.currentAggregateBaselineId) ||
@@ -95,12 +144,20 @@ const isAvailableCoordinate = (value, queryRecommendationIds) => {
95
144
  new Set(value.aggregate.allocationIds).size !== value.aggregate.allocationIds.length ||
96
145
  !(0, financialSavingsAuthorityValidationPrimitives_1.isFinancialSavingsMinorUnits)(value.aggregate.savingsMinorUnits))
97
146
  return false;
147
+ if (partial &&
148
+ (!Array.isArray(value.unavailableRecommendationIds) ||
149
+ value.unavailableRecommendationIds.length === 0 ||
150
+ value.unavailableRecommendationIds.length > MAX_ALLOCATIONS ||
151
+ !value.unavailableRecommendationIds.every(financialSavingsAuthorityValidationPrimitives_1.isFinancialSavingsIdentity) ||
152
+ new Set(value.unavailableRecommendationIds).size !== value.unavailableRecommendationIds.length ||
153
+ (queryRecommendationIds !== undefined && value.unavailableRecommendationIds.some(id => !queryRecommendationIds.has(id)))))
154
+ return false;
98
155
  const recommendationIds = new Set();
99
156
  const allocationIds = [];
100
157
  const contributionAmounts = [];
101
158
  for (const contribution of value.recommendationContributions) {
102
159
  if (!(0, financialSavingsAuthorityValidationPrimitives_1.isFinancialSavingsRecord)(contribution) ||
103
- !(0, financialSavingsAuthorityValidationPrimitives_1.hasExactFinancialSavingsFields)(contribution, ['recommendationId', 'allocationIds', 'savingsMinorUnits']) ||
160
+ !(0, financialSavingsAuthorityValidationPrimitives_1.hasExactFinancialSavingsFields)(contribution, ['recommendationId', 'allocationIds', 'savingsMinorUnits'], ['allocations']) ||
104
161
  !(0, financialSavingsAuthorityValidationPrimitives_1.isFinancialSavingsIdentity)(contribution.recommendationId) ||
105
162
  recommendationIds.has(contribution.recommendationId) ||
106
163
  (queryRecommendationIds !== undefined && !queryRecommendationIds.has(contribution.recommendationId)) ||
@@ -109,7 +166,33 @@ const isAvailableCoordinate = (value, queryRecommendationIds) => {
109
166
  contribution.allocationIds.length > MAX_ALLOCATIONS ||
110
167
  !contribution.allocationIds.every(financialSavingsAuthorityValidationPrimitives_1.isFinancialSavingsHash) ||
111
168
  new Set(contribution.allocationIds).size !== contribution.allocationIds.length ||
112
- !(0, financialSavingsAuthorityValidationPrimitives_1.isFinancialSavingsMinorUnits)(contribution.savingsMinorUnits))
169
+ !(0, financialSavingsAuthorityValidationPrimitives_1.isFinancialSavingsMinorUnits)(contribution.savingsMinorUnits) ||
170
+ (queryAllocationIds !== undefined && !Array.isArray(contribution.allocations)) ||
171
+ (contribution.allocations !== undefined &&
172
+ (!Array.isArray(contribution.allocations) || contribution.allocations.length !== contribution.allocationIds.length)))
173
+ return false;
174
+ const exactAllocations = contribution.allocations;
175
+ if (exactAllocations === undefined) {
176
+ recommendationIds.add(contribution.recommendationId);
177
+ allocationIds.push(...contribution.allocationIds);
178
+ contributionAmounts.push(contribution.savingsMinorUnits);
179
+ continue;
180
+ }
181
+ const exactAllocationIds = [];
182
+ const exactAllocationAmounts = [];
183
+ for (const allocation of exactAllocations) {
184
+ if (!(0, financialSavingsAuthorityValidationPrimitives_1.isFinancialSavingsRecord)(allocation) ||
185
+ !(0, financialSavingsAuthorityValidationPrimitives_1.hasExactFinancialSavingsFields)(allocation, ['allocationId', 'savingsMinorUnits']) ||
186
+ !(0, financialSavingsAuthorityValidationPrimitives_1.isFinancialSavingsHash)(allocation.allocationId) ||
187
+ (queryAllocationIds !== undefined && !queryAllocationIds.has(allocation.allocationId)) ||
188
+ !(0, financialSavingsAuthorityValidationPrimitives_1.isFinancialSavingsMinorUnits)(allocation.savingsMinorUnits))
189
+ return false;
190
+ exactAllocationIds.push(allocation.allocationId);
191
+ exactAllocationAmounts.push(allocation.savingsMinorUnits);
192
+ }
193
+ if (new Set(exactAllocationIds).size !== exactAllocationIds.length ||
194
+ !(0, financialSavingsAuthorityValidationPrimitives_1.haveSameFinancialSavingsSet)(exactAllocationIds, contribution.allocationIds) ||
195
+ (0, financialSavingsAuthorityValidationPrimitives_1.sumFinancialSavingsMinorUnits)(exactAllocationAmounts) !== contribution.savingsMinorUnits)
113
196
  return false;
114
197
  recommendationIds.add(contribution.recommendationId);
115
198
  allocationIds.push(...contribution.allocationIds);
@@ -119,7 +202,7 @@ const isAvailableCoordinate = (value, queryRecommendationIds) => {
119
202
  (0, financialSavingsAuthorityValidationPrimitives_1.haveSameFinancialSavingsSet)(allocationIds, value.aggregate.allocationIds) &&
120
203
  (0, financialSavingsAuthorityValidationPrimitives_1.sumFinancialSavingsMinorUnits)(contributionAmounts) === value.aggregate.savingsMinorUnits);
121
204
  };
122
- const isUnavailableCoordinate = (value) => (0, financialSavingsAuthorityValidationPrimitives_1.hasExactFinancialSavingsFields)(value, ['status', 'coordinateId', 'periodRole', 'period', 'costBasis', 'estimateLens', 'unavailableReason'], ['requestedCurrencyCode', 'currentAggregateBaselineId']) &&
205
+ const isUnavailableCoordinate = (value) => (0, financialSavingsAuthorityValidationPrimitives_1.hasExactFinancialSavingsFields)(value, ['status', 'coordinateId', 'periodRole', 'period', 'costBasis', 'estimateLens', 'chargeInclusionPolicyRef', 'unavailableReason'], ['requestedCurrencyCode', 'currentAggregateBaselineId']) &&
123
206
  isCoordinateCommon(value) &&
124
207
  typeof value.unavailableReason === 'string' &&
125
208
  UNAVAILABLE_REASONS.has(value.unavailableReason);
@@ -137,13 +220,15 @@ const isFinancialSavingsSurfaceProjectionV1 = (value) => {
137
220
  'financialAuthorityId',
138
221
  'savingsAuthorityId',
139
222
  'coordinates',
140
- ]) ||
223
+ ], ['lifecycleBindings']) ||
141
224
  value.schemaVersion !== financialSavingsSurfaceProjection_1.FINANCIAL_SAVINGS_SURFACE_PROJECTION_SCHEMA_VERSION_V1 ||
142
225
  value.contractVersion !== financialSavingsSurfaceProjection_1.FINANCIAL_SAVINGS_SURFACE_PROJECTION_CONTRACT_VERSION_V1 ||
143
226
  !(0, financialSavingsAuthorityValidationPrimitives_1.isFinancialSavingsHash)(value.projectionId) ||
144
- (value.surface !== 'recommendations' && value.surface !== 'dashboard') ||
227
+ (value.surface !== 'recommendations' && value.surface !== 'resources' && value.surface !== 'dashboard') ||
145
228
  !isScope(value.scope) ||
146
229
  (value.surface === 'dashboard' && value.scope.kind !== 'subscription-full') ||
230
+ (value.surface === 'recommendations' && value.scope.kind === 'resource-query') ||
231
+ (value.surface === 'resources' && value.scope.kind === 'recommendation-query') ||
147
232
  value.provider !== 'azure' ||
148
233
  !Array.isArray(value.providerAccountRefs) ||
149
234
  value.providerAccountRefs.length === 0 ||
@@ -156,21 +241,50 @@ const isFinancialSavingsSurfaceProjectionV1 = (value) => {
156
241
  !(0, financialSavingsAuthorityValidationPrimitives_1.isFinancialSavingsIsoInstant)(value.artifactGeneration.generatedAt) ||
157
242
  !(0, financialSavingsAuthorityValidationPrimitives_1.isFinancialSavingsHash)(value.financialAuthorityId) ||
158
243
  !(0, financialSavingsAuthorityValidationPrimitives_1.isFinancialSavingsHash)(value.savingsAuthorityId) ||
244
+ (value.lifecycleBindings !== undefined &&
245
+ (!Array.isArray(value.lifecycleBindings) ||
246
+ value.lifecycleBindings.length === 0 ||
247
+ value.lifecycleBindings.length > MAX_ALLOCATIONS ||
248
+ !value.lifecycleBindings.every(isLifecycleBinding))) ||
159
249
  !Array.isArray(value.coordinates) ||
160
250
  value.coordinates.length === 0 ||
161
251
  value.coordinates.length > MAX_COORDINATES)
162
252
  return false;
163
253
  const projection = value;
164
- const queryRecommendationIds = projection.scope.kind === 'recommendation-query' ? new Set(projection.scope.recommendationIds) : undefined;
254
+ const queryRecommendationIds = projection.scope.kind === 'recommendation-query' || projection.scope.kind === 'resource-query'
255
+ ? new Set(projection.scope.recommendationIds)
256
+ : undefined;
257
+ const queryAllocationIds = projection.scope.kind === 'resource-query' ? new Set(projection.scope.allocationIds) : undefined;
165
258
  if (!projection.coordinates.every(coordinate => {
166
259
  if (!(0, financialSavingsAuthorityValidationPrimitives_1.isFinancialSavingsRecord)(coordinate))
167
260
  return false;
168
- return coordinate.status === 'available'
169
- ? isAvailableCoordinate(coordinate, queryRecommendationIds)
261
+ return coordinate.status === 'available' || coordinate.status === 'partial'
262
+ ? isComposedCoordinate(coordinate, queryRecommendationIds, queryAllocationIds)
170
263
  : coordinate.status === 'unavailable' && isUnavailableCoordinate(coordinate);
171
264
  }) ||
172
265
  new Set(projection.coordinates.map(coordinate => coordinate.coordinateId)).size !== projection.coordinates.length)
173
266
  return false;
267
+ if (projection.lifecycleBindings !== undefined) {
268
+ const lifecycleKeys = projection.lifecycleBindings.map(binding => `${binding.resourceId}\u0000${binding.recommendationId}`);
269
+ const boundAllocationIds = projection.lifecycleBindings.flatMap(binding => binding.allocationIds);
270
+ const projectedAllocationOwners = new Map();
271
+ for (const coordinate of projection.coordinates) {
272
+ if (coordinate.status === 'unavailable')
273
+ continue;
274
+ for (const contribution of coordinate.recommendationContributions) {
275
+ for (const allocationId of contribution.allocationIds) {
276
+ if (projectedAllocationOwners.has(allocationId))
277
+ return false;
278
+ projectedAllocationOwners.set(allocationId, contribution.recommendationId);
279
+ }
280
+ }
281
+ }
282
+ if (new Set(lifecycleKeys).size !== lifecycleKeys.length ||
283
+ new Set(boundAllocationIds).size !== boundAllocationIds.length ||
284
+ boundAllocationIds.length !== projectedAllocationOwners.size ||
285
+ projection.lifecycleBindings.some(binding => binding.allocationIds.some(allocationId => projectedAllocationOwners.get(allocationId) !== binding.recommendationId)))
286
+ return false;
287
+ }
174
288
  const { projectionId: _projectionId, ...identity } = projection;
175
289
  return projection.projectionId === (0, exports.createFinancialSavingsSurfaceProjectionIdV1)(identity);
176
290
  };
@@ -1 +1 @@
1
- {"version":3,"file":"financialSavingsSurfaceProjectionValidation.js","sourceRoot":"","sources":["../../src/azure/financialSavingsSurfaceProjectionValidation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"financialSavingsSurfaceProjectionValidation.js","sourceRoot":"","sources":["../../src/azure/financialSavingsSurfaceProjectionValidation.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,9 @@ export * from './financialScopeEvidence';
2
2
  export * from './financialScopeBaseline';
3
3
  export * from './financialScopeBaselineIdentity';
4
4
  export * from './financialScopeBaselineValidation';
5
+ export * from './financialChargeComposition';
6
+ export * from './financialChargeCompositionValidation';
7
+ export * from './financialChargeCompositionKernel';
5
8
  export * from './financialEvidenceAssessmentValidation';
6
9
  export * from './financialProjection';
7
10
  export * from './financialProjectionValidation';
@@ -9,15 +12,18 @@ export * from './financialDisplayRollup';
9
12
  export * from './financialDisplayRollupValidation';
10
13
  export * from './financialAuthorityView';
11
14
  export * from './financialAuthorityViewValidation';
15
+ export * from './financialAuthorityProjectionKernel';
12
16
  export * from './financialSavingsAuthority';
13
17
  export * from './financialSavingsAuthorityValidation';
14
18
  export * from './financialSavingsSurfaceProjection';
15
19
  export * from './financialSavingsSurfaceProjectionValidation';
20
+ export * from './financialSavingsSurfaceProjectionKernel';
16
21
  export * from './financialDataflow';
17
22
  export * from './financialDataflowValidation';
18
23
  export * from './financialDataflowKernel';
19
24
  export * from './financialAnalytics';
20
25
  export * from './financialAnalyticsValidation';
26
+ export * from './financialAnalyticsDisplayKernel';
21
27
  export * from './financialAnalyticsDelivery';
22
28
  export * from './financialAnalyticsDeliveryValidation';
23
29
  export * from './financialPolicy';
@@ -1 +1 @@
1
- {"version":3,"file":"financialScope.d.ts","sourceRoot":"","sources":["../../src/azure/financialScope.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC;AACnD,cAAc,yCAAyC,CAAC;AACxD,cAAc,uBAAuB,CAAC;AACtC,cAAc,iCAAiC,CAAC;AAChD,cAAc,0BAA0B,CAAC;AACzC,cAAc,oCAAoC,CAAC;AACnD,cAAc,0BAA0B,CAAC;AACzC,cAAc,oCAAoC,CAAC;AACnD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uCAAuC,CAAC;AACtD,cAAc,qCAAqC,CAAC;AACpD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wCAAwC,CAAC;AACvD,cAAc,mBAAmB,CAAC;AAClC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qCAAqC,CAAC"}
1
+ {"version":3,"file":"financialScope.d.ts","sourceRoot":"","sources":["../../src/azure/financialScope.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC;AACnD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wCAAwC,CAAC;AACvD,cAAc,oCAAoC,CAAC;AACnD,cAAc,yCAAyC,CAAC;AACxD,cAAc,uBAAuB,CAAC;AACtC,cAAc,iCAAiC,CAAC;AAChD,cAAc,0BAA0B,CAAC;AACzC,cAAc,oCAAoC,CAAC;AACnD,cAAc,0BAA0B,CAAC;AACzC,cAAc,oCAAoC,CAAC;AACnD,cAAc,sCAAsC,CAAC;AACrD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uCAAuC,CAAC;AACtD,cAAc,qCAAqC,CAAC;AACpD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mCAAmC,CAAC;AAClD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wCAAwC,CAAC;AACvD,cAAc,mBAAmB,CAAC;AAClC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qCAAqC,CAAC"}
@@ -18,6 +18,9 @@ __exportStar(require("./financialScopeEvidence"), exports);
18
18
  __exportStar(require("./financialScopeBaseline"), exports);
19
19
  __exportStar(require("./financialScopeBaselineIdentity"), exports);
20
20
  __exportStar(require("./financialScopeBaselineValidation"), exports);
21
+ __exportStar(require("./financialChargeComposition"), exports);
22
+ __exportStar(require("./financialChargeCompositionValidation"), exports);
23
+ __exportStar(require("./financialChargeCompositionKernel"), exports);
21
24
  __exportStar(require("./financialEvidenceAssessmentValidation"), exports);
22
25
  __exportStar(require("./financialProjection"), exports);
23
26
  __exportStar(require("./financialProjectionValidation"), exports);
@@ -25,15 +28,18 @@ __exportStar(require("./financialDisplayRollup"), exports);
25
28
  __exportStar(require("./financialDisplayRollupValidation"), exports);
26
29
  __exportStar(require("./financialAuthorityView"), exports);
27
30
  __exportStar(require("./financialAuthorityViewValidation"), exports);
31
+ __exportStar(require("./financialAuthorityProjectionKernel"), exports);
28
32
  __exportStar(require("./financialSavingsAuthority"), exports);
29
33
  __exportStar(require("./financialSavingsAuthorityValidation"), exports);
30
34
  __exportStar(require("./financialSavingsSurfaceProjection"), exports);
31
35
  __exportStar(require("./financialSavingsSurfaceProjectionValidation"), exports);
36
+ __exportStar(require("./financialSavingsSurfaceProjectionKernel"), exports);
32
37
  __exportStar(require("./financialDataflow"), exports);
33
38
  __exportStar(require("./financialDataflowValidation"), exports);
34
39
  __exportStar(require("./financialDataflowKernel"), exports);
35
40
  __exportStar(require("./financialAnalytics"), exports);
36
41
  __exportStar(require("./financialAnalyticsValidation"), exports);
42
+ __exportStar(require("./financialAnalyticsDisplayKernel"), exports);
37
43
  __exportStar(require("./financialAnalyticsDelivery"), exports);
38
44
  __exportStar(require("./financialAnalyticsDeliveryValidation"), exports);
39
45
  __exportStar(require("./financialPolicy"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"financialScope.js","sourceRoot":"","sources":["../../src/azure/financialScope.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2DAAyC;AACzC,2DAAyC;AACzC,mEAAiD;AACjD,qEAAmD;AACnD,0EAAwD;AACxD,wDAAsC;AACtC,kEAAgD;AAChD,2DAAyC;AACzC,qEAAmD;AACnD,2DAAyC;AACzC,qEAAmD;AACnD,8DAA4C;AAC5C,wEAAsD;AACtD,sEAAoD;AACpD,gFAA8D;AAC9D,sDAAoC;AACpC,gEAA8C;AAC9C,4DAA0C;AAC1C,uDAAqC;AACrC,iEAA+C;AAC/C,+DAA6C;AAC7C,yEAAuD;AACvD,oDAAkC;AAClC,8DAA4C;AAC5C,0DAAwC;AACxC,4DAA0C;AAC1C,sEAAoD"}
1
+ {"version":3,"file":"financialScope.js","sourceRoot":"","sources":["../../src/azure/financialScope.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2DAAyC;AACzC,2DAAyC;AACzC,mEAAiD;AACjD,qEAAmD;AACnD,+DAA6C;AAC7C,yEAAuD;AACvD,qEAAmD;AACnD,0EAAwD;AACxD,wDAAsC;AACtC,kEAAgD;AAChD,2DAAyC;AACzC,qEAAmD;AACnD,2DAAyC;AACzC,qEAAmD;AACnD,uEAAqD;AACrD,8DAA4C;AAC5C,wEAAsD;AACtD,sEAAoD;AACpD,gFAA8D;AAC9D,4EAA0D;AAC1D,sDAAoC;AACpC,gEAA8C;AAC9C,4DAA0C;AAC1C,uDAAqC;AACrC,iEAA+C;AAC/C,oEAAkD;AAClD,+DAA6C;AAC7C,yEAAuD;AACvD,oDAAkC;AAClC,8DAA4C;AAC5C,0DAAwC;AACxC,4DAA0C;AAC1C,sEAAoD"}
@@ -6,6 +6,7 @@ export declare const TENANT_GOVERNANCE_GRAPH_SCHEMA_VERSION: "2026-05-02.tenant-
6
6
  export declare const GLOBAL_ADMIN_RAW_SCHEMA_VERSION: "2026-06-24.global-admin-raw-v1";
7
7
  export declare const PRIVILEGED_ROLE_SUMMARY_SCHEMA_VERSION: "2026-06-24.privileged-role-summary-v1";
8
8
  export declare const TENANT_GOVERNANCE_ACCESS_SCHEMA_VERSION: "2026-06-24.tenant-governance-access-v1";
9
+ export declare const TENANT_MFA_POSTURE_SCHEMA_VERSION: "2026-08-25.tenant-mfa-posture-v1";
9
10
  export declare const GOVERNANCE_REPORT_PORTAL_FILE: "governance.json.gz";
10
11
  export declare const GOVERNANCE_GRAPH_PORTAL_FILE: "governance-graph.json.gz";
11
12
  export declare const GOVERNANCE_ACCESS_PORTAL_FILE: "governance-access.json.gz";
@@ -585,6 +586,7 @@ export type GlobalAdminPrincipalType = 'user' | 'group' | 'servicePrincipal' | '
585
586
  export type GlobalAdminAssignmentSource = 'direct' | 'groupDerived' | 'unknown';
586
587
  export type GlobalAdminAssignmentMode = 'permanent' | 'eligible' | 'active' | 'unknown';
587
588
  export type GlobalAdminLastActivatedEvidence = 'roleAssignmentScheduleInstance' | 'directoryAudit' | 'none' | 'unavailable';
589
+ export type GlobalAdminMfaStatus = 'mfa' | 'unknown';
588
590
  export interface GlobalAdminCoverageSection {
589
591
  state: GovernanceCoverageState;
590
592
  source: GovernanceAccessCoverageSource | string;
@@ -601,6 +603,7 @@ export interface GlobalAdminCoverage {
601
603
  groups: GlobalAdminCoverageSection;
602
604
  groupMemberships: GlobalAdminCoverageSection;
603
605
  globalAdminResolution: GlobalAdminCoverageSection;
606
+ userRegistrationDetails?: GlobalAdminCoverageSection;
604
607
  }
605
608
  export interface GlobalAdminWarning {
606
609
  code: string;
@@ -621,6 +624,7 @@ export interface GlobalAdminPrincipal {
621
624
  userPrincipalName?: string;
622
625
  mail?: string;
623
626
  accountEnabled?: boolean;
627
+ mfaStatus?: GlobalAdminMfaStatus;
624
628
  assignmentSource: GlobalAdminAssignmentSource;
625
629
  assignmentModes: GlobalAdminAssignmentMode[];
626
630
  isPimBacked: boolean | 'unknown';
@@ -695,6 +699,146 @@ export interface GovernanceAccessArtifact {
695
699
  globalAdmins?: GovernanceAccessGlobalAdminSection;
696
700
  sourceMetadata: GovernanceAccessSourceMetadata;
697
701
  }
702
+ export type TenantMfaAssessmentState = Exclude<GovernanceCoverageState, 'skipped'>;
703
+ export type TenantMfaUserType = 'member' | 'guest' | 'unknown';
704
+ export type TenantMfaRegistrationStatus = 'capable' | 'registeredButNotAllowed' | 'notCapable' | 'unknown';
705
+ export type TenantMfaPerUserState = 'disabled' | 'enabled' | 'enforced' | 'unknown';
706
+ export type TenantMfaEnforcementStatus = 'enforced' | 'conditionallyEnforced' | 'notEnforced' | 'unknown';
707
+ export type TenantMfaEnforcementMechanism = 'securityDefaults' | 'conditionalAccess' | 'perUserMfa' | 'mandatoryAzureMfa';
708
+ export type TenantMfaObservedSignInStatus = 'mfaRequired' | 'singleFactorObserved' | 'noRecentSignIn' | 'unknown';
709
+ export type TenantMfaGuestTrustStatus = 'accepted' | 'notAccepted' | 'unknown';
710
+ export type TenantMfaLicenseStatus = 'licensed' | 'notLicensed' | 'notRequired' | 'unknown';
711
+ export type TenantMfaSecurityDefaultsStatus = 'enabled' | 'disabled' | 'unknown';
712
+ export type TenantMfaSource = 'microsoftGraph' | 'logAnalytics' | 'derived';
713
+ export interface TenantMfaCoverageSection {
714
+ state: GovernanceCoverageState;
715
+ source: GovernanceAccessCoverageSource | string;
716
+ reason?: string;
717
+ message?: string;
718
+ requiredPermissions?: string[];
719
+ lastAttemptedAt?: string;
720
+ lastSuccessfulAt?: string;
721
+ maximumSourceLagHours?: number;
722
+ }
723
+ export interface TenantMfaCoverage {
724
+ users: TenantMfaCoverageSection;
725
+ userRegistrationDetails: TenantMfaCoverageSection;
726
+ perUserMfa?: TenantMfaCoverageSection;
727
+ securityDefaults: TenantMfaCoverageSection;
728
+ conditionalAccess: TenantMfaCoverageSection;
729
+ authenticationMethodsPolicy: TenantMfaCoverageSection;
730
+ crossTenantAccess: TenantMfaCoverageSection;
731
+ signIns: TenantMfaCoverageSection;
732
+ licensing: TenantMfaCoverageSection;
733
+ }
734
+ export interface TenantMfaPostureSummary {
735
+ assessmentState: TenantMfaAssessmentState;
736
+ activeUsers?: number;
737
+ mfaCapableUsers?: number;
738
+ notMfaCapableUsers?: number;
739
+ unknownRegistrationUsers?: number;
740
+ enforcementKnownUsers?: number;
741
+ enforcementUnknownUsers?: number;
742
+ }
743
+ export interface TenantMfaConditionalAccessSummary {
744
+ enabledMfaPolicyCount?: number;
745
+ reportOnlyMfaPolicyCount?: number;
746
+ disabledMfaPolicyCount?: number;
747
+ }
748
+ export interface TenantMfaAuthenticationMethodsSummary {
749
+ allowedMethods?: string[];
750
+ }
751
+ export interface TenantMfaCrossTenantAccessSummary {
752
+ defaultInboundMfaTrust: TenantMfaGuestTrustStatus;
753
+ partnerOverrideCount?: number;
754
+ }
755
+ export interface TenantMfaPolicyPosture {
756
+ securityDefaults: TenantMfaSecurityDefaultsStatus;
757
+ conditionalAccess: TenantMfaConditionalAccessSummary;
758
+ authenticationMethodsPolicy: TenantMfaAuthenticationMethodsSummary;
759
+ crossTenantAccess: TenantMfaCrossTenantAccessSummary;
760
+ }
761
+ export type TenantMfaEnforcementScenario = {
762
+ type: 'allResources';
763
+ } | {
764
+ type: 'azureManagement';
765
+ } | {
766
+ type: 'adminPortals';
767
+ } | {
768
+ type: 'application';
769
+ applicationId: string;
770
+ applicationDisplayName?: string;
771
+ };
772
+ export interface TenantMfaRegistrationAssessment {
773
+ status: TenantMfaRegistrationStatus;
774
+ isMfaRegistered?: boolean;
775
+ isMfaCapable?: boolean;
776
+ methodsRegistered?: string[];
777
+ sourceUpdatedAt?: string;
778
+ }
779
+ export interface TenantMfaPerUserAssessment {
780
+ state: TenantMfaPerUserState;
781
+ reason?: string;
782
+ }
783
+ export interface TenantMfaEnforcementAssessment {
784
+ scenario: TenantMfaEnforcementScenario;
785
+ status: TenantMfaEnforcementStatus;
786
+ mechanisms: TenantMfaEnforcementMechanism[];
787
+ policyIds?: string[];
788
+ reason?: string;
789
+ }
790
+ export interface TenantMfaObservedSignInSummary {
791
+ status: TenantMfaObservedSignInStatus;
792
+ lookbackDays: number;
793
+ lastObservedAt?: string;
794
+ mfaRequiredSignInCount?: number;
795
+ singleFactorSignInCount?: number;
796
+ }
797
+ export interface TenantMfaGuestTrustAssessment {
798
+ homeTenantMfaTrust: TenantMfaGuestTrustStatus;
799
+ reason?: string;
800
+ }
801
+ export interface TenantMfaLicenseAssessment {
802
+ status: TenantMfaLicenseStatus;
803
+ skuIds?: string[];
804
+ servicePlanIds?: string[];
805
+ reason?: string;
806
+ }
807
+ export interface TenantMfaUserAssessment {
808
+ userId: string;
809
+ /** Friendly Microsoft Entra display name when user inventory evidence includes it. */
810
+ displayName?: string;
811
+ /** Sign-in name used to identify the user when user inventory evidence includes it. */
812
+ userPrincipalName?: string;
813
+ userType: TenantMfaUserType;
814
+ accountEnabled: boolean;
815
+ registration: TenantMfaRegistrationAssessment;
816
+ perUserMfa?: TenantMfaPerUserAssessment;
817
+ enforcement: TenantMfaEnforcementAssessment[];
818
+ observedSignIns?: TenantMfaObservedSignInSummary;
819
+ guestTrust?: TenantMfaGuestTrustAssessment;
820
+ licensing?: TenantMfaLicenseAssessment;
821
+ }
822
+ export interface TenantMfaSourceMetadata {
823
+ source: TenantMfaSource;
824
+ endpoint?: string;
825
+ state: GovernanceCoverageState;
826
+ reason?: string;
827
+ lastAttemptedAt?: string;
828
+ lastSuccessfulAt?: string;
829
+ }
830
+ export interface TenantMfaPosture {
831
+ generatedAt: string;
832
+ summary: TenantMfaPostureSummary;
833
+ tenantPolicy: TenantMfaPolicyPosture;
834
+ users: TenantMfaUserAssessment[];
835
+ coverage: TenantMfaCoverage;
836
+ sources: TenantMfaSourceMetadata[];
837
+ }
838
+ export interface TenantMfaPostureArtifact extends TenantMfaPosture {
839
+ schemaVersion: typeof TENANT_MFA_POSTURE_SCHEMA_VERSION;
840
+ tenantId: string;
841
+ }
698
842
  export interface TenantGovernanceAccessSourceMetadata {
699
843
  tenantFiles: string[];
700
844
  graphEndpoints: string[];
@@ -706,6 +850,7 @@ export interface TenantGovernanceAccessArtifact {
706
850
  tenantId: string;
707
851
  };
708
852
  globalAdmins: GovernanceAccessGlobalAdminSection;
853
+ mfaPosture?: TenantMfaPosture;
709
854
  sourceMetadata: TenantGovernanceAccessSourceMetadata;
710
855
  }
711
856
  export interface GovernanceReportSourceMetadata {