agent-passport-system 2.1.0 → 2.3.0-alpha

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/README.md +2 -2
  2. package/dist/src/adapters/mutual-auth-a2a.d.ts +53 -0
  3. package/dist/src/adapters/mutual-auth-a2a.d.ts.map +1 -0
  4. package/dist/src/adapters/mutual-auth-a2a.js +108 -0
  5. package/dist/src/adapters/mutual-auth-a2a.js.map +1 -0
  6. package/dist/src/adapters/mutual-auth-mcp.d.ts +55 -0
  7. package/dist/src/adapters/mutual-auth-mcp.d.ts.map +1 -0
  8. package/dist/src/adapters/mutual-auth-mcp.js +107 -0
  9. package/dist/src/adapters/mutual-auth-mcp.js.map +1 -0
  10. package/dist/src/core/policy.d.ts +34 -2
  11. package/dist/src/core/policy.d.ts.map +1 -1
  12. package/dist/src/core/policy.js +40 -0
  13. package/dist/src/core/policy.js.map +1 -1
  14. package/dist/src/decisionReceipt.d.ts +118 -0
  15. package/dist/src/decisionReceipt.d.ts.map +1 -0
  16. package/dist/src/decisionReceipt.js +109 -0
  17. package/dist/src/decisionReceipt.js.map +1 -0
  18. package/dist/src/index.d.ts +10 -2
  19. package/dist/src/index.d.ts.map +1 -1
  20. package/dist/src/index.js +10 -1
  21. package/dist/src/index.js.map +1 -1
  22. package/dist/src/types/policy.d.ts +30 -0
  23. package/dist/src/types/policy.d.ts.map +1 -1
  24. package/dist/src/v2/mutual-auth/certificate.d.ts +39 -0
  25. package/dist/src/v2/mutual-auth/certificate.d.ts.map +1 -0
  26. package/dist/src/v2/mutual-auth/certificate.js +89 -0
  27. package/dist/src/v2/mutual-auth/certificate.js.map +1 -0
  28. package/dist/src/v2/mutual-auth/handshake.d.ts +37 -0
  29. package/dist/src/v2/mutual-auth/handshake.d.ts.map +1 -0
  30. package/dist/src/v2/mutual-auth/handshake.js +216 -0
  31. package/dist/src/v2/mutual-auth/handshake.js.map +1 -0
  32. package/dist/src/v2/mutual-auth/index.d.ts +8 -0
  33. package/dist/src/v2/mutual-auth/index.d.ts.map +1 -0
  34. package/dist/src/v2/mutual-auth/index.js +8 -0
  35. package/dist/src/v2/mutual-auth/index.js.map +1 -0
  36. package/dist/src/v2/mutual-auth/trust-bundle.d.ts +20 -0
  37. package/dist/src/v2/mutual-auth/trust-bundle.d.ts.map +1 -0
  38. package/dist/src/v2/mutual-auth/trust-bundle.js +45 -0
  39. package/dist/src/v2/mutual-auth/trust-bundle.js.map +1 -0
  40. package/dist/src/v2/mutual-auth/types.d.ts +145 -0
  41. package/dist/src/v2/mutual-auth/types.d.ts.map +1 -0
  42. package/dist/src/v2/mutual-auth/types.js +19 -0
  43. package/dist/src/v2/mutual-auth/types.js.map +1 -0
  44. package/package.json +4 -3
package/README.md CHANGED
@@ -62,7 +62,7 @@ const bound = bindWallet({
62
62
  verifyBoundWallet(bound, 'nano', 'nano_3jb1...') // true
63
63
  ```
64
64
 
65
- **Behavioral (issuer-attested).** Independent issuers (the [insumer-examples](https://github.com/insumerapi/insumer-examples) ecosystem and friends — skyemeta/skyeprofile and 8 others) sign attestations about wallet behavior, sybil signals, and on-chain history. Their signatures stand alone.
65
+ **Behavioral (issuer-attested).** Independent issuers (the [insumer-examples](https://github.com/douglasborthwick-crypto/insumer-examples) ecosystem and friends — skyemeta/skyeprofile and 8 others) sign attestations about wallet behavior, sybil signals, and on-chain history. Their signatures stand alone.
66
66
 
67
67
  The two layers compose: a verifier accepting both gets cryptographic proof that **this passport holder controls this address** (structural) **and** that **this address has these behavioral properties** (behavioral). Neither layer claims what the other proves. Multi-attestation envelopes carry both.
68
68
 
@@ -123,7 +123,7 @@ Institutional governance: charters, offices, federation, reserves, multi-party a
123
123
  npx agent-passport-system-mcp
124
124
  ```
125
125
 
126
- 20 essential tools by default. Set `APS_PROFILE=full` for all 142 tools. Profiles: essential, identity, governance, coordination, commerce, data, gateway, comms, minimal, full.
126
+ 20 essential tools by default. Set `APS_PROFILE=full` for all 146 tools. Profiles: essential, identity, governance, coordination, commerce, data, gateway, comms, minimal, full.
127
127
 
128
128
  ## Numbers
129
129
 
@@ -0,0 +1,53 @@
1
+ /**
2
+ * A2A Mutual Authentication Adapter
3
+ *
4
+ * Layers APS mutual-auth on top of Google A2A Agent Cards. A2A v1.0
5
+ * introduced Signed Agent Cards, which let an agent cryptographically
6
+ * present itself. This adapter closes the asymmetry by also letting
7
+ * an information system present a certificate the agent verifies.
8
+ *
9
+ * Composition boundary:
10
+ * A2A Agent Card — identity discovery (agent → network)
11
+ * APS passport — identity + delegation + attestation grade
12
+ * MutualAuthCert — binding of either party into the handshake
13
+ *
14
+ * This adapter does NOT replace A2A's signed cards. It carries an
15
+ * additional MutualAuthCertificate alongside the card, for scenarios
16
+ * where the peer is an IS (not another agent) and downgrade-proof
17
+ * mutual auth is required.
18
+ */
19
+ import type { A2AAgentCard } from '../types/a2a.js';
20
+ import type { MutualAuthCertificate, MutualAuthPolicy, TrustAnchor, MutualAuthHello, MutualAuthAttest, MutualAuthResult } from '../v2/mutual-auth/index.js';
21
+ /** Envelope carrying an A2A card + the mutual-auth certificate that
22
+ * binds its identity into handshake scope. */
23
+ export interface A2AMutualAuthEnvelope {
24
+ card: A2AAgentCard;
25
+ certificate: MutualAuthCertificate;
26
+ }
27
+ /** Initiate an A2A mutual-auth exchange from the agent side.
28
+ * Caller owns the nonce supply (or pass none to auto-generate). */
29
+ export declare function a2aBeginHandshake(envelope: A2AMutualAuthEnvelope, now_ms: number, nonce_b64?: string): {
30
+ hello: MutualAuthHello;
31
+ envelope: A2AMutualAuthEnvelope;
32
+ };
33
+ /** The IS side: given the agent's hello, build the IS's attest. */
34
+ export declare function a2aRespondHandshake(peer_hello: MutualAuthHello, own_envelope: A2AMutualAuthEnvelope, own_sk_hex: string, accepted_versions: string[], now_ms: number, own_nonce_b64?: string): MutualAuthAttest | {
35
+ error: 'version_unsupported';
36
+ };
37
+ /** Agent side: verify the IS's attest, then produce the agent's own
38
+ * attest. */
39
+ export declare function a2aCounterAttest(is_attest: MutualAuthAttest, agent_envelope: A2AMutualAuthEnvelope, agent_sk_hex: string, policy: MutualAuthPolicy, trust_anchors: TrustAnchor[], now_ms: number, agent_nonce_b64: string, is_nonce_b64: string, revoked_anchor_ids?: string[]): MutualAuthAttest | {
40
+ error: string;
41
+ };
42
+ /** Final step on the IS side: verify the agent's attest, then derive
43
+ * the shared session. */
44
+ export declare function a2aFinalizeSession(agent_attest: MutualAuthAttest, is_attest: MutualAuthAttest, policy: MutualAuthPolicy, trust_anchors: TrustAnchor[], now_ms: number, expected_is_nonce: string, expected_agent_nonce: string, revoked_anchor_ids?: string[]): MutualAuthResult;
45
+ /** Attach an APS mutual-auth certificate to an A2A Agent Card as an
46
+ * extension block. Does not modify core card fields. */
47
+ export declare function attachMutualAuthToA2ACard(card: A2AAgentCard, cert: MutualAuthCertificate): A2AAgentCard & {
48
+ agentPassport: Record<string, unknown>;
49
+ };
50
+ /** Extract an APS mutual-auth certificate from an A2A Agent Card
51
+ * extension, or null if absent. */
52
+ export declare function extractMutualAuthFromA2ACard(card: A2AAgentCard): MutualAuthCertificate | null;
53
+ //# sourceMappingURL=mutual-auth-a2a.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutual-auth-a2a.d.ts","sourceRoot":"","sources":["../../../src/adapters/mutual-auth-a2a.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,KAAK,EACV,qBAAqB,EACrB,gBAAgB,EAChB,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,4BAA4B,CAAA;AASnC;+CAC+C;AAC/C,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,YAAY,CAAA;IAClB,WAAW,EAAE,qBAAqB,CAAA;CACnC;AAED;oEACoE;AACpE,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,qBAAqB,EAC/B,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,GACjB;IAAE,KAAK,EAAE,eAAe,CAAC;IAAC,QAAQ,EAAE,qBAAqB,CAAA;CAAE,CAQ7D;AAED,mEAAmE;AACnE,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,eAAe,EAC3B,YAAY,EAAE,qBAAqB,EACnC,UAAU,EAAE,MAAM,EAClB,iBAAiB,EAAE,MAAM,EAAE,EAC3B,MAAM,EAAE,MAAM,EACd,aAAa,CAAC,EAAE,MAAM,GACrB,gBAAgB,GAAG;IAAE,KAAK,EAAE,qBAAqB,CAAA;CAAE,CAgBrD;AAED;cACc;AACd,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,gBAAgB,EAC3B,cAAc,EAAE,qBAAqB,EACrC,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,gBAAgB,EACxB,aAAa,EAAE,WAAW,EAAE,EAC5B,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,EACvB,YAAY,EAAE,MAAM,EACpB,kBAAkB,CAAC,EAAE,MAAM,EAAE,GAC5B,gBAAgB,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAwBtC;AAED;0BAC0B;AAC1B,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,gBAAgB,EAC9B,SAAS,EAAE,gBAAgB,EAC3B,MAAM,EAAE,gBAAgB,EACxB,aAAa,EAAE,WAAW,EAAE,EAC5B,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,MAAM,EACzB,oBAAoB,EAAE,MAAM,EAC5B,kBAAkB,CAAC,EAAE,MAAM,EAAE,GAC5B,gBAAgB,CAiBlB;AAED;yDACyD;AACzD,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,YAAY,EAClB,IAAI,EAAE,qBAAqB,GAC1B,YAAY,GAAG;IAAE,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAS3D;AAED;oCACoC;AACpC,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,YAAY,GACjB,qBAAqB,GAAG,IAAI,CAK9B"}
@@ -0,0 +1,108 @@
1
+ // Copyright 2024-2026 Tymofii Pidlisnyi. Apache-2.0 license. See LICENSE.
2
+ /**
3
+ * A2A Mutual Authentication Adapter
4
+ *
5
+ * Layers APS mutual-auth on top of Google A2A Agent Cards. A2A v1.0
6
+ * introduced Signed Agent Cards, which let an agent cryptographically
7
+ * present itself. This adapter closes the asymmetry by also letting
8
+ * an information system present a certificate the agent verifies.
9
+ *
10
+ * Composition boundary:
11
+ * A2A Agent Card — identity discovery (agent → network)
12
+ * APS passport — identity + delegation + attestation grade
13
+ * MutualAuthCert — binding of either party into the handshake
14
+ *
15
+ * This adapter does NOT replace A2A's signed cards. It carries an
16
+ * additional MutualAuthCertificate alongside the card, for scenarios
17
+ * where the peer is an IS (not another agent) and downgrade-proof
18
+ * mutual auth is required.
19
+ */
20
+ import { buildHello, buildAttest, verifyAttest, deriveSession, chooseVersion, } from '../v2/mutual-auth/index.js';
21
+ /** Initiate an A2A mutual-auth exchange from the agent side.
22
+ * Caller owns the nonce supply (or pass none to auto-generate). */
23
+ export function a2aBeginHandshake(envelope, now_ms, nonce_b64) {
24
+ const hello = buildHello('agent', envelope.certificate.supported_versions, now_ms, nonce_b64);
25
+ return { hello, envelope };
26
+ }
27
+ /** The IS side: given the agent's hello, build the IS's attest. */
28
+ export function a2aRespondHandshake(peer_hello, own_envelope, own_sk_hex, accepted_versions, now_ms, own_nonce_b64) {
29
+ const chosen = chooseVersion(peer_hello.supported_versions, accepted_versions);
30
+ if (chosen === null)
31
+ return { error: 'version_unsupported' };
32
+ const { newNonce } = require('../v2/mutual-auth/handshake.js');
33
+ const nonce = own_nonce_b64 ?? newNonce();
34
+ return buildAttest({
35
+ role: 'information_system',
36
+ chosen_version: chosen,
37
+ own_nonce_b64: nonce,
38
+ peer_nonce_b64: peer_hello.nonce_b64,
39
+ certificate: own_envelope.certificate,
40
+ now_ms,
41
+ }, own_sk_hex);
42
+ }
43
+ /** Agent side: verify the IS's attest, then produce the agent's own
44
+ * attest. */
45
+ export function a2aCounterAttest(is_attest, agent_envelope, agent_sk_hex, policy, trust_anchors, now_ms, agent_nonce_b64, is_nonce_b64, revoked_anchor_ids) {
46
+ const res = verifyAttest({
47
+ attest: is_attest,
48
+ expected_peer_nonce_b64: agent_nonce_b64,
49
+ expected_own_nonce_b64: is_nonce_b64,
50
+ policy,
51
+ trust_anchors,
52
+ revoked_anchor_ids,
53
+ now_ms,
54
+ });
55
+ if (!res.ok) {
56
+ return { error: res.reason ?? 'verification_failed' };
57
+ }
58
+ return buildAttest({
59
+ role: 'agent',
60
+ chosen_version: is_attest.chosen_version,
61
+ own_nonce_b64: agent_nonce_b64,
62
+ peer_nonce_b64: is_attest.own_nonce_b64,
63
+ certificate: agent_envelope.certificate,
64
+ now_ms,
65
+ }, agent_sk_hex);
66
+ }
67
+ /** Final step on the IS side: verify the agent's attest, then derive
68
+ * the shared session. */
69
+ export function a2aFinalizeSession(agent_attest, is_attest, policy, trust_anchors, now_ms, expected_is_nonce, expected_agent_nonce, revoked_anchor_ids) {
70
+ const res = verifyAttest({
71
+ attest: agent_attest,
72
+ expected_peer_nonce_b64: expected_is_nonce,
73
+ expected_own_nonce_b64: expected_agent_nonce,
74
+ policy,
75
+ trust_anchors,
76
+ revoked_anchor_ids,
77
+ now_ms,
78
+ });
79
+ if (!res.ok) {
80
+ return {
81
+ ok: false,
82
+ failure: { reason: res.reason ?? 'signature_invalid', detail: res.detail },
83
+ };
84
+ }
85
+ return deriveSession(agent_attest, is_attest, policy, now_ms);
86
+ }
87
+ /** Attach an APS mutual-auth certificate to an A2A Agent Card as an
88
+ * extension block. Does not modify core card fields. */
89
+ export function attachMutualAuthToA2ACard(card, cert) {
90
+ const existing = card.agentPassport ?? { did: '', passportSignature: '' };
91
+ return {
92
+ ...card,
93
+ agentPassport: {
94
+ ...existing,
95
+ mutualAuthCertificate: cert,
96
+ },
97
+ };
98
+ }
99
+ /** Extract an APS mutual-auth certificate from an A2A Agent Card
100
+ * extension, or null if absent. */
101
+ export function extractMutualAuthFromA2ACard(card) {
102
+ const ext = card.agentPassport;
103
+ const cert = ext?.mutualAuthCertificate;
104
+ if (!cert || typeof cert !== 'object')
105
+ return null;
106
+ return cert;
107
+ }
108
+ //# sourceMappingURL=mutual-auth-a2a.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutual-auth-a2a.js","sourceRoot":"","sources":["../../../src/adapters/mutual-auth-a2a.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * MCP Mutual Authentication Adapter
3
+ *
4
+ * Layers APS mutual-auth on top of Anthropic's Model Context Protocol.
5
+ * MCP deals in tool calls between a client (agent) and a server (IS).
6
+ * This adapter binds both sides into a signed mutual-auth session so
7
+ * that a tool call receipt can later reference which authenticated
8
+ * session produced it.
9
+ *
10
+ * Composition boundary:
11
+ * MCP server/client handshake — capability discovery
12
+ * APS mutual-auth — identity proof + session binding
13
+ * APS action receipts — per-tool-call proof inside session
14
+ *
15
+ * This adapter works with any MCP server and any MCP client. It does
16
+ * NOT depend on the MCP SDK. It is a pure mapping layer.
17
+ */
18
+ import type { MutualAuthCertificate, MutualAuthPolicy, TrustAnchor, MutualAuthHello, MutualAuthAttest, MutualAuthResult, MutualAuthSession } from '../v2/mutual-auth/index.js';
19
+ /** MCP-specific binding helper: convert an MCP server URL into the
20
+ * `binding` value for an IS certificate. */
21
+ export declare function mcpServerBinding(server_url: string): string;
22
+ /** Agent-side: start the handshake against an MCP server. */
23
+ export declare function mcpBeginHandshake(agent_cert: MutualAuthCertificate, now_ms: number, nonce_b64?: string): {
24
+ hello: MutualAuthHello;
25
+ agent_nonce: string;
26
+ };
27
+ /** Server-side: respond to an agent hello with the IS attest. */
28
+ export declare function mcpRespondHandshake(agent_hello: MutualAuthHello, is_cert: MutualAuthCertificate, is_sk_hex: string, accepted_versions: string[], now_ms: number, is_nonce_b64?: string): {
29
+ attest: MutualAuthAttest;
30
+ is_nonce: string;
31
+ } | {
32
+ error: 'version_unsupported';
33
+ };
34
+ /** Agent-side: verify the IS attest, produce the agent attest back. */
35
+ export declare function mcpCounterAttest(is_attest: MutualAuthAttest, agent_cert: MutualAuthCertificate, agent_sk_hex: string, agent_nonce_b64: string, policy: MutualAuthPolicy, trust_anchors: TrustAnchor[], now_ms: number, revoked_anchor_ids?: string[]): {
36
+ attest: MutualAuthAttest;
37
+ } | {
38
+ error: string;
39
+ detail?: string;
40
+ };
41
+ /** Server-side: verify the agent attest, derive the shared session. */
42
+ export declare function mcpFinalizeSession(agent_attest: MutualAuthAttest, is_attest: MutualAuthAttest, policy: MutualAuthPolicy, trust_anchors: TrustAnchor[], now_ms: number, revoked_anchor_ids?: string[]): MutualAuthResult;
43
+ /** Helper: check whether an MCP tool call is permitted under the
44
+ * established session. Verifies (a) session is still active and
45
+ * (b) the session's IS cert binding matches the MCP server URL. */
46
+ export interface MCPToolCallAuthCheck {
47
+ session: MutualAuthSession;
48
+ server_url: string;
49
+ now_ms: number;
50
+ }
51
+ export declare function mcpIsToolCallPermitted(input: MCPToolCallAuthCheck): {
52
+ ok: boolean;
53
+ reason?: string;
54
+ };
55
+ //# sourceMappingURL=mutual-auth-mcp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutual-auth-mcp.d.ts","sourceRoot":"","sources":["../../../src/adapters/mutual-auth-mcp.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EACV,qBAAqB,EACrB,gBAAgB,EAChB,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,4BAA4B,CAAA;AAWnC;6CAC6C;AAC7C,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAQ3D;AAED,6DAA6D;AAC7D,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,qBAAqB,EACjC,MAAM,EAAE,MAAM,EACd,SAAS,SAAa,GACrB;IAAE,KAAK,EAAE,eAAe,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAUjD;AAED,iEAAiE;AACjE,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,eAAe,EAC5B,OAAO,EAAE,qBAAqB,EAC9B,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,MAAM,EAAE,EAC3B,MAAM,EAAE,MAAM,EACd,YAAY,SAAa,GACxB;IAAE,MAAM,EAAE,gBAAgB,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,qBAAqB,CAAA;CAAE,CAenF;AAED,uEAAuE;AACvE,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,gBAAgB,EAC3B,UAAU,EAAE,qBAAqB,EACjC,YAAY,EAAE,MAAM,EACpB,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,gBAAgB,EACxB,aAAa,EAAE,WAAW,EAAE,EAC5B,MAAM,EAAE,MAAM,EACd,kBAAkB,CAAC,EAAE,MAAM,EAAE,GAE3B;IAAE,MAAM,EAAE,gBAAgB,CAAA;CAAE,GAC5B;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAyBrC;AAED,uEAAuE;AACvE,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,gBAAgB,EAC9B,SAAS,EAAE,gBAAgB,EAC3B,MAAM,EAAE,gBAAgB,EACxB,aAAa,EAAE,WAAW,EAAE,EAC5B,MAAM,EAAE,MAAM,EACd,kBAAkB,CAAC,EAAE,MAAM,EAAE,GAC5B,gBAAgB,CAiBlB;AAED;;oEAEoE;AACpE,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,iBAAiB,CAAA;IAC1B,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;CACf;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,oBAAoB,GAC1B;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CASlC"}
@@ -0,0 +1,107 @@
1
+ // Copyright 2024-2026 Tymofii Pidlisnyi. Apache-2.0 license. See LICENSE.
2
+ /**
3
+ * MCP Mutual Authentication Adapter
4
+ *
5
+ * Layers APS mutual-auth on top of Anthropic's Model Context Protocol.
6
+ * MCP deals in tool calls between a client (agent) and a server (IS).
7
+ * This adapter binds both sides into a signed mutual-auth session so
8
+ * that a tool call receipt can later reference which authenticated
9
+ * session produced it.
10
+ *
11
+ * Composition boundary:
12
+ * MCP server/client handshake — capability discovery
13
+ * APS mutual-auth — identity proof + session binding
14
+ * APS action receipts — per-tool-call proof inside session
15
+ *
16
+ * This adapter works with any MCP server and any MCP client. It does
17
+ * NOT depend on the MCP SDK. It is a pure mapping layer.
18
+ */
19
+ import { buildHello, buildAttest, verifyAttest, deriveSession, chooseVersion, newNonce, isSessionActive, } from '../v2/mutual-auth/index.js';
20
+ /** MCP-specific binding helper: convert an MCP server URL into the
21
+ * `binding` value for an IS certificate. */
22
+ export function mcpServerBinding(server_url) {
23
+ try {
24
+ const u = new URL(server_url);
25
+ return `mcp://${u.host}${u.pathname === '/' ? '' : u.pathname}`;
26
+ }
27
+ catch {
28
+ // Not a URL — treat as an opaque identifier
29
+ return `mcp://${server_url}`;
30
+ }
31
+ }
32
+ /** Agent-side: start the handshake against an MCP server. */
33
+ export function mcpBeginHandshake(agent_cert, now_ms, nonce_b64 = newNonce()) {
34
+ return {
35
+ hello: buildHello('agent', agent_cert.supported_versions, now_ms, nonce_b64),
36
+ agent_nonce: nonce_b64,
37
+ };
38
+ }
39
+ /** Server-side: respond to an agent hello with the IS attest. */
40
+ export function mcpRespondHandshake(agent_hello, is_cert, is_sk_hex, accepted_versions, now_ms, is_nonce_b64 = newNonce()) {
41
+ const chosen = chooseVersion(agent_hello.supported_versions, accepted_versions);
42
+ if (chosen === null)
43
+ return { error: 'version_unsupported' };
44
+ const attest = buildAttest({
45
+ role: 'information_system',
46
+ chosen_version: chosen,
47
+ own_nonce_b64: is_nonce_b64,
48
+ peer_nonce_b64: agent_hello.nonce_b64,
49
+ certificate: is_cert,
50
+ now_ms,
51
+ }, is_sk_hex);
52
+ return { attest, is_nonce: is_nonce_b64 };
53
+ }
54
+ /** Agent-side: verify the IS attest, produce the agent attest back. */
55
+ export function mcpCounterAttest(is_attest, agent_cert, agent_sk_hex, agent_nonce_b64, policy, trust_anchors, now_ms, revoked_anchor_ids) {
56
+ const res = verifyAttest({
57
+ attest: is_attest,
58
+ expected_peer_nonce_b64: agent_nonce_b64,
59
+ expected_own_nonce_b64: is_attest.own_nonce_b64,
60
+ policy,
61
+ trust_anchors,
62
+ revoked_anchor_ids,
63
+ now_ms,
64
+ });
65
+ if (!res.ok) {
66
+ return { error: res.reason ?? 'verification_failed', detail: res.detail };
67
+ }
68
+ const attest = buildAttest({
69
+ role: 'agent',
70
+ chosen_version: is_attest.chosen_version,
71
+ own_nonce_b64: agent_nonce_b64,
72
+ peer_nonce_b64: is_attest.own_nonce_b64,
73
+ certificate: agent_cert,
74
+ now_ms,
75
+ }, agent_sk_hex);
76
+ return { attest };
77
+ }
78
+ /** Server-side: verify the agent attest, derive the shared session. */
79
+ export function mcpFinalizeSession(agent_attest, is_attest, policy, trust_anchors, now_ms, revoked_anchor_ids) {
80
+ const res = verifyAttest({
81
+ attest: agent_attest,
82
+ expected_peer_nonce_b64: is_attest.own_nonce_b64,
83
+ expected_own_nonce_b64: agent_attest.own_nonce_b64,
84
+ policy,
85
+ trust_anchors,
86
+ revoked_anchor_ids,
87
+ now_ms,
88
+ });
89
+ if (!res.ok) {
90
+ return {
91
+ ok: false,
92
+ failure: { reason: res.reason ?? 'signature_invalid', detail: res.detail },
93
+ };
94
+ }
95
+ return deriveSession(agent_attest, is_attest, policy, now_ms);
96
+ }
97
+ export function mcpIsToolCallPermitted(input) {
98
+ if (!isSessionActive(input.session, input.now_ms)) {
99
+ return { ok: false, reason: 'expired_session' };
100
+ }
101
+ const expected = mcpServerBinding(input.server_url);
102
+ if (input.session.is_cert.binding !== expected) {
103
+ return { ok: false, reason: 'binding_mismatch' };
104
+ }
105
+ return { ok: true };
106
+ }
107
+ //# sourceMappingURL=mutual-auth-mcp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutual-auth-mcp.js","sourceRoot":"","sources":["../../../src/adapters/mutual-auth-mcp.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
- import type { ActionIntent, PolicyDecision, PolicyReceipt, PolicyValidator, ValidationContext, PolicyEvaluationResult } from '../types/policy.js';
2
- import type { ActionReceipt } from '../types/passport.js';
1
+ import type { ActionIntent, PolicyDecision, PolicyReceipt, PolicyValidator, ValidationContext, PolicyEvaluationResult, EpistemicClaims } from '../types/policy.js';
2
+ import type { ActionReceipt, Delegation } from '../types/passport.js';
3
+ import { type DecisionReceiptEnvelope } from '../decisionReceipt.js';
3
4
  /**
4
5
  * Agent declares what it wants to do before doing it.
5
6
  * This is the "ask" — signed by the requesting agent.
@@ -46,7 +47,38 @@ export declare function createPolicyReceipt(opts: {
46
47
  decision: PolicyDecision;
47
48
  receipt: ActionReceipt;
48
49
  verifierPrivateKey: string;
50
+ /** v2.3 — ordered root-to-leaf delegation chain.
51
+ * When supplied, the returned receipt carries delegation_chain_root and
52
+ * delegation_depth. Optional for v2.2.x back-compat. */
53
+ delegationChain?: Delegation[];
54
+ /** v2.3 — typed epistemic labels for the four claim classes.
55
+ * When supplied, embedded on the PolicyReceipt and carried into the
56
+ * parallel Decision Receipt envelope (when emitted). */
57
+ epistemicClaims?: EpistemicClaims;
49
58
  }): PolicyReceipt;
59
+ /** v2.3 — emit a PolicyReceipt + parallel in-toto Decision Receipt envelope.
60
+ *
61
+ * Returns both artifacts so v2.2.x consumers keep working against the
62
+ * PolicyReceipt while v2.3-aware verifiers (APS-aware sinks, cross-repo
63
+ * verifiers like @veritasacta/verify) consume the Decision Receipt envelope.
64
+ *
65
+ * Reference implementation of ENFORCEMENT-TRUST-ANCHOR.md Component A.
66
+ * This is a protocol primitive — gateway integration happens at the caller
67
+ * (e.g. @aeoess/gateway's ProxyGateway.emit). */
68
+ export declare function createPolicyReceiptWithDecisionReceipt(opts: {
69
+ intent: ActionIntent;
70
+ decision: PolicyDecision;
71
+ receipt: ActionReceipt;
72
+ verifierPrivateKey: string;
73
+ delegationChain: Delegation[];
74
+ epistemicClaims: EpistemicClaims;
75
+ policyId: string;
76
+ issuerId: string;
77
+ signerKeyId: string;
78
+ }): {
79
+ policyReceipt: PolicyReceipt;
80
+ decisionReceipt: DecisionReceiptEnvelope;
81
+ };
50
82
  export declare function verifyPolicyReceipt(policyReceipt: PolicyReceipt, verifierPublicKey: string): {
51
83
  valid: boolean;
52
84
  errors: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../../src/core/policy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../../src/core/policy.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,7 @@ import { sign, verify } from '../crypto/keys.js';
21
21
  import { canonicalize } from './canonical.js';
22
22
  import { scopeAuthorizes } from './delegation.js';
23
23
  import { computeActionRef } from './action-ref.js';
24
+ import { emitDecisionReceipt, computeDelegationChainRoot, } from '../decisionReceipt.js';
24
25
  // ══════════════════════════════════════
25
26
  // ACTION INTENT — Signature 1 of 3
26
27
  // ══════════════════════════════════════
@@ -140,9 +141,48 @@ export function createPolicyReceipt(opts) {
140
141
  // Request identity copied from intent (A2A#1672)
141
142
  actionRef: opts.intent.actionRef ?? computeActionRef(opts.intent)
142
143
  };
144
+ // v2.3 — bilateral receipt fields (optional, backward-compatible)
145
+ if (opts.delegationChain && opts.delegationChain.length > 0) {
146
+ pr.delegation_chain_root = computeDelegationChainRoot(opts.delegationChain);
147
+ pr.delegation_depth = opts.delegationChain.length;
148
+ }
149
+ if (opts.epistemicClaims) {
150
+ pr.epistemic_claims = opts.epistemicClaims;
151
+ }
143
152
  const signature = sign(canonicalize(pr), opts.verifierPrivateKey);
144
153
  return { ...pr, signature };
145
154
  }
155
+ /** v2.3 — emit a PolicyReceipt + parallel in-toto Decision Receipt envelope.
156
+ *
157
+ * Returns both artifacts so v2.2.x consumers keep working against the
158
+ * PolicyReceipt while v2.3-aware verifiers (APS-aware sinks, cross-repo
159
+ * verifiers like @veritasacta/verify) consume the Decision Receipt envelope.
160
+ *
161
+ * Reference implementation of ENFORCEMENT-TRUST-ANCHOR.md Component A.
162
+ * This is a protocol primitive — gateway integration happens at the caller
163
+ * (e.g. @aeoess/gateway's ProxyGateway.emit). */
164
+ export function createPolicyReceiptWithDecisionReceipt(opts) {
165
+ const policyReceipt = createPolicyReceipt({
166
+ intent: opts.intent,
167
+ decision: opts.decision,
168
+ receipt: opts.receipt,
169
+ verifierPrivateKey: opts.verifierPrivateKey,
170
+ delegationChain: opts.delegationChain,
171
+ epistemicClaims: opts.epistemicClaims,
172
+ });
173
+ const decisionReceipt = emitDecisionReceipt({
174
+ intent: opts.intent,
175
+ decision: opts.decision,
176
+ receipt: opts.receipt,
177
+ delegationChain: opts.delegationChain,
178
+ epistemicClaims: opts.epistemicClaims,
179
+ policyId: opts.policyId,
180
+ signerPrivateKey: opts.verifierPrivateKey,
181
+ signerKeyId: opts.signerKeyId,
182
+ issuerId: opts.issuerId,
183
+ });
184
+ return { policyReceipt, decisionReceipt };
185
+ }
146
186
  export function verifyPolicyReceipt(policyReceipt, verifierPublicKey) {
147
187
  const errors = [];
148
188
  const { signature, ...unsigned } = policyReceipt;
@@ -1 +1 @@
1
- {"version":3,"file":"policy.js","sourceRoot":"","sources":["../../../src/core/policy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"policy.js","sourceRoot":"","sources":["../../../src/core/policy.ts"],"names":[],"mappings":"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"}