@mcp-i/core 0.1.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 (226) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +390 -0
  3. package/dist/auth/handshake.d.ts +104 -0
  4. package/dist/auth/handshake.d.ts.map +1 -0
  5. package/dist/auth/handshake.js +230 -0
  6. package/dist/auth/handshake.js.map +1 -0
  7. package/dist/auth/index.d.ts +3 -0
  8. package/dist/auth/index.d.ts.map +1 -0
  9. package/dist/auth/index.js +2 -0
  10. package/dist/auth/index.js.map +1 -0
  11. package/dist/auth/types.d.ts +31 -0
  12. package/dist/auth/types.d.ts.map +1 -0
  13. package/dist/auth/types.js +7 -0
  14. package/dist/auth/types.js.map +1 -0
  15. package/dist/delegation/audience-validator.d.ts +9 -0
  16. package/dist/delegation/audience-validator.d.ts.map +1 -0
  17. package/dist/delegation/audience-validator.js +17 -0
  18. package/dist/delegation/audience-validator.js.map +1 -0
  19. package/dist/delegation/bitstring.d.ts +37 -0
  20. package/dist/delegation/bitstring.d.ts.map +1 -0
  21. package/dist/delegation/bitstring.js +117 -0
  22. package/dist/delegation/bitstring.js.map +1 -0
  23. package/dist/delegation/cascading-revocation.d.ts +45 -0
  24. package/dist/delegation/cascading-revocation.d.ts.map +1 -0
  25. package/dist/delegation/cascading-revocation.js +148 -0
  26. package/dist/delegation/cascading-revocation.js.map +1 -0
  27. package/dist/delegation/delegation-graph.d.ts +49 -0
  28. package/dist/delegation/delegation-graph.d.ts.map +1 -0
  29. package/dist/delegation/delegation-graph.js +99 -0
  30. package/dist/delegation/delegation-graph.js.map +1 -0
  31. package/dist/delegation/did-key-resolver.d.ts +64 -0
  32. package/dist/delegation/did-key-resolver.d.ts.map +1 -0
  33. package/dist/delegation/did-key-resolver.js +154 -0
  34. package/dist/delegation/did-key-resolver.js.map +1 -0
  35. package/dist/delegation/did-web-resolver.d.ts +83 -0
  36. package/dist/delegation/did-web-resolver.d.ts.map +1 -0
  37. package/dist/delegation/did-web-resolver.js +218 -0
  38. package/dist/delegation/did-web-resolver.js.map +1 -0
  39. package/dist/delegation/index.d.ts +21 -0
  40. package/dist/delegation/index.d.ts.map +1 -0
  41. package/dist/delegation/index.js +21 -0
  42. package/dist/delegation/index.js.map +1 -0
  43. package/dist/delegation/outbound-headers.d.ts +81 -0
  44. package/dist/delegation/outbound-headers.d.ts.map +1 -0
  45. package/dist/delegation/outbound-headers.js +139 -0
  46. package/dist/delegation/outbound-headers.js.map +1 -0
  47. package/dist/delegation/outbound-proof.d.ts +43 -0
  48. package/dist/delegation/outbound-proof.d.ts.map +1 -0
  49. package/dist/delegation/outbound-proof.js +52 -0
  50. package/dist/delegation/outbound-proof.js.map +1 -0
  51. package/dist/delegation/statuslist-manager.d.ts +44 -0
  52. package/dist/delegation/statuslist-manager.d.ts.map +1 -0
  53. package/dist/delegation/statuslist-manager.js +126 -0
  54. package/dist/delegation/statuslist-manager.js.map +1 -0
  55. package/dist/delegation/storage/memory-graph-storage.d.ts +70 -0
  56. package/dist/delegation/storage/memory-graph-storage.d.ts.map +1 -0
  57. package/dist/delegation/storage/memory-graph-storage.js +145 -0
  58. package/dist/delegation/storage/memory-graph-storage.js.map +1 -0
  59. package/dist/delegation/storage/memory-statuslist-storage.d.ts +19 -0
  60. package/dist/delegation/storage/memory-statuslist-storage.d.ts.map +1 -0
  61. package/dist/delegation/storage/memory-statuslist-storage.js +33 -0
  62. package/dist/delegation/storage/memory-statuslist-storage.js.map +1 -0
  63. package/dist/delegation/utils.d.ts +49 -0
  64. package/dist/delegation/utils.d.ts.map +1 -0
  65. package/dist/delegation/utils.js +131 -0
  66. package/dist/delegation/utils.js.map +1 -0
  67. package/dist/delegation/vc-issuer.d.ts +56 -0
  68. package/dist/delegation/vc-issuer.d.ts.map +1 -0
  69. package/dist/delegation/vc-issuer.js +80 -0
  70. package/dist/delegation/vc-issuer.js.map +1 -0
  71. package/dist/delegation/vc-verifier.d.ts +112 -0
  72. package/dist/delegation/vc-verifier.d.ts.map +1 -0
  73. package/dist/delegation/vc-verifier.js +280 -0
  74. package/dist/delegation/vc-verifier.js.map +1 -0
  75. package/dist/index.d.ts +45 -0
  76. package/dist/index.d.ts.map +1 -0
  77. package/dist/index.js +53 -0
  78. package/dist/index.js.map +1 -0
  79. package/dist/logging/index.d.ts +2 -0
  80. package/dist/logging/index.d.ts.map +1 -0
  81. package/dist/logging/index.js +2 -0
  82. package/dist/logging/index.js.map +1 -0
  83. package/dist/logging/logger.d.ts +23 -0
  84. package/dist/logging/logger.d.ts.map +1 -0
  85. package/dist/logging/logger.js +82 -0
  86. package/dist/logging/logger.js.map +1 -0
  87. package/dist/middleware/index.d.ts +7 -0
  88. package/dist/middleware/index.d.ts.map +1 -0
  89. package/dist/middleware/index.js +7 -0
  90. package/dist/middleware/index.js.map +1 -0
  91. package/dist/middleware/with-mcpi.d.ts +152 -0
  92. package/dist/middleware/with-mcpi.d.ts.map +1 -0
  93. package/dist/middleware/with-mcpi.js +472 -0
  94. package/dist/middleware/with-mcpi.js.map +1 -0
  95. package/dist/proof/errors.d.ts +49 -0
  96. package/dist/proof/errors.d.ts.map +1 -0
  97. package/dist/proof/errors.js +61 -0
  98. package/dist/proof/errors.js.map +1 -0
  99. package/dist/proof/generator.d.ts +65 -0
  100. package/dist/proof/generator.d.ts.map +1 -0
  101. package/dist/proof/generator.js +163 -0
  102. package/dist/proof/generator.js.map +1 -0
  103. package/dist/proof/index.d.ts +4 -0
  104. package/dist/proof/index.d.ts.map +1 -0
  105. package/dist/proof/index.js +4 -0
  106. package/dist/proof/index.js.map +1 -0
  107. package/dist/proof/verifier.d.ts +108 -0
  108. package/dist/proof/verifier.d.ts.map +1 -0
  109. package/dist/proof/verifier.js +299 -0
  110. package/dist/proof/verifier.js.map +1 -0
  111. package/dist/providers/base.d.ts +64 -0
  112. package/dist/providers/base.d.ts.map +1 -0
  113. package/dist/providers/base.js +19 -0
  114. package/dist/providers/base.js.map +1 -0
  115. package/dist/providers/index.d.ts +3 -0
  116. package/dist/providers/index.d.ts.map +1 -0
  117. package/dist/providers/index.js +3 -0
  118. package/dist/providers/index.js.map +1 -0
  119. package/dist/providers/memory.d.ts +33 -0
  120. package/dist/providers/memory.d.ts.map +1 -0
  121. package/dist/providers/memory.js +102 -0
  122. package/dist/providers/memory.js.map +1 -0
  123. package/dist/session/index.d.ts +2 -0
  124. package/dist/session/index.d.ts.map +1 -0
  125. package/dist/session/index.js +2 -0
  126. package/dist/session/index.js.map +1 -0
  127. package/dist/session/manager.d.ts +77 -0
  128. package/dist/session/manager.d.ts.map +1 -0
  129. package/dist/session/manager.js +251 -0
  130. package/dist/session/manager.js.map +1 -0
  131. package/dist/types/protocol.d.ts +320 -0
  132. package/dist/types/protocol.d.ts.map +1 -0
  133. package/dist/types/protocol.js +229 -0
  134. package/dist/types/protocol.js.map +1 -0
  135. package/dist/utils/base58.d.ts +31 -0
  136. package/dist/utils/base58.d.ts.map +1 -0
  137. package/dist/utils/base58.js +104 -0
  138. package/dist/utils/base58.js.map +1 -0
  139. package/dist/utils/base64.d.ts +13 -0
  140. package/dist/utils/base64.d.ts.map +1 -0
  141. package/dist/utils/base64.js +99 -0
  142. package/dist/utils/base64.js.map +1 -0
  143. package/dist/utils/crypto-service.d.ts +37 -0
  144. package/dist/utils/crypto-service.d.ts.map +1 -0
  145. package/dist/utils/crypto-service.js +153 -0
  146. package/dist/utils/crypto-service.js.map +1 -0
  147. package/dist/utils/did-helpers.d.ts +156 -0
  148. package/dist/utils/did-helpers.d.ts.map +1 -0
  149. package/dist/utils/did-helpers.js +193 -0
  150. package/dist/utils/did-helpers.js.map +1 -0
  151. package/dist/utils/ed25519-constants.d.ts +18 -0
  152. package/dist/utils/ed25519-constants.d.ts.map +1 -0
  153. package/dist/utils/ed25519-constants.js +21 -0
  154. package/dist/utils/ed25519-constants.js.map +1 -0
  155. package/dist/utils/index.d.ts +5 -0
  156. package/dist/utils/index.d.ts.map +1 -0
  157. package/dist/utils/index.js +5 -0
  158. package/dist/utils/index.js.map +1 -0
  159. package/package.json +105 -0
  160. package/src/__tests__/integration/full-flow.test.ts +362 -0
  161. package/src/__tests__/providers/base.test.ts +173 -0
  162. package/src/__tests__/providers/memory.test.ts +332 -0
  163. package/src/__tests__/utils/mock-providers.ts +319 -0
  164. package/src/__tests__/utils/node-crypto-provider.ts +93 -0
  165. package/src/auth/handshake.ts +411 -0
  166. package/src/auth/index.ts +11 -0
  167. package/src/auth/types.ts +40 -0
  168. package/src/delegation/__tests__/audience-validator.test.ts +110 -0
  169. package/src/delegation/__tests__/bitstring.test.ts +346 -0
  170. package/src/delegation/__tests__/cascading-revocation.test.ts +624 -0
  171. package/src/delegation/__tests__/delegation-graph.test.ts +623 -0
  172. package/src/delegation/__tests__/did-key-resolver.test.ts +265 -0
  173. package/src/delegation/__tests__/did-web-resolver.test.ts +467 -0
  174. package/src/delegation/__tests__/outbound-headers.test.ts +230 -0
  175. package/src/delegation/__tests__/outbound-proof.test.ts +179 -0
  176. package/src/delegation/__tests__/statuslist-manager.test.ts +515 -0
  177. package/src/delegation/__tests__/utils.test.ts +185 -0
  178. package/src/delegation/__tests__/vc-issuer.test.ts +487 -0
  179. package/src/delegation/__tests__/vc-verifier.test.ts +1029 -0
  180. package/src/delegation/audience-validator.ts +24 -0
  181. package/src/delegation/bitstring.ts +160 -0
  182. package/src/delegation/cascading-revocation.ts +224 -0
  183. package/src/delegation/delegation-graph.ts +143 -0
  184. package/src/delegation/did-key-resolver.ts +181 -0
  185. package/src/delegation/did-web-resolver.ts +270 -0
  186. package/src/delegation/index.ts +33 -0
  187. package/src/delegation/outbound-headers.ts +193 -0
  188. package/src/delegation/outbound-proof.ts +90 -0
  189. package/src/delegation/statuslist-manager.ts +219 -0
  190. package/src/delegation/storage/__tests__/memory-graph-storage.test.ts +366 -0
  191. package/src/delegation/storage/__tests__/memory-statuslist-storage.test.ts +228 -0
  192. package/src/delegation/storage/memory-graph-storage.ts +178 -0
  193. package/src/delegation/storage/memory-statuslist-storage.ts +42 -0
  194. package/src/delegation/utils.ts +189 -0
  195. package/src/delegation/vc-issuer.ts +137 -0
  196. package/src/delegation/vc-verifier.ts +440 -0
  197. package/src/index.ts +264 -0
  198. package/src/logging/__tests__/logger.test.ts +366 -0
  199. package/src/logging/index.ts +6 -0
  200. package/src/logging/logger.ts +91 -0
  201. package/src/middleware/__tests__/with-mcpi.test.ts +504 -0
  202. package/src/middleware/index.ts +16 -0
  203. package/src/middleware/with-mcpi.ts +766 -0
  204. package/src/proof/__tests__/proof-generator.test.ts +483 -0
  205. package/src/proof/__tests__/verifier.test.ts +488 -0
  206. package/src/proof/errors.ts +75 -0
  207. package/src/proof/generator.ts +255 -0
  208. package/src/proof/index.ts +22 -0
  209. package/src/proof/verifier.ts +449 -0
  210. package/src/providers/base.ts +68 -0
  211. package/src/providers/index.ts +15 -0
  212. package/src/providers/memory.ts +130 -0
  213. package/src/session/__tests__/session-manager.test.ts +342 -0
  214. package/src/session/index.ts +7 -0
  215. package/src/session/manager.ts +332 -0
  216. package/src/types/protocol.ts +596 -0
  217. package/src/utils/__tests__/base58.test.ts +281 -0
  218. package/src/utils/__tests__/base64.test.ts +239 -0
  219. package/src/utils/__tests__/crypto-service.test.ts +530 -0
  220. package/src/utils/__tests__/did-helpers.test.ts +156 -0
  221. package/src/utils/base58.ts +115 -0
  222. package/src/utils/base64.ts +116 -0
  223. package/src/utils/crypto-service.ts +209 -0
  224. package/src/utils/did-helpers.ts +210 -0
  225. package/src/utils/ed25519-constants.ts +23 -0
  226. package/src/utils/index.ts +9 -0
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Delegation Credential Issuer (Platform-Agnostic)
3
+ *
4
+ * Issues W3C Verifiable Credentials for delegations with Ed25519 signatures.
5
+ * Follows the Python POC design (Delegation-Service.md:136-163) where
6
+ * delegations are issued AS W3C VCs.
7
+ *
8
+ * Related Spec: MCP-I §4.1, §4.2, W3C VC Data Model 1.1
9
+ */
10
+ import type { DelegationCredential, DelegationRecord, CredentialStatus, Proof } from '../types/protocol.js';
11
+ export interface IssueDelegationOptions {
12
+ id?: string;
13
+ issuanceDate?: string;
14
+ expirationDate?: string;
15
+ credentialStatus?: CredentialStatus;
16
+ additionalContexts?: string[];
17
+ }
18
+ export interface VCSigningFunction {
19
+ (canonicalVC: string, issuerDid: string, kid: string): Promise<Proof>;
20
+ }
21
+ export interface IdentityProvider {
22
+ getDid(): string;
23
+ getKeyId(): string;
24
+ getPrivateKey(): string;
25
+ }
26
+ export declare class DelegationCredentialIssuer {
27
+ private identity;
28
+ private signingFunction;
29
+ constructor(identity: IdentityProvider, signingFunction: VCSigningFunction);
30
+ issueDelegationCredential(delegation: DelegationRecord, options?: IssueDelegationOptions): Promise<DelegationCredential>;
31
+ /**
32
+ * Create and issue a delegation credential in one step.
33
+ *
34
+ * Constructs a DelegationRecord from the provided parameters and wraps it
35
+ * in a signed W3C Verifiable Credential.
36
+ *
37
+ * @param params - Delegation parameters including issuer/subject DIDs, constraints, etc.
38
+ * @param options - Optional VC issuance options (id, dates, status, contexts)
39
+ * @returns Signed W3C Delegation Credential
40
+ */
41
+ createAndIssueDelegation(params: {
42
+ id: string;
43
+ issuerDid: string;
44
+ subjectDid: string;
45
+ controller?: string;
46
+ parentId?: string;
47
+ constraints: DelegationRecord['constraints'];
48
+ status?: DelegationRecord['status'];
49
+ metadata?: Record<string, unknown>;
50
+ }, options?: IssueDelegationOptions): Promise<DelegationCredential>;
51
+ private canonicalizeVC;
52
+ getIssuerDid(): string;
53
+ getIssuerKeyId(): string;
54
+ }
55
+ export declare function createDelegationIssuer(identity: IdentityProvider, signingFunction: VCSigningFunction): DelegationCredentialIssuer;
56
+ //# sourceMappingURL=vc-issuer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vc-issuer.d.ts","sourceRoot":"","sources":["../../src/delegation/vc-issuer.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,KAAK,EACN,MAAM,sBAAsB,CAAC;AAI9B,MAAM,WAAW,sBAAsB;IACrC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,iBAAiB;IAChC,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;CACvE;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,IAAI,MAAM,CAAC;IACjB,QAAQ,IAAI,MAAM,CAAC;IACnB,aAAa,IAAI,MAAM,CAAC;CACzB;AAED,qBAAa,0BAA0B;IAEnC,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,eAAe;gBADf,QAAQ,EAAE,gBAAgB,EAC1B,eAAe,EAAE,iBAAiB;IAGtC,yBAAyB,CAC7B,UAAU,EAAE,gBAAgB,EAC5B,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,oBAAoB,CAAC;IA8BhC;;;;;;;;;OASG;IACG,wBAAwB,CAC5B,MAAM,EAAE;QACN,EAAE,EAAE,MAAM,CAAC;QACX,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC;QAC7C,MAAM,CAAC,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACpC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACpC,EACD,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,oBAAoB,CAAC;IAoBhC,OAAO,CAAC,cAAc;IAItB,YAAY,IAAI,MAAM;IAItB,cAAc,IAAI,MAAM;CAGzB;AAED,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,gBAAgB,EAC1B,eAAe,EAAE,iBAAiB,GACjC,0BAA0B,CAE5B"}
@@ -0,0 +1,80 @@
1
+ /**
2
+ * Delegation Credential Issuer (Platform-Agnostic)
3
+ *
4
+ * Issues W3C Verifiable Credentials for delegations with Ed25519 signatures.
5
+ * Follows the Python POC design (Delegation-Service.md:136-163) where
6
+ * delegations are issued AS W3C VCs.
7
+ *
8
+ * Related Spec: MCP-I §4.1, §4.2, W3C VC Data Model 1.1
9
+ */
10
+ import { wrapDelegationAsVC } from '../types/protocol.js';
11
+ import { canonicalizeJSON } from './utils.js';
12
+ export class DelegationCredentialIssuer {
13
+ identity;
14
+ signingFunction;
15
+ constructor(identity, signingFunction) {
16
+ this.identity = identity;
17
+ this.signingFunction = signingFunction;
18
+ }
19
+ async issueDelegationCredential(delegation, options = {}) {
20
+ let unsignedVC = wrapDelegationAsVC(delegation, {
21
+ id: options.id,
22
+ issuanceDate: options.issuanceDate,
23
+ expirationDate: options.expirationDate,
24
+ credentialStatus: options.credentialStatus,
25
+ });
26
+ if (options.additionalContexts && options.additionalContexts.length > 0) {
27
+ const existingContexts = unsignedVC['@context'];
28
+ unsignedVC = {
29
+ ...unsignedVC,
30
+ '@context': [...existingContexts, ...options.additionalContexts],
31
+ };
32
+ }
33
+ const canonicalVC = this.canonicalizeVC(unsignedVC);
34
+ const proof = await this.signingFunction(canonicalVC, this.identity.getDid(), this.identity.getKeyId());
35
+ return {
36
+ ...unsignedVC,
37
+ proof,
38
+ };
39
+ }
40
+ /**
41
+ * Create and issue a delegation credential in one step.
42
+ *
43
+ * Constructs a DelegationRecord from the provided parameters and wraps it
44
+ * in a signed W3C Verifiable Credential.
45
+ *
46
+ * @param params - Delegation parameters including issuer/subject DIDs, constraints, etc.
47
+ * @param options - Optional VC issuance options (id, dates, status, contexts)
48
+ * @returns Signed W3C Delegation Credential
49
+ */
50
+ async createAndIssueDelegation(params, options = {}) {
51
+ const now = Date.now();
52
+ const delegation = {
53
+ id: params.id,
54
+ issuerDid: params.issuerDid,
55
+ subjectDid: params.subjectDid,
56
+ controller: params.controller,
57
+ vcId: options.id || `urn:uuid:${params.id}`,
58
+ parentId: params.parentId,
59
+ constraints: params.constraints,
60
+ signature: '',
61
+ status: params.status || 'active',
62
+ createdAt: now,
63
+ metadata: params.metadata,
64
+ };
65
+ return this.issueDelegationCredential(delegation, options);
66
+ }
67
+ canonicalizeVC(vc) {
68
+ return canonicalizeJSON(vc);
69
+ }
70
+ getIssuerDid() {
71
+ return this.identity.getDid();
72
+ }
73
+ getIssuerKeyId() {
74
+ return this.identity.getKeyId();
75
+ }
76
+ }
77
+ export function createDelegationIssuer(identity, signingFunction) {
78
+ return new DelegationCredentialIssuer(identity, signingFunction);
79
+ }
80
+ //# sourceMappingURL=vc-issuer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vc-issuer.js","sourceRoot":"","sources":["../../src/delegation/vc-issuer.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAQH,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAoB9C,MAAM,OAAO,0BAA0B;IAE3B;IACA;IAFV,YACU,QAA0B,EAC1B,eAAkC;QADlC,aAAQ,GAAR,QAAQ,CAAkB;QAC1B,oBAAe,GAAf,eAAe,CAAmB;IACzC,CAAC;IAEJ,KAAK,CAAC,yBAAyB,CAC7B,UAA4B,EAC5B,UAAkC,EAAE;QAEpC,IAAI,UAAU,GAAG,kBAAkB,CAAC,UAAU,EAAE;YAC9C,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;SAC3C,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,kBAAkB,IAAI,OAAO,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxE,MAAM,gBAAgB,GAAG,UAAU,CAAC,UAAU,CAA4C,CAAC;YAC3F,UAAU,GAAG;gBACX,GAAG,UAAU;gBACb,UAAU,EAAE,CAAC,GAAG,gBAAgB,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC;aACjE,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QAEpD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CACtC,WAAW,EACX,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EACtB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CACzB,CAAC;QAEF,OAAO;YACL,GAAG,UAAU;YACb,KAAK;SACkB,CAAC;IAC5B,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,wBAAwB,CAC5B,MASC,EACD,UAAkC,EAAE;QAEpC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEvB,MAAM,UAAU,GAAqB;YACnC,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,IAAI,EAAE,OAAO,CAAC,EAAE,IAAI,YAAY,MAAM,CAAC,EAAE,EAAE;YAC3C,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,SAAS,EAAE,EAAE;YACb,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,QAAQ;YACjC,SAAS,EAAE,GAAG;YACd,QAAQ,EAAE,MAAM,CAAC,QAAQ;SAC1B,CAAC;QAEF,OAAO,IAAI,CAAC,yBAAyB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC7D,CAAC;IAEO,cAAc,CAAC,EAAuC;QAC5D,OAAO,gBAAgB,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;IAChC,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAClC,CAAC;CACF;AAED,MAAM,UAAU,sBAAsB,CACpC,QAA0B,EAC1B,eAAkC;IAElC,OAAO,IAAI,0BAA0B,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;AACnE,CAAC"}
@@ -0,0 +1,112 @@
1
+ /**
2
+ * Dylan Hobbs
3
+ * Delegation Credential Verifier (Platform-Agnostic)
4
+ *
5
+ * Progressive enhancement verification for W3C Delegation Credentials.
6
+ *
7
+ * Stage 1: Fast basic checks (no network, early rejection)
8
+ * Stage 2: Parallel advanced checks (signature, status)
9
+ * Stage 3: Combined results
10
+ *
11
+ * Related Spec: MCP-I §4.3, W3C VC Data Model 1.1
12
+ */
13
+ import type { DelegationCredential, CredentialStatus } from "../types/protocol.js";
14
+ export interface DelegationVCVerificationResult {
15
+ valid: boolean;
16
+ reason?: string;
17
+ stage: "basic" | "signature" | "status" | "complete";
18
+ cached?: boolean;
19
+ metrics?: {
20
+ basicCheckMs?: number;
21
+ signatureCheckMs?: number;
22
+ statusCheckMs?: number;
23
+ totalMs: number;
24
+ };
25
+ checks?: {
26
+ basicValid?: boolean;
27
+ signatureValid?: boolean;
28
+ statusValid?: boolean;
29
+ };
30
+ }
31
+ export interface VerifyDelegationVCOptions {
32
+ skipCache?: boolean;
33
+ skipSignature?: boolean;
34
+ skipStatus?: boolean;
35
+ didResolver?: DIDResolver;
36
+ statusListResolver?: StatusListResolver;
37
+ }
38
+ export interface DIDResolver {
39
+ resolve(did: string): Promise<DIDDocument | null>;
40
+ }
41
+ export interface DIDDocument {
42
+ id: string;
43
+ verificationMethod?: VerificationMethod[];
44
+ authentication?: (string | VerificationMethod)[];
45
+ assertionMethod?: (string | VerificationMethod)[];
46
+ }
47
+ export interface VerificationMethod {
48
+ id: string;
49
+ type: string;
50
+ controller: string;
51
+ publicKeyJwk?: unknown;
52
+ publicKeyBase58?: string;
53
+ publicKeyMultibase?: string;
54
+ }
55
+ export interface StatusListResolver {
56
+ checkStatus(status: CredentialStatus): Promise<boolean>;
57
+ }
58
+ export interface SignatureVerificationFunction {
59
+ (vc: DelegationCredential, publicKeyJwk: unknown): Promise<{
60
+ valid: boolean;
61
+ reason?: string;
62
+ }>;
63
+ }
64
+ export declare class DelegationCredentialVerifier {
65
+ private didResolver?;
66
+ private statusListResolver?;
67
+ private signatureVerifier?;
68
+ private cache;
69
+ private cacheInsertionOrder;
70
+ private cacheTtl;
71
+ /**
72
+ * Maximum number of entries in the verification cache.
73
+ * In production deployments, configure maxCacheSize based on expected concurrent delegations.
74
+ * Default of 1000 is suitable for most use cases.
75
+ */
76
+ private maxCacheSize;
77
+ constructor(options?: {
78
+ didResolver?: DIDResolver;
79
+ statusListResolver?: StatusListResolver;
80
+ signatureVerifier?: SignatureVerificationFunction;
81
+ cacheTtl?: number;
82
+ /** Maximum cache entries. Default: 1000 */
83
+ maxCacheSize?: number;
84
+ });
85
+ /**
86
+ * Verify a delegation credential through progressive enhancement.
87
+ *
88
+ * Stage 1: Fast basic checks (schema, expiry, status field)
89
+ * Stage 2: Parallel signature and status list checks (if resolvers configured)
90
+ * Stage 3: Combined result with timing metrics
91
+ *
92
+ * @param vc - The W3C Delegation Credential to verify
93
+ * @param options - Verification options (skip cache/signature/status, custom resolvers)
94
+ * @returns Verification result with validity, reason, stage reached, and metrics
95
+ */
96
+ verifyDelegationCredential(vc: DelegationCredential, options?: VerifyDelegationVCOptions): Promise<DelegationVCVerificationResult>;
97
+ private validateBasicProperties;
98
+ private verifySignature;
99
+ private checkCredentialStatus;
100
+ private findVerificationMethod;
101
+ private getFromCache;
102
+ private setInCache;
103
+ clearCache(): void;
104
+ clearCacheEntry(id: string): void;
105
+ }
106
+ export declare function createDelegationVerifier(options?: {
107
+ didResolver?: DIDResolver;
108
+ statusListResolver?: StatusListResolver;
109
+ signatureVerifier?: SignatureVerificationFunction;
110
+ cacheTtl?: number;
111
+ }): DelegationCredentialVerifier;
112
+ //# sourceMappingURL=vc-verifier.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vc-verifier.d.ts","sourceRoot":"","sources":["../../src/delegation/vc-verifier.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,280 @@
1
+ /**
2
+ * Dylan Hobbs
3
+ * Delegation Credential Verifier (Platform-Agnostic)
4
+ *
5
+ * Progressive enhancement verification for W3C Delegation Credentials.
6
+ *
7
+ * Stage 1: Fast basic checks (no network, early rejection)
8
+ * Stage 2: Parallel advanced checks (signature, status)
9
+ * Stage 3: Combined results
10
+ *
11
+ * Related Spec: MCP-I §4.3, W3C VC Data Model 1.1
12
+ */
13
+ import { isDelegationCredentialExpired, isDelegationCredentialNotYetValid, validateDelegationCredential, } from "../types/protocol.js";
14
+ export class DelegationCredentialVerifier {
15
+ didResolver;
16
+ statusListResolver;
17
+ signatureVerifier;
18
+ cache = new Map();
19
+ cacheInsertionOrder = [];
20
+ cacheTtl;
21
+ /**
22
+ * Maximum number of entries in the verification cache.
23
+ * In production deployments, configure maxCacheSize based on expected concurrent delegations.
24
+ * Default of 1000 is suitable for most use cases.
25
+ */
26
+ maxCacheSize;
27
+ constructor(options) {
28
+ this.didResolver = options?.didResolver;
29
+ this.statusListResolver = options?.statusListResolver;
30
+ this.signatureVerifier = options?.signatureVerifier;
31
+ this.cacheTtl = options?.cacheTtl || 60_000;
32
+ this.maxCacheSize = options?.maxCacheSize ?? 1000;
33
+ }
34
+ /**
35
+ * Verify a delegation credential through progressive enhancement.
36
+ *
37
+ * Stage 1: Fast basic checks (schema, expiry, status field)
38
+ * Stage 2: Parallel signature and status list checks (if resolvers configured)
39
+ * Stage 3: Combined result with timing metrics
40
+ *
41
+ * @param vc - The W3C Delegation Credential to verify
42
+ * @param options - Verification options (skip cache/signature/status, custom resolvers)
43
+ * @returns Verification result with validity, reason, stage reached, and metrics
44
+ */
45
+ async verifyDelegationCredential(vc, options = {}) {
46
+ const startTime = Date.now();
47
+ if (!options.skipCache) {
48
+ const cached = this.getFromCache(vc.id || "");
49
+ if (cached) {
50
+ return { ...cached, cached: true };
51
+ }
52
+ }
53
+ const basicCheckStart = Date.now();
54
+ const basicValidation = this.validateBasicProperties(vc);
55
+ const basicCheckMs = Date.now() - basicCheckStart;
56
+ if (!basicValidation.valid) {
57
+ const result = {
58
+ valid: false,
59
+ reason: basicValidation.reason,
60
+ stage: "basic",
61
+ metrics: {
62
+ basicCheckMs,
63
+ totalMs: Date.now() - startTime,
64
+ },
65
+ checks: {
66
+ basicValid: false,
67
+ },
68
+ };
69
+ return result;
70
+ }
71
+ const signaturePromise = !options.skipSignature
72
+ ? this.verifySignature(vc, options.didResolver || this.didResolver)
73
+ : Promise.resolve({
74
+ valid: true,
75
+ durationMs: 0,
76
+ });
77
+ const statusPromise = !options.skipStatus && vc.credentialStatus
78
+ ? this.checkCredentialStatus(vc.credentialStatus, options.statusListResolver || this.statusListResolver)
79
+ : Promise.resolve({
80
+ valid: true,
81
+ durationMs: 0,
82
+ });
83
+ const [signatureResult, statusResult] = await Promise.all([
84
+ signaturePromise,
85
+ statusPromise,
86
+ ]);
87
+ const signatureCheckMs = signatureResult.durationMs || 0;
88
+ const statusCheckMs = statusResult.durationMs || 0;
89
+ const allValid = basicValidation.valid && signatureResult.valid && statusResult.valid;
90
+ const result = {
91
+ valid: allValid,
92
+ reason: !allValid
93
+ ? signatureResult.reason || statusResult.reason || "Unknown failure"
94
+ : undefined,
95
+ stage: "complete",
96
+ metrics: {
97
+ basicCheckMs,
98
+ signatureCheckMs,
99
+ statusCheckMs,
100
+ totalMs: Date.now() - startTime,
101
+ },
102
+ checks: {
103
+ basicValid: basicValidation.valid,
104
+ signatureValid: signatureResult.valid,
105
+ statusValid: statusResult.valid,
106
+ },
107
+ };
108
+ if (result.valid && vc.id) {
109
+ this.setInCache(vc.id, result);
110
+ }
111
+ return result;
112
+ }
113
+ validateBasicProperties(vc) {
114
+ const schemaValidation = validateDelegationCredential(vc);
115
+ if (!schemaValidation.success) {
116
+ return {
117
+ valid: false,
118
+ reason: `Schema validation failed: ${schemaValidation.error?.message}`,
119
+ };
120
+ }
121
+ if (isDelegationCredentialExpired(vc)) {
122
+ return { valid: false, reason: "Delegation credential expired" };
123
+ }
124
+ if (isDelegationCredentialNotYetValid(vc)) {
125
+ return { valid: false, reason: "Delegation credential not yet valid" };
126
+ }
127
+ const delegation = vc.credentialSubject.delegation;
128
+ if (delegation.status === "revoked") {
129
+ return { valid: false, reason: "Delegation status is revoked" };
130
+ }
131
+ if (delegation.status === "expired") {
132
+ return { valid: false, reason: "Delegation status is expired" };
133
+ }
134
+ if (!delegation.issuerDid || !delegation.subjectDid) {
135
+ return { valid: false, reason: "Missing issuer or subject DID" };
136
+ }
137
+ if (!vc.proof) {
138
+ return { valid: false, reason: "Missing proof" };
139
+ }
140
+ return { valid: true };
141
+ }
142
+ async verifySignature(vc, didResolver) {
143
+ const startTime = Date.now();
144
+ try {
145
+ const issuerDid = typeof vc.issuer === "string" ? vc.issuer : vc.issuer.id;
146
+ if (!didResolver || !this.signatureVerifier) {
147
+ return {
148
+ valid: false,
149
+ reason: "No DID resolver or signature verifier configured — signature cannot be verified",
150
+ durationMs: Date.now() - startTime,
151
+ };
152
+ }
153
+ const didDoc = await didResolver.resolve(issuerDid);
154
+ if (!didDoc) {
155
+ return {
156
+ valid: false,
157
+ reason: `Could not resolve issuer DID: ${issuerDid}`,
158
+ durationMs: Date.now() - startTime,
159
+ };
160
+ }
161
+ if (!vc.proof) {
162
+ return {
163
+ valid: false,
164
+ reason: "Proof is missing",
165
+ durationMs: Date.now() - startTime,
166
+ };
167
+ }
168
+ const verificationMethodId = vc.proof["verificationMethod"];
169
+ if (!verificationMethodId) {
170
+ return {
171
+ valid: false,
172
+ reason: "Proof missing verificationMethod",
173
+ durationMs: Date.now() - startTime,
174
+ };
175
+ }
176
+ const verificationMethod = this.findVerificationMethod(didDoc, verificationMethodId);
177
+ if (!verificationMethod) {
178
+ return {
179
+ valid: false,
180
+ reason: `Verification method ${verificationMethodId} not found`,
181
+ durationMs: Date.now() - startTime,
182
+ };
183
+ }
184
+ const publicKeyJwk = verificationMethod.publicKeyJwk;
185
+ if (!publicKeyJwk) {
186
+ return {
187
+ valid: false,
188
+ reason: "Verification method missing publicKeyJwk",
189
+ durationMs: Date.now() - startTime,
190
+ };
191
+ }
192
+ const verificationResult = await this.signatureVerifier(vc, publicKeyJwk);
193
+ return {
194
+ valid: verificationResult.valid,
195
+ reason: verificationResult.reason,
196
+ durationMs: Date.now() - startTime,
197
+ };
198
+ }
199
+ catch (error) {
200
+ return {
201
+ valid: false,
202
+ reason: `Signature verification error: ${error instanceof Error ? error.message : "Unknown error"}`,
203
+ durationMs: Date.now() - startTime,
204
+ };
205
+ }
206
+ }
207
+ async checkCredentialStatus(status, statusListResolver) {
208
+ const startTime = Date.now();
209
+ try {
210
+ if (!statusListResolver) {
211
+ return {
212
+ valid: true,
213
+ reason: "No status list resolver available, skipping status check",
214
+ durationMs: Date.now() - startTime,
215
+ };
216
+ }
217
+ const isRevoked = await statusListResolver.checkStatus(status);
218
+ if (isRevoked) {
219
+ return {
220
+ valid: false,
221
+ reason: `Credential revoked via StatusList2021 (${status.statusPurpose})`,
222
+ durationMs: Date.now() - startTime,
223
+ };
224
+ }
225
+ return {
226
+ valid: true,
227
+ durationMs: Date.now() - startTime,
228
+ };
229
+ }
230
+ catch (error) {
231
+ return {
232
+ valid: false,
233
+ reason: `Status check error: ${error instanceof Error ? error.message : "Unknown error"}`,
234
+ durationMs: Date.now() - startTime,
235
+ };
236
+ }
237
+ }
238
+ findVerificationMethod(didDoc, verificationMethodId) {
239
+ return didDoc.verificationMethod?.find((vm) => vm.id === verificationMethodId);
240
+ }
241
+ getFromCache(id) {
242
+ const entry = this.cache.get(id);
243
+ if (!entry)
244
+ return null;
245
+ if (Date.now() > entry.expiresAt) {
246
+ this.cache.delete(id);
247
+ return null;
248
+ }
249
+ return entry.result;
250
+ }
251
+ setInCache(id, result) {
252
+ // Evict oldest entry if cache exceeds maxCacheSize (simple FIFO)
253
+ while (this.cache.size >= this.maxCacheSize && this.cacheInsertionOrder.length > 0) {
254
+ const oldestId = this.cacheInsertionOrder.shift();
255
+ if (oldestId) {
256
+ this.cache.delete(oldestId);
257
+ }
258
+ }
259
+ this.cache.set(id, {
260
+ result,
261
+ expiresAt: Date.now() + this.cacheTtl,
262
+ });
263
+ this.cacheInsertionOrder.push(id);
264
+ }
265
+ clearCache() {
266
+ this.cache.clear();
267
+ this.cacheInsertionOrder = [];
268
+ }
269
+ clearCacheEntry(id) {
270
+ this.cache.delete(id);
271
+ const idx = this.cacheInsertionOrder.indexOf(id);
272
+ if (idx !== -1) {
273
+ this.cacheInsertionOrder.splice(idx, 1);
274
+ }
275
+ }
276
+ }
277
+ export function createDelegationVerifier(options) {
278
+ return new DelegationCredentialVerifier(options);
279
+ }
280
+ //# sourceMappingURL=vc-verifier.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vc-verifier.js","sourceRoot":"","sources":["../../src/delegation/vc-verifier.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * @mcp-i/core — MCP-I Protocol Reference Implementation
3
+ *
4
+ * Delegation, proof, and session for Model Context Protocol Identity.
5
+ * This package is a DIF TAAWG protocol reference implementation.
6
+ *
7
+ * Related Spec: https://modelcontextprotocol-identity.io
8
+ *
9
+ * ## Error handling strategy
10
+ *
11
+ * - **Validation functions** (`verify*`, `validate*`) return result objects `{ valid, reason }` — never throw
12
+ * - **Construction/setup functions** throw `Error` on invalid configuration
13
+ * - **Resolution functions** (`resolve*`, `fetch*`) return `null` on failure — never throw
14
+ *
15
+ * This ensures callers can always handle failures without try/catch on validation paths.
16
+ */
17
+ export type { DelegationConstraints, DelegationRecord, DelegationCredential, DelegationStatus, CredentialStatus, StatusList2021Credential, Proof, HandshakeRequest, SessionContext, NonceCache, MCPClientInfo, MCPClientSessionInfo, SessionIdentityState, DetachedProof, ProofMeta, CanonicalHashes, AuditRecord, AuditContext, AuditEventContext, NeedsAuthorizationError, AuthorizationDisplay, CrispBudget, CrispScope, } from './types/protocol.js';
18
+ export { wrapDelegationAsVC, extractDelegationFromVC, isDelegationCredentialExpired, isDelegationCredentialNotYetValid, validateDelegationCredential, validateDetachedProof, createNeedsAuthorizationError, isNeedsAuthorizationError, DELEGATION_CREDENTIAL_CONTEXT, DEFAULT_SESSION_TTL_MINUTES, DEFAULT_TIMESTAMP_SKEW_SECONDS, NONCE_LENGTH_BYTES, } from './types/protocol.js';
19
+ export { DelegationCredentialIssuer, createDelegationIssuer, type IssueDelegationOptions, type VCSigningFunction, type IdentityProvider as DelegationIdentityProvider, } from './delegation/vc-issuer.js';
20
+ export { DelegationCredentialVerifier, createDelegationVerifier, type DelegationVCVerificationResult, type VerifyDelegationVCOptions, type DIDResolver, type DIDDocument, type VerificationMethod, type StatusListResolver, type SignatureVerificationFunction, } from './delegation/vc-verifier.js';
21
+ export { DelegationGraphManager, createDelegationGraph, type DelegationNode, type DelegationGraphStorageProvider, } from './delegation/delegation-graph.js';
22
+ export { StatusList2021Manager, createStatusListManager, type StatusListStorageProvider, type StatusListIdentityProvider, } from './delegation/statuslist-manager.js';
23
+ export { CascadingRevocationManager, createCascadingRevocationManager, type RevocationEvent, type RevocationHook, type CascadingRevocationOptions, } from './delegation/cascading-revocation.js';
24
+ export { BitstringManager, isIndexSet, type CompressionFunction, type DecompressionFunction, } from './delegation/bitstring.js';
25
+ export { verifyDelegationAudience, } from './delegation/audience-validator.js';
26
+ export { buildDelegationProofJWT, buildChainString, type DelegationProofOptions, type Ed25519PrivateJWK, } from './delegation/outbound-proof.js';
27
+ export { buildOutboundDelegationHeaders, OUTBOUND_HEADER_NAMES, type OutboundDelegationContext, type OutboundDelegationHeaders, } from './delegation/outbound-headers.js';
28
+ export { canonicalizeJSON, createUnsignedVCJWT, completeVCJWT, parseVCJWT, type VCJWTHeader, type VCJWTPayload, } from './delegation/utils.js';
29
+ export { MemoryStatusListStorage } from './delegation/storage/memory-statuslist-storage.js';
30
+ export { MemoryDelegationGraphStorage } from './delegation/storage/memory-graph-storage.js';
31
+ export { createDidKeyResolver, resolveDidKeySync, isEd25519DidKey, extractPublicKeyFromDidKey, publicKeyToJwk, } from './delegation/did-key-resolver.js';
32
+ export { DidWebResolver, createDidWebResolver, isDidWeb, parseDidWeb, didWebToUrl, } from './delegation/did-web-resolver.js';
33
+ export { base58Encode, base58Decode, isValidBase58, } from './utils/base58.js';
34
+ export { isValidDid, getDidMethod, normalizeDid, compareDids, getServerDid, extractAgentId, extractAgentSlug, generateDidKeyFromBytes, generateDidKeyFromBase64, } from './utils/did-helpers.js';
35
+ export { verifyOrHints, hasSensitiveScopes, MemoryResumeTokenStore, type AuthHandshakeConfig, type VerifyOrHintsResult, type AgentReputation, type ResumeTokenStore, type DelegationVerifier, type VerifyDelegationResult, } from './auth/index.js';
36
+ export { ProofGenerator, createProofResponse, extractCanonicalData, type ProofAgentIdentity, type ToolRequest, type ToolResponse, type ProofOptions, } from './proof/index.js';
37
+ export { ProofVerifier, type ProofVerifierConfig, type ProofVerificationResult, } from './proof/verifier.js';
38
+ export { ProofVerificationError, PROOF_VERIFICATION_ERROR_CODES, createProofVerificationError, type ProofVerificationErrorCode, } from './proof/errors.js';
39
+ export { SessionManager, createHandshakeRequest, validateHandshakeFormat, type SessionConfig, type HandshakeResult, } from './session/index.js';
40
+ export { CryptoProvider, ClockProvider, FetchProvider, StorageProvider, NonceCacheProvider, IdentityProvider, type AgentIdentity, } from './providers/base.js';
41
+ export { MemoryStorageProvider, MemoryNonceCacheProvider, MemoryIdentityProvider, } from './providers/memory.js';
42
+ export { createMCPIMiddleware, type MCPIConfig, type MCPIDelegationConfig, type MCPIIdentityConfig, type MCPIMiddleware, type MCPIToolDefinition, type MCPIToolHandler, type MCPIServer, } from './middleware/index.js';
43
+ export { logger, createDefaultConsoleLogger, type Logger, type Level, } from './logging/index.js';
44
+ export { ED25519_PKCS8_DER_HEADER, ED25519_SPKI_DER_HEADER_LENGTH, ED25519_KEY_SIZE, } from './utils/index.js';
45
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}