a2a-did 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 (95) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +180 -0
  3. package/dist/a2a/constants.d.ts +10 -0
  4. package/dist/a2a/constants.d.ts.map +1 -0
  5. package/dist/a2a/constants.js +10 -0
  6. package/dist/a2a/constants.js.map +1 -0
  7. package/dist/a2a/index.d.ts +23 -0
  8. package/dist/a2a/index.d.ts.map +1 -0
  9. package/dist/a2a/index.js +27 -0
  10. package/dist/a2a/index.js.map +1 -0
  11. package/dist/a2a/resolution.d.ts +20 -0
  12. package/dist/a2a/resolution.d.ts.map +1 -0
  13. package/dist/a2a/resolution.js +55 -0
  14. package/dist/a2a/resolution.js.map +1 -0
  15. package/dist/a2a/signing.d.ts +24 -0
  16. package/dist/a2a/signing.d.ts.map +1 -0
  17. package/dist/a2a/signing.js +31 -0
  18. package/dist/a2a/signing.js.map +1 -0
  19. package/dist/a2a/utils.d.ts +29 -0
  20. package/dist/a2a/utils.d.ts.map +1 -0
  21. package/dist/a2a/utils.js +70 -0
  22. package/dist/a2a/utils.js.map +1 -0
  23. package/dist/a2a/verification.d.ts +42 -0
  24. package/dist/a2a/verification.d.ts.map +1 -0
  25. package/dist/a2a/verification.js +156 -0
  26. package/dist/a2a/verification.js.map +1 -0
  27. package/dist/agent.d.ts +99 -0
  28. package/dist/agent.d.ts.map +1 -0
  29. package/dist/agent.js +149 -0
  30. package/dist/agent.js.map +1 -0
  31. package/dist/did/config-types.d.ts +37 -0
  32. package/dist/did/config-types.d.ts.map +1 -0
  33. package/dist/did/config-types.js +6 -0
  34. package/dist/did/config-types.js.map +1 -0
  35. package/dist/did/document.d.ts +20 -0
  36. package/dist/did/document.d.ts.map +1 -0
  37. package/dist/did/document.js +21 -0
  38. package/dist/did/document.js.map +1 -0
  39. package/dist/did/factory.d.ts +31 -0
  40. package/dist/did/factory.d.ts.map +1 -0
  41. package/dist/did/factory.js +46 -0
  42. package/dist/did/factory.js.map +1 -0
  43. package/dist/did/handlers/ethr-handler.d.ts +62 -0
  44. package/dist/did/handlers/ethr-handler.d.ts.map +1 -0
  45. package/dist/did/handlers/ethr-handler.js +184 -0
  46. package/dist/did/handlers/ethr-handler.js.map +1 -0
  47. package/dist/did/handlers/web-handler.d.ts +73 -0
  48. package/dist/did/handlers/web-handler.d.ts.map +1 -0
  49. package/dist/did/handlers/web-handler.js +170 -0
  50. package/dist/did/handlers/web-handler.js.map +1 -0
  51. package/dist/did/index.d.ts +10 -0
  52. package/dist/did/index.d.ts.map +1 -0
  53. package/dist/did/index.js +15 -0
  54. package/dist/did/index.js.map +1 -0
  55. package/dist/did/resolver.d.ts +85 -0
  56. package/dist/did/resolver.d.ts.map +1 -0
  57. package/dist/did/resolver.js +120 -0
  58. package/dist/did/resolver.js.map +1 -0
  59. package/dist/did/resolvers/ethr.d.ts +74 -0
  60. package/dist/did/resolvers/ethr.d.ts.map +1 -0
  61. package/dist/did/resolvers/ethr.js +67 -0
  62. package/dist/did/resolvers/ethr.js.map +1 -0
  63. package/dist/did/resolvers/index.d.ts +8 -0
  64. package/dist/did/resolvers/index.d.ts.map +1 -0
  65. package/dist/did/resolvers/index.js +8 -0
  66. package/dist/did/resolvers/index.js.map +1 -0
  67. package/dist/did/resolvers/web.d.ts +13 -0
  68. package/dist/did/resolvers/web.d.ts.map +1 -0
  69. package/dist/did/resolvers/web.js +97 -0
  70. package/dist/did/resolvers/web.js.map +1 -0
  71. package/dist/did/service-loader.d.ts +15 -0
  72. package/dist/did/service-loader.d.ts.map +1 -0
  73. package/dist/did/service-loader.js +20 -0
  74. package/dist/did/service-loader.js.map +1 -0
  75. package/dist/did/service.d.ts +99 -0
  76. package/dist/did/service.d.ts.map +1 -0
  77. package/dist/did/service.js +75 -0
  78. package/dist/did/service.js.map +1 -0
  79. package/dist/did/signing.d.ts +19 -0
  80. package/dist/did/signing.d.ts.map +1 -0
  81. package/dist/did/signing.js +37 -0
  82. package/dist/did/signing.js.map +1 -0
  83. package/dist/did/types.d.ts +134 -0
  84. package/dist/did/types.d.ts.map +1 -0
  85. package/dist/did/types.js +2 -0
  86. package/dist/did/types.js.map +1 -0
  87. package/dist/index.d.ts +15 -0
  88. package/dist/index.d.ts.map +1 -0
  89. package/dist/index.js +17 -0
  90. package/dist/index.js.map +1 -0
  91. package/dist/types.d.ts +25 -0
  92. package/dist/types.d.ts.map +1 -0
  93. package/dist/types.js +2 -0
  94. package/dist/types.js.map +1 -0
  95. package/package.json +70 -0
@@ -0,0 +1,120 @@
1
+ /**
2
+ * DID Resolver
3
+ * Combines modular resolvers for different DID methods
4
+ * @module did/resolver
5
+ */
6
+ import { Resolver } from 'did-resolver';
7
+ import { createWebResolver } from './resolvers/web.js';
8
+ import { createEthrResolver } from './resolvers/ethr.js';
9
+ // Singleton resolver instance (lazy initialized)
10
+ let defaultResolver = null;
11
+ let defaultConfig = null;
12
+ /**
13
+ * Create a new DID resolver with specified configuration
14
+ * @param config - Resolver configuration
15
+ * @returns Configured Resolver instance
16
+ *
17
+ * @example
18
+ * // did:web only (no external dependencies)
19
+ * const resolver = createResolver({ web: true });
20
+ *
21
+ * @example
22
+ * // did:web + did:ethr
23
+ * const resolver = createResolver({
24
+ * web: true,
25
+ * ethr: {
26
+ * networks: [{
27
+ * name: 'sepolia',
28
+ * rpcUrl: 'https://sepolia.infura.io/v3/YOUR_KEY',
29
+ * }]
30
+ * }
31
+ * });
32
+ */
33
+ export function createResolver(config = {}) {
34
+ const resolvers = {};
35
+ // did:web (enabled by default)
36
+ if (config.web !== false) {
37
+ Object.assign(resolvers, createWebResolver());
38
+ }
39
+ // did:ethr (requires explicit configuration)
40
+ if (config.ethr) {
41
+ Object.assign(resolvers, createEthrResolver(config.ethr));
42
+ }
43
+ // Future DID methods can be added here following the same pattern
44
+ return new Resolver(resolvers);
45
+ }
46
+ /**
47
+ * Configure the default resolver
48
+ * Call this at application startup to set up DID resolution
49
+ *
50
+ * IMPORTANT: If you use did:ethr, you MUST call this function before resolving did:ethr DIDs.
51
+ * Otherwise, did:ethr resolution will fail.
52
+ *
53
+ * @param config - Resolver configuration
54
+ *
55
+ * @example
56
+ * // In your app initialization (required for did:ethr)
57
+ * configureResolver({
58
+ * web: true,
59
+ * ethr: {
60
+ * networks: [{ name: 'sepolia', rpcUrl: process.env.SEPOLIA_RPC_URL }]
61
+ * }
62
+ * });
63
+ */
64
+ export function configureResolver(config) {
65
+ defaultConfig = config;
66
+ defaultResolver = createResolver(config);
67
+ }
68
+ /**
69
+ * Get the default resolver instance
70
+ * If not configured, creates a did:web-only resolver
71
+ * @returns The default Resolver instance
72
+ */
73
+ export function getResolver() {
74
+ if (!defaultResolver) {
75
+ // Default: did:web only (no external dependencies)
76
+ defaultResolver = createResolver({ web: true });
77
+ defaultConfig = { web: true };
78
+ }
79
+ return defaultResolver;
80
+ }
81
+ /**
82
+ * Get the current resolver configuration
83
+ * @returns Current configuration or null if using defaults
84
+ */
85
+ export function getResolverConfig() {
86
+ return defaultConfig;
87
+ }
88
+ /**
89
+ * Check if a specific DID method is enabled
90
+ * @param method - DID method to check (e.g., 'web', 'ethr')
91
+ * @returns true if the method is enabled in the current configuration
92
+ */
93
+ export function isMethodEnabled(method) {
94
+ const config = defaultConfig ?? { web: true };
95
+ switch (method) {
96
+ case 'web':
97
+ return config.web !== false;
98
+ case 'ethr':
99
+ return !!config.ethr;
100
+ default:
101
+ return false;
102
+ }
103
+ }
104
+ /**
105
+ * Resolve a DID to its document
106
+ * @param did - The DID to resolve
107
+ * @returns The DID Document if found, null otherwise
108
+ */
109
+ export async function resolveDID(did) {
110
+ const resolver = getResolver();
111
+ const result = await resolver.resolve(did);
112
+ if (result.didResolutionMetadata.error) {
113
+ return null;
114
+ }
115
+ return result.didDocument;
116
+ }
117
+ // Re-export resolver types and utilities
118
+ export { createWebResolver } from './resolvers/web.js';
119
+ export { createEthrResolver, createSepoliaResolver, KNOWN_NETWORKS, } from './resolvers/ethr.js';
120
+ //# sourceMappingURL=resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../src/did/resolver.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,QAAQ,EAAoB,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAA2B,MAAM,qBAAqB,CAAC;AAkBlF,iDAAiD;AACjD,IAAI,eAAe,GAAoB,IAAI,CAAC;AAC5C,IAAI,aAAa,GAA0B,IAAI,CAAC;AAEhD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,cAAc,CAAC,SAAyB,EAAE;IACxD,MAAM,SAAS,GAAgC,EAAE,CAAC;IAElD,+BAA+B;IAC/B,IAAI,MAAM,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC;QACzB,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,6CAA6C;IAC7C,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAChB,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,kEAAkE;IAElE,OAAO,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAC;AACjC,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAsB;IACtD,aAAa,GAAG,MAAM,CAAC;IACvB,eAAe,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;AAC3C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW;IACzB,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,mDAAmD;QACnD,eAAe,GAAG,cAAc,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,aAAa,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;IAChC,CAAC;IACD,OAAO,eAAe,CAAC;AACzB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO,aAAa,CAAC;AACvB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,MAAsB;IACpD,MAAM,MAAM,GAAG,aAAa,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;IAC9C,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,KAAK;YACR,OAAO,MAAM,CAAC,GAAG,KAAK,KAAK,CAAC;QAC9B,KAAK,MAAM;YACT,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;QACvB;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,GAAW;IAC1C,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3C,IAAI,MAAM,CAAC,qBAAqB,CAAC,KAAK,EAAE,CAAC;QACvC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,MAAM,CAAC,WAAqC,CAAC;AACtD,CAAC;AAED,yCAAyC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,cAAc,GAIf,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * did:ethr Resolver
3
+ * Resolves did:ethr DIDs from Ethereum chains via RPC
4
+ * @module did/resolvers/ethr
5
+ */
6
+ import { type DIDResolver } from 'did-resolver';
7
+ /**
8
+ * Known Ethereum networks with their default configurations
9
+ */
10
+ export declare const KNOWN_NETWORKS: {
11
+ readonly mainnet: {
12
+ readonly chainId: 1;
13
+ readonly registry: "0xdca7ef03e98e0dc2b855be647c39abe984fcf21b";
14
+ };
15
+ readonly sepolia: {
16
+ readonly chainId: 11155111;
17
+ readonly registry: "0x03d5003bf0e79c5f5223588f347eba39afbc3818";
18
+ };
19
+ readonly goerli: {
20
+ readonly chainId: 5;
21
+ readonly registry: "0xdca7ef03e98e0dc2b855be647c39abe984fcf21b";
22
+ };
23
+ };
24
+ export type KnownNetwork = keyof typeof KNOWN_NETWORKS;
25
+ /**
26
+ * Configuration for a single Ethereum network
27
+ */
28
+ export interface EthrNetworkConfig {
29
+ /** Network name (e.g., 'mainnet', 'sepolia') */
30
+ name: string;
31
+ /** RPC URL for the network */
32
+ rpcUrl: string;
33
+ /** Chain ID (optional if using known network) */
34
+ chainId?: number;
35
+ /** EthereumDIDRegistry contract address (optional if using known network) */
36
+ registry?: string;
37
+ }
38
+ /**
39
+ * Configuration for did:ethr resolver
40
+ */
41
+ export interface EthrResolverConfig {
42
+ /** Network configurations */
43
+ networks: EthrNetworkConfig[];
44
+ }
45
+ /**
46
+ * Create did:ethr resolver with explicit configuration
47
+ * @param config - Network configuration(s)
48
+ * @returns DID resolver methods for did:ethr
49
+ *
50
+ * @example
51
+ * // Single network
52
+ * createEthrResolver({
53
+ * networks: [{
54
+ * name: 'sepolia',
55
+ * rpcUrl: 'https://sepolia.infura.io/v3/YOUR_KEY',
56
+ * }]
57
+ * });
58
+ *
59
+ * @example
60
+ * // Multiple networks
61
+ * createEthrResolver({
62
+ * networks: [
63
+ * { name: 'mainnet', rpcUrl: 'https://mainnet.infura.io/v3/KEY' },
64
+ * { name: 'sepolia', rpcUrl: 'https://sepolia.infura.io/v3/KEY' },
65
+ * ]
66
+ * });
67
+ */
68
+ export declare function createEthrResolver(config: EthrResolverConfig): Record<string, DIDResolver>;
69
+ /**
70
+ * Convenience function to create resolver for Sepolia testnet
71
+ * @param rpcUrl - Sepolia RPC URL
72
+ */
73
+ export declare function createSepoliaResolver(rpcUrl: string): Record<string, DIDResolver>;
74
+ //# sourceMappingURL=ethr.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ethr.d.ts","sourceRoot":"","sources":["../../../src/did/resolvers/ethr.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;CAajB,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,MAAM,OAAO,cAAc,CAAC;AAEvD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,gDAAgD;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,8BAA8B;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,6BAA6B;IAC7B,QAAQ,EAAE,iBAAiB,EAAE,CAAC;CAC/B;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAc1F;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAOjF"}
@@ -0,0 +1,67 @@
1
+ import { getResolver as getEthrResolver } from 'ethr-did-resolver';
2
+ /**
3
+ * Known Ethereum networks with their default configurations
4
+ */
5
+ export const KNOWN_NETWORKS = {
6
+ mainnet: {
7
+ chainId: 1,
8
+ registry: '0xdca7ef03e98e0dc2b855be647c39abe984fcf21b',
9
+ },
10
+ sepolia: {
11
+ chainId: 11155111,
12
+ registry: '0x03d5003bf0e79c5f5223588f347eba39afbc3818',
13
+ },
14
+ goerli: {
15
+ chainId: 5,
16
+ registry: '0xdca7ef03e98e0dc2b855be647c39abe984fcf21b',
17
+ },
18
+ };
19
+ /**
20
+ * Create did:ethr resolver with explicit configuration
21
+ * @param config - Network configuration(s)
22
+ * @returns DID resolver methods for did:ethr
23
+ *
24
+ * @example
25
+ * // Single network
26
+ * createEthrResolver({
27
+ * networks: [{
28
+ * name: 'sepolia',
29
+ * rpcUrl: 'https://sepolia.infura.io/v3/YOUR_KEY',
30
+ * }]
31
+ * });
32
+ *
33
+ * @example
34
+ * // Multiple networks
35
+ * createEthrResolver({
36
+ * networks: [
37
+ * { name: 'mainnet', rpcUrl: 'https://mainnet.infura.io/v3/KEY' },
38
+ * { name: 'sepolia', rpcUrl: 'https://sepolia.infura.io/v3/KEY' },
39
+ * ]
40
+ * });
41
+ */
42
+ export function createEthrResolver(config) {
43
+ const networks = config.networks.map((network) => {
44
+ // Use known network defaults if available
45
+ const known = KNOWN_NETWORKS[network.name];
46
+ return {
47
+ name: network.name,
48
+ rpcUrl: network.rpcUrl,
49
+ chainId: network.chainId ?? known?.chainId,
50
+ registry: network.registry ?? known?.registry,
51
+ };
52
+ });
53
+ return getEthrResolver({ networks });
54
+ }
55
+ /**
56
+ * Convenience function to create resolver for Sepolia testnet
57
+ * @param rpcUrl - Sepolia RPC URL
58
+ */
59
+ export function createSepoliaResolver(rpcUrl) {
60
+ return createEthrResolver({
61
+ networks: [{
62
+ name: 'sepolia',
63
+ rpcUrl,
64
+ }],
65
+ });
66
+ }
67
+ //# sourceMappingURL=ethr.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ethr.js","sourceRoot":"","sources":["../../../src/did/resolvers/ethr.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEnE;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,OAAO,EAAE;QACP,OAAO,EAAE,CAAC;QACV,QAAQ,EAAE,4CAA4C;KACvD;IACD,OAAO,EAAE;QACP,OAAO,EAAE,QAAQ;QACjB,QAAQ,EAAE,4CAA4C;KACvD;IACD,MAAM,EAAE;QACN,OAAO,EAAE,CAAC;QACV,QAAQ,EAAE,4CAA4C;KACvD;CACO,CAAC;AA0BX;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAA0B;IAC3D,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QAC/C,0CAA0C;QAC1C,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,IAAoB,CAAC,CAAC;QAE3D,OAAO;YACL,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,KAAK,EAAE,OAAO;YAC1C,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,KAAK,EAAE,QAAQ;SAC9C,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,eAAe,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;AACvC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAc;IAClD,OAAO,kBAAkB,CAAC;QACxB,QAAQ,EAAE,CAAC;gBACT,IAAI,EAAE,SAAS;gBACf,MAAM;aACP,CAAC;KACH,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * DID Resolvers
3
+ * Modular resolvers for different DID methods
4
+ * @module did/resolvers
5
+ */
6
+ export { createWebResolver } from './web.js';
7
+ export { createEthrResolver, createSepoliaResolver, KNOWN_NETWORKS, type EthrNetworkConfig, type EthrResolverConfig, type KnownNetwork, } from './ethr.js';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/did/resolvers/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,cAAc,EACd,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,YAAY,GAClB,MAAM,WAAW,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * DID Resolvers
3
+ * Modular resolvers for different DID methods
4
+ * @module did/resolvers
5
+ */
6
+ export { createWebResolver } from './web.js';
7
+ export { createEthrResolver, createSepoliaResolver, KNOWN_NETWORKS, } from './ethr.js';
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/did/resolvers/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,cAAc,GAIf,MAAM,WAAW,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * did:web Resolver
3
+ * Supports HTTP for localhost, HTTPS for production domains
4
+ * @module did/resolvers/web
5
+ */
6
+ import { type DIDResolver } from 'did-resolver';
7
+ /**
8
+ * Create did:web resolver
9
+ * - localhost: Uses HTTP
10
+ * - Production domains: Uses HTTPS via web-did-resolver
11
+ */
12
+ export declare function createWebResolver(): Record<string, DIDResolver>;
13
+ //# sourceMappingURL=web.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../../../src/did/resolvers/web.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAY,KAAK,WAAW,EAA4C,MAAM,cAAc,CAAC;AAIpG;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAyC/D"}
@@ -0,0 +1,97 @@
1
+ import { getResolver as getWebResolver } from 'web-did-resolver';
2
+ /**
3
+ * Create did:web resolver
4
+ * - localhost: Uses HTTP
5
+ * - Production domains: Uses HTTPS via web-did-resolver
6
+ */
7
+ export function createWebResolver() {
8
+ const webResolver = getWebResolver();
9
+ async function resolve(did, parsed) {
10
+ // Decode domain from DID (e.g., localhost%3A3001 → localhost:3001)
11
+ const domainPart = parsed.id.split(':')[0];
12
+ if (!domainPart) {
13
+ return {
14
+ didDocument: null,
15
+ didDocumentMetadata: {},
16
+ didResolutionMetadata: {
17
+ error: 'invalidDid',
18
+ message: 'Invalid DID format',
19
+ },
20
+ };
21
+ }
22
+ const domain = decodeURIComponent(domainPart);
23
+ // For localhost, use HTTP and custom resolution
24
+ if (domain.startsWith('localhost')) {
25
+ return resolveLocalhost(did, parsed);
26
+ }
27
+ // For production domains, delegate to web-did-resolver (uses HTTPS)
28
+ const webResolverFn = webResolver.web;
29
+ if (!webResolverFn) {
30
+ return {
31
+ didDocument: null,
32
+ didDocumentMetadata: {},
33
+ didResolutionMetadata: {
34
+ error: 'internalError',
35
+ message: 'Web resolver not available',
36
+ },
37
+ };
38
+ }
39
+ return webResolverFn(did, parsed, {}, {});
40
+ }
41
+ return { web: resolve };
42
+ }
43
+ /**
44
+ * Resolve localhost did:web DIDs using HTTP
45
+ */
46
+ async function resolveLocalhost(did, parsed) {
47
+ // Build path: did:web:localhost%3A3001:agents:agent-a → localhost:3001/agents/agent-a/did.json
48
+ const pathSegments = parsed.id.split(':').map(decodeURIComponent);
49
+ const domain = pathSegments[0];
50
+ const path = pathSegments.length > 1
51
+ ? `${pathSegments.slice(1).join('/')}/did.json`
52
+ : '.well-known/did.json';
53
+ const url = `http://${domain}/${path}`;
54
+ try {
55
+ const response = await fetch(url);
56
+ if (!response.ok) {
57
+ return {
58
+ didDocument: null,
59
+ didDocumentMetadata: {},
60
+ didResolutionMetadata: {
61
+ error: 'notFound',
62
+ message: `HTTP ${response.status}: ${response.statusText}`,
63
+ },
64
+ };
65
+ }
66
+ const didDocument = await response.json();
67
+ // Verify document ID matches requested DID
68
+ if (didDocument.id !== did) {
69
+ return {
70
+ didDocument: didDocument,
71
+ didDocumentMetadata: {},
72
+ didResolutionMetadata: {
73
+ error: 'notFound',
74
+ message: 'DID document id does not match requested did',
75
+ },
76
+ };
77
+ }
78
+ return {
79
+ didDocument: didDocument,
80
+ didDocumentMetadata: {},
81
+ didResolutionMetadata: {
82
+ contentType: didDocument['@context'] ? 'application/did+ld+json' : 'application/did+json',
83
+ },
84
+ };
85
+ }
86
+ catch (error) {
87
+ return {
88
+ didDocument: null,
89
+ didDocumentMetadata: {},
90
+ didResolutionMetadata: {
91
+ error: 'notFound',
92
+ message: `Failed to fetch DID document: ${error}`,
93
+ },
94
+ };
95
+ }
96
+ }
97
+ //# sourceMappingURL=web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"web.js","sourceRoot":"","sources":["../../../src/did/resolvers/web.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Agent DID Service Loader
3
+ * Dynamically loads and registers DID method handlers
4
+ * @module did/service-loader
5
+ */
6
+ import type { AgentDIDService } from './service.js';
7
+ /**
8
+ * Register DID method handlers to an AgentDIDService instance
9
+ * Uses dynamic imports for lazy loading
10
+ *
11
+ * @param service - The AgentDIDService instance
12
+ * @param methods - Array of DID methods to register ('web', 'ethr')
13
+ */
14
+ export declare function registerDIDHandlers(service: AgentDIDService, methods: Array<'web' | 'ethr'>): Promise<void>;
15
+ //# sourceMappingURL=service-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-loader.d.ts","sourceRoot":"","sources":["../../src/did/service-loader.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,GAC7B,OAAO,CAAC,IAAI,CAAC,CAUf"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Register DID method handlers to an AgentDIDService instance
3
+ * Uses dynamic imports for lazy loading
4
+ *
5
+ * @param service - The AgentDIDService instance
6
+ * @param methods - Array of DID methods to register ('web', 'ethr')
7
+ */
8
+ export async function registerDIDHandlers(service, methods) {
9
+ for (const method of methods) {
10
+ if (method === 'web') {
11
+ const { DIDWebMethodHandler } = await import('./handlers/web-handler.js');
12
+ service.registerMethod('web', new DIDWebMethodHandler());
13
+ }
14
+ else if (method === 'ethr') {
15
+ const { DIDEthrMethodHandler } = await import('./handlers/ethr-handler.js');
16
+ service.registerMethod('ethr', new DIDEthrMethodHandler());
17
+ }
18
+ }
19
+ }
20
+ //# sourceMappingURL=service-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-loader.js","sourceRoot":"","sources":["../../src/did/service-loader.ts"],"names":[],"mappings":"AAOA;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,OAAwB,EACxB,OAA8B;IAE9B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YACrB,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;YAC1E,OAAO,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,mBAAmB,EAAE,CAAC,CAAC;QAC3D,CAAC;aAAM,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YAC7B,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;YAC5E,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,oBAAoB,EAAE,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -0,0 +1,99 @@
1
+ /**
2
+ * Agent DID Service
3
+ * Orchestrates DID operations for AI Agents through pluggable method handlers
4
+ */
5
+ import type { DIDIdentity, ServiceEndpoint } from './types.js';
6
+ import type { DIDConfig } from './config-types.js';
7
+ /**
8
+ * DID Method Handler Interface
9
+ * Each DID method (ethr, web, etc.) implements this interface
10
+ */
11
+ export interface DIDMethodHandler {
12
+ /**
13
+ * Create a new DID identity
14
+ */
15
+ createIdentity(options: {
16
+ agentId: string;
17
+ config: DIDConfig;
18
+ services?: ServiceEndpoint[];
19
+ }): Promise<DIDIdentity>;
20
+ /**
21
+ * Register a service endpoint for the DID
22
+ * @param serviceEndpoint - Already uploaded URI (e.g., ipfs://...)
23
+ */
24
+ registerServiceEndpoint(options: {
25
+ did: string;
26
+ privateKey: string;
27
+ serviceEndpoint: string;
28
+ config: DIDConfig;
29
+ }): Promise<string[]>;
30
+ /**
31
+ * Extract wallet address from DID
32
+ * @param did - DID string (e.g., "did:ethr:sepolia:0x...")
33
+ * @returns Wallet address or undefined if not applicable
34
+ */
35
+ extractWalletAddress(did: string): string | undefined;
36
+ /**
37
+ * Get default key ID for DID
38
+ * @param did - DID string
39
+ * @returns Key identifier (e.g., "did:ethr:...#controller")
40
+ */
41
+ getKeyId(did: string): string;
42
+ }
43
+ /**
44
+ * Agent DID Service
45
+ * Provides a unified interface for DID operations across different methods for AI Agents
46
+ * Handlers must be explicitly registered using registerMethod()
47
+ */
48
+ export declare class AgentDIDService {
49
+ private methods;
50
+ constructor();
51
+ /**
52
+ * Register a custom DID method handler
53
+ * Can be used to add new methods or override built-in ones
54
+ * @param name - DID method name (e.g., 'ethr', 'web', 'ion')
55
+ * @param handler - Method-specific implementation
56
+ */
57
+ registerMethod(name: string, handler: DIDMethodHandler): void;
58
+ /**
59
+ * Create a DID identity
60
+ * @throws {Error} If DID method is not supported
61
+ */
62
+ createIdentity(options: {
63
+ method: string;
64
+ agentId: string;
65
+ config: DIDConfig;
66
+ services?: ServiceEndpoint[];
67
+ }): Promise<DIDIdentity>;
68
+ /**
69
+ * Register a service endpoint for a DID
70
+ * @param serviceEndpoint - Already uploaded URI (e.g., ipfs://...)
71
+ * @throws {Error} If DID method is not supported
72
+ */
73
+ registerServiceEndpoint(options: {
74
+ method: string;
75
+ did: string;
76
+ privateKey: string;
77
+ serviceEndpoint: string;
78
+ config: DIDConfig;
79
+ }): Promise<string[]>;
80
+ /**
81
+ * Extract wallet address from DID
82
+ * Delegates to the appropriate handler based on DID method
83
+ * @param did - DID string
84
+ * @param method - DID method name
85
+ * @returns Wallet address or undefined
86
+ * @throws {Error} If DID method is not supported
87
+ */
88
+ extractWalletAddress(did: string, method: string): string | undefined;
89
+ /**
90
+ * Get default key ID for a DID
91
+ * Delegates to the appropriate handler based on DID method
92
+ * @param did - DID string
93
+ * @param method - DID method name
94
+ * @returns Key identifier
95
+ * @throws {Error} If DID method is not supported
96
+ */
97
+ getKeyId(did: string, method: string): string;
98
+ }
99
+ //# sourceMappingURL=service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/did/service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,cAAc,CAAC,OAAO,EAAE;QACtB,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,SAAS,CAAC;QAClB,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;KAC9B,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAEzB;;;OAGG;IACH,uBAAuB,CAAC,OAAO,EAAE;QAC/B,GAAG,EAAE,MAAM,CAAC;QACZ,UAAU,EAAE,MAAM,CAAC;QACnB,eAAe,EAAE,MAAM,CAAC;QACxB,MAAM,EAAE,SAAS,CAAC;KACnB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAEtB;;;;OAIG;IACH,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAEtD;;;;OAIG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CAC/B;AAED;;;;GAIG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,OAAO,CAAgC;;IAO/C;;;;;OAKG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAI7D;;;OAGG;IACG,cAAc,CAAC,OAAO,EAAE;QAC5B,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,SAAS,CAAC;QAClB,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;KAC9B,GAAG,OAAO,CAAC,WAAW,CAAC;IAQxB;;;;OAIG;IACG,uBAAuB,CAAC,OAAO,EAAE;QACrC,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;QACZ,UAAU,EAAE,MAAM,CAAC;QACnB,eAAe,EAAE,MAAM,CAAC;QACxB,MAAM,EAAE,SAAS,CAAC;KACnB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAQrB;;;;;;;OAOG;IACH,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAQrE;;;;;;;OAOG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;CAO9C"}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * Agent DID Service
3
+ * Provides a unified interface for DID operations across different methods for AI Agents
4
+ * Handlers must be explicitly registered using registerMethod()
5
+ */
6
+ export class AgentDIDService {
7
+ methods;
8
+ constructor() {
9
+ // Empty initialization - handlers must be registered explicitly
10
+ this.methods = new Map();
11
+ }
12
+ /**
13
+ * Register a custom DID method handler
14
+ * Can be used to add new methods or override built-in ones
15
+ * @param name - DID method name (e.g., 'ethr', 'web', 'ion')
16
+ * @param handler - Method-specific implementation
17
+ */
18
+ registerMethod(name, handler) {
19
+ this.methods.set(name.toLowerCase(), handler);
20
+ }
21
+ /**
22
+ * Create a DID identity
23
+ * @throws {Error} If DID method is not supported
24
+ */
25
+ async createIdentity(options) {
26
+ const handler = this.methods.get(options.method.toLowerCase());
27
+ if (!handler) {
28
+ throw new Error(`Unsupported DID method: ${options.method}`);
29
+ }
30
+ return handler.createIdentity(options);
31
+ }
32
+ /**
33
+ * Register a service endpoint for a DID
34
+ * @param serviceEndpoint - Already uploaded URI (e.g., ipfs://...)
35
+ * @throws {Error} If DID method is not supported
36
+ */
37
+ async registerServiceEndpoint(options) {
38
+ const handler = this.methods.get(options.method.toLowerCase());
39
+ if (!handler) {
40
+ throw new Error(`Unsupported DID method: ${options.method}`);
41
+ }
42
+ return handler.registerServiceEndpoint(options);
43
+ }
44
+ /**
45
+ * Extract wallet address from DID
46
+ * Delegates to the appropriate handler based on DID method
47
+ * @param did - DID string
48
+ * @param method - DID method name
49
+ * @returns Wallet address or undefined
50
+ * @throws {Error} If DID method is not supported
51
+ */
52
+ extractWalletAddress(did, method) {
53
+ const handler = this.methods.get(method.toLowerCase());
54
+ if (!handler) {
55
+ throw new Error(`Unsupported DID method: ${method}`);
56
+ }
57
+ return handler.extractWalletAddress(did);
58
+ }
59
+ /**
60
+ * Get default key ID for a DID
61
+ * Delegates to the appropriate handler based on DID method
62
+ * @param did - DID string
63
+ * @param method - DID method name
64
+ * @returns Key identifier
65
+ * @throws {Error} If DID method is not supported
66
+ */
67
+ getKeyId(did, method) {
68
+ const handler = this.methods.get(method.toLowerCase());
69
+ if (!handler) {
70
+ throw new Error(`Unsupported DID method: ${method}`);
71
+ }
72
+ return handler.getKeyId(did);
73
+ }
74
+ }
75
+ //# sourceMappingURL=service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/did/service.ts"],"names":[],"mappings":"AA+CA;;;;GAIG;AACH,MAAM,OAAO,eAAe;IAClB,OAAO,CAAgC;IAE/C;QACE,gEAAgE;QAChE,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,EAAE,CAAC;IAC3B,CAAC;IAED;;;;;OAKG;IACH,cAAc,CAAC,IAAY,EAAE,OAAyB;QACpD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,cAAc,CAAC,OAKpB;QACC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QAC/D,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,2BAA2B,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,uBAAuB,CAAC,OAM7B;QACC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QAC/D,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,2BAA2B,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,OAAO,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAClD,CAAC;IAED;;;;;;;OAOG;IACH,oBAAoB,CAAC,GAAW,EAAE,MAAc;QAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,2BAA2B,MAAM,EAAE,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,OAAO,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;;;OAOG;IACH,QAAQ,CAAC,GAAW,EAAE,MAAc;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,2BAA2B,MAAM,EAAE,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;CACF"}