@adcp/client 4.8.0 → 4.9.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.
- package/bin/adcp.js +8 -0
- package/dist/lib/adapters/governance-adapter.d.ts +88 -0
- package/dist/lib/adapters/governance-adapter.d.ts.map +1 -0
- package/dist/lib/adapters/governance-adapter.js +96 -0
- package/dist/lib/adapters/governance-adapter.js.map +1 -0
- package/dist/lib/adapters/index.d.ts +1 -0
- package/dist/lib/adapters/index.d.ts.map +1 -1
- package/dist/lib/adapters/index.js +7 -1
- package/dist/lib/adapters/index.js.map +1 -1
- package/dist/lib/agents/index.generated.d.ts +33 -1
- package/dist/lib/agents/index.generated.d.ts.map +1 -1
- package/dist/lib/agents/index.generated.js +48 -0
- package/dist/lib/agents/index.generated.js.map +1 -1
- package/dist/lib/core/AgentClient.d.ts.map +1 -1
- package/dist/lib/core/AsyncHandler.d.ts +1 -1
- package/dist/lib/core/AsyncHandler.d.ts.map +1 -1
- package/dist/lib/core/AsyncHandler.js.map +1 -1
- package/dist/lib/core/ConversationTypes.d.ts +8 -2
- package/dist/lib/core/ConversationTypes.d.ts.map +1 -1
- package/dist/lib/core/GovernanceMiddleware.d.ts +86 -0
- package/dist/lib/core/GovernanceMiddleware.d.ts.map +1 -0
- package/dist/lib/core/GovernanceMiddleware.js +289 -0
- package/dist/lib/core/GovernanceMiddleware.js.map +1 -0
- package/dist/lib/core/GovernanceTypes.d.ts +118 -0
- package/dist/lib/core/GovernanceTypes.d.ts.map +1 -0
- package/dist/lib/core/GovernanceTypes.js +69 -0
- package/dist/lib/core/GovernanceTypes.js.map +1 -0
- package/dist/lib/core/SingleAgentClient.d.ts +35 -1
- package/dist/lib/core/SingleAgentClient.d.ts.map +1 -1
- package/dist/lib/core/SingleAgentClient.js +45 -0
- package/dist/lib/core/SingleAgentClient.js.map +1 -1
- package/dist/lib/core/TaskExecutor.d.ts +10 -0
- package/dist/lib/core/TaskExecutor.d.ts.map +1 -1
- package/dist/lib/core/TaskExecutor.js +95 -10
- package/dist/lib/core/TaskExecutor.js.map +1 -1
- package/dist/lib/index.d.ts +6 -2
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +22 -4
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/observability/index.d.ts +8 -0
- package/dist/lib/observability/index.d.ts.map +1 -0
- package/dist/lib/observability/index.js +17 -0
- package/dist/lib/observability/index.js.map +1 -0
- package/dist/lib/observability/tracing.d.ts +42 -0
- package/dist/lib/observability/tracing.d.ts.map +1 -0
- package/dist/lib/observability/tracing.js +126 -0
- package/dist/lib/observability/tracing.js.map +1 -0
- package/dist/lib/protocols/a2a.d.ts.map +1 -1
- package/dist/lib/protocols/a2a.js +16 -1
- package/dist/lib/protocols/a2a.js.map +1 -1
- package/dist/lib/protocols/index.d.ts.map +1 -1
- package/dist/lib/protocols/index.js +37 -29
- package/dist/lib/protocols/index.js.map +1 -1
- package/dist/lib/protocols/mcp.d.ts.map +1 -1
- package/dist/lib/protocols/mcp.js +21 -1
- package/dist/lib/protocols/mcp.js.map +1 -1
- package/dist/lib/registry/types.generated.d.ts +750 -1
- package/dist/lib/registry/types.generated.d.ts.map +1 -1
- package/dist/lib/registry/types.generated.js +1 -1
- package/dist/lib/testing/agent-tester.d.ts +1 -1
- package/dist/lib/testing/agent-tester.d.ts.map +1 -1
- package/dist/lib/testing/agent-tester.js +36 -11
- package/dist/lib/testing/agent-tester.js.map +1 -1
- package/dist/lib/testing/orchestrator.d.ts +0 -2
- package/dist/lib/testing/orchestrator.d.ts.map +1 -1
- package/dist/lib/testing/orchestrator.js +14 -3
- package/dist/lib/testing/orchestrator.js.map +1 -1
- package/dist/lib/testing/scenarios/capabilities.d.ts.map +1 -1
- package/dist/lib/testing/scenarios/capabilities.js +64 -4
- package/dist/lib/testing/scenarios/capabilities.js.map +1 -1
- package/dist/lib/testing/scenarios/creative.d.ts +14 -0
- package/dist/lib/testing/scenarios/creative.d.ts.map +1 -1
- package/dist/lib/testing/scenarios/creative.js +241 -42
- package/dist/lib/testing/scenarios/creative.js.map +1 -1
- package/dist/lib/testing/scenarios/governance.d.ts +48 -0
- package/dist/lib/testing/scenarios/governance.d.ts.map +1 -1
- package/dist/lib/testing/scenarios/governance.js +675 -0
- package/dist/lib/testing/scenarios/governance.js.map +1 -1
- package/dist/lib/testing/scenarios/index.d.ts +3 -3
- package/dist/lib/testing/scenarios/index.d.ts.map +1 -1
- package/dist/lib/testing/scenarios/index.js +8 -1
- package/dist/lib/testing/scenarios/index.js.map +1 -1
- package/dist/lib/testing/scenarios/media-buy.d.ts +8 -0
- package/dist/lib/testing/scenarios/media-buy.d.ts.map +1 -1
- package/dist/lib/testing/scenarios/media-buy.js +225 -19
- package/dist/lib/testing/scenarios/media-buy.js.map +1 -1
- package/dist/lib/testing/types.d.ts +1 -1
- package/dist/lib/testing/types.d.ts.map +1 -1
- package/dist/lib/types/core.generated.d.ts +629 -5
- package/dist/lib/types/core.generated.d.ts.map +1 -1
- package/dist/lib/types/core.generated.js +1 -1
- package/dist/lib/types/schemas.generated.d.ts +13059 -11101
- package/dist/lib/types/schemas.generated.d.ts.map +1 -1
- package/dist/lib/types/schemas.generated.js +573 -107
- package/dist/lib/types/schemas.generated.js.map +1 -1
- package/dist/lib/types/tools.generated.d.ts +1827 -360
- package/dist/lib/types/tools.generated.d.ts.map +1 -1
- package/dist/lib/utils/capabilities.d.ts +17 -2
- package/dist/lib/utils/capabilities.d.ts.map +1 -1
- package/dist/lib/utils/capabilities.js +26 -2
- package/dist/lib/utils/capabilities.js.map +1 -1
- package/package.json +9 -2
|
@@ -121,6 +121,26 @@ export interface paths {
|
|
|
121
121
|
patch?: never;
|
|
122
122
|
trace?: never;
|
|
123
123
|
};
|
|
124
|
+
"/api/brands/history": {
|
|
125
|
+
parameters: {
|
|
126
|
+
query?: never;
|
|
127
|
+
header?: never;
|
|
128
|
+
path?: never;
|
|
129
|
+
cookie?: never;
|
|
130
|
+
};
|
|
131
|
+
/**
|
|
132
|
+
* Brand activity history
|
|
133
|
+
* @description Returns the edit history for a brand in the registry, newest first. Only brands with community or enriched edits have history; brand.json-sourced brands are authoritative and do not generate revisions.
|
|
134
|
+
*/
|
|
135
|
+
get: operations["getBrandHistory"];
|
|
136
|
+
put?: never;
|
|
137
|
+
post?: never;
|
|
138
|
+
delete?: never;
|
|
139
|
+
options?: never;
|
|
140
|
+
head?: never;
|
|
141
|
+
patch?: never;
|
|
142
|
+
trace?: never;
|
|
143
|
+
};
|
|
124
144
|
"/api/brands/enrich": {
|
|
125
145
|
parameters: {
|
|
126
146
|
query?: never;
|
|
@@ -141,6 +161,26 @@ export interface paths {
|
|
|
141
161
|
patch?: never;
|
|
142
162
|
trace?: never;
|
|
143
163
|
};
|
|
164
|
+
"/api/properties/history": {
|
|
165
|
+
parameters: {
|
|
166
|
+
query?: never;
|
|
167
|
+
header?: never;
|
|
168
|
+
path?: never;
|
|
169
|
+
cookie?: never;
|
|
170
|
+
};
|
|
171
|
+
/**
|
|
172
|
+
* Property activity history
|
|
173
|
+
* @description Returns the edit history for a property in the registry, newest first.
|
|
174
|
+
*/
|
|
175
|
+
get: operations["getPropertyHistory"];
|
|
176
|
+
put?: never;
|
|
177
|
+
post?: never;
|
|
178
|
+
delete?: never;
|
|
179
|
+
options?: never;
|
|
180
|
+
head?: never;
|
|
181
|
+
patch?: never;
|
|
182
|
+
trace?: never;
|
|
183
|
+
};
|
|
144
184
|
"/api/properties/resolve": {
|
|
145
185
|
parameters: {
|
|
146
186
|
query?: never;
|
|
@@ -631,6 +671,108 @@ export interface paths {
|
|
|
631
671
|
patch?: never;
|
|
632
672
|
trace?: never;
|
|
633
673
|
};
|
|
674
|
+
"/api/policies/registry": {
|
|
675
|
+
parameters: {
|
|
676
|
+
query?: never;
|
|
677
|
+
header?: never;
|
|
678
|
+
path?: never;
|
|
679
|
+
cookie?: never;
|
|
680
|
+
};
|
|
681
|
+
/**
|
|
682
|
+
* List policies
|
|
683
|
+
* @description Browse and search the governance policy registry. Returns approved policies with optional filtering by category, enforcement level, jurisdiction, vertical, and governance domain.
|
|
684
|
+
*/
|
|
685
|
+
get: operations["listPolicies"];
|
|
686
|
+
put?: never;
|
|
687
|
+
post?: never;
|
|
688
|
+
delete?: never;
|
|
689
|
+
options?: never;
|
|
690
|
+
head?: never;
|
|
691
|
+
patch?: never;
|
|
692
|
+
trace?: never;
|
|
693
|
+
};
|
|
694
|
+
"/api/policies/resolve": {
|
|
695
|
+
parameters: {
|
|
696
|
+
query?: never;
|
|
697
|
+
header?: never;
|
|
698
|
+
path?: never;
|
|
699
|
+
cookie?: never;
|
|
700
|
+
};
|
|
701
|
+
/**
|
|
702
|
+
* Resolve policy
|
|
703
|
+
* @description Resolve a single policy by ID. Optionally pin to a specific version — returns null if the version does not match.
|
|
704
|
+
*/
|
|
705
|
+
get: operations["resolvePolicy"];
|
|
706
|
+
put?: never;
|
|
707
|
+
post?: never;
|
|
708
|
+
delete?: never;
|
|
709
|
+
options?: never;
|
|
710
|
+
head?: never;
|
|
711
|
+
patch?: never;
|
|
712
|
+
trace?: never;
|
|
713
|
+
};
|
|
714
|
+
"/api/policies/resolve/bulk": {
|
|
715
|
+
parameters: {
|
|
716
|
+
query?: never;
|
|
717
|
+
header?: never;
|
|
718
|
+
path?: never;
|
|
719
|
+
cookie?: never;
|
|
720
|
+
};
|
|
721
|
+
get?: never;
|
|
722
|
+
put?: never;
|
|
723
|
+
/**
|
|
724
|
+
* Bulk resolve policies
|
|
725
|
+
* @description Resolve up to 100 policies by ID in a single request. Returns a map of policy_id to Policy (or null if not found).
|
|
726
|
+
*
|
|
727
|
+
* **Rate limit:** 20 requests per minute per IP address.
|
|
728
|
+
*/
|
|
729
|
+
post: operations["resolvePoliciesBulk"];
|
|
730
|
+
delete?: never;
|
|
731
|
+
options?: never;
|
|
732
|
+
head?: never;
|
|
733
|
+
patch?: never;
|
|
734
|
+
trace?: never;
|
|
735
|
+
};
|
|
736
|
+
"/api/policies/history": {
|
|
737
|
+
parameters: {
|
|
738
|
+
query?: never;
|
|
739
|
+
header?: never;
|
|
740
|
+
path?: never;
|
|
741
|
+
cookie?: never;
|
|
742
|
+
};
|
|
743
|
+
/**
|
|
744
|
+
* Policy revision history
|
|
745
|
+
* @description Retrieve the edit history for a policy. Each revision records who made the change, a summary, and whether it was a rollback.
|
|
746
|
+
*/
|
|
747
|
+
get: operations["getPolicyHistory"];
|
|
748
|
+
put?: never;
|
|
749
|
+
post?: never;
|
|
750
|
+
delete?: never;
|
|
751
|
+
options?: never;
|
|
752
|
+
head?: never;
|
|
753
|
+
patch?: never;
|
|
754
|
+
trace?: never;
|
|
755
|
+
};
|
|
756
|
+
"/api/policies/save": {
|
|
757
|
+
parameters: {
|
|
758
|
+
query?: never;
|
|
759
|
+
header?: never;
|
|
760
|
+
path?: never;
|
|
761
|
+
cookie?: never;
|
|
762
|
+
};
|
|
763
|
+
get?: never;
|
|
764
|
+
put?: never;
|
|
765
|
+
/**
|
|
766
|
+
* Save policy
|
|
767
|
+
* @description Create or update a community-contributed policy. Requires authentication. Registry-sourced and pending-review policies cannot be edited (returns 409). Updates automatically create a revision record.
|
|
768
|
+
*/
|
|
769
|
+
post: operations["savePolicy"];
|
|
770
|
+
delete?: never;
|
|
771
|
+
options?: never;
|
|
772
|
+
head?: never;
|
|
773
|
+
patch?: never;
|
|
774
|
+
trace?: never;
|
|
775
|
+
};
|
|
634
776
|
}
|
|
635
777
|
export type webhooks = Record<string, never>;
|
|
636
778
|
export interface components {
|
|
@@ -674,6 +816,48 @@ export interface components {
|
|
|
674
816
|
/** @enum {string} */
|
|
675
817
|
keller_type?: "master" | "sub_brand" | "endorsed" | "independent";
|
|
676
818
|
};
|
|
819
|
+
BrandActivity: {
|
|
820
|
+
/** @example acmecorp.com */
|
|
821
|
+
domain: string;
|
|
822
|
+
/** @example 3 */
|
|
823
|
+
total: number;
|
|
824
|
+
revisions: {
|
|
825
|
+
/** @example 3 */
|
|
826
|
+
revision_number: number;
|
|
827
|
+
/** @example Pinnacle Media */
|
|
828
|
+
editor_name: string;
|
|
829
|
+
/** @example Updated logo and brand colors */
|
|
830
|
+
edit_summary: string;
|
|
831
|
+
/** @description Source type of the record at the time of this revision (brand_json, enriched, community) */
|
|
832
|
+
source?: string;
|
|
833
|
+
is_rollback: boolean;
|
|
834
|
+
/** @description Revision number that was restored; only present when is_rollback is true */
|
|
835
|
+
rolled_back_to?: number;
|
|
836
|
+
/** @example 2026-03-01T12:34:56Z */
|
|
837
|
+
created_at: string;
|
|
838
|
+
}[];
|
|
839
|
+
};
|
|
840
|
+
PropertyActivity: {
|
|
841
|
+
/** @example examplepub.com */
|
|
842
|
+
domain: string;
|
|
843
|
+
/** @example 3 */
|
|
844
|
+
total: number;
|
|
845
|
+
revisions: {
|
|
846
|
+
/** @example 3 */
|
|
847
|
+
revision_number: number;
|
|
848
|
+
/** @example Pinnacle Media */
|
|
849
|
+
editor_name: string;
|
|
850
|
+
/** @example Updated logo and brand colors */
|
|
851
|
+
edit_summary: string;
|
|
852
|
+
/** @description Source type of the record at the time of this revision (brand_json, enriched, community) */
|
|
853
|
+
source?: string;
|
|
854
|
+
is_rollback: boolean;
|
|
855
|
+
/** @description Revision number that was restored; only present when is_rollback is true */
|
|
856
|
+
rolled_back_to?: number;
|
|
857
|
+
/** @example 2026-03-01T12:34:56Z */
|
|
858
|
+
created_at: string;
|
|
859
|
+
}[];
|
|
860
|
+
};
|
|
677
861
|
ResolvedProperty: {
|
|
678
862
|
/** @example examplepub.com */
|
|
679
863
|
publisher_domain: string;
|
|
@@ -842,6 +1026,183 @@ export interface components {
|
|
|
842
1026
|
property_ids?: string[];
|
|
843
1027
|
tags?: string[];
|
|
844
1028
|
};
|
|
1029
|
+
PolicySummary: {
|
|
1030
|
+
/** @example gdpr_consent */
|
|
1031
|
+
policy_id: string;
|
|
1032
|
+
/** @example 1.0.0 */
|
|
1033
|
+
version: string;
|
|
1034
|
+
/** @example GDPR Consent Requirements */
|
|
1035
|
+
name: string;
|
|
1036
|
+
/** @example Requirements for valid consent under GDPR */
|
|
1037
|
+
description: string | null;
|
|
1038
|
+
/** @enum {string} */
|
|
1039
|
+
category: "regulation" | "standard";
|
|
1040
|
+
/** @enum {string} */
|
|
1041
|
+
enforcement: "must" | "should" | "may";
|
|
1042
|
+
/**
|
|
1043
|
+
* @example [
|
|
1044
|
+
* "EU",
|
|
1045
|
+
* "EEA"
|
|
1046
|
+
* ]
|
|
1047
|
+
*/
|
|
1048
|
+
jurisdictions: string[];
|
|
1049
|
+
/**
|
|
1050
|
+
* @example {
|
|
1051
|
+
* "EU": [
|
|
1052
|
+
* "DE",
|
|
1053
|
+
* "FR",
|
|
1054
|
+
* "IT"
|
|
1055
|
+
* ]
|
|
1056
|
+
* }
|
|
1057
|
+
*/
|
|
1058
|
+
region_aliases: {
|
|
1059
|
+
[key: string]: string[];
|
|
1060
|
+
};
|
|
1061
|
+
/**
|
|
1062
|
+
* @example [
|
|
1063
|
+
* "finance",
|
|
1064
|
+
* "healthcare"
|
|
1065
|
+
* ]
|
|
1066
|
+
*/
|
|
1067
|
+
verticals: string[];
|
|
1068
|
+
/**
|
|
1069
|
+
* @example [
|
|
1070
|
+
* "display",
|
|
1071
|
+
* "video"
|
|
1072
|
+
* ]
|
|
1073
|
+
*/
|
|
1074
|
+
channels: string[] | null;
|
|
1075
|
+
/**
|
|
1076
|
+
* @example [
|
|
1077
|
+
* "campaign",
|
|
1078
|
+
* "creative"
|
|
1079
|
+
* ]
|
|
1080
|
+
*/
|
|
1081
|
+
governance_domains: string[];
|
|
1082
|
+
/** @example 2025-05-25 */
|
|
1083
|
+
effective_date: string | null;
|
|
1084
|
+
sunset_date: string | null;
|
|
1085
|
+
/** @example https://eur-lex.europa.eu/eli/reg/2016/679/oj */
|
|
1086
|
+
source_url: string | null;
|
|
1087
|
+
/** @example EUR-Lex */
|
|
1088
|
+
source_name: string | null;
|
|
1089
|
+
/** @enum {string} */
|
|
1090
|
+
source_type: "registry" | "community";
|
|
1091
|
+
/** @enum {string} */
|
|
1092
|
+
review_status: "pending" | "approved";
|
|
1093
|
+
/** @example 2026-03-01T12:00:00.000Z */
|
|
1094
|
+
created_at: string;
|
|
1095
|
+
/** @example 2026-03-01T12:00:00.000Z */
|
|
1096
|
+
updated_at: string;
|
|
1097
|
+
};
|
|
1098
|
+
Policy: {
|
|
1099
|
+
/** @example gdpr_consent */
|
|
1100
|
+
policy_id: string;
|
|
1101
|
+
/** @example 1.0.0 */
|
|
1102
|
+
version: string;
|
|
1103
|
+
/** @example GDPR Consent Requirements */
|
|
1104
|
+
name: string;
|
|
1105
|
+
/** @example Requirements for valid consent under GDPR */
|
|
1106
|
+
description: string | null;
|
|
1107
|
+
/** @enum {string} */
|
|
1108
|
+
category: "regulation" | "standard";
|
|
1109
|
+
/** @enum {string} */
|
|
1110
|
+
enforcement: "must" | "should" | "may";
|
|
1111
|
+
/**
|
|
1112
|
+
* @example [
|
|
1113
|
+
* "EU",
|
|
1114
|
+
* "EEA"
|
|
1115
|
+
* ]
|
|
1116
|
+
*/
|
|
1117
|
+
jurisdictions: string[];
|
|
1118
|
+
/**
|
|
1119
|
+
* @example {
|
|
1120
|
+
* "EU": [
|
|
1121
|
+
* "DE",
|
|
1122
|
+
* "FR",
|
|
1123
|
+
* "IT"
|
|
1124
|
+
* ]
|
|
1125
|
+
* }
|
|
1126
|
+
*/
|
|
1127
|
+
region_aliases: {
|
|
1128
|
+
[key: string]: string[];
|
|
1129
|
+
};
|
|
1130
|
+
/**
|
|
1131
|
+
* @example [
|
|
1132
|
+
* "finance",
|
|
1133
|
+
* "healthcare"
|
|
1134
|
+
* ]
|
|
1135
|
+
*/
|
|
1136
|
+
verticals: string[];
|
|
1137
|
+
/**
|
|
1138
|
+
* @example [
|
|
1139
|
+
* "display",
|
|
1140
|
+
* "video"
|
|
1141
|
+
* ]
|
|
1142
|
+
*/
|
|
1143
|
+
channels: string[] | null;
|
|
1144
|
+
/**
|
|
1145
|
+
* @example [
|
|
1146
|
+
* "campaign",
|
|
1147
|
+
* "creative"
|
|
1148
|
+
* ]
|
|
1149
|
+
*/
|
|
1150
|
+
governance_domains: string[];
|
|
1151
|
+
/** @example 2025-05-25 */
|
|
1152
|
+
effective_date: string | null;
|
|
1153
|
+
sunset_date: string | null;
|
|
1154
|
+
/** @example https://eur-lex.europa.eu/eli/reg/2016/679/oj */
|
|
1155
|
+
source_url: string | null;
|
|
1156
|
+
/** @example EUR-Lex */
|
|
1157
|
+
source_name: string | null;
|
|
1158
|
+
/** @example Data subjects must provide freely given, specific, informed and unambiguous consent... */
|
|
1159
|
+
policy: string;
|
|
1160
|
+
guidance: string | null;
|
|
1161
|
+
exemplars: {
|
|
1162
|
+
pass?: {
|
|
1163
|
+
/** @example Ad for alcohol shown during children's programming */
|
|
1164
|
+
scenario: string;
|
|
1165
|
+
/** @example Violates watershed timing rules for alcohol advertising */
|
|
1166
|
+
explanation: string;
|
|
1167
|
+
}[];
|
|
1168
|
+
fail?: {
|
|
1169
|
+
/** @example Ad for alcohol shown during children's programming */
|
|
1170
|
+
scenario: string;
|
|
1171
|
+
/** @example Violates watershed timing rules for alcohol advertising */
|
|
1172
|
+
explanation: string;
|
|
1173
|
+
}[];
|
|
1174
|
+
} | null;
|
|
1175
|
+
ext: {
|
|
1176
|
+
[key: string]: unknown;
|
|
1177
|
+
} | null;
|
|
1178
|
+
/** @enum {string} */
|
|
1179
|
+
source_type: "registry" | "community";
|
|
1180
|
+
/** @enum {string} */
|
|
1181
|
+
review_status: "pending" | "approved";
|
|
1182
|
+
/** @example 2026-03-01T12:00:00.000Z */
|
|
1183
|
+
created_at: string;
|
|
1184
|
+
/** @example 2026-03-01T12:00:00.000Z */
|
|
1185
|
+
updated_at: string;
|
|
1186
|
+
};
|
|
1187
|
+
PolicyHistory: {
|
|
1188
|
+
/** @example gdpr_consent */
|
|
1189
|
+
policy_id: string;
|
|
1190
|
+
/** @example 3 */
|
|
1191
|
+
total: number;
|
|
1192
|
+
revisions: {
|
|
1193
|
+
/** @example 2 */
|
|
1194
|
+
revision_number: number;
|
|
1195
|
+
/** @example Pinnacle Media */
|
|
1196
|
+
editor_name: string;
|
|
1197
|
+
/** @example Clarified consent requirements for minors */
|
|
1198
|
+
edit_summary: string;
|
|
1199
|
+
is_rollback: boolean;
|
|
1200
|
+
/** @description Revision number that was restored; only present when is_rollback is true */
|
|
1201
|
+
rolled_back_to?: number;
|
|
1202
|
+
/** @example 2026-03-01T12:34:56Z */
|
|
1203
|
+
created_at: string;
|
|
1204
|
+
}[];
|
|
1205
|
+
};
|
|
845
1206
|
};
|
|
846
1207
|
responses: never;
|
|
847
1208
|
parameters: never;
|
|
@@ -1094,7 +1455,6 @@ export interface operations {
|
|
|
1094
1455
|
stats: {
|
|
1095
1456
|
total: number;
|
|
1096
1457
|
brand_json: number;
|
|
1097
|
-
hosted: number;
|
|
1098
1458
|
community: number;
|
|
1099
1459
|
enriched: number;
|
|
1100
1460
|
};
|
|
@@ -1103,6 +1463,51 @@ export interface operations {
|
|
|
1103
1463
|
};
|
|
1104
1464
|
};
|
|
1105
1465
|
};
|
|
1466
|
+
getBrandHistory: {
|
|
1467
|
+
parameters: {
|
|
1468
|
+
query: {
|
|
1469
|
+
domain: string;
|
|
1470
|
+
limit?: string;
|
|
1471
|
+
offset?: string;
|
|
1472
|
+
};
|
|
1473
|
+
header?: never;
|
|
1474
|
+
path?: never;
|
|
1475
|
+
cookie?: never;
|
|
1476
|
+
};
|
|
1477
|
+
requestBody?: never;
|
|
1478
|
+
responses: {
|
|
1479
|
+
/** @description Brand activity history */
|
|
1480
|
+
200: {
|
|
1481
|
+
headers: {
|
|
1482
|
+
[name: string]: unknown;
|
|
1483
|
+
};
|
|
1484
|
+
content: {
|
|
1485
|
+
"application/json": components["schemas"]["BrandActivity"];
|
|
1486
|
+
};
|
|
1487
|
+
};
|
|
1488
|
+
/** @description domain parameter required */
|
|
1489
|
+
400: {
|
|
1490
|
+
headers: {
|
|
1491
|
+
[name: string]: unknown;
|
|
1492
|
+
};
|
|
1493
|
+
content: {
|
|
1494
|
+
"application/json": components["schemas"]["Error"];
|
|
1495
|
+
};
|
|
1496
|
+
};
|
|
1497
|
+
/** @description Brand not found */
|
|
1498
|
+
404: {
|
|
1499
|
+
headers: {
|
|
1500
|
+
[name: string]: unknown;
|
|
1501
|
+
};
|
|
1502
|
+
content: {
|
|
1503
|
+
"application/json": {
|
|
1504
|
+
error: string;
|
|
1505
|
+
domain: string;
|
|
1506
|
+
};
|
|
1507
|
+
};
|
|
1508
|
+
};
|
|
1509
|
+
};
|
|
1510
|
+
};
|
|
1106
1511
|
enrichBrand: {
|
|
1107
1512
|
parameters: {
|
|
1108
1513
|
query: {
|
|
@@ -1136,6 +1541,51 @@ export interface operations {
|
|
|
1136
1541
|
};
|
|
1137
1542
|
};
|
|
1138
1543
|
};
|
|
1544
|
+
getPropertyHistory: {
|
|
1545
|
+
parameters: {
|
|
1546
|
+
query: {
|
|
1547
|
+
domain: string;
|
|
1548
|
+
limit?: string;
|
|
1549
|
+
offset?: string;
|
|
1550
|
+
};
|
|
1551
|
+
header?: never;
|
|
1552
|
+
path?: never;
|
|
1553
|
+
cookie?: never;
|
|
1554
|
+
};
|
|
1555
|
+
requestBody?: never;
|
|
1556
|
+
responses: {
|
|
1557
|
+
/** @description Property activity history */
|
|
1558
|
+
200: {
|
|
1559
|
+
headers: {
|
|
1560
|
+
[name: string]: unknown;
|
|
1561
|
+
};
|
|
1562
|
+
content: {
|
|
1563
|
+
"application/json": components["schemas"]["PropertyActivity"];
|
|
1564
|
+
};
|
|
1565
|
+
};
|
|
1566
|
+
/** @description domain parameter required */
|
|
1567
|
+
400: {
|
|
1568
|
+
headers: {
|
|
1569
|
+
[name: string]: unknown;
|
|
1570
|
+
};
|
|
1571
|
+
content: {
|
|
1572
|
+
"application/json": components["schemas"]["Error"];
|
|
1573
|
+
};
|
|
1574
|
+
};
|
|
1575
|
+
/** @description Property not found */
|
|
1576
|
+
404: {
|
|
1577
|
+
headers: {
|
|
1578
|
+
[name: string]: unknown;
|
|
1579
|
+
};
|
|
1580
|
+
content: {
|
|
1581
|
+
"application/json": {
|
|
1582
|
+
error: string;
|
|
1583
|
+
domain: string;
|
|
1584
|
+
};
|
|
1585
|
+
};
|
|
1586
|
+
};
|
|
1587
|
+
};
|
|
1588
|
+
};
|
|
1139
1589
|
resolveProperty: {
|
|
1140
1590
|
parameters: {
|
|
1141
1591
|
query: {
|
|
@@ -1999,6 +2449,305 @@ export interface operations {
|
|
|
1999
2449
|
};
|
|
2000
2450
|
};
|
|
2001
2451
|
};
|
|
2452
|
+
listPolicies: {
|
|
2453
|
+
parameters: {
|
|
2454
|
+
query?: {
|
|
2455
|
+
/** @description Full-text search on policy name and description */
|
|
2456
|
+
search?: string;
|
|
2457
|
+
category?: "regulation" | "standard";
|
|
2458
|
+
enforcement?: "must" | "should" | "may";
|
|
2459
|
+
/** @description Filter by jurisdiction (includes region alias matching) */
|
|
2460
|
+
jurisdiction?: string;
|
|
2461
|
+
vertical?: string;
|
|
2462
|
+
/** @description Filter by governance domain */
|
|
2463
|
+
domain?: string;
|
|
2464
|
+
/** @description Results per page (default 20, max 1000) */
|
|
2465
|
+
limit?: string;
|
|
2466
|
+
/** @description Pagination offset (default 0) */
|
|
2467
|
+
offset?: string;
|
|
2468
|
+
};
|
|
2469
|
+
header?: never;
|
|
2470
|
+
path?: never;
|
|
2471
|
+
cookie?: never;
|
|
2472
|
+
};
|
|
2473
|
+
requestBody?: never;
|
|
2474
|
+
responses: {
|
|
2475
|
+
/** @description Policy listing with facet stats */
|
|
2476
|
+
200: {
|
|
2477
|
+
headers: {
|
|
2478
|
+
[name: string]: unknown;
|
|
2479
|
+
};
|
|
2480
|
+
content: {
|
|
2481
|
+
"application/json": {
|
|
2482
|
+
policies: components["schemas"]["PolicySummary"][];
|
|
2483
|
+
stats: {
|
|
2484
|
+
total: number;
|
|
2485
|
+
regulation: number;
|
|
2486
|
+
standard: number;
|
|
2487
|
+
};
|
|
2488
|
+
};
|
|
2489
|
+
};
|
|
2490
|
+
};
|
|
2491
|
+
};
|
|
2492
|
+
};
|
|
2493
|
+
resolvePolicy: {
|
|
2494
|
+
parameters: {
|
|
2495
|
+
query: {
|
|
2496
|
+
policy_id: string;
|
|
2497
|
+
/** @description Return null if the current version does not match */
|
|
2498
|
+
version?: string;
|
|
2499
|
+
};
|
|
2500
|
+
header?: never;
|
|
2501
|
+
path?: never;
|
|
2502
|
+
cookie?: never;
|
|
2503
|
+
};
|
|
2504
|
+
requestBody?: never;
|
|
2505
|
+
responses: {
|
|
2506
|
+
/** @description Policy resolved */
|
|
2507
|
+
200: {
|
|
2508
|
+
headers: {
|
|
2509
|
+
[name: string]: unknown;
|
|
2510
|
+
};
|
|
2511
|
+
content: {
|
|
2512
|
+
"application/json": components["schemas"]["Policy"];
|
|
2513
|
+
};
|
|
2514
|
+
};
|
|
2515
|
+
/** @description Missing policy_id */
|
|
2516
|
+
400: {
|
|
2517
|
+
headers: {
|
|
2518
|
+
[name: string]: unknown;
|
|
2519
|
+
};
|
|
2520
|
+
content: {
|
|
2521
|
+
"application/json": components["schemas"]["Error"];
|
|
2522
|
+
};
|
|
2523
|
+
};
|
|
2524
|
+
/** @description Policy not found */
|
|
2525
|
+
404: {
|
|
2526
|
+
headers: {
|
|
2527
|
+
[name: string]: unknown;
|
|
2528
|
+
};
|
|
2529
|
+
content: {
|
|
2530
|
+
"application/json": {
|
|
2531
|
+
error: string;
|
|
2532
|
+
policy_id: string;
|
|
2533
|
+
};
|
|
2534
|
+
};
|
|
2535
|
+
};
|
|
2536
|
+
};
|
|
2537
|
+
};
|
|
2538
|
+
resolvePoliciesBulk: {
|
|
2539
|
+
parameters: {
|
|
2540
|
+
query?: never;
|
|
2541
|
+
header?: never;
|
|
2542
|
+
path?: never;
|
|
2543
|
+
cookie?: never;
|
|
2544
|
+
};
|
|
2545
|
+
requestBody?: {
|
|
2546
|
+
content: {
|
|
2547
|
+
"application/json": {
|
|
2548
|
+
/**
|
|
2549
|
+
* @example [
|
|
2550
|
+
* "gdpr_consent",
|
|
2551
|
+
* "coppa_children"
|
|
2552
|
+
* ]
|
|
2553
|
+
*/
|
|
2554
|
+
policy_ids: string[];
|
|
2555
|
+
};
|
|
2556
|
+
};
|
|
2557
|
+
};
|
|
2558
|
+
responses: {
|
|
2559
|
+
/** @description Bulk resolution results */
|
|
2560
|
+
200: {
|
|
2561
|
+
headers: {
|
|
2562
|
+
[name: string]: unknown;
|
|
2563
|
+
};
|
|
2564
|
+
content: {
|
|
2565
|
+
"application/json": {
|
|
2566
|
+
results: {
|
|
2567
|
+
[key: string]: components["schemas"]["Policy"] & (Record<string, never> | null);
|
|
2568
|
+
};
|
|
2569
|
+
};
|
|
2570
|
+
};
|
|
2571
|
+
};
|
|
2572
|
+
/** @description Invalid request */
|
|
2573
|
+
400: {
|
|
2574
|
+
headers: {
|
|
2575
|
+
[name: string]: unknown;
|
|
2576
|
+
};
|
|
2577
|
+
content: {
|
|
2578
|
+
"application/json": components["schemas"]["Error"];
|
|
2579
|
+
};
|
|
2580
|
+
};
|
|
2581
|
+
/** @description Rate limit exceeded */
|
|
2582
|
+
429: {
|
|
2583
|
+
headers: {
|
|
2584
|
+
[name: string]: unknown;
|
|
2585
|
+
};
|
|
2586
|
+
content: {
|
|
2587
|
+
"application/json": components["schemas"]["Error"];
|
|
2588
|
+
};
|
|
2589
|
+
};
|
|
2590
|
+
};
|
|
2591
|
+
};
|
|
2592
|
+
getPolicyHistory: {
|
|
2593
|
+
parameters: {
|
|
2594
|
+
query: {
|
|
2595
|
+
policy_id: string;
|
|
2596
|
+
/** @description Results per page (max 100, default 20) */
|
|
2597
|
+
limit?: string;
|
|
2598
|
+
/** @description Pagination offset (default 0) */
|
|
2599
|
+
offset?: string;
|
|
2600
|
+
};
|
|
2601
|
+
header?: never;
|
|
2602
|
+
path?: never;
|
|
2603
|
+
cookie?: never;
|
|
2604
|
+
};
|
|
2605
|
+
requestBody?: never;
|
|
2606
|
+
responses: {
|
|
2607
|
+
/** @description Revision history */
|
|
2608
|
+
200: {
|
|
2609
|
+
headers: {
|
|
2610
|
+
[name: string]: unknown;
|
|
2611
|
+
};
|
|
2612
|
+
content: {
|
|
2613
|
+
"application/json": components["schemas"]["PolicyHistory"];
|
|
2614
|
+
};
|
|
2615
|
+
};
|
|
2616
|
+
/** @description Missing policy_id */
|
|
2617
|
+
400: {
|
|
2618
|
+
headers: {
|
|
2619
|
+
[name: string]: unknown;
|
|
2620
|
+
};
|
|
2621
|
+
content: {
|
|
2622
|
+
"application/json": components["schemas"]["Error"];
|
|
2623
|
+
};
|
|
2624
|
+
};
|
|
2625
|
+
/** @description Policy not found */
|
|
2626
|
+
404: {
|
|
2627
|
+
headers: {
|
|
2628
|
+
[name: string]: unknown;
|
|
2629
|
+
};
|
|
2630
|
+
content: {
|
|
2631
|
+
"application/json": {
|
|
2632
|
+
error: string;
|
|
2633
|
+
policy_id: string;
|
|
2634
|
+
};
|
|
2635
|
+
};
|
|
2636
|
+
};
|
|
2637
|
+
};
|
|
2638
|
+
};
|
|
2639
|
+
savePolicy: {
|
|
2640
|
+
parameters: {
|
|
2641
|
+
query?: never;
|
|
2642
|
+
header?: never;
|
|
2643
|
+
path?: never;
|
|
2644
|
+
cookie?: never;
|
|
2645
|
+
};
|
|
2646
|
+
requestBody?: {
|
|
2647
|
+
content: {
|
|
2648
|
+
"application/json": {
|
|
2649
|
+
/**
|
|
2650
|
+
* @description Lowercase alphanumeric with underscores
|
|
2651
|
+
* @example my_brand_safety
|
|
2652
|
+
*/
|
|
2653
|
+
policy_id: string;
|
|
2654
|
+
/** @example 1.0.0 */
|
|
2655
|
+
version: string;
|
|
2656
|
+
/** @example Acme Corp Brand Safety */
|
|
2657
|
+
name: string;
|
|
2658
|
+
/** @enum {string} */
|
|
2659
|
+
category: "regulation" | "standard";
|
|
2660
|
+
/** @enum {string} */
|
|
2661
|
+
enforcement: "must" | "should" | "may";
|
|
2662
|
+
/** @example Ads must not appear adjacent to content depicting violence... */
|
|
2663
|
+
policy: string;
|
|
2664
|
+
description?: string;
|
|
2665
|
+
jurisdictions?: string[];
|
|
2666
|
+
region_aliases?: {
|
|
2667
|
+
[key: string]: string[];
|
|
2668
|
+
};
|
|
2669
|
+
verticals?: string[];
|
|
2670
|
+
channels?: string[];
|
|
2671
|
+
effective_date?: string;
|
|
2672
|
+
sunset_date?: string;
|
|
2673
|
+
governance_domains?: string[];
|
|
2674
|
+
/** @description Must use http:// or https:// */
|
|
2675
|
+
source_url?: string;
|
|
2676
|
+
source_name?: string;
|
|
2677
|
+
guidance?: string;
|
|
2678
|
+
exemplars?: {
|
|
2679
|
+
pass?: {
|
|
2680
|
+
scenario: string;
|
|
2681
|
+
explanation: string;
|
|
2682
|
+
}[];
|
|
2683
|
+
fail?: {
|
|
2684
|
+
scenario: string;
|
|
2685
|
+
explanation: string;
|
|
2686
|
+
}[];
|
|
2687
|
+
};
|
|
2688
|
+
ext?: {
|
|
2689
|
+
[key: string]: unknown;
|
|
2690
|
+
};
|
|
2691
|
+
};
|
|
2692
|
+
};
|
|
2693
|
+
};
|
|
2694
|
+
responses: {
|
|
2695
|
+
/** @description Policy saved */
|
|
2696
|
+
200: {
|
|
2697
|
+
headers: {
|
|
2698
|
+
[name: string]: unknown;
|
|
2699
|
+
};
|
|
2700
|
+
content: {
|
|
2701
|
+
"application/json": {
|
|
2702
|
+
/** @enum {boolean} */
|
|
2703
|
+
success: true;
|
|
2704
|
+
message: string;
|
|
2705
|
+
policy_id: string;
|
|
2706
|
+
revision_number: number | null;
|
|
2707
|
+
};
|
|
2708
|
+
};
|
|
2709
|
+
};
|
|
2710
|
+
/** @description Validation error */
|
|
2711
|
+
400: {
|
|
2712
|
+
headers: {
|
|
2713
|
+
[name: string]: unknown;
|
|
2714
|
+
};
|
|
2715
|
+
content: {
|
|
2716
|
+
"application/json": components["schemas"]["Error"];
|
|
2717
|
+
};
|
|
2718
|
+
};
|
|
2719
|
+
/** @description Authentication required */
|
|
2720
|
+
401: {
|
|
2721
|
+
headers: {
|
|
2722
|
+
[name: string]: unknown;
|
|
2723
|
+
};
|
|
2724
|
+
content: {
|
|
2725
|
+
"application/json": components["schemas"]["Error"];
|
|
2726
|
+
};
|
|
2727
|
+
};
|
|
2728
|
+
/** @description Cannot edit registry-sourced or pending policy */
|
|
2729
|
+
409: {
|
|
2730
|
+
headers: {
|
|
2731
|
+
[name: string]: unknown;
|
|
2732
|
+
};
|
|
2733
|
+
content: {
|
|
2734
|
+
"application/json": {
|
|
2735
|
+
error: string;
|
|
2736
|
+
policy_id: string;
|
|
2737
|
+
};
|
|
2738
|
+
};
|
|
2739
|
+
};
|
|
2740
|
+
/** @description Rate limit exceeded */
|
|
2741
|
+
429: {
|
|
2742
|
+
headers: {
|
|
2743
|
+
[name: string]: unknown;
|
|
2744
|
+
};
|
|
2745
|
+
content: {
|
|
2746
|
+
"application/json": components["schemas"]["Error"];
|
|
2747
|
+
};
|
|
2748
|
+
};
|
|
2749
|
+
};
|
|
2750
|
+
};
|
|
2002
2751
|
}
|
|
2003
2752
|
export type ResolvedBrand = components['schemas']['ResolvedBrand'];
|
|
2004
2753
|
export type LocalizedName = components['schemas']['LocalizedName'];
|