@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.
Files changed (149) hide show
  1. package/bin/adcp.js +346 -0
  2. package/dist/lib/adapters/governance-adapter.d.ts +88 -0
  3. package/dist/lib/adapters/governance-adapter.d.ts.map +1 -0
  4. package/dist/lib/adapters/governance-adapter.js +96 -0
  5. package/dist/lib/adapters/governance-adapter.js.map +1 -0
  6. package/dist/lib/adapters/index.d.ts +1 -0
  7. package/dist/lib/adapters/index.d.ts.map +1 -1
  8. package/dist/lib/adapters/index.js +7 -1
  9. package/dist/lib/adapters/index.js.map +1 -1
  10. package/dist/lib/agents/index.generated.d.ts +33 -1
  11. package/dist/lib/agents/index.generated.d.ts.map +1 -1
  12. package/dist/lib/agents/index.generated.js +48 -0
  13. package/dist/lib/agents/index.generated.js.map +1 -1
  14. package/dist/lib/core/AgentClient.d.ts +92 -1
  15. package/dist/lib/core/AgentClient.d.ts.map +1 -1
  16. package/dist/lib/core/AgentClient.js +237 -0
  17. package/dist/lib/core/AgentClient.js.map +1 -1
  18. package/dist/lib/core/AsyncHandler.d.ts +19 -2
  19. package/dist/lib/core/AsyncHandler.d.ts.map +1 -1
  20. package/dist/lib/core/AsyncHandler.js.map +1 -1
  21. package/dist/lib/core/ConversationTypes.d.ts +8 -2
  22. package/dist/lib/core/ConversationTypes.d.ts.map +1 -1
  23. package/dist/lib/core/GovernanceMiddleware.d.ts +86 -0
  24. package/dist/lib/core/GovernanceMiddleware.d.ts.map +1 -0
  25. package/dist/lib/core/GovernanceMiddleware.js +289 -0
  26. package/dist/lib/core/GovernanceMiddleware.js.map +1 -0
  27. package/dist/lib/core/GovernanceTypes.d.ts +118 -0
  28. package/dist/lib/core/GovernanceTypes.d.ts.map +1 -0
  29. package/dist/lib/core/GovernanceTypes.js +69 -0
  30. package/dist/lib/core/GovernanceTypes.js.map +1 -0
  31. package/dist/lib/core/SingleAgentClient.d.ts +103 -1
  32. package/dist/lib/core/SingleAgentClient.d.ts.map +1 -1
  33. package/dist/lib/core/SingleAgentClient.js +151 -0
  34. package/dist/lib/core/SingleAgentClient.js.map +1 -1
  35. package/dist/lib/core/TaskExecutor.d.ts +10 -0
  36. package/dist/lib/core/TaskExecutor.d.ts.map +1 -1
  37. package/dist/lib/core/TaskExecutor.js +95 -10
  38. package/dist/lib/core/TaskExecutor.js.map +1 -1
  39. package/dist/lib/index.d.ts +6 -2
  40. package/dist/lib/index.d.ts.map +1 -1
  41. package/dist/lib/index.js +22 -4
  42. package/dist/lib/index.js.map +1 -1
  43. package/dist/lib/observability/index.d.ts +8 -0
  44. package/dist/lib/observability/index.d.ts.map +1 -0
  45. package/dist/lib/observability/index.js +17 -0
  46. package/dist/lib/observability/index.js.map +1 -0
  47. package/dist/lib/observability/tracing.d.ts +42 -0
  48. package/dist/lib/observability/tracing.d.ts.map +1 -0
  49. package/dist/lib/observability/tracing.js +126 -0
  50. package/dist/lib/observability/tracing.js.map +1 -0
  51. package/dist/lib/protocols/a2a.d.ts.map +1 -1
  52. package/dist/lib/protocols/a2a.js +16 -1
  53. package/dist/lib/protocols/a2a.js.map +1 -1
  54. package/dist/lib/protocols/index.d.ts.map +1 -1
  55. package/dist/lib/protocols/index.js +37 -29
  56. package/dist/lib/protocols/index.js.map +1 -1
  57. package/dist/lib/protocols/mcp.d.ts.map +1 -1
  58. package/dist/lib/protocols/mcp.js +21 -1
  59. package/dist/lib/protocols/mcp.js.map +1 -1
  60. package/dist/lib/registry/types.generated.d.ts +754 -5
  61. package/dist/lib/registry/types.generated.d.ts.map +1 -1
  62. package/dist/lib/registry/types.generated.js +1 -1
  63. package/dist/lib/testing/agent-tester.d.ts +1 -1
  64. package/dist/lib/testing/agent-tester.d.ts.map +1 -1
  65. package/dist/lib/testing/agent-tester.js +36 -11
  66. package/dist/lib/testing/agent-tester.js.map +1 -1
  67. package/dist/lib/testing/client.d.ts +6 -1
  68. package/dist/lib/testing/client.d.ts.map +1 -1
  69. package/dist/lib/testing/client.js +36 -19
  70. package/dist/lib/testing/client.js.map +1 -1
  71. package/dist/lib/testing/compliance/briefs.d.ts +12 -0
  72. package/dist/lib/testing/compliance/briefs.d.ts.map +1 -0
  73. package/dist/lib/testing/compliance/briefs.js +157 -0
  74. package/dist/lib/testing/compliance/briefs.js.map +1 -0
  75. package/dist/lib/testing/compliance/comply.d.ts +26 -0
  76. package/dist/lib/testing/compliance/comply.d.ts.map +1 -0
  77. package/dist/lib/testing/compliance/comply.js +540 -0
  78. package/dist/lib/testing/compliance/comply.js.map +1 -0
  79. package/dist/lib/testing/compliance/convince.d.ts +27 -0
  80. package/dist/lib/testing/compliance/convince.d.ts.map +1 -0
  81. package/dist/lib/testing/compliance/convince.js +418 -0
  82. package/dist/lib/testing/compliance/convince.js.map +1 -0
  83. package/dist/lib/testing/compliance/index.d.ts +13 -0
  84. package/dist/lib/testing/compliance/index.d.ts.map +1 -0
  85. package/dist/lib/testing/compliance/index.js +22 -0
  86. package/dist/lib/testing/compliance/index.js.map +1 -0
  87. package/dist/lib/testing/compliance/types.d.ts +123 -0
  88. package/dist/lib/testing/compliance/types.d.ts.map +1 -0
  89. package/dist/lib/testing/compliance/types.js +9 -0
  90. package/dist/lib/testing/compliance/types.js.map +1 -0
  91. package/dist/lib/testing/index.d.ts +1 -0
  92. package/dist/lib/testing/index.d.ts.map +1 -1
  93. package/dist/lib/testing/index.js +15 -1
  94. package/dist/lib/testing/index.js.map +1 -1
  95. package/dist/lib/testing/orchestrator.d.ts +0 -2
  96. package/dist/lib/testing/orchestrator.d.ts.map +1 -1
  97. package/dist/lib/testing/orchestrator.js +14 -3
  98. package/dist/lib/testing/orchestrator.js.map +1 -1
  99. package/dist/lib/testing/scenarios/capabilities.d.ts.map +1 -1
  100. package/dist/lib/testing/scenarios/capabilities.js +70 -9
  101. package/dist/lib/testing/scenarios/capabilities.js.map +1 -1
  102. package/dist/lib/testing/scenarios/creative.d.ts +14 -0
  103. package/dist/lib/testing/scenarios/creative.d.ts.map +1 -1
  104. package/dist/lib/testing/scenarios/creative.js +261 -55
  105. package/dist/lib/testing/scenarios/creative.js.map +1 -1
  106. package/dist/lib/testing/scenarios/discovery.d.ts.map +1 -1
  107. package/dist/lib/testing/scenarios/discovery.js +7 -5
  108. package/dist/lib/testing/scenarios/discovery.js.map +1 -1
  109. package/dist/lib/testing/scenarios/edge-cases.d.ts.map +1 -1
  110. package/dist/lib/testing/scenarios/edge-cases.js +90 -112
  111. package/dist/lib/testing/scenarios/edge-cases.js.map +1 -1
  112. package/dist/lib/testing/scenarios/governance.d.ts +48 -0
  113. package/dist/lib/testing/scenarios/governance.d.ts.map +1 -1
  114. package/dist/lib/testing/scenarios/governance.js +725 -39
  115. package/dist/lib/testing/scenarios/governance.js.map +1 -1
  116. package/dist/lib/testing/scenarios/index.d.ts +3 -3
  117. package/dist/lib/testing/scenarios/index.d.ts.map +1 -1
  118. package/dist/lib/testing/scenarios/index.js +8 -1
  119. package/dist/lib/testing/scenarios/index.js.map +1 -1
  120. package/dist/lib/testing/scenarios/media-buy.d.ts +14 -5
  121. package/dist/lib/testing/scenarios/media-buy.d.ts.map +1 -1
  122. package/dist/lib/testing/scenarios/media-buy.js +358 -63
  123. package/dist/lib/testing/scenarios/media-buy.js.map +1 -1
  124. package/dist/lib/testing/scenarios/schema-compliance.d.ts.map +1 -1
  125. package/dist/lib/testing/scenarios/schema-compliance.js +26 -22
  126. package/dist/lib/testing/scenarios/schema-compliance.js.map +1 -1
  127. package/dist/lib/testing/scenarios/signals.d.ts +4 -8
  128. package/dist/lib/testing/scenarios/signals.d.ts.map +1 -1
  129. package/dist/lib/testing/scenarios/signals.js +17 -59
  130. package/dist/lib/testing/scenarios/signals.js.map +1 -1
  131. package/dist/lib/testing/scenarios/sponsored-intelligence.d.ts.map +1 -1
  132. package/dist/lib/testing/scenarios/sponsored-intelligence.js +23 -19
  133. package/dist/lib/testing/scenarios/sponsored-intelligence.js.map +1 -1
  134. package/dist/lib/testing/types.d.ts +3 -2
  135. package/dist/lib/testing/types.d.ts.map +1 -1
  136. package/dist/lib/types/core.generated.d.ts +629 -5
  137. package/dist/lib/types/core.generated.d.ts.map +1 -1
  138. package/dist/lib/types/core.generated.js +1 -1
  139. package/dist/lib/types/schemas.generated.d.ts +13059 -11101
  140. package/dist/lib/types/schemas.generated.d.ts.map +1 -1
  141. package/dist/lib/types/schemas.generated.js +573 -107
  142. package/dist/lib/types/schemas.generated.js.map +1 -1
  143. package/dist/lib/types/tools.generated.d.ts +1827 -360
  144. package/dist/lib/types/tools.generated.d.ts.map +1 -1
  145. package/dist/lib/utils/capabilities.d.ts +17 -2
  146. package/dist/lib/utils/capabilities.d.ts.map +1 -1
  147. package/dist/lib/utils/capabilities.js +26 -2
  148. package/dist/lib/utils/capabilities.js.map +1 -1
  149. package/package.json +13 -3
@@ -14,6 +14,7 @@
14
14
  */
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
16
  exports.testCreativeFlow = testCreativeFlow;
17
+ exports.testCreativeLifecycle = testCreativeLifecycle;
17
18
  const client_1 = require("../client");
18
19
  /**
19
20
  * Test: Creative Flow (for creative agents)
@@ -42,20 +43,24 @@ async function testCreativeFlow(agentUrl, options) {
42
43
  // Build creative for each selected format
43
44
  if (profile.tools.includes('build_creative')) {
44
45
  for (const format of formatsToTest) {
45
- const { result, step } = await (0, client_1.runStep)(`Build creative: ${format.name || format.format_id}`, 'build_creative', async () => client.executeTask('build_creative', {
46
- format_id: format.format_id,
47
- brand_manifest: options.brand_manifest || getDefaultBrandManifest(),
48
- prompt: `Create a ${format.type || 'display'} ad for an e-commerce brand promoting summer sale`,
46
+ const formatDisplayName = format.name || format.format_id.id;
47
+ const { result, step } = await (0, client_1.runStep)(`Build creative: ${formatDisplayName}`, 'build_creative', async () => client.buildCreative({
48
+ target_format_id: format.format_id,
49
+ brand: (0, client_1.resolveBrand)(options),
50
+ message: `Create a ${format.type || 'display'} ad for an e-commerce brand promoting summer sale`,
51
+ quality: 'draft',
52
+ include_preview: true,
49
53
  }));
50
54
  if (result?.success && result?.data) {
51
55
  const data = result.data;
52
- step.details = `Built creative for format ${format.format_id}`;
56
+ const manifest = data.creative_manifest || data.creative_manifests?.[0];
57
+ step.details = `Built creative manifest for format ${formatDisplayName}`;
53
58
  step.response_preview = JSON.stringify({
54
- creative_id: data.creative_id || data.creative?.creative_id,
55
- format_id: data.format_id || data.creative?.format_id,
56
- has_assets: !!(data.assets?.length || data.creative?.assets?.length),
59
+ format_id: manifest?.format_id || format.format_id,
60
+ asset_keys: Object.keys(manifest?.assets || {}),
61
+ has_preview: !!data.preview,
62
+ preview_count: data.preview?.previews?.length || 0,
57
63
  }, null, 2);
58
- step.created_id = data.creative_id || data.creative?.creative_id;
59
64
  }
60
65
  else if (result && !result.success) {
61
66
  step.passed = false;
@@ -67,19 +72,24 @@ async function testCreativeFlow(agentUrl, options) {
67
72
  // Preview creative with various asset configurations
68
73
  if (profile.tools.includes('preview_creative')) {
69
74
  // Test 1: Preview with minimal assets (empty)
70
- const { step: minimalStep } = await (0, client_1.runStep)('Preview creative: minimal assets', 'preview_creative', async () => client.executeTask('preview_creative', {
71
- creative: {
72
- format_id: formatsToTest[0]?.format_id || 'display_300x250',
75
+ const { step: minimalStep } = await (0, client_1.runStep)('Preview creative: minimal assets', 'preview_creative', async () => client.previewCreative({
76
+ request_type: 'single',
77
+ creative_manifest: {
78
+ format_id: formatsToTest[0]?.format_id || {
79
+ agent_url: 'https://creative.adcontextprotocol.org',
80
+ id: 'display_300x250',
81
+ },
73
82
  name: 'Minimal Test Creative',
74
- assets: [],
83
+ assets: {},
75
84
  },
76
85
  }));
77
86
  steps.push(minimalStep);
78
87
  // Test 2: Preview with sample assets
79
88
  const sampleFormat = formatsToTest[0];
80
89
  if (sampleFormat) {
81
- const { result, step } = await (0, client_1.runStep)(`Preview creative: with assets (${sampleFormat.format_id})`, 'preview_creative', async () => client.executeTask('preview_creative', {
82
- creative: {
90
+ const { result, step } = await (0, client_1.runStep)(`Preview creative: with assets (${sampleFormat.format_id.id})`, 'preview_creative', async () => client.previewCreative({
91
+ request_type: 'single',
92
+ creative_manifest: {
83
93
  format_id: sampleFormat.format_id,
84
94
  name: 'Full Test Creative',
85
95
  assets: buildTestAssets(sampleFormat),
@@ -87,11 +97,14 @@ async function testCreativeFlow(agentUrl, options) {
87
97
  }));
88
98
  if (result?.success && result?.data) {
89
99
  const data = result.data;
90
- step.details = `Generated preview with ${data.renders?.length || 0} render(s)`;
100
+ const previews = data.previews || [];
101
+ const renderCount = previews.reduce((count, preview) => count + (preview.renders?.length || 0), 0);
102
+ step.details = `Generated preview with ${previews.length} variant(s)`;
91
103
  step.response_preview = JSON.stringify({
92
- has_renders: !!(data.renders?.length || data.preview_url),
93
- render_count: data.renders?.length || (data.preview_url ? 1 : 0),
94
- preview_url: data.preview_url,
104
+ has_renders: renderCount > 0,
105
+ preview_count: previews.length,
106
+ render_count: renderCount,
107
+ interactive_url: data.interactive_url,
95
108
  }, null, 2);
96
109
  }
97
110
  else if (result && !result.success) {
@@ -101,11 +114,12 @@ async function testCreativeFlow(agentUrl, options) {
101
114
  steps.push(step);
102
115
  }
103
116
  // Test 3: Preview with invalid format_id (error case)
104
- const { result: errorResult, step: errorStep } = await (0, client_1.runStep)('Preview creative: invalid format (error expected)', 'preview_creative', async () => client.executeTask('preview_creative', {
105
- creative: {
106
- format_id: 'INVALID_FORMAT_ID_12345',
117
+ const { result: errorResult, step: errorStep } = await (0, client_1.runStep)('Preview creative: invalid format (error expected)', 'preview_creative', async () => client.previewCreative({
118
+ request_type: 'single',
119
+ creative_manifest: {
120
+ format_id: { agent_url: 'https://creative.adcontextprotocol.org', id: 'INVALID_FORMAT_ID_12345' },
107
121
  name: 'Error Test Creative',
108
- assets: [],
122
+ assets: {},
109
123
  },
110
124
  }));
111
125
  // This should fail - if it succeeds with invalid format, that's a bug
@@ -121,13 +135,236 @@ async function testCreativeFlow(agentUrl, options) {
121
135
  }
122
136
  return { steps, profile };
123
137
  }
138
+ /**
139
+ * Test: Creative Lifecycle
140
+ *
141
+ * Chains creative protocol operations end-to-end:
142
+ * 1. list_creative_formats → verify format schema
143
+ * 2. sync_creatives with multiple creatives → verify per-creative status
144
+ * 3. list_creatives (no snapshot) → verify basic fields
145
+ * 4. list_creatives (include_snapshot: true) → verify snapshot or snapshot_unavailable_reason
146
+ * 5. build_creative or preview_creative on synced creative → adapt to agent capabilities
147
+ */
148
+ async function testCreativeLifecycle(agentUrl, options) {
149
+ const steps = [];
150
+ const client = (0, client_1.createTestClient)(agentUrl, options.protocol || 'mcp', options);
151
+ // Discover agent profile
152
+ const { profile, step: profileStep } = await (0, client_1.discoverAgentProfile)(client);
153
+ steps.push(profileStep);
154
+ if (!profileStep.passed) {
155
+ return { steps, profile };
156
+ }
157
+ // Step 1: Discover creative formats
158
+ const { formats, step: formatStep } = await (0, client_1.discoverCreativeFormats)(client, profile);
159
+ steps.push(formatStep);
160
+ if (!formatStep.passed || !formats || formats.length === 0) {
161
+ return { steps, profile };
162
+ }
163
+ profile.supported_formats = formats;
164
+ // Validate format schema: each format should have format_id, type, and required_assets
165
+ const formatSchemaIssues = [];
166
+ for (const format of formats) {
167
+ if (!format.format_id)
168
+ formatSchemaIssues.push('Missing format_id');
169
+ if (!format.type)
170
+ formatSchemaIssues.push(`Format ${format.format_id}: missing type`);
171
+ }
172
+ steps.push({
173
+ step: 'Validate format schema',
174
+ passed: formatSchemaIssues.length === 0,
175
+ duration_ms: 0,
176
+ details: formatSchemaIssues.length === 0
177
+ ? `All ${formats.length} format(s) have required fields`
178
+ : formatSchemaIssues.join('; '),
179
+ warnings: formatSchemaIssues.length > 0 ? formatSchemaIssues : undefined,
180
+ });
181
+ // Step 2: Sync multiple creatives (image + video if formats allow)
182
+ if (profile.tools.includes('sync_creatives')) {
183
+ const imageFormat = formats.find(f => f.type === 'display' || f.type === 'image') || formats[0];
184
+ const videoFormat = formats.find(f => f.type === 'video');
185
+ const creativesToSync = [
186
+ {
187
+ creative_id: `lifecycle-img-${Date.now()}`,
188
+ name: 'Lifecycle Test Image Creative',
189
+ format_id: imageFormat.format_id,
190
+ assets: {
191
+ primary: {
192
+ url: 'https://via.placeholder.com/300x250.png?text=Lifecycle+Image',
193
+ width: 300,
194
+ height: 250,
195
+ format: 'png',
196
+ },
197
+ },
198
+ },
199
+ ];
200
+ if (videoFormat) {
201
+ creativesToSync.push({
202
+ creative_id: `lifecycle-vid-${Date.now()}`,
203
+ name: 'Lifecycle Test Video Creative',
204
+ format_id: videoFormat.format_id,
205
+ assets: {
206
+ primary: {
207
+ url: 'https://storage.googleapis.com/webfundamentals-assets/videos/chrome.mp4',
208
+ width: 1920,
209
+ height: 1080,
210
+ format: 'mp4',
211
+ },
212
+ },
213
+ });
214
+ }
215
+ const { result: syncResult, step: syncStep } = await (0, client_1.runStep)(`Sync ${creativesToSync.length} creative(s) to library`, 'sync_creatives', async () => client.executeTask('sync_creatives', {
216
+ creatives: creativesToSync,
217
+ }));
218
+ if (syncResult?.success && syncResult?.data) {
219
+ const data = syncResult.data;
220
+ const creatives = data.creatives || [];
221
+ const actions = creatives.map((c) => c.action);
222
+ const failed = creatives.filter((c) => c.action === 'failed');
223
+ syncStep.details = `Synced ${creatives.length} creative(s), actions: ${actions.join(', ')}`;
224
+ syncStep.response_preview = JSON.stringify({
225
+ synced_count: creatives.length,
226
+ actions,
227
+ creative_ids: creatives.map((c) => c.creative_id),
228
+ failed_count: failed.length,
229
+ failed_errors: failed.map((c) => ({ creative_id: c.creative_id, errors: c.errors })),
230
+ }, null, 2);
231
+ }
232
+ else if (syncResult && !syncResult.success) {
233
+ syncStep.passed = false;
234
+ syncStep.error = syncResult.error || 'sync_creatives returned unsuccessful result';
235
+ }
236
+ steps.push(syncStep);
237
+ // Step 3: list_creatives without snapshot
238
+ if (profile.tools.includes('list_creatives')) {
239
+ const { result: listResult, step: listStep } = await (0, client_1.runStep)('List creatives (no snapshot)', 'list_creatives', async () => client.executeTask('list_creatives', {}));
240
+ if (listResult?.success && listResult?.data) {
241
+ const data = listResult.data;
242
+ const creatives = data.creatives || [];
243
+ // Validate basic fields on each creative
244
+ const fieldIssues = [];
245
+ for (const creative of creatives.slice(0, 5)) {
246
+ if (!creative.creative_id)
247
+ fieldIssues.push('Creative missing creative_id');
248
+ if (!creative.name)
249
+ fieldIssues.push(`Creative ${creative.creative_id}: missing name`);
250
+ if (!creative.format_id)
251
+ fieldIssues.push(`Creative ${creative.creative_id}: missing format_id`);
252
+ }
253
+ // Verify snapshot is absent when not requested
254
+ const hasUnexpectedSnapshot = creatives.some((c) => c.snapshot !== undefined);
255
+ if (fieldIssues.length > 0) {
256
+ listStep.passed = false;
257
+ listStep.error = `Creative field validation: ${fieldIssues.join('; ')}`;
258
+ }
259
+ else {
260
+ listStep.details = `Found ${creatives.length} creative(s) with valid fields`;
261
+ }
262
+ listStep.response_preview = JSON.stringify({
263
+ creatives_count: creatives.length,
264
+ statuses: Array.from(new Set(creatives.map((c) => c.status))),
265
+ has_unexpected_snapshot: hasUnexpectedSnapshot,
266
+ query_summary: data.query_summary,
267
+ }, null, 2);
268
+ if (hasUnexpectedSnapshot) {
269
+ listStep.warnings = ['snapshot field present on creatives without include_snapshot=true'];
270
+ }
271
+ }
272
+ else if (listResult && !listResult.success) {
273
+ listStep.passed = false;
274
+ listStep.error = listResult.error || 'list_creatives returned unsuccessful result';
275
+ }
276
+ steps.push(listStep);
277
+ // Step 4: list_creatives with include_snapshot: true
278
+ const { result: snapshotResult, step: snapshotStep } = await (0, client_1.runStep)('List creatives (include_snapshot: true)', 'list_creatives', async () => client.executeTask('list_creatives', { include_snapshot: true }));
279
+ if (snapshotResult?.success && snapshotResult?.data) {
280
+ const data = snapshotResult.data;
281
+ const creatives = data.creatives || [];
282
+ // Each creative should have either snapshot data or snapshot_unavailable_reason
283
+ const invalidCreatives = creatives.filter((c) => {
284
+ if (c.snapshot) {
285
+ return !c.snapshot.as_of || c.snapshot.staleness_seconds === undefined;
286
+ }
287
+ return !c.snapshot_unavailable_reason;
288
+ });
289
+ if (invalidCreatives.length > 0) {
290
+ snapshotStep.passed = false;
291
+ snapshotStep.error = `${invalidCreatives.length} creative(s) missing both snapshot and snapshot_unavailable_reason`;
292
+ }
293
+ else {
294
+ const withSnapshot = creatives.filter((c) => !!c.snapshot).length;
295
+ const withReason = creatives.filter((c) => !!c.snapshot_unavailable_reason).length;
296
+ snapshotStep.details = `${creatives.length} creative(s): ${withSnapshot} with snapshot, ${withReason} with unavailable_reason`;
297
+ }
298
+ snapshotStep.response_preview = JSON.stringify({
299
+ creatives_count: creatives.length,
300
+ with_snapshot: creatives.filter((c) => !!c.snapshot).length,
301
+ with_unavailable_reason: creatives.filter((c) => !!c.snapshot_unavailable_reason).length,
302
+ snapshot_reasons: Array.from(new Set(creatives.map((c) => c.snapshot_unavailable_reason).filter(Boolean))),
303
+ }, null, 2);
304
+ }
305
+ else if (snapshotResult && !snapshotResult.success) {
306
+ snapshotStep.passed = false;
307
+ snapshotStep.error = snapshotResult.error || 'list_creatives with snapshot returned unsuccessful result';
308
+ }
309
+ steps.push(snapshotStep);
310
+ }
311
+ }
312
+ // Step 5: build_creative or preview_creative (adapt to agent capabilities)
313
+ if (profile.tools.includes('build_creative')) {
314
+ const targetFormat = formats[0];
315
+ const { result, step } = await (0, client_1.runStep)(`Build creative for lifecycle (${targetFormat.format_id})`, 'build_creative', async () => client.executeTask('build_creative', {
316
+ target_format_id: targetFormat.format_id,
317
+ brand: (0, client_1.resolveBrand)(options),
318
+ message: `Create a ${targetFormat.type || 'display'} ad for lifecycle testing`,
319
+ quality: 'draft',
320
+ include_preview: true,
321
+ }));
322
+ if (result?.success && result?.data) {
323
+ const data = result.data;
324
+ const manifest = data.creative_manifest || data.creative_manifests?.[0];
325
+ step.details = `Built creative manifest for format ${manifest?.format_id || targetFormat.format_id}`;
326
+ step.response_preview = JSON.stringify({
327
+ format_id: manifest?.format_id || targetFormat.format_id,
328
+ asset_keys: Object.keys(manifest?.assets || {}),
329
+ has_preview: !!data.preview,
330
+ }, null, 2);
331
+ }
332
+ else if (result && !result.success) {
333
+ step.passed = false;
334
+ step.error = result.error || 'build_creative failed';
335
+ }
336
+ steps.push(step);
337
+ }
338
+ else if (profile.tools.includes('preview_creative')) {
339
+ // Tag-serving agents may only support preview, not build
340
+ const targetFormat = formats[0];
341
+ const { result, step } = await (0, client_1.runStep)(`Preview creative for lifecycle (${targetFormat.format_id})`, 'preview_creative', async () => client.executeTask('preview_creative', {
342
+ request_type: 'single',
343
+ creative_manifest: {
344
+ format_id: targetFormat.format_id,
345
+ name: 'Lifecycle Test Preview',
346
+ assets: buildTestAssets(targetFormat),
347
+ },
348
+ }));
349
+ if (result?.success && result?.data) {
350
+ const data = result.data;
351
+ step.details = `Generated preview with ${data.renders?.length || 0} render(s)`;
352
+ }
353
+ else if (result && !result.success) {
354
+ step.passed = false;
355
+ step.error = result.error || 'preview_creative failed';
356
+ }
357
+ steps.push(step);
358
+ }
359
+ return { steps, profile };
360
+ }
124
361
  /**
125
362
  * Select which formats to test based on options
126
363
  */
127
364
  function selectFormatsToTest(formats, options) {
128
365
  // If specific format_ids provided, use those
129
366
  if (options.format_ids?.length) {
130
- return formats.filter(f => options.format_ids.includes(f.format_id));
367
+ return formats.filter(f => options.format_ids.includes(f.format_id.id));
131
368
  }
132
369
  // If test_all_formats, test up to max_formats_to_test
133
370
  if (options.test_all_formats) {
@@ -200,35 +437,4 @@ function getTestAssetUrl(assetName) {
200
437
  return 'https://via.placeholder.com/300x250.png?text=Test+Asset';
201
438
  }
202
439
  }
203
- /**
204
- * Get default brand manifest for testing
205
- */
206
- function getDefaultBrandManifest() {
207
- return {
208
- name: 'E2E Test Brand',
209
- url: 'https://test.example.com',
210
- tagline: 'Testing the future of advertising',
211
- logos: [
212
- {
213
- url: 'https://via.placeholder.com/200x50.png?text=Logo',
214
- orientation: 'horizontal',
215
- background: 'light-bg',
216
- variant: 'primary',
217
- width: 200,
218
- height: 50,
219
- },
220
- ],
221
- tone: {
222
- voice: 'Professional and trustworthy',
223
- attributes: ['innovative', 'reliable', 'customer-focused'],
224
- dos: ['Use clear, direct language', 'Emphasize value proposition'],
225
- donts: ['Use jargon', 'Make unsubstantiated claims'],
226
- },
227
- colors: {
228
- primary: '#0066CC',
229
- secondary: '#FFFFFF',
230
- accent: '#FF6600',
231
- },
232
- };
233
- }
234
440
  //# sourceMappingURL=creative.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"creative.js","sourceRoot":"","sources":["../../../../src/lib/testing/scenarios/creative.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"creative.js","sourceRoot":"","sources":["../../../../src/lib/testing/scenarios/creative.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../../../src/lib/testing/scenarios/discovery.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,EAAc,MAAM,UAAU,CAAC;AAGtF;;;GAGG;AACH,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC;IAAE,KAAK,EAAE,cAAc,EAAE,CAAC;IAAC,OAAO,CAAC,EAAE,YAAY,CAAA;CAAE,CAAC,CA0E9D"}
1
+ {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../../../src/lib/testing/scenarios/discovery.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,EAAc,MAAM,UAAU,CAAC;AAGtF;;;GAGG;AACH,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC;IAAE,KAAK,EAAE,cAAc,EAAE,CAAC;IAAC,OAAO,CAAC,EAAE,YAAY,CAAA;CAAE,CAAC,CA4E9D"}
@@ -27,15 +27,16 @@ async function testDiscovery(agentUrl, options) {
27
27
  Object.assign(profile, capabilities);
28
28
  // List creative formats (if available)
29
29
  if (profile.tools.includes('list_creative_formats')) {
30
- const { result, step } = await (0, client_1.runStep)('List creative formats', 'list_creative_formats', async () => client.executeTask('list_creative_formats', {}));
30
+ const { result, step } = await (0, client_1.runStep)('List creative formats', 'list_creative_formats', async () => client.listCreativeFormats({}));
31
31
  if (result?.success && result?.data) {
32
32
  const data = result.data;
33
- const formatCount = data.format_ids?.length || data.formats?.length || 0;
33
+ const formats = data.formats || [];
34
34
  const creativeAgents = data.creative_agents || [];
35
+ const formatCount = formats.length;
35
36
  step.details = `Found ${formatCount} format(s), ${creativeAgents.length} creative agent(s)`;
36
37
  step.response_preview = JSON.stringify({
37
- format_ids: (data.format_ids || data.formats?.map((f) => f.format_id))?.slice(0, 5),
38
- creative_agents: creativeAgents.map((a) => a.agent_url || a.url),
38
+ format_ids: formats.map(f => f.format_id).slice(0, 5),
39
+ creative_agents: creativeAgents.map(a => a.agent_url),
39
40
  }, null, 2);
40
41
  }
41
42
  else if (result && !result.success) {
@@ -47,7 +48,8 @@ async function testDiscovery(agentUrl, options) {
47
48
  // List authorized properties (if available)
48
49
  if (profile.tools.includes('list_authorized_properties')) {
49
50
  const { result, step } = await (0, client_1.runStep)('List authorized properties', 'list_authorized_properties', async () => client.executeTask('list_authorized_properties', {}));
50
- const publisherDomains = result?.data?.publisher_domains;
51
+ const data = result?.data;
52
+ const publisherDomains = data?.publisher_domains;
51
53
  if (result?.success && publisherDomains) {
52
54
  step.details = `Found ${publisherDomains.length} publisher domain(s)`;
53
55
  step.response_preview = JSON.stringify({
@@ -1 +1 @@
1
- {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../../../src/lib/testing/scenarios/discovery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../../../src/lib/testing/scenarios/discovery.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"edge-cases.d.ts","sourceRoot":"","sources":["../../../../src/lib/testing/scenarios/edge-cases.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,EAAc,MAAM,UAAU,CAAC;AAItF;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC;IAAE,KAAK,EAAE,cAAc,EAAE,CAAC;IAAC,OAAO,CAAC,EAAE,YAAY,CAAA;CAAE,CAAC,CAgJ9D;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC;IAAE,KAAK,EAAE,cAAc,EAAE,CAAC;IAAC,OAAO,CAAC,EAAE,YAAY,CAAA;CAAE,CAAC,CAkJ9D;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC;IAAE,KAAK,EAAE,cAAc,EAAE,CAAC;IAAC,OAAO,CAAC,EAAE,YAAY,CAAA;CAAE,CAAC,CAgJ9D;AAED;;;GAGG;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,CA8E9D;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC;IAAE,KAAK,EAAE,cAAc,EAAE,CAAC;IAAC,OAAO,CAAC,EAAE,YAAY,CAAA;CAAE,CAAC,CAqE9D;AAED;;;GAGG;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,CAiF9D"}
1
+ {"version":3,"file":"edge-cases.d.ts","sourceRoot":"","sources":["../../../../src/lib/testing/scenarios/edge-cases.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAWH,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,EAAc,MAAM,UAAU,CAAC;AAItF;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC;IAAE,KAAK,EAAE,cAAc,EAAE,CAAC;IAAC,OAAO,CAAC,EAAE,YAAY,CAAA;CAAE,CAAC,CAyI9D;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC;IAAE,KAAK,EAAE,cAAc,EAAE,CAAC;IAAC,OAAO,CAAC,EAAE,YAAY,CAAA;CAAE,CAAC,CAyI9D;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC;IAAE,KAAK,EAAE,cAAc,EAAE,CAAC;IAAC,OAAO,CAAC,EAAE,YAAY,CAAA;CAAE,CAAC,CA2I9D;AAED;;;GAGG;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,CAgF9D;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC;IAAE,KAAK,EAAE,cAAc,EAAE,CAAC;IAAC,OAAO,CAAC,EAAE,YAAY,CAAA;CAAE,CAAC,CAwE9D;AAED;;;GAGG;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,CAiF9D"}