@spottoai/types-package 1.0.2-dev1138.12 → 1.0.2-dev1138.13
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 +0 -9
- package/dist/accounts/accounts.d.ts +5 -84
- package/dist/accounts/accounts.d.ts.map +1 -1
- package/dist/accounts/accounts.js +1 -2
- package/dist/accounts/accounts.js.map +1 -1
- package/dist/accounts/azureSpSetup.d.ts +31 -142
- package/dist/accounts/azureSpSetup.d.ts.map +1 -1
- package/dist/accounts/azureSpSetup.js +0 -15
- package/dist/accounts/azureSpSetup.js.map +1 -1
- package/dist/accounts/azureSpSetupDurable.d.ts +0 -8
- package/dist/accounts/azureSpSetupDurable.d.ts.map +1 -1
- package/dist/accounts/azureSpSetupDurable.js +0 -28
- package/dist/accounts/azureSpSetupDurable.js.map +1 -1
- package/dist/accounts/index.d.ts +0 -1
- package/dist/accounts/index.d.ts.map +1 -1
- package/dist/accounts/index.js +0 -1
- package/dist/accounts/index.js.map +1 -1
- package/dist/accounts/readPermissions.d.ts +1 -1
- package/dist/accounts/readPermissions.d.ts.map +1 -1
- package/dist/accounts/readPermissions.js.map +1 -1
- package/dist/accounts/validation.d.ts +0 -24
- package/dist/accounts/validation.d.ts.map +1 -1
- package/dist/ai/index.d.ts +6 -302
- package/dist/ai/index.d.ts.map +1 -1
- package/dist/ai/index.js +0 -25
- package/dist/ai/index.js.map +1 -1
- package/dist/aws/commitments-planning.d.ts +0 -5
- package/dist/aws/commitments-planning.d.ts.map +1 -1
- package/dist/aws/commitments-planning.js +0 -19
- package/dist/aws/commitments-planning.js.map +1 -1
- package/dist/aws/estates.d.ts +1 -1
- package/dist/aws/estates.d.ts.map +1 -1
- package/dist/aws/estates.js +1 -7
- package/dist/aws/estates.js.map +1 -1
- package/dist/aws/index.d.ts +0 -5
- package/dist/aws/index.d.ts.map +1 -1
- package/dist/aws/index.js +0 -5
- package/dist/aws/index.js.map +1 -1
- package/dist/aws/onboarding.d.ts +0 -3
- package/dist/aws/onboarding.d.ts.map +1 -1
- package/dist/aws/requests.d.ts +2 -13
- package/dist/aws/requests.d.ts.map +1 -1
- package/dist/aws/requests.js +1 -1
- package/dist/aws/requests.js.map +1 -1
- package/dist/azure/activityLogs.d.ts +0 -8
- package/dist/azure/activityLogs.d.ts.map +1 -1
- package/dist/azure/activityLogs.js.map +1 -1
- package/dist/azure/benefits.d.ts +1 -1
- package/dist/azure/benefits.d.ts.map +1 -1
- package/dist/azure/billingPlots.d.ts +1 -7
- package/dist/azure/billingPlots.d.ts.map +1 -1
- package/dist/azure/billingPlots.js +4 -45
- package/dist/azure/billingPlots.js.map +1 -1
- package/dist/azure/commitmentsPlanning.d.ts +2 -8
- package/dist/azure/commitmentsPlanning.d.ts.map +1 -1
- package/dist/azure/common.d.ts +5 -26
- package/dist/azure/common.d.ts.map +1 -1
- package/dist/azure/common.js +0 -30
- package/dist/azure/common.js.map +1 -1
- package/dist/azure/costComposition.d.ts +1 -11
- package/dist/azure/costComposition.d.ts.map +1 -1
- package/dist/azure/costComposition.js +1 -84
- package/dist/azure/costComposition.js.map +1 -1
- package/dist/azure/dataProtection.d.ts +4 -4
- package/dist/azure/dataProtection.d.ts.map +1 -1
- package/dist/azure/financialAnalytics.d.ts +8 -80
- package/dist/azure/financialAnalytics.d.ts.map +1 -1
- package/dist/azure/financialAnalyticsDelivery.d.ts +3 -72
- package/dist/azure/financialAnalyticsDelivery.d.ts.map +1 -1
- package/dist/azure/financialAnalyticsDelivery.js +1 -7
- package/dist/azure/financialAnalyticsDelivery.js.map +1 -1
- package/dist/azure/financialAnalyticsDeliveryValidation.d.ts +1 -9
- package/dist/azure/financialAnalyticsDeliveryValidation.d.ts.map +1 -1
- package/dist/azure/financialAnalyticsDeliveryValidation.js +10 -190
- package/dist/azure/financialAnalyticsDeliveryValidation.js.map +1 -1
- package/dist/azure/financialAnalyticsValidation.d.ts.map +1 -1
- package/dist/azure/financialAnalyticsValidation.js +19 -101
- package/dist/azure/financialAnalyticsValidation.js.map +1 -1
- package/dist/azure/financialAuthorityView.d.ts +0 -13
- package/dist/azure/financialAuthorityView.d.ts.map +1 -1
- package/dist/azure/financialAuthorityView.js.map +1 -1
- package/dist/azure/financialAuthorityViewValidation.d.ts +1 -3
- package/dist/azure/financialAuthorityViewValidation.d.ts.map +1 -1
- package/dist/azure/financialAuthorityViewValidation.js +2 -273
- package/dist/azure/financialAuthorityViewValidation.js.map +1 -1
- package/dist/azure/financialDataflow.d.ts +2 -45
- package/dist/azure/financialDataflow.d.ts.map +1 -1
- package/dist/azure/financialDataflow.js.map +1 -1
- package/dist/azure/financialDataflowValidation.d.ts +2 -5
- package/dist/azure/financialDataflowValidation.d.ts.map +1 -1
- package/dist/azure/financialDataflowValidation.js +30 -203
- package/dist/azure/financialDataflowValidation.js.map +1 -1
- package/dist/azure/financialEvidenceAssessmentValidation.d.ts.map +1 -1
- package/dist/azure/financialEvidenceAssessmentValidation.js +0 -7
- package/dist/azure/financialEvidenceAssessmentValidation.js.map +1 -1
- package/dist/azure/financialPolicy.d.ts +3 -19
- package/dist/azure/financialPolicy.d.ts.map +1 -1
- package/dist/azure/financialPolicy.js.map +1 -1
- package/dist/azure/financialPolicyDelivery.d.ts +1 -75
- package/dist/azure/financialPolicyDelivery.d.ts.map +1 -1
- package/dist/azure/financialPolicyDelivery.js +1 -5
- package/dist/azure/financialPolicyDelivery.js.map +1 -1
- package/dist/azure/financialPolicyDeliveryValidation.d.ts +2 -16
- package/dist/azure/financialPolicyDeliveryValidation.d.ts.map +1 -1
- package/dist/azure/financialPolicyDeliveryValidation.js +5 -238
- package/dist/azure/financialPolicyDeliveryValidation.js.map +1 -1
- package/dist/azure/financialPolicyValidation.d.ts +0 -1
- package/dist/azure/financialPolicyValidation.d.ts.map +1 -1
- package/dist/azure/financialPolicyValidation.js +16 -111
- package/dist/azure/financialPolicyValidation.js.map +1 -1
- package/dist/azure/financialProjection.d.ts +1 -11
- package/dist/azure/financialProjection.d.ts.map +1 -1
- package/dist/azure/financialProjection.js.map +1 -1
- package/dist/azure/financialProjectionValidation.d.ts.map +1 -1
- package/dist/azure/financialProjectionValidation.js +3 -43
- package/dist/azure/financialProjectionValidation.js.map +1 -1
- package/dist/azure/financialSavingsAuthority.d.ts +4 -68
- package/dist/azure/financialSavingsAuthority.d.ts.map +1 -1
- package/dist/azure/financialSavingsAuthority.js +1 -2
- package/dist/azure/financialSavingsAuthority.js.map +1 -1
- package/dist/azure/financialSavingsAuthorityValidation.d.ts +2 -6
- package/dist/azure/financialSavingsAuthorityValidation.d.ts.map +1 -1
- package/dist/azure/financialSavingsAuthorityValidation.js +2 -188
- package/dist/azure/financialSavingsAuthorityValidation.js.map +1 -1
- package/dist/azure/financialSavingsCoordinateValidation.d.ts.map +1 -1
- package/dist/azure/financialSavingsCoordinateValidation.js +19 -98
- package/dist/azure/financialSavingsCoordinateValidation.js.map +1 -1
- package/dist/azure/financialSavingsSurfaceProjection.d.ts +3 -82
- package/dist/azure/financialSavingsSurfaceProjection.d.ts.map +1 -1
- package/dist/azure/financialSavingsSurfaceProjection.js +1 -3
- package/dist/azure/financialSavingsSurfaceProjection.js.map +1 -1
- package/dist/azure/financialSavingsSurfaceProjectionValidation.d.ts.map +1 -1
- package/dist/azure/financialSavingsSurfaceProjectionValidation.js +13 -199
- package/dist/azure/financialSavingsSurfaceProjectionValidation.js.map +1 -1
- package/dist/azure/financialScope.d.ts +0 -14
- package/dist/azure/financialScope.d.ts.map +1 -1
- package/dist/azure/financialScope.js +0 -14
- package/dist/azure/financialScope.js.map +1 -1
- package/dist/azure/financialScopeBaseline.d.ts +3 -11
- package/dist/azure/financialScopeBaseline.d.ts.map +1 -1
- package/dist/azure/financialScopeBaseline.js +1 -14
- package/dist/azure/financialScopeBaseline.js.map +1 -1
- package/dist/azure/financialScopeBaselineIdentity.d.ts.map +1 -1
- package/dist/azure/financialScopeBaselineIdentity.js +4 -24
- package/dist/azure/financialScopeBaselineIdentity.js.map +1 -1
- package/dist/azure/financialScopeBaselineValidation.d.ts.map +1 -1
- package/dist/azure/financialScopeBaselineValidation.js +4 -21
- package/dist/azure/financialScopeBaselineValidation.js.map +1 -1
- package/dist/azure/financialScopeEvidence.d.ts +1 -1
- package/dist/azure/financialScopeEvidence.d.ts.map +1 -1
- package/dist/azure/governance.d.ts +0 -145
- package/dist/azure/governance.d.ts.map +1 -1
- package/dist/azure/governance.js +1 -2
- package/dist/azure/governance.js.map +1 -1
- package/dist/azure/metrics.d.ts +2 -2
- package/dist/azure/metrics.d.ts.map +1 -1
- package/dist/azure/payloads.d.ts +1 -55
- package/dist/azure/payloads.d.ts.map +1 -1
- package/dist/azure/prices.d.ts +12 -41
- package/dist/azure/prices.d.ts.map +1 -1
- package/dist/azure/recommendationState.d.ts +1 -1
- package/dist/azure/recommendationState.d.ts.map +1 -1
- package/dist/azure/recommendations.d.ts +5 -141
- package/dist/azure/recommendations.d.ts.map +1 -1
- package/dist/azure/recommendations.js +1 -3
- package/dist/azure/recommendations.js.map +1 -1
- package/dist/azure/relationships.d.ts +1 -1
- package/dist/azure/relationships.d.ts.map +1 -1
- package/dist/azure/reports.d.ts +10 -32
- package/dist/azure/reports.d.ts.map +1 -1
- package/dist/azure/reports.js.map +1 -1
- package/dist/azure/resources.d.ts +12 -24
- package/dist/azure/resources.d.ts.map +1 -1
- package/dist/azure/serviceRetirement.d.ts +2 -33
- package/dist/azure/serviceRetirement.d.ts.map +1 -1
- package/dist/azure/storage-inventory.d.ts +0 -44
- package/dist/azure/storage-inventory.d.ts.map +1 -1
- package/dist/azure/subscriptions.d.ts +11 -57
- package/dist/azure/subscriptions.d.ts.map +1 -1
- package/dist/azure/subscriptions.js +0 -35
- package/dist/azure/subscriptions.js.map +1 -1
- package/dist/azure/views.d.ts +22 -86
- package/dist/azure/views.d.ts.map +1 -1
- package/dist/azure/views.js +1 -8
- package/dist/azure/views.js.map +1 -1
- package/dist/common/provider.d.ts +0 -53
- package/dist/common/provider.d.ts.map +1 -1
- package/dist/common/provider.js.map +1 -1
- package/dist/company/company.d.ts +0 -1
- package/dist/company/company.d.ts.map +1 -1
- package/dist/esm/accounts/accounts.js +0 -1
- package/dist/esm/accounts/azureSpSetup.js +1 -14
- package/dist/esm/accounts/azureSpSetupDurable.js +1 -27
- package/dist/esm/accounts/index.js +0 -1
- package/dist/esm/ai/index.js +1 -10
- package/dist/esm/aws/commitments-planning.js +0 -5
- package/dist/esm/aws/estates.js +1 -7
- package/dist/esm/aws/index.js +0 -5
- package/dist/esm/aws/requests.js +1 -1
- package/dist/esm/azure/billingPlots.js +4 -45
- package/dist/esm/azure/common.js +1 -28
- package/dist/esm/azure/costComposition.js +0 -80
- package/dist/esm/azure/financialAnalyticsDelivery.js +0 -5
- package/dist/esm/azure/financialAnalyticsDeliveryValidation.js +11 -184
- package/dist/esm/azure/financialAnalyticsValidation.js +19 -101
- package/dist/esm/azure/financialAuthorityViewValidation.js +1 -271
- package/dist/esm/azure/financialDataflowValidation.js +29 -199
- package/dist/esm/azure/financialEvidenceAssessmentValidation.js +0 -7
- package/dist/esm/azure/financialPolicyDelivery.js +0 -4
- package/dist/esm/azure/financialPolicyDeliveryValidation.js +7 -227
- package/dist/esm/azure/financialPolicyValidation.js +16 -110
- package/dist/esm/azure/financialProjectionValidation.js +3 -43
- package/dist/esm/azure/financialSavingsAuthority.js +0 -1
- package/dist/esm/azure/financialSavingsAuthorityValidation.js +2 -186
- package/dist/esm/azure/financialSavingsCoordinateValidation.js +19 -98
- package/dist/esm/azure/financialSavingsSurfaceProjection.js +0 -2
- package/dist/esm/azure/financialSavingsSurfaceProjectionValidation.js +13 -199
- package/dist/esm/azure/financialScope.js +0 -14
- package/dist/esm/azure/financialScopeBaseline.js +0 -12
- package/dist/esm/azure/financialScopeBaselineIdentity.js +4 -24
- package/dist/esm/azure/financialScopeBaselineValidation.js +4 -21
- package/dist/esm/azure/governance.js +0 -1
- package/dist/esm/azure/recommendations.js +0 -2
- package/dist/esm/azure/subscriptions.js +1 -33
- package/dist/esm/azure/views.js +1 -8
- package/dist/esm/entries/commitments-planning.js +2 -2
- package/dist/esm/identity/index.js +0 -1
- package/dist/esm/index.js +0 -13
- package/dist/esm/index.vite.js +0 -11
- package/dist/esm/scheduler/index.js +0 -3
- package/dist/events/alertDefinitionRun.d.ts +0 -4
- package/dist/events/alertDefinitionRun.d.ts.map +1 -1
- package/dist/events/baseAlert.d.ts +0 -1
- package/dist/events/baseAlert.d.ts.map +1 -1
- package/dist/events/cost.d.ts +0 -4
- package/dist/events/cost.d.ts.map +1 -1
- package/dist/events/quickAlerts.d.ts +4 -13
- package/dist/events/quickAlerts.d.ts.map +1 -1
- package/dist/events/quickAlerts.js.map +1 -1
- package/dist/features-and-permissions/access.d.ts +0 -79
- package/dist/features-and-permissions/access.d.ts.map +1 -1
- package/dist/identity/index.d.ts +0 -1
- package/dist/identity/index.d.ts.map +1 -1
- package/dist/identity/index.js +0 -1
- package/dist/identity/index.js.map +1 -1
- package/dist/index.d.ts +0 -13
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -19
- package/dist/index.js.map +1 -1
- package/dist/index.vite.d.ts +0 -11
- package/dist/index.vite.d.ts.map +1 -1
- package/dist/index.vite.js +0 -15
- package/dist/index.vite.js.map +1 -1
- package/dist/portfolio/portfolioOperations.d.ts +1 -1
- package/dist/portfolio/portfolioOperations.d.ts.map +1 -1
- package/dist/scheduler/index.d.ts +0 -3
- package/dist/scheduler/index.d.ts.map +1 -1
- package/dist/scheduler/index.js +0 -3
- package/dist/scheduler/index.js.map +1 -1
- package/dist/scheduler/scheduler.d.ts +10 -14
- package/dist/scheduler/scheduler.d.ts.map +1 -1
- package/package.json +3 -20
- package/dist/accounts/azureManualOnboarding.d.ts +0 -114
- package/dist/accounts/azureManualOnboarding.d.ts.map +0 -1
- package/dist/accounts/azureManualOnboarding.js +0 -12
- package/dist/accounts/azureManualOnboarding.js.map +0 -1
- package/dist/ai/conversationHistory.d.ts +0 -52
- package/dist/ai/conversationHistory.d.ts.map +0 -1
- package/dist/ai/conversationHistory.js +0 -10
- package/dist/ai/conversationHistory.js.map +0 -1
- package/dist/ai/grounding.d.ts +0 -41
- package/dist/ai/grounding.d.ts.map +0 -1
- package/dist/ai/grounding.js +0 -86
- package/dist/ai/grounding.js.map +0 -1
- package/dist/ai/workspaceArtifacts.d.ts +0 -587
- package/dist/ai/workspaceArtifacts.d.ts.map +0 -1
- package/dist/ai/workspaceArtifacts.js +0 -162
- package/dist/ai/workspaceArtifacts.js.map +0 -1
- package/dist/aws/organizationCommitments.d.ts +0 -260
- package/dist/aws/organizationCommitments.d.ts.map +0 -1
- package/dist/aws/organizationCommitments.js +0 -53
- package/dist/aws/organizationCommitments.js.map +0 -1
- package/dist/aws/organizationCommitmentsApiValidation.d.ts +0 -21
- package/dist/aws/organizationCommitmentsApiValidation.d.ts.map +0 -1
- package/dist/aws/organizationCommitmentsApiValidation.js +0 -226
- package/dist/aws/organizationCommitmentsApiValidation.js.map +0 -1
- package/dist/aws/organizationCommitmentsValidation.d.ts +0 -12
- package/dist/aws/organizationCommitmentsValidation.d.ts.map +0 -1
- package/dist/aws/organizationCommitmentsValidation.js +0 -228
- package/dist/aws/organizationCommitmentsValidation.js.map +0 -1
- package/dist/aws/portalOrganizationCommitmentsPlanningPublicArtifactValidation.d.ts +0 -9
- package/dist/aws/portalOrganizationCommitmentsPlanningPublicArtifactValidation.d.ts.map +0 -1
- package/dist/aws/portalOrganizationCommitmentsPlanningPublicArtifactValidation.js +0 -407
- package/dist/aws/portalOrganizationCommitmentsPlanningPublicArtifactValidation.js.map +0 -1
- package/dist/aws/portalOrganizationCommitmentsPlanningPublicArtifacts.d.ts +0 -17
- package/dist/aws/portalOrganizationCommitmentsPlanningPublicArtifacts.d.ts.map +0 -1
- package/dist/aws/portalOrganizationCommitmentsPlanningPublicArtifacts.js +0 -6
- package/dist/aws/portalOrganizationCommitmentsPlanningPublicArtifacts.js.map +0 -1
- package/dist/azure/activityLogAnalysis.d.ts +0 -320
- package/dist/azure/activityLogAnalysis.d.ts.map +0 -1
- package/dist/azure/activityLogAnalysis.js +0 -70
- package/dist/azure/activityLogAnalysis.js.map +0 -1
- package/dist/azure/activityLogAnalysisPublicValidation.d.ts +0 -8
- package/dist/azure/activityLogAnalysisPublicValidation.d.ts.map +0 -1
- package/dist/azure/activityLogAnalysisPublicValidation.js +0 -368
- package/dist/azure/activityLogAnalysisPublicValidation.js.map +0 -1
- package/dist/azure/activityLogAnalysisPublicValidationHelpers.d.ts +0 -33
- package/dist/azure/activityLogAnalysisPublicValidationHelpers.d.ts.map +0 -1
- package/dist/azure/activityLogAnalysisPublicValidationHelpers.js +0 -197
- package/dist/azure/activityLogAnalysisPublicValidationHelpers.js.map +0 -1
- package/dist/azure/activityLogAnalysisValidation.d.ts +0 -5
- package/dist/azure/activityLogAnalysisValidation.d.ts.map +0 -1
- package/dist/azure/activityLogAnalysisValidation.js +0 -376
- package/dist/azure/activityLogAnalysisValidation.js.map +0 -1
- package/dist/azure/financialAnalyticsDisplayKernel.d.ts +0 -12
- package/dist/azure/financialAnalyticsDisplayKernel.d.ts.map +0 -1
- package/dist/azure/financialAnalyticsDisplayKernel.js +0 -144
- package/dist/azure/financialAnalyticsDisplayKernel.js.map +0 -1
- package/dist/azure/financialAuthorityProjectionKernel.d.ts +0 -8
- package/dist/azure/financialAuthorityProjectionKernel.d.ts.map +0 -1
- package/dist/azure/financialAuthorityProjectionKernel.js +0 -269
- package/dist/azure/financialAuthorityProjectionKernel.js.map +0 -1
- package/dist/azure/financialChargeComposition.d.ts +0 -81
- package/dist/azure/financialChargeComposition.d.ts.map +0 -1
- package/dist/azure/financialChargeComposition.js +0 -41
- package/dist/azure/financialChargeComposition.js.map +0 -1
- package/dist/azure/financialChargeCompositionKernel.d.ts +0 -3
- package/dist/azure/financialChargeCompositionKernel.d.ts.map +0 -1
- package/dist/azure/financialChargeCompositionKernel.js +0 -53
- package/dist/azure/financialChargeCompositionKernel.js.map +0 -1
- package/dist/azure/financialChargeCompositionValidation.d.ts +0 -8
- package/dist/azure/financialChargeCompositionValidation.d.ts.map +0 -1
- package/dist/azure/financialChargeCompositionValidation.js +0 -164
- package/dist/azure/financialChargeCompositionValidation.js.map +0 -1
- package/dist/azure/financialChargePolicy.d.ts +0 -215
- package/dist/azure/financialChargePolicy.d.ts.map +0 -1
- package/dist/azure/financialChargePolicy.js +0 -488
- package/dist/azure/financialChargePolicy.js.map +0 -1
- package/dist/azure/financialCurrentSpendSurfaceProjection.d.ts +0 -76
- package/dist/azure/financialCurrentSpendSurfaceProjection.d.ts.map +0 -1
- package/dist/azure/financialCurrentSpendSurfaceProjection.js +0 -6
- package/dist/azure/financialCurrentSpendSurfaceProjection.js.map +0 -1
- package/dist/azure/financialCurrentSpendSurfaceProjectionValidation.d.ts +0 -10
- package/dist/azure/financialCurrentSpendSurfaceProjectionValidation.d.ts.map +0 -1
- package/dist/azure/financialCurrentSpendSurfaceProjectionValidation.js +0 -196
- package/dist/azure/financialCurrentSpendSurfaceProjectionValidation.js.map +0 -1
- package/dist/azure/financialDataflowKernel.d.ts +0 -31
- package/dist/azure/financialDataflowKernel.d.ts.map +0 -1
- package/dist/azure/financialDataflowKernel.js +0 -170
- package/dist/azure/financialDataflowKernel.js.map +0 -1
- package/dist/azure/financialEvidenceCoverage.d.ts +0 -36
- package/dist/azure/financialEvidenceCoverage.d.ts.map +0 -1
- package/dist/azure/financialEvidenceCoverage.js +0 -111
- package/dist/azure/financialEvidenceCoverage.js.map +0 -1
- package/dist/azure/financialPolicyKernel.d.ts +0 -38
- package/dist/azure/financialPolicyKernel.d.ts.map +0 -1
- package/dist/azure/financialPolicyKernel.js +0 -232
- package/dist/azure/financialPolicyKernel.js.map +0 -1
- package/dist/azure/financialResourceSurfaceProjection.d.ts +0 -66
- package/dist/azure/financialResourceSurfaceProjection.d.ts.map +0 -1
- package/dist/azure/financialResourceSurfaceProjection.js +0 -6
- package/dist/azure/financialResourceSurfaceProjection.js.map +0 -1
- package/dist/azure/financialResourceSurfaceProjectionValidation.d.ts +0 -16
- package/dist/azure/financialResourceSurfaceProjectionValidation.d.ts.map +0 -1
- package/dist/azure/financialResourceSurfaceProjectionValidation.js +0 -252
- package/dist/azure/financialResourceSurfaceProjectionValidation.js.map +0 -1
- package/dist/azure/financialSavingsChargePolicyKernel.d.ts +0 -12
- package/dist/azure/financialSavingsChargePolicyKernel.d.ts.map +0 -1
- package/dist/azure/financialSavingsChargePolicyKernel.js +0 -34
- package/dist/azure/financialSavingsChargePolicyKernel.js.map +0 -1
- package/dist/azure/financialSavingsPercentageKernel.d.ts +0 -20
- package/dist/azure/financialSavingsPercentageKernel.d.ts.map +0 -1
- package/dist/azure/financialSavingsPercentageKernel.js +0 -49
- package/dist/azure/financialSavingsPercentageKernel.js.map +0 -1
- package/dist/azure/financialSavingsSurfaceProjectionKernel.d.ts +0 -26
- package/dist/azure/financialSavingsSurfaceProjectionKernel.d.ts.map +0 -1
- package/dist/azure/financialSavingsSurfaceProjectionKernel.js +0 -435
- package/dist/azure/financialSavingsSurfaceProjectionKernel.js.map +0 -1
- package/dist/azure/recommendationLifecycleOverlayValidation.d.ts +0 -5
- package/dist/azure/recommendationLifecycleOverlayValidation.d.ts.map +0 -1
- package/dist/azure/recommendationLifecycleOverlayValidation.js +0 -82
- package/dist/azure/recommendationLifecycleOverlayValidation.js.map +0 -1
- package/dist/azure/reportDailySpend.d.ts +0 -48
- package/dist/azure/reportDailySpend.d.ts.map +0 -1
- package/dist/azure/reportDailySpend.js +0 -6
- package/dist/azure/reportDailySpend.js.map +0 -1
- package/dist/azure/reportDailySpendValidation.d.ts +0 -3
- package/dist/azure/reportDailySpendValidation.d.ts.map +0 -1
- package/dist/azure/reportDailySpendValidation.js +0 -72
- package/dist/azure/reportDailySpendValidation.js.map +0 -1
- package/dist/azure/reportEvidence.d.ts +0 -615
- package/dist/azure/reportEvidence.d.ts.map +0 -1
- package/dist/azure/reportEvidence.js +0 -25
- package/dist/azure/reportEvidence.js.map +0 -1
- package/dist/azure/reportEvidenceCatalogueValidation.d.ts +0 -5
- package/dist/azure/reportEvidenceCatalogueValidation.d.ts.map +0 -1
- package/dist/azure/reportEvidenceCatalogueValidation.js +0 -109
- package/dist/azure/reportEvidenceCatalogueValidation.js.map +0 -1
- package/dist/azure/reportEvidenceValidation.d.ts +0 -7
- package/dist/azure/reportEvidenceValidation.d.ts.map +0 -1
- package/dist/azure/reportEvidenceValidation.js +0 -421
- package/dist/azure/reportEvidenceValidation.js.map +0 -1
- package/dist/azure/reportEvidenceValidationHelpers.d.ts +0 -27
- package/dist/azure/reportEvidenceValidationHelpers.d.ts.map +0 -1
- package/dist/azure/reportEvidenceValidationHelpers.js +0 -134
- package/dist/azure/reportEvidenceValidationHelpers.js.map +0 -1
- package/dist/azure/reportSavingsContributionValidation.d.ts +0 -5
- package/dist/azure/reportSavingsContributionValidation.d.ts.map +0 -1
- package/dist/azure/reportSavingsContributionValidation.js +0 -37
- package/dist/azure/reportSavingsContributionValidation.js.map +0 -1
- package/dist/azure/reportSpend.d.ts +0 -87
- package/dist/azure/reportSpend.d.ts.map +0 -1
- package/dist/azure/reportSpend.js +0 -5
- package/dist/azure/reportSpend.js.map +0 -1
- package/dist/azure/reportSpendValidation.d.ts +0 -7
- package/dist/azure/reportSpendValidation.d.ts.map +0 -1
- package/dist/azure/reportSpendValidation.js +0 -197
- package/dist/azure/reportSpendValidation.js.map +0 -1
- package/dist/azure/reportSpendValidationHelpers.d.ts +0 -7
- package/dist/azure/reportSpendValidationHelpers.d.ts.map +0 -1
- package/dist/azure/reportSpendValidationHelpers.js +0 -31
- package/dist/azure/reportSpendValidationHelpers.js.map +0 -1
- package/dist/azure/vmPatchManagement.d.ts +0 -109
- package/dist/azure/vmPatchManagement.d.ts.map +0 -1
- package/dist/azure/vmPatchManagement.js +0 -7
- package/dist/azure/vmPatchManagement.js.map +0 -1
- package/dist/environment/canonicalization.d.ts +0 -12
- package/dist/environment/canonicalization.d.ts.map +0 -1
- package/dist/environment/canonicalization.js +0 -40
- package/dist/environment/canonicalization.js.map +0 -1
- package/dist/environment/contracts.d.ts +0 -472
- package/dist/environment/contracts.d.ts.map +0 -1
- package/dist/environment/contracts.js +0 -73
- package/dist/environment/contracts.js.map +0 -1
- package/dist/environment/index.d.ts +0 -6
- package/dist/environment/index.d.ts.map +0 -1
- package/dist/environment/index.js +0 -22
- package/dist/environment/index.js.map +0 -1
- package/dist/environment/internal.d.ts +0 -21
- package/dist/environment/internal.d.ts.map +0 -1
- package/dist/environment/internal.js +0 -113
- package/dist/environment/internal.js.map +0 -1
- package/dist/environment/references.d.ts +0 -24
- package/dist/environment/references.d.ts.map +0 -1
- package/dist/environment/references.js +0 -243
- package/dist/environment/references.js.map +0 -1
- package/dist/environment/tenant.d.ts +0 -128
- package/dist/environment/tenant.d.ts.map +0 -1
- package/dist/environment/tenant.js +0 -203
- package/dist/environment/tenant.js.map +0 -1
- package/dist/environment/validation.d.ts +0 -34
- package/dist/environment/validation.d.ts.map +0 -1
- package/dist/environment/validation.js +0 -655
- package/dist/environment/validation.js.map +0 -1
- package/dist/esm/accounts/azureManualOnboarding.js +0 -8
- package/dist/esm/ai/conversationHistory.js +0 -6
- package/dist/esm/ai/grounding.js +0 -80
- package/dist/esm/ai/workspaceArtifacts.js +0 -158
- package/dist/esm/aws/organizationCommitments.js +0 -48
- package/dist/esm/aws/organizationCommitmentsApiValidation.js +0 -220
- package/dist/esm/aws/organizationCommitmentsValidation.js +0 -224
- package/dist/esm/aws/portalOrganizationCommitmentsPlanningPublicArtifactValidation.js +0 -402
- package/dist/esm/aws/portalOrganizationCommitmentsPlanningPublicArtifacts.js +0 -2
- package/dist/esm/azure/activityLogAnalysis.js +0 -64
- package/dist/esm/azure/activityLogAnalysisPublicValidation.js +0 -360
- package/dist/esm/azure/activityLogAnalysisPublicValidationHelpers.js +0 -172
- package/dist/esm/azure/activityLogAnalysisValidation.js +0 -365
- package/dist/esm/azure/financialAnalyticsDisplayKernel.js +0 -139
- package/dist/esm/azure/financialAuthorityProjectionKernel.js +0 -263
- package/dist/esm/azure/financialChargeComposition.js +0 -36
- package/dist/esm/azure/financialChargeCompositionKernel.js +0 -48
- package/dist/esm/azure/financialChargeCompositionValidation.js +0 -155
- package/dist/esm/azure/financialChargePolicy.js +0 -473
- package/dist/esm/azure/financialCurrentSpendSurfaceProjection.js +0 -2
- package/dist/esm/azure/financialCurrentSpendSurfaceProjectionValidation.js +0 -184
- package/dist/esm/azure/financialDataflowKernel.js +0 -164
- package/dist/esm/azure/financialEvidenceCoverage.js +0 -106
- package/dist/esm/azure/financialPolicyKernel.js +0 -225
- package/dist/esm/azure/financialResourceSurfaceProjection.js +0 -2
- package/dist/esm/azure/financialResourceSurfaceProjectionValidation.js +0 -243
- package/dist/esm/azure/financialSavingsChargePolicyKernel.js +0 -29
- package/dist/esm/azure/financialSavingsPercentageKernel.js +0 -44
- package/dist/esm/azure/financialSavingsSurfaceProjectionKernel.js +0 -427
- package/dist/esm/azure/recommendationLifecycleOverlayValidation.js +0 -75
- package/dist/esm/azure/reportDailySpend.js +0 -2
- package/dist/esm/azure/reportDailySpendValidation.js +0 -67
- package/dist/esm/azure/reportEvidence.js +0 -21
- package/dist/esm/azure/reportEvidenceCatalogueValidation.js +0 -103
- package/dist/esm/azure/reportEvidenceValidation.js +0 -413
- package/dist/esm/azure/reportEvidenceValidationHelpers.js +0 -106
- package/dist/esm/azure/reportSavingsContributionValidation.js +0 -30
- package/dist/esm/azure/reportSpend.js +0 -1
- package/dist/esm/azure/reportSpendValidation.js +0 -189
- package/dist/esm/azure/reportSpendValidationHelpers.js +0 -22
- package/dist/esm/azure/vmPatchManagement.js +0 -3
- package/dist/esm/entries/environment.js +0 -3
- package/dist/esm/environment/canonicalization.js +0 -34
- package/dist/esm/environment/contracts.js +0 -69
- package/dist/esm/environment/index.js +0 -5
- package/dist/esm/environment/internal.js +0 -97
- package/dist/esm/environment/references.js +0 -230
- package/dist/esm/environment/tenant.js +0 -190
- package/dist/esm/environment/validation.js +0 -635
- package/dist/esm/identity/microsoftSignInAdminConsent.js +0 -1
- package/dist/esm/scheduler/bastionSchedule.js +0 -1
- package/dist/esm/scheduler/bastionScheduleProfile.js +0 -206
- package/dist/esm/scheduler/bastionScheduleValidation.js +0 -401
- package/dist/identity/microsoftSignInAdminConsent.d.ts +0 -59
- package/dist/identity/microsoftSignInAdminConsent.d.ts.map +0 -1
- package/dist/identity/microsoftSignInAdminConsent.js +0 -3
- package/dist/identity/microsoftSignInAdminConsent.js.map +0 -1
- package/dist/scheduler/bastionSchedule.d.ts +0 -113
- package/dist/scheduler/bastionSchedule.d.ts.map +0 -1
- package/dist/scheduler/bastionSchedule.js +0 -3
- 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
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"financialCurrentSpendSurfaceProjectionValidation.d.ts","sourceRoot":"","sources":["../../src/azure/financialCurrentSpendSurfaceProjectionValidation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,wDAAwD,EACxD,wCAAwC,EACxC,sCAAsC,EACtC,4CAA4C,EAC5C,uBAAuB,EACvB,wBAAwB,EACzB,MAAM,0CAA0C,CAAC;AAiDlD,eAAO,MAAM,0BAA0B,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,wBAepE,CAAC;AAEF,eAAO,MAAM,gDAAgD,GAC3D,OAAO,4CAA4C,KAClD,MAAsE,CAAC;AAE1E,eAAO,MAAM,oCAAoC,GAC/C,OAAO,4CAA4C,KAClD,MAAyF,CAAC;AAE7F,eAAO,MAAM,wCAAwC,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,sCAuBlF,CAAC;AAeF,eAAO,MAAM,yBAAyB,GAAI,OAAO,OAAO,EAAE,wBAAwB,MAAM,KAAG,KAAK,IAAI,uBA4CnG,CAAC;AAKF,eAAO,MAAM,4DAA4D,GACvE,OAAO,wDAAwD,KAC9D,MASA,CAAC;AAEJ,eAAO,MAAM,gDAAgD,GAC3D,OAAO,wDAAwD,KAC9D,MAAqG,CAAC;AAEzG,eAAO,MAAM,0CAA0C,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,wCA0EpF,CAAC"}
|
|
@@ -1,196 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isFinancialCurrentSpendSurfaceProjectionV1 = exports.createFinancialCurrentSpendSurfaceProjectionIdV1 = exports.canonicalizeFinancialCurrentSpendSurfaceProjectionIdentityV1 = exports.isFinancialSurfaceMoneyV1 = exports.isFinancialSurfaceCoordinateDefinitionV1 = exports.createFinancialSurfaceCoordinateIdV1 = exports.canonicalizeFinancialSurfaceCoordinateIdentityV1 = exports.isFinancialSurfacePeriodV1 = void 0;
|
|
4
|
-
const sha256_1 = require("../common/sha256");
|
|
5
|
-
const financialChargeCompositionValidation_1 = require("./financialChargeCompositionValidation");
|
|
6
|
-
const financialCurrentSpendSurfaceProjection_1 = require("./financialCurrentSpendSurfaceProjection");
|
|
7
|
-
const financialSavingsAuthorityValidationPrimitives_1 = require("./financialSavingsAuthorityValidationPrimitives");
|
|
8
|
-
const financialValidationPrimitives_1 = require("./financialValidationPrimitives");
|
|
9
|
-
const CURRENCIES = /^[A-Z]{3}$/;
|
|
10
|
-
const CALENDAR_DATE = /^\d{4}-\d{2}-\d{2}$/;
|
|
11
|
-
const WINDOW_KINDS = new Set([
|
|
12
|
-
'rolling-30-days',
|
|
13
|
-
'calendar-month',
|
|
14
|
-
'provider-billing-period',
|
|
15
|
-
'stable-billing-window',
|
|
16
|
-
'analytics-history',
|
|
17
|
-
'daily',
|
|
18
|
-
]);
|
|
19
|
-
const PERIOD_ROLES = new Set(['current-spend', 'comparison', 'analytics-input', 'projection-target']);
|
|
20
|
-
const COST_BASES = new Set(['billed', 'amortized']);
|
|
21
|
-
const ESTIMATE_LENSES = new Set(['billing-only', 'include-estimates', 'estimates-only']);
|
|
22
|
-
const SCOPE_KINDS = new Set(['subscription', 'resource-group', 'tag-scope', 'multi-subscription']);
|
|
23
|
-
const MAX_COORDINATES = 128;
|
|
24
|
-
const MAX_REASONS = 64;
|
|
25
|
-
const isCurrency = (value) => typeof value === 'string' && CURRENCIES.test(value);
|
|
26
|
-
const isCalendarDate = (value) => {
|
|
27
|
-
if (typeof value !== 'string' || !CALENDAR_DATE.test(value))
|
|
28
|
-
return false;
|
|
29
|
-
const date = new Date(`${value}T00:00:00.000Z`);
|
|
30
|
-
return Number.isFinite(date.getTime()) && date.toISOString().slice(0, 10) === value;
|
|
31
|
-
};
|
|
32
|
-
const isInterval = (value) => (0, financialSavingsAuthorityValidationPrimitives_1.isFinancialSavingsRecord)(value) &&
|
|
33
|
-
(0, financialSavingsAuthorityValidationPrimitives_1.hasExactFinancialSavingsFields)(value, ['startDate', 'endDateExclusive', 'dateBasis'], ['timeZone']) &&
|
|
34
|
-
isCalendarDate(value.startDate) &&
|
|
35
|
-
isCalendarDate(value.endDateExclusive) &&
|
|
36
|
-
value.startDate < value.endDateExclusive &&
|
|
37
|
-
(value.dateBasis === 'utc' || value.dateBasis === 'billing-calendar' || value.dateBasis === 'company-local') &&
|
|
38
|
-
(value.timeZone === undefined || (0, financialSavingsAuthorityValidationPrimitives_1.isFinancialSavingsIdentity)(value.timeZone));
|
|
39
|
-
const isFinancialSurfacePeriodV1 = (value) => {
|
|
40
|
-
if (!(0, financialSavingsAuthorityValidationPrimitives_1.isFinancialSavingsRecord)(value) ||
|
|
41
|
-
!(0, financialSavingsAuthorityValidationPrimitives_1.hasExactFinancialSavingsFields)(value, ['windowKind', 'requested'], ['observed', 'providerBillingPeriodId']) ||
|
|
42
|
-
typeof value.windowKind !== 'string' ||
|
|
43
|
-
!WINDOW_KINDS.has(value.windowKind) ||
|
|
44
|
-
!isInterval(value.requested) ||
|
|
45
|
-
(value.observed !== undefined && !isInterval(value.observed)) ||
|
|
46
|
-
(value.providerBillingPeriodId !== undefined && !(0, financialSavingsAuthorityValidationPrimitives_1.isFinancialSavingsIdentity)(value.providerBillingPeriodId)))
|
|
47
|
-
return false;
|
|
48
|
-
if (value.observed === undefined)
|
|
49
|
-
return true;
|
|
50
|
-
const requested = value.requested;
|
|
51
|
-
const observed = value.observed;
|
|
52
|
-
return observed.startDate >= requested.startDate && observed.endDateExclusive <= requested.endDateExclusive;
|
|
53
|
-
};
|
|
54
|
-
exports.isFinancialSurfacePeriodV1 = isFinancialSurfacePeriodV1;
|
|
55
|
-
const canonicalizeFinancialSurfaceCoordinateIdentityV1 = (value) => JSON.stringify((0, financialSavingsAuthorityValidationPrimitives_1.canonicalizeFinancialSavingsJsonValue)(value));
|
|
56
|
-
exports.canonicalizeFinancialSurfaceCoordinateIdentityV1 = canonicalizeFinancialSurfaceCoordinateIdentityV1;
|
|
57
|
-
const createFinancialSurfaceCoordinateIdV1 = (value) => `sha256:${(0, sha256_1.sha256Utf8)((0, exports.canonicalizeFinancialSurfaceCoordinateIdentityV1)(value))}`;
|
|
58
|
-
exports.createFinancialSurfaceCoordinateIdV1 = createFinancialSurfaceCoordinateIdV1;
|
|
59
|
-
const isFinancialSurfaceCoordinateDefinitionV1 = (value) => {
|
|
60
|
-
if (!(0, financialSavingsAuthorityValidationPrimitives_1.isFinancialSavingsRecord)(value) ||
|
|
61
|
-
!(0, financialSavingsAuthorityValidationPrimitives_1.hasExactFinancialSavingsFields)(value, ['coordinateId', 'periodRole', 'period', 'costBasis', 'estimateLens', 'chargeInclusionPolicyRef'], ['requestedCurrencyCode']) ||
|
|
62
|
-
!(0, financialSavingsAuthorityValidationPrimitives_1.isFinancialSavingsHash)(value.coordinateId) ||
|
|
63
|
-
typeof value.periodRole !== 'string' ||
|
|
64
|
-
!PERIOD_ROLES.has(value.periodRole) ||
|
|
65
|
-
!(0, exports.isFinancialSurfacePeriodV1)(value.period) ||
|
|
66
|
-
typeof value.costBasis !== 'string' ||
|
|
67
|
-
!COST_BASES.has(value.costBasis) ||
|
|
68
|
-
typeof value.estimateLens !== 'string' ||
|
|
69
|
-
!ESTIMATE_LENSES.has(value.estimateLens) ||
|
|
70
|
-
!(0, financialChargeCompositionValidation_1.isFinancialChargeInclusionPolicyRefV1)(value.chargeInclusionPolicyRef) ||
|
|
71
|
-
(value.requestedCurrencyCode !== undefined && !isCurrency(value.requestedCurrencyCode)))
|
|
72
|
-
return false;
|
|
73
|
-
const coordinate = value;
|
|
74
|
-
const { coordinateId: _coordinateId, ...identity } = coordinate;
|
|
75
|
-
return coordinate.coordinateId === (0, exports.createFinancialSurfaceCoordinateIdV1)(identity);
|
|
76
|
-
};
|
|
77
|
-
exports.isFinancialSurfaceCoordinateDefinitionV1 = isFinancialSurfaceCoordinateDefinitionV1;
|
|
78
|
-
const isReasonCodes = (value) => Array.isArray(value) &&
|
|
79
|
-
value.length > 0 &&
|
|
80
|
-
value.length <= MAX_REASONS &&
|
|
81
|
-
value.every(financialSavingsAuthorityValidationPrimitives_1.isFinancialSavingsIdentity) &&
|
|
82
|
-
new Set(value).size === value.length;
|
|
83
|
-
const isExactAmount = (amount, currencyCode) => isCurrency(currencyCode) && (0, financialValidationPrimitives_1.isCanonicalExactMoney)({ amount, currencyCode });
|
|
84
|
-
const isNonNegativeExactAmount = (amount, currencyCode) => isExactAmount(amount, currencyCode) && typeof amount === 'string' && !amount.startsWith('-');
|
|
85
|
-
const isFinancialSurfaceMoneyV1 = (value, requestedCurrencyCode) => {
|
|
86
|
-
if (!(0, financialSavingsAuthorityValidationPrimitives_1.isFinancialSavingsRecord)(value))
|
|
87
|
-
return false;
|
|
88
|
-
if (value.status === 'available') {
|
|
89
|
-
return ((0, financialSavingsAuthorityValidationPrimitives_1.hasExactFinancialSavingsFields)(value, [
|
|
90
|
-
'status',
|
|
91
|
-
'amount',
|
|
92
|
-
'currencyCode',
|
|
93
|
-
'completeness',
|
|
94
|
-
'excludedAmount',
|
|
95
|
-
'withheldAmount',
|
|
96
|
-
]) &&
|
|
97
|
-
value.completeness === 'complete' &&
|
|
98
|
-
isExactAmount(value.amount, value.currencyCode) &&
|
|
99
|
-
isNonNegativeExactAmount(value.excludedAmount, value.currencyCode) &&
|
|
100
|
-
isNonNegativeExactAmount(value.withheldAmount, value.currencyCode) &&
|
|
101
|
-
(requestedCurrencyCode === undefined || value.currencyCode === requestedCurrencyCode));
|
|
102
|
-
}
|
|
103
|
-
if (value.status === 'partial') {
|
|
104
|
-
return ((0, financialSavingsAuthorityValidationPrimitives_1.hasExactFinancialSavingsFields)(value, [
|
|
105
|
-
'status',
|
|
106
|
-
'knownAmount',
|
|
107
|
-
'currencyCode',
|
|
108
|
-
'completeness',
|
|
109
|
-
'excludedAmount',
|
|
110
|
-
'withheldAmount',
|
|
111
|
-
'reasonCodes',
|
|
112
|
-
]) &&
|
|
113
|
-
value.completeness === 'partial' &&
|
|
114
|
-
isExactAmount(value.knownAmount, value.currencyCode) &&
|
|
115
|
-
isNonNegativeExactAmount(value.excludedAmount, value.currencyCode) &&
|
|
116
|
-
isNonNegativeExactAmount(value.withheldAmount, value.currencyCode) &&
|
|
117
|
-
isReasonCodes(value.reasonCodes) &&
|
|
118
|
-
(requestedCurrencyCode === undefined || value.currencyCode === requestedCurrencyCode));
|
|
119
|
-
}
|
|
120
|
-
return (value.status === 'unavailable' &&
|
|
121
|
-
(0, financialSavingsAuthorityValidationPrimitives_1.hasExactFinancialSavingsFields)(value, ['status', 'completeness', 'reasonCodes']) &&
|
|
122
|
-
value.completeness === 'unavailable' &&
|
|
123
|
-
isReasonCodes(value.reasonCodes));
|
|
124
|
-
};
|
|
125
|
-
exports.isFinancialSurfaceMoneyV1 = isFinancialSurfaceMoneyV1;
|
|
126
|
-
const canonicalizeMoney = (value) => value.status === 'available' ? value : { ...value, reasonCodes: [...value.reasonCodes].sort() };
|
|
127
|
-
const canonicalizeFinancialCurrentSpendSurfaceProjectionIdentityV1 = (value) => JSON.stringify((0, financialSavingsAuthorityValidationPrimitives_1.canonicalizeFinancialSavingsJsonValue)({
|
|
128
|
-
...value,
|
|
129
|
-
providerAccountRefs: [...value.providerAccountRefs].sort(),
|
|
130
|
-
coordinates: [...value.coordinates]
|
|
131
|
-
.sort((left, right) => left.coordinateId.localeCompare(right.coordinateId))
|
|
132
|
-
.map(coordinate => ({ ...coordinate, value: canonicalizeMoney(coordinate.value) })),
|
|
133
|
-
}));
|
|
134
|
-
exports.canonicalizeFinancialCurrentSpendSurfaceProjectionIdentityV1 = canonicalizeFinancialCurrentSpendSurfaceProjectionIdentityV1;
|
|
135
|
-
const createFinancialCurrentSpendSurfaceProjectionIdV1 = (value) => `sha256:${(0, sha256_1.sha256Utf8)((0, exports.canonicalizeFinancialCurrentSpendSurfaceProjectionIdentityV1)(value))}`;
|
|
136
|
-
exports.createFinancialCurrentSpendSurfaceProjectionIdV1 = createFinancialCurrentSpendSurfaceProjectionIdV1;
|
|
137
|
-
const isFinancialCurrentSpendSurfaceProjectionV1 = (value) => {
|
|
138
|
-
if (!(0, financialSavingsAuthorityValidationPrimitives_1.isFinancialSavingsRecord)(value) ||
|
|
139
|
-
!(0, financialSavingsAuthorityValidationPrimitives_1.hasExactFinancialSavingsFields)(value, [
|
|
140
|
-
'schemaVersion',
|
|
141
|
-
'contractVersion',
|
|
142
|
-
'projectionId',
|
|
143
|
-
'provider',
|
|
144
|
-
'providerAccountRefs',
|
|
145
|
-
'artifactGeneration',
|
|
146
|
-
'financialAuthorityId',
|
|
147
|
-
'scope',
|
|
148
|
-
'coordinates',
|
|
149
|
-
]) ||
|
|
150
|
-
value.schemaVersion !== financialCurrentSpendSurfaceProjection_1.FINANCIAL_CURRENT_SPEND_SURFACE_PROJECTION_SCHEMA_VERSION_V1 ||
|
|
151
|
-
value.contractVersion !== financialCurrentSpendSurfaceProjection_1.FINANCIAL_CURRENT_SPEND_SURFACE_PROJECTION_CONTRACT_VERSION_V1 ||
|
|
152
|
-
!(0, financialSavingsAuthorityValidationPrimitives_1.isFinancialSavingsHash)(value.projectionId) ||
|
|
153
|
-
value.provider !== 'azure' ||
|
|
154
|
-
!Array.isArray(value.providerAccountRefs) ||
|
|
155
|
-
value.providerAccountRefs.length === 0 ||
|
|
156
|
-
value.providerAccountRefs.length > 64 ||
|
|
157
|
-
!value.providerAccountRefs.every(financialSavingsAuthorityValidationPrimitives_1.isFinancialSavingsIdentity) ||
|
|
158
|
-
new Set(value.providerAccountRefs).size !== value.providerAccountRefs.length ||
|
|
159
|
-
!(0, financialSavingsAuthorityValidationPrimitives_1.isFinancialSavingsRecord)(value.artifactGeneration) ||
|
|
160
|
-
!(0, financialSavingsAuthorityValidationPrimitives_1.hasExactFinancialSavingsFields)(value.artifactGeneration, ['runId', 'generatedAt']) ||
|
|
161
|
-
!(0, financialSavingsAuthorityValidationPrimitives_1.isFinancialSavingsIdentity)(value.artifactGeneration.runId) ||
|
|
162
|
-
!(0, financialSavingsAuthorityValidationPrimitives_1.isFinancialSavingsIsoInstant)(value.artifactGeneration.generatedAt) ||
|
|
163
|
-
!(0, financialSavingsAuthorityValidationPrimitives_1.isFinancialSavingsHash)(value.financialAuthorityId) ||
|
|
164
|
-
!(0, financialSavingsAuthorityValidationPrimitives_1.isFinancialSavingsRecord)(value.scope) ||
|
|
165
|
-
!(0, financialSavingsAuthorityValidationPrimitives_1.hasExactFinancialSavingsFields)(value.scope, ['kind', 'scopeId', 'scopeFingerprint']) ||
|
|
166
|
-
typeof value.scope.kind !== 'string' ||
|
|
167
|
-
!SCOPE_KINDS.has(value.scope.kind) ||
|
|
168
|
-
!(0, financialSavingsAuthorityValidationPrimitives_1.isFinancialSavingsIdentity)(value.scope.scopeId) ||
|
|
169
|
-
!(0, financialSavingsAuthorityValidationPrimitives_1.isFinancialSavingsHash)(value.scope.scopeFingerprint) ||
|
|
170
|
-
!Array.isArray(value.coordinates) ||
|
|
171
|
-
value.coordinates.length === 0 ||
|
|
172
|
-
value.coordinates.length > MAX_COORDINATES)
|
|
173
|
-
return false;
|
|
174
|
-
const coordinates = value.coordinates;
|
|
175
|
-
if (!coordinates.every(coordinate => (0, financialSavingsAuthorityValidationPrimitives_1.isFinancialSavingsRecord)(coordinate) &&
|
|
176
|
-
(0, financialSavingsAuthorityValidationPrimitives_1.hasExactFinancialSavingsFields)(coordinate, [
|
|
177
|
-
'coordinateId',
|
|
178
|
-
'periodRole',
|
|
179
|
-
'period',
|
|
180
|
-
'costBasis',
|
|
181
|
-
'estimateLens',
|
|
182
|
-
'chargeInclusionPolicyRef',
|
|
183
|
-
'currentSpendCompositionId',
|
|
184
|
-
'value',
|
|
185
|
-
], ['requestedCurrencyCode']) &&
|
|
186
|
-
(0, financialSavingsAuthorityValidationPrimitives_1.isFinancialSavingsHash)(coordinate.currentSpendCompositionId) &&
|
|
187
|
-
(0, exports.isFinancialSurfaceCoordinateDefinitionV1)(Object.fromEntries(Object.entries(coordinate).filter(([key]) => key !== 'value' && key !== 'currentSpendCompositionId'))) &&
|
|
188
|
-
(0, exports.isFinancialSurfaceMoneyV1)(coordinate.value, coordinate.requestedCurrencyCode)) ||
|
|
189
|
-
new Set(coordinates.map(coordinate => coordinate.coordinateId)).size !== coordinates.length)
|
|
190
|
-
return false;
|
|
191
|
-
const projection = value;
|
|
192
|
-
const { projectionId: _projectionId, ...identity } = projection;
|
|
193
|
-
return projection.projectionId === (0, exports.createFinancialCurrentSpendSurfaceProjectionIdV1)(identity);
|
|
194
|
-
};
|
|
195
|
-
exports.isFinancialCurrentSpendSurfaceProjectionV1 = isFinancialCurrentSpendSurfaceProjectionV1;
|
|
196
|
-
//# sourceMappingURL=financialCurrentSpendSurfaceProjectionValidation.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"financialCurrentSpendSurfaceProjectionValidation.js","sourceRoot":"","sources":["../../src/azure/financialCurrentSpendSurfaceProjectionValidation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { type CurrentSpendCompositionV1, type FinancialDataflowCoordinateV1 } from './financialDataflow';
|
|
2
|
-
import type { FinancialChargeCompositionV1 } from './financialChargeComposition';
|
|
3
|
-
import { type FinancialScopeBaselineEnvelopeV2 } from './financialScopeBaseline';
|
|
4
|
-
export declare const CURRENT_SPEND_COMPOSITION_ALGORITHM_VERSION_V1: "current-spend-composition/shared-v1";
|
|
5
|
-
export interface CurrentSpendCompositionKernelRequestV1 {
|
|
6
|
-
coordinate: FinancialDataflowCoordinateV1;
|
|
7
|
-
baselines: FinancialScopeBaselineEnvelopeV2[];
|
|
8
|
-
chargeCompositions: FinancialChargeCompositionV1[];
|
|
9
|
-
algorithmVersion?: string;
|
|
10
|
-
}
|
|
11
|
-
export type FinancialExactTrendComparisonV1 = {
|
|
12
|
-
status: 'unavailable';
|
|
13
|
-
} | {
|
|
14
|
-
status: 'available';
|
|
15
|
-
direction: 'increasing' | 'decreasing' | 'flat';
|
|
16
|
-
changeAmount: string;
|
|
17
|
-
/** Present only when the exact ratio has a canonical representation at six or fewer decimal places. */
|
|
18
|
-
percentChange?: string;
|
|
19
|
-
};
|
|
20
|
-
/**
|
|
21
|
-
* Shared exact current-versus-comparison semantics for display composition.
|
|
22
|
-
* Canonical analytics projections use the same direction/change/percentage
|
|
23
|
-
* rules; this helper does not create or impersonate an analytics authority.
|
|
24
|
-
*/
|
|
25
|
-
export declare const compareFinancialExactAmountsV1: (request: {
|
|
26
|
-
currentAmount?: string;
|
|
27
|
-
comparisonAmount?: string;
|
|
28
|
-
}) => FinancialExactTrendComparisonV1;
|
|
29
|
-
/** Portable exact-decimal composition kernel shared by Cloud and browser runtimes. */
|
|
30
|
-
export declare const composeCurrentSpendV1: (request: CurrentSpendCompositionKernelRequestV1) => CurrentSpendCompositionV1;
|
|
31
|
-
//# sourceMappingURL=financialDataflowKernel.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"financialDataflowKernel.d.ts","sourceRoot":"","sources":["../../src/azure/financialDataflowKernel.ts"],"names":[],"mappings":"AAOA,OAAO,EAKL,KAAK,yBAAyB,EAC9B,KAAK,6BAA6B,EACnC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,4BAA4B,EAA8B,MAAM,8BAA8B,CAAC;AAO7G,OAAO,EAAuC,KAAK,gCAAgC,EAAE,MAAM,0BAA0B,CAAC;AAEtH,eAAO,MAAM,8CAA8C,EAAG,qCAA8C,CAAC;AAE7G,MAAM,WAAW,sCAAsC;IACrD,UAAU,EAAE,6BAA6B,CAAC;IAC1C,SAAS,EAAE,gCAAgC,EAAE,CAAC;IAC9C,kBAAkB,EAAE,4BAA4B,EAAE,CAAC;IACnD,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,MAAM,+BAA+B,GACvC;IAAE,MAAM,EAAE,aAAa,CAAA;CAAE,GACzB;IACE,MAAM,EAAE,WAAW,CAAC;IACpB,SAAS,EAAE,YAAY,GAAG,YAAY,GAAG,MAAM,CAAC;IAChD,YAAY,EAAE,MAAM,CAAC;IACrB,uGAAuG;IACvG,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAeN;;;;GAIG;AACH,eAAO,MAAM,8BAA8B,GAAI,SAAS;IACtD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,KAAG,+BAuBH,CAAC;AAQF,sFAAsF;AACtF,eAAO,MAAM,qBAAqB,GAAI,SAAS,sCAAsC,KAAG,yBAyHvF,CAAC"}
|
|
@@ -1,170 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.composeCurrentSpendV1 = exports.compareFinancialExactAmountsV1 = exports.CURRENT_SPEND_COMPOSITION_ALGORITHM_VERSION_V1 = void 0;
|
|
4
|
-
const exactDecimal_1 = require("../common/exactDecimal");
|
|
5
|
-
const financialDataflow_1 = require("./financialDataflow");
|
|
6
|
-
const financialChargeCompositionValidation_1 = require("./financialChargeCompositionValidation");
|
|
7
|
-
const financialDataflowValidation_1 = require("./financialDataflowValidation");
|
|
8
|
-
const financialScopeBaseline_1 = require("./financialScopeBaseline");
|
|
9
|
-
exports.CURRENT_SPEND_COMPOSITION_ALGORITHM_VERSION_V1 = 'current-spend-composition/shared-v1';
|
|
10
|
-
const exactPercentAtSixDecimalPlaces = (change, comparison) => {
|
|
11
|
-
if (comparison.coefficient === 0n)
|
|
12
|
-
return undefined;
|
|
13
|
-
const numerator = change.coefficient * 100n * 10n ** BigInt(comparison.scale);
|
|
14
|
-
const denominator = comparison.coefficient * 10n ** BigInt(change.scale);
|
|
15
|
-
for (let scale = 0; scale <= 6; scale += 1) {
|
|
16
|
-
const scaledNumerator = numerator * 10n ** BigInt(scale);
|
|
17
|
-
if (scaledNumerator % denominator === 0n) {
|
|
18
|
-
return (0, exactDecimal_1.formatExactDecimalValue)({ coefficient: scaledNumerator / denominator, scale });
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
return undefined;
|
|
22
|
-
};
|
|
23
|
-
/**
|
|
24
|
-
* Shared exact current-versus-comparison semantics for display composition.
|
|
25
|
-
* Canonical analytics projections use the same direction/change/percentage
|
|
26
|
-
* rules; this helper does not create or impersonate an analytics authority.
|
|
27
|
-
*/
|
|
28
|
-
const compareFinancialExactAmountsV1 = (request) => {
|
|
29
|
-
if (request.currentAmount === undefined || request.comparisonAmount === undefined)
|
|
30
|
-
return { status: 'unavailable' };
|
|
31
|
-
try {
|
|
32
|
-
const current = (0, exactDecimal_1.parseCanonicalDecimal)(request.currentAmount);
|
|
33
|
-
const comparison = (0, exactDecimal_1.parseCanonicalDecimal)(request.comparisonAmount);
|
|
34
|
-
if ((0, exactDecimal_1.formatExactDecimalValue)(current) !== request.currentAmount ||
|
|
35
|
-
(0, exactDecimal_1.formatExactDecimalValue)(comparison) !== request.comparisonAmount) {
|
|
36
|
-
return { status: 'unavailable' };
|
|
37
|
-
}
|
|
38
|
-
const change = (0, exactDecimal_1.subtractExactDecimalValues)(current, comparison);
|
|
39
|
-
const direction = change.coefficient === 0n ? 'flat' : change.coefficient > 0n ? 'increasing' : 'decreasing';
|
|
40
|
-
const percentChange = exactPercentAtSixDecimalPlaces(change, comparison);
|
|
41
|
-
return {
|
|
42
|
-
status: 'available',
|
|
43
|
-
direction,
|
|
44
|
-
changeAmount: (0, exactDecimal_1.formatExactDecimalValue)(change),
|
|
45
|
-
...(percentChange === undefined ? {} : { percentChange }),
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
catch {
|
|
49
|
-
return { status: 'unavailable' };
|
|
50
|
-
}
|
|
51
|
-
};
|
|
52
|
-
exports.compareFinancialExactAmountsV1 = compareFinancialExactAmountsV1;
|
|
53
|
-
const uniqueSorted = (values) => {
|
|
54
|
-
const result = Array.from(new Set(values)).sort();
|
|
55
|
-
if (result.length === 0)
|
|
56
|
-
throw new TypeError('Current-spend unavailable state requires at least one reason code.');
|
|
57
|
-
return result;
|
|
58
|
-
};
|
|
59
|
-
/** Portable exact-decimal composition kernel shared by Cloud and browser runtimes. */
|
|
60
|
-
const composeCurrentSpendV1 = (request) => {
|
|
61
|
-
if (request.coordinate.periodRole !== 'current-spend' && request.coordinate.periodRole !== 'comparison') {
|
|
62
|
-
throw new TypeError('Current-spend composition requires a current-spend or comparison coordinate.');
|
|
63
|
-
}
|
|
64
|
-
if (request.baselines.length === 0)
|
|
65
|
-
throw new TypeError('Current-spend composition requires an authoritative baseline member.');
|
|
66
|
-
if (request.chargeCompositions.length > request.baselines.length) {
|
|
67
|
-
throw new TypeError('Current-spend composition has more charge compositions than baseline members.');
|
|
68
|
-
}
|
|
69
|
-
const chargeCompositionByBaselineId = new Map(request.chargeCompositions.map(composition => [composition.baselineId, composition]));
|
|
70
|
-
if (chargeCompositionByBaselineId.size !== request.chargeCompositions.length) {
|
|
71
|
-
throw new TypeError('Current-spend composition cannot contain duplicate charge compositions.');
|
|
72
|
-
}
|
|
73
|
-
const sortedBaselines = [...request.baselines].sort((left, right) => left.scopeId.localeCompare(right.scopeId));
|
|
74
|
-
if (new Set(sortedBaselines.map(baseline => baseline.scopeId)).size !== sortedBaselines.length) {
|
|
75
|
-
throw new TypeError('Current-spend composition cannot contain duplicate member scopes.');
|
|
76
|
-
}
|
|
77
|
-
const selections = new Map();
|
|
78
|
-
const members = sortedBaselines.map(baseline => {
|
|
79
|
-
if (baseline.status === 'unavailable') {
|
|
80
|
-
return { memberScopeId: baseline.scopeId, status: 'unavailable', reasonCode: baseline.unavailableReason };
|
|
81
|
-
}
|
|
82
|
-
if (baseline.baselineKind !== 'owner') {
|
|
83
|
-
return { memberScopeId: baseline.scopeId, status: 'unavailable', reasonCode: 'charge-composition-requires-owner-baseline' };
|
|
84
|
-
}
|
|
85
|
-
const chargeComposition = chargeCompositionByBaselineId.get(baseline.baselineId);
|
|
86
|
-
if (!chargeComposition || chargeComposition.ownerScopeId !== baseline.scopeId) {
|
|
87
|
-
return { memberScopeId: baseline.scopeId, status: 'unavailable', reasonCode: 'charge-composition-unavailable' };
|
|
88
|
-
}
|
|
89
|
-
const selection = (0, financialChargeCompositionValidation_1.selectFinancialChargesV1)(chargeComposition, request.coordinate.chargeInclusionPolicyRef);
|
|
90
|
-
selections.set(baseline.baselineId, selection);
|
|
91
|
-
return {
|
|
92
|
-
memberScopeId: baseline.scopeId,
|
|
93
|
-
baselineId: baseline.baselineId,
|
|
94
|
-
chargeCompositionId: chargeComposition.chargeCompositionId,
|
|
95
|
-
status: 'included',
|
|
96
|
-
};
|
|
97
|
-
});
|
|
98
|
-
const available = sortedBaselines.filter((baseline) => baseline.status === 'available');
|
|
99
|
-
const includedBaselineIds = new Set(members.flatMap(member => (member.status === 'included' ? [member.baselineId] : [])));
|
|
100
|
-
const includedBaselines = available.filter(baseline => includedBaselineIds.has(baseline.baselineId));
|
|
101
|
-
const unavailableReasons = new Set(sortedBaselines
|
|
102
|
-
.filter((baseline) => baseline.status === 'unavailable')
|
|
103
|
-
.map(baseline => baseline.unavailableReason));
|
|
104
|
-
members.filter(member => member.status === 'unavailable').forEach(member => unavailableReasons.add(member.reasonCode));
|
|
105
|
-
const selectionReasonCodes = new Set();
|
|
106
|
-
selections.forEach(selection => selection.reasonCodes?.forEach(reason => {
|
|
107
|
-
selectionReasonCodes.add(reason);
|
|
108
|
-
unavailableReasons.add(reason);
|
|
109
|
-
}));
|
|
110
|
-
if (available.some(baseline => !(0, financialScopeBaseline_1.isCompleteFinancialBaselinePeriodV2)(baseline.period)))
|
|
111
|
-
unavailableReasons.add('coverage-incomplete');
|
|
112
|
-
if (request.coordinate.accountingCurrency.status === 'unresolved') {
|
|
113
|
-
unavailableReasons.add(request.coordinate.accountingCurrency.reasonCode);
|
|
114
|
-
}
|
|
115
|
-
const common = {
|
|
116
|
-
schemaVersion: financialDataflow_1.FINANCIAL_DATAFLOW_SCHEMA_VERSION_V1,
|
|
117
|
-
contractVersion: financialDataflow_1.FINANCIAL_CURRENT_SPEND_COMPOSITION_CONTRACT_VERSION_V1,
|
|
118
|
-
coordinate: request.coordinate,
|
|
119
|
-
members,
|
|
120
|
-
membershipDigest: (0, financialDataflowValidation_1.createCurrentSpendMembershipDigestV1)(members),
|
|
121
|
-
algorithmVersion: request.algorithmVersion ?? exports.CURRENT_SPEND_COMPOSITION_ALGORITHM_VERSION_V1,
|
|
122
|
-
};
|
|
123
|
-
const currency = request.coordinate.accountingCurrency.status === 'resolved' ? request.coordinate.accountingCurrency.currencyCode : undefined;
|
|
124
|
-
let identity;
|
|
125
|
-
if (!currency || includedBaselines.length === 0) {
|
|
126
|
-
identity = {
|
|
127
|
-
...common,
|
|
128
|
-
amount: {
|
|
129
|
-
status: 'unavailable',
|
|
130
|
-
reasonCodes: uniqueSorted(unavailableReasons.size > 0 ? unavailableReasons : ['evidence-unavailable']),
|
|
131
|
-
},
|
|
132
|
-
};
|
|
133
|
-
}
|
|
134
|
-
else {
|
|
135
|
-
const includedSelections = members.flatMap(member => member.status === 'included' ? [selections.get(member.baselineId)] : []);
|
|
136
|
-
const aggregateSelection = {
|
|
137
|
-
status: includedSelections.some(selection => selection.status === 'partial') ? 'partial' : 'available',
|
|
138
|
-
includedAmount: (0, exactDecimal_1.formatExactDecimalValue)((0, exactDecimal_1.sumCanonicalDecimals)(includedSelections.map(selection => selection.includedAmount))),
|
|
139
|
-
excludedAmount: (0, exactDecimal_1.formatExactDecimalValue)((0, exactDecimal_1.sumCanonicalDecimals)(includedSelections.map(selection => selection.excludedAmount))),
|
|
140
|
-
withheldAmount: (0, exactDecimal_1.formatExactDecimalValue)((0, exactDecimal_1.sumCanonicalDecimals)(includedSelections.map(selection => selection.withheldAmount))),
|
|
141
|
-
forecastEligibleAmount: (0, exactDecimal_1.formatExactDecimalValue)((0, exactDecimal_1.sumCanonicalDecimals)(includedSelections.map(selection => selection.forecastEligibleAmount))),
|
|
142
|
-
oneTimeAmount: (0, exactDecimal_1.formatExactDecimalValue)((0, exactDecimal_1.sumCanonicalDecimals)(includedSelections.map(selection => selection.oneTimeAmount))),
|
|
143
|
-
unknownRecurrenceAmount: (0, exactDecimal_1.formatExactDecimalValue)((0, exactDecimal_1.sumCanonicalDecimals)(includedSelections.map(selection => selection.unknownRecurrenceAmount))),
|
|
144
|
-
forecastStatus: includedSelections.some(selection => selection.forecastStatus === 'partial') ? 'partial' : 'available',
|
|
145
|
-
currencyCode: currency,
|
|
146
|
-
...(selectionReasonCodes.size === 0 ? {} : { reasonCodes: uniqueSorted(selectionReasonCodes) }),
|
|
147
|
-
...(includedSelections.every(selection => selection.forecastReasonCodes === undefined)
|
|
148
|
-
? {}
|
|
149
|
-
: {
|
|
150
|
-
forecastReasonCodes: uniqueSorted(includedSelections.flatMap(selection => selection.forecastReasonCodes ?? [])),
|
|
151
|
-
}),
|
|
152
|
-
};
|
|
153
|
-
const knownAmount = aggregateSelection.includedAmount;
|
|
154
|
-
identity =
|
|
155
|
-
unavailableReasons.size === 0
|
|
156
|
-
? { ...common, amount: { status: 'available', amount: knownAmount, currencyCode: currency }, chargeSelection: aggregateSelection }
|
|
157
|
-
: {
|
|
158
|
-
...common,
|
|
159
|
-
amount: { status: 'partial', knownAmount, currencyCode: currency, reasonCodes: uniqueSorted(unavailableReasons) },
|
|
160
|
-
chargeSelection: aggregateSelection,
|
|
161
|
-
};
|
|
162
|
-
}
|
|
163
|
-
const composition = { ...identity, compositionId: (0, financialDataflowValidation_1.createCurrentSpendCompositionIdV1)(identity) };
|
|
164
|
-
if (!(0, financialDataflowValidation_1.isCurrentSpendCompositionCompatibleV1)(composition, sortedBaselines, request.chargeCompositions)) {
|
|
165
|
-
throw new TypeError('Current-spend composition does not reconcile to its authoritative baseline members.');
|
|
166
|
-
}
|
|
167
|
-
return composition;
|
|
168
|
-
};
|
|
169
|
-
exports.composeCurrentSpendV1 = composeCurrentSpendV1;
|
|
170
|
-
//# sourceMappingURL=financialDataflowKernel.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"financialDataflowKernel.js","sourceRoot":"","sources":["../../src/azure/financialDataflowKernel.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import type { ArtifactGeneration } from '../common/artifactGeneration';
|
|
2
|
-
export declare const FINANCIAL_EVIDENCE_COVERAGE_CONTRACT_VERSION_V1: "financial-evidence-coverage/v1";
|
|
3
|
-
export type FinancialEvidenceCoverageStateV1 = 'complete' | 'partial' | 'stale' | 'missing' | 'unavailable' | 'unknown';
|
|
4
|
-
export declare const FINANCIAL_EVIDENCE_COVERAGE_REASONS_V1: readonly ["coverage-complete", "capability-passport-missing", "capability-passport-invalid", "capability-passport-ownership-mismatch", "capability-passport-read-failed", "billing-capability-partial", "billing-capability-stale", "billing-capability-missing", "billing-capability-unavailable", "billing-capability-unknown", "billing-dependency-partial", "billing-dependency-stale", "billing-dependency-missing", "billing-dependency-unavailable", "billing-dependency-unverified", "billing-dependency-wrong-generation", "subscription-coverage-missing", "subscription-coverage-invalid", "filtered-scope-coverage-unproven"];
|
|
5
|
-
export type FinancialEvidenceCoverageReasonV1 = (typeof FINANCIAL_EVIDENCE_COVERAGE_REASONS_V1)[number];
|
|
6
|
-
export interface FinancialEvidenceCoverageSourceV1 {
|
|
7
|
-
state: FinancialEvidenceCoverageStateV1;
|
|
8
|
-
reasons: [FinancialEvidenceCoverageReasonV1, ...FinancialEvidenceCoverageReasonV1[]];
|
|
9
|
-
generationId?: string;
|
|
10
|
-
completeThrough?: string;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Generation-bound, non-monetary qualification of one subscription's financial
|
|
14
|
-
* evidence. It can explain or restrict confidence, but never supplies or
|
|
15
|
-
* overrides a Financial Authority amount.
|
|
16
|
-
*/
|
|
17
|
-
export interface FinancialEvidenceCoverageProjectionV1 {
|
|
18
|
-
contractVersion: typeof FINANCIAL_EVIDENCE_COVERAGE_CONTRACT_VERSION_V1;
|
|
19
|
-
provider: 'azure';
|
|
20
|
-
subscriptionId: string;
|
|
21
|
-
publicationId: string;
|
|
22
|
-
artifactGeneration: ArtifactGeneration;
|
|
23
|
-
scope: {
|
|
24
|
-
kind: 'subscription';
|
|
25
|
-
subscriptionId: string;
|
|
26
|
-
};
|
|
27
|
-
state: FinancialEvidenceCoverageStateV1;
|
|
28
|
-
reasons: [FinancialEvidenceCoverageReasonV1, ...FinancialEvidenceCoverageReasonV1[]];
|
|
29
|
-
sources: {
|
|
30
|
-
capabilityPassport: FinancialEvidenceCoverageSourceV1;
|
|
31
|
-
billingDependency: FinancialEvidenceCoverageSourceV1;
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
/** Exact dependency-free validator for the API/UI coverage boundary. */
|
|
35
|
-
export declare const isFinancialEvidenceCoverageProjectionV1: (value: unknown) => value is FinancialEvidenceCoverageProjectionV1;
|
|
36
|
-
//# sourceMappingURL=financialEvidenceCoverage.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"financialEvidenceCoverage.d.ts","sourceRoot":"","sources":["../../src/azure/financialEvidenceCoverage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,eAAO,MAAM,+CAA+C,EAAG,gCAAyC,CAAC;AAEzG,MAAM,MAAM,gCAAgC,GAAG,UAAU,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,aAAa,GAAG,SAAS,CAAC;AAExH,eAAO,MAAM,sCAAsC,2mBAoBzC,CAAC;AAEX,MAAM,MAAM,iCAAiC,GAAG,CAAC,OAAO,sCAAsC,CAAC,CAAC,MAAM,CAAC,CAAC;AAExG,MAAM,WAAW,iCAAiC;IAChD,KAAK,EAAE,gCAAgC,CAAC;IACxC,OAAO,EAAE,CAAC,iCAAiC,EAAE,GAAG,iCAAiC,EAAE,CAAC,CAAC;IACrF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;GAIG;AACH,MAAM,WAAW,qCAAqC;IACpD,eAAe,EAAE,OAAO,+CAA+C,CAAC;IACxE,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,KAAK,EAAE;QAAE,IAAI,EAAE,cAAc,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC;IACxD,KAAK,EAAE,gCAAgC,CAAC;IACxC,OAAO,EAAE,CAAC,iCAAiC,EAAE,GAAG,iCAAiC,EAAE,CAAC,CAAC;IACrF,OAAO,EAAE;QACP,kBAAkB,EAAE,iCAAiC,CAAC;QACtD,iBAAiB,EAAE,iCAAiC,CAAC;KACtD,CAAC;CACH;AA2CD,wEAAwE;AACxE,eAAO,MAAM,uCAAuC,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,qCA4DjF,CAAC"}
|
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isFinancialEvidenceCoverageProjectionV1 = exports.FINANCIAL_EVIDENCE_COVERAGE_REASONS_V1 = exports.FINANCIAL_EVIDENCE_COVERAGE_CONTRACT_VERSION_V1 = void 0;
|
|
4
|
-
exports.FINANCIAL_EVIDENCE_COVERAGE_CONTRACT_VERSION_V1 = 'financial-evidence-coverage/v1';
|
|
5
|
-
exports.FINANCIAL_EVIDENCE_COVERAGE_REASONS_V1 = [
|
|
6
|
-
'coverage-complete',
|
|
7
|
-
'capability-passport-missing',
|
|
8
|
-
'capability-passport-invalid',
|
|
9
|
-
'capability-passport-ownership-mismatch',
|
|
10
|
-
'capability-passport-read-failed',
|
|
11
|
-
'billing-capability-partial',
|
|
12
|
-
'billing-capability-stale',
|
|
13
|
-
'billing-capability-missing',
|
|
14
|
-
'billing-capability-unavailable',
|
|
15
|
-
'billing-capability-unknown',
|
|
16
|
-
'billing-dependency-partial',
|
|
17
|
-
'billing-dependency-stale',
|
|
18
|
-
'billing-dependency-missing',
|
|
19
|
-
'billing-dependency-unavailable',
|
|
20
|
-
'billing-dependency-unverified',
|
|
21
|
-
'billing-dependency-wrong-generation',
|
|
22
|
-
'subscription-coverage-missing',
|
|
23
|
-
'subscription-coverage-invalid',
|
|
24
|
-
'filtered-scope-coverage-unproven',
|
|
25
|
-
];
|
|
26
|
-
const STATES = new Set(['complete', 'partial', 'stale', 'missing', 'unavailable', 'unknown']);
|
|
27
|
-
const STATE_PRIORITY = {
|
|
28
|
-
complete: 0,
|
|
29
|
-
partial: 1,
|
|
30
|
-
stale: 2,
|
|
31
|
-
unknown: 3,
|
|
32
|
-
missing: 4,
|
|
33
|
-
unavailable: 5,
|
|
34
|
-
};
|
|
35
|
-
const REASONS = new Set(exports.FINANCIAL_EVIDENCE_COVERAGE_REASONS_V1);
|
|
36
|
-
const ISO_TIMESTAMP_PATTERN = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{3})?Z$/;
|
|
37
|
-
const isRecord = (value) => typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
38
|
-
const hasExactFields = (value, required, optional = []) => {
|
|
39
|
-
const allowed = new Set([...required, ...optional]);
|
|
40
|
-
return required.every(field => Object.prototype.hasOwnProperty.call(value, field)) && Object.keys(value).every(field => allowed.has(field));
|
|
41
|
-
};
|
|
42
|
-
const isNonEmptyString = (value) => typeof value === 'string' && value.trim() === value && value.length > 0;
|
|
43
|
-
const isCanonicalTimestamp = (value) => typeof value === 'string' &&
|
|
44
|
-
ISO_TIMESTAMP_PATTERN.test(value) &&
|
|
45
|
-
Number.isFinite(Date.parse(value)) &&
|
|
46
|
-
new Date(Date.parse(value)).toISOString() === value;
|
|
47
|
-
const isReasonList = (value) => Array.isArray(value) && value.length > 0 && new Set(value).size === value.length && value.every(reason => typeof reason === 'string' && REASONS.has(reason));
|
|
48
|
-
const isSource = (value) => {
|
|
49
|
-
if (!isRecord(value) || !hasExactFields(value, ['state', 'reasons'], ['generationId', 'completeThrough']))
|
|
50
|
-
return false;
|
|
51
|
-
if (typeof value.state !== 'string' || !STATES.has(value.state) || !isReasonList(value.reasons))
|
|
52
|
-
return false;
|
|
53
|
-
if (value.state === 'complete' ? value.reasons.length !== 1 || value.reasons[0] !== 'coverage-complete' : value.reasons.includes('coverage-complete')) {
|
|
54
|
-
return false;
|
|
55
|
-
}
|
|
56
|
-
if (value.generationId !== undefined && !isNonEmptyString(value.generationId))
|
|
57
|
-
return false;
|
|
58
|
-
return value.completeThrough === undefined || isCanonicalTimestamp(value.completeThrough);
|
|
59
|
-
};
|
|
60
|
-
/** Exact dependency-free validator for the API/UI coverage boundary. */
|
|
61
|
-
const isFinancialEvidenceCoverageProjectionV1 = (value) => {
|
|
62
|
-
if (!isRecord(value) ||
|
|
63
|
-
!hasExactFields(value, [
|
|
64
|
-
'contractVersion',
|
|
65
|
-
'provider',
|
|
66
|
-
'subscriptionId',
|
|
67
|
-
'publicationId',
|
|
68
|
-
'artifactGeneration',
|
|
69
|
-
'scope',
|
|
70
|
-
'state',
|
|
71
|
-
'reasons',
|
|
72
|
-
'sources',
|
|
73
|
-
]) ||
|
|
74
|
-
value.contractVersion !== exports.FINANCIAL_EVIDENCE_COVERAGE_CONTRACT_VERSION_V1 ||
|
|
75
|
-
value.provider !== 'azure' ||
|
|
76
|
-
!isNonEmptyString(value.subscriptionId) ||
|
|
77
|
-
!isNonEmptyString(value.publicationId) ||
|
|
78
|
-
typeof value.state !== 'string' ||
|
|
79
|
-
!STATES.has(value.state) ||
|
|
80
|
-
!isReasonList(value.reasons)) {
|
|
81
|
-
return false;
|
|
82
|
-
}
|
|
83
|
-
if (!isRecord(value.artifactGeneration) ||
|
|
84
|
-
!hasExactFields(value.artifactGeneration, ['runId', 'generatedAt']) ||
|
|
85
|
-
!isNonEmptyString(value.artifactGeneration.runId) ||
|
|
86
|
-
!isCanonicalTimestamp(value.artifactGeneration.generatedAt)) {
|
|
87
|
-
return false;
|
|
88
|
-
}
|
|
89
|
-
if (!isRecord(value.scope) ||
|
|
90
|
-
!hasExactFields(value.scope, ['kind', 'subscriptionId']) ||
|
|
91
|
-
value.scope.kind !== 'subscription' ||
|
|
92
|
-
value.scope.subscriptionId !== value.subscriptionId) {
|
|
93
|
-
return false;
|
|
94
|
-
}
|
|
95
|
-
if (!isRecord(value.sources) ||
|
|
96
|
-
!hasExactFields(value.sources, ['capabilityPassport', 'billingDependency']) ||
|
|
97
|
-
!isSource(value.sources.capabilityPassport) ||
|
|
98
|
-
!isSource(value.sources.billingDependency)) {
|
|
99
|
-
return false;
|
|
100
|
-
}
|
|
101
|
-
const sources = [value.sources.capabilityPassport, value.sources.billingDependency];
|
|
102
|
-
const expectedState = sources.reduce((current, candidate) => (STATE_PRIORITY[candidate.state] > STATE_PRIORITY[current] ? candidate.state : current), 'complete');
|
|
103
|
-
if (value.state !== expectedState)
|
|
104
|
-
return false;
|
|
105
|
-
const expectedReasons = new Set(expectedState === 'complete'
|
|
106
|
-
? ['coverage-complete']
|
|
107
|
-
: sources.flatMap(candidate => candidate.reasons).filter(reason => reason !== 'coverage-complete'));
|
|
108
|
-
return expectedReasons.size === value.reasons.length && value.reasons.every(reason => expectedReasons.has(reason));
|
|
109
|
-
};
|
|
110
|
-
exports.isFinancialEvidenceCoverageProjectionV1 = isFinancialEvidenceCoverageProjectionV1;
|
|
111
|
-
//# sourceMappingURL=financialEvidenceCoverage.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"financialEvidenceCoverage.js","sourceRoot":"","sources":["../../src/azure/financialEvidenceCoverage.ts"],"names":[],"mappings":";;;AAEa,QAAA,+CAA+C,GAAG,gCAAyC,CAAC;AAI5F,QAAA,sCAAsC,GAAG;IACpD,mBAAmB;IACnB,6BAA6B;IAC7B,6BAA6B;IAC7B,wCAAwC;IACxC,iCAAiC;IACjC,4BAA4B;IAC5B,0BAA0B;IAC1B,4BAA4B;IAC5B,gCAAgC;IAChC,4BAA4B;IAC5B,4BAA4B;IAC5B,0BAA0B;IAC1B,4BAA4B;IAC5B,gCAAgC;IAChC,+BAA+B;IAC/B,qCAAqC;IACrC,+BAA+B;IAC/B,+BAA+B;IAC/B,kCAAkC;CAC1B,CAAC;AA+BX,MAAM,MAAM,GAAG,IAAI,GAAG,CAAS,CAAC,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC,CAAC;AACtG,MAAM,cAAc,GAAqD;IACvE,QAAQ,EAAE,CAAC;IACX,OAAO,EAAE,CAAC;IACV,KAAK,EAAE,CAAC;IACR,OAAO,EAAE,CAAC;IACV,OAAO,EAAE,CAAC;IACV,WAAW,EAAE,CAAC;CACf,CAAC;AACF,MAAM,OAAO,GAAG,IAAI,GAAG,CAAS,8CAAsC,CAAC,CAAC;AACxE,MAAM,qBAAqB,GAAG,oDAAoD,CAAC;AAEnF,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAoC,EAAE,CACpE,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAEvE,MAAM,cAAc,GAAG,CAAC,KAA8B,EAAE,QAA2B,EAAE,WAA8B,EAAE,EAAW,EAAE;IAChI,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC;IACpD,OAAO,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AAC9I,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,KAAc,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;AAEtI,MAAM,oBAAoB,GAAG,CAAC,KAAc,EAAmB,EAAE,CAC/D,OAAO,KAAK,KAAK,QAAQ;IACzB,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC;IACjC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAClC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC;AAEtD,MAAM,YAAY,GAAG,CAAC,KAAc,EAAwF,EAAE,CAC5H,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AAE/J,MAAM,QAAQ,GAAG,CAAC,KAAc,EAA8C,EAAE;IAC9E,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACxH,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9G,IAAI,KAAK,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACtJ,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,YAAY,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5F,OAAO,KAAK,CAAC,eAAe,KAAK,SAAS,IAAI,oBAAoB,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;AAC5F,CAAC,CAAC;AAEF,wEAAwE;AACjE,MAAM,uCAAuC,GAAG,CAAC,KAAc,EAAkD,EAAE;IACxH,IACE,CAAC,QAAQ,CAAC,KAAK,CAAC;QAChB,CAAC,cAAc,CAAC,KAAK,EAAE;YACrB,iBAAiB;YACjB,UAAU;YACV,gBAAgB;YAChB,eAAe;YACf,oBAAoB;YACpB,OAAO;YACP,OAAO;YACP,SAAS;YACT,SAAS;SACV,CAAC;QACF,KAAK,CAAC,eAAe,KAAK,uDAA+C;QACzE,KAAK,CAAC,QAAQ,KAAK,OAAO;QAC1B,CAAC,gBAAgB,CAAC,KAAK,CAAC,cAAc,CAAC;QACvC,CAAC,gBAAgB,CAAC,KAAK,CAAC,aAAa,CAAC;QACtC,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;QAC/B,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC;QACxB,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,EAC5B,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IACE,CAAC,QAAQ,CAAC,KAAK,CAAC,kBAAkB,CAAC;QACnC,CAAC,cAAc,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QACnE,CAAC,gBAAgB,CAAC,KAAK,CAAC,kBAAkB,CAAC,KAAK,CAAC;QACjD,CAAC,oBAAoB,CAAC,KAAK,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAC3D,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IACE,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;QACtB,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;QACxD,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,cAAc;QACnC,KAAK,CAAC,KAAK,CAAC,cAAc,KAAK,KAAK,CAAC,cAAc,EACnD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IACE,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC;QACxB,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,oBAAoB,EAAE,mBAAmB,CAAC,CAAC;QAC3E,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC;QAC3C,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAC1C,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,kBAAkB,EAAE,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACpF,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAClC,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,EAC/G,UAAU,CACX,CAAC;IACF,IAAI,KAAK,CAAC,KAAK,KAAK,aAAa;QAAE,OAAO,KAAK,CAAC;IAChD,MAAM,eAAe,GAAG,IAAI,GAAG,CAC7B,aAAa,KAAK,UAAU;QAC1B,CAAC,CAAC,CAAC,mBAA4B,CAAC;QAChC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,KAAK,mBAAmB,CAAC,CACrG,CAAC;IACF,OAAO,eAAe,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AACrH,CAAC,CAAC;AA5DW,QAAA,uCAAuC,2CA4DlD"}
|