@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,98 @@
|
|
|
1
|
+
import { type ReportJobReportType, type ReportJobSpecV1 } from './reportJobSpec';
|
|
2
|
+
import { type ReportJobFailureCode, type ReportJobFailureStage, type ReportJobNotificationStatus, type ReportJobStatus } from './reportJobStatus';
|
|
3
|
+
export declare const REPORT_JOB_ROW_SCHEMA_VERSION = 1;
|
|
4
|
+
export declare const REPORT_JOB_TRIGGERS: readonly ["api", "schedule"];
|
|
5
|
+
export type ReportJobTrigger = (typeof REPORT_JOB_TRIGGERS)[number];
|
|
6
|
+
/** UTF-8 byte limit of `sourceCoverageSummary` (a JSON object). */
|
|
7
|
+
export declare const REPORT_JOB_COVERAGE_SUMMARY_MAX_BYTES: number;
|
|
8
|
+
/** Written once by the API or the scheduler adapter; immutable afterwards. */
|
|
9
|
+
export interface ReportJobProducerFieldsV1 {
|
|
10
|
+
PartitionKey: string;
|
|
11
|
+
RowKey: string;
|
|
12
|
+
schemaVersion: 1;
|
|
13
|
+
jobId: string;
|
|
14
|
+
companyId: string;
|
|
15
|
+
reportType: ReportJobReportType;
|
|
16
|
+
trigger: ReportJobTrigger;
|
|
17
|
+
/** Schedule jobs only. */
|
|
18
|
+
scheduleId?: string;
|
|
19
|
+
/** Schedule jobs only. */
|
|
20
|
+
definitionRevision?: number;
|
|
21
|
+
/** Schedule jobs only: the occurrence the job is for (the job ID's instant). */
|
|
22
|
+
scheduledForUtc?: string;
|
|
23
|
+
/** When the producer accepted the job (the job ID's instant for API jobs). */
|
|
24
|
+
requestedAtUtc: string;
|
|
25
|
+
requestedByUserId?: string;
|
|
26
|
+
coalescedOccurrenceCount?: number;
|
|
27
|
+
/** Canonical `serializeReportJobSpecV1` output. */
|
|
28
|
+
requestJson: string;
|
|
29
|
+
requestSha256: string;
|
|
30
|
+
fileName: string;
|
|
31
|
+
notificationPolicyId?: string;
|
|
32
|
+
}
|
|
33
|
+
/** Merged by reportworker. The producer inserts `status: 'accepted'` and `attemptCount: 0`. */
|
|
34
|
+
export interface ReportJobWorkerFieldsV1 {
|
|
35
|
+
status: ReportJobStatus;
|
|
36
|
+
attemptCount: number;
|
|
37
|
+
leaseOwner?: string;
|
|
38
|
+
leaseExpiresAtUtc?: string;
|
|
39
|
+
startedAtUtc?: string;
|
|
40
|
+
lastAttemptAtUtc?: string;
|
|
41
|
+
sourceObservedAtUtc?: string;
|
|
42
|
+
sourceSnapshotSha256?: string;
|
|
43
|
+
/** A JSON object, at most 8 KiB of UTF-8. */
|
|
44
|
+
sourceCoverageSummary?: string;
|
|
45
|
+
generatedAtUtc?: string;
|
|
46
|
+
artifactContentSha256?: string;
|
|
47
|
+
artifactBytes?: number;
|
|
48
|
+
completedAtUtc?: string;
|
|
49
|
+
failureStage?: ReportJobFailureStage;
|
|
50
|
+
failureCode?: ReportJobFailureCode;
|
|
51
|
+
lastTransientErrorCode?: string;
|
|
52
|
+
}
|
|
53
|
+
/** Merged by cloud-engine's notifier (phase 6). The producer inserts `notificationStatus: 'none'`. */
|
|
54
|
+
export interface ReportJobNotificationFieldsV1 {
|
|
55
|
+
notificationStatus: ReportJobNotificationStatus;
|
|
56
|
+
}
|
|
57
|
+
export type ReportJobRowV1 = ReportJobProducerFieldsV1 & ReportJobWorkerFieldsV1 & ReportJobNotificationFieldsV1;
|
|
58
|
+
export declare const REPORT_JOB_PRODUCER_FIELDS: readonly ["PartitionKey", "RowKey", "schemaVersion", "jobId", "companyId", "reportType", "trigger", "scheduleId", "definitionRevision", "scheduledForUtc", "requestedAtUtc", "requestedByUserId", "coalescedOccurrenceCount", "requestJson", "requestSha256", "fileName", "notificationPolicyId"];
|
|
59
|
+
export declare const REPORT_JOB_WORKER_FIELDS: readonly ["status", "attemptCount", "leaseOwner", "leaseExpiresAtUtc", "startedAtUtc", "lastAttemptAtUtc", "sourceObservedAtUtc", "sourceSnapshotSha256", "sourceCoverageSummary", "generatedAtUtc", "artifactContentSha256", "artifactBytes", "completedAtUtc", "failureStage", "failureCode", "lastTransientErrorCode"];
|
|
60
|
+
export declare const REPORT_JOB_NOTIFICATION_FIELDS: readonly ["notificationStatus"];
|
|
61
|
+
export type ReportJobRowParseResult = {
|
|
62
|
+
ok: true;
|
|
63
|
+
row: ReportJobRowV1;
|
|
64
|
+
spec: ReportJobSpecV1;
|
|
65
|
+
} | {
|
|
66
|
+
ok: false;
|
|
67
|
+
code: Extract<ReportJobFailureCode, 'request-invalid' | 'request-hash-mismatch' | 'unsupported-schema-version'>;
|
|
68
|
+
errors: string[];
|
|
69
|
+
};
|
|
70
|
+
/**
|
|
71
|
+
* Validates a stored row and its request. Accepts REST (`PartitionKey`) and `@azure/data-tables` (`partitionKey`)
|
|
72
|
+
* key casing and ignores Table system properties. Checks keys against the body, the job ID against the trigger's
|
|
73
|
+
* instant, status against the fields that prove it, the report type and scope hash against the spec, the request's
|
|
74
|
+
* canonical form and `requestSha256`. Returns the row in REST casing. Never throws.
|
|
75
|
+
*/
|
|
76
|
+
export declare const parseReportJobRowV1: (entity: unknown) => Promise<ReportJobRowParseResult>;
|
|
77
|
+
export type BuildReportJobRowInput = {
|
|
78
|
+
companyId: string;
|
|
79
|
+
spec: ReportJobSpecV1;
|
|
80
|
+
fileName: string;
|
|
81
|
+
requestedAtUtc: string;
|
|
82
|
+
requestedByUserId?: string;
|
|
83
|
+
notificationPolicyId?: string;
|
|
84
|
+
} & ({
|
|
85
|
+
trigger: 'api';
|
|
86
|
+
} | {
|
|
87
|
+
trigger: 'schedule';
|
|
88
|
+
scheduleId: string;
|
|
89
|
+
definitionRevision: number;
|
|
90
|
+
scheduledForUtc: string;
|
|
91
|
+
coalescedOccurrenceCount?: number;
|
|
92
|
+
});
|
|
93
|
+
/**
|
|
94
|
+
* Builds the row a producer inserts (status `accepted`, attempt 0, notification `none`), with the job ID derived
|
|
95
|
+
* from the trigger's instant and the request. The result is validated with `parseReportJobRowV1`; invalid input throws.
|
|
96
|
+
*/
|
|
97
|
+
export declare const buildReportJobRowV1: (input: BuildReportJobRowInput) => Promise<ReportJobRowV1>;
|
|
98
|
+
//# sourceMappingURL=reportJobRow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reportJobRow.d.ts","sourceRoot":"","sources":["../../../src/reporting/jobs/reportJobRow.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.buildReportJobRowV1 = exports.parseReportJobRowV1 = exports.REPORT_JOB_NOTIFICATION_FIELDS = exports.REPORT_JOB_WORKER_FIELDS = exports.REPORT_JOB_PRODUCER_FIELDS = exports.REPORT_JOB_COVERAGE_SUMMARY_MAX_BYTES = exports.REPORT_JOB_TRIGGERS = exports.REPORT_JOB_ROW_SCHEMA_VERSION = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* The `reportjobs` row (core/specs/reporting/reporting-scheduler.md, "Report job table").
|
|
6
|
+
*
|
|
7
|
+
* PartitionKey = companyId, RowKey = jobId. Three writers own disjoint field groups and merge with ETag
|
|
8
|
+
* compare-and-swap: the producer (insert only), reportworker and, from phase 6, cloud-engine's notifier.
|
|
9
|
+
* The row carries no region (each region has its own table, queue and worker) and no time zone (reportworker uses
|
|
10
|
+
* the company's `preferredTimezone`, else UTC). The row never holds e-mail addresses, document content, source data, Blob paths or credentials.
|
|
11
|
+
*/
|
|
12
|
+
const reportingDigest_1 = require("../shared/reportingDigest");
|
|
13
|
+
const reportingPaths_1 = require("../shared/reportingPaths");
|
|
14
|
+
const reportingIds_1 = require("../shared/reportingIds");
|
|
15
|
+
const reportTableEntities_1 = require("../shared/reportTableEntities");
|
|
16
|
+
const reportJobIdentity_1 = require("./reportJobIdentity");
|
|
17
|
+
const reportJobSpec_1 = require("./reportJobSpec");
|
|
18
|
+
const reportJobStatus_1 = require("./reportJobStatus");
|
|
19
|
+
exports.REPORT_JOB_ROW_SCHEMA_VERSION = 1;
|
|
20
|
+
exports.REPORT_JOB_TRIGGERS = ['api', 'schedule'];
|
|
21
|
+
/** UTF-8 byte limit of `sourceCoverageSummary` (a JSON object). */
|
|
22
|
+
exports.REPORT_JOB_COVERAGE_SUMMARY_MAX_BYTES = 8 * 1024;
|
|
23
|
+
exports.REPORT_JOB_PRODUCER_FIELDS = [
|
|
24
|
+
'PartitionKey',
|
|
25
|
+
'RowKey',
|
|
26
|
+
'schemaVersion',
|
|
27
|
+
'jobId',
|
|
28
|
+
'companyId',
|
|
29
|
+
'reportType',
|
|
30
|
+
'trigger',
|
|
31
|
+
'scheduleId',
|
|
32
|
+
'definitionRevision',
|
|
33
|
+
'scheduledForUtc',
|
|
34
|
+
'requestedAtUtc',
|
|
35
|
+
'requestedByUserId',
|
|
36
|
+
'coalescedOccurrenceCount',
|
|
37
|
+
'requestJson',
|
|
38
|
+
'requestSha256',
|
|
39
|
+
'fileName',
|
|
40
|
+
'notificationPolicyId',
|
|
41
|
+
];
|
|
42
|
+
exports.REPORT_JOB_WORKER_FIELDS = [
|
|
43
|
+
'status',
|
|
44
|
+
'attemptCount',
|
|
45
|
+
'leaseOwner',
|
|
46
|
+
'leaseExpiresAtUtc',
|
|
47
|
+
'startedAtUtc',
|
|
48
|
+
'lastAttemptAtUtc',
|
|
49
|
+
'sourceObservedAtUtc',
|
|
50
|
+
'sourceSnapshotSha256',
|
|
51
|
+
'sourceCoverageSummary',
|
|
52
|
+
'generatedAtUtc',
|
|
53
|
+
'artifactContentSha256',
|
|
54
|
+
'artifactBytes',
|
|
55
|
+
'completedAtUtc',
|
|
56
|
+
'failureStage',
|
|
57
|
+
'failureCode',
|
|
58
|
+
'lastTransientErrorCode',
|
|
59
|
+
];
|
|
60
|
+
exports.REPORT_JOB_NOTIFICATION_FIELDS = ['notificationStatus'];
|
|
61
|
+
const REQUIRED_FIELDS = [
|
|
62
|
+
'PartitionKey',
|
|
63
|
+
'RowKey',
|
|
64
|
+
'schemaVersion',
|
|
65
|
+
'jobId',
|
|
66
|
+
'companyId',
|
|
67
|
+
'reportType',
|
|
68
|
+
'trigger',
|
|
69
|
+
'requestedAtUtc',
|
|
70
|
+
'requestJson',
|
|
71
|
+
'requestSha256',
|
|
72
|
+
'fileName',
|
|
73
|
+
'status',
|
|
74
|
+
'attemptCount',
|
|
75
|
+
'notificationStatus',
|
|
76
|
+
];
|
|
77
|
+
const OPTIONAL_FIELDS = [...exports.REPORT_JOB_PRODUCER_FIELDS, ...exports.REPORT_JOB_WORKER_FIELDS, ...exports.REPORT_JOB_NOTIFICATION_FIELDS].filter(field => !REQUIRED_FIELDS.includes(field));
|
|
78
|
+
/** Statuses reached only after the source snapshot is durable. */
|
|
79
|
+
const SNAPSHOT_STATUSES = ['source-ready', 'generated', 'completed', 'completed-with-notification-errors'];
|
|
80
|
+
/** Statuses reached only after the artifact is durable. */
|
|
81
|
+
const ARTIFACT_STATUSES = ['generated', 'completed', 'completed-with-notification-errors'];
|
|
82
|
+
const isCount = (value) => typeof value === 'number' && Number.isInteger(value) && value >= 0 && value <= 2147483647;
|
|
83
|
+
const isSha = (value) => typeof value === 'string' && reportingDigest_1.SHA256_HEX_PATTERN.test(value);
|
|
84
|
+
const isText = (limit) => (value) => (0, reportingIds_1.isBoundedPlainText)(value, limit);
|
|
85
|
+
const isOptional = (value, check) => value === undefined || check(value);
|
|
86
|
+
const isCoverageSummary = (value) => {
|
|
87
|
+
if (typeof value !== 'string' || (0, reportingIds_1.utf8ByteLength)(value) > exports.REPORT_JOB_COVERAGE_SUMMARY_MAX_BYTES)
|
|
88
|
+
return false;
|
|
89
|
+
try {
|
|
90
|
+
const parsed = JSON.parse(value);
|
|
91
|
+
return typeof parsed === 'object' && parsed !== null;
|
|
92
|
+
}
|
|
93
|
+
catch {
|
|
94
|
+
return false;
|
|
95
|
+
}
|
|
96
|
+
};
|
|
97
|
+
/** `row` is already normalised (REST key casing, no system properties, no null values). */
|
|
98
|
+
const validateShape = (row, errors) => {
|
|
99
|
+
const check = (field, ok) => {
|
|
100
|
+
if (!ok)
|
|
101
|
+
errors.push(`${field}: invalid`);
|
|
102
|
+
};
|
|
103
|
+
if (!(0, reportingIds_1.hasExactlyKeys)(row, REQUIRED_FIELDS, OPTIONAL_FIELDS)) {
|
|
104
|
+
const unknown = Object.keys(row).filter(key => !REQUIRED_FIELDS.includes(key) && !OPTIONAL_FIELDS.includes(key));
|
|
105
|
+
const missing = REQUIRED_FIELDS.filter(key => row[key] === undefined);
|
|
106
|
+
if (unknown.length > 0)
|
|
107
|
+
errors.push(`row: unknown fields ${unknown.join(', ')}`);
|
|
108
|
+
if (missing.length > 0)
|
|
109
|
+
errors.push(`row: missing fields ${missing.join(', ')}`);
|
|
110
|
+
}
|
|
111
|
+
check('companyId', (0, reportingIds_1.isReportJobCompanyId)(row.companyId) && row.PartitionKey === row.companyId);
|
|
112
|
+
const parsedId = (0, reportJobIdentity_1.parseReportJobId)(row.jobId);
|
|
113
|
+
check('jobId', parsedId !== null && row.RowKey === row.jobId);
|
|
114
|
+
check('reportType', parsedId !== null && row.reportType === parsedId.reportType);
|
|
115
|
+
check('trigger', row.trigger === 'api' || row.trigger === 'schedule');
|
|
116
|
+
check('requestedAtUtc', (0, reportingIds_1.isIsoUtcTimestamp)(row.requestedAtUtc));
|
|
117
|
+
check('requestJson', typeof row.requestJson === 'string' && (0, reportingIds_1.utf8ByteLength)(row.requestJson) <= reportJobSpec_1.REPORT_JOB_SPEC_MAX_BYTES);
|
|
118
|
+
check('requestSha256', isSha(row.requestSha256));
|
|
119
|
+
check('fileName', (0, reportingPaths_1.isReportFileName)(row.fileName));
|
|
120
|
+
// Requesters are identified by user ID, never by e-mail address.
|
|
121
|
+
check('requestedByUserId', isOptional(row.requestedByUserId, value => isText(128)(value) && !value.includes('@')));
|
|
122
|
+
check('notificationPolicyId', isOptional(row.notificationPolicyId, reportingIds_1.isReportEntityId));
|
|
123
|
+
check('coalescedOccurrenceCount', isOptional(row.coalescedOccurrenceCount, value => isCount(value) && value >= 1));
|
|
124
|
+
if (row.trigger === 'schedule') {
|
|
125
|
+
check('scheduleId', (0, reportingIds_1.isReportEntityId)(row.scheduleId));
|
|
126
|
+
check('definitionRevision', isCount(row.definitionRevision) && row.definitionRevision >= 1);
|
|
127
|
+
check('scheduledForUtc', (0, reportingIds_1.isIsoUtcTimestamp)(row.scheduledForUtc));
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
check('scheduleId', row.scheduleId === undefined);
|
|
131
|
+
check('definitionRevision', row.definitionRevision === undefined);
|
|
132
|
+
check('scheduledForUtc', row.scheduledForUtc === undefined);
|
|
133
|
+
check('coalescedOccurrenceCount', row.coalescedOccurrenceCount === undefined);
|
|
134
|
+
}
|
|
135
|
+
const instant = row.trigger === 'schedule' ? row.scheduledForUtc : row.requestedAtUtc;
|
|
136
|
+
check('jobId', parsedId !== null && typeof instant === 'string' && parsedId.instant.toISOString() === instant);
|
|
137
|
+
check('status', (0, reportJobStatus_1.isReportJobStatus)(row.status));
|
|
138
|
+
check('attemptCount', isCount(row.attemptCount));
|
|
139
|
+
check('notificationStatus', (0, reportJobStatus_1.isReportJobNotificationStatus)(row.notificationStatus));
|
|
140
|
+
for (const field of ['leaseExpiresAtUtc', 'startedAtUtc', 'lastAttemptAtUtc', 'sourceObservedAtUtc', 'generatedAtUtc', 'completedAtUtc']) {
|
|
141
|
+
check(field, isOptional(row[field], reportingIds_1.isIsoUtcTimestamp));
|
|
142
|
+
}
|
|
143
|
+
check('leaseOwner', isOptional(row.leaseOwner, isText(256)));
|
|
144
|
+
check('sourceSnapshotSha256', isOptional(row.sourceSnapshotSha256, isSha));
|
|
145
|
+
check('artifactContentSha256', isOptional(row.artifactContentSha256, isSha));
|
|
146
|
+
check('artifactBytes', isOptional(row.artifactBytes, value => isCount(value) && value >= 1));
|
|
147
|
+
check('sourceCoverageSummary', isOptional(row.sourceCoverageSummary, isCoverageSummary));
|
|
148
|
+
check('failureStage', isOptional(row.failureStage, reportJobStatus_1.isReportJobFailureStage));
|
|
149
|
+
check('failureCode', isOptional(row.failureCode, reportJobStatus_1.isReportJobFailureCode));
|
|
150
|
+
check('lastTransientErrorCode', isOptional(row.lastTransientErrorCode, isText(128)));
|
|
151
|
+
// Cross-field rules: the status milestone and the fields that prove it agree.
|
|
152
|
+
if (!(0, reportJobStatus_1.isReportJobStatus)(row.status))
|
|
153
|
+
return;
|
|
154
|
+
const status = row.status;
|
|
155
|
+
if (status === 'failed') {
|
|
156
|
+
check('failureCode', (0, reportJobStatus_1.isReportJobFailureCode)(row.failureCode));
|
|
157
|
+
check('failureStage', (0, reportJobStatus_1.isReportJobFailureStage)(row.failureStage));
|
|
158
|
+
if ((0, reportJobStatus_1.isReportJobFailureCode)(row.failureCode) && (0, reportJobStatus_1.isReportJobFailureStage)(row.failureStage)) {
|
|
159
|
+
const expected = reportJobStatus_1.REPORT_JOB_FAILURE_STAGE_BY_CODE[row.failureCode];
|
|
160
|
+
check('failureStage', expected === null || expected === row.failureStage);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
else {
|
|
164
|
+
check('failureCode', row.failureCode === undefined);
|
|
165
|
+
check('failureStage', row.failureStage === undefined);
|
|
166
|
+
}
|
|
167
|
+
if (SNAPSHOT_STATUSES.includes(status)) {
|
|
168
|
+
check('sourceSnapshotSha256', isSha(row.sourceSnapshotSha256));
|
|
169
|
+
check('sourceObservedAtUtc', (0, reportingIds_1.isIsoUtcTimestamp)(row.sourceObservedAtUtc));
|
|
170
|
+
}
|
|
171
|
+
if (ARTIFACT_STATUSES.includes(status)) {
|
|
172
|
+
check('artifactContentSha256', isSha(row.artifactContentSha256));
|
|
173
|
+
check('artifactBytes', isCount(row.artifactBytes) && row.artifactBytes >= 1);
|
|
174
|
+
check('generatedAtUtc', (0, reportingIds_1.isIsoUtcTimestamp)(row.generatedAtUtc));
|
|
175
|
+
}
|
|
176
|
+
if (status === 'completed' || status === 'completed-with-notification-errors')
|
|
177
|
+
check('completedAtUtc', (0, reportingIds_1.isIsoUtcTimestamp)(row.completedAtUtc));
|
|
178
|
+
if (status === 'accepted')
|
|
179
|
+
check('attemptCount', row.attemptCount === 0);
|
|
180
|
+
};
|
|
181
|
+
/**
|
|
182
|
+
* Validates a stored row and its request. Accepts REST (`PartitionKey`) and `@azure/data-tables` (`partitionKey`)
|
|
183
|
+
* key casing and ignores Table system properties. Checks keys against the body, the job ID against the trigger's
|
|
184
|
+
* instant, status against the fields that prove it, the report type and scope hash against the spec, the request's
|
|
185
|
+
* canonical form and `requestSha256`. Returns the row in REST casing. Never throws.
|
|
186
|
+
*/
|
|
187
|
+
const parseReportJobRowV1 = async (entity) => {
|
|
188
|
+
try {
|
|
189
|
+
if (!(0, reportingIds_1.isPlainRecord)(entity))
|
|
190
|
+
return { ok: false, code: 'request-invalid', errors: ['row: must be an object'] };
|
|
191
|
+
const normalized = (0, reportTableEntities_1.normalizeReportTableEntity)(entity);
|
|
192
|
+
if (normalized.schemaVersion !== exports.REPORT_JOB_ROW_SCHEMA_VERSION) {
|
|
193
|
+
return { ok: false, code: 'unsupported-schema-version', errors: ['schemaVersion: unsupported'] };
|
|
194
|
+
}
|
|
195
|
+
const errors = [];
|
|
196
|
+
validateShape(normalized, errors);
|
|
197
|
+
if (errors.length > 0)
|
|
198
|
+
return { ok: false, code: 'request-invalid', errors: Array.from(new Set(errors)) };
|
|
199
|
+
const row = normalized;
|
|
200
|
+
if ((await (0, reportingDigest_1.sha256Hex)(row.requestJson)) !== row.requestSha256) {
|
|
201
|
+
return { ok: false, code: 'request-hash-mismatch', errors: ['requestSha256: does not match requestJson'] };
|
|
202
|
+
}
|
|
203
|
+
const spec = (0, reportJobSpec_1.parseReportJobRequestJson)(row.requestJson);
|
|
204
|
+
if (!spec.ok)
|
|
205
|
+
return { ok: false, code: 'request-invalid', errors: spec.errors };
|
|
206
|
+
if (spec.value.reportType !== row.reportType)
|
|
207
|
+
return { ok: false, code: 'request-invalid', errors: ['reportType: does not match the request'] };
|
|
208
|
+
const scopeHash = await (0, reportJobIdentity_1.buildReportJobScopeHash)({
|
|
209
|
+
subscriptionIds: spec.value.scope.subscriptionIds,
|
|
210
|
+
scheduleId: row.trigger === 'schedule' ? row.scheduleId : undefined,
|
|
211
|
+
});
|
|
212
|
+
if ((0, reportJobIdentity_1.parseReportJobId)(row.jobId)?.scopeHash !== scopeHash) {
|
|
213
|
+
return { ok: false, code: 'request-invalid', errors: ['jobId: scope hash does not match the request'] };
|
|
214
|
+
}
|
|
215
|
+
return { ok: true, row, spec: spec.value };
|
|
216
|
+
}
|
|
217
|
+
catch {
|
|
218
|
+
return { ok: false, code: 'request-invalid', errors: ['row: unreadable'] };
|
|
219
|
+
}
|
|
220
|
+
};
|
|
221
|
+
exports.parseReportJobRowV1 = parseReportJobRowV1;
|
|
222
|
+
/**
|
|
223
|
+
* Builds the row a producer inserts (status `accepted`, attempt 0, notification `none`), with the job ID derived
|
|
224
|
+
* from the trigger's instant and the request. The result is validated with `parseReportJobRowV1`; invalid input throws.
|
|
225
|
+
*/
|
|
226
|
+
const buildReportJobRowV1 = async (input) => {
|
|
227
|
+
const requestJson = (0, reportJobSpec_1.serializeReportJobSpecV1)(input.spec);
|
|
228
|
+
const spec = (0, reportJobSpec_1.parseReportJobRequestJson)(requestJson);
|
|
229
|
+
if (!spec.ok)
|
|
230
|
+
throw new Error(`Invalid report job spec: ${spec.errors.join('; ')}`);
|
|
231
|
+
const schedule = input.trigger === 'schedule' ? input : undefined;
|
|
232
|
+
const { jobId } = await (0, reportJobIdentity_1.deriveReportJobIdentity)({
|
|
233
|
+
instant: schedule ? schedule.scheduledForUtc : input.requestedAtUtc,
|
|
234
|
+
reportType: spec.value.reportType,
|
|
235
|
+
subscriptionIds: spec.value.scope.subscriptionIds,
|
|
236
|
+
scheduleId: schedule?.scheduleId,
|
|
237
|
+
});
|
|
238
|
+
const row = {
|
|
239
|
+
PartitionKey: input.companyId,
|
|
240
|
+
RowKey: jobId,
|
|
241
|
+
schemaVersion: 1,
|
|
242
|
+
jobId,
|
|
243
|
+
companyId: input.companyId,
|
|
244
|
+
reportType: spec.value.reportType,
|
|
245
|
+
trigger: input.trigger,
|
|
246
|
+
...(schedule
|
|
247
|
+
? {
|
|
248
|
+
scheduleId: schedule.scheduleId,
|
|
249
|
+
definitionRevision: schedule.definitionRevision,
|
|
250
|
+
scheduledForUtc: schedule.scheduledForUtc,
|
|
251
|
+
...(schedule.coalescedOccurrenceCount === undefined ? {} : { coalescedOccurrenceCount: schedule.coalescedOccurrenceCount }),
|
|
252
|
+
}
|
|
253
|
+
: {}),
|
|
254
|
+
requestedAtUtc: input.requestedAtUtc,
|
|
255
|
+
...(input.requestedByUserId === undefined ? {} : { requestedByUserId: input.requestedByUserId }),
|
|
256
|
+
requestJson,
|
|
257
|
+
requestSha256: await (0, reportingDigest_1.sha256Hex)(requestJson),
|
|
258
|
+
fileName: input.fileName,
|
|
259
|
+
...(input.notificationPolicyId === undefined ? {} : { notificationPolicyId: input.notificationPolicyId }),
|
|
260
|
+
status: 'accepted',
|
|
261
|
+
attemptCount: 0,
|
|
262
|
+
notificationStatus: 'none',
|
|
263
|
+
};
|
|
264
|
+
const parsed = await (0, exports.parseReportJobRowV1)(row);
|
|
265
|
+
if (!parsed.ok)
|
|
266
|
+
throw new Error(`Invalid report job row: ${parsed.errors.join('; ')}`);
|
|
267
|
+
return row;
|
|
268
|
+
};
|
|
269
|
+
exports.buildReportJobRowV1 = buildReportJobRowV1;
|
|
270
|
+
//# sourceMappingURL=reportJobRow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reportJobRow.js","sourceRoot":"","sources":["../../../src/reporting/jobs/reportJobRow.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
export declare const REPORT_JOB_SPEC_SCHEMA_VERSION = 1;
|
|
2
|
+
export declare const REPORT_JOB_REPORT_TYPES: readonly ["sdm", "architecture-assessment"];
|
|
3
|
+
export type ReportJobReportType = (typeof REPORT_JOB_REPORT_TYPES)[number];
|
|
4
|
+
export declare const REPORT_JOB_MAX_SUBSCRIPTIONS = 200;
|
|
5
|
+
export declare const REPORT_JOB_MAX_CLOUD_ACCOUNTS = 20;
|
|
6
|
+
export declare const REPORT_JOB_MAX_SERVICE_IDS = 20;
|
|
7
|
+
export declare const REPORT_JOB_MAX_EXPLICIT_PERIOD_DAYS = 366;
|
|
8
|
+
/** Maximum UTF-8 size of the canonical `requestJson`. */
|
|
9
|
+
export declare const REPORT_JOB_SPEC_MAX_BYTES: number;
|
|
10
|
+
export interface ReportJobScopeV1 {
|
|
11
|
+
/** 1..20 company-owned cloud account IDs, sorted. */
|
|
12
|
+
cloudAccountIds: string[];
|
|
13
|
+
/** 1..200 subscription GUIDs, lower-cased and sorted. */
|
|
14
|
+
subscriptionIds: string[];
|
|
15
|
+
}
|
|
16
|
+
export type ReportPeriodRuleV1 = {
|
|
17
|
+
kind: 'previous-calendar-month';
|
|
18
|
+
} | {
|
|
19
|
+
kind: 'previous-calendar-quarter';
|
|
20
|
+
};
|
|
21
|
+
/** Explicit dates (API requests only). `YYYY-MM-DD`, start <= end, at most 366 days inclusive. */
|
|
22
|
+
export interface ReportExplicitPeriodV1 {
|
|
23
|
+
kind: 'explicit';
|
|
24
|
+
startDate: string;
|
|
25
|
+
endDate: string;
|
|
26
|
+
}
|
|
27
|
+
export type ReportJobPeriodV1 = ReportPeriodRuleV1 | ReportExplicitPeriodV1;
|
|
28
|
+
export declare const SDM_BACKGROUND_LAYOUTS: readonly ["spotto-layout", "monthly-insights"];
|
|
29
|
+
export type SdmBackgroundLayout = (typeof SDM_BACKGROUND_LAYOUTS)[number];
|
|
30
|
+
export declare const SDM_BACKGROUND_DETAIL_ROW_LIMITS: readonly [10, 25, 50, "all"];
|
|
31
|
+
export type SdmBackgroundDetailRowLimit = (typeof SDM_BACKGROUND_DETAIL_ROW_LIMITS)[number];
|
|
32
|
+
export interface SdmBackgroundConfigV1 {
|
|
33
|
+
/** Company Word templates are not supported in background runs. */
|
|
34
|
+
layout: SdmBackgroundLayout;
|
|
35
|
+
cloudIqServiceProfile: {
|
|
36
|
+
/** Service catalogue IDs, validated against the catalogue by reportworker. Order is kept. */
|
|
37
|
+
selectedServiceIds: string[];
|
|
38
|
+
detailRowLimit?: SdmBackgroundDetailRowLimit;
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
export declare const CURRENT_STATE_AUDIENCES: readonly ["customer", "internal"];
|
|
42
|
+
export type CurrentStateBackgroundAudience = (typeof CURRENT_STATE_AUDIENCES)[number];
|
|
43
|
+
export declare const CURRENT_STATE_SECTION_KEYS: readonly ["costOpportunities", "securityPosture", "reliabilityAvailability", "quickWins", "roadmap"];
|
|
44
|
+
export type CurrentStateBackgroundSections = Record<(typeof CURRENT_STATE_SECTION_KEYS)[number], boolean>;
|
|
45
|
+
export interface CurrentStateBackgroundConfigV1 {
|
|
46
|
+
audience: CurrentStateBackgroundAudience;
|
|
47
|
+
sections: CurrentStateBackgroundSections;
|
|
48
|
+
/** ISO 4217, upper case. */
|
|
49
|
+
scopeCurrencyCode: string;
|
|
50
|
+
/** 1..120 characters of plain text. Default: "<provider name> pre-sales team". */
|
|
51
|
+
preparedBy?: string;
|
|
52
|
+
}
|
|
53
|
+
export interface SdmReportJobSpecV1 {
|
|
54
|
+
schemaVersion: 1;
|
|
55
|
+
reportType: 'sdm';
|
|
56
|
+
scope: ReportJobScopeV1;
|
|
57
|
+
period: ReportJobPeriodV1;
|
|
58
|
+
configuration: SdmBackgroundConfigV1;
|
|
59
|
+
}
|
|
60
|
+
export interface CurrentStateReportJobSpecV1 {
|
|
61
|
+
schemaVersion: 1;
|
|
62
|
+
reportType: 'architecture-assessment';
|
|
63
|
+
scope: ReportJobScopeV1;
|
|
64
|
+
configuration: CurrentStateBackgroundConfigV1;
|
|
65
|
+
}
|
|
66
|
+
export type ReportJobSpecV1 = SdmReportJobSpecV1 | CurrentStateReportJobSpecV1;
|
|
67
|
+
export type ReportJobSpecParseResult = {
|
|
68
|
+
ok: true;
|
|
69
|
+
value: ReportJobSpecV1;
|
|
70
|
+
} | {
|
|
71
|
+
ok: false;
|
|
72
|
+
errors: string[];
|
|
73
|
+
};
|
|
74
|
+
export declare const isReportJobReportType: (value: unknown) => value is ReportJobReportType;
|
|
75
|
+
/**
|
|
76
|
+
* Lower-cases, de-duplicates and sorts subscription IDs. Lower case is Spotto's canonical subscription ID form: the
|
|
77
|
+
* request and the scope hash use it, and so do the storage keys and paths reportworker builds from it.
|
|
78
|
+
*/
|
|
79
|
+
export declare const normalizeReportSubscriptionIds: (subscriptionIds: readonly string[]) => string[];
|
|
80
|
+
/** Strict, normalising parser. Never throws (hostile getters are reported as an invalid spec). */
|
|
81
|
+
export declare const parseReportJobSpecV1: (input: unknown) => ReportJobSpecParseResult;
|
|
82
|
+
/**
|
|
83
|
+
* The canonical `requestJson`: validated, normalised, fixed key order. Producers store exactly this string, and
|
|
84
|
+
* `requestSha256` is the SHA-256 of its UTF-8 bytes. Throws on an invalid spec or one above 32 KiB.
|
|
85
|
+
*/
|
|
86
|
+
export declare const serializeReportJobSpecV1: (spec: unknown) => string;
|
|
87
|
+
/**
|
|
88
|
+
* Parses stored `requestJson`. It must be valid JSON, a valid spec and already canonical (byte-equal to
|
|
89
|
+
* `serializeReportJobSpecV1` of itself), so a hash over the stored string identifies the request exactly.
|
|
90
|
+
*/
|
|
91
|
+
export declare const parseReportJobRequestJson: (requestJson: unknown) => ReportJobSpecParseResult;
|
|
92
|
+
//# sourceMappingURL=reportJobSpec.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reportJobSpec.d.ts","sourceRoot":"","sources":["../../../src/reporting/jobs/reportJobSpec.ts"],"names":[],"mappings":"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"}
|