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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (453) hide show
  1. package/README.md +3 -0
  2. package/dist/accounts/accounts.d.ts +13 -0
  3. package/dist/accounts/accounts.d.ts.map +1 -1
  4. package/dist/accounts/azureSpSetup.d.ts +5 -0
  5. package/dist/accounts/azureSpSetup.d.ts.map +1 -1
  6. package/dist/accounts/azureSpSetup.js.map +1 -1
  7. package/dist/accounts/index.d.ts +1 -0
  8. package/dist/accounts/index.d.ts.map +1 -1
  9. package/dist/accounts/index.js +1 -0
  10. package/dist/accounts/index.js.map +1 -1
  11. package/dist/accounts/subscriptionWriteAccess.d.ts +76 -0
  12. package/dist/accounts/subscriptionWriteAccess.d.ts.map +1 -0
  13. package/dist/accounts/subscriptionWriteAccess.js +119 -0
  14. package/dist/accounts/subscriptionWriteAccess.js.map +1 -0
  15. package/dist/accounts/writePermissions.d.ts +17 -1
  16. package/dist/accounts/writePermissions.d.ts.map +1 -1
  17. package/dist/accounts/writePermissions.js +47 -1
  18. package/dist/accounts/writePermissions.js.map +1 -1
  19. package/dist/ai/followUps.d.ts +16 -0
  20. package/dist/ai/followUps.d.ts.map +1 -0
  21. package/dist/ai/followUps.js +21 -0
  22. package/dist/ai/followUps.js.map +1 -0
  23. package/dist/ai/grounding.d.ts +42 -5
  24. package/dist/ai/grounding.d.ts.map +1 -1
  25. package/dist/ai/grounding.js +76 -8
  26. package/dist/ai/grounding.js.map +1 -1
  27. package/dist/ai/index.d.ts +4 -0
  28. package/dist/ai/index.d.ts.map +1 -1
  29. package/dist/ai/index.js +1 -0
  30. package/dist/ai/index.js.map +1 -1
  31. package/dist/aws/commitments-planning.d.ts +1 -1
  32. package/dist/aws/commitments-planning.d.ts.map +1 -1
  33. package/dist/aws/commitments-planning.js +1 -0
  34. package/dist/aws/commitments-planning.js.map +1 -1
  35. package/dist/aws/commitmentsPlanningValidation.d.ts +1 -1
  36. package/dist/aws/commitmentsPlanningValidation.d.ts.map +1 -1
  37. package/dist/aws/commitmentsPlanningValidation.js +26 -25
  38. package/dist/aws/commitmentsPlanningValidation.js.map +1 -1
  39. package/dist/aws/commitmentsPlanningView.d.ts +49 -0
  40. package/dist/aws/commitmentsPlanningView.d.ts.map +1 -0
  41. package/dist/aws/{pluginPublicArtifactEvidence.js → commitmentsPlanningView.js} +1 -1
  42. package/dist/aws/commitmentsPlanningView.js.map +1 -0
  43. package/dist/aws/index.d.ts +2 -14
  44. package/dist/aws/index.d.ts.map +1 -1
  45. package/dist/aws/index.js +2 -13
  46. package/dist/aws/index.js.map +1 -1
  47. package/dist/aws/organizationCommitments.d.ts +2 -1
  48. package/dist/aws/organizationCommitments.d.ts.map +1 -1
  49. package/dist/aws/organizationCommitments.js +2 -2
  50. package/dist/aws/organizationCommitments.js.map +1 -1
  51. package/dist/aws/organizationCommitmentsApiValidation.d.ts.map +1 -1
  52. package/dist/aws/organizationCommitmentsApiValidation.js +64 -64
  53. package/dist/aws/organizationCommitmentsApiValidation.js.map +1 -1
  54. package/dist/aws/organizationCommitmentsValidation.d.ts.map +1 -1
  55. package/dist/aws/organizationCommitmentsValidation.js +45 -44
  56. package/dist/aws/organizationCommitmentsValidation.js.map +1 -1
  57. package/dist/aws/portalOrganizationCommitmentsPlanningPublicArtifactValidation.d.ts.map +1 -1
  58. package/dist/aws/portalOrganizationCommitmentsPlanningPublicArtifactValidation.js +79 -76
  59. package/dist/aws/portalOrganizationCommitmentsPlanningPublicArtifactValidation.js.map +1 -1
  60. package/dist/aws/portalOrganizationCommitmentsPlanningPublicArtifacts.d.ts +1 -2
  61. package/dist/aws/portalOrganizationCommitmentsPlanningPublicArtifacts.d.ts.map +1 -1
  62. package/dist/aws/portalOrganizationCommitmentsPlanningPublicArtifacts.js.map +1 -1
  63. package/dist/aws/publicArtifacts.d.ts +2 -37
  64. package/dist/aws/publicArtifacts.d.ts.map +1 -1
  65. package/dist/aws/publicArtifacts.js +3 -1
  66. package/dist/aws/publicArtifacts.js.map +1 -1
  67. package/dist/aws/relationships.d.ts +5 -3
  68. package/dist/aws/relationships.d.ts.map +1 -1
  69. package/dist/aws/relationships.js +18 -3
  70. package/dist/aws/relationships.js.map +1 -1
  71. package/dist/aws/requests.d.ts +35 -3
  72. package/dist/aws/requests.d.ts.map +1 -1
  73. package/dist/aws/requests.js +5 -3
  74. package/dist/aws/requests.js.map +1 -1
  75. package/dist/aws/resourceGraph.d.ts +14 -0
  76. package/dist/aws/resourceGraph.d.ts.map +1 -0
  77. package/dist/aws/resourceGraph.js +68 -0
  78. package/dist/aws/resourceGraph.js.map +1 -0
  79. package/dist/aws/validationHelpers.d.ts +8 -0
  80. package/dist/aws/validationHelpers.d.ts.map +1 -0
  81. package/dist/aws/validationHelpers.js +54 -0
  82. package/dist/aws/validationHelpers.js.map +1 -0
  83. package/dist/azure/commitmentsPlanning.d.ts +15 -46
  84. package/dist/azure/commitmentsPlanning.d.ts.map +1 -1
  85. package/dist/azure/commitmentsPlanning.js +9 -0
  86. package/dist/azure/commitmentsPlanning.js.map +1 -1
  87. package/dist/azure/commitmentsPlanningValidation.d.ts +18 -0
  88. package/dist/azure/commitmentsPlanningValidation.d.ts.map +1 -0
  89. package/dist/azure/commitmentsPlanningValidation.js +50 -0
  90. package/dist/azure/commitmentsPlanningValidation.js.map +1 -0
  91. package/dist/azure/dataProtection.d.ts +40 -0
  92. package/dist/azure/dataProtection.d.ts.map +1 -1
  93. package/dist/azure/governance.d.ts +5 -0
  94. package/dist/azure/governance.d.ts.map +1 -1
  95. package/dist/azure/metrics.d.ts +2 -27
  96. package/dist/azure/metrics.d.ts.map +1 -1
  97. package/dist/azure/payloads.d.ts +24 -0
  98. package/dist/azure/payloads.d.ts.map +1 -1
  99. package/dist/azure/payloads.js +87 -0
  100. package/dist/azure/payloads.js.map +1 -1
  101. package/dist/azure/recommendationTracks.d.ts +1 -1
  102. package/dist/azure/recommendationTracks.d.ts.map +1 -1
  103. package/dist/azure/reportEvidence.d.ts +192 -11
  104. package/dist/azure/reportEvidence.d.ts.map +1 -1
  105. package/dist/azure/reportEvidence.js +9 -1
  106. package/dist/azure/reportEvidence.js.map +1 -1
  107. package/dist/azure/reportEvidenceValidation.d.ts.map +1 -1
  108. package/dist/azure/reportEvidenceValidation.js +201 -5
  109. package/dist/azure/reportEvidenceValidation.js.map +1 -1
  110. package/dist/azure/reportEvidenceValidationHelpers.d.ts +3 -16
  111. package/dist/azure/reportEvidenceValidationHelpers.d.ts.map +1 -1
  112. package/dist/azure/reportEvidenceValidationHelpers.js +80 -92
  113. package/dist/azure/reportEvidenceValidationHelpers.js.map +1 -1
  114. package/dist/azure/resilienceFacts.d.ts +100 -0
  115. package/dist/azure/resilienceFacts.d.ts.map +1 -0
  116. package/dist/azure/resilienceFacts.js +20 -0
  117. package/dist/azure/resilienceFacts.js.map +1 -0
  118. package/dist/azure/resilienceFactsValidation.d.ts +4 -0
  119. package/dist/azure/resilienceFactsValidation.d.ts.map +1 -0
  120. package/dist/azure/resilienceFactsValidation.js +70 -0
  121. package/dist/azure/resilienceFactsValidation.js.map +1 -0
  122. package/dist/azure/savings.d.ts +4 -2
  123. package/dist/azure/savings.d.ts.map +1 -1
  124. package/dist/azure/serviceRetirement.d.ts +21 -2
  125. package/dist/azure/serviceRetirement.d.ts.map +1 -1
  126. package/dist/azure/views.d.ts +24 -1
  127. package/dist/azure/views.d.ts.map +1 -1
  128. package/dist/azure/views.js.map +1 -1
  129. package/dist/common/boundedRows.d.ts +7 -0
  130. package/dist/common/boundedRows.d.ts.map +1 -0
  131. package/dist/{scheduler/scheduler.js → common/boundedRows.js} +1 -1
  132. package/dist/common/boundedRows.js.map +1 -0
  133. package/dist/common/index.d.ts +3 -0
  134. package/dist/common/index.d.ts.map +1 -1
  135. package/dist/common/index.js +3 -0
  136. package/dist/common/index.js.map +1 -1
  137. package/dist/common/metricStats.d.ts +29 -0
  138. package/dist/common/metricStats.d.ts.map +1 -0
  139. package/dist/{scheduler/bastionSchedule.js → common/metricStats.js} +1 -1
  140. package/dist/common/metricStats.js.map +1 -0
  141. package/dist/common/provider.d.ts +2 -0
  142. package/dist/common/provider.d.ts.map +1 -1
  143. package/dist/common/relationships.d.ts +3 -3
  144. package/dist/common/relationships.d.ts.map +1 -1
  145. package/dist/common/resourceGraph.d.ts +137 -0
  146. package/dist/common/resourceGraph.d.ts.map +1 -0
  147. package/dist/common/resourceGraph.js +17 -0
  148. package/dist/common/resourceGraph.js.map +1 -0
  149. package/dist/common/resourceGraphValidation.d.ts +30 -0
  150. package/dist/common/resourceGraphValidation.d.ts.map +1 -0
  151. package/dist/common/resourceGraphValidation.js +369 -0
  152. package/dist/common/resourceGraphValidation.js.map +1 -0
  153. package/dist/common/resourceIdentity.d.ts +28 -0
  154. package/dist/common/resourceIdentity.d.ts.map +1 -0
  155. package/dist/common/resourceIdentity.js +35 -0
  156. package/dist/common/resourceIdentity.js.map +1 -0
  157. package/dist/common/sha256.d.ts +2 -0
  158. package/dist/common/sha256.d.ts.map +1 -1
  159. package/dist/common/sha256.js +3 -0
  160. package/dist/common/sha256.js.map +1 -1
  161. package/dist/common/utilizationStories.d.ts +695 -0
  162. package/dist/common/utilizationStories.d.ts.map +1 -0
  163. package/dist/common/utilizationStories.js +21 -0
  164. package/dist/common/utilizationStories.js.map +1 -0
  165. package/dist/common/utilizationStoriesValidation.d.ts +60 -0
  166. package/dist/common/utilizationStoriesValidation.d.ts.map +1 -0
  167. package/dist/common/utilizationStoriesValidation.js +762 -0
  168. package/dist/common/utilizationStoriesValidation.js.map +1 -0
  169. package/dist/common/validationHelpers.d.ts +37 -0
  170. package/dist/common/validationHelpers.d.ts.map +1 -0
  171. package/dist/common/validationHelpers.js +147 -0
  172. package/dist/common/validationHelpers.js.map +1 -0
  173. package/dist/esm/accounts/index.js +1 -0
  174. package/dist/esm/accounts/subscriptionWriteAccess.js +112 -0
  175. package/dist/esm/accounts/writePermissions.js +46 -0
  176. package/dist/esm/ai/followUps.js +16 -0
  177. package/dist/esm/ai/grounding.js +74 -7
  178. package/dist/esm/ai/index.js +1 -0
  179. package/dist/esm/aws/commitments-planning.js +1 -0
  180. package/dist/esm/aws/commitmentsPlanningValidation.js +2 -1
  181. package/dist/esm/aws/index.js +2 -13
  182. package/dist/esm/aws/organizationCommitments.js +2 -2
  183. package/dist/esm/aws/organizationCommitmentsApiValidation.js +5 -5
  184. package/dist/esm/aws/organizationCommitmentsValidation.js +2 -1
  185. package/dist/esm/aws/portalOrganizationCommitmentsPlanningPublicArtifactValidation.js +8 -5
  186. package/dist/esm/aws/publicArtifacts.js +2 -0
  187. package/dist/esm/aws/relationships.js +4 -1
  188. package/dist/esm/aws/requests.js +4 -2
  189. package/dist/esm/aws/resourceGraph.js +63 -0
  190. package/dist/esm/aws/validationHelpers.js +46 -0
  191. package/dist/esm/azure/commitmentsPlanning.js +8 -1
  192. package/dist/esm/azure/commitmentsPlanningValidation.js +39 -0
  193. package/dist/esm/azure/payloads.js +84 -1
  194. package/dist/esm/azure/reportEvidence.js +8 -0
  195. package/dist/esm/azure/reportEvidenceValidation.js +202 -6
  196. package/dist/esm/azure/reportEvidenceValidationHelpers.js +7 -19
  197. package/dist/esm/azure/resilienceFacts.js +16 -0
  198. package/dist/esm/azure/resilienceFactsValidation.js +64 -0
  199. package/dist/esm/common/index.js +3 -0
  200. package/dist/esm/common/resourceGraph.js +13 -0
  201. package/dist/esm/common/resourceGraphValidation.js +365 -0
  202. package/dist/esm/common/resourceIdentity.js +24 -0
  203. package/dist/esm/common/sha256.js +2 -0
  204. package/dist/esm/common/utilizationStories.js +17 -0
  205. package/dist/esm/common/utilizationStoriesValidation.js +718 -0
  206. package/dist/esm/common/validationHelpers.js +115 -0
  207. package/dist/esm/entries/relationships.js +2 -2
  208. package/dist/esm/index.js +5 -0
  209. package/dist/esm/index.vite.js +1 -0
  210. package/dist/esm/reporting/jobs/index.js +13 -0
  211. package/dist/esm/reporting/jobs/reportJobIdentity.js +76 -0
  212. package/dist/esm/reporting/jobs/reportJobMessages.js +47 -0
  213. package/dist/esm/reporting/jobs/reportJobRow.js +264 -0
  214. package/dist/esm/reporting/jobs/reportJobSpec.js +295 -0
  215. package/dist/esm/reporting/jobs/reportJobStatus.js +87 -0
  216. package/dist/esm/reporting/shared/reportTableEntities.js +41 -0
  217. package/dist/esm/reporting/shared/reportingDigest.js +57 -0
  218. package/dist/esm/reporting/shared/reportingIds.js +88 -0
  219. package/dist/esm/reporting/shared/reportingPaths.js +23 -0
  220. package/dist/esm/scheduler/index.js +4 -4
  221. package/dist/esm/scheduler/resourceStrategy.js +2 -0
  222. package/dist/esm/scheduler/resourceStrategyCapabilityValidation.js +265 -0
  223. package/dist/esm/scheduler/resourceStrategyContracts.js +20 -0
  224. package/dist/esm/scheduler/resourceStrategyFinancialValidation.js +145 -0
  225. package/dist/esm/scheduler/resourceStrategyPermissionValidation.js +190 -0
  226. package/dist/esm/scheduler/resourceStrategyScheduleValidation.js +506 -0
  227. package/dist/esm/scheduler/resourceStrategyValidation.js +4 -0
  228. package/dist/esm/scheduler/resourceStrategyValidationShared.js +261 -0
  229. package/dist/esm/scheduler/schedulerValidation.js +372 -0
  230. package/dist/esm/scheduler/weeklyAvailabilityFixtures.js +140 -0
  231. package/dist/index.d.ts +5 -0
  232. package/dist/index.d.ts.map +1 -1
  233. package/dist/index.js +5 -0
  234. package/dist/index.js.map +1 -1
  235. package/dist/index.vite.d.ts +1 -0
  236. package/dist/index.vite.d.ts.map +1 -1
  237. package/dist/index.vite.js +1 -0
  238. package/dist/index.vite.js.map +1 -1
  239. package/dist/reporting/jobs/index.d.ts +14 -0
  240. package/dist/reporting/jobs/index.d.ts.map +1 -0
  241. package/dist/reporting/jobs/index.js +45 -0
  242. package/dist/reporting/jobs/index.js.map +1 -0
  243. package/dist/reporting/jobs/reportJobIdentity.d.ts +44 -0
  244. package/dist/reporting/jobs/reportJobIdentity.d.ts.map +1 -0
  245. package/dist/reporting/jobs/reportJobIdentity.js +88 -0
  246. package/dist/reporting/jobs/reportJobIdentity.js.map +1 -0
  247. package/dist/reporting/jobs/reportJobMessages.d.ts +30 -0
  248. package/dist/reporting/jobs/reportJobMessages.d.ts.map +1 -0
  249. package/dist/reporting/jobs/reportJobMessages.js +54 -0
  250. package/dist/reporting/jobs/reportJobMessages.js.map +1 -0
  251. package/dist/reporting/jobs/reportJobRow.d.ts +98 -0
  252. package/dist/reporting/jobs/reportJobRow.d.ts.map +1 -0
  253. package/dist/reporting/jobs/reportJobRow.js +270 -0
  254. package/dist/reporting/jobs/reportJobRow.js.map +1 -0
  255. package/dist/reporting/jobs/reportJobSpec.d.ts +92 -0
  256. package/dist/reporting/jobs/reportJobSpec.d.ts.map +1 -0
  257. package/dist/reporting/jobs/reportJobSpec.js +304 -0
  258. package/dist/reporting/jobs/reportJobSpec.js.map +1 -0
  259. package/dist/reporting/jobs/reportJobStatus.d.ts +60 -0
  260. package/dist/reporting/jobs/reportJobStatus.d.ts.map +1 -0
  261. package/dist/reporting/jobs/reportJobStatus.js +98 -0
  262. package/dist/reporting/jobs/reportJobStatus.js.map +1 -0
  263. package/dist/reporting/shared/reportTableEntities.d.ts +23 -0
  264. package/dist/reporting/shared/reportTableEntities.d.ts.map +1 -0
  265. package/dist/reporting/shared/reportTableEntities.js +47 -0
  266. package/dist/reporting/shared/reportTableEntities.js.map +1 -0
  267. package/dist/reporting/shared/reportingDigest.d.ts +6 -0
  268. package/dist/reporting/shared/reportingDigest.d.ts.map +1 -0
  269. package/dist/reporting/shared/reportingDigest.js +63 -0
  270. package/dist/reporting/shared/reportingDigest.js.map +1 -0
  271. package/dist/reporting/shared/reportingIds.d.ts +34 -0
  272. package/dist/reporting/shared/reportingIds.d.ts.map +1 -0
  273. package/dist/reporting/shared/reportingIds.js +102 -0
  274. package/dist/reporting/shared/reportingIds.js.map +1 -0
  275. package/dist/reporting/shared/reportingPaths.d.ts +14 -0
  276. package/dist/reporting/shared/reportingPaths.d.ts.map +1 -0
  277. package/dist/reporting/shared/reportingPaths.js +29 -0
  278. package/dist/reporting/shared/reportingPaths.js.map +1 -0
  279. package/dist/scheduler/index.d.ts +4 -4
  280. package/dist/scheduler/index.d.ts.map +1 -1
  281. package/dist/scheduler/index.js +4 -4
  282. package/dist/scheduler/index.js.map +1 -1
  283. package/dist/scheduler/resourceStrategy.d.ts +3 -0
  284. package/dist/scheduler/resourceStrategy.d.ts.map +1 -0
  285. package/dist/scheduler/resourceStrategy.js +19 -0
  286. package/dist/scheduler/resourceStrategy.js.map +1 -0
  287. package/dist/scheduler/resourceStrategyCapabilityValidation.d.ts +4 -0
  288. package/dist/scheduler/resourceStrategyCapabilityValidation.d.ts.map +1 -0
  289. package/dist/scheduler/resourceStrategyCapabilityValidation.js +270 -0
  290. package/dist/scheduler/resourceStrategyCapabilityValidation.js.map +1 -0
  291. package/dist/scheduler/resourceStrategyContracts.d.ts +466 -0
  292. package/dist/scheduler/resourceStrategyContracts.d.ts.map +1 -0
  293. package/dist/scheduler/resourceStrategyContracts.js +24 -0
  294. package/dist/scheduler/resourceStrategyContracts.js.map +1 -0
  295. package/dist/scheduler/resourceStrategyFinancialValidation.d.ts +5 -0
  296. package/dist/scheduler/resourceStrategyFinancialValidation.d.ts.map +1 -0
  297. package/dist/scheduler/resourceStrategyFinancialValidation.js +151 -0
  298. package/dist/scheduler/resourceStrategyFinancialValidation.js.map +1 -0
  299. package/dist/scheduler/resourceStrategyPermissionValidation.d.ts +4 -0
  300. package/dist/scheduler/resourceStrategyPermissionValidation.d.ts.map +1 -0
  301. package/dist/scheduler/resourceStrategyPermissionValidation.js +195 -0
  302. package/dist/scheduler/resourceStrategyPermissionValidation.js.map +1 -0
  303. package/dist/scheduler/resourceStrategyScheduleValidation.d.ts +14 -0
  304. package/dist/scheduler/resourceStrategyScheduleValidation.d.ts.map +1 -0
  305. package/dist/scheduler/resourceStrategyScheduleValidation.js +519 -0
  306. package/dist/scheduler/resourceStrategyScheduleValidation.js.map +1 -0
  307. package/dist/scheduler/resourceStrategyValidation.d.ts +5 -0
  308. package/dist/scheduler/resourceStrategyValidation.d.ts.map +1 -0
  309. package/dist/scheduler/resourceStrategyValidation.js +21 -0
  310. package/dist/scheduler/resourceStrategyValidation.js.map +1 -0
  311. package/dist/scheduler/resourceStrategyValidationShared.d.ts +19 -0
  312. package/dist/scheduler/resourceStrategyValidationShared.d.ts.map +1 -0
  313. package/dist/scheduler/resourceStrategyValidationShared.js +281 -0
  314. package/dist/scheduler/resourceStrategyValidationShared.js.map +1 -0
  315. package/dist/scheduler/schedulerContracts.d.ts +184 -0
  316. package/dist/scheduler/schedulerContracts.d.ts.map +1 -0
  317. package/dist/{aws/portalPublicArtifactNestedEvidence.js → scheduler/schedulerContracts.js} +1 -1
  318. package/dist/scheduler/schedulerContracts.js.map +1 -0
  319. package/dist/scheduler/schedulerValidation.d.ts +15 -0
  320. package/dist/scheduler/schedulerValidation.d.ts.map +1 -0
  321. package/dist/scheduler/schedulerValidation.js +388 -0
  322. package/dist/scheduler/schedulerValidation.js.map +1 -0
  323. package/dist/scheduler/weeklyAvailabilityFixtures.d.ts +26 -0
  324. package/dist/scheduler/weeklyAvailabilityFixtures.d.ts.map +1 -0
  325. package/dist/scheduler/weeklyAvailabilityFixtures.js +144 -0
  326. package/dist/scheduler/weeklyAvailabilityFixtures.js.map +1 -0
  327. package/package.json +26 -7
  328. package/dist/aws/pluginPublicArtifactBodyValidation.d.ts +0 -10
  329. package/dist/aws/pluginPublicArtifactBodyValidation.d.ts.map +0 -1
  330. package/dist/aws/pluginPublicArtifactBodyValidation.js +0 -225
  331. package/dist/aws/pluginPublicArtifactBodyValidation.js.map +0 -1
  332. package/dist/aws/pluginPublicArtifactEvidence.d.ts +0 -161
  333. package/dist/aws/pluginPublicArtifactEvidence.d.ts.map +0 -1
  334. package/dist/aws/pluginPublicArtifactEvidence.js.map +0 -1
  335. package/dist/aws/pluginPublicArtifactManifestValidation.d.ts +0 -4
  336. package/dist/aws/pluginPublicArtifactManifestValidation.d.ts.map +0 -1
  337. package/dist/aws/pluginPublicArtifactManifestValidation.js +0 -259
  338. package/dist/aws/pluginPublicArtifactManifestValidation.js.map +0 -1
  339. package/dist/aws/pluginPublicArtifactSectionValidation.d.ts +0 -6
  340. package/dist/aws/pluginPublicArtifactSectionValidation.d.ts.map +0 -1
  341. package/dist/aws/pluginPublicArtifactSectionValidation.js +0 -471
  342. package/dist/aws/pluginPublicArtifactSectionValidation.js.map +0 -1
  343. package/dist/aws/pluginPublicArtifactValidation.d.ts +0 -3
  344. package/dist/aws/pluginPublicArtifactValidation.d.ts.map +0 -1
  345. package/dist/aws/pluginPublicArtifactValidation.js +0 -9
  346. package/dist/aws/pluginPublicArtifactValidation.js.map +0 -1
  347. package/dist/aws/pluginPublicArtifactValidationHelpers.d.ts +0 -23
  348. package/dist/aws/pluginPublicArtifactValidationHelpers.d.ts.map +0 -1
  349. package/dist/aws/pluginPublicArtifactValidationHelpers.js +0 -240
  350. package/dist/aws/pluginPublicArtifactValidationHelpers.js.map +0 -1
  351. package/dist/aws/pluginPublicArtifacts.d.ts +0 -253
  352. package/dist/aws/pluginPublicArtifacts.d.ts.map +0 -1
  353. package/dist/aws/pluginPublicArtifacts.js +0 -51
  354. package/dist/aws/pluginPublicArtifacts.js.map +0 -1
  355. package/dist/aws/portalCommitmentsPlanningPublicArtifactValidation.d.ts +0 -4
  356. package/dist/aws/portalCommitmentsPlanningPublicArtifactValidation.d.ts.map +0 -1
  357. package/dist/aws/portalCommitmentsPlanningPublicArtifactValidation.js +0 -513
  358. package/dist/aws/portalCommitmentsPlanningPublicArtifactValidation.js.map +0 -1
  359. package/dist/aws/portalCommitmentsPlanningPublicArtifacts.d.ts +0 -13
  360. package/dist/aws/portalCommitmentsPlanningPublicArtifacts.d.ts.map +0 -1
  361. package/dist/aws/portalCommitmentsPlanningPublicArtifacts.js +0 -5
  362. package/dist/aws/portalCommitmentsPlanningPublicArtifacts.js.map +0 -1
  363. package/dist/aws/portalPublicArtifactCurrentValidation.d.ts +0 -4
  364. package/dist/aws/portalPublicArtifactCurrentValidation.d.ts.map +0 -1
  365. package/dist/aws/portalPublicArtifactCurrentValidation.js +0 -333
  366. package/dist/aws/portalPublicArtifactCurrentValidation.js.map +0 -1
  367. package/dist/aws/portalPublicArtifactEvidenceValidation.d.ts +0 -6
  368. package/dist/aws/portalPublicArtifactEvidenceValidation.d.ts.map +0 -1
  369. package/dist/aws/portalPublicArtifactEvidenceValidation.js +0 -301
  370. package/dist/aws/portalPublicArtifactEvidenceValidation.js.map +0 -1
  371. package/dist/aws/portalPublicArtifactHistoryAiValidation.d.ts +0 -8
  372. package/dist/aws/portalPublicArtifactHistoryAiValidation.d.ts.map +0 -1
  373. package/dist/aws/portalPublicArtifactHistoryAiValidation.js +0 -377
  374. package/dist/aws/portalPublicArtifactHistoryAiValidation.js.map +0 -1
  375. package/dist/aws/portalPublicArtifactHistoryTypes.d.ts +0 -178
  376. package/dist/aws/portalPublicArtifactHistoryTypes.d.ts.map +0 -1
  377. package/dist/aws/portalPublicArtifactHistoryTypes.js +0 -44
  378. package/dist/aws/portalPublicArtifactHistoryTypes.js.map +0 -1
  379. package/dist/aws/portalPublicArtifactNestedEvidence.d.ts +0 -127
  380. package/dist/aws/portalPublicArtifactNestedEvidence.d.ts.map +0 -1
  381. package/dist/aws/portalPublicArtifactNestedEvidence.js.map +0 -1
  382. package/dist/aws/portalPublicArtifactNestedEvidenceValidation.d.ts +0 -6
  383. package/dist/aws/portalPublicArtifactNestedEvidenceValidation.d.ts.map +0 -1
  384. package/dist/aws/portalPublicArtifactNestedEvidenceValidation.js +0 -405
  385. package/dist/aws/portalPublicArtifactNestedEvidenceValidation.js.map +0 -1
  386. package/dist/aws/portalPublicArtifactValidation.d.ts +0 -3
  387. package/dist/aws/portalPublicArtifactValidation.d.ts.map +0 -1
  388. package/dist/aws/portalPublicArtifactValidation.js +0 -14
  389. package/dist/aws/portalPublicArtifactValidation.js.map +0 -1
  390. package/dist/aws/portalPublicArtifactValidationCommon.d.ts +0 -30
  391. package/dist/aws/portalPublicArtifactValidationCommon.d.ts.map +0 -1
  392. package/dist/aws/portalPublicArtifactValidationCommon.js +0 -167
  393. package/dist/aws/portalPublicArtifactValidationCommon.js.map +0 -1
  394. package/dist/aws/portalPublicArtifacts.d.ts +0 -400
  395. package/dist/aws/portalPublicArtifacts.d.ts.map +0 -1
  396. package/dist/aws/portalPublicArtifacts.js +0 -85
  397. package/dist/aws/portalPublicArtifacts.js.map +0 -1
  398. package/dist/aws/portalRelationshipPublicArtifactValidation.d.ts +0 -4
  399. package/dist/aws/portalRelationshipPublicArtifactValidation.d.ts.map +0 -1
  400. package/dist/aws/portalRelationshipPublicArtifactValidation.js +0 -338
  401. package/dist/aws/portalRelationshipPublicArtifactValidation.js.map +0 -1
  402. package/dist/aws/portalRelationshipPublicArtifacts.d.ts +0 -196
  403. package/dist/aws/portalRelationshipPublicArtifacts.d.ts.map +0 -1
  404. package/dist/aws/portalRelationshipPublicArtifacts.js +0 -63
  405. package/dist/aws/portalRelationshipPublicArtifacts.js.map +0 -1
  406. package/dist/aws/portalRelationshipResourceNodeTypes.d.ts +0 -269
  407. package/dist/aws/portalRelationshipResourceNodeTypes.d.ts.map +0 -1
  408. package/dist/aws/portalRelationshipResourceNodeTypes.js +0 -3
  409. package/dist/aws/portalRelationshipResourceNodeTypes.js.map +0 -1
  410. package/dist/aws/portalRelationshipResourceNodeValidation.d.ts +0 -2
  411. package/dist/aws/portalRelationshipResourceNodeValidation.d.ts.map +0 -1
  412. package/dist/aws/portalRelationshipResourceNodeValidation.js +0 -372
  413. package/dist/aws/portalRelationshipResourceNodeValidation.js.map +0 -1
  414. package/dist/esm/aws/pluginPublicArtifactBodyValidation.js +0 -217
  415. package/dist/esm/aws/pluginPublicArtifactManifestValidation.js +0 -255
  416. package/dist/esm/aws/pluginPublicArtifactSectionValidation.js +0 -464
  417. package/dist/esm/aws/pluginPublicArtifactValidation.js +0 -2
  418. package/dist/esm/aws/pluginPublicArtifactValidationHelpers.js +0 -216
  419. package/dist/esm/aws/pluginPublicArtifacts.js +0 -44
  420. package/dist/esm/aws/portalCommitmentsPlanningPublicArtifactValidation.js +0 -509
  421. package/dist/esm/aws/portalCommitmentsPlanningPublicArtifacts.js +0 -1
  422. package/dist/esm/aws/portalPublicArtifactCurrentValidation.js +0 -328
  423. package/dist/esm/aws/portalPublicArtifactEvidenceValidation.js +0 -294
  424. package/dist/esm/aws/portalPublicArtifactHistoryAiValidation.js +0 -368
  425. package/dist/esm/aws/portalPublicArtifactHistoryTypes.js +0 -40
  426. package/dist/esm/aws/portalPublicArtifactNestedEvidenceValidation.js +0 -397
  427. package/dist/esm/aws/portalPublicArtifactValidation.js +0 -2
  428. package/dist/esm/aws/portalPublicArtifactValidationCommon.js +0 -139
  429. package/dist/esm/aws/portalPublicArtifacts.js +0 -73
  430. package/dist/esm/aws/portalRelationshipPublicArtifactValidation.js +0 -334
  431. package/dist/esm/aws/portalRelationshipPublicArtifacts.js +0 -59
  432. package/dist/esm/aws/portalRelationshipResourceNodeValidation.js +0 -368
  433. package/dist/esm/scheduler/bastionScheduleProfile.js +0 -206
  434. package/dist/esm/scheduler/bastionScheduleValidation.js +0 -401
  435. package/dist/esm/scheduler/scheduler.js +0 -1
  436. package/dist/scheduler/bastionSchedule.d.ts +0 -113
  437. package/dist/scheduler/bastionSchedule.d.ts.map +0 -1
  438. package/dist/scheduler/bastionSchedule.js.map +0 -1
  439. package/dist/scheduler/bastionScheduleProfile.d.ts +0 -24
  440. package/dist/scheduler/bastionScheduleProfile.d.ts.map +0 -1
  441. package/dist/scheduler/bastionScheduleProfile.js +0 -210
  442. package/dist/scheduler/bastionScheduleProfile.js.map +0 -1
  443. package/dist/scheduler/bastionScheduleValidation.d.ts +0 -10
  444. package/dist/scheduler/bastionScheduleValidation.d.ts.map +0 -1
  445. package/dist/scheduler/bastionScheduleValidation.js +0 -412
  446. package/dist/scheduler/bastionScheduleValidation.js.map +0 -1
  447. package/dist/scheduler/scheduler.d.ts +0 -267
  448. package/dist/scheduler/scheduler.d.ts.map +0 -1
  449. package/dist/scheduler/scheduler.js.map +0 -1
  450. /package/dist/esm/aws/{pluginPublicArtifactEvidence.js → commitmentsPlanningView.js} +0 -0
  451. /package/dist/esm/{aws/portalPublicArtifactNestedEvidence.js → common/boundedRows.js} +0 -0
  452. /package/dist/esm/{aws/portalRelationshipResourceNodeTypes.js → common/metricStats.js} +0 -0
  453. /package/dist/esm/scheduler/{bastionSchedule.js → schedulerContracts.js} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utilizationStoriesValidation.js","sourceRoot":"","sources":["../../src/common/utilizationStoriesValidation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ /** Dependency-free structural guard primitives shared by every validation module. */
2
+ import type { ReportBoundedRows } from './boundedRows';
3
+ export type JsonRecord = Record<string, unknown>;
4
+ export declare const isRecord: (value: unknown) => value is JsonRecord;
5
+ export declare const isString: (value: unknown) => value is string;
6
+ export declare const isOptionalString: (value: unknown) => boolean;
7
+ export declare const isFiniteNumber: (value: unknown) => value is number;
8
+ export declare const isOptionalFiniteNumber: (value: unknown) => boolean;
9
+ export declare const isOptionalBoolean: (value: unknown) => boolean;
10
+ export declare const isCount: (value: unknown) => value is number;
11
+ export declare const isDateTime: (value: unknown) => value is string;
12
+ export declare const isStringArray: (value: unknown) => value is string[];
13
+ export declare const isCountRecord: (value: unknown) => value is Record<string, number>;
14
+ export declare const countTotal: (value: Record<string, number>) => number;
15
+ export declare const hasOptionalStrings: (value: JsonRecord, keys: readonly string[]) => boolean;
16
+ export declare const hasOptionalNumbers: (value: JsonRecord, keys: readonly string[]) => boolean;
17
+ export declare const isBoundedRows: <T>(value: unknown, limit: number, isRow: (row: unknown) => row is T) => value is ReportBoundedRows<T>;
18
+ export declare function asRecord(value: unknown, field: string): JsonRecord;
19
+ export declare function asArray(value: unknown, field: string, nonEmpty?: boolean): unknown[];
20
+ export declare function requiredString(value: unknown, field: string): string;
21
+ export declare function requiredEnum<const Value extends string>(value: unknown, values: readonly Value[], field: string): Value;
22
+ export declare function requiredBoolean(value: unknown, field: string): boolean;
23
+ export declare function nonNegativeInteger(value: unknown, field: string): number;
24
+ export declare function finiteNumber(value: unknown, field: string): number;
25
+ export declare function isoTimestamp(value: unknown, field: string): string;
26
+ export declare function assertExactKeys(value: JsonRecord, allowed: readonly string[], field: string): void;
27
+ export declare function assertValue(actual: unknown, expected: unknown, field: string): void;
28
+ export declare function assertUnique(values: readonly string[], field: string): void;
29
+ export declare function requiredPublicIdentifier(value: unknown, field: string): string;
30
+ /** Validates an exact `ArtifactGeneration` identity. */
31
+ export declare function validateGeneration(value: unknown, field: string): {
32
+ runId: string;
33
+ generatedAt: string;
34
+ };
35
+ /** Rejects non-JSON values and non-plain objects; `isForbiddenKey` rejects keys at every depth. */
36
+ export declare function assertPlainJson(value: unknown, field: string, isForbiddenKey?: (key: string) => boolean): void;
37
+ //# sourceMappingURL=validationHelpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validationHelpers.d.ts","sourceRoot":"","sources":["../../src/common/validationHelpers.ts"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEvD,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEjD,eAAO,MAAM,QAAQ,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,UAAkF,CAAC;AACtI,eAAO,MAAM,QAAQ,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,MAA8D,CAAC;AAClH,eAAO,MAAM,gBAAgB,GAAI,OAAO,OAAO,KAAG,OAAiD,CAAC;AACpG,eAAO,MAAM,cAAc,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,MAA6D,CAAC;AACvH,eAAO,MAAM,sBAAsB,GAAI,OAAO,OAAO,KAAG,OAAuD,CAAC;AAChH,eAAO,MAAM,iBAAiB,GAAI,OAAO,OAAO,KAAG,OAA4D,CAAC;AAChH,eAAO,MAAM,OAAO,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,MAAwE,CAAC;AAC3H,eAAO,MAAM,UAAU,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,MAA+D,CAAC;AACrH,eAAO,MAAM,aAAa,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,MAAM,EAAmD,CAAC;AAClH,eAAO,MAAM,aAAa,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAA2D,CAAC;AACzI,eAAO,MAAM,UAAU,GAAI,OAAO,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAG,MAAyE,CAAC;AACrI,eAAO,MAAM,kBAAkB,GAAI,OAAO,UAAU,EAAE,MAAM,SAAS,MAAM,EAAE,KAAG,OAA0D,CAAC;AAC3I,eAAO,MAAM,kBAAkB,GAAI,OAAO,UAAU,EAAE,MAAM,SAAS,MAAM,EAAE,KAAG,OAAgE,CAAC;AAEjJ,eAAO,MAAM,aAAa,GAAI,CAAC,EAAE,OAAO,OAAO,EAAE,OAAO,MAAM,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,KAAK,GAAG,IAAI,CAAC,KAAG,KAAK,IAAI,iBAAiB,CAAC,CAAC,CAG/H,CAAC;AAQF,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,CAGlE;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,UAAQ,GAAG,OAAO,EAAE,CAGlF;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAGpE;AAED,wBAAgB,YAAY,CAAC,KAAK,CAAC,KAAK,SAAS,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,KAAK,CAGvH;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAGtE;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAGxE;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAGlE;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAIlE;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAIlG;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAEnF;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAE3E;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAK9E;AAED,wDAAwD;AACxD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAOxG;AAED,mGAAmG;AACnG,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,GAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAqB,GAAG,IAAI,CAiB3H"}
@@ -0,0 +1,147 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isBoundedRows = exports.hasOptionalNumbers = exports.hasOptionalStrings = exports.countTotal = exports.isCountRecord = exports.isStringArray = exports.isDateTime = exports.isCount = exports.isOptionalBoolean = exports.isOptionalFiniteNumber = exports.isFiniteNumber = exports.isOptionalString = exports.isString = exports.isRecord = void 0;
4
+ exports.asRecord = asRecord;
5
+ exports.asArray = asArray;
6
+ exports.requiredString = requiredString;
7
+ exports.requiredEnum = requiredEnum;
8
+ exports.requiredBoolean = requiredBoolean;
9
+ exports.nonNegativeInteger = nonNegativeInteger;
10
+ exports.finiteNumber = finiteNumber;
11
+ exports.isoTimestamp = isoTimestamp;
12
+ exports.assertExactKeys = assertExactKeys;
13
+ exports.assertValue = assertValue;
14
+ exports.assertUnique = assertUnique;
15
+ exports.requiredPublicIdentifier = requiredPublicIdentifier;
16
+ exports.validateGeneration = validateGeneration;
17
+ exports.assertPlainJson = assertPlainJson;
18
+ const isRecord = (value) => typeof value === 'object' && value !== null && !Array.isArray(value);
19
+ exports.isRecord = isRecord;
20
+ const isString = (value) => typeof value === 'string' && value.trim().length > 0;
21
+ exports.isString = isString;
22
+ const isOptionalString = (value) => value === undefined || (0, exports.isString)(value);
23
+ exports.isOptionalString = isOptionalString;
24
+ const isFiniteNumber = (value) => typeof value === 'number' && Number.isFinite(value);
25
+ exports.isFiniteNumber = isFiniteNumber;
26
+ const isOptionalFiniteNumber = (value) => value === undefined || (0, exports.isFiniteNumber)(value);
27
+ exports.isOptionalFiniteNumber = isOptionalFiniteNumber;
28
+ const isOptionalBoolean = (value) => value === undefined || typeof value === 'boolean';
29
+ exports.isOptionalBoolean = isOptionalBoolean;
30
+ const isCount = (value) => (0, exports.isFiniteNumber)(value) && Number.isInteger(value) && value >= 0;
31
+ exports.isCount = isCount;
32
+ const isDateTime = (value) => (0, exports.isString)(value) && Number.isFinite(Date.parse(value));
33
+ exports.isDateTime = isDateTime;
34
+ const isStringArray = (value) => Array.isArray(value) && value.every(exports.isString);
35
+ exports.isStringArray = isStringArray;
36
+ const isCountRecord = (value) => (0, exports.isRecord)(value) && Object.values(value).every(exports.isCount);
37
+ exports.isCountRecord = isCountRecord;
38
+ const countTotal = (value) => Object.values(value).reduce((total, count) => total + count, 0);
39
+ exports.countTotal = countTotal;
40
+ const hasOptionalStrings = (value, keys) => keys.every(key => (0, exports.isOptionalString)(value[key]));
41
+ exports.hasOptionalStrings = hasOptionalStrings;
42
+ const hasOptionalNumbers = (value, keys) => keys.every(key => (0, exports.isOptionalFiniteNumber)(value[key]));
43
+ exports.hasOptionalNumbers = hasOptionalNumbers;
44
+ const isBoundedRows = (value, limit, isRow) => {
45
+ if (!(0, exports.isRecord)(value) || !(0, exports.isCount)(value.totalCount) || !(0, exports.isCount)(value.omittedCount) || !Array.isArray(value.rows))
46
+ return false;
47
+ return value.rows.length <= limit && value.rows.every(isRow) && value.totalCount === value.rows.length + value.omittedCount;
48
+ };
49
+ exports.isBoundedRows = isBoundedRows;
50
+ /*
51
+ * Throwing assertion primitives for exact-shape boundary validators. Each
52
+ * failure names the offending field path so rejections are diagnosable.
53
+ */
54
+ const ISO_TIMESTAMP_PATTERN = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{3})?Z$/;
55
+ function asRecord(value, field) {
56
+ if (!(0, exports.isRecord)(value))
57
+ throw new Error(`${field} must be a JSON object.`);
58
+ return value;
59
+ }
60
+ function asArray(value, field, nonEmpty = false) {
61
+ if (!Array.isArray(value) || (nonEmpty && value.length === 0))
62
+ throw new Error(`${field} must be ${nonEmpty ? 'a non-empty' : 'an'} array.`);
63
+ return value;
64
+ }
65
+ function requiredString(value, field) {
66
+ if (typeof value !== 'string' || value.trim() !== value || value.length === 0)
67
+ throw new Error(`${field} must be a non-empty trimmed string.`);
68
+ return value;
69
+ }
70
+ function requiredEnum(value, values, field) {
71
+ if (typeof value !== 'string' || !values.includes(value))
72
+ throw new Error(`${field} is not declared.`);
73
+ return value;
74
+ }
75
+ function requiredBoolean(value, field) {
76
+ if (typeof value !== 'boolean')
77
+ throw new Error(`${field} must be a boolean.`);
78
+ return value;
79
+ }
80
+ function nonNegativeInteger(value, field) {
81
+ if (!Number.isSafeInteger(value) || Number(value) < 0)
82
+ throw new Error(`${field} must be a non-negative safe integer.`);
83
+ return Number(value);
84
+ }
85
+ function finiteNumber(value, field) {
86
+ if (!(0, exports.isFiniteNumber)(value))
87
+ throw new Error(`${field} must be a finite number.`);
88
+ return value;
89
+ }
90
+ function isoTimestamp(value, field) {
91
+ const timestamp = requiredString(value, field);
92
+ if (!ISO_TIMESTAMP_PATTERN.test(timestamp) || Number.isNaN(Date.parse(timestamp)))
93
+ throw new Error(`${field} must be an ISO UTC timestamp.`);
94
+ return timestamp;
95
+ }
96
+ function assertExactKeys(value, allowed, field) {
97
+ const allowedKeys = new Set(allowed);
98
+ const unknown = Object.keys(value).filter(key => !allowedKeys.has(key));
99
+ if (unknown.length > 0)
100
+ throw new Error(`${field} contains undeclared fields: ${unknown.sort().join(', ')}.`);
101
+ }
102
+ function assertValue(actual, expected, field) {
103
+ if (actual !== expected)
104
+ throw new Error(`${field} must match its exact binding.`);
105
+ }
106
+ function assertUnique(values, field) {
107
+ if (new Set(values).size !== values.length)
108
+ throw new Error(`${field} must not contain duplicates.`);
109
+ }
110
+ function requiredPublicIdentifier(value, field) {
111
+ const identifier = requiredString(value, field);
112
+ if (identifier.includes('/') || identifier.includes('\\') || identifier.includes('://') || identifier.includes('..'))
113
+ throw new Error(`${field} must not contain a physical path or URI.`);
114
+ return identifier;
115
+ }
116
+ /** Validates an exact `ArtifactGeneration` identity. */
117
+ function validateGeneration(value, field) {
118
+ const generation = asRecord(value, field);
119
+ assertExactKeys(generation, ['runId', 'generatedAt'], field);
120
+ return {
121
+ runId: requiredPublicIdentifier(generation.runId, `${field}.runId`),
122
+ generatedAt: isoTimestamp(generation.generatedAt, `${field}.generatedAt`),
123
+ };
124
+ }
125
+ /** Rejects non-JSON values and non-plain objects; `isForbiddenKey` rejects keys at every depth. */
126
+ function assertPlainJson(value, field, isForbiddenKey = () => false) {
127
+ if (value === null || typeof value === 'string' || typeof value === 'boolean')
128
+ return;
129
+ if (typeof value === 'number') {
130
+ if (!Number.isFinite(value))
131
+ throw new Error(`${field} must contain only finite JSON numbers.`);
132
+ return;
133
+ }
134
+ if (Array.isArray(value)) {
135
+ value.forEach((item, index) => assertPlainJson(item, `${field}[${index}]`, isForbiddenKey));
136
+ return;
137
+ }
138
+ if (!value || typeof value !== 'object' || Object.getPrototypeOf(value) !== Object.prototype) {
139
+ throw new Error(`${field} must contain only plain JSON values.`);
140
+ }
141
+ for (const [key, child] of Object.entries(value)) {
142
+ if (isForbiddenKey(key))
143
+ throw new Error(`${field}.${key} is not allowed in a public artifact.`);
144
+ assertPlainJson(child, `${field}.${key}`, isForbiddenKey);
145
+ }
146
+ }
147
+ //# sourceMappingURL=validationHelpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validationHelpers.js","sourceRoot":"","sources":["../../src/common/validationHelpers.ts"],"names":[],"mappings":"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"}
@@ -3,4 +3,5 @@ export * from './azureManualOnboarding.js';
3
3
  export * from './azureSpSetup.js';
4
4
  export * from './azureSpSetupDurable.js';
5
5
  export * from './writePermissions.js';
6
+ export * from './subscriptionWriteAccess.js';
6
7
  export * from './readPermissions.js';
@@ -0,0 +1,112 @@
1
+ import { KNOWN_WRITE_PERMISSION_MASK, WritePermission } from './writePermissions.js';
2
+ /**
3
+ * Effective write access for one subscription, as observed from Azure by cloud-engine on each scan.
4
+ *
5
+ * This is a fact about Azure (what the cloud account's identity is currently allowed to do), not a
6
+ * customer choice. Customer consent stays on the cloud account. Storage paths for the document are
7
+ * owned by cloud-engine; this package defines only its shape.
8
+ */
9
+ export const SUBSCRIPTION_WRITE_ACCESS_SCHEMA_VERSION = 1;
10
+ /** Maximum narrower scopes listed per capability; `grantedScopeCount` carries the full count. */
11
+ export const SUBSCRIPTION_WRITE_ACCESS_MAX_LISTED_SCOPES = 50;
12
+ /** Maximum missing actions listed per capability. */
13
+ export const SUBSCRIPTION_WRITE_ACCESS_MAX_LISTED_ACTIONS = 100;
14
+ export const SUBSCRIPTION_WRITE_CAPABILITY_KEYS = [
15
+ 'advisorDismissSync',
16
+ 'storageInventory',
17
+ 'policyExemptions',
18
+ 'resourceScheduling',
19
+ 'remediationCleanup',
20
+ 'remediationRightsize',
21
+ 'commitmentsManage',
22
+ ];
23
+ /** The WritePermission bit each capability sets in the subscription bitmasks. */
24
+ export const SUBSCRIPTION_WRITE_CAPABILITY_PERMISSIONS = {
25
+ advisorDismissSync: WritePermission.DismissRecommendations,
26
+ storageInventory: WritePermission.StorageInventory,
27
+ policyExemptions: WritePermission.PolicyExemptions,
28
+ resourceScheduling: WritePermission.ResourceScheduling,
29
+ remediationCleanup: WritePermission.RemediationCleanup,
30
+ remediationRightsize: WritePermission.RemediationRightsize,
31
+ commitmentsManage: WritePermission.CommitmentsManage,
32
+ };
33
+ /** Derives the subscription row bitmasks from per-capability results. `available` and `partial` set the effective bit; `partial` also sets the partial bit. */
34
+ export function deriveSubscriptionWriteBitmasks(capabilities) {
35
+ let effectiveWriteBitmask = 0;
36
+ let partialWriteBitmask = 0;
37
+ for (const key of SUBSCRIPTION_WRITE_CAPABILITY_KEYS) {
38
+ const status = capabilities[key]?.status;
39
+ const bit = SUBSCRIPTION_WRITE_CAPABILITY_PERMISSIONS[key];
40
+ if (status === 'available' || status === 'partial')
41
+ effectiveWriteBitmask |= bit;
42
+ if (status === 'partial')
43
+ partialWriteBitmask |= bit;
44
+ }
45
+ return { effectiveWriteBitmask, partialWriteBitmask };
46
+ }
47
+ /** True when the subscription bitmasks show the permission as granted, fully or at narrower scopes. Unknown bits from newer producers are ignored. */
48
+ export function hasEffectiveWritePermission(effectiveWriteBitmask, permission) {
49
+ return ((effectiveWriteBitmask ?? 0) & KNOWN_WRITE_PERMISSION_MASK & permission) === permission;
50
+ }
51
+ const CAPABILITY_STATUSES = ['available', 'partial', 'unavailable', 'unknown'];
52
+ const isRecord = (value) => typeof value === 'object' && value !== null && !Array.isArray(value);
53
+ const isNonEmptyString = (value) => typeof value === 'string' && value.trim().length > 0;
54
+ const isUint32 = (value) => typeof value === 'number' && Number.isInteger(value) && value >= 0 && value <= 0xffffffff;
55
+ const isStringArray = (value, maxLength) => Array.isArray(value) && value.length <= maxLength && value.every(isNonEmptyString);
56
+ const isCapabilityResult = (value) => {
57
+ if (!isRecord(value))
58
+ return false;
59
+ if (!CAPABILITY_STATUSES.includes(value.status))
60
+ return false;
61
+ if (value.missingActions !== undefined && !isStringArray(value.missingActions, SUBSCRIPTION_WRITE_ACCESS_MAX_LISTED_ACTIONS))
62
+ return false;
63
+ if (value.grantedScopes !== undefined && !isStringArray(value.grantedScopes, SUBSCRIPTION_WRITE_ACCESS_MAX_LISTED_SCOPES))
64
+ return false;
65
+ if (value.grantedScopeCount !== undefined && !isUint32(value.grantedScopeCount))
66
+ return false;
67
+ if (value.reasonCode !== undefined && !isNonEmptyString(value.reasonCode))
68
+ return false;
69
+ if (value.status === 'partial' && !(isUint32(value.grantedScopeCount) && value.grantedScopeCount > 0))
70
+ return false;
71
+ return true;
72
+ };
73
+ /**
74
+ * Validates a parsed document. Unknown capability keys and bits from a newer producer are ignored;
75
+ * every capability known to this package version must be present, and the bitmasks must match the results.
76
+ */
77
+ export function isSubscriptionWriteAccessDocumentV1(value) {
78
+ try {
79
+ return isSubscriptionWriteAccessDocumentV1Unsafe(value);
80
+ }
81
+ catch {
82
+ return false;
83
+ }
84
+ }
85
+ function isSubscriptionWriteAccessDocumentV1Unsafe(value) {
86
+ if (!isRecord(value))
87
+ return false;
88
+ if (value.schemaVersion !== SUBSCRIPTION_WRITE_ACCESS_SCHEMA_VERSION || value.provider !== 'azure')
89
+ return false;
90
+ if (!isNonEmptyString(value.companyId) || !isNonEmptyString(value.cloudAccountId) || !isNonEmptyString(value.subscriptionId))
91
+ return false;
92
+ if (value.principalObjectId !== undefined && !isNonEmptyString(value.principalObjectId))
93
+ return false;
94
+ if (!isNonEmptyString(value.checkedAt) || Number.isNaN(Date.parse(value.checkedAt)))
95
+ return false;
96
+ if (value.checkStatus === 'failed')
97
+ return isNonEmptyString(value.reasonCode);
98
+ if (value.checkStatus !== 'complete')
99
+ return false;
100
+ if (!isUint32(value.effectiveWriteBitmask) || !isUint32(value.partialWriteBitmask))
101
+ return false;
102
+ if ((value.partialWriteBitmask & ~value.effectiveWriteBitmask) !== 0)
103
+ return false;
104
+ if (!isRecord(value.capabilities))
105
+ return false;
106
+ const capabilities = value.capabilities;
107
+ if (!SUBSCRIPTION_WRITE_CAPABILITY_KEYS.every(key => isCapabilityResult(capabilities[key])))
108
+ return false;
109
+ const derived = deriveSubscriptionWriteBitmasks(capabilities);
110
+ return ((value.effectiveWriteBitmask & KNOWN_WRITE_PERMISSION_MASK) === derived.effectiveWriteBitmask &&
111
+ (value.partialWriteBitmask & KNOWN_WRITE_PERMISSION_MASK) === derived.partialWriteBitmask);
112
+ }
@@ -10,7 +10,27 @@ export var WritePermission;
10
10
  WritePermission[WritePermission["StorageInventory"] = 2] = "StorageInventory";
11
11
  /** Permission to create scoped Azure Policy exemptions */
12
12
  WritePermission[WritePermission["PolicyExemptions"] = 4] = "PolicyExemptions";
13
+ /** Permission to run approved resource scheduling capabilities */
14
+ WritePermission[WritePermission["ResourceScheduling"] = 8] = "ResourceScheduling";
15
+ /** Permission to delete idle or orphaned resources when a clean-up recommendation is implemented */
16
+ WritePermission[WritePermission["RemediationCleanup"] = 16] = "RemediationCleanup";
17
+ /** Permission to resize, reconfigure, deallocate, or start resources when a recommendation is implemented */
18
+ WritePermission[WritePermission["RemediationRightsize"] = 32] = "RemediationRightsize";
19
+ /** Permission to manage reservations and savings plans */
20
+ WritePermission[WritePermission["CommitmentsManage"] = 64] = "CommitmentsManage";
13
21
  })(WritePermission || (WritePermission = {}));
22
+ /**
23
+ * Union of every WritePermission bit defined in this package version.
24
+ * Consumers mask persisted values with this so bits added by a newer producer are ignored, not misread.
25
+ * Bits are only ever added; an existing bit's meaning never changes.
26
+ */
27
+ export const KNOWN_WRITE_PERMISSION_MASK = WritePermission.DismissRecommendations |
28
+ WritePermission.StorageInventory |
29
+ WritePermission.PolicyExemptions |
30
+ WritePermission.ResourceScheduling |
31
+ WritePermission.RemediationCleanup |
32
+ WritePermission.RemediationRightsize |
33
+ WritePermission.CommitmentsManage;
14
34
  /**
15
35
  * Permission metadata array
16
36
  * Define all available write permissions with their metadata
@@ -40,4 +60,30 @@ export const WRITE_PERMISSIONS_METADATA = [
40
60
  documentationUrl: 'https://docs.spotto.ai/docs/portal/write-permissions/policy-exemptions',
41
61
  scriptGeneratorUrl: '/scripts/policy-exemptions-role',
42
62
  },
63
+ {
64
+ id: WritePermission.ResourceScheduling,
65
+ displayName: 'Resource Scheduling',
66
+ description: 'Allows Spotto to run explicitly approved resource scheduling capabilities at their exact Azure scopes.',
67
+ requiredRoles: [],
68
+ permissionManifestKind: 'resource-scheduling',
69
+ },
70
+ {
71
+ id: WritePermission.RemediationCleanup,
72
+ displayName: 'Clean Up Unused Resources',
73
+ description: 'Allows Spotto to delete idle or orphaned resources (for example unattached disks, public IPs and network interfaces) when you implement a clean-up recommendation.',
74
+ requiredRoles: ['Custom role with the delete actions of the Spotto clean-up remediation catalog'],
75
+ },
76
+ {
77
+ id: WritePermission.RemediationRightsize,
78
+ displayName: 'Rightsize and Reconfigure Resources',
79
+ description: 'Allows Spotto to resize, reconfigure, deallocate, or start resources when you implement a rightsizing recommendation.',
80
+ requiredRoles: ['Custom role with the write, deallocate and start actions of the Spotto rightsizing remediation catalog'],
81
+ },
82
+ {
83
+ id: WritePermission.CommitmentsManage,
84
+ displayName: 'Manage Reservations and Savings Plans',
85
+ description: 'Allows Spotto to change reservation and savings plan scope and settings.',
86
+ requiredRoles: ['Reservations Contributor'],
87
+ documentationUrl: 'https://learn.microsoft.com/en-us/azure/cost-management-billing/reservations/view-reservations',
88
+ },
43
89
  ];
@@ -0,0 +1,16 @@
1
+ import { hasExactKeys, isBoundedString, isRecord } from '../environment/internal.js';
2
+ export const AI_CHAT_FOLLOW_UP_LIMITS_V1 = Object.freeze({
3
+ suggestions: 3,
4
+ identifierScalars: 64,
5
+ textScalars: 160,
6
+ });
7
+ const isSuggestion = (value) => isRecord(value) &&
8
+ hasExactKeys(value, ['suggestionId', 'text']) &&
9
+ isBoundedString(value.suggestionId, AI_CHAT_FOLLOW_UP_LIMITS_V1.identifierScalars, { trimmed: true, controls: true }) &&
10
+ isBoundedString(value.text, AI_CHAT_FOLLOW_UP_LIMITS_V1.textScalars, { trimmed: true, controls: true });
11
+ /** Strictly validates a bounded list of follow-up suggestions with unique ids and unique text. */
12
+ export const isAIChatFollowUpSuggestions = (value) => Array.isArray(value) &&
13
+ value.length <= AI_CHAT_FOLLOW_UP_LIMITS_V1.suggestions &&
14
+ value.every(isSuggestion) &&
15
+ new Set(value.map(suggestion => suggestion.suggestionId)).size === value.length &&
16
+ new Set(value.map(suggestion => suggestion.text.toLowerCase())).size === value.length;
@@ -4,6 +4,8 @@ export const AI_CHAT_GROUNDING_LIMITS_V1 = Object.freeze({
4
4
  claims: 128,
5
5
  citationsPerClaim: 32,
6
6
  identifierScalars: 128,
7
+ figures: 128,
8
+ figureTextScalars: 96,
7
9
  });
8
10
  export const AI_CHAT_GROUNDING_REASON_CODES_V1 = [
9
11
  'grounding.not-required',
@@ -14,10 +16,20 @@ export const AI_CHAT_GROUNDING_REASON_CODES_V1 = [
14
16
  'grounding.generation-mismatch',
15
17
  'grounding.value-mismatch',
16
18
  'grounding.unsupported-claim',
19
+ 'grounding.figure-unreferenced',
20
+ 'grounding.reference-unresolved',
17
21
  ];
22
+ /**
23
+ * HTML attribute the API puts on the element wrapping each figure in the answer. Its value is the figure's
24
+ * `figureId`, so clients anchor provenance without matching text.
25
+ */
26
+ export const AI_CHAT_GROUNDED_FIGURE_ANCHOR_ATTRIBUTE_V1 = 'data-spotto-figure';
18
27
  const COVERAGE_STATUSES = new Set(['complete', 'partial', 'unavailable', 'stale', 'not-collected']);
28
+ const FIGURE_KINDS = new Set(['money', 'percentage', 'quantity', 'date']);
29
+ const FIGURE_ONLY_REASON_CODES = new Set(['grounding.figure-unreferenced', 'grounding.reference-unresolved']);
19
30
  const GROUNDING_REASON_CODES = new Set(AI_CHAT_GROUNDING_REASON_CODES_V1);
20
31
  const FAILURE_REASON_CODES = new Set(AI_CHAT_GROUNDING_REASON_CODES_V1.filter(code => code !== 'grounding.not-required'));
32
+ const CLAIM_FAILURE_REASON_CODES = new Set([...FAILURE_REASON_CODES].filter(code => !FIGURE_ONLY_REASON_CODES.has(code)));
21
33
  const isIdentifier = (value) => isBoundedString(value, AI_CHAT_GROUNDING_LIMITS_V1.identifierScalars, { trimmed: true, controls: true });
22
34
  const isCitationIds = (value, requireOne) => Array.isArray(value) &&
23
35
  value.length <= AI_CHAT_GROUNDING_LIMITS_V1.citationsPerClaim &&
@@ -45,13 +57,28 @@ const isAIChatClaimVerificationV1 = (value) => {
45
57
  if (value.status === 'verified') {
46
58
  return value.reasonCode === undefined && isCitationIds(value.citationIds, true);
47
59
  }
48
- return typeof value.reasonCode === 'string' && FAILURE_REASON_CODES.has(value.reasonCode) && isCitationIds(value.citationIds, false);
60
+ return typeof value.reasonCode === 'string' && CLAIM_FAILURE_REASON_CODES.has(value.reasonCode) && isCitationIds(value.citationIds, false);
49
61
  };
50
- /** Strictly validates deterministic summary and claim-level citation invariants. */
51
- export const isAIChatGroundingSummary = (value) => {
62
+ /** Strictly validates one grounded figure. */
63
+ export const isAIChatGroundedFigureV1 = (value) => {
52
64
  if (!isRecord(value) ||
53
- !hasExactKeys(value, ['status', 'method', 'totalClaimCount', 'verifiedClaimCount', 'claims'], ['reasonCode']) ||
54
- value.method !== 'deterministic-citation-and-value' ||
65
+ !hasExactKeys(value, ['figureId', 'status', 'kind', 'text', 'citationIds'], ['reasonCode']) ||
66
+ !isIdentifier(value.figureId) ||
67
+ typeof value.kind !== 'string' ||
68
+ !FIGURE_KINDS.has(value.kind) ||
69
+ !isBoundedString(value.text, AI_CHAT_GROUNDING_LIMITS_V1.figureTextScalars, { trimmed: true, controls: true })) {
70
+ return false;
71
+ }
72
+ if (value.status === 'verified') {
73
+ return value.reasonCode === undefined && isCitationIds(value.citationIds, true);
74
+ }
75
+ return (value.status === 'unverified' &&
76
+ value.reasonCode === 'grounding.figure-unreferenced' &&
77
+ Array.isArray(value.citationIds) &&
78
+ value.citationIds.length === 0);
79
+ };
80
+ const isClaimSummary = (value) => {
81
+ if (value.figures !== undefined ||
55
82
  (value.status !== 'verified' && value.status !== 'unverified' && value.status !== 'not-required') ||
56
83
  !isNonNegativeInteger(value.totalClaimCount) ||
57
84
  !isNonNegativeInteger(value.verifiedClaimCount) ||
@@ -71,10 +98,50 @@ export const isAIChatGroundingSummary = (value) => {
71
98
  if (value.status === 'not-required') {
72
99
  return value.totalClaimCount === 0 && value.verifiedClaimCount === 0 && value.reasonCode === 'grounding.not-required';
73
100
  }
74
- if (typeof value.reasonCode !== 'string' || !GROUNDING_REASON_CODES.has(value.reasonCode) || value.reasonCode === 'grounding.not-required') {
101
+ if (typeof value.reasonCode !== 'string' || !CLAIM_FAILURE_REASON_CODES.has(value.reasonCode))
75
102
  return false;
76
- }
77
103
  if (value.totalClaimCount === 0)
78
104
  return value.reasonCode === 'grounding.claim-extraction-failed';
79
105
  return value.verifiedClaimCount < value.totalClaimCount;
80
106
  };
107
+ const isFigureSummary = (value) => {
108
+ if (value.totalClaimCount !== 0 ||
109
+ value.verifiedClaimCount !== 0 ||
110
+ !Array.isArray(value.claims) ||
111
+ value.claims.length !== 0 ||
112
+ !Array.isArray(value.figures) ||
113
+ value.figures.length > AI_CHAT_GROUNDING_LIMITS_V1.figures ||
114
+ !value.figures.every(isAIChatGroundedFigureV1) ||
115
+ new Set(value.figures.map(figure => figure.figureId)).size !== value.figures.length) {
116
+ return false;
117
+ }
118
+ const verified = value.figures.filter(figure => figure.status === 'verified').length;
119
+ const unverified = value.figures.length - verified;
120
+ const failureReason = typeof value.reasonCode === 'string' && FAILURE_REASON_CODES.has(value.reasonCode);
121
+ switch (value.status) {
122
+ case 'not-required':
123
+ return value.figures.length === 0 && value.reasonCode === 'grounding.not-required';
124
+ case 'verified':
125
+ return verified > 0 && unverified === 0 && value.reasonCode === undefined;
126
+ case 'partial':
127
+ return verified > 0 && unverified > 0 && failureReason;
128
+ case 'unverified':
129
+ // Also reached with no figures left, for example when every statement with an unresolved reference was removed.
130
+ return verified === 0 && failureReason;
131
+ default:
132
+ return false;
133
+ }
134
+ };
135
+ /** Strictly validates deterministic summary, claim-level and figure-level citation invariants. */
136
+ export const isAIChatGroundingSummary = (value) => {
137
+ if (!isRecord(value) ||
138
+ !hasExactKeys(value, ['status', 'method', 'totalClaimCount', 'verifiedClaimCount', 'claims'], ['reasonCode', 'figures']) ||
139
+ (value.reasonCode !== undefined && (typeof value.reasonCode !== 'string' || !GROUNDING_REASON_CODES.has(value.reasonCode)))) {
140
+ return false;
141
+ }
142
+ if (value.method === 'deterministic-citation-and-value')
143
+ return isClaimSummary(value);
144
+ if (value.method === 'server-rendered-figures')
145
+ return isFigureSummary(value);
146
+ return false;
147
+ };
@@ -1,5 +1,6 @@
1
1
  /** Common AI interfaces shared between frontend and backend */
2
2
  export * from './grounding.js';
3
+ export * from './followUps.js';
3
4
  export * from './conversationHistory.js';
4
5
  export * from './workspaceArtifacts.js';
5
6
  /** Maximum length of the optional free-text comment attached to per-turn feedback. */
@@ -1,3 +1,4 @@
1
+ export * from './commitmentsPlanningView.js';
1
2
  export { validateAwsCommitmentsPlanningViewIdentity } from './commitmentsPlanningValidation.js';
2
3
  export * from './organizationCommitments.js';
3
4
  export * from './organizationCommitmentsApiValidation.js';