@spottoai/types-package 1.0.2-dev1138.1 → 1.0.2-dev1138.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. package/dist/azure/financialAnalytics.d.ts +80 -8
  2. package/dist/azure/financialAnalytics.d.ts.map +1 -1
  3. package/dist/azure/financialAnalyticsDelivery.d.ts +72 -3
  4. package/dist/azure/financialAnalyticsDelivery.d.ts.map +1 -1
  5. package/dist/azure/financialAnalyticsDelivery.js +7 -1
  6. package/dist/azure/financialAnalyticsDelivery.js.map +1 -1
  7. package/dist/azure/financialAnalyticsDeliveryValidation.d.ts +9 -1
  8. package/dist/azure/financialAnalyticsDeliveryValidation.d.ts.map +1 -1
  9. package/dist/azure/financialAnalyticsDeliveryValidation.js +190 -10
  10. package/dist/azure/financialAnalyticsDeliveryValidation.js.map +1 -1
  11. package/dist/azure/financialAnalyticsDisplayKernel.d.ts +12 -0
  12. package/dist/azure/financialAnalyticsDisplayKernel.d.ts.map +1 -0
  13. package/dist/azure/financialAnalyticsDisplayKernel.js +144 -0
  14. package/dist/azure/financialAnalyticsDisplayKernel.js.map +1 -0
  15. package/dist/azure/financialAnalyticsValidation.d.ts.map +1 -1
  16. package/dist/azure/financialAnalyticsValidation.js +101 -19
  17. package/dist/azure/financialAnalyticsValidation.js.map +1 -1
  18. package/dist/azure/financialAuthorityView.d.ts +4 -0
  19. package/dist/azure/financialAuthorityView.d.ts.map +1 -1
  20. package/dist/azure/financialAuthorityView.js.map +1 -1
  21. package/dist/azure/financialAuthorityViewValidation.d.ts.map +1 -1
  22. package/dist/azure/financialAuthorityViewValidation.js +39 -0
  23. package/dist/azure/financialAuthorityViewValidation.js.map +1 -1
  24. package/dist/azure/financialChargeComposition.d.ts +81 -0
  25. package/dist/azure/financialChargeComposition.d.ts.map +1 -0
  26. package/dist/azure/financialChargeComposition.js +41 -0
  27. package/dist/azure/financialChargeComposition.js.map +1 -0
  28. package/dist/azure/financialChargeCompositionKernel.d.ts +3 -0
  29. package/dist/azure/financialChargeCompositionKernel.d.ts.map +1 -0
  30. package/dist/azure/financialChargeCompositionKernel.js +49 -0
  31. package/dist/azure/financialChargeCompositionKernel.js.map +1 -0
  32. package/dist/azure/financialChargeCompositionValidation.d.ts +8 -0
  33. package/dist/azure/financialChargeCompositionValidation.d.ts.map +1 -0
  34. package/dist/azure/financialChargeCompositionValidation.js +164 -0
  35. package/dist/azure/financialChargeCompositionValidation.js.map +1 -0
  36. package/dist/azure/financialDataflow.d.ts +45 -2
  37. package/dist/azure/financialDataflow.d.ts.map +1 -1
  38. package/dist/azure/financialDataflow.js.map +1 -1
  39. package/dist/azure/financialDataflowKernel.d.ts +31 -0
  40. package/dist/azure/financialDataflowKernel.d.ts.map +1 -0
  41. package/dist/azure/financialDataflowKernel.js +169 -0
  42. package/dist/azure/financialDataflowKernel.js.map +1 -0
  43. package/dist/azure/financialDataflowValidation.d.ts +5 -2
  44. package/dist/azure/financialDataflowValidation.d.ts.map +1 -1
  45. package/dist/azure/financialDataflowValidation.js +203 -30
  46. package/dist/azure/financialDataflowValidation.js.map +1 -1
  47. package/dist/azure/financialEvidenceAssessmentValidation.d.ts.map +1 -1
  48. package/dist/azure/financialEvidenceAssessmentValidation.js +7 -0
  49. package/dist/azure/financialEvidenceAssessmentValidation.js.map +1 -1
  50. package/dist/azure/financialPolicy.d.ts +19 -3
  51. package/dist/azure/financialPolicy.d.ts.map +1 -1
  52. package/dist/azure/financialPolicy.js.map +1 -1
  53. package/dist/azure/financialPolicyDelivery.d.ts +75 -1
  54. package/dist/azure/financialPolicyDelivery.d.ts.map +1 -1
  55. package/dist/azure/financialPolicyDelivery.js +5 -1
  56. package/dist/azure/financialPolicyDelivery.js.map +1 -1
  57. package/dist/azure/financialPolicyDeliveryValidation.d.ts +16 -2
  58. package/dist/azure/financialPolicyDeliveryValidation.d.ts.map +1 -1
  59. package/dist/azure/financialPolicyDeliveryValidation.js +238 -5
  60. package/dist/azure/financialPolicyDeliveryValidation.js.map +1 -1
  61. package/dist/azure/financialPolicyKernel.d.ts +38 -0
  62. package/dist/azure/financialPolicyKernel.d.ts.map +1 -0
  63. package/dist/azure/financialPolicyKernel.js +232 -0
  64. package/dist/azure/financialPolicyKernel.js.map +1 -0
  65. package/dist/azure/financialPolicyValidation.d.ts +1 -0
  66. package/dist/azure/financialPolicyValidation.d.ts.map +1 -1
  67. package/dist/azure/financialPolicyValidation.js +111 -16
  68. package/dist/azure/financialPolicyValidation.js.map +1 -1
  69. package/dist/azure/financialSavingsAuthority.d.ts +29 -0
  70. package/dist/azure/financialSavingsAuthority.d.ts.map +1 -1
  71. package/dist/azure/financialSavingsAuthority.js +2 -1
  72. package/dist/azure/financialSavingsAuthority.js.map +1 -1
  73. package/dist/azure/financialSavingsAuthorityValidation.d.ts.map +1 -1
  74. package/dist/azure/financialSavingsAuthorityValidation.js +3 -0
  75. package/dist/azure/financialSavingsAuthorityValidation.js.map +1 -1
  76. package/dist/azure/financialSavingsCoordinateValidation.d.ts.map +1 -1
  77. package/dist/azure/financialSavingsCoordinateValidation.js +36 -0
  78. package/dist/azure/financialSavingsCoordinateValidation.js.map +1 -1
  79. package/dist/azure/financialScope.d.ts +6 -0
  80. package/dist/azure/financialScope.d.ts.map +1 -1
  81. package/dist/azure/financialScope.js +6 -0
  82. package/dist/azure/financialScope.js.map +1 -1
  83. package/dist/azure/financialScopeBaseline.d.ts +8 -2
  84. package/dist/azure/financialScopeBaseline.d.ts.map +1 -1
  85. package/dist/azure/financialScopeBaseline.js +14 -1
  86. package/dist/azure/financialScopeBaseline.js.map +1 -1
  87. package/dist/azure/financialScopeBaselineValidation.d.ts.map +1 -1
  88. package/dist/azure/financialScopeBaselineValidation.js +15 -1
  89. package/dist/azure/financialScopeBaselineValidation.js.map +1 -1
  90. package/dist/azure/financialScopeEvidence.d.ts +1 -1
  91. package/dist/azure/financialScopeEvidence.d.ts.map +1 -1
  92. package/dist/azure/metrics.d.ts +2 -2
  93. package/dist/azure/metrics.d.ts.map +1 -1
  94. package/dist/azure/prices.d.ts +16 -3
  95. package/dist/azure/prices.d.ts.map +1 -1
  96. package/dist/azure/recommendations.d.ts +12 -4
  97. package/dist/azure/recommendations.d.ts.map +1 -1
  98. package/dist/azure/reports.d.ts +3 -2
  99. package/dist/azure/reports.d.ts.map +1 -1
  100. package/dist/azure/reports.js.map +1 -1
  101. package/dist/azure/resources.d.ts +12 -0
  102. package/dist/azure/resources.d.ts.map +1 -1
  103. package/dist/azure/subscriptions.d.ts +4 -2
  104. package/dist/azure/subscriptions.d.ts.map +1 -1
  105. package/dist/azure/views.d.ts +21 -5
  106. package/dist/azure/views.d.ts.map +1 -1
  107. package/dist/azure/views.js.map +1 -1
  108. package/dist/esm/azure/financialAnalyticsDelivery.js +5 -0
  109. package/dist/esm/azure/financialAnalyticsDeliveryValidation.js +184 -11
  110. package/dist/esm/azure/financialAnalyticsDisplayKernel.js +139 -0
  111. package/dist/esm/azure/financialAnalyticsValidation.js +101 -19
  112. package/dist/esm/azure/financialAuthorityViewValidation.js +39 -0
  113. package/dist/esm/azure/financialChargeComposition.js +36 -0
  114. package/dist/esm/azure/financialChargeCompositionKernel.js +44 -0
  115. package/dist/esm/azure/financialChargeCompositionValidation.js +155 -0
  116. package/dist/esm/azure/financialDataflowKernel.js +163 -0
  117. package/dist/esm/azure/financialDataflowValidation.js +199 -29
  118. package/dist/esm/azure/financialEvidenceAssessmentValidation.js +7 -0
  119. package/dist/esm/azure/financialPolicyDelivery.js +4 -0
  120. package/dist/esm/azure/financialPolicyDeliveryValidation.js +227 -7
  121. package/dist/esm/azure/financialPolicyKernel.js +225 -0
  122. package/dist/esm/azure/financialPolicyValidation.js +110 -16
  123. package/dist/esm/azure/financialSavingsAuthority.js +1 -0
  124. package/dist/esm/azure/financialSavingsAuthorityValidation.js +3 -0
  125. package/dist/esm/azure/financialSavingsCoordinateValidation.js +36 -0
  126. package/dist/esm/azure/financialScope.js +6 -0
  127. package/dist/esm/azure/financialScopeBaseline.js +12 -0
  128. package/dist/esm/azure/financialScopeBaselineValidation.js +15 -1
  129. package/dist/events/cost.d.ts +4 -0
  130. package/dist/events/cost.d.ts.map +1 -1
  131. package/package.json +3 -2
@@ -0,0 +1,232 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.evaluateFinancialPolicyV1 = exports.selectFinancialBudgetComparableCurrentAmountV1 = exports.classifyFinancialBudgetPositionV1 = exports.FINANCIAL_POLICY_ALGORITHM_VERSION_V1 = void 0;
4
+ const exactDecimal_1 = require("../common/exactDecimal");
5
+ const financialDataflowValidation_1 = require("./financialDataflowValidation");
6
+ const financialPolicy_1 = require("./financialPolicy");
7
+ const financialPolicyValidation_1 = require("./financialPolicyValidation");
8
+ exports.FINANCIAL_POLICY_ALGORITHM_VERSION_V1 = 'financial-policy/shared-v1';
9
+ const compare = (left, right) => {
10
+ const difference = (0, exactDecimal_1.subtractExactDecimalValues)((0, exactDecimal_1.parseCanonicalDecimal)(left), (0, exactDecimal_1.parseCanonicalDecimal)(right)).coefficient;
11
+ return difference < 0n ? -1 : difference > 0n ? 1 : 0;
12
+ };
13
+ const percentageMatched = (amount, denominator, threshold) => {
14
+ const parsedDenominator = (0, exactDecimal_1.parseCanonicalDecimal)(denominator);
15
+ if (parsedDenominator.coefficient <= 0n)
16
+ return false;
17
+ const left = (0, exactDecimal_1.multiplyExactDecimalValues)((0, exactDecimal_1.parseCanonicalDecimal)(amount), (0, exactDecimal_1.parseCanonicalDecimal)('100'));
18
+ const right = (0, exactDecimal_1.multiplyExactDecimalValues)(parsedDenominator, (0, exactDecimal_1.parseCanonicalDecimal)(threshold));
19
+ return (0, exactDecimal_1.subtractExactDecimalValues)(left, right).coefficient >= 0n;
20
+ };
21
+ /**
22
+ * Shared exact-decimal display classification for Budget surfaces. This is a
23
+ * read-model policy only; alert matching continues to use the thresholds in a
24
+ * versioned Financial Policy Definition.
25
+ */
26
+ const classifyFinancialBudgetPositionV1 = (request) => {
27
+ if (request.budgetAmount === undefined)
28
+ return { status: 'unbudgeted' };
29
+ if (request.amount === undefined)
30
+ return { status: 'unavailable' };
31
+ try {
32
+ const atRiskPercent = request.atRiskPercent ?? '95';
33
+ const amount = (0, exactDecimal_1.parseCanonicalDecimal)(request.amount);
34
+ const budget = (0, exactDecimal_1.parseCanonicalDecimal)(request.budgetAmount);
35
+ const risk = (0, exactDecimal_1.parseCanonicalDecimal)(atRiskPercent);
36
+ if (budget.coefficient <= 0n || risk.coefficient < 0n || compare(atRiskPercent, '100') > 0) {
37
+ return { status: 'unbudgeted' };
38
+ }
39
+ const varianceAmount = (0, exactDecimal_1.formatExactDecimalValue)((0, exactDecimal_1.subtractExactDecimalValues)(amount, budget));
40
+ const status = compare(request.amount, request.budgetAmount) > 0
41
+ ? 'over-budget'
42
+ : percentageMatched(request.amount, request.budgetAmount, atRiskPercent)
43
+ ? 'at-risk'
44
+ : 'on-track';
45
+ return {
46
+ status,
47
+ varianceAmount,
48
+ amount: request.amount,
49
+ budgetAmount: request.budgetAmount,
50
+ atRiskPercent,
51
+ };
52
+ }
53
+ catch {
54
+ return { status: 'unavailable' };
55
+ }
56
+ };
57
+ exports.classifyFinancialBudgetPositionV1 = classifyFinancialBudgetPositionV1;
58
+ const isExpectedCalendarMonthTargetPartial = (composition) => composition.coordinate.period.windowKind === 'calendar-month' &&
59
+ composition.amount.status === 'partial' &&
60
+ composition.amount.reasonCodes.length === 1 &&
61
+ composition.amount.reasonCodes[0] === 'coverage-incomplete';
62
+ /**
63
+ * Returns the exact current amount that Budget semantics may compare. An open
64
+ * calendar month is intentionally partial until the period closes; every
65
+ * other partial/unavailable state remains non-comparable.
66
+ */
67
+ const selectFinancialBudgetComparableCurrentAmountV1 = (composition) => composition.amount.status === 'available'
68
+ ? composition.amount.amount
69
+ : isExpectedCalendarMonthTargetPartial(composition)
70
+ ? composition.amount.knownAmount
71
+ : undefined;
72
+ exports.selectFinancialBudgetComparableCurrentAmountV1 = selectFinancialBudgetComparableCurrentAmountV1;
73
+ const budgetThresholds = (amount, budget, thresholds) => [
74
+ ...thresholds.amounts
75
+ .filter(threshold => compare(amount, threshold) >= 0)
76
+ .map(configuredValue => ({ thresholdKind: 'amount', configuredValue })),
77
+ ...thresholds.percents
78
+ .filter(threshold => percentageMatched(amount, budget, threshold))
79
+ .map(configuredValue => ({ thresholdKind: 'percent', configuredValue })),
80
+ ];
81
+ const anomalyThresholds = (definition, projection) => {
82
+ if (definition.criteria.kind !== 'cost-anomaly' || projection.status === 'unavailable' || projection.result.kind !== 'anomaly')
83
+ return [];
84
+ const configured = [
85
+ ...(definition.criteria.minimumAmount === undefined
86
+ ? []
87
+ : [{ thresholdKind: 'minimum-amount', configuredValue: definition.criteria.minimumAmount }]),
88
+ ...(definition.criteria.minimumDelta === undefined
89
+ ? []
90
+ : [{ thresholdKind: 'minimum-delta', configuredValue: definition.criteria.minimumDelta }]),
91
+ ...(definition.criteria.minimumPercentChange === undefined
92
+ ? []
93
+ : [{ thresholdKind: 'minimum-percent-change', configuredValue: definition.criteria.minimumPercentChange }]),
94
+ ];
95
+ return projection.result.events.some(event => configured.every(threshold => {
96
+ if (threshold.thresholdKind === 'minimum-amount')
97
+ return compare(event.observed.amount, threshold.configuredValue) >= 0;
98
+ if (threshold.thresholdKind === 'minimum-delta')
99
+ return compare(event.delta.amount, threshold.configuredValue) >= 0;
100
+ return percentageMatched(event.delta.amount, event.expected.amount, threshold.configuredValue);
101
+ }))
102
+ ? configured
103
+ : [];
104
+ };
105
+ const materialize = (identity, definition, currentSpend, analytics) => {
106
+ const evaluationId = (0, financialPolicyValidation_1.createFinancialPolicyEvaluationIdV1)(identity);
107
+ const evaluation = {
108
+ ...identity,
109
+ evaluationId,
110
+ readProjectionId: (0, financialPolicyValidation_1.createFinancialPolicyEvaluationReadProjectionIdV1)(evaluationId),
111
+ actionAuditId: (0, financialPolicyValidation_1.createFinancialPolicyEvaluationActionAuditIdV1)(evaluationId),
112
+ };
113
+ if (!(0, financialPolicyValidation_1.isFinancialPolicyEvaluationCompatibleV1)(evaluation, definition, currentSpend, analytics)) {
114
+ throw new TypeError('Financial policy evaluation does not bind its definition and exact financial inputs.');
115
+ }
116
+ return evaluation;
117
+ };
118
+ const evaluateFinancialPolicyV1 = (request) => {
119
+ if (request.definition.effectiveState !== 'enabled')
120
+ return [];
121
+ const common = {
122
+ schemaVersion: 1,
123
+ contractVersion: financialPolicy_1.FINANCIAL_POLICY_EVALUATION_CONTRACT_VERSION_V1,
124
+ companyId: request.definition.companyId,
125
+ policyDefinitionRevisionId: request.definition.policyDefinitionRevisionId,
126
+ definitionId: request.definition.definitionId,
127
+ definitionRevision: request.definition.revision,
128
+ coordinateId: (0, financialDataflowValidation_1.createFinancialDataflowCoordinateIdV1)(request.currentSpend.coordinate),
129
+ currentSpendCompositionId: request.currentSpend.compositionId,
130
+ evaluatedAt: request.evaluatedAt,
131
+ policyAlgorithmVersion: exports.FINANCIAL_POLICY_ALGORITHM_VERSION_V1,
132
+ };
133
+ if (request.definition.criteria.kind === 'budget') {
134
+ const evaluations = [];
135
+ const currentThresholds = request.definition.criteria.currentSpendThresholds;
136
+ if (currentThresholds) {
137
+ const expectedOpenCalendarMonth = isExpectedCalendarMonthTargetPartial(request.currentSpend);
138
+ const comparableCurrentAmount = (0, exports.selectFinancialBudgetComparableCurrentAmountV1)(request.currentSpend);
139
+ const matched = comparableCurrentAmount === undefined
140
+ ? []
141
+ : budgetThresholds(comparableCurrentAmount, request.definition.criteria.budget.amount, currentThresholds);
142
+ const unavailable = request.currentSpend.amount.status === 'unavailable';
143
+ const partial = request.currentSpend.amount.status === 'partial' && !expectedOpenCalendarMonth;
144
+ evaluations.push(materialize({
145
+ ...common,
146
+ signalKind: 'budget-current-spend',
147
+ result: unavailable ? 'unavailable' : partial ? 'partial' : matched.length > 0 ? 'matched' : 'not-matched',
148
+ reasonCode: unavailable
149
+ ? 'current-spend-unavailable'
150
+ : partial
151
+ ? 'current-spend-partial'
152
+ : expectedOpenCalendarMonth && matched.length > 0
153
+ ? 'current-spend-threshold-matched-open-period'
154
+ : expectedOpenCalendarMonth
155
+ ? 'current-spend-threshold-not-matched-open-period'
156
+ : matched.length > 0
157
+ ? 'current-spend-threshold-matched'
158
+ : 'current-spend-threshold-not-matched',
159
+ matchedThresholds: matched,
160
+ }, request.definition, request.currentSpend));
161
+ }
162
+ const forecastThresholds = request.definition.criteria.forecastThresholds;
163
+ if (forecastThresholds) {
164
+ const projection = request.analytics?.forecast;
165
+ if (!projection) {
166
+ evaluations.push(materialize({
167
+ ...common,
168
+ signalKind: 'budget-forecast',
169
+ result: 'unavailable',
170
+ reasonCode: 'analytics-projection-unavailable',
171
+ matchedThresholds: [],
172
+ }, request.definition, request.currentSpend));
173
+ }
174
+ else {
175
+ const unavailable = projection.status === 'unavailable' || request.currentSpend.amount.status === 'unavailable';
176
+ const partial = projection.status === 'partial' ||
177
+ (request.currentSpend.amount.status === 'partial' && !isExpectedCalendarMonthTargetPartial(request.currentSpend));
178
+ const matched = !unavailable && !partial && projection.result.kind === 'forecast'
179
+ ? budgetThresholds(projection.result.projectedTotal.amount, request.definition.criteria.budget.amount, forecastThresholds)
180
+ : [];
181
+ evaluations.push(materialize({
182
+ ...common,
183
+ analyticsProjectionId: projection.analyticsProjectionId,
184
+ signalKind: 'budget-forecast',
185
+ result: unavailable ? 'unavailable' : partial ? 'partial' : matched.length > 0 ? 'matched' : 'not-matched',
186
+ reasonCode: unavailable
187
+ ? 'forecast-unavailable'
188
+ : partial
189
+ ? 'forecast-partial'
190
+ : matched.length > 0
191
+ ? 'forecast-threshold-matched'
192
+ : 'forecast-threshold-not-matched',
193
+ matchedThresholds: matched,
194
+ }, request.definition, request.currentSpend, projection));
195
+ }
196
+ }
197
+ return evaluations;
198
+ }
199
+ const projection = request.analytics?.anomaly;
200
+ if (!projection) {
201
+ return [
202
+ materialize({
203
+ ...common,
204
+ signalKind: 'cost-anomaly',
205
+ result: 'unavailable',
206
+ reasonCode: 'analytics-projection-unavailable',
207
+ matchedThresholds: [],
208
+ }, request.definition, request.currentSpend),
209
+ ];
210
+ }
211
+ const unavailable = projection.status === 'unavailable' || request.currentSpend.amount.status === 'unavailable';
212
+ const partial = projection.status === 'partial' || request.currentSpend.amount.status === 'partial';
213
+ const matched = unavailable || partial ? [] : anomalyThresholds(request.definition, projection);
214
+ return [
215
+ materialize({
216
+ ...common,
217
+ analyticsProjectionId: projection.analyticsProjectionId,
218
+ signalKind: 'cost-anomaly',
219
+ result: unavailable ? 'unavailable' : partial ? 'partial' : matched.length > 0 ? 'matched' : 'not-matched',
220
+ reasonCode: unavailable
221
+ ? 'anomaly-unavailable'
222
+ : partial
223
+ ? 'anomaly-partial'
224
+ : matched.length > 0
225
+ ? 'anomaly-threshold-matched'
226
+ : 'anomaly-threshold-not-matched',
227
+ matchedThresholds: matched,
228
+ }, request.definition, request.currentSpend, projection),
229
+ ];
230
+ };
231
+ exports.evaluateFinancialPolicyV1 = evaluateFinancialPolicyV1;
232
+ //# sourceMappingURL=financialPolicyKernel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"financialPolicyKernel.js","sourceRoot":"","sources":["../../src/azure/financialPolicyKernel.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { type FinancialPolicyDefinitionRevisionIdentityPreimageV1, type FinancialPolicyDefinitionRevisionV1, type FinancialPolicyEvaluationIdentityPreimageV1, type FinancialPolicyEvaluationV1 } from './financialPolicy';
2
+ export declare const isFinancialPolicyDefinitionRevisionIdentityPreimageV1: (value: unknown) => value is FinancialPolicyDefinitionRevisionIdentityPreimageV1;
2
3
  export declare const canonicalizeFinancialPolicyDefinitionRevisionIdentityV1: (value: FinancialPolicyDefinitionRevisionIdentityPreimageV1) => string;
3
4
  export declare const createFinancialPolicyDefinitionRevisionIdV1: (value: FinancialPolicyDefinitionRevisionIdentityPreimageV1) => string;
4
5
  export declare const isFinancialPolicyDefinitionRevisionV1: (value: unknown) => value is FinancialPolicyDefinitionRevisionV1;
@@ -1 +1 @@
1
- {"version":3,"file":"financialPolicyValidation.d.ts","sourceRoot":"","sources":["../../src/azure/financialPolicyValidation.ts"],"names":[],"mappings":"AAGA,OAAO,EAGL,KAAK,mDAAmD,EACxD,KAAK,mCAAmC,EACxC,KAAK,2CAA2C,EAChD,KAAK,2BAA2B,EACjC,MAAM,mBAAmB,CAAC;AA8J3B,eAAO,MAAM,uDAAuD,GAAI,OAAO,mDAAmD,KAAG,MAmCpI,CAAC;AAEF,eAAO,MAAM,2CAA2C,GAAI,OAAO,mDAAmD,KAAG,MACjC,CAAC;AAEzF,eAAO,MAAM,qCAAqC,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,mCAa/E,CAAC;AA2DF,eAAO,MAAM,+CAA+C,GAAI,OAAO,2CAA2C,KAAG,MAUpH,CAAC;AAEF,eAAO,MAAM,mCAAmC,GAAI,OAAO,2CAA2C,KAAG,MACzB,CAAC;AAEjF,eAAO,MAAM,iDAAiD,GAAI,cAAc,MAAM,KAAG,MAGxF,CAAC;AAEF,eAAO,MAAM,8CAA8C,GAAI,cAAc,MAAM,KAAG,MAGrF,CAAC;AAEF,eAAO,MAAM,6BAA6B,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,2BAsCvE,CAAC;AAqFF,+FAA+F;AAC/F,eAAO,MAAM,uCAAuC,GAClD,YAAY,OAAO,EACnB,YAAY,OAAO,EACnB,yBAAyB,OAAO,EAChC,sBAAsB,OAAO,KAC5B,OA2IF,CAAC"}
1
+ {"version":3,"file":"financialPolicyValidation.d.ts","sourceRoot":"","sources":["../../src/azure/financialPolicyValidation.ts"],"names":[],"mappings":"AAIA,OAAO,EAKL,KAAK,mDAAmD,EACxD,KAAK,mCAAmC,EACxC,KAAK,2CAA2C,EAChD,KAAK,2BAA2B,EAEjC,MAAM,mBAAmB,CAAC;AA4J3B,eAAO,MAAM,qDAAqD,GAChE,OAAO,OAAO,KACb,KAAK,IAAI,mDA0DX,CAAC;AAEF,eAAO,MAAM,uDAAuD,GAAI,OAAO,mDAAmD,KAAG,MAmCpI,CAAC;AAEF,eAAO,MAAM,2CAA2C,GAAI,OAAO,mDAAmD,KAAG,MACjC,CAAC;AAEzF,eAAO,MAAM,qCAAqC,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,mCAa/E,CAAC;AA6DF,eAAO,MAAM,+CAA+C,GAAI,OAAO,2CAA2C,KAAG,MAUpH,CAAC;AAEF,eAAO,MAAM,mCAAmC,GAAI,OAAO,2CAA2C,KAAG,MACzB,CAAC;AAEjF,eAAO,MAAM,iDAAiD,GAAI,cAAc,MAAM,KAAG,MAGxF,CAAC;AAEF,eAAO,MAAM,8CAA8C,GAAI,cAAc,MAAM,KAAG,MAGrF,CAAC;AAEF,eAAO,MAAM,6BAA6B,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,2BAsCvE,CAAC;AA2FF,+FAA+F;AAC/F,eAAO,MAAM,uCAAuC,GAClD,YAAY,OAAO,EACnB,YAAY,OAAO,EACnB,yBAAyB,OAAO,EAChC,sBAAsB,OAAO,KAC5B,OAqLF,CAAC"}
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isFinancialPolicyEvaluationCompatibleV1 = exports.isFinancialPolicyEvaluationV1 = exports.createFinancialPolicyEvaluationActionAuditIdV1 = exports.createFinancialPolicyEvaluationReadProjectionIdV1 = exports.createFinancialPolicyEvaluationIdV1 = exports.canonicalizeFinancialPolicyEvaluationIdentityV1 = exports.isFinancialPolicyDefinitionRevisionV1 = exports.createFinancialPolicyDefinitionRevisionIdV1 = exports.canonicalizeFinancialPolicyDefinitionRevisionIdentityV1 = void 0;
3
+ exports.isFinancialPolicyEvaluationCompatibleV1 = exports.isFinancialPolicyEvaluationV1 = exports.createFinancialPolicyEvaluationActionAuditIdV1 = exports.createFinancialPolicyEvaluationReadProjectionIdV1 = exports.createFinancialPolicyEvaluationIdV1 = exports.canonicalizeFinancialPolicyEvaluationIdentityV1 = exports.isFinancialPolicyDefinitionRevisionV1 = exports.createFinancialPolicyDefinitionRevisionIdV1 = exports.canonicalizeFinancialPolicyDefinitionRevisionIdentityV1 = exports.isFinancialPolicyDefinitionRevisionIdentityPreimageV1 = void 0;
4
4
  const exactDecimal_1 = require("../common/exactDecimal");
5
5
  const sha256_1 = require("../common/sha256");
6
6
  const financialValidationPrimitives_1 = require("./financialValidationPrimitives");
7
+ const financialChargeCompositionValidation_1 = require("./financialChargeCompositionValidation");
7
8
  const financialPolicy_1 = require("./financialPolicy");
8
9
  const financialDataflowValidation_1 = require("./financialDataflowValidation");
9
10
  const financialDataflowValidation_2 = require("./financialDataflowValidation");
@@ -13,6 +14,12 @@ const ESTIMATE_LENSES = new Set(['billing-only', 'include-estimates', 'estimates
13
14
  const MATCHED_THRESHOLD_KINDS = new Set(['amount', 'percent', 'minimum-amount', 'minimum-delta', 'minimum-percent-change']);
14
15
  const MAX_THRESHOLDS = 64;
15
16
  const MAX_DESTINATIONS = 256;
17
+ const isCanonicalPolicyRevision = (value) => {
18
+ if (typeof value !== 'string' || !/^[1-9]\d*$/.test(value))
19
+ return false;
20
+ const parsed = Number(value);
21
+ return Number.isSafeInteger(parsed) && String(parsed) === value;
22
+ };
16
23
  const isCanonicalDecimal = (value) => typeof value === 'string' && (0, financialValidationPrimitives_1.isCanonicalExactMoney)({ amount: value, currencyCode: 'AUD' });
17
24
  const isNonNegativeDecimal = (value) => {
18
25
  if (!isCanonicalDecimal(value))
@@ -49,28 +56,63 @@ const isThresholdSet = (value) => {
49
56
  }
50
57
  return new Set(value.amounts).size === value.amounts.length && new Set(value.percents).size === value.percents.length;
51
58
  };
59
+ const isScopeSelectorBoundToProviderAccounts = (selector, providerAccountRefs) => {
60
+ if (!(0, financialDataflowValidation_1.isFinancialDataflowScopeSelectorV1)(selector) || !Array.isArray(providerAccountRefs))
61
+ return false;
62
+ const providerSubscriptions = providerAccountRefs.map(value => {
63
+ if (typeof value !== 'string' || !value.toLowerCase().startsWith('azure-subscription:'))
64
+ return undefined;
65
+ const subscriptionId = value.slice('azure-subscription:'.length).trim().toLowerCase();
66
+ return subscriptionId || undefined;
67
+ });
68
+ if (providerSubscriptions.some(value => value === undefined))
69
+ return false;
70
+ const authorized = new Set(providerSubscriptions);
71
+ if (selector.kind === 'subscription' || selector.kind === 'multi-subscription') {
72
+ const selected = selector.subscriptionIds.map(value => value.trim().toLowerCase());
73
+ return selected.length === authorized.size && selected.every(value => authorized.has(value));
74
+ }
75
+ if (selector.kind === 'tag-scope')
76
+ return true;
77
+ const ids = selector.kind === 'resource' ? selector.resourceIds : selector.resourceGroupIds;
78
+ return ids.every(value => {
79
+ const match = /^\/subscriptions\/([^/]+)(?:\/|$)/i.exec(value.trim());
80
+ return match?.[1] !== undefined && authorized.has(match[1].toLowerCase());
81
+ });
82
+ };
52
83
  const isCoordinateRequest = (value, companyId) => (0, financialDataflowValidation_1.isFinancialDataflowRecordV1)(value) &&
53
84
  (0, financialDataflowValidation_1.hasFinancialDataflowExactFieldsV1)(value, [
54
85
  'provider',
55
86
  'providerAccountRefs',
56
87
  'scope',
88
+ 'scopeSelector',
57
89
  'period',
58
90
  'costBasis',
59
91
  'estimateLens',
92
+ 'chargeInclusionPolicyRef',
60
93
  'requiredAccountingCurrencyCode',
61
94
  ]) &&
62
95
  value.provider === 'azure' &&
63
96
  (0, financialDataflowValidation_1.isFinancialDataflowSortedUniqueStringsV1)(value.providerAccountRefs, financialDataflowValidation_1.FINANCIAL_DATAFLOW_LIMITS_V1.maximumProviderAccounts) &&
64
97
  value.providerAccountRefs.length > 0 &&
65
- (0, financialDataflowValidation_1.isFinancialDataflowScopeV1)(value.scope) &&
98
+ (0, financialDataflowValidation_1.isFinancialDataflowRecordV1)(value.scope) &&
99
+ (0, financialDataflowValidation_1.hasFinancialDataflowExactFieldsV1)(value.scope, ['kind', 'scopeId']) &&
100
+ ['resource', 'resource-group', 'subscription', 'tag-scope', 'multi-subscription'].includes(String(value.scope.kind)) &&
101
+ (0, financialDataflowValidation_1.isFinancialDataflowIdentityV1)(value.scope.scopeId) &&
102
+ (0, financialDataflowValidation_1.isFinancialDataflowScopeSelectorV1)(value.scopeSelector) &&
103
+ value.scopeSelector.kind === value.scope.kind &&
104
+ isScopeSelectorBoundToProviderAccounts(value.scopeSelector, value.providerAccountRefs) &&
66
105
  (0, financialDataflowValidation_1.isFinancialDataflowRecordV1)(value.period) &&
67
- (0, financialDataflowValidation_1.hasFinancialDataflowExactFieldsV1)(value.period, ['kind', 'timeZone']) &&
106
+ (0, financialDataflowValidation_1.hasFinancialDataflowExactFieldsV1)(value.period, ['kind', 'dateBasis'], ['timeZone']) &&
68
107
  (value.period.kind === 'calendar-month' || value.period.kind === 'rolling-30-days') &&
69
- (0, financialDataflowValidation_1.isFinancialDataflowIdentityV1)(value.period.timeZone) &&
108
+ (value.period.dateBasis === 'utc'
109
+ ? value.period.timeZone === undefined
110
+ : value.period.dateBasis === 'company-local' && (0, financialDataflowValidation_1.isFinancialDataflowIdentityV1)(value.period.timeZone)) &&
70
111
  typeof value.costBasis === 'string' &&
71
112
  COST_BASES.has(value.costBasis) &&
72
113
  typeof value.estimateLens === 'string' &&
73
114
  ESTIMATE_LENSES.has(value.estimateLens) &&
115
+ (0, financialChargeCompositionValidation_1.isFinancialChargeInclusionPolicyRefV1)(value.chargeInclusionPolicyRef) &&
74
116
  (0, financialDataflowValidation_1.isFinancialDataflowCurrencyV1)(value.requiredAccountingCurrencyCode) &&
75
117
  (0, financialDataflowValidation_1.isFinancialDataflowIdentityV1)(companyId);
76
118
  const isCriteria = (value, currencyCode) => {
@@ -92,13 +134,14 @@ const isCriteria = (value, currencyCode) => {
92
134
  (value.minimumDelta === undefined || isNonNegativeDecimal(value.minimumDelta)) &&
93
135
  (value.minimumPercentChange === undefined || isNonNegativeDecimal(value.minimumPercentChange)));
94
136
  };
95
- const isDefinitionIdentity = (value) => {
137
+ const isFinancialPolicyDefinitionRevisionIdentityPreimageV1 = (value) => {
96
138
  if (!(0, financialDataflowValidation_1.isFinancialDataflowRecordV1)(value) ||
97
139
  !(0, financialDataflowValidation_1.hasFinancialDataflowExactFieldsV1)(value, [
98
140
  'schemaVersion',
99
141
  'contractVersion',
100
142
  'companyId',
101
143
  'definitionId',
144
+ 'displayName',
102
145
  'revision',
103
146
  'effectiveState',
104
147
  'coordinateRequest',
@@ -113,7 +156,8 @@ const isDefinitionIdentity = (value) => {
113
156
  value.contractVersion !== financialPolicy_1.FINANCIAL_POLICY_DEFINITION_CONTRACT_VERSION_V1 ||
114
157
  !(0, financialDataflowValidation_1.isFinancialDataflowIdentityV1)(value.companyId) ||
115
158
  !(0, financialDataflowValidation_1.isFinancialDataflowIdentityV1)(value.definitionId) ||
116
- !(0, financialDataflowValidation_1.isFinancialDataflowIdentityV1)(value.revision) ||
159
+ !(0, financialDataflowValidation_1.isFinancialDataflowIdentityV1)(value.displayName) ||
160
+ !isCanonicalPolicyRevision(value.revision) ||
117
161
  !['enabled', 'disabled', 'deleted'].includes(String(value.effectiveState)) ||
118
162
  !isCoordinateRequest(value.coordinateRequest, value.companyId) ||
119
163
  !(0, financialDataflowValidation_1.isFinancialDataflowRecordV1)(value.coordinateRequest) ||
@@ -129,10 +173,23 @@ const isDefinitionIdentity = (value) => {
129
173
  !(0, financialDataflowValidation_1.isFinancialDataflowIdentityV1)(value.authoredByUserId)) {
130
174
  return false;
131
175
  }
132
- return value.effectiveState !== 'enabled' || value.destinationRefIds.length > 0;
176
+ if (value.criteria.kind === 'budget' &&
177
+ value.criteria.forecastThresholds !== undefined &&
178
+ (value.coordinateRequest.period.kind !== 'calendar-month' || value.coordinateRequest.estimateLens !== 'billing-only')) {
179
+ return false;
180
+ }
181
+ if (value.criteria.kind === 'cost-anomaly' &&
182
+ (value.coordinateRequest.period.kind !== 'rolling-30-days' || value.coordinateRequest.estimateLens !== 'billing-only')) {
183
+ return false;
184
+ }
185
+ // Alert Instance state is the canonical internal policy side effect.
186
+ // External destinations are optional and must not determine whether an
187
+ // enabled policy is valid or evaluable.
188
+ return true;
133
189
  };
190
+ exports.isFinancialPolicyDefinitionRevisionIdentityPreimageV1 = isFinancialPolicyDefinitionRevisionIdentityPreimageV1;
134
191
  const canonicalizeFinancialPolicyDefinitionRevisionIdentityV1 = (value) => {
135
- if (!(0, financialDataflowValidation_1.isFinancialDataflowValueWithinLimitsV1)(value) || !isDefinitionIdentity(value)) {
192
+ if (!(0, financialDataflowValidation_1.isFinancialDataflowValueWithinLimitsV1)(value) || !(0, exports.isFinancialPolicyDefinitionRevisionIdentityPreimageV1)(value)) {
136
193
  throw new TypeError('Invalid FinancialPolicyDefinitionRevisionIdentityPreimageV1.');
137
194
  }
138
195
  const criteria = value.criteria.kind === 'budget'
@@ -176,7 +233,7 @@ const isFinancialPolicyDefinitionRevisionV1 = (value) => {
176
233
  return false;
177
234
  const { policyDefinitionRevisionId, ...identity } = value;
178
235
  return ((0, financialDataflowValidation_1.isFinancialDataflowHashV1)(policyDefinitionRevisionId) &&
179
- isDefinitionIdentity(identity) &&
236
+ (0, exports.isFinancialPolicyDefinitionRevisionIdentityPreimageV1)(identity) &&
180
237
  policyDefinitionRevisionId === (0, exports.createFinancialPolicyDefinitionRevisionIdV1)(identity));
181
238
  };
182
239
  exports.isFinancialPolicyDefinitionRevisionV1 = isFinancialPolicyDefinitionRevisionV1;
@@ -222,8 +279,12 @@ const isEvaluationIdentity = (value) => {
222
279
  !isMatchedThresholds(value.matchedThresholds)) {
223
280
  return false;
224
281
  }
225
- const analyticsRequired = value.signalKind === 'budget-forecast' || value.signalKind === 'cost-anomaly';
226
- return analyticsRequired ? (0, financialDataflowValidation_1.isFinancialDataflowHashV1)(value.analyticsProjectionId) : value.analyticsProjectionId === undefined;
282
+ const analyticsSignal = value.signalKind === 'budget-forecast' || value.signalKind === 'cost-anomaly';
283
+ if (!analyticsSignal)
284
+ return value.analyticsProjectionId === undefined;
285
+ if (value.result !== 'unavailable')
286
+ return (0, financialDataflowValidation_1.isFinancialDataflowHashV1)(value.analyticsProjectionId);
287
+ return value.analyticsProjectionId === undefined || (0, financialDataflowValidation_1.isFinancialDataflowHashV1)(value.analyticsProjectionId);
227
288
  };
228
289
  const canonicalizeFinancialPolicyEvaluationIdentityV1 = (value) => {
229
290
  if (!(0, financialDataflowValidation_1.isFinancialDataflowValueWithinLimitsV1)(value) || !isEvaluationIdentity(value)) {
@@ -343,6 +404,10 @@ const safeAnomalyMatchedThresholds = (definition, analyticsProjection) => {
343
404
  return undefined;
344
405
  }
345
406
  };
407
+ const isExpectedCalendarMonthTargetPartial = (composition) => composition.coordinate.period.windowKind === 'calendar-month' &&
408
+ composition.amount.status === 'partial' &&
409
+ composition.amount.reasonCodes.length === 1 &&
410
+ composition.amount.reasonCodes[0] === 'coverage-incomplete';
346
411
  /** Validates definition, coordinate, financial input, and signal links after authorization. */
347
412
  const isFinancialPolicyEvaluationCompatibleV1 = (evaluation, definition, currentSpendComposition, analyticsProjection) => {
348
413
  if (!(0, exports.isFinancialPolicyEvaluationV1)(evaluation) ||
@@ -366,13 +431,17 @@ const isFinancialPolicyEvaluationCompatibleV1 = (evaluation, definition, current
366
431
  !sameStrings(request.providerAccountRefs, coordinate.providerAccountRefs) ||
367
432
  request.scope.kind !== coordinate.scope.kind ||
368
433
  request.scope.scopeId !== coordinate.scope.scopeId ||
369
- request.scope.scopeFingerprint !== coordinate.scope.scopeFingerprint ||
370
434
  request.costBasis !== coordinate.costBasis ||
371
435
  request.estimateLens !== coordinate.estimateLens ||
372
- request.requiredAccountingCurrencyCode !== currency ||
436
+ (0, financialDataflowValidation_1.canonicalizeFinancialDataflowJsonV1)(request.chargeInclusionPolicyRef) !==
437
+ (0, financialDataflowValidation_1.canonicalizeFinancialDataflowJsonV1)(coordinate.chargeInclusionPolicyRef) ||
373
438
  coordinate.requestedCurrencyCode !== request.requiredAccountingCurrencyCode ||
439
+ (currency === undefined
440
+ ? currentSpendComposition.amount.status !== 'unavailable'
441
+ : request.requiredAccountingCurrencyCode !== currency) ||
374
442
  request.period.kind !== coordinate.period.windowKind ||
375
- request.period.timeZone !== periodTimeZone) {
443
+ request.period.dateBasis !== coordinate.period.requested.dateBasis ||
444
+ (request.period.dateBasis === 'company-local' && request.period.timeZone !== periodTimeZone)) {
376
445
  return false;
377
446
  }
378
447
  if (evaluation.result === 'matched' ? evaluation.matchedThresholds.length === 0 : evaluation.matchedThresholds.length > 0)
@@ -414,7 +483,16 @@ const isFinancialPolicyEvaluationCompatibleV1 = (evaluation, definition, current
414
483
  return evaluation.result === 'unavailable' && evaluation.matchedThresholds.length === 0;
415
484
  }
416
485
  if (currentSpendComposition.amount.status === 'partial') {
417
- return evaluation.result === 'partial' && evaluation.matchedThresholds.length === 0;
486
+ if (!isExpectedCalendarMonthTargetPartial(currentSpendComposition)) {
487
+ return evaluation.result === 'partial' && evaluation.matchedThresholds.length === 0;
488
+ }
489
+ if (definition.criteria.kind !== 'budget' || definition.criteria.currentSpendThresholds === undefined)
490
+ return false;
491
+ const expectedThresholds = safeBudgetMatchedThresholds(currentSpendComposition.amount.knownAmount, definition.criteria.budget.amount, definition.criteria.currentSpendThresholds);
492
+ if (expectedThresholds === undefined)
493
+ return false;
494
+ return (evaluation.result === (expectedThresholds.length > 0 ? 'matched' : 'not-matched') &&
495
+ hasExactMatchedThresholds(evaluation.matchedThresholds, expectedThresholds));
418
496
  }
419
497
  if (definition.criteria.kind !== 'budget' || definition.criteria.currentSpendThresholds === undefined)
420
498
  return false;
@@ -424,6 +502,12 @@ const isFinancialPolicyEvaluationCompatibleV1 = (evaluation, definition, current
424
502
  return (evaluation.result === (expectedThresholds.length > 0 ? 'matched' : 'not-matched') &&
425
503
  hasExactMatchedThresholds(evaluation.matchedThresholds, expectedThresholds));
426
504
  }
505
+ if (evaluation.result === 'unavailable' &&
506
+ evaluation.analyticsProjectionId === undefined &&
507
+ analyticsProjection === undefined &&
508
+ (evaluation.signalKind === 'budget-forecast' || evaluation.signalKind === 'cost-anomaly')) {
509
+ return evaluation.matchedThresholds.length === 0 && evaluation.reasonCode === 'analytics-projection-unavailable';
510
+ }
427
511
  if (!(0, financialAnalyticsValidation_1.isFinancialAnalyticsProjectionV1)(analyticsProjection) ||
428
512
  evaluation.analyticsProjectionId !== analyticsProjection.analyticsProjectionId ||
429
513
  analyticsProjection.coordinate.companyId !== coordinate.companyId ||
@@ -440,10 +524,21 @@ const isFinancialPolicyEvaluationCompatibleV1 = (evaluation, definition, current
440
524
  const actualAnalyticsKind = analyticsProjection.status === 'unavailable' ? analyticsProjection.resultKind : analyticsProjection.result.kind;
441
525
  if (actualAnalyticsKind !== expectedAnalyticsKind)
442
526
  return false;
527
+ if (analyticsProjection.currentSpendCompositionId !== undefined &&
528
+ analyticsProjection.currentSpendCompositionId !== currentSpendComposition.compositionId) {
529
+ return false;
530
+ }
531
+ if (evaluation.signalKind === 'budget-forecast' &&
532
+ analyticsProjection.status !== 'unavailable' &&
533
+ analyticsProjection.currentSpendCompositionId !== currentSpendComposition.compositionId) {
534
+ return false;
535
+ }
443
536
  if (currentSpendComposition.amount.status === 'unavailable' || analyticsProjection.status === 'unavailable') {
444
537
  return evaluation.result === 'unavailable' && evaluation.matchedThresholds.length === 0;
445
538
  }
446
- if (currentSpendComposition.amount.status === 'partial' || analyticsProjection.status === 'partial') {
539
+ if (analyticsProjection.status === 'partial' ||
540
+ (currentSpendComposition.amount.status === 'partial' &&
541
+ !(evaluation.signalKind === 'budget-forecast' && isExpectedCalendarMonthTargetPartial(currentSpendComposition)))) {
447
542
  return evaluation.result === 'partial' && evaluation.matchedThresholds.length === 0;
448
543
  }
449
544
  if (evaluation.result !== 'matched' && evaluation.result !== 'not-matched')
@@ -1 +1 @@
1
- {"version":3,"file":"financialPolicyValidation.js","sourceRoot":"","sources":["../../src/azure/financialPolicyValidation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"financialPolicyValidation.js","sourceRoot":"","sources":["../../src/azure/financialPolicyValidation.ts"],"names":[],"mappings":"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"}