@adcp/sdk 14.0.0-rc.52 → 14.0.0-rc.53
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/dist/lib/registry/types.generated.d.mts +12 -0
- package/dist/lib/registry/types.generated.d.ts +12 -0
- package/dist/lib/schemas-data/v2.5/_provenance.json +1 -1
- package/dist/lib/server/auth-signature.d.mts +5 -2
- package/dist/lib/server/auth-signature.d.ts +5 -2
- package/dist/lib/signing/content-digest.d.mts +8 -0
- package/dist/lib/signing/content-digest.d.ts +8 -0
- package/dist/lib/signing/content-digest.js +13 -4
- package/dist/lib/signing/content-digest.mjs +11 -4
- package/dist/lib/signing/parser.d.mts +1 -1
- package/dist/lib/signing/parser.d.ts +1 -1
- package/dist/lib/signing/parser.js +3 -2
- package/dist/lib/signing/parser.mjs +3 -2
- package/dist/lib/signing/verifier.d.mts +6 -2
- package/dist/lib/signing/verifier.d.ts +6 -2
- package/dist/lib/signing/verifier.js +14 -10
- package/dist/lib/signing/verifier.mjs +15 -10
- package/dist/lib/testing/compliance/comply.d.mts +107 -1
- package/dist/lib/testing/compliance/comply.d.ts +107 -1
- package/dist/lib/testing/compliance/comply.js +313 -1
- package/dist/lib/testing/compliance/comply.mjs +320 -2
- package/dist/lib/testing/compliance/index.d.mts +1 -1
- package/dist/lib/testing/compliance/index.d.ts +1 -1
- package/dist/lib/testing/index.d.mts +1 -1
- package/dist/lib/testing/index.d.ts +1 -1
- package/dist/lib/testing/storyboard/runner.js +10 -0
- package/dist/lib/testing/storyboard/runner.mjs +8 -0
- package/dist/lib/testing/storyboard/validations.d.mts +1 -1
- package/dist/lib/testing/storyboard/validations.d.ts +1 -1
- package/dist/lib/version.d.mts +3 -3
- package/dist/lib/version.d.ts +3 -3
- package/dist/lib/version.js +3 -3
- package/dist/lib/version.mjs +3 -3
- package/docs/TYPE-SUMMARY.md +1 -1
- package/docs/guides/VALIDATE-YOUR-AGENT.md +49 -0
- package/docs/llms.txt +1 -1
- package/docs/migration-13-to-14.md +14 -7
- package/docs/migration-14.x-rc-worksheet.md +4 -4
- package/package.json +1 -1
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* comply → "Your agent works" (deterministic, per-track)
|
|
5
5
|
*/
|
|
6
6
|
export { comply, collectObservations, buildComplianceBundleResults, computeOverallStatus, formatComplianceResults, formatComplianceResultsJSON, rotateStoryboardsForOffset, } from './comply.mjs';
|
|
7
|
-
export type { ComplyOptions, ComplianceBundleAssessmentOptions } from './comply.mjs';
|
|
7
|
+
export type { ComplyOptions, ComplianceBundleAssessmentOptions, ComplyRouteStoryboardContext, ComplyStoryboardRoute, ComplyStoryboardRouting, ComplyStoryboardSkip, } from './comply.mjs';
|
|
8
8
|
export { buildComplianceSummary, buildCrashSummary, formatComplianceSummaryText, formatComplianceSummaryMarkdown, } from './summary.mjs';
|
|
9
9
|
export type { ComplianceSummaryArtifact, ComplianceSummaryFailure, ComplianceSummaryFailureKind, BuildSummaryOptions, BuildCrashSummaryOptions, } from './summary.mjs';
|
|
10
10
|
export { SAMPLE_BRIEFS, getBriefById, getBriefsByVertical } from './briefs.mjs';
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* comply → "Your agent works" (deterministic, per-track)
|
|
5
5
|
*/
|
|
6
6
|
export { comply, collectObservations, buildComplianceBundleResults, computeOverallStatus, formatComplianceResults, formatComplianceResultsJSON, rotateStoryboardsForOffset, } from './comply';
|
|
7
|
-
export type { ComplyOptions, ComplianceBundleAssessmentOptions } from './comply';
|
|
7
|
+
export type { ComplyOptions, ComplianceBundleAssessmentOptions, ComplyRouteStoryboardContext, ComplyStoryboardRoute, ComplyStoryboardRouting, ComplyStoryboardSkip, } from './comply';
|
|
8
8
|
export { buildComplianceSummary, buildCrashSummary, formatComplianceSummaryText, formatComplianceSummaryMarkdown, } from './summary';
|
|
9
9
|
export type { ComplianceSummaryArtifact, ComplianceSummaryFailure, ComplianceSummaryFailureKind, BuildSummaryOptions, BuildCrashSummaryOptions, } from './summary';
|
|
10
10
|
export { SAMPLE_BRIEFS, getBriefById, getBriefsByVertical } from './briefs';
|
|
@@ -1,6 +1,6 @@
|
|
|
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.mjs';
|
|
2
2
|
export { testAgent as runAgentTests, formatTestResults, formatTestResultsJSON, formatTestResultsSummary, setAgentTesterLogger, getLogger, createTestClient, runStep, testHealthCheck, testDiscovery, testCreateMediaBuy, testFullSalesFlow, testReportingFlow, testCreativeSync, testCreativeInline, testCreativeFlow, testSignalsFlow, testErrorHandling, testValidation, testPricingEdgeCases, testTemporalValidation, testBehaviorAnalysis, testResponseConsistency, testGovernancePropertyLists, testGovernanceContentStandards, testPropertyListFilters, testSISessionLifecycle, testSIAvailability, testSIHandoff, testCapabilityDiscovery, testSyncAudiences, resolveAccountForMediaBuy, resolveAccountForAudiences, testSchemaCompliance, testMediaBuyLifecycle, testTerminalStateEnforcement, testPackageLifecycle, testCreativeStateMachine, testMediaBuyStateMachine, testAccountStateMachine, testSessionStateMachine, testDeliverySimulation, testBudgetSimulation, testControllerValidation, testBrandRightsFlow, hasBrandRightsTools, 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 TestClient, type Logger, } from './agent-tester.mjs';
|
|
3
|
-
export { comply, buildComplianceBundleResults, formatComplianceResults, formatComplianceResultsJSON, buildComplianceSummary, SAMPLE_BRIEFS, getBriefById, getBriefsByVertical, type ComplyOptions, type ComplianceBundleAssessmentOptions, type ComplianceTrack, type TrackResult, type TestedTrackEntry, type TrackStatus, type ComplianceBundleResult, type ComplianceBundleStatus, type ComplianceResult, type ComplianceSummary, type ComplianceSummaryArtifact, type BuildSummaryOptions, type AdvisoryObservation, type ObservationSource, type SampleBrief, } from './compliance/index.mjs';
|
|
3
|
+
export { comply, buildComplianceBundleResults, formatComplianceResults, formatComplianceResultsJSON, buildComplianceSummary, SAMPLE_BRIEFS, getBriefById, getBriefsByVertical, type ComplyOptions, type ComplianceBundleAssessmentOptions, type ComplyRouteStoryboardContext, type ComplyStoryboardRoute, type ComplyStoryboardRouting, type ComplyStoryboardSkip, type ComplianceTrack, type TrackResult, type TestedTrackEntry, type TrackStatus, type ComplianceBundleResult, type ComplianceBundleStatus, type ComplianceResult, type ComplianceSummary, type ComplianceSummaryArtifact, type BuildSummaryOptions, type AdvisoryObservation, type ObservationSource, type SampleBrief, } from './compliance/index.mjs';
|
|
4
4
|
export { GovernanceAgentStub } from './stubs/index.mjs';
|
|
5
5
|
export type { StubCallRecord } from './stubs/index.mjs';
|
|
6
6
|
export { expectControllerError, expectControllerSuccess } from './controller-assertions.mjs';
|
|
@@ -1,6 +1,6 @@
|
|
|
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, testReportingFlow, testCreativeSync, testCreativeInline, testCreativeFlow, testSignalsFlow, testErrorHandling, testValidation, testPricingEdgeCases, testTemporalValidation, testBehaviorAnalysis, testResponseConsistency, testGovernancePropertyLists, testGovernanceContentStandards, testPropertyListFilters, testSISessionLifecycle, testSIAvailability, testSIHandoff, testCapabilityDiscovery, testSyncAudiences, resolveAccountForMediaBuy, resolveAccountForAudiences, testSchemaCompliance, testMediaBuyLifecycle, testTerminalStateEnforcement, testPackageLifecycle, testCreativeStateMachine, testMediaBuyStateMachine, testAccountStateMachine, testSessionStateMachine, testDeliverySimulation, testBudgetSimulation, testControllerValidation, testBrandRightsFlow, hasBrandRightsTools, 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 TestClient, type Logger, } from './agent-tester';
|
|
3
|
-
export { comply, buildComplianceBundleResults, formatComplianceResults, formatComplianceResultsJSON, buildComplianceSummary, SAMPLE_BRIEFS, getBriefById, getBriefsByVertical, type ComplyOptions, type ComplianceBundleAssessmentOptions, type ComplianceTrack, type TrackResult, type TestedTrackEntry, type TrackStatus, type ComplianceBundleResult, type ComplianceBundleStatus, type ComplianceResult, type ComplianceSummary, type ComplianceSummaryArtifact, type BuildSummaryOptions, type AdvisoryObservation, type ObservationSource, type SampleBrief, } from './compliance';
|
|
3
|
+
export { comply, buildComplianceBundleResults, formatComplianceResults, formatComplianceResultsJSON, buildComplianceSummary, SAMPLE_BRIEFS, getBriefById, getBriefsByVertical, type ComplyOptions, type ComplianceBundleAssessmentOptions, type ComplyRouteStoryboardContext, type ComplyStoryboardRoute, type ComplyStoryboardRouting, type ComplyStoryboardSkip, type ComplianceTrack, type TrackResult, type TestedTrackEntry, type TrackStatus, type ComplianceBundleResult, type ComplianceBundleStatus, type ComplianceResult, type ComplianceSummary, type ComplianceSummaryArtifact, type BuildSummaryOptions, type AdvisoryObservation, type ObservationSource, type SampleBrief, } from './compliance';
|
|
4
4
|
export { GovernanceAgentStub } from './stubs';
|
|
5
5
|
export type { StubCallRecord } from './stubs';
|
|
6
6
|
export { expectControllerError, expectControllerSuccess } from './controller-assertions';
|
|
@@ -42,6 +42,7 @@ __export(runner_exports, {
|
|
|
42
42
|
applyStoryboardVersionOptions: () => applyStoryboardVersionOptions,
|
|
43
43
|
buildDiscoveryFailedResult: () => buildDiscoveryFailedResult,
|
|
44
44
|
buildStepRequest: () => buildStepRequest,
|
|
45
|
+
collectCapabilityNotices: () => collectCapabilityNotices,
|
|
45
46
|
describeStoryboardCapabilityGates: () => describeStoryboardCapabilityGates,
|
|
46
47
|
evaluateCapabilityPredicate: () => evaluateCapabilityPredicate,
|
|
47
48
|
getFirstStepPreview: () => getFirstStepPreview,
|
|
@@ -52,6 +53,7 @@ __export(runner_exports, {
|
|
|
52
53
|
runStoryboardStep: () => runStoryboardStep,
|
|
53
54
|
signingCoverage: () => signingCoverage,
|
|
54
55
|
signingCoverageUnverified: () => signingCoverageUnverified,
|
|
56
|
+
storyboardCapabilityGateUnmet: () => storyboardCapabilityGateUnmet,
|
|
55
57
|
storyboardCapabilityPredicates: () => storyboardCapabilityPredicates,
|
|
56
58
|
summarizeStrictValidation: () => summarizeStrictValidation
|
|
57
59
|
});
|
|
@@ -377,6 +379,12 @@ function evaluateStoryboardCapabilityGates(storyboard, profile, agentTools, adcp
|
|
|
377
379
|
return `Capability predicates not satisfied:
|
|
378
380
|
${failures.map((detail) => `- ${detail}`).join("\n")}`;
|
|
379
381
|
}
|
|
382
|
+
function storyboardCapabilityGateUnmet(storyboard, options) {
|
|
383
|
+
if (storyboardCapabilityPredicates(storyboard).length === 0) return null;
|
|
384
|
+
const versioned = applyStoryboardVersionOptions(storyboard, applyReusableProfileOptions(options));
|
|
385
|
+
if (versioned._profile === void 0) return null;
|
|
386
|
+
return evaluateStoryboardCapabilityGates(storyboard, versioned._profile, versioned.agentTools, versioned.adcpVersion);
|
|
387
|
+
}
|
|
380
388
|
function collectPhaseCapabilitySkipDetails(storyboard, profile, agentTools, adcpVersion) {
|
|
381
389
|
const skipDetails = /* @__PURE__ */ new Map();
|
|
382
390
|
for (const phase of storyboard.phases) {
|
|
@@ -6562,6 +6570,7 @@ function getFirstStepPreview(storyboard, context = {}) {
|
|
|
6562
6570
|
applyStoryboardVersionOptions,
|
|
6563
6571
|
buildDiscoveryFailedResult,
|
|
6564
6572
|
buildStepRequest,
|
|
6573
|
+
collectCapabilityNotices,
|
|
6565
6574
|
describeStoryboardCapabilityGates,
|
|
6566
6575
|
evaluateCapabilityPredicate,
|
|
6567
6576
|
getFirstStepPreview,
|
|
@@ -6572,6 +6581,7 @@ function getFirstStepPreview(storyboard, context = {}) {
|
|
|
6572
6581
|
runStoryboardStep,
|
|
6573
6582
|
signingCoverage,
|
|
6574
6583
|
signingCoverageUnverified,
|
|
6584
|
+
storyboardCapabilityGateUnmet,
|
|
6575
6585
|
storyboardCapabilityPredicates,
|
|
6576
6586
|
summarizeStrictValidation
|
|
6577
6587
|
});
|
|
@@ -401,6 +401,12 @@ function evaluateStoryboardCapabilityGates(storyboard, profile, agentTools, adcp
|
|
|
401
401
|
return `Capability predicates not satisfied:
|
|
402
402
|
${failures.map((detail) => `- ${detail}`).join("\n")}`;
|
|
403
403
|
}
|
|
404
|
+
function storyboardCapabilityGateUnmet(storyboard, options) {
|
|
405
|
+
if (storyboardCapabilityPredicates(storyboard).length === 0) return null;
|
|
406
|
+
const versioned = applyStoryboardVersionOptions(storyboard, applyReusableProfileOptions(options));
|
|
407
|
+
if (versioned._profile === void 0) return null;
|
|
408
|
+
return evaluateStoryboardCapabilityGates(storyboard, versioned._profile, versioned.agentTools, versioned.adcpVersion);
|
|
409
|
+
}
|
|
404
410
|
function collectPhaseCapabilitySkipDetails(storyboard, profile, agentTools, adcpVersion) {
|
|
405
411
|
const skipDetails = /* @__PURE__ */ new Map();
|
|
406
412
|
for (const phase of storyboard.phases) {
|
|
@@ -6585,6 +6591,7 @@ export {
|
|
|
6585
6591
|
applyStoryboardVersionOptions,
|
|
6586
6592
|
buildDiscoveryFailedResult,
|
|
6587
6593
|
buildStepRequest,
|
|
6594
|
+
collectCapabilityNotices,
|
|
6588
6595
|
describeStoryboardCapabilityGates,
|
|
6589
6596
|
evaluateCapabilityPredicate,
|
|
6590
6597
|
getFirstStepPreview,
|
|
@@ -6595,6 +6602,7 @@ export {
|
|
|
6595
6602
|
runStoryboardStep,
|
|
6596
6603
|
signingCoverage,
|
|
6597
6604
|
signingCoverageUnverified,
|
|
6605
|
+
storyboardCapabilityGateUnmet,
|
|
6598
6606
|
storyboardCapabilityPredicates,
|
|
6599
6607
|
summarizeStrictValidation
|
|
6600
6608
|
};
|
|
@@ -197,7 +197,7 @@ export interface UpstreamTrafficQueryResult {
|
|
|
197
197
|
*/
|
|
198
198
|
export declare function runValidations(validations: StoryboardValidation[], context: ValidationContext): ValidationResult[];
|
|
199
199
|
/** Capability semver emitted in run summaries and used for advisory expiry. */
|
|
200
|
-
export declare const RUNNER_CAPABILITY_VERSION = "14.0.0-rc.
|
|
200
|
+
export declare const RUNNER_CAPABILITY_VERSION = "14.0.0-rc.53";
|
|
201
201
|
/** True when a failed validation contributes to the owning step's grade. */
|
|
202
202
|
export declare function validationFailsStep(result: ValidationResult): boolean;
|
|
203
203
|
/**
|
|
@@ -197,7 +197,7 @@ export interface UpstreamTrafficQueryResult {
|
|
|
197
197
|
*/
|
|
198
198
|
export declare function runValidations(validations: StoryboardValidation[], context: ValidationContext): ValidationResult[];
|
|
199
199
|
/** Capability semver emitted in run summaries and used for advisory expiry. */
|
|
200
|
-
export declare const RUNNER_CAPABILITY_VERSION = "14.0.0-rc.
|
|
200
|
+
export declare const RUNNER_CAPABILITY_VERSION = "14.0.0-rc.53";
|
|
201
201
|
/** True when a failed validation contributes to the owning step's grade. */
|
|
202
202
|
export declare function validationFailsStep(result: ValidationResult): boolean;
|
|
203
203
|
/**
|
package/dist/lib/version.d.mts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* AdCP SDK library version
|
|
3
3
|
*/
|
|
4
|
-
export declare const LIBRARY_VERSION = "14.0.0-rc.
|
|
4
|
+
export declare const LIBRARY_VERSION = "14.0.0-rc.53";
|
|
5
5
|
/**
|
|
6
6
|
* AdCP specification version this library is built for
|
|
7
7
|
*/
|
|
@@ -33,10 +33,10 @@ export type AdcpVersion = (typeof COMPATIBLE_ADCP_VERSIONS)[number];
|
|
|
33
33
|
* Full version information
|
|
34
34
|
*/
|
|
35
35
|
export declare const VERSION_INFO: {
|
|
36
|
-
readonly library: "14.0.0-rc.
|
|
36
|
+
readonly library: "14.0.0-rc.53";
|
|
37
37
|
readonly adcp: "3.2.0-rc.7";
|
|
38
38
|
readonly compatibleVersions: readonly ["v2.5", "v2.6", "v3", "3.0.0", "3.0", "3.0.1", "3.0.2", "3.0.3", "3.0.4", "3.0.5", "3.0.6", "3.0.7", "3.0.8", "3.0.9", "3.0.10", "3.0.11", "3.0.12", "3.0.13", "3.0.14", "3.0.15", "3.0.16", "3.0.17", "3.0.18", "3.0.19", "3.0.20", "3.0.21", "3.0.22", "3.0.23", "3.0.24", "3.0.25", "3.1.0", "3.1", "3.1.1", "3.1.2", "3.1.3", "3.1.4", "3.1.5", "3.1.6", "3.1.7", "3.1.8", "3.1.9", "3.1.10", "3.1.11", "3.1.12", "3.1.13", "3.1.14", "3.1.15", "3.1.16", "3.1.17", "3.1.18", "3.1.19", "3.1.20", "3.1.21", "3.1.22", "3.1.23", "3.1.24", "3.2.0-rc.7", "3.2-rc.7"];
|
|
39
|
-
readonly generatedAt: "2026-09-
|
|
39
|
+
readonly generatedAt: "2026-09-30T09:24:27.054Z";
|
|
40
40
|
};
|
|
41
41
|
/**
|
|
42
42
|
* Get the AdCP specification version this library is built for
|
package/dist/lib/version.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* AdCP SDK library version
|
|
3
3
|
*/
|
|
4
|
-
export declare const LIBRARY_VERSION = "14.0.0-rc.
|
|
4
|
+
export declare const LIBRARY_VERSION = "14.0.0-rc.53";
|
|
5
5
|
/**
|
|
6
6
|
* AdCP specification version this library is built for
|
|
7
7
|
*/
|
|
@@ -33,10 +33,10 @@ export type AdcpVersion = (typeof COMPATIBLE_ADCP_VERSIONS)[number];
|
|
|
33
33
|
* Full version information
|
|
34
34
|
*/
|
|
35
35
|
export declare const VERSION_INFO: {
|
|
36
|
-
readonly library: "14.0.0-rc.
|
|
36
|
+
readonly library: "14.0.0-rc.53";
|
|
37
37
|
readonly adcp: "3.2.0-rc.7";
|
|
38
38
|
readonly compatibleVersions: readonly ["v2.5", "v2.6", "v3", "3.0.0", "3.0", "3.0.1", "3.0.2", "3.0.3", "3.0.4", "3.0.5", "3.0.6", "3.0.7", "3.0.8", "3.0.9", "3.0.10", "3.0.11", "3.0.12", "3.0.13", "3.0.14", "3.0.15", "3.0.16", "3.0.17", "3.0.18", "3.0.19", "3.0.20", "3.0.21", "3.0.22", "3.0.23", "3.0.24", "3.0.25", "3.1.0", "3.1", "3.1.1", "3.1.2", "3.1.3", "3.1.4", "3.1.5", "3.1.6", "3.1.7", "3.1.8", "3.1.9", "3.1.10", "3.1.11", "3.1.12", "3.1.13", "3.1.14", "3.1.15", "3.1.16", "3.1.17", "3.1.18", "3.1.19", "3.1.20", "3.1.21", "3.1.22", "3.1.23", "3.1.24", "3.2.0-rc.7", "3.2-rc.7"];
|
|
39
|
-
readonly generatedAt: "2026-09-
|
|
39
|
+
readonly generatedAt: "2026-09-30T09:24:27.054Z";
|
|
40
40
|
};
|
|
41
41
|
/**
|
|
42
42
|
* Get the AdCP specification version this library is built for
|
package/dist/lib/version.js
CHANGED
|
@@ -31,7 +31,7 @@ __export(version_exports, {
|
|
|
31
31
|
toReleasePrecisionVersion: () => toReleasePrecisionVersion
|
|
32
32
|
});
|
|
33
33
|
module.exports = __toCommonJS(version_exports);
|
|
34
|
-
const LIBRARY_VERSION = "14.0.0-rc.
|
|
34
|
+
const LIBRARY_VERSION = "14.0.0-rc.53";
|
|
35
35
|
const ADCP_VERSION = "3.2.0-rc.7";
|
|
36
36
|
const ADCP_MAJOR_VERSION = 3;
|
|
37
37
|
const COMPATIBLE_ADCP_VERSIONS = [
|
|
@@ -95,10 +95,10 @@ const COMPATIBLE_ADCP_VERSIONS = [
|
|
|
95
95
|
"3.2-rc.7"
|
|
96
96
|
];
|
|
97
97
|
const VERSION_INFO = {
|
|
98
|
-
library: "14.0.0-rc.
|
|
98
|
+
library: "14.0.0-rc.53",
|
|
99
99
|
adcp: "3.2.0-rc.7",
|
|
100
100
|
compatibleVersions: COMPATIBLE_ADCP_VERSIONS,
|
|
101
|
-
generatedAt: "2026-09-
|
|
101
|
+
generatedAt: "2026-09-30T09:24:27.054Z"
|
|
102
102
|
};
|
|
103
103
|
function getAdcpVersion() {
|
|
104
104
|
return ADCP_VERSION;
|
package/dist/lib/version.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const LIBRARY_VERSION = "14.0.0-rc.
|
|
1
|
+
const LIBRARY_VERSION = "14.0.0-rc.53";
|
|
2
2
|
const ADCP_VERSION = "3.2.0-rc.7";
|
|
3
3
|
const ADCP_MAJOR_VERSION = 3;
|
|
4
4
|
const COMPATIBLE_ADCP_VERSIONS = [
|
|
@@ -62,10 +62,10 @@ const COMPATIBLE_ADCP_VERSIONS = [
|
|
|
62
62
|
"3.2-rc.7"
|
|
63
63
|
];
|
|
64
64
|
const VERSION_INFO = {
|
|
65
|
-
library: "14.0.0-rc.
|
|
65
|
+
library: "14.0.0-rc.53",
|
|
66
66
|
adcp: "3.2.0-rc.7",
|
|
67
67
|
compatibleVersions: COMPATIBLE_ADCP_VERSIONS,
|
|
68
|
-
generatedAt: "2026-09-
|
|
68
|
+
generatedAt: "2026-09-30T09:24:27.054Z"
|
|
69
69
|
};
|
|
70
70
|
function getAdcpVersion() {
|
|
71
71
|
return ADCP_VERSION;
|
package/docs/TYPE-SUMMARY.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# AdCP Type Summary
|
|
2
2
|
|
|
3
3
|
> Generated at: 2026-09-30
|
|
4
|
-
> @adcp/sdk v14.0.0-rc.
|
|
4
|
+
> @adcp/sdk v14.0.0-rc.53
|
|
5
5
|
|
|
6
6
|
Curated reference of the types that matter for using the AdCP client. For full generated types see `src/lib/types/tools.generated.ts` and `src/lib/types/core.generated.ts`.
|
|
7
7
|
|
|
@@ -187,6 +187,55 @@ await comply(agentUrl, {
|
|
|
187
187
|
});
|
|
188
188
|
```
|
|
189
189
|
|
|
190
|
+
**Multi-agent storyboards under `comply()`.** `comply()` grades one agent, so
|
|
191
|
+
storyboards that declare `requires: [multi_agent]` (for example the
|
|
192
|
+
governance-aware seller scenarios) skip with `requirement_unmet` and cap their
|
|
193
|
+
bundle at `partial`. A grader that can supply the other agents can route them
|
|
194
|
+
per storyboard with `routeStoryboard`; every other storyboard keeps the
|
|
195
|
+
ordinary single-URL run:
|
|
196
|
+
|
|
197
|
+
```ts
|
|
198
|
+
await comply(agentUrl, {
|
|
199
|
+
auth: { type: 'bearer', token: ownerToken },
|
|
200
|
+
routeStoryboard: storyboard => {
|
|
201
|
+
if (!storyboard.requires?.includes('multi_agent')) return undefined; // unchanged run
|
|
202
|
+
if (!canRoute(storyboard)) return { skip: `${storyboard.id}: no governance agent for this topology` };
|
|
203
|
+
return {
|
|
204
|
+
agents: {
|
|
205
|
+
seller: { url: agentUrl }, // agent under test: inherits the run-level auth
|
|
206
|
+
governance: { url: governanceUrl, auth: { type: 'bearer', token: governanceToken } },
|
|
207
|
+
},
|
|
208
|
+
default_agent: 'seller',
|
|
209
|
+
context: { seller_agent_url: agentUrl },
|
|
210
|
+
};
|
|
211
|
+
},
|
|
212
|
+
});
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
A routed result lands in `tracks`, `failures`, `storyboards_executed` and
|
|
216
|
+
`bundle_results` like any other run, graded against the agent under test
|
|
217
|
+
only. A failed step, or a discovery failure, on another routed agent becomes a
|
|
218
|
+
`prerequisite_failed` coverage gap (`partial`, never `failing`). A routed
|
|
219
|
+
storyboard in which no step served by the agent under test passed cannot reach
|
|
220
|
+
`passing`. `{ skip }` records the same `requirement_unmet` row an unrouted
|
|
221
|
+
`multi_agent` storyboard gets, with your reason (control characters stripped)
|
|
222
|
+
as `skip.detail`, so the bundle stays `partial`. Storyboards whose root
|
|
223
|
+
capability predicate the agent under test does not satisfy are never passed to
|
|
224
|
+
the hook and stay `not_applicable`. The hook's `profile` argument is the
|
|
225
|
+
agent's own capability answer, so treat it as untrusted.
|
|
226
|
+
|
|
227
|
+
`comply()` throws on caller misconfiguration. That covers a `default_agent`
|
|
228
|
+
that is not the agent under test, an entry whose `auth` is not a real
|
|
229
|
+
credential object (only the agent-under-test entry may omit it; it then keeps
|
|
230
|
+
the run-level credential, which is dropped from the shared routed options), run-level
|
|
231
|
+
`headers` (they are sent to every routed agent), and a replacement
|
|
232
|
+
`storyboard` that changes phases, steps, validations or gates. A storyboard that
|
|
233
|
+
would send `$test_kit.auth` or `from_test_kit` credentials through a step not
|
|
234
|
+
pinned to the agent under test is recorded as a skip instead of being routed.
|
|
235
|
+
Run-level `transport`, including a `trustedFetchFn` egress guard, applies to
|
|
236
|
+
every routed agent. Version negotiation is done once, against the agent under
|
|
237
|
+
test, and shared by the routed agents.
|
|
238
|
+
|
|
190
239
|
**OAuth-protected agents.** Storyboard runs reuse tokens saved under an alias. Two supported flows:
|
|
191
240
|
|
|
192
241
|
```bash
|
package/docs/llms.txt
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Ad Context Protocol (AdCP)
|
|
2
2
|
|
|
3
3
|
> Generated at: 2026-09-30
|
|
4
|
-
> Library: @adcp/sdk v14.0.0-rc.
|
|
4
|
+
> Library: @adcp/sdk v14.0.0-rc.53
|
|
5
5
|
> AdCP major version: 3
|
|
6
6
|
> Canonical URL: https://adcontextprotocol.github.io/adcp-client/llms.txt
|
|
7
7
|
> Note: the `Library` stamp reflects the package.json version at doc-generation time. The narrative below describes the surface that lands on the next-published minor — including any 6.7 helpers documented here ahead of the release tag.
|
|
@@ -975,12 +975,16 @@ SDK 13 used the legacy AdCP 3.0/3.1 representation. SDK 14 selects between two p
|
|
|
975
975
|
|
|
976
976
|
High-level A2A/MCP clients carry the configured agent version automatically. Low-level signing integrations should pass their trusted version context and can inspect the signature encoding with `requestSigningEncodingForVersion()`. For SDK 13 source compatibility, a low-level verifier with no `adcpVersion` accepts either signature encoding and applies its configured digest-coverage policy; an explicit trusted 3.2 pin keeps mandatory digest coverage.
|
|
977
977
|
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
`
|
|
982
|
-
|
|
983
|
-
|
|
978
|
+
A verifier pinned to AdCP 3.2 parses `Signature` and `Content-Digest` only as
|
|
979
|
+
RFC 8941 padded standard Base64. It rejects an SDK 13 Base64URL token with
|
|
980
|
+
`request_signature_header_malformed` at parse time (checklist step 1 for
|
|
981
|
+
`Signature`), even when the internal verifier policy is
|
|
982
|
+
`signedRequests.covers_content_digest: 'either'`; the spec forbids a 3.2
|
|
983
|
+
verifier from retrying a legacy token through a second decoder. To keep
|
|
984
|
+
accepting SDK 13 signers, serve them from a separately configured endpoint
|
|
985
|
+
pinned to 3.0/3.1, or coordinate the cutover before the shared endpoint
|
|
986
|
+
advertises 3.2. A 3.0/3.1-pinned endpoint in `'either'` mode still accepts both
|
|
987
|
+
serializations.
|
|
984
988
|
|
|
985
989
|
Do not select a signing profile from a version value inside an unverified request body or header. On the server, bind the version to the endpoint, tenant, or authenticated agent configuration. Webhook signatures do not move to the 3.2 request profile.
|
|
986
990
|
|
|
@@ -988,7 +992,10 @@ Low-level `verifyRequestSignature()` calls that omit `adcpVersion` tolerate both
|
|
|
988
992
|
the legacy Base64URL and 3.2 RFC 8941 Base64 serialization so frozen 3.0/3.1
|
|
989
993
|
integrations do not inherit the SDK's own protocol pin. This does not relax
|
|
990
994
|
digest policy: `capability.covers_content_digest` remains authoritative. Pass a
|
|
991
|
-
trusted `adcpVersion` whenever one is available
|
|
995
|
+
trusted `adcpVersion` whenever one is available. An endpoint that advertises
|
|
996
|
+
3.2 must pass `adcpVersion: '3.2'` (or its exact 3.2 release): an unpinned
|
|
997
|
+
verifier accepts a Base64URL token that a 3.2 verifier must reject, so it fails
|
|
998
|
+
the `profile-3.2/negative/001-base64url-sf-binary` conformance vector.
|
|
992
999
|
|
|
993
1000
|
## Cross-role governance is capability-gated
|
|
994
1001
|
|
|
@@ -11,8 +11,8 @@ below as the publication/deployment gate.
|
|
|
11
11
|
|
|
12
12
|
| Fact | Value |
|
|
13
13
|
| --- | --- |
|
|
14
|
-
| Exact npm package | `@adcp/sdk@14.0.0-rc.
|
|
15
|
-
| npm integrity | registry-derived after publication; run `npm view @adcp/sdk@14.0.0-rc.
|
|
14
|
+
| Exact npm package | `@adcp/sdk@14.0.0-rc.53` |
|
|
15
|
+
| npm integrity | registry-derived after publication; run `npm view @adcp/sdk@14.0.0-rc.53 dist.integrity` |
|
|
16
16
|
| Node.js runtime | `^20.19.0 || >=22.12.0` |
|
|
17
17
|
| Default AdCP wire release | `3.2.0-rc.7` |
|
|
18
18
|
| Maintained wire releases | `v2.5`, `v2.6`, `v3`, `3.0.0`, `3.0`, `3.0.1`, `3.0.2`, `3.0.3`, `3.0.4`, `3.0.5`, `3.0.6`, `3.0.7`, `3.0.8`, `3.0.9`, `3.0.10`, `3.0.11`, `3.0.12`, `3.0.13`, `3.0.14`, `3.0.15`, `3.0.16`, `3.0.17`, `3.0.18`, `3.0.19`, `3.0.20`, `3.0.21`, `3.0.22`, `3.0.23`, `3.0.24`, `3.0.25`, `3.1.0`, `3.1`, `3.1.1`, `3.1.2`, `3.1.3`, `3.1.4`, `3.1.5`, `3.1.6`, `3.1.7`, `3.1.8`, `3.1.9`, `3.1.10`, `3.1.11`, `3.1.12`, `3.1.13`, `3.1.14`, `3.1.15`, `3.1.16`, `3.1.17`, `3.1.18`, `3.1.19`, `3.1.20`, `3.1.21`, `3.1.22`, `3.1.23`, `3.1.24`, `3.2.0-rc.7`, `3.2-rc.7` |
|
|
@@ -21,8 +21,8 @@ below as the publication/deployment gate.
|
|
|
21
21
|
Install exact production inputs rather than a moving prerelease range:
|
|
22
22
|
|
|
23
23
|
```bash
|
|
24
|
-
npm install --save-exact '@adcp/sdk@14.0.0-rc.
|
|
25
|
-
npm view '@adcp/sdk@14.0.0-rc.
|
|
24
|
+
npm install --save-exact '@adcp/sdk@14.0.0-rc.53'
|
|
25
|
+
npm view '@adcp/sdk@14.0.0-rc.53' dist.integrity
|
|
26
26
|
```
|
|
27
27
|
|
|
28
28
|
### Required and optional peers
|