@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
@@ -1,8 +1,9 @@
1
1
  import { multiplyExactDecimalValues, parseCanonicalDecimal, subtractExactDecimalValues } from '../common/exactDecimal.js';
2
2
  import { sha256Utf8 } from '../common/sha256.js';
3
3
  import { isCanonicalExactMoney } from './financialValidationPrimitives.js';
4
+ import { isFinancialChargeInclusionPolicyRefV1 } from './financialChargeCompositionValidation.js';
4
5
  import { FINANCIAL_POLICY_DEFINITION_CONTRACT_VERSION_V1, FINANCIAL_POLICY_EVALUATION_CONTRACT_VERSION_V1, } from './financialPolicy.js';
5
- import { FINANCIAL_DATAFLOW_LIMITS_V1, canonicalizeFinancialDataflowJsonV1, canonicalizeFinancialDataflowCoordinateV1, hasFinancialDataflowExactFieldsV1, isFinancialDataflowCurrencyV1, createFinancialDataflowCoordinateIdV1, isFinancialDataflowHashV1, isFinancialDataflowIdentityV1, isFinancialDataflowIsoInstantV1, isFinancialDataflowRecordV1, isFinancialDataflowScopeV1, isFinancialDataflowSortedUniqueStringsV1, isFinancialDataflowValueWithinLimitsV1, } from './financialDataflowValidation.js';
6
+ import { FINANCIAL_DATAFLOW_LIMITS_V1, canonicalizeFinancialDataflowJsonV1, canonicalizeFinancialDataflowCoordinateV1, hasFinancialDataflowExactFieldsV1, isFinancialDataflowCurrencyV1, createFinancialDataflowCoordinateIdV1, isFinancialDataflowHashV1, isFinancialDataflowIdentityV1, isFinancialDataflowIsoInstantV1, isFinancialDataflowRecordV1, isFinancialDataflowScopeSelectorV1, isFinancialDataflowSortedUniqueStringsV1, isFinancialDataflowValueWithinLimitsV1, } from './financialDataflowValidation.js';
6
7
  import { isCurrentSpendCompositionV1 } from './financialDataflowValidation.js';
7
8
  import { isFinancialAnalyticsProjectionV1 } from './financialAnalyticsValidation.js';
8
9
  const COST_BASES = new Set(['billed', 'amortized']);
@@ -10,6 +11,12 @@ const ESTIMATE_LENSES = new Set(['billing-only', 'include-estimates', 'estimates
10
11
  const MATCHED_THRESHOLD_KINDS = new Set(['amount', 'percent', 'minimum-amount', 'minimum-delta', 'minimum-percent-change']);
11
12
  const MAX_THRESHOLDS = 64;
12
13
  const MAX_DESTINATIONS = 256;
14
+ const isCanonicalPolicyRevision = (value) => {
15
+ if (typeof value !== 'string' || !/^[1-9]\d*$/.test(value))
16
+ return false;
17
+ const parsed = Number(value);
18
+ return Number.isSafeInteger(parsed) && String(parsed) === value;
19
+ };
13
20
  const isCanonicalDecimal = (value) => typeof value === 'string' && isCanonicalExactMoney({ amount: value, currencyCode: 'AUD' });
14
21
  const isNonNegativeDecimal = (value) => {
15
22
  if (!isCanonicalDecimal(value))
@@ -46,28 +53,63 @@ const isThresholdSet = (value) => {
46
53
  }
47
54
  return new Set(value.amounts).size === value.amounts.length && new Set(value.percents).size === value.percents.length;
48
55
  };
56
+ const isScopeSelectorBoundToProviderAccounts = (selector, providerAccountRefs) => {
57
+ if (!isFinancialDataflowScopeSelectorV1(selector) || !Array.isArray(providerAccountRefs))
58
+ return false;
59
+ const providerSubscriptions = providerAccountRefs.map(value => {
60
+ if (typeof value !== 'string' || !value.toLowerCase().startsWith('azure-subscription:'))
61
+ return undefined;
62
+ const subscriptionId = value.slice('azure-subscription:'.length).trim().toLowerCase();
63
+ return subscriptionId || undefined;
64
+ });
65
+ if (providerSubscriptions.some(value => value === undefined))
66
+ return false;
67
+ const authorized = new Set(providerSubscriptions);
68
+ if (selector.kind === 'subscription' || selector.kind === 'multi-subscription') {
69
+ const selected = selector.subscriptionIds.map(value => value.trim().toLowerCase());
70
+ return selected.length === authorized.size && selected.every(value => authorized.has(value));
71
+ }
72
+ if (selector.kind === 'tag-scope')
73
+ return true;
74
+ const ids = selector.kind === 'resource' ? selector.resourceIds : selector.resourceGroupIds;
75
+ return ids.every(value => {
76
+ const match = /^\/subscriptions\/([^/]+)(?:\/|$)/i.exec(value.trim());
77
+ return match?.[1] !== undefined && authorized.has(match[1].toLowerCase());
78
+ });
79
+ };
49
80
  const isCoordinateRequest = (value, companyId) => isFinancialDataflowRecordV1(value) &&
50
81
  hasFinancialDataflowExactFieldsV1(value, [
51
82
  'provider',
52
83
  'providerAccountRefs',
53
84
  'scope',
85
+ 'scopeSelector',
54
86
  'period',
55
87
  'costBasis',
56
88
  'estimateLens',
89
+ 'chargeInclusionPolicyRef',
57
90
  'requiredAccountingCurrencyCode',
58
91
  ]) &&
59
92
  value.provider === 'azure' &&
60
93
  isFinancialDataflowSortedUniqueStringsV1(value.providerAccountRefs, FINANCIAL_DATAFLOW_LIMITS_V1.maximumProviderAccounts) &&
61
94
  value.providerAccountRefs.length > 0 &&
62
- isFinancialDataflowScopeV1(value.scope) &&
95
+ isFinancialDataflowRecordV1(value.scope) &&
96
+ hasFinancialDataflowExactFieldsV1(value.scope, ['kind', 'scopeId']) &&
97
+ ['resource', 'resource-group', 'subscription', 'tag-scope', 'multi-subscription'].includes(String(value.scope.kind)) &&
98
+ isFinancialDataflowIdentityV1(value.scope.scopeId) &&
99
+ isFinancialDataflowScopeSelectorV1(value.scopeSelector) &&
100
+ value.scopeSelector.kind === value.scope.kind &&
101
+ isScopeSelectorBoundToProviderAccounts(value.scopeSelector, value.providerAccountRefs) &&
63
102
  isFinancialDataflowRecordV1(value.period) &&
64
- hasFinancialDataflowExactFieldsV1(value.period, ['kind', 'timeZone']) &&
103
+ hasFinancialDataflowExactFieldsV1(value.period, ['kind', 'dateBasis'], ['timeZone']) &&
65
104
  (value.period.kind === 'calendar-month' || value.period.kind === 'rolling-30-days') &&
66
- isFinancialDataflowIdentityV1(value.period.timeZone) &&
105
+ (value.period.dateBasis === 'utc'
106
+ ? value.period.timeZone === undefined
107
+ : value.period.dateBasis === 'company-local' && isFinancialDataflowIdentityV1(value.period.timeZone)) &&
67
108
  typeof value.costBasis === 'string' &&
68
109
  COST_BASES.has(value.costBasis) &&
69
110
  typeof value.estimateLens === 'string' &&
70
111
  ESTIMATE_LENSES.has(value.estimateLens) &&
112
+ isFinancialChargeInclusionPolicyRefV1(value.chargeInclusionPolicyRef) &&
71
113
  isFinancialDataflowCurrencyV1(value.requiredAccountingCurrencyCode) &&
72
114
  isFinancialDataflowIdentityV1(companyId);
73
115
  const isCriteria = (value, currencyCode) => {
@@ -89,13 +131,14 @@ const isCriteria = (value, currencyCode) => {
89
131
  (value.minimumDelta === undefined || isNonNegativeDecimal(value.minimumDelta)) &&
90
132
  (value.minimumPercentChange === undefined || isNonNegativeDecimal(value.minimumPercentChange)));
91
133
  };
92
- const isDefinitionIdentity = (value) => {
134
+ export const isFinancialPolicyDefinitionRevisionIdentityPreimageV1 = (value) => {
93
135
  if (!isFinancialDataflowRecordV1(value) ||
94
136
  !hasFinancialDataflowExactFieldsV1(value, [
95
137
  'schemaVersion',
96
138
  'contractVersion',
97
139
  'companyId',
98
140
  'definitionId',
141
+ 'displayName',
99
142
  'revision',
100
143
  'effectiveState',
101
144
  'coordinateRequest',
@@ -110,7 +153,8 @@ const isDefinitionIdentity = (value) => {
110
153
  value.contractVersion !== FINANCIAL_POLICY_DEFINITION_CONTRACT_VERSION_V1 ||
111
154
  !isFinancialDataflowIdentityV1(value.companyId) ||
112
155
  !isFinancialDataflowIdentityV1(value.definitionId) ||
113
- !isFinancialDataflowIdentityV1(value.revision) ||
156
+ !isFinancialDataflowIdentityV1(value.displayName) ||
157
+ !isCanonicalPolicyRevision(value.revision) ||
114
158
  !['enabled', 'disabled', 'deleted'].includes(String(value.effectiveState)) ||
115
159
  !isCoordinateRequest(value.coordinateRequest, value.companyId) ||
116
160
  !isFinancialDataflowRecordV1(value.coordinateRequest) ||
@@ -126,10 +170,22 @@ const isDefinitionIdentity = (value) => {
126
170
  !isFinancialDataflowIdentityV1(value.authoredByUserId)) {
127
171
  return false;
128
172
  }
129
- return value.effectiveState !== 'enabled' || value.destinationRefIds.length > 0;
173
+ if (value.criteria.kind === 'budget' &&
174
+ value.criteria.forecastThresholds !== undefined &&
175
+ (value.coordinateRequest.period.kind !== 'calendar-month' || value.coordinateRequest.estimateLens !== 'billing-only')) {
176
+ return false;
177
+ }
178
+ if (value.criteria.kind === 'cost-anomaly' &&
179
+ (value.coordinateRequest.period.kind !== 'rolling-30-days' || value.coordinateRequest.estimateLens !== 'billing-only')) {
180
+ return false;
181
+ }
182
+ // Alert Instance state is the canonical internal policy side effect.
183
+ // External destinations are optional and must not determine whether an
184
+ // enabled policy is valid or evaluable.
185
+ return true;
130
186
  };
131
187
  export const canonicalizeFinancialPolicyDefinitionRevisionIdentityV1 = (value) => {
132
- if (!isFinancialDataflowValueWithinLimitsV1(value) || !isDefinitionIdentity(value)) {
188
+ if (!isFinancialDataflowValueWithinLimitsV1(value) || !isFinancialPolicyDefinitionRevisionIdentityPreimageV1(value)) {
133
189
  throw new TypeError('Invalid FinancialPolicyDefinitionRevisionIdentityPreimageV1.');
134
190
  }
135
191
  const criteria = value.criteria.kind === 'budget'
@@ -171,7 +227,7 @@ export const isFinancialPolicyDefinitionRevisionV1 = (value) => {
171
227
  return false;
172
228
  const { policyDefinitionRevisionId, ...identity } = value;
173
229
  return (isFinancialDataflowHashV1(policyDefinitionRevisionId) &&
174
- isDefinitionIdentity(identity) &&
230
+ isFinancialPolicyDefinitionRevisionIdentityPreimageV1(identity) &&
175
231
  policyDefinitionRevisionId === createFinancialPolicyDefinitionRevisionIdV1(identity));
176
232
  };
177
233
  const isMatchedThresholds = (value) => Array.isArray(value) &&
@@ -216,8 +272,12 @@ const isEvaluationIdentity = (value) => {
216
272
  !isMatchedThresholds(value.matchedThresholds)) {
217
273
  return false;
218
274
  }
219
- const analyticsRequired = value.signalKind === 'budget-forecast' || value.signalKind === 'cost-anomaly';
220
- return analyticsRequired ? isFinancialDataflowHashV1(value.analyticsProjectionId) : value.analyticsProjectionId === undefined;
275
+ const analyticsSignal = value.signalKind === 'budget-forecast' || value.signalKind === 'cost-anomaly';
276
+ if (!analyticsSignal)
277
+ return value.analyticsProjectionId === undefined;
278
+ if (value.result !== 'unavailable')
279
+ return isFinancialDataflowHashV1(value.analyticsProjectionId);
280
+ return value.analyticsProjectionId === undefined || isFinancialDataflowHashV1(value.analyticsProjectionId);
221
281
  };
222
282
  export const canonicalizeFinancialPolicyEvaluationIdentityV1 = (value) => {
223
283
  if (!isFinancialDataflowValueWithinLimitsV1(value) || !isEvaluationIdentity(value)) {
@@ -332,6 +392,10 @@ const safeAnomalyMatchedThresholds = (definition, analyticsProjection) => {
332
392
  return undefined;
333
393
  }
334
394
  };
395
+ const isExpectedCalendarMonthTargetPartial = (composition) => composition.coordinate.period.windowKind === 'calendar-month' &&
396
+ composition.amount.status === 'partial' &&
397
+ composition.amount.reasonCodes.length === 1 &&
398
+ composition.amount.reasonCodes[0] === 'coverage-incomplete';
335
399
  /** Validates definition, coordinate, financial input, and signal links after authorization. */
336
400
  export const isFinancialPolicyEvaluationCompatibleV1 = (evaluation, definition, currentSpendComposition, analyticsProjection) => {
337
401
  if (!isFinancialPolicyEvaluationV1(evaluation) ||
@@ -355,13 +419,17 @@ export const isFinancialPolicyEvaluationCompatibleV1 = (evaluation, definition,
355
419
  !sameStrings(request.providerAccountRefs, coordinate.providerAccountRefs) ||
356
420
  request.scope.kind !== coordinate.scope.kind ||
357
421
  request.scope.scopeId !== coordinate.scope.scopeId ||
358
- request.scope.scopeFingerprint !== coordinate.scope.scopeFingerprint ||
359
422
  request.costBasis !== coordinate.costBasis ||
360
423
  request.estimateLens !== coordinate.estimateLens ||
361
- request.requiredAccountingCurrencyCode !== currency ||
424
+ canonicalizeFinancialDataflowJsonV1(request.chargeInclusionPolicyRef) !==
425
+ canonicalizeFinancialDataflowJsonV1(coordinate.chargeInclusionPolicyRef) ||
362
426
  coordinate.requestedCurrencyCode !== request.requiredAccountingCurrencyCode ||
427
+ (currency === undefined
428
+ ? currentSpendComposition.amount.status !== 'unavailable'
429
+ : request.requiredAccountingCurrencyCode !== currency) ||
363
430
  request.period.kind !== coordinate.period.windowKind ||
364
- request.period.timeZone !== periodTimeZone) {
431
+ request.period.dateBasis !== coordinate.period.requested.dateBasis ||
432
+ (request.period.dateBasis === 'company-local' && request.period.timeZone !== periodTimeZone)) {
365
433
  return false;
366
434
  }
367
435
  if (evaluation.result === 'matched' ? evaluation.matchedThresholds.length === 0 : evaluation.matchedThresholds.length > 0)
@@ -403,7 +471,16 @@ export const isFinancialPolicyEvaluationCompatibleV1 = (evaluation, definition,
403
471
  return evaluation.result === 'unavailable' && evaluation.matchedThresholds.length === 0;
404
472
  }
405
473
  if (currentSpendComposition.amount.status === 'partial') {
406
- return evaluation.result === 'partial' && evaluation.matchedThresholds.length === 0;
474
+ if (!isExpectedCalendarMonthTargetPartial(currentSpendComposition)) {
475
+ return evaluation.result === 'partial' && evaluation.matchedThresholds.length === 0;
476
+ }
477
+ if (definition.criteria.kind !== 'budget' || definition.criteria.currentSpendThresholds === undefined)
478
+ return false;
479
+ const expectedThresholds = safeBudgetMatchedThresholds(currentSpendComposition.amount.knownAmount, definition.criteria.budget.amount, definition.criteria.currentSpendThresholds);
480
+ if (expectedThresholds === undefined)
481
+ return false;
482
+ return (evaluation.result === (expectedThresholds.length > 0 ? 'matched' : 'not-matched') &&
483
+ hasExactMatchedThresholds(evaluation.matchedThresholds, expectedThresholds));
407
484
  }
408
485
  if (definition.criteria.kind !== 'budget' || definition.criteria.currentSpendThresholds === undefined)
409
486
  return false;
@@ -413,6 +490,12 @@ export const isFinancialPolicyEvaluationCompatibleV1 = (evaluation, definition,
413
490
  return (evaluation.result === (expectedThresholds.length > 0 ? 'matched' : 'not-matched') &&
414
491
  hasExactMatchedThresholds(evaluation.matchedThresholds, expectedThresholds));
415
492
  }
493
+ if (evaluation.result === 'unavailable' &&
494
+ evaluation.analyticsProjectionId === undefined &&
495
+ analyticsProjection === undefined &&
496
+ (evaluation.signalKind === 'budget-forecast' || evaluation.signalKind === 'cost-anomaly')) {
497
+ return evaluation.matchedThresholds.length === 0 && evaluation.reasonCode === 'analytics-projection-unavailable';
498
+ }
416
499
  if (!isFinancialAnalyticsProjectionV1(analyticsProjection) ||
417
500
  evaluation.analyticsProjectionId !== analyticsProjection.analyticsProjectionId ||
418
501
  analyticsProjection.coordinate.companyId !== coordinate.companyId ||
@@ -429,10 +512,21 @@ export const isFinancialPolicyEvaluationCompatibleV1 = (evaluation, definition,
429
512
  const actualAnalyticsKind = analyticsProjection.status === 'unavailable' ? analyticsProjection.resultKind : analyticsProjection.result.kind;
430
513
  if (actualAnalyticsKind !== expectedAnalyticsKind)
431
514
  return false;
515
+ if (analyticsProjection.currentSpendCompositionId !== undefined &&
516
+ analyticsProjection.currentSpendCompositionId !== currentSpendComposition.compositionId) {
517
+ return false;
518
+ }
519
+ if (evaluation.signalKind === 'budget-forecast' &&
520
+ analyticsProjection.status !== 'unavailable' &&
521
+ analyticsProjection.currentSpendCompositionId !== currentSpendComposition.compositionId) {
522
+ return false;
523
+ }
432
524
  if (currentSpendComposition.amount.status === 'unavailable' || analyticsProjection.status === 'unavailable') {
433
525
  return evaluation.result === 'unavailable' && evaluation.matchedThresholds.length === 0;
434
526
  }
435
- if (currentSpendComposition.amount.status === 'partial' || analyticsProjection.status === 'partial') {
527
+ if (analyticsProjection.status === 'partial' ||
528
+ (currentSpendComposition.amount.status === 'partial' &&
529
+ !(evaluation.signalKind === 'budget-forecast' && isExpectedCalendarMonthTargetPartial(currentSpendComposition)))) {
436
530
  return evaluation.result === 'partial' && evaluation.matchedThresholds.length === 0;
437
531
  }
438
532
  if (evaluation.result !== 'matched' && evaluation.result !== 'not-matched')
@@ -1,4 +1,5 @@
1
1
  export const FINANCIAL_SAVINGS_AUTHORITY_SCHEMA_VERSION_V1 = 1;
2
2
  export const FINANCIAL_SAVINGS_AUTHORITY_CONTRACT_VERSION_V1 = 'financial-savings-authority/v1';
3
+ export const FINANCIAL_SAVINGS_RESOURCE_PROJECTION_CONTRACT_VERSION_V1 = 'financial-savings-resource-projection/v1';
3
4
  export const FINANCIAL_ELIGIBILITY_ASSESSMENT_SCHEMA_VERSION_V1 = 1;
4
5
  export const FINANCIAL_ELIGIBILITY_ASSESSMENT_CONTRACT_VERSION_V1 = 'financial-eligibility-assessment/v1';
@@ -39,6 +39,9 @@ export const canonicalizeFinancialSavingsAuthorityIdentityV1 = (value) => JSON.s
39
39
  resourceContributions: [...coordinate.resourceContributions]
40
40
  .sort((left, right) => left.ownerScopeId.localeCompare(right.ownerScopeId))
41
41
  .map(contribution => ({ ...contribution, allocationIds: [...contribution.allocationIds].sort() })),
42
+ recommendationContributions: [...coordinate.recommendationContributions]
43
+ .sort((left, right) => `${left.ownerScopeId}\u0000${left.recommendationId}`.localeCompare(`${right.ownerScopeId}\u0000${right.recommendationId}`))
44
+ .map(contribution => ({ ...contribution, allocationIds: [...contribution.allocationIds].sort() })),
42
45
  aggregate: { ...coordinate.aggregate, allocationIds: [...coordinate.aggregate.allocationIds].sort() },
43
46
  }),
44
47
  }));
@@ -126,6 +126,7 @@ const validateAvailableCoordinate = (value, authorityCoordinate, eligibilityById
126
126
  'activations',
127
127
  'allocations',
128
128
  'resourceContributions',
129
+ 'recommendationContributions',
129
130
  'aggregate',
130
131
  ]) ||
131
132
  !isFinancialSavingsHash(value.currentAggregateBaselineId) ||
@@ -151,6 +152,8 @@ const validateAvailableCoordinate = (value, authorityCoordinate, eligibilityById
151
152
  value.allocations.length > 20000 ||
152
153
  !Array.isArray(value.resourceContributions) ||
153
154
  value.resourceContributions.length > 20000 ||
155
+ !Array.isArray(value.recommendationContributions) ||
156
+ value.recommendationContributions.length > 20000 ||
154
157
  !isFinancialSavingsRecord(value.aggregate) ||
155
158
  !hasExactFinancialSavingsFields(value.aggregate, ['allocationIds', 'savingsMinorUnits']) ||
156
159
  !Array.isArray(value.aggregate.allocationIds) ||
@@ -307,8 +310,41 @@ const validateAvailableCoordinate = (value, authorityCoordinate, eligibilityById
307
310
  contributedAllocationIds.push(...contribution.allocationIds);
308
311
  }
309
312
  const allocationIds = [...allocationById.keys()];
313
+ const recommendationContributionAllocationIds = [];
314
+ const recommendationContributionKeys = new Set();
315
+ for (const contribution of value.recommendationContributions) {
316
+ if (!isFinancialSavingsRecord(contribution) ||
317
+ !hasExactFinancialSavingsFields(contribution, [
318
+ 'ownerScopeId',
319
+ 'recommendationId',
320
+ 'allocationIds',
321
+ 'savingsMinorUnits',
322
+ ]) ||
323
+ !isFinancialSavingsIdentity(contribution.ownerScopeId) ||
324
+ !isFinancialSavingsIdentity(contribution.recommendationId) ||
325
+ !Array.isArray(contribution.allocationIds) ||
326
+ contribution.allocationIds.length === 0 ||
327
+ contribution.allocationIds.length > 20000 ||
328
+ !contribution.allocationIds.every(isFinancialSavingsHash) ||
329
+ new Set(contribution.allocationIds).size !== contribution.allocationIds.length ||
330
+ !isFinancialSavingsMinorUnits(contribution.savingsMinorUnits))
331
+ return false;
332
+ const contributionKey = `${contribution.ownerScopeId}\u0000${contribution.recommendationId}`;
333
+ if (recommendationContributionKeys.has(contributionKey))
334
+ return false;
335
+ const allocations = contribution.allocationIds.map(id => allocationById.get(id));
336
+ if (allocations.some(allocation => !allocation ||
337
+ allocation.ownerScopeId !== contribution.ownerScopeId ||
338
+ allocation.recommendationId !== contribution.recommendationId) ||
339
+ sumFinancialSavingsMinorUnits(allocations.map(allocation => allocation.savingsMinorUnits)) !== contribution.savingsMinorUnits)
340
+ return false;
341
+ recommendationContributionKeys.add(contributionKey);
342
+ recommendationContributionAllocationIds.push(...contribution.allocationIds);
343
+ }
310
344
  return (haveSameFinancialSavingsSet(contributedAllocationIds, allocationIds) &&
311
345
  new Set(contributedAllocationIds).size === contributedAllocationIds.length &&
346
+ haveSameFinancialSavingsSet(recommendationContributionAllocationIds, allocationIds) &&
347
+ new Set(recommendationContributionAllocationIds).size === recommendationContributionAllocationIds.length &&
312
348
  haveSameFinancialSavingsSet(value.aggregate.allocationIds, allocationIds) &&
313
349
  new Set(value.aggregate.allocationIds).size === value.aggregate.allocationIds.length &&
314
350
  value.aggregate.savingsMinorUnits === sumFinancialSavingsMinorUnits(value.allocations.map(allocation => allocation.savingsMinorUnits)));
@@ -2,6 +2,9 @@ export * from './financialScopeEvidence.js';
2
2
  export * from './financialScopeBaseline.js';
3
3
  export * from './financialScopeBaselineIdentity.js';
4
4
  export * from './financialScopeBaselineValidation.js';
5
+ export * from './financialChargeComposition.js';
6
+ export * from './financialChargeCompositionValidation.js';
7
+ export * from './financialChargeCompositionKernel.js';
5
8
  export * from './financialEvidenceAssessmentValidation.js';
6
9
  export * from './financialProjection.js';
7
10
  export * from './financialProjectionValidation.js';
@@ -15,11 +18,14 @@ export * from './financialSavingsSurfaceProjection.js';
15
18
  export * from './financialSavingsSurfaceProjectionValidation.js';
16
19
  export * from './financialDataflow.js';
17
20
  export * from './financialDataflowValidation.js';
21
+ export * from './financialDataflowKernel.js';
18
22
  export * from './financialAnalytics.js';
19
23
  export * from './financialAnalyticsValidation.js';
24
+ export * from './financialAnalyticsDisplayKernel.js';
20
25
  export * from './financialAnalyticsDelivery.js';
21
26
  export * from './financialAnalyticsDeliveryValidation.js';
22
27
  export * from './financialPolicy.js';
23
28
  export * from './financialPolicyValidation.js';
29
+ export * from './financialPolicyKernel.js';
24
30
  export * from './financialPolicyDelivery.js';
25
31
  export * from './financialPolicyDeliveryValidation.js';
@@ -1,5 +1,16 @@
1
1
  export const FINANCIAL_SCOPE_BASELINE_SCHEMA_VERSION_V2 = 2;
2
2
  export const FINANCIAL_SCOPE_BASELINE_CONTRACT_VERSION_V2 = 'financial-scope-baseline/v2';
3
+ /**
4
+ * True only when the produced evidence covers the entire requested interval.
5
+ * Partial periods remain valid monetary evidence for display and forecasting,
6
+ * but must not be used as the current side of an optimization projection.
7
+ */
8
+ export const isCompleteFinancialBaselinePeriodV2 = (period) => period.observed !== undefined &&
9
+ period.observed.startDate === period.requested.startDate &&
10
+ period.observed.endDateExclusive === period.requested.endDateExclusive &&
11
+ period.observed.dateBasis === period.requested.dateBasis &&
12
+ period.observed.timeZone === period.requested.timeZone &&
13
+ period.gaps.length === 0;
3
14
  export const FINANCIAL_SCOPE_BASELINE_UNAVAILABLE_REASONS_V2 = [
4
15
  'evidence-not-produced',
5
16
  'evidence-not-matched',
@@ -15,5 +26,6 @@ export const FINANCIAL_SCOPE_BASELINE_UNAVAILABLE_REASONS_V2 = [
15
26
  'mixed-generation',
16
27
  'member-incompatible',
17
28
  'reconciliation-failure',
29
+ 'scope-membership-empty',
18
30
  'unsupported-scope',
19
31
  ];
@@ -17,6 +17,13 @@ const EVIDENCE_ROLES = new Set([
17
17
  'retail-rate',
18
18
  'commitment-quote',
19
19
  'fx-conversion',
20
+ 'commercial-arrangement',
21
+ 'provider-access-observation',
22
+ 'configuration-timeline',
23
+ 'provider-price-schedule',
24
+ 'pricing-function',
25
+ 'charge-inclusion-policy',
26
+ 'settlement-revision',
20
27
  'eligibility-rule',
21
28
  'recommendation-scenario-set',
22
29
  'recommendation-lifecycle',
@@ -35,7 +42,14 @@ const OWNER_SCOPE_KINDS = new Set(['canonical-resource-owner', 'composite-resour
35
42
  const AGGREGATE_SCOPE_KINDS = new Set(['subscription-aggregate', 'portfolio-currency-group']);
36
43
  const COST_BASES = new Set(['billed', 'amortized']);
37
44
  const ESTIMATE_LENSES = new Set(['actual-only', 'actual-plus-estimated', 'estimates-only']);
38
- const WINDOW_KINDS = new Set(['rolling-30-days', 'calendar-month', 'provider-billing-period', 'stable-billing-window', 'daily']);
45
+ const WINDOW_KINDS = new Set([
46
+ 'rolling-30-days',
47
+ 'calendar-month',
48
+ 'provider-billing-period',
49
+ 'stable-billing-window',
50
+ 'analytics-history',
51
+ 'daily',
52
+ ]);
39
53
  const SETTLEMENT_STATES = new Set(['settled', 'unsettled', 'mixed', 'unknown']);
40
54
  const CHARGE_CLASSIFICATIONS = new Set(['usage', 'purchase', 'adjustment', 'tax', 'credit', 'refund', 'residual']);
41
55
  const UNAVAILABLE_REASONS = new Set(FINANCIAL_SCOPE_BASELINE_UNAVAILABLE_REASONS_V2);
@@ -367,5 +367,9 @@ export interface CostAlertInstance extends BaseAlertInstance<CostAlertSummary, C
367
367
  summary?: CostAlertSummary;
368
368
  breakdown?: CostAlertBreakdownSummary;
369
369
  definitionSnapshot?: string;
370
+ /** Immutable Financial Policy evaluation reference for historical detail reads. */
371
+ financialPolicyEvaluationId?: string;
372
+ financialPolicyDefinitionRevisionId?: string;
373
+ financialPolicySignalKind?: 'budget-current-spend' | 'budget-forecast' | 'cost-anomaly';
370
374
  }
371
375
  //# sourceMappingURL=cost.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cost.d.ts","sourceRoot":"","sources":["../../src/events/cost.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cost.d.ts","sourceRoot":"","sources":["../../src/events/cost.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spottoai/types-package",
3
- "version": "1.0.2-dev1138.1",
3
+ "version": "1.0.2-dev1138.3",
4
4
  "description": "Shared TypeScript interfaces for SpottoAI",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -86,10 +86,11 @@
86
86
  "check:financial-projection-contracts": "node scripts/check-financial-projection-contracts.mjs",
87
87
  "check:financial-authority-view-contracts": "node scripts/check-financial-authority-view-contracts.mjs",
88
88
  "check:financial-dataflow-contracts": "node scripts/check-financial-dataflow-contracts.mjs",
89
+ "check:financial-charge-composition-contracts": "node scripts/check-financial-charge-composition-contracts.mjs",
89
90
  "check:capability-passport-contracts": "node scripts/check-capability-passport-contracts.mjs",
90
91
  "check:commitments-planning": "node scripts/check-commitments-planning.mjs",
91
92
  "prepublishOnly": "npm run clean && npm run build && npm test",
92
- "test": "npm run build && npm run check:artifact-evidence-contracts && npm run check:billing-artifact-object-boundaries && npm run check:billing-cost-analysis-read-responses && npm run check:aws-examples && npm run check:plugin-public-artifacts && npm run check:portal-public-artifacts && npm run check:relationship-public-artifacts && npm run check:azure-view-set-contracts && npm run check:dev-1135-latest-contracts && npm run check:financial-scope-baseline-contracts && npm run check:financial-projection-contracts && npm run check:financial-authority-view-contracts && npm run check:financial-dataflow-contracts && npm run check:capability-passport-contracts && npm run check:commitments-planning && npm run check:packed-exports",
93
+ "test": "npm run build && npm run check:artifact-evidence-contracts && npm run check:billing-artifact-object-boundaries && npm run check:billing-cost-analysis-read-responses && npm run check:aws-examples && npm run check:plugin-public-artifacts && npm run check:portal-public-artifacts && npm run check:relationship-public-artifacts && npm run check:azure-view-set-contracts && npm run check:dev-1135-latest-contracts && npm run check:financial-scope-baseline-contracts && npm run check:financial-projection-contracts && npm run check:financial-authority-view-contracts && npm run check:financial-charge-composition-contracts && npm run check:financial-dataflow-contracts && npm run check:capability-passport-contracts && npm run check:commitments-planning && npm run check:packed-exports",
93
94
  "lint": "eslint src --ext .ts",
94
95
  "lint:fix": "eslint src --ext .ts --fix",
95
96
  "format": "prettier --write \"src/**/*.{ts,js,json}\"",