@verana-labs/credo-ts-didcomm-vt-flow 2.0.0-dev.66 → 2.0.0-dev.68

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.
@@ -5,11 +5,14 @@ import { VtFlowModuleConfig, type VtFlowRequestPurpose } from '../VtFlowModuleCo
5
5
  import { type BuildVtFlowProblemReportOptions, VtFlowErrorCode, buildVtFlowProblemReport } from '../errors';
6
6
  import { CredentialStateChangeMessage, type CredentialStateChangeMessageOptions, IssuanceRequestMessage, OnboardingRequestMessage, OobLinkMessage, type OobLinkMessageOptions, ValidatingMessage, type ValidatingMessageOptions } from '../messages';
7
7
  import { VtFlowRecord, VtFlowRepository } from '../repository';
8
- import { VtFlowState } from '../types';
8
+ import { type VtFlowMessage, VtFlowState } from '../types';
9
9
  export interface CreateOnboardingRequestParams {
10
10
  connectionId: string;
11
11
  participantSessionId: string;
12
- participantId: string;
12
+ applicantParticipantId: string;
13
+ applicantParticipantRole?: number;
14
+ validatorParticipantId?: string;
15
+ schemaId?: string;
13
16
  agentParticipantId: string;
14
17
  walletAgentParticipantId: string;
15
18
  claims?: Record<string, unknown>;
@@ -62,16 +65,22 @@ export declare class VtFlowService {
62
65
  processReceiveOnboardingRequest(messageContext: DidCommInboundMessageContext<OnboardingRequestMessage>): Promise<VtFlowRecord>;
63
66
  /** Validator-side DirectIssuance counterpart of `processReceiveOnboardingRequest`, landing the record in `AWAITING_IR`. */
64
67
  processReceiveIssuanceRequest(messageContext: DidCommInboundMessageContext<IssuanceRequestMessage>): Promise<VtFlowRecord>;
65
- /** Applicant-side inbound `oob-link`; transitions the session to `OOB_PENDING`. */
68
+ /** Applicant-side inbound `oob-link`; `OR_SENT`, `IR_SENT`, `VALIDATING` or `OOB_PENDING` => `OOB_PENDING`. */
66
69
  processReceiveOobLink(messageContext: DidCommInboundMessageContext<OobLinkMessage>): Promise<VtFlowRecord>;
67
- /** Applicant-side inbound `validating`; OnboardingProcess applicant transitions `OR_SENT => VALIDATING`. */
70
+ /** Applicant-side inbound `validating`; `OR_SENT`, `IR_SENT` or `OOB_PENDING` => `VALIDATING`. */
68
71
  processReceiveValidating(messageContext: DidCommInboundMessageContext<ValidatingMessage>): Promise<VtFlowRecord>;
69
72
  /** Applicant-side inbound `credential-state-change`; v1.0 handles `REVOKED` only. */
70
73
  processReceiveCredentialStateChange(messageContext: DidCommInboundMessageContext<CredentialStateChangeMessage>): Promise<VtFlowRecord | null>;
71
74
  /** `AWAITING_OR => VALIDATING`; caller is expected to have verified participant/agent/wallet IDs on-chain. */
72
- acceptOnboardingRequest(agentContext: AgentContext, recordId: string): Promise<VtFlowRecord>;
75
+ acceptOnboardingRequest(agentContext: AgentContext, recordId: string): Promise<{
76
+ record: VtFlowRecord;
77
+ message: ValidatingMessage;
78
+ }>;
73
79
  /** DirectIssuance: `AWAITING_IR => VALIDATING`; transient before `CRED_OFFERED`. */
74
- acceptIssuanceRequest(agentContext: AgentContext, recordId: string): Promise<VtFlowRecord>;
80
+ acceptIssuanceRequest(agentContext: AgentContext, recordId: string): Promise<{
81
+ record: VtFlowRecord;
82
+ message: ValidatingMessage;
83
+ }>;
75
84
  /** Reject with a problem-report; transitions to `TERMINATED_BY_{role}` and marks the connection as `TERMINATED`. */
76
85
  rejectRequest(agentContext: AgentContext, recordId: string, params: RejectRequestParams): Promise<{
77
86
  record: VtFlowRecord;
@@ -96,17 +105,17 @@ export declare class VtFlowService {
96
105
  record: VtFlowRecord;
97
106
  problemReport: ReturnType<typeof buildVtFlowProblemReport>;
98
107
  }>;
99
- /** Build an `oob-link`; non-terminal records transition to `OOB_PENDING`. */
108
+ /** Build an `oob-link` from `VALIDATING` or `OOB_PENDING`; the flow moves to or stays in `OOB_PENDING`. */
100
109
  sendOobLinkForSession(agentContext: AgentContext, recordId: string, params: SendOobLinkParams): Promise<{
101
110
  record: VtFlowRecord;
102
111
  message: OobLinkMessage;
103
112
  }>;
104
- /** Build a `validating` informational message; no state change on the Validator side. */
113
+ /** `OOB_PENDING` => `VALIDATING`, with the `validating` that tells the applicant its out-of-band step is done. */
105
114
  sendValidatingForSession(agentContext: AgentContext, recordId: string, params?: SendValidatingParams): Promise<{
106
115
  record: VtFlowRecord;
107
116
  message: ValidatingMessage;
108
117
  }>;
109
- /** `VALIDATING => VALIDATED`; call after `SetParticipantOPtoValidated` lands on-chain. */
118
+ /** Validator-side states preceding `VALIDATED` => `VALIDATED`; call after `SetParticipantOPtoValidated` lands on-chain. */
110
119
  markValidated(agentContext: AgentContext, recordId: string): Promise<VtFlowRecord>;
111
120
  /**
112
121
  * Close an onboarding process that carries no credential exchange. Only a HOLDER receives a
@@ -116,6 +125,8 @@ export declare class VtFlowService {
116
125
  * event.
117
126
  */
118
127
  markCompleted(agentContext: AgentContext, recordId: string): Promise<VtFlowRecord>;
128
+ /** Validator states that an `offer-credential` moves to `CRED_OFFERED`; from `COMPLETED` it starts a new subprotocol run. */
129
+ assertCanOfferCredential(record: VtFlowRecord): void;
119
130
  /** Link a Credo exchange record to the session and transition to `CRED_OFFERED`. */
120
131
  attachCredentialExchangeRecord(agentContext: AgentContext, recordId: string, credentialExchangeRecord: DidCommCredentialExchangeRecord, credentialDigest?: string, issuerParticipantId?: number): Promise<VtFlowRecord>;
121
132
  setEcsSchemaKey(agentContext: AgentContext, recordId: string, ecsSchemaKey: string): Promise<VtFlowRecord>;
@@ -136,6 +147,8 @@ export declare class VtFlowService {
136
147
  findAllByQuery(agentContext: AgentContext, query: Query<VtFlowRecord>, queryOptions?: QueryOptions): Promise<VtFlowRecord[]>;
137
148
  /** Transition the record, persist it, and emit `VtFlowStateChanged`. */
138
149
  updateState(agentContext: AgentContext, record: VtFlowRecord, newState: VtFlowState): Promise<void>;
150
+ /** Append to `messages[]`, which a validator fills with what it sent and an applicant with what it received. */
151
+ appendMessage(record: VtFlowRecord, message: VtFlowMessage): void;
139
152
  /** Persist record changes without state-transition semantics (no event emitted). */
140
153
  updateRecord(agentContext: AgentContext, record: VtFlowRecord): Promise<void>;
141
154
  /** participant_session_ids are public on-chain, so only the original peer may re-attach a flow with one. */
@@ -32,7 +32,7 @@ let VtFlowService = class VtFlowService {
32
32
  /** Applicant-side OnboardingProcess: build the outbound `onboarding-request` and persist a record in `OR_SENT`. */
33
33
  async createOnboardingProcessRecord(agentContext, params) {
34
34
  const message = new messages_1.OnboardingRequestMessage({
35
- participantId: params.participantId,
35
+ participantId: params.applicantParticipantId,
36
36
  participantSessionId: params.participantSessionId,
37
37
  agentParticipantId: params.agentParticipantId,
38
38
  walletAgentParticipantId: params.walletAgentParticipantId,
@@ -60,7 +60,10 @@ let VtFlowService = class VtFlowService {
60
60
  variant: types_1.VtFlowVariant.OnboardingProcess,
61
61
  agentParticipantId: params.agentParticipantId,
62
62
  walletAgentParticipantId: params.walletAgentParticipantId,
63
- participantId: params.participantId,
63
+ applicantParticipantId: params.applicantParticipantId,
64
+ applicantParticipantRole: params.applicantParticipantRole,
65
+ validatorParticipantId: params.validatorParticipantId,
66
+ schemaId: params.schemaId,
64
67
  claims: params.claims,
65
68
  });
66
69
  await this.repository.save(agentContext, record);
@@ -102,10 +105,10 @@ let VtFlowService = class VtFlowService {
102
105
  record.state === types_1.VtFlowState.CredRevoked) {
103
106
  throw new core_1.CredoError(`vt-flow: flow '${record.id}' in state ${record.state} cannot be re-attached`);
104
107
  }
105
- if (!record.participantId)
108
+ if (!record.applicantParticipantId)
106
109
  throw new core_1.CredoError(`vt-flow: flow '${record.id}' has no participant_id`);
107
110
  const message = new messages_1.OnboardingRequestMessage({
108
- participantId: record.participantId,
111
+ participantId: record.applicantParticipantId,
109
112
  participantSessionId: record.participantSessionId,
110
113
  agentParticipantId: record.agentParticipantId,
111
114
  walletAgentParticipantId: record.walletAgentParticipantId,
@@ -145,7 +148,7 @@ let VtFlowService = class VtFlowService {
145
148
  if ((0, types_1.isVtFlowTerminalState)(existing.state)) {
146
149
  throw new core_1.CredoError(`vt-flow: participant_session_id '${message.participantSessionId}' collides with a terminated flow`);
147
150
  }
148
- if (existing.participantId !== message.participantId) {
151
+ if (existing.applicantParticipantId !== message.participantId) {
149
152
  throw new core_1.CredoError(`vt-flow: participant_id '${message.participantId}' does not match the flow of participant_session_id '${message.participantSessionId}'`);
150
153
  }
151
154
  await this.assertSamePeer(agentContext, existing, connection);
@@ -159,7 +162,7 @@ let VtFlowService = class VtFlowService {
159
162
  }
160
163
  if (existing.state === types_1.VtFlowState.Completed || existing.state === types_1.VtFlowState.CredRevoked) {
161
164
  // A finished flow re-entered with a new OR is a renewal (VSA-VTI-FLOW-OP-RENEW): re-run it.
162
- existing.oobLinkUrl = undefined;
165
+ existing.oobLink = undefined;
163
166
  await this.updateState(agentContext, existing, types_1.VtFlowState.AwaitingOr);
164
167
  }
165
168
  else if (existing.state === types_1.VtFlowState.CredOffered) {
@@ -180,7 +183,7 @@ let VtFlowService = class VtFlowService {
180
183
  variant: types_1.VtFlowVariant.OnboardingProcess,
181
184
  agentParticipantId: message.agentParticipantId,
182
185
  walletAgentParticipantId: message.walletAgentParticipantId,
183
- participantId: message.participantId,
186
+ applicantParticipantId: message.participantId,
184
187
  claims: message.claims,
185
188
  proofsAttach: message.proofsAttach,
186
189
  });
@@ -198,7 +201,7 @@ let VtFlowService = class VtFlowService {
198
201
  if ((0, types_1.isVtFlowTerminalState)(existing.state)) {
199
202
  throw new core_1.CredoError(`vt-flow: participant_session_id '${message.participantSessionId}' collides with a terminated flow`);
200
203
  }
201
- if (existing.schemaId !== message.schemaId) {
204
+ if (existing.variant !== types_1.VtFlowVariant.DirectIssuance || existing.schemaId !== message.schemaId) {
202
205
  throw new core_1.CredoError(`vt-flow: schema_id '${message.schemaId}' does not match the flow of participant_session_id '${message.participantSessionId}'`);
203
206
  }
204
207
  await this.assertSamePeer(agentContext, existing, connection);
@@ -229,25 +232,51 @@ let VtFlowService = class VtFlowService {
229
232
  this.emitStateChanged(agentContext, record, null);
230
233
  return record;
231
234
  }
232
- /** Applicant-side inbound `oob-link`; transitions the session to `OOB_PENDING`. */
235
+ /** Applicant-side inbound `oob-link`; `OR_SENT`, `IR_SENT`, `VALIDATING` or `OOB_PENDING` => `OOB_PENDING`. */
233
236
  async processReceiveOobLink(messageContext) {
237
+ var _a;
234
238
  const { message, agentContext } = messageContext;
235
239
  messageContext.assertReadyConnection();
236
240
  const record = await this.getByThreadId(agentContext, message.threadId);
237
241
  record.assertRole(types_1.VtFlowRole.Applicant);
242
+ record.assertState([
243
+ types_1.VtFlowState.OrSent,
244
+ types_1.VtFlowState.IrSent,
245
+ types_1.VtFlowState.Validating,
246
+ types_1.VtFlowState.OobPending,
247
+ ]);
248
+ record.oobLink = {
249
+ url: message.url,
250
+ description: message.description,
251
+ expiresAt: (_a = message.expiresTime) === null || _a === void 0 ? void 0 : _a.toISOString(),
252
+ at: new Date().toISOString(),
253
+ };
254
+ this.appendMessage(record, {
255
+ type: types_1.VtFlowMessageType.OobLink,
256
+ text: message.description,
257
+ at: record.oobLink.at,
258
+ url: message.url,
259
+ });
238
260
  await this.updateState(agentContext, record, types_1.VtFlowState.OobPending);
239
261
  return record;
240
262
  }
241
- /** Applicant-side inbound `validating`; OnboardingProcess applicant transitions `OR_SENT => VALIDATING`. */
263
+ /** Applicant-side inbound `validating`; `OR_SENT`, `IR_SENT` or `OOB_PENDING` => `VALIDATING`. */
242
264
  async processReceiveValidating(messageContext) {
243
265
  var _a;
244
266
  const { message, agentContext } = messageContext;
245
267
  messageContext.assertReadyConnection();
246
268
  const record = await this.getByThreadId(agentContext, message.threadId);
247
269
  this.logger.debug(`[vt-flow] validating received for session ${record.threadId}: ${(_a = message.comment) !== null && _a !== void 0 ? _a : '(no comment)'}`);
270
+ if (record.role === types_1.VtFlowRole.Applicant && message.comment) {
271
+ this.appendMessage(record, {
272
+ type: types_1.VtFlowMessageType.Validating,
273
+ text: message.comment,
274
+ at: new Date().toISOString(),
275
+ });
276
+ await this.updateRecord(agentContext, record);
277
+ }
248
278
  if (record.role === types_1.VtFlowRole.Applicant &&
249
- record.variant === types_1.VtFlowVariant.OnboardingProcess &&
250
- record.state === types_1.VtFlowState.OrSent) {
279
+ [types_1.VtFlowState.OrSent, types_1.VtFlowState.IrSent, types_1.VtFlowState.OobPending].includes(record.state)) {
251
280
  await this.updateState(agentContext, record, types_1.VtFlowState.Validating);
252
281
  }
253
282
  return record;
@@ -276,7 +305,7 @@ let VtFlowService = class VtFlowService {
276
305
  record.assertState(types_1.VtFlowState.AwaitingOr);
277
306
  record.assertVariant(types_1.VtFlowVariant.OnboardingProcess);
278
307
  await this.updateState(agentContext, record, types_1.VtFlowState.Validating);
279
- return record;
308
+ return { record, message: new messages_1.ValidatingMessage({ threadId: record.threadId }) };
280
309
  }
281
310
  /** DirectIssuance: `AWAITING_IR => VALIDATING`; transient before `CRED_OFFERED`. */
282
311
  async acceptIssuanceRequest(agentContext, recordId) {
@@ -285,7 +314,7 @@ let VtFlowService = class VtFlowService {
285
314
  record.assertState(types_1.VtFlowState.AwaitingIr);
286
315
  record.assertVariant(types_1.VtFlowVariant.DirectIssuance);
287
316
  await this.updateState(agentContext, record, types_1.VtFlowState.Validating);
288
- return record;
317
+ return { record, message: new messages_1.ValidatingMessage({ threadId: record.threadId }) };
289
318
  }
290
319
  /** Reject with a problem-report; transitions to `TERMINATED_BY_{role}` and marks the connection as `TERMINATED`. */
291
320
  async rejectRequest(agentContext, recordId, params) {
@@ -325,6 +354,17 @@ let VtFlowService = class VtFlowService {
325
354
  var _a, _b;
326
355
  const record = await this.repository.getById(agentContext, recordId);
327
356
  record.assertRole(types_1.VtFlowRole.Validator);
357
+ record.assertState([
358
+ types_1.VtFlowState.AwaitingOr,
359
+ types_1.VtFlowState.AwaitingIr,
360
+ types_1.VtFlowState.Validating,
361
+ types_1.VtFlowState.OobPending,
362
+ types_1.VtFlowState.AwaitingValidationTx,
363
+ types_1.VtFlowState.ValidationTxFailed,
364
+ // VtFlowModule ends the flow here when auto-issue fails, until verana-labs/vs-agent#738
365
+ types_1.VtFlowState.CredOffered,
366
+ types_1.VtFlowState.Completed,
367
+ ]);
328
368
  const code = (_a = params.code) !== null && _a !== void 0 ? _a : errors_1.VtFlowErrorCode.SessionTerminated;
329
369
  const problemReport = (0, errors_1.buildVtFlowProblemReport)({
330
370
  code,
@@ -349,47 +389,57 @@ let VtFlowService = class VtFlowService {
349
389
  await this.updateState(agentContext, record, params.state);
350
390
  return { record, problemReport };
351
391
  }
352
- /** Build an `oob-link`; non-terminal records transition to `OOB_PENDING`. */
392
+ /** Build an `oob-link` from `VALIDATING` or `OOB_PENDING`; the flow moves to or stays in `OOB_PENDING`. */
353
393
  async sendOobLinkForSession(agentContext, recordId, params) {
394
+ var _a;
354
395
  const record = await this.repository.getById(agentContext, recordId);
355
396
  record.assertRole(types_1.VtFlowRole.Validator);
356
- record.assertState([
357
- types_1.VtFlowState.AwaitingOr,
358
- types_1.VtFlowState.AwaitingIr,
359
- types_1.VtFlowState.Validating,
360
- types_1.VtFlowState.OobPending,
361
- types_1.VtFlowState.Completed,
362
- ]);
397
+ record.assertState([types_1.VtFlowState.Validating, types_1.VtFlowState.OobPending]);
363
398
  const message = new messages_1.OobLinkMessage({
364
399
  threadId: record.threadId,
365
400
  url: params.url,
366
401
  description: params.description,
367
402
  expiresTime: params.expiresTime,
368
403
  });
369
- record.oobLinkUrl = params.url;
370
- if (record.state !== types_1.VtFlowState.Completed) {
371
- await this.updateState(agentContext, record, types_1.VtFlowState.OobPending);
372
- }
373
- else {
374
- await this.updateRecord(agentContext, record);
375
- }
404
+ record.oobLink = {
405
+ url: params.url,
406
+ description: params.description,
407
+ expiresAt: (_a = params.expiresTime) === null || _a === void 0 ? void 0 : _a.toISOString(),
408
+ at: new Date().toISOString(),
409
+ };
410
+ this.appendMessage(record, {
411
+ type: types_1.VtFlowMessageType.OobLink,
412
+ text: params.description,
413
+ at: record.oobLink.at,
414
+ url: params.url,
415
+ });
416
+ await this.updateState(agentContext, record, types_1.VtFlowState.OobPending);
376
417
  return { record, message };
377
418
  }
378
- /** Build a `validating` informational message; no state change on the Validator side. */
419
+ /** `OOB_PENDING` => `VALIDATING`, with the `validating` that tells the applicant its out-of-band step is done. */
379
420
  async sendValidatingForSession(agentContext, recordId, params = {}) {
380
421
  const record = await this.repository.getById(agentContext, recordId);
381
422
  record.assertRole(types_1.VtFlowRole.Validator);
423
+ record.assertState(types_1.VtFlowState.OobPending);
382
424
  const message = new messages_1.ValidatingMessage({
383
425
  threadId: record.threadId,
384
426
  comment: params.comment,
385
427
  });
428
+ if (params.comment) {
429
+ this.appendMessage(record, {
430
+ type: types_1.VtFlowMessageType.Validating,
431
+ text: params.comment,
432
+ at: new Date().toISOString(),
433
+ });
434
+ }
435
+ await this.updateState(agentContext, record, types_1.VtFlowState.Validating);
386
436
  return { record, message };
387
437
  }
388
- /** `VALIDATING => VALIDATED`; call after `SetParticipantOPtoValidated` lands on-chain. */
438
+ /** Validator-side states preceding `VALIDATED` => `VALIDATED`; call after `SetParticipantOPtoValidated` lands on-chain. */
389
439
  async markValidated(agentContext, recordId) {
390
440
  const record = await this.repository.getById(agentContext, recordId);
391
441
  record.assertRole(types_1.VtFlowRole.Validator);
392
- record.assertState([types_1.VtFlowState.Validating, types_1.VtFlowState.OobPending]);
442
+ record.assertState([...types_1.VtFlowValidatedFromStates]);
393
443
  record.assertVariant(types_1.VtFlowVariant.OnboardingProcess);
394
444
  await this.updateState(agentContext, record, types_1.VtFlowState.Validated);
395
445
  return record;
@@ -412,16 +462,20 @@ let VtFlowService = class VtFlowService {
412
462
  await this.updateState(agentContext, record, types_1.VtFlowState.Completed);
413
463
  return record;
414
464
  }
415
- /** Link a Credo exchange record to the session and transition to `CRED_OFFERED`. */
416
- async attachCredentialExchangeRecord(agentContext, recordId, credentialExchangeRecord, credentialDigest, issuerParticipantId) {
417
- const record = await this.repository.getById(agentContext, recordId);
465
+ /** Validator states that an `offer-credential` moves to `CRED_OFFERED`; from `COMPLETED` it starts a new subprotocol run. */
466
+ assertCanOfferCredential(record) {
418
467
  record.assertRole(types_1.VtFlowRole.Validator);
419
468
  record.assertState([
420
469
  types_1.VtFlowState.Validated,
421
- types_1.VtFlowState.Validating,
422
- types_1.VtFlowState.OobPending,
470
+ types_1.VtFlowState.ValidatedPendingClaims,
423
471
  types_1.VtFlowState.Completed,
472
+ ...(record.variant === types_1.VtFlowVariant.DirectIssuance ? [types_1.VtFlowState.Validating] : []),
424
473
  ]);
474
+ }
475
+ /** Link a Credo exchange record to the session and transition to `CRED_OFFERED`. */
476
+ async attachCredentialExchangeRecord(agentContext, recordId, credentialExchangeRecord, credentialDigest, issuerParticipantId) {
477
+ const record = await this.repository.getById(agentContext, recordId);
478
+ this.assertCanOfferCredential(record);
425
479
  record.credentialExchangeRecordId = credentialExchangeRecord.id;
426
480
  if (credentialDigest)
427
481
  record.credentialDigest = credentialDigest;
@@ -534,12 +588,21 @@ let VtFlowService = class VtFlowService {
534
588
  /** Transition the record, persist it, and emit `VtFlowStateChanged`. */
535
589
  async updateState(agentContext, record, newState) {
536
590
  const previousState = record.state;
537
- if (previousState === newState)
591
+ if (previousState === newState) {
592
+ await this.repository.update(agentContext, record);
538
593
  return;
594
+ }
595
+ if (previousState === types_1.VtFlowState.OobPending)
596
+ record.oobLink = undefined;
539
597
  record.state = newState;
540
598
  await this.repository.update(agentContext, record);
541
599
  this.emitStateChanged(agentContext, record, previousState);
542
600
  }
601
+ /** Append to `messages[]`, which a validator fills with what it sent and an applicant with what it received. */
602
+ appendMessage(record, message) {
603
+ var _a;
604
+ record.messages = [...((_a = record.messages) !== null && _a !== void 0 ? _a : []), message];
605
+ }
543
606
  /** Persist record changes without state-transition semantics (no event emitted). */
544
607
  async updateRecord(agentContext, record) {
545
608
  await this.repository.update(agentContext, record);
@@ -1 +1 @@
1
- {"version":3,"file":"VtFlowService.js","sourceRoot":"","sources":["../../src/services/VtFlowService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VtFlowService.js","sourceRoot":"","sources":["../../src/services/VtFlowService.ts"],"names":[],"mappings":"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"}
package/build/types.d.ts CHANGED
@@ -12,7 +12,7 @@ export declare enum VtFlowVariant {
12
12
  OnboardingProcess = "onboarding-process",
13
13
  DirectIssuance = "direct-issuance"
14
14
  }
15
- /** 16 Flow States covering both variants (AWAITING_*, *_SENT, OOB_PENDING, VALIDATING, VALIDATED, CRED_OFFERED, COMPLETED, CRED_REVOKED, TERMINATED_BY_*, ERROR, PARTICIPANT_REVOKED, PARTICIPANT_SLASHED). */
15
+ /** 20 Flow States covering both variants (AWAITING_*, *_SENT, OOB_PENDING, VALIDATING, VALIDATION_TX_*, VALIDATED, VALIDATED_PENDING_CLAIMS, CRED_OFFERED, COMPLETED, CRED_REVOKED, TERMINATED_BY_*, ERROR, PARTICIPANT_REVOKED, PARTICIPANT_SLASHED). */
16
16
  export declare enum VtFlowState {
17
17
  AwaitingOp = "AWAITING_OP",
18
18
  OrSent = "OR_SENT",
@@ -21,7 +21,11 @@ export declare enum VtFlowState {
21
21
  AwaitingIr = "AWAITING_IR",
22
22
  OobPending = "OOB_PENDING",
23
23
  Validating = "VALIDATING",
24
+ AwaitingValidationTx = "AWAITING_VALIDATION_TX",
25
+ ValidationTxSubmitted = "VALIDATION_TX_SUBMITTED",
26
+ ValidationTxFailed = "VALIDATION_TX_FAILED",
24
27
  Validated = "VALIDATED",
28
+ ValidatedPendingClaims = "VALIDATED_PENDING_CLAIMS",
25
29
  CredOffered = "CRED_OFFERED",
26
30
  Completed = "COMPLETED",
27
31
  CredRevoked = "CRED_REVOKED",
@@ -33,6 +37,8 @@ export declare enum VtFlowState {
33
37
  }
34
38
  /** Terminal states; Connection State is implicitly `TERMINATED` for each. */
35
39
  export declare const VtFlowTerminalStates: ReadonlySet<VtFlowState>;
40
+ /** Validator states that `SetParticipantOPtoValidated` on-chain moves to `VALIDATED` ([VSA-VTI-FLOW-OP-ISSUE]). */
41
+ export declare const VtFlowValidatedFromStates: ReadonlySet<VtFlowState>;
36
42
  export declare function isVtFlowTerminalState(state: VtFlowState): boolean;
37
43
  export declare enum VtFlowEventTypes {
38
44
  VtFlowStateChanged = "VtFlowStateChanged"
@@ -48,10 +54,87 @@ export interface VtFlowStateChangedEvent extends BaseEvent {
48
54
  previousState: VtFlowState | null;
49
55
  };
50
56
  }
57
+ /** The party that must act for a flow to progress, per the [VSA-ADM-VT-FL-LIST] pendingAction table. */
58
+ export declare enum VtFlowPendingAction {
59
+ Applicant = "APPLICANT",
60
+ Validator = "VALIDATOR",
61
+ Agent = "AGENT",
62
+ Chain = "CHAIN",
63
+ None = "NONE"
64
+ }
65
+ /** Who submitted `SetParticipantOPtoValidated`. */
66
+ export declare enum VtFlowSubmission {
67
+ Agent = "AGENT",
68
+ Operator = "OPERATOR"
69
+ }
70
+ /** Why a flow transaction failed, per [VSA-ADM-VT-FL-VALIDATE-9]. */
71
+ export declare enum VtFlowTxReason {
72
+ InsufficientFundsAgent = "INSUFFICIENT_FUNDS_AGENT",
73
+ InsufficientFundsCorporation = "INSUFFICIENT_FUNDS_CORPORATION",
74
+ FeegrantExhausted = "FEEGRANT_EXHAUSTED",
75
+ FeegrantExpired = "FEEGRANT_EXPIRED",
76
+ AuthorizationExpired = "AUTHORIZATION_EXPIRED",
77
+ BroadcastError = "BROADCAST_ERROR",
78
+ TxFailed = "TX_FAILED",
79
+ TxNotFound = "TX_NOT_FOUND"
80
+ }
81
+ export declare enum VtFlowTxStatus {
82
+ Submitted = "SUBMITTED",
83
+ Succeeded = "SUCCEEDED",
84
+ Failed = "FAILED"
85
+ }
86
+ /** Outcome of a flow transaction; `height` and `reason` appear once the chain resolved it. */
87
+ export interface VtFlowTx {
88
+ hash?: string;
89
+ height?: number;
90
+ status: VtFlowTxStatus;
91
+ reason?: VtFlowTxReason;
92
+ error?: string;
93
+ }
94
+ /** The validation decision of an Onboarding Process flow, recorded by `validateFlow`. Discounts are decimals between 0 and 1. */
95
+ export interface VtFlowValidation {
96
+ decidedAt: string;
97
+ submission: VtFlowSubmission;
98
+ validationFees?: number;
99
+ issuanceFees?: number;
100
+ verificationFees?: number;
101
+ issuanceFeeDiscount?: number;
102
+ verificationFeeDiscount?: number;
103
+ effectiveUntil?: string;
104
+ opSummaryDigest?: string;
105
+ tx?: VtFlowTx;
106
+ }
107
+ /** Outcome of the `CreateOrUpdateParticipantSession` transaction that anchors the issued credential. */
108
+ export interface VtFlowIssuance {
109
+ tx?: VtFlowTx;
110
+ }
111
+ /** Kind of a human-readable flow message recorded in `messages[]`. */
112
+ export declare enum VtFlowMessageType {
113
+ OobLink = "oob-link",
114
+ Validating = "validating",
115
+ ProblemReport = "problem-report"
116
+ }
117
+ /** One human-readable message of a flow; `url` is set for an `oob-link` only. Timestamps are ISO 8601, the record is stored as JSON. */
118
+ export interface VtFlowMessage {
119
+ type: VtFlowMessageType;
120
+ text: string;
121
+ at: string;
122
+ url?: string;
123
+ }
124
+ /** The outstanding `oob-link` of a flow; `at` is when the agent sent or received the message. */
125
+ export interface VtFlowOobLink {
126
+ url: string;
127
+ description: string;
128
+ expiresAt?: string;
129
+ at: string;
130
+ }
51
131
  export interface SendOnboardingRequestOptions {
52
132
  connectionId: string;
53
133
  participantSessionId?: string;
54
- participantId: string;
134
+ applicantParticipantId: string;
135
+ applicantParticipantRole?: number;
136
+ validatorParticipantId?: string;
137
+ schemaId?: string;
55
138
  agentParticipantId: string;
56
139
  walletAgentParticipantId: string;
57
140
  claims?: Record<string, unknown>;