@ajna-inc/openbadges 0.1.5 → 0.1.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.
- package/build/OpenBadgesModule.d.ts +2 -2
- package/build/OpenBadgesModule.js +10 -2
- package/build/OpenBadgesModule.js.map +1 -1
- package/build/api/OpenBadgesApi.d.ts +95 -6
- package/build/api/OpenBadgesApi.js +186 -1
- package/build/api/OpenBadgesApi.js.map +1 -1
- package/build/cryptosuites/EddsaRdfc2022.js +4 -4
- package/build/cryptosuites/EddsaRdfc2022.js.map +1 -1
- package/build/index.d.ts +1 -0
- package/build/index.js +2 -0
- package/build/index.js.map +1 -1
- package/build/protocol/OpenBadgeProtocolEvents.d.ts +95 -0
- package/build/protocol/OpenBadgeProtocolEvents.js +16 -0
- package/build/protocol/OpenBadgeProtocolEvents.js.map +1 -0
- package/build/protocol/OpenBadgeProtocolService.d.ts +73 -0
- package/build/protocol/OpenBadgeProtocolService.js +274 -0
- package/build/protocol/OpenBadgeProtocolService.js.map +1 -0
- package/build/protocol/handlers/AckHandler.d.ts +9 -0
- package/build/protocol/handlers/AckHandler.js +30 -0
- package/build/protocol/handlers/AckHandler.js.map +1 -0
- package/build/protocol/handlers/CredentialHandler.d.ts +9 -0
- package/build/protocol/handlers/CredentialHandler.js +30 -0
- package/build/protocol/handlers/CredentialHandler.js.map +1 -0
- package/build/protocol/handlers/OfferHandler.d.ts +9 -0
- package/build/protocol/handlers/OfferHandler.js +30 -0
- package/build/protocol/handlers/OfferHandler.js.map +1 -0
- package/build/protocol/handlers/PresentationHandler.d.ts +9 -0
- package/build/protocol/handlers/PresentationHandler.js +30 -0
- package/build/protocol/handlers/PresentationHandler.js.map +1 -0
- package/build/protocol/handlers/RequestHandler.d.ts +9 -0
- package/build/protocol/handlers/RequestHandler.js +30 -0
- package/build/protocol/handlers/RequestHandler.js.map +1 -0
- package/build/protocol/handlers/RequestPresentationHandler.d.ts +9 -0
- package/build/protocol/handlers/RequestPresentationHandler.js +30 -0
- package/build/protocol/handlers/RequestPresentationHandler.js.map +1 -0
- package/build/protocol/handlers/VerificationResultHandler.d.ts +9 -0
- package/build/protocol/handlers/VerificationResultHandler.js +30 -0
- package/build/protocol/handlers/VerificationResultHandler.js.map +1 -0
- package/build/protocol/handlers/index.d.ts +7 -0
- package/build/protocol/handlers/index.js +24 -0
- package/build/protocol/handlers/index.js.map +1 -0
- package/build/protocol/index.d.ts +4 -0
- package/build/protocol/index.js +21 -0
- package/build/protocol/index.js.map +1 -0
- package/build/protocol/messages/AckMessage.d.ts +18 -0
- package/build/protocol/messages/AckMessage.js +46 -0
- package/build/protocol/messages/AckMessage.js.map +1 -0
- package/build/protocol/messages/CredentialMessage.d.ts +26 -0
- package/build/protocol/messages/CredentialMessage.js +72 -0
- package/build/protocol/messages/CredentialMessage.js.map +1 -0
- package/build/protocol/messages/OfferMessage.d.ts +21 -0
- package/build/protocol/messages/OfferMessage.js +59 -0
- package/build/protocol/messages/OfferMessage.js.map +1 -0
- package/build/protocol/messages/PresentationMessage.d.ts +26 -0
- package/build/protocol/messages/PresentationMessage.js +72 -0
- package/build/protocol/messages/PresentationMessage.js.map +1 -0
- package/build/protocol/messages/RequestMessage.d.ts +18 -0
- package/build/protocol/messages/RequestMessage.js +50 -0
- package/build/protocol/messages/RequestMessage.js.map +1 -0
- package/build/protocol/messages/RequestPresentationMessage.d.ts +16 -0
- package/build/protocol/messages/RequestPresentationMessage.js +45 -0
- package/build/protocol/messages/RequestPresentationMessage.js.map +1 -0
- package/build/protocol/messages/VerificationResultMessage.d.ts +19 -0
- package/build/protocol/messages/VerificationResultMessage.js +51 -0
- package/build/protocol/messages/VerificationResultMessage.js.map +1 -0
- package/build/protocol/messages/index.d.ts +7 -0
- package/build/protocol/messages/index.js +24 -0
- package/build/protocol/messages/index.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OpenBadgeProtocolEventTypes = void 0;
|
|
4
|
+
var OpenBadgeProtocolEventTypes;
|
|
5
|
+
(function (OpenBadgeProtocolEventTypes) {
|
|
6
|
+
// Issuance Flow Events
|
|
7
|
+
OpenBadgeProtocolEventTypes["RequestReceived"] = "OpenBadgeProtocol.RequestReceived";
|
|
8
|
+
OpenBadgeProtocolEventTypes["OfferReceived"] = "OpenBadgeProtocol.OfferReceived";
|
|
9
|
+
OpenBadgeProtocolEventTypes["CredentialReceived"] = "OpenBadgeProtocol.CredentialReceived";
|
|
10
|
+
OpenBadgeProtocolEventTypes["AckReceived"] = "OpenBadgeProtocol.AckReceived";
|
|
11
|
+
// Verification Flow Events
|
|
12
|
+
OpenBadgeProtocolEventTypes["RequestPresentationReceived"] = "OpenBadgeProtocol.RequestPresentationReceived";
|
|
13
|
+
OpenBadgeProtocolEventTypes["PresentationReceived"] = "OpenBadgeProtocol.PresentationReceived";
|
|
14
|
+
OpenBadgeProtocolEventTypes["VerificationResultReceived"] = "OpenBadgeProtocol.VerificationResultReceived";
|
|
15
|
+
})(OpenBadgeProtocolEventTypes || (exports.OpenBadgeProtocolEventTypes = OpenBadgeProtocolEventTypes = {}));
|
|
16
|
+
//# sourceMappingURL=OpenBadgeProtocolEvents.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OpenBadgeProtocolEvents.js","sourceRoot":"","sources":["../../src/protocol/OpenBadgeProtocolEvents.ts"],"names":[],"mappings":";;;AAAA,IAAY,2BAWX;AAXD,WAAY,2BAA2B;IACrC,uBAAuB;IACvB,oFAAqD,CAAA;IACrD,gFAAiD,CAAA;IACjD,0FAA2D,CAAA;IAC3D,4EAA6C,CAAA;IAE7C,2BAA2B;IAC3B,4GAA6E,CAAA;IAC7E,8FAA+D,CAAA;IAC/D,0GAA2E,CAAA;AAC7E,CAAC,EAXW,2BAA2B,2CAA3B,2BAA2B,QAWtC"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import type { InboundMessageContext } from '@credo-ts/core';
|
|
2
|
+
import { EventEmitter } from '@credo-ts/core';
|
|
3
|
+
import { OpenBadgeCredentialRecord } from '../repository/OpenBadgeCredentialRecord';
|
|
4
|
+
import { OpenBadgeCredentialRepository } from '../repository/OpenBadgeCredentialRepository';
|
|
5
|
+
import { VerifyService } from '../services/VerifyService';
|
|
6
|
+
import { RequestMessage, OfferMessage, CredentialMessage, AckMessage, RequestPresentationMessage, PresentationMessage, VerificationResultMessage } from './messages';
|
|
7
|
+
export declare class OpenBadgeProtocolService {
|
|
8
|
+
private readonly verifyService;
|
|
9
|
+
private readonly credentialRepository;
|
|
10
|
+
private readonly eventEmitter;
|
|
11
|
+
constructor(verifyService: VerifyService, credentialRepository: OpenBadgeCredentialRepository, eventEmitter: EventEmitter);
|
|
12
|
+
createRequest(options: {
|
|
13
|
+
achievementName: string;
|
|
14
|
+
achievementType?: string;
|
|
15
|
+
comment?: string;
|
|
16
|
+
}): RequestMessage;
|
|
17
|
+
createOffer(options: {
|
|
18
|
+
achievementName: string;
|
|
19
|
+
description?: string;
|
|
20
|
+
imageUrl?: string;
|
|
21
|
+
comment?: string;
|
|
22
|
+
threadId?: string;
|
|
23
|
+
}): OfferMessage;
|
|
24
|
+
createCredential(credential: Record<string, unknown>, options?: {
|
|
25
|
+
comment?: string;
|
|
26
|
+
threadId?: string;
|
|
27
|
+
}): CredentialMessage;
|
|
28
|
+
createAck(threadId: string, status: 'OK' | 'FAIL', comment?: string): AckMessage;
|
|
29
|
+
createRequestPresentation(options?: {
|
|
30
|
+
achievementName?: string;
|
|
31
|
+
comment?: string;
|
|
32
|
+
}): RequestPresentationMessage;
|
|
33
|
+
createPresentation(credential: Record<string, unknown>, options?: {
|
|
34
|
+
comment?: string;
|
|
35
|
+
threadId?: string;
|
|
36
|
+
}): PresentationMessage;
|
|
37
|
+
createVerificationResult(threadId: string, verified: boolean, error?: string, comment?: string): VerificationResultMessage;
|
|
38
|
+
processRequest(messageContext: InboundMessageContext<RequestMessage>): Promise<void>;
|
|
39
|
+
processOffer(messageContext: InboundMessageContext<OfferMessage>): Promise<void>;
|
|
40
|
+
/**
|
|
41
|
+
* Process received credential - STORES IN WALLET
|
|
42
|
+
* 1. Extract credential JSON from attachment (unchanged)
|
|
43
|
+
* 2. Verify the credential proof using VerifyService
|
|
44
|
+
* 3. Extract derived metadata for display
|
|
45
|
+
* 4. Save to OpenBadgeCredentialRepository with status
|
|
46
|
+
*/
|
|
47
|
+
processCredential(messageContext: InboundMessageContext<CredentialMessage>): Promise<OpenBadgeCredentialRecord | null>;
|
|
48
|
+
processAck(messageContext: InboundMessageContext<AckMessage>): Promise<void>;
|
|
49
|
+
/**
|
|
50
|
+
* Process presentation request - emit event for holder to respond
|
|
51
|
+
*/
|
|
52
|
+
processRequestPresentation(messageContext: InboundMessageContext<RequestPresentationMessage>): Promise<void>;
|
|
53
|
+
/**
|
|
54
|
+
* Process presentation - VERIFIES CREDENTIAL
|
|
55
|
+
* 1. Extract credential from attachment
|
|
56
|
+
* 2. Verify using VerifyService (proof + status check)
|
|
57
|
+
* 3. Emit event with verification result
|
|
58
|
+
*/
|
|
59
|
+
processPresentation(messageContext: InboundMessageContext<PresentationMessage>): Promise<{
|
|
60
|
+
verified: boolean;
|
|
61
|
+
status: string;
|
|
62
|
+
error?: string;
|
|
63
|
+
}>;
|
|
64
|
+
/**
|
|
65
|
+
* Process verification result - notify holder of outcome
|
|
66
|
+
*/
|
|
67
|
+
processVerificationResult(messageContext: InboundMessageContext<VerificationResultMessage>): Promise<void>;
|
|
68
|
+
/**
|
|
69
|
+
* Extract display metadata from OpenBadges credential
|
|
70
|
+
* This matches the existing OpenBadgeCredentialRecord.derived structure
|
|
71
|
+
*/
|
|
72
|
+
private extractDerivedMetadata;
|
|
73
|
+
}
|
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.OpenBadgeProtocolService = void 0;
|
|
16
|
+
const core_1 = require("@credo-ts/core");
|
|
17
|
+
const OpenBadgeCredentialRecord_1 = require("../repository/OpenBadgeCredentialRecord");
|
|
18
|
+
const OpenBadgeCredentialRepository_1 = require("../repository/OpenBadgeCredentialRepository");
|
|
19
|
+
const VerifyService_1 = require("../services/VerifyService");
|
|
20
|
+
const messages_1 = require("./messages");
|
|
21
|
+
const OpenBadgeProtocolEvents_1 = require("./OpenBadgeProtocolEvents");
|
|
22
|
+
let OpenBadgeProtocolService = class OpenBadgeProtocolService {
|
|
23
|
+
constructor(verifyService, credentialRepository, eventEmitter) {
|
|
24
|
+
this.verifyService = verifyService;
|
|
25
|
+
this.credentialRepository = credentialRepository;
|
|
26
|
+
this.eventEmitter = eventEmitter;
|
|
27
|
+
}
|
|
28
|
+
// ============================================================
|
|
29
|
+
// OUTBOUND - Creating messages
|
|
30
|
+
// ============================================================
|
|
31
|
+
createRequest(options) {
|
|
32
|
+
return new messages_1.RequestMessage({
|
|
33
|
+
achievementName: options.achievementName,
|
|
34
|
+
achievementType: options.achievementType,
|
|
35
|
+
comment: options.comment,
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
createOffer(options) {
|
|
39
|
+
return new messages_1.OfferMessage({
|
|
40
|
+
achievementName: options.achievementName,
|
|
41
|
+
description: options.description,
|
|
42
|
+
imageUrl: options.imageUrl,
|
|
43
|
+
comment: options.comment,
|
|
44
|
+
threadId: options.threadId,
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
createCredential(credential, options) {
|
|
48
|
+
return new messages_1.CredentialMessage({
|
|
49
|
+
credential,
|
|
50
|
+
comment: options?.comment,
|
|
51
|
+
threadId: options?.threadId,
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
createAck(threadId, status, comment) {
|
|
55
|
+
return new messages_1.AckMessage({
|
|
56
|
+
threadId,
|
|
57
|
+
status,
|
|
58
|
+
comment,
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
createRequestPresentation(options) {
|
|
62
|
+
return new messages_1.RequestPresentationMessage({
|
|
63
|
+
achievementName: options?.achievementName,
|
|
64
|
+
comment: options?.comment,
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
createPresentation(credential, options) {
|
|
68
|
+
return new messages_1.PresentationMessage({
|
|
69
|
+
credential,
|
|
70
|
+
comment: options?.comment,
|
|
71
|
+
threadId: options?.threadId,
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
createVerificationResult(threadId, verified, error, comment) {
|
|
75
|
+
return new messages_1.VerificationResultMessage({
|
|
76
|
+
threadId,
|
|
77
|
+
verified,
|
|
78
|
+
error,
|
|
79
|
+
comment,
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
// ============================================================
|
|
83
|
+
// INBOUND - Processing received messages
|
|
84
|
+
// ============================================================
|
|
85
|
+
async processRequest(messageContext) {
|
|
86
|
+
const { message, connection } = messageContext;
|
|
87
|
+
this.eventEmitter.emit(messageContext.agentContext, {
|
|
88
|
+
type: OpenBadgeProtocolEvents_1.OpenBadgeProtocolEventTypes.RequestReceived,
|
|
89
|
+
payload: {
|
|
90
|
+
connectionId: connection?.id,
|
|
91
|
+
threadId: message.threadId,
|
|
92
|
+
achievementName: message.achievementName,
|
|
93
|
+
achievementType: message.achievementType,
|
|
94
|
+
comment: message.comment,
|
|
95
|
+
},
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
async processOffer(messageContext) {
|
|
99
|
+
const { message, connection } = messageContext;
|
|
100
|
+
this.eventEmitter.emit(messageContext.agentContext, {
|
|
101
|
+
type: OpenBadgeProtocolEvents_1.OpenBadgeProtocolEventTypes.OfferReceived,
|
|
102
|
+
payload: {
|
|
103
|
+
connectionId: connection?.id,
|
|
104
|
+
threadId: message.threadId,
|
|
105
|
+
achievementName: message.achievementName,
|
|
106
|
+
description: message.description,
|
|
107
|
+
imageUrl: message.imageUrl,
|
|
108
|
+
comment: message.comment,
|
|
109
|
+
},
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Process received credential - STORES IN WALLET
|
|
114
|
+
* 1. Extract credential JSON from attachment (unchanged)
|
|
115
|
+
* 2. Verify the credential proof using VerifyService
|
|
116
|
+
* 3. Extract derived metadata for display
|
|
117
|
+
* 4. Save to OpenBadgeCredentialRepository with status
|
|
118
|
+
*/
|
|
119
|
+
async processCredential(messageContext) {
|
|
120
|
+
const { message, connection, agentContext } = messageContext;
|
|
121
|
+
const credential = message.getCredential();
|
|
122
|
+
if (!credential) {
|
|
123
|
+
console.warn('[OpenBadgeProtocol] No credential found in message attachment');
|
|
124
|
+
return null;
|
|
125
|
+
}
|
|
126
|
+
// Verify the credential's proof
|
|
127
|
+
const verifyResult = await this.verifyService.verify(agentContext, credential);
|
|
128
|
+
// Extract derived metadata for UI display
|
|
129
|
+
const derived = this.extractDerivedMetadata(credential);
|
|
130
|
+
// Create and save record to wallet
|
|
131
|
+
const record = new OpenBadgeCredentialRecord_1.OpenBadgeCredentialRecord({
|
|
132
|
+
credential, // Raw JSON-LD credential (unchanged!)
|
|
133
|
+
status: verifyResult.status,
|
|
134
|
+
derived,
|
|
135
|
+
});
|
|
136
|
+
await this.credentialRepository.save(agentContext, record);
|
|
137
|
+
console.log('[OpenBadgeProtocol] Credential stored in wallet:', record.id);
|
|
138
|
+
this.eventEmitter.emit(agentContext, {
|
|
139
|
+
type: OpenBadgeProtocolEvents_1.OpenBadgeProtocolEventTypes.CredentialReceived,
|
|
140
|
+
payload: {
|
|
141
|
+
connectionId: connection?.id,
|
|
142
|
+
threadId: message.threadId,
|
|
143
|
+
credentialRecordId: record.id,
|
|
144
|
+
verified: verifyResult.proofVerified,
|
|
145
|
+
status: verifyResult.status,
|
|
146
|
+
credential,
|
|
147
|
+
},
|
|
148
|
+
});
|
|
149
|
+
return record;
|
|
150
|
+
}
|
|
151
|
+
async processAck(messageContext) {
|
|
152
|
+
const { message, connection } = messageContext;
|
|
153
|
+
this.eventEmitter.emit(messageContext.agentContext, {
|
|
154
|
+
type: OpenBadgeProtocolEvents_1.OpenBadgeProtocolEventTypes.AckReceived,
|
|
155
|
+
payload: {
|
|
156
|
+
connectionId: connection?.id,
|
|
157
|
+
threadId: message.threadId,
|
|
158
|
+
status: message.status,
|
|
159
|
+
comment: message.comment,
|
|
160
|
+
},
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Process presentation request - emit event for holder to respond
|
|
165
|
+
*/
|
|
166
|
+
async processRequestPresentation(messageContext) {
|
|
167
|
+
const { message, connection } = messageContext;
|
|
168
|
+
this.eventEmitter.emit(messageContext.agentContext, {
|
|
169
|
+
type: OpenBadgeProtocolEvents_1.OpenBadgeProtocolEventTypes.RequestPresentationReceived,
|
|
170
|
+
payload: {
|
|
171
|
+
connectionId: connection?.id,
|
|
172
|
+
threadId: message.threadId,
|
|
173
|
+
achievementName: message.achievementName,
|
|
174
|
+
comment: message.comment,
|
|
175
|
+
},
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Process presentation - VERIFIES CREDENTIAL
|
|
180
|
+
* 1. Extract credential from attachment
|
|
181
|
+
* 2. Verify using VerifyService (proof + status check)
|
|
182
|
+
* 3. Emit event with verification result
|
|
183
|
+
*/
|
|
184
|
+
async processPresentation(messageContext) {
|
|
185
|
+
const { message, connection, agentContext } = messageContext;
|
|
186
|
+
const credential = message.getCredential();
|
|
187
|
+
if (!credential) {
|
|
188
|
+
const result = { verified: false, status: 'unknown', error: 'No credential in attachment' };
|
|
189
|
+
this.eventEmitter.emit(agentContext, {
|
|
190
|
+
type: OpenBadgeProtocolEvents_1.OpenBadgeProtocolEventTypes.PresentationReceived,
|
|
191
|
+
payload: {
|
|
192
|
+
connectionId: connection?.id,
|
|
193
|
+
threadId: message.threadId,
|
|
194
|
+
credential: null,
|
|
195
|
+
...result,
|
|
196
|
+
},
|
|
197
|
+
});
|
|
198
|
+
return result;
|
|
199
|
+
}
|
|
200
|
+
// Verify using existing VerifyService
|
|
201
|
+
const verifyResult = await this.verifyService.verify(agentContext, credential);
|
|
202
|
+
const result = {
|
|
203
|
+
verified: verifyResult.proofVerified && verifyResult.status === 'valid',
|
|
204
|
+
status: verifyResult.status,
|
|
205
|
+
error: verifyResult.issues?.length > 0 ? verifyResult.issues.map((i) => i.message).join(', ') : undefined,
|
|
206
|
+
};
|
|
207
|
+
console.log('[OpenBadgeProtocol] Presentation verification result:', result);
|
|
208
|
+
this.eventEmitter.emit(agentContext, {
|
|
209
|
+
type: OpenBadgeProtocolEvents_1.OpenBadgeProtocolEventTypes.PresentationReceived,
|
|
210
|
+
payload: {
|
|
211
|
+
connectionId: connection?.id,
|
|
212
|
+
threadId: message.threadId,
|
|
213
|
+
credential,
|
|
214
|
+
...result,
|
|
215
|
+
},
|
|
216
|
+
});
|
|
217
|
+
return result;
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Process verification result - notify holder of outcome
|
|
221
|
+
*/
|
|
222
|
+
async processVerificationResult(messageContext) {
|
|
223
|
+
const { message, connection } = messageContext;
|
|
224
|
+
this.eventEmitter.emit(messageContext.agentContext, {
|
|
225
|
+
type: OpenBadgeProtocolEvents_1.OpenBadgeProtocolEventTypes.VerificationResultReceived,
|
|
226
|
+
payload: {
|
|
227
|
+
connectionId: connection?.id,
|
|
228
|
+
threadId: message.threadId,
|
|
229
|
+
verified: message.verified,
|
|
230
|
+
error: message.error,
|
|
231
|
+
comment: message.comment,
|
|
232
|
+
},
|
|
233
|
+
});
|
|
234
|
+
}
|
|
235
|
+
// ============================================================
|
|
236
|
+
// HELPER METHODS
|
|
237
|
+
// ============================================================
|
|
238
|
+
/**
|
|
239
|
+
* Extract display metadata from OpenBadges credential
|
|
240
|
+
* This matches the existing OpenBadgeCredentialRecord.derived structure
|
|
241
|
+
*/
|
|
242
|
+
extractDerivedMetadata(credential) {
|
|
243
|
+
const credSubject = credential.credentialSubject;
|
|
244
|
+
const achievement = credSubject?.achievement;
|
|
245
|
+
const issuer = credential.issuer;
|
|
246
|
+
let image;
|
|
247
|
+
if (achievement?.image) {
|
|
248
|
+
if (typeof achievement.image === 'string') {
|
|
249
|
+
image = achievement.image;
|
|
250
|
+
}
|
|
251
|
+
else if (typeof achievement.image === 'object') {
|
|
252
|
+
image = achievement.image?.id;
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
return {
|
|
256
|
+
title: achievement?.name || credential.name,
|
|
257
|
+
description: achievement?.description,
|
|
258
|
+
issuerName: typeof issuer === 'string' ? issuer : issuer?.name,
|
|
259
|
+
issuedOn: credential.validFrom || credential.issuanceDate,
|
|
260
|
+
image,
|
|
261
|
+
};
|
|
262
|
+
}
|
|
263
|
+
};
|
|
264
|
+
exports.OpenBadgeProtocolService = OpenBadgeProtocolService;
|
|
265
|
+
exports.OpenBadgeProtocolService = OpenBadgeProtocolService = __decorate([
|
|
266
|
+
(0, core_1.injectable)(),
|
|
267
|
+
__param(0, (0, core_1.inject)(VerifyService_1.VerifyService)),
|
|
268
|
+
__param(1, (0, core_1.inject)(OpenBadgeCredentialRepository_1.OpenBadgeCredentialRepository)),
|
|
269
|
+
__param(2, (0, core_1.inject)(core_1.EventEmitter)),
|
|
270
|
+
__metadata("design:paramtypes", [VerifyService_1.VerifyService,
|
|
271
|
+
OpenBadgeCredentialRepository_1.OpenBadgeCredentialRepository,
|
|
272
|
+
core_1.EventEmitter])
|
|
273
|
+
], OpenBadgeProtocolService);
|
|
274
|
+
//# sourceMappingURL=OpenBadgeProtocolService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OpenBadgeProtocolService.js","sourceRoot":"","sources":["../../src/protocol/OpenBadgeProtocolService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { MessageHandler, MessageHandlerInboundMessage } from '@credo-ts/core';
|
|
2
|
+
import { AckMessage } from '../messages';
|
|
3
|
+
import { OpenBadgeProtocolService } from '../OpenBadgeProtocolService';
|
|
4
|
+
export declare class AckHandler implements MessageHandler {
|
|
5
|
+
supportedMessages: (typeof AckMessage)[];
|
|
6
|
+
private service;
|
|
7
|
+
constructor(service: OpenBadgeProtocolService);
|
|
8
|
+
handle(inbound: MessageHandlerInboundMessage<AckHandler>): Promise<void>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.AckHandler = void 0;
|
|
13
|
+
const core_1 = require("@credo-ts/core");
|
|
14
|
+
const messages_1 = require("../messages");
|
|
15
|
+
const OpenBadgeProtocolService_1 = require("../OpenBadgeProtocolService");
|
|
16
|
+
let AckHandler = class AckHandler {
|
|
17
|
+
constructor(service) {
|
|
18
|
+
this.supportedMessages = [messages_1.AckMessage];
|
|
19
|
+
this.service = service;
|
|
20
|
+
}
|
|
21
|
+
async handle(inbound) {
|
|
22
|
+
await this.service.processAck(inbound);
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
exports.AckHandler = AckHandler;
|
|
26
|
+
exports.AckHandler = AckHandler = __decorate([
|
|
27
|
+
(0, core_1.injectable)(),
|
|
28
|
+
__metadata("design:paramtypes", [OpenBadgeProtocolService_1.OpenBadgeProtocolService])
|
|
29
|
+
], AckHandler);
|
|
30
|
+
//# sourceMappingURL=AckHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AckHandler.js","sourceRoot":"","sources":["../../../src/protocol/handlers/AckHandler.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,yCAA2C;AAE3C,0CAAwC;AACxC,0EAAsE;AAG/D,IAAM,UAAU,GAAhB,MAAM,UAAU;IAIrB,YAAmB,OAAiC;QAH7C,sBAAiB,GAAG,CAAC,qBAAU,CAAC,CAAA;QAIrC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,OAAiD;QACnE,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;IACxC,CAAC;CACF,CAAA;AAXY,gCAAU;qBAAV,UAAU;IADtB,IAAA,iBAAU,GAAE;qCAKiB,mDAAwB;GAJzC,UAAU,CAWtB"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { MessageHandler, MessageHandlerInboundMessage } from '@credo-ts/core';
|
|
2
|
+
import { CredentialMessage } from '../messages';
|
|
3
|
+
import { OpenBadgeProtocolService } from '../OpenBadgeProtocolService';
|
|
4
|
+
export declare class CredentialHandler implements MessageHandler {
|
|
5
|
+
supportedMessages: (typeof CredentialMessage)[];
|
|
6
|
+
private service;
|
|
7
|
+
constructor(service: OpenBadgeProtocolService);
|
|
8
|
+
handle(inbound: MessageHandlerInboundMessage<CredentialHandler>): Promise<void>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.CredentialHandler = void 0;
|
|
13
|
+
const core_1 = require("@credo-ts/core");
|
|
14
|
+
const messages_1 = require("../messages");
|
|
15
|
+
const OpenBadgeProtocolService_1 = require("../OpenBadgeProtocolService");
|
|
16
|
+
let CredentialHandler = class CredentialHandler {
|
|
17
|
+
constructor(service) {
|
|
18
|
+
this.supportedMessages = [messages_1.CredentialMessage];
|
|
19
|
+
this.service = service;
|
|
20
|
+
}
|
|
21
|
+
async handle(inbound) {
|
|
22
|
+
await this.service.processCredential(inbound);
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
exports.CredentialHandler = CredentialHandler;
|
|
26
|
+
exports.CredentialHandler = CredentialHandler = __decorate([
|
|
27
|
+
(0, core_1.injectable)(),
|
|
28
|
+
__metadata("design:paramtypes", [OpenBadgeProtocolService_1.OpenBadgeProtocolService])
|
|
29
|
+
], CredentialHandler);
|
|
30
|
+
//# sourceMappingURL=CredentialHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CredentialHandler.js","sourceRoot":"","sources":["../../../src/protocol/handlers/CredentialHandler.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,yCAA2C;AAE3C,0CAA+C;AAC/C,0EAAsE;AAG/D,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAI5B,YAAmB,OAAiC;QAH7C,sBAAiB,GAAG,CAAC,4BAAiB,CAAC,CAAA;QAI5C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,OAAwD;QAC1E,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAA;IAC/C,CAAC;CACF,CAAA;AAXY,8CAAiB;4BAAjB,iBAAiB;IAD7B,IAAA,iBAAU,GAAE;qCAKiB,mDAAwB;GAJzC,iBAAiB,CAW7B"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { MessageHandler, MessageHandlerInboundMessage } from '@credo-ts/core';
|
|
2
|
+
import { OfferMessage } from '../messages';
|
|
3
|
+
import { OpenBadgeProtocolService } from '../OpenBadgeProtocolService';
|
|
4
|
+
export declare class OfferHandler implements MessageHandler {
|
|
5
|
+
supportedMessages: (typeof OfferMessage)[];
|
|
6
|
+
private service;
|
|
7
|
+
constructor(service: OpenBadgeProtocolService);
|
|
8
|
+
handle(inbound: MessageHandlerInboundMessage<OfferHandler>): Promise<void>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.OfferHandler = void 0;
|
|
13
|
+
const core_1 = require("@credo-ts/core");
|
|
14
|
+
const messages_1 = require("../messages");
|
|
15
|
+
const OpenBadgeProtocolService_1 = require("../OpenBadgeProtocolService");
|
|
16
|
+
let OfferHandler = class OfferHandler {
|
|
17
|
+
constructor(service) {
|
|
18
|
+
this.supportedMessages = [messages_1.OfferMessage];
|
|
19
|
+
this.service = service;
|
|
20
|
+
}
|
|
21
|
+
async handle(inbound) {
|
|
22
|
+
await this.service.processOffer(inbound);
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
exports.OfferHandler = OfferHandler;
|
|
26
|
+
exports.OfferHandler = OfferHandler = __decorate([
|
|
27
|
+
(0, core_1.injectable)(),
|
|
28
|
+
__metadata("design:paramtypes", [OpenBadgeProtocolService_1.OpenBadgeProtocolService])
|
|
29
|
+
], OfferHandler);
|
|
30
|
+
//# sourceMappingURL=OfferHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OfferHandler.js","sourceRoot":"","sources":["../../../src/protocol/handlers/OfferHandler.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,yCAA2C;AAE3C,0CAA0C;AAC1C,0EAAsE;AAG/D,IAAM,YAAY,GAAlB,MAAM,YAAY;IAIvB,YAAmB,OAAiC;QAH7C,sBAAiB,GAAG,CAAC,uBAAY,CAAC,CAAA;QAIvC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,OAAmD;QACrE,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;IAC1C,CAAC;CACF,CAAA;AAXY,oCAAY;uBAAZ,YAAY;IADxB,IAAA,iBAAU,GAAE;qCAKiB,mDAAwB;GAJzC,YAAY,CAWxB"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { MessageHandler, MessageHandlerInboundMessage } from '@credo-ts/core';
|
|
2
|
+
import { PresentationMessage } from '../messages';
|
|
3
|
+
import { OpenBadgeProtocolService } from '../OpenBadgeProtocolService';
|
|
4
|
+
export declare class PresentationHandler implements MessageHandler {
|
|
5
|
+
supportedMessages: (typeof PresentationMessage)[];
|
|
6
|
+
private service;
|
|
7
|
+
constructor(service: OpenBadgeProtocolService);
|
|
8
|
+
handle(inbound: MessageHandlerInboundMessage<PresentationHandler>): Promise<void>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.PresentationHandler = void 0;
|
|
13
|
+
const core_1 = require("@credo-ts/core");
|
|
14
|
+
const messages_1 = require("../messages");
|
|
15
|
+
const OpenBadgeProtocolService_1 = require("../OpenBadgeProtocolService");
|
|
16
|
+
let PresentationHandler = class PresentationHandler {
|
|
17
|
+
constructor(service) {
|
|
18
|
+
this.supportedMessages = [messages_1.PresentationMessage];
|
|
19
|
+
this.service = service;
|
|
20
|
+
}
|
|
21
|
+
async handle(inbound) {
|
|
22
|
+
await this.service.processPresentation(inbound);
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
exports.PresentationHandler = PresentationHandler;
|
|
26
|
+
exports.PresentationHandler = PresentationHandler = __decorate([
|
|
27
|
+
(0, core_1.injectable)(),
|
|
28
|
+
__metadata("design:paramtypes", [OpenBadgeProtocolService_1.OpenBadgeProtocolService])
|
|
29
|
+
], PresentationHandler);
|
|
30
|
+
//# sourceMappingURL=PresentationHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PresentationHandler.js","sourceRoot":"","sources":["../../../src/protocol/handlers/PresentationHandler.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,yCAA2C;AAE3C,0CAAiD;AACjD,0EAAsE;AAG/D,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAI9B,YAAmB,OAAiC;QAH7C,sBAAiB,GAAG,CAAC,8BAAmB,CAAC,CAAA;QAI9C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,OAA0D;QAC5E,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAA;IACjD,CAAC;CACF,CAAA;AAXY,kDAAmB;8BAAnB,mBAAmB;IAD/B,IAAA,iBAAU,GAAE;qCAKiB,mDAAwB;GAJzC,mBAAmB,CAW/B"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { MessageHandler, MessageHandlerInboundMessage } from '@credo-ts/core';
|
|
2
|
+
import { RequestMessage } from '../messages';
|
|
3
|
+
import { OpenBadgeProtocolService } from '../OpenBadgeProtocolService';
|
|
4
|
+
export declare class RequestHandler implements MessageHandler {
|
|
5
|
+
supportedMessages: (typeof RequestMessage)[];
|
|
6
|
+
private service;
|
|
7
|
+
constructor(service: OpenBadgeProtocolService);
|
|
8
|
+
handle(inbound: MessageHandlerInboundMessage<RequestHandler>): Promise<void>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.RequestHandler = void 0;
|
|
13
|
+
const core_1 = require("@credo-ts/core");
|
|
14
|
+
const messages_1 = require("../messages");
|
|
15
|
+
const OpenBadgeProtocolService_1 = require("../OpenBadgeProtocolService");
|
|
16
|
+
let RequestHandler = class RequestHandler {
|
|
17
|
+
constructor(service) {
|
|
18
|
+
this.supportedMessages = [messages_1.RequestMessage];
|
|
19
|
+
this.service = service;
|
|
20
|
+
}
|
|
21
|
+
async handle(inbound) {
|
|
22
|
+
await this.service.processRequest(inbound);
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
exports.RequestHandler = RequestHandler;
|
|
26
|
+
exports.RequestHandler = RequestHandler = __decorate([
|
|
27
|
+
(0, core_1.injectable)(),
|
|
28
|
+
__metadata("design:paramtypes", [OpenBadgeProtocolService_1.OpenBadgeProtocolService])
|
|
29
|
+
], RequestHandler);
|
|
30
|
+
//# sourceMappingURL=RequestHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RequestHandler.js","sourceRoot":"","sources":["../../../src/protocol/handlers/RequestHandler.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,yCAA2C;AAE3C,0CAA4C;AAC5C,0EAAsE;AAG/D,IAAM,cAAc,GAApB,MAAM,cAAc;IAIzB,YAAmB,OAAiC;QAH7C,sBAAiB,GAAG,CAAC,yBAAc,CAAC,CAAA;QAIzC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,OAAqD;QACvE,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;IAC5C,CAAC;CACF,CAAA;AAXY,wCAAc;yBAAd,cAAc;IAD1B,IAAA,iBAAU,GAAE;qCAKiB,mDAAwB;GAJzC,cAAc,CAW1B"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { MessageHandler, MessageHandlerInboundMessage } from '@credo-ts/core';
|
|
2
|
+
import { RequestPresentationMessage } from '../messages';
|
|
3
|
+
import { OpenBadgeProtocolService } from '../OpenBadgeProtocolService';
|
|
4
|
+
export declare class RequestPresentationHandler implements MessageHandler {
|
|
5
|
+
supportedMessages: (typeof RequestPresentationMessage)[];
|
|
6
|
+
private service;
|
|
7
|
+
constructor(service: OpenBadgeProtocolService);
|
|
8
|
+
handle(inbound: MessageHandlerInboundMessage<RequestPresentationHandler>): Promise<void>;
|
|
9
|
+
}
|