@agenticprimitives/agent-profile 1.0.0-alpha.46 → 1.0.0-alpha.47

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/README.md CHANGED
@@ -104,6 +104,29 @@ await verifyA2ACardSignatures(signed.card, { keys: (kid) => (kid === key.kid ? k
104
104
  const { imported, diagnostics } = await importA2ACard(bytes, { verifyKeys });
105
105
  ```
106
106
 
107
+ ### Routing on a card: verify it against the agent's on-chain key
108
+
109
+ A caller that routes on a card binds a2a's `CardTrustOptions.verifyCardSignature` to `createOnChainCardVerifier`. You inject the
110
+ chain reads; the package does none. The agent comes from an on-chain record (the name's `addr`), never from the card:
111
+
112
+ ```ts
113
+ import { createOnChainCardVerifier } from '@agenticprimitives/agent-profile/a2a';
114
+
115
+ const verifyCardSignature = createOnChainCardVerifier({
116
+ chainId: 9341, // declared, never defaulted
117
+ verifyHash: (signer, digest, signature) => usv.isValidSig(signer, digest, signature), // UniversalSignatureValidator
118
+ locate: async (card, raw) => { // your records + the card host's two documents
119
+ const origin = new URL(endpointOf(card)).origin;
120
+ const smartAgent = await nameRecordsAddrForHost(origin); // ON-CHAIN: the name's addr
121
+ if (!smartAgent) return null;
122
+ return { smartAgent, cardUri: `${origin}/.well-known/agent-card.json`,
123
+ binding: await getJson(`${origin}/.well-known/agent-card-binding.json`),
124
+ keys: (await getJson(`${origin}/.well-known/jwks.json`)).keys };
125
+ },
126
+ });
127
+ await resolveAgentCard(url, fetch, pinnedDigest, limits, { relyOnCard: true, verifyCardSignature });
128
+ ```
129
+
107
130
  ## How it's different
108
131
 
109
132
  The reference points are registry and agent-card ecosystems, but this package defines the AP-native primitive:
@@ -89,6 +89,11 @@ export interface VerifySmartAgentCardBindingOptions {
89
89
  expect?: {
90
90
  unsignedCardDigest?: Sha256;
91
91
  signedCardDigest?: Sha256;
92
+ /** Audit NAME-13: the Smart Agent and chain the CALLER is asking about. The binding names its own
93
+ * (`signed.verifyingContract` / `signed.chainId`); without these, `ok` means "a self-consistent binding
94
+ * about SOME agent" and the caller must compare `smartAgent` itself. A mismatch is `agent_mismatch`. */
95
+ smartAgent?: Address;
96
+ chainId?: number;
92
97
  };
93
98
  }
94
99
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"binding.d.ts","sourceRoot":"","sources":["../../src/a2a/binding.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAiB,KAAK,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,MAAM,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,KAAK,EAAE,6BAA6B,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAEzF,eAAO,MAAM,oCAAoC,+BAA+B,CAAC;AACjF,eAAO,MAAM,uCAAuC,MAAM,CAAC;AAE3D,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAYjC,CAAC;AAEX,uEAAuE;AACvE,eAAO,MAAM,oCAAoC,gOAC8K,CAAC;AAEhO,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO;;;;;EAO/E;AAMD,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,GAAG,CAI5D;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,GAAG,GAAG,MAAM,CAG9C;AAED,6DAA6D;AAC7D,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,GAAG,CAI3D;AAED,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,GAAG,GAAG,MAAM,CAKlD;AAID,uFAAuF;AACvF,wBAAgB,4BAA4B,CAAC,CAAC,EAAE,uBAAuB;;;;;;;;;;EAetE;AAED,sEAAsE;AACtE,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,uBAAuB,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,GAAG,CAOvH;AAID,MAAM,MAAM,iCAAiC,GACzC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,UAAU,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,GAAG,CAAA;CAAE,GAC9C;IACE,EAAE,EAAE,KAAK,CAAC;IACV,MAAM,EACF,WAAW,GACX,gBAAgB,GAChB,iBAAiB,GACjB,eAAe,GACf,SAAS,GACT,mBAAmB,CAAC;CACzB,CAAC;AAEN,MAAM,WAAW,kCAAkC;IACjD,eAAe,EAAE,eAAe,CAAC;IACjC,qCAAqC;IACrC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gGAAgG;IAChG,MAAM,CAAC,EAAE;QAAE,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACrE;AAID;;;GAGG;AACH,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,6BAA6B,EACrC,IAAI,EAAE,kCAAkC,GACvC,OAAO,CAAC,iCAAiC,CAAC,CAuC5C"}
1
+ {"version":3,"file":"binding.d.ts","sourceRoot":"","sources":["../../src/a2a/binding.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAiB,KAAK,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,MAAM,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,KAAK,EAAE,6BAA6B,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAEzF,eAAO,MAAM,oCAAoC,+BAA+B,CAAC;AACjF,eAAO,MAAM,uCAAuC,MAAM,CAAC;AAE3D,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAYjC,CAAC;AAEX,uEAAuE;AACvE,eAAO,MAAM,oCAAoC,gOAC8K,CAAC;AAEhO,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO;;;;;EAO/E;AAMD,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,GAAG,CAI5D;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,GAAG,GAAG,MAAM,CAG9C;AAED,6DAA6D;AAC7D,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,GAAG,CAI3D;AAED,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,GAAG,GAAG,MAAM,CAKlD;AAID,uFAAuF;AACvF,wBAAgB,4BAA4B,CAAC,CAAC,EAAE,uBAAuB;;;;;;;;;;EAetE;AAED,sEAAsE;AACtE,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,uBAAuB,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,GAAG,CAOvH;AAID,MAAM,MAAM,iCAAiC,GACzC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,UAAU,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,GAAG,CAAA;CAAE,GAC9C;IACE,EAAE,EAAE,KAAK,CAAC;IACV,MAAM,EACF,WAAW,GACX,gBAAgB,GAChB,iBAAiB,GACjB,eAAe,GACf,SAAS,GACT,mBAAmB,CAAC;CACzB,CAAC;AAEN,MAAM,WAAW,kCAAkC;IACjD,eAAe,EAAE,eAAe,CAAC;IACjC,qCAAqC;IACrC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gGAAgG;IAChG,MAAM,CAAC,EAAE;QACP,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B;;iHAEyG;QACzG,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAID;;;GAGG;AACH,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,6BAA6B,EACrC,IAAI,EAAE,kCAAkC,GACvC,OAAO,CAAC,iCAAiC,CAAC,CA2C5C"}
@@ -110,6 +110,11 @@ export async function verifySmartAgentCardBinding(signed, opts) {
110
110
  if (!m || Number(m[1]) !== signed.chainId || m[2].toLowerCase() !== signed.verifyingContract.toLowerCase()) {
111
111
  return { ok: false, reason: 'agent_mismatch' };
112
112
  }
113
+ if (opts.expect?.smartAgent && opts.expect.smartAgent.toLowerCase() !== signed.verifyingContract.toLowerCase()) {
114
+ return { ok: false, reason: 'agent_mismatch' };
115
+ }
116
+ if (opts.expect?.chainId !== undefined && opts.expect.chainId !== signed.chainId)
117
+ return { ok: false, reason: 'agent_mismatch' };
113
118
  if (opts.expect?.unsignedCardDigest && opts.expect.unsignedCardDigest !== b.unsignedCardDigest) {
114
119
  return { ok: false, reason: 'digest_mismatch' };
115
120
  }
@@ -1 +1 @@
1
- {"version":3,"file":"binding.js","sourceRoot":"","sources":["../../src/a2a/binding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"binding.js","sourceRoot":"","sources":["../../src/a2a/binding.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ export { unsignedCard, canonicalCardJson, canonicalCardBytes, cardContentDigest,
4
4
  export { base64UrlEncode, base64UrlDecode, jwkThumbprint, supportsEdDSA, generateA2ACardSigningKey, importVerificationKey, signA2ACard, verifyA2ACardSignatures, decodeProtectedHeader, type A2ACardJwsAlg, type A2ACardSigningKeyPair, type SignA2ACardOptions, type SignA2ACardResult, type A2ACardKeyResolver, type VerifyA2ACardSignaturesOptions, type VerifyA2ACardSignaturesResult, type A2ACardSignatureFailureReason, } from './jws.js';
5
5
  export { SMART_AGENT_CARD_BINDING_DOMAIN_NAME, SMART_AGENT_CARD_BINDING_DOMAIN_VERSION, SMART_AGENT_CARD_BINDING_TYPES, SMART_AGENT_CARD_BINDING_TYPE_STRING, smartAgentCardBindingDomain, smartAgentCardBindingMessage, smartAgentCardBindingDigest, verifySmartAgentCardBinding, sha256ToBytes32, bytes32ToSha256, thumbprintToBytes32, bytes32ToThumbprint, type VerifySmartAgentCardBindingResult, type VerifySmartAgentCardBindingOptions, } from './binding.js';
6
6
  export type { Erc1271Verifier } from '../card.js';
7
+ export { createOnChainCardVerifier, verifyCardAgainstOnChainBinding, type CardSignatureVerifier, type CardBindingLocationV1, type OnChainCardVerifierDeps, type OnChainCardRefusal, type OnChainCardVerification, } from './onchain-verifier.js';
7
8
  export { parsePointer, escapePointerToken, joinPointer, getAtPointer, setAtPointer } from './pointer.js';
8
9
  export { inheritCardBase, draftFromBase, draftEtag, applyOverride, detectStale, acceptInherited, type SurfaceCardSkillLike, type PublicSkillCandidateLike, type InheritCardBaseInput, type InheritedCardBase, type ApplyOverrideOptions, type StaleReport, } from './field-binding.js';
9
10
  export { DIAGNOSTIC_CODES, validateA2ACard, hasErrors, isPrivateHost, type DiagnosticCode, type CatalogSkillLike, type RuntimeCapabilityEvidence, type ValidateA2ACardOptions, } from './validation.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/a2a/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/a2a/index.ts"],"names":[],"mappings":"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"}
package/dist/a2a/index.js CHANGED
@@ -7,6 +7,7 @@
7
7
  // canonical strip `signatures` → RFC 8785 JCS → bytes → sha256 digests
8
8
  // jws ES256 (WebCrypto) detached JWS sign / fail-closed verify, RFC 7638 thumbprints
9
9
  // binding SmartAgentCardBindingV1 EIP-712 digest + ERC-1271 verify (injected port)
10
+ // onchain-verifier createOnChainCardVerifier — a2a's verifyCardSignature port (RUN-16), fail-closed
10
11
  // field-binding inheritCardBase / applyOverride / detectStale (pure provenance)
11
12
  // validation validateA2ACard → ProjectionDiagnosticV1[] (stable DIAGNOSTIC_CODES)
12
13
  // import importA2ACard: source bytes kept, signatures verified BEFORE normalizing, unknown fields
@@ -15,6 +16,7 @@ export { A2A_SECURITY_SCHEME_TYPES, A2A_PROTO_SECURITY_SCHEME_KEYS, A2A_CARD_KNO
15
16
  export { unsignedCard, canonicalCardJson, canonicalCardBytes, cardContentDigest, signedCardContentDigest, sha256Digest, jcsDigest, } from './canonical.js';
16
17
  export { base64UrlEncode, base64UrlDecode, jwkThumbprint, supportsEdDSA, generateA2ACardSigningKey, importVerificationKey, signA2ACard, verifyA2ACardSignatures, decodeProtectedHeader, } from './jws.js';
17
18
  export { SMART_AGENT_CARD_BINDING_DOMAIN_NAME, SMART_AGENT_CARD_BINDING_DOMAIN_VERSION, SMART_AGENT_CARD_BINDING_TYPES, SMART_AGENT_CARD_BINDING_TYPE_STRING, smartAgentCardBindingDomain, smartAgentCardBindingMessage, smartAgentCardBindingDigest, verifySmartAgentCardBinding, sha256ToBytes32, bytes32ToSha256, thumbprintToBytes32, bytes32ToThumbprint, } from './binding.js';
19
+ export { createOnChainCardVerifier, verifyCardAgainstOnChainBinding, } from './onchain-verifier.js';
18
20
  export { parsePointer, escapePointerToken, joinPointer, getAtPointer, setAtPointer } from './pointer.js';
19
21
  export { inheritCardBase, draftFromBase, draftEtag, applyOverride, detectStale, acceptInherited, } from './field-binding.js';
20
22
  export { DIAGNOSTIC_CODES, validateA2ACard, hasErrors, isPrivateHost, } from './validation.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/a2a/index.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,EAAE;AACF,4GAA4G;AAC5G,sGAAsG;AACtG,EAAE;AACF,8FAA8F;AAC9F,8EAA8E;AAC9E,kGAAkG;AAClG,4FAA4F;AAC5F,mFAAmF;AACnF,wFAAwF;AACxF,4GAA4G;AAC5G,+GAA+G;AAuC/G,OAAO,EAAE,yBAAyB,EAAE,8BAA8B,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAE9G,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,uBAAuB,EACvB,YAAY,EACZ,SAAS,GAEV,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,eAAe,EACf,eAAe,EACf,aAAa,EACb,aAAa,EACb,yBAAyB,EACzB,qBAAqB,EACrB,WAAW,EACX,uBAAuB,EACvB,qBAAqB,GAStB,MAAM,UAAU,CAAC;AAElB,OAAO,EACL,oCAAoC,EACpC,uCAAuC,EACvC,8BAA8B,EAC9B,oCAAoC,EACpC,2BAA2B,EAC3B,4BAA4B,EAC5B,2BAA2B,EAC3B,2BAA2B,EAC3B,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,mBAAmB,GAGpB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEzG,OAAO,EACL,eAAe,EACf,aAAa,EACb,SAAS,EACT,aAAa,EACb,WAAW,EACX,eAAe,GAOhB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,SAAS,EACT,aAAa,GAKd,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAuD,MAAM,aAAa,CAAC;AAErH,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,iBAAiB,EACjB,aAAa,EACb,UAAU,EACV,eAAe,EACf,uBAAuB,EACvB,MAAM,EACN,SAAS,EACT,qBAAqB,EACrB,sBAAsB,GAKvB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EACxB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,GAErB,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/a2a/index.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,EAAE;AACF,4GAA4G;AAC5G,sGAAsG;AACtG,EAAE;AACF,8FAA8F;AAC9F,8EAA8E;AAC9E,kGAAkG;AAClG,4FAA4F;AAC5F,uGAAuG;AACvG,mFAAmF;AACnF,wFAAwF;AACxF,4GAA4G;AAC5G,+GAA+G;AAuC/G,OAAO,EAAE,yBAAyB,EAAE,8BAA8B,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAE9G,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,uBAAuB,EACvB,YAAY,EACZ,SAAS,GAEV,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,eAAe,EACf,eAAe,EACf,aAAa,EACb,aAAa,EACb,yBAAyB,EACzB,qBAAqB,EACrB,WAAW,EACX,uBAAuB,EACvB,qBAAqB,GAStB,MAAM,UAAU,CAAC;AAElB,OAAO,EACL,oCAAoC,EACpC,uCAAuC,EACvC,8BAA8B,EAC9B,oCAAoC,EACpC,2BAA2B,EAC3B,4BAA4B,EAC5B,2BAA2B,EAC3B,2BAA2B,EAC3B,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,mBAAmB,GAGpB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,yBAAyB,EACzB,+BAA+B,GAMhC,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEzG,OAAO,EACL,eAAe,EACf,aAAa,EACb,SAAS,EACT,aAAa,EACb,WAAW,EACX,eAAe,GAOhB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,SAAS,EACT,aAAa,GAKd,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAuD,MAAM,aAAa,CAAC;AAErH,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,iBAAiB,EACjB,aAAa,EACb,UAAU,EACV,eAAe,EACf,uBAAuB,EACvB,MAAM,EACN,SAAS,EACT,qBAAqB,EACrB,sBAAsB,GAKvB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EACxB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,GAErB,MAAM,uBAAuB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"jws.d.ts","sourceRoot":"","sources":["../../src/a2a/jws.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jws.d.ts","sourceRoot":"","sources":["../../src/a2a/jws.ts"],"names":[],"mappings":"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"}
package/dist/a2a/jws.js CHANGED
@@ -133,7 +133,12 @@ export async function verifyA2ACardSignatures(card, opts) {
133
133
  }
134
134
  let header;
135
135
  try {
136
- header = JSON.parse(utf8dec.decode(base64UrlDecode(e.protected)));
136
+ const decoded = JSON.parse(utf8dec.decode(base64UrlDecode(e.protected)));
137
+ // Audit NAME-16: `null`, a number, a string and an array are all valid JSON and none is a header. Reading
138
+ // `.kid` off `null` THREW — fail-closed, but a verifier that throws on one card stops an import pipeline.
139
+ if (decoded === null || typeof decoded !== 'object' || Array.isArray(decoded))
140
+ throw new Error('not an object');
141
+ header = decoded;
137
142
  }
138
143
  catch {
139
144
  failures.push({ kid: '', reason: 'bad_protected_header' });
@@ -1 +1 @@
1
- {"version":3,"file":"jws.js","sourceRoot":"","sources":["../../src/a2a/jws.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAiB,MAAM,gBAAgB,CAAC;AAKnE,wGAAwG;AAExG,MAAM,UAAU,eAAe,CAAC,KAAiB;IAC/C,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE;QAAE,GAAG,IAAI,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;IAC7E,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAC9E,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,CAAS;IACvC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACtE,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3F,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IACtB,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE;QAAE,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAChE,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC;AAC/B,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;AAElC,SAAS,MAAM;IACb,MAAM,CAAC,GAAI,UAAkC,CAAC,MAAM,CAAC;IACrD,IAAI,CAAC,CAAC,EAAE,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;IAC9F,OAAO,CAAC,CAAC,MAAM,CAAC;AAClB,CAAC;AAED,wGAAwG;AAExG,+FAA+F;AAC/F,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,GAAe;IACjD,IAAI,QAAgC,CAAC;IACrC,QAAQ,GAAG,CAAC,GAAG,EAAE,CAAC;QAChB,KAAK,IAAI;YACP,QAAQ,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;YAC9F,MAAM;QACR,KAAK,KAAK;YACR,QAAQ,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;YAC1E,MAAM;QACR,KAAK,KAAK;YACR,QAAQ,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;YACpE,MAAM;QACR;YACE,MAAM,IAAI,KAAK,CAAC,mCAAmC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3E,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACxF,OAAO,eAAe,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,IAAI,CAAC,CAAqB,EAAE,IAAY;IAC/C,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,IAAI,GAAG,CAAC,CAAC;IAC5G,OAAO,CAAC,CAAC;AACX,CAAC;AAED,wGAAwG;AAExG,gGAAgG;AAChG,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,IAAI,CAAC;QACH,MAAM,MAAM,EAAE,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,SAAS,EAAe,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;QACxF,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAWD,qGAAqG;AACrG,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,MAAqB,OAAO;IAC1E,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC;IACnB,MAAM,MAAM,GACV,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC,CAAE,EAAE,IAAI,EAAE,SAAS,EAAgB,CAAC;IAChG,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAkB,CAAC;IACtF,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAC3D,OAAQ,SAAmC,CAAC,OAAO,CAAC;IACpD,OAAQ,SAA+B,CAAC,GAAG,CAAC;IAC5C,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC;AACzH,CAAC;AAED,2DAA2D;AAC3D,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,GAAe,EAAE,GAAkB;IAC7E,MAAM,MAAM,GACV,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC,CAAE,EAAE,IAAI,EAAE,SAAS,EAAgB,CAAC;IAChG,OAAO,MAAM,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,UAAU,CAAC,GAAkB;IACpC,OAAO,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAE,EAAE,IAAI,EAAE,SAAS,EAAgB,CAAC;AACnG,CAAC;AAqBD,+GAA+G;AAC/G,MAAM,CAAC,KAAK,UAAU,WAAW,CAAqB,IAAO,EAAE,IAAwB;IACrF,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC;IAChC,IAAI,CAAC,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAC/D,MAAM,eAAe,GAAG,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9F,MAAM,OAAO,GAAG,eAAe,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1D,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,eAAe,IAAI,OAAO,EAAE,CAAC,CAAC;IAClE,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,MAAM,MAAM,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC;IAChG,MAAM,SAAS,GAA4B,EAAE,SAAS,EAAE,eAAe,EAAE,SAAS,EAAE,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;IAC3G,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAE,IAAI,CAAC,UAAwC,CAAC,CAAC,CAAC,EAAE,CAAC;IACtG,OAAO;QACL,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,CAAC,GAAG,QAAQ,EAAE,SAAS,CAAC,EAAE;QACvD,SAAS;QACT,OAAO,EAAE,GAAG,eAAe,KAAK,SAAS,CAAC,SAAS,EAAE;QACrD,OAAO;KACR,CAAC;AACJ,CAAC;AA2BD,mFAAmF;AACnF,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,IAA+B,EAC/B,IAAoC;IAEpC,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,QAAQ,GAA8C,EAAE,CAAC;IAC/D,MAAM,IAAI,GAAI,IAAiB,CAAC,UAAU,CAAC;IAC3C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9C,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,EAAE,CAAC;IACnF,CAAC;IACD,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACH,OAAO,GAAG,eAAe,CAAC,kBAAkB,CAAC,IAAgB,CAAC,CAAC,CAAC;IAClE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;IAC/E,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,IAAiB,EAAE,CAAC;QACtC,MAAM,CAAC,GAAG,KAAgD,CAAC;QAC3D,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;YAC7E,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;YAChD,SAAS;QACX,CAAC;QACD,IAAI,MAAwC,CAAC;QAC7C,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAqC,CAAC;QACxG,CAAC;QAAC,MAAM,CAAC;YACP,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC,CAAC;YAC3D,SAAS;QACX,CAAC;QACD,MAAM,GAAG,GAAG,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC,CAAC;YAC3D,SAAS;QACX,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;QACvB,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;YACvC,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAC;YAClD,SAAS;QACX,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;YAC9C,SAAS;QACX,CAAC;QACD,IAAI,GAAc,CAAC;QACnB,IAAI,CAAC;YACH,GAAG,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,qBAAqB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACtF,CAAC;QAAC,MAAM,CAAC;YACP,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC,CAAC;YACpD,SAAS;QACX,CAAC;QACD,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,IAAI,CAAC;YACH,KAAK,GAAG,MAAM,MAAM,EAAE,CAAC,MAAM,CAC3B,UAAU,CAAC,GAAG,CAAC,EACf,GAAG,EACH,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,EAC5B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,IAAI,OAAO,EAAE,CAAC,CACzC,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,KAAK,GAAG,KAAK,CAAC;QAChB,CAAC;QACD,IAAI,KAAK;YAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;;YACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AAClF,CAAC;AAED,SAAS,WAAW,CAAC,CAAyB;IAC5C,OAAO,OAAQ,CAAe,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAQ,CAAe,CAAC,SAAS,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;AACtH,CAAC;AAED,6FAA6F;AAC7F,MAAM,UAAU,qBAAqB,CAAC,KAA8B;IAClE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAmC,CAAC;AACxG,CAAC"}
1
+ {"version":3,"file":"jws.js","sourceRoot":"","sources":["../../src/a2a/jws.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Spec 445 residual RUN-16 — the on-chain card verifier: an implementation of `@agenticprimitives/a2a`'s
3
+ * `CardTrustOptions.verifyCardSignature` port, `(card, raw) => Promise<boolean>`.
4
+ *
5
+ * A caller that ROUTES on an agent's card (its endpoint receives a credential or a question) must know the card is
6
+ * that agent's. Three layers, each verified separately (spec 347 §4.2, ADR-0062):
7
+ *
8
+ * 1. the expected Smart Agent comes from an ON-CHAIN record (the name's `addr`), supplied by `locate` — never from
9
+ * the card, never from the binding (both are documents anyone can write);
10
+ * 2. the `SmartAgentCardBindingV1` must verify through ERC-1271 / the UniversalSignatureValidator (`verifyHash`) BY
11
+ * that agent, for the DECLARED chain id, and name THIS card's unsigned + signed digests (and its URI, when the
12
+ * caller says which URI it fetched);
13
+ * 3. every JWS on the card must be ES256 under the key whose RFC 7638 thumbprint the binding names. The key is taken
14
+ * from the candidate set only by that thumbprint; a protected header's `jwk` / `jku` / `x5u` / `x5c` is never
15
+ * read, and a `kid` other than the bound thumbprint fails.
16
+ *
17
+ * Fail closed: any error, throw, or missing piece ⇒ `false`. This package does no chain or network I/O — `verifyHash`
18
+ * and `locate` are injected by the app. Evidence, never authority: a verified card says whose card it is, nothing
19
+ * about what anyone may ask the agent to do.
20
+ */
21
+ import type { Address, Hex } from 'viem';
22
+ import type { SignedSmartAgentCardBindingV1 } from './types.js';
23
+ /** Structurally identical to a2a's `CardTrustOptions['verifyCardSignature']` (agent-profile may not depend on a2a). */
24
+ export type CardSignatureVerifier = (card: unknown, raw: string) => Promise<boolean>;
25
+ /** Where a card's agent, binding and keys were found. */
26
+ export interface CardBindingLocationV1 {
27
+ /** The Smart Agent the caller expects this card to be — from an ON-CHAIN record (e.g. the name's `addr`), never
28
+ * from the card or the binding document. */
29
+ smartAgent: Address;
30
+ /** The SA's signed binding (e.g. served at `/.well-known/agent-card-binding.json`). It proves anything only because
31
+ * it is verified through ERC-1271 by `smartAgent` on the declared chain. */
32
+ binding: SignedSmartAgentCardBindingV1;
33
+ /** Candidate public keys (e.g. `/.well-known/jwks.json`). Only the one whose RFC 7638 thumbprint equals the
34
+ * binding's `signerKeyThumbprint` is ever used. */
35
+ keys: readonly JsonWebKey[];
36
+ /** The URI the card was fetched from, when known — then it MUST equal the binding's `cardUri`. */
37
+ cardUri?: string;
38
+ }
39
+ export interface OnChainCardVerifierDeps {
40
+ /** The chain the agent lives on. Declared, never defaulted: the factory throws without a positive integer. */
41
+ chainId: number;
42
+ /** ERC-1271 / ERC-6492 / ECDSA verification of `signature` over the 32-byte `digest` for `signer` (the app binds the
43
+ * UniversalSignatureValidator). */
44
+ verifyHash: (signer: Address, digest: Hex, signature: Hex) => Promise<boolean>;
45
+ /** Find the expected agent (from on-chain records), its binding and its candidate keys. `null` ⇒ refused. */
46
+ locate: (card: unknown, raw: string) => Promise<CardBindingLocationV1 | null>;
47
+ /** Unix seconds; defaults to now. */
48
+ now?: () => number;
49
+ /** Observe a refusal (logging). Never changes the outcome; a throw here is swallowed. */
50
+ onRefusal?: (reason: OnChainCardRefusal) => void;
51
+ }
52
+ export type OnChainCardRefusal = 'bad_card' | 'no_binding' | 'bad_location' | 'card_uri_mismatch' | 'no_signatures' | 'unsupported_alg' | 'kid_not_bound' | 'bound_key_missing' | 'jws_invalid' | `binding_${'bad_shape' | 'agent_mismatch' | 'digest_mismatch' | 'not_yet_valid' | 'expired' | 'signature_invalid'}` | 'error';
53
+ export type OnChainCardVerification = {
54
+ ok: true;
55
+ smartAgent: Address;
56
+ kid: string;
57
+ } | {
58
+ ok: false;
59
+ reason: OnChainCardRefusal;
60
+ };
61
+ /**
62
+ * Verify one served card against its located binding. Fail-closed; never throws. `raw` is authoritative: the card is
63
+ * re-parsed from the served bytes, so a caller-mutated object cannot pass.
64
+ */
65
+ export declare function verifyCardAgainstOnChainBinding(raw: string, location: CardBindingLocationV1, deps: Pick<OnChainCardVerifierDeps, 'chainId' | 'verifyHash' | 'now'>): Promise<OnChainCardVerification>;
66
+ /**
67
+ * The factory: a verifier for a2a's `CardTrustOptions.verifyCardSignature`. `true` only when the card, its JWS and the
68
+ * agent's binding all verify against the agent named by an on-chain record; `false` on anything else (never throws).
69
+ */
70
+ export declare function createOnChainCardVerifier(deps: OnChainCardVerifierDeps): CardSignatureVerifier;
71
+ //# sourceMappingURL=onchain-verifier.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onchain-verifier.d.ts","sourceRoot":"","sources":["../../src/a2a/onchain-verifier.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAIzC,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,YAAY,CAAC;AAEhE,uHAAuH;AACvH,MAAM,MAAM,qBAAqB,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAErF,yDAAyD;AACzD,MAAM,WAAW,qBAAqB;IACpC;iDAC6C;IAC7C,UAAU,EAAE,OAAO,CAAC;IACpB;iFAC6E;IAC7E,OAAO,EAAE,6BAA6B,CAAC;IACvC;wDACoD;IACpD,IAAI,EAAE,SAAS,UAAU,EAAE,CAAC;IAC5B,kGAAkG;IAClG,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,uBAAuB;IACtC,8GAA8G;IAC9G,OAAO,EAAE,MAAM,CAAC;IAChB;wCACoC;IACpC,UAAU,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/E,6GAA6G;IAC7G,MAAM,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAAC;IAC9E,qCAAqC;IACrC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,yFAAyF;IACzF,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAC;CAClD;AAED,MAAM,MAAM,kBAAkB,GAC1B,UAAU,GACV,YAAY,GACZ,cAAc,GACd,mBAAmB,GACnB,eAAe,GACf,iBAAiB,GACjB,eAAe,GACf,mBAAmB,GACnB,aAAa,GACb,WAAW,WAAW,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,eAAe,GAAG,SAAS,GAAG,mBAAmB,EAAE,GACnH,OAAO,CAAC;AAEZ,MAAM,MAAM,uBAAuB,GAC/B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,UAAU,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAC9C;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,kBAAkB,CAAA;CAAE,CAAC;AAW9C;;;GAGG;AACH,wBAAsB,+BAA+B,CACnD,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,qBAAqB,EAC/B,IAAI,EAAE,IAAI,CAAC,uBAAuB,EAAE,SAAS,GAAG,YAAY,GAAG,KAAK,CAAC,GACpE,OAAO,CAAC,uBAAuB,CAAC,CA4DlC;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,uBAAuB,GAAG,qBAAqB,CAoB9F"}
@@ -0,0 +1,159 @@
1
+ /**
2
+ * Spec 445 residual RUN-16 — the on-chain card verifier: an implementation of `@agenticprimitives/a2a`'s
3
+ * `CardTrustOptions.verifyCardSignature` port, `(card, raw) => Promise<boolean>`.
4
+ *
5
+ * A caller that ROUTES on an agent's card (its endpoint receives a credential or a question) must know the card is
6
+ * that agent's. Three layers, each verified separately (spec 347 §4.2, ADR-0062):
7
+ *
8
+ * 1. the expected Smart Agent comes from an ON-CHAIN record (the name's `addr`), supplied by `locate` — never from
9
+ * the card, never from the binding (both are documents anyone can write);
10
+ * 2. the `SmartAgentCardBindingV1` must verify through ERC-1271 / the UniversalSignatureValidator (`verifyHash`) BY
11
+ * that agent, for the DECLARED chain id, and name THIS card's unsigned + signed digests (and its URI, when the
12
+ * caller says which URI it fetched);
13
+ * 3. every JWS on the card must be ES256 under the key whose RFC 7638 thumbprint the binding names. The key is taken
14
+ * from the candidate set only by that thumbprint; a protected header's `jwk` / `jku` / `x5u` / `x5c` is never
15
+ * read, and a `kid` other than the bound thumbprint fails.
16
+ *
17
+ * Fail closed: any error, throw, or missing piece ⇒ `false`. This package does no chain or network I/O — `verifyHash`
18
+ * and `locate` are injected by the app. Evidence, never authority: a verified card says whose card it is, nothing
19
+ * about what anyone may ask the agent to do.
20
+ */
21
+ import { cardContentDigest, signedCardContentDigest } from './canonical.js';
22
+ import { verifySmartAgentCardBinding } from './binding.js';
23
+ import { base64UrlDecode, jwkThumbprint, verifyA2ACardSignatures } from './jws.js';
24
+ const ADDRESS_RE = /^0x[0-9a-fA-F]{40}$/;
25
+ const utf8dec = new TextDecoder();
26
+ function assertChainId(chainId) {
27
+ if (typeof chainId !== 'number' || !Number.isSafeInteger(chainId) || chainId <= 0) {
28
+ throw new Error('createOnChainCardVerifier: chainId must be declared (a positive integer) — it is never defaulted');
29
+ }
30
+ }
31
+ /**
32
+ * Verify one served card against its located binding. Fail-closed; never throws. `raw` is authoritative: the card is
33
+ * re-parsed from the served bytes, so a caller-mutated object cannot pass.
34
+ */
35
+ export async function verifyCardAgainstOnChainBinding(raw, location, deps) {
36
+ try {
37
+ assertChainId(deps.chainId);
38
+ let doc;
39
+ try {
40
+ const parsed = JSON.parse(raw);
41
+ if (parsed === null || typeof parsed !== 'object' || Array.isArray(parsed))
42
+ return { ok: false, reason: 'bad_card' };
43
+ doc = parsed;
44
+ }
45
+ catch {
46
+ return { ok: false, reason: 'bad_card' };
47
+ }
48
+ if (!location || typeof location.smartAgent !== 'string' || !ADDRESS_RE.test(location.smartAgent) || !location.binding?.binding || !Array.isArray(location.keys)) {
49
+ return { ok: false, reason: 'bad_location' };
50
+ }
51
+ const bound = location.binding.binding;
52
+ if (location.cardUri !== undefined && location.cardUri !== bound.cardUri)
53
+ return { ok: false, reason: 'card_uri_mismatch' };
54
+ // (3) JWS — ES256 only, kid = the bound thumbprint, key chosen by thumbprint from the candidates (never a header).
55
+ const sigs = doc.signatures;
56
+ if (!Array.isArray(sigs) || sigs.length === 0)
57
+ return { ok: false, reason: 'no_signatures' };
58
+ const tp = bound.signerKeyThumbprint;
59
+ if (typeof tp !== 'string' || tp.length === 0)
60
+ return { ok: false, reason: 'binding_bad_shape' };
61
+ for (const s of sigs) {
62
+ const prot = s?.protected;
63
+ if (typeof prot !== 'string')
64
+ return { ok: false, reason: 'jws_invalid' };
65
+ let header;
66
+ try {
67
+ header = JSON.parse(utf8dec.decode(base64UrlDecode(prot)));
68
+ }
69
+ catch {
70
+ return { ok: false, reason: 'jws_invalid' };
71
+ }
72
+ if (header === null || typeof header !== 'object' || Array.isArray(header))
73
+ return { ok: false, reason: 'jws_invalid' };
74
+ const h = header;
75
+ if (h.alg !== 'ES256')
76
+ return { ok: false, reason: 'unsupported_alg' };
77
+ if (h.kid !== tp)
78
+ return { ok: false, reason: 'kid_not_bound' };
79
+ }
80
+ let boundKey;
81
+ for (const k of location.keys) {
82
+ if (!k || k.kty !== 'EC' || k.crv !== 'P-256' || typeof k.x !== 'string' || typeof k.y !== 'string')
83
+ continue;
84
+ const pub = { kty: 'EC', crv: 'P-256', x: k.x, y: k.y };
85
+ let t;
86
+ try {
87
+ t = await jwkThumbprint(pub);
88
+ }
89
+ catch {
90
+ continue;
91
+ }
92
+ if (t === tp) {
93
+ boundKey = pub;
94
+ break;
95
+ }
96
+ }
97
+ if (!boundKey)
98
+ return { ok: false, reason: 'bound_key_missing' };
99
+ const jws = await verifyA2ACardSignatures(doc, { keys: (kid) => (kid === tp ? boundKey : undefined) });
100
+ if (!jws.ok)
101
+ return { ok: false, reason: 'jws_invalid' };
102
+ // (2) the binding, by the expected SA, on the declared chain, naming THIS card's digests.
103
+ const b = await verifySmartAgentCardBinding(location.binding, {
104
+ erc1271Verifier: { verifyHash: ({ address, hash, signature }) => deps.verifyHash(address, hash, signature) },
105
+ now: deps.now ? deps.now() : Math.floor(Date.now() / 1000),
106
+ expect: {
107
+ smartAgent: location.smartAgent,
108
+ chainId: deps.chainId,
109
+ unsignedCardDigest: cardContentDigest(doc),
110
+ signedCardDigest: signedCardContentDigest(doc),
111
+ },
112
+ });
113
+ if (!b.ok)
114
+ return { ok: false, reason: `binding_${b.reason}` };
115
+ return { ok: true, smartAgent: b.smartAgent, kid: tp };
116
+ }
117
+ catch {
118
+ return { ok: false, reason: 'error' };
119
+ }
120
+ }
121
+ /**
122
+ * The factory: a verifier for a2a's `CardTrustOptions.verifyCardSignature`. `true` only when the card, its JWS and the
123
+ * agent's binding all verify against the agent named by an on-chain record; `false` on anything else (never throws).
124
+ */
125
+ export function createOnChainCardVerifier(deps) {
126
+ assertChainId(deps?.chainId);
127
+ if (typeof deps.verifyHash !== 'function')
128
+ throw new Error('createOnChainCardVerifier: verifyHash is required');
129
+ if (typeof deps.locate !== 'function')
130
+ throw new Error('createOnChainCardVerifier: locate is required');
131
+ const refuse = (reason) => {
132
+ try {
133
+ deps.onRefusal?.(reason);
134
+ }
135
+ catch { /* observation only */ }
136
+ return false;
137
+ };
138
+ return async (card, raw) => {
139
+ try {
140
+ if (typeof raw !== 'string' || raw.length === 0)
141
+ return refuse('bad_card');
142
+ let location;
143
+ try {
144
+ location = await deps.locate(card, raw);
145
+ }
146
+ catch {
147
+ return refuse('no_binding');
148
+ }
149
+ if (!location)
150
+ return refuse('no_binding');
151
+ const r = await verifyCardAgainstOnChainBinding(raw, location, deps);
152
+ return r.ok ? true : refuse(r.reason);
153
+ }
154
+ catch {
155
+ return refuse('error');
156
+ }
157
+ };
158
+ }
159
+ //# sourceMappingURL=onchain-verifier.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onchain-verifier.js","sourceRoot":"","sources":["../../src/a2a/onchain-verifier.ts"],"names":[],"mappings":"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"}
@@ -77,5 +77,11 @@ export interface ValidateA2ACardOptions {
77
77
  export declare function hasErrors(diagnostics: readonly ProjectionDiagnosticV1[]): boolean;
78
78
  /** Validate a card. Returns diagnostics; never throws on card content. */
79
79
  export declare function validateA2ACard(card: A2AAgentCardV1 | CardLike, opts: ValidateA2ACardOptions): ProjectionDiagnosticV1[];
80
+ /**
81
+ * COR-9 (spec 445) — ONE URL POLICY. This was a third, weaker copy of the host table (it missed `[::ffff:7f00:1]` —
82
+ * the form `URL.hostname` gives an IPv4-mapped address — IPv4-compatible / NAT64 forms, multicast and trailing-dot
83
+ * names such as `localhost.`). It now asks `defaultPublicUrlPolicy` (`../url-policy.ts`) about the host and keeps only
84
+ * the one single-label name the policy does not list (`metadata`). Takes a `URL.hostname` (IPv6 with or without brackets).
85
+ */
80
86
  export declare function isPrivateHost(hostname: string): boolean;
81
87
  //# sourceMappingURL=validation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/a2a/validation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAqB,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAElE,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,mBAAmB,EAExB,KAAK,eAAe,EACpB,KAAK,cAAc,EACpB,MAAM,YAAY,CAAC;AAEpB,2GAA2G;AAC3G,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiCnB,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,OAAO,gBAAgB,CAAC,CAAC;AAEtF,+GAA+G;AAC/G,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,4EAA4E;AAC5E,MAAM,WAAW,yBAAyB;IACxC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,sBAAsB;IACrC,iEAAiE;IACjE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,eAAe,CAAC;IAC7B,6GAA6G;IAC7G,iBAAiB,CAAC,EAAE,IAAI,CAAC,mBAAmB,EAAE,KAAK,GAAG,iBAAiB,CAAC,EAAE,CAAC;IAC3E,+FAA+F;IAC/F,mBAAmB,CAAC,EAAE,yBAAyB,CAAC;IAChD,6EAA6E;IAC7E,aAAa,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC/C,mGAAmG;IACnG,4BAA4B,CAAC,EAAE,OAAO,CAAC;CACxC;AAID,wBAAgB,SAAS,CAAC,WAAW,EAAE,SAAS,sBAAsB,EAAE,GAAG,OAAO,CAEjF;AAED,0EAA0E;AAC1E,wBAAgB,eAAe,CAAC,IAAI,EAAE,cAAc,GAAG,QAAQ,EAAE,IAAI,EAAE,sBAAsB,GAAG,sBAAsB,EAAE,CAgSvH;AAsCD,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAqBvD"}
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/a2a/validation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAqB,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAGlE,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,mBAAmB,EAExB,KAAK,eAAe,EACpB,KAAK,cAAc,EACpB,MAAM,YAAY,CAAC;AAEpB,2GAA2G;AAC3G,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiCnB,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,OAAO,gBAAgB,CAAC,CAAC;AAEtF,+GAA+G;AAC/G,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,4EAA4E;AAC5E,MAAM,WAAW,yBAAyB;IACxC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,sBAAsB;IACrC,iEAAiE;IACjE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,eAAe,CAAC;IAC7B,6GAA6G;IAC7G,iBAAiB,CAAC,EAAE,IAAI,CAAC,mBAAmB,EAAE,KAAK,GAAG,iBAAiB,CAAC,EAAE,CAAC;IAC3E,+FAA+F;IAC/F,mBAAmB,CAAC,EAAE,yBAAyB,CAAC;IAChD,6EAA6E;IAC7E,aAAa,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC/C,mGAAmG;IACnG,4BAA4B,CAAC,EAAE,OAAO,CAAC;CACxC;AAID,wBAAgB,SAAS,CAAC,WAAW,EAAE,SAAS,sBAAsB,EAAE,GAAG,OAAO,CAEjF;AAED,0EAA0E;AAC1E,wBAAgB,eAAe,CAAC,IAAI,EAAE,cAAc,GAAG,QAAQ,EAAE,IAAI,EAAE,sBAAsB,GAAG,sBAAsB,EAAE,CAkSvH;AAsCD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAKvD"}