@verana-labs/vs-agent-sdk 2.0.0-dev.50 → 2.0.0-dev.52

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 (50) hide show
  1. package/build/agent/VsAgent.d.ts +2 -2
  2. package/build/blockchain/AnonCredsTrustService.d.ts +5 -0
  3. package/build/blockchain/AnonCredsTrustService.js +16 -3
  4. package/build/blockchain/AnonCredsTrustService.js.map +1 -1
  5. package/build/blockchain/AuthorizationService.d.ts +5 -1
  6. package/build/blockchain/AuthorizationService.js +17 -11
  7. package/build/blockchain/AuthorizationService.js.map +1 -1
  8. package/build/blockchain/VeranaChainService.d.ts +1 -15
  9. package/build/blockchain/VeranaChainService.js +1 -143
  10. package/build/blockchain/VeranaChainService.js.map +1 -1
  11. package/build/blockchain/VeranaIndexerService.d.ts +8 -1
  12. package/build/blockchain/VeranaIndexerService.js +102 -0
  13. package/build/blockchain/VeranaIndexerService.js.map +1 -1
  14. package/build/blockchain/handlers/authorizationHandlers.js +2 -2
  15. package/build/blockchain/handlers/authorizationHandlers.js.map +1 -1
  16. package/build/blockchain/handlers/stateMutations.js +10 -10
  17. package/build/blockchain/handlers/stateMutations.js.map +1 -1
  18. package/build/blockchain/index.d.ts +1 -0
  19. package/build/blockchain/index.js +1 -0
  20. package/build/blockchain/index.js.map +1 -1
  21. package/build/blockchain/indexerMappers.d.ts +3 -0
  22. package/build/blockchain/indexerMappers.js +53 -0
  23. package/build/blockchain/indexerMappers.js.map +1 -0
  24. package/build/blockchain/types.d.ts +0 -70
  25. package/build/bootstrap/EcsBootstrapService.js +7 -3
  26. package/build/bootstrap/EcsBootstrapService.js.map +1 -1
  27. package/build/did/CachedDocumentLoader.d.ts +3 -0
  28. package/build/did/CachedDocumentLoader.js +7 -1
  29. package/build/did/CachedDocumentLoader.js.map +1 -1
  30. package/build/plugins/setupBaseDidComm.js +1 -1
  31. package/build/plugins/setupBaseDidComm.js.map +1 -1
  32. package/build/utils/index.d.ts +1 -0
  33. package/build/utils/index.js +1 -0
  34. package/build/utils/index.js.map +1 -1
  35. package/build/utils/selfIssuedEcsCredential.d.ts +5 -1
  36. package/build/utils/selfIssuedEcsCredential.js +20 -14
  37. package/build/utils/selfIssuedEcsCredential.js.map +1 -1
  38. package/build/utils/setupSelfTr.d.ts +24 -9
  39. package/build/utils/setupSelfTr.js +37 -35
  40. package/build/utils/setupSelfTr.js.map +1 -1
  41. package/build/utils/trustCredentialStore.d.ts +34 -4
  42. package/build/utils/trustCredentialStore.js +119 -34
  43. package/build/utils/trustCredentialStore.js.map +1 -1
  44. package/build/utils/vcdm2.d.ts +34 -0
  45. package/build/utils/vcdm2.js +62 -0
  46. package/build/utils/vcdm2.js.map +1 -0
  47. package/build/vtFlow/VtFlowOrchestrator.d.ts +13 -6
  48. package/build/vtFlow/VtFlowOrchestrator.js +38 -37
  49. package/build/vtFlow/VtFlowOrchestrator.js.map +1 -1
  50. package/package.json +11 -11
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.signLinkedDataIntegrityPresentation = signLinkedDataIntegrityPresentation;
3
4
  exports.findMetadataEntry = findMetadataEntry;
4
5
  exports.saveMetadataEntry = saveMetadataEntry;
5
6
  exports.deleteMetadataEntry = deleteMetadataEntry;
@@ -14,6 +15,10 @@ exports.getTrustMetadata = getTrustMetadata;
14
15
  exports.rebindEcsCredentialSchema = rebindEcsCredentialSchema;
15
16
  exports.withdrawSelfIssuedEcsCredentials = withdrawSelfIssuedEcsCredentials;
16
17
  const core_1 = require("@credo-ts/core");
18
+ // No type definitions available for this library
19
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
20
+ //@ts-expect-error
21
+ const jsonld_signatures_1 = require("@digitalcredentials/jsonld-signatures");
17
22
  const verre_1 = require("@verana-labs/verre");
18
23
  const adminApiService_1 = require("../did/adminApiService");
19
24
  const setupSelfTr_1 = require("./setupSelfTr");
@@ -23,6 +28,71 @@ async function getDidRecord(agent) {
23
28
  const [didRecord] = await agent.dids.getCreatedDids({ did: agent.did });
24
29
  return didRecord;
25
30
  }
31
+ /** The credential fields shared by both data models: id, credentialSchema and credentialSubject */
32
+ function trustCredentialFields(credential) {
33
+ return credential instanceof core_1.W3cV2DataIntegrityVerifiableCredential
34
+ ? credential.resolvedCredential
35
+ : credential;
36
+ }
37
+ /**
38
+ * What the metadata entry stores and the DID Document service endpoint serves. A data model 1.1
39
+ * presentation is kept as its class instance, which serializes to JSON-LD when the DID record is
40
+ * saved; a Data Integrity one wraps the secured JSON, so that is what gets stored.
41
+ */
42
+ function trustCredentialEntry(credential) {
43
+ return credential instanceof core_1.W3cV2DataIntegrityVerifiableCredential
44
+ ? credential.securedCredential
45
+ : credential.jsonCredential;
46
+ }
47
+ function trustPresentationEntry(presentation) {
48
+ return presentation instanceof core_1.W3cV2DataIntegrityVerifiablePresentation
49
+ ? presentation.securedPresentation
50
+ : presentation;
51
+ }
52
+ function trustPresentationId(presentation) {
53
+ return presentation instanceof core_1.W3cV2DataIntegrityVerifiablePresentation
54
+ ? presentation.securedPresentation.id
55
+ : presentation.id;
56
+ }
57
+ /**
58
+ * Wraps a VC Data Model 2.0 credential in a data model 2.0 presentation secured with a
59
+ * DataIntegrityProof under the cryptosuite the agent is configured with, the counterpart of the
60
+ * linked data proof a data model 1.1 linked VP carries. The presentation is published from the DID
61
+ * Document rather than presented to a verifier, so there is no challenge to bind; its proof purpose
62
+ * is `authentication`, as Data Integrity defines for presentations.
63
+ */
64
+ async function signLinkedDataIntegrityPresentation(agent, options) {
65
+ const presentation = new core_1.W3cV2Presentation({
66
+ id: options.id,
67
+ holder: options.holder,
68
+ verifiableCredential: [options.credential],
69
+ });
70
+ // The options type requires a challenge for every presentation format, while a Data Integrity
71
+ // proof only carries one when it is given
72
+ return await agent.w3cV2Credentials.signPresentation({
73
+ format: core_1.ClaimFormat.DiVp,
74
+ presentation,
75
+ cryptosuite: (0, setupSelfTr_1.getDataIntegrityCryptosuite)(agent),
76
+ verificationMethod: options.verificationMethodId,
77
+ });
78
+ }
79
+ /**
80
+ * Wraps a VC Data Model 1.1 credential in a data model 1.1 presentation carrying an
81
+ * Ed25519Signature2020 linked data proof, for credentials received from issuers that still use it.
82
+ */
83
+ async function signLinkedDataProofPresentation(agent, options) {
84
+ return await agent.w3cCredentials.signPresentation({
85
+ format: core_1.ClaimFormat.LdpVp,
86
+ presentation: new core_1.W3cPresentation({
87
+ id: options.id,
88
+ holder: options.holder,
89
+ verifiableCredential: [options.credential],
90
+ }),
91
+ proofType: 'Ed25519Signature2020',
92
+ verificationMethod: options.verificationMethodId,
93
+ proofPurpose: new jsonld_signatures_1.purposes.AssertionProofPurpose(),
94
+ });
95
+ }
26
96
  async function updateDidRecord(agent, didRecord) {
27
97
  const repo = agent.context.dependencyManager.resolve(core_1.DidRepository);
28
98
  (0, adminApiService_1.applyAdminApiServiceEntry)(didRecord.didDocument, agent.adminApiServiceEndpoint);
@@ -56,14 +126,15 @@ function findMetadataEntry(didRecord, key, id, jsonSchemaRef) {
56
126
  }
57
127
  async function saveMetadataEntry(agent, didRecord, credential, verifiablePresentation, didDocumentServiceId, key) {
58
128
  var _a, _b, _c, _d, _e;
59
- const schema = key === '_vt/vtc' ? credential.credentialSchema : credential.credentialSubject;
129
+ const fields = trustCredentialFields(credential);
130
+ const schema = key === '_vt/vtc' ? fields.credentialSchema : fields.credentialSubject;
60
131
  const ref = Array.isArray(schema) ? (_a = schema[0]) === null || _a === void 0 ? void 0 : _a.id : schema === null || schema === void 0 ? void 0 : schema.id;
61
132
  if (!ref) {
62
133
  throw new Error('No ID was found in credentialSubject');
63
134
  }
64
135
  const record = (_b = didRecord.metadata.get(key)) !== null && _b !== void 0 ? _b : {};
65
136
  // Remove previous entry for this credential ID (if exists)
66
- const found = findMetadataEntry(didRecord, key, credential.id, ref);
137
+ const found = findMetadataEntry(didRecord, key, fields.id, ref);
67
138
  if (found) {
68
139
  if ((_c = didRecord.didDocument) === null || _c === void 0 ? void 0 : _c.service) {
69
140
  didRecord.didDocument.service = didRecord.didDocument.service.filter(s => s.id !== found.didDocumentServiceId);
@@ -71,13 +142,13 @@ async function saveMetadataEntry(agent, didRecord, credential, verifiablePresent
71
142
  delete record[found.schemaId];
72
143
  }
73
144
  record[ref] = {
74
- credential: credential.jsonCredential,
75
- verifiablePresentation,
145
+ credential: trustCredentialEntry(credential),
146
+ verifiablePresentation: trustPresentationEntry(verifiablePresentation),
76
147
  didDocumentServiceId,
77
148
  };
78
149
  (_e = (_d = didRecord.didDocument) === null || _d === void 0 ? void 0 : _d.service) === null || _e === void 0 ? void 0 : _e.push(new core_1.DidDocumentService({
79
150
  id: didDocumentServiceId,
80
- serviceEndpoint: verifiablePresentation.id,
151
+ serviceEndpoint: trustPresentationId(verifiablePresentation),
81
152
  type: 'LinkedVerifiablePresentation',
82
153
  }));
83
154
  didRecord.metadata.set(key, record);
@@ -100,12 +171,13 @@ async function createVtc(agent, publicApiBaseUrl, id, credential) {
100
171
  const schemaId = `schemas-${id}-vtc-vp.json`;
101
172
  const didDocumentServiceId = `${agent.did}#vpr-${schemaId.replace('.json', '')}`;
102
173
  const serviceEndpoint = `${publicApiBaseUrl}/vt/${schemaId}`;
103
- const unsignedPresentation = (0, setupSelfTr_1.createPresentation)({
104
- id: serviceEndpoint,
105
- holder: agent.did,
106
- verifiableCredential: [credential],
107
- });
108
- const verifiablePresentation = await (0, setupSelfTr_1.signerW3c)(agent, unsignedPresentation, (0, setupSelfTr_1.getVerificationMethodId)(agent.config.logger, didRecord));
174
+ const verificationMethodId = (0, setupSelfTr_1.getVerificationMethodId)(agent.config.logger, didRecord);
175
+ // The linked VP takes the data model of the credential it carries: a Data Integrity credential
176
+ // cannot be embedded in a data model 1.1 presentation, nor the other way round
177
+ const linkedVp = { id: serviceEndpoint, holder: agent.did, verificationMethodId };
178
+ const verifiablePresentation = credential instanceof core_1.W3cV2DataIntegrityVerifiableCredential
179
+ ? await signLinkedDataIntegrityPresentation(agent, Object.assign(Object.assign({}, linkedVp), { credential }))
180
+ : await signLinkedDataProofPresentation(agent, Object.assign(Object.assign({}, linkedVp), { credential }));
109
181
  await saveMetadataEntry(agent, didRecord, credential, verifiablePresentation, didDocumentServiceId, '_vt/vtc');
110
182
  return verifiablePresentation;
111
183
  }
@@ -115,31 +187,30 @@ async function createJsc(agent, publicApiBaseUrl, ecsSchemas, options) {
115
187
  const { id: subjectId, claims } = (0, setupSelfTr_1.createJsonSubjectRef)(jsonSchemaRef);
116
188
  const subjectClaims = precomputedDigestSRI
117
189
  ? Object.assign(Object.assign({}, claims), { digestSRI: precomputedDigestSRI }) : await (0, setupSelfTr_1.addDigestSRI)(subjectId, claims, ecsSchemas);
118
- const credentialSubject = {
119
- id: subjectId,
120
- claims: subjectClaims,
121
- };
190
+ const credentialSubject = Object.assign(Object.assign({}, subjectClaims), { id: subjectId });
122
191
  const schemaPresentation = `schemas-${schemaBaseId}-vtjsc-vp.json`;
123
192
  const schemaCredential = `schemas-${schemaBaseId}-jsc.json`;
124
193
  const serviceEndpoint = `${publicApiBaseUrl}/vt/${schemaPresentation}`;
125
194
  const didDocumentServiceId = `${agent.did}#vpr-schemas-${schemaBaseId}-vtjsc-vp`;
195
+ const credentialId = `${publicApiBaseUrl}/vt/${schemaCredential}`;
126
196
  const unsignedCredential = (0, setupSelfTr_1.createCredential)({
127
- id: `${publicApiBaseUrl}/vt/${schemaCredential}`,
197
+ id: credentialId,
128
198
  type: ['VerifiableCredential', 'JsonSchemaCredential'],
129
199
  issuer: agent.did,
130
200
  credentialSubject,
201
+ credentialSchema: await (0, setupSelfTr_1.addDigestSRI)(setupSelfTr_1.createJsonSchema.id, { id: setupSelfTr_1.createJsonSchema.id, type: setupSelfTr_1.createJsonSchema.type }, ecsSchemas),
131
202
  });
132
- unsignedCredential.credentialSchema = await (0, setupSelfTr_1.addDigestSRI)(setupSelfTr_1.createJsonSchema.id, setupSelfTr_1.createJsonSchema, ecsSchemas);
133
203
  const verificationMethodId = (0, setupSelfTr_1.getVerificationMethodId)(agent.config.logger, didRecord);
134
- const credential = await (0, setupSelfTr_1.signerW3c)(agent, core_1.JsonTransformer.fromJSON(unsignedCredential, core_1.W3cCredential), verificationMethodId);
135
- const unsignedPresentation = (0, setupSelfTr_1.createPresentation)({
204
+ const credential = await (0, setupSelfTr_1.signerW3c)(agent, unsignedCredential, verificationMethodId);
205
+ const verifiablePresentation = await signLinkedDataIntegrityPresentation(agent, {
136
206
  id: serviceEndpoint,
137
207
  holder: agent.did,
138
- verifiableCredential: [credential],
208
+ credential,
209
+ verificationMethodId,
139
210
  });
140
- const verifiablePresentation = await (0, setupSelfTr_1.signerW3c)(agent, unsignedPresentation, verificationMethodId);
141
211
  await saveMetadataEntry(agent, didRecord, credential, verifiablePresentation, didDocumentServiceId, '_vt/jsc');
142
- return credential.jsonCredential;
212
+ // the credential as published; its id is the one assigned above
213
+ return credential.securedCredential;
143
214
  }
144
215
  async function removeTrustCredential(agent, schemaId, key) {
145
216
  var _a;
@@ -155,15 +226,30 @@ async function removeTrustCredential(agent, schemaId, key) {
155
226
  }
156
227
  return await deleteMetadataEntry(agent, schemaId, didRecord, key);
157
228
  }
229
+ /**
230
+ * Removes the linked VP and the stored credential an exchange delivered, as
231
+ * [VSA-VTI-FLOW-OP-REVOKE] requires of the applicant. The credential is read from the RFC 0809
232
+ * format data of the exchange; exchanges earlier versions completed over other formats are not
233
+ * migrated. Returns the credential id, or `undefined` when none is found, in which case nothing is
234
+ * removed.
235
+ */
158
236
  async function removeStoredTrustCredential(agent, credentialExchangeRecordId) {
159
- var _a, _b;
237
+ var _a, _b, _c;
160
238
  const formatData = await agent.didcomm.credentials.getFormatData(credentialExchangeRecordId);
161
- const credentialId = (_b = (_a = formatData.credential) === null || _a === void 0 ? void 0 : _a.jsonld) === null || _b === void 0 ? void 0 : _b.id;
162
- if (!credentialId)
239
+ const credentialId = (_c = (_b = (_a = formatData.credential) === null || _a === void 0 ? void 0 : _a.dataIntegrity) === null || _b === void 0 ? void 0 : _b.credential) === null || _c === void 0 ? void 0 : _c.id;
240
+ if (typeof credentialId !== 'string') {
241
+ agent.config.logger.warn(`[trust-credential] Credential exchange ${credentialExchangeRecordId} carries no RFC 0809 credential id; its linked VP and stored credential are left in place`);
163
242
  return undefined;
243
+ }
164
244
  await removeTrustCredential(agent, credentialId, '_vt/vtc');
165
- const stored = await agent.w3cCredentials.getAll();
166
- for (const storedRecord of stored) {
245
+ // The RFC 0809 format holds a data model 2.0 credential in a W3cV2CredentialRecord and a data
246
+ // model 1.1 one in a W3cCredentialRecord; the credential id is tagged on both
247
+ for (const storedRecord of await agent.w3cV2Credentials.getAll()) {
248
+ if (storedRecord.getTags().givenId === credentialId) {
249
+ await agent.w3cV2Credentials.deleteById(storedRecord.id);
250
+ }
251
+ }
252
+ for (const storedRecord of await agent.w3cCredentials.getAll()) {
167
253
  if (storedRecord.getTags().givenId === credentialId) {
168
254
  await agent.w3cCredentials.deleteById(storedRecord.id);
169
255
  }
@@ -272,12 +358,13 @@ async function anchorCredentialDigest(agent, schemaId, credential, issuerPartici
272
358
  throw new Error(`[DigestAnchor] The presentation for schema ${schemaId} has no credential`);
273
359
  if (!agent.did)
274
360
  throw new Error('[DigestAnchor] The agent has no public DID');
275
- const schema = await chain.getCredentialSchema(schemaId);
361
+ const schema = await agent.indexer.getCredentialSchema(schemaId).catch(() => undefined);
276
362
  if (!schema)
277
363
  throw new Error(`[DigestAnchor] Credential schema ${schemaId} is not on chain`);
278
- const digest = (0, verre_1.computeCredentialDigestJCS)(core_1.JsonTransformer.toJSON(credential), schema.digestAlgorithm);
364
+ // the credential as published, which is what a verifier digests
365
+ const digest = (0, verre_1.computeCredentialDigestJCS)(credential, schema.digest_algorithm);
279
366
  // the same credential gives the same digest on each run, so an anchored digest needs no second transaction
280
- if (await chain.getDigest(digest))
367
+ if (await agent.indexer.getDigest(digest))
281
368
  return;
282
369
  // A self-issued credential has no counterparty, so the session names only the issuer.
283
370
  const { txHash } = await chain.createOrUpdateParticipantSession({
@@ -288,6 +375,7 @@ async function anchorCredentialDigest(agent, schemaId, credential, issuerPartici
288
375
  digest,
289
376
  });
290
377
  agent.config.logger.info(`[DigestAnchor] Anchored digest ${digest} for schema ${schemaId} against issuer participant ${issuerParticipantId} (tx ${txHash})`);
378
+ await agent.indexer.waitForDigest(digest);
291
379
  }
292
380
  // replaces the self-TR example JSC binding with the on-chain VTJSC so resolvers can link the credential to the VPR
293
381
  /**
@@ -324,10 +412,7 @@ async function rebindEcsCredentialSchema(agent, publicApiBaseUrl, schemaId, sche
324
412
  didRecord.metadata.set('_vt/vtc', record);
325
413
  await updateDidRecord(agent, didRecord);
326
414
  }
327
- await (0, selfIssuedEcsCredential_1.publishSelfIssuedEcsPresentation)(agent, vpUrl, Object.assign(Object.assign({}, (0, data_1.getEcsSchemas)(publicApiBaseUrl)), (onChainJsonSchema ? { [schemaKey]: onChainJsonSchema } : {})), schemaKey, ['VerifiableCredential', 'VerifiableTrustCredential'], { id: jscUrl, type: 'JsonSchemaCredential' }, ecsClaims, async (verifiablePresentation) => {
328
- var _a;
329
- return await anchorCredentialDigest(agent, Number(schemaId), (_a = verifiablePresentation === null || verifiablePresentation === void 0 ? void 0 : verifiablePresentation.verifiableCredential) === null || _a === void 0 ? void 0 : _a[0], issuerParticipantId);
330
- });
415
+ await (0, selfIssuedEcsCredential_1.publishSelfIssuedEcsPresentation)(agent, vpUrl, Object.assign(Object.assign({}, (0, data_1.getEcsSchemas)(publicApiBaseUrl)), (onChainJsonSchema ? { [schemaKey]: onChainJsonSchema } : {})), schemaKey, ['VerifiableCredential', 'VerifiableTrustCredential'], { id: jscUrl, type: 'JsonSchemaCredential' }, ecsClaims, async (verifiablePresentation) => await anchorCredentialDigest(agent, Number(schemaId), verifiablePresentation.verifiableCredential[0], issuerParticipantId));
331
416
  const freshRecord = await getDidRecord(agent);
332
417
  let recordChanged = false;
333
418
  const vtc = (_f = freshRecord.metadata.get('_vt/vtc')) !== null && _f !== void 0 ? _f : {};
@@ -1 +1 @@
1
- {"version":3,"file":"trustCredentialStore.js","sourceRoot":"","sources":["../../src/utils/trustCredentialStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"trustCredentialStore.js","sourceRoot":"","sources":["../../src/utils/trustCredentialStore.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import { type JsonObject, W3cV2Credential, type W3cV2CredentialOptions } from '@credo-ts/core';
2
+ /**
3
+ * The W3C context that gives terms no other context defines an IRI under
4
+ * `https://www.w3.org/ns/credentials/undefined-term#`, which is what schema-driven ECS claims are to
5
+ * a JSON-LD consumer: issuer-dependent terms, not examples.
6
+ */
7
+ export declare const CREDENTIALS_UNDEFINED_TERMS_V2_URL = "https://www.w3.org/ns/credentials/undefined-terms/v2";
8
+ /**
9
+ * JSON-LD context of the VC Data Model 2.0 credentials the agent issues: the trust credentials it
10
+ * publishes from its DID Document and the ones it issues over DIDComm with the W3C Data Integrity
11
+ * attachment format (Aries RFC 0809).
12
+ *
13
+ * The undefined-terms context supplies the `@vocab` that lets schema-driven credential subject
14
+ * claims expand when a third party processes the credential as JSON-LD. The `eddsa-jcs-2022`
15
+ * cryptosuite securing these credentials canonicalizes JSON and never expands the context itself.
16
+ */
17
+ export declare const CREDENTIALS_V2_CONTEXT: string[];
18
+ /**
19
+ * Builds an unsigned VC Data Model 2.0 credential. Unless told otherwise it uses
20
+ * {@link CREDENTIALS_V2_CONTEXT} and is valid from now for ten years.
21
+ */
22
+ export declare function createW3cV2Credential(options: W3cV2CredentialOptions): W3cV2Credential;
23
+ /** The plain JSON an RFC 0809 credential offer carries the unsigned credential as. */
24
+ export declare function toOfferedCredentialJson(credential: W3cV2Credential): JsonObject;
25
+ /** Whether a credential JSON uses the VC Data Model 2.0 base context, as RFC 0809 decides the data model version. */
26
+ export declare function isVcdm2Credential(credential: {
27
+ '@context'?: unknown;
28
+ }): boolean;
29
+ /**
30
+ * Whether a stored credential is what the agent publishes today: VC Data Model 2.0 secured with
31
+ * Data Integrity proofs. An agent upgraded from a version that published data model 1.1 linked
32
+ * data proofs rebuilds its trust credentials when this is false.
33
+ */
34
+ export declare function isDataIntegrityVcdm2Credential(credential: unknown): boolean;
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CREDENTIALS_V2_CONTEXT = exports.CREDENTIALS_UNDEFINED_TERMS_V2_URL = void 0;
4
+ exports.createW3cV2Credential = createW3cV2Credential;
5
+ exports.toOfferedCredentialJson = toOfferedCredentialJson;
6
+ exports.isVcdm2Credential = isVcdm2Credential;
7
+ exports.isDataIntegrityVcdm2Credential = isDataIntegrityVcdm2Credential;
8
+ const core_1 = require("@credo-ts/core");
9
+ /**
10
+ * The W3C context that gives terms no other context defines an IRI under
11
+ * `https://www.w3.org/ns/credentials/undefined-term#`, which is what schema-driven ECS claims are to
12
+ * a JSON-LD consumer: issuer-dependent terms, not examples.
13
+ */
14
+ exports.CREDENTIALS_UNDEFINED_TERMS_V2_URL = 'https://www.w3.org/ns/credentials/undefined-terms/v2';
15
+ /**
16
+ * JSON-LD context of the VC Data Model 2.0 credentials the agent issues: the trust credentials it
17
+ * publishes from its DID Document and the ones it issues over DIDComm with the W3C Data Integrity
18
+ * attachment format (Aries RFC 0809).
19
+ *
20
+ * The undefined-terms context supplies the `@vocab` that lets schema-driven credential subject
21
+ * claims expand when a third party processes the credential as JSON-LD. The `eddsa-jcs-2022`
22
+ * cryptosuite securing these credentials canonicalizes JSON and never expands the context itself.
23
+ */
24
+ exports.CREDENTIALS_V2_CONTEXT = [
25
+ core_1.CREDENTIALS_CONTEXT_V2_URL,
26
+ exports.CREDENTIALS_UNDEFINED_TERMS_V2_URL,
27
+ ];
28
+ const TEN_YEARS_MS = 10 * 365 * 24 * 60 * 60 * 1000;
29
+ /**
30
+ * Builds an unsigned VC Data Model 2.0 credential. Unless told otherwise it uses
31
+ * {@link CREDENTIALS_V2_CONTEXT} and is valid from now for ten years.
32
+ */
33
+ function createW3cV2Credential(options) {
34
+ var _a, _b, _c;
35
+ const now = Date.now();
36
+ return new core_1.W3cV2Credential(Object.assign(Object.assign({}, options), { context: (_a = options.context) !== null && _a !== void 0 ? _a : exports.CREDENTIALS_V2_CONTEXT, validFrom: (_b = options.validFrom) !== null && _b !== void 0 ? _b : new Date(now).toISOString(), validUntil: (_c = options.validUntil) !== null && _c !== void 0 ? _c : new Date(now + TEN_YEARS_MS).toISOString() }));
37
+ }
38
+ /** The plain JSON an RFC 0809 credential offer carries the unsigned credential as. */
39
+ function toOfferedCredentialJson(credential) {
40
+ return core_1.JsonTransformer.toJSON(credential);
41
+ }
42
+ /** Whether a credential JSON uses the VC Data Model 2.0 base context, as RFC 0809 decides the data model version. */
43
+ function isVcdm2Credential(credential) {
44
+ const context = credential['@context'];
45
+ const base = Array.isArray(context) ? context[0] : context;
46
+ return base === core_1.CREDENTIALS_CONTEXT_V2_URL;
47
+ }
48
+ /**
49
+ * Whether a stored credential is what the agent publishes today: VC Data Model 2.0 secured with
50
+ * Data Integrity proofs. An agent upgraded from a version that published data model 1.1 linked
51
+ * data proofs rebuilds its trust credentials when this is false.
52
+ */
53
+ function isDataIntegrityVcdm2Credential(credential) {
54
+ if (!credential || typeof credential !== 'object')
55
+ return false;
56
+ const { proof } = credential;
57
+ const proofs = Array.isArray(proof) ? proof : proof ? [proof] : [];
58
+ return (isVcdm2Credential(credential) &&
59
+ proofs.length > 0 &&
60
+ proofs.every(entry => (entry === null || entry === void 0 ? void 0 : entry.type) === 'DataIntegrityProof'));
61
+ }
62
+ //# sourceMappingURL=vcdm2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vcdm2.js","sourceRoot":"","sources":["../../src/utils/vcdm2.ts"],"names":[],"mappings":";;;AAmCA,sDAQC;AAGD,0DAEC;AAGD,8CAIC;AAOD,wEASC;AAvED,yCAMuB;AAEvB;;;;GAIG;AACU,QAAA,kCAAkC,GAAG,sDAAsD,CAAA;AAExG;;;;;;;;GAQG;AACU,QAAA,sBAAsB,GAAa;IAC9C,iCAA0B;IAC1B,0CAAkC;CACnC,CAAA;AAED,MAAM,YAAY,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;AAEnD;;;GAGG;AACH,SAAgB,qBAAqB,CAAC,OAA+B;;IACnE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IACtB,OAAO,IAAI,sBAAe,iCACrB,OAAO,KACV,OAAO,EAAE,MAAA,OAAO,CAAC,OAAO,mCAAI,8BAAsB,EAClD,SAAS,EAAE,MAAA,OAAO,CAAC,SAAS,mCAAI,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAC3D,UAAU,EAAE,MAAA,OAAO,CAAC,UAAU,mCAAI,IAAI,IAAI,CAAC,GAAG,GAAG,YAAY,CAAC,CAAC,WAAW,EAAE,IAC5E,CAAA;AACJ,CAAC;AAED,sFAAsF;AACtF,SAAgB,uBAAuB,CAAC,UAA2B;IACjE,OAAO,sBAAe,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;AAC3C,CAAC;AAED,qHAAqH;AACrH,SAAgB,iBAAiB,CAAC,UAAoC;IACpE,MAAM,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC,CAAA;IACtC,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;IAC1D,OAAO,IAAI,KAAK,iCAA0B,CAAA;AAC5C,CAAC;AAED;;;;GAIG;AACH,SAAgB,8BAA8B,CAAC,UAAmB;IAChE,IAAI,CAAC,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IAC/D,MAAM,EAAE,KAAK,EAAE,GAAG,UAAiC,CAAA;IACnD,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAClE,OAAO,CACL,iBAAiB,CAAC,UAAsC,CAAC;QACzD,MAAM,CAAC,MAAM,GAAG,CAAC;QACjB,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAmC,aAAnC,KAAK,uBAAL,KAAK,CAAgC,IAAI,MAAK,oBAAoB,CAAC,CAC3F,CAAA;AACH,CAAC"}
@@ -1,4 +1,5 @@
1
- import { type DidCommJsonLdCredentialDetailFormat, type JsonCredential } from '@credo-ts/didcomm';
1
+ import type { JsonObject } from '@credo-ts/core';
2
+ import type { DidCommDataIntegrityOfferCredentialFormat } from '@credo-ts/didcomm';
2
3
  import { VtFlowRecord, type VtFlowEcsIssuanceExemptionContext } from '@verana-labs/credo-ts-didcomm-vt-flow';
3
4
  import { BaseAgentModules, VsAgent } from '../agent';
4
5
  import { Participant } from '../blockchain/types';
@@ -22,7 +23,7 @@ export interface ValidateOnboardingProcessInput {
22
23
  export interface OfferOnboardingCredentialInput {
23
24
  vtFlowRecordId: string;
24
25
  /** The credential validateOnboardingProcess built. Without it the method builds one. */
25
- credential?: JsonCredential;
26
+ credential?: JsonObject;
26
27
  /** It defaults to the schema of the applicant participant. */
27
28
  credentialSchemaId?: string;
28
29
  /** The participant validateOnboardingProcess returned; saves a second chain read. */
@@ -54,7 +55,7 @@ export declare class VtFlowOrchestrator {
54
55
  validateOnboardingProcess(input: ValidateOnboardingProcessInput): Promise<{
55
56
  record: VtFlowRecord;
56
57
  participant: Participant;
57
- credential?: JsonCredential;
58
+ credential?: JsonObject;
58
59
  }>;
59
60
  /**
60
61
  * Offer the credential of an onboarding process to its applicant. Call it only for a HOLDER, and
@@ -70,21 +71,27 @@ export declare class VtFlowOrchestrator {
70
71
  acceptCredential(input: AcceptCredentialInput): Promise<VtFlowRecord>;
71
72
  buildDirectIssuanceOffer(vtFlowRecordId: string): Promise<{
72
73
  credentialFormats: {
73
- jsonld: DidCommJsonLdCredentialDetailFormat;
74
+ dataIntegrity: DidCommDataIntegrityOfferCredentialFormat;
74
75
  };
75
76
  issuerParticipantId: number;
76
77
  } | null>;
78
+ /**
79
+ * Builds the unsigned VC Data Model 2.0 credential that goes into the offer. RFC 0809 derives the
80
+ * advertised data model version from its context, and the issuer secures it with a
81
+ * DataIntegrityProof once the applicant requests it.
82
+ */
77
83
  private buildCredential;
78
84
  private resolveJsonSchemaCredentialId;
79
85
  /** Per the spec the algorithm comes from the schema, never from the digest value. */
80
86
  private digestAlgorithmForSchema;
81
87
  /** Fired after signing and before delivery, so a failure here must abort the issuance. */
82
- onCredentialIssued(vtFlowRecordId: string, signedCredential: JsonCredential): Promise<string>;
88
+ onCredentialIssued(vtFlowRecordId: string, signedCredential: Record<string, unknown>): Promise<string>;
83
89
  verifyOfferedCredential(vtFlowRecordId: string): Promise<void>;
84
90
  onCredentialRevoked(vtFlowRecordId: string): Promise<void>;
85
91
  onCredentialCompleted(vtFlowRecordId: string): Promise<void>;
86
92
  private triggerResolver;
87
- private getOfferedCredentialJson;
93
+ /** The signed credential as the issuer attached it, which is the exact JSON its digest covers. */
94
+ private getReceivedCredentialJson;
88
95
  checkEcsIssuanceExemption(context: VtFlowEcsIssuanceExemptionContext): Promise<boolean>;
89
96
  publishCredentialAsLinkedVp(vtFlowRecordId: string): Promise<void>;
90
97
  private extractSchemaBaseId;