@verana-labs/vs-agent-sdk 2.0.0-dev.7 → 2.0.0-dev.70
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/README.md +0 -2
- package/build/adminApi/AdminApiError.d.ts +27 -0
- package/build/adminApi/AdminApiError.js +59 -0
- package/build/adminApi/AdminApiError.js.map +1 -0
- package/build/adminApi/didcommModules.d.ts +2 -0
- package/build/adminApi/didcommModules.js +8 -0
- package/build/adminApi/didcommModules.js.map +1 -0
- package/build/adminApi/index.d.ts +4 -0
- package/build/adminApi/index.js +21 -0
- package/build/adminApi/index.js.map +1 -0
- package/build/adminApi/moduleEndpoint.d.ts +8 -0
- package/build/adminApi/moduleEndpoint.js +28 -0
- package/build/adminApi/moduleEndpoint.js.map +1 -0
- package/build/adminApi/pagination/PageDto.d.ts +7 -0
- package/build/adminApi/pagination/PageDto.js +50 -0
- package/build/adminApi/pagination/PageDto.js.map +1 -0
- package/build/adminApi/pagination/PaginationQueryDto.d.ts +11 -0
- package/build/adminApi/pagination/PaginationQueryDto.js +46 -0
- package/build/adminApi/pagination/PaginationQueryDto.js.map +1 -0
- package/build/adminApi/pagination/cursor.d.ts +28 -0
- package/build/adminApi/pagination/cursor.js +64 -0
- package/build/adminApi/pagination/cursor.js.map +1 -0
- package/build/adminApi/pagination/index.d.ts +4 -0
- package/build/adminApi/pagination/index.js +21 -0
- package/build/adminApi/pagination/index.js.map +1 -0
- package/build/adminApi/pagination/paginate.d.ts +27 -0
- package/build/adminApi/pagination/paginate.js +77 -0
- package/build/adminApi/pagination/paginate.js.map +1 -0
- package/build/agent/VsAgent.d.ts +17 -34
- package/build/agent/VsAgent.js +75 -205
- package/build/agent/VsAgent.js.map +1 -1
- package/build/agent/createVsAgent.d.ts +5 -6
- package/build/agent/createVsAgent.js +3 -5
- package/build/agent/createVsAgent.js.map +1 -1
- package/build/blockchain/AnonCredsTrustService.d.ts +62 -0
- package/build/blockchain/AnonCredsTrustService.js +256 -0
- package/build/blockchain/AnonCredsTrustService.js.map +1 -0
- package/build/blockchain/AuthorizationService.d.ts +5 -3
- package/build/blockchain/AuthorizationService.js +17 -29
- package/build/blockchain/AuthorizationService.js.map +1 -1
- package/build/blockchain/IndexerWebSocketService.d.ts +7 -1
- package/build/blockchain/IndexerWebSocketService.js +68 -36
- package/build/blockchain/IndexerWebSocketService.js.map +1 -1
- package/build/blockchain/VeranaChainService.d.ts +25 -14
- package/build/blockchain/VeranaChainService.js +123 -113
- package/build/blockchain/VeranaChainService.js.map +1 -1
- package/build/blockchain/VeranaIndexerService.d.ts +14 -1
- package/build/blockchain/VeranaIndexerService.js +122 -8
- package/build/blockchain/VeranaIndexerService.js.map +1 -1
- package/build/blockchain/handlers/authorizationHandlers.js +2 -2
- package/build/blockchain/handlers/authorizationHandlers.js.map +1 -1
- package/build/blockchain/handlers/defaultHandlers.js +2 -0
- package/build/blockchain/handlers/defaultHandlers.js.map +1 -1
- package/build/blockchain/handlers/index.d.ts +1 -0
- package/build/blockchain/handlers/index.js +1 -0
- package/build/blockchain/handlers/index.js.map +1 -1
- package/build/blockchain/handlers/selfIssuanceHandlers.d.ts +13 -0
- package/build/blockchain/handlers/selfIssuanceHandlers.js +71 -0
- package/build/blockchain/handlers/selfIssuanceHandlers.js.map +1 -0
- package/build/blockchain/handlers/stateMutations.d.ts +21 -2
- package/build/blockchain/handlers/stateMutations.js +285 -37
- package/build/blockchain/handlers/stateMutations.js.map +1 -1
- package/build/blockchain/index.d.ts +2 -0
- package/build/blockchain/index.js +2 -0
- package/build/blockchain/index.js.map +1 -1
- package/build/blockchain/indexerMappers.d.ts +3 -0
- package/build/blockchain/indexerMappers.js +53 -0
- package/build/blockchain/indexerMappers.js.map +1 -0
- package/build/blockchain/types.d.ts +13 -58
- package/build/blockchain/types.js.map +1 -1
- package/build/bootstrap/EcsBootstrapService.d.ts +14 -3
- package/build/bootstrap/EcsBootstrapService.js +166 -76
- package/build/bootstrap/EcsBootstrapService.js.map +1 -1
- package/build/connections/ParentConnectionModule.d.ts +20 -0
- package/build/connections/ParentConnectionModule.js +56 -0
- package/build/connections/ParentConnectionModule.js.map +1 -0
- package/build/credentials/FullTailsFileService.d.ts +0 -1
- package/build/credentials/FullTailsFileService.js +0 -49
- package/build/credentials/FullTailsFileService.js.map +1 -1
- package/build/did/CachedDocumentLoader.d.ts +3 -0
- package/build/did/CachedDocumentLoader.js +7 -1
- package/build/did/CachedDocumentLoader.js.map +1 -1
- package/build/did/CachedWebDidResolver.d.ts +0 -4
- package/build/did/CachedWebDidResolver.js +1 -5
- package/build/did/CachedWebDidResolver.js.map +1 -1
- package/build/did/artifactServices.d.ts +12 -0
- package/build/did/artifactServices.js +48 -0
- package/build/did/artifactServices.js.map +1 -0
- package/build/did/legacyDidWeb.d.ts +6 -4
- package/build/did/legacyDidWeb.js +17 -14
- package/build/did/legacyDidWeb.js.map +1 -1
- package/build/did/publicDid.d.ts +4 -0
- package/build/did/publicDid.js +19 -0
- package/build/did/publicDid.js.map +1 -0
- package/build/events/BaseMessageEvents.js +139 -5
- package/build/events/BaseMessageEvents.js.map +1 -1
- package/build/events/ConnectionEvents.js +129 -82
- package/build/events/ConnectionEvents.js.map +1 -1
- package/build/events/VsAgentEvents.d.ts +11 -9
- package/build/events/VsAgentEvents.js +8 -1
- package/build/events/VsAgentEvents.js.map +1 -1
- package/build/events/VtFlowEvents.d.ts +1 -1
- package/build/events/VtFlowEvents.js +27 -18
- package/build/events/VtFlowEvents.js.map +1 -1
- package/build/index.d.ts +7 -1
- package/build/index.js +15 -2
- package/build/index.js.map +1 -1
- package/build/plugins/setupBaseDidComm.js +9 -12
- package/build/plugins/setupBaseDidComm.js.map +1 -1
- package/build/transports/VsAgentWsInboundTransport.d.ts +1 -1
- package/build/transports/VsAgentWsInboundTransport.js +20 -14
- package/build/transports/VsAgentWsInboundTransport.js.map +1 -1
- package/build/types.d.ts +7 -0
- package/build/types.js.map +1 -1
- package/build/utils/agent.d.ts +29 -4
- package/build/utils/agent.js +91 -22
- package/build/utils/agent.js.map +1 -1
- package/build/utils/didReadiness.d.ts +9 -0
- package/build/utils/didReadiness.js +42 -0
- package/build/utils/didReadiness.js.map +1 -0
- package/build/utils/ecsClaims.d.ts +47 -0
- package/build/utils/ecsClaims.js +120 -0
- package/build/utils/ecsClaims.js.map +1 -0
- package/build/utils/ecsService.d.ts +8 -0
- package/build/utils/ecsService.js +23 -0
- package/build/utils/ecsService.js.map +1 -0
- package/build/utils/index.d.ts +4 -0
- package/build/utils/index.js +4 -0
- package/build/utils/index.js.map +1 -1
- package/build/utils/selfIssuedEcsCredential.d.ts +8 -0
- package/build/utils/selfIssuedEcsCredential.js +151 -0
- package/build/utils/selfIssuedEcsCredential.js.map +1 -0
- package/build/utils/setupSelfTr.d.ts +34 -66
- package/build/utils/setupSelfTr.js +89 -295
- package/build/utils/setupSelfTr.js.map +1 -1
- package/build/utils/trustCredentialStore.d.ts +67 -9
- package/build/utils/trustCredentialStore.js +296 -111
- package/build/utils/trustCredentialStore.js.map +1 -1
- package/build/utils/util.d.ts +10 -0
- package/build/utils/util.js +16 -0
- package/build/utils/util.js.map +1 -1
- package/build/utils/vcdm2.d.ts +34 -0
- package/build/utils/vcdm2.js +62 -0
- package/build/utils/vcdm2.js.map +1 -0
- package/build/utils/vtjscResolver.d.ts +18 -0
- package/build/utils/vtjscResolver.js +54 -0
- package/build/utils/vtjscResolver.js.map +1 -0
- package/build/vtFlow/VtFlowOrchestrator.d.ts +84 -13
- package/build/vtFlow/VtFlowOrchestrator.js +505 -107
- package/build/vtFlow/VtFlowOrchestrator.js.map +1 -1
- package/build/vtFlow/assertVerifiableService.d.ts +1 -0
- package/build/vtFlow/assertVerifiableService.js +45 -5
- package/build/vtFlow/assertVerifiableService.js.map +1 -1
- package/build/vtFlow/ecsIssuanceExemption.d.ts +12 -0
- package/build/vtFlow/ecsIssuanceExemption.js +84 -0
- package/build/vtFlow/ecsIssuanceExemption.js.map +1 -0
- package/build/vtFlow/index.d.ts +1 -0
- package/build/vtFlow/index.js +1 -0
- package/build/vtFlow/index.js.map +1 -1
- package/package.json +17 -12
- package/build/did/migrateWebVhLog.d.ts +0 -34
- package/build/did/migrateWebVhLog.js +0 -230
- package/build/did/migrateWebVhLog.js.map +0 -1
- package/build/did/migrateWebVhVersionTime.d.ts +0 -9
- package/build/did/migrateWebVhVersionTime.js +0 -191
- package/build/did/migrateWebVhVersionTime.js.map +0 -1
package/build/agent/VsAgent.d.ts
CHANGED
|
@@ -1,21 +1,22 @@
|
|
|
1
|
-
import { AnonCredsDidCommCredentialFormatService, AnonCredsModule, AnonCredsDidCommProofFormatService
|
|
1
|
+
import { AnonCredsDidCommCredentialFormatService, AnonCredsModule, AnonCredsDidCommProofFormatService } from '@credo-ts/anoncreds';
|
|
2
2
|
import { AskarModule, AskarModuleConfigStoreOptions } from '@credo-ts/askar';
|
|
3
3
|
import { Agent, AgentDependencies, DidsModule, InitConfig, W3cCredentialsModule } from '@credo-ts/core';
|
|
4
|
-
import { DidCommCredentialsModuleConfigOptions, DidCommCredentialV2Protocol,
|
|
4
|
+
import { DidCommCredentialsModuleConfigOptions, DidCommCredentialV2Protocol, DidCommDataIntegrityCredentialFormatService, DidCommFeatureQueryOptions, DidCommModule, DidCommModuleConfigOptions, DidCommProofsModuleConfigOptions, DidCommProofV2Protocol } from '@credo-ts/didcomm';
|
|
5
5
|
import { VtFlowModule } from '@verana-labs/credo-ts-didcomm-vt-flow';
|
|
6
|
+
import { AnonCredsTrustService } from '../blockchain/AnonCredsTrustService';
|
|
6
7
|
import { AuthorizationService } from '../blockchain/AuthorizationService';
|
|
7
8
|
import { VeranaChainService } from '../blockchain/VeranaChainService';
|
|
9
|
+
import { VeranaIndexerService } from '../blockchain/VeranaIndexerService';
|
|
10
|
+
import { ParentConnectionModule } from '../connections/ParentConnectionModule';
|
|
11
|
+
import { EcsClaims } from '../utils/ecsClaims';
|
|
8
12
|
type VsAgentDidCommModule = DidCommModule<DidCommModuleConfigOptions & {
|
|
9
13
|
credentials: DidCommCredentialsModuleConfigOptions<[
|
|
10
14
|
DidCommCredentialV2Protocol<[
|
|
11
|
-
LegacyIndyDidCommCredentialFormatService,
|
|
12
15
|
AnonCredsDidCommCredentialFormatService,
|
|
13
|
-
|
|
16
|
+
DidCommDataIntegrityCredentialFormatService
|
|
14
17
|
]>
|
|
15
18
|
]>;
|
|
16
|
-
proofs: DidCommProofsModuleConfigOptions<[
|
|
17
|
-
DidCommProofV2Protocol<[LegacyIndyDidCommProofFormatService, AnonCredsDidCommProofFormatService]>
|
|
18
|
-
]>;
|
|
19
|
+
proofs: DidCommProofsModuleConfigOptions<[DidCommProofV2Protocol<[AnonCredsDidCommProofFormatService]>]>;
|
|
19
20
|
}>;
|
|
20
21
|
export type BaseAgentModules = {
|
|
21
22
|
askar: AskarModule;
|
|
@@ -23,6 +24,7 @@ export type BaseAgentModules = {
|
|
|
23
24
|
dids: DidsModule;
|
|
24
25
|
w3cCredentials: W3cCredentialsModule;
|
|
25
26
|
didcomm: VsAgentDidCommModule;
|
|
27
|
+
parentConnection: ParentConnectionModule;
|
|
26
28
|
vtFlow: VtFlowModule;
|
|
27
29
|
};
|
|
28
30
|
interface AgentOptions<TModules extends BaseAgentModules> {
|
|
@@ -32,22 +34,23 @@ interface AgentOptions<TModules extends BaseAgentModules> {
|
|
|
32
34
|
}
|
|
33
35
|
export declare class VsAgent<TModules extends BaseAgentModules = BaseAgentModules> extends Agent<TModules> {
|
|
34
36
|
did?: string;
|
|
35
|
-
autoDiscloseUserProfile?: boolean;
|
|
36
37
|
publicApiBaseUrl: string;
|
|
37
38
|
adminApiServiceEndpoint?: string;
|
|
38
|
-
displayPictureUrl?: string;
|
|
39
|
-
label: string;
|
|
40
39
|
veranaChain?: VeranaChainService;
|
|
40
|
+
indexer: VeranaIndexerService;
|
|
41
|
+
trustedEcosystemDids?: string[];
|
|
42
|
+
ecsClaims?: EcsClaims;
|
|
41
43
|
authorizationService?: AuthorizationService;
|
|
42
44
|
discoveryOptions?: DidCommFeatureQueryOptions[];
|
|
45
|
+
readonly anonCredsTrust: AnonCredsTrustService;
|
|
43
46
|
constructor(options: AgentOptions<TModules> & {
|
|
44
47
|
did?: string;
|
|
45
|
-
autoDiscloseUserProfile?: boolean;
|
|
46
48
|
publicApiBaseUrl: string;
|
|
47
49
|
adminApiServiceEndpoint?: string;
|
|
48
|
-
displayPictureUrl?: string;
|
|
49
|
-
label: string;
|
|
50
50
|
veranaChain?: VeranaChainService;
|
|
51
|
+
indexer: VeranaIndexerService;
|
|
52
|
+
trustedEcosystemDids?: string[];
|
|
53
|
+
ecsClaims?: EcsClaims;
|
|
51
54
|
authorizationService?: AuthorizationService;
|
|
52
55
|
discoveryOptions?: DidCommFeatureQueryOptions[];
|
|
53
56
|
});
|
|
@@ -56,37 +59,17 @@ export declare class VsAgent<TModules extends BaseAgentModules = BaseAgentModule
|
|
|
56
59
|
private findCreatedDid;
|
|
57
60
|
private findEd25519VerificationMethodId;
|
|
58
61
|
private getDidCommServices;
|
|
59
|
-
private persistDidDocumentKey;
|
|
60
|
-
/**
|
|
61
|
-
* Fix a webvh update-key mapping whose `didDocumentRelativeKeyId` was stored as the full multibase
|
|
62
|
-
* (e.g. `#z6Mk...`) while the DID document verification method uses a short fragment (e.g. `#BVhGnL79`).
|
|
63
|
-
* `getKmsKeyIdForVerifiacationMethod` matches by suffix (`vm.id.endsWith(relativeKeyId)`), so the
|
|
64
|
-
* mismatch leaves the update key unresolvable and every webvh update fails with
|
|
65
|
-
* "The key ID must be present before the log can be edited." The private key is present in the KMS;
|
|
66
|
-
* only the mapping label is wrong. Idempotent: a mapping that already correlates to a VM is left alone.
|
|
67
|
-
*/
|
|
68
|
-
private repairWebvhUpdateKeyMapping;
|
|
69
62
|
private createAndAddDidCommKeysAndServices;
|
|
70
|
-
private
|
|
71
|
-
/**
|
|
72
|
-
* Basic implicit webvh services, for the moment pointing to the service VP
|
|
73
|
-
* and public base URL
|
|
74
|
-
*/
|
|
75
|
-
private createAndAddWebVhImplicitServices;
|
|
76
|
-
private createAndAddAnonCredsServices;
|
|
63
|
+
private addLinkedVpContext;
|
|
77
64
|
private applyAdminApiService;
|
|
78
65
|
}
|
|
79
66
|
export interface VsAgentOptions {
|
|
80
67
|
config: InitConfig;
|
|
81
68
|
did?: string;
|
|
82
|
-
autoDiscloseUserProfile?: boolean;
|
|
83
69
|
dependencies: AgentDependencies;
|
|
84
70
|
publicApiBaseUrl: string;
|
|
85
71
|
adminApiServiceEndpoint?: string;
|
|
86
|
-
masterListCscaLocation?: string;
|
|
87
72
|
endpoints: string[];
|
|
88
73
|
walletConfig: AskarModuleConfigStoreOptions;
|
|
89
|
-
displayPictureUrl?: string;
|
|
90
|
-
label: string;
|
|
91
74
|
}
|
|
92
75
|
export {};
|
package/build/agent/VsAgent.js
CHANGED
|
@@ -3,9 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.VsAgent = void 0;
|
|
4
4
|
const core_1 = require("@credo-ts/core");
|
|
5
5
|
const didwebvh_ts_1 = require("didwebvh-ts");
|
|
6
|
+
const AnonCredsTrustService_1 = require("../blockchain/AnonCredsTrustService");
|
|
6
7
|
const adminApiService_1 = require("../did/adminApiService");
|
|
7
|
-
const
|
|
8
|
-
const
|
|
8
|
+
const artifactServices_1 = require("../did/artifactServices");
|
|
9
|
+
const legacyDidWeb_1 = require("../did/legacyDidWeb");
|
|
9
10
|
const BaseMessageEvents_1 = require("../events/BaseMessageEvents");
|
|
10
11
|
const ConnectionEvents_1 = require("../events/ConnectionEvents");
|
|
11
12
|
const VtFlowEvents_1 = require("../events/VtFlowEvents");
|
|
@@ -14,14 +15,15 @@ class VsAgent extends core_1.Agent {
|
|
|
14
15
|
constructor(options) {
|
|
15
16
|
super(options);
|
|
16
17
|
this.did = options.did;
|
|
17
|
-
this.autoDiscloseUserProfile = options.autoDiscloseUserProfile;
|
|
18
18
|
this.publicApiBaseUrl = options.publicApiBaseUrl;
|
|
19
19
|
this.adminApiServiceEndpoint = options.adminApiServiceEndpoint;
|
|
20
|
-
this.displayPictureUrl = options.displayPictureUrl;
|
|
21
|
-
this.label = options.label;
|
|
22
20
|
this.veranaChain = options.veranaChain;
|
|
21
|
+
this.indexer = options.indexer;
|
|
22
|
+
this.trustedEcosystemDids = options.trustedEcosystemDids;
|
|
23
|
+
this.ecsClaims = options.ecsClaims;
|
|
23
24
|
this.authorizationService = options.authorizationService;
|
|
24
25
|
this.discoveryOptions = options.discoveryOptions;
|
|
26
|
+
this.anonCredsTrust = new AnonCredsTrustService_1.AnonCredsTrustService(this);
|
|
25
27
|
}
|
|
26
28
|
get hasUserProfile() {
|
|
27
29
|
return 'userProfile' in this.modules;
|
|
@@ -33,74 +35,78 @@ class VsAgent extends core_1.Agent {
|
|
|
33
35
|
await (0, ConnectionEvents_1.connectionEvents)(this, { discoveryOptions: this.discoveryOptions, logger });
|
|
34
36
|
await (0, BaseMessageEvents_1.baseMessageEvents)(this, logger);
|
|
35
37
|
await (0, VtFlowEvents_1.vtFlowEvents)(this, logger);
|
|
36
|
-
if (this.hasUserProfile) {
|
|
37
|
-
// Make sure default User Profile corresponds to settings in environment variables
|
|
38
|
-
const imageUrl = this.displayPictureUrl;
|
|
39
|
-
const displayPicture = imageUrl ? { links: [imageUrl], mimeType: 'image/png' } : undefined;
|
|
40
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
41
|
-
await this.modules.userProfile.updateUserProfileData({
|
|
42
|
-
displayName: this.label,
|
|
43
|
-
displayPicture,
|
|
44
|
-
}); // TODO: Move this logic to the ChatPlugin
|
|
45
|
-
}
|
|
46
38
|
const parsedDid = this.did ? (0, core_1.parseDid)(this.did) : null;
|
|
47
39
|
if (parsedDid) {
|
|
48
|
-
//
|
|
49
|
-
//
|
|
40
|
+
// The DID is derived from the public API base URL and is always SCID-less: its id is the
|
|
41
|
+
// location (domain[%3Aport][:path...]). Create it if the wallet holds no record yet.
|
|
50
42
|
// TODO: Make DIDComm version, keys, etc. configurable. Keys can also be imported
|
|
51
|
-
const
|
|
43
|
+
const location = parsedDid.id;
|
|
44
|
+
const [domain, ...pathSegments] = location.split(':');
|
|
45
|
+
const path = pathSegments.length ? pathSegments.join('/') : undefined;
|
|
52
46
|
const existingRecord = await this.findCreatedDid(parsedDid);
|
|
47
|
+
if (!existingRecord) {
|
|
48
|
+
const otherMethod = parsedDid.method === 'webvh' ? 'web' : 'webvh';
|
|
49
|
+
const foreignRecord = await this.findCreatedDid(Object.assign(Object.assign({}, parsedDid), { method: otherMethod }));
|
|
50
|
+
if (foreignRecord) {
|
|
51
|
+
throw new core_1.CredoError(`Persisted public DID '${foreignRecord.did}' was created with method '${otherMethod}', but AGENT_PUBLIC_DID_METHOD is now '${parsedDid.method}'. Refusing to start: creating a second DID would discard the credentials, Participant entries and permissions bound to the persisted one.`);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
if (existingRecord) {
|
|
55
|
+
const persistedLocation = parsedDid.method === 'webvh'
|
|
56
|
+
? existingRecord.getTag('domain')
|
|
57
|
+
: (0, core_1.parseDid)(existingRecord.did).id;
|
|
58
|
+
if (persistedLocation !== location) {
|
|
59
|
+
throw new core_1.CredoError(`Persisted public DID '${existingRecord.did}' was created for location '${persistedLocation}', but PUBLIC_API_BASE_URL now derives location '${location}'. Refusing to start: restore the previous URL or deliberately reset the wallet.`);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
53
62
|
// DID has not been created yet. Let's do it
|
|
54
63
|
if (!existingRecord) {
|
|
55
64
|
if (parsedDid.method === 'web') {
|
|
56
65
|
const didDocument = new core_1.DidDocument({ id: parsedDid.did });
|
|
57
66
|
const didCommKey = await this.createAndAddDidCommKeysAndServices(didDocument);
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
// Add AnonCreds Services
|
|
61
|
-
await this.createAndAddAnonCredsServices(didDocument);
|
|
67
|
+
this.addLinkedVpContext(didDocument);
|
|
68
|
+
(0, artifactServices_1.applyArtifactServices)(didDocument, { method: 'web', publicApiBaseUrl: this.publicApiBaseUrl });
|
|
62
69
|
this.applyAdminApiService(didDocument);
|
|
63
|
-
await this.dids.create({
|
|
70
|
+
const createResult = await this.dids.create({
|
|
64
71
|
method: 'web',
|
|
65
|
-
domain,
|
|
72
|
+
domain: location,
|
|
66
73
|
didDocument,
|
|
67
74
|
keys: [didCommKey],
|
|
68
75
|
});
|
|
76
|
+
if (createResult.didState.state !== 'finished') {
|
|
77
|
+
throw new core_1.CredoError(`Failed to create did:web record: ${(_a = createResult.didState.reason) !== null && _a !== void 0 ? _a : 'unknown reason'}`);
|
|
78
|
+
}
|
|
69
79
|
this.did = parsedDid.did;
|
|
70
80
|
}
|
|
71
81
|
else if (parsedDid.method === 'webvh') {
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
// can use newer keys for DIDComm bootstrapping, but we should at least warn
|
|
75
|
-
// about that
|
|
76
|
-
const didRepository = this.dependencyManager.resolve(core_1.DidRepository);
|
|
77
|
-
const existingDidWebRecord = await didRepository.findCreatedDid(this.context, `did:web:${domain}`);
|
|
78
|
-
if (existingDidWebRecord) {
|
|
79
|
-
this.logger.warn('Existing record for legacy did:web found. Removing it');
|
|
80
|
-
await didRepository.delete(this.context, existingDidWebRecord);
|
|
81
|
-
}
|
|
82
|
-
const { didState: { did: publicDid, didDocument }, } = await this.dids.create({ method: 'webvh', domain });
|
|
82
|
+
const createResult = await this.dids.create({ method: 'webvh', domain, path });
|
|
83
|
+
const { did: publicDid, didDocument } = createResult.didState;
|
|
83
84
|
if (!publicDid || !didDocument) {
|
|
84
|
-
|
|
85
|
-
process.exit(1);
|
|
85
|
+
throw new core_1.CredoError(`Failed to create did:webvh record: ${(_b = createResult.didState.reason) !== null && _b !== void 0 ? _b : 'unknown reason'}`);
|
|
86
86
|
}
|
|
87
87
|
// Add DIDComm services and keys
|
|
88
88
|
const didCommKey = await this.createAndAddDidCommKeysAndServices(didDocument);
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
89
|
+
this.addLinkedVpContext(didDocument);
|
|
90
|
+
(0, artifactServices_1.applyArtifactServices)(didDocument, { method: 'webvh', publicApiBaseUrl: this.publicApiBaseUrl });
|
|
91
|
+
const legacyDidWeb = (0, legacyDidWeb_1.getLegacyDidWeb)(publicDid);
|
|
92
|
+
if (legacyDidWeb)
|
|
93
|
+
didDocument.alsoKnownAs = [legacyDidWeb];
|
|
94
94
|
// The webvh registrar doesn't merge new keys into the DidRecord on update,
|
|
95
95
|
// so persist the DIDComm key mapping directly on the existing record.
|
|
96
|
-
|
|
96
|
+
const didRepository = this.agentContext.resolve(core_1.DidRepository);
|
|
97
|
+
const [record] = await didRepository.findByQuery(this.agentContext, { did: publicDid });
|
|
98
|
+
if (record) {
|
|
99
|
+
record.keys = [...((_c = record.keys) !== null && _c !== void 0 ? _c : []), didCommKey];
|
|
100
|
+
if (legacyDidWeb)
|
|
101
|
+
record.setTag('alternativeDids', [legacyDidWeb]);
|
|
102
|
+
await didRepository.update(this.agentContext, record);
|
|
103
|
+
}
|
|
97
104
|
this.applyAdminApiService(didDocument);
|
|
98
105
|
const result = await this.dids.update({ did: publicDid, didDocument });
|
|
99
106
|
if (result.didState.state !== 'finished') {
|
|
100
|
-
|
|
101
|
-
process.exit(1);
|
|
107
|
+
throw new core_1.CredoError(`Cannot update DID ${publicDid}: ${(_d = result.didState.reason) !== null && _d !== void 0 ? _d : 'unknown reason'}`);
|
|
102
108
|
}
|
|
103
|
-
(
|
|
109
|
+
(_e = this.logger) === null || _e === void 0 ? void 0 : _e.debug('Public did:webvh record created');
|
|
104
110
|
this.did = publicDid;
|
|
105
111
|
}
|
|
106
112
|
else {
|
|
@@ -108,51 +114,22 @@ class VsAgent extends core_1.Agent {
|
|
|
108
114
|
}
|
|
109
115
|
return;
|
|
110
116
|
}
|
|
111
|
-
//
|
|
112
|
-
//
|
|
113
|
-
// same-second versionTimes the old create+update-at-init flow produced. Both migrations
|
|
114
|
-
// rebuild the log in-place, preserving entry #1 (and therefore the SCID and public DID).
|
|
115
|
-
if (parsedDid.method === 'webvh') {
|
|
116
|
-
try {
|
|
117
|
-
await (0, migrateWebVhVersionTime_1.migrateWebVhVersionTimeIfBroken)(this.agentContext, existingRecord, this.logger);
|
|
118
|
-
await (0, migrateWebVhLog_1.migrateWebVhLogIfBroken)(this.agentContext, existingRecord, this.logger);
|
|
119
|
-
}
|
|
120
|
-
catch (error) {
|
|
121
|
-
this.logger.error(`Failed to migrate webvh DID log for ${existingRecord.did}: ${error instanceof Error ? error.message : String(error)}`);
|
|
122
|
-
throw error;
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
// Make sure did:webvh record has the did:web form as an alternative, in order to support
|
|
126
|
-
// implicit invitations
|
|
127
|
-
if (parsedDid.method === 'webvh' &&
|
|
128
|
-
!((_b = existingRecord === null || existingRecord === void 0 ? void 0 : existingRecord.getTag('alternativeDids')) === null || _b === void 0 ? void 0 : _b.includes(`did:web:${domain}`))) {
|
|
129
|
-
(_c = this.logger) === null || _c === void 0 ? void 0 : _c.debug('Adding did:web form as an alternative DID');
|
|
130
|
-
existingRecord.setTag('alternativeDids', [`did:web:${domain}`]);
|
|
131
|
-
const didRepository = this.dependencyManager.resolve(core_1.DidRepository);
|
|
132
|
-
await didRepository.update(this.agentContext, existingRecord);
|
|
133
|
-
}
|
|
134
|
-
// Fix a legacy webvh update-key mapping before the self-heal update below relies on it.
|
|
135
|
-
if (parsedDid.method === 'webvh')
|
|
136
|
-
await this.repairWebvhUpdateKeyMapping(existingRecord);
|
|
137
|
-
// DID Already exists: update it in case that agent parameters have been changed. At the moment, we can only update
|
|
138
|
-
// DIDComm endpoints, so we'll only replace the service (if different from previous)
|
|
117
|
+
// DID already exists: reconcile the stored document with the current agent parameters,
|
|
118
|
+
// updating it only if one of the checks below finds a difference
|
|
139
119
|
const didDocument = existingRecord.didDocument;
|
|
140
|
-
const hasLegacyMethods = ((_d = didDocument.verificationMethod) !== null && _d !== void 0 ? _d : []).some(vm => ['Ed25519VerificationKey2018', 'X25519KeyAgreementKey2019'].includes(vm.type));
|
|
141
120
|
const ed25519VerificationMethodId = this.findEd25519VerificationMethodId(didDocument);
|
|
142
121
|
const servicesChanged = !ed25519VerificationMethodId ||
|
|
143
122
|
JSON.stringify(didDocument.didCommServices) !==
|
|
144
123
|
JSON.stringify(this.getDidCommServices(didDocument.id, ed25519VerificationMethodId));
|
|
145
|
-
// One-shot migration for did:webvh records published before authentication-replace
|
|
146
|
-
// landed, which still carry the didwebvh-ts update key in authentication.
|
|
147
|
-
const authHasUpdateKey = parsedDid.method === 'webvh' &&
|
|
148
|
-
!!ed25519VerificationMethodId &&
|
|
149
|
-
((_e = didDocument.authentication) !== null && _e !== void 0 ? _e : []).some(a => {
|
|
150
|
-
const id = typeof a === 'string' ? a : a.id;
|
|
151
|
-
return id !== ed25519VerificationMethodId;
|
|
152
|
-
});
|
|
153
124
|
const currentAdminEntry = ((_f = didDocument.service) !== null && _f !== void 0 ? _f : []).find(s => s.type === 'VsAgentAdminAPI');
|
|
154
125
|
const adminEntryChanged = (currentAdminEntry === null || currentAdminEntry === void 0 ? void 0 : currentAdminEntry.serviceEndpoint) !== this.adminApiServiceEndpoint;
|
|
155
|
-
|
|
126
|
+
// A record from an earlier version may still carry the service of the other method.
|
|
127
|
+
const artifactMethod = parsedDid.method === 'webvh' ? 'webvh' : 'web';
|
|
128
|
+
const artifactServicesChanged = !(0, artifactServices_1.artifactServicesMatch)(didDocument, {
|
|
129
|
+
method: artifactMethod,
|
|
130
|
+
publicApiBaseUrl: this.publicApiBaseUrl,
|
|
131
|
+
});
|
|
132
|
+
if (servicesChanged || adminEntryChanged || artifactServicesChanged) {
|
|
156
133
|
if (servicesChanged && ed25519VerificationMethodId) {
|
|
157
134
|
didDocument.service = [
|
|
158
135
|
...(didDocument.service
|
|
@@ -161,21 +138,14 @@ class VsAgent extends core_1.Agent {
|
|
|
161
138
|
...this.getDidCommServices(didDocument.id, ed25519VerificationMethodId),
|
|
162
139
|
];
|
|
163
140
|
}
|
|
141
|
+
(0, artifactServices_1.applyArtifactServices)(didDocument, {
|
|
142
|
+
method: artifactMethod,
|
|
143
|
+
publicApiBaseUrl: this.publicApiBaseUrl,
|
|
144
|
+
});
|
|
164
145
|
this.applyAdminApiService(didDocument);
|
|
165
|
-
const newKeys = [];
|
|
166
|
-
if (hasLegacyMethods) {
|
|
167
|
-
newKeys.push(await this.createAndAddDidCommKeysAndServices(didDocument));
|
|
168
|
-
}
|
|
169
|
-
if (authHasUpdateKey)
|
|
170
|
-
didDocument.authentication = [ed25519VerificationMethodId];
|
|
171
|
-
if (newKeys.length && parsedDid.method === 'webvh') {
|
|
172
|
-
// webvh registrar doesn't accept keys in update options; persist directly
|
|
173
|
-
for (const key of newKeys)
|
|
174
|
-
await this.persistDidDocumentKey(didDocument.id, key);
|
|
175
|
-
}
|
|
176
146
|
// The webvh registrar returns state:"failed" WITHOUT throwing, so an unchecked update
|
|
177
147
|
// silently no-ops. Check the result and surface the reason instead of assuming success.
|
|
178
|
-
const updateResult = await this.dids.update(
|
|
148
|
+
const updateResult = await this.dids.update({ did: didDocument.id, didDocument });
|
|
179
149
|
if (updateResult.didState.state !== 'finished') {
|
|
180
150
|
(_g = this.logger) === null || _g === void 0 ? void 0 : _g.error('Public did record update failed to persist', {
|
|
181
151
|
did: didDocument.id,
|
|
@@ -195,12 +165,12 @@ class VsAgent extends core_1.Agent {
|
|
|
195
165
|
}
|
|
196
166
|
async findCreatedDid(parsedDid) {
|
|
197
167
|
const didRepository = this.dependencyManager.resolve(core_1.DidRepository);
|
|
198
|
-
//
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
168
|
+
// Method-scoped on purpose: a location change must surface as a mismatch error in
|
|
169
|
+
// initialize, never as a lookup miss that silently mints a second DID
|
|
170
|
+
return await didRepository.findSingleByQuery(this.context, {
|
|
171
|
+
method: parsedDid.method,
|
|
172
|
+
role: core_1.DidDocumentRole.Created,
|
|
173
|
+
});
|
|
204
174
|
}
|
|
205
175
|
// Prefer Ed25519VerificationKey2020 over Multikey: webvh's update Multikey is not ours to use.
|
|
206
176
|
findEd25519VerificationMethodId(didDocument) {
|
|
@@ -243,55 +213,6 @@ class VsAgent extends core_1.Agent {
|
|
|
243
213
|
});
|
|
244
214
|
return services;
|
|
245
215
|
}
|
|
246
|
-
async persistDidDocumentKey(did, key) {
|
|
247
|
-
var _a;
|
|
248
|
-
const didRepository = this.agentContext.resolve(core_1.DidRepository);
|
|
249
|
-
const [record] = await didRepository.findByQuery(this.agentContext, { did });
|
|
250
|
-
if (!record)
|
|
251
|
-
return;
|
|
252
|
-
const existing = (_a = record.keys) !== null && _a !== void 0 ? _a : [];
|
|
253
|
-
if (existing.some(k => k.didDocumentRelativeKeyId === key.didDocumentRelativeKeyId))
|
|
254
|
-
return;
|
|
255
|
-
record.keys = [...existing, key];
|
|
256
|
-
await didRepository.update(this.agentContext, record);
|
|
257
|
-
}
|
|
258
|
-
/**
|
|
259
|
-
* Fix a webvh update-key mapping whose `didDocumentRelativeKeyId` was stored as the full multibase
|
|
260
|
-
* (e.g. `#z6Mk...`) while the DID document verification method uses a short fragment (e.g. `#BVhGnL79`).
|
|
261
|
-
* `getKmsKeyIdForVerifiacationMethod` matches by suffix (`vm.id.endsWith(relativeKeyId)`), so the
|
|
262
|
-
* mismatch leaves the update key unresolvable and every webvh update fails with
|
|
263
|
-
* "The key ID must be present before the log can be edited." The private key is present in the KMS;
|
|
264
|
-
* only the mapping label is wrong. Idempotent: a mapping that already correlates to a VM is left alone.
|
|
265
|
-
*/
|
|
266
|
-
async repairWebvhUpdateKeyMapping(record) {
|
|
267
|
-
var _a, _b, _c;
|
|
268
|
-
if (!record.didDocument || !((_a = record.keys) === null || _a === void 0 ? void 0 : _a.length))
|
|
269
|
-
return;
|
|
270
|
-
const vms = (_b = record.didDocument.verificationMethod) !== null && _b !== void 0 ? _b : [];
|
|
271
|
-
let repaired = false;
|
|
272
|
-
for (const key of record.keys) {
|
|
273
|
-
const rel = key.didDocumentRelativeKeyId;
|
|
274
|
-
if (vms.some(vm => vm.id.endsWith(rel)))
|
|
275
|
-
continue; // already correlates
|
|
276
|
-
const vm = vms.find(v => `#${v.publicKeyMultibase}` === rel); // was stored as #<multibase>
|
|
277
|
-
if (!vm)
|
|
278
|
-
continue;
|
|
279
|
-
const correct = `#${vm.id.split('#')[1]}`;
|
|
280
|
-
if (correct !== rel) {
|
|
281
|
-
(_c = this.logger) === null || _c === void 0 ? void 0 : _c.warn('Fixing webvh update-key mapping', {
|
|
282
|
-
from: rel,
|
|
283
|
-
to: correct,
|
|
284
|
-
kmsKeyId: key.kmsKeyId,
|
|
285
|
-
});
|
|
286
|
-
key.didDocumentRelativeKeyId = correct;
|
|
287
|
-
repaired = true;
|
|
288
|
-
}
|
|
289
|
-
}
|
|
290
|
-
if (repaired) {
|
|
291
|
-
const didRepository = this.dependencyManager.resolve(core_1.DidRepository);
|
|
292
|
-
await didRepository.update(this.agentContext, record);
|
|
293
|
-
}
|
|
294
|
-
}
|
|
295
216
|
async createAndAddDidCommKeysAndServices(didDocument) {
|
|
296
217
|
var _a, _b, _c, _d, _e;
|
|
297
218
|
const publicDid = didDocument.id;
|
|
@@ -361,64 +282,13 @@ class VsAgent extends core_1.Agent {
|
|
|
361
282
|
];
|
|
362
283
|
return didDocumentKey;
|
|
363
284
|
}
|
|
364
|
-
|
|
365
|
-
var _a
|
|
366
|
-
const publicDid = didDocument.id;
|
|
367
|
-
didDocument.service = [
|
|
368
|
-
...((_a = didDocument.service) !== null && _a !== void 0 ? _a : []),
|
|
369
|
-
...[
|
|
370
|
-
new core_1.DidDocumentService({
|
|
371
|
-
id: `${publicDid}#vpr-schemas-service-vtc-vp`,
|
|
372
|
-
serviceEndpoint: `${this.publicApiBaseUrl}/vt/ecs-service-vtc-vp.json`,
|
|
373
|
-
type: 'LinkedVerifiablePresentation',
|
|
374
|
-
}),
|
|
375
|
-
new core_1.DidDocumentService({
|
|
376
|
-
id: `${publicDid}#vpr-schemas-org-vtc-vp`,
|
|
377
|
-
serviceEndpoint: `${this.publicApiBaseUrl}/vt/ecs-org-vtc-vp.json`,
|
|
378
|
-
type: 'LinkedVerifiablePresentation',
|
|
379
|
-
}),
|
|
380
|
-
],
|
|
381
|
-
];
|
|
285
|
+
addLinkedVpContext(didDocument) {
|
|
286
|
+
var _a;
|
|
382
287
|
didDocument.context = [
|
|
383
|
-
...((
|
|
288
|
+
...((_a = didDocument.context) !== null && _a !== void 0 ? _a : []),
|
|
384
289
|
'https://identity.foundation/linked-vp/contexts/v1',
|
|
385
290
|
];
|
|
386
291
|
}
|
|
387
|
-
/**
|
|
388
|
-
* Basic implicit webvh services, for the moment pointing to the service VP
|
|
389
|
-
* and public base URL
|
|
390
|
-
*/
|
|
391
|
-
async createAndAddWebVhImplicitServices(didDocument) {
|
|
392
|
-
var _a;
|
|
393
|
-
const publicDid = didDocument.id;
|
|
394
|
-
didDocument.service = [
|
|
395
|
-
...((_a = didDocument.service) !== null && _a !== void 0 ? _a : []),
|
|
396
|
-
...[
|
|
397
|
-
new core_1.DidDocumentService({
|
|
398
|
-
id: `${publicDid}#whois`,
|
|
399
|
-
serviceEndpoint: `${this.publicApiBaseUrl}/vt/ecs-service-vtc-vp.json`,
|
|
400
|
-
type: 'LinkedVerifiablePresentation',
|
|
401
|
-
}),
|
|
402
|
-
new core_1.DidDocumentService({
|
|
403
|
-
id: `${publicDid}#files`,
|
|
404
|
-
serviceEndpoint: `${this.publicApiBaseUrl}`,
|
|
405
|
-
type: 'relativeRef',
|
|
406
|
-
}),
|
|
407
|
-
],
|
|
408
|
-
];
|
|
409
|
-
}
|
|
410
|
-
async createAndAddAnonCredsServices(didDocument) {
|
|
411
|
-
var _a;
|
|
412
|
-
const publicDid = didDocument.id;
|
|
413
|
-
didDocument.service = [
|
|
414
|
-
...((_a = didDocument.service) !== null && _a !== void 0 ? _a : []),
|
|
415
|
-
new core_1.DidDocumentService({
|
|
416
|
-
id: `${publicDid}#anoncreds`,
|
|
417
|
-
serviceEndpoint: `${this.publicApiBaseUrl}/anoncreds/v1`,
|
|
418
|
-
type: 'AnonCredsRegistry',
|
|
419
|
-
}),
|
|
420
|
-
];
|
|
421
|
-
}
|
|
422
292
|
applyAdminApiService(didDocument) {
|
|
423
293
|
(0, adminApiService_1.applyAdminApiServiceEntry)(didDocument, this.adminApiServiceEndpoint);
|
|
424
294
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VsAgent.js","sourceRoot":"","sources":["../../src/agent/VsAgent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"VsAgent.js","sourceRoot":"","sources":["../../src/agent/VsAgent.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,8 +3,10 @@ import { AskarModuleConfigStoreOptions } from '@credo-ts/askar';
|
|
|
3
3
|
import { AgentDependencies, InitConfig, LogLevel } from '@credo-ts/core';
|
|
4
4
|
import { AuthorizationService } from '../blockchain/AuthorizationService';
|
|
5
5
|
import { VeranaChainService } from '../blockchain/VeranaChainService';
|
|
6
|
+
import { VeranaIndexerService } from '../blockchain/VeranaIndexerService';
|
|
6
7
|
import { Plugin } from '../types';
|
|
7
8
|
import { BaseAgentModules, VsAgent } from './VsAgent';
|
|
9
|
+
import { EcsClaims } from '../utils/ecsClaims';
|
|
8
10
|
type MergePluginModules<T extends Plugin[]> = T extends [infer First, ...infer Rest] ? First extends {
|
|
9
11
|
modules: infer M;
|
|
10
12
|
} ? Rest extends Plugin[] ? M & MergePluginModules<Rest> : M : never : object;
|
|
@@ -15,16 +17,15 @@ export interface CreateVsAgentOptions<T extends Plugin[]> {
|
|
|
15
17
|
walletConfig?: AskarModuleConfigStoreOptions;
|
|
16
18
|
endpoints?: string[];
|
|
17
19
|
did?: string;
|
|
18
|
-
label: string;
|
|
19
20
|
publicApiBaseUrl: string;
|
|
20
21
|
adminApiServiceEndpoint?: string;
|
|
21
|
-
displayPictureUrl?: string;
|
|
22
|
-
autoDiscloseUserProfile?: boolean;
|
|
23
|
-
masterListCscaLocation?: string;
|
|
24
22
|
autoUpdateStorageOnStartup?: boolean;
|
|
25
23
|
dependencies: AgentDependencies;
|
|
26
24
|
logLevel?: LogLevel;
|
|
27
25
|
veranaChain?: VeranaChainService;
|
|
26
|
+
indexer: VeranaIndexerService;
|
|
27
|
+
trustedEcosystemDids?: string[];
|
|
28
|
+
ecsClaims?: EcsClaims;
|
|
28
29
|
authorizationService?: AuthorizationService;
|
|
29
30
|
discoveryOptions?: DidCommFeatureQueryOptions[];
|
|
30
31
|
}
|
|
@@ -35,7 +36,6 @@ export interface CreateVsAgentOptions<T extends Plugin[]> {
|
|
|
35
36
|
* // Base DIDComm agent
|
|
36
37
|
* const agent = createVsAgent({
|
|
37
38
|
* plugins: [setupBaseDidComm({ walletConfig, publicApiBaseUrl, endpoints })],
|
|
38
|
-
* label: 'My Agent',
|
|
39
39
|
* publicApiBaseUrl,
|
|
40
40
|
* dependencies: agentDependencies,
|
|
41
41
|
* })
|
|
@@ -48,7 +48,6 @@ export interface CreateVsAgentOptions<T extends Plugin[]> {
|
|
|
48
48
|
* setupChatProtocols(), // from @verana-labs/vs-agent-plugin-chat
|
|
49
49
|
* setupMrtdProtocol(), // from @verana-labs/vs-agent-plugin-mrtd
|
|
50
50
|
* ],
|
|
51
|
-
* label: 'My Agent',
|
|
52
51
|
* publicApiBaseUrl,
|
|
53
52
|
* dependencies: agentDependencies,
|
|
54
53
|
* })
|
|
@@ -9,7 +9,6 @@ const VsAgent_1 = require("./VsAgent");
|
|
|
9
9
|
* // Base DIDComm agent
|
|
10
10
|
* const agent = createVsAgent({
|
|
11
11
|
* plugins: [setupBaseDidComm({ walletConfig, publicApiBaseUrl, endpoints })],
|
|
12
|
-
* label: 'My Agent',
|
|
13
12
|
* publicApiBaseUrl,
|
|
14
13
|
* dependencies: agentDependencies,
|
|
15
14
|
* })
|
|
@@ -22,7 +21,6 @@ const VsAgent_1 = require("./VsAgent");
|
|
|
22
21
|
* setupChatProtocols(), // from @verana-labs/vs-agent-plugin-chat
|
|
23
22
|
* setupMrtdProtocol(), // from @verana-labs/vs-agent-plugin-mrtd
|
|
24
23
|
* ],
|
|
25
|
-
* label: 'My Agent',
|
|
26
24
|
* publicApiBaseUrl,
|
|
27
25
|
* dependencies: agentDependencies,
|
|
28
26
|
* })
|
|
@@ -34,12 +32,12 @@ function createVsAgent(options) {
|
|
|
34
32
|
modules: mergedModules,
|
|
35
33
|
dependencies: options.dependencies,
|
|
36
34
|
did: options.did,
|
|
37
|
-
autoDiscloseUserProfile: options.autoDiscloseUserProfile,
|
|
38
35
|
publicApiBaseUrl: options.publicApiBaseUrl,
|
|
39
36
|
adminApiServiceEndpoint: options.adminApiServiceEndpoint,
|
|
40
|
-
displayPictureUrl: options.displayPictureUrl,
|
|
41
|
-
label: options.label,
|
|
42
37
|
veranaChain: options.veranaChain,
|
|
38
|
+
indexer: options.indexer,
|
|
39
|
+
trustedEcosystemDids: options.trustedEcosystemDids,
|
|
40
|
+
ecsClaims: options.ecsClaims,
|
|
43
41
|
authorizationService: options.authorizationService,
|
|
44
42
|
discoveryOptions: options.discoveryOptions,
|
|
45
43
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createVsAgent.js","sourceRoot":"","sources":["../../src/agent/createVsAgent.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"createVsAgent.js","sourceRoot":"","sources":["../../src/agent/createVsAgent.ts"],"names":[],"mappings":";;AAiEA,sCAyBC;AAhFD,uCAAqD;AAgCrD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,SAAgB,aAAa,CAC3B,OAAgC;IAEhC,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAC1C,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,iCAAM,GAAG,GAAK,MAAM,CAAC,OAAO,EAAG,EAChD,EAA6B,CACV,CAAA;IAErB,OAAO,IAAI,iBAAO,CAAmB;QACnC,MAAM,kCACD,OAAO,CAAC,MAAM,KACjB,0BAA0B,EAAE,OAAO,CAAC,0BAA0B,GAC/D;QACD,OAAO,EAAE,aAAa;QACtB,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;QAC1C,uBAAuB,EAAE,OAAO,CAAC,uBAAuB;QACxD,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;QAClD,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;QAClD,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;KAC3C,CAAC,CAAA;AACJ,CAAC"}
|