@rytass/bpm-core-nestjs-module 0.22.0 → 0.24.0

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 (161) hide show
  1. package/CHANGELOG.md +95 -0
  2. package/README.md +68 -1
  3. package/package.json +2 -2
  4. package/src/index.d.ts +1 -0
  5. package/src/index.js +1 -0
  6. package/src/index.js.map +1 -1
  7. package/src/lib/bpm/bpm-root-options.d.ts +57 -0
  8. package/src/lib/bpm/bpm-root-options.js.map +1 -1
  9. package/src/lib/bpm/bpm-root.module.d.ts +21 -0
  10. package/src/lib/bpm/bpm-root.module.js +6 -0
  11. package/src/lib/bpm/bpm-root.module.js.map +1 -1
  12. package/src/lib/form/dto/form-definition.input.d.ts +5 -0
  13. package/src/lib/form/dto/form-definition.input.js.map +1 -1
  14. package/src/lib/form/form-definition.entity.d.ts +5 -0
  15. package/src/lib/form/form-definition.entity.js +7 -0
  16. package/src/lib/form/form-definition.entity.js.map +1 -1
  17. package/src/lib/form/form-schema.validator.js +17 -5
  18. package/src/lib/form/form-schema.validator.js.map +1 -1
  19. package/src/lib/form/form.queries.d.ts +2 -2
  20. package/src/lib/form/form.queries.js +17 -5
  21. package/src/lib/form/form.queries.js.map +1 -1
  22. package/src/lib/form/form.service.d.ts +2 -1
  23. package/src/lib/form/form.service.js +10 -5
  24. package/src/lib/form/form.service.js.map +1 -1
  25. package/src/lib/form-data-source/form-data-source-value-resolver.service.js +22 -2
  26. package/src/lib/form-data-source/form-data-source-value-resolver.service.js.map +1 -1
  27. package/src/lib/form-data-source/form-data-source.errors.d.ts +11 -0
  28. package/src/lib/form-data-source/form-data-source.errors.js +14 -1
  29. package/src/lib/form-data-source/form-data-source.errors.js.map +1 -1
  30. package/src/lib/form-data-source/form-data-source.service.d.ts +6 -0
  31. package/src/lib/form-data-source/form-data-source.service.js +37 -3
  32. package/src/lib/form-data-source/form-data-source.service.js.map +1 -1
  33. package/src/lib/instance-event/approval-instance-event.entity.d.ts +27 -0
  34. package/src/lib/instance-event/approval-instance-event.entity.js +93 -0
  35. package/src/lib/instance-event/approval-instance-event.entity.js.map +1 -0
  36. package/src/lib/instance-event/index.d.ts +13 -0
  37. package/src/lib/instance-event/index.js +17 -0
  38. package/src/lib/instance-event/index.js.map +1 -0
  39. package/src/lib/instance-event/instance-event.delivery-scheduler.service.d.ts +21 -0
  40. package/src/lib/instance-event/instance-event.delivery-scheduler.service.js +81 -0
  41. package/src/lib/instance-event/instance-event.delivery-scheduler.service.js.map +1 -0
  42. package/src/lib/instance-event/instance-event.delivery.service.d.ts +69 -0
  43. package/src/lib/instance-event/instance-event.delivery.service.js +259 -0
  44. package/src/lib/instance-event/instance-event.delivery.service.js.map +1 -0
  45. package/src/lib/instance-event/instance-event.delivery.subscriber.d.ts +24 -0
  46. package/src/lib/instance-event/instance-event.delivery.subscriber.js +85 -0
  47. package/src/lib/instance-event/instance-event.delivery.subscriber.js.map +1 -0
  48. package/src/lib/instance-event/instance-event.enums.d.ts +12 -0
  49. package/src/lib/instance-event/instance-event.enums.js +28 -0
  50. package/src/lib/instance-event/instance-event.enums.js.map +1 -0
  51. package/src/lib/instance-event/instance-event.module.d.ts +13 -0
  52. package/src/lib/instance-event/instance-event.module.js +52 -0
  53. package/src/lib/instance-event/instance-event.module.js.map +1 -0
  54. package/src/lib/instance-event/instance-event.object.d.ts +24 -0
  55. package/src/lib/instance-event/instance-event.object.js +73 -0
  56. package/src/lib/instance-event/instance-event.object.js.map +1 -0
  57. package/src/lib/instance-event/instance-event.options.d.ts +26 -0
  58. package/src/lib/instance-event/instance-event.options.js +35 -0
  59. package/src/lib/instance-event/instance-event.options.js.map +1 -0
  60. package/src/lib/instance-event/instance-event.resolver.d.ts +10 -0
  61. package/src/lib/instance-event/instance-event.resolver.js +75 -0
  62. package/src/lib/instance-event/instance-event.resolver.js.map +1 -0
  63. package/src/lib/instance-event/instance-event.service.d.ts +18 -0
  64. package/src/lib/instance-event/instance-event.service.js +37 -0
  65. package/src/lib/instance-event/instance-event.service.js.map +1 -0
  66. package/src/lib/instance-event/instance-event.token.d.ts +19 -0
  67. package/src/lib/instance-event/instance-event.token.js +9 -0
  68. package/src/lib/instance-event/instance-event.token.js.map +1 -0
  69. package/src/lib/instance-event/instance-event.types.d.ts +67 -0
  70. package/src/lib/instance-event/instance-event.types.js +9 -0
  71. package/src/lib/instance-event/instance-event.types.js.map +1 -0
  72. package/src/lib/instance-event/instance-event.writer.d.ts +21 -0
  73. package/src/lib/instance-event/instance-event.writer.js +45 -0
  74. package/src/lib/instance-event/instance-event.writer.js.map +1 -0
  75. package/src/lib/migrations/0000000032000-host-integration-round.d.ts +25 -0
  76. package/src/lib/migrations/0000000032000-host-integration-round.js +104 -0
  77. package/src/lib/migrations/0000000032000-host-integration-round.js.map +1 -0
  78. package/src/lib/migrations/0000000033000-activity-log-advance-failed-index.d.ts +35 -0
  79. package/src/lib/migrations/0000000033000-activity-log-advance-failed-index.js +51 -0
  80. package/src/lib/migrations/0000000033000-activity-log-advance-failed-index.js.map +1 -0
  81. package/src/lib/migrations/index.d.ts +2 -0
  82. package/src/lib/migrations/index.js +6 -0
  83. package/src/lib/migrations/index.js.map +1 -1
  84. package/src/lib/notification/notification.service.d.ts +3 -2
  85. package/src/lib/notification/notification.service.js +52 -10
  86. package/src/lib/notification/notification.service.js.map +1 -1
  87. package/src/lib/template/approval-template-version.entity.d.ts +9 -1
  88. package/src/lib/template/approval-template-version.entity.js +11 -1
  89. package/src/lib/template/approval-template-version.entity.js.map +1 -1
  90. package/src/lib/template/approval-template.entity.d.ts +18 -0
  91. package/src/lib/template/approval-template.entity.js +23 -0
  92. package/src/lib/template/approval-template.entity.js.map +1 -1
  93. package/src/lib/template/dto/approval-template.input.d.ts +21 -0
  94. package/src/lib/template/dto/approval-template.input.js +38 -0
  95. package/src/lib/template/dto/approval-template.input.js.map +1 -1
  96. package/src/lib/template/dto/compose-approval-template.input.d.ts +23 -0
  97. package/src/lib/template/dto/compose-approval-template.input.js +37 -0
  98. package/src/lib/template/dto/compose-approval-template.input.js.map +1 -1
  99. package/src/lib/template/template-key.d.ts +26 -0
  100. package/src/lib/template/template-key.js +67 -0
  101. package/src/lib/template/template-key.js.map +1 -0
  102. package/src/lib/template/template.enums.d.ts +11 -0
  103. package/src/lib/template/template.enums.js +17 -1
  104. package/src/lib/template/template.enums.js.map +1 -1
  105. package/src/lib/template/template.queries.d.ts +3 -2
  106. package/src/lib/template/template.queries.js +29 -4
  107. package/src/lib/template/template.queries.js.map +1 -1
  108. package/src/lib/template/template.service.d.ts +8 -1
  109. package/src/lib/template/template.service.js +111 -17
  110. package/src/lib/template/template.service.js.map +1 -1
  111. package/src/lib/template/workflow-definition.validator.js +12 -6
  112. package/src/lib/template/workflow-definition.validator.js.map +1 -1
  113. package/src/lib/workflow-engine/approver-filled-table-columns.d.ts +91 -0
  114. package/src/lib/workflow-engine/approver-filled-table-columns.js +301 -0
  115. package/src/lib/workflow-engine/approver-filled-table-columns.js.map +1 -0
  116. package/src/lib/workflow-engine/dto/admin-cancel-approval-instance.input.d.ts +9 -0
  117. package/src/lib/workflow-engine/dto/admin-cancel-approval-instance.input.js +24 -0
  118. package/src/lib/workflow-engine/dto/admin-cancel-approval-instance.input.js.map +1 -0
  119. package/src/lib/workflow-engine/dto/dry-run-approval-workflow.input.d.ts +7 -0
  120. package/src/lib/workflow-engine/dto/dry-run-approval-workflow.input.js +9 -0
  121. package/src/lib/workflow-engine/dto/dry-run-approval-workflow.input.js.map +1 -1
  122. package/src/lib/workflow-engine/dto/reassign-member-tasks.input.d.ts +2 -0
  123. package/src/lib/workflow-engine/dto/reassign-member-tasks.input.js +8 -0
  124. package/src/lib/workflow-engine/dto/reassign-member-tasks.input.js.map +1 -1
  125. package/src/lib/workflow-engine/index.d.ts +3 -0
  126. package/src/lib/workflow-engine/index.js +3 -0
  127. package/src/lib/workflow-engine/index.js.map +1 -1
  128. package/src/lib/workflow-engine/instance-advance-failure.d.ts +28 -0
  129. package/src/lib/workflow-engine/instance-advance-failure.js +20 -0
  130. package/src/lib/workflow-engine/instance-advance-failure.js.map +1 -0
  131. package/src/lib/workflow-engine/instance-guard.runner.d.ts +19 -0
  132. package/src/lib/workflow-engine/instance-guard.runner.js +102 -0
  133. package/src/lib/workflow-engine/instance-guard.runner.js.map +1 -0
  134. package/src/lib/workflow-engine/instance-guard.token.d.ts +101 -0
  135. package/src/lib/workflow-engine/instance-guard.token.js +9 -0
  136. package/src/lib/workflow-engine/instance-guard.token.js.map +1 -0
  137. package/src/lib/workflow-engine/missing-form-fields.d.ts +12 -0
  138. package/src/lib/workflow-engine/missing-form-fields.js +27 -0
  139. package/src/lib/workflow-engine/missing-form-fields.js.map +1 -0
  140. package/src/lib/workflow-engine/stuck-approval-instance.object.d.ts +22 -0
  141. package/src/lib/workflow-engine/stuck-approval-instance.object.js +107 -0
  142. package/src/lib/workflow-engine/stuck-approval-instance.object.js.map +1 -0
  143. package/src/lib/workflow-engine/stuck-approval-instance.query.d.ts +22 -0
  144. package/src/lib/workflow-engine/stuck-approval-instance.query.js +139 -0
  145. package/src/lib/workflow-engine/stuck-approval-instance.query.js.map +1 -0
  146. package/src/lib/workflow-engine/workflow-engine.enums.d.ts +11 -0
  147. package/src/lib/workflow-engine/workflow-engine.enums.js +16 -1
  148. package/src/lib/workflow-engine/workflow-engine.enums.js.map +1 -1
  149. package/src/lib/workflow-engine/workflow-engine.module.d.ts +2 -0
  150. package/src/lib/workflow-engine/workflow-engine.module.js +3 -0
  151. package/src/lib/workflow-engine/workflow-engine.module.js.map +1 -1
  152. package/src/lib/workflow-engine/workflow-engine.mutations.d.ts +3 -1
  153. package/src/lib/workflow-engine/workflow-engine.mutations.js +39 -6
  154. package/src/lib/workflow-engine/workflow-engine.mutations.js.map +1 -1
  155. package/src/lib/workflow-engine/workflow-engine.queries.d.ts +10 -8
  156. package/src/lib/workflow-engine/workflow-engine.queries.js +131 -28
  157. package/src/lib/workflow-engine/workflow-engine.queries.js.map +1 -1
  158. package/src/lib/workflow-engine/workflow-engine.service.d.ts +348 -10
  159. package/src/lib/workflow-engine/workflow-engine.service.js +1396 -118
  160. package/src/lib/workflow-engine/workflow-engine.service.js.map +1 -1
  161. package/src/lib/workflow-engine/workflow-engine.tokens.d.ts +5 -0
@@ -281,8 +281,14 @@ let FormDataSourceService = FormDataSourceService_1 = class FormDataSourceServic
281
281
  return this.readPublishedFormSchema(templateVersion.formDefinitionVersionId);
282
282
  }
283
283
  const instance = await this.workflowEngineService.getApprovalInstance(instanceId, authContext);
284
- if (instance.initiatorMemberId !== authContext.memberId ||
285
- instance.state !== workflow_engine_enums_1.ApprovalInstanceStateEnum.RETURNED) {
284
+ // The applicant of a returned instance reads the whole form. An approver
285
+ // of a RUNNING instance reads only what their open tasks let them fill
286
+ // (ADR 27 §4.2 gap 1), checked per field below.
287
+ const isApplicantReturn = instance.initiatorMemberId === authContext.memberId &&
288
+ instance.state === workflow_engine_enums_1.ApprovalInstanceStateEnum.RETURNED;
289
+ const isApproverOpen = !isApplicantReturn &&
290
+ instance.state === workflow_engine_enums_1.ApprovalInstanceStateEnum.RUNNING;
291
+ if (!isApplicantReturn && !isApproverOpen) {
286
292
  throw new form_data_source_errors_1.BPMFormDataSourceForbiddenException(form_data_source_errors_1.BPM_FORM_DATA_SOURCE_ERROR_CODES.RUNTIME_CONTEXT_FORBIDDEN);
287
293
  }
288
294
  const snapshot = instance.formDefinitionSnapshot;
@@ -291,7 +297,35 @@ let FormDataSourceService = FormDataSourceService_1 = class FormDataSourceServic
291
297
  if (!schema || !uiSchema) {
292
298
  throw new form_data_source_errors_1.BPMFormDataSourceForbiddenException(form_data_source_errors_1.BPM_FORM_DATA_SOURCE_ERROR_CODES.RUNTIME_CONTEXT_FORBIDDEN);
293
299
  }
294
- return this.parseSchema(JSON.stringify(schema), JSON.stringify(uiSchema));
300
+ const runtime = this.parseSchema(JSON.stringify(schema), JSON.stringify(uiSchema));
301
+ if (isApplicantReturn) {
302
+ return runtime;
303
+ }
304
+ const units = await this.workflowEngineService.listApproverFillUnits(instanceId, authContext.memberId);
305
+ if (!this.isFieldWithinFillUnits(runtime.schema, input.fieldKey, units)) {
306
+ throw new form_data_source_errors_1.BPMFormDataSourceForbiddenException(form_data_source_errors_1.BPM_FORM_DATA_SOURCE_ERROR_CODES.RUNTIME_CONTEXT_FORBIDDEN);
307
+ }
308
+ return runtime;
309
+ }
310
+ /**
311
+ * Whether an approver's fill units cover the option field at `fieldKey`: a
312
+ * top-level field needs a whole-field unit; a table column (`table.column`)
313
+ * needs a whole-field unit on the table or a unit for that column.
314
+ */
315
+ isFieldWithinFillUnits(schema, fieldKey, units) {
316
+ if (schema.fields.some((candidate) => candidate.fieldKey === fieldKey)) {
317
+ return units.some((unit) => unit.fieldKey === fieldKey && unit.columnKey === null);
318
+ }
319
+ const separatorIndex = fieldKey.indexOf('.');
320
+ if (separatorIndex < 0) {
321
+ return false;
322
+ }
323
+ const tableKey = fieldKey.slice(0, separatorIndex);
324
+ const columnKey = fieldKey.slice(separatorIndex + 1);
325
+ const isTable = schema.fields.some((candidate) => candidate.fieldKey === tableKey && (0, form_1.isTableFieldDefinition)(candidate));
326
+ return (isTable &&
327
+ units.some((unit) => unit.fieldKey === tableKey &&
328
+ (unit.columnKey === null || unit.columnKey === columnKey)));
295
329
  }
296
330
  async readPublishedFormSchema(formDefinitionVersionId) {
297
331
  const version = await this.formDefinitionVersionRepository.findOne({
@@ -1 +1 @@
1
- {"version":3,"file":"form-data-source.service.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/form-data-source/form-data-source.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"form-data-source.service.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/form-data-source/form-data-source.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import { ApprovalInstanceEntity } from '../workflow-engine/approval-instance.entity';
2
+ import { BPMInstanceEventPayload, BPMInstanceEventStatus, BPMInstanceEventType } from './instance-event.types';
3
+ /**
4
+ * One outbox row per instance lifecycle event (ADR 27 §1.2). Written in the
5
+ * same transaction as the state change, delivered after commit. Mirrors
6
+ * migration `0000000032000-host-integration-round`; `synchronize` stays off.
7
+ */
8
+ export declare class ApprovalInstanceEventEntity {
9
+ id: string;
10
+ /**
11
+ * Write order, assigned by the database (migration
12
+ * `0000000032000-host-integration-round`). Sort by this, not by `id` or
13
+ * `occurredAt`. `bigint`, so the driver returns a string.
14
+ */
15
+ seq: string;
16
+ instanceId: string;
17
+ instance?: ApprovalInstanceEntity;
18
+ type: BPMInstanceEventType;
19
+ payload: BPMInstanceEventPayload;
20
+ status: BPMInstanceEventStatus;
21
+ attemptCount: number;
22
+ nextAttemptAt: Date;
23
+ claimedAt: Date | null;
24
+ deliveredAt: Date | null;
25
+ lastError: string | null;
26
+ occurredAt: Date;
27
+ }
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ApprovalInstanceEventEntity = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const typeorm_1 = require("typeorm");
6
+ const approval_instance_entity_1 = require("../workflow-engine/approval-instance.entity");
7
+ const instance_event_types_1 = require("./instance-event.types");
8
+ /**
9
+ * One outbox row per instance lifecycle event (ADR 27 §1.2). Written in the
10
+ * same transaction as the state change, delivered after commit. Mirrors
11
+ * migration `0000000032000-host-integration-round`; `synchronize` stays off.
12
+ */
13
+ let ApprovalInstanceEventEntity = class ApprovalInstanceEventEntity {
14
+ };
15
+ exports.ApprovalInstanceEventEntity = ApprovalInstanceEventEntity;
16
+ tslib_1.__decorate([
17
+ (0, typeorm_1.PrimaryGeneratedColumn)('uuid'),
18
+ tslib_1.__metadata("design:type", String)
19
+ ], ApprovalInstanceEventEntity.prototype, "id", void 0);
20
+ tslib_1.__decorate([
21
+ (0, typeorm_1.Column)({
22
+ generated: 'identity',
23
+ generatedIdentity: 'ALWAYS',
24
+ name: 'seq',
25
+ type: 'bigint',
26
+ update: false,
27
+ }),
28
+ tslib_1.__metadata("design:type", String)
29
+ ], ApprovalInstanceEventEntity.prototype, "seq", void 0);
30
+ tslib_1.__decorate([
31
+ (0, typeorm_1.Column)('uuid', { name: 'instance_id' }),
32
+ tslib_1.__metadata("design:type", String)
33
+ ], ApprovalInstanceEventEntity.prototype, "instanceId", void 0);
34
+ tslib_1.__decorate([
35
+ (0, typeorm_1.ManyToOne)(() => approval_instance_entity_1.ApprovalInstanceEntity, {
36
+ createForeignKeyConstraints: true,
37
+ onDelete: 'CASCADE',
38
+ }),
39
+ (0, typeorm_1.JoinColumn)({
40
+ foreignKeyConstraintName: 'FK_approval_instance_events_instance',
41
+ name: 'instance_id',
42
+ }),
43
+ tslib_1.__metadata("design:type", approval_instance_entity_1.ApprovalInstanceEntity)
44
+ ], ApprovalInstanceEventEntity.prototype, "instance", void 0);
45
+ tslib_1.__decorate([
46
+ (0, typeorm_1.Column)('text'),
47
+ tslib_1.__metadata("design:type", String)
48
+ ], ApprovalInstanceEventEntity.prototype, "type", void 0);
49
+ tslib_1.__decorate([
50
+ (0, typeorm_1.Column)('jsonb'),
51
+ tslib_1.__metadata("design:type", Object)
52
+ ], ApprovalInstanceEventEntity.prototype, "payload", void 0);
53
+ tslib_1.__decorate([
54
+ (0, typeorm_1.Column)('text', { default: 'PENDING' }),
55
+ tslib_1.__metadata("design:type", String)
56
+ ], ApprovalInstanceEventEntity.prototype, "status", void 0);
57
+ tslib_1.__decorate([
58
+ (0, typeorm_1.Column)('integer', { default: 0, name: 'attempt_count' }),
59
+ tslib_1.__metadata("design:type", Number)
60
+ ], ApprovalInstanceEventEntity.prototype, "attemptCount", void 0);
61
+ tslib_1.__decorate([
62
+ (0, typeorm_1.Column)('timestamptz', {
63
+ default: () => 'now()',
64
+ name: 'next_attempt_at',
65
+ }),
66
+ tslib_1.__metadata("design:type", Date)
67
+ ], ApprovalInstanceEventEntity.prototype, "nextAttemptAt", void 0);
68
+ tslib_1.__decorate([
69
+ (0, typeorm_1.Column)('timestamptz', { name: 'claimed_at', nullable: true }),
70
+ tslib_1.__metadata("design:type", Object)
71
+ ], ApprovalInstanceEventEntity.prototype, "claimedAt", void 0);
72
+ tslib_1.__decorate([
73
+ (0, typeorm_1.Column)('timestamptz', { name: 'delivered_at', nullable: true }),
74
+ tslib_1.__metadata("design:type", Object)
75
+ ], ApprovalInstanceEventEntity.prototype, "deliveredAt", void 0);
76
+ tslib_1.__decorate([
77
+ (0, typeorm_1.Column)('text', { name: 'last_error', nullable: true }),
78
+ tslib_1.__metadata("design:type", Object)
79
+ ], ApprovalInstanceEventEntity.prototype, "lastError", void 0);
80
+ tslib_1.__decorate([
81
+ (0, typeorm_1.Column)('timestamptz', {
82
+ default: () => 'now()',
83
+ name: 'occurred_at',
84
+ }),
85
+ tslib_1.__metadata("design:type", Date)
86
+ ], ApprovalInstanceEventEntity.prototype, "occurredAt", void 0);
87
+ exports.ApprovalInstanceEventEntity = ApprovalInstanceEventEntity = tslib_1.__decorate([
88
+ (0, typeorm_1.Entity)('approval_instance_events'),
89
+ (0, typeorm_1.Check)('CHK_approval_instance_events_status', `"status" IN (${instance_event_types_1.BPM_INSTANCE_EVENT_STATUSES.map((status) => `'${status}'`).join(', ')})`),
90
+ (0, typeorm_1.Index)('IDX_approval_instance_events_due', ['status', 'nextAttemptAt']),
91
+ (0, typeorm_1.Index)('IDX_approval_instance_events_instance_seq', ['instanceId', 'seq'])
92
+ ], ApprovalInstanceEventEntity);
93
+ //# sourceMappingURL=approval-instance-event.entity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"approval-instance-event.entity.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/instance-event/approval-instance-event.entity.ts"],"names":[],"mappings":";;;;AAAA,qCAQiB;AACjB,0FAAqF;AACrF,iEAKgC;AAEhC;;;;GAIG;AAQI,IAAM,2BAA2B,GAAjC,MAAM,2BAA2B;CA+DvC,CAAA;AA/DY,kEAA2B;AAEtC;IADC,IAAA,gCAAsB,EAAC,MAAM,CAAC;;uDACnB;AAcZ;IAPC,IAAA,gBAAM,EAAC;QACN,SAAS,EAAE,UAAU;QACrB,iBAAiB,EAAE,QAAQ;QAC3B,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,KAAK;KACd,CAAC;;wDACW;AAGb;IADC,IAAA,gBAAM,EAAC,MAAM,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;;+DACpB;AAUpB;IARC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,iDAAsB,EAAE;QACvC,2BAA2B,EAAE,IAAI;QACjC,QAAQ,EAAE,SAAS;KACpB,CAAC;IACD,IAAA,oBAAU,EAAC;QACV,wBAAwB,EAAE,sCAAsC;QAChE,IAAI,EAAE,aAAa;KACpB,CAAC;sCACS,iDAAsB;6DAAC;AAGlC;IADC,IAAA,gBAAM,EAAC,MAAM,CAAC;;yDACa;AAG5B;IADC,IAAA,gBAAM,EAAC,OAAO,CAAC;;4DACkB;AAGlC;IADC,IAAA,gBAAM,EAAC,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;;2DACP;AAGhC;IADC,IAAA,gBAAM,EAAC,SAAS,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;;iEACnC;AAMtB;IAJC,IAAA,gBAAM,EAAC,aAAa,EAAE;QACrB,OAAO,EAAE,GAAW,EAAE,CAAC,OAAO;QAC9B,IAAI,EAAE,iBAAiB;KACxB,CAAC;sCACc,IAAI;kEAAC;AAGrB;IADC,IAAA,gBAAM,EAAC,aAAa,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;8DACtC;AAGxB;IADC,IAAA,gBAAM,EAAC,aAAa,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gEACtC;AAG1B;IADC,IAAA,gBAAM,EAAC,MAAM,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;8DAC7B;AAM1B;IAJC,IAAA,gBAAM,EAAC,aAAa,EAAE;QACrB,OAAO,EAAE,GAAW,EAAE,CAAC,OAAO;QAC9B,IAAI,EAAE,aAAa;KACpB,CAAC;sCACW,IAAI;+DAAC;sCA9DP,2BAA2B;IAPvC,IAAA,gBAAM,EAAC,0BAA0B,CAAC;IAClC,IAAA,eAAK,EACJ,qCAAqC,EACrC,gBAAgB,kDAA2B,CAAC,GAAG,CAAC,CAAC,MAAc,EAAU,EAAE,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACzG;IACA,IAAA,eAAK,EAAC,kCAAkC,EAAE,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IACtE,IAAA,eAAK,EAAC,2CAA2C,EAAE,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;GAC7D,2BAA2B,CA+DvC"}
@@ -0,0 +1,13 @@
1
+ export * from './approval-instance-event.entity';
2
+ export * from './instance-event.delivery-scheduler.service';
3
+ export * from './instance-event.delivery.service';
4
+ export * from './instance-event.delivery.subscriber';
5
+ export * from './instance-event.enums';
6
+ export * from './instance-event.module';
7
+ export * from './instance-event.object';
8
+ export * from './instance-event.options';
9
+ export * from './instance-event.resolver';
10
+ export * from './instance-event.service';
11
+ export * from './instance-event.token';
12
+ export * from './instance-event.types';
13
+ export * from './instance-event.writer';
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./approval-instance-event.entity"), exports);
5
+ tslib_1.__exportStar(require("./instance-event.delivery-scheduler.service"), exports);
6
+ tslib_1.__exportStar(require("./instance-event.delivery.service"), exports);
7
+ tslib_1.__exportStar(require("./instance-event.delivery.subscriber"), exports);
8
+ tslib_1.__exportStar(require("./instance-event.enums"), exports);
9
+ tslib_1.__exportStar(require("./instance-event.module"), exports);
10
+ tslib_1.__exportStar(require("./instance-event.object"), exports);
11
+ tslib_1.__exportStar(require("./instance-event.options"), exports);
12
+ tslib_1.__exportStar(require("./instance-event.resolver"), exports);
13
+ tslib_1.__exportStar(require("./instance-event.service"), exports);
14
+ tslib_1.__exportStar(require("./instance-event.token"), exports);
15
+ tslib_1.__exportStar(require("./instance-event.types"), exports);
16
+ tslib_1.__exportStar(require("./instance-event.writer"), exports);
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/instance-event/index.ts"],"names":[],"mappings":";;;AAAA,2EAAiD;AACjD,sFAA4D;AAC5D,4EAAkD;AAClD,+EAAqD;AACrD,iEAAuC;AACvC,kEAAwC;AACxC,kEAAwC;AACxC,mEAAyC;AACzC,oEAA0C;AAC1C,mEAAyC;AACzC,iEAAuC;AACvC,iEAAuC;AACvC,kEAAwC"}
@@ -0,0 +1,21 @@
1
+ import { OnApplicationBootstrap, OnApplicationShutdown } from '@nestjs/common';
2
+ import { InstanceEventDeliveryService } from './instance-event.delivery.service';
3
+ import { InstanceEventService } from './instance-event.service';
4
+ /**
5
+ * The fallback that retries failed attempts, releases rows the commit kick
6
+ * missed (ADR 27 §1.3), and sweeps delivered rows past retention. `SKIP LOCKED`
7
+ * in the claim lets several API instances run it at once.
8
+ */
9
+ export declare class InstanceEventDeliverySchedulerService implements OnApplicationBootstrap, OnApplicationShutdown {
10
+ private readonly deliveryService;
11
+ private readonly events;
12
+ private readonly logger;
13
+ private timer;
14
+ private scanning;
15
+ private lastPurgeAt;
16
+ constructor(deliveryService: InstanceEventDeliveryService, events: InstanceEventService);
17
+ onApplicationBootstrap(): void;
18
+ onApplicationShutdown(): void;
19
+ scan(): Promise<void>;
20
+ private purgeIfDue;
21
+ }
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ var InstanceEventDeliverySchedulerService_1;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.InstanceEventDeliverySchedulerService = void 0;
5
+ const tslib_1 = require("tslib");
6
+ const common_1 = require("@nestjs/common");
7
+ const instance_event_delivery_service_1 = require("./instance-event.delivery.service");
8
+ const instance_event_service_1 = require("./instance-event.service");
9
+ /** Retention sweeps are cheap but not urgent; once an hour is plenty. */
10
+ const PURGE_INTERVAL_MS = 3_600_000;
11
+ /**
12
+ * The fallback that retries failed attempts, releases rows the commit kick
13
+ * missed (ADR 27 §1.3), and sweeps delivered rows past retention. `SKIP LOCKED`
14
+ * in the claim lets several API instances run it at once.
15
+ */
16
+ let InstanceEventDeliverySchedulerService = InstanceEventDeliverySchedulerService_1 = class InstanceEventDeliverySchedulerService {
17
+ constructor(deliveryService, events) {
18
+ this.deliveryService = deliveryService;
19
+ this.events = events;
20
+ this.logger = new common_1.Logger(InstanceEventDeliverySchedulerService_1.name);
21
+ this.timer = null;
22
+ this.scanning = false;
23
+ this.lastPurgeAt = 0;
24
+ }
25
+ onApplicationBootstrap() {
26
+ // Without an observer there is nothing to deliver to, so no idle timer.
27
+ if (process.env.NODE_ENV === 'test' || !this.events.enabled) {
28
+ return;
29
+ }
30
+ this.timer = setInterval(() => {
31
+ void this.scan();
32
+ }, this.events.delivery.scanIntervalMs);
33
+ this.timer.unref();
34
+ }
35
+ onApplicationShutdown() {
36
+ if (this.timer) {
37
+ clearInterval(this.timer);
38
+ this.timer = null;
39
+ }
40
+ }
41
+ async scan() {
42
+ // A slow observer must not stack scans on top of each other.
43
+ if (this.scanning) {
44
+ return;
45
+ }
46
+ this.scanning = true;
47
+ try {
48
+ const count = await this.deliveryService.deliverDue();
49
+ if (count) {
50
+ this.logger.log(`Attempted ${count} instance event deliveries`);
51
+ }
52
+ await this.purgeIfDue(Date.now());
53
+ }
54
+ catch (error) {
55
+ this.logger.error(error instanceof Error
56
+ ? error.message
57
+ : 'Instance event delivery scan failed');
58
+ }
59
+ finally {
60
+ this.scanning = false;
61
+ }
62
+ }
63
+ async purgeIfDue(now) {
64
+ if (now - this.lastPurgeAt < PURGE_INTERVAL_MS) {
65
+ return;
66
+ }
67
+ // Stamped before the call, so a failing sweep is not retried every scan.
68
+ this.lastPurgeAt = now;
69
+ const purged = await this.deliveryService.purgeDelivered(new Date(now));
70
+ if (purged) {
71
+ this.logger.log(`Purged ${purged} delivered instance events`);
72
+ }
73
+ }
74
+ };
75
+ exports.InstanceEventDeliverySchedulerService = InstanceEventDeliverySchedulerService;
76
+ exports.InstanceEventDeliverySchedulerService = InstanceEventDeliverySchedulerService = InstanceEventDeliverySchedulerService_1 = tslib_1.__decorate([
77
+ (0, common_1.Injectable)(),
78
+ tslib_1.__metadata("design:paramtypes", [instance_event_delivery_service_1.InstanceEventDeliveryService,
79
+ instance_event_service_1.InstanceEventService])
80
+ ], InstanceEventDeliverySchedulerService);
81
+ //# sourceMappingURL=instance-event.delivery-scheduler.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instance-event.delivery-scheduler.service.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/instance-event/instance-event.delivery-scheduler.service.ts"],"names":[],"mappings":";;;;;AAAA,2CAKwB;AACxB,uFAAiF;AACjF,qEAAgE;AAEhE,yEAAyE;AACzE,MAAM,iBAAiB,GAAG,SAAS,CAAC;AAEpC;;;;GAIG;AAEI,IAAM,qCAAqC,6CAA3C,MAAM,qCAAqC;IAUhD,YACmB,eAA6C,EAC7C,MAA4B;QAD5B,oBAAe,GAAf,eAAe,CAA8B;QAC7C,WAAM,GAAN,MAAM,CAAsB;QAT9B,WAAM,GAAG,IAAI,eAAM,CAClC,uCAAqC,CAAC,IAAI,CAC3C,CAAC;QACM,UAAK,GAA0B,IAAI,CAAC;QACpC,aAAQ,GAAG,KAAK,CAAC;QACjB,gBAAW,GAAG,CAAC,CAAC;IAKrB,CAAC;IAEJ,sBAAsB;QACpB,wEAAwE;QACxE,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAC5D,OAAO;QACT,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,GAAS,EAAE;YAClC,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;QACnB,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QACxC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED,qBAAqB;QACnB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QACpB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI;QACR,6DAA6D;QAC7D,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QAErB,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;YAEtD,IAAI,KAAK,EAAE,CAAC;gBACV,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,KAAK,4BAA4B,CAAC,CAAC;YAClE,CAAC;YAED,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,KAAK,YAAY,KAAK;gBACpB,CAAC,CAAC,KAAK,CAAC,OAAO;gBACf,CAAC,CAAC,qCAAqC,CAC1C,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACxB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,GAAW;QAClC,IAAI,GAAG,GAAG,IAAI,CAAC,WAAW,GAAG,iBAAiB,EAAE,CAAC;YAC/C,OAAO;QACT,CAAC;QAED,yEAAyE;QACzE,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;QAEvB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAExE,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,MAAM,4BAA4B,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;CACF,CAAA;AA3EY,sFAAqC;gDAArC,qCAAqC;IADjD,IAAA,mBAAU,GAAE;6CAYyB,8DAA4B;QACrC,6CAAoB;GAZpC,qCAAqC,CA2EjD"}
@@ -0,0 +1,69 @@
1
+ import { Repository } from 'typeorm';
2
+ import { ApprovalInstanceEventEntity } from './approval-instance-event.entity';
3
+ import { InstanceEventService } from './instance-event.service';
4
+ import type { BPMInstanceEventStatus } from './instance-event.types';
5
+ export interface ListInstanceEventsInput {
6
+ readonly instanceId: string | null;
7
+ readonly page: number;
8
+ readonly pageSize: number;
9
+ readonly status: BPMInstanceEventStatus | null;
10
+ }
11
+ /**
12
+ * Delivers outbox rows to the host observer (ADR 27 §1.3).
13
+ *
14
+ * Guarantees, and how they are kept:
15
+ * - At least once. A row is `DELIVERED` only after the observer resolved; a
16
+ * crash between dispatch and write-back redelivers. Hosts dedupe on `id`.
17
+ * - Per-instance order by `seq`. The claim skips a row while an earlier `PENDING`
18
+ * row of the same instance exists. `FAILED` rows do not block.
19
+ * - Claims never change `status`. A claim is a `claimed_at` stamp, taken with
20
+ * `FOR UPDATE SKIP LOCKED`, so several replicas can scan at once.
21
+ * - Write-back is conditional on `claimed_at`. A worker that lost its claim
22
+ * records nothing.
23
+ */
24
+ export declare class InstanceEventDeliveryService {
25
+ private readonly repository;
26
+ private readonly events;
27
+ private readonly logger;
28
+ constructor(repository: Repository<ApprovalInstanceEventEntity>, events: InstanceEventService);
29
+ /**
30
+ * Claims and delivers due rows across all instances, up to `batchSize`.
31
+ * Returns the number of rows attempted. No-op without a bound observer.
32
+ */
33
+ deliverDue(now?: Date): Promise<number>;
34
+ /**
35
+ * Delivers the named rows. Used by the commit subscriber. A row whose earlier
36
+ * sibling is still pending is skipped here and picked up by the scheduler.
37
+ */
38
+ deliverByIds(ids: readonly string[], now?: Date): Promise<number>;
39
+ /**
40
+ * Deletes `DELIVERED` rows older than `retentionDays`. `FAILED` rows are kept
41
+ * until an operator retries or removes them. Returns the number deleted.
42
+ */
43
+ purgeDelivered(now?: Date): Promise<number>;
44
+ /**
45
+ * Admin read: newest first, optionally filtered. Not gated by `enabled`, so
46
+ * rows left behind by an earlier deployment stay visible.
47
+ */
48
+ listEvents(input: ListInstanceEventsInput): Promise<{
49
+ readonly items: readonly ApprovalInstanceEventEntity[];
50
+ readonly total: number;
51
+ }>;
52
+ /**
53
+ * Admin retry of a `FAILED` row. Resets the attempt budget and makes the row
54
+ * due now; the next scan or commit kick delivers it. Only `FAILED` rows match,
55
+ * so a row that is already pending or delivered is rejected, not reset.
56
+ */
57
+ retryFailedEvent(id: string, now?: Date): Promise<ApprovalInstanceEventEntity>;
58
+ /**
59
+ * `base * 2^(attempt - 1)` with ±20 % jitter, capped at `maxRetryDelayMs`.
60
+ * Same policy as the webhook outbox.
61
+ */
62
+ readRetryDelay(attempt: number): number;
63
+ private claim;
64
+ private attemptSafely;
65
+ private attempt;
66
+ private dispatch;
67
+ private writeOutcome;
68
+ private readStaleClaimMs;
69
+ }