@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
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createInvitation = createInvitation;
4
+ exports.connectToPublicDid = connectToPublicDid;
4
5
  exports.getRecordId = getRecordId;
5
6
  exports.getWebDid = getWebDid;
6
7
  const core_1 = require("@credo-ts/core");
@@ -16,14 +17,14 @@ async function createInvitation(options) {
16
17
  const { agent, messages, useLegacyDid, invitationBaseUrl, imageUrl, didCommVersion } = options;
17
18
  // Use legacy did:web in case agent's did is webvh and using legacy did
18
19
  const ourDid = agent.did && (0, core_1.parseDid)(agent.did).method === 'webvh' && useLegacyDid
19
- ? `did:web:${(0, core_1.parseDid)(agent.did).id.split(':')[1]}`
20
+ ? `did:web:${(0, core_1.parseDid)(agent.did).id.split(':').slice(1).join(':')}`
20
21
  : agent.did;
21
- const effectiveVersion = didCommVersion !== null && didCommVersion !== void 0 ? didCommVersion : (agent.didcomm.config.sendsV2 ? 'v2' : 'v1');
22
+ const effectiveVersion = didCommVersion !== null && didCommVersion !== void 0 ? didCommVersion : 'v2';
22
23
  const isV2 = effectiveVersion === 'v2';
23
24
  if (!agent.didcomm.config.didcommVersions.includes(effectiveVersion)) {
24
25
  throw new Error(`Cannot create ${effectiveVersion} invitation: agent is configured with ` +
25
26
  `didcommVersions: [${agent.didcomm.config.didcommVersions.join(', ')}]. ` +
26
- `Add "${effectiveVersion}" to AGENT_DIDCOMM_VERSIONS or omit didCommVersion from the request.`);
27
+ `Add "${effectiveVersion}" to the agent's didcommVersions configuration.`);
27
28
  }
28
29
  const outOfBandInvitation = (await agent.didcomm.oob.createInvitation(Object.assign({ label: agent.label, multiUseInvitation: !messages, imageUrl,
29
30
  messages, didCommVersion: effectiveVersion }, (isV2
@@ -38,6 +39,54 @@ async function createInvitation(options) {
38
39
  }),
39
40
  };
40
41
  }
42
+ /**
43
+ * Connects to a peer that publishes a public DID, and reuses the connection that the
44
+ * agent already has to that peer.
45
+ *
46
+ * The agent must keep one connection record only for each peer. A second record for the
47
+ * same pair of DIDs makes the `findByDids` lookup of the message receiver throw
48
+ * `RecordDuplicateError`, and the agent then fails to process every inbound message from
49
+ * that peer. To find the existing record, the agent reads the `publicDid` tag that it
50
+ * sets on each connection to a peer that publishes a public DID.
51
+ *
52
+ * @param agent the local agent
53
+ * @param peerPublicDid the public DID of the peer
54
+ * @returns the id of a ready connection record
55
+ */
56
+ async function connectToPublicDid(agent, peerPublicDid) {
57
+ if (!agent.did)
58
+ throw new Error('Agent has no public DID');
59
+ const [existing] = await agent.didcomm.connections.findAllByQuery({
60
+ publicDid: peerPublicDid,
61
+ });
62
+ if (existing)
63
+ return (await agent.didcomm.connections.returnWhenIsConnected(existing.id)).id;
64
+ const { connectionRecord } = await agent.didcomm.oob.receiveImplicitInvitation({
65
+ did: peerPublicDid,
66
+ ourDid: agent.did,
67
+ label: agent.label,
68
+ didCommVersion: 'v2',
69
+ });
70
+ if (!connectionRecord)
71
+ throw new Error(`Failed to establish a DIDComm connection to ${peerPublicDid}`);
72
+ try {
73
+ // Tag the record with the public DID of the peer, to find it on the next call.
74
+ connectionRecord.setTag('publicDid', peerPublicDid);
75
+ await agent.context.resolve(didcomm_1.DidCommConnectionRepository).update(agent.context, connectionRecord);
76
+ const ready = await agent.didcomm.connections.returnWhenIsConnected(connectionRecord.id);
77
+ return ready.id;
78
+ }
79
+ catch (error) {
80
+ // Delete the incomplete record. If it stays, the next call reuses a connection that
81
+ // the peer never completed, and a later retry adds a duplicate record for the pair.
82
+ await agent.didcomm.connections.deleteById(connectionRecord.id).catch(deleteError => {
83
+ agent.config.logger.warn(`Failed to delete the incomplete connection ${connectionRecord.id}`, {
84
+ error: deleteError,
85
+ });
86
+ });
87
+ throw error;
88
+ }
89
+ }
41
90
  async function getRecordId(agent, id) {
42
91
  var _a;
43
92
  const record = await agent.genericRecords.findById(id);
@@ -49,7 +98,7 @@ async function getWebDid(agent) {
49
98
  if (parsedDid.method === 'web')
50
99
  return agent.did;
51
100
  if (parsedDid.method === 'webvh')
52
- return `did:web:${parsedDid.id.split(':')[1]}`;
101
+ return `did:web:${parsedDid.id.split(':').slice(1).join(':')}`;
53
102
  }
54
103
  }
55
104
  //# sourceMappingURL=agent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/utils/agent.ts"],"names":[],"mappings":";;AAYA,4CA+CC;AAED,kCAGC;AAED,8BAOC;AAvED,yCAAyC;AACzC,+CAAiG;AAEjG;;;;;;GAMG;AACI,KAAK,UAAU,gBAAgB,CAAC,OAOtC;IACC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,iBAAiB,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,OAAO,CAAA;IAE9F,uEAAuE;IACvE,MAAM,MAAM,GACV,KAAK,CAAC,GAAG,IAAI,IAAA,eAAQ,EAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,OAAO,IAAI,YAAY;QACjE,CAAC,CAAC,WAAW,IAAA,eAAQ,EAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;QACnD,CAAC,CAAC,KAAK,CAAC,GAAG,CAAA;IAEf,MAAM,gBAAgB,GAAmB,cAAc,aAAd,cAAc,cAAd,cAAc,GAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IACvG,MAAM,IAAI,GAAG,gBAAgB,KAAK,IAAI,CAAA;IAEtC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACrE,MAAM,IAAI,KAAK,CACb,iBAAiB,gBAAgB,wCAAwC;YACvE,qBAAqB,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;YACzE,QAAQ,gBAAgB,sEAAsE,CACjG,CAAA;IACH,CAAC;IAED,MAAM,mBAAmB,GAAG,CAC1B,MAAM,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,iBACtC,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,kBAAkB,EAAE,CAAC,QAAQ,EAC7B,QAAQ;QACR,QAAQ,EACR,cAAc,EAAE,gBAAgB,IAC7B,CAAC,IAAI;QACN,CAAC,CAAC,EAAE,MAAM,EAAE;QACZ,CAAC,CAAC;YACE,kBAAkB,EAAE,CAAC,kCAAwB,CAAC,WAAW,EAAE,kCAAwB,CAAC,WAAW,CAAC;YAChG,aAAa,EAAE,MAAM;SACtB,CAAC,EACN,CACH,CAAC,mBAAmB,CAAA;IACrB,OAAO;QACL,GAAG,EAAE,mBAAmB,CAAC,KAAK,CAAC;YAC7B,MAAM,EAAE,iBAAiB;SAC1B,CAAC;KACH,CAAA;AACH,CAAC;AAEM,KAAK,UAAU,WAAW,CAAC,KAAc,EAAE,EAAU;;IAC1D,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IACtD,OAAO,MAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,CAAC,WAAW,CAAY,mCAAI,EAAE,CAAA;AACtD,CAAC;AAEM,KAAK,UAAU,SAAS,CAAC,KAAc;IAC5C,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;QACd,MAAM,SAAS,GAAG,IAAA,eAAQ,EAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAErC,IAAI,SAAS,CAAC,MAAM,KAAK,KAAK;YAAE,OAAO,KAAK,CAAC,GAAG,CAAA;QAChD,IAAI,SAAS,CAAC,MAAM,KAAK,OAAO;YAAE,OAAO,WAAW,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAClF,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/utils/agent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { Logger } from '@credo-ts/core';
2
+ import { VsAgent } from '../agent/VsAgent';
3
+ /**
4
+ * Waits until this agent's own DID document is fetchable at its public endpoint, so a peer
5
+ * can resolve it as soon as we reach out. Checks the same file a peer's resolver would fetch:
6
+ * did.jsonl for did:webvh, did.json for did:web. Logs and returns if the deadline passes,
7
+ * rather than blocking the caller forever on a misconfigured deployment.
8
+ */
9
+ export declare function waitUntilOwnDidIsPubliclyResolvable(agent: VsAgent, logger: Logger): Promise<void>;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.waitUntilOwnDidIsPubliclyResolvable = waitUntilOwnDidIsPubliclyResolvable;
4
+ // On a fresh deployment, the ingress route to this agent's own public endpoint
5
+ // can lag a few seconds behind the process becoming ready (e.g. a k8s Service
6
+ // has not finished propagating the new pod IP yet). A peer resolves our DID as
7
+ // part of processing any message we send it, so we wait for our own DID
8
+ // document to be publicly fetchable before reaching out to one.
9
+ const OWN_DID_READY_TIMEOUT_MS = 60000;
10
+ const OWN_DID_READY_POLL_INTERVAL_MS = 2000;
11
+ /**
12
+ * Waits until this agent's own DID document is fetchable at its public endpoint, so a peer
13
+ * can resolve it as soon as we reach out. Checks the same file a peer's resolver would fetch:
14
+ * did.jsonl for did:webvh, did.json for did:web. Logs and returns if the deadline passes,
15
+ * rather than blocking the caller forever on a misconfigured deployment.
16
+ */
17
+ async function waitUntilOwnDidIsPubliclyResolvable(agent, logger) {
18
+ const did = agent.did;
19
+ if (!did || !agent.publicApiBaseUrl)
20
+ return;
21
+ const documentFile = did.startsWith('did:web:') ? 'did.json' : 'did.jsonl';
22
+ const baseUrl = agent.publicApiBaseUrl.replace(/\/+$/, '');
23
+ // A path-based DID location serves its document at <base>/did.json(l), not under /.well-known
24
+ const hasPath = new URL(baseUrl).pathname !== '/';
25
+ const url = hasPath ? `${baseUrl}/${documentFile}` : `${baseUrl}/.well-known/${documentFile}`;
26
+ const deadline = Date.now() + OWN_DID_READY_TIMEOUT_MS;
27
+ let lastStatus = 'unreachable';
28
+ while (Date.now() < deadline) {
29
+ try {
30
+ const response = await fetch(url);
31
+ if (response.ok)
32
+ return;
33
+ lastStatus = response.status;
34
+ }
35
+ catch (error) {
36
+ lastStatus = error.message;
37
+ }
38
+ await new Promise(resolve => setTimeout(resolve, OWN_DID_READY_POLL_INTERVAL_MS));
39
+ }
40
+ logger.warn(`[DidReadiness] own DID document at ${url} was not publicly resolvable after ${OWN_DID_READY_TIMEOUT_MS}ms (last: ${lastStatus}); proceeding anyway`);
41
+ }
42
+ //# sourceMappingURL=didReadiness.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"didReadiness.js","sourceRoot":"","sources":["../../src/utils/didReadiness.ts"],"names":[],"mappings":";;AAkBA,kFAyBC;AAvCD,+EAA+E;AAC/E,8EAA8E;AAC9E,+EAA+E;AAC/E,wEAAwE;AACxE,gEAAgE;AAChE,MAAM,wBAAwB,GAAG,KAAM,CAAA;AACvC,MAAM,8BAA8B,GAAG,IAAK,CAAA;AAE5C;;;;;GAKG;AACI,KAAK,UAAU,mCAAmC,CAAC,KAAc,EAAE,MAAc;IACtF,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAA;IACrB,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB;QAAE,OAAM;IAE3C,MAAM,YAAY,GAAG,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAA;IAC1E,MAAM,OAAO,GAAG,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IAC1D,8FAA8F;IAC9F,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAK,GAAG,CAAA;IACjD,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,IAAI,YAAY,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,gBAAgB,YAAY,EAAE,CAAA;IAE7F,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,wBAAwB,CAAA;IACtD,IAAI,UAAU,GAAoB,aAAa,CAAA;IAC/C,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAA;YACjC,IAAI,QAAQ,CAAC,EAAE;gBAAE,OAAM;YACvB,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAA;QAC9B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,UAAU,GAAI,KAAe,CAAC,OAAO,CAAA;QACvC,CAAC;QACD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,8BAA8B,CAAC,CAAC,CAAA;IACnF,CAAC;IACD,MAAM,CAAC,IAAI,CACT,sCAAsC,GAAG,sCAAsC,wBAAwB,aAAa,UAAU,sBAAsB,CACrJ,CAAA;AACH,CAAC"}
@@ -3,3 +3,4 @@ export * from './data';
3
3
  export * from './setupSelfTr';
4
4
  export * from './trustCredentialStore';
5
5
  export * from './util';
6
+ export * from './vtjscResolver';
@@ -19,4 +19,5 @@ __exportStar(require("./data"), exports);
19
19
  __exportStar(require("./setupSelfTr"), exports);
20
20
  __exportStar(require("./trustCredentialStore"), exports);
21
21
  __exportStar(require("./util"), exports);
22
+ __exportStar(require("./vtjscResolver"), exports);
22
23
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAuB;AACvB,yCAAsB;AACtB,gDAA6B;AAC7B,yDAAsC;AACtC,yCAAsB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAuB;AACvB,yCAAsB;AACtB,gDAA6B;AAC7B,yDAAsC;AACtC,yCAAsB;AACtB,kDAA+B"}
@@ -31,6 +31,7 @@ export declare const createJsonSchema: W3cCredentialSchema;
31
31
  export declare const createJsonSubjectRef: (id: string) => W3cCredentialSubject;
32
32
  export declare const linkedVpFragment: (schemaKey: string) => string;
33
33
  export declare const mapToSelfTr: (url: string, publicApiBaseUrl: string) => string;
34
+ export declare const sortKeysDeep: (value: unknown) => unknown;
34
35
  export declare const setupSelfTr: ({ agent, publicApiBaseUrl, defaults, }: {
35
36
  agent: VsAgent;
36
37
  publicApiBaseUrl: string;
@@ -65,9 +66,10 @@ export declare function signerW3c(agent: VsAgent, obj: W3cPresentation, verifica
65
66
  * @param schemaKey - Unique identifier for the presentation type and metadata key.
66
67
  * @param type - Array of credential types to include.
67
68
  * @param credentialSchema - Schema definition for the credential.
69
+ * @param beforePublish - Step that must succeed before a linked presentation counts as published.
68
70
  * @returns The signed verifiable presentation, with integrity metadata.
69
71
  */
70
- export declare function generateVerifiablePresentation(agent: VsAgent, id: string, ecsSchemas: Record<string, string>, schemaKey: string, type: string[], credentialSchema: W3cCredentialSchema, defaults: SelfTrDefaults): Promise<any>;
72
+ export declare function generateVerifiablePresentation(agent: VsAgent, id: string, ecsSchemas: Record<string, string>, schemaKey: string, type: string[], credentialSchema: W3cCredentialSchema, defaults: SelfTrDefaults, beforePublish?: (verifiablePresentation: any) => Promise<void>): Promise<any>;
71
73
  export declare function createPresentation(options: Partial<W3cPresentationOptions>): W3cPresentation;
72
74
  /**
73
75
  * Retrieves and validates claims for a credential subject.
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.setupSelfTr = exports.mapToSelfTr = exports.linkedVpFragment = exports.createJsonSubjectRef = exports.createJsonSchema = exports.credentials = exports.presentations = void 0;
6
+ exports.setupSelfTr = exports.sortKeysDeep = exports.mapToSelfTr = exports.linkedVpFragment = exports.createJsonSubjectRef = exports.createJsonSchema = exports.credentials = exports.presentations = void 0;
7
7
  exports.createCredential = createCredential;
8
8
  exports.signerW3c = signerW3c;
9
9
  exports.generateVerifiablePresentation = generateVerifiablePresentation;
@@ -71,8 +71,27 @@ const linkedVpFragment = (schemaKey) => `vpr-schemas-${schemaKey.replace(/^ecs-/
71
71
  exports.linkedVpFragment = linkedVpFragment;
72
72
  const mapToSelfTr = (url, publicApiBaseUrl) => url.replace('ecosystem', `${publicApiBaseUrl}/vt`);
73
73
  exports.mapToSelfTr = mapToSelfTr;
74
+ // A plain array replacer only allowlists property names, applied at every
75
+ // nesting level — nested objects like `claims` and `credentialSchema` would
76
+ // serialize to `{}` since none of their own keys appear in a top-level
77
+ // key list. Sort keys recursively instead, so the hash actually reflects
78
+ // nested content and changes to claims invalidate the cache correctly.
79
+ const sortKeysDeep = (value) => {
80
+ if (Array.isArray(value))
81
+ return value.map(exports.sortKeysDeep);
82
+ if (value !== null && typeof value === 'object') {
83
+ return Object.keys(value)
84
+ .sort()
85
+ .reduce((acc, key) => {
86
+ acc[key] = (0, exports.sortKeysDeep)(value[key]);
87
+ return acc;
88
+ }, {});
89
+ }
90
+ return value;
91
+ };
92
+ exports.sortKeysDeep = sortKeysDeep;
74
93
  const buildIntegrityData = (data) => {
75
- return generateDigestSRI(JSON.stringify(data, Object.keys(data).sort()));
94
+ return generateDigestSRI(JSON.stringify((0, exports.sortKeysDeep)(data)));
76
95
  };
77
96
  const setupSelfTr = async ({ agent, publicApiBaseUrl, defaults, }) => {
78
97
  const ecsSchemas = (0, data_1.getEcsSchemas)(publicApiBaseUrl);
@@ -197,6 +216,28 @@ async function signerW3c(agent, obj, verificationMethod) {
197
216
  });
198
217
  }
199
218
  }
219
+ function storedCredentialIsCurrent(credential, credentialSchemaId, did, didRecord) {
220
+ var _a, _b, _c;
221
+ if (!credential)
222
+ return false;
223
+ const issuer = typeof credential.issuer === 'string' ? credential.issuer : (_a = credential.issuer) === null || _a === void 0 ? void 0 : _a.id;
224
+ if (issuer !== did)
225
+ return false;
226
+ const schema = Array.isArray(credential.credentialSchema)
227
+ ? credential.credentialSchema[0]
228
+ : credential.credentialSchema;
229
+ if ((schema === null || schema === void 0 ? void 0 : schema.id) !== credentialSchemaId)
230
+ return false;
231
+ const proofs = !credential.proof
232
+ ? []
233
+ : Array.isArray(credential.proof)
234
+ ? credential.proof
235
+ : [credential.proof];
236
+ if (proofs.length === 0)
237
+ return false;
238
+ const assertionMethods = new Set(((_c = (_b = didRecord.didDocument) === null || _b === void 0 ? void 0 : _b.assertionMethod) !== null && _c !== void 0 ? _c : []).map(entry => typeof entry === 'string' ? entry : entry.id));
239
+ return proofs.every(proof => !!proof.verificationMethod && assertionMethods.has(proof.verificationMethod));
240
+ }
200
241
  /**
201
242
  * Generates and signs a verifiable presentation containing a verifiable credential.
202
243
  * Stores the signed presentation and its integrity metadata in the DID record.
@@ -212,10 +253,11 @@ async function signerW3c(agent, obj, verificationMethod) {
212
253
  * @param schemaKey - Unique identifier for the presentation type and metadata key.
213
254
  * @param type - Array of credential types to include.
214
255
  * @param credentialSchema - Schema definition for the credential.
256
+ * @param beforePublish - Step that must succeed before a linked presentation counts as published.
215
257
  * @returns The signed verifiable presentation, with integrity metadata.
216
258
  */
217
- async function generateVerifiablePresentation(agent, id, ecsSchemas, schemaKey, type, credentialSchema, defaults) {
218
- var _a, _b, _c, _d;
259
+ async function generateVerifiablePresentation(agent, id, ecsSchemas, schemaKey, type, credentialSchema, defaults, beforePublish) {
260
+ var _a, _b, _c, _d, _e;
219
261
  if (!agent.did)
220
262
  throw Error('The DID must be set up');
221
263
  const [didRecord] = await agent.dids.getCreatedDids({ did: agent.did });
@@ -228,31 +270,47 @@ async function generateVerifiablePresentation(agent, id, ecsSchemas, schemaKey,
228
270
  const integrityData = buildIntegrityData({ id, type, credentialSchema, claims });
229
271
  const record = (_a = didRecord.metadata.get('_vt/vtc')) !== null && _a !== void 0 ? _a : {};
230
272
  const metadata = record[credentialSchema.id];
231
- if ((metadata === null || metadata === void 0 ? void 0 : metadata.integrityData) === integrityData && metadata.attached)
273
+ const superseded = Object.entries(record).some(([storedSchemaId, entry]) => {
274
+ var _a;
275
+ return storedSchemaId !== credentialSchema.id &&
276
+ ((_a = entry === null || entry === void 0 ? void 0 : entry.verifiablePresentation) === null || _a === void 0 ? void 0 : _a.id) === id &&
277
+ (entry === null || entry === void 0 ? void 0 : entry.attached) !== false;
278
+ });
279
+ const attached = ((_b = metadata === null || metadata === void 0 ? void 0 : metadata.attached) !== null && _b !== void 0 ? _b : true) && !superseded;
280
+ if ((metadata === null || metadata === void 0 ? void 0 : metadata.integrityData) === integrityData &&
281
+ storedCredentialIsCurrent(metadata === null || metadata === void 0 ? void 0 : metadata.credential, credentialSchema.id, agent.did, didRecord)) {
282
+ // the presentation is already public, so a failed beforePublish step still needs a retry here
283
+ if (attached)
284
+ await (beforePublish === null || beforePublish === void 0 ? void 0 : beforePublish(metadata.verifiablePresentation));
232
285
  return metadata.verifiablePresentation;
286
+ }
233
287
  const presentation = createPresentation({
234
288
  id,
235
289
  holder: agent.did,
236
290
  verifiableCredential: [],
237
291
  });
238
292
  const verifiablePresentation = await generateVerifiableCredential(agent, agent.did, ecsSchemas, schemaKey, type, { id: agent.did }, credentialSchema, defaults, presentation);
293
+ // nothing is persisted yet, so a failure here leaves no public presentation behind
294
+ if (attached)
295
+ await (beforePublish === null || beforePublish === void 0 ? void 0 : beforePublish(verifiablePresentation));
239
296
  // Update linked VP when the presentation has changed
240
- didDocument.service = (_b = didDocument.service) === null || _b === void 0 ? void 0 : _b.map(s => {
241
- if (typeof s.serviceEndpoint !== 'string')
297
+ if (attached)
298
+ didDocument.service = (_c = didDocument.service) === null || _c === void 0 ? void 0 : _c.map(s => {
299
+ if (typeof s.serviceEndpoint !== 'string')
300
+ return s;
301
+ if (s.serviceEndpoint.includes(schemaKey) && s.id !== `${agent.did}#whois`) {
302
+ s.id = didDocumentServiceId;
303
+ s.serviceEndpoint = id;
304
+ }
242
305
  return s;
243
- if (s.serviceEndpoint.includes(schemaKey) && s.id !== `${agent.did}#whois`) {
244
- s.id = didDocumentServiceId;
245
- s.serviceEndpoint = id;
246
- }
247
- return s;
248
- });
306
+ });
249
307
  // Resolvers only discover the credential through the [VT-CRED-W3C-LINKED-VP] fragment, and
250
308
  // #whois does not match it. The rename above only covers documents that already carry the
251
309
  // service, so publish it here when nothing declared it yet.
252
310
  let didDocumentChanged = false;
253
- if (!((_c = didDocument.service) === null || _c === void 0 ? void 0 : _c.some(s => s.id === didDocumentServiceId))) {
311
+ if (attached && !((_d = didDocument.service) === null || _d === void 0 ? void 0 : _d.some(s => s.id === didDocumentServiceId))) {
254
312
  didDocument.service = [
255
- ...((_d = didDocument.service) !== null && _d !== void 0 ? _d : []),
313
+ ...((_e = didDocument.service) !== null && _e !== void 0 ? _e : []),
256
314
  new core_1.DidDocumentService({
257
315
  id: didDocumentServiceId,
258
316
  serviceEndpoint: id,
@@ -267,7 +325,7 @@ async function generateVerifiablePresentation(agent, id, ecsSchemas, schemaKey,
267
325
  verifiablePresentation,
268
326
  didDocumentServiceId,
269
327
  integrityData,
270
- attached: true,
328
+ attached,
271
329
  };
272
330
  didRecord.metadata.set('_vt/vtc', record);
273
331
  await agent.context.dependencyManager.resolve(core_1.DidRepository).update(agent.context, didRecord);
@@ -352,6 +410,17 @@ function validateSchema(ecsSchema, credentialSubject) {
352
410
  throw new Error(`Invalid claims for ${ecsSchema.$id}: ${JSON.stringify(errorDetails, null, 2)}`);
353
411
  }
354
412
  }
413
+ async function fetchSchemaContent(id) {
414
+ try {
415
+ const response = await fetch((0, vs_agent_model_1.mapToEcosystem)(id));
416
+ if (!response.ok)
417
+ return { error: `${response.status} ${response.statusText}` };
418
+ return { content: await response.text() };
419
+ }
420
+ catch (error) {
421
+ return { error: error instanceof Error ? error.message : String(error) };
422
+ }
423
+ }
355
424
  /**
356
425
  * Adds a Subresource Integrity (SRI) digest to the provided data using the schema content
357
426
  * fetched from the provided URL or from a local schema map as fallback.
@@ -364,15 +433,16 @@ function validateSchema(ecsSchema, credentialSubject) {
364
433
  * @throws Error if both the fetch and local fallback fail.
365
434
  */
366
435
  async function addDigestSRI(id, data, ecsSchemas) {
436
+ var _a;
367
437
  if (!id || !data) {
368
438
  throw new Error(`id and data has requiered`);
369
439
  }
370
- const response = await fetch((0, vs_agent_model_1.mapToEcosystem)(id));
440
+ const fetched = await fetchSchemaContent(id);
371
441
  const key = id.split('/').pop();
372
442
  const fallbackSchema = key && (ecsSchemas === null || ecsSchemas === void 0 ? void 0 : ecsSchemas[key]);
373
- const schemaContent = response.ok ? await response.text() : fallbackSchema;
443
+ const schemaContent = (_a = fetched.content) !== null && _a !== void 0 ? _a : fallbackSchema;
374
444
  if (!schemaContent) {
375
- throw new Error(`Failed to fetch schema from ${id}: ${response.status} ${response.statusText}, and no local fallback found.`);
445
+ throw new Error(`Failed to fetch schema from ${id}: ${fetched.error}, and no local fallback found.`);
376
446
  }
377
447
  assertValidSchema(schemaContent, id);
378
448
  return Object.assign(Object.assign({}, data), { digestSRI: generateDigestSRI(schemaContent) });
@@ -1 +1 @@
1
- {"version":3,"file":"setupSelfTr.js","sourceRoot":"","sources":["../../src/utils/setupSelfTr.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setupSelfTr.js","sourceRoot":"","sources":["../../src/utils/setupSelfTr.ts"],"names":[],"mappings":"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"}
@@ -18,5 +18,31 @@ export declare function removeTrustCredential(agent: VsAgent, publicApiBaseUrl:
18
18
  } | null>;
19
19
  export declare function removeStoredTrustCredential(agent: VsAgent, publicApiBaseUrl: string, credentialExchangeRecordId: string): Promise<string | undefined>;
20
20
  export declare function migrateVtjscServiceIds(agent: VsAgent): Promise<void>;
21
+ /**
22
+ * Takes the linked VPs of the given `_vt/jsc` entries out of the DID Document, publishing it once.
23
+ *
24
+ * The entries stay: `SelfTrController` serves them, and issued credentials name that URL in
25
+ * `credentialSchema.id`. Dropping one would 404 it and leave those credentials unverifiable.
26
+ */
27
+ export declare function detachVtjscPublications(agent: VsAgent, schemaRefs: readonly string[]): Promise<string[]>;
28
+ /**
29
+ * Puts a detached `_vt/jsc` entry back in the DID Document.
30
+ *
31
+ * The publication pass skips an entry whose digest still matches, so without this the agent would
32
+ * keep serving a VTJSC it never announces again.
33
+ */
34
+ export declare function reattachVtjscPublication(agent: VsAgent, schemaRef: string): Promise<boolean>;
21
35
  export declare function getTrustMetadata(didRecord: DidRecord, key: '_vt/vtc' | '_vt/jsc', schemaId?: string): any;
22
- export declare function rebindEcsCredentialSchema(agent: VsAgent, publicApiBaseUrl: string, schemaId: string, schemaKey: string, defaults: SelfTrDefaults): Promise<void>;
36
+ /**
37
+ * @param jsonSchemaCredentialId the VTJSC the Ecosystem published for this schema. Only the
38
+ * Ecosystem publishes it, so an agent that issues against another Corporation's Ecosystem must
39
+ * resolve it there — see resolveJsonSchemaCredentialId.
40
+ * @param issuerParticipantId this agent's ISSUER participant for the schema, which anchors the
41
+ * credential digest.
42
+ */
43
+ export declare function rebindEcsCredentialSchema(agent: VsAgent, publicApiBaseUrl: string, schemaId: string, schemaKey: string, defaults: SelfTrDefaults, jsonSchemaCredentialId: string, issuerParticipantId: number): Promise<void>;
44
+ /**
45
+ * Withdraws the ECS credentials anchored against `issuerParticipantId` and republishes the
46
+ * self-issued default in their place, which is what the next start would publish anyway.
47
+ */
48
+ export declare function withdrawSelfIssuedEcsCredentials(agent: VsAgent, publicApiBaseUrl: string, issuerParticipantId: number, defaults: SelfTrDefaults): Promise<string[]>;