@verana-labs/vs-agent-sdk 2.0.0-dev.6 → 2.0.0-dev.61

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 (148) hide show
  1. package/README.md +0 -2
  2. package/build/adminApi/AdminApiError.d.ts +25 -0
  3. package/build/adminApi/AdminApiError.js +57 -0
  4. package/build/adminApi/AdminApiError.js.map +1 -0
  5. package/build/adminApi/didcommModules.d.ts +2 -0
  6. package/build/adminApi/didcommModules.js +8 -0
  7. package/build/adminApi/didcommModules.js.map +1 -0
  8. package/build/adminApi/index.d.ts +3 -0
  9. package/build/adminApi/index.js +20 -0
  10. package/build/adminApi/index.js.map +1 -0
  11. package/build/adminApi/moduleEndpoint.d.ts +8 -0
  12. package/build/adminApi/moduleEndpoint.js +28 -0
  13. package/build/adminApi/moduleEndpoint.js.map +1 -0
  14. package/build/agent/VsAgent.d.ts +15 -33
  15. package/build/agent/VsAgent.js +75 -205
  16. package/build/agent/VsAgent.js.map +1 -1
  17. package/build/agent/createVsAgent.d.ts +5 -5
  18. package/build/agent/createVsAgent.js +3 -5
  19. package/build/agent/createVsAgent.js.map +1 -1
  20. package/build/blockchain/AnonCredsTrustService.d.ts +62 -0
  21. package/build/blockchain/AnonCredsTrustService.js +256 -0
  22. package/build/blockchain/AnonCredsTrustService.js.map +1 -0
  23. package/build/blockchain/AuthorizationService.d.ts +5 -3
  24. package/build/blockchain/AuthorizationService.js +17 -29
  25. package/build/blockchain/AuthorizationService.js.map +1 -1
  26. package/build/blockchain/IndexerWebSocketService.d.ts +7 -1
  27. package/build/blockchain/IndexerWebSocketService.js +68 -36
  28. package/build/blockchain/IndexerWebSocketService.js.map +1 -1
  29. package/build/blockchain/VeranaChainService.d.ts +2 -13
  30. package/build/blockchain/VeranaChainService.js +8 -113
  31. package/build/blockchain/VeranaChainService.js.map +1 -1
  32. package/build/blockchain/VeranaIndexerService.d.ts +14 -1
  33. package/build/blockchain/VeranaIndexerService.js +122 -8
  34. package/build/blockchain/VeranaIndexerService.js.map +1 -1
  35. package/build/blockchain/handlers/authorizationHandlers.js +2 -2
  36. package/build/blockchain/handlers/authorizationHandlers.js.map +1 -1
  37. package/build/blockchain/handlers/defaultHandlers.js +2 -0
  38. package/build/blockchain/handlers/defaultHandlers.js.map +1 -1
  39. package/build/blockchain/handlers/index.d.ts +1 -0
  40. package/build/blockchain/handlers/index.js +1 -0
  41. package/build/blockchain/handlers/index.js.map +1 -1
  42. package/build/blockchain/handlers/selfIssuanceHandlers.d.ts +13 -0
  43. package/build/blockchain/handlers/selfIssuanceHandlers.js +71 -0
  44. package/build/blockchain/handlers/selfIssuanceHandlers.js.map +1 -0
  45. package/build/blockchain/handlers/stateMutations.d.ts +21 -2
  46. package/build/blockchain/handlers/stateMutations.js +280 -34
  47. package/build/blockchain/handlers/stateMutations.js.map +1 -1
  48. package/build/blockchain/index.d.ts +2 -0
  49. package/build/blockchain/index.js +2 -0
  50. package/build/blockchain/index.js.map +1 -1
  51. package/build/blockchain/indexerMappers.d.ts +3 -0
  52. package/build/blockchain/indexerMappers.js +53 -0
  53. package/build/blockchain/indexerMappers.js.map +1 -0
  54. package/build/blockchain/types.d.ts +5 -57
  55. package/build/blockchain/types.js.map +1 -1
  56. package/build/bootstrap/EcsBootstrapService.d.ts +14 -3
  57. package/build/bootstrap/EcsBootstrapService.js +155 -76
  58. package/build/bootstrap/EcsBootstrapService.js.map +1 -1
  59. package/build/credentials/FullTailsFileService.d.ts +0 -1
  60. package/build/credentials/FullTailsFileService.js +0 -49
  61. package/build/credentials/FullTailsFileService.js.map +1 -1
  62. package/build/did/CachedDocumentLoader.d.ts +3 -0
  63. package/build/did/CachedDocumentLoader.js +7 -1
  64. package/build/did/CachedDocumentLoader.js.map +1 -1
  65. package/build/did/CachedWebDidResolver.d.ts +0 -4
  66. package/build/did/CachedWebDidResolver.js +1 -5
  67. package/build/did/CachedWebDidResolver.js.map +1 -1
  68. package/build/did/artifactServices.d.ts +12 -0
  69. package/build/did/artifactServices.js +48 -0
  70. package/build/did/artifactServices.js.map +1 -0
  71. package/build/did/legacyDidWeb.d.ts +6 -4
  72. package/build/did/legacyDidWeb.js +17 -14
  73. package/build/did/legacyDidWeb.js.map +1 -1
  74. package/build/did/publicDid.d.ts +4 -0
  75. package/build/did/publicDid.js +19 -0
  76. package/build/did/publicDid.js.map +1 -0
  77. package/build/events/BaseMessageEvents.js +139 -5
  78. package/build/events/BaseMessageEvents.js.map +1 -1
  79. package/build/events/ConnectionEvents.js +110 -82
  80. package/build/events/ConnectionEvents.js.map +1 -1
  81. package/build/events/VsAgentEvents.d.ts +11 -9
  82. package/build/events/VsAgentEvents.js +8 -1
  83. package/build/events/VsAgentEvents.js.map +1 -1
  84. package/build/events/VtFlowEvents.d.ts +1 -1
  85. package/build/events/VtFlowEvents.js +2 -19
  86. package/build/events/VtFlowEvents.js.map +1 -1
  87. package/build/index.d.ts +6 -1
  88. package/build/index.js +10 -2
  89. package/build/index.js.map +1 -1
  90. package/build/plugins/setupBaseDidComm.js +6 -12
  91. package/build/plugins/setupBaseDidComm.js.map +1 -1
  92. package/build/transports/VsAgentWsInboundTransport.d.ts +1 -1
  93. package/build/transports/VsAgentWsInboundTransport.js +20 -14
  94. package/build/transports/VsAgentWsInboundTransport.js.map +1 -1
  95. package/build/types.d.ts +5 -0
  96. package/build/types.js.map +1 -1
  97. package/build/utils/agent.d.ts +29 -4
  98. package/build/utils/agent.js +91 -22
  99. package/build/utils/agent.js.map +1 -1
  100. package/build/utils/didReadiness.d.ts +9 -0
  101. package/build/utils/didReadiness.js +42 -0
  102. package/build/utils/didReadiness.js.map +1 -0
  103. package/build/utils/ecsClaims.d.ts +47 -0
  104. package/build/utils/ecsClaims.js +120 -0
  105. package/build/utils/ecsClaims.js.map +1 -0
  106. package/build/utils/ecsService.d.ts +8 -0
  107. package/build/utils/ecsService.js +23 -0
  108. package/build/utils/ecsService.js.map +1 -0
  109. package/build/utils/index.d.ts +4 -0
  110. package/build/utils/index.js +4 -0
  111. package/build/utils/index.js.map +1 -1
  112. package/build/utils/selfIssuedEcsCredential.d.ts +8 -0
  113. package/build/utils/selfIssuedEcsCredential.js +151 -0
  114. package/build/utils/selfIssuedEcsCredential.js.map +1 -0
  115. package/build/utils/setupSelfTr.d.ts +29 -66
  116. package/build/utils/setupSelfTr.js +78 -282
  117. package/build/utils/setupSelfTr.js.map +1 -1
  118. package/build/utils/trustCredentialStore.d.ts +67 -9
  119. package/build/utils/trustCredentialStore.js +296 -109
  120. package/build/utils/trustCredentialStore.js.map +1 -1
  121. package/build/utils/util.d.ts +10 -0
  122. package/build/utils/util.js +16 -0
  123. package/build/utils/util.js.map +1 -1
  124. package/build/utils/vcdm2.d.ts +34 -0
  125. package/build/utils/vcdm2.js +62 -0
  126. package/build/utils/vcdm2.js.map +1 -0
  127. package/build/utils/vtjscResolver.d.ts +18 -0
  128. package/build/utils/vtjscResolver.js +54 -0
  129. package/build/utils/vtjscResolver.js.map +1 -0
  130. package/build/vtFlow/VtFlowOrchestrator.d.ts +59 -13
  131. package/build/vtFlow/VtFlowOrchestrator.js +140 -92
  132. package/build/vtFlow/VtFlowOrchestrator.js.map +1 -1
  133. package/build/vtFlow/assertVerifiableService.d.ts +1 -0
  134. package/build/vtFlow/assertVerifiableService.js +45 -5
  135. package/build/vtFlow/assertVerifiableService.js.map +1 -1
  136. package/build/vtFlow/ecsIssuanceExemption.d.ts +12 -0
  137. package/build/vtFlow/ecsIssuanceExemption.js +84 -0
  138. package/build/vtFlow/ecsIssuanceExemption.js.map +1 -0
  139. package/build/vtFlow/index.d.ts +1 -0
  140. package/build/vtFlow/index.js +1 -0
  141. package/build/vtFlow/index.js.map +1 -1
  142. package/package.json +12 -12
  143. package/build/did/migrateWebVhLog.d.ts +0 -34
  144. package/build/did/migrateWebVhLog.js +0 -230
  145. package/build/did/migrateWebVhLog.js.map +0 -1
  146. package/build/did/migrateWebVhVersionTime.d.ts +0 -9
  147. package/build/did/migrateWebVhVersionTime.js +0 -191
  148. package/build/did/migrateWebVhVersionTime.js.map +0 -1
@@ -5,18 +5,13 @@ const credo_ts_didcomm_vt_flow_1 = require("@verana-labs/credo-ts-didcomm-vt-flo
5
5
  const vs_agent_model_1 = require("@verana-labs/vs-agent-model");
6
6
  const blockchain_1 = require("../blockchain");
7
7
  const types_1 = require("../types");
8
+ const didReadiness_1 = require("../utils/didReadiness");
9
+ const VtFlowOrchestrator_1 = require("../vtFlow/VtFlowOrchestrator");
10
+ const ecsClaims_1 = require("../utils/ecsClaims");
8
11
  const START_OP_MSG = '/verana.pp.v1.MsgStartParticipantOP';
9
12
  const SELF_CREATE_MSG = '/verana.pp.v1.MsgSelfCreateParticipant';
10
13
  const ISSUER_ONBOARDING_MODE_OPEN = 1;
11
14
  const ISSUER_ONBOARDING_MODE_GRANTOR = 3;
12
- const ECS_TITLE_BY_TYPE = {
13
- ServiceCredential: vs_agent_model_1.ECS.SERVICE,
14
- OrganizationCredential: vs_agent_model_1.ECS.ORG,
15
- PersonaCredential: vs_agent_model_1.ECS.PERSONA,
16
- UserAgentCredential: vs_agent_model_1.ECS.USER_AGENT,
17
- BadgeCredential: vs_agent_model_1.ECS.BADGE,
18
- };
19
- const DELEGATED_OUTCOME_TIMEOUT_MS = 15 * 60000;
20
15
  class EcsBootstrapService {
21
16
  constructor(agent, indexer, options, logger) {
22
17
  this.agent = agent;
@@ -25,6 +20,10 @@ class EcsBootstrapService {
25
20
  this.logger = logger;
26
21
  }
27
22
  async run() {
23
+ // Both repair steps sign nothing on chain, so they run before any gate, in either mode, and
24
+ // also for a deployment whose participants the Corporation operator provisions out of band.
25
+ await this.acceptPendingOffers();
26
+ await this.resumePendingOnboardings();
28
27
  if (this.options.mode === 'delegated')
29
28
  return this.runDelegated();
30
29
  return this.runStandalone();
@@ -32,12 +31,11 @@ class EcsBootstrapService {
32
31
  async runStandalone() {
33
32
  const skip = await this.preflight();
34
33
  if (skip) {
35
- this.logger.info(`[EcsBootstrap] standalone bootstrap skipped: ${skip}`);
34
+ this.logger.info(`[EcsBootstrap] standalone bootstrap skipped: ${skip}; this agent expects its participants to be provisioned out of band`);
36
35
  return;
37
36
  }
38
37
  const chain = this.agent.veranaChain;
39
38
  const indexer = this.indexer;
40
- await this.acceptPendingOffers();
41
39
  const { credential, credentialType, service } = await this.discoverEcsSchemas(indexer);
42
40
  await this.ensureHolderParticipant(chain, indexer, credential, credentialType);
43
41
  await this.ensureServiceIssuer(chain, indexer, service);
@@ -53,9 +51,15 @@ class EcsBootstrapService {
53
51
  return 'the Verana indexer is not configured';
54
52
  if (!((_a = this.options.trustedEcosystemDids) === null || _a === void 0 ? void 0 : _a.length))
55
53
  return 'TRUSTED_ECS_ECOSYSTEM_DIDS is not set';
56
- const operatorAuths = await chain.listOperatorAuthorizations();
57
- if (!operatorAuths.some(a => a.msgTypes.includes(START_OP_MSG))) {
58
- return `operator ${chain.address} has no OperatorAuthorization covering MsgStartParticipantOP`;
54
+ return this.operatorSkipReason(chain);
55
+ }
56
+ // StartParticipantOP costs a trust deposit and a fee, so both the authorization and the funds
57
+ // must be there. Neither is a misconfiguration: the operator may provision the entry itself.
58
+ async operatorSkipReason(chain) {
59
+ var _a, _b;
60
+ const operatorAuths = (_b = (await ((_a = this.indexer) === null || _a === void 0 ? void 0 : _a.listOperatorAuthorizations(chain.address)))) !== null && _b !== void 0 ? _b : [];
61
+ if (!operatorAuths.some(auth => auth.msgTypes.includes(START_OP_MSG))) {
62
+ return `operator ${chain.address} holds no OperatorAuthorization covering MsgStartParticipantOP`;
59
63
  }
60
64
  const balance = await chain.getBalance();
61
65
  if (Number(balance.amount) === 0) {
@@ -85,6 +89,66 @@ class EcsBootstrapService {
85
89
  }
86
90
  }
87
91
  }
92
+ /**
93
+ * StartParticipantOP pays a trust deposit, and it cannot be undone. The onboarding request that
94
+ * must follow it travels over DIDComm from the chain event handler, which catches its own
95
+ * failure. The indexer marks that block processed all the same and never replays it, so an
96
+ * unreachable validator leaves the entry at PENDING for ever. This boot step closes that gap.
97
+ */
98
+ async resumePendingOnboardings() {
99
+ if (!this.indexer || !this.agent.did)
100
+ return;
101
+ const own = await this.indexer.listParticipants({ did: this.agent.did }).catch(() => []);
102
+ for (const participant of own) {
103
+ if (participant.op_state !== 'PENDING' || participant.revoked || participant.slashed)
104
+ continue;
105
+ try {
106
+ await this.resumeOnboarding(participant);
107
+ }
108
+ catch (error) {
109
+ this.logger.warn(`[EcsBootstrap] could not resume the onboarding of participant ${participant.id}: ${error.message}`);
110
+ }
111
+ }
112
+ }
113
+ async resumeOnboarding(participant) {
114
+ // A flow that a peer ended on purpose is not an interruption; only an error deserves a retry.
115
+ const api = this.agent.dependencyManager.resolve(credo_ts_didcomm_vt_flow_1.VtFlowApi);
116
+ const [latest] = (await api.findAllByQuery({
117
+ participantId: String(participant.id),
118
+ role: credo_ts_didcomm_vt_flow_1.VtFlowRole.Applicant,
119
+ flowVariant: credo_ts_didcomm_vt_flow_1.VtFlowVariant.OnboardingProcess,
120
+ })).sort((a, b) => b.createdAt.getTime() - a.createdAt.getTime());
121
+ if (latest && (0, credo_ts_didcomm_vt_flow_1.isVtFlowTerminalState)(latest.state) && latest.state !== credo_ts_didcomm_vt_flow_1.VtFlowState.Error)
122
+ return;
123
+ // The agent validates its own entry when it controls the ECOSYSTEM root of the schema, so
124
+ // there is no peer to send a request to: the interrupted step is the chain outcome itself.
125
+ if (await this.isSelfValidated(participant)) {
126
+ const chain = this.agent.veranaChain;
127
+ if (!chain)
128
+ return;
129
+ await chain.setParticipantOPToValidated({
130
+ id: participant.id,
131
+ validationFees: 0,
132
+ issuanceFees: 0,
133
+ verificationFees: 0,
134
+ });
135
+ await this.triggerResolverBestEffort(chain, participant.id);
136
+ this.logger.info(`[EcsBootstrap] validated the interrupted self-issued participant ${participant.id}`);
137
+ return;
138
+ }
139
+ // startOnboardingProcess writes nothing on chain, and it refuses to resend while a flow is in
140
+ // progress, so this is safe on every boot.
141
+ await (0, didReadiness_1.waitUntilOwnDidIsPubliclyResolvable)(this.agent, this.logger);
142
+ const claims = await this.onboardingClaims(participant.schema_id);
143
+ const record = await new VtFlowOrchestrator_1.VtFlowOrchestrator(this.agent).startOnboardingProcess(Object.assign({ applicantParticipantId: participant.id }, (claims ? { claims } : {})));
144
+ this.logger.info(`[EcsBootstrap] resumed the onboarding of participant ${participant.id} (flow ${record.id}, state ${record.state})`);
145
+ }
146
+ async isSelfValidated(participant) {
147
+ if (participant.validator_participant_id == null)
148
+ return false;
149
+ const validator = await this.indexer.getParticipant(participant.validator_participant_id).catch(() => undefined);
150
+ return (validator === null || validator === void 0 ? void 0 : validator.did) === this.agent.did;
151
+ }
88
152
  // WL-ECS: only ecosystems on the configured allowlist may provide the essential credential schemas.
89
153
  async discoverEcsSchemas(indexer) {
90
154
  const ecosystems = await indexer.listEcosystems();
@@ -108,7 +172,7 @@ class EcsBootstrapService {
108
172
  const schemas = await indexer.listCredentialSchemas(ecosystemId);
109
173
  const classified = await Promise.all(schemas
110
174
  .filter(schema => !schema.archived)
111
- .map(async (schema) => ({ schema, type: await this.classifySchema(schema) })));
175
+ .map(async (schema) => ({ schema, type: await (0, vs_agent_model_1.classifyEcsSchema)(schema.json_schema) })));
112
176
  const byType = (type) => { var _a; return (_a = classified.find(c => c.type === type)) === null || _a === void 0 ? void 0 : _a.schema; };
113
177
  const service = byType(vs_agent_model_1.ECS.SERVICE);
114
178
  if (!service)
@@ -120,20 +184,6 @@ class EcsBootstrapService {
120
184
  throw new Error('no ECS Organization or Persona credential schema');
121
185
  return { credential, credentialType: org ? vs_agent_model_1.ECS.ORG : vs_agent_model_1.ECS.PERSONA, service };
122
186
  }
123
- async classifySchema(schema) {
124
- var _a;
125
- try {
126
- const parsed = JSON.parse(schema.json_schema);
127
- const byDigest = await (0, vs_agent_model_1.identifySchema)(parsed);
128
- if (byDigest)
129
- return byDigest;
130
- const title = typeof parsed.title === 'string' ? parsed.title : '';
131
- return (_a = ECS_TITLE_BY_TYPE[title]) !== null && _a !== void 0 ? _a : null;
132
- }
133
- catch (_b) {
134
- return null;
135
- }
136
- }
137
187
  async ensureHolderParticipant(chain, indexer, schema, credentialType) {
138
188
  // If this agent controls the schema's ECOSYSTEM root, it has no external ISSUER to seek a
139
189
  // HOLDER credential from — it must become the ISSUER itself (see ensureSelfIssuedParticipant).
@@ -201,6 +251,7 @@ class EcsBootstrapService {
201
251
  issuanceFees: 0,
202
252
  verificationFees: 0,
203
253
  });
254
+ await this.triggerResolverBestEffort(chain, participantId);
204
255
  this.logger.info(`[EcsBootstrap] self-issued ISSUER participant ${participantId} for the ECS ${credentialType} schema (ecosystem root ${root.id})`);
205
256
  }
206
257
  async ensureServiceIssuer(chain, indexer, schema) {
@@ -215,11 +266,14 @@ class EcsBootstrapService {
215
266
  this.logger.info(`[EcsBootstrap] reusing Service ISSUER participant ${usable.id}`);
216
267
  return;
217
268
  }
218
- const onChainSchema = await chain.getCredentialSchema(schema.id);
269
+ const onChainSchema = await indexer
270
+ .getCredentialSchema(schema.id)
271
+ .then(blockchain_1.toCredentialSchema)
272
+ .catch(() => undefined);
219
273
  if (!onChainSchema)
220
274
  throw new Error(`Service schema ${schema.id} not found on chain`);
221
275
  if (onChainSchema.issuerOnboardingMode === ISSUER_ONBOARDING_MODE_OPEN) {
222
- const operatorAuths = await chain.listOperatorAuthorizations();
276
+ const operatorAuths = await indexer.listOperatorAuthorizations(chain.address);
223
277
  if (!operatorAuths.some(a => a.msgTypes.includes(SELF_CREATE_MSG))) {
224
278
  throw new Error(`operator ${chain.address} has no OperatorAuthorization covering MsgSelfCreateParticipant (required for OPEN issuer onboarding)`);
225
279
  }
@@ -232,6 +286,7 @@ class EcsBootstrapService {
232
286
  did: this.agent.did,
233
287
  effectiveUntil: root.effective_until ? new Date(root.effective_until) : undefined,
234
288
  });
289
+ await this.triggerResolverBestEffort(chain, participantId);
235
290
  this.logger.info(`[EcsBootstrap] self-created Service ISSUER participant ${participantId}`);
236
291
  return;
237
292
  }
@@ -257,6 +312,14 @@ class EcsBootstrapService {
257
312
  });
258
313
  return candidates.find(p => !p.revoked && !p.slashed && p.did !== this.agent.did);
259
314
  }
315
+ async triggerResolverBestEffort(chain, participantId) {
316
+ try {
317
+ await chain.triggerResolver(participantId);
318
+ }
319
+ catch (error) {
320
+ this.logger.warn(`[EcsBootstrap] TriggerResolver failed for participant ${participantId}: ${error.message}`);
321
+ }
322
+ }
260
323
  isUsableParticipant(p) {
261
324
  return (!p.revoked &&
262
325
  !p.slashed &&
@@ -272,6 +335,9 @@ class EcsBootstrapService {
272
335
  throw new Error('delegated bootstrap requires a public DID');
273
336
  if (!this.indexer)
274
337
  throw new Error('delegated bootstrap requires the Verana indexer');
338
+ const chain = this.agent.veranaChain;
339
+ if (!chain)
340
+ throw new Error('delegated bootstrap requires the Verana chain');
275
341
  if (!this.options.verifyPeer) {
276
342
  throw new Error(`cannot verify parent VS ${parentDid}: verifiable public registries are not configured (set VERANA_CHAIN_ID)`);
277
343
  }
@@ -279,68 +345,81 @@ class EcsBootstrapService {
279
345
  if (!verified) {
280
346
  throw new Error(`parent VS ${parentDid} is not a Verifiable Service`);
281
347
  }
282
- const schemaId = await this.findParentServiceSchemaId(parentDid);
283
- let connectionId;
284
- try {
285
- const { connectionRecord } = await this.agent.didcomm.oob.receiveImplicitInvitation({
286
- did: parentDid,
287
- ourDid: this.agent.did,
288
- label: this.agent.label,
289
- didCommVersion: 'v2',
290
- });
291
- if (!connectionRecord)
292
- throw new Error('no connection record returned');
293
- const ready = await this.agent.didcomm.connections.returnWhenIsConnected(connectionRecord.id);
294
- connectionId = ready.id;
348
+ const validator = await this.findParentServiceIssuer(parentDid);
349
+ await this.assertTrustedEcosystem(validator.schema_id);
350
+ // An existing entry means the process already ran, or the operator provisioned it.
351
+ const own = await this.indexer.listParticipants({
352
+ did: this.agent.did,
353
+ role: blockchain_1.ParticipantRole.Holder,
354
+ schemaId: validator.schema_id,
355
+ });
356
+ const existing = own.find(participant => this.isUsableParticipant(participant));
357
+ if (existing) {
358
+ // The parent named by AGENT_DELEGATED_PARENT_VS_DID must be the validator of the entry;
359
+ // any other validator would issue the Service credential of another accountable party.
360
+ if (Number(existing.validator_participant_id) !== validator.id) {
361
+ throw new Error(`HOLDER participant ${existing.id} for the ECS Service schema ${validator.schema_id} names validator ${existing.validator_participant_id}, not the parent VS ${parentDid} (validator ${validator.id})`);
362
+ }
363
+ this.logger.info(`[EcsBootstrap] HOLDER participant ${existing.id} for the ECS Service schema ${validator.schema_id} already exists; the onboarding process continues on its own`);
364
+ return;
295
365
  }
296
- catch (error) {
297
- throw new Error(`parent VS ${parentDid} is unreachable: ${error.message}`);
366
+ // [VSA-VTI-FLOW-OP-NEW] step 1: the applicant submits StartParticipantOP. The agent then
367
+ // reacts to its own chain event and sends the onboarding request, so nothing is awaited here.
368
+ // Direct Issuance does not apply: it needs holder_onboarding_mode = PERMISSIONLESS, and the
369
+ // ECS Service schema uses ISSUER_ONBOARDING_PROCESS.
370
+ const skip = await this.operatorSkipReason(chain);
371
+ if (skip) {
372
+ this.logger.info(`[EcsBootstrap] delegated bootstrap skipped: ${skip}; this agent expects its HOLDER participant to be provisioned out of band, with validator ${validator.id}`);
373
+ return;
298
374
  }
299
- const api = this.agent.dependencyManager.resolve(credo_ts_didcomm_vt_flow_1.VtFlowApi);
300
- const record = await api.sendIssuanceRequest({
301
- connectionId,
302
- schemaId: String(schemaId),
303
- agentParticipantId: '0',
304
- walletAgentParticipantId: '0',
375
+ const { participantId } = await chain.startParticipantOP({
376
+ role: types_1.HOLDER_PARTICIPANT_TYPE,
377
+ validatorParticipantId: validator.id,
378
+ did: this.agent.did,
305
379
  });
306
- this.logger.info(`[EcsBootstrap] requested the Service credential (schema ${schemaId}) from parent VS ${parentDid}`);
307
- await this.awaitDelegatedOutcome(record.id, parentDid);
380
+ this.logger.info(`[EcsBootstrap] started HOLDER onboarding ${participantId} for the ECS Service schema ${validator.schema_id} with parent VS ${parentDid} (validator ${validator.id})`);
308
381
  }
309
- async findParentServiceSchemaId(parentDid) {
382
+ async findParentServiceIssuer(parentDid) {
310
383
  const participants = await this.indexer.listParticipants({
311
384
  did: parentDid,
312
385
  role: blockchain_1.ParticipantRole.Issuer,
313
386
  participantState: blockchain_1.ParticipantState.Active,
314
387
  });
315
388
  for (const participant of participants) {
389
+ if (participant.revoked || participant.slashed)
390
+ continue;
316
391
  const schema = await this.indexer.getCredentialSchema(participant.schema_id).catch(() => undefined);
317
392
  if (!schema)
318
393
  continue;
319
- if ((await this.classifySchema(schema)) === vs_agent_model_1.ECS.SERVICE)
320
- return schema.id;
394
+ if ((await (0, vs_agent_model_1.classifyEcsSchema)(schema.json_schema)) === vs_agent_model_1.ECS.SERVICE)
395
+ return participant;
321
396
  }
322
397
  throw new Error(`parent VS ${parentDid} holds no active ISSUER participant for an ECS Service schema`);
323
398
  }
324
- awaitDelegatedOutcome(recordId, parentDid) {
325
- return new Promise((resolve, reject) => {
326
- const timer = setTimeout(() => {
327
- reject(new Error(`parent VS ${parentDid} did not complete the issuance in time`));
328
- }, DELEGATED_OUTCOME_TIMEOUT_MS);
329
- timer.unref();
330
- this.agent.events.on(credo_ts_didcomm_vt_flow_1.VtFlowEventTypes.VtFlowStateChanged, ({ payload }) => {
331
- if (payload.vtFlowRecordId !== recordId)
332
- return;
333
- if (payload.state === credo_ts_didcomm_vt_flow_1.VtFlowState.Completed) {
334
- clearTimeout(timer);
335
- resolve();
336
- }
337
- else if (payload.state === credo_ts_didcomm_vt_flow_1.VtFlowState.TerminatedByValidator ||
338
- payload.state === credo_ts_didcomm_vt_flow_1.VtFlowState.Error) {
339
- clearTimeout(timer);
340
- reject(new Error(`parent VS ${parentDid} rejected the Service credential request`));
341
- }
342
- });
343
- });
399
+ // WL-ECS: an allowlist is optional in delegated mode, but it binds the flow once the operator sets it.
400
+ async assertTrustedEcosystem(schemaId) {
401
+ var _a;
402
+ const trusted = this.options.trustedEcosystemDids;
403
+ if (!(trusted === null || trusted === void 0 ? void 0 : trusted.length))
404
+ return;
405
+ const schema = await this.indexer.getCredentialSchema(schemaId).catch(() => undefined);
406
+ const ecosystem = schema
407
+ ? await this.indexer.getEcosystem(schema.ecosystem_id).catch(() => undefined)
408
+ : undefined;
409
+ if (!ecosystem || ecosystem.archived || !trusted.includes(ecosystem.did)) {
410
+ throw new Error(`the ECS Service schema ${schemaId} belongs to ecosystem ${(_a = ecosystem === null || ecosystem === void 0 ? void 0 : ecosystem.did) !== null && _a !== void 0 ? _a : '<unresolvable>'}, which TRUSTED_ECS_ECOSYSTEM_DIDS does not list`);
411
+ }
412
+ }
413
+ async onboardingClaims(schemaId) {
414
+ if (!this.agent.ecsClaims || !this.agent.did)
415
+ return undefined;
416
+ const schema = await this.agent.indexer.getCredentialSchema(schemaId);
417
+ const ecsKey = schema && (await (0, vs_agent_model_1.classifyEcsSchema)(schema.json_schema));
418
+ if (!ecsKey) {
419
+ this.agent.config.logger.warn(`[ecs-claims] schema ${schemaId} is not an ECS schema, sending no claims`);
420
+ return undefined;
421
+ }
422
+ return await (0, ecsClaims_1.composeEcsClaims)(this.agent.ecsClaims, ecsKey, this.agent.config.logger);
344
423
  }
345
424
  }
346
425
  exports.EcsBootstrapService = EcsBootstrapService;
@@ -1 +1 @@
1
- {"version":3,"file":"EcsBootstrapService.js","sourceRoot":"","sources":["../../src/bootstrap/EcsBootstrapService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EcsBootstrapService.js","sourceRoot":"","sources":["../../src/bootstrap/EcsBootstrapService.ts"],"names":[],"mappings":";;;AACA,oFAM8C;AAC9C,gEAAoE;AAGpE,8CAQsB;AACtB,oCAA2E;AAC3E,wDAA2E;AAC3E,qEAAiE;AACjE,kDAAqD;AAErD,MAAM,YAAY,GAAG,qCAAqC,CAAA;AAC1D,MAAM,eAAe,GAAG,wCAAwC,CAAA;AAEhE,MAAM,2BAA2B,GAAG,CAAC,CAAA;AACrC,MAAM,8BAA8B,GAAG,CAAC,CAAA;AASxC,MAAa,mBAAmB;IAC9B,YACmB,KAAc,EACd,OAAyC,EACzC,OAA4B,EAC5B,MAAkB;QAHlB,UAAK,GAAL,KAAK,CAAS;QACd,YAAO,GAAP,OAAO,CAAkC;QACzC,YAAO,GAAP,OAAO,CAAqB;QAC5B,WAAM,GAAN,MAAM,CAAY;IAClC,CAAC;IAEJ,KAAK,CAAC,GAAG;QACP,4FAA4F;QAC5F,4FAA4F;QAC5F,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAA;QAChC,MAAM,IAAI,CAAC,wBAAwB,EAAE,CAAA;QAErC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,WAAW;YAAE,OAAO,IAAI,CAAC,YAAY,EAAE,CAAA;QACjE,OAAO,IAAI,CAAC,aAAa,EAAE,CAAA;IAC7B,CAAC;IAEO,KAAK,CAAC,aAAa;QACzB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAA;QACnC,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,gDAAgD,IAAI,qEAAqE,CAC1H,CAAA;YACD,OAAM;QACR,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,WAAY,CAAA;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAQ,CAAA;QAE7B,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAA;QACtF,MAAM,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,CAAC,CAAA;QAC9E,MAAM,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IACzD,CAAC;IAEO,KAAK,CAAC,SAAS;;QACrB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG;YAAE,OAAO,6BAA6B,CAAA;QACzD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAA;QACpC,IAAI,CAAC,KAAK;YAAE,OAAO,oCAAoC,CAAA;QACvD,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,sCAAsC,CAAA;QAChE,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,OAAO,CAAC,oBAAoB,0CAAE,MAAM,CAAA;YAAE,OAAO,uCAAuC,CAAA;QAE9F,OAAO,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAA;IACvC,CAAC;IAED,8FAA8F;IAC9F,6FAA6F;IACrF,KAAK,CAAC,kBAAkB,CAAC,KAAyB;;QACxD,MAAM,aAAa,GAAG,MAAA,CAAC,MAAM,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,0BAA0B,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA,CAAC,mCAAI,EAAE,CAAA;QAC3F,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;YACtE,OAAO,YAAY,KAAK,CAAC,OAAO,gEAAgE,CAAA;QAClG,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,UAAU,EAAE,CAAA;QACxC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO,YAAY,KAAK,CAAC,OAAO,WAAW,OAAO,CAAC,KAAK,sCAAsC,CAAA;QAChG,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,wFAAwF;IACxF,8EAA8E;IACtE,KAAK,CAAC,mBAAmB;QAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,oCAAS,CAAC,CAAA;QAC3D,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC;YACvC,SAAS,EAAE,sCAAW,CAAC,WAAW;YAClC,IAAI,EAAE,qCAAU,CAAC,SAAS;SAC3B,CAAC,CAAA;QACF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,CAAC,0BAA0B;gBAAE,SAAQ;YAChD,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC;oBAC/C,0BAA0B,EAAE,MAAM,CAAC,0BAA0B;iBAC9D,CAAC,CAAA;gBACF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oEAAoE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAA;YACnG,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,yDAAyD,MAAM,CAAC,EAAE,KAAM,KAAe,CAAC,OAAO,EAAE,CAClG,CAAA;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,wBAAwB;QACpC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG;YAAE,OAAM;QAE5C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;QACxF,KAAK,MAAM,WAAW,IAAI,GAAG,EAAE,CAAC;YAC9B,IAAI,WAAW,CAAC,QAAQ,KAAK,SAAS,IAAI,WAAW,CAAC,OAAO,IAAI,WAAW,CAAC,OAAO;gBAAE,SAAQ;YAC9F,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAA;YAC1C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,iEAAiE,WAAW,CAAC,EAAE,KAAM,KAAe,CAAC,OAAO,EAAE,CAC/G,CAAA;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,WAA2B;QACxD,8FAA8F;QAC9F,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,oCAAS,CAAC,CAAA;QAC3D,MAAM,CAAC,MAAM,CAAC,GAAG,CACf,MAAM,GAAG,CAAC,cAAc,CAAC;YACvB,aAAa,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;YACrC,IAAI,EAAE,qCAAU,CAAC,SAAS;YAC1B,WAAW,EAAE,wCAAa,CAAC,iBAAiB;SAC7C,CAAC,CACH,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAA;QAC/D,IAAI,MAAM,IAAI,IAAA,gDAAqB,EAAC,MAAM,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,KAAK,sCAAW,CAAC,KAAK;YAAE,OAAM;QAE/F,0FAA0F;QAC1F,2FAA2F;QAC3F,IAAI,MAAM,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,CAAC;YAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAA;YACpC,IAAI,CAAC,KAAK;gBAAE,OAAM;YAClB,MAAM,KAAK,CAAC,2BAA2B,CAAC;gBACtC,EAAE,EAAE,WAAW,CAAC,EAAE;gBAClB,cAAc,EAAE,CAAC;gBACjB,YAAY,EAAE,CAAC;gBACf,gBAAgB,EAAE,CAAC;aACpB,CAAC,CAAA;YACF,MAAM,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE,CAAC,CAAA;YAC3D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oEAAoE,WAAW,CAAC,EAAE,EAAE,CAAC,CAAA;YACtG,OAAM;QACR,CAAC;QAED,8FAA8F;QAC9F,2CAA2C;QAC3C,MAAM,IAAA,kDAAmC,EAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAClE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;QACjE,MAAM,MAAM,GAAG,MAAM,IAAI,uCAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,sBAAsB,iBAC5E,sBAAsB,EAAE,WAAW,CAAC,EAAE,IACnC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAC7B,CAAA;QACF,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,wDAAwD,WAAW,CAAC,EAAE,UAAU,MAAM,CAAC,EAAE,WAAW,MAAM,CAAC,KAAK,GAAG,CACpH,CAAA;IACH,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,WAA2B;QACvD,IAAI,WAAW,CAAC,wBAAwB,IAAI,IAAI;YAAE,OAAO,KAAK,CAAA;QAC9D,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,wBAAwB,CAAC,CAAC,KAAK,CAC9F,GAAG,EAAE,CAAC,SAAS,CAChB,CAAA;QACD,OAAO,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,GAAG,MAAK,IAAI,CAAC,KAAK,CAAC,GAAG,CAAA;IAC1C,CAAC;IAED,oGAAoG;IAC5F,KAAK,CAAC,kBAAkB,CAAC,OAA6B;QAK5D,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,cAAc,EAAE,CAAA;QACjD,MAAM,QAAQ,GAAa,EAAE,CAAA;QAC7B,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,oBAAqB,EAAE,CAAC;YACrD,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;YACpE,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,QAAQ,CAAC,IAAI,CAAC,GAAG,GAAG,gCAAgC,CAAC,CAAA;gBACrD,SAAQ;YACV,CAAC;YACD,IAAI,CAAC;gBACH,OAAO,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC,CAAA;YAChE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,QAAQ,CAAC,IAAI,CAAC,GAAG,GAAG,KAAM,KAAe,CAAC,OAAO,EAAE,CAAC,CAAA;YACtD,CAAC;QACH,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,uCAAuC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAC/E,CAAC;IAEO,KAAK,CAAC,qBAAqB,CACjC,OAA6B,EAC7B,WAAmB;QAEnB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAA;QAChE,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,GAAG,CAClC,OAAO;aACJ,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;aAClC,GAAG,CAAC,KAAK,EAAC,MAAM,EAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,IAAA,kCAAiB,EAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CACxF,CAAA;QACD,MAAM,MAAM,GAAG,CAAC,IAAS,EAAE,EAAE,WAAC,OAAA,MAAA,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,0CAAE,MAAM,CAAA,EAAA,CAAA;QAE3E,MAAM,OAAO,GAAG,MAAM,CAAC,oBAAG,CAAC,OAAO,CAAC,CAAA;QACnC,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;QACjE,MAAM,GAAG,GAAG,MAAM,CAAC,oBAAG,CAAC,GAAG,CAAC,CAAA;QAC3B,MAAM,OAAO,GAAG,MAAM,CAAC,oBAAG,CAAC,OAAO,CAAC,CAAA;QACnC,MAAM,UAAU,GAAG,GAAG,aAAH,GAAG,cAAH,GAAG,GAAI,OAAO,CAAA;QACjC,IAAI,CAAC,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;QACpF,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,CAAC,CAAC,CAAC,oBAAG,CAAC,GAAG,CAAC,CAAC,CAAC,oBAAG,CAAC,OAAO,EAAE,OAAO,EAAE,CAAA;IAC7E,CAAC;IAEO,KAAK,CAAC,uBAAuB,CACnC,KAAyB,EACzB,OAA6B,EAC7B,MAA2B,EAC3B,cAAmB;QAEnB,0FAA0F;QAC1F,+FAA+F;QAC/F,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,CAAA;QAChE,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,IAAI,CAAC,2BAA2B,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,CAAC,CAAA;YACvF,OAAM;QACR,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,gBAAgB,CAAC;YAC9C,QAAQ,EAAE,MAAM,CAAC,EAAE;YACnB,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG;YACnB,IAAI,EAAE,4BAAe,CAAC,MAAM;SAC7B,CAAC,CAAA;QACF,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAA;QAC9D,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,6CAA6C,MAAM,CAAC,EAAE,gBAAgB,cAAc,SAAS,CAC9F,CAAA;YACD,OAAM;QACR,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,EAAE,4BAAe,CAAC,MAAM,CAAC,CAAA;QAC5F,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,sCAAsC,cAAc,WAAW,MAAM,CAAC,EAAE,EAAE,CAAC,CAAA;QAC7F,CAAC;QAED,sFAAsF;QACtF,mEAAmE;QACnE,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,KAAK,CAAC,kBAAkB,CAAC;YACvD,IAAI,EAAE,+BAAuB;YAC7B,sBAAsB,EAAE,SAAS,CAAC,EAAE;YACpC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAI;SACrB,CAAC,CAAA;QACF,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,4CAA4C,aAAa,gBAAgB,cAAc,0BAA0B,SAAS,CAAC,EAAE,EAAE,CAChI,CAAA;IACH,CAAC;IAED,yEAAyE;IACjE,KAAK,CAAC,iBAAiB,CAC7B,OAA6B,EAC7B,QAAgB;QAEhB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG;YAAE,OAAO,SAAS,CAAA;QACrC,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,gBAAgB,CAAC;YAChD,QAAQ;YACR,IAAI,EAAE,4BAAe,CAAC,SAAS;YAC/B,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG;YACnB,gBAAgB,EAAE,6BAAgB,CAAC,MAAM;SAC1C,CAAC,CAAA;QACF,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACnF,CAAC;IAED,wFAAwF;IACxF,6FAA6F;IACrF,KAAK,CAAC,2BAA2B,CACvC,KAAyB,EACzB,OAA6B,EAC7B,MAA2B,EAC3B,cAAmB,EACnB,IAAoB;QAEpB,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,gBAAgB,CAAC;YAC9C,QAAQ,EAAE,MAAM,CAAC,EAAE;YACnB,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG;YACnB,IAAI,EAAE,4BAAe,CAAC,MAAM;SAC7B,CAAC,CAAA;QACF,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAA;QAC9D,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,yDAAyD,MAAM,CAAC,EAAE,gBAAgB,cAAc,SAAS,CAC1G,CAAA;YACD,OAAM;QACR,CAAC;QAED,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,KAAK,CAAC,kBAAkB,CAAC;YACvD,IAAI,EAAE,+BAAuB;YAC7B,sBAAsB,EAAE,IAAI,CAAC,EAAE;YAC/B,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAI;SACrB,CAAC,CAAA;QACF,MAAM,KAAK,CAAC,2BAA2B,CAAC;YACtC,EAAE,EAAE,aAAa;YACjB,cAAc,EAAE,CAAC;YACjB,YAAY,EAAE,CAAC;YACf,gBAAgB,EAAE,CAAC;SACpB,CAAC,CAAA;QACF,MAAM,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAA;QAC1D,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,iDAAiD,aAAa,gBAAgB,cAAc,2BAA2B,IAAI,CAAC,EAAE,GAAG,CAClI,CAAA;IACH,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAC/B,KAAyB,EACzB,OAA6B,EAC7B,MAA2B;;QAE3B,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,gBAAgB,CAAC;YAC9C,QAAQ,EAAE,MAAM,CAAC,EAAE;YACnB,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG;YACnB,IAAI,EAAE,4BAAe,CAAC,MAAM;SAC7B,CAAC,CAAA;QACF,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAA;QAC9D,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qDAAqD,MAAM,CAAC,EAAE,EAAE,CAAC,CAAA;YAClF,OAAM;QACR,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,OAAO;aAChC,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC;aAC9B,IAAI,CAAC,+BAAkB,CAAC;aACxB,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;QACzB,IAAI,CAAC,aAAa;YAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,MAAM,CAAC,EAAE,qBAAqB,CAAC,CAAA;QAErF,IAAI,aAAa,CAAC,oBAAoB,KAAK,2BAA2B,EAAE,CAAC;YACvE,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,0BAA0B,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YAC7E,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC;gBACnE,MAAM,IAAI,KAAK,CACb,YAAY,KAAK,CAAC,OAAO,uGAAuG,CACjI,CAAA;YACH,CAAC;YACD,MAAM,IAAI,GACR,MAAA,CAAC,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,mCAClD,CAAC,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,EAAE,4BAAe,CAAC,SAAS,CAAC,CAAC,CAAA;YACjF,IAAI,CAAC,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,4DAA4D,MAAM,CAAC,EAAE,EAAE,CAAC,CAAA;YACnG,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,KAAK,CAAC,qBAAqB,CAAC;gBAC1D,IAAI,EAAE,+BAAuB;gBAC7B,sBAAsB,EAAE,IAAI,CAAC,EAAE;gBAC/B,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAI;gBACpB,cAAc,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS;aAClF,CAAC,CAAA;YACF,MAAM,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAA;YAC1D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0DAA0D,aAAa,EAAE,CAAC,CAAA;YAC3F,OAAM;QACR,CAAC;QAED,MAAM,aAAa,GACjB,aAAa,CAAC,oBAAoB,KAAK,8BAA8B;YACnE,CAAC,CAAC,4BAAe,CAAC,aAAa;YAC/B,CAAC,CAAC,4BAAe,CAAC,SAAS,CAAA;QAC/B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,EAAE,aAAa,CAAC,CAAA;QACnF,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,aAAa,aAAa,uCAAuC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAA;QAC/F,CAAC;QAED,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,KAAK,CAAC,kBAAkB,CAAC;YACvD,IAAI,EAAE,+BAAuB;YAC7B,sBAAsB,EAAE,SAAS,CAAC,EAAE;YACpC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAI;SACrB,CAAC,CAAA;QACF,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,oDAAoD,aAAa,mBAAmB,SAAS,CAAC,EAAE,EAAE,CACnG,CAAA;IACH,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAC/B,OAA6B,EAC7B,QAAgB,EAChB,IAAqB;QAErB,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,gBAAgB,CAAC;YAChD,QAAQ;YACR,IAAI;YACJ,gBAAgB,EAAE,6BAAgB,CAAC,MAAM;SAC1C,CAAC,CAAA;QACF,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACnF,CAAC;IAEO,KAAK,CAAC,yBAAyB,CAAC,KAAyB,EAAE,aAAqB;QACtF,IAAI,CAAC;YACH,MAAM,KAAK,CAAC,eAAe,CAAC,aAAa,CAAC,CAAA;QAC5C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,yDAAyD,aAAa,KAAM,KAAe,CAAC,OAAO,EAAE,CACtG,CAAA;QACH,CAAC;IACH,CAAC;IAEO,mBAAmB,CAAC,CAAiB;QAC3C,OAAO,CACL,CAAC,CAAC,CAAC,OAAO;YACV,CAAC,CAAC,CAAC,OAAO;YACV,CAAC,CAAC,CAAC,iBAAiB,KAAK,6BAAgB,CAAC,MAAM;gBAC9C,CAAC,CAAC,iBAAiB,KAAK,6BAAgB,CAAC,MAAM;gBAC/C,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAC5B,CAAA;IACH,CAAC;IAEO,KAAK,CAAC,YAAY;QACxB,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAA;QACnD,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;QAC3E,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAA;QACjF,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAA;QACrF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAA;QACpC,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAA;QAC5E,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CACb,2BAA2B,SAAS,yEAAyE,CAC9G,CAAA;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAA;QAC5E,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,aAAa,SAAS,8BAA8B,CAAC,CAAA;QACvE,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAA;QAC/D,MAAM,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;QAEtD,mFAAmF;QACnF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;YAC9C,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG;YACnB,IAAI,EAAE,4BAAe,CAAC,MAAM;YAC5B,QAAQ,EAAE,SAAS,CAAC,SAAS;SAC9B,CAAC,CAAA;QACF,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC,CAAA;QAC/E,IAAI,QAAQ,EAAE,CAAC;YACb,wFAAwF;YACxF,uFAAuF;YACvF,IAAI,MAAM,CAAC,QAAQ,CAAC,wBAAwB,CAAC,KAAK,SAAS,CAAC,EAAE,EAAE,CAAC;gBAC/D,MAAM,IAAI,KAAK,CACb,sBAAsB,QAAQ,CAAC,EAAE,+BAA+B,SAAS,CAAC,SAAS,oBAAoB,QAAQ,CAAC,wBAAwB,uBAAuB,SAAS,eAAe,SAAS,CAAC,EAAE,GAAG,CACvM,CAAA;YACH,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,qCAAqC,QAAQ,CAAC,EAAE,+BAA+B,SAAS,CAAC,SAAS,8DAA8D,CACjK,CAAA;YACD,OAAM;QACR,CAAC;QAED,yFAAyF;QACzF,8FAA8F;QAC9F,4FAA4F;QAC5F,qDAAqD;QACrD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAA;QACjD,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,+CAA+C,IAAI,6FAA6F,SAAS,CAAC,EAAE,EAAE,CAC/J,CAAA;YACD,OAAM;QACR,CAAC;QAED,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,KAAK,CAAC,kBAAkB,CAAC;YACvD,IAAI,EAAE,+BAAuB;YAC7B,sBAAsB,EAAE,SAAS,CAAC,EAAE;YACpC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG;SACpB,CAAC,CAAA;QACF,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,4CAA4C,aAAa,+BAA+B,SAAS,CAAC,SAAS,mBAAmB,SAAS,eAAe,SAAS,CAAC,EAAE,GAAG,CACtK,CAAA;IACH,CAAC;IAEO,KAAK,CAAC,uBAAuB,CAAC,SAAiB;QACrD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,OAAQ,CAAC,gBAAgB,CAAC;YACxD,GAAG,EAAE,SAAS;YACd,IAAI,EAAE,4BAAe,CAAC,MAAM;YAC5B,gBAAgB,EAAE,6BAAgB,CAAC,MAAM;SAC1C,CAAC,CAAA;QACF,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;YACvC,IAAI,WAAW,CAAC,OAAO,IAAI,WAAW,CAAC,OAAO;gBAAE,SAAQ;YACxD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAQ,CAAC,mBAAmB,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;YACpG,IAAI,CAAC,MAAM;gBAAE,SAAQ;YACrB,IAAI,CAAC,MAAM,IAAA,kCAAiB,EAAC,MAAM,CAAC,WAAW,CAAC,CAAC,KAAK,oBAAG,CAAC,OAAO;gBAAE,OAAO,WAAW,CAAA;QACvF,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,aAAa,SAAS,+DAA+D,CAAC,CAAA;IACxG,CAAC;IAED,uGAAuG;IAC/F,KAAK,CAAC,sBAAsB,CAAC,QAAgB;;QACnD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAA;QACjD,IAAI,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAA;YAAE,OAAM;QAE5B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;QACvF,MAAM,SAAS,GAAG,MAAM;YACtB,CAAC,CAAC,MAAM,IAAI,CAAC,OAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;YAC9E,CAAC,CAAC,SAAS,CAAA;QACb,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;YACzE,MAAM,IAAI,KAAK,CACb,0BAA0B,QAAQ,yBAAyB,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,GAAG,mCAAI,gBAAgB,kDAAkD,CAChJ,CAAA;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,QAAgB;QAC7C,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG;YAAE,OAAO,SAAS,CAAA;QAC9D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAA;QACrE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,IAAA,kCAAiB,EAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAA;QACtE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,QAAQ,0CAA0C,CAAC,CAAA;YACxG,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,OAAO,MAAM,IAAA,4BAAgB,EAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IACvF,CAAC;CACF;AA/eD,kDA+eC"}
@@ -3,7 +3,6 @@ import type { AgentContext } from '@credo-ts/core';
3
3
  import { BasicTailsFileService } from '@credo-ts/anoncreds';
4
4
  export declare function isValidTailsFileName(name: string): boolean;
5
5
  export declare function getTailsDirectoryPath(agentContext: AgentContext): string;
6
- export declare function migrateLegacyTailsFiles(agentContext: AgentContext): void;
7
6
  export declare class FullTailsFileService extends BasicTailsFileService {
8
7
  private tailsServerBaseUrl;
9
8
  constructor(options: {
@@ -6,13 +6,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.FullTailsFileService = void 0;
7
7
  exports.isValidTailsFileName = isValidTailsFileName;
8
8
  exports.getTailsDirectoryPath = getTailsDirectoryPath;
9
- exports.migrateLegacyTailsFiles = migrateLegacyTailsFiles;
10
9
  exports.deleteTailsFile = deleteTailsFile;
11
10
  const anoncreds_1 = require("@credo-ts/anoncreds");
12
11
  const core_1 = require("@credo-ts/core");
13
- const crypto_1 = require("crypto");
14
12
  const fs_1 = __importDefault(require("fs"));
15
- const os_1 = __importDefault(require("os"));
16
13
  const path_1 = __importDefault(require("path"));
17
14
  const tailsFileNamePattern = /^[A-Za-z0-9-]+$/;
18
15
  function isValidTailsFileName(name) {
@@ -24,52 +21,6 @@ function getTailsDirectoryPath(agentContext) {
24
21
  const fileSystem = agentContext.dependencyManager.resolve(core_1.InjectionSymbols.FileSystem);
25
22
  return path_1.default.join(fileSystem.dataPath, 'tails');
26
23
  }
27
- // Copy uuid tails files from earlier locations (TAILS_DIRECTORY_PATH, ~/.afj/tails, the old cwd ./tails) into the current dir so URLs published before the hash-based change still resolve.
28
- // TODO (last legacy version: v1.12.0-dev.8): Remove this once the last release using the legacy configuration is no longer supported.
29
- function migrateLegacyTailsFiles(agentContext) {
30
- const directory = getTailsDirectoryPath(agentContext);
31
- const legacyDirectories = [
32
- process.env.TAILS_DIRECTORY_PATH,
33
- path_1.default.join(os_1.default.homedir(), '.afj', 'tails'),
34
- path_1.default.resolve('tails'),
35
- ];
36
- for (const legacyDirectory of new Set(legacyDirectories.filter((d) => Boolean(d)))) {
37
- try {
38
- const legacyIndexPath = path_1.default.join(legacyDirectory, 'index.json');
39
- if (!fs_1.default.existsSync(legacyIndexPath))
40
- continue;
41
- const legacyIndex = JSON.parse(fs_1.default.readFileSync(legacyIndexPath, 'utf-8'));
42
- fs_1.default.mkdirSync(directory, { recursive: true });
43
- let migrated = 0;
44
- for (const [tailsFileId, hash] of Object.entries(legacyIndex)) {
45
- if (!isValidTailsFileName(tailsFileId) || !isValidTailsFileName(hash))
46
- continue;
47
- const source = path_1.default.join(legacyDirectory, hash);
48
- const destination = path_1.default.join(directory, tailsFileId);
49
- if (!fs_1.default.existsSync(source) || fs_1.default.existsSync(destination))
50
- continue;
51
- const tempPath = path_1.default.join(directory, `.${tailsFileId}.${process.pid}.${(0, crypto_1.randomBytes)(8).toString('hex')}.tmp`);
52
- try {
53
- fs_1.default.copyFileSync(source, tempPath);
54
- fs_1.default.renameSync(tempPath, destination);
55
- migrated++;
56
- }
57
- catch (fileError) {
58
- try {
59
- fs_1.default.unlinkSync(tempPath);
60
- }
61
- catch (_a) { }
62
- agentContext.config.logger.warn(`Legacy tails file ${tailsFileId} skipped: ${fileError.message}`);
63
- }
64
- }
65
- if (migrated > 0)
66
- agentContext.config.logger.info(`Migrated ${migrated} legacy tails file(s) from ${legacyDirectory}`);
67
- }
68
- catch (error) {
69
- agentContext.config.logger.warn(`Legacy tails migration skipped for ${legacyDirectory}: ${error.message}`);
70
- }
71
- }
72
- }
73
24
  class FullTailsFileService extends anoncreds_1.BasicTailsFileService {
74
25
  constructor(options) {
75
26
  super();
@@ -1 +1 @@
1
- {"version":3,"file":"FullTailsFileService.js","sourceRoot":"","sources":["../../src/credentials/FullTailsFileService.ts"],"names":[],"mappings":";;;;;;AAYA,oDAEC;AAED,sDAIC;AAID,0DA6CC;AA2BD,0CAMC;AAnGD,mDAA2D;AAC3D,yCAAiD;AACjD,mCAAoC;AACpC,4CAAmB;AACnB,4CAAmB;AACnB,gDAAuB;AAEvB,MAAM,oBAAoB,GAAG,iBAAiB,CAAA;AAE9C,SAAgB,oBAAoB,CAAC,IAAY;IAC/C,OAAO,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACxC,CAAC;AAED,SAAgB,qBAAqB,CAAC,YAA0B;IAC9D,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB;QAAE,OAAO,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAA;IAC7E,MAAM,UAAU,GAAG,YAAY,CAAC,iBAAiB,CAAC,OAAO,CAAa,uBAAgB,CAAC,UAAU,CAAC,CAAA;IAClG,OAAO,cAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;AAChD,CAAC;AAED,4LAA4L;AAC5L,sIAAsI;AACtI,SAAgB,uBAAuB,CAAC,YAA0B;IAChE,MAAM,SAAS,GAAG,qBAAqB,CAAC,YAAY,CAAC,CAAA;IACrD,MAAM,iBAAiB,GAAG;QACxB,OAAO,CAAC,GAAG,CAAC,oBAAoB;QAChC,cAAI,CAAC,IAAI,CAAC,YAAE,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC;QACxC,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC;KACtB,CAAA;IACD,KAAK,MAAM,eAAe,IAAI,IAAI,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAChG,IAAI,CAAC;YACH,MAAM,eAAe,GAAG,cAAI,CAAC,IAAI,CAAC,eAAe,EAAE,YAAY,CAAC,CAAA;YAChE,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,eAAe,CAAC;gBAAE,SAAQ;YAE7C,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAE,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAA2B,CAAA;YACnG,YAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;YAE5C,IAAI,QAAQ,GAAG,CAAC,CAAA;YAChB,KAAK,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC9D,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC;oBAAE,SAAQ;gBAC/E,MAAM,MAAM,GAAG,cAAI,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,CAAA;gBAC/C,MAAM,WAAW,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAA;gBACrD,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,YAAE,CAAC,UAAU,CAAC,WAAW,CAAC;oBAAE,SAAQ;gBAElE,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CACxB,SAAS,EACT,IAAI,WAAW,IAAI,OAAO,CAAC,GAAG,IAAI,IAAA,oBAAW,EAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CACvE,CAAA;gBACD,IAAI,CAAC;oBACH,YAAE,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;oBACjC,YAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;oBACpC,QAAQ,EAAE,CAAA;gBACZ,CAAC;gBAAC,OAAO,SAAS,EAAE,CAAC;oBACnB,IAAI,CAAC;wBACH,YAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;oBACzB,CAAC;oBAAC,WAAM,CAAC,CAAA,CAAC;oBACV,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,WAAW,aAAa,SAAS,CAAC,OAAO,EAAE,CAAC,CAAA;gBACnG,CAAC;YACH,CAAC;YACD,IAAI,QAAQ,GAAG,CAAC;gBACd,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,QAAQ,8BAA8B,eAAe,EAAE,CAAC,CAAA;QACxG,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAC7B,sCAAsC,eAAe,KAAK,KAAK,CAAC,OAAO,EAAE,CAC1E,CAAA;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAa,oBAAqB,SAAQ,iCAAqB;IAG7D,YAAmB,OAAuC;QACxD,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAA;IACtD,CAAC;IAEM,KAAK,CAAC,eAAe,CAC1B,YAA0B,EAC1B,OAAgF;QAEhF,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,4BAA4B,CAAC,KAAK,CAAA;QAE/E,MAAM,SAAS,GAAG,qBAAqB,CAAC,YAAY,CAAC,CAAA;QACrD,MAAM,YAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAEvD,MAAM,WAAW,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;QACnD,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,WAAW,CAAC;YAAE,MAAM,YAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC,CAAA;QAEvF,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,SAAS,EAAE,CAAC,CAAA;QACjE,OAAO,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,kBAAkB,IAAI,kBAAkB,CAAC,SAAS,CAAC,EAAE,EAAE,CAAA;IACxF,CAAC;CACF;AAvBD,oDAuBC;AAED,SAAgB,eAAe,CAAC,YAA0B,EAAE,YAAoB;;IAC9E,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAA,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,mCAAI,EAAE,CAAC,CAAA;IACzE,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC;QAAE,OAAM;IAE5C,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,EAAE,SAAS,CAAC,CAAA;IAC1E,IAAI,YAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,YAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;AACtD,CAAC"}
1
+ {"version":3,"file":"FullTailsFileService.js","sourceRoot":"","sources":["../../src/credentials/FullTailsFileService.ts"],"names":[],"mappings":";;;;;;AAUA,oDAEC;AAED,sDAIC;AA2BD,0CAMC;AAhDD,mDAA2D;AAC3D,yCAAiD;AACjD,4CAAmB;AACnB,gDAAuB;AAEvB,MAAM,oBAAoB,GAAG,iBAAiB,CAAA;AAE9C,SAAgB,oBAAoB,CAAC,IAAY;IAC/C,OAAO,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACxC,CAAC;AAED,SAAgB,qBAAqB,CAAC,YAA0B;IAC9D,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB;QAAE,OAAO,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAA;IAC7E,MAAM,UAAU,GAAG,YAAY,CAAC,iBAAiB,CAAC,OAAO,CAAa,uBAAgB,CAAC,UAAU,CAAC,CAAA;IAClG,OAAO,cAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;AAChD,CAAC;AAED,MAAa,oBAAqB,SAAQ,iCAAqB;IAG7D,YAAmB,OAAuC;QACxD,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAA;IACtD,CAAC;IAEM,KAAK,CAAC,eAAe,CAC1B,YAA0B,EAC1B,OAAgF;QAEhF,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,4BAA4B,CAAC,KAAK,CAAA;QAE/E,MAAM,SAAS,GAAG,qBAAqB,CAAC,YAAY,CAAC,CAAA;QACrD,MAAM,YAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAEvD,MAAM,WAAW,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;QACnD,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,WAAW,CAAC;YAAE,MAAM,YAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC,CAAA;QAEvF,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,SAAS,EAAE,CAAC,CAAA;QACjE,OAAO,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,kBAAkB,IAAI,kBAAkB,CAAC,SAAS,CAAC,EAAE,EAAE,CAAA;IACxF,CAAC;CACF;AAvBD,oDAuBC;AAED,SAAgB,eAAe,CAAC,YAA0B,EAAE,YAAoB;;IAC9E,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAA,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,mCAAI,EAAE,CAAC,CAAA;IACzE,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC;QAAE,OAAM;IAE5C,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,EAAE,SAAS,CAAC,CAAA;IAC1E,IAAI,YAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,YAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;AACtD,CAAC"}
@@ -7,6 +7,9 @@ export declare const ED25519_2018_V1: any;
7
7
  export declare const ED25519_2020_V1: any;
8
8
  export declare const SECP256K1_2019_V1: any;
9
9
  export declare const CREDENTIALS_V1: any;
10
+ export declare const CREDENTIALS_V2: any;
11
+ export declare const CREDENTIALS_EXAMPLE_V2: any;
12
+ export declare const CREDENTIALS_UNDEFINED_TERMS_V2: any;
10
13
  export declare const CREDENTIALS_EXAMPLE_V1: any;
11
14
  export declare const DID_V1: any;
12
15
  export declare const ODRL: any;