@adcp/sdk 16.1.0 → 16.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/governance/authorization.d.mts +66 -0
- package/dist/lib/governance/authorization.d.ts +66 -0
- package/dist/lib/governance/authorization.js +181 -37
- package/dist/lib/governance/authorization.mjs +183 -36
- package/dist/lib/governance/index.d.mts +2 -2
- package/dist/lib/governance/index.d.ts +2 -2
- package/dist/lib/governance/index.js +4 -2
- package/dist/lib/governance/index.mjs +3 -1
- package/dist/lib/identity-3.3/index.d.mts +1 -0
- package/dist/lib/identity-3.3/index.d.ts +1 -0
- package/dist/lib/identity-3.3/index.js +3 -1
- package/dist/lib/identity-3.3/index.mjs +1 -0
- package/dist/lib/identity-3.3/jws-artifacts.d.mts +147 -0
- package/dist/lib/identity-3.3/jws-artifacts.d.ts +147 -0
- package/dist/lib/identity-3.3/jws-artifacts.js +258 -0
- package/dist/lib/identity-3.3/jws-artifacts.mjs +234 -0
- package/dist/lib/identity-3.3/revocation.d.mts +7 -0
- package/dist/lib/identity-3.3/revocation.d.ts +7 -0
- package/dist/lib/identity-3.3/revocation.js +13 -0
- package/dist/lib/identity-3.3/revocation.mjs +13 -0
- package/dist/lib/index.d.mts +2 -2
- package/dist/lib/index.d.ts +2 -2
- package/dist/lib/index.js +2 -0
- package/dist/lib/index.mjs +2 -0
- package/dist/lib/registry/types.generated.d.mts +24 -1
- package/dist/lib/registry/types.generated.d.ts +24 -1
- package/dist/lib/server/index.d.mts +2 -2
- package/dist/lib/server/index.d.ts +2 -2
- package/dist/lib/server/index.js +2 -0
- package/dist/lib/server/index.mjs +2 -0
- package/dist/lib/signing/web-bot-auth.js +5 -0
- package/dist/lib/signing/web-bot-auth.mjs +4 -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 +2 -2
- package/docs/llms.txt +3 -3
- package/docs/migration-14.x-rc-worksheet.md +4 -4
- package/docs/migration-agent-identity-3.3.md +51 -6
- package/package.json +6 -4
|
@@ -186,6 +186,19 @@ class OriginRevocationResolver {
|
|
|
186
186
|
}
|
|
187
187
|
return settled();
|
|
188
188
|
}
|
|
189
|
+
/**
|
|
190
|
+
* The most severe detail stored for a revoked key (R9: `keyCompromise` and
|
|
191
|
+
* the earliest `invalidity_date` win), or undefined when the key is not
|
|
192
|
+
* revoked. Reads the history store only; call {@link status} first to refresh.
|
|
193
|
+
* Throws {@link WebBotAuthUnavailableError} when the store fails.
|
|
194
|
+
*/
|
|
195
|
+
async detail(originUrl, keyid) {
|
|
196
|
+
try {
|
|
197
|
+
return await this.readStored((0, import_canonicalize.canonicalAgentOrigin)(originUrl), keyid);
|
|
198
|
+
} catch (error) {
|
|
199
|
+
throw new import_web_bot_auth.WebBotAuthUnavailableError("revocation_persistence_failed", error);
|
|
200
|
+
}
|
|
201
|
+
}
|
|
189
202
|
async readStored(origin, keyid) {
|
|
190
203
|
try {
|
|
191
204
|
return await this.options.store.get(origin, keyid);
|
|
@@ -165,6 +165,19 @@ class OriginRevocationResolver {
|
|
|
165
165
|
}
|
|
166
166
|
return settled();
|
|
167
167
|
}
|
|
168
|
+
/**
|
|
169
|
+
* The most severe detail stored for a revoked key (R9: `keyCompromise` and
|
|
170
|
+
* the earliest `invalidity_date` win), or undefined when the key is not
|
|
171
|
+
* revoked. Reads the history store only; call {@link status} first to refresh.
|
|
172
|
+
* Throws {@link WebBotAuthUnavailableError} when the store fails.
|
|
173
|
+
*/
|
|
174
|
+
async detail(originUrl, keyid) {
|
|
175
|
+
try {
|
|
176
|
+
return await this.readStored(canonicalAgentOrigin(originUrl), keyid);
|
|
177
|
+
} catch (error) {
|
|
178
|
+
throw new WebBotAuthUnavailableError("revocation_persistence_failed", error);
|
|
179
|
+
}
|
|
180
|
+
}
|
|
168
181
|
async readStored(origin, keyid) {
|
|
169
182
|
try {
|
|
170
183
|
return await this.options.store.get(origin, keyid);
|
package/dist/lib/index.d.mts
CHANGED
|
@@ -41,12 +41,12 @@ export type { GovernanceConfig, CampaignGovernanceConfig, GovernanceCheckResult,
|
|
|
41
41
|
export { GovernanceMiddleware } from './core/GovernanceMiddleware.mjs';
|
|
42
42
|
export { isGovernanceApproved, isGovernanceConditions, isGovernanceDenied, normalizeGovernanceVerdict, } from './core/GovernanceTypes.mjs';
|
|
43
43
|
export type { GovernanceDebugEntry } from './core/GovernanceMiddleware.mjs';
|
|
44
|
-
export { GOVERNANCE_AUTHORIZATION_CRITICAL_CLAIMS, GovernanceAuthorizationError, GovernanceReplayStoreAdapter, InMemoryGovernanceReplayStore, buildGovernanceCommitment, buildGovernanceExecutionCommitment, buildGovernanceExecutionRequest, buildGovernanceIntentRequest, buildGovernanceProposedCommitment, buildHumanReviewPlan, buildHumanOverride, computeGovernedPayloadHash, createGovernanceEnforcementMiddleware, getGovernanceEnforcementTasks, governancePurchaseTypeForTask, governanceTaskRequiresProposedCommitment, targetDeclaresGovernanceEnforcement, targetDeclaresLegacyGovernanceAwareness, validateGovernancePlan, verifyGovernanceAuthorization, createGovernanceAgentJwksResolver, REGULATED_HUMAN_REVIEW_CATEGORIES, ANNEX_III_POLICY_IDS, } from './governance/index.mjs';
|
|
44
|
+
export { GOVERNANCE_AUTHORIZATION_CRITICAL_CLAIMS, GovernanceAuthorizationError, GovernanceReplayStoreAdapter, InMemoryGovernanceReplayStore, buildGovernanceCommitment, buildGovernanceExecutionCommitment, buildGovernanceExecutionRequest, buildGovernanceIntentRequest, buildGovernanceProposedCommitment, buildHumanReviewPlan, buildHumanOverride, computeGovernedPayloadHash, createGovernanceEnforcementMiddleware, getGovernanceEnforcementTasks, governancePurchaseTypeForTask, governanceTaskRequiresProposedCommitment, targetDeclaresGovernanceEnforcement, targetDeclaresLegacyGovernanceAwareness, validateGovernancePlan, verifyGovernanceAuthorization, verifyHistoricalGovernanceContext, createGovernanceAgentJwksResolver, REGULATED_HUMAN_REVIEW_CATEGORIES, ANNEX_III_POLICY_IDS, } from './governance/index.mjs';
|
|
45
45
|
export { ssrfSafeFetch, decodeBodyAsJsonOrText, SSRF_TRANSIENT_CODES, SsrfRefusedError, isPrivateIp, isAlwaysBlocked, isLikelyPrivateUrl, type SsrfRefusedCode, type SsrfDnsLookup, type SsrfFetchOptions, type SsrfFetchResult, } from './net/index.mjs';
|
|
46
46
|
export { createCanonicalReferenceCache, createCanonicalReferenceResolver, canonicalReferenceCacheKey, resolveCanonicalReference, resolveFormatSchemaReference, resolvePlatformExtensionsReference, type CanonicalReference, type CanonicalReferenceCache, type CanonicalReferenceCacheOptions, type CanonicalReferenceError, type CanonicalReferenceErrorCode, type CanonicalReferenceFailureResult, type CanonicalReferenceKind, type CanonicalReferenceResolveOptions, type CanonicalReferenceResolvedResult, type CanonicalReferenceResolver, type CanonicalReferenceResolverOptions, type CanonicalReferenceResult, type CanonicalReferenceStatus, type ExternalRefDigestMap, type FormatSchemaReferenceResolvedResult, type FormatSchemaReferenceResult, type PlatformExtensionsReferenceResult, } from './canonical-references/index.mjs';
|
|
47
47
|
export { assessAcceptancePolicy, createAcceptancePolicyCatalogResolver, resolveAcceptancePolicyCatalog, resolveAcceptancePolicyProfiles, resolveVerifiedAcceptancePolicyProfiles, type AcceptancePolicyCatalog, type AcceptancePolicyCatalogErrorCode, type AcceptancePolicyCatalogFailure, type AcceptancePolicyCatalogIssue, type AcceptancePolicyCatalogResolver, type AcceptancePolicyCatalogResult, type AcceptancePolicyCatalogSuccess, type AcceptancePolicyDiscoveryCapability, type AcceptancePolicyProfile, type AcceptancePolicyProfileResolution, type AcceptancePolicyRegistryPolicy, type AcceptancePolicyRegistryResolver, type AcceptancePolicyReference, type AcceptancePolicyRequirement, type AcceptancePolicyRule, type AcceptancePolicySurface, type RegistryAcceptancePolicyProfileReference, type ResolveAcceptancePolicyCatalogOptions, type ResolveVerifiedAcceptancePolicyProfilesOptions, type ResolvedAcceptancePolicyDefault, type VerifiedAcceptancePolicyProfilesResult, type VerifiedAcceptancePolicyProfilesSuccess, } from './acceptance-policy/index.mjs';
|
|
48
48
|
export { type AcceptancePolicyAssessment, type AcceptancePolicyAssessmentDiagnostic, type AcceptancePolicyAssessmentDiagnosticCode, type AcceptancePolicyMatchedRule, type AcceptancePolicyOutcome, type AssessAcceptancePolicyInput, } from './acceptance-policy/evaluator.mjs';
|
|
49
|
-
export type { BuildGovernanceExecutionRequestInput, BuildGovernanceIntentRequestInput, BuildHumanReviewPlanInput, BuildHumanOverrideInput, DataSubjectContestation, GovernanceAuthorizationClaims, GovernanceAuthorizationCriticalClaim, GovernanceAuthorizationErrorCode, GovernanceAuthorizationFailure, GovernanceAuthorizationResult, GovernanceAuthorizationSuccess, GovernanceCommitment, GovernanceEnforcementMiddleware, GovernanceEnforcementMiddlewareConfig, GovernanceEnforcementMiddlewareInput, GovernanceEnforcementMode, GovernanceEnforcementTask, GovernancePlan, GovernanceReplayStore, GovernanceReplayBinding, GovernanceRevocationResolver, GovernanceRevocationStatus, GovernanceValidationIssue, HumanOverride, InMemoryGovernanceReplayStoreOptions, PlanBudget, ReallocationAutonomy, VerifyGovernanceAuthorizationOptions, GovernanceBuyerIdentity, } from './governance/index.mjs';
|
|
49
|
+
export type { BuildGovernanceExecutionRequestInput, BuildGovernanceIntentRequestInput, BuildHumanReviewPlanInput, BuildHumanOverrideInput, DataSubjectContestation, GovernanceAuthorizationClaims, GovernanceAuthorizationCriticalClaim, GovernanceAuthorizationErrorCode, GovernanceAuthorizationFailure, GovernanceAuthorizationResult, GovernanceAuthorizationSuccess, GovernanceCommitment, GovernanceEnforcementMiddleware, GovernanceEnforcementMiddlewareConfig, GovernanceEnforcementMiddlewareInput, GovernanceEnforcementMode, GovernanceEnforcementTask, GovernancePlan, GovernanceReplayStore, GovernanceReplayBinding, GovernanceRevocationResolver, GovernanceRevocationStatus, GovernanceValidationIssue, HumanOverride, InMemoryGovernanceReplayStoreOptions, PlanBudget, ReallocationAutonomy, VerifyGovernanceAuthorizationOptions, VerifyHistoricalGovernanceContextOptions, HistoricalGovernanceContextResult, GovernanceBuyerIdentity, } from './governance/index.mjs';
|
|
50
50
|
export type { BaseTaskEvent, ProtocolRequestEvent, ProtocolResponseEvent, TaskStatusEvent, ObjectEvent, TaskEvent, TaskEventCallbacks, } from './core/TaskEventTypes.mjs';
|
|
51
51
|
export { createOperationId } from './core/TaskEventTypes.mjs';
|
|
52
52
|
export type { AsyncHandlerConfig, WebhookMetadata, Activity, NotificationMetadata, MediaBuyDeliveryNotification, CreateMediaBuyStatusChangeHandler, UpdateMediaBuyStatusChangeHandler, SyncCreativesStatusChangeHandler, GetProductsStatusChangeHandler, ListProductsStatusChangeHandler, } from './core/AsyncHandler.mjs';
|
package/dist/lib/index.d.ts
CHANGED
|
@@ -41,12 +41,12 @@ export type { GovernanceConfig, CampaignGovernanceConfig, GovernanceCheckResult,
|
|
|
41
41
|
export { GovernanceMiddleware } from './core/GovernanceMiddleware';
|
|
42
42
|
export { isGovernanceApproved, isGovernanceConditions, isGovernanceDenied, normalizeGovernanceVerdict, } from './core/GovernanceTypes';
|
|
43
43
|
export type { GovernanceDebugEntry } from './core/GovernanceMiddleware';
|
|
44
|
-
export { GOVERNANCE_AUTHORIZATION_CRITICAL_CLAIMS, GovernanceAuthorizationError, GovernanceReplayStoreAdapter, InMemoryGovernanceReplayStore, buildGovernanceCommitment, buildGovernanceExecutionCommitment, buildGovernanceExecutionRequest, buildGovernanceIntentRequest, buildGovernanceProposedCommitment, buildHumanReviewPlan, buildHumanOverride, computeGovernedPayloadHash, createGovernanceEnforcementMiddleware, getGovernanceEnforcementTasks, governancePurchaseTypeForTask, governanceTaskRequiresProposedCommitment, targetDeclaresGovernanceEnforcement, targetDeclaresLegacyGovernanceAwareness, validateGovernancePlan, verifyGovernanceAuthorization, createGovernanceAgentJwksResolver, REGULATED_HUMAN_REVIEW_CATEGORIES, ANNEX_III_POLICY_IDS, } from './governance';
|
|
44
|
+
export { GOVERNANCE_AUTHORIZATION_CRITICAL_CLAIMS, GovernanceAuthorizationError, GovernanceReplayStoreAdapter, InMemoryGovernanceReplayStore, buildGovernanceCommitment, buildGovernanceExecutionCommitment, buildGovernanceExecutionRequest, buildGovernanceIntentRequest, buildGovernanceProposedCommitment, buildHumanReviewPlan, buildHumanOverride, computeGovernedPayloadHash, createGovernanceEnforcementMiddleware, getGovernanceEnforcementTasks, governancePurchaseTypeForTask, governanceTaskRequiresProposedCommitment, targetDeclaresGovernanceEnforcement, targetDeclaresLegacyGovernanceAwareness, validateGovernancePlan, verifyGovernanceAuthorization, verifyHistoricalGovernanceContext, createGovernanceAgentJwksResolver, REGULATED_HUMAN_REVIEW_CATEGORIES, ANNEX_III_POLICY_IDS, } from './governance';
|
|
45
45
|
export { ssrfSafeFetch, decodeBodyAsJsonOrText, SSRF_TRANSIENT_CODES, SsrfRefusedError, isPrivateIp, isAlwaysBlocked, isLikelyPrivateUrl, type SsrfRefusedCode, type SsrfDnsLookup, type SsrfFetchOptions, type SsrfFetchResult, } from './net';
|
|
46
46
|
export { createCanonicalReferenceCache, createCanonicalReferenceResolver, canonicalReferenceCacheKey, resolveCanonicalReference, resolveFormatSchemaReference, resolvePlatformExtensionsReference, type CanonicalReference, type CanonicalReferenceCache, type CanonicalReferenceCacheOptions, type CanonicalReferenceError, type CanonicalReferenceErrorCode, type CanonicalReferenceFailureResult, type CanonicalReferenceKind, type CanonicalReferenceResolveOptions, type CanonicalReferenceResolvedResult, type CanonicalReferenceResolver, type CanonicalReferenceResolverOptions, type CanonicalReferenceResult, type CanonicalReferenceStatus, type ExternalRefDigestMap, type FormatSchemaReferenceResolvedResult, type FormatSchemaReferenceResult, type PlatformExtensionsReferenceResult, } from './canonical-references';
|
|
47
47
|
export { assessAcceptancePolicy, createAcceptancePolicyCatalogResolver, resolveAcceptancePolicyCatalog, resolveAcceptancePolicyProfiles, resolveVerifiedAcceptancePolicyProfiles, type AcceptancePolicyCatalog, type AcceptancePolicyCatalogErrorCode, type AcceptancePolicyCatalogFailure, type AcceptancePolicyCatalogIssue, type AcceptancePolicyCatalogResolver, type AcceptancePolicyCatalogResult, type AcceptancePolicyCatalogSuccess, type AcceptancePolicyDiscoveryCapability, type AcceptancePolicyProfile, type AcceptancePolicyProfileResolution, type AcceptancePolicyRegistryPolicy, type AcceptancePolicyRegistryResolver, type AcceptancePolicyReference, type AcceptancePolicyRequirement, type AcceptancePolicyRule, type AcceptancePolicySurface, type RegistryAcceptancePolicyProfileReference, type ResolveAcceptancePolicyCatalogOptions, type ResolveVerifiedAcceptancePolicyProfilesOptions, type ResolvedAcceptancePolicyDefault, type VerifiedAcceptancePolicyProfilesResult, type VerifiedAcceptancePolicyProfilesSuccess, } from './acceptance-policy';
|
|
48
48
|
export { type AcceptancePolicyAssessment, type AcceptancePolicyAssessmentDiagnostic, type AcceptancePolicyAssessmentDiagnosticCode, type AcceptancePolicyMatchedRule, type AcceptancePolicyOutcome, type AssessAcceptancePolicyInput, } from './acceptance-policy/evaluator';
|
|
49
|
-
export type { BuildGovernanceExecutionRequestInput, BuildGovernanceIntentRequestInput, BuildHumanReviewPlanInput, BuildHumanOverrideInput, DataSubjectContestation, GovernanceAuthorizationClaims, GovernanceAuthorizationCriticalClaim, GovernanceAuthorizationErrorCode, GovernanceAuthorizationFailure, GovernanceAuthorizationResult, GovernanceAuthorizationSuccess, GovernanceCommitment, GovernanceEnforcementMiddleware, GovernanceEnforcementMiddlewareConfig, GovernanceEnforcementMiddlewareInput, GovernanceEnforcementMode, GovernanceEnforcementTask, GovernancePlan, GovernanceReplayStore, GovernanceReplayBinding, GovernanceRevocationResolver, GovernanceRevocationStatus, GovernanceValidationIssue, HumanOverride, InMemoryGovernanceReplayStoreOptions, PlanBudget, ReallocationAutonomy, VerifyGovernanceAuthorizationOptions, GovernanceBuyerIdentity, } from './governance';
|
|
49
|
+
export type { BuildGovernanceExecutionRequestInput, BuildGovernanceIntentRequestInput, BuildHumanReviewPlanInput, BuildHumanOverrideInput, DataSubjectContestation, GovernanceAuthorizationClaims, GovernanceAuthorizationCriticalClaim, GovernanceAuthorizationErrorCode, GovernanceAuthorizationFailure, GovernanceAuthorizationResult, GovernanceAuthorizationSuccess, GovernanceCommitment, GovernanceEnforcementMiddleware, GovernanceEnforcementMiddlewareConfig, GovernanceEnforcementMiddlewareInput, GovernanceEnforcementMode, GovernanceEnforcementTask, GovernancePlan, GovernanceReplayStore, GovernanceReplayBinding, GovernanceRevocationResolver, GovernanceRevocationStatus, GovernanceValidationIssue, HumanOverride, InMemoryGovernanceReplayStoreOptions, PlanBudget, ReallocationAutonomy, VerifyGovernanceAuthorizationOptions, VerifyHistoricalGovernanceContextOptions, HistoricalGovernanceContextResult, GovernanceBuyerIdentity, } from './governance';
|
|
50
50
|
export type { BaseTaskEvent, ProtocolRequestEvent, ProtocolResponseEvent, TaskStatusEvent, ObjectEvent, TaskEvent, TaskEventCallbacks, } from './core/TaskEventTypes';
|
|
51
51
|
export { createOperationId } from './core/TaskEventTypes';
|
|
52
52
|
export type { AsyncHandlerConfig, WebhookMetadata, Activity, NotificationMetadata, MediaBuyDeliveryNotification, CreateMediaBuyStatusChangeHandler, UpdateMediaBuyStatusChangeHandler, SyncCreativesStatusChangeHandler, GetProductsStatusChangeHandler, ListProductsStatusChangeHandler, } from './core/AsyncHandler';
|
package/dist/lib/index.js
CHANGED
|
@@ -714,6 +714,7 @@ __export(index_exports, {
|
|
|
714
714
|
vastAssetSlot: () => import_format_asset_slot_builders.vastAssetSlot,
|
|
715
715
|
vastGroupAsset: () => import_format_asset_slot_builders.vastGroupAsset,
|
|
716
716
|
verifyGovernanceAuthorization: () => import_governance.verifyGovernanceAuthorization,
|
|
717
|
+
verifyHistoricalGovernanceContext: () => import_governance.verifyHistoricalGovernanceContext,
|
|
717
718
|
verifyIntrospection: () => import_server.verifyIntrospection,
|
|
718
719
|
videoAsset: () => import_asset_builders.videoAsset,
|
|
719
720
|
videoAssetSlot: () => import_format_asset_slot_builders.videoAssetSlot,
|
|
@@ -1558,6 +1559,7 @@ function createAdCPClientFromEnv() {
|
|
|
1558
1559
|
vastAssetSlot,
|
|
1559
1560
|
vastGroupAsset,
|
|
1560
1561
|
verifyGovernanceAuthorization,
|
|
1562
|
+
verifyHistoricalGovernanceContext,
|
|
1561
1563
|
verifyIntrospection,
|
|
1562
1564
|
videoAsset,
|
|
1563
1565
|
videoAssetSlot,
|
package/dist/lib/index.mjs
CHANGED
|
@@ -160,6 +160,7 @@ import {
|
|
|
160
160
|
targetDeclaresLegacyGovernanceAwareness,
|
|
161
161
|
validateGovernancePlan,
|
|
162
162
|
verifyGovernanceAuthorization,
|
|
163
|
+
verifyHistoricalGovernanceContext,
|
|
163
164
|
createGovernanceAgentJwksResolver,
|
|
164
165
|
REGULATED_HUMAN_REVIEW_CATEGORIES,
|
|
165
166
|
ANNEX_III_POLICY_IDS
|
|
@@ -1520,6 +1521,7 @@ export {
|
|
|
1520
1521
|
vastAssetSlot,
|
|
1521
1522
|
vastGroupAsset,
|
|
1522
1523
|
verifyGovernanceAuthorization,
|
|
1524
|
+
verifyHistoricalGovernanceContext,
|
|
1523
1525
|
verifyIntrospection,
|
|
1524
1526
|
videoAsset,
|
|
1525
1527
|
videoAssetSlot,
|
|
@@ -4314,6 +4314,12 @@ export interface components {
|
|
|
4314
4314
|
severity: string;
|
|
4315
4315
|
message: string;
|
|
4316
4316
|
}[];
|
|
4317
|
+
/** @description Advisory AdCP 4.0 readiness from the latest non-dry-run compliance run, graded against universal/v4-compatibility.yaml. Does not affect 3.x verification or conformance. Null when the latest run predates the report. */
|
|
4318
|
+
v4_readiness?: {
|
|
4319
|
+
registry_version: string;
|
|
4320
|
+
target_version: string;
|
|
4321
|
+
checks: components["schemas"]["V4ReadinessCheck"][];
|
|
4322
|
+
} | null;
|
|
4317
4323
|
/** @description Owner-scoped: the agent owner's membership tier. Populated only when the authenticated viewer owns the agent; null otherwise. Field is always present so response shape doesn't reveal ownership. */
|
|
4318
4324
|
membership_tier?: string | null;
|
|
4319
4325
|
/** @description Owner-scoped: human-readable label for membership_tier (e.g. 'Builder'). Null for non-owners. */
|
|
@@ -4388,6 +4394,23 @@ export interface components {
|
|
|
4388
4394
|
/** Format: uri */
|
|
4389
4395
|
reference_url?: string;
|
|
4390
4396
|
};
|
|
4397
|
+
V4ReadinessCheck: {
|
|
4398
|
+
/** @description Stable check id from universal/v4-compatibility.yaml. */
|
|
4399
|
+
id: string;
|
|
4400
|
+
/** @enum {string} */
|
|
4401
|
+
status: "passed" | "failing" | "not_observable";
|
|
4402
|
+
/**
|
|
4403
|
+
* @description Why a not_observable check could not be graded. Null for passed and failing.
|
|
4404
|
+
* @enum {string|null}
|
|
4405
|
+
*/
|
|
4406
|
+
reason: "storyboard_not_run" | "step_not_run" | "step_skipped" | "not_graded" | "notice_absent" | "not_observed_by_suite" | null;
|
|
4407
|
+
issue: number | null;
|
|
4408
|
+
change: string | null;
|
|
4409
|
+
detection: string;
|
|
4410
|
+
fix: string;
|
|
4411
|
+
/** @description Migration guide anchor for the check. */
|
|
4412
|
+
guide_url: string | null;
|
|
4413
|
+
};
|
|
4391
4414
|
/** @description Owner-scoped membership leg of badge eligibility. Non-owners receive eligible: null and an empty blocker list. */
|
|
4392
4415
|
OwnerComplianceEligibility: {
|
|
4393
4416
|
criteria_version: string;
|
|
@@ -4405,7 +4428,7 @@ export interface components {
|
|
|
4405
4428
|
adcp_version: string;
|
|
4406
4429
|
verified_at: string;
|
|
4407
4430
|
/** @description Specialisms demonstrably passed (enums/specialism.json). Preview specialisms are excluded from stable badges. */
|
|
4408
|
-
verified_specialisms: ("audience-sync" | "brand-rights" | "buyer-activation" | "buyer-discovery" | "buyer-monitoring" | "buyer-negotiation" | "buyer-recovery" | "collection-lists" | "content-standards" | "creative-ad-server" | "creative-generative" | "creative-template" | "creative-transformers" | "governance-aware-seller" | "governance-delivery-monitor" | "governance-spend-authority" | "property-lists" | "sales-broadcast-tv" | "sales-catalog-driven" | "sales-dooh" | "sales-exchange" | "sales-guaranteed" | "sales-non-guaranteed" | "sales-proposal-mode" | "sales-retail-media" | "sales-streaming-tv" | "sales-social" | "signal-marketplace" | "orchestrator-multi-agent" | "signal-owned" | "signed-requests" | "sponsored-intelligence")[];
|
|
4431
|
+
verified_specialisms: ("audience-sync" | "brand-rights" | "buyer-activation" | "buyer-discovery" | "buyer-monitoring" | "buyer-negotiation" | "buyer-recovery" | "collection-lists" | "content-standards" | "creative-ad-server" | "creative-generative" | "creative-template" | "creative-transformers" | "governance-aware-seller" | "governance-delivery-monitor" | "governance-spend-authority" | "property-lists" | "sales-broadcast-tv" | "sales-catalog-driven" | "sales-dooh" | "sales-exchange" | "sales-fixed-rate" | "sales-guaranteed" | "sales-non-guaranteed" | "sales-proposal-mode" | "sales-retail-media" | "sales-streaming-tv" | "sales-social" | "signal-marketplace" | "orchestrator-multi-agent" | "signal-owned" | "signed-requests" | "sponsored-intelligence")[];
|
|
4409
4432
|
/** @description Evidence modes earned. 'spec' = AdCP storyboards were exercised; 'live' = production traffic was observed. Independent of grading_profile and always non-empty when a badge is present. */
|
|
4410
4433
|
verification_modes: ("spec" | "live")[];
|
|
4411
4434
|
/**
|
|
@@ -4314,6 +4314,12 @@ export interface components {
|
|
|
4314
4314
|
severity: string;
|
|
4315
4315
|
message: string;
|
|
4316
4316
|
}[];
|
|
4317
|
+
/** @description Advisory AdCP 4.0 readiness from the latest non-dry-run compliance run, graded against universal/v4-compatibility.yaml. Does not affect 3.x verification or conformance. Null when the latest run predates the report. */
|
|
4318
|
+
v4_readiness?: {
|
|
4319
|
+
registry_version: string;
|
|
4320
|
+
target_version: string;
|
|
4321
|
+
checks: components["schemas"]["V4ReadinessCheck"][];
|
|
4322
|
+
} | null;
|
|
4317
4323
|
/** @description Owner-scoped: the agent owner's membership tier. Populated only when the authenticated viewer owns the agent; null otherwise. Field is always present so response shape doesn't reveal ownership. */
|
|
4318
4324
|
membership_tier?: string | null;
|
|
4319
4325
|
/** @description Owner-scoped: human-readable label for membership_tier (e.g. 'Builder'). Null for non-owners. */
|
|
@@ -4388,6 +4394,23 @@ export interface components {
|
|
|
4388
4394
|
/** Format: uri */
|
|
4389
4395
|
reference_url?: string;
|
|
4390
4396
|
};
|
|
4397
|
+
V4ReadinessCheck: {
|
|
4398
|
+
/** @description Stable check id from universal/v4-compatibility.yaml. */
|
|
4399
|
+
id: string;
|
|
4400
|
+
/** @enum {string} */
|
|
4401
|
+
status: "passed" | "failing" | "not_observable";
|
|
4402
|
+
/**
|
|
4403
|
+
* @description Why a not_observable check could not be graded. Null for passed and failing.
|
|
4404
|
+
* @enum {string|null}
|
|
4405
|
+
*/
|
|
4406
|
+
reason: "storyboard_not_run" | "step_not_run" | "step_skipped" | "not_graded" | "notice_absent" | "not_observed_by_suite" | null;
|
|
4407
|
+
issue: number | null;
|
|
4408
|
+
change: string | null;
|
|
4409
|
+
detection: string;
|
|
4410
|
+
fix: string;
|
|
4411
|
+
/** @description Migration guide anchor for the check. */
|
|
4412
|
+
guide_url: string | null;
|
|
4413
|
+
};
|
|
4391
4414
|
/** @description Owner-scoped membership leg of badge eligibility. Non-owners receive eligible: null and an empty blocker list. */
|
|
4392
4415
|
OwnerComplianceEligibility: {
|
|
4393
4416
|
criteria_version: string;
|
|
@@ -4405,7 +4428,7 @@ export interface components {
|
|
|
4405
4428
|
adcp_version: string;
|
|
4406
4429
|
verified_at: string;
|
|
4407
4430
|
/** @description Specialisms demonstrably passed (enums/specialism.json). Preview specialisms are excluded from stable badges. */
|
|
4408
|
-
verified_specialisms: ("audience-sync" | "brand-rights" | "buyer-activation" | "buyer-discovery" | "buyer-monitoring" | "buyer-negotiation" | "buyer-recovery" | "collection-lists" | "content-standards" | "creative-ad-server" | "creative-generative" | "creative-template" | "creative-transformers" | "governance-aware-seller" | "governance-delivery-monitor" | "governance-spend-authority" | "property-lists" | "sales-broadcast-tv" | "sales-catalog-driven" | "sales-dooh" | "sales-exchange" | "sales-guaranteed" | "sales-non-guaranteed" | "sales-proposal-mode" | "sales-retail-media" | "sales-streaming-tv" | "sales-social" | "signal-marketplace" | "orchestrator-multi-agent" | "signal-owned" | "signed-requests" | "sponsored-intelligence")[];
|
|
4431
|
+
verified_specialisms: ("audience-sync" | "brand-rights" | "buyer-activation" | "buyer-discovery" | "buyer-monitoring" | "buyer-negotiation" | "buyer-recovery" | "collection-lists" | "content-standards" | "creative-ad-server" | "creative-generative" | "creative-template" | "creative-transformers" | "governance-aware-seller" | "governance-delivery-monitor" | "governance-spend-authority" | "property-lists" | "sales-broadcast-tv" | "sales-catalog-driven" | "sales-dooh" | "sales-exchange" | "sales-fixed-rate" | "sales-guaranteed" | "sales-non-guaranteed" | "sales-proposal-mode" | "sales-retail-media" | "sales-streaming-tv" | "sales-social" | "signal-marketplace" | "orchestrator-multi-agent" | "signal-owned" | "signed-requests" | "sponsored-intelligence")[];
|
|
4409
4432
|
/** @description Evidence modes earned. 'spec' = AdCP storyboards were exercised; 'live' = production traffic was observed. Independent of grading_profile and always non-empty when a badge is present. */
|
|
4410
4433
|
verification_modes: ("spec" | "live")[];
|
|
4411
4434
|
/**
|
|
@@ -83,8 +83,8 @@ export { createPinAndBindFetch, WEBHOOK_SSRF_POLICY, LOOPBACK_OK_WEBHOOK_SSRF_PO
|
|
|
83
83
|
export type { PinAndBindFetchOptions, DnsLookupAll } from './pin-and-bind-fetch.mjs';
|
|
84
84
|
export { checkGovernance, createAdcpGovernanceEnforcementMiddleware, governanceDeniedError, governanceUnavailableError, } from './governance.mjs';
|
|
85
85
|
export type { AdcpGovernanceEnforcementMiddleware, CheckGovernanceOptions, GovernanceCallResult, GovernanceApproved, GovernanceDenied, GovernanceConditions, } from './governance.mjs';
|
|
86
|
-
export { GovernanceAuthorizationError, GovernanceReplayStoreAdapter, InMemoryGovernanceReplayStore, buildGovernanceExecutionCommitment, buildGovernanceExecutionRequest, computeGovernedPayloadHash, createGovernanceEnforcementMiddleware, verifyGovernanceAuthorization, createGovernanceAgentJwksResolver, } from '../governance/index.mjs';
|
|
87
|
-
export type { BuildGovernanceExecutionRequestInput, GovernanceAuthorizationClaims, GovernanceAuthorizationErrorCode, GovernanceAuthorizationResult, GovernanceAuthorizationSuccess, GovernanceCommitment, GovernanceEnforcementMiddleware, GovernanceEnforcementMiddlewareConfig, GovernanceEnforcementMiddlewareInput, GovernanceReplayStore, GovernanceReplayBinding, GovernanceRevocationResolver, GovernanceRevocationStatus, VerifyGovernanceAuthorizationOptions, GovernanceBuyerIdentity, } from '../governance/index.mjs';
|
|
86
|
+
export { GovernanceAuthorizationError, GovernanceReplayStoreAdapter, InMemoryGovernanceReplayStore, buildGovernanceExecutionCommitment, buildGovernanceExecutionRequest, computeGovernedPayloadHash, createGovernanceEnforcementMiddleware, verifyGovernanceAuthorization, verifyHistoricalGovernanceContext, createGovernanceAgentJwksResolver, } from '../governance/index.mjs';
|
|
87
|
+
export type { BuildGovernanceExecutionRequestInput, GovernanceAuthorizationClaims, GovernanceAuthorizationErrorCode, GovernanceAuthorizationResult, GovernanceAuthorizationSuccess, GovernanceCommitment, GovernanceEnforcementMiddleware, GovernanceEnforcementMiddlewareConfig, GovernanceEnforcementMiddlewareInput, GovernanceReplayStore, GovernanceReplayBinding, GovernanceRevocationResolver, GovernanceRevocationStatus, VerifyGovernanceAuthorizationOptions, VerifyHistoricalGovernanceContextOptions, HistoricalGovernanceContextResult, GovernanceBuyerIdentity, } from '../governance/index.mjs';
|
|
88
88
|
export { clearDefaultResolvedListCache, createResolvedListCache, DEFAULT_RESOLVE_LIST_PAGE_SIZE, defaultResolvedListCache, resolvePropertyList, resolveCollectionList, resolvedListCacheKey, matchesPropertyList, matchesCollectionList, } from './targeting-helpers.mjs';
|
|
89
89
|
export type { ResolvedListCache, ResolvedListCacheEntry, ResolvedListCacheValue, ResolvedListKind, ResolvedPropertyList, ResolvedCollectionList, ResolvedCollection, ResolveListCallTool, ResolveListOptions, } from './targeting-helpers.mjs';
|
|
90
90
|
export * from './decisioning/index.mjs';
|
|
@@ -83,8 +83,8 @@ export { createPinAndBindFetch, WEBHOOK_SSRF_POLICY, LOOPBACK_OK_WEBHOOK_SSRF_PO
|
|
|
83
83
|
export type { PinAndBindFetchOptions, DnsLookupAll } from './pin-and-bind-fetch';
|
|
84
84
|
export { checkGovernance, createAdcpGovernanceEnforcementMiddleware, governanceDeniedError, governanceUnavailableError, } from './governance';
|
|
85
85
|
export type { AdcpGovernanceEnforcementMiddleware, CheckGovernanceOptions, GovernanceCallResult, GovernanceApproved, GovernanceDenied, GovernanceConditions, } from './governance';
|
|
86
|
-
export { GovernanceAuthorizationError, GovernanceReplayStoreAdapter, InMemoryGovernanceReplayStore, buildGovernanceExecutionCommitment, buildGovernanceExecutionRequest, computeGovernedPayloadHash, createGovernanceEnforcementMiddleware, verifyGovernanceAuthorization, createGovernanceAgentJwksResolver, } from '../governance';
|
|
87
|
-
export type { BuildGovernanceExecutionRequestInput, GovernanceAuthorizationClaims, GovernanceAuthorizationErrorCode, GovernanceAuthorizationResult, GovernanceAuthorizationSuccess, GovernanceCommitment, GovernanceEnforcementMiddleware, GovernanceEnforcementMiddlewareConfig, GovernanceEnforcementMiddlewareInput, GovernanceReplayStore, GovernanceReplayBinding, GovernanceRevocationResolver, GovernanceRevocationStatus, VerifyGovernanceAuthorizationOptions, GovernanceBuyerIdentity, } from '../governance';
|
|
86
|
+
export { GovernanceAuthorizationError, GovernanceReplayStoreAdapter, InMemoryGovernanceReplayStore, buildGovernanceExecutionCommitment, buildGovernanceExecutionRequest, computeGovernedPayloadHash, createGovernanceEnforcementMiddleware, verifyGovernanceAuthorization, verifyHistoricalGovernanceContext, createGovernanceAgentJwksResolver, } from '../governance';
|
|
87
|
+
export type { BuildGovernanceExecutionRequestInput, GovernanceAuthorizationClaims, GovernanceAuthorizationErrorCode, GovernanceAuthorizationResult, GovernanceAuthorizationSuccess, GovernanceCommitment, GovernanceEnforcementMiddleware, GovernanceEnforcementMiddlewareConfig, GovernanceEnforcementMiddlewareInput, GovernanceReplayStore, GovernanceReplayBinding, GovernanceRevocationResolver, GovernanceRevocationStatus, VerifyGovernanceAuthorizationOptions, VerifyHistoricalGovernanceContextOptions, HistoricalGovernanceContextResult, GovernanceBuyerIdentity, } from '../governance';
|
|
88
88
|
export { clearDefaultResolvedListCache, createResolvedListCache, DEFAULT_RESOLVE_LIST_PAGE_SIZE, defaultResolvedListCache, resolvePropertyList, resolveCollectionList, resolvedListCacheKey, matchesPropertyList, matchesCollectionList, } from './targeting-helpers';
|
|
89
89
|
export type { ResolvedListCache, ResolvedListCacheEntry, ResolvedListCacheValue, ResolvedListKind, ResolvedPropertyList, ResolvedCollectionList, ResolvedCollection, ResolveListCallTool, ResolveListOptions, } from './targeting-helpers';
|
|
90
90
|
export * from './decisioning';
|
package/dist/lib/server/index.js
CHANGED
|
@@ -293,6 +293,7 @@ __export(server_exports, {
|
|
|
293
293
|
verifyApiKey: () => import_auth.verifyApiKey,
|
|
294
294
|
verifyBearer: () => import_auth.verifyBearer,
|
|
295
295
|
verifyGovernanceAuthorization: () => import_governance2.verifyGovernanceAuthorization,
|
|
296
|
+
verifyHistoricalGovernanceContext: () => import_governance2.verifyHistoricalGovernanceContext,
|
|
296
297
|
verifyIntrospection: () => import_auth_introspection.verifyIntrospection,
|
|
297
298
|
verifyProposalTermsDigest: () => import_verification.verifyProposalTermsDigest,
|
|
298
299
|
verifySignatureAsAuthenticator: () => import_auth_signature.verifySignatureAsAuthenticator,
|
|
@@ -633,6 +634,7 @@ var import_property_lists = require('./property-lists.js');
|
|
|
633
634
|
verifyApiKey,
|
|
634
635
|
verifyBearer,
|
|
635
636
|
verifyGovernanceAuthorization,
|
|
637
|
+
verifyHistoricalGovernanceContext,
|
|
636
638
|
verifyIntrospection,
|
|
637
639
|
verifyProposalTermsDigest,
|
|
638
640
|
verifySignatureAsAuthenticator,
|
|
@@ -236,6 +236,7 @@ import {
|
|
|
236
236
|
computeGovernedPayloadHash,
|
|
237
237
|
createGovernanceEnforcementMiddleware,
|
|
238
238
|
verifyGovernanceAuthorization,
|
|
239
|
+
verifyHistoricalGovernanceContext,
|
|
239
240
|
createGovernanceAgentJwksResolver
|
|
240
241
|
} from "../governance/index.mjs";
|
|
241
242
|
import {
|
|
@@ -579,6 +580,7 @@ export {
|
|
|
579
580
|
verifyApiKey,
|
|
580
581
|
verifyBearer,
|
|
581
582
|
verifyGovernanceAuthorization,
|
|
583
|
+
verifyHistoricalGovernanceContext,
|
|
582
584
|
verifyIntrospection,
|
|
583
585
|
verifyProposalTermsDigest,
|
|
584
586
|
verifySignatureAsAuthenticator,
|
|
@@ -35,6 +35,7 @@ __export(web_bot_auth_exports, {
|
|
|
35
35
|
deferWebBotAuthPrincipalFailure: () => deferWebBotAuthPrincipalFailure,
|
|
36
36
|
getWebBotAuthAuthorizationFailure: () => getWebBotAuthAuthorizationFailure,
|
|
37
37
|
getWebBotAuthLegacyOriginGate: () => getWebBotAuthLegacyOriginGate,
|
|
38
|
+
isRefusedWebBotAuthTestKey: () => isRefusedWebBotAuthTestKey,
|
|
38
39
|
isVerifiedWebBotSigner: () => isVerifiedWebBotSigner,
|
|
39
40
|
isWebBotAuthRevocationChecked: () => isWebBotAuthRevocationChecked,
|
|
40
41
|
jwkThumbprint: () => jwkThumbprint,
|
|
@@ -570,6 +571,9 @@ async function legacyRevocationCheck(options, origin, keyid) {
|
|
|
570
571
|
function testKeysAllowed(allowTestKeys) {
|
|
571
572
|
return allowTestKeys === true && ["test", "development"].includes(process.env.NODE_ENV ?? "");
|
|
572
573
|
}
|
|
574
|
+
function isRefusedWebBotAuthTestKey(kid, allowTestKeys) {
|
|
575
|
+
return TEST_KIDS.has(kid) && !testKeysAllowed(allowTestKeys);
|
|
576
|
+
}
|
|
573
577
|
async function verifyKeyDirectory(response, now = Date.now() / 1e3, options = {}) {
|
|
574
578
|
try {
|
|
575
579
|
if (!Number.isFinite(now)) denied("directory_invalid");
|
|
@@ -937,6 +941,7 @@ function createWebBotAuthFetch(upstream, key, options) {
|
|
|
937
941
|
deferWebBotAuthPrincipalFailure,
|
|
938
942
|
getWebBotAuthAuthorizationFailure,
|
|
939
943
|
getWebBotAuthLegacyOriginGate,
|
|
944
|
+
isRefusedWebBotAuthTestKey,
|
|
940
945
|
isVerifiedWebBotSigner,
|
|
941
946
|
isWebBotAuthRevocationChecked,
|
|
942
947
|
jwkThumbprint,
|
|
@@ -526,6 +526,9 @@ async function legacyRevocationCheck(options, origin, keyid) {
|
|
|
526
526
|
function testKeysAllowed(allowTestKeys) {
|
|
527
527
|
return allowTestKeys === true && ["test", "development"].includes(process.env.NODE_ENV ?? "");
|
|
528
528
|
}
|
|
529
|
+
function isRefusedWebBotAuthTestKey(kid, allowTestKeys) {
|
|
530
|
+
return TEST_KIDS.has(kid) && !testKeysAllowed(allowTestKeys);
|
|
531
|
+
}
|
|
529
532
|
async function verifyKeyDirectory(response, now = Date.now() / 1e3, options = {}) {
|
|
530
533
|
try {
|
|
531
534
|
if (!Number.isFinite(now)) denied("directory_invalid");
|
|
@@ -892,6 +895,7 @@ export {
|
|
|
892
895
|
deferWebBotAuthPrincipalFailure,
|
|
893
896
|
getWebBotAuthAuthorizationFailure,
|
|
894
897
|
getWebBotAuthLegacyOriginGate,
|
|
898
|
+
isRefusedWebBotAuthTestKey,
|
|
895
899
|
isVerifiedWebBotSigner,
|
|
896
900
|
isWebBotAuthRevocationChecked,
|
|
897
901
|
jwkThumbprint,
|
|
@@ -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 = "16.
|
|
200
|
+
export declare const RUNNER_CAPABILITY_VERSION = "16.2.0";
|
|
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 = "16.
|
|
200
|
+
export declare const RUNNER_CAPABILITY_VERSION = "16.2.0";
|
|
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 = "16.
|
|
4
|
+
export declare const LIBRARY_VERSION = "16.2.0";
|
|
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: "16.
|
|
36
|
+
readonly library: "16.2.0";
|
|
37
37
|
readonly adcp: "3.2.5";
|
|
38
38
|
readonly compatibleVersions: readonly ["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.1.25", "3.1.26", "3.1.27", "3.1.28", "3.1.29", "3.2.1", "3.2", "3.2.2", "3.2.3", "3.2.4", "3.2.5"];
|
|
39
|
-
readonly generatedAt: "2026-10-
|
|
39
|
+
readonly generatedAt: "2026-10-22T00:56:23.729Z";
|
|
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 = "16.
|
|
4
|
+
export declare const LIBRARY_VERSION = "16.2.0";
|
|
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: "16.
|
|
36
|
+
readonly library: "16.2.0";
|
|
37
37
|
readonly adcp: "3.2.5";
|
|
38
38
|
readonly compatibleVersions: readonly ["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.1.25", "3.1.26", "3.1.27", "3.1.28", "3.1.29", "3.2.1", "3.2", "3.2.2", "3.2.3", "3.2.4", "3.2.5"];
|
|
39
|
-
readonly generatedAt: "2026-10-
|
|
39
|
+
readonly generatedAt: "2026-10-22T00:56:23.729Z";
|
|
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 = "16.
|
|
34
|
+
const LIBRARY_VERSION = "16.2.0";
|
|
35
35
|
const ADCP_VERSION = "3.2.5";
|
|
36
36
|
const ADCP_MAJOR_VERSION = 3;
|
|
37
37
|
const COMPATIBLE_ADCP_VERSIONS = [
|
|
@@ -102,10 +102,10 @@ const COMPATIBLE_ADCP_VERSIONS = [
|
|
|
102
102
|
"3.2.5"
|
|
103
103
|
];
|
|
104
104
|
const VERSION_INFO = {
|
|
105
|
-
library: "16.
|
|
105
|
+
library: "16.2.0",
|
|
106
106
|
adcp: "3.2.5",
|
|
107
107
|
compatibleVersions: COMPATIBLE_ADCP_VERSIONS,
|
|
108
|
-
generatedAt: "2026-10-
|
|
108
|
+
generatedAt: "2026-10-22T00:56:23.729Z"
|
|
109
109
|
};
|
|
110
110
|
function getAdcpVersion() {
|
|
111
111
|
return ADCP_VERSION;
|
package/dist/lib/version.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const LIBRARY_VERSION = "16.
|
|
1
|
+
const LIBRARY_VERSION = "16.2.0";
|
|
2
2
|
const ADCP_VERSION = "3.2.5";
|
|
3
3
|
const ADCP_MAJOR_VERSION = 3;
|
|
4
4
|
const COMPATIBLE_ADCP_VERSIONS = [
|
|
@@ -69,10 +69,10 @@ const COMPATIBLE_ADCP_VERSIONS = [
|
|
|
69
69
|
"3.2.5"
|
|
70
70
|
];
|
|
71
71
|
const VERSION_INFO = {
|
|
72
|
-
library: "16.
|
|
72
|
+
library: "16.2.0",
|
|
73
73
|
adcp: "3.2.5",
|
|
74
74
|
compatibleVersions: COMPATIBLE_ADCP_VERSIONS,
|
|
75
|
-
generatedAt: "2026-10-
|
|
75
|
+
generatedAt: "2026-10-22T00:56:23.729Z"
|
|
76
76
|
};
|
|
77
77
|
function getAdcpVersion() {
|
|
78
78
|
return ADCP_VERSION;
|
package/docs/TYPE-SUMMARY.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# AdCP Type Summary
|
|
2
2
|
|
|
3
|
-
> Generated at: 2026-10-
|
|
4
|
-
> @adcp/sdk v16.
|
|
3
|
+
> Generated at: 2026-10-22
|
|
4
|
+
> @adcp/sdk v16.2.0
|
|
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
|
|
package/docs/llms.txt
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Ad Context Protocol (AdCP)
|
|
2
2
|
|
|
3
|
-
> Generated at: 2026-10-
|
|
4
|
-
> Library: @adcp/sdk v16.
|
|
3
|
+
> Generated at: 2026-10-22
|
|
4
|
+
> Library: @adcp/sdk v16.2.0
|
|
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.
|
|
@@ -13,7 +13,7 @@ AdCP is an open protocol for AI agents to buy, manage, and optimize advertising
|
|
|
13
13
|
|
|
14
14
|
## Start here: AdCP 3.2
|
|
15
15
|
|
|
16
|
-
The SDK requires Node.js `^20.19.0 || >=22.12.0`. Install this reference's release train with `npm install @adcp/sdk@16.
|
|
16
|
+
The SDK requires Node.js `^20.19.0 || >=22.12.0`. Install this reference's release train with `npm install @adcp/sdk@16.2`; use the documentation from the exact published SDK version you install. For reproducible CLI runs, pin that exact SDK version. After installation, `node -p "require('@adcp/sdk').ADCP_VERSION"` reports its protocol pin; `ls node_modules/@adcp/sdk/compliance/cache` lists its packaged compliance versions. The legacy `adcp-3.2` npm tag selects SDK 14 and does not receive the refreshed compliance caches.
|
|
17
17
|
|
|
18
18
|
The SDK is compact-lifecycle first: `list_products → buy_products → control_media_buy`, with `request_proposals → refine_proposals → accept_proposal` when terms need negotiation.
|
|
19
19
|
|
|
@@ -16,8 +16,8 @@ pin using `ADCP_VERSION` inside that tarball.
|
|
|
16
16
|
|
|
17
17
|
| Fact | Value |
|
|
18
18
|
| --- | --- |
|
|
19
|
-
| Checkout `package.json` version | `@adcp/sdk@16.
|
|
20
|
-
| npm integrity | registry-derived after publication; run `npm view @adcp/sdk@16.
|
|
19
|
+
| Checkout `package.json` version | `@adcp/sdk@16.2.0` |
|
|
20
|
+
| npm integrity | registry-derived after publication; run `npm view @adcp/sdk@16.2.0 dist.integrity` |
|
|
21
21
|
| Node.js runtime | `^20.19.0 || >=22.12.0` |
|
|
22
22
|
| Default AdCP wire release | `3.2.5` |
|
|
23
23
|
| Maintained wire releases | `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.1.25`, `3.1.26`, `3.1.27`, `3.1.28`, `3.1.29`, `3.2.1`, `3.2`, `3.2.2`, `3.2.3`, `3.2.4`, `3.2.5` |
|
|
@@ -26,8 +26,8 @@ pin using `ADCP_VERSION` inside that tarball.
|
|
|
26
26
|
For a checkout at the published release commit, install the exact package version:
|
|
27
27
|
|
|
28
28
|
```bash
|
|
29
|
-
npm install --save-exact '@adcp/sdk@16.
|
|
30
|
-
npm view '@adcp/sdk@16.
|
|
29
|
+
npm install --save-exact '@adcp/sdk@16.2.0'
|
|
30
|
+
npm view '@adcp/sdk@16.2.0' dist.integrity
|
|
31
31
|
```
|
|
32
32
|
|
|
33
33
|
### Required and optional peers
|
|
@@ -375,12 +375,57 @@ included) never falls back to brand.json `authorized_operators[]`, and it is
|
|
|
375
375
|
not a grant removal: spend gets a retryable `SERVICE_UNAVAILABLE`.
|
|
376
376
|
|
|
377
377
|
Origin key revocations use `/.well-known/governance-revocations.json`, signed
|
|
378
|
-
with `typ: adcp-gov-revocation+jws`, as ratified R3 specifies.
|
|
379
|
-
|
|
380
|
-
JWS
|
|
378
|
+
with `typ: adcp-gov-revocation+jws`, as ratified R3 specifies. The same list
|
|
379
|
+
revokes the keys a WBA identity signs its JWS artifacts with (see
|
|
380
|
+
[JWS artifacts](#jws-artifacts)). Polling fails closed, revoked
|
|
381
381
|
keys remain revoked forever, `keyCompromise` cannot be weakened, and the earliest
|
|
382
382
|
`invalidity_date` is retained. Revocation never pauses or cancels committed buys.
|
|
383
383
|
|
|
384
|
+
### JWS artifacts
|
|
385
|
+
|
|
386
|
+
Governance contexts, designated-task responses and rights attestations from a
|
|
387
|
+
WBA identity are signed with keys from that identity's key directory (R4 as
|
|
388
|
+
amended by adcontextprotocol/adcp#8299). `O` is the canonical origin of the
|
|
389
|
+
signing agent's URL: `iss` for a governance context, `agent_url` for a
|
|
390
|
+
designated-task response, `rights_agent.url` for a rights attestation. Pass it
|
|
391
|
+
from your own context, never from the unverified token.
|
|
392
|
+
|
|
393
|
+
- `selectJwsArtifactProfile(agentUrl, trust)` derives the trust record from
|
|
394
|
+
`O`. When it lists `O`, the artifact is verified on the WBA path; when the
|
|
395
|
+
operator has not published a record, or the record does not list `O`, it
|
|
396
|
+
stays on the 3.2 profile. A trust-record fetch failure throws
|
|
397
|
+
`JwsArtifactError` (`jws_key_unavailable`): it is never absence and never
|
|
398
|
+
selects 3.2. A 404/410 from an operator that once served a record is an
|
|
399
|
+
outage too, but the evaluator remembers that 200 only in process unless you
|
|
400
|
+
give it durable `authorityHistory` (`createIdentity33StateStores`). Public,
|
|
401
|
+
multi-replica and serverless verifiers must, as for grants.
|
|
402
|
+
- `verifyWebBotAuthJwsArtifact(token, origin, { typ, directory, revocation })`
|
|
403
|
+
requires the `typ` the surface accepts, `alg` `EdDSA` and a `kid` equal to the
|
|
404
|
+
key's JWK thumbprint, applies no `use`/`key_ops`/`adcp_use` check, and checks
|
|
405
|
+
`O`'s revocation list. Purpose separation is by origin, so one key at `O` may
|
|
406
|
+
sign every artifact `O` issues and `typ` tells them apart. `revocation` is
|
|
407
|
+
required; pass `false` only if you check the returned `kid` yourself. It
|
|
408
|
+
verifies key and signature only; the surface keeps its own claim checks.
|
|
409
|
+
- `verifyGovernanceAuthorization({ ..., webBotAuth: { trust, directory,
|
|
410
|
+
revocation } })` applies the rule to governance contexts. Every other check is
|
|
411
|
+
unchanged, including the `buyerIdentity` cross-check that `iss` is the buyer's
|
|
412
|
+
governance agent; only the key source moves. `revocation` is required, and an
|
|
413
|
+
origin that serves no list fails closed, since a governance context
|
|
414
|
+
authorizes spend. Outages (trust record, directory, revocation list) set
|
|
415
|
+
`retryable: true` on the failure. Without `webBotAuth` the verifier is 3.2
|
|
416
|
+
only, as before.
|
|
417
|
+
- `verifyHistoricalGovernanceContext({ token, expectedIssuer, webBotAuth: {
|
|
418
|
+
..., archive } })` verifies a retained governance context for audit. A key
|
|
419
|
+
rotated out of the directory is read from the governance key archive at `O`
|
|
420
|
+
(`/.well-known/jwks-archive.json`, `GovernanceKeyArchiveResolver`), on the
|
|
421
|
+
same `EdDSA` and thumbprint rules. A revoked key still verifies here: the
|
|
422
|
+
result reports `revocation: 'revoked'` and the stored R9 detail (`reason`,
|
|
423
|
+
`invalidity_date`) for the audit to weigh. Expiry, audience, replay and the
|
|
424
|
+
request binding are not checked.
|
|
425
|
+
|
|
426
|
+
The SDK has no designated-task response or rights-attestation verifier of its
|
|
427
|
+
own; a verifier for either uses the two primitives above.
|
|
428
|
+
|
|
384
429
|
Permanent revocation storage reserves separate bounded capacity for audited bound
|
|
385
430
|
origins and anonymous/self-service origins, so first-contact traffic cannot exhaust the bound
|
|
386
431
|
pool. Storage failures deny reads and mutations without outage grace; inspect the
|
|
@@ -492,9 +537,9 @@ so verification can run in a CDN or middleware in front of the AdCP server.
|
|
|
492
537
|
Cloudflare's `web-bot-auth`; they already used signed directories and are
|
|
493
538
|
unchanged.
|
|
494
539
|
#7894 drops the governance-token checks and the `governance/` vectors from the
|
|
495
|
-
WBA profile. Governance moves to the AdCP layer under a separate R4 erratum
|
|
496
|
-
which moves JWS artifacts, governance included,
|
|
497
|
-
|
|
540
|
+
WBA profile. Governance moves to the AdCP layer under a separate R4 erratum
|
|
541
|
+
(adcontextprotocol/adcp#8299), which moves JWS artifacts, governance included,
|
|
542
|
+
to the identity's WBA key directory in 3.3; see [JWS artifacts](#jws-artifacts).
|
|
498
543
|
The buyer default onboarding field is `profiles.adcp.onboarding`, matching the
|
|
499
544
|
schema; the design's `record_profiles` wording names the schema definition.
|
|
500
545
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@adcp/sdk",
|
|
3
|
-
"version": "16.
|
|
3
|
+
"version": "16.2.0",
|
|
4
4
|
"description": "AdCP SDK — client, server, and compliance harnesses for the AdContext Protocol (MCP + A2A)",
|
|
5
5
|
"workspaces": [
|
|
6
6
|
".",
|
|
@@ -729,10 +729,10 @@
|
|
|
729
729
|
"email": "bugs@adcontextprotocol.org"
|
|
730
730
|
},
|
|
731
731
|
"dependencies": {
|
|
732
|
-
"@modelcontextprotocol/client": "2.
|
|
732
|
+
"@modelcontextprotocol/client": "2.3.1",
|
|
733
733
|
"@modelcontextprotocol/ext-apps": "2.0.0",
|
|
734
734
|
"@modelcontextprotocol/node": "2.0.0",
|
|
735
|
-
"@modelcontextprotocol/server": "2.
|
|
735
|
+
"@modelcontextprotocol/server": "2.3.1",
|
|
736
736
|
"@types/ws": "^8.18.1",
|
|
737
737
|
"ajv": "^8.20.0",
|
|
738
738
|
"ajv-formats": "^3.0.1",
|
|
@@ -814,7 +814,9 @@
|
|
|
814
814
|
"@changesets/parse": {
|
|
815
815
|
"js-yaml": "^3.15.2"
|
|
816
816
|
},
|
|
817
|
-
"minimatch": "^10.2.1"
|
|
817
|
+
"minimatch": "^10.2.1",
|
|
818
|
+
"launch-editor": "^2.14.2",
|
|
819
|
+
"markdown-it": "^14.3.3"
|
|
818
820
|
},
|
|
819
821
|
"adcp_version": "3.2.5",
|
|
820
822
|
"sideEffects": [
|