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.
- package/LICENSE +21 -0
- package/README.md +180 -0
- package/dist/a2a/constants.d.ts +10 -0
- package/dist/a2a/constants.d.ts.map +1 -0
- package/dist/a2a/constants.js +10 -0
- package/dist/a2a/constants.js.map +1 -0
- package/dist/a2a/index.d.ts +23 -0
- package/dist/a2a/index.d.ts.map +1 -0
- package/dist/a2a/index.js +27 -0
- package/dist/a2a/index.js.map +1 -0
- package/dist/a2a/resolution.d.ts +20 -0
- package/dist/a2a/resolution.d.ts.map +1 -0
- package/dist/a2a/resolution.js +55 -0
- package/dist/a2a/resolution.js.map +1 -0
- package/dist/a2a/signing.d.ts +24 -0
- package/dist/a2a/signing.d.ts.map +1 -0
- package/dist/a2a/signing.js +31 -0
- package/dist/a2a/signing.js.map +1 -0
- package/dist/a2a/utils.d.ts +29 -0
- package/dist/a2a/utils.d.ts.map +1 -0
- package/dist/a2a/utils.js +70 -0
- package/dist/a2a/utils.js.map +1 -0
- package/dist/a2a/verification.d.ts +42 -0
- package/dist/a2a/verification.d.ts.map +1 -0
- package/dist/a2a/verification.js +156 -0
- package/dist/a2a/verification.js.map +1 -0
- package/dist/agent.d.ts +99 -0
- package/dist/agent.d.ts.map +1 -0
- package/dist/agent.js +149 -0
- package/dist/agent.js.map +1 -0
- package/dist/did/config-types.d.ts +37 -0
- package/dist/did/config-types.d.ts.map +1 -0
- package/dist/did/config-types.js +6 -0
- package/dist/did/config-types.js.map +1 -0
- package/dist/did/document.d.ts +20 -0
- package/dist/did/document.d.ts.map +1 -0
- package/dist/did/document.js +21 -0
- package/dist/did/document.js.map +1 -0
- package/dist/did/factory.d.ts +31 -0
- package/dist/did/factory.d.ts.map +1 -0
- package/dist/did/factory.js +46 -0
- package/dist/did/factory.js.map +1 -0
- package/dist/did/handlers/ethr-handler.d.ts +62 -0
- package/dist/did/handlers/ethr-handler.d.ts.map +1 -0
- package/dist/did/handlers/ethr-handler.js +184 -0
- package/dist/did/handlers/ethr-handler.js.map +1 -0
- package/dist/did/handlers/web-handler.d.ts +73 -0
- package/dist/did/handlers/web-handler.d.ts.map +1 -0
- package/dist/did/handlers/web-handler.js +170 -0
- package/dist/did/handlers/web-handler.js.map +1 -0
- package/dist/did/index.d.ts +10 -0
- package/dist/did/index.d.ts.map +1 -0
- package/dist/did/index.js +15 -0
- package/dist/did/index.js.map +1 -0
- package/dist/did/resolver.d.ts +85 -0
- package/dist/did/resolver.d.ts.map +1 -0
- package/dist/did/resolver.js +120 -0
- package/dist/did/resolver.js.map +1 -0
- package/dist/did/resolvers/ethr.d.ts +74 -0
- package/dist/did/resolvers/ethr.d.ts.map +1 -0
- package/dist/did/resolvers/ethr.js +67 -0
- package/dist/did/resolvers/ethr.js.map +1 -0
- package/dist/did/resolvers/index.d.ts +8 -0
- package/dist/did/resolvers/index.d.ts.map +1 -0
- package/dist/did/resolvers/index.js +8 -0
- package/dist/did/resolvers/index.js.map +1 -0
- package/dist/did/resolvers/web.d.ts +13 -0
- package/dist/did/resolvers/web.d.ts.map +1 -0
- package/dist/did/resolvers/web.js +97 -0
- package/dist/did/resolvers/web.js.map +1 -0
- package/dist/did/service-loader.d.ts +15 -0
- package/dist/did/service-loader.d.ts.map +1 -0
- package/dist/did/service-loader.js +20 -0
- package/dist/did/service-loader.js.map +1 -0
- package/dist/did/service.d.ts +99 -0
- package/dist/did/service.d.ts.map +1 -0
- package/dist/did/service.js +75 -0
- package/dist/did/service.js.map +1 -0
- package/dist/did/signing.d.ts +19 -0
- package/dist/did/signing.d.ts.map +1 -0
- package/dist/did/signing.js +37 -0
- package/dist/did/signing.js.map +1 -0
- package/dist/did/types.d.ts +134 -0
- package/dist/did/types.d.ts.map +1 -0
- package/dist/did/types.js +2 -0
- package/dist/did/types.js.map +1 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +17 -0
- package/dist/index.js.map +1 -0
- package/dist/types.d.ts +25 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/package.json +70 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export interface JWSSignature {
|
|
2
|
+
protected: string;
|
|
3
|
+
signature: string;
|
|
4
|
+
}
|
|
5
|
+
export interface SignedPayload<T> {
|
|
6
|
+
payload: T;
|
|
7
|
+
signatures: JWSSignature[];
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Sign a payload with a DID using ES256K (secp256k1)
|
|
11
|
+
* @param payload - Data to sign
|
|
12
|
+
* @param did - DID string (e.g., "did:ethr:sepolia:0x...")
|
|
13
|
+
* @param privateKey - Private key (hex string)
|
|
14
|
+
* @returns Signed payload with JWS signatures
|
|
15
|
+
*/
|
|
16
|
+
export declare function signWithDID<T extends object>(payload: T, did: string, privateKey: string, keyId?: string): Promise<T & {
|
|
17
|
+
signatures: JWSSignature[];
|
|
18
|
+
}>;
|
|
19
|
+
//# sourceMappingURL=signing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signing.d.ts","sourceRoot":"","sources":["../../src/did/signing.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,OAAO,EAAE,CAAC,CAAC;IACX,UAAU,EAAE,YAAY,EAAE,CAAC;CAC5B;AAED;;;;;;GAMG;AACH,wBAAsB,WAAW,CAAC,CAAC,SAAS,MAAM,EAChD,OAAO,EAAE,CAAC,EACV,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,EAClB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,CAAC,GAAG;IAAE,UAAU,EAAE,YAAY,EAAE,CAAA;CAAE,CAAC,CA2B7C"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DID Signing Utilities
|
|
3
|
+
* Provides cryptographic signing operations for DIDs
|
|
4
|
+
*/
|
|
5
|
+
import { createJWS, ES256KSigner } from 'did-jwt';
|
|
6
|
+
import * as u8a from 'uint8arrays';
|
|
7
|
+
/**
|
|
8
|
+
* Sign a payload with a DID using ES256K (secp256k1)
|
|
9
|
+
* @param payload - Data to sign
|
|
10
|
+
* @param did - DID string (e.g., "did:ethr:sepolia:0x...")
|
|
11
|
+
* @param privateKey - Private key (hex string)
|
|
12
|
+
* @returns Signed payload with JWS signatures
|
|
13
|
+
*/
|
|
14
|
+
export async function signWithDID(payload, did, privateKey, keyId) {
|
|
15
|
+
// Convert hex string to Uint8Array
|
|
16
|
+
const privateKeyBytes = u8a.fromString(privateKey, 'base16');
|
|
17
|
+
// Create ES256K signer
|
|
18
|
+
const signer = ES256KSigner(privateKeyBytes);
|
|
19
|
+
const keyIdValue = keyId ?? `${did}#controller`;
|
|
20
|
+
// Create JWS
|
|
21
|
+
const jws = await createJWS(payload, signer, { alg: 'ES256K', kid: keyIdValue });
|
|
22
|
+
// Parse JWS (format: "header.payload.signature")
|
|
23
|
+
const [protectedHeader, _payload, signature] = jws.split('.');
|
|
24
|
+
if (!protectedHeader || !signature) {
|
|
25
|
+
throw new Error('Invalid JWS format');
|
|
26
|
+
}
|
|
27
|
+
return {
|
|
28
|
+
...payload,
|
|
29
|
+
signatures: [
|
|
30
|
+
{
|
|
31
|
+
protected: protectedHeader,
|
|
32
|
+
signature,
|
|
33
|
+
},
|
|
34
|
+
],
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=signing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signing.js","sourceRoot":"","sources":["../../src/did/signing.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AAYnC;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAAU,EACV,GAAW,EACX,UAAkB,EAClB,KAAc;IAEd,mCAAmC;IACnC,MAAM,eAAe,GAAG,GAAG,CAAC,UAAU,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAE7D,uBAAuB;IACvB,MAAM,MAAM,GAAG,YAAY,CAAC,eAAe,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,KAAK,IAAI,GAAG,GAAG,aAAa,CAAC;IAEhD,aAAa;IACb,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC;IAEjF,iDAAiD;IACjD,MAAM,CAAC,eAAe,EAAE,QAAQ,EAAE,SAAS,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAE9D,IAAI,CAAC,eAAe,IAAI,CAAC,SAAS,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACxC,CAAC;IAED,OAAO;QACL,GAAG,OAAO;QACV,UAAU,EAAE;YACV;gBACE,SAAS,EAAE,eAAe;gBAC1B,SAAS;aACV;SACF;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DID Types and Interfaces
|
|
3
|
+
* Extensible design for multiple DID methods (did:web, did:ethr)
|
|
4
|
+
* @module did/types
|
|
5
|
+
*/
|
|
6
|
+
import type { Signer } from 'did-jwt';
|
|
7
|
+
/**
|
|
8
|
+
* JSON Web Key (minimal definition for Node.js)
|
|
9
|
+
* @see https://datatracker.ietf.org/doc/html/rfc7517
|
|
10
|
+
*/
|
|
11
|
+
export interface JsonWebKey {
|
|
12
|
+
/** Key type (e.g., "EC", "RSA") */
|
|
13
|
+
kty?: string;
|
|
14
|
+
/** Curve name for EC keys (e.g., "secp256k1") */
|
|
15
|
+
crv?: string;
|
|
16
|
+
/** X coordinate for EC keys (base64url encoded) */
|
|
17
|
+
x?: string;
|
|
18
|
+
/** Y coordinate for EC keys (base64url encoded) */
|
|
19
|
+
y?: string;
|
|
20
|
+
/** Private key for EC keys (base64url encoded) */
|
|
21
|
+
d?: string;
|
|
22
|
+
/** Modulus for RSA keys */
|
|
23
|
+
n?: string;
|
|
24
|
+
/** Exponent for RSA keys */
|
|
25
|
+
e?: string;
|
|
26
|
+
/** Key ID */
|
|
27
|
+
kid?: string;
|
|
28
|
+
/** Public key use (e.g., "sig", "enc") */
|
|
29
|
+
use?: string;
|
|
30
|
+
/** Algorithm (e.g., "ES256K") */
|
|
31
|
+
alg?: string;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Verification Method in DID Document
|
|
35
|
+
* @see https://www.w3.org/TR/did-core/#verification-methods
|
|
36
|
+
*/
|
|
37
|
+
export interface VerificationMethod {
|
|
38
|
+
/** Verification method ID (e.g., "did:web:example.com#key-1") */
|
|
39
|
+
id: string;
|
|
40
|
+
/** Type of verification method (e.g., "JsonWebKey2020") */
|
|
41
|
+
type: string;
|
|
42
|
+
/** DID of the controller */
|
|
43
|
+
controller: string;
|
|
44
|
+
/** Public key in JWK format */
|
|
45
|
+
publicKeyJwk?: JsonWebKey;
|
|
46
|
+
/** Public key in multibase format */
|
|
47
|
+
publicKeyMultibase?: string;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Service Endpoint in DID Document
|
|
51
|
+
* Used for self-declaration of communication endpoints
|
|
52
|
+
* @see https://www.w3.org/TR/did-core/#services
|
|
53
|
+
*/
|
|
54
|
+
export interface ServiceEndpoint {
|
|
55
|
+
/** Service ID (e.g., "did:web:example.com#agent-card") */
|
|
56
|
+
id: string;
|
|
57
|
+
/** Service type (e.g., "A2AAgentCard") */
|
|
58
|
+
type: string;
|
|
59
|
+
/** Service endpoint URL or configuration */
|
|
60
|
+
serviceEndpoint: string | string[] | Record<string, unknown>;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* DID Document (W3C DID Core compliant)
|
|
64
|
+
* @see https://www.w3.org/TR/did-core/#core-properties
|
|
65
|
+
*/
|
|
66
|
+
export interface DIDDocument {
|
|
67
|
+
/** JSON-LD context */
|
|
68
|
+
'@context': string | string[];
|
|
69
|
+
/** The DID subject */
|
|
70
|
+
id: string;
|
|
71
|
+
/** Controller DID(s) */
|
|
72
|
+
controller?: string | string[];
|
|
73
|
+
/** Verification methods */
|
|
74
|
+
verificationMethod?: VerificationMethod[];
|
|
75
|
+
/** Authentication verification methods */
|
|
76
|
+
authentication?: (string | VerificationMethod)[];
|
|
77
|
+
/** Assertion verification methods */
|
|
78
|
+
assertionMethod?: (string | VerificationMethod)[];
|
|
79
|
+
/** Key agreement verification methods */
|
|
80
|
+
keyAgreement?: (string | VerificationMethod)[];
|
|
81
|
+
/** Service endpoints */
|
|
82
|
+
service?: ServiceEndpoint[];
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Options for creating a new DID
|
|
86
|
+
*/
|
|
87
|
+
export interface DIDCreateOptions {
|
|
88
|
+
/** Domain for did:web (e.g., "example.com" or "localhost:3001") */
|
|
89
|
+
domain?: string;
|
|
90
|
+
/** Path segments for did:web (e.g., ['agents', 'agent-a']) */
|
|
91
|
+
path?: string[];
|
|
92
|
+
/** Controller DID (e.g., a Human's DID that controls this Agent) */
|
|
93
|
+
controller?: string;
|
|
94
|
+
/** Service endpoints to include in the DID Document */
|
|
95
|
+
services?: ServiceEndpoint[];
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Result of creating a new DID identity
|
|
99
|
+
* Contains everything needed to use the DID for signing and verification
|
|
100
|
+
*/
|
|
101
|
+
export interface DIDIdentity {
|
|
102
|
+
/** The DID string (e.g., "did:web:example.com:agents:bot-1") */
|
|
103
|
+
did: string;
|
|
104
|
+
/** Key ID for signing (e.g., "did:web:example.com:agents:bot-1#key-1") */
|
|
105
|
+
keyId: string;
|
|
106
|
+
/** Signer function for creating JWS/JWT signatures */
|
|
107
|
+
signer: Signer;
|
|
108
|
+
/**
|
|
109
|
+
* The DID Document (optional)
|
|
110
|
+
* - did:web: Available immediately (locally generated for HTTP serving)
|
|
111
|
+
* - did:ethr: Not available at creation time (resolve via resolveDID() when needed)
|
|
112
|
+
*/
|
|
113
|
+
document?: DIDDocument;
|
|
114
|
+
/** Private key bytes (for storage/recovery) */
|
|
115
|
+
privateKey: Uint8Array;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* DID Resolution Result
|
|
119
|
+
* @see https://www.w3.org/TR/did-core/#did-resolution
|
|
120
|
+
*/
|
|
121
|
+
export interface DIDResolutionResult {
|
|
122
|
+
/** The resolved DID Document, or null if resolution failed */
|
|
123
|
+
didDocument: DIDDocument | null;
|
|
124
|
+
/** Metadata about the DID Document */
|
|
125
|
+
didDocumentMetadata: Record<string, unknown>;
|
|
126
|
+
/** Metadata about the resolution process */
|
|
127
|
+
didResolutionMetadata: {
|
|
128
|
+
/** Error code if resolution failed */
|
|
129
|
+
error?: string;
|
|
130
|
+
/** Error message */
|
|
131
|
+
message?: string;
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/did/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/did/types.ts"],"names":[],"mappings":""}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Core package entry point
|
|
3
|
+
* Exports DID-related types, providers, resolvers, and helper utilities
|
|
4
|
+
* for creating and managing decentralized identities
|
|
5
|
+
*/
|
|
6
|
+
export * from './did/types.js';
|
|
7
|
+
export * from './did/config-types.js';
|
|
8
|
+
export * from './did/resolver.js';
|
|
9
|
+
export * from './did/factory.js';
|
|
10
|
+
export * from './did/service.js';
|
|
11
|
+
export * from './did/service-loader.js';
|
|
12
|
+
export * from './did/signing.js';
|
|
13
|
+
export * from './did/document.js';
|
|
14
|
+
export * from './a2a/index.js';
|
|
15
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,gBAAgB,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Core package entry point
|
|
3
|
+
* Exports DID-related types, providers, resolvers, and helper utilities
|
|
4
|
+
* for creating and managing decentralized identities
|
|
5
|
+
*/
|
|
6
|
+
// DID module
|
|
7
|
+
export * from './did/types.js';
|
|
8
|
+
export * from './did/config-types.js';
|
|
9
|
+
export * from './did/resolver.js';
|
|
10
|
+
export * from './did/factory.js';
|
|
11
|
+
export * from './did/service.js';
|
|
12
|
+
export * from './did/service-loader.js';
|
|
13
|
+
export * from './did/signing.js';
|
|
14
|
+
export * from './did/document.js';
|
|
15
|
+
// A2A integration (DID-based signing and verification)
|
|
16
|
+
export * from './a2a/index.js';
|
|
17
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,aAAa;AACb,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAElC,uDAAuD;AACvD,cAAc,gBAAgB,CAAC"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Signed payload in JWS format.
|
|
3
|
+
* @typeParam T - Payload type
|
|
4
|
+
*/
|
|
5
|
+
export interface SignedPayload<T = Record<string, unknown>> {
|
|
6
|
+
/** JWS compact serialization */
|
|
7
|
+
jws: string;
|
|
8
|
+
/** Original payload */
|
|
9
|
+
payload: T;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Verification result.
|
|
13
|
+
* @typeParam T - Payload type
|
|
14
|
+
*/
|
|
15
|
+
export interface VerificationResult<T = Record<string, unknown>> {
|
|
16
|
+
/** Whether the signature is valid */
|
|
17
|
+
verified: boolean;
|
|
18
|
+
/** Issuer DID (empty if failed) */
|
|
19
|
+
issuer: string;
|
|
20
|
+
/** Verified payload (null if failed) */
|
|
21
|
+
payload: T | null;
|
|
22
|
+
/** Error message (if failed) */
|
|
23
|
+
error?: string;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACxD,gCAAgC;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,uBAAuB;IACvB,OAAO,EAAE,CAAC,CAAC;CACZ;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC7D,qCAAqC;IACrC,QAAQ,EAAE,OAAO,CAAC;IAClB,mCAAmC;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,wCAAwC;IACxC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC;IAClB,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
|
package/package.json
ADDED
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "a2a-did",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "DID-based authentication for A2A Protocol - Sign and verify agent messages with did:web and did:ethr",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"types": "dist/index.d.ts",
|
|
8
|
+
"sideEffects": false,
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"types": "./dist/index.d.ts",
|
|
12
|
+
"import": "./dist/index.js"
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"engines": {
|
|
16
|
+
"node": ">=22.0.0"
|
|
17
|
+
},
|
|
18
|
+
"license": "MIT",
|
|
19
|
+
"author": "humuhimi",
|
|
20
|
+
"repository": {
|
|
21
|
+
"type": "git",
|
|
22
|
+
"url": "git+https://github.com/humuhimi/a2a-did.git"
|
|
23
|
+
},
|
|
24
|
+
"homepage": "https://github.com/humuhimi/a2a-did#readme",
|
|
25
|
+
"bugs": {
|
|
26
|
+
"url": "https://github.com/humuhimi/a2a-did/issues"
|
|
27
|
+
},
|
|
28
|
+
"keywords": [
|
|
29
|
+
"a2a",
|
|
30
|
+
"did",
|
|
31
|
+
"agent",
|
|
32
|
+
"authentication",
|
|
33
|
+
"decentralized-identity",
|
|
34
|
+
"did-web",
|
|
35
|
+
"did-ethr",
|
|
36
|
+
"jws",
|
|
37
|
+
"ai-agent"
|
|
38
|
+
],
|
|
39
|
+
"files": [
|
|
40
|
+
"dist",
|
|
41
|
+
"README.md",
|
|
42
|
+
"LICENSE"
|
|
43
|
+
],
|
|
44
|
+
"dependencies": {
|
|
45
|
+
"@helia/verified-fetch": "^5.1.1",
|
|
46
|
+
"@noble/secp256k1": "^3.0.0",
|
|
47
|
+
"did-jwt": "^8.0.18",
|
|
48
|
+
"did-resolver": "^4.1.0",
|
|
49
|
+
"ethers": "^6.16.0",
|
|
50
|
+
"ethr-did": "^3.0.38",
|
|
51
|
+
"ethr-did-resolver": "^11.0.5",
|
|
52
|
+
"multiformats": "^13.4.2",
|
|
53
|
+
"uint8arrays": "^5.1.0",
|
|
54
|
+
"web-did-resolver": "^2.0.32"
|
|
55
|
+
},
|
|
56
|
+
"devDependencies": {
|
|
57
|
+
"@types/node": "^25.0.3",
|
|
58
|
+
"@vitest/coverage-v8": "^4.0.16",
|
|
59
|
+
"tsx": "^4.21.0",
|
|
60
|
+
"typescript": "^5.9.3",
|
|
61
|
+
"vitest": "^4.0.16"
|
|
62
|
+
},
|
|
63
|
+
"scripts": {
|
|
64
|
+
"build": "tsc",
|
|
65
|
+
"dev": "tsc --watch",
|
|
66
|
+
"test": "vitest run",
|
|
67
|
+
"test:watch": "vitest",
|
|
68
|
+
"test:coverage": "vitest run --coverage"
|
|
69
|
+
}
|
|
70
|
+
}
|