@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,152 @@
1
+ import { CredentialDisplay, IssuerData, VerifiableCredentialWithInfo } from "@extrimian/agent/src/vc/protocols/waci-protocol";
2
+ import { Purpose } from "@extrimian/did-core";
3
+ import { IJWK, IKMS } from "@extrimian/kms-core";
4
+ import { VerifiableCredential } from "@extrimian/vc-core";
5
+ import { VCSuiteError } from "@extrimian/vc-verifier";
6
+ import { CredentialManifestStyles } from "@extrimian/waci";
7
+ import { Messaging } from "../messaging/messaging";
8
+ import { AgentIdentity } from "../models/agent-identity";
9
+ import { AgentPublicKey } from "../models/agent-pbk";
10
+ import { IAgentResolver } from "../models/agent-resolver";
11
+ import { IStorage } from "../models/agent-storage";
12
+ import { DID } from "../models/did";
13
+ import { ITransport } from "../models/transports/transport";
14
+ import { AgentTransport } from "../transport/transport";
15
+ import { LiteEvent } from "../utils/lite-event";
16
+ import { CredentialFlow } from "./models/credentia-flow";
17
+ import { VCCreateKeyRequest } from "./models/vc-create-key-request";
18
+ import { ActorRole, VCProtocol } from "./protocols/vc-protocol";
19
+ export declare class VC {
20
+ private transports;
21
+ private kms;
22
+ private resolver;
23
+ private identity;
24
+ private agentStorage;
25
+ private vcStorage;
26
+ private vcProtocols;
27
+ private readonly onCredentialArrived;
28
+ get credentialArrived(): import("../utils/lite-event").ILiteEvent<{
29
+ credentials: VerifiableCredentialWithInfo[];
30
+ issuer: IssuerData;
31
+ messageId: string;
32
+ }>;
33
+ private readonly onCredentialPresented;
34
+ get credentialPresented(): import("../utils/lite-event").ILiteEvent<{
35
+ vcVerified: boolean;
36
+ presentationVerified: boolean;
37
+ vc: VerifiableCredential<any>;
38
+ }>;
39
+ protected readonly onPresentationVerified: LiteEvent<{
40
+ verified: boolean;
41
+ vcs: VerifiableCredential[];
42
+ thid: string;
43
+ messageId: string;
44
+ }>;
45
+ get presentationVerified(): import("../utils/lite-event").ILiteEvent<{
46
+ verified: boolean;
47
+ vcs: VerifiableCredential<any>[];
48
+ thid: string;
49
+ messageId: string;
50
+ }>;
51
+ private readonly onCredentialIssued;
52
+ get credentialIssued(): import("../utils/lite-event").ILiteEvent<{
53
+ vc: VerifiableCredential<any>;
54
+ to: DID;
55
+ }>;
56
+ protected readonly onAckCompleted: LiteEvent<{
57
+ role: ActorRole;
58
+ status: string;
59
+ messageId: string;
60
+ }>;
61
+ get ackCompleted(): import("../utils/lite-event").ILiteEvent<{
62
+ role: ActorRole;
63
+ status: string;
64
+ messageId: string;
65
+ }>;
66
+ protected readonly onProblemReport: LiteEvent<{
67
+ did: DID;
68
+ code: string;
69
+ invitationId: string;
70
+ messageId: string;
71
+ }>;
72
+ get problemReport(): import("../utils/lite-event").ILiteEvent<{
73
+ did: DID;
74
+ code: string;
75
+ invitationId: string;
76
+ messageId: string;
77
+ }>;
78
+ constructor(opts: {
79
+ transports: AgentTransport;
80
+ vcProtocols: VCProtocol[];
81
+ kms: IKMS;
82
+ resolver: IAgentResolver;
83
+ identity: AgentIdentity;
84
+ agentStorage: IStorage;
85
+ vcStorage: IStorage;
86
+ messaging: Messaging;
87
+ });
88
+ saveCredential(vc: VerifiableCredential): Promise<void>;
89
+ saveCredentialWithInfo(vc: VerifiableCredential, params?: {
90
+ styles: CredentialManifestStyles;
91
+ display: CredentialDisplay;
92
+ }): Promise<void>;
93
+ removeCredential(id: string): Promise<void>;
94
+ getVerifiableCredentials(): Promise<VerifiableCredential[]>;
95
+ getVerifiableCredentialsWithInfo(): Promise<{
96
+ data: VerifiableCredential;
97
+ styles: CredentialManifestStyles;
98
+ display: CredentialDisplay;
99
+ }[]>;
100
+ getVerifiableCredentialsByType(types: string[]): Promise<VerifiableCredential[]>;
101
+ createKey(params: VCCreateKeyRequest): Promise<AgentPublicKey>;
102
+ getKeys(): Promise<AgentPublicKey[]>;
103
+ getKey(jwk: IJWK): Promise<AgentPublicKey>;
104
+ signVC<VCType = any>(opts: {
105
+ credential: VerifiableCredential;
106
+ publicKey?: IJWK;
107
+ purpose?: Purpose;
108
+ }): Promise<VerifiableCredential<VCType>>;
109
+ signPresentation(params: {
110
+ contentToSign: string;
111
+ challenge: string;
112
+ domain: string;
113
+ publicKey?: IJWK;
114
+ purpose?: Purpose;
115
+ }): Promise<any>;
116
+ sendVC(params: {
117
+ vc: VerifiableCredential;
118
+ to: DID;
119
+ preferredTransportClassRef?: new (params: any) => ITransport;
120
+ }): Promise<void>;
121
+ verifyVC(params: {
122
+ vc: VerifiableCredential;
123
+ purpose?: Purpose;
124
+ }): Promise<{
125
+ result: boolean;
126
+ error?: VCSuiteError;
127
+ }>;
128
+ verifyPresentation(params: {
129
+ presentation: any;
130
+ challenge: string;
131
+ }): Promise<{
132
+ result: boolean;
133
+ error?: VCSuiteError;
134
+ }>;
135
+ verifyPresentation(params: {
136
+ presentation: any;
137
+ purpose: Purpose;
138
+ }): Promise<{
139
+ result: boolean;
140
+ error?: VCSuiteError;
141
+ }>;
142
+ createInvitationMessage(args: {
143
+ path?: string;
144
+ flow: CredentialFlow;
145
+ }): Promise<string>;
146
+ processMessage(params: {
147
+ message: any;
148
+ transport?: ITransport;
149
+ contextMessage?: any;
150
+ }): Promise<void>;
151
+ private getValidVerificationMethodSigner;
152
+ }
package/dist/vc/vc.js ADDED
@@ -0,0 +1,263 @@
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.VC = void 0;
13
+ const did_core_1 = require("@extrimian/did-core");
14
+ const kms_core_1 = require("@extrimian/kms-core");
15
+ const vc_verifier_1 = require("@extrimian/vc-verifier");
16
+ const base_64_1 = require("base-64");
17
+ const vc_protocol_not_found_1 = require("../exceptions/vc-protocol-not-found");
18
+ const agent_pbk_1 = require("../models/agent-pbk");
19
+ const did_1 = require("../models/did");
20
+ const dwn_transport_1 = require("../models/transports/dwn-transport");
21
+ const lite_event_1 = require("../utils/lite-event");
22
+ class VC {
23
+ constructor(opts) {
24
+ this.onCredentialArrived = new lite_event_1.LiteEvent();
25
+ this.onCredentialPresented = new lite_event_1.LiteEvent();
26
+ this.onPresentationVerified = new lite_event_1.LiteEvent;
27
+ this.onCredentialIssued = new lite_event_1.LiteEvent();
28
+ this.onAckCompleted = new lite_event_1.LiteEvent;
29
+ this.onProblemReport = new lite_event_1.LiteEvent;
30
+ this.transports = opts.transports;
31
+ this.kms = opts.kms;
32
+ this.resolver = opts.resolver;
33
+ this.identity = opts.identity;
34
+ this.agentStorage = opts.agentStorage;
35
+ this.vcProtocols = opts.vcProtocols;
36
+ this.vcProtocols.forEach((protocol) => {
37
+ protocol.vcArrived.on((data) => {
38
+ this.onCredentialArrived.trigger(data);
39
+ });
40
+ protocol.vcVerified.on((data) => this.onCredentialPresented.trigger({
41
+ vcVerified: data.verified,
42
+ presentationVerified: data.presentationVerified,
43
+ vc: data.vc,
44
+ }));
45
+ protocol.presentationVerified.on((data) => this.onPresentationVerified.trigger({
46
+ messageId: data.messageId,
47
+ thid: data.thid,
48
+ vcs: data.vcs,
49
+ verified: data.verified
50
+ }));
51
+ protocol.credentialIssued.on((data) => this.onCredentialIssued.trigger({
52
+ to: data.toDID,
53
+ vc: data.vc,
54
+ }));
55
+ protocol.ackCompleted.on(data => { this.onAckCompleted.trigger(data); });
56
+ protocol.problemReport.on(data => this.onProblemReport.trigger(data));
57
+ });
58
+ this.vcStorage = opts.vcStorage;
59
+ }
60
+ get credentialArrived() { return this.onCredentialArrived.expose(); }
61
+ get credentialPresented() { return this.onCredentialPresented.expose(); }
62
+ get presentationVerified() { return this.onPresentationVerified.expose(); }
63
+ get credentialIssued() { return this.onCredentialIssued.expose(); }
64
+ get ackCompleted() { return this.onAckCompleted.expose(); }
65
+ get problemReport() { return this.onProblemReport.expose(); }
66
+ saveCredential(vc) {
67
+ return __awaiter(this, void 0, void 0, function* () {
68
+ yield this.vcStorage.add(vc.id, vc);
69
+ });
70
+ }
71
+ saveCredentialWithInfo(vc, params) {
72
+ return __awaiter(this, void 0, void 0, function* () {
73
+ yield this.vcStorage.add(vc.id, { data: vc, styles: params.styles, display: params.display });
74
+ });
75
+ }
76
+ removeCredential(id) {
77
+ return __awaiter(this, void 0, void 0, function* () {
78
+ yield this.vcStorage.remove(id);
79
+ });
80
+ }
81
+ getVerifiableCredentials() {
82
+ return __awaiter(this, void 0, void 0, function* () {
83
+ return Array.from((yield this.vcStorage.getAll()).values());
84
+ });
85
+ }
86
+ getVerifiableCredentialsWithInfo() {
87
+ return __awaiter(this, void 0, void 0, function* () {
88
+ return Array.from((yield this.vcStorage.getAll()).values());
89
+ });
90
+ }
91
+ getVerifiableCredentialsByType(types) {
92
+ return __awaiter(this, void 0, void 0, function* () {
93
+ return (yield this.getVerifiableCredentials()).filter(x => !x.type.some(y => types.some(z => z != y)));
94
+ });
95
+ }
96
+ createKey(params) {
97
+ return __awaiter(this, void 0, void 0, function* () {
98
+ const publicKey = yield this.kms.create(kms_core_1.Suite.Bbsbls2020);
99
+ const agentPbk = new agent_pbk_1.AgentPublicKey({
100
+ name: params.name,
101
+ description: params.description,
102
+ publicKeyJWK: publicKey.publicKeyJWK,
103
+ });
104
+ this.agentStorage.add(kms_core_1.BaseConverter.convert(publicKey.publicKeyJWK, kms_core_1.Base.JWK, kms_core_1.Base.Hex), agentPbk);
105
+ return agentPbk;
106
+ });
107
+ }
108
+ getKeys() {
109
+ return __awaiter(this, void 0, void 0, function* () {
110
+ const bbsblsKeys = yield this.kms.getPublicKeysBySuiteType(kms_core_1.Suite.Bbsbls2020);
111
+ const keys = new Array();
112
+ for (let key in bbsblsKeys) {
113
+ const apbk = new agent_pbk_1.AgentPublicKey(yield this.agentStorage.get(kms_core_1.BaseConverter.convert(bbsblsKeys[key], kms_core_1.Base.JWK, kms_core_1.Base.Hex)));
114
+ keys.push(apbk);
115
+ }
116
+ return keys;
117
+ });
118
+ }
119
+ getKey(jwk) {
120
+ return __awaiter(this, void 0, void 0, function* () {
121
+ const bbsblsKeys = yield this.getKeys();
122
+ const searchedKey = bbsblsKeys.find(key => key.publicKeyJWK.crv == jwk.crv &&
123
+ key.publicKeyJWK.kty == jwk.kty &&
124
+ key.publicKeyJWK.x == jwk.x &&
125
+ key.publicKeyJWK.y == jwk.y);
126
+ if (!searchedKey)
127
+ throw new Error(`Key ${JSON.stringify(jwk)} not found in KMS`);
128
+ return searchedKey;
129
+ });
130
+ }
131
+ signVC(opts) {
132
+ return __awaiter(this, void 0, void 0, function* () {
133
+ let publicKeys;
134
+ if (!opts.publicKey) {
135
+ const bbsblsKeys = yield this.kms.getPublicKeysBySuiteType(kms_core_1.Suite.Bbsbls2020);
136
+ if (bbsblsKeys.length == 0) {
137
+ throw new Error("KMS doesn't contains keys for bbsbls2020. You need to create this kind of keys to sign verifiable credentials");
138
+ }
139
+ publicKeys = bbsblsKeys;
140
+ }
141
+ else {
142
+ publicKeys = [opts.publicKey];
143
+ }
144
+ const didDocument = yield this.resolver.resolve(this.identity.getOperationalDID());
145
+ const validPublicKeys = didDocument.verificationMethod.filter(x => x.type == "Bls12381G1Key2020");
146
+ //Comienzo a comparar las claves que estan en el DID Document con las que tiene el KMS hasta encontrar un match
147
+ const firstValidPbk = validPublicKeys.find(didDocKey => publicKeys.some(kmsKey => didDocKey.publicKeyJwk.x == kmsKey.x &&
148
+ didDocKey.publicKeyJwk.y == kmsKey.y));
149
+ // Si el DID Document no contiene la clave, el agente no debería firmar ya que hay un error.
150
+ if (!firstValidPbk) {
151
+ throw Error("There aren't public keys valid to use based on Issuer DID Document and KMS secrets");
152
+ }
153
+ // Si contiene la clave, se procede a la firma
154
+ const vc = yield this.kms.signVC(kms_core_1.Suite.Bbsbls2020, firstValidPbk.publicKeyJwk, opts.credential, this.identity.getOperationalDID().value, this.identity.getOperationalDID().value + firstValidPbk.id, opts.purpose || new did_core_1.AssertionMethodPurpose());
155
+ return vc;
156
+ });
157
+ }
158
+ signPresentation(params) {
159
+ return __awaiter(this, void 0, void 0, function* () {
160
+ const verificationMethod = yield this.getValidVerificationMethodSigner({
161
+ suiteType: kms_core_1.Suite.RsaSignature2018,
162
+ publicKey: params.publicKey,
163
+ });
164
+ const signature = yield this.kms.signVCPresentation({
165
+ did: this.identity.getOperationalDID().value,
166
+ presentationObject: params.contentToSign,
167
+ publicKeyJWK: verificationMethod.publicKeyJwk,
168
+ purpose: params.purpose || new did_core_1.AuthenticationPurpose({ challenge: params.challenge }),
169
+ verificationMethodId: this.identity.getOperationalDID().value + verificationMethod.id
170
+ });
171
+ return signature;
172
+ });
173
+ }
174
+ sendVC(params) {
175
+ return __awaiter(this, void 0, void 0, function* () {
176
+ if (params.preferredTransportClassRef) {
177
+ params.preferredTransportClassRef = dwn_transport_1.DWNTransport;
178
+ }
179
+ yield this.transports.sendMessage({
180
+ to: params.to,
181
+ message: JSON.stringify(params.vc),
182
+ });
183
+ });
184
+ }
185
+ verifyVC(params) {
186
+ return __awaiter(this, void 0, void 0, function* () {
187
+ const vcService = new vc_verifier_1.VCVerifierService({
188
+ didDocumentResolver: (did) => this.resolver.resolve(did_1.DID.from(did)),
189
+ });
190
+ const result = yield vcService.verify(params.vc, params.purpose || new did_core_1.AssertionMethodPurpose());
191
+ return result;
192
+ });
193
+ }
194
+ verifyPresentation(params) {
195
+ return __awaiter(this, void 0, void 0, function* () {
196
+ if (!params.challenge && !params.purpose) {
197
+ throw new Error("Challenge or purpose are required for verifyPresentation");
198
+ }
199
+ const vcService = new vc_verifier_1.VCVerifierService({
200
+ didDocumentResolver: (did) => this.resolver.resolve(did_1.DID.from(did)),
201
+ });
202
+ const result = yield vcService.verify(params.presentation, params.purpose || new did_core_1.AuthenticationPurpose({ challenge: params.challenge }));
203
+ return result;
204
+ });
205
+ }
206
+ createInvitationMessage(args) {
207
+ return __awaiter(this, void 0, void 0, function* () {
208
+ if (!args.path)
209
+ args.path = "didcomm";
210
+ const oobMessage = yield this.vcProtocols[0].createInvitationMessage(args.flow);
211
+ const oob = (0, base_64_1.encode)(JSON.stringify(oobMessage));
212
+ return `${args.path}://?_oob=${oob}`;
213
+ });
214
+ }
215
+ processMessage(params) {
216
+ return __awaiter(this, void 0, void 0, function* () {
217
+ const promises = this.vcProtocols.map((x) => __awaiter(this, void 0, void 0, function* () { return yield x.isProtocolMessage(params.message); }));
218
+ const results = yield Promise.all(promises);
219
+ const vcProtocol = this.vcProtocols[results.indexOf(true)];
220
+ if (!vcProtocol) {
221
+ throw new vc_protocol_not_found_1.VCProtocolNotFoundError();
222
+ }
223
+ const response = yield vcProtocol.processMessage(params.message, params.contextMessage);
224
+ if (response) {
225
+ yield this.transports.sendMessage({
226
+ message: response.message,
227
+ to: response.to,
228
+ messageContext: params.contextMessage,
229
+ preferredTransport: params.transport
230
+ });
231
+ }
232
+ });
233
+ }
234
+ getValidVerificationMethodSigner(params) {
235
+ return __awaiter(this, void 0, void 0, function* () {
236
+ let publicKeys;
237
+ if (!params.publicKey) {
238
+ const bbsblsKeys = yield this.kms.getPublicKeysBySuiteType(params.suiteType);
239
+ if (bbsblsKeys.length == 0) {
240
+ throw new Error("KMS doesn't contains keys for bbsbls2020. You need to create this kind of keys to sign verifiable credentials");
241
+ }
242
+ publicKeys = bbsblsKeys;
243
+ }
244
+ else {
245
+ publicKeys = [params.publicKey];
246
+ }
247
+ const didDocument = yield this.resolver.resolve(this.identity.getOperationalDID());
248
+ const validPublicKeys = didDocument.verificationMethod.filter(x => x.type == (0, kms_core_1.getTypeBySuite)(params.suiteType));
249
+ //Comienzo a comparar las claves que estan en el DID Document con las que tiene el KMS hasta encontrar un match
250
+ const firstValidPbk = validPublicKeys.find(didDocKey => {
251
+ const jKey = JSON.stringify(didDocKey.publicKeyJwk);
252
+ return publicKeys.some(kmsKey => JSON.stringify(kmsKey) === jKey);
253
+ });
254
+ // Si el DID Document no contiene la clave, el agente no debería firmar ya que hay un error.
255
+ if (!firstValidPbk) {
256
+ throw Error("There aren't public keys valid to use based on Issuer DID Document and KMS secrets");
257
+ }
258
+ return firstValidPbk;
259
+ });
260
+ }
261
+ }
262
+ exports.VC = VC;
263
+ //# sourceMappingURL=vc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vc.js","sourceRoot":"","sources":["../../src/vc/vc.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,50 @@
1
+ {
2
+ "name": "@extrimian/agent",
3
+ "version": "0.8.7",
4
+ "description": "Agent SDK",
5
+ "main": "dist/index.js",
6
+ "private": false,
7
+ "typings": "dist/index.d.ts",
8
+ "scripts": {
9
+ "build": "tsc --project tsconfig.build.json",
10
+ "prepublishOnly": "npm run build",
11
+ "test": "jest --verbose --silent=false"
12
+ },
13
+ "files": [
14
+ "dist"
15
+ ],
16
+ "keywords": [],
17
+ "author": "Extrimian",
18
+ "license": "Apache-2.0",
19
+ "devDependencies": {
20
+ "@types/jest": "^27.5.0",
21
+ "@types/node": "^17.0.27",
22
+ "jest": "^28.0.3",
23
+ "nodemon": "^2.0.15",
24
+ "ts-jest": "^28.0.1",
25
+ "ts-node": "^10.4.0",
26
+ "typescript": "^4.5.4"
27
+ },
28
+ "dependencies": {
29
+ "@extrimian/did-core": "1.0.7",
30
+ "@extrimian/did-registry": "^1.5.0",
31
+ "@extrimian/did-resolver": "^1.4.1",
32
+ "@extrimian/dwn-client": "^1.2.0",
33
+ "@extrimian/kms-client": "^1.3.0",
34
+ "@extrimian/kms-core": "^1.3.0",
35
+ "@extrimian/modena-sdk": "1.3.2",
36
+ "@extrimian/vc-core": "1.0.7",
37
+ "@extrimian/vc-verifier": "^1.1.1",
38
+ "@extrimian/waci": "~2.1.0",
39
+ "@types/base-64": "^1.0.0",
40
+ "async-lock": "^1.4.0",
41
+ "axios": "^1.4.0",
42
+ "base-64": "^1.0.0",
43
+ "jsonpath": "^1.1.1",
44
+ "jsonschema": "^1.4.1",
45
+ "jwt-decode": "^3.1.2",
46
+ "node-cache": "^5.1.2",
47
+ "socket.io": "^4.6.1",
48
+ "socket.io-client": "^4.6.1"
49
+ }
50
+ }