@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,99 @@
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.AgentTransport = void 0;
13
+ const dwn_transport_1 = require("../models/transports/dwn-transport");
14
+ const lite_event_1 = require("../utils/lite-event");
15
+ const NodeCache = require("node-cache");
16
+ class AgentTransport {
17
+ constructor(params) {
18
+ this.onMessageArrived = new lite_event_1.LiteEvent();
19
+ this.onConnected = new lite_event_1.LiteEvent();
20
+ this.onDisconnected = new lite_event_1.LiteEvent();
21
+ this.cacheStorage = new NodeCache({ stdTTL: 100, checkperiod: 120 });
22
+ this.agent = params.agent;
23
+ if (!params.transports) {
24
+ params.transports = Array();
25
+ params.transports.push(new dwn_transport_1.DWNTransport());
26
+ }
27
+ params.agent.identity.identityInitialized.on(() => __awaiter(this, void 0, void 0, function* () {
28
+ yield Promise.all(this.transports.map((transport) => __awaiter(this, void 0, void 0, function* () {
29
+ return yield transport.initialize({
30
+ agent: params.agent
31
+ });
32
+ })));
33
+ }));
34
+ this.transports = params.transports;
35
+ }
36
+ get messageArrived() { return this.onMessageArrived.expose(); }
37
+ get connected() { return this.onConnected.expose(); }
38
+ get disconnected() { return this.onDisconnected.expose(); }
39
+ handleConnect(params) {
40
+ return __awaiter(this, void 0, void 0, function* () {
41
+ this.onConnected.trigger({
42
+ did: params.did
43
+ });
44
+ });
45
+ }
46
+ handleDisconnect(params) {
47
+ return __awaiter(this, void 0, void 0, function* () {
48
+ this.onDisconnected.trigger({
49
+ did: params.did
50
+ });
51
+ });
52
+ }
53
+ handleMessage(params, transport) {
54
+ var _a;
55
+ return __awaiter(this, void 0, void 0, function* () {
56
+ console.info("Message arrived using", (_a = transport.constructor) === null || _a === void 0 ? void 0 : _a.name);
57
+ const unpackedMessage = yield this.agent.messaging.unpackMessage({
58
+ message: params.data,
59
+ });
60
+ this.cacheStorage.set(unpackedMessage.id, transport.constructor.name);
61
+ this.onMessageArrived.trigger({
62
+ message: unpackedMessage,
63
+ transport: transport,
64
+ contextMessage: params.context
65
+ });
66
+ });
67
+ }
68
+ addTransports(transport) {
69
+ }
70
+ getTranportByMessageId(messageId) {
71
+ const transportName = this.cacheStorage.get(messageId);
72
+ if (transportName != null) {
73
+ return this.transports.find(x => x.constructor.name == transportName);
74
+ }
75
+ return null;
76
+ }
77
+ sendMessage(params) {
78
+ var _a;
79
+ return __awaiter(this, void 0, void 0, function* () {
80
+ let transport = params.preferredTransport;
81
+ if (!transport) {
82
+ for (let t of this.transports) {
83
+ if (yield t.transportSupportedByTarget({ targetDID: params.to })) {
84
+ transport = t;
85
+ break;
86
+ }
87
+ }
88
+ }
89
+ console.info("Sending message to", params.to.value, "using", (_a = transport === null || transport === void 0 ? void 0 : transport.constructor) === null || _a === void 0 ? void 0 : _a.name);
90
+ yield transport.send({
91
+ data: params.message,
92
+ to: params.to,
93
+ context: params.messageContext
94
+ });
95
+ });
96
+ }
97
+ }
98
+ exports.AgentTransport = AgentTransport;
99
+ //# sourceMappingURL=transport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../src/transport/transport.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare const getSearchParam: (key: string, url: string) => string;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getSearchParam = void 0;
4
+ const getSearchParam = (key, url) => {
5
+ if (!url.includes(key))
6
+ return null;
7
+ try {
8
+ return url.split(`${key}=`)[1].split('&')[0];
9
+ }
10
+ catch (e) {
11
+ return null;
12
+ }
13
+ };
14
+ exports.getSearchParam = getSearchParam;
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;AAAO,MAAM,cAAc,GAAG,CAAC,GAAW,EAAE,GAAW,EAAE,EAAE;IACvD,IAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,IAAI;QACA,OAAO,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;KAC/C;IAAC,OAAM,CAAC,EAAC;QACN,OAAO,IAAI,CAAC;KACf;AACL,CAAC,CAAC;AAPW,QAAA,cAAc,kBAOzB"}
@@ -0,0 +1,25 @@
1
+ export interface ILiteEvent<T> {
2
+ on(handler: {
3
+ (data?: T): void;
4
+ }): void;
5
+ off(handler: {
6
+ (data?: T): void;
7
+ }): void;
8
+ once(handler: {
9
+ (data?: T): void;
10
+ }): any;
11
+ }
12
+ export declare class LiteEvent<T> implements ILiteEvent<T> {
13
+ private handlers;
14
+ on(handler: {
15
+ (data?: T): void;
16
+ }): void;
17
+ off(handler: {
18
+ (data?: T): void;
19
+ }): void;
20
+ trigger(data?: T): void;
21
+ once(handler: {
22
+ (data?: T): void;
23
+ }): void;
24
+ expose(): ILiteEvent<T>;
25
+ }
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LiteEvent = void 0;
4
+ class LiteEvent {
5
+ constructor() {
6
+ this.handlers = [];
7
+ }
8
+ on(handler) {
9
+ this.handlers.push({
10
+ h: handler,
11
+ once: false
12
+ });
13
+ }
14
+ off(handler) {
15
+ this.handlers = this.handlers.filter(h => h.h !== handler);
16
+ }
17
+ trigger(data) {
18
+ this.handlers.filter(x => x.once).slice(0).forEach(h => h.h(data));
19
+ this.handlers = this.handlers.filter(x => !x.once);
20
+ this.handlers.slice(0).forEach(h => h.h(data));
21
+ }
22
+ once(handler) {
23
+ this.handlers.push({
24
+ h: handler,
25
+ once: true
26
+ });
27
+ }
28
+ expose() {
29
+ return this;
30
+ }
31
+ }
32
+ exports.LiteEvent = LiteEvent;
33
+ //# sourceMappingURL=lite-event.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lite-event.js","sourceRoot":"","sources":["../../src/utils/lite-event.ts"],"names":[],"mappings":";;;AAMA,MAAa,SAAS;IAAtB;QACY,aAAQ,GAAiD,EAAE,CAAC;IA6BxE,CAAC;IA3BU,EAAE,CAAC,OAA6B;QACnC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACf,CAAC,EAAE,OAAO;YACV,IAAI,EAAE,KAAK;SACd,CAAC,CAAC;IACP,CAAC;IAEM,GAAG,CAAC,OAA6B;QACpC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC;IAC/D,CAAC;IAEM,OAAO,CAAC,IAAQ;QACnB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QAClD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACnD,CAAC;IAEM,IAAI,CAAC,OAA6B;QACrC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACf,CAAC,EAAE,OAAO;YACV,IAAI,EAAE,IAAI;SACb,CAAC,CAAC;IACP,CAAC;IAEM,MAAM;QACT,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AA9BD,8BA8BC"}
@@ -0,0 +1,4 @@
1
+ export declare enum CredentialFlow {
2
+ Presentation = 0,
3
+ Issuance = 1
4
+ }
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CredentialFlow = void 0;
4
+ var CredentialFlow;
5
+ (function (CredentialFlow) {
6
+ CredentialFlow[CredentialFlow["Presentation"] = 0] = "Presentation";
7
+ CredentialFlow[CredentialFlow["Issuance"] = 1] = "Issuance";
8
+ })(CredentialFlow = exports.CredentialFlow || (exports.CredentialFlow = {}));
9
+ //# sourceMappingURL=credentia-flow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credentia-flow.js","sourceRoot":"","sources":["../../../src/vc/models/credentia-flow.ts"],"names":[],"mappings":";;;AAAA,IAAY,cAGX;AAHD,WAAY,cAAc;IACtB,mEAAY,CAAA;IACZ,2DAAQ,CAAA;AACZ,CAAC,EAHW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAGzB"}
@@ -0,0 +1,3 @@
1
+ export interface CredentialRequest {
2
+ originalRequest: any;
3
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=credential-request.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credential-request.js","sourceRoot":"","sources":["../../../src/vc/models/credential-request.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export interface VCCreateKeyRequest {
2
+ name: string;
3
+ description: string;
4
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=vc-create-key-request.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vc-create-key-request.js","sourceRoot":"","sources":["../../../src/vc/models/vc-create-key-request.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ import { DIDCommMessage } from "@extrimian/did-core";
2
+ export declare class WACIMessage extends DIDCommMessage {
3
+ }
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WACIMessage = void 0;
4
+ const did_core_1 = require("@extrimian/did-core");
5
+ class WACIMessage extends did_core_1.DIDCommMessage {
6
+ }
7
+ exports.WACIMessage = WACIMessage;
8
+ //# sourceMappingURL=waci-message.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"waci-message.js","sourceRoot":"","sources":["../../../src/vc/models/waci-message.ts"],"names":[],"mappings":";;;AAAA,kDAAqD;AAErD,MAAa,WAAY,SAAQ,yBAAc;CAC9C;AADD,kCACC"}
@@ -0,0 +1,159 @@
1
+ import { IStorage } from '../../models/agent-storage';
2
+ import { VCProtocol } from './vc-protocol';
3
+ export declare class OpenIDProtocol extends VCProtocol<any> {
4
+ private storage;
5
+ constructor(params?: {
6
+ issuer?: {};
7
+ hoder?: {};
8
+ verifier?: {};
9
+ storage: IStorage;
10
+ });
11
+ generateGUID(): string;
12
+ processMessage(message: any, context?: any): Promise<any>;
13
+ isProtocolMessage(message: any): Promise<boolean>;
14
+ createInvitationMessage(flow: any): Promise<any>;
15
+ }
16
+ export interface MicrosoftCredential {
17
+ jti: string;
18
+ iat: number;
19
+ response_type: string;
20
+ response_mode: string;
21
+ scope: string;
22
+ nonce: string;
23
+ client_id: string;
24
+ redirect_uri: string;
25
+ prompt: string;
26
+ state: string;
27
+ exp: number;
28
+ registration: Registration;
29
+ claims: Claims;
30
+ pin: Pin;
31
+ id_token_hint: string;
32
+ }
33
+ export interface Claims {
34
+ vp_token: VpToken;
35
+ }
36
+ export interface VpToken {
37
+ presentation_definition: PresentationDefinition;
38
+ }
39
+ export interface PresentationDefinition {
40
+ id: string;
41
+ input_descriptors: InputDescriptor[];
42
+ }
43
+ export interface InputDescriptor {
44
+ id: string;
45
+ schema: Schema[];
46
+ issuance: Issuance[];
47
+ }
48
+ export interface Issuance {
49
+ manifest: string;
50
+ }
51
+ export interface Schema {
52
+ uri: string;
53
+ }
54
+ export interface Pin {
55
+ length: number;
56
+ type: string;
57
+ alg: string;
58
+ iterations: number;
59
+ salt: string;
60
+ hash: string;
61
+ }
62
+ export interface Registration {
63
+ client_name: string;
64
+ subject_syntax_types_supported: string[];
65
+ vp_formats: VpFormats;
66
+ }
67
+ export interface VpFormats {
68
+ jwt_vp: JwtV;
69
+ jwt_vc: JwtV;
70
+ }
71
+ export interface JwtV {
72
+ alg: string[];
73
+ }
74
+ export interface MicrosoftCredentialInfo {
75
+ sub: string;
76
+ aud: string;
77
+ nonce: string;
78
+ sub_jwk: SubJwk;
79
+ did: string;
80
+ given_name: string;
81
+ family_name: string;
82
+ iss: string;
83
+ iat: number;
84
+ jti: string;
85
+ exp: number;
86
+ pin: Pin;
87
+ }
88
+ export interface Pin {
89
+ length: number;
90
+ type: string;
91
+ alg: string;
92
+ iterations: number;
93
+ salt: string;
94
+ hash: string;
95
+ }
96
+ export interface SubJwk {
97
+ crv: string;
98
+ kid: string;
99
+ kty: string;
100
+ x: string;
101
+ y: string;
102
+ }
103
+ export interface MicrosoftCredentialManifest {
104
+ id: string;
105
+ display: Display;
106
+ input: Input;
107
+ iss: string;
108
+ iat: number;
109
+ }
110
+ export interface Display {
111
+ locale: string;
112
+ contract: string;
113
+ card: Card;
114
+ consent: Consent;
115
+ claims: Claims;
116
+ id: string;
117
+ }
118
+ export interface Card {
119
+ title: string;
120
+ issuedBy: string;
121
+ backgroundColor: string;
122
+ textColor: string;
123
+ logo: Logo;
124
+ description: string;
125
+ }
126
+ export interface Logo {
127
+ uri: string;
128
+ description: string;
129
+ }
130
+ export interface Claims {
131
+ type: string;
132
+ label: string;
133
+ }
134
+ export interface VcCredentialSubject {
135
+ type: string;
136
+ label: string;
137
+ }
138
+ export interface Consent {
139
+ title: string;
140
+ instructions: string;
141
+ }
142
+ export interface Input {
143
+ credentialIssuer: string;
144
+ issuer: string;
145
+ attestations: Attestations;
146
+ id: string;
147
+ }
148
+ export interface Attestations {
149
+ accessTokens: AccessToken[];
150
+ }
151
+ export interface AccessToken {
152
+ id: string;
153
+ encrypted: boolean;
154
+ claims: any[];
155
+ required: boolean;
156
+ configuration: string;
157
+ resourceId: string;
158
+ oboScope: string;
159
+ }
@@ -0,0 +1,147 @@
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
+ var __rest = (this && this.__rest) || function (s, e) {
12
+ var t = {};
13
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
14
+ t[p] = s[p];
15
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
16
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
17
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
18
+ t[p[i]] = s[p[i]];
19
+ }
20
+ return t;
21
+ };
22
+ Object.defineProperty(exports, "__esModule", { value: true });
23
+ exports.OpenIDProtocol = void 0;
24
+ const axios_1 = require("axios");
25
+ const jwt_decode_1 = require("jwt-decode");
26
+ const utils_1 = require("../../utils");
27
+ const vc_protocol_1 = require("./vc-protocol");
28
+ class OpenIDProtocol extends vc_protocol_1.VCProtocol {
29
+ constructor(params) {
30
+ super();
31
+ this.storage = params.storage;
32
+ }
33
+ generateGUID() {
34
+ function generateSegment() {
35
+ return Math.floor((1 + Math.random()) * 0x10000)
36
+ .toString(16)
37
+ .substring(1);
38
+ }
39
+ return (generateSegment() +
40
+ generateSegment() +
41
+ '-' +
42
+ generateSegment() +
43
+ '-4' +
44
+ generateSegment().substr(0, 3) +
45
+ '-' +
46
+ generateSegment() +
47
+ '-' +
48
+ generateSegment() +
49
+ generateSegment() +
50
+ generateSegment());
51
+ }
52
+ processMessage(message, context) {
53
+ var _a;
54
+ return __awaiter(this, void 0, void 0, function* () {
55
+ const request_uri = (0, utils_1.getSearchParam)('request_uri', message);
56
+ const encodedData = (yield axios_1.default.get(request_uri)).data;
57
+ const decodedData = (0, jwt_decode_1.default)(encodedData);
58
+ const credentialData = (0, jwt_decode_1.default)(decodedData.id_token_hint);
59
+ const manifestEncoded = (_a = (yield axios_1.default.get(decodedData.claims.vp_token.presentation_definition.input_descriptors[0]
60
+ .issuance[0].manifest)).data) === null || _a === void 0 ? void 0 : _a.token;
61
+ const credentialManifest = (0, jwt_decode_1.default)(manifestEncoded);
62
+ const { did, sub, aud, exp, iat, iss, jti, nonce, sub_jwk, pin } = credentialData, rest = __rest(credentialData, ["did", "sub", "aud", "exp", "iat", "iss", "jti", "nonce", "sub_jwk", "pin"]);
63
+ const data = {
64
+ credentialSubject: Object.assign({}, rest),
65
+ id: this.generateGUID(),
66
+ type: [
67
+ decodedData.claims.vp_token.presentation_definition.input_descriptors[0]
68
+ .id,
69
+ ],
70
+ issuer: {
71
+ id: credentialData.iss,
72
+ name: credentialManifest.display.card.issuedBy,
73
+ },
74
+ issuanceDate: new Date(),
75
+ };
76
+ const claims = [
77
+ {
78
+ path: '$.credentialSubject.given_name',
79
+ label: 'First Name',
80
+ },
81
+ {
82
+ path: '$.credentialSubject.family_name',
83
+ label: 'Last Name',
84
+ },
85
+ ];
86
+ const display = {
87
+ description: {
88
+ text: credentialManifest.display.card.description,
89
+ },
90
+ title: {
91
+ text: credentialManifest.display.card.title,
92
+ },
93
+ properties: claims.map((claim) => {
94
+ const value = {
95
+ label: claim.label,
96
+ path: [claim.path],
97
+ schema: {
98
+ type: 'string',
99
+ },
100
+ fallback: 'Unknown',
101
+ };
102
+ return value;
103
+ }),
104
+ };
105
+ const styles = {
106
+ thumbnail: {
107
+ alt: credentialManifest.display.card.logo.description,
108
+ uri: credentialManifest.display.card.logo.uri,
109
+ },
110
+ background: { color: credentialManifest.display.card.backgroundColor },
111
+ text: {
112
+ color: credentialManifest.display.card.textColor,
113
+ },
114
+ hero: {
115
+ uri: '',
116
+ alt: '',
117
+ },
118
+ };
119
+ const issuer = {
120
+ id: credentialData.iss,
121
+ name: credentialManifest.display.card.issuedBy,
122
+ };
123
+ this.onVcArrived.trigger({
124
+ credentials: [{ data, styles, display }],
125
+ messageId: "",
126
+ issuer,
127
+ });
128
+ });
129
+ }
130
+ isProtocolMessage(message) {
131
+ return __awaiter(this, void 0, void 0, function* () {
132
+ if (typeof message === 'string' &&
133
+ message.includes('openid-vc://') &&
134
+ (0, utils_1.getSearchParam)('request_uri', message)) {
135
+ return true;
136
+ }
137
+ return false;
138
+ });
139
+ }
140
+ createInvitationMessage(flow) {
141
+ return __awaiter(this, void 0, void 0, function* () {
142
+ throw new Error('Method not implemented.');
143
+ });
144
+ }
145
+ }
146
+ exports.OpenIDProtocol = OpenIDProtocol;
147
+ //# sourceMappingURL=openid-protocol.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openid-protocol.js","sourceRoot":"","sources":["../../../src/vc/protocols/openid-protocol.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,98 @@
1
+ import { IssuerData, VerifiableCredentialWithInfo } from "@extrimian/agent/src/vc/protocols/waci-protocol";
2
+ import { VerifiableCredential } from "@extrimian/vc-core";
3
+ import { Agent } from "../../agent";
4
+ import { DID } from "../../models/did";
5
+ import { LiteEvent } from "../../utils/lite-event";
6
+ import { CredentialFlow } from "../models/credentia-flow";
7
+ export declare enum ActorRole {
8
+ Issuer = 0,
9
+ Holder = 1,
10
+ Verifier = 2
11
+ }
12
+ export declare abstract class VCProtocol<TProtocolMessage = any> {
13
+ protected readonly onVcArrived: LiteEvent<{
14
+ credentials: VerifiableCredentialWithInfo[];
15
+ issuer: IssuerData;
16
+ messageId: string;
17
+ }>;
18
+ get vcArrived(): import("../../utils/lite-event").ILiteEvent<{
19
+ credentials: VerifiableCredentialWithInfo[];
20
+ issuer: IssuerData;
21
+ messageId: string;
22
+ }>;
23
+ protected readonly onCredentialIssued: LiteEvent<{
24
+ vc: VerifiableCredential;
25
+ toDID: DID;
26
+ }>;
27
+ get credentialIssued(): import("../../utils/lite-event").ILiteEvent<{
28
+ vc: VerifiableCredential<any>;
29
+ toDID: DID;
30
+ }>;
31
+ protected readonly onVcVerified: LiteEvent<{
32
+ verified: boolean;
33
+ presentationVerified: boolean;
34
+ vc: VerifiableCredential;
35
+ }>;
36
+ get vcVerified(): import("../../utils/lite-event").ILiteEvent<{
37
+ verified: boolean;
38
+ presentationVerified: boolean;
39
+ vc: VerifiableCredential<any>;
40
+ }>;
41
+ protected readonly onPresentationVerified: LiteEvent<{
42
+ verified: boolean;
43
+ vcs: VerifiableCredential[];
44
+ thid: string;
45
+ invitationId: string;
46
+ rejectMsg?: string;
47
+ messageId: string;
48
+ }>;
49
+ get presentationVerified(): import("../../utils/lite-event").ILiteEvent<{
50
+ verified: boolean;
51
+ vcs: VerifiableCredential<any>[];
52
+ thid: string;
53
+ invitationId: string;
54
+ rejectMsg?: string;
55
+ messageId: string;
56
+ }>;
57
+ protected readonly onAckCompleted: LiteEvent<{
58
+ role: ActorRole;
59
+ status: string;
60
+ messageId: string;
61
+ }>;
62
+ get ackCompleted(): import("../../utils/lite-event").ILiteEvent<{
63
+ role: ActorRole;
64
+ status: string;
65
+ messageId: string;
66
+ }>;
67
+ protected readonly onProblemReport: LiteEvent<{
68
+ did: DID;
69
+ code: string;
70
+ invitationId: string;
71
+ messageId: string;
72
+ }>;
73
+ get problemReport(): import("../../utils/lite-event").ILiteEvent<{
74
+ did: DID;
75
+ code: string;
76
+ invitationId: string;
77
+ messageId: string;
78
+ }>;
79
+ abstract processMessage(message: TProtocolMessage, context?: any): Promise<VCProtocolResponse | void>;
80
+ abstract isProtocolMessage(message: any): Promise<boolean>;
81
+ abstract createInvitationMessage(flow: CredentialFlow): Promise<TProtocolMessage>;
82
+ protected agent: Agent;
83
+ constructor();
84
+ initialize(params: {
85
+ agent: Agent;
86
+ }): void;
87
+ }
88
+ export declare enum VCMessageType {
89
+ RequestCredential = 0
90
+ }
91
+ export interface CredentialRequestedEventArg<TProtocolMessage = any> {
92
+ did: string;
93
+ protocolMessage: TProtocolMessage;
94
+ }
95
+ export interface VCProtocolResponse {
96
+ to: DID;
97
+ message: any;
98
+ }