@extrimian/agent 0.8.7

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 (119) hide show
  1. package/dist/agent.d.ts +50 -0
  2. package/dist/agent.js +152 -0
  3. package/dist/agent.js.map +1 -0
  4. package/dist/data-share-behaviours/data-share-behavior.d.ts +4 -0
  5. package/dist/data-share-behaviours/data-share-behavior.js +3 -0
  6. package/dist/data-share-behaviours/data-share-behavior.js.map +1 -0
  7. package/dist/data-share-behaviours/identity-data-share-behavior.d.ts +16 -0
  8. package/dist/data-share-behaviours/identity-data-share-behavior.js +3 -0
  9. package/dist/data-share-behaviours/identity-data-share-behavior.js.map +1 -0
  10. package/dist/data-share-behaviours/identity-plaintext-data-share-behavior.d.ts +5 -0
  11. package/dist/data-share-behaviours/identity-plaintext-data-share-behavior.js +29 -0
  12. package/dist/data-share-behaviours/identity-plaintext-data-share-behavior.js.map +1 -0
  13. package/dist/did/did-services.d.ts +14 -0
  14. package/dist/did/did-services.js +15 -0
  15. package/dist/did/did-services.js.map +1 -0
  16. package/dist/exceptions/agent-plugin-not-found.d.ts +2 -0
  17. package/dist/exceptions/agent-plugin-not-found.js +7 -0
  18. package/dist/exceptions/agent-plugin-not-found.js.map +1 -0
  19. package/dist/exceptions/vc-protocol-not-found.d.ts +3 -0
  20. package/dist/exceptions/vc-protocol-not-found.js +12 -0
  21. package/dist/exceptions/vc-protocol-not-found.js.map +1 -0
  22. package/dist/index.d.ts +24 -0
  23. package/dist/index.js +41 -0
  24. package/dist/index.js.map +1 -0
  25. package/dist/messaging/messaging.d.ts +37 -0
  26. package/dist/messaging/messaging.js +96 -0
  27. package/dist/messaging/messaging.js.map +1 -0
  28. package/dist/models/agent-identity.d.ts +81 -0
  29. package/dist/models/agent-identity.js +395 -0
  30. package/dist/models/agent-identity.js.map +1 -0
  31. package/dist/models/agent-pbk.d.ts +11 -0
  32. package/dist/models/agent-pbk.js +12 -0
  33. package/dist/models/agent-pbk.js.map +1 -0
  34. package/dist/models/agent-registry.d.ts +90 -0
  35. package/dist/models/agent-registry.js +142 -0
  36. package/dist/models/agent-registry.js.map +1 -0
  37. package/dist/models/agent-resolver.d.ts +19 -0
  38. package/dist/models/agent-resolver.js +51 -0
  39. package/dist/models/agent-resolver.js.map +1 -0
  40. package/dist/models/agent-secure-storage.d.ts +3 -0
  41. package/dist/models/agent-secure-storage.js +3 -0
  42. package/dist/models/agent-secure-storage.js.map +1 -0
  43. package/dist/models/agent-secure-storages/filesystem-agent-secure-storage.d.ts +14 -0
  44. package/dist/models/agent-secure-storages/filesystem-agent-secure-storage.js +64 -0
  45. package/dist/models/agent-secure-storages/filesystem-agent-secure-storage.js.map +1 -0
  46. package/dist/models/agent-storage.d.ts +9 -0
  47. package/dist/models/agent-storage.js +3 -0
  48. package/dist/models/agent-storage.js.map +1 -0
  49. package/dist/models/did.d.ts +19 -0
  50. package/dist/models/did.js +64 -0
  51. package/dist/models/did.js.map +1 -0
  52. package/dist/models/transports/connectable-transport.d.ts +25 -0
  53. package/dist/models/transports/connectable-transport.js +37 -0
  54. package/dist/models/transports/connectable-transport.js.map +1 -0
  55. package/dist/models/transports/dwn-transport.d.ts +30 -0
  56. package/dist/models/transports/dwn-transport.js +213 -0
  57. package/dist/models/transports/dwn-transport.js.map +1 -0
  58. package/dist/models/transports/messaging-transport.d.ts +3 -0
  59. package/dist/models/transports/messaging-transport.js +3 -0
  60. package/dist/models/transports/messaging-transport.js.map +1 -0
  61. package/dist/models/transports/transport.d.ts +29 -0
  62. package/dist/models/transports/transport.js +8 -0
  63. package/dist/models/transports/transport.js.map +1 -0
  64. package/dist/models/transports/websocket-client-transport.d.ts +5 -0
  65. package/dist/models/transports/websocket-client-transport.js +45 -0
  66. package/dist/models/transports/websocket-client-transport.js.map +1 -0
  67. package/dist/models/transports/websocket-server-transport.d.ts +7 -0
  68. package/dist/models/transports/websocket-server-transport.js +22 -0
  69. package/dist/models/transports/websocket-server-transport.js.map +1 -0
  70. package/dist/models/transports/websocket-transport.d.ts +30 -0
  71. package/dist/models/transports/websocket-transport.js +100 -0
  72. package/dist/models/transports/websocket-transport.js.map +1 -0
  73. package/dist/models/vc-storage.d.ts +8 -0
  74. package/dist/models/vc-storage.js +3 -0
  75. package/dist/models/vc-storage.js.map +1 -0
  76. package/dist/plugins/iplugin.d.ts +17 -0
  77. package/dist/plugins/iplugin.js +3 -0
  78. package/dist/plugins/iplugin.js.map +1 -0
  79. package/dist/plugins/plugin-dispatcher.d.ts +6 -0
  80. package/dist/plugins/plugin-dispatcher.js +31 -0
  81. package/dist/plugins/plugin-dispatcher.js.map +1 -0
  82. package/dist/transport/transport.d.ts +41 -0
  83. package/dist/transport/transport.js +99 -0
  84. package/dist/transport/transport.js.map +1 -0
  85. package/dist/utils/index.d.ts +1 -0
  86. package/dist/utils/index.js +15 -0
  87. package/dist/utils/index.js.map +1 -0
  88. package/dist/utils/lite-event.d.ts +25 -0
  89. package/dist/utils/lite-event.js +33 -0
  90. package/dist/utils/lite-event.js.map +1 -0
  91. package/dist/vc/models/credentia-flow.d.ts +4 -0
  92. package/dist/vc/models/credentia-flow.js +9 -0
  93. package/dist/vc/models/credentia-flow.js.map +1 -0
  94. package/dist/vc/models/credential-request.d.ts +3 -0
  95. package/dist/vc/models/credential-request.js +3 -0
  96. package/dist/vc/models/credential-request.js.map +1 -0
  97. package/dist/vc/models/vc-create-key-request.d.ts +4 -0
  98. package/dist/vc/models/vc-create-key-request.js +3 -0
  99. package/dist/vc/models/vc-create-key-request.js.map +1 -0
  100. package/dist/vc/models/waci-message.d.ts +3 -0
  101. package/dist/vc/models/waci-message.js +8 -0
  102. package/dist/vc/models/waci-message.js.map +1 -0
  103. package/dist/vc/protocols/openid-protocol.d.ts +159 -0
  104. package/dist/vc/protocols/openid-protocol.js +147 -0
  105. package/dist/vc/protocols/openid-protocol.js.map +1 -0
  106. package/dist/vc/protocols/vc-protocol.d.ts +98 -0
  107. package/dist/vc/protocols/vc-protocol.js +37 -0
  108. package/dist/vc/protocols/vc-protocol.js.map +1 -0
  109. package/dist/vc/protocols/waci-protocol.d.ts +144 -0
  110. package/dist/vc/protocols/waci-protocol.js +391 -0
  111. package/dist/vc/protocols/waci-protocol.js.map +1 -0
  112. package/dist/vc/vc-setup/vc-setup.d.ts +0 -0
  113. package/dist/vc/vc-setup/vc-setup.js +1 -0
  114. package/dist/vc/vc-setup/vc-setup.js.map +1 -0
  115. package/dist/vc/vc.d.ts +152 -0
  116. package/dist/vc/vc.js +263 -0
  117. package/dist/vc/vc.js.map +1 -0
  118. package/package.json +50 -0
  119. package/readme.md +392 -0
@@ -0,0 +1,50 @@
1
+ import { IKMS, LANG } from "@extrimian/kms-core";
2
+ import { Messaging } from "./messaging/messaging";
3
+ import { AgentIdentity } from "./models/agent-identity";
4
+ import { IAgentRegistry } from "./models/agent-registry";
5
+ import { IAgentResolver } from "./models/agent-resolver";
6
+ import { AgentSecureStorage } from "./models/agent-secure-storage";
7
+ import { IStorage } from "./models/agent-storage";
8
+ import { DID } from "./models/did";
9
+ import { ITransport } from "./models/transports/transport";
10
+ import { IAgentPlugin } from "./plugins/iplugin";
11
+ import { AgentTransport } from "./transport/transport";
12
+ import { VCProtocol } from "./vc/protocols/vc-protocol";
13
+ import { VC } from "./vc/vc";
14
+ export declare class Agent {
15
+ private _messaging;
16
+ get messaging(): Messaging;
17
+ private _vc;
18
+ get vc(): VC;
19
+ kms: IKMS;
20
+ identity: AgentIdentity;
21
+ resolver: IAgentResolver;
22
+ registry: IAgentRegistry;
23
+ private agentSecureStorage;
24
+ private vcStorage;
25
+ private agentStorage;
26
+ private vcProtocols;
27
+ private agentTransport;
28
+ get transport(): AgentTransport;
29
+ private plugins;
30
+ private readonly pluginDispatcher;
31
+ constructor(params: {
32
+ didDocumentResolver: IAgentResolver;
33
+ didDocumentRegistry: IAgentRegistry;
34
+ supportedTransports?: ITransport[];
35
+ secureStorage: AgentSecureStorage;
36
+ agentStorage: IStorage;
37
+ vcStorage: IStorage;
38
+ vcProtocols: VCProtocol[];
39
+ agentPlugins?: IAgentPlugin[];
40
+ mnemonicLang?: LANG;
41
+ });
42
+ initialize(params?: {
43
+ operationalDID?: DID;
44
+ }): Promise<void>;
45
+ processMessage(params: {
46
+ message: any;
47
+ transport?: ITransport;
48
+ contextMessage?: any;
49
+ }): Promise<void>;
50
+ }
package/dist/agent.js ADDED
@@ -0,0 +1,152 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.Agent = void 0;
13
+ const kms_client_1 = require("@extrimian/kms-client");
14
+ const kms_core_1 = require("@extrimian/kms-core");
15
+ const vc_protocol_not_found_1 = require("./exceptions/vc-protocol-not-found");
16
+ const messaging_1 = require("./messaging/messaging");
17
+ const agent_identity_1 = require("./models/agent-identity");
18
+ const did_1 = require("./models/did");
19
+ const plugin_dispatcher_1 = require("./plugins/plugin-dispatcher");
20
+ const transport_1 = require("./transport/transport");
21
+ const vc_1 = require("./vc/vc");
22
+ class Agent {
23
+ constructor(params) {
24
+ this.agentSecureStorage = params.secureStorage;
25
+ this.vcStorage = params.vcStorage;
26
+ this.agentSecureStorage = params.secureStorage;
27
+ this.agentStorage = params.agentStorage;
28
+ this.pluginDispatcher = new plugin_dispatcher_1.PluginDispatcher(params.agentPlugins);
29
+ this.vcProtocols = params.vcProtocols;
30
+ this.kms = new kms_client_1.KMSClient({
31
+ lang: params.mnemonicLang || kms_core_1.LANG.en,
32
+ storage: this.agentSecureStorage,
33
+ didResolver: (did) => this.resolver.resolve(did_1.DID.from(did)),
34
+ mobile: false,
35
+ });
36
+ if (!params.didDocumentResolver) {
37
+ throw new Error("didDocumentResolver is required. You can define a custom resolver that extends AgentDocumentResolver interface or set an universal resolver endpoint URL.");
38
+ }
39
+ if (!params.didDocumentRegistry) {
40
+ throw new Error("didDocumentRegistry is required. You can define a custom registry that extends AgentDocumentRegistry interface or set a modena endpoint URL.");
41
+ }
42
+ this.identity = new agent_identity_1.AgentIdentity({
43
+ agentStorage: this.agentStorage,
44
+ kms: this.kms,
45
+ registry: this.registry,
46
+ resolver: this.resolver,
47
+ });
48
+ this.resolver = params.didDocumentResolver;
49
+ this.registry = params.didDocumentRegistry;
50
+ this.registry.initialize({ kms: this.kms });
51
+ this.agentTransport = new transport_1.AgentTransport({
52
+ transports: params.supportedTransports,
53
+ agent: this,
54
+ });
55
+ this.vcProtocols.forEach(vcProtocol => {
56
+ vcProtocol.initialize({
57
+ agent: this,
58
+ });
59
+ });
60
+ this.plugins = params.agentPlugins;
61
+ }
62
+ get messaging() {
63
+ return this._messaging;
64
+ }
65
+ get vc() {
66
+ if (!this.identity.getOperationalDID()) {
67
+ throw new Error("You need to create a DID first");
68
+ }
69
+ if (!this._vc) {
70
+ this._vc = new vc_1.VC({
71
+ messaging: this.messaging,
72
+ agentStorage: this.agentStorage,
73
+ vcStorage: this.vcStorage,
74
+ identity: this.identity,
75
+ kms: this.kms,
76
+ resolver: this.resolver,
77
+ transports: this.agentTransport,
78
+ vcProtocols: this.vcProtocols,
79
+ });
80
+ }
81
+ return this._vc;
82
+ }
83
+ get transport() {
84
+ return this.agentTransport;
85
+ }
86
+ initialize(params) {
87
+ return __awaiter(this, void 0, void 0, function* () {
88
+ yield this.identity.initialize({
89
+ operationalDID: params === null || params === void 0 ? void 0 : params.operationalDID,
90
+ registry: this.registry,
91
+ resolver: this.resolver,
92
+ });
93
+ if (this.plugins) {
94
+ yield Promise.all(this.plugins.map((x) => __awaiter(this, void 0, void 0, function* () { return yield x.initialize({ agent: this }); })));
95
+ }
96
+ if (!this._vc) {
97
+ this._vc = new vc_1.VC({
98
+ messaging: this.messaging,
99
+ agentStorage: this.agentStorage,
100
+ vcStorage: this.vcStorage,
101
+ identity: this.identity,
102
+ kms: this.kms,
103
+ resolver: this.resolver,
104
+ transports: this.agentTransport,
105
+ vcProtocols: this.vcProtocols,
106
+ });
107
+ }
108
+ this._messaging = new messaging_1.Messaging({
109
+ kms: this.kms,
110
+ identity: this.identity,
111
+ resolver: this.resolver,
112
+ registry: this.registry,
113
+ transport: this.agentTransport,
114
+ });
115
+ this.agentTransport.messageArrived.on((data) => __awaiter(this, void 0, void 0, function* () {
116
+ yield this.processMessage({
117
+ message: data.message,
118
+ transport: data.transport,
119
+ contextMessage: data.contextMessage
120
+ });
121
+ }));
122
+ });
123
+ }
124
+ processMessage(params) {
125
+ return __awaiter(this, void 0, void 0, function* () {
126
+ try {
127
+ yield this.vc.processMessage(params);
128
+ }
129
+ catch (error) {
130
+ if (error instanceof vc_protocol_not_found_1.VCProtocolNotFoundError) {
131
+ const response = yield this.pluginDispatcher.dispatch({
132
+ message: params.message,
133
+ contextMessage: params.contextMessage
134
+ });
135
+ if (response) {
136
+ yield this.agentTransport.sendMessage({
137
+ message: response.message,
138
+ to: response.to,
139
+ messageContext: params.contextMessage,
140
+ preferredTransport: params.transport
141
+ });
142
+ }
143
+ }
144
+ else {
145
+ throw error;
146
+ }
147
+ }
148
+ });
149
+ }
150
+ }
151
+ exports.Agent = Agent;
152
+ //# sourceMappingURL=agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export interface DataShareBehavior {
2
+ export(): any;
3
+ import(): any;
4
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data-share-behavior.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-share-behavior.js","sourceRoot":"","sources":["../../src/data-share-behaviours/data-share-behavior.ts"],"names":[],"mappings":""}
@@ -0,0 +1,16 @@
1
+ export interface IdentityDataShareBehavior {
2
+ export(exportParams: IdentityExportParams): Promise<IdentityExportResult>;
3
+ import(exportResult: IdentityExportResult): Promise<IdentityExportParams>;
4
+ }
5
+ export interface IdentityExportParams {
6
+ keys: {
7
+ publicKeyHex: string;
8
+ secret: any;
9
+ }[];
10
+ dids: string[];
11
+ operationalDID: string;
12
+ }
13
+ export interface IdentityExportResult {
14
+ data: string;
15
+ type: string;
16
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=identity-data-share-behavior.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identity-data-share-behavior.js","sourceRoot":"","sources":["../../src/data-share-behaviours/identity-data-share-behavior.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import { IdentityDataShareBehavior, IdentityExportParams, IdentityExportResult } from "./identity-data-share-behavior";
2
+ export declare class IdentityPlainTextDataShareBehavior implements IdentityDataShareBehavior {
3
+ export(exportParams: IdentityExportParams): Promise<IdentityExportResult>;
4
+ import(exportResult: IdentityExportResult): Promise<IdentityExportParams>;
5
+ }
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.IdentityPlainTextDataShareBehavior = void 0;
13
+ class IdentityPlainTextDataShareBehavior {
14
+ export(exportParams) {
15
+ return __awaiter(this, void 0, void 0, function* () {
16
+ return {
17
+ data: JSON.stringify(exportParams),
18
+ type: "plain-text",
19
+ };
20
+ });
21
+ }
22
+ import(exportResult) {
23
+ return __awaiter(this, void 0, void 0, function* () {
24
+ return JSON.parse(exportResult.data);
25
+ });
26
+ }
27
+ }
28
+ exports.IdentityPlainTextDataShareBehavior = IdentityPlainTextDataShareBehavior;
29
+ //# sourceMappingURL=identity-plaintext-data-share-behavior.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identity-plaintext-data-share-behavior.js","sourceRoot":"","sources":["../../src/data-share-behaviours/identity-plaintext-data-share-behavior.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,MAAa,kCAAkC;IAErC,MAAM,CAAC,YAAkC;;YAC3C,OAAO;gBACH,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;gBAClC,IAAI,EAAE,YAAY;aACrB,CAAC;QACN,CAAC;KAAA;IAEK,MAAM,CAAC,YAAkC;;YAC3C,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACzC,CAAC;KAAA;CAEJ;AAbD,gFAaC"}
@@ -0,0 +1,14 @@
1
+ export declare class DIDServices {
2
+ addService(service: {
3
+ id: string;
4
+ endpointURL: string;
5
+ }): void;
6
+ removeService(serviceId: string): void;
7
+ updateService(updateService: {
8
+ serviceId: string;
9
+ enpodintURL: string;
10
+ }): void;
11
+ addDWNKey(dwn: {
12
+ endpointURL: string;
13
+ }): void;
14
+ }
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DIDServices = void 0;
4
+ class DIDServices {
5
+ addService(service) {
6
+ }
7
+ removeService(serviceId) {
8
+ }
9
+ updateService(updateService) {
10
+ }
11
+ addDWNKey(dwn) {
12
+ }
13
+ }
14
+ exports.DIDServices = DIDServices;
15
+ //# sourceMappingURL=did-services.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"did-services.js","sourceRoot":"","sources":["../../src/did/did-services.ts"],"names":[],"mappings":";;;AAAA,MAAa,WAAW;IACpB,UAAU,CAAC,OAGV;IAED,CAAC;IAED,aAAa,CAAC,SAAiB;IAE/B,CAAC;IAED,aAAa,CAAC,aAGb;IAED,CAAC;IAGD,SAAS,CAAC,GAA6B;IAEvC,CAAC;CAGJ;AAzBD,kCAyBC"}
@@ -0,0 +1,2 @@
1
+ export declare class AgentPluginNotFound extends Error {
2
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AgentPluginNotFound = void 0;
4
+ class AgentPluginNotFound extends Error {
5
+ }
6
+ exports.AgentPluginNotFound = AgentPluginNotFound;
7
+ //# sourceMappingURL=agent-plugin-not-found.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-plugin-not-found.js","sourceRoot":"","sources":["../../src/exceptions/agent-plugin-not-found.ts"],"names":[],"mappings":";;;AAAA,MAAa,mBAAoB,SAAQ,KAAK;CAE7C;AAFD,kDAEC"}
@@ -0,0 +1,3 @@
1
+ export declare class VCProtocolNotFoundError extends Error {
2
+ constructor();
3
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VCProtocolNotFoundError = void 0;
4
+ class VCProtocolNotFoundError extends Error {
5
+ constructor() {
6
+ super();
7
+ // Set the prototype explicitly.
8
+ Object.setPrototypeOf(this, VCProtocolNotFoundError.prototype);
9
+ }
10
+ }
11
+ exports.VCProtocolNotFoundError = VCProtocolNotFoundError;
12
+ //# sourceMappingURL=vc-protocol-not-found.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vc-protocol-not-found.js","sourceRoot":"","sources":["../../src/exceptions/vc-protocol-not-found.ts"],"names":[],"mappings":";;;AAAA,MAAa,uBAAwB,SAAQ,KAAK;IAC9C;QACI,KAAK,EAAE,CAAC;QAER,gCAAgC;QAChC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,uBAAuB,CAAC,SAAS,CAAC,CAAC;IACnE,CAAC;CACJ;AAPD,0DAOC"}
@@ -0,0 +1,24 @@
1
+ export { VerifiableCredential } from "@extrimian/vc-core";
2
+ export { WACIMessage } from "@extrimian/waci";
3
+ export { Agent } from "./agent";
4
+ export { DataShareBehavior } from "./data-share-behaviours/data-share-behavior";
5
+ export { IdentityDataShareBehavior, IdentityExportParams, IdentityExportResult } from "./data-share-behaviours/identity-data-share-behavior";
6
+ export { IdentityPlainTextDataShareBehavior } from "./data-share-behaviours/identity-plaintext-data-share-behavior";
7
+ export { AgentModenaRegistry, AgentModenaUniversalRegistry, IAgentRegistry } from "./models/agent-registry";
8
+ export { AgentModenaResolver, AgentModenaUniversalResolver, IAgentResolver } from "./models/agent-resolver";
9
+ export { AgentSecureStorage } from "./models/agent-secure-storage";
10
+ export { IAgentStorage } from "./models/agent-storage";
11
+ export { DID } from "./models/did";
12
+ export { DWNTransport } from "./models/transports/dwn-transport";
13
+ export { ITransport } from "./models/transports/transport";
14
+ export { WebsocketClientTransport } from "./models/transports/websocket-client-transport";
15
+ export { WebsocketServerTransport } from "./models/transports/websocket-server-transport";
16
+ export { WebsocketTransport } from "./models/transports/websocket-transport";
17
+ export { IVCStorage } from "./models/vc-storage";
18
+ export { IAgentPlugin, IAgentPluginMessage, IAgentPluginResponse } from "./plugins/iplugin";
19
+ export { CredentialFlow } from "./vc/models/credentia-flow";
20
+ export { OpenIDProtocol } from "./vc/protocols/openid-protocol";
21
+ export { CredentialRequestedEventArg, VCMessageType, VCProtocol, VCProtocolResponse } from "./vc/protocols/vc-protocol";
22
+ export { WACICredentialOfferRejected, WACICredentialOfferResult, WACICredentialOfferSucceded, WACICredentialOfferWaitForResponse, WACIProtocol } from "./vc/protocols/waci-protocol";
23
+ export { VerifiableCredentialWithInfo } from "./vc/protocols/waci-protocol";
24
+ export { ConnectableTransport } from "./models/transports/connectable-transport";
package/dist/index.js ADDED
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ConnectableTransport = exports.WACIProtocol = exports.WACICredentialOfferSucceded = exports.WACICredentialOfferResult = exports.WACICredentialOfferRejected = exports.VCProtocol = exports.VCMessageType = exports.OpenIDProtocol = exports.CredentialFlow = exports.WebsocketTransport = exports.WebsocketServerTransport = exports.WebsocketClientTransport = exports.DWNTransport = exports.DID = exports.AgentModenaUniversalResolver = exports.AgentModenaResolver = exports.IAgentRegistry = exports.AgentModenaUniversalRegistry = exports.AgentModenaRegistry = exports.IdentityPlainTextDataShareBehavior = exports.Agent = exports.VerifiableCredential = void 0;
4
+ var vc_core_1 = require("@extrimian/vc-core");
5
+ Object.defineProperty(exports, "VerifiableCredential", { enumerable: true, get: function () { return vc_core_1.VerifiableCredential; } });
6
+ var agent_1 = require("./agent");
7
+ Object.defineProperty(exports, "Agent", { enumerable: true, get: function () { return agent_1.Agent; } });
8
+ var identity_plaintext_data_share_behavior_1 = require("./data-share-behaviours/identity-plaintext-data-share-behavior");
9
+ Object.defineProperty(exports, "IdentityPlainTextDataShareBehavior", { enumerable: true, get: function () { return identity_plaintext_data_share_behavior_1.IdentityPlainTextDataShareBehavior; } });
10
+ var agent_registry_1 = require("./models/agent-registry");
11
+ Object.defineProperty(exports, "AgentModenaRegistry", { enumerable: true, get: function () { return agent_registry_1.AgentModenaRegistry; } });
12
+ Object.defineProperty(exports, "AgentModenaUniversalRegistry", { enumerable: true, get: function () { return agent_registry_1.AgentModenaUniversalRegistry; } });
13
+ Object.defineProperty(exports, "IAgentRegistry", { enumerable: true, get: function () { return agent_registry_1.IAgentRegistry; } });
14
+ var agent_resolver_1 = require("./models/agent-resolver");
15
+ Object.defineProperty(exports, "AgentModenaResolver", { enumerable: true, get: function () { return agent_resolver_1.AgentModenaResolver; } });
16
+ Object.defineProperty(exports, "AgentModenaUniversalResolver", { enumerable: true, get: function () { return agent_resolver_1.AgentModenaUniversalResolver; } });
17
+ var did_1 = require("./models/did");
18
+ Object.defineProperty(exports, "DID", { enumerable: true, get: function () { return did_1.DID; } });
19
+ var dwn_transport_1 = require("./models/transports/dwn-transport");
20
+ Object.defineProperty(exports, "DWNTransport", { enumerable: true, get: function () { return dwn_transport_1.DWNTransport; } });
21
+ var websocket_client_transport_1 = require("./models/transports/websocket-client-transport");
22
+ Object.defineProperty(exports, "WebsocketClientTransport", { enumerable: true, get: function () { return websocket_client_transport_1.WebsocketClientTransport; } });
23
+ var websocket_server_transport_1 = require("./models/transports/websocket-server-transport");
24
+ Object.defineProperty(exports, "WebsocketServerTransport", { enumerable: true, get: function () { return websocket_server_transport_1.WebsocketServerTransport; } });
25
+ var websocket_transport_1 = require("./models/transports/websocket-transport");
26
+ Object.defineProperty(exports, "WebsocketTransport", { enumerable: true, get: function () { return websocket_transport_1.WebsocketTransport; } });
27
+ var credentia_flow_1 = require("./vc/models/credentia-flow");
28
+ Object.defineProperty(exports, "CredentialFlow", { enumerable: true, get: function () { return credentia_flow_1.CredentialFlow; } });
29
+ var openid_protocol_1 = require("./vc/protocols/openid-protocol");
30
+ Object.defineProperty(exports, "OpenIDProtocol", { enumerable: true, get: function () { return openid_protocol_1.OpenIDProtocol; } });
31
+ var vc_protocol_1 = require("./vc/protocols/vc-protocol");
32
+ Object.defineProperty(exports, "VCMessageType", { enumerable: true, get: function () { return vc_protocol_1.VCMessageType; } });
33
+ Object.defineProperty(exports, "VCProtocol", { enumerable: true, get: function () { return vc_protocol_1.VCProtocol; } });
34
+ var waci_protocol_1 = require("./vc/protocols/waci-protocol");
35
+ Object.defineProperty(exports, "WACICredentialOfferRejected", { enumerable: true, get: function () { return waci_protocol_1.WACICredentialOfferRejected; } });
36
+ Object.defineProperty(exports, "WACICredentialOfferResult", { enumerable: true, get: function () { return waci_protocol_1.WACICredentialOfferResult; } });
37
+ Object.defineProperty(exports, "WACICredentialOfferSucceded", { enumerable: true, get: function () { return waci_protocol_1.WACICredentialOfferSucceded; } });
38
+ Object.defineProperty(exports, "WACIProtocol", { enumerable: true, get: function () { return waci_protocol_1.WACIProtocol; } });
39
+ var connectable_transport_1 = require("./models/transports/connectable-transport");
40
+ Object.defineProperty(exports, "ConnectableTransport", { enumerable: true, get: function () { return connectable_transport_1.ConnectableTransport; } });
41
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,8CAA0D;AAAjD,+GAAA,oBAAoB,OAAA;AAE7B,iCAAgC;AAAvB,8FAAA,KAAK,OAAA;AAGd,yHAAoH;AAA3G,4JAAA,kCAAkC,OAAA;AAC3C,0DAEiC;AAD/B,qHAAA,mBAAmB,OAAA;AAAE,8HAAA,4BAA4B,OAAA;AAAE,gHAAA,cAAc,OAAA;AAEnE,0DAGiC;AAF/B,qHAAA,mBAAmB,OAAA;AACnB,8HAAA,4BAA4B,OAAA;AAI9B,oCAAmC;AAA1B,0FAAA,GAAG,OAAA;AACZ,mEAAiE;AAAxD,6GAAA,YAAY,OAAA;AAErB,6FAA0F;AAAjF,sIAAA,wBAAwB,OAAA;AACjC,6FAA0F;AAAjF,sIAAA,wBAAwB,OAAA;AACjC,+EAA6E;AAApE,yHAAA,kBAAkB,OAAA;AAG3B,6DAA4D;AAAnD,gHAAA,cAAc,OAAA;AACvB,kEAEwC;AADtC,iHAAA,cAAc,OAAA;AAEhB,0DAKoC;AAHlC,4GAAA,aAAa,OAAA;AACb,yGAAA,UAAU,OAAA;AAGZ,8DAGsC;AAFpC,4HAAA,2BAA2B,OAAA;AAAE,0HAAA,yBAAyB,OAAA;AAAE,4HAAA,2BAA2B,OAAA;AACnF,6GAAA,YAAY,OAAA;AAGd,mFAAiF;AAAxE,6HAAA,oBAAoB,OAAA"}
@@ -0,0 +1,37 @@
1
+ import { DIDCommMessage } from "@extrimian/did-core";
2
+ import { DIDCommMessagePacking, DIDCommPackedMessage, IDIDCommMessage, IKMS } from "@extrimian/kms-core";
3
+ import { AgentIdentity } from "../models/agent-identity";
4
+ import { IAgentRegistry } from "../models/agent-registry";
5
+ import { IAgentResolver } from "../models/agent-resolver";
6
+ import { DID } from "../models/did";
7
+ import { AgentTransport } from "../transport/transport";
8
+ export declare class Messaging {
9
+ private kms;
10
+ private resolver;
11
+ private registry;
12
+ private identity;
13
+ private transport;
14
+ constructor(args: {
15
+ kms: IKMS;
16
+ resolver: IAgentResolver;
17
+ registry: IAgentRegistry;
18
+ identity: AgentIdentity;
19
+ transport: AgentTransport;
20
+ });
21
+ packMessage(params: {
22
+ to: DID[] | DID;
23
+ message: IDIDCommMessage;
24
+ messageManagerCompatible?: boolean;
25
+ }): Promise<{
26
+ packedMessage: DIDCommPackedMessage;
27
+ }>;
28
+ unpackMessage(params: {
29
+ message: DIDCommPackedMessage | string;
30
+ }): Promise<DIDCommMessage>;
31
+ sendMessage(params: {
32
+ to: DID;
33
+ message: any;
34
+ packing?: DIDCommMessagePacking;
35
+ }): Promise<void>;
36
+ private getFullVerificationMethodId;
37
+ }
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.Messaging = void 0;
13
+ const did_core_1 = require("@extrimian/did-core");
14
+ const kms_core_1 = require("@extrimian/kms-core");
15
+ const did_1 = require("../models/did");
16
+ class Messaging {
17
+ constructor(args) {
18
+ this.kms = args.kms;
19
+ this.resolver = args.resolver;
20
+ this.registry = args.registry;
21
+ this.identity = args.identity;
22
+ this.transport = args.transport;
23
+ }
24
+ packMessage(params) {
25
+ return __awaiter(this, void 0, void 0, function* () {
26
+ if (!Array.isArray(params.to)) {
27
+ params.to = [params.to];
28
+ }
29
+ const myDIDDocument = yield this.resolver.resolve(this.identity.getOperationalDID());
30
+ const myKeyAgreements = did_core_1.DIDDocumentUtils.getVerificationMethodsByType(myDIDDocument, did_core_1.VerificationMethodTypes.X25519KeyAgreementKey2019);
31
+ const didCommV2Keys = yield this.kms.getPublicKeysBySuiteType(kms_core_1.Suite.DIDCommV2);
32
+ const keyToSign = myKeyAgreements.find(x => didCommV2Keys.some(y => y.x == x.publicKeyJwk.x && y.y == x.publicKeyJwk.y));
33
+ const receiptVerificationMethods = yield Promise.all(params.to.map((did) => __awaiter(this, void 0, void 0, function* () {
34
+ const targetDIDDocument = yield this.resolver.resolve(did);
35
+ const targetKeyAgreements = did_core_1.DIDDocumentUtils.getVerificationMethodsByType(targetDIDDocument, did_core_1.VerificationMethodTypes.X25519KeyAgreementKey2019);
36
+ return targetKeyAgreements;
37
+ // return `${this.getFullVerificationMethodId(targetKeyAgreements[0].id, did)}`;
38
+ })));
39
+ if (params.messageManagerCompatible) {
40
+ const toPublickKeyHex = kms_core_1.BaseConverter.convert(receiptVerificationMethods[0][0].publicKeyJwk, kms_core_1.Base.JWK, kms_core_1.Base.Hex, receiptVerificationMethods[0][0].type);
41
+ const message = yield this.kms.packv2(myKeyAgreements[0].publicKeyJwk, this.getFullVerificationMethodId(myKeyAgreements[0].id, this.identity.getOperationalDID()), [toPublickKeyHex], params.message, "authcrypt");
42
+ return { packedMessage: JSON.parse(message.message) };
43
+ }
44
+ const result = yield this.kms.packDIDCommV2({
45
+ senderVerificationMethodId: this.getFullVerificationMethodId(keyToSign.id, yield this.identity.getOperationalDID()),
46
+ recipientVerificationMethodIds: receiptVerificationMethods.map(vm => `${this.getFullVerificationMethodId(vm[0].id, did_1.DID.from(vm[0].controller))}`),
47
+ message: params.message,
48
+ packing: "authcrypt"
49
+ });
50
+ return result;
51
+ });
52
+ }
53
+ unpackMessage(params) {
54
+ return __awaiter(this, void 0, void 0, function* () {
55
+ if (typeof params.message === "string") {
56
+ params.message = JSON.parse(params.message);
57
+ }
58
+ const myKid = params.message.recipients.find(x => this.identity.getDIDs().some(did => did == did_1.DID.from(x.header.kid).value));
59
+ const didDocument = yield this.resolver.resolve(this.identity.getOperationalDID());
60
+ if (!myKid) {
61
+ const myKeyAgreements = did_core_1.DIDDocumentUtils.getVerificationMethodsByType(didDocument, did_core_1.VerificationMethodTypes.X25519KeyAgreementKey2019);
62
+ const key = myKeyAgreements[0];
63
+ const packedMessage = yield this.kms.unpackv2(key.publicKeyJwk, { message: params.message });
64
+ return packedMessage.message;
65
+ //TODO Arrojar excepción cuando se implemente el Backend Agent y sacar esto.
66
+ }
67
+ const unpackedMessage = yield this.kms.unpackvDIDCommV2(did_1.DID.from(myKid.header.kid).value, params.message);
68
+ return unpackedMessage.message;
69
+ });
70
+ }
71
+ sendMessage(params) {
72
+ return __awaiter(this, void 0, void 0, function* () {
73
+ if (!params.packing) {
74
+ params.packing = "authcrypt";
75
+ }
76
+ if (params.packing != "none") {
77
+ params.message = (yield this.packMessage({
78
+ to: params.to,
79
+ message: params.message
80
+ })).packedMessage;
81
+ }
82
+ yield this.transport.sendMessage({
83
+ message: params.message,
84
+ to: params.to,
85
+ });
86
+ });
87
+ }
88
+ getFullVerificationMethodId(verificationMethodId, did) {
89
+ if (verificationMethodId.indexOf(did.value) > -1) {
90
+ return verificationMethodId;
91
+ }
92
+ return `${did.value}#${verificationMethodId.replace("#", "")}`;
93
+ }
94
+ }
95
+ exports.Messaging = Messaging;
96
+ //# sourceMappingURL=messaging.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messaging.js","sourceRoot":"","sources":["../../src/messaging/messaging.ts"],"names":[],"mappings":"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"}