@adcp/client 4.10.0 → 4.12.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 (110) hide show
  1. package/bin/adcp.js +52 -158
  2. package/dist/lib/auth/oauth/MCPOAuthProvider.d.ts +10 -0
  3. package/dist/lib/auth/oauth/MCPOAuthProvider.d.ts.map +1 -1
  4. package/dist/lib/auth/oauth/MCPOAuthProvider.js +19 -0
  5. package/dist/lib/auth/oauth/MCPOAuthProvider.js.map +1 -1
  6. package/dist/lib/core/AgentClient.d.ts +8 -6
  7. package/dist/lib/core/AgentClient.d.ts.map +1 -1
  8. package/dist/lib/core/AgentClient.js.map +1 -1
  9. package/dist/lib/core/ProtocolResponseParser.d.ts.map +1 -1
  10. package/dist/lib/core/ProtocolResponseParser.js +3 -1
  11. package/dist/lib/core/ProtocolResponseParser.js.map +1 -1
  12. package/dist/lib/core/SingleAgentClient.d.ts +19 -14
  13. package/dist/lib/core/SingleAgentClient.d.ts.map +1 -1
  14. package/dist/lib/core/SingleAgentClient.js +51 -33
  15. package/dist/lib/core/SingleAgentClient.js.map +1 -1
  16. package/dist/lib/core/TaskExecutor.js +3 -3
  17. package/dist/lib/core/TaskExecutor.js.map +1 -1
  18. package/dist/lib/errors/index.d.ts +5 -5
  19. package/dist/lib/errors/index.d.ts.map +1 -1
  20. package/dist/lib/errors/index.js +3 -1
  21. package/dist/lib/errors/index.js.map +1 -1
  22. package/dist/lib/index.d.ts +1 -0
  23. package/dist/lib/index.d.ts.map +1 -1
  24. package/dist/lib/index.js +15 -9
  25. package/dist/lib/index.js.map +1 -1
  26. package/dist/lib/protocols/a2a.d.ts +2 -1
  27. package/dist/lib/protocols/a2a.d.ts.map +1 -1
  28. package/dist/lib/protocols/a2a.js +24 -10
  29. package/dist/lib/protocols/a2a.js.map +1 -1
  30. package/dist/lib/protocols/index.d.ts +4 -4
  31. package/dist/lib/protocols/index.d.ts.map +1 -1
  32. package/dist/lib/protocols/index.js.map +1 -1
  33. package/dist/lib/protocols/mcp.d.ts +7 -6
  34. package/dist/lib/protocols/mcp.d.ts.map +1 -1
  35. package/dist/lib/protocols/mcp.js.map +1 -1
  36. package/dist/lib/testing/compliance/briefs.d.ts +2 -3
  37. package/dist/lib/testing/compliance/briefs.d.ts.map +1 -1
  38. package/dist/lib/testing/compliance/briefs.js +2 -3
  39. package/dist/lib/testing/compliance/briefs.js.map +1 -1
  40. package/dist/lib/testing/compliance/comply.d.ts +3 -1
  41. package/dist/lib/testing/compliance/comply.d.ts.map +1 -1
  42. package/dist/lib/testing/compliance/comply.js +84 -7
  43. package/dist/lib/testing/compliance/comply.js.map +1 -1
  44. package/dist/lib/testing/compliance/index.d.ts +5 -6
  45. package/dist/lib/testing/compliance/index.d.ts.map +1 -1
  46. package/dist/lib/testing/compliance/index.js +6 -8
  47. package/dist/lib/testing/compliance/index.js.map +1 -1
  48. package/dist/lib/testing/compliance/profiles.d.ts +30 -0
  49. package/dist/lib/testing/compliance/profiles.d.ts.map +1 -0
  50. package/dist/lib/testing/compliance/profiles.js +388 -0
  51. package/dist/lib/testing/compliance/profiles.js.map +1 -0
  52. package/dist/lib/testing/compliance/types.d.ts +56 -58
  53. package/dist/lib/testing/compliance/types.d.ts.map +1 -1
  54. package/dist/lib/testing/compliance/types.js +0 -3
  55. package/dist/lib/testing/compliance/types.js.map +1 -1
  56. package/dist/lib/testing/index.d.ts +1 -1
  57. package/dist/lib/testing/index.d.ts.map +1 -1
  58. package/dist/lib/testing/index.js +5 -7
  59. package/dist/lib/testing/index.js.map +1 -1
  60. package/dist/lib/testing/scenarios/media-buy.d.ts.map +1 -1
  61. package/dist/lib/testing/scenarios/media-buy.js +1 -0
  62. package/dist/lib/testing/scenarios/media-buy.js.map +1 -1
  63. package/dist/lib/types/adcp.d.ts +9 -4
  64. package/dist/lib/types/adcp.d.ts.map +1 -1
  65. package/dist/lib/types/core.generated.d.ts +21 -103
  66. package/dist/lib/types/core.generated.d.ts.map +1 -1
  67. package/dist/lib/types/core.generated.js +1 -1
  68. package/dist/lib/types/schemas.generated.d.ts +40 -152
  69. package/dist/lib/types/schemas.generated.d.ts.map +1 -1
  70. package/dist/lib/types/schemas.generated.js +15 -43
  71. package/dist/lib/types/schemas.generated.js.map +1 -1
  72. package/dist/lib/types/tools.generated.d.ts +22 -104
  73. package/dist/lib/types/tools.generated.d.ts.map +1 -1
  74. package/dist/lib/utils/a2a-discovery.d.ts +32 -0
  75. package/dist/lib/utils/a2a-discovery.d.ts.map +1 -0
  76. package/dist/lib/utils/a2a-discovery.js +55 -0
  77. package/dist/lib/utils/a2a-discovery.js.map +1 -0
  78. package/dist/lib/utils/capabilities.d.ts +1 -1
  79. package/dist/lib/utils/capabilities.d.ts.map +1 -1
  80. package/dist/lib/utils/capabilities.js +6 -6
  81. package/dist/lib/utils/capabilities.js.map +1 -1
  82. package/dist/lib/utils/index.d.ts +1 -0
  83. package/dist/lib/utils/index.d.ts.map +1 -1
  84. package/dist/lib/utils/index.js +8 -1
  85. package/dist/lib/utils/index.js.map +1 -1
  86. package/dist/lib/utils/logger.d.ts +8 -8
  87. package/dist/lib/utils/logger.d.ts.map +1 -1
  88. package/dist/lib/utils/logger.js.map +1 -1
  89. package/dist/lib/utils/pricing-adapter.d.ts.map +1 -1
  90. package/dist/lib/utils/pricing-adapter.js +13 -1
  91. package/dist/lib/utils/pricing-adapter.js.map +1 -1
  92. package/dist/lib/utils/protocol-detection.d.ts +1 -1
  93. package/dist/lib/utils/protocol-detection.d.ts.map +1 -1
  94. package/dist/lib/utils/protocol-detection.js +25 -47
  95. package/dist/lib/utils/protocol-detection.js.map +1 -1
  96. package/dist/lib/utils/request-normalizer.d.ts.map +1 -1
  97. package/dist/lib/utils/request-normalizer.js +12 -0
  98. package/dist/lib/utils/request-normalizer.js.map +1 -1
  99. package/dist/lib/utils/response-unwrapper.d.ts.map +1 -1
  100. package/dist/lib/utils/response-unwrapper.js +8 -3
  101. package/dist/lib/utils/response-unwrapper.js.map +1 -1
  102. package/dist/lib/version.d.ts +3 -3
  103. package/dist/lib/version.d.ts.map +1 -1
  104. package/dist/lib/version.js +3 -3
  105. package/dist/lib/version.js.map +1 -1
  106. package/package.json +1 -1
  107. package/dist/lib/testing/compliance/convince.d.ts +0 -27
  108. package/dist/lib/testing/compliance/convince.d.ts.map +0 -1
  109. package/dist/lib/testing/compliance/convince.js +0 -418
  110. package/dist/lib/testing/compliance/convince.js.map +0 -1
@@ -0,0 +1,388 @@
1
+ "use strict";
2
+ /**
3
+ * Platform compliance profiles.
4
+ *
5
+ * Each profile defines what an agent of that platform type is expected
6
+ * to support, and runs coherence checks against the discovered agent profile.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.PLATFORM_PROFILES = void 0;
10
+ exports.getPlatformProfile = getPlatformProfile;
11
+ exports.getAllPlatformTypes = getAllPlatformTypes;
12
+ // ────────────────────────────────────────────────────────────
13
+ // Helpers
14
+ // ────────────────────────────────────────────────────────────
15
+ function missingTools(profile, expected) {
16
+ return expected.filter(t => !profile.tools.includes(t));
17
+ }
18
+ function toolFinding(tool, context) {
19
+ return {
20
+ expected: `Agent has ${tool}`,
21
+ actual: `${tool} not found in tool list`,
22
+ guidance: context,
23
+ severity: 'warning',
24
+ };
25
+ }
26
+ function channelSuggestion(expectedChannels) {
27
+ return {
28
+ expected: `Products include ${expectedChannels.join(' or ')} channel`,
29
+ actual: 'Cannot verify channels without running get_products',
30
+ guidance: `Ensure your products declare ${expectedChannels.join('/')} in their channels array.`,
31
+ severity: 'suggestion',
32
+ };
33
+ }
34
+ // ────────────────────────────────────────────────────────────
35
+ // Sales platform coherence checks
36
+ // ────────────────────────────────────────────────────────────
37
+ function salesBaseCheck(profile) {
38
+ const findings = [];
39
+ const coreSalesTools = ['get_products', 'create_media_buy'];
40
+ for (const tool of missingTools(profile, coreSalesTools)) {
41
+ findings.push(toolFinding(tool, `All sales platforms need ${tool} for the buy workflow.`));
42
+ }
43
+ return findings;
44
+ }
45
+ // ────────────────────────────────────────────────────────────
46
+ // Profile definitions
47
+ // ────────────────────────────────────────────────────────────
48
+ exports.PLATFORM_PROFILES = {
49
+ // ── Sales platforms ──────────────────────────────────────
50
+ display_ad_server: {
51
+ type: 'display_ad_server',
52
+ label: 'Display Ad Server',
53
+ expected_tracks: ['core', 'products', 'media_buy', 'creative', 'reporting'],
54
+ expected_tools: ['get_products', 'create_media_buy', 'list_creative_formats', 'sync_creatives'],
55
+ expected_channels: ['display'],
56
+ checkCoherence(profile) {
57
+ const findings = salesBaseCheck(profile);
58
+ for (const tool of missingTools(profile, ['list_creative_formats'])) {
59
+ findings.push(toolFinding(tool, 'Display ad servers need list_creative_formats so buyers know what tag/image formats you accept.'));
60
+ }
61
+ for (const tool of missingTools(profile, ['sync_creatives'])) {
62
+ findings.push(toolFinding(tool, 'Buyers deliver HTML tags and image assets via sync_creatives.'));
63
+ }
64
+ findings.push(channelSuggestion(['display']));
65
+ return findings;
66
+ },
67
+ },
68
+ video_ad_server: {
69
+ type: 'video_ad_server',
70
+ label: 'Video Ad Server',
71
+ expected_tracks: ['core', 'products', 'media_buy', 'creative', 'reporting'],
72
+ expected_tools: ['get_products', 'create_media_buy', 'list_creative_formats', 'sync_creatives'],
73
+ expected_channels: ['ctv', 'olv'],
74
+ checkCoherence(profile) {
75
+ const findings = salesBaseCheck(profile);
76
+ for (const tool of missingTools(profile, ['list_creative_formats'])) {
77
+ findings.push(toolFinding(tool, 'Video ad servers need list_creative_formats to declare VAST/video format support.'));
78
+ }
79
+ for (const tool of missingTools(profile, ['sync_creatives'])) {
80
+ findings.push(toolFinding(tool, 'Buyers deliver VAST tags and video assets via sync_creatives.'));
81
+ }
82
+ findings.push(channelSuggestion(['ctv', 'olv']));
83
+ return findings;
84
+ },
85
+ },
86
+ social_platform: {
87
+ type: 'social_platform',
88
+ label: 'Social Platform',
89
+ expected_tracks: ['core', 'products', 'media_buy', 'creative', 'reporting', 'audiences'],
90
+ expected_tools: ['get_products', 'create_media_buy', 'list_creative_formats', 'sync_audiences'],
91
+ expected_channels: ['social'],
92
+ checkCoherence(profile) {
93
+ const findings = salesBaseCheck(profile);
94
+ for (const tool of missingTools(profile, ['sync_audiences'])) {
95
+ findings.push(toolFinding(tool, 'Social platforms need sync_audiences — audience targeting is core to social advertising.'));
96
+ }
97
+ for (const tool of missingTools(profile, ['list_creative_formats'])) {
98
+ findings.push(toolFinding(tool, 'Social platforms need list_creative_formats to declare native ad formats (carousel, story, feed).'));
99
+ }
100
+ findings.push(channelSuggestion(['social']));
101
+ return findings;
102
+ },
103
+ },
104
+ pmax_platform: {
105
+ type: 'pmax_platform',
106
+ label: 'Performance Max Platform',
107
+ expected_tracks: ['core', 'products', 'media_buy', 'creative', 'reporting', 'audiences', 'signals'],
108
+ expected_tools: [
109
+ 'get_products',
110
+ 'create_media_buy',
111
+ 'list_creative_formats',
112
+ 'build_creative',
113
+ 'sync_audiences',
114
+ 'get_signals',
115
+ ],
116
+ checkCoherence(profile) {
117
+ const findings = salesBaseCheck(profile);
118
+ for (const tool of missingTools(profile, ['build_creative'])) {
119
+ findings.push(toolFinding(tool, 'pMax platforms generate creative from brand assets — build_creative is the generative entry point.'));
120
+ }
121
+ for (const tool of missingTools(profile, ['sync_audiences'])) {
122
+ findings.push(toolFinding(tool, 'pMax platforms optimize across audience segments — sync_audiences enables first-party data.'));
123
+ }
124
+ for (const tool of missingTools(profile, ['get_signals'])) {
125
+ findings.push(toolFinding(tool, 'pMax platforms use signals for cross-channel optimization.'));
126
+ }
127
+ return findings;
128
+ },
129
+ },
130
+ dsp: {
131
+ type: 'dsp',
132
+ label: 'DSP / Ad Network',
133
+ expected_tracks: ['core', 'products', 'media_buy', 'reporting', 'governance'],
134
+ expected_tools: ['get_products', 'create_media_buy', 'get_media_buy_delivery'],
135
+ checkCoherence(profile) {
136
+ const findings = salesBaseCheck(profile);
137
+ for (const tool of missingTools(profile, ['get_media_buy_delivery'])) {
138
+ findings.push(toolFinding(tool, 'DSPs need get_media_buy_delivery for programmatic reporting and pacing data.'));
139
+ }
140
+ const hasGovernance = profile.tools.some(t => ['create_property_list', 'list_content_standards'].includes(t));
141
+ if (!hasGovernance) {
142
+ findings.push({
143
+ expected: 'Governance tools for brand safety controls',
144
+ actual: 'No governance tools found',
145
+ guidance: 'DSPs typically support property lists and content standards for brand safety.',
146
+ severity: 'suggestion',
147
+ });
148
+ }
149
+ return findings;
150
+ },
151
+ },
152
+ retail_media: {
153
+ type: 'retail_media',
154
+ label: 'Retail Media Network',
155
+ expected_tracks: ['core', 'products', 'media_buy', 'creative', 'reporting', 'audiences'],
156
+ expected_tools: ['get_products', 'create_media_buy', 'list_creative_formats', 'sync_audiences'],
157
+ expected_channels: ['retail_media'],
158
+ checkCoherence(profile) {
159
+ const findings = salesBaseCheck(profile);
160
+ for (const tool of missingTools(profile, ['sync_audiences'])) {
161
+ findings.push(toolFinding(tool, 'Retail media networks need sync_audiences for shopper audience segments.'));
162
+ }
163
+ for (const tool of missingTools(profile, ['list_creative_formats'])) {
164
+ findings.push(toolFinding(tool, 'Retail media networks need list_creative_formats to declare sponsored product and display formats.'));
165
+ }
166
+ findings.push(channelSuggestion(['retail_media']));
167
+ return findings;
168
+ },
169
+ },
170
+ search_platform: {
171
+ type: 'search_platform',
172
+ label: 'Search Platform',
173
+ expected_tracks: ['core', 'products', 'media_buy', 'reporting'],
174
+ expected_tools: ['get_products', 'create_media_buy'],
175
+ expected_channels: ['search'],
176
+ checkCoherence(profile) {
177
+ const findings = salesBaseCheck(profile);
178
+ findings.push(channelSuggestion(['search']));
179
+ findings.push({
180
+ expected: 'Products support keyword targeting via targeting_overlay',
181
+ actual: 'Cannot verify without running create_media_buy',
182
+ guidance: 'Search platforms should accept keyword_targets in the targeting overlay with broad/phrase/exact match types.',
183
+ severity: 'suggestion',
184
+ });
185
+ return findings;
186
+ },
187
+ },
188
+ audio_platform: {
189
+ type: 'audio_platform',
190
+ label: 'Audio / Podcast Platform',
191
+ expected_tracks: ['core', 'products', 'media_buy', 'creative', 'reporting'],
192
+ expected_tools: ['get_products', 'create_media_buy', 'list_creative_formats'],
193
+ expected_channels: ['podcast', 'streaming_audio'],
194
+ checkCoherence(profile) {
195
+ const findings = salesBaseCheck(profile);
196
+ for (const tool of missingTools(profile, ['list_creative_formats'])) {
197
+ findings.push(toolFinding(tool, 'Audio platforms need list_creative_formats to declare audio/DAAST format support.'));
198
+ }
199
+ findings.push(channelSuggestion(['podcast', 'streaming_audio']));
200
+ return findings;
201
+ },
202
+ },
203
+ // ── Creative agents ──────────────────────────────────────
204
+ creative_transformer: {
205
+ type: 'creative_transformer',
206
+ label: 'Creative Transformer',
207
+ expected_tracks: ['core', 'creative'],
208
+ expected_tools: ['build_creative', 'preview_creative', 'list_creative_formats'],
209
+ checkCoherence(profile) {
210
+ const findings = [];
211
+ for (const tool of missingTools(profile, ['build_creative'])) {
212
+ findings.push(toolFinding(tool, 'Creative transformers need build_creative — it is the core tool for accepting assets and returning transformed creative.'));
213
+ }
214
+ for (const tool of missingTools(profile, ['preview_creative'])) {
215
+ findings.push(toolFinding(tool, 'preview_creative lets buyers verify transformed output before going live.'));
216
+ }
217
+ for (const tool of missingTools(profile, ['list_creative_formats'])) {
218
+ findings.push(toolFinding(tool, 'list_creative_formats declares what input/output format transformations you support.'));
219
+ }
220
+ // Warn if stateful tools present — suggests this is actually a creative_ad_server
221
+ const statefulTools = ['sync_creatives', 'list_creatives'].filter(t => profile.tools.includes(t));
222
+ if (statefulTools.length > 0) {
223
+ findings.push({
224
+ expected: 'Stateless transformer (no creative library)',
225
+ actual: `Agent has stateful tools: ${statefulTools.join(', ')}`,
226
+ guidance: 'If your agent manages a creative library, consider using creative_ad_server as your platform type.',
227
+ severity: 'suggestion',
228
+ });
229
+ }
230
+ return findings;
231
+ },
232
+ },
233
+ creative_library: {
234
+ type: 'creative_library',
235
+ label: 'Creative Format Library',
236
+ expected_tracks: ['core', 'creative'],
237
+ expected_tools: ['preview_creative', 'list_creative_formats'],
238
+ checkCoherence(profile) {
239
+ const findings = [];
240
+ for (const tool of missingTools(profile, ['list_creative_formats'])) {
241
+ findings.push(toolFinding(tool, 'Creative libraries need list_creative_formats — it is how buyers discover your available formats.'));
242
+ }
243
+ for (const tool of missingTools(profile, ['preview_creative'])) {
244
+ findings.push(toolFinding(tool, 'preview_creative lets buyers see how formats render.'));
245
+ }
246
+ if (profile.tools.includes('build_creative')) {
247
+ findings.push({
248
+ expected: 'Format library (no creative generation)',
249
+ actual: 'Agent has build_creative',
250
+ guidance: 'If your agent generates creative, consider using creative_transformer or creative_ad_server as your platform type.',
251
+ severity: 'suggestion',
252
+ });
253
+ }
254
+ return findings;
255
+ },
256
+ },
257
+ creative_ad_server: {
258
+ type: 'creative_ad_server',
259
+ label: 'Creative Ad Server',
260
+ expected_tracks: ['core', 'creative'],
261
+ expected_tools: ['build_creative', 'list_creatives', 'sync_creatives', 'preview_creative', 'list_creative_formats'],
262
+ checkCoherence(profile) {
263
+ const findings = [];
264
+ const allExpected = [
265
+ 'build_creative',
266
+ 'list_creatives',
267
+ 'sync_creatives',
268
+ 'preview_creative',
269
+ 'list_creative_formats',
270
+ ];
271
+ for (const tool of missingTools(profile, allExpected)) {
272
+ const descriptions = {
273
+ build_creative: 'build_creative handles creative generation and assembly.',
274
+ list_creatives: 'list_creatives lets buyers browse the creative library.',
275
+ sync_creatives: 'sync_creatives manages the creative approval/rejection lifecycle.',
276
+ preview_creative: 'preview_creative lets buyers verify creative before going live.',
277
+ list_creative_formats: 'list_creative_formats declares supported format specifications.',
278
+ };
279
+ findings.push(toolFinding(tool, descriptions[tool] ?? `Creative ad servers need ${tool}.`));
280
+ }
281
+ return findings;
282
+ },
283
+ },
284
+ // ── Sponsored intelligence ───────────────────────────────
285
+ si_platform: {
286
+ type: 'si_platform',
287
+ label: 'Sponsored Intelligence Platform',
288
+ expected_tracks: ['core', 'si'],
289
+ expected_tools: ['si_get_offering', 'si_initiate_session', 'si_send_message', 'si_terminate_session'],
290
+ expected_channels: ['sponsored_intelligence'],
291
+ checkCoherence(profile) {
292
+ const findings = [];
293
+ const siTools = ['si_get_offering', 'si_initiate_session', 'si_send_message', 'si_terminate_session'];
294
+ for (const tool of missingTools(profile, siTools)) {
295
+ findings.push(toolFinding(tool, `SI platforms need the full session lifecycle. ${tool} is required.`));
296
+ }
297
+ findings.push(channelSuggestion(['sponsored_intelligence']));
298
+ return findings;
299
+ },
300
+ },
301
+ // ── AI-native platforms ──────────────────────────────────
302
+ ai_ad_network: {
303
+ type: 'ai_ad_network',
304
+ label: 'AI Ad Network',
305
+ expected_tracks: ['core', 'products', 'media_buy', 'si', 'reporting', 'governance'],
306
+ expected_tools: [
307
+ 'get_products',
308
+ 'create_media_buy',
309
+ 'si_get_offering',
310
+ 'si_initiate_session',
311
+ 'si_send_message',
312
+ 'si_terminate_session',
313
+ ],
314
+ checkCoherence(profile) {
315
+ const findings = salesBaseCheck(profile);
316
+ const siTools = ['si_get_offering', 'si_initiate_session', 'si_send_message', 'si_terminate_session'];
317
+ for (const tool of missingTools(profile, siTools)) {
318
+ findings.push(toolFinding(tool, 'AI ad networks aggregate AI-powered inventory — SI tools enable conversational ad surfaces.'));
319
+ }
320
+ const hasGovernance = profile.tools.some(t => ['create_property_list', 'list_content_standards'].includes(t));
321
+ if (!hasGovernance) {
322
+ findings.push({
323
+ expected: 'Governance tools for cross-property brand safety',
324
+ actual: 'No governance tools found',
325
+ guidance: 'AI ad networks routing across properties should support governance for brand safety controls.',
326
+ severity: 'suggestion',
327
+ });
328
+ }
329
+ return findings;
330
+ },
331
+ },
332
+ ai_platform: {
333
+ type: 'ai_platform',
334
+ label: 'AI Platform',
335
+ expected_tracks: ['core', 'products', 'media_buy', 'si', 'reporting'],
336
+ expected_tools: [
337
+ 'get_products',
338
+ 'create_media_buy',
339
+ 'si_get_offering',
340
+ 'si_initiate_session',
341
+ 'si_send_message',
342
+ 'si_terminate_session',
343
+ ],
344
+ checkCoherence(profile) {
345
+ const findings = salesBaseCheck(profile);
346
+ const siTools = ['si_get_offering', 'si_initiate_session', 'si_send_message', 'si_terminate_session'];
347
+ for (const tool of missingTools(profile, siTools)) {
348
+ findings.push(toolFinding(tool, 'AI platforms monetize via sponsored conversations — SI tools are the conversational ad surface.'));
349
+ }
350
+ return findings;
351
+ },
352
+ },
353
+ generative_dsp: {
354
+ type: 'generative_dsp',
355
+ label: 'Generative DSP',
356
+ expected_tracks: ['core', 'products', 'media_buy', 'creative', 'reporting', 'audiences', 'governance'],
357
+ expected_tools: ['get_products', 'create_media_buy', 'build_creative', 'sync_audiences', 'get_media_buy_delivery'],
358
+ checkCoherence(profile) {
359
+ const findings = salesBaseCheck(profile);
360
+ for (const tool of missingTools(profile, ['build_creative'])) {
361
+ findings.push(toolFinding(tool, 'Generative DSPs create creative on the fly — build_creative is the generative entry point.'));
362
+ }
363
+ for (const tool of missingTools(profile, ['sync_audiences'])) {
364
+ findings.push(toolFinding(tool, 'Generative DSPs optimize across audience segments — sync_audiences enables first-party data.'));
365
+ }
366
+ for (const tool of missingTools(profile, ['get_media_buy_delivery'])) {
367
+ findings.push(toolFinding(tool, 'DSPs need get_media_buy_delivery for programmatic reporting and pacing data.'));
368
+ }
369
+ return findings;
370
+ },
371
+ },
372
+ };
373
+ /**
374
+ * Get the compliance profile for a platform type.
375
+ */
376
+ function getPlatformProfile(type) {
377
+ if (!Object.prototype.hasOwnProperty.call(exports.PLATFORM_PROFILES, type)) {
378
+ throw new Error(`Unknown platform type: ${type}`);
379
+ }
380
+ return exports.PLATFORM_PROFILES[type];
381
+ }
382
+ /**
383
+ * Get all available platform types.
384
+ */
385
+ function getAllPlatformTypes() {
386
+ return Object.keys(exports.PLATFORM_PROFILES);
387
+ }
388
+ //# sourceMappingURL=profiles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profiles.js","sourceRoot":"","sources":["../../../../src/lib/testing/compliance/profiles.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,5 @@
1
1
  /**
2
2
  * Types for AdCP Agent Compliance Assessment
3
- *
4
- * comply → "Your agent works" (deterministic, pass/fail)
5
- * convince → "Your agent sells" (AI-assessed, advisory)
6
3
  */
7
4
  import type { AgentProfile, TestResult, TestScenario } from '../types';
8
5
  /**
@@ -11,7 +8,7 @@ import type { AgentProfile, TestResult, TestScenario } from '../types';
11
8
  * are assessed independently, not as linear levels.
12
9
  */
13
10
  export type ComplianceTrack = 'core' | 'products' | 'media_buy' | 'creative' | 'reporting' | 'governance' | 'signals' | 'si' | 'audiences';
14
- export type TrackStatus = 'pass' | 'fail' | 'skip' | 'partial';
11
+ export type TrackStatus = 'pass' | 'fail' | 'skip' | 'partial' | 'expected';
15
12
  export interface TrackResult {
16
13
  track: ComplianceTrack;
17
14
  status: TrackStatus;
@@ -35,6 +32,8 @@ export interface ComplianceResult {
35
32
  summary: ComplianceSummary;
36
33
  /** Advisory observations across all tracks */
37
34
  observations: AdvisoryObservation[];
35
+ /** Platform coherence assessment (only when platform_type provided) */
36
+ platform_coherence?: PlatformCoherenceResult;
38
37
  tested_at: string;
39
38
  total_duration_ms: number;
40
39
  dry_run: boolean;
@@ -44,10 +43,11 @@ export interface ComplianceSummary {
44
43
  tracks_failed: number;
45
44
  tracks_skipped: number;
46
45
  tracks_partial: number;
46
+ tracks_expected: number;
47
47
  /** One-line status */
48
48
  headline: string;
49
49
  }
50
- export type ObservationCategory = 'completeness' | 'quality' | 'performance' | 'best_practice' | 'merchandising' | 'pricing' | 'relevance' | 'auth';
50
+ export type ObservationCategory = 'completeness' | 'quality' | 'performance' | 'best_practice' | 'merchandising' | 'pricing' | 'relevance' | 'auth' | 'coherence';
51
51
  export type ObservationSeverity = 'info' | 'suggestion' | 'warning' | 'error';
52
52
  export interface AdvisoryObservation {
53
53
  category: ObservationCategory;
@@ -57,67 +57,65 @@ export interface AdvisoryObservation {
57
57
  /** Concrete data backing this observation */
58
58
  evidence?: Record<string, unknown>;
59
59
  }
60
+ /**
61
+ * Sales platform types — agents that sell advertising inventory.
62
+ * All sales agents support the core media buy tools; the platform type
63
+ * determines what coherence checks apply to inputs, outputs, and features.
64
+ */
65
+ export type SalesPlatformType = 'display_ad_server' | 'video_ad_server' | 'social_platform' | 'pmax_platform' | 'dsp' | 'retail_media' | 'search_platform' | 'audio_platform';
66
+ /**
67
+ * Creative agent types — differ in statefulness and tool surface.
68
+ */
69
+ export type CreativeAgentType = 'creative_transformer' | 'creative_library' | 'creative_ad_server';
70
+ /**
71
+ * Sponsored intelligence agent types — AI chat/conversational monetization.
72
+ */
73
+ export type SponsoredIntelligenceType = 'si_platform';
74
+ /**
75
+ * AI-native platform types — platforms with AI at the core.
76
+ */
77
+ export type AINativePlatformType = 'ai_ad_network' | 'ai_platform' | 'generative_dsp';
78
+ export type PlatformType = SalesPlatformType | CreativeAgentType | SponsoredIntelligenceType | AINativePlatformType;
79
+ /**
80
+ * A coherence finding: something expected by the platform type
81
+ * that is missing or inconsistent in the agent's actual capabilities.
82
+ */
83
+ export interface CoherenceFinding {
84
+ /** What was expected based on the platform type */
85
+ expected: string;
86
+ /** What was actually found (or not found) */
87
+ actual: string;
88
+ /** Actionable guidance for the developer */
89
+ guidance: string;
90
+ severity: 'error' | 'warning' | 'suggestion';
91
+ }
92
+ /**
93
+ * Platform-type-aware section of the compliance result.
94
+ * Only present when platform_type was provided in options.
95
+ */
96
+ export interface PlatformCoherenceResult {
97
+ platform_type: PlatformType;
98
+ /** Human-readable label for the platform type */
99
+ label: string;
100
+ /** Tracks that this platform type expects the agent to support */
101
+ expected_tracks: ComplianceTrack[];
102
+ /** Tracks that are expected but the agent doesn't support */
103
+ missing_tracks: ComplianceTrack[];
104
+ /** Specific coherence findings */
105
+ findings: CoherenceFinding[];
106
+ /** Overall coherence: does the agent match what it claims to be? */
107
+ coherent: boolean;
108
+ }
60
109
  export interface SampleBrief {
61
110
  id: string;
62
111
  name: string;
63
112
  vertical: string;
64
113
  brief: string;
65
- /** What a strong response looks like — guides AI evaluation */
114
+ /** What a strong response looks like */
66
115
  evaluation_hints: string;
67
- /** Budget context for the AI evaluator */
116
+ /** Budget context for evaluation */
68
117
  budget_context?: string;
69
118
  /** Expected channels */
70
119
  expected_channels?: string[];
71
120
  }
72
- export type ConvinceDimension = 'relevance' | 'specificity' | 'completeness' | 'pricing' | 'merchandising';
73
- export type ConvinceRating = 'strong' | 'moderate' | 'weak';
74
- export interface DimensionScore {
75
- dimension: ConvinceDimension;
76
- rating: ConvinceRating;
77
- observation: string;
78
- evidence?: Record<string, unknown>;
79
- }
80
- export interface ScenarioAssessment {
81
- brief: SampleBrief;
82
- /** Raw products returned by the agent */
83
- products_returned: number;
84
- /** Per-dimension AI evaluation */
85
- dimensions: DimensionScore[];
86
- /** LLM-generated narrative summary */
87
- summary: string;
88
- /** Top 3 actionable improvements */
89
- top_actions: string[];
90
- /** Raw agent response for reference */
91
- raw_response?: unknown;
92
- }
93
- export interface ConvinceResult {
94
- agent_url: string;
95
- agent_profile: AgentProfile;
96
- /** Per-brief assessments */
97
- assessments: ScenarioAssessment[];
98
- /** Aggregated patterns across all briefs */
99
- patterns: ConvincePattern[];
100
- /** Overall narrative */
101
- overall_summary: string;
102
- tested_at: string;
103
- total_duration_ms: number;
104
- /** Which LLM provider was used */
105
- evaluator: string;
106
- dry_run: boolean;
107
- }
108
- export interface ConvincePattern {
109
- pattern: string;
110
- frequency: string;
111
- impact: string;
112
- }
113
- export interface ConvinceOptions {
114
- /** Anthropic API key */
115
- anthropic_api_key?: string;
116
- /** Google Gemini API key */
117
- gemini_api_key?: string;
118
- /** Which briefs to run (default: all) */
119
- brief_ids?: string[];
120
- /** Model to use (default: auto-select based on available key) */
121
- model?: string;
122
- }
123
121
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/lib/testing/compliance/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/lib/testing/compliance/types.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,6 @@
1
1
  "use strict";
2
2
  /**
3
3
  * Types for AdCP Agent Compliance Assessment
4
- *
5
- * comply → "Your agent works" (deterministic, pass/fail)
6
- * convince → "Your agent sells" (AI-assessed, advisory)
7
4
  */
8
5
  Object.defineProperty(exports, "__esModule", { value: true });
9
6
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/lib/testing/compliance/types.ts"],"names":[],"mappings":";AAAA;;;;;GAKG"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/lib/testing/compliance/types.ts"],"names":[],"mappings":";AAAA;;GAEG"}
@@ -1,4 +1,4 @@
1
1
  export { testAgent, testAgentA2A, testAgentClient, createTestAgent, TEST_AGENT_TOKEN, TEST_AGENT_MCP_CONFIG, TEST_AGENT_A2A_CONFIG, testAgentNoAuth, testAgentNoAuthA2A, TEST_AGENT_NO_AUTH_MCP_CONFIG, TEST_AGENT_NO_AUTH_A2A_CONFIG, creativeAgent, } from './test-helpers';
2
2
  export { testAgent as runAgentTests, formatTestResults, formatTestResultsJSON, formatTestResultsSummary, setAgentTesterLogger, getLogger, createTestClient, runStep, testHealthCheck, testDiscovery, testCreateMediaBuy, testFullSalesFlow, testCreativeSync, testCreativeInline, testCreativeFlow, testSignalsFlow, testErrorHandling, testValidation, testPricingEdgeCases, testTemporalValidation, testBehaviorAnalysis, testResponseConsistency, testGovernancePropertyLists, testGovernanceContentStandards, testPropertyListFilters, testSISessionLifecycle, testSIAvailability, testSIHandoff, testCapabilityDiscovery, testSyncAudiences, resolveAccountForAudiences, testSchemaCompliance, hasGovernanceTools, hasSITools, likelySupportsV3, testAllScenarios, getApplicableScenarios, SCENARIO_REQUIREMENTS, DEFAULT_SCENARIOS, formatSuiteResults, formatSuiteResultsJSON, type TestScenario, type TestOptions, type OrchestratorOptions, type TestResult, type SuiteResult, type TestStepResult, type AgentProfile, type TaskResult, type Logger, } from './agent-tester';
3
- export { comply, formatComplianceResults, formatComplianceResultsJSON, convince, formatConvinceResults, formatConvinceResultsJSON, SAMPLE_BRIEFS, getBriefById, getBriefsByVertical, type ComplyOptions, type FullConvinceOptions, type ComplianceTrack, type TrackResult, type TrackStatus, type ComplianceResult, type ComplianceSummary, type AdvisoryObservation, type SampleBrief, type ConvinceDimension, type ConvinceRating, type DimensionScore, type ScenarioAssessment, type ConvinceResult, type ConvincePattern, type ConvinceOptions, } from './compliance';
3
+ export { comply, formatComplianceResults, formatComplianceResultsJSON, SAMPLE_BRIEFS, getBriefById, getBriefsByVertical, getPlatformProfile, getAllPlatformTypes, type ComplyOptions, type ComplianceTrack, type TrackResult, type TrackStatus, type ComplianceResult, type ComplianceSummary, type AdvisoryObservation, type SampleBrief, type PlatformType, type SalesPlatformType, type CreativeAgentType, type SponsoredIntelligenceType, type AINativePlatformType, type PlatformProfile, type CoherenceFinding, type PlatformCoherenceResult, } from './compliance';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/testing/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,SAAS,EACT,YAAY,EACZ,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,EAErB,eAAe,EACf,kBAAkB,EAClB,6BAA6B,EAC7B,6BAA6B,EAE7B,aAAa,GACd,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,SAAS,IAAI,aAAa,EAC1B,iBAAiB,EACjB,qBAAqB,EACrB,wBAAwB,EACxB,oBAAoB,EACpB,SAAS,EACT,gBAAgB,EAChB,OAAO,EAEP,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EACpB,uBAAuB,EAEvB,2BAA2B,EAC3B,8BAA8B,EAC9B,uBAAuB,EACvB,sBAAsB,EACtB,kBAAkB,EAClB,aAAa,EACb,uBAAuB,EACvB,iBAAiB,EACjB,0BAA0B,EAC1B,oBAAoB,EAEpB,kBAAkB,EAClB,UAAU,EACV,gBAAgB,EAEhB,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EAEtB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,MAAM,GACZ,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAEL,MAAM,EACN,uBAAuB,EACvB,2BAA2B,EAE3B,QAAQ,EACR,qBAAqB,EACrB,yBAAyB,EAEzB,aAAa,EACb,YAAY,EACZ,mBAAmB,EAEnB,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,eAAe,GACrB,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/testing/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,SAAS,EACT,YAAY,EACZ,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,EAErB,eAAe,EACf,kBAAkB,EAClB,6BAA6B,EAC7B,6BAA6B,EAE7B,aAAa,GACd,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,SAAS,IAAI,aAAa,EAC1B,iBAAiB,EACjB,qBAAqB,EACrB,wBAAwB,EACxB,oBAAoB,EACpB,SAAS,EACT,gBAAgB,EAChB,OAAO,EAEP,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EACpB,uBAAuB,EAEvB,2BAA2B,EAC3B,8BAA8B,EAC9B,uBAAuB,EACvB,sBAAsB,EACtB,kBAAkB,EAClB,aAAa,EACb,uBAAuB,EACvB,iBAAiB,EACjB,0BAA0B,EAC1B,oBAAoB,EAEpB,kBAAkB,EAClB,UAAU,EACV,gBAAgB,EAEhB,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EAEtB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,MAAM,GACZ,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,MAAM,EACN,uBAAuB,EACvB,2BAA2B,EAE3B,aAAa,EACb,YAAY,EACZ,mBAAmB,EAEnB,kBAAkB,EAClB,mBAAmB,EAEnB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,yBAAyB,EAC9B,KAAK,oBAAoB,EACzB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,GAC7B,MAAM,cAAc,CAAC"}