@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,10 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isCurrentSpendCompositionCompatibleV1 = exports.isCurrentSpendCompositionV1 = exports.createCurrentSpendCompositionIdV1 = exports.canonicalizeCurrentSpendCompositionIdentityV1 = exports.createCurrentSpendMembershipDigestV1 = exports.canonicalizeCurrentSpendMembershipV1 = exports.createFinancialDataflowCoordinateIdV1 = exports.canonicalizeFinancialDataflowCoordinateV1 = exports.isFinancialDataflowCoordinateV1 = exports.isFinancialDataflowScopeV1 = exports.parseFinancialDataflowJsonV1 = exports.canonicalizeFinancialDataflowJsonV1 = exports.isFinancialDataflowSortedUniqueStringsV1 = exports.isFinancialDataflowCalendarDateV1 = exports.isFinancialDataflowIsoInstantV1 = exports.isFinancialDataflowCurrencyV1 = exports.isFinancialDataflowHashV1 = exports.isFinancialDataflowIdentityV1 = exports.isFinancialDataflowValueWithinLimitsV1 = exports.hasFinancialDataflowExactFieldsV1 = exports.isFinancialDataflowRecordV1 = exports.FINANCIAL_DATAFLOW_LIMITS_V1 = void 0;
3
+ exports.isCurrentSpendCompositionCompatibleV1 = exports.isCurrentSpendCompositionV1 = exports.createCurrentSpendCompositionIdV1 = exports.canonicalizeCurrentSpendCompositionIdentityV1 = exports.createCurrentSpendMembershipDigestV1 = exports.canonicalizeCurrentSpendMembershipV1 = exports.createFinancialDataflowCoordinateIdV1 = exports.canonicalizeFinancialDataflowCoordinateV1 = exports.isFinancialDataflowCoordinateV1 = exports.isFinancialDataflowScopeSelectorV1 = exports.isFinancialDataflowPeriodV1 = exports.isFinancialDataflowScopeV1 = exports.parseFinancialDataflowJsonV1 = exports.canonicalizeFinancialDataflowJsonV1 = exports.isFinancialDataflowSortedUniqueStringsV1 = exports.isFinancialDataflowCalendarDateV1 = exports.isFinancialDataflowJsonGzipArtifactDescriptorV1 = exports.isFinancialDataflowIsoInstantV1 = exports.isFinancialDataflowCurrencyV1 = exports.isFinancialDataflowHashV1 = exports.isFinancialDataflowIdentityV1 = exports.isFinancialDataflowValueWithinLimitsV1 = exports.hasFinancialDataflowExactFieldsV1 = exports.isFinancialDataflowRecordV1 = exports.FINANCIAL_DATAFLOW_LIMITS_V1 = void 0;
4
4
  const sha256_1 = require("../common/sha256");
5
5
  const exactDecimal_1 = require("../common/exactDecimal");
6
6
  const costComposition_1 = require("./costComposition");
7
7
  const financialValidationPrimitives_1 = require("./financialValidationPrimitives");
8
+ const financialChargeComposition_1 = require("./financialChargeComposition");
9
+ const financialChargeCompositionValidation_1 = require("./financialChargeCompositionValidation");
10
+ const financialScopeBaseline_1 = require("./financialScopeBaseline");
8
11
  const financialScopeBaselineValidation_1 = require("./financialScopeBaselineValidation");
9
12
  const financialDataflow_1 = require("./financialDataflow");
10
13
  const financialScopeBaselineValidation_2 = require("./financialScopeBaselineValidation");
@@ -151,6 +154,15 @@ const isFinancialDataflowCurrencyV1 = (value) => typeof value === 'string' && CU
151
154
  exports.isFinancialDataflowCurrencyV1 = isFinancialDataflowCurrencyV1;
152
155
  const isFinancialDataflowIsoInstantV1 = (value) => typeof value === 'string' && /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{3})?Z$/.test(value) && Number.isFinite(Date.parse(value));
153
156
  exports.isFinancialDataflowIsoInstantV1 = isFinancialDataflowIsoInstantV1;
157
+ const isFinancialDataflowJsonGzipArtifactDescriptorV1 = (value) => (0, exports.isFinancialDataflowRecordV1)(value) &&
158
+ (0, exports.hasFinancialDataflowExactFieldsV1)(value, ['path', 'sha256', 'byteCount', 'mediaType', 'contentEncoding']) &&
159
+ (0, exports.isFinancialDataflowIdentityV1)(value.path) &&
160
+ (0, exports.isFinancialDataflowHashV1)(value.sha256) &&
161
+ Number.isSafeInteger(value.byteCount) &&
162
+ Number(value.byteCount) > 0 &&
163
+ value.mediaType === 'application/json' &&
164
+ value.contentEncoding === 'gzip';
165
+ exports.isFinancialDataflowJsonGzipArtifactDescriptorV1 = isFinancialDataflowJsonGzipArtifactDescriptorV1;
154
166
  const isFinancialDataflowCalendarDateV1 = (value) => {
155
167
  if (typeof value !== 'string' || !/^\d{4}-\d{2}-\d{2}$/.test(value))
156
168
  return false;
@@ -325,9 +337,62 @@ const isFinancialDataflowScopeV1 = (value) => (0, exports.isFinancialDataflowRec
325
337
  (0, exports.isFinancialDataflowIdentityV1)(value.scopeId) &&
326
338
  (0, exports.isFinancialDataflowHashV1)(value.scopeFingerprint);
327
339
  exports.isFinancialDataflowScopeV1 = isFinancialDataflowScopeV1;
340
+ const isFinancialDataflowPeriodV1 = (value) => (0, exports.isFinancialDataflowRecordV1)(value) &&
341
+ (0, exports.hasFinancialDataflowExactFieldsV1)(value, ['windowKind', 'requested'], ['providerBillingPeriodId']) &&
342
+ (0, financialScopeBaselineValidation_2.isFinancialBaselinePeriodV2)({ ...value, coverage: [], gaps: [] });
343
+ exports.isFinancialDataflowPeriodV1 = isFinancialDataflowPeriodV1;
344
+ const isFinancialDataflowScopeSelectorV1 = (value) => {
345
+ if (!(0, exports.isFinancialDataflowRecordV1)(value) || typeof value.kind !== 'string' || !SCOPE_KINDS.has(value.kind))
346
+ return false;
347
+ if (value.kind === 'resource') {
348
+ return ((0, exports.hasFinancialDataflowExactFieldsV1)(value, ['kind', 'resourceIds']) &&
349
+ (0, exports.isFinancialDataflowSortedUniqueStringsV1)(value.resourceIds, exports.FINANCIAL_DATAFLOW_LIMITS_V1.maximumMembers) &&
350
+ value.resourceIds.length === 1);
351
+ }
352
+ if (value.kind === 'resource-group') {
353
+ return ((0, exports.hasFinancialDataflowExactFieldsV1)(value, ['kind', 'resourceGroupIds']) &&
354
+ (0, exports.isFinancialDataflowSortedUniqueStringsV1)(value.resourceGroupIds, exports.FINANCIAL_DATAFLOW_LIMITS_V1.maximumMembers) &&
355
+ value.resourceGroupIds.length === 1);
356
+ }
357
+ if (value.kind === 'subscription' || value.kind === 'multi-subscription') {
358
+ return ((0, exports.hasFinancialDataflowExactFieldsV1)(value, ['kind', 'subscriptionIds']) &&
359
+ (0, exports.isFinancialDataflowSortedUniqueStringsV1)(value.subscriptionIds, exports.FINANCIAL_DATAFLOW_LIMITS_V1.maximumProviderAccounts) &&
360
+ value.subscriptionIds.length > 0 &&
361
+ (value.kind !== 'subscription' || value.subscriptionIds.length === 1));
362
+ }
363
+ if (!(0, exports.hasFinancialDataflowExactFieldsV1)(value, ['kind', 'tags', 'tagMatch']) ||
364
+ (value.tagMatch !== 'any' && value.tagMatch !== 'all') ||
365
+ !Array.isArray(value.tags) ||
366
+ value.tags.length === 0 ||
367
+ value.tags.length > 256) {
368
+ return false;
369
+ }
370
+ const keys = value.tags.map(tag => {
371
+ if (!(0, exports.isFinancialDataflowRecordV1)(tag) ||
372
+ !(0, exports.hasFinancialDataflowExactFieldsV1)(tag, ['key', 'value']) ||
373
+ !(0, exports.isFinancialDataflowIdentityV1)(tag.key) ||
374
+ !(0, exports.isFinancialDataflowIdentityV1)(tag.value)) {
375
+ return undefined;
376
+ }
377
+ return `${tag.key}\u0000${tag.value}`;
378
+ });
379
+ return keys.every((key) => key !== undefined) && keys.every((key, index) => index === 0 || keys[index - 1] < key);
380
+ };
381
+ exports.isFinancialDataflowScopeSelectorV1 = isFinancialDataflowScopeSelectorV1;
328
382
  const isFinancialDataflowCoordinateV1 = (value) => {
329
383
  if (!(0, exports.isFinancialDataflowRecordV1)(value) ||
330
- !(0, exports.hasFinancialDataflowExactFieldsV1)(value, ['companyId', 'provider', 'providerAccountRefs', 'scope', 'periodRole', 'period', 'costBasis', 'estimateLens', 'accountingCurrency'], ['requestedCurrencyCode']) ||
384
+ !(0, exports.hasFinancialDataflowExactFieldsV1)(value, [
385
+ 'companyId',
386
+ 'provider',
387
+ 'providerAccountRefs',
388
+ 'scope',
389
+ 'periodRole',
390
+ 'period',
391
+ 'costBasis',
392
+ 'estimateLens',
393
+ 'accountingCurrency',
394
+ 'chargeInclusionPolicyRef',
395
+ ], ['requestedCurrencyCode']) ||
331
396
  !(0, exports.isFinancialDataflowIdentityV1)(value.companyId) ||
332
397
  value.provider !== 'azure' ||
333
398
  !(0, exports.isFinancialDataflowSortedUniqueStringsV1)(value.providerAccountRefs, exports.FINANCIAL_DATAFLOW_LIMITS_V1.maximumProviderAccounts) ||
@@ -335,13 +400,18 @@ const isFinancialDataflowCoordinateV1 = (value) => {
335
400
  !(0, exports.isFinancialDataflowScopeV1)(value.scope) ||
336
401
  typeof value.periodRole !== 'string' ||
337
402
  !PERIOD_ROLES.has(value.periodRole) ||
338
- !(0, financialScopeBaselineValidation_2.isFinancialBaselinePeriodV2)(value.period) ||
403
+ !(0, exports.isFinancialDataflowPeriodV1)(value.period) ||
339
404
  typeof value.costBasis !== 'string' ||
340
405
  !COST_BASES.has(value.costBasis) ||
341
406
  typeof value.estimateLens !== 'string' ||
342
407
  !ESTIMATE_LENSES.has(value.estimateLens) ||
343
408
  (value.requestedCurrencyCode !== undefined && !(0, exports.isFinancialDataflowCurrencyV1)(value.requestedCurrencyCode)) ||
344
- !(0, exports.isFinancialDataflowRecordV1)(value.accountingCurrency)) {
409
+ !(0, exports.isFinancialDataflowRecordV1)(value.accountingCurrency) ||
410
+ !(0, exports.isFinancialDataflowRecordV1)(value.chargeInclusionPolicyRef) ||
411
+ !(0, exports.hasFinancialDataflowExactFieldsV1)(value.chargeInclusionPolicyRef, ['policyId', 'policyDigest']) ||
412
+ !(0, exports.isFinancialDataflowIdentityV1)(value.chargeInclusionPolicyRef.policyId) ||
413
+ !(0, exports.isFinancialDataflowHashV1)(value.chargeInclusionPolicyRef.policyDigest) ||
414
+ (0, financialChargeComposition_1.resolveFinancialChargeInclusionPolicyV1)(value.chargeInclusionPolicyRef) === undefined) {
345
415
  return false;
346
416
  }
347
417
  if (value.accountingCurrency.status === 'resolved') {
@@ -372,7 +442,9 @@ const isMember = (value) => {
372
442
  if (!(0, exports.isFinancialDataflowRecordV1)(value) || !(0, exports.isFinancialDataflowIdentityV1)(value.memberScopeId))
373
443
  return false;
374
444
  if (value.status === 'included') {
375
- return (0, exports.hasFinancialDataflowExactFieldsV1)(value, ['memberScopeId', 'baselineId', 'status']) && (0, exports.isFinancialDataflowHashV1)(value.baselineId);
445
+ return ((0, exports.hasFinancialDataflowExactFieldsV1)(value, ['memberScopeId', 'baselineId', 'chargeCompositionId', 'status']) &&
446
+ (0, exports.isFinancialDataflowHashV1)(value.baselineId) &&
447
+ (0, exports.isFinancialDataflowHashV1)(value.chargeCompositionId));
376
448
  }
377
449
  return (value.status === 'unavailable' &&
378
450
  (0, exports.hasFinancialDataflowExactFieldsV1)(value, ['memberScopeId', 'status', 'reasonCode']) &&
@@ -392,15 +464,7 @@ const createCurrentSpendMembershipDigestV1 = (members) => `sha256:${(0, sha256_1
392
464
  exports.createCurrentSpendMembershipDigestV1 = createCurrentSpendMembershipDigestV1;
393
465
  const isCompositionIdentity = (value) => {
394
466
  if (!(0, exports.isFinancialDataflowRecordV1)(value) ||
395
- !(0, exports.hasFinancialDataflowExactFieldsV1)(value, [
396
- 'schemaVersion',
397
- 'contractVersion',
398
- 'coordinate',
399
- 'members',
400
- 'amount',
401
- 'membershipDigest',
402
- 'algorithmVersion',
403
- ]) ||
467
+ !(0, exports.hasFinancialDataflowExactFieldsV1)(value, ['schemaVersion', 'contractVersion', 'coordinate', 'members', 'amount', 'membershipDigest', 'algorithmVersion'], ['chargeSelection']) ||
404
468
  value.schemaVersion !== financialDataflow_1.FINANCIAL_DATAFLOW_SCHEMA_VERSION_V1 ||
405
469
  value.contractVersion !== financialDataflow_1.FINANCIAL_CURRENT_SPEND_COMPOSITION_CONTRACT_VERSION_V1 ||
406
470
  !(0, exports.isFinancialDataflowCoordinateV1)(value.coordinate) ||
@@ -416,11 +480,45 @@ const isCompositionIdentity = (value) => {
416
480
  return false;
417
481
  }
418
482
  const currency = value.coordinate.accountingCurrency.status === 'resolved' ? value.coordinate.accountingCurrency.currencyCode : undefined;
483
+ const isChargeSelection = (selection) => {
484
+ if (!(0, exports.isFinancialDataflowRecordV1)(selection) ||
485
+ !(0, exports.hasFinancialDataflowExactFieldsV1)(selection, [
486
+ 'status',
487
+ 'includedAmount',
488
+ 'excludedAmount',
489
+ 'withheldAmount',
490
+ 'forecastEligibleAmount',
491
+ 'oneTimeAmount',
492
+ 'unknownRecurrenceAmount',
493
+ 'forecastStatus',
494
+ 'currencyCode',
495
+ ], ['reasonCodes', 'forecastReasonCodes']) ||
496
+ (selection.status !== 'available' && selection.status !== 'partial') ||
497
+ (selection.forecastStatus !== 'available' && selection.forecastStatus !== 'partial') ||
498
+ !(0, exports.isFinancialDataflowCurrencyV1)(selection.currencyCode) ||
499
+ ![
500
+ selection.includedAmount,
501
+ selection.excludedAmount,
502
+ selection.withheldAmount,
503
+ selection.forecastEligibleAmount,
504
+ selection.oneTimeAmount,
505
+ selection.unknownRecurrenceAmount,
506
+ ].every(amount => (0, financialValidationPrimitives_1.isCanonicalExactMoney)({ amount, currencyCode: selection.currencyCode })))
507
+ return false;
508
+ return ((selection.status === 'available' ? selection.reasonCodes === undefined : isReasonCodes(selection.reasonCodes)) &&
509
+ (selection.forecastStatus === 'available'
510
+ ? selection.forecastReasonCodes === undefined
511
+ : isReasonCodes(selection.forecastReasonCodes)));
512
+ };
419
513
  if (value.amount.status === 'available') {
420
514
  return (currency !== undefined &&
421
515
  (0, exports.hasFinancialDataflowExactFieldsV1)(value.amount, ['status', 'amount', 'currencyCode']) &&
422
516
  (0, financialValidationPrimitives_1.isCanonicalExactMoney)({ amount: value.amount.amount, currencyCode: value.amount.currencyCode }) &&
423
517
  value.amount.currencyCode === currency &&
518
+ isChargeSelection(value.chargeSelection) &&
519
+ value.chargeSelection.status === 'available' &&
520
+ value.chargeSelection.currencyCode === currency &&
521
+ value.chargeSelection.includedAmount === value.amount.amount &&
424
522
  value.members.length > 0 &&
425
523
  value.members.every(member => member.status === 'included'));
426
524
  }
@@ -430,11 +528,17 @@ const isCompositionIdentity = (value) => {
430
528
  (0, financialValidationPrimitives_1.isCanonicalExactMoney)({ amount: value.amount.knownAmount, currencyCode: value.amount.currencyCode }) &&
431
529
  value.amount.currencyCode === currency &&
432
530
  isReasonCodes(value.amount.reasonCodes) &&
531
+ isChargeSelection(value.chargeSelection) &&
532
+ value.chargeSelection.currencyCode === currency &&
533
+ value.chargeSelection.includedAmount === value.amount.knownAmount &&
433
534
  value.members.some(member => member.status === 'included') &&
434
- value.members.some(member => member.status === 'unavailable'));
535
+ (value.members.some(member => member.status === 'unavailable') ||
536
+ value.amount.reasonCodes.includes('coverage-incomplete') ||
537
+ value.chargeSelection.status === 'partial'));
435
538
  }
436
539
  const unresolvedCurrency = value.coordinate.accountingCurrency;
437
540
  return (value.amount.status === 'unavailable' &&
541
+ value.chargeSelection === undefined &&
438
542
  (0, exports.hasFinancialDataflowExactFieldsV1)(value.amount, ['status', 'reasonCodes']) &&
439
543
  isReasonCodes(value.amount.reasonCodes) &&
440
544
  (currency !== undefined || (unresolvedCurrency.status === 'unresolved' && value.amount.reasonCodes.includes(unresolvedCurrency.reasonCode))));
@@ -451,6 +555,19 @@ const canonicalizeCurrentSpendCompositionIdentityV1 = (value) => {
451
555
  },
452
556
  members: [...value.members].sort((left, right) => left.memberScopeId.localeCompare(right.memberScopeId)),
453
557
  amount: value.amount.status === 'available' ? value.amount : { ...value.amount, reasonCodes: [...value.amount.reasonCodes].sort() },
558
+ ...(value.chargeSelection === undefined
559
+ ? {}
560
+ : {
561
+ chargeSelection: {
562
+ ...value.chargeSelection,
563
+ ...(value.chargeSelection.reasonCodes === undefined
564
+ ? {}
565
+ : { reasonCodes: [...value.chargeSelection.reasonCodes].sort() }),
566
+ ...(value.chargeSelection.forecastReasonCodes === undefined
567
+ ? {}
568
+ : { forecastReasonCodes: [...value.chargeSelection.forecastReasonCodes].sort() }),
569
+ },
570
+ }),
454
571
  };
455
572
  return (0, exports.canonicalizeFinancialDataflowJsonV1)(canonical);
456
573
  };
@@ -469,7 +586,7 @@ const isCurrentSpendCompositionV1 = (value) => {
469
586
  'amount',
470
587
  'membershipDigest',
471
588
  'algorithmVersion',
472
- ])) {
589
+ ], ['chargeSelection'])) {
473
590
  return false;
474
591
  }
475
592
  const { compositionId, ...identity } = value;
@@ -485,63 +602,119 @@ const hasCompatibleBaselineCoordinate = (coordinate, baseline) => baseline.provi
485
602
  (0, costComposition_1.toCanonicalEstimateLensV1)(baseline.estimateLens) === coordinate.estimateLens &&
486
603
  baseline.requestedCurrencyCode === coordinate.requestedCurrencyCode;
487
604
  /** Proves that composition membership and money reconcile to exact V2 baseline envelopes. */
488
- const isCurrentSpendCompositionCompatibleV1 = (composition, baselines) => {
605
+ const isCurrentSpendCompositionCompatibleV1 = (composition, baselines, chargeCompositions) => {
489
606
  if (!(0, exports.isCurrentSpendCompositionV1)(composition) ||
490
607
  !Array.isArray(baselines) ||
491
608
  baselines.length !== composition.members.length ||
492
609
  baselines.length > exports.FINANCIAL_DATAFLOW_LIMITS_V1.maximumMembers ||
493
- !baselines.every(financialScopeBaselineValidation_1.isFinancialScopeBaselineEnvelopeV2)) {
610
+ !baselines.every(financialScopeBaselineValidation_1.isFinancialScopeBaselineEnvelopeV2) ||
611
+ !Array.isArray(chargeCompositions) ||
612
+ !chargeCompositions.every(financialChargeCompositionValidation_1.isFinancialChargeCompositionV1)) {
494
613
  return false;
495
614
  }
496
615
  const typedBaselines = baselines;
616
+ const typedChargeCompositions = chargeCompositions;
617
+ const chargeCompositionById = new Map(typedChargeCompositions.map(value => [value.chargeCompositionId, value]));
618
+ if (chargeCompositionById.size !== typedChargeCompositions.length)
619
+ return false;
497
620
  const baselineByScopeId = new Map(typedBaselines.map(baseline => [baseline.scopeId, baseline]));
498
621
  if (baselineByScopeId.size !== typedBaselines.length ||
499
622
  new Set(typedBaselines.filter(baseline => baseline.status === 'available').map(baseline => baseline.baselineId)).size !==
500
623
  typedBaselines.filter(baseline => baseline.status === 'available').length) {
501
624
  return false;
502
625
  }
503
- const includedAmounts = [];
626
+ const includedSelections = [];
504
627
  const expectedReasonCodes = new Set();
505
628
  for (const member of composition.members) {
506
629
  const baseline = baselineByScopeId.get(member.memberScopeId);
507
630
  if (baseline === undefined || !hasCompatibleBaselineCoordinate(composition.coordinate, baseline))
508
631
  return false;
509
632
  if (member.status === 'included') {
510
- if (baseline.status !== 'available' || member.baselineId !== baseline.baselineId)
633
+ if (baseline.status !== 'available' ||
634
+ baseline.baselineKind !== 'owner' ||
635
+ member.baselineId !== baseline.baselineId ||
636
+ (0, exports.canonicalizeFinancialDataflowJsonV1)(baseline.chargeInclusionPolicyRef) !==
637
+ (0, exports.canonicalizeFinancialDataflowJsonV1)(financialChargeComposition_1.AZURE_BILLED_ALL_CHARGES_POLICY_V1.policyRef))
638
+ return false;
639
+ const chargeComposition = chargeCompositionById.get(member.chargeCompositionId);
640
+ if (chargeComposition === undefined ||
641
+ chargeComposition.baselineId !== baseline.baselineId ||
642
+ chargeComposition.ownerScopeId !== baseline.scopeId ||
643
+ chargeComposition.period.windowKind !== baseline.period.windowKind ||
644
+ (0, exports.canonicalizeFinancialDataflowJsonV1)(chargeComposition.period.requested) !== (0, exports.canonicalizeFinancialDataflowJsonV1)(baseline.period.requested) ||
645
+ chargeComposition.costBasis !== baseline.costBasis ||
646
+ chargeComposition.estimateLens !== baseline.estimateLens ||
647
+ chargeComposition.accountingCurrencyCode !== baseline.total.currencyCode ||
648
+ chargeComposition.reconciliation.sourceTotal !== baseline.total.amount)
511
649
  return false;
512
650
  if (composition.coordinate.accountingCurrency.status === 'resolved' &&
513
651
  baseline.total.currencyCode !== composition.coordinate.accountingCurrency.currencyCode) {
514
652
  return false;
515
653
  }
516
- includedAmounts.push(baseline.total.amount);
654
+ includedSelections.push((0, financialChargeCompositionValidation_1.selectFinancialChargesV1)(chargeComposition, composition.coordinate.chargeInclusionPolicyRef));
655
+ includedSelections[includedSelections.length - 1].reasonCodes?.forEach(reason => expectedReasonCodes.add(reason));
656
+ if (baseline.status === 'available' && !(0, financialScopeBaseline_1.isCompleteFinancialBaselinePeriodV2)(baseline.period)) {
657
+ expectedReasonCodes.add('coverage-incomplete');
658
+ }
517
659
  continue;
518
660
  }
519
- if (baseline.status !== 'unavailable' || member.reasonCode !== baseline.unavailableReason)
520
- return false;
521
- expectedReasonCodes.add(baseline.unavailableReason);
661
+ if (baseline.status === 'unavailable') {
662
+ if (member.reasonCode !== baseline.unavailableReason)
663
+ return false;
664
+ expectedReasonCodes.add(baseline.unavailableReason);
665
+ }
666
+ else {
667
+ const expectedDerivedReason = baseline.baselineKind === 'aggregate'
668
+ ? 'charge-composition-requires-owner-baseline'
669
+ : 'charge-composition-unavailable';
670
+ if (member.reasonCode !== expectedDerivedReason)
671
+ return false;
672
+ expectedReasonCodes.add(expectedDerivedReason);
673
+ }
522
674
  }
523
675
  if (composition.coordinate.accountingCurrency.status === 'unresolved') {
524
676
  expectedReasonCodes.add(composition.coordinate.accountingCurrency.reasonCode);
525
677
  }
678
+ if (typedChargeCompositions.length !== includedSelections.length)
679
+ return false;
526
680
  const hasExpectedReasonCodes = (reasonCodes) => reasonCodes.length === expectedReasonCodes.size && reasonCodes.every(reasonCode => expectedReasonCodes.has(reasonCode));
527
681
  if (composition.coordinate.accountingCurrency.status === 'unresolved') {
528
682
  return composition.amount.status === 'unavailable' && hasExpectedReasonCodes(composition.amount.reasonCodes);
529
683
  }
530
- if (includedAmounts.length === 0) {
684
+ if (includedSelections.length === 0) {
531
685
  return composition.amount.status === 'unavailable' && hasExpectedReasonCodes(composition.amount.reasonCodes);
532
686
  }
533
- let includedTotal;
687
+ let aggregateSelection;
534
688
  try {
535
- includedTotal = (0, exactDecimal_1.formatExactDecimalValue)((0, exactDecimal_1.sumCanonicalDecimals)(includedAmounts));
689
+ const reasonCodes = new Set(includedSelections.flatMap(selection => selection.reasonCodes ?? []));
690
+ const forecastReasonCodes = new Set(includedSelections.flatMap(selection => selection.forecastReasonCodes ?? []));
691
+ aggregateSelection = {
692
+ status: includedSelections.some(selection => selection.status === 'partial') ? 'partial' : 'available',
693
+ includedAmount: (0, exactDecimal_1.formatExactDecimalValue)((0, exactDecimal_1.sumCanonicalDecimals)(includedSelections.map(selection => selection.includedAmount))),
694
+ excludedAmount: (0, exactDecimal_1.formatExactDecimalValue)((0, exactDecimal_1.sumCanonicalDecimals)(includedSelections.map(selection => selection.excludedAmount))),
695
+ withheldAmount: (0, exactDecimal_1.formatExactDecimalValue)((0, exactDecimal_1.sumCanonicalDecimals)(includedSelections.map(selection => selection.withheldAmount))),
696
+ forecastEligibleAmount: (0, exactDecimal_1.formatExactDecimalValue)((0, exactDecimal_1.sumCanonicalDecimals)(includedSelections.map(selection => selection.forecastEligibleAmount))),
697
+ oneTimeAmount: (0, exactDecimal_1.formatExactDecimalValue)((0, exactDecimal_1.sumCanonicalDecimals)(includedSelections.map(selection => selection.oneTimeAmount))),
698
+ unknownRecurrenceAmount: (0, exactDecimal_1.formatExactDecimalValue)((0, exactDecimal_1.sumCanonicalDecimals)(includedSelections.map(selection => selection.unknownRecurrenceAmount))),
699
+ forecastStatus: includedSelections.some(selection => selection.forecastStatus === 'partial') ? 'partial' : 'available',
700
+ currencyCode: composition.coordinate.accountingCurrency.currencyCode,
701
+ ...(reasonCodes.size === 0 ? {} : { reasonCodes: [...reasonCodes].sort() }),
702
+ ...(forecastReasonCodes.size === 0
703
+ ? {}
704
+ : { forecastReasonCodes: [...forecastReasonCodes].sort() }),
705
+ };
536
706
  }
537
707
  catch {
538
708
  return false;
539
709
  }
540
- if (includedAmounts.length === composition.members.length) {
541
- return composition.amount.status === 'available' && composition.amount.amount === includedTotal;
710
+ const sameSelection = (0, exports.canonicalizeFinancialDataflowJsonV1)(composition.chargeSelection) === (0, exports.canonicalizeFinancialDataflowJsonV1)(aggregateSelection);
711
+ if (!sameSelection)
712
+ return false;
713
+ if (includedSelections.length === composition.members.length && expectedReasonCodes.size === 0) {
714
+ return composition.amount.status === 'available' && composition.amount.amount === aggregateSelection.includedAmount;
542
715
  }
543
716
  return (composition.amount.status === 'partial' &&
544
- composition.amount.knownAmount === includedTotal &&
717
+ composition.amount.knownAmount === aggregateSelection.includedAmount &&
545
718
  hasExpectedReasonCodes(composition.amount.reasonCodes));
546
719
  };
547
720
  exports.isCurrentSpendCompositionCompatibleV1 = isCurrentSpendCompositionCompatibleV1;
@@ -1 +1 @@
1
- {"version":3,"file":"financialDataflowValidation.js","sourceRoot":"","sources":["../../src/azure/financialDataflowValidation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"financialDataflowValidation.js","sourceRoot":"","sources":["../../src/azure/financialDataflowValidation.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"financialEvidenceAssessmentValidation.d.ts","sourceRoot":"","sources":["../../src/azure/financialEvidenceAssessmentValidation.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,6CAA6C,EAClD,KAAK,6BAA6B,EACnC,MAAM,0BAA0B,CAAC;AAiKlC,eAAO,MAAM,iDAAiD,GAAI,OAAO,6CAA6C,KAAG,MAGxH,CAAC;AAEF,eAAO,MAAM,+BAA+B,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,6BASzE,CAAC"}
1
+ {"version":3,"file":"financialEvidenceAssessmentValidation.d.ts","sourceRoot":"","sources":["../../src/azure/financialEvidenceAssessmentValidation.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,6CAA6C,EAClD,KAAK,6BAA6B,EACnC,MAAM,0BAA0B,CAAC;AAwKlC,eAAO,MAAM,iDAAiD,GAAI,OAAO,6CAA6C,KAAG,MAGxH,CAAC;AAEF,eAAO,MAAM,+BAA+B,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,6BASzE,CAAC"}
@@ -15,6 +15,13 @@ const EVIDENCE_ROLES = new Set([
15
15
  'retail-rate',
16
16
  'commitment-quote',
17
17
  'fx-conversion',
18
+ 'commercial-arrangement',
19
+ 'provider-access-observation',
20
+ 'configuration-timeline',
21
+ 'provider-price-schedule',
22
+ 'pricing-function',
23
+ 'charge-inclusion-policy',
24
+ 'settlement-revision',
18
25
  'eligibility-rule',
19
26
  'recommendation-scenario-set',
20
27
  'recommendation-lifecycle',
@@ -1 +1 @@
1
- {"version":3,"file":"financialEvidenceAssessmentValidation.js","sourceRoot":"","sources":["../../src/azure/financialEvidenceAssessmentValidation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"financialEvidenceAssessmentValidation.js","sourceRoot":"","sources":["../../src/azure/financialEvidenceAssessmentValidation.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,32 @@
1
1
  import type { CostBasis, FinancialEstimateLensV1 } from './costComposition';
2
- import type { FinancialDataflowScopeV1 } from './financialDataflow';
2
+ import type { FinancialDataflowScopeKindV1, FinancialDataflowScopeSelectorV1 } from './financialDataflow';
3
+ import type { FinancialChargeInclusionPolicyRefV2 } from './financialScopeBaseline';
3
4
  import type { CanonicalExactMoney } from './financialValidationPrimitives';
4
5
  export declare const FINANCIAL_POLICY_DEFINITION_CONTRACT_VERSION_V1: "financial-policy-definition/v1";
5
6
  export declare const FINANCIAL_POLICY_EVALUATION_CONTRACT_VERSION_V1: "financial-policy-evaluation/v1";
6
7
  export interface FinancialPolicyCoordinateRequestV1 {
7
8
  provider: 'azure';
8
9
  providerAccountRefs: [string, ...string[]];
9
- scope: FinancialDataflowScopeV1;
10
+ /** Stable policy scope identity. The current membership fingerprint is resolved at evaluation time. */
11
+ scope: {
12
+ kind: FinancialDataflowScopeKindV1;
13
+ scopeId: string;
14
+ };
15
+ /** Re-resolvable selector; fingerprint alone cannot recover scheduled scope membership. */
16
+ scopeSelector: FinancialDataflowScopeSelectorV1;
10
17
  period: {
11
18
  kind: 'calendar-month' | 'rolling-30-days';
19
+ dateBasis: 'utc';
20
+ timeZone?: never;
21
+ } | {
22
+ kind: 'calendar-month' | 'rolling-30-days';
23
+ dateBasis: 'company-local';
12
24
  timeZone: string;
13
25
  };
14
26
  costBasis: CostBasis;
15
27
  estimateLens: FinancialEstimateLensV1;
28
+ /** Explicit value-affecting charge source policy. Existing definitions migrate to all-charge. */
29
+ chargeInclusionPolicyRef: FinancialChargeInclusionPolicyRefV2;
16
30
  /** Required match condition; this field never authorizes FX conversion or a caller currency default. */
17
31
  requiredAccountingCurrencyCode: string;
18
32
  }
@@ -39,6 +53,7 @@ export interface FinancialPolicyDefinitionRevisionV1 {
39
53
  policyDefinitionRevisionId: string;
40
54
  companyId: string;
41
55
  definitionId: string;
56
+ displayName: string;
42
57
  revision: string;
43
58
  effectiveState: 'enabled' | 'disabled' | 'deleted';
44
59
  coordinateRequest: FinancialPolicyCoordinateRequestV1;
@@ -83,7 +98,8 @@ export interface CurrentSpendFinancialPolicyEvaluationV1 extends FinancialPolicy
83
98
  }
84
99
  export interface AnalyticsFinancialPolicyEvaluationV1 extends FinancialPolicyEvaluationCommonV1 {
85
100
  signalKind: 'budget-forecast' | 'cost-anomaly';
86
- analyticsProjectionId: string;
101
+ /** Absent only when the analytics projection itself is unavailable at the fixed evaluation instant. */
102
+ analyticsProjectionId?: string;
87
103
  }
88
104
  export type FinancialPolicyEvaluationV1 = CurrentSpendFinancialPolicyEvaluationV1 | AnalyticsFinancialPolicyEvaluationV1;
89
105
  export type FinancialPolicyEvaluationIdentityPreimageV1 = FinancialPolicyEvaluationV1 extends infer Evaluation ? Evaluation extends FinancialPolicyEvaluationV1 ? Omit<Evaluation, 'evaluationId' | 'readProjectionId' | 'actionAuditId'> : never : never;