@verana-labs/vs-agent-sdk 1.10.1 → 1.11.0-dev.10

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.
@@ -2,6 +2,7 @@ import { AnonCredsDidCommCredentialFormatService, AnonCredsModule, AnonCredsDidC
2
2
  import { AskarModule, AskarModuleConfigStoreOptions } from '@credo-ts/askar';
3
3
  import { Agent, AgentDependencies, DidsModule, InitConfig, W3cCredentialsModule } from '@credo-ts/core';
4
4
  import { DidCommCredentialsModuleConfigOptions, DidCommCredentialV2Protocol, DidCommModule, DidCommModuleConfigOptions, DidCommProofsModuleConfigOptions, DidCommProofV2Protocol } from '@credo-ts/didcomm';
5
+ import { VeranaChainService } from '../blockchain';
5
6
  type VsAgentDidCommModule = DidCommModule<DidCommModuleConfigOptions & {
6
7
  credentials: DidCommCredentialsModuleConfigOptions<[
7
8
  DidCommCredentialV2Protocol<[
@@ -31,17 +32,20 @@ export declare class VsAgent<TModules extends BaseAgentModules = BaseAgentModule
31
32
  publicApiBaseUrl: string;
32
33
  displayPictureUrl?: string;
33
34
  label: string;
35
+ veranaChain?: VeranaChainService;
34
36
  constructor(options: AgentOptions<TModules> & {
35
37
  did?: string;
36
38
  autoDiscloseUserProfile?: boolean;
37
39
  publicApiBaseUrl: string;
38
40
  displayPictureUrl?: string;
39
41
  label: string;
42
+ veranaChain?: VeranaChainService;
40
43
  });
41
44
  private get hasUserProfile();
42
45
  initialize(): Promise<void>;
43
46
  private findCreatedDid;
44
47
  private getDidCommServices;
48
+ private persistDidDocumentKey;
45
49
  private createAndAddDidCommKeysAndServices;
46
50
  private createAndAddLinkedVpServices;
47
51
  /**
@@ -11,6 +11,7 @@ class VsAgent extends core_1.Agent {
11
11
  this.publicApiBaseUrl = options.publicApiBaseUrl;
12
12
  this.displayPictureUrl = options.displayPictureUrl;
13
13
  this.label = options.label;
14
+ this.veranaChain = options.veranaChain;
14
15
  }
15
16
  get hasUserProfile() {
16
17
  return 'userProfile' in this.modules;
@@ -26,7 +27,7 @@ class VsAgent extends core_1.Agent {
26
27
  await this.modules.userProfile.updateUserProfileData({
27
28
  displayName: this.label,
28
29
  displayPicture,
29
- });
30
+ }); // TODO: Move this logic to the ChatPlugin
30
31
  }
31
32
  const parsedDid = this.did ? (0, core_1.parseDid)(this.did) : null;
32
33
  if (parsedDid) {
@@ -39,7 +40,7 @@ class VsAgent extends core_1.Agent {
39
40
  if (!existingRecord) {
40
41
  if (parsedDid.method === 'web') {
41
42
  const didDocument = new core_1.DidDocument({ id: parsedDid.did });
42
- await this.createAndAddDidCommKeysAndServices(didDocument);
43
+ const didCommKey = await this.createAndAddDidCommKeysAndServices(didDocument);
43
44
  // Add Self TR
44
45
  await this.createAndAddLinkedVpServices(didDocument);
45
46
  // Add AnonCreds Services
@@ -48,6 +49,7 @@ class VsAgent extends core_1.Agent {
48
49
  method: 'web',
49
50
  domain,
50
51
  didDocument,
52
+ keys: [didCommKey],
51
53
  });
52
54
  this.did = parsedDid.did;
53
55
  }
@@ -68,12 +70,15 @@ class VsAgent extends core_1.Agent {
68
70
  process.exit(1);
69
71
  }
70
72
  // Add DIDComm services and keys
71
- await this.createAndAddDidCommKeysAndServices(didDocument);
73
+ const didCommKey = await this.createAndAddDidCommKeysAndServices(didDocument);
72
74
  // Add Linked VP services
73
75
  await this.createAndAddLinkedVpServices(didDocument);
74
76
  // Add implicit services
75
77
  await this.createAndAddWebVhImplicitServices(didDocument);
76
78
  didDocument.alsoKnownAs = [`did:web:${domain}`];
79
+ // The webvh registrar doesn't merge new keys into the DidRecord on update,
80
+ // so persist the DIDComm key mapping directly on the existing record.
81
+ await this.persistDidDocumentKey(publicDid, didCommKey);
77
82
  const result = await this.dids.update({ did: publicDid, didDocument });
78
83
  if (result.didState.state !== 'finished') {
79
84
  this.logger.error(`Cannot update DID ${publicDid}`);
@@ -111,9 +116,16 @@ class VsAgent extends core_1.Agent {
111
116
  ...this.getDidCommServices(didDocument.id),
112
117
  ];
113
118
  }
114
- if (hasLegacyMethods)
115
- await this.createAndAddDidCommKeysAndServices(didDocument);
116
- await this.dids.update({ did: didDocument.id, didDocument });
119
+ const newKeys = [];
120
+ if (hasLegacyMethods) {
121
+ newKeys.push(await this.createAndAddDidCommKeysAndServices(didDocument));
122
+ }
123
+ if (newKeys.length && parsedDid.method === 'webvh') {
124
+ // webvh registrar doesn't accept keys in update options; persist directly
125
+ for (const key of newKeys)
126
+ await this.persistDidDocumentKey(didDocument.id, key);
127
+ }
128
+ await this.dids.update(Object.assign({ did: didDocument.id, didDocument }, (newKeys.length && parsedDid.method === 'web' ? { keys: newKeys } : {})));
117
129
  (_e = this.logger) === null || _e === void 0 ? void 0 : _e.debug('Public did record updated');
118
130
  }
119
131
  else {
@@ -144,8 +156,20 @@ class VsAgent extends core_1.Agent {
144
156
  });
145
157
  });
146
158
  }
159
+ async persistDidDocumentKey(did, key) {
160
+ var _a;
161
+ const didRepository = this.agentContext.resolve(core_1.DidRepository);
162
+ const [record] = await didRepository.findByQuery(this.agentContext, { did });
163
+ if (!record)
164
+ return;
165
+ const existing = (_a = record.keys) !== null && _a !== void 0 ? _a : [];
166
+ if (existing.some(k => k.didDocumentRelativeKeyId === key.didDocumentRelativeKeyId))
167
+ return;
168
+ record.keys = [...existing, key];
169
+ await didRepository.update(this.agentContext, record);
170
+ }
147
171
  async createAndAddDidCommKeysAndServices(didDocument) {
148
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
172
+ var _a, _b, _c, _d, _e, _f, _g, _h;
149
173
  const publicDid = didDocument.id;
150
174
  const context = [
151
175
  'https://w3id.org/security/multikey/v1',
@@ -154,28 +178,25 @@ class VsAgent extends core_1.Agent {
154
178
  ];
155
179
  const keyAgreementId = `${publicDid}#key-agreement-1`;
156
180
  const kms = this.agentContext.resolve(core_1.Kms.KeyManagementApi);
157
- const didRepository = this.agentContext.resolve(core_1.DidRepository);
158
181
  // Create didcomm keys
159
182
  const key = await kms.createKey({ type: { kty: 'OKP', crv: 'Ed25519' } });
160
183
  const publicKeyBytes = core_1.Kms.PublicJwk.fromPublicJwk(key.publicJwk).publicKey.publicKey;
161
184
  const publicKeyMultibase = (0, didwebvh_ts_1.multibaseEncode)(new Uint8Array([0xed, 0x01, ...publicKeyBytes]), didwebvh_ts_1.MultibaseEncoding.BASE58_BTC);
162
- const [record] = await didRepository.findByQuery(this.agentContext, { did: publicDid });
163
- (_a = record.keys) === null || _a === void 0 ? void 0 : _a.push({
185
+ const didDocumentKey = {
164
186
  kmsKeyId: key.keyId,
165
187
  didDocumentRelativeKeyId: `#${publicKeyMultibase}`,
166
- });
167
- await didRepository.update(this.agentContext, record);
188
+ };
168
189
  const verificationMethodId = `${publicDid}#${publicKeyMultibase}`;
169
190
  const publicKeyX25519 = (0, core_1.convertPublicKeyToX25519)(publicKeyBytes);
170
191
  const x25519Key = core_1.Kms.PublicJwk.fromPublicKey({ kty: 'OKP', crv: 'X25519', publicKey: publicKeyX25519 });
171
192
  // Remove legacy if exist
172
193
  const legacyContexts = ['https://w3id.org/security/suites/ed25519-2018/v1'];
173
- const legacyAuthId = (_c = ((_b = didDocument.verificationMethod) !== null && _b !== void 0 ? _b : []).find(vm => ['Ed25519VerificationKey2018'].includes(vm.type))) === null || _c === void 0 ? void 0 : _c.id;
194
+ const legacyAuthId = (_b = ((_a = didDocument.verificationMethod) !== null && _a !== void 0 ? _a : []).find(vm => ['Ed25519VerificationKey2018'].includes(vm.type))) === null || _b === void 0 ? void 0 : _b.id;
174
195
  if (legacyAuthId) {
175
- didDocument.authentication = ((_d = didDocument.authentication) !== null && _d !== void 0 ? _d : []).filter(id => id !== legacyAuthId);
176
- didDocument.assertionMethod = ((_e = didDocument.assertionMethod) !== null && _e !== void 0 ? _e : []).filter(id => id !== legacyAuthId);
196
+ didDocument.authentication = ((_c = didDocument.authentication) !== null && _c !== void 0 ? _c : []).filter(id => id !== legacyAuthId);
197
+ didDocument.assertionMethod = ((_d = didDocument.assertionMethod) !== null && _d !== void 0 ? _d : []).filter(id => id !== legacyAuthId);
177
198
  }
178
- const filteredMethods = ((_f = didDocument.verificationMethod) !== null && _f !== void 0 ? _f : []).filter(vm => !['Ed25519VerificationKey2018', 'X25519KeyAgreementKey2019'].includes(vm.type));
199
+ const filteredMethods = ((_e = didDocument.verificationMethod) !== null && _e !== void 0 ? _e : []).filter(vm => !['Ed25519VerificationKey2018', 'X25519KeyAgreementKey2019'].includes(vm.type));
179
200
  const verificationMethods = [
180
201
  {
181
202
  controller: publicDid,
@@ -203,15 +224,16 @@ class VsAgent extends core_1.Agent {
203
224
  ...new Set([...currentContexts.filter(ctx => !legacyContexts.includes(ctx)), ...context]),
204
225
  ];
205
226
  didDocument.verificationMethod = [...filteredMethods, ...verificationMethods];
206
- didDocument.authentication = [...new Set([...((_g = didDocument.authentication) !== null && _g !== void 0 ? _g : []), authentication])];
207
- didDocument.assertionMethod = [...new Set([...((_h = didDocument.assertionMethod) !== null && _h !== void 0 ? _h : []), assertionMethod])];
208
- didDocument.keyAgreement = [...new Set([...((_j = didDocument.keyAgreement) !== null && _j !== void 0 ? _j : []), keyAgreement])];
227
+ didDocument.authentication = [...new Set([...((_f = didDocument.authentication) !== null && _f !== void 0 ? _f : []), authentication])];
228
+ didDocument.assertionMethod = [...new Set([...((_g = didDocument.assertionMethod) !== null && _g !== void 0 ? _g : []), assertionMethod])];
229
+ didDocument.keyAgreement = [...new Set([...((_h = didDocument.keyAgreement) !== null && _h !== void 0 ? _h : []), keyAgreement])];
209
230
  didDocument.service = [
210
231
  ...(didDocument.service
211
232
  ? didDocument.service.filter(service => ![core_1.DidCommV1Service.type].includes(service.type))
212
233
  : []),
213
234
  ...didcommServices,
214
235
  ];
236
+ return didDocumentKey;
215
237
  }
216
238
  async createAndAddLinkedVpServices(didDocument) {
217
239
  var _a, _b;
@@ -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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"}
@@ -1,5 +1,6 @@
1
1
  import { AskarModuleConfigStoreOptions } from '@credo-ts/askar';
2
2
  import { AgentDependencies, InitConfig, LogLevel } from '@credo-ts/core';
3
+ import { VeranaChainService } from '../blockchain';
3
4
  import { Plugin } from '../types';
4
5
  import { BaseAgentModules, VsAgent } from './VsAgent';
5
6
  type MergePluginModules<T extends Plugin[]> = T extends [infer First, ...infer Rest] ? First extends {
@@ -20,6 +21,7 @@ export interface CreateVsAgentOptions<T extends Plugin[]> {
20
21
  autoUpdateStorageOnStartup?: boolean;
21
22
  dependencies: AgentDependencies;
22
23
  logLevel?: LogLevel;
24
+ veranaChain?: VeranaChainService;
23
25
  }
24
26
  /**
25
27
  * Creates a VsAgent from a set of composable plugins.
@@ -38,6 +38,7 @@ function createVsAgent(options) {
38
38
  publicApiBaseUrl: options.publicApiBaseUrl,
39
39
  displayPictureUrl: options.displayPictureUrl,
40
40
  label: options.label,
41
+ veranaChain: options.veranaChain,
41
42
  });
42
43
  }
43
44
  //# sourceMappingURL=createVsAgent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"createVsAgent.js","sourceRoot":"","sources":["../../src/agent/createVsAgent.ts"],"names":[],"mappings":";;AA0DA,sCAqBC;AA1ED,uCAAqD;AA4BrD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;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,uBAAuB,EAAE,OAAO,CAAC,uBAAuB;QACxD,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;QAC1C,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;QAC5C,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"createVsAgent.js","sourceRoot":"","sources":["../../src/agent/createVsAgent.ts"],"names":[],"mappings":";;AA4DA,sCAsBC;AA5ED,uCAAqD;AA6BrD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;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,uBAAuB,EAAE,OAAO,CAAC,uBAAuB;QACxD,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;QAC1C,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;QAC5C,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,WAAW,EAAE,OAAO,CAAC,WAAW;KACjC,CAAC,CAAA;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './VsAgent';
2
+ export * from './createVsAgent';
@@ -0,0 +1,19 @@
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
+ __exportStar(require("./VsAgent"), exports);
18
+ __exportStar(require("./createVsAgent"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/agent/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAAyB;AACzB,kDAA+B"}
@@ -0,0 +1,30 @@
1
+ import Long from 'long';
2
+ import { CreateOrUpdatePermissionSessionParams, SetPermissionVPToValidatedParams, StartPermissionVPParams, VeranaChainConfig } from './types';
3
+ export declare class VeranaChainService {
4
+ private readonly config;
5
+ private signingClient;
6
+ private operatorAddress;
7
+ private permQuery;
8
+ constructor(config: VeranaChainConfig);
9
+ get address(): string;
10
+ start(): Promise<void>;
11
+ getPermission(id: Long): Promise<unknown>;
12
+ findPermissionsWithDID(params: object): Promise<unknown[]>;
13
+ getPermissionSession(uuid: string): Promise<unknown>;
14
+ startPermissionVP(params: StartPermissionVPParams): Promise<{
15
+ txHash: string;
16
+ }>;
17
+ renewPermissionVP(id: Long): Promise<{
18
+ txHash: string;
19
+ }>;
20
+ setPermissionVPToValidated(params: SetPermissionVPToValidatedParams): Promise<{
21
+ txHash: string;
22
+ }>;
23
+ cancelPermissionVPLastRequest(id: Long): Promise<{
24
+ txHash: string;
25
+ }>;
26
+ createOrUpdatePermissionSession(params: CreateOrUpdatePermissionSessionParams): Promise<{
27
+ txHash: string;
28
+ }>;
29
+ private broadcastMsg;
30
+ }
@@ -0,0 +1,121 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VeranaChainService = void 0;
4
+ /* eslint-disable @typescript-eslint/no-var-requires */
5
+ const proto_signing_1 = require("@cosmjs/proto-signing");
6
+ const stargate_1 = require("@cosmjs/stargate");
7
+ const tendermint_rpc_1 = require("@cosmjs/tendermint-rpc");
8
+ const verana_types_1 = require("@verana-labs/verana-types");
9
+ const types_1 = require("./types");
10
+ const { QueryClientImpl: PermQueryClientImpl, } = require('@verana-labs/verana-types/codec/verana/perm/v1/query');
11
+ const { MsgStartPermissionVP, MsgRenewPermissionVP, MsgSetPermissionVPToValidated, MsgCancelPermissionVPLastRequest, MsgCreateOrUpdatePermissionSession, } = require('@verana-labs/verana-types/codec/verana/perm/v1/tx');
12
+ class VeranaChainService {
13
+ constructor(config) {
14
+ this.config = config;
15
+ }
16
+ get address() {
17
+ return this.operatorAddress;
18
+ }
19
+ async start() {
20
+ const { rpcUrl, mnemonic, chainId, logger, gasPrice } = this.config;
21
+ const wallet = await proto_signing_1.DirectSecp256k1HdWallet.fromMnemonic(mnemonic, {
22
+ prefix: types_1.VERANA_BECH32_PREFIX,
23
+ });
24
+ const [account] = await wallet.getAccounts();
25
+ this.operatorAddress = account.address;
26
+ logger.info(`[VeranaChain] vs_operator address: ${this.operatorAddress} (fund this address with VNA to enable on-chain operations)`);
27
+ const cometClient = await (0, tendermint_rpc_1.connectComet)(rpcUrl);
28
+ this.signingClient = await stargate_1.SigningStargateClient.createWithSigner(cometClient, wallet, {
29
+ registry: (0, verana_types_1.createVeranaRegistry)(),
30
+ aminoTypes: (0, verana_types_1.createVeranaAminoTypes)(),
31
+ gasPrice: stargate_1.GasPrice.fromString(gasPrice !== null && gasPrice !== void 0 ? gasPrice : '0uvna'), // TODO: consider minium gas price
32
+ });
33
+ const onChainId = await this.signingClient.getChainId();
34
+ if (chainId && onChainId !== chainId) {
35
+ throw new Error(`[VeranaChain] Chain ID mismatch: expected "${chainId}", got "${onChainId}"`);
36
+ }
37
+ logger.info(`[VeranaChain] Connected to chain: ${onChainId}`);
38
+ const queryClient = new stargate_1.QueryClient(cometClient);
39
+ const rpc = (0, stargate_1.createProtobufRpcClient)(queryClient);
40
+ this.permQuery = new PermQueryClientImpl(rpc);
41
+ }
42
+ // Query API (No signed)
43
+ async getPermission(id) {
44
+ return this.permQuery.GetPermission({ id });
45
+ }
46
+ async findPermissionsWithDID(params) {
47
+ var _a;
48
+ const result = await this.permQuery.FindPermissionsWithDID(params);
49
+ return (_a = result.permissions) !== null && _a !== void 0 ? _a : [];
50
+ }
51
+ async getPermissionSession(uuid) {
52
+ return this.permQuery.GetPermissionSession({ id: uuid });
53
+ }
54
+ // Transaction API (Signed)
55
+ async startPermissionVP(params) {
56
+ const value = MsgStartPermissionVP.fromPartial({
57
+ creator: this.operatorAddress,
58
+ type: params.type,
59
+ validatorPermId: params.validatorPermId,
60
+ country: params.country,
61
+ did: params.did,
62
+ validationFees: params.validationFees,
63
+ });
64
+ const result = await this.broadcastMsg(verana_types_1.veranaTypeUrls.MsgStartPermissionVP, value);
65
+ return { txHash: result.transactionHash };
66
+ }
67
+ async renewPermissionVP(id) {
68
+ const value = MsgRenewPermissionVP.fromPartial({
69
+ creator: this.operatorAddress,
70
+ id,
71
+ });
72
+ const result = await this.broadcastMsg(verana_types_1.veranaTypeUrls.MsgRenewPermissionVP, value);
73
+ return { txHash: result.transactionHash };
74
+ }
75
+ async setPermissionVPToValidated(params) {
76
+ const value = MsgSetPermissionVPToValidated.fromPartial({
77
+ creator: this.operatorAddress,
78
+ id: params.id,
79
+ effectiveUntil: params.effectiveUntil,
80
+ validationFees: params.validationFees,
81
+ issuanceFees: params.issuanceFees,
82
+ verificationFees: params.verificationFees,
83
+ country: params.country,
84
+ vpSummaryDigestSri: params.vpSummaryDigestSri,
85
+ issuanceFeeDiscount: params.issuanceFeeDiscount,
86
+ verificationFeeDiscount: params.verificationFeeDiscount,
87
+ });
88
+ const result = await this.broadcastMsg(verana_types_1.veranaTypeUrls.MsgSetPermissionVPToValidated, value);
89
+ return { txHash: result.transactionHash };
90
+ }
91
+ async cancelPermissionVPLastRequest(id) {
92
+ const value = MsgCancelPermissionVPLastRequest.fromPartial({
93
+ creator: this.operatorAddress,
94
+ id,
95
+ });
96
+ const result = await this.broadcastMsg(verana_types_1.veranaTypeUrls.MsgCancelPermissionVPLastRequest, value);
97
+ return { txHash: result.transactionHash };
98
+ }
99
+ async createOrUpdatePermissionSession(params) {
100
+ const value = MsgCreateOrUpdatePermissionSession.fromPartial({
101
+ creator: this.operatorAddress,
102
+ id: params.id,
103
+ issuerPermId: params.issuerPermId,
104
+ verifierPermId: params.verifierPermId,
105
+ agentPermId: params.agentPermId,
106
+ walletAgentPermId: params.walletAgentPermId,
107
+ });
108
+ const result = await this.broadcastMsg(verana_types_1.veranaTypeUrls.MsgCreateOrUpdatePermissionSession, value);
109
+ return { txHash: result.transactionHash };
110
+ }
111
+ async broadcastMsg(typeUrl, value) {
112
+ const msg = { typeUrl, value };
113
+ this.config.logger.debug(`[VeranaChain] Broadcasting ${typeUrl}`);
114
+ const result = await this.signingClient.signAndBroadcast(this.operatorAddress, [msg], 'auto');
115
+ (0, stargate_1.assertIsDeliverTxSuccess)(result);
116
+ this.config.logger.info(`[VeranaChain] Tx success: ${result.transactionHash}`);
117
+ return result;
118
+ }
119
+ }
120
+ exports.VeranaChainService = VeranaChainService;
121
+ //# sourceMappingURL=VeranaChainService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VeranaChainService.js","sourceRoot":"","sources":["../../src/blockchain/VeranaChainService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './VeranaChainService';
2
+ export * from './types';
@@ -0,0 +1,19 @@
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
+ __exportStar(require("./VeranaChainService"), exports);
18
+ __exportStar(require("./types"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/blockchain/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAoC;AACpC,0CAAuB"}
@@ -0,0 +1,51 @@
1
+ import { BaseLogger } from '@credo-ts/core';
2
+ export declare const VERANA_BECH32_PREFIX = "verana";
3
+ export interface PermQueryClient {
4
+ GetPermission(req: {
5
+ id: Long;
6
+ }): Promise<{
7
+ permission?: unknown;
8
+ }>;
9
+ FindPermissionsWithDID(req: object): Promise<{
10
+ permissions: unknown[];
11
+ }>;
12
+ GetPermissionSession(req: {
13
+ id: string;
14
+ }): Promise<{
15
+ session?: unknown;
16
+ }>;
17
+ }
18
+ export interface VeranaChainConfig {
19
+ rpcUrl: string;
20
+ chainId?: string;
21
+ mnemonic: string;
22
+ logger: BaseLogger;
23
+ gasPrice?: string;
24
+ }
25
+ export interface StartPermissionVPParams {
26
+ type: number;
27
+ validatorPermId: Long;
28
+ country: string;
29
+ did: string;
30
+ validationFees?: {
31
+ value: Long;
32
+ };
33
+ }
34
+ export interface SetPermissionVPToValidatedParams {
35
+ id: Long;
36
+ effectiveUntil?: Date;
37
+ validationFees: Long;
38
+ issuanceFees: Long;
39
+ verificationFees: Long;
40
+ country: string;
41
+ vpSummaryDigestSri: string;
42
+ issuanceFeeDiscount: Long;
43
+ verificationFeeDiscount: Long;
44
+ }
45
+ export interface CreateOrUpdatePermissionSessionParams {
46
+ id: string;
47
+ issuerPermId: Long;
48
+ verifierPermId: Long;
49
+ agentPermId: Long;
50
+ walletAgentPermId: Long;
51
+ }
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VERANA_BECH32_PREFIX = void 0;
4
+ exports.VERANA_BECH32_PREFIX = 'verana';
5
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/blockchain/types.ts"],"names":[],"mappings":";;;AAEa,QAAA,oBAAoB,GAAG,QAAQ,CAAA"}
@@ -15,3 +15,4 @@ export declare class FullTailsFileService extends BasicTailsFileService {
15
15
  }
16
16
  export declare const baseFilePath = "./tails";
17
17
  export declare const tailsIndex: Record<string, string>;
18
+ export declare function deleteTailsEntry(tailsFileUrl: string): void;
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.tailsIndex = exports.baseFilePath = exports.FullTailsFileService = void 0;
7
+ exports.deleteTailsEntry = deleteTailsEntry;
7
8
  const anoncreds_1 = require("@credo-ts/anoncreds");
8
9
  const core_1 = require("@credo-ts/core");
9
10
  const crypto_1 = require("crypto");
@@ -53,6 +54,21 @@ function fileHash(filePath, algorithm = 'sha256') {
53
54
  }
54
55
  });
55
56
  }
57
+ function deleteTailsEntry(tailsFileUrl) {
58
+ var _a;
59
+ const tailsFileId = decodeURIComponent((_a = tailsFileUrl.split('/').pop()) !== null && _a !== void 0 ? _a : '');
60
+ if (!tailsFileId || !exports.tailsIndex[tailsFileId])
61
+ return;
62
+ const hash = exports.tailsIndex[tailsFileId];
63
+ delete exports.tailsIndex[tailsFileId];
64
+ fs_1.default.writeFileSync(indexFilePath, JSON.stringify(exports.tailsIndex));
65
+ const stillReferenced = Object.values(exports.tailsIndex).includes(hash);
66
+ if (!stillReferenced) {
67
+ const filePath = `${exports.baseFilePath}/${hash}`;
68
+ if (fs_1.default.existsSync(filePath))
69
+ fs_1.default.unlinkSync(filePath);
70
+ }
71
+ }
56
72
  async function saveTailsFile(localFilePath, tailsFileId, logger) {
57
73
  logger.info(`Processing tails file: ${tailsFileId}`);
58
74
  if (!localFilePath)
@@ -1 +1 @@
1
- {"version":3,"file":"FullTailsFileService.js","sourceRoot":"","sources":["../../src/credentials/FullTailsFileService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FullTailsFileService.js","sourceRoot":"","sources":["../../src/credentials/FullTailsFileService.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,12 @@
1
- import { AgentContext, DidCreateOptions, DidCreateResult, DidDeactivateOptions, DidDeactivateResult, DidRegistrar, DidUpdateOptions, DidUpdateResult, DidDocument } from '@credo-ts/core';
1
+ import { AgentContext, DidCreateOptions, DidCreateResult, DidDeactivateOptions, DidDeactivateResult, DidDocumentKey, DidRegistrar, DidUpdateOptions, DidUpdateResult, DidDocument } from '@credo-ts/core';
2
2
  interface WebDidCreateOptions extends DidCreateOptions {
3
3
  domain: string;
4
+ keys?: DidDocumentKey[];
4
5
  }
5
6
  interface WebDidUpdateOptions extends DidUpdateOptions {
6
7
  didDocument: DidDocument;
7
8
  domain?: string;
9
+ keys?: DidDocumentKey[];
8
10
  }
9
11
  /**
10
12
  * DID Registrar implementation for the 'webvh' method.
@@ -36,6 +36,7 @@ class WebDidRegistrar {
36
36
  did,
37
37
  didDocument,
38
38
  role: core_1.DidDocumentRole.Created,
39
+ keys: options.keys,
39
40
  });
40
41
  didRecord.setTags({ domain });
41
42
  await didRepository.save(agentContext, didRecord);
@@ -61,7 +62,7 @@ class WebDidRegistrar {
61
62
  * @returns The result of the DID update, with error handling and validation.
62
63
  */
63
64
  async update(agentContext, options) {
64
- var _a;
65
+ var _a, _b, _c;
65
66
  try {
66
67
  const { domain } = options;
67
68
  const did = (_a = options.did) !== null && _a !== void 0 ? _a : `did:web:${domain}`;
@@ -76,6 +77,14 @@ class WebDidRegistrar {
76
77
  if (!didRecord)
77
78
  return this.handleError('Did not found');
78
79
  didRecord.didDocument = inputDidDocument;
80
+ if ((_b = options.keys) === null || _b === void 0 ? void 0 : _b.length) {
81
+ const existingKeys = (_c = didRecord.keys) !== null && _c !== void 0 ? _c : [];
82
+ const existingIds = new Set(existingKeys.map(k => k.didDocumentRelativeKeyId));
83
+ didRecord.keys = [
84
+ ...existingKeys,
85
+ ...options.keys.filter(k => !existingIds.has(k.didDocumentRelativeKeyId)),
86
+ ];
87
+ }
79
88
  await didRepository.update(agentContext, didRecord);
80
89
  return {
81
90
  didDocumentMetadata: {},
@@ -1 +1 @@
1
- {"version":3,"file":"WebDidRegistrar.js","sourceRoot":"","sources":["../../src/did/WebDidRegistrar.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WebDidRegistrar.js","sourceRoot":"","sources":["../../src/did/WebDidRegistrar.ts"],"names":[],"mappings":"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"}
package/build/index.d.ts CHANGED
@@ -1,8 +1,4 @@
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';
1
+ export * from './agent';
6
2
  export type { Plugin } from './types';
7
3
  export { setupBaseDidComm } from './plugins/setupBaseDidComm';
8
4
  export type { BaseDidCommPlugin, BaseDidCommPluginOptions } from './plugins/setupBaseDidComm';
@@ -14,11 +10,11 @@ export { getLegacyDidDocument } from './did/legacyDidWeb';
14
10
  export { HttpInboundTransport, HttpTransportSession } from './transports/HttpInboundTransport';
15
11
  export { VsAgentWsInboundTransport, WebSocketTransportSession } from './transports/VsAgentWsInboundTransport';
16
12
  export { VsAgentWsOutboundTransport } from './transports/VsAgentWsOutboundTransport';
17
- export { FullTailsFileService, tailsIndex, baseFilePath } from './credentials/FullTailsFileService';
13
+ export { FullTailsFileService, tailsIndex, baseFilePath, deleteTailsEntry, } from './credentials/FullTailsFileService';
18
14
  export { createInvitation, getWebDid, getRecordId } from './utils/agent';
19
- export { parseDataUrl, parsePictureData, createDataUrl, didcommReceiptFromVsAgentReceipt, UriValidator, } from './utils/parsers';
20
15
  export { getEcsSchemas } from './utils/data';
21
16
  export { webhookListener } from './utils/webhook';
22
17
  export type { WebhookData } from './utils/webhook';
23
18
  export { sendWebhookEvent, sendMessageReceivedEvent } from './utils/webhookEvent';
24
19
  export * from './utils/util';
20
+ export * from './blockchain';
package/build/index.js CHANGED
@@ -14,12 +14,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
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;
17
+ exports.sendMessageReceivedEvent = exports.sendWebhookEvent = exports.webhookListener = exports.getEcsSchemas = exports.getRecordId = exports.getWebDid = exports.createInvitation = exports.deleteTailsEntry = 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 = void 0;
18
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; } });
19
+ __exportStar(require("./agent"), exports);
23
20
  // Plugins
24
21
  var setupBaseDidComm_1 = require("./plugins/setupBaseDidComm");
25
22
  Object.defineProperty(exports, "setupBaseDidComm", { enumerable: true, get: function () { return setupBaseDidComm_1.setupBaseDidComm; } });
@@ -46,17 +43,12 @@ var FullTailsFileService_1 = require("./credentials/FullTailsFileService");
46
43
  Object.defineProperty(exports, "FullTailsFileService", { enumerable: true, get: function () { return FullTailsFileService_1.FullTailsFileService; } });
47
44
  Object.defineProperty(exports, "tailsIndex", { enumerable: true, get: function () { return FullTailsFileService_1.tailsIndex; } });
48
45
  Object.defineProperty(exports, "baseFilePath", { enumerable: true, get: function () { return FullTailsFileService_1.baseFilePath; } });
46
+ Object.defineProperty(exports, "deleteTailsEntry", { enumerable: true, get: function () { return FullTailsFileService_1.deleteTailsEntry; } });
49
47
  // Utils
50
48
  var agent_1 = require("./utils/agent");
51
49
  Object.defineProperty(exports, "createInvitation", { enumerable: true, get: function () { return agent_1.createInvitation; } });
52
50
  Object.defineProperty(exports, "getWebDid", { enumerable: true, get: function () { return agent_1.getWebDid; } });
53
51
  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
52
  var data_1 = require("./utils/data");
61
53
  Object.defineProperty(exports, "getEcsSchemas", { enumerable: true, get: function () { return data_1.getEcsSchemas; } });
62
54
  var webhook_1 = require("./utils/webhook");
@@ -65,4 +57,5 @@ var webhookEvent_1 = require("./utils/webhookEvent");
65
57
  Object.defineProperty(exports, "sendWebhookEvent", { enumerable: true, get: function () { return webhookEvent_1.sendWebhookEvent; } });
66
58
  Object.defineProperty(exports, "sendMessageReceivedEvent", { enumerable: true, get: function () { return webhookEvent_1.sendMessageReceivedEvent; } });
67
59
  __exportStar(require("./utils/util"), exports);
60
+ __exportStar(require("./blockchain"), exports);
68
61
  //# sourceMappingURL=index.js.map
@@ -1 +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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,QAAQ;AACR,0CAAuB;AAGvB,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,2EAK2C;AAJzC,4HAAA,oBAAoB,OAAA;AACpB,kHAAA,UAAU,OAAA;AACV,oHAAA,YAAY,OAAA;AACZ,wHAAA,gBAAgB,OAAA;AAGlB,QAAQ;AACR,uCAAwE;AAA/D,yGAAA,gBAAgB,OAAA;AAAE,kGAAA,SAAS,OAAA;AAAE,oGAAA,WAAW,OAAA;AACjD,qCAA4C;AAAnC,qGAAA,aAAa,OAAA;AACtB,2CAAiD;AAAxC,0GAAA,eAAe,OAAA;AAExB,qDAAiF;AAAxE,gHAAA,gBAAgB,OAAA;AAAE,wHAAA,wBAAwB,OAAA;AACnD,+CAA4B;AAE5B,+CAA4B"}
package/package.json CHANGED
@@ -9,7 +9,7 @@
9
9
  "default": "./build/index.js"
10
10
  }
11
11
  },
12
- "version": "1.10.1",
12
+ "version": "1.11.0-dev.10",
13
13
  "repository": {
14
14
  "type": "git",
15
15
  "url": "https://github.com/verana-labs/vs-agent"
@@ -23,6 +23,9 @@
23
23
  "license": "Apache-2.0",
24
24
  "description": "Framework-agnostic Verifiable Service Agent SDK",
25
25
  "dependencies": {
26
+ "@cosmjs/proto-signing": "^0.32.3",
27
+ "@cosmjs/stargate": "^0.32.3",
28
+ "@cosmjs/tendermint-rpc": "^0.32.4",
26
29
  "@credo-ts/anoncreds": "0.7.0-alpha-20260410113934",
27
30
  "@credo-ts/askar": "0.7.0-alpha-20260410113934",
28
31
  "@credo-ts/core": "0.7.0-alpha-20260410113934",
@@ -30,11 +33,12 @@
30
33
  "@credo-ts/webvh": "0.7.0-alpha-20260410113934",
31
34
  "@hyperledger/anoncreds-nodejs": "^0.4.0",
32
35
  "@openwallet-foundation/askar-nodejs": "^0.6.0",
36
+ "@verana-labs/verana-types": "0.10.1-dev.11",
33
37
  "credo-ts-didweb-anoncreds": "0.0.2-alpha.5",
34
38
  "didwebvh-ts": "^2.5.6",
35
- "tsyringe": "4.8.0",
36
39
  "express": "^4.18.1",
37
- "@verana-labs/vs-agent-model": "1.10.1"
40
+ "tsyringe": "4.8.0",
41
+ "@verana-labs/vs-agent-model": "1.11.0-dev.10"
38
42
  },
39
43
  "peerDependencies": {
40
44
  "@credo-ts/core": "0.7.0-alpha-20260410113934",
@@ -1,11 +0,0 @@
1
- import { DidCommMessageReceipt } from '@2060.io/credo-ts-didcomm-receipts';
2
- import { PictureData } from '@2060.io/credo-ts-didcomm-user-profile';
3
- import { VsAgentMessageReceipt } from '@verana-labs/vs-agent-model';
4
- export declare const UriValidator: RegExp;
5
- export declare function parseDataUrl(dataUrl: string): {
6
- mimeType: string;
7
- data: string;
8
- } | null;
9
- export declare function parsePictureData(pictureData: string): PictureData | undefined;
10
- export declare function createDataUrl(pictureData: PictureData): string | undefined;
11
- export declare const didcommReceiptFromVsAgentReceipt: (receipt: VsAgentMessageReceipt) => DidCommMessageReceipt;
@@ -1,36 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.didcommReceiptFromVsAgentReceipt = exports.UriValidator = void 0;
4
- exports.parseDataUrl = parseDataUrl;
5
- exports.parsePictureData = parsePictureData;
6
- exports.createDataUrl = createDataUrl;
7
- const credo_ts_didcomm_receipts_1 = require("@2060.io/credo-ts-didcomm-receipts");
8
- const vs_agent_model_1 = require("@verana-labs/vs-agent-model");
9
- exports.UriValidator = /\w+:(\/?\/?)[^\s]+/;
10
- function parseDataUrl(dataUrl) {
11
- const regex = /^data:(.+);base64,(.*)$/;
12
- const matches = dataUrl.match(regex);
13
- if (!matches)
14
- return null;
15
- return { mimeType: matches[1], data: matches[2] };
16
- }
17
- function parsePictureData(pictureData) {
18
- const parsedDataUrl = parseDataUrl(pictureData);
19
- if (parsedDataUrl) {
20
- return { base64: parsedDataUrl.data, mimeType: parsedDataUrl.mimeType };
21
- }
22
- else if (exports.UriValidator.test(pictureData)) {
23
- return { links: [pictureData] };
24
- }
25
- }
26
- function createDataUrl(pictureData) {
27
- if (pictureData.base64 && pictureData.mimeType) {
28
- return `data:${pictureData.mimeType};base64,${pictureData.base64}`;
29
- }
30
- else if (pictureData.links && pictureData.links.length > 0) {
31
- return pictureData.links[0];
32
- }
33
- }
34
- const didcommReceiptFromVsAgentReceipt = (receipt) => new credo_ts_didcomm_receipts_1.DidCommMessageReceipt(Object.assign(Object.assign({}, receipt), { state: vs_agent_model_1.didcommMessageState[receipt.state.toLowerCase()] }));
35
- exports.didcommReceiptFromVsAgentReceipt = didcommReceiptFromVsAgentReceipt;
36
- //# sourceMappingURL=parsers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parsers.js","sourceRoot":"","sources":["../../src/utils/parsers.ts"],"names":[],"mappings":";;;AAKA,oCAOC;AAED,4CAOC;AAED,sCAMC;AA7BD,kFAA0E;AAE1E,gEAAwF;AAE3E,QAAA,YAAY,GAAG,oBAAoB,CAAA;AAChD,SAAgB,YAAY,CAAC,OAAe;IAC1C,MAAM,KAAK,GAAG,yBAAyB,CAAA;IAEvC,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IACpC,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAA;IAEzB,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAA;AACnD,CAAC;AAED,SAAgB,gBAAgB,CAAC,WAAmB;IAClD,MAAM,aAAa,GAAG,YAAY,CAAC,WAAW,CAAC,CAAA;IAC/C,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAA;IACzE,CAAC;SAAM,IAAI,oBAAY,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC1C,OAAO,EAAE,KAAK,EAAE,CAAC,WAAW,CAAC,EAAE,CAAA;IACjC,CAAC;AACH,CAAC;AAED,SAAgB,aAAa,CAAC,WAAwB;IACpD,IAAI,WAAW,CAAC,MAAM,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC;QAC/C,OAAO,QAAQ,WAAW,CAAC,QAAQ,WAAW,WAAW,CAAC,MAAM,EAAE,CAAA;IACpE,CAAC;SAAM,IAAI,WAAW,CAAC,KAAK,IAAI,WAAW,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7D,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAC7B,CAAC;AACH,CAAC;AAEM,MAAM,gCAAgC,GAAG,CAAC,OAA8B,EAAE,EAAE,CACjF,IAAI,iDAAqB,iCAAM,OAAO,KAAE,KAAK,EAAE,oCAAmB,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,IAAG,CAAA;AADvF,QAAA,gCAAgC,oCACuD"}