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

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 +60 -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 +148 -10
  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");
@@ -77,8 +81,10 @@ async function saveMetadataEntry(agent, didRecord, credential, verifiablePresent
77
81
  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
82
  if (service && ((_h = verifiablePresentation.id) === null || _h === void 0 ? void 0 : _h.includes('service')))
79
83
  service.serviceEndpoint = verifiablePresentation.id;
80
- // When a new VTC has been added, remove the self VTCs
81
- updateVtcEntries(didRecord, false, publicApiBaseUrl);
84
+ // A JSON schema credential says nothing about this agent's own ECS identity, so only a real
85
+ // trust credential replaces the self-issued ones.
86
+ if (key === '_vt/vtc')
87
+ updateVtcEntries(didRecord, false, publicApiBaseUrl);
82
88
  await updateDidRecord(agent, didRecord);
83
89
  }
84
90
  async function deleteMetadataEntry(agent, id, didRecord, key, publicApiBaseUrl) {
@@ -187,7 +193,9 @@ async function createJsc(agent, publicApiBaseUrl, ecsSchemas, options) {
187
193
  async function removeTrustCredential(agent, publicApiBaseUrl, schemaId, key) {
188
194
  var _a;
189
195
  const didRecord = await getDidRecord(agent);
190
- const record = findMetadataEntry(didRecord, key, schemaId);
196
+ // same lookup deleteMetadataEntry performs: a self-issued entry carries the agent DID as
197
+ // credential id, so only its metadata key reaches it
198
+ const record = findMetadataEntry(didRecord, key, schemaId, schemaId);
191
199
  // Currently, we only use one serviceEndpoint per ID.
192
200
  // In the future, if multiple serviceEndpoints exist for the same ID,
193
201
  // we should review the serviceEndpoint content and remove only the specific one.
@@ -239,16 +247,111 @@ async function migrateVtjscServiceIds(agent) {
239
247
  await updateDidRecord(agent, didRecord);
240
248
  agent.config.logger.info('[VTJSC] migrated stored service ids to the -vtjsc-vp naming');
241
249
  }
250
+ /**
251
+ * Takes the linked VPs of the given `_vt/jsc` entries out of the DID Document, publishing it once.
252
+ *
253
+ * The entries stay: `SelfTrController` serves them, and issued credentials name that URL in
254
+ * `credentialSchema.id`. Dropping one would 404 it and leave those credentials unverifiable.
255
+ */
256
+ async function detachVtjscPublications(agent, schemaRefs) {
257
+ var _a, _b;
258
+ if (schemaRefs.length === 0)
259
+ return [];
260
+ const didRecord = await getDidRecord(agent);
261
+ if (!((_a = didRecord === null || didRecord === void 0 ? void 0 : didRecord.didDocument) === null || _a === void 0 ? void 0 : _a.service))
262
+ return [];
263
+ const metadata = didRecord.metadata.get('_vt/jsc');
264
+ if (!metadata)
265
+ return [];
266
+ const detached = [];
267
+ for (const schemaRef of schemaRefs) {
268
+ const serviceId = (_b = metadata[schemaRef]) === null || _b === void 0 ? void 0 : _b.didDocumentServiceId;
269
+ if (!serviceId || !didRecord.didDocument.service.some(s => s.id === serviceId))
270
+ continue;
271
+ didRecord.didDocument.service = didRecord.didDocument.service.filter(s => s.id !== serviceId);
272
+ detached.push(schemaRef);
273
+ }
274
+ if (detached.length === 0)
275
+ return [];
276
+ await updateDidRecord(agent, didRecord);
277
+ return detached;
278
+ }
279
+ /**
280
+ * Puts a detached `_vt/jsc` entry back in the DID Document.
281
+ *
282
+ * The publication pass skips an entry whose digest still matches, so without this the agent would
283
+ * keep serving a VTJSC it never announces again.
284
+ */
285
+ async function reattachVtjscPublication(agent, schemaRef) {
286
+ var _a, _b, _c;
287
+ const didRecord = await getDidRecord(agent);
288
+ if (!(didRecord === null || didRecord === void 0 ? void 0 : didRecord.didDocument))
289
+ return false;
290
+ const entry = (_a = didRecord.metadata.get('_vt/jsc')) === null || _a === void 0 ? void 0 : _a[schemaRef];
291
+ const serviceId = entry === null || entry === void 0 ? void 0 : entry.didDocumentServiceId;
292
+ const serviceEndpoint = (_b = entry === null || entry === void 0 ? void 0 : entry.verifiablePresentation) === null || _b === void 0 ? void 0 : _b.id;
293
+ if (!serviceId || !serviceEndpoint)
294
+ return false;
295
+ const services = (_c = didRecord.didDocument.service) !== null && _c !== void 0 ? _c : [];
296
+ if (services.some(s => s.id === serviceId))
297
+ return false;
298
+ didRecord.didDocument.service = [
299
+ ...services,
300
+ new core_1.DidDocumentService({ id: serviceId, serviceEndpoint, type: 'LinkedVerifiablePresentation' }),
301
+ ];
302
+ await updateDidRecord(agent, didRecord);
303
+ return true;
304
+ }
242
305
  function getTrustMetadata(didRecord, key, schemaId) {
243
306
  return findMetadataEntry(didRecord, key, schemaId);
244
307
  }
308
+ /**
309
+ * Anchors a self-issued ECS credential, the same way as any other issuance: through
310
+ * CreateOrUpdateParticipantSession, which stores the digest in the `di` module keeper-to-keeper.
311
+ *
312
+ * `issuerParticipantId` must name an active ISSUER participant of this agent for the schema, whose
313
+ * vs_operator is this agent's account — the chain accepts the session from no other signer. The
314
+ * caller resolves it, because it already lists the agent's participants to decide what to rebind.
315
+ */
316
+ async function anchorCredentialDigest(agent, schemaId, credential, issuerParticipantId) {
317
+ const chain = agent.veranaChain;
318
+ if (!chain)
319
+ return;
320
+ if (!credential)
321
+ throw new Error(`[DigestAnchor] The presentation for schema ${schemaId} has no credential`);
322
+ if (!agent.did)
323
+ throw new Error('[DigestAnchor] The agent has no public DID');
324
+ const schema = await chain.getCredentialSchema(schemaId);
325
+ if (!schema)
326
+ throw new Error(`[DigestAnchor] Credential schema ${schemaId} is not on chain`);
327
+ const digest = (0, verre_1.computeCredentialDigestJCS)(core_1.JsonTransformer.toJSON(credential), schema.digestAlgorithm);
328
+ // the same credential gives the same digest on each run, so an anchored digest needs no second transaction
329
+ if (await chain.getDigest(digest))
330
+ return;
331
+ // A self-issued credential has no counterparty, so the session names only the issuer.
332
+ const { txHash } = await chain.createOrUpdateParticipantSession({
333
+ id: core_1.utils.uuid(),
334
+ issuerParticipantId,
335
+ agentParticipantId: 0,
336
+ walletAgentParticipantId: 0,
337
+ digest,
338
+ });
339
+ agent.config.logger.info(`[DigestAnchor] Anchored digest ${digest} for schema ${schemaId} against issuer participant ${issuerParticipantId} (tx ${txHash})`);
340
+ }
245
341
  // 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;
342
+ /**
343
+ * @param jsonSchemaCredentialId the VTJSC the Ecosystem published for this schema. Only the
344
+ * Ecosystem publishes it, so an agent that issues against another Corporation's Ecosystem must
345
+ * resolve it there — see resolveJsonSchemaCredentialId.
346
+ * @param issuerParticipantId this agent's ISSUER participant for the schema, which anchors the
347
+ * credential digest.
348
+ */
349
+ async function rebindEcsCredentialSchema(agent, publicApiBaseUrl, schemaId, schemaKey, defaults, jsonSchemaCredentialId, issuerParticipantId) {
350
+ var _a, _b, _c, _d, _e;
248
351
  if (!['ecs-service', 'ecs-org'].includes(schemaKey) || !agent.did)
249
352
  return;
250
353
  const vpUrl = `${publicApiBaseUrl}/vt/${schemaKey}-vtc-vp.json`;
251
- const jscUrl = `${publicApiBaseUrl}/vt/schemas-${schemaId}-jsc.json`;
354
+ const jscUrl = jsonSchemaCredentialId;
252
355
  const didRecord = await getDidRecord(agent);
253
356
  const record = (_a = didRecord.metadata.get('_vt/vtc')) !== null && _a !== void 0 ? _a : {};
254
357
  let removedStale = false;
@@ -264,23 +367,58 @@ async function rebindEcsCredentialSchema(agent, publicApiBaseUrl, schemaId, sche
264
367
  didRecord.metadata.set('_vt/vtc', record);
265
368
  await updateDidRecord(agent, didRecord);
266
369
  }
267
- await (0, setupSelfTr_1.generateVerifiablePresentation)(agent, vpUrl, (0, data_1.getEcsSchemas)(publicApiBaseUrl), schemaKey, ['VerifiableCredential', 'VerifiableTrustCredential'], { id: jscUrl, type: 'JsonSchemaCredential' }, defaults);
370
+ await (0, setupSelfTr_1.generateVerifiablePresentation)(agent, vpUrl, (0, data_1.getEcsSchemas)(publicApiBaseUrl), schemaKey, ['VerifiableCredential', 'VerifiableTrustCredential'], { id: jscUrl, type: 'JsonSchemaCredential' }, defaults, async (verifiablePresentation) => {
371
+ var _a;
372
+ 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);
373
+ });
268
374
  const freshRecord = await getDidRecord(agent);
375
+ let recordChanged = false;
376
+ const vtc = (_c = freshRecord.metadata.get('_vt/vtc')) !== null && _c !== void 0 ? _c : {};
377
+ const entry = vtc[jscUrl];
378
+ if (entry && (entry.issuerParticipantId !== issuerParticipantId || entry.schemaKey !== schemaKey)) {
379
+ vtc[jscUrl] = Object.assign(Object.assign({}, entry), { issuerParticipantId, schemaKey });
380
+ freshRecord.metadata.set('_vt/vtc', vtc);
381
+ recordChanged = true;
382
+ }
269
383
  const doc = freshRecord.didDocument;
270
384
  if (doc) {
271
385
  // resolvers match the [VT-CRED-W3C-LINKED-VP] fragment; #whois alone is not enough
272
386
  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);
387
+ const linked = (_d = doc.service) === null || _d === void 0 ? void 0 : _d.some(s => s.id === expectedServiceId);
274
388
  if (!linked) {
275
- doc.service = (_d = doc.service) !== null && _d !== void 0 ? _d : [];
389
+ doc.service = (_e = doc.service) !== null && _e !== void 0 ? _e : [];
276
390
  doc.service.push(new core_1.DidDocumentService({
277
391
  id: expectedServiceId,
278
392
  serviceEndpoint: vpUrl,
279
393
  type: 'LinkedVerifiablePresentation',
280
394
  }));
281
- await updateDidRecord(agent, freshRecord);
395
+ recordChanged = true;
282
396
  }
397
+ if (recordChanged)
398
+ await updateDidRecord(agent, freshRecord);
283
399
  }
284
400
  agent.config.logger.info(`[SelfTR] Rebound ${schemaKey} credential to VTJSC ${jscUrl}`);
285
401
  }
402
+ /**
403
+ * Withdraws the ECS credentials anchored against `issuerParticipantId` and republishes the
404
+ * self-issued default in their place, which is what the next start would publish anyway.
405
+ */
406
+ async function withdrawSelfIssuedEcsCredentials(agent, publicApiBaseUrl, issuerParticipantId, defaults) {
407
+ var _a;
408
+ const didRecord = await getDidRecord(agent);
409
+ const withdrawn = [];
410
+ for (const [jscUrl, value] of Object.entries((_a = didRecord.metadata.get('_vt/vtc')) !== null && _a !== void 0 ? _a : {})) {
411
+ const entry = value;
412
+ if (entry.issuerParticipantId !== issuerParticipantId)
413
+ continue;
414
+ await removeTrustCredential(agent, publicApiBaseUrl, jscUrl, '_vt/vtc');
415
+ withdrawn.push(jscUrl);
416
+ const defaultSchema = setupSelfTr_1.presentations.find(p => p.name === entry.schemaKey);
417
+ if (!defaultSchema)
418
+ continue;
419
+ // stays detached when a real trust credential is already stored
420
+ 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);
421
+ }
422
+ return withdrawn;
423
+ }
286
424
  //# 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>;