@spottoai/types-package 1.0.2-beta.99 → 1.0.2-dev1138.1

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 (857) hide show
  1. package/README.md +139 -7
  2. package/dist/accounts/accounts.d.ts +532 -3
  3. package/dist/accounts/accounts.d.ts.map +1 -1
  4. package/dist/accounts/accounts.js +122 -0
  5. package/dist/accounts/accounts.js.map +1 -1
  6. package/dist/accounts/azureSpSetup.d.ts +401 -0
  7. package/dist/accounts/azureSpSetup.d.ts.map +1 -0
  8. package/dist/{azure/costEstimation.js → accounts/azureSpSetup.js} +1 -1
  9. package/dist/accounts/azureSpSetup.js.map +1 -0
  10. package/dist/accounts/azureSpSetupDurable.d.ts +118 -0
  11. package/dist/accounts/azureSpSetupDurable.d.ts.map +1 -0
  12. package/dist/accounts/azureSpSetupDurable.js +3 -0
  13. package/dist/accounts/azureSpSetupDurable.js.map +1 -0
  14. package/dist/accounts/index.d.ts +4 -0
  15. package/dist/accounts/index.d.ts.map +1 -1
  16. package/dist/accounts/index.js +4 -0
  17. package/dist/accounts/index.js.map +1 -1
  18. package/dist/accounts/readPermissions.d.ts +76 -0
  19. package/dist/accounts/readPermissions.d.ts.map +1 -0
  20. package/dist/accounts/readPermissions.js +202 -0
  21. package/dist/accounts/readPermissions.js.map +1 -0
  22. package/dist/accounts/validation.d.ts +91 -0
  23. package/dist/accounts/validation.d.ts.map +1 -0
  24. package/dist/accounts/validation.js +3 -0
  25. package/dist/accounts/validation.js.map +1 -0
  26. package/dist/accounts/writePermissions.d.ts +36 -0
  27. package/dist/accounts/writePermissions.d.ts.map +1 -0
  28. package/dist/accounts/writePermissions.js +47 -0
  29. package/dist/accounts/writePermissions.js.map +1 -0
  30. package/dist/ai/index.d.ts +1018 -13
  31. package/dist/ai/index.d.ts.map +1 -1
  32. package/dist/ai/index.js +1 -0
  33. package/dist/ai/index.js.map +1 -1
  34. package/dist/assessments/artifact.d.ts +84 -0
  35. package/dist/assessments/artifact.d.ts.map +1 -0
  36. package/dist/assessments/artifact.js +3 -0
  37. package/dist/assessments/artifact.js.map +1 -0
  38. package/dist/assessments/catalogue.d.ts +53 -0
  39. package/dist/assessments/catalogue.d.ts.map +1 -0
  40. package/dist/assessments/catalogue.js +16 -0
  41. package/dist/assessments/catalogue.js.map +1 -0
  42. package/dist/assessments/common.d.ts +27 -0
  43. package/dist/assessments/common.d.ts.map +1 -0
  44. package/dist/assessments/common.js +3 -0
  45. package/dist/assessments/common.js.map +1 -0
  46. package/dist/assessments/evidence.d.ts +78 -0
  47. package/dist/assessments/evidence.d.ts.map +1 -0
  48. package/dist/assessments/evidence.js +3 -0
  49. package/dist/assessments/evidence.js.map +1 -0
  50. package/dist/assessments/export.d.ts +27 -0
  51. package/dist/assessments/export.d.ts.map +1 -0
  52. package/dist/assessments/export.js +3 -0
  53. package/dist/assessments/export.js.map +1 -0
  54. package/dist/assessments/index.d.ts +11 -0
  55. package/dist/assessments/index.d.ts.map +1 -0
  56. package/dist/assessments/index.js +27 -0
  57. package/dist/assessments/index.js.map +1 -0
  58. package/dist/assessments/queue.d.ts +20 -0
  59. package/dist/assessments/queue.d.ts.map +1 -0
  60. package/dist/assessments/queue.js +6 -0
  61. package/dist/assessments/queue.js.map +1 -0
  62. package/dist/assessments/review.d.ts +36 -0
  63. package/dist/assessments/review.d.ts.map +1 -0
  64. package/dist/assessments/review.js +3 -0
  65. package/dist/assessments/review.js.map +1 -0
  66. package/dist/assessments/run.d.ts +62 -0
  67. package/dist/assessments/run.d.ts.map +1 -0
  68. package/dist/assessments/run.js +3 -0
  69. package/dist/assessments/run.js.map +1 -0
  70. package/dist/assessments/sow.d.ts +30 -0
  71. package/dist/assessments/sow.d.ts.map +1 -0
  72. package/dist/assessments/sow.js +3 -0
  73. package/dist/assessments/sow.js.map +1 -0
  74. package/dist/assessments/status.d.ts +27 -0
  75. package/dist/assessments/status.d.ts.map +1 -0
  76. package/dist/assessments/status.js +27 -0
  77. package/dist/assessments/status.js.map +1 -0
  78. package/dist/aws/commitments-planning.d.ts +3 -0
  79. package/dist/aws/commitments-planning.d.ts.map +1 -0
  80. package/dist/aws/commitments-planning.js +6 -0
  81. package/dist/aws/commitments-planning.js.map +1 -0
  82. package/dist/aws/commitmentsPlanningValidation.d.ts +7 -0
  83. package/dist/aws/commitmentsPlanningValidation.d.ts.map +1 -0
  84. package/dist/aws/commitmentsPlanningValidation.js +125 -0
  85. package/dist/aws/commitmentsPlanningValidation.js.map +1 -0
  86. package/dist/aws/estates.d.ts +153 -0
  87. package/dist/aws/estates.d.ts.map +1 -0
  88. package/dist/aws/estates.js +25 -0
  89. package/dist/aws/estates.js.map +1 -0
  90. package/dist/aws/index.d.ts +20 -0
  91. package/dist/aws/index.d.ts.map +1 -0
  92. package/dist/aws/index.js +35 -0
  93. package/dist/aws/index.js.map +1 -0
  94. package/dist/aws/onboarding.d.ts +54 -0
  95. package/dist/aws/onboarding.d.ts.map +1 -0
  96. package/dist/aws/onboarding.js +3 -0
  97. package/dist/aws/onboarding.js.map +1 -0
  98. package/dist/aws/pluginPublicArtifactBodyValidation.d.ts +10 -0
  99. package/dist/aws/pluginPublicArtifactBodyValidation.d.ts.map +1 -0
  100. package/dist/aws/pluginPublicArtifactBodyValidation.js +225 -0
  101. package/dist/aws/pluginPublicArtifactBodyValidation.js.map +1 -0
  102. package/dist/aws/pluginPublicArtifactEvidence.d.ts +161 -0
  103. package/dist/aws/pluginPublicArtifactEvidence.d.ts.map +1 -0
  104. package/dist/aws/pluginPublicArtifactEvidence.js +3 -0
  105. package/dist/aws/pluginPublicArtifactEvidence.js.map +1 -0
  106. package/dist/aws/pluginPublicArtifactManifestValidation.d.ts +4 -0
  107. package/dist/aws/pluginPublicArtifactManifestValidation.d.ts.map +1 -0
  108. package/dist/aws/pluginPublicArtifactManifestValidation.js +259 -0
  109. package/dist/aws/pluginPublicArtifactManifestValidation.js.map +1 -0
  110. package/dist/aws/pluginPublicArtifactSectionValidation.d.ts +6 -0
  111. package/dist/aws/pluginPublicArtifactSectionValidation.d.ts.map +1 -0
  112. package/dist/aws/pluginPublicArtifactSectionValidation.js +471 -0
  113. package/dist/aws/pluginPublicArtifactSectionValidation.js.map +1 -0
  114. package/dist/aws/pluginPublicArtifactValidation.d.ts +3 -0
  115. package/dist/aws/pluginPublicArtifactValidation.d.ts.map +1 -0
  116. package/dist/aws/pluginPublicArtifactValidation.js +9 -0
  117. package/dist/aws/pluginPublicArtifactValidation.js.map +1 -0
  118. package/dist/aws/pluginPublicArtifactValidationHelpers.d.ts +23 -0
  119. package/dist/aws/pluginPublicArtifactValidationHelpers.d.ts.map +1 -0
  120. package/dist/aws/pluginPublicArtifactValidationHelpers.js +240 -0
  121. package/dist/aws/pluginPublicArtifactValidationHelpers.js.map +1 -0
  122. package/dist/aws/pluginPublicArtifacts.d.ts +253 -0
  123. package/dist/aws/pluginPublicArtifacts.d.ts.map +1 -0
  124. package/dist/aws/pluginPublicArtifacts.js +51 -0
  125. package/dist/aws/pluginPublicArtifacts.js.map +1 -0
  126. package/dist/aws/portalCommitmentsPlanningPublicArtifactValidation.d.ts +4 -0
  127. package/dist/aws/portalCommitmentsPlanningPublicArtifactValidation.d.ts.map +1 -0
  128. package/dist/aws/portalCommitmentsPlanningPublicArtifactValidation.js +513 -0
  129. package/dist/aws/portalCommitmentsPlanningPublicArtifactValidation.js.map +1 -0
  130. package/dist/aws/portalCommitmentsPlanningPublicArtifacts.d.ts +13 -0
  131. package/dist/aws/portalCommitmentsPlanningPublicArtifacts.d.ts.map +1 -0
  132. package/dist/aws/portalCommitmentsPlanningPublicArtifacts.js +5 -0
  133. package/dist/aws/portalCommitmentsPlanningPublicArtifacts.js.map +1 -0
  134. package/dist/aws/portalPublicArtifactCurrentValidation.d.ts +4 -0
  135. package/dist/aws/portalPublicArtifactCurrentValidation.d.ts.map +1 -0
  136. package/dist/aws/portalPublicArtifactCurrentValidation.js +333 -0
  137. package/dist/aws/portalPublicArtifactCurrentValidation.js.map +1 -0
  138. package/dist/aws/portalPublicArtifactEvidenceValidation.d.ts +6 -0
  139. package/dist/aws/portalPublicArtifactEvidenceValidation.d.ts.map +1 -0
  140. package/dist/aws/portalPublicArtifactEvidenceValidation.js +301 -0
  141. package/dist/aws/portalPublicArtifactEvidenceValidation.js.map +1 -0
  142. package/dist/aws/portalPublicArtifactHistoryAiValidation.d.ts +8 -0
  143. package/dist/aws/portalPublicArtifactHistoryAiValidation.d.ts.map +1 -0
  144. package/dist/aws/portalPublicArtifactHistoryAiValidation.js +377 -0
  145. package/dist/aws/portalPublicArtifactHistoryAiValidation.js.map +1 -0
  146. package/dist/aws/portalPublicArtifactHistoryTypes.d.ts +178 -0
  147. package/dist/aws/portalPublicArtifactHistoryTypes.d.ts.map +1 -0
  148. package/dist/aws/portalPublicArtifactHistoryTypes.js +44 -0
  149. package/dist/aws/portalPublicArtifactHistoryTypes.js.map +1 -0
  150. package/dist/aws/portalPublicArtifactNestedEvidence.d.ts +127 -0
  151. package/dist/aws/portalPublicArtifactNestedEvidence.d.ts.map +1 -0
  152. package/dist/aws/portalPublicArtifactNestedEvidence.js +3 -0
  153. package/dist/aws/portalPublicArtifactNestedEvidence.js.map +1 -0
  154. package/dist/aws/portalPublicArtifactNestedEvidenceValidation.d.ts +6 -0
  155. package/dist/aws/portalPublicArtifactNestedEvidenceValidation.d.ts.map +1 -0
  156. package/dist/aws/portalPublicArtifactNestedEvidenceValidation.js +405 -0
  157. package/dist/aws/portalPublicArtifactNestedEvidenceValidation.js.map +1 -0
  158. package/dist/aws/portalPublicArtifactValidation.d.ts +3 -0
  159. package/dist/aws/portalPublicArtifactValidation.d.ts.map +1 -0
  160. package/dist/aws/portalPublicArtifactValidation.js +14 -0
  161. package/dist/aws/portalPublicArtifactValidation.js.map +1 -0
  162. package/dist/aws/portalPublicArtifactValidationCommon.d.ts +30 -0
  163. package/dist/aws/portalPublicArtifactValidationCommon.d.ts.map +1 -0
  164. package/dist/aws/portalPublicArtifactValidationCommon.js +167 -0
  165. package/dist/aws/portalPublicArtifactValidationCommon.js.map +1 -0
  166. package/dist/aws/portalPublicArtifacts.d.ts +400 -0
  167. package/dist/aws/portalPublicArtifacts.d.ts.map +1 -0
  168. package/dist/aws/portalPublicArtifacts.js +85 -0
  169. package/dist/aws/portalPublicArtifacts.js.map +1 -0
  170. package/dist/aws/portalRelationshipPublicArtifactValidation.d.ts +4 -0
  171. package/dist/aws/portalRelationshipPublicArtifactValidation.d.ts.map +1 -0
  172. package/dist/aws/portalRelationshipPublicArtifactValidation.js +338 -0
  173. package/dist/aws/portalRelationshipPublicArtifactValidation.js.map +1 -0
  174. package/dist/aws/portalRelationshipPublicArtifacts.d.ts +196 -0
  175. package/dist/aws/portalRelationshipPublicArtifacts.d.ts.map +1 -0
  176. package/dist/aws/portalRelationshipPublicArtifacts.js +63 -0
  177. package/dist/aws/portalRelationshipPublicArtifacts.js.map +1 -0
  178. package/dist/aws/portalRelationshipResourceNodeTypes.d.ts +269 -0
  179. package/dist/aws/portalRelationshipResourceNodeTypes.d.ts.map +1 -0
  180. package/dist/aws/portalRelationshipResourceNodeTypes.js +3 -0
  181. package/dist/aws/portalRelationshipResourceNodeTypes.js.map +1 -0
  182. package/dist/aws/portalRelationshipResourceNodeValidation.d.ts +2 -0
  183. package/dist/aws/portalRelationshipResourceNodeValidation.d.ts.map +1 -0
  184. package/dist/aws/portalRelationshipResourceNodeValidation.js +372 -0
  185. package/dist/aws/portalRelationshipResourceNodeValidation.js.map +1 -0
  186. package/dist/aws/publicArtifacts.d.ts +76 -0
  187. package/dist/aws/publicArtifacts.d.ts.map +1 -0
  188. package/dist/aws/publicArtifacts.js +17 -0
  189. package/dist/aws/publicArtifacts.js.map +1 -0
  190. package/dist/aws/relationships.d.ts +4 -0
  191. package/dist/aws/relationships.d.ts.map +1 -0
  192. package/dist/aws/relationships.js +6 -0
  193. package/dist/aws/relationships.js.map +1 -0
  194. package/dist/aws/requests.d.ts +84 -0
  195. package/dist/aws/requests.d.ts.map +1 -0
  196. package/dist/aws/requests.js +23 -0
  197. package/dist/aws/requests.js.map +1 -0
  198. package/dist/azure/activityLogs.d.ts +71 -0
  199. package/dist/azure/activityLogs.d.ts.map +1 -0
  200. package/dist/azure/activityLogs.js +6 -0
  201. package/dist/azure/activityLogs.js.map +1 -0
  202. package/dist/azure/advisorScore.d.ts +39 -0
  203. package/dist/azure/advisorScore.d.ts.map +1 -0
  204. package/dist/azure/advisorScore.js +3 -0
  205. package/dist/azure/advisorScore.js.map +1 -0
  206. package/dist/azure/artifactRunReference.d.ts +11 -0
  207. package/dist/azure/artifactRunReference.d.ts.map +1 -0
  208. package/dist/azure/artifactRunReference.js +90 -0
  209. package/dist/azure/artifactRunReference.js.map +1 -0
  210. package/dist/azure/benefits.d.ts +163 -0
  211. package/dist/azure/benefits.d.ts.map +1 -0
  212. package/dist/azure/benefits.js +3 -0
  213. package/dist/azure/benefits.js.map +1 -0
  214. package/dist/azure/billingArtifactCanonicalization.d.ts +30 -0
  215. package/dist/azure/billingArtifactCanonicalization.d.ts.map +1 -0
  216. package/dist/azure/billingArtifactCanonicalization.js +371 -0
  217. package/dist/azure/billingArtifactCanonicalization.js.map +1 -0
  218. package/dist/azure/billingArtifactEvidence.d.ts +39 -0
  219. package/dist/azure/billingArtifactEvidence.d.ts.map +1 -0
  220. package/dist/azure/billingArtifactEvidence.js +29 -0
  221. package/dist/azure/billingArtifactEvidence.js.map +1 -0
  222. package/dist/azure/billingArtifactGeneration.d.ts +221 -0
  223. package/dist/azure/billingArtifactGeneration.d.ts.map +1 -0
  224. package/dist/azure/billingArtifactGeneration.js +477 -0
  225. package/dist/azure/billingArtifactGeneration.js.map +1 -0
  226. package/dist/azure/billingArtifactLimits.d.ts +19 -0
  227. package/dist/azure/billingArtifactLimits.d.ts.map +1 -0
  228. package/dist/azure/billingArtifactLimits.js +22 -0
  229. package/dist/azure/billingArtifactLimits.js.map +1 -0
  230. package/dist/azure/billingGeneration.d.ts +50 -0
  231. package/dist/azure/billingGeneration.d.ts.map +1 -0
  232. package/dist/azure/billingGeneration.js +3 -0
  233. package/dist/azure/billingGeneration.js.map +1 -0
  234. package/dist/azure/billingPlots.d.ts +220 -13
  235. package/dist/azure/billingPlots.d.ts.map +1 -1
  236. package/dist/azure/billingPlots.js +475 -1
  237. package/dist/azure/billingPlots.js.map +1 -1
  238. package/dist/azure/budgets.d.ts +4 -0
  239. package/dist/azure/budgets.d.ts.map +1 -1
  240. package/dist/azure/commitmentsPlanning.d.ts +731 -0
  241. package/dist/azure/commitmentsPlanning.d.ts.map +1 -0
  242. package/dist/azure/commitmentsPlanning.js +3 -0
  243. package/dist/azure/commitmentsPlanning.js.map +1 -0
  244. package/dist/azure/common.d.ts +16 -3
  245. package/dist/azure/common.d.ts.map +1 -1
  246. package/dist/azure/configs.d.ts +66 -2
  247. package/dist/azure/configs.d.ts.map +1 -1
  248. package/dist/azure/costComposition.d.ts +124 -0
  249. package/dist/azure/costComposition.d.ts.map +1 -0
  250. package/dist/azure/costComposition.js +66 -0
  251. package/dist/azure/costComposition.js.map +1 -0
  252. package/dist/azure/dataProtection.d.ts +229 -0
  253. package/dist/azure/dataProtection.d.ts.map +1 -0
  254. package/dist/azure/dataProtection.js +9 -0
  255. package/dist/azure/dataProtection.js.map +1 -0
  256. package/dist/azure/financialAnalytics.d.ts +117 -0
  257. package/dist/azure/financialAnalytics.d.ts.map +1 -0
  258. package/dist/azure/financialAnalytics.js +6 -0
  259. package/dist/azure/financialAnalytics.js.map +1 -0
  260. package/dist/azure/financialAnalyticsDelivery.d.ts +34 -0
  261. package/dist/azure/financialAnalyticsDelivery.d.ts.map +1 -0
  262. package/dist/azure/financialAnalyticsDelivery.js +8 -0
  263. package/dist/azure/financialAnalyticsDelivery.js.map +1 -0
  264. package/dist/azure/financialAnalyticsDeliveryValidation.d.ts +12 -0
  265. package/dist/azure/financialAnalyticsDeliveryValidation.d.ts.map +1 -0
  266. package/dist/azure/financialAnalyticsDeliveryValidation.js +116 -0
  267. package/dist/azure/financialAnalyticsDeliveryValidation.js.map +1 -0
  268. package/dist/azure/financialAnalyticsValidation.d.ts +12 -0
  269. package/dist/azure/financialAnalyticsValidation.d.ts.map +1 -0
  270. package/dist/azure/financialAnalyticsValidation.js +420 -0
  271. package/dist/azure/financialAnalyticsValidation.js.map +1 -0
  272. package/dist/azure/financialAuthorityView.d.ts +88 -0
  273. package/dist/azure/financialAuthorityView.d.ts.map +1 -0
  274. package/dist/azure/financialAuthorityView.js +7 -0
  275. package/dist/azure/financialAuthorityView.js.map +1 -0
  276. package/dist/azure/financialAuthorityViewValidation.d.ts +9 -0
  277. package/dist/azure/financialAuthorityViewValidation.d.ts.map +1 -0
  278. package/dist/azure/financialAuthorityViewValidation.js +507 -0
  279. package/dist/azure/financialAuthorityViewValidation.js.map +1 -0
  280. package/dist/azure/financialDataflow.d.ts +87 -0
  281. package/dist/azure/financialDataflow.d.ts.map +1 -0
  282. package/dist/azure/financialDataflow.js +6 -0
  283. package/dist/azure/financialDataflow.js.map +1 -0
  284. package/dist/azure/financialDataflowValidation.d.ts +36 -0
  285. package/dist/azure/financialDataflowValidation.d.ts.map +1 -0
  286. package/dist/azure/financialDataflowValidation.js +548 -0
  287. package/dist/azure/financialDataflowValidation.js.map +1 -0
  288. package/dist/azure/financialDisplayRollup.d.ts +35 -0
  289. package/dist/azure/financialDisplayRollup.d.ts.map +1 -0
  290. package/dist/azure/financialDisplayRollup.js +3 -0
  291. package/dist/azure/financialDisplayRollup.js.map +1 -0
  292. package/dist/azure/financialDisplayRollupValidation.d.ts +5 -0
  293. package/dist/azure/financialDisplayRollupValidation.d.ts.map +1 -0
  294. package/dist/azure/financialDisplayRollupValidation.js +82 -0
  295. package/dist/azure/financialDisplayRollupValidation.js.map +1 -0
  296. package/dist/azure/financialEligibilityAssessmentValidation.d.ts +15 -0
  297. package/dist/azure/financialEligibilityAssessmentValidation.d.ts.map +1 -0
  298. package/dist/azure/financialEligibilityAssessmentValidation.js +184 -0
  299. package/dist/azure/financialEligibilityAssessmentValidation.js.map +1 -0
  300. package/dist/azure/financialEvidenceAssessmentValidation.d.ts +4 -0
  301. package/dist/azure/financialEvidenceAssessmentValidation.d.ts.map +1 -0
  302. package/dist/azure/financialEvidenceAssessmentValidation.js +159 -0
  303. package/dist/azure/financialEvidenceAssessmentValidation.js.map +1 -0
  304. package/dist/azure/financialPolicy.d.ts +91 -0
  305. package/dist/azure/financialPolicy.d.ts.map +1 -0
  306. package/dist/azure/financialPolicy.js +6 -0
  307. package/dist/azure/financialPolicy.js.map +1 -0
  308. package/dist/azure/financialPolicyDelivery.d.ts +38 -0
  309. package/dist/azure/financialPolicyDelivery.d.ts.map +1 -0
  310. package/dist/azure/financialPolicyDelivery.js +6 -0
  311. package/dist/azure/financialPolicyDelivery.js.map +1 -0
  312. package/dist/azure/financialPolicyDeliveryValidation.d.ts +8 -0
  313. package/dist/azure/financialPolicyDeliveryValidation.d.ts.map +1 -0
  314. package/dist/azure/financialPolicyDeliveryValidation.js +147 -0
  315. package/dist/azure/financialPolicyDeliveryValidation.js.map +1 -0
  316. package/dist/azure/financialPolicyValidation.d.ts +12 -0
  317. package/dist/azure/financialPolicyValidation.d.ts.map +1 -0
  318. package/dist/azure/financialPolicyValidation.js +472 -0
  319. package/dist/azure/financialPolicyValidation.js.map +1 -0
  320. package/dist/azure/financialProjection.d.ts +171 -0
  321. package/dist/azure/financialProjection.d.ts.map +1 -0
  322. package/dist/azure/financialProjection.js +18 -0
  323. package/dist/azure/financialProjection.js.map +1 -0
  324. package/dist/azure/financialProjectionValidation.d.ts +4 -0
  325. package/dist/azure/financialProjectionValidation.d.ts.map +1 -0
  326. package/dist/azure/financialProjectionValidation.js +452 -0
  327. package/dist/azure/financialProjectionValidation.js.map +1 -0
  328. package/dist/azure/financialSavingsAuthority.d.ts +152 -0
  329. package/dist/azure/financialSavingsAuthority.d.ts.map +1 -0
  330. package/dist/azure/financialSavingsAuthority.js +8 -0
  331. package/dist/azure/financialSavingsAuthority.js.map +1 -0
  332. package/dist/azure/financialSavingsAuthorityValidation.d.ts +8 -0
  333. package/dist/azure/financialSavingsAuthorityValidation.d.ts.map +1 -0
  334. package/dist/azure/financialSavingsAuthorityValidation.js +129 -0
  335. package/dist/azure/financialSavingsAuthorityValidation.js.map +1 -0
  336. package/dist/azure/financialSavingsAuthorityValidationPrimitives.d.ts +11 -0
  337. package/dist/azure/financialSavingsAuthorityValidationPrimitives.d.ts.map +1 -0
  338. package/dist/azure/financialSavingsAuthorityValidationPrimitives.js +44 -0
  339. package/dist/azure/financialSavingsAuthorityValidationPrimitives.js.map +1 -0
  340. package/dist/azure/financialSavingsCoordinateValidation.d.ts +11 -0
  341. package/dist/azure/financialSavingsCoordinateValidation.d.ts.map +1 -0
  342. package/dist/azure/financialSavingsCoordinateValidation.js +340 -0
  343. package/dist/azure/financialSavingsCoordinateValidation.js.map +1 -0
  344. package/dist/azure/financialSavingsSurfaceProjection.d.ts +67 -0
  345. package/dist/azure/financialSavingsSurfaceProjection.d.ts.map +1 -0
  346. package/dist/azure/financialSavingsSurfaceProjection.js +6 -0
  347. package/dist/azure/financialSavingsSurfaceProjection.js.map +1 -0
  348. package/dist/azure/financialSavingsSurfaceProjectionValidation.d.ts +5 -0
  349. package/dist/azure/financialSavingsSurfaceProjectionValidation.d.ts.map +1 -0
  350. package/dist/azure/financialSavingsSurfaceProjectionValidation.js +178 -0
  351. package/dist/azure/financialSavingsSurfaceProjectionValidation.js.map +1 -0
  352. package/dist/azure/financialScope.d.ts +26 -0
  353. package/dist/azure/financialScope.d.ts.map +1 -0
  354. package/dist/azure/financialScope.js +42 -0
  355. package/dist/azure/financialScope.js.map +1 -0
  356. package/dist/azure/financialScopeBaseline.d.ts +147 -0
  357. package/dist/azure/financialScopeBaseline.d.ts.map +1 -0
  358. package/dist/azure/financialScopeBaseline.js +23 -0
  359. package/dist/azure/financialScopeBaseline.js.map +1 -0
  360. package/dist/azure/financialScopeBaselineIdentity.d.ts +9 -0
  361. package/dist/azure/financialScopeBaselineIdentity.d.ts.map +1 -0
  362. package/dist/azure/financialScopeBaselineIdentity.js +136 -0
  363. package/dist/azure/financialScopeBaselineIdentity.js.map +1 -0
  364. package/dist/azure/financialScopeBaselineValidation.d.ts +9 -0
  365. package/dist/azure/financialScopeBaselineValidation.d.ts.map +1 -0
  366. package/dist/azure/financialScopeBaselineValidation.js +449 -0
  367. package/dist/azure/financialScopeBaselineValidation.js.map +1 -0
  368. package/dist/azure/financialScopeEvidence.d.ts +72 -0
  369. package/dist/azure/financialScopeEvidence.d.ts.map +1 -0
  370. package/dist/azure/financialScopeEvidence.js +6 -0
  371. package/dist/azure/financialScopeEvidence.js.map +1 -0
  372. package/dist/azure/financialValidationPrimitives.d.ts +7 -0
  373. package/dist/azure/financialValidationPrimitives.d.ts.map +1 -0
  374. package/dist/azure/financialValidationPrimitives.js +20 -0
  375. package/dist/azure/financialValidationPrimitives.js.map +1 -0
  376. package/dist/azure/governance.d.ts +942 -0
  377. package/dist/azure/governance.d.ts.map +1 -0
  378. package/dist/azure/governance.js +18 -0
  379. package/dist/azure/governance.js.map +1 -0
  380. package/dist/azure/licensing.d.ts +498 -0
  381. package/dist/azure/licensing.d.ts.map +1 -0
  382. package/dist/azure/licensing.js +3 -0
  383. package/dist/azure/licensing.js.map +1 -0
  384. package/dist/azure/metrics.d.ts +73 -4
  385. package/dist/azure/metrics.d.ts.map +1 -1
  386. package/dist/azure/payloads.d.ts +368 -1
  387. package/dist/azure/payloads.d.ts.map +1 -1
  388. package/dist/azure/portalArtifacts.d.ts +14 -0
  389. package/dist/azure/portalArtifacts.d.ts.map +1 -0
  390. package/dist/azure/portalArtifacts.js +5 -0
  391. package/dist/azure/portalArtifacts.js.map +1 -0
  392. package/dist/azure/prices.d.ts +138 -0
  393. package/dist/azure/prices.d.ts.map +1 -1
  394. package/dist/azure/publicIpAddresses.d.ts +171 -0
  395. package/dist/azure/publicIpAddresses.d.ts.map +1 -0
  396. package/dist/azure/publicIpAddresses.js +6 -0
  397. package/dist/azure/publicIpAddresses.js.map +1 -0
  398. package/dist/azure/recommendationAudit.d.ts +167 -0
  399. package/dist/azure/recommendationAudit.d.ts.map +1 -0
  400. package/dist/azure/recommendationAudit.js +20 -0
  401. package/dist/azure/recommendationAudit.js.map +1 -0
  402. package/dist/azure/recommendationState.d.ts +92 -6
  403. package/dist/azure/recommendationState.d.ts.map +1 -1
  404. package/dist/azure/recommendationTracks.d.ts +214 -0
  405. package/dist/azure/recommendationTracks.d.ts.map +1 -0
  406. package/dist/azure/recommendationTracks.js +44 -0
  407. package/dist/azure/recommendationTracks.js.map +1 -0
  408. package/dist/azure/recommendationWorkflow.d.ts +304 -0
  409. package/dist/azure/recommendationWorkflow.d.ts.map +1 -0
  410. package/dist/azure/recommendationWorkflow.js +17 -0
  411. package/dist/azure/recommendationWorkflow.js.map +1 -0
  412. package/dist/azure/recommendations.d.ts +533 -12
  413. package/dist/azure/recommendations.d.ts.map +1 -1
  414. package/dist/azure/recommendations.js.map +1 -1
  415. package/dist/azure/regulatoryCompliance.d.ts +301 -0
  416. package/dist/azure/regulatoryCompliance.d.ts.map +1 -0
  417. package/dist/azure/regulatoryCompliance.js +10 -0
  418. package/dist/azure/regulatoryCompliance.js.map +1 -0
  419. package/dist/azure/relationships.d.ts +193 -0
  420. package/dist/azure/relationships.d.ts.map +1 -0
  421. package/dist/azure/relationships.js +6 -0
  422. package/dist/azure/relationships.js.map +1 -0
  423. package/dist/azure/reportingTemplates.d.ts +70 -0
  424. package/dist/azure/reportingTemplates.d.ts.map +1 -0
  425. package/dist/azure/reportingTemplates.js +5 -0
  426. package/dist/azure/reportingTemplates.js.map +1 -0
  427. package/dist/azure/reports.d.ts +193 -2
  428. package/dist/azure/reports.d.ts.map +1 -1
  429. package/dist/azure/reports.js.map +1 -1
  430. package/dist/azure/resourceHealth.d.ts +264 -0
  431. package/dist/azure/resourceHealth.d.ts.map +1 -0
  432. package/dist/azure/resourceHealth.js +16 -0
  433. package/dist/azure/resourceHealth.js.map +1 -0
  434. package/dist/azure/{costEstimation.d.ts → resourceOptimization.d.ts} +24 -23
  435. package/dist/azure/resourceOptimization.d.ts.map +1 -0
  436. package/dist/azure/resourceOptimization.js +3 -0
  437. package/dist/azure/resourceOptimization.js.map +1 -0
  438. package/dist/azure/resources.d.ts +72 -6
  439. package/dist/azure/resources.d.ts.map +1 -1
  440. package/dist/azure/reviewChecklist.d.ts +155 -0
  441. package/dist/azure/reviewChecklist.d.ts.map +1 -0
  442. package/dist/azure/reviewChecklist.js +3 -0
  443. package/dist/azure/reviewChecklist.js.map +1 -0
  444. package/dist/azure/savings.d.ts +93 -0
  445. package/dist/azure/savings.d.ts.map +1 -0
  446. package/dist/azure/savings.js +3 -0
  447. package/dist/azure/savings.js.map +1 -0
  448. package/dist/azure/secureScore.d.ts +23 -0
  449. package/dist/azure/secureScore.d.ts.map +1 -0
  450. package/dist/azure/secureScore.js +3 -0
  451. package/dist/azure/secureScore.js.map +1 -0
  452. package/dist/azure/serviceRetirement.d.ts +35 -0
  453. package/dist/azure/serviceRetirement.d.ts.map +1 -1
  454. package/dist/azure/serviceRetirementState.d.ts +22 -0
  455. package/dist/azure/serviceRetirementState.d.ts.map +1 -0
  456. package/dist/azure/serviceRetirementState.js +3 -0
  457. package/dist/azure/serviceRetirementState.js.map +1 -0
  458. package/dist/azure/serviceRetirementWorkManagement.d.ts +7 -0
  459. package/dist/azure/serviceRetirementWorkManagement.d.ts.map +1 -0
  460. package/dist/azure/serviceRetirementWorkManagement.js +3 -0
  461. package/dist/azure/serviceRetirementWorkManagement.js.map +1 -0
  462. package/dist/azure/storage-inventory.d.ts +241 -0
  463. package/dist/azure/storage-inventory.d.ts.map +1 -0
  464. package/dist/azure/storage-inventory.js +3 -0
  465. package/dist/azure/storage-inventory.js.map +1 -0
  466. package/dist/azure/subscriptions.d.ts +91 -4
  467. package/dist/azure/subscriptions.d.ts.map +1 -1
  468. package/dist/azure/views.d.ts +919 -11
  469. package/dist/azure/views.d.ts.map +1 -1
  470. package/dist/azure/views.js +511 -0
  471. package/dist/azure/views.js.map +1 -1
  472. package/dist/azure/workManagement.d.ts +154 -0
  473. package/dist/azure/workManagement.d.ts.map +1 -0
  474. package/dist/azure/workManagement.js +8 -0
  475. package/dist/azure/workManagement.js.map +1 -0
  476. package/dist/common/artifactControlData.d.ts +26 -0
  477. package/dist/common/artifactControlData.d.ts.map +1 -0
  478. package/dist/common/artifactControlData.js +208 -0
  479. package/dist/common/artifactControlData.js.map +1 -0
  480. package/dist/common/artifactEvidence.d.ts +151 -0
  481. package/dist/common/artifactEvidence.d.ts.map +1 -0
  482. package/dist/common/artifactEvidence.js +207 -0
  483. package/dist/common/artifactEvidence.js.map +1 -0
  484. package/dist/common/artifactEvidenceValidation.d.ts +16 -0
  485. package/dist/common/artifactEvidenceValidation.d.ts.map +1 -0
  486. package/dist/common/artifactEvidenceValidation.js +31 -0
  487. package/dist/common/artifactEvidenceValidation.js.map +1 -0
  488. package/dist/common/artifactGeneration.d.ts +93 -0
  489. package/dist/common/artifactGeneration.d.ts.map +1 -0
  490. package/dist/common/artifactGeneration.js +5 -0
  491. package/dist/common/artifactGeneration.js.map +1 -0
  492. package/dist/common/capabilityPassport.d.ts +114 -0
  493. package/dist/common/capabilityPassport.d.ts.map +1 -0
  494. package/dist/common/capabilityPassport.js +211 -0
  495. package/dist/common/capabilityPassport.js.map +1 -0
  496. package/dist/common/exactDecimal.d.ts +11 -0
  497. package/dist/common/exactDecimal.d.ts.map +1 -0
  498. package/dist/common/exactDecimal.js +59 -0
  499. package/dist/common/exactDecimal.js.map +1 -0
  500. package/dist/common/index.d.ts +8 -0
  501. package/dist/common/index.d.ts.map +1 -1
  502. package/dist/common/index.js +8 -0
  503. package/dist/common/index.js.map +1 -1
  504. package/dist/common/provider.d.ts +33 -0
  505. package/dist/common/provider.d.ts.map +1 -0
  506. package/dist/common/provider.js +15 -0
  507. package/dist/common/provider.js.map +1 -0
  508. package/dist/common/providerSyncProgress.d.ts +91 -0
  509. package/dist/common/providerSyncProgress.d.ts.map +1 -0
  510. package/dist/common/providerSyncProgress.js +3 -0
  511. package/dist/common/providerSyncProgress.js.map +1 -0
  512. package/dist/common/relationships.d.ts +8 -0
  513. package/dist/common/relationships.d.ts.map +1 -0
  514. package/dist/common/relationships.js +3 -0
  515. package/dist/common/relationships.js.map +1 -0
  516. package/dist/common/sha256.d.ts +3 -0
  517. package/dist/common/sha256.d.ts.map +1 -0
  518. package/dist/common/sha256.js +93 -0
  519. package/dist/common/sha256.js.map +1 -0
  520. package/dist/common/syncProgress.d.ts +27 -0
  521. package/dist/common/syncProgress.d.ts.map +1 -0
  522. package/dist/common/syncProgress.js +3 -0
  523. package/dist/common/syncProgress.js.map +1 -0
  524. package/dist/company/company.d.ts +75 -2
  525. package/dist/company/company.d.ts.map +1 -1
  526. package/dist/company/companyHierarchy.d.ts +53 -0
  527. package/dist/company/companyHierarchy.d.ts.map +1 -0
  528. package/dist/company/companyHierarchy.js +3 -0
  529. package/dist/company/companyHierarchy.js.map +1 -0
  530. package/dist/company/companyNotes.d.ts +288 -0
  531. package/dist/company/companyNotes.d.ts.map +1 -0
  532. package/dist/company/companyNotes.js +42 -0
  533. package/dist/company/companyNotes.js.map +1 -0
  534. package/dist/company/customProperties.d.ts +2 -0
  535. package/dist/company/customProperties.d.ts.map +1 -0
  536. package/dist/company/customProperties.js +18 -0
  537. package/dist/company/customProperties.js.map +1 -0
  538. package/dist/company/index.d.ts +2 -0
  539. package/dist/company/index.d.ts.map +1 -1
  540. package/dist/company/index.js +2 -0
  541. package/dist/company/index.js.map +1 -1
  542. package/dist/company/notification.d.ts +15 -1
  543. package/dist/company/notification.d.ts.map +1 -1
  544. package/dist/company/notification.js +8 -1
  545. package/dist/company/notification.js.map +1 -1
  546. package/dist/customProperties/customProperties.d.ts +87 -0
  547. package/dist/customProperties/customProperties.d.ts.map +1 -0
  548. package/dist/customProperties/customProperties.js +3 -0
  549. package/dist/customProperties/customProperties.js.map +1 -0
  550. package/dist/customProperties/index.d.ts +2 -0
  551. package/dist/customProperties/index.d.ts.map +1 -0
  552. package/dist/customProperties/index.js +18 -0
  553. package/dist/customProperties/index.js.map +1 -0
  554. package/dist/esm/accounts/accounts.js +115 -0
  555. package/dist/esm/accounts/azureSpSetup.js +1 -0
  556. package/dist/esm/accounts/azureSpSetupDurable.js +1 -0
  557. package/dist/esm/accounts/index.js +5 -0
  558. package/dist/esm/accounts/readPermissions.js +198 -0
  559. package/dist/esm/accounts/validation.js +1 -0
  560. package/dist/esm/accounts/writePermissions.js +43 -0
  561. package/dist/esm/ai/index.js +2 -0
  562. package/dist/esm/assessments/artifact.js +1 -0
  563. package/dist/esm/assessments/catalogue.js +12 -0
  564. package/dist/esm/assessments/common.js +1 -0
  565. package/dist/esm/assessments/evidence.js +1 -0
  566. package/dist/esm/assessments/export.js +1 -0
  567. package/dist/esm/assessments/index.js +10 -0
  568. package/dist/esm/assessments/queue.js +2 -0
  569. package/dist/esm/assessments/review.js +1 -0
  570. package/dist/esm/assessments/run.js +1 -0
  571. package/dist/esm/assessments/sow.js +1 -0
  572. package/dist/esm/assessments/status.js +23 -0
  573. package/dist/esm/aws/commitments-planning.js +1 -0
  574. package/dist/esm/aws/commitmentsPlanningValidation.js +121 -0
  575. package/dist/esm/aws/estates.js +21 -0
  576. package/dist/esm/aws/index.js +18 -0
  577. package/dist/esm/aws/onboarding.js +1 -0
  578. package/dist/esm/aws/pluginPublicArtifactBodyValidation.js +217 -0
  579. package/dist/esm/aws/pluginPublicArtifactEvidence.js +1 -0
  580. package/dist/esm/aws/pluginPublicArtifactManifestValidation.js +255 -0
  581. package/dist/esm/aws/pluginPublicArtifactSectionValidation.js +464 -0
  582. package/dist/esm/aws/pluginPublicArtifactValidation.js +2 -0
  583. package/dist/esm/aws/pluginPublicArtifactValidationHelpers.js +216 -0
  584. package/dist/esm/aws/pluginPublicArtifacts.js +44 -0
  585. package/dist/esm/aws/portalCommitmentsPlanningPublicArtifactValidation.js +509 -0
  586. package/dist/esm/aws/portalCommitmentsPlanningPublicArtifacts.js +1 -0
  587. package/dist/esm/aws/portalPublicArtifactCurrentValidation.js +328 -0
  588. package/dist/esm/aws/portalPublicArtifactEvidenceValidation.js +294 -0
  589. package/dist/esm/aws/portalPublicArtifactHistoryAiValidation.js +368 -0
  590. package/dist/esm/aws/portalPublicArtifactHistoryTypes.js +40 -0
  591. package/dist/esm/aws/portalPublicArtifactNestedEvidence.js +1 -0
  592. package/dist/esm/aws/portalPublicArtifactNestedEvidenceValidation.js +397 -0
  593. package/dist/esm/aws/portalPublicArtifactValidation.js +2 -0
  594. package/dist/esm/aws/portalPublicArtifactValidationCommon.js +139 -0
  595. package/dist/esm/aws/portalPublicArtifacts.js +73 -0
  596. package/dist/esm/aws/portalRelationshipPublicArtifactValidation.js +334 -0
  597. package/dist/esm/aws/portalRelationshipPublicArtifacts.js +59 -0
  598. package/dist/esm/aws/portalRelationshipResourceNodeTypes.js +1 -0
  599. package/dist/esm/aws/portalRelationshipResourceNodeValidation.js +368 -0
  600. package/dist/esm/aws/publicArtifacts.js +13 -0
  601. package/dist/esm/aws/relationships.js +1 -0
  602. package/dist/esm/aws/requests.js +19 -0
  603. package/dist/esm/azure/activityLogs.js +2 -0
  604. package/dist/esm/azure/advisorScore.js +1 -0
  605. package/dist/esm/azure/artifactRunReference.js +83 -0
  606. package/dist/esm/azure/benefits.js +1 -0
  607. package/dist/esm/azure/billingArtifactCanonicalization.js +360 -0
  608. package/dist/esm/azure/billingArtifactEvidence.js +23 -0
  609. package/dist/esm/azure/billingArtifactGeneration.js +461 -0
  610. package/dist/esm/azure/billingArtifactLimits.js +18 -0
  611. package/dist/esm/azure/billingGeneration.js +1 -0
  612. package/dist/esm/azure/billingPlots.js +470 -0
  613. package/dist/esm/azure/budgets.js +1 -0
  614. package/dist/esm/azure/commitmentsPlanning.js +1 -0
  615. package/dist/esm/azure/common.js +1 -0
  616. package/dist/esm/azure/configs.js +1 -0
  617. package/dist/esm/azure/costComposition.js +59 -0
  618. package/dist/esm/azure/dataProtection.js +5 -0
  619. package/dist/esm/azure/financialAnalytics.js +2 -0
  620. package/dist/esm/azure/financialAnalyticsDelivery.js +4 -0
  621. package/dist/esm/azure/financialAnalyticsDeliveryValidation.js +104 -0
  622. package/dist/esm/azure/financialAnalyticsValidation.js +408 -0
  623. package/dist/esm/azure/financialAuthorityView.js +3 -0
  624. package/dist/esm/azure/financialAuthorityViewValidation.js +497 -0
  625. package/dist/esm/azure/financialDataflow.js +2 -0
  626. package/dist/esm/azure/financialDataflowValidation.js +523 -0
  627. package/dist/esm/azure/financialDisplayRollup.js +1 -0
  628. package/dist/esm/azure/financialDisplayRollupValidation.js +75 -0
  629. package/dist/esm/azure/financialEligibilityAssessmentValidation.js +176 -0
  630. package/dist/esm/azure/financialEvidenceAssessmentValidation.js +153 -0
  631. package/dist/esm/azure/financialPolicy.js +2 -0
  632. package/dist/esm/azure/financialPolicyDelivery.js +2 -0
  633. package/dist/esm/azure/financialPolicyDeliveryValidation.js +137 -0
  634. package/dist/esm/azure/financialPolicyValidation.js +459 -0
  635. package/dist/esm/azure/financialProjection.js +14 -0
  636. package/dist/esm/azure/financialProjectionValidation.js +446 -0
  637. package/dist/esm/azure/financialSavingsAuthority.js +4 -0
  638. package/dist/esm/azure/financialSavingsAuthorityValidation.js +114 -0
  639. package/dist/esm/azure/financialSavingsAuthorityValidationPrimitives.js +31 -0
  640. package/dist/esm/azure/financialSavingsCoordinateValidation.js +329 -0
  641. package/dist/esm/azure/financialSavingsSurfaceProjection.js +2 -0
  642. package/dist/esm/azure/financialSavingsSurfaceProjectionValidation.js +171 -0
  643. package/dist/esm/azure/financialScope.js +25 -0
  644. package/dist/esm/azure/financialScopeBaseline.js +19 -0
  645. package/dist/esm/azure/financialScopeBaselineIdentity.js +129 -0
  646. package/dist/esm/azure/financialScopeBaselineValidation.js +439 -0
  647. package/dist/esm/azure/financialScopeEvidence.js +2 -0
  648. package/dist/esm/azure/financialValidationPrimitives.js +15 -0
  649. package/dist/esm/azure/governance.js +14 -0
  650. package/dist/esm/azure/licensing.js +1 -0
  651. package/dist/esm/azure/metrics.js +1 -0
  652. package/dist/esm/azure/payloads.js +1 -0
  653. package/dist/esm/azure/portalArtifacts.js +1 -0
  654. package/dist/esm/azure/prices.js +1 -0
  655. package/dist/esm/azure/publicIpAddresses.js +2 -0
  656. package/dist/esm/azure/recommendationAudit.js +16 -0
  657. package/dist/esm/azure/recommendationState.js +1 -0
  658. package/dist/esm/azure/recommendationTracks.js +40 -0
  659. package/dist/esm/azure/recommendationWorkflow.js +13 -0
  660. package/dist/esm/azure/recommendations.js +10 -0
  661. package/dist/esm/azure/regulatoryCompliance.js +6 -0
  662. package/dist/esm/azure/relationships.js +2 -0
  663. package/dist/esm/azure/reportingTemplates.js +1 -0
  664. package/dist/esm/azure/reports.js +12 -0
  665. package/dist/esm/azure/resourceHealth.js +12 -0
  666. package/dist/esm/azure/resourceOptimization.js +1 -0
  667. package/dist/esm/azure/resources.js +1 -0
  668. package/dist/esm/azure/reviewChecklist.js +1 -0
  669. package/dist/esm/azure/savings.js +1 -0
  670. package/dist/esm/azure/secureScore.js +1 -0
  671. package/dist/esm/azure/security.js +1 -0
  672. package/dist/esm/azure/serviceRetirement.js +1 -0
  673. package/dist/esm/azure/serviceRetirementState.js +1 -0
  674. package/dist/esm/azure/serviceRetirementWorkManagement.js +1 -0
  675. package/dist/esm/azure/storage-inventory.js +1 -0
  676. package/dist/esm/azure/subscriptions.js +1 -0
  677. package/dist/esm/azure/views.js +505 -0
  678. package/dist/esm/azure/workManagement.js +4 -0
  679. package/dist/esm/common/artifactControlData.js +200 -0
  680. package/dist/esm/common/artifactEvidence.js +198 -0
  681. package/dist/esm/common/artifactEvidenceValidation.js +24 -0
  682. package/dist/esm/common/artifactGeneration.js +1 -0
  683. package/dist/esm/common/capabilityPassport.js +206 -0
  684. package/dist/esm/common/exactDecimal.js +49 -0
  685. package/dist/esm/common/index.js +9 -0
  686. package/dist/esm/common/pagination.js +1 -0
  687. package/dist/esm/common/provider.js +11 -0
  688. package/dist/esm/common/providerSyncProgress.js +1 -0
  689. package/dist/esm/common/relationships.js +1 -0
  690. package/dist/esm/common/sha256.js +89 -0
  691. package/dist/esm/common/syncProgress.js +1 -0
  692. package/dist/esm/company/billingAccount.js +1 -0
  693. package/dist/esm/company/company.js +1 -0
  694. package/dist/esm/company/companyHierarchy.js +1 -0
  695. package/dist/esm/company/companyNotes.js +38 -0
  696. package/dist/esm/company/customProperties.js +1 -0
  697. package/dist/esm/company/index.js +6 -0
  698. package/dist/esm/company/notification.js +43 -0
  699. package/dist/esm/company/survey.js +1 -0
  700. package/dist/esm/customProperties/customProperties.js +1 -0
  701. package/dist/esm/customProperties/index.js +1 -0
  702. package/dist/esm/entries/aws.js +3 -0
  703. package/dist/esm/entries/commitments-planning.js +3 -0
  704. package/dist/esm/entries/provider.js +3 -0
  705. package/dist/esm/entries/recommendations.js +3 -0
  706. package/dist/esm/entries/relationships.js +3 -0
  707. package/dist/esm/entries/root.js +3 -0
  708. package/dist/esm/events/actionGroups.js +1 -0
  709. package/dist/esm/events/alertDefinitionRun.js +1 -0
  710. package/dist/esm/events/baseAlert.js +1 -0
  711. package/dist/esm/events/cost.js +1 -0
  712. package/dist/esm/events/costAnomalies.js +1 -0
  713. package/dist/esm/events/costViews.js +1 -0
  714. package/dist/esm/events/eventStatus.js +1 -0
  715. package/dist/esm/events/index.js +8 -0
  716. package/dist/esm/events/quickAlerts.js +2 -0
  717. package/dist/esm/features-and-permissions/access.js +1 -0
  718. package/dist/esm/features-and-permissions/index.js +1 -0
  719. package/dist/esm/feedbacks/feedback.js +1 -0
  720. package/dist/esm/identity/apikey.js +1 -0
  721. package/dist/esm/identity/index.js +1 -0
  722. package/dist/esm/index.js +62 -0
  723. package/dist/esm/index.vite.js +48 -0
  724. package/dist/esm/integrations/autotask.js +1 -0
  725. package/dist/esm/integrations/azureDevOps.js +1 -0
  726. package/dist/esm/integrations/github.js +1 -0
  727. package/dist/esm/integrations/halo.js +1 -0
  728. package/dist/esm/integrations/index.js +5 -0
  729. package/dist/esm/integrations/integrationTickets.js +1 -0
  730. package/dist/esm/package.json +3 -0
  731. package/dist/esm/portfolio/index.js +2 -0
  732. package/dist/esm/portfolio/portfolioOperations.js +1 -0
  733. package/dist/esm/portfolio/portfolioProjections.js +17 -0
  734. package/dist/esm/scheduler/index.js +1 -0
  735. package/dist/esm/scheduler/scheduler.js +1 -0
  736. package/dist/esm/tags/index.js +1 -0
  737. package/dist/esm/tags/tags.js +6 -0
  738. package/dist/esm/unknown/services.js +1 -0
  739. package/dist/esm/users/companyUser.js +2 -0
  740. package/dist/esm/users/index.js +2 -0
  741. package/dist/esm/users/user.js +1 -0
  742. package/dist/events/actionGroups.d.ts +85 -0
  743. package/dist/events/actionGroups.d.ts.map +1 -0
  744. package/dist/events/actionGroups.js +3 -0
  745. package/dist/events/actionGroups.js.map +1 -0
  746. package/dist/events/alertDefinitionRun.d.ts +23 -0
  747. package/dist/events/alertDefinitionRun.d.ts.map +1 -0
  748. package/dist/events/alertDefinitionRun.js +3 -0
  749. package/dist/events/alertDefinitionRun.js.map +1 -0
  750. package/dist/events/baseAlert.d.ts +140 -0
  751. package/dist/events/baseAlert.d.ts.map +1 -0
  752. package/dist/events/baseAlert.js +3 -0
  753. package/dist/events/baseAlert.js.map +1 -0
  754. package/dist/events/cost.d.ts +371 -0
  755. package/dist/events/cost.d.ts.map +1 -0
  756. package/dist/events/cost.js +3 -0
  757. package/dist/events/cost.js.map +1 -0
  758. package/dist/events/costAnomalies.d.ts +47 -0
  759. package/dist/events/costAnomalies.d.ts.map +1 -0
  760. package/dist/events/costAnomalies.js +3 -0
  761. package/dist/events/costAnomalies.js.map +1 -0
  762. package/dist/events/costViews.d.ts +25 -0
  763. package/dist/events/costViews.d.ts.map +1 -0
  764. package/dist/events/costViews.js +3 -0
  765. package/dist/events/costViews.js.map +1 -0
  766. package/dist/events/eventStatus.d.ts +8 -0
  767. package/dist/events/eventStatus.d.ts.map +1 -1
  768. package/dist/events/index.d.ts +7 -0
  769. package/dist/events/index.d.ts.map +1 -1
  770. package/dist/events/index.js +7 -0
  771. package/dist/events/index.js.map +1 -1
  772. package/dist/events/quickAlerts.d.ts +67 -0
  773. package/dist/events/quickAlerts.d.ts.map +1 -0
  774. package/dist/events/quickAlerts.js +7 -0
  775. package/dist/events/quickAlerts.js.map +1 -0
  776. package/dist/features-and-permissions/access.d.ts +139 -0
  777. package/dist/features-and-permissions/access.d.ts.map +1 -0
  778. package/dist/features-and-permissions/access.js +3 -0
  779. package/dist/features-and-permissions/access.js.map +1 -0
  780. package/dist/features-and-permissions/index.d.ts +2 -0
  781. package/dist/features-and-permissions/index.d.ts.map +1 -0
  782. package/dist/features-and-permissions/index.js +18 -0
  783. package/dist/features-and-permissions/index.js.map +1 -0
  784. package/dist/identity/apikey.d.ts +20 -3
  785. package/dist/identity/apikey.d.ts.map +1 -1
  786. package/dist/index.d.ts +39 -1
  787. package/dist/index.d.ts.map +1 -1
  788. package/dist/index.js +39 -1
  789. package/dist/index.js.map +1 -1
  790. package/dist/index.vite.d.ts +49 -0
  791. package/dist/index.vite.d.ts.map +1 -0
  792. package/dist/index.vite.js +65 -0
  793. package/dist/index.vite.js.map +1 -0
  794. package/dist/integrations/autotask.d.ts +108 -0
  795. package/dist/integrations/autotask.d.ts.map +1 -0
  796. package/dist/integrations/autotask.js +3 -0
  797. package/dist/integrations/autotask.js.map +1 -0
  798. package/dist/integrations/azureDevOps.d.ts +130 -0
  799. package/dist/integrations/azureDevOps.d.ts.map +1 -0
  800. package/dist/integrations/azureDevOps.js +3 -0
  801. package/dist/integrations/azureDevOps.js.map +1 -0
  802. package/dist/integrations/github.d.ts +96 -0
  803. package/dist/integrations/github.d.ts.map +1 -0
  804. package/dist/integrations/github.js +3 -0
  805. package/dist/integrations/github.js.map +1 -0
  806. package/dist/integrations/halo.d.ts +76 -0
  807. package/dist/integrations/halo.d.ts.map +1 -0
  808. package/dist/integrations/halo.js +3 -0
  809. package/dist/integrations/halo.js.map +1 -0
  810. package/dist/integrations/index.d.ts +6 -0
  811. package/dist/integrations/index.d.ts.map +1 -0
  812. package/dist/integrations/index.js +22 -0
  813. package/dist/integrations/index.js.map +1 -0
  814. package/dist/integrations/integrationTickets.d.ts +77 -0
  815. package/dist/integrations/integrationTickets.d.ts.map +1 -0
  816. package/dist/integrations/integrationTickets.js +3 -0
  817. package/dist/integrations/integrationTickets.js.map +1 -0
  818. package/dist/portfolio/index.d.ts +3 -0
  819. package/dist/portfolio/index.d.ts.map +1 -0
  820. package/dist/portfolio/index.js +19 -0
  821. package/dist/portfolio/index.js.map +1 -0
  822. package/dist/portfolio/portfolioOperations.d.ts +174 -0
  823. package/dist/portfolio/portfolioOperations.d.ts.map +1 -0
  824. package/dist/portfolio/portfolioOperations.js +3 -0
  825. package/dist/portfolio/portfolioOperations.js.map +1 -0
  826. package/dist/portfolio/portfolioProjections.d.ts +460 -0
  827. package/dist/portfolio/portfolioProjections.d.ts.map +1 -0
  828. package/dist/portfolio/portfolioProjections.js +21 -0
  829. package/dist/portfolio/portfolioProjections.js.map +1 -0
  830. package/dist/scheduler/index.d.ts +2 -0
  831. package/dist/scheduler/index.d.ts.map +1 -0
  832. package/dist/scheduler/index.js +18 -0
  833. package/dist/scheduler/index.js.map +1 -0
  834. package/dist/scheduler/scheduler.d.ts +263 -0
  835. package/dist/scheduler/scheduler.d.ts.map +1 -0
  836. package/dist/scheduler/scheduler.js +3 -0
  837. package/dist/scheduler/scheduler.js.map +1 -0
  838. package/dist/tags/index.d.ts +2 -0
  839. package/dist/tags/index.d.ts.map +1 -0
  840. package/dist/tags/index.js +18 -0
  841. package/dist/tags/index.js.map +1 -0
  842. package/dist/tags/tags.d.ts +37 -0
  843. package/dist/tags/tags.d.ts.map +1 -0
  844. package/dist/tags/tags.js +10 -0
  845. package/dist/tags/tags.js.map +1 -0
  846. package/dist/unknown/services.d.ts +12 -0
  847. package/dist/unknown/services.d.ts.map +1 -0
  848. package/dist/unknown/services.js +3 -0
  849. package/dist/unknown/services.js.map +1 -0
  850. package/dist/users/companyUser.d.ts +14 -0
  851. package/dist/users/companyUser.d.ts.map +1 -1
  852. package/dist/users/companyUser.js.map +1 -1
  853. package/dist/users/user.d.ts +20 -1
  854. package/dist/users/user.d.ts.map +1 -1
  855. package/package.json +82 -4
  856. package/dist/azure/costEstimation.d.ts.map +0 -1
  857. package/dist/azure/costEstimation.js.map +0 -1
@@ -0,0 +1,5 @@
1
+ import type { FinancialAuthorityComponentDescriptorV1, FinancialDisplayRollupIdentityPreimageV1, FinancialDisplayRollupV1 } from './financialDisplayRollup';
2
+ export declare const isFinancialAuthorityComponentDescriptorV1: (value: unknown) => value is FinancialAuthorityComponentDescriptorV1;
3
+ export declare const createFinancialDisplayRollupIdV1: (value: FinancialDisplayRollupIdentityPreimageV1) => string;
4
+ export declare const isFinancialDisplayRollupV1: (value: unknown) => value is FinancialDisplayRollupV1;
5
+ //# sourceMappingURL=financialDisplayRollupValidation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"financialDisplayRollupValidation.d.ts","sourceRoot":"","sources":["../../src/azure/financialDisplayRollupValidation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,uCAAuC,EACvC,wCAAwC,EACxC,wBAAwB,EACzB,MAAM,0BAA0B,CAAC;AAmClC,eAAO,MAAM,yCAAyC,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,uCAuBnF,CAAC;AAaF,eAAO,MAAM,gCAAgC,GAAI,OAAO,wCAAwC,KAAG,MAC3B,CAAC;AAEzE,eAAO,MAAM,0BAA0B,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,wBAwBpE,CAAC"}
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isFinancialDisplayRollupV1 = exports.createFinancialDisplayRollupIdV1 = exports.isFinancialAuthorityComponentDescriptorV1 = void 0;
4
+ const sha256_1 = require("../common/sha256");
5
+ const SHA256_ID = /^sha256:[0-9a-f]{64}$/;
6
+ const DISPLAY_LABEL_SOURCES = new Set(['meter-name', 'product-name', 'meter-subcategory', 'meter-category', 'service-name', 'charge-classification']);
7
+ const ROLLUP_LABEL_SOURCES = new Set(['service-name', 'meter-category', 'charge-classification']);
8
+ const isRecord = (value) => value !== null && typeof value === 'object' && !Array.isArray(value);
9
+ const hasExactFields = (value, required, optional = []) => {
10
+ const allowed = new Set([...required, ...optional]);
11
+ const keys = Object.keys(value);
12
+ return required.every(field => Object.prototype.hasOwnProperty.call(value, field)) && keys.every(field => allowed.has(field));
13
+ };
14
+ const isHash = (value) => typeof value === 'string' && SHA256_ID.test(value);
15
+ const isBoundedText = (value, maxLength = 512) => typeof value === 'string' && value.length > 0 && value.length <= maxLength && value.trim() === value;
16
+ const isHashArray = (value) => Array.isArray(value) && value.length > 0 && value.length <= 256 && value.every(isHash) && new Set(value).size === value.length;
17
+ const labelSourceValue = (value) => {
18
+ switch (value.displayLabelSource) {
19
+ case 'meter-name':
20
+ return value.meterName;
21
+ case 'product-name':
22
+ return value.productName;
23
+ case 'meter-subcategory':
24
+ return value.meterSubCategory;
25
+ case 'meter-category':
26
+ return value.meterCategory;
27
+ case 'service-name':
28
+ return value.serviceName;
29
+ case 'charge-classification':
30
+ return undefined;
31
+ }
32
+ };
33
+ const isFinancialAuthorityComponentDescriptorV1 = (value) => {
34
+ if (!isRecord(value) ||
35
+ !hasExactFields(value, ['baselineId', 'componentId', 'displayLabel', 'displayLabelSource', 'evidenceRefIds'], ['serviceName', 'meterCategory', 'meterSubCategory', 'meterName', 'productName', 'unitOfMeasure']) ||
36
+ !isHash(value.baselineId) ||
37
+ !isHash(value.componentId) ||
38
+ !isBoundedText(value.displayLabel) ||
39
+ typeof value.displayLabelSource !== 'string' ||
40
+ !DISPLAY_LABEL_SOURCES.has(value.displayLabelSource) ||
41
+ !isHashArray(value.evidenceRefIds) ||
42
+ ['serviceName', 'meterCategory', 'meterSubCategory', 'meterName', 'productName', 'unitOfMeasure'].some(field => value[field] !== undefined && !isBoundedText(value[field])))
43
+ return false;
44
+ const descriptor = value;
45
+ const sourceValue = labelSourceValue(descriptor);
46
+ return descriptor.displayLabelSource === 'charge-classification' || sourceValue === descriptor.displayLabel;
47
+ };
48
+ exports.isFinancialAuthorityComponentDescriptorV1 = isFinancialAuthorityComponentDescriptorV1;
49
+ const canonicalRollupPreimage = (value) => ({
50
+ displayScopeId: value.displayScopeId,
51
+ purpose: value.purpose,
52
+ additivity: value.additivity,
53
+ displayLabel: value.displayLabel,
54
+ displayLabelSource: value.displayLabelSource,
55
+ members: [...value.members].sort((left, right) => `${left.baselineId}\u0000${left.componentId}`.localeCompare(`${right.baselineId}\u0000${right.componentId}`)),
56
+ });
57
+ const createFinancialDisplayRollupIdV1 = (value) => `sha256:${(0, sha256_1.sha256Utf8)(JSON.stringify(canonicalRollupPreimage(value)))}`;
58
+ exports.createFinancialDisplayRollupIdV1 = createFinancialDisplayRollupIdV1;
59
+ const isFinancialDisplayRollupV1 = (value) => {
60
+ if (!isRecord(value) ||
61
+ !hasExactFields(value, ['displayRollupId', 'displayScopeId', 'purpose', 'additivity', 'displayLabel', 'displayLabelSource', 'members']) ||
62
+ !isHash(value.displayRollupId) ||
63
+ !isBoundedText(value.displayScopeId, 2048) ||
64
+ value.purpose !== 'cost-composition' ||
65
+ value.additivity !== 'non-additive' ||
66
+ !isBoundedText(value.displayLabel) ||
67
+ typeof value.displayLabelSource !== 'string' ||
68
+ !ROLLUP_LABEL_SOURCES.has(value.displayLabelSource) ||
69
+ !Array.isArray(value.members) ||
70
+ value.members.length === 0 ||
71
+ value.members.length > 20000 ||
72
+ !value.members.every(member => isRecord(member) && hasExactFields(member, ['baselineId', 'componentId']) && isHash(member.baselineId) && isHash(member.componentId)))
73
+ return false;
74
+ const rollup = value;
75
+ const membershipKeys = rollup.members.map(member => `${member.baselineId}\u0000${member.componentId}`);
76
+ if (new Set(membershipKeys).size !== membershipKeys.length)
77
+ return false;
78
+ const { displayRollupId: _displayRollupId, ...identity } = rollup;
79
+ return rollup.displayRollupId === (0, exports.createFinancialDisplayRollupIdV1)(identity);
80
+ };
81
+ exports.isFinancialDisplayRollupV1 = isFinancialDisplayRollupV1;
82
+ //# sourceMappingURL=financialDisplayRollupValidation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"financialDisplayRollupValidation.js","sourceRoot":"","sources":["../../src/azure/financialDisplayRollupValidation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import type { FinancialAuthorityViewV1 } from './financialAuthorityView';
2
+ import { type FinancialEligibilityAssessmentIdentityPreimageV1, type FinancialEligibilityAssessmentV1 } from './financialSavingsAuthority';
3
+ import type { AvailableOwnerFinancialScopeBaselineV2 } from './financialScopeBaseline';
4
+ import type { FinancialEvidenceAssessmentV1, FinancialEvidenceBundleV1, FinancialEvidenceReferenceV1 } from './financialScopeEvidence';
5
+ export interface FinancialEligibilityValidationContextV1 {
6
+ authority: FinancialAuthorityViewV1;
7
+ bundleById: Map<string, FinancialEvidenceBundleV1>;
8
+ assessmentById: Map<string, FinancialEvidenceAssessmentV1>;
9
+ evidenceById: Map<string, FinancialEvidenceReferenceV1>;
10
+ }
11
+ export declare const canonicalizeFinancialEligibilityAssessmentIdentityV1: (value: FinancialEligibilityAssessmentIdentityPreimageV1) => string;
12
+ export declare const createFinancialEligibilityAssessmentIdV1: (value: FinancialEligibilityAssessmentIdentityPreimageV1) => string;
13
+ export declare const validateFinancialEligibilityBaselineV1: (value: unknown, context: FinancialEligibilityValidationContextV1) => value is AvailableOwnerFinancialScopeBaselineV2;
14
+ export declare const validateFinancialEligibilityAssessmentV1: (value: unknown, context: FinancialEligibilityValidationContextV1, baselineById: Map<string, AvailableOwnerFinancialScopeBaselineV2>) => value is FinancialEligibilityAssessmentV1;
15
+ //# sourceMappingURL=financialEligibilityAssessmentValidation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"financialEligibilityAssessmentValidation.d.ts","sourceRoot":"","sources":["../../src/azure/financialEligibilityAssessmentValidation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EAGL,KAAK,gDAAgD,EACrD,KAAK,gCAAgC,EACtC,MAAM,6BAA6B,CAAC;AAErC,OAAO,KAAK,EAAE,sCAAsC,EAAE,MAAM,0BAA0B,CAAC;AAEvF,OAAO,KAAK,EAAE,6BAA6B,EAAE,yBAAyB,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAC;AAsBvI,MAAM,WAAW,uCAAuC;IACtD,SAAS,EAAE,wBAAwB,CAAC;IACpC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;IACnD,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,6BAA6B,CAAC,CAAC;IAC3D,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAC;CACzD;AAED,eAAO,MAAM,oDAAoD,GAAI,OAAO,gDAAgD,KAAG,MAmB5H,CAAC;AAEJ,eAAO,MAAM,wCAAwC,GAAI,OAAO,gDAAgD,KAAG,MAC9B,CAAC;AAEtF,eAAO,MAAM,sCAAsC,GACjD,OAAO,OAAO,EACd,SAAS,uCAAuC,KAC/C,KAAK,IAAI,sCAYX,CAAC;AAEF,eAAO,MAAM,wCAAwC,GACnD,OAAO,OAAO,EACd,SAAS,uCAAuC,EAChD,cAAc,GAAG,CAAC,MAAM,EAAE,sCAAsC,CAAC,KAChE,KAAK,IAAI,gCAyJX,CAAC"}
@@ -0,0 +1,184 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateFinancialEligibilityAssessmentV1 = exports.validateFinancialEligibilityBaselineV1 = exports.createFinancialEligibilityAssessmentIdV1 = exports.canonicalizeFinancialEligibilityAssessmentIdentityV1 = void 0;
4
+ const exactDecimal_1 = require("../common/exactDecimal");
5
+ const sha256_1 = require("../common/sha256");
6
+ const financialSavingsAuthority_1 = require("./financialSavingsAuthority");
7
+ const financialSavingsCoordinateValidation_1 = require("./financialSavingsCoordinateValidation");
8
+ const financialScopeBaselineValidation_1 = require("./financialScopeBaselineValidation");
9
+ const financialSavingsAuthorityValidationPrimitives_1 = require("./financialSavingsAuthorityValidationPrimitives");
10
+ const BENEFIT_KINDS = new Set(['savings-plan', 'reservation', 'licence', 'other']);
11
+ const UNAVAILABLE_REASONS = new Set([
12
+ 'rule-evidence-unavailable',
13
+ 'eligibility-baseline-unavailable',
14
+ 'eligible-components-unavailable',
15
+ 'denominator-unavailable',
16
+ 'current-baseline-mapping-unavailable',
17
+ 'currency-conflict',
18
+ 'reconciliation-failure',
19
+ ]);
20
+ const canonicalizeFinancialEligibilityAssessmentIdentityV1 = (value) => JSON.stringify((0, financialSavingsAuthorityValidationPrimitives_1.canonicalizeFinancialSavingsJsonValue)(value.status === 'unavailable'
21
+ ? { ...value, providerAccountRefs: [...value.providerAccountRefs].sort() }
22
+ : {
23
+ ...value,
24
+ providerAccountRefs: [...value.providerAccountRefs].sort(),
25
+ denominator: { ...value.denominator, componentIds: [...value.denominator.componentIds].sort() },
26
+ eligibleComponentIds: [...value.eligibleComponentIds].sort(),
27
+ excludedComponentIds: [...value.excludedComponentIds].sort(),
28
+ currentBaselineMapping: {
29
+ ...value.currentBaselineMapping,
30
+ mappings: [...value.currentBaselineMapping.mappings]
31
+ .sort((left, right) => left.currentComponentId.localeCompare(right.currentComponentId))
32
+ .map(mapping => ({ ...mapping, eligibilityComponentIds: [...mapping.eligibilityComponentIds].sort() })),
33
+ },
34
+ }));
35
+ exports.canonicalizeFinancialEligibilityAssessmentIdentityV1 = canonicalizeFinancialEligibilityAssessmentIdentityV1;
36
+ const createFinancialEligibilityAssessmentIdV1 = (value) => `sha256:${(0, sha256_1.sha256Utf8)((0, exports.canonicalizeFinancialEligibilityAssessmentIdentityV1)(value))}`;
37
+ exports.createFinancialEligibilityAssessmentIdV1 = createFinancialEligibilityAssessmentIdV1;
38
+ const validateFinancialEligibilityBaselineV1 = (value, context) => {
39
+ if (!(0, financialScopeBaselineValidation_1.isFinancialScopeBaselineEnvelopeV2)(value) || value.status !== 'available' || value.baselineKind !== 'owner')
40
+ return false;
41
+ if (value.scopeKind === 'subscription-residual')
42
+ return false;
43
+ const assessment = context.assessmentById.get(value.assessmentId);
44
+ return ((0, financialSavingsAuthorityValidationPrimitives_1.haveSameFinancialSavingsSet)(value.providerAccountRefs, context.authority.providerAccountRefs) &&
45
+ context.bundleById.has(value.evidenceBundleId) &&
46
+ assessment?.result === 'available' &&
47
+ assessment.request.scopeId === value.scopeId &&
48
+ assessment.evidenceBundleId === value.evidenceBundleId &&
49
+ assessment.roleAssessments.some(role => role.role === 'eligibility-rule' && role.matchState === 'matched' && role.evidenceRefId !== undefined));
50
+ };
51
+ exports.validateFinancialEligibilityBaselineV1 = validateFinancialEligibilityBaselineV1;
52
+ const validateFinancialEligibilityAssessmentV1 = (value, context, baselineById) => {
53
+ if (!(0, financialSavingsAuthorityValidationPrimitives_1.isFinancialSavingsRecord)(value) ||
54
+ !(0, financialSavingsAuthorityValidationPrimitives_1.hasExactFinancialSavingsFields)(value, [
55
+ 'schemaVersion',
56
+ 'contractVersion',
57
+ 'eligibilityId',
58
+ 'provider',
59
+ 'providerAccountRefs',
60
+ 'scopeId',
61
+ 'scenarioId',
62
+ 'benefitKind',
63
+ 'ruleVersion',
64
+ 'evaluatedAt',
65
+ 'status',
66
+ ], value.status === 'available'
67
+ ? ['ruleEvidenceRefId', 'eligibilityBaselineId', 'denominator', 'eligibleComponentIds', 'excludedComponentIds', 'currentBaselineMapping']
68
+ : ['ruleEvidenceRefId', 'unavailableReason', 'eligibilityBaselineId']) ||
69
+ value.schemaVersion !== financialSavingsAuthority_1.FINANCIAL_ELIGIBILITY_ASSESSMENT_SCHEMA_VERSION_V1 ||
70
+ value.contractVersion !== financialSavingsAuthority_1.FINANCIAL_ELIGIBILITY_ASSESSMENT_CONTRACT_VERSION_V1 ||
71
+ !(0, financialSavingsAuthorityValidationPrimitives_1.isFinancialSavingsHash)(value.eligibilityId) ||
72
+ value.provider !== 'azure' ||
73
+ !Array.isArray(value.providerAccountRefs) ||
74
+ value.providerAccountRefs.length === 0 ||
75
+ value.providerAccountRefs.length > 64 ||
76
+ !value.providerAccountRefs.every(financialSavingsAuthorityValidationPrimitives_1.isFinancialSavingsIdentity) ||
77
+ new Set(value.providerAccountRefs).size !== value.providerAccountRefs.length ||
78
+ !(0, financialSavingsAuthorityValidationPrimitives_1.haveSameFinancialSavingsSet)(value.providerAccountRefs, context.authority.providerAccountRefs) ||
79
+ !(0, financialSavingsAuthorityValidationPrimitives_1.isFinancialSavingsIdentity)(value.scopeId) ||
80
+ !(0, financialSavingsAuthorityValidationPrimitives_1.isFinancialSavingsIdentity)(value.scenarioId) ||
81
+ typeof value.benefitKind !== 'string' ||
82
+ !BENEFIT_KINDS.has(value.benefitKind) ||
83
+ !(0, financialSavingsAuthorityValidationPrimitives_1.isFinancialSavingsIdentity)(value.ruleVersion) ||
84
+ !(0, financialSavingsAuthorityValidationPrimitives_1.isFinancialSavingsIsoInstant)(value.evaluatedAt) ||
85
+ Date.parse(value.evaluatedAt) > Date.parse(context.authority.artifactGeneration.generatedAt))
86
+ return false;
87
+ if (value.status === 'unavailable') {
88
+ const ruleEvidence = typeof value.ruleEvidenceRefId === 'string' ? context.evidenceById.get(value.ruleEvidenceRefId) : undefined;
89
+ if (typeof value.unavailableReason !== 'string' ||
90
+ !UNAVAILABLE_REASONS.has(value.unavailableReason) ||
91
+ (value.ruleEvidenceRefId !== undefined && (!(0, financialSavingsAuthorityValidationPrimitives_1.isFinancialSavingsHash)(value.ruleEvidenceRefId) || ruleEvidence?.role !== 'eligibility-rule')) ||
92
+ (value.ruleEvidenceRefId === undefined && value.unavailableReason !== 'rule-evidence-unavailable') ||
93
+ (value.eligibilityBaselineId !== undefined && !(0, financialSavingsAuthorityValidationPrimitives_1.isFinancialSavingsHash)(value.eligibilityBaselineId)))
94
+ return false;
95
+ const { eligibilityId: _eligibilityId, ...identity } = value;
96
+ return value.eligibilityId === (0, exports.createFinancialEligibilityAssessmentIdV1)(identity);
97
+ }
98
+ if (value.status !== 'available' || !(0, financialSavingsAuthorityValidationPrimitives_1.isFinancialSavingsHash)(value.ruleEvidenceRefId) || !(0, financialSavingsAuthorityValidationPrimitives_1.isFinancialSavingsHash)(value.eligibilityBaselineId)) {
99
+ return false;
100
+ }
101
+ const baseline = baselineById.get(value.eligibilityBaselineId);
102
+ if (!baseline || baseline.scopeId !== value.scopeId || !(0, financialSavingsAuthorityValidationPrimitives_1.isFinancialSavingsRecord)(value.denominator))
103
+ return false;
104
+ const baselineBundle = context.bundleById.get(baseline.evidenceBundleId);
105
+ const ruleEvidence = baselineBundle?.references.find(reference => reference.evidenceRefId === value.ruleEvidenceRefId);
106
+ const baselineAssessment = context.assessmentById.get(baseline.assessmentId);
107
+ if (ruleEvidence?.role !== 'eligibility-rule' ||
108
+ ruleEvidence.revisionId !== value.ruleVersion ||
109
+ !baselineAssessment?.roleAssessments.some(role => role.role === 'eligibility-rule' && role.matchState === 'matched' && role.evidenceRefId === value.ruleEvidenceRefId))
110
+ return false;
111
+ if (!(0, financialSavingsAuthorityValidationPrimitives_1.hasExactFinancialSavingsFields)(value.denominator, ['denominatorId', 'kind', 'componentIds', 'amount', 'currencyCode']) ||
112
+ !(0, financialSavingsAuthorityValidationPrimitives_1.isFinancialSavingsHash)(value.denominator.denominatorId) ||
113
+ value.denominator.kind !== 'eligible-spend' ||
114
+ !Array.isArray(value.denominator.componentIds) ||
115
+ value.denominator.componentIds.length === 0 ||
116
+ value.denominator.componentIds.length > 20000 ||
117
+ !value.denominator.componentIds.every(financialSavingsAuthorityValidationPrimitives_1.isFinancialSavingsHash) ||
118
+ new Set(value.denominator.componentIds).size !== value.denominator.componentIds.length ||
119
+ typeof value.denominator.amount !== 'string' ||
120
+ typeof value.denominator.currencyCode !== 'string' ||
121
+ value.denominator.currencyCode !== baseline.total.currencyCode ||
122
+ !Array.isArray(value.eligibleComponentIds) ||
123
+ value.eligibleComponentIds.length === 0 ||
124
+ value.eligibleComponentIds.length > 20000 ||
125
+ !value.eligibleComponentIds.every(financialSavingsAuthorityValidationPrimitives_1.isFinancialSavingsHash) ||
126
+ new Set(value.eligibleComponentIds).size !== value.eligibleComponentIds.length ||
127
+ !Array.isArray(value.excludedComponentIds) ||
128
+ value.excludedComponentIds.length > 20000 ||
129
+ !value.excludedComponentIds.every(financialSavingsAuthorityValidationPrimitives_1.isFinancialSavingsHash) ||
130
+ new Set(value.excludedComponentIds).size !== value.excludedComponentIds.length ||
131
+ !(0, financialSavingsAuthorityValidationPrimitives_1.haveSameFinancialSavingsSet)(value.denominator.componentIds, value.eligibleComponentIds) ||
132
+ !(0, financialSavingsAuthorityValidationPrimitives_1.haveSameFinancialSavingsSet)([...value.eligibleComponentIds, ...value.excludedComponentIds], baseline.components.map(component => component.componentId)) ||
133
+ !(0, financialSavingsAuthorityValidationPrimitives_1.isFinancialSavingsRecord)(value.currentBaselineMapping) ||
134
+ !(0, financialSavingsAuthorityValidationPrimitives_1.hasExactFinancialSavingsFields)(value.currentBaselineMapping, ['currentBaselineId', 'compatibility', 'mappings']) ||
135
+ !(0, financialSavingsAuthorityValidationPrimitives_1.isFinancialSavingsHash)(value.currentBaselineMapping.currentBaselineId) ||
136
+ value.currentBaselineMapping.compatibility !== 'compatible' ||
137
+ !Array.isArray(value.currentBaselineMapping.mappings) ||
138
+ value.currentBaselineMapping.mappings.length === 0 ||
139
+ value.currentBaselineMapping.mappings.length > 20000)
140
+ return false;
141
+ const excludedComponentIds = new Set(value.excludedComponentIds);
142
+ if (value.eligibleComponentIds.some(componentId => excludedComponentIds.has(componentId)))
143
+ return false;
144
+ const baselineComponentById = new Map(baseline.components.map(component => [component.componentId, component]));
145
+ try {
146
+ const eligibleAmount = (0, exactDecimal_1.formatExactDecimalValue)((0, exactDecimal_1.sumCanonicalDecimals)(value.eligibleComponentIds.map(componentId => baselineComponentById.get(componentId).amount)));
147
+ if (eligibleAmount !== value.denominator.amount ||
148
+ value.denominator.denominatorId !==
149
+ (0, financialSavingsCoordinateValidation_1.createFinancialSavingsDenominatorIdV1)({
150
+ kind: 'eligible-spend',
151
+ baselineId: baseline.baselineId,
152
+ componentIds: [value.denominator.componentIds[0], ...value.denominator.componentIds.slice(1)],
153
+ amount: value.denominator.amount,
154
+ currencyCode: value.denominator.currencyCode,
155
+ }))
156
+ return false;
157
+ }
158
+ catch {
159
+ return false;
160
+ }
161
+ const currentComponentIds = [];
162
+ const mappedEligibilityComponentIds = [];
163
+ for (const mapping of value.currentBaselineMapping.mappings) {
164
+ if (!(0, financialSavingsAuthorityValidationPrimitives_1.isFinancialSavingsRecord)(mapping) ||
165
+ !(0, financialSavingsAuthorityValidationPrimitives_1.hasExactFinancialSavingsFields)(mapping, ['currentComponentId', 'eligibilityComponentIds']) ||
166
+ !(0, financialSavingsAuthorityValidationPrimitives_1.isFinancialSavingsHash)(mapping.currentComponentId) ||
167
+ !Array.isArray(mapping.eligibilityComponentIds) ||
168
+ mapping.eligibilityComponentIds.length === 0 ||
169
+ mapping.eligibilityComponentIds.length > 20000 ||
170
+ !mapping.eligibilityComponentIds.every(financialSavingsAuthorityValidationPrimitives_1.isFinancialSavingsHash) ||
171
+ new Set(mapping.eligibilityComponentIds).size !== mapping.eligibilityComponentIds.length)
172
+ return false;
173
+ currentComponentIds.push(mapping.currentComponentId);
174
+ mappedEligibilityComponentIds.push(...mapping.eligibilityComponentIds);
175
+ }
176
+ if (new Set(currentComponentIds).size !== currentComponentIds.length ||
177
+ new Set(mappedEligibilityComponentIds).size !== mappedEligibilityComponentIds.length ||
178
+ !(0, financialSavingsAuthorityValidationPrimitives_1.haveSameFinancialSavingsSet)(mappedEligibilityComponentIds, value.eligibleComponentIds))
179
+ return false;
180
+ const { eligibilityId: _eligibilityId, ...identity } = value;
181
+ return value.eligibilityId === (0, exports.createFinancialEligibilityAssessmentIdV1)(identity);
182
+ };
183
+ exports.validateFinancialEligibilityAssessmentV1 = validateFinancialEligibilityAssessmentV1;
184
+ //# sourceMappingURL=financialEligibilityAssessmentValidation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"financialEligibilityAssessmentValidation.js","sourceRoot":"","sources":["../../src/azure/financialEligibilityAssessmentValidation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { type FinancialEvidenceAssessmentIdentityPreimageV1, type FinancialEvidenceAssessmentV1 } from './financialScopeEvidence';
2
+ export declare const canonicalizeFinancialEvidenceAssessmentIdentityV1: (value: FinancialEvidenceAssessmentIdentityPreimageV1) => string;
3
+ export declare const isFinancialEvidenceAssessmentV1: (value: unknown) => value is FinancialEvidenceAssessmentV1;
4
+ //# sourceMappingURL=financialEvidenceAssessmentValidation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"financialEvidenceAssessmentValidation.d.ts","sourceRoot":"","sources":["../../src/azure/financialEvidenceAssessmentValidation.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,6CAA6C,EAClD,KAAK,6BAA6B,EACnC,MAAM,0BAA0B,CAAC;AAiKlC,eAAO,MAAM,iDAAiD,GAAI,OAAO,6CAA6C,KAAG,MAGxH,CAAC;AAEF,eAAO,MAAM,+BAA+B,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,6BASzE,CAAC"}
@@ -0,0 +1,159 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isFinancialEvidenceAssessmentV1 = exports.canonicalizeFinancialEvidenceAssessmentIdentityV1 = void 0;
4
+ const sha256_1 = require("../common/sha256");
5
+ const financialScopeEvidence_1 = require("./financialScopeEvidence");
6
+ const financialScopeBaselineIdentity_1 = require("./financialScopeBaselineIdentity");
7
+ const MAX_EVIDENCE_REFERENCES = 64;
8
+ const MAX_IDENTITY_LENGTH = 256;
9
+ const SHA256_ID = /^sha256:[0-9a-f]{64}$/;
10
+ const EVIDENCE_ROLES = new Set([
11
+ 'billing',
12
+ 'billing-currency-declaration',
13
+ 'estimate',
14
+ 'inventory-configuration',
15
+ 'retail-rate',
16
+ 'commitment-quote',
17
+ 'fx-conversion',
18
+ 'eligibility-rule',
19
+ 'recommendation-scenario-set',
20
+ 'recommendation-lifecycle',
21
+ ]);
22
+ const SCOPE_KINDS = new Set([
23
+ 'canonical-resource-owner',
24
+ 'composite-resource',
25
+ 'commitment-instrument',
26
+ 'subscription-residual',
27
+ 'subscription-aggregate',
28
+ 'portfolio-currency-group',
29
+ ]);
30
+ const ASSESSMENT_REASONS = new Set([
31
+ 'evidence-accepted',
32
+ 'evidence-not-produced',
33
+ 'evidence-not-matched',
34
+ 'evidence-incomplete',
35
+ 'evidence-stale',
36
+ 'reconciliation-failed',
37
+ 'currency-unresolved',
38
+ 'currency-conflicting',
39
+ 'ownership-unresolved',
40
+ 'unsupported-scope',
41
+ ]);
42
+ const isRecord = (value) => value !== null && typeof value === 'object' && !Array.isArray(value);
43
+ const hasExactFields = (value, required, optional = []) => {
44
+ const allowed = new Set([...required, ...optional]);
45
+ const keys = Object.keys(value);
46
+ return required.every(field => Object.prototype.hasOwnProperty.call(value, field)) && keys.every(field => allowed.has(field));
47
+ };
48
+ const isBoundedIdentity = (value) => typeof value === 'string' && value.length > 0 && value.length <= MAX_IDENTITY_LENGTH && value.trim() === value;
49
+ const isIsoInstant = (value) => typeof value === 'string' && /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{3})?Z$/.test(value) && Number.isFinite(Date.parse(value));
50
+ const isCountSummary = (value) => isRecord(value) &&
51
+ hasExactFields(value, ['requestedRoleCount', 'producedRoleCount', 'matchedRoleCount']) &&
52
+ [value.requestedRoleCount, value.producedRoleCount, value.matchedRoleCount].every(count => Number.isSafeInteger(count) && Number(count) >= 0) &&
53
+ Number(value.matchedRoleCount) <= Number(value.producedRoleCount) &&
54
+ Number(value.producedRoleCount) <= Number(value.requestedRoleCount);
55
+ const isAssessmentIdentity = (value) => {
56
+ if (!isRecord(value) ||
57
+ !hasExactFields(value, [
58
+ 'schemaVersion',
59
+ 'contractVersion',
60
+ 'policyVersion',
61
+ 'evaluatedAt',
62
+ 'request',
63
+ 'roleAssessments',
64
+ 'completeness',
65
+ 'reconciliation',
66
+ 'freshness',
67
+ 'result',
68
+ 'primaryReason',
69
+ 'supportingReasons',
70
+ 'summary',
71
+ ], ['evidenceBundleId']) ||
72
+ value.schemaVersion !== 1 ||
73
+ value.contractVersion !== financialScopeEvidence_1.FINANCIAL_EVIDENCE_ASSESSMENT_CONTRACT_VERSION_V1 ||
74
+ !isBoundedIdentity(value.policyVersion) ||
75
+ !isIsoInstant(value.evaluatedAt) ||
76
+ !isRecord(value.request) ||
77
+ !hasExactFields(value.request, ['provider', 'providerAccountRefs', 'scopeKind', 'scopeId', 'requestedEvidenceRoles']) ||
78
+ value.request.provider !== 'azure' ||
79
+ !Array.isArray(value.request.providerAccountRefs) ||
80
+ value.request.providerAccountRefs.length === 0 ||
81
+ value.request.providerAccountRefs.length > MAX_EVIDENCE_REFERENCES ||
82
+ !value.request.providerAccountRefs.every(isBoundedIdentity) ||
83
+ new Set(value.request.providerAccountRefs).size !== value.request.providerAccountRefs.length ||
84
+ typeof value.request.scopeKind !== 'string' ||
85
+ !SCOPE_KINDS.has(value.request.scopeKind) ||
86
+ !isBoundedIdentity(value.request.scopeId) ||
87
+ !Array.isArray(value.request.requestedEvidenceRoles) ||
88
+ value.request.requestedEvidenceRoles.length > EVIDENCE_ROLES.size ||
89
+ !value.request.requestedEvidenceRoles.every(role => typeof role === 'string' && EVIDENCE_ROLES.has(role)) ||
90
+ new Set(value.request.requestedEvidenceRoles).size !== value.request.requestedEvidenceRoles.length ||
91
+ !Array.isArray(value.roleAssessments) ||
92
+ value.roleAssessments.length > EVIDENCE_ROLES.size) {
93
+ return false;
94
+ }
95
+ const requestedRoles = new Set(value.request.requestedEvidenceRoles);
96
+ if (requestedRoles.size === 0 && !new Set(['subscription-aggregate', 'portfolio-currency-group']).has(value.request.scopeKind))
97
+ return false;
98
+ for (const item of value.roleAssessments) {
99
+ if (!isRecord(item) ||
100
+ !hasExactFields(item, ['role', 'support', 'requestState', 'productionState', 'matchState'], ['evidenceRefId']) ||
101
+ typeof item.role !== 'string' ||
102
+ !EVIDENCE_ROLES.has(item.role) ||
103
+ !new Set(['supported', 'unsupported', 'unknown']).has(String(item.support)) ||
104
+ !new Set(['requested', 'not-requested']).has(String(item.requestState)) ||
105
+ !new Set(['produced', 'not-produced']).has(String(item.productionState)) ||
106
+ !new Set(['matched', 'not-matched', 'not-applicable']).has(String(item.matchState)) ||
107
+ (item.evidenceRefId !== undefined && (typeof item.evidenceRefId !== 'string' || !SHA256_ID.test(item.evidenceRefId))) ||
108
+ (item.productionState === 'produced') !== (item.evidenceRefId !== undefined) ||
109
+ (item.matchState === 'matched' && item.productionState !== 'produced') ||
110
+ (item.requestState === 'requested') !== requestedRoles.has(item.role)) {
111
+ return false;
112
+ }
113
+ }
114
+ if (new Set(value.roleAssessments.map(item => item.role)).size !== value.roleAssessments.length)
115
+ return false;
116
+ if (!new Set(['complete', 'partial', 'unavailable', 'not-applicable']).has(String(value.completeness)) ||
117
+ !new Set(['reconciled', 'failed', 'not-applicable']).has(String(value.reconciliation)) ||
118
+ !new Set(['current', 'stale', 'unknown', 'not-applicable']).has(String(value.freshness)) ||
119
+ !new Set(['available', 'unavailable']).has(String(value.result)) ||
120
+ typeof value.primaryReason !== 'string' ||
121
+ !ASSESSMENT_REASONS.has(value.primaryReason) ||
122
+ !Array.isArray(value.supportingReasons) ||
123
+ value.supportingReasons.length > 16 ||
124
+ !value.supportingReasons.every(reason => typeof reason === 'string' && ASSESSMENT_REASONS.has(reason)) ||
125
+ new Set(value.supportingReasons).size !== value.supportingReasons.length ||
126
+ (value.evidenceBundleId !== undefined && (typeof value.evidenceBundleId !== 'string' || !SHA256_ID.test(value.evidenceBundleId))) ||
127
+ !isCountSummary(value.summary)) {
128
+ return false;
129
+ }
130
+ const producedCount = value.roleAssessments.filter(item => item.productionState === 'produced').length;
131
+ const matchedCount = value.roleAssessments.filter(item => item.matchState === 'matched').length;
132
+ const available = value.result === 'available';
133
+ return (value.summary.requestedRoleCount === requestedRoles.size &&
134
+ value.summary.producedRoleCount === producedCount &&
135
+ value.summary.matchedRoleCount === matchedCount &&
136
+ (!available ||
137
+ (value.completeness === 'complete' &&
138
+ value.reconciliation === 'reconciled' &&
139
+ value.freshness === 'current' &&
140
+ value.primaryReason === 'evidence-accepted' &&
141
+ value.evidenceBundleId !== undefined)));
142
+ };
143
+ const canonicalizeFinancialEvidenceAssessmentIdentityV1 = (value) => {
144
+ if (!isAssessmentIdentity(value))
145
+ throw new TypeError('Invalid FinancialEvidenceAssessmentIdentityPreimageV1.');
146
+ return (0, financialScopeBaselineIdentity_1.canonicalizeValidatedFinancialEvidenceAssessmentIdentityV1)(value);
147
+ };
148
+ exports.canonicalizeFinancialEvidenceAssessmentIdentityV1 = canonicalizeFinancialEvidenceAssessmentIdentityV1;
149
+ const isFinancialEvidenceAssessmentV1 = (value) => {
150
+ if (!isRecord(value) || !Object.prototype.hasOwnProperty.call(value, 'assessmentId'))
151
+ return false;
152
+ const { assessmentId, ...identity } = value;
153
+ return (typeof assessmentId === 'string' &&
154
+ SHA256_ID.test(assessmentId) &&
155
+ isAssessmentIdentity(identity) &&
156
+ assessmentId === `sha256:${(0, sha256_1.sha256Utf8)((0, financialScopeBaselineIdentity_1.canonicalizeValidatedFinancialEvidenceAssessmentIdentityV1)(identity))}`);
157
+ };
158
+ exports.isFinancialEvidenceAssessmentV1 = isFinancialEvidenceAssessmentV1;
159
+ //# sourceMappingURL=financialEvidenceAssessmentValidation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"financialEvidenceAssessmentValidation.js","sourceRoot":"","sources":["../../src/azure/financialEvidenceAssessmentValidation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,91 @@
1
+ import type { CostBasis, FinancialEstimateLensV1 } from './costComposition';
2
+ import type { FinancialDataflowScopeV1 } from './financialDataflow';
3
+ import type { CanonicalExactMoney } from './financialValidationPrimitives';
4
+ export declare const FINANCIAL_POLICY_DEFINITION_CONTRACT_VERSION_V1: "financial-policy-definition/v1";
5
+ export declare const FINANCIAL_POLICY_EVALUATION_CONTRACT_VERSION_V1: "financial-policy-evaluation/v1";
6
+ export interface FinancialPolicyCoordinateRequestV1 {
7
+ provider: 'azure';
8
+ providerAccountRefs: [string, ...string[]];
9
+ scope: FinancialDataflowScopeV1;
10
+ period: {
11
+ kind: 'calendar-month' | 'rolling-30-days';
12
+ timeZone: string;
13
+ };
14
+ costBasis: CostBasis;
15
+ estimateLens: FinancialEstimateLensV1;
16
+ /** Required match condition; this field never authorizes FX conversion or a caller currency default. */
17
+ requiredAccountingCurrencyCode: string;
18
+ }
19
+ export interface FinancialPolicyThresholdSetV1 {
20
+ amounts: string[];
21
+ percents: string[];
22
+ }
23
+ export interface FinancialBudgetPolicyCriteriaV1 {
24
+ kind: 'budget';
25
+ budget: CanonicalExactMoney;
26
+ currentSpendThresholds?: FinancialPolicyThresholdSetV1;
27
+ forecastThresholds?: FinancialPolicyThresholdSetV1;
28
+ }
29
+ export interface FinancialCostAnomalyPolicyCriteriaV1 {
30
+ kind: 'cost-anomaly';
31
+ minimumAmount?: string;
32
+ minimumDelta?: string;
33
+ minimumPercentChange?: string;
34
+ }
35
+ export type FinancialPolicyCriteriaV1 = FinancialBudgetPolicyCriteriaV1 | FinancialCostAnomalyPolicyCriteriaV1;
36
+ export interface FinancialPolicyDefinitionRevisionV1 {
37
+ schemaVersion: 1;
38
+ contractVersion: typeof FINANCIAL_POLICY_DEFINITION_CONTRACT_VERSION_V1;
39
+ policyDefinitionRevisionId: string;
40
+ companyId: string;
41
+ definitionId: string;
42
+ revision: string;
43
+ effectiveState: 'enabled' | 'disabled' | 'deleted';
44
+ coordinateRequest: FinancialPolicyCoordinateRequestV1;
45
+ criteria: FinancialPolicyCriteriaV1;
46
+ schedule: {
47
+ cadenceMinutes: number;
48
+ };
49
+ /** Opaque references only; secret-bearing destination configuration is stored elsewhere. */
50
+ destinationRefIds: string[];
51
+ destinationsDigest: string;
52
+ authoredAt: string;
53
+ authoredByUserId: string;
54
+ }
55
+ export type FinancialPolicyDefinitionRevisionIdentityPreimageV1 = Omit<FinancialPolicyDefinitionRevisionV1, 'policyDefinitionRevisionId'>;
56
+ export type FinancialPolicySignalKindV1 = 'budget-current-spend' | 'budget-forecast' | 'cost-anomaly';
57
+ export type FinancialPolicyEvaluationResultV1 = 'matched' | 'not-matched' | 'partial' | 'unavailable';
58
+ export interface FinancialPolicyMatchedThresholdV1 {
59
+ thresholdKind: 'amount' | 'percent' | 'minimum-amount' | 'minimum-delta' | 'minimum-percent-change';
60
+ configuredValue: string;
61
+ }
62
+ interface FinancialPolicyEvaluationCommonV1 {
63
+ schemaVersion: 1;
64
+ contractVersion: typeof FINANCIAL_POLICY_EVALUATION_CONTRACT_VERSION_V1;
65
+ evaluationId: string;
66
+ companyId: string;
67
+ policyDefinitionRevisionId: string;
68
+ definitionId: string;
69
+ definitionRevision: string;
70
+ coordinateId: string;
71
+ currentSpendCompositionId: string;
72
+ evaluatedAt: string;
73
+ policyAlgorithmVersion: string;
74
+ result: FinancialPolicyEvaluationResultV1;
75
+ reasonCode: string;
76
+ matchedThresholds: FinancialPolicyMatchedThresholdV1[];
77
+ readProjectionId: string;
78
+ actionAuditId: string;
79
+ }
80
+ export interface CurrentSpendFinancialPolicyEvaluationV1 extends FinancialPolicyEvaluationCommonV1 {
81
+ signalKind: 'budget-current-spend';
82
+ analyticsProjectionId?: never;
83
+ }
84
+ export interface AnalyticsFinancialPolicyEvaluationV1 extends FinancialPolicyEvaluationCommonV1 {
85
+ signalKind: 'budget-forecast' | 'cost-anomaly';
86
+ analyticsProjectionId: string;
87
+ }
88
+ export type FinancialPolicyEvaluationV1 = CurrentSpendFinancialPolicyEvaluationV1 | AnalyticsFinancialPolicyEvaluationV1;
89
+ export type FinancialPolicyEvaluationIdentityPreimageV1 = FinancialPolicyEvaluationV1 extends infer Evaluation ? Evaluation extends FinancialPolicyEvaluationV1 ? Omit<Evaluation, 'evaluationId' | 'readProjectionId' | 'actionAuditId'> : never : never;
90
+ export {};
91
+ //# sourceMappingURL=financialPolicy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"financialPolicy.d.ts","sourceRoot":"","sources":["../../src/azure/financialPolicy.ts"],"names":[],"mappings":"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"}