@adcp/client 4.8.0 → 4.10.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 +346 -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 +92 -1
- package/dist/lib/core/AgentClient.d.ts.map +1 -1
- package/dist/lib/core/AgentClient.js +237 -0
- package/dist/lib/core/AgentClient.js.map +1 -1
- package/dist/lib/core/AsyncHandler.d.ts +19 -2
- 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 +103 -1
- package/dist/lib/core/SingleAgentClient.d.ts.map +1 -1
- package/dist/lib/core/SingleAgentClient.js +151 -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 +754 -5
- 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/client.d.ts +6 -1
- package/dist/lib/testing/client.d.ts.map +1 -1
- package/dist/lib/testing/client.js +36 -19
- package/dist/lib/testing/client.js.map +1 -1
- package/dist/lib/testing/compliance/briefs.d.ts +12 -0
- package/dist/lib/testing/compliance/briefs.d.ts.map +1 -0
- package/dist/lib/testing/compliance/briefs.js +157 -0
- package/dist/lib/testing/compliance/briefs.js.map +1 -0
- package/dist/lib/testing/compliance/comply.d.ts +26 -0
- package/dist/lib/testing/compliance/comply.d.ts.map +1 -0
- package/dist/lib/testing/compliance/comply.js +540 -0
- package/dist/lib/testing/compliance/comply.js.map +1 -0
- package/dist/lib/testing/compliance/convince.d.ts +27 -0
- package/dist/lib/testing/compliance/convince.d.ts.map +1 -0
- package/dist/lib/testing/compliance/convince.js +418 -0
- package/dist/lib/testing/compliance/convince.js.map +1 -0
- package/dist/lib/testing/compliance/index.d.ts +13 -0
- package/dist/lib/testing/compliance/index.d.ts.map +1 -0
- package/dist/lib/testing/compliance/index.js +22 -0
- package/dist/lib/testing/compliance/index.js.map +1 -0
- package/dist/lib/testing/compliance/types.d.ts +123 -0
- package/dist/lib/testing/compliance/types.d.ts.map +1 -0
- package/dist/lib/testing/compliance/types.js +9 -0
- package/dist/lib/testing/compliance/types.js.map +1 -0
- package/dist/lib/testing/index.d.ts +1 -0
- package/dist/lib/testing/index.d.ts.map +1 -1
- package/dist/lib/testing/index.js +15 -1
- package/dist/lib/testing/index.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 +70 -9
- 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 +261 -55
- package/dist/lib/testing/scenarios/creative.js.map +1 -1
- package/dist/lib/testing/scenarios/discovery.d.ts.map +1 -1
- package/dist/lib/testing/scenarios/discovery.js +7 -5
- package/dist/lib/testing/scenarios/discovery.js.map +1 -1
- package/dist/lib/testing/scenarios/edge-cases.d.ts.map +1 -1
- package/dist/lib/testing/scenarios/edge-cases.js +90 -112
- package/dist/lib/testing/scenarios/edge-cases.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 +725 -39
- 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 +14 -5
- package/dist/lib/testing/scenarios/media-buy.d.ts.map +1 -1
- package/dist/lib/testing/scenarios/media-buy.js +358 -63
- package/dist/lib/testing/scenarios/media-buy.js.map +1 -1
- package/dist/lib/testing/scenarios/schema-compliance.d.ts.map +1 -1
- package/dist/lib/testing/scenarios/schema-compliance.js +26 -22
- package/dist/lib/testing/scenarios/schema-compliance.js.map +1 -1
- package/dist/lib/testing/scenarios/signals.d.ts +4 -8
- package/dist/lib/testing/scenarios/signals.d.ts.map +1 -1
- package/dist/lib/testing/scenarios/signals.js +17 -59
- package/dist/lib/testing/scenarios/signals.js.map +1 -1
- package/dist/lib/testing/scenarios/sponsored-intelligence.d.ts.map +1 -1
- package/dist/lib/testing/scenarios/sponsored-intelligence.js +23 -19
- package/dist/lib/testing/scenarios/sponsored-intelligence.js.map +1 -1
- package/dist/lib/testing/types.d.ts +3 -2
- 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 +13 -3
|
@@ -36,7 +36,7 @@ async function testErrorHandling(agentUrl, options) {
|
|
|
36
36
|
}
|
|
37
37
|
// Test 1: Invalid product_id in create_media_buy
|
|
38
38
|
if (profile.tools.includes('create_media_buy')) {
|
|
39
|
-
const { result, step } = await (0, client_1.runStep)('Invalid product_id error response', 'create_media_buy', async () => client.
|
|
39
|
+
const { result, step } = await (0, client_1.runStep)('Invalid product_id error response', 'create_media_buy', async () => client.createMediaBuy({
|
|
40
40
|
buyer_ref: `error-test-${Date.now()}`,
|
|
41
41
|
brand_manifest: {
|
|
42
42
|
name: 'Error Test Brand',
|
|
@@ -53,47 +53,44 @@ async function testErrorHandling(agentUrl, options) {
|
|
|
53
53
|
},
|
|
54
54
|
],
|
|
55
55
|
}));
|
|
56
|
-
if (result
|
|
57
|
-
step.passed = true;
|
|
58
|
-
step.details = 'Agent correctly returned error for invalid product_id';
|
|
59
|
-
step.response_preview = JSON.stringify({ error: result.error }, null, 2);
|
|
60
|
-
}
|
|
61
|
-
else if (result?.success) {
|
|
56
|
+
if (result?.success) {
|
|
62
57
|
step.passed = false;
|
|
63
58
|
step.error = 'Agent accepted invalid product_id - should have returned error';
|
|
64
59
|
}
|
|
65
60
|
else {
|
|
66
|
-
|
|
67
|
-
step.
|
|
61
|
+
// !result (threw) or result.success === false — both count as rejection
|
|
62
|
+
step.passed = true;
|
|
63
|
+
step.details = `Agent correctly rejected invalid product_id${result?.error ? `: ${result.error}` : ''}`;
|
|
64
|
+
if (result?.error)
|
|
65
|
+
step.response_preview = JSON.stringify({ error: result.error }, null, 2);
|
|
68
66
|
}
|
|
69
67
|
steps.push(step);
|
|
70
68
|
}
|
|
71
69
|
// Test 2: Missing required field in get_products
|
|
72
70
|
if (profile.tools.includes('get_products')) {
|
|
73
|
-
const { result, step } = await (0, client_1.runStep)('Empty request handling', 'get_products', async () => client.
|
|
71
|
+
const { result, step } = await (0, client_1.runStep)('Empty request handling', 'get_products', async () => client.getProducts({}));
|
|
74
72
|
if (result?.success) {
|
|
75
73
|
step.passed = true;
|
|
76
74
|
step.details = 'Agent accepts empty get_products request (permissive)';
|
|
77
75
|
}
|
|
78
|
-
else if (result && !result.success && result.error) {
|
|
79
|
-
step.passed = true;
|
|
80
|
-
step.details = 'Agent requires brief or brand (stricter validation)';
|
|
81
|
-
step.response_preview = JSON.stringify({ error: result.error }, null, 2);
|
|
82
|
-
}
|
|
83
76
|
else {
|
|
84
|
-
|
|
85
|
-
step.
|
|
77
|
+
// !result (threw) or result.success === false — both mean stricter validation
|
|
78
|
+
step.passed = true;
|
|
79
|
+
step.details = `Agent requires brief or brand (stricter validation)${result?.error ? `: ${result.error}` : ''}`;
|
|
80
|
+
if (result?.error)
|
|
81
|
+
step.response_preview = JSON.stringify({ error: result.error }, null, 2);
|
|
86
82
|
}
|
|
87
83
|
steps.push(step);
|
|
88
84
|
}
|
|
89
85
|
// Test 3: Invalid format_id in sync_creatives
|
|
90
86
|
if (profile.tools.includes('sync_creatives')) {
|
|
91
|
-
const { result, step } = await (0, client_1.runStep)('Invalid format_id error response', 'sync_creatives', async () => client.
|
|
87
|
+
const { result, step } = await (0, client_1.runStep)('Invalid format_id error response', 'sync_creatives', async () => client.syncCreatives({
|
|
88
|
+
account: (0, client_1.resolveAccount)(options),
|
|
92
89
|
creatives: [
|
|
93
90
|
{
|
|
94
91
|
creative_id: `invalid-format-test-${Date.now()}`,
|
|
95
92
|
name: 'Invalid Format Test',
|
|
96
|
-
format_id: 'TOTALLY_INVALID_FORMAT_ID_999',
|
|
93
|
+
format_id: { id: 'TOTALLY_INVALID_FORMAT_ID_999' },
|
|
97
94
|
assets: {
|
|
98
95
|
primary: {
|
|
99
96
|
url: 'https://via.placeholder.com/300x250',
|
|
@@ -105,34 +102,27 @@ async function testErrorHandling(agentUrl, options) {
|
|
|
105
102
|
},
|
|
106
103
|
],
|
|
107
104
|
}));
|
|
108
|
-
if (result
|
|
109
|
-
step.passed = true;
|
|
110
|
-
step.details = 'Agent correctly rejected invalid format_id';
|
|
111
|
-
step.response_preview = JSON.stringify({ error: result.error }, null, 2);
|
|
112
|
-
}
|
|
113
|
-
else if (result?.success) {
|
|
105
|
+
if (result?.success) {
|
|
114
106
|
step.passed = true;
|
|
115
107
|
step.details = 'Agent accepts unknown format_ids (permissive mode)';
|
|
116
108
|
}
|
|
117
109
|
else {
|
|
118
|
-
|
|
119
|
-
step.
|
|
110
|
+
// !result (threw) or result.success === false — both count as rejection
|
|
111
|
+
step.passed = true;
|
|
112
|
+
step.details = `Agent correctly rejected invalid format_id${result?.error ? `: ${result.error}` : ''}`;
|
|
113
|
+
if (result?.error)
|
|
114
|
+
step.response_preview = JSON.stringify({ error: result.error }, null, 2);
|
|
120
115
|
}
|
|
121
116
|
steps.push(step);
|
|
122
117
|
}
|
|
123
118
|
// Test 4: get_media_buy_delivery with non-existent media_buy_id
|
|
124
119
|
if (profile.tools.includes('get_media_buy_delivery')) {
|
|
125
|
-
const { result, step } = await (0, client_1.runStep)('Non-existent media_buy_id error', 'get_media_buy_delivery', async () => client.
|
|
120
|
+
const { result, step } = await (0, client_1.runStep)('Non-existent media_buy_id error', 'get_media_buy_delivery', async () => client.getMediaBuyDelivery({
|
|
126
121
|
media_buy_ids: ['NONEXISTENT_MEDIA_BUY_ID_99999'],
|
|
127
122
|
}));
|
|
128
|
-
if (result
|
|
129
|
-
step.passed = true;
|
|
130
|
-
step.details = 'Agent correctly returned error for non-existent media buy';
|
|
131
|
-
step.response_preview = JSON.stringify({ error: result.error }, null, 2);
|
|
132
|
-
}
|
|
133
|
-
else if (result?.success) {
|
|
123
|
+
if (result?.success) {
|
|
134
124
|
const data = result.data;
|
|
135
|
-
const deliveries = data?.deliveries || data?.media_buys || [];
|
|
125
|
+
const deliveries = (data?.deliveries || data?.media_buys || []);
|
|
136
126
|
if (deliveries.length === 0) {
|
|
137
127
|
step.passed = true;
|
|
138
128
|
step.details = 'Agent returned empty deliveries for non-existent media buy';
|
|
@@ -143,8 +133,11 @@ async function testErrorHandling(agentUrl, options) {
|
|
|
143
133
|
}
|
|
144
134
|
}
|
|
145
135
|
else {
|
|
146
|
-
|
|
147
|
-
step.
|
|
136
|
+
// !result (threw) or result.success === false — both count as rejection
|
|
137
|
+
step.passed = true;
|
|
138
|
+
step.details = `Agent correctly returned error for non-existent media buy${result?.error ? `: ${result.error}` : ''}`;
|
|
139
|
+
if (result?.error)
|
|
140
|
+
step.response_preview = JSON.stringify({ error: result.error }, null, 2);
|
|
148
141
|
}
|
|
149
142
|
steps.push(step);
|
|
150
143
|
}
|
|
@@ -164,7 +157,7 @@ async function testValidation(agentUrl, options) {
|
|
|
164
157
|
}
|
|
165
158
|
// Test 1: Invalid enum value for pacing
|
|
166
159
|
if (profile.tools.includes('create_media_buy')) {
|
|
167
|
-
const { result, step } = await (0, client_1.runStep)('Invalid pacing enum value', 'create_media_buy', async () => client.
|
|
160
|
+
const { result, step } = await (0, client_1.runStep)('Invalid pacing enum value', 'create_media_buy', async () => client.createMediaBuy({
|
|
168
161
|
buyer_ref: `validation-test-${Date.now()}`,
|
|
169
162
|
brand_manifest: { name: 'Validation Test', url: 'https://test.example.com' },
|
|
170
163
|
start_time: new Date(Date.now() + 86400000).toISOString(),
|
|
@@ -179,23 +172,19 @@ async function testValidation(agentUrl, options) {
|
|
|
179
172
|
},
|
|
180
173
|
],
|
|
181
174
|
}));
|
|
182
|
-
if (result
|
|
183
|
-
step.passed = true;
|
|
184
|
-
step.details = 'Agent rejected invalid pacing enum value';
|
|
185
|
-
}
|
|
186
|
-
else if (result?.success) {
|
|
175
|
+
if (result?.success) {
|
|
187
176
|
step.passed = false;
|
|
188
177
|
step.error = 'Agent accepted invalid pacing value - should validate enums';
|
|
189
178
|
}
|
|
190
179
|
else {
|
|
191
|
-
step.passed =
|
|
192
|
-
step.
|
|
180
|
+
step.passed = true;
|
|
181
|
+
step.details = `Agent rejected invalid pacing enum value${result?.error ? `: ${result.error}` : ''}`;
|
|
193
182
|
}
|
|
194
183
|
steps.push(step);
|
|
195
184
|
}
|
|
196
185
|
// Test 2: Negative budget (definitely invalid)
|
|
197
186
|
if (profile.tools.includes('create_media_buy')) {
|
|
198
|
-
const { result, step } = await (0, client_1.runStep)('Negative budget rejection', 'create_media_buy', async () => client.
|
|
187
|
+
const { result, step } = await (0, client_1.runStep)('Negative budget rejection', 'create_media_buy', async () => client.createMediaBuy({
|
|
199
188
|
buyer_ref: `negative-budget-test-${Date.now()}`,
|
|
200
189
|
brand_manifest: { name: 'Negative Budget Test', url: 'https://test.example.com' },
|
|
201
190
|
start_time: new Date(Date.now() + 86400000).toISOString(),
|
|
@@ -209,28 +198,25 @@ async function testValidation(agentUrl, options) {
|
|
|
209
198
|
},
|
|
210
199
|
],
|
|
211
200
|
}));
|
|
212
|
-
if (result
|
|
213
|
-
step.passed = true;
|
|
214
|
-
step.details = 'Agent correctly rejected negative budget';
|
|
215
|
-
}
|
|
216
|
-
else if (result?.success) {
|
|
201
|
+
if (result?.success) {
|
|
217
202
|
step.passed = false;
|
|
218
203
|
step.error = 'CRITICAL: Agent accepted negative budget - must validate minimum: 0';
|
|
219
204
|
}
|
|
220
205
|
else {
|
|
221
|
-
step.passed =
|
|
222
|
-
step.
|
|
206
|
+
step.passed = true;
|
|
207
|
+
step.details = `Agent correctly rejected negative budget${result?.error ? `: ${result.error}` : ''}`;
|
|
223
208
|
}
|
|
224
209
|
steps.push(step);
|
|
225
210
|
}
|
|
226
211
|
// Test 3: Invalid creative weight (> 100)
|
|
227
212
|
if (profile.tools.includes('sync_creatives')) {
|
|
228
|
-
const { result, step } = await (0, client_1.runStep)('Invalid creative weight (> 100)', 'sync_creatives', async () => client.
|
|
213
|
+
const { result, step } = await (0, client_1.runStep)('Invalid creative weight (> 100)', 'sync_creatives', async () => client.syncCreatives({
|
|
214
|
+
account: (0, client_1.resolveAccount)(options),
|
|
229
215
|
creatives: [
|
|
230
216
|
{
|
|
231
217
|
creative_id: `weight-test-${Date.now()}`,
|
|
232
218
|
name: 'Weight Test Creative',
|
|
233
|
-
format_id: 'display_300x250',
|
|
219
|
+
format_id: { agent_url: 'https://creative.adcontextprotocol.org', id: 'display_300x250' },
|
|
234
220
|
weight: 150,
|
|
235
221
|
assets: {
|
|
236
222
|
primary: {
|
|
@@ -243,36 +229,30 @@ async function testValidation(agentUrl, options) {
|
|
|
243
229
|
},
|
|
244
230
|
],
|
|
245
231
|
}));
|
|
246
|
-
if (result
|
|
247
|
-
step.passed = true;
|
|
248
|
-
step.details = 'Agent rejected weight > 100';
|
|
249
|
-
}
|
|
250
|
-
else if (result?.success) {
|
|
232
|
+
if (result?.success) {
|
|
251
233
|
step.passed = false;
|
|
252
234
|
step.error = 'Agent accepted weight > 100 - should validate maximum: 100';
|
|
253
235
|
}
|
|
254
236
|
else {
|
|
255
|
-
step.passed =
|
|
256
|
-
step.
|
|
237
|
+
step.passed = true;
|
|
238
|
+
step.details = `Agent rejected weight > 100${result?.error ? `: ${result.error}` : ''}`;
|
|
257
239
|
}
|
|
258
240
|
steps.push(step);
|
|
259
241
|
}
|
|
260
242
|
// Test 4: Empty creatives array
|
|
261
243
|
if (profile.tools.includes('sync_creatives')) {
|
|
262
|
-
const { result, step } = await (0, client_1.runStep)('Empty creatives array handling', 'sync_creatives', async () => client.
|
|
244
|
+
const { result, step } = await (0, client_1.runStep)('Empty creatives array handling', 'sync_creatives', async () => client.syncCreatives({
|
|
245
|
+
account: (0, client_1.resolveAccount)(options),
|
|
263
246
|
creatives: [],
|
|
264
247
|
}));
|
|
265
|
-
if (result
|
|
266
|
-
step.passed = true;
|
|
267
|
-
step.details = 'Agent rejected empty creatives array';
|
|
268
|
-
}
|
|
269
|
-
else if (result?.success) {
|
|
248
|
+
if (result?.success) {
|
|
270
249
|
step.passed = true;
|
|
271
250
|
step.details = 'Agent accepts empty creatives array (returns empty result)';
|
|
272
251
|
}
|
|
273
252
|
else {
|
|
274
|
-
|
|
275
|
-
step.
|
|
253
|
+
// !result (threw) or result.success === false — both mean agent rejected
|
|
254
|
+
step.passed = true;
|
|
255
|
+
step.details = `Agent rejected empty creatives array${result?.error ? `: ${result.error}` : ''}`;
|
|
276
256
|
}
|
|
277
257
|
steps.push(step);
|
|
278
258
|
}
|
|
@@ -297,12 +277,13 @@ async function testPricingEdgeCases(agentUrl, options) {
|
|
|
297
277
|
return { steps, profile };
|
|
298
278
|
}
|
|
299
279
|
// Get products to find actual pricing options
|
|
300
|
-
const { result: productsResult } = await (0, client_1.runStep)('Fetch products for pricing analysis', 'get_products', async () => client.
|
|
280
|
+
const { result: productsResult } = await (0, client_1.runStep)('Fetch products for pricing analysis', 'get_products', async () => client.getProducts({
|
|
301
281
|
buying_mode: 'brief',
|
|
302
282
|
brief: 'Show all products with pricing details',
|
|
303
283
|
brand: (0, client_1.resolveBrand)(options),
|
|
304
284
|
}));
|
|
305
|
-
const
|
|
285
|
+
const productsData = productsResult?.data;
|
|
286
|
+
const products = productsData?.products;
|
|
306
287
|
if (!products?.length) {
|
|
307
288
|
steps.push({
|
|
308
289
|
step: 'Pricing edge cases',
|
|
@@ -318,10 +299,10 @@ async function testPricingEdgeCases(agentUrl, options) {
|
|
|
318
299
|
const productsWithMinSpend = [];
|
|
319
300
|
for (const product of products) {
|
|
320
301
|
for (const po of product.pricing_options || []) {
|
|
321
|
-
if (
|
|
302
|
+
if (!('fixed_price' in po) && (po.floor_price !== undefined || po.price_guidance !== undefined)) {
|
|
322
303
|
auctionProducts.push({ product, pricingOption: po });
|
|
323
304
|
}
|
|
324
|
-
else if (
|
|
305
|
+
else if ('fixed_price' in po) {
|
|
325
306
|
fixedProducts.push({ product, pricingOption: po });
|
|
326
307
|
}
|
|
327
308
|
if (po.min_spend_per_package !== undefined && po.min_spend_per_package > 0) {
|
|
@@ -342,7 +323,7 @@ async function testPricingEdgeCases(agentUrl, options) {
|
|
|
342
323
|
// Test 1: Auction pricing without bid_price (should fail)
|
|
343
324
|
if (auctionProducts.length > 0) {
|
|
344
325
|
const { product, pricingOption } = auctionProducts[0];
|
|
345
|
-
const { result, step } = await (0, client_1.runStep)('Auction pricing without bid_price', 'create_media_buy', async () => client.
|
|
326
|
+
const { result, step } = await (0, client_1.runStep)('Auction pricing without bid_price', 'create_media_buy', async () => client.createMediaBuy({
|
|
346
327
|
buyer_ref: `auction-no-bid-${Date.now()}`,
|
|
347
328
|
brand_manifest: { name: 'Auction Test', url: 'https://test.example.com' },
|
|
348
329
|
start_time: new Date(Date.now() + 86400000).toISOString(),
|
|
@@ -356,17 +337,13 @@ async function testPricingEdgeCases(agentUrl, options) {
|
|
|
356
337
|
},
|
|
357
338
|
],
|
|
358
339
|
}));
|
|
359
|
-
if (result
|
|
360
|
-
step.passed = true;
|
|
361
|
-
step.details = 'Agent correctly requires bid_price for auction pricing';
|
|
362
|
-
}
|
|
363
|
-
else if (result?.success) {
|
|
340
|
+
if (result?.success) {
|
|
364
341
|
step.passed = false;
|
|
365
342
|
step.error = 'Agent accepted auction pricing without bid_price - should require it';
|
|
366
343
|
}
|
|
367
344
|
else {
|
|
368
|
-
step.passed =
|
|
369
|
-
step.
|
|
345
|
+
step.passed = true;
|
|
346
|
+
step.details = `Agent correctly requires bid_price for auction pricing${result?.error ? `: ${result.error}` : ''}`;
|
|
370
347
|
}
|
|
371
348
|
steps.push(step);
|
|
372
349
|
}
|
|
@@ -374,7 +351,7 @@ async function testPricingEdgeCases(agentUrl, options) {
|
|
|
374
351
|
if (productsWithMinSpend.length > 0) {
|
|
375
352
|
const { product, pricingOption, minSpend } = productsWithMinSpend[0];
|
|
376
353
|
const underBudget = minSpend * 0.5;
|
|
377
|
-
const { result, step } = await (0, client_1.runStep)('Budget below min_spend_per_package', 'create_media_buy', async () => client.
|
|
354
|
+
const { result, step } = await (0, client_1.runStep)('Budget below min_spend_per_package', 'create_media_buy', async () => client.createMediaBuy({
|
|
378
355
|
buyer_ref: `under-min-spend-${Date.now()}`,
|
|
379
356
|
brand_manifest: { name: 'Min Spend Test', url: 'https://test.example.com' },
|
|
380
357
|
start_time: new Date(Date.now() + 86400000).toISOString(),
|
|
@@ -388,17 +365,13 @@ async function testPricingEdgeCases(agentUrl, options) {
|
|
|
388
365
|
},
|
|
389
366
|
],
|
|
390
367
|
}));
|
|
391
|
-
if (result
|
|
392
|
-
step.passed = true;
|
|
393
|
-
step.details = `Agent rejected budget ${underBudget} below min_spend ${minSpend}`;
|
|
394
|
-
}
|
|
395
|
-
else if (result?.success) {
|
|
368
|
+
if (result?.success) {
|
|
396
369
|
step.passed = false;
|
|
397
370
|
step.error = `Agent accepted budget ${underBudget} below min_spend ${minSpend}`;
|
|
398
371
|
}
|
|
399
372
|
else {
|
|
400
|
-
step.passed =
|
|
401
|
-
step.
|
|
373
|
+
step.passed = true;
|
|
374
|
+
step.details = `Agent rejected budget ${underBudget} below min_spend ${minSpend}${result?.error ? `: ${result.error}` : ''}`;
|
|
402
375
|
}
|
|
403
376
|
steps.push(step);
|
|
404
377
|
}
|
|
@@ -417,7 +390,7 @@ async function testTemporalValidation(agentUrl, options) {
|
|
|
417
390
|
return { steps, profile };
|
|
418
391
|
}
|
|
419
392
|
// Test 1: End time before start time
|
|
420
|
-
const { result: endBeforeStart, step: step1 } = await (0, client_1.runStep)('End time before start time', 'create_media_buy', async () => client.
|
|
393
|
+
const { result: endBeforeStart, step: step1 } = await (0, client_1.runStep)('End time before start time', 'create_media_buy', async () => client.createMediaBuy({
|
|
421
394
|
buyer_ref: `temporal-test-${Date.now()}`,
|
|
422
395
|
brand_manifest: { name: 'Temporal Test', url: 'https://test.example.com' },
|
|
423
396
|
start_time: new Date(Date.now() + 604800000).toISOString(), // 7 days from now
|
|
@@ -431,21 +404,22 @@ async function testTemporalValidation(agentUrl, options) {
|
|
|
431
404
|
},
|
|
432
405
|
],
|
|
433
406
|
}));
|
|
434
|
-
if (
|
|
407
|
+
if (!endBeforeStart) {
|
|
408
|
+
// runStep caught an exception — agent rejected at transport level, which counts as rejection
|
|
435
409
|
step1.passed = true;
|
|
436
|
-
step1.details =
|
|
410
|
+
step1.details = `Agent rejected end_time before start_time (threw error)`;
|
|
437
411
|
}
|
|
438
|
-
else if (endBeforeStart
|
|
412
|
+
else if (endBeforeStart.success) {
|
|
439
413
|
step1.passed = false;
|
|
440
414
|
step1.error = 'Agent accepted end_time before start_time - must validate';
|
|
441
415
|
}
|
|
442
416
|
else {
|
|
443
|
-
step1.passed =
|
|
444
|
-
step1.
|
|
417
|
+
step1.passed = true;
|
|
418
|
+
step1.details = `Agent correctly rejected end_time before start_time${endBeforeStart.error ? `: ${endBeforeStart.error}` : ''}`;
|
|
445
419
|
}
|
|
446
420
|
steps.push(step1);
|
|
447
421
|
// Test 2: Start time in the past
|
|
448
|
-
const { result: pastStart, step: step2 } = await (0, client_1.runStep)('Start time in the past', 'create_media_buy', async () => client.
|
|
422
|
+
const { result: pastStart, step: step2 } = await (0, client_1.runStep)('Start time in the past', 'create_media_buy', async () => client.createMediaBuy({
|
|
449
423
|
buyer_ref: `past-start-${Date.now()}`,
|
|
450
424
|
brand_manifest: { name: 'Past Start Test', url: 'https://test.example.com' },
|
|
451
425
|
start_time: new Date(Date.now() - 86400000).toISOString(), // Yesterday
|
|
@@ -459,17 +433,18 @@ async function testTemporalValidation(agentUrl, options) {
|
|
|
459
433
|
},
|
|
460
434
|
],
|
|
461
435
|
}));
|
|
462
|
-
if (
|
|
436
|
+
if (!pastStart) {
|
|
437
|
+
// runStep caught an exception — agent rejected at transport level
|
|
463
438
|
step2.passed = true;
|
|
464
|
-
step2.details = 'Agent rejected start_time in the past';
|
|
439
|
+
step2.details = 'Agent rejected start_time in the past (threw error)';
|
|
465
440
|
}
|
|
466
|
-
else if (pastStart
|
|
441
|
+
else if (pastStart.success) {
|
|
467
442
|
step2.passed = true;
|
|
468
443
|
step2.details = 'Agent accepts start_time in past (may auto-adjust)';
|
|
469
444
|
}
|
|
470
445
|
else {
|
|
471
|
-
step2.passed =
|
|
472
|
-
step2.
|
|
446
|
+
step2.passed = true;
|
|
447
|
+
step2.details = `Agent rejected start_time in the past${pastStart.error ? `: ${pastStart.error}` : ''}`;
|
|
473
448
|
}
|
|
474
449
|
steps.push(step2);
|
|
475
450
|
return { steps, profile };
|
|
@@ -488,30 +463,33 @@ async function testBehaviorAnalysis(agentUrl, options) {
|
|
|
488
463
|
}
|
|
489
464
|
// Test 1: Does get_products require brand?
|
|
490
465
|
if (profile.tools.includes('get_products')) {
|
|
491
|
-
const { result: withoutBrand, step: step1 } = await (0, client_1.runStep)('get_products without brand', 'get_products', async () => client.
|
|
466
|
+
const { result: withoutBrand, step: step1 } = await (0, client_1.runStep)('get_products without brand', 'get_products', async () => client.getProducts({
|
|
492
467
|
buying_mode: 'brief',
|
|
493
468
|
brief: 'Show me all available products',
|
|
494
469
|
}));
|
|
495
|
-
|
|
496
|
-
|
|
470
|
+
const withoutBrandProducts = withoutBrand?.data?.products;
|
|
471
|
+
if (withoutBrand?.success && withoutBrandProducts?.length) {
|
|
472
|
+
step1.details = `Returns ${withoutBrandProducts.length} products without brand`;
|
|
497
473
|
}
|
|
498
474
|
else if (withoutBrand && !withoutBrand.success) {
|
|
499
475
|
step1.details = 'Requires brand for product discovery';
|
|
500
476
|
}
|
|
501
477
|
steps.push(step1);
|
|
502
478
|
// Test 2: Are results filtered by brief?
|
|
503
|
-
const { result: specificBrief, step: step2 } = await (0, client_1.runStep)('get_products with specific brief', 'get_products', async () => client.
|
|
479
|
+
const { result: specificBrief, step: step2 } = await (0, client_1.runStep)('get_products with specific brief', 'get_products', async () => client.getProducts({
|
|
504
480
|
buying_mode: 'brief',
|
|
505
481
|
brief: 'Looking specifically for podcast audio advertising only',
|
|
506
482
|
brand: (0, client_1.resolveBrand)(options),
|
|
507
483
|
}));
|
|
508
|
-
const { result: broadBrief } = await (0, client_1.runStep)('get_products with broad brief', 'get_products', async () => client.
|
|
484
|
+
const { result: broadBrief } = await (0, client_1.runStep)('get_products with broad brief', 'get_products', async () => client.getProducts({
|
|
509
485
|
buying_mode: 'brief',
|
|
510
486
|
brief: 'Show all products across all channels and formats',
|
|
511
487
|
brand: (0, client_1.resolveBrand)(options),
|
|
512
488
|
}));
|
|
513
|
-
const
|
|
514
|
-
const
|
|
489
|
+
const specificProducts = specificBrief?.data?.products;
|
|
490
|
+
const broadProducts = broadBrief?.data?.products;
|
|
491
|
+
const specificCount = specificProducts?.length || 0;
|
|
492
|
+
const broadCount = broadProducts?.length || 0;
|
|
515
493
|
if (specificCount < broadCount) {
|
|
516
494
|
step2.passed = true;
|
|
517
495
|
step2.details = `Brief filtering: specific=${specificCount}, broad=${broadCount} (filtered)`;
|
|
@@ -544,12 +522,12 @@ async function testResponseConsistency(agentUrl, options) {
|
|
|
544
522
|
const { result, step } = await (0, client_1.runStep)('Check list_authorized_properties consistency', 'list_authorized_properties', async () => client.executeTask('list_authorized_properties', {}));
|
|
545
523
|
if (result?.success && result?.data) {
|
|
546
524
|
const data = result.data;
|
|
547
|
-
const publisherDomains = data.publisher_domains || [];
|
|
525
|
+
const publisherDomains = (data.publisher_domains || []);
|
|
548
526
|
const issues = [];
|
|
549
527
|
// Check for undefined elements
|
|
550
528
|
for (let i = 0; i < publisherDomains.length; i++) {
|
|
551
529
|
if (publisherDomains[i] === undefined || publisherDomains[i] === null) {
|
|
552
|
-
issues.push(`publisher_domains[${i}] is ${publisherDomains[i]}`);
|
|
530
|
+
issues.push(`publisher_domains[${i}] is ${String(publisherDomains[i])}`);
|
|
553
531
|
}
|
|
554
532
|
}
|
|
555
533
|
if (issues.length > 0) {
|
|
@@ -572,7 +550,7 @@ async function testResponseConsistency(agentUrl, options) {
|
|
|
572
550
|
}
|
|
573
551
|
// Test list_creatives pagination consistency
|
|
574
552
|
if (profile.tools.includes('list_creatives')) {
|
|
575
|
-
const { result, step } = await (0, client_1.runStep)('Check list_creatives pagination consistency', 'list_creatives', async () => client.
|
|
553
|
+
const { result, step } = await (0, client_1.runStep)('Check list_creatives pagination consistency', 'list_creatives', async () => client.listCreatives({}));
|
|
576
554
|
if (result?.success && result?.data) {
|
|
577
555
|
const data = result.data;
|
|
578
556
|
const creatives = data.creatives || [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edge-cases.js","sourceRoot":"","sources":["../../../../src/lib/testing/scenarios/edge-cases.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"edge-cases.js","sourceRoot":"","sources":["../../../../src/lib/testing/scenarios/edge-cases.ts"],"names":[],"mappings":"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"}
|
|
@@ -44,8 +44,56 @@ export declare function testPropertyListFilters(agentUrl: string, options: TestO
|
|
|
44
44
|
steps: TestStepResult[];
|
|
45
45
|
profile?: AgentProfile;
|
|
46
46
|
}>;
|
|
47
|
+
/**
|
|
48
|
+
* Test: Campaign Governance - Full Lifecycle
|
|
49
|
+
*
|
|
50
|
+
* Flow: sync_plans -> check_governance(proposed, approved) -> create_media_buy
|
|
51
|
+
* -> report_plan_outcome(completed)
|
|
52
|
+
*
|
|
53
|
+
* Tests the happy path: buyer syncs a plan, gets approval, executes,
|
|
54
|
+
* and reports the outcome back to the governance agent.
|
|
55
|
+
*/
|
|
56
|
+
export declare function testCampaignGovernance(agentUrl: string, options: TestOptions): Promise<{
|
|
57
|
+
steps: TestStepResult[];
|
|
58
|
+
profile?: AgentProfile;
|
|
59
|
+
}>;
|
|
60
|
+
/**
|
|
61
|
+
* Test: Campaign Governance - Denied Flow
|
|
62
|
+
*
|
|
63
|
+
* Sends a check_governance request that should be denied (budget exceeds plan,
|
|
64
|
+
* unauthorized market). Validates that the governance agent returns meaningful
|
|
65
|
+
* findings and explanations.
|
|
66
|
+
*/
|
|
67
|
+
export declare function testCampaignGovernanceDenied(agentUrl: string, options: TestOptions): Promise<{
|
|
68
|
+
steps: TestStepResult[];
|
|
69
|
+
profile?: AgentProfile;
|
|
70
|
+
}>;
|
|
71
|
+
/**
|
|
72
|
+
* Test: Campaign Governance - Conditions Flow
|
|
73
|
+
*
|
|
74
|
+
* Syncs a plan, sends a check that may trigger conditions (e.g., budget
|
|
75
|
+
* concentration limit), applies machine-actionable conditions, and re-checks.
|
|
76
|
+
*/
|
|
77
|
+
export declare function testCampaignGovernanceConditions(agentUrl: string, options: TestOptions): Promise<{
|
|
78
|
+
steps: TestStepResult[];
|
|
79
|
+
profile?: AgentProfile;
|
|
80
|
+
}>;
|
|
81
|
+
/**
|
|
82
|
+
* Test: Campaign Governance - Delivery Monitoring
|
|
83
|
+
*
|
|
84
|
+
* Tests delivery-phase check_governance with delivery_metrics, including
|
|
85
|
+
* normal pacing and overspend drift detection.
|
|
86
|
+
*/
|
|
87
|
+
export declare function testCampaignGovernanceDelivery(agentUrl: string, options: TestOptions): Promise<{
|
|
88
|
+
steps: TestStepResult[];
|
|
89
|
+
profile?: AgentProfile;
|
|
90
|
+
}>;
|
|
47
91
|
/**
|
|
48
92
|
* Check if agent has any governance protocol tools
|
|
49
93
|
*/
|
|
50
94
|
export declare function hasGovernanceTools(tools: string[]): boolean;
|
|
95
|
+
/**
|
|
96
|
+
* Check if agent has campaign governance tools
|
|
97
|
+
*/
|
|
98
|
+
export declare function hasCampaignGovernanceTools(tools: string[]): boolean;
|
|
51
99
|
//# sourceMappingURL=governance.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"governance.d.ts","sourceRoot":"","sources":["../../../../src/lib/testing/scenarios/governance.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,EAAc,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"governance.d.ts","sourceRoot":"","sources":["../../../../src/lib/testing/scenarios/governance.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,EAAc,MAAM,UAAU,CAAC;AA2CtF;;;;;GAKG;AACH,wBAAsB,2BAA2B,CAC/C,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC;IAAE,KAAK,EAAE,cAAc,EAAE,CAAC;IAAC,OAAO,CAAC,EAAE,YAAY,CAAA;CAAE,CAAC,CAiQ9D;AAED;;;;;GAKG;AACH,wBAAsB,8BAA8B,CAClD,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC;IAAE,KAAK,EAAE,cAAc,EAAE,CAAC;IAAC,OAAO,CAAC,EAAE,YAAY,CAAA;CAAE,CAAC,CAsO9D;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,uBAAuB,CAC3C,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC;IAAE,KAAK,EAAE,cAAc,EAAE,CAAC;IAAC,OAAO,CAAC,EAAE,YAAY,CAAA;CAAE,CAAC,CAwM9D;AAUD;;;;;;;;GAQG;AACH,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC;IAAE,KAAK,EAAE,cAAc,EAAE,CAAC;IAAC,OAAO,CAAC,EAAE,YAAY,CAAA;CAAE,CAAC,CAiO9D;AAED;;;;;;GAMG;AACH,wBAAsB,4BAA4B,CAChD,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC;IAAE,KAAK,EAAE,cAAc,EAAE,CAAC;IAAC,OAAO,CAAC,EAAE,YAAY,CAAA;CAAE,CAAC,CAiM9D;AAED;;;;;GAKG;AACH,wBAAsB,gCAAgC,CACpD,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC;IAAE,KAAK,EAAE,cAAc,EAAE,CAAC;IAAC,OAAO,CAAC,EAAE,YAAY,CAAA;CAAE,CAAC,CAkL9D;AAED;;;;;GAKG;AACH,wBAAsB,8BAA8B,CAClD,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC;IAAE,KAAK,EAAE,cAAc,EAAE,CAAC;IAAC,OAAO,CAAC,EAAE,YAAY,CAAA;CAAE,CAAC,CAuL9D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAE3D;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAEnE"}
|