@verana-labs/vs-agent-sdk 2.0.0-dev.3 → 2.0.0-dev.31

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 (67) hide show
  1. package/build/agent/VsAgent.d.ts +5 -0
  2. package/build/agent/VsAgent.js +49 -27
  3. package/build/agent/VsAgent.js.map +1 -1
  4. package/build/agent/createVsAgent.d.ts +3 -0
  5. package/build/agent/createVsAgent.js +2 -0
  6. package/build/agent/createVsAgent.js.map +1 -1
  7. package/build/blockchain/IndexerWebSocketService.d.ts +7 -1
  8. package/build/blockchain/IndexerWebSocketService.js +41 -15
  9. package/build/blockchain/IndexerWebSocketService.js.map +1 -1
  10. package/build/blockchain/VeranaChainService.d.ts +5 -1
  11. package/build/blockchain/VeranaChainService.js +54 -5
  12. package/build/blockchain/VeranaChainService.js.map +1 -1
  13. package/build/blockchain/VeranaIndexerService.js +4 -4
  14. package/build/blockchain/VeranaIndexerService.js.map +1 -1
  15. package/build/blockchain/handlers/IndexerHandlerRegistry.d.ts +1 -0
  16. package/build/blockchain/handlers/IndexerHandlerRegistry.js.map +1 -1
  17. package/build/blockchain/handlers/defaultHandlers.js +3 -1
  18. package/build/blockchain/handlers/defaultHandlers.js.map +1 -1
  19. package/build/blockchain/handlers/index.d.ts +1 -0
  20. package/build/blockchain/handlers/index.js +1 -0
  21. package/build/blockchain/handlers/index.js.map +1 -1
  22. package/build/blockchain/handlers/selfIssuanceHandlers.d.ts +13 -0
  23. package/build/blockchain/handlers/selfIssuanceHandlers.js +71 -0
  24. package/build/blockchain/handlers/selfIssuanceHandlers.js.map +1 -0
  25. package/build/blockchain/handlers/stateMutations.d.ts +15 -1
  26. package/build/blockchain/handlers/stateMutations.js +190 -26
  27. package/build/blockchain/handlers/stateMutations.js.map +1 -1
  28. package/build/blockchain/types.d.ts +20 -1
  29. package/build/blockchain/types.js.map +1 -1
  30. package/build/bootstrap/EcsBootstrapService.d.ts +15 -3
  31. package/build/bootstrap/EcsBootstrapService.js +184 -74
  32. package/build/bootstrap/EcsBootstrapService.js.map +1 -1
  33. package/build/plugins/setupBaseDidComm.js +3 -2
  34. package/build/plugins/setupBaseDidComm.js.map +1 -1
  35. package/build/transports/VsAgentWsInboundTransport.d.ts +1 -1
  36. package/build/transports/VsAgentWsInboundTransport.js +20 -14
  37. package/build/transports/VsAgentWsInboundTransport.js.map +1 -1
  38. package/build/utils/agent.d.ts +15 -0
  39. package/build/utils/agent.js +53 -4
  40. package/build/utils/agent.js.map +1 -1
  41. package/build/utils/didReadiness.d.ts +9 -0
  42. package/build/utils/didReadiness.js +42 -0
  43. package/build/utils/didReadiness.js.map +1 -0
  44. package/build/utils/index.d.ts +1 -0
  45. package/build/utils/index.js +1 -0
  46. package/build/utils/index.js.map +1 -1
  47. package/build/utils/setupSelfTr.d.ts +3 -1
  48. package/build/utils/setupSelfTr.js +89 -19
  49. package/build/utils/setupSelfTr.js.map +1 -1
  50. package/build/utils/trustCredentialStore.d.ts +27 -1
  51. package/build/utils/trustCredentialStore.js +170 -23
  52. package/build/utils/trustCredentialStore.js.map +1 -1
  53. package/build/utils/vtjscResolver.d.ts +18 -0
  54. package/build/utils/vtjscResolver.js +54 -0
  55. package/build/utils/vtjscResolver.js.map +1 -0
  56. package/build/vtFlow/VtFlowOrchestrator.d.ts +47 -9
  57. package/build/vtFlow/VtFlowOrchestrator.js +95 -54
  58. package/build/vtFlow/VtFlowOrchestrator.js.map +1 -1
  59. package/build/vtFlow/assertVerifiableService.js +4 -3
  60. package/build/vtFlow/assertVerifiableService.js.map +1 -1
  61. package/build/vtFlow/ecsIssuanceExemption.d.ts +12 -0
  62. package/build/vtFlow/ecsIssuanceExemption.js +84 -0
  63. package/build/vtFlow/ecsIssuanceExemption.js.map +1 -0
  64. package/build/vtFlow/index.d.ts +1 -0
  65. package/build/vtFlow/index.js +1 -0
  66. package/build/vtFlow/index.js.map +1 -1
  67. package/package.json +4 -4
@@ -8,9 +8,13 @@ exports.createJsc = createJsc;
8
8
  exports.removeTrustCredential = removeTrustCredential;
9
9
  exports.removeStoredTrustCredential = removeStoredTrustCredential;
10
10
  exports.migrateVtjscServiceIds = migrateVtjscServiceIds;
11
+ exports.detachVtjscPublications = detachVtjscPublications;
12
+ exports.reattachVtjscPublication = reattachVtjscPublication;
11
13
  exports.getTrustMetadata = getTrustMetadata;
12
14
  exports.rebindEcsCredentialSchema = rebindEcsCredentialSchema;
15
+ exports.withdrawSelfIssuedEcsCredentials = withdrawSelfIssuedEcsCredentials;
13
16
  const core_1 = require("@credo-ts/core");
17
+ const verre_1 = require("@verana-labs/verre");
14
18
  const adminApiService_1 = require("../did/adminApiService");
15
19
  const setupSelfTr_1 = require("./setupSelfTr");
16
20
  const data_1 = require("./data");
@@ -31,20 +35,23 @@ function findMetadataEntry(didRecord, key, id, jsonSchemaRef) {
31
35
  return null;
32
36
  if (!id && !jsonSchemaRef)
33
37
  return { schemaId: '', data: metadata, didDocumentServiceId: '' };
34
- for (const [schemaId, entry] of Object.entries(metadata)) {
35
- if (schemaId === jsonSchemaRef) {
36
- return Object.assign(Object.assign({ schemaId }, entry), { data: entry.verifiablePresentation });
37
- }
38
- const credId = (_a = entry.credential) === null || _a === void 0 ? void 0 : _a.id;
39
- const presId = (_b = entry.verifiablePresentation) === null || _b === void 0 ? void 0 : _b.id;
40
- if (credId === id) {
38
+ const entries = Object.entries(metadata);
39
+ // the metadata key identifies one entry, so it answers before any preference between entries
40
+ const exact = jsonSchemaRef ? entries.find(([schemaId]) => schemaId === jsonSchemaRef) : undefined;
41
+ if (exact)
42
+ return Object.assign(Object.assign({ schemaId: exact[0] }, exact[1]), { data: exact[1].verifiablePresentation });
43
+ const match = ([schemaId, entry]) => {
44
+ var _a, _b;
45
+ if (((_a = entry.credential) === null || _a === void 0 ? void 0 : _a.id) === id)
41
46
  return Object.assign(Object.assign({ schemaId }, entry), { data: entry.credential });
42
- }
43
- if (presId === id) {
47
+ if (((_b = entry.verifiablePresentation) === null || _b === void 0 ? void 0 : _b.id) === id)
44
48
  return Object.assign(Object.assign({ schemaId }, entry), { data: entry.verifiablePresentation });
45
- }
46
- }
47
- return null;
49
+ return null;
50
+ };
51
+ // several entries can carry the same presentation URL while a binding is replaced, so the entry
52
+ // the DID Document announces wins over a detached leftover
53
+ const matched = entries.map(match).filter(entry => entry !== null);
54
+ return (_b = (_a = matched.find(entry => entry.attached !== false)) !== null && _a !== void 0 ? _a : matched[0]) !== null && _b !== void 0 ? _b : null;
48
55
  }
49
56
  async function saveMetadataEntry(agent, didRecord, credential, verifiablePresentation, didDocumentServiceId, key, publicApiBaseUrl) {
50
57
  var _a, _b, _c, _d, _e, _f, _g, _h;
@@ -77,8 +84,10 @@ async function saveMetadataEntry(agent, didRecord, credential, verifiablePresent
77
84
  const service = (_g = (_f = didRecord.didDocument) === null || _f === void 0 ? void 0 : _f.service) === null || _g === void 0 ? void 0 : _g.find(s => s.id === `${agent.did}#whois`);
78
85
  if (service && ((_h = verifiablePresentation.id) === null || _h === void 0 ? void 0 : _h.includes('service')))
79
86
  service.serviceEndpoint = verifiablePresentation.id;
80
- // When a new VTC has been added, remove the self VTCs
81
- updateVtcEntries(didRecord, false, publicApiBaseUrl);
87
+ // A JSON schema credential says nothing about this agent's own ECS identity, so only a real
88
+ // trust credential replaces the self-issued ones.
89
+ if (key === '_vt/vtc')
90
+ updateVtcEntries(didRecord, false, publicApiBaseUrl);
82
91
  await updateDidRecord(agent, didRecord);
83
92
  }
84
93
  async function deleteMetadataEntry(agent, id, didRecord, key, publicApiBaseUrl) {
@@ -187,7 +196,9 @@ async function createJsc(agent, publicApiBaseUrl, ecsSchemas, options) {
187
196
  async function removeTrustCredential(agent, publicApiBaseUrl, schemaId, key) {
188
197
  var _a;
189
198
  const didRecord = await getDidRecord(agent);
190
- const record = findMetadataEntry(didRecord, key, schemaId);
199
+ // same lookup deleteMetadataEntry performs: a self-issued entry carries the agent DID as
200
+ // credential id, so only its metadata key reaches it
201
+ const record = findMetadataEntry(didRecord, key, schemaId, schemaId);
191
202
  // Currently, we only use one serviceEndpoint per ID.
192
203
  // In the future, if multiple serviceEndpoints exist for the same ID,
193
204
  // we should review the serviceEndpoint content and remove only the specific one.
@@ -239,23 +250,124 @@ async function migrateVtjscServiceIds(agent) {
239
250
  await updateDidRecord(agent, didRecord);
240
251
  agent.config.logger.info('[VTJSC] migrated stored service ids to the -vtjsc-vp naming');
241
252
  }
253
+ /**
254
+ * Takes the linked VPs of the given `_vt/jsc` entries out of the DID Document, publishing it once.
255
+ *
256
+ * The entries stay: `SelfTrController` serves them, and issued credentials name that URL in
257
+ * `credentialSchema.id`. Dropping one would 404 it and leave those credentials unverifiable.
258
+ */
259
+ async function detachVtjscPublications(agent, schemaRefs) {
260
+ var _a, _b;
261
+ if (schemaRefs.length === 0)
262
+ return [];
263
+ const didRecord = await getDidRecord(agent);
264
+ if (!((_a = didRecord === null || didRecord === void 0 ? void 0 : didRecord.didDocument) === null || _a === void 0 ? void 0 : _a.service))
265
+ return [];
266
+ const metadata = didRecord.metadata.get('_vt/jsc');
267
+ if (!metadata)
268
+ return [];
269
+ const detached = [];
270
+ for (const schemaRef of schemaRefs) {
271
+ const serviceId = (_b = metadata[schemaRef]) === null || _b === void 0 ? void 0 : _b.didDocumentServiceId;
272
+ if (!serviceId || !didRecord.didDocument.service.some(s => s.id === serviceId))
273
+ continue;
274
+ didRecord.didDocument.service = didRecord.didDocument.service.filter(s => s.id !== serviceId);
275
+ detached.push(schemaRef);
276
+ }
277
+ if (detached.length === 0)
278
+ return [];
279
+ await updateDidRecord(agent, didRecord);
280
+ return detached;
281
+ }
282
+ /**
283
+ * Puts a detached `_vt/jsc` entry back in the DID Document.
284
+ *
285
+ * The publication pass skips an entry whose digest still matches, so without this the agent would
286
+ * keep serving a VTJSC it never announces again.
287
+ */
288
+ async function reattachVtjscPublication(agent, schemaRef) {
289
+ var _a, _b, _c;
290
+ const didRecord = await getDidRecord(agent);
291
+ if (!(didRecord === null || didRecord === void 0 ? void 0 : didRecord.didDocument))
292
+ return false;
293
+ const entry = (_a = didRecord.metadata.get('_vt/jsc')) === null || _a === void 0 ? void 0 : _a[schemaRef];
294
+ const serviceId = entry === null || entry === void 0 ? void 0 : entry.didDocumentServiceId;
295
+ const serviceEndpoint = (_b = entry === null || entry === void 0 ? void 0 : entry.verifiablePresentation) === null || _b === void 0 ? void 0 : _b.id;
296
+ if (!serviceId || !serviceEndpoint)
297
+ return false;
298
+ const services = (_c = didRecord.didDocument.service) !== null && _c !== void 0 ? _c : [];
299
+ if (services.some(s => s.id === serviceId))
300
+ return false;
301
+ didRecord.didDocument.service = [
302
+ ...services,
303
+ new core_1.DidDocumentService({ id: serviceId, serviceEndpoint, type: 'LinkedVerifiablePresentation' }),
304
+ ];
305
+ await updateDidRecord(agent, didRecord);
306
+ return true;
307
+ }
242
308
  function getTrustMetadata(didRecord, key, schemaId) {
243
309
  return findMetadataEntry(didRecord, key, schemaId);
244
310
  }
311
+ /**
312
+ * Anchors a self-issued ECS credential, the same way as any other issuance: through
313
+ * CreateOrUpdateParticipantSession, which stores the digest in the `di` module keeper-to-keeper.
314
+ *
315
+ * `issuerParticipantId` must name an active ISSUER participant of this agent for the schema, whose
316
+ * vs_operator is this agent's account — the chain accepts the session from no other signer. The
317
+ * caller resolves it, because it already lists the agent's participants to decide what to rebind.
318
+ */
319
+ async function anchorCredentialDigest(agent, schemaId, credential, issuerParticipantId) {
320
+ const chain = agent.veranaChain;
321
+ if (!chain)
322
+ return;
323
+ if (!credential)
324
+ throw new Error(`[DigestAnchor] The presentation for schema ${schemaId} has no credential`);
325
+ if (!agent.did)
326
+ throw new Error('[DigestAnchor] The agent has no public DID');
327
+ const schema = await chain.getCredentialSchema(schemaId);
328
+ if (!schema)
329
+ throw new Error(`[DigestAnchor] Credential schema ${schemaId} is not on chain`);
330
+ const digest = (0, verre_1.computeCredentialDigestJCS)(core_1.JsonTransformer.toJSON(credential), schema.digestAlgorithm);
331
+ // the same credential gives the same digest on each run, so an anchored digest needs no second transaction
332
+ if (await chain.getDigest(digest))
333
+ return;
334
+ // A self-issued credential has no counterparty, so the session names only the issuer.
335
+ const { txHash } = await chain.createOrUpdateParticipantSession({
336
+ id: core_1.utils.uuid(),
337
+ issuerParticipantId,
338
+ agentParticipantId: 0,
339
+ walletAgentParticipantId: 0,
340
+ digest,
341
+ });
342
+ agent.config.logger.info(`[DigestAnchor] Anchored digest ${digest} for schema ${schemaId} against issuer participant ${issuerParticipantId} (tx ${txHash})`);
343
+ }
245
344
  // replaces the self-TR example JSC binding with the on-chain VTJSC so resolvers can link the credential to the VPR
246
- async function rebindEcsCredentialSchema(agent, publicApiBaseUrl, schemaId, schemaKey, defaults) {
247
- var _a, _b, _c, _d;
345
+ /**
346
+ * @param jsonSchemaCredentialId the VTJSC the Ecosystem published for this schema. Only the
347
+ * Ecosystem publishes it, so an agent that issues against another Corporation's Ecosystem must
348
+ * resolve it there — see resolveJsonSchemaCredentialId.
349
+ * @param issuerParticipantId this agent's ISSUER participant for the schema, which anchors the
350
+ * credential digest.
351
+ */
352
+ async function rebindEcsCredentialSchema(agent, publicApiBaseUrl, schemaId, schemaKey, defaults, jsonSchemaCredentialId, issuerParticipantId) {
353
+ var _a, _b, _c, _d, _e, _f, _g, _h;
248
354
  if (!['ecs-service', 'ecs-org'].includes(schemaKey) || !agent.did)
249
355
  return;
250
356
  const vpUrl = `${publicApiBaseUrl}/vt/${schemaKey}-vtc-vp.json`;
251
- const jscUrl = `${publicApiBaseUrl}/vt/schemas-${schemaId}-jsc.json`;
357
+ const jscUrl = jsonSchemaCredentialId;
252
358
  const didRecord = await getDidRecord(agent);
253
359
  const record = (_a = didRecord.metadata.get('_vt/vtc')) !== null && _a !== void 0 ? _a : {};
360
+ const stored = record[jscUrl];
361
+ const storedIssuer = typeof ((_b = stored === null || stored === void 0 ? void 0 : stored.credential) === null || _b === void 0 ? void 0 : _b.issuer) === 'string' ? stored.credential.issuer : (_d = (_c = stored === null || stored === void 0 ? void 0 : stored.credential) === null || _c === void 0 ? void 0 : _c.issuer) === null || _d === void 0 ? void 0 : _d.id;
362
+ if ((stored === null || stored === void 0 ? void 0 : stored.credential) && !stored.integrityData && storedIssuer !== agent.did) {
363
+ agent.config.logger.debug(`[SelfTR] Keeping the ${schemaKey} credential issued by ${storedIssuer} instead of rebinding a self-issued one`);
364
+ return;
365
+ }
254
366
  let removedStale = false;
255
367
  for (const [key, entry] of Object.entries(record)) {
256
368
  // findMetadataEntry serves the first entry matching the VP url, so stale bindings must go
257
369
  if (key !== jscUrl &&
258
- ((_b = entry.verifiablePresentation) === null || _b === void 0 ? void 0 : _b.id) === vpUrl) {
370
+ ((_e = entry.verifiablePresentation) === null || _e === void 0 ? void 0 : _e.id) === vpUrl) {
259
371
  delete record[key];
260
372
  removedStale = true;
261
373
  }
@@ -264,23 +376,58 @@ async function rebindEcsCredentialSchema(agent, publicApiBaseUrl, schemaId, sche
264
376
  didRecord.metadata.set('_vt/vtc', record);
265
377
  await updateDidRecord(agent, didRecord);
266
378
  }
267
- await (0, setupSelfTr_1.generateVerifiablePresentation)(agent, vpUrl, (0, data_1.getEcsSchemas)(publicApiBaseUrl), schemaKey, ['VerifiableCredential', 'VerifiableTrustCredential'], { id: jscUrl, type: 'JsonSchemaCredential' }, defaults);
379
+ await (0, setupSelfTr_1.generateVerifiablePresentation)(agent, vpUrl, (0, data_1.getEcsSchemas)(publicApiBaseUrl), schemaKey, ['VerifiableCredential', 'VerifiableTrustCredential'], { id: jscUrl, type: 'JsonSchemaCredential' }, defaults, async (verifiablePresentation) => {
380
+ var _a;
381
+ 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);
382
+ });
268
383
  const freshRecord = await getDidRecord(agent);
384
+ let recordChanged = false;
385
+ const vtc = (_f = freshRecord.metadata.get('_vt/vtc')) !== null && _f !== void 0 ? _f : {};
386
+ const entry = vtc[jscUrl];
387
+ if (entry && (entry.issuerParticipantId !== issuerParticipantId || entry.schemaKey !== schemaKey)) {
388
+ vtc[jscUrl] = Object.assign(Object.assign({}, entry), { issuerParticipantId, schemaKey });
389
+ freshRecord.metadata.set('_vt/vtc', vtc);
390
+ recordChanged = true;
391
+ }
269
392
  const doc = freshRecord.didDocument;
270
393
  if (doc) {
271
394
  // resolvers match the [VT-CRED-W3C-LINKED-VP] fragment; #whois alone is not enough
272
395
  const expectedServiceId = `${agent.did}#${(0, setupSelfTr_1.linkedVpFragment)(schemaKey)}`;
273
- const linked = (_c = doc.service) === null || _c === void 0 ? void 0 : _c.some(s => s.id === expectedServiceId);
396
+ const linked = (_g = doc.service) === null || _g === void 0 ? void 0 : _g.some(s => s.id === expectedServiceId);
274
397
  if (!linked) {
275
- doc.service = (_d = doc.service) !== null && _d !== void 0 ? _d : [];
398
+ doc.service = (_h = doc.service) !== null && _h !== void 0 ? _h : [];
276
399
  doc.service.push(new core_1.DidDocumentService({
277
400
  id: expectedServiceId,
278
401
  serviceEndpoint: vpUrl,
279
402
  type: 'LinkedVerifiablePresentation',
280
403
  }));
281
- await updateDidRecord(agent, freshRecord);
404
+ recordChanged = true;
282
405
  }
406
+ if (recordChanged)
407
+ await updateDidRecord(agent, freshRecord);
283
408
  }
284
409
  agent.config.logger.info(`[SelfTR] Rebound ${schemaKey} credential to VTJSC ${jscUrl}`);
285
410
  }
411
+ /**
412
+ * Withdraws the ECS credentials anchored against `issuerParticipantId` and republishes the
413
+ * self-issued default in their place, which is what the next start would publish anyway.
414
+ */
415
+ async function withdrawSelfIssuedEcsCredentials(agent, publicApiBaseUrl, issuerParticipantId, defaults) {
416
+ var _a;
417
+ const didRecord = await getDidRecord(agent);
418
+ const withdrawn = [];
419
+ for (const [jscUrl, value] of Object.entries((_a = didRecord.metadata.get('_vt/vtc')) !== null && _a !== void 0 ? _a : {})) {
420
+ const entry = value;
421
+ if (entry.issuerParticipantId !== issuerParticipantId)
422
+ continue;
423
+ await removeTrustCredential(agent, publicApiBaseUrl, jscUrl, '_vt/vtc');
424
+ withdrawn.push(jscUrl);
425
+ const defaultSchema = setupSelfTr_1.presentations.find(p => p.name === entry.schemaKey);
426
+ if (!defaultSchema)
427
+ continue;
428
+ // stays detached when a real trust credential is already stored
429
+ await (0, setupSelfTr_1.generateVerifiablePresentation)(agent, `${publicApiBaseUrl}/vt/${defaultSchema.name}-vtc-vp.json`, (0, data_1.getEcsSchemas)(publicApiBaseUrl), defaultSchema.name, ['VerifiableCredential', 'VerifiableTrustCredential'], { id: (0, setupSelfTr_1.mapToSelfTr)(defaultSchema.schemaUrl, publicApiBaseUrl), type: 'JsonSchemaCredential' }, defaults);
430
+ }
431
+ return withdrawn;
432
+ }
286
433
  //# sourceMappingURL=trustCredentialStore.js.map
@@ -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,18 @@
1
+ import type { VsAgent } from '../agent/VsAgent';
2
+ import type { VeranaIndexerService } from '../blockchain/VeranaIndexerService';
3
+ /**
4
+ * Resolves the VTJSC that a credential of a given schema must name as its `credentialSchema`.
5
+ *
6
+ * The Ecosystem publishes the VTJSC, and it is the only party that does. An issuer that the
7
+ * Ecosystem's Corporation assigned an ISSUER Participant entry usually belongs to another
8
+ * Corporation: it holds no local copy and MUST NOT publish one. It reads the Ecosystem
9
+ * controller's DID Document instead, and follows the Linked Verifiable Presentation that carries
10
+ * the VTJSC of this schema.
11
+ *
12
+ * An agent that controls the Ecosystem itself already stores the same presentation, so it answers
13
+ * from its own record and makes no network call.
14
+ *
15
+ * Returns the id of the JsonSchemaCredential, which is the value a credential carries in
16
+ * `credentialSchema.id`.
17
+ */
18
+ export declare function resolveJsonSchemaCredentialId(agent: VsAgent, indexer: VeranaIndexerService, credentialSchemaId: string | number, chainId: string): Promise<string>;
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveJsonSchemaCredentialId = resolveJsonSchemaCredentialId;
4
+ const trustCredentialStore_1 = require("./trustCredentialStore");
5
+ const util_1 = require("./util");
6
+ const VTJSC_FETCH_TIMEOUT_MS = 30000;
7
+ /**
8
+ * Resolves the VTJSC that a credential of a given schema must name as its `credentialSchema`.
9
+ *
10
+ * The Ecosystem publishes the VTJSC, and it is the only party that does. An issuer that the
11
+ * Ecosystem's Corporation assigned an ISSUER Participant entry usually belongs to another
12
+ * Corporation: it holds no local copy and MUST NOT publish one. It reads the Ecosystem
13
+ * controller's DID Document instead, and follows the Linked Verifiable Presentation that carries
14
+ * the VTJSC of this schema.
15
+ *
16
+ * An agent that controls the Ecosystem itself already stores the same presentation, so it answers
17
+ * from its own record and makes no network call.
18
+ *
19
+ * Returns the id of the JsonSchemaCredential, which is the value a credential carries in
20
+ * `credentialSchema.id`.
21
+ */
22
+ async function resolveJsonSchemaCredentialId(agent, indexer, credentialSchemaId, chainId) {
23
+ var _a, _b, _c, _d, _e, _f, _g, _h;
24
+ const schemaId = String(credentialSchemaId);
25
+ const schemaRef = `vpr:verana:${chainId}:cs:${schemaId}`;
26
+ if (agent.did) {
27
+ const [didRecord] = await agent.dids.getCreatedDids({ did: agent.did });
28
+ const localId = didRecord
29
+ ? (_d = (_c = (_b = (_a = (0, trustCredentialStore_1.findMetadataEntry)(didRecord, '_vt/jsc', '', schemaRef)) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.verifiableCredential) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.id
30
+ : undefined;
31
+ if (localId)
32
+ return localId;
33
+ }
34
+ const schema = await indexer.getCredentialSchema(schemaId);
35
+ const ecosystem = await indexer.getEcosystem(schema.ecosystem_id);
36
+ if (!(ecosystem === null || ecosystem === void 0 ? void 0 : ecosystem.did)) {
37
+ throw new Error(`Ecosystem ${schema.ecosystem_id} of schema ${schemaId} has no DID`);
38
+ }
39
+ // createJsc registers the presentation under this exact service id.
40
+ const serviceId = `${ecosystem.did}#vpr-schemas-${schemaId}-vtjsc-vp`;
41
+ const { didDocument } = await agent.dids.resolve(ecosystem.did);
42
+ const endpoint = (_f = (_e = didDocument === null || didDocument === void 0 ? void 0 : didDocument.service) === null || _e === void 0 ? void 0 : _e.find(service => service.id === serviceId)) === null || _f === void 0 ? void 0 : _f.serviceEndpoint;
43
+ if (typeof endpoint !== 'string') {
44
+ throw new Error(`Ecosystem ${ecosystem.did} publishes no VTJSC for schema ${schemaId} (no service ${serviceId})`);
45
+ }
46
+ // fetchJson applies the timeout and turns a non-2xx answer into an error that names the URL.
47
+ const presentation = await (0, util_1.fetchJson)(endpoint, VTJSC_FETCH_TIMEOUT_MS);
48
+ const jsonSchemaCredentialId = (_h = (_g = presentation.verifiableCredential) === null || _g === void 0 ? void 0 : _g[0]) === null || _h === void 0 ? void 0 : _h.id;
49
+ if (!jsonSchemaCredentialId) {
50
+ throw new Error(`The VTJSC presentation at ${endpoint} carries no credential`);
51
+ }
52
+ return jsonSchemaCredentialId;
53
+ }
54
+ //# sourceMappingURL=vtjscResolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vtjscResolver.js","sourceRoot":"","sources":["../../src/utils/vtjscResolver.ts"],"names":[],"mappings":";;AA4BA,sEAwCC;AAjED,iEAA0D;AAC1D,iCAAkC;AAElC,MAAM,sBAAsB,GAAG,KAAM,CAAA;AAOrC;;;;;;;;;;;;;;GAcG;AACI,KAAK,UAAU,6BAA6B,CACjD,KAAc,EACd,OAA6B,EAC7B,kBAAmC,EACnC,OAAe;;IAEf,MAAM,QAAQ,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAA;IAC3C,MAAM,SAAS,GAAG,cAAc,OAAO,OAAO,QAAQ,EAAE,CAAA;IAExD,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;QACd,MAAM,CAAC,SAAS,CAAC,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAA;QACvE,MAAM,OAAO,GAAG,SAAS;YACvB,CAAC,CAAC,MAAA,MAAA,MAAA,MAAA,IAAA,wCAAiB,EAAC,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,CAAC,0CAAE,IAAI,0CAAE,oBAAoB,0CAAG,CAAC,CAAC,0CAAE,EAAE;YAC7F,CAAC,CAAC,SAAS,CAAA;QACb,IAAI,OAAO;YAAE,OAAO,OAAO,CAAA;IAC7B,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAA;IAC1D,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;IACjE,IAAI,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,GAAG,CAAA,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,aAAa,MAAM,CAAC,YAAY,cAAc,QAAQ,aAAa,CAAC,CAAA;IACtF,CAAC;IAED,oEAAoE;IACpE,MAAM,SAAS,GAAG,GAAG,SAAS,CAAC,GAAG,gBAAgB,QAAQ,WAAW,CAAA;IACrE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;IAC/D,MAAM,QAAQ,GAAG,MAAA,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,OAAO,0CAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,SAAS,CAAC,0CAAE,eAAe,CAAA;IACjG,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CACb,aAAa,SAAS,CAAC,GAAG,kCAAkC,QAAQ,gBAAgB,SAAS,GAAG,CACjG,CAAA;IACH,CAAC;IAED,6FAA6F;IAC7F,MAAM,YAAY,GAAG,MAAM,IAAA,gBAAS,EAAoB,QAAQ,EAAE,sBAAsB,CAAC,CAAA;IACzF,MAAM,sBAAsB,GAAG,MAAA,MAAA,YAAY,CAAC,oBAAoB,0CAAG,CAAC,CAAC,0CAAE,EAAE,CAAA;IACzE,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,6BAA6B,QAAQ,wBAAwB,CAAC,CAAA;IAChF,CAAC;IACD,OAAO,sBAAsB,CAAA;AAC/B,CAAC"}
@@ -1,10 +1,9 @@
1
1
  import { type DidCommJsonLdCredentialDetailFormat, type JsonCredential } from '@credo-ts/didcomm';
2
- import { VtFlowRecord } from '@verana-labs/credo-ts-didcomm-vt-flow';
2
+ import { VtFlowRecord, type VtFlowEcsIssuanceExemptionContext } from '@verana-labs/credo-ts-didcomm-vt-flow';
3
3
  import { BaseAgentModules, VsAgent } from '../agent';
4
- import { VeranaIndexerService } from '../blockchain/VeranaIndexerService';
4
+ import { Participant } from '../blockchain/types';
5
5
  export interface VtFlowOrchestratorOptions {
6
6
  publicApiBaseUrl?: string;
7
- indexer?: VeranaIndexerService;
8
7
  agentParticipantId?: number;
9
8
  walletAgentParticipantId?: number;
10
9
  }
@@ -13,13 +12,23 @@ export interface StartOnboardingProcessInput {
13
12
  participantSessionId?: string;
14
13
  claims?: Record<string, unknown>;
15
14
  }
16
- export interface ValidateAndOfferCredentialInput {
15
+ export interface ValidateOnboardingProcessInput {
17
16
  vtFlowRecordId: string;
17
+ /** Only for a HOLDER. It defaults to the schema of the applicant participant. */
18
+ credentialSchemaId?: string;
19
+ credentialType?: string[];
20
+ credentialContext?: string[];
21
+ }
22
+ export interface OfferOnboardingCredentialInput {
23
+ vtFlowRecordId: string;
24
+ /** The credential validateOnboardingProcess built. Without it the method builds one. */
25
+ credential?: JsonCredential;
26
+ /** It defaults to the schema of the applicant participant. */
27
+ credentialSchemaId?: string;
28
+ /** The participant validateOnboardingProcess returned; saves a second chain read. */
29
+ participant?: Participant;
18
30
  credentialType?: string[];
19
31
  credentialContext?: string[];
20
- credentialSchemaId: string;
21
- agentParticipantId?: number;
22
- walletAgentParticipantId?: number;
23
32
  }
24
33
  export interface AcceptCredentialInput {
25
34
  vtFlowRecordId: string;
@@ -29,7 +38,35 @@ export declare class VtFlowOrchestrator {
29
38
  private readonly options;
30
39
  constructor(agent: VsAgent<BaseAgentModules>, options?: VtFlowOrchestratorOptions);
31
40
  startOnboardingProcess(input: StartOnboardingProcessInput): Promise<VtFlowRecord>;
32
- validateAndOfferCredential(input: ValidateAndOfferCredentialInput): Promise<VtFlowRecord>;
41
+ /**
42
+ * Validate an onboarding process: record the outcome on-chain, accept the onboarding request and
43
+ * move the record to VALIDATED. It sends no credential. Only a HOLDER takes part in a credential
44
+ * exchange; an ISSUER, a VERIFIER or a grantor joins the Ecosystem, and SetParticipantOPToValidated
45
+ * is the whole of it. The caller decides what follows, from the role of the returned participant.
46
+ *
47
+ * For a HOLDER it builds the credential before the chain write, and returns it for
48
+ * offerOnboardingCredential. Claims that do not satisfy the schema, or a schema fetch that fails,
49
+ * must stop the process while the chain holds no outcome yet and the caller can repeat the call.
50
+ *
51
+ * A record that is already VALIDATED and has no credential exchange keeps the chain outcome and
52
+ * only builds the credential again. A repeat call thus re-drives an offer that did not complete.
53
+ */
54
+ validateOnboardingProcess(input: ValidateOnboardingProcessInput): Promise<{
55
+ record: VtFlowRecord;
56
+ participant: Participant;
57
+ credential?: JsonCredential;
58
+ }>;
59
+ /**
60
+ * Offer the credential of an onboarding process to its applicant. Call it only for a HOLDER, and
61
+ * only after validateOnboardingProcess has moved the record to VALIDATED. Give it the credential
62
+ * that validateOnboardingProcess built, so that the process does not build the credential twice.
63
+ */
64
+ offerOnboardingCredential(input: OfferOnboardingCredentialInput): Promise<VtFlowRecord>;
65
+ /**
66
+ * Close an onboarding process that carries no credential exchange, on the validator side. The
67
+ * applicant reaches the same state from the SetParticipantOPToValidated chain event.
68
+ */
69
+ completeOnboardingProcess(vtFlowRecordId: string): Promise<VtFlowRecord>;
33
70
  acceptCredential(input: AcceptCredentialInput): Promise<VtFlowRecord>;
34
71
  buildDirectIssuanceOffer(vtFlowRecordId: string): Promise<{
35
72
  credentialFormats: {
@@ -38,6 +75,7 @@ export declare class VtFlowOrchestrator {
38
75
  issuerParticipantId: number;
39
76
  } | null>;
40
77
  private buildCredential;
78
+ private resolveJsonSchemaCredentialId;
41
79
  /** Per the spec the algorithm comes from the schema, never from the digest value. */
42
80
  private digestAlgorithmForSchema;
43
81
  /** Fired after signing and before delivery, so a failure here must abort the issuance. */
@@ -47,7 +85,7 @@ export declare class VtFlowOrchestrator {
47
85
  onCredentialCompleted(vtFlowRecordId: string): Promise<void>;
48
86
  private triggerResolver;
49
87
  private getOfferedCredentialJson;
50
- private requireIndexer;
88
+ checkEcsIssuanceExemption(context: VtFlowEcsIssuanceExemptionContext): Promise<boolean>;
51
89
  publishCredentialAsLinkedVp(vtFlowRecordId: string): Promise<void>;
52
90
  private extractSchemaBaseId;
53
91
  rotateRequesterDidToPeer(connectionId: string): Promise<void>;