@adcp/client 4.20.0 → 4.21.0

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 (81) hide show
  1. package/dist/lib/index.d.ts +5 -5
  2. package/dist/lib/index.d.ts.map +1 -1
  3. package/dist/lib/index.js +11 -5
  4. package/dist/lib/index.js.map +1 -1
  5. package/dist/lib/registry/cursor-store.d.ts +19 -0
  6. package/dist/lib/registry/cursor-store.d.ts.map +1 -0
  7. package/dist/lib/registry/cursor-store.js +44 -0
  8. package/dist/lib/registry/cursor-store.js.map +1 -0
  9. package/dist/lib/registry/index.d.ts +21 -3
  10. package/dist/lib/registry/index.d.ts.map +1 -1
  11. package/dist/lib/registry/index.js +94 -1
  12. package/dist/lib/registry/index.js.map +1 -1
  13. package/dist/lib/registry/property-registry.d.ts +57 -0
  14. package/dist/lib/registry/property-registry.d.ts.map +1 -0
  15. package/dist/lib/registry/property-registry.js +92 -0
  16. package/dist/lib/registry/property-registry.js.map +1 -0
  17. package/dist/lib/registry/sync.d.ts +4 -0
  18. package/dist/lib/registry/sync.d.ts.map +1 -1
  19. package/dist/lib/registry/sync.js +14 -0
  20. package/dist/lib/registry/sync.js.map +1 -1
  21. package/dist/lib/registry/types.d.ts +35 -2
  22. package/dist/lib/registry/types.d.ts.map +1 -1
  23. package/dist/lib/registry/types.generated.d.ts +349 -321
  24. package/dist/lib/registry/types.generated.d.ts.map +1 -1
  25. package/dist/lib/registry/types.generated.js +1 -1
  26. package/dist/lib/testing/agent-tester.d.ts +1 -1
  27. package/dist/lib/testing/agent-tester.d.ts.map +1 -1
  28. package/dist/lib/testing/agent-tester.js +10 -1
  29. package/dist/lib/testing/agent-tester.js.map +1 -1
  30. package/dist/lib/testing/client.d.ts.map +1 -1
  31. package/dist/lib/testing/client.js +2 -0
  32. package/dist/lib/testing/client.js.map +1 -1
  33. package/dist/lib/testing/compliance/comply.d.ts.map +1 -1
  34. package/dist/lib/testing/compliance/comply.js +110 -140
  35. package/dist/lib/testing/compliance/comply.js.map +1 -1
  36. package/dist/lib/testing/index.d.ts +1 -1
  37. package/dist/lib/testing/index.d.ts.map +1 -1
  38. package/dist/lib/testing/index.js +4 -1
  39. package/dist/lib/testing/index.js.map +1 -1
  40. package/dist/lib/testing/orchestrator.d.ts.map +1 -1
  41. package/dist/lib/testing/orchestrator.js +3 -0
  42. package/dist/lib/testing/orchestrator.js.map +1 -1
  43. package/dist/lib/testing/scenarios/brand-rights.d.ts +23 -0
  44. package/dist/lib/testing/scenarios/brand-rights.d.ts.map +1 -0
  45. package/dist/lib/testing/scenarios/brand-rights.js +144 -0
  46. package/dist/lib/testing/scenarios/brand-rights.js.map +1 -0
  47. package/dist/lib/testing/scenarios/capabilities.d.ts.map +1 -1
  48. package/dist/lib/testing/scenarios/capabilities.js +11 -2
  49. package/dist/lib/testing/scenarios/capabilities.js.map +1 -1
  50. package/dist/lib/testing/scenarios/governance.d.ts.map +1 -1
  51. package/dist/lib/testing/scenarios/governance.js +5 -0
  52. package/dist/lib/testing/scenarios/governance.js.map +1 -1
  53. package/dist/lib/testing/scenarios/index.d.ts +2 -0
  54. package/dist/lib/testing/scenarios/index.d.ts.map +1 -1
  55. package/dist/lib/testing/scenarios/index.js +10 -2
  56. package/dist/lib/testing/scenarios/index.js.map +1 -1
  57. package/dist/lib/testing/scenarios/media-buy.d.ts.map +1 -1
  58. package/dist/lib/testing/scenarios/media-buy.js +22 -3
  59. package/dist/lib/testing/scenarios/media-buy.js.map +1 -1
  60. package/dist/lib/testing/scenarios/trusted-match.d.ts +22 -0
  61. package/dist/lib/testing/scenarios/trusted-match.d.ts.map +1 -0
  62. package/dist/lib/testing/scenarios/trusted-match.js +128 -0
  63. package/dist/lib/testing/scenarios/trusted-match.js.map +1 -0
  64. package/dist/lib/testing/types.d.ts +2 -1
  65. package/dist/lib/testing/types.d.ts.map +1 -1
  66. package/dist/lib/types/core.generated.d.ts +34 -21
  67. package/dist/lib/types/core.generated.d.ts.map +1 -1
  68. package/dist/lib/types/core.generated.js +1 -1
  69. package/dist/lib/types/schemas.generated.d.ts +749 -580
  70. package/dist/lib/types/schemas.generated.d.ts.map +1 -1
  71. package/dist/lib/types/schemas.generated.js +78 -73
  72. package/dist/lib/types/schemas.generated.js.map +1 -1
  73. package/dist/lib/types/tools.generated.d.ts +34 -21
  74. package/dist/lib/types/tools.generated.d.ts.map +1 -1
  75. package/dist/lib/utils/capabilities.d.ts +4 -1
  76. package/dist/lib/utils/capabilities.d.ts.map +1 -1
  77. package/dist/lib/utils/capabilities.js +25 -1
  78. package/dist/lib/utils/capabilities.js.map +1 -1
  79. package/dist/lib/version.d.ts +3 -3
  80. package/dist/lib/version.js +3 -3
  81. package/package.json +1 -1
@@ -636,9 +636,28 @@ export type PriceAdjustmentKind = 'fee' | 'discount' | 'commission' | 'settlemen
636
636
  */
637
637
  export type DemographicSystem = 'nielsen' | 'barb' | 'agf' | 'oztam' | 'mediametrie' | 'custom';
638
638
  /**
639
- * How to interpret the points array. 'spend' (default when omitted): points at ascending budget levels. 'availability': total available inventory, budget omitted. 'reach_freq': points at ascending reach/frequency targets. 'weekly'/'daily': metrics are per-period values. 'clicks'/'conversions': points at ascending outcome targets.
639
+ * A forecast value with optional confidence bounds. Either mid (point estimate) or both low and high (range) must be provided. mid represents the most likely outcome. low and high represent conservative and optimistic estimates. All three can be provided together.
640
640
  */
641
- export type ForecastRangeUnit = 'spend' | 'availability' | 'reach_freq' | 'weekly' | 'daily' | 'clicks' | 'conversions';
641
+ export type ForecastRange = {
642
+ [k: string]: unknown | undefined;
643
+ } & {
644
+ /**
645
+ * Conservative (low-end) forecast value
646
+ */
647
+ low?: number;
648
+ /**
649
+ * Expected (most likely) forecast value
650
+ */
651
+ mid?: number;
652
+ /**
653
+ * Optimistic (high-end) forecast value
654
+ */
655
+ high?: number;
656
+ };
657
+ /**
658
+ * How to interpret the points array. 'spend' (default when omitted): points at ascending budget levels. 'availability': total available inventory, budget omitted. 'reach_freq': points at ascending reach/frequency targets. 'weekly'/'daily': metrics are per-period values. 'clicks'/'conversions': points at ascending outcome targets. 'package': each point is a distinct inventory package.
659
+ */
660
+ export type ForecastRangeUnit = 'spend' | 'availability' | 'reach_freq' | 'weekly' | 'daily' | 'clicks' | 'conversions' | 'package';
642
661
  /**
643
662
  * Method used to produce this forecast
644
663
  */
@@ -1551,6 +1570,10 @@ export interface DeliveryForecast {
1551
1570
  * Target demographic code within the specified demographic_system. For Nielsen: P18-49, M25-54, W35+. For BARB: ABC1 Adults, 16-34. For AGF: E 14-49.
1552
1571
  */
1553
1572
  demographic?: string;
1573
+ /**
1574
+ * Third-party measurement provider whose data was used to produce this forecast. Distinct from demographic_system, which specifies demographic notation — measurement_source identifies whose data produced the forecast numbers. Should be present when measured_impressions is used. Lowercase slug format.
1575
+ */
1576
+ measurement_source?: string;
1554
1577
  reach_unit?: ReachUnit;
1555
1578
  /**
1556
1579
  * When this forecast was computed
@@ -1566,6 +1589,10 @@ export interface DeliveryForecast {
1566
1589
  * A forecast data point. When budget is present, the point pairs a spend level with expected delivery — multiple points at ascending budgets form a curve. When budget is omitted, the point represents total available inventory for the requested targeting and dates, independent of spend.
1567
1590
  */
1568
1591
  export interface ForecastPoint {
1592
+ /**
1593
+ * Human-readable name for this forecast point. Required when forecast_range_unit is 'package' so buyer agents can identify and reference individual packages. Optional for other forecast types.
1594
+ */
1595
+ label?: string;
1569
1596
  /**
1570
1597
  * Budget amount for this forecast point. Required for spend curves; omit for availability forecasts where the metrics represent total available inventory. For allocation-level forecasts, this is the absolute budget for that allocation (not the percentage). For proposal-level forecasts, this is the total proposal budget. When omitted, use metrics.spend to express the estimated cost of the available inventory.
1571
1598
  */
@@ -1587,26 +1614,12 @@ export interface ForecastPoint {
1587
1614
  follows?: ForecastRange;
1588
1615
  saves?: ForecastRange;
1589
1616
  profile_visits?: ForecastRange;
1617
+ measured_impressions?: ForecastRange;
1618
+ downloads?: ForecastRange;
1619
+ plays?: ForecastRange;
1590
1620
  [k: string]: ForecastRange | undefined;
1591
1621
  };
1592
1622
  }
1593
- /**
1594
- * A forecast value with optional low/high bounds. The mid value represents the most likely outcome. When low and high are provided, they represent conservative and optimistic estimates respectively.
1595
- */
1596
- export interface ForecastRange {
1597
- /**
1598
- * Conservative (low-end) forecast value
1599
- */
1600
- low?: number;
1601
- /**
1602
- * Expected (most likely) forecast value
1603
- */
1604
- mid: number;
1605
- /**
1606
- * Optimistic (high-end) forecast value
1607
- */
1608
- high?: number;
1609
- }
1610
1623
  /**
1611
1624
  * Business outcome measurement capabilities included with a product (e.g., incremental sales lift, brand lift, foot traffic). Distinct from delivery_measurement, which declares who counts ad impressions.
1612
1625
  */
@@ -2567,7 +2580,7 @@ export type OptimizationGoal = {
2567
2580
  */
2568
2581
  custom_event_name?: string;
2569
2582
  /**
2570
- * Which field in the event's custom_data carries the monetary value. The seller must use this field for value extraction and aggregation when computing ROAS and conversion value metrics. Required on at least one entry when target.kind is 'per_ad_spend' or 'maximize_value'. Common values: 'value', 'order_total', 'profit_margin'. This is not passed as a parameter to underlying platform APIs — the seller maps it to their platform's value ingestion mechanism.
2583
+ * Which field in the event's custom_data carries the monetary value. The seller must use this field for value extraction and aggregation when computing ROAS and conversion value metrics. Required on at least one entry when target.kind is 'per_ad_spend' or 'maximize_value' — sellers must reject these target kinds when no event source entry includes value_field. When present without a value-oriented target, the seller may use it for delivery reporting (conversion_value, roas) but must not change the optimization objective. Common values: 'value', 'order_total', 'profit_margin'. This is not passed as a parameter to underlying platform APIs — the seller maps it to their platform's value ingestion mechanism.
2571
2584
  */
2572
2585
  value_field?: string;
2573
2586
  /**
@@ -2576,7 +2589,7 @@ export type OptimizationGoal = {
2576
2589
  value_factor?: number;
2577
2590
  }[];
2578
2591
  /**
2579
- * Target cost or return for this event goal. When omitted, the seller optimizes for maximum conversions within budget.
2592
+ * Target cost or return for this event goal. When omitted, the seller optimizes for maximum conversion count within budget — regardless of whether value_field is present on event sources. The presence of value_field alone does not change the optimization objective; it only makes value available for reporting. An explicit target of maximize_value or per_ad_spend is required to steer toward value.
2580
2593
  */
2581
2594
  target?: {
2582
2595
  kind: 'cost_per';