@spottoai/types-package 1.0.2-beta.36 → 1.0.2-beta.361
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/LICENSE +18 -40
- package/README.md +126 -18
- package/dist/accounts/accounts.d.ts +545 -3
- package/dist/accounts/accounts.d.ts.map +1 -1
- package/dist/accounts/accounts.js +122 -0
- package/dist/accounts/accounts.js.map +1 -1
- package/dist/accounts/azureSpSetup.d.ts +401 -0
- package/dist/accounts/azureSpSetup.d.ts.map +1 -0
- package/dist/accounts/azureSpSetup.js +3 -0
- package/dist/accounts/azureSpSetup.js.map +1 -0
- package/dist/accounts/azureSpSetupDurable.d.ts +118 -0
- package/dist/accounts/azureSpSetupDurable.d.ts.map +1 -0
- package/dist/accounts/azureSpSetupDurable.js +3 -0
- package/dist/accounts/azureSpSetupDurable.js.map +1 -0
- package/dist/accounts/index.d.ts +4 -0
- package/dist/accounts/index.d.ts.map +1 -1
- package/dist/accounts/index.js +4 -0
- package/dist/accounts/index.js.map +1 -1
- package/dist/accounts/readPermissions.d.ts +76 -0
- package/dist/accounts/readPermissions.d.ts.map +1 -0
- package/dist/accounts/readPermissions.js +202 -0
- package/dist/accounts/readPermissions.js.map +1 -0
- package/dist/accounts/validation.d.ts +91 -0
- package/dist/accounts/validation.d.ts.map +1 -0
- package/dist/accounts/validation.js +3 -0
- package/dist/accounts/validation.js.map +1 -0
- package/dist/accounts/writePermissions.d.ts +36 -0
- package/dist/accounts/writePermissions.d.ts.map +1 -0
- package/dist/accounts/writePermissions.js +47 -0
- package/dist/accounts/writePermissions.js.map +1 -0
- package/dist/ai/index.d.ts +1019 -9
- package/dist/ai/index.d.ts.map +1 -1
- package/dist/ai/index.js +1 -1
- package/dist/ai/index.js.map +1 -1
- package/dist/assessments/artifact.d.ts +84 -0
- package/dist/assessments/artifact.d.ts.map +1 -0
- package/dist/assessments/artifact.js +3 -0
- package/dist/assessments/artifact.js.map +1 -0
- package/dist/assessments/catalogue.d.ts +53 -0
- package/dist/assessments/catalogue.d.ts.map +1 -0
- package/dist/assessments/catalogue.js +16 -0
- package/dist/assessments/catalogue.js.map +1 -0
- package/dist/assessments/common.d.ts +27 -0
- package/dist/assessments/common.d.ts.map +1 -0
- package/dist/assessments/common.js +3 -0
- package/dist/assessments/common.js.map +1 -0
- package/dist/assessments/evidence.d.ts +78 -0
- package/dist/assessments/evidence.d.ts.map +1 -0
- package/dist/assessments/evidence.js +3 -0
- package/dist/assessments/evidence.js.map +1 -0
- package/dist/assessments/export.d.ts +27 -0
- package/dist/assessments/export.d.ts.map +1 -0
- package/dist/assessments/export.js +3 -0
- package/dist/assessments/export.js.map +1 -0
- package/dist/assessments/index.d.ts +11 -0
- package/dist/assessments/index.d.ts.map +1 -0
- package/dist/assessments/index.js +27 -0
- package/dist/assessments/index.js.map +1 -0
- package/dist/assessments/queue.d.ts +20 -0
- package/dist/assessments/queue.d.ts.map +1 -0
- package/dist/assessments/queue.js +6 -0
- package/dist/assessments/queue.js.map +1 -0
- package/dist/assessments/review.d.ts +36 -0
- package/dist/assessments/review.d.ts.map +1 -0
- package/dist/assessments/review.js +3 -0
- package/dist/assessments/review.js.map +1 -0
- package/dist/assessments/run.d.ts +62 -0
- package/dist/assessments/run.d.ts.map +1 -0
- package/dist/assessments/run.js +3 -0
- package/dist/assessments/run.js.map +1 -0
- package/dist/assessments/sow.d.ts +30 -0
- package/dist/assessments/sow.d.ts.map +1 -0
- package/dist/assessments/sow.js +3 -0
- package/dist/assessments/sow.js.map +1 -0
- package/dist/assessments/status.d.ts +27 -0
- package/dist/assessments/status.d.ts.map +1 -0
- package/dist/assessments/status.js +27 -0
- package/dist/assessments/status.js.map +1 -0
- package/dist/aws/commitments-planning.d.ts +3 -0
- package/dist/aws/commitments-planning.d.ts.map +1 -0
- package/dist/aws/commitments-planning.js +6 -0
- package/dist/aws/commitments-planning.js.map +1 -0
- package/dist/aws/commitmentsPlanningValidation.d.ts +7 -0
- package/dist/aws/commitmentsPlanningValidation.d.ts.map +1 -0
- package/dist/aws/commitmentsPlanningValidation.js +125 -0
- package/dist/aws/commitmentsPlanningValidation.js.map +1 -0
- package/dist/aws/estates.d.ts +153 -0
- package/dist/aws/estates.d.ts.map +1 -0
- package/dist/aws/estates.js +25 -0
- package/dist/aws/estates.js.map +1 -0
- package/dist/aws/index.d.ts +20 -0
- package/dist/aws/index.d.ts.map +1 -0
- package/dist/aws/index.js +35 -0
- package/dist/aws/index.js.map +1 -0
- package/dist/aws/onboarding.d.ts +54 -0
- package/dist/aws/onboarding.d.ts.map +1 -0
- package/dist/aws/onboarding.js +3 -0
- package/dist/aws/onboarding.js.map +1 -0
- package/dist/aws/pluginPublicArtifactBodyValidation.d.ts +10 -0
- package/dist/aws/pluginPublicArtifactBodyValidation.d.ts.map +1 -0
- package/dist/aws/pluginPublicArtifactBodyValidation.js +225 -0
- package/dist/aws/pluginPublicArtifactBodyValidation.js.map +1 -0
- package/dist/aws/pluginPublicArtifactEvidence.d.ts +161 -0
- package/dist/aws/pluginPublicArtifactEvidence.d.ts.map +1 -0
- package/dist/aws/pluginPublicArtifactEvidence.js +3 -0
- package/dist/aws/pluginPublicArtifactEvidence.js.map +1 -0
- package/dist/aws/pluginPublicArtifactManifestValidation.d.ts +4 -0
- package/dist/aws/pluginPublicArtifactManifestValidation.d.ts.map +1 -0
- package/dist/aws/pluginPublicArtifactManifestValidation.js +259 -0
- package/dist/aws/pluginPublicArtifactManifestValidation.js.map +1 -0
- package/dist/aws/pluginPublicArtifactSectionValidation.d.ts +6 -0
- package/dist/aws/pluginPublicArtifactSectionValidation.d.ts.map +1 -0
- package/dist/aws/pluginPublicArtifactSectionValidation.js +471 -0
- package/dist/aws/pluginPublicArtifactSectionValidation.js.map +1 -0
- package/dist/aws/pluginPublicArtifactValidation.d.ts +3 -0
- package/dist/aws/pluginPublicArtifactValidation.d.ts.map +1 -0
- package/dist/aws/pluginPublicArtifactValidation.js +9 -0
- package/dist/aws/pluginPublicArtifactValidation.js.map +1 -0
- package/dist/aws/pluginPublicArtifactValidationHelpers.d.ts +23 -0
- package/dist/aws/pluginPublicArtifactValidationHelpers.d.ts.map +1 -0
- package/dist/aws/pluginPublicArtifactValidationHelpers.js +240 -0
- package/dist/aws/pluginPublicArtifactValidationHelpers.js.map +1 -0
- package/dist/aws/pluginPublicArtifacts.d.ts +253 -0
- package/dist/aws/pluginPublicArtifacts.d.ts.map +1 -0
- package/dist/aws/pluginPublicArtifacts.js +116 -0
- package/dist/aws/pluginPublicArtifacts.js.map +1 -0
- package/dist/aws/portalCommitmentsPlanningPublicArtifactValidation.d.ts +4 -0
- package/dist/aws/portalCommitmentsPlanningPublicArtifactValidation.d.ts.map +1 -0
- package/dist/aws/portalCommitmentsPlanningPublicArtifactValidation.js +513 -0
- package/dist/aws/portalCommitmentsPlanningPublicArtifactValidation.js.map +1 -0
- package/dist/aws/portalCommitmentsPlanningPublicArtifacts.d.ts +13 -0
- package/dist/aws/portalCommitmentsPlanningPublicArtifacts.d.ts.map +1 -0
- package/dist/aws/portalCommitmentsPlanningPublicArtifacts.js +5 -0
- package/dist/aws/portalCommitmentsPlanningPublicArtifacts.js.map +1 -0
- package/dist/aws/portalPublicArtifactCurrentValidation.d.ts +4 -0
- package/dist/aws/portalPublicArtifactCurrentValidation.d.ts.map +1 -0
- package/dist/aws/portalPublicArtifactCurrentValidation.js +333 -0
- package/dist/aws/portalPublicArtifactCurrentValidation.js.map +1 -0
- package/dist/aws/portalPublicArtifactEvidenceValidation.d.ts +6 -0
- package/dist/aws/portalPublicArtifactEvidenceValidation.d.ts.map +1 -0
- package/dist/aws/portalPublicArtifactEvidenceValidation.js +301 -0
- package/dist/aws/portalPublicArtifactEvidenceValidation.js.map +1 -0
- package/dist/aws/portalPublicArtifactHistoryAiValidation.d.ts +8 -0
- package/dist/aws/portalPublicArtifactHistoryAiValidation.d.ts.map +1 -0
- package/dist/aws/portalPublicArtifactHistoryAiValidation.js +377 -0
- package/dist/aws/portalPublicArtifactHistoryAiValidation.js.map +1 -0
- package/dist/aws/portalPublicArtifactHistoryTypes.d.ts +178 -0
- package/dist/aws/portalPublicArtifactHistoryTypes.d.ts.map +1 -0
- package/dist/aws/portalPublicArtifactHistoryTypes.js +44 -0
- package/dist/aws/portalPublicArtifactHistoryTypes.js.map +1 -0
- package/dist/aws/portalPublicArtifactNestedEvidence.d.ts +127 -0
- package/dist/aws/portalPublicArtifactNestedEvidence.d.ts.map +1 -0
- package/dist/aws/portalPublicArtifactNestedEvidence.js +3 -0
- package/dist/aws/portalPublicArtifactNestedEvidence.js.map +1 -0
- package/dist/aws/portalPublicArtifactNestedEvidenceValidation.d.ts +6 -0
- package/dist/aws/portalPublicArtifactNestedEvidenceValidation.d.ts.map +1 -0
- package/dist/aws/portalPublicArtifactNestedEvidenceValidation.js +405 -0
- package/dist/aws/portalPublicArtifactNestedEvidenceValidation.js.map +1 -0
- package/dist/aws/portalPublicArtifactValidation.d.ts +3 -0
- package/dist/aws/portalPublicArtifactValidation.d.ts.map +1 -0
- package/dist/aws/portalPublicArtifactValidation.js +14 -0
- package/dist/aws/portalPublicArtifactValidation.js.map +1 -0
- package/dist/aws/portalPublicArtifactValidationCommon.d.ts +30 -0
- package/dist/aws/portalPublicArtifactValidationCommon.d.ts.map +1 -0
- package/dist/aws/portalPublicArtifactValidationCommon.js +167 -0
- package/dist/aws/portalPublicArtifactValidationCommon.js.map +1 -0
- package/dist/aws/portalPublicArtifacts.d.ts +400 -0
- package/dist/aws/portalPublicArtifacts.d.ts.map +1 -0
- package/dist/aws/portalPublicArtifacts.js +85 -0
- package/dist/aws/portalPublicArtifacts.js.map +1 -0
- package/dist/aws/portalRelationshipPublicArtifactValidation.d.ts +4 -0
- package/dist/aws/portalRelationshipPublicArtifactValidation.d.ts.map +1 -0
- package/dist/aws/portalRelationshipPublicArtifactValidation.js +338 -0
- package/dist/aws/portalRelationshipPublicArtifactValidation.js.map +1 -0
- package/dist/aws/portalRelationshipPublicArtifacts.d.ts +196 -0
- package/dist/aws/portalRelationshipPublicArtifacts.d.ts.map +1 -0
- package/dist/aws/portalRelationshipPublicArtifacts.js +63 -0
- package/dist/aws/portalRelationshipPublicArtifacts.js.map +1 -0
- package/dist/aws/portalRelationshipResourceNodeTypes.d.ts +269 -0
- package/dist/aws/portalRelationshipResourceNodeTypes.d.ts.map +1 -0
- package/dist/aws/portalRelationshipResourceNodeTypes.js +3 -0
- package/dist/aws/portalRelationshipResourceNodeTypes.js.map +1 -0
- package/dist/aws/portalRelationshipResourceNodeValidation.d.ts +2 -0
- package/dist/aws/portalRelationshipResourceNodeValidation.d.ts.map +1 -0
- package/dist/aws/portalRelationshipResourceNodeValidation.js +372 -0
- package/dist/aws/portalRelationshipResourceNodeValidation.js.map +1 -0
- package/dist/aws/publicArtifacts.d.ts +76 -0
- package/dist/aws/publicArtifacts.d.ts.map +1 -0
- package/dist/aws/publicArtifacts.js +17 -0
- package/dist/aws/publicArtifacts.js.map +1 -0
- package/dist/aws/relationships.d.ts +4 -0
- package/dist/aws/relationships.d.ts.map +1 -0
- package/dist/aws/relationships.js +6 -0
- package/dist/aws/relationships.js.map +1 -0
- package/dist/aws/requests.d.ts +84 -0
- package/dist/aws/requests.d.ts.map +1 -0
- package/dist/aws/requests.js +23 -0
- package/dist/aws/requests.js.map +1 -0
- package/dist/azure/activityLogs.d.ts +71 -0
- package/dist/azure/activityLogs.d.ts.map +1 -0
- package/dist/azure/activityLogs.js +6 -0
- package/dist/azure/activityLogs.js.map +1 -0
- package/dist/azure/advisorScore.d.ts +39 -0
- package/dist/azure/advisorScore.d.ts.map +1 -0
- package/dist/azure/advisorScore.js +3 -0
- package/dist/azure/advisorScore.js.map +1 -0
- package/dist/azure/benefits.d.ts +161 -0
- package/dist/azure/benefits.d.ts.map +1 -0
- package/dist/azure/benefits.js +3 -0
- package/dist/azure/benefits.js.map +1 -0
- package/dist/azure/billingArtifactCanonicalization.d.ts +30 -0
- package/dist/azure/billingArtifactCanonicalization.d.ts.map +1 -0
- package/dist/azure/billingArtifactCanonicalization.js +371 -0
- package/dist/azure/billingArtifactCanonicalization.js.map +1 -0
- package/dist/azure/billingArtifactEvidence.d.ts +39 -0
- package/dist/azure/billingArtifactEvidence.d.ts.map +1 -0
- package/dist/azure/billingArtifactEvidence.js +29 -0
- package/dist/azure/billingArtifactEvidence.js.map +1 -0
- package/dist/azure/billingArtifactGeneration.d.ts +166 -0
- package/dist/azure/billingArtifactGeneration.d.ts.map +1 -0
- package/dist/azure/billingArtifactGeneration.js +403 -0
- package/dist/azure/billingArtifactGeneration.js.map +1 -0
- package/dist/azure/billingArtifactLimits.d.ts +19 -0
- package/dist/azure/billingArtifactLimits.d.ts.map +1 -0
- package/dist/azure/billingArtifactLimits.js +22 -0
- package/dist/azure/billingArtifactLimits.js.map +1 -0
- package/dist/azure/billingGeneration.d.ts +50 -0
- package/dist/azure/billingGeneration.d.ts.map +1 -0
- package/dist/azure/billingGeneration.js +3 -0
- package/dist/azure/billingGeneration.js.map +1 -0
- package/dist/azure/billingPlots.d.ts +296 -0
- package/dist/azure/billingPlots.d.ts.map +1 -0
- package/dist/azure/billingPlots.js +439 -0
- package/dist/azure/billingPlots.js.map +1 -0
- package/dist/azure/budgets.d.ts +4 -0
- package/dist/azure/budgets.d.ts.map +1 -1
- package/dist/azure/commitmentsPlanning.d.ts +731 -0
- package/dist/azure/commitmentsPlanning.d.ts.map +1 -0
- package/dist/azure/commitmentsPlanning.js +3 -0
- package/dist/azure/commitmentsPlanning.js.map +1 -0
- package/dist/azure/common.d.ts +48 -1
- package/dist/azure/common.d.ts.map +1 -1
- package/dist/azure/configs.d.ts +75 -2
- package/dist/azure/configs.d.ts.map +1 -1
- package/dist/azure/costComposition.d.ts +74 -0
- package/dist/azure/costComposition.d.ts.map +1 -0
- package/dist/azure/costComposition.js +3 -0
- package/dist/azure/costComposition.js.map +1 -0
- package/dist/azure/dataProtection.d.ts +229 -0
- package/dist/azure/dataProtection.d.ts.map +1 -0
- package/dist/azure/dataProtection.js +9 -0
- package/dist/azure/dataProtection.js.map +1 -0
- package/dist/azure/governance.d.ts +942 -0
- package/dist/azure/governance.d.ts.map +1 -0
- package/dist/azure/governance.js +18 -0
- package/dist/azure/governance.js.map +1 -0
- package/dist/azure/licensing.d.ts +386 -0
- package/dist/azure/licensing.d.ts.map +1 -0
- package/dist/azure/licensing.js +3 -0
- package/dist/azure/licensing.js.map +1 -0
- package/dist/azure/metrics.d.ts +99 -4
- package/dist/azure/metrics.d.ts.map +1 -1
- package/dist/azure/payloads.d.ts +376 -1
- package/dist/azure/payloads.d.ts.map +1 -1
- package/dist/azure/portalArtifacts.d.ts +14 -0
- package/dist/azure/portalArtifacts.d.ts.map +1 -0
- package/dist/azure/portalArtifacts.js +5 -0
- package/dist/azure/portalArtifacts.js.map +1 -0
- package/dist/azure/prices.d.ts +250 -0
- package/dist/azure/prices.d.ts.map +1 -1
- package/dist/azure/publicIpAddresses.d.ts +171 -0
- package/dist/azure/publicIpAddresses.d.ts.map +1 -0
- package/dist/azure/publicIpAddresses.js +6 -0
- package/dist/azure/publicIpAddresses.js.map +1 -0
- package/dist/azure/recommendationAudit.d.ts +167 -0
- package/dist/azure/recommendationAudit.d.ts.map +1 -0
- package/dist/azure/recommendationAudit.js +20 -0
- package/dist/azure/recommendationAudit.js.map +1 -0
- package/dist/azure/recommendationState.d.ts +93 -4
- package/dist/azure/recommendationState.d.ts.map +1 -1
- package/dist/azure/recommendationTracks.d.ts +214 -0
- package/dist/azure/recommendationTracks.d.ts.map +1 -0
- package/dist/azure/recommendationTracks.js +44 -0
- package/dist/azure/recommendationTracks.js.map +1 -0
- package/dist/azure/recommendationWorkflow.d.ts +304 -0
- package/dist/azure/recommendationWorkflow.d.ts.map +1 -0
- package/dist/azure/recommendationWorkflow.js +17 -0
- package/dist/azure/recommendationWorkflow.js.map +1 -0
- package/dist/azure/recommendations.d.ts +582 -12
- package/dist/azure/recommendations.d.ts.map +1 -1
- package/dist/azure/recommendations.js.map +1 -1
- package/dist/azure/regulatoryCompliance.d.ts +301 -0
- package/dist/azure/regulatoryCompliance.d.ts.map +1 -0
- package/dist/azure/regulatoryCompliance.js +10 -0
- package/dist/azure/regulatoryCompliance.js.map +1 -0
- package/dist/azure/relationships.d.ts +193 -0
- package/dist/azure/relationships.d.ts.map +1 -0
- package/dist/azure/relationships.js +6 -0
- package/dist/azure/relationships.js.map +1 -0
- package/dist/azure/reportingTemplates.d.ts +70 -0
- package/dist/azure/reportingTemplates.d.ts.map +1 -0
- package/dist/azure/reportingTemplates.js +5 -0
- package/dist/azure/reportingTemplates.js.map +1 -0
- package/dist/azure/reports.d.ts +260 -2
- package/dist/azure/reports.d.ts.map +1 -1
- package/dist/azure/reports.js +1 -1
- package/dist/azure/reports.js.map +1 -1
- package/dist/azure/resourceHealth.d.ts +264 -0
- package/dist/azure/resourceHealth.d.ts.map +1 -0
- package/dist/azure/resourceHealth.js +16 -0
- package/dist/azure/resourceHealth.js.map +1 -0
- package/dist/azure/resourceOptimization.d.ts +79 -0
- package/dist/azure/resourceOptimization.d.ts.map +1 -0
- package/dist/azure/resourceOptimization.js +3 -0
- package/dist/azure/resourceOptimization.js.map +1 -0
- package/dist/azure/resources.d.ts +80 -0
- package/dist/azure/resources.d.ts.map +1 -1
- package/dist/azure/reviewChecklist.d.ts +147 -0
- package/dist/azure/reviewChecklist.d.ts.map +1 -0
- package/dist/azure/reviewChecklist.js +3 -0
- package/dist/azure/reviewChecklist.js.map +1 -0
- package/dist/azure/secureScore.d.ts +23 -0
- package/dist/azure/secureScore.d.ts.map +1 -0
- package/dist/azure/secureScore.js +3 -0
- package/dist/azure/secureScore.js.map +1 -0
- package/dist/azure/security.d.ts +10 -0
- package/dist/azure/security.d.ts.map +1 -1
- package/dist/azure/serviceRetirement.d.ts +59 -0
- package/dist/azure/serviceRetirement.d.ts.map +1 -0
- package/dist/azure/serviceRetirement.js +3 -0
- package/dist/azure/serviceRetirement.js.map +1 -0
- package/dist/azure/serviceRetirementState.d.ts +22 -0
- package/dist/azure/serviceRetirementState.d.ts.map +1 -0
- package/dist/azure/serviceRetirementState.js +3 -0
- package/dist/azure/serviceRetirementState.js.map +1 -0
- package/dist/azure/serviceRetirementWorkManagement.d.ts +7 -0
- package/dist/azure/serviceRetirementWorkManagement.d.ts.map +1 -0
- package/dist/azure/serviceRetirementWorkManagement.js +3 -0
- package/dist/azure/serviceRetirementWorkManagement.js.map +1 -0
- package/dist/azure/storage-inventory.d.ts +241 -0
- package/dist/azure/storage-inventory.d.ts.map +1 -0
- package/dist/azure/storage-inventory.js +3 -0
- package/dist/azure/storage-inventory.js.map +1 -0
- package/dist/azure/subscriptions.d.ts +89 -8
- package/dist/azure/subscriptions.d.ts.map +1 -1
- package/dist/azure/views.d.ts +815 -7
- package/dist/azure/views.d.ts.map +1 -1
- package/dist/azure/views.js +197 -0
- package/dist/azure/views.js.map +1 -1
- package/dist/azure/workManagement.d.ts +154 -0
- package/dist/azure/workManagement.d.ts.map +1 -0
- package/dist/azure/workManagement.js +8 -0
- package/dist/azure/workManagement.js.map +1 -0
- package/dist/common/artifactControlData.d.ts +26 -0
- package/dist/common/artifactControlData.d.ts.map +1 -0
- package/dist/common/artifactControlData.js +208 -0
- package/dist/common/artifactControlData.js.map +1 -0
- package/dist/common/artifactEvidence.d.ts +144 -0
- package/dist/common/artifactEvidence.d.ts.map +1 -0
- package/dist/common/artifactEvidence.js +181 -0
- package/dist/common/artifactEvidence.js.map +1 -0
- package/dist/common/artifactEvidenceValidation.d.ts +16 -0
- package/dist/common/artifactEvidenceValidation.d.ts.map +1 -0
- package/dist/common/artifactEvidenceValidation.js +31 -0
- package/dist/common/artifactEvidenceValidation.js.map +1 -0
- package/dist/common/artifactGeneration.d.ts +93 -0
- package/dist/common/artifactGeneration.d.ts.map +1 -0
- package/dist/common/artifactGeneration.js +5 -0
- package/dist/common/artifactGeneration.js.map +1 -0
- package/dist/common/capabilityPassport.d.ts +114 -0
- package/dist/common/capabilityPassport.d.ts.map +1 -0
- package/dist/common/capabilityPassport.js +211 -0
- package/dist/common/capabilityPassport.js.map +1 -0
- package/dist/common/index.d.ts +6 -0
- package/dist/common/index.d.ts.map +1 -1
- package/dist/common/index.js +6 -0
- package/dist/common/index.js.map +1 -1
- package/dist/common/pagination.d.ts +3 -0
- package/dist/common/pagination.d.ts.map +1 -1
- package/dist/common/provider.d.ts +33 -0
- package/dist/common/provider.d.ts.map +1 -0
- package/dist/common/provider.js +15 -0
- package/dist/common/provider.js.map +1 -0
- package/dist/common/providerSyncProgress.d.ts +91 -0
- package/dist/common/providerSyncProgress.d.ts.map +1 -0
- package/dist/common/providerSyncProgress.js +3 -0
- package/dist/common/providerSyncProgress.js.map +1 -0
- package/dist/common/relationships.d.ts +8 -0
- package/dist/common/relationships.d.ts.map +1 -0
- package/dist/common/relationships.js +3 -0
- package/dist/common/relationships.js.map +1 -0
- package/dist/common/syncProgress.d.ts +27 -0
- package/dist/common/syncProgress.d.ts.map +1 -0
- package/dist/common/syncProgress.js +3 -0
- package/dist/common/syncProgress.js.map +1 -0
- package/dist/company/billingAccount.d.ts +30 -0
- package/dist/company/billingAccount.d.ts.map +1 -0
- package/dist/company/billingAccount.js +3 -0
- package/dist/company/billingAccount.js.map +1 -0
- package/dist/company/company.d.ts +91 -1
- package/dist/company/company.d.ts.map +1 -1
- package/dist/company/companyHierarchy.d.ts +53 -0
- package/dist/company/companyHierarchy.d.ts.map +1 -0
- package/dist/company/companyHierarchy.js +3 -0
- package/dist/company/companyHierarchy.js.map +1 -0
- package/dist/company/companyNotes.d.ts +288 -0
- package/dist/company/companyNotes.d.ts.map +1 -0
- package/dist/company/companyNotes.js +42 -0
- package/dist/company/companyNotes.js.map +1 -0
- package/dist/company/customProperties.d.ts +2 -0
- package/dist/company/customProperties.d.ts.map +1 -0
- package/dist/company/customProperties.js +18 -0
- package/dist/company/customProperties.js.map +1 -0
- package/dist/company/index.d.ts +3 -0
- package/dist/company/index.d.ts.map +1 -1
- package/dist/company/index.js +3 -0
- package/dist/company/index.js.map +1 -1
- package/dist/company/notification.d.ts +35 -1
- package/dist/company/notification.d.ts.map +1 -1
- package/dist/company/notification.js +27 -12
- package/dist/company/notification.js.map +1 -1
- package/dist/company/survey.d.ts +3 -0
- package/dist/company/survey.d.ts.map +1 -1
- package/dist/customProperties/customProperties.d.ts +87 -0
- package/dist/customProperties/customProperties.d.ts.map +1 -0
- package/dist/customProperties/customProperties.js +3 -0
- package/dist/customProperties/customProperties.js.map +1 -0
- package/dist/customProperties/index.d.ts +2 -0
- package/dist/customProperties/index.d.ts.map +1 -0
- package/dist/customProperties/index.js +18 -0
- package/dist/customProperties/index.js.map +1 -0
- package/dist/esm/accounts/accounts.js +115 -0
- package/dist/esm/accounts/azureSpSetup.js +1 -0
- package/dist/esm/accounts/azureSpSetupDurable.js +1 -0
- package/dist/esm/accounts/index.js +5 -0
- package/dist/esm/accounts/readPermissions.js +198 -0
- package/dist/esm/accounts/validation.js +1 -0
- package/dist/esm/accounts/writePermissions.js +43 -0
- package/dist/esm/ai/index.js +2 -0
- package/dist/esm/assessments/artifact.js +1 -0
- package/dist/esm/assessments/catalogue.js +12 -0
- package/dist/esm/assessments/common.js +1 -0
- package/dist/esm/assessments/evidence.js +1 -0
- package/dist/esm/assessments/export.js +1 -0
- package/dist/esm/assessments/index.js +10 -0
- package/dist/esm/assessments/queue.js +2 -0
- package/dist/esm/assessments/review.js +1 -0
- package/dist/esm/assessments/run.js +1 -0
- package/dist/esm/assessments/sow.js +1 -0
- package/dist/esm/assessments/status.js +23 -0
- package/dist/esm/aws/commitments-planning.js +1 -0
- package/dist/esm/aws/commitmentsPlanningValidation.js +121 -0
- package/dist/esm/aws/estates.js +21 -0
- package/dist/esm/aws/index.js +18 -0
- package/dist/esm/aws/onboarding.js +1 -0
- package/dist/esm/aws/pluginPublicArtifactBodyValidation.js +217 -0
- package/dist/esm/aws/pluginPublicArtifactEvidence.js +1 -0
- package/dist/esm/aws/pluginPublicArtifactManifestValidation.js +255 -0
- package/dist/esm/aws/pluginPublicArtifactSectionValidation.js +464 -0
- package/dist/esm/aws/pluginPublicArtifactValidation.js +2 -0
- package/dist/esm/aws/pluginPublicArtifactValidationHelpers.js +216 -0
- package/dist/esm/aws/pluginPublicArtifacts.js +109 -0
- package/dist/esm/aws/portalCommitmentsPlanningPublicArtifactValidation.js +509 -0
- package/dist/esm/aws/portalCommitmentsPlanningPublicArtifacts.js +1 -0
- package/dist/esm/aws/portalPublicArtifactCurrentValidation.js +328 -0
- package/dist/esm/aws/portalPublicArtifactEvidenceValidation.js +294 -0
- package/dist/esm/aws/portalPublicArtifactHistoryAiValidation.js +368 -0
- package/dist/esm/aws/portalPublicArtifactHistoryTypes.js +40 -0
- package/dist/esm/aws/portalPublicArtifactNestedEvidence.js +1 -0
- package/dist/esm/aws/portalPublicArtifactNestedEvidenceValidation.js +397 -0
- package/dist/esm/aws/portalPublicArtifactValidation.js +2 -0
- package/dist/esm/aws/portalPublicArtifactValidationCommon.js +139 -0
- package/dist/esm/aws/portalPublicArtifacts.js +73 -0
- package/dist/esm/aws/portalRelationshipPublicArtifactValidation.js +334 -0
- package/dist/esm/aws/portalRelationshipPublicArtifacts.js +59 -0
- package/dist/esm/aws/portalRelationshipResourceNodeTypes.js +1 -0
- package/dist/esm/aws/portalRelationshipResourceNodeValidation.js +368 -0
- package/dist/esm/aws/publicArtifacts.js +13 -0
- package/dist/esm/aws/relationships.js +1 -0
- package/dist/esm/aws/requests.js +19 -0
- package/dist/esm/azure/activityLogs.js +2 -0
- package/dist/esm/azure/advisorScore.js +1 -0
- package/dist/esm/azure/benefits.js +1 -0
- package/dist/esm/azure/billingArtifactCanonicalization.js +360 -0
- package/dist/esm/azure/billingArtifactEvidence.js +23 -0
- package/dist/esm/azure/billingArtifactGeneration.js +390 -0
- package/dist/esm/azure/billingArtifactLimits.js +18 -0
- package/dist/esm/azure/billingGeneration.js +1 -0
- package/dist/esm/azure/billingPlots.js +430 -0
- package/dist/esm/azure/budgets.js +1 -0
- package/dist/esm/azure/commitmentsPlanning.js +1 -0
- package/dist/esm/azure/common.js +1 -0
- package/dist/esm/azure/configs.js +1 -0
- package/dist/esm/azure/costComposition.js +1 -0
- package/dist/esm/azure/dataProtection.js +5 -0
- package/dist/esm/azure/governance.js +14 -0
- package/dist/esm/azure/licensing.js +1 -0
- package/dist/esm/azure/metrics.js +1 -0
- package/dist/esm/azure/payloads.js +1 -0
- package/dist/esm/azure/portalArtifacts.js +1 -0
- package/dist/esm/azure/prices.js +1 -0
- package/dist/esm/azure/publicIpAddresses.js +2 -0
- package/dist/esm/azure/recommendationAudit.js +16 -0
- package/dist/esm/azure/recommendationState.js +1 -0
- package/dist/esm/azure/recommendationTracks.js +40 -0
- package/dist/esm/azure/recommendationWorkflow.js +13 -0
- package/dist/esm/azure/recommendations.js +10 -0
- package/dist/esm/azure/regulatoryCompliance.js +6 -0
- package/dist/esm/azure/relationships.js +2 -0
- package/dist/esm/azure/reportingTemplates.js +1 -0
- package/dist/esm/azure/reports.js +12 -0
- package/dist/esm/azure/resourceHealth.js +12 -0
- package/dist/esm/azure/resourceOptimization.js +1 -0
- package/dist/esm/azure/resources.js +1 -0
- package/dist/esm/azure/reviewChecklist.js +1 -0
- package/dist/esm/azure/secureScore.js +1 -0
- package/dist/esm/azure/security.js +1 -0
- package/dist/esm/azure/serviceRetirement.js +1 -0
- package/dist/esm/azure/serviceRetirementState.js +1 -0
- package/dist/esm/azure/serviceRetirementWorkManagement.js +1 -0
- package/dist/esm/azure/storage-inventory.js +1 -0
- package/dist/esm/azure/subscriptions.js +1 -0
- package/dist/esm/azure/views.js +193 -0
- package/dist/esm/azure/workManagement.js +4 -0
- package/dist/esm/common/artifactControlData.js +200 -0
- package/dist/esm/common/artifactEvidence.js +173 -0
- package/dist/esm/common/artifactEvidenceValidation.js +24 -0
- package/dist/esm/common/artifactGeneration.js +1 -0
- package/dist/esm/common/capabilityPassport.js +206 -0
- package/dist/esm/common/index.js +7 -0
- package/dist/esm/common/pagination.js +1 -0
- package/dist/esm/common/provider.js +11 -0
- package/dist/esm/common/providerSyncProgress.js +1 -0
- package/dist/esm/common/relationships.js +1 -0
- package/dist/esm/common/syncProgress.js +1 -0
- package/dist/esm/company/billingAccount.js +1 -0
- package/dist/esm/company/company.js +1 -0
- package/dist/esm/company/companyHierarchy.js +1 -0
- package/dist/esm/company/companyNotes.js +38 -0
- package/dist/esm/company/customProperties.js +1 -0
- package/dist/esm/company/index.js +6 -0
- package/dist/esm/company/notification.js +43 -0
- package/dist/esm/company/survey.js +1 -0
- package/dist/esm/customProperties/customProperties.js +1 -0
- package/dist/esm/customProperties/index.js +1 -0
- package/dist/esm/entries/aws.js +3 -0
- package/dist/esm/entries/commitments-planning.js +3 -0
- package/dist/esm/entries/provider.js +3 -0
- package/dist/esm/entries/recommendations.js +3 -0
- package/dist/esm/entries/relationships.js +3 -0
- package/dist/esm/entries/root.js +3 -0
- package/dist/esm/events/actionGroups.js +1 -0
- package/dist/esm/events/alertDefinitionRun.js +1 -0
- package/dist/esm/events/baseAlert.js +1 -0
- package/dist/esm/events/cost.js +1 -0
- package/dist/esm/events/costAnomalies.js +1 -0
- package/dist/esm/events/costViews.js +1 -0
- package/dist/esm/events/eventStatus.js +1 -0
- package/dist/esm/events/index.js +8 -0
- package/dist/esm/events/quickAlerts.js +2 -0
- package/dist/esm/features-and-permissions/access.js +1 -0
- package/dist/esm/features-and-permissions/index.js +1 -0
- package/dist/esm/feedbacks/feedback.js +1 -0
- package/dist/esm/identity/apikey.js +1 -0
- package/dist/esm/identity/index.js +1 -0
- package/dist/esm/index.js +59 -0
- package/dist/esm/index.vite.js +48 -0
- package/dist/esm/integrations/autotask.js +1 -0
- package/dist/esm/integrations/azureDevOps.js +1 -0
- package/dist/esm/integrations/github.js +1 -0
- package/dist/esm/integrations/halo.js +1 -0
- package/dist/esm/integrations/index.js +5 -0
- package/dist/esm/integrations/integrationTickets.js +1 -0
- package/dist/esm/package.json +3 -0
- package/dist/esm/portfolio/index.js +2 -0
- package/dist/esm/portfolio/portfolioOperations.js +1 -0
- package/dist/esm/portfolio/portfolioProjections.js +17 -0
- package/dist/esm/scheduler/index.js +1 -0
- package/dist/esm/scheduler/scheduler.js +1 -0
- package/dist/esm/tags/index.js +1 -0
- package/dist/esm/tags/tags.js +6 -0
- package/dist/esm/unknown/services.js +1 -0
- package/dist/esm/users/companyUser.js +2 -0
- package/dist/esm/users/index.js +2 -0
- package/dist/esm/users/user.js +1 -0
- package/dist/events/actionGroups.d.ts +85 -0
- package/dist/events/actionGroups.d.ts.map +1 -0
- package/dist/events/actionGroups.js +3 -0
- package/dist/events/actionGroups.js.map +1 -0
- package/dist/events/alertDefinitionRun.d.ts +23 -0
- package/dist/events/alertDefinitionRun.d.ts.map +1 -0
- package/dist/events/alertDefinitionRun.js +3 -0
- package/dist/events/alertDefinitionRun.js.map +1 -0
- package/dist/events/baseAlert.d.ts +140 -0
- package/dist/events/baseAlert.d.ts.map +1 -0
- package/dist/events/baseAlert.js +3 -0
- package/dist/events/baseAlert.js.map +1 -0
- package/dist/events/cost.d.ts +371 -0
- package/dist/events/cost.d.ts.map +1 -0
- package/dist/events/cost.js +3 -0
- package/dist/events/cost.js.map +1 -0
- package/dist/events/costAnomalies.d.ts +47 -0
- package/dist/events/costAnomalies.d.ts.map +1 -0
- package/dist/events/costAnomalies.js +3 -0
- package/dist/events/costAnomalies.js.map +1 -0
- package/dist/events/costViews.d.ts +25 -0
- package/dist/events/costViews.d.ts.map +1 -0
- package/dist/events/costViews.js +3 -0
- package/dist/events/costViews.js.map +1 -0
- package/dist/events/eventStatus.d.ts +67 -0
- package/dist/events/eventStatus.d.ts.map +1 -0
- package/dist/events/eventStatus.js +3 -0
- package/dist/events/eventStatus.js.map +1 -0
- package/dist/events/index.d.ts +9 -0
- package/dist/events/index.d.ts.map +1 -0
- package/dist/events/index.js +25 -0
- package/dist/events/index.js.map +1 -0
- package/dist/events/quickAlerts.d.ts +67 -0
- package/dist/events/quickAlerts.d.ts.map +1 -0
- package/dist/events/quickAlerts.js +7 -0
- package/dist/events/quickAlerts.js.map +1 -0
- package/dist/features-and-permissions/access.d.ts +139 -0
- package/dist/features-and-permissions/access.d.ts.map +1 -0
- package/dist/features-and-permissions/access.js +3 -0
- package/dist/features-and-permissions/access.js.map +1 -0
- package/dist/features-and-permissions/index.d.ts +2 -0
- package/dist/features-and-permissions/index.d.ts.map +1 -0
- package/dist/features-and-permissions/index.js +18 -0
- package/dist/features-and-permissions/index.js.map +1 -0
- package/dist/feedbacks/feedback.d.ts +9 -0
- package/dist/feedbacks/feedback.d.ts.map +1 -1
- package/dist/identity/apikey.d.ts +84 -0
- package/dist/identity/apikey.d.ts.map +1 -0
- package/dist/identity/apikey.js +3 -0
- package/dist/identity/apikey.js.map +1 -0
- package/dist/identity/index.d.ts +2 -0
- package/dist/identity/index.d.ts.map +1 -0
- package/dist/identity/index.js +18 -0
- package/dist/identity/index.js.map +1 -0
- package/dist/index.d.ts +41 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +41 -1
- package/dist/index.js.map +1 -1
- package/dist/index.vite.d.ts +49 -0
- package/dist/index.vite.d.ts.map +1 -0
- package/dist/index.vite.js +65 -0
- package/dist/index.vite.js.map +1 -0
- package/dist/integrations/autotask.d.ts +108 -0
- package/dist/integrations/autotask.d.ts.map +1 -0
- package/dist/integrations/autotask.js +3 -0
- package/dist/integrations/autotask.js.map +1 -0
- package/dist/integrations/azureDevOps.d.ts +130 -0
- package/dist/integrations/azureDevOps.d.ts.map +1 -0
- package/dist/integrations/azureDevOps.js +3 -0
- package/dist/integrations/azureDevOps.js.map +1 -0
- package/dist/integrations/github.d.ts +96 -0
- package/dist/integrations/github.d.ts.map +1 -0
- package/dist/integrations/github.js +3 -0
- package/dist/integrations/github.js.map +1 -0
- package/dist/integrations/halo.d.ts +76 -0
- package/dist/integrations/halo.d.ts.map +1 -0
- package/dist/integrations/halo.js +3 -0
- package/dist/integrations/halo.js.map +1 -0
- package/dist/integrations/index.d.ts +6 -0
- package/dist/integrations/index.d.ts.map +1 -0
- package/dist/integrations/index.js +22 -0
- package/dist/integrations/index.js.map +1 -0
- package/dist/integrations/integrationTickets.d.ts +77 -0
- package/dist/integrations/integrationTickets.d.ts.map +1 -0
- package/dist/integrations/integrationTickets.js +3 -0
- package/dist/integrations/integrationTickets.js.map +1 -0
- package/dist/portfolio/index.d.ts +3 -0
- package/dist/portfolio/index.d.ts.map +1 -0
- package/dist/portfolio/index.js +19 -0
- package/dist/portfolio/index.js.map +1 -0
- package/dist/portfolio/portfolioOperations.d.ts +174 -0
- package/dist/portfolio/portfolioOperations.d.ts.map +1 -0
- package/dist/portfolio/portfolioOperations.js +3 -0
- package/dist/portfolio/portfolioOperations.js.map +1 -0
- package/dist/portfolio/portfolioProjections.d.ts +460 -0
- package/dist/portfolio/portfolioProjections.d.ts.map +1 -0
- package/dist/portfolio/portfolioProjections.js +21 -0
- package/dist/portfolio/portfolioProjections.js.map +1 -0
- package/dist/scheduler/index.d.ts +2 -0
- package/dist/scheduler/index.d.ts.map +1 -0
- package/dist/scheduler/index.js +18 -0
- package/dist/scheduler/index.js.map +1 -0
- package/dist/scheduler/scheduler.d.ts +263 -0
- package/dist/scheduler/scheduler.d.ts.map +1 -0
- package/dist/scheduler/scheduler.js +3 -0
- package/dist/scheduler/scheduler.js.map +1 -0
- package/dist/tags/index.d.ts +2 -0
- package/dist/tags/index.d.ts.map +1 -0
- package/dist/tags/index.js +18 -0
- package/dist/tags/index.js.map +1 -0
- package/dist/tags/tags.d.ts +37 -0
- package/dist/tags/tags.d.ts.map +1 -0
- package/dist/tags/tags.js +10 -0
- package/dist/tags/tags.js.map +1 -0
- package/dist/unknown/services.d.ts +12 -0
- package/dist/unknown/services.d.ts.map +1 -0
- package/dist/unknown/services.js +3 -0
- package/dist/unknown/services.js.map +1 -0
- package/dist/users/companyUser.d.ts +14 -0
- package/dist/users/companyUser.d.ts.map +1 -1
- package/dist/users/companyUser.js.map +1 -1
- package/dist/users/user.d.ts +20 -1
- package/dist/users/user.d.ts.map +1 -1
- package/package.json +70 -5
|
@@ -0,0 +1,371 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.canonicalizeBillingArtifactJson = exports.canonicalizeBillingAnalysisPromotionObservationV1ForDigest = exports.canonicalizeBillingAnalyzerOutputManifestV2ForDigest = exports.canonicalizeBillingAnalyzerInputManifestV2ForDigest = exports.canonicalizeBillingOutputBindingV1 = exports.projectBillingOutputBindingV1FromMetadata = exports.projectBillingOutputBindingV1FromManifest = void 0;
|
|
4
|
+
const artifactControlData_js_1 = require("../common/artifactControlData.js");
|
|
5
|
+
const hasOwn = (value, key) => Object.prototype.hasOwnProperty.call(value, key);
|
|
6
|
+
const isRecord = (value) => typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
7
|
+
const requirePlainRecord = (value, name) => {
|
|
8
|
+
if (!isRecord(value))
|
|
9
|
+
throw new TypeError(`${name} must be an object.`);
|
|
10
|
+
const prototype = Object.getPrototypeOf(value);
|
|
11
|
+
if (prototype !== Object.prototype && prototype !== null)
|
|
12
|
+
throw new TypeError(`${name} must be a plain JSON object.`);
|
|
13
|
+
if (Object.getOwnPropertySymbols(value).length > 0)
|
|
14
|
+
throw new TypeError(`${name} cannot contain symbol properties.`);
|
|
15
|
+
return value;
|
|
16
|
+
};
|
|
17
|
+
const hasUnpairedSurrogate = (value) => {
|
|
18
|
+
for (let index = 0; index < value.length; index += 1) {
|
|
19
|
+
const code = value.charCodeAt(index);
|
|
20
|
+
if (code >= 0xd800 && code <= 0xdbff) {
|
|
21
|
+
const next = value.charCodeAt(index + 1);
|
|
22
|
+
if (!(next >= 0xdc00 && next <= 0xdfff))
|
|
23
|
+
return true;
|
|
24
|
+
index += 1;
|
|
25
|
+
}
|
|
26
|
+
else if (code >= 0xdc00 && code <= 0xdfff) {
|
|
27
|
+
return true;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
return false;
|
|
31
|
+
};
|
|
32
|
+
const readDataProperty = (value, key, optional = false) => {
|
|
33
|
+
const descriptor = Object.getOwnPropertyDescriptor(value, key);
|
|
34
|
+
if (descriptor === undefined) {
|
|
35
|
+
if (optional)
|
|
36
|
+
return undefined;
|
|
37
|
+
throw new TypeError(`Missing canonical billing field: ${key}`);
|
|
38
|
+
}
|
|
39
|
+
if (!('value' in descriptor) || !descriptor.enumerable || descriptor.value === undefined) {
|
|
40
|
+
throw new TypeError(`Canonical billing field must be an enumerable JSON value: ${key}`);
|
|
41
|
+
}
|
|
42
|
+
return descriptor.value;
|
|
43
|
+
};
|
|
44
|
+
const selectOptional = (source, target, key) => {
|
|
45
|
+
if (hasOwn(source, key))
|
|
46
|
+
target[key] = readDataProperty(source, key, true);
|
|
47
|
+
};
|
|
48
|
+
const readArrayEntries = (value, name) => {
|
|
49
|
+
if (!Array.isArray(value) || Object.getPrototypeOf(value) !== Array.prototype) {
|
|
50
|
+
throw new TypeError(`${name} must be a plain JSON array.`);
|
|
51
|
+
}
|
|
52
|
+
const ownKeys = Reflect.ownKeys(value);
|
|
53
|
+
if (ownKeys.some(key => typeof key === 'symbol') ||
|
|
54
|
+
ownKeys.some(key => typeof key === 'string' && key !== 'length' && !/^(0|[1-9]\d*)$/.test(key))) {
|
|
55
|
+
throw new TypeError(`${name} cannot contain custom properties.`);
|
|
56
|
+
}
|
|
57
|
+
const entries = [];
|
|
58
|
+
for (let index = 0; index < value.length; index += 1) {
|
|
59
|
+
const descriptor = Object.getOwnPropertyDescriptor(value, String(index));
|
|
60
|
+
if (descriptor === undefined || !('value' in descriptor) || !descriptor.enumerable || descriptor.value === undefined) {
|
|
61
|
+
throw new TypeError(`${name} entries must be enumerable JSON values.`);
|
|
62
|
+
}
|
|
63
|
+
entries.push(descriptor.value);
|
|
64
|
+
}
|
|
65
|
+
return entries;
|
|
66
|
+
};
|
|
67
|
+
const projectOwnership = (value) => {
|
|
68
|
+
const source = requirePlainRecord(value, 'Billing output ownership');
|
|
69
|
+
const projected = {
|
|
70
|
+
provider: readDataProperty(source, 'provider'),
|
|
71
|
+
tenantId: readDataProperty(source, 'tenantId'),
|
|
72
|
+
companyId: readDataProperty(source, 'companyId'),
|
|
73
|
+
cloudAccountId: readDataProperty(source, 'cloudAccountId'),
|
|
74
|
+
accountId: readDataProperty(source, 'accountId'),
|
|
75
|
+
};
|
|
76
|
+
selectOptional(source, projected, 'ownershipEpochRevision');
|
|
77
|
+
return projected;
|
|
78
|
+
};
|
|
79
|
+
const projectRevision = (value) => {
|
|
80
|
+
const source = requirePlainRecord(value, 'Billing output revision');
|
|
81
|
+
const projected = {
|
|
82
|
+
sourceRevision: readDataProperty(source, 'sourceRevision'),
|
|
83
|
+
policyRevision: readDataProperty(source, 'policyRevision'),
|
|
84
|
+
};
|
|
85
|
+
selectOptional(source, projected, 'ownershipEpochRevision');
|
|
86
|
+
return projected;
|
|
87
|
+
};
|
|
88
|
+
const projectIssue = (value) => {
|
|
89
|
+
const source = requirePlainRecord(value, 'Billing publication issue');
|
|
90
|
+
const projected = {
|
|
91
|
+
code: readDataProperty(source, 'code'),
|
|
92
|
+
blocking: readDataProperty(source, 'blocking'),
|
|
93
|
+
};
|
|
94
|
+
selectOptional(source, projected, 'dependency');
|
|
95
|
+
return projected;
|
|
96
|
+
};
|
|
97
|
+
const projectObservedRange = (value) => {
|
|
98
|
+
const source = requirePlainRecord(value, 'Billing observed range');
|
|
99
|
+
const projected = {
|
|
100
|
+
fromInclusive: readDataProperty(source, 'fromInclusive'),
|
|
101
|
+
throughExclusive: readDataProperty(source, 'throughExclusive'),
|
|
102
|
+
dateBasis: readDataProperty(source, 'dateBasis'),
|
|
103
|
+
};
|
|
104
|
+
selectOptional(source, projected, 'timeZone');
|
|
105
|
+
return projected;
|
|
106
|
+
};
|
|
107
|
+
const projectDependency = (value) => {
|
|
108
|
+
const source = requirePlainRecord(value, 'Billing publication dependency');
|
|
109
|
+
const projected = {
|
|
110
|
+
name: readDataProperty(source, 'name'),
|
|
111
|
+
required: readDataProperty(source, 'required'),
|
|
112
|
+
support: readDataProperty(source, 'support'),
|
|
113
|
+
applicability: readDataProperty(source, 'applicability'),
|
|
114
|
+
attempt: readDataProperty(source, 'attempt'),
|
|
115
|
+
coverage: readDataProperty(source, 'coverage'),
|
|
116
|
+
emptyEvidence: readDataProperty(source, 'emptyEvidence'),
|
|
117
|
+
freshness: readDataProperty(source, 'freshness'),
|
|
118
|
+
evidence: readDataProperty(source, 'evidence'),
|
|
119
|
+
publication: readDataProperty(source, 'publication'),
|
|
120
|
+
};
|
|
121
|
+
for (const key of [
|
|
122
|
+
'generationId',
|
|
123
|
+
'digest',
|
|
124
|
+
'sourceRevision',
|
|
125
|
+
'policyRevision',
|
|
126
|
+
'completeThrough',
|
|
127
|
+
'emptyProofRef',
|
|
128
|
+
'reasonCode',
|
|
129
|
+
'acceptedRowCount',
|
|
130
|
+
]) {
|
|
131
|
+
selectOptional(source, projected, key);
|
|
132
|
+
}
|
|
133
|
+
if (hasOwn(source, 'observedRange'))
|
|
134
|
+
projected.observedRange = projectObservedRange(readDataProperty(source, 'observedRange', true));
|
|
135
|
+
return projected;
|
|
136
|
+
};
|
|
137
|
+
const projectClaim = (value) => {
|
|
138
|
+
const source = requirePlainRecord(value, 'Billing publication claim');
|
|
139
|
+
const sectionPaths = readArrayEntries(readDataProperty(source, 'sectionPaths'), 'Billing claim section paths');
|
|
140
|
+
const requiredDependencies = readArrayEntries(readDataProperty(source, 'requiredDependencies'), 'Billing claim dependencies');
|
|
141
|
+
const issues = readArrayEntries(readDataProperty(source, 'issues'), 'Billing claim issues');
|
|
142
|
+
return {
|
|
143
|
+
claimId: readDataProperty(source, 'claimId'),
|
|
144
|
+
sectionPaths: [...sectionPaths],
|
|
145
|
+
requiredDependencies: [...requiredDependencies],
|
|
146
|
+
evidence: readDataProperty(source, 'evidence'),
|
|
147
|
+
publication: readDataProperty(source, 'publication'),
|
|
148
|
+
issues: issues.map(projectIssue),
|
|
149
|
+
};
|
|
150
|
+
};
|
|
151
|
+
const projectPublicationDecision = (value) => {
|
|
152
|
+
const source = requirePlainRecord(value, 'Billing publication decision');
|
|
153
|
+
const dependencies = readArrayEntries(readDataProperty(source, 'dependencies'), 'Billing publication dependencies');
|
|
154
|
+
const claims = readArrayEntries(readDataProperty(source, 'claims'), 'Billing publication claims');
|
|
155
|
+
const issues = readArrayEntries(readDataProperty(source, 'issues'), 'Billing publication issues');
|
|
156
|
+
return {
|
|
157
|
+
processing: readDataProperty(source, 'processing'),
|
|
158
|
+
evidence: readDataProperty(source, 'evidence'),
|
|
159
|
+
publication: readDataProperty(source, 'publication'),
|
|
160
|
+
dependencies: dependencies.map(projectDependency),
|
|
161
|
+
claims: claims.map(projectClaim),
|
|
162
|
+
issues: issues.map(projectIssue),
|
|
163
|
+
};
|
|
164
|
+
};
|
|
165
|
+
const projectPromotionEvaluation = (value) => {
|
|
166
|
+
const source = requirePlainRecord(value, 'Billing promotion observation evaluation');
|
|
167
|
+
const projected = {
|
|
168
|
+
comparison: readDataProperty(source, 'comparison'),
|
|
169
|
+
projectedOutcome: readDataProperty(source, 'projectedOutcome'),
|
|
170
|
+
};
|
|
171
|
+
selectOptional(source, projected, 'outputDigestRelation');
|
|
172
|
+
return projected;
|
|
173
|
+
};
|
|
174
|
+
const projectPromotionObservation = (value) => {
|
|
175
|
+
const source = requirePlainRecord(value, 'Billing promotion observation');
|
|
176
|
+
const observationDigest = readDataProperty(source, 'observationDigest');
|
|
177
|
+
if (typeof observationDigest !== 'string')
|
|
178
|
+
throw new TypeError('Billing promotion observation requires an observationDigest string.');
|
|
179
|
+
const projected = {
|
|
180
|
+
schemaVersion: readDataProperty(source, 'schemaVersion'),
|
|
181
|
+
documentType: readDataProperty(source, 'documentType'),
|
|
182
|
+
authority: readDataProperty(source, 'authority'),
|
|
183
|
+
publicationMode: readDataProperty(source, 'publicationMode'),
|
|
184
|
+
processingState: readDataProperty(source, 'processingState'),
|
|
185
|
+
subscriptionId: readDataProperty(source, 'subscriptionId'),
|
|
186
|
+
generationId: readDataProperty(source, 'generationId'),
|
|
187
|
+
ownership: projectOwnership(readDataProperty(source, 'ownership')),
|
|
188
|
+
revision: projectRevision(readDataProperty(source, 'revision')),
|
|
189
|
+
messageId: readDataProperty(source, 'messageId'),
|
|
190
|
+
correlationId: readDataProperty(source, 'correlationId'),
|
|
191
|
+
inputManifestPath: readDataProperty(source, 'inputManifestPath'),
|
|
192
|
+
inputManifestDigest: readDataProperty(source, 'inputManifestDigest'),
|
|
193
|
+
outputManifestPath: readDataProperty(source, 'outputManifestPath'),
|
|
194
|
+
outputManifestDigest: readDataProperty(source, 'outputManifestDigest'),
|
|
195
|
+
evaluation: projectPromotionEvaluation(readDataProperty(source, 'evaluation')),
|
|
196
|
+
observedAt: readDataProperty(source, 'observedAt'),
|
|
197
|
+
};
|
|
198
|
+
if ((0, artifactControlData_js_1.containsForbiddenArtifactControlData)(projected, [
|
|
199
|
+
...(0, artifactControlData_js_1.allowedArtifactReferenceField)(projected, 'inputManifestPath'),
|
|
200
|
+
...(0, artifactControlData_js_1.allowedArtifactReferenceField)(projected, 'outputManifestPath'),
|
|
201
|
+
])) {
|
|
202
|
+
throw new TypeError('Billing promotion observation contains forbidden control data.');
|
|
203
|
+
}
|
|
204
|
+
return projected;
|
|
205
|
+
};
|
|
206
|
+
const projectBinding = (subscriptionId, generationId, ownership, revision, inputManifestDigest, publicationDecision) => ({
|
|
207
|
+
kind: 'billing-analysis-output',
|
|
208
|
+
schemaVersion: 1,
|
|
209
|
+
subscriptionId: subscriptionId,
|
|
210
|
+
generationId: generationId,
|
|
211
|
+
ownership: projectOwnership(ownership),
|
|
212
|
+
revision: projectRevision(revision),
|
|
213
|
+
inputManifestDigest: inputManifestDigest,
|
|
214
|
+
publicationDecision: projectPublicationDecision(publicationDecision),
|
|
215
|
+
});
|
|
216
|
+
/** Selects the exact binding-v1 identity/evidence fields from an output manifest. */
|
|
217
|
+
const projectBillingOutputBindingV1FromManifest = (manifest) => {
|
|
218
|
+
const value = requirePlainRecord(manifest, 'Billing output manifest');
|
|
219
|
+
return projectBinding(readDataProperty(value, 'subscriptionId'), readDataProperty(value, 'generationId'), readDataProperty(value, 'ownership'), readDataProperty(value, 'revision'), readDataProperty(value, 'inputManifestDigest'), readDataProperty(value, 'publicationDecision'));
|
|
220
|
+
};
|
|
221
|
+
exports.projectBillingOutputBindingV1FromManifest = projectBillingOutputBindingV1FromManifest;
|
|
222
|
+
/** Selects the exact binding-v1 identity/evidence fields from billing metadata. */
|
|
223
|
+
const projectBillingOutputBindingV1FromMetadata = (metadata) => {
|
|
224
|
+
const value = requirePlainRecord(metadata, 'Billing cost metadata');
|
|
225
|
+
return projectBinding(readDataProperty(value, 'subscriptionId'), readDataProperty(value, 'billingGenerationId'), readDataProperty(value, 'ownership'), readDataProperty(value, 'revision'), readDataProperty(value, 'inputManifestDigest'), readDataProperty(value, 'artifactEvidence'));
|
|
226
|
+
};
|
|
227
|
+
exports.projectBillingOutputBindingV1FromMetadata = projectBillingOutputBindingV1FromMetadata;
|
|
228
|
+
const canonicalizeJson = (value) => {
|
|
229
|
+
const active = new Set();
|
|
230
|
+
const fragments = [];
|
|
231
|
+
const pending = [{ kind: 'value', value }];
|
|
232
|
+
let visitedContainerCount = 0;
|
|
233
|
+
while (pending.length > 0) {
|
|
234
|
+
const frame = pending.pop();
|
|
235
|
+
if (frame === undefined)
|
|
236
|
+
break;
|
|
237
|
+
if (frame.kind === 'fragment') {
|
|
238
|
+
fragments.push(frame.value);
|
|
239
|
+
continue;
|
|
240
|
+
}
|
|
241
|
+
if (frame.kind === 'leave') {
|
|
242
|
+
active.delete(frame.value);
|
|
243
|
+
continue;
|
|
244
|
+
}
|
|
245
|
+
const candidate = frame.value;
|
|
246
|
+
if (candidate === null || typeof candidate === 'boolean') {
|
|
247
|
+
fragments.push(JSON.stringify(candidate));
|
|
248
|
+
continue;
|
|
249
|
+
}
|
|
250
|
+
if (typeof candidate === 'string') {
|
|
251
|
+
if (hasUnpairedSurrogate(candidate))
|
|
252
|
+
throw new TypeError('Canonical JSON rejects invalid Unicode surrogate data.');
|
|
253
|
+
fragments.push(JSON.stringify(candidate));
|
|
254
|
+
continue;
|
|
255
|
+
}
|
|
256
|
+
if (typeof candidate === 'number') {
|
|
257
|
+
if (!Number.isFinite(candidate) || Object.is(candidate, -0) || (Number.isInteger(candidate) && !Number.isSafeInteger(candidate))) {
|
|
258
|
+
throw new TypeError('Canonical JSON requires finite, safe, non-negative-zero numbers.');
|
|
259
|
+
}
|
|
260
|
+
fragments.push(JSON.stringify(candidate));
|
|
261
|
+
continue;
|
|
262
|
+
}
|
|
263
|
+
if (typeof candidate !== 'object' || candidate === undefined)
|
|
264
|
+
throw new TypeError('Canonical JSON rejects non-JSON values.');
|
|
265
|
+
visitedContainerCount += 1;
|
|
266
|
+
if (visitedContainerCount > artifactControlData_js_1.ARTIFACT_CONTROL_DATA_MAX_VISITED_NODES) {
|
|
267
|
+
throw new TypeError('Canonical JSON exceeds its 100000-container limit.');
|
|
268
|
+
}
|
|
269
|
+
if (active.has(candidate))
|
|
270
|
+
throw new TypeError('Canonical JSON rejects cyclic values.');
|
|
271
|
+
active.add(candidate);
|
|
272
|
+
pending.push({ kind: 'leave', value: candidate });
|
|
273
|
+
if (Array.isArray(candidate)) {
|
|
274
|
+
if (Object.getPrototypeOf(candidate) !== Array.prototype)
|
|
275
|
+
throw new TypeError('Canonical JSON requires plain arrays.');
|
|
276
|
+
const ownKeys = Reflect.ownKeys(candidate);
|
|
277
|
+
if (ownKeys.some(key => typeof key === 'symbol') ||
|
|
278
|
+
ownKeys.some(key => typeof key === 'string' && key !== 'length' && !/^(0|[1-9]\d*)$/.test(key))) {
|
|
279
|
+
throw new TypeError('Canonical JSON arrays cannot contain custom properties.');
|
|
280
|
+
}
|
|
281
|
+
const values = [];
|
|
282
|
+
for (let index = 0; index < candidate.length; index += 1) {
|
|
283
|
+
if (!hasOwn(candidate, index))
|
|
284
|
+
throw new TypeError('Canonical JSON rejects sparse arrays.');
|
|
285
|
+
const descriptor = Object.getOwnPropertyDescriptor(candidate, String(index));
|
|
286
|
+
if (descriptor === undefined || !('value' in descriptor) || !descriptor.enumerable || descriptor.value === undefined) {
|
|
287
|
+
throw new TypeError('Canonical JSON array entries must be enumerable JSON values.');
|
|
288
|
+
}
|
|
289
|
+
values.push(descriptor.value);
|
|
290
|
+
}
|
|
291
|
+
fragments.push('[');
|
|
292
|
+
pending.push({ kind: 'fragment', value: ']' });
|
|
293
|
+
for (let index = values.length - 1; index >= 0; index -= 1) {
|
|
294
|
+
pending.push({ kind: 'value', value: values[index] });
|
|
295
|
+
if (index > 0)
|
|
296
|
+
pending.push({ kind: 'fragment', value: ',' });
|
|
297
|
+
}
|
|
298
|
+
continue;
|
|
299
|
+
}
|
|
300
|
+
const prototype = Object.getPrototypeOf(candidate);
|
|
301
|
+
if (prototype !== Object.prototype && prototype !== null)
|
|
302
|
+
throw new TypeError('Canonical JSON requires plain objects.');
|
|
303
|
+
if (Object.getOwnPropertySymbols(candidate).length > 0)
|
|
304
|
+
throw new TypeError('Canonical JSON rejects symbol properties.');
|
|
305
|
+
const entries = [];
|
|
306
|
+
for (const key of Object.getOwnPropertyNames(candidate).sort()) {
|
|
307
|
+
if (hasUnpairedSurrogate(key))
|
|
308
|
+
throw new TypeError('Canonical JSON rejects invalid Unicode property names.');
|
|
309
|
+
const descriptor = Object.getOwnPropertyDescriptor(candidate, key);
|
|
310
|
+
if (descriptor === undefined || !('value' in descriptor) || !descriptor.enumerable || descriptor.value === undefined) {
|
|
311
|
+
throw new TypeError('Canonical JSON object fields must be enumerable JSON values.');
|
|
312
|
+
}
|
|
313
|
+
entries.push({ key, value: descriptor.value });
|
|
314
|
+
}
|
|
315
|
+
fragments.push('{');
|
|
316
|
+
pending.push({ kind: 'fragment', value: '}' });
|
|
317
|
+
for (let index = entries.length - 1; index >= 0; index -= 1) {
|
|
318
|
+
const entry = entries[index];
|
|
319
|
+
pending.push({ kind: 'value', value: entry.value });
|
|
320
|
+
pending.push({
|
|
321
|
+
kind: 'fragment',
|
|
322
|
+
value: `${index > 0 ? ',' : ''}${JSON.stringify(entry.key)}:`,
|
|
323
|
+
});
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
return fragments.join('');
|
|
327
|
+
};
|
|
328
|
+
const withoutManifestDigest = (manifest) => {
|
|
329
|
+
const prototype = Object.getPrototypeOf(manifest);
|
|
330
|
+
if (prototype !== Object.prototype && prototype !== null)
|
|
331
|
+
throw new TypeError('Canonical manifests must be plain objects.');
|
|
332
|
+
const digestDescriptor = Object.getOwnPropertyDescriptor(manifest, 'manifestDigest');
|
|
333
|
+
if (digestDescriptor === undefined || !('value' in digestDescriptor) || typeof digestDescriptor.value !== 'string') {
|
|
334
|
+
throw new TypeError('Canonical manifests require a top-level manifestDigest string.');
|
|
335
|
+
}
|
|
336
|
+
const preimage = {};
|
|
337
|
+
for (const key of Reflect.ownKeys(manifest)) {
|
|
338
|
+
if (typeof key !== 'string')
|
|
339
|
+
throw new TypeError('Canonical manifests reject symbol properties.');
|
|
340
|
+
if (key === 'manifestDigest')
|
|
341
|
+
continue;
|
|
342
|
+
const descriptor = Object.getOwnPropertyDescriptor(manifest, key);
|
|
343
|
+
if (descriptor === undefined || !('value' in descriptor) || !descriptor.enumerable || descriptor.value === undefined) {
|
|
344
|
+
throw new TypeError('Canonical manifest fields must be enumerable JSON values.');
|
|
345
|
+
}
|
|
346
|
+
preimage[key] = descriptor.value;
|
|
347
|
+
}
|
|
348
|
+
return preimage;
|
|
349
|
+
};
|
|
350
|
+
/** Returns the RFC 8785/JCS-compatible UTF-8 preimage for billing output binding SHA-256 B. */
|
|
351
|
+
const canonicalizeBillingOutputBindingV1 = (binding) => {
|
|
352
|
+
const value = requirePlainRecord(binding, 'Billing output binding');
|
|
353
|
+
if (readDataProperty(value, 'kind') !== 'billing-analysis-output' || readDataProperty(value, 'schemaVersion') !== 1) {
|
|
354
|
+
throw new TypeError('Billing output binding requires its version-1 domain separator.');
|
|
355
|
+
}
|
|
356
|
+
return canonicalizeJson(projectBinding(readDataProperty(value, 'subscriptionId'), readDataProperty(value, 'generationId'), readDataProperty(value, 'ownership'), readDataProperty(value, 'revision'), readDataProperty(value, 'inputManifestDigest'), readDataProperty(value, 'publicationDecision')));
|
|
357
|
+
};
|
|
358
|
+
exports.canonicalizeBillingOutputBindingV1 = canonicalizeBillingOutputBindingV1;
|
|
359
|
+
/** Returns the canonical input-manifest digest preimage, excluding only top-level manifestDigest. */
|
|
360
|
+
const canonicalizeBillingAnalyzerInputManifestV2ForDigest = (manifest) => canonicalizeJson(withoutManifestDigest(manifest));
|
|
361
|
+
exports.canonicalizeBillingAnalyzerInputManifestV2ForDigest = canonicalizeBillingAnalyzerInputManifestV2ForDigest;
|
|
362
|
+
/** Returns the canonical output-manifest digest preimage, excluding only top-level manifestDigest. */
|
|
363
|
+
const canonicalizeBillingAnalyzerOutputManifestV2ForDigest = (manifest) => canonicalizeJson(withoutManifestDigest(manifest));
|
|
364
|
+
exports.canonicalizeBillingAnalyzerOutputManifestV2ForDigest = canonicalizeBillingAnalyzerOutputManifestV2ForDigest;
|
|
365
|
+
/** Returns the exact promotion-observation digest preimage, excluding observationDigest and additive fields. */
|
|
366
|
+
const canonicalizeBillingAnalysisPromotionObservationV1ForDigest = (observation) => canonicalizeJson(projectPromotionObservation(observation));
|
|
367
|
+
exports.canonicalizeBillingAnalysisPromotionObservationV1ForDigest = canonicalizeBillingAnalysisPromotionObservationV1ForDigest;
|
|
368
|
+
/** Returns the RFC 8785/JCS-compatible canonical JSON string for a validated JSON value. */
|
|
369
|
+
const canonicalizeBillingArtifactJson = (value) => canonicalizeJson(value);
|
|
370
|
+
exports.canonicalizeBillingArtifactJson = canonicalizeBillingArtifactJson;
|
|
371
|
+
//# sourceMappingURL=billingArtifactCanonicalization.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"billingArtifactCanonicalization.js","sourceRoot":"","sources":["../../src/azure/billingArtifactCanonicalization.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { type ArtifactClaimDependencyDecision, type ArtifactDependencyDescriptor, type ArtifactPublicationDecision } from '../common/artifactEvidence.js';
|
|
2
|
+
type CompletedArtifactPublicationDecision = Extract<ArtifactPublicationDecision, {
|
|
3
|
+
publication: 'completed';
|
|
4
|
+
}>;
|
|
5
|
+
type BillingHistoryCompletedArtifactDependency = Extract<ArtifactDependencyDescriptor, {
|
|
6
|
+
publication: 'completed';
|
|
7
|
+
}> & {
|
|
8
|
+
name: 'billing-history';
|
|
9
|
+
required: true;
|
|
10
|
+
generationId: string;
|
|
11
|
+
digest: string;
|
|
12
|
+
};
|
|
13
|
+
type CostAnalysisCompletedArtifactClaim = Extract<ArtifactClaimDependencyDecision, {
|
|
14
|
+
publication: 'completed';
|
|
15
|
+
}> & {
|
|
16
|
+
claimId: 'cost-analysis';
|
|
17
|
+
requiredDependencies: ['billing-history', ...string[]];
|
|
18
|
+
};
|
|
19
|
+
type CostAnalysisArtifactClaim = ArtifactClaimDependencyDecision & {
|
|
20
|
+
claimId: 'cost-analysis';
|
|
21
|
+
requiredDependencies: ['billing-history', ...string[]];
|
|
22
|
+
};
|
|
23
|
+
export type BillingCompletedArtifactPublicationDecision = CompletedArtifactPublicationDecision & {
|
|
24
|
+
dependencies: [BillingHistoryCompletedArtifactDependency, ...CompletedArtifactPublicationDecision['dependencies']];
|
|
25
|
+
claims: [CostAnalysisCompletedArtifactClaim, ...CompletedArtifactPublicationDecision['claims']];
|
|
26
|
+
};
|
|
27
|
+
export type BillingPartialArtifactPublicationDecision = ArtifactPublicationDecision & {
|
|
28
|
+
evidence: 'partial';
|
|
29
|
+
publication: 'completed' | 'partial';
|
|
30
|
+
dependencies: [BillingHistoryCompletedArtifactDependency, ...ArtifactPublicationDecision['dependencies']];
|
|
31
|
+
claims: [CostAnalysisArtifactClaim, ...ArtifactPublicationDecision['claims']];
|
|
32
|
+
};
|
|
33
|
+
export type BillingArtifactPublicationDecision = BillingCompletedArtifactPublicationDecision | BillingPartialArtifactPublicationDecision;
|
|
34
|
+
/** Validates the exact completed billing dependency and claim bound to one input generation. */
|
|
35
|
+
export declare const isBillingCompletedArtifactPublicationDecision: (value: unknown, generationId: string, inputManifestDigest: string) => value is BillingCompletedArtifactPublicationDecision;
|
|
36
|
+
/** Validates partial billing evidence bound to one authoritative input generation. */
|
|
37
|
+
export declare const isBillingPartialArtifactPublicationDecision: (value: unknown, generationId: string, inputManifestDigest: string) => value is BillingPartialArtifactPublicationDecision;
|
|
38
|
+
export {};
|
|
39
|
+
//# sourceMappingURL=billingArtifactEvidence.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"billingArtifactEvidence.d.ts","sourceRoot":"","sources":["../../src/azure/billingArtifactEvidence.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,+BAA+B,EACpC,KAAK,4BAA4B,EACjC,KAAK,2BAA2B,EACjC,MAAM,+BAA+B,CAAC;AAEvC,KAAK,oCAAoC,GAAG,OAAO,CAAC,2BAA2B,EAAE;IAAE,WAAW,EAAE,WAAW,CAAA;CAAE,CAAC,CAAC;AAC/G,KAAK,yCAAyC,GAAG,OAAO,CAAC,4BAA4B,EAAE;IAAE,WAAW,EAAE,WAAW,CAAA;CAAE,CAAC,GAAG;IACrH,IAAI,EAAE,iBAAiB,CAAC;IACxB,QAAQ,EAAE,IAAI,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AACF,KAAK,kCAAkC,GAAG,OAAO,CAAC,+BAA+B,EAAE;IAAE,WAAW,EAAE,WAAW,CAAA;CAAE,CAAC,GAAG;IACjH,OAAO,EAAE,eAAe,CAAC;IACzB,oBAAoB,EAAE,CAAC,iBAAiB,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;CACxD,CAAC;AACF,KAAK,yBAAyB,GAAG,+BAA+B,GAAG;IACjE,OAAO,EAAE,eAAe,CAAC;IACzB,oBAAoB,EAAE,CAAC,iBAAiB,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;CACxD,CAAC;AAEF,MAAM,MAAM,2CAA2C,GAAG,oCAAoC,GAAG;IAC/F,YAAY,EAAE,CAAC,yCAAyC,EAAE,GAAG,oCAAoC,CAAC,cAAc,CAAC,CAAC,CAAC;IACnH,MAAM,EAAE,CAAC,kCAAkC,EAAE,GAAG,oCAAoC,CAAC,QAAQ,CAAC,CAAC,CAAC;CACjG,CAAC;AAEF,MAAM,MAAM,yCAAyC,GAAG,2BAA2B,GAAG;IACpF,QAAQ,EAAE,SAAS,CAAC;IACpB,WAAW,EAAE,WAAW,GAAG,SAAS,CAAC;IACrC,YAAY,EAAE,CAAC,yCAAyC,EAAE,GAAG,2BAA2B,CAAC,cAAc,CAAC,CAAC,CAAC;IAC1G,MAAM,EAAE,CAAC,yBAAyB,EAAE,GAAG,2BAA2B,CAAC,QAAQ,CAAC,CAAC,CAAC;CAC/E,CAAC;AAEF,MAAM,MAAM,kCAAkC,GAAG,2CAA2C,GAAG,yCAAyC,CAAC;AAgBzI,gGAAgG;AAChG,eAAO,MAAM,6CAA6C,GACxD,OAAO,OAAO,EACd,cAAc,MAAM,EACpB,qBAAqB,MAAM,KAC1B,KAAK,IAAI,2CAGX,CAAC;AAEF,sFAAsF;AACtF,eAAO,MAAM,2CAA2C,GACtD,OAAO,OAAO,EACd,cAAc,MAAM,EACpB,qBAAqB,MAAM,KAC1B,KAAK,IAAI,yCAI2D,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isBillingPartialArtifactPublicationDecision = exports.isBillingCompletedArtifactPublicationDecision = void 0;
|
|
4
|
+
const artifactEvidence_js_1 = require("../common/artifactEvidence.js");
|
|
5
|
+
const hasBillingArtifactAuthority = (value, generationId, inputManifestDigest) => {
|
|
6
|
+
const billingHistory = value.dependencies[0];
|
|
7
|
+
const costAnalysis = value.claims[0];
|
|
8
|
+
return (billingHistory?.name === 'billing-history' &&
|
|
9
|
+
billingHistory.required === true &&
|
|
10
|
+
billingHistory.publication === 'completed' &&
|
|
11
|
+
billingHistory.generationId === generationId &&
|
|
12
|
+
billingHistory.digest === inputManifestDigest &&
|
|
13
|
+
costAnalysis?.claimId === 'cost-analysis' &&
|
|
14
|
+
costAnalysis.requiredDependencies[0] === 'billing-history');
|
|
15
|
+
};
|
|
16
|
+
/** Validates the exact completed billing dependency and claim bound to one input generation. */
|
|
17
|
+
const isBillingCompletedArtifactPublicationDecision = (value, generationId, inputManifestDigest) => {
|
|
18
|
+
if (!(0, artifactEvidence_js_1.isArtifactPublicationDecision)(value) || value.publication !== 'completed')
|
|
19
|
+
return false;
|
|
20
|
+
return value.claims[0]?.publication === 'completed' && hasBillingArtifactAuthority(value, generationId, inputManifestDigest);
|
|
21
|
+
};
|
|
22
|
+
exports.isBillingCompletedArtifactPublicationDecision = isBillingCompletedArtifactPublicationDecision;
|
|
23
|
+
/** Validates partial billing evidence bound to one authoritative input generation. */
|
|
24
|
+
const isBillingPartialArtifactPublicationDecision = (value, generationId, inputManifestDigest) => (0, artifactEvidence_js_1.isArtifactPublicationDecision)(value) &&
|
|
25
|
+
value.evidence === 'partial' &&
|
|
26
|
+
(value.publication === 'completed' || value.publication === 'partial') &&
|
|
27
|
+
hasBillingArtifactAuthority(value, generationId, inputManifestDigest);
|
|
28
|
+
exports.isBillingPartialArtifactPublicationDecision = isBillingPartialArtifactPublicationDecision;
|
|
29
|
+
//# sourceMappingURL=billingArtifactEvidence.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"billingArtifactEvidence.js","sourceRoot":"","sources":["../../src/azure/billingArtifactEvidence.ts"],"names":[],"mappings":";;;AAAA,uEAKuC;AAgCvC,MAAM,2BAA2B,GAAG,CAAC,KAAkC,EAAE,YAAoB,EAAE,mBAA2B,EAAW,EAAE;IACrI,MAAM,cAAc,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAC7C,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACrC,OAAO,CACL,cAAc,EAAE,IAAI,KAAK,iBAAiB;QAC1C,cAAc,CAAC,QAAQ,KAAK,IAAI;QAChC,cAAc,CAAC,WAAW,KAAK,WAAW;QAC1C,cAAc,CAAC,YAAY,KAAK,YAAY;QAC5C,cAAc,CAAC,MAAM,KAAK,mBAAmB;QAC7C,YAAY,EAAE,OAAO,KAAK,eAAe;QACzC,YAAY,CAAC,oBAAoB,CAAC,CAAC,CAAC,KAAK,iBAAiB,CAC3D,CAAC;AACJ,CAAC,CAAC;AAEF,gGAAgG;AACzF,MAAM,6CAA6C,GAAG,CAC3D,KAAc,EACd,YAAoB,EACpB,mBAA2B,EAC2B,EAAE;IACxD,IAAI,CAAC,IAAA,mDAA6B,EAAC,KAAK,CAAC,IAAI,KAAK,CAAC,WAAW,KAAK,WAAW;QAAE,OAAO,KAAK,CAAC;IAC7F,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,KAAK,WAAW,IAAI,2BAA2B,CAAC,KAAK,EAAE,YAAY,EAAE,mBAAmB,CAAC,CAAC;AAC/H,CAAC,CAAC;AAPW,QAAA,6CAA6C,iDAOxD;AAEF,sFAAsF;AAC/E,MAAM,2CAA2C,GAAG,CACzD,KAAc,EACd,YAAoB,EACpB,mBAA2B,EACyB,EAAE,CACtD,IAAA,mDAA6B,EAAC,KAAK,CAAC;IACpC,KAAK,CAAC,QAAQ,KAAK,SAAS;IAC5B,CAAC,KAAK,CAAC,WAAW,KAAK,WAAW,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC;IACtE,2BAA2B,CAAC,KAAK,EAAE,YAAY,EAAE,mBAAmB,CAAC,CAAC;AAR3D,QAAA,2CAA2C,+CAQgB"}
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
import { type ArtifactCoverageVerdict, type ArtifactOwnershipBinding, type ArtifactRevisionComparison, type ArtifactRevisionVector } from '../common/artifactEvidence.js';
|
|
2
|
+
import type { ArtifactDescriptor } from '../common/artifactGeneration.js';
|
|
3
|
+
import type { BillingAnalyzerMetadata } from './billingGeneration.js';
|
|
4
|
+
import { type BillingCompletedArtifactPublicationDecision } from './billingArtifactEvidence.js';
|
|
5
|
+
/** Stable diagnostic-only suffix for the latest successfully enqueued observe input. */
|
|
6
|
+
export declare const BILLING_ANALYZER_INPUT_OBSERVATION_POINTER_RELATIVE_PATH: "history/billing/analyzer-inputs/latest-enqueued.json";
|
|
7
|
+
type BillingArtifactBasis = 'actual' | 'amortized';
|
|
8
|
+
interface BillingAnalyzerRequestedPeriod {
|
|
9
|
+
fromInclusive: string;
|
|
10
|
+
throughExclusive: string;
|
|
11
|
+
dateBasis: 'utc' | 'billing-calendar' | 'company-local';
|
|
12
|
+
timeZone?: string;
|
|
13
|
+
basis: BillingArtifactBasis;
|
|
14
|
+
}
|
|
15
|
+
interface BillingAnalyzerInputObjectDescriptor {
|
|
16
|
+
path: string;
|
|
17
|
+
versionId?: string;
|
|
18
|
+
etag: string;
|
|
19
|
+
sha256: string;
|
|
20
|
+
byteCount: number;
|
|
21
|
+
rowCount: number;
|
|
22
|
+
basis: BillingArtifactBasis;
|
|
23
|
+
currencyCode?: string;
|
|
24
|
+
coverage: ArtifactCoverageVerdict;
|
|
25
|
+
}
|
|
26
|
+
interface BillingAnalyzerOutputArtifactDescriptor extends ArtifactDescriptor {
|
|
27
|
+
path: string;
|
|
28
|
+
}
|
|
29
|
+
interface BillingGenerationDocumentV2 {
|
|
30
|
+
schemaVersion: 2;
|
|
31
|
+
status: 'completed';
|
|
32
|
+
subscriptionId: string;
|
|
33
|
+
generationId: string;
|
|
34
|
+
ownership: ArtifactOwnershipBinding<'azure'>;
|
|
35
|
+
revision: ArtifactRevisionVector;
|
|
36
|
+
}
|
|
37
|
+
export interface BillingAnalyzerInputManifestV2 extends BillingGenerationDocumentV2 {
|
|
38
|
+
publicationKey: string;
|
|
39
|
+
coveragePlanDigest: string;
|
|
40
|
+
asOfUtc: string;
|
|
41
|
+
stableCutoffUtc: string;
|
|
42
|
+
requestedPeriods: [BillingAnalyzerRequestedPeriod, ...BillingAnalyzerRequestedPeriod[]];
|
|
43
|
+
inputs: [BillingAnalyzerInputObjectDescriptor, ...BillingAnalyzerInputObjectDescriptor[]];
|
|
44
|
+
manifestDigest: string;
|
|
45
|
+
completedAt: string;
|
|
46
|
+
}
|
|
47
|
+
export interface BillingAnalyzerInputCurrentPointerV1 {
|
|
48
|
+
schemaVersion: 1;
|
|
49
|
+
status: 'completed';
|
|
50
|
+
subscriptionId: string;
|
|
51
|
+
generationId: string;
|
|
52
|
+
ownership: ArtifactOwnershipBinding<'azure'> & {
|
|
53
|
+
ownershipEpochRevision: number;
|
|
54
|
+
};
|
|
55
|
+
revision: ArtifactRevisionVector & {
|
|
56
|
+
ownershipEpochRevision: number;
|
|
57
|
+
};
|
|
58
|
+
manifestPath: string;
|
|
59
|
+
manifestDigest: string;
|
|
60
|
+
completedAt: string;
|
|
61
|
+
}
|
|
62
|
+
export interface BillingAnalyzerRequestV2 {
|
|
63
|
+
schemaVersion: 2;
|
|
64
|
+
eventId: string;
|
|
65
|
+
messageId: string;
|
|
66
|
+
correlationId: string;
|
|
67
|
+
occurredAt: string;
|
|
68
|
+
idempotencyKey: string;
|
|
69
|
+
publicationMode: 'observe' | 'enforce';
|
|
70
|
+
subscriptionId: string;
|
|
71
|
+
generationId: string;
|
|
72
|
+
ownership: ArtifactOwnershipBinding<'azure'>;
|
|
73
|
+
revision: ArtifactRevisionVector;
|
|
74
|
+
inputManifestPath: string;
|
|
75
|
+
inputManifestDigest: string;
|
|
76
|
+
displayMetadata?: BillingAnalyzerMetadata;
|
|
77
|
+
}
|
|
78
|
+
/** Diagnostic-only discovery pointer for the latest successfully enqueued observe input. */
|
|
79
|
+
export interface BillingAnalyzerInputObservationPointerV1 {
|
|
80
|
+
schemaVersion: 1;
|
|
81
|
+
documentType: 'billing-analyzer-input-observation-pointer';
|
|
82
|
+
authority: 'diagnostic-only';
|
|
83
|
+
publicationMode: 'observe';
|
|
84
|
+
inputState: 'enqueued';
|
|
85
|
+
subscriptionId: string;
|
|
86
|
+
generationId: string;
|
|
87
|
+
ownership: ArtifactOwnershipBinding<'azure'>;
|
|
88
|
+
revision: ArtifactRevisionVector;
|
|
89
|
+
inputManifestPath: string;
|
|
90
|
+
inputManifestDigest: string;
|
|
91
|
+
messageId: string;
|
|
92
|
+
correlationId: string;
|
|
93
|
+
enqueuedAt: string;
|
|
94
|
+
}
|
|
95
|
+
export interface BillingAnalyzerOutputManifestV2 extends BillingGenerationDocumentV2 {
|
|
96
|
+
inputManifestPath: string;
|
|
97
|
+
inputManifestDigest: string;
|
|
98
|
+
outputBindingDigest: string;
|
|
99
|
+
artifacts: [BillingAnalyzerOutputArtifactDescriptor, ...BillingAnalyzerOutputArtifactDescriptor[]];
|
|
100
|
+
publicationDecision: BillingCompletedArtifactPublicationDecision;
|
|
101
|
+
manifestDigest: string;
|
|
102
|
+
completedAt: string;
|
|
103
|
+
}
|
|
104
|
+
export interface BillingAnalysisCurrentPointerV1 {
|
|
105
|
+
schemaVersion: 1;
|
|
106
|
+
status: 'completed';
|
|
107
|
+
subscriptionId: string;
|
|
108
|
+
generationId: string;
|
|
109
|
+
ownership: ArtifactOwnershipBinding<'azure'> & {
|
|
110
|
+
ownershipEpochRevision: number;
|
|
111
|
+
};
|
|
112
|
+
revision: ArtifactRevisionVector & {
|
|
113
|
+
ownershipEpochRevision: number;
|
|
114
|
+
};
|
|
115
|
+
inputManifestPath: string;
|
|
116
|
+
inputManifestDigest: string;
|
|
117
|
+
outputManifestPath: string;
|
|
118
|
+
outputManifestDigest: string;
|
|
119
|
+
publicationDecision: BillingCompletedArtifactPublicationDecision;
|
|
120
|
+
completedAt: string;
|
|
121
|
+
}
|
|
122
|
+
/** Immutable diagnostic record of what observe mode would have done at promotion time. */
|
|
123
|
+
export interface BillingAnalysisPromotionObservationV1 {
|
|
124
|
+
schemaVersion: 1;
|
|
125
|
+
documentType: 'billing-analysis-promotion-observation';
|
|
126
|
+
authority: 'diagnostic-only';
|
|
127
|
+
publicationMode: 'observe';
|
|
128
|
+
processingState: 'succeeded';
|
|
129
|
+
subscriptionId: string;
|
|
130
|
+
generationId: string;
|
|
131
|
+
ownership: ArtifactOwnershipBinding<'azure'>;
|
|
132
|
+
revision: ArtifactRevisionVector;
|
|
133
|
+
messageId: string;
|
|
134
|
+
correlationId: string;
|
|
135
|
+
inputManifestPath: string;
|
|
136
|
+
inputManifestDigest: string;
|
|
137
|
+
outputManifestPath: string;
|
|
138
|
+
outputManifestDigest: string;
|
|
139
|
+
evaluation: {
|
|
140
|
+
comparison: ArtifactRevisionComparison | 'authority-absent';
|
|
141
|
+
projectedOutcome: 'would-promote' | 'would-be-idempotent' | 'would-be-superseded' | 'would-quarantine' | 'not-enforceable';
|
|
142
|
+
outputDigestRelation?: 'same' | 'different';
|
|
143
|
+
};
|
|
144
|
+
observationDigest: string;
|
|
145
|
+
observedAt: string;
|
|
146
|
+
}
|
|
147
|
+
/** Builds the diagnostic-only latest-enqueued observation path for one safe subscription segment. */
|
|
148
|
+
export declare const buildBillingAnalyzerInputObservationPointerPath: (subscriptionId: string) => string;
|
|
149
|
+
/** Validates the exact diagnostic-only latest-enqueued observation logical path. */
|
|
150
|
+
export declare const isBillingAnalyzerInputObservationPointerPath: (value: unknown) => value is string;
|
|
151
|
+
/** Validates one immutable billing analyzer input manifest without performing I/O. */
|
|
152
|
+
export declare const isBillingAnalyzerInputManifestV2: (value: unknown) => value is BillingAnalyzerInputManifestV2;
|
|
153
|
+
/** Validates the enforceable current pointer for one published analyzer input generation. */
|
|
154
|
+
export declare const isBillingAnalyzerInputCurrentPointerV1: (value: unknown) => value is BillingAnalyzerInputCurrentPointerV1;
|
|
155
|
+
/** Validates the V2 queue envelope and its immutable input-manifest binding. */
|
|
156
|
+
export declare const isBillingAnalyzerRequestV2: (value: unknown) => value is BillingAnalyzerRequestV2;
|
|
157
|
+
/** Validates a diagnostic-only latest-enqueued pointer; it is never customer authority. */
|
|
158
|
+
export declare const isBillingAnalyzerInputObservationPointerV1: (value: unknown) => value is BillingAnalyzerInputObservationPointerV1;
|
|
159
|
+
/** Validates an immutable analyzer output manifest and its exact input binding. */
|
|
160
|
+
export declare const isBillingAnalyzerOutputManifestV2: (value: unknown) => value is BillingAnalyzerOutputManifestV2;
|
|
161
|
+
/** Validates the sole promoted authority pointer for completed billing analysis. */
|
|
162
|
+
export declare const isBillingAnalysisCurrentPointerV1: (value: unknown) => value is BillingAnalysisCurrentPointerV1;
|
|
163
|
+
/** Validates an immutable diagnostic-only promotion evaluation. */
|
|
164
|
+
export declare const isBillingAnalysisPromotionObservationV1: (value: unknown) => value is BillingAnalysisPromotionObservationV1;
|
|
165
|
+
export {};
|
|
166
|
+
//# sourceMappingURL=billingArtifactGeneration.d.ts.map
|