@rytass/bpm-core-nestjs-module 0.1.2 → 0.1.3

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 (609) hide show
  1. package/eslint.config.mjs +20 -0
  2. package/jest.config.cts +15 -0
  3. package/package.json +3 -3
  4. package/project.json +58 -0
  5. package/src/lib/attachment/attachment-options.spec.ts +45 -0
  6. package/src/lib/attachment/attachment-options.ts +130 -0
  7. package/src/lib/attachment/attachment-storage.provider.spec.ts +79 -0
  8. package/src/lib/attachment/attachment-storage.provider.ts +60 -0
  9. package/src/lib/attachment/{attachment-storage.token.d.ts → attachment-storage.token.ts} +3 -1
  10. package/src/lib/attachment/attachment.controller.ts +39 -0
  11. package/src/lib/attachment/attachment.entity.ts +59 -0
  12. package/src/lib/attachment/attachment.module.ts +149 -0
  13. package/src/lib/attachment/attachment.mutations.ts +22 -0
  14. package/src/lib/attachment/attachment.queries.ts +65 -0
  15. package/src/lib/attachment/attachment.service.spec.ts +319 -0
  16. package/src/lib/attachment/attachment.service.ts +477 -0
  17. package/src/lib/attachment/dto/upload-attachment.input.ts +60 -0
  18. package/src/lib/bpm/bpm-root.module.spec.ts +138 -0
  19. package/src/lib/bpm/bpm-root.module.ts +320 -0
  20. package/src/lib/bpm-auth/bpm-auth-context.extractor.ts +106 -0
  21. package/src/lib/bpm-auth/bpm-auth-context.ts +40 -0
  22. package/src/lib/bpm-auth/bpm-auth.authorization.ts +80 -0
  23. package/src/lib/bpm-auth/bpm-auth.decorators.ts +19 -0
  24. package/src/lib/bpm-auth/bpm-auth.guard.ts +31 -0
  25. package/src/lib/bpm-auth/bpm-auth.module.spec.ts +106 -0
  26. package/src/lib/bpm-auth/bpm-auth.module.ts +69 -0
  27. package/src/lib/bpm-auth/bpm-auth.options.ts +21 -0
  28. package/src/lib/bpm-auth/configurable-bpm-auth-context.accessor.ts +55 -0
  29. package/src/lib/common/filters/all-exceptions.filter.ts +138 -0
  30. package/src/lib/common/iso-duration.ts +31 -0
  31. package/src/lib/condition/condition.module.ts +8 -0
  32. package/src/lib/condition/condition.service.spec.ts +50 -0
  33. package/src/lib/condition/condition.service.ts +141 -0
  34. package/src/lib/database/data-source.ts +7 -0
  35. package/src/lib/database/migration-runner.ts +24 -0
  36. package/src/lib/database/typeorm.config.ts +217 -0
  37. package/src/lib/delegation/delegation-rule.entity.ts +84 -0
  38. package/src/lib/delegation/delegation.enums.ts +21 -0
  39. package/src/lib/delegation/delegation.module.ts +14 -0
  40. package/src/lib/delegation/delegation.mutations.ts +92 -0
  41. package/src/lib/delegation/delegation.queries.ts +111 -0
  42. package/src/lib/delegation/delegation.service.spec.ts +295 -0
  43. package/src/lib/delegation/delegation.service.ts +482 -0
  44. package/src/lib/delegation/dto/delegation-rule.input.ts +125 -0
  45. package/src/lib/form/dto/form-definition.input.ts +73 -0
  46. package/src/lib/form/form-definition-version.entity.ts +66 -0
  47. package/src/lib/form/form-definition.entity.ts +54 -0
  48. package/src/lib/form/form-schema-lint.object.ts +10 -0
  49. package/src/lib/form/form-schema.validator.spec.ts +180 -0
  50. package/src/lib/form/form-schema.validator.ts +538 -0
  51. package/src/lib/form/form.enums.ts +20 -0
  52. package/src/lib/form/form.module.ts +19 -0
  53. package/src/lib/form/form.mutations.ts +68 -0
  54. package/src/lib/form/form.queries.ts +72 -0
  55. package/src/lib/form/form.service.spec.ts +144 -0
  56. package/src/lib/form/form.service.ts +490 -0
  57. package/src/lib/identity/identity-options.ts +41 -0
  58. package/src/lib/identity/identity.module.ts +96 -0
  59. package/src/lib/identity/identity.queries.ts +61 -0
  60. package/src/lib/identity/identity.service.spec.ts +105 -0
  61. package/src/lib/identity/identity.service.ts +200 -0
  62. package/src/lib/identity/member-base.adapter.spec.ts +77 -0
  63. package/src/lib/identity/member-base.adapter.ts +244 -0
  64. package/src/lib/identity/member-metadata-cache.entity.ts +27 -0
  65. package/src/lib/identity/member-profile.object.ts +28 -0
  66. package/src/lib/identity/{member-resolver.interface.d.ts → member-resolver.interface.ts} +11 -5
  67. package/src/lib/migrations/0000000000001-enable-postgres-extensions.ts +14 -0
  68. package/src/lib/migrations/{0000000001000-identity-organization-foundation.js → 0000000001000-identity-organization-foundation.ts} +38 -29
  69. package/src/lib/migrations/{0000000002000-form-builder-foundation.js → 0000000002000-form-builder-foundation.ts} +22 -21
  70. package/src/lib/migrations/{0000000003000-approval-template-foundation.js → 0000000003000-approval-template-foundation.ts} +24 -21
  71. package/src/lib/migrations/{0000000004000-workflow-engine-foundation.js → 0000000004000-workflow-engine-foundation.ts} +46 -34
  72. package/src/lib/migrations/{0000000005000-delegation-rules.js → 0000000005000-delegation-rules.ts} +20 -19
  73. package/src/lib/migrations/{0000000006000-notifications-sla.js → 0000000006000-notifications-sla.ts} +26 -23
  74. package/src/lib/migrations/{0000000007000-signatures-attachments.js → 0000000007000-signatures-attachments.ts} +28 -27
  75. package/src/lib/migrations/{0000000008000-approval-template-categories.js → 0000000008000-approval-template-categories.ts} +28 -25
  76. package/src/lib/migrations/{0000000009000-task-candidates.js → 0000000009000-task-candidates.ts} +26 -23
  77. package/src/lib/migrations/{0000000010000-notification-delivery-state.js → 0000000010000-notification-delivery-state.ts} +16 -17
  78. package/src/lib/migrations/0000000011000-remove-attachment-encryption-key.ts +19 -0
  79. package/src/lib/migrations/0000000012000-notification-sla-idempotency.ts +22 -0
  80. package/src/lib/migrations/0000000013000-workflow-query-indexes.ts +113 -0
  81. package/src/lib/migrations/index.ts +47 -0
  82. package/src/lib/notification/dto/notification-preference.input.ts +46 -0
  83. package/src/lib/notification/notification-delivery-scheduler.service.ts +69 -0
  84. package/src/lib/notification/notification-delivery.service.spec.ts +315 -0
  85. package/src/lib/notification/notification-delivery.service.ts +339 -0
  86. package/src/lib/notification/notification-dispatcher.token.ts +13 -0
  87. package/src/lib/notification/notification-options.module.ts +67 -0
  88. package/src/lib/notification/notification-options.spec.ts +93 -0
  89. package/src/lib/notification/notification-options.ts +452 -0
  90. package/src/lib/notification/notification-preference.entity.ts +35 -0
  91. package/src/lib/notification/notification-sla-scheduler.service.ts +66 -0
  92. package/src/lib/notification/notification-template.spec.ts +33 -0
  93. package/src/lib/notification/notification-template.ts +97 -0
  94. package/src/lib/notification/notification.entity.ts +102 -0
  95. package/src/lib/notification/notification.enums.ts +45 -0
  96. package/src/lib/notification/notification.module.ts +37 -0
  97. package/src/lib/notification/notification.mutations.ts +47 -0
  98. package/src/lib/notification/notification.queries.ts +64 -0
  99. package/src/lib/notification/notification.service.spec.ts +412 -0
  100. package/src/lib/notification/notification.service.ts +974 -0
  101. package/src/lib/organization/dto/manager-resolution.input.ts +91 -0
  102. package/src/lib/organization/dto/membership.input.ts +77 -0
  103. package/src/lib/organization/dto/org-unit.input.ts +96 -0
  104. package/src/lib/organization/dto/position.input.ts +50 -0
  105. package/src/lib/organization/json-metadata.ts +15 -0
  106. package/src/lib/organization/manager-resolution.entity.ts +44 -0
  107. package/src/lib/organization/membership.entity.ts +50 -0
  108. package/src/lib/organization/org-unit-tree-commit-result.object.ts +8 -0
  109. package/src/lib/organization/org-unit.entity.ts +53 -0
  110. package/src/lib/organization/organization-summary.object.ts +16 -0
  111. package/src/lib/organization/organization.enums.ts +19 -0
  112. package/src/lib/organization/organization.module.ts +27 -0
  113. package/src/lib/organization/organization.mutations.ts +115 -0
  114. package/src/lib/organization/organization.queries.ts +188 -0
  115. package/src/lib/organization/organization.service.spec.ts +760 -0
  116. package/src/lib/organization/organization.service.ts +1216 -0
  117. package/src/lib/organization/position.entity.ts +39 -0
  118. package/src/lib/organization/resolved-manager.object.ts +10 -0
  119. package/src/lib/signature/signature-options.spec.ts +60 -0
  120. package/src/lib/signature/signature-options.ts +120 -0
  121. package/src/lib/signature/signature-verification.object.ts +16 -0
  122. package/src/lib/signature/signature.entity.ts +62 -0
  123. package/src/lib/signature/signature.module.ts +80 -0
  124. package/src/lib/signature/signature.queries.ts +37 -0
  125. package/src/lib/signature/signature.service.spec.ts +134 -0
  126. package/src/lib/signature/signature.service.ts +205 -0
  127. package/src/lib/template/approval-template-category.entity.ts +40 -0
  128. package/src/lib/template/approval-template-version.entity.ts +82 -0
  129. package/src/lib/template/approval-template.entity.ts +64 -0
  130. package/src/lib/template/dto/approval-template.input.ts +147 -0
  131. package/src/lib/template/template.enums.ts +30 -0
  132. package/src/lib/template/template.module.ts +25 -0
  133. package/src/lib/template/template.mutations.ts +106 -0
  134. package/src/lib/template/template.queries.ts +119 -0
  135. package/src/lib/template/template.service.spec.ts +476 -0
  136. package/src/lib/template/template.service.ts +820 -0
  137. package/src/lib/template/workflow-definition.validator.spec.ts +595 -0
  138. package/src/lib/template/workflow-definition.validator.ts +539 -0
  139. package/src/lib/testing/cel-js.jest.ts +46 -0
  140. package/src/lib/workflow-engine/activity-log.entity.ts +48 -0
  141. package/src/lib/workflow-engine/approval-instance-page-info.object.ts +22 -0
  142. package/src/lib/workflow-engine/approval-instance.entity.ts +86 -0
  143. package/src/lib/workflow-engine/dto/cancel-approval-instance.input.ts +18 -0
  144. package/src/lib/workflow-engine/dto/decide-task.input.ts +33 -0
  145. package/src/lib/workflow-engine/dto/dry-run-approval-workflow.input.ts +22 -0
  146. package/src/lib/workflow-engine/dto/resubmit-approval-instance.input.ts +22 -0
  147. package/src/lib/workflow-engine/dto/submit-approval-instance.input.ts +27 -0
  148. package/src/lib/workflow-engine/task-candidate.entity.ts +56 -0
  149. package/src/lib/workflow-engine/task-decision.entity.ts +43 -0
  150. package/src/lib/workflow-engine/task.entity.ts +85 -0
  151. package/src/lib/workflow-engine/workflow-condition-evaluator.ts +168 -0
  152. package/src/lib/workflow-engine/workflow-dashboard-summary.object.ts +22 -0
  153. package/src/lib/workflow-engine/workflow-dry-run.object.ts +58 -0
  154. package/src/lib/workflow-engine/workflow-engine.enums.ts +99 -0
  155. package/src/lib/workflow-engine/workflow-engine.module.ts +75 -0
  156. package/src/lib/workflow-engine/workflow-engine.mutations.ts +85 -0
  157. package/src/lib/workflow-engine/workflow-engine.queries.ts +229 -0
  158. package/src/lib/workflow-engine/workflow-engine.service.spec.ts +2689 -0
  159. package/src/lib/workflow-engine/workflow-engine.service.ts +4707 -0
  160. package/src/lib/workflow-engine/{workflow-engine.tokens.d.ts → workflow-engine.tokens.ts} +9 -3
  161. package/src/lib/workflow-engine/workflow-service-task-dispatcher.token.ts +69 -0
  162. package/src/lib/workflow-engine/workflow-token.entity.ts +40 -0
  163. package/tsconfig.json +24 -0
  164. package/tsconfig.lib.json +16 -0
  165. package/tsconfig.spec.json +16 -0
  166. package/LICENSE +0 -21
  167. package/src/index.js +0 -18
  168. package/src/index.js.map +0 -1
  169. package/src/lib/attachment/attachment-options.d.ts +0 -44
  170. package/src/lib/attachment/attachment-options.js +0 -62
  171. package/src/lib/attachment/attachment-options.js.map +0 -1
  172. package/src/lib/attachment/attachment-storage.provider.d.ts +0 -4
  173. package/src/lib/attachment/attachment-storage.provider.js +0 -35
  174. package/src/lib/attachment/attachment-storage.provider.js.map +0 -1
  175. package/src/lib/attachment/attachment-storage.token.js +0 -5
  176. package/src/lib/attachment/attachment-storage.token.js.map +0 -1
  177. package/src/lib/attachment/attachment.controller.d.ts +0 -8
  178. package/src/lib/attachment/attachment.controller.js +0 -38
  179. package/src/lib/attachment/attachment.controller.js.map +0 -1
  180. package/src/lib/attachment/attachment.entity.d.ts +0 -14
  181. package/src/lib/attachment/attachment.entity.js +0 -74
  182. package/src/lib/attachment/attachment.entity.js.map +0 -1
  183. package/src/lib/attachment/attachment.module.d.ts +0 -27
  184. package/src/lib/attachment/attachment.module.js +0 -103
  185. package/src/lib/attachment/attachment.module.js.map +0 -1
  186. package/src/lib/attachment/attachment.mutations.d.ts +0 -8
  187. package/src/lib/attachment/attachment.mutations.js +0 -35
  188. package/src/lib/attachment/attachment.mutations.js.map +0 -1
  189. package/src/lib/attachment/attachment.queries.d.ts +0 -9
  190. package/src/lib/attachment/attachment.queries.js +0 -78
  191. package/src/lib/attachment/attachment.queries.js.map +0 -1
  192. package/src/lib/attachment/attachment.service.d.ts +0 -49
  193. package/src/lib/attachment/attachment.service.js +0 -276
  194. package/src/lib/attachment/attachment.service.js.map +0 -1
  195. package/src/lib/attachment/dto/upload-attachment.input.d.ts +0 -11
  196. package/src/lib/attachment/dto/upload-attachment.input.js +0 -68
  197. package/src/lib/attachment/dto/upload-attachment.input.js.map +0 -1
  198. package/src/lib/attachment/index.js +0 -9
  199. package/src/lib/attachment/index.js.map +0 -1
  200. package/src/lib/bpm/bpm-root.module.d.ts +0 -155
  201. package/src/lib/bpm/bpm-root.module.js +0 -170
  202. package/src/lib/bpm/bpm-root.module.js.map +0 -1
  203. package/src/lib/bpm/index.js +0 -5
  204. package/src/lib/bpm/index.js.map +0 -1
  205. package/src/lib/bpm-auth/bpm-auth-context.d.ts +0 -24
  206. package/src/lib/bpm-auth/bpm-auth-context.extractor.d.ts +0 -4
  207. package/src/lib/bpm-auth/bpm-auth-context.extractor.js +0 -69
  208. package/src/lib/bpm-auth/bpm-auth-context.extractor.js.map +0 -1
  209. package/src/lib/bpm-auth/bpm-auth-context.js +0 -15
  210. package/src/lib/bpm-auth/bpm-auth-context.js.map +0 -1
  211. package/src/lib/bpm-auth/bpm-auth.authorization.d.ts +0 -12
  212. package/src/lib/bpm-auth/bpm-auth.authorization.js +0 -67
  213. package/src/lib/bpm-auth/bpm-auth.authorization.js.map +0 -1
  214. package/src/lib/bpm-auth/bpm-auth.decorators.d.ts +0 -3
  215. package/src/lib/bpm-auth/bpm-auth.decorators.js +0 -11
  216. package/src/lib/bpm-auth/bpm-auth.decorators.js.map +0 -1
  217. package/src/lib/bpm-auth/bpm-auth.guard.d.ts +0 -7
  218. package/src/lib/bpm-auth/bpm-auth.guard.js +0 -24
  219. package/src/lib/bpm-auth/bpm-auth.guard.js.map +0 -1
  220. package/src/lib/bpm-auth/bpm-auth.module.d.ts +0 -6
  221. package/src/lib/bpm-auth/bpm-auth.module.js +0 -69
  222. package/src/lib/bpm-auth/bpm-auth.module.js.map +0 -1
  223. package/src/lib/bpm-auth/bpm-auth.options.d.ts +0 -11
  224. package/src/lib/bpm-auth/bpm-auth.options.js +0 -3
  225. package/src/lib/bpm-auth/bpm-auth.options.js.map +0 -1
  226. package/src/lib/bpm-auth/configurable-bpm-auth-context.accessor.d.ts +0 -10
  227. package/src/lib/bpm-auth/configurable-bpm-auth-context.accessor.js +0 -40
  228. package/src/lib/bpm-auth/configurable-bpm-auth-context.accessor.js.map +0 -1
  229. package/src/lib/bpm-auth/index.js +0 -10
  230. package/src/lib/bpm-auth/index.js.map +0 -1
  231. package/src/lib/common/filters/all-exceptions.filter.d.ts +0 -25
  232. package/src/lib/common/filters/all-exceptions.filter.js +0 -93
  233. package/src/lib/common/filters/all-exceptions.filter.js.map +0 -1
  234. package/src/lib/common/index.js +0 -5
  235. package/src/lib/common/index.js.map +0 -1
  236. package/src/lib/common/iso-duration.d.ts +0 -1
  237. package/src/lib/common/iso-duration.js +0 -27
  238. package/src/lib/common/iso-duration.js.map +0 -1
  239. package/src/lib/condition/condition.module.d.ts +0 -2
  240. package/src/lib/condition/condition.module.js +0 -16
  241. package/src/lib/condition/condition.module.js.map +0 -1
  242. package/src/lib/condition/condition.service.d.ts +0 -16
  243. package/src/lib/condition/condition.service.js +0 -82
  244. package/src/lib/condition/condition.service.js.map +0 -1
  245. package/src/lib/condition/index.js +0 -6
  246. package/src/lib/condition/index.js.map +0 -1
  247. package/src/lib/database/data-source.d.ts +0 -4
  248. package/src/lib/database/data-source.js +0 -7
  249. package/src/lib/database/data-source.js.map +0 -1
  250. package/src/lib/database/index.js +0 -6
  251. package/src/lib/database/index.js.map +0 -1
  252. package/src/lib/database/migration-runner.d.ts +0 -1
  253. package/src/lib/database/migration-runner.js +0 -23
  254. package/src/lib/database/migration-runner.js.map +0 -1
  255. package/src/lib/database/typeorm.config.d.ts +0 -14
  256. package/src/lib/database/typeorm.config.js +0 -135
  257. package/src/lib/database/typeorm.config.js.map +0 -1
  258. package/src/lib/delegation/delegation-rule.entity.d.ts +0 -19
  259. package/src/lib/delegation/delegation-rule.entity.js +0 -99
  260. package/src/lib/delegation/delegation-rule.entity.js.map +0 -1
  261. package/src/lib/delegation/delegation.enums.d.ts +0 -10
  262. package/src/lib/delegation/delegation.enums.js +0 -23
  263. package/src/lib/delegation/delegation.enums.js.map +0 -1
  264. package/src/lib/delegation/delegation.module.d.ts +0 -2
  265. package/src/lib/delegation/delegation.module.js +0 -22
  266. package/src/lib/delegation/delegation.module.js.map +0 -1
  267. package/src/lib/delegation/delegation.mutations.d.ts +0 -11
  268. package/src/lib/delegation/delegation.mutations.js +0 -87
  269. package/src/lib/delegation/delegation.mutations.js.map +0 -1
  270. package/src/lib/delegation/delegation.queries.d.ts +0 -10
  271. package/src/lib/delegation/delegation.queries.js +0 -91
  272. package/src/lib/delegation/delegation.queries.js.map +0 -1
  273. package/src/lib/delegation/delegation.service.d.ts +0 -56
  274. package/src/lib/delegation/delegation.service.js +0 -268
  275. package/src/lib/delegation/delegation.service.js.map +0 -1
  276. package/src/lib/delegation/dto/delegation-rule.input.d.ts +0 -24
  277. package/src/lib/delegation/dto/delegation-rule.input.js +0 -143
  278. package/src/lib/delegation/dto/delegation-rule.input.js.map +0 -1
  279. package/src/lib/delegation/index.js +0 -9
  280. package/src/lib/delegation/index.js.map +0 -1
  281. package/src/lib/form/dto/form-definition.input.d.ts +0 -21
  282. package/src/lib/form/dto/form-definition.input.js +0 -103
  283. package/src/lib/form/dto/form-definition.input.js.map +0 -1
  284. package/src/lib/form/form-definition-version.entity.d.ts +0 -17
  285. package/src/lib/form/form-definition-version.entity.js +0 -84
  286. package/src/lib/form/form-definition-version.entity.js.map +0 -1
  287. package/src/lib/form/form-definition.entity.d.ts +0 -13
  288. package/src/lib/form/form-definition.entity.js +0 -66
  289. package/src/lib/form/form-definition.entity.js.map +0 -1
  290. package/src/lib/form/form-schema-lint.object.d.ts +0 -4
  291. package/src/lib/form/form-schema-lint.object.js +0 -20
  292. package/src/lib/form/form-schema-lint.object.js.map +0 -1
  293. package/src/lib/form/form-schema.validator.d.ts +0 -13
  294. package/src/lib/form/form-schema.validator.js +0 -354
  295. package/src/lib/form/form-schema.validator.js.map +0 -1
  296. package/src/lib/form/form.enums.d.ts +0 -9
  297. package/src/lib/form/form.enums.js +0 -22
  298. package/src/lib/form/form.enums.js.map +0 -1
  299. package/src/lib/form/form.module.d.ts +0 -2
  300. package/src/lib/form/form.module.js +0 -27
  301. package/src/lib/form/form.module.js.map +0 -1
  302. package/src/lib/form/form.mutations.d.ts +0 -14
  303. package/src/lib/form/form.mutations.js +0 -88
  304. package/src/lib/form/form.mutations.js.map +0 -1
  305. package/src/lib/form/form.queries.d.ts +0 -16
  306. package/src/lib/form/form.queries.js +0 -96
  307. package/src/lib/form/form.queries.js.map +0 -1
  308. package/src/lib/form/form.service.d.ts +0 -35
  309. package/src/lib/form/form.service.js +0 -297
  310. package/src/lib/form/form.service.js.map +0 -1
  311. package/src/lib/form/index.js +0 -12
  312. package/src/lib/form/index.js.map +0 -1
  313. package/src/lib/identity/identity-options.d.ts +0 -13
  314. package/src/lib/identity/identity-options.js +0 -20
  315. package/src/lib/identity/identity-options.js.map +0 -1
  316. package/src/lib/identity/identity.module.d.ts +0 -17
  317. package/src/lib/identity/identity.module.js +0 -65
  318. package/src/lib/identity/identity.module.js.map +0 -1
  319. package/src/lib/identity/identity.queries.d.ts +0 -12
  320. package/src/lib/identity/identity.queries.js +0 -79
  321. package/src/lib/identity/identity.queries.js.map +0 -1
  322. package/src/lib/identity/identity.service.d.ts +0 -22
  323. package/src/lib/identity/identity.service.js +0 -141
  324. package/src/lib/identity/identity.service.js.map +0 -1
  325. package/src/lib/identity/index.js +0 -7
  326. package/src/lib/identity/index.js.map +0 -1
  327. package/src/lib/identity/member-base.adapter.d.ts +0 -95
  328. package/src/lib/identity/member-base.adapter.js +0 -137
  329. package/src/lib/identity/member-base.adapter.js.map +0 -1
  330. package/src/lib/identity/member-metadata-cache.entity.d.ts +0 -8
  331. package/src/lib/identity/member-metadata-cache.entity.js +0 -39
  332. package/src/lib/identity/member-metadata-cache.entity.js.map +0 -1
  333. package/src/lib/identity/member-profile.object.d.ts +0 -8
  334. package/src/lib/identity/member-profile.object.js +0 -37
  335. package/src/lib/identity/member-profile.object.js.map +0 -1
  336. package/src/lib/identity/member-resolver.interface.js +0 -19
  337. package/src/lib/identity/member-resolver.interface.js.map +0 -1
  338. package/src/lib/migrations/0000000000001-enable-postgres-extensions.d.ts +0 -6
  339. package/src/lib/migrations/0000000000001-enable-postgres-extensions.js +0 -17
  340. package/src/lib/migrations/0000000000001-enable-postgres-extensions.js.map +0 -1
  341. package/src/lib/migrations/0000000001000-identity-organization-foundation.d.ts +0 -6
  342. package/src/lib/migrations/0000000001000-identity-organization-foundation.js.map +0 -1
  343. package/src/lib/migrations/0000000002000-form-builder-foundation.d.ts +0 -6
  344. package/src/lib/migrations/0000000002000-form-builder-foundation.js.map +0 -1
  345. package/src/lib/migrations/0000000003000-approval-template-foundation.d.ts +0 -6
  346. package/src/lib/migrations/0000000003000-approval-template-foundation.js.map +0 -1
  347. package/src/lib/migrations/0000000004000-workflow-engine-foundation.d.ts +0 -6
  348. package/src/lib/migrations/0000000004000-workflow-engine-foundation.js.map +0 -1
  349. package/src/lib/migrations/0000000005000-delegation-rules.d.ts +0 -6
  350. package/src/lib/migrations/0000000005000-delegation-rules.js.map +0 -1
  351. package/src/lib/migrations/0000000006000-notifications-sla.d.ts +0 -6
  352. package/src/lib/migrations/0000000006000-notifications-sla.js.map +0 -1
  353. package/src/lib/migrations/0000000007000-signatures-attachments.d.ts +0 -6
  354. package/src/lib/migrations/0000000007000-signatures-attachments.js.map +0 -1
  355. package/src/lib/migrations/0000000008000-approval-template-categories.d.ts +0 -6
  356. package/src/lib/migrations/0000000008000-approval-template-categories.js.map +0 -1
  357. package/src/lib/migrations/0000000009000-task-candidates.d.ts +0 -6
  358. package/src/lib/migrations/0000000009000-task-candidates.js.map +0 -1
  359. package/src/lib/migrations/0000000010000-notification-delivery-state.d.ts +0 -6
  360. package/src/lib/migrations/0000000010000-notification-delivery-state.js.map +0 -1
  361. package/src/lib/migrations/0000000011000-remove-attachment-encryption-key.d.ts +0 -6
  362. package/src/lib/migrations/0000000011000-remove-attachment-encryption-key.js +0 -22
  363. package/src/lib/migrations/0000000011000-remove-attachment-encryption-key.js.map +0 -1
  364. package/src/lib/migrations/0000000012000-notification-sla-idempotency.d.ts +0 -6
  365. package/src/lib/migrations/0000000012000-notification-sla-idempotency.js +0 -21
  366. package/src/lib/migrations/0000000012000-notification-sla-idempotency.js.map +0 -1
  367. package/src/lib/migrations/0000000013000-workflow-query-indexes.d.ts +0 -6
  368. package/src/lib/migrations/0000000013000-workflow-query-indexes.js +0 -80
  369. package/src/lib/migrations/0000000013000-workflow-query-indexes.js.map +0 -1
  370. package/src/lib/migrations/index.d.ts +0 -16
  371. package/src/lib/migrations/index.js +0 -49
  372. package/src/lib/migrations/index.js.map +0 -1
  373. package/src/lib/notification/dto/notification-preference.input.d.ts +0 -9
  374. package/src/lib/notification/dto/notification-preference.input.js +0 -53
  375. package/src/lib/notification/dto/notification-preference.input.js.map +0 -1
  376. package/src/lib/notification/index.js +0 -11
  377. package/src/lib/notification/index.js.map +0 -1
  378. package/src/lib/notification/notification-delivery-scheduler.service.d.ts +0 -13
  379. package/src/lib/notification/notification-delivery-scheduler.service.js +0 -53
  380. package/src/lib/notification/notification-delivery-scheduler.service.js.map +0 -1
  381. package/src/lib/notification/notification-delivery.service.d.ts +0 -23
  382. package/src/lib/notification/notification-delivery.service.js +0 -245
  383. package/src/lib/notification/notification-delivery.service.js.map +0 -1
  384. package/src/lib/notification/notification-dispatcher.token.d.ts +0 -7
  385. package/src/lib/notification/notification-dispatcher.token.js +0 -5
  386. package/src/lib/notification/notification-dispatcher.token.js.map +0 -1
  387. package/src/lib/notification/notification-options.d.ts +0 -215
  388. package/src/lib/notification/notification-options.js +0 -128
  389. package/src/lib/notification/notification-options.js.map +0 -1
  390. package/src/lib/notification/notification-options.module.d.ts +0 -23
  391. package/src/lib/notification/notification-options.module.js +0 -41
  392. package/src/lib/notification/notification-options.module.js.map +0 -1
  393. package/src/lib/notification/notification-preference.entity.d.ts +0 -10
  394. package/src/lib/notification/notification-preference.entity.js +0 -50
  395. package/src/lib/notification/notification-preference.entity.js.map +0 -1
  396. package/src/lib/notification/notification-sla-scheduler.service.d.ts +0 -13
  397. package/src/lib/notification/notification-sla-scheduler.service.js +0 -51
  398. package/src/lib/notification/notification-sla-scheduler.service.js.map +0 -1
  399. package/src/lib/notification/notification-template.d.ts +0 -13
  400. package/src/lib/notification/notification-template.js +0 -61
  401. package/src/lib/notification/notification-template.js.map +0 -1
  402. package/src/lib/notification/notification.entity.d.ts +0 -23
  403. package/src/lib/notification/notification.entity.js +0 -122
  404. package/src/lib/notification/notification.entity.js.map +0 -1
  405. package/src/lib/notification/notification.enums.d.ts +0 -24
  406. package/src/lib/notification/notification.enums.js +0 -45
  407. package/src/lib/notification/notification.enums.js.map +0 -1
  408. package/src/lib/notification/notification.module.d.ts +0 -2
  409. package/src/lib/notification/notification.module.js +0 -45
  410. package/src/lib/notification/notification.module.js.map +0 -1
  411. package/src/lib/notification/notification.mutations.d.ts +0 -11
  412. package/src/lib/notification/notification.mutations.js +0 -64
  413. package/src/lib/notification/notification.mutations.js.map +0 -1
  414. package/src/lib/notification/notification.queries.d.ts +0 -11
  415. package/src/lib/notification/notification.queries.js +0 -77
  416. package/src/lib/notification/notification.queries.js.map +0 -1
  417. package/src/lib/notification/notification.service.d.ts +0 -81
  418. package/src/lib/notification/notification.service.js +0 -621
  419. package/src/lib/notification/notification.service.js.map +0 -1
  420. package/src/lib/organization/dto/manager-resolution.input.d.ts +0 -18
  421. package/src/lib/organization/dto/manager-resolution.input.js +0 -107
  422. package/src/lib/organization/dto/manager-resolution.input.js.map +0 -1
  423. package/src/lib/organization/dto/membership.input.d.ts +0 -16
  424. package/src/lib/organization/dto/membership.input.js +0 -99
  425. package/src/lib/organization/dto/membership.input.js.map +0 -1
  426. package/src/lib/organization/dto/org-unit.input.d.ts +0 -24
  427. package/src/lib/organization/dto/org-unit.input.js +0 -119
  428. package/src/lib/organization/dto/org-unit.input.js.map +0 -1
  429. package/src/lib/organization/dto/position.input.d.ts +0 -13
  430. package/src/lib/organization/dto/position.input.js +0 -70
  431. package/src/lib/organization/dto/position.input.js.map +0 -1
  432. package/src/lib/organization/index.js +0 -16
  433. package/src/lib/organization/index.js.map +0 -1
  434. package/src/lib/organization/json-metadata.d.ts +0 -1
  435. package/src/lib/organization/json-metadata.js +0 -14
  436. package/src/lib/organization/json-metadata.js.map +0 -1
  437. package/src/lib/organization/manager-resolution.entity.d.ts +0 -11
  438. package/src/lib/organization/manager-resolution.entity.js +0 -55
  439. package/src/lib/organization/manager-resolution.entity.js.map +0 -1
  440. package/src/lib/organization/membership.entity.d.ts +0 -11
  441. package/src/lib/organization/membership.entity.js +0 -60
  442. package/src/lib/organization/membership.entity.js.map +0 -1
  443. package/src/lib/organization/org-unit-tree-commit-result.object.d.ts +0 -4
  444. package/src/lib/organization/org-unit-tree-commit-result.object.js +0 -17
  445. package/src/lib/organization/org-unit-tree-commit-result.object.js.map +0 -1
  446. package/src/lib/organization/org-unit.entity.d.ts +0 -13
  447. package/src/lib/organization/org-unit.entity.js +0 -64
  448. package/src/lib/organization/org-unit.entity.js.map +0 -1
  449. package/src/lib/organization/organization-summary.object.d.ts +0 -6
  450. package/src/lib/organization/organization-summary.object.js +0 -28
  451. package/src/lib/organization/organization-summary.object.js.map +0 -1
  452. package/src/lib/organization/organization.enums.d.ts +0 -11
  453. package/src/lib/organization/organization.enums.js +0 -22
  454. package/src/lib/organization/organization.enums.js.map +0 -1
  455. package/src/lib/organization/organization.module.d.ts +0 -2
  456. package/src/lib/organization/organization.module.js +0 -35
  457. package/src/lib/organization/organization.module.js.map +0 -1
  458. package/src/lib/organization/organization.mutations.d.ts +0 -26
  459. package/src/lib/organization/organization.mutations.js +0 -148
  460. package/src/lib/organization/organization.mutations.js.map +0 -1
  461. package/src/lib/organization/organization.queries.d.ts +0 -23
  462. package/src/lib/organization/organization.queries.js +0 -202
  463. package/src/lib/organization/organization.queries.js.map +0 -1
  464. package/src/lib/organization/organization.service.d.ts +0 -102
  465. package/src/lib/organization/organization.service.js +0 -751
  466. package/src/lib/organization/organization.service.js.map +0 -1
  467. package/src/lib/organization/position.entity.d.ts +0 -9
  468. package/src/lib/organization/position.entity.js +0 -48
  469. package/src/lib/organization/position.entity.js.map +0 -1
  470. package/src/lib/organization/resolved-manager.object.d.ts +0 -4
  471. package/src/lib/organization/resolved-manager.object.js +0 -20
  472. package/src/lib/organization/resolved-manager.object.js.map +0 -1
  473. package/src/lib/signature/index.js +0 -8
  474. package/src/lib/signature/index.js.map +0 -1
  475. package/src/lib/signature/signature-options.d.ts +0 -33
  476. package/src/lib/signature/signature-options.js +0 -51
  477. package/src/lib/signature/signature-options.js.map +0 -1
  478. package/src/lib/signature/signature-verification.object.d.ts +0 -6
  479. package/src/lib/signature/signature-verification.object.js +0 -28
  480. package/src/lib/signature/signature-verification.object.js.map +0 -1
  481. package/src/lib/signature/signature.entity.d.ts +0 -16
  482. package/src/lib/signature/signature.entity.js +0 -88
  483. package/src/lib/signature/signature.entity.js.map +0 -1
  484. package/src/lib/signature/signature.module.d.ts +0 -11
  485. package/src/lib/signature/signature.module.js +0 -60
  486. package/src/lib/signature/signature.module.js.map +0 -1
  487. package/src/lib/signature/signature.queries.d.ts +0 -11
  488. package/src/lib/signature/signature.queries.js +0 -46
  489. package/src/lib/signature/signature.queries.js.map +0 -1
  490. package/src/lib/signature/signature.service.d.ts +0 -25
  491. package/src/lib/signature/signature.service.js +0 -124
  492. package/src/lib/signature/signature.service.js.map +0 -1
  493. package/src/lib/template/approval-template-category.entity.d.ts +0 -9
  494. package/src/lib/template/approval-template-category.entity.js +0 -49
  495. package/src/lib/template/approval-template-category.entity.js.map +0 -1
  496. package/src/lib/template/approval-template-version.entity.d.ts +0 -21
  497. package/src/lib/template/approval-template-version.entity.js +0 -106
  498. package/src/lib/template/approval-template-version.entity.js.map +0 -1
  499. package/src/lib/template/approval-template.entity.d.ts +0 -14
  500. package/src/lib/template/approval-template.entity.js +0 -74
  501. package/src/lib/template/approval-template.entity.js.map +0 -1
  502. package/src/lib/template/dto/approval-template.input.d.ts +0 -36
  503. package/src/lib/template/dto/approval-template.input.js +0 -187
  504. package/src/lib/template/dto/approval-template.input.js.map +0 -1
  505. package/src/lib/template/index.js +0 -12
  506. package/src/lib/template/index.js.map +0 -1
  507. package/src/lib/template/template.enums.d.ts +0 -14
  508. package/src/lib/template/template.enums.js +0 -31
  509. package/src/lib/template/template.enums.js.map +0 -1
  510. package/src/lib/template/template.module.d.ts +0 -2
  511. package/src/lib/template/template.module.js +0 -33
  512. package/src/lib/template/template.module.js.map +0 -1
  513. package/src/lib/template/template.mutations.d.ts +0 -20
  514. package/src/lib/template/template.mutations.js +0 -139
  515. package/src/lib/template/template.mutations.js.map +0 -1
  516. package/src/lib/template/template.queries.d.ts +0 -16
  517. package/src/lib/template/template.queries.js +0 -133
  518. package/src/lib/template/template.queries.js.map +0 -1
  519. package/src/lib/template/template.service.d.ts +0 -64
  520. package/src/lib/template/template.service.js +0 -521
  521. package/src/lib/template/template.service.js.map +0 -1
  522. package/src/lib/template/workflow-definition.validator.d.ts +0 -9
  523. package/src/lib/template/workflow-definition.validator.js +0 -362
  524. package/src/lib/template/workflow-definition.validator.js.map +0 -1
  525. package/src/lib/testing/cel-js.jest.d.ts +0 -15
  526. package/src/lib/testing/cel-js.jest.js +0 -27
  527. package/src/lib/testing/cel-js.jest.js.map +0 -1
  528. package/src/lib/workflow-engine/activity-log.entity.d.ts +0 -12
  529. package/src/lib/workflow-engine/activity-log.entity.js +0 -62
  530. package/src/lib/workflow-engine/activity-log.entity.js.map +0 -1
  531. package/src/lib/workflow-engine/approval-instance-page-info.object.d.ts +0 -8
  532. package/src/lib/workflow-engine/approval-instance-page-info.object.js +0 -36
  533. package/src/lib/workflow-engine/approval-instance-page-info.object.js.map +0 -1
  534. package/src/lib/workflow-engine/approval-instance.entity.d.ts +0 -22
  535. package/src/lib/workflow-engine/approval-instance.entity.js +0 -113
  536. package/src/lib/workflow-engine/approval-instance.entity.js.map +0 -1
  537. package/src/lib/workflow-engine/dto/cancel-approval-instance.input.d.ts +0 -5
  538. package/src/lib/workflow-engine/dto/cancel-approval-instance.input.js +0 -29
  539. package/src/lib/workflow-engine/dto/cancel-approval-instance.input.js.map +0 -1
  540. package/src/lib/workflow-engine/dto/decide-task.input.d.ts +0 -9
  541. package/src/lib/workflow-engine/dto/decide-task.input.js +0 -47
  542. package/src/lib/workflow-engine/dto/decide-task.input.js.map +0 -1
  543. package/src/lib/workflow-engine/dto/dry-run-approval-workflow.input.d.ts +0 -6
  544. package/src/lib/workflow-engine/dto/dry-run-approval-workflow.input.js +0 -34
  545. package/src/lib/workflow-engine/dto/dry-run-approval-workflow.input.js.map +0 -1
  546. package/src/lib/workflow-engine/dto/resubmit-approval-instance.input.d.ts +0 -6
  547. package/src/lib/workflow-engine/dto/resubmit-approval-instance.input.js +0 -34
  548. package/src/lib/workflow-engine/dto/resubmit-approval-instance.input.js.map +0 -1
  549. package/src/lib/workflow-engine/dto/submit-approval-instance.input.d.ts +0 -7
  550. package/src/lib/workflow-engine/dto/submit-approval-instance.input.js +0 -40
  551. package/src/lib/workflow-engine/dto/submit-approval-instance.input.js.map +0 -1
  552. package/src/lib/workflow-engine/index.js +0 -24
  553. package/src/lib/workflow-engine/index.js.map +0 -1
  554. package/src/lib/workflow-engine/task-candidate.entity.d.ts +0 -14
  555. package/src/lib/workflow-engine/task-candidate.entity.js +0 -72
  556. package/src/lib/workflow-engine/task-candidate.entity.js.map +0 -1
  557. package/src/lib/workflow-engine/task-decision.entity.d.ts +0 -12
  558. package/src/lib/workflow-engine/task-decision.entity.js +0 -60
  559. package/src/lib/workflow-engine/task-decision.entity.js.map +0 -1
  560. package/src/lib/workflow-engine/task.entity.d.ts +0 -20
  561. package/src/lib/workflow-engine/task.entity.js +0 -109
  562. package/src/lib/workflow-engine/task.entity.js.map +0 -1
  563. package/src/lib/workflow-engine/workflow-condition-evaluator.d.ts +0 -5
  564. package/src/lib/workflow-engine/workflow-condition-evaluator.js +0 -107
  565. package/src/lib/workflow-engine/workflow-condition-evaluator.js.map +0 -1
  566. package/src/lib/workflow-engine/workflow-dashboard-summary.object.d.ts +0 -8
  567. package/src/lib/workflow-engine/workflow-dashboard-summary.object.js +0 -36
  568. package/src/lib/workflow-engine/workflow-dashboard-summary.object.js.map +0 -1
  569. package/src/lib/workflow-engine/workflow-dry-run.object.d.ts +0 -21
  570. package/src/lib/workflow-engine/workflow-dry-run.object.js +0 -86
  571. package/src/lib/workflow-engine/workflow-dry-run.object.js.map +0 -1
  572. package/src/lib/workflow-engine/workflow-engine.enums.d.ts +0 -58
  573. package/src/lib/workflow-engine/workflow-engine.enums.js +0 -95
  574. package/src/lib/workflow-engine/workflow-engine.enums.js.map +0 -1
  575. package/src/lib/workflow-engine/workflow-engine.module.d.ts +0 -9
  576. package/src/lib/workflow-engine/workflow-engine.module.js +0 -76
  577. package/src/lib/workflow-engine/workflow-engine.module.js.map +0 -1
  578. package/src/lib/workflow-engine/workflow-engine.mutations.d.ts +0 -19
  579. package/src/lib/workflow-engine/workflow-engine.mutations.js +0 -106
  580. package/src/lib/workflow-engine/workflow-engine.mutations.js.map +0 -1
  581. package/src/lib/workflow-engine/workflow-engine.queries.d.ts +0 -29
  582. package/src/lib/workflow-engine/workflow-engine.queries.js +0 -225
  583. package/src/lib/workflow-engine/workflow-engine.queries.js.map +0 -1
  584. package/src/lib/workflow-engine/workflow-engine.service.d.ts +0 -145
  585. package/src/lib/workflow-engine/workflow-engine.service.js +0 -2785
  586. package/src/lib/workflow-engine/workflow-engine.service.js.map +0 -1
  587. package/src/lib/workflow-engine/workflow-engine.tokens.js +0 -5
  588. package/src/lib/workflow-engine/workflow-engine.tokens.js.map +0 -1
  589. package/src/lib/workflow-engine/workflow-service-task-dispatcher.token.d.ts +0 -18
  590. package/src/lib/workflow-engine/workflow-service-task-dispatcher.token.js +0 -39
  591. package/src/lib/workflow-engine/workflow-service-task-dispatcher.token.js.map +0 -1
  592. package/src/lib/workflow-engine/workflow-token.entity.d.ts +0 -10
  593. package/src/lib/workflow-engine/workflow-token.entity.js +0 -50
  594. package/src/lib/workflow-engine/workflow-token.entity.js.map +0 -1
  595. /package/src/{index.d.ts → index.ts} +0 -0
  596. /package/src/lib/attachment/{index.d.ts → index.ts} +0 -0
  597. /package/src/lib/bpm/{index.d.ts → index.ts} +0 -0
  598. /package/src/lib/bpm-auth/{index.d.ts → index.ts} +0 -0
  599. /package/src/lib/common/{index.d.ts → index.ts} +0 -0
  600. /package/src/lib/condition/{index.d.ts → index.ts} +0 -0
  601. /package/src/lib/database/{index.d.ts → index.ts} +0 -0
  602. /package/src/lib/delegation/{index.d.ts → index.ts} +0 -0
  603. /package/src/lib/form/{index.d.ts → index.ts} +0 -0
  604. /package/src/lib/identity/{index.d.ts → index.ts} +0 -0
  605. /package/src/lib/notification/{index.d.ts → index.ts} +0 -0
  606. /package/src/lib/organization/{index.d.ts → index.ts} +0 -0
  607. /package/src/lib/signature/{index.d.ts → index.ts} +0 -0
  608. /package/src/lib/template/{index.d.ts → index.ts} +0 -0
  609. /package/src/lib/workflow-engine/{index.d.ts → index.ts} +0 -0
@@ -1,13 +0,0 @@
1
- import { OnApplicationBootstrap, OnApplicationShutdown } from '@nestjs/common';
2
- import { NotificationDeliveryService } from './notification-delivery.service';
3
- import { BPMResolvedNotificationOptions } from './notification-options';
4
- export declare class NotificationDeliverySchedulerService implements OnApplicationBootstrap, OnApplicationShutdown {
5
- private readonly deliveryService;
6
- private readonly notificationOptions;
7
- private readonly logger;
8
- private timer;
9
- constructor(deliveryService: NotificationDeliveryService, notificationOptions?: BPMResolvedNotificationOptions);
10
- onApplicationBootstrap(): void;
11
- onApplicationShutdown(): void;
12
- private scanPendingDeliveries;
13
- }
@@ -1,53 +0,0 @@
1
- "use strict";
2
- var NotificationDeliverySchedulerService_1;
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.NotificationDeliverySchedulerService = void 0;
5
- const tslib_1 = require("tslib");
6
- const common_1 = require("@nestjs/common");
7
- const notification_delivery_service_1 = require("./notification-delivery.service");
8
- const notification_options_1 = require("./notification-options");
9
- let NotificationDeliverySchedulerService = NotificationDeliverySchedulerService_1 = class NotificationDeliverySchedulerService {
10
- constructor(deliveryService, notificationOptions = notification_options_1.DEFAULT_BPM_NOTIFICATION_OPTIONS) {
11
- this.deliveryService = deliveryService;
12
- this.notificationOptions = notificationOptions;
13
- this.logger = new common_1.Logger(NotificationDeliverySchedulerService_1.name);
14
- this.timer = null;
15
- }
16
- onApplicationBootstrap() {
17
- if (process.env.NODE_ENV === 'test' ||
18
- !this.notificationOptions.deliverySchedulerEnabled) {
19
- return;
20
- }
21
- this.timer = setInterval(() => {
22
- void this.scanPendingDeliveries();
23
- }, this.notificationOptions.deliveryScanIntervalMs);
24
- this.timer.unref();
25
- }
26
- onApplicationShutdown() {
27
- if (this.timer) {
28
- clearInterval(this.timer);
29
- this.timer = null;
30
- }
31
- }
32
- async scanPendingDeliveries() {
33
- try {
34
- const deliveredCount = await this.deliveryService.deliverPendingNotifications({
35
- options: this.notificationOptions,
36
- });
37
- if (deliveredCount) {
38
- this.logger.log(`Delivered ${deliveredCount} pending notifications`);
39
- }
40
- }
41
- catch (error) {
42
- this.logger.error(error instanceof Error ? error.message : 'Delivery scan failed');
43
- }
44
- }
45
- };
46
- exports.NotificationDeliverySchedulerService = NotificationDeliverySchedulerService;
47
- exports.NotificationDeliverySchedulerService = NotificationDeliverySchedulerService = NotificationDeliverySchedulerService_1 = tslib_1.__decorate([
48
- (0, common_1.Injectable)(),
49
- tslib_1.__param(1, (0, common_1.Optional)()),
50
- tslib_1.__param(1, (0, common_1.Inject)(notification_options_1.BPM_NOTIFICATION_OPTIONS)),
51
- tslib_1.__metadata("design:paramtypes", [notification_delivery_service_1.NotificationDeliveryService, Object])
52
- ], NotificationDeliverySchedulerService);
53
- //# sourceMappingURL=notification-delivery-scheduler.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"notification-delivery-scheduler.service.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/notification/notification-delivery-scheduler.service.ts"],"names":[],"mappings":";;;;;AAAA,2CAOwB;AACxB,mFAA8E;AAC9E,iEAIgC;AAGzB,IAAM,oCAAoC,4CAA1C,MAAM,oCAAoC;IAQ/C,YACmB,eAA4C,EAG7D,sBAAuE,uDAAgC;QAHtF,oBAAe,GAAf,eAAe,CAA6B;QAG5C,wBAAmB,GAAnB,mBAAmB,CAAmE;QATxF,WAAM,GAAG,IAAI,eAAM,CAClC,sCAAoC,CAAC,IAAI,CAC1C,CAAC;QACM,UAAK,GAA0B,IAAI,CAAC;IAOzC,CAAC;IAEJ,sBAAsB;QACpB,IACE,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM;YAC/B,CAAC,IAAI,CAAC,mBAAmB,CAAC,wBAAwB,EAClD,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,GAAS,EAAE;YAClC,KAAK,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACpC,CAAC,EAAE,IAAI,CAAC,mBAAmB,CAAC,sBAAsB,CAAC,CAAC;QACpD,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;IAEO,KAAK,CAAC,qBAAqB;QACjC,IAAI,CAAC;YACH,MAAM,cAAc,GAClB,MAAM,IAAI,CAAC,eAAe,CAAC,2BAA2B,CAAC;gBACrD,OAAO,EAAE,IAAI,CAAC,mBAAmB;aAClC,CAAC,CAAC;YAEL,IAAI,cAAc,EAAE,CAAC;gBACnB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,cAAc,wBAAwB,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,sBAAsB,CAChE,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAA;AApDY,oFAAoC;+CAApC,oCAAoC;IADhD,IAAA,mBAAU,GAAE;IAWR,mBAAA,IAAA,iBAAQ,GAAE,CAAA;IACV,mBAAA,IAAA,eAAM,EAAC,+CAAwB,CAAC,CAAA;6CAFC,2DAA2B;GATpD,oCAAoC,CAoDhD"}
@@ -1,23 +0,0 @@
1
- import { ModuleRef } from '@nestjs/core';
2
- import { Repository } from 'typeorm';
3
- import { NotificationEntity } from './notification.entity';
4
- import { BPMResolvedNotificationOptions } from './notification-options';
5
- export declare class NotificationDeliveryService {
6
- private readonly notificationRepository;
7
- private readonly moduleRef;
8
- private readonly logger;
9
- constructor(notificationRepository: Repository<NotificationEntity>, moduleRef: ModuleRef);
10
- deliverPendingNotifications({ limit, now, options, }: {
11
- readonly limit?: number;
12
- readonly now?: Date;
13
- readonly options: BPMResolvedNotificationOptions;
14
- }): Promise<number>;
15
- deliverNotification(notification: NotificationEntity, options: BPMResolvedNotificationOptions): Promise<boolean>;
16
- private claimPendingNotifications;
17
- private dispatch;
18
- private dispatchBuiltIn;
19
- private readHostDispatcher;
20
- private dispatchEmail;
21
- private dispatchWebhook;
22
- private recordDeliveryFailure;
23
- }
@@ -1,245 +0,0 @@
1
- "use strict";
2
- var NotificationDeliveryService_1;
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.NotificationDeliveryService = void 0;
5
- const tslib_1 = require("tslib");
6
- const node_crypto_1 = require("node:crypto");
7
- const common_1 = require("@nestjs/common");
8
- const core_1 = require("@nestjs/core");
9
- const typeorm_1 = require("@nestjs/typeorm");
10
- const nodemailer = require("nodemailer");
11
- const typeorm_2 = require("typeorm");
12
- const identity_service_1 = require("../identity/identity.service");
13
- const notification_dispatcher_token_1 = require("./notification-dispatcher.token");
14
- const notification_entity_1 = require("./notification.entity");
15
- const notification_enums_1 = require("./notification.enums");
16
- let NotificationDeliveryService = NotificationDeliveryService_1 = class NotificationDeliveryService {
17
- constructor(notificationRepository, moduleRef) {
18
- this.notificationRepository = notificationRepository;
19
- this.moduleRef = moduleRef;
20
- this.logger = new common_1.Logger(NotificationDeliveryService_1.name);
21
- }
22
- async deliverPendingNotifications({ limit, now = new Date(), options, }) {
23
- const deliveryLimit = normalizePositiveInteger(limit, options.deliveryBatchSize);
24
- const pendingNotifications = await this.claimPendingNotifications({
25
- claimStaleBefore: new Date(now.getTime() - options.deliveryRetryBaseDelayMs),
26
- limit: deliveryLimit,
27
- now,
28
- });
29
- const results = await Promise.all(pendingNotifications.map((notification) => this.deliverNotification(notification, options)));
30
- return results.filter(Boolean).length;
31
- }
32
- async deliverNotification(notification, options) {
33
- if (notification.channel === notification_enums_1.NotificationChannelEnum.IN_APP) {
34
- return false;
35
- }
36
- if (notification.status !== notification_enums_1.NotificationStatusEnum.PENDING &&
37
- notification.status !== notification_enums_1.NotificationStatusEnum.DELIVERY_IN_PROGRESS) {
38
- return false;
39
- }
40
- try {
41
- const deliveryTarget = await this.dispatch(notification, options);
42
- await this.notificationRepository.save({
43
- ...notification,
44
- attemptCount: notification.attemptCount + 1,
45
- deliveredAt: new Date(),
46
- deliveryError: null,
47
- deliveryTarget,
48
- lastAttemptAt: new Date(),
49
- nextRetryAt: null,
50
- sentAt: new Date(),
51
- status: notification_enums_1.NotificationStatusEnum.SENT,
52
- });
53
- return true;
54
- }
55
- catch (error) {
56
- await this.recordDeliveryFailure(notification, readErrorMessage(error), options);
57
- return false;
58
- }
59
- }
60
- async claimPendingNotifications({ claimStaleBefore, limit, now, }) {
61
- if (!this.notificationRepository.manager?.transaction) {
62
- return this.notificationRepository.find({
63
- order: { createdAt: 'ASC' },
64
- take: limit,
65
- where: [
66
- {
67
- nextRetryAt: (0, typeorm_2.LessThanOrEqual)(now),
68
- status: notification_enums_1.NotificationStatusEnum.PENDING,
69
- },
70
- {
71
- nextRetryAt: (0, typeorm_2.IsNull)(),
72
- status: notification_enums_1.NotificationStatusEnum.PENDING,
73
- },
74
- {
75
- lastAttemptAt: (0, typeorm_2.LessThanOrEqual)(claimStaleBefore),
76
- status: notification_enums_1.NotificationStatusEnum.DELIVERY_IN_PROGRESS,
77
- },
78
- ],
79
- });
80
- }
81
- return this.notificationRepository.manager.transaction(async (manager) => {
82
- const claimedRows = (await manager.query(`
83
- UPDATE notifications
84
- SET status = $1,
85
- last_attempt_at = $2
86
- WHERE id IN (
87
- SELECT id
88
- FROM notifications
89
- WHERE (
90
- (
91
- status = $3
92
- AND (next_retry_at IS NULL OR next_retry_at <= $2)
93
- )
94
- OR (
95
- status = $5
96
- AND last_attempt_at <= $6
97
- )
98
- )
99
- ORDER BY created_at ASC
100
- FOR UPDATE SKIP LOCKED
101
- LIMIT $4
102
- )
103
- RETURNING id
104
- `, [
105
- notification_enums_1.NotificationStatusEnum.DELIVERY_IN_PROGRESS,
106
- now,
107
- notification_enums_1.NotificationStatusEnum.PENDING,
108
- limit,
109
- notification_enums_1.NotificationStatusEnum.DELIVERY_IN_PROGRESS,
110
- claimStaleBefore,
111
- ]));
112
- const claimedIds = claimedRows.map((row) => row.id);
113
- return claimedIds.length
114
- ? manager
115
- .getRepository(notification_entity_1.NotificationEntity)
116
- .find({ where: { id: (0, typeorm_2.In)(claimedIds) } })
117
- : [];
118
- });
119
- }
120
- async dispatch(notification, options) {
121
- const hostDispatcher = this.readHostDispatcher();
122
- if (hostDispatcher) {
123
- return hostDispatcher.dispatch(notification, options);
124
- }
125
- return this.dispatchBuiltIn(notification, options);
126
- }
127
- async dispatchBuiltIn(notification, options) {
128
- if (notification.channel === notification_enums_1.NotificationChannelEnum.EMAIL) {
129
- return this.dispatchEmail(notification, options);
130
- }
131
- if (notification.channel === notification_enums_1.NotificationChannelEnum.WEBHOOK) {
132
- return this.dispatchWebhook(notification, options);
133
- }
134
- throw new Error(`Unsupported notification channel ${notification.channel}`);
135
- }
136
- readHostDispatcher() {
137
- try {
138
- return this.moduleRef.get(notification_dispatcher_token_1.BPM_NOTIFICATION_DISPATCHER, {
139
- strict: false,
140
- });
141
- }
142
- catch {
143
- return null;
144
- }
145
- }
146
- async dispatchEmail(notification, options) {
147
- if (!options.emailEnabled ||
148
- !options.emailSmtpHost ||
149
- !options.emailSmtpPort ||
150
- !options.emailSmtpUsername ||
151
- !options.emailSmtpPassword ||
152
- !options.emailFrom) {
153
- throw new Error('EMAIL_DISABLED');
154
- }
155
- const identityService = this.moduleRef.get(identity_service_1.IdentityService, {
156
- strict: false,
157
- });
158
- const recipient = await identityService.resolveMember(notification.recipientMemberId);
159
- const transporter = nodemailer.createTransport({
160
- auth: {
161
- pass: options.emailSmtpPassword,
162
- user: options.emailSmtpUsername,
163
- },
164
- host: options.emailSmtpHost,
165
- port: options.emailSmtpPort,
166
- secure: options.emailSmtpSecure,
167
- });
168
- await transporter.sendMail({
169
- from: options.emailFrom,
170
- subject: notification.title,
171
- text: notification.body,
172
- to: recipient.email,
173
- });
174
- return recipient.email;
175
- }
176
- async dispatchWebhook(notification, options) {
177
- if (!options.webhookEnabled ||
178
- !options.webhookEndpointUrl ||
179
- !options.webhookSigningSecret) {
180
- throw new Error('WEBHOOK_DISABLED');
181
- }
182
- const payload = JSON.stringify({
183
- body: notification.body,
184
- channel: notification.channel,
185
- createdAt: notification.createdAt.toISOString(),
186
- id: notification.id,
187
- instanceId: notification.instanceId,
188
- payload: notification.payload,
189
- recipientMemberId: notification.recipientMemberId,
190
- taskId: notification.taskId,
191
- title: notification.title,
192
- type: notification.type,
193
- });
194
- const signature = (0, node_crypto_1.createHmac)('sha256', options.webhookSigningSecret)
195
- .update(payload)
196
- .digest('hex');
197
- const response = await fetch(options.webhookEndpointUrl, {
198
- body: payload,
199
- headers: {
200
- 'content-type': 'application/json',
201
- 'x-bpm-signature-sha256': signature,
202
- },
203
- method: 'POST',
204
- });
205
- if (!response.ok) {
206
- throw new Error(`WEBHOOK_HTTP_${response.status}`);
207
- }
208
- return options.webhookEndpointUrl;
209
- }
210
- async recordDeliveryFailure(notification, errorMessage, options) {
211
- const attemptCount = notification.attemptCount + 1;
212
- const failedPermanently = attemptCount >= options.deliveryMaxAttempts;
213
- const now = new Date();
214
- await this.notificationRepository.save({
215
- ...notification,
216
- attemptCount,
217
- deliveryError: errorMessage,
218
- lastAttemptAt: now,
219
- nextRetryAt: failedPermanently
220
- ? null
221
- : new Date(now.getTime() + options.deliveryRetryBaseDelayMs * attemptCount),
222
- status: failedPermanently
223
- ? notification_enums_1.NotificationStatusEnum.FAILED
224
- : notification_enums_1.NotificationStatusEnum.PENDING,
225
- });
226
- this.logger.warn(`Notification ${notification.id} delivery failed: ${errorMessage}`);
227
- }
228
- };
229
- exports.NotificationDeliveryService = NotificationDeliveryService;
230
- exports.NotificationDeliveryService = NotificationDeliveryService = NotificationDeliveryService_1 = tslib_1.__decorate([
231
- (0, common_1.Injectable)(),
232
- tslib_1.__param(0, (0, typeorm_1.InjectRepository)(notification_entity_1.NotificationEntity)),
233
- tslib_1.__metadata("design:paramtypes", [typeorm_2.Repository,
234
- core_1.ModuleRef])
235
- ], NotificationDeliveryService);
236
- function readErrorMessage(error) {
237
- return error instanceof Error ? error.message : 'Unknown delivery error';
238
- }
239
- function normalizePositiveInteger(value, fallback) {
240
- if (typeof value !== 'number' || !Number.isInteger(value) || value <= 0) {
241
- return fallback;
242
- }
243
- return value;
244
- }
245
- //# sourceMappingURL=notification-delivery.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"notification-delivery.service.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/notification/notification-delivery.service.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- import { InjectionToken } from '@nestjs/common';
2
- import { NotificationEntity } from './notification.entity';
3
- import { BPMResolvedNotificationOptions } from './notification-options';
4
- export interface BPMNotificationDispatcher {
5
- dispatch(notification: NotificationEntity, options: BPMResolvedNotificationOptions): Promise<string>;
6
- }
7
- export declare const BPM_NOTIFICATION_DISPATCHER: InjectionToken<BPMNotificationDispatcher>;
@@ -1,5 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BPM_NOTIFICATION_DISPATCHER = void 0;
4
- exports.BPM_NOTIFICATION_DISPATCHER = Symbol('BPM_NOTIFICATION_DISPATCHER');
5
- //# sourceMappingURL=notification-dispatcher.token.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"notification-dispatcher.token.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/notification/notification-dispatcher.token.ts"],"names":[],"mappings":";;;AAWa,QAAA,2BAA2B,GACtC,MAAM,CAAC,6BAA6B,CAAC,CAAC"}
@@ -1,215 +0,0 @@
1
- import { InjectionToken } from '@nestjs/common';
2
- import { NotificationChannelEnum, NotificationDigestModeEnum } from './notification.enums';
3
- export type NotificationFeatureToggle = boolean | 'auto';
4
- export type NotificationTemplateEngine = 'handlebars' | 'simple';
5
- export interface BPMRootNotificationOptions {
6
- /**
7
- * Enables creation and display of in-app notification records.
8
- *
9
- * Defaults to `true`. Set to `false` only when the host application wants
10
- * BPM to run without notification center data.
11
- */
12
- readonly notificationInAppEnabled?: boolean;
13
- /**
14
- * Controls whether BPM may create and dispatch email notifications.
15
- *
16
- * Use `auto` to enable email only when all SMTP connection fields are
17
- * present. Use `false` to force email off even when SMTP secrets exist.
18
- * Defaults to `auto`.
19
- */
20
- readonly notificationEmailEnabled?: NotificationFeatureToggle;
21
- /**
22
- * SMTP server hostname used for BPM email delivery.
23
- *
24
- * Required when `notificationEmailEnabled` is `true`; required for auto
25
- * enablement when `notificationEmailEnabled` is `auto`.
26
- */
27
- readonly notificationEmailSmtpHost?: string | null;
28
- /**
29
- * SMTP server port used for BPM email delivery.
30
- *
31
- * Common values are `587` for STARTTLS and `465` for implicit TLS. Required
32
- * when `notificationEmailEnabled` is `true`; required for auto enablement
33
- * when `notificationEmailEnabled` is `auto`.
34
- */
35
- readonly notificationEmailSmtpPort?: number | null;
36
- /**
37
- * Whether the SMTP connection should use implicit TLS.
38
- *
39
- * Use `false` for STARTTLS on port `587`; use `true` for implicit TLS on
40
- * port `465`. Defaults to `false`.
41
- */
42
- readonly notificationEmailSmtpSecure?: boolean;
43
- /**
44
- * SMTP authentication username used by BPM email delivery.
45
- *
46
- * Required when `notificationEmailEnabled` is `true`; required for auto
47
- * enablement when `notificationEmailEnabled` is `auto`.
48
- */
49
- readonly notificationEmailSmtpUsername?: string | null;
50
- /**
51
- * SMTP authentication password or app password used by BPM email delivery.
52
- *
53
- * Required when `notificationEmailEnabled` is `true`; required for auto
54
- * enablement when `notificationEmailEnabled` is `auto`.
55
- */
56
- readonly notificationEmailSmtpPassword?: string | null;
57
- /**
58
- * Sender address used for BPM email delivery.
59
- *
60
- * Accepts either an email address or an RFC 5322 display format such as
61
- * `BPM <bpm@example.com>`. Required when email delivery is enabled.
62
- */
63
- readonly notificationEmailFrom?: string | null;
64
- /**
65
- * Controls whether BPM may create and dispatch webhook notifications.
66
- *
67
- * Use `auto` to enable webhooks only when
68
- * `notificationWebhookSigningSecret` is present. Use `false` to force
69
- * webhooks off. Defaults to `auto`.
70
- */
71
- readonly notificationWebhookEnabled?: NotificationFeatureToggle;
72
- /**
73
- * Secret used to sign BPM webhook payloads.
74
- *
75
- * Required when `notificationWebhookEnabled` is `true`; required for auto
76
- * enablement when `notificationWebhookEnabled` is `auto`.
77
- */
78
- readonly notificationWebhookSigningSecret?: string | null;
79
- /**
80
- * Default endpoint URL used for BPM webhook notification delivery.
81
- *
82
- * Required when `notificationWebhookEnabled` is `true`; required for auto
83
- * enablement when `notificationWebhookEnabled` is `auto`.
84
- */
85
- readonly notificationWebhookEndpointUrl?: string | null;
86
- /**
87
- * Enables the background delivery scheduler for pending email and webhook
88
- * notifications.
89
- *
90
- * Defaults to `false`. Set to `true` only in a dedicated worker process or
91
- * single-replica host that should run notification delivery itself.
92
- */
93
- readonly notificationDeliverySchedulerEnabled?: boolean;
94
- /**
95
- * Interval in milliseconds between pending notification delivery scans.
96
- *
97
- * Defaults to `30000`. Values below `1000` are normalized to `1000` to avoid
98
- * tight loops in long-running API processes.
99
- */
100
- readonly notificationDeliveryScanIntervalMs?: number;
101
- /**
102
- * Maximum pending notifications processed by each delivery scan.
103
- */
104
- readonly notificationDeliveryBatchSize?: number;
105
- /**
106
- * Maximum delivery attempts before a pending email/webhook notification is
107
- * marked failed.
108
- */
109
- readonly notificationDeliveryMaxAttempts?: number;
110
- /**
111
- * Base retry delay in milliseconds. Retry scheduling multiplies this value
112
- * by the current attempt count.
113
- */
114
- readonly notificationDeliveryRetryBaseDelayMs?: number;
115
- /**
116
- * Enables the background SLA scheduler that scans pending tasks.
117
- *
118
- * Defaults to `false`. Set to `true` only in a dedicated worker process or
119
- * single-replica host that should run SLA scans itself.
120
- */
121
- readonly notificationSlaSchedulerEnabled?: boolean;
122
- /**
123
- * Interval in milliseconds between automatic SLA scans.
124
- *
125
- * Defaults to `60000`. Values below `1000` are normalized to `1000` to avoid
126
- * tight loops in long-running API processes.
127
- */
128
- readonly notificationSlaScanIntervalMs?: number;
129
- /**
130
- * Enables the SLA timeout `REMIND` action.
131
- *
132
- * Defaults to `true`. When disabled, overdue tasks with `REMIND` timeout
133
- * policy still keep their task state, but the timeout action hook is skipped.
134
- */
135
- readonly notificationSlaTimeoutRemindEnabled?: boolean;
136
- /**
137
- * Enables the SLA timeout `AUTO_APPROVE` action.
138
- *
139
- * Defaults to `false` because this action changes workflow state and should
140
- * be explicitly enabled by the host application.
141
- */
142
- readonly notificationSlaTimeoutAutoApproveEnabled?: boolean;
143
- /**
144
- * Enables the SLA timeout `ESCALATE` action.
145
- *
146
- * Defaults to `false` because escalation changes task assignment and should
147
- * be explicitly enabled by the host application.
148
- */
149
- readonly notificationSlaTimeoutEscalateEnabled?: boolean;
150
- /**
151
- * Enables the SLA timeout `TERMINATE_INSTANCE` action.
152
- *
153
- * Defaults to `false` because termination changes instance state and should
154
- * be explicitly enabled by the host application.
155
- */
156
- readonly notificationSlaTimeoutTerminateInstanceEnabled?: boolean;
157
- /**
158
- * Template engine used to render notification title and body text.
159
- *
160
- * `simple` uses BPM's built-in `{{path}}` replacement renderer. `handlebars`
161
- * reserves the host configuration for the Handlebars renderer once the email
162
- * template implementation is wired. Defaults to `simple`.
163
- */
164
- readonly notificationTemplateEngine?: NotificationTemplateEngine;
165
- /**
166
- * Channels used when a workflow node does not specify notification channels.
167
- */
168
- readonly notificationDefaultChannels?: readonly NotificationChannelEnum[];
169
- /**
170
- * Default email digest mode for members without a stored preference.
171
- */
172
- readonly notificationDefaultEmailDigestMode?: NotificationDigestModeEnum;
173
- /**
174
- * Default in-app notification preference for members without a stored
175
- * preference.
176
- */
177
- readonly notificationDefaultInAppPreferenceEnabled?: boolean;
178
- /**
179
- * Default email notification preference for members without a stored
180
- * preference.
181
- */
182
- readonly notificationDefaultEmailPreferenceEnabled?: boolean;
183
- }
184
- export interface BPMResolvedNotificationOptions {
185
- readonly emailEnabled: boolean;
186
- readonly emailFrom: string | null;
187
- readonly emailSmtpHost: string | null;
188
- readonly emailSmtpPassword: string | null;
189
- readonly emailSmtpPort: number | null;
190
- readonly emailSmtpSecure: boolean;
191
- readonly emailSmtpUsername: string | null;
192
- readonly inAppEnabled: boolean;
193
- readonly defaultChannels: readonly NotificationChannelEnum[];
194
- readonly defaultEmailDigestMode: NotificationDigestModeEnum;
195
- readonly defaultEmailPreferenceEnabled: boolean;
196
- readonly defaultInAppPreferenceEnabled: boolean;
197
- readonly deliveryBatchSize: number;
198
- readonly deliveryMaxAttempts: number;
199
- readonly deliveryRetryBaseDelayMs: number;
200
- readonly deliveryScanIntervalMs: number;
201
- readonly deliverySchedulerEnabled: boolean;
202
- readonly slaScanIntervalMs: number;
203
- readonly slaSchedulerEnabled: boolean;
204
- readonly slaTimeoutAutoApproveEnabled: boolean;
205
- readonly slaTimeoutEscalateEnabled: boolean;
206
- readonly slaTimeoutRemindEnabled: boolean;
207
- readonly slaTimeoutTerminateInstanceEnabled: boolean;
208
- readonly templateEngine: NotificationTemplateEngine;
209
- readonly webhookEnabled: boolean;
210
- readonly webhookEndpointUrl: string | null;
211
- readonly webhookSigningSecret: string | null;
212
- }
213
- export declare const BPM_NOTIFICATION_OPTIONS: InjectionToken<BPMResolvedNotificationOptions>;
214
- export declare const DEFAULT_BPM_NOTIFICATION_OPTIONS: BPMResolvedNotificationOptions;
215
- export declare function resolveBPMNotificationOptions(options?: BPMRootNotificationOptions): BPMResolvedNotificationOptions;