agent-passport-system 4.5.1 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/dist/src/adapters/a2a.d.ts +10 -2
  2. package/dist/src/adapters/a2a.d.ts.map +1 -1
  3. package/dist/src/adapters/a2a.js +13 -6
  4. package/dist/src/adapters/a2a.js.map +1 -1
  5. package/dist/src/adapters/crewai.d.ts +19 -0
  6. package/dist/src/adapters/crewai.d.ts.map +1 -1
  7. package/dist/src/adapters/crewai.js +5 -5
  8. package/dist/src/adapters/crewai.js.map +1 -1
  9. package/dist/src/adapters/gonka.d.ts +19 -0
  10. package/dist/src/adapters/gonka.d.ts.map +1 -1
  11. package/dist/src/adapters/gonka.js +5 -5
  12. package/dist/src/adapters/gonka.js.map +1 -1
  13. package/dist/src/adapters/langchain.d.ts +19 -0
  14. package/dist/src/adapters/langchain.d.ts.map +1 -1
  15. package/dist/src/adapters/langchain.js +5 -5
  16. package/dist/src/adapters/langchain.js.map +1 -1
  17. package/dist/src/adapters/mcp.d.ts +19 -0
  18. package/dist/src/adapters/mcp.d.ts.map +1 -1
  19. package/dist/src/adapters/mcp.js +5 -5
  20. package/dist/src/adapters/mcp.js.map +1 -1
  21. package/dist/src/cli/index.js +47 -8
  22. package/dist/src/cli/index.js.map +1 -1
  23. package/dist/src/contract.d.ts +60 -2
  24. package/dist/src/contract.d.ts.map +1 -1
  25. package/dist/src/contract.js +78 -6
  26. package/dist/src/contract.js.map +1 -1
  27. package/dist/src/core/agora.d.ts +21 -0
  28. package/dist/src/core/agora.d.ts.map +1 -1
  29. package/dist/src/core/agora.js +47 -3
  30. package/dist/src/core/agora.js.map +1 -1
  31. package/dist/src/core/aps-txt.d.ts +28 -6
  32. package/dist/src/core/aps-txt.d.ts.map +1 -1
  33. package/dist/src/core/aps-txt.js +52 -13
  34. package/dist/src/core/aps-txt.js.map +1 -1
  35. package/dist/src/core/attribution.d.ts +23 -1
  36. package/dist/src/core/attribution.d.ts.map +1 -1
  37. package/dist/src/core/attribution.js +60 -34
  38. package/dist/src/core/attribution.js.map +1 -1
  39. package/dist/src/core/delegation.d.ts +49 -4
  40. package/dist/src/core/delegation.d.ts.map +1 -1
  41. package/dist/src/core/delegation.js +90 -23
  42. package/dist/src/core/delegation.js.map +1 -1
  43. package/dist/src/core/governance.d.ts +1 -1
  44. package/dist/src/core/governance.d.ts.map +1 -1
  45. package/dist/src/core/governance.js +33 -4
  46. package/dist/src/core/governance.js.map +1 -1
  47. package/dist/src/crypto/ed25519-admissibility.d.ts +13 -0
  48. package/dist/src/crypto/ed25519-admissibility.d.ts.map +1 -0
  49. package/dist/src/crypto/ed25519-admissibility.js +191 -0
  50. package/dist/src/crypto/ed25519-admissibility.js.map +1 -0
  51. package/dist/src/crypto/keys.d.ts +11 -0
  52. package/dist/src/crypto/keys.d.ts.map +1 -1
  53. package/dist/src/crypto/keys.js +21 -1
  54. package/dist/src/crypto/keys.js.map +1 -1
  55. package/dist/src/index.d.ts +10 -4
  56. package/dist/src/index.d.ts.map +1 -1
  57. package/dist/src/index.js +8 -1
  58. package/dist/src/index.js.map +1 -1
  59. package/dist/src/types/agora.d.ts +9 -0
  60. package/dist/src/types/agora.d.ts.map +1 -1
  61. package/dist/src/types/governance.d.ts +30 -0
  62. package/dist/src/types/governance.d.ts.map +1 -1
  63. package/dist/src/types/governance.js +19 -1
  64. package/dist/src/types/governance.js.map +1 -1
  65. package/dist/src/types/passport.d.ts +16 -0
  66. package/dist/src/types/passport.d.ts.map +1 -1
  67. package/dist/src/types/passport.js.map +1 -1
  68. package/dist/src/v2/credential-check-policy/check.d.ts +9 -0
  69. package/dist/src/v2/credential-check-policy/check.d.ts.map +1 -1
  70. package/dist/src/v2/credential-check-policy/check.js +1 -1
  71. package/dist/src/v2/credential-check-policy/check.js.map +1 -1
  72. package/dist/src/v2/instruction-provenance/verify.d.ts.map +1 -1
  73. package/dist/src/v2/instruction-provenance/verify.js +12 -14
  74. package/dist/src/v2/instruction-provenance/verify.js.map +1 -1
  75. package/dist/src/v2/offline-verifier/middleware.d.ts +45 -7
  76. package/dist/src/v2/offline-verifier/middleware.d.ts.map +1 -1
  77. package/dist/src/v2/offline-verifier/middleware.js +40 -14
  78. package/dist/src/v2/offline-verifier/middleware.js.map +1 -1
  79. package/dist/src/v2/sub-delegate-advisor.d.ts +4 -0
  80. package/dist/src/v2/sub-delegate-advisor.d.ts.map +1 -1
  81. package/dist/src/v2/sub-delegate-advisor.js +13 -5
  82. package/dist/src/v2/sub-delegate-advisor.js.map +1 -1
  83. package/dist/src/verification/trust-anchors.d.ts +31 -0
  84. package/dist/src/verification/trust-anchors.d.ts.map +1 -0
  85. package/dist/src/verification/trust-anchors.js +97 -0
  86. package/dist/src/verification/trust-anchors.js.map +1 -0
  87. package/dist/src/verification/trust-posture.d.ts +45 -0
  88. package/dist/src/verification/trust-posture.d.ts.map +1 -0
  89. package/dist/src/verification/trust-posture.js +88 -0
  90. package/dist/src/verification/trust-posture.js.map +1 -0
  91. package/dist/src/verification/verify.d.ts +17 -3
  92. package/dist/src/verification/verify.d.ts.map +1 -1
  93. package/dist/src/verification/verify.js +48 -9
  94. package/dist/src/verification/verify.js.map +1 -1
  95. package/package.json +9 -5
@@ -7,6 +7,7 @@
7
7
  * This module is a pure mapping layer. Runtime governance (the stateful
8
8
  * lifecycle hook) lives in the gateway.
9
9
  */
10
+ import { type TrustPostureOptions } from '../verification/trust-posture.js';
10
11
  import type { A2AAgentCard } from '../types/a2a.js';
11
12
  import type { Delegation, SignedPassport } from '../types/passport.js';
12
13
  /** Derive APS-compatible scopes from an A2A Agent Card. */
@@ -53,8 +54,15 @@ export declare function a2aCardToPassportMeta(card: A2AAgentCardV2): {
53
54
  agentId: string;
54
55
  metadata: Record<string, unknown>;
55
56
  };
56
- /** Verify an A2A agent has valid APS identity */
57
- export declare function verifyA2AIdentity(card: A2AAgentCardV2, passport: SignedPassport): {
57
+ /** Verify an A2A agent has valid APS identity.
58
+ *
59
+ * Identity here means the passport verifies AND this verifier has a stated
60
+ * basis for accepting whoever stands behind it. Without `opts`, a self-signed
61
+ * passport is REFUSED: it used to return { valid: true, errors: [] } for a
62
+ * passport an attacker minted for themselves, which is a claim of identity
63
+ * rather than a verification of one. Pass `trustedIssuers`, or
64
+ * `allowSelfSigned: true` on a closed network. */
65
+ export declare function verifyA2AIdentity(card: A2AAgentCardV2, passport: SignedPassport, opts?: TrustPostureOptions): {
58
66
  valid: boolean;
59
67
  errors: string[];
60
68
  };
@@ -1 +1 @@
1
- {"version":3,"file":"a2a.d.ts","sourceRoot":"","sources":["../../../src/adapters/a2a.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAEtE,2DAA2D;AAC3D,wBAAgB,eAAe,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,EAAE,CAW5D;AAOD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACjD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE;QACb,SAAS,CAAC,EAAE,OAAO,CAAA;QACnB,iBAAiB,CAAC,EAAE,OAAO,CAAA;QAC3B,sBAAsB,CAAC,EAAE,OAAO,CAAA;KACjC,CAAA;IACD,MAAM,CAAC,EAAE,KAAK,CAAC;QACb,EAAE,EAAE,MAAM,CAAA;QACV,IAAI,EAAE,MAAM,CAAA;QACZ,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;QACrB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;KACvB,CAAC,CAAA;IACF,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACzC,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAA;IACpB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC5B,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC7B,UAAU,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAA;CAC3D;AAED,6CAA6C;AAC7C,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,cAAc,EACxB,IAAI,CAAC,EAAE;IACL,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAA;IACjC,YAAY,CAAC,EAAE,cAAc,CAAC,cAAc,CAAC,CAAA;CAC9C,GACA,cAAc,CAgChB;AAED,sDAAsD;AACtD,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,cAAc,GACnB;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAaxD;AAED,iDAAiD;AACjD,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,cAAc,EACpB,QAAQ,EAAE,cAAc,GACvB;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAiBtC;AAED,+CAA+C;AAC/C,wBAAgB,gBAAgB,CAC9B,MAAM,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,GAChC,MAAM,EAAE,CAGV;AAED,sDAAsD;AACtD,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,cAAc,EACpB,QAAQ,EAAE,cAAc,EACxB,aAAa,CAAC,EAAE,MAAM,GACrB,cAAc,CAahB"}
1
+ {"version":3,"file":"a2a.d.ts","sourceRoot":"","sources":["../../../src/adapters/a2a.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AAEH,OAAO,EAA6B,KAAK,mBAAmB,EAAE,MAAM,kCAAkC,CAAA;AACtG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAEtE,2DAA2D;AAC3D,wBAAgB,eAAe,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,EAAE,CAW5D;AAOD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACjD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE;QACb,SAAS,CAAC,EAAE,OAAO,CAAA;QACnB,iBAAiB,CAAC,EAAE,OAAO,CAAA;QAC3B,sBAAsB,CAAC,EAAE,OAAO,CAAA;KACjC,CAAA;IACD,MAAM,CAAC,EAAE,KAAK,CAAC;QACb,EAAE,EAAE,MAAM,CAAA;QACV,IAAI,EAAE,MAAM,CAAA;QACZ,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;QACrB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;KACvB,CAAC,CAAA;IACF,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACzC,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAA;IACpB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC5B,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC7B,UAAU,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAA;CAC3D;AAED,6CAA6C;AAC7C,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,cAAc,EACxB,IAAI,CAAC,EAAE;IACL,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAA;IACjC,YAAY,CAAC,EAAE,cAAc,CAAC,cAAc,CAAC,CAAA;CAC9C,GACA,cAAc,CAgChB;AAED,sDAAsD;AACtD,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,cAAc,GACnB;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAaxD;AAED;;;;;;;mDAOmD;AACnD,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,cAAc,EACpB,QAAQ,EAAE,cAAc,EACxB,IAAI,GAAE,mBAAwB,GAC7B;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAiBtC;AAED,+CAA+C;AAC/C,wBAAgB,gBAAgB,CAC9B,MAAM,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,GAChC,MAAM,EAAE,CAGV;AAED,sDAAsD;AACtD,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,cAAc,EACpB,QAAQ,EAAE,cAAc,EACxB,aAAa,CAAC,EAAE,MAAM,GACrB,cAAc,CAahB"}
@@ -9,7 +9,7 @@
9
9
  * This module is a pure mapping layer. Runtime governance (the stateful
10
10
  * lifecycle hook) lives in the gateway.
11
11
  */
12
- import { verifyPassport } from '../verification/verify.js';
12
+ import { checkPassportTrustPosture } from '../verification/trust-posture.js';
13
13
  /** Derive APS-compatible scopes from an A2A Agent Card. */
14
14
  export function deriveA2AScopes(card) {
15
15
  const scopes = [];
@@ -73,12 +73,19 @@ export function a2aCardToPassportMeta(card) {
73
73
  },
74
74
  };
75
75
  }
76
- /** Verify an A2A agent has valid APS identity */
77
- export function verifyA2AIdentity(card, passport) {
76
+ /** Verify an A2A agent has valid APS identity.
77
+ *
78
+ * Identity here means the passport verifies AND this verifier has a stated
79
+ * basis for accepting whoever stands behind it. Without `opts`, a self-signed
80
+ * passport is REFUSED: it used to return { valid: true, errors: [] } for a
81
+ * passport an attacker minted for themselves, which is a claim of identity
82
+ * rather than a verification of one. Pass `trustedIssuers`, or
83
+ * `allowSelfSigned: true` on a closed network. */
84
+ export function verifyA2AIdentity(card, passport, opts = {}) {
78
85
  const errors = [];
79
- const pc = verifyPassport(passport);
80
- if (!pc.valid)
81
- errors.push(...pc.errors);
86
+ const pc = checkPassportTrustPosture(passport, opts);
87
+ if (!pc.ok)
88
+ errors.push(pc.detail ?? 'Passport rejected at the gate');
82
89
  const p = passport.passport;
83
90
  if (card.name !== p.agentName && card.name !== p.agentId) {
84
91
  errors.push(`Card name "${card.name}" does not match passport agentName "${p.agentName}" or agentId "${p.agentId}"`);
@@ -1 +1 @@
1
- {"version":3,"file":"a2a.js","sourceRoot":"","sources":["../../../src/adapters/a2a.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"a2a.js","sourceRoot":"","sources":["../../../src/adapters/a2a.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,sCAAsC;AACtC;;;;;;;;GAQG;AAEH,OAAO,EAAE,yBAAyB,EAA4B,MAAM,kCAAkC,CAAA;AAItG,2DAA2D;AAC3D,MAAM,UAAU,eAAe,CAAC,IAAkB;IAChD,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,EAAE,EAAE,CAAC,CAAA;QACtC,CAAC;IACH,CAAC;IACD,IAAI,IAAI,CAAC,YAAY,EAAE,SAAS;QAAE,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;IAC9D,IAAI,IAAI,CAAC,YAAY,EAAE,iBAAiB;QAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACjE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;IACxD,OAAO,MAAM,CAAA;AACf,CAAC;AAgCD,6CAA6C;AAC7C,MAAM,UAAU,iBAAiB,CAC/B,QAAwB,EACxB,IAKC;IAED,MAAM,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAA;IAC3B,MAAM,IAAI,GAAmB;QAC3B,IAAI,EAAE,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,OAAO;QAC9B,WAAW,EAAE,CAAC,CAAC,OAAO;QACtB,GAAG,EAAE,IAAI,EAAE,GAAG;QACd,OAAO,EAAE,KAAK;QACd,YAAY,EAAE,IAAI,EAAE,YAAY,IAAI,EAAE;QACtC,eAAe,EAAE;YACf,WAAW,EAAE;gBACX,IAAI,EAAE,SAAS;gBACf,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,OAAO,EAAE,CAAC,CAAC,OAAO;aACnB;SACF;KACF,CAAA;IAED,iCAAiC;IACjC,IAAI,IAAI,EAAE,MAAM,EAAE,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;IAC3B,CAAC;SAAM,IAAI,IAAI,EAAE,UAAU,EAAE,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC5C,EAAE,EAAE,CAAC;YACL,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;SAClE,CAAC,CAAC,CAAA;IACL,CAAC;IAED,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC,UAAU,EAAE,CAAA;IAChD,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAED,sDAAsD;AACtD,MAAM,UAAU,qBAAqB,CACnC,IAAoB;IAEpB,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;QAC5D,QAAQ,EAAE;YACR,QAAQ,EAAE,IAAI,CAAC,IAAI;YACnB,eAAe,EAAE,IAAI,CAAC,WAAW;YACjC,OAAO,EAAE,IAAI,CAAC,GAAG;YACjB,YAAY,EAAE,IAAI,CAAC,QAAQ;YAC3B,WAAW,EAAE,IAAI,CAAC,OAAO;YACzB,gBAAgB,EAAE,IAAI,CAAC,YAAY;YACnC,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC;SAC1C;KACF,CAAA;AACH,CAAC;AAED;;;;;;;mDAOmD;AACnD,MAAM,UAAU,iBAAiB,CAC/B,IAAoB,EACpB,QAAwB,EACxB,IAAI,GAAwB,EAAE;IAE9B,MAAM,MAAM,GAAa,EAAE,CAAA;IAE3B,MAAM,EAAE,GAAG,yBAAyB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;IACpD,IAAI,CAAC,EAAE,CAAC,EAAE;QAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,IAAI,+BAA+B,CAAC,CAAA;IAErE,MAAM,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAA;IAC3B,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;QACzD,MAAM,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,wCAAwC,CAAC,CAAC,SAAS,iBAAiB,CAAC,CAAC,OAAO,GAAG,CAAC,CAAA;IACtH,CAAC;IAED,MAAM,YAAY,GAAI,IAAI,CAAC,eAAe,EAAE,WAAuC,EAAE,SAAS,CAAA;IAC9F,IAAI,YAAY,IAAI,YAAY,KAAK,CAAC,CAAC,SAAS,EAAE,CAAC;QACjD,MAAM,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAA;IACjF,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;AAC/C,CAAC;AAED,+CAA+C;AAC/C,MAAM,UAAU,gBAAgB,CAC9B,MAAiC;IAEjC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IAC7C,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AACvC,CAAC;AAED,sDAAsD;AACtD,MAAM,UAAU,mBAAmB,CACjC,IAAoB,EACpB,QAAwB,EACxB,aAAsB;IAEtB,OAAO;QACL,GAAG,IAAI;QACP,UAAU,EAAE;YACV,GAAG,IAAI,CAAC,UAAU;YAClB,SAAS,EAAE;gBACT,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO;gBAClC,SAAS,EAAE,QAAQ,CAAC,QAAQ,CAAC,SAAS;gBACtC,aAAa,EAAE,aAAa,IAAI,kDAAkD,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE;gBAC7G,QAAQ,EAAE,uBAAuB;aAClC;SACF;KACF,CAAA;AACH,CAAC"}
@@ -5,6 +5,7 @@
5
5
  * spend tracking, gateway reporting) lives in the gateway — callers that
6
6
  * need those behaviours supply them via the `onReceipt` / `onDenied` hooks.
7
7
  */
8
+ import { type RevocationCheckOptions } from '../core/delegation.js';
8
9
  import type { Delegation, ActionReceipt, SignedPassport } from '../types/passport.js';
9
10
  export interface CrewTask {
10
11
  description: string;
@@ -22,6 +23,24 @@ export interface CrewGovernanceConfig {
22
23
  agent: string;
23
24
  reason: string;
24
25
  }) => void;
26
+ /** Trust anchors for this gate: issuer public keys whose countersignature
27
+ * is accepted. A NON-EMPTY list requires a valid countersignature from one
28
+ * of them. An empty list, or omitting it, means this gate holds no
29
+ * anchors; it does not mean "trust anyone". */
30
+ trustedIssuers?: string[];
31
+ /** Explicit wildcard trust: admit a passport whose only authority is its
32
+ * own signature. Required to admit a self-signed credential, because a
33
+ * signature that verifies under a key the passport itself supplied is not
34
+ * an authorization by a trusted issuer. Default false. */
35
+ allowSelfSigned?: boolean;
36
+ /** Revocation posture applied to the delegation check before every
37
+ * governed call. This adapter is an execution gate: it verifies the
38
+ * delegation immediately before the tool runs, which is exactly where a
39
+ * caller who will not act on unknown revocation state says so. Pass
40
+ * { revocationCheckPolicy: 'fail_closed', cachedRevocationState } to
41
+ * refuse when revocation evidence is absent or stale. Omitted leaves the
42
+ * previous behaviour, signature and expiry only. */
43
+ revocation?: RevocationCheckOptions;
25
44
  }
26
45
  export interface GovernedTaskResult {
27
46
  output: unknown;
@@ -1 +1 @@
1
- {"version":3,"file":"crewai.d.ts","sourceRoot":"","sources":["../../../src/adapters/crewai.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AAMH,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAErF,MAAM,WAAW,QAAQ;IACvB,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,cAAc,CAAA;IACxB,UAAU,EAAE,UAAU,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,aAAa,KAAK,IAAI,CAAA;IACtC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;CAC3E;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,OAAO,CAAA;IACf,OAAO,EAAE,aAAa,CAAA;IACtB,YAAY,EAAE,aAAa,EAAE,CAAA;CAC9B;AAmBD,4CAA4C;AAC5C,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,EAAE,CAQzD;AAED,gDAAgD;AAChD,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,QAAQ,EACd,MAAM,EAAE,oBAAoB,GAC3B;IAAE,UAAU,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAiBxD;AAED,0CAA0C;AAC1C,wBAAsB,cAAc,CAClC,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC,OAAO,CAAC,EAC7C,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,kBAAkB,GAAG;IAAE,MAAM,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,aAAa,CAAA;CAAE,CAAC,CAyBxF"}
1
+ {"version":3,"file":"crewai.d.ts","sourceRoot":"","sources":["../../../src/adapters/crewai.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AAEH,OAAO,EAAqC,KAAK,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAItG,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAErF,MAAM,WAAW,QAAQ;IACvB,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,cAAc,CAAA;IACxB,UAAU,EAAE,UAAU,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,aAAa,KAAK,IAAI,CAAA;IACtC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IAC1E;;;oDAGgD;IAChD,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB;;;+DAG2D;IAC3D,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB;;;;;;yDAMqD;IACrD,UAAU,CAAC,EAAE,sBAAsB,CAAA;CACpC;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,OAAO,CAAA;IACf,OAAO,EAAE,aAAa,CAAA;IACtB,YAAY,EAAE,aAAa,EAAE,CAAA;CAC9B;AAmBD,4CAA4C;AAC5C,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,EAAE,CAQzD;AAED,gDAAgD;AAChD,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,QAAQ,EACd,MAAM,EAAE,oBAAoB,GAC3B;IAAE,UAAU,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAiBxD;AAED,0CAA0C;AAC1C,wBAAsB,cAAc,CAClC,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC,OAAO,CAAC,EAC7C,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,kBAAkB,GAAG;IAAE,MAAM,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,aAAa,CAAA;CAAE,CAAC,CAyBxF"}
@@ -8,7 +8,7 @@
8
8
  * need those behaviours supply them via the `onReceipt` / `onDenied` hooks.
9
9
  */
10
10
  import { scopeAuthorizes, verifyDelegation } from '../core/delegation.js';
11
- import { verifyPassport } from '../verification/verify.js';
11
+ import { checkPassportTrustPosture } from '../verification/trust-posture.js';
12
12
  import { sign } from '../crypto/keys.js';
13
13
  import { canonicalizeForWrite } from '../core/canonical.js';
14
14
  function buildCrewReceipt(agentId, delegationId, privateKey, target, scope, status, summary) {
@@ -38,10 +38,10 @@ export function crewTaskToScopes(task) {
38
38
  export function verifyCrewMember(agentName, task, config) {
39
39
  const scopes = crewTaskToScopes(task);
40
40
  const mainScope = scopes[0];
41
- const pc = verifyPassport(config.passport);
42
- if (!pc.valid)
43
- return { authorized: false, reason: `Passport invalid: ${pc.errors.join(', ')}`, scope: mainScope };
44
- const dc = verifyDelegation(config.delegation);
41
+ const pc = checkPassportTrustPosture(config.passport, config);
42
+ if (!pc.ok)
43
+ return { authorized: false, reason: pc.detail ?? 'Passport rejected at the gate', scope: mainScope };
44
+ const dc = verifyDelegation(config.delegation, config.revocation);
45
45
  if (!dc.valid)
46
46
  return { authorized: false, reason: `Delegation invalid: ${dc.errors.join(', ')}`, scope: mainScope };
47
47
  for (const scope of scopes) {
@@ -1 +1 @@
1
- {"version":3,"file":"crewai.js","sourceRoot":"","sources":["../../../src/adapters/crewai.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,sCAAsC;AACtC;;;;;;GAMG;AAEH,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAwB3D,SAAS,gBAAgB,CACvB,OAAe,EAAE,YAAoB,EAAE,UAAkB,EACzD,MAAc,EAAE,KAAa,EAAE,MAA6B,EAAE,OAAe;IAE7E,MAAM,IAAI,GAAqC;QAC7C,SAAS,EAAE,aAAa,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;QAC3F,OAAO,EAAE,KAAK;QACd,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,OAAO,EAAE,YAAY;QACrB,MAAM,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE;QACvD,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE;QAC3B,eAAe,EAAE,EAAE;KACpB,CAAA;IACD,MAAM,GAAG,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,CAAA;IACxD,OAAO,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,GAAG,EAAmB,CAAA;AACrD,CAAC;AAED,4CAA4C;AAC5C,MAAM,UAAU,gBAAgB,CAAC,IAAc;IAC7C,MAAM,MAAM,GAAG,CAAC,gBAAgB,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA;IAC7C,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAA;QAC9B,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED,gDAAgD;AAChD,MAAM,UAAU,gBAAgB,CAC9B,SAAiB,EACjB,IAAc,EACd,MAA4B;IAE5B,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAA;IACrC,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;IAE3B,MAAM,EAAE,GAAG,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IAC1C,IAAI,CAAC,EAAE,CAAC,KAAK;QAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAA;IAElH,MAAM,EAAE,GAAG,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;IAC9C,IAAI,CAAC,EAAE,CAAC,KAAK;QAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,uBAAuB,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAA;IAEpH,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;YACrD,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,KAAK,6BAA6B,EAAE,KAAK,EAAE,CAAA;QAC3F,CAAC;IACH,CAAC;IAED,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,MAAM,CAAC,MAAM,oBAAoB,EAAE,KAAK,EAAE,SAAS,EAAE,CAAA;AACjG,CAAC;AAED,0CAA0C;AAC1C,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,IAAc,EACd,OAA6C,EAC7C,MAA4B;IAE5B,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;IACxD,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,MAAM,CAAA;IAEnD,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;QACtB,IAAI,MAAM,CAAC,QAAQ;YAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAA;QACzG,MAAM,OAAO,GAAG,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC,YAAY,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;QACxJ,IAAI,MAAM,CAAC,SAAS;YAAE,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;QAC/C,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,CAAA;IACxD,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAElC,4BAA4B;IAC5B,MAAM,YAAY,GAAoB,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QAClE,MAAM,KAAK,GAAG,SAAS,IAAI,EAAE,CAAA;QAC7B,OAAO,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,IAAI,mBAAmB,CAAC,CAAA;IAClJ,CAAC,CAAC,CAAA;IAEF,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACnD,MAAM,OAAO,GAAG,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC,YAAY,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,uBAAuB,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,QAAQ,CAAC,CAAA;IAClM,IAAI,MAAM,CAAC,SAAS;QAAE,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;IAC/C,KAAK,MAAM,EAAE,IAAI,YAAY,EAAE,CAAC;QAAC,IAAI,MAAM,CAAC,SAAS;YAAE,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;IAAC,CAAC;IAE7E,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,CAAA;AAC1C,CAAC"}
1
+ {"version":3,"file":"crewai.js","sourceRoot":"","sources":["../../../src/adapters/crewai.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@
7
7
  *
8
8
  * No Gonka SDK dependency. All types are local interfaces.
9
9
  */
10
+ import { type RevocationCheckOptions } from '../core/delegation.js';
10
11
  import type { Delegation, ActionReceipt, SignedPassport } from '../types/passport.js';
11
12
  export interface GonkaInferenceRequest {
12
13
  model: string;
@@ -27,6 +28,24 @@ export interface GonkaHostConfig {
27
28
  host: string;
28
29
  reason: string;
29
30
  }) => void;
31
+ /** Trust anchors for this gate: issuer public keys whose countersignature
32
+ * is accepted. A NON-EMPTY list requires a valid countersignature from one
33
+ * of them. An empty list, or omitting it, means this gate holds no
34
+ * anchors; it does not mean "trust anyone". */
35
+ trustedIssuers?: string[];
36
+ /** Explicit wildcard trust: admit a passport whose only authority is its
37
+ * own signature. Required to admit a self-signed credential, because a
38
+ * signature that verifies under a key the passport itself supplied is not
39
+ * an authorization by a trusted issuer. Default false. */
40
+ allowSelfSigned?: boolean;
41
+ /** Revocation posture applied to the delegation check before every
42
+ * governed call. This adapter is an execution gate: it verifies the
43
+ * delegation immediately before the tool runs, which is exactly where a
44
+ * caller who will not act on unknown revocation state says so. Pass
45
+ * { revocationCheckPolicy: 'fail_closed', cachedRevocationState } to
46
+ * refuse when revocation evidence is absent or stale. Omitted leaves the
47
+ * previous behaviour, signature and expiry only. */
48
+ revocation?: RevocationCheckOptions;
30
49
  }
31
50
  export interface GonkaInferenceReceipt {
32
51
  receipt: ActionReceipt;
@@ -1 +1 @@
1
- {"version":3,"file":"gonka.d.ts","sourceRoot":"","sources":["../../../src/adapters/gonka.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gonka.d.ts","sourceRoot":"","sources":["../../../src/adapters/gonka.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@
11
11
  */
12
12
  import { createHash } from 'node:crypto';
13
13
  import { scopeAuthorizes, verifyDelegation } from '../core/delegation.js';
14
- import { verifyPassport } from '../verification/verify.js';
14
+ import { checkPassportTrustPosture } from '../verification/trust-posture.js';
15
15
  import { sign } from '../crypto/keys.js';
16
16
  import { canonicalizeForWrite } from '../core/canonical.js';
17
17
  // ── Helpers ──
@@ -40,11 +40,11 @@ function getEpochKey(agentId, epochId) {
40
40
  /** Verify a host has authority to serve inference for a model */
41
41
  export function verifyGonkaHost(hostAddress, model, config) {
42
42
  const scope = `inference:serve:${model}`;
43
- const pc = verifyPassport(config.passport);
44
- if (!pc.valid) {
45
- return { authorized: false, reason: `Passport invalid: ${pc.errors.join(', ')}`, scope, hostAddress, model };
43
+ const pc = checkPassportTrustPosture(config.passport, config);
44
+ if (!pc.ok) {
45
+ return { authorized: false, reason: pc.detail ?? 'Passport rejected at the gate', scope, hostAddress, model };
46
46
  }
47
- const dc = verifyDelegation(config.delegation);
47
+ const dc = verifyDelegation(config.delegation, config.revocation);
48
48
  if (!dc.valid) {
49
49
  return { authorized: false, reason: `Delegation invalid: ${dc.errors.join(', ')}`, scope, hostAddress, model };
50
50
  }
@@ -1 +1 @@
1
- {"version":3,"file":"gonka.js","sourceRoot":"","sources":["../../../src/adapters/gonka.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gonka.js","sourceRoot":"","sources":["../../../src/adapters/gonka.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,sCAAsC;AACtC;;;;;;;;GAQG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAA+B,MAAM,uBAAuB,CAAA;AACtG,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAA;AAC5E,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AACxC,OAAO,EAAgB,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AA0DzE,gBAAgB;AAEhB,SAAS,MAAM,CAAC,IAAY;IAC1B,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AACxD,CAAC;AAED,SAAS,YAAY,CACnB,OAAe,EAAE,YAAoB,EAAE,UAAkB,EACzD,MAAc,EAAE,KAAa,EAAE,MAA6B,EAAE,OAAe;IAE7E,MAAM,IAAI,GAAqC;QAC7C,SAAS,EAAE,cAAc,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;QAC5F,OAAO,EAAE,KAAK;QACd,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,OAAO,EAAE,YAAY;QACrB,MAAM,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE;QAC7D,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE;QAC3B,eAAe,EAAE,EAAE;KACpB,CAAA;IACD,MAAM,GAAG,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,CAAA;IACxD,OAAO,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,GAAG,EAAmB,CAAA;AACrD,CAAC;AAED,+CAA+C;AAC/C,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAA;AAE/C,SAAS,WAAW,CAAC,OAAe,EAAE,OAAgB;IACpD,OAAO,GAAG,OAAO,IAAI,OAAO,IAAI,SAAS,EAAE,CAAA;AAC7C,CAAC;AAED,uBAAuB;AAEvB,iEAAiE;AACjE,MAAM,UAAU,eAAe,CAC7B,WAAmB,EACnB,KAAa,EACb,MAAuB;IAEvB,MAAM,KAAK,GAAG,mBAAmB,KAAK,EAAE,CAAA;IAExC,MAAM,EAAE,GAAG,yBAAyB,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IAC7D,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACX,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,IAAI,+BAA+B,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,CAAA;IAC/G,CAAC;IAED,MAAM,EAAE,GAAG,gBAAgB,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,CAAA;IACjE,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;QACd,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,uBAAuB,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,CAAA;IAChH,CAAC;IAED,IAAI,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrG,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,KAAK,yBAAyB,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,CAAA;IAC3G,CAAC;IAED,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;QACrD,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,KAAK,gCAAgC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,CAAA;IACvJ,CAAC;IAED,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,4BAA4B,KAAK,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,CAAA;AACrG,CAAC;AAED,0EAA0E;AAC1E,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,OAA8B,EAC9B,OAA0F,EAC1F,MAAuB;IAEvB,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAA;IACpE,MAAM,KAAK,GAAG,mBAAmB,OAAO,CAAC,KAAK,EAAE,CAAA;IAEhD,cAAc;IACd,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;IAC1D,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;QACtB,IAAI,MAAM,CAAC,QAAQ;YAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAA;QACpE,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,YAAY,EAAE,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;QAChK,IAAI,MAAM,CAAC,SAAS;YAAE,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;QAC/C,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,CAAA;IACxD,CAAC;IAED,mBAAmB;IACnB,IAAI,MAAM,CAAC,qBAAqB,IAAI,IAAI,EAAE,CAAC;QACzC,MAAM,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;QAC1E,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACzC,IAAI,KAAK,IAAI,MAAM,CAAC,qBAAqB,EAAE,CAAC;YAC1C,MAAM,MAAM,GAAG,wBAAwB,KAAK,IAAI,MAAM,CAAC,qBAAqB,wBAAwB,CAAA;YACpG,IAAI,MAAM,CAAC,QAAQ;gBAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;YACtD,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,YAAY,EAAE,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;YAC1J,IAAI,MAAM,CAAC,SAAS;gBAAE,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;YAC/C,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAA;QAC1C,CAAC;QACD,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;IACnC,CAAC;IAED,UAAU;IACV,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;IAErC,mDAAmD;IACnD,MAAM,aAAa,GAAG,MAAM,CAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;IAEzG,MAAM,OAAO,GAAG,YAAY,CAC1B,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,YAAY,EAAE,MAAM,CAAC,UAAU,EACnF,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAC/B,wBAAwB,MAAM,CAAC,UAAU,kBAAkB,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CACxF,CAAA;IACD,IAAI,MAAM,CAAC,SAAS;QAAE,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;IAE/C,OAAO;QACL,MAAM;QACN,OAAO,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,aAAa,EAAE;KACpH,CAAA;AACH,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,qBAAqB,CACnC,UAAkB,EAClB,cAAsB,EACtB,WAAmB,EACnB,YAAsB,EACtB,MAAuE;IAEvE,MAAM,IAAI,GAAqC;QAC7C,SAAS,EAAE,iBAAiB,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;QAC/F,OAAO,EAAE,KAAK;QACd,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO;QACzC,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC,YAAY;QAC5C,MAAM,EAAE;YACN,IAAI,EAAE,kBAAkB;YACxB,MAAM,EAAE,UAAU;YAClB,SAAS,EAAE,sBAAsB;SAClC;QACD,MAAM,EAAE;YACN,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,YAAY,UAAU,KAAK,cAAc,gBAAgB,WAAW,YAAY,YAAY,CAAC,MAAM,eAAe;SAC5H;QACD,eAAe,EAAE,YAAY;KAC9B,CAAA;IACD,MAAM,GAAG,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAA;IAC/D,OAAO,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,GAAG,EAAmB,CAAA;AACrD,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,0BAA0B,CACxC,UAAsB,EACtB,QAAwB;IAExB,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK;SAC5B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;SAC7C,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,CAAA;IAE9C,OAAO;QACL,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO;QAClC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG;QACvB,KAAK,EAAE,UAAU,CAAC,KAAK;QACvB,cAAc,EAAE,SAAS;KAC1B,CAAA;AACH,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,uBAAuB,CACrC,YAAoB,EACpB,mBAA2B,EAC3B,WAAmB;IAEnB,mDAAmD;IACnD,MAAM,eAAe,GAAG,mBAAmB,GAAG,WAAW,CAAA;IACzD,MAAM,gBAAgB,GAAG,eAAe,GAAG,CAAC,CAAA;IAC5C,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,gBAAgB,GAAG,IAAI,CAAC,CAAA;AACvD,CAAC;AAED,4DAA4D;AAC5D,MAAM,UAAU,sBAAsB,CACpC,WAAmB,EACnB,OAAe,EACf,MAAc,EACd,MAAwD;IAExD,MAAM,IAAI,GAAqC;QAC7C,SAAS,EAAE,YAAY,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;QAC1F,OAAO,EAAE,KAAK;QACd,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO;QACzC,YAAY,EAAE,gBAAgB;QAC9B,MAAM,EAAE;YACN,IAAI,EAAE,mBAAmB;YACzB,MAAM,EAAE,WAAW;YACnB,SAAS,EAAE,oBAAoB;SAChC;QACD,MAAM,EAAE;YACN,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,wBAAwB,WAAW,WAAW,OAAO,YAAY,MAAM,EAAE;SACnF;QACD,eAAe,EAAE,EAAE;KACpB,CAAA;IACD,MAAM,GAAG,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAA;IAC/D,OAAO,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,GAAG,EAAmB,CAAA;AACrD,CAAC"}
@@ -5,6 +5,7 @@
5
5
  * audit trail, gateway reporting) lives in the gateway — callers that need those
6
6
  * behaviours supply them via the `onReceipt` / `onDenied` hooks.
7
7
  */
8
+ import { type RevocationCheckOptions } from '../core/delegation.js';
8
9
  import type { Delegation, ActionReceipt, SignedPassport } from '../types/passport.js';
9
10
  export interface LangChainToolCall {
10
11
  name: string;
@@ -30,6 +31,24 @@ export interface LangChainGovernanceConfig {
30
31
  tool: string;
31
32
  reason: string;
32
33
  }) => void;
34
+ /** Trust anchors for this gate: issuer public keys whose countersignature
35
+ * is accepted. A NON-EMPTY list requires a valid countersignature from one
36
+ * of them. An empty list, or omitting it, means this gate holds no
37
+ * anchors; it does not mean "trust anyone". */
38
+ trustedIssuers?: string[];
39
+ /** Explicit wildcard trust: admit a passport whose only authority is its
40
+ * own signature. Required to admit a self-signed credential, because a
41
+ * signature that verifies under a key the passport itself supplied is not
42
+ * an authorization by a trusted issuer. Default false. */
43
+ allowSelfSigned?: boolean;
44
+ /** Revocation posture applied to the delegation check before every
45
+ * governed call. This adapter is an execution gate: it verifies the
46
+ * delegation immediately before the tool runs, which is exactly where a
47
+ * caller who will not act on unknown revocation state says so. Pass
48
+ * { revocationCheckPolicy: 'fail_closed', cachedRevocationState } to
49
+ * refuse when revocation evidence is absent or stale. Omitted leaves the
50
+ * previous behaviour, signature and expiry only. */
51
+ revocation?: RevocationCheckOptions;
33
52
  }
34
53
  /** Map LangChain tool name to APS scope */
35
54
  export declare function langchainToolToScope(toolName: string, scopeMapping?: Record<string, string>): string;
@@ -1 +1 @@
1
- {"version":3,"file":"langchain.d.ts","sourceRoot":"","sources":["../../../src/adapters/langchain.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AAMH,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAErF,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,EAAE,CAAC,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,OAAO,CAAA;IACf,OAAO,EAAE,aAAa,CAAA;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,IAAI,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,aAAa,CAAA;CACvB;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,cAAc,CAAA;IACxB,UAAU,EAAE,UAAU,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACrC,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,aAAa,KAAK,IAAI,CAAA;IACtC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;CAC5D;AAmBD,2CAA2C;AAC3C,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACpC,MAAM,CAGR;AAED,0CAA0C;AAC1C,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,iBAAiB,EACvB,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,EAC5D,MAAM,EAAE,yBAAyB,GAChC,OAAO,CAAC,kBAAkB,GAAG,gBAAgB,CAAC,CAsChD;AAED,mDAAmD;AACnD,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,yBAAyB,UAC3D,iBAAiB,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,oDAE9F"}
1
+ {"version":3,"file":"langchain.d.ts","sourceRoot":"","sources":["../../../src/adapters/langchain.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AAEH,OAAO,EAAqC,KAAK,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAItG,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAErF,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,EAAE,CAAC,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,OAAO,CAAA;IACf,OAAO,EAAE,aAAa,CAAA;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,IAAI,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,aAAa,CAAA;CACvB;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,cAAc,CAAA;IACxB,UAAU,EAAE,UAAU,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACrC,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,aAAa,KAAK,IAAI,CAAA;IACtC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IAC3D;;;oDAGgD;IAChD,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB;;;+DAG2D;IAC3D,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB;;;;;;yDAMqD;IACrD,UAAU,CAAC,EAAE,sBAAsB,CAAA;CACpC;AAmBD,2CAA2C;AAC3C,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACpC,MAAM,CAGR;AAED,0CAA0C;AAC1C,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,iBAAiB,EACvB,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,EAC5D,MAAM,EAAE,yBAAyB,GAChC,OAAO,CAAC,kBAAkB,GAAG,gBAAgB,CAAC,CAsChD;AAED,mDAAmD;AACnD,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,yBAAyB,UAC3D,iBAAiB,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,oDAE9F"}
@@ -8,7 +8,7 @@
8
8
  * behaviours supply them via the `onReceipt` / `onDenied` hooks.
9
9
  */
10
10
  import { scopeAuthorizes, verifyDelegation } from '../core/delegation.js';
11
- import { verifyPassport } from '../verification/verify.js';
11
+ import { checkPassportTrustPosture } from '../verification/trust-posture.js';
12
12
  import { sign } from '../crypto/keys.js';
13
13
  import { canonicalizeForWrite } from '../core/canonical.js';
14
14
  function buildLCReceipt(agentId, delegationId, privateKey, toolName, scope, status, summary) {
@@ -35,9 +35,9 @@ export async function governLangChainTool(call, execute, config) {
35
35
  const scope = langchainToolToScope(call.name, config.scopeMapping);
36
36
  const { passport, delegation, privateKey } = config;
37
37
  // Passport check
38
- const pc = verifyPassport(passport);
39
- if (!pc.valid) {
40
- const reason = `Passport invalid: ${pc.errors.join(', ')}`;
38
+ const pc = checkPassportTrustPosture(passport, config);
39
+ if (!pc.ok) {
40
+ const reason = pc.detail ?? 'Passport rejected at the gate';
41
41
  if (config.onDenied)
42
42
  config.onDenied({ tool: call.name, reason });
43
43
  const receipt = buildLCReceipt(passport.passport.agentId, delegation.delegationId, privateKey, call.name, scope, 'failure', reason);
@@ -46,7 +46,7 @@ export async function governLangChainTool(call, execute, config) {
46
46
  return { denied: true, reason, receipt };
47
47
  }
48
48
  // Delegation check
49
- const dc = verifyDelegation(delegation);
49
+ const dc = verifyDelegation(delegation, config.revocation);
50
50
  if (!dc.valid) {
51
51
  const reason = `Delegation invalid: ${dc.errors.join(', ')}`;
52
52
  if (config.onDenied)
@@ -1 +1 @@
1
- {"version":3,"file":"langchain.js","sourceRoot":"","sources":["../../../src/adapters/langchain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"langchain.js","sourceRoot":"","sources":["../../../src/adapters/langchain.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@
4
4
  * Works with any MCP server, any client. No MCP SDK dependency.
5
5
  * Wraps tool calls with APS delegation checks and signed receipts.
6
6
  */
7
+ import { type RevocationCheckOptions } from '../core/delegation.js';
7
8
  import type { Delegation, ActionReceipt, SignedPassport } from '../types/passport.js';
8
9
  export interface MCPToolCall {
9
10
  name: string;
@@ -21,6 +22,24 @@ export interface MCPGovernanceConfig {
21
22
  tool: string;
22
23
  reason: string;
23
24
  }) => void;
25
+ /** Trust anchors for this gate: issuer public keys whose countersignature
26
+ * is accepted. A NON-EMPTY list requires a valid countersignature from one
27
+ * of them. An empty list, or omitting it, means this gate holds no
28
+ * anchors; it does not mean "trust anyone". */
29
+ trustedIssuers?: string[];
30
+ /** Explicit wildcard trust: admit a passport whose only authority is its
31
+ * own signature. Required to admit a self-signed credential, because a
32
+ * signature that verifies under a key the passport itself supplied is not
33
+ * an authorization by a trusted issuer. Default false. */
34
+ allowSelfSigned?: boolean;
35
+ /** Revocation posture applied to the delegation check before every
36
+ * governed call. This adapter is an execution gate: it verifies the
37
+ * delegation immediately before the tool runs, which is exactly where a
38
+ * caller who will not act on unknown revocation state says so. Pass
39
+ * { revocationCheckPolicy: 'fail_closed', cachedRevocationState } to
40
+ * refuse when revocation evidence is absent or stale. Omitted leaves the
41
+ * previous behaviour, signature and expiry only. */
42
+ revocation?: RevocationCheckOptions;
24
43
  }
25
44
  /** Derive APS scope from MCP tool call */
26
45
  export declare function mcpToolToScope(call: MCPToolCall, config: Pick<MCPGovernanceConfig, 'scopePrefix' | 'destructiveTools'>): string;
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../../src/adapters/mcp.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AAMH,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAIrF,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAClC,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,cAAc,CAAA;IACxB,UAAU,EAAE,UAAU,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC3B,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,aAAa,KAAK,IAAI,CAAA;IACtC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;CAC5D;AA+BD,0CAA0C;AAC1C,wBAAgB,cAAc,CAC5B,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,IAAI,CAAC,mBAAmB,EAAE,aAAa,GAAG,kBAAkB,CAAC,GACpE,MAAM,CAMR;AAED,oCAAoC;AACpC,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,EAC5D,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,aAAa,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,aAAa,CAAA;CAAE,CAAC,CAkCjH;AAED,wDAAwD;AACxD,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,mBAAmB,UAC1D,WAAW,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC;YAtCpE,OAAO;aAAW,aAAa;;YAAe,IAAI;YAAU,MAAM;aAAW,aAAa;GAwC9G"}
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../../src/adapters/mcp.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,OAAO,EAAqC,KAAK,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAItG,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAIrF,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAClC,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,cAAc,CAAA;IACxB,UAAU,EAAE,UAAU,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC3B,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,aAAa,KAAK,IAAI,CAAA;IACtC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IAC3D;;;oDAGgD;IAChD,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB;;;+DAG2D;IAC3D,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB;;;;;;yDAMqD;IACrD,UAAU,CAAC,EAAE,sBAAsB,CAAA;CACpC;AA+BD,0CAA0C;AAC1C,wBAAgB,cAAc,CAC5B,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,IAAI,CAAC,mBAAmB,EAAE,aAAa,GAAG,kBAAkB,CAAC,GACpE,MAAM,CAMR;AAED,oCAAoC;AACpC,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,EAC5D,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,aAAa,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,aAAa,CAAA;CAAE,CAAC,CAkCjH;AAED,wDAAwD;AACxD,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,mBAAmB,UAC1D,WAAW,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC;YAtCpE,OAAO;aAAW,aAAa;;YAAe,IAAI;YAAU,MAAM;aAAW,aAAa;GAwC9G"}
@@ -7,7 +7,7 @@
7
7
  * Wraps tool calls with APS delegation checks and signed receipts.
8
8
  */
9
9
  import { scopeAuthorizes, verifyDelegation } from '../core/delegation.js';
10
- import { verifyPassport } from '../verification/verify.js';
10
+ import { checkPassportTrustPosture } from '../verification/trust-posture.js';
11
11
  import { sign } from '../crypto/keys.js';
12
12
  import { canonicalizeForWrite } from '../core/canonical.js';
13
13
  // ── Helpers ──
@@ -43,9 +43,9 @@ export function mcpToolToScope(call, config) {
43
43
  export async function governMCPToolCall(call, execute, config) {
44
44
  const scope = mcpToolToScope(call, config);
45
45
  const { passport, delegation, privateKey } = config;
46
- const pc = verifyPassport(passport);
47
- if (!pc.valid) {
48
- const reason = `Passport invalid: ${pc.errors.join(', ')}`;
46
+ const pc = checkPassportTrustPosture(passport, config);
47
+ if (!pc.ok) {
48
+ const reason = pc.detail ?? 'Passport rejected at the gate';
49
49
  if (config.onDenied)
50
50
  config.onDenied({ tool: call.name, reason });
51
51
  const receipt = buildMCPReceipt(passport.passport.agentId, delegation.delegationId, privateKey, call.name, scope, 'failure', reason);
@@ -53,7 +53,7 @@ export async function governMCPToolCall(call, execute, config) {
53
53
  config.onReceipt(receipt);
54
54
  return { denied: true, reason, receipt };
55
55
  }
56
- const dc = verifyDelegation(delegation);
56
+ const dc = verifyDelegation(delegation, config.revocation);
57
57
  if (!dc.valid) {
58
58
  const reason = `Delegation invalid: ${dc.errors.join(', ')}`;
59
59
  if (config.onDenied)
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../../src/adapters/mcp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../../src/adapters/mcp.ts"],"names":[],"mappings":"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"}
@@ -513,8 +513,11 @@ function fallbackManual(owner, repo, json, agentName) {
513
513
  function cmdVerify() {
514
514
  const file = args[1];
515
515
  if (!file) {
516
- console.error('Usage: passport verify <passport.json>');
517
- console.error(' passport verify <agent.json>');
516
+ console.error('Usage: passport verify <passport.json> [--trusted-issuer <hex> ...]');
517
+ console.error(' passport verify <agent.json> [--trusted-issuer <hex> ...]');
518
+ console.error('');
519
+ console.error('Without --trusted-issuer nothing external vouches for the passport;');
520
+ console.error('the report says SELF-SIGNED rather than TRUSTED.');
518
521
  process.exit(1);
519
522
  }
520
523
  if (!existsSync(file)) {
@@ -525,13 +528,30 @@ function cmdVerify() {
525
528
  // Support both full agent files and passport-only files
526
529
  const passport = data.passport || data;
527
530
  const attestation = data.attestation || null;
528
- const trust = verifySocialContract(passport, attestation);
531
+ // --trusted-issuer may be repeated or comma-separated. Without it there is
532
+ // no trust root to check against and the report says so instead of
533
+ // printing TRUSTED over a passport that vouches for itself.
534
+ const trustedIssuers = (getFlags('--trusted-issuer'))
535
+ .flatMap(v => v.split(','))
536
+ .map(v => v.trim())
537
+ .filter(v => v.length > 0);
538
+ const trust = verifySocialContract(passport, attestation, { trustedIssuers });
539
+ // Four states, not two. The passport's own soundness and the presence of a
540
+ // trust root are separate axes, so a passport that verifies is never
541
+ // reported as a failure just because no issuer vouched for it.
529
542
  console.log('');
530
- if (trust.overall) {
531
- console.log('✅ TRUSTED');
543
+ if (!trust.structurallyValid) {
544
+ console.log('❌ DOES NOT VERIFY');
545
+ }
546
+ else if (trust.issuerTrusted) {
547
+ console.log('✅ TRUSTED (countersigned by a trusted issuer)');
548
+ }
549
+ else if (trust.issuerChecked) {
550
+ console.log('❌ NOT TRUSTED — the passport verifies, but no supplied issuer countersigned it');
532
551
  }
533
552
  else {
534
- console.log('❌ NOT TRUSTED');
553
+ console.log('⚠️ SELF-SIGNED — verifies, but no trusted issuer vouches for it');
554
+ console.log(' Pass --trusted-issuer <issuer-public-key> to check against a trust root.');
535
555
  }
536
556
  console.log('');
537
557
  console.log(` Identity: ${trust.identity.valid ? '✓ valid' : '✗ INVALID'}`);
@@ -539,6 +559,11 @@ function cmdVerify() {
539
559
  for (const e of trust.identity.errors)
540
560
  console.log(` ✗ ${e}`);
541
561
  }
562
+ for (const w of trust.identity.warnings)
563
+ console.log(` ! ${w}`);
564
+ console.log(` Issuer: ${trust.issuerTrusted ? '✓ trusted' : trust.issuerChecked ? '✗ NOT TRUSTED' : '— no trust root supplied'}`);
565
+ for (const e of trust.issuerErrors)
566
+ console.log(` ✗ ${e}`);
542
567
  if (trust.values) {
543
568
  console.log(` Values: ${trust.values.valid ? '✓ attested' : '✗ INVALID'}`);
544
569
  if (trust.values.errors.length) {
@@ -1007,7 +1032,11 @@ function cmdAgoraRead() {
1007
1032
  console.log('═'.repeat(60));
1008
1033
  for (const msg of messages) {
1009
1034
  const v = verifyAgoraMessage(msg, registry);
1010
- const verifyIcon = v.valid ? (v.knownAgent ? '✅' : '⚠️') : '❌';
1035
+ // Three states, not two: verified member, authentic signature from an
1036
+ // author the registry does not list, and a signature that did not verify.
1037
+ // A message from an unlisted author is no longer `valid`, so the middle
1038
+ // state now reads off signatureValid rather than off valid.
1039
+ const verifyIcon = !v.signatureValid ? '❌' : (v.knownAgent ? '✅' : '⚠️');
1011
1040
  const typeIcon = msg.type === 'announcement' ? '📢' :
1012
1041
  msg.type === 'proposal' ? '📋' :
1013
1042
  msg.type === 'request' ? '🔧' :
@@ -1139,7 +1168,7 @@ function cmdHelp() {
1139
1168
  --capabilities <cap1,cap2>
1140
1169
 
1141
1170
  verify Verify another agent's passport
1142
- passport verify <agent.json or passport.json>
1171
+ passport verify <agent.json or passport.json> [--trusted-issuer <hex>]
1143
1172
 
1144
1173
  verify-bundle Verify an evidence bundle: passport verify-bundle <bundle.json> [--json] [--strict]
1145
1174
 
@@ -1181,6 +1210,16 @@ function getFlag(flag) {
1181
1210
  return undefined;
1182
1211
  return args[idx + 1];
1183
1212
  }
1213
+ /** Every value given for a repeatable flag, in argv order. getFlag returns
1214
+ * only the first, which silently drops the rest of a trust-anchor list. */
1215
+ function getFlags(flag) {
1216
+ const values = [];
1217
+ for (let i = 0; i < args.length; i++) {
1218
+ if (args[i] === flag && i + 1 < args.length)
1219
+ values.push(args[i + 1]);
1220
+ }
1221
+ return values;
1222
+ }
1184
1223
  /**
1185
1224
  * Read an authority-bearing numeric flag as exactly one of three outcomes: ABSENT
1186
1225
  * (the caller applies its own default), a VALID number, or a TYPED ERROR that exits