@adcp/sdk 14.0.0-beta.26 → 14.0.0-beta.28

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 (66) hide show
  1. package/dist/lib/core/AgentClient.d.mts +5 -1
  2. package/dist/lib/core/AgentClient.d.ts +5 -1
  3. package/dist/lib/core/SingleAgentClient.js +2 -0
  4. package/dist/lib/core/SingleAgentClient.mjs +2 -0
  5. package/dist/lib/index.d.mts +1 -0
  6. package/dist/lib/index.d.ts +1 -0
  7. package/dist/lib/index.js +2 -0
  8. package/dist/lib/index.mjs +1 -0
  9. package/dist/lib/reporting/evidence.d.mts +4 -0
  10. package/dist/lib/reporting/evidence.d.ts +4 -0
  11. package/dist/lib/reporting/evidence.js +136 -0
  12. package/dist/lib/reporting/evidence.mjs +109 -0
  13. package/dist/lib/reporting/index.d.mts +4 -0
  14. package/dist/lib/reporting/index.d.ts +4 -0
  15. package/dist/lib/reporting/index.js +45 -0
  16. package/dist/lib/reporting/index.mjs +24 -0
  17. package/dist/lib/reporting/inspection.d.mts +88 -0
  18. package/dist/lib/reporting/inspection.d.ts +88 -0
  19. package/dist/lib/reporting/inspection.js +1125 -0
  20. package/dist/lib/reporting/inspection.mjs +1094 -0
  21. package/dist/lib/reporting/reconciliation.d.mts +199 -0
  22. package/dist/lib/reporting/reconciliation.d.ts +199 -0
  23. package/dist/lib/reporting/reconciliation.js +870 -0
  24. package/dist/lib/reporting/reconciliation.mjs +844 -0
  25. package/dist/lib/schemas-data/v2.5/_provenance.json +1 -1
  26. package/dist/lib/server/decisioning/runtime/protocol-for-tool.js +1 -0
  27. package/dist/lib/server/decisioning/runtime/protocol-for-tool.mjs +1 -0
  28. package/dist/lib/server/wire-spec-fields.generated.d.mts +11 -1
  29. package/dist/lib/server/wire-spec-fields.generated.d.ts +11 -1
  30. package/dist/lib/server/wire-spec-fields.generated.js +10 -0
  31. package/dist/lib/server/wire-spec-fields.generated.mjs +10 -0
  32. package/dist/lib/testing/storyboard/runner.js +13 -2
  33. package/dist/lib/testing/storyboard/runner.mjs +13 -2
  34. package/dist/lib/testing/storyboard/types.d.mts +8 -0
  35. package/dist/lib/testing/storyboard/types.d.ts +8 -0
  36. package/dist/lib/testing/storyboard/validations.d.mts +1 -1
  37. package/dist/lib/testing/storyboard/validations.d.ts +1 -1
  38. package/dist/lib/types/create-media-buy.d.ts +21 -16
  39. package/dist/lib/types/get-media-buys.d.ts +21 -16
  40. package/dist/lib/types/index.d.mts +1 -0
  41. package/dist/lib/types/index.d.ts +1 -0
  42. package/dist/lib/types/list-accounts.d.ts +21 -16
  43. package/dist/lib/types/list-creatives.d.ts +21 -16
  44. package/dist/lib/types/schemas.generated.d.ts +688 -952
  45. package/dist/lib/types/schemas.generated.js +542 -515
  46. package/dist/lib/types/schemas.generated.mjs +542 -515
  47. package/dist/lib/types/sync-accounts.d.ts +21 -16
  48. package/dist/lib/types/sync-creatives.d.ts +21 -16
  49. package/dist/lib/types/tools.generated.d.mts +2 -6
  50. package/dist/lib/types/tools.generated.d.ts +2 -6
  51. package/dist/lib/utils/reporting-status-response.d.mts +2 -0
  52. package/dist/lib/utils/reporting-status-response.d.ts +2 -0
  53. package/dist/lib/utils/reporting-status-response.js +338 -0
  54. package/dist/lib/utils/reporting-status-response.mjs +319 -0
  55. package/dist/lib/utils/response-schemas.js +6 -1
  56. package/dist/lib/utils/response-schemas.mjs +6 -1
  57. package/dist/lib/validation/sync-creatives.d.mts +42 -108
  58. package/dist/lib/validation/sync-creatives.d.ts +42 -108
  59. package/dist/lib/version.d.mts +3 -3
  60. package/dist/lib/version.d.ts +3 -3
  61. package/dist/lib/version.js +3 -3
  62. package/dist/lib/version.mjs +3 -3
  63. package/docs/TYPE-SUMMARY.md +2 -2
  64. package/docs/guides/REPORTING-RECONCILIATION.md +107 -0
  65. package/docs/llms.txt +2 -2
  66. package/package.json +1 -1
@@ -166,42 +166,20 @@ export declare const SyncCreativesItemSchema: z.ZodObject<{
166
166
  }, z.core.$loose>;
167
167
  method: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
168
168
  pattern: z.ZodLiteral<"file_transfer">;
169
- transport: z.ZodUnion<readonly [z.ZodLiteral<"s3">, z.ZodLiteral<"gcs">, z.ZodLiteral<"azure_blob">]>;
170
- directions: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodLiteral<"buyer_to_seller">, z.ZodLiteral<"seller_to_buyer">]>>>;
171
- vendor: z.ZodObject<{
172
- domain: z.ZodString;
173
- brand_id: z.ZodOptional<z.ZodString>;
174
- countries: z.ZodOptional<z.ZodArray<z.ZodString>>;
175
- industries: z.ZodOptional<z.ZodArray<z.ZodString>>;
176
- data_subject_contestation: z.ZodOptional<z.ZodObject<{
177
- url: z.ZodOptional<z.ZodString>;
178
- email: z.ZodOptional<z.ZodEmail>;
179
- languages: z.ZodOptional<z.ZodArray<z.ZodString>>;
180
- }, z.core.$loose>>;
181
- brand_kit_override: z.ZodOptional<z.ZodObject<{
182
- logo: z.ZodOptional<Omit<z.ZodObject<{
183
- asset_type: z.ZodType<"image", "image", z.core.$ZodTypeInternals<"image", "image">>;
184
- url: z.ZodType<string, string, z.core.$ZodTypeInternals<string, string>>;
185
- width: z.ZodType<number, number, z.core.$ZodTypeInternals<number, number>>;
186
- height: z.ZodType<number, number, z.core.$ZodTypeInternals<number, number>>;
187
- file_size_bytes: z.ZodOptional<z.ZodType<number, number, z.core.$ZodTypeInternals<number, number>>>;
188
- pixel_ratio: z.ZodOptional<z.ZodType<number, number, z.core.$ZodTypeInternals<number, number>>>;
189
- state_id: z.ZodOptional<z.ZodType<string, string, z.core.$ZodTypeInternals<string, string>>>;
190
- breakpoint_id: z.ZodOptional<z.ZodType<string, string, z.core.$ZodTypeInternals<string, string>>>;
191
- focal_point: z.ZodOptional<z.ZodType<[number, number], [number, number], z.core.$ZodTypeInternals<[number, number], [number, number]>>>;
192
- format: z.ZodOptional<z.ZodType<string, string, z.core.$ZodTypeInternals<string, string>>>;
193
- alt_text: z.ZodOptional<z.ZodType<string, string, z.core.$ZodTypeInternals<string, string>>>;
194
- provenance: z.ZodOptional<z.ZodType<import("..").Provenance, import("..").Provenance, z.core.$ZodTypeInternals<import("..").Provenance, import("..").Provenance>>>;
195
- }, z.core.$loose>, keyof z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>> & z.ZodType<import("..").ImageAsset & Record<string, unknown>, import("..").ImageAsset, z.core.$ZodTypeInternals<import("..").ImageAsset & Record<string, unknown>, import("..").ImageAsset>>>;
196
- colors: z.ZodOptional<z.ZodObject<{
197
- primary: z.ZodOptional<z.ZodString>;
198
- secondary: z.ZodOptional<z.ZodString>;
199
- accent: z.ZodOptional<z.ZodString>;
200
- }, z.core.$loose>>;
201
- voice: z.ZodOptional<z.ZodString>;
202
- tagline: z.ZodOptional<z.ZodString>;
203
- }, z.core.$loose>>;
204
- }, z.core.$loose>;
169
+ transport: z.ZodString;
170
+ orchestration: z.ZodUnion<readonly [z.ZodLiteral<"producer_managed">, z.ZodLiteral<"consumer_managed">]>;
171
+ destination: z.ZodUnion<readonly [z.ZodObject<{
172
+ mode: z.ZodLiteral<"existing">;
173
+ destination_ref: z.ZodString;
174
+ }, z.core.$loose>, z.ZodObject<{
175
+ mode: z.ZodLiteral<"provision">;
176
+ provider: z.ZodObject<{
177
+ domain: z.ZodString;
178
+ }, z.core.$loose>;
179
+ location: z.ZodString;
180
+ access_mode: z.ZodOptional<z.ZodString>;
181
+ }, z.core.$loose>]>;
182
+ format: z.ZodUnion<readonly [z.ZodLiteral<"jsonl">, z.ZodLiteral<"csv">, z.ZodLiteral<"parquet">, z.ZodLiteral<"avro">, z.ZodLiteral<"orc">]>;
205
183
  }, z.core.$loose>, z.ZodObject<{
206
184
  pattern: z.ZodLiteral<"dataset_share">;
207
185
  transport: z.ZodString;
@@ -538,42 +516,20 @@ export declare const SyncCreativesSuccessStrictSchema: z.ZodObject<{
538
516
  }, z.core.$loose>;
539
517
  method: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
540
518
  pattern: z.ZodLiteral<"file_transfer">;
541
- transport: z.ZodUnion<readonly [z.ZodLiteral<"s3">, z.ZodLiteral<"gcs">, z.ZodLiteral<"azure_blob">]>;
542
- directions: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodLiteral<"buyer_to_seller">, z.ZodLiteral<"seller_to_buyer">]>>>;
543
- vendor: z.ZodObject<{
544
- domain: z.ZodString;
545
- brand_id: z.ZodOptional<z.ZodString>;
546
- countries: z.ZodOptional<z.ZodArray<z.ZodString>>;
547
- industries: z.ZodOptional<z.ZodArray<z.ZodString>>;
548
- data_subject_contestation: z.ZodOptional<z.ZodObject<{
549
- url: z.ZodOptional<z.ZodString>;
550
- email: z.ZodOptional<z.ZodEmail>;
551
- languages: z.ZodOptional<z.ZodArray<z.ZodString>>;
552
- }, z.core.$loose>>;
553
- brand_kit_override: z.ZodOptional<z.ZodObject<{
554
- logo: z.ZodOptional<Omit<z.ZodObject<{
555
- asset_type: z.ZodType<"image", "image", z.core.$ZodTypeInternals<"image", "image">>;
556
- url: z.ZodType<string, string, z.core.$ZodTypeInternals<string, string>>;
557
- width: z.ZodType<number, number, z.core.$ZodTypeInternals<number, number>>;
558
- height: z.ZodType<number, number, z.core.$ZodTypeInternals<number, number>>;
559
- file_size_bytes: z.ZodOptional<z.ZodType<number, number, z.core.$ZodTypeInternals<number, number>>>;
560
- pixel_ratio: z.ZodOptional<z.ZodType<number, number, z.core.$ZodTypeInternals<number, number>>>;
561
- state_id: z.ZodOptional<z.ZodType<string, string, z.core.$ZodTypeInternals<string, string>>>;
562
- breakpoint_id: z.ZodOptional<z.ZodType<string, string, z.core.$ZodTypeInternals<string, string>>>;
563
- focal_point: z.ZodOptional<z.ZodType<[number, number], [number, number], z.core.$ZodTypeInternals<[number, number], [number, number]>>>;
564
- format: z.ZodOptional<z.ZodType<string, string, z.core.$ZodTypeInternals<string, string>>>;
565
- alt_text: z.ZodOptional<z.ZodType<string, string, z.core.$ZodTypeInternals<string, string>>>;
566
- provenance: z.ZodOptional<z.ZodType<import("..").Provenance, import("..").Provenance, z.core.$ZodTypeInternals<import("..").Provenance, import("..").Provenance>>>;
567
- }, z.core.$loose>, keyof z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>> & z.ZodType<import("..").ImageAsset & Record<string, unknown>, import("..").ImageAsset, z.core.$ZodTypeInternals<import("..").ImageAsset & Record<string, unknown>, import("..").ImageAsset>>>;
568
- colors: z.ZodOptional<z.ZodObject<{
569
- primary: z.ZodOptional<z.ZodString>;
570
- secondary: z.ZodOptional<z.ZodString>;
571
- accent: z.ZodOptional<z.ZodString>;
572
- }, z.core.$loose>>;
573
- voice: z.ZodOptional<z.ZodString>;
574
- tagline: z.ZodOptional<z.ZodString>;
575
- }, z.core.$loose>>;
576
- }, z.core.$loose>;
519
+ transport: z.ZodString;
520
+ orchestration: z.ZodUnion<readonly [z.ZodLiteral<"producer_managed">, z.ZodLiteral<"consumer_managed">]>;
521
+ destination: z.ZodUnion<readonly [z.ZodObject<{
522
+ mode: z.ZodLiteral<"existing">;
523
+ destination_ref: z.ZodString;
524
+ }, z.core.$loose>, z.ZodObject<{
525
+ mode: z.ZodLiteral<"provision">;
526
+ provider: z.ZodObject<{
527
+ domain: z.ZodString;
528
+ }, z.core.$loose>;
529
+ location: z.ZodString;
530
+ access_mode: z.ZodOptional<z.ZodString>;
531
+ }, z.core.$loose>]>;
532
+ format: z.ZodUnion<readonly [z.ZodLiteral<"jsonl">, z.ZodLiteral<"csv">, z.ZodLiteral<"parquet">, z.ZodLiteral<"avro">, z.ZodLiteral<"orc">]>;
577
533
  }, z.core.$loose>, z.ZodObject<{
578
534
  pattern: z.ZodLiteral<"dataset_share">;
579
535
  transport: z.ZodString;
@@ -922,42 +878,20 @@ export declare const SyncCreativesResponseStrictSchema: z.ZodUnion<readonly [z.Z
922
878
  }, z.core.$loose>;
923
879
  method: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
924
880
  pattern: z.ZodLiteral<"file_transfer">;
925
- transport: z.ZodUnion<readonly [z.ZodLiteral<"s3">, z.ZodLiteral<"gcs">, z.ZodLiteral<"azure_blob">]>;
926
- directions: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodLiteral<"buyer_to_seller">, z.ZodLiteral<"seller_to_buyer">]>>>;
927
- vendor: z.ZodObject<{
928
- domain: z.ZodString;
929
- brand_id: z.ZodOptional<z.ZodString>;
930
- countries: z.ZodOptional<z.ZodArray<z.ZodString>>;
931
- industries: z.ZodOptional<z.ZodArray<z.ZodString>>;
932
- data_subject_contestation: z.ZodOptional<z.ZodObject<{
933
- url: z.ZodOptional<z.ZodString>;
934
- email: z.ZodOptional<z.ZodEmail>;
935
- languages: z.ZodOptional<z.ZodArray<z.ZodString>>;
936
- }, z.core.$loose>>;
937
- brand_kit_override: z.ZodOptional<z.ZodObject<{
938
- logo: z.ZodOptional<Omit<z.ZodObject<{
939
- asset_type: z.ZodType<"image", "image", z.core.$ZodTypeInternals<"image", "image">>;
940
- url: z.ZodType<string, string, z.core.$ZodTypeInternals<string, string>>;
941
- width: z.ZodType<number, number, z.core.$ZodTypeInternals<number, number>>;
942
- height: z.ZodType<number, number, z.core.$ZodTypeInternals<number, number>>;
943
- file_size_bytes: z.ZodOptional<z.ZodType<number, number, z.core.$ZodTypeInternals<number, number>>>;
944
- pixel_ratio: z.ZodOptional<z.ZodType<number, number, z.core.$ZodTypeInternals<number, number>>>;
945
- state_id: z.ZodOptional<z.ZodType<string, string, z.core.$ZodTypeInternals<string, string>>>;
946
- breakpoint_id: z.ZodOptional<z.ZodType<string, string, z.core.$ZodTypeInternals<string, string>>>;
947
- focal_point: z.ZodOptional<z.ZodType<[number, number], [number, number], z.core.$ZodTypeInternals<[number, number], [number, number]>>>;
948
- format: z.ZodOptional<z.ZodType<string, string, z.core.$ZodTypeInternals<string, string>>>;
949
- alt_text: z.ZodOptional<z.ZodType<string, string, z.core.$ZodTypeInternals<string, string>>>;
950
- provenance: z.ZodOptional<z.ZodType<import("..").Provenance, import("..").Provenance, z.core.$ZodTypeInternals<import("..").Provenance, import("..").Provenance>>>;
951
- }, z.core.$loose>, keyof z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>> & z.ZodType<import("..").ImageAsset & Record<string, unknown>, import("..").ImageAsset, z.core.$ZodTypeInternals<import("..").ImageAsset & Record<string, unknown>, import("..").ImageAsset>>>;
952
- colors: z.ZodOptional<z.ZodObject<{
953
- primary: z.ZodOptional<z.ZodString>;
954
- secondary: z.ZodOptional<z.ZodString>;
955
- accent: z.ZodOptional<z.ZodString>;
956
- }, z.core.$loose>>;
957
- voice: z.ZodOptional<z.ZodString>;
958
- tagline: z.ZodOptional<z.ZodString>;
959
- }, z.core.$loose>>;
960
- }, z.core.$loose>;
881
+ transport: z.ZodString;
882
+ orchestration: z.ZodUnion<readonly [z.ZodLiteral<"producer_managed">, z.ZodLiteral<"consumer_managed">]>;
883
+ destination: z.ZodUnion<readonly [z.ZodObject<{
884
+ mode: z.ZodLiteral<"existing">;
885
+ destination_ref: z.ZodString;
886
+ }, z.core.$loose>, z.ZodObject<{
887
+ mode: z.ZodLiteral<"provision">;
888
+ provider: z.ZodObject<{
889
+ domain: z.ZodString;
890
+ }, z.core.$loose>;
891
+ location: z.ZodString;
892
+ access_mode: z.ZodOptional<z.ZodString>;
893
+ }, z.core.$loose>]>;
894
+ format: z.ZodUnion<readonly [z.ZodLiteral<"jsonl">, z.ZodLiteral<"csv">, z.ZodLiteral<"parquet">, z.ZodLiteral<"avro">, z.ZodLiteral<"orc">]>;
961
895
  }, z.core.$loose>, z.ZodObject<{
962
896
  pattern: z.ZodLiteral<"dataset_share">;
963
897
  transport: z.ZodString;
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * AdCP SDK library version
3
3
  */
4
- export declare const LIBRARY_VERSION = "14.0.0-beta.26";
4
+ export declare const LIBRARY_VERSION = "14.0.0-beta.28";
5
5
  /**
6
6
  * AdCP specification version this library is built for
7
7
  */
@@ -33,10 +33,10 @@ export type AdcpVersion = (typeof COMPATIBLE_ADCP_VERSIONS)[number];
33
33
  * Full version information
34
34
  */
35
35
  export declare const VERSION_INFO: {
36
- readonly library: "14.0.0-beta.26";
36
+ readonly library: "14.0.0-beta.28";
37
37
  readonly adcp: "3.2.0-beta.10";
38
38
  readonly compatibleVersions: readonly ["v2.5", "v2.6", "v3", "3.0.0-beta.1", "3.0-beta.1", "3.0-beta", "3.0.0-beta.3", "3.0-beta.3", "3.0.0", "3.0", "3.0.1", "3.0.2", "3.0.3", "3.0.4", "3.0.5", "3.0.6", "3.0.7", "3.0.8", "3.0.9", "3.0.10", "3.0.11", "3.0.12", "3.0.13", "3.0.14", "3.0.15", "3.0.16", "3.0.17", "3.0.18", "3.0.19", "3.0.20", "3.0.21", "3.0.22", "3.0.23", "3.0.24", "3.0.25", "3.1.0", "3.1", "3.1.1", "3.1.2", "3.1.3", "3.1.4", "3.1.5", "3.1.6", "3.1.7", "3.1.8", "3.1.9", "3.1.10", "3.1.11", "3.1.12", "3.1.13", "3.1.14", "3.1.15", "3.1.16", "3.1.17", "3.1.18", "3.2.0-beta.10", "3.2-beta.10"];
39
- readonly generatedAt: "2026-09-01T23:32:34.220Z";
39
+ readonly generatedAt: "2026-09-02T09:57:23.680Z";
40
40
  };
41
41
  /**
42
42
  * Get the AdCP specification version this library is built for
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * AdCP SDK library version
3
3
  */
4
- export declare const LIBRARY_VERSION = "14.0.0-beta.26";
4
+ export declare const LIBRARY_VERSION = "14.0.0-beta.28";
5
5
  /**
6
6
  * AdCP specification version this library is built for
7
7
  */
@@ -33,10 +33,10 @@ export type AdcpVersion = (typeof COMPATIBLE_ADCP_VERSIONS)[number];
33
33
  * Full version information
34
34
  */
35
35
  export declare const VERSION_INFO: {
36
- readonly library: "14.0.0-beta.26";
36
+ readonly library: "14.0.0-beta.28";
37
37
  readonly adcp: "3.2.0-beta.10";
38
38
  readonly compatibleVersions: readonly ["v2.5", "v2.6", "v3", "3.0.0-beta.1", "3.0-beta.1", "3.0-beta", "3.0.0-beta.3", "3.0-beta.3", "3.0.0", "3.0", "3.0.1", "3.0.2", "3.0.3", "3.0.4", "3.0.5", "3.0.6", "3.0.7", "3.0.8", "3.0.9", "3.0.10", "3.0.11", "3.0.12", "3.0.13", "3.0.14", "3.0.15", "3.0.16", "3.0.17", "3.0.18", "3.0.19", "3.0.20", "3.0.21", "3.0.22", "3.0.23", "3.0.24", "3.0.25", "3.1.0", "3.1", "3.1.1", "3.1.2", "3.1.3", "3.1.4", "3.1.5", "3.1.6", "3.1.7", "3.1.8", "3.1.9", "3.1.10", "3.1.11", "3.1.12", "3.1.13", "3.1.14", "3.1.15", "3.1.16", "3.1.17", "3.1.18", "3.2.0-beta.10", "3.2-beta.10"];
39
- readonly generatedAt: "2026-09-01T23:32:34.220Z";
39
+ readonly generatedAt: "2026-09-02T09:57:23.680Z";
40
40
  };
41
41
  /**
42
42
  * Get the AdCP specification version this library is built for
@@ -31,7 +31,7 @@ __export(version_exports, {
31
31
  toReleasePrecisionVersion: () => toReleasePrecisionVersion
32
32
  });
33
33
  module.exports = __toCommonJS(version_exports);
34
- const LIBRARY_VERSION = "14.0.0-beta.26";
34
+ const LIBRARY_VERSION = "14.0.0-beta.28";
35
35
  const ADCP_VERSION = "3.2.0-beta.10";
36
36
  const ADCP_MAJOR_VERSION = 3;
37
37
  const COMPATIBLE_ADCP_VERSIONS = [
@@ -94,10 +94,10 @@ const COMPATIBLE_ADCP_VERSIONS = [
94
94
  "3.2-beta.10"
95
95
  ];
96
96
  const VERSION_INFO = {
97
- library: "14.0.0-beta.26",
97
+ library: "14.0.0-beta.28",
98
98
  adcp: "3.2.0-beta.10",
99
99
  compatibleVersions: COMPATIBLE_ADCP_VERSIONS,
100
- generatedAt: "2026-09-01T23:32:34.220Z"
100
+ generatedAt: "2026-09-02T09:57:23.680Z"
101
101
  };
102
102
  function getAdcpVersion() {
103
103
  return ADCP_VERSION;
@@ -1,4 +1,4 @@
1
- const LIBRARY_VERSION = "14.0.0-beta.26";
1
+ const LIBRARY_VERSION = "14.0.0-beta.28";
2
2
  const ADCP_VERSION = "3.2.0-beta.10";
3
3
  const ADCP_MAJOR_VERSION = 3;
4
4
  const COMPATIBLE_ADCP_VERSIONS = [
@@ -61,10 +61,10 @@ const COMPATIBLE_ADCP_VERSIONS = [
61
61
  "3.2-beta.10"
62
62
  ];
63
63
  const VERSION_INFO = {
64
- library: "14.0.0-beta.26",
64
+ library: "14.0.0-beta.28",
65
65
  adcp: "3.2.0-beta.10",
66
66
  compatibleVersions: COMPATIBLE_ADCP_VERSIONS,
67
- generatedAt: "2026-09-01T23:32:34.220Z"
67
+ generatedAt: "2026-09-02T09:57:23.680Z"
68
68
  };
69
69
  function getAdcpVersion() {
70
70
  return ADCP_VERSION;
@@ -1,7 +1,7 @@
1
1
  # AdCP Type Summary
2
2
 
3
- > Generated at: 2026-09-01
4
- > @adcp/sdk v14.0.0-beta.26
3
+ > Generated at: 2026-09-02
4
+ > @adcp/sdk v14.0.0-beta.28
5
5
 
6
6
  Curated reference of the types that matter for using the AdCP client. For full generated types see `src/lib/types/tools.generated.ts` and `src/lib/types/core.generated.ts`.
7
7
 
@@ -0,0 +1,107 @@
1
+ # Reporting reconciliation
2
+
3
+ `reconcileReporting` turns the reporting ledger into a buyer-verifiable result. It reads one stable ledger snapshot, checks the expected period set, inspects each current destination materialization, submits any required consumer receipts, and then reads the seller's ledger back before returning.
4
+
5
+ The helper only returns `definitive: true` when all of these conditions hold:
6
+
7
+ - the buyer supplies its own complete `expectedPeriods` denominator;
8
+ - the seller closes the requested scope and declares its coverage complete;
9
+ - every expected report definition, feed, reporting profile, campaign set, and period has an obligation;
10
+ - every obligation's history counts match the returned immutable records;
11
+ - the current revision has the required finality;
12
+ - a verified, unexpired materialization matches the obligation;
13
+ - every consumer-receipt obligation has an accepted receipt for the same revision, materialization, row count, control totals, and required verification evidence.
14
+
15
+ An omitted expected-period denominator can still diagnose delivery, but can never prove completeness. Pass `[]` only when the buyer independently knows that no periods are expected in the requested scope.
16
+
17
+ ```ts
18
+ import {
19
+ createHttpsReportingResourceReader,
20
+ reconcileReporting,
21
+ } from '@adcp/sdk';
22
+
23
+ const result = await reconcileReporting({
24
+ client: seller,
25
+ request: {
26
+ account: { account_id: 'account-1' },
27
+ period: {
28
+ start: '2026-08-01T00:00:00Z',
29
+ end: '2026-09-01T00:00:00Z',
30
+ },
31
+ },
32
+ expectedPeriods: [{
33
+ deliveryConfigId: 'billing-feed',
34
+ deliveryConfigVersion: 3,
35
+ reportDefinitionId: 'billing-v1',
36
+ feedPurpose: 'billing',
37
+ reportingProfile: 'billing-v1',
38
+ mediaBuyIds: ['buy-1', 'buy-2'],
39
+ destinationRef: 'destination-billing-v3',
40
+ deliveryMethod: 'file_transfer',
41
+ requiredFinality: 'official',
42
+ reconciliationMode: 'consumer_receipt',
43
+ coverageRequirement: 'full',
44
+ coverage: {
45
+ status: 'full',
46
+ media_buy_ids: ['buy-1', 'buy-2'],
47
+ fully_covered_media_buy_ids: ['buy-1', 'buy-2'],
48
+ partially_covered_media_buy_ids: [],
49
+ unsupported_media_buy_ids: [],
50
+ unknown_media_buy_ids: [],
51
+ package_ids: ['package-1', 'package-2'],
52
+ covered_package_ids: ['package-1', 'package-2'],
53
+ unsupported_package_ids: [],
54
+ unknown_package_ids: [],
55
+ },
56
+ reportDefinitionUri: 'https://schemas.seller.example/report-definitions/billing-v1.json',
57
+ reportDefinitionSha256: savedBillingDefinitionSha256,
58
+ schemaVersion: '1',
59
+ schemaUri: 'https://schemas.seller.example/reporting/billing-v1.json',
60
+ schemaSha256: savedBillingSchemaSha256,
61
+ schemaDialect: 'https://json-schema.org/draft/2020-12/schema',
62
+ schemaRefPolicy: 'local_fragment_only',
63
+ officialFinality: {
64
+ policyId: 'billing-close-v1',
65
+ basis: 'contractual_cutoff',
66
+ },
67
+ verificationProfile: 'canonical_digest',
68
+ canonicalization: {
69
+ id: 'billing-rows-v1',
70
+ uri: 'https://schemas.seller.example/canonicalization/billing-rows-v1.json',
71
+ sha256: savedCanonicalizationSha256,
72
+ primaryKeys: ['media_buy_id', 'date'],
73
+ },
74
+ periodStart: '2026-08-01T00:00:00Z',
75
+ periodEnd: '2026-09-01T00:00:00Z',
76
+ }],
77
+ resourceReader: createHttpsReportingResourceReader(),
78
+ credentialProvider: {
79
+ async getCredentials({ obligation }) {
80
+ const destination = await loadSavedDestination(obligation.destination_ref);
81
+ return {
82
+ headers: {
83
+ authorization: `Bearer ${await destinationToken(obligation.destination_ref)}`,
84
+ },
85
+ allowedOrigins: [destination.readerOrigin],
86
+ };
87
+ },
88
+ },
89
+ manifestInspectorOptions: {
90
+ referenceAllowedOrigins: ['https://schemas.seller.example'],
91
+ consumerCommitRef: 'buyer-reporting-ledger:2026-08',
92
+ maxInspectionMs: 60_000,
93
+ },
94
+ });
95
+
96
+ if (!result.definitive) {
97
+ throw new Error('Reporting is not ready for billing');
98
+ }
99
+ ```
100
+
101
+ When `inspect` is omitted, `resourceReader` enables the built-in manifest path. It verifies the exact manifest bytes before parsing, manifest identity and completeness, every object size and SHA-256, declared compression and format, the pinned row schema and report definition, row count and control totals, and the pinned RFC 8785 canonical-content contract. The bundled decoders cover JSONL and CSV with `none` or `gzip` compression. Configure format/compression decoders for Parquet, Avro, ORC, Zstandard, or Snappy. The aggregate inspection deadline covers credential lookup, reads, reference resolution, custom adapters, validation, and canonicalization.
102
+
103
+ The HTTPS reader applies the SDK's DNS-pinned SSRF controls, refuses redirects and cross-origin `object_ref` values, and accepts short-lived headers only through the credential provider. `allowedOrigins` must come from the consumer's saved destination configuration; the reader refuses to send credentials to an origin named only by the seller's resource descriptor. For S3, GCS, or Azure, implement `ReportingResourceReader`; it receives the destination-bound context and opaque credentials without placing either in the ledger or receipt. Complex control totals can supply `controlTotalCalculator`; the default handles only report-definition metrics whose declared aggregation is `sum` and whose `source_expression` resolves to numeric row values.
104
+
105
+ Keep `inspect` as the advanced override for native snapshots. A BigQuery adapter can inspect a table version, while Snowflake or Databricks adapters can verify a shared relation. `ReportingInspectionError.retryable` distinguishes transport/readiness failures from permanent digest, schema, or integrity failures, so permanent failures are never retried. Store receipts in a durable `checkpointStore` so a process restart does not repeat destination work. Set `checkpointScope` to a stable, non-secret seller-and-authenticated-principal identifier; checkpoint keys also include account, obligation, revision, materialization, and destination. The checkpoint preserves the receipt-write idempotency key across uncertain retries.
106
+
107
+ Totals are returned once per canonical reporting revision. Each entry includes its coverage status and covered/package denominators, so partial evidence cannot be mistaken for full billing totals. Delivering the same revision to a buyer, governance agent, and archive destination does not multiply its rows or financial control totals. Each consumer still authenticates independently and submits its own receipt; one consumer's acceptance never implies another's.
package/docs/llms.txt CHANGED
@@ -1,7 +1,7 @@
1
1
  # Ad Context Protocol (AdCP)
2
2
 
3
- > Generated at: 2026-09-01
4
- > Library: @adcp/sdk v14.0.0-beta.26
3
+ > Generated at: 2026-09-02
4
+ > Library: @adcp/sdk v14.0.0-beta.28
5
5
  > AdCP major version: 3
6
6
  > Canonical URL: https://adcontextprotocol.github.io/adcp-client/llms.txt
7
7
  > Note: the `Library` stamp reflects the package.json version at doc-generation time. The narrative below describes the surface that lands on the next-published minor — including any 6.7 helpers documented here ahead of the release tag.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adcp/sdk",
3
- "version": "14.0.0-beta.26",
3
+ "version": "14.0.0-beta.28",
4
4
  "description": "AdCP SDK — client, server, and compliance harnesses for the AdContext Protocol (MCP + A2A)",
5
5
  "workspaces": [
6
6
  ".",