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

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 (523) hide show
  1. package/README.md +9 -0
  2. package/dist/accounts/accounts.d.ts +84 -5
  3. package/dist/accounts/accounts.d.ts.map +1 -1
  4. package/dist/accounts/accounts.js +2 -1
  5. package/dist/accounts/accounts.js.map +1 -1
  6. package/dist/accounts/azureManualOnboarding.d.ts +114 -0
  7. package/dist/accounts/azureManualOnboarding.d.ts.map +1 -0
  8. package/dist/accounts/azureManualOnboarding.js +12 -0
  9. package/dist/accounts/azureManualOnboarding.js.map +1 -0
  10. package/dist/accounts/azureSpSetup.d.ts +142 -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/conversationHistory.d.ts +52 -0
  28. package/dist/ai/conversationHistory.d.ts.map +1 -0
  29. package/dist/ai/conversationHistory.js +10 -0
  30. package/dist/ai/conversationHistory.js.map +1 -0
  31. package/dist/ai/grounding.d.ts +41 -0
  32. package/dist/ai/grounding.d.ts.map +1 -0
  33. package/dist/ai/grounding.js +86 -0
  34. package/dist/ai/grounding.js.map +1 -0
  35. package/dist/ai/index.d.ts +302 -6
  36. package/dist/ai/index.d.ts.map +1 -1
  37. package/dist/ai/index.js +25 -0
  38. package/dist/ai/index.js.map +1 -1
  39. package/dist/ai/workspaceArtifacts.d.ts +587 -0
  40. package/dist/ai/workspaceArtifacts.d.ts.map +1 -0
  41. package/dist/ai/workspaceArtifacts.js +162 -0
  42. package/dist/ai/workspaceArtifacts.js.map +1 -0
  43. package/dist/aws/commitments-planning.d.ts +5 -0
  44. package/dist/aws/commitments-planning.d.ts.map +1 -1
  45. package/dist/aws/commitments-planning.js +19 -0
  46. package/dist/aws/commitments-planning.js.map +1 -1
  47. package/dist/aws/estates.d.ts +1 -1
  48. package/dist/aws/estates.d.ts.map +1 -1
  49. package/dist/aws/estates.js +7 -1
  50. package/dist/aws/estates.js.map +1 -1
  51. package/dist/aws/index.d.ts +5 -0
  52. package/dist/aws/index.d.ts.map +1 -1
  53. package/dist/aws/index.js +5 -0
  54. package/dist/aws/index.js.map +1 -1
  55. package/dist/aws/onboarding.d.ts +3 -0
  56. package/dist/aws/onboarding.d.ts.map +1 -1
  57. package/dist/aws/organizationCommitments.d.ts +260 -0
  58. package/dist/aws/organizationCommitments.d.ts.map +1 -0
  59. package/dist/aws/organizationCommitments.js +53 -0
  60. package/dist/aws/organizationCommitments.js.map +1 -0
  61. package/dist/aws/organizationCommitmentsApiValidation.d.ts +21 -0
  62. package/dist/aws/organizationCommitmentsApiValidation.d.ts.map +1 -0
  63. package/dist/aws/organizationCommitmentsApiValidation.js +226 -0
  64. package/dist/aws/organizationCommitmentsApiValidation.js.map +1 -0
  65. package/dist/aws/organizationCommitmentsValidation.d.ts +12 -0
  66. package/dist/aws/organizationCommitmentsValidation.d.ts.map +1 -0
  67. package/dist/aws/organizationCommitmentsValidation.js +228 -0
  68. package/dist/aws/organizationCommitmentsValidation.js.map +1 -0
  69. package/dist/aws/portalOrganizationCommitmentsPlanningPublicArtifactValidation.d.ts +9 -0
  70. package/dist/aws/portalOrganizationCommitmentsPlanningPublicArtifactValidation.d.ts.map +1 -0
  71. package/dist/aws/portalOrganizationCommitmentsPlanningPublicArtifactValidation.js +407 -0
  72. package/dist/aws/portalOrganizationCommitmentsPlanningPublicArtifactValidation.js.map +1 -0
  73. package/dist/aws/portalOrganizationCommitmentsPlanningPublicArtifacts.d.ts +17 -0
  74. package/dist/aws/portalOrganizationCommitmentsPlanningPublicArtifacts.d.ts.map +1 -0
  75. package/dist/aws/portalOrganizationCommitmentsPlanningPublicArtifacts.js +6 -0
  76. package/dist/aws/portalOrganizationCommitmentsPlanningPublicArtifacts.js.map +1 -0
  77. package/dist/aws/requests.d.ts +13 -2
  78. package/dist/aws/requests.d.ts.map +1 -1
  79. package/dist/aws/requests.js +1 -1
  80. package/dist/aws/requests.js.map +1 -1
  81. package/dist/azure/activityLogAnalysis.d.ts +320 -0
  82. package/dist/azure/activityLogAnalysis.d.ts.map +1 -0
  83. package/dist/azure/activityLogAnalysis.js +70 -0
  84. package/dist/azure/activityLogAnalysis.js.map +1 -0
  85. package/dist/azure/activityLogAnalysisPublicValidation.d.ts +8 -0
  86. package/dist/azure/activityLogAnalysisPublicValidation.d.ts.map +1 -0
  87. package/dist/azure/activityLogAnalysisPublicValidation.js +368 -0
  88. package/dist/azure/activityLogAnalysisPublicValidation.js.map +1 -0
  89. package/dist/azure/activityLogAnalysisPublicValidationHelpers.d.ts +33 -0
  90. package/dist/azure/activityLogAnalysisPublicValidationHelpers.d.ts.map +1 -0
  91. package/dist/azure/activityLogAnalysisPublicValidationHelpers.js +197 -0
  92. package/dist/azure/activityLogAnalysisPublicValidationHelpers.js.map +1 -0
  93. package/dist/azure/activityLogAnalysisValidation.d.ts +5 -0
  94. package/dist/azure/activityLogAnalysisValidation.d.ts.map +1 -0
  95. package/dist/azure/activityLogAnalysisValidation.js +376 -0
  96. package/dist/azure/activityLogAnalysisValidation.js.map +1 -0
  97. package/dist/azure/activityLogs.d.ts +8 -0
  98. package/dist/azure/activityLogs.d.ts.map +1 -1
  99. package/dist/azure/activityLogs.js.map +1 -1
  100. package/dist/azure/benefits.d.ts +1 -1
  101. package/dist/azure/benefits.d.ts.map +1 -1
  102. package/dist/azure/billingPlots.d.ts +7 -1
  103. package/dist/azure/billingPlots.d.ts.map +1 -1
  104. package/dist/azure/billingPlots.js +45 -4
  105. package/dist/azure/billingPlots.js.map +1 -1
  106. package/dist/azure/commitmentsPlanning.d.ts +8 -2
  107. package/dist/azure/commitmentsPlanning.d.ts.map +1 -1
  108. package/dist/azure/common.d.ts +26 -5
  109. package/dist/azure/common.d.ts.map +1 -1
  110. package/dist/azure/common.js +30 -0
  111. package/dist/azure/common.js.map +1 -1
  112. package/dist/azure/costComposition.d.ts +11 -1
  113. package/dist/azure/costComposition.d.ts.map +1 -1
  114. package/dist/azure/costComposition.js +84 -1
  115. package/dist/azure/costComposition.js.map +1 -1
  116. package/dist/azure/dataProtection.d.ts +4 -4
  117. package/dist/azure/dataProtection.d.ts.map +1 -1
  118. package/dist/azure/financialAnalytics.d.ts +80 -8
  119. package/dist/azure/financialAnalytics.d.ts.map +1 -1
  120. package/dist/azure/financialAnalyticsDelivery.d.ts +72 -3
  121. package/dist/azure/financialAnalyticsDelivery.d.ts.map +1 -1
  122. package/dist/azure/financialAnalyticsDelivery.js +7 -1
  123. package/dist/azure/financialAnalyticsDelivery.js.map +1 -1
  124. package/dist/azure/financialAnalyticsDeliveryValidation.d.ts +9 -1
  125. package/dist/azure/financialAnalyticsDeliveryValidation.d.ts.map +1 -1
  126. package/dist/azure/financialAnalyticsDeliveryValidation.js +190 -10
  127. package/dist/azure/financialAnalyticsDeliveryValidation.js.map +1 -1
  128. package/dist/azure/financialAnalyticsDisplayKernel.d.ts +12 -0
  129. package/dist/azure/financialAnalyticsDisplayKernel.d.ts.map +1 -0
  130. package/dist/azure/financialAnalyticsDisplayKernel.js +144 -0
  131. package/dist/azure/financialAnalyticsDisplayKernel.js.map +1 -0
  132. package/dist/azure/financialAnalyticsValidation.d.ts.map +1 -1
  133. package/dist/azure/financialAnalyticsValidation.js +101 -19
  134. package/dist/azure/financialAnalyticsValidation.js.map +1 -1
  135. package/dist/azure/financialAuthorityProjectionKernel.d.ts +8 -0
  136. package/dist/azure/financialAuthorityProjectionKernel.d.ts.map +1 -0
  137. package/dist/azure/financialAuthorityProjectionKernel.js +269 -0
  138. package/dist/azure/financialAuthorityProjectionKernel.js.map +1 -0
  139. package/dist/azure/financialAuthorityView.d.ts +13 -0
  140. package/dist/azure/financialAuthorityView.d.ts.map +1 -1
  141. package/dist/azure/financialAuthorityView.js.map +1 -1
  142. package/dist/azure/financialAuthorityViewValidation.d.ts +3 -1
  143. package/dist/azure/financialAuthorityViewValidation.d.ts.map +1 -1
  144. package/dist/azure/financialAuthorityViewValidation.js +273 -2
  145. package/dist/azure/financialAuthorityViewValidation.js.map +1 -1
  146. package/dist/azure/financialChargeComposition.d.ts +81 -0
  147. package/dist/azure/financialChargeComposition.d.ts.map +1 -0
  148. package/dist/azure/financialChargeComposition.js +41 -0
  149. package/dist/azure/financialChargeComposition.js.map +1 -0
  150. package/dist/azure/financialChargeCompositionKernel.d.ts +3 -0
  151. package/dist/azure/financialChargeCompositionKernel.d.ts.map +1 -0
  152. package/dist/azure/financialChargeCompositionKernel.js +53 -0
  153. package/dist/azure/financialChargeCompositionKernel.js.map +1 -0
  154. package/dist/azure/financialChargeCompositionValidation.d.ts +8 -0
  155. package/dist/azure/financialChargeCompositionValidation.d.ts.map +1 -0
  156. package/dist/azure/financialChargeCompositionValidation.js +164 -0
  157. package/dist/azure/financialChargeCompositionValidation.js.map +1 -0
  158. package/dist/azure/financialChargePolicy.d.ts +215 -0
  159. package/dist/azure/financialChargePolicy.d.ts.map +1 -0
  160. package/dist/azure/financialChargePolicy.js +488 -0
  161. package/dist/azure/financialChargePolicy.js.map +1 -0
  162. package/dist/azure/financialCurrentSpendSurfaceProjection.d.ts +76 -0
  163. package/dist/azure/financialCurrentSpendSurfaceProjection.d.ts.map +1 -0
  164. package/dist/azure/financialCurrentSpendSurfaceProjection.js +6 -0
  165. package/dist/azure/financialCurrentSpendSurfaceProjection.js.map +1 -0
  166. package/dist/azure/financialCurrentSpendSurfaceProjectionValidation.d.ts +10 -0
  167. package/dist/azure/financialCurrentSpendSurfaceProjectionValidation.d.ts.map +1 -0
  168. package/dist/azure/financialCurrentSpendSurfaceProjectionValidation.js +196 -0
  169. package/dist/azure/financialCurrentSpendSurfaceProjectionValidation.js.map +1 -0
  170. package/dist/azure/financialDataflow.d.ts +45 -2
  171. package/dist/azure/financialDataflow.d.ts.map +1 -1
  172. package/dist/azure/financialDataflow.js.map +1 -1
  173. package/dist/azure/financialDataflowKernel.d.ts +31 -0
  174. package/dist/azure/financialDataflowKernel.d.ts.map +1 -0
  175. package/dist/azure/financialDataflowKernel.js +170 -0
  176. package/dist/azure/financialDataflowKernel.js.map +1 -0
  177. package/dist/azure/financialDataflowValidation.d.ts +5 -2
  178. package/dist/azure/financialDataflowValidation.d.ts.map +1 -1
  179. package/dist/azure/financialDataflowValidation.js +203 -30
  180. package/dist/azure/financialDataflowValidation.js.map +1 -1
  181. package/dist/azure/financialEvidenceAssessmentValidation.d.ts.map +1 -1
  182. package/dist/azure/financialEvidenceAssessmentValidation.js +7 -0
  183. package/dist/azure/financialEvidenceAssessmentValidation.js.map +1 -1
  184. package/dist/azure/financialEvidenceCoverage.d.ts +36 -0
  185. package/dist/azure/financialEvidenceCoverage.d.ts.map +1 -0
  186. package/dist/azure/financialEvidenceCoverage.js +111 -0
  187. package/dist/azure/financialEvidenceCoverage.js.map +1 -0
  188. package/dist/azure/financialPolicy.d.ts +19 -3
  189. package/dist/azure/financialPolicy.d.ts.map +1 -1
  190. package/dist/azure/financialPolicy.js.map +1 -1
  191. package/dist/azure/financialPolicyDelivery.d.ts +75 -1
  192. package/dist/azure/financialPolicyDelivery.d.ts.map +1 -1
  193. package/dist/azure/financialPolicyDelivery.js +5 -1
  194. package/dist/azure/financialPolicyDelivery.js.map +1 -1
  195. package/dist/azure/financialPolicyDeliveryValidation.d.ts +16 -2
  196. package/dist/azure/financialPolicyDeliveryValidation.d.ts.map +1 -1
  197. package/dist/azure/financialPolicyDeliveryValidation.js +238 -5
  198. package/dist/azure/financialPolicyDeliveryValidation.js.map +1 -1
  199. package/dist/azure/financialPolicyKernel.d.ts +38 -0
  200. package/dist/azure/financialPolicyKernel.d.ts.map +1 -0
  201. package/dist/azure/financialPolicyKernel.js +232 -0
  202. package/dist/azure/financialPolicyKernel.js.map +1 -0
  203. package/dist/azure/financialPolicyValidation.d.ts +1 -0
  204. package/dist/azure/financialPolicyValidation.d.ts.map +1 -1
  205. package/dist/azure/financialPolicyValidation.js +111 -16
  206. package/dist/azure/financialPolicyValidation.js.map +1 -1
  207. package/dist/azure/financialProjection.d.ts +11 -1
  208. package/dist/azure/financialProjection.d.ts.map +1 -1
  209. package/dist/azure/financialProjection.js.map +1 -1
  210. package/dist/azure/financialProjectionValidation.d.ts.map +1 -1
  211. package/dist/azure/financialProjectionValidation.js +43 -3
  212. package/dist/azure/financialProjectionValidation.js.map +1 -1
  213. package/dist/azure/financialResourceSurfaceProjection.d.ts +66 -0
  214. package/dist/azure/financialResourceSurfaceProjection.d.ts.map +1 -0
  215. package/dist/azure/financialResourceSurfaceProjection.js +6 -0
  216. package/dist/azure/financialResourceSurfaceProjection.js.map +1 -0
  217. package/dist/azure/financialResourceSurfaceProjectionValidation.d.ts +16 -0
  218. package/dist/azure/financialResourceSurfaceProjectionValidation.d.ts.map +1 -0
  219. package/dist/azure/financialResourceSurfaceProjectionValidation.js +252 -0
  220. package/dist/azure/financialResourceSurfaceProjectionValidation.js.map +1 -0
  221. package/dist/azure/financialSavingsAuthority.d.ts +68 -4
  222. package/dist/azure/financialSavingsAuthority.d.ts.map +1 -1
  223. package/dist/azure/financialSavingsAuthority.js +2 -1
  224. package/dist/azure/financialSavingsAuthority.js.map +1 -1
  225. package/dist/azure/financialSavingsAuthorityValidation.d.ts +6 -2
  226. package/dist/azure/financialSavingsAuthorityValidation.d.ts.map +1 -1
  227. package/dist/azure/financialSavingsAuthorityValidation.js +188 -2
  228. package/dist/azure/financialSavingsAuthorityValidation.js.map +1 -1
  229. package/dist/azure/financialSavingsChargePolicyKernel.d.ts +12 -0
  230. package/dist/azure/financialSavingsChargePolicyKernel.d.ts.map +1 -0
  231. package/dist/azure/financialSavingsChargePolicyKernel.js +34 -0
  232. package/dist/azure/financialSavingsChargePolicyKernel.js.map +1 -0
  233. package/dist/azure/financialSavingsCoordinateValidation.d.ts.map +1 -1
  234. package/dist/azure/financialSavingsCoordinateValidation.js +98 -19
  235. package/dist/azure/financialSavingsCoordinateValidation.js.map +1 -1
  236. package/dist/azure/financialSavingsPercentageKernel.d.ts +20 -0
  237. package/dist/azure/financialSavingsPercentageKernel.d.ts.map +1 -0
  238. package/dist/azure/financialSavingsPercentageKernel.js +49 -0
  239. package/dist/azure/financialSavingsPercentageKernel.js.map +1 -0
  240. package/dist/azure/financialSavingsSurfaceProjection.d.ts +82 -3
  241. package/dist/azure/financialSavingsSurfaceProjection.d.ts.map +1 -1
  242. package/dist/azure/financialSavingsSurfaceProjection.js +3 -1
  243. package/dist/azure/financialSavingsSurfaceProjection.js.map +1 -1
  244. package/dist/azure/financialSavingsSurfaceProjectionKernel.d.ts +26 -0
  245. package/dist/azure/financialSavingsSurfaceProjectionKernel.d.ts.map +1 -0
  246. package/dist/azure/financialSavingsSurfaceProjectionKernel.js +435 -0
  247. package/dist/azure/financialSavingsSurfaceProjectionKernel.js.map +1 -0
  248. package/dist/azure/financialSavingsSurfaceProjectionValidation.d.ts.map +1 -1
  249. package/dist/azure/financialSavingsSurfaceProjectionValidation.js +199 -13
  250. package/dist/azure/financialSavingsSurfaceProjectionValidation.js.map +1 -1
  251. package/dist/azure/financialScope.d.ts +14 -0
  252. package/dist/azure/financialScope.d.ts.map +1 -1
  253. package/dist/azure/financialScope.js +14 -0
  254. package/dist/azure/financialScope.js.map +1 -1
  255. package/dist/azure/financialScopeBaseline.d.ts +11 -3
  256. package/dist/azure/financialScopeBaseline.d.ts.map +1 -1
  257. package/dist/azure/financialScopeBaseline.js +14 -1
  258. package/dist/azure/financialScopeBaseline.js.map +1 -1
  259. package/dist/azure/financialScopeBaselineIdentity.d.ts.map +1 -1
  260. package/dist/azure/financialScopeBaselineIdentity.js +24 -4
  261. package/dist/azure/financialScopeBaselineIdentity.js.map +1 -1
  262. package/dist/azure/financialScopeBaselineValidation.d.ts.map +1 -1
  263. package/dist/azure/financialScopeBaselineValidation.js +21 -4
  264. package/dist/azure/financialScopeBaselineValidation.js.map +1 -1
  265. package/dist/azure/financialScopeEvidence.d.ts +1 -1
  266. package/dist/azure/financialScopeEvidence.d.ts.map +1 -1
  267. package/dist/azure/governance.d.ts +145 -0
  268. package/dist/azure/governance.d.ts.map +1 -1
  269. package/dist/azure/governance.js +2 -1
  270. package/dist/azure/governance.js.map +1 -1
  271. package/dist/azure/metrics.d.ts +2 -2
  272. package/dist/azure/metrics.d.ts.map +1 -1
  273. package/dist/azure/payloads.d.ts +55 -1
  274. package/dist/azure/payloads.d.ts.map +1 -1
  275. package/dist/azure/prices.d.ts +41 -12
  276. package/dist/azure/prices.d.ts.map +1 -1
  277. package/dist/azure/recommendationLifecycleOverlayValidation.d.ts +5 -0
  278. package/dist/azure/recommendationLifecycleOverlayValidation.d.ts.map +1 -0
  279. package/dist/azure/recommendationLifecycleOverlayValidation.js +82 -0
  280. package/dist/azure/recommendationLifecycleOverlayValidation.js.map +1 -0
  281. package/dist/azure/recommendationState.d.ts +1 -1
  282. package/dist/azure/recommendationState.d.ts.map +1 -1
  283. package/dist/azure/recommendations.d.ts +141 -5
  284. package/dist/azure/recommendations.d.ts.map +1 -1
  285. package/dist/azure/recommendations.js +3 -1
  286. package/dist/azure/recommendations.js.map +1 -1
  287. package/dist/azure/relationships.d.ts +1 -1
  288. package/dist/azure/relationships.d.ts.map +1 -1
  289. package/dist/azure/reportDailySpend.d.ts +48 -0
  290. package/dist/azure/reportDailySpend.d.ts.map +1 -0
  291. package/dist/azure/reportDailySpend.js +6 -0
  292. package/dist/azure/reportDailySpend.js.map +1 -0
  293. package/dist/azure/reportDailySpendValidation.d.ts +3 -0
  294. package/dist/azure/reportDailySpendValidation.d.ts.map +1 -0
  295. package/dist/azure/reportDailySpendValidation.js +72 -0
  296. package/dist/azure/reportDailySpendValidation.js.map +1 -0
  297. package/dist/azure/reportEvidence.d.ts +615 -0
  298. package/dist/azure/reportEvidence.d.ts.map +1 -0
  299. package/dist/azure/reportEvidence.js +25 -0
  300. package/dist/azure/reportEvidence.js.map +1 -0
  301. package/dist/azure/reportEvidenceCatalogueValidation.d.ts +5 -0
  302. package/dist/azure/reportEvidenceCatalogueValidation.d.ts.map +1 -0
  303. package/dist/azure/reportEvidenceCatalogueValidation.js +109 -0
  304. package/dist/azure/reportEvidenceCatalogueValidation.js.map +1 -0
  305. package/dist/azure/reportEvidenceValidation.d.ts +7 -0
  306. package/dist/azure/reportEvidenceValidation.d.ts.map +1 -0
  307. package/dist/azure/reportEvidenceValidation.js +421 -0
  308. package/dist/azure/reportEvidenceValidation.js.map +1 -0
  309. package/dist/azure/reportEvidenceValidationHelpers.d.ts +27 -0
  310. package/dist/azure/reportEvidenceValidationHelpers.d.ts.map +1 -0
  311. package/dist/azure/reportEvidenceValidationHelpers.js +134 -0
  312. package/dist/azure/reportEvidenceValidationHelpers.js.map +1 -0
  313. package/dist/azure/reportSavingsContributionValidation.d.ts +5 -0
  314. package/dist/azure/reportSavingsContributionValidation.d.ts.map +1 -0
  315. package/dist/azure/reportSavingsContributionValidation.js +37 -0
  316. package/dist/azure/reportSavingsContributionValidation.js.map +1 -0
  317. package/dist/azure/reportSpend.d.ts +87 -0
  318. package/dist/azure/reportSpend.d.ts.map +1 -0
  319. package/dist/azure/reportSpend.js +5 -0
  320. package/dist/azure/reportSpend.js.map +1 -0
  321. package/dist/azure/reportSpendValidation.d.ts +7 -0
  322. package/dist/azure/reportSpendValidation.d.ts.map +1 -0
  323. package/dist/azure/reportSpendValidation.js +197 -0
  324. package/dist/azure/reportSpendValidation.js.map +1 -0
  325. package/dist/azure/reportSpendValidationHelpers.d.ts +7 -0
  326. package/dist/azure/reportSpendValidationHelpers.d.ts.map +1 -0
  327. package/dist/azure/reportSpendValidationHelpers.js +31 -0
  328. package/dist/azure/reportSpendValidationHelpers.js.map +1 -0
  329. package/dist/azure/reports.d.ts +32 -10
  330. package/dist/azure/reports.d.ts.map +1 -1
  331. package/dist/azure/reports.js.map +1 -1
  332. package/dist/azure/resources.d.ts +24 -12
  333. package/dist/azure/resources.d.ts.map +1 -1
  334. package/dist/azure/serviceRetirement.d.ts +33 -2
  335. package/dist/azure/serviceRetirement.d.ts.map +1 -1
  336. package/dist/azure/storage-inventory.d.ts +44 -0
  337. package/dist/azure/storage-inventory.d.ts.map +1 -1
  338. package/dist/azure/subscriptions.d.ts +57 -11
  339. package/dist/azure/subscriptions.d.ts.map +1 -1
  340. package/dist/azure/subscriptions.js +35 -0
  341. package/dist/azure/subscriptions.js.map +1 -1
  342. package/dist/azure/views.d.ts +86 -22
  343. package/dist/azure/views.d.ts.map +1 -1
  344. package/dist/azure/views.js +8 -1
  345. package/dist/azure/views.js.map +1 -1
  346. package/dist/azure/vmPatchManagement.d.ts +109 -0
  347. package/dist/azure/vmPatchManagement.d.ts.map +1 -0
  348. package/dist/azure/vmPatchManagement.js +7 -0
  349. package/dist/azure/vmPatchManagement.js.map +1 -0
  350. package/dist/common/provider.d.ts +53 -0
  351. package/dist/common/provider.d.ts.map +1 -1
  352. package/dist/common/provider.js.map +1 -1
  353. package/dist/company/company.d.ts +1 -0
  354. package/dist/company/company.d.ts.map +1 -1
  355. package/dist/environment/canonicalization.d.ts +12 -0
  356. package/dist/environment/canonicalization.d.ts.map +1 -0
  357. package/dist/environment/canonicalization.js +40 -0
  358. package/dist/environment/canonicalization.js.map +1 -0
  359. package/dist/environment/contracts.d.ts +472 -0
  360. package/dist/environment/contracts.d.ts.map +1 -0
  361. package/dist/environment/contracts.js +73 -0
  362. package/dist/environment/contracts.js.map +1 -0
  363. package/dist/environment/index.d.ts +6 -0
  364. package/dist/environment/index.d.ts.map +1 -0
  365. package/dist/environment/index.js +22 -0
  366. package/dist/environment/index.js.map +1 -0
  367. package/dist/environment/internal.d.ts +21 -0
  368. package/dist/environment/internal.d.ts.map +1 -0
  369. package/dist/environment/internal.js +113 -0
  370. package/dist/environment/internal.js.map +1 -0
  371. package/dist/environment/references.d.ts +24 -0
  372. package/dist/environment/references.d.ts.map +1 -0
  373. package/dist/environment/references.js +243 -0
  374. package/dist/environment/references.js.map +1 -0
  375. package/dist/environment/tenant.d.ts +128 -0
  376. package/dist/environment/tenant.d.ts.map +1 -0
  377. package/dist/environment/tenant.js +203 -0
  378. package/dist/environment/tenant.js.map +1 -0
  379. package/dist/environment/validation.d.ts +34 -0
  380. package/dist/environment/validation.d.ts.map +1 -0
  381. package/dist/environment/validation.js +655 -0
  382. package/dist/environment/validation.js.map +1 -0
  383. package/dist/esm/accounts/accounts.js +1 -0
  384. package/dist/esm/accounts/azureManualOnboarding.js +8 -0
  385. package/dist/esm/accounts/azureSpSetup.js +14 -1
  386. package/dist/esm/accounts/azureSpSetupDurable.js +27 -1
  387. package/dist/esm/accounts/index.js +1 -0
  388. package/dist/esm/ai/conversationHistory.js +6 -0
  389. package/dist/esm/ai/grounding.js +80 -0
  390. package/dist/esm/ai/index.js +10 -1
  391. package/dist/esm/ai/workspaceArtifacts.js +158 -0
  392. package/dist/esm/aws/commitments-planning.js +5 -0
  393. package/dist/esm/aws/estates.js +7 -1
  394. package/dist/esm/aws/index.js +5 -0
  395. package/dist/esm/aws/organizationCommitments.js +48 -0
  396. package/dist/esm/aws/organizationCommitmentsApiValidation.js +220 -0
  397. package/dist/esm/aws/organizationCommitmentsValidation.js +224 -0
  398. package/dist/esm/aws/portalOrganizationCommitmentsPlanningPublicArtifactValidation.js +402 -0
  399. package/dist/esm/aws/portalOrganizationCommitmentsPlanningPublicArtifacts.js +2 -0
  400. package/dist/esm/aws/requests.js +1 -1
  401. package/dist/esm/azure/activityLogAnalysis.js +64 -0
  402. package/dist/esm/azure/activityLogAnalysisPublicValidation.js +360 -0
  403. package/dist/esm/azure/activityLogAnalysisPublicValidationHelpers.js +172 -0
  404. package/dist/esm/azure/activityLogAnalysisValidation.js +365 -0
  405. package/dist/esm/azure/billingPlots.js +45 -4
  406. package/dist/esm/azure/common.js +28 -1
  407. package/dist/esm/azure/costComposition.js +80 -0
  408. package/dist/esm/azure/financialAnalyticsDelivery.js +5 -0
  409. package/dist/esm/azure/financialAnalyticsDeliveryValidation.js +184 -11
  410. package/dist/esm/azure/financialAnalyticsDisplayKernel.js +139 -0
  411. package/dist/esm/azure/financialAnalyticsValidation.js +101 -19
  412. package/dist/esm/azure/financialAuthorityProjectionKernel.js +263 -0
  413. package/dist/esm/azure/financialAuthorityViewValidation.js +271 -1
  414. package/dist/esm/azure/financialChargeComposition.js +36 -0
  415. package/dist/esm/azure/financialChargeCompositionKernel.js +48 -0
  416. package/dist/esm/azure/financialChargeCompositionValidation.js +155 -0
  417. package/dist/esm/azure/financialChargePolicy.js +473 -0
  418. package/dist/esm/azure/financialCurrentSpendSurfaceProjection.js +2 -0
  419. package/dist/esm/azure/financialCurrentSpendSurfaceProjectionValidation.js +184 -0
  420. package/dist/esm/azure/financialDataflowKernel.js +164 -0
  421. package/dist/esm/azure/financialDataflowValidation.js +199 -29
  422. package/dist/esm/azure/financialEvidenceAssessmentValidation.js +7 -0
  423. package/dist/esm/azure/financialEvidenceCoverage.js +106 -0
  424. package/dist/esm/azure/financialPolicyDelivery.js +4 -0
  425. package/dist/esm/azure/financialPolicyDeliveryValidation.js +227 -7
  426. package/dist/esm/azure/financialPolicyKernel.js +225 -0
  427. package/dist/esm/azure/financialPolicyValidation.js +110 -16
  428. package/dist/esm/azure/financialProjectionValidation.js +43 -3
  429. package/dist/esm/azure/financialResourceSurfaceProjection.js +2 -0
  430. package/dist/esm/azure/financialResourceSurfaceProjectionValidation.js +243 -0
  431. package/dist/esm/azure/financialSavingsAuthority.js +1 -0
  432. package/dist/esm/azure/financialSavingsAuthorityValidation.js +186 -2
  433. package/dist/esm/azure/financialSavingsChargePolicyKernel.js +29 -0
  434. package/dist/esm/azure/financialSavingsCoordinateValidation.js +98 -19
  435. package/dist/esm/azure/financialSavingsPercentageKernel.js +44 -0
  436. package/dist/esm/azure/financialSavingsSurfaceProjection.js +2 -0
  437. package/dist/esm/azure/financialSavingsSurfaceProjectionKernel.js +427 -0
  438. package/dist/esm/azure/financialSavingsSurfaceProjectionValidation.js +199 -13
  439. package/dist/esm/azure/financialScope.js +14 -0
  440. package/dist/esm/azure/financialScopeBaseline.js +12 -0
  441. package/dist/esm/azure/financialScopeBaselineIdentity.js +24 -4
  442. package/dist/esm/azure/financialScopeBaselineValidation.js +21 -4
  443. package/dist/esm/azure/governance.js +1 -0
  444. package/dist/esm/azure/recommendationLifecycleOverlayValidation.js +75 -0
  445. package/dist/esm/azure/recommendations.js +2 -0
  446. package/dist/esm/azure/reportDailySpend.js +2 -0
  447. package/dist/esm/azure/reportDailySpendValidation.js +67 -0
  448. package/dist/esm/azure/reportEvidence.js +21 -0
  449. package/dist/esm/azure/reportEvidenceCatalogueValidation.js +103 -0
  450. package/dist/esm/azure/reportEvidenceValidation.js +413 -0
  451. package/dist/esm/azure/reportEvidenceValidationHelpers.js +106 -0
  452. package/dist/esm/azure/reportSavingsContributionValidation.js +30 -0
  453. package/dist/esm/azure/reportSpend.js +1 -0
  454. package/dist/esm/azure/reportSpendValidation.js +189 -0
  455. package/dist/esm/azure/reportSpendValidationHelpers.js +22 -0
  456. package/dist/esm/azure/subscriptions.js +33 -1
  457. package/dist/esm/azure/views.js +8 -1
  458. package/dist/esm/azure/vmPatchManagement.js +3 -0
  459. package/dist/esm/entries/commitments-planning.js +2 -2
  460. package/dist/esm/entries/environment.js +3 -0
  461. package/dist/esm/environment/canonicalization.js +34 -0
  462. package/dist/esm/environment/contracts.js +69 -0
  463. package/dist/esm/environment/index.js +5 -0
  464. package/dist/esm/environment/internal.js +97 -0
  465. package/dist/esm/environment/references.js +230 -0
  466. package/dist/esm/environment/tenant.js +190 -0
  467. package/dist/esm/environment/validation.js +635 -0
  468. package/dist/esm/identity/index.js +1 -0
  469. package/dist/esm/identity/microsoftSignInAdminConsent.js +1 -0
  470. package/dist/esm/index.js +13 -0
  471. package/dist/esm/index.vite.js +11 -0
  472. package/dist/esm/scheduler/bastionSchedule.js +1 -0
  473. package/dist/esm/scheduler/bastionScheduleProfile.js +206 -0
  474. package/dist/esm/scheduler/bastionScheduleValidation.js +401 -0
  475. package/dist/esm/scheduler/index.js +3 -0
  476. package/dist/events/alertDefinitionRun.d.ts +4 -0
  477. package/dist/events/alertDefinitionRun.d.ts.map +1 -1
  478. package/dist/events/baseAlert.d.ts +1 -0
  479. package/dist/events/baseAlert.d.ts.map +1 -1
  480. package/dist/events/cost.d.ts +4 -0
  481. package/dist/events/cost.d.ts.map +1 -1
  482. package/dist/events/quickAlerts.d.ts +13 -4
  483. package/dist/events/quickAlerts.d.ts.map +1 -1
  484. package/dist/events/quickAlerts.js.map +1 -1
  485. package/dist/features-and-permissions/access.d.ts +79 -0
  486. package/dist/features-and-permissions/access.d.ts.map +1 -1
  487. package/dist/identity/index.d.ts +1 -0
  488. package/dist/identity/index.d.ts.map +1 -1
  489. package/dist/identity/index.js +1 -0
  490. package/dist/identity/index.js.map +1 -1
  491. package/dist/identity/microsoftSignInAdminConsent.d.ts +59 -0
  492. package/dist/identity/microsoftSignInAdminConsent.d.ts.map +1 -0
  493. package/dist/identity/microsoftSignInAdminConsent.js +3 -0
  494. package/dist/identity/microsoftSignInAdminConsent.js.map +1 -0
  495. package/dist/index.d.ts +13 -0
  496. package/dist/index.d.ts.map +1 -1
  497. package/dist/index.js +19 -0
  498. package/dist/index.js.map +1 -1
  499. package/dist/index.vite.d.ts +11 -0
  500. package/dist/index.vite.d.ts.map +1 -1
  501. package/dist/index.vite.js +15 -0
  502. package/dist/index.vite.js.map +1 -1
  503. package/dist/portfolio/portfolioOperations.d.ts +1 -1
  504. package/dist/portfolio/portfolioOperations.d.ts.map +1 -1
  505. package/dist/scheduler/bastionSchedule.d.ts +113 -0
  506. package/dist/scheduler/bastionSchedule.d.ts.map +1 -0
  507. package/dist/scheduler/bastionSchedule.js +3 -0
  508. package/dist/scheduler/bastionSchedule.js.map +1 -0
  509. package/dist/scheduler/bastionScheduleProfile.d.ts +24 -0
  510. package/dist/scheduler/bastionScheduleProfile.d.ts.map +1 -0
  511. package/dist/scheduler/bastionScheduleProfile.js +210 -0
  512. package/dist/scheduler/bastionScheduleProfile.js.map +1 -0
  513. package/dist/scheduler/bastionScheduleValidation.d.ts +10 -0
  514. package/dist/scheduler/bastionScheduleValidation.d.ts.map +1 -0
  515. package/dist/scheduler/bastionScheduleValidation.js +412 -0
  516. package/dist/scheduler/bastionScheduleValidation.js.map +1 -0
  517. package/dist/scheduler/index.d.ts +3 -0
  518. package/dist/scheduler/index.d.ts.map +1 -1
  519. package/dist/scheduler/index.js +3 -0
  520. package/dist/scheduler/index.js.map +1 -1
  521. package/dist/scheduler/scheduler.d.ts +14 -10
  522. package/dist/scheduler/scheduler.d.ts.map +1 -1
  523. package/package.json +20 -3
@@ -0,0 +1,113 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.hasSafeContainerShape = exports.utf8ByteLength = exports.isCanonicalUtcTimestamp = exports.isNonNegativeInteger = exports.isSourceIdentity = exports.isScopeIdentifier = exports.isSafeLabel = exports.isCustomerString = exports.isBoundedString = exports.hasExactKeys = exports.isRecord = exports.hasControlCharacter = exports.PROTOTYPE_KEYS = exports.CURRENCY_PATTERN = exports.DECIMAL_PATTERN = exports.ENVIRONMENT_RUN_ID_PATTERN = exports.SHA256_PATTERN = void 0;
4
+ const contracts_js_1 = require("./contracts.js");
5
+ exports.SHA256_PATTERN = /^[a-f0-9]{64}$/u;
6
+ exports.ENVIRONMENT_RUN_ID_PATTERN = /^[A-Za-z0-9._-]+$/u;
7
+ exports.DECIMAL_PATTERN = /^(?:0|[1-9]\d*)(?:\.\d+)?$/u;
8
+ exports.CURRENCY_PATTERN = /^[A-Z]{3}$/u;
9
+ exports.PROTOTYPE_KEYS = new Set(['__proto__', 'prototype', 'constructor']);
10
+ const hasControlCharacter = (value) => {
11
+ for (const character of value) {
12
+ const codePoint = character.codePointAt(0);
13
+ if (codePoint <= 0x1f || (codePoint >= 0x7f && codePoint <= 0x9f))
14
+ return true;
15
+ }
16
+ return false;
17
+ };
18
+ exports.hasControlCharacter = hasControlCharacter;
19
+ const isRecord = (value) => {
20
+ if (typeof value !== 'object' || value === null || Array.isArray(value))
21
+ return false;
22
+ const prototype = Object.getPrototypeOf(value);
23
+ return prototype === Object.prototype || prototype === null;
24
+ };
25
+ exports.isRecord = isRecord;
26
+ const hasExactKeys = (value, required, optional = []) => {
27
+ const allowed = new Set([...required, ...optional]);
28
+ const keys = Object.keys(value);
29
+ return required.every(key => Object.prototype.hasOwnProperty.call(value, key)) && keys.every(key => allowed.has(key) && !exports.PROTOTYPE_KEYS.has(key));
30
+ };
31
+ exports.hasExactKeys = hasExactKeys;
32
+ const scalarLength = (value) => {
33
+ let count = 0;
34
+ for (let index = 0; index < value.length; index += 1) {
35
+ const codeUnit = value.charCodeAt(index);
36
+ if (codeUnit >= 0xd800 && codeUnit <= 0xdbff) {
37
+ const trailing = value.charCodeAt(index + 1);
38
+ if (!(trailing >= 0xdc00 && trailing <= 0xdfff))
39
+ return null;
40
+ index += 1;
41
+ }
42
+ else if (codeUnit >= 0xdc00 && codeUnit <= 0xdfff) {
43
+ return null;
44
+ }
45
+ count += 1;
46
+ }
47
+ return count;
48
+ };
49
+ const isBoundedString = (value, maximumScalars, options = {}) => {
50
+ if (typeof value !== 'string')
51
+ return false;
52
+ if (options.trimmed && (value.length === 0 || value.trim() !== value))
53
+ return false;
54
+ if (options.controls && (0, exports.hasControlCharacter)(value))
55
+ return false;
56
+ const length = scalarLength(value);
57
+ return length !== null && length <= maximumScalars;
58
+ };
59
+ exports.isBoundedString = isBoundedString;
60
+ const isCustomerString = (value) => (0, exports.isBoundedString)(value, contracts_js_1.ENVIRONMENT_CONTRACT_LIMITS_V1.customerStringScalars, { controls: true });
61
+ exports.isCustomerString = isCustomerString;
62
+ const isSafeLabel = (value) => (0, exports.isBoundedString)(value, contracts_js_1.ENVIRONMENT_CONTRACT_LIMITS_V1.safeLabelScalars, { trimmed: true, controls: true });
63
+ exports.isSafeLabel = isSafeLabel;
64
+ const isScopeIdentifier = (value) => (0, exports.isBoundedString)(value, contracts_js_1.ENVIRONMENT_CONTRACT_LIMITS_V1.scopeIdentifierScalars, { trimmed: true, controls: true });
65
+ exports.isScopeIdentifier = isScopeIdentifier;
66
+ const isSourceIdentity = (value) => (0, exports.isBoundedString)(value, contracts_js_1.ENVIRONMENT_CONTRACT_LIMITS_V1.sourceIdentityScalars, { trimmed: true, controls: true });
67
+ exports.isSourceIdentity = isSourceIdentity;
68
+ const isNonNegativeInteger = (value) => Number.isSafeInteger(value) && value >= 0;
69
+ exports.isNonNegativeInteger = isNonNegativeInteger;
70
+ const isCanonicalUtcTimestamp = (value) => {
71
+ if (typeof value !== 'string' || !/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$/u.test(value))
72
+ return false;
73
+ const milliseconds = Date.parse(value);
74
+ return Number.isFinite(milliseconds) && new Date(milliseconds).toISOString() === value;
75
+ };
76
+ exports.isCanonicalUtcTimestamp = isCanonicalUtcTimestamp;
77
+ const utf8ByteLength = (value) => {
78
+ let bytes = 0;
79
+ for (const character of value) {
80
+ const codePoint = character.codePointAt(0);
81
+ if (codePoint <= 0x7f)
82
+ bytes += 1;
83
+ else if (codePoint <= 0x7ff)
84
+ bytes += 2;
85
+ else if (codePoint <= 0xffff)
86
+ bytes += 3;
87
+ else
88
+ bytes += 4;
89
+ }
90
+ return bytes;
91
+ };
92
+ exports.utf8ByteLength = utf8ByteLength;
93
+ const hasSafeContainerShape = (value, depth = 0, seen = new Set()) => {
94
+ if (depth > contracts_js_1.ENVIRONMENT_CONTRACT_LIMITS_V1.validatedContainerDepth)
95
+ return false;
96
+ if (typeof value !== 'object' || value === null)
97
+ return true;
98
+ if (seen.has(value))
99
+ return false;
100
+ seen.add(value);
101
+ if (Array.isArray(value)) {
102
+ const valid = value.length <= contracts_js_1.ENVIRONMENT_CONTRACT_LIMITS_V1.boundedListItems && value.every(item => (0, exports.hasSafeContainerShape)(item, depth + 1, seen));
103
+ seen.delete(value);
104
+ return valid;
105
+ }
106
+ if (!(0, exports.isRecord)(value))
107
+ return false;
108
+ const valid = Object.keys(value).every(key => !exports.PROTOTYPE_KEYS.has(key) && (0, exports.hasSafeContainerShape)(value[key], depth + 1, seen));
109
+ seen.delete(value);
110
+ return valid;
111
+ };
112
+ exports.hasSafeContainerShape = hasSafeContainerShape;
113
+ //# sourceMappingURL=internal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../src/environment/internal.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import { type EnvironmentArtifactKindV1, type EnvironmentLogicalArtifactReferenceV1, type EnvironmentLogicalEvidenceReferenceV1, type EnvironmentLogicalResourceReferenceV1, type ParsedEnvironmentLogicalArtifactReferenceV1, type ParsedEnvironmentLogicalEvidenceReferenceV1, type ParsedEnvironmentLogicalResourceReferenceV1 } from './contracts.js';
2
+ /** Builds an opaque logical artifact reference. The decoded subject is never a storage path. */
3
+ export declare const buildEnvironmentLogicalArtifactReferenceV1: (artifactKind: EnvironmentArtifactKindV1, canonicalScopeQualifiedSubject: string) => EnvironmentLogicalArtifactReferenceV1;
4
+ /** Parses a V1 logical artifact reference into its allowlisted kind and opaque subject. */
5
+ export declare const parseEnvironmentLogicalArtifactReferenceV1: (value: unknown) => ParsedEnvironmentLogicalArtifactReferenceV1 | null;
6
+ /** Builds an opaque logical Azure resource reference from a canonical resource ID. */
7
+ export declare const buildEnvironmentLogicalResourceReferenceV1: (canonicalAzureResourceId: string) => EnvironmentLogicalResourceReferenceV1;
8
+ /** Parses a V1 logical resource reference into a canonical Azure resource ID. */
9
+ export declare const parseEnvironmentLogicalResourceReferenceV1: (value: unknown) => ParsedEnvironmentLogicalResourceReferenceV1 | null;
10
+ /**
11
+ * Derives the canonical Azure resource type from a canonical ARM resource ID.
12
+ * Resource names are consumed structurally, so a resource named `providers`
13
+ * cannot be mistaken for an extension-resource provider boundary.
14
+ */
15
+ export declare const deriveEnvironmentAzureResourceTypeV1: (canonicalAzureResourceId: string) => string | null;
16
+ /** Parses either closed V1 logical evidence-reference kind. */
17
+ export declare const parseEnvironmentLogicalEvidenceReferenceV1: (value: unknown) => ParsedEnvironmentLogicalEvidenceReferenceV1 | null;
18
+ /** Returns true when a value is a canonical V1 logical artifact reference. */
19
+ export declare const isEnvironmentLogicalArtifactReferenceV1: (value: unknown) => value is EnvironmentLogicalArtifactReferenceV1;
20
+ /** Returns true when a value is a canonical V1 logical resource reference. */
21
+ export declare const isEnvironmentLogicalResourceReferenceV1: (value: unknown) => value is EnvironmentLogicalResourceReferenceV1;
22
+ /** Returns true when a value is one of the closed V1 logical evidence-reference kinds. */
23
+ export declare const isEnvironmentLogicalEvidenceReferenceV1: (value: unknown) => value is EnvironmentLogicalEvidenceReferenceV1;
24
+ //# sourceMappingURL=references.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"references.d.ts","sourceRoot":"","sources":["../../src/environment/references.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,yBAAyB,EAC9B,KAAK,qCAAqC,EAC1C,KAAK,qCAAqC,EAC1C,KAAK,qCAAqC,EAC1C,KAAK,2CAA2C,EAChD,KAAK,2CAA2C,EAChD,KAAK,2CAA2C,EACjD,MAAM,gBAAgB,CAAC;AA0IxB,gGAAgG;AAChG,eAAO,MAAM,0CAA0C,GACrD,cAAc,yBAAyB,EACvC,gCAAgC,MAAM,KACrC,qCAOF,CAAC;AAEF,2FAA2F;AAC3F,eAAO,MAAM,0CAA0C,GAAI,OAAO,OAAO,KAAG,2CAA2C,GAAG,IAYzH,CAAC;AAEF,sFAAsF;AACtF,eAAO,MAAM,0CAA0C,GAAI,0BAA0B,MAAM,KAAG,qCAI7F,CAAC;AAEF,iFAAiF;AACjF,eAAO,MAAM,0CAA0C,GAAI,OAAO,OAAO,KAAG,2CAA2C,GAAG,IAKzH,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,oCAAoC,GAAI,0BAA0B,MAAM,KAAG,MAAM,GAAG,IAgChG,CAAC;AAEF,+DAA+D;AAC/D,eAAO,MAAM,0CAA0C,GAAI,OAAO,OAAO,KAAG,2CAA2C,GAAG,IAClB,CAAC;AAEzG,8EAA8E;AAC9E,eAAO,MAAM,uCAAuC,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,qCACtB,CAAC;AAE7D,8EAA8E;AAC9E,eAAO,MAAM,uCAAuC,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,qCACtB,CAAC;AAE7D,0FAA0F;AAC1F,eAAO,MAAM,uCAAuC,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,qCACtB,CAAC"}
@@ -0,0 +1,243 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isEnvironmentLogicalEvidenceReferenceV1 = exports.isEnvironmentLogicalResourceReferenceV1 = exports.isEnvironmentLogicalArtifactReferenceV1 = exports.parseEnvironmentLogicalEvidenceReferenceV1 = exports.deriveEnvironmentAzureResourceTypeV1 = exports.parseEnvironmentLogicalResourceReferenceV1 = exports.buildEnvironmentLogicalResourceReferenceV1 = exports.parseEnvironmentLogicalArtifactReferenceV1 = exports.buildEnvironmentLogicalArtifactReferenceV1 = void 0;
4
+ const contracts_js_1 = require("./contracts.js");
5
+ const internal_js_1 = require("./internal.js");
6
+ const BASE64URL_ALPHABET = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_';
7
+ const ARTIFACT_PREFIX = 'spotto://artifact/v1/';
8
+ const RESOURCE_PREFIX = 'spotto://resource/v1/';
9
+ const ARTIFACT_KINDS = new Set(contracts_js_1.ENVIRONMENT_ARTIFACT_KINDS_V1);
10
+ const isCanonicalScopeQualifiedSubject = (value) => {
11
+ try {
12
+ const parsed = JSON.parse(value);
13
+ return (Array.isArray(parsed) &&
14
+ ((parsed.length === 4 && parsed[0] === 'azure-subscription') || (parsed.length === 2 && parsed[0] === 'azure-tenant')) &&
15
+ parsed
16
+ .slice(1)
17
+ .every(item => (0, internal_js_1.isBoundedString)(item, contracts_js_1.ENVIRONMENT_CONTRACT_LIMITS_V1.scopeIdentifierScalars, { trimmed: true, controls: true })) &&
18
+ JSON.stringify(parsed) === value);
19
+ }
20
+ catch {
21
+ return false;
22
+ }
23
+ };
24
+ const encodeUtf8 = (value) => {
25
+ const bytes = [];
26
+ for (const character of value) {
27
+ const codePoint = character.codePointAt(0);
28
+ if (codePoint <= 0x7f)
29
+ bytes.push(codePoint);
30
+ else if (codePoint <= 0x7ff)
31
+ bytes.push(0xc0 | (codePoint >> 6), 0x80 | (codePoint & 0x3f));
32
+ else if (codePoint <= 0xffff)
33
+ bytes.push(0xe0 | (codePoint >> 12), 0x80 | ((codePoint >> 6) & 0x3f), 0x80 | (codePoint & 0x3f));
34
+ else
35
+ bytes.push(0xf0 | (codePoint >> 18), 0x80 | ((codePoint >> 12) & 0x3f), 0x80 | ((codePoint >> 6) & 0x3f), 0x80 | (codePoint & 0x3f));
36
+ }
37
+ return bytes;
38
+ };
39
+ const encodeBase64Url = (bytes) => {
40
+ let output = '';
41
+ for (let index = 0; index < bytes.length; index += 3) {
42
+ const first = bytes[index];
43
+ const second = bytes[index + 1];
44
+ const third = bytes[index + 2];
45
+ output += BASE64URL_ALPHABET[first >> 2];
46
+ output += BASE64URL_ALPHABET[((first & 0x03) << 4) | ((second ?? 0) >> 4)];
47
+ if (second !== undefined)
48
+ output += BASE64URL_ALPHABET[((second & 0x0f) << 2) | ((third ?? 0) >> 6)];
49
+ if (third !== undefined)
50
+ output += BASE64URL_ALPHABET[third & 0x3f];
51
+ }
52
+ return output;
53
+ };
54
+ const decodeBase64Url = (value) => {
55
+ if (!/^[A-Za-z0-9_-]+$/u.test(value) || value.length % 4 === 1)
56
+ return null;
57
+ const bytes = [];
58
+ for (let index = 0; index < value.length; index += 4) {
59
+ const first = BASE64URL_ALPHABET.indexOf(value[index]);
60
+ const second = BASE64URL_ALPHABET.indexOf(value[index + 1]);
61
+ const thirdCharacter = value[index + 2];
62
+ const fourthCharacter = value[index + 3];
63
+ const third = thirdCharacter === undefined ? 0 : BASE64URL_ALPHABET.indexOf(thirdCharacter);
64
+ const fourth = fourthCharacter === undefined ? 0 : BASE64URL_ALPHABET.indexOf(fourthCharacter);
65
+ if (first < 0 || second < 0 || third < 0 || fourth < 0)
66
+ return null;
67
+ bytes.push((first << 2) | (second >> 4));
68
+ if (thirdCharacter !== undefined)
69
+ bytes.push(((second & 0x0f) << 4) | (third >> 2));
70
+ if (fourthCharacter !== undefined)
71
+ bytes.push(((third & 0x03) << 6) | fourth);
72
+ }
73
+ return encodeBase64Url(bytes) === value ? bytes : null;
74
+ };
75
+ const decodeUtf8 = (bytes) => {
76
+ let output = '';
77
+ for (let index = 0; index < bytes.length;) {
78
+ const first = bytes[index];
79
+ let codePoint;
80
+ let continuationCount;
81
+ if (first <= 0x7f) {
82
+ codePoint = first;
83
+ continuationCount = 0;
84
+ }
85
+ else if (first >= 0xc2 && first <= 0xdf) {
86
+ codePoint = first & 0x1f;
87
+ continuationCount = 1;
88
+ }
89
+ else if (first >= 0xe0 && first <= 0xef) {
90
+ codePoint = first & 0x0f;
91
+ continuationCount = 2;
92
+ }
93
+ else if (first >= 0xf0 && first <= 0xf4) {
94
+ codePoint = first & 0x07;
95
+ continuationCount = 3;
96
+ }
97
+ else
98
+ return null;
99
+ if (index + continuationCount >= bytes.length)
100
+ return null;
101
+ for (let offset = 1; offset <= continuationCount; offset += 1) {
102
+ const next = bytes[index + offset];
103
+ if ((next & 0xc0) !== 0x80)
104
+ return null;
105
+ codePoint = (codePoint << 6) | (next & 0x3f);
106
+ }
107
+ if ((continuationCount === 2 && codePoint < 0x800) ||
108
+ (continuationCount === 3 && codePoint < 0x10000) ||
109
+ (codePoint >= 0xd800 && codePoint <= 0xdfff) ||
110
+ codePoint > 0x10ffff) {
111
+ return null;
112
+ }
113
+ output += String.fromCodePoint(codePoint);
114
+ index += continuationCount + 1;
115
+ }
116
+ return output;
117
+ };
118
+ const decodePayload = (value) => {
119
+ const bytes = decodeBase64Url(value);
120
+ if (bytes === null || bytes.length > contracts_js_1.ENVIRONMENT_CONTRACT_LIMITS_V1.logicalReferencePayloadBytes)
121
+ return null;
122
+ const decoded = decodeUtf8(bytes);
123
+ if (decoded === null || encodeBase64Url(encodeUtf8(decoded)) !== value)
124
+ return null;
125
+ return decoded;
126
+ };
127
+ const assertReferencePayload = (value, label, maximumScalars) => {
128
+ if (!(0, internal_js_1.isBoundedString)(value, maximumScalars, { trimmed: true, controls: true })) {
129
+ throw new TypeError(`${label} must be a non-empty, trimmed, bounded Unicode string without control characters.`);
130
+ }
131
+ if ((0, internal_js_1.utf8ByteLength)(value) > contracts_js_1.ENVIRONMENT_CONTRACT_LIMITS_V1.logicalReferencePayloadBytes) {
132
+ throw new RangeError(`${label} exceeds the V1 logical-reference payload limit.`);
133
+ }
134
+ };
135
+ const isCanonicalAzureResourceId = (value) => {
136
+ if (!/^\/subscriptions\/[^/]+\/(?:resourceGroups\/[^/]+\/)?providers\/[^/]+\/[^/]+\/[^/]+(?:\/[^/]+\/[^/]+)*$/iu.test(value) ||
137
+ value.includes('\\') ||
138
+ value.includes('?') ||
139
+ value.includes('#') ||
140
+ value.includes('%') ||
141
+ (0, internal_js_1.hasControlCharacter)(value)) {
142
+ return false;
143
+ }
144
+ return value.split('/').every(segment => segment !== '.' && segment !== '..');
145
+ };
146
+ /** Builds an opaque logical artifact reference. The decoded subject is never a storage path. */
147
+ const buildEnvironmentLogicalArtifactReferenceV1 = (artifactKind, canonicalScopeQualifiedSubject) => {
148
+ if (!ARTIFACT_KINDS.has(artifactKind))
149
+ throw new TypeError('Unsupported V1 environment artifact kind.');
150
+ assertReferencePayload(canonicalScopeQualifiedSubject, 'Artifact subject', contracts_js_1.ENVIRONMENT_CONTRACT_LIMITS_V1.customerStringScalars);
151
+ if (!isCanonicalScopeQualifiedSubject(canonicalScopeQualifiedSubject)) {
152
+ throw new TypeError('Artifact subject is not a canonical V1 scope-qualified subject.');
153
+ }
154
+ return `${ARTIFACT_PREFIX}${artifactKind}/${encodeBase64Url(encodeUtf8(canonicalScopeQualifiedSubject))}`;
155
+ };
156
+ exports.buildEnvironmentLogicalArtifactReferenceV1 = buildEnvironmentLogicalArtifactReferenceV1;
157
+ /** Parses a V1 logical artifact reference into its allowlisted kind and opaque subject. */
158
+ const parseEnvironmentLogicalArtifactReferenceV1 = (value) => {
159
+ if (typeof value !== 'string' || !value.startsWith(ARTIFACT_PREFIX))
160
+ return null;
161
+ const remainder = value.slice(ARTIFACT_PREFIX.length);
162
+ const separator = remainder.indexOf('/');
163
+ if (separator <= 0 || remainder.indexOf('/', separator + 1) >= 0)
164
+ return null;
165
+ const artifactKind = remainder.slice(0, separator);
166
+ if (!ARTIFACT_KINDS.has(artifactKind))
167
+ return null;
168
+ const subject = decodePayload(remainder.slice(separator + 1));
169
+ if (subject === null || !isCanonicalScopeQualifiedSubject(subject)) {
170
+ return null;
171
+ }
172
+ return { kind: 'artifact', artifactKind: artifactKind, subject };
173
+ };
174
+ exports.parseEnvironmentLogicalArtifactReferenceV1 = parseEnvironmentLogicalArtifactReferenceV1;
175
+ /** Builds an opaque logical Azure resource reference from a canonical resource ID. */
176
+ const buildEnvironmentLogicalResourceReferenceV1 = (canonicalAzureResourceId) => {
177
+ assertReferencePayload(canonicalAzureResourceId, 'Azure resource ID', contracts_js_1.ENVIRONMENT_CONTRACT_LIMITS_V1.scopeIdentifierScalars);
178
+ if (!isCanonicalAzureResourceId(canonicalAzureResourceId))
179
+ throw new TypeError('Azure resource ID is not canonical or safe.');
180
+ return `${RESOURCE_PREFIX}${encodeBase64Url(encodeUtf8(canonicalAzureResourceId))}`;
181
+ };
182
+ exports.buildEnvironmentLogicalResourceReferenceV1 = buildEnvironmentLogicalResourceReferenceV1;
183
+ /** Parses a V1 logical resource reference into a canonical Azure resource ID. */
184
+ const parseEnvironmentLogicalResourceReferenceV1 = (value) => {
185
+ if (typeof value !== 'string' || !value.startsWith(RESOURCE_PREFIX))
186
+ return null;
187
+ const resourceId = decodePayload(value.slice(RESOURCE_PREFIX.length));
188
+ if (resourceId === null || !isCanonicalAzureResourceId(resourceId))
189
+ return null;
190
+ return { kind: 'resource', resourceId };
191
+ };
192
+ exports.parseEnvironmentLogicalResourceReferenceV1 = parseEnvironmentLogicalResourceReferenceV1;
193
+ /**
194
+ * Derives the canonical Azure resource type from a canonical ARM resource ID.
195
+ * Resource names are consumed structurally, so a resource named `providers`
196
+ * cannot be mistaken for an extension-resource provider boundary.
197
+ */
198
+ const deriveEnvironmentAzureResourceTypeV1 = (canonicalAzureResourceId) => {
199
+ if (!isCanonicalAzureResourceId(canonicalAzureResourceId))
200
+ return null;
201
+ const segments = canonicalAzureResourceId.toLowerCase().split('/').filter(Boolean);
202
+ const firstProviderIndex = segments.indexOf('providers');
203
+ if (firstProviderIndex < 0)
204
+ return null;
205
+ let providerIndex = firstProviderIndex;
206
+ let namespace = segments[providerIndex + 1];
207
+ let typeSegments = [];
208
+ let index = providerIndex + 2;
209
+ while (namespace && index < segments.length) {
210
+ const typeOrProviderMarker = segments[index];
211
+ if (!typeOrProviderMarker)
212
+ return null;
213
+ if (typeOrProviderMarker === 'providers') {
214
+ providerIndex = index;
215
+ namespace = segments[providerIndex + 1];
216
+ typeSegments = [];
217
+ index = providerIndex + 2;
218
+ continue;
219
+ }
220
+ typeSegments.push(typeOrProviderMarker);
221
+ if (segments[index + 1] === undefined)
222
+ return null;
223
+ index += 2;
224
+ }
225
+ if (!namespace || typeSegments.length === 0)
226
+ return null;
227
+ const resourceType = `${namespace}/${typeSegments.join('/')}`;
228
+ return [...resourceType].length <= contracts_js_1.ENVIRONMENT_CONTRACT_LIMITS_V1.safeLabelScalars ? resourceType : null;
229
+ };
230
+ exports.deriveEnvironmentAzureResourceTypeV1 = deriveEnvironmentAzureResourceTypeV1;
231
+ /** Parses either closed V1 logical evidence-reference kind. */
232
+ const parseEnvironmentLogicalEvidenceReferenceV1 = (value) => (0, exports.parseEnvironmentLogicalArtifactReferenceV1)(value) ?? (0, exports.parseEnvironmentLogicalResourceReferenceV1)(value);
233
+ exports.parseEnvironmentLogicalEvidenceReferenceV1 = parseEnvironmentLogicalEvidenceReferenceV1;
234
+ /** Returns true when a value is a canonical V1 logical artifact reference. */
235
+ const isEnvironmentLogicalArtifactReferenceV1 = (value) => (0, exports.parseEnvironmentLogicalArtifactReferenceV1)(value) !== null;
236
+ exports.isEnvironmentLogicalArtifactReferenceV1 = isEnvironmentLogicalArtifactReferenceV1;
237
+ /** Returns true when a value is a canonical V1 logical resource reference. */
238
+ const isEnvironmentLogicalResourceReferenceV1 = (value) => (0, exports.parseEnvironmentLogicalResourceReferenceV1)(value) !== null;
239
+ exports.isEnvironmentLogicalResourceReferenceV1 = isEnvironmentLogicalResourceReferenceV1;
240
+ /** Returns true when a value is one of the closed V1 logical evidence-reference kinds. */
241
+ const isEnvironmentLogicalEvidenceReferenceV1 = (value) => (0, exports.parseEnvironmentLogicalEvidenceReferenceV1)(value) !== null;
242
+ exports.isEnvironmentLogicalEvidenceReferenceV1 = isEnvironmentLogicalEvidenceReferenceV1;
243
+ //# sourceMappingURL=references.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"references.js","sourceRoot":"","sources":["../../src/environment/references.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,128 @@
1
+ import type { EnvironmentBoundedListV1, EnvironmentCoverageStateV1, EnvironmentLogicalEvidenceReferenceV1, EnvironmentProjectionWarningV1, EnvironmentSeverityV1 } from './contracts.js';
2
+ export declare const ENVIRONMENT_TENANT_DOCUMENT_NAMES_V1: readonly ["projection.json", "environment-index.md", "identity.md", "governance.md", "commitments.md"];
3
+ export type EnvironmentTenantDocumentNameV1 = (typeof ENVIRONMENT_TENANT_DOCUMENT_NAMES_V1)[number];
4
+ export type EnvironmentTenantMarkdownDocumentNameV1 = Exclude<EnvironmentTenantDocumentNameV1, 'projection.json'>;
5
+ export interface EnvironmentTenantScopeV1 {
6
+ kind: 'azure-tenant';
7
+ tenantId: string;
8
+ }
9
+ export interface EnvironmentTenantSourceBindingV1 {
10
+ kind: 'azure-tenant-sync';
11
+ scope: EnvironmentTenantScopeV1;
12
+ tenantSyncRunId: string;
13
+ completedAt: string;
14
+ }
15
+ export interface EnvironmentTenantSourceCoverageV1 {
16
+ tenantSync: EnvironmentCoverageStateV1;
17
+ governance: EnvironmentCoverageStateV1;
18
+ identity: EnvironmentCoverageStateV1;
19
+ commitments: EnvironmentCoverageStateV1;
20
+ }
21
+ export interface EnvironmentTenantIdentitySummaryV1 {
22
+ applicationCount: number;
23
+ servicePrincipalCount: number;
24
+ globalAdministratorCount: number;
25
+ permanentGlobalAdministratorCount: number;
26
+ eligibleGlobalAdministratorCount: number;
27
+ mfaKnownGlobalAdministratorCount: number;
28
+ }
29
+ export interface EnvironmentTenantGovernanceSummaryV1 {
30
+ managementGroupCount: number;
31
+ subscriptionCount: number;
32
+ policyAssignmentCount: number;
33
+ policyExemptionCount: number;
34
+ roleAssignmentCount: number;
35
+ privilegedAssignmentCount: number;
36
+ customRoleCount: number;
37
+ findingCount: number;
38
+ }
39
+ export interface EnvironmentTenantCommitmentSummaryV1 {
40
+ reservationCount: number;
41
+ savingsPlanCount: number;
42
+ expiringWithin90DaysCount: number;
43
+ }
44
+ export interface EnvironmentTenantGlobalAdministratorV1 {
45
+ principalId: string;
46
+ safeLabel: string;
47
+ principalType: 'user' | 'group' | 'servicePrincipal' | 'unknown';
48
+ assignmentModes: Array<'permanent' | 'eligible' | 'active' | 'unknown'>;
49
+ mfaStatus: 'mfa' | 'unknown';
50
+ sourceReferences: EnvironmentLogicalEvidenceReferenceV1[];
51
+ }
52
+ export interface EnvironmentTenantGovernanceFindingV1 {
53
+ findingId: string;
54
+ safeLabel: string;
55
+ severity: EnvironmentSeverityV1;
56
+ category?: string;
57
+ scopeType?: string;
58
+ sourceReferences: EnvironmentLogicalEvidenceReferenceV1[];
59
+ }
60
+ export interface EnvironmentTenantCommitmentV1 {
61
+ commitmentId: string;
62
+ kind: 'reservation' | 'savings-plan';
63
+ safeLabel: string;
64
+ status?: string;
65
+ expiry?: string;
66
+ quantity?: number;
67
+ sourceReferences: EnvironmentLogicalEvidenceReferenceV1[];
68
+ }
69
+ export interface EnvironmentTenantProjectionV1 {
70
+ schemaVersion: 1;
71
+ scope: EnvironmentTenantScopeV1;
72
+ sourceBinding: EnvironmentTenantSourceBindingV1;
73
+ generatedAt: string;
74
+ tenant: {
75
+ safeLabel: string;
76
+ };
77
+ sourceCoverage: EnvironmentTenantSourceCoverageV1;
78
+ identitySummary: EnvironmentTenantIdentitySummaryV1;
79
+ governanceSummary: EnvironmentTenantGovernanceSummaryV1;
80
+ commitmentSummary: EnvironmentTenantCommitmentSummaryV1;
81
+ globalAdministrators: EnvironmentBoundedListV1<EnvironmentTenantGlobalAdministratorV1>;
82
+ governanceFindings: EnvironmentBoundedListV1<EnvironmentTenantGovernanceFindingV1>;
83
+ commitments: EnvironmentBoundedListV1<EnvironmentTenantCommitmentV1>;
84
+ warnings: EnvironmentBoundedListV1<EnvironmentProjectionWarningV1>;
85
+ sourceReferences: EnvironmentLogicalEvidenceReferenceV1[];
86
+ }
87
+ export type EnvironmentTenantDocumentDescriptorV1 = {
88
+ name: 'projection.json';
89
+ mediaType: 'application/json';
90
+ byteCount: number;
91
+ contentSha256: string;
92
+ approximateTokenCount: number;
93
+ } | {
94
+ name: EnvironmentTenantMarkdownDocumentNameV1;
95
+ mediaType: 'text/markdown; charset=utf-8';
96
+ byteCount: number;
97
+ contentSha256: string;
98
+ approximateTokenCount: number;
99
+ };
100
+ export interface EnvironmentTenantCompiledGenerationPointerV1 {
101
+ schemaVersion: 1;
102
+ status: 'completed';
103
+ environmentRunId: string;
104
+ scope: EnvironmentTenantScopeV1;
105
+ sourceBinding: EnvironmentTenantSourceBindingV1;
106
+ treeDigestSha256: string;
107
+ fileCount: (typeof ENVIRONMENT_TENANT_DOCUMENT_NAMES_V1)['length'];
108
+ generatedAt: string;
109
+ }
110
+ /** Builds the canonical logical subject for a tenant environment artifact. */
111
+ export declare const buildEnvironmentTenantScopeQualifiedSubjectV1: (scope: EnvironmentTenantScopeV1) => string;
112
+ /** Validates a tenant environment scope. */
113
+ export declare const isEnvironmentTenantScopeV1: (value: unknown) => value is EnvironmentTenantScopeV1;
114
+ /** Validates the completed tenant-sync generation bound to a tenant environment generation. */
115
+ export declare const isEnvironmentTenantSourceBindingV1: (value: unknown) => value is EnvironmentTenantSourceBindingV1;
116
+ /** Validates the strict tenant environment projection. */
117
+ export declare const isEnvironmentTenantProjectionV1: (value: unknown) => value is EnvironmentTenantProjectionV1;
118
+ /** Validates one tenant environment document descriptor. */
119
+ export declare const isEnvironmentTenantDocumentDescriptorV1: (value: unknown) => value is EnvironmentTenantDocumentDescriptorV1;
120
+ /** Validates the exact five-file tenant environment descriptor set. */
121
+ export declare const isEnvironmentTenantDocumentDescriptorSetV1: (value: unknown) => value is EnvironmentTenantDocumentDescriptorV1[];
122
+ /** Builds the canonical tenant tree-digest preimage. */
123
+ export declare const buildEnvironmentTenantTreeDigestPreimageV1: (descriptors: readonly EnvironmentTenantDocumentDescriptorV1[]) => string;
124
+ /** Validates the atomically visible tenant environment completion pointer. */
125
+ export declare const isEnvironmentTenantCompiledGenerationPointerV1: (value: unknown) => value is EnvironmentTenantCompiledGenerationPointerV1;
126
+ /** Narrow syntax guard used before tenant references are passed to the common parser. */
127
+ export declare const isEnvironmentTenantLogicalReferenceV1: (value: unknown) => value is EnvironmentLogicalEvidenceReferenceV1;
128
+ //# sourceMappingURL=tenant.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tenant.d.ts","sourceRoot":"","sources":["../../src/environment/tenant.ts"],"names":[],"mappings":"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"}