@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.
Files changed (59) hide show
  1. package/LICENSE +201 -0
  2. package/build/agent/VsAgent.d.ts +66 -0
  3. package/build/agent/VsAgent.js +276 -0
  4. package/build/agent/VsAgent.js.map +1 -0
  5. package/build/agent/createVsAgent.d.ts +50 -0
  6. package/build/agent/createVsAgent.js +43 -0
  7. package/build/agent/createVsAgent.js.map +1 -0
  8. package/build/credentials/FullTailsFileService.d.ts +17 -0
  9. package/build/credentials/FullTailsFileService.js +76 -0
  10. package/build/credentials/FullTailsFileService.js.map +1 -0
  11. package/build/did/CachedDocumentLoader.d.ts +35 -0
  12. package/build/did/CachedDocumentLoader.js +139 -0
  13. package/build/did/CachedDocumentLoader.js.map +1 -0
  14. package/build/did/CachedWebDidResolver.d.ts +9 -0
  15. package/build/did/CachedWebDidResolver.js +44 -0
  16. package/build/did/CachedWebDidResolver.js.map +1 -0
  17. package/build/did/WebDidRegistrar.d.ts +34 -0
  18. package/build/did/WebDidRegistrar.js +110 -0
  19. package/build/did/WebDidRegistrar.js.map +1 -0
  20. package/build/did/legacyDidWeb.d.ts +10 -0
  21. package/build/did/legacyDidWeb.js +41 -0
  22. package/build/did/legacyDidWeb.js.map +1 -0
  23. package/build/index.d.ts +24 -0
  24. package/build/index.js +68 -0
  25. package/build/index.js.map +1 -0
  26. package/build/plugins/setupBaseDidComm.d.ts +15 -0
  27. package/build/plugins/setupBaseDidComm.js +82 -0
  28. package/build/plugins/setupBaseDidComm.js.map +1 -0
  29. package/build/transports/HttpInboundTransport.d.ts +28 -0
  30. package/build/transports/HttpInboundTransport.js +132 -0
  31. package/build/transports/HttpInboundTransport.js.map +1 -0
  32. package/build/transports/VsAgentWsInboundTransport.d.ts +30 -0
  33. package/build/transports/VsAgentWsInboundTransport.js +143 -0
  34. package/build/transports/VsAgentWsInboundTransport.js.map +1 -0
  35. package/build/transports/VsAgentWsOutboundTransport.d.ts +20 -0
  36. package/build/transports/VsAgentWsOutboundTransport.js +129 -0
  37. package/build/transports/VsAgentWsOutboundTransport.js.map +1 -0
  38. package/build/types.d.ts +30 -0
  39. package/build/types.js +5 -0
  40. package/build/types.js.map +1 -0
  41. package/build/utils/agent.d.ts +20 -0
  42. package/build/utils/agent.js +49 -0
  43. package/build/utils/agent.js.map +1 -0
  44. package/build/utils/data.d.ts +1 -0
  45. package/build/utils/data.js +255 -0
  46. package/build/utils/data.js.map +1 -0
  47. package/build/utils/parsers.d.ts +11 -0
  48. package/build/utils/parsers.js +36 -0
  49. package/build/utils/parsers.js.map +1 -0
  50. package/build/utils/util.d.ts +3 -0
  51. package/build/utils/util.js +151 -0
  52. package/build/utils/util.js.map +1 -0
  53. package/build/utils/webhook.d.ts +13 -0
  54. package/build/utils/webhook.js +56 -0
  55. package/build/utils/webhook.js.map +1 -0
  56. package/build/utils/webhookEvent.d.ts +5 -0
  57. package/build/utils/webhookEvent.js +26 -0
  58. package/build/utils/webhookEvent.js.map +1 -0
  59. 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"}
@@ -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
+ }