@verana-labs/vs-agent-sdk 1.10.1
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/LICENSE +201 -0
- package/build/agent/VsAgent.d.ts +66 -0
- package/build/agent/VsAgent.js +276 -0
- package/build/agent/VsAgent.js.map +1 -0
- package/build/agent/createVsAgent.d.ts +50 -0
- package/build/agent/createVsAgent.js +43 -0
- package/build/agent/createVsAgent.js.map +1 -0
- package/build/credentials/FullTailsFileService.d.ts +17 -0
- package/build/credentials/FullTailsFileService.js +76 -0
- package/build/credentials/FullTailsFileService.js.map +1 -0
- package/build/did/CachedDocumentLoader.d.ts +35 -0
- package/build/did/CachedDocumentLoader.js +139 -0
- package/build/did/CachedDocumentLoader.js.map +1 -0
- package/build/did/CachedWebDidResolver.d.ts +9 -0
- package/build/did/CachedWebDidResolver.js +44 -0
- package/build/did/CachedWebDidResolver.js.map +1 -0
- package/build/did/WebDidRegistrar.d.ts +34 -0
- package/build/did/WebDidRegistrar.js +110 -0
- package/build/did/WebDidRegistrar.js.map +1 -0
- package/build/did/legacyDidWeb.d.ts +10 -0
- package/build/did/legacyDidWeb.js +41 -0
- package/build/did/legacyDidWeb.js.map +1 -0
- package/build/index.d.ts +24 -0
- package/build/index.js +68 -0
- package/build/index.js.map +1 -0
- package/build/plugins/setupBaseDidComm.d.ts +15 -0
- package/build/plugins/setupBaseDidComm.js +82 -0
- package/build/plugins/setupBaseDidComm.js.map +1 -0
- package/build/transports/HttpInboundTransport.d.ts +28 -0
- package/build/transports/HttpInboundTransport.js +132 -0
- package/build/transports/HttpInboundTransport.js.map +1 -0
- package/build/transports/VsAgentWsInboundTransport.d.ts +30 -0
- package/build/transports/VsAgentWsInboundTransport.js +143 -0
- package/build/transports/VsAgentWsInboundTransport.js.map +1 -0
- package/build/transports/VsAgentWsOutboundTransport.d.ts +20 -0
- package/build/transports/VsAgentWsOutboundTransport.js +129 -0
- package/build/transports/VsAgentWsOutboundTransport.js.map +1 -0
- package/build/types.d.ts +30 -0
- package/build/types.js +5 -0
- package/build/types.js.map +1 -0
- package/build/utils/agent.d.ts +20 -0
- package/build/utils/agent.js +49 -0
- package/build/utils/agent.js.map +1 -0
- package/build/utils/data.d.ts +1 -0
- package/build/utils/data.js +255 -0
- package/build/utils/data.js.map +1 -0
- package/build/utils/parsers.d.ts +11 -0
- package/build/utils/parsers.js +36 -0
- package/build/utils/parsers.js.map +1 -0
- package/build/utils/util.d.ts +3 -0
- package/build/utils/util.js +151 -0
- package/build/utils/util.js.map +1 -0
- package/build/utils/webhook.d.ts +13 -0
- package/build/utils/webhook.js +56 -0
- package/build/utils/webhook.js.map +1 -0
- package/build/utils/webhookEvent.d.ts +5 -0
- package/build/utils/webhookEvent.js +26 -0
- package/build/utils/webhookEvent.js.map +1 -0
- package/package.json +53 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CachedDocumentLoader.js","sourceRoot":"","sources":["../../src/did/CachedDocumentLoader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { AgentContext, DidResolutionOptions, DidResolutionResult, WebDidResolver } from '@credo-ts/core';
|
|
2
|
+
import { ParsedDID } from 'did-resolver';
|
|
3
|
+
export declare class CachedWebDidResolver extends WebDidResolver {
|
|
4
|
+
private publicApiBaseUrl;
|
|
5
|
+
constructor(options: {
|
|
6
|
+
publicApiBaseUrl: string;
|
|
7
|
+
});
|
|
8
|
+
resolve(agentContext: AgentContext, did: string, parsed: ParsedDID, didResolutionOptions: DidResolutionOptions): Promise<DidResolutionResult>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CachedWebDidResolver = void 0;
|
|
4
|
+
const core_1 = require("@credo-ts/core");
|
|
5
|
+
const legacyDidWeb_1 = require("./legacyDidWeb");
|
|
6
|
+
class CachedWebDidResolver extends core_1.WebDidResolver {
|
|
7
|
+
constructor(options) {
|
|
8
|
+
super();
|
|
9
|
+
this.publicApiBaseUrl = options.publicApiBaseUrl;
|
|
10
|
+
}
|
|
11
|
+
async resolve(agentContext, did, parsed, didResolutionOptions) {
|
|
12
|
+
// First check within our own public dids, as there is no need to resolve it through HTTPS
|
|
13
|
+
const didRepository = agentContext.dependencyManager.resolve(core_1.DidRepository);
|
|
14
|
+
const didRecord = await didRepository.findSingleByQuery(agentContext, {
|
|
15
|
+
did,
|
|
16
|
+
method: 'web',
|
|
17
|
+
});
|
|
18
|
+
if (didRecord === null || didRecord === void 0 ? void 0 : didRecord.didDocument) {
|
|
19
|
+
return {
|
|
20
|
+
didDocument: didRecord.didDocument,
|
|
21
|
+
didDocumentMetadata: {},
|
|
22
|
+
didResolutionMetadata: {},
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
// Find equivalent did:webvh, since this might be a legacy alias
|
|
26
|
+
const webVhdDidRecord = await didRepository.findSingleByQuery(agentContext, {
|
|
27
|
+
domain: parsed.id,
|
|
28
|
+
method: 'webvh',
|
|
29
|
+
});
|
|
30
|
+
if (webVhdDidRecord === null || webVhdDidRecord === void 0 ? void 0 : webVhdDidRecord.didDocument) {
|
|
31
|
+
const legacyDidDocument = (0, legacyDidWeb_1.getLegacyDidDocument)(webVhdDidRecord.didDocument, this.publicApiBaseUrl);
|
|
32
|
+
if (legacyDidDocument) {
|
|
33
|
+
return {
|
|
34
|
+
didDocument: legacyDidDocument,
|
|
35
|
+
didDocumentMetadata: {},
|
|
36
|
+
didResolutionMetadata: {},
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return super.resolve(agentContext, did, parsed, didResolutionOptions);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
exports.CachedWebDidResolver = CachedWebDidResolver;
|
|
44
|
+
//# sourceMappingURL=CachedWebDidResolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CachedWebDidResolver.js","sourceRoot":"","sources":["../../src/did/CachedWebDidResolver.ts"],"names":[],"mappings":";;;AAAA,yCAMuB;AAGvB,iDAAqD;AAErD,MAAa,oBAAqB,SAAQ,qBAAc;IAGtD,YAAmB,OAAqC;QACtD,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAA;IAClD,CAAC;IAEM,KAAK,CAAC,OAAO,CAClB,YAA0B,EAC1B,GAAW,EACX,MAAiB,EACjB,oBAA0C;QAE1C,0FAA0F;QAC1F,MAAM,aAAa,GAAG,YAAY,CAAC,iBAAiB,CAAC,OAAO,CAAC,oBAAa,CAAC,CAAA;QAC3E,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,iBAAiB,CAAC,YAAY,EAAE;YACpE,GAAG;YACH,MAAM,EAAE,KAAK;SACd,CAAC,CAAA;QAEF,IAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,WAAW,EAAE,CAAC;YAC3B,OAAO;gBACL,WAAW,EAAE,SAAS,CAAC,WAAW;gBAClC,mBAAmB,EAAE,EAAE;gBACvB,qBAAqB,EAAE,EAAE;aAC1B,CAAA;QACH,CAAC;QAED,gEAAgE;QAChE,MAAM,eAAe,GAAG,MAAM,aAAa,CAAC,iBAAiB,CAAC,YAAY,EAAE;YAC1E,MAAM,EAAE,MAAM,CAAC,EAAE;YACjB,MAAM,EAAE,OAAO;SAChB,CAAC,CAAA;QAEF,IAAI,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,WAAW,EAAE,CAAC;YACjC,MAAM,iBAAiB,GAAG,IAAA,mCAAoB,EAAC,eAAe,CAAC,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAA;YAClG,IAAI,iBAAiB,EAAE,CAAC;gBACtB,OAAO;oBACL,WAAW,EAAE,iBAAiB;oBAC9B,mBAAmB,EAAE,EAAE;oBACvB,qBAAqB,EAAE,EAAE;iBAC1B,CAAA;YACH,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,EAAE,MAAM,EAAE,oBAAoB,CAAC,CAAA;IACvE,CAAC;CACF;AAhDD,oDAgDC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { AgentContext, DidCreateOptions, DidCreateResult, DidDeactivateOptions, DidDeactivateResult, DidRegistrar, DidUpdateOptions, DidUpdateResult, DidDocument } from '@credo-ts/core';
|
|
2
|
+
interface WebDidCreateOptions extends DidCreateOptions {
|
|
3
|
+
domain: string;
|
|
4
|
+
}
|
|
5
|
+
interface WebDidUpdateOptions extends DidUpdateOptions {
|
|
6
|
+
didDocument: DidDocument;
|
|
7
|
+
domain?: string;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* DID Registrar implementation for the 'webvh' method.
|
|
11
|
+
* Handles creation, update, and (future) deactivation of DIDs using the webvh method.
|
|
12
|
+
*/
|
|
13
|
+
export declare class WebDidRegistrar implements DidRegistrar {
|
|
14
|
+
supportedMethods: string[];
|
|
15
|
+
/**
|
|
16
|
+
* Creates a new DID document and saves it in the repository.
|
|
17
|
+
* If services are provided, updates the DID document with those services.
|
|
18
|
+
* @param agentContext The agent context.
|
|
19
|
+
* @param options The creation options, including domain, endpoints, controller, signer, and verifier.
|
|
20
|
+
* @returns The result of the DID creation, with error handling.
|
|
21
|
+
*/
|
|
22
|
+
create(agentContext: AgentContext, options: WebDidCreateOptions): Promise<DidCreateResult>;
|
|
23
|
+
/**
|
|
24
|
+
* Updates an existing DID document and its log in the repository.
|
|
25
|
+
* Uses internal logic to validate verification methods and handle errors.
|
|
26
|
+
* @param agentContext The agent context.
|
|
27
|
+
* @param options The update options, including DID, log, signer, verifier, and services.
|
|
28
|
+
* @returns The result of the DID update, with error handling and validation.
|
|
29
|
+
*/
|
|
30
|
+
update(agentContext: AgentContext, options: WebDidUpdateOptions): Promise<DidUpdateResult>;
|
|
31
|
+
deactivate(agentContext: AgentContext, options: DidDeactivateOptions): Promise<DidDeactivateResult>;
|
|
32
|
+
private handleError;
|
|
33
|
+
}
|
|
34
|
+
export {};
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WebDidRegistrar = void 0;
|
|
4
|
+
const core_1 = require("@credo-ts/core");
|
|
5
|
+
/**
|
|
6
|
+
* DID Registrar implementation for the 'webvh' method.
|
|
7
|
+
* Handles creation, update, and (future) deactivation of DIDs using the webvh method.
|
|
8
|
+
*/
|
|
9
|
+
class WebDidRegistrar {
|
|
10
|
+
constructor() {
|
|
11
|
+
this.supportedMethods = ['web'];
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Creates a new DID document and saves it in the repository.
|
|
15
|
+
* If services are provided, updates the DID document with those services.
|
|
16
|
+
* @param agentContext The agent context.
|
|
17
|
+
* @param options The creation options, including domain, endpoints, controller, signer, and verifier.
|
|
18
|
+
* @returns The result of the DID creation, with error handling.
|
|
19
|
+
*/
|
|
20
|
+
async create(agentContext, options) {
|
|
21
|
+
var _a, _b;
|
|
22
|
+
try {
|
|
23
|
+
const { domain } = options;
|
|
24
|
+
const did = (_a = options.did) !== null && _a !== void 0 ? _a : `did:web:${domain}`;
|
|
25
|
+
const didDocument = (_b = options.didDocument) !== null && _b !== void 0 ? _b : new core_1.DidDocument({ id: did });
|
|
26
|
+
if (!did && !domain) {
|
|
27
|
+
throw new core_1.CredoError('At least one of did or domain must be present');
|
|
28
|
+
}
|
|
29
|
+
const didRepository = agentContext.dependencyManager.resolve(core_1.DidRepository);
|
|
30
|
+
const existingRecord = await didRepository.findSingleByQuery(agentContext, {
|
|
31
|
+
$or: [{ did }, { domain, method: 'web' }],
|
|
32
|
+
});
|
|
33
|
+
if (existingRecord)
|
|
34
|
+
return this.handleError(`A record for ${did} already exists.`);
|
|
35
|
+
const didRecord = new core_1.DidRecord({
|
|
36
|
+
did,
|
|
37
|
+
didDocument,
|
|
38
|
+
role: core_1.DidDocumentRole.Created,
|
|
39
|
+
});
|
|
40
|
+
didRecord.setTags({ domain });
|
|
41
|
+
await didRepository.save(agentContext, didRecord);
|
|
42
|
+
return {
|
|
43
|
+
didDocumentMetadata: {},
|
|
44
|
+
didRegistrationMetadata: {},
|
|
45
|
+
didState: {
|
|
46
|
+
state: 'finished',
|
|
47
|
+
did,
|
|
48
|
+
didDocument,
|
|
49
|
+
},
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
catch (error) {
|
|
53
|
+
return this.handleError(error instanceof Error ? error.message : 'Unknown error occurred.');
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Updates an existing DID document and its log in the repository.
|
|
58
|
+
* Uses internal logic to validate verification methods and handle errors.
|
|
59
|
+
* @param agentContext The agent context.
|
|
60
|
+
* @param options The update options, including DID, log, signer, verifier, and services.
|
|
61
|
+
* @returns The result of the DID update, with error handling and validation.
|
|
62
|
+
*/
|
|
63
|
+
async update(agentContext, options) {
|
|
64
|
+
var _a;
|
|
65
|
+
try {
|
|
66
|
+
const { domain } = options;
|
|
67
|
+
const did = (_a = options.did) !== null && _a !== void 0 ? _a : `did:web:${domain}`;
|
|
68
|
+
const inputDidDocument = options.didDocument;
|
|
69
|
+
if (!did && !domain) {
|
|
70
|
+
throw new core_1.CredoError('At least one of did or domain must be present');
|
|
71
|
+
}
|
|
72
|
+
const didRepository = agentContext.dependencyManager.resolve(core_1.DidRepository);
|
|
73
|
+
const didRecord = await didRepository.findSingleByQuery(agentContext, {
|
|
74
|
+
$or: [{ did }, { domain, method: 'web' }],
|
|
75
|
+
});
|
|
76
|
+
if (!didRecord)
|
|
77
|
+
return this.handleError('Did not found');
|
|
78
|
+
didRecord.didDocument = inputDidDocument;
|
|
79
|
+
await didRepository.update(agentContext, didRecord);
|
|
80
|
+
return {
|
|
81
|
+
didDocumentMetadata: {},
|
|
82
|
+
didRegistrationMetadata: {},
|
|
83
|
+
didState: {
|
|
84
|
+
state: 'finished',
|
|
85
|
+
did,
|
|
86
|
+
didDocument: didRecord.didDocument,
|
|
87
|
+
},
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
catch (error) {
|
|
91
|
+
return this.handleError(error instanceof Error ? error.message : 'Unknown error occurred.');
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
95
|
+
deactivate(agentContext, options) {
|
|
96
|
+
throw new Error('Method not implemented.');
|
|
97
|
+
}
|
|
98
|
+
handleError(reason) {
|
|
99
|
+
return {
|
|
100
|
+
didDocumentMetadata: {},
|
|
101
|
+
didRegistrationMetadata: {},
|
|
102
|
+
didState: {
|
|
103
|
+
state: 'failed',
|
|
104
|
+
reason,
|
|
105
|
+
},
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
exports.WebDidRegistrar = WebDidRegistrar;
|
|
110
|
+
//# sourceMappingURL=WebDidRegistrar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WebDidRegistrar.js","sourceRoot":"","sources":["../../src/did/WebDidRegistrar.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { DidDocument } from '@credo-ts/core';
|
|
2
|
+
/**
|
|
3
|
+
* Returns a Legacy did:web document, based on an input document. If it is already a did:web,
|
|
4
|
+
* it returns the same document.
|
|
5
|
+
* If it isn't supported (i.e. it is not a did:webvh DID Document), it returns undefined
|
|
6
|
+
* @param didDocument
|
|
7
|
+
* @param publicApiBaseUrl
|
|
8
|
+
* @returns
|
|
9
|
+
*/
|
|
10
|
+
export declare function getLegacyDidDocument(didDocument: DidDocument, publicApiBaseUrl: string): DidDocument | undefined;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getLegacyDidDocument = getLegacyDidDocument;
|
|
4
|
+
const core_1 = require("@credo-ts/core");
|
|
5
|
+
/**
|
|
6
|
+
* Returns a Legacy did:web document, based on an input document. If it is already a did:web,
|
|
7
|
+
* it returns the same document.
|
|
8
|
+
* If it isn't supported (i.e. it is not a did:webvh DID Document), it returns undefined
|
|
9
|
+
* @param didDocument
|
|
10
|
+
* @param publicApiBaseUrl
|
|
11
|
+
* @returns
|
|
12
|
+
*/
|
|
13
|
+
function getLegacyDidDocument(didDocument, publicApiBaseUrl) {
|
|
14
|
+
var _a;
|
|
15
|
+
const parsedDid = (0, core_1.parseDid)(didDocument.id);
|
|
16
|
+
if (parsedDid.method === 'web')
|
|
17
|
+
return didDocument;
|
|
18
|
+
// In case of did:webvh, we'll need to add some steps to publish a did:web, as per
|
|
19
|
+
// https://identity.foundation/didwebvh/v1.0/#publishing-a-parallel-didweb-did
|
|
20
|
+
if (parsedDid.method === 'webvh' && parsedDid.id.includes(':')) {
|
|
21
|
+
const scid = parsedDid.id.split(':')[0];
|
|
22
|
+
// Start with resolved version of the DIDDoc from did:webvh
|
|
23
|
+
const legacyDidDocument = new core_1.DidDocument(didDocument);
|
|
24
|
+
// We add the legacy did:web AnonCreds service (important in case the agent had previously did:web objects)
|
|
25
|
+
legacyDidDocument.service = [
|
|
26
|
+
...((_a = legacyDidDocument.service) !== null && _a !== void 0 ? _a : []),
|
|
27
|
+
new core_1.DidDocumentService({
|
|
28
|
+
id: `${didDocument.id}#anoncreds`,
|
|
29
|
+
serviceEndpoint: `${publicApiBaseUrl}/anoncreds/v1`,
|
|
30
|
+
type: 'AnonCredsRegistry',
|
|
31
|
+
}),
|
|
32
|
+
];
|
|
33
|
+
// Execute text replacement: did:webvh:<scid> by did:web
|
|
34
|
+
const stringified = JSON.stringify(legacyDidDocument.toJSON());
|
|
35
|
+
const replaced = stringified.replace(new RegExp(`did:webvh:${scid}`, 'g'), 'did:web');
|
|
36
|
+
return new core_1.DidDocument(Object.assign(Object.assign({}, core_1.JsonTransformer.fromJSON(JSON.parse(replaced), core_1.DidDocument)), {
|
|
37
|
+
// Update alsoKnownAs
|
|
38
|
+
alsoKnownAs: [parsedDid.did] }));
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=legacyDidWeb.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"legacyDidWeb.js","sourceRoot":"","sources":["../../src/did/legacyDidWeb.ts"],"names":[],"mappings":";;AAUA,oDAiCC;AA3CD,yCAA2F;AAE3F;;;;;;;GAOG;AACH,SAAgB,oBAAoB,CAAC,WAAwB,EAAE,gBAAwB;;IACrF,MAAM,SAAS,GAAG,IAAA,eAAQ,EAAC,WAAW,CAAC,EAAE,CAAC,CAAA;IAE1C,IAAI,SAAS,CAAC,MAAM,KAAK,KAAK;QAAE,OAAO,WAAW,CAAA;IAElD,kFAAkF;IAClF,8EAA8E;IAC9E,IAAI,SAAS,CAAC,MAAM,KAAK,OAAO,IAAI,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/D,MAAM,IAAI,GAAG,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QAEvC,2DAA2D;QAC3D,MAAM,iBAAiB,GAAG,IAAI,kBAAW,CAAC,WAAW,CAAC,CAAA;QAEtD,2GAA2G;QAC3G,iBAAiB,CAAC,OAAO,GAAG;YAC1B,GAAG,CAAC,MAAA,iBAAiB,CAAC,OAAO,mCAAI,EAAE,CAAC;YACpC,IAAI,yBAAkB,CAAC;gBACrB,EAAE,EAAE,GAAG,WAAW,CAAC,EAAE,YAAY;gBACjC,eAAe,EAAE,GAAG,gBAAgB,eAAe;gBACnD,IAAI,EAAE,mBAAmB;aAC1B,CAAC;SACH,CAAA;QAED,wDAAwD;QACxD,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAA;QAC9D,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,aAAa,IAAI,EAAE,EAAE,GAAG,CAAC,EAAE,SAAS,CAAC,CAAA;QAErF,OAAO,IAAI,kBAAW,iCACjB,sBAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,kBAAW,CAAC;YAC9D,qBAAqB;YACrB,WAAW,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,IAC5B,CAAA;IACJ,CAAC;AACH,CAAC"}
|
package/build/index.d.ts
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export { VsAgent } from './agent/VsAgent';
|
|
2
|
+
export { type VsAgentOptions, BaseAgentModules } from './agent/VsAgent';
|
|
3
|
+
export type { BaseAgentModules as DidCommAgentModules } from './agent/VsAgent';
|
|
4
|
+
export { createVsAgent } from './agent/createVsAgent';
|
|
5
|
+
export type { CreateVsAgentOptions } from './agent/createVsAgent';
|
|
6
|
+
export type { Plugin } from './types';
|
|
7
|
+
export { setupBaseDidComm } from './plugins/setupBaseDidComm';
|
|
8
|
+
export type { BaseDidCommPlugin, BaseDidCommPluginOptions } from './plugins/setupBaseDidComm';
|
|
9
|
+
export type { VsAgentNestPlugin, VsAgentPluginConfig, MessageHandler } from './types';
|
|
10
|
+
export { MESSAGE_HANDLERS } from './types';
|
|
11
|
+
export { CachedWebDidResolver } from './did/CachedWebDidResolver';
|
|
12
|
+
export { WebDidRegistrar } from './did/WebDidRegistrar';
|
|
13
|
+
export { getLegacyDidDocument } from './did/legacyDidWeb';
|
|
14
|
+
export { HttpInboundTransport, HttpTransportSession } from './transports/HttpInboundTransport';
|
|
15
|
+
export { VsAgentWsInboundTransport, WebSocketTransportSession } from './transports/VsAgentWsInboundTransport';
|
|
16
|
+
export { VsAgentWsOutboundTransport } from './transports/VsAgentWsOutboundTransport';
|
|
17
|
+
export { FullTailsFileService, tailsIndex, baseFilePath } from './credentials/FullTailsFileService';
|
|
18
|
+
export { createInvitation, getWebDid, getRecordId } from './utils/agent';
|
|
19
|
+
export { parseDataUrl, parsePictureData, createDataUrl, didcommReceiptFromVsAgentReceipt, UriValidator, } from './utils/parsers';
|
|
20
|
+
export { getEcsSchemas } from './utils/data';
|
|
21
|
+
export { webhookListener } from './utils/webhook';
|
|
22
|
+
export type { WebhookData } from './utils/webhook';
|
|
23
|
+
export { sendWebhookEvent, sendMessageReceivedEvent } from './utils/webhookEvent';
|
|
24
|
+
export * from './utils/util';
|
package/build/index.js
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.sendMessageReceivedEvent = exports.sendWebhookEvent = exports.webhookListener = exports.getEcsSchemas = exports.UriValidator = exports.didcommReceiptFromVsAgentReceipt = exports.createDataUrl = exports.parsePictureData = exports.parseDataUrl = exports.getRecordId = exports.getWebDid = exports.createInvitation = exports.baseFilePath = exports.tailsIndex = exports.FullTailsFileService = exports.VsAgentWsOutboundTransport = exports.WebSocketTransportSession = exports.VsAgentWsInboundTransport = exports.HttpTransportSession = exports.HttpInboundTransport = exports.getLegacyDidDocument = exports.WebDidRegistrar = exports.CachedWebDidResolver = exports.MESSAGE_HANDLERS = exports.setupBaseDidComm = exports.createVsAgent = exports.VsAgent = void 0;
|
|
18
|
+
// Agent
|
|
19
|
+
var VsAgent_1 = require("./agent/VsAgent");
|
|
20
|
+
Object.defineProperty(exports, "VsAgent", { enumerable: true, get: function () { return VsAgent_1.VsAgent; } });
|
|
21
|
+
var createVsAgent_1 = require("./agent/createVsAgent");
|
|
22
|
+
Object.defineProperty(exports, "createVsAgent", { enumerable: true, get: function () { return createVsAgent_1.createVsAgent; } });
|
|
23
|
+
// Plugins
|
|
24
|
+
var setupBaseDidComm_1 = require("./plugins/setupBaseDidComm");
|
|
25
|
+
Object.defineProperty(exports, "setupBaseDidComm", { enumerable: true, get: function () { return setupBaseDidComm_1.setupBaseDidComm; } });
|
|
26
|
+
var types_1 = require("./types");
|
|
27
|
+
Object.defineProperty(exports, "MESSAGE_HANDLERS", { enumerable: true, get: function () { return types_1.MESSAGE_HANDLERS; } });
|
|
28
|
+
// DID utilities
|
|
29
|
+
var CachedWebDidResolver_1 = require("./did/CachedWebDidResolver");
|
|
30
|
+
Object.defineProperty(exports, "CachedWebDidResolver", { enumerable: true, get: function () { return CachedWebDidResolver_1.CachedWebDidResolver; } });
|
|
31
|
+
var WebDidRegistrar_1 = require("./did/WebDidRegistrar");
|
|
32
|
+
Object.defineProperty(exports, "WebDidRegistrar", { enumerable: true, get: function () { return WebDidRegistrar_1.WebDidRegistrar; } });
|
|
33
|
+
var legacyDidWeb_1 = require("./did/legacyDidWeb");
|
|
34
|
+
Object.defineProperty(exports, "getLegacyDidDocument", { enumerable: true, get: function () { return legacyDidWeb_1.getLegacyDidDocument; } });
|
|
35
|
+
// Transports
|
|
36
|
+
var HttpInboundTransport_1 = require("./transports/HttpInboundTransport");
|
|
37
|
+
Object.defineProperty(exports, "HttpInboundTransport", { enumerable: true, get: function () { return HttpInboundTransport_1.HttpInboundTransport; } });
|
|
38
|
+
Object.defineProperty(exports, "HttpTransportSession", { enumerable: true, get: function () { return HttpInboundTransport_1.HttpTransportSession; } });
|
|
39
|
+
var VsAgentWsInboundTransport_1 = require("./transports/VsAgentWsInboundTransport");
|
|
40
|
+
Object.defineProperty(exports, "VsAgentWsInboundTransport", { enumerable: true, get: function () { return VsAgentWsInboundTransport_1.VsAgentWsInboundTransport; } });
|
|
41
|
+
Object.defineProperty(exports, "WebSocketTransportSession", { enumerable: true, get: function () { return VsAgentWsInboundTransport_1.WebSocketTransportSession; } });
|
|
42
|
+
var VsAgentWsOutboundTransport_1 = require("./transports/VsAgentWsOutboundTransport");
|
|
43
|
+
Object.defineProperty(exports, "VsAgentWsOutboundTransport", { enumerable: true, get: function () { return VsAgentWsOutboundTransport_1.VsAgentWsOutboundTransport; } });
|
|
44
|
+
// Credentials
|
|
45
|
+
var FullTailsFileService_1 = require("./credentials/FullTailsFileService");
|
|
46
|
+
Object.defineProperty(exports, "FullTailsFileService", { enumerable: true, get: function () { return FullTailsFileService_1.FullTailsFileService; } });
|
|
47
|
+
Object.defineProperty(exports, "tailsIndex", { enumerable: true, get: function () { return FullTailsFileService_1.tailsIndex; } });
|
|
48
|
+
Object.defineProperty(exports, "baseFilePath", { enumerable: true, get: function () { return FullTailsFileService_1.baseFilePath; } });
|
|
49
|
+
// Utils
|
|
50
|
+
var agent_1 = require("./utils/agent");
|
|
51
|
+
Object.defineProperty(exports, "createInvitation", { enumerable: true, get: function () { return agent_1.createInvitation; } });
|
|
52
|
+
Object.defineProperty(exports, "getWebDid", { enumerable: true, get: function () { return agent_1.getWebDid; } });
|
|
53
|
+
Object.defineProperty(exports, "getRecordId", { enumerable: true, get: function () { return agent_1.getRecordId; } });
|
|
54
|
+
var parsers_1 = require("./utils/parsers");
|
|
55
|
+
Object.defineProperty(exports, "parseDataUrl", { enumerable: true, get: function () { return parsers_1.parseDataUrl; } });
|
|
56
|
+
Object.defineProperty(exports, "parsePictureData", { enumerable: true, get: function () { return parsers_1.parsePictureData; } });
|
|
57
|
+
Object.defineProperty(exports, "createDataUrl", { enumerable: true, get: function () { return parsers_1.createDataUrl; } });
|
|
58
|
+
Object.defineProperty(exports, "didcommReceiptFromVsAgentReceipt", { enumerable: true, get: function () { return parsers_1.didcommReceiptFromVsAgentReceipt; } });
|
|
59
|
+
Object.defineProperty(exports, "UriValidator", { enumerable: true, get: function () { return parsers_1.UriValidator; } });
|
|
60
|
+
var data_1 = require("./utils/data");
|
|
61
|
+
Object.defineProperty(exports, "getEcsSchemas", { enumerable: true, get: function () { return data_1.getEcsSchemas; } });
|
|
62
|
+
var webhook_1 = require("./utils/webhook");
|
|
63
|
+
Object.defineProperty(exports, "webhookListener", { enumerable: true, get: function () { return webhook_1.webhookListener; } });
|
|
64
|
+
var webhookEvent_1 = require("./utils/webhookEvent");
|
|
65
|
+
Object.defineProperty(exports, "sendWebhookEvent", { enumerable: true, get: function () { return webhookEvent_1.sendWebhookEvent; } });
|
|
66
|
+
Object.defineProperty(exports, "sendMessageReceivedEvent", { enumerable: true, get: function () { return webhookEvent_1.sendMessageReceivedEvent; } });
|
|
67
|
+
__exportStar(require("./utils/util"), exports);
|
|
68
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,QAAQ;AACR,2CAAyC;AAAhC,kGAAA,OAAO,OAAA;AAGhB,uDAAqD;AAA5C,8GAAA,aAAa,OAAA;AAItB,UAAU;AACV,+DAA6D;AAApD,oHAAA,gBAAgB,OAAA;AAKzB,iCAA0C;AAAjC,yGAAA,gBAAgB,OAAA;AAEzB,gBAAgB;AAChB,mEAAiE;AAAxD,4HAAA,oBAAoB,OAAA;AAC7B,yDAAuD;AAA9C,kHAAA,eAAe,OAAA;AACxB,mDAAyD;AAAhD,oHAAA,oBAAoB,OAAA;AAE7B,aAAa;AACb,0EAA8F;AAArF,4HAAA,oBAAoB,OAAA;AAAE,4HAAA,oBAAoB,OAAA;AACnD,oFAA6G;AAApG,sIAAA,yBAAyB,OAAA;AAAE,sIAAA,yBAAyB,OAAA;AAC7D,sFAAoF;AAA3E,wIAAA,0BAA0B,OAAA;AAEnC,cAAc;AACd,2EAAmG;AAA1F,4HAAA,oBAAoB,OAAA;AAAE,kHAAA,UAAU,OAAA;AAAE,oHAAA,YAAY,OAAA;AAEvD,QAAQ;AACR,uCAAwE;AAA/D,yGAAA,gBAAgB,OAAA;AAAE,kGAAA,SAAS,OAAA;AAAE,oGAAA,WAAW,OAAA;AACjD,2CAMwB;AALtB,uGAAA,YAAY,OAAA;AACZ,2GAAA,gBAAgB,OAAA;AAChB,wGAAA,aAAa,OAAA;AACb,2HAAA,gCAAgC,OAAA;AAChC,uGAAA,YAAY,OAAA;AAEd,qCAA4C;AAAnC,qGAAA,aAAa,OAAA;AACtB,2CAAiD;AAAxC,0GAAA,eAAe,OAAA;AAExB,qDAAiF;AAAxE,gHAAA,gBAAgB,OAAA;AAAE,wHAAA,wBAAwB,OAAA;AACnD,+CAA4B"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { AskarModuleConfigStoreOptions } from '@credo-ts/askar';
|
|
2
|
+
import { BaseAgentModules } from '../agent/VsAgent';
|
|
3
|
+
export interface BaseDidCommPluginOptions {
|
|
4
|
+
walletConfig: AskarModuleConfigStoreOptions;
|
|
5
|
+
publicApiBaseUrl: string;
|
|
6
|
+
endpoints: string[];
|
|
7
|
+
}
|
|
8
|
+
export interface BaseDidCommPlugin {
|
|
9
|
+
modules: BaseAgentModules;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Sets up the base DIDComm module: connections, OOB, credential exchange, and proof exchange.
|
|
13
|
+
* For chat protocols, add setupChatProtocols(). For eMRTD, add setupMrtdProtocol().
|
|
14
|
+
*/
|
|
15
|
+
export declare function setupBaseDidComm(options: BaseDidCommPluginOptions): BaseDidCommPlugin;
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.setupBaseDidComm = setupBaseDidComm;
|
|
4
|
+
const anoncreds_1 = require("@credo-ts/anoncreds");
|
|
5
|
+
const askar_1 = require("@credo-ts/askar");
|
|
6
|
+
const core_1 = require("@credo-ts/core");
|
|
7
|
+
const didcomm_1 = require("@credo-ts/didcomm");
|
|
8
|
+
const webvh_1 = require("@credo-ts/webvh");
|
|
9
|
+
const anoncreds_nodejs_1 = require("@hyperledger/anoncreds-nodejs");
|
|
10
|
+
const askar_nodejs_1 = require("@openwallet-foundation/askar-nodejs");
|
|
11
|
+
const credo_ts_didweb_anoncreds_1 = require("credo-ts-didweb-anoncreds");
|
|
12
|
+
const FullTailsFileService_1 = require("../credentials/FullTailsFileService");
|
|
13
|
+
const CachedDocumentLoader_1 = require("../did/CachedDocumentLoader");
|
|
14
|
+
const CachedWebDidResolver_1 = require("../did/CachedWebDidResolver");
|
|
15
|
+
const WebDidRegistrar_1 = require("../did/WebDidRegistrar");
|
|
16
|
+
const VsAgentWsOutboundTransport_1 = require("../transports/VsAgentWsOutboundTransport");
|
|
17
|
+
/**
|
|
18
|
+
* Sets up the base DIDComm module: connections, OOB, credential exchange, and proof exchange.
|
|
19
|
+
* For chat protocols, add setupChatProtocols(). For eMRTD, add setupMrtdProtocol().
|
|
20
|
+
*/
|
|
21
|
+
function setupBaseDidComm(options) {
|
|
22
|
+
return {
|
|
23
|
+
modules: {
|
|
24
|
+
didcomm: new didcomm_1.DidCommModule({
|
|
25
|
+
endpoints: options.endpoints,
|
|
26
|
+
transports: {
|
|
27
|
+
outbound: [new didcomm_1.DidCommHttpOutboundTransport(), new VsAgentWsOutboundTransport_1.VsAgentWsOutboundTransport()],
|
|
28
|
+
},
|
|
29
|
+
connections: { autoAcceptConnections: true },
|
|
30
|
+
credentials: {
|
|
31
|
+
autoAcceptCredentials: didcomm_1.DidCommAutoAcceptCredential.ContentApproved,
|
|
32
|
+
credentialProtocols: [
|
|
33
|
+
new didcomm_1.DidCommCredentialV2Protocol({
|
|
34
|
+
credentialFormats: [
|
|
35
|
+
new anoncreds_1.LegacyIndyDidCommCredentialFormatService(),
|
|
36
|
+
new anoncreds_1.AnonCredsDidCommCredentialFormatService(),
|
|
37
|
+
],
|
|
38
|
+
}),
|
|
39
|
+
],
|
|
40
|
+
},
|
|
41
|
+
proofs: {
|
|
42
|
+
autoAcceptProofs: didcomm_1.DidCommAutoAcceptProof.ContentApproved,
|
|
43
|
+
proofProtocols: [
|
|
44
|
+
new didcomm_1.DidCommProofV2Protocol({
|
|
45
|
+
proofFormats: [
|
|
46
|
+
new anoncreds_1.LegacyIndyDidCommProofFormatService(),
|
|
47
|
+
new anoncreds_1.AnonCredsDidCommProofFormatService(),
|
|
48
|
+
],
|
|
49
|
+
}),
|
|
50
|
+
],
|
|
51
|
+
},
|
|
52
|
+
}),
|
|
53
|
+
askar: new askar_1.AskarModule({
|
|
54
|
+
askar: askar_nodejs_1.askar,
|
|
55
|
+
store: options.walletConfig,
|
|
56
|
+
}),
|
|
57
|
+
anoncreds: new anoncreds_1.AnonCredsModule({
|
|
58
|
+
anoncreds: anoncreds_nodejs_1.anoncreds,
|
|
59
|
+
tailsFileService: new FullTailsFileService_1.FullTailsFileService({
|
|
60
|
+
tailsServerBaseUrl: `${options.publicApiBaseUrl}/anoncreds/v1/tails`,
|
|
61
|
+
}),
|
|
62
|
+
registries: [
|
|
63
|
+
new credo_ts_didweb_anoncreds_1.DidWebAnonCredsRegistry({
|
|
64
|
+
cacheOptions: { allowCaching: true, cacheDurationInSeconds: 24 * 60 * 60 },
|
|
65
|
+
}),
|
|
66
|
+
new webvh_1.WebVhAnonCredsRegistry(),
|
|
67
|
+
],
|
|
68
|
+
}),
|
|
69
|
+
dids: new core_1.DidsModule({
|
|
70
|
+
resolvers: [
|
|
71
|
+
new CachedWebDidResolver_1.CachedWebDidResolver({ publicApiBaseUrl: options.publicApiBaseUrl }),
|
|
72
|
+
new webvh_1.WebVhDidResolver(),
|
|
73
|
+
],
|
|
74
|
+
registrars: [new WebDidRegistrar_1.WebDidRegistrar(), new webvh_1.WebVhDidRegistrar()],
|
|
75
|
+
}),
|
|
76
|
+
w3cCredentials: new core_1.W3cCredentialsModule({
|
|
77
|
+
documentLoader: CachedDocumentLoader_1.defaultDocumentLoader,
|
|
78
|
+
}),
|
|
79
|
+
},
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=setupBaseDidComm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setupBaseDidComm.js","sourceRoot":"","sources":["../../src/plugins/setupBaseDidComm.ts"],"names":[],"mappings":";;AA2CA,4CA4DC;AAvGD,mDAM4B;AAC5B,2CAA4E;AAC5E,yCAAiE;AACjE,+CAO0B;AAC1B,2CAA6F;AAC7F,oEAAyD;AACzD,sEAA2D;AAC3D,yEAAmE;AAGnE,8EAA0E;AAC1E,sEAAmE;AACnE,sEAAkE;AAClE,4DAAwD;AACxD,yFAAqF;AAYrF;;;GAGG;AACH,SAAgB,gBAAgB,CAAC,OAAiC;IAChE,OAAO;QACL,OAAO,EAAE;YACP,OAAO,EAAE,IAAI,uBAAa,CAAC;gBACzB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,UAAU,EAAE;oBACV,QAAQ,EAAE,CAAC,IAAI,sCAA4B,EAAE,EAAE,IAAI,uDAA0B,EAAE,CAAC;iBACjF;gBACD,WAAW,EAAE,EAAE,qBAAqB,EAAE,IAAI,EAAE;gBAC5C,WAAW,EAAE;oBACX,qBAAqB,EAAE,qCAA2B,CAAC,eAAe;oBAClE,mBAAmB,EAAE;wBACnB,IAAI,qCAA2B,CAAC;4BAC9B,iBAAiB,EAAE;gCACjB,IAAI,oDAAwC,EAAE;gCAC9C,IAAI,mDAAuC,EAAE;6BAC9C;yBACF,CAAC;qBACH;iBACF;gBACD,MAAM,EAAE;oBACN,gBAAgB,EAAE,gCAAsB,CAAC,eAAe;oBACxD,cAAc,EAAE;wBACd,IAAI,gCAAsB,CAAC;4BACzB,YAAY,EAAE;gCACZ,IAAI,+CAAmC,EAAE;gCACzC,IAAI,8CAAkC,EAAE;6BACzC;yBACF,CAAC;qBACH;iBACF;aACF,CAAC;YACF,KAAK,EAAE,IAAI,mBAAW,CAAC;gBACrB,KAAK,EAAL,oBAAK;gBACL,KAAK,EAAE,OAAO,CAAC,YAAY;aAC5B,CAAC;YACF,SAAS,EAAE,IAAI,2BAAe,CAAC;gBAC7B,SAAS,EAAT,4BAAS;gBACT,gBAAgB,EAAE,IAAI,2CAAoB,CAAC;oBACzC,kBAAkB,EAAE,GAAG,OAAO,CAAC,gBAAgB,qBAAqB;iBACrE,CAAC;gBACF,UAAU,EAAE;oBACV,IAAI,mDAAuB,CAAC;wBAC1B,YAAY,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,sBAAsB,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;qBAC3E,CAAC;oBACF,IAAI,8BAAsB,EAAE;iBAC7B;aACF,CAAC;YACF,IAAI,EAAE,IAAI,iBAAU,CAAC;gBACnB,SAAS,EAAE;oBACT,IAAI,2CAAoB,CAAC,EAAE,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,EAAE,CAAC;oBACxE,IAAI,wBAAgB,EAAE;iBACvB;gBACD,UAAU,EAAE,CAAC,IAAI,iCAAe,EAAE,EAAE,IAAI,yBAAiB,EAAE,CAAC;aAC7D,CAAC;YACF,cAAc,EAAE,IAAI,2BAAoB,CAAC;gBACvC,cAAc,EAAE,4CAAqB;aACtC,CAAC;SACH;KACF,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { AgentContext } from '@credo-ts/core';
|
|
2
|
+
import type { Express, Request, Response } from 'express';
|
|
3
|
+
import type { Server } from 'http';
|
|
4
|
+
import { DidCommEncryptedMessage, DidCommInboundTransport, DidCommTransportSession } from '@credo-ts/didcomm';
|
|
5
|
+
export declare class HttpInboundTransport implements DidCommInboundTransport {
|
|
6
|
+
app?: Express;
|
|
7
|
+
private port;
|
|
8
|
+
private path;
|
|
9
|
+
private _server?;
|
|
10
|
+
get server(): Server<typeof import("http").IncomingMessage, typeof import("http").ServerResponse> | undefined;
|
|
11
|
+
constructor({ path, port }: {
|
|
12
|
+
path?: string;
|
|
13
|
+
port: number;
|
|
14
|
+
});
|
|
15
|
+
setApp(app: Express): void;
|
|
16
|
+
private setupMiddleware;
|
|
17
|
+
start(agentContext: AgentContext, app?: Express): Promise<void>;
|
|
18
|
+
stop(): Promise<void>;
|
|
19
|
+
}
|
|
20
|
+
export declare class HttpTransportSession implements DidCommTransportSession {
|
|
21
|
+
id: string;
|
|
22
|
+
readonly type = "http";
|
|
23
|
+
req: Request;
|
|
24
|
+
res: Response;
|
|
25
|
+
constructor(id: string, req: Request, res: Response);
|
|
26
|
+
close(): Promise<void>;
|
|
27
|
+
send(agentContext: AgentContext, encryptedMessage: DidCommEncryptedMessage): Promise<void>;
|
|
28
|
+
}
|