@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.
- package/README.md +3 -0
- package/dist/accounts/accounts.d.ts +13 -0
- package/dist/accounts/accounts.d.ts.map +1 -1
- package/dist/accounts/azureSpSetup.d.ts +5 -0
- package/dist/accounts/azureSpSetup.d.ts.map +1 -1
- package/dist/accounts/azureSpSetup.js.map +1 -1
- package/dist/accounts/index.d.ts +1 -0
- package/dist/accounts/index.d.ts.map +1 -1
- package/dist/accounts/index.js +1 -0
- package/dist/accounts/index.js.map +1 -1
- package/dist/accounts/subscriptionWriteAccess.d.ts +76 -0
- package/dist/accounts/subscriptionWriteAccess.d.ts.map +1 -0
- package/dist/accounts/subscriptionWriteAccess.js +119 -0
- package/dist/accounts/subscriptionWriteAccess.js.map +1 -0
- package/dist/accounts/writePermissions.d.ts +17 -1
- package/dist/accounts/writePermissions.d.ts.map +1 -1
- package/dist/accounts/writePermissions.js +47 -1
- package/dist/accounts/writePermissions.js.map +1 -1
- package/dist/ai/followUps.d.ts +16 -0
- package/dist/ai/followUps.d.ts.map +1 -0
- package/dist/ai/followUps.js +21 -0
- package/dist/ai/followUps.js.map +1 -0
- package/dist/ai/grounding.d.ts +42 -5
- package/dist/ai/grounding.d.ts.map +1 -1
- package/dist/ai/grounding.js +76 -8
- package/dist/ai/grounding.js.map +1 -1
- package/dist/ai/index.d.ts +4 -0
- package/dist/ai/index.d.ts.map +1 -1
- package/dist/ai/index.js +1 -0
- package/dist/ai/index.js.map +1 -1
- package/dist/aws/commitments-planning.d.ts +1 -1
- package/dist/aws/commitments-planning.d.ts.map +1 -1
- package/dist/aws/commitments-planning.js +1 -0
- package/dist/aws/commitments-planning.js.map +1 -1
- package/dist/aws/commitmentsPlanningValidation.d.ts +1 -1
- package/dist/aws/commitmentsPlanningValidation.d.ts.map +1 -1
- package/dist/aws/commitmentsPlanningValidation.js +26 -25
- package/dist/aws/commitmentsPlanningValidation.js.map +1 -1
- package/dist/aws/commitmentsPlanningView.d.ts +49 -0
- package/dist/aws/commitmentsPlanningView.d.ts.map +1 -0
- package/dist/aws/{pluginPublicArtifactEvidence.js → commitmentsPlanningView.js} +1 -1
- package/dist/aws/commitmentsPlanningView.js.map +1 -0
- package/dist/aws/index.d.ts +2 -14
- package/dist/aws/index.d.ts.map +1 -1
- package/dist/aws/index.js +2 -13
- package/dist/aws/index.js.map +1 -1
- package/dist/aws/organizationCommitments.d.ts +2 -1
- package/dist/aws/organizationCommitments.d.ts.map +1 -1
- package/dist/aws/organizationCommitments.js +2 -2
- package/dist/aws/organizationCommitments.js.map +1 -1
- package/dist/aws/organizationCommitmentsApiValidation.d.ts.map +1 -1
- package/dist/aws/organizationCommitmentsApiValidation.js +64 -64
- package/dist/aws/organizationCommitmentsApiValidation.js.map +1 -1
- package/dist/aws/organizationCommitmentsValidation.d.ts.map +1 -1
- package/dist/aws/organizationCommitmentsValidation.js +45 -44
- package/dist/aws/organizationCommitmentsValidation.js.map +1 -1
- package/dist/aws/portalOrganizationCommitmentsPlanningPublicArtifactValidation.d.ts.map +1 -1
- package/dist/aws/portalOrganizationCommitmentsPlanningPublicArtifactValidation.js +79 -76
- package/dist/aws/portalOrganizationCommitmentsPlanningPublicArtifactValidation.js.map +1 -1
- package/dist/aws/portalOrganizationCommitmentsPlanningPublicArtifacts.d.ts +1 -2
- package/dist/aws/portalOrganizationCommitmentsPlanningPublicArtifacts.d.ts.map +1 -1
- package/dist/aws/portalOrganizationCommitmentsPlanningPublicArtifacts.js.map +1 -1
- package/dist/aws/publicArtifacts.d.ts +2 -37
- package/dist/aws/publicArtifacts.d.ts.map +1 -1
- package/dist/aws/publicArtifacts.js +3 -1
- package/dist/aws/publicArtifacts.js.map +1 -1
- package/dist/aws/relationships.d.ts +5 -3
- package/dist/aws/relationships.d.ts.map +1 -1
- package/dist/aws/relationships.js +18 -3
- package/dist/aws/relationships.js.map +1 -1
- package/dist/aws/requests.d.ts +35 -3
- package/dist/aws/requests.d.ts.map +1 -1
- package/dist/aws/requests.js +5 -3
- package/dist/aws/requests.js.map +1 -1
- package/dist/aws/resourceGraph.d.ts +14 -0
- package/dist/aws/resourceGraph.d.ts.map +1 -0
- package/dist/aws/resourceGraph.js +68 -0
- package/dist/aws/resourceGraph.js.map +1 -0
- package/dist/aws/validationHelpers.d.ts +8 -0
- package/dist/aws/validationHelpers.d.ts.map +1 -0
- package/dist/aws/validationHelpers.js +54 -0
- package/dist/aws/validationHelpers.js.map +1 -0
- package/dist/azure/commitmentsPlanning.d.ts +15 -46
- package/dist/azure/commitmentsPlanning.d.ts.map +1 -1
- package/dist/azure/commitmentsPlanning.js +9 -0
- package/dist/azure/commitmentsPlanning.js.map +1 -1
- package/dist/azure/commitmentsPlanningValidation.d.ts +18 -0
- package/dist/azure/commitmentsPlanningValidation.d.ts.map +1 -0
- package/dist/azure/commitmentsPlanningValidation.js +50 -0
- package/dist/azure/commitmentsPlanningValidation.js.map +1 -0
- package/dist/azure/dataProtection.d.ts +40 -0
- package/dist/azure/dataProtection.d.ts.map +1 -1
- package/dist/azure/governance.d.ts +5 -0
- package/dist/azure/governance.d.ts.map +1 -1
- package/dist/azure/metrics.d.ts +2 -27
- package/dist/azure/metrics.d.ts.map +1 -1
- package/dist/azure/payloads.d.ts +24 -0
- package/dist/azure/payloads.d.ts.map +1 -1
- package/dist/azure/payloads.js +87 -0
- package/dist/azure/payloads.js.map +1 -1
- package/dist/azure/recommendationTracks.d.ts +1 -1
- package/dist/azure/recommendationTracks.d.ts.map +1 -1
- package/dist/azure/reportEvidence.d.ts +192 -11
- package/dist/azure/reportEvidence.d.ts.map +1 -1
- package/dist/azure/reportEvidence.js +9 -1
- package/dist/azure/reportEvidence.js.map +1 -1
- package/dist/azure/reportEvidenceValidation.d.ts.map +1 -1
- package/dist/azure/reportEvidenceValidation.js +201 -5
- package/dist/azure/reportEvidenceValidation.js.map +1 -1
- package/dist/azure/reportEvidenceValidationHelpers.d.ts +3 -16
- package/dist/azure/reportEvidenceValidationHelpers.d.ts.map +1 -1
- package/dist/azure/reportEvidenceValidationHelpers.js +80 -92
- package/dist/azure/reportEvidenceValidationHelpers.js.map +1 -1
- package/dist/azure/resilienceFacts.d.ts +100 -0
- package/dist/azure/resilienceFacts.d.ts.map +1 -0
- package/dist/azure/resilienceFacts.js +20 -0
- package/dist/azure/resilienceFacts.js.map +1 -0
- package/dist/azure/resilienceFactsValidation.d.ts +4 -0
- package/dist/azure/resilienceFactsValidation.d.ts.map +1 -0
- package/dist/azure/resilienceFactsValidation.js +70 -0
- package/dist/azure/resilienceFactsValidation.js.map +1 -0
- package/dist/azure/savings.d.ts +4 -2
- package/dist/azure/savings.d.ts.map +1 -1
- package/dist/azure/serviceRetirement.d.ts +21 -2
- package/dist/azure/serviceRetirement.d.ts.map +1 -1
- package/dist/azure/views.d.ts +24 -1
- package/dist/azure/views.d.ts.map +1 -1
- package/dist/azure/views.js.map +1 -1
- package/dist/common/boundedRows.d.ts +7 -0
- package/dist/common/boundedRows.d.ts.map +1 -0
- package/dist/{scheduler/scheduler.js → common/boundedRows.js} +1 -1
- package/dist/common/boundedRows.js.map +1 -0
- package/dist/common/index.d.ts +3 -0
- package/dist/common/index.d.ts.map +1 -1
- package/dist/common/index.js +3 -0
- package/dist/common/index.js.map +1 -1
- package/dist/common/metricStats.d.ts +29 -0
- package/dist/common/metricStats.d.ts.map +1 -0
- package/dist/{scheduler/bastionSchedule.js → common/metricStats.js} +1 -1
- package/dist/common/metricStats.js.map +1 -0
- package/dist/common/provider.d.ts +2 -0
- package/dist/common/provider.d.ts.map +1 -1
- package/dist/common/relationships.d.ts +3 -3
- package/dist/common/relationships.d.ts.map +1 -1
- package/dist/common/resourceGraph.d.ts +137 -0
- package/dist/common/resourceGraph.d.ts.map +1 -0
- package/dist/common/resourceGraph.js +17 -0
- package/dist/common/resourceGraph.js.map +1 -0
- package/dist/common/resourceGraphValidation.d.ts +30 -0
- package/dist/common/resourceGraphValidation.d.ts.map +1 -0
- package/dist/common/resourceGraphValidation.js +369 -0
- package/dist/common/resourceGraphValidation.js.map +1 -0
- package/dist/common/resourceIdentity.d.ts +28 -0
- package/dist/common/resourceIdentity.d.ts.map +1 -0
- package/dist/common/resourceIdentity.js +35 -0
- package/dist/common/resourceIdentity.js.map +1 -0
- package/dist/common/sha256.d.ts +2 -0
- package/dist/common/sha256.d.ts.map +1 -1
- package/dist/common/sha256.js +3 -0
- package/dist/common/sha256.js.map +1 -1
- package/dist/common/utilizationStories.d.ts +695 -0
- package/dist/common/utilizationStories.d.ts.map +1 -0
- package/dist/common/utilizationStories.js +21 -0
- package/dist/common/utilizationStories.js.map +1 -0
- package/dist/common/utilizationStoriesValidation.d.ts +60 -0
- package/dist/common/utilizationStoriesValidation.d.ts.map +1 -0
- package/dist/common/utilizationStoriesValidation.js +762 -0
- package/dist/common/utilizationStoriesValidation.js.map +1 -0
- package/dist/common/validationHelpers.d.ts +37 -0
- package/dist/common/validationHelpers.d.ts.map +1 -0
- package/dist/common/validationHelpers.js +147 -0
- package/dist/common/validationHelpers.js.map +1 -0
- package/dist/esm/accounts/index.js +1 -0
- package/dist/esm/accounts/subscriptionWriteAccess.js +112 -0
- package/dist/esm/accounts/writePermissions.js +46 -0
- package/dist/esm/ai/followUps.js +16 -0
- package/dist/esm/ai/grounding.js +74 -7
- package/dist/esm/ai/index.js +1 -0
- package/dist/esm/aws/commitments-planning.js +1 -0
- package/dist/esm/aws/commitmentsPlanningValidation.js +2 -1
- package/dist/esm/aws/index.js +2 -13
- package/dist/esm/aws/organizationCommitments.js +2 -2
- package/dist/esm/aws/organizationCommitmentsApiValidation.js +5 -5
- package/dist/esm/aws/organizationCommitmentsValidation.js +2 -1
- package/dist/esm/aws/portalOrganizationCommitmentsPlanningPublicArtifactValidation.js +8 -5
- package/dist/esm/aws/publicArtifacts.js +2 -0
- package/dist/esm/aws/relationships.js +4 -1
- package/dist/esm/aws/requests.js +4 -2
- package/dist/esm/aws/resourceGraph.js +63 -0
- package/dist/esm/aws/validationHelpers.js +46 -0
- package/dist/esm/azure/commitmentsPlanning.js +8 -1
- package/dist/esm/azure/commitmentsPlanningValidation.js +39 -0
- package/dist/esm/azure/payloads.js +84 -1
- package/dist/esm/azure/reportEvidence.js +8 -0
- package/dist/esm/azure/reportEvidenceValidation.js +202 -6
- package/dist/esm/azure/reportEvidenceValidationHelpers.js +7 -19
- package/dist/esm/azure/resilienceFacts.js +16 -0
- package/dist/esm/azure/resilienceFactsValidation.js +64 -0
- package/dist/esm/common/index.js +3 -0
- package/dist/esm/common/resourceGraph.js +13 -0
- package/dist/esm/common/resourceGraphValidation.js +365 -0
- package/dist/esm/common/resourceIdentity.js +24 -0
- package/dist/esm/common/sha256.js +2 -0
- package/dist/esm/common/utilizationStories.js +17 -0
- package/dist/esm/common/utilizationStoriesValidation.js +718 -0
- package/dist/esm/common/validationHelpers.js +115 -0
- package/dist/esm/entries/relationships.js +2 -2
- package/dist/esm/index.js +5 -0
- package/dist/esm/index.vite.js +1 -0
- package/dist/esm/reporting/jobs/index.js +13 -0
- package/dist/esm/reporting/jobs/reportJobIdentity.js +76 -0
- package/dist/esm/reporting/jobs/reportJobMessages.js +47 -0
- package/dist/esm/reporting/jobs/reportJobRow.js +264 -0
- package/dist/esm/reporting/jobs/reportJobSpec.js +295 -0
- package/dist/esm/reporting/jobs/reportJobStatus.js +87 -0
- package/dist/esm/reporting/shared/reportTableEntities.js +41 -0
- package/dist/esm/reporting/shared/reportingDigest.js +57 -0
- package/dist/esm/reporting/shared/reportingIds.js +88 -0
- package/dist/esm/reporting/shared/reportingPaths.js +23 -0
- package/dist/esm/scheduler/index.js +4 -4
- package/dist/esm/scheduler/resourceStrategy.js +2 -0
- package/dist/esm/scheduler/resourceStrategyCapabilityValidation.js +265 -0
- package/dist/esm/scheduler/resourceStrategyContracts.js +20 -0
- package/dist/esm/scheduler/resourceStrategyFinancialValidation.js +145 -0
- package/dist/esm/scheduler/resourceStrategyPermissionValidation.js +190 -0
- package/dist/esm/scheduler/resourceStrategyScheduleValidation.js +506 -0
- package/dist/esm/scheduler/resourceStrategyValidation.js +4 -0
- package/dist/esm/scheduler/resourceStrategyValidationShared.js +261 -0
- package/dist/esm/scheduler/schedulerValidation.js +372 -0
- package/dist/esm/scheduler/weeklyAvailabilityFixtures.js +140 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/index.vite.d.ts +1 -0
- package/dist/index.vite.d.ts.map +1 -1
- package/dist/index.vite.js +1 -0
- package/dist/index.vite.js.map +1 -1
- package/dist/reporting/jobs/index.d.ts +14 -0
- package/dist/reporting/jobs/index.d.ts.map +1 -0
- package/dist/reporting/jobs/index.js +45 -0
- package/dist/reporting/jobs/index.js.map +1 -0
- package/dist/reporting/jobs/reportJobIdentity.d.ts +44 -0
- package/dist/reporting/jobs/reportJobIdentity.d.ts.map +1 -0
- package/dist/reporting/jobs/reportJobIdentity.js +88 -0
- package/dist/reporting/jobs/reportJobIdentity.js.map +1 -0
- package/dist/reporting/jobs/reportJobMessages.d.ts +30 -0
- package/dist/reporting/jobs/reportJobMessages.d.ts.map +1 -0
- package/dist/reporting/jobs/reportJobMessages.js +54 -0
- package/dist/reporting/jobs/reportJobMessages.js.map +1 -0
- package/dist/reporting/jobs/reportJobRow.d.ts +98 -0
- package/dist/reporting/jobs/reportJobRow.d.ts.map +1 -0
- package/dist/reporting/jobs/reportJobRow.js +270 -0
- package/dist/reporting/jobs/reportJobRow.js.map +1 -0
- package/dist/reporting/jobs/reportJobSpec.d.ts +92 -0
- package/dist/reporting/jobs/reportJobSpec.d.ts.map +1 -0
- package/dist/reporting/jobs/reportJobSpec.js +304 -0
- package/dist/reporting/jobs/reportJobSpec.js.map +1 -0
- package/dist/reporting/jobs/reportJobStatus.d.ts +60 -0
- package/dist/reporting/jobs/reportJobStatus.d.ts.map +1 -0
- package/dist/reporting/jobs/reportJobStatus.js +98 -0
- package/dist/reporting/jobs/reportJobStatus.js.map +1 -0
- package/dist/reporting/shared/reportTableEntities.d.ts +23 -0
- package/dist/reporting/shared/reportTableEntities.d.ts.map +1 -0
- package/dist/reporting/shared/reportTableEntities.js +47 -0
- package/dist/reporting/shared/reportTableEntities.js.map +1 -0
- package/dist/reporting/shared/reportingDigest.d.ts +6 -0
- package/dist/reporting/shared/reportingDigest.d.ts.map +1 -0
- package/dist/reporting/shared/reportingDigest.js +63 -0
- package/dist/reporting/shared/reportingDigest.js.map +1 -0
- package/dist/reporting/shared/reportingIds.d.ts +34 -0
- package/dist/reporting/shared/reportingIds.d.ts.map +1 -0
- package/dist/reporting/shared/reportingIds.js +102 -0
- package/dist/reporting/shared/reportingIds.js.map +1 -0
- package/dist/reporting/shared/reportingPaths.d.ts +14 -0
- package/dist/reporting/shared/reportingPaths.d.ts.map +1 -0
- package/dist/reporting/shared/reportingPaths.js +29 -0
- package/dist/reporting/shared/reportingPaths.js.map +1 -0
- package/dist/scheduler/index.d.ts +4 -4
- package/dist/scheduler/index.d.ts.map +1 -1
- package/dist/scheduler/index.js +4 -4
- package/dist/scheduler/index.js.map +1 -1
- package/dist/scheduler/resourceStrategy.d.ts +3 -0
- package/dist/scheduler/resourceStrategy.d.ts.map +1 -0
- package/dist/scheduler/resourceStrategy.js +19 -0
- package/dist/scheduler/resourceStrategy.js.map +1 -0
- package/dist/scheduler/resourceStrategyCapabilityValidation.d.ts +4 -0
- package/dist/scheduler/resourceStrategyCapabilityValidation.d.ts.map +1 -0
- package/dist/scheduler/resourceStrategyCapabilityValidation.js +270 -0
- package/dist/scheduler/resourceStrategyCapabilityValidation.js.map +1 -0
- package/dist/scheduler/resourceStrategyContracts.d.ts +466 -0
- package/dist/scheduler/resourceStrategyContracts.d.ts.map +1 -0
- package/dist/scheduler/resourceStrategyContracts.js +24 -0
- package/dist/scheduler/resourceStrategyContracts.js.map +1 -0
- package/dist/scheduler/resourceStrategyFinancialValidation.d.ts +5 -0
- package/dist/scheduler/resourceStrategyFinancialValidation.d.ts.map +1 -0
- package/dist/scheduler/resourceStrategyFinancialValidation.js +151 -0
- package/dist/scheduler/resourceStrategyFinancialValidation.js.map +1 -0
- package/dist/scheduler/resourceStrategyPermissionValidation.d.ts +4 -0
- package/dist/scheduler/resourceStrategyPermissionValidation.d.ts.map +1 -0
- package/dist/scheduler/resourceStrategyPermissionValidation.js +195 -0
- package/dist/scheduler/resourceStrategyPermissionValidation.js.map +1 -0
- package/dist/scheduler/resourceStrategyScheduleValidation.d.ts +14 -0
- package/dist/scheduler/resourceStrategyScheduleValidation.d.ts.map +1 -0
- package/dist/scheduler/resourceStrategyScheduleValidation.js +519 -0
- package/dist/scheduler/resourceStrategyScheduleValidation.js.map +1 -0
- package/dist/scheduler/resourceStrategyValidation.d.ts +5 -0
- package/dist/scheduler/resourceStrategyValidation.d.ts.map +1 -0
- package/dist/scheduler/resourceStrategyValidation.js +21 -0
- package/dist/scheduler/resourceStrategyValidation.js.map +1 -0
- package/dist/scheduler/resourceStrategyValidationShared.d.ts +19 -0
- package/dist/scheduler/resourceStrategyValidationShared.d.ts.map +1 -0
- package/dist/scheduler/resourceStrategyValidationShared.js +281 -0
- package/dist/scheduler/resourceStrategyValidationShared.js.map +1 -0
- package/dist/scheduler/schedulerContracts.d.ts +184 -0
- package/dist/scheduler/schedulerContracts.d.ts.map +1 -0
- package/dist/{aws/portalPublicArtifactNestedEvidence.js → scheduler/schedulerContracts.js} +1 -1
- package/dist/scheduler/schedulerContracts.js.map +1 -0
- package/dist/scheduler/schedulerValidation.d.ts +15 -0
- package/dist/scheduler/schedulerValidation.d.ts.map +1 -0
- package/dist/scheduler/schedulerValidation.js +388 -0
- package/dist/scheduler/schedulerValidation.js.map +1 -0
- package/dist/scheduler/weeklyAvailabilityFixtures.d.ts +26 -0
- package/dist/scheduler/weeklyAvailabilityFixtures.d.ts.map +1 -0
- package/dist/scheduler/weeklyAvailabilityFixtures.js +144 -0
- package/dist/scheduler/weeklyAvailabilityFixtures.js.map +1 -0
- package/package.json +26 -7
- package/dist/aws/pluginPublicArtifactBodyValidation.d.ts +0 -10
- package/dist/aws/pluginPublicArtifactBodyValidation.d.ts.map +0 -1
- package/dist/aws/pluginPublicArtifactBodyValidation.js +0 -225
- package/dist/aws/pluginPublicArtifactBodyValidation.js.map +0 -1
- package/dist/aws/pluginPublicArtifactEvidence.d.ts +0 -161
- package/dist/aws/pluginPublicArtifactEvidence.d.ts.map +0 -1
- package/dist/aws/pluginPublicArtifactEvidence.js.map +0 -1
- package/dist/aws/pluginPublicArtifactManifestValidation.d.ts +0 -4
- package/dist/aws/pluginPublicArtifactManifestValidation.d.ts.map +0 -1
- package/dist/aws/pluginPublicArtifactManifestValidation.js +0 -259
- package/dist/aws/pluginPublicArtifactManifestValidation.js.map +0 -1
- package/dist/aws/pluginPublicArtifactSectionValidation.d.ts +0 -6
- package/dist/aws/pluginPublicArtifactSectionValidation.d.ts.map +0 -1
- package/dist/aws/pluginPublicArtifactSectionValidation.js +0 -471
- package/dist/aws/pluginPublicArtifactSectionValidation.js.map +0 -1
- package/dist/aws/pluginPublicArtifactValidation.d.ts +0 -3
- package/dist/aws/pluginPublicArtifactValidation.d.ts.map +0 -1
- package/dist/aws/pluginPublicArtifactValidation.js +0 -9
- package/dist/aws/pluginPublicArtifactValidation.js.map +0 -1
- package/dist/aws/pluginPublicArtifactValidationHelpers.d.ts +0 -23
- package/dist/aws/pluginPublicArtifactValidationHelpers.d.ts.map +0 -1
- package/dist/aws/pluginPublicArtifactValidationHelpers.js +0 -240
- package/dist/aws/pluginPublicArtifactValidationHelpers.js.map +0 -1
- package/dist/aws/pluginPublicArtifacts.d.ts +0 -253
- package/dist/aws/pluginPublicArtifacts.d.ts.map +0 -1
- package/dist/aws/pluginPublicArtifacts.js +0 -51
- package/dist/aws/pluginPublicArtifacts.js.map +0 -1
- package/dist/aws/portalCommitmentsPlanningPublicArtifactValidation.d.ts +0 -4
- package/dist/aws/portalCommitmentsPlanningPublicArtifactValidation.d.ts.map +0 -1
- package/dist/aws/portalCommitmentsPlanningPublicArtifactValidation.js +0 -513
- package/dist/aws/portalCommitmentsPlanningPublicArtifactValidation.js.map +0 -1
- package/dist/aws/portalCommitmentsPlanningPublicArtifacts.d.ts +0 -13
- package/dist/aws/portalCommitmentsPlanningPublicArtifacts.d.ts.map +0 -1
- package/dist/aws/portalCommitmentsPlanningPublicArtifacts.js +0 -5
- package/dist/aws/portalCommitmentsPlanningPublicArtifacts.js.map +0 -1
- package/dist/aws/portalPublicArtifactCurrentValidation.d.ts +0 -4
- package/dist/aws/portalPublicArtifactCurrentValidation.d.ts.map +0 -1
- package/dist/aws/portalPublicArtifactCurrentValidation.js +0 -333
- package/dist/aws/portalPublicArtifactCurrentValidation.js.map +0 -1
- package/dist/aws/portalPublicArtifactEvidenceValidation.d.ts +0 -6
- package/dist/aws/portalPublicArtifactEvidenceValidation.d.ts.map +0 -1
- package/dist/aws/portalPublicArtifactEvidenceValidation.js +0 -301
- package/dist/aws/portalPublicArtifactEvidenceValidation.js.map +0 -1
- package/dist/aws/portalPublicArtifactHistoryAiValidation.d.ts +0 -8
- package/dist/aws/portalPublicArtifactHistoryAiValidation.d.ts.map +0 -1
- package/dist/aws/portalPublicArtifactHistoryAiValidation.js +0 -377
- package/dist/aws/portalPublicArtifactHistoryAiValidation.js.map +0 -1
- package/dist/aws/portalPublicArtifactHistoryTypes.d.ts +0 -178
- package/dist/aws/portalPublicArtifactHistoryTypes.d.ts.map +0 -1
- package/dist/aws/portalPublicArtifactHistoryTypes.js +0 -44
- package/dist/aws/portalPublicArtifactHistoryTypes.js.map +0 -1
- package/dist/aws/portalPublicArtifactNestedEvidence.d.ts +0 -127
- package/dist/aws/portalPublicArtifactNestedEvidence.d.ts.map +0 -1
- package/dist/aws/portalPublicArtifactNestedEvidence.js.map +0 -1
- package/dist/aws/portalPublicArtifactNestedEvidenceValidation.d.ts +0 -6
- package/dist/aws/portalPublicArtifactNestedEvidenceValidation.d.ts.map +0 -1
- package/dist/aws/portalPublicArtifactNestedEvidenceValidation.js +0 -405
- package/dist/aws/portalPublicArtifactNestedEvidenceValidation.js.map +0 -1
- package/dist/aws/portalPublicArtifactValidation.d.ts +0 -3
- package/dist/aws/portalPublicArtifactValidation.d.ts.map +0 -1
- package/dist/aws/portalPublicArtifactValidation.js +0 -14
- package/dist/aws/portalPublicArtifactValidation.js.map +0 -1
- package/dist/aws/portalPublicArtifactValidationCommon.d.ts +0 -30
- package/dist/aws/portalPublicArtifactValidationCommon.d.ts.map +0 -1
- package/dist/aws/portalPublicArtifactValidationCommon.js +0 -167
- package/dist/aws/portalPublicArtifactValidationCommon.js.map +0 -1
- package/dist/aws/portalPublicArtifacts.d.ts +0 -400
- package/dist/aws/portalPublicArtifacts.d.ts.map +0 -1
- package/dist/aws/portalPublicArtifacts.js +0 -85
- package/dist/aws/portalPublicArtifacts.js.map +0 -1
- package/dist/aws/portalRelationshipPublicArtifactValidation.d.ts +0 -4
- package/dist/aws/portalRelationshipPublicArtifactValidation.d.ts.map +0 -1
- package/dist/aws/portalRelationshipPublicArtifactValidation.js +0 -338
- package/dist/aws/portalRelationshipPublicArtifactValidation.js.map +0 -1
- package/dist/aws/portalRelationshipPublicArtifacts.d.ts +0 -196
- package/dist/aws/portalRelationshipPublicArtifacts.d.ts.map +0 -1
- package/dist/aws/portalRelationshipPublicArtifacts.js +0 -63
- package/dist/aws/portalRelationshipPublicArtifacts.js.map +0 -1
- package/dist/aws/portalRelationshipResourceNodeTypes.d.ts +0 -269
- package/dist/aws/portalRelationshipResourceNodeTypes.d.ts.map +0 -1
- package/dist/aws/portalRelationshipResourceNodeTypes.js +0 -3
- package/dist/aws/portalRelationshipResourceNodeTypes.js.map +0 -1
- package/dist/aws/portalRelationshipResourceNodeValidation.d.ts +0 -2
- package/dist/aws/portalRelationshipResourceNodeValidation.d.ts.map +0 -1
- package/dist/aws/portalRelationshipResourceNodeValidation.js +0 -372
- package/dist/aws/portalRelationshipResourceNodeValidation.js.map +0 -1
- package/dist/esm/aws/pluginPublicArtifactBodyValidation.js +0 -217
- package/dist/esm/aws/pluginPublicArtifactManifestValidation.js +0 -255
- package/dist/esm/aws/pluginPublicArtifactSectionValidation.js +0 -464
- package/dist/esm/aws/pluginPublicArtifactValidation.js +0 -2
- package/dist/esm/aws/pluginPublicArtifactValidationHelpers.js +0 -216
- package/dist/esm/aws/pluginPublicArtifacts.js +0 -44
- package/dist/esm/aws/portalCommitmentsPlanningPublicArtifactValidation.js +0 -509
- package/dist/esm/aws/portalCommitmentsPlanningPublicArtifacts.js +0 -1
- package/dist/esm/aws/portalPublicArtifactCurrentValidation.js +0 -328
- package/dist/esm/aws/portalPublicArtifactEvidenceValidation.js +0 -294
- package/dist/esm/aws/portalPublicArtifactHistoryAiValidation.js +0 -368
- package/dist/esm/aws/portalPublicArtifactHistoryTypes.js +0 -40
- package/dist/esm/aws/portalPublicArtifactNestedEvidenceValidation.js +0 -397
- package/dist/esm/aws/portalPublicArtifactValidation.js +0 -2
- package/dist/esm/aws/portalPublicArtifactValidationCommon.js +0 -139
- package/dist/esm/aws/portalPublicArtifacts.js +0 -73
- package/dist/esm/aws/portalRelationshipPublicArtifactValidation.js +0 -334
- package/dist/esm/aws/portalRelationshipPublicArtifacts.js +0 -59
- package/dist/esm/aws/portalRelationshipResourceNodeValidation.js +0 -368
- package/dist/esm/scheduler/bastionScheduleProfile.js +0 -206
- package/dist/esm/scheduler/bastionScheduleValidation.js +0 -401
- package/dist/esm/scheduler/scheduler.js +0 -1
- package/dist/scheduler/bastionSchedule.d.ts +0 -113
- package/dist/scheduler/bastionSchedule.d.ts.map +0 -1
- package/dist/scheduler/bastionSchedule.js.map +0 -1
- package/dist/scheduler/bastionScheduleProfile.d.ts +0 -24
- package/dist/scheduler/bastionScheduleProfile.d.ts.map +0 -1
- package/dist/scheduler/bastionScheduleProfile.js +0 -210
- package/dist/scheduler/bastionScheduleProfile.js.map +0 -1
- package/dist/scheduler/bastionScheduleValidation.d.ts +0 -10
- package/dist/scheduler/bastionScheduleValidation.d.ts.map +0 -1
- package/dist/scheduler/bastionScheduleValidation.js +0 -412
- package/dist/scheduler/bastionScheduleValidation.js.map +0 -1
- package/dist/scheduler/scheduler.d.ts +0 -267
- package/dist/scheduler/scheduler.d.ts.map +0 -1
- package/dist/scheduler/scheduler.js.map +0 -1
- /package/dist/esm/aws/{pluginPublicArtifactEvidence.js → commitmentsPlanningView.js} +0 -0
- /package/dist/esm/{aws/portalPublicArtifactNestedEvidence.js → common/boundedRows.js} +0 -0
- /package/dist/esm/{aws/portalRelationshipResourceNodeTypes.js → common/metricStats.js} +0 -0
- /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":"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"}
|
|
@@ -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":";;;AA8BA,4BAGC;AAED,0BAGC;AAED,wCAGC;AAED,oCAGC;AAED,0CAGC;AAED,gDAGC;AAED,oCAGC;AAED,oCAIC;AAED,0CAIC;AAED,kCAEC;AAED,oCAEC;AAED,4DAKC;AAGD,gDAOC;AAGD,0CAiBC;AAnHM,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAuB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAAzH,QAAA,QAAQ,YAAiH;AAC/H,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AAArG,QAAA,QAAQ,YAA6F;AAC3G,MAAM,gBAAgB,GAAG,CAAC,KAAc,EAAW,EAAE,CAAC,KAAK,KAAK,SAAS,IAAI,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;AAAvF,QAAA,gBAAgB,oBAAuE;AAC7F,MAAM,cAAc,GAAG,CAAC,KAAc,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAA1G,QAAA,cAAc,kBAA4F;AAChH,MAAM,sBAAsB,GAAG,CAAC,KAAc,EAAW,EAAE,CAAC,KAAK,KAAK,SAAS,IAAI,IAAA,sBAAc,EAAC,KAAK,CAAC,CAAC;AAAnG,QAAA,sBAAsB,0BAA6E;AACzG,MAAM,iBAAiB,GAAG,CAAC,KAAc,EAAW,EAAE,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,SAAS,CAAC;AAAnG,QAAA,iBAAiB,qBAAkF;AACzG,MAAM,OAAO,GAAG,CAAC,KAAc,EAAmB,EAAE,CAAC,IAAA,sBAAc,EAAC,KAAK,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAA9G,QAAA,OAAO,WAAuG;AACpH,MAAM,UAAU,GAAG,CAAC,KAAc,EAAmB,EAAE,CAAC,IAAA,gBAAQ,EAAC,KAAK,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AAAxG,QAAA,UAAU,cAA8F;AAC9G,MAAM,aAAa,GAAG,CAAC,KAAc,EAAqB,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,gBAAQ,CAAC,CAAC;AAArG,QAAA,aAAa,iBAAwF;AAC3G,MAAM,aAAa,GAAG,CAAC,KAAc,EAAmC,EAAE,CAAC,IAAA,gBAAQ,EAAC,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,eAAO,CAAC,CAAC;AAA5H,QAAA,aAAa,iBAA+G;AAClI,MAAM,UAAU,GAAG,CAAC,KAA6B,EAAU,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC;AAAxH,QAAA,UAAU,cAA8G;AAC9H,MAAM,kBAAkB,GAAG,CAAC,KAAiB,EAAE,IAAuB,EAAW,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,IAAA,wBAAgB,EAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAA9H,QAAA,kBAAkB,sBAA4G;AACpI,MAAM,kBAAkB,GAAG,CAAC,KAAiB,EAAE,IAAuB,EAAW,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,IAAA,8BAAsB,EAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAApI,QAAA,kBAAkB,sBAAkH;AAE1I,MAAM,aAAa,GAAG,CAAI,KAAc,EAAE,KAAa,EAAE,KAAiC,EAAiC,EAAE;IAClI,IAAI,CAAC,IAAA,gBAAQ,EAAC,KAAK,CAAC,IAAI,CAAC,IAAA,eAAO,EAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAA,eAAO,EAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/H,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,UAAU,KAAK,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC;AAC9H,CAAC,CAAC;AAHW,QAAA,aAAa,iBAGxB;AAEF;;;GAGG;AACH,MAAM,qBAAqB,GAAG,oDAAoD,CAAC;AAEnF,SAAgB,QAAQ,CAAC,KAAc,EAAE,KAAa;IACpD,IAAI,CAAC,IAAA,gBAAQ,EAAC,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,yBAAyB,CAAC,CAAC;IACzE,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAgB,OAAO,CAAC,KAAc,EAAE,KAAa,EAAE,QAAQ,GAAG,KAAK;IACrE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,YAAY,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC;IAC7I,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAgB,cAAc,CAAC,KAAc,EAAE,KAAa;IAC1D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,sCAAsC,CAAC,CAAC;IAC/I,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAgB,YAAY,CAA6B,KAAc,EAAE,MAAwB,EAAE,KAAa;IAC9G,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAc,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,mBAAmB,CAAC,CAAC;IAChH,OAAO,KAAc,CAAC;AACxB,CAAC;AAED,SAAgB,eAAe,CAAC,KAAc,EAAE,KAAa;IAC3D,IAAI,OAAO,KAAK,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,qBAAqB,CAAC,CAAC;IAC/E,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAgB,kBAAkB,CAAC,KAAc,EAAE,KAAa;IAC9D,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,uCAAuC,CAAC,CAAC;IACxH,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AAED,SAAgB,YAAY,CAAC,KAAc,EAAE,KAAa;IACxD,IAAI,CAAC,IAAA,sBAAc,EAAC,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,2BAA2B,CAAC,CAAC;IACjF,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAgB,YAAY,CAAC,KAAc,EAAE,KAAa;IACxD,MAAM,SAAS,GAAG,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC/C,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,gCAAgC,CAAC,CAAC;IAC7I,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAgB,eAAe,CAAC,KAAiB,EAAE,OAA0B,EAAE,KAAa;IAC1F,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACxE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,gCAAgC,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAChH,CAAC;AAED,SAAgB,WAAW,CAAC,MAAe,EAAE,QAAiB,EAAE,KAAa;IAC3E,IAAI,MAAM,KAAK,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,gCAAgC,CAAC,CAAC;AACrF,CAAC;AAED,SAAgB,YAAY,CAAC,MAAyB,EAAE,KAAa;IACnE,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,+BAA+B,CAAC,CAAC;AACvG,CAAC;AAED,SAAgB,wBAAwB,CAAC,KAAc,EAAE,KAAa;IACpE,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAChD,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC;QAClH,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,2CAA2C,CAAC,CAAC;IACvE,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,wDAAwD;AACxD,SAAgB,kBAAkB,CAAC,KAAc,EAAE,KAAa;IAC9D,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC1C,eAAe,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,KAAK,CAAC,CAAC;IAC7D,OAAO;QACL,KAAK,EAAE,wBAAwB,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,KAAK,QAAQ,CAAC;QACnE,WAAW,EAAE,YAAY,CAAC,UAAU,CAAC,WAAW,EAAE,GAAG,KAAK,cAAc,CAAC;KAC1E,CAAC;AACJ,CAAC;AAED,mGAAmG;AACnG,SAAgB,eAAe,CAAC,KAAc,EAAE,KAAa,EAAE,iBAA2C,GAAG,EAAE,CAAC,KAAK;IACnH,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS;QAAE,OAAO;IACtF,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,yCAAyC,CAAC,CAAC;QAChG,OAAO;IACT,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,KAAK,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC;QAC5F,OAAO;IACT,CAAC;IACD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC;QAC7F,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,uCAAuC,CAAC,CAAC;IACnE,CAAC;IACD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,IAAI,cAAc,CAAC,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,IAAI,GAAG,uCAAuC,CAAC,CAAC;QACjG,eAAe,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,GAAG,EAAE,EAAE,cAAc,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC"}
|
|
@@ -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;
|
package/dist/esm/ai/grounding.js
CHANGED
|
@@ -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' &&
|
|
60
|
+
return typeof value.reasonCode === 'string' && CLAIM_FAILURE_REASON_CODES.has(value.reasonCode) && isCitationIds(value.citationIds, false);
|
|
49
61
|
};
|
|
50
|
-
/** Strictly validates
|
|
51
|
-
export const
|
|
62
|
+
/** Strictly validates one grounded figure. */
|
|
63
|
+
export const isAIChatGroundedFigureV1 = (value) => {
|
|
52
64
|
if (!isRecord(value) ||
|
|
53
|
-
!hasExactKeys(value, ['
|
|
54
|
-
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' || !
|
|
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
|
+
};
|
package/dist/esm/ai/index.js
CHANGED
|
@@ -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. */
|