@extrimian/agent 0.12.0-10 → 0.12.0-11
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/dist/agent.d.ts +77 -0
- package/dist/agent.js +173 -173
- package/dist/agent.js.map +1 -1
- package/dist/data-share-behaviours/data-share-behavior.d.ts +4 -0
- package/dist/data-share-behaviours/data-share-behavior.js +3 -0
- package/dist/data-share-behaviours/data-share-behavior.js.map +1 -0
- package/dist/data-share-behaviours/identity-data-share-behavior.d.ts +16 -0
- package/dist/data-share-behaviours/identity-data-share-behavior.js +3 -0
- package/dist/data-share-behaviours/identity-data-share-behavior.js.map +1 -0
- package/dist/data-share-behaviours/identity-plaintext-data-share-behavior.d.ts +5 -0
- package/dist/data-share-behaviours/identity-plaintext-data-share-behavior.js +16 -0
- package/dist/data-share-behaviours/identity-plaintext-data-share-behavior.js.map +1 -0
- package/dist/data-share-behaviours/vcs/vc-share-behavior.d.ts +12 -0
- package/dist/data-share-behaviours/vcs/vc-share-behavior.js +3 -0
- package/dist/data-share-behaviours/vcs/vc-share-behavior.js.map +1 -0
- package/dist/data-share-behaviours/vcs/vc-share-didcomm-behavior.d.ts +20 -0
- package/dist/data-share-behaviours/vcs/vc-share-didcomm-behavior.js +30 -0
- package/dist/data-share-behaviours/vcs/vc-share-didcomm-behavior.js.map +1 -0
- package/dist/did/did-services.d.ts +14 -0
- package/dist/did/did-services.js +15 -0
- package/dist/did/did-services.js.map +1 -0
- package/dist/exceptions/agent-plugin-not-found.d.ts +2 -0
- package/dist/exceptions/agent-plugin-not-found.js +7 -0
- package/dist/exceptions/agent-plugin-not-found.js.map +1 -0
- package/dist/exceptions/vc-protocol-not-found.d.ts +3 -0
- package/dist/exceptions/vc-protocol-not-found.js +12 -0
- package/dist/exceptions/vc-protocol-not-found.js.map +1 -0
- package/dist/index.d.ts +32 -0
- package/dist/index.js +60 -60
- package/dist/messaging/messaging.d.ts +41 -0
- package/dist/messaging/messaging.js +90 -90
- package/dist/models/agent-identity.d.ts +86 -0
- package/dist/models/agent-identity.js +399 -399
- package/dist/models/agent-kms.d.ts +42 -0
- package/dist/models/agent-kms.js +79 -0
- package/dist/models/agent-kms.js.map +1 -0
- package/dist/models/agent-pbk.d.ts +11 -0
- package/dist/models/agent-pbk.js +12 -0
- package/dist/models/agent-pbk.js.map +1 -0
- package/dist/models/agent-registry.d.ts +95 -95
- package/dist/models/agent-registry.js +130 -130
- package/dist/models/agent-resolver-cache.d.ts +21 -0
- package/dist/models/agent-resolver-cache.js +48 -0
- package/dist/models/agent-resolver-cache.js.map +1 -0
- package/dist/models/agent-resolver.d.ts +19 -0
- package/dist/models/agent-resolver.js +34 -0
- package/dist/models/agent-resolver.js.map +1 -0
- package/dist/models/agent-secure-storage.d.ts +3 -0
- package/dist/models/agent-secure-storage.js +3 -0
- package/dist/models/agent-secure-storage.js.map +1 -0
- package/dist/models/agent-secure-storages/filesystem-agent-secure-storage.d.ts +14 -0
- package/dist/models/agent-secure-storages/filesystem-agent-secure-storage.js +49 -0
- package/dist/models/agent-secure-storages/filesystem-agent-secure-storage.js.map +1 -0
- package/dist/models/agent-storage.d.ts +9 -0
- package/dist/models/agent-storage.js +3 -0
- package/dist/models/agent-storage.js.map +1 -0
- package/dist/models/did.d.ts +19 -0
- package/dist/models/did.js +64 -0
- package/dist/models/did.js.map +1 -0
- package/dist/models/transports/ami-transport.d.ts +30 -0
- package/dist/models/transports/ami-transport.js +184 -0
- package/dist/models/transports/ami-transport.js.map +1 -0
- package/dist/models/transports/connectable-transport.d.ts +25 -0
- package/dist/models/transports/connectable-transport.js +26 -0
- package/dist/models/transports/connectable-transport.js.map +1 -0
- package/dist/models/transports/dwn-transport.d.ts +32 -0
- package/dist/models/transports/dwn-transport.js +192 -0
- package/dist/models/transports/dwn-transport.js.map +1 -0
- package/dist/models/transports/messaging-transport.d.ts +3 -0
- package/dist/models/transports/messaging-transport.js +3 -0
- package/dist/models/transports/messaging-transport.js.map +1 -0
- package/dist/models/transports/transport.d.ts +30 -0
- package/dist/models/transports/transport.js +8 -0
- package/dist/models/transports/transport.js.map +1 -0
- package/dist/models/transports/websocket-client-transport.d.ts +5 -0
- package/dist/models/transports/websocket-client-transport.js +34 -0
- package/dist/models/transports/websocket-client-transport.js.map +1 -0
- package/dist/models/transports/websocket-server-transport.d.ts +7 -0
- package/dist/models/transports/websocket-server-transport.js +22 -0
- package/dist/models/transports/websocket-server-transport.js.map +1 -0
- package/dist/models/transports/websocket-transport.d.ts +30 -0
- package/dist/models/transports/websocket-transport.js +85 -0
- package/dist/models/transports/websocket-transport.js.map +1 -0
- package/dist/models/vc-storage.d.ts +8 -0
- package/dist/models/vc-storage.js +3 -0
- package/dist/models/vc-storage.js.map +1 -0
- package/dist/plugins/iplugin.d.ts +17 -0
- package/dist/plugins/iplugin.js +3 -0
- package/dist/plugins/iplugin.js.map +1 -0
- package/dist/plugins/istatus-list-plugin.d.ts +14 -0
- package/dist/plugins/istatus-list-plugin.js +3 -0
- package/dist/plugins/istatus-list-plugin.js.map +1 -0
- package/dist/plugins/ivc-interceptor-plugin.d.ts +9 -0
- package/dist/plugins/ivc-interceptor-plugin.js +3 -0
- package/dist/plugins/ivc-interceptor-plugin.js.map +1 -0
- package/dist/plugins/plugin-dispatcher.d.ts +6 -0
- package/dist/plugins/plugin-dispatcher.js +20 -0
- package/dist/plugins/plugin-dispatcher.js.map +1 -0
- package/dist/transport/transport.d.ts +43 -0
- package/dist/transport/transport.js +110 -0
- package/dist/transport/transport.js.map +1 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.js +15 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/lite-event.d.ts +25 -0
- package/dist/utils/lite-event.js +37 -0
- package/dist/utils/lite-event.js.map +1 -0
- package/dist/vc/models/credentia-flow.d.ts +4 -0
- package/dist/vc/models/credentia-flow.js +9 -0
- package/dist/vc/models/credentia-flow.js.map +1 -0
- package/dist/vc/models/credential-request.d.ts +3 -0
- package/dist/vc/models/credential-request.js +3 -0
- package/dist/vc/models/credential-request.js.map +1 -0
- package/dist/vc/models/vc-create-key-request.d.ts +4 -0
- package/dist/vc/models/vc-create-key-request.js +3 -0
- package/dist/vc/models/vc-create-key-request.js.map +1 -0
- package/dist/vc/models/waci-message.d.ts +3 -0
- package/dist/vc/models/waci-message.js +8 -0
- package/dist/vc/models/waci-message.js.map +1 -0
- package/dist/vc/protocols/openid-protocol.d.ts +161 -0
- package/dist/vc/protocols/openid-protocol.js +126 -0
- package/dist/vc/protocols/openid-protocol.js.map +1 -0
- package/dist/vc/protocols/vc-protocol.d.ts +106 -0
- package/dist/vc/protocols/vc-protocol.js +37 -0
- package/dist/vc/protocols/vc-protocol.js.map +1 -0
- package/dist/vc/protocols/waci-protocol.d.ts +183 -0
- package/dist/vc/protocols/waci-protocol.js +553 -0
- package/dist/vc/protocols/waci-protocol.js.map +1 -0
- package/dist/vc/vc-setup/vc-setup.js +1 -0
- package/dist/vc/vc-setup/vc-setup.js.map +1 -0
- package/dist/vc/vc.d.ts +225 -0
- package/dist/vc/vc.js +328 -328
- package/package.json +19 -20
- package/readme.md +392 -392
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AgentModenaResolverCached = exports.AgentModenaUniversalResolverCached = void 0;
|
|
4
|
+
const did_resolver_1 = require("@extrimian/did-resolver");
|
|
5
|
+
const LRU = require('lru-cache');
|
|
6
|
+
class AgentModenaUniversalResolverCached {
|
|
7
|
+
constructor(resolverURL, cacheOptions) {
|
|
8
|
+
this.universalResolver = new did_resolver_1.DIDUniversalResolver({
|
|
9
|
+
universalResolverURL: resolverURL,
|
|
10
|
+
});
|
|
11
|
+
this.cache = new LRU({
|
|
12
|
+
max: (cacheOptions === null || cacheOptions === void 0 ? void 0 : cacheOptions.maxItems) || 10000,
|
|
13
|
+
ttl: 1000 * ((cacheOptions === null || cacheOptions === void 0 ? void 0 : cacheOptions.durationInSeconds) || 30)
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
async resolve(did) {
|
|
17
|
+
return (await this.resolveWithMetdata(did)).didDocument;
|
|
18
|
+
}
|
|
19
|
+
async resolveWithMetdata(did) {
|
|
20
|
+
if (this.cache.has(did.value)) {
|
|
21
|
+
return this.cache.get(did.value);
|
|
22
|
+
}
|
|
23
|
+
const didDocWithMetadata = await this.universalResolver.resolveDIDWithMetadata(did.value);
|
|
24
|
+
this.cache.set(did.value, didDocWithMetadata);
|
|
25
|
+
return didDocWithMetadata;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
exports.AgentModenaUniversalResolverCached = AgentModenaUniversalResolverCached;
|
|
29
|
+
class AgentModenaResolverCached {
|
|
30
|
+
constructor(resolverURL) {
|
|
31
|
+
this.modenaResolver = new did_resolver_1.DIDModenaResolver({
|
|
32
|
+
modenaURL: resolverURL,
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
async resolve(did) {
|
|
36
|
+
return (await this.resolveWithMetdata(did)).didDocument;
|
|
37
|
+
}
|
|
38
|
+
async resolveWithMetdata(did) {
|
|
39
|
+
if (this.cache.has(did.value)) {
|
|
40
|
+
return this.cache.get(did.value);
|
|
41
|
+
}
|
|
42
|
+
const didDocWithMetadata = await this.modenaResolver.resolveDIDWithMetadata(did.getDidMethod());
|
|
43
|
+
this.cache.set(did.value, didDocWithMetadata);
|
|
44
|
+
return didDocWithMetadata;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
exports.AgentModenaResolverCached = AgentModenaResolverCached;
|
|
48
|
+
//# sourceMappingURL=agent-resolver-cache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-resolver-cache.js","sourceRoot":"","sources":["../../src/models/agent-resolver-cache.ts"],"names":[],"mappings":";;;AACA,0DAAiG;AAEjG,MAAM,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AAGjC,MAAa,kCAAkC;IAI3C,YAAY,WAAmB,EAAE,YAGhC;QACG,IAAI,CAAC,iBAAiB,GAAG,IAAI,mCAAoB,CAAC;YAC9C,oBAAoB,EAAE,WAAW;SACpC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,CAAC;YACjB,GAAG,EAAE,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,QAAQ,KAAI,KAAK;YACpC,GAAG,EAAE,IAAI,GAAG,CAAC,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,iBAAiB,KAAI,EAAE,CAAC;SACtD,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAQ;QAClB,OAAO,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,GAAQ;QAC7B,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;SACpC;QACD,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC1F,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;QAC9C,OAAO,kBAAkB,CAAC;IAC9B,CAAC;CACJ;AA9BD,gFA8BC;AAED,MAAa,yBAAyB;IAIlC,YAAY,WAAmB;QAC3B,IAAI,CAAC,cAAc,GAAG,IAAI,gCAAiB,CAAC;YACxC,SAAS,EAAE,WAAW;SACzB,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAQ;QAClB,OAAO,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,GAAQ;QAC7B,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;SACpC;QACD,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,sBAAsB,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC;QAChG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;QAC9C,OAAO,kBAAkB,CAAC;IAC9B,CAAC;CAEJ;AAvBD,8DAuBC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { DIDDocument } from "@extrimian/did-core";
|
|
2
|
+
import { DIDModenaResolver, DIDUniversalResolver, ModenaResponse } from "@extrimian/did-resolver";
|
|
3
|
+
import { DID } from "./did";
|
|
4
|
+
export interface IAgentResolver {
|
|
5
|
+
resolve(did: DID): Promise<DIDDocument>;
|
|
6
|
+
resolveWithMetdata(did: DID): Promise<ModenaResponse>;
|
|
7
|
+
}
|
|
8
|
+
export declare class AgentModenaUniversalResolver implements IAgentResolver {
|
|
9
|
+
universalResolver: DIDUniversalResolver;
|
|
10
|
+
constructor(resolverURL: string);
|
|
11
|
+
resolve(did: DID): Promise<DIDDocument>;
|
|
12
|
+
resolveWithMetdata(did: DID): Promise<ModenaResponse>;
|
|
13
|
+
}
|
|
14
|
+
export declare class AgentModenaResolver implements IAgentResolver {
|
|
15
|
+
modenaResolver: DIDModenaResolver;
|
|
16
|
+
constructor(resolverURL: string);
|
|
17
|
+
resolve(did: DID): Promise<DIDDocument>;
|
|
18
|
+
resolveWithMetdata(did: DID): Promise<ModenaResponse>;
|
|
19
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AgentModenaResolver = exports.AgentModenaUniversalResolver = void 0;
|
|
4
|
+
const did_resolver_1 = require("@extrimian/did-resolver");
|
|
5
|
+
class AgentModenaUniversalResolver {
|
|
6
|
+
constructor(resolverURL) {
|
|
7
|
+
this.universalResolver = new did_resolver_1.DIDUniversalResolver({
|
|
8
|
+
universalResolverURL: resolverURL,
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
async resolve(did) {
|
|
12
|
+
return await this.universalResolver.resolveDID(did.value);
|
|
13
|
+
}
|
|
14
|
+
async resolveWithMetdata(did) {
|
|
15
|
+
return await this.universalResolver.resolveDIDWithMetadata(did.value);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
exports.AgentModenaUniversalResolver = AgentModenaUniversalResolver;
|
|
19
|
+
class AgentModenaResolver {
|
|
20
|
+
constructor(resolverURL) {
|
|
21
|
+
this.modenaResolver = new did_resolver_1.DIDModenaResolver({
|
|
22
|
+
modenaURL: resolverURL,
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
async resolve(did) {
|
|
26
|
+
const didDocumentResult = await this.modenaResolver.resolveDID(did.getDIDSuffix());
|
|
27
|
+
return didDocumentResult;
|
|
28
|
+
}
|
|
29
|
+
async resolveWithMetdata(did) {
|
|
30
|
+
return await this.modenaResolver.resolveDIDWithMetadata(did.value);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
exports.AgentModenaResolver = AgentModenaResolver;
|
|
34
|
+
//# sourceMappingURL=agent-resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-resolver.js","sourceRoot":"","sources":["../../src/models/agent-resolver.ts"],"names":[],"mappings":";;;AACA,0DAAiG;AAQjG,MAAa,4BAA4B;IAGrC,YAAY,WAAmB;QAC3B,IAAI,CAAC,iBAAiB,GAAG,IAAI,mCAAoB,CAAC;YAC9C,oBAAoB,EAAE,WAAW;SACpC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAQ;QAClB,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,GAAQ;QAC7B,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC1E,CAAC;CACJ;AAhBD,oEAgBC;AAED,MAAa,mBAAmB;IAG5B,YAAY,WAAmB;QAC3B,IAAI,CAAC,cAAc,GAAG,IAAI,gCAAiB,CAAC;YACxC,SAAS,EAAE,WAAW;SACzB,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAQ;QAClB,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC;QACnF,OAAO,iBAAiB,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,GAAQ;QAC7B,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACvE,CAAC;CAEJ;AAlBD,kDAkBC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-secure-storage.js","sourceRoot":"","sources":["../../src/models/agent-secure-storage.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { AgentSecureStorage } from "../agent-secure-storage";
|
|
2
|
+
export declare class FileSystemAgentSecureStorage implements AgentSecureStorage {
|
|
3
|
+
readonly filepath: string;
|
|
4
|
+
constructor(params: {
|
|
5
|
+
filepath: string;
|
|
6
|
+
});
|
|
7
|
+
add(key: string, data: any): Promise<void>;
|
|
8
|
+
get(key: string): Promise<any>;
|
|
9
|
+
getAll(): Promise<Map<string, any>>;
|
|
10
|
+
update(key: string, data: any): void;
|
|
11
|
+
remove(key: string): void;
|
|
12
|
+
private getData;
|
|
13
|
+
private saveData;
|
|
14
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FileSystemAgentSecureStorage = void 0;
|
|
4
|
+
const fs_1 = require("fs");
|
|
5
|
+
class FileSystemAgentSecureStorage {
|
|
6
|
+
constructor(params) {
|
|
7
|
+
this.filepath = params.filepath;
|
|
8
|
+
}
|
|
9
|
+
async add(key, data) {
|
|
10
|
+
const map = this.getData();
|
|
11
|
+
map.set(key, data);
|
|
12
|
+
this.saveData(map);
|
|
13
|
+
}
|
|
14
|
+
async get(key) {
|
|
15
|
+
return this.getData().get(key);
|
|
16
|
+
}
|
|
17
|
+
async getAll() {
|
|
18
|
+
return this.getData();
|
|
19
|
+
}
|
|
20
|
+
update(key, data) {
|
|
21
|
+
const map = this.getData();
|
|
22
|
+
map.set(key, data);
|
|
23
|
+
this.saveData(map);
|
|
24
|
+
}
|
|
25
|
+
remove(key) {
|
|
26
|
+
const map = this.getData();
|
|
27
|
+
map.delete(key);
|
|
28
|
+
this.saveData(map);
|
|
29
|
+
}
|
|
30
|
+
getData() {
|
|
31
|
+
if (!(0, fs_1.existsSync)(this.filepath)) {
|
|
32
|
+
return new Map();
|
|
33
|
+
}
|
|
34
|
+
const file = (0, fs_1.readFileSync)(this.filepath, {
|
|
35
|
+
encoding: "utf-8",
|
|
36
|
+
});
|
|
37
|
+
if (!file) {
|
|
38
|
+
return new Map();
|
|
39
|
+
}
|
|
40
|
+
return new Map(Object.entries(JSON.parse(file)));
|
|
41
|
+
}
|
|
42
|
+
saveData(data) {
|
|
43
|
+
(0, fs_1.writeFileSync)(this.filepath, JSON.stringify(Object.fromEntries(data)), {
|
|
44
|
+
encoding: "utf-8",
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
exports.FileSystemAgentSecureStorage = FileSystemAgentSecureStorage;
|
|
49
|
+
//# sourceMappingURL=filesystem-agent-secure-storage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filesystem-agent-secure-storage.js","sourceRoot":"","sources":["../../../src/models/agent-secure-storages/filesystem-agent-secure-storage.ts"],"names":[],"mappings":";;;AACA,2BAAqF;AAErF,MAAa,4BAA4B;IAIrC,YAAY,MAEX;QACG,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,IAAS;QAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC3B,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACnB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW;QACjB,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IAC1B,CAAC;IAED,MAAM,CAAC,GAAW,EAAE,IAAS;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC3B,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACnB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;IAED,MAAM,CAAC,GAAW;QACd,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC3B,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAChB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;IAEO,OAAO;QACX,IAAI,CAAC,IAAA,eAAU,EAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YAC5B,OAAO,IAAI,GAAG,EAAE,CAAC;SACpB;QAED,MAAM,IAAI,GAAG,IAAA,iBAAY,EAAC,IAAI,CAAC,QAAQ,EAAE;YACrC,QAAQ,EAAE,OAAO;SACpB,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,EAAE;YACP,OAAO,IAAI,GAAG,EAAE,CAAC;SACpB;QAED,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACrD,CAAC;IAEO,QAAQ,CAAC,IAAsB;QACnC,IAAA,kBAAa,EAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE;YACnE,QAAQ,EAAE,OAAO;SACpB,CAAC,CAAC;IACP,CAAC;CACJ;AAzDD,oEAyDC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export interface IStorage {
|
|
2
|
+
add(key: string, data: any): Promise<void>;
|
|
3
|
+
get<T = any>(key: string): Promise<T>;
|
|
4
|
+
getAll(): Promise<Map<string, any>>;
|
|
5
|
+
update(key: string, data: any): any;
|
|
6
|
+
remove(key: string): any;
|
|
7
|
+
}
|
|
8
|
+
export interface IAgentStorage extends IStorage {
|
|
9
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-storage.js","sourceRoot":"","sources":["../../src/models/agent-storage.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export declare class DID {
|
|
2
|
+
value: string;
|
|
3
|
+
private constructor();
|
|
4
|
+
/**
|
|
5
|
+
* This method converts a string value or full verification method id to a data value DID object.
|
|
6
|
+
*
|
|
7
|
+
* @param did - DID input. This value can also be a full verification method id.
|
|
8
|
+
* @returns Data value object that represent a DID
|
|
9
|
+
*/
|
|
10
|
+
static from(did: string): DID;
|
|
11
|
+
validate(did: string): boolean;
|
|
12
|
+
getDidMethod(): string;
|
|
13
|
+
isEqual(other: DID): boolean;
|
|
14
|
+
isLongDIDFor(shortDID: DID): boolean;
|
|
15
|
+
isShortDIDFor(longDID: DID): boolean;
|
|
16
|
+
getDIDSuffix(): string;
|
|
17
|
+
private getLongDIDSuffix;
|
|
18
|
+
isLongDID(): boolean;
|
|
19
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DID = void 0;
|
|
4
|
+
const base_64_1 = require("base-64");
|
|
5
|
+
class DID {
|
|
6
|
+
constructor(did) {
|
|
7
|
+
if (this.validate(did)) {
|
|
8
|
+
this.value = did;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* This method converts a string value or full verification method id to a data value DID object.
|
|
13
|
+
*
|
|
14
|
+
* @param did - DID input. This value can also be a full verification method id.
|
|
15
|
+
* @returns Data value object that represent a DID
|
|
16
|
+
*/
|
|
17
|
+
static from(did) {
|
|
18
|
+
if ((did === null || did === void 0 ? void 0 : did.indexOf('#')) > -1) {
|
|
19
|
+
return new DID(did.substring(0, did.indexOf('#')));
|
|
20
|
+
}
|
|
21
|
+
return new DID(did);
|
|
22
|
+
}
|
|
23
|
+
validate(did) {
|
|
24
|
+
return true;
|
|
25
|
+
}
|
|
26
|
+
getDidMethod() {
|
|
27
|
+
return this.value.substring(0, this.value.lastIndexOf(':'));
|
|
28
|
+
}
|
|
29
|
+
isEqual(other) {
|
|
30
|
+
// Lógica de comparación personalizada aquí
|
|
31
|
+
// Compara los atributos relevantes de los objetos y devuelve true si son iguales, false en caso contrario
|
|
32
|
+
return this.value == other.value;
|
|
33
|
+
}
|
|
34
|
+
isLongDIDFor(shortDID) {
|
|
35
|
+
return !shortDID.isLongDID() && this.isLongDID() && this.value.indexOf(shortDID.value) != -1;
|
|
36
|
+
}
|
|
37
|
+
isShortDIDFor(longDID) {
|
|
38
|
+
return longDID.isLongDIDFor(this);
|
|
39
|
+
}
|
|
40
|
+
getDIDSuffix() {
|
|
41
|
+
return this.isLongDID() ? this.getLongDIDSuffix() : this.value.substring(this.value.lastIndexOf(":") + 1);
|
|
42
|
+
}
|
|
43
|
+
getLongDIDSuffix() {
|
|
44
|
+
const ultimoIndice = this.value.lastIndexOf(":");
|
|
45
|
+
if (ultimoIndice === -1) {
|
|
46
|
+
return null;
|
|
47
|
+
}
|
|
48
|
+
const index = this.value.lastIndexOf(":", ultimoIndice - 1);
|
|
49
|
+
return this.value.substring(index + 1);
|
|
50
|
+
}
|
|
51
|
+
isLongDID() {
|
|
52
|
+
try {
|
|
53
|
+
const lastSegment = this.value.substring(this.value.lastIndexOf(':') + 1);
|
|
54
|
+
const data = (0, base_64_1.decode)(lastSegment);
|
|
55
|
+
const obj = JSON.parse(data);
|
|
56
|
+
return obj.delta != null;
|
|
57
|
+
}
|
|
58
|
+
catch {
|
|
59
|
+
return false;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
exports.DID = DID;
|
|
64
|
+
//# sourceMappingURL=did.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"did.js","sourceRoot":"","sources":["../../src/models/did.ts"],"names":[],"mappings":";;;AAAA,qCAAiC;AAEjC,MAAa,GAAG;IAGd,YAAoB,GAAW;QAC7B,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YACtB,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;SAClB;IACH,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,IAAI,CAAC,GAAW;QACrB,IAAI,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,CAAC,GAAG,CAAC,IAAG,CAAC,CAAC,EAAE;YAC1B,OAAO,IAAI,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SACpD;QACD,OAAO,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IAED,QAAQ,CAAC,GAAW;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,OAAO,CAAC,KAAU;QAChB,2CAA2C;QAC3C,0GAA0G;QAC1G,OAAO,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC;IACnC,CAAC;IAEM,YAAY,CAAC,QAAa;QAC/B,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/F,CAAC;IAEM,aAAa,CAAC,OAAY;QAC/B,OAAO,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5G,CAAC;IAEO,gBAAgB;QACtB,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACjD,IAAI,YAAY,KAAK,CAAC,CAAC,EAAE;YACvB,OAAO,IAAI,CAAC;SACb;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,YAAY,GAAG,CAAC,CAAC,CAAC;QAC5D,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IACzC,CAAC;IAED,SAAS;QACP,IAAI;YACF,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1E,MAAM,IAAI,GAAG,IAAA,gBAAM,EAAC,WAAW,CAAC,CAAC;YACjC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAE7B,OAAO,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC;SAC1B;QAAC,MAAM;YACN,OAAO,KAAK,CAAC;SACd;IACH,CAAC;CACF;AArED,kBAqEC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { DIDDocument } from '@extrimian/did-core';
|
|
2
|
+
import { DWNAmiClient, MessageStorage } from '@extrimian/dwn-client-ami';
|
|
3
|
+
import { Agent } from '../../agent';
|
|
4
|
+
import { ILiteEvent } from '../../utils/lite-event';
|
|
5
|
+
import { DID } from '../did';
|
|
6
|
+
import { IMessagingTransport } from './messaging-transport';
|
|
7
|
+
import { MessageArrivedEventArg, TransportSendRequest } from './transport';
|
|
8
|
+
export declare class DWNAmiTransport implements IMessagingTransport {
|
|
9
|
+
private readonly onMessageArrived;
|
|
10
|
+
get messageArrived(): ILiteEvent<MessageArrivedEventArg>;
|
|
11
|
+
dwnClientMap: Map<string, DWNAmiClient>;
|
|
12
|
+
agent: Agent;
|
|
13
|
+
private resolver;
|
|
14
|
+
dwnPollMilliseconds: number;
|
|
15
|
+
constructor(params?: {
|
|
16
|
+
dwnPollMilliseconds: number;
|
|
17
|
+
});
|
|
18
|
+
transportSupportedByTarget(params: {
|
|
19
|
+
targetDID: DID;
|
|
20
|
+
}): Promise<boolean>;
|
|
21
|
+
dispose(): Promise<void>;
|
|
22
|
+
processNewDID(did: DID, initialzing?: boolean): Promise<void>;
|
|
23
|
+
initialize(params: {
|
|
24
|
+
agent: Agent;
|
|
25
|
+
}): Promise<void>;
|
|
26
|
+
send(params: TransportSendRequest): Promise<void>;
|
|
27
|
+
startPollSpecificClient(did: string, dwnClient: DWNAmiClient): Promise<void>;
|
|
28
|
+
getServiceUrl(didDocument: DIDDocument, serviceType: string, serviceEndpointMapKey?: string): string[];
|
|
29
|
+
}
|
|
30
|
+
export declare const inMemoryMessageStorage: MessageStorage;
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.inMemoryMessageStorage = exports.DWNAmiTransport = void 0;
|
|
4
|
+
const did_core_1 = require("@extrimian/did-core");
|
|
5
|
+
const dwn_client_ami_1 = require("@extrimian/dwn-client-ami");
|
|
6
|
+
const lite_event_1 = require("../../utils/lite-event");
|
|
7
|
+
const did_1 = require("../did");
|
|
8
|
+
var AsyncLock = require('async-lock');
|
|
9
|
+
var lock = new AsyncLock();
|
|
10
|
+
class DWNAmiTransport {
|
|
11
|
+
get messageArrived() {
|
|
12
|
+
return this.onMessageArrived.expose();
|
|
13
|
+
}
|
|
14
|
+
constructor(params) {
|
|
15
|
+
this.onMessageArrived = new lite_event_1.LiteEvent();
|
|
16
|
+
this.dwnClientMap = new Map();
|
|
17
|
+
this.dwnPollMilliseconds = (params === null || params === void 0 ? void 0 : params.dwnPollMilliseconds) || 10000;
|
|
18
|
+
}
|
|
19
|
+
async transportSupportedByTarget(params) {
|
|
20
|
+
const targetDidDocument = await this.resolver.resolve(params.targetDID);
|
|
21
|
+
const dwnUrl = await did_core_1.DIDDocumentUtils.getServiceUrl(targetDidDocument, 'DecentralizedWebNode', 'nodes')[0];
|
|
22
|
+
return dwnUrl != null;
|
|
23
|
+
}
|
|
24
|
+
async dispose() {
|
|
25
|
+
// TODO: dispose
|
|
26
|
+
}
|
|
27
|
+
async processNewDID(did, initialzing = false) {
|
|
28
|
+
await lock.acquire("dwnClients", async () => {
|
|
29
|
+
if (this.dwnClientMap.get(did.value))
|
|
30
|
+
return;
|
|
31
|
+
if (!did.isLongDID()) {
|
|
32
|
+
const longDidDWNClient = Array.from(this.dwnClientMap.keys()).map(x => did_1.DID.from(x)).find(x => x.isLongDIDFor(did));
|
|
33
|
+
//Si ya existe un dwn transport polleando el long, se debe eliminar ese polleo y comenzar a pollear el short.
|
|
34
|
+
if (longDidDWNClient) {
|
|
35
|
+
this.dwnClientMap.delete(longDidDWNClient.value);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
const shortDidDWNClient = Array.from(this.dwnClientMap.keys()).map(x => did_1.DID.from(x)).find(x => x.isShortDIDFor(did));
|
|
40
|
+
//Si ya existe un dwn transport polleando el short, no se debe pollear el DWN del longDID.
|
|
41
|
+
if (shortDidDWNClient)
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
const didDocument = await this.resolver.resolve(did);
|
|
45
|
+
let dwnClient;
|
|
46
|
+
try {
|
|
47
|
+
const dwnEndpoint = this.getServiceUrl(didDocument, 'DecentralizedWebNode', 'nodes');
|
|
48
|
+
if (!dwnEndpoint)
|
|
49
|
+
return;
|
|
50
|
+
dwnClient = new dwn_client_ami_1.DWNAmiClient({
|
|
51
|
+
did: did.value,
|
|
52
|
+
storage: exports.inMemoryMessageStorage,
|
|
53
|
+
inboxURL: dwnEndpoint[0],
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
catch (ex) {
|
|
57
|
+
console.error('An error occurred while polling for the DWN: DIDDocument has not a DWN service defined or it is not correct');
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
this.dwnClientMap.set(did.value, dwnClient);
|
|
61
|
+
dwnClient.addSubscriber(async (messages) => {
|
|
62
|
+
messages.forEach((message) => {
|
|
63
|
+
//Los mensajes de DIDComm en el DWN vienen con caracteres extraños y no permiten JSON.parsear el string si no se remueven esos caracteres.
|
|
64
|
+
let messageManagerCompatible = false;
|
|
65
|
+
if (message.data.message) {
|
|
66
|
+
message.data = JSON.parse(message.data.message);
|
|
67
|
+
messageManagerCompatible = true;
|
|
68
|
+
}
|
|
69
|
+
if (typeof message.data === 'string' &&
|
|
70
|
+
message.data.indexOf('{') != 0 &&
|
|
71
|
+
message.data.indexOf('"header":{"alg":"ECDH-1PU') > -1) {
|
|
72
|
+
message.data = message.data.substring(message.data.indexOf('{'), message.data.lastIndexOf('}') + 1);
|
|
73
|
+
}
|
|
74
|
+
this.onMessageArrived.trigger({
|
|
75
|
+
from: null,
|
|
76
|
+
// from: messages[0].data?.message?.from,
|
|
77
|
+
data: message.data,
|
|
78
|
+
context: { ...message, messageManagerCompatible },
|
|
79
|
+
});
|
|
80
|
+
});
|
|
81
|
+
});
|
|
82
|
+
if (!initialzing) {
|
|
83
|
+
this.startPollSpecificClient(did.value, dwnClient);
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
async initialize(params) {
|
|
88
|
+
this.agent = params.agent;
|
|
89
|
+
this.resolver = this.agent.resolver;
|
|
90
|
+
const dids = this.agent.identity.getDIDs();
|
|
91
|
+
for (let did of dids) {
|
|
92
|
+
await this.processNewDID(did_1.DID.from(did), true);
|
|
93
|
+
}
|
|
94
|
+
Array.from(this.dwnClientMap.keys()).forEach(did => {
|
|
95
|
+
this.startPollSpecificClient(did, this.dwnClientMap.get(did));
|
|
96
|
+
});
|
|
97
|
+
this.agent.identity.didCreated.on((args) => {
|
|
98
|
+
this.processNewDID(args.did);
|
|
99
|
+
});
|
|
100
|
+
this.onMessageArrived.on(async (data) => {
|
|
101
|
+
await this.agent.transport.handleMessage(data, this);
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
async send(params) {
|
|
105
|
+
var _a, _b, _c;
|
|
106
|
+
const targetDidDocument = await this.resolver.resolve(params.to);
|
|
107
|
+
const dwnUrl = await did_core_1.DIDDocumentUtils.getServiceUrl(targetDidDocument, 'DecentralizedWebNode', 'nodes')[0];
|
|
108
|
+
const msgParams = {
|
|
109
|
+
targetDID: params.to.value,
|
|
110
|
+
targetInboxURL: dwnUrl,
|
|
111
|
+
message: {
|
|
112
|
+
data: ((_a = params.context) === null || _a === void 0 ? void 0 : _a.messageManagerCompatible)
|
|
113
|
+
? { message: JSON.stringify(params.data) }
|
|
114
|
+
: params.data,
|
|
115
|
+
descriptor: {
|
|
116
|
+
method: undefined,
|
|
117
|
+
dateCreated: new Date(),
|
|
118
|
+
dataFormat: 'application/json',
|
|
119
|
+
},
|
|
120
|
+
},
|
|
121
|
+
};
|
|
122
|
+
if (!((_c = (_b = params.context) === null || _b === void 0 ? void 0 : _b.descriptor) === null || _c === void 0 ? void 0 : _c.method)) {
|
|
123
|
+
msgParams.message.descriptor.method = dwn_client_ami_1.ThreadMethod.Create;
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
msgParams.message.descriptor.method = dwn_client_ami_1.ThreadMethod.Reply;
|
|
127
|
+
msgParams.message.descriptor.root =
|
|
128
|
+
params.context.descriptor.root || params.context.descriptor.objectId;
|
|
129
|
+
msgParams.message.descriptor.parent = params.context.descriptor.objectId;
|
|
130
|
+
}
|
|
131
|
+
await this.dwnClientMap
|
|
132
|
+
.get(this.agent.identity.getOperationalDID().value)
|
|
133
|
+
.sendMessage(msgParams)
|
|
134
|
+
.catch(console.error);
|
|
135
|
+
}
|
|
136
|
+
async startPollSpecificClient(did, dwnClient) {
|
|
137
|
+
try {
|
|
138
|
+
await dwnClient.pullNewMessageWait();
|
|
139
|
+
}
|
|
140
|
+
catch {
|
|
141
|
+
console.error("Error polling DWNClient for DID", did);
|
|
142
|
+
}
|
|
143
|
+
finally {
|
|
144
|
+
setTimeout(() => {
|
|
145
|
+
if (this.dwnClientMap.get(did)) {
|
|
146
|
+
this.startPollSpecificClient(did, dwnClient);
|
|
147
|
+
}
|
|
148
|
+
}, this.dwnPollMilliseconds);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
getServiceUrl(didDocument, serviceType, serviceEndpointMapKey) {
|
|
152
|
+
var _a;
|
|
153
|
+
try {
|
|
154
|
+
const service = (_a = didDocument.service) === null || _a === void 0 ? void 0 : _a.find((service) => service.type === serviceType);
|
|
155
|
+
if (!service)
|
|
156
|
+
return null;
|
|
157
|
+
if (typeof service.serviceEndpoint === 'object')
|
|
158
|
+
return service.serviceEndpoint[serviceEndpointMapKey];
|
|
159
|
+
return [service.serviceEndpoint];
|
|
160
|
+
}
|
|
161
|
+
catch (error) {
|
|
162
|
+
console.error(error);
|
|
163
|
+
throw Error(`Error finding ${serviceType} service in DID Document`);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
exports.DWNAmiTransport = DWNAmiTransport;
|
|
168
|
+
const messagesStorage = [];
|
|
169
|
+
let lastPullDate;
|
|
170
|
+
exports.inMemoryMessageStorage = {
|
|
171
|
+
async getMessages() {
|
|
172
|
+
return messagesStorage;
|
|
173
|
+
},
|
|
174
|
+
async getLastPullDate() {
|
|
175
|
+
return lastPullDate;
|
|
176
|
+
},
|
|
177
|
+
async updateLastPullDate(date) {
|
|
178
|
+
lastPullDate = date;
|
|
179
|
+
},
|
|
180
|
+
async saveMessages(messages) {
|
|
181
|
+
messagesStorage.push(...messages);
|
|
182
|
+
},
|
|
183
|
+
};
|
|
184
|
+
//# sourceMappingURL=ami-transport.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ami-transport.js","sourceRoot":"","sources":["../../../src/models/transports/ami-transport.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Agent } from '../../agent';
|
|
2
|
+
import { ILiteEvent, LiteEvent } from '../../utils/lite-event';
|
|
3
|
+
import { DID } from '../did';
|
|
4
|
+
import { ITransport, MessageArrivedEventArg } from './transport';
|
|
5
|
+
export declare abstract class ConnectableTransport implements ITransport {
|
|
6
|
+
protected agent: Agent;
|
|
7
|
+
protected readonly onMessageArrived: LiteEvent<MessageArrivedEventArg>;
|
|
8
|
+
protected handleConnect(params?: {
|
|
9
|
+
did: DID;
|
|
10
|
+
}): void;
|
|
11
|
+
protected handleDisconnect(params: {
|
|
12
|
+
did: DID;
|
|
13
|
+
}): void;
|
|
14
|
+
initialize(params: {
|
|
15
|
+
agent: Agent;
|
|
16
|
+
}): Promise<void>;
|
|
17
|
+
get messageArrived(): ILiteEvent<MessageArrivedEventArg>;
|
|
18
|
+
abstract send(params: {
|
|
19
|
+
data: any;
|
|
20
|
+
context?: any;
|
|
21
|
+
}): Promise<void> | void;
|
|
22
|
+
protected handleMessage(params: MessageArrivedEventArg, transport: ITransport): Promise<void>;
|
|
23
|
+
abstract transportSupportedByTarget(params: {}): Promise<boolean>;
|
|
24
|
+
abstract dispose(): Promise<void>;
|
|
25
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ConnectableTransport = void 0;
|
|
4
|
+
const lite_event_1 = require("../../utils/lite-event");
|
|
5
|
+
class ConnectableTransport {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.onMessageArrived = new lite_event_1.LiteEvent();
|
|
8
|
+
}
|
|
9
|
+
handleConnect(params) {
|
|
10
|
+
this.agent.transport.handleConnect({ did: params.did });
|
|
11
|
+
}
|
|
12
|
+
handleDisconnect(params) {
|
|
13
|
+
this.agent.transport.handleDisconnect({ did: params.did });
|
|
14
|
+
}
|
|
15
|
+
async initialize(params) {
|
|
16
|
+
this.agent = params.agent;
|
|
17
|
+
}
|
|
18
|
+
get messageArrived() {
|
|
19
|
+
return this.onMessageArrived.expose();
|
|
20
|
+
}
|
|
21
|
+
handleMessage(params, transport) {
|
|
22
|
+
return this.agent.transport.handleMessage(params, transport);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
exports.ConnectableTransport = ConnectableTransport;
|
|
26
|
+
//# sourceMappingURL=connectable-transport.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connectable-transport.js","sourceRoot":"","sources":["../../../src/models/transports/connectable-transport.ts"],"names":[],"mappings":";;;AACA,uDAA+D;AAI/D,MAAsB,oBAAoB;IAA1C;QAEqB,qBAAgB,GAAG,IAAI,sBAAS,EAA0B,CAAC;IA8BhF,CAAC;IA5BW,aAAa,CAAC,MAAqB;QAC3C,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;IAC1D,CAAC;IAES,gBAAgB,CAAC,MAAoB;QAC7C,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAAwB;QACvC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IAC5B,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;IACxC,CAAC;IAIS,aAAa,CACrB,MAA8B,EAC9B,SAAqB;QAErB,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC/D,CAAC;CAKF;AAhCD,oDAgCC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { DIDDocument } from '@extrimian/did-core';
|
|
2
|
+
import { DWNClient, MessageStorage } from '@extrimian/dwn-client';
|
|
3
|
+
import { Agent } from '../../agent';
|
|
4
|
+
import { ILiteEvent } from '../../utils/lite-event';
|
|
5
|
+
import { DID } from '../did';
|
|
6
|
+
import { IMessagingTransport } from './messaging-transport';
|
|
7
|
+
import { MessageArrivedEventArg, TransportSendRequest } from './transport';
|
|
8
|
+
export declare class DWNTransport implements IMessagingTransport {
|
|
9
|
+
private readonly onMessageArrived;
|
|
10
|
+
get messageArrived(): ILiteEvent<MessageArrivedEventArg>;
|
|
11
|
+
dwnClientMap: Map<string, DWNClient>;
|
|
12
|
+
agent: Agent;
|
|
13
|
+
private resolver;
|
|
14
|
+
dwnPollMilliseconds: number;
|
|
15
|
+
storage?: MessageStorage;
|
|
16
|
+
constructor(params?: {
|
|
17
|
+
dwnPollMilliseconds?: number;
|
|
18
|
+
storage?: MessageStorage;
|
|
19
|
+
});
|
|
20
|
+
transportSupportedByTarget(params: {
|
|
21
|
+
targetDID: DID;
|
|
22
|
+
}): Promise<boolean>;
|
|
23
|
+
dispose(): Promise<void>;
|
|
24
|
+
processNewDID(did: DID, initialzing?: boolean): Promise<void>;
|
|
25
|
+
initialize(params: {
|
|
26
|
+
agent: Agent;
|
|
27
|
+
}): Promise<void>;
|
|
28
|
+
send(params: TransportSendRequest): Promise<void>;
|
|
29
|
+
startPollSpecificClient(did: string, dwnClient: DWNClient): Promise<void>;
|
|
30
|
+
getServiceUrl(didDocument: DIDDocument, serviceType: string, serviceEndpointMapKey?: string): string[];
|
|
31
|
+
}
|
|
32
|
+
export declare const inMemoryMessageStorage: MessageStorage;
|